depa - universidade de aveiro · depa rtamento de electrónica, t elecomunicaçõ es e info...

115

Upload: others

Post on 04-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Se a evolução da espé ie humana fossetão rápida omo a evolução te nológia,seria o Mundo melhor?

Universidade de Aveiro Departamento deEle tróni a, Tele omuni ações e Informáti a2009Luís Miguelde Oliveira Matos Estudo e apli ações da norma de odi� ação devídeo H.264/AVC

Page 2: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Universidade de Aveiro Departamento deEle tróni a, Tele omuni ações e Informáti a2009

Luís Miguelde Oliveira Matos Estudo e apli ações da norma de odi� ação devídeo H.264/AVCDissertação apresentada à Universidade de Aveiro para umprimento dos re-quisitos ne essários à obtenção do grau de Mestre em Engenharia de Com-putadores e Telemáti a, realizada sob a orientação ientí� a do ProfessorDoutor António José Ribeiro Neves, Professor Auxiliar Convidado do Depar-tamento de Ele tróni a, Tele omuni ações e Informáti a da Universidade deAveiro, e do Professor Doutor Armando José Formoso de Pinho, ProfessorAsso iado do Departamento de Ele tróni a, Tele omuni ações e Informáti ada Universidade de Aveiro.

Page 3: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

o júripresidente Doutora Ana Maria Perfeito ToméProfessora Asso iada da Universidade de Aveirovogais Doutor Armando José Formoso de PinhoProfessor Asso iado da Universidade de AveiroDoutor Vítor Manuel de Jesus FilipeProfessor Auxiliar om Agregação da Universidade de Trás-os-Montes e Alto DouroDoutor António José Ribeiro NevesProfessor Auxiliar Convidado da Universidade de Aveiro

Page 4: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

agrade imentos Em primeiro lugar, quero agrade er aos meus orientadores, Prof. DoutorAntónio José Ribeiro Neves e Prof. Doutor Armando José Formoso dePinho, por todo o empenho e apoio disponibilizados ao longo da Dissertaçãode Mestrado. Sem a ajuda deles, seria impossível on luir um trabalhodesta omplexidade.Aos doutores Alexis Tourapis, Gary Sullivan e Yung-Lyul Lee pelos es lare- imentos forne idos, relativamente à utilização do software de referên ia doH.264/AVC (JM 14.2).Aos meus amigos e olegas que me ajudaram e apoiaram nos momentosmais difí eis. Aos residentes do Blo o 12, por me terem animado sempreque pre isava.Por último, quero dedi ar este trabalho às pessoas mais importantes daminha vida, a minha família. Os meus sin eros agrade imentos, aos meuspais e ao meu irmão por a reditarem em mim.

Page 5: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

palavras- have H.264, AVC, MPEG-1, MPEG-2, MPEG-4, H.261, H.263, JBIG, PNG,JPEG-LS, JPEG 2000resumo A odi� ação de vídeo tem sido uma das áreas mais exploradas nos últimosanos. Devido ao forte res imento te nológi o, prin ipalmente no númerode apli ações de vídeo digital, torna-se ne essário desenvolver novas té ni asde ompressão de vídeo/imagem mais robustas e modernas, que permitamsatisfazer as ne essidades da a tual e da futura so iedade. A normaH.264/AVC surgiu para satisfazer estas ne essidades.Na parte ini ial desta dissertação, são des ritos alguns on eitos sobresinais de vídeo, algumas té ni as de odi� ação e as normas de odi� açãode vídeo/imagem mais importantes. De seguida, é apresentado um estudoda norma H.264/AVC om algum detalhe, onde são identi� adas as ara -terísti as prin ipais da norma e suas diferenças relativamente às prin ipaisnorma de odi� ação de vídeo mais antigas (MPEG-1, MPEG-2, MPEG-4,H.261 e H.263). A parte práti a deste trabalho onsistiu na avaliaçãoe na omparação do desempenho do H.264/AVC om outras normas de odi� ação. Para poder usar as implementações de algumas normas de odi� ação, foi ne essário desenvolver algumas ferramentas de manipu-lação de vídeo, que se en ontram des ritas nesta parte práti a da dissertação.Os resultados obtidos nas simulações mostram que o H.264/AVC é a norma om o melhor desempenho, independentemente do débito binário utilizadona odi� ação om perdas (lossy). Relativamente à odi� ação sem perdas(lossless), a norma H.264/AVC não propor iona os melhores resultados de ompressão.

Page 6: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

keywords H.264, AVC, MPEG-1, MPEG-2, MPEG-4, H.261, H.263, JBIG, PNG,JPEG-LS, JPEG 2000abstra t Video oding has been one of most explored areas in the last years. Due thehigh te hnology growth, mainly in the number of digital video appli ations,it is ne essary to develop new, more robust and modern video/image ompression te hniques, that will satisfy the needs of the present and futureso iety. The H.264/AVC standard emerged to ful�ll these needs.In the �rst part of this dissertation, we des ribe some video signal on epts,some oding te hniques and the most important video/image odingstandards. Then, it is presented a detailed study of the H.264/AVCstandard, where are identi�ed the main features of the standard andits main di�eren es, omparatively to the oldest video oding standards(MPEG-1, MPEG-2, MPEG-4, H.261 e H.263). The experimental partof this work onsists in the evaluation and omparison of the H.264/AVCperforman e with other oding standards. To use some oding standardsimplementations, it was ne essary to develop some manipulation videotools, that are des ribed in the last part of this work.The results obtained in the simulations show that the H.264/AVC is thestandard with the highest performan e, regardless of the bitrate used inlossy oding. For the lossless oding, the H.264/AVC does not provide thebest ompression results.

Page 7: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Conteúdo1 Introdução 11.1 Obje tivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Con eitos de vídeo 32.1 Amostragem temporal/espa ial . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Constituintes de uma sequên ia de vídeo . . . . . . . . . . . . . . . . . . . . . . 42.3 Espaço de ores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.1 RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3.2 YUV/YCbCr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Formatos de vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5 Qualidade e omplexidade do vídeo . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.1 Qualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.2 Complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Con eitos bási os de odi� ação de vídeo 133.1 Métodos predi tivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.1 Predição espa ial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.2 Predição temporal ( ompensação de movimento) . . . . . . . . . . . . . 153.2 Métodos de transformação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2.1 Transformada de Co-seno Dis reta (DCT) . . . . . . . . . . . . . . . . . 163.2.2 Quantização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.3 Varrimento zig-zag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2.4 Codi� ação de entropia . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Prin ipais normas de odi� ação de vídeo e imagem 274.1 Codi� ação de vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.1.1 H.261 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28i

Page 8: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CONTEÚDO4.1.2 H.263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.1.3 MPEG-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.1.4 MPEG-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.1.5 MPEG-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2 Codi� ação de imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2.1 A norma JBIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2.2 A norma PNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2.3 A norma JPEG-LS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.4 A norma JPEG 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Estudo da norma H.264/AVC 395.1 Estrutura do H.264/AVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.1.1 Video Coding Layer (VCL) . . . . . . . . . . . . . . . . . . . . . . . . . 405.1.2 Sli es e sli e groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.1.3 Predição espa ial (intra-frame) . . . . . . . . . . . . . . . . . . . . . . . 425.1.4 Predição temporal (inter-frame) . . . . . . . . . . . . . . . . . . . . . . 465.1.5 Filtro anti-blo os adaptativo . . . . . . . . . . . . . . . . . . . . . . . . 505.1.6 Codi� adores de entropia (CAVLC e CABAC) . . . . . . . . . . . . . . 515.2 Per�s H.264/AVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.3 Níveis H.264/AVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.4 Prin ipais diferenças relativamente às normas anteriores . . . . . . . . . . . . . 586 Resultados experimentais 616.1 Sequên ias de vídeo utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2 Codi� adores utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2.1 Implementações das normas de odi� ação de vídeo ( odi� ação lossy) . 646.2.2 Implementações das normas de odi� ação de imagem ( odi� ação los-sless) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.3 Ferramentas de vídeo desenvolvidas . . . . . . . . . . . . . . . . . . . . . . . . . 656.4 Resultados de ompressão de vídeo om perdas (lossy) . . . . . . . . . . . . . . 666.4.1 CAVLC vs CABAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4.2 Resultados mais gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.5 Resultados de ompressão de vídeo sem perdas (lossless) . . . . . . . . . . . . . 727 Con lusões e trabalho futuro 77ii

Page 9: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosA Video tools 79A.1 Data Stru tures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79A.2 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79A.3 VideoCompare. File Referen e . . . . . . . . . . . . . . . . . . . . . . . . . . . 80A.3.1 Detailed Des ription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80A.3.2 Fun tion Do umentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 80A.4 VideoConverter. File Referen e . . . . . . . . . . . . . . . . . . . . . . . . . . . 81A.4.1 Detailed Des ription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82A.4.2 Enumeration Type Do umentation . . . . . . . . . . . . . . . . . . . . . 82A.4.3 Fun tion Do umentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 83A.5 VideoEntropyCal ulator. File Referen e . . . . . . . . . . . . . . . . . . . . . . 83A.5.1 Detailed Des ription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84A.5.2 De�ne Do umentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84A.5.3 Fun tion Do umentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 84A.6 VideoFrameExtra tor. File Referen e . . . . . . . . . . . . . . . . . . . . . . . 86A.6.1 Detailed Des ription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86A.6.2 Fun tion Do umentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 86A.7 VideoShow. File Referen e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88A.7.1 Detailed Des ription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88A.7.2 Fun tion Do umentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Bibliogra�a 91

iii

Page 10: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CONTEÚDO

iv

Page 11: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Lista de A rónimosAAC Advan ed Audio CodingAFX Animation Framework eXtensionASO Arbitrary Sli e OrderingASP Advan ed Simple Pro�leATM Asyn hronous Transfer ModeAVC Adva ed Video CodingAVOs Audio/Visual Obje tsBAC Binary Arithmeti CodingBIFS BInary Format for S enesBP Baseline Pro�leCABAC Contex-Adaptive Binary Arithmeti CodingCALIC Context-Based, Adaptive, Lossless Image CoderCAVLC Contex-Adaptive Variable-Lenght CodingCA Contex-AdaptiveCELP Code Ex ited Linear Predi tionCIF Common Intermediate FormatCMYK Cyan, Magenta, Yellow, and Key (bla k)CMY Cyan, Magenta and YellowCREW Compression with Reversible Embedded WaveletsDCT Dis rete Cosine TransformDETI Departamento de Ele tróni a, Tele omuni ações e Informáti aDMIF Delivery Multimedia Integration FrameworkDPCM Di�erential Pulse Code ModulationDP Data PartitioningDSM-CC Digital Storage Media Command and Controlv

Page 12: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Lista de A rónimosDVD Digital Video Dis ou Digital Versatile Dis EBCOT Embedded Blo k Coding with Optimized Trun ationFELICS Fast E� ient & Lossless Image Compression SystemFMO Flexible Ma roblo k OrderingFRExt Fidelity Range ExtensionsFTP File Transport Proto olGFX Graphi al Framework eXtensionHD High De�nitionHHR Horizontal Half ResolutionHP High Pro�leHSL Hue, Saturation, Lightness/Luminan eHSV Hue, Saturation, ValueHi10P High 10 Pro�leHi422P High 4:2:2 Pro�leHi444P High 4:4:4 Pro�leIEC International Ele trote hni al CommissionIPMP Intelle tual Property Management and Prote tionIP Internet Proto olISDN Integrated Servi es Digital NetworkISO International Organization for StandardizationITU-T International Tele ommuni ation Union - Tele ommuni ationJBIG Joint Bi-Level Image Experts GroupJPEG-LS Joint Photographi Experts Group - LSJVT Join Video TeamLASeR Lightweight Appli ation S ene RepresentationLOCO-I LOssless COmpression for ImagesMBAFF Ma roBlo k-Adaptive Frame/FieldMPEG Moving Pi ture Experts GroupMP Main Pro�leMSE Mean Squared ErrorMSSG MPEG Software Simulation GroupNALU Network Abstra tion Layer Unitvi

Page 13: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosNAL Network Abstra tion LayerOFFS Open Font Format Spe i� ationPGM Portable Gray MapPNG Portable Network Graphi sPPM Portable Pixel MapPSNR Peak Signal-to-Noise RatioPSTN Publi Swit hed Telephone NetworkPVRG Portable Video Resear h GroupPi AFF Pi ture-Adaptive Frame-Field En odingQCIF Quarter Common Intermediate FormatRGB Red, Green, BlueRMSE Root Mean Squared ErrorRS Redundant Sli esRTI Real Time Interfa eSD Standard De�nitionSI Swit hing ISMR Symboli Musi RepresentationSPMG Signal Pro essing & Multimedia GroupSP Swit hing PUVLC Universal Variable Length CodingVCD Video CDVCEG Video Coding Experts GroupVCL Video Coding LayerVHS Video Home SystemVLC Variable Length CodingWWW World Wide WebXP eXtended Pro�le

vii

Page 14: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Lista de A rónimos

viii

Page 15: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 1Introdução

Nos últimos anos, houve um res imento bastante a entuado no número de apli açõesde vídeo digital nas mais diversas áreas: omuni ações de vídeo, segurança e/ou vigilân ia,indústria e prin ipalmente entretenimento. Na área de entretenimento desta am-se a televisãodigital, vídeo onferên ia, stream de vídeo na Internet, DVD-Vídeo e mais re entemente o Blu-ray. Este forte res imento requer um aumento tanto no poder omputa ional omo na largurade banda das redes sem �os existentes. As velhas redes PSTN (Publi Swit hed TelephoneNetwork) já não têm largura de banda su� iente para as apli ações de vídeo mais re entes eestão a entrar em desuso. O investimento em largura de banda nas redes sem �os é muito aroe não é su� iente para suportar todas as apli ações de vídeo digital a tuais. A úni a solução édesenvolver té ni as de ompressão de vídeo mais robustas que usem menos largura de bandado que as té ni as anteriores, suportando as apli ações de vídeo mais re entes. Assim sendo,os grupos de investigação na área de odi� ação de vídeo e algumas indústrias trabalharamno sentido de ompensar este forte res imento riando novas té ni as de odi� ação. Destaunião surgiram algumas normas om grande su esso, tais omo o MPEG-1, MPEG-2, H.261e o H.263 (H.263+ e H.263++). O MPEG-2 foi o odi� ador de vídeo usado na televisãodigital e no Vídeo-DVD ao longo dos últimos anos. Apesar de ter sido um grande su esso,este odi� ador já se en ontra um pou o ultrapassado. Neste momento, om os avançoste nológi os no poder de pro essamento, é possível onstruir e usar té ni as de odi� açãode vídeo mais robustas e e� ientes que satisfaçam as ne essidades das apli ações de vídeoexistentes. O obje tivo prin ipal é substituir as velhas normas de odi� ação de vídeo poroutras mais modernas e poderosas, sem que seja ne essário adi ionar anais de omuni açãonas redes existentes. 1

Page 16: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 1. INTRODUÇ�O1.1 Obje tivosNesta dissertação pretende-se apresentar o estado de arte de algumas normas de ompres-são de vídeo/imagem mais importantes. Este trabalho in ide sobre um estudo aprofundado damais re ente norma de odi� ação de vídeo, o H.264 Advan ed Video Coding (H.264/AVC).Para além de um estudo detalhado da norma, iremos efe tuar alguns testes que medirão odesempenho da norma relativamente às prin ipais normas de odi� ação mais antigas. Parapoder usar as implementações de algumas normas, tivemos de desenvolver um onjunto deferramentas de manipulação de vídeo.1.2 EstruturaEste do umento en ontra-se estruturalmente divido em sete apítulos e um anexo:• O Capítulo 2 apresenta-nos alguns on eitos base de vídeo, que são ne essários para a ompreensão do Capítulo 3, sobre odi� ação de vídeo.• O Capítulo 3 pretende rever alguns on eitos bási os sobre odi� ação de vídeo.• No Capítulo 4, são des ritas algumas normas de odi� ação de vídeo mais importantestais omo o H.261, H.262, MPEG-1, MPEG-2 e MPEG-4.• O Capítulo 5 des reve om algum detalhe a estrutura da norma H.264/AVC.• O Capítulo 6 ontém alguns resultados práti os relativos à ompressão de algumassequên ias de vídeo. O software utilizado para obter os resultados de ompressãoen ontra-se des rito neste apítulo, juntamente om a des rição das sequên ias de ví-deo utilizadas. Este apítulo também ontém uma des rição resumida do software demanipulação de vídeo desenvolvido.• Capítulo 7 é o apítulo �nal que ontém as on lusões do estudo e indi ação de umpossível trabalho futuro.• O Anexo A ontém a do umentação das ferramentas de manipulação de vídeo desenvol-vidas, que serviram de apoio para a obtenção dos resultados práti os.

2

