CN109691106A - 时间运动向量预测符的偏移向量识别 - Google Patents

时间运动向量预测符的偏移向量识别 Download PDF

Info

Publication number
CN109691106A
CN109691106A CN201780055846.7A CN201780055846A CN109691106A CN 109691106 A CN109691106 A CN 109691106A CN 201780055846 A CN201780055846 A CN 201780055846A CN 109691106 A CN109691106 A CN 109691106A
Authority
CN
China
Prior art keywords
block
current
video
sub
motion
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
Application number
CN201780055846.7A
Other languages
English (en)
Other versions
CN109691106B (zh
Inventor
钱威俊
陈义文
张莉
马尔塔·卡切维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109691106A publication Critical patent/CN109691106A/zh
Application granted granted Critical
Publication of CN109691106B publication Critical patent/CN109691106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors

Abstract

在一个实例中,一种方法包含:在经译码视频位流中且对于视频数据的当前图片的当前预测单元PU接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及基于所述确定的运动信息而重构所述当前PU。

Description

时间运动向量预测符的偏移向量识别
本申请案要求2016年9月16日申请的第62/395,878号美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频译码技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、高效视频译码(HEVC)标准(也被称作ITU-T H.265)定义的标准和此类标准的扩展中描述的那些技术。视频装置可通过实施这些视频译码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分)分割成若干视频块,其对于一些技术也可被称作树块、译码单元(CU)及/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码块的预测块。残余数据表示待译码原始块与预测块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块的像素之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式及残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描一开始按二维阵列布置的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。
发明内容
在一个实例中,一种方法包含:在经译码视频位流中且对于视频数据的当前图片的当前预测单元(PU)接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及基于所述确定的运动信息而重构所述当前PU。
在另一实例中,一种用于对视频数据进行解码的装置包含:存储器,其经配置以存储视频数据;以及一或多个处理器。在此实例中,所述一或多个处理器经配置以:在经译码视频位流中且对于视频数据的当前图片的当前PU接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及基于所述确定的运动信息而重构所述当前PU。
在另一实例中,一种用于对视频数据进行解码的装置包含:用于在经译码视频位流中且对于视频数据的当前图片的当前PU接收识别参考图片的块的偏移向量的表示的装置,其中所述偏移向量在不均匀地分布的值的集合内;用于基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息的装置;以及用于基于所述确定的运动信息而重构所述当前PU的装置。
在另一实例中,一种计算机可读存储媒体存储指令,所述指令当执行时致使视频解码器的一或多个处理器:在经译码视频位流中且对于视频数据的当前图片的当前PU接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及基于所述确定的运动信息而重构所述当前PU。
在另一实例中,一种对视频数据进行编码的方法包含:对于视频数据的当前图片的当前PU选择可由在不均匀地分布的值集合内的偏移向量识别的参考图片的块;以及在经译码视频位流中对所述偏移向量的表示以及表示所述当前PU与由所述当前PU的运动信息识别的预测符块之间的像素差的残余数据进行编码,所述当前PU的所述运动信息可基于所述参考图片的所述块的运动信息而确定。
在另一实例中,一种用于对视频数据进行编码的装置包含:存储器,其经配置以存储视频数据;以及一或多个处理器。在此实例中,所述一或多个处理器经配置以:对于视频数据的当前图片的当前PU选择可由在不均匀地分布的值集合内的偏移向量识别的参考图片的块;以及在经译码视频位流中对所述偏移向量的表示以及表示所述当前PU与由所述当前PU的运动信息识别的预测符块之间的像素差的残余数据进行编码,所述当前PU的所述运动信息可基于所述参考图片的所述块的运动信息而确定。
在另一实例中,一种用于对视频数据进行编码的装置包含:用于对于视频数据的当前图片的当前PU选择可由在不均匀地分布的值集合内的偏移向量识别的参考图片的块的装置;以及用于在经译码视频位流中对所述偏移向量的表示以及表示所述当前PU与由所述当前PU的运动信息识别的预测符块之间的像素差的残余数据进行编码的装置,所述当前PU的所述运动信息可基于所述参考图片的所述块的运动信息而确定。
在另一实例中,一种计算机可读存储媒体存储指令,所述指令当执行时致使视频编码器的一或多个处理器:对于视频数据的当前图片的当前PU选择可由在不均匀地分布的值集合内的偏移向量识别的参考图片的块;以及在经译码视频位流中对所述偏移向量的表示以及表示所述当前PU与由所述当前PU的运动信息识别的预测符块之间的像素差的残余数据进行编码,所述当前PU的所述运动信息可基于所述参考图片的所述块的运动信息而确定。
附图说明
图1是说明可利用用于实施高级时间运动向量预测(ATMVP)的技术的实例视频编码和解码系统的框图。
图2是说明可实施用于高级时间运动向量预测(ATMVP)的技术的视频编码器的实例的框图。
图3是说明可实施用于高级时间运动向量预测(ATMVP)的技术的视频解码器的实例的框图。
图4是说明高效视频译码(HEVC)中的空间相邻候选者的概念图。
图5是说明HEVC中的时间运动向量预测(TMVP)的概念图。
图6说明3D-HEVC的实例预测结构。
图7是说明3D-HEVC中的基于子PU的视图间运动预测的概念图。
图8是说明根据参考图片的子PU运动预测的概念图。
图9是说明ATMVP(类似于TMVP)中的相关图片的概念图。
图10是说明用于从给定块的空间和时间相邻块导出给定块的运动向量的实例方法的流程图。
图11A和11B是说明PU的子PU以及PU的相邻子PU的实例的概念图。
图12是说明根据本发明的一或多种技术的用于基于由偏移向量指示的另一块的运动信息导出当前块的运动信息的实例过程的流程图。
图13是说明根据本发明的一或多种技术的用于基于由偏移向量指示的另一块的运动信息导出当前块的运动信息的实例过程的流程图。
具体实施方式
大体来说,本发明涉及视频编解码器中的运动向量预测。更具体地,视频解码器可接收当前块的偏移向量。偏移向量可识别参考块,视频解码器可从参考块预测当前块的运动向量。举例来说,视频解码器可针对当前图片中的当前预测单元(PU)接收偏移向量,其识别参考图片(例如,不同于当前图片)中的参考块。视频解码器可使用参考块的包含运动向量的运动信息来获得当前PU的运动向量,其识别当前PU的预测符块。视频解码器可组合预测符块的像素值与当前PU的残余信息以重构当前PU的像素值。
在一些实例中,偏移向量可涵盖参考图片中的所有块。举例来说,偏移向量可能够将参考图片中的任何块识别为参考块。然而,使偏移向量能够涵盖参考帧中的所有块所需要的信令开销相对于通过使用偏移向量获得的译码效率来说可能很大。因此,视频译码器可从有限的值集合用信号表示偏移向量的值。有限的值集合可称为值范围。举例来说,视频译码器可用信号表示在x,y∈{-3,-2,-1,0,1,2,3}的范围内的偏移向量的分量(例如,水平x分量和垂直y分量)的值。在先前实例中,偏移向量将仅能够将参考图片的有限区域中的块识别为参考块(例如,在当前块的水平和垂直方向正负三个极本单位以内的块)。虽然从有限值集合用信号表示偏移向量的值可提供编码效率(例如,表示偏移向量所需要的较少数据),但带来的参考图片的区域的减少可为不合意的。
根据本发明的一或多种技术,视频译码器可从不均匀分布的有限值集合用信号表示偏移向量的值。举例来说,视频译码器可用信号表示在x,y∈{-8,-4,-2,0,2,4,8}的范围内的偏移向量的分量(例如,水平x分量和垂直y分量)的值。通过使用不均匀分布的值范围,视频译码器可用信号表示与当使用均匀分布的值时相比能够识别参考图片的更大区域中的块的偏移向量。由于偏移向量能够识别参考图片的较大区域中的块,因此更可能的是视频编码器将能够产生识别具有运动信息的参考块的偏移向量,视频解码器可使用所述运动信息获得当前块的运动信息,其识别具有与当前块的那些像素值类似的像素值的预测符块。通过使视频解码器能够识别具有与当前块的那些像素值类似的像素值的预测符块,用以表示当前块的残余数据的数据量可减少。以此方式,本发明的技术可改进译码效率。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉、ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。MVC的最新联合草案描述于2010年3月的“用于通用视听服务的高级视频译码”(ITU-T建议H.264)中。
此外,存在一种新开发的视频译码标准,即高效视频译码(HEVC),其由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。HEVC的最近草案从phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip可用。HEVC标准也在推荐ITU-T H.265和国际标准ISO/IEC23008-2中联合呈现,两者的标题都是“高效视频编码”,并且都发布于2014年10月。
运动信息:对于每一块,运动信息集合可为可用的。运动信息集合含有用于前向和后向预测方向的运动信息。此处,前向和后向预测方向是与当前图片或切片的参考图片列表0(RefPicList0)和参考图片列表1(RefPicList1)相对应的两个预测方向。术语“前向”和“后向”未必具有几何含义。替代地,它们用于区分运动向量所基于的参考图片列表。前向预测意味着基于参考列表0形成的预测,而后向预测意味着基于参考列表1形成的预测。在参考列表0和参考列表1都用于形成给定块的预测的情况下,其被称为双向预测。
对于给定图片或切片,如果仅使用一个参考图片列表,那么在图片或切片内部的每一块都是前向预测的。如果参考图片列表都用于给定图片或切片,那么在图片或切片内部的块可以是前向预测的,或后向预测的,或双向预测的。
对于每个预测方向,运动信息含有参考索引和运动向量。参考索引用以识别相应参考图片列表(例如RefPicList0或RefPicList1)中的参考图片。运动向量具有水平分量和垂直分量两者,其中每一分量分别指示沿水平和垂直方向的偏移值。在一些描述中,为了简单起见,术语“运动向量”可与运动信息互换使用,以指示所述运动向量及其相关联的参考索引两者。
图片次序计数(POC)广泛用于视频译码标准以识别图片的显示次序。虽然存在一个经译码视频序列内的两个图片可具有相同POC值的情况,但是其通常不在经译码视频序列内发生。当位流中存在多个经译码视频序列时,具有相同POC值的图片可能在解码次序方面彼此更接近。图片的POC值通常用于参考图片列表建构、参考图片集的导出,就像HEVC和运动向量按比例缩放中一样。
高级视频译码(AVC)(H.264)中的宏块(MB)结构:在H.264/AVC中,每一帧间宏块(MB)可以四种不同方式分割:
·一个16x16MB分区
·两个16x8MB分区
·两个8x16MB分区
·四个8x8MB分区
一个MB中的不同MB分区可具有用于每一方向的不同参考索引值(RefPicList0或RefPicList1)。当MB未分割成四个8x8MB分区时,所述MB可在每一方向上对于每一MB分区仅具有一个运动向量。
当MB分割成四个8x8MB分区时,每一8x8MB分区可进一步分割成子块,所述子块中的每一个可在每一方向上具有不同运动向量。存在从8x8MB分区得到子块的四种不同方式:
·一个8x8子块
·两个8x4子块
·两个4x8子块
·四个4x4子块
每一子块可具有每一方向中的不同运动向量。因此,在等于或高于所述子块的层级存在运动向量。
AVC中的时间直接模式:在AVC中,针对B切片中的跳过或直接模式可以在MB或MB分区层级中启用时间直接模式。对于每一MB分区,使用与当前块的RefPicList1[0]中的当前MB分区位于同一地点的块的运动向量来导出运动向量。位于同一地点的块中的每一运动向量基于POC距离按比例缩放。
AVC中的空间直接模式:在AVC中,直接模式也可从空间相邻者预测运动信息。
高效视频译码(HEVC)中的译码单元(CU)结构:在HEVC中,切片中的最大译码单元称为译码树块(CTB)或译码树单元(CTU)。CTB含有四叉树,所述四叉树的节点为译码单元。
CTB的大小在HEVC主规范中可在16x16到64x64的范围内(尽管技术上可支持8x8CTB大小)。尽管译码单元(CU)可与CTB大小相同,且可如8x8一样小。每一译码单元用一种模式译码。当CU经帧间译码时,其可进一步分割成2个或4个预测单元(PU),或当进一步分割不适用时变为仅一个PU。当两个PU存在于一个CU中时,它们可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。
当CU经帧间译码时,针对每一PU存在运动信息的一个集合。另外,每一PU是以唯一帧间预测模式译码以导出所述运动信息的集合。
HEVC中的运动预测:在HEVC标准中,存在两个运动向量预测模式,对于预测单元(PU)分别被命名为合并(跳过视为合并的特殊情况)模式和高级运动向量预测(AMVP)模式。
在AMVP或合并模式中,针对多个运动向量预测符维持运动向量(MV)候选者列表。当前PU的运动向量以及合并模式中的参考索引通过从MV候选者列表中获取一个候选者而产生。
MV候选者列表含有用于合并模式的多达5个候选者和用于AMVP模式的仅两个候选者。合并候选者可含有运动信息集合,例如对应于两个参考图片列表(列表0和列表1)的运动向量和参考索引。如果通过合并索引来识别合并候选者,那么确定用于当前块的预测的参考图片以及相关联的运动向量。然而,在AMVP模式下,对于从列表0或列表1的每一潜在预测方向,需要明确地将参考索引连同对MV候选者列表的MVP索引一起用信号表示,这是因为AMVP候选者仅含有运动向量。在AMVP模式中,可进一步优化经预测运动向量。
如可从上文看出,合并候选者对应于整个运动信息集合,而AMVP候选者仅含有用于特定预测方向的一个运动向量和参考索引。以类似方式从相同空间和时间相邻块导出用于两种模式的候选者。
图1是说明可利用用信号表示识别当前块的运动信息源的偏移向量的技术的实例视频编码和解码系统10的框图。如图1中所示出,系统10包含提供稍后将由目的地装置14解码的经编码视频数据的源装置12。确切地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”垫、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或类似物。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体以使源装置12能够实时地将经编码的视频数据直接发射到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含各种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器、或用于存储经编码视频数据的任何其它适合的数字存储媒体。在再一实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取存储的视频数据。文件服务器可为能够存储经编码视频数据和将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由包含因特网连接的任何标准数据连接来存取经编码的视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的传输可为流式传输、下载传输或其组合。
本发明的技术未必限于无线应用或设定。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视传输、卫星电视传输、因特网流视频传输(例如,HTTP动态自适应流式传输(DASH))、被编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频串流、视频重放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于高级时间运动向量预测(ATMVP)的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成显示装置。
图1的所说明的系统10仅为一个实例。本发明的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术通常由视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12和目的地装置14仅为此类译码装置的实例,其中源装置12产生经译码视频数据以用于发射到目的地装置14。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频回放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,俘获、预先俘获或计算机产生的视频可由视频编码器20编码。经编码视频信息可接着由输出接口22输出到计算机可读媒体16上。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置12接收经编码视频数据且例如经由网络传输将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码的视频数据且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,所述语法信息还供视频解码器30使用,所述语法信息包含描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频译码标准(例如,高效视频译码(HEVC)标准、HEVC标准的扩展或随后标准,例如,ITU-T H.266)来操作。替代地,视频编码器20和视频解码器30可根据其它专有或业界标准(例如ITU-T H.264标准,替代地被称作MPEG-4第10部分,高级视频译码(AVC))或此类标准的扩展来操作。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。尽管图1中未图示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用的话,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一个,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分以软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中并使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。
一般来说,HEVC标准描述视频帧或图片可划分成树块序列或包含亮度和色度样本两者的最大译码单元(LCU)。位流内的语法数据可界定LCU(就像素数目来说,其为最大译码单位)的大小。切片包含按译码次序的若干连续树块。视频帧或图像可以被分割成一或多个切片。每一树块可以根据四叉树分裂成译码单元(CU)。一般来说,四叉树数据结构包含每个CU一个节点,其中根节点对应于树块。如果CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中叶节点中的每一者对应于所述子CU中的一者。
四叉树数据结构的每一节点可提供对应的CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,指示对应于节点的CU是否分裂成子CU。CU的语法元素可以递归地定义,且可以取决于所述CU是否分成若干子CU。如果CU未进一步分裂,那么将其称作叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16x16大小的CU不进一步分裂,那么尽管16x16CU从未分裂,四个8x8子CU也将被称作叶CU。
H.265中的CU具有与H.264标准的宏块类似的目的,除了CU不具有大小区别。举例来说,树块可分裂成四个子节点(还称为子CU),并且每一子节点又可为父节点并且可分裂成另外四个子节点。最后未分裂的子节点(被称作四叉树的叶节点)包括译码节点,也被称作叶CU。与经译码位流相关联的语法数据可定义树块可分裂的最大次数,被称作最大CU深度,且还可定义译码节点的最小大小。因此,位流还可界定最小译码单元(SCU)。本发明使用术语“块”来指代在HEVC的背景下的CU、PU或TU中的任一者,或在其它标准(例如,H.264/AVC中的宏块及其子块)的背景下的相似数据结构。
CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小可从8x8像素到具有最大64x64像素或更大的树块的大小变动。每一CU可含有一或多个PU和一或多个TU。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可在CU被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有所不同。PU可被分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树划分成一或多个TU。TU的形状可为正方形或非正方形(例如,矩形)。
HEVC标准允许根据TU进行变换,TU可针对不同CU而有所不同。TU通常是基于针对经分割LCU定义的给定CU内的PU的大小而定大小,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,可使用被称为“残余四叉树”(RQT)的四叉树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可被称为变换单元(TU)。可变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
未分裂的叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于相对应的CU的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,PU包含与预测相关的数据。举例来说,当PU经帧内模式编码时,用于PU的数据可包含在残余四叉树(RQT)中,残余四叉树可包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一或多个运动向量的数据。界定PU的运动向量的数据可描述例如运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片,和/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一或多个PU的叶CU还可包含一或多个变换单元(TU)。变换单元可使用RQT(也称为TU四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个变换单元。接着,每一变换单元可以进一步分裂成更多子TU。当TU未经进一步分裂时,其可被称作叶TU。总体上,对于帧内译码,所有属于一叶CU的叶TU共享相同的帧内预测模式。即,一般应用相同的帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式针对每一叶TU计算残余值,作为CU的对应于TU的部分与原始块之间的差。TU未必限于PU的大小。因而,TU可比PU大或小。对于帧内译码,PU可以与相同CU的对应叶TU位于同一地点。在一些实例中,叶TU的最大大小可以对应于对应叶CU的大小。
此外,叶CU的TU还可与相应的四叉树数据结构(被称作残余四叉树(RQT))相关联。即,叶CU可包含指示叶CU如何分割成TU的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。RQT的未分裂的TU被称作叶TU。一般来说,本发明分别使用术语CU和TU指代叶CU和叶TU,除非另有指出。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)大体上包括一系列的一或多个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头或其它地方中的语法数据,其描述GOP中包含的多个图片。图片的每一切片可包含描述用于相应的切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且可以根据指定译码标准而有不同大小。
作为一实例,HEVC测试模型(HM)支持各种PU大小的预测。假设特定CU的大小为2Nx2N,那么HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持用于2NxnU、2NxnD、nLx2N及nRx2N的PU大小中的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是将另一方向分割成25%和75%。CU的对应于25%分区的部分通过“n”后面跟着“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2NxnU”指代经水平分割的2Nx2N CU,其中顶部为2Nx0.5N PU,而底部为2Nx1.5N PU。
在本发明中,“NxN”与“N乘N”可互换使用来指在垂直和水平尺寸方面的视频块的像素尺寸,例如,16x16个像素或16乘16个像素。一般来说,16x16块块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,NxN块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行和列布置。此外,块未必需要在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括NxM个像素,其中M未必等于N。
在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且TU可包括在对残余视频数据应用变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似变换)之后变换域中的系数。所述残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含用于CU的残余数据的TU,并且随后变换TU以产生用于CU的变换系数。
在任何用以产生变换系数的变换之后,视频编码器20可执行变换系数的量化。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可减小与系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。
在量化之后,视频编码器可以扫描变换系数,从包括经量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(并且因此较低频率)的系数放置在阵列的前面,并且将较低能量(并且因此较高频率)的系数放置在阵列的后面。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对所述一维向量进行熵编码。视频编码器还20还可以对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。
为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的上下文。举例来说,所述上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可选择用于将传输的符号的可变长度码。VLC中的码字可经建构使得相对较短码对应于更有可能符号,而较长码对应于不太可能符号。以此方式,使用VLC可相比于例如对待发射的每一符号使用等长码字而实现位节省。概率确定可基于指派给符号的上下文。
除本发明的技术之外,2016年1月25日提交的第15/005,564号美国申请(下文为“'564申请”)描述以下技术,其可由视频编码器20和/或视频解码器30单独或以任何组合执行。'564申请描述高级时间运动向量预测(ATMVP),其是用于产生从当前PU的空间和时间相邻块导出的额外候选运动向量(而不是从位于同一地点的图片的位于同一地点的PU导出的时间运动向量预测(TMVP)候选者)的技术。确切地说,'564申请描述与例如作为合并候选者列表的ATMVP候选者(如果插入)的位置有关的技术。假设将空间候选和TMVP候选者以特定次序插入到合并候选者列表中。ATMVP候选者可插入在那些候选者的任何相对固定的位置中。在一个替代方案中,例如,ATMVP候选者可以在前两个空间候选者之后插入合并候选者列表中,例如A1和B1。在一个替代方案中,例如,ATMVP候选者可以插入前三个空间候选者之后,例如A1和B1和B0。在一个替代方案中,例如,ATMVP候选者可以插入前四个候选者之后,例如A1、B1、B0和A0。在一个替代方案中,例如,ATMVP候选者可以刚好插在TMVP候选者之前。在一个替代方案中,例如,ATMVP候选者可刚好插入在TMVP候选者之后。替代地,可在位流中用信号表示ATMVP候选者在候选者列表中的位置。可另外用信号表示包含TMVP候选者的其它候选者的位置。
'564申请还描述与ATMVP候选者的可用性检查有关的技术可通过仅存取一个运动信息集合而应用,视频编码器20和/或视频解码器30可经配置以执行所述技术。当信息的此集合不可用时,例如,一个块经帧内译码,整个ATMVP候选者被认为是不可用的。在这种情况下,ATMVP将不会被插入到合并列表中。中心位置或中心子PU仅用于检查ATMVP候选者的可用性。当使用中心子PU时,将中心子PU选为覆盖中心位置(例如中心3位置,其到PU的左上方样本的相对坐标为(W/2,H/2),其中WxH是PU的大小)的一个。此类位置或中心子PU可与时间向量一起使用以识别运动源图片中的相对应块。识别来自覆盖相应块的中心位置的块的运动信息集合。
'564申请还描述用于从子PU导出ATMVP译码PU的代表性运动信息集合的技术,视频编码器20和/或视频解码器30可经配置以执行所述技术。为了形成ATMVP候选者,首先形成代表性运动信息集合。这种代表性运动信息集合可从固定位置或固定子PU导出。可以用与使用运动信息集合以确定ATMVP候选者的可用性相同的方式选择此类代表性运动信息集合,如上文所描述。当子PU已识别其自身的运动信息集合且不可用时,将其设定成等于代表性运动信息集合。如果代表性运动信息集合设定成子PU的代表性集合运动信息,那么在最坏情况的情境下,在解码器侧不需要用于当前CTU或切片的额外运动存储器。当解码过程要求整个PU由一个运动信息集合表示时,这种代表性运动信息集合用于所有场景中,包含修整,以使得使用所述过程来生成组合式双向预测合并候选者。
'564申请还描述与可如何以TMVP候选者修整ATMVP候选者且可考虑TMVP与ATMVP之间的交互有关的技术,所述技术可由视频编码器20和/或视频解码器30执行。基于子PU的候选者,例如具有正常候选者的ATMVP候选者的修整可通过使用此基于子PU的候选者的代表性运动信息集合(如'564申请的项目编号#3中)进行。如果此类运动信息集合与普通合并候选者相同,则这两个候选者被视为相同。替代地或另外,执行检查以确定ATMVP是否含有用于多个子PU的多个不同运动信息集合;如果识别出至少两个不同集合,那么基于子PU的候选便不用于修整,即,视为不同于任何其它候选;否则,其可以用于修整(例如可在修整过程期间修整)。替代地或另外,ATMVP候选者可以与空间候选者一起修整,例如仅左侧和顶部的空间候选者,位置标示为A1和B1。替代地,仅一个候选者是从时间参考中形成的,所述候选者为ATMVP候选者或TMVP候选者。当ATMVP可用时,候选者是ATMVP;否则,候选者是TMVP。将这种候选者插入合并候选者列表中,在与TMVP的位置类似的位置中。在这种情况下,候选者的最大数目可保持不变。替代地,甚至在ATMVP不可用时,TMVP也总是停用的。替代地,仅当ATMVP不可用时使用TMVP。替代地,当ATMVP可用且TMVP不可用时,使用一个子PU的一个运动信息集合作为TMVP候选。此外,在这种情况下,不应用ATMVP与TMVP之间的修整过程。替代地或另外,用于ATMVP的时间向量还可用于TMVP,以使得不需要使用如用于HEVC中的当前TMVP的右下位置或中心3位置。替代地,将通过时间向量以及右下和中心3位置识别的位置联合视为提供可用TMVP候选者。
'564申请还描述可如何支持ATMVP的多个可用性检查以得到ATMVP候选者将较准确且高效的较高机会,这可由视频编码器20和/或视频解码器30执行。当通过第一时间向量识别的来自运动源图片的当前ATMVP候选者(例如,如图9所示)不可用时,可以将其它图片视为运动源图片。当考虑另一图片时,其可与不同的第二时间向量相关联,或可简单地与根据第一时间向量按比例缩放的指向不可用ATMVP候选者的第二时间向量相关联。第二时间向量可以识别第二运动源图片中的ATMVP候选者,并且可以应用相同可用性检查。如果如从第二运动源图片导出的ATMVP候选者可用,那么便导出ATMVP候选者且不需要检查其它图片;否则需要检查如同运动源图片的其它图片。待检查的图片可以是在当前图片的参考图片列表中具有给定次序的那些。对于每一列表,按照参考索引的升序检查图片。列表X首先被检查并且列表Y中的图片(是1-X)随后。选择列表X以使得列表X是含有用于TMVP的位于同一地点的图片的列表。替代地,将X简单地设定成1或0。待检查的图片可包含通过空间相邻者的运动向量识别的那些,它们具有给定次序。当前ATMVP应用于的PU的分割可以是2Nx2N、NxN、2NxN、Nx2N或其它AMP分割,例如,2NxN/2。替代地或另外,如果可允许其它分区大小,则也可支持ATMVP,且这种大小可包含例如64x8。替代地,所述模式可仅应用于某些分区,例如2Nx2N。
'564申请还描述可如何使用不同类型的合并模式标记ATMVP候选者,视频编码器20和/或视频解码器30可经配置以执行此操作。
当从相邻者识别向量(如第一级中的时间向量)时,可按次序检查多个相邻位置,例如合并候选者列表构造中使用的那些。对于相邻者中的每一者,可以按次序检查对应于参考图片列表0(列表0)或参考图片列表1(列表1)的运动向量。当两个运动向量可用时,可以首先检查列表X中的运动向量并且随后检查列表Y(其中Y等于1-X),使得列表X是含有用于TMVP的位于同一地点的图片的列表。在ATMVP中,使用时间向量作为子PU的任何中心位置的移位添加,其中时间向量的分量可能需要经移位为整数数目。此经移位中心位置用以识别运动向量可分配于的最小单元,例如具有覆盖当前中心位置的4x4的大小。替代地,对应于列表0的运动向量可在对应于列表1的那些之前被检查。替代地,对应于列表1的运动向量可在对应于列表0的那些之前被检查。替代地,按次序检查所有空间相邻者中对应于列表X的所有运动向量,随后为对应于列表Y(其中Y等于1-X)的运动向量。此处X可为一,指示位于同一地点的图片属于何处,或者仅简单地设定成0或1。空间相邻者的次序可与HEVC合并模式中使用的次序相同。
'564申请还描述与当在识别的第一级中时间向量不包含识别参考图片时,如图9所示的运动源图片可简单地设定成固定图片,例如用于TMVP的位于同一地点的图片相关的技术,所述技术可由视频编码器20和/或视频解码器30执行。在这种情况下,可以仅从指向这种固定图片的运动向量识别向量。在这种情况下,可仅从指向任何图片但是进一步朝向固定图片按比例缩放的运动向量中识别向量。当在识别的第一级中时,向量由识别参考图片组成,如图9中所示的运动源图片,可对候选运动向量应用一或多个以下额外检查。如果运动向量与经帧内编码的图片或切片相关联,那么便将这种运动向量视为不可用且不可用以转换成向量。如果运动向量识别相关联图片中的帧内块(通过例如用运动向量添加当前中心坐标),则此类运动向量被视为不可用并且不可用于被转换为向量。
'564申请还描述与当在识别向量的第一级中时向量的分量可设定成(当前PU的半宽度,当前PU的半高度),以使得其识别运动源图片中的右下方像素位置相关的技术,所述技术可由视频编码器20和/或视频解码器30执行。此处,(x,y)指示一个运动向量的水平分量和垂直分量。替代地,向量分量可以设定为(总和(当前PU的半宽度,M),总和(当前PU的半高度,N)),其中总和函数(a,b)返回a和b的总和。在一个实例中,当运动信息存储在4x4单元中时,M和N均被设定为等于2。在另一实例中,当运动信息存储在8x8单元中时,M和N均被设定为等于4。
'564申请还描述与当ATMVP应用时的子块/子PU大小在参数集(例如图片参数集的序列参数集)中用信号表示有关的技术,所述技术可由视频编码器20和/或视频解码器30执行。所述大小的范围从最小PU大小到CTU大小。也可对所述大小进行预定义或用信号表示。所述大小可例如与4x4一样小。替代地,子块/子PU大小可基于PU或CU的大小导出。举例来说,子块/子PU可设定成等于最大(4x4,(CU的宽度)>>M)。可在位流中对M的值进行预定义或用信号表示。
'564申请还描述与由于ATMVP可视为新合并候选者的事实而使合并候选者的最大数目增加1相关的技术,所述技术可由视频编码器20和/或视频解码器30执行。例如,与在修整之后占用合并候选者列表中的5个候选者的HEVC相比,合并候选者的最大数目可增加到6。替代地,可以针对ATMVP执行常规的TMVP候选者的修整或与常规的TMVP候选者的统一,使得合并候选者的最大数目可保持不变。替代地,当ATMVP识别为可用时从合并候选者列表排除空间相邻候选者,例如不包括提取次序中的最后一个空间相邻候选者。
'564申请还描述与当考虑多个空间相邻运动向量以导出时间向量时可基于当前PU的相邻运动向量以及由设定成等于运动向量的特定时间向量所识别的相邻运动向量计算运动向量相似性相关的技术,所述技术可由视频编码器20和/或视频解码器30执行。可将产生最高运动相似性的一个选为最终时间向量。在一个替代方案中,对于来自相邻位置N的每一运动向量,运动向量识别运动源图片中的块(与当前PU大小相同),其中其相邻位置N含有运动信息集合。将这一运动向量集合与如当前块的相邻位置N中的运动信息集合相比较。在另一替代方案中,对于来自相邻位置N的每一运动向量,所述运动向量识别运动源图片中的块,其中其相邻位置含有多个运动信息集合。将这些多个运动向量集合与来自相同相对位置中的当前PU的相邻位置的多个运动信息集合相比较。
可根据上述技术计算运动信息相似性。例如,当前PU具有来自A1、B1、A0和B0的以下运动信息集合,标示为MIA1、MIB1、MIA0和MIB0。对于时间向量TV,其识别与运动源图片中的PU相对应的块。这种块具有来自相同的相对A1、B1、A0和B0位置的运动信息,且表示为TMIA1、TMIB1、TMIA0和TMIB0。如由TV确定的运动相似性被计算为MStv=∑N∈{A1,B1,A0,B0}MVSim(MIN,TMIN),其中MVSim()界定运动信息的两个集合(MIN,TMIN)之间的相似性。在上述两种情形中,可以使用运动相似性MVSim,其中所述两个输入参数是两个运动信息,每一运动信息含有至多两个运动向量和两个参考索引。因为列表X中的运动向量中的每一对实际上与不同图片(当前图片和运动源图片)的不同列表X中的参考图片相关联。
根据上述技术,对于两个运动向量MVXN和TMVXN(其中X等于0或1)中的每一者,运动向量差MVDXN可计算为MVXN-TMVXN。然后,差MVSimX被计算为例如abs(MVDXN[0])+abs(MVDXN[1]),或(MVDXN[0]*MVDXN[0]+MVDXN[1]*MVDXN[1])。如果这两个运动信息集合含有可用运动向量,则MVSim设定成等于MVSim0+MVSim1。为了具有运动差异的统一计算,运动向量两者将需要朝向同一固定图片按比例缩放,所述固定图片可为例如当前图片的列表X的第一参考图片RefPicListX[0]。如果来自第一集合的列表X中的运动向量的可用性和来自第二集合的列表X中的运动向量的可用性不同,即,一个参考索引是-1而另一参考索引不是,那么这两个运动信息集合视为在方向X上不相似。
如果所述两个集合在两个集合中不相似,那么根据上述技术,最终MVSim函数可返回大值T,其可例如视为无限大。替代地,对于运动信息的一对集合,如果一个根据列表X(X等于0或1)而不是列表Y(Y等于1-X)预测且另一个具有相同状态,那么便可使用1与2之间的权重(例如MVSim等于MVSimX*1.5)。当一个集合仅根据列表X预测且另一个仅根据列表Y预测时,将MVSim设定成大值T。替代地,对于运动信息的任何集合,只要有一个运动向量是可用的,则两个运动向量都会产生。在仅一个运动向量可用(对应于列表X)的情况下,所述运动向量按比例缩放以形成对应于另一列表Y的运动向量。替代地,可以基于当前PU的相邻像素与通过运动向量识别的块(与当前PU相同大小)的相邻像素之间的差测量运动向量。可以将导致最小差的运动向量选为最终时间向量。
'564申请还描述与当导出当前块的时间向量时来自以ATMVP译码的相邻块的运动向量和/或时间向量可具有比来自其它相邻块的运动向量更高的优先级相关的技术,所述技术可由视频编码器20和/或视频解码器30执行。在一个实例中,首先仅检查相邻块的时间向量,且可将第一可用时间向量设定成当前块的时间向量。仅当这类时间向量不存在时,才进一步检查正常运动向量。在这种情况下,需要存储ATMVP译码块的时间向量。在另一实例中,首先仅检查来自经ATMVP译码相邻块的运动向量,且可将第一可用运动向量设定成当前块的时间向量。仅当这类时间向量不存在时,才进一步检查正常运动向量。在另一实例中,首先仅检查来自经ATMVP译码相邻块的运动向量,且可将第一可用运动向量设定成当前块的时间向量。如果此类运动向量不可用,那么时间向量的检查以类似于上文所论述的方式继续。在另一实例中,首先检查来自相邻块的时间向量,且可将第一可用时间向量设定成当前块的时间向量。如果此类运动向量不可用,那么时间向量的检查以类似于上文所论述的方式继续。在另一实例中,首先检查来自经ATMVP译码相邻块的时间向量和运动向量,且可将第一可用运动向量设定成当前块的时间向量。仅当这类时间向量和运动向量不存在时,才进一步检查正常运动向量。
'564申请还描述与当考虑多个空间相邻运动向量以导出时间向量时可选择运动向量以使得其最小化从像素域计算的失真,例如可使用模板匹配来导出时间向量以使得将导致最小匹配成本的一个选择为最终时间向量相关的技术。这些技术也可由视频编码器20和/或视频解码器30执行。
'564申请还描述用于以当运动向量在用于任何列表X(表示运动向量为MVX)的对应块中可用时对于ATMVP候选者的当前子PU,将所述运动向量视为可用于列表X(通过按比例缩放MVX)的方式执行从(运动源图片中的)对应块导出运动信息集合的技术,所述技术可由视频编码器20和/或视频解码器30执行。如果运动向量在任何列表X的对应块中不可用,那么便将运动向量视为不可用于列表X。可替代地,当对应块中的运动向量不可用于列表X但可供用于列表1-X(通过Y表示1-X且将运动向量表示为MVY)时,仍将运动向量视为可用于列表X(通过朝向列表X中的目标参考图片按比例缩放MVY)。替代地或另外,当用于列表X和列表Y(等于1-X)的对应块所述的两个运动向量可用时,来自列表X和列表Y的运动向量不一定用以直接按比例缩放来通过按比例缩放产生当前子PU的两个运动向量。在一个实例中,当编制ATMVP候选者时,如在TMVP中所进行的低延迟检查可应用于每一个子PU。如果对于当前切片的每一个参考图片列表中的每一个图片(由refPic指示),则refPic的图片次序计数(POC)值小于当前切片的POC,考虑当前切片具有低延迟模式。在此低延迟模式中,按比例缩放来自列表X和列表Y的运动向量以相应地产生列表X和列表Y的当前子PU的运动向量。当不处于低延迟模式时,仅选择和按比例缩放来自MVX或MVY的一个运动向量MVZ以产生当前子PU的两个运动向量。类似于TMVP,在这种情况下,Z设定成等于collocated_from_l0_flag,意味着其取决于如在TMVP中的位于同一地点的图片是在当前图片的列表X还是列表Y中。替代地,Z设定如下:如果识别运动源图片是来自列表X,则Z被设定成X。替代地,另外,当运动源图片属于两个参考图片列表,并且RefPicList0[idx0]是首先存在于列表0中的运动源图片且RefPicList(1)[idx1]是首先存在于列表1中的运动源图片时,Z被设定成0,如果idx0小于或等于idx1,则设定为1。
'564申请还描述用于用信号表示运动源图片的技术,所述技术可由视频编码器20和/或视频解码器30执行。详细地说,对于B切片,用信号表示指示运动源图片是来自列表0还是列表1的旗标。替代地,另外,可用信号表示当前图片的列表0或列表1的参考索引以识别运动源图片。
'564申请还描述与当识别时间向量时如果向量指向相关联运动源图片中的经帧内译码块则将其视为不可用(因此可考虑其它向量)有关的技术,所述技术可由视频编码器20和/或视频解码器30执行。
视频编码器20和/或视频解码器30可经配置以从空间和时间相邻块导出块(例如,PU)的子块(例如,子PU)的运动向量。如下文所论述,视频译码器(例如视频编码器20或视频解码器30)可从三维域中的相邻块的信息导出PU的每一子PU的运动向量。这意味着相邻块可为当前图片中的空间相邻者或先前译码图片中的时间相邻者。下文更详细地论述的图10是说明实例空间-时间运动向量预测符(STMVP)导出过程的流程图。另外,上文关于'564申请的项目符号#1、#2、#3、#4、#6、#7、#12和#13所描述的方法可以直接扩展到STMVP。
在以下描述中,术语“块”用于指代用于存储例如帧间或帧内预测、帧内预测模式、运动信息等预测相关信息的块单元。此类预测信息被保存并且可以用于对未来块进行译码,例如,预测未来块的预测模式信息。在AVC和HEVC中,此块的大小是4x4。
应注意在以下描述中,‘PU’指示经帧间译码块单元且子PU指示从相邻块导出运动信息的单元。
视频编码器20和/或视频解码器30可经配置以单独或以任何组合应用以下方法中的任一者。
子PU和相邻块的大小:考虑具有多个子PU的PU,子PU的大小通常等于或大于相邻块大小。在一个实例中,如图11A中所示,加阴影正方形表示在当前PU外部的相邻块(使用小写字母a、b、...i表示)且剩余正方形(使用大写字母A、B、...、P表示)表示当前PU中的子PU。子PU和其相邻块的大小是相同的。举例来说,所述大小等于4x4。图11B展示其中子PU大于相邻块的另一实例。以此方式,用于运动信息导出的相邻块的大小可等于或小于对于其导出运动信息的子块的大小。替代地,子PU可采取非正方形形状,例如矩形或三角形形状。此外,子PU的大小可在切片标头中用信号表示。在一些实例中,上文关于例如在参数集中用信号表示子块或子PU大小所论述的过程可扩展到这些技术。举例来说,子PU大小可在参数集中用信号表示,例如序列参数集(SPS)或图片参数集(PPS)。
相对于图11A的实例,假定视频译码器将光栅扫描次序(A、B、C、D、E等)应用于子PU以导出子块的运动预测。然而,也可应用其它扫描次序且应注意这些技术不仅限于光栅扫描次序。
相邻块可分类成两个不同的类型:空间和时间。空间相邻块是在当前图片或切片中且与当前子PU相邻的已经译码块或已经扫描的子PU。时间相邻块是在先前经译码的图片中且与当前子PU的位于同一地点的块相邻的块。在一个实例中,视频译码器使用与当前PU相关联的所有参考图片以获得时间相邻块。在另一实例中,视频译码器使用参考图片的子集用于STMVP导出,例如每一参考图片列表的仅第一条目。
遵循这些定义,对于子PU(A),进一步参看图11A,所有白色块(a、b、...、i)及其在经先前译码图片中位于同一地点的块是被视为可用的空间和时间相邻块。根据光栅扫描次序,块B、C、D、E...P在空间上不可用于子PU(A)。但是,所有子PU(从A到P)都是PU(A)的时间上可用的相邻块,因为它们的运动信息可以在它们在先前经译码图片中的位于同一地点的块中找到。将子PU(G)作为另一实例,可用的其空间相邻块包含从a、b...到i的那些,并且还包含从A到F的那些。此外,在一些实例中,某些限制可应用于空间相邻块,例如,空间相邻块(即,从a、b...到i)可限于在同一LCU/切片/图块中。
视频译码器(视频编码器20或视频解码器30)可选择所有可用相邻块的子集以导出每一子PU的运动信息或运动字段。用于每一PU的导出的子集可为预定义的;替代地,视频编码器20可用信号表示(且视频解码器30可接收用信号表示的数据,其指示)子集为切片标头、PPS、SPS或类似物中的高层级语法。为了最优化译码性能,对于每一子PU子集可以是不同的。在实践中,为简单起见,子集的位置的固定模式是优选的。例如,每一子PU可以使用其正上方空间相邻者、其直接左侧空间相邻者和其直接右下方时间相邻者作为子集。相对于图11A的实例,当考虑子PU(J)(水平地散列)时,上方块(F)和左边块(I)(对角地左下散列)是空间上可用的相邻块,且右下块(O)(在两个方向上对角地散列)是时间上可用的相邻块。通过此子集,当前PU中的子PU将由于处理相依性而循序地处理(以已定义次序,例如光栅扫描次序)。
另外或替代地,当考虑子PU(J)时,视频编码器20和视频解码器30可将上方块(F)和左边块(I)视为空间上可用的相邻块,且将下方块(N)和右边块(K)视为时间上可用的相邻块。通过此子集,视频编码器20和视频解码器30可由于处理相依性而循序地处理当前PU中的子PU。
为了允许当前PU中的每一子PU的并行处理,视频编码器20和视频解码器30可使用一些子PU的相邻块的不同子集用于运动预测导出。在一个实例中,可定义仅含有并不属于当前PU的空间相邻者块的子集,例如,块a、b、...i。在这种情况下,并行处理将是可能的。
在另一实例中,对于给定子PU来说,如果所述子PU空间相邻块在当前PU内,那么所述空间相邻块的位于同一地点的块可放在子集中并且用于导出当前子PU的运动信息。例如,当考虑子PU(J)时,选择上方块(F)和左边块(I)以及右下块(O)的时间上位于同一地点的块作为子集以导出子PU(J)的运动。在此情况下,子PU(J)的子集含有三个时间相邻块。在另一实例中,可启用部分并行处理,其中一个PU被分裂成若干个区并且可独立地处理每个区(覆盖几个子PU)。
有时,相邻块经帧内译码,其中期望具有确定那些块的替换运动信息的规则,以获得更好的运动预测和译码效率。例如,考虑到子PU(A),可能存在块b、c和/或f经帧内译码,并且a、d、e、g、h和i经帧间译码的情况。对于空间相邻者,视频编码器20和视频解码器30可使用预定义次序来用首先发现的经帧间译码块的运动信息填入经帧内译码块的运动信息。举例来说,上方相邻者的搜索次序可设定为从正上方相邻者开始向右直到最右相邻者,意味着b、c、d和e的次序。左边相邻者的搜索次序可设定为从紧邻左边的相邻者开始向下直到最下方相邻者,意味着f、g、h和i的次序。如果在整个搜索过程没有发现经帧间译码块,那么上方或左边空间相邻者被视为不可用的。对于时间相邻者,可使用如在TMVP导出中所规定的相同规则。然而,应注意也可使用其它规则,例如,基于运动方向、时间距离(不同参考图片中的搜索)和空间位置等的规则。
视频编码器20和视频解码器30可使用以下方法用于根据本发明的技术导出给定子PU的运动信息。视频编码器20和视频解码器30可首先确定目标参考图片,且执行运动向量按比例缩放。对于每一相邻块,运动向量按比例缩放可基于每一参考图片列表应用于其运动向量,以便将所有相邻块的运动向量映射到每一列表中的同一参考图片。存在两个步骤:第一,确定待用于缩放的源运动向量。第二,确定源运动向量所投影到的目标参考图片。对于第一步骤,可以使用几种方法:
a)对于每一参考列表,运动向量缩放独立于另一参考列表中的运动向量;对于给定块的运动信息,如果在参考列表中没有运动向量(例如单向预测模式而非双向预测模式),那么便不对所述列表执行运动向量缩放。
b)运动向量缩放不独立于另一参考列表中的运动向量;对于给定块的运动信息,如果在参考列表中没有运动向量不可用,那么便可根据另一参考列表中的一个运动向量对其进行缩放。
c)两个运动向量是从一个预定义参考列表(如TMVP中)按比例缩放
在一个实例中,根据本发明的技术,视频编码器20和视频解码器30使用上述方法a)用于按比例缩放空间相邻块的运动向量,且使用上述方法c)用于按比例缩放时间相邻块的运动向量。然而,在其它实例中可使用其它组合。
对于第二步骤,可根据某一规则基于可用空间相邻块的运动信息(例如,参考图片)选择目标参考图片。这种规则的一个实例是少数服从多数原则,即选择由大多数块共享的参考图片。在这种情况下,从编码器到解码器的目标参考图片不需要信令,因为也可以使用相同的规则在解码器侧推断出相同的信息。替代地,这类参考图片也可以在切片标头中显式地指定或以一些其它方法用信号表示到解码器。在一个实例中,将目标参考图片确定为每一参考列表的第一参考图片(refidx=0)。
在确定目标参考图片且根据需要按比例缩放运动向量之后,视频编码器20和视频解码器30导出给定子PU的运动信息。假设存在N个可用相邻块,其具有给定子PU的运动信息。首先,视频编码器20和视频解码器30确定预测方向(InterDir)。用于确定预测方向的一个简单方法如下:
a.将InterDir初始化为零,然后循环遍历N个可用相邻块的运动信息;
b.如果在列表0中存在至少一个运动向量,那么InterDir=(InterDir bitwiseOR1);
c.如果在列表1中存在至少一个运动向量,那么InterDir=(InterDir bitwiseOR2)。
此处“bitwiseOR”表示逐位OR运算。在此实例中,InterDir的值定义为:0(无帧间预测)、1(基于列表0的帧间预测)、2(基于列表1的帧间预测)以及3(基于列表0和列表1两者的帧间预测)。
替代地,类似于对用于上述运动向量按比例缩放的目标参考图片的确定,少数服从多数原则可基于所有可供使用的相邻块的运动信息用于确定给定子PU的InterDir的值。
在确定InterDir之后,可导出运动向量。对于基于导出的InterDir的每个参考列表,可存在通过运动向量按比例缩放到目标参考图片可用的M个运动向量(M<=N),如上所述。参考列表的运动向量可导出为:
其中wi和wj是分别用于水平和垂直运动分量的加权因数,且Oi和Oj是取决于加权因数的偏移值。
加权因数可基于各种因数来确定。在一个实例中,相同规则可适用于一个PU内的所有子PU。规则可以定义如下:
·举例来说,可基于当前子PU和对应相邻块的位置距离来确定加权因数。
·在另一实例中,也可基于目标参考图片与和在按比例缩放之前对应相邻块的运动向量相关联的参考图片之间的POC距离确定加权因数。
·在又一实例中,可基于运动向量差或一致性来确定加权因数。
·为简单起见,所有加权因数也可设定成1。
可替代地,可将不同规则应用于一个PU内的子PU。举例来说,可应用以上规则,另外,对位于第一行/第一列的子PU来说,将从时间相邻块导出的运动向量的加权因数设定成0,而对剩余块来说,将从空间相邻块导出的运动向量的加权因数设定成0。
应注意,在实践中,以上和以下等式可按原样实现,或为易于实施而简化。举例来说,为避免除法或浮点运算,可使用定点运算来估算以上等式。一个实例是为避免除以3,可替代地选择为乘以43/128,从而用乘法和位偏移替代除法运算。应在与本公开技术相同的精神下考虑实施方案中的那些变型。
另外或替代地,当过程调用两个运动向量时,等式(1)可被以下等式(2)取代:
另外或替代地,当过程调用三个运动向量时,等式(1)可被以下等式(3)取代:
另外或替代地,当过程调用四个运动向量时,等式(1)可被以下等式(4)取代:
其中sign(t)在t为正值的情况下是1且在t为负值的情况下是-1。
另外或替代地,还可应用非线性操作以导出运动向量,例如中值滤波器。
视频编码器20和视频解码器30可进一步确定这些技术的运动向量可用性。即使每个子PU的运动向量预测符是可用的,STMVP模式仍可复位为对一个PU不可用。举例来说,一旦针对给定PU导出每一子PU的运动向量预测符,那么便执行一些可用性检查以确定是否应使得STMVP模式可供用于给定PU。使用这种运算以消除其中对于给定PU来说最终选择STMVP模式是极不可能的情况。当STMVP模式不可用时,模式信令不包含STMVP。在STMVP模式通过在合并列表中插入SMTVP来实施的情况下,当STMVP模式确定为不可用时,合并列表并不包含此STMVP候选。因此,可以减少信令开销。
考虑将一个PU分割成M个子PU。在一个实例中,如果M个子PU当中的N1(N1<=M)个子PU具有相同的运动向量预测符(即相同运动向量和相同参考图片索引),那么当N1小于阈值或预测符不同于合并列表中的其它运动向量预测符(具有较小合并索引)时,仅STMVP可供使用。在另一实例中,如果N2(N2<=M)个处于STMVP模式下的子PU共享与处于ATMVP模式下的相对应的子PU相同的运动向量预测符,那么当N2小于另一阈值时,仅STMVP可用。在一个实例中,用于N1和N2的两个阈值设定成等于M。
视频编码器20和视频解码器30可随后将导出的运动预测符插入到候选者列表中,例如合并列表。如果STMVP候选者可用,那么视频编码器20和视频解码器30可将STMVP候选者插入到候选者列表(例如,合并列表)中。'564申请的项目编号#1中的过程可扩展,且可在ATMVP候选者之前或之后插入STMVP候选者。在一个实例中,视频编码器20和视频解码器30在合并列表中紧接在ATMVP候选者之后插入STMVP。
在一些实例中,合并/AMVP模式的当前设计可存在一或多个缺点。作为一个实例,在ATMVP中,视频编码器20和/或视频解码器30在第一级中从当前PU的空间和时间相邻块导出向量。使用第一级中的导出向量与使用固定起始点(例如零向量)相比可以带来额外的译码益处。然而,从相邻者导出的向量对于获得当前块的运动向量预测符可能是次最佳的。作为另一实例,对于AMVP模式,视频编码器20和/或视频解码器30用信号表示参考索引以及运动向量差,而对于合并模式,视频编码器20和/或视频解码器30并不用信号表示运动信息(包含参考索引和运动向量)。实际上,在合并模式中,视频编码器20和/或视频解码器30在可能的按比例缩放之后从空间或时间相邻块继承运动信息。因此,通过使用额外模式可实现译码益处,所述额外模式可改进运动向量预测符准确性同时保持用信号表示较少辅助信息。
根据本发明的一或多种技术,视频编码器20和/或视频解码器30可显式地用信号表示向量,且基于用信号表示的向量导出用于运动补偿的实际运动信息。所述向量可称为偏移向量或块偏移。在一些实例中,所述向量可用以识别可从其中获得实际运动信息的块。在一些实例中,所述向量可用作用于运动补偿的一个块的运动向量,且参考图片索引可以预定义而无需用信号表示。
在一个实例中,新译码模式用作ATMVP模式的步骤1中的隐式地导出的向量的代替。即,并非从当前块(例如,PU)的空间和时间相邻块导出向量,可显式地用信号表示步骤1的向量(块偏移)。块偏移指示位于同一地点块在何处且正调用ATMVP过程(时间运动向量导出)。替代地,从指定块导出运动向量不限于ATMVP,例如STMVP、常规TMVP等其它导出也适用于本发明。
在一些实例中,视频编码器20和/或视频解码器30可用信号表示PU的多于一个偏移。作为另一实例,视频编码器20和/或视频解码器30可用信号表示两个块偏移以单独地指示从何处导出L0和L1运动。作为另一实例,视频编码器20和/或视频解码器30可甚至针对一个预测列表(L0或L1)用信号表示多于一个偏移。
位于同一地点的图片的信令。除向量(即,偏移向量)之外,视频编码器20和/或视频解码器30还可用信号表示在块层级从其导出时间运动向量预测符的位于同一地点的图片的识别。在一些实例中,视频编码器20和/或视频解码器30可从现有合并候选者或相邻块的运动信息导出从其导出时间运动向量预测符的位于同一地点的图片的识别,所述运动信息例如在合并候选者导出过程中未使用的相邻块的运动信息。
块偏移的信令。视频编码器20和/或视频解码器30可使用预测性译码来最小化偏移向量的信令成本。举例来说,视频编码器20可用信号表示偏移向量差,其可添加到偏移向量预测符以获得偏移向量(即,块偏移=块偏移预测符+块偏移差)。在一些实例中,不同于使用分数像素作为网格中的基本单元的规则运动向量,偏移向量可能使用位于同一地点的图片中的最小运动向量存储单元作为网格中的基本单元。作为一个实例,如果位于同一地点的图片中的每一4x4块可存储与其相邻块不同的运动向量,那么块偏移的基本单元是4个像素。作为另一实例,如果位于同一地点的图片中的运动向量存储于NxM块中,那么块偏移的基本单元可为y轴(垂直)中的N个像素和x轴(水平)中的M个像素。
支持区。在一些实例中,偏移向量可能覆盖位于同一地点的图片中的所有块。在一些实例中,基于当前块的位置和帧边界,偏移向量的x和y分量均可为有界的。码字范围可能逐个块经调整。举例来说,对于一个块,x可能范围为从-128到256且y可能范围为从-64到32。对于在其右边的块,x可能范围为从-120到262且y可能范围为从-64到32。
在一些实例中,块偏移的范围可限于帧的一部分。所述范围可能预定义或经由高层级语法(SPS、PPS、切片标头等)用信号表示。为了高效地用信号表示偏移,码字可能已基于偏移范围而定义。举例来说,截断一元或截断哥伦布码用以单独地用信号表示x和y分量且截断点是基于偏移范围。在另一实例中,x和y分量可能一起用信号表示。可能使用预定义二进制化来界定每一有效的块偏移的码字。
在一些实例中,范围中的两个允许的块偏移之间的距离可能大于一个基本单元。举例来说,一个块可将范围设定为x,y∈{-3,-2,-1,0,1,2,3}
其中两个允许的块偏移之间的距离是一个基本单元,且另一个块可将范围设定为x,y∈{-6,-4,-2,0,2,4,6}
其中两个允许的块偏移之间的距离是两个基本单元。
如上文所论述,基本单元可大于单个像素。举例来说,基本单元可为可存储其运动向量的参考图片中的最小块大小。因此,在块偏移的范围是
x,y∈{-3,-2,-1,0,1,2,3}
且基本单元是4x4的情况下,块偏移可识别(即,指向)参考图片中多达当前块上方或下方三个块(即,12个像素)和当前块左边或右边三个块(即,12个像素)的块。
在一些实例中,偏移范围中的偏移点可能不均匀地分布。举例来说,一个块可将范围设定为x,y∈{-8,-4,-2,0,2,4,8}
其中偏移之间的距离增加。
在一些实例中,两个允许的块偏移之间的距离可能大于一个基本单元且偏移范围中的偏移点可能不均匀地分布。范围选择可基于当前图片与位于同一地点的图片之间的POC差、偏移预测符、偏移的振幅或在高层级语法中指定。
举例来说,一个块可将范围设定为x,y∈{-3,-2,-1,0,1,2,3}
前提是当前图片与位于同一地点的图片之间的POC差是一。这表示矩形支持区且允许在所述矩形区内用信号表示任何块偏移。另一块可将范围设定为x,y∈{-6,-4,-2,0,2,4,6}
此时POC差是四。这表示另一矩形支持区且允许在所述矩形区内用信号表示每四个块偏移中的仅一个。另一块可将范围设定为x,y∈{-8,-4,-2,0,2,4,8}。
这表示另一矩形支持区且当其具有距预测符的较长距离时允许的块偏移较不密集。在一个特定实例中,所述范围可为x,y∈{-8,-4,-2,-1,0,1,2,4,8}
此时POC差小于二,且
x,y∈{-16,-8,-4,-2,0,2,4,8,16}
此时POC差大于一且小于四,且
x,y∈{-32,-16,-8,-4,0,4,8,16,32}
此时POC差大于三。
在一些实例中,可不用信号表示块偏移的x或y分量的正负号。实际上,可从x和y分量的振幅导出(例如,确定)正负号。举例来说,y分量的正负号可等于x分量的振幅与y分量的振幅的总和是否是奇数(例如,当x分量的振幅和y分量的振幅是偶数时y分量的正负号可为正,且当x分量的振幅和y分量的振幅是奇数时可为负,或反之亦然)。还可能考虑一些其它因数以确定块偏移的正负号,例如当前块的位置、当前块的大小和/或当前块的宽度/高度。
在一些实例中,范围内的多于一个偏移可导致相同的时间运动向量预测符,或范围内的一些偏移可指向帧内块。因此,可能在信令之前(即,从范围)修整一些冗余偏移。
偏移预测符。一或多个块偏移预测符可能基于相邻者的某一检查次序从当前块的空间或时间相邻者导出。当导出多个块偏移预测符时,可以这些导出预测符的函数计算最终块偏移预测符。作为一个实例,所述函数可以界定为平均值或主要块偏移预测符。作为另一实例,第一可用偏移预测符可基于相邻者的某一检查次序而直接用作当前块的偏移预测符。作为另一实例,可用信号表示一个索引以指示哪一偏移向量用作当前块的偏移预测符。作为另一实例,检查次序可定义为与用于合并候选者导出的次序相同。作为另一实例,当相邻者中的一者使用所提出的模式(例如,ATMVP)时,块的块偏移可能用作当前块的块偏移预测符。作为另一实例,当相邻块中的一者具有相对于位于同一地点的图片(即,参考图片)的运动向量时,所述运动向量可能根据当前块的范围集合和用于运动存储的基本单元的大小而经按比例缩放或修改,并且接着用作当前块的块偏移预测符。作为另一实例,当相邻块中的一者具有运动向量但指向除位于同一地点的图片外的参考图片时,所述运动向量可能根据POC信息、当前块的范围集合和用于运动存储的基本单元的大小而经按比例缩放或修改,并且接着用作当前块的块偏移预测符。
以上所提到的实例的组合可按照在其它实例之前应用实例的次序以特定优先级来应用。在一个实例中,使用ATMVP模式的相邻者具有最高优先级,具有相对于位于同一地点的图片的运动向量的相邻者具有第二最高优先级,且具有指向除位于同一地点的图片外的参考图片的运动向量的相邻者具有最低优先级。如果不存在经帧间预测相邻块,那么零块偏移用作预测符。在一个实例中,块偏移预测符被定义为当前ATMVP模式中使用的预测符,即,从空间和时间相邻块导出的预测符。
运动向量差(MVD)的信令。在一些实例中,运动向量差(MVD)未用信号表示且默认地设定为零(例如,以节省位)。在一些实例中,运动向量差可基于所提出的方法用信号表示(例如,以得到较好的运动补偿预测)。
作为一个实例,对于每一WxH块针对列表0、列表1或列表0和列表1两者用信号表示MVD。大小WxH可不同于如上文所描述的NxM。作为另一实例,从位于同一地点的图片取到的运动向量是通过检查其列表0、列表1或列表0和列表1运动信息而根据其相似性分组在一起。随后对于每一群组针对列表0、列表1或列表0和列表1运动用信号表示MVD。作为另一实例,通过针对搜索范围内的每一WxH块使列表0的L0与L1运动之间的经预测像素的差最小化来导出MVD。
视频编码器20可例如在帧标头、块标头、切片标头或GOP标头中进一步将例如基于块的语法数据、基于帧的语法数据及基于GOP的语法数据等语法数据发送到视频解码器30。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以编码相对应的帧的编码/预测模式。
视频编码器20和视频解码器30各自可实施为可适用的多种合适的编码器或解码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为组合式视频编码器/解码器(编解码器)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如,蜂窝式电话。
图2是说明可实施用于高级时间运动向量预测(ATMVP)的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一种。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的译码模式中的任一个。
如图2中所示出,视频编码器20接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60及求和器62。还可包含解块滤波器(图2中未示出)以对块边界进行滤波从而从经重构视频去除成块效应假象。在需要时,解块滤波器将通常滤波求和器62的输出。除了解块滤波器外,还可使用额外滤波器(环路中或环路后)。为简洁起见未图示这些滤波器,但是必要时,这些滤波器可对求和器50的输出进行滤波(作为环路内滤波器)。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划分成多个视频块。运动估计单元42及运动补偿单元44相对于一个或多个参考帧中的一个或多个块执行所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测性译码以提供空间预测。视频编码器20可执行例如多个译码遍次,以针对每一视频数据块选择适当的译码模式。
此外,分割单元48可基于前述译码遍次中的前述分割方案的评估将视频数据块分割成子块。举例来说,分割单元48可起初将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示将LCU分割成若干子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU及一或多个TU。
模式选择单元40可例如基于误差结果选择帧内或帧间译码模式中的一者,且将所得帧内或帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重构经编码块供用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供给熵编码单元56。
运动估计单元42及运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测性块是被发现在像素差方面与待译码块紧密匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
运动估计单元42通过比较帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置来计算PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来获取或产生预测性块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测性块。求和器50通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42相对于亮度分量执行运动估计,并且运动补偿单元44对于色度分量及亮度分量两者使用基于亮度分量计算的运动向量。模式选择单元40也可产生与视频块和视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
模式选择单元40还可以为块(例如,PU)选择子块(例如,子PU)运动导出模式。即,模式选择单元40可比较某一范围的编码遍次之间的多种编码因数,包含预测模式,以确定哪一编码遍次(且因此,哪一因数集合,包含哪一预测模式)产生合意的速率失真优化(RDO)特性。当模式选择单元40为视频数据块(例如,PU)选择子块运动信息导出模式时,运动补偿单元44可使用本发明的技术来预测所述块。
确切地说,使用子块运动信息导出模式,运动补偿单元44可导出块的子块的运动信息。举例来说,运动补偿单元44可针对每一子块确定两个或更多个相邻子块的运动信息且从相邻子块的运动信息导出子块的运动信息。相邻子块可包含(例如)空间和/或时间相邻子块。在一个实例中,运动补偿单元44通过将左边相邻空间子块、上方相邻空间子块和右下方时间相邻子块的运动信息(例如,运动向量)平均化来导出每一子块的运动信息,如下文相对于图11A更详细地论述。在其它实例中,运动补偿单元44可使用例如上方等式(1)-(4)中的一者导出每一子块的运动信息。运动补偿单元44可使用子块中的每一者的导出的运动信息以确定子块的预测数据。通过检索子块中的每一者的此预测数据,运动补偿单元44使用子块运动信息导出模式产生当前块的经预测块。
作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。确切地说,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可例如在单独编码遍次期间使用各种帧内预测模式对当前块进行编码,且帧内预测单元46(或在一些实例中,模式选择单元40)可从测试模式选择适当的帧内预测模式来使用。
举例来说,帧内预测单元46可以使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以从用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所述块来说展现最佳速率失真值。
在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20在发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,以及对最可能帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
视频编码器20通过从正译码原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。还可以使用小波变换、整数变换、子带变换或其它类型的变换。在任何状况下,变换处理单元52向残余块应用所述变换,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可以通过调节量化参数来修改量化程度。在一些实例中,量化单元54可接着对包含经量化变换系数的矩阵执行扫描。替代地,熵编码单元56可执行扫描。
在量化后,熵编码单元56熵译码经量化变换系数。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可以将经编码位流发射到另一装置(例如,视频解码器30),或者将所述经编码位流存档以用于稍后发射或检索。
此外,熵编码单元56可对用于各种视频数据块的各种其它语法元素进行编码。举例来说,熵编码单元56可对表示用于视频数据的每一CU的每一PU的预测模式的语法元素进行编码。当针对PU指示帧间预测时,熵编码单元56可对运动信息进行编码,所述运动信息可包含是使用合并模式还是高级运动向量预测(AMVP)对运动向量进行编码。在任一情况下,视频编码器20形成候选者列表,其包含可从中预测运动信息的候选者(PU的空间和/或时间相邻块)。根据本发明的技术,候选者列表可包含指示子块运动信息导出模式将用于PU的候选者。此外,熵编码单元56可将候选者索引编码为指示将使用候选者中的那一个的候选者列表。因此,如果选择子块运动信息导出模式,那么熵编码单元56对指代表示子块运动信息导出模式的候选者的候选者索引进行编码。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块,例如以供稍后用作参考块。运动补偿单元44可通过将残余块添加到参考图片存储器64的帧中的一个的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构的残余块以计算子整数像素值用于运动估计。求和器62将经重构构的残余块添加到由运动补偿单元44产生的经运动补偿的预测块,以产生经重构构的视频块以用于存储于参考图片存储器64中。经重构构的视频块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧中的块进行帧间译码。
以此方式,视频编码器20表示视频编码器的实例,所述视频编码器经配置以确定当前视频数据块的运动预测候选者指示将针对当前块的子块导出运动信息,且响应于所述确定:将当前块分割为子块,针对子块中的每一者,使用至少两个相邻块的运动信息导出运动信息,且使用相应导出运动信息对子块进行解码。即,视频编码器20使用本发明的技术对视频数据块进行编码和解码。
图3是说明可实施用于高级时间运动向量预测(ATMVP)的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行总体上与关于视频编码器20(图2)描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频块的视频块及相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级处接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可以基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量和其它语法元素产生当前视频切片的视频块的预测性块。可从参考图片列表中的一个内的参考图片中的一个产生预测性块。视频解码器30可以基于存储在参考图片存储器82中的参考图片使用默认构造技术构造参考帧列表,即列表0及列表1。
运动补偿单元72通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,且使用所述预测信息产生用于经解码的当前视频块的预测块。举例来说,运动补偿单元72使用所接收语法元素中的一些确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的建构信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据所接收的语法元素来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
根据本发明的技术,当使用帧间预测预测例如PU的块时,熵解码单元70对参考候选者列表的候选者索引的值进行解码,且将候选者索引的值传递到运动补偿单元72。候选者索引的值可参考候选者列表中表示使用子块运动信息导出模式来预测块的候选者。如果候选者索引的值确实参考候选者列表中表示使用子块运动信息导出模式来预测块的候选者,那么运动补偿单元72可使用子块运动信息导出模式产生块的经预测块。
更确切地说,使用子块运动信息导出模式,运动补偿单元72可导出块的子块的运动信息。举例来说,运动补偿单元72可针对每一子块确定两个或更多个相邻子块的运动信息且从相邻子块的运动信息导出子块的运动信息。相邻子块可包含(例如)空间和/或时间相邻子块。在一个实例中,运动补偿单元72通过将左边相邻空间子块、上方相邻空间子块和右下方时间相邻子块的运动信息(例如,运动向量)平均化来导出每一子块的运动信息,如下文相对于图11A更详细地论述。在其它实例中,运动补偿单元72可使用例如上方等式(1)-(4)中的一者导出每一子块的运动信息。运动补偿单元72可使用子块中的每一者的导出的运动信息以确定子块的预测数据。通过检索子块中的每一者的此预测数据,运动补偿单元72使用子块运动信息导出模式产生当前块的经预测块。
逆量化单元76将提供于位流中且由熵解码单元70解码的经量化变换系数逆量化,即,解量化。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算以确定应应用的量化程度及同样的逆量化程度的量化参数QPY。
逆变换单元78将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数以便产生像素域中的残余块。
在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自逆变换处理单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行此求和运算的一或多个组件。必要时,解块滤波器还可应用于对经解码块进行滤波以便移除成块效应假象。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。
以此方式,视频解码器30表示视频解码器的实例,所述视频解码器经配置以确定当前视频数据块的运动预测候选者指示将针对当前块的子块导出运动信息,且响应于所述确定:将当前块分割为子块,针对子块中的每一者,使用至少两个相邻块的运动信息导出运动信息,且使用相应导出运动信息对子块进行解码。
图4是说明HEVC中的空间相邻候选者的概念图。虽然图4示出对于特定PU(PU0)从相邻块导出空间MV候选者,但是从块生成候选者的方法对于合并模式和AMVP模式有所不同。
在合并模式中,可以带有数字的图4(a)中所展示的次序来导出高达四个空间MV候选,且次序如下:左侧(0,A1)、上方(1,B1)、右上方(2,B0)、左下方(3,A0)和左上方(4,B2),如图4(a)中所示。即在图4(a)中,块100包含PU0 104A和PU1 104B。当视频译码器将使用合并模式对PU0 104A的运动信息进行译码时,视频译码器将来自空间相邻块108A、108B、108C、108D和108E的运动信息以所述次序添加到候选者列表。块108A、108B、108C、108D和108E也可分别称作如在HEVC中的块A1、B1、B0、A0和B2。
在AVMP模式中,相邻块分成两个群组:包含块0和1的左群组,以及包含块2、3和4的上群组,如图4(b)上所示。将这些块分别标记为图4(b)中的块110A、110B、110C、110D和110E。具体地说,在图4(b)中,块102包含PU0 106A和PU1 106B,且块110A、110B、110C、110D和110E表示PU0 106A的空间相邻者。对于每一群组,如用信号表示的参考索引所指示的参考同一参考图片的相邻块中的潜在候选者具有最高待选优先级,以形成所述群组的最终候选者。有可能所有相邻块均不含指向同一参考图片的运动向量。因此,如果无法找到这种候选,那么可按比例缩放第一可用候选者以形成最终候选者;因而可补偿时间距离差。
图5是说明HEVC中的时间运动向量预测的概念图。具体地说,图5(a)说明包含PU0122A和PU1 122B的实例CU 120。PU0 122A包含PU 122A的中心块126和PU0 122A的右下块124。图5(a)还展示可根据PU0 122A的运动信息来预测运动信息的外部块128,如下文所论述。图5(b)说明包含运动信息待预测的当前块138的当前图片130。具体地说,图5(b)说明当前图片130的位于同一地点的图片134(包含当前块138的位于同一地点的块140)、当前参考图片132和位于同一地点的参考图片136。使用运动向量144来预测位于同一地点的块140,所述运动向量用作块138的运动信息的时间运动向量预测符(TMVP)142。
如果启用TMVP且TMVP候选者是可用的,那么在任何空间运动向量候选者之后,视频编码器可将TMVP候选者(例如TMVP候选者142)添加到MV候选者列表中。TMVP候选者的运动向量导出的过程对于合并模式和AMVP模式相同。然而,根据HEVC,合并模式中TMVP候选者的目标参考索引被设定成0。
TMVP候选者导出的主块位置是位于同一地点的PU外部的右下块,如在图5(a)中展示为PU0 122A的块124,其用于补偿对用以生成空间相邻候选者的左上方块的偏置。然而,如果块124定位于当前CTB行的外部或运动信息对于块124不可用,则所述块由如图5(a)中所示的PU的中心块126取代。
TMVP候选者142的运动向量是从位于同一地点的图片134的位于同一地点的块140导出,如切片层级信息中指示。
类似于AVC中的时间直接模式,TMVP候选者的运动向量可以经历运动向量按比例缩放,执行运动向量按比例缩放以补偿当前图片130与当前参考图片132之间、以及位于同一地点的图片134与位于同一地点的参考图片136之间的图片次序计数(POC)距离差。也就是说,可以基于这些POC差来按比例缩放运动向量144以产生TMVP候选者142。
下文论述HEVC的合并和AMVP模式的若干方面。
运动向量按比例缩放:假定运动向量的值与图片在呈现时间中的距离成比例。运动向量将两个图片,即参考图片和包含运动向量的图片(即包含图片)相关联。当视频编码器20或视频解码器30使用运动向量预测另一运动向量时,基于图片次序计数(POC)值计算包含图片与参考图片之间的距离。
对于待预测的运动向量,其相关联的包含图片和参考图片是不同的。即,存在两个POC差值用于两个相异的运动向量:将预测的第一运动向量,和用以预测第一运动向量的第二运动向量。此外,第一POC差是当前图片与第一运动向量的参考图片之间的差,且第二POC差是含有第二运动向量的图片与第二运动向量参考的参考图片之间的差。第二运动向量可基于这两个POC距离按比例缩放。对于空间相邻候选者,两个运动向量的包含图片相同,而参考图片不同。在HEVC中,运动向量按比例缩放适用于空间和时间相邻候选者的TMVP和AMVP两者。
人工运动向量候选者产生:如果运动向量候选者列表未完成,那么可产生人工运动向量候选者且插入在列表的末尾直到列表包含预定数目的候选者为止。
在合并模式中,如果第一类型不提供足够人工候选者,那么便存在两种类型的人工MV候选者:仅针对B切片导出的组合候选者和仅针对AMVP使用的零候选者。
对于已经在候选者列表中且具有必要的运动信息的每对候选者,双向组合的运动向量候选者可通过参考列表0中的图片的第一候选者的运动向量与参考列表1中的图片的第二候选者的运动向量的组合导出。
以下是用于候选者插入的实例修整过程的描述。来自不同块的候选者可碰巧是相同的,这降低了合并/AMVP候选者列表的效率。可应用修整过程解决这一问题。根据修整过程,视频译码器比较一个候选者与当前候选者列表中的其它候选者以在一定程度上避免插入相同候选者。为了减少复杂性,应用仅有限数目的修整过程,而不是比较每一潜在候选者与已经在列表中的所有其它现有候选者。
图6说明3D-HEVC的实例预测结构。3D-HEVC是由JCT-3V开发的HEVC的3D视频扩展。与本发明的技术有关的关键技术在此小节中描述。
图6展示针对三视图情况的多视图预测结构。V3表示基础视图,并且非基础视图(V1或V5)中的图片可从同一时间实例的从属(基础)视图中的图片中预测。
值得一提,在MV-HEVC中支持视图间样本预测(根据重构样本),所述MV-HEVC的典型预测结构在图8中展示。
MV-HEVC和3D-HEVC都以HEVC(版本1)解码器可解码基础(纹理)视图的方式与HEVC兼容。在Zhang等人的“3D-HEVC和MV-HEVC的测试模型6(Test Model 6of 3D-HEVC and MV-HEVC)”(JCT-3V文档ISO/IEC JTC1/SC29/WG11 N13940,可在mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/test-model-6-3d-hevc-and-mv-hevc获得,2015年1月26日)中描述了用于MV-HEVC和3D-HEVC的测试模型。
在MV-HEVC中,通过将所有这些图片放置在图片的参考图片列表中,可以通过同一视图中的两个图片和同一时间实例的参考视图中的图片来预测非基础视图中的当前图片。因此,当前图片的参考图片列表含有时间参考图片和视图间参考图片两者。
与对应于时间参考图片的参考索引相关联的运动向量表示为时间运动向量。
与对应于视图间参考图片的参考索引相关联的运动向量表示为视差运动向量。
3D-HEVC支持MV-HEVC中的所有特征;因此,能够实现如上所提到的视图间样本预测。
另外,支持更高级的仅纹理译码工具和深度相关/从属译码工具。
仅纹理译码工具经常需要可属于同一对象的对应的块(在视图之间)的识别。因此,视差向量导出是3D-HEVC中的基本技术。
图7是说明3D-HEVC中的基于子PU的视图间运动预测的概念图。图7展示当前视图(V1)的当前图片160和参考视图(V0)中的位于同一地点的图片162。当前图片160包含当前PU 164,所述当前PU包含四个子PU 166A-166D(子PU 166)。相应视差向量174A-174D(视差向量174)识别位于同一地点的图片162中的子PU 166的对应子PU 168A-168D。3D-HEVC描述用于视图间合并候选者的子PU层级视图间运动预测方法,即,从参考视图中的参考块导出的候选者。
当启用这种模式时,当前PU 164可对应于参考视图中的参考区域(与通过视差向量所识别的当前PU具有相同大小),且参考区域可具有比生成通常针对PU的一个运动信息集合所需的运动信息更丰富的运动信息。因此,如图7中所示,可使用子PU层级视图间运动预测(SPIVMP)方法。
也可将这种模式用信号表示为特殊合并候选者。子PU中的每一个含有运动信息的完整集合。因此,PU可以含有多个运动信息集合。
3D-HEVC中的基于子PU的运动参数继承(MPI):类似地,在3D-HEVC中,MPI候选者也可以类似于子PU层级视图间运动预测的方式扩展。举例来说,如果当前深度PU具有含有多个PU的位于同一地点的区,那么当前深度PU便可分离成子PU,且每一PU可具有不同的运动信息集合。这种方法称为子PU MPI。即,对应子PU 168A-168D的运动向量172A-172D可由子PU 166A-166D继承,如同运动向量170A-170D,如图7所示。
用于2D视频译码的子PU相关信息:在2014年9月25日提交的在2015年3月26日作为第2015/0086929号美国公开案公布的第14/497,128号美国申请中,描述基于子PU的高级TMVP设计。在单层译码中,提出二级高级时间运动向量预测设计。
第一级用于导出识别参考图片中的当前预测单元(PU)的对应块的向量,并且第二级用于从对应块提取多个运动信息集合并将它们分配给PU的子PU。因此,PU的每一子PU单独地得到运动补偿。ATMVP的概念概括如下:
1.第一级中的向量可从当前PU的空间和时间相邻块导出。
2.这一过程可实现为激活所有其它合并候选者当中的合并候选者。
适用于单层译码和子PU时间运动向量预测,PU或CU可以具有在预测符之上传送的运动细化数据。
14/497,128申请的若干设计方面如下所述:
1.向量导出的第一级也可通过仅零向量来简化。
2.向量导出的第一级可包含联合地识别运动向量及其相关联的图片。已提出选择相关联图片且进一步决定作为第一级向量的运动向量的各种方式。
3.如果在以上过程期间的运动信息不可用,那么便将“第一级向量”用于替代。
4.从时间相邻者中识别的运动向量必须按比例缩放以用于当前子PU,其方式类似于TMVP中的运动向量按比例缩放。然而,可使用以下方式中的一种来设计这种运动向量可按比例缩放到的参考图片:
a.通过当前图片的固定参考索引来识别图片。
b.如果在当前图片的参考图片列表中也可用,那么便将图片识别为对应时间相邻者的参考图片。
c.将图片设定成在第一级中识别且从中检索运动向量的位于同一地点的图片。
图8是说明根据参考图片的子PU运动预测的概念图。在这个实例中,当前图片180包含当前PU 184(例如PU)。在这个实例中,运动向量192识别相对于PU 184的参考图片182的PU 186。PU 186分割成各自具有对应运动向量190A-190D的子PU 188A-188D。因此,尽管当前PU 184实际上未分割成单独子PU,但在这个实例中,可以使用来自子PU 188A-188D的运动信息来预测当前PU 184。具体地说,视频译码器可使用对应运动向量190A-190D对当前PU 184的子PU进行译码。然而,视频译码器无需对指示当前PU 184分裂成子PU的语法元素进行译码。以这种方式,可使用从对应子PU 188A-188D继承的多个运动向量190A-190D来有效地预测当前PU 184,而无需用以将当前PU 184分裂成多个子PU的语法元素的信令开销。
图9是说明ATMVP(类似于TMVP)中的相关图片的概念图。具体地说,图9说明当前图片204、运动源图片206和参考图片200、202。更具体地说,当前图片204包含当前块208。时间运动向量212识别相对于当前块208的运动源图片206的对应块210。对应块210又包含运动向量214,其参考参考图片202且充当用于当前块208的至少一部分(例如,当前块208的子PU)的高级时间运动向量预测符。即可将运动向量214作为当前块208的候选运动向量预测符添加。如果选择,那么便可使用对应运动向量(即,参考参考图片200的运动向量216)来预测当前块208的至少一部分。
图10是说明用于从给定块的空间和时间相邻块导出给定块的运动向量的实例方法的流程图。图10的方法可由视频编码器20和/或视频解码器30执行。出于概括性,将图10的方法解释为由“视频译码器”执行,所述视频译码器同样可对应于视频编码器20或视频解码器30中的任一个。
最初,视频译码器从PU的当前子PU的空间或时间相邻块获得可用运动字段(230)。视频译码器随后从所获得的相邻运动字段导出运动信息(232)。视频译码器随后确定是否PU的所有子PU的运动信息都已导出(234)。如果否(234的“否”分支),那么视频译码器导出剩余子PU的运动信息(230)。另一方面,如果已导出所有子PU的运动信息(234的“是”分支),那么视频译码器确定空间-时间子PU运动预测符的可用性(236),例如如上文所解释。如果空间-时间子PU运动预测符可用,那么视频译码器将空间-时间子PU运动预测符插入到合并列表中(238)。
虽然图10的方法中未展示,但视频译码器可随后使用合并候选者列表对PU(例如,PU的子PU中的每一者)进行译码。举例来说,当由视频编码器20执行时,视频编码器20可使用子PU作为预测符来计算PU(例如每一子PU)的残余块,变换并量化残余块,且对所得量化变换系数进行熵编码。类似地,视频解码器30可对接收到的数据进行熵解码以重现经量化变换系数,对这些系数进行逆量化和逆变换以重现残余块,且随后将残余块与对应子PU进行组合以将对应于PU的块进行解码。
图11A和11B是说明包含使用导出的运动信息预测的子块的块的实例的概念图。确切地说,图11A说明包含子块254A-254P(子块254)的块250(例如,PU),当块250是PU时所述子块可表示子PU。图11A中还示出块250的相邻子块256A-256I(相邻子块256)且以淡灰色加阴影。
大体来说,例如视频编码器20或视频解码器30的视频译码器可使用来自两个或更多个相邻块的运动信息导出块250的子块254的运动信息。相邻块可包含空间上相邻和/或时间上相邻的块。举例来说,视频译码器可从空间上相邻子块254F和254I且从对应于子块254O的位置的时间上相邻块导出子块254J的运动信息。时间上相邻块可来自与子块254O位于同一地点的经先前译码图片。为了导出子块254J的运动信息的运动向量,视频译码器可将子块254F、子块254I以及与子块254O位于同一地点的时间上相邻块的运动向量进行平均化。替代地,视频译码器可使用如上文所论述的等式(1)-(4)中的一者导出运动向量。
在一些实例中,视频译码器可经配置以始终从块250外部的子块导出运动信息,例如相邻子块256和/或时间上相邻子块。此配置可以允许并行地译码子块254。举例来说,视频译码器可从子块256B和256F以及与子块254F位于同一地点的时间上相邻子块的运动信息导出子块254A的运动信息。视频译码器还可以使用子块256C、256B、256F以及与子块254F和254G位于同一地点的时间上相邻子块的运动信息,与子块254A并行地导出子块254B的运动信息。
图11B说明包含再次可表示子PU的子块264A-264D(子块264)的块260(例如,PU)。图11B还说明相邻子块266A-266I(相邻子块266)。一般来说,图11B的实例指示例如块260的块的子块可具有多种大小,且可大于用以导出运动信息的相邻块。在此实例中,子块264大于相邻子块266。然而,视频译码器(例如视频编码器20和视频解码器30)可经配置以将与上文相对于子块254所论述的那些技术相似的技术应用于子块264。
图12是说明根据本发明的一或多种技术的用于基于由偏移向量指示的另一块的运动信息导出当前块的运动信息的实例过程的流程图。出于解释的目的,下文将图12的方法描述为由视频解码器30及其组件(例如,图1和3中说明)执行,但图12的方法可由其它视频解码器执行。
视频解码器30可对于视频数据的当前图片的当前预测单元(PU)接收识别参考图片的块的偏移向量的表示(1202)。举例来说,视频解码器30的熵解码单元70可从经编码视频位流接收表示偏移向量的值的截断一元或截断哥伦布码字(例如,语法元素值)。在一些实例中,所述值偏移向量可处于值范围内。举例来说,所述码字可指示处于值范围内的哪一个值是偏移向量的值。在一些实例中,当前图片可以是不同于参考图片的图片和/或可与参考图片来自同一视图/层(在视频数据具有不同视图或层的程度上)。
在一些实例中,处于值范围内的值可均匀地分布。举例来说,熵解码单元70可对处于x,y∈{-6,-4,-2,0,2,4,6}的范围内的偏移向量的分量的值进行解码。在一些实例中,处于值范围内的值可不均匀地分布。举例来说,熵解码单元70可对处于x,y∈{-8,-4,-2,0,2,4,8}的范围内的偏移向量的分量的值进行解码。如上文所论述,通过使用不均匀分布,用以表示当前块的残余数据的数据量可减少。
在一些实例中,不同偏移向量可选自不同值范围。如上文所论述,在一些实例中,视频解码器30可基于当前图片与位于同一地点的图片之间的POC差、偏移预测符、偏移振幅或高层级语法中指定而选择将使用的范围。
视频解码器30可基于参考图片的所识别块确定当前PU的候选运动向量(1204)。举例来说,运动补偿单元72可获得参考图片的所识别块的运动信息。在一些实例中,视频解码器30可接收识别参考图片(例如,通过POC)的语法元素(例如,用于当前PU)。在一些实例中,视频解码器30可从现有合并候选者或相邻块(例如,合并候选者导出过程中未使用)的运动信息导出识别参考图片。
视频解码器30可将所确定候选运动向量插入到候选运动向量列表中(1206)。举例来说,运动补偿单元72可将所确定候选运动向量连同其它候选运动向量(例如,空间或时间候选运动向量)一起插入在运动向量候选者列表中。
视频解码器30可从候选运动向量列表选择特定候选运动向量(1208)。举例来说,运动补偿单元72可选择基于参考图片中的所识别块的运动信息确定的候选运动向量。在一些实例中,运动补偿单元72可基于在位流中接收的语法元素(例如,merge_idx、mvp_l0_flag等)选择所述特定候选运动向量。
视频解码器30可基于选定的特定候选运动向量重构当前PU(1210)。举例来说,运动补偿单元72可获得由选定特定候选运动向量识别的视频数据块的像素值(例如,从参考图片存储器82),且将对应于当前PU的视频数据块(例如,当前PU中包含的像素阵列)的残余数据相加到所获得像素值以重构对应于当前PU的视频数据块的像素值。
图13是说明根据本发明的一或多种技术的用于基于由偏移向量指示的另一块的运动信息导出当前块的运动信息的实例过程的流程图。出于解释的目的,下文将图13的方法描述为由视频编码器20及其组件(例如,图1和2中说明)执行,但图13的方法可由其它视频编码器执行。
视频编码器20可确定视频数据的当前图片的当前预测单元(PU)的运动信息(1302)。举例来说,视频编码器20的运动估计单元42和/或运动补偿单元44可从参考图片选择具有类似于当前PU的像素值的像素值的预测符块,且将运动信息确定为参考图片指示符(例如,参考图片的POC值和/或参考图片列表中的对应于参考图片的索引)和指示当前PU与预测符块之间的位移的运动向量。
视频编码器20可基于运动信息且对于当前PU选择可由处于不均匀地分布的值范围内的偏移向量识别的参考图片的参考块(1304)。举例来说,运动估计单元42和/或运动补偿单元44可识别各种候选参考图片中的哪些块可由不均匀地分布的值范围中的偏移向量识别,且选择具有最相似(或相同于)针对当前PU确定的运动信息的运动信息的块作为选定的参考块。应注意,含有参考块的参考图片可以是或可以不是与含有预测符块的参考图片相同的图片。
视频编码器20可对指示选定的参考块的偏移向量的表示进行编码且对表示当前PU与预测符块之间的像素差的残余数据进行编码(1306)。举例来说,运动估计单元42和/或运动补偿单元44可致使熵编码单元56对表示残余数据(例如,经量化变换系数,如上文所解释)的值和偏移向量的值的一或多个语法元素进行编码。在一些实例中,偏移向量的表示可为偏移向量的水平分量和垂直分量的值。在一些实例中,偏移向量的表示可为对应于处于值范围内的偏移向量的水平分量和垂直分量的值的索引。如上文所论述,当前块的值范围可基于当前图片与参考图片之间的图片次序计数(POC)差而确定。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同次序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非循序地执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果在软件中实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于如数据存储媒体或通信媒体的有形媒体,通信媒体(例如)根据通信协议包含有助于将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体及数据存储媒体并不包括连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置以用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。确切地,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了各种实例。这些及其它实例在所附权利要求书的范围内。

