DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1333|回复: 0
打印 上一主题 下一主题

[待整理] H.264集多项优势 成为行动装置视讯编码技术主流

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 07:46:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
视讯压缩规格,对于多媒体影像播放相当重要,因此也是相关厂商的兵家必争之地,除显示技术外,规格之争往往牵涉到权利金实际利益,不过后者不在本文的探讨范围,此处仅就技术部分进行分析。

视讯压缩标准,通常由微软(Microsoft)、ITU与ISO/MPEG-Committee…等组织提出,而不同影像压缩技术,通常与当代主流媒体绑定。

例如,ITU先后制定了H.261、H.263与H.263++…等规格,ISO/MPEG-Committee也曾推出MPEG1/4技术,1993年MPEG1规格制定完成时,使用MPEG1压缩标准的VCD激光视盘规格也同时推出。1994年ITU与ISO/MPEG-Committee合作推出MPEG2/H.262规格,成为DVD激光视盘与ATSC广播系统所采用的压缩标准。

而在2002年,ITU与ISO/MPEG-Committee再度合作,推出H.264/MPEG-4-Part10规格,其压缩效能可达MPEG2的3倍,不过约略同时,微软也将其研发的WMV-9(VC-1)压缩技术,搭配Window Media player播放软件,在个人计算机平台大量使用。H.264与VC-1压缩技术在许多评比中都互有胜负,如果不以某项特性深入探究,可谓难分轩轾。

由于压缩格式与主流媒体绑定的特性,许多人都认为次世代的蓝光规格(Blu-Ray)为决定H.264与VC-1胜负关键,结果蓝光阵营宣布两者都支持。

但前文提及,新一代视讯需求,除了高流量、高分辨率应用外,因为网络串流播放与下载需求,低流量时,能够维持较佳质量(包含播放画质与传输错误率)视讯格式,会更符合全面性需求,在此点上,H.264就比VC-1有更大应用弹性,因此确立了H.264目前几乎全面胜出的领先地位。
H.264设计之初即考虑全面应用

H.264规格发起在2001年12月,ITU-T VCEG及ISO MPEG共同组成的联合视讯小组(Joint Video Term;JVT),研究并订定新的视讯压缩格式,此新格式在ITU-T组织里称为H.264,而ISO组织中,则加入MPEG-4 Part-10(ISO/IEC 14496-10)并将其命名为Advanced Video Coding (AVC),现在通常合并称为H.264/AVC,不过H.264还是比较普遍的说法。

H.264标准在2003年3月正式制定出来。最初的目标是希望新的编/译码器,能够在比以前的视讯压缩标准(如MPEG2或H.263)低很多的编码率下,提供更好的视讯质量;同时,不需增加过多复杂的编码工具,以免相对应的硬件难以设计实现。另外1个目标是强化应用弹性,让H.264的应用范围,可从影像质量要求最低的视讯电话(video telephony)进而延伸到较高画质的串流视讯(streaming video),甚至目前最高画质的HD影片都能适用。

这是由于H.264设计时,与当时视讯压缩格式相比,首次加入视讯编码层(Video Coding Layer;VCL)与网络提取层(Network Abstraction Layer;NAL)概念,以往视讯标准着重在压缩效能部分,而H.264则包含一个内建的NAL网络协议适应层,藉由NAL来提供网络状态,让VCL有更好的编/译码弹性与纠错能力,使得H.264比一般压缩格式适用于多媒体串流(multimedia streaming)甚至行动电视(mobile TV)相关应用上。

H.264依据使用的编码种类,来提供3种编码架构(Profile),分别为Baseline Profile、Main Profile及Extension Profile,而其相对应的影片尺寸与位率层级由Level 1到Level 5.1,涵盖小画面与高分辨率画面应用范围。

Baseline Profile主要是着重于低位率的应用,如通讯用的视讯影像,因其运算复杂度较低,所以也适合用于个人随身的多媒体播放器。Main Profile则提供交错式影片(interlaced content)编码,通常适合应用在HDTV数字电视广播上,而且非常容易与在传统的MPEG2 Transport/Program Stream传送的H.264比特流整合。Extension Profile则有包含高抗错性编码工具(error resilient tools)特性,主要针对IPTV或是MOD(Multimedia On Demand)…等应用。

此外,为提供更细致的影像质量与细节,JVT于2004年7月时,再度订定了1个新的精确度扩展规范(fidelity range extensions profile;FRExt),此规范能提供更高的像素精度和支持更高的色度精度,提供更高精度视讯编码,以满足高分辨率影像需求,以避免舍弃过多的细节。

图说:H.264运作模式。

H.264先进压缩技术 解编码格式复杂多元

