这次笔记的主要内容是帧框架与压缩(frame-based multimedia & compression ),内容安排如下:
- 冗余
- DCT
- JPEG
- 视频编码(MPEG)
1. 冗余
图片编码和压缩的目的就是通过减少冗余,减少文件的体积。其种类包括:
a. 编码冗余,如图片含有某种灰阶或颜色较多,可压缩
b.
,如一个区域内全部是一种颜色的
c. 时间冗余,如视频的相邻帧相似度很高。
d. 视觉心理冗余,如人只能分辨出32个灰阶度,或人只能听到20Hz到20kHz的声音。
1.1 编码冗余(Coding redundancy )
如图,code1的平均为3bits/symbol,而code2为平均1.95 bits/symbol ,所以此处可采用变长编码(VLC).
1.2
相邻像素的关联性非常高,如国旗。
1.3视觉心理冗余(Psycho-visual redundancy )
包括如亮度冗余和频率冗余。Weber's Law 指出,感觉的差别阈限随原来刺激量的变化而变化。
如图:
,相比于低亮度(数值),高亮度(数值)需要更低的准确度,即图中左边的小球的黑色,并不需要纯 黑,稍微变灰色一点也可以达到右边小球的对比效果。另外,还有如人眼能观察到变化的时间约为42ms(?!),这 也是动画一般采用24帧,而不是更高的帧数的原因。
2. 离散余弦变换(DCT)
在处理图像时,DCT利用了人眼不能观察到高于某个阈值的亮度的特点,还有就是相比于高亮度,人对低亮度更敏感。另外,DCT的操作时可逆和可划分步骤的。其公式如下:
限于篇幅,此处不展开叙述,具体实际操作的运用可查看“DCT
”。
3. JPEG
各个步骤包括:
DCT—
>量化—
>z
ig-zag扫描—
>AC部分的变长编码—>
DC部分的
差值编码—>
熵编码 (如哈夫曼编码).
4. 视频压缩
其中,每幅图片(帧)都会被分成多个16*16像素的小格子,每个格子都将被用于I、P、B帧的内编码使用。
详细的关于I、P、B的特点与区别可查看“IPB帧”