Claims (30)

1.一种对视频数据进行解码的方法,所述方法包括:
在经译码视频位流中且对于视频数据的当前图片的当前预测单元PU接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;
基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及
基于所述确定的运动信息而重构对应于所述当前PU的所述当前图片的块。
2.根据权利要求1所述的方法,其进一步包括:
将所述PU分割为两个或更多个子PU;
基于由所述偏移向量识别的所述参考图片的所述块而确定所述子PU中的每一相应子PU的相应运动信息;以及
基于所述子PU中的每一者的所述运动信息而单独地重构分别对应于所述子PU中的每一者的所述当前图片的块。
3.根据权利要求2所述的方法,其中所述偏移向量包括高级时间运动向量预测ATMVP模式的第一级运动信息,且其中所述子PU的所述运动信息包括所述ATMVP模式的第二级运动信息。
4.根据权利要求1所述的方法,其进一步包括:
在所述经译码视频位流中接收所述参考图片的识别。
5.根据权利要求1所述的方法,其进一步包括:
基于一或多个现有合并候选者或所述当前PU的一或多个相邻块的运动信息而确定所述参考图片的识别。
6.根据权利要求1所述的方法,其中所述偏移向量的所述接收的表示包括所述偏移向量的值与用于所述当前PU的偏移向量预测符的值之间的差。
7.根据权利要求6所述的方法,其进一步包括:
基于所述当前PU的一或多个空间或时间相邻者而确定一或多个偏移向量预测符;以及
当所述确定的一或多个偏移预测符包含多个偏移向量预测符时,基于所述一或多个偏移向量而确定用于所述当前PU的所述偏移向量预测符。
8.根据权利要求1所述的方法,其中所述值集合中的值是以基于可存储运动向量的参考图片中的最小块大小的单元来计算,且其中所述值集合中的值与所述值集合中的下一最大值之间的距离大于一个单元。
9.根据权利要求1所述的方法,其进一步包括:
基于所述当前图片与所述参考图片之间的图片次序计数POC差而从多个值集合选择所述值集合。
10.根据权利要求1所述的方法,其中所述偏移向量的所述接收的表示未明确地指示所述偏移向量的正负号,所述方法进一步包括:
基于所述偏移向量的量值而确定所述偏移向量的所述正负号。
11.根据权利要求1所述的方法,所述方法可在无线通信装置上执行,其中所述装置包括:
存储器,其经配置以存储所述视频数据;
处理器,其经配置以执行用以处理存储在所述存储器中的所述视频数据的指令;
以及
接收器,其经配置以接收所述经译码视频位流。
12.根据权利要求11所述的方法,其中所述无线通信装置是蜂窝式电话且所述经译码视频位流由所述接收器接收且根据蜂窝式通信标准调制。
13.一种对视频数据进行编码的方法,所述方法包括:
对于视频数据的当前图片的当前预测单元PU选择可由在不均匀地分布的值集合内的偏移向量识别的参考图片的块;以及
在经译码视频位流中对所述偏移向量的表示以及表示所述当前PU与由所述当前PU的运动信息识别的预测符块之间的像素差的残余数据进行编码,所述当前PU的所述运动信息可基于所述参考图片的所述块的运动信息而确定。
14.根据权利要求13所述的方法,其进一步包括:
基于所述当前图片与所述参考图片之间的图片次序计数POC差而从多个值集合选择所述值集合。
15.根据权利要求13所述的方法,其进一步包括:
在所述经译码视频位流中对所述参考图片的识别进行编码。
16.根据权利要求13所述的方法,其中所述值集合中的值是以基于可存储运动向量的参考图片中的最小块大小的单元来计算,且其中所述值集合中的值与所述值集合中的下一最大值之间的距离大于一个单元。
17.根据权利要求13所述的方法,所述方法可在无线通信装置上执行,其中所述装置包括:
存储器,其经配置以存储所述视频数据;
处理器,其经配置以执行用以处理存储在所述存储器中的所述视频数据的指令;
以及
发射器,其经配置以发射所述经译码视频位流。
18.根据权利要求17所述的方法,其中所述无线通信装置为蜂窝式电话,且所述经译码视频位流由所述发射器发射且根据蜂窝式通信标准调制。
19.一种用于对视频数据进行解码的装置,所述装置包括:
存储器,其经配置以存储视频数据;以及
视频解码器,其经配置以:
在经译码视频位流中且对于所述视频数据的当前图片的当前预测单元PU接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;
基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及
基于所述确定的运动信息而重构对应于所述当前PU的所述视频数据的块。
20.根据权利要求19所述的装置,其中所述视频解码器进一步经配置以:
将所述PU分割为两个或更多个子PU;
基于由所述偏移向量识别的所述参考图片的所述块而确定所述子PU中的每一相应子PU的相应运动信息;以及
基于所述子PU中的每一者的所述运动信息而单独地重构分别对应于所述子PU中的每一者的所述当前图片的块。
21.根据权利要求19所述的装置,其中所述视频解码器进一步经配置以:
在所述经译码视频位流中接收所述参考图片的识别。
22.根据权利要求19所述的装置,其中所述视频解码器进一步经配置以:
基于一或多个现有合并候选者或所述当前PU的一或多个相邻块的运动信息而确定所述参考图片的识别。
23.根据权利要求19所述的装置,其中所述偏移向量的所述接收的表示包括所述偏移向量的值与用于所述当前PU的偏移向量预测符的值之间的差。
24.根据权利要求23所述的装置,其中所述视频解码器进一步经配置以:
基于所述当前PU的一或多个空间或时间相邻者而确定一或多个偏移向量预测符;以及
当所述确定的一或多个偏移预测符包含多个偏移向量预测符时,基于所述一或多个偏移向量而确定用于所述当前PU的所述偏移向量预测符。
25.根据权利要求19所述的装置,其中所述值集合中的值是以基于可存储运动向量的所述参考图片中的最小块大小的单元来计算,且其中所述值集合中的值与所述值集合中的下一最大值之间的距离大于一个单元。
26.根据权利要求19所述的装置,其中所述视频解码器进一步经配置以:
基于所述当前图片与所述参考图片之间的图片次序计数POC差而从多个值集合选择所述值集合。
27.根据权利要求19所述的装置,其中所述偏移向量的所述接收的表示未明确地指示所述偏移向量的正负号,且其中所述视频解码器进一步经配置以:
基于所述偏移向量的量值而确定所述偏移向量的所述正负号。
28.根据权利要求19所述的装置,其中所述装置是无线通信装置,其进一步包括:
接收器,其经配置以接收所述经译码视频位流;以及
显示器,其经配置以显示包含所述经重构视频数据块的视频数据。
29.根据权利要求28所述的装置,其中所述无线通信装置是蜂窝式电话且所述经译码视频位流由所述接收器接收且根据蜂窝式通信标准调制。
30.一种存储指令的计算机可读存储媒体,所述指令当执行时致使视频解码器的一或多个处理器进行以下操作:
在经译码视频位流中且对于视频数据的当前图片的当前预测单元PU接收识别参考图片的块的偏移向量的表示,其中所述偏移向量在不均匀地分布的值的集合内;
基于由所述偏移向量识别的所述参考图片的所述块而确定所述当前PU的运动信息;以及
基于所述确定的运动信息而重构对应于所述当前PU的所述视频数据的块。
CN201780055846.7A 2016-09-16 2017-09-13 一种对视频数据进行编解码的方法、装置及计算机可读存储介质 Active CN109691106B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662395878P 2016-09-16 2016-09-16
US62/395,878 2016-09-16
US15/701,711 US10812791B2 (en) 2016-09-16 2017-09-12 Offset vector identification of temporal motion vector predictor
US15/701,711 2017-09-12
PCT/US2017/051342 WO2018052986A1 (en) 2016-09-16 2017-09-13 Offset vector identification of temporal motion vector predictor

