H.264/AVC中量化的Verilog方法介绍及实现

发布者:Xiaohan521最新更新时间:2009-11-11 来源: 西南交通大学关键字:H.264  AVC  Verilog  可编程逻辑 手机看文章 扫描二维码
随时随地手机看文章

  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

  在H.264中,量化过程是对DCT的结果进行操作:

公式

  式中:Yij是矩阵Y中的转换系数;Zij是输出的量化系数;Qstep是量化步长。

  H.264量化过程还要同时完成DCT变换中“Ef”乘法运算,它可以表述为:

公式

  式中:Wij是矩阵W中的转换系数;PF是矩阵EF中的元素。根据样本点在图像中的位置(i,j)取值如表2所示。

PF是矩阵EF中的元素

  利用量化步长随量化参数每增加6而增加1倍的性质,可以进一步简化计算,即:

公式

  式中:floor()为取整函数(其输出不大于输入实数的最大整数)。式(3)可以写为:

公式

  这样,MF可以取整数。表3给出对应QP值为0~5的MF值。对于QP值大于5的情况,只是qbits值随QP值每增加6而增加1,而对应的MF值不变。这样,量化过程为整数运算,可以避免使用除法,确保用16位算法来处理数据,在没有PSNR性能恶化的情况下,实现最小的运算复杂度如表3所示。

对应QP值为0[page]

  具体量化过程的运算为:

公式

  式中:“》”为右移运算,右移1次完成整数除以2;sign()为符号函数;f为偏移量。f的作用是改善恢复图像的视觉效果,如对帧内预测图像块f取2qbits/3;对帧间预测图像块厂取2qbits/6。

  3具体实现

  在该文中,用Verilog语言实现H.264的量化;运用Modelsim进行仿真;用QuartusⅡ进行综合。

  根据Verilog编程,Modelsim仿真如图1所示。

