1.背景介绍
问题定义:为什么要做视频图像的编解码?
我们先来看看,视频资源占用计算:4KP30视频1min,3840218033060* = 42.7GB(每帧大小24.3MB),1分钟4K的视频大概需要42.7GB存储,因此视频图像的编解码十分必要。
我们再看看图像的存储格式和常用分辨率:
模拟信号PAL、NTSC制式已经远去,我们来看数字信号(YUV、RGB888),由于人眼对亮度信号比色度信号更敏感,因此出现了YUV(planar/semi planar)降采样格式:YUV420、YUV422、YUV444
图1 降采样格式,实心点为Y分量,空心圆圈为cb、cr分量
图2 平面格式与交错格式内存存储
2.编解码方法
参考经典数字图像处理教材,常见的编解码方法主要做以下三方面工作:
- 时间/空间冗余,利用时间空间相关性消除
- 编码冗余,通过变长编码(直方图越大的值,分配较小的比特)
- 不相关信息,忽略人眼不敏感的信息
如下图,这张图有大量的平坦区域(空间冗余),并且灰度集中在几个区间(编码冗余)
基本上述分析,如何来从上述三个方面来压缩图像呢?基于两个先验:
人眼对亮度分量的敏感度高于色度分量,轻微的色度变化对视觉体验影响很小
人眼对低频分量的敏感度高于高频分量,轻微的高频变化对视觉体验影响很小
常