MPEG-2压缩原理简介

image

为什么能进行压缩

  1. 人眼不能识别很细微的颜色变化
  2. 帧和帧之间以及帧内有很多冗余信息

 

压缩过程

1. 色彩空间转换(RGB –> YUV)

2. 宏块划分(划分成16x16像素的宏块)

3. 冗余信息去除

时间冗余(IPB帧,运动估计,运动补偿)

空间冗余(DCT, Quantization, Zig Zag Scan, Huffman Coding)

 

采用I帧(intra frame) P帧(predictive,前向预测) B帧(bidirection predictive,双向预测)技术可以去除时间上的冗余性,换句话说时间上邻近的帧的内容有很大的相似性。对于和之前帧中相似的宏块就可以不编码,但副作用是需要大量的运算来查找邻近帧内相似的宏块,用大量的运算来得到更少的bits.

使用DCT把16x16的像素块转换成16x16的系数块,通过Quantization和缩放可以忽略一些高频颜色信息(即细微的色彩变化),还可以把比较大的系数变成比较小的系数,编码时可以节省很多bits. Zig Zag Scan技术可以跳过量化后一些为0的系数,最后通过Huffman Coding还能进一步节省bits.

 

DCT – Discrete Cosine Transform离散余弦变换

Quantization - 量化

Zig Zag Scan - Z行扫描

Huffman Coding - 霍夫曼编码

posted @ 2012-06-19 16:25  glcdw  阅读(454)  评论(0编辑  收藏  举报