CN110740330A - 一种子块运动候选的冗余校验的方法及设备 - Google Patents
一种子块运动候选的冗余校验的方法及设备 Download PDFInfo
- Publication number
- CN110740330A CN110740330A CN201911013203.3A CN201911013203A CN110740330A CN 110740330 A CN110740330 A CN 110740330A CN 201911013203 A CN201911013203 A CN 201911013203A CN 110740330 A CN110740330 A CN 110740330A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- redundancy check
- sub
- subblock
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种子块运动候选的冗余校验的方法及设备,该设备包括:获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,得到至少一个子块运动矢量候选;将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。本发明提供的子块运动候选的冗余校验的方法及设备,解决了目前针对子块合并候选列表的所有子块运动矢量候选执行冗余校验造成的计算复杂度大的问题。
Description
本申请要求在2018年10月24日提交美国专利局、申请号为62/750,046、申请名称为“Redundancy Checking of the Sub-block Motion Candidates”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及视频编码和压缩技术领域,特别涉及一种子块运动候选的冗余校验的方法及设备。
背景技术
在对视频数据进行处理时可以使用各种视频编码技术来压缩视频数据。视频编码是根据一个或多个视频编码标准来执行的。例如,视频编码标准包括多功能视频编码(VVC)、联合勘探测试模型(JEM)、高效率视频编码(High Efficient Video Coding,HEVC)、高级视频编码(AVC)、运动图像专家组(MPEG)编码等。视频编码通常利用视频图像或视频序列中存在冗余的预测方法(例如,帧间预测、帧内预测等)。视频编码技术的一个重要目标是将视频数据压缩为使用较低比特率的形式,同时避免或最小化对视频质量的下降。
在VVC中,图像划分结构将输入视频分为称为编码树单元(CTU)的块,具有嵌套多类型树的四叉树将一个CTU划分为编码单元CU,每个CU可以具有针对每个预测方向的至多一组运动参数。通过将大CU划分成子块并且推导针对大CU的所有子块的运动信息,得到基于VCU的运动预测。在进行运动矢量预测时可以采用不同的预测方法。可选时域运动矢量预测(Alternative Temporal Motion Vector Prediction,ATMVP)方法允许每个CU从比并列参考图像中的当前CU小的多个块中提取多组运动信息。在空-时运动矢量预测(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通过使用时域运动矢量预测器和空域相邻运动矢量来递归地推导出子块的运动矢量。
VVC中在推导出子块的运动矢量后,在构建子块合并候选列表的过程中会对子块运动矢量候选进行冗余校验,这样确保了具有相同运动信息的候选子块被排除在列表之外,从而提高了编码效率,然而目前针对子块合并候选列表所有候选子块执行冗余校验会造成较大的计算复杂度,因此需要提出减少计算复杂度的冗余校验方法。
发明内容
本发明提供了一种子块运动候选的冗余校验的方法及设备,用以解决现有仿射运动交织预测导致的高内存访问宽带的问题。
根据本发明实施例的第一方面,提供一种子块运动候选的冗余校验的方法,该方法包括:
获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;
将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,得到至少一个子块运动矢量候选;
将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;
利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。
根据本发明实施例的第二方面,提供一种子块运动候选的冗余校验的设备,包括:
编码单元确定模块,用于获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;
候选预测模块,用于将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,得到至少一个子块运动矢量候选;
候选分组模块,用于将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;
冗余校验模块,用于利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。
可选地,候选分组模块确定各分组对应的冗余校验方法,包括:
确定任一分组对应的冗余校验方法为对全部的子块运动矢量候选进行冗余校验的完全冗余校验方法,或为对部分的子块运动矢量候选进行冗余校验的部分冗余校验,或为不对子块运动矢量候选进行冗余校验的无冗余校验方法。
可选地,候选预测模块利用运动矢量预测方法预测各子块的运动矢量,包括:
利用仿射运动补偿预测方法确定各子块的运动矢量;或者
利用时域运动矢量预测ATMVP方法确定各子块的运动矢量;或者
利用空-时域运动矢量预测STMVP方法确定各子块的运动矢量;或者
利用非子块时域运动矢量预测方法确定各子块的运动矢量;或者
利用平面MV运动矢量预测方法确定各子块的运动矢量。
可选地,候选预测模块利用仿射运动补偿预测方法确定各子块的运动矢量时,冗余校验模块对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的控制点的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
可选地,候选预测模块利用ATMVP或STMVP或非子块时域运动矢量预测确定各子块的运动矢量时,冗余校验模块对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
可选地,候选分组模块根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法,包括:
根据各分组利用的运动矢量预测方法对应的冗余校验方法,确定该分组对应的冗余校验方法,其中,预先建立不同运动矢量预测方法与冗余校验方法的映射关系,任一运动矢量预测方法对应的冗余校验方法为全部冗余校验方法或部分冗余校验方法或无冗余校验方法。
可选地,候选分组模块预先建立不同运动矢量预测方法与冗余校验方法的映射关系,包括:
确定不同运动矢量预测方法映射的冗余校验方法均为部分冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定不同运动矢量预测方法映射的冗余校验方法均为完全冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法。
可选地,候选分组模块确定任一分组对应的冗余校验方法为部分冗余校验方法时,冗余校验模块对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
选择指定位置的N个子块进行冗余校验,所述N的取值大于1且小于分组内子块的总数。
可选地,冗余校验模块选择指定位置的N个子块进行冗余校验,包括:
选择分组中位于中心位置的中心子块,进行冗余校验;或
选择分组中位于至少一个边角位置的中心子块,进行冗余校验;或
选择分组中位于中心位置的中心子块和位于至少一个边角位置的中心子块,进行冗余校验。
可选地,所述子块运动候选的冗余校验的设备还包括运动补偿确定模块,冗余校验模块根据冗余校验结果得到子块合并候选列表之后,还包括:
运动补偿确定模块利用子块合并候选列表中的子块运动矢量候选,得到当前CU的每个子块的运动矢量,并根据参考图像帧,并确定每个子块的运动补偿值。
根据本发明实施例的第三方面,提供一种子块运动候选的冗余校验的设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,实现如上述第一方面任一所述的子块运动候选的冗余校验的方法的步骤。
根据本发明实施例的第四方面,提供一种芯片,所述芯片与设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现本申请实施例上述各个方面以及各个方面涉及的任一可能设计的方法。
根据本发明实施例的第五方面,提供一种计算机可读存储介质,该计算机存储介质存储有程序指令,当其在计算机上运行时,使得计算机执行本发明实施例上述各个方面以及各个方面涉及的任一可能设计的方法。
根据本发明实施例的第六方面,提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本申请实施例上述各个方面以及各个方面涉及的任一可能设计的方法。
利用本发明提供的子块运动候选的冗余校验的方法及设备,具有以下有益效果:
本发明提供的子块运动候选的冗余校验的方法及设备,对子块运动矢量候选进行分组,并利用不同的冗余校验方法对各分组内的子块运动矢量候选进行冗余校验,解决了目前针对子块合并候选列表的所有子块运动矢量候选执行冗余校验造成的计算复杂度大的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提供的一种子块运动候选的冗余校验的方法示意图;
图2为本发明实施例提供的VVC中的4参数仿射模型和6参数仿射模型的示意图;
图3为本发明实施例提供的一种ATMVP的运动矢量预测示意图;
图4为本发明实施例提供的一种STMVP的运动矢量预测的示意图;
图5为本发明实施例提供的一种非子块ATMVP的运动矢量预测的示意图;
图6为本发明实施例提供的一种包括子块运动的两个编码块的子块索引示意图;
图7为本发明实施例中提供的子块运动候选的冗余校验的设备示意图;
图8为本发明实施例中提供的子块运动候选的冗余校验的设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
1)运动补偿预测(Motion Compensation Prediction,MCP):是对视频图像进行压缩时所使用的一种帧间编码技术;一个视频序列包含一定数量的图片,通常称为帧(Frame),运动补偿是一种描述在编码关系上的相邻帧的差别的方法,具体来说是描述前面一帧的每个子块怎样移动到当前帧中的某个位置去;相邻的帧通常很相似,也就是说,包含了很多冗余,因此运动补偿方法被视频压缩或视频编解码器用来减少视频序列中的空域冗余,也可以用来进行去交织以及运动插值的操作;
2)运动矢量(Motion Vector,MV):在帧间编码中,运动矢量表示当前编码块与其参考图像中的最佳匹配块之间的相对位移;每个划分的编码块都有相应的运动信息需要传送到解码端,如果对每个编码块的运动矢量进行独立编码和传输,需要消耗相当多的比特;因此在编码时利用相邻宏块之间的空间相关性,根据相邻已编码块的运动信息对当前待编码块的运动信息进行预测,然后对预测差进行编码,这样可以有效地降低表示运动信息的比特数。
实施例1
本发明实施例提供一种子块运动候选的冗余校验的方法,如图1所示,包括:
步骤S101,获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;
获取需要处理的当前视频图像帧的相关码流,图像划分结构将输入的当前视频图像帧分为称为编码树单元CTU的块,使用具有嵌套多类型树结构的四叉树将一个编码树单元CTU划分成编码块CU,该编码块CU具有定义共享相同预测模式的区域的叶子编码单元,所述相同预测模式的区域可以是帧内或帧间等。每个CU包含一个或多个预测单元PU和变换单元树。
步骤S102,将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,并根据视频图像参考帧得到至少一个子块运动矢量候选;
将上述步骤确定的当前视频图像帧中的编码单元CU划分成多个子块,划分子块的数量可以根据标准灵活确定,本实施例中不做具体限定。
在VVC中,每个CU可以具有针对每个预测方向的至多一组运动参数。通过将CU划分成子块并且推导针对CU的所有子块的运动信息,在编码器中考虑子块级的运动矢量预测方法。
步骤S103,将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;
根据得到子块运动矢量候选的方法将得到的子块运动矢量候选分为至少一个分组,分组方法可以是根据通过不同的运动矢量预测方法得到的子块运动矢量候选的数量进行划分。
根据各分组利用的运动矢量预测方法确定任一分组对应的冗余校验方法为对全部的子块运动矢量候选进行冗余校验的完全冗余校验方法,或为对部分的子块运动矢量候选进行冗余校验的部分冗余校验,或为不对子块运动矢量候选进行冗余校验的无冗余校验方法。在每个组内,冗余校验方法可以为完全冗余校验、部分冗余校验和无冗余校验任一种。完全冗余校验是指对每个子块运动矢量通过与同一组内的所有其它子块运动矢量候选相比来执行冗余校验。部分冗余校验是指对一些子块运动矢量候选通过与同一组内的一些其它子块运动矢量候选相比来执行冗余校验。无冗余校验是指对同一组内的所有子块运动矢量候选不执行冗余校验。
步骤S104,利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。
对分组内的子块运动矢量候选执行冗余校验时,部分冗余校验方法仅使用分组内所有子块运动矢量候选的子集来执行冗余校验。
步骤S105,利用子块合并候选列表中的子块运动矢量候选,得到当前CU的每个子块的运动矢量,并根据参考图像帧,并确定每个子块的运动补偿值。
在得到子块合并候选列表之后,利用子块合并候选列表中的子块运动矢量候选,得到当前CU的每个子块的运动矢量,并在视频图像参考帧中寻找最优的匹配块进行运动补偿,得到每个子块的运动补偿值,从而更好的去除时间域的冗余度。
实施中,可以利用如下任一运动矢量预测方法确定各子块的运动矢量:
1)利用仿射运动补偿预测方法确定各子块的运动矢量;
VVC中将具有两个控制点MV的4参数仿射模型以及具有三个控制点MV的额外6参数仿射模型应用于运动矢量预测中。
参照图2,为本发明实施例提供的VVC中的4参数仿射模型和6参数仿射模型的示意图。如图2的(a)部分所示的为VVC中的4参数仿射模型,图中mv0和mv1分别表示4参数模型的两个控制点的运动矢量;图2的(b)部分所示的为VVC中的6参数仿射模型,图中mv0、mv1和mv2分别表示6参数模型的三个控制点的运动矢量。
VVC中有两种仿射运动模式:AF_INTER模式和AF_MERGE模式。上述两种仿射运动模式都可以采用4参数仿射模型和6参数仿射模型中的任意一个模型。
根据仿射运动模式下的候选集,确定所述CU的控制点MV的运动矢量。
作为一种可选的实施方式,对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中用信号通知CU级别的仿射标志以指示是否使用AF_INTER仿射运动模式。当使用AF_INTER仿射运动模式时,通过从空域相邻块扩展仿射运动即外推仿射候选得到候选集。
作为另一种可选的实施方式,可以使用AF_MERGE仿射运动模式。当存在至少一个相邻块以仿射模式编码时,在比特流中用信号通知CU级别的仿射标志以指示使用AF_MERGE仿射运动模式。
本发明实施例提供的用于AF_MERGE仿射运动模式的候选集可以采用现有方式。在应用6参数仿射运动模型时与应用4参数仿射运动模型构建候选集的方式相同,区别在于需要计算的是当前CU的左上角、右上角和左下角的三个控制点的运动矢量。仿射块可以选择性地应用上述冗余校验方法或者在控制点上利用现有的校验方法进行冗余校验。
本实施例中在候选集确定的情况下,使用AF_MERGE仿射运动模式时控制点运动矢量预测的具体计算方法与AF_INTER仿射运动模式下的计算方法相同,都可以采用现有技术,这里不再详述。
根据上述确定的CU的控制点的运动矢量及各子块位置,确定各子块的运动矢量。
2)利用可选时域运动矢量预测(ATMVP)方法确定各子块的运动矢量得到子块运动矢量候选;
如图3所示为ATMVP的运动矢量预测示意图。ATMVP方法允许每个CU从比并列参考图像中的当前CU小的多个块中提取多组运动信息。如图3所示,子块为方形N×N的块,默认情况下N的值为4。
ATMVP以两个步骤预测CU内的子块的运动矢量。第一步骤是利用时域矢量(Temporal Vector,TV)识别同位图像中对应的块。其中,对应的块是由当前CU的空域相邻块的运动信息确定的。将指向同位图像的第一可用运动矢量设置为时域矢量。这样可以更精确地识别出对应的块,其中同位图像(参考图像)为参考图像列表中先前已编码的图像,对应的块(同位块)总是位于相对于当前CU的右下或中心位置。确定时域矢量TV的算法可以采用现有技术,这里不再详述。在确定时域矢量TV之后,选择代表性子块,并且将该代表性子块的对应块的运动信息作为默认运动信息。可以选择位于当前CU的中心位置的右下方的子块为代表性子块。当没有有效的运动信息可以作为从代表性子块的对应块的默认运动信息推导出时,ATMVP候选被认为不可用。当默认运动信息可用时,则进入第二步骤。
第二步骤是将当前CU划分成子块,从对应于每个子块的块中获得运动矢量以及每个子块的参考索引。当针对任何子块的对应块没有运动信息可用时,则默认运动信息将用作针对该子块所推导出的时域运动。在第二步骤中,通过向当前CU的坐标添加时域矢量,由运动源图像中的时域矢量来识别子块的对应块。对于每个子块,其对应块的运动信息用于推导出子块的运动信息。在识别出对应的N×N块的运动信息之后,将该运动信息转换为当前子块的运动矢量和参考索引。
3)利用空-时域运动矢量预测(STMVP)方法确定各子块的运动矢量得到子块运动矢量候选;
在STMVP方法中,通过使用时域运动矢量预测器和空域相邻运动矢量来递归地推导出子块的运动矢量。
如图4所示,为本发明实施例提供的STMVP的运动矢量预测的示意图。以具有四个子块(A-D)及其相邻块(a-d)的CU为例进行说明。如图4所示,为一个8×8的CU,其包含四个4×4的子块A、B、C和D。当前帧中相邻的4×4的块被标记为a、b、c和d。
针对子块A的运动矢量预测通过识别其两个空域邻居开始。第一个邻居为子块A之上的N×N块即子块c。如果该子块c不可用或者是帧内编码,则检查子块A之上的其它N×N块,从左到右,从子块c开始。第二个邻居为子块A左侧的块即子块b。如果子块b不可用或者是帧内编码,则检查子块A左侧的其它块,从上到下,从子块c开始。从每个列表的相邻块获得的运动信息被缩放到给定列表的第一参考帧。然后推导子块A的时域运动矢量预测器(TMVP)。提取位置D处的同位块的运动信息并对应地缩放。最后,在检索并缩放运动信息之后,对于每个参考列表,所用可用的运动矢量被分别平均。平均的运动矢量被分配为当前子块的运动矢量。
4)利用非子块时域运动矢量预测(非子块ATMVP)方法确定各子块的运动矢量得到子块运动矢量候选。
如图5所示,为本发明实施例提供的非子块ATMVP的运动矢量预测的示意图。非子块ATMVP方法是基于现有的ATMVP方法的,通过与当前ATMVP相同的方法推导出相应的区域。区别在于确定运动矢量的方法不同,非子块ATMVP在整个目标CU的相应区域的中心位置选择一组运动矢量。
非子块ATMVP推导出的运动矢量为CU单位。因此,运动矢量推导之后的所有过程与其它合并候选相同。
5)利用平面MV运动矢量预测方法确定各子块的运动矢量得到子块运动矢量候选。
一般地,视频图像相邻帧间的相似度较高且相邻帧的主要差异在于平移运动,因此可以采用平面匹配算法对图像的一个位平面进行匹配,在相邻图像帧中进行运动矢量检测,从而得到当前编码块的运动矢量预测。
上述的运动矢量预测方法均为现有方法,本实施例中进行运动矢量预测时可直接采用上述现有技术,这里不再详述。
通过上述任一或任多方法确定各子块的运动矢量,并根据视频图像参考帧得到至少一个子块运动矢量候选,其中视频图像参考帧为视频参考图像列表中先前已编码的图像(同位图像)帧。
本实施例中任一分组对应的冗余校验方法可以为完全冗余校验方法、部分冗余校验方法和无冗余校验方法中的任一种,实施中,可以预先建立不同运动矢量预测方法与冗余校验方法的映射关系,任一运动矢量预测方法对应的冗余校验方法为全部冗余校验方法或部分冗余校验方法或无冗余校验方法。
作为一种可选的实施方式,预先建立的映射关系包括如下任一种:
1)不同运动矢量预测方法映射的冗余校验方法均为部分冗余校验方法;
不同运动矢量预测方法可以包括如上仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种。
2)不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;
部分运动矢量预测方法可以为如上仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种,上述另一部分的运动矢量预测方法可以为除部分运动矢量预测方法外,上述仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种。
3)确定不同运动矢量预测方法映射的冗余校验方法均为完全冗余校验方法;
不同运动矢量预测方法可以包括如上仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种。
4)确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;
部分运动矢量预测方法可以为如上仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种,上述另一部分的运动矢量预测方法可以为除部分运动矢量预测方法外,上述仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种。
5)确定部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法。
部分运动矢量预测方法可以为如上仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种,上述另一部分的运动矢量预测方法可以为除部分运动矢量预测方法外,上述仿射运动补偿预测方法、ATMVP方法、STMVP方法、非子块时域运动矢量预测方法、平面MV运动矢量预测方法的任一种或任多种。
实施中,根据得到当前各分组中子块运动矢量候选的运动矢量预测方法,确定通过上述方法预先建立的映射关系中该方法对应的冗余校验方法为该分组对应的冗余校验方法。
在采用仿射运动补偿预测、ATMVP、STMVP、平面MV运动矢量预测方法确定子块运动矢量候选后,确定各分组采用的冗余校验方法的具体示例如下:
示例1
将子块运动矢量候选分为两个分组,组1为通过仿射运动补偿预测方法得到的仿射合并子块运动矢量候选,组2为通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过平面MV运动矢量预测方法得到的平面MV块。
其中,组1对应的冗余校验方法为完全冗余校验,组2对应的冗余校验方法为无冗余校验。
示例2
将子块运动矢量候选分为两个分组,组1为通过仿射运动补偿预测方法得到的仿射合并子块运动矢量候选,组2为通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过平面MV运动矢量预测方法得到的平面MV块。
其中,组1对应的冗余校验方法为部分冗余校验,组2对应的冗余校验方法为无冗余校验。
示例3
将子块运动矢量候选分为一个分组,组1为通过仿射运动补偿预测方法得到的仿射合并子块运动矢量候选、通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过平面MV运动矢量预测方法得到的平面MV块。
其中,组1对应的冗余校验方法为完全冗余校验。
示例4
将子块运动矢量候选分为一个分组,组1为通过仿射运动补偿预测方法得到的仿射合并子块运动矢量候选、通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过平面MV运动矢量预测方法得到的平面MV块。
其中,组1对应的冗余校验方法为部分冗余校验。
示例5
将子块运动矢量候选分为两个分组,组1为通过仿射运动补偿预测方法得到的仿射合并子块运动矢量候选,组2为通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过平面MV运动矢量预测方法得到的平面MV块。
其中,组1对应的冗余校验方法为完全冗余校验,组2对应的冗余校验方法为完全冗余校验。
示例6
将子块运动矢量候选分为两个分组,组1为通过仿射运动补偿预测方法得到的仿射合并子块运动矢量候选,组2为通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过平面MV运动矢量预测方法得到的平面MV块。
其中,组1对应的冗余校验方法为部分冗余校验,组2对应的冗余校验方法为完全冗余校验。
其中,通过ATMVP方法得到的ATMVP子块运动矢量候选、通过STMVP方法得到的STMVP子块运动矢量候选和通过非子块时域运动矢量预测方法得到的平面MV块均可包括一个或多个。
上述提供的几种方法仅是基于现有的合并候选给出的几种示例方法,实际执行时还可以选择其他的组合方法。这些示例是在假设上述子块运动矢量候选用于构建合并候选列表的情况下给出的。在上述子块运动矢量候选不用于构建合并候选列表的情况下,可以在上述方法中忽略上述合并候选,不影响其它子块运动矢量候选的冗余校验过程。
在利用仿射运动补偿预测方法确定各子块的运动矢量时,可以通过检查子块运动矢量候选的控制点的运动矢量是否相同,对分组内的子块运动矢量候选进行冗余校验。在利用ATMVP/STMVP/非子块时域运动矢量预测方法确定各子块的运动矢量时,可以通过检查子块运动矢量候选的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
在确定任一分组对应的冗余校验方法为完全冗余校验方法时,选择分组内所有的子块运动矢量候选进行冗余校验。
在确定任一分组对应的冗余校验方法为部分冗余校验方法时,分别选择分组中指定位置的N个子块进行冗余校验,所述N的取值大于1且小于分组内子块的总数。具体选择可以包括如下任一种:
1)分别选择分组中位于中心位置的中心子块,进行冗余校验;其中,所述中心子块可以是位于中心位置的任一个或多个子块。
2)分别选择分组中位于至少一个边角位置的子块,进行冗余校验;其中,所述边角位置可以是任一个或任多个边角位置,每个边角位置的子块可以是一个,也可以是多个。
3)在当前视频图像帧和同位视频图像帧的分组中,分别选择分组中位于中心位置的中心子块和位于至少一个边角位置的子块,进行冗余校验。
如图6所示,为本发明实施例提供的包括子块运动的两个编码块的子块索引示意图。图中,Ai,j和Bi,j是用于每个编码块内的子块的索引。如果我们假设编码块的宽度和高度为wc和hc,子块的宽度和高度为ws和hs,则右下子块的索引Ai,j和Bi,j应该为Awc/ws-1,hc/hs-1和Biwc/ws-1,hc/hs-1。
在分组中选择指定位置的N个子块的方法可以选择如下任一种:
1)选择分组中位于中心位置的任意一个中心子块,进行冗余校验;
例如:仅将子块A(wc/2)/ws-1,(hc/2)/hs-1和B(wc/2)/ws-1,(hc/2)/hs-1的运动用于执行冗余校验,或者仅将子块A(wc/2)/ws,(hc/2)/hs和B(wc/2)/ws,(hc/2)/hs的运动用于执行冗余校验。
2)选择分组中位于四个边角位置的四个角子块,进行冗余校验;
例如:将子块A0,0和B0,0、子块Awc/ws-1,0和Bwc/ws-1,0、子块A0,hc/hs-1和B0,hc/hs-1以及子块Awc/ws-1,hc/hs-1和Biwc/ws-1,hc/hs-1的运动用于执行冗余校验。
3)选择分组中位于四个边角位置的四个角子块和位于中心位置的任意一个中心子块,进行冗余校验;
例如:将子块A0,0和B0,0、子块Awc/ws-1,0和Bwc/ws-1,0、子块A0,hc/hs-1和B0,hc/hs-1、子块Awc/ws-1,hc/hs-1和Biwc/ws-1,hc/hs-1以及子块A(wc/2)/ws-1,(hc/2)/hs-1和B(wc/2)/ws-1,(hc/2)/hs-1的运动用于执行冗余校验。
4)选择分组中位于右上角位置的右上角子块和位于左上角位置的左上角子块,进行冗余校验;
例如:将子块A0,hc/hs-1和B0,hc/hs-1、子块A0,0和B0,0的运动用于执行冗余校验。
5)选择分组中位于左上角位置的左上角子块和位于左下角位置的左下角子块,进行冗余校验;
例如:将子块A0,0和B0,0、子块Awc/ws-1,0和Bwc/ws-1,0的运动用于执行冗余校验。
6)选择分组中位于左上角位置的左上角子块、位于右上角位置的右上角子块和位于左下角位置的左下角子块,进行冗余校验。
例如:将子块A0,0和B0,0、子块A0,hc/hs-1和B0,hc/hs-1以及子块Awc/ws-1,0和Bwc/ws-1,0的运动用于执行冗余校验。
上述提供的几种方法仅是给出的几种示例方法,实际执行时还可以选择其他指定位置的子块进行冗余校验。
根据上述方法对子块运动矢量候选进行冗余校验的结果得到子块合并候选列表。通过进行冗余校验确定两个子块的运动矢量相同或者两个子块的控制点的运动矢量相同时,确定冗余校验的结果为冗余,仅将其中一个子块运动矢量候选添加到子块合并候选列表中;通过进行冗余校验确定两个子块的运动矢量不相同或者两个子块的控制点的运动矢量不相同时,确定冗余校验的结果为无冗余,将两个子块运动矢量候选添加到子块合并候选列表中。
通过上述方法可以将具有相同运动信息的候选排除在子块合并候选列表之外,避免了重复运动信息的添加,从而提高了编码效率,降低了计算复杂度。
实施例2
以上对本发明中一种子块运动候选的冗余校验的方法进行说明,以下对执行上述子块运动候选的冗余校验的设备进行说明。
请参阅图7,本发明实施例提供一种子块运动候选的冗余校验的设备,包括:
编码单元确定模块701,用于获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;
候选预测模块702,用于将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,得到至少一个子块运动矢量候选;
候选分组模块703,用于将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;
冗余校验模块704,用于利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。
可选地,候选分组模块确定各分组对应的冗余校验方法,包括:
确定任一分组对应的冗余校验方法为对全部的子块运动矢量候选进行冗余校验的完全冗余校验方法,或为对部分的子块运动矢量候选进行冗余校验的部分冗余校验,或为不对子块运动矢量候选进行冗余校验的无冗余校验方法。
可选地,候选预测模块利用运动矢量预测方法预测各子块的运动矢量,包括:
利用仿射运动补偿预测方法确定各子块的运动矢量;或者
利用时域运动矢量预测ATMVP方法确定各子块的运动矢量;或者
利用空-时域运动矢量预测STMVP方法确定各子块的运动矢量;或者
利用非子块时域运动矢量预测方法确定各子块的运动矢量;或者
利用平面MV运动矢量预测方法确定各子块的运动矢量。
可选地,候选预测模块利用仿射运动补偿预测方法确定各子块的运动矢量时,冗余校验模块对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的控制点的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
可选地,候选预测模块利用ATMVP或STMVP或非子块时域运动矢量预测确定各子块的运动矢量时,冗余校验模块对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
可选地,候选分组模块根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法,包括:
根据各分组利用的运动矢量预测方法对应的冗余校验方法,确定该分组对应的冗余校验方法,其中,预先建立不同运动矢量预测方法与冗余校验方法的映射关系,任一运动矢量预测方法对应的冗余校验方法为全部冗余校验方法或部分冗余校验方法或无冗余校验方法。
可选地,候选分组模块预先建立不同运动矢量预测方法与冗余校验方法的映射关系,包括:
确定不同运动矢量预测方法映射的冗余校验方法均为部分冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定不同运动矢量预测方法映射的冗余校验方法均为完全冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法。
可选地,候选分组模块确定任一分组对应的冗余校验方法为部分冗余校验方法时,冗余校验模块对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
选择指定位置的N个子块进行冗余校验,所述N的取值大于1且小于分组内子块的总数。
可选地,冗余校验模块选择指定位置的N个子块进行冗余校验,包括:
选择分组中位于中心位置的中心子块,进行冗余校验;或
选择分组中位于至少一个边角位置的中心子块,进行冗余校验;或
选择分组中位于中心位置的中心子块和位于至少一个边角位置的中心子块,进行冗余校验。
可选地,所述子块运动候选的冗余校验的设备还包括运动补偿确定模块705,冗余校验模块根据冗余校验结果得到子块合并候选列表之后,还包括:
运动补偿确定模块利用子块合并候选列表中的子块运动矢量候选,得到当前CU的每个子块的运动矢量,并根据参考图像帧,并确定每个子块的运动补偿值。
上面从模块化功能实体的角度对本申请实施例中的子块运动候选的冗余校验的设备进行了描述,下面从硬件处理的角度对本申请实施例中的子块运动候选的冗余校验的设备进行描述。
请参阅图8,本申请实施例中子块运动候选的冗余校验的设备的另一个实施例包括:
处理器801、存储器802、收发器809以及总线系统811;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;
将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,得到至少一个子块运动矢量候选;
将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;
利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。
图8是本发明实施例提供的一种子块运动候选的冗余校验的设备的结构示意图,该设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(英文全称:central processing units,英文简称:CPU)801(例如,一个或一个以上处理器)和存储器802,一个或一个以上存储应用程序804或数据806的存储介质803(例如一个或一个以上海量存储设备)。其中,存储器802和存储介质803可以是短暂存储或持久存储。存储在存储介质803的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理器801可以设置为与存储介质803通信,在设备800上执行存储介质803中的一系列指令操作。
设备800还可以包括一个或一个以上电源810,一个或一个以上有线或无线网络接口807,一个或一个以上输入输出接口808,和/或,一个或一个以上操作系统805,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
可选地,处理器确定各分组对应的冗余校验方法,包括:
确定任一分组对应的冗余校验方法为对全部的子块运动矢量候选进行冗余校验的完全冗余校验方法,或为对部分的子块运动矢量候选进行冗余校验的部分冗余校验,或为不对子块运动矢量候选进行冗余校验的无冗余校验方法。
可选地,处理器利用运动矢量预测方法预测各子块的运动矢量,包括:
利用仿射运动补偿预测方法确定各子块的运动矢量;或者
利用时域运动矢量预测ATMVP方法确定各子块的运动矢量;或者
利用空-时域运动矢量预测STMVP方法确定各子块的运动矢量;或者
利用非子块时域运动矢量预测方法确定各子块的运动矢量;或者
利用平面MV运动矢量预测方法确定各子块的运动矢量。
可选地,处理器利用仿射运动补偿预测方法确定各子块的运动矢量时,对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的控制点的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
可选地,处理器利用ATMVP或STMVP或非子块时域运动矢量预测确定各子块的运动矢量时,对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
可选地,处理器根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法,包括:
根据各分组利用的运动矢量预测方法对应的冗余校验方法,确定该分组对应的冗余校验方法,其中,预先建立不同运动矢量预测方法与冗余校验方法的映射关系,任一运动矢量预测方法对应的冗余校验方法为全部冗余校验方法或部分冗余校验方法或无冗余校验方法。
可选地,处理器预先建立不同运动矢量预测方法与冗余校验方法的映射关系,包括:
确定不同运动矢量预测方法映射的冗余校验方法均为部分冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定不同运动矢量预测方法映射的冗余校验方法均为完全冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法。
可选地,处理器确定任一分组对应的冗余校验方法为部分冗余校验方法时,对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
选择指定位置的N个子块进行冗余校验,所述N的取值大于1且小于分组内子块的总数。
可选地,处理器选择指定位置的N个子块进行冗余校验,包括:
选择分组中位于中心位置的中心子块,进行冗余校验;或
选择分组中位于至少一个边角位置的中心子块,进行冗余校验;或
选择分组中位于中心位置的中心子块和位于至少一个边角位置的中心子块,进行冗余校验。
可选地,处理器根据冗余校验结果得到子块合并候选列表之后,还包括:
利用子块合并候选列表中的子块运动矢量候选,得到当前CU的每个子块的运动矢量,并根据参考图像帧,并确定每个子块的运动补偿值。
本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述实施例提供的子块运动候选的冗余校验的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种子块运动候选的冗余校验的方法,其特征在于,包括:
获取当前视频图像帧的相关码流,确定所述视频图像帧中的编码块CU;
将所述CU划分成子块,基于图像参考帧利用运动矢量预测方法预测各子块的运动矢量,得到至少一个子块运动矢量候选;
将所述至少一个子块运动矢量候选分为至少一个分组,并根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法;
利用确定的各分组对应的冗余校验方法,对分组内的子块运动矢量候选进行冗余校验,并根据冗余校验结果得到子块合并候选列表。
2.根据权利要求1所述的方法,其特征在于,确定各分组对应的冗余校验方法,包括:
确定任一分组对应的冗余校验方法为对全部的子块运动矢量候选进行冗余校验的完全冗余校验方法,或为对部分的子块运动矢量候选进行冗余校验的部分冗余校验,或为不对子块运动矢量候选进行冗余校验的无冗余校验方法。
3.根据权利要求1所述的方法,其特征在于,利用运动矢量预测方法预测各子块的运动矢量,包括:
利用仿射运动补偿预测方法确定各子块的运动矢量;或者
利用时域运动矢量预测ATMVP方法确定各子块的运动矢量;或者
利用空-时域运动矢量预测STMVP方法确定各子块的运动矢量;或者
利用非子块时域运动矢量预测方法确定各子块的运动矢量;或者
利用平面MV运动矢量预测方法确定各子块的运动矢量。
4.根据权利要求3所述的方法,其特征在于,利用仿射运动补偿预测方法确定各子块的运动矢量时,对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的控制点的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
5.根据权利要求3所述的方法,其特征在于,利用ATMVP或STMVP或非子块时域运动矢量预测确定各子块的运动矢量时,对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
通过检查子块运动矢量候选的运动矢量是否相同,对分组内的至少一个子块运动矢量候选进行冗余校验。
6.根据权利要求1~3任一所述的方法,其特征在于,根据各分组利用的运动矢量预测方法确定各分组对应的冗余校验方法,包括:
根据各分组利用的运动矢量预测方法对应的冗余校验方法,确定该分组对应的冗余校验方法,其中,预先建立不同运动矢量预测方法与冗余校验方法的映射关系,任一运动矢量预测方法对应的冗余校验方法为全部冗余校验方法或部分冗余校验方法或无冗余校验方法。
7.根据权利要求6所述的方法,其特征在于,预先建立不同运动矢量预测方法与冗余校验方法的映射关系,包括:
确定不同运动矢量预测方法映射的冗余校验方法均为部分冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定不同运动矢量预测方法映射的冗余校验方法均为完全冗余校验方法;或
确定不同运动矢量预测方法中,部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为无冗余校验方法;或
确定部分运动矢量预测方法映射的冗余校验方法为完全冗余校验方法,另一部分运动矢量预测方法映射的冗余校验方法为部分冗余校验方法。
8.根据权利要求6所述的方法,其特征在于,确定任一分组对应的冗余校验方法为部分冗余校验方法时,对分组内的至少一个子块运动矢量候选进行冗余校验,包括:
选择指定位置的N个子块进行冗余校验,所述N的取值大于1且小于分组内子块的总数。
9.根据权利要求8所述的方法,其特征在于,选择指定位置的N个子块进行冗余校验,包括:
选择分组中位于中心位置的中心子块,进行冗余校验;或
选择分组中位于至少一个边角位置的中心子块,进行冗余校验;或
选择分组中位于中心位置的中心子块和位于至少一个边角位置的中心子块,进行冗余校验。
10.一种子块运动候选的冗余校验的设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,实现如权利要求1~9任一所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862750046P | 2018-10-24 | 2018-10-24 | |
US62/750,046 | 2018-10-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110740330A true CN110740330A (zh) | 2020-01-31 |
CN110740330B CN110740330B (zh) | 2022-03-25 |
Family
ID=69270986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911013203.3A Active CN110740330B (zh) | 2018-10-24 | 2019-10-23 | 一种子块运动候选的冗余校验的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110740330B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103583047A (zh) * | 2011-03-14 | 2014-02-12 | 联发科技股份有限公司 | 用于导出候选运动矢量与候选运动矢量预测的方法与装置 |
US20140362924A1 (en) * | 2012-01-19 | 2014-12-11 | Mediatek Singapore Pte. Ltd. | Method and apparatus for simplified motion vector predictor derivation |
CN105847804A (zh) * | 2016-05-18 | 2016-08-10 | 信阳师范学院 | 一种基于稀疏冗余表示模型的视频帧率上转换方法 |
CN107113446A (zh) * | 2014-12-09 | 2017-08-29 | 联发科技股份有限公司 | 视频编码中的运动矢量预测子或合并候选的推导方法 |
US20180199052A1 (en) * | 2017-01-10 | 2018-07-12 | Blackberry Limited | Methods and devices for coding motion vectors in video compression |
CN108432250A (zh) * | 2016-01-07 | 2018-08-21 | 联发科技股份有限公司 | 用于视频编解码的仿射帧间预测的方法及装置 |
-
2019
- 2019-10-23 CN CN201911013203.3A patent/CN110740330B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103583047A (zh) * | 2011-03-14 | 2014-02-12 | 联发科技股份有限公司 | 用于导出候选运动矢量与候选运动矢量预测的方法与装置 |
US20140362924A1 (en) * | 2012-01-19 | 2014-12-11 | Mediatek Singapore Pte. Ltd. | Method and apparatus for simplified motion vector predictor derivation |
CN107113446A (zh) * | 2014-12-09 | 2017-08-29 | 联发科技股份有限公司 | 视频编码中的运动矢量预测子或合并候选的推导方法 |
CN108432250A (zh) * | 2016-01-07 | 2018-08-21 | 联发科技股份有限公司 | 用于视频编解码的仿射帧间预测的方法及装置 |
CN105847804A (zh) * | 2016-05-18 | 2016-08-10 | 信阳师范学院 | 一种基于稀疏冗余表示模型的视频帧率上转换方法 |
US20180199052A1 (en) * | 2017-01-10 | 2018-07-12 | Blackberry Limited | Methods and devices for coding motion vectors in video compression |
Also Published As
Publication number | Publication date |
---|---|
CN110740330B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7351485B2 (ja) | 画像符号化方法及び装置、画像復号方法及び装置並びにプログラム | |
KR102073638B1 (ko) | 픽처 예측 방법 및 픽처 예측 장치 | |
KR102081213B1 (ko) | 화상 예측 방법 및 관련 장치 | |
CN104768011A (zh) | 图像编解码方法和相关装置 | |
US20210203978A1 (en) | Merge mode-based inter-prediction method and apparatus | |
WO2015078422A1 (zh) | 图像编码、解码方法及装置 | |
CN103096080A (zh) | 用于估计当前块的运动矢量的设备 | |
KR20130124526A (ko) | 인코딩 또는 디코딩의 예측 방법 및 예측기 | |
JP2022515995A (ja) | 映像処理方法、装置、不揮発性記憶媒体、コンピュータプログラム | |
CN110832869B (zh) | 用于视频编码或解码的运动信息获取方法与装置 | |
JP2023101782A (ja) | 非直線の非長方形分割を用いた幾何学的分割におけるインター予測 | |
CN113709458B (zh) | 视频编解码中的位移矢量预测方法、装置及设备 | |
CN110324668B (zh) | 图像块编码中的变换方法、解码中的反变换方法及装置 | |
CN110740330B (zh) | 一种子块运动候选的冗余校验的方法及设备 | |
JPWO2020054060A1 (ja) | 動画像符号化方法及び動画像符号化装置 | |
CN110602493B (zh) | 一种仿射运动补偿的交织预测的方法及设备 | |
KR20140031974A (ko) | 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램 | |
CN111246216B (zh) | 一种基于三角预测的视频编解码方法及设备 | |
CN114205593B (zh) | 用于视频编码的方法和装置及用于视频解码的方法和装置 | |
CN105306953A (zh) | 图像编码方法和装置 | |
CN111988627A (zh) | 一种视频编解码方法及设备 | |
CN111010572A (zh) | 一种视频编码方法和装置及设备 | |
JP2020182236A (ja) | 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置 | |
CN118057814A (zh) | 帧间预测方法及解码方法、电子装置和存储介质 | |
CN113676737A (zh) | 一种基于gpu的高效视频编码器及编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |