CODIFICAÇÃO AVANÇADA DE VÍDEO DIGITALfp/cav/ano2006_2007/Slides/CAV_10_MPEG4_2007_Web.pdf ·...

82
Comunicação de Áudio e Vídeo, Fernando Pereira CODIFICAÇÃO AVANÇADA CODIFICAÇÃO AVANÇADA DE VÍDEO DIGITAL DE VÍDEO DIGITAL Fernando Pereira Instituto Superior Técnico

Transcript of CODIFICAÇÃO AVANÇADA DE VÍDEO DIGITALfp/cav/ano2006_2007/Slides/CAV_10_MPEG4_2007_Web.pdf ·...

Comunicação de Áudio e Vídeo, Fernando Pereira

CODIFICAÇÃO AVANÇADA CODIFICAÇÃO AVANÇADA DE VÍDEO DIGITALDE VÍDEO DIGITAL

Fernando Pereira

Instituto Superior Técnico

Comunicação de Áudio e Vídeo, Fernando Pereira

Vídeo Digital: Algumas Dúvidas …VídeoVídeo Digital: Digital: AlgumasAlgumas DúvidasDúvidas ……

Essencialmente, as normas de vídeo digital disponíveis seguem o mesmo paradigma da televisão analógica !

� Será que a lógica “mais do mesmo” ainda que com algum aumentoda qualidade (?) vai ser suficiente para convencer os utentes ?

� Será que os utentes confrontados com o paradigma da Internet e dos jogos, com que estão cada vez mais familiarizados, não vão querer“mais sem ser do mesmo” ?

� Não será por este motivo que quase todos os operadores de televisãodigital tentam misturar o acesso à Internet com a televisão ?

Comunicação de Áudio e Vídeo, Fernando Pereira

Convergências …ConvergênciasConvergências ……

O desenvolvimento tecnológico- processadores, memórias,

codificação, etc.- levou a que mundos até agora separados

Telecomunicações, Televisão e Computadores

Voz, Imagem e Dados

tendam a evoluir- convergir- integrando elementos típicosuns dos outros, p.e. imagem nas telecomunicações ou

interactividade na televisão.

E então surgem novos desafios ...

Comunicação de Áudio e Vídeo, Fernando Pereira

Novas Novas CapacidadesCapacidades, Novas , Novas NecessidadesNecessidades

� Maior facilidade em interagir com a informação audiovisual (AV), nomeadamente ao nível do conteúdo

� Re-utilização da informação AV, natural e sintética, combinando-a de vários modos

� Disponilização da informação digital AV em qualquer local, atravésde qualquer meio e terminal

� Identificação rápida da informação procurada

� Protecção dos direitos de autor

Necessidades surgem dos utentes, dos autores de conteúdo e dos fornecedores de serviços !

Comunicação de Áudio e Vídeo, Fernando Pereira

Um Único Ambiente de Codificação para ...Um Único Ambiente de Codificação para ...Um Único Ambiente de Codificação para ...

Comunicação de Áudio e Vídeo, Fernando Pereira

Um Novo Modelo de Dados: Composição de ObjectosUm Novo Um Novo ModeloModelo de Dados: de Dados: ComposiçãoComposição de de ObjectosObjectos

� Informação audiovisual representada como uma composiçãode objectos (com valor semântico ou funcional)

� Integração de objectos de vários tipos, naturais e sintéticos

� Processamento e codificação ao nível do objecto

� Interacção e re- utilização independente ao nível dos objectos

� Princípios independentes do débito binário

Comunicação de Áudio e Vídeo, Fernando Pereira

Conteúdo Baseado em Objects … ConteúdoConteúdo BaseadoBaseado emem Objects … Objects …

Sports results: Benfica - Sporting

Sports results: Benfica - Sporting

Stock information ...

Stock information ...

Comunicação de Áudio e Vídeo, Fernando Pereira

Sistema Audiovisual ConvencionalSistemaSistema Audiovisual Audiovisual ConvencionalConvencional

dem

ult

iple

xer

syn

c&

mu

ltip

lexer

enc.

enc.

dec.

dec.

co

mp

osit

or

...

Comunicação de Áudio e Vídeo, Fernando Pereira

Sistema Audiovisual Baseado em ObjectosSistemaSistema Audiovisual Audiovisual BaseadoBaseado emem ObjectosObjectos

dem

ult

iple

xer

syn

c&

mu

ltip

lexer

AV objectsAV objects

codedcoded

AV objectsAV objectsuncodeduncoded

enc.

enc.

......

Comp.enc.

Comp. Comp.

InfoInfo

dec.

dec.

Comp.dec.

co

mp

osit

or

......

dec.

AV objectsAV objectscodedcoded

interacçãointeracção

Comunicação de Áudio e Vídeo, Fernando Pereira

MPEG-4: o Modelo de ServiçoMPEGMPEG--4: o 4: o ModeloModelo de de ServiçoServiço

Fonte

Demultiplex

Compos.

Vídeo

Áudio

Animação

Texto/Gráf.

Interacção

Composição

Apresentação

Delivery

Comunicação de Áudio e Vídeo, Fernando Pereira

MPEG-4: Codificação de Objectos AudiovisuaisMPEGMPEG--4: 4: CodificaçãoCodificação de de ObjectosObjectos AudiovisuaisAudiovisuais

� Novo modelo de dados baseado no conceito de Objecto o que dá um valor semântico à estrutura de dados

� Novas funcionalidades, nomeadamente interacção aonível de objecto, accesso universal e maior eficiênciade compressão

� Criação de conteúdos com objectos e re-utilização e manipulação de objectos

� Integração de vários tipos de objectos áudio e vídeo, naturais e sintéticos e exploração de sinergias, e.g. entre codificação de vídeo, visão por computador, computação gráfica.

Comunicação de Áudio e Vídeo, Fernando Pereira

MPEG-4: Codificação de Objectos com Forma ArbitráriaMPEGMPEG--4: 4: CodificaçãoCodificação de de ObjectosObjectos com Forma com Forma ArbitráriaArbitrária

Coded shapebitstream

Coded texture

bitstream

Shape decoding

Motion decodingCoded motion

bitstream

Variable length

decoding

Inverse scan

Inversequantization

Inverse DCT

Motioncompensation

Previous reconstructed

VOP

Dem

ulti

plex

er

video_object_layer_shape

Texture DecodingTexture Decoding

VOPreconstruction

Inverse AC/DC

prediction

Decoded VOP

Comunicação de Áudio e Vídeo, Fernando Pereira

O Problema da SegmentaçãoO O ProblemaProblema dada SegmentaçãoSegmentação

