- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DVRH编解码原理及优势
H.264和MPEG4 的压缩算法
形成二进制I帧数据
1、8×8的宏块经过DCT变化;
2、经过quant量化系数处理;
3、经过之字形(Zigzag)扫描;形成0101的二进制数据;
形成帧间预测帧
I帧的二进制数据通过逆向dequant量化系数变化再通过逆向DCT变化形成下个P帧的参考帧;
P帧中的宏块进行运动匹配,在I帧中找到最相似的宏块;
记录这两个宏块的(level、run、last)等信息,然后这两个宏块进行残差运算(会形成很多0),然后在进行DCT、quant、之字形(Zigzag)扫描和双扫描后形成二进制可压缩数据;
然后P帧复原后在形成下一帧的参考帧;
以上是MPEG4和H.264的标准过程,H.264在此基础上更新了很多。
帧内预测:
帧内编码用来缩减图像的空间冗余。为了提高H.264帧内编码的效率,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此,在对一给定宏块编码时,首先可以根据周围的宏块预测(典型的是根据左上角的宏块,因为此宏块已经被编码处理),然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编码而言,可以大大减小码率。
H.264提供6种模式进行4×4像素宏块预测,包括1种直流预测和5种方向预测,如图2所示。在图中,相邻块的A到I共9个像素均已经被编码,可以被用以预测,如果我们选择模式4,那么,a、b、c、d4个像素被预测为与E相等的值,e、f、g、h4个像素被预测为与F相等的值,对于图像中含有很少空间信息的平坦区,H.264也支持16×16的帧内编码。 图2 帧内编码模式
小尺寸4×4的dct整数变换
视频压缩编码中以往的常用单位为8×8块。在H.264中却采用小尺寸的4×4块,由于变换块的尺寸变小了,运动物体的划分就更为精确。这种情况下,图像变换过程中的计算量小了,而且在运动物体边缘的衔接误差也大为减少。
当图像中有较大面积的平滑区域时,为了不产生因小尺寸变换带来的块间灰度差异,H.264可对帧内宏块亮度数据的16个4×4块的DCT系数进行第二次4×4块的变换,对色度数据的4个4×4块的DC系数(每个小块一个,共4个DC系数)进行2×2块的变换。
H.263不仅使图像变换块尺寸变小,而且这个变换是整数操作,而不是实数运算,即编码器和解码器的变换和反变换的精度相同,没有“反变换误差”。
与浮点运算相比,整数DCT变换会引起一些额外的误差,但因为DCT变换后的量化也存在量化误差,与之相比,整数DCT变换引起的量化误差影响并不大。此外,整数DCT变换还具有减少运算量和复杂度,有利于向定点DSP移植的优点。
多种更好的运动估计在H.264中采用了6阶FIR滤波器的内插获得1/2像素位置的值。当1/2像素值获得后, 1/4像素值可通过线性内插获得,对于4:1:1的视频格式,亮度信号的1/4 像素精度对应于色度部分的1/8像素的运动矢量,因此需要对色度信号进行1/8像素的内插运算。 H.264抗块效应滤波器
一、对抗块效应滤波器的描述应用抗块效应滤波器的目的是为了减少块失真。抗块效应滤波器是在编码器和解码器的反变换之后应用的。滤波器有两种好处:(a)平滑块边缘,改善解码图像质量(特别是在较高的压缩比时);(b)为了在编码器中对后面的帧进行运动补偿预测,使用滤波宏块,造成预测后产生一个较小的残差。操作过程是这样的:对帧内编码宏块进行滤波,使用未滤波的重建宏块形成预测帧,进行帧内预测,但整幅图像边缘不被滤波。按下列顺序,对一个宏块中垂直或水平4×4的边缘块进行滤波:(1) 对亮度分量的4个垂直边界进行滤波(在图1中按a,b,c,d的顺序);(2) 对亮度分量的4个水平边界进行滤波(在图1中按e,f,g,h的顺序);(3)对每个色度分量2个垂直边界进行滤波(i,j);(4)对每个色度分量的2个水平边界进行滤波(k,l)。每个滤波运算影响到边界两侧的三个像素。图2显示了相邻块p和q(p0,p1,p2,p3和q0,q1,q2,q3)的垂直或水平边界两侧的4个像素。邻近的块编码模式和穿过图像抽样值边界的梯度,取决于目前的量化器,可能造成一些后果:(a)没有像素被滤波。(b)p0,p1,p2,q0,q1,q2被滤波,输出像素P0,P1,P2,Q0,Q1和Q2。
熵编码
在熵编码之前,4X4的量化系数必须被重排序。根据这些系数原来采用的预测算法为运动估计或者内部估计的不同来选择不同的扫描类型创建一个重排序的串行化流。扫描类型按照从低频到高频的顺序排序这些系数。既然高频系数大多数趋向于零,那么利用游程编码就可以缩减零的数目,从而高效的达到熵编码的目的。
在熵编码步骤通过映射符号的字节流来表示运动矢量,量化系数和宏块头。熵编码通过设计用一个较少的比特位数来表
文档评论(0)