Multiview Video Coding
A. MVC – Uma extensão da norma H.264/AVC
A possibilidade de utilizar o fenómeno da estereoscopia para produzir vídeo digital 3D, requereu uma série de exigências para a sua implementação: • Filmagem multi-vista; • Existência de pelo menos o dobro das imagens – vídeo stereo; • Utilização de ecrãs “especiais”; • Pressuposto dos conteúdos 3D serem em HD – alta definição.
Consequentemente, todos estes requisitos se debruçam numa preocupação central para a gravação e transmissão dos dados – utilização de um formato eficiente de representação e compressão. Ou seja, tais requisitos impõe, para uma qualidade subjectiva aceitável, capacidades muitos maiores de memória - para gravação - e de largura de banda ou débito binário - para transmissão. Era portanto, essencial encontrar-se uma norma poderosa que permitisse a evolução da visualização de conteúdo 3D, no mercado.
Na repetição bem-sucedida da união das companhias ITU-T e ISO/IEC na criação da norma H.264/AVC no ano 2000, norma esta com grande eficiência de compressão e muita adesão na indústria do vídeo digital, foi também desenvolvida, posteriormente, uma extensão a pensar no conteúdo 3D – o Multiview Video Coding (MVC). Tal extensão tecnológica, não só permite uma codificação de dados muito eficiente, como também consente a compatibilidade com os players antigos de H.264/AVC, visualizando só a informação em 2D. Somado a isto, é importante referir que a norma H.264/AVC, foi criada a pensar em todos os tipos de canais e receptores. Ora, tais características, são fortes armas de penetração do MVC no mercado do vídeo digital.
O MVC tem a capacidade de codificar vídeo stereo, como também tramas de free-viewpoint television e de vídeo 3D multi-vista – Figura 1.
![]()
Figura 1 - Vídeo Mutliview: exemplos das diferentes vistas.
B. ArquitecturaO vídeo com mais de uma vista – multiview video – contém uma grande quantidade de dependências estatísticas, visto que, todas as camaras capturam a mesma cena de diferentes pontos de vista. Esta redundância espacial, combinada com a redundância temporal, é a chave do sucesso para a eficiência de codificação do MVC. A melhor predição de uma frame (imagem individual de um vídeo) de uma certa camara, pode não só ser explorada temporalmente nas frames da mesma camara, como também nas frames das camaras vizinhas. Na literatura, a esta possibilidade dá-se o nome de inter-view prediction – predição entre-vistas.
A Figura 2 ilustra como é feita a predição entre frames do mesmo vídeo na tecnologia MVC. Como termo de comparação para um codificador básico H.264/AVC basta considerarmos a estrutura da Figura 2 só com a câmara 1, por exemplo. Uma das câmaras possui a “filmagem base”, que possibilita a compatibilidade com a tecnologia H.264/AVC para 2D. É de notar que o design do MVC, só permite o uso de perdições inter-view do mesmo instante de tempo. Caso contrário, isto envolveria complexidade adicional para ganhos de compressão muito limitados [2].
![]()
Figura 2 - Estrutura de predição típica do MVC. Linhas a preto - predição temporal; linhas a vermelho - predição entre vistas.
A arquitectura de blocos base de alto nível da tecnologia MVC, consiste então, numa arquitectura típica de um codificador H.264/AVC, com uma componente de multiplexagem das diferentes vistas e a respectiva estimação de profundidade - Figura 3. Portanto, esta estrutura permite usufruir das possibilidades poderosas de compressão do codec H.264/AVC, com a diferença de que se têm mais imagens – das diferentes câmaras – guardadas em memória, e mais um bloco de estimação de profundidade. Este último é o que permite construir uma imagem 3D.
Os módulos de codificação de baixo nível, são portanto, os mesmos da sua norma “mãe” - H.264/AVC - pelo que a sua estrutura só é alterada na arquitectura a um nível mais alto. Estes níveis de codificação são essencialmente feitos a nível do macro-bloco. Um macro-bloco é uma unidade de divisão de uma imagem individual de 16x16 pixéis. É nestas unidades de divisão que o processamento mais complexo é realizado pelas diversas funcionalidades do H.264/AVC. Algumas dessas ferramentas incluem:- Vectores de movimento flexíveis;
- Tramas I, P e B, com diferentes possibilidades de predição temporal;
- Mapas de alocação dos macro-blocos – slices;
- Possibilidade de explorar redundância espacial na mesma imagem, nas tramas I.
Resumindo, a arquitectura geral de um codificador MVC consiste numa multiplexagem de várias vistas, guardadas posteriormente em memória, constituídas por diferentes tipos de frames (I, P ou B), estruturadas em macro-blocos, cada um deles representado usando vectores de movimento e/ou coeficientes da transformada quantizados, seguindo as restrições impostas por cada grupo de codificação (slice). Cada imagem de uma vista diferente é referenciada com um index, para posterior estimação de profundidade ou para simples acesso em free-viewpoint.
Figura 3 - Arquitectura típica simplificada de um codificador H.264/AVC – MVC.