Comunicação de Áudio e Vídeo, Fernando Pereira

Segmentação: O Problema que nem Sempre Existe ...Segmentação: O Problema que nem Sempre Segmentação: O Problema que nem Sempre Existe ...Existe ...

Comunicação de Áudio e Vídeo, Fernando Pereira

Segmentação Automática e em Tempo Real: O Pior Caso !SegmentaçãoSegmentação AutomáticaAutomática e e emem Tempo Real: Tempo Real: O O PiorPior CasoCaso !!

Comunicação de Áudio e Vídeo, Fernando Pereira

Ferramentas MPEG-4 (1): Os CodecsFerramentasFerramentas MPEGMPEG--4 (1)4 (1): : OsOs CodecsCodecs

� Codificação eficiente de vídeo desde muito baixos débitos binários atémuito alta qualidade

� Codificação eficiente de música e fala para uma gama alargada de débitos, nomeadamente desde música com qualidade transparente atéfala a muito baixo débito

� Codificação eficiente de texto e gráficos

� Codificação eficiente de objectos 3D dinâmicos bem como de objectos3D mais específicos como faces e corpos humanos

� Codificação eficiente de áudio e fala sintéticos bem como de espaçoáudio 3D

� Capacidades de resiliência a erros ao nível da codificação de fonte paratodos os tipos de dados codificados, nomeadamente com vista a ambientes com características de canal difíceis

Comunicação de Áudio e Vídeo, Fernando Pereira

Conteúdo Sintético: Animação Facial e Muito Mais …ConteúdoConteúdo SintéticoSintético: : AnimaçãoAnimação Facial e Facial e MuitoMuito MaisMais ……

Comunicação de Áudio e Vídeo, Fernando Pereira

Jogos 3D para 3G … na Coreia … JogosJogos 3D 3D parapara 3G … 3G … nana CoreiaCoreia … …

Comunicação de Áudio e Vídeo, Fernando Pereira

Ferramentas MPEG-4 (2): O Nível de SistemaFerramentasFerramentas MPEGMPEG--4 (2)4 (2): : O Nível de SistemaO Nível de Sistema

� Representação independente dos vários objectos na cena, nomeadamente objectos visuais, permitindo o seu acesso, manipulação e reutilização de forma independente

� Composição de objecto visuais e de áudio, naturais e sintéticos, namesma cena

� Capacidade de descrição de objectos e eventos na cena

� Capacidades de hyperlinking e interacção

� Capacidades ao nível da protecção e gestão dos conteúdos queforma a que só utentes autorizados os possam consumir

Comunicação de Áudio e Vídeo, Fernando Pereira

MPEG-4: Exemplos de AplicaçãoMPEGMPEG--4: 4: ExemplosExemplos de de AplicaçãoAplicação

� Vídeo na Internet

� Comunicações em tempo real

� Teledifusão multimedia

� DVD Interactivo

� Estúdio TV e post-processamento

� Infotainment

� Bases de dados baseadas no conteúdo

� Comunicações pessoais avançadas, p.e. móveis

� Vigilância e controlo remotos

� Reuniões virtuais

Comunicação de Áudio e Vídeo, Fernando Pereira

Usando Objectos … UsandoUsando ObjectosObjectos … …

Comunicação de Áudio e Vídeo, Fernando Pereira

O Caso Bloomberg … Já Hoje !O O CasoCaso Bloomberg … Bloomberg … JáJá HojeHoje !!

� Eficiência de codificação

� Personalizaçãoautomática ou manual do conteúdo

� Personalizaçãoautomática ou manual do layout do écrã com base em conteúdo global ouobjectos, eventos, linguagem ou critériosmais complexos definidospelo utente

Comunicação de Áudio e Vídeo, Fernando Pereira

Objectos mas Também ...Objectos mas Também ...Objectos mas Também ...

Comunicação de Áudio e Vídeo, Fernando Pereira

Vídeo na Internet VídeoVídeo nana Internet Internet

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Integração simples e eficiente de váriostipos de dados, naturais e sintéticos

� Interacção local ao nível dos objectos

� Personalização do conteúdo e do layout

do écran

� Re-utilização de conteúdos

� Escalabilidade de espaço e tempo aonível dos objectos

� Cada objecto com uma qualidade e protecção contra erros dependente dasua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

Vídeo na Internet VídeoVídeo nana Internet Internet

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Integração simple e eficiente de váriostipos de dados, naturais e sintéticos

� Interacção local ao nível dos objectos

� Personalização do conteúdo e do layout

do écran

� Re-utilização de conteúdos

� Escalabilidade de espaço e tempo aonível dos objectos

� Cada objecto com uma qualidade e protecção contra erros dependente dasua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

Vídeo na Internet VídeoVídeo nana Internet Internet

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Integração simple e eficiente de váriostipos de dados, naturais e sintéticos

� Interacção local ao nível dos objectos

� Personalização do conteúdo e do layout

do écran

� Re-utilização de conteúdos

� Escalabilidade de espaço e tempo aonível dos objectos

� Cada objecto com uma qualidade e protecção contra erros dependente dasua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

Vídeo na Internet VídeoVídeo nana Internet Internet

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Integração simple e eficiente de váriostipos de dados, naturais e sintéticos

� Interacção local ao nível dos objectos

� Personalização do conteúdo e do layout

do écran

� Re-utilização de conteúdos

� Escalabilidade de espaço e tempo aonível dos objectos

� Cada objecto com uma qualidade e protecção contra erros dependente dasua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

Vídeo na Internet VídeoVídeo nana Internet Internet

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Integração simple e eficiente de váriostipos de dados, naturais e sintéticos

� Interacção local ao nível dos objectos

� Personalização do conteúdo e do layout

do écran

� Re-utilização de conteúdos

� Escalabilidade de espaço e tempo aonível dos objectos

� Cada objecto com uma qualidade e protecção contra erros dependente dasua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

Comunicações em Tempo RealComunicações em Tempo RealComunicações em Tempo Real

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Adição simples e eficiente de texto e elementos gráficos

� Escalabilidade temporal ao níveldos objectos

� Cada objecto com uma qualidadee protecção contra errosdependente da sua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

Comunicações em Tempo RealComunicações em Tempo RealComunicações em Tempo Real

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

� Adição simples e eficiente de texto e elementos gráficos

� Escalabilidade temporal ao níveldos objectos

� Cada objecto com uma qualidadee protecção contra errosdependente da sua relevância

Comunicação de Áudio e Vídeo, Fernando Pereira

� Integração simples e eficiente de vários tipos de dados, naturais e sintéticos

