第1章介绍
1. 为什么要进行视频压缩?
-
未经压缩的数字视频的数据量巨大
-
存储困难
-
传输困难
2. 为什么可以压缩
-
去除冗余信息
-
空间冗余:图像相邻像素之间有较强的相关性
-
时间冗余:视频序列的相邻图像之间内容相似
-
编码冗余:不同像素值出现的概率不同
-
视觉冗余:人的视觉系统对某些细节不敏感
-
知识冗余:规律性的结构可由先验知识和背景知识得到
3. 数据压缩分类
-
无损压缩(Lossless)
-
压缩前解压缩后图像完全一致X=X'
-
压缩比低(2:1~3:1)
-
例如:Winzip,JPEG-LS
-
有损压缩(Lossy)
-
压缩前解压缩后图像不一致X≠X'
-
压缩比高(10:1~20:1)
-
利用人的视觉系统的特性
-
例如:MPEG-2,H.264/AVC,AVS
4. 编解码器
-
编码器(Encoder)
-
解码器(Decoder)
-
编解码器(Codec)
5. 压缩系统的组成
(1) 编码器中的关键技术
(2) 编解码中的关键技术
6. 编解码器实现
-
编解码器的实现平台:
-
超大规模集成电路VLSI
-
数字信号处理器DSP
-
软件
-
编解码器产品:
7. 视频编码标准
编码标准作用:
-
兼容:
-
不同厂家生产的编码器压缩的码流能够被不同厂家的解码器解码
-
高效:
主流的视频编码标准:
-
MPEG-2
-
MPEG-4 Simple Profile
-
H.264/AVC
-
AVS
-
VC-1
标准化组织:
8. 视频传输
-
视频传输:通过传输系统将压缩的视频码流从编码端传输到解码端
-
传输系统:互联网,地面无线广播,卫星
9. 视频传输面临的问题
10. 视频传输差错控制
-
差错控制(Error Control)解决视频传输过程中由于数据丢失或延迟导致的问题
-
差错控制技术:
-
信道编码差错控制技术
-
编码器差错恢复
-
解码器差错隐藏
11. 视频传输的QoS参数
-
数据包的端到端的延迟
-
带宽:比特/秒
-
数据包的流失率
-
数据包的延迟时间的波动
第2章 数字视频
1.图像与视频
-
图像:是人对视觉感知的物质再现。
-
三维自然场景的对象包括:深度,纹理和亮度信息
-
二维图像:纹理和亮度信息
-
视频:连续的图像。
-
视频由多幅图像构成,包含对象的运动信息,又称为运动图像。
2. 数字视频
3. 空间采样
4. 数字视频系统
5. 人类视觉系统HVS
-
HVS特点:
-
对高频信息不敏感
-
对高对比度更敏感
-
对亮度信息比色度信息更敏感
-
对运动的信息更敏感
6. 数字视频系统的设计应该考虑HVS的特点:
-
丢弃高频信息,只编码低频信息
-
提高边缘信息的主观质量
-
降低色度的解析度
-
对感兴趣区域(Region of Interesting,ROI)进行特殊处理
7. RGB色彩空间
-
三原色:红(R),绿(G),蓝(B)。
-
任何颜色都可以通过按一定比例混合三原色产生。
-
RGB色度空间
-
由RGB三原色组成
-
广泛用于BMP,TIFF,PPM等
-
每个色度成分通常用8bit表示[0,255]
8. YUV色彩空间
-
YUV色彩空间:
-
Y:亮度分量
-
UV:两个色度分量
-
YUV更好的反映HVS特点
9. RGB转化到YUV空间
亮度分量Y与三原色有如下关系:
经过大量实验后ITU-R给出了, , ,
主流的编解码标准的压缩对象都是YUV图像
10. YUV图像分量采样
-
YUV图像可以根据HVS的特点,对色度分量下采样,可以降低视频数据量。
-
根据亮度和色度分量的采样比率,YUV图像通常有以下几种格式:
11. 通用 的YUV图像格式
12. 帧和场图像
13. 逐行与隔行图像
-
逐行图像:一帧图像的两场在同一时间得到,ttop=tbot。
-
隔行图像:一帧图像的两场在不同时间得到, ttop≠tbot。
14. 视频质量评价
-
有损视频压缩使编解码图像不同,需要一种手段来评价解码图像的质量。
-
质量评价:
-
客观质量评价
-
主观质量评价
-
基于视觉的视频质量客观评价
-
客观质量评价:通过数学方法测量图像质量评价的方式。
-
优点:
-
缺点:
15. 客观评价的方法
常用的客观评价方法:
16. 主观评价方法
-
主观质量评价:用人的主观感知直接测量的方式。
-
优点:
-
缺点:
-
不容易量化
-
受不确定因素影响,测量结果一般不可重复
-
测量代价高
常用主观评价方法
17. 基于视觉的视频质量客观评价方法
-
基于视觉的视频质量客观评价:将人的视觉特性用数学方法描述并用于视频质量评价的方式。
-
结合了主观质量评价和客观质量评价两方面优点。
-
常用方法:结构相似度(Structural SIMilarity,SSIM)方法。
-
将HVS的特征用数学模型表达出来。
-
未来重要的研究方向
第3章 信息论基础
1. 通信系统的组成
2. 基本概念
3. 信息熵
信息的特点
信息的测量
自信息量
条件信息量
4. 信息熵
5. 条件熵和联合熵
6. 熵的性质
-
非负性:信源熵是非负值,即 H(X) >=0;
-
扩展性:信源熵X有M个符号,如果其中一个符号出现的概率趋于零,信源熵就等于剩余M-1个符号的信源熵;
-
极值性(最大信息熵):对于具有M个符号的信源,只有在所有符号等概率出现的情况下,信源熵达到最大值,即
-
可加性:
-
熵不增:条件熵不大于信息熵 H(X|Y) <= H(X);
-
联合熵不大于各信息熵的和,即H(XY) <= H(X) + H(Y)。
7. 互信息量
8. 互信息
-
物理意义:H(X)是X所含的信息,H(X|Y)是已知Y的条件下X还能带来的信息量。那么两者之差就是由于知道Y使得X减少的信息量,也即由Y可以得到的关于X的信息量。
9. 各种熵的关系
11. 信源编码
-
信源编码:将消息符号转变成信道可传输的信息。
-
两个基本问题:
-
用尽可能少的信道传输符号来传递信源消息,提高传输效率;
-
减少由于信道传输符号的减少导致的失真。
12. 离散信源统计特性
13. 离散信源类型:简单无记忆信源和马尔可夫信源
14. 编码分类
-
等长码:在一组码字集合C中的所有码字cm (m = 1,2, …,M),其码长都相同,则称这组码C为等长码。
-
变长码:若码字集合C中的所有码字cm (m = 1,2, …,M),其码长不都相同,称码C为变长码。
15. 平均码长
16. 等长码与变长码比较
-
等长编码将信源输出符号序列的任意一种取值(概率可能不同)都编码成相同长度的输出码字,没有利用信源的统计特性;
-
变长编码可以根据信源输出符号序列各种取值的概率大小不同,将他们编码成不同长度的输出码字,利用了信源的统计特性。因此又称其为熵编码。
17. Huffman编码
-
Huffman编码:典型的变长编码。
-
步骤:
-
将信源符号按概率从大到小的顺序排列,假定p(x1)≥ p(x2)… ≥ p(xn)
-
给两个概率最小的信源符号p(xn-1), p(xn)各分配一个码位"0"和"1",将这两个信源符号合并成一个新符号,并用这两个最小的概率之和作为新符号的概率,结果得到一个只包含(n-1)个信源符号的新信源。称为信源的第一次缩减信源,用S1表表示。
-
将缩减信源S1的符号仍按概率从大到小的顺序排列,重复步骤2,得到只含(n-2)个符号的缩减信源S2。
-
重复上述步骤,直至缩减信源只剩下两个符号为止,此时所剩两个符号的概率之和必为1。然后从最后一级缩减信源开始,依编码路径向前返回,就得到各信源符号所对应的码字。
18. 信道编码
-
信道编码主要考虑如何增加信号的抗干扰能力,提高传输的可靠性,并且提高传输效率。
-
一般是采用冗余编码法,赋予信码自身一定的纠错和检错能力,使信道传输的差错概率降到允许的范围之内。
19. 信道类型
-
根据信道连续与否分类
-
根据信道是否有干扰分类
-
根据信道的统计特性分类
-
无记忆信道
-
有记忆信道
-
恒参信道
-
变参信道
-
对称信道
-
非对称信道
20. 信道容量
-
在信息论中,称信道无差错传输的最大信息速率为信道容量。
-
仙农信道容量公式:
-
假设连续信道的加性高斯白噪声功率为N,信道带宽为B,信号功率为S,则该信道的容量为
-
由于噪声功率N与信道带宽B有关,则噪声功率N=n0B 。因此,仙农公式还可以表示为
21. 香农信道容量公式的意义
-
在给定B和S/N的情况下,信道的极限传输能力为C,而且此时能够做到无差错传输。如果信道的实际传输速率大于C 值,则无差错传输在理论上就已不可能。因此,实际传输速率一般不能大于信道容量C ,除非允许存在一定的差错率。
-
提高信噪比S/N(通过减小n0或增大S),可提高信道容量C。特别是,若n0->0,则C->∞ ,这意味着无干扰信道容量为无穷大;
-
增加信道带宽B,也可增加信道容量C,但做不到无限制地增加。这是因为,如果 S、n0一定,有
-
维持同样大小的信道容量,可以通过调整信道的B及S/N来达到,即信道容量可以通过系统带宽与信噪比的互换而保持不变。
22. 失真
23. 率失真理论
-
仙农定义了信息率失真函数R(D)
-
率失真定理:在允许一定失真度D的情况下,信源输出的信息率可压缩到R(D)。
24. 失真函数
-
失真函数:信源符号X={x1, x2, …..xn},经信道传输接收端符号Y={y1, y2….yn},对于每一对(xi, yj)指定一个非负函数 d(xi, yj),称d(xi, yj)为单个符号的失真度或失真函数。对于连续信源连续信道的情况,常用d(x, y)表示。
-
常用失真函数:
-
平均失真度:
第四章 视频编码基础
1. 压缩码流
-
语法:码流中各个元素的位置关系
-
01001001…
-
图像编码类型(01),宏块类型(00),编码系数1001等
-
语义:每个语法元素所表达的意义。
2. 编码层次
-
序列(Sequence)
-
图像组(Group of Pictures,GOP)
-
图像(Picture)
-
条带(Slice)
-
宏块(Macroblock,MB)
-
块(Block)
3. 码流结构
3. PB帧编码
4. 序列编码对象
(1)IBBP序列
5. 图像组编码对象
6. 图像编码结构
7. 图像分块编码
8. 条带编码结构
9. 条带编码对象
10. 宏块编码结构
-
宏块:16x16的像素块(对亮度而言)。
-
宏块内容:宏块编码类型,编码模式,参考帧索引,运动矢量信息,宏块编码系数等。
11. 宏块编码对象
12. 块编码结构
13. 视频编解码关键技术
-
预测:通过帧内预测和帧间预测降低视频图像的空间冗余和时间冗余。
-
变换:通过从时域到频域的变换,去除相邻数据之间的相关性,即去除空间冗余。
-
量化:通过用更粗糙的数据表示精细的数据来降低编码的数据量,或者通过去除人眼不敏感的信息来降低编码数据量。
-
扫描:将二维变换量化数据重新组织成一维的数据序列。
-
熵编码:根据待编码数据的概率特性减少编码冗余。
14. 预测
15. 帧内预测
-
I帧图像的每个宏块都采用帧内(Intra)预测编码模式。
-
宏块分成8x8或者4x4块,对每个块采用帧内预测编码,称作Intra8x8或者Intra4x4。
-
帧内预测有多个预测方向:水平,垂直,左下,右上。
-
帧内预测还有直流(DC)预测。
-
色度块预测还有平面预测。
16. 帧间预测
17. 预测残差
18. 变换编码
-
变换编码:通过变换将空域信号转换为频域信号来去除空间信号的冗余信息,减少编码数据。
-
二维离散余弦变换
例:
19. 量化
-
量化原理:将含有大量的数据集合映射到含有少量的数据集合中。
20. 扫描
21. 熵编码
-
熵编码:根据符号出现的概率,对经常出现的符号分配较短的码字,对不常出现的符号分配较长的码字。
-
Level-Run编码:用数据中非零值和其前面非零值之间出现零值的个数重新描述量化系数序列为(Level,Run)二元组序列
-
变长编码
-
将Level-Run编码后的(level,run)变长编码成最终的比特串。
22. 码率控制
-
受到缓冲区,带宽的限制,编码码率不能无限制的增长,因此需要通过码率控制来将编码码流控制在目标码率范围内。
-
一般通过调整量化参数的手段控制码率
-
码率控制考虑的问题
-
防止码流有较大的波动,导致缓冲区发生溢出,
-
同时保持缓冲区尽可能的充满,让图像质量尽可能的好而且稳定
-
CBR(Constant Bit Rate)
-
VBR(Variable Bit Rate)
-
码率控制算法
-
码率控制属于非标准技术
第5章 预测
1. 预测技术
-
目的:去除空间冗余和时间冗余。
-
视频存在大量的空间冗余和时间冗余
-
空间冗余:用帧内预测编码去除
-
时间冗余:用帧间预测编码去除
-
基于块匹配(Block Matching)的帧间预测
-
预测后得到去除大部分空间或时间冗余的残差
2. 空间冗余
-
图像空间相邻像素具有很强的相关性。
-
帧内预测技术去除空间冗余
3. 亮度预测模式
4. 色度预测模式
5. 时间冗余
-
视频图像在时间上有较强的相关性,即存在时间冗余
-
去除时间冗余的编码技术
6. 运动模型
(1)平移
7. 匹配准则
8. 匹配准则简化
-
简化技术方法
-
分别计算当前块和预测块的象素值和
-
根据简化形式,比较当前块和预测块
-
如果用简化准则对预测块和当前块比较的结果比以前最好的结果差,可以确定预测效果不好,不必对预测块再进行比较。
9. 运动估计
-
去除视频图像的时间冗余
-
运动估计在搜索范围内为当前块寻找匹配最好的预测块
-
全搜索方式的运动估计计算复杂度高
10. 全搜索复杂度分析
11. 快速运动估计
-
在保持预测精度的同时减少运动估计的搜索次数。
-
三步搜索(Three Step Search,TSS)
-
二维Log搜索(2D Logarithmic Search,2DLOG)
-
正交搜索(Orthogonal Search Algorithm,OSA)
-
十字搜索(Cross Search Algorithm,CSA)
-
新三步搜索(New Three Step Search,NTSS)
-
四步搜索(Four Step Search,FSS)
-
共轭方向搜索(Conjugate Direction Search,CDS)
-
梯度下降搜索(Gradient Descent Search,GDS)
-
层次块搜索(Hierarchical Block Matching Algorithm,HBMA)
12. 三步搜索
-
由粗到精搜索最优点,初始步长为R/2.
-
第一步:检查起始点和其周围步长为R/2的8个点,将最优点作为第二步的起始点;
-
第二步:以新的起始点为中心检查其周围步长为R/4的8个点,找到最优点作为第三步的起始点;
-
第三步:以新的起始点为中心检查其周围步长为R/8的8个点,找到最优点,如果R/8=1则搜索终止,最优点位置的预测块作为最优的预测块,否则重复该过程直到R/n2=1;
-
三步搜索方法检查点的个数为1+8log2(d+1),当d=8时,检查点个数为9+8+8=25
13. 二维Log搜索
-
每一步采用十字搜索模式
-
如果每一步的最优点为中心点或者搜索窗的边界点,搜索步长减半,否则搜索步长不变
-
当搜索步长为1时,中心点周围的8个点都要检查
-
两个搜索路径一个需要5+3+3+8=19,另外一个需要5+3+2+3+2+8=23
14. 正交搜索
-
起始搜索步长R/2,从起始点开始水平搜索三个点,得到最优点并沿着最优点垂直方向搜索相邻的两个点,得到最优点,以搜索步长为R/4再以同样的方式先水平再垂直搜索,当步长为1时停止搜索
-
搜索方法检查点的个数为1+4log2(d+1),当d=8时,检查点个数为3+2+2+2+2+2=13。
15. 十字搜索
-
起始搜索步长R/2,从起始点开始以"X"形十字搜索,当搜索步长降为1时,如果上一步的最优点为中心点,左上点或右下点,则这一步搜索以"+"形状十字搜索,然后结束搜索,否则还是以"X"形十字搜索,然后结束搜索。
-
十字搜索方法检查点的个数为1+4log22d,当d=8时,检查点个数为5+4+4+4=17
16. 新三步搜索
-
与三步搜索方法不同的是,考虑到运动矢量高的中心分布特点,新三步搜索方法,除了围绕起始点为中心搜索步长为R/2的8个点之外,在起始点周围增加了步长为1的8个搜索点,如果最优点为步长为1的8个搜索点之一,则在最优点邻近的三个点中搜索最优点,然后结束搜索,否则,和三步搜索方法过程一样
-
其中一个搜索路径需要检查点个数为17+3=20,另一个需要17+8+8=33。
17. 块梯度下降搜索
-
该方法以起始点为中心搜索8个步长为1的相邻点,确定最优点,再以最优点为中心搜索8个步长为1的相邻点,如此循环下去,不限制搜索步骤,但当搜索得到的最优点为中心点或者到搜索窗的边界,搜索终止。
18. 层次块搜索
-
对编码图像和参考图像下采样,分别得到编码图像和参考图像的下采样图像,未经采样处理的编码图像和参考图像属于第0层,一次下采样的编码图像和参考图像属于第1层,对第1层图像再进行下采样得到的编码图像和参考图像属于第2层,依次重复上述过程,得到第n层下采样的编码图像和参考图像。
-
然后在n层下采样参考图像的搜索范围中找到与下采样编码图像块最佳匹配块的MV,该MV作为n-1层的运动估计搜索范围的中心点,依次重复上述过程,直到n=0为止,此时得到的最佳匹配块就是编码图像的预测块,其对应的MV为最终的最优MV。
19. 搜索算法复杂度比较
20 . 分像素运动估计与运动补偿
-
时域运动位置更可能在整象素之间,即分像素上。
-
利用相邻的整象素可以估计出分象素的值
-
分象素运动估计有更高的预测精度,但复杂度也更高,
-
1/2分象素运动估计,图像存储空间增加4倍,运动矢量需要放大2倍,1/4分象素运动估计,图像存储空间增加16倍,运动矢量需要放大4倍,计算复杂度也成倍增加。
21. 分像素插值
22. 多参考帧预测
-
有更多的候选图像,搜索更精确的预测块
-
需要更多的参考图像存储空间
-
码流需要标识参考帧索引的语法元素
23. 图像分块编码
-
视频内容的运动非常复杂,图像分块编码可以更好的提高运动预测精度,提高压缩效率。
-
要在编码块大小和附信息(MV,Mode)编码比特数之间权衡,小的编码块大小会有更好的预测但有更多的附信息比特数。
23. 双向预测编码
24. B帧有更好的编码效率
-
B帧有更好的编码效率
-
新出现的对象参考将来的帧有更好的预测效果
-
前后两个预测的平均值可以减少预测方差
25. 全局运动估计
-
基于全局仿射运动模型
-
预测精度不如基于块的运动估计
-
MV数目少,适合简单运动场景的运动估计
阅读(2089) | 评论(0) | 转发(0) |