一、色度模式编码

1.色度预测模式候选列表

VVC中色度分量的预测过程和亮度分量预测过程不同,其首先是构建色度预测模式候选列表如下表,有8种模式,由4种和亮度模式相同的模式、3种CCLM模式和1种DM模式组成;然后根据RD check对这8个候选模式进行选择;最后把选择的最优模式按照特定的熵编码方式进行编码。

前4种模式为和亮度模式相同的模式:
模式0:Planar模式
模式1:垂直模式
模式2:水平模式
模式3:DC模式
模式4~模式6:都是CCLM模式,但各不同,下面会详细介绍
模式7:DM模式,即是色度块对应亮度块的最优预测模式(因为一个色度块可能对应好几个亮度块,所以方法是找到当前色度CU位置对应的亮度CU位置,将其中心块的预测模式作为DM候选模式);如果DM模式中对应亮度块预测模式是前4种模式中的其中一种,则将其替换为角度预测模式中的66,取代候选列表前面的重复模式。

2.对8个候选模式进行RD check

此处暂时省略~

3.CCLM技术

在讲CCLM技术时首先讲一下CCIP技术(其实我觉得这两者是有重叠的部分的)

(1)CCIP(Cross-component intra prediction)技术

最初,由于RGB各分量之间存在很大的冗余,所以为了避免将其转换成YCbCr格式时的rounding操作造成颜色保真度下降且为了提高编码效率,便采用CCIP技术对RGB格式的视频进行编码[1],比如利用重构分量®的信息来预测剩余分量(G或B)从而减少颜色间的冗余。除了在RGB格式视频中采用CCIP技术,在YUV444格式视频中也可以使用CCIP技术[2].由于CCIP技术使得编码效率显著提高,其被引入HEVC/H.265Rext4:4:4配置文件[3].
CCIP技术主要是基于具有两个参数的线性模型(即α斜率和β偏移),这两个参数可以都经过码流传输至解码器,也可以只传斜率参数α来节省传参数的开销。 又或者这两个参数都不需要传输,在解码器中使用和在编码器中一样的计算方式计算得出。CCIP中使用以下线性模型,基于同一CU的重建亮度样本预测色度样本:
其中predC(i,j)表示一个CU中色度样本的预测值,recL’(i,j)表示同一CU块中下采样重构亮度样本(对CU块内所有重构亮度样本进行下采样,原因是要使得亮度和色度一一对应,比如对于YCbCr422,YCbCr420格式视频帧)。参数α和β由当前CU周围的相邻重构亮度和重构色度样本的最小回归误差推出:

其中L(n)表示下采样(也是使得亮度和色度一一对应)的左侧和上侧的所有相邻重构亮度样本,C(n)表示左侧和上侧的所有相邻重构色度样本,N的值等于当前色度编码块的宽和高最小值的2倍。对于方形编码块,这两个等式可以直接应用。对于非方形的编码块,较长边缘的邻近样本首先进行下采样,得到与较短边缘样本数量相等的样本数。这里的α和β并不需要传输,在解码器中也通过上式计算得到。

下图为CCIP模式中当前亮度和色度块的左侧和上侧边缘采样的位置:

(2)CCLM(Cross-component linear model)技术

在H.266/VVC中,对CCIP技术进行了扩展改进,提出了CCLM跨分量线性模型预测,其对于编码性能的提升相比其它新技术更可观。

  1. CCLM最先使用线性回归方式确定参数值,其中有LM(CCIP)模式、LMA模式(CCIP_A)、LML模式(CCIP_L)[4],在LMA模式下,只使用上和右上位置重建的相邻亮度和色度样本来计算线性模型系数。 在LML模式下,只使用左和左下位置重建的相邻亮度和色度样本来计算线性模型系数。三种模式当前亮度和色度块的边缘采样的位置分别如下:


  2. 上面这种计算线性模型参数的方法依然还是比较复杂,所以后面再而简化成在当前块的相邻重建亮度和色度样本中,对所有重建亮度样本进行比较,找到一个亮度最大值和亮度最小值,及其亮度最大值对应的色度值和亮度最小值对应的色度值,然后利用这两个采样点进行线性拟合来求参数α和β,这种方法复杂度相比之前的方法大大降低,且性能下降的不多;
  3. 为了再次再而继续对计算方法进行改进,提出CCLM、CCLM_A(CCLM_T)、CCLM_L这三种模式。基本过程是对同位亮度块的 **4个位置(位置的选取方法参考U-CCLM)**以及块内的所有亮度样本进行下采样以获得和色度样本一一对应的亮度样本,如下图所示;然后对所选位置的四个相邻的下采样亮度样本进行四次比较找出两个较小的值X0A和X1A以及两个较大的值X0B和X1B,它们对应的色度采样值表示为Y0A和Y1A、Y0B和Y1B,然后由下面的公式可以计算出相关参数,再之后将块内同位亮度块内下采样后的亮度重建样本带入构造的线性模型中,计算出当前色度编码块的色度预测样本。


补充:

下采样

YUV420模式中,亮度分量和色度分量尺寸不相同,在CCLM模式中需要对重构亮度块下采样来匹配色度块尺寸。 CCLM中,默认使用如下的6抽头下采样滤波器,抽样之后就会得到上面贴的亮度采样之后的样本位置图~

参考资料