� Personalização automática/manual do conteúdo e do layout do écran

� Interacção local ao nível dos objectos

� Re-utilização de conteúdos

� Cada objecto com uma qualidade e protecção contra erros dependenteda sua relevância

� Número de objectos transmitidosdependente dos recursoscomputacionais e de banda

Teledifusão MultimédiaTeledifusãoTeledifusão MultimédiaMultimédia

Comunicação de Áudio e Vídeo, Fernando Pereira

‘Volta à França’: Hoje ! ‘‘Volta à França’: Hoje ! Volta à França’: Hoje !

Comunicação de Áudio e Vídeo, Fernando Pereira

‘Volta à França’: Mudar de Posição ! ‘‘Volta à França’: Mudar de Posição ! Volta à França’: Mudar de Posição !

Comunicação de Áudio e Vídeo, Fernando Pereira

‘Volta à França’: Combinando Objectos ! ‘‘Volta à França’: Combinando Objectos ! Volta à França’: Combinando Objectos !

Comunicação de Áudio e Vídeo, Fernando Pereira

‘Volta à França’: Browsing ! ‘‘Volta à França’: Volta à França’: BrowsingBrowsing ! !

Comunicação de Áudio e Vídeo, Fernando Pereira

Estrutura de Cena para o “Tour de France”EstruturaEstrutura de de CenaCena parapara o “o “Tour de FranceTour de France””

Cena

AV Botões à esquerda

Mapa Botões à direita

...

...

Vídeo Áudio

Comunicação de Áudio e Vídeo, Fernando Pereira

Algumas Partes do MPEG-4AlgumasAlgumas PartesPartes do MPEGdo MPEG--44

�� ParteParte 1: 1: SystemsSystems – Especifica ferramentas de composição, multiplexagem, sincronização, gestão de memória e gestão e protecção de propriedade intelectual

�� ParteParte 2: 2: VisualVisual – Especifica a codificação de objectos visuais, naturais e sintéticos

�� ParteParte 3: 3: AudioAudio - Especifica a codificação de objectos auditivos (música e fala), naturais e sintéticos

�� ParteParte 4: 4: Conformance TestingConformance Testing – Especifica as condições para conformidade de fluxos binários e terminais

�� ParteParte 5: 5: Reference SoftwareReference Software – Inclui software correspondente às ferramentas dasvárias partes; este software pode ser usado para implementação de produtosconformes à norma sem copyright

�� ParteParte 6: 6: Delivery Multimedia Integration Framework (DMIF)Delivery Multimedia Integration Framework (DMIF) – Especifica um protocolo de sessão para a gestão de streaming multimedia através de vários tiposde canais

�� ParteParte 10: 10: Advanced Video CodingAdvanced Video Coding – Especifica a codificação avançada de vídeorectangular (em conjunto com ITU-T, norma H.264)

Comunicação de Áudio e Vídeo, Fernando Pereira

MPEG-4 Profiling: Interoperabilidade versus ComplexidadeMPEGMPEG--4 Profiling4 Profiling: : InteroperabilidadeInteroperabilidade versus versus ComplexidadeComplexidade

� A norma MPEG-4 oferece inúmeras ferramentas em cadauma das suas Partes.

� Existem muitas ferramentas em cada uma das Partes que sãoinúteis (ou demasiado caras) para certas classes de aplicações.

� É essencial oferecer soluções adequadas a cada classe de aplicações com complexidade adequada.

A criação de Perfis tem o objectivo de oferecer soluçõestécnicas adequadas para certas classes de aplicações de

forma a criar bons compromissos entre a maximização dainteroperabilidade e a minimização da complexidade.

Comunicação de Áudio e Vídeo, Fernando Pereira

Elementos Básicos do MPEG-4 ProfilingElementosElementos BásicosBásicos do do MPEGMPEG--4 Profiling4 Profiling

�� Object TypeObject Type – Define a sintaxe do fluxo binário para um certoobjecto (p.e. audio, vídeo) que corresponde a uma dada entidadena cena.

�� ProfileProfile – Define o conjunto de ferramentas de um certo tipo, p.e. descodificação de vídeo, que podem ser usada num dado terminal; os perfis visuais e de áudio são definidos em termos de object types

ou seja um perfil visual corresponde ao conjunto de object types

que o terminal aceita.

�� LevelLevel – Define as limitações, p.e. em débito, memória, impostas a cada perfil ou seja às ferramentas correspondentes a esse perfil.

Comunicação de Áudio e Vídeo, Fernando Pereira

Object Type: um Sub-conjunto de FerramentasObject TypeObject Type: : umum SubSub--conjunto de Ferramentasconjunto de Ferramentas

SIMPLE VISUAL SIMPLE VISUAL OBJECT TYPEOBJECT TYPE

Error Error resilienceresilience

II--VOP and PVOP and P--VOPVOP

AC/DC AC/DC predictionprediction

4_MV, 4_MV, Unrest. MVUnrest. MV

Short Short HeaderHeader

Comunicação de Áudio e Vídeo, Fernando Pereira

ACEACE

AdvancAdvanc. . Scal.TeScal.Te

Scalable Scalable TextureTexture

MainMain

NN--bitbit

Stream.Stream.VideoVideo

Core Core ScalableScalable

CoreCoreSimple Simple ScalableScalable

Alguns Perfis ‘Video’ … AlgunsAlguns PerfisPerfis ‘Video’ … ‘Video’ …

ARTSARTS

SimpleSimple

StudioStudio

Comunicação de Áudio e Vídeo, Fernando Pereira

Perfis MPEG-4: Quantos são Precisos ?PerfisPerfis MPEGMPEG--4: 4: QuantosQuantos sãosão PrecisosPrecisos ??

Um Um bombom perfilperfil é um é um perfilperfil queque é é usadousado pelapela indústriaindústria e e satifazsatifaz osos utentesutentes ! !

� A existência de demasiados perfis diminui a interoperabilidade e criaconfusão junto da indústria.

� A existência de demasiado poucos perfis pode implicar a necessidadede usar um perfil demasiado complexo para uma dada classe de aplicações.

� Os perfis devem ir sendo definidos à medida que a sua necessidade é identificada pela indústria.

� O mais importante é que os perfis necessários sejam definidos mesmoque entretanto sejam também criados alguns que nunca venham a ser usados.

Comunicação de Áudio e Vídeo, Fernando Pereira

Níveis: a Segunda DimensãoNíveis:Níveis: a Segunda Dimensãoa Segunda Dimensão

Os perfis restringem o conjunto de ferramentas mas não a Os perfis restringem o conjunto de ferramentas mas não a complexidade, p.e. em termos de número de operações por complexidade, p.e. em termos de número de operações por

