AVS-M与H.264(Baseline)视频解码器结构的分析

发布者:tau29最新更新时间:2013-05-30 来源: eefocus关键字:AVS-M  H.264  视频解码器 手机看文章 扫描二维码
随时随地手机看文章

H.264是JVT组织起草的一个覆盖多种应用和面向多种传输环境的国际标准,它规定了三种档次,基本档次(Baseline profile)、主要档次(Main profile)和扩展档次(Extended profile),其中基本档次利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC),主要用于会议电视、可视电话和无线通信等实时视频通信。

AVS(Audio video coding)标准是由我国自主制定,拥有自主知识产权的音视频编解码技术标准。AVS-M(Mobile video)是AVS系列标准中的第七部分——移动视频,应用于数字存储媒体、宽带视频业务、远程监控和可视电话等。

AVS-M和H.264(Baseline)视频解码器在结构上十分相似,但又各有其核心思想,本文基于JM10.2和WM3.3源代码对两解码器的关键技术作了详细分析。程序中并未单独有H.264(Baseline)的代码,是笔者从JM10.2中抽取出来分析的,下文中H.264均表示从基本档次上考虑。

两种标准的解码器结构

AVS-M和H.264视频解码器都只需考虑I帧和P帧(为了两标准视频解码器更好地比较,本文对H.264只考虑帧图像,不考虑场图像)的解码,总体思想是从比特流中解出头信息,产生预测块,熵解码得到的量化系数经反量化、反变换得到残差块,预测块和残差块相加后,经过滤波器即可得到重建的图像,其结构框图如图1所示。

图1 解码器总体框架

在实际应用当中,这两种标准设计出来的解码器应用领域有所不同,现就以下几个方面分析两种标准的差异。

1 比特流信息


①NALU(Network Abstract Layer Unit):两标准中的比特流都是以NAL为单位,每个NAL单元包含一个RBSP,NALU的头信息定义了RBSP所属类型。类型一般包括序列参数集(SPS)、图像参数集(PPS)、增强信息(SEI)、条带(Slice)等,其中,SPS和PPS属于参数集,两标准采用参数集机制是为了将一些重要的序列、图像参数(解码图像尺寸、片组数、参考帧数、量化和滤波参数标记等)与其他参数分离,通过解码器先解码出来。此外,为了增强图像的清晰度,AVS-M增加了图像头(Picture head)信息。读取NALU过程中,每个NALU前有一个起始码0x000001,为防止内部0x000001序列竞争,H.264编码器在最后一字节前插入一个新的字节——0x03,所以解码器检测到该序列时,需将0x03删掉,而AVS-M只需识别出起始码0x000001。


②读取宏块类型(mb type)和宏块编码模板(cbp):编解码图像以宏块划分,一个宏块由一个16*16亮度块和相应的一个8*8cb和一个8*8cr色度块组成。


(a) 两标准的帧内、帧间预测时宏块的划分是有区别的。H.264中,I_slice亮度块有Intra_4*4和Intra_16*16两种模式,色度块只有8*8模式;P_slice宏块分为16*16、16*8、8*16、8*8、8*4、4*8、4*4共7种模式。而AVS-M中,I_slice亮度块有I_4*4和I_Direct两模式,P_slice时宏块的划分和H.264中的划分一致。 [page]


(b) 两标准的宏块cbp值计算也不相同。H.264中,Intra_16*16宏块的亮度(色度)cbp直接通过读mb type得到;非Intra_16*16宏块的亮度cbp=coded_block_pattern%16,色度cbp=coded_block_pattern/16 。其中,亮度cbp最低4位有效,每位决定对应宏块的残差系数是否为0;色度cbp为0时,对应残差系数为0,cbp为1时,DC残差系数不为0,AC系数为0,cbp为2时,DC、AC残差系数都不为0。AVS-M中,当宏块类型不是P_skip时,直接从码流中得到cbp的索引值,并以此索引值查表得到codenum值,再以codenum查表分别得到帧内/帧间cbp。此cbp为6位,每位代表宏块按8*8划分时是否包含非零系数,当变换系数不为0时,需进一步读cbp_4*4中每位值来判断一个8*8块中4个4*4块的系数是否为0。

2 帧内预测

