运动矢量精度(MV)的选择和信令的制作方法

文档序号:19735803发布日期:2020-01-18 04:26阅读:370来源:国知局
运动矢量精度(MV)的选择和信令的制作方法

相关申请案交叉申请

本申请要求于2018年5月17日递交的发明名称为“运动矢量(mv)精度的选择和信令”的第15/982,865号美国非临时专利申请的在先申请优先权,其又要求由华为科技有限公司于2017年6月12日递交的发明名称为“运动矢量预测和合并候选选择”的第62/518,402号美国临时专利申请的在先申请优先权,其全部内容以引入的方式并入本文。

关于由联邦政府赞助研究或开发的声明

不适用。

参考缩微胶片附录

不适用。



背景技术:

由于视频使用的数据较多,因此视频通信使用的带宽较多。然而,许多网络在其带宽容量内或带宽容量附近运行。此外,客户对视频质量的要求很高,需要使用更多的数据。因此,人们希望既减少视频使用的数据量,又提高所述视频质量。一种解决方案是在编码过程中对视频进行压缩,在解码过程中对所述视频进行解压。改善压缩和解压技术是研究和开发的重点。



技术实现要素:

根据本发明的一方面,提供一种装置,包括:存储器;以及耦合至所述存储器的处理器,用于:获取视频帧的当前块;获取所述视频帧的相邻块对应的候选mv,其中,所述相邻块与所述当前块相邻;获取所述候选mv的精度;基于取整方案对所述精度进行第一取整;基于所述第一取整对所述候选mv进行第二取整;对所述候选mv进行修剪;基于所述第二取整和所述修剪生成候选列表。

可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述相邻块包括第一相邻块和第二相邻块,其中,所述精度包括所述第一相邻块的第一精度和所述第二相邻块的第二精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述取整方案包括:将所述第一精度取整到所述当前块的目标精度;将所述第二精度取整到所述目标精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述取整方案包括:从所述第一精度、所述第二精度和所述当前块的目标精度中的任意组合中确定出最低精度;将所述第一精度、所述第二精度或所述目标精度中的至少一种精度取整到所述最低精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述取整方案包括:从所述第一精度、所述第二精度和所述当前块的目标精度中的任意组合中确定出中值精度;将所述第一精度、所述第二精度或所述目标精度中的至少一种精度取整到所述中值精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述取整方案包括:从所述第一精度、所述第二精度和所述当前块的目标精度中的任意组合中确定出最高精度;将所述第一精度、所述第二精度或所述目标精度中的至少一种精度取整到所述最高精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述取整方案包括:确认默认精度,将所述第一精度、所述第二精度或所述当前块的目标精度中的至少一种精度取整到所述默认精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述修剪包括丢弃相同候选mv或次相同候选mv。

可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述修剪还包括:添加零mv以填充所述候选列表。

可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述处理器还用于:在所述修剪之前,进一步执行所述第一取整和所述第二取整。

可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述处理器还用于:在所述修剪之后,进一步执行所述第一取整和所述第二取整。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述候选列表为amvp候选列表。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述候选列表为合并候选列表。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述处理器还用于:从所述候选列表中选择最终候选mv;并在编码视频中指示所述最终候选mv。

根据本发明的另一方面,提供了一种方法,包括:获取视频帧的当前块;获取所述视频帧的相邻块对应的候选mv,其中,所述相邻块与所述当前块相邻;获取所述候选mv的精度;基于取整方案对所述精度进行第一取整;基于所述第一取整对所述候选mv进行第二取整;对所述候选mv进行修剪;基于所述第二取整和所述修剪生成候选列表。

可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述相邻块包括第一相邻块和第二相邻块,其中,所述精度包括所述第一相邻块的第一精度和所述第二相邻块的第二精度,所述取整方案包括:将所述第一精度取整到所述当前块的目标精度;将所述第二精度取整到所述目标精度。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述方法还包括:从所述候选列表中选择最终候选mv;在编码视频中指示所述最终候选mv;传输所述编码视频。

根据本发明的又一方面,提供了一种装置,包括:接收器,用于接收编码视频,其中,所述编码视频包括指示所述编码视频的部分的标头,所述标头包括所述部分中编码模式的所有mv的精度;处理器,耦合至所述接收器,用于对所述编码视频进行解码,以基于所述精度获得解码视频;显示器,耦合至所述处理器并用于显示所述解码视频。