segundo, memória, etc.segundo, memória, etc.

� Os níveis permitem fixar um limite para o máximo de complexidade que um descodificador é obrigado a ser capaz de suportar ou seja estabelecem o limiar inferior de complexidade para as implementações de descodificadores.

� Os limites fixados pelos níveis referem-se ao conjunto de todos os objectos na cena e não individualmente a cada objecto já que as limitações estão globalmente associados ao terminal.

� A definição de níveis em MPEG-4 pode ser bastante complexa uma vez que os bits MPEG-4 podem estar associados a complexidades muito diferentes em virtude da grande variedade de tipos de dados e ferramentas de codificação.

Comunicação de Áudio e Vídeo, Fernando Pereira

Codificação de Vídeo no MPEG-4CodificaçãoCodificação de de VídeoVídeo no MPEGno MPEG--44

Existem 2 partes na norma MPEG-4 que especificam codificação de vídeo(fluxo binário e descodificação):

�� ParteParte 2: 2: Visual Visual (1998)(1998) – Especifica inúmeras ferramentas com vista a codificação eficiente, resiliência a erros e escalabilidade para vídeo, faces e corpos 3D, etc.

�� ParteParte 10: 10: Advanced Video CodingAdvanced Video Coding (AVC) (2003)(AVC) (2003) – Especificaferramentas mais eficientes de codificação e resiliência a erros paravídeo; esta Parte foi desenvolvida em conjunta com a ITU-T sendotambém a norma H.264 deste organismo.

Cada uma destas partes especifica vários perfis de codificação de vídeo, com diferentes funcionalidades. Enquanto a Parte 2 tem perfis

baseados em objectos rectangulares e de forma arbitrária, a Parte 10 só considera codificação de objectos rectagulares.

Comunicação de Áudio e Vídeo, Fernando Pereira

Object Type

Tools

Simple

Core

Main

Simple Scalable

N-bit

Anim

ated 2DM

esh

Basic A

nimated

Texture

Still ScalableT

exture

Simple F

ace

Basic tools

• I-VOP, P-VOP

• AC/DC Prediction

• 4-MV, Unrestricted MV

X X X X X X

Error resilience

• Slice Resynchronization

• Data Partitioning

• Reversible VLC

X X X X X X

Short Header X X X X X

B-VOP X X X X X

Method 1/Method 2 Quantization X X X X

P-VOP based temporal scalability

• Rectangular

• Arbitrary Shape

X X X X

Binary Shape X X X X X

Grey Shape X

Interlace X

Sprite X

Temporal Scalability (Rectangular) X

Spatial Scalability (Rectangular) X

N-Bit (4-12 bit) X

Scalable Still Texture X X X

2D Dynamic Mesh with uniformtopology

X X

2D Dynamic Mesh with Delaunaytopology

X

Facial Animation Parameters X

Object

types

MPEG-4 Visual

Object Object

typestypes

MPEGMPEG--4 4 VisualVisual

Comunicação de Áudio e Vídeo, Fernando Pereira

Alguns Perfis MPEG-4 VisualAlgunsAlguns PerfisPerfis MPEGMPEG--4 Visual4 Visual

Profiles �

� Object types

Simple Simple

Scale-

able

Core Main N-Bit Scaleable

Texture

Simple

FA

Basic

Animated

Texture

Hybrid

Simple ���� ���� ���� ���� ���� ����

Simple Scalable ����

Core ���� ���� ���� ����

Main ����

N-Bit ����

Animated 2D Mesh ����

Basic Animated

Texture���� ����

Scalable Texture ���� ���� ���� ����

Simple Face ���� ���� ����

Number of Levels 3 2 2 3 1 3 2 2 2

Comunicação de Áudio e Vídeo, Fernando Pereira

Os Níveis para Alguns PerfisOs Níveis para Alguns PerfisOs Níveis para Alguns Perfis

Visual

Profile

L

e

v

e

l

Typical

Visual

Session

Size

Max

objects

Maximum

number

per type

Max.

VMV

buffer

size

(MB)

Max

VCV

buffer

size

(MB)

VCV

decoder

rate (MB/s)

VCV

Boundary

MB

decoder

rate (MB/s)

Max total

VBV buffer

size

(units of

16384 bits)

Max

VBV buffer

size

(units of

16384 bits)

Max

bitrate

(kbit/s)

N-Bit L2 CIF 16 16 x Core or

Simple or

N-Bit

2376 792 23760 11880 80 80 2000

Main L4 1920

x

1088

32 32 x Main or

Core or Simple

65344 16320 489600 244800 760 760 38400

Main L3 CCIR

601

32 32 x Main or

Core or Simple

11304 3240 97200 48600 320 320 15000

Main L2 CIF 16 16 x Main or

Core or Simple

3960 1188 23760 11880 80 80 2000

Core L2 CIF 16 16 x Core or

Simple

2376 792 23760 11880 80 80 2000

Core L1 QCIF 4 4 x Core or

Simple

594 198 5940 2970 16 16 384

Simple

Scalable

L2 CIF 4 4 x Simple or

Simple

Scalable

3168 792 23760 N.A. 40 40 256

Simple

Scalable

L1 CIF 4 4 x Simple or

Simple

Scalable

1782 495 7425 N. A. 40 40 128

Simple L3 CIF 4 4 x Simple 792 396 11880 N. A. 40 40 384

Simple L2 CIF 4 4 x Simple 792 396 5940 N. A. 40 40 128

Simple L1 QCIF 4 4 x Simple 198 99 1485 N. A. 10 10 64

Comunicação de Áudio e Vídeo, Fernando Pereira

Perfis MPEG-4 Parte 2: VisualPerfisPerfis MPEGMPEG--4 4 ParteParte 2: Visual2: Visual

Os perfis Simple e Advanced Simple são os perfis do MPEG-4 Parte 2 mais usados na prática !

Os perfis Simple e Advanced Simple são os perfis do MPEG-4 Parte 2 mais usados na prática !

� O perfil Simple é muito semelhante ao H.263 com algumas ferramentas para resiliência a erros. Existem inúmeros produtos no mercado usando este perfil nomeadamente pequenas máquinas fotográficas.

� O perfil Advanced Simple usa também compensação de movimento global e compensação de movimento a ¼ pixel e codifica vídeo entrelaçado.

Comunicação de Áudio e Vídeo, Fernando Pereira

MPEG-4 Advanced Video

Coding (AVC)

(ou ITU-T H.264)

Comunicação de Áudio e Vídeo, Fernando Pereira

