Decodificação de imagem Macroblock-Oriented

O macroblock é uma unidade fundamental do processo de decodificação de vídeo. Um macroblock consiste em uma matriz retangular de amostras de luminância (Y) e duas matrizes correspondentes de amostras de chroma (Cb e Cr). Nos padrões de codificação de vídeo estabelecidos, os macroblocks são blocos 16x16 em dimensões de exemplo de luminância. Se o vídeo for codificado no formato 4:2:0, as duas matrizes chroma terão metade da altura e metade da largura da matriz de luma para o macroblock. Se o vídeo for codificado no formato 4:2:2, as duas matrizes chrominance, cada uma terá a mesma altura e metade da largura da matriz de luminância para o macroblock. Se o vídeo for codificado no formato 4:4:4, as duas matrizes chrominance terão o mesmo tamanho que a matriz de luminância do macroblock.

Um macroblock pode ser previsto usando compensação de movimento com um ou mais vetores de movimento ou pode ser codificado como intra sem essa previsão. Depois de determinar se o macroblock é previsto ou não, o refinamento de sinal restante, se houver, é adicionado na forma de blocos de dados de diferença residual. Nos padrões de codificação de vídeo estabelecidos, esses blocos de dados de diferença residual são 8x8, para que quatro blocos de dados de diferença residual sejam necessários para cobrir um macroblock de luminância 16x16.