也是很久没有写博客了,也不能说因为时间太忙,可能就是有些顾不太过来更新,同时自己项目和学习的进展也比较有限吧。
这篇博客是上一周,给导师做的《JVET H.266编码技术调研》。其实基本没有太多自己的东西,绝大部分来源于网络大神们博客的分析见解,和大量来自于JVET官方文档的翻译。
不过,由于在找资料的时候,发现跟踪H.266指定标准的人不少,但相关的技术文章却不太多,也大多有些曲高和寡的意思。像我这种不是专业研究,只是了解的人来说,还是多少一些不方便。这里便把这篇技术文章传上来,方便大家了解JVET的H.266及JEM的技术构成。
以下绝大部分技术内容来源于JVET-G1001-v1《Algorithm Description ofJoint Exploration Test Model 7 (JEM 7)》的翻译和校对。该文档可在官方站点:https://jvet.hhi.fraunhofer.de/ 的document site中,会议文献下载得到。
此处仅放出本文档的前两章内容,详细内容请跟随下载:https://download.csdn.net/download/fan2273/10281796
(主要想赚点积分,方便看其他大神的工程和代码……需要文档没有积分的可以私信我~)
1. 介绍:... 2
2. 主要调整与更改介绍:... 2
2.1. 块结构... 2
2.2. 帧内预测模式... 3
2.3. 帧间预测模式... 3
2.4. 变换... 3
2.5. 环路滤波器... 3
2.6. CABAC调整... 3
3. 特征详细... 4
3.1. 四叉树加二叉树结构的大块CTUs. 4
3.2. 帧内预测的调整... 5
3.2.1. 采用67个帧内预测模式的帧内模式编码... 5
3.2.2. 四插头内插滤波器... 8
3.2.3. 边界预测滤波器... 8
3.2.4. 交叉分量线性模型预测... 8
3.2.5. 平面模式的位置相关帧内预测组合... 11
3.3. 帧间预测调整... 12
3.3.1. 基于子CU的运动矢量预测... 12
3.3.2. 自适应运动矢量差分解析... 14
3.3.3. 更高的运动矢量存储精度... 15
3.3.4. 重叠的块运动补偿... 15
3.3.5. 局部光照补偿... 16
3.3.6. 仿射运动补偿预测... 17
3.3.7. 模式匹配的运动矢量推导... 19
3.3.8. 双向光流... 20
3.3.9. 解码器端运动矢量细化... 24
3.4. 变换调整... 25
3.4.1. 采用高频归零的大块变换... 25
3.4.2. 自适应多核变换... 25
3.4.3. 依赖于模式的不可分离次级变换... 28
3.4.4. 信号相关变换... 29
3.5. 环路滤波... 30
3.5.1. 双边过滤器... 30
3.5.2. 自适应环路滤波器... 32
3.5.3. 内容自适应裁剪... 32
3.6. CABAC调整... 32
3.6.1. 变换系数的上下文建模... 33
3.6.2. 多假设概率估计... 33
3.6.3. 上下文模型的初始化... 34
4. 参考文献... 34
H.266是下一代视频编码标准,制定方为由MPEG和ITU联合成立的JVET(jointvideo explore team)。JVET,全称联合视频探索小组,是未来视频压缩、编解码技术的研究小组。JVET负责研发、维护JEM(H.266)测试平台与360Lib(全景投影)测试平台。
H.266的探索是从2016年2月24日,在JVET第一次会议(Geneva)上提上日程。至今,已召开了9次会议(最近一次会议为2018年1月20日于Gwangju召开)。H.266的提出,与H.265的针对应用场景不同。H.266指定是针对4K及以上的高清/超高清视频,位深主要是10bit,且需要适应HDR(高动态范围)及WCG(广色域)。
H.266及其测试模型JEM的算法及技术,主要建立在H.265/HEVC测试模型基础上。HEVC的基本编码和解码流程图在JEM中保持不变;改进了其中的包括块结构、帧内和帧间预测、残差变化、环路滤波器和熵编码等重要模块,并增加了额外的编码工具。
其中,H.266的编码框架在预测、变换、量化、反量化、反变换、滤波、熵编码模块,在原有的算法上做出了调整及改进,但基本相似。最大的变化为,H.266中,编码器的最大块尺寸由H.265的64变为128,且仅有10bit深度配置(输入为8bit深度将自动转换为10bit深度编码处理)。H.266的编码框架不再使用H.265的四叉树划分方式,而变为了四叉树加二叉树(QTBT)划分,不再有PU、CU、TU的单元区别。编码配置文件与H.265相似,编码GOPSize由原来的8增大为16,支持浮点QP。
本文以H.266测试模型JEM 7(purpose on 7th Meeting: Torino, IT, 13–21 July 2017)为参考分析,参考会议文献JVET-G1001-v1《AlgorithmDescription of Joint Exploration Test Model 7 (JEM 7)》。该文献描述H.266测试模型JEM 7已使用算法及工具的特征及关键技术。截止时间2018年1月第9次会议,JEM模型未再做调整更改。
1. 具有较大(128)的CTUs的四叉树加二叉树(QTBT)划分模式块结构 [5]
1. 65个帧内预测方向 [4][6][7][8]
2. 用于帧内预测的4-tap插值滤波器 [4][6]
3. 边界滤波器除水平和垂直还应用于其他方向 [4][6]
4. 交叉分量线性模型(CCLM)预测 [3][4]
5. 位置相关帧内预测组合(PDPC) [9]
1. 子PU水平运动矢量预测 [3][4][10]
2. 局部自适应运动矢量分辨率(LAMVR) [3][4]
3. 1/16像素运动矢量存储精度
4. 重叠块运动补偿(OBMC) [3][4]
5. 局部光照补偿(LIC) [4][11]
6. 仿射运动预测 [12]
7. 模式匹配运动矢量推导 [4][6][5]
8. 双向光流(BIO) [7][8]
9. 解码器侧运动矢量细化(DMVR) [14]
1. 采用高频归零的大块变换
2. 自适应多核变换 [3][4]
3. 模式相关的不可分离二次变换 [4][13]
4. 信号相关变换(SDT) [15]
1. 双边滤波器 [16]
2. 自适应环路滤波器 [3][4]
3. 内容自适应裁剪 [17]
1. 根据变换系数等级的上下文模式选择 [4][6]
2. 多假设概率估计 [4][6]
3. 上下文模型的初始化 [4][6]