Modelsim仿真

  输入的矩阵是[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所示。

综合后的RTL图

  4结  语

  介绍了H.264的量化算法,并用Modelsim进行了仿真,结果与理论完全一致。分析了在FPGA开发板上的资源的消耗。由此可知,完全可以用FPGA实现H.264的量化。

关键字:H.264  AVC  Verilog  可编程逻辑 引用地址:H.264/AVC中量化的Verilog方法介绍及实现

上一篇:短波通信中一种时延设计方法与DSP实现
下一篇:DSP和FPGA在大尺寸激光数控加工系统中的运用

推荐阅读最新更新时间:2024-05-02 20:55

什么是可编程逻辑
什么是可编程逻辑? 在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件指令来完成范围广泛的任务,如运行字处理程序或视频游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、定时和控制操作、以及系统运行所需要的所有其它功能。 固定逻辑与可编程逻辑 逻辑器件可分为两大类 – 固定逻辑器件和可编程逻辑器件。正如其命名一样,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能 —— 一旦制造完成,就无法改变。另一方面,可编程逻辑器件(PLD)是能够为客户提供范围广泛的多种逻辑容量、特性、速度和电压参数的标准成品
[嵌入式]
基于Verilog的多路相干DDS信号源设计
实现信号源的多路同步输出且各路间拥有固定的相位关系,在雷达、通信等多领域有着重要的应用。为了实现此功能,大多数设计是利用单片机控制多个专用DDS芯片,实现多信号同步输出,如图1所示。但腱由于采用分立的专用DDS芯片,各芯片参数很难做到完全相同,参数的差异会造成输出信号频率和相位不同。因此,尽管各DDS芯片采用同一频率字,各个输出信号频率也难以完全相同。同样,由于参数的不一致,波形之间的相位也难以做到同步准确可调,更重要的是各个信号通道间频率差异的累积效应可能会导致同步失败。由于这些原因,要实现多路同步输出且各路信号间成相干关系必须采用另外的系统。本文给出了一种基于FPGA的3路相干信号源设计方案。 1 DDS基本原理 DD
[单片机]
基于<font color='red'>Verilog</font>的多路相干DDS信号源设计
基于AT89S52单片机和ATF1508AS可编程逻辑器件实现LED显示屏的硬件设计
0 引言 LED显示屏主要由电流驱动电路及LED点阵阵列、控制系统和PC端管理软件三部分构成(图1)。控制系统负责接收、转换和处理各种外部信号,并实现扫描控制,然后驱动LED点阵显示需要的文字或图案。控制系统作为LED显示屏的核心部分,直接决定了显示屏的显示效果和性能的优劣。本文详细分析采用Verilog HDL对ATF1508AS进行编程,实现双口RAM访问和产生LED点阵驱动电路所需的各种时序信号。 1 LED显示屏的基本结构及关键技术 本系统设计中,控制系统采用单片机+CPLD的方案来实现,整个控制系统可分为:信号接收及处理模块和CPLD的扫描控制模块和LED点阵驱动模块,如图1 所示。本系统的关键技术是使用双口
[单片机]
基于AT89S52单片机和ATF1508AS<font color='red'>可编程逻辑</font>器件实现LED显示屏的硬件设计
使用Verilog实现基于FPGA的SDRAM控制器
摘 要:介绍了SDRAM的特点和工作原理,提出了一种基于FPGA的SDRAM控制器的设计方法,使用该方法实现的控制器可非常方便地对SDRAM进行控制。 关键词:SDRAM;控制器;Verilog;状态机 引言 ---在基于FPGA的图象采集显示系统中,常常需要用到大容量、高速度的存储器。而在各种随机存储器件中,SDRAM的价格低、体积小、速度快、容量大,是比较理想的器件。但SDRAM的控制逻辑比较复杂,对时序要求也十分严格,使用很不方便,这就要求有一个专门的控制器,使系统用户能很方便地操作SDRAM。为此,本文提出了一种基于FPGA的SDRAM控制器的设计方法,并用Verilog给于实现,仿真结果表明通过该方法设计实现的控制
[应用]
基于VerilogHDL的CMOS图像敏感器驱动电路设计
CMOS图像敏感器是近年来兴起的一类固态图像传感器。CMOS图像敏感器具有低成本、低功耗(是 CCD 耗的1/1000~1/100)、简单的数字接口、随机访问、运行简易(单一的CMOS兼容电池供给)、高速率(可大于1000帧/秒)、体积小以及通过片上信号处理电路可以实现智能处理功能等特点而得到广泛应用。有些CMOS图像敏感器具有标准的I2C总线接口,可方便应用到系统中。有些没有这类总线接口电路的专用CMOS图像敏感器需要增加外部驱动电路。由于CMOS敏感器的驱动信号绝大部分是数字信号,因此可采用FPCA通过 Verilog HDL语言编程产生驱动时序信号。Verilog HDL语言是IEEE标准的用于逻辑设计的硬件描述语言,
[工业控制]
基于<font color='red'>Verilog</font>HDL的CMOS图像敏感器驱动电路设计
可编程逻辑控制器 (PLC) 中的梯形逻辑
  本文介绍了用于对 PLC 进行编程的编程语言梯形图逻辑,并展示了其功能的示例。   梯形图,更好地称为梯形逻辑,是一种用于对 PLC(可编程逻辑控制器)进行编程的编程语言。本文将简要介绍什么是梯形逻辑,并通过一些示例说明其功能。   可编程逻辑控制器或 PLC 是用于执行控制功能的数字计算机,通常用于工业应用。在可用于对 PLC 进行编程的各种语言中,梯形图逻辑是一种直接模仿机电继电器系统的语言。   它使用在代表系统电源的两个垂直条之间布置的长梯级。沿着梯级是触点和线圈,仿照机械继电器上的触点和线圈建模。触点充当输入,通常代表开关或按钮;线圈表现为输出,例如灯或电机。   不过,输出不一定是物理的,可以代表 PLC 内存
[嵌入式]
<font color='red'>可编程逻辑</font>控制器 (PLC) 中的梯形逻辑
AVC荣获联想(LENOVO) 2011钻石奖殊荣
联想(LENOVO)在每年一度的供应商大会,会颁发五类奖项给供应商,分别是技术类、服务类、供应类、品质类和钻石奖。其中钻石奖的设计,则是表彰在以上四个方面,表现皆十分卓越的杰出供应商。 AVC 是今年得到钻石奖的六家供应商中,唯一的亚洲厂商,同时也缔造一项联想历史上的新记录,这也是第一次有Desktop Platform(Desktop platform是联想内部的部件分类方法,包括 机箱 、 电源 、 风扇 、 散热器 、线材等部件)类的供应商拿到钻石奖。 script WriteSpan('ad_500_1') /script 奇宏科技董事长沈庆行先生,获颁联想(LENOVO)钻石奖 2011联想供
[嵌入式]
<font color='red'>AVC</font>荣获联想(LENOVO) 2011钻石奖殊荣
H.264/AVC视频压缩编码标准的新进展
  H .264/AVC是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视频压缩编码标准,于2003年5月完成制订。相对于先前的标准,H.264/AVC无论在压缩效率、还是在网络适应性方面都有明显的提高,因此,业界普遍预测其将在未来的视频应用中替代现有的视频压缩标准。   但是,H.264/AVC标准由于对视频源的限制,仅支持娱乐级视频质量。为了进一步扩大其应用范围,使其适应高保真视频压缩的应用,JVT于2004年7月对H.264/AVC做了重要的补充扩展,称为FRExt(Fidelity Range Extensions)。 FRExt概述   H.264/AVC标准第一版支持的源图像为每象素8b,且采样
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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