Publications (2)

Publication Number Publication Date
CN109691106A true CN109691106A (zh) 2019-04-26
CN109691106B CN109691106B (zh) 2023-07-14

Family

ID=59955702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780055846.7A Active CN109691106B (zh) 2016-09-16 2017-09-13 一种对视频数据进行编解码的方法、装置及计算机可读存储介质

Country Status (4)

Country Link
US (1) US10812791B2 (zh)
EP (1) EP3513560B1 (zh)
CN (1) CN109691106B (zh)
WO (1) WO2018052986A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719463A (zh) * 2018-07-14 2020-01-21 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042995A2 (ko) 2011-09-22 2013-03-28 엘지전자 주식회사 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
US10432960B2 (en) * 2016-10-05 2019-10-01 Arris Enterprises Llc Offset temporal motion vector predictor (TMVP)
US11394976B2 (en) * 2017-01-03 2022-07-19 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
US11558633B2 (en) * 2017-11-01 2023-01-17 Vid Scale, Inc. Sub-block motion derivation and decoder-side motion vector refinement for merge mode
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
US10931963B2 (en) * 2017-12-07 2021-02-23 Tencent America LLC Method and apparatus for video coding
EP3747193A4 (en) * 2018-01-30 2021-11-03 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PERFORMING MOTION VECTOR PREDICTION FOR VIDEO ENCODING USING MOTION VECTOR PREDICATOR ORIGINS
CN117294837A (zh) 2018-04-02 2023-12-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
AU2018423422B2 (en) * 2018-05-16 2023-02-02 Huawei Technologies Co., Ltd. Video coding method and apparatus
US11109025B2 (en) * 2018-06-04 2021-08-31 Tencent America LLC Method and apparatus for sub-block based temporal motion vector prediction
TWI744661B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 要根據模式檢查的查找表中的運動候選的數量
TWI731362B (zh) * 2018-06-29 2021-06-21 大陸商北京字節跳動網絡技術有限公司 擴展Merge模式與其他視頻編碼工具之間的交互
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
KR20240005239A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
SG11202012701XA (en) * 2018-07-02 2021-01-28 Huawei Tech Co Ltd Motion vector prediction method and apparatus, encoder, and decoder
US10715812B2 (en) * 2018-07-13 2020-07-14 Tencent America LLC Method and apparatus for video coding
WO2020016743A2 (en) * 2018-07-15 2020-01-23 Beijing Bytedance Network Technology Co., Ltd. Extension of look-up table based motion vector prediction with temporal information
CN112425171A (zh) * 2018-07-18 2021-02-26 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
CN112514383B (zh) * 2018-07-31 2023-12-19 寰发股份有限公司 用于视频编解码的利用运动向量差的合并方法和装置
US11245922B2 (en) * 2018-08-17 2022-02-08 Mediatek Inc. Shared candidate list
CN110858905B (zh) * 2018-08-26 2023-04-07 北京字节跳动网络技术有限公司 基于多运动模型的跳过和直接模式编解码的视频块中的修剪方法及装置
KR20230169474A (ko) * 2018-08-29 2023-12-15 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 서브블록 기반 시간적 모션 벡터 예측을 사용한 비디오 코딩의 방법 및 장치
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020059611A1 (ja) * 2018-09-20 2020-03-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
GB2579763B (en) 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
GB201815443D0 (en) * 2018-09-21 2018-11-07 Canon Kk Video coding and decoding
EP3860127A4 (en) * 2018-09-24 2022-08-10 B1 Institute of Image Technology, Inc. IMAGE CODING/DECODING METHOD AND DEVICE
KR20210069715A (ko) * 2018-10-10 2021-06-11 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코딩 및 디코딩의 아핀 모드 시그널링
GB2595054B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2578150C (en) 2018-10-18 2022-05-18 Canon Kk Video coding and decoding
WO2020084553A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate derivation based on multiple information in sub-block motion vector prediction
JP7391958B2 (ja) 2018-11-08 2023-12-05 オッポ広東移動通信有限公司 ビデオ信号符号化/復号方法及び前記方法に用いられる機器
CN113039788A (zh) * 2018-11-08 2021-06-25 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
EP3884674A4 (en) * 2018-11-21 2022-02-23 Telefonaktiebolaget Lm Ericsson (Publ) VIDEO IMAGE CODING METHODS WITH SUB-BLOCK MERGER SIMPLIFICATION AND ASSOCIATED APPARATUS
CN113056916A (zh) 2018-11-22 2021-06-29 北京字节跳动网络技术有限公司 基于子块的运动候选的选择和信令
CN111294601A (zh) 2018-12-07 2020-06-16 华为技术有限公司 视频图像解码、编码方法及装置
WO2020140243A1 (zh) 2019-01-03 2020-07-09 北京大学 视频图像处理方法与装置
MX2021008347A (es) * 2019-01-09 2021-10-13 Huawei Tech Co Ltd Un codificador de video, un decodificador de video y metodos correspondientes.
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) * 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN117560509A (zh) * 2019-03-04 2024-02-13 北京字节跳动网络技术有限公司 视频处理中滤波信息的两级信令
EP4246977A3 (en) * 2019-03-12 2023-12-27 Beijing Dajia Internet Information Technology Co., Ltd. Video coding for geometric inter partition prediction
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
EP3997877A4 (en) 2019-08-13 2023-05-24 Beijing Bytedance Network Technology Co., Ltd. MOTION ACCURACY IN SUBBLOCK-BASED INTERPREDICTION
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
US11375221B2 (en) * 2020-02-12 2022-06-28 Tencent America LLC Method and apparatus for cross-component filtering
CN111447454B (zh) * 2020-03-30 2022-06-07 浙江大华技术股份有限公司 编码方法及其相关装置
CN115668934A (zh) * 2020-05-21 2023-01-31 Lg电子株式会社 具有基于层间预测确定的运动信息的图像编码/解码方法和设备及发送比特流的方法
CN113709458B (zh) * 2020-05-22 2023-08-29 腾讯科技(深圳)有限公司 视频编解码中的位移矢量预测方法、装置及设备
CN111970516B (zh) * 2020-07-22 2022-02-18 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及电子设备、存储装置
CN112508773B (zh) * 2020-11-20 2024-02-09 小米科技(武汉)有限公司 图像处理方法及装置、电子设备、存储介质
WO2022117369A1 (en) * 2020-12-01 2022-06-09 Nokia Technologies Oy Content adaptive collocated reference picture selection
US20230388513A1 (en) * 2022-05-25 2023-11-30 Tencent America LLC Subblock level temporal motion vector prediction with multiple displacement vector predictors and an offset
US20240031592A1 (en) * 2022-07-21 2024-01-25 Tencent America LLC Temporal motion vector predictor with displacement

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1301044A1 (en) * 2001-10-05 2003-04-09 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensating for motion vector errors in image data
US20090207313A1 (en) * 2004-01-08 2009-08-20 Erwin Bellers Distributing candidate vectors based on local motion complexity
WO2010149914A1 (fr) * 2009-06-23 2010-12-29 France Telecom Procedes de codage et de decodage d'images, dispositifs de codage et de decodage, et programme d'ordinateur correspondants
WO2012081879A1 (ko) * 2010-12-14 2012-06-21 Oh Soo Mi 인터 예측 부호화된 동영상 복호화 방법
US20130051463A1 (en) * 2011-06-24 2013-02-28 General Instrument Corporation Selection of phase offsets for interpolation filters for motion compensation
US20130114725A1 (en) * 2011-11-04 2013-05-09 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
CN103621090A (zh) * 2011-06-24 2014-03-05 联发科技股份有限公司 移除运动向量预测子中冗余的方法与装置
CN105359532A (zh) * 2013-07-12 2016-02-24 高通股份有限公司 帧内运动补偿延伸
US20160219278A1 (en) * 2015-01-26 2016-07-28 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US20160227214A1 (en) * 2015-01-30 2016-08-04 Qualcomm Incorporated Flexible partitioning of prediction units

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4142180B2 (ja) * 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
KR100335055B1 (ko) * 1999-12-08 2002-05-02 구자홍 압축 영상신호의 블럭현상 및 링현상 제거방법
WO2008133455A1 (en) 2007-04-25 2008-11-06 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US8098962B2 (en) * 2007-11-20 2012-01-17 Kabushiki Kaisha Toshiba Signal processing method, apparatus, and program
US8094714B2 (en) * 2008-07-16 2012-01-10 Sony Corporation Speculative start point selection for motion estimation iterative search
US20110188583A1 (en) * 2008-09-04 2011-08-04 Japan Science And Technology Agency Picture signal conversion system
JP5719986B2 (ja) * 2010-10-20 2015-05-20 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
EP2687015A4 (en) 2011-03-14 2014-12-17 Mediatek Inc METHOD AND DEVICE FOR OBTAINING PREDICTIONS FOR TEMPORARY MOTION VECTORS
US9497455B2 (en) * 2011-06-23 2016-11-15 Huawei Technologies Co., Ltd. Offset decoding device, offset coding device, image filtering device, and data structure
GB2493210B (en) * 2011-07-29 2014-04-23 Canon Kk Method and device for error concealment in motion estimation of video data
CA2807786C (en) * 2012-03-08 2016-06-21 Research In Motion Limited Motion vector sign bit hiding
US8665376B2 (en) * 2012-04-12 2014-03-04 Texas Instruments Incorporated Methods and systems for filtering noise in video data
CN104396244B (zh) * 2012-04-16 2019-08-09 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机可读存储介质
US9503746B2 (en) * 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9357214B2 (en) * 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US20140218473A1 (en) * 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
GB2511288A (en) 2013-01-09 2014-09-03 Canon Kk Method, device, and computer program for motion vector prediction in scalable video encoder and decoder
WO2014166063A1 (en) 2013-04-09 2014-10-16 Mediatek Inc. Default vector for disparity vector derivation for 3d video coding
TW201517597A (zh) * 2013-07-31 2015-05-01 Nokia Corp 用於視訊編碼及解碼之方法及裝置
JP6233240B2 (ja) 2013-09-26 2017-11-22 信越化学工業株式会社 パターン形成方法
GB2524478A (en) * 2014-03-20 2015-09-30 Nokia Technologies Oy Method, apparatus and computer program product for filtering of media content
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
CN104539962B (zh) * 2015-01-20 2017-12-01 北京工业大学 一种融合视觉感知特征的可分层视频编码方法
US10187653B2 (en) 2015-05-18 2019-01-22 Avago Technologies International Sales Pte. Limited Motor vector prediction using co-located prediction units
US10284875B2 (en) * 2016-08-08 2019-05-07 Qualcomm Incorporated Systems and methods for determining feature point motion
CN109804626B (zh) * 2016-10-04 2023-10-10 英迪股份有限公司 用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1301044A1 (en) * 2001-10-05 2003-04-09 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensating for motion vector errors in image data
US20090207313A1 (en) * 2004-01-08 2009-08-20 Erwin Bellers Distributing candidate vectors based on local motion complexity
WO2010149914A1 (fr) * 2009-06-23 2010-12-29 France Telecom Procedes de codage et de decodage d'images, dispositifs de codage et de decodage, et programme d'ordinateur correspondants
WO2012081879A1 (ko) * 2010-12-14 2012-06-21 Oh Soo Mi 인터 예측 부호화된 동영상 복호화 방법
US20130051463A1 (en) * 2011-06-24 2013-02-28 General Instrument Corporation Selection of phase offsets for interpolation filters for motion compensation
CN103621090A (zh) * 2011-06-24 2014-03-05 联发科技股份有限公司 移除运动向量预测子中冗余的方法与装置
US20130114725A1 (en) * 2011-11-04 2013-05-09 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
CN104041041A (zh) * 2011-11-04 2014-09-10 摩托罗拉移动有限责任公司 用于非均匀运动向量栅格的运动向量缩放
CN105359532A (zh) * 2013-07-12 2016-02-24 高通股份有限公司 帧内运动补偿延伸
US20160219278A1 (en) * 2015-01-26 2016-07-28 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US20160227214A1 (en) * 2015-01-30 2016-08-04 Qualcomm Incorporated Flexible partitioning of prediction units

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋传鸣等: "结合低位深像素预测起点的小波域运动估计", 《计算机研究与发展》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719463A (zh) * 2018-07-14 2020-01-21 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
CN110719476A (zh) * 2018-07-14 2020-01-21 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
CN110719463B (zh) * 2018-07-14 2022-11-22 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
CN110719476B (zh) * 2018-07-14 2023-01-20 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测

