用于使用预测运动向量起点对视频编码执行运动向量预测的系统和方法与流程

文档序号:22627496发布日期:2020-10-23 19:36阅读:100来源:国知局
用于使用预测运动向量起点对视频编码执行运动向量预测的系统和方法与流程
本公开涉及视频编码,并且更具体地涉及用于执行运动向量预测的技术。
背景技术
:数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括iso/iecmpeg-4visual和itu-th.264(也称为iso/iecmpeg-4avc)和高效率视频编码(hevc)。hevc在2016年12月的itu-th.265建议书的高效视频编码(hevc)中有所描述,该文献以引用方式并入本文,并且在本文中称为itu-th.265。目前正在考虑对itu-th.265进行扩展和改进以开发下一代视频编码标准。例如,itu-t视频编码专家组(vceg)和iso/iec活动图像专家组(mpeg)(统称为联合视频研究组(jvet))正在研究压缩能力显著超过当前hevc标准的未来视频编码技术的标准化的潜在需求。以引用方式并入本文的联合探索模型7(jem7)、联合探索测试模型7(jem7)的算法描述、iso/iecjtc1/sc29/wg11文档:jvet-g1001(2017年7月,意大利,都灵)描述了由jvet在联合测试模型研究下的编码特征,该技术是超越itu-th.265功能的潜在增强视频编码技术。应当指出的是,jem7的编码特征在jem参考软件中实现。如本文所用,术语jem可统称包括在jem7中的算法以及jem参考软件的具体实施。视频压缩技术可减少存储和传输视频数据的数据需求。视频压缩技术可通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即视频序列内的帧组、帧组内的帧、帧内的片段、片段内的编码树单元(例如,宏块)、编码树单元内的编码块等)。可以使用帧内预测编码技术(例如,图片内(空间))和帧间预测技术(即图片间(时间))来生成待编码的视频数据单元与视频数据的参考单元之间的差值。该差值可被称为残差数据。残差数据可被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引、运动向量和块向量)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在合规比特流中。技术实现要素:在一个示例中,重构视频数据的方法包括确定当前视频块的所选择的预测运动向量起点、确定该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、确定所选择的采样点、至少部分地基于与所选择的预测运动向量起点相关联的运动信息和对应于所选择的采样点的偏移值来确定预测运动向量,以及使用该确定的预测运动向量生成对当前视频块的预测。在一个示例中,对视频数据进行编码的方法包括选择当前视频块的预测运动向量起点、选择预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、选择采样点以及用信号发送所选择的预测运动向量起点、所选择的采样图和所选择的采样点预测运动向量。附图说明[图1]图1是示出根据本公开的一种或多种技术的依照四叉树二叉树分割进行编码的一组图片的示例的概念图。[图2]图2是示出根据本公开的一种或多种技术的视频分量采样格式的示例的概念图。[图3]图3是示出根据本公开的一种或多种技术的用于视频数据块的可能的编码结构的概念图。[图4a]图4a是示出根据本公开的一种或多种技术的对视频数据块进行编码的示例的概念图。[图4b]图4b是示出根据本公开的一种或多种技术的对视频数据块进行编码的示例的概念图。[图5]图5是示出根据本公开的一种或多种技术的用于包含在预测运动向量的一组候选中的相邻视频块的位置的概念图。[图6]图6是示出根据本公开的一种或多种技术的用于包含在一组候选预测运动向量中的位置相邻视频块的概念图。[图7]图7是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码和解码的系统的示例的框图。[图8]图8是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。[图9]图9是示出根据本公开的一种或多种技术的在示例性视频块划分的上下文中包含在一组预测运动向量中的相邻视频块的位置的概念图。[图10]图10是示出根据本公开的一种或多种技术的采样图的概念图。[图11]图11是示出根据本公开的一种或多种技术的采样图的概念图。[图12]图12是示出根据本公开的一种或多种技术的用于使用预测运动向量起点和采样图进行运动向量预测的过程的流程图。[图13]图13是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。[图14]图14是示出根据本公开的一种或多种技术的用于使用预测运动向量起点和采样图进行运动向量预测的过程的流程图。具体实施方式一般来讲,本公开描述用于编码视频数据的各种技术。具体而言,本公开描述了用于运动向量预测的技术。应当指出的是,虽然本公开的技术是关于itu-th.264、itu-th.265和jem描述的,但是本公开的技术通常可应用于视频编码。例如,本文所述的编码技术可并入视频编码系统,(包括基于未来视频编码标准的视频编码系统),包括块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或其他熵编码技术,而不包括itu-th.265和jem中的技术。因此,对itu-th.264、itu-th.265和/或jem的参考用于描述性目的,并且不应将其解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文是出于描述性目的,并且不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文中使用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。在一个示例中,用于重构视频数据的设备包括一个或多个处理器,该一个或多个处理器被配置为确定当前视频块的所选择的预测运动向量起点、确定该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、确定所选择的采样点、至少部分地基于与所选择的预测运动向量起点相关联的运动信息和对应于所选择的采样点的偏移值来确定预测运动向量,以及使用该确定的预测运动向量生成对当前视频块的预测。在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器确定当前视频块的所选择的预测运动向量起点、确定该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、确定所选择的采样点、至少部分地基于与所选择的预测运动向量起点相关联的运动信息和对应于所选择的采样点的偏移值来确定预测运动向量,以及使用该确定的预测运动向量生成对当前视频块的预测。在一个示例中,装置包括用于确定当前视频块的所选择的预测运动向量起点的构件、用于确定该预测运动向量起点的采样图的构件、用于导出与该采样图上的采样点相对应的偏移值的构件、用于确定所选择的采样点的构件、用于至少部分地基于与所选择的预测运动向量起点相关联的运动信息和对应于所选择的采样点的偏移值来确定预测运动向量的构件,以及用于使用该确定的预测运动向量生成对当前视频块的预测的构件。在一个示例中,用于对视频数据进行编码的设备包括一个或多个处理器,该一个或多个处理器被配置为选择当前视频块的预测运动向量起点、选择该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、选择采样点以及用信号发送所选择的预测运动向量起点、所选择的采样图和所选择的采样点预测运动向量。在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器选择当前视频块的预测运动向量起点、选择该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、选择采样点以及用信号发送所选择的预测运动向量起点、所选择的采样图和所选择的采样点预测运动向量。在一个示例中,装置包括用于选择当前视频块的预测运动向量起点的构件、用于选择该预测运动向量起点的采样图的构件、用于导出与该采样图上的采样点相对应的偏移值的构件、用于选择采样点的构件以及用于用信号发送所选择的预测运动向量起点、所选择的采样图和所选择的采样点预测运动向量的构件。在以下附图和描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从描述和附图以及权利要求书中显而易见。视频内容通常包括由一系列帧(或图片)组成的视频序列。一系列帧也可被称为一组图片(gop)。每个视频帧或图片可以包括多个片段或图块,其中片段或图块包括多个视频块。如本文所用,术语“视频块”通常可以指图片的区域,或者可以更具体地指可以被预测性地编码的样本值的最大阵列、其子分区和/或对应结构。此外,术语当前视频块可以指正被编码或解码的图片的区域。视频块可被定义为可被预测性地编码的样本值的阵列。应当指出的是,在一些情况下,像素值可被描述为包括视频数据的相应分量的样本值,其也可被称为颜色分量(例如,亮度(y)和色度(cb和cr)分量或红色、绿色和蓝色分量)。应当指出的是,在一些情况下,术语“像素值”和“样本值”可互换使用。视频块可以根据扫描模式(例如,光栅扫描)在图片内排序。视频编码器可对视频块和其子分区执行预测编码。视频块和其子部分可以被称为节点。itu-th.264指定了包括16×16亮度样本的宏块。也就是说,在itu-th.264中,图片被分割成宏块。itu-th.265指定了类似的编码树单元(ctu)结构(也称为最大编码单元(lcu))。在itu-th.265中,图片被分割成ctu。在itu-th.265中,对于图片,ctu尺寸可被设定为包括16×16、32×32或64×64亮度样本。在itu-th.265中,ctu由视频数据的每个分量(例如,亮度(y)和色度(cb和cr))的相应编码树块(ctb)组成。此外,在itu-th.265中,可根据四叉树(qt)划分结构对ctu进行划分,这导致ctu的ctb被划分成编码块(cb)。也就是说,在itu-th.265中,ctu可被划分为四叉树叶节点。根据itu-th.265,一个亮度cb连同两个对应的色度cb和相关联的语法元素被称为编码单元(cu)。在itu-th.265中,可以用信号发送cb的最小允许尺寸。在itu-th.265中,亮度cb的最小允许最小尺寸是8×8亮度样本。在itu-th.265中,使用帧内预测或帧间预测对图片区域进行编码的决定在cu级进行。在itu-th.265中,cu与在cu处具有其根的预测单元(pu)结构相关联。在itu-th.265中,pu结构允许分割亮度cb和色度cb以生成对应的参考样本。也就是说,在itu-th.265中,可将亮度cb和色度cb分割成相应的亮度和色度预测块(pb),其中pb包括应用了相同预测的样本值的块。在itu-th.265中,可将cb分成1、2或4个pb。itu-th.265支持从64×64样本向下至4×4样本的pb尺寸。在itu-th.265中,支持正方形pb来进行帧内预测,其中cb可形成pb,或者cb可被分割成四个正方形pb(即,帧内预测pb类型包括m×m或m/2×m/2,其中m为正方形cb的高度和宽度)。在itu-th.265中,除了正方形pb之外,还支持矩形pb来进行帧间预测,其中cb可垂直地或水平地减半以形成pb(即,帧间预测pb类型包括m×m、m/2×m/2、m/2×m或m×m/2)。此外,应当指出的是,在itu-th.265中,对于帧间预测,支持四个非对称pb划分,其中cb在cb的高度(顶部或底部)或宽度(左侧或右侧)的四分之一处被划分成两个pb(即,非对称划分包括m/4×m左、m/4×m右、m×m/4顶部和m×m/4底部)。对应于pb的帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)用于生成pb的参考和/或预测样本值。jem指定了具有最大尺寸的256×256亮度样本的ctu。jem指定了四叉树加二叉树(qtbt)块结构。在jem中,qtbt结构使四叉树叶节点能够通过二叉树(bt)结构进一步划分。也就是说,在jem中,二叉树结构使四叉树叶节点能够垂直或水平递归划分。图1示出了ctu(例如,具有256×256亮度样本的尺寸的ctu)被划分成四叉树叶节点并且四叉树叶节点根据二叉树进一步划分的示例。也就是说,在图1中,虚线指示四叉树中的附加二叉树划分。因此,jem中的二叉树结构实现了正方形和矩形叶节点,其中每个叶节点包括cb。如图1所示,包括在gop中的图片可包括片段,其中每个片段包括ctu序列,并且每个ctu可根据qtbt结构被划分。图1示出了包括在片段中的一个ctu的qtbt划分的示例。在jem中,通过用信号发送qt分割标记和bt分割模式语法元素来用信号发送qtbt。此外,在jem中,亮度和色度分量可具有单独的qtbt划分。也就是说,在jem中,可以通过用信号发送相应qtbt来独立地划分亮度分量和色度分量。目前,在jem中,对使用帧内预测技术的片段启用独立的qtbt结构。另外,应当指出的是,jem包括用信号发送qtbt树的以下参数。ctu尺寸:四叉树的根节点尺寸(例如,256×256、128×128、64×64、32×32、16×16亮度样本);minqtsize:最小允许的四叉树叶节点尺寸(例如,16×16、8×8亮度样本);maxbtsize:最大允许的二叉树根节点尺寸,即可通过二叉树分割来划分的四叉树叶节点的最大尺寸(例如,64×64个亮度样本);maxbtdepth:最大允许的二叉树深度,即可发生二叉树分割的最低位阶,其中四叉树叶节点为根(例如,3);minbtsize:最小允许的二叉树叶节点尺寸,即二叉树叶节点的最小宽度或高度(例如,4个亮度样本)。应当指出的是,在一些示例中,对于视频的不同分量,minqtsize、maxbtsize、maxbtdepth和/或minbtsize可不同。在jem中,cb用于预测而不需要任何进一步的划分。也就是说,在jem中,cb可以是对其应用相同预测的样本值的块。因此,jemqtbt叶节点可类似于itu-th.265中的pb。视频采样格式(也可以称为色度格式)可以相对于cu中包括的亮度样本的数量来定义cu中包括的色度样本的数量。例如,对于4∶2∶0采样格式,亮度分量的采样率是水平方向和垂直方向色度分量的两倍。因此,对于根据4∶2∶0格式格式化的cu,用于亮度分量的样本阵列的宽度和高度是用于色度分量的每个样本阵列的宽度和高度的两倍。图2是示出根据4∶2∶0样本格式格式化的编码单元的示例的概念图。图2示出了色度样本相对于cu内的亮度样本的相对位置。如上所述,通常根据水平和垂直亮度样本的数量来定义cu。因此,如图2所示,根据4∶2∶0样本格式格式化的16×16cu包括亮度分量的16×16个样本和用于每个色度分量的8×8个样本。此外,在图2所示的示例中,示出了16×16cu的相邻视频块的色度样本相对于亮度样本的相对位置。对于根据4∶2∶2格式格式化的cu,亮度分量的样本阵列的宽度是每个色度分量的样本阵列宽度的两倍,但是亮度分量的样本阵列的高度等于每个色度分量的样本阵列的高度。此外,对于根据4∶4∶4格式格式化的cu,亮度分量的样本阵列具有与每个色度分量的样本阵列相同的宽度和高度。如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前pb或另一类型的图片区域结构和相关联的参考样本(例如,使用预测生成的那些)中的样本值之间的差可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如离散余弦变换(dct)、离散正弦变换(dst)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在itu-th.265中,cu与在cu级具有其根的变换单元(tu)结构相关联。也就是说,在itu-th.265中,为了生成变换系数,可以对差值的阵列进行再分(例如,四个8×8变换可以应用于16×16残差值阵列)。对于视频数据的每个分量,差值的这种再分可被称为变换块(tb)。应当指出的是,在itu-th.265中,tb不一定与pb对准。图3示出了可用于编码特定cb的另选pb和tb组合的示例。此外,应当指出的是,在itu-th.265中,tb可具有以下尺寸4×4、8×8、16×16和32×32。在jem中,对应于cb的残差值用于生成变换系数而无需进一步划分。也就是说,在jem中,qtbt叶节点可以类似于itu-th.265中的pb和tb。应当指出的是,在jem中,可以(在视频编码器中)应用核心变换和后续二次变换来生成变换系数。对于视频解码器,变换的顺序是相反的。此外,在jem中,是否应用二次变换来生成变换系数可取决于预测模式。可以对变换系数执行量化处理。量化实质上对变换系数进行缩放以改变表示一组变换系数所需的数据量。量化可包括将变换系数除以量化缩放因子和任何相关联的取整函数(例如,取整为最接近的整数)。量化的变换系数可以被称为系数位阶值。逆量化(或“去量化”)可以包括将系数位阶值与量化缩放因子相乘。应当指出的是,如本文所用,术语量化过程在一些情况下可指除以缩放因子以生成位阶值,并且乘以缩放因子以在一些情况下恢复变换系数。也就是说,量化过程在一些情况下可以指量化,而在一些情况下可以指逆量化。图4a至图4b是示出对视频数据块进行编码的示例的概念图。如图4a所示,通过从当前视频数据块中减去一组预测值来生成残差,对该残差执行变换并且对变换系数进行量化以生成位阶值从而对当前视频数据块(例如,对应于视频分量的cb)进行编码。如图4b所示,通过对位阶值执行逆量化,执行逆变换,以及将一组预测值添加到所得到的残差来对当前视频数据块进行解码。应当指出的是,在图4a至图4b的示例中,重构块的样本值不同于被编码的当前视频块的样本值。这样,编码可被认为是有损的。然而,对于重构视频的观看者,样本值的差异可被认为是可接受的或不可察觉的。另外,如图4a至图4b所示,使用缩放因子阵列执行缩放。如图4a所示,可将量化的变换系数编码成比特流。可根据熵编码技术对量化的变换系数和语法元素(例如,指示视频块的编码结构的语法元素)进行熵编码。熵编码技术的示例包括内容自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)、概率区间划分熵编码(pipe)等。熵编码的量化变换系数和对应的熵编码语法元素可形成可用于在视频解码器处再现视频数据的兼容比特流。熵编码过程可包括对语法元素进行二值化。二值化是指将语法值的值转换为一个或多个比特的序列的过程。这些比特可以被称为“二进制位”。二值化是一个无损过程,并且可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断rice编码、golomb编码、k阶指数golomb编码和golomb-rice编码。例如,二值化可包括使用8位固定长度二值化技术将语法元素的整数值5表示为00000101,或者使用一元编码二值化技术将整数值5表示为11110。如本文所用,术语固定长度编码、一元编码、截断一元编码、截断rice编码、golomb编码、k阶指数golomb编码和golomb-rice编码中的每一个可以指这些技术的一般实现和/或这些编码技术的更具体实现。例如,可以根据视频编码标准(例如,itu-th.265)具体地定义golomb-rice编码实现。熵编码过程还包括使用无损数据压缩算法对箱值进行编码。在cabac的示例中,对于特定箱,可从与该箱相关联的一组可用上下文模型中选择一个上下文模型。在一些示例中,可以基于先前的箱和/或先前语法元素的值来选择上下文模型。上下文模型可以识别某个箱具有特定值的概率。例如,上下文模型可以指示对值为0的箱进行编码的概率为0.7,并且对值为1的箱进行编码的概率为0.3。应当指出的是,在一些情况下,编码0值的箱的概率和编码1值的箱的概率之和可不等于1。在选择可用的上下文模型之后,cabac熵编码器可以基于所识别的上下文模型对箱进行算术编码。可以基于已编码的箱的值来更新上下文模型。可基于与上下文一起存储的相关联的变量例如适应窗口尺寸、使用上下文编码的箱的数量,来更新上下文模型。应当指出的是,根据itu-th.265,可以实现cabac熵编码器,使得可以使用算术编码对一些语法元素进行熵编码而不使用明确指定的上下文模型,此类编码可以被称为旁路编码。如上所述,帧内预测数据或帧间预测数据可以将图片的区域(例如,pb或cb)与对应的参考样本相关联。对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在itu-th.265中,已定义的可能的帧内预测模式包括平面(即表面拟合)预测模式(predmode:0)、dc(即平坦的整体平均)预测模式(predmode:1),以及33个角度预测模式(predmode:2-34)。在jem中,定义的可能的帧内预测模式包括平面预测模式(predmode:0)、dc预测模式(predmode:1),以及65个角度预测模式(predmode:2-66)。应当指出的是,平面预测模式和dc预测模式可以被称为无方向预测模式,并且角预测模式可以被称为方向预测模式。应当指出的是,无论定义的可能的预测模式的数量如何,本文所述的技术通常都是适用的。对于帧间预测编码,运动向量(mv)识别除了待编码的视频块的图片之外的图片中的参考样本,从而利用视频中的时间冗余。例如,可以从位于先前编码的帧中的参考块预测当前视频块,并且可以使用运动向量来指示参考块的位置。运动向量和相关联的信息可描述例如运动向量的水平分量、运动向量的竖直分量、运动向量的分辨率(例如,四分之一像素精度、二分之一像素精度、一像素精度、二像素精度、四像素精度)、预测方向和/或参考图片索引值。此外,编码标准,诸如例如itu-th.265,可以支持运动向量预测。运动向量预测使能够基于另一运动向量来导出该运动向量的值。运动向量预测的示例包括高级运动向量预测(amvp)、时间运动向量预测(tmvp)、所谓的“合并”模式,以及“跳过”和“直接”运动推理。此外,jem支持高级时间运动向量预测(atmvp)和空间-时间运动向量预测(stmvp)。itu-th.265支持用于运动向量预测的两种模式:合并模式和所谓的高级运动向量预测(amvp)。在itu-th.265中,对于当前pb的合并模式和amvp两者,导出一组候选块。视频编码器和视频解码器两者执行相同的过程以导出一组候选。因此,对于当前视频块,在编码和解码期间生成相同组的候选。候选块包括具有相关联的运动信息的视频块,从该相关联的运动信息可导出用于生成当前视频块的预测的运动信息。对于itu-th.265中的合并模式,与所选择的候选相关联的所有运动信息(即运动向量位移值、参考图片索引和参考图片列表)被继承作为当前pb的运动信息。也就是说,在视频编码器处,从导出组的候选中选择候选块,并且包括在比特流中的索引值指示所选择的候选,并因此指示当前pb的运动信息。对于itu-th.265中的amvp,用于所选择的候选的运动向量信息被用作当前pb的运动向量的预测运动向量。也就是说,在视频编码器处,从导出组的候选中选择候选块,并且指示所选择的候选的索引值和指示预测运动向量与当前pb的运动向量之间的差值的增量值包括在比特流中。在itu-th.265中,可从空间相邻块和时间块导出一组候选块。此外,所生成的(或默认的)运动信息可用于运动向量预测。用于当前pb的运动向量预测的运动信息是否包括与空间相邻块相关联的运动信息、与时间块相关联的运动信息,或者所生成的运动信息取决于要包括在组中的候选的数量、是否启用时间运动向量预测、块的可用性和/或与块相关联的运动信息是否冗余。对于itu-th.265中的合并模式,可包括在一组候选块中的候选的最大数量可由视频编码器设置并用信号发送,并且最多可以是五个。此外,视频编码器可禁用时间运动向量候选的使用(例如,以便减少在视频解码器处存储运动信息所需的存储器资源的量),并且用信号发送是对图片启用还是禁用时间运动向量候选的使用。图5示出了可包括在itu-th.265中的合并模式的一组候选块中的空间相邻块和时间块的位置。itu-th.265中用于合并模式的候选组的导出包括确定a1、b1、b0、a0和b2的可用性。应当指出的是,如果块是帧内预测的(即不具有对应的运动信息)或不包括在当前片段(或图块)中,则该块被认为是不可用的。在确定a1、b1、b0、a0和b2的可用性之后,执行一组比较(如图5中的虚线箭头所示)以从候选组中移除冗余的条目。例如,将b2与b1进行比较,并且如果b1具有与b2相等的相关联运动信息,则将其从候选组中移除。从一组候选中移除条目可称为修剪过程。应当指出的是,在图5中,为了降低复杂性,不执行对候选的完整比较(例如,不将a0与b0进行比较),并且因此冗余的条目可能包括在候选组中。再次参考图5,标记为温度的虚线块是指可包括在候选组中的时间候选。在用于合并模式的itu-th.265中,对于时间候选,定义了包括在参考图片中的空间并置pu,并且该时间候选包括具有恰好位于并置pu(如果可用)的右下角外部的位置的块,或者位于并置pu的中心位置的块。如上所述,设置可包括在一组候选块中的候选的最大数量。如果候选的最大数量设置为n,则在可用空间候选(修剪后)和时间候选的数量大于或等于n的情况下,将n-1个空间候选和时间候选包括在该组中。在可用空间候选(修剪后)和时间候选的数量小于n的情况下,生成的运动信息包括在组中以填充该组。对于itu-th.265中的amvp,参考图6,候选组的导出包括基于a0、a1、b0、b1、b2的可用性将a0或a1(即左候选)中的一者和b0、b1或b2(上述候选)中的一者添加到组中。也就是说,将第一可用左候选和第一可用上述候选添加到该组中。当左候选和上述候选具有冗余的运动向量分量时,从该组中移除一个冗余的候选。如果包括在该组中的候选的数量小于两个,并且启用时间运动向量预测,则时间候选(温度)包括在该组中。在该组中包括的可用空间候选(修剪后)和时间候选的数量小于两个的情况下,该组中包括零值运动向量以便填充该组。如下面进一步详细描述的,itu-th.265中的运动向量预测技术可能不太理想。图7是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示可根据本公开的一个或多个示例使用运动向量预测技术执行视频编码的系统的示例。如图7所示,系统100包括源设备102、通信介质110和目标设备120。在图7所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码的视频数据发送到通信介质110的任何设备。目标设备120可包括被配置为经由通信介质110接收编码的视频数据并且对编码的视频数据进行解码的任何设备。源设备102和/或目标设备120可包括配备用于进行有线和/或无线通信的计算设备,并且可以包括机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、移动设备,包括例如“智能”电话、蜂窝电话、个人游戏设备和医学成像设备。通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合来运营。电信协议可以包括专有方面和/或可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(dvb)标准、高级电视系统委员会(atsc)标准、综合服务数字广播(isdb)标准、有线数据业务接口规范(docsis)标准、全球移动通信系统(gsm)标准、码分多址(cdma)标准、第3代合作伙伴计划(3gpp)标准、欧洲电信标准协会(etsi)标准、互联网协议(ip)标准、无线应用协议(wap)标准以及电气与电子工程师协会(ieee)标准。存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(ram)、动态随机存取存储器(dram)和静态随机存取存储器(sram)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(eprom)或电可擦除和可编程(eeprom)存储器的形式。存储设备可以包括存储卡(例如,安全数字(sd)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。再次参考图7,源设备102包括视频源104、视频编码器106和接口108。视频源104可包括配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可包括被配置为接收视频数据并生成表示视频数据的兼容比特流的任何设备。兼容比特流可以指视频解码器可以从其接收和再现视频数据的比特流。兼容比特流的各方面可根据视频编码标准来定义。当生成兼容比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(可觉察的或不可觉察的)或无损的。接口108可以包括被配置为接收兼容视频比特流并且将该兼容视频比特流传输和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以使兼容视频比特流能够存储在存储设备上。例如,接口108可以包括支持外围组件互连(peripheralcomponentinterconnec,pci)和高速外围组件互连(peripheralcomponentinterconnectexpress,pcie)总线协议的芯片集、专用总线协议、通用串行总线(universalserialbus,usb)协议、i2c、或任何其他可用于互连对等设备的逻辑和物理结构。再次参考图7,目标设备120包括接口122、视频解码器124和显示器126。接口122可包括被配置为从通信介质接收兼容视频比特流的任何设备。接口108可包括网络接口卡诸如以太网卡,并且可包括光收发器、射频收发器或者可接收和/或发送信息的任何其他类型的设备。此外,接口122可包括计算机系统接口,使得能够从存储设备检索兼容视频比特流。例如,接口122可包括支持pci和pcie总线协议、专用总线协议、usb协议、i2c的芯片组,或者可被用于互连对等设备的任何其他逻辑和物理结构。视频解码器124可包括被配置为接收兼容比特流和/或其可接受变体,并且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一种类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。应当指出的是,虽然在图7所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。图8是示出可实现本文所述的用于编码视频数据的技术的视频编码器200的示例的框图。应当指出的是,尽管示例性视频编码器200被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频编码器200和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器200的功能。在一个示例中,视频编码器200可被配置为根据本文所述的技术对视频数据进行编码。视频编码器200可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图8所示的示例中,视频编码器200接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可包括宏块、ctu、cb、其子分区和/或另一等效编码单元。在一些示例中,视频编码器200可被配置为执行源视频块的附加细分。应当指出的是,本文所述的一些技术可通常适用于视频编码,而不管在编码之前和/或期间如何划分源视频数据。在图8所示的示例中,视频编码器200包括求和器202、变换系数生成器204、系数量化单元206、逆量化/变换处理单元208、求和器210、帧内预测处理单元212、帧间预测处理单元214、滤波器单元216和熵编码单元218。如图8所示,视频编码器200接收源视频块并输出比特流。视频编码器200可通过从源视频块中减去预测视频块来生成残差数据。求和器202表示被配置为执行该减法运算的部件。在一个示例中,减去视频块出现在像素域中。变换系数生成器204将变换,诸如离散余弦变换(discretecosinetransform,dct)、离散正弦变换(discretesinetransform,dst)或概念上类似的变换,应用到其残余块或子分区(例如,可以将四个8×8变换应用于16×16残差值阵列)以生成一组残差变换系数。变换系数生成器204可以被配置为执行离散三角变换系列中包括的变换的任何和全部组合。变换系数生成器204可将变换系数输出到系数量化单元206。系数量化单元206可被配置为执行变换系数的量化。如上所述,可以通过调整量化参数来修改量化程度。系数量化单元206可进一步被配置为确定量化参数(qp)并且输出qp数据(例如,用于确定量化组尺寸和/或增量qp值的数据),视频解码器可使用该qp数据来重构量化参数以在视频解码期间执行逆量化。应当注意的是,在其他示例中,可以使用一个或多个附加或另选的参数来确定量化位阶(例如,缩放因子)。本文所述的技术通常可应用于基于对应于视频数据的另一分量的变换系数的量化位阶,确定对应于视频数据的分量的变换系数的量化位阶。如图8所示,量化的变换系数被输出到逆量化/变换处理单元208。逆量化/变换处理单元208可被配置为应用逆量化和逆变换来生成重构的残差数据。如图8所示,在求和器210处,重构的残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得到的重构的视频块来评估给定的预测、变换和/或量化的编码质量。视频编码器200可被配置为执行多个编码回合(例如,在改变预测、变换参数和量化参数中的一个或多个的同时执行编码)。比特流的率失真或其他系统参数可以基于重构的视频块的评估来优化。此外,重构的视频块可被存储并用作预测后续块的参考。如上所述,可使用帧内预测模式对视频块进行编码。帧内预测处理单元212可被配置为针对当前视频块选择帧内预测模式。帧内预测处理单元212可被配置为评估帧和/或其区域并且确定用于对当前块进行编码的帧内预测模式。如图8所示,帧内预测处理单元212将帧内预测数据(例如,语法元素)输出到熵编码单元218和变换系数生成器204。如上所述,可能的帧内预测模式可以包括平面预测模式、dc预测模式和角预测模式。帧间预测处理单元214可被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元214可被配置为接收源视频块并且计算视频块的pu的运动信息。运动向量可以指示当前视频帧内的视频块的pu(或类似的编码结构)相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。例如,帧间预测处理单元214可以定位帧缓冲器内的预测视频块(图8中未示出)。需注意,帧间预测处理单元214可以进一步被配置为将一个或多个内插滤波器应用于重构的残差块,以计算用于运动估计的子整数像素值。此外,运动预测可以是单向预测(使用一个运动向量)或双向预测(使用两个运动向量)。帧间预测处理单元214可被配置为通过计算由例如绝对差之和(sad)、平方差之和(ssd)或其他差值度量确定的像素差来选择预测块。帧间预测处理单元214可将所计算的运动向量的运动预测数据输出到熵编码单元218。如上所述,可根据运动向量预测技术来确定和指定运动信息。帧间预测处理单元214可被配置为执行运动向量预测技术。如上所述,itu-th.265中提供的运动向量预测技术可能不太理想。具体而言,参考图9,图9示出了ctu的示例性pb划分以及空间相邻视频块(画有交叉阴影线pba0、pba1、pbb0、pbb1和pbb0)的位置,这些空间相邻视频块可包括在根据上述itu-th.265中的合并模式的导出过程而导出的一组候选中。在一些情况下,pba0、pba1、pbb0、pbb1和pbb0中的每个可具有相关联的运动信息,如果使用itu-th.265合并模式选择这些信息,则会导致对pb当前的低质量预测。在这种情况下,根据itu-th.265中提供的运动向量预测技术,使用根据上述itu-th.265中的amvp技术使用增量值和预测运动向量用信号发送的运动信息生成对pb当前的预测可能更有效。表1示出了itu-th.265中提供的在amvp中用信号发送增量值的语法。应当指出的是,在表1中,ae(v)描述符指示上下文自适应算术熵编码的语法元素。表1itu-th.265为语法元素abs_mvd_greater0_flag、abs_mvd_greater1_flag、abs_mvd_minus2_flag和mvd_sign_flag提供以下语义:abs_mvd_greater0_flag[compidx]指定运动向量分量差的绝对值是否大于0。abs_mvd_greater1_flag[compidx]指定运动向量分量差的绝对值是否大于1。当abs_mvd_greater1_flag[compidx]不存在时,推断其等于0。abs_mvd_minus2[compidx]plus2指定运动向量分量差的绝对值。当abs_mvd_minus2[compidx]不存在时,推断其等于-1。mvd_sign_flag[compidx]指定运动向量分量差的符号,如下所示:-如果mvd_sign_flag[compidx]等于0,则对应的运动向量分量差具有正值。-否则(mvd_sign_flag[compidx]等于1),对应的运动向量分量差具有负值。当mvd_sign_flag[compidx]不存在时,推断其等于0。如上所述,二值化是指将语法值的值转换为一个或多个比特的序列的过程,并且各种编码技术可用于二值化。表2:itu-th.265中针对语法元素abs_mvd_greater0_flag、abs_mvd_greater1_flag、abs_mvd_minus2_flag和mvd_sign_flag提供的二值化。表2相对于表2,itu-th.265提供了对固定长度(fl)二值化的以下描述:通过使用symbolval符号值的固定长度位无符号整数二进制字符串重构fl二值化,其中fixedlength=ceil(log2(cmax+1))。fl二值化的二进制位的索引使得binldx=0与最高有效位关联,其中binldx的值朝最低有效位递增。此外,相对于表2,itu-th.265提供了对k阶exp-golomb(egk)二值化的以下描述:每个symbolval值的egk二值化过程的二进制字符串指定如下,其中函数put(x)的每次调用(x等于0或1)在二进制字符串的末尾添加该二进制值x:在一些情况下,在amvp中提供的用信号发送增量可能是低效的。也就是说,例如,用信号发送大于2的增量值对于abs_mvd_greater0_flag、abs_mvd_greater1_flag中的每个均需要一个位。因此,根据本文所述的技术,为视频编码器200提供一种机制以增加与预测运动向量候选相关联的相关联运动信息可用于运动向量预测的方式可能是有用的。应当指出的是,本文所述的技术可独立于其他运动向量预测技术和/或与其他运动向量预测技术组合使用。例如,在一些具体实施中,视频编码器200可启用或禁用各种运动向量预测技术。根据本文所述的技术,视频编码器200可被配置为导出候选组的预测运动向量起点和对应的采样图。运动向量起点提供相关联运动信息,并且用作采样图的方向和距离的起点。因此,在一些示例中,运动向量起点可包括具有相关联运动信息的视频块,可从该相关联运动信息导出用于生成对当前视频块的预测的运动信息,并因此可类似于候选块。采样图用于识别具有对应的偏移值的采样点。偏移值可用于修改与起点处的视频块相关联的运动信息。该修改的运动信息可用于生成预测。例如,该修改的运动信息可由当前pb继承来生成预测。在一个示例中,根据本文所述的技术,类似于如上所述导出一组候选,视频编码器和视频解码器两者执行相同的过程以导出候选组的预测运动向量起点。因此,在一些示例中,根据上述技术导出的候选块可用作运动向量起点。在其他示例中,可使用不同的技术来导出一组预测运动向量起点。例如,一组运动向量预测起点可包括与根据上述技术导出的那些视频块相比位于距当前块更大的空间和/或时间距离处的视频块。在一个示例中,如下面进一步详细描述的,视频编码器200可被配置为用信号发送与预测运动向量起点相对应的采样图并用信号发送采样点。因此,在一些情况下,用信号发送采样图和用信号发送采样点的过程可以是相互关联和互换的。例如,在一些情况下,视频编码器200可评估(即根据比特流语法)启用的用信号发送的所有可能的采样图,选择可使用可能的采样图用信号发送的所得的预测运动向量(例如,最佳预测运动向量),并选择可能的采样图和对应采样点中的一者,使所选择的运动能够被识别。图10是示出根据本公开的一种或多种技术的预测运动向量起点和采样图的概念图。如上所述,预测运动向量起点具有相关联运动信息,并且采样图用于识别具有对应的偏移值的采样点。如图10所示,定义起点,并使用方向(即东、南、西和北)和单位距离(即0、1)相对于起点来指定采样图上的采样点。表3示出了对应于图10中的采样图上的每个采样点的偏移的示例。如上所述,偏移可用于修改对应于起点的运动向量。例如,如果起点的相关联运动向量等于(10,20),则可将采样点北1添加到预测运动向量(10,24)的运动信息中。在一个示例中,对于当前pb,预测运动向量(10,24)可被继承以生成预测。在一个示例中,对于当前pb,可将增量值添加到预测运动向量(10,24)以生成预测。东北西南0(+2,0)(0,+2)(-2,0)(0,-2)1(+4,0)(0,+4)(-4,0)(0,-4)表3应当指出的是,用于指定图10所示的方向和距离的示例性约定不应被解释为限制本文所述的技术的范围。例如,在其他示例中,可使用其他约定来指示方向(例如,弧度、度数等)。此外,在一些示例中,每个方向上的采样点的密度可能不均匀。应当指出的是,在一些示例中,用信号发送具有任意方向和密度的采样图可被启用。在一些情况下,采样图可被分类为具有指示方向和/或密度的定义的形状。例如,图10和图11中的每个采样图可被分类为矩形形状,并且图10所示的采样图可被细分为加号形状采样图,并且图11所示的采样图可被细分为具有x形状采样图。表4示出了对应于图11中的采样图上的每个采样点的偏移的示例。nenwswse0(+2,+2)(-2,+2)(-2,-2)(+2,-2)1(+4,+4)(-4,+4)(-4,-4)(+2,-4)表4另一种可能的形状分类可包括菱形分类,其中围绕一条轴的密度大于围绕另一条轴的密度。例如,北轴/南轴包括四个采样点,并且东轴/西轴包括8个采样点。如下面进一步详细描述的,根据定义的形状对采样图进行分类在用信号发送采样图给视频解码器,并因此识别预测运动向量方面可能是有用的。例如,可使用一位标记来指示矩形采样图和菱形采样图中的一者。此外,如进一步详细描述的,起始角度值可用于对形状进行细分。例如,0度的起始角可指示加号形状,并且45度的起始角可指示x形状。应当指出的是,图10中的加号形采样图和图11中的x形采样图在每个方向上具有相同数量的方向和密度。在这种情况下,可使用通用语法来指定用于指示这些采样图中的每个采样图的采样点的方向和采样(例如,每个采样点的两位语法元素)。在其他示例中,具有不同形状的采样图可具有不同的方向的密度(2个、4个、6个、8个方向等)以及每个方向上的不同的密度(例如2、4等)。在这种情况下,用于指定方向和单位距离的语法可以所指示的采样图为条件。应当指出的是,在其他示例中,可使用数学公式来定义采样图。此外,应当指出的是,在一些示例中,可根据一个或多个查找表来索引预先确定的采样图(或其部件)。在一些示例中,根据本文所述的技术,对应于采样点的偏移可基于当前视频块的上下文。例如,如果相邻视频块的运动向量具有相对较大的一个和/或多个值,则增大可用于修改与运动向量预测起点相关联的运动信息的值偏移可能是有用的。例如,在运动向量起点的相关联运动向量等于(10,20)的情况下,缩放偏移值以便生成具有较大值的运动向量预测,并因此提高运动向量预测的质量可能是有用的。表5示出了示例,其中,表3的示例中示出的这些偏移中的每个偏移都取决于第一条件(条件1)或第二条件(条件2)中的一个条件被满足。例如,如果相邻视频块的运动向量的量值小于阈值,则可满足第一条件,并且如果相邻运动向量的量值小于或等于阈值,则可满足第二条件。表5根据本文所述的技术,对应于采样点的偏移可基于以下各项中的一者或多者:cu/pu尺寸(宽度和高度)、当前片段与参考片段之间的图片顺序计数(poc)距离、相邻运动向量或运动向量增量值、相邻运动向量与运动向量增量值的方差、时间深度、划分深度、片段类型(p或b)、帧间预测类型(前向、后向、双预测)、量化参数、解码器侧运动向量导出工具的存在(例如帧速率上转换(fruc))、cu级编码或pu级编码,以及累积统计值。在一个示例中,采样图的偏移的默认值可以是预定义的(例如,根据视频编码标准),或者可以在参数集、片段标头或补充消息中用信号发送。在一个示例中,对每个编码视频序列(cvs)、随机接入点、图片、片段、图块、ctu、cu或pu执行采样图的更新。例如,在一个示例中,表3中包括的偏移可表示可对于图片中包括的每个片段更新的图片的默认值。如上所述,可基于当前视频块的上下文来缩放或修改片段的当前偏移。在一个示例中,对于每个采样点,可基于当前视频块的上下文将特定增量值(正或负)添加到当前偏移值。增量值可根据采样点位置和上述条件中的一者或多者具有不同的值。也就是说,对应于采样点的偏移可基于默认值、用信号发送的更新值,并且可基于当前视频块的上下文由增量值来缩放和/或修改。如上所述,在一些示例中,视频编码器200可被配置为用信号发送对应于预测运动向量起点的采样图。在一个示例中,视频编码器200可被配置为基于可包括在相对较高级别语法(例如,参数集诸如视频参数集(vps)、序列参数集(sps)、图片参数集(pps)或片段标头)中的以下示例性语法元素来用信号发送采样图:presence_flag指示视频块(例如,cu)语法中mode_flag的存在以及较高级别语法(例如,vps、sps、pps或片段标头)中语法元素num_mv_origin、num_sampling_points、num_direction、starting_angle、num_sampling_dir、sm_shape和scale_from_sm_to_motion_distance的存在,并且指示在当前序列、图片或片段中是否启用基于采样图的运动向量预测。num_mv_origin指示运动向量起点的数量。如果不存在,则将该字段的值设定为等于0。num_sampling_points指示采样图中的采样点的总数量。注意:例如,图10中的采样图包括8个采样点。num_direction指示采样图中的方向的数量。注意:例如,当num_direction等于4时可使用方向0(e)、90(n)、180(w)和270(s),并且当num_direction等于8时,使用方向0(e)、45(ne)、90(n)、135(nw)、180(w)、225(sw)、270(s)和315(se)。在一些示例中,方向的数量可根据以下函数来指定:方向的数量等于2num_direction。注意:根据图片、片段、图块、搜索范围或时空相邻运动向量的上下文的边界,一些方向可能不可用。然后,采样点将仅存在于可用方向上。starting_angle指示第一方向的角度,以度为单位。该角度值从东方向逆时针增大。该字段的值应大于或等于0,并且应小于或等于360。如果不存在,则将该字段的值设定为等于0。num_sampling_dir指示采样图中的每个方向的采样点的数量。sm_shape指示采样图的形状。sm_shape等于0指示矩形形状,sm_shape等于1指示菱形形状。实际采样点图由num_direction、num_sampling_dir、starting_angle和sm_shape的组合来确定。注意:例如,sm_shape等于0、num_direction等于4并且starting_angle等于0可指示上述加号形状,而sm_shape等于0、num_direction等于4并且starting_angle等于45可指示上述x形状。scale_from_pdf_to_motion_distance指示将sm_distance转换为图像域中的运动向量距离的缩放因子。如果不存在,则将该字段的值设定为等于1。以及可包括在相对较低级别语法(例如,cu语法)中的以下语法元素:mode_flag指示origin_index、sm_direction、sm_distance的存在,并且指示使用基于采样图的运动向量预测。注意:在一些示例中,当skip_flag等于1时,可在skip_flag之后定位mode_flag。origin_index指示导出的预测运动向量起点中的哪个用作当前视频块(例如,cb、cu、pu、pb)的预测运动向量起点。sm_direction指示为当前视频块的采样点选择哪个方向。注意:在一些示例中,sm_direction可被二值化为多个标记,这些标记指示例如北/南、西/东、对角线。sm_distance指示针对当前视频块的采样点所选择的距起点的距离。以指示所选择的预测运动向量起点及其相关联运动信息、所选择的采样点及其对应的偏移值。如上所述,与所选择的运动向量预测起点和对应于所选择的采样点的偏移值相关联的运动信息可用于运动向量预测。应当指出的是,在一些示例中,sm_distance指示用于确定采样点距起点的距离的感知索引。像素分辨率的实际距离可从以下过程导出:mv_distance=pdf[sm_distance]*scale_from_pdf_to_motion_distancepdf[x]将由sm_distance指示的感知距离转换为像素域中的实际距离。pdf[x]可以是预定义的,或者可以在vps/sps/pps/片段标头中用信号发送。pdf[x]可以在每个ctu/cu处更新。根据包括cu/pu尺寸(宽度和高度)、当前片段与参考片段之间的poc距离、相邻mv或mvd值、相邻mv与mvd值的方差、分层b结构中的时间深度、qt、bt或qtbt组合的深度、片段类型(p或b)、帧间预测类型(前向、后向、双向预测)、量化参数、解码器侧运动向量导出工具(例如,fruc)的存在、cu级别或pu级别编码以及累积统计值的上下文,cu的每个起点可具有不同的pdf[x]。如果通过以上语法元素和pdf[x]确定采样点,则确定运动向量x值和y值。可将指示帧间预测的方向(例如,前向、后向或双向预测)的inter_pred_idc的值、指示参考图片索引的ref_idx_1x设置为等于起点向量的值。因此,在一个示例中,通过将图10中的偏移相关联采样点北1添加到图9中的与pbb2相关联的运动信息而形成的运动向量预测可如下用信号发送:presence_flag指示真。num_mv_origin指示在导出组的预测运动向量起点中包括pbb2的数量。num_sampling_points指示8个采样点。num_direction指示4(即基于形状的方向0(e)、90(n)、180(w)和270(s)或45(ne)、135(nw)、225(sw)和315(se))。starting_angle指示0,以区分加号形状与x形状。num_sampling_dir指示2种采样点(即0或1)。sm_shape指示矩形。mode_flag指示真。origin_index指示pbb2。sm_direction指示n、w、s和e中的n。sm_distance指示从图10中的1开始。应当指出的是,在一些示例中,对于每个预测运动向量起点可如下定义不同的点分布函数(pdf):注意:运动向量x和运动向量y可被修剪以位于搜索范围之内。应当指出的是,上述示例性语法元素定义了启用的用信号发送的可能的采样图。因此,视频编码器可使用语法元素来确定可用信号发送的可能的采样图。图12是示出根据本公开的一种或多种技术的用于使用预测运动向量起点和采样图进行运动向量预测的过程的流程图。视频编码器200可被配置为基于图12所示的示例性过程300来执行运动向量预测。视频编码器200导出一组预测运动向量起点(302)。如上所述,可以与导出一组预测运动向量候选类似的方式导出一组预测运动向量起点。视频编码器200确定起点的可能的采样图(304)。如上所述,语法元素定义启用的用信号发送的可能的采样图。视频编码器200基于上下文导出采样点的偏移值(306)。例如,如上所述,视频编码器200可基于一个或多个条件被满足来修改当前偏移值。视频编码器200选择预测运动向量起点、采样图和采样点(308)。视频编码器200用信号发送所选择的预测运动向量起点、所选择的采样图和所选择的采样点(310)。也就是说,如上文的示例中所述,视频编码器200设置包括在比特流中的语法元素的值以指示运动向量预测。这样,视频编码器200表示设备的示例,该设备被配置为确定当前视频块的所选择的预测运动向量起点、确定该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、确定所选择的采样点、至少部分地基于与所选择的预测运动向量起点相关联的运动信息和对应于所选择的采样点的偏移值来确定预测运动向量,以及使用该确定的预测运动向量生成对当前视频块的预测。应当指出的是,基于上文的示例性语法,在用信号发送origin_index之后,附加语法元素sm_direction和sm_distance可根据确定偏移值所施加的上下文条件来指示若干个可能的偏移值中的一个偏移值。例如,可使用两位来指示方向值,并且可使用一位来指示单位距离0或1中的一者。因此,在该示例中,根据本文所述的技术,一旦指示了运动向量预测起点,就可使用信令开销中的3位来修改与预测运动向量相关联的运动信息,该运动信息可用于指示各种预测运动向量值。如上所述,itu-th.265包括用于从候选组中移除冗余的预测运动向量候选的技术。在itu-th.265中,预测运动向量候选的冗余源是运动信息,即两个候选具有相等的运动向量。如上所述,根据本文所述的技术,每个预测运动向量起点包括相关联运动信息,可为每个预测运动向量起点定义采样图,并且可基于上下文来修改采样图。因此,根据采样图和上下文,如果两个预测运动向量起点包括相对接近的运动向量,则当将对应于相应采样图的采样点的偏移应用于该预测运动向量起点的相对运动向量时,可导致冗余。例如,表6示出了示例,其中第一预测运动向量(mvp起点1)的运动向量为(10,20),并且第二预测运动向量(mvp起点2)的运动向量为(22,20)。在表6所示的示例中,当满足第一条件时,第一预测运动向量起点的偏移对应于表3所示的示例,并且当满足第二条件时,第二预测运动向量起点的偏移对应于表3所示的示例。表6中的每个条目包括所得的预测运动向量值。表6如表6所示,这些条目中的一些条目是冗余的。例如,可使用第一预测运动向量的采样点(东1和西1)来指示从第二预测运动向量起点的西方向的采样点所得的预测运动向量(即(14,20)和(6,20))。根据本文的技术,当预测运动向量起点导致冗余的预测运动向量或可能导致冗余的预测运动向量起点时,可修改预测运动向量起点、与其相关联的运动信息和/或采样图。应当指出的是,视频编码器和视频解码器可执行用于确定预测运动向量起点是否可能导致冗余的预测运动向量的相同过程,并因此执行该相同过程以减轻冗余。在一个示例中,可基于相应运动向量的分量在值上相等(例如,如果x1=x2或y1=y2)和/或相应运动向量的一个或多个分量在值上相对接近(例如,x1-x2小于或等于阈值,其中该阈值等于4、8、16等)来确定预测运动向量的起点是否可能导致冗余的预测运动向量。在一个示例中,如果预测运动向量起点可能导致冗余的预测运动向量,则可为每个预测运动向量起点定义一个或多个新的采样图。表7示出了示例,其中对于对应于表6的示例,定义了新的联合采样图并将其应用于第一预测运动向量起点和第二预测运动向量起点中的每个起点。在表7所示的示例中,通过取每个采样点处的偏移值的平均值来生成新的偏移值。在其他示例中,可使用其他技术来生成新的采样图和/或联合采样图。例如,第二预测运动向量起点的采样图的一个或多个方向的偏移值可被移位(例如,对于每个竖直偏移+10)。表7在一个示例中,如果预测运动向量起点可能导致冗余的预测运动向量,则可修改mvp起点中的一个起点的运动信息。表8示出了示例,其中对于对应于表6的示例,修改了与第二预测运动向量起点相关联的运动信息。表8在一个示例中,根据本文的技术,当预测运动向量起点导致冗余的预测运动向量或可能导致冗余的预测运动向量时,可根据修剪过程从候选组的预测运动向量起点中移除预测运动向量起点。例如,在类似于上文相对于itu-th.265所述的修剪过程中。在一个示例中,可将新的预测运动向量起点候选添加到候选组中。例如,表8中所示的示例可对应于其中移除第二预测运动向量起点并替换为新的预测运动向量候选的示例。在一个示例中,新的候选可以是根据候选导出过程的下一个预测运动向量起点候选。在一个示例中,新的预测运动向量起点候选可以从预测运动向量起点候选的组合导出。在一个示例中,如果预测运动向量起点可能导致冗余的预测运动向量,则可组合运动向量起点的运动信息并且/或者可为每个预测运动向量起点定义一个或多个新的采样图。表9示出了示例,其中对于对应于表6的示例,通过组合第一预测运动向量起点和第二预测运动向量起点的运动信息创建了新的运动信息,并且定义了新的联合采样图并将其应用于该新的运动信息。表9在一个示例中,如果预测运动向量起点可能导致冗余的预测运动向量,则可从候选组的预测运动向量起点中移除该预测运动向量起点,并且可扩展未被移除的预测运动向量起点的采样图以包括被移除的预测运动向量起点的采样图。表10示出了示例,其中对于对应于表6的示例,移除了第二预测运动向量起点,并且扩展了第一预测运动向量起点的采样图以包括对应于该第二预测运动向量起点的采样图的采样点。表10在一个示例中,如果预测运动向量起点可能导致冗余的预测运动向量,则可组合预测运动向量起点,并且可将两个采样图应用于该组合的预测运动向量起点。表11示出了示例,其中对于对应于表6的示例,组合了预测运动向量并且组合了采样图。表11如上所述,pdf将感知距离转换为像素域中的实际距离。在一个示例中,当将两个或更多个预测运动向量起点组合时,可通过每个预测运动向量起点的pdf的组合来确定组合的预测运动向量的pdf。例如,如果第一预测运动向量起点和第二预测运动向量起点具有以下pdf值:pdf1[10]={1,2,4,8,12,16,24,32,48,64}pdf2[10]={2,4,8,12,16,24,32,48,64,80}则组合的预测运动向量起点的pdf可具有以下pdf值;pdf1+2[10]={3,6,12,20,28,40,56,80,112,144}。在一个示例中,可根据当前帧与参考帧之间的图片顺序计数(poc)距离来缩放偏移值。例如,在当poc距离等于1时偏移值等于x的情况下,如果另一参考帧的poc距离等于4,则该偏移值可被缩放为4x。此外,在双向预测的情况下,如果前向预测的偏移值等于x,则后向预测的偏移值可以为-x(例如,当绝对距离相同时)。再次参考图8,如图8所示,帧间预测处理单元214可经由滤波器单元216接收重构的视频块,该滤波器单元可以是环路内滤波处理的一部分。滤波器单元216可被配置为执行解块和/或样本自适应偏移(sao)滤波。解块是指平滑化重构视频块边界的过程(例如,使观察者不易察觉到边界)。sao滤波是一种可用于通过向重构的视频数据添加偏移以改善重构的非线性振幅映射。熵编码单元218接收量化的变换系数和预测语法数据(即帧内预测数据、运动预测数据和qp数据等)。熵编码单元218可被配置为根据本文中所描述的技术中的一种或多种执行熵编码。熵编码单元218可被配置为输出兼容比特流(即视频解码器可从其接收和再现视频数据的比特流)。图13是示出根据本公开的一种或多种技术可被配置为对视频数据进行解码的视频解码器示例的框图。在一个示例中,视频解码器400可被配置为基于上文所述的技术中的一种或多种来重构视频数据。也就是说,视频解码器400可以与上文所述的视频编码器200互逆的方式操作。视频解码器400可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。在图13所示的示例中,视频解码器400包括熵解码单元402、逆量化单元404、逆变换处理单元406、帧内预测处理单元408、帧间预测处理单元410、求和器412、滤波器单元414和参考缓冲器416。视频解码器400可被配置为以与视频编码系统一致的方式对视频数据进行解码,该视频编码系统可以实现视频编码标准的一个或多个方面。应当指出的是,尽管示例性视频解码器400被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频解码器400和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器400的功能。如图13所示,熵解码单元402接收熵编码的比特流。熵解码单元402可被配置为根据与熵编码过程互逆的过程对来自比特流的量化语法元素和量化系数进行解码。熵解码单元402可被配置为根据上文所述的熵编码技术中的任何一种来执行熵解码。熵解码单元402可以与视频编码标准一致的方式对编码的比特流进行解析。视频解码器400可被配置为对基于上文所述的技术所生成的编码的比特流进行解析。逆量化单元404从熵解码单元402接收量化变换系数(即,位阶值)和量化参数数据。量化参数数据可包括上面描述的增量qp值和/或量化组尺寸值等的任何和所有组合。视频解码器400和/或逆量化单元404可被配置为基于由视频编码器用信号发送的值和/或通过视频属性和/或编码参数来确定用于逆量化的qp值。也就是说,逆量化单元404可以与上文所述的系数量化单元206互逆的方式操作。逆量化单元404可被配置为应用逆量化。逆变换处理单元406可被配置为执行逆变换以生成重构的残差数据。分别由逆量化单元404和逆变换处理单元406执行的技术可类似于由上文所述的逆量化/变换处理单元208执行的技术。逆变换处理单元406可被配置为应用逆dct、逆dst、逆整数变换、不可分二次变换(nsst)或概念上类似的逆变换过程来变换系数,以便生成像素域中的残差块。此外,如上所述,是否执行特定变换(或特定变换的类型)可以取决于帧内预测模式。如图13所示,可将重构的残差数据提供给求和器412。求和器412可将重构的残差数据添加到预测视频块并且生成重构的视频数据。如上所述,可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。帧内预测处理单元408可被配置为接收帧内预测语法元素并且从参考缓冲器416检索预测视频块。参考缓冲器416可包括被配置为存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。在一个示例中,帧内预测处理单元408可使用根据本文所述的帧内预测编码技术中的一种或多种来重构视频块。帧间预测处理单元410可接收帧间预测语法元素并生成运动向量,以识别存储在参考缓冲器416中的一个或多个参考帧中的预测块。帧间预测处理单元410可生成运动补偿块,也可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以被包括在语法元素中。帧间预测处理单元410可使用内插滤波器来计算参考块的子整数像素的内插值。如上所述,视频解码器400可解析编码的比特流,其中该编码的比特流基于上述技术而生成,并且如上所述,视频编码器200可根据上述运动向量预测技术生成比特流。图14是示出根据本公开的一种或多种技术的用于使用预测运动向量起点和采样图进行运动向量预测的过程的流程图。视频解码器400可被配置为基于图14所示的示例性过程500来执行运动向量预测。视频解码器400导出一组预测运动向量起点(502)。如上所述,可以与导出一组预测运动向量候选类似的方式导出一组预测运动向量起点。视频解码器400确定所选择的预测运动向量起点(504)。例如,视频解码器400可基于类似于上述示例性语法元素origin_index的语法元素的值确定所选择的预测运动向量起点。视频解码器400确定所选择的预测运动向量起点的采样图(506)。例如,视频解码器400可基于类似于上述示例性语法元素num_sampling_points、num_direction、num_sampling_dir和sm_shape的语法元素的值来确定采样图。视频解码器400基于上下文导出采样点的偏移值(508)。例如,如上所述,视频解码器300可基于一个或多个条件被满足来修改当前偏移值。视频解码器400确定所选择的采样点(508)。例如,视频解码器400可基于类似于上述示例性语法元素sm_direction和sm_distance的语法元素的值来确定所选择的采样点。视频解码器400基于与所选择的预测运动向量起点相关联的运动向量和对应于所选择的采样点的偏移来确定运动向量预测(510)。例如,视频解码器400可将该偏移添加到该运动向量。视频解码器400使用所选择的候选生成预测(512)。例如,在一个示例中,对于当前视频块,视频解码器400可使用预测运动向量作为运动向量来生成预测。在一个示例中,视频解码器400可将增量值添加到预测运动向量来生成预测。这样,视频编码器200表示设备的示例,该设备被配置为确定当前视频块的所选择的预测运动向量起点、确定该预测运动向量起点的采样图、导出与该采样图上的采样点相对应的偏移值、确定所选择的采样点、至少部分地基于与所选择的预测运动向量起点相关联的运动信息和对应于所选择的采样点的偏移值来确定预测运动向量,以及使用该确定的预测运动向量生成对当前视频块的预测。再次参考图13,滤波器单元414可被配置为对重构的视频数据执行滤波。例如,滤波器单元414可被配置为执行解块和/或sao滤波,如上文相对于滤波器单元216所述的。此外,应当指出的是,在一些示例中,滤波器单元414可被配置为执行专用的任意滤波(例如,视觉增强)。如图13所示,视频解码器400可输出重构的视频块。在一个或多个示例中,所描述的功能可以通过硬件、软件、固件或其任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从某个地方传输到另一个地方的任何介质的通信介质。这样,计算机可读介质通常可对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。以举例而非限制的方式,此类计算机可读存储介质可包括ram、rom、eeprom、cd-rom或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器,或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(dsl)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、dsl或无线技术诸如红外线、无线电和微波都包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(cd)、激光盘、光学光盘、数字通用光盘(dvd)、软磁盘及blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。可以由一个或多个处理器诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效集成或离散逻辑电路执行指令。因此,如本文所使用的术语“处理器”可以指任何前述结构或适用于实现本文所述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。本公开的技术可以在各种设备或装置包括无线手机、集成电路(ic)或一组ic(例如,芯片组)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,组合合适的软件和/或固件来提供各种单元。此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实施或执行。被设计为执行本说明书中所述的功能的电路可包括通用处理器、数字信号处理器(dsp)、专用或通用集成电路(asic)、现场可编程门阵列(fpga),或其他可编程逻辑设备、分立栅极或晶体管逻辑器,或分立硬件部件,或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。<交叉引用>本非临时专利申请根据《美国法典》第35卷第119节(35u.s.c.§119)要求于2018年1月30日提交的临时申请62/624,005、2018年2月2日提交的临时申请62/625,825的优先权,这两个申请的全部内容据此以引用方式并入。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1