H.264是ITU-VCEG(VideoCodingExpertsGroup)和ISOMPEG(MovingPictureExpertsGroup)共同制定的最新的视频压缩编码国际标准。高编码压缩效率、友好的面向网络的接口和较低带宽上提供的高质量图像传输使H.264视频压缩技术已经成为新一代视频解决方案的新宠。其中的量化和变换部分运算量较大,该部分适合用硬件实现以提高系统的速度。本文着眼于逆量化部分的硬件实现,该模块在编码端和解码端中均要用到,故将其设计为一软IP,能够被灵活应用。
1逆量化过程
逆量化是量化的逆过程,公式Zij=round(Yij/Qstep)是量化过程,Yij是量化输入,Qstep是量化系数,因为H.264把DCT变换中的相乘部分合并到量化过程,为了得到一致的结果,须把逆变换中的相乘部分在逆量化中实现。由逆变换公式:
矩阵Ei的所有元素都是小数,都属于{ab,a2,b2},将a,b值代入得{0.32,0.25,0.4},用PF表示以上三个值,PF的取值与矩阵中的位置关系如表1-1所示。因为都包含了小数点,所以Qstep和PF的乘积可能会产生更多的小数位,为了减小近似计算带来的误差,使用先放大再缩小的方法,得到H.264标准规定的逆量化系数为Qstep×PF×64,用V表示,于是量化可由下式表示:Wij=Zij×V=Zij×(Qstep*PF*64),Zij是逆量化的输入,Wij是逆量化的输出。不同位置上的系数所乘的系数是不同的,这个由PF体现,对应关系如表1-1,式中的Qstep由表1-2所示,QP值每增加6,Qstep就翻一倍,所以只要规定QP小于6时对应的量化系数,就能通过左移操作实现输入数据与所有逆量化系数相乘的常数乘法运算。文中把QP小于6时对应的逆量化系数用V表示,则Vij=Qstep*PF*64,式中Qstep是QP在0到5范围内的值,即QP=QP%6时对应的Qstep。不同QP%6值,V在不同位置上的取值如表1-3所示。
对不同的4×4块,不同的量化阶数QP,逆量化公式有所不同,归纳如下:
①block_type为Intra_16×16亮度直流系数
当QP>=12Wij=Zij×V00<<2floor(QP/6)-2
当QP<12Wij=(Zij×V00+21-floor(QP/6))>>(2-floor(QP/6))
②block_type为色度直流系数
当QP>=6Wij=Zij×V00<<2floor(QP/6)-1
当QP<6Wij=Zij×V00>>1
③block_type为普通4×4块,则Wij=Zij×Vij<<2floor(QP/6)
逆量化系数的求解过程为:首先根据QP=QP%6和元素当前的位置选择一个在表1-3中的一个数V,再根据当前输入解码块的类型进行移位操作。①输入块是intra_16×16宏块的直流分量(4×4)则对V左移QPY/6位,再右移两位,若QP小于12,则移位前加上2(1-QP/6)也即QP在0到5时加2,在6到11时加1;②如果输入的块是色度信号的直流分量(2×2),则对V左移QPY/6位,再右移一位;③不是以上两种情况,则对V左移QPY/6位即可。
2硬件结构
2.1系统结构
本设计采用流水线的结构,每个时钟处理四个象素,只用两级流水,系统结构如图2—1。共有五个模块,左上模块完成反量化系数的输出,根据QP的值给出不同的系数。模块Data_reg是个数据缓冲器,目的是为了能够与信号QP和Block_type实现流水。Controlsingalgenerator模块产生用于处理特殊4×4块的附加操作信号,当处理的块是intra_16×16宏块的直流分量(4×4)时,则Shift_DC为2,即右移两位。同时,若QP在0到5,则Add_2为1,表示加2,若QP在6到11,则Add_1为1,表示加1;当输入的块是色度信号的直流分量(2×2),则Shift_DC为1,即右移一位;当Blokc_type为普通块时Add_1,Add_2,Shift_DC均为零。Sel_13,Sel_24,Sel_DC为选择信号,用于控制选择与输入数据data相乘的系数。本设计采用列数据输入,而每列数据中奇数行与偶数行的反量化系数以及奇数列与偶数列的反量化系数都是不同的,Sel_13用于1、3行的系数选择,Sel_24用于2、4行的系数选择,而Sel_DC用于处理Block_type为直流分量块时的系数选择。模块16×5BothMultiplier实现反量化相乘,由四个16×5的both乘法器构成。模块shift实现移位操作。
2.2模块Div_6
该模块实现QP%6与QP/6的输出,因其是常数除法,除数是6,故硬件结构上不需要设计常规除法器来实现,本文采用改进了的阵列除法器实现,将阵列除法器中每一行用超前进位的可控加减法器取代,以减小关键路径,提高速度,如图2—2:被除数是7位二进制数QP,除数为0110,P为加减控制信号,P=1做减操作,为0做加操作,每次操作后高位取反后作为本次的商和下次操作的控制信号P,低位补全四位后再做加减。最后得QP/6的值为q3q2q1q0,QP%6的值为当r1是0时,QP%6等于r1r2r3r4[FS:Page],当r1是1时,QP%6等于r1r2r3r4加上6。
2.3模块16×5BothMultiplier
该模块由四个16×5both乘法器及一些输入选择逻辑构成,硬件结构如图2—3。乘法器采用基2布什算法,有三个部分积,再通过一个3:2的压缩器,最后用一个超前进位加法得出结果。因为3:2压缩器对三个部分积是错位操作的,故低位可以为Add_1、Add_2留端口,这样可以在不增加逻辑的情况下实现block_type为DC块且QP小于12时的处理。
3验证及结果
本文的逆量化IP验证系统如图3—1所示,testbench产生完备的输入测试数据信号,两个时钟周期后,这些输入数据经逆量化后再输出到testbench,与理想输出数据对比,完成验证。该验证系统在modelsim5.8下的语句覆盖率(statementcoverage)和分支语句覆盖率(branchcoverage)均达到了100%。另外,该系统IP在SynopsysDC软件中,用SMIC0.18um工艺综合,时钟频率达到140MHZ,吞吐率560Mpixels/s,性能上达到了所有档次要求,包括HDTV720P,1080i和数字影视格式。
本文作者创新点:H.264标准的高性能是以增加编解码算法的复杂度实现的,业界通常采用多处理器核来实现,但对一些计算量大的模块如果能用硬件实现,则能够提高编解码系统的速度。本文将各种4×4块的逆量化通过选择控制信号进行统一处理,以纯硬件实现,可以作为编解码系统的加速器。其次,本文在各子模块的实现过程中,都采用了优化的硬件结构,在达到高速指标的前提下,减小了模块占用的面积。
4.结语
本文目前只完成前端设计和前端验证,从应用角度,只能作为软IP,软IP有其灵活性的一面,但其最终还是要与具体的工艺相结合才能流片,本文的后续工作将继续完成版图布局布线,布图后的静态时序分析(STA),以及DRC&LVS,并通过MPW流片实现该模块的硬核IP。
为您推荐
一、引言近年来,随着我国通信网络基础设施的快速建设,视讯业务由于可以为处于多点的与会者提供音视频等多种信息,节省大量费用,提高工作效率,因而发展迅速,并有望成为NGN的主要业务。视讯会议系统从产生至今,发展了多种适于各类通信网络的系统,目前传输多媒体信息的主要有H.323、H.324和H.320等系统。IP技术的开放性特点使得它非常适合承载多种业务,随着IP的安全和QoS等问题的逐步解决,以IP作为承载网的优势将更加明显,下一代网络也将采用IP技术作为承载网技术。因此,本文以适用于在IP网上提供多媒体业务的H.323系统为主进行阐述。H.264是由JVT为实现视频的更高压缩比,更好的图像质量和
2.高质量的图象:H.264能提供连续、流畅的高质量图象(DVD质量)。3.容错能力强:H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。4.网络适应性强:H.264提供了网络适应层(NetworkAdaptationLayer),使得H.264的文件能容易地在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000等)。
关键词:视频ITU-TH.261H.263H.264数字视频技术广泛应用于通信、计算机、广播电视等领域,带来了会议电视、可视电话及数字电视、媒体存储等一系列应用,促使了许多视频编码标准的产生。ITU-T与ISO/IEC是制定视频编码标准的两大组织,ITU-T的标准包括H.261、H.263、H.264,主要应用于实时视频通信领域,如会议电视;MPEG系列标准是由ISO/IEC制定的,主要应用于视频存储(DVD)、广播电视、因特网或无线网上的流媒体等。两个组织也共同制定了一些标准,H.262标准等同于MPEG-2的视频编码标准,而最新的H.264标准则被纳入MPEG-4的第10部分。本文按照IT
AVS:即数字音视频编解码标准是电子信息产业的重要技术标准,也是数字电视产业链上的标准之一。它是高清晰度数字电视、高清晰度激光视盘机、网络电视、视频通信等重大音视频应用所共同采用的基础性标准。在《中共中央关于制定国民经济和社会发展第十一个五年规划的建议》中,数字化音视频与新一代移动通信、高性能计算机及网络设备等一起被列为中国信息产业培育的重点。MPEG-2:是目前包括数字电视在内的数字音视频产业广泛采用的信源编码标准。MPEG-2最初的收费对象为解码设备和编码设备。由于当时MPEG-2是数字音视频领域惟一可用的技术标准,而且相对合理。在中国组织建立AVS标准后,MPEG-LA迅速将原来制定的M