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

文档序号:9551788阅读:487来源:国知局
一种提高hevc编码器离散余弦变换处理速度的方法
【技术领域】
[0001] 本发明涉及视频图像压缩编码领域,具体涉及一种提高HEVC编码器离散余弦变 换处理速度的方法。
【背景技术】
[0002] 作为新一代视频编码标准,高效率视频编码(HighEfficiencyVideoCoding, HEVC)沿用了Η. 264等前一代编码标准所使用的基于块的混合编码框架,利用帧内和帧间 预测去除空间和时间冗余,利用离散余弦变换(DiscreteCosineTransform,DCT)和熵编 码去除统计冗余。
[0003] HEVC以变换单元(TransformUnit,TU)为单位进行离散余弦变换和量化,每个TU 包含亮度和色度分量的变换块(TransformBlock,TB),变换块的数据为经过预测补偿后的 残差数据。
[0004] 设父是一个大小为~父~" = 4,8,16,或32)的变换块,二维0(:1'变换可写成如下 的矩阵相乘的形式: F = AXAT 其中A是一个NXN的变换矩阵,其元素按下式确定:
其中,若i= 0,则C1= 1 ;否则:
[0005] 在HEVC中,二维DCT变换由两个顺序执行的一维变换实现,首先对残差矩阵执行 如下的第一级一维离散余弦变换,即一维行变换,得到中间结果矩阵Y: Y = AXT 然后对Y矩阵执行如下的第二级一维离散余弦变换,即一维列变换,得到与变换块对 应的二维离散余弦变换系数矩阵F: F = AYT
[0006] 由于采用了帧间或帧内预测、离散余弦变换、量化等压缩编码工具,所以在HEVC 中通常存在大量的变换块,经变换量化后的系数全部为零或者只有在部分位置存在非零元 素。如果在进行DCT变换之前能检测那些经变换量化后为全零的变换块,则后续的DCT变 换和量化步骤都可以省略;如果在第二个一维DCT变换之前能检测经变换量化后的系数矩 阵为全零的列,则后续的一维DCT变换过程可忽略这些列,这两种情况都能有效地提高编 码器进行离散余弦变换的处理速度。
[0007] 本发明针对上述HEVC以行列分离的方式实现二维DCT计算的结构,提供一种提高 HEVC编码器二维离散余弦变换处理速度的方法,这种方法在DCT变换之前针对变换块的残 差数据,一维行变换之后针对行变换的中间结果矩阵检测全零变换块和全零系数列,以减 少编码器花费在DCT变换和量化计算的时间代价,从而提升HEVC的编码效率。

【发明内容】

