hadamard变换

性质
  1. 矩阵元素都为1/-1
  2. 正交矩阵、对称矩阵。hadamard变换为正交变换
  3. 奇数行/列偶对称,偶数行/列奇对称
  4. 满足Paserval定理
优点
  1. 仅含有加减运算,可用递归快速实现。(比余弦变换简单了太多了)
  2. 正变换和反变换具有相同形式,算法实现起来简单(变换是HXH)
  3. 具有递推公式,算法实现简单(体验一下实际代码就能发现,真的很简单易计算,而且不用浮点数运算)
  4. hadamard变换后求SATD和余弦变换后求SATD,结果差距不大,但是如果直接残差不变换求SAD,就和余弦变换后求SATD差距很大。所以,他和余弦变换有相似效果,但是算的快又简单
// 函数功能是计算8×8块的哈达玛变换,并计算其SAD值,m2[8][8]存放最终的变换结果
Int xCalcHADs8x8_ISlice(Pel *piOrg, Int iStrideOrg)
{
  Int k, i, j, jj;
  Int diff[64], m1[8][8], m2[8][8], m3[8][8], iSumHad = 0;

  for( k = 0; k < 64; k += 8 )
  {
    diff[k+0] = piOrg[0] ;
    diff[k+1] = piOrg[1] ;
    diff[k+2] = piOrg[2] ;
    diff[k+3] = piOrg[3] ;
    diff[k+4] = piOrg[4] ;
    diff[k+5] = piOrg[5] ;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值