Page 17: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 2Con eitos de vídeoNeste apítulo, apresentam-se os on eitos bási os ne essários para a ompreensão da odi� ação de vídeo (ver Capítulo 3 para mais detalhes). Ini ialmente, iremos des rever o on eito de amostragem de um sinal de vídeo. De seguida, são apresentados os espaços de ores prin ipais para representar uma sequên ia de vídeo. Por �m, é expli ado omo podemosavaliar a qualidade de um vídeo re onstruído, tanto obje tivamente omo subje tivamente.2.1 Amostragem temporal/espa ialUm sinal de vídeo digital é representado por uma sequên ia de imagens (frames), quesão obtidas através de um pro esso de amostragem espa ial e temporal. A frame resulta daamostragem ou resolução espa ial, enquanto que a amostragem temporal, traduz-se no númerode frames que são apturadas por uma determinada unidade de tempo. Estas frames, ao seremreproduzidas em sequên ia, riam uma ilusão de movimento (ver Figura 2.1) [81℄.Analisando a frame n+3 da Figura 2.1, ada ponto a inzento representa uma amostraespa ial, que designamos omo píxel (da língua inglesa pi ture element). A um onjunto depíxeis, inseridos no mesmo plano espa ial, hamamos amostra temporal ou frame. Cada píxelrepresenta o brilho e a or da sua posição espa ial, usando valores numéri os. O númerode valores ne essários para representar o brilho e a or depende do espaço de or utilizado.No aso do RGB (ver Se ção 2.3.1) que tem três omponentes, são ne essários três valoresnuméri os para representar o brilho e a or da amostra espa ial. Se em vez de RGB estivermosa usar um vídeo em es ala de inzentos, é possível representar ada píxel utilizando apenasum valor numéri o, que representa apenas o brilho [64, Cap.1℄.A qualidade da imagem de um determinado vídeo está dire tamente rela ionada om onúmero de amostras espa iais (píxeis) que tem. Quanto mais amostras espa iais a imagemtiver, melhor será a qualidade da mesma. Relativamente às amostras temporais, quanto maior3

Page 18: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 2. CONCEITOS DE VÍDEOo número de amostras por unidade de tempo, melhor será a �uidez de movimentos do vídeo.Se numa determinada sequên ia de vídeo utilizarmos pou as amostras espa iais, é notório umaspe to rugoso (efeito tipo mosai o) na qualidade da imagem do mesmo. Se, por outro lado,utilizarmos pou as amostras temporais por unidade de tempo (10 a 15 frames por segundo,típi o em omuni ações de baixo débito), veri� a-se a presença de �saltos� entre os movimentos.A taxa mais típi a utilizada nas sequên ias de vídeo a tuais vai de 25 a 30 frames por segundo.A esta taxa, os movimentos do vídeo �uem om maior qualidade. A tualmente, om a televisãode alta de�nição, utiliza-se uma amostragem temporal entre 50 a 60 frames por segundo, queproviden iam uma sensação de um movimento suave e �uído (sem �saltos�) [14, 81℄.Amostragem espacial

Amostragem temporal

fram

e n

fram

e n+

1

fram

e n+

2

fram

e n+

3

Figura 2.1: Amostragem temporal e espa ial de uma sequên ia de vídeo (adaptada de [72℄).2.2 Constituintes de uma sequên ia de vídeoNa Figura 2.2 é-nos apresentado omo é que uma sequên ia de vídeo é dividida para serposteriormente odi� ada. Um sequên ia de vídeo onsiste numa sequên ia de frames. Cadauma dessas frames pode ser dividia em um ou mais sli es (ver Se ção 5.1.2 para mais detalhes).Cada um dos sli es, ontém vários ma roblo os. Cada um dos ma roblo os obre uma áreare tangular de 16×16 píxeis. Por �m, ada um desses ma roblo os ainda podes ser divididoem 4 blo os de 8×8 píxeis.Existem três tipos de frames que podem ser usadas no ontexto da odi� ação de vídeo [64,Cap.14℄:• Frames tipo I - Este tipo de frame é odi� ada de forma independente sem re urso aoutras frames, usando apenas predição espa ial (ver Se ção 3.1.1).• Frames tipo P - A predição temporal (ver Se ção 3.1.2) utiliza dois tipos de frames,tipo P e B. As frames do tipo P são odi� adas usando a redundân ia temporal das4

Page 19: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos������������

������������

������������

������������

����������������

����������������

������������

������������

������������

������������

����������������

����������������

������������������������������������������������������������������������

������������������������������������������������������������������������

���������

���������

���������

���������

���������

���������

���������

���������

���������

���������

������

������������

������

����������������������������������������

����������������������������������������

���������

������������������

���������

��������������������

Sequência de vídeo

8 píxeis

8 píxeisslice

frame macroblocobloco

Conjunto deframes

Figura 2.2: Componentes de uma sequên ia de vídeo.frames do tipo I e P anteriores. Este tipo de frames ne essita de menos bits para ser odi� ada, omparando om a frame do tipo I.• Frames tipo B - A predição bidire ional utiliza este tipo de frames. Para odi� aruma frame do tipo B, podemos usar qualquer frame (I, P ou B) do passado ou do futuro.O pro esso de odi� ação deste tipo de frames é relativamente mais omplexo que ostipos anteriores.2.3 Espaço de oresO espaço de ores é um método para representar uma determinada intensidade luminosa(luminân ia) e uma determinada or ( rominân ia). Existem diversos espaços de ores, algunsdeles são mais e� ientes no ponto de vista da per epção (aproximam-se do sistema visualhumano), outros mais e� ientes no ponto de vista te nológi o (são mais fá eis de representare de transmitir) [62, 92℄.Alguns exemplos de espaço de ores:• RGB• YUV/YCbCr• CMY/CMYK• CIE XYZ• HSV• HSL 5

Page 20: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 2. CONCEITOS DE VÍDEO2.3.1 RGBNo espaço de ores RGB (Red Green Blue), os píxeis de uma determinada imagem ousequên ia de vídeo são representados através de três números que indi am a proporção de ada omponente de vermelho, verde e azul. Qualquer or pode ser riada através da ombinaçãodo vermelho, verde e azul [58, 91℄.Na Figura 2.3 podemos visualizar a divisão das três omponentes de uma determinadaimagem. O papagaio da direita é em grande parte vermelho e por isso, se analisarmos adivisão em omponentes RGB em baixo, veri� amos que a omponente vermelha (R) nessazona é mais lara do que nas outras omponentes.

Figura 2.3: Visualização das omponentes do espaço de ores RGB. Em ima a imagemoriginal. Em baixo, à esquerda a omponente vermelha (R), no entro a omponente verde(G) e à direita a omponente azul (B) [60℄.2.3.2 YUV/YCbCrO YUV é um espaço de ores alternativo ao RGB que se aproxima mais do sistema visualhumano. O sistema visual humano é espa ialmente menos sensível à or ( rominân ia) do que àintensidade luminosa (luminân ia). O espaço de ores YUV é bastante usado na ompressão devídeo pois separa as omponentes da rominân ia e da luminân ia para representar a or de umdeterminado píxel. Esta separação permite a utilização de té ni as de ompressão diferentesna omponente da luminân ia e nas omponentes de rominân ia, de forma a explorar aslimitações do sistema visual humano. A omponente G do RGB é a omponente onde osistema visual humano é mais sensível e é representado prin ipalmente pela omponente Y do6

Page 21: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosYUV. As omponente B e R são representadas então pelas omponente UV/CbCr do espaçode ores YUV [35, Cap.3℄ [48℄.Na Figura 2.4 podemos observar a representação das três omponentes do YUV da mesmaimagem usada na Figura 2.3.

Figura 2.4: Visualização das omponentes do espaço de ores YUV. Em ima a imagemoriginal. Em baixo, à esquerda a omponente Y, no entro a omponente U/Cb e à direita a omponente V/Cr [60℄.Por vezes, é ne essário onverter uma imagem no formato RGB para YUV devido àslimitações de memória e de largura de banda existentes numa determinada apli ação de vídeo.As equações para onverter uma imagem em RGB para YUV e vi e-versa estão apresentadasem (2.1) e (2.2), onde kr e kb são fa tores de peso [72℄.Y = krR + (1 − kb − kr)G + kbB

Cb =0.5

1 − kb

(B − Y )

Cr =0.5

1 − kr

(R − Y )

(2.1)7

Page 22: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 2. CONCEITOS DE VÍDEOR = Y +

1 − kr

0.5Cr

G = Y − 2kb(1 − kb)

1 − kb − kr

Cb −2kr(1 − kr)

1 − kb − kr

Cr

B = Y +1 − kb

0.5Cb

(2.2)A re omendação ITU-R BT.601 [70℄ de�ne os valores dos fa tores, kb = 0.114 e kr = 0.299.Substituindo em (2.1) e (2.2) temos

Y = 0.299R + 0.587G + 0.114B

Cb = 0.564(B − Y )

Cr = 0.713(R − Y )

(2.3)R = Y + 1.402Cr

G = Y − 0.344Cb − 0.714Cr

B = Y + 1.772Cb.

(2.4)Sub-amostragem da rominân iaA sub-amostragem da rominân ia onsiste na utilização de menos largura de banda (me-nos bits) na rominân ia do que na luminân ia. Como o sistema visual humano é mais sensívelà luminân ia, a utilização de menos dados (bits) na omponente da rominân ia não irá afe -tar a qualidade �nal do vídeo. Existem vários tipos de sub-amostragem da rominân ia. Osprin ipais tipos apresentam-se na Figura 2.5.Na primeira sub-mostragem não existe distinção nenhuma entre as 3 omponentes (lumi-nân ia e rominân ia) ou seja, ada omponente Y, U e V irá utilizar o mesmo número de bitspara representar o píxel em questão. No YUV 4:2:2 a rominân ia usa metade da largura debanda da luminân ia (a resolução horizontal é reduzida para metade). Esta sub-amostragemreduz o tamanho do vídeo para um terço sem que se note muita diferença relativamente aoYUV 4:4:4. Finalmente o YUV 4:2:0 apenas ne essita de metade da largura de banda daresolução horizontal e verti al da luminân ia para representar a rominân ia. A utilizaçãodos últimos dois tipos de sub-amostragem ausa perda de informação que não se pode voltara re uperar. A perda em ausa é tão pou o relevante que para o sistema visual é fa ilmentedesprezável [40, 63℄. 8

Page 23: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosYUV 4:2:2 YUV 4:2:0YUV 4:4:4

CrominânciaLuminânciaFigura 2.5: Os três prin ipais tipos de sub-amostragem do YUV.2.4 Formatos de vídeoExiste uma grande variedade de formatos de odi� ação de vídeo, que de�nem a resoluçãodas imagens do mesmo. Dentro do ontexto deste trabalho apenas serão abordados os formatosperten entes ao grupo Common Intermediate Format (CIF). Os formatos CIF são importantesuma vez que representam a base de uma série de formatos [14℄. Na Tabela 2.1, são apresentadosalguns dos formatos mais onhe idos, onde é in luída informação relativa à resolução do vídeoe o número de bits ne essários para o poder armazenar.Formato Resolução da luminân ia Bits por frame(usando o formato YUV(horizontal x verti al) 4:2:0, a 8 bits por píxel)Sub-QCIF 128x96 147456Quarter CIF (QCIF) 176x144 304128CIF 352x288 12165124CIF 704x576 4866048Tabela 2.1: Formatos das frames de vídeo [72℄.Na Figura 2.6, é apresentada uma frame de uma determinada sequên ia de vídeo, amos-trada em diversas resoluções, desde Sub-QCIF até 4CIF. A es olha de um tipo de resoluçãodepende da apli ação, da apa idade de armazenamento disponível e da apa idade de trans-missão. Por exemplo o 4CIF é apropriado para a transmissão de televisão e para o Vídeo-DVD.O formato CIF e QCIF são populares para apli ações de vídeo- onferên ia. Por �m, o QCIF9

Page 24: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 2. CONCEITOS DE VÍDEOe SQCIF são adequados para apli ações de multimédia móvel onde a resolução do display e obitrate são reduzidos.

Figura 2.6: Frame de uma sequên ia de vídeo, amostrada em diversas resoluções (adaptadade [72℄).2.5 Qualidade e omplexidade do vídeo2.5.1 QualidadePara se poder ara terizar um sistema de vídeo, é ne essário medir e quanti� ar a qualidadede uma imagem de vídeo, de forma a se poder omparar om outros sistemas de vídeo. Aavaliação da qualidade de um sinal de vídeo não é fá il de apli ar, pois depende de muitosfa tores que podem in�uen iar os resultados. Normalmente, a avaliação da qualidade de umsinal é lassi� ada segundo um ará ter subje tivo e não obje tivo. Para um dado observador,a qualidade de imagem de uma determinada sequên ia de vídeo pode ser muito boa. Noentanto, um outro observador poderá pensar que a qualidade é meramente razoável [72℄.De forma a resolver os problemas da avaliação subje tiva da qualidade de imagem deuma determinada sequên ia de vídeo, o ITU-T emitiu a re omendação ITU-R BT.500-11 [71℄,onde indi a um método para fazer uma análise subje tiva. Esse método tem omo nomeDouble Stimulus Continuous Quality S ale (DSCQS) e sugere que o observador seja sujeitoa várias sequên ias de imagens do vídeo A e B. As imagens de ambos os vídeos são exibidasde forma aleatória sem que o observador saiba de qual das fontes provém a imagem. Além10

Page 25: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosdisso, é pedido ao observador que lassi�que a imagem dentro de uma es ala sequen ial. No�nal do teste, os valores obtidos por parte do observador são normalizados e é atribuidauma pontuação a ada sequên ia de vídeo. Este método, apesar de apresentar resultadossatisfatórios, apresenta alguns problemas práti os. Se o observador es olhido para fazer aavaliação das sequên ias de vídeo for uma pessoa om alguma experiên ia nesta área, este irárealizar uma avaliação ompletamente diferente, prejudi ando assim a pontuação do vídeo.Por outro lado, para efe tuar uma avaliação �ável da qualidade do vídeo, é ne essária umavasta gama de observadores, que requer um usto a res ido e muito tempo despendido.Outra forma de avaliar a qualidade das imagens de uma determinada sequên ia de vídeoé utilizar testes obje tivos. A qualidade de imagem neste tipo de testes é obtida dire tamenteatravés de algoritmos de análise. Um dos métodos obje tivos é a relação sinal/ruído de pi o,ou, em inglês, Peak Signal to Noise RatioPSNR = 10 log10

(2n − 1)2

MSE(dB) (2.5)

RMSE =√

MSE (2.6)onde,MSE =

1

mn

m−1∑

i=0

n−1∑

j=0

||f(i, j) − F (i, j)||2 . (2.7)PSNR é medido numa es ala logarítmi a e depende do erro quadráti o médio (MSE) daimagem original, F (i, j), e da manipulada, f(i, j), relativamente ao valor máximo possíveldo sinal ao quadrado, (2n − 1)2, onde n representa o número de bits a usar para representar ada píxel. Como se pode veri� ar, o PSNR é fá il e rápido de al ular, pelo que, o PSNRtornou-se um método muito popular usado para a omparação de imagens. A Equação (2.6) orresponde à formula para al ular o Root Mean Squared Error.No entanto, este método tem limitações. Para poder al ular o PSNR, é ne essário semprea imagem original para onseguir omparar om a imagem manipulada. Nem sempre os valoresdo PSNR obtidos orrespondem aos resultados que as análises de qualidade subje tiva geram.Existem alguns asos onde a qualidade da imagem atribuida pelo PSNR é boa mas o efeitovisual não é o ideal (análise subje tiva). Os asos mais típi os são os exemplos de imagensonde o rosto de uma pessoa, na imagem, apresenta alguma distorção devido ao pro esso de odi� ação. Apesar do PSNR nestes asos ser relativamente bom, o observador humano dámais importân ia à qualidade do rosto humano na imagem do que ao resto da imagem [14, 81℄.Devido às limitações do PSNR, tem havido muito trabalho nos últimos anos para desen-volver métodos mais so�sti ados e obje tivos, que se aproximem dos resultados dos testes11

Page 26: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 2. CONCEITOS DE VÍDEOsubje tivos. Já surgiram várias propostas, mas nenhuma delas é uma boa alternativa aoPSNR, pelo que não serão enun iados neste trabalho.2.5.2 ComplexidadeAvaliar a omplexidade de uma determinada sequên ia de vídeo não é uma tarefa fá il.No ontexto da odi� ação de vídeo, a omplexidade de uma sequên ia de vídeo depende dediversos fa tores. A forma mais e� iente e simples de estimar a omplexidade de um vídeoé utilizando o on eito de entropia de primeira ordem. Dado um determinado alfabeto A den símbolos, em que ada um deles o orre om uma probabilidade Pi, a entropia de primeiraordem é dada por

H = −n∑

i=1

Pilog2(Pi). (2.8)Em prin ípio, quanto mais omplexa for a fonte de informação (sequên ia de vídeo), maiorserá o valor da entropia e piores serão as taxas de ompressão [25, Cap.2℄[60℄.

12

Page 27: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 3Con eitos bási os de odi� ação devídeoGrande parte das normas de odi� ação de vídeo riadas até hoje são baseadas no mesmomodelo híbrido de odi� ação (Ver Figura 3.1). Este modelo ontém na primeira etapa umestimador para a ompensação de movimento, uma etapa de transformação, uma etapa dequantização, varrimento zig-zag e �nalmente o odi� ador de entropia. Estas etapas têm omo obje tivo eliminar ao máximo a redundân ia existente nas sequên ias de vídeo [72,Cap.3℄ [88℄.Os três tipos de redundân ia existentes são:• Redundân ia espa ial.• Redundân ia temporal.• Redundân ia estatísti a.Os dois primeiros tipos de redundân ia representam a informação dupli ada existentetanto espa ialmente omo temporalmente, na estrutura de dados que representa a sequên iade vídeo. A última redundân ia está rela ionada om a estatísti a dos dados. O obje tivodas etapas de odi� ação referidas na Figura 3.1 é explorar as três redundân ias de formaa propor ionar boas taxas de ompressão. Seguidamente, iremos des rever ada uma dessasetapas om mais detalhe.3.1 Métodos predi tivosOs métodos predi tivos exploram a redundân ia existente entre frames onse utivas oupíxeis adja entes da mesma frame. Apenas a diferença entre a previsão e o valor real do píxel13

Page 28: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEO

DCT

Quantização

Predição espacial

Estimativa e compensação de movimento

Aquisição em RGB

de vídeo codificadaStream

Varrimento zig−zag

Codificador de entropia

Converter para YUV

Figura 3.1: Modelo de odi� ação de vídeo om as várias etapas.14

Page 29: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosé odi� ada, armazenada e transmitida.3.1.1 Predição espa ialA predição espa ial (intra-frame), também onhe ida omo DPCM (Di�erential PulseCode Modulation), é um método que usa os píxeis vizinhos que já foram odi� ados para odi� ar o píxel a tual. Na Figura 3.2 temos um píxel X que é ne essário odi� ar usando ospíxeis vizinhos (A, B e C) já odi� ados. Um píxel já odi� ado pode ser diferente do original,ou seja, o valor do píxel lido pelo odi� ador antes de ser odi� ado pode ser diferente do valorque irá ser lido no des odi� ador depois de des odi� ado. O odi� ador, para odi� ar o valordo píxel X, ria uma predição usando uma ombinação dos píxeis vizinhos já odi� ados,subtrai essa predição do valor do píxel X e odi� a apenas o valor residual (diferença entrea predição e o valor original de X). No des odi� ador, é possível obter a mesma predição e ovalor residual do píxel X. Se adi ionarmos ao valor da predição o resíduo, será possível depoisobter o valor do píxel X [66, Cap.9℄.OrderScanRaster

A

B C

XFigura 3.2: Predição espa ial. O valor do píxel X será estimado om base nos valores de A, Be C (adaptada de [72℄).3.1.2 Predição temporal ( ompensação de movimento)A predição temporal aproveita a redundân ia temporal existente entre frames para obtermelhores taxas de ompressão. Primeiro a frame a odi� ar é dividida em blo os (o tamanhodo blo o varia nas diferentes normas de odi� ação). Para ada blo o da frame é feita umapesquisa de um blo o na frame de referên ia (pode ser passada ou futura) na mesma zonado blo o da frame a tual, que seja o mais pare ido possível ( om menor erro). As diferençasentre o blo o a tual e o referên ia são odi� adas juntamente om o ve tor de movimento queestá asso iado ao deslo amento temporal do blo o em ausa. Na Figura 3.3 podemos observar omo fun iona o pro esso da predição temporal [37, 52℄.15

Page 30: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEO

Vector movimento a codificar

Bloco mais parecido

Calcular a diferença entre os blocos e depois codificar

PSfrag repla ements

Frame referên iaFrame a odi� ar

Figura 3.3: Predição temporal (motion ompensation)3.2 Métodos de transformaçãoOs métodos de transformação são utilizados para transformar os dados que representamuma sequên ia de vídeo, de um domínio matemáti o para outro mais adequado ao método de ompressão. Nesta se ção iremos des rever alguns desses métodos.3.2.1 Transformada de Co-seno Dis reta (DCT)A transformada de o-seno permite representar de uma forma diferente um dado sinal(bidimensional pois estamos a falar de uma imagem) alterando o seu domínio, neste aso deespaço para frequên ia. Basi amente, olhamos para um sinal numa perspe tiva diferente. ADCT altera o domínio do espaço para frequên ia de forma a visualizar de forma on entradatoda a energia do sinal em pou os oe� ientes. Em geral, este pro esso reduz a redundân iaespa ial. A DCT é a transformada mais usada na odi� ação de vídeo apesar de não seróptima. Para poder apli ar a DCT, ada frame da sequên ia de vídeo tem de ser divida emblo os (normalmente de 8×8 amostras). A transformada é apli ada aos valores de intensi-dade de ada píxel do blo o. Deste pro esso resulta um onjunto de NxN oe� ientes querepresentam a frame no domínio da frequên ia. Tipi amente, antes de apli ar a transformadaDCT os valores de intensidade de ada píxel são deslo ados do onjunto dos números inteirosnão negativos entre [0, 2p-1℄, para o onjunto dos números inteiros entre [-2p−1, 2p−1-1℄. Na16

Page 31: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosFigura 3.4 podemos ver um esquema da transformada DCT. Este pro esso, para além de gerarmuitos oe� ientes próximos de zero, tende também a on entrar a energia dos oe� iente pró-ximo do oe� iente de oordenadas (0,0). Este oe� iente denomina-se por DC e representaa luminosidade média do blo o. Os restantes oe� ientes, que são normalmente próximos dezero, � am on entrados no anto inferior direito e depois do pro esso de quantização irão sertransformados em zeros [41, 49℄.Podemos analisar um exemplo on reto da DCT nas Tabelas 3.1 e 3.2. Na Tabela 3.1 temosa representação das amplitudes de um determinado blo o 8×8 e na Tabela 3.2 os oe� ientesresultantes da transformada DCT.DCT

IDCT

j8 pixels

8 pi

xels

l

Fre

quên

cia

Ver

tical

ki

Frequência Horizontal

DC

PSfrag repla ements Blo o de amplitudes 8×8 Blo o de oe� ientes 8×8Figura 3.4: Transformada DCT dire ta e inversa de um blo o de 8×8.88 84 83 84 85 86 83 8286 82 82 83 82 83 83 8182 82 84 87 87 87 81 8481 86 87 89 82 82 84 8781 84 83 87 85 89 80 8181 85 85 86 81 89 81 8582 81 86 83 86 89 81 8488 88 90 84 85 88 88 81Tabela 3.1: Valores de amplitudes de um dado blo o 8×8 píxeis.17

Page 32: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEO675 1 -6 2 -2 0 5 -5-4 1 2 1 5 1 -3 02 3 4 6 -2 2 1 5-3 -1 0 2 0 -2 2 -44 3 1 -1 -2 1 -3 11 -2 0 -3 2 -1 1 13 0 -1 0 -1 -1 0 -2-1 -1 -5 5 2 -2 2 0Tabela 3.2: Coe� ientes resultantes da apli ação da DCT sobre o blo o representado naTabela 3.1.3.2.2 QuantizaçãoA quantização é uma té ni a que permite o envio de menos informação (menos bits) paraser pro essada no des odi� ador. Este método reduz a qualidade do vídeo e é irreversível ( omperdas), pelo que é fundamental um orre to a erto dos parâmetros de quantização usadospara não reduzir em demasia a qualidade do vídeo. Existem diversos métodos de quantizaçãoque podem ser usados no ontexto de odi� ação de vídeo. A quantização es alar e ve torialsão dois métodos de quantização simples que estão detalhados em [72, Cap.3℄. Por outrolado, geralmente podemos de�nir uma matriz de quantização que tem em onsideração adistribuição dos oe� ientes de baixa frequên ia. Nos oe� ientes de alta frequên ia, podemosusar parâmetros de quantização mais elevados, pois a perda de informação nesses oe� ientes émenos relevante para o sistema visual humano. Tendo em onsideração as parti ularidades dosistema visual humano no que to a à sensibilidade na luminân ia, é possível usar matrizes dequantização diferentes para as omponentes de luminân ia e de rominân ia do YUV [49, 97℄.Na Tabela 3.3, é apresentado um exemplo de uma matriz de quantização. Para apli aresta matriz de quantização aos oe� ientes da Tabela 3.2, é ne essário efe tuar uma operaçãode divisão e arredondamento usandoCQi,j = round

(

Ci,j

Qi,j

)

, (3.1)onde C representa os oe� ientes resultantes da DCT, Q representa a matriz de quantização,CQ representa a matriz dos oe� ientes já quantizados, i e j representam a linha e a olunada matriz. O arredondamento é efe tuado para o inteiro mais próximo. Usando esta formulae os valores das Tabelas 3.2 e 3.3, podemos hegar à matriz apresentada na Tabela 3.4. Nodes odi� ador, a matriz de oe� ientes quantizados é multipli ada pela matriz de quantização,18

Page 33: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matospara obter os oe� ientes da DCT. Os oe� ientes obtidos são diferentes dos originais devidoao arredondamento efe tuado no odi� ador. O nível de distorção pode ser ontrolado pelosvalores usados na matriz de quantização.2 4 6 8 10 12 14 164 6 8 10 12 16 18 206 8 10 12 14 16 18 228 10 12 14 16 18 20 2410 12 14 16 18 20 22 2612 14 16 18 20 22 24 2814 16 18 20 22 24 26 3016 18 20 22 24 26 28 32Tabela 3.3: Exemplo de uma matriz de quantização.338 0 -1 0 0 0 0 0-1 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0Tabela 3.4: Coe� ientes resultantes da apli ação da quantização sobre o blo o representadona Tabela 3.2, usando a matriz de quantização apresentada na Tabela 3.3.3.2.3 Varrimento zig-zagExistem dois tipos de varrimento zig-zag: a progressiva e a entrelaçada (ver Figura 3.5).Ambos têm o mesmo obje tivo de reordenar para agrupar os oe� ientes om valores idênti os,tornando a representação dos restantes valores (zeros), mais e� iente. A ordenação dos oe�- ientes omeça pelo DC, situado no anto superior esquerdo do blo o. Seguindo qualquer umdos varrimentos apresentados na Figura 3.5, os oe� ientes não nulos tendem a � ar agrupadoslogo no ini io da matriz ordenada, depois do DC. No �nal da matriz, � am as sequên ias dezeros [95, 96℄. 19

Page 34: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEO

Figura 3.5: Varrimento zig-zag para sistemas om varrimento progressivo à esquerda e parasistemas om varrimento entrelaçado à direita.3.2.4 Codi� ação de entropiaA odi� ação de entropia é uma té ni a que permite onverter uma série de símbolos,perten entes a um qualquer alfabeto, numa sequên ia de bits que possa ser armazenada outransmitida mais e� ientemente. O obje tivo é explorar a redundân ia estatísti a men ionadano Capítulo 3, de forma a usar o menor número de bits possível. No ontexto da odi� açãode vídeo, existem duas té ni as mais usadas:• Codi� ação de omprimento variável• Codi� ação aritméti aCodi� ação de omprimento variávelEsta té ni a de odi� ação mapeia os símbolos de entrada num onjunto de ódigos de omprimento variável. Os símbolos mais frequentes são odi� ados om menos bits. Ossímbolos menos frequentes são odi� ados om mais bits. Desta forma, é possível reduzir o omprimento médio da mensagem. A odi� ação de Hu�man é um exemplo desta té ni a de odi� ação. Para poder usar a odi� ação de Hu�man [32℄, é ne essário al ular no iní io aprobabilidade de o orrên ia de ada símbolo, para poder fazer a atribuição orre ta do númerode bits que ada símbolo vai usar. A odi� ação de Hu�man possui uma desvantagem muitosigni� ativa, pois se numa transmissão existirem erros, poderá será impossível des odi� ar orre tamente o onjunto de símbolos enviados. Para além da odi� ação de Hu�man, existemoutras té ni as de odi� ação, tais omo os ódigos de Golomb, Levenstein, Goldba h e deFibona i (mais informação sobre odi� ação de omprimento variável em [78, Cap.2℄).20

Page 35: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosNa Figura 3.6 podemos visualizar um exemplo de odi� ação de Hu�man. À esquerdaen ontra-se um onjunto de símbolos (X1 a X4) om as respe tivas probabilidades ao lado.A árvore binária é onstruída da esquerda para a direita ombinando os dois símbolos demenor probabilidade. Esta ombinação resulta num símbolo uja probabilidade orrespondeà soma da probabilidade dos símbolos ombinados. Este pro esso repete-se até haver apenasum símbolo om probabilidade um. A árvore binária é agora lida da direita para a esquerdapara poder atribuir os bits a ada símbolo. Na Tabela 3.5 é apresentado o resultado �nal.X1: 0.4

X2: 0.35

X3: 0.2

X4: 0.05

0.25

0.6

1

0

1

0

0

1

1

111

110

10

0

Figura 3.6: Codi� ação de Hu�man.Símbolo CódigoX1 0X2 10X3 110X4 111Tabela 3.5: Códigos de Hu�man para os símbolos X1, X2, X3 e X4.Codi� ação aritméti aA odi� ação aritméti a é uma boa alternativa à odi� ação de Hu�man, des rita anteri-ormente. Este método de odi� ação omeçou a ser desenvolvido na dé ada de sessenta e asua versão �nal surgiu no �nal dos anos setenta, iní ios dos anos oitenta, através de Jorma J.Rissanen [74℄. Neste tipo de odi� ação, o onjunto de símbolos é representado por um nú-mero real no intervalo entre zero e um. À medida que o número de símbolos da mensagem vai res endo, o intervalo ini ial vai diminuindo e o número de bits ne essários para representaro valor real que representa o onjunto de símbolos vai aumentando. A odi� ação aritmé-21

Page 36: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEOti a é elegante e versátil, pois gera resultados de ompressão e� ientes na maioria dos asos,dependendo da distribuição da fonte de informação [11, 31, 77℄.Na Tabela 3.6 temos um onjunto de símbolos om uma probabilidade e intervalo asso iado.Para odi� ar a palavra DETI, usando um odi� ador aritméti o, temos que seguir os passosda Tabela 3.7 e da Figura 3.7. Ini ialmente o intervalo de odi� ação é [0, 1). O primeirosímbolo a odi� ar é a letra D. Como a letra D têm um intervalo de [0.1, 0.2), o novo intervaloé al ulado através deLIn+1 = LIn + i(LSn − LIn)

LSn+1 = LIn + s(LSn − LIn),(3.2)onde LIn e LSn são, respe tivamente, os limites inferior e superior do intervalo do passo n. O

i e o s representam os limites do próximo símbolo a odi� ar. Assim sendo, o novo intervalo,após odi� ar o símbolo D, éLI1 = LI0 + i(LS0 − LI0) = 0 + 0.1(1 − 0) = 0.1

LS1 = LI0 + s(LS0 − LI0) = 0 + 0.2(1 − 0) = 0.2(3.3)

[0.1, 0.2).Este pro esso é repetido para todos os símbolos da palavra a odi� ar, omo podemos verna Tabela 3.7 e na Figura 3.7, até obtermos o intervalo �nal [0.1476, 0.1479).Depois de al ulado o intervalo �nal, a mensagem a ser enviada é um número nesse in-tervalo. Consideremos agora que a mensagem re ebida no des odi� ar é o número 0.1478(representado pela variável X). Esse número en ontra-se, segundo a Tabela 3.6, no intervalodo símbolo D. O primeiro símbolo des odi� ado é então o D. Para al ular o novo X, omvista a obter os restantes símbolos al ula-seXn+1 = (Xn − LI)/(LS − LI)

= (0.1478 − 0.1)/(0.2 − 0.1)

= 0.478. (3.4)O novo valor de X é 0.478. O valor de X é re- al ulado até hegar ao �m da palavra.Note-se que não existe uma forma automáti a de dete tar o �m de uma mensagem. Pararesolver este problema é ne essário enviar informação adi ional, omo o número de símbolostotal ou um símbolo espe ial para �m de mensagem. A etapa de des odi� ação está des ritana Tabela 3.8. 22

Page 37: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosSímbolo Probabilidade IntervaloC 0.1 [0, 0.1)D 0.1 [0.1, 0.2)E 0.3 [0.2, 0.5)F 0.1 [0.5, 0.6)I 0.05 [0.6, 0.65)S 0.15 [0.65, 0.8)T 0.2 [0.8, 1)Tabela 3.6: Conjunto de símbolos om as suas probabilidades e respe tivo intervalo.n Símbolo I S i s0 - 0 1 0.1 0.21 D 0.1 0.2 0.2 0.52 E 0.12 0.15 0.8 13 T 0.144 0.15 0.6 0.654 I 0.1476 0.1479 - -Tabela 3.7: Pro esso de odi� ação da palavra DETI. As letras I e S representam os limitesinferior e superior do intervalo a tual, respe tivamente. As letras i e s representam os limitesinferior e superior do símbolo a ser odi� ado. A informação odi� ada a ser enviada é umnúmero no intervalo [0.1476, 0.1479).n I S X Símbolo0 0.1 0.2 0.1478 D1 0.2 0,5 0.478 E2 0.8 1 0.9267 T3 0.6 0.65 0.6333 ITabela 3.8: Pro esso de des odi� ação da palavra DETI. As letras I e S representam os limitesinferior e superior do intervalo da letra des odi� ada.Modelo de ontexto-�nito adaptativo Para onseguir boas taxas de ompressão é ne es-sário ter um bom modelo da fonte de informação. Ao longo dos tempos foram riadas váriasté ni as para modelar as fontes de informação [46, 75, 102, 103℄.O modelo de ontexto-�nito de uma fonte de informação (ver Figura 3.8), estima a pro-23

Page 38: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEO0.20.1

0.12 0.15

D

E

T

I

<−−−−−−−−−− [0, 1] −−−−−−−−−−>

0.144 0.15T

I[0.1476, 0.1479)

Figura 3.7: Esquema da odi� ação aritméti a da palavra DETI.babilidade de ada símbolo de um alfabeto A, tendo em onta um ontexto al ulado usandoum onjunto �nito de M o orrên ias do passado (modelo de ontexto-�nito de ordem M). Noinstante t, o ontexto é representado por ct = xt−M+1, . . . , xt−1, xt. O número de estados deum dado modelo é |A|M , que dita a omplexidade do mesmo. No aso de A = {0,1}, |A| = 2.Na práti a, a probabilidade do próximo símbolo, xt+1, ser zero é al ulada através deP (xt+1 = 0|ct) =

n(0, ct) + δ

n(0, ct) + n(1, ct) + 2δ, (3.5)onde n(s, ct) representa o número de o orrên ias do símbolo s ∈ A, no passado, tendo omo ontexto ondi ionante ct. O parâmetro δ > 0, para além de a�nar o estimador, evita ageração de probabilidades nulas quando o primeiro símbolo é odi� ado [56℄ [82, Cap.2℄.A utilização de um modelo de ontexto-�nito de uma determinada ordem O > 1 permite o ál ulo da probabilidade dos símbolos que apare em om mais frequên ia, de forma a atribuirmenos bits a estes. Normalmente, quanto maior for a ordem do modelo, mais pre isa será aestimativa da probabilidade dos símbolos e melhores serão as taxas de ompressão.

24

Page 39: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

t+1xt−4x

symbolInput

t+1P(x = s | c )t

Model

ct

EncoderOutput

bit−stream

0001... 01 1 1 ...Context

10 0

Figura 3.8: Modelo de ontexto �nito: a probabilidade do próximo símbolo, xt+1, é ondi io-nada pelas últimas M o orrên ias do passado. Neste exemplo, M= 5. O blo o na �gura omo nome En oder representa o odi� ador aritméti o [55℄.

25

Page 40: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 3. CONCEITOS BÁSICOS DE CODIFICAÇ�O DE VÍDEO

26

Page 41: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 4Prin ipais normas de odi� ação devídeo e imagem4.1 Codi� ação de vídeoExistem diversas normas de odi� ação de vídeo que foram usadas nos últimos anos. NaFigura 4.1 podemos visualizar um esquema ronológi o das normas de odi� ação de vídeodesenvolvidas pela ITU-T e pela MPEG. Neste se ção iremos des rever om algum detalhe asnormas mais importantes.

1988 1990 1992 1994 1998 2000 2002 2004 2006 2008 2010 20121984 1996

H.265

1986

(ITU−T + MPEG)

MPEG

ITU−T

JVT

H.263 H.263+ H.263++

MPEG−1 MPEG−4 (ASP)

H.262 ouMPEG−2

H.264FRExt

H.264 ou

H.261

MPEG−4 AVCFigura 4.1: Cronologia do desenvolvimento das diversas normas de ompressão de vídeo,apresentadas isoladamente pelos órgão ITU-T e MPEG e em onjunto JVT (adaptada de [24℄)..27

Page 42: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 4. PRINCIPAIS NORMAS DE CODIFICAÇ�O DE VÍDEO E IMAGEM4.1.1 H.261O H.261 foi a primeira norma de odi� ação de vídeo desenvolvida. Foi de�nida pela ITU-Tpara ser usada em vídeo- onferên ia e vídeo-telefone utilizando ir uitos ISDN (IntegratedServi es Digital Network). O débito binário era p×64kbit/s, onde p representa o número de anais B da rede ISDN (1 ≤ p ≤ 30) [33, 95℄. As ara terísti as prin ipais da norma são:• Tipos de resolução ompatíveis: 176x144 (QCIF) e 352x288 (CIF) om amostragem4:2:0 de rominân ia;• Usa frames do tipo I e P ( ompensação de movimentos) mas não B;• A quantização dos oe� iente é linear;• Utiliza ódigos de omprimento variável (VLCs);• Filtro anti-blo os.4.1.2 H.263Algum tempo depois, o grupo ITU-T, para poder melhorar a qualidade do H.261, de idiudesenvolver o H.263. Relativamente ao H.261, este odi� ador de vídeo providen ia uma me-lhor ompressão, suportando débitos binários na ordem dos 30kbit/s. Apesar da sua estruturaser em muitos aspe tos semelhante ao H.261, o H.263 forne e melhor qualidade de imagem om débitos binários de transmissão menores, à usta de um pou o mais de omplexidade.Existem algumas diferenças relativamente ao H.261, desta ando-se as seguintes:• Utiliza 4 ve tores de movimento em vez de um úni o omo no H.261. Cada ve tor demovimento está asso iado a um blo o de 8x8 do ma roblo o em vez de estar asso iadoao ma roblo o inteiro.• Ve tores de movimento mais pre isos (meio píxel de pre isão) que propor ionam melhorqualidade de imagem e melhores taxas de ompressão.Nesta norma foram adi ionados também quatro modos op ionais que servem para melho-rar a performan e da ompressão do vídeo e a robustez da transmissão através de um analde omuni ação. Apesar de todos os esforços para desenvolver té ni as que melhoraram aqualidade e a taxa de ompressão dos vídeos, a fra a qualidade das linhas telefóni as limitavade erta forma o desempenho dos odi� adores de vídeo. O H.263 tornou-se a norma maisusada para vídeo- onferên ia e suporta odi� ação da norma H.261 para os sistemas mais an-tigos [72, 73℄. O H.263+ e o H.263++ são extensões do H.263 onde foram adi ionadas algumas28

Page 43: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos ara terísti as e modos de odi� ação. Estas extensões serviram para melhorar a ompressãodos vídeos, propor ionando um ontrolo melhorado sobre os parâmetros do odi� ador e umdesempenho maior nas redes de omuni ações existentes [17, 23℄.4.1.3 MPEG-1A primeira norma de odi� ação de vídeo desenvolvida pelo grupo MPEG (Moving Pi turesExperts Group) foi o MPEG-1. Esta foi desenvolvida espe ialmente para o armazenamento ereprodução de vídeo no formato Vídeo CD (VCD). O MPEG-1 foi riado para ompetir omas tradi ionais assetes de vídeo no formato VHS (Video Home System), que já ne essitavamde ser substituídas. Esta norma é semelhante ao H.261 mas ne essita de mais re ursos parapoder omprimir uma sequên ia de vídeo. Contrariamente ao H.261, o MPEG-1 permite ouso de frames do tipo B e quantização per eptual adaptativa. A norma é assim onstituídapor in o partes:• Parte 1: Systems.• Parte 2: Video.• Parte 3: Audio.• Parte 4: Conforman e testing.• Parte 5: Software simulation.O MPEG-1 foi usado por várias indústrias, em vários produtos, serviços e apli ações,desen adeando assim um forte res imento em outros que surgiram mais tarde. Esta normausa várias té ni as de odi� ação de vídeo, entre as quais desta am-se a ompensação demovimento, DCT (Dis rete Cosine Transform) e a quantização. O débito de transmissão doMPEG-1 ronda aproximadamente 1.5Mbit/s, o qual se revelou insu� iente para substituir as assetes VHS. Apesar do Vídeo CD não ter sido muito popular na Europa e nos EstadosUnidos, teve bastante su esso em alguns países do ontinente Asiáti o. Apesar de tudo, oMPEG-1 é uma norma de odi� ação bastante usada para armazenamento de vídeo/áudionos PCs e na Internet [51, 87℄.4.1.4 MPEG-2A seguir ao MPEG-1 su edeu-se o MPEG-2. O MPEG-2 foi desenvolvido espe ialmentepara a televisão digital e foi uma norma de odi� ação om muito su esso. A norma MPEG-2é baseada no MPEG-1, mas apresenta algumas diferenças signi� ativas. Foram adi ionadas29

Page 44: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 4. PRINCIPAIS NORMAS DE CODIFICAÇ�O DE VÍDEO E IMAGEMmais fun ionalidades para providen iar uma maior interoperabilidade, qualidade e fun ionali-dade, sem prejudi ar a �exibilidade do odi� ador. Entre essas fun ionalidades desta am-seos novos modos de predição que permitem odi� ar e� ientemente vídeo entrelaçado, as ex-tensões para es abilidade do vídeo e o aumento da zona de pro ura para a ompensação demovimento. Estas alterações melhoram grandemente a qualidade de vídeo, mas ne essitam depoder omputa ional adi ional. O MPEG-2, no entanto, pode também des odi� ar sequên- ias de vídeo no formato MPEG-1 para as apli ações mais antigas. As partes adi ionadas noMPEG-2 são:• Parte 6: Software extensions - DSM-CC.• Parte 7: Audio extensions - AAC (Advan ed Audio Coding).• Parte 8: 10 Bit video (abandonado por falta de interesse da indústria).• Parte 9: System extensions - RTI (Real Time Interfa e).• Parte 10: DSM-CC - Conforman e testing.• Parte 11: IPMP on MPEG-2 System.Para além de ter mais partes, o MPEG-2 foi a primeira norma a usar o on eito deper�l e de nível. O per�l é basi amente um onjunto de algoritmos que são usados para odi� ação de vídeos. Os níveis orrespondem ao onjunto de parâmetros que são suportadosna implementação do odi� ador. Esta norma, omo já foi referido, teve muito su esso, estandorela ionado dire tamente om o su esso das apli ações que surgiram om ela (Televisão Digital,serviços ATM, Vídeo DVD, et ). Esta norma onseguiu �nalmente substituir as velhas assetesde vídeo VHS pelo Vídeo-DVD, dando um passo importante nas te nologias de armazenamentode vídeo, passo esse que não foi possível através do MPEG-1 e do Vídeo CD [29, 47, 94℄.4.1.5 MPEG-4O MPEG-4 é uma norma de odi� ação de vídeo ISO/IEC desenvolvida pelo grupo MPEG om intuito de ante ipar a rápida onvergên ia das indústrias de tele omuni ações, omputa-dores e da indústria da Televisão/Filmes. MPEG-4 tem por base o su esso omprovado emtrês ampos muito importantes:• Televisão digital;• Apli ações grá� as intera tivas ( onteúdo sintéti o);• Multimédia intera tiva (WWW, distribuição e a esso a onteúdos).30

Page 45: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosDepois do su esso das normas MPEG-1 e MPEG-2, desenvolvidas também pelo grupoMPEG, o MPEG-4 foi resultado de um esforço interna ional que envolveu entenas de investi-gadores e engenheiros de todo o Mundo. O grupo MPEG omeçou a de�nir a norma MPEG-4em 1994. O obje tivo desta primeira fase era a espe i� ação dos algoritmos e ferramentas ausar na ompressão e na representação da informação áudio-visual, de uma forma �exível eque umprisse os futuros requisitos das apli ações e serviços da multimédia intera tiva. Deforma a umprir esses obje tivos, foi ne essário riar novos métodos universais e e� ientes de odi� ação áudio-visual, onhe idos também omo obje tos áudio-visuais (em inglês AV ob-je ts ou AVOs). A norma MPEG-4, de�nida pela ISO/IEC 14496, foi �nalizada em Outubrode 1998 e tornou-se num International Standard nos primeiros in o meses de 1999. Váriasextensões foram adi ionadas à norma om o de orrer do tempo. O MPEG-4 Versão 2 adquiriuo estatuto de International Standard no ano 2000. A tualmente ainda existe trabalho emprogresso para adi ionar novas extensões [100℄.O MPEG-4 herdou e melhorou muitas das fun ionalidades das normas MPEG-1 e MPEG-2.Para além dessas melhorias, foram adi ionadas novas fun ionalidades omo o suporte de ob-je tos 3D, sprites1, texto e outros tipos de media [83, 86℄.Esta norma é onstituída por um onjunto de partes inter-rela ionadas. Estas partespodem ser implementadas individualmente ou em onjunto om outras partes [53, 59℄.Algumas dessas partes ainda estão em desenvolvimento, outras já se en ontram �nalizadas.Existem 23 partes no MPEG-4, das quais desta amos as seguintes, por estarem rela ionadas om odi� ação de vídeo:• Parte 2: Visual - Espe i� a os ode s para a odi� ação de dados visuais (vídeo,texturas, imagens sintéti as, et .). Um dos per�s mais usados é o ASP (Advan ed SimplePro�le).• Parte 10: Advan ed Video Coding (AVC) - Code de vídeo mais onhe ido porH.264 (ver Se ção 5 para mais detalhes).Existem várias entidades que usam o MPEG-4 omo norma de odi� ação, mas estas nãoespe i� am expli itamente qual é a parte da norma a que se referem. A Parte 2 (in lui oper�l ASP), é usada em alguns ode s muito onhe idos tais omo o DivX [2℄, o Xvid [6℄, oNero Digital [3℄, o 3ivx [1℄ e pelo Qui ktime 6 [4℄. A Parte 10 (MPEG-4 AVC/H.264), é usadapelo ode x264 [5℄, pelo Nero Digital AVC [3℄, Qui ktime 7 [4℄ e pela nova geração de DVDs omo o HD DVD e os dis os Blu-ray. No Capítulo 5 podemos en ontrar mais detalhes sobrea Parte 10 do MPEG-4.1Os sprites são obje tos exibidos em duas dimensões, que geralmente ompõem elementos de fundo ou sãosobrepostos em modelos tridimensionais. 31

Page 46: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 4. PRINCIPAIS NORMAS DE CODIFICAÇ�O DE VÍDEO E IMAGEMAssim omo a norma MPEG-2, o MPEG-4 também usa o on eito per�l e nível. Os per�spermitem aos utilizadores es olher um onjunto de ferramentas que são mais adequadas àssuas ne essidades. Em ada per�l, podemos espe i� ar o nível a usar. Os níveis são um meiode limitar a omplexidade a usar na odi� ação de uma sequên ia de vídeo [53, 83℄.Na Tabela 4.1 podemos en ontrar os per�s mais omuns do MPEG-4.Per�s de vídeo mais omunsPer�l Cara terísti asSimple Visual Semelhante à odi� ação do MPEG-2.Advan ed Simple Visual Suporte de frames do tipo B, ompensaçãode movimento global e odi� ação entrela-çada (níveis 4 e 5).Core Visual Suporte para obje tos binários do vídeo eframes do tipo B.AVC Baseline, AVC Main, AVC Extended eAVC High Ver Capitulo 5.2 para mais detalhes sobreestes per�s.Tabela 4.1: Per�s mais omuns no MPEG-4 [53℄.4.2 Codi� ação de imagemNesta se ção iremos apresentar, om algum detalhe, as quatro normas prin ipais de o-di� ação de imagem (JBIG, PNG, JPEG-LS e JPEG2000). Estas normas utilizam té ni asdiferentes de ompressão de imagem, omo iremos observar.4.2.1 A norma JBIGA norma JBIG (Joint Bi-level Image Group) foi desenvolvida em 1993 pela InternationalOrganization for Standardization / International Ele trote hni al Commission (ISO/IEC) epela Tele ommuni ation Standardization Se tor of the International Tele ommuni ation Union(ITU-T) providen iando odi� ação lossless e progressiva (lossy-to-lossless) em imagens biná-rias. Uma das vantagens mais importantes do JBIG em omparação om outras normas é asua apa idade de odi� ação progressiva e a sua e� iên ia [22, 27℄. A odi� ação progressiva onsiste na divisão da imagem em diferentes amadas no pro esso de ompressão. Quando aimagem é des omprimida para ser visualizada, o observador visualiza uma primeira imagemimpre isa que orresponde à primeira amada, seguida das restantes versões melhoradas [55℄.32

Page 47: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosApesar do JBIG ter sido on ebido para imagens a preto e bran o (imagens binárias), é pos-sível apli á-lo a imagens grays ale (es ala de inza) separando-as por planos e apli ando a ompressão em ada plano omo se ada um deles fosse uma imagem binária. Neste aso, autilização do Código de Gray em vez do tradi ional ódigo binário pode melhorar a e� iên iade ompressão [7℄. Na Figura 4.2 en ontra-se o diagrama de blo os do odi� ador progressivoJBIG. Através desse diagrama de blo os, podemos on luir que o algoritmo base de odi� açãodo JBIG baseia-se num modelo de ontexto-�nito e num odi� ador aritméti o adaptativo.Este algoritmo de odi� ação pode ser en ontrado om mais detalhe em [55℄.Apesar da norma JBIG ter apa idade para odi� ação lossy, as imagens obtidas dessa ompressão tinham qualidade signi� ativamente inferior relativamente às imagens originais.De forma a resolver estes problemas de qualidade de imagem, surgiu mais tarde o JBIG2 quesuporta odi� ação lossy, lossless e lossy-to-lossless. A norma JBIG2 tinha omo obje tivo aobtenção de melhores resultados de ompressão lossless/lossy relativamente às normas exis-tentes e por outro lado melhorar a ompressão lossy reduzindo a degradação da qualidade dasimagens. O JBIG2 al ançou os obje tivos pretendidos e para além disso adi ionou um modode odi� ação progressiva adi ional que depende do onteúdo da imagem ( ontent-progressive oding). Esta de omposição onsiste basi amente na separação das imagens em regiões (texto,halftone e genéri a). Cada região é então odi� ada utilizando métodos adequados ao tipo deregião. Esta de omposição do onteúdo é muito importante prin ipalmente para as apli açõesde vídeo intera tivo [57℄.Typical

PredictionDeterministicPrediction

ConditionalPredictive Arithmetic

Model Encoding

Adaptative

BinaryImage

Pixel − Skipping Prediction

Image CodeResolutionReduction

ResolutionReductionTable

DeterministicPredictionTable

Matched Tables (PRES, QT, etc.)

Compressed

Figura 4.2: Diagrama de blo os do odi� ador JBIG (adaptada de [22℄).4.2.2 A norma PNGO PNG (Portable Network Graphi s) é um formato de � heiro utilizado para armazenar,transmitir e visualizar imagens. Este formato suporta odi� ação lossless, diversos modosde or ( or-indexada, grays ale e imagens true- olor) om uma transparên ia óptima (alpha hannel) e uma profundidade de bit (bit depth sample) que vai de 1 a 16 bits. Para além33

Page 48: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 4. PRINCIPAIS NORMAS DE CODIFICAÇ�O DE VÍDEO E IMAGEMdestas ara terísti as, este formato suporta mais algumas fun ionalidades avançadas tais omo: orre ção de ores e de gama, visualização entrelaçada e progressiva, um espaço de ores padrãoe in lusão de informação textual para guardar dados extra (título, nome do autor, opyright,et .) [76℄. Uma parte muito importante da norma PNG é o algoritmo de ompressão usado. Oalgoritmo De�ate, espe i� ado na RFC 1951 [19℄, é uma ombinação do algoritmo LZ77 e de odi� ação de Hu�man. Este algoritmo De�ate é usado pela norma PNG na ompressão deimagens, pois é bastante e� iente omparado-o om a generalidade dos melhores algoritmosde ompressão mais a tuais.O PNG foi desenvolvido para substituir os formatos mais antigos tais omo o GIF e paraser utilizado em apli ações de visualização online (WWW - World Wide Web). O PNGé bastante robusto, pois para além de permitir uma veri� ação da integridade do � heiro, onsegue dete tar os erros de transmissão mais omuns [55, 61℄.4.2.3 A norma JPEG-LSA norma JPEG-LS (ISO-14495-1/ITU-T.87) foi desenvolvida pelo Joint Photographi Ex-perts Group (JPEG) om o obje tivo de providen iar um odi� ador de imagens, lossless ounear-lossless, mais e� iente do que o Lossless JPEG, reduzindo a omplexidade do mesmo eos requisitos de memória ne essários. A Parte 1 da norma foi �nalizada em 1999. Existemdeterminadas apli ações em que por vezes é preferível ter um algoritmo de ompressão menos omplexo do que um que ofereça melhores taxas de ompressão. Foi então neste sentido queo JPEG-LS foi desenvolvido [68, 98, 99℄.Vários algoritmos de ompressão foram propostos para integrarem a norma JPEG-LS. O omité responsável, após uma longa fase de testes, elegeu o LOCO-I (LOssless COmpressionfor Images) dos Laboratórios da Hewlett-Pa kard [30℄ omo o melhor algoritmo. Havia maispropostas, omo o CALIC, FELICS e o CREW da Ri oh, mas LOCO-I saiu ven edor. OLOCO-I, para além de ofere er boas taxas de ompressão, é relativamente fá il e rápidode implementar [39, 80℄. Este algoritmo baseia-se num modelo de previsão residual e num ontexto adaptativo para a odi� ação de resíduos. A baixa omplexidade desta té ni aprovém do pressuposto que a previsão residual segue uma distribuição geométri a e do usode ódigos de Golomb (ver Se ção 5.1.6), que são óptimos para este tipo de distribuições. OJPEG-LS também tem in orporado um modo lossy onde podemos ontrolar o erro absolutomáximo no odi� ador. Este modo é mais onhe ido por near-lossless ompression ou L∞- onstrained ompression [55℄.Na Figura 4.3 está ilustrado o diagrama de blo os do odi� ador JPEG-LS.34

Page 49: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosGradients

Region?Flat

+

b dx

ca

.

ContextModeler

GolombCoder

FixedPredictor

CorrectionAdaptive

CounterRun Run

Coder

. . . ..

.

.

. .

Predictor

Modeler

imagesamples

regular

mode run imagesamples

predictionerrorssamples

image

context

predictedvalues

bitstreamcompressed

Coder

regular

run mode

pred. errorscode spec.

run lengthscode spec.Figura 4.3: Diagrama de blo os do odi� ador JPEG-LS (adaptada de [55℄).4.2.4 A norma JPEG 2000O JPEG 2000 (ISO/IEC 15444-1) é a mais re ente norma interna ional de ompressão deimagens. A tualmente é onstituida por sete partes, tendo a Parte 1 sido publi ada omoInternational Standard em Dezembro de 2000 [69℄.As sete partes são:

• Parte 1 - JPEG 2000 Image oding system ( ore)• Parte 2 - Extensions (adi ionados mais re ursos e so�sti ação ao ore)• Parte 3 - Motion JPEG 2000• Parte 4 - Conforman e• Parte 5 - Referen e software• Parte 6 - Compound image �le format• Parte 7 - Te hni al reportEsta norma de odi� ação foi desenvolvida para usufruir do res imento do poder ompu-ta ional que dispomos a tualmente [8℄. O JPEG 2000 é baseado numa transformada waveletde duas dimensões (ver Figura 4.4), sendo os oe� ientes resultantes odi� ados om o algo-ritmo Embedded Blo k Coding with Optimized Trun ation (EBCOT). O EBCOT permite umdesempenho de ompressão muito bom para diferentes débitos binários, in luindo ompressãolossless [16℄. O JPEG 2000 é uma norma �exível, não só na ompressão de imagens, mas tam-bém no a esso a bitstreams de dados odi� ados, permitindo um onjunto de me anismos de35

Page 50: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 4. PRINCIPAIS NORMAS DE CODIFICAÇ�O DE VÍDEO E IMAGEMa esso e extra ção de dados om o obje tivo de retransmissão, armazenamento, visualizaçãoou edição dos mesmos [80℄.Na Figura 4.5 podemos observar um esquema simpli� ado do odi� ador/des odi� adorJPEG 2000. No odi� ador, a transformada dis reta wavelet é ini ialmente apli ada à ima-gem original. Os oe� ientes obtidos são de seguida quantizados e odi� ados usando um odi� ador de entropia, formando um bitstream de dados que representam a imagem odi�- ada. O odi� ador de entropia usa odi� ação aritméti a adaptativa através de um modelode ontexto próprio om, no máximo, nove modelos diferentes. Estes modelos de ontextosão reini ializados no iní io da odi� ação de ada blo o e o odi� ador aritméti o é sempreterminado no �m de ada blo o. Esta estratégia possibilita um melhor ontrolo de erros [16℄.O des odi� ador fun iona de forma inversa do odi� ador: o bitstream de dados é primeirodes odi� ado usando o odi� ador de entropia, �desquantizado� (�anula� a quantização efe -tuada no odi� ador) e no �m é apli ada a transformada wavelet inversa para obter a imagemre onstruída [55℄. Os detalhes deste pro esso podem ser en ontrados em [16, 69℄.

Figura 4.4: (a) Imagem original. (b) Depois de de omposição wavelet a um nível. ( ) Depoisde de omposição wavelet a dois níveis [38℄.

36

Page 51: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

DiscreteWavelet

TransformQuantization

EntropyEncoding

CompressedImage Data

InverseTransform Dequantization

EntropyDecoding

CompressedImage Data

Store ortransmit

Image DataSource

ReconstructedImage Data

(b)

(a)

Figura 4.5: Diagrama de blo os do JPEG 2000 (a) odi� ador (b) des odi� ador (adaptadade [16℄).

37

Page 52: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 4. PRINCIPAIS NORMAS DE CODIFICAÇ�O DE VÍDEO E IMAGEM

38

Page 53: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 5Estudo da norma H.264/AVCO H.264/AVC (ou MPEG-4 parte 10 [34℄) é uma norma de odi� ação que foi desenvolvidae aprovada pela JVT (Joint Video Team). A JVT é uma equipa onstituída por espe ialistasde dois grupos importantes: a ITU-T da VCEG (Video Coding Experts Group) e a ISO/IECda MPEG (Moving Pi tures Expert Group). O obje tivo desta união é a riação de uma novanorma apaz de satisfazer as ne essidades das apli ações e indústrias a tuais. O H.264/AVCofere e uma melhor e� iên ia na odi� ação de vídeo em relação às normas mais antigas,propor ionando melhor qualidade nas várias taxas de transmissão, adaptação automáti a a ada tipo de apli ação/dispositivo e um ontrole de erro bastante melhorado. Estes ganhosna e� iên ia do H.264/AVC ne essitam de pro edimentos de odi� ação/des odi� ação muito omplexos que exigem mais re ursos omputa ionais. Algumas das té ni as já existentesaquando da espe i� ação das normas anteriores, tais omo o MPEG-x e H.26x, não foramusadas porque gastavam muitos re ursos omputa ionais, sendo agora usadas nesta norma.O uso destas té ni as em onjunto om o uso de per�s e níveis torna o H.264 a tualmente amelhor es olha para ompressão de vídeo [72, Cap.6℄[90, 101℄.Neste apítulo iremos apresentar om algum detalhe a estrutura da norma H.264/AVC ealgumas das suas ara terísti as parti ulares.5.1 Estrutura do H.264/AVCNa Figura 5.1 podemos observar a estrutura bási a do H.264/AVC. Existem duas amadasprin ipais:• NAL (Network Abstra tion Layer)• VCL (Video Coding Layer) 39

Page 54: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCC

ontr

ol D

ata Video Coding Layer

Data Partitioning

Network Abstraction Layer

etc.H.320 MP4FF H.33/IP MPEG−2Figura 5.1: Estrutura do odi� ador de vídeo H.264/AVC (adaptada de [21℄).A NAL é uma amada que ofere e transparên ia no mapeamento dos dados provenientesda VCL para as amada de transporte ou para dispositivos de armazenamento. Os dados pro-venientes da VCL são en apsulados em pa otes designados por NALU (Network Abstra tionLayer Unit). Estes pa otes, para além de terem dados do vídeo (já odi� ado), possuem um abeçalho om informação adi ional para pro essamento dos pa otes na NAL do des odi� a-dor. Na Figura 5.2 podemos observar um exemplo de um pa ote NALU [65, 101℄.Dados VCL ou Non−VCL2 bits1bit 5 bitsFigura 5.2: Estrutura do pa ote NALU (adaptada de [65℄).5.1.1 Video Coding Layer (VCL)A VCL é a amada responsável pela representação da informação ( oe� ientes dos blo osjá odi� ados) da sequên ia de vídeo, de uma forma e� iente, robusta, �exível om o mínimode bits.A estrutura do H.264/AVC é muito semelhante à das normas anteriores (H.261, MPEG-1,MPEG-2/H.262, H.263 ou MPEG4 Parte 2). Na Figura 5.3 podemos visualizar o onjunto deblo os que fazem parte da amada VCL do H.264. Como podemos observar, na entrada dosinal de vídeo é ne essário pro essar ada frame individualmente, dividindo-a em ma roblo os.40

Page 55: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

Figura 5.3: Diagrama de blo os para a odi� ação de um ma roblo o [101℄.Um onjunto de ma roblo os forma um sli e. Cada ma roblo o ontém os oe� ientes de rominân ia e de luminân ia respe tivos. Ainda existe uma subdivisão de ada ma roblo o emblo os mais pequenos (8×8) que serão usados mais tarde, para a ompensação de movimento.Os ma roblo os de ada sli e são pro essados seguindo o esquema da Figura 5.3. É possívelefe tuar um pro essamento paralelo de ma roblo os desde que haja mais do que um sli e porframe [36, Cap.14℄[89, 101℄.5.1.2 Sli es e sli e groupsO H.264 permite a divisão de ada frame em sli e groups. Cada sli e group é onstituído porum ou mais sli es e ada sli e é onstituída por um onjunto de ma roblo os. Esta divisão emsli es melhora substan ialmente a robustez à perda de dados num anal de omuni ação. Poroutro lado, torna possível a odi� ação de determinadas regiões usando parâmetros e métodosdistintos, adequados ao tipo de vídeo e à zona onde se en ontra o sli e. A ordem pela qual sãopro essados os ma roblo os de ada um dos sli es é normalmente raster-s an, mas só se a opçãoFMO (Flexible Ma roblo k Ordering) não estiver a tivada. Na Figura 5.4 podemos observar omo é que uma frame é dividida em sli es. Os sli es ontêm toda informação ne essária parapoderem ser des odi� ados sem usar mais nenhuma informação de outros sli es. Contudo,41

Page 56: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCquando é a tivado o �ltro anti-blo os, por vezes é ne essária informação adi ional provenientede outros sli es para se poder des odi� ar um determinado sli e [54, 84, 101℄.Slice #1

Slice #2

Slice #0

Figura 5.4: Divisão de uma frame em sli es, sem FMO (adaptada de [101℄).A FMO (Flexible Ma roblo k Ordering) permite modi� ar a forma omo as frames sãodivididas em sli es e em ma roblo os utilizando o on eito de sli e group. Na Figura 5.5temos um exemplo de divisão de uma frame em sli e groups. Cada sli e group é de�nido porum onjunto de sli es. Cada ma roblo o tem um número de identi� ação que indi a a quesli e group perten e. A utilização de FMO permite a pesquisa de padrões nos ma roblo ospara aproveitar a redundân ia dos mesmos [13, 28, 104℄.Existem in o tipos de sli es diferentes, podendo ser usados em simultâneo na mesmaframe. Na Tabela 5.1 podemos visualizar os tipos de sli es existentes no H.264 e as suas ara terísti as.5.1.3 Predição espa ial (intra-frame)Existem 3 tipos de predição espa ial no H.264 que permitem explorar apenas a orrelaçãoespa ial existente entre os píxeis vizinhos de uma determinada frame (usando os píxeis já odi� ados da frame a tual) [72, Cap.6℄[89, 101℄.• Predição intra-frame 4×4 - É a predição do tipo intra-frame mais usada. Neste tipode predição os valores de ada píxel do blo o 4×4 são extrapolados utilizando os vizinhosadja entes aos mesmos nas nove dire ções que estão indi adas na Figura 5.6 (Modo 2(DC) não está representado na �gura). Na Figura 5.7 podemos visualizar de forma maisdetalhada os modos de predição existentes para a predição do tipo intra 4x4.42

Page 57: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosSlice Group #0

Slice Group #1

Slice Group #2Figura 5.5: Divisão de uma frame em sli e groups utilizando FMO (adaptada de [101℄.)

8

1

6

4

50

3

7Figura 5.6: Predição espa ial para o tipo intra 4×4 (adaptada de [89℄).43

Page 58: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCTipo Des rição Per�lI (Intra) Contém ma roblo os do tipo I que são odi� ados usandoinformação dos ma roblo os já odi� ados da mesmaframe. TodosP (Predi ted) Contém ma roblo os do tipo P que são odi� ados usandoinformação das frames (apenas do passado) já odi� adase/ou ma roblo os do tipo I. TodosB (Bi-Predi ted) Contém ma roblo os do tipo B que são odi� ados usandoinformação das frames (do passado e do futuro) já odi�- adas e/ou ma roblo os do tipo I. Extended e MainSP (Swit hing P) Contém ma roblo os do tipo P e/ou I e são usadas parafazer transições rápidas entre duas frames diferentes já o-di� adas. ExtendedSI (Swit hing I ) Contém ma roblo os do tipo SI e são usadas para fazertransições rápidas entre duas frames diferentes já odi� a-das. Este tipo de sli es é normalmente usado em apli açõesde streaming de vídeo ou para realização de avanços rápi-dos (fast-forward) em enas de vídeo. Extended

Tabela 5.1: Tipos de sli es no H.264/AVC. Na Se ção 5.2 iremos falar em mais detalhe sobreos per�s do H.264 [72, Cap.6℄.• Predição intra-frame 16×16 ompleta - Este tipo de predição utiliza o ma roblo o ompleto de 16×16, sendo normalmente usado nas zonas mais suaves das frames. NaFigura 5.8 podemos observar os quatro modos de predição espa ial intra 16×16 existen-tes.• Predição intra-frame 8×8 (FRExt Fidelity Range Extensions) - Este tipo de predi-ção surgiu mais tarde om as extensões do H.264/AVC (FRExt) e usa blo os de 8×8.Os on eitos são os mesmos do que o intra 4×4 mas o tamanho do blo o é de 8×8.Por outro lado, este tipo de predição tem um �ltro passa-baixo que permite melhorarsigni� ativamente o desempenho da predição. Os modos de predição são os mesmos quea predição intra 16×16, mas a numeração é outra: DC(0), horizontal(1), verti al (2) eplane (3).5.1.4 Predição temporal (inter-frame)A predição temporal segue uma abordagem diferente da predição espa ial. Este tipo depredição aproveita a redundân ia temporal da sequên ia das frames de vídeo. A predição44

Page 59: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosHGM B C D E F

J

K

L

AI

0 (Vertical) 1 (Horizontal)

HGM B C D E F

J

K

L

AI

3 (Diagonal inferior esquerda)

HGM B C D E F

J

K

L

AI

4 (Diagonal inferior direita)

HGM B C D E F

J

K

L

AI

6 (Horizontal abaixo) 7 (Vertical à esquerda)

HGM B C D E F

J

K

L

AI

HGM B C D E F

J

K

L

AI

8 (Horizontal acima)

HGM B C D E F

J

K

L

AI

5 (Vertical à direita)

HGM B C D E F

J

K

L

AI

2 (DC)

HGM B C D E F

J

K

L

AI Média

(A..De I..L)

Figura 5.7: Os nove tipos de predição intra 4×4 (adaptada de [72, Cap.6℄).2 (DC) 3 (Plane)

Média (H+V)

H

V

H

V

H

V

H

V

1 (Horizontal)0 (Vertical)

Figura 5.8: Modos para a predição espa ial intra 16×16 (adaptada de [72, Cap.6℄).45

Page 60: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCValor Modo Des rição0 Verti al Os píxeis superiores (A, B, C e D) são extrapoladosverti almente.1 Horizontal Os píxeis da esquerda (I, J, K e L) são extrapoladoshorizontalmente.2 DC Todos os píxeis (do modo Intra) são odi� adosusando a média dos píxeis A...D e I...L.3 Diagonal inferior à esquerda Os píxeis são interpolados num ângulo de 45o à es-querda em relação a uma linha horizontal.4 Diagonal inferior à direita Os píxeis são interpolados num ângulo de 45o à di-reita em relação a uma linha horizontal.5 Verti al à direita Os píxeis são interpolados num ângulo de aproxi-madamente 26.6o à direita de uma linha verti al.6 Horizontal abaixo Os píxeis são interpolados num ângulo de aproxima-damente 26.6o à direita de uma linha horizontal.7 Verti al à esquerda Os píxeis são interpolados num ângulo de aproxima-damente 26.6o à esquerda de uma linha horizontal.8 Horizontal a ima Os píxeis são interpolados num ângulo de aproxima-damente 26.6o à direita de uma linha horizontal.Tabela 5.2: Modos de predição intra 4x4 e suas ara terísti as [72, Cap.6℄.temporal pode ser usada em sli es do tipo P e B e usa uma ou mais frames já odi� adas.O H.264 usa os blo os das frames já odi� adas para determinar o melhor ve tor de movi-mento (asso iado ao blo o residual om valores de energia mais pequenos) que orrespondeà deslo ação espa ial desse blo o no tempo entre a frame referên ia e a original. Relativa-mente às normas anteriores, o H.264 suporta uma melhor divisão de ma roblo os (de 4×4 até16×16), que melhora a qualidade da predição e onsequentemente a taxa de ompressão. Apre isão dos ve tores de movimento também foi melhorada até 1/4 de píxel na omponenteda luminân ia [15, 65℄.Compensação de movimento em árvore estruturadaNa predição temporal, os ma roblo os de uma frame podem ser divididos em quatro for-mas diferentes (Figura 5.9). Se a divisão es olhida for 8×8, ada um dos blo os (8×8) podeser dividido em quatro maneiras diferentes (Figura 5.10). A ombinação dos dois níveis de46

Page 61: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosdivisão do ma roblo o são imensas tornando a exploração temporal mais robusta e e� ienterelativamente às normas de odi� ação de vídeo anteriores. A ada blo o ou sub-blo o (divi-são do blo o 8×8) está asso iado um ve tor de movimento que tem de ser odi� ado assim omo o respe tivo tipo de divisão que foi efe tuada. A es olha de blo os grandes (16×16)pre isa de pou os bits para odi� ar o ve tor de movimento mas de muitos bits para odi� aros oe� ientes residuais ( aso a zona da frame em questão tenha muito detalhe). Quantomaiores são os blo os, maior será a energia dos valores residuais em zonas om muito detalhe.Se usarmos blo os pequenos (4×8, 8×4 e 4×4) os valores residuais serão muito mais pequenos,propor ionando melhores taxas de ompressão. Em ontrapartida, a utilização de blo os maispequenos requer mais ve tores de movimento. Mais ve tores de movimento signi� a mais bitspara odi� ar. A es olha do tipo de divisão de ada ma roblo o é uma das etapas mais impor-tantes, uma vez que propor iona melhorias muito signi� ativas nas taxas de ompressão. Omodelo ideal seria usar blo os maiores em zonas homogéneas da frame e de tamanho reduzidoem zonas onde tenham mais detalhe [72, Cap.6℄.16

16

8 8

0 10

1 32

0 10

PSfrag repla ements16×16 8×16 16×8 8×8Figura 5.9: Tipo de divisões de ada ma roblo o para predição temporal: 16×16, 8×16, 16×8e 8×8 (adaptada de [72, Cap.6℄).

01

8

8 4 4

0 11

0 0

32

PSfrag repla ements8×8 4×8 8×4 4×4Figura 5.10: Divisões de ada blo o do tipo 8×8: 8×8, 4×8, 8×4 e 4×4 (adaptada de [72,Cap.6℄).Predição temporal usando frames tipo PA predição temporal usada no H.264 já foi usada em normas anteriores om bastantesu esso. Nesta nova norma, é possível no entanto ter uma lista de frames referên ia para47

Page 62: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCpoder odi� ar o blo o em ausa. Esta ara terísti a não existia nas normas de odi� açãomais antigas. Para poder usar múltiplas frames, é ne essário usar um bu�er no odi� ador eno des odi� ador, que irá armazenar a informação das frames referên ia a serem usadas nopro esso de odi� ação/des odi� ação. Existe um número limite de frames que podem serusadas para odi� ar o blo o em ausa. Esse número é de�nido pelo nível que está a ser usadono per�l em questão (ver Se ções 5.2 e 5.3). Na Figura 5.11 podemos observar um exemplode utilização de múltiplas frames para odi� ar os blo os da frame a tual.������

������

������

������

���

���

���

����

���

frame n−2 frame n−1

PSfrag repla ementsframeframe frame n − 1 frame a tual (n)Figura 5.11: Compensação de movimento usando múltiplas frames referên ia. Este on eitoé apli ado a frames do tipo P e B (adaptada de [101℄).Predição temporal usando frames tipo BContrariamente às frames tipo P, as frames tipo B utilizam duas listas (bu�ers) de framesde referên ia para serem usadas no pro esso de ompressão do vídeo (predição bidire ional). A lista 0 e a lista 1 ontêm assim dados relativos às frames do passado e/ou do futuro.A listas ontêm o índi e da frame que vai ser usada para fazer a predição temporal, sendo onstruídas om base num onjunto de regras:• Lista 0: A primeira posição da lista (índi e 0) é preen hida om a frame passada maispróxima que já foi odi� ada. As posições seguintes serão o upadas om outras framesdo passado e as restantes posições om frames do futuro.• Lista 1: A primeira posição da lista (índi e 0) é preen hida om a frame futura maispróxima seguindo as outras frames do futuro já odi� adas e as restantes posições omframes do passado.Na Tabela 5.3 podemos observar um exemplo da onstrução das listas das frames referên iaa serem usadas. Na Figura 5.12, temos um esquema de predição temporal que utiliza sli esdo tipo B. 48

Page 63: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosÍndi es das framesÍndi e da lista Lista 0 Lista 10 n − 1 n + 11 n − 2 n + 22 n − 4 n + 33 n + 1 n − 14 n + 2 n − 25 n + 3 n − 4Tabela 5.3: Exemplo de listas das frames de referên ia a serem usadas na predição temporal(índi e da frame a tual é n). O índi e da lista representa ada posição dentro de ada listaonde se en ontram armazenados o índi es das frames [72, Cap.6℄.

(d) duas do futuro(c) duas do passado

(b) uma do futuro(a) uma do passado

tipo BMB

Figura 5.12: Exemplo de predição de um ma roblo o do tipo B (adaptada de [72, Cap.6℄).Nos sli es de tipo B existem quatro tipos diferentes de predição:• Predição bidire ional - Este tipo de predição ne essita da lista 0 e da lista 1 parapoder fazer a predição dos blo os. Após o ál ulo dos melhores blo os referên ia, éapli ada uma média pesada entre eles que irá originar um blo o referên ia om valoresresiduais mais pequenos. Para além dos valores residuais obtidos através da médiapesada, é ne essário odi� ar os ve tores de movimento dos blo os que foram usadospara al ular essa média pesada.• Compensação de movimento da lista 0 - Utiliza a primeira frame referên ia exis-tente na lista 0 para fazer a predição. 49

Page 64: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVC• Compensação de movimento da lista 1 - Utiliza a primeira frame referên ia exis-tente na lista 1 para fazer a predição.• Dire ta - A predição dire ta não envia informação nenhuma relativa aos ve tores demovimento. Os ve tores de movimento de ambas as listas são riados usando os ve toresde movimento já des odi� ados anteriormente, apli ando apenas uma mudança de es alados mesmos. Um ma roblo o do tipo skipped num sli e do tipo B usa normalmente estetipo de predição dire ta.Predição om peso Contrariamente às normas anteriores, o H.264 permite a atribuição depesos diferentes nas amostras residuais na odi� ação bidire ional. Nas normas anteriores,o peso da média ponderada era distribuido igualmente por todas as amostras residuais. OH.264 permite pesos diferentes no mesmo sli e que podem ser deduzidos usando os pesosdos sli es ou das frames vizinhas (do passado e do futuro). A utilização desta té ni a évantajosa em apli ações de vídeo onde o orram ertos efeitos de transição (fade in, fade outou rossfade) [72, Cap.6℄.Existem 3 tipos de predição om peso:• Ma roblo o do tipo P explí ito.• Ma roblo o do tipo B explí ito.• Ma roblo o do tipo B implí ito.Ve tores de movimento que apontam para fora da frame Existem situações espe iaisonde a té ni a de ompensação de movimento pode gerar um ve tor de movimento que apontapara fora da frame. Esta situação não a onte e frequentemente, mas quando a onte e éne essário extrapolar os valores da parte do blo o que se en ontra fora da frame. Basi amente,os valores que se en ontrarem no limite da frame serão repetidos na parte do blo o que seen ontra fora da frame [84℄.5.1.5 Filtro anti-blo os adaptativoQuando não é utilizado um �ltro espe ial anti-blo os, os limites dos blo os de odi� açãosão muitas vezes visíveis. Este é de fa to a ara terísti a mais per eptível e dire ta que degradaa qualidade do vídeo. Esta degradação piora quando temos taxas de transmissão baixas. OH.264 tem um �ltro anti-blo os adaptativo que usa um onjunto de�nido de parâmetros,pelo nível de �ltragem em questão. A utilização deste �ltro melhora substan ialmente a50

Page 65: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosqualidade subje tiva do vídeo e, para além disso, a taxa de transmissão é reduzida de 5%-10% [36, 65, 101℄.Na Figura 5.13 podemos visualizar as diferenças quando utilizamos �ltro anti-blo os numaframe de uma determinada sequên ia de vídeo.

Figura 5.13: À esquerda, frame sem apli ação do �ltro anti-blo os. À direita, usando o �ltroanti-blo os [84℄.5.1.6 Codi� adores de entropia (CAVLC e CABAC)A odi� ação de entropia é uma té ni a de odi� ação sem perdas que explora a redun-dân ia estatísti a dos símbolos que representam a sequên ia de vídeo. É possível om um odi� ador de entropia representar a informação usando menos bits do que era ne essário ini- ialmente. Esta té ni a onsiste basi amente na asso iação de sequên ia binárias de tamanhovariável a símbolos om probabilidades diferentes. Esta redução do número de bits para repre-sentar a informação propor iona melhorias bastante signi� ativas nas taxas de ompressão dovídeo. O H.264 possui dois métodos de odi� ação de entropia: odi� ação de omprimentovariável (Variable Length Coding [VLC℄) e odi� ação aritméti a binária (Binary Arithmeti Coding [BAC℄). Estas té ni as são ambas usadas om ontexto adaptativo (CA) onde originaos termos CAVLC e CABAC. O fa to de estas té ni as serem adaptativas ao ontexto sig-ni� a que onsideram as probabilidades ondi ionais dos símbolos no ontexto dos símbolospreviamente odi� ados.CAVLC (Context Adaptive Variable Length Coding)O CAVLC é um método que usa ódigos de omprimento variável para representar ossímbolos. Ao ontrário das normas anteriores, que usavam um número variado de tabelas51

Page 66: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCde ódigos de omprimento variável para ada tipo de símbolo, o H.264 usa o CAVLC paraos oe� ientes já transformados e quantizados (resíduos) e para outros símbolos o UVLC(Universal Variable Length Coding). A úni a diferença do CAVLC para o UVLC é que oCAVLC tem em onsideração a estatísti a dos símbolos já odi� ados. Os ódigos de Exp-Golomb são os ódigos de omprimento variável mais usados no H.264. Estes são bastantesimples de usar e não ne essitam de grande apa idade omputa ional. A onstrução dos ódigos de Golomb é dividida em duas partes: uma odi� ação unária de tamanho variávele uma odi� ação binária de tamanho �xo. Analisando a tabela 5.4, veri� amos que a parteunária é onstituida por uma sequên ia de N bits om o valor 0 seguindo de um bit om ovalor 1 (parte a negrito). A parte binária é uma sequên ia de N bits [65, 93℄.Valor Código N0 1 01 010 12 011 13 00100 24 00101 25 00110 26 00111 27 0001000 38 0001001 39 0001010 310 0001011 3... ... ...14 0001111 315 000010000 4... ... ...Tabela 5.4: Códigos exponen iais de Golomb (também onhe idos omo Universal VariableLength Code). N representa a sequên ia unária (número de bits om o valor 0) [89℄.Na Figura 5.14 podemos observar o diagrama de blo os do CAVLC. Este pode ser dividoem duas etapas prin ipais: varrimento e odi� ação. Na primeira etapa é efe tuado umvarrimento em zigzag de ada blo o. Na fase de odi� ação, existem in o tipos de símbolosestatísti os que são ne essários odi� ar sequen ialmente (ver Tabela 5.5) [105℄.52

Page 67: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosdata

input

bitstreamencoded

Scanning phase Encoding phase

receiverdata

zigzag

predictnC

CAVLCscanning

encoder

encoder

encodersign_trail

levelsencoder

total_zeros

run_beforeencoder

packer

VLC

coeff_token

residual

Figura 5.14: Diagrama de blo os do odi� ador CAVLC (adaptada de [105℄).Elemento Des rição oe�_token Codi� a o número de oe� ientes não nulos e de trailing ones. Os trailing onessão oe� ientes não nulos de maior frequên ia que são usualmente sequên iasde +1 e -1.sign_trail Codi� a o sinal dos trailing ones.levels Codi� a os restantes oe� ientes não nulos.total_zeros Codi� a o número total de zeros antes do último oe� iente.run_before Codi� a ada sequên ia de zeros em ordem zigzag inversa.Tabela 5.5: Des rição dos elementos de ada blo o do odi� ador CAVLC [105℄.CABAC (Context Adaptive Binary Arithmeti Coding)Em alternativa ao CAVLC, o CABAC é um método mais omplexo que possui melhorestaxas de ompressão. Segundo [50℄, o CABAC tem taxas de ompressão melhores do que oCAVLC entre 9% a 14%. Apesar de ser muito mais pesado omputa ionalmente, o CABACpermite um número de bits não inteiro, para representar ada palavra de ódigo. Esta ara te-rísti a é bené� a para símbolos om probabilidades superiores a 0.5. A odi� ação aritméti aé pesada omputa ionalmente por ne essitar de muitas operações de multipli ação e divisão.Uma alternativa para evitar tantas operações é o esquema de binarização do CABAC. A bi-53

Page 68: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCnarização reduz signi� ativamente o tamanho do alfabeto (número de símbolos), tornando opro esso de odi� ação mais leve. Na Figura 5.15 podemos visualizar o diagrama de blo osdo CABAC. Uma ara terísti a importante do CABAC é o seu modelo de ontexto. Este mo-delo usa a estatísti a dos símbolos já odi� ados, para al ular a probabilidade ondi ional dosímbolo em ausa. Desta forma é possível es olher o modelo probabilísti o que mais se adaptaà situação. Utilizando modelos de ontexto adequados a ada situação, é possível explorar aredundân ia existente entre os símbolos mudando o modelo probabilísti o de a ordo om ossímbolos vizinhos já odi� ados [10, 26, 50, 85℄.Modelo

de contexoBinarização

Cálculo daProbabilidade Codificação

Motor de

Actualizar a probabilidade

Codificador Binário Aritmético AdaptativoFigura 5.15: Diagrama de blo os genéri os do esquema do odi� ador de entropia CABAC(adaptada de [89℄).5.2 Per�s H.264/AVCA riação do on eito per�l foi ne essária devido à existên ia de um onjunto tão vastode té ni as que são usadas. Embora não sejam todas usadas ao mesmo tempo, é ne essárioarranjar uma maneira de de�nir um sub- onjunto desse vasto leque de té ni as. Esse sub- onjunto designa-se por per�l. Se, por exemplo, tivermos uma ligação à Internet de on�ançaonde a probabilidade de haver perdas ou modi� ação nos dados é próxima de zero, não éne essário usarmos ferramentas de prevenção de erros. Ini ialmente o H.264/AVC possuiaapenas três per�s que foram de�nidos na primeira versão da norma.• Baseline (BP) - Este per�l foi desenvolvido espe ialmente para usar em apli ações debaixa apa idade de pro essamento e de re ursos (telemóveis, PDAs, et ). A qualidadede vídeo ne essária neste tipo de apli ações é normalmente baixa. As apli ações devídeo- onferên ia e vídeo- hamada usaram ini ialmente este per�l.• Main (MP) - Para os onsumidores que utilizam apli ações de vídeo em asa, o per�lmais adequado é o Main. Este per�l tem uma relação qualidade/re ursos muito boae foi desenvolvido para armazenamento e transmissão de vídeo de grande parte dos onsumidores. Mais tarde surgiram outros per�s mais adequados para este enário.54

Page 69: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos• Extended (XP) - As apli ações de streaming de vídeo usam normalmente este per�l,pois propor iona uma grande taxa de ompressão e algumas ara terísti as de prevençãode erros.A Tabela 5.6 e a Figura 5.16 dão-nos uma visão geral dos per�s base e respe tivas ara -terísti as que existem no H.264 [35, Cap.14℄[65℄[72, Cap.6℄.Té ni as de Codi� ação Baseline Main ExtendedSli es tipo I e P X X XCAVLC X X XCABAC XSli es tipo B X XCodi� ação entrelaçada (Pi AFF, MBAFF) X XPrevenção de erros (FMO, ASO, RS) X XPrevenção de erros adi ional (DP) XSli es tipo SP e SI XTabela 5.6: Per�s da primeira versão do H.264/AVC e as suas ara terísti as [89℄.Ini ialmente, os três per�s pare iam su� ientes para satisfazer as ne essidades de todasas apli ações existentes. Com o passar dos anos, novas apli ações sugiram assim omo novasne essidades. Tornou-se então ne essário riar mais per�s derivados do per�l prin ipal (Main).Surgiram então quatro novos per�s:• High (HP) - Este per�l foi desenvolvido para ser usado em apli ações de alta de�nição.Os su essores dos DVDs (HD DVD e Blu-Ray) e a televisão digital de alta de�nição(HD TV) foram os motivos da riação deste per�l.• High 10 (Hi10P) - Baseado no HP, este per�l não é tão usado omo HP pois a diferençade qualidade é tão pou a que por vezes não ompensa usá-lo.• High 4:2:2 (Hi422P) - Desenvolvido para apli ações pro�ssionais que utilizam vídeoentrelaçado, o Hi422P é baseado no Hi10P e permite a utilização do formato de romi-nân ia 4:2:2.• High 4:4:4 (Hi444P) - O Hi444P é usando em apli ações que exigem extrema qualidadede vídeo. Relativamente aos per�s anteriores, a diferença prin ipal é o formato de rominân ia 4:4:4 que é usado.Na Tabela 5.7 podemos observar os per�s avançados do H.264 e as suas ara terísti as.55

Page 70: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVC

Baseline

CAVLC

CABAC

Slices B

Slices I

Slices P

Extended

Main

Predição

Codificaçãoentrelaçada

SlicesSP e SI

Particionamentode informação com peso

ASOSlice Group

Slices

redundantes

Figura 5.16: Per�s base do H.264 (Baseline, Main e Extended) (adaptada de [72, Cap.6℄).56

Page 71: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosTé ni as de Codi� ação High High 10 High 4:2:2 High 4:4:4Té ni as do per�l prin ipal (Main pro�le) X X X XFormato rominân ia 4:2:0 X X X XProfundidade de bit (bit depth sample) 8 bits X X X XTransformação adaptativa 8×8 vs. 4×4 X X X XQuantização no es alonamento de matrizes X X X XControlo separado do parâmetro de quantização de Cb e Cr X X X XFormato de Vídeo Mono romáti o X X X XProfundidade de bit (bit depth sample) 9 a 10 bits X X XFormato da rominân ia 4:2:2 X XProfundidade de bit (bit depth sample) 11 a 12 bits XFormato da rominân ia 4:4:4 XTransformação residual de ores XPredição sem perdas XTabela 5.7: Per�s avançados do H.264/AVC e as suas ara terísti as [89℄.5.3 Níveis H.264/AVCUm nível indi a as restrições dos parâmetros e as opções a usar nas várias ferramentasde ompressão. Este é de�nido om base nas limitações de memória ou de pro essamentoexistentes. Um nível também de�ne o tamanho de ada frame (esta restrição é em termos donúmero total de píxeis por frame), o frame rate, o número de frames referên ia e o débito bi-nário máximo. Na Tabela 5.8 podemos ver os 16 níveis que foram de�nidos no H.264/AVC [35,Cap.14℄[65℄.5.4 Prin ipais diferenças relativamente às normas anterioresApesar da norma H.264 ter algumas semelhanças relativamente às normas de odi� açãoanteriores, existem algumas diferenças que melhoram a e� iên ia de ompressão, propor io-nando uma melhor �exibilidade para as mais variadas apli ações existentes. Apresentamosagora um resumo das diferenças mais importantes:• Tamanho variável dos blo os de ompensação de movimento: No H.264 existeuma maior �exibilidade no que to a à de�nição do tamanho dos blo os de ompensaçãode movimento. Contrariamente às outra normas, o tamanho mínimo do blo o é 4×4píxeis. Esta ara terísti a, melhora substan ialmente a taxa de ompressão, pois osblo os residuais tornam-se mais pre isos (resíduos mais pequenos).• Pre isão do ve tor de movimento melhorada: Pre isão da predição melhorou57

Page 72: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCNível Tamanho Débito NúmeroFrame rate binário máximo detípi o da máximo em framesframe típi o (Hz) per�s referên ia paraNon-FRExt frames detamanho típi o1 QCIF 15 64 kbps 41b QCIF 15 128 kbps 41.1 CIF ou QCIF 7.5 (CIF) 192 kbps 2(CIF)30 (QCIF) 9(QCIF)1.2 CIF 15 384 kbps 61.3 CIF 30 768 kbps 62 CIF 30 2 Mbps 62.1 HHR 30 / 25 4 Mbps 6(480i ou 576i)2.2 SD 15 4 Mbps 53 SD 30 / 25 10 Mbps 53.1 1280×720p 30 14 Mbps 53.2 1280×720p 60 20 Mbps 44 Formatos HD 60p / 30i 20 Mbps 4(720p ou 1080i)4.1 Formatos HD 60p / 30i 50 Mbps 4(720p ou 1080i)4.2 1920×1080p 60p 50 Mbps 45 2k×1k 72 135 Mbps 55.1 2k×1k ou 4k×2k 120 / 30 240 Mbps 5Tabela 5.8: Níveis disponíveis no H.264/AVC e as suas restrições [89℄.de 1/2 píxel para 1/4. Mais pre isão na predição impli a maior ompressão e melhorqualidade.

• Ve tores de movimento que apontam para blo os que saem da área limite daframe referên ia: Os ve tores de movimento em algumas das normas de odi� ação devídeo anteriores tinham de apontar sempre para um blo o que não ultrapasse os limitesda frame referên ia. No H.264 é possível odi� ar um ve tor de movimento om estas ara terísti as. O H.263 possui esta té ni a de odi� ação mas é op ional.• Referên ia a múltiplas frames: Ao ontrário das normas anteriores, no H.264 épossível usar qualquer frame (desde que su� ientemente próximas da frame a tual) para58

Page 73: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosprever o melhor ve tor de movimento. É possível usar frames do passado e/ou do futuro(previsão bidire ional).• Independên ia entre a ordem das frames de referên ia e a ordem em queestas são visualizadas no e rã depois de des odi� adas: Em algumas das normasde odi� ação de vídeo mais antigas, existe uma forte relação entre a ordem das framesreferên ia utilizadas na ompensação de movimento e a ordem em que estas são apresen-tadas no e rã. No H.264 esta restrição foi removida, permitindo que o odi� ador possaes olher a melhor ordem das frames usadas omo referên ia e das apresentadas no e rã, om um grau elevado de �exibilidade que é ondi ionado apenas pela memória totalimposta de forma a assegurar o pro esso de des odi� ação. A remoção desta restriçãopermitiu a remoção de alguns atrasos asso iados à previsão bidire ional.• Independên ia entre os métodos de representação das frames e a apa idadede referen iação das mesmas: As normas anteriores não permitiam usar omo refe-rên ia frames do tipo B para odi� ar a sequên ia de vídeo. No H.264 essa restrição jánão existe, permitindo assim uma melhor �exibilidade e melhores taxas de ompressão.• Predição pesada (weighted predi tion): A norma H.264/AVC é a primeira normaque in lui uma té ni a de odi� ação parti ular para as sequên ias de vídeo om fa-des1. Esta té ni a apli a um fa tor e um deslo amento (additive o�set) à predição da ompensação de movimento [12℄. A utilização desta té ni a melhora substan ialmentea e� iên ia de ompressão nas sequên ias de vídeo om fades.• Compensação de movimento �skipped� e �dire t�: Nas normas anteriores, osma roblo os �skipped� de uma frame eram des odi� ados usando não os valores residuaismas sim opiando o valor do ma roblo o orrespondente da frame anterior dado que ove tor de movimento e valores residuais asso iados eram nulos (ma roblo o estáti o). Omodo �dire t� é usando em vídeos onde existam obje tos que tendem a mover-se omvelo idade onstante ao longo do tempo. Desta forma é possível fazer a predição demovimento usando a primeira predição.• Predição espa ial dire ional no modo (intra-frame): Esta té ni a de prediçãopropor iona uma melhor e� iên ia na odi� ação intra-frame. O H.264 ofere e 9 modosde predição dire ional para ada blo o de luminân ia (4×4) [42℄.• Filtro anti-blo os adaptativo dentro do pro esso/ i lo de odi� ação: Existemdois tipos de �ltro anti-blo os. Um deles é apli ado depois do des odi� ador e utiliza os1Um fade onsiste na transição gradual de uma determinada ena de uma sequên ia de vídeo, para (ou de)uma or, usualmente preto ou bran o. 59

Page 74: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVCparâmetros des odi� ados. Este �ltro é op ional na maioria das normas de odi� ação.O outro, opera dentro do i lo de odi� ação e é apli ado às frames re onstruídas tantono odi� ador, omo no des odi� ador. Estas frames �ltradas são usadas omo framesreferên ia na predição temporal das frames seguintes. A utilização deste �ltro anti-blo os dentro do i lo de odi� ação melhora substan ialmente a qualidade das framesre onstruídas, que resulta em melhoramentos na exa tidão da predição temporal dasframes seguintes, já que a qualidade da frame referên ia foi melhorada. O H.264 utilizasempre este segundo �ltro no pro esso de odi� ação [67℄.• Transformação hierárqui a de blo os: A utilização de blo os pequenos (4×4), ape-sar de ter as suas vantagens, pode ausar degradação no desempenho do pro esso de odi� ação, devido à orrelação existente em algumas áreas mais largas da imagem [9,Cap.2℄. Um exemplo é uma ena que ontenha um fundo estáti o ao longo da sequên iade vídeo. A utilização de blo os pequenos na ompensação de movimento neste tipode sequên ias origina blo os residuais nulos. Devido ao tamanho reduzido dos blo os,é ne essário usar mais ve tores de movimento para odi� ar o vídeo, do que se fossemusados blo os maiores. Para suavizar este problema, o H.264 apresenta duas soluções:� Utilizar uma transformação hierárqui a, de forma a poder extender o tamanhoefe tivo do blo o da rominân ia para 8×8.� Permitir que o odi� ador es olha um tipo espe ial de odi� ação, para odi� açãointra, que possibilita a extensão do tamanho de um blo o de luminân ia, num blo o16×16.• Aritméti a de pro essamento reduzido: O H.264 ne essita apenas de pro essa-mento aritméti o de 16-bit para poder odi� ar/des odi� ar um determinado vídeo. Asnormas de odi� ação anteriores pre isavam de pelos menos 32 bits e possuiam umaaritméti a em vírgula �utuante.• Exa tidão da transformada inversa: A transforma inversa é usada no des odi� a-dor para obter o sinal (bidimensional neste aso) em função do tempo. Nas normasanteriores, a transformada usada não era totalmente reversível, o que não permitia umare uperação totalmente exa ta do que foi omprimido pelo odi� ador. Por outro lado,o erro ausado pelo pro esso quantização também não é reversível. A falta de exa tidãona operação da transformada inversa faz om que a representação do vídeo seja diferenteentre o odi� ador e o des odi� ador, provo ando assim uma redução na qualidade devídeo. O H.264/AVC é a primeira norma a forne er uma transformada inversa exa ta(esta transformada inversa exa ta já era op ional no H.263++).60

Page 75: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos• CABAC (Contex-Adaptive Binary Arithmeti Coding) e o CAVLC (Contex-Adaptive Variable-Lenght Coding): O H.264 suporta dois odi� adores de entropia:o CAVLC e o CABAC. A diferença mais importante destes odi� adores de entropia paraos das normas anteriores é a apa idade que possuem de adaptação ao ontexto.Existem outras diferenças relativamente às normas anteriores, tais omo a tolerân ia aerros e à perda de dados num anal de omuni ação. O H.264 forne e um onjunto de re ursosque torna possível transmitir os dados de um determinado stream de vídeo por um anal de omuni ação de uma forma robusta e �ável [18, 101℄.

61

Page 76: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 5. ESTUDO DA NORMA H.264/AVC

62

Page 77: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 6Resultados experimentaisEste apítulo en ontra-se dividido em in o se ções distintas. Na primeira se ção sãoapresentadas as várias sequên ia de vídeo que serão usadas nas simulações de ompressão devídeo/imagem. Na se ção seguinte, Se ção 6.2, são des ritas as implementações das normasde odi� ação de vídeo/imagem, utilizadas para obter os resultados de ompressão. Para usaralgumas dessas implementações, foi ne essário desenvolver um onjunto de ferramentas demanipulação de vídeo. A Se ção 6.3 des reve de uma forma resumida estas ferramentas demanipulação de vídeo. Por �m, nas duas últimas se ções, Se ção 6.4 e 6.5, são apresentadosos resultados de ompressão.6.1 Sequên ias de vídeo utilizadasAs sequên ias de vídeo usadas estão representadas por três frames (primeira, intermédiae última) nas Figuras 6.1-6.7. Estas sequên ias de vídeo estão disponíveis em http://tra e.eas.asu.edu/yuv/. Na Tabela 6.1 são apresentados alguns detalhes a er a da resolução,número de frames e frequên ia das sequên ias de vídeo. A Figura 6.8 dá-nos a informaçãorelativa à omplexidade de ada sequên ia de vídeo. Como é fá il deduzir, as sequên ias devídeo mais omplexas são a �paris_ if� e a �mobile_ if�. Os vídeos usados estão no formatoYUV 4:2:0, de forma a ser ompatível om as diversas implementações das normas usadas.Estas sequên ias de vídeo, para além de serem usadas na ompressão lossy, foram usadastambém na ompressão lossless (ver Se ção 6.5).6.2 Codi� adores utilizadosNesta se ção são apresentadas as implementações das normas de odi� ação de vídeoutilizadas para a ompressão das sequên ia de vídeo/imagem.63

Page 78: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAIS

Figura 6.1: Sequên ia de vídeo �news_ if�

Figura 6.2: Sequên ia de vídeo � ontainer_ if�

Figura 6.3: Sequên ia de vídeo �foreman_ if�

Figura 6.4: Sequên ia de vídeo �silent_ if�64

Page 79: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

Figura 6.5: Sequên ia de vídeo �paris_ if�

Figura 6.6: Sequên ia de vídeo �mobile_ if�

Figura 6.7: Sequên ia de vídeo �tempete_ if�65

Page 80: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAIS

6.25

6.5

6.75

7

7.25

7.5

7.75

8

8.25

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

H (

bits

)

frame

news_cifcontainer_cifforeman_cif

silent_cifparis_cif

mobile_ciftempete_cif

Figura 6.8: Entropia de primeira ordem das sequên ias de vídeo.Vídeo Resolução No de frames Frequên ia (Hz)�news_ if� CIF (352×288) 300 30� ontainer_ if� CIF (352×288) 300 30�foreman_ if� CIF (352×288) 300 30�silent_ if� CIF (352×288) 300 30�paris_ if� CIF (352×288) 10651 30�mobile_ if� CIF (352×288) 300 30�tempete_ if� CIF (352×288) 260 30Tabela 6.1: Sequên ias de vídeos originais a usar nas várias implementações das normas de odi� ação de vídeo/imagem em estudo.6.2.1 Implementações das normas de odi� ação de vídeo ( odi� ação lossy)• MPEG-1 - A implementação utilizada foi riada pelo PVRG (Portable Video Rese-ar h Group) da Universidade de Stanford. Esta implementação pode ser en ontrada noservidor FTP ftp://havefun.stanford.edu/pub/mpeg/.1Nas experiên ias efe tuadas iremos usar apenas as primeiras 300 frames da sequên ia de vídeo �paris_ if�.66

Page 81: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos• MPEG-2 - A implementação utilizada foi desenvolvida pela MSSG (MPEG SoftwareSimulation Group) e está disponível em http://www.mpeg.org/MPEG/video.• MPEG-4 (X-VID) - A implementação utilizada foi providen iada pelo proje to XVID.O XVID é um proje to open sour e que usa o per�l simples e avançado do MPEG-4para omprimir vídeo. A versão usada foi a 1.2.1 e pode ser en ontrada em http://www.xvid.org/.• H.264/AVC - A implementação utilizada foi providen iada pela JVT. A versão usadafoi a 14.2 e pode ser obtida em http://iphome.hhi.de/suehring/tml/.6.2.2 Implementações das normas de odi� ação de imagem ( odi� açãolossless)• JPEG-LS - A implementação utilizada foi providen iada pelo Signal Pro essing &Multimedia Group (SPMG/JPEG-LS V2.2 ode ) da Universidade da Colúmbia Bri-tâni a. A versão usada foi a 2.2 e pode ser en ontrada fa ilmente em http://www.stat. olumbia.edu/~jakulin/jpeg-ls/.• JPEG 2000 - A implementação utilizada foi providen iada pelo proje to Jasper. Esteproje to open sour e forne e uma implementação do software base do odi� ador es-pe i� ado pela norma JPEG-2000 Parte-1. A versão usada foi a 1.900.1 e pode seren ontrada em http://www.e e.uvi . a/~mdadams/jasper/.• PNG - A implementação utilizada foi providen iada pelo proje to Netpbm. O Netpbmé basi amente um onjunto de ferramentas que permite a onversão entre imagens dediferentes formatos. A versão usada foi a 10.0 e pode ser en ontrada fa ilmente emhttp://netpbm.sour eforge.net/.• JBIG - A implementação utilizada foi providen iada pelo proje to JBIG-KIT. Esteproje to forne e uma bibliote a de funções de ompressão e des ompressão que imple-menta a norma JBIG-1. A versão usada foi a 2.0. Este proje to pode ser en ontradaem http://www. l. am.a .uk/~mgk25/jbigkit/6.3 Ferramentas de vídeo desenvolvidasPara poder usar algumas das implementações dos odi� adores de vídeo/imagem referidosna Se ção 6.2, foi ne essário desenvolver algumas ferramentas de manipulação de vídeo. As67

Page 82: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAISferramentas desenvolvidas foram baseadas numa implementação base utilizada na dis iplinade Codi� ação de Áudio e Vídeo [60℄.As ferramentas desenvolvidas são apresentadas a seguir:• VideoCompare - Esta ferramenta ompara duas sequên ias de vídeo (YUV 4:2:0, YUV4:4:4 e RGB) e imprime o PSNR (Peak Signal-to-Noise Ratio) e o RMSE Root MeanSquared Error obtido no pro esso de omparação. Mais detalhes podem ser en ontradosno Anexo A.3.• VideoConverter - Utilizando este módulo podemos onverter uma sequên ias de vídeode YUV para RGB e vi e-versa. Para mais detalhes ver o Anexo A.4.• VideoEntropyCal ulator - Este módulo permite o ál ulo da entropia de primeiraordem de uma sequên ia de vídeo (YUV 4:2:0, YUV 4:4:4 e RGB). Para mais detalhesver o Anexo A.5.• VideoFrameExtra tor - Usando esta ferramenta é possível extrair frames de sequên- ias de vídeo em YUV 4:2:0, YUV 4:4:4 e RGB para diversos formatos de imagem (RGB,PPM e PGM). Para mais detalhes ver o Anexo A.6.• VideoShow - Ferramenta de reprodução de sequên ias de vídeo em YUV 4:2:0, YUV4:4:4 e RGB. Para mais detalhes ver o Anexo A.7.6.4 Resultados de ompressão de vídeo om perdas (lossy)Nesta se ção são apresentados vários resultados relativamente ao desempenho das normasde odi� ação de vídeo em modo lossy, usando as sequên ias de vídeo des ritas na Se ção 6.1.6.4.1 CAVLC vs CABACNa Figura 6.9 são apresentados os resultados de desempenho dos dois odi� adores deentropia que o H.264 utiliza. Estes odi� adores de entropia, já enun iados na Se ção 5.1.6,exploram a redundân ia estatísti a dos símbolos de maneira diferente, apesar de usarem ummodelo de ontexto semelhante. Como já foi referido na Se ção 3.2.4, a odi� ação aritméti a( orresponde ao CABAC no H.264) propor iona melhores resultados de ompressão do queos ódigos de omprimento variável ( orresponde ao CAVLC no H.264). Relativamente aosegundo grá� o da Figura 6.9, podemos veri� ar que os valores do PSNR das sequên iasde vídeo re onstruídas são semelhantes, omo era esperado. Os odi� adores de entropia nãoafe tam a qualidade �nal do vídeo, pois estes exploram a redundân ia estatísti a dos símbolos, odi� ando-os sem introduzir erro ( odi� ação lossless).68

Page 83: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

200

400

600

800

1000

1200

1400

1600

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif

débi

to b

inár

io (

kbps

)

sequências de vídeo

Débito binário para cada vídeo usando os codificadores de entropia CAVLC e CABAC

CAVLCCABAC

30

32

34

36

38

40

42

44

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif

PS

NR

(dB

)

sequências de vídeo

PSNR para cada vídeo usando os codificadores de entropia CAVLC e CABAC

CAVLCCABAC

Figura 6.9: Grá� o que mostra o desempenho entre o CAVLC e o CABAC.

69

Page 84: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAIS6.4.2 Resultados mais geraisA Tabela 6.2 ilustra, de uma forma resumida, os resultados da ompressão das sequên iasde vídeo usando as normas de odi� ação MPEG-x e H.264/AVC a um débito binário de350kbps e 700kbps. Estes resultados também se en ontram apresentados gra� amente nasFiguras 6.10 e 6.11. A norma H.264 foi desenvolvida para propor ionar ompressão de vídeo avárias taxas de transmissão, em que a qualidade do mesmo seja tão boa ou superior às outrasnormas de odi� ação de vídeo existentes. Através da analise destas duas �guras e da tabela,podemos on�rmar isso. Na Figura 6.132 podemos analisar a relação entre a qualidade e a taxade transmissão das implementações de odi� ação de vídeo utilizadas na sequên ia de vídeo�news_ if�. Através desta �gura, é possível on luir fa ilmente que a melhor relação perten eao H.264, omo seria esperado. As novas fun ionalidades inseridas no H.264 e a possibilidadede manipular om mais liberdade os parâmetros a usar, propor ionam ex elentes resultados de ompressão omparando om as normas de odi� ação de vídeo mais antigas. Estes resultadosprovam que o trabalho desenvolvido pela JVT teve bastante su esso e que esta norma satisfazas ne essidades da maioria dos utilizadores. Na Figura 6.123 são apresentados os temposdas simulações de ada norma de odi� ação de vídeo. Analisando o grá� o apresentado naFigura 6.12, podemos on luir que a norma H.264 é a norma que mais re ursos omputa ionaisne essita para poder odi� ar uma sequên ia de vídeo.Na Figura 6.14 é apresentado o desempenho dos diferentes per�s existente no H.264. Comojá foi des rito na Se ção 5.2, a es olha do per�l está rela ionada om os re ursos disponíveise om as apli ações que vão ser usadas. O per�l Baseline é um per�l simples que usa omínimo de re ursos e em que a resolução ne essária é normalmente baixa. Se observarmos aFigura 6.14, veri� amos que este per�l ne essita de menos largura de banda do que os outrose que a qualidade do mesmo é aproximadamente igual aos outros per�s. Já o per�l Extendedne essita de mais largura de banda, pois é usado normalmente em apli ações de streamingde vídeo na Internet. Este per�l tem in orporado té ni as adi ionais de prevenção de errosque normalmente onsistem na adição de redundân ia. O Main é o per�l mais omum, poistem a melhor relação qualidade/re ursos. O per�l High é um per�l relativamente re ente quesurgiu om as extensões do H.264 para ser utilizado nas apli ações de vídeo de alta de�nição.Através da Figura 6.14 veri� amos que, ontrariamente ao que seria esperado, o débito binárione essário para usar este per�l é inferior ao que é ne essário no per�l Extended. Esta diferençadeve-se possivelmente graças às novas fun ionalidades das extensões que foram adi ionadas2Os valores do débito binário usados no H.264/AVC são valores aproximados, pois o software em questão(JM 14.2) não tinha o Rate Control totalmente fun ional.3Para os odi� adores MPEG-1 e MPEG-2, foi ne essário utilizar o omando time (http://www.linuxmanpages. om/), pois os � heiros de logging não forne em os tempos de odi� ação de ada vídeo.70

Page 85: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

20

22

24

26

28

30

32

34

36

38

40

42

44

46

48

50

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif 20

22

24

26

28

30

32

34

36

38

40

42

44

46

48

50

PS

NR

(dB

)

sequências de vídeo

MPEG−1MPEG−2

MPEG−4(XVID)H.264/AVC

PSfrag repla ements médiaFigura 6.10: PSNR para as várias sequên ias de vídeo usando as normas de odi� ação nasua versão lossy ( om perdas) a 700kbps.

20

22

24

26

28

30

32

34

36

38

40

42

44

46

48

50

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif 20

22

24

26

28

30

32

34

36

38

40

42

44

46

48

50

PS

NR

(dB

)

sequências de vídeo

MPEG−1MPEG−2

MPEG−4(XVID)H.264/AVC

PSfrag repla ements médiaFigura 6.11: PSNR para as várias sequên ias de vdeo usando as normas de odi� aço na suaversão lossy ( om perdas) a 350kbps. 71

Page 86: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAIS

1

10

100

1000

10000

100000

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif

tem

po (

s)

sequências de vídeo

Débito binário a 350kbps.

MPEG−1MPEG−2MPEG−4

H.264

1

10

100

1000

10000

100000

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif

tem

po (

s)

sequências de vídeo

Débito binário a 700kbps.

MPEG−1MPEG−2MPEG−4

H.264

PSfrag repla ements média

média

Figura 6.12: Tempos do pro esso de odi� ação de ada uma das normas de odi� ação devídeo.

72

Page 87: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosOriginal Compr. PSNR (dB)Vídeo (bits) Norma (bits) 350kbps 700kbps�news_ if� 364953600 MPEG-1 11794953 33.35 38.10MPEG-2 11534472 34.90 39.02MPEG-4 3732696 40.72 43.43H.264/AVC 1865960 43.88 45.48� ontainer_ if� 364953600 MPEG-1 13917344 33.26 37.14MPEG-2 11529680 34.06 37.48MPEG-4 4083176 39.24 41.70H.264/AVC 1631040 40.85 43.48�foreman_ if� 364953600 MPEG-1 18038166 32.63 35.91MPEG-2 11435728 32.58 35.42MPEG-4 7696432 36.43 38.68H.264/AVC 3421040 38.32 40.78�silent_ if� 364953600 MPEG-1 15208500 32.96 36.12MPEG-2 11531608 33.90 37.30MPEG-4 4288008 39.09 41.40H.264/AVC 2070920 40.15 43.49�paris_ if� 364953600 MPEG-1 22300258 28.52 31.39MPEG-2 11549688 28.91 32.49MPEG-4 7578176 35.28 37.85H.264/AVC 4155952 36.64 40.38�mobile_ if� 364953600 MPEG-1 44477974 26.07 26.10MPEG-2 11559864 25.55 26.80MPEG-4 25351784 27.57 30.03H.264/AVC 11412744 30.08 32.83�tempete_ if� 316293120 MPEG-1 26367170 28.95 30.98MPEG-2 9943208 28.51 30.97MPEG-4 14990160 31.17 33.32H.264/AVC 7896608 32.72 35.14MPEG-1 - 30.86 33.73MPEG-2 - 31.25 34.27MPEG-4 - 35.73 38.15média - H.264/AVC - 37.40 40.32Tabela 6.2: Resultados da ompressão das sequên ias de vídeo usando as normas MPEG-1,MPEG-2, MPEG-4(XVID) e H.264/AVC.73

Page 88: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAIS

30

32

34

36

38

40

42

44

46

48

50

100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000

PS

NR

(dB

)

débito binário (kbps)

MPEG−1MPEG−2

XVID(MPEG−4)H.264/AVC

Figura 6.13: Débito binário vs PSNR da sequên ia de vídeo �news_ if� usando as normas de odi� ação na sua versão lossy ( om perdas).mais tarde no H.264 (Frext).Como já foi referido na Se ção 5.2, ada per�l usa té ni as de odi� ação diferentes, oque impossibilita fazer uma omparação dire ta relativamente ao desempenho de ada um.Apesar desta di� uldade e através do segundo grá� o da Figura 6.14, podemos observar quea qualidade de vídeo dos diversos per�s do H.264 é semelhante em ada sequên ia, apesar dasté ni as de odi� ação variarem de per�l para per�l.6.5 Resultados de ompressão de vídeo sem perdas (lossless)Nesta se ção, iremos apresentar alguns resultados práti os relativos ao desempenho dealgumas normas de odi� ação lossless mais importantes (Se ções 4.2.1-4.2.4) e ompará-las om os resultados da norma H.264 na sua vertente lossless. As sequên ias de vídeo originaistiveram de ser onvertidas de YUV 4:2:0 para um onjunto de imagens (frames) no formatoRGB/PPM. Note-se que a onversão YUV 4:2:0 para RGB pode in�uen iar um pou o osresultados obtidos, dado que o formato YUV 4:2:0 não usa a mesma amostragem em ada omponente Y, U e V (ver Capítulo 2.3.2).Na Tabela 6.3 e na Figura 6.15 podemos observar um resumo dos resultados da ompressãodos vídeos usando as mais diversas normas de odi� ação lossless.74

Page 89: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

200

400

600

800

1000

1200

1400

1600

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif

débi

to b

inár

io (

kbps

)

sequências de vídeo

Débito binário para cada vídeo usando os principais perfis do H.264

BaselineMain

ExtendedHigh

30

32

34

36

38

40

42

44

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif

PS

NR

(dB

)

sequências de vídeo

PSNR para cada vídeo usando os principais perfis do H.264

BaselineMain

ExtendedHigh

Figura 6.14: Grá� o que mostra o desempenho entre os prin ipais per�s do H.264.

75

Page 90: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAIS

10

15

20

25

30

35

40

45

50

55

60

65

70

news_cif container_cif foreman_cif silent_cif paris_cif mobile_cif tempete_cif 10

15

20

25

30

35

40

45

50

55

60

65

70

débi

to b

inár

io (

Mbp

s)

sequências de vídeo

JBIGPNG

JPEG−LSJPEG−2000H.264/AVC

PSfrag repla ements médiaFigura 6.15: Débito binário para as várias sequên ias de vídeo usando as normas de odi� açãona sua versão lossless.Apesar do H.264 ser uma norma de odi� ação mais re ente, om fun ionalidades maisavançadas e om novas ferramentas de odi� ação/representação da informação, esta norma,na sua versão lossless, não propor iona os resultados desejados. De forma a ombater estalimitação do H.264, existem publi ados vários trabalhos [43, 44, 45, 79℄, que tentam melhoraros resultados da ompressão lossless usando o H.264.Na Figura 6.16 podemos visualizar um grá� o onde é apresentado o débito binário instan-tâneo ao longo da sequên ia de vídeo �foreman_ if�, usando as normas de odi� ação lossless.Este grá� o é urioso pois a sequên ia de vídeo em questão tem uma mudança de enárioperto da frame 190. Esta mudança de enário, no entanto, não altera a relação existente entreo desempenho das diversas normas, tornando o JPEG-2000 a melhor es olha para odi� açãolossless.

76

Page 91: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos

20

25

30

35

40

45

50

55

60

65

70

20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 20

25

30

35

40

45

50

55

60

65

70

débi

to b

inár

io (

Mbp

s)

débi

to b

inár

io (

Mbp

s)

frame

JBIGPNG

JPEG−LSJPEG2000H.264/AVC

Figura 6.16: Comparação do débito binário da sequên ia de vídeo �foreman_ if� usando asnormas JBIG, PNG, JPEG-LS, JPEG 2000, H.264/AVC.

77

Page 92: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 6. RESULTADOS EXPERIMENTAISOriginal Comprimido Débito binárioVídeo (bits) Norma (bits) (bpp) (Mbps)�news_ if� 729907200 JBIG 398371360 13.10 39.84PNG 361152416 11.88 36.12JPEG-LS 336892600 11.08 33.69JPEG 2000 296593888 9.75 29.66H.264/AVC 424263608 13.95 42.43� ontainer_ if� 729907200 JBIG 450751600 14.82 45.08PNG 396322032 13.03 39.63JPEG-LS 392928824 12.92 39.29JPEG 2000 307584712 10.11 30.76H.264/AVC 471360688 15.50 47.14�foreman_ if� 729907200 JBIG 450213048 14.80 45.02PNG 413886832 13.61 41.39JPEG-LS 393102608 12.93 39.31JPEG 2000 317587080 10.44 31.76H.264/AVC 488246840 16.05 48.82�silent_ if� 729907200 JBIG 471770192 15.51 47.18PNG 427959424 14.07 42.80JPEG-LS 413426520 13.59 41.34JPEG 2000 325492952 10.70 32.55H.264/AVC 499194912 16.41 49.92�paris_ if� 729907200 JBIG 488112544 16.04 48.81PNG 446532288 14.68 44.65JPEG-LS 430071800 14.14 43.01JPEG 2000 366756304 12.06 36.68H.264/AVC 533522336 17.54 53.35�mobile_ if� 729907200 JBIG 578972376 19.04 57.90PNG 556097568 18.29 55.61JPEG-LS 530950688 17.46 53.10JPEG 2000 465399200 15.30 46.54H.264/AVC 657701664 21.63 65.77�tempete_ if� 632586240 JBIG 446788400 16.95 51.55PNG 414288248 15.72 47.80JPEG-LS 391077688 14.84 45.12JPEG 2000 338781976 12.85 39.09H.264/AVC 486994584 18.48 56.19JBIG - 15.73 47.84PNG - 14.44 43.93JPEG-LS - 13.83 42.06JPEG 2000 - 11.58 35.22média - H.264/AVC - 17.05 51.86Tabela 6.3: Comparação do débito binário das várias sequên ias de vídeos usando as normasJBIG, PNG, JPEG-LS, JPEG 2000 e H264/AVC na vertente lossless.78

Page 93: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Capítulo 7Con lusões e trabalho futuroA norma H.264/AVC é a melhor es olha para odi� ação de vídeo digital nas mais variadasapli ações de hoje em dia. Apesar desta norma ne essitar de bastante re ursos omputa io-nais, propor iona os melhores resultados de ompressão, mantendo a qualidade de imagem eutilizando menos largura de banda.Na odi� ação lossy, o H.264 tem um desempenho sempre superior às outras normasde odi� ação, independentemente da omplexidade do vídeo a odi� ar. Relativamente à odi� ação lossless, o H.264 tem os piores resultados de ompressão, omparando-o om asnormas de odi� ação de imagem mais onhe idas. O JPEG 2000 tem as melhores taxas de ompressão na odi� ação lossless, pois esta norma transforma as omponentes RGB em YUVtornando o pro esso de odi� ação mais e� iente.Nem todas as implementações das normas de odi� ação utilizam o mesmo formato omo� heiro de entrada. As ferramentas de manipulação de vídeo desenvolvidas, permitem efe tuaras onversões de vídeo ne essárias para poder usar o software de ada uma das norma. Outradi� uldade que surgiu neste trabalho, foi a árdua tarefa para extrair a informação dos � heirosde logging do software de ompressão. Cada norma tem um formato de � heiro de loggingdiferente o que não fa ilitou a riação dos grá� os e das tabelas dos resultados.A implementação do H.264 (JM 14.2) é bastante ompleta e permite de�nir quase todosos parâmetros de odi� ação, através de um longo e detalhado � heiro de on�guração ouutilizando argumentos na linha de omando. Por outro lado, o ontrolo do débito bináriomáximo nesta implementação apresenta alguns problemas. Se de�nirmos um débito máximode 100kbps neste software, o resultado obtido após a ompressão é sempre superior a 100kbps.Um outro problema desta norma é a velo idade de pro essamento para odi� ar uma sequên iade vídeo. As sequên ias utilizadas nas simulações demoram er a de 80 minutos em médiapara serem omprimidas usando odi� ação lossy.Uma limitação existente em todos os programas de ompressão de vídeo apresentados neste79

Page 94: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

CAPÍTULO 7. CONCLUSÕES E TRABALHO FUTUROtrabalho é a di� uldade de ontrolar o parâmetro que de�ne a qualidade de uma determinadovídeo (PSNR). Era bastante útil in orporar uma opção de ontrolo de qualidade no software de odi� ação, pois permitiria obter alguns resultados de ompressão bastante interessantes. Estaopção não deve ser fá il de implementar e possivelmente iria aumentar o tempo de odi� ação.Como trabalho futuro, seria interessante efe tuar algumas simulações de odi� ação deimagem utilizando imagens ompostas (texto, grá� os e enas naturais), já existindo algumtrabalho desenvolvido neste sentido [20, 106℄. Outro assunto que não foi dis utido nestetrabalho om detalhe foi a amada NAL do H.264. De forma a ompreender melhor o seufun ionamento, no que to a ao ontrolo de erros e à �exibilidade em operar em diferente redes,seria interessante efe tuar um estudo mais alargado dessa amada.

80

Page 95: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Apêndi e AVideo toolsA.1 Data Stru turesHere are the data stru tures with brief des riptions:RGBFrame (RGBFrame is a stru t that represents a frame from a vídeo sequen e ) .Yuv420Frame (Yuv420Frame is a stru t that represents a YUV 4:2:0 frame from avideo sequen e ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Yuv444Frame (Yuv444Frame is a stru t that represents a YUV 4:4:4 frame from avideo sequen e ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A.2 File ListHere is a list of all do umented �les with brief des riptions: onversions. (This module handles the basi onversions operations of video sequen- es ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . onversions.h (This is the header �le for the basi onversions of video sequen es andanother helpfull fun tions ) . . . . . . . . . . . . . . . . . . . . . . . . . . .rgb. (This module handles the basi operations on RGB video sequen es ) . . . . .rgb.h (This is the header �le for the basi operations on RGB video sequen es ) . . .VideoCompare. (This apli ation ompares two video sequen es and prints the PSNRand RMSE resulting of the omparison pro ess ) . . . . . . . . . . . . . . . 80VideoConverter. (This program onverts video sequen es between YUV e RGB ) . . 81VideoEntropyCal ulator. (This apli ation al ulates the entropy of a video sequen e ) 83VideoFrameExtra tor. (This program extra ts one frame from a video sequen e inYUV (4:2:0 or 4:4:4) or RGB ) . . . . . . . . . . . . . . . . . . . . . . . . . 86VideoShow. (This program plays YUV and RGB sequen es (using SDL) ) . . . . . . 8881

Page 96: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

APÊNDICE A. VIDEO TOOLSyuv420. (This module handles the basi operations on YUV 4:2:0 video sequen es )yuv420.h (This is the header �le for the basi operations on YUV 4:2:0 video sequen es )yuv444. (This module handles the basi operations on YUV 4:4:4 video sequen es )yuv444.h (This is the header �le for the basi operations on YUV 4:4:4 video sequen es )A.3 VideoCompare. File Referen eThis apli ation ompares two video sequen es and prints the PSNR and RMSE resultingof the omparison pro ess.#in lude <stdio.h>#in lude <stdlib.h>#in lude <string.h>#in lude <math.h>#in lude "yuv420.h"#in lude "yuv444.h"#in lude "rgb.h"#in lude " onversions.h"Fun tions

• int main (int arg , har ∗argv[ ℄)A.3.1 Detailed Des riptionThis apli ation ompares two video sequen es and prints the PSNR and RMSE resultingof the omparison pro ess.Author: Luís MatosVersion: 1.2Date: Creation: 27/01/2009Last Modi� ation: 10/03/2009A.3.2 Fun tion Do umentation 82

Page 97: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosint main (int arg , har ∗ argv[ ℄)Main fun tionUsage:./VideoCompare [OPTIONS℄ FileName1 FileName2OPTIONS:• Base video sizes[ -QCIF ℄ [ -CIF ℄ [ -SIF ℄• Or a size de�ne by user[ -w VideoWidth ℄ [ -h VideoHeight ℄[ -yuv420 ℄[ -yuv444 ℄[ -rgb ℄[ -v ℄ ∗ Verbose ModeNOTES:∗ FileName1 and FileName2 in RGB or YUV format∗ QCIF (176x144)∗ CIF (352x288)∗ SIF(NTSC) (352x240)

A.4 VideoConverter. File Referen eThis program onverts video sequen es between YUV e RGB.#in lude <stdio.h>#in lude <stdlib.h>#in lude <string.h>#in lude "yuv420.h"#in lude "yuv444.h"#in lude "rgb.h"#in lude " onversions.h" 83

Page 98: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

APÊNDICE A. VIDEO TOOLSEnumerations• enum T_CONV {YUV420_YUV444, YUV444_YUV420, YUV420_RGB, YUV444_RGB,RGB_YUV420, RGB_YUV444, UKW_CONV }Indi ates the video onversion type.Fun tions• int main (int arg , har ∗argv[ ℄)A.4.1 Detailed Des riptionThis program onverts video sequen es between YUV e RGB.Author: Luís MatosVersion: 1.2Date: Creation: 27/01/2009Last Modi� ation: 10/03/2009A.4.2 Enumeration Type Do umentationenum T_CONVIndi ates the video onversion type.Enumerator: YUV420_YUV444 YUV 4:2:0 to YUV 4:4:4YUV444_YUV420 YUV 4:4:4 to YUV 4:2:0YUV420_RGB YUV 4:2:0 to RGBYUV444_RGB YUV 4:4:4 to RGBRGB_YUV420 RGB to YUV 4:2:0RGB_YUV444 RGB to YUV 4:4:4UKW_CONV Unknown Conversion84

Page 99: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira MatosA.4.3 Fun tion Do umentationint main (int arg , har ∗ argv[ ℄)Main fun tionUsage:./VideoConverter [OPTIONS℄ FileName1 > Filename2OPTIONS:• Base video sizes[ -QCIF ℄ [ -CIF ℄ [ -SIF ℄• Or a size de�ne by user[ -w VideoWidth ℄ [ -h VideoHeight ℄[ -420toRGB ℄ ∗ YUV420 format to RGB[ -420to444 ℄ ∗ YUV420 format to YUV444[ -444to420 ℄ ∗ YUV444 format to YUV420[ -444toRGB ℄ ∗ YUV444 format to RGB[ -RGBto420 ℄ ∗ RGB format to YUV420[ -RGBto444 ℄ ∗ RGB format to YUV444NOTES:∗ FileName1 and FileName2 in RGB or YUV format∗ QCIF (176x144)∗ CIF (352x288)∗ SIF(NTSC) (352x240)A.5 VideoEntropyCal ulator. File Referen eThis apli ation al ulates the entropy of a video sequen e.#in lude <stdio.h>#in lude <stdlib.h>#in lude <string.h>#in lude <math.h>#in lude "yuv420.h" 85

Page 100: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

APÊNDICE A. VIDEO TOOLS#in lude "yuv444.h"#in lude "rgb.h"#in lude " onversions.h"De�nes• #de�ne P 255Fun tions• void reset (int a[ ℄, int s)Reset an array that ontains the symbols ount.• double entropy (int a[ ℄, int s, double n)Return the entropy value.• int main (int arg , har ∗argv[ ℄)A.5.1 Detailed Des riptionThis apli ation al ulates the entropy of a video sequen e.Author: Luís MatosVersion: 1.2Date: Creation: 27/01/2009Last Modi� ation: 10/03/2009A.5.2 De�ne Do umentation#de�ne P 255De�nes max the number os simbolsA.5.3 Fun tion Do umentation 86

Page 101: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosdouble entropy (int a[ ℄, int s, double n)Return the entropy value.For internal use only. Parameters: a Symbols ounts Number of symbolsn Total number of elementsReturns: entropyint main (int arg , har ∗ argv[ ℄)Main fun tionUsage:./VideoEntropyCal ulator [OPTIONS℄ FileName1 > resultsOPTIONS:

• Base video sizes[ -QCIF ℄ [ -CIF ℄ [ -SIF ℄• Or a size de�ne by user[ -w VideoWidth ℄ [ -h VideoHeight ℄[ -yuv420 ℄[ -yuv444 ℄[ -rgb ℄[ -v ℄ ∗ Verbose ModeNOTES:∗ FileName in RGB or YUV format∗ results is the entropy results∗ QCIF (176x144)∗ CIF (352x288)∗ SIF(NTSC) (352x240) 87

Page 102: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

APÊNDICE A. VIDEO TOOLSvoid reset (int a[ ℄, int s)Reset an array that ontains the symbols ount.For internal use only. Parameters: a Count symbolss Number os symbolsA.6 VideoFrameExtra tor. File Referen eThis program extra ts one frame from a video sequen e in YUV (4:2:0 or 4:4:4) or RGB.#in lude <stdio.h>#in lude <stdlib.h>#in lude <string.h>#in lude <math.h>#in lude "yuv420.h"#in lude "yuv444.h"#in lude "rgb.h"#in lude " onversions.h"Fun tions

• int main (int arg , har ∗argv[ ℄)A.6.1 Detailed Des riptionThis program extra ts one frame from a video sequen e in YUV (4:2:0 or 4:4:4) or RGB.Author: Luís MatosVersion: 1.3Date: Creation: 09/02/2009Last Modi� ation: 10/03/2009A.6.2 Fun tion Do umentation 88

Page 103: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matosint main (int arg , har ∗ argv[ ℄)Main fun tionUsage:./VideoFrameExtra tor [OPTIONS℄ FileName1 FileName2OPTIONS:• Base video sizes[ -QCIF ℄ [ -CIF ℄ [ -SIF ℄• Or a size de�ne by user[ -w VideoWidth ℄ [ -h VideoHeight ℄[ -yuv420 ℄[ -yuv444 ℄[ -rgb ℄[ -fn FrameNumber) ℄[ -of OutFormat℄• Out Formats:

∗ SPYUV (Slipt YUV (4:2:0 or 4:4:4) in 3 di�erent �les .Y, .U and .V)∗ SGYUV (Single .yuv (4:2:0 or 4:4:4) �le with the frame data)∗ SPRGB (Split RGB in 3 di�erent �les .R, .G and .B)∗ SIRGB (Single .rgb �le with the frame data)∗ PPM (An .ppm �le ontaining the frame information)∗ PGM (An .pgm �le ontaining the frame information)∗ PGMp (Slip RGB omponents in 3 �les .pgm ontaining ea h omponent value)NOTES:

∗ FileName1 is the name of the RGB or YUV video sequen e.∗ FileName2 is the name of the output �le.∗ QCIF (176x144)∗ CIF (352x288)∗ SIF(NTSC) (352x240) 89

Page 104: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

APÊNDICE A. VIDEO TOOLSA.7 VideoShow. File Referen eThis program plays YUV and RGB sequen es (using SDL).#in lude <stdio.h>#in lude <stdlib.h>#in lude <string.h>#in lude <SDL.h>#in lude "yuv444.h"#in lude "yuv420.h"#in lude "rgb.h"#in lude " onversions.h"Fun tions• int main (int arg , har ∗argv[ ℄)A.7.1 Detailed Des riptionThis program plays YUV and RGB sequen es (using SDL).Author: Luís MatosVersion: 1.3Date: Creation: 27/01/2009Last Modi� ation: 10/03/2009A.7.2 Fun tion Do umentationint main (int arg , har ∗ argv[ ℄)Main fun tionUsage:./VideoShow [OPTIONS℄ FileNameOPTIONS:• Base video sizes[ -QCIF ℄ [ -CIF ℄ [ -SIF ℄ 90

Page 105: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos• Or a size de�ne by user[ -w VideoWidth ℄ [ -h VideoHeight ℄[ -yuv420 ℄[ -yuv444 ℄[ -rgb ℄[ -fps frameRate ℄ ∗ Frame Rate[ -wait ℄ ∗ Stop after �rst frameNOTES:∗ FileName in RGB or YUV format∗ QCIF (176x144)∗ CIF (352x288)∗ SIF(NTSC) (352x240)∗ Start/stop playing - Key [s℄∗ Step frame by frame - Key [spa e℄∗ Quit - Key [q℄

91

Page 106: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

APÊNDICE A. VIDEO TOOLS

92

Page 107: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Bibliogra�a[1℄ The 3ivx Home Page, Apr. 2009. http://www.3ivx. om/.[2℄ The DivX Home Page, Apr. 2009. http://www.divx. om/.[3℄ The Nero Home Page, Apr. 2009. http://www.nero. om.[4℄ The Qui ktime Home Page, Apr. 2009. http://www.apple. om/qui ktime/.[5℄ The x264 Home Page, Apr. 2009. http://www.videolan.org/developers/x264.html.[6℄ The Xvid Home Page, Apr. 2009. http://www.xvid.org/.[7℄ M. Abdat and M. Bellanger. Combining Gray oding and JBIG for lossless image ompression. IEEE International Conferen e on Image Pro essing, 1994. Pro eedings.ICIP-94., 3:851�855 vol.3, Nov 1994.[8℄ A. Agarwal, A. Rowberg, and Y. Kim. Fast JPEG 2000 de oder and its use in medi alimaging. IEEE Transa tions on Information Te hnology in Biomedi ine, 7(3):184�190,Sept. 2003.[9℄ W. H. C. Bassetti, H. Sun, X. Chen, and T. Chiang. Digital Video Trans oding forTransmission and Storage. CRC Press, 1st edition, De . 2004.[10℄ G. Bin, W. Wei-dong, S. Yu-li, and Z. Hong. A High Speed CABAC Algorithm Ba-sed on Probability Estimation Update. Fourth International Conferen e on Image andGraphi s, 2007. ICIG 2007., pages 195�199, Aug. 2007.[11℄ E. Bodden, M. Clasen, and J. Kneis. Arithmeti Coding revealed - A guided tour fromtheory to praxis. Te hni al Report SABLE-TR-2007-5, Sable Resear h Group, S hoolof Computer S ien e, M Gill University, Montréal, Québe , Canada, May 2007.[12℄ J. Boy e. Weighted predi tion in the H.264/MPEG AVC video oding standard. In-ternational Symposium on Cir uits and Systems, 2004. ISCAS '04. Pro eedings of the2004, 3:III�789�92 Vol.3, May 2004. 93

Page 108: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

BIBLIOGRAFIA[13℄ R. Cajote, S. Aramvith, R. Guevara, and Y. Miyanaga. FMO sli e group maps usingspatial and temporal indi ators for H.264 wireless video transmission. IEEE Internati-onal Symposium on Cir uits and Systems, 2008. ISCAS 2008., pages 3566�3569, May2008.[14℄ T. Caçoilo. Sistema de Conversão de Vídeo. Master's thesis, Universidade de Aveiro,2008.[15℄ J.-W. Chen, C.-Y. Kao, and Y.-L. Lin. Introdu tion to H.264 advan ed video oding.Asia and South Pa i� Conferen e on Design Automation, 2006., pages 6 pp.�, Jan.2006.[16℄ C. Christopoulos, A. Skodras, and T. Ebrahimi. The JPEG2000 still image odingsystem: an overview. IEEE Transa tions on Consumer Ele troni s, 46(4):1103�1127,Nov. 2000.[17℄ G. C�té, B. Erol, M. Gallant, and F. Kossentini. H.263+: Video oding at low bit rates.IEEE Transa tions on Cir uits and Systems for Video Te hnology, 8(7):849�866, Nov.1998.[18℄ R. de Queiroz, R. Ortis, A. Zaghetto, and T. Fonse a. Fringe bene�ts of the H.264/AVC.Tele ommuni ations Symposium, 2006 International, pages 166�170, Sept. 2006.[19℄ P. Deuts h. DEFLATE Compressed Data Format Spe i� ation version 1.3, RFC 1951.Aladdin Enterprises, May 1996.[20℄ W. Ding, Y. Lu, and F. Wu. Enable E� ient Compound Image Compression inH.264/AVC Intra Coding. IEEE International Conferen e on Image Pro essing, 2007.ICIP 2007., 2:II �337�II �340, 16 2007-O t. 19 2007.[21℄ G. Fernandez-Es ribano, H. Kalva, P. Cuen a, L. Oroz o-Barbosa, and A. Garrido. AFast MB Mode De ision Algorithm for MPEG-2 to H.264 P-Frame Trans oding. IEEETransa tions on Cir uits and Systems for Video Te hnology, 18(2):172�185, Feb. 2008.[22℄ B. Fowler, R. Arps, A. El Gamal, and D. Yang. Quadtree based JBIG ompression.Data Compression Conferen e, 1995. DCC '95. Pro eedings, pages 102�111, Mar. 1995.[23℄ T. Gardos. H.263+: the new ITU-T re ommendation for video oding at low bit rates.Pro eedings of the 1998 IEEE International Conferen e on A ousti s, Spee h and SignalPro essing, 1998., 6:3793�3796 vol.6, May 1998.94

Page 109: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos[24℄ J. Golston and A. Rao. Video Compression: System Trade-O�s with H.264, VC-1 andOther Advan ed CODECs. In White Paper, Texas Instruments, Aug. 2006.[25℄ R. Gray. Entropy and Information Theory. Springer, 1st edition, Sep. 1990.[26℄ V. Ha, W.-S. Shim, and J.-W. Kim. Real-time MPEG-4 AVC/H.264 CABAC entropy oder. International Conferen e on Consumer Ele troni s, 2005. ICCE. 2005 Digest ofTe hni al Papers., pages 255�256, Jan. 2005.[27℄ H. Hampela, R. B. Arpsb, C. Chamzas , D. Dellertd, D. L. Duttweilere, T. Endohf,W. Equitzb, F. Onog, R. Pas ob, I. Sebestyenh, C. J. Starkeyi, S. J. Urbanj, Y. Yama-zakif, and T. Yoshidak. Te hni al features of the JBIG standard for progressive bi-levelimage ompression. Signal Pro essing: Image Communi ation, 4(2):103 � 111, 1992.[28℄ W. Hantanong and S. Aramvith. Analysis of ma roblo k-to-sli e group mapping forH.264 video transmission over pa ket-based wireless fading hannel. 48th Midwest Sym-posium on Cir uits and Systems, 2005., pages 1541�1544 Vol. 2, Aug. 2005.[29℄ B. Haskell, A. Puri, and A. Netravali. MPEG Video Compression Standard. Springer,8th edition, 1997.[30℄ H. Hewlett-Pa kard. HP Labs LOCO-I/JPEG-LS Home Page, 2009. http://www.hpl.hp. om/lo o/.[31℄ P. Howard and J. Vitter. Arithmeti oding for data ompression. Pro eedings of theIEEE, 82(6):857�865, Jun. 1994.[32℄ D. Hu�man. A Method for the Constru tion of Minimum-Redundan y Codes. Pro ee-dings of the IRE, 40(9):1098�1101, Sept. 1952.[33℄ J. Hwang and B. Lee. ITU-T re ommendation H.261 video oder-de oder, 1997.[34℄ ISO/IEC 14496-10, Information te hnology - Coding of audio-visual obje ts - Part 10:Advan ed Video Coding. ISO/IEC 14496-10, O t. 2004.[35℄ K. Ja k. Video Demysti�ed: A Handbook for the Digital Engineer. L L H Te hnologyPublishing, 4th edition, 2005.[36℄ K. Ja k. Video Demysti�ed: A Handbook for the Digital Engineer. Newnes, 5th edition,May 2007.[37℄ J. John Watkinson. The Engineer's Guide to Motion Compensation. Snell & Wil oxLtd, 1994. 95

Page 110: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

BIBLIOGRAFIA[38℄ P. Jorgensen. Personal Web Page, 2009, 2009. http://www. s.uiowa.edu/~jorgen/.[39℄ The JPEG ommittee home page, 2009. http://www.jpeg.org/index.html.[40℄ A. D. Kerr. Chrominan e Subsampling in Digital Images, Nov. 2005.[41℄ S. Khayam. The Dis rete Cosine Transform DCT: Theory and Appli ation. In Seminar1 � The Dis rete Cosine Transform: Theory and Appli ation. Department of Ele tri aland Computer Engineering Mi higan State University, Mar. 2003.[42℄ D.-Y. Kim, S. Jeong, K.-A. Moon, and Y.-L. Lee. A New Method for EstimatingIntra Predi tion Mode in H.264/AVC. IEICE Trans Fundamentals, E91-A(6):1529�1532, 2008.[43℄ N. Krishnan, R. Kumar, P. Lakshmi, and K. Subramanian. Hierar hi al Based LosslessIntra Coding for H.264/MPEG-4 AVC. International Journal of Computer S ien es andEngineering Systems, 2(2):136�140, Apr. 2008.[44℄ N. Krishnan, R. Selvakumar, P. Vijayalakshmi, and K. Arulmozhi. Adaptive SinglePixel Based Lossless Intra Coding for H.264 / MPEG-4 AVC. International Conferen eon Computational Intelligen e and Multimedia Appli ations, 2007., 3:63�67, De . 2007.[45℄ Y.-L. Lee, K.-H. Han, and G. Sullivan. Improved lossless intra oding for H.264/MPEG-4AVC. IEEE Transa tions on Image Pro essing, 15(9):2610�2615, Sept. 2006.[46℄ S. M. LoPresto, K. Ram handran, and M. T. Or hard. Image Coding based on MixtureModeling of Wavelet Coe� ients and a Fast Estimation-Quantization Framework. InDCC '97: Pro eedings of the Conferen e on Data Compression, page 221, Washington,DC, USA, 1997. IEEE Computer So iety.[47℄ S. Mall. MPEG-2 De oder for SHAPES DOL. Master's thesis, ETH Zuri h, Züri hSwitzerland, Apr. 2007.[48℄ J. Maller. FXS ript Referen e - RGB and YUV Color, Apr. 2009. http://www.fxs riptreferen e.org/rgb-yuv- olor.html.[49℄ H. Malvar, A. Hallapuro, M. Kar zewi z, and L. Kerofsky. Low- omplexity transformand quantization in H.264/AVC. IEEE Transa tions on Cir uits and Systems for VideoTe hnology, 13(7):598�603, July 2003.[50℄ D. Marpe, H. S hwarz, and T. Wiegand. Context-based adaptive binary arithmeti oding in the H.264/AVC video ompression standard. IEEE Transa tions on Cir uitsand Systems for Video Te hnology, 13(7):620�636, July 2003.96

Page 111: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos[51℄ J. Mit hell, C. Fogg, D. LeGall, and W. Pennebaker. MPEG Video Compression Stan-dard. Springer, 2nd edition, 1997.[52℄ C. Morimoto, P. Burlina, and R. Chellappa. Video oding using hybrid motion om-pensation. International Conferen e on Image Pro essing, 1997. Pro eedings., 1:89�92vol.1, O t. 1997.[53℄ MPEG Industry Forum. Understanding MPEG-4: Te hnologies, Advantages, and Mar-kets. An MPEGIF White Paper, 2005.[54℄ G. Nageswara Rao and P. Gupta. Improved Intra Predi tion for E� ient Pa ketizationin H.264 with Multiple Sli e Groups. IEEE International Conferen e on Multimedia andExpo, 2007, pages 1607�1610, July 2007.[55℄ A. Neves. Compressão sem perdas de imagens om ara terísti as parti ulares. PhDthesis, Universidade de Aveiro, 2007.[56℄ A. Neves and A. Pinho. Lossless Compression of Mi roarray Images Using Image-Dependent Finite-Context Models. IEEE Transa tions on Medi al Imaging, 28(2):194�201, Feb. 2009.[57℄ F. Ono, W. Ru klidge, R. Arps, and C. Constantines u. JBIG2-the ultimate bi-levelimage oding standard. Pro eedings. 2000 International Conferen e on Image Pro es-sing, 2000., 1:140�143 vol.1, 2000.[58℄ D. Pas ale. A Review of RGB olor spa es . . . from xyY to RGB, O t. 2003.[59℄ F. Pereira and T. Ebrahimi. The MPEG-4 Book. Prenti e Hall, 2002.[60℄ A. J. Pinho. Codi� ação de Áudio e Vídeo, 2009. http://www.ieeta.pt/~ap/ av.[61℄ PNG Home Page, 2009. http://www.libpng.org/pub/png/.[62℄ C. Poynton. A guided tour of olor spa e. Pro eedings of the SMPTE Advan ed Televisionand Ele troni Imaging Conferen e, pages 167�180, Feb. 1995.[63℄ C. Poynton. Chroma subsampling notation, 2003.[64℄ C. Poynton. Digital Video and HDTV Algorithms and Interfa es. Morgan KaufmannPublishers In ., San Fran is o, CA, USA, 1st edition, 2003.[65℄ A. Puria, X. Chenb, and A. Luthra . Video oding using the H.264/MPEG-4 AVC ompression standard. Signal Pro essing on Image Communi ation, 19(9):793�849, 2004.97

Page 112: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

BIBLIOGRAFIA[66℄ M. Rabbani and P. Jones. Digital image ompression te hniques. Tutorial Texts inOpti al Engineering Series. So iety of Photo-Opti al Instrumentation Engineers (SPIE),Bellingham, WA, USA, 4th edition, 1991.[67℄ R. Raja Gulistan and M. Javed. In-loop Deblo king Filter for H.264/AVC Video. pages235�240, 2006.[68℄ S. Rane and G. Sapiro. Evaluation of JPEG-LS, the new lossless and ontrolled-lossy stillimage ompression standard, for ompression of high-resolution elevation data. IEEETransa tions on Geos ien e and Remote Sensing, 39(10):2298�2306, O t. 2001.[69℄ K. Rao and Y. Huh. JPEG 2000. Video/Image Pro essing and Multimedia Communi- ations 4th EURASIP-IEEE Region 8 International Symposium on VIPromCom, pages1�6, 2002.[70℄ Re ommendation ITU-R BT.601-5. Studio en oding parameters of digital television forstandard 4:3 and wide-s reen 16:9 aspe t ratios. ITU-T, 1995.[71℄ Re ommendation ITU-T BT.500-11. Methodology for the subje tive assessment of thequality of television pi tures. ITU-T, 2002.[72℄ I. E. G. Ri hardson. H.264 and MPEG-4 Video Compression. Wiley, 1st edition, 2003.[73℄ K. Rijkse. H.263: video oding for low-bit-rate ommuni ation. IEEE Communi ationsMagazine, 34(12):42�45, De 1996.[74℄ J. Rissanen and G. G. Langdon Jr. Arithmeti Coding. IBM Journal of Resear h andDevelopment, 23(2):149�162, 1979.[75℄ J. Rissanen and G. G. Langdon Jr. Universal modeling and oding. IEEE Transa tionson Information Theory, 27(1):12�23, Jan. 1981.[76℄ G. Roelofs. PNG: The De�nitive Guide. Greg Roelofs, 2003.[77℄ A. Said. Introdu tion to Arithmeti Coding - Theory and Pra ti e. Te hni al report, HP- Hewlett-Pa kard, Report HPL-2004-76, Imaging Systems Laboratory, HP LaboratoriesPalo Alto, Apr. 2004.[78℄ D. Salomon. Variable-length Codes for Data Compression. Springer-Verlag, Berlin,Germany / Heidelberg, Germany / London, UK, 2007.98

Page 113: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos[79℄ V. San hez, P. Nasiopoulos, and R. Abugharbieh. Lossless Compression of 4D Me-di al Images using H.264/AVC. Pro eedings. 2006 IEEE International Conferen e onA ousti s, Spee h and Signal Pro essing, 2006. ICASSP 2006, 2:II�II, May 2006.[80℄ D. R. Santos. Estratégias de Arquivo de Imagiologia Cardía a. Master's thesis, Univer-sidade de Aveiro, 2008.[81℄ M. Santos. Codi� ação de Vídeo MPEG-4 em FPGA. Master's thesis, Universidade deAveiro, 2007.[82℄ K. Sayood. Introdu tion to data ompression. 2nd edition, 2000.[83℄ R. S hafer. MPEG-4: a multimedia ompression standard for intera tive appli ationsand servi es. Ele troni s & Communi ation Engineering Journal, 10(6):253�262, De .1998.[84℄ R. S häfer, T. Wiegand, and H. S hwarz. The Emerging H.264/AVC CompressionStandard. In Heinri h Hertz Institute, Berlin, Germany, Jan. 2003.[85℄ H. Shojania and S. Sudharsanan. A high performan e CABAC en oder. IEEE-NEWCASConferen e, 2005. The 3rd International, pages 315�318, June 2005.[86℄ T. Sikora. The MPEG-4 video standard veri� ation model. IEEE Transa tions onCir uits and Systems for Video Te hnology, 7(1):19�31, Feb. 1997.[87℄ T. Sikora. MPEG digital video- oding standards. Signal Pro essing Magazine, IEEE,14(5):82�100, Sep. 1997.[88℄ W.-C. Siu and K.-C. Hui. On modelling the hybrid video oding for analysis and futuredevelopment. Communi ations & Signal Pro essing, 2007 6th International Conferen eon Information, pages 1�5, De . 2007.[89℄ G. Sullivan, P. Topiwala, and A. Luthra. The H.264/AVC Advan ed Video Coding Stan-dard: Overview and Introdu tion to the Fidelity Range Extensions. In SPIE Conferen eon Appli ations of Digital Image Pro essing XXVII, Aug. 2004.[90℄ G. Sullivan and T. Wiegand. Video Compression - From Con epts to the H.264/AVCStandard. Pro eedings of the IEEE, 93(1):18�31, Jan. 2005.[91℄ S. Süsstrunk, R. Bu kley, and S. Swen. Standard RGB Color Spa es. In Pro . IS&T/SID7th Color Imaging Conferen e, volume 7, pages 127�134, 1999.99

Page 114: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

BIBLIOGRAFIA[92℄ M. Tkal i and J. Tasi . Colour spa es: per eptual, histori al and appli ational ba k-ground. EUROCON 2003. Computer as a Tool. The IEEE Region 8, 1:304�308 vol.1,Sept. 2003.[93℄ M.-C. Tsai and T.-S. Chang. High Performan e Context Adaptive Variable LengthCoding En oder for MPEG-4 AVC/H.264 Video Coding. IEEE Asia Pa i� Conferen eon Cir uits and Systems, 2006. APCCAS 2006., pages 586�589, De . 2006.[94℄ P. Tudor. MPEG-2 Video Compression. Ele troni s and Communi ation EngineeringJournal, 7(6):257�264, De 1995.[95℄ T. Von Roden. H.261 and MPEG1 - a omparison. Conferen e Pro eedings of the 1996IEEE Fifteenth Annual International Phoenix Conferen e on Computers and Commu-ni ations, 1996., pages 65�71, Mar. 1996.[96℄ G. Walla e. The JPEG still pi ture ompression standard. IEEE Transa tions onConsumer Ele troni s, 38(1):xviii�xxxiv, Feb. 1992.[97℄ T. Wedi and S. Wittmann. Quantization o�sets for video oding. IEEE InternationalSymposium on Cir uits and Systems, 2005. ISCAS 2005, pages 324�327 Vol. 1, May2005.[98℄ M. Weinberger, G. Seroussi, and G. Sapiro. From LOGO-I to the JPEG-LS standard.1999 International Conferen e on Image Pro essing, 1999. ICIP 99. Pro eedings., 4:68�72 vol.4, 1999.[99℄ M. Weinberger, G. Seroussi, and G. Sapiro. The LOCO-I lossless image ompressionalgorithm: prin iples and standardization into JPEG-LS. IEEE Transa tions on ImagePro essing, 9(8):1309�1324, Aug. 2000.[100℄ ISO/IEC JTC1/SC29/WG11, Overview of the MPEG-4 Standard. ISO/IECJTC1/SC29/WG11 N4668, Mar. 2002.[101℄ T. Wiegand, G. Sullivan, G. Bjontegaard, and A. Luthra. Overview of the H.264/AVCvideo oding standard. IEEE Transa tions on Cir uits and Systems for Video Te hno-logy, 13(7):560�576, July 2003.[102℄ I. H. Witten, R. M. Neal, and J. G. Cleary. Arithmeti oding for data ompression.Commun. ACM, 30(6):520�540, 1987.[103℄ X. Wu and N. Memon. CALIC-a ontext based adaptive lossless image ode . IEEEInternational Conferen e on A ousti s, Spee h, and Signal Pro essing, 1996. ICASSP-96. Conferen e Pro eedings, 1996, 4:1890�1893 vol. 4, May 1996.100

Page 115: Depa - Universidade de Aveiro · Depa rtamento de Electrónica, T elecomunicaçõ es e Info rmática 2009 Luís Miguel de Oliveira Matos Estudo e aplicaçõ es da no rma de co di

Julho 2009 Luís Miguel de Oliveira Matos[104℄ Z. Wu and J. Boy e. Optimal Frame Sele tion for H.264/AVC FMO Coding. IEEEInternational Conferen e on Image Pro essing, 2006, pages 825�828, O t. 2006.[105℄ Z. Xiao and B. Baas. A high-performan e parallel CAVLC en oder on a �ne-grainedmany- ore system. IEEE International Conferen e on Computer Design, 2008. ICCD2008, pages 248�254, O t. 2008.[106℄ A. Zaghetto and R. de Queiroz. Using H.264/AVC-Intra for Segmentation-Driven Com-pound Do ument Coding. IEEE International Conferen e on Image Pro essing, 2007.ICIP 2007., 2:II �333�II �336, 16 2007-O t. 19 2007.

101