H.264视讯编码标准,由于加入许多传统标准没有的编码技巧,使得其展现出优越的压缩效能,与大幅提高编码效率。但这些编码技巧也带来运算复杂度与整体编码时间延长。

换言之,H.264为达到设计之初利用更低流量,却有更佳画质的需求,因此压缩率与算法都相当精密复杂,几个比较重要的特色如可变的区块编码(variable block size)、画面内预测(intra prediction)、多重参考画面(multiple reference frame)、分数点运动补偿(fraction pel motion compensation)、嵌入式去方块滤波器(in-loop deblock filter)、整数离散余弦转换(integer discrete cosine transform;IDCT)和新的熵值编码(content adaptive binary arithmetic code;CABAC),相当复杂。

而H.264处理模式因此也有许多步骤,基本上,1张影像画面开始会先被分割成相同大小且单位为16×16像素点的巨区块(macroblock),各巨区块间相互不重迭,接着将这些巨区块作画面内(intra)与画面间(inter)模式预测,这2种预测模式是用来消除空间及时间上的冗余,然后把预测区块与原区块相减后的剩余值去做转换、量化及熵编码。

由上述处理模式,进一步探究,H.264在压缩模式上,具有7种画面预测区块大小类型的巨区块,即16×16、16×8、8×16、8×8、8×4、4×8、4×4…等类型,而依照压缩软件设定的不同,参考画面最多可往前31张以及往后31张。接着进行画面预测运算。

其中画面内预测算法(又称框内预测)是利用周围邻近、与先前已编码过的点,来对目前区块作预测,这是传统标准没出现过,H.264所新增的编码技术,其做法主要是利用空间上的关连性,进而达到降低信息量目的。

其算法主要分成3个部分:亮度4×4区块(Intra4×4或I4)、亮度16×16区块(Intra16×16或I16 )及彩度8×8区块(Chroma8×8或C8 )。Intra4×4是个别预测每1个4×4大小的亮度区块,由于它分的区块较小,适合用来处理较重要的细节也就是画面较复杂的区域;而Intra16×16是处理1个完整的16×16亮度区块,相较于Intra4×4,适合用在较平滑的区域;Chroma8×8则是针对彩度方面鞔怼?br>
再者是画面间预测模式。动态影像的每张画面与其前后画面相关性是很大的,可以藉由参考先前的画面来预测目前画面,如此一来就不必储存每张画面信息,也可使传输的数据量大幅降低,这就是画面间预测的主要概念,利用画面间的预测,来节省时间上的冗余,使压缩率更为提升。

H.264算法会依照画面的复杂程度,来选取适合的区块大小,在运动复杂的区域选用较小区块,也就是说使用较多的移动向量来描述区域信息,换句话说,在平滑的区域选用较大区块,就可以用较少的移动向量来描述区域,如此可使在区块比对过程中减少误差,及在描述移动向量的位率间取得平衡。

此外,H.264的移动向量,可以精确到1/4像素,此点特性相当重要。因为在传统的视讯编码系统里面,为达到高压缩目的,往往在为了降低时间上的重复性,都会利用运动估测方式降低信息量,然而运动估测做法,也往往是编码系统中运算复杂度最高的部分。在H.264中,除在分数点的运动补偿采与先前标准一样的1/2像素点运动补偿外,另外增加了1/4 像素点运动补偿,大幅提升在时间轴上预测的准确性。

而在进行转换时,初始版本H.264的离散余弦变换(Discrete Cosine Transform;DCT)处理是以4×4矩阵为转换基本单元,采用整数作为转换系数,因此在进行反转换时,不会有采用小数运算方式的缺点,即还原后无法匹配的问题,让解编码的精确度可大幅提高。在量化技术上,H.264仅采用加法与乘法,没有除法运算,整数转换对硬件而言,运算速度不仅较浮点数快,且运算复杂度较低,能降低对应的译码硬件的制作成本。

H.264在针对量化过的转换系数数据方面,则提供了CAVLC(Context Adaptive Variable Length Coding)与CABAC(Context Adaptive Binary Arithmetic Coding) 2种编码方式。H.264为内容适应性(context-adaptive)编码技术,依据编码内容来统计某些码字(code-word)出现机率,而产生1组最适合于目前影像的编码表。换言之,可自动根据编码内容来统计特定代码出现机率,进而产生最适合于目前影像的编码表,明显与传统MPEG2/4的固定编码方式明显不同,可以有效提高压缩比,不过要使用额外的频宽来传送这些编码表。

CABAC的编码方式要比CAVLC来得复杂,但在二熵编码法中,CABAC能比CABLC节省10~15%位率。


图说:H.264的Inter运算模式。

H.264强化网络传输应用 最后胜出关键点

