H.265视频编码中变换与反变换的快速实施方法

文档序号:7823191阅读:307来源:国知局
H.265视频编码中变换与反变换的快速实施方法
【专利摘要】本发明公开了一种H.265视频编码中变换与反变换的快速实施方法,源数据正变换A1),将系数矩阵T转置得到T’,将源数据X左乘于转置后的系数矩阵T’,得到中间结果XT’;A2),将中间结果XT’右乘于系数矩阵T,得到变换域数据Y=TXT’;变换域数据反变换,B1),将系数矩阵T转置得到T’,将变换域数据Y右乘于转置后的系数矩阵T’,得到中间结果T’Y;B2),将中间结果T’Y左乘于系数矩阵T,得到源数据X=T’YT。本发明将数据级并行与系数级并行相结合的SIMD实施方法,避免运算过程中所需的两次转置,降低了运算的复杂度,提升了执行效率,具有良好的应用前景。
【专利说明】Η.265视频编码中变换与反变换的快速实施方法

【技术领域】
[0001]本发明涉及一种Η.265视频编码中变换与反变换的快速实施方法,属于视频编码【技术领域】。

【背景技术】
[0002]网络视频是互联网最主要的应用之一,高清视频将是广电领域的必然走向,移动视频目前的发展态势也呈现出井喷之势。可以预见,视频应用在今后若干年都将是数字多媒体领域的最大热点。
[0003]由于网络带宽、延时等因素的限制,视频应用中面临的首要难点就是视频编解码问题,视频编解码系统是视频应用领域的核心,它决定着媒体服务的质量,它直接影响网络带宽需求、用户体验质量、解码设备需求、直播延迟等关键问题。因此高效的视频编解码系统一直是广电、互联网视频、视频协作厂商等竞相追逐的重点对象。Η.265视频编码是国际标准化组织MPEG和ITU-TVCEG继H.264之后联合制定的新一代视频编码标准。H.265沿用了前代视频编码标准所惯用的基于块的预测变换混合编码框架,并且在预测、变换、熵编码、环路滤波等核心模块进行了一系列重要的创新和改进,如更加灵活的四叉树编码结构,更加复杂和精确的帧内和帧间预测方法、更加先进的环路滤波技术,使得压缩性能相比H.264提升了一倍。
[0004]H.265视频编码标准的有效地提高了视频压缩性能,但是,同时也为视频编码过程带来了更多的计算负担,新的编码工具集为编码过程提供了更多的选择,要达到最优编码性能,需要在这个工具集中寻找最优组合,这个搜索过程的复杂度是相当高的。最显著地,
H.265相比H.264编码和预测块的划分形式更加灵活,它首先把编码的基本单位抽象为编码单元⑶、预测单元PU和变换单元TU三个层次,从64x64到4x4,每一层⑶都可以支持2Nx2N,NxN,2NxN,Nx2N 四种对称 PU 划分方式和和 2Nx0.5U,2Nx0.5D,0.5Lx2N,0.5Rx2N 四种非对称TO划分方式。理论上,编码器要获得最优编码性能需要通过递归遍历的方式检查所有可能的CU和PU划分组合,这个过程的运算复杂度是极高的。根据测试结果,HM参考编码器(H.265标准的参考软件)的编码速度是视频序列时间长度的数百倍到数千倍之间。但是,在实时视频通信应用领域,例如视频会议、视频直播、视频电话等场合,需要对视频进行实时编码,对所有编码模式和工具做遍历择优的做法是极不现实的。
[0005]上述介绍可知,H.265视频编码在4x4,8x8的基础上增加16x16,32x32大小的变换,使变换/反变换的运算复杂度大幅提升,采用X86或者ARM处理器提供的单指令多数据指令集(single instruct1n mult1-data,SIMD),常规的做法是对多个数据做数据级的并行处理,以提高速度,数据级数据并行处理要求数据矩阵右乘于系数矩阵,不可避免地需要伴随两次矩阵的转置运算,正变换是在两次矩阵相乘之前对数据各做一次转置,反变换是在两次矩阵相乘之后对数据各做一次转置,具体介绍如下,
[0006]正变换的运算如下,Y = TXT’,’表示转置运算符,采用数据级并行,首先对输入X转置得到X’,右乘于系数矩阵得到中间结果TX’,然后对中间结果转置得到(TX’)’ = XT’,再右乘于系数矩阵得到Y = TXT’ ;
[0007]反变换的运算如下:X = T’ YT,采用数据级并行,首先计算第一次矩阵相乘T’ Y,对结果转置得到(T’ Y) ’ = Y’ T,将其右乘于T’做第二次矩阵相乘得到T’ V T,再转置得到最终结果(τ,Y’ T) ’ = T,YTo
[0008]对于众多数据的变换,转置本身的复杂度相当可观,如何有效地实施加快变换运算的速度,是当前急需解决的冋题。


