一、视频编解码基础

目录

一、视频压缩编码目标

二、视频压缩编码概念

2.1 基于波形的编码

2.2 基于内容的编码

2.3 数字电视的 PCM 原理

2.4 量化

2.5 电视制式

三、 图像预处理 

3.1 色彩插值(Color Interpolation)

3.2 色彩校正(Color Correction)

3.3 伽马校正(Gamma Correction)

3.4 图像增强(Image Enhancement)

3.4.1 目的

3.4.2  平滑滤波

3.4.3 中值滤波

3.4.4 图像锐化

3.4.5 直方图均衡

3.5 白平衡(White Balance)

四、视频压缩编码--基础原理

4.1 预测编码

4.1.1 预测编码的基本概念

4.1.2 帧内预测编码

4.1.3 帧间预测编码

4.2 变换编码

4.2.1 变换编码的基本概念

4.2.2 锯齿形扫描和游程编码

4.2.3 变换编码与预测编码的比较

4.3 熵编码


《新一代视频压缩编码标准--H.264/AVC》学习笔记(毕厚杰主编

一、视频压缩编码目标

高压缩比和高信噪比(压缩比高同时图像质量好)
压缩比:图像在编码前数据量和编码后数据量之比。
信噪比(S/N,SIGNAL-NOISE RATIO;单位dB,分贝 ):
信号与噪声的比例。信号指的是来自设备外部需要通过这台设备进行处理的电子信号,噪声是指经过该设备后产生的原信号中并不存在的无规则的额外信号(或信息),并且该种信号并不随原信号的变化而变化。

二、视频压缩编码概念

视频编解码-基本结构图:

一、视频编解码基础_第1张图片

信源,是产生各类信息的实体。
信源模型:信源的数学模型。为了描述信源的输出信息,计算信源产生的信息量。
离散信源模型,波形信源模型(连续信源模型)等。
根据采用信源模型,视频编码可以分为两大类: 
                1. 基于波形的编码
                2. 基于内容的编码
信道:信息传递的通道,是将信号进行传输、存储和处理的 媒介。

2.1 基于波形的编码

基于块的混合编码方法:   基于波形的编码采用了把预测编码和变换编码组合起来的基于块的混合编码方法。采用混合编码方法时,首先把一幅图像分成固定大小的块,例如块 8×8(即每块 8 行,每行 8 个像素)、块 16×16(每块 16 行,每行 16 个像素)等等,然后对块进行压缩编码处理。

2.2 基于内容的编码

把视频帧分成对应于不同物体的区域,然后对其编码。
具体说来,即对不同物体的形状、运动和纹理进行编码。在最简单情况下,利用二维轮廓描述物体
的形状;利用运动矢量描述其运动状态;而纹理则用颜色的波形进行描述。

2.3 数字电视的 PCM 原理

一、视频编解码基础_第2张图片

低通滤波器: (Low-pass filter)容许低频信号通过,但减弱(或减少)频率高于截止频率( f_{C})的信号的通过。
取样定理:
当输入的模拟信号上限频率为 f_{C},只要取样脉冲 u_{S}(t) 的重复频率 f_{S} 不低于 f_{C} 的两倍,总可以无失真地由取样后的离散信号恢复出原来的模拟信号,即不失真输出条件为:
                                                         f_{S} \geqslant 2f_{C}
                                               实际:f_{S } = (2 \sim 2.5)f_{C}
频谱混叠(叠频):在 信号频谱上可称作 叠频。
取样频率低于两倍 奈奎斯特频率,在取样信号被还原成连续信号时产生彼此交叠而 失真的现象。当混叠发生时,原始信号无法从取样信号还原。

2.4 量化

量化噪声: 
由于采取四舍五入的方法,输出信号不同于原模拟信号,产生了失真,即所谓的“ 量化噪声

2.5 电视制式

公共格式( CIF):
                 288×352
三种彩色电视制式:
                720×576
                720×1280
                1080×1920

三、 图像预处理 

                色彩插值
                色彩校正
                伽马校正
                图像增强
                白平衡
                增益控制等技术

3.1 色彩插值(Color Interpolation

色彩滤镜阵列( CFA Color Filter Array),即图像传感器( CCD /  CMOS 图像传感器)的像素表面覆盖一个多色的滤镜阵列。
一、视频编解码基础_第3张图片

 Bayer 图像阵列

色彩插值:  Bayer图像阵列中,每个像素值只有一个颜色的色调值,另外两个颜色的色调必须利用相邻像素之间的相关性,通过数据计算获得,这些方法通常就被称为色彩插值。

3.2 色彩校正(Color Correction

传感器响应出来的图像与真实场景之间仍存在差异,原因很多:色彩滤镜的光谱特性,场景的光源光照条件(白光、荧光等) ,图像传感器中光学器件(棱镜)的光谱特性 等。
一、视频编解码基础_第4张图片

 配置 RGB 色彩滤镜阵列的 CMOS 图像传感器的光谱响应曲线

需要补偿这种差异,
CMOS 图像传感器出来的图像像素值(R G B)
真实场景(R’、G’、B’)
一、视频编解码基础_第5张图片

 b_{ij}是由传感器的光谱特性、光源光照条件和滤镜的光谱特性等所决定,要传感器厂商给出。

3.3 伽马校正(Gamma Correction

强度( Intensity ): 其表示的是每单位面积传播的(光)辐射能量。
在理想状态时,显示器输出的色彩强度 Intensity 和电子束的电压信号之间的关系应该是线性的,如图 2.11(a) 所示;但实际上,如图 2.11(b) 所示,输出的强度随着电压信号之间是非线性的。
一、视频编解码基础_第6张图片

 显示器的输出强度和输出电压的相应大致呈幂指数关系, 如上右图。我们就把这个幂指数称为伽马(gamma)。

                                                                   I = P^{\gamma }

I   : 指显示器输出的光强度;
P  : 指显示器上加载的光束电压,一般光束电压 P 是由图像相应 位置的像素值决定;
\gamma   :为伽马值;
为了在显示器上显示的图像效果和实际相符,有必要在摄像机获取图像后进行伽马校正,使得
上述这种非线性校正为线性关系。
gamma校正的两个途径:
                1. 硬件gamma校正
                2. 软件gamma校正

3.4 图像增强(Image Enhancement

3.4.1 目的

        1. 更适合人眼的视觉感受(丢弃图像中的无用信息,保留我们视觉敏感的重要信息
        2.  有利于后续的分析处理(消除了相关性和高频噪声
图像增强主要包括:
         平滑滤波
        中值滤波
        图像锐化
        直方图均衡

3.4.2  平滑滤波

1. 目的消除图像采样系统的 质量因素所产生的噪声。
噪声并不限于人眼所能看的见的失真和变形,有些噪声只有在进行图像处理时才可以发现。
图像的常见噪声:
                加性噪声
                乘性噪声
                量化噪声
2. 原理:一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像中的 细节信息也主要集中在其高频部分,因此, 如何去掉高频干扰又同时保持细节信息是关键 。为了去除噪声,有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。
Q: 低通滤波不是去掉高频部分,高频部分有图像细节信息?
3.  图像平滑的常用方法
                 空域法:均值滤波, 中值滤波
                频域法:低通滤波法

3.4.3 中值滤波

中值滤波也是一种典型的低通滤波器,它的目的是保护图像的细节的同时,消除噪声

3.4.4 图像锐化

1. 要锐化的原因
图像中,物体的边缘是以图像局部特性不连续的形式出现的,边缘信息在图像风险和人的视觉中都是非常重要的。
前面提到的图像滤波技术对于消除噪声是有益的,但往往使图像中的边界、轮廓变的模糊。
2. 目的:就是为了使图像的边缘、轮廓线以及图像的细节变的清晰
3. 原理经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分造成的,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。从 频率域来考虑, 图像模糊的实质是因为其高频分量被衰减,因此可以用 高通滤波器来使 图像清晰。
4. 技术方法
                 微分法
                高通滤波法

3.4.5 直方图均衡

图像直方图:统计一幅图像中各个灰度级出现的次数或概率, 横坐标是灰度级,纵坐标是次数或概率。
直方图修正: 通过一个灰度映射函数 S=F(r),将原灰度直方图改造成你所希望的直方图。 直方图修正的关键就是灰度映射函数。
 
直方图均衡化 : 是一种最常用的直方图修正,它是 把给定图像的直方图分布改造成均匀直方图分布
Q: 为什么要改造为“均匀直方图发布”?
A: 由信息学的理论来解释,具有最大熵 ( 信息量 ) 的图像为均衡化图像。
Q: 最大熵的图像有最大的信息量?保持了图像的最多信息和细节?

3.5 白平衡(White Balance

色温: 色温越高,蓝色成分就越多;色温越低,红色成分就越多。
白平衡: 在摄影、摄像时,不同色温光源下拍摄物体,获得的图像不可避免会出现色彩上的偏差。为了很获得现实际世界中各种色彩的图像,必须消除环境中光源色温的影响,即进行白平衡处理。
历史:传统的白平衡方法,首先在色温环境中拍摄一纯白色物体,分析所拍摄的图像数据,对白色物体的数据进行平均。 根据白色的定义:R=G=B,改变 R B 感应通道的增益可以实现图像的白平衡。
自动白平衡的算法: 全局平衡法, 局部白平衡法

四、视频压缩编码--基础原理

4.1 预测编码

4.1.1 预测编码的基本概念

预测法:压缩编码后传输的并不是像素本身的取样幅值,而是该取样的 预测值和实际值之差
一、视频编解码基础_第7张图片

预测值:

        P(n): 为预测值
        X(n):为当前像素
按与 X(n) 的距离不同给以不同的权值,把与X(n) 邻近的这些像素的加权和作为 X(n)  的预测值P(n)。
预测编码 = 差分脉冲编码( DPCM)
量化误差:解码输出 x’(n)与原始信号 x(n)之间有个因量化而产生的量化误差

4.1.2 帧内预测编码

原理同4.1.1章节
预测编码的量化器:
       人眼视觉特性实验表明,在亮度突变部分或变化大的部分,量化误差大些不会使人眼敏感,可
采取粗量化,量化节距可取大一些(上图中48、85等),这时虽然需多些比特数,但面积小总比特数不大;反之,在亮度变化缓慢区域,则应取细量化(上图中1、2、3等),但由于平坦区域小,也不会增加很多比特数。总之,利用人眼这种掩盖效应采用非线性(不均匀)量化,可使总码率有所下降。
        由于量化,预测编码会产生:
                 过载
                颗粒噪声
                伪轮廓
                边沿忙乱等

4.1.3 帧间预测编码

帧间预测编码的编码效率比帧内更高。
1. 单向预测
一、视频编解码基础_第8张图片

 

原理:
1、 当前帧 f_{t}(x,y)与预测帧 \hat{f}_{t}(x,y)相减后的帧残 e_{t(x,y)},经量化器量化后输出{e}'_{t}(x,y),传送到信道。
2、预测帧 \hat{f}_{t}(x,y){e}'_{t}(x,y)  相加,得{f}'_{t}(x,y),当不考虑量化失真时,{f}'_{t}(x,y) =   f_{t}(x,y)
3、把当前帧{f}'_{t}(x,y) 与帧存储器输出的前一帧f_{t-1}(x,y)(也称参考帧)同时输入运动参数估值器,经搜索、比较得到运动矢量 MV 。此 MV 输入运动补偿预测器,得到预测图像 \hat{f}_{t}(x,y)  
上述原理以像素为单位进行预测,除了传送帧差外,还增加了每个像素的运动矢量,编码效率显著下降。
Q: 为什么要传递运动矢量数据?不是已经有帧残差值了吗?
2. 双向预测
        前向运动补偿:前向参考帧预测当前帧
        后向运动补偿:利用后向参考帧预测当前帧
        双向预测运动补偿:利用前后向同时预测
        双向预测在实时通信中是不能应用的,例如会议电视、可视电话等。
        H.264 标准参考帧可达 5 15
4.1.4 运动估计
运动估计: 
将图片分成若干块,并设法搜索出每个块在邻近帧中的位置,并得出两者之间的空间位 置的相对偏移量,得到的相对偏移量就是通常所指的运动矢量MV,得到运动矢量的过程被称为运动估计。
运动矢量和经过运动匹配后得到的预测误差共同发送到解码端 ,在解码端按照运动矢量指明的位置,从已经解码的邻近参考帧中找到相应的块,和预测误差相加后就得到了块在当前帧中的位置。
目的:
运动估计可以去除帧间冗余度,使得视频传输的比特数大为减少。

4.2 变换编码

4.2.1 变换编码的基本概念

原理:
绝大多数图像都有一个共同的特征:
平坦区域和内容缓慢变化区域占据一幅图像的大部分,而细节区域和内容突变区域则占小部分。
也可以说,图像中直流和低频区占大部分,高频区占小部分。
这样,空间域的图像变换到频域(所谓的变换域),会产生相关性很小的一些变换系数(?),并可对其进行压缩编码,即所谓的 变换编码
正交变换(可用于图像编码): 
             1.   K-L 变换 (最理想,但缺乏快速算法,且变换矩阵随图像而异,不同图像需计算不同的
                                变换矩阵,因而只用来参考比较)
             2.   离散余弦变换(DCT)(码性能最接近于 K-L 变换,略次而已,具有快速算法,广
                                泛应用于图像编码

4.2.2 锯齿形扫描和游程编码

变换系数量化后,在低频和直流区域少量较大的值,高频区域由少量不大的值,系数大部分为零,为了更有效的编码,通常根据该统计特性采用 熵编码 进一步压缩码率。

4.2.3 变换编码与预测编码的比较

1. 变换编码实现比较复杂,预测编码的实现相对容易
2. 预测编码的误差会扩散,对信道误码率要求提高;变换编码则不会误码扩散,其影响只限制在一个块内,而且反变换后误码会均匀分散到块内各个像素上,对视觉无甚影响。
现实中,往往采用混合编码方法,即对图片先进行带有运动补偿的帧间预测编码,再对预测后残差信号进行 DCT变换。这种混合编码方法已成为许多视频压缩编码国际标准的基本框架。

4.3 熵编码

熵编码: 利用信源的统计特性进行码率压缩的编码就称为熵编码,也叫统计编码。
视频编码常用的有两种:
1. 变长编码(也称哈夫曼编码)
2. 算术编码

你可能感兴趣的:(视频编解码)