H.264中Intra_16*16亮度块和8*8色度块都有4种预测模式(垂直、水平、直流、平面),AVS-M中8*8色度块只有3种(垂直、水平、直流),H.264中Intra_4*4和AVS-M中的4*4亮度块都有9种预测模式,但排列顺序不一样。H.264中的Intra_4*4和AVS-M中的4*4亮度块的模式可以通过邻块的帧内模式来预测,预测方法不同。H.264中,当前亮度块的最可能模式由左块(A)、上块(B)中较小的决定,如果相邻块不存在,则A、B模块的模式置为DC。而预测模式的选定要看码流中标志信息prev_intra4*4_pred_mode,该标志为1时,则用最可能模式,该标志不为0时,还需看参数rem_intra4*4_pred_mode,如果它小于最可能模式,则预测模式即为rem_intra4*4_pred_mode,否则为rem_intra4*4_pred_mode+1。AVS-M中,左块(A)、上块(B)的预测模式(若不存在,置为-1)形成表格后,通过查表可获得当前块的最可能模式。对I_Direct,其预测模式即为最可能模式;对I_4*4,需看标志信息pred_mode_flag,该标志为0时,预测模式即为最可能模式;该标志为1时,当码流中读到的intra_luma_pred_mode小于最可能模式,则预测模式为最可能模式,否则,预测模式为intra_luma_pred_mode+1。另外, H.264中的Intra_16*16和色度预测模式从码流中读取,AVS-M的色度预测模式也从码流中读取。
3 帧间预测

两标准下亮度块的运动矢量等于预测运动矢量(MVPred)加上比特流中读取到的运动矢量差(MVD)。由于亮度MV精度为1/4像素,而色度精度为1/8像素,因此,色度块的运动矢量等于亮度块的两倍。AVS-M和H.264的当前亮度块E和邻块A、B、C、D的空间位置分别如图2、3所示。E的大小可以是16*16、16*8、8*16、8*8、8*4、4*8或4*4。显然,AVS-M中,A是与E的左下角样本紧邻的块,B、D与E的左上角样本紧邻的块,C是与E的右上角样本紧邻的块。H.264中,A是与E的左上角样本紧邻的块,B、D与E的左上角样本紧邻的块,C是与E的右上角样本紧邻的块。

 

                                              图2 AVS-M预测块邻块位置

                                           图3 H.264预测块邻块位置 [page]

4 熵解码

H.264中采用基于上下自适应的可变长编码(CAVLC),其原理: 4*4块残差数据经整数变换、量化后非零系数主要集中在低频部分,高频系数大部分是零,且高频位置上非零系数值大部分是+1和-1。AVS-M熵编码也采用变长编码技术,在AVS-M熵编码过程中,所有的语法元素和残差数据都是以指数哥伦布码的形式映射成二进制比特流。

5 环路滤波

两标准都是采用基于块的残差系数反变换、反量化,量化过程相对粗糙,反量化恢复的变换系数必定带来误差,另一方面,运动补偿块可能来自不同帧位置的内插样本块,将导致边界不连续,因此,需采用环路滤波来消除块预测误差造成的失真。H.264中根据相邻块模式、参考索引、运动矢量和解码块确定滤波强度,滤波强度参数Bs值为0~4,对于Bs为1~3的采用4抽头滤波器,对于Bs为4的采用6抽头滤波器。H.264中滤波器能适应片级、边界级和样点级的需要。而在AVS-M中根据当前宏块是帧内(帧间)编码宏块来选择帧内(帧间)滤波器,当满足滤波条件后,采用4抽头滤波器对边界先垂直后水平滤波。AVS-M滤波器相对H.264而言,像素少,强度弱,但在消除方块效应的同时能大大地减少滤波时间。

应用前景

直播卫星电视和高清电视是其中进展最快的项目。与整机厂商互动,AVS标准组可从实际应用中得到反馈,对标准、实现算法、软件、IP内核、专用芯片进行及时的修改和改进,从而真正适应产业的需求。

上广电主持的卫星电视实验系统项目中的AVS编码器则采用了“转码器+DSP”的实现方案。该系统高度兼容MPEG-2,这是由于MPEG-2的节目较多,所以AVS与它有一个融合-取代的过程。如加密、用户管理、收费系统、编辑系统等其他配套系统不变。

