【转帖自】关于现在流行的H.264编码的秘密(FROM<<流媒体杂志>>05年
全金属狂潮吧
全部回复
仅看楼主
level 1
技术趋势电子技术,特别是数字时代的电子技术发展太快了,恐怕要不了三五年H.264就会像MPEG-2一样无孔不入。H.264详解h263_team为什么叫H.264 H.264是一种视频高压缩技术,全称是MPEG-4 AVC,用中文说是“活动图像专家组-4的高等视频编码”,或称为MPEG-4 Part10。它是由国际电信标准化部门ITU-T和规定MPEG的国际标准化组织ISO/国际电工协会IEC共同制订的一种活动图像编码方式的国际标准格式,这是我们叫惯了的MPEG中的一种,那为什么叫H.264呢? 原来国际电信标准化部门从1998年就H.26L的H.26S两个分组,前者研制节目时间较长的高压缩编码技术,后者则指短节目标准制订部门。H.26S 的标准化技术的名称为H.263,听起来很耳生,但实质上却早在用了,还被骂得很激烈。因为,H.263先入为大,一直以MPEG-4大内涵的名字在用。 H.263的全称为MPEG-4 Visual或MPEG-4 Pall Ⅱ,即MPEG-4视频简单层面的基础编码方式。2001年后,国际电信标准化部门ITU-T和MPEG的上级组织国际标准化组织ISO/国际电气标准会议IEC成立了联合视频组JVT,在H.26L基础进行H.264的标准化。 2002年12月9日~13日,在日本香川县淡路岛举行的MPEG聚会上确定了相关技术的规格。规格书定稿后,2003年3月17日,H.364的技术格式最终稿国际标准规格(FDIS)被确立。目前软件和LSI芯片,服务及设备也都进入了使用阶段。格式书中,列出了比特流规定,解码必要格式,和可供参考的编码记载。 为了不引起误解,ITU-T推荐使用H.264作为这一标准的正式名称。实际上,MPEG-4里还有MPEG-4 Audio和MPEG-4 System的不同规格。 MPEG-4挨骂是因为MPEG-4 Visual许可收费离谱引起的。别以为有了专利就可以随意向人要钱了,专利的最终目的的是使全社会的智力资料更合理地使用,防止重复劳动,并不是犒赏最先发明者。按唯美史观,当社会技术发展到某一阶段时,新技术必然会出现。不是你、就是他总会发明出来,只是细节、时间、成本上的微小差别。历史上,这样不约而同的发明很多,无线电的发明者是马可尼还是波波夫,一直在西方和东方技术史界争论。 而当专利技术成为国际标准的一部份后,问题就更加复杂了。国标标准是强制的,向其中的专利付费是否有垄断之嫌?标准中的技术专利请求,是否合理?如何区分正当的请求和不正当的请求?等等一系列的理论、法律和道德问题都出来了。要尊重专利法,也要遵守反垄断法。这两年国际上围绕MPEG-4收费问题的大争论就是由此而起。在标准化进程中,专利的争端正在增加,任何黑白两极的判断都无法令人满意。但奇怪的是标准中的专利争端发展到要求判决的案例几乎没有,都是当事者幕后交易解决,这使得不明确的法理更陷入恶性循环之中。同时也助长了用户对盗版的宽容,一边是抢我的剪径强盗,另一边是偷你的小贼,怎么讲道德?! MPEG-4的收费问题主要是从向传输环节收费引起的。MPEG-4对解码器和编码器的收费已经比MPEG-2低了很多,这是各种压缩技术竞争的结果。但MPEG-2不对传输MPEG-2压缩图像的服务环节收费,而MPEG-4则要对内容配送者收取每分钟0.0333美分的许可费。钱数听起来不大,但伦理上却有很大的差别。打个比方,你买了台彩电,必要的专利费用已经通过彩电厂转交到专利技术持有者的手中。而当你打的把这台彩电运回家的时候,出租车主也要向专利持有者交费!能不引起轩然大波吗。 现在的专利收费结构已经相当商业化。一种产品、一个系统或一套技术标准中,包含有许许多多公司的专利技术,使用企业很难与一个个技术的发明者直接交涉签约,这样就出现了一种专利管理公司的企业。它把某一产品的一个个技术从专利持有者手中买下来,约定好收益的分配方案,再由它人使用技术的企业中收取许可费。需要用这一产品技术的企业就只需与专利管理公司打交道,操作方便多了。但专利管理公司和著作权保护企业一样,实际上是一个中间商,两头赚钱,未必把社会效益放在最高地位。
2006年08月05日 16点08分 1
level 1
现在的MPEG-4,也即MPEG-4 Visual是由美国MPEG LA公司进行专利许可管理的,他同时也在管理MPEG-2的专利,目前还在争取H.264的专利许可权。MPEG LA公司于2002年9月就开始募集H.264的主要专利,想采取先入为主的手段取得管理权。由于大量企业对MPEG-4收费制度不满,2003年6月, MPEG-4的支持团体M4IF(MPEG-4工业论坛),决定数据流标准格式的美国ISMA(国际数据流媒体协会)和多媒体通信有关业界团体IMTC (国际多媒体通信协会)发起召开H.264的许可制度说明会。总共有专利持有者和使用者团队45个,56人参加,对有关H.264许可问题进行早期意见交换,希望协调各方面的要求和利益。关于方面其它信息,我们稍后再细述,先看看H.264的特色吧。 H.264用大运算量来换取高压缩率、高画质 H.264受人追捧有三大原因:高性能、国际标准和公正的无差别许可制度。 首先是超高压缩率,其压缩率为MPEG-2的2倍以上,MPEG-4的1.5至2倍。这样的高压缩率是以编码的大运算量来换取的,H.264的编码处理计算量有MPEG-2的十多倍。不过其解码的运算量并没有上升很多,故对用户接收播放来说没有什么难度。 从另一角度,编码的大运算量现在也不是什么大问题。MPEG2是1994年推出的,当时微处理器的工作频率才100MHz,主存储器容量也不满10MB。 MPEG-2那样的压缩运算适应了当时的技术水平。而现在CPU的工作频率可上升到3GMz,DRAM用到256MB,提升了30倍上下,运算量也不怕。实验表明在奔腾4处理器的3GHz电脑上,可用软件实现D1(720×80)格式图像的H.264实时编码。 而且H.264才标准化,运算顺序还有改善的空间。当作为国际标准确立后,还能结集起全世界的精英来优化处理。这也反应出技术发展的必然性,唯物史观。 高压缩率使图像的数据量减少,给存储和传输带来了方便。加上基本规格公开的国际标准和公正的许可制度,所以,电视广播、家电和通信三大行业都进入到H.264的实际运用研发中心,见图1。H.264可用于手机电视广播,打开手机就可以收看数字电视节目。美国高等电视系统会议和日本无线电工业和事务协会都准备把H.264作为地面便携式数字电视广播的编码方式。欧洲数字电视广播标准化团体也正在将H.264作为数字电视的一种编码方式来采用。 家电行业中的视频存储设备厂商也看中了H.264。东芝的HD DVD-ROM就靠H.264赢得了时间。硬盘录像机HDD和DVD录像机的长时间录像功能也会采用H.264编码,H.264能使HDTV节目录像和 SDTV的长时间录像成为可能。因而,生产LSI芯片的厂商也十分重视H.264。 甚至DVD论坛也在动作。D9型DVD碟片只有8.5GB容量,不够放入2小时的HDTV节目,如用H.264来压缩就有可能。这就是HD-DVD9格式,其画质评价已经结束,标准正在制订之中,等待许可条件的出台。 在通讯领域,互联网工程任务已开始将H.264作为实时传输协议流的格式进行标准化。互联网和手机的视频传送也会有H.264作为编码方式。美国Polycom公司用基线层面H.264格式压缩图像的电视会议系统已开始生产。 图2是H.264编码原理框图,图中,只要去除左上角的帧内预测块和右下角的环路滤波器,及对某些方框的补充说明,此图同样可用于表示MPEG-2和MPEG-4的操作流程。所以,图中很容易看出H.264和MPEG的各种早期格式的主要差别。 对H.264来说,整个运算量在各部分的分配如下:帧间预测和帧内预测占60%~70%,整数变换约占10%,纠错编码约占20%,环路滤波的10%。 MPEG的每秒25或30帧的画面被分为构成方式不同的三种画面:帧内编码I画面,前向预测编码P画面和双向预测编码B画面。I画面用原始数据直接编码,不与其它画面比较。所以,I画面的编码量信息量大,数据量大,但可以仅用自身的数据独立还原画面。如果视频画面中出现马赛克或其它紊乱,只要有一帧I画面出现就能中止错误的画面继续下去。
2006年08月05日 16点08分 2
level 1
P画面用最近的I或P画面作为比较基准进行运动预测,只记录下这帧画面与基准画面的不同之处。所以,编码效率较高,数据量小,但还原画面就需要前面的基准帧数据。若基准画面已经有错,那么这个画面上的错误会被传下去,直到I画面到来。 B画面可以同时用前面和后面的画面作为比较基准进行运动预测。编码压缩率最大,数据量最小,而且不会传递错误。但需要附加存储器,时间上有迟后,还不能作为以后的预测基准。 H.264的变化之一是在帧内编码I画面中,又加入了帧内预测编码技术,即解码时可用周围数据的差分值来重构画面。帧内预测以特定大小的块作为基准单元,从周围像素中预测编码化的模板。H.264的基准块大小分4×4和16×16两种,前者有9种预测模式,预测方向见图3。后者也有4种模式。因为原图像左右、上下都有一定的相关性,不同部分的差分值总比不进行帧内预测的原始值要少,故量化后的编码量就减少了,而且高频成分也比原图像为少。 运动预测块中采用了全面预测技术,效果极好。H.264在运动矢量的检出时,能选定最合适的大小来进行,因而运动矢量检出的精度较高。见图4。MPEG- 2只有一个运动矢量检出模式,MPEG-4有2个,而H.264有7个之多。运动矢量探索单元分得细,就能找到更多的静态部分,真正的运动矢量就能单独求出,抑止了运动细节的编码量。 在预测中,可以利用的参考帧帧数也增加了。在H.264中,根据画面清晰度的不同能有4到6个校正帧可用,因而能搜索到突然消失那样的蒙太奇画面。H.264中,720×480像素的D1格式画面可以从前4帧的不同位置中预测第5帧画面。 全面预测和帧内预测在MPEG-2时代并非想不到,因当画面像素数和画面品质要求提高时,运算处理量就会爆发性地增加,实时运用时有可能出现中断。为此,MPEG-2和MPEG-4的运动预测规格都指定了最低限,运动矢量检出编码时的自由度不能太大。 H.264采用全面运动预测和I画面帧内预测后,编码量得到削减,但LSI的运算处理量增大。为此,引入了DCT变换的简化处理技术,来减轻LSI的负担,画质也有所改善。 具体技术是把原来的离散余弦变换DCT改变为近似的整数变换,即把DCT正交变换时用的系数1,0.414变成2,1;cos(π/8),cos (π/8)2变成1/(5)1/2,1/5。使原来必须用浮点运算进行的余弦函数运算,可用整数运算进行。同时还削减了系数的种类,使运算量减少。由于不必严格规定运算精度,还可以用SIMD(单指令多流数据)等操作快捷命令来执行。H.264又一项减少运算量的方法是在很多地方引入层次化运算,把在矩阵数据块变成小块运算,使计算式变得更加简单,见图5。 在DCT中采用时,8×8像素块层次化到2×2像素块,变换就变得快捷。运动补偿中也可利用。检出运动矢量时,最初的模块大,运动矢量的检出范围大,搜索快捷。当检出到有动作的部分再调入小模块细分析。H.264进行运动预测的模板多,一旦先进全面检索,需要的时间就很长,运算量也大。用层次化处理,先进行模板的收缩,接着小范围检索,就能减少计算量。在帧内预测中利用层次化后,残差计算的范围就能变小,同样有利于减少计算量。 H.264与MPEG-2和MPEG-4的不同还存在于纠错编码块中,H.264的纠错编码为内容自适应可变长度码(CAVLC)和内容自适应二进制算法编码(CABAC),能提高纠错能力。而MPEG-2和MPEG-4杰霍夫曼编码。另外,还加入了MPEG-2和MPEG-4没有环路滤波器,有降低噪声的效果。H.264的整数变换以4×4像素块为单位,已比原来的8×8像素块的块噪声少,再次降低,画质得到了进一步提高。 从应用角度看,H.264有三个层面,分为主要用于电视会议等通信的基线层面,面向高画质用途和录像的主层面以及面向内容配送的扩展层面。各层面的清晰度和编码速度取值不同。 基线层面的主要技术为图像只含有I画面,P画面,系统内有环路滤波,1/4帧间预测,4:2:0 YUV格式输入,基于VLC的纠错编码,弹性宏块指令等。主要层面则在基线层面基础上加入了CABAC运算编码技术和基于双向预测的B画面,滤波(接口)等技术,但不含弹性宏块指令。扩展层面则在基线层面里加入B画面和滤波编码等。
2006年08月05日 16点08分 3
1