可选地,根据上述任意一方面,在所述方面的另一种实现方式中,所述部分为条带、区域、ctu或编码区块。

可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述精度为四分之一像素精度、半像素精度、整数像素精度和四像素精度中的一种。

上述任何实施例均可与上述任何其它实施例结合,以创建新的实施例。通过以下结合附图和权利要求的详细描述,这些以及其它特征将会被更清楚地理解。

附图说明

为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。

图1为编码系统的示意图;

图2是视频帧的一部分的示意图;

图3是本发明实施例提供的生成候选列表的方法的流程图;

图4是本发明实施例提供的装置的示意图。

具体实施方式

首先应理解,尽管下文提供一项或多项实施例的说明性实现方式,但所公开的系统和/或方法可使用任何数量的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。

以下缩略语和首字母缩写词适用:

amvp:高级运动矢量预测

asic:专用集成电路

cpu:中央处理器

ctu:编码树单元

dsp:数字信号处理器

eo:电光转换

fpga:现场可编程门阵列

itu:国际电信联盟

itu-t:itu电信标准化部门

lcd:液晶显示器

mv:运动矢量

oe:光电转换

pps:图片参数集

ram:随机存取存储器

rf:射频

rom:只读存储器

rx:接收单元

sps:序列参数集

sram:静态ram

tcam:三重内容寻址内存

tx:发射单元

图1为编码系统100的示意图。所述编码系统100包括源设备110、介质150和目标设备160。所述源设备110和所述目标设备160是移动电话、平板电脑、台式计算机、笔记本电脑或其它合适的设备。所述介质150为本地网络、无线网络、互联网或其它合适的介质。

所述源设备110包括视频生成器120、编码器130和输出接口140。所述视频生成器120为适于生成视频的摄像头或其它设备。所述编码器130可以称为编码解码器。所述编码器130根据一组规则进行编码,例如2016年10月的“高效视频编码”,itu-th.265(“h.265”)中所述,所述规则以引入的方式并入本文。所述输出接口140是适于向所述目标设备160传输数据的天线或其它组件。或者,所述视频生成器120、所述编码器130和所述输出接口140处于任意合适的设备组合中。

所述目的设备160包括输入接口170、解码器180和显示器190。所述输入接口170是适于从所述源设备110接收数据的天线或其它组件。所述解码器180也可以称为编码解码器。所述解码器180根据一组规则,例如h.265中所述的规则进行解码。所述显示器190是适合显示视频的lcd屏幕或其它组件。或者,所述输入接口170、所述解码器180和所述显示器190处于任意合适的设备组合中。

在操作中,在所述源设备110中,所述视频生成器120捕获视频,所述编码器130对所述视频进行编码以创建编码视频,并且所述输出接口140通过所述介质150向所述目标设备160传输所述编码视频。所述源设备110可以本地存储所述视频或所述编码视频,或者所述源设备110可以指示将所述视频或所述编码视频存储在其它设备上。所述编码视频包括在各级定义的数据,包括条带和块。条带是所述编码器130与所述视频帧中的任何其它区域分别编码的视频帧的空域。块为矩形排列的一组像素,例如8像素×8像素的正方形。块也可以称为单元或编码单元。其它级别包括区域、ctu和编码区块。在所述目标设备160中,所述输入接口170从所述源设备110接收所述编码视频,所述解码器180对所述编码视频进行解码,得到解码视频,所述显示器190显示所述解码视频。与所述编码器130对所述视频进行编码相比,所述解码器180可以对所述编码视频进行反向解码。所述目标设备160本地存储所述编码视频或所述解码视频,或者所述目标设备160指示将所述编码视频或所述解码视频存储在其它设备上。

编码和解码一起称为编码。编码包括帧内编码和帧间编码,可分别称为帧内预测和帧间预测。帧内预测实现空间预测,以减少视频帧内的空间冗余。帧间预测实现时间预测,以减少连续视频帧之间的时间冗余。

