Especificação



Baixar 2,81 Mb.
Página4/24
Encontro01.07.2018
Tamanho2,81 Mb.
1   2   3   4   5   6   7   8   9   ...   24

2.3 Funcionamento do codificador H.264


Tal como os padrões anteriores (MPEG1, MPEG2 e MPEG4 Parte 2), o padrão H.264/AVC não define um codificador explicitamente, mas uma sintaxe de fluxo de bits de vídeo codificado juntamente com um método para decodificar esse fluxo de bits.

Na prática, um codificador de vídeo inclui os elementos funcionais básicos mostrados na figura 2.3; no H.264 esses elementos são um pouco diferente dos padrões anteriores, sendo que o acúmulo dessas pequenas melhorias proporciona uma grande taxa de compactação por parte desse padrão.


      1. 2.3.1 Esquema


Conforme mostrado na figura 2.3, um codificador inclui dois caminhos, um caminho de codificação (representado pelas linhas em azul) e outro de reconstrução (em vermelho).

No esquema mostrado nessa figura, o caminho de codificação “flui” da esquerda para a direita e é chamado em inglês de forward path, ou caminho para à frente. Todavia, preferimos utilizar o termo caminho de codificação pelo fato que esse é o sentido que realmente codifica o vídeo (o caminho de reconstrução é para suporte deste).

Já o caminho de reconstrução segue o sentido oposto, da direita para a esquerda, e tem como principal objetivo fornecer os quadros e fatias de referência para serem utilizados pelo caminho de codificação, pois a codificação deve utilizar os quadros (e fatias) que estarão disponíveis no decodificador, não os quadros (e fatias) originais do arquivo lido, evitando assim o acúmulo de erros.



Figura 2.3 – Modelo de encadeamento dos processos no codificador padrão H.264 [4].



        1. 2.3.1.1 Caminho de codificação

Um quadro de entrada Fn é processado em unidades de macroblocos. Cada macrobloco pode ser codificado no modo Intra ou no modo Inter e, para cada bloco no macrobloco, uma predição P é formada com base nas amostras de figuras reconstruídas.

No modo Intra, P é formado a partir de amostras da fatia atual que foram previamente codificadas, decodificadas e reconstruídas (sF’n na figura 2.3; perceba que são utilizadas amostras não filtradas para formar P).

No modo Inter, P é formado a partir da predição de compensação de movimento de um ou dois quadros selecionados do conjunto de quadros de referência das listas 0 ou 1. Na figura 2.3, o quadro de referência é mostrado como um quadro já codificado F’n-1. Mas a predição de referência de cada partição de macrobloco (no modo Inter) pode ser escolhida a partir de uma seleção de quadros passados ou futuros (na ordem de apresentação) que tenham sido codificados, reconstruídos e filtrados.

A predição P é subtraída do bloco atual para formar um bloco residual (diferença) Dn que é transformado e quantizado para produzir X, um conjunto de coeficientes que são reordenados e codificados por entropia. Os coeficientes codificados por entropia, juntamente as informações de predição de modos, parâmetros de quantização, vetor de movimento, etc. formam o fluxo de bit comprimido que é passado à Camada de Abstração de Rede (NAL) para transmissão ou armazenamento.

        1. 2.3.1.2 Caminho de reconstrução

Tal como codificar e transmitir cada bloco em um macrobloco, o codificador decodifica (reconstrói) esses blocos de modo a prover uma referência para predições posteriores. Os coeficientes X são dimensionados (Q-1) e inversamente transformados (T-1) para produzir um bloco de diferença D’n. O bloco de predição P é adicionado à D’n para criar um bloco reconstruído sF’n (uma versão decodificada do bloco original; o s significa “sem filtro”). Um filtro é então aplicado para reduzir o efeito de distorção do bloco e um quadro de referência é reconstruído a partir de uma série de blocos F’n.





1   2   3   4   5   6   7   8   9   ...   24


©livred.info 2017
enviar mensagem

    Página principal