Norma H.264/AVC (2003): ObjectivoNorma H.264/AVC (2003): ObjectivoNorma H.264/AVC (2003): Objectivo

CodificaçãoCodificação com com eficiênciaeficiência melhoradamelhorada, , nomeadamantenomeadamantecercacerca de 50% de 50% menosmenos débitodébito parapara a a mesmamesma qualidadequalidade

emem comparaçãocomparação com as com as normasnormas jájá existentesexistentes, e.g. , e.g. H.263, MPEGH.263, MPEG--2 Video2 Video..

A norma (conjunta MPEG e ITU-T) também oferece boa flexibilidade emtermos de compromissos eficiência versus complexidade e bom

desempenho em termos de robustez a erros para ambientes móveis e a Internet fixa e wireless (formatos progressivos e entrelaçados).

Comunicação de Áudio e Vídeo, Fernando Pereira

Alcance da NormaAlcanceAlcance dada NormaNorma

A norma especifica apenas a sintaxe (e restrições) do fluxo binário e o processo de descodificação:

� Permite vários tipos de optimizações na codificação

� Permite reduzir a complexidade da implementação na codificação (à custada qualidade)

� Não permite garantir qualquer nível de qualidade

Pre-Processing EncodingAquisição

VisualizaçãoPost-Processing& Error Recovery

Decoding

-Pré-Processam. Codificador

Pós-Processam. Descodificador

Norma

Comunicação de Áudio e Vídeo, Fernando Pereira

Ganhos, Como ?GanhosGanhos, Como ?, Como ?

A norma H.264/AVC baseia-se na mesma estrutura de codificação híbridausada para as normas anteriores mas com algumas diferenças importantes, nomeadamente:

� Compensação de movimento com blocos de tamanho variável (e menores)

� Múltiplas tramas de referência

� Transformada com blocos menores

� Filtro deblocking no loop de predição

� Codificação entrópica melhorada

que permitem oferecer ganhos substanciais em termos do débito necessáriopara garantir um certo nível de qualidade.

A norma H.264/AVC destina-se a um vasto conjunto de aplicações desdecomunicações pessoais, a gravação e difusão com qualidades e resoluções

variadas.

Comunicação de Áudio e Vídeo, Fernando Pereira

Estrutura da ImagemEstruturaEstrutura dada ImagemImagem

� Imagem (Y,Cr,Cb; 4:2:0; 8 bit/amostra):

- Uma imagem (trama ou campo) é dividida em 1 ou mais slices

� Slice: - Uma slice é uma sequência de macroblocos

- As slices são self-contained

� Macrobloco:- É a unidade básica da sintaxe e de

processamento

- Contem 16××××16 amostras de luminância e 2 ××××8××××8 amostras de crominância

- Os macroblocos dentro de uma slice dependemuns dos outros

- Os macroblocos podem ser ainda subdivididos

0 1 2 …

Slice #0

Slice #1

Slice #2

Macroblock #40

0 1 2 …

Slice #0

Slice #1

Slice #2

Slice #0

Slice #1

Slice #2

Macroblock #40

Comunicação de Áudio e Vídeo, Fernando Pereira

Slices e Slice GroupsSlicesSlices e e Slice GroupsSlice Groups

� Slice Group:- Padrão de macroblocos definido através de um mapa de

alocação de MBs

- Um slice group pode conter 1 ou mais slices

� Tipos de mapas de alocação de MBs:- Slices groups entrelaçados

- Slice groups de foreground e de background

- ...

� Codificação dos Slices:- Slices I: todos os seus MBs são codificados usando

predição Intra

- Slices P: os seus MBs podem também usar umapredição com compensação de movimento

- Slices B: os seus MBs podem ainda usar prediçãobidireccional com compensação de movimento

Slice

Group #0Slice Group #1

Slice Group #2

Slice

Group #0Slice Group #1

Slice Group #2

Slice Group #0

Slice Group #1

Slice Group #0

Slice Group #1

Slice Group #0

Slice Group #1

Slice Group #2

Slice Group #0

Slice Group #1

Slice Group #2

Slice Group #0

Slice Group #1

Slice Group #2

Comunicação de Áudio e Vídeo, Fernando Pereira

Processamento de Conteúdo EntrelaçadoProcessamentoProcessamento de de ConteúdoConteúdo EntrelaçadoEntrelaçado

� Modo Campo: - cada campo é codificado como

uma imagem separada usandoos campos para fazer a compensação de movimento

� Modo Trama:- Tipo 1: cada trama completa é

codificada como uma imagemseparada

- Tipo 2: a trama é varrida aospares de macroblocos e paracada um destes pares escolhe-se entre o modo campo e o modotrama.

Macroblock Pair

0 2

1 3

4

5

36

37

Macroblock Pair

0 2

1 3

4

5

36

37

A Pair of Macroblocks in Frame Mode

Top/Bottom Macroblocks in Field Mode

A Pair of Macroblocks in Frame Mode

Top/Bottom Macroblocks in Field Mode

Comunicação de Áudio e Vídeo, Fernando Pereira

Estrutura Básica de Codificação H.264/AVCEstruturaEstrutura BásicaBásica de de CodificaçãoCodificação H.264/AVCH.264/AVC

InputVideoSignal

Split intoMacroblocks

16x16 pixels EntropyCoding

Scaling & Inv. Transform

Motion-

Compensation

ControlData

Quant.

Transf. coeffs

Motion

Data

Intra/Inter

CoderControl

Decoder

Motion

Estimation

Transform/

Scal./Quant.-

Intra-frame Prediction

DeblockingFilter

OutputVideo

Signal

InputVideoSignal

Split intoMacroblocks

16x16 pixels EntropyCoding

Scaling & Inv. Transform

Motion-

Compensation

ControlData

Quant.

Transf. coeffs

Motion

Data

Intra/Inter

CoderControl

Decoder

Motion

Estimation

Transform

Scal./Quant.-

Intra-frame Prediction

DeblockingFilter

OutputVideo

Signal

Comunicação de Áudio e Vídeo, Fernando Pereira

Características Comuns a Outras NormasCaracterísticasCaracterísticas ComunsComuns a a OutrasOutras NormasNormas

� Macroblocos: 16××××16 amostras de luminância + 2 ×××× 8××××8 amostras de crominância

� Original: Luminância e correspondentes crominâncias com subamostragem 4:2:0 (metade das linhas e das colunas)

� Compensação de movimento ao nível do bloco

� Compensação de movimento fora dos limites da imagem

� Compensação de movimento para blocos de tamanho variável

� Transformada ao nível do bloco

� Quantificação escalar