图2是视频帧的一部分200的示意图。所述部分200包括当前块210和相邻块a0220、a1230、b2240、b1250和b0260。所述当前块210被称为当前块,因为所述编码器130当前正在对其进行编码。所述相邻块220-260被称为相邻块,因为它们与所述当前块210相邻。所述相邻块a0220处于左下角的位置,所述相邻块a1230处于左下侧的位置,所述相邻块b2240处于左上角的位置,所述相邻块b1250处于右上侧的位置,所述相邻块b0260处于右上角的位置。在帧间预测中,所述编码器130基于所述相邻块220-260的mv确定所述当前块210的mv。当所述编码器130对所述当前块210进行编码时,所述相邻块220-260的所述mv是已知的。

amvp和合并是所述编码器130可用于确定所述当前块210的所述mv的两种编码模式。在amvp中,所述编码器130通过依次扫描所述相邻块220-260来确定mv候选列表,如下所示:a0220、a1230、a0220的缩放版本、a1230、b0260、b1250、b2240的缩放版本、b0260的缩放版本、b1250的缩放版本、b2240的缩放版本、右下时的同位候选、中心时的同位候选和零mv。从所述候选列表中,所述编码器130选择最佳候选并指示信号中的所述最佳候选至所述目标设备160。在合并中,所述编码器130通过依次扫描相邻块确定mv的候选列表,如下所示:a1230、b1250、b0260、a0220、b2240、右下时的同位候选、中心时的同位候选和零mv。从所述候选列表中,所述编码器130选择最佳候选并指示信号中的所述最佳候选至所述目标设备160。虽然amvp和合并扫描所述相邻块220-260,但其它编码模式可以扫描未示出的不同相邻块。

amvp和合并都定义了mv的精度。精度表示作为定义mv的乘数的像素之间的距离。在精度中,像素可以称为pel。因此,精度包括四分之一像素精度、半像素精度、整数像素精度和四像素精度。四分之一像素精度以像素之间四分之一的距离定义mv,使得所述mv可以为0.25、0.5、0.75、1.0、1.25等。所述编码器130将精度编码为条带头中的标志。条带头是条带信号开始处的一个标头,表示适用于整个条带的数据。或者,所述编码器130将精度编码为块头中的标志或其它数据。

amvp和合并都定义了确定其候选列表合格候选的规则。例如,如果两个候选mv相同,则所述编码器130移除其中一个候选mv。所述编码器130继续应用这些规则,直到其以允许的最大候选数填充所述候选列表。当所述候选mv具有相同的精度时,就可以很好地定义这些规则。然而,人们期望为具有不同精度的候选mv提供高效的编码规则。

此处公开的是用于mv精度的选择和信令的实施例。本实施例提供了获取具有不同精度的mv、以统一方式取整这些精度、取整mv以及生成候选列表的方法。本实施例还提供了所述条带、区域、ctu或编码区块级别的信令精度。本实施例应用于amvp、合并和其它合适的编码模式。

amvp候选列表生成

在amvp候选列表生成的第一实施例中,所述编码器130考虑三个精度:第一相邻块220-260的第一精度、第二相邻块220-260的第二精度和所述当前块210的第三精度。例如,所述编码器130考虑所述相邻块220、所述相邻块230和所述当前块210的精度。所述第三精度可以称为目标精度,因为其与所述当前块210相关联,其中,所述当前块210是编码的目标。采用所述三种精度,所述编码器130执行以下伪码:

所述伪码实现如下规则:如果所述目标精度使用最高精度,则所述编码器130将所述第一精度和所述第二精度向上取整到所述目标精度。如果所述目标精度使用最低精度,则所述编码器130将所述第一精度和所述第二精度向下取整到所述目标精度。否则,所述编码器130将所述第一精度或所述第二精度中较低的那个精度向上取整到所述目标精度,所述编码器130将所述第一精度或所述第二精度中较高的那个精度向下取整到所述目标精度。较低表示数值较低,较高表示数值较高。因此,四分之一像素精度0.25低于整数像素精度1.0。

在取整所述精度之后,所述编码器130基于这些精度向上或向下取整所述候选mv。例如,如果候选mv为1.25且原始精度为0.25,并且如果所述目标精度为0.5,则所述编码器130将所述候选mv向上取整到1.5。原始精度是在所述编码器130根据上述伪码向上或向下取整该精度之前mv的精度。最后,对于每个候选mv,所述编码器130确定相同候选mv或次相同候选mv是否已经在候选列表中。如果不是,则所述编码器130将所述候选mv添加到所述候选列表中。如果是,则所述编码器130丢弃所述候选mv。次相同表示在预定义的阈值内相同。