【发明内容】

[0009]本发明的目的克服现有的Η.265视频编码的变换运算的高复杂度,运算时间长的问题。本发明的Η.265视频编码中变换与反变换的快速实施方法,将数据级并行与系数级并行相结合的SIMD实施方法,避免运算过程中所需的两次转置,有效地降低了变换/反变换运算的复杂度,提升了执行效率,且不影响计算处理的精确度,具有良好的应用前景。
[0010]为了达到上述目的,本发明所采用的技术方案是:
[0011]一种Η.265视频编码中变换与反变换的快速实施方法,其特征在于:通过系数级并行与数据级并行结合的方式执行变换与反变换,
[0012]源数据正变换包括以下步骤,
[0013]步骤(Α1),将系数矩阵Τ转置得到Τ’,将源数据X左乘于转置后的系数矩阵Τ’,采用系数级并行,执行第一次矩阵相乘,得到中间结果XT’ ;
[0014]步骤(A2),将中间结果XT’右乘于系数矩阵T,采用数据级并行,执行第二次矩阵相乘,得到变换域数据Y = TXT’ ;
[0015]变换域数据反变换包括以下步骤,
[0016]步骤(B1),将系数矩阵T转置得到T’,将变换域数据Y右乘于转置后的系数矩阵T’,采用数据级并行,执行第一次矩阵相乘,得到中间结果T’ Y ;
[0017]步骤(B2),将中间结果Τ’ Y左乘于系数矩阵T,采用系数级并行,执行第二次矩阵相乘,得到源数据x = T’YT。
[0018]前述的一种Η.265视频编码中变换与反变换的快速实施方法,其特征在于:在步骤(Α1)、步骤(Β2)左乘于转置后的系数矩阵Τ’或左乘于系数矩阵Τ时,每一行数据做一次并行处理,每次得到一行处理结果。
[0019]前述的一种Η.265视频编码中变换与反变换的快速实施方法,其特征在于:在步骤(Α2)、步骤(Β1)右乘于系数矩阵Τ或右乘于转置后的系数矩阵Τ’时,在不同数据行之间做并行处理,同时得到多行处理结果。
[0020]前述的一种Η.265视频编码中变换与反变换的快速实施方法,其特征在于:在步骤(Α1)、步骤(Β1)中第一次矩阵相乘中,对于4x4,8x8,16x16,32x32矩阵变换时,各矩阵元素多右移1,2,3,4位;在步骤(Α2)、步骤(Β2)中第二次矩阵相乘中,对于4x4,8x8,16x16,32x32矩阵变换时,各矩阵元素少右移1,2,3,4位。
[0021]前述的一种Η.265视频编码中变换与反变换的快速实施方法,其特征在于:步骤(Α1)、步骤(Β2)所述系数级并行表示为数据矩阵左乘于系数矩阵,同一行数据对应不同的系数,但同一行系数对应相同数据,并行在同一数据行内部展开。
[0022]前述的一种Η.265视频编码中变换与反变换的快速实施方法,其特征在于:步骤(A2)、步骤(B1)所述数据级并行表示为数据矩阵右乘于系数矩阵,同一行数据对应相同的系数。
[0023]本发明的有益效果是:本发明的H.265视频编码中变换与反变换的快速实施方法,将数据级并行与系数级并行相结合的SIMD实施方法,避免运算过程中所需的两次转置,有效地降低了变换/反变换运算的复杂度,提升了执行效率,且不影响计算处理的精确度,具有良好的应用前景。

