视频编码全角度详解 AVS China、H.264MPEG-4 PART10、HEVC、VP6、DIRAC、VC-1 K.R.Rao
出版时间:2017年版
内容简介
随着多媒体时代的到来以及移动互联网的发展,人们在对于视频的质量要求越来越高的同时,也期望视频传输具有更快的速度。而传输系统和存储系统则要求视频格式乃至码流语法尽可能统一。这两方面的客观要求就是,要对视频数据进行压缩;压缩要实现标准化。视频编码标准应运而生。K. R. Rao、D. N. Kim和J. J. Hwang合著的本书囊括H.120、H.261、MPEG-1、MPEG-2/H.262、H.263系列、MPEG-4、VP6、Dirac、VC-1、H.264/MPEG-4第10部分、H.265/HEVC和我国的AVS China等从人类进入信息时代至今的主要视频编码标准,以及标准之间的转码问题。本书重点阐述了标准内在的基本功能、工具、技术和操作,涉及的内容之广是同类书罕有的。本书颇具特色,也是有价值的部分是提供了大量的研究专题,尤其是那些具有前瞻性的尝试和质疑。相信广大读者在充分吸取本书的滋养、挖掘所列专题这一“富矿”之后,对于研究内容的确定是大有裨益的。此外,本书还提供了篇幅可观的附录,其中包含了与专题研究相关的实验数据结果,可作为广大读者自行研究的参考。
目录
译者序
原书序
致谢
缩略语
第1章 引言
摘要
1.1 流行的视频和音频标准
1.2 视频的数字表示
1.3 视频编解码的基本结构
1.4 视频编解码性能比较的衡量标准
1.5 音频的数字表示
1.6 感知音频编码的基本结构
1.7 音频编解码的性能比较测度
1.8 总结
第2章 视频编码标准和视频格式
摘要
2.1 前言
2.2 复杂度的降低
2.3 视频编码标准
2.4 MPEG和H.26x
2.4.1 H.120
2.4.2 H.261
2.4.3 MPEG-1
2.4.4 H.262/MPEG-2
2.4.5 H.263, H.263+ 和H.263++
2.4.6 MPEG-4
2.4.7 H.264/MPEG-4第10部分/AVC
2.4.8 H.265/HEVC
2.5 视频格式和质量
2.5.1 帧与场
2.5.2 颜色空间
2.5.2.1 YCbCr采样格式
2.5.3 视频格式
2.5.4 质量
2.5.4.1 峰值信噪比
2.5.4.2 SSIM
2.6 总结
第3章 AVS China
摘要
3.1 AVS China
3.2 AVS China档次和级别
3.2.1 AVS-video 的基准档次
3.2.2 AVS-video基本档次
3.2.3 AVS-Video伸展档次
3.2.4 AVS-Video 加强档次
3.3 AVS使用的数据格式
3.3.1 AVS视频分层结构
3.3.1.1 序列
3.3.1.2 图像
3.3.1.3 分片
3.3.1.4 宏块
3.3.1.5 块
3.4 AVS视频编码器
3.4.1 编码过程概述
3.4.2 AVS视频编码器用到的编码工具
3.4.2.1 变换
3.4.2.2 量化与扫描
3.4.2.3 熵编码
3.4.2.4 去块效应滤波器
3.4.2.5 模式判决
3.4.2.6 帧内预测
3.4.2.7 帧间预测
3.5 AVS视频解码器
3.6 AVS 视频比特流
3.6.1 起始码
3.6.2 起始码值
3.6.2.1 视频_编辑_码
3.6.2.2 视频_序列_终止_码
3.6.2.3 视频_序列_起始_码
3.6.2.4 扩展起始码
3.6.2.5 用户数据起始码
3.6.2.6 I帧起始码
3.6.2.7 PB帧起始码
3.6.2.8 分片起始码
3.6.3 帧编码类型
3.7 AVS视频流的NAL单元
3.7.1 AVS视频流NAL单元的映射
3.7.2 NAL单元首部描述
3.7.2.1 禁用的零比特或禁用比特
3.7.2.2 nal_ref_idc 或NAL参考ID
3.7.2.3 nal_unit_type 或NAL单元类型
3.7.2.4 RBSP字节
3.7.2.5 NAL单元定界符
3.8 AVS-M简介(AVS第7部分)
3.8.1 AVS-M的数据结构[A74]
3.8.1.1 编码的视频序列[A74]
3.8.1.2 帧[A74]
3.8.1.3 分片
3.8.1.4 宏块
3.8.2 AVS-M的体现
3.8.3 基本档次的多个级别
3.9 块模式预测模式
3.9.1 帧内预测
3.9.2 帧间预测
3.9.3 跳跃模式预测
3.9.4 率失真优化
3.10 变换、量化和熵编码
3.10.1 变换
3.10.2 量化
3.10.3 熵编码
3.10.4 简化的去块效应滤波器
3.11 AVS第1部分:系统[A80]
3.11.1 程序流
3.11.2 运输流
3.12 IEEE AVS
3.12.1 应用
3.12.2 档次和级别
3.12.3 设计特征概述
3.13 总结
3.14 专题
第4章 H.264/MPEG-4高级视频编码
摘要
4.1 概述
4.2 H.264的档次和级别
4.2.1 H.264的档次
4.2.1.1 基本档次
4.2.1.2 主档次
4.2.1.3 扩展档次
4.2.1.4 FRExts修订案定义的高档次
4.2.2 H.264的级别
4.3 H.264编码器
4.4 帧内预测
4.5 帧间预测
4.6 P分片中宏块的帧间预测
4.7 亚像素运动矢量
4.8 变换与量化
4.9 环路去块效应滤波器
4.9.1 滤波器强度
4.10 B分片与自适应加权预测
4.11 熵编码
4.12 H.264解码器
4.13 H.264的一些应用
4.14 总结
4.15 专题
第5章 高效视频编码(HEVC)
摘要
5.1 引言
5.2 视频编码联合协作团队
5.3 HEVC测试模型中编码工具的分析,HM 1.0:帧内预测
5.4 HEVC编码器
5.4.1 帧内预测
5.4.2 变换系数扫描
5.4.3 亮度与色度的分数像素内插
5.4.4 HM1与HEVC草案9编码工具的比较
5.5 扩展到HEVC
5.6 档次和级别
5.7 HEVC编码器的性能和计算复杂度
5.8 HEVC的系统层面集成
5.9 HEVC的无损编码与改进
5.10 总结
5.11 专题
第6章 VP6视频编码标准
摘要
6.1 前言
6.2 与以前的Flash编解码系统MX相比
6.3 VP6算法基础
6.4 VP6的编码档次
6.5 帧类型
6.5.1 黄金帧
6.6 宏块模式
6.6.1 I帧的宏块模式(帧内模式)
6.6.2 P帧的宏块模式(帧间模式与帧内模式)
6.7 最近邻块和近邻块
6.8 运动矢量
6.8.1 编码
6.8.2 预测环路滤波
6.9 分数像素运动补偿的滤波
6.9.1 双线性滤波
6.9.2 双三次滤波
6.10 对于无约束运动矢量的支持
6.11 预测环路滤波
6.12 DCT,扫描顺序和系数牌集合
6.12.1 扫描顺序
6.12.1.1 默认扫描顺序
6.12.1.2 自定义扫描顺序
6.12.2 DCT编码与系数牌集合
6.12.2.1 直流预测
6.12.2.2 系数牌集合
6.12.2.3 直流解码
6.12.2.4 交流解码
6.12.2.5 交流系数的算术和霍夫曼解码
6.12.2.6 解码零游程
6.13 量化
6.14 熵编码
6.14.1 上下文信息的利用
6.14.2 霍夫曼编码器
6.14.3 BoolCoder
6.15 VP6编码概述
6.16 VP6的编码性能 [P7]
6.17 VP6黄金帧 [P7]
6.18 背景/前景分割[P7]
6.19 上下文预测的熵编码
6.20 比特流分割 [P7]
6.21 双模式算术与变长编码 [P7]
6.22 自适应亚像素运动估计[P7]
6.23 VP6-E和VP6-S编码器档次 [P7]
6.24 设备端口与硬件实现 [P7]
6.25 总结
6.26 专题
第7章 Dirac视频编解码器与H.264/MPEG-4第10部分的性能分析和对比
摘要
7.1 前言
7.2 Dirac的体系结构
7.2.1 Dirac 编码器
7.2.2 Dirac 解码器
7.3 Dirac中的编码和解码阶段
7.3.1 小波变换
7.3.2 缩放和量化
7.3.3 熵编码
7.3.4 运动估计
7.3.5 运动补偿
7.3.6 解码器
7.4 实现
7.4.1 编码结构概述
7.4.2 编码的简明性和相对速度
7.5 结果
7.5.1 压缩比测试
7.5.2 SSIM测试
7.5.3 PSNR测试
7.6 结论
7.7 未来的研究
7.8 总结
7.9 专题
第8章 VC-1视频编码
摘要
8.1 VC-1的结构
8.2 整数变换编码
8.2.1 逆变换
8.2.2 前向变换
8.2.2.1 Z型扫描
8.2.2.2 量化
8.3 运动估计/补偿
8.3.1 环路滤波器
8.3.2 复杂度
8.3.3 档次和级别
8.4 简单档次
8.4.1 比特流结构
8.4.2 基本档次的帧内压缩
8.4.3 块大小可变的变换规定
8.4.4 重叠变换
8.4.5 每个宏块的4个运动矢量
8.4.6 Y分量的四分之一像素运动补偿
8.5 主档次
8.5.1 CbCr的四分之一像素运动补偿
8.5.2 起始码
8.5.3 扩展的运动矢量
8.5.4 环路滤波器
8.5.5 动态分辨率的改变
8.5.6 B帧
8.5.7 自适应宏块量化
8.5.8 亮度补偿
8.5.9 范围调节
8.6 高级档次
8.6.1 比特流结构
8.6.2 隔行扫描
8.6.3 序列级的用户数据
8.6.4 入口点层
8.6.5 显示元数据
8.7 H.264到VC-1的转码
8.7.1 帧内编码宏块模式映射
8.7.2 帧间编码宏块模式映射方案
8.7.3 运动矢量映射
8.7.4 参考帧
8.7.5 跳过宏块
8.8 VC-1 的传输
8.8.1 传输流中VC-1的数据封装
8.8.2 程序流中的VC-1数据封装
8.9 VC-2视频压缩
8.9.1 前言
8.9.2 范围
8.10 总结
8.11 专题
附录A 关于Dirac、H.264和H.265图像质量的调查研究
A.1 前言
A.2 H.265
A.3 使用SSIM和FSIM的图像质量评价
A.4 结果
A.4.1 使用QCIF序列Foreman的结果
A.4.2 使用CIF序列Foreman的结果
A.4.3 使用QCIF序列Container的结果
A.4.4 使用CIF序列Container的结果
A.5 结论
A.6 专题
附录B AVSNR软件的PSNR平均值
参考文献
附录C 通用图像质量指标与SSIM的比较
C.1 前言
MSE:均方误差 [Q22]
为什么用MSE [Q22]?
MSE有什么问题?[Q22]
使用MSE的隐含假定
主观对客观图像质量测度 [Q15]
C.2 通用的图像质量指标 [Q8]
质量指标的定义
在图像中的应用
C.3 结构相似度指标 [Q13]
C.4 带有失真的图像 [G11]
C.5 测试结果
失真的Lena图像
失真的Goldhill图像
失真的Couple图像
C.6 结论
专题C
图像知觉质量评价指标:结构相似度
C.7 H.264参考软件中关于视频质量测度的JVT文档
摘要
前言
新的失真测度与JM
附录D H.264中模式相关的DCT/DST实现方案
D.1 前言
D.2 参考软件中变换的实现方案
D.3 提出的方案
D.3.1 从帧内预测模式到DCT/DST的映射
D.3.2 获得H.264的DST矩阵
D.3.3 H.264/AVC参考软件中DCT/DST的实现
D.4 BD-PSNR和BD-比特率的计算
D.5 性能分析
D.5.1 WQVGA(416×240)序列的测试结果
WVGA(832×480)序列的测试结果
HD(1,920×1,080)序列的测试结果
高清(1,080×720)序列的测试结果
用于RaceHorse序列DCT/DST不同组合的测试结果
D.6 结论与未来的工作
附录E H.264的实现软件JM,Intel IPP和X264的性能分析与比较
E.1 H.264
E.2 JM软件 [H30]
E.3 X264 [X1]
E.4 Intel IPP [X3]
E.5 JM(17.2) 性能分析
E.6 X264性能分析
E.7 Intel IPP性能分析
E.8 在基本档次、主档次和高档次中JM、X264和Intel IPP软件的SSIM比较
E.9 基本档次、主档次和高档次中JM、X264和Intel IPP软件实现的PSNR对比
E.10 基本档次、主档次和高档次中JM、X264和Intel IPP软件所用编码时间的对比
E.11 基本档次、主档次和高档次中JM、X264和Intel IPP软件实现的压缩比对比
E.12 结论
E.13 未来的工作
附录F基于H.264“只编码I帧”的AIC实现以及与其它静止帧图像编码标准如JPEG、JPEG 2000、JPEG-LS和JPEG-XR的比较
F.1 前言
F.2 高级图像编码
F.3 改进的AIC
编码器
解码器
F.4 H.264标准
H.264/AVC主档次帧内编码
H.264/AVC FRExt高档次帧内编码
F.5 JPEG
F.6 JPEG2000
F.7 JPEG XR
F.8 JPEG-LS
F.9 JPEG-LS 算法
LOCO-I的描述
F.10 主要差别 [AC1, H11, J22, JX3, JL2, JL4]
F.11 评价方法
图像测试序列
编解码器的设置
主观对客观图像质量测度
F.12 结论和未来的工作
附录G 面向高清视频编码的更高阶二维整数余弦变换
G.1 离散余弦变换与视频压缩
G.2 整数余弦变换
G.3 简单的2维16阶ICT
G.4 改进的2维16阶ICT
G.5 基于Loeffler因式分解的二维16阶binDCT
G.6 变换编码增益
G.7 H.264/AVC中的实现方案与性能分析
G.8 AVS-Video的实现方案和性能分析
G.9 结论和未来的工作
附录H H.264编解码器的比较
H.1 比较的任务
测试范围
本次比较的新颖之处
比较规则
测试硬件特性
编解码器要求
开发者可交付成果
有用的链接