Codificação de Vídeo

15
 CODIFICACÃO DE VÍDEO O olho humano possui a propriedade de reter imagens por alguns milisegundos após as mesmas desaparecerem. Assim, se uma sequência de imagens for apresentada ao olho acima de uma determinada taxa de apresentação, ela não será percebida como uma sequência de imagens e sim como uma imagem contínua, ou seja, como vídeo. Logo, podemos dizer que um sinal de vídeo é composto de uma sequência de imagens (denominadas de quadros) apresentada a uma taxa constante (por exemplo, 30 quadros por segundo). Na codificação digital, uma imagem é composta de elementos de imagens denominados de  pixels, sendo cada  pixel representado por um determinado número de bits. O número de  pixels em um quadro define a resolução da imagem (quanto mais  pixels maior a resolução). Por exemplo, o padrão MPEG2 (  Motion Picture Experts Group) define uma resolução de alta definição com 1920 x 1080  pixels. A Figura 5.20 ilustra a composição de um sinal de vídeo como uma sequência de quadros, cada um composto por pixels. Dentro de um quadro temos o que denominamos de amostras espaciais, enquanto os quadros sucessivos compõem as amostras temporais. Figura 5.20. Amostras espaciais, temporais, quadro e pixel.

description

Video

Transcript of Codificação de Vídeo

  • CODIFICACO DE VDEO

    O olho humano possui a propriedade de reter imagens por alguns milisegundos aps as mesmas desaparecerem. Assim, se uma sequncia de imagens for apresentada ao olho acima de uma determinada taxa de apresentao, ela no ser percebida como uma sequncia de imagens e sim como uma imagem contnua, ou seja, como vdeo. Logo, podemos dizer que um sinal de vdeo composto de uma sequncia de imagens (denominadas de quadros) apresentada a uma taxa constante (por exemplo, 30 quadros por segundo).

    Na codificao digital, uma imagem composta de elementos de imagens denominados de pixels, sendo cada pixel representado por um determinado nmero de bits. O nmero de pixels em um quadro define a resoluo da imagem (quanto mais pixels maior a resoluo). Por exemplo, o padro MPEG2 (Motion Picture Experts Group) define uma resoluo de alta definio com 1920 x 1080 pixels.

    A Figura 5.20 ilustra a composio de um sinal de vdeo como uma sequncia de quadros, cada um composto por pixels. Dentro de um quadro temos o que denominamos de amostras espaciais, enquanto os quadros sucessivos compem as amostras temporais.

    Figura 5.20. Amostras espaciais, temporais, quadro e pixel.

  • O processo de codificao utiliza um determinado nmero de bits para representar cada pixel. Com 1 bit por pixel, por exemplo, poderamos diferenciar apenas entre as cores branca e preta. Com 8 bits por pixel, poderamos representar 256 nveis de cinza. Para representar as cores, poderamos utilizar 24 bits por pixel. No entanto, a codificao desta forma resultaria em taxas de transmisso proibitivas. Por exemplo, com 30 quadros por segundo, cada quadro com 1920 x 1080 pixels e cada pixel com 24 bits, teramos uma taxa de transmisso de 30 x 1920 x 1080 x 24 = 1.49 Gbps.

    Para reduzir as taxas de transmisso, os codificadores de vdeo utilizam a redundncia espacial e a redundncia temporal presentes em um sinal de vdeo. A redundncia espacial diz respeito possvel redundncia entre pixels de um mesmo quadro (redundncia entre as amostras espaciais na Figura 5.20), enquanto a redundncia temporal diz respeito possvel semelhana entre quadros sucessivos (redundncia entre as amostras temporais na Figura 5.20). O grau de redundncia depende do tipo de imagem. Uma imagem que retrate uma paisagem, por exemplo, possui muita redundncia temporal, pois a paisagem praticamente no muda com o tempo (mantendo-se o enquadramento da cmera, obviamente), enquanto a largada de uma corrida de Frmula 1 possui pouca redundncia temporal, pois a imagem muito dinmica. J a imagem de uma parede branca possui muita redundncia espacial, pois h muita semelhana entre os diversos pixels que compem um quadro, bem como muita redundncia temporal, pois praticamente no h mudana entre quadros sucessivos.

    A Figura 5.21 ilustra o diagrama em blocos de um codificador de vdeo genrico. O codificador composto de trs blocos bsicos: um modelo temporal, um modelo espacial e um codificador de entropia. O modelo temporal tem por objetivo reduzir a redundncia temporal, usualmente fazendo uma predio do quadro corrente e subtraindo esta predio do quadro corrente real (uma predio simples seria utilizar o quadro anterior como predio para o quadro corrente), gerando um quadro residual, que ser entregue ao modelo espacial. A eficincia do modelo ser maior se o mesmo utilizar alguma forma de predio de movimento das imagens entre quadros sucessivos. Logo, o modelo temporal tambm tem por sada um conjunto de vetores de movimento que descrevem como o movimento foi compensado. O modelo espacial tem por objetivo reduzir a redundncia espacial, tipicamente aplicando uma transformada nas amostras residuais e quantizando o resultado, gerando um conjunto de coeficientes (este processo

  • ser melhor descrito na Seo 5.3.2). Por fim os vetores de movimento e os coeficientes do modelo espacial so codificados em um codificador de entropia, que elimina a redundncia estatstica presente nestes dados. [RICHARDSON,2003]

    Figura 5.21 Diagrama em blocos de um codificador de vdeo bsico genrico.

    Os principais codificadores de vdeo utilizados hoje so o MPEG2 e o MPEG4. A anlise completa destes codificadores est fora do escopo deste texto. No entanto, vamos apresentar nas sub-sees seguintes os principais conceitos utilizados nos mesmos. Para o leitor interessado, recomendamos a referncia [RICHARDSON,2003].

    5.3.1. Conceitos Bsicos sobre Sinais de Vdeo

    Antes de iniciarmos a descrio dos princpios de operao do MPEG vamos apresentar alguns conceitos bsicos sobre sinais de vdeo.

    Como sabemos, qualquer cor pode ser gerada pela combinao das trs cores denominadas primrias: vermelho, verde e azul, dando origem representao que denominamos RGB (Red, Green, Blue ou vermelho, verde e azul). O processo de digitalizao, no entanto, realizado a partir de sinais que so a composio dos sinais R, G e B, denominados de sinais compostos. Os sinais compostos so combinaes lineares dos sinais RGB, da forma: [RICHARDSON,2003]

    1=++=

    =

    =

    ++=

    bgr

    bgr

    kkkYGCgYRCrYBCb

    BkGkRkY

    (5.13)

    ModeloTemporal

    QuadrosArmazenados

    ModeloEspacial

    CodificadorEntropia

    Entrada de vdeo

    sada codificada

    coeficientes

    vetores

    residualModeloTemporal

    QuadrosArmazenados

    ModeloEspacial

    CodificadorEntropia

    Entrada de vdeo

    sada codificada

    coeficientes

    vetores

    residual

  • O sinal composto Y denominado de luminncia e os sinais Cb, Cr e Cg de sinais de crominncia. As constantes kr, kg e kb variam de um sistema para outro. Por exemplo, a recomendao ITU-R BT601-7 [ITU-R,2011] estabelece os valores kr = 0.299; kb = 0.114 e kg = 1 kr kb = 0.587.

    De fato, o sinal de crominncia Cg no precisa ser armazenado ou transmitido, pois pode ser obtido a partir dos outros sinais. Ento, o sinal de vdeo armazenado ou transmitido composto de um sinal de luminncia, Y, e dois sinais de crominncia: Cb e Cr.

    A Tabela 5.1 mostra, a ttulo de ilustrao, os valores dos sinais Y, Cr e Cb, como definido na Equao (5.23), em funo da cor do pixel, para as constantes kr e kb definidas em [ITU-R,2011].

    Cor R G B Y Cr Cb

    Branco 1 1 1 1 0 0

    Preto 0 0 0 0 0 0

    Vermelho 1 0 0 0.299 0.701 -0.299

    Verde 0 1 0 0.587 -0.587 -0.587

    Azul 0 0 1 0.114 -0.114 0.886

    Amarelo 1 1 0 0.886 0.114 -0.886

    Ciano 0 1 1 0.701 -0.701 0.299

    Magenta 1 0 1 0.413 0.587 0.587

    Tabela 5.1 Exemplo de valores de R, G, B, Y, Cr e Cb para algumas cores.

    O mximo sinal de luminncia corresponde ao branco, em que R = G = B = 1, resultando em Y = 1, enquanto a luminncia mnima corresponde ao preto (R = G = B = 0), em que Y = 0.

    O mximo valor de Cr corresponde ao vermelho (R = 1, G = B = 0), com Cr = 1 kr, enquanto seu mnimo valor corresponde cor ciano (R = 0, G = B = 1), com Cr = (1 kr). Logo, o valor de Cr excursiona entre (1 kr) e +(1 kr). Para fazer com que a

  • excurso total seja igual a 1 (entre -0,5 e +0,5), basta multiplicar o valor de Cr por 0,5 e dividir por (1 kr).

    J o valor mximo de Cb corresponde ao azul (B = 1, G = R = 0), com Cb = 1 kb, enquanto seu mnimo valor corresponde cor amarela (B = 0, G = R = 1), com Cb = (1 kb). Logo, Cb excursiona entre (1 kb) e +(1 kb). Para tornar a excurso total igual a 1 (entre -0,5 e +0,5), basta multiplicar o valor de Cb por 0,5 e dividir por (1 kb).

    Aps as normalizaes acima, os sinais compostos assumem a forma:

    [RICHARDSON,2003]

    ( )

    ( )YRk

    Cr

    YBk

    Cb

    BkGkkRkY

    r

    b

    bbrr

    =

    =

    ++=

    15,0

    15,0

    )1(

    (5.14)

    Podemos verificar na Tabela 5.1 que o sinal de luminncia varia de 0 a 1, enquanto o sinal de crominncia Cr varia de -0,701 a +0,701 e o sinal de crominncia Cb varia de -0.886 a +0.886. Portanto, neste caso, para que Cr e Cb excursionem entre -0,5 e +0,5, deve-se dividir Cr por 1,402 e Cb por 1,772. Ou seja, deve-se aplicar as normalizaes apresentadas na Equao (5.14).

    Por fim, no processo de quantizao dos sinais Y, Cr e Cb, novas alteraes podem surgir na Equao (5.14). Por exemplo, para uma quantizao com 8 bits (256 nveis de quantizao), a recomendao BT-601-7 estabelece que o sinal de luminncia deve ocupar apenas 220 nveis de quantizao e que a luminncia correspondente ao preto deve corresponder ao nvel de quantizao 16. Para os sinais de crominncia, a mesma recomendao estabelece que eles devem ocupar apenas 225 nveis de quantizao e que crominncia de magnitude zero deve corresponder o nvel de quantizao 128. Estas definies alteram a Equao (5.14) para: [ITU-R,2011]

    [ ]( )

    ( ) 1281

    5,0224

    1281

    5,0224

    16)1(219

    +

    =

    +

    =

    +++=

    YRk

    Cr

    YBk

    Cb

    BkGkkRkY

    r

    b

    bbrr

    (5.15)

  • H ainda vrias outras formas de transformar os sinais RGB nos sinais compostos Y, Cb e Cr, mas para os objetivos deste texto basta sabermos que Y, Cb e Cr so transformaes lineares dos sinais RGB.

    O sistema visual humano menos sensvel aos sinais de crominncia que ao sinal de luminncia. Esta caracterstica faz com que a representao YCbCr oferea uma importante vantagem sobre a representao RGB: a possibilidade de representar os sinais Cb e Cr com menos resoluo que o sinal Y , reduzindo a quantidade de dados requerida para representar os sinais de crominncia, sem perda significativa de qualidade visual [Livro]. Por exemplo, o padro MPEG-4 suporta trs formas de amostragem dos sinais Y, Cb e Cr, denominadas de 4:4:4, 4:2:2 e 4:2:0. Na amostragem 4:4:4, para cada 4 amostras de luminncia h 4 amostras de cada sinal de crominncia e, portanto, se preserva totalmente a fidelidade dos sinais de crominncia. Na amostragem 4:2:2, na direo horizontal, h duas amostras de Cb e Cr para cada 4 amostras do sinal Y, ou seja, a resoluo horizontal de Cb e Cr a metade da resoluo horizontal de Y. Na amostragem 4:2:0, cada sinal de crominncia tem do nmero de amostras do sinal de luminncia, com metade da resoluo horizontal e metade da resoluo vertical. A codificao 4:2:0 largamente utilizada em aplicaes comerciais, como vdeo conferncia, TV digital e DVD (Digital Versatile Disk). O nmero de bits utilizados para representar um quadro com amostragem 4:2:0 exatamente a metade do nmero utilizado para amostragem 4:4:4. [RICHARDSON,2003]

    5.3.2. Discret Cosine Transform (DCT)

    O processo de codificao de vdeo utilizado no MPEG utiliza uma tcnica de transformao denominada Transformada Discreta de Coseno (DCT Discret Cosine Transform). A DCT realizada sobre um bloco de N x N pixels e realizada pela operao:

    TAXAY = (5.16)

    onde X a matriz de amostras, Y a matriz dos coeficientes da DCT, A uma matriz de transformao N x N e AT a matriz transposta de A, obtida trocando-se em A as linhas pelas colunas e vice versa. Os elementos de A so dados por: [RICHARDSON,2003]

  • ( ) 0 para 2 e 0 para 1 com 2

    12cos >===

    += i

    NCi

    NC

    NijCA iiiijpi

    (5.17)

    Exemplo 5.5 [RICHARDSON,2003]: A matriz, X, abaixo, representa os valores das amostras de luminncia de um bloco de 4 x 4 pixels de um sinal de vdeo. Calcule a DCT de X.

    j = 0 1 2 3

    i = 0 5 11 8 10

    1 9 8 4 12

    2 1 10 11 4

    3 19 6 15 7

    Soluo:

    Para encontrar Y, precisamos primeiro encontrar a matriz de transformao, A. Utilizando a Equao (5.17), temos:

    =

    83

    cos21

    8cos

    21

    8cos

    21

    83

    cos21

    21

    21

    21

    21

    8cos

    21

    83

    cos21

    83

    cos21

    8cos

    21

    21

    21

    21

    21

    pipipipi

    pipipipi

    A

    ou

    =

    271,0653,0653,0271,05,05,05,05,0653,0271,0271,0653,05,05,05,05,0

    A

    Para encontrar Y devemos primeiro fazer Y = AX, ou seja:

  • =

    715619411101

    12489108115

    271,0653,0653,0271,05,05,05,05,0653,0271,0271,0653,05,05,05,05,0

    'Y

    O produto entre as duas matrizes feito multiplicando cada linha de A por cada coluna de X. Por exemplo:

    Y01 = (0,5 x 5) + (0,5 x 9) + (0,5 x 1) + (0,5 x 19) = 17

    Y01 = (0,5 x 11) + (0,5 x 8) + (0,5 x 10) + (0,5 x 6) = 17,5

    O resultado final :

    =

    411,4674,2661,2018,95,045,07

    127,4468,6723,2974,65,16195,1717

    'Y

    Finalmente, a matriz dos coeficientes da DCT obtida multiplicando Y por AT, ou seja:

    =

    271,05,0653,05,0653,05,0271,05,0653,05,0271,05,0

    271,05,0653,05,0

    411,4674,2661,2018,95,045,07

    127,4468,6723,2974,65,16195,1717

    Y

    resultando em:

    =

    24,1382,9012,3047,47,42025,35,501,9449,0758,4296,3

    115,15,108,035

    Y

    *****

    Semelhante Transformada de Fourier, uma operao de transformao inversa retorna o sinal para o domnio do tempo. A Transformada Inversa Discreta de Coseno (IDCT), neste caso, calculada por:

    YAAX T= (5.18)

    importante notar que a DCT em si no resulta em compresso, pois em geral so necessrios mais bits para representar os coeficientes da DCT do que para representar o

  • valor original das amostras. O processo de compresso , de fato, resultante da eliminao dos coeficientes da DCT que so menos relevantes para a recomposio do sinal original. Para entender melhor esta abordagem, vamos tomar o resultado do Exemplo 5.5 e calcular a transformada inversa em diversas situaes.

    Inicialmente, vamos calcular a IDCT mantendo apenas o termo mais significativo da matriz de coeficientes e fazendo os demais iguais a zero. A matriz resultante possui todos os termos com um nico valor, 8,75, a mdia dos valores originais dos pixels [livro]. O resultado apresentado na matriz X1, a seguir:

    =

    27,065,065,027,05,05,05,05,065,027,027,065,05,05,05,05,0

    00000000000000035

    27,05,065,05,065,05,027,05,065,05,027,05,0

    27,05,065,05,0

    X1

    =

    758758758758758758758758758758758758758758758758

    ,,,,

    ,,,,

    ,,,,

    ,,,,

    X1

    Tomando agora a matriz de coeficientes com os dois termos mais significativos, temos:

    =

    27,065,065,027,05,05,05,05,065,027,027,065,05,05,05,05,0

    0382,9000000000000035

    27,05,065,05,065,05,027,05,065,05,027,05,0

    27,05,065,05,0

    2X

    =

    021,10479,7479,7021,10687,5813,11813,11687,5813,11687,5687,5813,11479,7021,10021,10479,7

    2X

    Finalmente, tomando a matriz de coeficientes com os cinco termos mais significativos temos:

  • =

    27,065,065,027,05,05,05,05,065,027,027,065,05,05,05,05,0

    038,9000005,5

    01,9076,4000035

    27,05,065,05,065,05,027,05,065,05,027,05,0

    27,05,065,05,0

    3X

    =

    773,7854,11854,502,15808,2683,11193,9815,5942,11067,3557,5935,8477,12396,8396,1423,5

    3X

    Comparando X1, X2 e X3, observamos que o resultado da transformada inversa se aproxima do resultado original medida que aumentamos o nmero de termos na matriz de coeficientes da DCT. Isto mostra que possvel construir uma verso aproximada da matriz X a partir de um subconjunto dos coeficientes da DCT da matriz original. Assim, se removermos os coeficientes com magnitude menos significativas, por exemplo, por quantizao da matriz de coeficientes da DCT, podemos representar os dados com um nmero reduzido de coeficientes e, consequentemente, com um nmero reduzido de bits, ao preo de uma perda de qualidade. Observe que a IDCT realizada com a matriz de coeficientes completa retorna, praticamente, a matriz X original (faa esta operao a ttulo de exerccio).

    Na discusso acima consideramos, por simplicidade, a DCT realizada sobre um bloco de 4 x 4 pixels. Em geral a DCT realizada sobre um bloco de 8 x 8 pixels. O procedimento exatamente o mesmo descrito acima, apenas trabalhando com matrizes de maior dimenso.

    Para um sinal de vdeo real os coeficientes da DCT tendem a tornarem-se insignificantes medida que nos afastamos, tanto verticalmente quanto horizontalmente, da posio (0,0) (posio correspondente 1 linha e 1 coluna da matriz de coeficientes), que representa o nvel DC do sinal.

  • 5.3.3. Quantizao

    Um quantizador mapeia o sinal original, que pode assumir um conjunto X de valores, para um sinal quantizado, que pode assumir um conjunto Y, menor, de valores. A reduo nos valores que o sinal pode assumir permite que o mesmo seja representado por uma quantidade menor de bits.

    Os quantizadores podem ser divididos em escalares e vetoriais. Um quantizador escalar mapeia uma amostra do sinal de entrada para um valor do sinal quantizado, enquanto um quantizador vetorial mapeia um grupo de amostras de entrada (um vetor) para um grupo de valores quantizados.

    Um quantizador escalar uniforme pode ser representado, de forma geral, pela equao:

    =

    XroundY (x)

    na qual representa o passo de quantizao, X o sinal na entrada do quantizador e a funo round representa pegar o inteiro mais prximo do argumento da funo.

    Nos codificadores de vdeo a matriz de coeficientes da DCT passa por um processo de quantizao linear. O objetivo mapear os coeficientes com valores menos significativos para zero, permitindo o uso de tcnicas de codificao que resultem na reduo do nmero de bits necessrios para transmitir os coeficientes da DCT. Ou seja, espera-se que a matriz de coeficientes quantizadas seja uma matriz esparsa, com poucos coeficientes no nulos.

    No decodificador, o sinal quantizado passa por um processo inverso, em que se busca recuperar os valores originais dos coeficientes, com exceo dos coeficientes transmitidos como zero. No entanto, o processo de quantizao no reversvel e os coeficientes recuperados no possuem os mesmos valores dos coeficientes originais.

    Em alguns codificadores de imagem, como no padro JPEG, o valor de especificado em uma matriz, com um valor definido para cada coeficiente da DCT. Em

    outros casos, o valor de fixo para todos os coeficientes da DCT, mas pode variar, dentro de uma faixa especificada, de um bloco de pixels para outro.

    Aps a quantizao, com o objetivo de agrupar os elementos no nulos da matriz,

  • os coeficientes quantizados so reordenados. O processo de reordenao leva em conta a caracterstica, descrita anteriormente, de que os valores dos coeficientes tornam-se insignificantes medida que nos afastamos da posio (0,0). Uma forma de reordenao denominada de varredura zig-zag, e ilustrada na Figura 5.22. [RICHARDSON,2003]

    Figura 5.22 Varredura zig-zag para reordenar os coeficientes DCT quantizados.

    Aps a reordenao os coeficientes podem ser codificados utilizando a tcnica denominada run-level, em que cada coeficiente no nulo representado por um par (run,level), em que run representa o nmero de coeficientes nulos que precedem o coeficiente no nulo e level representa o valor do coeficiente no nulo. Por exemplo, a sequncia 16,0,5,7,0,0,0,0,0,-7,3,0,0,0,0,8.... seria codificada como (0,16), (1,5), (0,7), (5,-7), (0,3) e (4,8)....

    Como a matriz de coeficientes reordenada, normalmente, termina com muitos coeficientes nulos em sequncia, importante criar uma forma de identificar o ltimo elemento no nulo da matriz. Uma forma de fazer isto acrescentar mais um elemento ao par (run,level), com o objetivo de sinalizar que aquele elemento no nulo o ltimo da matriz, dando origem representao (run,level,last), em que a posio last feita igual a 1 para o ltimo elemento no-nulo da matriz. Por exemplo, se na sequncia do pargrafo anterior o coeficiente 8 seguido apenas de coeficientes nulos (ou seja, ele o ltimo no nulo), a codificao resultante seria: (0,16,0), (1,5,0), (0,7,0), (5,-7,0), (0,3,0) e (4,8,1).

  • 5.3.4. Modelo Temporal

    O modelo temporal tem por objetivo reduzir a redundncia temporal do sinal. O processo envolve formar uma predio do quadro e subtrair esta predio do quadro corrente, formando um quadro residual. Quanto mais eficiente for o modelo temporal, menor ser a energia contida no quadro residual. A predio do quadro feita com base em um ou mais quadros de referncia. Na sua forma mais simples, o quadro anterior utilizado como predio para o quadro corrente. Ou seja, o quadro (n 1) utilizado como predio para o quadro n e o quadro residual utilizado subtraindo o quadro (n 1) do quadro n.

    Para melhorar a eficincia do processo de predio utilizam-se algoritmos para estimao e compensao de movimento o quadro (ou quadros) de referncia e o quadro corrente.

    Uma abordagem bastante utilizada para compensao de movimento a denominada compensao de movimento baseada em bloco, na qual realiza-se a operao em sees retangulares de M x N amostras, denominadas blocos, do quadro corrente. O procedimento, ilustrado na Figura 5.23, consiste basicamente dos seguintes passos: [RICHARDSON,2003]

    1) Para fazer a estimao de movimento o bloco M x N do quadro corrente comparado com todas (ou algumas) as possveis regies M x N de uma determinada rea de busca (usualmente uma rea centrada na posio atual do bloco) de um quadro de referncia1 (que j tenha sido codificado e transmitido). O objetivo encontrar o melhor casamento entre o bloco corrente e a regio M x N do quadro de referncia. Um critrio para definir o melhor casamento a energia residual obtida da subtrao do bloco corrente da regio M x N candidata; a regio M x N que minimiza a energia residual escolhida como a regio de melhor casamento.

    2) A regio M x N escolhida no passo 1 utilizada como preditora para o bloco M x N corrente. Assim, a regio subtrada do bloco corrente para gerar um bloco residual (que ser entregue ao modelo espacial na Figura 5.21). Este processo chamado de compensao de movimento.

    1 interessante observar que o quadro de referncia pode ser anterior ou posterior, na ordem de exibio,

    ao quadro corrente, importando apenas que ele j tenha sido codificado.

  • 3) O bloco residual codificado e transmitido, juntamente com uma informao que identifica a diferena de posio, denominada vetor de movimento, entre o bloco corrente e a regio M x N escolhida no passo 1.

    O decodificador utiliza o vetor de movimento para recriar a regio de predio, decodifica o bloco residual e adiciona o mesmo regio de predio para gerar a verso decodificada do bloco M x N original.

    Figura 5.23 Ilustrao do processo de estimao e compensao de movimento.

    Nos principais codificadores de vdeo este processo realizado em uma regio composta de 16 x 16 pixels, denominada de macrobloco. O tamanho da regio influi na quantidade de energia do quadro residual, com menos energia para menores regies (o que permite maior reduo na redundncia). No entanto, a diminuio do tamanho da regio resulta em mais processamento e, consequentemente, maior complexidade, alm de resultar em um maior nmero de vetores de movimento. Alguns codificadores, como o H.264, utilizam tamanhos de bloco adaptativos s caractersticas do vdeo, resultando em um melhor desempenho do processo. [RICHARDSON,2003]

    Exerccio: A matriz X, abaixo, representa os valores das amostras de luminncia de um sinal de vdeo. Calcule os coeficientes da DCT de X. Reescreva a matriz dos coeficientes da DCT de X para as seguintes situaes: mantendo apenas o coeficiente

    quadro co

    rrente

    quadro de r

    eferncia

    bloco corrente

    rea de bu

    sca

    melhor cas

    amento

    quadro co

    rrente

    quadro de r

    eferncia

    bloco corrente

    rea de bu

    sca

    melhor cas

    amento

  • mais significativo e fazendo os demais iguais a zero, mantendo os dois mais significativos e fazendo os demais iguais a zero, mantendo os trs mais significativos e fazendo os demais iguais a zero e mantendo os cinco mais significativos e fazendo os demais iguais a zero. Para cada caso, faa a transformada inversa para recuperar X e compare a matriz X original com a matriz recuperada.

    =

    6888114751561761378018118115198181178159126

    X