[1]W.-S. Kim, D.-S. Cho, and H. M. Kim, “Inter-plane prediction for RGB
video coding,” in Proc. IEEE Int. Conf. Image (ICIP), vol. 2, Oct. 2004,
pp. 785–788.
[2] D. Flynn et al., High Efficiency Video Coding (HEVC) Range Extensions
Text Specification, document JCTVC-Q1005 of Joint Collaborative Team
on Video Coding (JCT-VC), 17th Meeting, Mar. 2014.
[3]W. S. Kim et al., “Cross-component prediction in HEVC,” IEEE Trans.
Circuits Syst. Video Technol., to be published.
[4]X. Zhang, O. C. Au, J. Dai, F. Zou, C. Pang, and X. Wen, New Modes for
Chroma Intra Prediction, document JCTVC-G358 of Joint Collaborative
Team on Video Coding (JCT-VC), 7th Meeting, Nov. 2011.

H.266/VVC:色度帧内预测模式之CCLM技术相关推荐

  1. H.266 JEM7.0 帧内预测之四(Planar模式的基于位置的帧内预测组合 (PDPC))

    JEM中,将planar模式预测所得结果进行进一步修正.PDPC是帧内预测方式,它将未滤波的边界参考样本和HEVC的有滤波边界参考样本结合进行预测. PDPC的标志如图.r和s表示未滤波和滤波的边界样 ...

  2. ICASSP2020:VVC基于线性模型的帧内预测模式

    本文来自ICASSP2020论文<LINEAR MODEL-BASED INTRA PREDICTION IN VVC TEST MODEL> 论文使用含3个参数的线性模型进行帧内预测 L ...

  3. AVS 帧内预测模式的汇编优化

    王瑞* 基金项目:本课题得到国家自然科学基金资助项目基金(项目编号:60772101)的资助. 作者简介:王瑞(1986-), 男, 山东莱芜人, 硕士, 主要从事视频压缩方面的研究. E-mail: ...

  4. 从HEVC到VVC:帧内预测技术的演进(2) – 多划分及多参考行帧内预测

    当前主流的视频编码标准(如H.264/AVC,VP9,AVS1,HEVC等)均使用当前预测单元最邻近的已重构像素对当前预测单元进行帧内预测.因为当前预测单元与其临近的像素之间有很强的相关性,该帧内预测 ...

  5. HEVC亮度分量帧内预测模式代码详解

    作者:66 (转载请注明出处) 从我自身的学习历程来看,建议大家先把理论扎实了再去理解代码,代码里也有注释,与理论的地方一对应加上一点C编程基础很容易就能理解. 我们先了解相关理论,此处可参考这一篇博 ...

  6. 关于帧内预测模式的视频隐写代码介绍

    关于帧内预测模式的视频隐写代码介绍 前言 一.H.265/HEVC的帧内预测过程 二.论文[1]的介绍以及如何复现 前言 在早期的基于帧内预测模式(IPM)的H.265/HEVC视频中,大多是基于自定 ...

  7. 【九】 H.266/VVC中帧间仿射运动补偿预测

    一.前言 HEVC中在进行运动补偿时只考虑了平移运动,而在真实的世界存在各种运动,例如缩放.旋转等非平移运动.在H.266/VVC中提出了基于块的仿射变换运动补偿预测.如下图所示,一个块的仿射运动向量 ...

  8. JVET-AC0315:用于色度帧内预测的跨分量Merge模式

    ECM采用了许多跨分量的预测(Cross-componentprediction,CCP)模式,包括跨分量包括跨分量线性模型(CCLM).卷积跨分量模型(CCCM)和梯度线性模型(GLM),以利用分量 ...

  9. H.266/VVC代码学习:DC模式和Planar模式

    Planar模式和DC模式时两种特殊的角度模式,分别对应于模式号0和1. 一.DC模式 DC模式适用于大面积平坦区域,其预测值是通过计算左边和(或)上边参考像素的平均值获得的. 1.1.计算 DC模式 ...

最新文章

  1. Docker实战9 之Dockerfile深入实践
  2. linux分区详解!
  3. 布局管理器 5-----绝对布局
  4. python函数与方法表,基于Python 函数和方法的区别说明
  5. HDU - 5572 An Easy Physics Problem(几何-碰撞问题)
  6. Auto.JS 开发
  7. BootstrapTable静态刷新表格
  8. 【BZOJ3531】旅行,树链剖分+开点线段树
  9. ES6学习笔记第一章
  10. 基于Python实现相关分析案例
  11. arduino 部分有用的函数
  12. PyTorch报错:xxx.pth is a zip archive(did you mean to use torch.jit.load()?)
  13. LinGo基本用法总结
  14. Teamviewer Install
  15. Python3 Scrapy + Selenium + 阿布云爬取拉钩网学习笔记
  16. go 学习笔记之解读什么是defer延迟函数
  17. Floyd-Warshall算法总结
  18. Word如何对齐冒号,想把几行的冒号对齐该怎么设置?
  19. Liunx 创建隐藏文件夹
  20. Android应届毕业生“过五关斩六将”,怒刷千题,让你面试一路畅通!

热门文章

  1. TeXstudio编译提示缺少.sty文件
  2. MATLAB | 用cftool对excel的数据进行三维曲线拟合
  3. 【unity学习笔记】OnMouseEnter、OnMouseOver、OnMouseExit
  4. 【C++】揭开“引用”的庐山真面目
  5. 带视频教程|2.0升级版源码价值18500元的商业版游戏陪玩语音聊天系统源码
  6. linux文件e属性,三、Linux文件属性
  7. Oracle报错ORA-01507: ??????
  8. STEP7 V5.5 SP4 HF1 + WINCC7.2 + PLCSIM V5.4 SP5工程项目如何进行PLC程序和WINCC画面仿真运行
  9. 苹果xr如何截屏_苹果手机居然自带长截屏功能了?iPhone的多种截屏方式,涨知识了...
  10. 二叉树的深度 | 分治 +回溯 + 迭代