在第一种可选方案中,roundmvprecisiontolow()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定最低精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向下取整到该精度。在第二种可选方案中,roundmvprecisiontolow()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度和所述第二精度中确定最低精度,然后将所述第一精度和所述第二精度中被保留的那个精度向下取整到该精度。在第三种可选方案中,roundmvprecisiontohigh()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定最高精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向上取整到该精度。在第四种可选方案中,roundmvprecisiontohigh()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度和所述第二精度中确定最高精度,然后将所述第一精度和所述第二精度中被保留的那个精度向上取整到该精度。

在第五种可选方案中,roundmvprecisiontodefault()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130向上或向下取整所述第一精度和所述第二精度到默认精度。所述编码器130可以首先从其它设备接收信号中的所述默认精度。在第六种可选方案中,roundmvprecisiontomedian()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定中值精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向上或向下取整到该精度。如果所述编码器130考虑偶数个精度,则所述中值精度可以为两个中值精度的平均值。

在amvp候选列表生成的第二实施例中,所述编码器130考虑所述当前块210的所述目标精度。利用所述目标精度,所述编码器130执行以下伪码:

在所述伪码中,diffmotion()中的mvlxm和mvlxn可以是mvlxa、mvlxb或mvlxcol。

所述伪码为diffmotion()实现如下规则:对于每个候选mv,所述编码器130确定相同候选mv或次相同候选mv是否已经在候选列表中。如果不是,则所述编码器130将所述候选mv添加到所述候选列表中。如果是,则所述编码器130丢弃所述候选mv。因此,所述编码器130首先在候选mv原始精度中考虑所述候选mv。

在移除相同候选mv或次相同候选mv后,如果目标精度使用最高精度,则所述编码器130将候选精度向上取整到所述目标精度。所述候选精度为所述相邻块220-260的精度。如果目标精度使用最低精度,则所述编码器130将所述候选精度向下取整到所述目标精度。否则,所述编码器130将较低的候选精度向上取整到所述目标精度,所述编码器130将较高的候选精度向下取整到所述目标精度。

在取整所述精度之后,所述编码器130基于这些精度向上或向下取整所述候选mv。对于每个候选mv,所述编码器130确定相同候选mv或次相同候选mv是否已经在候选列表中。如果不是,则所述编码器130将所述候选mv保留在所述候选列表中。如果是,则所述编码器130将所述候选mv从所述候选列表中丢弃。如果diffmotion()返回1,则两个候选mv不是相同或次相同的。如果diffmotion()返回0,则两个候选mv相同或次相同。最后,如果所述候选列表未满,则所述编码器130插入0值的候选mv以填充缺失的点。例如,若所述候选列表中有10个mv,但所述候选列表中只剩下8个mv,则所述编码器插入2个0值的mv。

在第一种可选方案中,diffmotion()运行,使得所述编码器130从第一相邻块220-260的第一精度、第二相邻块220-260的第二精度和所述目标精度中确定最低精度,然后将所有剩余候选精度向下取整到该精度。在第二种可选方案中,diffmotion()运行,使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定最高精度,然后将所有剩余候选精度向上取整到该精度。在第三种可选方案中,diffmotion()运行,使得所述编码器130将所述候选精度向上或向下取整,以达到默认精度。所述编码器130可以首先从其它设备接收信号中的所述默认精度。在第四种可选方案中,diffmotion()运行,使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定中值精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向上或向下取整到该精度。如果所述编码器130考虑偶数个精度,则所述中值精度可以为两个中值精度的平均值。

在上述实施例中,在所述编码器130生成amvp候选列表之后,可以选择最终候选mv。所述编码器130可以基于已知的各种准则来执行此操作。一旦所述编码器130执行此操作,所述编码器130可以在所述编码视频中指示所述最终候选mv。所述编码器130可以不比较第一精度和第二精度,而比较所有候选精度。

合并候选列表生成

在合并候选列表生成的第一实施例中,所述编码器130考虑三个精度:第一相邻块220-260的第一精度、第二相邻块220-260的第二精度和所述当前块210的目标精度。合并候选列表生成的所述第一实施例与amvp候选列表生成的所述第一实施例类似。采用所述三种精度,所述编码器130执行以下伪码:

所述伪码为diffmotions()实现如下规则:如果所述目标精度使用最高精度,则所述编码器130将所述第一精度和所述第二精度向上取整到所述目标精度。如果所述目标精度使用最低精度,则所述编码器130将所述第一精度和所述第二精度向下取整到所述目标精度。否则,所述编码器130将所述第一精度或所述第二精度中较低的那个精度向上取整到所述目标精度,所述编码器130将所述第一精度或所述第二精度中较高的那个精度向下取整到所述目标精度。

在取整所述精度之后,所述编码器130基于这些精度向上或向下取整所述候选mv。最后,对于每个候选mv,所述编码器130确定相同候选mv或次相同候选mv是否已经在候选列表中。如果不是,则所述编码器130将所述候选mv添加到所述候选列表中。如果是,则所述编码器130丢弃所述候选mv。如果diffmotion()返回1,则两个候选mv不是相同或次相同的。如果diffmotion()返回0,则两个候选mv相同或次相同。

在第一种可选方案中,roundmvprecisiontolow()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定最低精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向下取整到该精度。在第二种可选方案中,roundmvprecisiontolow()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度和所述第二精度中确定最低精度,然后将所述第一精度和所述第二精度中被保留的那个精度向下取整到该精度。在第三种可选方案中,roundmvprecisiontohigh()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定最高精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向上取整到该精度。在第四种可选方案中,roundmvprecisiontohigh()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度和所述第二精度中确定最高精度,然后将所述第一精度和所述第二精度中被保留的那个精度向上取整到该精度。

在第五种可选方案中,roundmvprecisiontodefault()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130向上或向下取整所述第一精度和所述第二精度到默认精度。所述编码器130可以首先从其它设备接收信号中的所述默认精度。在第六种可选方案中,roundmvprecisiontomedian()替换伪码中的roundmvprecisiontotarget(),使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定中值精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向上或向下取整到该精度。如果所述编码器130考虑偶数个精度,则所述中值精度可以为两个中值精度的平均值。

在合并候选列表生成的第二实施例中,所述编码器130考虑所述当前块210的所述目标精度。合并候选列表生成的所述第二实施例与amvp候选列表生成的所述第二实施例类似。采用所述目标精度,所述编码器130执行以下伪码:

所述伪码为prunelist()实现如下规则:如果目标精度使用最高精度,则所述编码器130将候选精度向上取整到目标精度。所述候选精度为所述相邻块220-260的精度。如果目标精度使用最低精度,则所述编码器130将所述候选精度向下取整到所述目标精度。否则,所述编码器130将较低的候选精度向上取整到所述目标精度,所述编码器130将较高的候选精度向下取整到所述目标精度。

在取整所述精度之后,所述编码器130基于这些精度向上或向下取整所述候选mv。对于每个候选mv,所述编码器130确定相同候选mv或次相同候选mv是否已经在候选列表中。如果不是,则所述编码器130将所述候选mv添加到所述候选列表中。如果是,则所述编码器130丢弃所述候选mv,并将i减1。最后,如果所述候选列表未满,则所述编码器130插入0值的候选mv以填充缺失的点。例如,若所述候选列表中有10个mv,但所述候选列表中只剩下8个mv,则所述编码器130插入2个0值的mv。

在第一种可选方案中,prunelist()运行,使得所述编码器130从第一相邻块220-260的第一精度、第二相邻块220-260的第二精度和所述目标精度中确定最低精度,然后将所有剩余候选精度向下取整到所述精度。在第二种可选方案中,prunelist()运行,使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定最高精度,然后将所有剩余候选精度向上取整到所述精度。在第三种可选方案中,prunelist()运行,使得所述编码器130将所述候选精度向上或向下取整,以达到默认精度。所述编码器130可以首先从其它设备接收信号中的所述默认精度。在第四种可选方案中,prunelist()运行,使得所述编码器130从所述第一精度、所述第二精度和所述目标精度中确定中值精度,然后将所述第一精度、所述第二精度或所述第一精度和所述第二精度均向上或向下取整到该精度。如果所述编码器130考虑偶数个精度,则所述中值精度可以为两个中值精度的平均值。