� Modos de codificação I, P, e B

Comunicação de Áudio e Vídeo, Fernando Pereira

Predição IntraPrediçãoPredição IntraIntra

� De forma a aumentar a eficiência da codificação Intra, explora-se a correlação entre blocos ou MBs adjacentes de uma imagem.

� Se um bloco ou MB for codificado em modo Intra, constrói-se um bloco ou MB de predição a partir dos blocos ou macroblocos que foram anteriormente codificados e reconstruídos na mesma imagem.

� O bloco ou MB de predição é subtraído ao bloco ou MB que se pretende codificar.

� Nesta predição podem apenas utilizar-se as amostras que estejam contidas na mesma slice de forma a garantir a independência entre slices.

Este tipo de codificação Intra pode implicar propagação de erros se se usarem na predição espacial MBs adjacentes codificados em modo Inter -> Constrained

Intra coding mode (apenas MBs adjacentes codificados em modo Intra são usado na predição espacial)

Comunicação de Áudio e Vídeo, Fernando Pereira

Tipos de Predição IntraTiposTipos de de PrediçãoPredição IntraIntra

A predição em modo Intra pode ser realizada a vários níveis:

1. Predição única para todo o macrobloco (Intra16××××16): quatro modos (vertical, horizontal, DC e planar) -> zonas uniformes

2. Predições individuais para as 16 amostras dos blocos 4××××4 (Intra4××××4): nove modos (DC e 8 direccionais) -> zonas com detalhe

3. Predição única para a crominância: quatro modos (vertical, horizontal, DC e planar)

EntropyCoding

ControlData

Quant.

Transf. coeffs

Motion

Data

OutputVideo

Signal

EntropyCoding

ControlData

Quant.

Transf. coeffs

Motion

Data

OutputVideo

Signal

�Predição espacial direccional

(9 tipos para luma, 1 para croma)

• e.g., Modo 5:

Predição diagonal para baixo à direita

a, f, k, p são preditos como

(A + 2Q + I + 2) / 4

1

4

8

03

57

6

Q A B C D E F G H

I a b c d

J e f g h

K i j k l

L m n o p

Q A B C D E F G H

I a b c d

J e f g h

K i j k l

L m n o p

Comunicação de Áudio e Vídeo, Fernando Pereira

Modos de Predição Intra para Blocos 16××××16ModosModos de de PrediçãoPredição Intra Intra parapara BlocosBlocos 1616××××××××1616

A componente de luminância pode ser predita da mesma forma para todas as amostras pertencentes a um macrobloco 16××××16 -> modos referidos como Intra16 ×××× 16, adequados a zonas da imagem que variam suavemente.

- Modo 0 utiliza as amostras reconstruídas do topo do MB de forma a que as colunas do MB de predição tenham o mesmo valor que a amostra que se encontra no topo.

- Modo 1 utiliza as amostras reconstruídas à esquerda do MB de forma a que as linhas do MB de predição tenham o mesmo valor que a amostra que se encontra mais à esquerda em cada linha.

- Modo 2, todas as amostras do MB de predição possuem um valor igual à média das amostras reconstruídas do topo e à esquerda do MB.

- Modo 3 usa uma função linear que se adapta às amostras do topo e à esquerda do MB para obter os valores das amostras do MB de predição.

Média de todos

os pixels

vizinhos

Comunicação de Áudio e Vídeo, Fernando Pereira

Modos de Predição Intra para Blocos 4××××4ModosModos de de PrediçãoPredição Intra Intra parapara BlocosBlocos 44××××××××44

Comunicação de Áudio e Vídeo, Fernando Pereira

Compensação de Movimento FlexívelCompensaçãoCompensação de de MovimentoMovimento FlexívelFlexível

Cada MB pode ser dividido em partições de dimensão fixa, utilizadas para descrever o movimento da luminância a 1/4 pixel.

� São definidos vários tipos de partições, nomeadamente desde 16××××16 a 4××××4 amostras de luminância, com muitas opções entre estas duas variantes.

� A componente de luminância de cada MB (16××××16 amostras) pode ser dividida de 4 formas, Inter16××××16, Inter16××××8, Inter8××××16 e Inter8××××8, que correspondem a 4 modos de predição ao nível do MB.

� Se o modo Inter8××××8 for escolhido, cada um dos sub-MBs (com 8××××8 amostras) pode ser dividido (ou não) de novo, obtendo-se partições com dimensões de 8××××8, 8××××4, 4××××8 ou 4××××4, que correspondem a 4 modos de predição ao nível do sub-MB.

Um máximo de 16 vectores de movimento pode ser usado para um MB P.

Comunicação de Áudio e Vídeo, Fernando Pereira

Divisão de MBs e sub-MBs para Compensação de MovimentoDivisãoDivisão de de MBsMBs e sube sub--MBsMBs parapara CompensaçãoCompensação de de MovimentoMovimento

Vectores de movimento são codificados diferencialmente mas nãoentre slices.

Macroblocos

0 0

0

1

1

0 1

2 3

16

16 8 8

8

8

8

8

8 816

16

0 0

0

1

1

0 1

2 3

8

8 4 4

4

4

4

4

4 48

8

Sub-macroblocos

Comunicação de Áudio e Vídeo, Fernando Pereira

Múltiplas Tramas de ReferênciaMúltiplasMúltiplas TramasTramas de de ReferênciaReferência

A norma H.264/AVC suporta compensação de movimento com múltiplasreferências, i.e. mais do que uma imagem anteriormente codificada pode ser

utilizada simultaneamente como referência para a compensação de movimento (à custa de memória).

� Tanto o codificador como o descodificador guardam as imagens de referência a utilizar numa memória com múltiplas imagens.

� O descodificador possui as mesmas imagens na memória que o codificador através de operações de controlo do conteúdo da memória que são transmitidas no fluxo binário codificado.

Comunicação de Áudio e Vídeo, Fernando Pereira

Tramas B GeneralizadasTramasTramas B B GeneralizadasGeneralizadas

O conceito de tramas B é generalizado no H.264/AVC uma vez que qualquer imagem pode utilizar como referência imagens do tipo B para a compensação de movimento ou seja a escolha das imagens de predição só depende da gestão

de memória efectuada pelo codificador.

� As slices do tipo B são codificadas de forma a que para alguns blocos ou MBs a predição corresponde a uma média pesada de dois valores distintos obtidos a partir de dois blocos ou MBs depois da compensação de movimento (ambos passados, ambos futuros ou um passado e um futuro).

� As imagens do tipo B utilizam duas memórias de referência, referidas como a primeira e a segunda memória de imagens de referência.

