VVC/H.266
文章平均质量分 92
Cohen_ina
代码像诗一样优雅
展开
-
【二十二】 H.266/VVC | 选择最优的仿射AMVP候选项 | xEstimateAffineAMVP函数
/*函数的所用:从构建的仿射AMVP候选列表中选择最优的候选项函数的参数说明:1、PredictionUnit& pu, 当前编码的PU2、AffineAMVPInfo& affineAMVPInfo 存放仿射AMVP候选列表的结构体3、PelUnitBuf& origBuf, 存储当前PU像素信息的缓冲区4、RefPicList eRefPicList, 当前PU的参考图像列表5、int iRefIdx, 当前PU的参考图像在参考图像列表中的索引值6、M原创 2020-10-17 20:19:47 · 631 阅读 · 0 评论 -
【二十一】 H.266/VVC | 仿射运动估计AMVP候选列表的构建 | fillAffineMvpCand函数
/*函数的作用: 构建Affine AMVP list候选列表函数的参数说明:1、PredictionUnit &pu 当前编码的PU2、const RefPicList &eRefPicList 当前PU的参考图像列表3、const int &refIdx 当前PU的参考图像在参考图像列表中的索引值4、AffineAMVPInfo &affiAMVPInfo 用于存放AMVP的结构体,最终AMVP list存储于该变量中*/void PU::fillA原创 2020-10-17 20:16:23 · 764 阅读 · 0 评论 -
【二十】 H.266/VVC | 仿射运动估计AMVP继承相邻块的运动信息函数 | addAffineMVPCandUnscaled函数
/*函数的作用:检验当前PU的相邻PU的运动信息是否可以继承,可以的话保存并返回true,否则返回false函数的返回值是一个bool类型形参说明1、const PredictionUnit &pu 当前编码单元PU2、const RefPicList &refPicList 当前PU的参考列表3、const int &refIdx 当前PU参考图像在参考列表中的索引4、const Position &pos5、const MvpDir &dir原创 2020-10-16 20:13:31 · 416 阅读 · 0 评论 -
【十九】 TZSearsh运动估计搜索算
第一步:确定起始搜索点H.265/HEVC中采用AMVP技术来确定起始搜索点,AMVP会给出若干个候选预测MV,编码器从中选择率失真代价最小的作为预测MV,并用其所指向的位置作为起始搜索点。第二步:以步长1开始,按照下图所示的菱形模板(或正方形模板)在搜索范围内进行搜索,其中步长以2的整数次幂的形式进行递增,选出率失真代价最小的点作为该步骤搜索的结果。第三步:若步骤二中得到的最优点对应的步长为1,则需要在该点的周围进行两点搜索,其主要目的是补充搜索最优点周围尚未搜索的点。如下图所示,若步骤二使用的是原创 2020-09-30 18:55:02 · 1165 阅读 · 0 评论 -
【十八】 H.266/VVC | VTM数据结构学习笔记
一、HM的缺陷1、复杂的数据结构Z索引不明确的数据模型(TComDateCU)2、槽糕的代码可读性复杂的内存操作与一般的数据流混杂在一起缺乏数据和逻辑封装3、复杂的可扩展性数据结构的设计由严格的假设(例如:方块)很多的想法因为扩展性的复杂而被放弃二、VTM的设计原则1、简单明确的数据模型:采用现代O-O设计原则,快速且前言2、全局像素寻址消除Z索引的使用消除2级(CUT->Z索引)信号寻址3、简单操作的封装(例如:内存操作):允许一般流程更好的可读性.原创 2020-09-25 08:59:28 · 1540 阅读 · 1 评论 -
【十七】 Windows环境下使用VTM编解码视频测试 | 详细图解和步骤
一、安装H.266/VVC测试软件VTMVTM目前为止最新版本为VVCSoftware_VTM-VTM-10.0,下载的地址为:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM找到VTM所有更新版本下载最新版本VTM10.0的压缩包到本地在本地对下载的压缩包进行解压此时第一步VTM的下载工作就完成,若要直接获得VTM10.0压缩包的同学,可以在公众号直接回复“VTM10”即可,公众号二维码见文章末尾二、安装工程编译工具Cma.原创 2020-09-23 15:58:14 · 6312 阅读 · 10 评论 -
【十六】 H.266/VVC | VVC中帧间预测技术详细总结 | 所有帧间预测技术代码汇总
前言 帧间预测是影响视频编码性能的关键环节之一,H.266/VVC帧间预测在传统只能应对简单的平移运动的基础上,采用了仿射运动模型,可以描述更加复杂的缩放、旋转等运动。为了更好的发挥合并模式(Merge)的性能,采用了扩展的合并模式、带运动矢量差的合并模式MMVD、子块合并模式、混合帧内帧间CIIP合并模式、三角划分合并模式以及仿射合并模式等,可以有效去除时空相邻块间的冗余。针对双向预测得到的运动矢量,新增光流法、CU级加权、解码端修正等多种修正方法提升运动矢量的精度,降低编码消耗。通过采用更加复杂的.原创 2020-09-14 19:37:07 · 3512 阅读 · 2 评论 -
【十五】 VVC/H.266 | 帧内帧间联合预测技术CIIP详解
文章目录一、基本原理二、具体技术细节一、基本原理CIIP是帧内帧间联合技术,这属于Merge系列技术的一个分支。该技术需要计算当前预测块的帧内预测值,即用传统的帧内预测模式去预测当前块的像素值,并存储下来。然后利用帧间的预测方式去预测当前块的帧间预测值,最后将帧内和帧间的预测值,通过某种方式加权得到当前预测块的最终预测值。二、具体技术细节CIIP技术在亮度块的和色度块都要实现,在目前的版本当中,亮度和色度帧内预测都只用Planar模式进行预测,帧间预测模式就是用Merge列表中最优的MV进行帧间预测原创 2020-09-05 23:54:33 · 1439 阅读 · 0 评论 -
【十四】 H.266/VVC | 帧间预测技术 | 三角形划分模式(TPM)
基本原理在当VVC中,三角预测模式是一种Merge模式,当使用TMP技术时,一个CU被均匀地分割成为两个三角形区域,使用对角分割或者反对角分割,如下图所示,每个三角分区都只允许单向预测,因此每个分区都必须分配一个单向的预测MV以及对应的参考帧索引,两个分区根据各自分区的单向预测MV,运动补偿出各自分区的预测值,利用CU中各个三角形分区的预测值,在三角形分割线(对角线或者反对角线)的周围通过自适应的权值加权融合出新的预测值,同时保持各自分区的预测值不变,最终得到整个CU的三角预测值;这里需要注意的是,三角预原创 2020-08-12 14:29:07 · 903 阅读 · 0 评论 -
【十三】 H.266/VVC | 帧间预测技术 | 解码端运动向量修正技术(DMVR)
目的:为了提高merge模式下双向预测MV的准确性基本思路:双向预测是在list0和list1中分别寻找一个运动向量,然后将MV0和MV1所指向的预测块进行加权得到最终预测块,而DMVR技术不是直接使用MV0和MV1,而是在MV0和MV1周围1-2个像素范围内搜索一个更加精确的MV,具体做法是直接计算前后两个经过偏移后的预测块(下图中红色的部分)之间的SAD值,选取SAD值较小的那个偏移后的MV的组合,即为要选取的修正后的MV,并最终利用修正后的MV生成当前块的双向加权预测值。注意:DMVR生成的修正M原创 2020-08-06 18:39:30 · 1499 阅读 · 0 评论 -
【十二】 H.266/VVC | 帧间预测技术 | 双向光流技术BDOF
双向光流技术BDOF原创 2020-07-07 17:43:11 · 1254 阅读 · 0 评论 -
【十一】 H.266/VVC | 帧间预测技术 | CU级双向预测(BCW)
CU级双向预测(BCW)原创 2020-07-07 17:33:01 · 1140 阅读 · 0 评论 -
【十】 基于子块的时域运动向量预测(SbTMVP)和自适应运动向量分辨率(AMVR)
一、基于子块的时域运动向量预测技术(SbTMV)在H.266/VVC中提出了基于子块的时域运动向量预测技术(Subblock-based temporal motion vector prediction,SbTMVP),该技术和Merge 候选列表构建过程中,时域候选向量预测(TMVP)类似,但两者也存在一些区别,具体如下所示:TMVP技术在CU级预测运动矢量,而subTMVP在子块级进行运动矢量预测TMVP技术直接使用同位图像的同位块计算时域MV,而SbTMVP技术在计算同位块前需要进行一个运动原创 2020-07-04 19:06:23 · 1455 阅读 · 0 评论 -
【九】 H.266/VVC中帧间仿射运动补偿预测
一、前言HEVC中在进行运动补偿时只考虑了平移运动,而在真实的世界存在各种运动,例如缩放、旋转等非平移运动。在H.266/VVC中提出了基于块的仿射变换运动补偿预测。如下图所示,一个块的仿射运动向量有两个控制点(4参数模型)或者三个控制点(6参数模型),如下图所示:基于块的运动补偿算法如下:1、首先将运动估计块划分为4*4的亮度子块2、对每个亮度子块按四参数模型和六参数模式由参考点的仿射向量计算其中心像素的运动向量,然后四舍五入到1/16精度其中4参数仿射运动模型,中心像素为(x,y)的子块原创 2020-07-03 22:42:08 · 2416 阅读 · 1 评论 -
【八】 H.266/vvc中对称MVD模式(SMVD)
H.266/vvc中对称MVD模式(SMVD)原创 2020-07-03 22:26:06 · 1574 阅读 · 0 评论 -
【七】 H.266/VVC中 带有运动矢量差的融合技术(MMVD)
带有运动矢量差的融合技术(MMVD)原创 2020-07-01 10:42:24 · 1544 阅读 · 3 评论 -
【六】 VVC帧间预测中扩展merge模式详解
VVC帧间预测中扩展merge模式详解原创 2020-06-29 16:31:42 · 2159 阅读 · 1 评论 -
【五】 H.266/VVC的帧间预测技术
VVC帧间预测与HEVC帧间预测对比原创 2020-06-26 20:43:22 · 2128 阅读 · 0 评论 -
【四】 VVC理论知识之帧间预测(2)
帧间预测(2)原创 2020-05-05 15:51:31 · 831 阅读 · 0 评论 -
【三】 VVC理论知识之帧间预测(1)
帧间预测(1)原创 2020-05-05 14:54:46 · 2892 阅读 · 1 评论 -
【二】 VVC理论知识之帧内预测编码
帧内预测编码原创 2020-05-05 11:29:54 · 1392 阅读 · 0 评论 -
【一】VVC理论知识之图像块划分
图像块划分原创 2020-05-05 11:23:23 · 1814 阅读 · 0 评论 -
【前言】 VVC理论知识之基本框架
基本框架原创 2020-05-05 11:14:17 · 1837 阅读 · 0 评论 -
01 VVC中编码块的划分结构
最新视频压缩标准VVC中,编码块的划分结构原创 2020-04-19 19:05:33 · 1421 阅读 · 0 评论