总结

由上分析可知,两种视频解码器结构有很多共同之处。目前,关于H.264视频解码器的优化、硬件移植的方法及其应用很多,这些也可被AVS-M采纳。本文根据优化H.264的相关文献中的一些方法对AVS-M作过软件上的优化。算法上的优化主要包括插值、环路滤波和熵解码的优化。插值时可以将像素分为内部像素和边界像素,避免重复的判断。环路滤波时每个4*4块中的每个点有相同的边界门限,其相应的滤波操作也可以4次完成。熵解码时,可通过重新建表减少转化程序。代码上的优化主要包括程序结构优化、循环展开、数据类型选择和数据的移动等,例如,Decode_one_macroblock函数中,可根据宏块类型采用不同的函数来解码,对临时的缓存区可简化。此外,对插值运算(可转化为矩阵运算)、反量化和反变换等涉及到矩阵运算的函数都可使用MMX/SSE指令集优化。

H.264是国际通用标准,而AVS-M是我国自主制定的标准,因而,两标准兼容的视频解码器的出现是种必然。本课题接下来的工作即是在对已有结构对比分析的基础上结合两套代码,将两解码器结构相同部分进行复用,不同部分通过开关进行选择,实现对两种不同格式的码流进行识别并实时解码

关键字:AVS-M  H.264  视频解码器 引用地址:AVS-M与H.264(Baseline)视频解码器结构的分析

上一篇:ASON多播的信令技术研究
下一篇:基于CTV100平台的DPTV系统的研究与实现

推荐阅读最新更新时间:2024-05-02 22:41

S2C在中国代理Allegro的H264/AVC认证流和IP
S2C公司,一家领先的快速SoC原型技术供应商,宣布与Allegro DVT合作,在中国销售Allegro DVT产品。Allegro DVT是一家领先的H.264/MPEG-4 AVC/SVC/MVC解决方案供应商,包括行业标准的兼容性测试组件和H.264编码器及解码器VHDL 知识产权模块。Allegro DVT产品与S2C现有的SoC原型产品和硅知识产权产品链互补。S2C将在不同设计阶段为Allegro DVT客户提供增值的支持和服务。 “流媒体服务已成为互联网最重要的应用之一,消费者期望各种电子产品能够播放高清晰度的音视频文件,”S2C的CEO Toshio Nakama讲,“很显然,中国已成为发展下一代电子产品
[半导体设计/制造]
LCD TV视频解码器技术简介
    就技术层面而言,LCD TV是属于高整合电子产品。它涵盖了算法、软件、硬件、芯片、无线射频等领域,而且有许多专利是属于国外公司或机构所拥有。目前国内很缺乏熟悉这块领域的系统整合人才。目前即使在先进国家,由于LCD TV或HDTV仍然属于最新的产品,熟悉这块领域的技术人才,其实也不多。与之相近的,应该是数位机顶盒(Digital STB),不过,前者的技术复杂度又远远超过后者,因为LCD TV或HDTV除了包含了网络通信的功能以外,还包括OSD(On Screen Display)和“缩放控制器(Scalar)”、屏幕驱动等功能。所以,即使设计过STB的人,也不敢随便说LCD TV或HDTV的技术很简单。     LCD T
[嵌入式]
基于ADSP-BF561的H.264视频编码器的实现
       引言        H.264/AVC是ITU-T VCEG和ISO/IEC MPEG联合制定的最新视频编码国际标准,是目前图像通信研究领域的热点技术之一。H.264的视频编码层(VCL)采用了许多新技术,因而使其编码性能有了大幅度提高。        但这是以复杂度的成倍增加为代价的,这也使得H.264在实时视频编码及传输应用中面临着巨大的挑战。因此,要满足图像压缩的实时性要求,就需要对现有的H.264编解码器进行优化。本文主要讨论H.264系统的硬件平台和任务流程,并针对基于DSP硬件平台的特点,介绍了从代码级对算法进行优化,进一步提高编码算法的运算速度,实现H.264实时编码的具体方法。由于ADI
