H264视频压缩标准的研究和实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子科技大学硕士学位论文
们仅在制定H262/MPEG一2标准时有过合作。

但在上世纪90年代末期,ITU~T和ISO/IECJTCl决定合作开发由ITU—T率先提出的H264协议标准。

图l_2直观反映了两大组织发展各自标准以及合作的情况。

目前,H261主要用于视频电视会议的视频编码;H263主要用于模拟电话线路传输视频会议和连接到Internet的桌面和移动终端;MPEGl主要用于cD、卡拉OK机、一些数字便携式摄像机和Internet上的消费视频;MPEG2主要用于广播和DVD数字视频存储,它还被选择为美国HDTV广播系统的视频编码器;分离的音频物体(包括自然的和合成的)的编码在MPEG4中被标准化。

图1.2.H.26x和MPEG系列标准制定进程
ITU—T视频编码专家组(VCEG)在1997年率先开始了H264算法的研究工作,到2001年底,应用H264算法的一些软件所表现出来的压缩质量己经超过了现存的应用MPEG一4算法的软件,不但吸引了各方面的注意,同时,ISO/IEC的MPEG小组也加入到ITU—T的VCEG小组中,组成了一个联合视频小组jvc(JointVideoTeam)。

jvc的目标是制定一个新的视频编码标准作为ITU—T新的系列标准以及ISO、IEC的MPEG系列标准之一,这就是H264。

H264于2003年3月进行官方发布。

应该说,H264的颁布是视频压缩编码学科发展中的一件大事,它的优越的压缩性能也将在数字电视广播、视频实时通信、网络视频媒体传递以及多媒体短信等各个方面发挥重要作用。

1.3H264视频压缩标准的特点及应用
在上一节中,作者就目前各种视频标准发展的现状进行了介绍,在本节中将

电子科技大学硕士学位论文
运动预测模式
参考帧、运动
矢量
图3—13帧间预测编码流程
3.4.1基于更高像素精度的运动搜索
图像的搜索精度对于图像的更好匹配有着很大的影响,好的运动补偿将大大节省编码码率。

ITU—T在H263标准中提出了半像素精度的自适应运动搜索,这一技术的应用相对于以前的整像素运动搜索使图像质量有了很大提高。

H264在H263半像素精度的基础上,进一步提出了1/4像素精度的运动搜索,更好的保证了图像的搜索质量。

但是1/8像素精度相对于1/4像素精度的编码效率除了在高码率情况外并没有明显的提高,反而]/8像素精度的内插公式更为复杂,因此在H264制定过程中,1/8像素精度的运动矢量模型逐渐被取消,而只采用1/4像素精度的运动矢量模型。

要进行1/4像素精度的搜索,必须对图像高、宽方向上分别进行两次插值,先得至ljl/2像素点,再次内插得至lJl/4像素点。

如图3一14、3一15所示。

因此,图像搜索精度的提高同时也将使图像数据量增大,增加了计算复杂程度和运算速度。

搜索精度越高,其附加参考数量和运行时间也就越多。

图3—14亮度半像素位置内插
第三章新一代视频压缩标准H264
如图,半像素点(如b,h,m)通过相应整数像素点进行6抽头滤波得到,权重为(1/32,一5/32,5/8,5/8,一5/32,1/32)。

如b计算如下:
b=round((E-5F+20G+20H一5I+J)/32)
1/4像素点经过再次内插得到,如图3~15。

图3一15亮度1/4内插
如图所示,a=round((G+b)/2)。

3.4.2多预测帧搜索
对于大部分的图像序列,使用多个参考帧进行运动预测表示允许编码器在宏块级上选择运动搜索参考帧,以达到提高编码效率的目的。

为支持多参考帧,编码器和解码器都要增加内存来储存己编码的图像,同时运动搜索时计算的复杂程度也会大幅增加。

在目前H264的算法中,采用了简单的滑动窗口的方法来选择参考帧,即:编码器从最近的5个参考帧中选择最好的一个作为实际使用的参考帧。

一般来说,采用多个参考帧所带来的性能提升与测试序列的内容有很大关系,也就是说与图像内容紧密相关。

通常,采用多参考帧所带来的码率节省在5%~7%之间,但有些序列比特率的节省可高达20%,考虑到因采用多参考帧所带来的时间消耗和编、解码时的所要求的内存增加,故我们在采用多参考帧时如果能设计一个自适应算法,
根据图像内容来决定是否采用多个预测帧将有可能大大提高编码效率,并避免不必要的编码延时和内存开销。

3.4.3多尺寸和形状的运动搜索块
H264中对16×16像素的宏块可以按4种方式进行分割:1个16×16,2个18x8,2个8×16,4个8×8。

其运动补偿相应有4种。

而8×8模式的每个子宏块还可以进一步以4种方式进行分割:1个8×8,2个4×8,2个8×4,4个4×4。

如图3—16所示。

这些分割和子宏块大大提高了各宏块之间的关联性。

这种分割下的运动补偿称为树状结构运动补偿。

一般而言,搜索块越小,运动搜索结果就越精确,特别是对那些细节较多的图像,但是需要更大的编码延时和传输更多的运动矢量。

算法所支持的不同大小搜索块类型越多,编、解码器的复杂度就越大。

电子科技大学硕士学位论文
4.48×8整型DOT与浮点DOT的结果比较
计算8×8整型DCT按照上述方法进行行列分离运算可以得到结果。

相比于浮点DCT,整型DCT至少有两个优点。

第一,整型DCT不需要做浮点乘法。

提升过程替代了浮点乘法,而提升过程仅仅只需要做整数操作和移位。

因为整数操作比起浮点乘法的实现更简单,更便宜(节省能量),所以在移动设备上显得极为重要。

第二,如果有足够的字长来表征整型DCT的中间数据,那么截断误差能够完全被消除。

此外,我们能近似一个整数到整数并且可逆的DCT变换,当然我们在近似一个三角函数时,截断误差是一直存在的。

因此DCT是不能用来做无损图像压缩的。

但是,整型DCT是一种新的变换,它的性能(比如说去相关性)依然需要提出疑问,并且需要做更多的实验。

一般说来,整型DCT的性能与所用提升乘法器的位数有关。

在我们的算法中,它等效于用见B(a,)或RB(1/a,)来近似的口.或1/a.的准确性。

我们在准确性和性能上很难给出一个理论的分析。

结果比较:源图像采用256*256大小的灰度Lena图像,经过变换以后的图像与源图像相比较,在肉眼上看不出差别,相当逼真。

实际的PSNR测试,两幅图像的相似度在52曲。

图4.2(a)源图像(b)经过整型DCT/IDCT变换的结果。

相关文档
最新文档