一种提高hevc编码器离散余弦变换处理速度的方法_2

文档序号:9551788阅读:来源:国知局
且ζ(0,ν)(ν= 〇,1,*··,Ν-1)随着列下标的递增而递减。由此,可为ΝΧΝ的变换块预设L个依次递增的 阈值系数项,其中对应第X列的阈值系数项为:
(7) 当SAD<ΤΗ(χ) ·qStep,则变换块经二维DCT变换和量化后的系数矩阵中第X列及下 标大于X的列为全零系数列。本发明的一个实施例取c= 3. 0,q= 0. 6,为N= 8、16、32的 变换块分别预设了 6、10、16个阈值系数项,并且ΤΗ(0)被设置成对应第0列,其它的系数对 应的列值X分别如表1所示。 表1.不同大小的编码块的阈值系数项所对应的列号
[0023] 步骤102,若SAD<ΤΗ(0) ·qSt印,则提前判定变换块为全零系数块,跳过后续的 变换和量化过程,转步骤110。
[0024] 步骤103, 一维行变换。在HEVC以行列分离的形式实现二维DCT变换的框架内,首 先对残差矩阵X的每一行按下式作一维DCT变换: Y=AXT (8)
[0025] 步骤104,若某一列已在步骤101被判定为全零系数列,则转步骤109 ;否则转步骤 105〇
[0026] 步骤105,以一维行变换的中间结果为输入,逐列检测输入的列是否为全零系数 列。
[0027] 公式(8)所示的一维行变换的输出是一个中间结果系数矩阵Y,HEVC按下式对Υτ 的每一列进行一维列变换计算最终的DCT系数矩阵F。 F=AYT (9) 设yn代表YT矩阵中的第η列,对应的DCT系数矩阵F中的第η列按下式计算:fn=Ayn (10) 进一步地,可将式(10)写成如下对向量^中的各个元素加权求和的形式计算各个变 换系数: (11) 显然,第η个列向量的第0个元素为
列向量f"中除第〇个元素外的其它元素的上界值可按下式确定
由式(12)和(13),若下式成立则列仁经量化后为全零系数列。
[0028] 步骤106,若式(14)成立则判定相应的列经变换量化后为全零系数列,跳过后续 对该列的一维列变换和量化步骤,转步骤109执行。
[0029] 步骤107,按式(10)进行一维列变换,求变换块相应列的二维DCT变换系数。
[0030] 步骤108,判断DCT变换矩阵中位于当前列之后的列是否全部为全零系数列。
[0031] 对变换块的二维DCT变换是一种正交变换,由帕塞瓦尔能量保持定理,变换之前 的各个系数的平方和等于变换后的各个DCT系数的平方之和,SP
当如式(10)所示的列变换进行到第Κ列,从第0列到第Κ列的DCT系数已计算获得, 系数矩阵中余下的元素的平方和为:
显然,系数矩阵中第Κ列之后的任一个元素满足下列条件。 F2(u,ν)彡SK,其中ν>Κ(17) 进一步地,当下式成立,转步骤111,对第K列之后的列的一维列变换和量化步骤可以 省略。 SK< (qStep) 2 (18)
[0032] 步骤109,将二维DCT系数矩阵中被判定为全零系数列的所有元素置为0。
[0033] 步骤110,将被判定为全零系数块的所有元素置为0。
[0034] 步骤111,DCT系数矩阵中第K列之后的元素全部置为零。
[0035] 在HEVC中,二维DCT变换由两个顺序执行的一维变换实现,为避免浮点运算,对矩 阵A中的所有参数放大2(6+M/2)倍且取整,其中M=log2N。在一维行变换后,中间结果矩阵 中的每个元素都右移M-9+B位,其中B是像素的位深度,所以在按式(14)和(16)计算时需 要相应地左移(15-B-M/2)位。
[0036] 以上所述仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,凡在本 发明的精神和原则之内,所做的任何修改或替换等,都应涵盖在本发明的保护范围内。
【主权项】
1. 一种提高HEVC编码器离散余弦变换处理速度的方法,包括: (1) 为NXN的变换块预设L个依次递增的阈值,对于待处理的变换块,计算块内残差 绝对值之和,并将残差绝对值之和逐个与所述阈值作比较,若存在大于残差绝对值之和的 阈值,在所述大于残差绝对值之和的阈值中查找最小的阈值,提前判定变换块的二维离散 余弦变换系数矩阵中与所述最小阈值对应的列以及列下标大于该列的所有列为全零系数 列; (2) 对变换块进行第一级一维离散余弦变换,逐列地处理第一级变换结果矩阵的转置 矩阵,通过计算列向量的所有元素之和,求取变换块的二维离散余弦变换系数矩阵的列向 量中第0个元素的值,通过计算列向量的所有元素的绝对值之和,求取二维离散余弦变换 系数矩阵的列向量中除第0个元素之外的其它元素的上界值,根据所述第0个元素的绝对 值和其它元素的上界值是否都小于由量化参数确定的阈值提前判断待检测的列是否是全 零系数列; (3) 以变换块经过第一级一维离散余弦变换所得的结果为输入,逐列地进行第二级一 维离散余弦变换,计算二维离散余弦变换系数,累计所述变换系数的平方和,当所述待处理 变换块变换前的各个残差值的平方和与所述累计所述变换系数的平方和的差值小于由量 化参数确定的阈值,则提前判定二维离散余弦变换系数矩阵位于当前列之后的所有列为全 零系数列。2. 如权利要求1所述的方法,其特征在于,如果步骤1判定所有的列为全零系数列, 则提前判断所述待处理变换块为全零变换块,跳过后续的第一级和第二级一维离散余弦变 换,置变换块的离散余弦变换系数矩阵的所有元素为〇 ;如果步骤1判定一列为全零系数 列,则在后续的第二级一维离散余弦变换中忽略该列,直接置所述待处理变换块的二维离 散余弦变换系数矩阵对应列的所有元素为0。3. 如权利要求1所述的方法,其特征在于,L<N,每个阈值分别对应二维离散余弦变 换系数矩阵的一列,第i个阈值为TH(i) ·qSt印,其中qStep为由量化参数QP确定的量化 步长,TH(i)为阈值系数,ΤΗ(0)对应所述系数矩阵的第0列,从ΤΗ(0)开始,L个阈值系数 依次递增。4. 如权利要求3所述的方法,其特征在于,对应第X列的阈值系数为:其中,c是一个大于等于3.0的预设常数,[ARAT]。,。和[ARAT]X,X*别代表A、R、和ΑΤΞ个矩阵相乘所得矩阵的(〇,〇)位置元素和(x,x)位置元素,上标Τ代表矩阵转置,Α为离散 余弦变换核矩阵,其中的元素为:其中(m,n)位置的元素为r(m,n) =q|mn|,q为预设的常数。5. 如权利要求4所述的方法,其特征在于,所述预设常数q的取值可以在0. 45到0. 75 之间。6. 如权利要求1所述的方法,其特征在于,所述步骤(2)中,对变换块进行第一级一维 离散余弦变换的计算公式如下: Y=AXT 其中X代表变换块,Y为第一级变换的结果矩阵。7. 如权利要求1所述的方法,其特征在于,所述步骤(2)中,所述逐列地处理第一级变 换结果矩阵的转置矩阵,通过计算列向量的所有元素之和,求取变换块的二维离散余弦变 换系数矩阵的列向量中第0个元素的值,按下式计算:所述通过计算列向量的所有元素的绝对值之和,求取二维离散余弦变换系数矩阵的列 向量中除第〇个元素之外的其它元素的上界值,按下式计算:其中,yn(i)代表第一级变换结果矩阵的第η列第i个元素,fn(m)代表二维离散余弦 变换系数矩阵的第η列第m个元素。8. 如权利要求1所述的方法,其特征在于,所述步骤(3)中,以变换块第一级一维离散 余弦变换所得的结果为输入,逐列地进行第二级一维离散余弦变换,计算公式如下: F=AYT〇
【专利摘要】本发明公开了一种提高HEVC编码器离散余弦变换处理速度的方法,包括:(1)在变换之前,计算块内残差绝对值之和,与L个依次递增的阈值作比较,判定变换块内的全零系数列,以及变换块是否为全零变换块;(2)变换块经过第一级一维离散余弦变换后,以变换结果的转置矩阵为输入,逐列地判定是否是全零系数列;(3)以第一级一维离散余弦变换所得的结果矩阵为输入,逐列地以第二级一维离散余弦变换的形式计算变换系数,在此过程中根据帕塞瓦尔能量保持定理检测全零系数列。被检测为全零变换块的,可忽略后续的变换和量化步骤;被检测为全零系数列的,可忽略该列后续的第二级一维离散余弦变换过程,从而提高编码效率。
【IPC分类】H04N19/625, H04N19/132, H04N19/62
【公开号】CN105306956
【申请号】CN201510776362
【发明人】陈卫刚, 陈启超
【申请人】浙江工商大学
【公开日】2016年2月3日
【申请日】2015年11月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1