在合并候选列表生成的第三实施例中,所述编码器130考虑所述当前块210的所述目标精度。合并候选列表生成的所述第三实施例与合并候选列表生成的所述第二实施例类似。然而,与合并候选列表生成的所述第二实施例不同的是:合并候选列表生成的所述第二实施例在检查所述候选列表是否具有相同候选mv或次相同候选mv之前执行prunelist(),而合并候选列表生成的所述第三实施例是在检查候选列表之后执行prunelist()。采用所述目标精度,所述编码器130执行以下伪码:

在上述实施例中,在所述编码器130生成合并候选列表之后,可以选择最终候选mv。所述编码器130可以基于已知的各种准则来执行此操作。一旦所述编码器130执行此操作,所述编码器130可以在所述编码视频中指示所述最终候选mv。

精度信令

在精度信令的第一实施例中,所述编码器130对条带头中的mv的精度进行如下编码:

如上所示,所述条带头指示单个编码模式的所有mv的精度,所述单个编码模式可以是amvp或合并。

在精度信令的第二实施例中,所述编码器130对条带头中的mv的确度进行如下编码:

如上所示,所述条带头指示多种编码模式下所有mv的精度,所述多种编码模式可以包括amvp和合并。

在精度信令的第三实施例中,所述编码器130对条带头中的mv的精度进行如下编码:

如上所示,所述条带头指示多种编码模式下所有mv的精度,所述多种编码模式可以包括amvp和合并。信令的所述第三实施例与信令的所述第二实施例类似,但使用不同的语法。

在精度信令的第四实施例中,所述编码器130对编码单元标题中的mv的精度进行如下编码:

如上所示,所述编码单元标题指示单个编码模式的所有mv的精度,所述单个编码模式可以是amvp或合并。

在精度信令的第五实施例中,所述编码器130对编码单元标题中的mv的精度进行如下编码:

如上所示,所述编码单元标题指示多种编码模式下所有mv的精度,所述多种编码模式可以包括amvp和合并。

在精度信令的第六个实施例中,所述编码器130以{mvr1,mvr2,…,mvrn}的形式对sps中所有允许的精度进行编码。对于每个条带头,所述编码器130还对条带头索引进行编码,该索引指示将应用于对应条带中的块的其中一个精度。例如,所述sps为{四分之一像素,整数像素,四像素},条带头索引可以为:00,表示四分之一像素;01,表示整数像素;或者11,表示四像素。

在精度信令的第七个实施例中,所述编码器130以{mvr1,mvr2,…,mvrn}的形式对sps中所有允许的精度进行编码。对于每个条带头,所述编码器130还对多个条带头指数进行编码,该指数指示将应用于所述对应条带中的块的精度。例如,所述sps为{四分之一像素,整数像素,四像素},所述条带头指数可以为以下值的任意组合:00,表示四分之一像素;01,表示整数像素;或者11,表示四像素。

在精度信令的第八个实施例中,所述编码器130以{mvr1,mvr2,…,mvrn}的形式对sps中所有允许的精度进行编码。对于每个条带头,所述编码器130还对条带头索引进行编码,该索引指示将应用于所述对应条带中的块的那些精度的子集。例如,所述sps为{四分之一像素,整数像素,四像素},所述条带头索引可以为:00,表示{四分之一像素,整数像素};01,表示{四分之一像素,四像素};或者10,表示{整数像素,四像素}。

在精度信令的第九个实施例中,所述编码器130以{mvr1,mvr2,…,mvrn}的形式对sps中所有允许的精度进行编码。对于每个条带头,所述编码器130还对一个条带头索引进行编码,该索引指示除了其直接更精细或更粗略的精度之外,还要应用于所述对应条带中的块中的其中一个精度。例如,当所述条带头指示更精细的精度时,所述sps为{四分之一像素,整数像素,四像素},所述条带头索引可以为:00,表示{四分之一像素};01,表示{四分之一像素,整数像素};或者10,表示{整数像素,四像素}。或者,当所述当条带头指示更粗略的精度时,所述条带头索引可以为:00,表示{四分之一像素,整数像素};01,表示{整数像素,四像素};或者10,表示{四像素}。

