Subblock-based temporal motion vector prediction (SbTMVP)
VVC 支持基于子块的时间运动矢量预测(SbTMVP)方法。 与 HEVC 中的时间运动矢量预测 (TMVP) 类似,SbTMVP 使用并置图片(collocated picture)中的运动场来改进当前图片中 CU 的运动矢量预测和Merge模式。 SbTVMP和TMVP 使用相同的并置图片 。
VVC中的collocated picture
collocated picture 是参考帧列表中先前已编码的帧。 在VVC中,每一帧的picture header中通过 ph_collocated_from_l0_flag 和 ph_collocated_ref_idx 两个参数来显示地指定使用哪一帧作为collocated picture。
Adaptive motion vector resolution (AMVR)
在 HEVC 中,当slice header中的 use_integer_mv_flag 等于 0 时,运动矢量差(MVD)(CU 的运动矢量和预测运动矢量之间)以四分之一亮度样本为单位用信号表示。 在VVC中,引入了CU级自适应运动矢量分辨率(AMVR)方案。 AMVR允许CU的MVD以不同的精度
HEVC Picture Buffering Management
1 POC and DPB HEVC 中的每个图片都分配有一个图片顺序计数 (picture order count, POC) 值,表示为 PicOrderCntVal。 它具有三个主要用途:唯一地标识图片,指示相对于同一 CVS 中其他图片的输出位置,以及在较低级别的 VCL 解码过程中执行运动
POSIX 线程同步——条件变量
POSIX多线程程序设计. 作者 美 David R.Buten 条件变量是用来通知共享数据状态信息的。可以使用条件变量来通知队列已空、或队列非空、或任何其他需要由线程处理的共享数据状态。 当一个线程互斥地访问共享状态时,它可能发现在其他线程改变状态之前它什么也做不了。状态可能是对的和一致的,即没有
POSIX 线程同步——互斥量
POSIX多线程程序设计. 作者 美 David R.Buten 大部分多线程程序需要在线程间共享数据。如果两个线程同时访问共享数据就可能会有问题,因为一个线程可能在另一个线程修改共享数据的过程中使用该数据,并认为共享数据保持未变。 使线程同步最通用和常用的方法就是确保对相同(或相关)数据的内存访问
ISP (Intra Subpartition Mode)
内部子分区(ISP)模式是VVC中新引入的工具之一。 它是一种分区机制,旨在对帧内预测块的非平稳特征进行建模。 具体来说,ISP将一个块的亮度分量垂直或水平地分割成K个大小相等的子分区,这些子分区以顺序的方式一一处理。 Layout 帧内子分区 (ISP) 根据块大小将亮度帧内预测块垂直或水平划分为
二值化过程(Binarization process)
VVC标准中使用了4种二值化方案:截断莱斯码(truncated Rice (TR)), 截断二进制码(truncated binary (TB)), k阶指数哥伦布码(k-th order Exp-Golomb (EGk)), 定长码(fixed-length (FL))。 TR码 TR码由前缀和
Geometric Partitioning Mode in Versatile VideoCoding
H. Gao, S. Esenlik, E. Alshina, and E. Steinbach, “Geometric partitioning mode in versatile video coding: Algorithm review and analysis,” IEEE Trans.
VVC中的 Affine motion compensated prediction
在HEVC中,仅应用平移运动模型来进行运动补偿预测(MCP)。 在现实世界中,运动有很多种,例如放大/缩小、旋转、透视运动和其他不规则运动。 在VVC中,应用基于块的仿射变换运动补偿预测。 如图27所示,块的仿射运动场由两个控制点(4参数)或三个控制点运动矢量(6参数)的运动信息来描述。 对于 4