H.264/AVC中量化的Verilog实现
出处:drentsi 发布于:2009-11-11 16:47:49
0 引 言
H.264作为新一代的视频压缩标准,是由ITU-T的视频编码组和ISO/IEC的MPEG(运动图像编码组)成立的联合视频小组共同开发的。它优异的压缩性能也将在数字电视广播、视频实时通信、网络视频流媒体传递以及多媒体通信等各个方面发挥重要的作用。
在技术上,H.264/AVC采用各种有效的技术,如统一的VLC符号编码、1/4像素的运动估计、多模式运动估计、基于4×4块的整数变换、分层编码语法等。由于采用了整数变换,计算不会出现浮点数,而且高等。这些措施使得H.264算法具有很高的编码效率。在量化方面,量化步长采用52个,下面将主要分析量化。在此,提出量化的Verilog实现,将变换后的数据作为输入,以量化后的码流作为输出,达到量化的目的。
1量化的功能介绍
取样后的脉冲信号在时间上是离散的,但在幅值和空间上仍是连续的,即其可能取的值有无限多个,这就需要对它采用四舍五入的方法,将其可能的幅值数由无限多个变为有限个值。这种将信号幅值由连续量变成离散量的过程称为量化。
在不降低视觉效果的前提下,量化过程可减少图像编码长度,减少视觉恢复中不必要的信息。H.264采用标量量化技术,将每个图像样点编码映射成较小的数值。一般标量量化器的原理为:
式中:y为输入样本点编码;QP为量化步长;FQ为y的量化值;round()取整函数(其输出与输入实数近的整数)。
2量化的算法介绍
在H.264中,量化步长Qstep共有52个值。如表1所示。其中,QP是量化参数,是量化步长的序号。当QP取值0时,代表精细的量化;当QP取值51时,代表粗糙的量化。QP每增加6,Qstep增加1倍。应用时可以在这个较宽的量化步长范围根据实际需要灵活选择。对于色度编码,一般使用与亮度编码同样的量化步长。为了避免在较高量化步长时出现颜色量化人工效应,现在的H.264草案把色度的QP值大约限制在亮度QP值的80%范围内。的H.264草案规定,亮度QP的值是51;色度QP的值是39。
在H.264中,量化过程是对DCT的结果进行操作:
式中:Yij是矩阵Y中的转换系数;Zij是输出的量化系数;Qstep是量化步长。
H.264量化过程还要同时完成DCT变换中“Ef”乘法运算,它可以表述为:
式中:Wij是矩阵W中的转换系数;PF是矩阵EF中的元素。根据样本点在图像中的位置(i,j)取值如表2所示。
利用量化步长随量化参数每增加6而增加1倍的性质,可以进一步简化计算,即:
式中:floor()为取整函数(其输出不大于输入实数的整数)。式(3)可以写为:
这样,MF可以取整数。表3给出对应QP值为0~5的MF值。对于QP值大于5的情况,只是qbits值随QP值每增加6而增加1,而对应的MF值不变。这样,量化过程为整数运算,可以避免使用除法,确保用16位算法来处理数据,在没有PSNR性能恶化的情况下,实现的运算复杂度如表3所示。
具体量化过程的运算为:
式中:“》”为右移运算,右移1次完成整数除以2;sign()为符号函数;f为偏移量。f的作用是改善恢复图像的视觉效果,如对帧内预测图像块f取2qbits/3;对帧间预测图像块厂取2qbits/6。
3具体实现
在该文中,用Verilog语言实现H.264的量化;运用Modelsim进行仿真;用QuartusⅡ进行综合。
根据Verilog编程,Modelsim仿真如图1所示。
输入的矩阵是[140,-1,-6,7,-19,-39,7,-92,22,17,8,31,-27,-32,-59,-21],量化的结果为[17,0,-1,0,-1,-2,0,-5,3,1,1,2,-2,-1,-5,-1]。由此可知,这与Iain E.G.Richardson给出的结果相符合。所用的开发板是红色飓风第三代开发板,FPGA芯片是Altra EP2C35F484C8。从综合后的可以看出,消耗的资源不到1%,如图2所示。综合后的RTL图如图3所示。
4结 语
介绍了H.264的量化算法,并用Modelsim进行了仿真,结果与理论完全一致。分析了在FPGA开发板上的资源的消耗。由此可知,完全可以用FPGA实现H.264的量化。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- PLC 编程中急停开关触点抉择:常开还是常闭?接线要点揭秘2025/6/26 16:02:37
- 全面解析:PLC 控制柜设计原理、布局接线与原理图2025/6/16 16:12:05
- PLC控制系统输入/输出回路的隔离技术2025/6/12 17:27:11
- 深度解析:PLC 上升沿和下降沿指令的应用时机与使用方法2025/6/9 15:18:19
- 利用 PLC 轻松打造红绿交通灯控制系统2025/5/29 15:36:55