【专利附图】

【附图说明】
[0024]图1是本发明的H.265视频编码中变换与反变换的快速实施方法的流程图。

【具体实施方式】
[0025]下面将结合说明书附图,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0026]本发明的H.265视频编码中变换与反变换的快速实施方法,将数据级并行与系数级并行相结合的SIMD实施方法,避免运算过程中所需的两次转置,有效地降低了变换/反变换运算的复杂度,提升了执行效率,且不影响计算处理的精确度,具体包括以下步骤,
[0027]源数据正变换包括以下步骤,
[0028]步骤(A1),将系数矩阵T转置得到T’,将源数据X左乘于转置后的系数矩阵T’,采用系数级并行,执行第一次矩阵相乘,得到中间结果XT’ ;
[0029]步骤(A2),将中间结果XT’右乘于系数矩阵T,采用数据级并行,执行第二次矩阵相乘,得到变换域数据Y = TXT’ ;
[0030]变换域数据反变换包括以下步骤,
[0031]步骤(B1),将系数矩阵T转置得到T’,将变换域数据Y右乘于转置后的系数矩阵T’,采用数据级并行,执行第一次矩阵相乘,得到中间结果T’ Y ;
[0032]步骤(B2),将中间结果Τ’ Y左乘于系数矩阵T,采用系数级并行,执行第二次矩阵相乘,得到源数据x = T’YT。
[0033]其中,在步骤(Α1)、步骤(Β2)左乘于转置后的系数矩阵Τ’或左乘于系数矩阵Τ时,每一行数据做一次并行处理,每次得到一行处理结果,在步骤(Α2)、步骤(Β1)右乘于系数矩阵Τ或右乘于转置后的系数矩阵Τ’时,在不同数据行之间做并行处理,同时得到多行处理结果,采用数据级并行与系数级并行结合的方式,其中,步骤(Α1)、步骤(Β2)系数级并行表示为数据矩阵左乘于系数矩阵,同一行数据对应不同的系数,但同一行系数对应相同数据,并行在同一数据行内部展开;步骤(Α2)、步骤(Β1)所述数据级并行表示为数据矩阵右乘于系数矩阵,同一行数据对应相同的系数,数据级并行在正变换的第二次矩阵相乘以及反变换的第一次矩阵相乘时执行,实施数据级并行时,数据矩阵右乘于系数矩阵,同一行数据对应相同的系数。以DCT8x8的odd部分为例,
[0034]yn= t 1(3*ο07ι+?η*ο16ι+?12*ο25ι+?13*ο34ι
[0035]y3i= t 30*ο07ι+?31*ο16ι+?32*ο25ι+?33*ο34ι
[0036]y5i= t 5(3*ο07ι+?51*ο16ι+?52*ο25ι+?53*ο34ι
[0037]y7i= t 7(3*ο07ι+?71*ο16ι+?72*ο25ι+?73*ο34ι
[0038]在ARM体系结构下,采用并行乘法和乘加指令,并行计算如下:
[0039]{t10*o070, 1^*007” t1(l*o072,t10*o073}
[0040]+
[0041]{t30*o070, 130*007^ t3(l*o072,t30*o073}
[0042]在x86体系结构下,采用pmaddwd并行乘加指令,并行计算如下:
[0043]{t^^oOTo+tn^olBo, tn^oC^+tn*。]^,t1(l*o072+tn*ol62,t1(l*o073+tn*ol63}
[0044]实施系数级并行时,数据矩阵左乘于系数矩阵,同一行数据对应不同的系数,但同一行系数对应相同数据。并行在同一数据行内部展开。
[0045]在ARM体系结构下,采用并行乘法和乘加指令,并行计算如下:
[0046]{t10*o070, t30*o070, t50*o070, t70*o070}
[0047]+
[0048]{tn*ol60, t31*ol60, t51*ol60, t71*ol60}
[0049]在x86体系结构下,采用pmaddwd并行乘加指令,并行计算如下:
[0050]{t^^oOTo+tn^olBo, t30*o070+t31*ol60, tgo^oOTo+tg^olBo, t7(l*o07Q+t71*ol60}。
[0051]为保证步骤(A2)、步骤(B2)的矩阵乘法能够实施16位整数乘法操作,对步骤(A1)、步骤(B1)中第一次矩阵相乘各元素的右移位数,采用与H.265参考软件HM不同的精度,具体实施为在步骤(A1)、步骤(B1)中第一次矩阵相乘中,对于4x4,8x8,16x16,32x32矩阵变换时,各矩阵元素多右移1,2,3,4位或更多;在步骤(A2)、步骤(B2)中第二次矩阵相乘中,对于4x4,8x8,16x16,32x32矩阵变换时,各矩阵元素少右移1,2,3,4位或更多。
[0052]以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【权利要求】
1.一种H.265视频编码中变换与反变换的快速实施方法,其特征在于:通过系数级并行与数据级并行结合的方式执行变换与反变换, 源数据正变换包括以下步骤, 步骤(Al),将系数矩阵T转置得到T’,将源数据X左乘于转置后的系数矩阵T’,采用系数级并行,执行第一次矩阵相乘,得到中间结果XT’ ; 步骤(A2),将中间结果XT’右乘于系数矩阵T,采用数据级并行,执行第二次矩阵相乘,得到变换域数据Y = TXT’ ; 变换域数据反变换包括以下步骤, 步骤(BI),将系数矩阵T转置得到T’,将变换域数据Y右乘于转置后的系数矩阵T’,采用数据级并行,执行第一次矩阵相乘,得到中间结果T’ Y ; 步骤(B2),将中间结果T’Y左乘于系数矩阵T,采用系数级并行,执行第二次矩阵相乘,得到源数据X = Τ’ ΥΤ。
2.根据权利要求1所述的一种H.265视频编码中变换与反变换的快速实施方法,其特征在于:在步骤(Al)、步骤(Β2)左乘于转置后的系数矩阵Τ’或左乘于系数矩阵T时,每一行数据做一次并行处理,每次得到一行处理结果。
3.根据权利要求1所述的一种H.265视频编码中变换与反变换的快速实施方法,其特征在于:在步骤(Α2)、步骤(BI)右乘于系数矩阵T或右乘于转置后的系数矩阵Τ’时,在不同数据行之间做并行处理,同时得到多行处理结果。
4.根据权利要求1所述的一种H.265视频编码中变换与反变换的快速实施方法,其特征在于:在步骤(Al)、步骤(BI)中第一次矩阵相乘中,对于4χ4,8χ8,16x16,32x32矩阵变换时,各矩阵元素多右移1,2,3,4位;在步骤(Α2)、步骤(Β2)中第二次矩阵相乘中,对于4x4,8x8,16x16,32x32矩阵变换时,各矩阵元素少右移1,2,3,4位。
5.根据权利要求1所述的一种H.265视频编码中变换与反变换的快速实施方法,其特征在于:步骤(Al)、步骤(Β2)所述系数级并行表示为数据矩阵左乘于系数矩阵,同一行数据对应不同的系数,但同一行系数对应相同数据,并行在同一数据行内部展开。
6.根据权利要求1所述的一种H.265视频编码中变换与反变换的快速实施方法,其特征在于:步骤(Α2)、步骤(BI)所述数据级并行表示为数据矩阵右乘于系数矩阵,同一行数据对应相同的系数。
【文档编号】H04N19/122GK104486629SQ201410783840
【公开日】2015年4月1日 申请日期:2014年12月16日 优先权日:2014年12月16日
【发明者】朱政, 王悦, 彭斌, 金星, 林松, 丁丹丹 申请人:南京仟壹视讯信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1