H264基本概念之 预测编码、变换编码和熵编码 .

1、预测编码     

      压缩算法的本质就是去除信号间的冗余,什么是信号的冗余呢?信号之间的相关性就是冗余,人类听觉或视觉系统感觉不到的或者掩蔽的也可以当做冗余成分。今天谈谈预测编码的概念,这是一种非常直观和简单易行的方法。说它直观,以图像为例,前后两帧或者同一图像的相邻像素都存在着相似性、相关性,我们完全可以通过当前帧和一组预测系数,推测出下一帧图像,当然也可以从当前像素推测出周围像素的变化。通过实际值与预测值的差,去除了一部分冗余,使得信号的动态范围变小了,表示这些信号的比特数减少了,从而达到压缩的目的。

 

      对于视频信号的预测编码分成两种,一个是帧间预测编码,一个是帧内预测编码。帧内预测是从空间上去除同一帧图像内宏块之间的冗余。H264中,有4x4亮度预测模式、16x16亮度预测模式、8x8色度块预测模式以及一种I_PCM编码模式,如何选择最优的编码模型是一个不太容易的问题。

 

      帧间预测编码效率比帧内编码要高,它是从时间上去除图像帧与帧之间的冗余,分为单向预测、双向预测。一般双向预测会增加编码延时,所以在实时通信中用的不多。在帧间预测中,就不得不提运动估计这个概念,在活动图像邻近帧中的景物会发生空间上的位移,得到这个运动偏移的过程就是运动估计,涉及到各种搜索算法,同时这一部分的复杂度也是H264的重点。

 

2、变换编码

     变换编码是指将空间域的图像变换到频域,这样会产生相关性很小的一些变换系数,并对其进行压缩编码。通常采用DCT变换,因为它的性能接近K-L变换,同时具有快速算法,非常适合图像变换编码。变换编码比预测编码要复杂,但是各种误差(量化、信道误差)不会向后面扩展,对视觉影响不大。

 

3、熵编码

     利用信源的统计特性进行码率压缩的编码称为熵编码。特点是无损编码,但是压缩率比较低,一般用在变换编码后面作进一步压缩。常用的有变长编码(huffman编码)和算术编码。

1) 变长编码

     对出现概率大的符号分配短字长的二进制码,对出现概率小的符号分配长字长的二进制码,得到符号平均码长最短的码。也称为最佳编码。

2) 算术编码

     与huffman编码不同,不采用码字表示输入符号的方法,而是采用一个浮点数来代替一串输入符号,经算术编码后输出一个小于1,大于等于0的浮点数,在解码端在进行唯一的解码,恢复原符号序列。

     这两种编码方法实际应用中都有受硬件精度的问题,即如何定点化表示小数的问题。

 

原文见:http://blog.csdn.net/wanggp_2007/article/details/4856442

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值