[嵌入式]
Ateme推出硬件编码器支持MPEG-4 AVC/H.264
Ateme推出其MPEG-4 AVC/H.264实时高清晰主要层(main profile)硬件编码器。该编码器被设计用于四种元器件,一种Altera的Stratix II FPGA和德州仪器的TMS320C64x DSP的混合结构。这些致使该器件采用了3×3英寸的电路板格式。 公司称,该设计的可编程性使其可以安全升级。它对以全比特率进行的任何配置提供了灵活性。与ASIC方案不同,据说这种解决方案使用户可以在标准完全成熟时享受未来MPEG-4 AVC的进步。 产品完全符合MPEG-4第10部分(ISO/IEC 14496-10)。现正在与解码器制造商进行互操作性测试,以被采用与被集成。MPEG-4 AVC高清晰度硬件编码器随即
[新品]
日韩众厂商转战高清H.264设备市场
  数家半导体公司都在小心翼翼地从快速发展但日益商品化的H.264解码器IC市场上撤退,转而在高清H.264编码器/解码器市场上试水。由于日本和韩国消费电子产品制造商将掀起编解码器需求的热潮,芯片供应商都希望在高清数码相机、数字视频便携式摄像机和存储设备等领域占据自己的一席之地。富士通微电子就在上周宣布开始提供一款面向视频格式高规格第4级标准的硬接线H.264编解码器的样品。Ambarella公司则早在一年前就推出了业界首款高清H.264编解码器,但从那以后就几乎没什么消息了。   Ambarella公司首席技术官Les Kohn表示,Ambarella的芯片已经赢得了“数家一流的日本和韩国公司”的设计项目。   目前市场上的
[家用电子]
监控和检查系统中的视频解码器基本原理
视频检查系统已被广泛应用于商业和工业领域。本文将通过几个例子来阐述提取有用数据如何能够使处理要求和存储器容量达到最小、使DSP使用率达到最低,并介绍ADI公司视频解码器的特殊性能如何能够简化视频算法、加快视频检查系统的开发速度。图1给出了一个典型系统的组成单元。   实例1:计数和检验物体 试想一下,一条宽传送带正在快速传送许多产品,而大量的产品使得人工计数非常困难。摄像头除了能使计数任务自动化外,还能用来监视产品质量。这可以通过修改简单的计数算法以让它关注特定细节和瑕疵来加以实现。 存储所有视频数据需要大量存储器,而处理大量数据也需要耗费大量硬件资源和处理能力。因此在检验传送带上的产品时,系统不会将整个图片数据
[嵌入式]
富士通推出超低功耗全高清H.264 CODEC芯片
  这一系列大规模集成电路(LSI)可支持全高清视频(1,920点×1,080行)在H.264格式下的编解码。该芯片在低功耗方面具有业界领先水平,在进行全高清编码时,包含内置存储器的总功耗仅为500mW。此外,“MB86H56” 芯片可支持以每秒60帧(逐行扫描)处理全高清视频,可进一步提高图像画质。   概要   “MB86H55”和“MB86H56”芯片支持全高清视频(1,920点×1,080行)在H.264格式下的编解码。   2007年以来,富士通就开始供应“MB86H51”,一款内置存储器,支持全高清H.264格式的编解码器(CODEC)芯片。现在,新款低功耗产品MB86H55在全高清编码时,包括内置存储器功
[模拟电子]
高质量实时网络视频黄金帧编解码器的实现
在某个层面上,On2 科技有限公司 (On2 Technologies) 的 TrueMotion VP7 技术实现这一目标的方式与其它视频编解码器几乎相同。它同样采用运动补偿来消除时间冗余,采用基于频率的模块变换来消除空间冗余,采用一个环路滤波器来处理模块变换的方块效应,并采用熵编码来消除统计相关性。不过,On2 的VP7技术却包含了多项使其与众不同、脱颖而出的创新性技术,而且这些技术目前正在申请专利。 黄金帧 (Golden Frame) 对 On2 TrueMotion 编解码器的新用户而言,最令人惊喜的功能之一是黄金帧。就像其它压缩器一样,TrueMotion 也保留一个最新解压的帧作为当前帧的预测器。目前
[家用电子]
高质量实时网络<font color='red'>视频</font>黄金帧编<font color='red'>解码器</font>的实现
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved