专利名称:视频压缩帧内预测16×16模式硬件并行实现结构的制作方法
技术领域:
本发明涉及一种视频压缩帧内16X 16预测模式硬件并行实现方法及架构。属于 数字视频编解码技术领域。
背景技术:
在H. 264/AVC视频编码系统中,运动估计、帧内预测、变换/量化、去块滤波等需要 大量运算。目前市场对高清以上H. 264/AVC视频编码需求不断增加,而采用高端DSP方式 实现H. 264/AVC视频编码的方案不断出现计算瓶颈。采用大容量FPGA或ASIC方式,利用 硬件并行结构实现高清以上H. 264/AVC视频编码系统是一些市场产品的很好选择。帧内预测16X16模式共需要计算四种模式,包括垂直预测、水平预测、DC预测、 PLANE预测。如果串行计算,将消耗大量时钟周期,而采用FPGA或ASIC方式,拥有足够的硬 件资源,完全可以采用并行体系结构完成帧内16X16预测模式的实现。
发明内容
本发明为视频压缩帧内预测16X16模式硬件实现提供了一种并行实现方法。 16X16帧内模式选择分以下几步完成1、选择一种16 X 16模式,并生成16 X 16的预测块;2、计算Costl6X16。采用SATD处理残差数据。3、对所有的16 X 16预测的4个模式重复步骤1 2,选取具有最小Costl6X 16值 的模式为最佳16X16模式。4、计算最后选择的16X 16模式与编码图像块之间的Costl6X 16 (SSD)值;本发明将1、2、3步骤中四个模式通过硬件设计并行实现,然后选择最小 Costl6X16值的模式为最佳16X16模式。
图1是16*16模式帧内预测结构图。图2是垂直预测模式结构图。图3是水平预测模式结构图。图4是DC预测模式结构图。图5是PLANE预测模式结构图。图6是PLANE预测中V,H,a,b,c求值结构图。图7是PLANE模式预测其中一个4*4块16个像素的Wallace阵列架构图。
具体实施例方式本发明基于以下方法实现。帧内预测16 X 16最佳模式选择步骤如下
参见图1,由外部存储器读入上面相邻宏块最底一行数据,左边相邻宏块最右侧像 素值。利用四种预测方式并行预测分别得到预测块。计算预测块和原始16X16块之间的 残差,求取SAD;由量化系数Qp查表得到Xm。de*R(s,c, mode/Qp);据以上三个参数计算 Costl6X16 = SAD+Amode*R(s, c, mode/Qp);比较四种模式的 Costl6X 16,选择最小的那个 模式为最佳16 X 16模式。选用最小模式的16 X 16块预测值,与重建16 X 16块联合计算残 差、SATD值和代价函数。计算残差、SATD值时,每个时钟完成一个4X4模块,总共需要16 个时钟完成一个宏块的计算。四种预测模式的结构见图2 5。对于Plane预测方式进行预测时需先求出H,V ; 然后计算a,b,c的值,最后每个时钟并行计算16个预测值,即16X 16块中的一个4X4块 预测值。
权利要求
视频压缩帧内预测16×16模式硬件并行实现结构,其特征在于对16×16块的四种预测模式采用并行硬件结构,同时计算四种预测模式的代价值,比较并选择最小代价值。
2.根据权利要求1所述的对16X16块的四种预测模式的并行硬件结构,其特征在于针 对每种预测模式,都采用多个Wallace阵列结构并行实现。四种预测模式结构包括垂直预 测硬件结构、水平预测硬件结构、DC预测硬件结构和PLANE预测硬件结构。
3.根据权利要求2所述的DC预测结构,其特征在于当上面和左面相邻模块像素都可用 时,采用上面和左面相邻模块共32个像素的平均值作为预测值,当左面相邻模块像素可用 时,采用左面共16个像素的平均值作为预测值,当上面相邻模块像素可用时,采用上面共 16个像素的平均值作为预测值。三种情况采用三套硬件并行完成。
4.根据权利要求2所述的PLANE预测结构,其特征在于采用1个Wallace阵列,用于分 时计算H、V值,并使用寄存器保存H、V值;采用一个加法器用于分时计算a、b、c值,并使用 寄存器保存a、b、c值;采用16个不同的Wallace阵列用于并行计算16个PLANE预测模式 的预测值;16X16块总共需要计算16次,每次计算其中一个4X4块。
5.根据权利要求3所述的16个不同的Wallace阵列用于并行计算16个PLANE预测模 式的预测值,其特征在于16个不同的Wallace阵列可同时计算16X 16块中一个4X4块预测值,使用WQQ、 W〇l、W〇2、W(33、刘 10、Wn、刘 12、刘 13、砰20、刘21、竭22、刘23、刘30、^31、刘32、刘33表示16个各异的Wallace阵列输出结果,用x,y表示相应4X4块在宏块中的坐标位置,mx、my是与x,y之相 关的系数,其中 W。o = a+b+c+mx*b+my*c ;ff01 = a+b+2c+mx*b+my*c ;ff02 = a+b+2c+c+mx*b+my*c ; ff03 = a+b+4c+mx*b+my*c ;ff10 = a+2b+c+mx*b+my*c ;ffn = a+2b+2c+mx*b+my*c ;ff12 = a+2b+2c+c+mx*b+my*c ;ff13 = a +2b+4c+mx*b+my*c ;ff20 = a+2b+b+c+mx*b+my*c ;ff21 = a+2b+b+2c+mx*b+my*c ;ff22 = a+2b+b+2c+c+mx*b+my*c ;ff23 = a+2b+b+4c+mx*b+my*c ; ff30 = a+4b+c+mx*b+my*c ;ff31 = a+4b+2c+mx*b+my*c ;ff32 = a+4b+2c+c+mx*b+my*c ;ff33 = a+4b+4 c +mx*b +my * c。
6.根据权利要求5所述的mx、my系数,其特征在于由16X16块中一个4X4子块x,y 坐标位置决定,对于 x = 0,mx = -8,x = 1,mx = -4,x = 2,mx = 0,x = 3,mx = 4 ;对于 y =0, my = -8, y = 1, my = -4, y = 2, my = 0, y = 3, my = 4。全文摘要
在H.264/AVC视频编码系统中,帧内16×16预测是一种重要的减少空间相关信息的模式。帧内预测16×16模式共需要计算四种模式,包括垂直预测、水平预测、DC预测、PLANE预测。帧内预测模块需要大量运算,如果串行计算,将消耗大量时钟周期。对于高清以上视频编码系统,采用大容量FPGA或ASIC方式,利用硬件并行结构实现H.264/AVC视频编码系统是克服计算瓶颈的一个很好选择。本发明采用并行体系结构完成帧内16×16预测,针对每种预测模式,采用多个Wallace阵列结构并行实现,可达到较高性能。
文档编号H04N7/50GK101938643SQ200910108168
公开日2011年1月5日 申请日期2009年7月3日 优先权日2009年7月3日
发明者张爱平, 王明江, 王超, 颜琥, 魏志强 申请人:哈尔滨工业大学深圳研究生院