近年来,视讯多媒体应用的迅速扩展,使得利用无线行动通讯进行传输数据变得频繁,随无线网络广泛使用以及多媒体应用需求增加,如多媒体串流、视讯电话、高分辨率电视(HDTV),因此在无线环境中支持多媒体传输更加被重视。

由于无线频道的衰减、多重路径、干扰…等特性,使得所提供的频宽会遭遇瞬时剧烈波动的现象,无法维持一致,导致无可避免的传输服务质量(Quality of Service;QoS)下降。传统改善无线环境中频宽波动传输质量的现有方法,为熟知的适应性传输调变(link adaptation)及适应性改变数据传输速率机制(rate adaptation)。

然而,这些方法没有考虑到数据本身的属性和编码技术特性,并且端赖实体层提供缓慢的反馈信息,来调整适当传输速率。因此,对于实时性的多媒体应用,特别是有严谨频宽需求和延迟限制的串流影音,无法提供较好的传输服务质量,也无法实时因应瞬时频宽波动的情形。

于H.264视讯压缩标准的3项特性,高压缩率,网络友善性设计以及错误容忍工具提供,使得该视讯压缩标准非常适合各种无线网络传输协议应用。但由于前述无线网络的不稳定性,如何解决封包遗失而造成影像质量严重下降,是目前急欲解决的问题,在无线通讯网路环境里,噪声问题影响影像质量相当大,尤其H.264的视讯在高压缩时,就算是一点小错误,都极有可能让译码出来的影像质量严重下降或损毁。

因此,H.264在抗错误的部分,采用很多不同的抗错误技术,例如可将画面中任意的巨方块指定到任意的片段组(slice group;SG);借着每个片段的再同步(resynchronize)避免错误蔓延(error propogatiom)的可调性巨方块顺序(flexible macroblock ordering;FMO);依据参数重要性将资料分个成数个部分的数据分割(data partitioning: DP)技术。

此外,切换影片码率时,插入SI/SP以保持影片的流畅及正确性。如果画面影像质量无可避免的低落时,H.264画面内更新(intra update)技术,可使画面的质量恢复一定水平,这些都是H.264为了能进一步对抗错误所采用的方法。

H.264优点甚多 然消耗运算资源 编码加速成关键

H.264标准中的画框内预测,利用自然影像的相关性进一步降低编码信息量,虽提高了压缩率,却也增加运算复杂度。在可变区块大小部分,不同于先前的标准,如H.261、MPEG1/2主要以16×16模式为主,在H.263+和MPEG4当中开始有可变区块编码概念,但也只用了16×16 和8×8 2种模式。在H.264中为达到高压缩、高质量目的,承袭可变区块编码概念,进而支持16×16到4×4…等7种模式,以提供更好的影像质量,但是运算负载也提高很多。

如果以数字量化计算,相较于上一代的规格,H.264比起MPEG2提升2到3倍压缩效率,比起MPEG4则有1.5到2倍压缩率。因此在各种视讯应用上,都有明显优势。以90分钟DVD质量电影流量,用MPEG2需要3.0Mbps频宽,MPEG4需1.8Mbps频宽,H.264则只需1.1Mbps的频宽即可。因此在储存与档案下载方面,H.264也能节省很大的资源及时间。

甚至数字电视讯号也倾向采H.264压缩,以行动电视的1个影音节目的传输来说,采用H.264/level 1.2的规格,要达到CIF画质(360×288),视讯传输上需要384Kbps速率,音讯上需要48Kbps,若再加上约40Kbps的overhead,因此1个质量稳定的节目大约需要用掉500Kbps,而在DVB-H技术架构下,以不同的调变技术(QPSK/16QAM/64QAM)能在8MHz频宽中传输6到60个节目。

在相同频宽下,MPEG2压缩无法做到这么高压缩比,因此,能够放的频道就比较少,即便目前主流数字电视讯号几乎都采用H.264压缩,但H.264规格的运算量却高达好几倍。

总而言之,H.264提供相当多的优点,但是运算需求却比之前各种压缩规格高上许多。对于运算资源高的PC来说,也曾经发生播放高画质H.264压缩的HD规格影片时相当困难的窘境,虽然目前主流规格的处理器,已经可以办到软件直接即使译码H.264视讯,但是,就算是双核心处理器,需要的资源仍相当高,因此新推出的主流显示卡,大部分都已内建硬件译码H.264能力,实测结果也能有效减轻CPU负担。

同样的运作原理,放到CE产品的各种视讯装置,特别是缺乏资源的行动视讯装置来看,合宜的H.264世代译码加速设计,平衡H.264所带来的效能冲击,并兼顾其它编码方式的解决方案,以及省电、体积缩小…等设计,才能成为下一波竞争的胜利者。


图说:PC显示卡架构中,NVIDIA与ATI 2强所提出的硬件译码H.264架构。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-29 04:15 , 耗时 0.187266 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表