HEVC 哈德玛变换的应用

H264/AVC标准规定了hadamard变换的使用方法以及相对应的语法元素,而在新一代标准H265/HEVC中,由于熵编码是以TU为单位的,一个TU仅包含一个DC系数,且较大TU的使用同样具有去除相关性的作用,因此标准未使用Hadamard变换。

在图像,视频处理领域,hadamard变换常用于计算残差信号的SATD,SATD是指将残差信号进行hadamard变换后再求歌元素绝对值的和,设谋残差信号矩阵为X,则SATD为

SATD = sigmaM sigmaM|HXH|

其中M为矩阵大小,H为归一化的MxM hadamard变换以及DCT,求该残差的SAD和SATD,并与DCT系数绝对值之和做比较。

X=|15 13 9 7

-6 7 3 12

8 4 -5 -3

11 2 9 0|

hadamard变换结果为。

Y = HXH = 1/4 |{1,1,1,1},{1,-1,1,-1},{1,1,-1,-1},{1,-1,-1,1}|[{15,13,9,7},{-6,7,3,12},{8,4,-5,-3},{11,2,9,0}] |{1,1,1,1},{1,-1,1,-1},{1,1,-1,-1},{1,-1,-1,1}|

= |{21.5, 0.5, 5.5, 0.5},{2.5, 2.5, 10.5, 2.5},{8.5, -9.5, -6.5, -2.5},{11.5, 10.5, 2.5, -0.5}|

DCT结果为Z = |{21.5,5.3, 0.5, -1.6},{8.8, -4.9, -1.4, -6.5},{11.5, 6.2, -0.5, 8.8},{-0.8, 13.4, 3.2, 0.9}|

计算可得,残差SATD为114, SATD为98,所有DCT系数绝对值之和为96, 残差SATD与其经过DCT后的系数绝对值之和十分的接近,这说明SATD能在一定程度上反映残差在频域中的大小,并且其性能接近于视频中实际使用的DCT,相比之下,SAD仅能反应残差在空域上的大小,考虑到hadamard变换复杂度远小于DCT,同样小于整数DCT,因此SATD广泛应用于视频编码中的快速模式选择。

与之前的标准相比,H265/HEVC采用了更多的编码技术来提高压缩效率,例如在帧内编码技术中,H265/HEVC规定了5种不同大小的帧内预测块,每种大小又包含17~35种模式,若所有的模式都使用5-7来计算码率失真代价,则其计算复杂度会非常高。

J = SSD(s,c) + lambda * R (5-7)

其中,SSD表示,原始像素和重构像素误差的平方和,R表示编码当前模式下所有信息(包括划分方式,预测模式编号,残差系数等)所需要的比特数,为了减小模式选择的复杂度,H265/HEVC官方测试软件HM使用了一种更加简单的方法计算码率失真代价,如式5-8所示/

J = SATD(s,p) + lambda * R

其中,SATD即为残差的SATD,R仅为编码当前模式所需要的比特数,这种方法省去了DCT,量化和反量化,反变换以及熵编码过程。极大的减小了复杂度,此外,为了控制编码效率的损失,HM首先使用5-8从所有模式中预先选出少数几种可能最优的模式,再用5-7从预选的几种模式种选择出最优的模式。

HM在帧间编码呀像素精度运动估计过程中也使用了SATD,

J = SATD(s,p) + lambda * R

SATD 时预测误差SATD。R表示编码运动信息(如运动向量MV,参考图像等)所需要的比特数,与整像素运动相比,亚像素运动估计各个搜索点匹配误差项差不会太大,此时需要考虑各个点对应残差在变换域的特征,而SATD恰好能够满足需求,因此,在亚像素精度估计时,采用SATD作为预测误差衡量准则能够使编码性能获得一定的提高。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值