� As imagens de referência que estão em cada uma destas memórias dependem de uma decisão que cabe ao codificador.

� Esta predição pesada permite obter uma predição Inter mais eficiente, i.e. com um menor erro de predição.

Comunicação de Áudio e Vídeo, Fernando Pereira

Predição PesadaPrediçãoPredição PesadaPesada

� Para uma dada partição de um macrobloco é possível utilizar uma predição pesada obtida a partir de duas imagens de referência.

� A predição pesada consiste em efectuar a compensação de movimento para as duas imagens de referência e calcular uma soma pesada a partir de um conjunto de pesos w1 e w2 e das duas imagens compensadas de movimento, para se obter a predição final.

� Com esta ferramenta é possível codificar transições (e.g. fades) ou diferenças de intensidade (devido a alterações da iluminação) presentes na maior parte do conteúdo, de uma forma mais eficiente.

Comunicação de Áudio e Vídeo, Fernando Pereira

As Novas Dependências no TempoAs Novas As Novas DependênciasDependências no Tempono Tempo

I P P P P

B B B B B B B B

I P B B P

B B B B B P B B

� As dependências conhecidas, p.e. MPEG-1, MPEG-2

� Novos tipos de dependências:

- a ordem de referência e a ordem de display deixam de estar relacionadas

- o tipo de imagem e a sua capacidade de servir para predição deixam de estar relacionadas, p.e. é possível usar uma trama B como referência

Comunicação de Áudio e Vídeo, Fernando Pereira

Múltiplas Tramas de Referência e Tramas B GeneralizadasMúltiplasMúltiplas TramasTramas de de ReferênciaReferência e e TramasTramas B B GeneralizadasGeneralizadas

Imagem actual

4 tramas previamente descodificadas estão

aqui disponíveis para ser usadas como

referências

1. O parâmetro ∆permite definir qual a

trama de referênciausada de entre as

disponíveis.

2. Para tramas B, 2 conjuntos de

vectores de movimento podem

ter de ser

descodifcados.

∆ = 1∆ = 3

∆ = 0

∆ = 3

∆ = 0

∆ = 3

∆ = 0

Se a dimensão da memória permitir guardar mais do que uma imagem, o índice da imagem de referência é transmitido para cada partição 16××××16, 8××××16, 16××××8 ou 8××××8 de um MB, indicando ao descodificador a imagem de referência que deve utilizar

de todas as disponíveis na memória.

Comunicação de Áudio e Vídeo, Fernando Pereira

Desempenho Comparativo: Mobile & Calendar, CIF, 30 HzDesempenhoDesempenho ComparativoComparativo: Mobile & Calendar, : Mobile & Calendar, CIF, 30 HzCIF, 30 Hz

0 1 2 3 426

27

28

29

30

31

32

33

34

35

36

37

38

R [Mbit/s]

PS

NR

Y [d

B]

PBB... with generalized B pictures PBB... with classic B pictures PPP... with 5 previous references PPP... with 1 previous reference

~40%

Comunicação de Áudio e Vídeo, Fernando Pereira

Múltiplas TransformadasMúltiplasMúltiplas TransformadasTransformadas

A norma H.264/AVC usa 3 transformadas dependendo do tipo de resíduo de predição a ser codificado:

1. Transformada Hadamard 4××××4 para os coeficientes DC de luminância em MBs codificados com o modo Intra 16××××16

2. Transformada Hadamard 2××××2 para os coeficientes DC de crominância em qualquer MB

3. Transformada inteira 4××××4 baseada na DCT para todos os outrosblocos

Comunicação de Áudio e Vídeo, Fernando Pereira

Transformadas, Onde ?TransformadasTransformadas, , OndeOnde ??

Ordem dos blocos 4x4 para codificaçãoresidual 4x4 (16-25) e codificação Intra 4x4

(18-25)

10 4 5

2 3 6 7

8 9 12 13

10 11 14 15

-1

...

Ordem dos blocos Luma 4x4 parapredição Intra e Inter 4x4

10 4 5

2 3 6 7

8 9 12 13

10 11 14 15

-1

...

Luma 4x4 DC: Apenaspara Intra_16x16 MB

2x2 DC

AC

Cb Cr16 17

18 19

20 21

22 23

24 25

2x2 DC

AC

Cb Cr16 17

18 19

20 21

22 23

24 25

DCT DCT InteiraInteira

HadamardHadamard

Comunicação de Áudio e Vídeo, Fernando Pereira

Transformada DCT InteiraTransformadaTransformada DCT DCT InteiraInteira

A norma H.264/AVC utiliza codificação de transformada paracodificar o erro residual de predição.

� A transformada principal é aplicada a blocos 4××××4 usando umatransformada separável com propriedades semelhantes a um DCT 4××××4

� Tv, Th: matriz de transformação vertical e horizontal

� Transformada DCT Inteira 4××××4- Mais fácil implementação (apenas somas e deslocamentos)

- Ausência de mismatch na transformada inversa

Thxvx TBTC 4444 ⋅⋅=

−−

−−

−−==

1221

1111

2112

1111

TT hv

Comunicação de Áudio e Vídeo, Fernando Pereira

QuantificaçãoQuantificaçãoQuantificação

� A quantificação remove componentes da imagem consideradas irrelevantes, permitindo obter uma redução muitas vezes substancial do débito binário.

� A operação de quantificação corresponde a dividir cada coeficiente por um factor de quantificação e a operação de quantificação inversa (reconstrução) corresponde a multiplicar cada coeficiente pelo mesmo factor.

� Para quantificar os coeficientes, a norma H.264/AVC utiliza quantificação escalar e o factor de quantificação é igual para todos os coeficientes da transformada.

� Um de 52 valores possíveis para o factor de quantificação (Qstep) é seleccionado para cada macrobloco, indexado através do passo de quantificação (Qp) e de uma tabela que estabelece a relação entre cada Qp e Qstep.

� Os valores da tabela foram obtidos de forma a haver um decréscimo de aproximadamente 12.5% do débito binário para cada incremento de 1 do valor do passo de quantificação.

Comunicação de Áudio e Vídeo, Fernando Pereira

Filtro de Deblocking in the LoopFiltroFiltro de de DeblockingDeblocking in the Loopin the Loop

A norma H.264/AVC especifica a utilização de um filtro de bloco adaptativo que opera nas fronteiras dos blocos com vista a melhorar a qualidade

subjectiva e objectiva.

� Este filtro tem de estar presente no codificador e no descodificador, uma vez que os blocos filtrados são de seguida utilizados na compensação de movimento. Este filtro tem um desempenho superior em relação a um filtro de pós-processamento.

