上海交通大学硕士学位论文基于手持设备的多标准解码器:—H.264/AVC,AVS,和MPEG-4的研究姓名:黄照熙申请学位级别:硕士专业:计算机系统结构指导教师:付宇卓;林福辉200901011摘要手机不仅成为一种大众普及的通信工具,同时也成为一个便携式的影音娱乐平台。与此同时,伴随着3G,4G技术在不远的将来的应用,手持设备也必将拥有更高的数据传输速率,手机电视的应用也将得以普及。目前国际通用的,最先进的视频信源编解码标准H.264/AVC,必将成为手机电视视频的一种主流编解码标准。在我国,具有自主知识产权的,性能接近H.264但实现复杂度较H.264来的低的新一代音、视频编解码标准AVS已经在2006年成为国家标准。两大手机电视标准的候选者CMMB和CDMB均明确表示支持AVS成为其信源编码标准之一。此外,目前主流的多媒体娱乐影音便携设备都支持对MPEG-4码流的解码,再加上市面上已经存在很多供手持式设备使用的MPEG-4片源。基于以上的应用事实,针对手持式设备,本论文提出一种支持三种标准的码流,即H.264/AVC标准中的BL@L2,AVS标准中的JiZhun@L2.1和MPEG-4标准中的ASP@L2的解码器设计。在研究中主要侧重两方面,一是多标准之间相同模块的硬件复用,另一个是针对个别模块的性能优化。在硬件复用方面,我们主要关注码流解析,熵解码,反余弦变换,运动补偿和去块效应模块的多标准硬件的复用和共享。对于码流解析器,大量的保存中间信息的寄存器可以在三个标准之间充分共享。H.264/AVC,AVS和MEPG-4的熵解码均采用查变长码表的办法,合并不同码表之间相同的码字的方法可以在一定程度上缩小码表。这对于内置的硬连线式码表很有意义。将AVS和MEPG-4的基于8´8的反余弦变换核改写为迭代形式的基于4´4的反余弦变换,使得在一套硬件上实现三种标准的反余弦变换成为可能。三个标准均支持1/4象素精度的运动补偿,在运动补偿模块中引入三种标准共享的cache,能有效降低冗余数据读取率。此外,修改AVS中差值法采用的滤波器系数,一方面使得设计更加规整,另一方面也加快了数据吞吐率。由于去块滤波在MPEG-4中是可选的,本论文对去块效应滤波模块的研究仅仅讨论AVS和H.264/AVC的去块效应滤波模块。两者相同的架构及流水线设计大大节省了硬件开销,此外公用的片内存储空间也进一步降低了硬件开销。总的说来,通过以上这些公用措施,与单一标准的解码器相比,多标准的设计在面积和逻辑门数量上节省了约25%。在性能优化和提高方面,我们主要关注解变长编码,运动补偿和去块效应滤波这三个模块。影响解变长码吞吐率的主要因素是变长码解码路径中的长反馈回路。此外处理逃逸码也需要花销额外的时间。针对MEPG-4,我们提出了一种并行的逃逸码,正常码探测机制,加速了解码过程中对逃逸码的处理。对于AVS,我们提出了解码字和查码表并行运行的机制,有效缩短了反馈路径,提高了吞吐率。在运动补偿模块中,我们提出了基于象素行的,直接映射的cache,大大降低了冗余数据的读取,提高了数据总线的利用率。在去块效应滤波中,我们提出了三级流水的工作方式,并在不违背标准定义的滤波工作方式下,提出了新的边滤波次序,从而一方面减小了片内存储器空间,另一方面大大提高了滤波器的吞吐率。IIAbstractCellphonehasnotonlybecomesapopularmasscommunicationtool,butalsoservesasaportablemultimediaplayer.Withthedevelopmentof3G/4Gtechnologies,cellphonewillbenefitfrommorefastdatatransmissionrate,andTVplayeroncellphonebecomespossible.H.264/AVCisthenewestandmostefficientinternationalvideocodingstandard.Itisastrongcandidateformultimediatransformationoverwire/wirelessnetwork.AVSbecomesChinesenationalstandardin2006,andtwostrongcandidatesformobileTVsolutionsinChina:CMMBandCDMBbothclaimthemselvestosupportAVS.What’smore,consideringtheprevalentMPEG-4portablemultimediadevicesinthemarkettoday,itisnecessarytoconsiderMPEG-4whentalkingaboutmultimediaplayer.Baseontheaforementionedfactors,thisthesisproposesajointvideocodingdecoderforportabledevices.WeselectBL@L2inH.264/AVC,JiZhun@L2.1inAVS,andASP@L2inMPEG-4asourresearchtarget.Wefocusourattentionsmainlyontwocategories:oneishardwarereusewithinsamefunctionalmodulesamongthreestandardsatarchitectureoralgorithmiclevel.Theotherisperformanceenhancementinspecifiedmodule.Inhardwarereusesection,wetakesyntaxparsermodule,entropydecodingmodule,IDCT(InverseDiscreteCosinTransformation)module,MC(MotionCompensation)module,andde-blockingmoduleintoconsideration.Insyntaxparsermodule,registerarraycouldbereusedamongthreestandards.Forentropydecodingmodule,tablemergingmethodamongdifferentvariablelengthtableisproposedtoreducecodetablesize.RecursivealgorithmisintroducedtohandledifferentIDCTkernelsizeamongthreestandards.InordertoreduceredundantfetchingrateinMCprocess,areusedcacheisintroduced.What’smore,byproperlymodifyingFIRcoefficientsinAVS,H.264/AVCandAVScanreuseonestructuralFIRset.Consideringde-blockingfilterinMPEG-4isoptional,weproposedastructuralpipelinedesignarchitectureforH.264/AVCandAVS.On-chipmemorycouldbereused,andboundarystrengthjudgmentismingled.Inperformanceenhancementsection,wefocusourattentionsonethreemodules:VLD(VariableLengthDecoder),MC(MotionCompensation),andde-blockingmodule.FeedbackpathandescapecodehandlingschemehazardVLDmoduletoachievehighthroughput.ForMPEG-4VLDmodule,feedbackpathisnotitscriticalpath,buttherearefourmodesforhandlingescapecode.Weproposedaparalleldetectingmethodwhichcanhandlenormalcode,escapecode,andfixedlengthcodesimultaneity.Higherthroughputcanbeachievedbyapplyingsuchscheme.ForAVS,webreakVLDmoduleintotwoparallelworkingpart:oneforcodeworddecoding,theotherforsymboldecoding.So,longfeedbackpathisbrokenintotwoshorterones.InMCprocess,apixellinebased,twodimensionalcacheisproposedforreducingredundantfetchingrate.Pipelineworkingflowwithhybridfilteringorderisintroducedtode-blockingmoduleforH.264/AVCandAVS.On-chipmemorysizereductionisbenefitfromhybridfilteringorder,whilethroughputincreaseisbenefitfromthreestagepipelineworkingflow.3ListofAllFiguresFigure1.1.BlockDiagramofbasichybridDCT/MCcoding/decodinginfrastructurereference.....7Figure2.1.Systemarchitecturediagramreference………………………………………………..17Figure2.2.Tablemergingscheme………………………………………………………………...20Figure2.3.QuarterpixelinterpolationinMPEG-4……………………………………………….21Figure2.4.QuarterpixelInterpolationdiagram…………………………………………………..23Figure2.5.InversekernelforMPEG-4,andAVS………………………………………………...25Figure2.6.Themodifiedandrelatedpixelsintheprocessoffiltering(H.264/AVC)…………….27Figure3.1.ProposedArchitectureforMPEG-4VLD…………………………………………….31Figure3.2.TwostagespipelineforfourVLDdecodingmodeinMPEG-4………………………32Figure3.3.StandardVLDprocessforAVS……………………………………………………….34Figure3.4.ProposedarchitectureforAVS-P2VLD………………………………………………36Figure3.5.ShiftRegmoduleandpriorityF1Dmodule…………………………………………..37Figure3.6.AVS-P2’sthreestagesforitsVLDdecodingprocess…………………………………38Figure3.7.Statetransiti