在精度信令的第十个实施例中,所述编码器130以{mvr1,mvr2,…,mvrn}的形式对sps中所有允许的精度进行编码。对于每个条带头,所述编码器130还对条带头索引进行编码,该索引指示将应用于所述对应条带中的块的精度。对于每个块头,所述编码器130还对块头索引进行编码,其中,所述块头索引指示要应用于所述对应块的其中一个精度。例如,所述sps为{四分之一像素,整数像素,四像素},第一条带头指数0表示{四分之一像素,整数像素},所述第一条带头中的第一块头指数0表示四分之一像素,所述第一条带头中的第二块头指数1表示整数像素,第二条带头指数1表示{整数像素,四像素},所述第二条带头中的第三块头指数0表示整数像素,所述第二条带头中的第四块头指数1表示四像素。

在上述实施例中,所述编码器130可以在区域级别、ctu级别或编码区块级别对所述标头指数进行编码,而不是在条带级别对标头指数进行编码。尽管所述指数表示为特定的二进制数,但可以使用任何二进制数或其它数字。所述编码器130可以不指示sps中的所有精度,而指示pps中的所有精度。所述编码器130可以不比较第一精度和第二精度,而比较所有候选精度。

图3是本发明实施例提供的生成候选列表的方法300的流程图。所述编码器130执行所述方法300。在步骤310中,获取视频的当前块。例如,所述编码器130获取所述当前块210。在步骤320中,获取所述视频的相邻块对应的候选mv。所述相邻块与所述当前块相邻。例如,所述编码器130获取所述相邻块220-260对应的候选mv。在步骤330中,获取候选mv的精度。

在步骤340中,基于取整方案执行所述精度的第一取整。例如,所述取整方案是上述的所述取整方案之一。因此,所述取整方案可以包括:取整到目标精度;从所述相邻块220-260的精度中取整到最低精度、中值精度或最高精度;将所述相邻块220-260和所述目标块的精度中取整到最低精度、中值精度或最高精度;或取整到默认精度。在步骤350中,基于所述第一取整进行所述候选mv的第二取整。例如,所述编码器130确定步骤340的精度,并基于该精度向上或向下取整所述候选mv。

在步骤360,对所述候选mv进行修剪。例如,如上所述完成所述修剪。因此,所述修剪可以包括丢弃相同候选mv、丢弃次相同候选mv或添加零mv以填充候选列表。最后,在步骤370中,基于所述第二取整和所述修剪生成候选列表。所述候选列表可以是如上所述的amvp候选列表或合并候选列表。

图4是本发明实施例提供的装置400的示意图。所述装置400可以实现所公开的实施例。所述装置400包括:入端口410和rx420,用于接收数据;处理器、逻辑单元、基带单元或cpu430,用于处理所述数据;tx440和出端口450,用于传输所述数据;存储器460,用于存储所述数据。所述装置400还可以包括耦合到所述入端口410的oe组件、eo组件或rf组件;所述rx420、所述tx440和所述出端口450,用于光、电或rf信号输入和输出。

所述处理器430是硬件、中间件、固件或软件的任意组合。所述处理器430包括一个或多个cpu芯片、核心、fpga、asic或dsp的任意组合。所述处理器430与所述入端口410、所述rx420、所述tx440、所述出端口450和所述存储器460通信。所述处理器430包括编码组件470,其实现所公开的实施例。因此,所述编码组件470的组成大大改进了所述装置400的功能,并实现所述装置400不同状态的转变。或者,所述存储器460将所述编码组件470存储为指令,所述处理器430执行这些指令。

所述存储器460包括磁盘、磁带驱动器或固态驱动器的任意组合。当所述装置400选择要执行的程序时,所述装置400可以使用所述存储器460作为溢流数据存储设备来存储程序,并存储所述装置400在执行这些程序期间读取的指令和数据。所述存储器460可以是易失性或非易失性的,并且可以是rom、ram、tcam或sram的任意组合。

在一示例性实施例中,一种装置包括:存储元件;以及耦合到所述存储元件的处理器元件,用于:获取视频帧的当前块;获取所述视频帧的相邻块对应的候选mv,其中,所述相邻块与所述当前块相邻;获取所述候选mv的精度;基于取整方案对所述精度进行第一取整;基于所述第一取整对所述候选mv进行第二取整;对所述候选mv进行修剪,基于所述第二取整和所述修剪生成候选列表。

虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或合并。展示或论述为耦合的其它项可以直接耦合或者可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离本文公开的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1