Also Published As

Publication number Publication date
EP3513560A1 (en) 2019-07-24
US20180084260A1 (en) 2018-03-22
WO2018052986A1 (en) 2018-03-22
EP3513560B1 (en) 2020-10-21
US10812791B2 (en) 2020-10-20
CN109691106B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
CN109691106A (zh) 时间运动向量预测符的偏移向量识别
CN105556969B (zh) 视频译码中使用视差向量的块识别
CN107211156B (zh) 一种译码视频数据的方法、装置及计算机可读存储媒体
CN105052146B (zh) 对3d视频译码中的视差向量导出和运动向量预测的简化
CN105379282B (zh) 用于纹理译码的先进残余预测(arp)的方法和设备
CN106471806B (zh) 3d-hevc中的简化移位合并候选者及合并列表导出
CN104303502B (zh) 对多视图视频数据进行编码、解码和译码的方法、装置及计算机可读存储介质
CN107690809B (zh) 使用空间及/或时间运动信息的子预测单元运动向量预测
CN109644272A (zh) 用于建构候选列表的几何型优先级
CN105359530B (zh) 面向深度的视图间运动向量预测
CN105122812B (zh) 用于三维(3d)视频译码的高级合并模式
CN108605136A (zh) 基于图片次序计数的运动矢量精简
CN105637870B (zh) 使用不对称运动分割的视频译码技术
CN104685883B (zh) 用于3d视频的经视图间预测运动向量
CN104769949B (zh) 用于视差向量导出的图片的选择的方法和装置
CN105144715B (zh) 后向视图合成预测
CN104170380B (zh) 视频译码中的视差矢量预测
CN104350749B (zh) 深度图估计的推导
CN104662909B (zh) 用于3d视频的视图间运动预测
CN109076236A (zh) 用于视频译码的运动矢量预测的合并候选项
CN103650505B (zh) 视频译码中的运动向量预测
CN105379288B (zh) 处理对视频译码的照明补偿
CN104335589B (zh) 用于视频译码的视图间预测的视差向量产生
CN110431845A (zh) 约束通过解码器侧运动向量推导导出的运动向量信息
CN105122811B (zh) 3d视频译码中的相邻块视差向量导出

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