高效视频编码标准(共7篇)
高效视频编码标准 篇1
国际电联(ITU)已正式批准通过了高效视频编码标准H.265/HEVC(High Efficiency Video Coding),性能比H.264压缩标准有了很大的改善。
H.265/HEVC标准对压缩技术进行了改进,旨在有限带宽下传输更高质量的网络视频,H.265标准也同时支持超高清视频:4K(4096×2160)和8K(8192×4320)。可以说,H.265标准让网络视频跟上了显示屏“高分辨率化”的脚步。
1 HEVC编码架构
视频编码压缩的基本原理,是充分利用时间、空间的相关性,尽可能的去除冗余信息。目前通常采用混合视频编码框架,即按照相关原则将一帧数据划分为若干块,通过预测、变换、量化、熵编码等一系列算法来实现视频压缩。
与H.264/AVC相似,H.265/HEVC的编码架构主要包含:帧内预测、帧间预测、转换、量化、去区块滤波器、熵编码等模块,但与H.264基于宏块不同,HEVC整体被分为了三个基本单位:编码单位(CU,coding unit)、预测单位(PU,predict unit)和转换单位(TU,transform unit)。
2 HEVC使用的优势技术
H.265/HEVC标准在之前压缩标准的基础上进行了技术改进,有以下基本算法:图像与声音分解与合成、图像与声音前处理、小波子带熵速率控制、小波子带熵量化与反量化、小波子带邻域交叉降维等,这些算法虽然复杂,但将压缩效率提升了一倍以上,该标准具体有以下几个方面的优势技术。
1)编码结构灵活
与H.264的4×4和8×8变换块相比,H.265/HEVC引入了更大的宏块类型,扩充到16×16、32×32甚至于64×64的变换和量化算法,目的在于减少高清数字视频的宏块个数,描述宏块内容的参数信息也相对减少,以便于高分辨率视频的压缩。
为了提高视频的编码压缩效率,H.265/HEVC提出了超大尺寸四叉树编码结构,该编码结构更加灵活,并使用CU,PU和TU 3个概念来描述整个编码过程。
在编码结构上采用树状结构的CU,PU和TU,其中CU是进行编码的基本单元,类似于H.264/AVC中的宏块,HEVC对CU的划分采取四叉树迭代的方式,每个CU可以继续分割为更小的CU,如图1所示,四叉树划分的四个编码单元块是大小完全一样的正方形。
PU是进行预测的基本单元,其形状可以不是正方形,一个CU可以有一个或多个PU,而PU包括预测和变换两个部分。帧内预测有两种预测方式:2N*2N和N*N;帧间预测有四种预测方式:2N*2N、N*2N、2N*N和N*N,具体的划分方式如下图2所示。
TU是进行变换和量化的基本单元,它必须是正方形的,大小变换范围为4x4到32x32,一个CU中可以包含一个或者多个TU,如果拥有多个TU,它们可以按照四叉树的结构重新排列,如图3所示。
2)自适应样点补偿(Sample Adaptive Offset)
自适应样点补偿是一个自适应选择过程,在编解码环路内,位于去块滤波(Deblock)之后。若使用SAO技术,重构图像将按照递归的方式分裂成4个子区域,每个子区域将根据其图像像素特征选择一种像素补偿方式,以减少源图像与重构图像之间的失真,从而提高压缩率,减少码流。采用SAO后,平均码流减少了2%~6%,但编解码器的性能消耗只增加了约2%。目前有两大类补偿方式:带状补偿(BO,Band Offset)和边缘补偿(EO,Edge Offset)。
带状补偿:将像素值强度等级划分为若干个条带,每个条带内的像素拥有相同的补偿值。进行补偿时根据重构像素点所处的条带,选择相应的带状补偿值进行补偿。
边缘补偿:主要用于对图像的轮廓进行补偿。它将当前像素点值与相邻的2个像素值进行对比,用于比较的2个相邻像素可以在图4所示的4种模板中选择。
3)自适应环路滤波(Adaptive Loop Filter)
自适应环路滤波(ALF)在编解码环路内,用于恢复重建图像,在SAO或者去块滤波(Deblock)之后。ALF的原理是把编码带来的失真看成叠加在源视频数据上的高斯白噪声,根据每一帧的特性,自适应地得到相应的最优滤波器系数以滤除噪声。实验表明,自适应环路滤波器平均可使比特率下降5.46%左右,显著提高编码效率。
4)并行化设计思路
当前芯片架构已经从单核性能逐渐发展到多核并行方向,因此为了适应并行化程度非常高的芯片,HEVC引入了很多并行运算的优化思路。
除了上述关键技术,HEVC还采纳了提高编码性能的内部比特深度扩展(Internal Bit Depth Increasing,IBDI)、自适应时域/频域预测误差编码(Adaptive prediction error coding in spatial and fequency domain)、帧内预测中基于模式独立的方向性变换(Mode Dependent Directional Transform)等技术。
3 总结
综上所述,高效视频编码标准是在传统的混合编码架构的基础上,针对高清图像的特性对相关算法加以改进,在增加一定复杂度的前提下,尽可能的提高编码效率。
参考文献
[1]国际电信联盟通过下一代H.265视频标准[J].中国有线电视,2013(2).
[2]蔡晓霞,崔岩松,邓中亮.下一代视频编码标准关键技术[J].电视技术,2012,36(2).
[3]刘国梁.从H.264向H.265的数字视频压缩技术升级[J].铁路通信信号工程技术(RSCE),2011,8(3).
[4]赵亮.HEVC帧内模式决策及其核心技术的研究[D].哈尔滨:哈尔滨工业大学,2011.
[5]王养利.下一代视频编码标准中的关键算法研究[D].西安:西安电子科技大学,2010.
[6]陈清.H.265标准现状和发展应用趋势[J].中国多媒体通信,2008(10).
[7]袁春.HEVC_CAV_ESIR3_2011_2012-Video compression Beyond H.264,HEVC[S].
[8]H.265视频编码标准简介[EB/OL].http://wenku.baidu.com/view/ebcabeb369dc5022aaea0036.html.
多视视频编码标准MVC 篇2
关键词:多视视频编码,视频编码标准,三维电视,自由视点电视
0引言
从平面摄影技术诞生的那天起,人类便开始了三维影像技术的探索。1849年,David Brewster发明了改良型的立体镜,从而可以方便地观察具有视差效果的立体照片获得立体视觉。19世纪末,人们开始了三维电影技术的研究,并于1922年在洛杉矶Ambassador Hotel上映了第一部三维电影。随后,经历了上世纪50年代三维电影的蓬勃发展,目前我们已经可以在世界各地的影院中感受三维电影带来的视觉精彩。
近年,随着电子技术、显示技术以及网络技术的发展,人们开始逐渐认识到三维电视走进家庭正在成为现实。三维电视背后所蕴藏的巨大市场机会以及成为强大经济增长点的可能激发了各国政府以及相关工业界与产业界的极大热情。欧盟在2002年3月启动了ATTEST (Advanced Threedimensional Television System Technologies)项目,研究从二维电视到三维电视的过渡技术,并分别在2004年和2008年在FP6和FP7项目规划中对三维电视和三维手机的研究进行了重点资助,研究内容包括三维视频的采集、编码、传输、显示等关键技术环节。显示设备制造商,如飞利浦、夏普、索尼、三星、LG、三菱等,近年都相继推出了家用高分辨率立体显示设备。蓝光协会(Blu-ray Disc Association, BDA)目前也启动了立体视频光盘的项目。日本BS11频道甚至在每天固定时段播出三维电视节目。
国际运动图像专家组MPEG (ISO/IEC JTC1/SC29/WG11)也预见到三维立体媒体将成为历史必然,因此MPEG在2002年启动了三维音视频(3DAV, 3D Audio-Visual)相关技术研究与标准化工作,并将三维电视(3DTV, 3-D Television)与自由视点电视(FTV, Free viewpoint Television)列为重点应用。3DTV与FTV系统的一个核心技术环节即是多视视频的高效编码。2005年7月,MPEG在确认了高效多视视频编码技术存在的前提下,正式对多视视频编码技术进行了提案召集[1]并输出了MVC需求文档,至此MVC标准化工作正式启动。
2006年1月,在75次MPEG曼谷会议上,MPEG收到了来自12家单位的8项MVC技术方案提案。其中德国HHI的方案[2]采用H.264/AVC编码技术并支持灵活的视间预测结构,获得了最好的主观测试结果。HHI的技术方案被采用为基本平台,在此基础上进行后续MVC标准化工作。2006年7月,MVC标准的制定转由JVT (Joint Video Team)执行。JVT是国际电联视频编码专家组VCEG (ITU-T SG16 Q.6/16)与MPEG的联合工作组。2006年10月MVC标准形成了第一版WD (Working Draft), 2008年1月MVC标准形成FPDAM (Final Proposed Draft Amendment)[3],至此MVC标准基本制定完成。
MVC标准以H.264/AVC[4]标准补篇(Amendment)的形式出现,后向兼容H.264/AVC标准。这确保了MVC标准技术的先进性以及应用实施的可行性。目前,MVC标准在MPEG系列标准中的正式名称是ISO/IEC 14496-10:2008Amendment 1 Multiview Video Coding。本文对MVC标准进行介绍,包括MVC标准的目标应用、技术需求、技术情况、性能表现以及应用前景。
1 MVC目标应用
MVC标准制定的目标主要是为三维电视(3DTV)以及自由视点电视(FTV)等应用中的多视视频提供高效的信源编码方案。三维电视通常要同时显示两路视频信号(分别用于双目的观看),从而观看者能够获取景深信息,感受到三维立体感。自由视点电视允许观看者选择观看视点,通过视点切换观看者可以实现个人偏爱观看角度的自由选择。三维电视系统与自由视点电视系统的技术共同点是需要对同一场景的多路视频信号进行编码。
图1给出了用于3DTV与FTV应用的端到端多视视频编码系统框图[5]。在这样一个系统中,多视视频采集后送给多视视频编码器进行编码。之后,媒体服务器将编码后的码流通过网络分发给不同的终端用户。网络中的媒体网关对视频流进行转发,同时媒体网关还具有对视频流操作的能力,例如根据终端用户的需要提取部分视频流转发给终端用户。最后,终端用户接收到各自所需的视频流后进行解码显示。
对于3DTV终端用户,简单的立体显示设备只能显示一个视角下的两路具有视差效果的视频信号,而且观看者需要佩戴眼镜。高级的自动立体显示设备(autostereoscopic displays)无需观看者佩戴眼镜,而且可以同时显示多个相近视角下的立体视频。这样可以实现多个观看者同时欣赏(每个观看者能够欣赏到各自视角下的立体视频),或者单一观看者小幅度移动视角欣赏相近视角下的立体视频。因此,根据3DTV终端用户显示设备的不同,两路或者多路视频需要同时解码并显示。这要求MVC编解码技术能够有效地控制计算、存储开销以利于产品实现,并且支持并行处理以保证实时解码。MVC码流还需要具有可伸缩性,即MVC码流可以较灵活地进行抽取。这样根据3DTV终端用户显示能力的不同,只将必要的码流抽取出来并分发,从而节省传输带宽。码流的抽取可以在媒体服务器或媒体网关上进行。
对于FTV终端用户,观看者可以自由地切换观看视点。如果观看者选择了拍摄时不存在的视点,可以利用相邻两个视点合成此视点下的视频。FTV应用要求特定视点的码流能够有效地从整体MVC码流中抽取出来。MVC编解码技术要能够高效地支持视点切换。
考虑到二维电视,如HDTV,将在相当长一段时间内继续保持主流地位,MVC的部分码流需要能够在二维电视系统中解码显示。这意味着MVC标准要实现后向兼容,例如后向兼容H.264/AVC标准。
2 MVC技术需求
综合考虑MVC标准的目标应用场景,MPEG为MVC标准提出了如下技术需求[6]。这些技术需求明确了MVC标准的技术走向,给出了标准制定过程中技术取舍的基本原则。
1. 编码效率:MVC标准要具有高编码效率以有效节省多视视频的存储空间和传输带宽。具体地,MVC标准的编码效率要明显高于Simulcast编码。这里Simulcast编码是指每个视点的视频采用现有技术标准,如H.264/AVC,进行独立编码。
2. 可伸缩性:MVC标准要支持视点可伸缩(view scalability与free viewpoint scalability),即MVC码流可以进行灵活的抽取以获得特定的一个或多个视点的码流进行解码显示或者解码合成虚拟视点。
3. 后向兼容:任一时刻,MVC某一视点的码流结构要与H.264/AVC标准兼容。
4.低延迟:MVC标准要支持低延迟编解码。
5.随机访问:MVC标准要支持视间随机访问以及视内时域随机访问。
6.并行处理:MVC标准要支持多视并行处理能力,这样有助于编解码的高效实现。
7.资源管理:MVC标准要能够实现有效的解码资源管理,以支持同一时刻多视点多帧图像的顺序解码等等。
8.视频格式:QCIF到HD分辨率,YUV 4∶2∶0, 8比特/像素精度。
此外,还有一些非强制性满足的技术需求,如容错要求,编解码复杂度要求等等。
3 MVC技术介绍
MVC标准建立在H.264/AVC标准之上,以H.264/AVC标准补篇(附录H)的形式出现。在MVC标准制定过程中,出现了如亮度补偿、视间直接模式等进一步提高编码效率的工具,但考虑到兼容、效率与复杂度的折中等因素,这些编码工具最终没有被MVC标准采纳。目前MVC标准完全采用H.264/AVC High Profile中已有的编码工具。这些编码工具包括,多方向帧内补偿、可变块大小帧间补偿、多参考帧、1/4像素精度运动补偿、自适应4x4与8x8整数DCT变换、CAVLC与CABAC熵编码、环内滤波、基于视觉特性的量化缩放矩阵等。关于H.264/AVC High Profile中编码工具的介绍可以参考文献[7-8],本文不再叙述。目前,MVC标准只有一个档次,为Multiview High Profile。这个档次不支持隔行扫描视频的编码,为解决这个问题以及满足其它应用需要,MVC标准正在考虑制定一个新的档次Stereo High Profile。
相对于H.264/AVC标准,MVC标准主要有两方面的技术增强。第一,MVC标准支持灵活的视间预测结构来挖掘视间相关性,因此编码效率显著提高。视间预测结构通过MVC标准新增定义的扩展序列参数集(sequence parameter set MVC extension, SPSE)来表明。第二,MVC标准扩展了NAL头(Network Abstraction Layer),并定义了一些新的语法元素和SEI信息(Supplemental Enhancement Information messages),借以实现高效参考帧管理,码流抽取,随机访问,并行处理等功能。
3.1 视间预测
由于多视视频采集于同一场景,多视视频通常具有较强的视间相关性。因此,多视视频高效编码的关键是要能够有效利用视间相关性提高编码效率。MVC标准支持非常灵活的视间预测结构,例如标准最多支持一个视点采用其它16个视点进行视间预测,从而不同场景以及不同摄像机设置下的视间相关性可以被有效地挖掘。
MVC标准将多视视频交织编码为一个码流,视间以及视内时域上都存在较复杂的预测关系。为实现高效的参考帧管理,MVC标准在H.264/AVC标准的基础上定义了新的语法元素来增强参考帧列表管理能力。增强后的参考帧列表管理机制可以实现任意参考帧,包括视内时域参考帧与视间参考帧,在参考帧列表中的加入以及参考帧列表的重排序和截断。这样,任一当前待编码帧的前向和后向参考帧列表都可以维护在一个完备、高效排序的状态下,从而实现高效的预测和编码。在复杂预测结构下的多视编码中,高效的解码缓冲区管理对于降低实现代价至关重要。解码缓冲区管理操作包括将解码视频帧放入缓冲区,对解码帧进行标记以表示是否用于后续解码帧的参考,以及将解码帧移出缓冲区。MVC标准利用视间预测关系、视频帧是否用于视间视内参考等信息优化解码缓冲区的大小。
在多个视点中,MVC标准选择一个视点作为基视(base view)。基视不利用其它视点做预测,并且用完全兼容H.264/AVC High Profile的方式进行编码,从而MVC标准具有后向兼容的能力。此外,MVC标准在视间预测时禁用了时域直接模式(temporal direct mode)以避免编码效率降低。
3.2 码流抽取
MVC标准支持视点可伸缩与时域可伸缩。也就是说,符合MVC标准的码流可以进行部分的抽取,以获得特定的一个或多个视点的码流或者帧率缩减的码流,抽取出的码流可以独立解码并显示。
在介绍码流抽取机制之前,首先简单地介绍一下NAL的概念。NAL是H.264/AVC标准所采用的一种码流组织技术,采用NAL有利于非对等的差错保护。关于NAL的详细介绍见参考文献[7]。
MVC标准新增定义了NAL头的扩展,通过NAL头扩展中的view_id, temporal_id, priority_id以及inter_view_flag,并结合SPSE中提供的视间预测依赖关系信息,完成特定码流的抽取。MVC标准还定义了scalable nesting SEI信息以及view scalability information SEI信息来辅助码流抽取的进行。特别地,当基视的码流从MVC码流中抽取出来则形成了一个标准H.264/AVC解码器可解的单视视频流。
3.3 随机访问
在MVC系统中,随机访问包括时域方向上的随机访问,即选择一个或多个视点的特定时刻进行播放,以及视点方向上的随机访问,即视点切换。
在一特定时刻解码播放首先需要检索码流中此时刻前最近邻的随机访问点,之后确定此随机访问点由于视间预测所依赖的其它视点NAL单元,最后解码此随机访问点的相关NAL单元,从而启动一个时域随机访问操作后的解码显示过程。一个IDR帧(Instantaneous Decoding Refresh picture)即是一个随机访问点。IDR帧是完全采用帧内预测进行编码的视频帧,并且其后的视频帧(按照码流顺序,而非显示顺序)不采用IDR帧之前(按照码流顺序)的视频帧进行帧间预测。
视点切换包括从一个视点切换到另一个视点以及从多个视点切换到另外多个视点。一种视点切换的方式是采用IDR帧。另一种方式是采用H.264/AVC标准中的SP/SI帧[5]。SP/SI帧允许在预测不同的情况下,解码重构出相同的视频帧。
3.4 并行解码
由于视点之间预测依赖的存在,各视点同一时刻的视频帧通常要按照依赖关系顺序解码。在解码显示的视点数目较多时,这一顺序执行方式给实时解码带来了极大的困难。为此,MVC标准采用了并行解码SEI信息(parallel decoding information SEI message),以实现各个视点的并行解码。并行解码SEI信息提供了视点之间预测限制信息,例如某一视点宏块只能采用其它视点的部分宏块进行预测,从而预测依赖所需的其它视点的部分宏块解码完毕后,即可以开始当前视点的解码,而无须等到其它视点解码完毕。
3.5 SEI信息
除了前文所提及的三种SEI信息外,MVC标准还定义了如下SEI信息以实现更加高效的MVC编解码系统。
1.multiview acquisition information SEI信息以及multiview scene information SEI信息:描述了摄像机参数信息以及场景景深信息,用于虚拟视点的合成。
2.Non-required view component SEI信息:标识不参与解码的视频帧,以避免额外的传输,解码和缓冲。
3.view dependency change SEI信息:描述视点预测关系的变化。
4. operation point not present SEI信息:当网络环境发生变化时,如带宽降低、丢包率增大等,描述MVC码流中可用视点、帧率等的变化。
5. base view temporal HRD SEI信息:协助管理基视虚拟解码缓冲区。
4 MVC性能介绍
这里主要介绍MVC标准的编码效率并对MVC编解码实现复杂度进行简要分析。
JVT提案JVT-Y044[9]给出了MVC标准的编码效率测试结果。在MVC标准制定过程中所采用的通用测试条件下,MVC相比Simulcast编码,编码码率平均节省19.42%,相当于PSNR提高0.913dB。这里Simulcast编码是指每个视点的视频采用H.264/AVC进行独立编码。表1给出了提案JVT-Y044所列出的各测试序列下MVC与Simulcast编码的编码效率比较结果。
严格分析MVC编解码的实现复杂度是一项非常复杂的工作,这与其实现方式相关,不同的实现方式(如DSP, FPGA, ASIC)会有不同的分析结果。这里我们只从编解码算法的角度,对MVC编解码复杂度进行简单分析。目前,MVC标准的Multiview High Profile完全采用H.264/AVC High Profile中的编码工具,因此MVC编解码一路视频的复杂度与H.264/AVC High Profile编解码相当。那么,MVC编解码N路视频的复杂度将是H.264/AVC High Profile编解码复杂度的N倍还多。这里,“还多”是指由于多视编码中复杂的视间预测关系所导致的更加复杂的参考帧管理机制、额外的解码缓冲区开销等。MVC标准已经提供一些机制,例如3.4节所介绍的并行解码SEI信息,来提高快速解码的能力。已经有相关研究采用IBM的Cell Broadband EngineTM多核处理器实现MVC的并行解码,以及调整预测结构实现MVC的实时并行解码。面对高分辨率视频,MVC的实时高效编解码是一项非常有挑战性的工作,这里面还有许多研发工作需要开展。
5 MVC应用前景分析
MVC标准代表了目前最先进的多视视频编码技术,因此在实际应用中MVC标准具有良好的技术优势。在MVC标准之前,还有MPEG-2的Multiview Profile可以用于双视立体视频的编码。但MPEG-2的编码效率明显低于H.264/AVC,而面对多视视频高传输带宽和高存储空间需求,高编码效率显得尤为重要。目前,我们国家的AVS标准工作组正在着手制定AVS立体视频编码标准[10]。
技术的成功转化还需要多方面因素的共同推动。MVC标准的实践应用与三维电视、自由视点电视等应用的启动息息相关,相辅相成。在市场需求与预期方面,1)消费者已对三维电影、三维电脑游戏表现出了极大的热情,相信三维电视也一定会得到消费者的追捧;2)相关业界普遍认为三维电视将是广播电视领域的下一次革新,其意义如同黑白电视到彩色电视的转换,并给予极大的推动。在实施基础方面,1)立体视频内容的采集与生成技术日趋成熟,包括多摄像机的协同采集技术以及二维视频转换为三维视频的转换技术;2)传输带宽进一步扩大,如我国正在着手构建下一代广播电视网,届时传输带宽将大幅提升,这为三维电视、立体电视的应用奠定了物理基础;3)立体显示设备日趋成熟,目前需要观看者配戴眼镜的高分辨率立体显示设备已经比较普遍,无需观看者配戴眼镜的自动立体显示设备也趋于完善,目前已有用于自由视点电视的显示设备可同时显示100个视点的视频[5]。
近年,国外明显加快了推进三维电视的步伐。2008年BBC开展了三维电视的测试实验。英国广播电视运营商sky计划推出三维电视频道。蓝光协会BDA启动了立体视频光盘的项目。日本BS11频道播出了三维电视节目。随着三维电视、自由视点电视等应用的逐步启动,MVC标准的应用空间将逐步扩大。
6结束语
MVC标准在ITU-T VCEG与ISO/IEC MPEG的共同努力下制定完成。MVC标准对技术的先进性与技术实现的可行性进行了很好的平衡,为三维电视、自由视点电视等应用提供了高效的信源编码方案。MVC标准的出现契合了产业发展的需要,将促进三维电视、自由视点电视的应用与发展。
参考文献
[1]ISO/IEC JTC1/SC29/WG11, “Call for proposals on multi-view video coding, ”Doc.N7327, Poznan, Poland, July2005.
[2]Fraunhofer HHI, “Multiview coding using AVC, ”ISO/IEC JTC1/SC29/WG11 (MPEG) Doc.m12945, Bangkok, Thailand, Jan.2006.
[3]Joint Video Team of ISO/IEC JTC1/SC29/WG11and ITU-T SG16Q.6/16, “Text of ISO/IEC14496-10:200X/FPDAM1Multiview Video Coding, ”MPEG Doc.N9576, Antalya, Turkey, Jan.2008.
[4]ITU-T Rec.H.264, “Advanced video coding for generic audiovisual services, ”Mar.2005.
[5]Y.Chen, Y.Wang, K.Ugur, M.Hannuksela, J.Lainema, and M.Gabbouj, “The emerging MVC standard for3D video services, ”EURASIP Journal on Advances in Signal Processing, vol.2009, article ID786015, 2009.
[6]ISO/IEC JTC1/SC29/WG11, “Requirements on multi-view video coding v.7, ”Doc.N8218, Klagenfurt, Austria, July2006.
[7]T.Wiegand, G.Sullivan, G.Bjontegaard, and A.Luthra, “Overview of the H.264/AVC video coding standard, ”IEEE Trans.on Circuits Syst.Video Technol., vol.13, no.7, pp.560-576, July2003.
[8]G.Sullivan, P.Topiwala, and Ajay Luthra, “The H.264/AVC advanced video coding standard:overview and introduction to the fidelity range extensions, ”in SPIE Proc.Applications of Digital Image Processing XXVII, vol.5558, Denver, CO, Aug.2004.
[9]D.Tian, P.Pandit, P.Yin, and C.Gomila, “Study of MVC Coding Tools, ”JVT Doc.JVT-Y044, Shenzhen, China, Oct.2007.
高效视频编码标准 篇3
通信技术主要研究信号的产生、信息的传输、交换和处理, 研究领域包括计算机通信、视频通信、数字通信、卫星通信、光纤通信、蜂窝通信、个人通信、平流层通信等方面。近20年来, 随着视频业务需求的迅速增长和业务质量要求的提高, 视频通信已经成为通信的主要方式之一。视频通信是对视频业务进行采集、压缩、传输和恢复的过程。
视频编码是视频通信中一个非常重要的组成部分。多年来, 媒体存储、会议电视、可视电话、IPTV、网络电视、视频监控和移动流媒体等一系列的应用, 促使了视频编码标准的产生和发展。国际电信联盟远程通信标准化组 (ITU-T for ITU Telecommunication Standardization Sector, ITU-T) 与国际标准化组织 (International standard organization, ISO) 是制定视频编码国际标准的两大组织, 已经制定出H.261、MPEG-1、MPEG-2、H.263、MPEG-4和H.264/AVC等多个标准。近年来, 随着高清晰度电视、DVD、蓝光盘等设备的出现, 分辨率越来越高的视频得到广泛的应用, 从而相应地产生了对这些视频进行高效率且低复杂度编码的需求, 新一代视频编码国际标准即高效视频编码标准 (High Efficiency Video Coding, HEVC) 正是为满足此需求而制定的。作为即将流行的视频编码标准, 世界上许多电视厂商和媒体运营商已经把HEVC作为未来主要研发的媒体格式。可以看出, HEVC会以强劲的压缩效率表现, 将视频编码推向一个全新的高度。
目前, HEVC标准已经制定完成。然而, 为了满足更多的应用需求, 标准制定组织对HEVC主要进行了2个方面的扩展, 包括可伸缩扩展和精度扩展。可伸缩扩展主要在HEVC的基础上提供不同帧率、不同分辨率和不同质量等可伸缩编码。精度扩展主要对HEVC所支持的比特深度和颜色采用格式进行扩展。本文将详细介绍HEVC的扩展部分。
2 SHVC
为了满足不同用户终端对不同视频分辨率和不同帧率的需求, 以及解决已出现的一些异构网络和不可靠网络等问题, 标准化组织提出基于HEVC的可伸缩扩展, 即可伸缩高效视频编码 (Scalable High Efficiency Video Coding, SHVC) 。
2.1 基本架构
基于H.264/AVC的可伸缩扩展即可伸缩视频编码 (Scalable Video Coding, SVC) 只支持三种可伸缩性:时域可伸缩、空域可伸缩以及质量可伸缩。SHVC不仅支持这三种可伸缩性, 还支持其他的可伸缩性, 主要包括时域可伸缩、空域可伸缩、粗纹理信噪比可伸缩、比特深度可伸缩、交错连续可伸缩、色域可伸缩、外部基本层可伸缩、多种可伸缩性结合等等。SHVC采用多级循环解码框架, 对于相同访问单元的不同层之间的图像, 按照层索引的顺序从小到大地进行编码并放到比特流中。
以一个三层空域可伸缩SHVC编码器为例, 原始输入视频帧经过两次下采样后, 使用HEVC编码器或者H.264/AVC编码器编码成基本层 (Base Layer, BL) 比特流。基本层的重构图像不仅用于编码基本层下一个视频帧的帧间预测, 还生成层间参考图像用于增强层1中相同时域位置视频帧的层间预测。同理, 增强层1的重构图像要用于该层下一个视频帧的帧间预测, 还用于增强层2相同时域位置视频帧的层间预测。增强层的编码方法除了和基本层的一样之外, 还使用了层间预测技术。为了提高增强层的编码效率, SHVC使用较低参考层已经编码好的数据用于层间预测, 包括重构图像和运动参数。
2.2 SHVC中的层间预测机制和采用过程
SHVC编码当前增强层图像时, 可将参考层相同时域位置的重构图像用作层间参考图像。层间参考图像的生成, 主要包括三个模块:重采样、色域映射以及运动域映射。
原始输入视频通过两次下采样得到基本层, 通过1次下采样得到增强层1, 这样基本层和增强层之间以及不同增强层之间的视频图像分辨率是不同的。为了给高层提供层间纹理预测, 就需要为低参考层的重构图像进行重采样。在重采用中, SHVC首先对低参考层的重构图像进行上采样, 然后对参考图像的水平和垂直方向进行填充, 生成和当前增强层相同分辨率的层间参考图像。
参考层可能与增强层采用不同的颜色空间表示。为了提供层间预测, SHVC根据基于颜色的映射表使用颜色插值方法将颜色的三基色从参考层转换到增强层, 提高了色域可伸缩的编码效率。在生成层间参考图像时, 若需要上采样, 色域映射过程应在上采样之前进行。
利用运动域映射可以推导出层间参考图像的运动域, 以提高当前增强层的编码效率。在运动域映射过程中, 层间参考图像的运动域是基于较低分辨率的参考层重构图像的运动域获得的。层间参考图像的每个16x16块的运动参数和预测模式是根据参考层重构图像中相同位置块的相应运动参数和预测模式进行推导得到的。
SHVC中的层间预测机制包括有层间纹理预测和层间运动预测。对于当前增强层中高运动场景视频帧, 若其对应基本层采用帧内预测编码, 则增强层可以采用层间纹理预测方法来减少预测残差。另外, 增强层和参考层之间的运动信息存在一定的相关性, 则可以通过层间运动预测, 在层间参考图像的运动参数的基础上, 预测当前增强层的运动参数。
3 基于HEVC的精度扩展
3.1 基本知识
HEVC支持4∶2∶0的色度格式, 在水平和垂直方向其色度信息是亮度信息的一半。虽然这种色度格式已经可以满足用户娱乐的需求, 但是随着视频会议、电视广播、因特网流等应用的出现, 这种4∶2∶0的色度格式已经远远不能满足这些应用对编码的要求。在这种情形下, 我们就需要4∶4∶4色度格式或者4∶2∶2色度格式, 其中4∶2∶2格式是在水平方向其色度信息是亮度信息的一半, 而在垂直方向其色度信息等于亮度信息。显然, 这和拥有高效率的HEVC标准所支持的4∶2∶0格式发生冲突, 因此, 为此需求制定了基于HEVC的精度扩展。所谓的精度扩展涉及到两方面:一方面是色度格式的扩展, 由HEVC所支持的4∶2∶0格式, 扩展到精度扩展中的4∶4∶4格式和4∶2∶2格式;另一方面是比特深度的扩展, 将表示视频序列亮度和色度矩阵中每一成分 (Y、Cb或Cr) 的比特从8比特扩展到10比特以上。HEVC精度扩展以一种灵活的方式在多种网络环境中编码视频, 满足了各种应用对图像编码的要求, 并且增强了网络环境中的鲁棒性。
然而随着无线局域网、远程教育以及屏幕共享等新兴应用的出现, 对色度格式和比特深度的扩展并没有达到很好的编码效率。因此, 在基于HEVC精度扩展的基础上, 为了满足这些应用中对计算机产生的屏幕图像等非连续色调内容和由相机捕捉到的连续色调内容的编码需求, 提出屏幕内容编码 (screen content coding, SCC) 。不同于由相机所捕捉到的连续色调内容, 屏幕内容有一些新特征:对比度高的文字、大的运动以及重复的模式等。屏幕内容和由相机捕捉到的内容之间特征的不同, 使得编码方法也随之不同。SCC不仅要对文字和图片等的边缘处高频成分进行无损编码, 而且还要同时满足编码效率的要求。
3.2 SCC中的关键技术
3.2.1 帧内块拷贝 (Intra Block Copy, IBC)
屏幕图像包含了大量重复的模式, 为了充分利用屏幕内容的相关性, 帧内块拷贝技术成为屏幕内容编码过程中一种非常重要的技术。为了更好的理解IBC技术, 下面分三部分进行介绍, 分别是:IBC块矢量搜索、IBC块矢量预测和IBC块矢量差异 (Block Vector Difference, BVD) 编码。
IBC的块矢量搜索, 就是在编码时对每一个编码单元 (Coding Unit, CU) 进行块匹配找到最优的块矢量。在搜索过程中, 首先要进行局部区域搜索, 然后进行全局搜索。全局搜索时仅仅搜索8×8和16×16大小的块, 对于16×16大小的块只进行一维搜索, 也就是说, 搜索仅仅是水平或是垂直的, 对于8×8大小的块进行搜索时采用了基于hash的方法。
在进行IBC块矢量预测过程中, 最关键的就是创建预测的候选列表。首先, 从空域相邻的块中选取两个候选者, 如图1所示的a1和b1。然后, 从当前编码树块 (Coding Tree Block, CTB) 中选取最近采用Intra BC编码的2个块矢量作为候选。再从当前CU的 (-2x CU_width, 0) 和 (-CU_width, 0) 位置, 这里CU_width表示一个CU的宽度, 分别选取这两个CU的运动矢量的水平值作为候选。最后, 从以上的六个候选中, 选取前两个可用且不同的候选作为块矢量预测。
BVD的计算方法如下:
其中BVD_x是BVD的水平值, BVD_y是BVD的垂直值, (BV_x, BV_y) 是IBC编码块的块矢量, (BVP_x, BVP_y) 是块矢量预测。
IBC技术是研究人员重点研究的技术之一。目前可以将IBC的研究方向大体分为两类:一类是在保证编码效率的前提下, 通过加快CU分割模式判决或者在满足某些条件下跳过IBC编码, 从而达到减少编码时间的目的;另一类是在保证解码时间不变的前提下, 通过改进IBC编码方法, 达到提高编码效率的目的。
在减少编码时间方面, 可以进一步把相关研究分为两种。一种是针对屏幕内容中存在的大量重复模式而进行改进的算法。例如基于BVD和CBF的快速帧内预测判决算法, 快速IBC搜索跳过算法。另一种是针对实时性高的屏幕内容应用而进行改进的算法, 例如基于边缘方向的CU分割算法, 基于熵和编码比特的快速CU分割算法。
在提高编码效率方面, 目前已提出一些相应的算法。基于线的IBC技术, 基本思想是要在比2N×2N更小的块分割层次上进行IBC, 该文章还提出一种翻转拷贝的IBC预测技术, 以更好的利用屏幕内容之间的相关性。用于SCC的帧内线拷贝算法, 给IBC技术提供了一种具有较好间隔尺寸的块分割结构, 首先沿垂直或水平方向将一个预测块分割成一个像素宽的行 (或列) , 然后从当前帧的重构像素中一行行 (或一列列) 进行帧内拷贝。
3.2.2 调色板编码
IBC技术是为了减少块与块之间的冗余, 而调色板编码技术是为了减少块中的冗余。调色板编码充分利用了屏幕内容编码块中颜色数少的特点, 调色板模式位于CU层面, 并且当一个CU中的像素可由一个有代表性的颜色集合进行表示时, 才会使用调色板模式。图2是一个调色板编码的例子, 调色板数目为4, 编码块中前三个样本的调色板索引值分别为2、0、3, 蓝色标注的样本表明不是一个常用的颜色, 在调色板中没有表示, 需要特殊标志。
调色板索引的编码是调色板编码中不可或缺的一个环节, 如图3所示, 可以沿水平和垂直方向来编码调色板索引。
结论
新一代视频编码国际标准HEVC及其扩展, 包括SHVC和基于HEVC的精度扩展, 都是由ITU-T和ISO联合成立的视频编码联合协作小组 (the Joint Collaborative Team on Video Coding, JCTVC) 制定的。
HEVC沿用了传统的基于块的混合补偿编码结构, 但是使用了一些不同于以往标准的重要技术。相比于上一代视频编码标准H.264/AVC, HEVC标准可以把视频内容的压缩效率提高很多, 甚至到50%以上, 从而提高视频内容的重构质量, 同时节省大量的网络带宽。随着应用需求的提高, 有必要制定SHVC和基于HEVC的精度扩展。目前, SHVC已经制定完成, 而SCC还在制定中。SHVC可以支持丰富的可伸缩特征及高的可伸缩编码性能, 能够满足对更高质量和更多视频内容日益增长的市场需求。
摘要:视频通信已经成为通信的主要方式之一, 视频编码是视频通信中一个非常重要的组成部分。近年来, 随着高清晰度电视、DVD、蓝光盘等设备的出现, 分辨率越来越高的视频得到广泛的应用, 高效视频编码标准 (High Efficiency Video Coding, HEVC) 正是为满足此需求而制定的。然而, 为了满足更多的应用需求, 需要对HEVC进行扩展, 主要包括可伸缩扩展和精度扩展。本文主要对HEVC扩展的基本概念、关键编码技术和研究热点进行了详细介绍。
关键词:视频编码,HEVC,可伸缩扩展,精度扩展
参考文献
高效视频编码标准 篇4
2013年, 新一代视频编码标准High efficiency video coding (HEVC) [1]正式发布。和前一代视频编码标准H.264/AVC[2]相比, 新标准的视频编码性能在主观和客观两个方面都取得了较大幅度的提升[3]。由于视频的最终接受者为人眼, 因此对于视频编码进行主观优化, 进一步提升视频编码的主观性能, 以更加符合人眼的视觉特性, 即具有重要的研究价值和现实意义。
目前, 尽管人们对人眼视觉特性的认知还无法使用具体的数学模型进行精确的描述, 但在图像处理、质量评价等领域中, 研究者通过对人眼视觉系统的一些简单特性实现了模型化并进一步应用于视频编码优化, 则已有效提升了视频编码的主观性能。早期的视频编码标准中, 已然可见视觉模型[4]在编码的率失真优化中的多次应用, 而且也取得了不错的视觉效果。
近年来, 基于视觉特性的率失真优化更加倾向于使用能够体现视觉特性的失真模型来进行视觉率失真优化。基于HVS系统的时空特征, Wang[5]等人提出了一个用于衡量压缩视频序列的主观失真度量模型———结构相似性 (Structur Similarity, SSIM) , 且已由研究界认定是一种较为准确的主观失真的衡量方法, 正在广泛用于对视频编码质量的主观评价中[6,7]。而基于SSIM, Li等[8]在假定残差系数服从拉普拉斯分布的情况下, 更进一步地提出了基于SSIM的视觉率失真优化模型;随之Wang[9]更对文献[8]中的方法实行了优化改进。尤其是, 文献[10]基于分歧归一化理论, 研究了基于视觉的量化矩阵的设计方法。方法中, 通过基于预测信息的方法对DC系数和AC系数分别计算了归一化因子, 又根据变换域各频带的系数服从拉普拉斯分布的假设, 利用拉普拉斯分布的参数调整了AC系数的量化权值以体现不同系数对于主观质量的贡献, 由此在H.264/AVC中, 视频编码的主观质量即得到了较大提升。
1 分歧归一化的基本理论与视觉优化
分歧归一化 (Divisive Normalization) 的理论本质是对矩阵的某种变换, 主要目的是使得矩阵中的数据可以反映某种特性并适合于特定的应用, 其基本思想可以用来解释神经系统的某些行为, 因而能够在一定程度上反映人眼视觉系统的某些特性[11]。在时下的图像处理领域中, 分歧归一化方法的应用已经相当广泛[12]。但在不同的应用中, 分歧归一化因子 (Divisive Normalization Factor, DNF) 的计算方法却有所不同, 例如基于数据局部特征的计算方法[13], 基于数据分布模型的计算方法[11]等。
基于视觉特性的分歧归一化可以理解为定义一个DNF对变换的残差系数通过归一化处理, 并实现相应的量化, 从而可以反映出图像的主观特性, 即视觉优化因子 (Perceptua Optimization Factor, POF) 。编码实现中, 该过程可以等价地注释为根据POF对量化参数进行调整, 即:
其中, Q's表示调整后的量化步长。因此, 基于视觉的率失真优化的核心关键即在于给出能够反映主观视觉POF的合理定义, 并使用该因子对视频编码进行率失真优化。
依据DCT域的SSIM定义, 在文献[14]中, 基于分歧归一化的基本理论, 则给出了POF的一种计算方法, 具体计算如公式 (2) 和 (3) 所示, 可分别用于实现DC系数和AC系数的归一化。
其中, E表示数学期望, fac和fdc分别表示AC系数和DC系数的POF。
实际计算过程中, 文献[14]通过预测值和补偿因子解决了编码中的“蛋鸡”问题, 同时也完成了POF的精确计算。
2 改进的视觉因子计算与非线性缩放
文献[14]中, POF计算方法的不足之处在于, 首先会带来解码端复杂度的增加, 其次计算得到的POF波动较大, 综合作用下就可能造成相邻编码单元的主观质量差异较大。为此, 针对解码端的复杂度提升问题, 本文则基于对不同频带变换系数有关分布的深入分析, 提出使用一个POF表示AC和DC系数的视觉特性, 从而避免对解码端带来额外解码开销。图1即给出了对8x8的编码单元进行DCT变换后所得变换系数在每个频带的分布情况。从中可以看出, 不同频带的系数分布均服从一种均值近似为零的拉普拉斯分布。具体地, 对于DC系数, 分布较为平滑;而对于AC系数, 分布就较为集中, 并且大部分AC系数均位于“死区”内。
在此, 设某个频带的概率密度函数为:
其中, λ为模型参数, 取值和函数的形状相关, 取值越小, 其分布越平滑。对于给定的量化参数, “死区”的量化失真可以表示为:
结合 (4) 式, 能够得到:
从公式 (6) 中可以看出, 对于相同的量化参数, 失真的大小和λ的取值正相关, 因此对于AC系数使用DC系数的视觉因子, AC系数的失真增大, 而AC系数又包含了较多的细节信息, 对主观质量影响也相应较大。基于以上分析, 本文的POF拟定使用AC系数进行计算。即:
对于文献[14]中POF的取值范围波动较大, 本文将从两个方面解决。首先使用高斯低通滤波方法对编码单元进行滤波, 如 (8) 式, 而后再计算相应的视觉因子POF。
高斯滤波之后, 视觉因子的具体计算就可以表示为:
其中, Iig (k) 表示高斯滤波之后的系数。
为了进一步平滑视觉因子, 同时基于视觉特性的考虑, 本文提出使用非线性的Sigmoid函数对高斯滤波后计算得到的POF进行非线性收缩, 具体则如 (10) 式。
经过缩放之后的POF取值范围在[0.5, 1.5]。此后, POF将用于对量化步长的调整, 其实现可如式 (11) :
3 基于视觉特性的率失真代价模型
率失真优化的基本原理是通过计算每种模式的率失真代价, 从而对编码模式进行决策, 传统的率失真代价的计算方法为:
其中, J表示率失真代价, λ表示拉格朗日乘数, D表示编码的客观失真, 通常的表现形式为SSE或MSE, R则表示编码所需的码率。该方法的不足之处即在于不能表示视觉失真特性。考虑视觉特性的率失真代价的计算则需要涉及基于视觉的失真, 因此可将其表示为:
其中, Dp表示视觉失真。
利用POF进行归一化后, 产生的视觉失真即可表述为:
因此, 基于视觉的率失真代价的计算则可如式 (15) 所示:
HEVC中, 对于Rate-GOP中不同深度的各帧, 拉格朗日乘子亦有不同, 因此单纯对失真进行调整将会造成模式决策的失误。对公式 (15) 进行等价变形, 可得:
研究可知, 对于同一个编码单元, f不会发生改变, 因此模式决策只需要比较右侧的取值大小即可。而在右侧的表达式中, 则可等价理解为对拉格朗日常数的调整, 使得R-D曲线能够趋向于表达主观特性。最终本文提出, 对于一个编码单元, 率失真代价的计算模型为:
上述率失真代价计算可以理解为对于POF较小的区域, 分配更多的比特, 以实现主观质量的提升。由于本文提出的视觉率失真代价以CU为单位, 考虑到HEVC采用了基于四叉树划分的结构, 这就使得对于每个CU相应的四个SubCU, 计算得到的拉格朗日常数可能并不相同, 因此本文算法在比较相邻深度的率失真代价时, 就需采用上层的拉格朗日乘数重新计算当前深度下的率失真代价, 从而对是否进行四叉树划分做出最终有效决策。
4 实验结果与分析
为了验证本文算法的有效性, 将本文算法在HEVC的参考软件HM10.0上进行相关实验, 测试条件为通用的两种测试条件RA和LDP, 主观性能使用SSIM值进行衡量。表1和表2分别给出了在两种不同配置下的实验结果, 并和相关文献的结果进行了对比。在RA和LDP下本文算法的平均主观性能提升分别为7.21%和11.46%。同时, 本文也将实验结果和文献[15-16]中的算法相比, 如表1和表2所示, 从中可以看出本文算法能够有效地提高视频编码的主观性能, 而且又保持了较小的客观性能损失。
5 结束语
高效视频编码标准 篇5
随着音视频产业的迅速发展,原有的视频编码标准已经落后,对视频编码标准提出了新的需求。2003年,由ITU-T和ISO/IEC组成的联合视频组(JVT)推出了新一代的视频编码标准H.264/AVC[1]。H.264/AVC采用了比以前标准更为先进的技术,具有更高的压缩效率、良好的网络适应性和容错性等特点,因而被工业界迅速推广。
与此同时,为了降低国内音视频产业的专利费负担、提升国内企业的核心竞争力,由国家信息产业部于2002年6月批准成立“数字音视频编码技术标准工作组”联合国内从事数字音视频编码技术研发的科研机构和企业,针对国内音视频产业的需求,提出了我国自主的信源编码标准—《信息技术 先进音视频编码》系列标准,简称AVS(Audio and Video coding Standard)。该标准一共包括9个部分,其中第二部分(AVS-P2)[2]和第七部分(AVS-P7)[3]为视频编码标准。2006年2月,AVS-P2被正式批准为国家标准,国家标准号GB/T 20090.2-2006, 并定于2006年3月1日起实施。
2 AVS-P2
AVS-P2是AVS系列标准的第二部分,主要针对高清晰度数字电视广播和高密度存储媒体应用,主要的编码技术包括:帧内预测技术、亚像素插值和帧间预测技术、变换和量化技术、熵编码技术以及环路滤波技术。目前,AVS-P2已定义了一个档次,即基准档次。档次又分为四个级别,分别对应标清和高清的应用。
2.1 帧内预测
AVS-P2和H.264/AVC都采用了基于空域的帧内预测的思路,与以往的基于频域的帧内预测方法不一样,以代表空域的纹理方向为预测模式,利用当前块的相邻像素直接对每个系数进行预测,更有效地去除了相邻块之间的相关性,提高了帧内编码的效率。不同的是,H.264/AVC根据图像纹理细节的不同,将亮度信号的帧内预测分为9种4×4块的预测方式和4种16×16块的预测方式,而AVS-P2亮度信号和色度信号的帧内预测均以8×8块为单位,亮度块采用5种预测模式[4],色度块采用4种预测模式(见表1),在降低了预测复杂度的同时,兼顾了高清视频的特点并充分利用了人眼的视觉掩盖效应。与4×4块为单位帧内预测相比,8×8块预测将增大预测样本和参考样本间的距离,从而降低了预测样本和参考样本间的相关性,因此,AVS-P2的Intra_8x8_DC、Intra_8x8_Down_Left和Intra_8x8_Down_Right模式中先采用三抽头低通滤波器(1,2,1)对参考样本进行滤波。此外,AVS-P2的DC模式中每个像素值由水平和垂直位置相应参考像素值来预测,所以每个像素的预测值可能不相同,
这一点的改进,较之H.264/AVC中的DC预测,更为精确。
AVS-P2在预测模式较少的情况下,能够获得与H.264/AVC相当的视频质量,但实现的复杂度大大降低。实验表明,AVS-P2的5种模式与H.264/AVC中的9种模式相比,仅损失0.05dB的PSNR增益[5]。
2.2 帧间预测
AVS-P2和H.264/AVC均支持P帧和B帧两种帧间预测图像,H.264/AVC中充分利用了图片间时域的相关性,允许P帧和B帧有多个参考帧,最多可以有16个参考帧,多帧参考在提高压缩效率的同时也极大的增加了存储空间与数据存储的开销。实验表明,参考帧超过2帧以上所带来的压缩效率的提高已经
不是很明显[6]。所以,AVS-P2允许P帧最多可以有2帧前向参考帧,B帧可以有前后各一个参考帧,在稍损失压缩效率的同时大大降低了算法实现的复杂度和开销。在B帧的预测中,H.264/AVC在双向预测时需编码前后两个运动矢量,AVS-P2中,双向预测有对称预测和直接预测两种模式。对称模式中每个宏块只需传送一个前向运动矢量,后向运动矢量由前向运动矢量根据一定的规则推导得到,直接模式中前后向运动矢量都由后向参考图像中相应位置块的运动矢量获得,无需传输运动矢量,因而节省了运动矢量的编码开销。
可变预测块是AVS和H.264/AVC的一个新特点,H.264/AVC支持16×16、16×8、8×16、8×8、8×4、4×8、4×4块七种模式[7]的运动预测和补偿,而AVS-P2仅支持16×16、16×8、8×16、8×8块四种模式的运动预测和补偿。运动估计和运动补偿是整个视频编码框架中最复杂也是最重要的部分,运动估计和运动补偿算法的运算开销将直接决定整个编码算法需要的运算开销。实验表明,小于8×8块的划分模式对于高分辨率编码影响甚小(如图1)[6],AVS-P2在保证满足高清视频需求的同时,采用更少的预测块模式,从而大大降低了运动估计和运动补偿算法的复杂度,也由此降低了运动矢量和块模式传输的开销以及环路滤波中模式选择的复杂度和滤波块的边界数目,提高了压缩效率,弥补了因预测块模式的减少带来的压缩效率的降低。
AVS-P2和H.264/AVC均支持1/4像素(亮度)和1/8像素(色度)精度的运动矢量。但在亚像素插值方法上,二者各不相同。H.264/AVC采用6抽头滤波器(1/32,5/32,5/8,5/8,5/32,1/32)进行半像素的卷积内插方案并采用双线性滤波器进行1/4像素插值,AVS-P2采用了简化设计方案,亮度的1/2像素插值采用4抽头滤波器(-1/8,5/8,5/8,-1/8),1/4像素插值中一维1/4像素采用4抽头滤波器(1/16,7/16,7/16,1/16),二维1/4像素采用双线性滤波器(1/2,1/2)。与H.264/AVC的插值算法相比,AVS-P2使用了更少参考像素点,从而减少了数据带宽,而且具有与H.264/AVC相当的性能。
2.3 变换量化
AVS-P2和H.264/AVC均采用整数余弦变换(ICT,Integer Cosine Transform)编码方案,从而克服了之前的视频标准变换编码中存在的固有失配问题。采用ICT 进行变换和量化的结合编码中,由于变换基矢量模的大小不一,因此需要对变换系数进行不同程度的缩放以达到归一。在缩放方案的选择上,H.264/AVC采用编码端缩放和量化相结合,解码的反缩放和反量化相结合的方案,而AVS-P2中采用带PIT(Pre-Scaled Inter Transform) 整数变换技术,在编码端将正向缩放、量化、反向缩放结合在一起,解码端只需要进行反量化操作(如图2)。PIT技术的采用,减低了AVS-P2在解码端的运算和存储开销,这意味着只需要更低的功耗和资源就能实现AVS-P2的解码。
在变换块大小的选择上,H.264/AVC采用4×4的变换块,而AVS-P2采用8×8的变换块,与4×4的变换块相比,8×8的变换块能够使能量更加集中,在高分辨率的视频应用中,具有更好的去相关性能,能够保留更多的高频细节。此外,H.264/AVC在4×4块变换后,还需要对变换后的直流系数再进行一次Hadamard变换,以提高变换的去相关性,从而进一步增加了算法的复杂度和开销。
在量化级数的选取方面,H.264/AVC中采用52个量化级数,采用QP(Quantization Parameter)值来索引,QP值每增加6,量化步长增加一倍,而AVS-P2中更是采用多达64级量化,QP值每增加8,量化步长增加一倍。更加精细的量化级数,增强了AVS-P2适应不同应用对码率和质量要求的能力,提高了AVS-P2的业务灵活性,从而扩展了AVS-P2的应用领域。
2.4 熵编码
AVS-P2中,除对均匀分布的语法元素进行定长编码外,其余的语法元素和残差数据都是以指数哥伦布码(Exp-Golomb)[4]的形式映射成二进制比特流的。指数哥伦布码无需查表,只需要通过简单闭合公式实现编解码,一定程度上减少了熵编码中查表带来的访问内存的开销,而且还可以根据编码元素的概率分布灵活地选择指数哥伦布编码的阶数,阶数选择得当能使编码效率逼近信息熵。H.264/AVC中,Baseline Profile中采用统一变长编码(UVLC,Universal Variable Length Code)和基于上下文的自适应变长编码(CAVLC, Context-based Adaptive Variable Length Code)相结合的熵编码方法[7],Main Profile中采用基于上下文的自适应二进制算术编码(CABAC, Context-based Adaptive Binary Arithmetic Code)。H.264/AVC基本档次中的统一变长编码是指数哥伦布编码的一种改进形式,具有指数哥伦布码的特点,能够在发生比特误码时快速获得重同步。不同的是,H.264/AVC只是在编码残差以外的语法元素时使用UVLC,编码语法残差元素则采用CAVLC。在残差元素的编码中,由于经过Zigzag扫描后的(Run, Level)数据对存在很强的相关性,且具有Run值呈现增大趋势,Level值呈现减小趋势两个特点,AVS-P2利用这种上下文信息,先对(Run, Level)数据对进行基于上下文的二维变长编码(2D-VLC,2Dimension-Variable Length Code),对不同统计情况下的编码选用不同的2D-VLC码表,再对编码后的数据通过相应阶数的指数哥伦布编码映射成二进制码流。AVS-P2中采用了一种改进的2D-VLC编码,充分利用了上下文信息,与以往的标准中不同的变换块采用不同的码表相比,AVS-P2只需用到19张不同的2D-VLC码表,减少了码表的存储开销同时也减少了查表所带来的内存访问开销。对于CABAC,尽管其具有比较高的压缩效率,但同时也具有更大实现复杂度和需要更多的编码开销,而且CABAC存在国外专利问题,所以AVS-P2目前的基准档次中并没有考虑CABAC的熵编码方案。
2.5 环路滤波
基于块的视频编码方案都有一个共同的特点,就是编码重建后的图像存在块效应,且码流越低,块效应越明显,图像中方块现象严重影响主观视觉质量。为了解决这一问题,AVS-P2和H.264/AVC均采用了环路滤波技术。环路滤波不仅能消除图像中的块效应,提高图像的主观视觉质量,而且能在一定程度上提高图像的压缩效率。
AVS-P2采用自适应滤波技术,先根据边界两侧的块类型确定边界强度值BS(Boundary Strength),根据BS值的不同,采用不同滤波策略。帧内编码块滤波最强,非连续运动补偿的帧间编码块的滤波较弱,连续运动补偿的帧间编码块则不需要滤波。AVS-P2中变换和预测最小块都是8×8块,因此环路滤波的块大小也是8×8,与H.264/AVC的4×4块相比,需要滤波的边界更少。而且,H.264/AVC中使用边界左右各4个像素进行滤波,而AVS-P2仅选用边界左右各3个元素进行滤波,滤波涉及的像素减少,也就降低了滤波时数据交换和计算的开销,同时也更有利于并行处理,从而使AVS-P2滤波器的实现复杂度远低于H.264/AVC的滤波器。
3 AVS-P7
AVS-P7是AVS系列标准中的第七部分,主要针对移动通信领域的视频编解码应用。由于AVS-P7主要是面向低分辨率、低码率的网络通信应用,决定了AVS-P7在技术细节上与主要面向高分辨率、高质量应用的AVS-P2存在差异,而且需要增强网络亲和性和抗误码性方面的技术实现。同时,AVS-P7与在低码率应用领域表现出色的H.264/AVC在技术实现上有很多相似之处,但在具体技术的选择上,又存在差异。
3.1 帧内预测
与H.264/AVC类似,AVS-P7中采用9种基于4×4块的亮度预测模式和3种基于4×4块的色度预测模式,对于色度分量,两个色度分量的8个4×4块使用相同的预测模式。对于H.264/AVC中采用17个邻近参考样本预测每一个4×4块,AVS-P7将参考样本的数量降为9个,降低了复杂度和数据运算的开销。与H.264/AVC中的16×16块的帧内预测模式对应,AVS-P7引入了直接帧内预测模式(DIP, Direct Intra Prediction)[3], 对于图像纹理比较统一的区域,采用DIP模式预测,宏块的16个4×4块均按最有可能模式编码,从而减少了编码的比特数。同时,也不需要像H.264/AVC中一样,提取每一个4×4块的DC系数进行Hadamard变换编码、变换系数重排序、熵编码等一套方案,大大降低了帧内预测算法实现的复杂度,也提高了编码效率。
3.2 帧间预测
AVS-P7采用与H.264/AVC中相同的宏块和子宏块划分模式,同样也支持1/4像素(亮度)和1/8像素(色度)精度的运动矢量。在子像素插值算法中,AVS-P7采用水平8抽头滤波器(-1,4,-12,41,41,-12,4,-1)、垂直4抽头滤波器(-1,5,5,-1)对1/2像素进行插值,并采用线性滤波器对1/4像素进行插值。AVS-P7和H.264/AVC均支持跨越图像边界的帧间预测,但AVS-P7将运动矢量范围限制在图像边界外16个像素以内,垂直方向上运动矢量分量的取值范围对CIF格式是[-32,31.75],而H.264/AVC有更大的范围[-128,127.75]。与H.264/AVC的基本档次一样,AVS-P7也没有了B帧,在参考帧的数量上,AVS-P7具有与AVS-P2一样的最多2帧的参考帧,简化了设计。
3.3 变换量化
类似于H.264/AVC,AVS-P7采用基于4×4块的整数余弦变换和量化,但具体的实现方法不同,AVS-P7采用不同的变换矩阵,且在变换过程中实现了变换归一化和量化相结合,只需要一个二维数组和一个一维数组就可以完成不同级别的量化。与AVS-P2一样,AVS-P7同样具有64级量化,使得AVS-P7在实际的应用中具有更大的灵活性。
3.4 熵编码
与AVS-P2类似,AVS-P7采用指数哥伦布和2D-VLC相结合的熵编码方案。不同的是,AVS-P7设计的2D-VLC码表及码表的自适应切换方法更适应于4×4块的(Run, Level)分布。
3.5 环路滤波
AVS-P7采用了一种更加简化的环路滤波方案,滤波的强度由宏块级而非块级确定,由当前宏块的类型和QP值来决定此宏块的滤波强度,从而大大减少了判断的次数。此外,AVS-P7的滤波仅涉及边界左右各两个像素,这样每个边界的滤波不存在相关性,降低
了数据运算开销同时也有利于并行处理。
3.6 网络亲和性和抗误码性
为了适应各种不同的网络环境,要求AVS-P7具有良好的网络亲和性。AVS-P7采用了和H.264/AVC一样的两层结构:视频编码层(VCL)和网络提取层(NAL),视频编码层负责视频的编解码,网络提取层(NAL)负责对视频编码层的数据采用适当格式的封装。不同的是,AVS-P7中的NAL单元类型要比H.264/AVC少,仅支持7种类型的NAL数据单元(见表2)。
同时,为了增强AVS-P7抗误码性能,采用了一系列的抗误码技术,包括:①采用IDR(即时解码刷新图像)消除误码扩散所导致的图像漂移和误差积累,IDR图像后的图像均不会以IDR前面的图像作为参考帧进行编解码;②片(Slice)内数据独立编解码,片之间编解码相互独立,某一片的误码不会影响到同一图像中其他片。③多序列参数集和图像参数集,采用独立的NAL单元传输,事先嵌入到解码器中或者采用更可靠的传输机制和信道来传输这些参数,以保证解码端能够正确解码。AVS-P7中没有采用H.264/AVC中采用的抗误码技术,如灵活宏块排列次序(FMO)、任意条带顺序(ASO)、冗余片(RS)、切换P帧(SP)、切换I帧(SI)等技术,这些技术不但实现起来较为复杂,而且有些需要在在编码数据中加入较多的冗余信息,影响了编码的效率。
4 结束语
作为新一代信源编码标准,AVS系列视频编码标准和H.264/AVC有很多相似之处,但AVS在实现上主要采用一些我国自主创新的技术和一些国际公开的技术,从而有效地避免了专利的问题。在编码方案的选择中,在达到与H.264/AVC相当的编码效率的同时,AVS系列标准的实现更加简洁,简化的设计意味着更低的软硬件实现成本。此外,AVS系列标准简单的专利授权模式和更加低廉的专利费用,使得其在产业化的竞争中处于有利位置。H.264/AVC等国外标准重复的专利收费模式和高昂的专利费用使得国内视频产业在国际化的竞争中缺乏核心竞争力,只能处于被动的位置。AVS系列标准的采用,能够有效地降低了企业的成本,增强企业的核心竞争力。
目前,在刚刚落幕的AVS工作组第26次会议上,首次完成了针对视频监控的视频编码标准(AVS-S)的制定工作,同时为现行AVS-P2标准增加了一个加强档次。包含该加强档次的GB/T20090.2修订版预计在2009年发布。AVS-P2在国内的产业化已经拉开序幕,凭借其在竞争中的巨大优势,全面的产业化只是时间问题。
参考文献
[1]ITU-TRec.H.264/ISO/IEC14496-10,Advanced Video Coding,Final Committee Draft,Document JVTG050,Mar.2003.
[2]GB/T20090.2-2006,信息技术.先进音视频编码第二部分:视频.
[3]AVS工作组.信息技术先进音视频编码第七部分:移动视频,AVS N1196,2005.
[4]王明伟.AVS中的音视频编码压缩技术.电视技术,2006,(6):13~16
[5]梁凡.AVS视频标准的技术特点.电视技术,2005,(7):12~15
[6]高文,王强,马思伟.AVS数字音视频编解码标准.中兴通讯技术,2006,12(3):6~9+13
高效视频编码标准 篇6
H.263是1996年6月由视频编码专家组ITU-T推出的一种面向低比特流视频通信应用的视频压缩标准,它具有较高压缩比、较强鲁棒性,尤其适用于PSTN及无线Internet网络环境下的视频传输[1,2,3,4]。目前,H.263标准已被工业界广泛采用,例如,可视电话标准ITU-T的H.324(PSTN)、H.320(ISDN)、H.323(LAN)和H.310(B-ISDN)等均采用了H.263视频部分的编码协议[5]。其中,H.263关键技术包含:图像的帧结构(如图1是以QCIF图像为例的帧结构)、运动补偿加DCT的混合编码方法以及宏块统一使用同样的量化步长进行量化等,在其协议中对此做了详细的规定,这里不再赘述[6,7,8]。本文就H.263码流结构中比特流语法里面必选码流分支和可选码流分支的条件做了重点分析。
2H.263的码流结构
视频复用规定为分级结构,共四层。从顶向下依次为:图像层(Picture Layer)、块组层(Group of Blocks Layer)、宏块层(Macroblock Layer)和块层(Block Layer),详细的码流结构如图2所示。
以QCIF图像为例,按照图2所示的码流结构,对图像序列进行编码的顺序如下:首先编码第一帧图片的图像层的头信息,然后编码该帧图片的第一块组层的头信息(注意:在实际的应用当中,块组层的头信息是可以不传的,例如:第一个块组层的头信息是可以不被编码,而是直接采用图像层的头信息),接着编码该块组层中第一宏块层的头信息以及按照从左到右、从上到下的顺序编码该块层中6块8×8像素的信息,接下来再编码该块组层中第二宏块层(Macroblock Layer)的头信息以及该块层中6块8×8像素的信息,以此类推,按照这样的顺序直到将该块组层中的11个宏块信息编码完毕。然后再对该帧图片的第二块组层按照以上的顺序进行编码,直到将该帧图片中的9个块组层编码完毕,此时第一帧图片信息全部编码完毕。再按照以上的编码顺序进入下一帧图片的编码,直到将整个图像序列编码完毕。
H.263标准的比特流功能、大小和语法在其协议中做了详细的规定,这里不再赘述。
如图2所示,在此码流结构图中没有分支箭头的地方,即没有标明数字序号①,②,③等的位置,是比特流语法中的必选码流分支;图中有分支箭头的地方,即标明数字序号①,②,③等的位置,是该比特流中可选码流分支,而产生这些必选码流分支和可选码流分支的条件就是研究的重点。
对于如图2中所示的该比特流语法中产生必选码流分支的条件比较简单。只要对一组图像序列进行编码,无论这些图像各帧的格式如何,这些必选的码流结构都必然会出现,例如:PTYPE,GBSC,GFID等。其中值得注意的是,图像起始码PSC指的是图像序列中每一帧的起始码,而结束标志EOS指的是整个图像序列的结束码。
对于如图2中所示的该比特流语法中产生可选码流分支的条件就比较复杂,具体分支条件如下:
当CMP=1时,PSBI才会出现;当CMP=0时,跳过PSBI。
当PTYPE指示为“PB帧”时,即PTYPE的第13位bundefined=1,TRB和DBQUANT才会出现;当bundefined=0时,跳过TRB和DBQUANT。
当PEI=1时,后面出现可选数据域PSPARE;当PEI=0时,跳过PSPARE。
若要继续编码下一帧图像,则跳过EOS。
ESTUF是可选项,由小于8个零比特组成的填充数,以保证EOS码字的起始字节对齐。若整个图像序列编码完毕,则用EOS表示结束。
PSTUF是可选项,由小于8个零比特组成的填充数,以保证下一个PSC字节对齐。
GSTUF是可选项,由小于8个零比特组成的填充数,以保证GBSC码字的起始字节对齐。
若GOB号为零时,GSTUF,GBSC,GN,GSBI,GFID和GQUANT的GOB头部为空。
当CMP=1时,GSBI才会出现;当CMP=0时,跳过GSBI。
当PTYPE指示为“INTER”时,即PTYPE的第9位bundefined=1,COD才会出现;当bundefined=0时,跳过COD。
当COD=0时,MCBPC才会出现;当COD=1时,跳过MCBPC。
当PTYPE指示为“PB帧”时,即PTYPE的第13位bundefined=1,MODB才会出现;当bundefined=0时,跳过MODB和CBPB。
当MCBPC=stuffing时,跳过宏块层的剩余部分,即跳过MODB,CBPB,CBPY,DQUANT,MVD,MVD2-4和MVDB。
当PTYPE指示为“PB帧”时,即PTYPE的第13位bundefined=1,以及MODB指示时,CBPB才会出现;否则,当MODB无指示时,跳过CBPB,如表1所示。
其中,“√”表示该项在宏块中存在
当在MCBPC中指示时,才出现DQUANT;否则跳过DQUANT,如表2,表3所示。
当在MCBPC中指示时,才出现MVD;否则跳过MVD、MVD2-4和MVDB,如表2、3所示。
当PTYPE指示为“先进预测模式”时,即PTYPE的第12位bundefined=1,MVD2-4才会出现;当bundefined=0时,跳过MVD2-4。
当PTYPE指示为“PB帧”时,即PTYPE的第13位bundefined=1,以及MODB指示时,MVDB才会出现;否则,当bundefined=0或/和无MODB指示时,跳过MVDB,如表2,表3所示。
当PTYPE指示为“非PB帧”时,即PTYPE的第13位bundefined=0,以及MCBPC指示MB类型3或4时,IN TRADC才会出现;否则,当bundefined=1的模式下,在B块中不出现INTRADC,如表2,表3所示。
当MCBPC或CBPY被指示时, TCOEF表示为P块;当CBPB被指示时, TCOEF表示为B块。
其中,“√”表示该项在宏块中存在
其中,“√”表示该项在宏块中存在;“( )”表示该项是否在这种宏块编码类型中出现视MODB字段的码字来决定。
3结语
本文介绍了H.263标准的基本框架和关键技术,并对其码流结构中比特流语法里面必选码流分支和可选码流分支的条件进行深入的分析,使得我们对H.263标准的整体结构有了系统的认识。
另外,1998年1月通过了H.263第二版本,俗称H.263+,其中增加了12个高级模式,并修正了第一版中的一个高级模式。2000年11月,又讨论了H.263第三版本,俗称H.263++,其中增加了3个高级模式[9,10,11]。H.263具有广阔的应用范围,同时新的高效的视频压缩算法不断涌现,以及硬件速度和性能的提高为H.263的实际应用提供了技术保证。
参考文献
[1]沈兰荪,卓力,田栋,等.视频编码与低速率传输[M].北京:电子工业出版社,2001.
[2]刘峰.视频图像编码技术及国际标准[M].北京:邮电大学出版社,2005.
[3]A H萨达卡.压缩视频通信[M].北京:科学出版社,2004.
[4]Draft ITU-T Recommendation H.264(a.k.a“H.26L”)[S].Joint Video Team(JVT)of ISO/IEC MPEG and ITU-TVCEG,Document JVT-C167,2002.
[5]计文平,郭宝龙,丁贵广.新一代视频编码国际标准的研究[J].计算机应用与软件,2004,21(2):60-62
[6]田栋,姚志恒,沈兰荪.H.263的发展及应用[J].测控技术,2001,20(5):55-59.
[7]Video Coding for Low BitRate Communication[S].Interna-tional Telecommunication Union,DRAFT ITU-T Recom-mendation H.263,1996.
[8]张春田,苏育挺,张静.数字图像压缩编码[M].北京:清华大学出版社,2006.
[9]陈明贵,平西建,刘玉斐.低速率视频编码技术的发展与应用[J].信息工程大学学报,2002,3(4):21-24.
[10]皮富涛,卢益民.低比特率视频编码新标准H.263+[J].电视技术,2000(7):9-11.
高效视频编码标准 篇7
1 HEVC帧内预测方法
在HEVC中, 每个图像被分割为正方形图像区域, 称之为最大编码单元 (largest coding unit, LCU) , 最大为64×64.LCU进一步分裂为更小的称之为CU (coding unit) 的单元, 作为帧内编码的基本单元。HEVC参考模型HM采用了一种基于四叉树的图像分割和预测方法。图1显示了对一个64×64的LCU进行分割, 并用多种不同尺度的预测块进行编码, HEVC中一个预测块称之为预测单元 (prediction unit, PU) 。帧内编码预测块都是正方形的。HEVC总共支持5层帧内预测单元, 但对于HEVC Main Profile, 共有4种有效的帧内预测块尺度类型:8×8, 16×16, 32×32及64×64。图1显示了对一个64×64最大编码块的4层不同尺度预测块分割以及编码顺序。与H.264/AVC相比, 除了预测块类型数量增加, 每一个块的预测模式数量也有增加。
HEVC支持总共35种帧内预测模式, 表1规定了每个模式的序号和名称, 其中:模式0表示Planar预测, 模式1表示DC预测, 模式2至34表示不同方向的角度预测。
HEVC采用RDO技术来获取最佳编码性能。参考软件HM10.0[6]中, 首先使用Hadmard代价模型遍历当前预测块的35种帧内预测模式, 选择其中的最佳候选预测模式;然后使用RDO代价模型遍历当前预测块的最有可能模式, 选择其中的最佳候选模式;最后对这两种候选模式再一次使用RDO代价模型得到当前预测块的最佳帧内预测模式以及相应的最小代价。对于一个64×64预测块, 其分割方式及编码顺序如图1所示, 首先计算4个8×8预测块的最佳模式和最小代价, 将其相加得到8×8分割下的最小代价和, 再计算16×16预测块的最佳模式和最小代价, 比较决定当前16×16预测块是否需要分割为4个8×8预测块;按照同样的方式处理下一个16×16预测块, 将4个16×16预测块的最佳代价相加, 与32×32预测块的最小代价进行比较, 决定当前32×32预测块是否需要分割为4个16×16预测块。按照这种方法处理4个32×32预测块, 将4个最小代价相加与64×64预测块的最小代价进行比较, 决定当前64×64预测块是否需要分割为4个32×32预测块。可见一个最大编码单元帧内预测模式的判定需要大量的计算。对于高清或超高清视频序列, 如此高的计算复杂度非常不利于实时应用。
2 HEVC帧内预测块尺度的快速选择方法
通过观察容易发现, 最佳帧内编码块类型与图像块的纹理复杂度高度相关, 因此, 纹理复杂度的检测是本文算法的关键问题。
一般情况下, 大块类型适合于图像中的连续平滑区域, 而小块尺度适合于边缘以及纹理丰富的区域[7,8]。由于视频的图像分辨率从标准到高清甚至超高清, 图像会包含较大的平滑区域, 使用大块尺度编码效率较高。这就是HEVC支持较大编码块的原因, 同时也有较灵活的分割结构来处理纹理区域以及非对称区域。复杂图像块一般在像素的强度上有着明显的不相似性, 而这种不相似性通过统计上的方差很容易检测。
均方误差 (MSE) 可以用来有效地表示图像块的复杂度[9], 为避免平方运算, 用平均绝对误差 (MAD) 代替MSE表示预测图像块的复杂度, 其计算公式如式 (1) 与式 (2) 所示, 其中f (x, y) 表示图像块中的像素亮度分量。
在参考软件HM10.0[6]中, 采用遍历搜索的方式对几种不同纹理的视频序列进行测试, 可以得到各个预测单元的最佳分割方式, 如图2所示。统计可得最佳预测块尺度类型与其对应的平均MAD值, 如表2所示。
观察可知, 最佳预测块类型基本遵循两条规律:第一, 纹理简单区域选择大尺度模式, 纹理复杂区域选择小尺度模式;第二, 64×64的MAD值一般较小, 8×8的MAD值一般较大, 32×32和16×16的MAD值介于两者之间。
将这个特点应用于HEVC帧内预测块类型选择过程中, 设置3个MAD阈值THmad1, THmad2, TH-mad3, 提前检测各个尺度预测块的MAD值, 选择预测块类型, 减少穷尽搜索代价计算过程。大大降低了帧内预测块尺度模式选择的复杂度。具体步骤如下:
1) 对于当前64×64预测块, 若MAD≤TH-mad1, 则不对其进行分割, 直接采用64×64预测类型, 否则进入步骤2) 。
2) 将64×64预测块分割为4个32×32预测块, 对于每个32×32预测块, 若THmad1<MAD≤THmad2, 则不对其进行分割, 直接采用P32×32预测模式, 否则进入步骤3) 。
3) 将32×32预测块分割为4个16×16预测块, 对于每个16×16预测块, 若THmad2<MAD≤THmad3, 则不对其进行分割, 直接采用16×16预测模式, 否则进入步骤4) 。
4) 将16×16预测块分割为4个8×8预测块, 直接采用8×8预测模式。
很显然, 这种基于MAD的帧内块尺度模式选择的方法取决于阈值THmad1, THmad2, THmad3以及THmad4的大小。通过大量实验, 设置THmad1=2, THmad2=3, THmad3=6。进一步观察图1, 发现仍然有少数预测块的最佳模式分布并不满足上述两条规律, 主要是因为采用RDO技术进行模式选择只能够获得客观上的最佳模式, 忽略了主观效果。任何情况下, 只选择最小RD代价所对应的模式为最佳模式, 而不考虑预测块的具体复杂度, 从而造成了不少计算冗余。所以, 提出的基于纹理复杂度选择块尺度的方法非常具有实际意义。
3实验结果与分析
将本文算法在HEVC测试模型HM10.0[6]中进行评估。为了将所提出的算法与测试模型HM10.0的性能进行比较, 使用相同的PC平台进行仿真测试, 硬件平台为:Intel Core处理器, 主频2.20GHz, 内存2GB.采用多个不同分辨率, 不同纹理特性的视频序列Class A到Class E测试算法的性能。测试条件设置如下:采用HEVC Main Profile进行编码, 编码对象为每个视频序列的前100帧;全I真编码;QP设置为32。评估算法率失真性能和计算复杂度的参数为与参考软件HM10.0中的穷尽搜索算法相比重建图像质量降低的分贝数ΔPSNR (d B) , 总比特率升高的百分比ΔBit-rate (%) , 以及平均编码时间减少的百分比ΔEnc Time (%) , 其中, ΔPSNR与ΔBit-rate的计算可参考文献[10], ΔEnc Time的计算如式 (3) 所示:
表3~表7列出了本文算法与参考模型HM10.0测试视频序列Class A到Class E的实验结果。对视频序列Class A的测试结果如表3所示, PSNR平均损失了0.025 d B, 比特率平均提高了2.015%, 编码时间减少了25.175%。对视频序列Class B的测试结果如表4所示, PSNR平均损失了0.024 6 d B, 比特率平均提高了2.868%, 编码时间减少了29.414%。对视频序列Class C的测试结果如表5所示, PSNR平均损失了0.061 d B, 比特率平均提高了3.362 5%, 编码时间减少了29.91%。对视频序列Class D的测试结果如表6所示, PSNR平均损失了0.018 3 d B, 比特率平均提高了3.4275%, 编码时间减少了30.545%。对视频序列Class E的测试结果如表7所示, PSNR平均损失了0.024d B, 比特率平均提高了3.81%, 编码时间减少了34.306 7%。实验结果表明, 与HM10.0中穷尽搜索帧内模式选择算法相比, 本文算法能够平均减少29.87%的编码时间, 同时比特率增加3.09%, PSNR下降0.031%。
图3显示了Class D视频序列Race Horses中的第1帧原图, 图4显示了对Class D视频序列RaceHorses第1帧采用本文方法编码后的重构图像, 而对两幅图像进行直接目视对比容易发现:除了人的面部细节清晰度略微降低外, 重构图像与原图在主观视觉上完全一致。
综上, 本文算法处理不同分辨率, 不同纹理结构的视频图像时, 都能够显著提高其编码速度, 而PSNR和Bit-rate的损失可以微乎其微, 同时能够保持较好的解码图像质量。
4结论
为降低HEVC帧内预测块尺度选择的计算复杂度, 提出了一种基于纹理复杂度的帧内预测块尺度快速选择方法。该方法利用简单的平均绝对误差估计, 提前检测预测块的纹理复杂度, 从而快速有效地判断预测块的尺度类型, 减少穷尽搜索代价计算过程。实验结果表明, 本文方法能够在保持较高率失真性能以及图像质量的前提下, 有效降低HEVC帧内预测块尺度模式选择的计算复杂度, 从而明显提高HEVC的编码效率。
参考文献
[1] JCT-VC.Working draft 9 of high-efficiency video coding.Geneva:JCT-VC, 2013
[2] Sullivan G J, Ohm J, Woo J H, et al.Overview of the high efficiency video coding (HEVC) standard.IEEE Transactions on Circuits and Systems for Video Technology, 2012;22 (12) :1649—1668
[3] Lainema J, Bossen F, Woo J H.Intra coding of the HEVC standard.IEEE Transactions on Circuits and Systems for Video Technology, 2012;22 (12) :1792—1801
[4] Liang Z, Li Z, Ma S W, et al.Fast mode decision algorithm for intra prediction in HEVC.2011 IEEE Visual Communications and Image Processing.Tainan, Taiwan:IEEE Impress, 2011:1—4
[5] Wei J, Ma H, Yao W C.Gradient based fast mode decision algorithm for intra prediction in HEVC.2nd International Conference on Consumer Electronics, Communications and Networks, Three Gorges, China:IEEE Impress, 2012:1836—1840
[6] JCT-VC.Reference Software HM 10.0.2009-11-12[2010-01-20].https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tagss/HM-10.0
[7] Bharanitharan K, Liu B D, Yang J F, et al.A low complexity detection of discrete cross differences for fast H.264/AVC intra prediction.IEEE Transaction on Multimedia, 2008;11 (7) :1250—1260
[8] Pan F, Lin X, Rahardja S, et al.Fast mode decision algorithm for intra-prediction in H.264/AVCvideo coding.IEEE Transactions on Circuits and Systems for Video Technology, 2005;15 (7) :813—822
[9] Yu A, Ngan K, Martin G.Efficient intra-and inter-mode selection algorithms for H.264/AVC.Journal of Visual Communication and Image Represent, 2006;17 (2) :322—343