《视频编解码简介》由会员分享,可在线阅读,更多相关《视频编解码简介(18页珍藏版)》请在金锄头文库上搜索。
1、视频编解码简介Byshaolin1Index图像采集帧内、帧间编码DCT、DPCM量化锯齿状扫描和Lengthencode哈夫曼编码2编解码流程采样为RGBQuantization(量化)哈夫曼编码LengthEncode(RLE)DCT/DPCM帧内/帧间转换为YUV3图像采集图像采集的两种方式RGB紅(R)、綠(G)、藍(B)显示到显示器上需要用RGB格式YUVY表示亮度,U和V表示色差空间。U和V是构成彩色的两个彩色分量,Y和U、V是相互独立的。YUV表示的优点是黑白电视可接收彩色电视信号;可以利用YUV的独立性和人眼的特性来降低数字图像所需要的存贮容量。两者之间的转换Y=77/256R
2、+150/256G+29/256BU=-44/256R-87/256G+131/256B+128V=131/256R-110/256G-21/256B+1284YUV格式使用相同的分辨率对图像的亮度信号和色差信号进行采样对图像的亮度信号和色差信号采用不同的采样频率(Subsampling,子采样)YUV444,YUV422,YUV411,YUV420YUV420指在水平和垂直方向上每2个连续的采样点上取2个Y样本,1个红色色差Cr样本,1个蓝色色差Cb样本YUV411水平方向上每4个连续的采样点取4个亮度Y样本,1个红色色差Cr样本,1个蓝色色差Cb样本5YUV格式Y:352288U:1761
3、44V:1761446H.263支持的图像格式7帧内、帧间编码帧内编码的I-frames主要使用JPEG的技术帧间编码的P-frames使用与前一帧(预测帧,predictedframe)的差值进行编码,因此当前帧依赖于前一帧I-frame可以作为随机读取点8IntraFrameCoding9Inter-frame(P-frame)Coding10Inter-frame(P-frame)Coding运动估值(motionestimation),对于当前目标图像中的某一宏块,在参考图像中寻找与之最相似的宏块(bestmatch),然后对他们的差值进行和帧内编码类似的编码一般使用“平均绝对差值”(
4、MAD:MeanAbsoluteDifference)作为判断最匹配块的标准。也可以使用“均方差”(MSE:MeanSquaredErrow)差值矩阵比较小,编码需要的比特量比较小还要传送最匹配宏块和当前编码宏块之间相对位置的信息,称为运动向量(motionvector)用解码后的图像(decodedimage)作为参考图像,而不用原始图像11DCT/DPCM离散余弦变换(DiscreteCosineTransform;DCT)差值讯号编码(DifferentialPulseCodeModulation;DPCM)把影像由空间定义域(spacedomain)转换到频率定义域(frequency
5、domain)12DCT每個8x8小方块里面系数的位置越靠近左上角,它代表的频率越低,越靠近右下角,則它代表的频率越高大部份的影像能量会集中在低频部份,也就是转换之后的输出系数在低频部份的值较大,而输出系数在高频部份的值很小。输出系数经过量化(quantization)之后,高頻部份的值大部份都会变为013DCT的公式75的时间花在DCT上面14量化和扫描低频量化位准比高频低,保存低频信息采用锯齿状扫描,高频得到连续的015哈夫曼编码出現几率大的符號用长度短的码表示,出現几率小的符號用长度长的码表示,因而其平均使用的数据量变小一般编码哈夫曼编码16H.261比特流结构图片层GOB层一个GOB包
6、含 k*16行 (k=1 for sub-QCIF, QCIF, and CIF; k=2 for 4CIF; k=4 for 16CIF)MB层一个macroblock代表1616的区域.一般包含 6 blocks , PB-frame mode 下包含12 blocksBlock层 每个block包含 8x8 区域17H.263的改进半象素精度运动补偿将运动补偿的精度提高到半象素无限制运动向量允许运动矢量指向图像以外的区域。当某一运动矢量所指的参考宏块位于编码图象之外时,就用其边缘的图像像素值来代替这个不存在的宏块。基于句法的算术编码模式使用算术编码代替哈夫曼编码,由于算术编码在符号的概率分布不为2的幂的情况下也能逼近压缩的理论极限-符号的熵。先进的预测,PB帧在一般情况下,每一宏块对应一个运动矢量。在先进的预测模式下,一个宏块中4个88亮度块可以各对应一个运动矢量,从而提高了预测精度,两个色度块的运动矢量则取这4个亮度块运动矢量的平均值。PB-帧模式可在码率增加不多的情况下使帧率加倍18