[0008] 本发明所要解决的技术问题在于提供一种提高HEVC编码器离散余弦变换处理速 度的方法,通过提前检测经离散余弦变换和量化后为全零或者部分为零的变换块,对被检 测为全零块的变换块忽略后续的一维行变换和一维列变换,对被检测为全零系数列的列, 忽略后续的一维列变换,从而达到提高编码效率的目的,包括:
[0009] 为包含N列的变换块预设L(L<N)个依次递增的阈值,在第一级一维离散余弦变 换之前,计算块内残差绝对值之和,并且逐个与L个阈值作比较,当某个阈值大于残差绝对 值之和,则提前判定该阈值对应的列以及其后的列经变换量化后为全零系数列;特别地,当 对应第0列的阈值大于残差绝对值之和,则提前判定变换块为全零变换块;
[0010] 变换块经过第一级一维离散变换后得到中间结果矩阵Y,以Y的转置矩阵为输入, 逐列地计算列向量的所有元素之和,求取二维离散余弦变换系数矩阵的列向量中第〇个 (即下标为〇)元素值;计算列向量所有元素的绝对值之和,求取二维离散余弦变换系数矩 阵的列向量中除第〇个元素之外的其它元素的上界值;根据第〇个元素的绝对值和其它元 素的上界值是否都小于由量化参数确定的阈值提前判断二维DCT系数矩阵中的各列是否 是全零系数列。
[0011] 对中间结果矩阵Υτ,以第二级一维离散余弦变换的形式逐列地计算二维DCT变换 系数,且累计各个系数的平方和。若上述一维列变换进行到某一列时,变换块变换前的各个 残差值的平方和与上述累计所得的各个系数的平方和之间的差值小于由量化参数确定的 阈值,则提前判定二维DCT系数矩阵中列坐标大于当前列的所有列为全零系数列。
[0012] 本发明针对HEVC编码器对16X16、32X32等较大的编码块进行二维离散余弦变 换时需要较大计算代价的问题,提供一种提高HEVC编码器离散余弦变换处理速度的方法。
[0013] 本发明的有益效果在于:通过提前检测经离散余弦变换和量化后为全零或者部分 为零的变换块,以减少编码器花费在对变换块进行二维离散余弦变换所需的处理时间,由 此可以在几乎不影响视频质量的前提下极大地提高编码效率。
【附图说明】
[0014] 图1为本发明提高HEVC编码器二维离散余弦变换处理速度的【具体实施方式】框图。
【具体实施方式】
[0015] 本发明实施例针对HEVC编码器以行变换和列变换分离的方式实现二维离散余弦 变换,提供一种通过提前检测全零变换块和部分为零的变换块,以减少二维离散余弦变换 和量化的计算代价,提高编码器二维离散余弦变换处理速度的方法。本发明实施例提供的 方法包括:
[0016] 步骤101以变换块的残差绝对值之和为衡量依据,以多阈值的方法确定经变换量 化后的系数矩阵中的全零系数列。设变换块X的大小为NXN,按如下公式计算块内数据的 绝对值之和:
(1) 预设L(L<N)个依次递增的阈值系数项ΤΗ(0),ΤΗ(1),. . .,TH(L-1),设当前量化参数 对应的量化步长为qStep,按如下方式判断变换块经变换量化后的DCT系数矩阵中的零元 素分布,包括两种情况: (1) 若SAD<TH(O) *qSt印,则提前判定变换块为全零系数块,其中TH(O)是对应二维 DCT系数矩阵列下标为0的列的阈值系数项; (2) 对于0 <i彡L-1,若TH(i-l) ·qSt印彡SAD<TH⑴·qSt印,则判定变换块的 DCT系数矩阵中与TH(i)对应的列以及之后的列为全零系数列。
[0017] 具体实现时,本发明实施例可以采用基于系数分布的方式确定阈值系数项。具体 地,经帧间预测和运动补偿,变换块内的残差数据可视作独立同分布的随机变量。由中心极 限定理,所有变换块作二维DCT变换后具有相同频率坐标的变换系数,近似地具有正态分 布。并且,由于离散余弦变换是一种正交变换,所以频率坐标(u,v)的变换系数的分布参数 为:均值为零,方差等于变换块变换之前数据的方差〇2乘以一个系数,具体地,
(2) 其中,上标Τ代表矩阵转置,[ARAT]U,JP[ARAT]V,V*别代表A,R和ΑΤΞ个矩阵乘积的 结果矩阵在(u,u)和(ν,ν)位置的元素值,R是如下形式的矩阵
(3) 其中,元素r(m,n) =q|mn|,q是变换块水平或垂直方向相隔一个像素的那些数据所具 有的相关系数,对于一般的图像,该值介于〇. 4到0. 75之间,本发明的一个实施例取中间值 0. 6〇
[0018] 当q值确定以后,将R矩阵和A矩阵的值代入(2)式可计算DCT变换后各个变换 系数的方差与σ2之间的关系。
[0019] 将频率坐标为(u,ν)的DCT系数视作随机变量,由于它们符合均值为0,方差为 V)的正态分布,由正态分布的性质,当c是一个正实数,随着c增大,该频率位置的DCT 系数落在[-c0F(u,ν),c0F(u,ν)]的概率随之增大。如当c= 2. 5,上述概率约为94%, 当c= 3. 0,上述概率增大到99%。
[0020] 量化的本质是DCT系数除以由量化参数QP确定的量化步长qSt印。取上述DCT变 换系数分布范围内绝对值的最大值c。F(u,ν),对c彡3. 0,若下式成立,频率坐标为(u,ν) 的DCT系数具有很大的概率经量化后为0。 c〇p(u,v) <qStep(4)
[0021] 本发明的一个实施例假设经预测和补偿后的变换块内残差数据具有均值为零,标 准差为σ的Laplacian分布,块内残差绝对值的均值期望值为&,所以可由块内残差数据 的绝对值之和按下式估计标准差σ
(5) 由公式(2)、(4)和(5)可得,当下式成立,频率坐标为(u,ν)的DCT系数将被量化为 (6) 0 . 其中,z(u,v) = [ARAT]U,U[ARAT]V,V,当设定C为常数,对大小为ΝΧΝ的变换块 是一个常数。
[0022] 注意到上述参数z(u,ν)对不同的ν值,当u= 0时取最大值,而
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1