� Este filtro possui duas vantagens principais:- As fronteiras dos blocos são suavizadas, sem tornar a imagem difusa,

melhorando a qualidade subjectiva da imagem.

- Os macroblocos filtrados são utilizados na compensação de movimento (filtro no loop), resultando num resíduo menor depois da predição ou seja reduzindo o débito binário para a mesma qualidade objectiva.

- A filtragem é aplicada às fronteiras verticais e horizontais dos blocos 4××××4 de um macrobloco.

Comunicação de Áudio e Vídeo, Fernando Pereira

Filtro de Deblocking in the LoopFiltroFiltro de de DeblockingDeblocking in the Loopin the Loop

� A ideia do filtro de deblocking é que uma diferença grande entre amostras junto à fronteira de 2 blocos só deve ser filtrada se puder ser explicada devido à quantificação; senão essa grande diferença deve fazer parte da imagem e não deve ser filtrada.

� O filtro é adaptativo face ao conteúdo removendo essencialmente o efeito de bloco sem ‘alisar’ desnecessariamente a imagem

- Ao nível da slice, a força do filtro pode ser ajustada às características dasequência de vídeo em questão.

- Ao nível de cada fronteira entre blocos, a força do filtro é ajustada consoante a codificação é intra/inter, o movimento e os resíduos codificados.

- Ao nível de cada amostra, o filtro pode ser desligado consoante o tipo de quantificação.

- O filtro adaptativo é controlado por um parâmetro Bs que representa a força do filtro; para Bs = 0 nenhuma amostra é filtrada e para Bs = 4 o filtro reduz ao máximo o efeito de bloco.

Comunicação de Áudio e Vídeo, Fernando Pereira

Funcionamento do Filtro de DeblockingFuncionamentoFuncionamento do do FiltroFiltro de de DeblockingDeblocking

Visualização unidimensional de umatransição (vertical ou horizontal)

A filtragem de p0 e q0 só é efectuada se:

1. |p0 - q0 | < α(QP)

2. |p1 - p0 | < β(QP)

3. |q1 - q0 | < β(QP)

Onde β(QP) é consideravelmente menor que α(QP)

A filtragem de p1 e q1 sé é efectuada se

1. |p2 - p0 | < β(QP) ou |q2 - q0 | < β(QP)

(QP = quantization parameter)

p0

q0

p1

p2

q1

q2

Fronteira entre blocos 4x4

p0

q0

p1

p2

q1

q2

Comunicação de Áudio e Vídeo, Fernando Pereira

Comparação com e sem Filtro (intra coding a 0.28 bit/amostra) ComparaçãoComparação com e com e semsem FiltroFiltro ((intra codingintra coding a 0.28 a 0.28 bit/bit/amostraamostra) )

1) Sem filtro 2) Com filtro deblocking H.264/AVC

Comunicação de Áudio e Vídeo, Fernando Pereira

Codificação EntrópicaCodificaçãoCodificação EntrópicaEntrópica

SOLUÇÃO 1

� Códigos Exp-Golomb são usados para todos os símbolos excepto oscoeficientes da transformada

� Context adaptive VLCs (CAVLC) são usados para a codificação dos coeficientes da transformada

- Não há end-of-block; descodifica-se o número de coeficientes

- Coeficientes são varridos do fim para o início

- Contextos dependem dos próprios coeficientes

SOLUÇÃO 2 (5-15% menos débito)

� Context-based Adaptive Binary Arithmetic Codes (CABAC)- Usam-se modelos adaptativos de probabilidade para a maioria dos símbolos

- Explora-se a correlação entre símbolos através da criação de contextos

Comunicação de Áudio e Vídeo, Fernando Pereira

Qualidade à custa da ComplexidadeQualidadeQualidade à à custacusta dada ComplexidadeComplexidade

A complexidade (memória e computação) aumenta tipicamente 3×××× nadescodificação e 4×××× na codificação em relação à norma MPEG-2

Vídeo (perfil Main).

Aspectos problemáticos:� Compensação de movimento com blocos mais pequenos (acesso à memória)

� Filtros mais complexos (mais longos) na compensação de movimento a ¼ pixel (acesso à memória)

� Compensação de movimento multitrama (mais memória para tramas de referência)

� Mais tipos de ‘segmentação’ dos macroblocos à escolha (mais procura no codificador)

� Mais formas de predição intra (mais procura no codificador)

� Codificação aritmética (mais cálculo)

Comunicação de Áudio e Vídeo, Fernando Pereira

A norma H.264/AVC especifica vários perfis entre os quais:-- BaselineBaseline – mais simples do que o Main em termos de compressão mas

com resiliência a erros, p.e. comunicações pessoais, vídeo movél

-- Main Main – elevada compressão, p.e. broadcasting

-- ExtendedExtended – capacidades adicionais para streaming mais eficiente

-- High High –– inclui transformada 8×8 , matrizes de quantificação nãouniformes e codificação sem perdas

SI/SP slices

Data partitioning

CABAC

FMO

Red. pictures

features

ASO

B slices

Weighted

prediction

Field coding

MB-AFF

I & P slices

¼ pel MC Diff. block sizes

Multiple ref. frames

Intra prediction

CAVLC

In-loop deb. filter

EXTENDED

BASELINEMAIN

SI/SP slices

Data partitioning

CABAC

FMO

Red. pictures

features

ASO

B slices

Weighted

prediction

Field coding

MB-AFF

I & P slices

¼ pel MC Diff. block sizes

Multiple ref. frames

Intra prediction

CAVLC

In-loop deb. filter

EXTENDED

BASELINEMAIN

Comunicação de Áudio e Vídeo, Fernando Pereira

Comentários FinaisComentáriosComentários FinaisFinais

� A norma H.264/AVC baseia-se nas normasanteriores mas consegue um ganho típico de cercade 50%, sobretudo à custa do aumento dacomplexidade de codificação.

� O ganho de eficiência está essencialmente ligado àcompensação de movimento com blocos de tamanho variável (e menores), múltiplas tramas de referência, transformada com blocos menores, filtro deblocking no loop de predição e ccodificação entrópica melhorada.

� A norma H.264/AVC representa hoje o estado daarte em codificação de vídeo e está hoje a ser adoptada com um número crescente de organismose empresas.

Comunicação de Áudio e Vídeo, Fernando Pereira

BibliografiaBibliografiaBibliografia

� The MPEG-4 Book, Fernando Pereira, Touradj Ebrahimi,

Prentice Hall, 2002

� H.264 and MPEG-4 Video Compression, Iain

Richardson, John Wiley & Sons, 2003