CN109644272B - 用于建构候选列表的几何型优先级 - Google Patents

用于建构候选列表的几何型优先级 Download PDF

Info

Publication number
CN109644272B
CN109644272B CN201780052524.7A CN201780052524A CN109644272B CN 109644272 B CN109644272 B CN 109644272B CN 201780052524 A CN201780052524 A CN 201780052524A CN 109644272 B CN109644272 B CN 109644272B
Authority
CN
China
Prior art keywords
current block
block
list
candidates
candidate
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.)
Active
Application number
CN201780052524.7A
Other languages
English (en)
Other versions
CN109644272A (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 CN109644272A publication Critical patent/CN109644272A/zh
Application granted granted Critical
Publication of CN109644272B publication Critical patent/CN109644272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

在一个实例中,一种装置包含:存储器,其配置成存储视频数据;和一或多个处理器,其实施于电路中且配置成确定当前视频数据块的第一代表性点与所述当前块的相邻块的多个第二代表性点之间的多个距离,按次序根据所述第一代表性点与所述第二代表性点之间的所述距离将所述相邻块中的一或多个作为候选添加到所述当前块的候选列表,以及使用所述候选列表对所述当前块进行编码。所述候选列表可以是例如合并列表、AMVP列表或最可能模式列表。可替代地,所述候选列表可以是从中确定上下文自适应二进制算术编码CABAC的上下文信息的候选列表。

Description

用于建构候选列表的几何型优先级
本申请案要求于2016年9月6日提交的美国临时申请案第62/384,089号的权益,所述临时申请案的全部内容特此以引用的方式并入。
技术领域
本公开涉及视频编码。
背景技术
数字视频能力可以并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、手提式或台式计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频编码技术,如描述于以下标准中的技术:由MPEG-2、 MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、也称作高效视频编码(HEVC)的ITU-T H.265定义的标准,以及此类标准的扩展。视频装置可通过实施此类视频编码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频编码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频编码,可将视频片段(例如视频帧或视频帧的部分)分割成视频块,对于一些技术来说,视频块也可称作树块、编码单元(CU)和/或编码节点。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的帧内编码(I)片段中的视频块进行编码。图片的帧间编码(P或B)片段中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可称作帧,且参考图片可称为参考帧。
空间或时间预测产生用于待编码块的预测块。残余数据表示待编码原始块与预测块之间的像素差。帧间编码块是根据指向形成预测块的参考样本块的运动向量以及指示编码块与预测块之间的差的残余数据来编码。帧内编码块是根据帧内编码模式和残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,产生残余变换系数,随后可量化所述残余变换系数。可扫描最初按二维阵列布置的量化变换系数,以便产生变换系数的一维向量,且可应用熵编码以实现更多压缩。
发明内容
一般来说,本公开描述与候选列表的建构相关的技术。候选列表可针对各种视频编码技术来建构,如帧内预测模式的信令、运动信息编码(例如在合并模式或高级运动向量预测(AMVP)模式中)或其它此类视频编码技术。本公开描述用于建构候选列表的几何型优先级。在一些方面,例如当前块与相邻块之间的距离的几何信息可用以确定用于建构候选列表的候选的优先级或插入次序。
在一个实例中,一种编码视频数据的方法包含确定当前视频数据块的第一代表性点与当前块的相邻块的多个第二代表性点之间的多个距离,按次序根据第一代表性点与第二代表性点之间的距离将相邻块中的一或多个作为候选添加到当前块的候选列表,以及使用候选列表对当前块进行编码。
在另一实例中,一种用于编码视频数据的装置包含:存储器,其配置成存储视频数据;和一或多个处理器,其实施于电路中且配置成确定当前视频数据块的第一代表性点与当前块的相邻块的多个第二代表性点之间的多个距离,按次序根据第一代表性点与第二代表性点之间的距离将相邻块中的一或多个作为候选添加到当前块的候选列表,以及使用候选列表对当前块进行编码。
在另一实例中,一种用于编码视频数据的装置包含:用于确定当前视频数据块的第一代表性点与当前块的相邻块的多个第二代表性点之间的多个距离的装置;用于按次序根据第一代表性点与第二代表性点之间的距离将相邻块中的一或多个作为候选添加到当前块的候选列表的装置;和用于使用候选列表对当前块进行编码的装置。
在另一实例中,一种计算机可读存储媒体在其上存储有指令,所述指令在执行时使得处理器确定当前视频数据块的第一代表性点与当前块的相邻块的多个第二代表性点之间的多个距离,按次序根据第一代表性点与第二代表性点之间的距离将相邻块中的一或多个作为候选添加到当前块的候选列表,以及使用候选列表对当前块进行编码。
在附图和以下描述中阐述一或多个实例的细节。其它特征、目标和优势将从所述描述和图式以及从权利要求书中显而易见。
附图说明
图1是说明高效视频编码(HEVC)中的空间相邻候选的概念图。
图2是说明HEVC中的时间运动向量预测(TMVP)的概念图。
图3是说明3D-HEVC的实例预测结构的概念图。
图4是说明3D-HEVC中的基于子PU的视图间运动预测的概念图。
图5是说明根据参考图片的子PU运动预测的概念图。
图6是说明ATMVP(类似于TMVP)中的相关图片的概念图。
图7为展示根据本公开的技术的实例方法的流程图。
图8是展示PU和相邻块的一个实例的概念图。
图9是展示PU和相邻块的另一实例的概念图。
图10是展示PU和相邻块的另一实例的概念图。
图11是展示PU和相邻块的另一实例的概念图。
图12是说明根据本公开的技术的空间合并候选的几何信息的实例的概念图。
图13是说明根据本公开的技术的空间合并候选的几何信息的实例的概念图。
图14是说明可配置成执行本公开的技术的实例视频编码和解码系统的框图。
图15是说明可配置成执行本公开的技术的视频编码器的实例的框图。
图16是说明可配置成执行本公开的技术的视频解码器的实例的框图。
图17是说明根据本公开的技术对视频数据进行编码的实例方法的流程图。
图18是说明根据本公开的技术对视频数据进行解码的实例方法的流程图。
具体实施方式
本公开描述可用以通过以下操作来改善候选列表的建构和视频编解码器中的上下文建模的技术:引入基于当前块与相邻块之间的几何信息的优先级,以确定用于如合并候选列表、AMVP列表和帧内MPM列表的候选列表的建构的优先级或插入次序。此外,此几何信息可用于确定CABAC编码的上下文。多个候选(如合并候选、最可能帧内模式候选)的次序可通过几何优先级而自适应地确定。其可在高级视频编解码器的上下文中使用,例如HEVC的扩展或下一代视频编码标准。
视频编码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称作ISO/IECMPEG-4AVC),包含其可缩放视频编码(SVC)和多视图视频编码(MVC)扩展。MVC的最新联合草案描述于2010年3月的“用于通用视听服务的高级视频编码(Advanced video coding forgeneric audiovisual services)”ITU-T规范H.264中。
另外,存在一种新开发的视频编码标准,即高效视频编码(HEVC),其由ITU-T视频编码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频编码联合合作小组(JCT-VC) 开发。最新HEVC草案说明书(且下文中称作HEVC WD)可从phenix.int-evry.fr/jct/ doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip中获得。HEVC标准已定案于中G.J.Sullivan;J.-R.Ohm;W.-J.Han;T.Wiegand(2012年12月).“高效视频编码 (HEVC)标准的概述(Overview of the High Efficiency Video Coding(HEVC)Standard)” (PDF).用于视频技术的电路和系统上的IEEE事务(IEEE)22(12)。
ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG11)现正在研究对压缩能力显著超出当前HEVC标准(包含其用于屏幕内容编码和高动态范围编码的当前扩展和近期扩展)的压缩能力的未来视频编码技术的标准化的潜在需要。团体在已知为联合视频探索团队(Joint Video Exploration Team,JVET)的联合协作努力中一起从事此探索活动以评估由其在这一领域的专家提出的压缩技术设计。JVET首先在2015年10月19到21日期间满足。且参考软件的最新版本,即联合探索模型3(JEM 3)可从jvet.hhi.fraunhofer.de/ svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-3.0/下载。在J.Chen、E.Alshina、G.J. Sullivan、J.-R.Ohm、J.Boyce于2016年3月在圣地亚哥的“联合探索测试模型3的算法描述(Algorithmdescription of Joint Exploration Test Model 3)”,JVET-C1001中描述 JEM3的算法描述。
对于每一块,运动信息集合可为可用的。运动信息集合含有用于前向和后向预测方向的运动信息。此处,前向和后向预测方向是对应于当前图片或片段的参考图片列表0(RefPicList0)和参考图片列表1(RefPicList1)的两个预测方向。术语“前向”和“后向”未必具有几何含义。替代地,其用以区分运动向量基于哪一参考图片列表。前向预测意味着基于参考列表0形成的预测,而后向预测意味着基于参考列表1形成的预测。在参考列表0和参考列表1都用以形成给定块的预测的情况下,其称为双向预测。
对于给定图片或片段,如果仅使用一个参考图片列表,那么在图片或片段内部的每一块都是前向预测的。如果参考图片列表都用于给定图片或片段,那么在图片或片段内部的块可以是前向预测的,或后向预测的,或双向预测的。
对于每一预测方向,运动信息含有参考索引和运动向量。参考索引用以识别对应参考图片列表(例如RefPicList0或RefPicList1)中的参考图片。运动向量具有水平分量和竖直分量,其中每一分量分别指示沿水平和竖直方向的偏移值。在一些描述中,为简单起见,词语“运动向量”可与运动信息互换使用以指示运动向量及其相关联的参考索引。
图片次序计数(POC)广泛用于视频编码标准中以识别图片的显示次序。尽管存在一个编码视频序列内的两个图片可具有相同POC值的情况,但其通常不在编码视频序列内发生。当位流中存在多个编码视频序列时,具有相同POC值的图片可在解码次序方面彼此更接近。
图片的POC值通常用于参考图片列表建构、参考图片集的导出,就像HEVC和运动向量缩放一样。
在Wiegand,Thomas;Sullivan,Gary J.;
Figure BDA0001978739090000051
Gisle;Luthra,Ajay(2003年7月)的“H.264/AVC视频编码标准的概述(Overview of the H.264/AVC Video CodingStandard)” (PDF).用于视频技术的电路和系统上的IEEE事务13(7)、H.264/AVC(高级视频编码)中,每一帧间宏块(MB)可分割成四种不同方式:
·一个16×16MB分区
·两个16×8MB分区
·两个8×16MB分区
·四个8×8MB分区
一个MB中的不同MB分区可具有用于每一方向的不同参考索引值(RefPicList0或RefPicList1)。当MB未分割成四个8×8MB分区时,所述MB可在每一方向上对于每一 MB分区仅具有一个运动向量。当MB分割成四个8×8MB分区时,每一8×8MB分区可进一步分割成子块,所述子块中的每一个可在每一方向上具有不同运动向量。存在从 8×8MB分区得到子块的四种不同方式:
·一个8×8子块
·两个8×4子块
·两个4×8子块
·四个4×4子块
每一子块可在每一方向上具有不同运动向量。因此,在等于高于子块的层级存在运动向量。
在AVC中,时间直接模式可以在MB或MB分区层级中启用以用于B片段中的跳过或直接模式。对于每一MB分区,使用与当前块的RefPicList1[0]中的当前MB分区并置块的运动向量来导出运动向量。基于POC距离对并置块中的每一运动向量进行缩放。
在AVC中,空间直接模式也可用以预测来自空间相邻项的运动信息。
在HEVC中,片段中的最大编码单元称为编码树块(CTB)或编码树单元(CTU)。CTB含有四叉树,其节点称为编码单元(CU)。
CTB的大小可介于HEVC主规范中的16×16到64×64的范围内(尽管技术上可支持8×8CTB大小)。尽管编码单元(CU)可与CTB大小相同,但其可如8×8一样小。每一编码单元用一种模式编码。当CU经帧间编码时,其可进一步分割成2个或4个预测单元 (PU),或当进一步分割不适用时变为仅一个PU。当两个PU存在于一个CU中时,其可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。
当CU经帧间编码时,针对每一PU存在运动信息的一个集合。另外,每一PU以唯一帧间预测模式编码以导出运动信息的集合。
在HEVC标准中,对于预测单元(PU)存在两个帧间预测模式,分别称为合并(跳过被视为合并的特殊状况)和高级运动向量预测(AMVP)模式。
在AMVP或合并模式中,针对多个运动向量预测符维持运动向量(MV)候选列表。当前PU的运动向量以及合并模式中的参考索引通过从MV候选列表中获取一个候选而生成。
MV候选列表含有用于合并模式的多达5个候选和用于AMVP模式的仅两个候选。合并候选可含有运动信息集合,例如对应于两个参考图片列表(列表0和列表1)的运动向量和参考索引。如果通过合并索引来识别合并候选,那么确定用于当前块的预测的参考图片以及相关联的运动向量。然而,在AMVP模式下,对于来自列表0或列表1的每一潜在预测方向,需要明确地将参考索引连同对MV候选列表的MVP索引一起用发信,这是因为AMVP候选仅含有运动向量。在AMVP模式中,可进一步优化经预测运动向量。
如可从上文看出,合并候选对应于整个运动信息集合,而AMVP候选仅含有用于特定预测方向的一个运动向量和参考索引。即,一般来说,运动信息包含运动向量预测符、参考图片列表、到参考图片列表中的索引以及在AMVP的情况下待施加于运动向量预测符的差。根据HEVC,在合并模式中,运动向量、参考图片列表和索引从选定候选中继承,然而在AMVP中,运动向量预测符与选定候选的运动向量相对应,且对参考图片列表、索引和运动向量差值进行发信。
以类似方式从相同空间和时间相邻块导出用于两种模式的候选。
图1是说明HEVC中的空间相邻候选的概念图。尽管从块生成候选的方法对于合并模式和AMVP模式不同,但对于特定PU(PU0),从在图1上所展示的相邻块导出空间 MV候选。
在合并模式中,可以带有数字的图1(a)上所展示的次序来导出高达四个空间MV候选,且次序如下:左侧(0,A1)、上方(1,B1)、右上方(2,B0)、左下方(3,A0)和左上方(4,B2),如图1(a)中所示。
在合并模式中,可以带有数字的图1(a)中所展示的次序来导出高达四个空间MV候选,且次序如下:左侧(0,A1)、上方(1,B1)、右上方(2,B0)、左下方(3,A0)和左上方(4,B2),如图1(a)中所示。即在图1(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的上群组,如图1(b)上所示。将这些块分别标记为图1(b)中的块110A、110B、110C、 110D和110E。具体地说,在图1(b)中,块102包含PU0 106A和PU1 106B,且块110A、 110B、110C、110D和110E表示与PU0 106A的空间相邻项。对于每一群组,如由发信的参考索引所指示的参考同一参考图片的相邻块中的潜在候选具有最高待选优先级,以形成群组的最终候选。有可能所有相邻块均不含有指向同一参考图片的运动向量。因此,如果无法找到这种候选,那么便可对第一可用候选进行缩放以形成最终候选;因而可补偿时间距离差。
图2是说明HEVC中的时间运动向量预测的概念图。具体地说,图2(a)说明包含PU0122A和PU1 122B的实例CU 120。PU0 122A包含PU 122A的中心块126和PU0 122A 的右下块124。图2(a)还展示可根据PU0 122A的运动信息来预测运动信息的外部块128,如下文所论述。图2(b)说明包含运动信息待预测的当前块138的当前图片130。具体地说,图2(b)说明当前图片130的并置图片134(包含当前块138的并置块140)、当前参考图片132和并置参考图片136。使用运动向量144来预测并置块140,所述运动向量144 用作块138的运动信息的时间运动向量预测符(TMVP)142。
如果启用TMVP且TMVP候选是可用的,那么在任何空间运动向量候选之后,视频编码器可将TMVP候选(例如TMVP候选142)添加到MV候选列表中。TMVP候选的运动向量导出的过程对于合并模式和AMVP模式相同。然而,根据HEVC,合并模式中 TMVP候选的目标参考索引设置成0。
TMVP候选导出的主块位置是并置PU外部的右下块,如在图2(a)中展示为PU0 122A的块124,其用于补偿对用以生成空间相邻候选的左上方块的偏置。然而,如果块 124定位于当前CTB行的外部或运动信息对于块124不可用,则所述块由如图2(a)中所示的PU的中心块126替代。
TMVP候选142的运动向量从并置图片134的并置块140导出,如片段级信息所指示。并置PU的运动向量称为并置MV。
类似于AVC中的时间直接模式,TMVP候选的运动向量可经历运动向量缩放,执行所述运动向量缩放以补偿当前图片130与当前参考图片132之间以及并置图片134与并置参考图片136之间的图片次序计数(POC)距离差和/或时间距离距离。即,可对运动向量144进行缩放以基于这些POC/时间距离差产生TMVP候选142。
合并模式和AMVP模式的若干方面值得如下一提。
运动向量缩放:假设运动向量的值与图片在呈现时间内的距离成比例。运动向量将两个图片,即参考图片与含有运动向量的图片(即含有图片)相关联。当运动向量用以预测其它运动向量时,基于图片次序计数(POC)值来计算含有图片与参考图片的距离。
对于待预测的运动向量,其相关联的含有图片和参考图片都可以不同。因此,计算新距离(基于POC)。且基于这两个POC距离对运动向量进行缩放。对于空间相邻候选,两个运动向量的含有图片相同,而参考图片不同。在HEVC中,运动向量缩放适用于空间和时间相邻候选的TMVP和AMVP。
人工运动向量候选生成:如果运动向量候选列表不完整,那么便在列表结束时生成并插入人工运动向量候选直到其将具有全部候选为止。
在合并模式中,如果第一类型不提供充足人工候选,那么存在两种类型的人工MV候选:仅针对B片段导出的组合候选和仅针对AMVP使用的零候选。
对于已经在候选列表中且具有必要的运动信息的每对候选,双向组合的运动向量候选可通过参考列表0中的图片的第一候选的运动向量与参考列表1中的图片的第二候选的运动向量的组合导出。
候选插入的精简过程:来自不同块的候选可能正好相同,这降低了合并/AMVP候选列表的效率。精简过程可适用于解决这个问题。其将一个候选与当前候选列表中的其它候选进行比较,以在一定程度上避免插入相同候选。为了降低复杂度,仅应用有限数目的精简过程,而不是将每一潜在精简过程与所有其它现有精简过程进行比较。
图3说明3D-HEVC的实例预测结构。3D-HEVC是由JCT-3V开发的HEVC的3D 视频扩展。3D-HEVC描述于Gerhard Tech;Krzysztof Wegner;Ying Chen;Sehoon Yea (2015-02-18).“3D-HEVC草案文本7”,JCT-3V中。下文关于图3和图4描述与本公开的技术相关的某些技术。
图3展示针对三视图情况的多视图预测结构。V3表示基础视图,且非基础视图(V1或V5)中的图片可根据同一时间实例的从属(基础)视图中的图片来预测。
值得一提,视图间样本预测(根据重构样本)在MV-HEVC中得到支持,其典型预测结构在图3中展示。
MV-HEVC和3D-HEVC都以HEVC(版本1)解码器可解码的基础(纹理)视图的方式与HEVC兼容。
在MV-HEVC中,通过将所有这些图片放置在图片的参考图片列表中,可以通过同一视图中的两个图片和同一时间实例的参考视图中的图片来预测非基础视图中的当前图片。因此,当前图片的参考图片列表含有时间参考图片和视图间参考图片。
与对应于时间参考图片的参考索引相关联的运动向量表示为时间运动向量。
与对应于视图间参考图片的参考索引相关联的运动向量表示为视差运动向量。
3D-HEVC支持MV-HEVC中的所有特征。因此,启用如上文所提及的视图间样本预测。
另外,支持更高级的仅纹理编码工具和深度相关/从属编码工具。
仅纹理编码工具通常需要对可属于同一对象的对应块(在视图之间)的识别。因此,视差向量导出是3D-HEVC中的基础技术。
视图间样本预测(根据重构样本)在MV-HEVC中得到支持,其典型预测结构在图5中展示。
图4是说明3D-HEVC中的基于子PU的视图间运动预测的概念图。图4展示当前视图(V1)的当前图片160和参考视图(V0)中的并置图片162。当前图片160包含当前PU 164,所述当前PU包含四个子PU 166A到166D(子PU 166)。对应视差向量174A到174D (视差向量174)识别并置图片162中的对应子PU 168A到168D到子PU 166。在3D-HEVC 中,用于视图间合并候选(即从参考视图中的参考块导出的候选)的子PU层级视图间运动预测方法。
当启用这种模式时,当前PU 164可对应于参考视图中的参考区域(与通过视差向量所识别的当前PU具有相同大小),且参考区域可具有比生成通常针对PU的一个运动信息集合所需的运动信息更丰富的运动信息。因此,如图4中所示,可使用子PU层级视图间运动预测(SPIVMP)方法。
也可将这种模式作为特殊合并候选来发信。子PU中的每一个含有运动信息全集。因此,PU可含有多个运动信息集合。
类似地,在3D-HEVC的深度编码中,从纹理视图导出的运动参数继承(MPI)候选设计成也可按类似于子PU层级视图间运动预测的方式来扩展。
举例来说,如果当前深度PU具有含有多个PU的并置区域,那么当前深度PU便可单独成子PU,每一子PU可具有不同的运动信息集合。
这种方法称为子PU MPI。
用于2D视频编码的实例子PU相关技术描述于美国申请案第14/497,128号中,所述美国申请案的全部内容以引用的方式并入本文中。在美国申请案第14/497,128号中,已提出基于子PU的高级TMVP(ATMVP)设计。
在单层编码中,提出二阶段高级时间运动向量预测设计。第一阶段用以导出识别参考图片中的当前预测单元(PU)的对应块的向量,且第二阶段用以从对应块提取多个运动信息集合并将其分配给PU的子PU。因此,PU的每一子PU分别得到运动补偿。ATMVP 的概念汇总如下:(1)第一阶段中的向量可从当前PU的空间和时间相邻块导出。(2)这一过程可实现为激活全部其它合并候选当中的一合并候选。
适用于单层编码和子PU时间运动向量预测,PU或CU可具有在预测符之上传送的运动细化数据。
如下突出显示美国申请案第14/497,128号的若干设计方面:
1.向量导出的第一阶段也可通过仅零向量来简化。
2.向量导出的第一阶段可包含联合地识别运动向量及其相关联的图片。已提出选择相关联图片且进一步决定运动向量作为第一阶段向量的各种方式。
3.如果在以上过程期间的运动信息不可用,那么便将“第一阶段向量”用于替代。
4.从时间相邻项中识别的运动向量必须以类似于TMVP中的运动向量缩放的方式进行缩放以用于当前子PU。然而,可使用以下方式中的一种来设计这种运动向量可缩放到的参考图片:
a.通过当前图片的固定参考索引来识别图片。
b.如果在当前图片的参考图片列表中也可用,那么便将图片识别为对应时间相邻项的参考图片。
c.将图片设置成在第一阶段中识别的并置图片且从中获取运动向量的位置。
为解决美国申请案第14/497,128号中的一些设计问题,在美国申请案第15/005,564 号中提出以下技术,后者的全部内容以引用的方式并入本文中:
1.ATMVP候选的位置(如果插入),例如作为合并候选列表
a.假设将空间候选和TMVP候选以特定次序插入到合并候选列表中。ATMVP 候选可插入在那些候选的任何相对固定的位置中。
i.在一个替代方案中,例如,ATMVP候选可在例如A1和B1的前两个空间候选之后插入合并候选列表中;
ii.在一个替代方案中,例如,ATMVP候选可在例如A1及B1和B0的前三个空间候选之后插入;
iii.在一个替代方案中,例如,ATMVP候选可在例如A1、B1、B0和A0的前四个候选之后插入。
iv.在一个替代方案中,例如,ATMVP候选可刚好在TMVP候选之前插入。
v.在一个替代方案中,例如,ATMVP候选可刚好在TMVP候选之后插入。
b.替代地,可在位流中对ATMVP候选在候选列表中的位置进行发信。可另外对包含TMVP候选的其它候选的位置进行发信。
2.ATMVP候选的可用性检查可通过存取运动信息的仅一个集合来应用。当此信息集合不可用时,例如一个块经帧内编码,那么整个ATMVP候选视为是不可用的。在这种情况下,ATMVP将不会插入到合并列表中。
a.中心位置或中心子PU可单纯用以检查ATMVP候选的可用性。当使用中心子PU时,将中心子PU选为覆盖中心位置(例如中心3位置,其到PU的左上方样本的相对坐标为(W/2,H/2),其中WxH是PU的大小)的一个。此位置或中心子PU可与时间向量一起使用以识别运动源图片中的对应块。识别来自覆盖对应块的中心位置的块的运动信息集合。
3.ATMVP的代表性运动信息集合对来自子PU的PU进行编码。
a.为了形成ATMVP候选,首先形成代表性运动信息集合。
b.此代表性运动信息集合可从固定位置或固定子PU导出。可以与使用运动信息集合以确定ATMVP候选的可用性相同的方式来选择此代表性运动信息集合,如项目编号#2中所描述。
c.当子PU已识别其自身的运动信息集合且不可用时,将其设置成等于代表性运动信息集合。
d.如果代表性运动信息集合设置成子PU的代表性集合运动信息,那么在最坏情况的情境下,在解码器侧不需要用于当前CTU或片段的额外运动存储器。
e.当解码过程要求整个PU由一个运动信息集合表示时,此代表性运动信息集合用于所有场景中,包含精简,以使得使用所述过程来生成组合式双向预测合并候选。
4.将ATMVP候选与TMVP候选一起精简,且可以考虑TMVP与ATMVP之间的交互;下文列出详细技术:
a.基于子PU的候选(例如ATMVP候选)与普通候选一起的精简可通过使用此基于子PU的候选的代表性运动信息集合(如项目编号#3中)来进行。如果此运动信息集合与正常合并候选相同,那么将这两个候选视为相同。
b.替代地,另外,执行检查以确定ATMVP是否含有用于多个子PU的多个不同运动信息集合;如果识别出至少两个不同集合,那么基于子PU的候选便不用于精简,即,视为不同于任何其它候选;否则,其可以用于精简(例如可在精简过程期间精简)。
c.替代地,另外,ATMVP候选可与空间候选一起精简,例如具有表示为A1 和B1的位置的仅左侧和顶部的空间候选。
d.替代地,仅一个候选项根据时间参考形成,所述候选项为ATMVP候选或 TMVP候选。当ATMVP可用时,候选项是ATMVP;否则,候选项是TMVP。将此候选插入合并候选列表中,在与TMVP的位置类似的位置中。在这种情况下,候选的最大数目可保持不变。
i.替代地,甚至在ATMVP不可用时,TMVP也总是禁用的。
ii.替代地,仅当ATMVP不可用时使用TMVP。
e.替代地,当ATMVP可用且TMVP不可用时,使用一个子PU的一个运动信息集合作为TMVP候选。此外,在这种情况下,不应用ATMVP与TMVP之间的精简过程。
f.替代地或另外,用于ATMVP的时间向量还可用于TMVP,以使得不需要使用如用于HEVC中的当前TMVP的右下位置或中心3位置。
i.替代地,将通过时间向量以及右下和中心3位置识别的位置联合视为提供可用TMVP候选。
5.支持ATMVP的多个可用性检查以使ATMVP候选更精确和高效的机会更高。当如通过第一时间向量识别的来自运动源图片的当前ATMVP候选(例如如图9中所示)不可用时,可将其它图片视为运动源图片。当考虑另一图片时,其可与不同的第二时间向量相关联,或可简单地与根据第一时间向量缩放的指向不可用ATMVP候选的第二时间向量相关联。
a.第二时间向量可识别第二运动源图片中的ATMVP候选,且可应用相同可用性检查。如果如从第二运动源图片导出的ATMVP候选可用,那么便导出ATMVP候选且不需要检查其它图片;否则需要检查如同运动源图片的其它图片。
b.待检查的图片可以是在当前图片的参考图片列表中具有给定次序的图片。对于每一列表,以参考索引的升序来检查图片。首先检查列表X且随后是列表Y(为1-X) 中的图片。
i.选择列表X以使得列表X是含有用于TMVP的并置图片的列表。
ii.替代地,将X简单地设置成1或0。
c.待检查的图片是通过空间相邻项的运动向量识别的具有给定次序图片。
6.当前ATMVP所应用的PU的分割可以是2N×2N、N×N、2N×N、N×2N,或非对称运动分割(AMP)分区,如2N×N/2。
a.替代地,另外,如果可允许其它分区大小,则也可支持ATMVP,且此大小可包含例如64×8。
b.替代地,所述模式可仅应用于某些分区,例如2N×2N。
7.将ATMVP候选标记为不同类型的合并候选。
8.当从相邻项识别向量(如在第一阶段中的时间向量)时,可按次序检查多个相邻位置,例如用于合并候选列表建构中的位置。对于相邻项中的每一个,可按次序检查对应于参考图片列表0(列表0)或参考图片列表1(列表1)的运动向量。当两个运动向量可用时,可首先检查列表X中的运动向量且随后检查列表Y(其中Y等于1-X),以使得列表X是含有用于TMVP的并置图片的列表。在ATMVP中,使用时间向量作为子PU的任何中心位置的偏移添加,其中时间向量的分量可能需要偏移为整数。此偏移中心位置用以识别运动向量可分配到的最小单元,例如具有覆盖当前中心位置的4×4大小的最小单元。
a.替代地,对应于列表0的运动向量可在对应于列表1的运动向量之前被检查;
b.替代地,对应于列表1的运动向量可在对应于列表0的运动向量之前被检查;
c.替代地,按顺序检查所有空间相邻项中对应于列表X的所有运动向量,随后为对应于列表Y(其中Y等于1-X)的运动向量。此处,列表“X”可以是指示并置图片所属的位置的列表,或仅简单地设置成0或1。
d.空间相邻项的次序可与HEVC合并模式中使用的次序相同。
9.当在识别的第一阶段中时,时间向量不包含识别参考图片的信息,如图9中所示的运动源图片可简单地设置成固定图片,例如用于TMVP的并置图片。
a.在这种情况下,可仅从指向此固定图片的运动向量识别向量。
b.在这种情况下,可仅从指向任何图片但进一步朝向固定图片缩放的运动向量识别向量。
10.当在识别的第一阶段中时,向量由识别参考图片组成,如图9中所示的运动源图片,可对候选运动向量应用一或多个以下额外检查。
a.如果运动向量与经帧内编码的图片或片段相关联,那么便将此运动向量视为不可用且不可用以转换成向量。
b.如果运动向量识别相关联图片中的帧内块(通过例如用运动向量添加当前中心坐标),那么便将此运动向量视为不可用且不可用以转换成向量。
11.当在识别向量的第一阶段时,向量的分量可设置成(当前PU的半宽度,当前PU的半高度),以使得其识别运动源图片中的右下像素位置。此处,(x,y)指示一个运动向量的水平分量和竖直分量。
a.可替代地,向量的分量可设置成(求和(当前PU的半宽度,M),求和(当前PU 的半高度,N)),其中函数求和(a,b)返回a与b之和。在一个实例中,当运动信息存储在4×4单元中时,将M和N均设置成等于2。在另一实例中,当运动信息存储在 8×8单元中时,将M和N均设置成等于4。
12.当应用ATMVP时,在参数集(例如图片参数集的序列参数集)中对子块/子PU大小进行发信。所述大小介于最小PU大小到CTU大小的范围。也可对所述大小进行预定义或发信。所述大小可例如与4×4一样小。替代地,子块/子PU大小可基于PU或CU 的大小导出。举例来说,子块/子PU可设定成等于最大(4×4,(Cu的宽度)>>M)。可在位流中对M的值进行预定义或发信。
13.由于可将ATMVP视为新合并候选的事实,因而合并候选的最大数目可增加1。举例来说,与在精简之后在合并候选列表中占用高达5个候选的HEVC相比,合并候选的最大数目可增加到6。
a.可替代地,可针对ATMVP执行与常规TMVP候选的精简或与常规的TMVP 候选的统一,以使得合并候选的最大数目可保持不变。
b.可替代地,当ATMVP识别为可用时,从合并候选列表排除空间相邻候选项,例如排除提取次序中的最后一个空间相邻候选。
14.当考虑多个空间相邻运动向量来导出时间向量时,可基于当前PU的相邻运动向量以及通过设置成等于运动向量的特定时间向量识别的相邻运动向量来计算运动向量相似性。可将产生最高运动相似性的一个选为最终时间向量。
a.在一个替代方案中,对于来自相邻位置N的每一运动向量,运动向量识别运动源图片中的块(与当前PU大小相同),其中其相邻位置N含有运动信息集合。将此运动向量集合与如当前块的相邻位置N中的运动信息集合相比较。
b.在另一替代方案中,对于来自相邻位置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定义运动信息的两个集合之间的相似性。
c.在以上两种情况下,可以使用运动相似性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。
i.为了对运动差进行统一计算,两个运动向量都需要朝向相同固定图片缩放,所述固定图片可以是例如当前图片的列表X的第一参考图片RefPicListX[0]。
ii.如果来自第一集合的列表X中的运动向量的可用性与来自第二集合的列表X中的运动向量的可用性不同,即一个参考索引是-1而另一个不是,那么便将运动信息的这两个集合视为在方向X上不相似。如果两个集合在设置上不相似,
那么最终MVSim函数可返回大值T,所述值可例如视为无穷大。
iii.可替代地,对于运动信息的一对集合,如果一个根据列表X(X等于0或 1)而不是列表Y(Y等于1-X)预测且另一个具有相同状态,那么便可使用1与2 之间的加权(例如MVSim等于MVSimX*1.5)当一个集合仅根据列表X预测且另一个仅根据列表Y预测时,则将MVSim设置成大值T。
iv.可替代地,对于运动信息的任何集合,只要有一个运动向量是可用的,
则两个运动向量都会产生。在仅一个运动向量可用(对应于列表X)的情况下,对所述运动向量进行缩放以形成对应于另一列表Y的运动向量。
d.可替代地,可基于当前PU的相邻像素与通过运动向量识别的块(与当前PU 大小相同)的相邻像素之间的差来测量运动向量。可将产生最小差的运动向量选为最终时间向量。
15.当导出当前块的时间向量时,来自用ATMVP编码的相邻块的运动向量和/或时间向量可具有比来自其它相邻块的运动向量更高的优先级。
a.在一个实例中,首先仅检查相邻块的时间向量,且可将第一可用时间向量设置成当前块的时间向量。仅当此类时间向量不存在时,才进一步检查正常运动向量。
在这种情况下,需要存储ATMVP编码块的时间向量。
b.在另一实例中,首先仅检查来自经ATMVP编码相邻块的运动向量,且可将第一可用运动向量设置成当前块的时间向量。仅当这类时间向量不存在时,才进一步检查正常运动向量。
c.在另一实例中,首先仅检查来自经ATMVP编码相邻块的运动向量,且可将第一可用运动向量设置成当前块的时间向量。如果这类运动向量不可用,那么便与项目编号15a类似地继续对时间向量的检查。
d.在另一实例中,首先检查来自相邻块的时间向量,且可将第一可用时间向量设置成当前块的时间向量。如果此类运动向量不可用,那么便与项目编号15b类似地继续对时间向量的检查。
e.在另一实例中,首先检查经ATMVP编码相邻块的时间向量和运动向量,且
可将第一可用向量设置成当前块的时间向量。仅当此类时间向量和运动向量不存在时,才进一步检查正常运动向量。
16.当考虑多个空间相邻运动向量来导出时间向量时,可将运动向量选为使得其将从像素域中计算出的失真最小化,例如模板匹配可用以导出时间向量以使得将产生最小匹配开销的一个选为最终时间向量。
17.来自对应块(在运动源图片中)的运动信息的集合的导出按以下方式进行:当运动向量在任何列表X的对应块中可用时(表示运动向量为MVX),对于ATMVP候选的当前子PU,将运动向量视为可供用于列表X(通过对MVX进行缩放)。如果运动向量在任何列表X的对应块中不可用,那么便将运动向量视为不可用于列表X。
a.可替代地,当对应块中的运动向量不可用于列表X但可供用于列表1-X(通过Y表示1-X且将运动向量表示为MVY)时,仍将运动向量视为可用于列表X(通过朝向列表X中的目标参考图片对MVY进行缩放)。
b.替代地或另外,当列表X和列表Y(等于1-X)的对应块中的运动向量都可用时,不必使用来自列表X和列表Y的运动向量来直接缩放并通过缩放生成当前子PU 的两个运动向量。
i.在一个实例中,当编制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。
18.可对运动源图片进行发信,例如由编码位流中的视频编码器20生成的运动源图片。详细地说,对于B片段,对指示运动源图片是来自列表0还是列表1的旗标进行发信。可替代地,另外,可对当前图片的列表0或列表1的参考索引进行发信以识别运动源图片。
当识别时间向量时,如果向量指向相关联运动源图片中的经帧内编码块,那么便将所述向量视为不可用(因此可考虑其它向量)。
图5是说明根据参考图片的子PU运动预测的概念图。在此实例中,当前图片180 包含当前PU 184(例如PU)。在此实例中,运动向量192识别相对于PU 184的参考图片 182的PU186。PU 186分割成各自具有对应运动向量190A到190D的子PU 188A到 188D。因此,尽管当前PU 184实际上未分割成单独子PU,但在此实例中,可以使用来自子PU 188A到188D的运动信息来预测当前PU 184。具体地说,视频编码器可使用对应运动向量190A到190D对当前PU184的子PU进行编码。然而,视频编码器不必对指示当前PU 184分裂成子PU的语法元素进行编码。以这种方式,可使用从对应子PU 188A到188D继承的多个运动向量190A到190D来有效地预测当前PU 184,而无需用以将当前PU 184分裂成多个子PU的语法元素的信令开销。
图6是说明ATMVP(类似于TMVP)中的相关图片的概念图。具体地说,图9说明当前图片204、运动源图片206和参考图片200、202。更具体地说,当前图片204包含当前块208。时间运动向量212识别相对于当前块208的运动源图片206的对应块210。对应块210又包含运动向量214,所述运动向量214指代参考图片202且充当当前块208 的至少部分(例如当前块208的子PU)的高级时间运动向量预测符。即可将运动向量214 作为当前块208的候选运动向量预测符添加。如果选择,那么便可使用对应运动向量(即指代参考图片200的运动向量216)来预测当前块208的至少部分。
HEVC的子PU相关技术也描述于美国申请案第62/174,393号和第62/295,329号中,所述美国申请案的全部内容以引用的方式并入本文中。展示用于空间-时间运动向量预测符导出的实例技术的流程图如下展示在图7中。
为使用子PU运动预测增强性能,采用如美国申请案第62/174,393号和第62/295,329 号中所述的相邻子PU的空间-时间运动信息(ATMVP_EXT)。在此实例中,每一子PU的运动向量是从三维域中的相邻块的信息导出的。这意味着相邻块可为当前图片中的空间相邻项或先前编码图片中的时间相邻项。图7展示空间-时间运动向量预测符(STMVP) 导出过程的流程图。除下文所描述之外,上文所描述的用于ATMVP的方法(例如项目编号#1、#2、#3、#4、#6、#7、#12、#13)可直接扩展到STMVP。
图7的方法可通过视频编码器20和/或视频解码器30(如下文更详细地描述)来执行。出于概括性,将图7的方法解释为由“视频编码器”执行,所述视频编码器同样可对应于视频编码器20或视频解码器30。
最初,视频编码器从PU的当前子PU的空间或时间相邻块获取有效运动场(230)。视频编码器随后从所获取的相邻运动场导出运动信息(232)。视频编码器随后确定是否 PU的全部子PU的运动信息都已导出(234)。如果否(234的“否”分支),那么视频编码器便导出剩余子PU的运动信息(230)。另一方面,如果全部子PU的运动信息都已导出 (234的“是”分支),那么视频编码器便确定空间-时间子PU运动预测符的可用性(236),例如如上文所解释。如果空间-时间子PU运动预测符可用,那么视频编码器便将空间- 时间子PU运动预测符插入到合并列表中(238)。
虽然未在图7的方法中展示,但视频编码器可随后使用合并候选列表对PU(例如PU的子PU中的每一个)进行编码。举例来说,当由视频编码器20执行时,视频编码器 20可使用子PU作为预测符来计算(例如每一子PU的)PU的残余块,变换并量化残余块,且对所得量化变换系数进行熵编码。类似地,视频解码器30可对接收到的数据进行熵解码以重现量化变换系数,对这些系数进行逆量化和逆变换以重现残余块,且随后将残余块与对应子PU进行组合以将对应于PU的块进行解码。
在以下描述中,术语“块”用以指预测相关信息的存储器的块单元,所述预测相关信息例如帧间或帧内预测、帧内预测模式、运动信息等。可保存此类预测信息并用于编码未来块,例如预测未来块的预测模式信息。在AVC和HEVC中,此类块的大小为4×4。应注意,在以下描述中,“PU”用以指示经帧间编码块单元和子PU用以指示从相邻块导出运动信息的单元。
可应用以下技术的任何组合。
图8是说明实例当前预测单元(PU)250和相邻子PU 252A到252I的概念图。当前块250包含子PU 254A到254P。当PU包含多个子PU时,子PU中的每一个的大小通常等于或大于相邻块大小。在图8的实例中,子PU 252A到252I表示在当前PU 250外部的相邻块,且子PU254A到254P表示在当前PU 250中的子PU。在此实例中,与子 PU 252A到252I相邻的子PU254A到254P的大小相同。举例来说,所述大小可等于4×4。
相比之下,图9是说明包含大于相邻块264A到264I的子PU 262A到262D的另一实例当前PU 260的概念图。在其它实例中,子PU可具有非方形形状,如矩形或三角形。
在一些实例中,可在包含分割成子PU的块的片段的片段标头中对子PU的大小进行发信。
可替代地,以上与ATMPV相关的论述的项目编号#12中的过程可扩展。考虑图8 中的情况,假设光栅扫描次序(254A、254B、254C、254D、254E等)在以下描述中应用于其运动预测导出的子PU 254A到254P。然而,还可应用其它扫描次序,且应注意本公开的技术并不仅限于光栅扫描次序。
此处,相邻块可分类成两种不同类型:空间和时间。空间相邻块是在当前图片或片段中且与当前子PU相邻的已编码块或已扫描子PU,如图8的空间相邻子PU 252A到 252I。时间相邻块(未在图8中展示)是在先前编码图片中且与当前子PU的并置块相邻的块。在一个实例中,使用与当前PU相关联的所有参考图片来获取时间相邻块。在另一实例中,参考图片子集用于STMVP导出,例如仅使用每一参考图片列表的第一项。
根据这一定义,对于子PU 254A,所有相邻块252A到252P和其在先前编码图片中的并置块是被当作可用的空间和时间相邻块。根据光栅扫描次序,块254B到254P在空间上不可用。但是,由于其运动信息可在其先前编码图片中的并置块中找到,因而所有子PU(从254A到254P)都是子PU(A)的时间上可用的相邻块。将子PU 254G作为另一实例,其可用的空间相邻块包含从252A到252I以及从254A到254F的块。在一些实例中,可将某些限制应用于空间相邻块,例如可将空间相邻块(即子PU 252A到252I)限于相同LCU/片段/方块中作为当前块250以便视为“可用”。
可选择全部可用相邻块的子集以导出每一子PU的运动信息或运动场。可预定义每一PU的用于导出的子集,可替代地,其可作为片段标头/PPS/SPS的高电平语法发信。为了最优化编码性能,所述子集对于每一子PU可以不同。在实践中,为简单起见,子集的位置的固定图案是优选的。举例来说,每一子PU可使用其正上方空间相邻项、其正左侧空间相邻项和其正右下方时间相邻项作为子集。如图8中所示,当考虑子PU 254J 时,上方的块(子PU254F)和左侧的块(子PU 254I)为空间上可用相邻块,且右下块(子 PU 254O)为时间上可用相邻块。使用此子集,由于处理相关性,必须依序处理当前PU 250 中的子PU 254A到254P。
为允许对当前PU 250中的子PU 254A到254P中的每一个进行平行处理,可定义并使用相邻子PU 252A到252I的不同子集。在一个实例中,子集仅含有不属于当前PU 250 的空间相邻块,例如相邻子PU 252A到252I。在这种情况下,平行处理将是可能的。在另一实例中,对于给定子PU 254A到254P中的一个,如果其空间相邻块在当前PU 250 内,那么便可将所述空间相邻块的并置块放置在子集中且用以导出当前子PU的运动信息。举例来说,当考虑子PU 254J时,将上方块(子PU 254F)以及左侧块(子PU 254I)和右下块(子PU 254O)的时间并置块选为子集以导出子PU(子PU 254J)的运动。在这种情况下,子PU 254J的子集含有三个时间相邻块。在另一实例中,可启用部分平行处理,其中,一个PU分裂成若干个区域且可独立地处理每一区域(覆盖若干子PU)。
有时,相邻块经帧内编码,且可能期望具有确定所述块的替换运动信息的规则,以获得更好的运动预测和编码效率。举例来说,考虑子PU 254A,此处可能存在子PU 252B、252C和252F经帧内编码,且子PU 252A、252D、252E、252G、252H和252I经帧间编码的情况。
对于空间相邻项,可使用预定义次序来填充帧内编码块的运动信息和第一个找到的帧间编码块的运动信息。举例来说,可将以上相邻项的搜索次序设置为从正上方相邻项向右开始直到最右侧相邻项为止,意味着子PU 252B、252C、252D和252E的次序。左侧相邻项的搜索次序可设置为从正左侧相邻项朝下开始直到最底部相邻项为止,意味着子PU 252F、252G、252H和252I的次序。如果在整个搜索过程中没有发现帧间编码块,那么便将上方或左侧空间相邻项视为不可用的。
对于时间相邻项,可使用如在TMVP导出中所规定的相同规则。然而,应注意,也可使用其它规则,例如基于运动方向、时间距离(在不同参考图片中搜索)和空间位置等的规则。
对于每一相邻块,基于每一参考图片列表将运动向量缩放应用于其运动向量,以便将全部相邻块运动向量映射到每一列表中的相同参考图片。存在两个步骤:第一,确定待用于缩放的源运动向量。第二,确定源运动向量所投影到的目标参考图片。对于第一步骤,可使用若干种方法。
(a)对于每一参考列表,运动向量缩放独立于另一参考列表中的运动向量;对于给定块的运动信息,如果在参考列表中没有运动向量(例如单向预测模式而非双向预测模式),那么便不对所述列表执行运动向量缩放。
(b)运动向量缩放不独立于另一参考列表中的运动向量;对于给定块的运动信息,如果在参考列表中没有运动向量不可用,那么便可根据另一参考列表中的一个运动向量对其进行缩放。
(c)根据一个预定义参考列表对两个运动向量进行缩放(如在上文所提及的TMVP中)。
作为一个实例,方法(a)用于对空间相邻块的运动向量进行缩放,方法(c)用于对时间相邻块的运动向量进行缩放。
对于第二步骤,可根据基于可用空间相邻块的运动信息(例如参考图片)的某一规则来选择目标参考图片。此规则的一个实例是多数决定原则,即选择由大多数块共享的参考图片。在这种情况下,从编码器到解码器的目标参考图片不需要信令,因为也可以使用相同规则在解码器侧推断出相同的信息。替代地,此参考图片也可以在片段标头中明确地指定或以一些其它方法发信到解码器。目标参考图片确定为每一参考列表的第一参考图片(refidx=0)。
在从如前一章节和运动缩放过程(若需要)中所说明的相邻块检索运动信息之后,导出当前子PU的运动信息。假设存在具有一个给定子PU的运动信息的N个可用相邻块。首先,必须确定预测方向(InterDir)。最简单的方法如下:
a.将InterDir初始化为零,随后循环贯穿N个可用相邻块的运动信息;
b.如果在列表0中存在至少一个运动向量,那么InterDir=(InterDir bitwiseOR1)。
c.如果在列表1中存在至少一个运动向量,那么InterDir=(InterDir bitwiseOR2)。
此处“bitwiseOR”表示逐位或运算。InterDir的值定义为:0(无帧间预测)、1(基于列表0的帧间预测)、2(基于列表1的帧间预测)和3(基于列表0和列表1的帧间预测)。
可替代地,类似于对用于上述运动向量缩放的目标参考图片的确定,多数决定原则可用以基于所有可用相邻块的运动信息来确定给定子PU的InterDir的值。
在确定InterDir之后,可导出运动向量。对于基于所导出InterDir的每一参考列表,可存在通过运动向量缩放到如上文所描述的目标参考图片可用的M个运动向量(M<=N)。参考列表的运动向量可导出为:
Figure BDA0001978739090000211
其中Wi和wj分别是水平和竖直运动分量的加权因子,且Oi和Oj是取决于加权因子的偏移值。
加权因子可基于各种因子来确定。在一个实例中,相同规则可适用于一个PU内的所有子PU。规则可定义如下:
举例来说,可基于当前子PU和对应相邻块的位置距离来确定加权因子。
在另一实例中,加权因子也可基于目标参考图片与在缩放之前与对应相邻块的运动向量相关联的参考图片之间的POC距离来确定。
在又一实例中,可基于运动向量差或一致性来确定加权因子。
为简单起见,所有加权因子也可设置成1。
可替代地,可将不同规则应用于一个PU内的子PU。举例来说,可应用以上规则,另外,对位于第一行/第一列的子PU来说,将从时间相邻块导出的运动向量的加权因子设置成0,而对剩余块来说,将从空间相邻块导出的运动向量的加权因子设置成0。
应注意,在实践中,以上等式可按原样实施,或为易于实施而简化。举例来说,为避免除法或浮点运算,可使用定点运算来估算以上等式。一个实例是为避免除以3,可替代地选择为乘以43/128,从而用乘法和位偏移替代除法运算。应在与本公开的技术相同的精神下考虑实施方案中的那些变型。
可替代地,非线性运算也可应用于导出运动向量,如中值滤波器。
在一些实例中,即使当每一子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。
在一些实例中,如果STMVP可用,那么便将其插入到合并列表中。所述过程在上文的项目编号#1中可扩展,且在ATMVP之前或之后可插入STMVP。在一个实例中, STMVP刚好在合并列表中的ATMVP之后插入。
当语法元素编码有上下文自适应二进制算术编码(CABAC)时,应用上下文模型来表示条件概率。在HEVC中,CABAC编码器确定不同语法要素的不同上下文模型。在一些实例中,基于编码上下文,如所解码相邻块的二进制数或信息,CABAC编码器可从语法元素的若干候选上下文模型选择一个上下文模型。举例来说,名为skip_flag_C[0]、 skip_flag_C[1]和skip_flag_C[2]的三个候选上下文模型可用以对指示CU是否以跳过模式编码的语法元素cu_skip_flag进行编码。
为从三个候选中选择适当上下文,CABAC编码器可按以下来计算上下文索引x:
x=(cu_skip_flag[xNbL][yNbL]&&availableL)+(cu_skip_flag[xNbA][yNbA]&&availableA)
其中亮度位置(x0,y0)指定相对于当前图片的左上方样本的当前亮度块的左上方亮度样本;位置(xNbL,yNbL)设置成等于(x0-1,y0)且可变availableL指定直接定位到当前块的左侧的块(即图10中的块L)的可用性;位置(xNbA,yNbA)设置成等于(x0,y0-1) 且可变availableA指定定位在当前块正上方的编码块(即图10中的块A)的可用性,且 cu_skip_flag[xNbL][yNbL]和cu_skip_flag[xNbA][yNbA]分别表示图10中的左侧块L和上方块A的cu_skip_flag。用以导出cu_skip_flag的上下文信息的相邻块说明于图10中。
如上文所描述,存在许多基于优先级的候选列表。根据预定义优先级将每一候选插入到候选列表中。举例来说,在HEVC中,通过基于预定义次序(或根据预定义优先级) 插入候选来建构合并候选列表、AMVP候选列表、帧内最可能模式(MPM)列表。如图11 中所示,通过按预定义次序(A1→B1→B0→A0→B2)插入空间合并候选来建构合并候选列表。此固定次序或许不能够捕获局部特性。如果可通过放置在其它候选之前具有较高选中机会的候选来应用灵活次序,那么便可预期较高的编码性能。
在本公开的技术中,可在当前块与相邻块之间使用几何信息来确定针对如合并候选列表、AMVP列表和帧内MPM列表的候选列表的建构的优先级或插入次序。此外,此几何信息可用于确定CABAC编码的上下文。
可单独应用以下详细列举的方法。可替代地,可应用其任何组合。
(1)在一个实例中,将当前块的代表性点与候选所属相邻块的代表性点之间的距离用作几何信息以确定候选列表的建构的优先级或插入次序。此处所使用的术语“块”(例如图12中的块0到块4和当前块)可以是编码单元/块、预测单元/块、子PU、变换单元/ 块或任何其它编码结构。此外,单元块是用以存储如运动信息(运动向量、参考图片索引、帧间预测方向等)、帧内预测模式、变换信息等编码信息的基础单元。举例来说,此单元块的大小可为4×4。如图12中所示,从由相邻块块0、块1、块2、块3和块4覆盖的单元块分别导出候选A0、A1、B0、B1和B2。
a.在一个实例中,候选的代表性点与当前代表性点之间的较短距离具有较高优先级,或反之亦然。
b.在一个实例中,所述距离可以是LN-标准距离(N可为1、2或任何其它正整数)。
(2)在第1项中,当前块的代表性点可以是当前块内的任何点。在一个实例中,如图12中所示,当前块的代表性点是当前块的中心点。图12说明空间合并候选的几何信息的一实例。
(3)在第1项中,相邻块的代表性点可以是相邻块内的任何点。在一个实例中,如图12中所示,相邻块的代表性点是相邻块的中心点。
(4)可替代地,如图13中所示,相邻块的代表性点是由相邻块覆盖的子PU的中心点。举例来说,如果将相邻块编码为如FRUC、Affine、ATMVP的子PU模式,那么便将所述子PU的中心点用作所述块的代表性点。图13说明空间合并候选的几何信息的实例。如图13中所示,因为将块1编码为子PU模式,所以候选A1所属的子PU的代表性点用以导出几何优先级。
(5)另外地或可替代地,代表性点可以是根据如MV、参考图片信息、帧内模式、变换系数、残余信息等编码信息自适应确定的当前块或相邻块内的任何点。
a.在一个实例中,对于建构帧内模式候选列表,中心点可由块内的左上点替换。
(6)上述方法可应用于确定优先级从而单独地或以其它优先级的任何组合方式来建构候选列表。
a.在一个实例中,当两个或更多个候选具有相同几何优先级(例如代表性点之间的距离相同)时,预定义优先级可用以对其进行区分。举例来说,可使用插入次序 (A1→B1→B0→A0→B2)。
b.可替代地,其它优先级可对如帧间预测方向(例如L0、L1或双向)、MV、帧内预测模式、参考图片的POC等信息进行编码。
(7)上述方法可应用于某些块。
a.在一个实例中,以上方法应用于具有不同宽度和高度的块。
b.可替代地,以上方法应用于具有大于K或小于1/K的宽度与高度之比的块,其中K是正整数值且大于1。
c.可替代地,以上方法应用于具有某些大小的块。
(8)上述方法可部分应用于候选中的一些。
a.在一个实例中,几何信息仅用以确定空间合并/帧内模式候选(即从空间相邻块导出的候选)的次序。
b.在一个实例中,几何信息仅用以确定配对候选(A1,B1)的次序。
c.在一个实例中,几何信息仅用以确定配对候选(A0,B0)的次序。
(9)可在位流中对是否使用几何型优先级进行发信。
a.在一个实例中,对于每一编码单元/预测单元/变换单元,可对旗标进行发信以指示是否应使用几何型优先级或预定义优先级列表。
(10)当根据几何型优先级修改合并候选列表的次序时,第一候选在重新排序之后用于ATMVP和/或STMVP过程的第一阶段中。
a.可替代地,根据预定义次序导出的第一候选用于ATMVP和/或STMVP过程的第一阶段中。
(11)当利用来自相邻块的信息时,几何信息可用于确定CABAC编码的上下文。
a.在一个实例中,除左侧块(如图10中所描绘的L)和上方块(如图10中所描绘的A)以外,如图11中所描绘的A0、A1、B0、B1和B2(与图10中的A相同)的更多相邻块用以导出当前块的cu_skip_flag的上下文。
b.当多个相邻块(以M来表示总数)用于上下文建模时,仅考虑来自基于几何优先级的前N个块的信息。此处,N小于M。在一个实例中,将N设置成2且M设置成5。
c.可替代地,此外,对包含但不限于cu_transquant_bypass_flag、cu_skip_flag、cbf、pred_mode_flag、rqt_root_cbf、merge_idx、merge_flag、cbf_luma、cbf_cb、cbf_cr的其它语法元素的上下文建模亦可使用以上方法。
d.在一个实例中,以上方法可应用于某些块,例如块的宽度与高度不同或宽度与高度之比大于阈值的块,或应用于具有某些大小的块。
e.在一个实例中,通过由其相关联加权因子缩放的相邻块的编码信息来确定CABAC上下文。导出具有几何信息的相关联加权因子。举例来说,当选择编码跳过旗标的上下文时,可通过以下等式来导出x。
x=WL*(cu_skip_flag[xNbL][yNbL]&&availableL)+ WA(cu_skip_flag[xNbA][yNbA]&&availableA)
WL和WA分别是左侧和上方相邻块的相关联加权因子。WL和WA可根据其几何信息来导出。在一个实例中,当相邻块与当前块的代表性点之间的距离大于预定义阈值时,将相关联加权因子设置成值M;否则(当所述距离小于或等于预定义阈值时)将相关联加权因子设置成值N。
f.在第11.e项中,相邻块不限于用于HEVC中的左侧和上方块。相邻块可以是先前编码块中的任一个。
g.在第11.e项中,可通过引入更多阈值而对加权因子分配更多值。
(12)在另一实例中,相邻块的几何信息可用以确定对如合并候选列表、AMVP列表和帧内MPM列表的候选列表的建构的优先级或插入次序。此外,此几何信息可用于确定CABAC编码的上下文。
(13)在一个实例中,将候选所属相邻块的区域用作几何信息以确定对候选列表的建构的优先级或插入次序。此处所使用的术语“块”可以是编码单元/块、预测单元/块、子PU、变换单元/块或任何其它编码结构。具有较小区域的块具有较高优先级或反之亦然。
(14)可像如第6到11项中所述的上述方法一样来应用基于区域的几何信息。
图14是说明可配置成执行针对运动向量预测的本公开的技术的实例视频编码和解码系统10的框图。如图14中所示,系统10包含源装置12,所述源装置12提供稍后待由目的地装置14解码的经编码视频数据。具体地说,源装置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可配置成支持单向或双向视频发射,以支持如视频流、视频重放、视频广播和/或视频电话的应用。
在图14的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本公开,源装置12的视频编码器20和目的地装置14的视频解码器30可配置成应用本公开针对运动向量预测的候选列表建构技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(如外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而不是包含集成显示装置。
图14的所说明系统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。虽然未展示于图14中,但在一些方面,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以操纵对共同数据流或单独数据流中的音频和视频的编码。如果适用,那么MUX-DEMUX 单元可符合ITU H.223多路复用器协议,或如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一种,如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件来实施所述技术时,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器以硬件来执行所述指令以执行本公开的技术。视频编码器20和视频解码器30中的每一个可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一种可集成为对应装置中的组合编码器/解码器(编解码器)的部分。
视频编码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称作ISO/IECMPEG-4AVC),包含其可缩放视频编码(SVC)和多视图视频编码(MVC)扩展。MVC的一个联合草案描述于2010年3月的“用于通用视听服务的高级视频编码(Advanced video coding forgeneric audiovisual services)”ITU-T规范H.264中。
另外,存在一种新开发的视频编码标准,即高效视频编码(HEVC),其由ITU-T视频编码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频编码联合合作小组(JCT-VC) 开发。可从phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip获得HEVC的最新草案。HEVC标准也在推荐ITU-T H.265和国际标准ISO/IEC 23008-2中联合呈现,两者的标题都是“高效视频编码”,并且都发布于2014年10月。
JCT-VC开发了HEVC标准。HEVC标准化努力是基于被称作HEVC测试模型(HM) 的视频编码装置的演进模型。HM假设视频编码装置根据例如ITU-T H.264/AVC相对于现有装置的几个额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是 HEVC HM可提供多达三十三种帧内预测编码模式。
一般来说,HM的工作模型描述视频帧或图片可分成包含亮度和色度样本的序列树块或最大编码单元(LCU)。位流内的语法数据可定义LCU(就像素数目来说,其为最大编码单位)的大小。片段包含按编码次序的大量连续树块。视频帧或图片可分割成一或多个片段。每一树块可以根据四叉树分裂成编码单元(CU)。一般来说,四叉树数据结构包含每个CU一个节点,其中根节点对应于树块。如果CU分裂成四个子CU,那么对应于 CU的节点包含四个叶节点,其中叶节点中的每一个对应于子CU中的一个。
四叉树数据结构的每一节点可提供对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,指示对应于节点的CU是否分裂成子CU。CU的语法元素可递归地定义,且可取决于所述CU是否分裂成子CU。如果CU未进一步分裂,那么将其称作叶 CU。在本公开中,叶CU的四个子CU也将称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16×16大小的CU不进一步分裂,那么尽管16×16CU 从未分裂,但四个8×8子CU也将称作叶CU。
除了CU不具有大小区别以外,CU具有与H.264标准的宏块类似的目的。举例来说,树块可分裂成四个子节点(还称为子CU),且每一子节点又可为父节点并且可分裂成另外四个子节点。最后未分裂的子节点(称作四叉树的叶节点)包括编码节点,也称作叶CU。与经编码位流相关联的语法数据可定义树块可分裂的最大次数,称作最大CU深度,且还可定义编码节点的最小大小。因此,位流还可定义最小编码单元(SCU)。在HEVC 的上下文或其它标准(例如其在H.264/AVC中的宏块和子块)的上下文中的相似数据结构中,本公开使用术语“块”来指代CU、PU或TU中的任一种。
CU包含编码节点和与所述编码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于编码节点的大小且形状必须是正方形。CU的大小可介于从8×8像素到具有最大64×64像素或更大的树块的大小的范围。每一CU可含有一或多个PU和一或多个 TU。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可在CU被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有所不同。PU可分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU 根据四叉树分割成一或多个TU。TU的形状可为正方形或非正方形(例如矩形)。
HEVC标准允许根据TU进行变换,TU可针对不同CU而有所不同。TU通常是基于针对经分割LCU定义的给定CU内的PU的大小而定大小,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU的残余样本可使用一种称作“残余四叉树”(RQT)的四叉树结构来细分成较小单元。RQT的叶节点可称为变换单元(TU)。可对与TU相关联的像素差进行变换以产生变换系数,所述变换系数可量化。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于相对应CU的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,PU包含与预测相关的数据。举例来说,当PU经帧内模式编码时,PU的数据可包含在残余四叉树 (RQT)中,残余四叉树可包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一或多个运动向量的数据。定义PU的运动向量的数据可描述例如运动向量的水平分量、运动向量的竖直分量、运动向量的分辨率(例如四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考图片列表(例如列表0、列表1或列表C)。
当前块与相邻块之间的几何信息可确定对运动向量的参考图片列表(例如列表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内的编码节点。视频块可具有固定或变化的大小,且可根据指定编码标准而有不同大小。
作为一实例,HM支持各种PU大小的预测。假设特定CU的大小为2N×2N,那么 HM便支持2N×2N或N×N的PU大小的帧内预测,以及2N×2N、2N×N、N×2N或N×N 的对称PU大小的帧间预测。HM还支持2N×nU、2N×nD、nL×2N和nR×2N的PU大小中的帧间预测的非对称分割。在非对称分割中,CU的一个方向不分割,但将另一方向分割成25%和75%。CU的对应于25%分区的部分通过“n”后面跟随“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2N×nU”指代经水平分割的2N×2N CU,其中顶部为2N×0.5N PU,而底部为2N×1.5N PU。
一般来说,帧内预测涉及使用块(同一图片内)的相邻先前编码像素来预测块。可使用各种帧内预测模式,如水平、竖直和各种对角线模式,以及DC和平面模式。此外,某些模式可视为基于用以对相邻块进行帧内预测的帧内预测模式的“最有可能的”。根据本公开的技术,如上文所论述,视频编码器20和视频解码器30可建构将当前块的相邻块包含为候选的最可能模式(MPM)列表,以使得例如根据当前块和相邻块的几何信息对MPM列表内的候选进行排序。
在本公开中,“N×N”与“N乘N”可互换使用以指代在竖直和水平尺寸方面的视频块的像素尺寸,例如16×16个像素或16乘16个像素。一般来说,16×16块将在竖直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,N×N块大体上在竖直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行和列布置。此外,块未必需要在水平方向与竖直方向上具有相同数目的像素。举例来说,块可包括N×M个像素,其中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可实现位节省。概率判定可基于分配给符号的上下文。
图15是说明可配置成执行针对几何型优先级列表的本公开的技术的视频编码器20 的实例的框图。视频编码器20可执行对视频片段内的视频块的帧内和帧间编码。帧内编码依赖于空间预测来减少或去除给定视频帧或图片内的视频的空间冗余。帧间编码依赖于时间预测来减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式 (I模式)可指代若干基于空间的编码模式中的任一种。如单向预测(P模式)或双向预测(B 模式)的帧间模式可指代若干基于时间的编码模式中的任一种。
如图15中所示,视频编码器20接收待编码视频帧内的当前视频块。在图15的实例中,视频编码器20包含模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。针对视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60以及求和器62。还可包含解块滤波器(图15中未展示)以便对块边界进行滤波,以从重构视频去除成块假影。在需要时,解块滤波器将通常对求和器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在解码视频片段的视频块时使用。
此外,熵编码单元56或运动补偿单元44可在执行运动向量预测时应用本公开的技术,例如使用合并模式或AMVP模式。具体地说,当建构用以预测当前块的运动向量的候选列表(例如合并候选列表或AMVP候选列表)时,熵编码单元56或运动补偿单元44 可根据候选的优先级值将候选布置在候选列表内,其中优先级值可表示候选的几何信息,如本公开中所论述。几何信息可以是例如当前块与当前块的相邻块(其可包含空间和 /或时间相邻块)的代表性点之间的距离。如上文所论述,代表性点可以是块的中心点、块的左上点等等。在计算优先级值时,熵编码单元56或运动补偿单元44可单独或以任何组合方式使用本公开的各种技术中的任一种。
视频编码器20可配置成关于图14以及如将在下文更详细所描述来执行上文所论述的本公开的各种技术中的任一种。举例来说,运动补偿单元44可配置成根据本公开的技术使用AMVP或合并模式对视频数据块的运动信息进行编码。另外地或可替代地,帧内预测单元46可配置成根据本公开的技术对帧内预测模式进行编码。另外地或可替代地,熵编码单元56可配置成使用本公开的技术来确定CABAC编码的上下文信息。
举例来说,假设运动补偿单元44选择执行合并模式,运动补偿单元44可形成包含合并候选集合的候选列表。运动补偿单元44可基于特定的预定次序将候选添加到候选列表。运动补偿单元44还可添加额外候选并执行对候选列表的精简且对候选列表区分优先级,如上文所论述。最终,模式选择单元40可确定将使用哪些候选来对当前块的运动信息进行编码,且对表示所选候选的合并索引进行编码。
作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。具体地说,帧内预测单元46可确定用以对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可例如在单独编码遍次期间使用各种帧内预测模式对当前块进行编码,且帧内预测单元46(或在一些实例中为模式选择单元40)可从测试模式中选择适当帧内预测模式来使用。
举例来说,帧内预测单元46可使用速率-失真分析对各种经测试帧内预测模式计算速率-失真值,并在所测试的模式当中选择具有最佳速率-失真特性的帧内预测模式。速率失真分析一般确定经编码块与编码成产生经编码块的原始未经编码块之间的失真(或误差)的量,以及用以产生经编码块的位速率(即位数目)。帧内预测单元46可根据各种经编码块的失真和速率来计算比率,以确定哪种帧内预测模式对于所述块呈现最佳速率 -失真值。
在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的所选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可对指示所选帧内预测模式的信息进行编码。如上文所论述,帧内预测单元46和/或熵编码单元56可使用本公开的技术对指示所选帧内预测模式的信息进行编码。具体地说,熵编码单元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可使用可用于确定CABAC编码的上下文信息的几何信息。举例来说,当CABAC编码值针对块的语法元素时,熵编码单元56可基于几何信息来确定待从其检索将用以形成上下文信息的信息所述块的一或多个相邻块,所述几何信息例如所述块与相邻块的代表性点之间的距离。在一些实例中,熵编码单元56可根据如上文所论述的几何信息对来自两个或更多个相邻块的数据的比重进行加权。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块,例如以供稍后用作参考块。运动补偿单元44可通过将残余块添加到参考图片存储器64的帧中的一个的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于重构的残余块以计算供用于运动估计中的子整数像素值。求和器62将重构的残余块添加到由运动补偿单元44产生的经运动补偿的预测块,从而产生重构的视频块以用于存储在参考图片存储器64中。重构的视频块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频帧中的块进行帧间编码。
图16是说明可配置成执行本公开的运动向量预测技术的视频解码器30的实例的框图。在图16的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82以及求和器80。在一些实例中,视频解码器30可执行大体上与关于视频编码器20(图15)描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收到的运动向量生成预测数据,而帧内预测单元74可基于从熵解码单元70接收到的帧内预测模式指示符生成预测数据。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频片段的视频块及相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵解码以生成量化系数、运动向量或帧内预测模式指示符和其它语法元素。在一些实例中,熵解码单元70可使用本公开的技术来确定语法元素的熵解码值的上下文信息。举例来说,熵解码单元70可使用几何信息(例如当前块的代表性点与相邻块的代表性点之间的距离)确定一或多个相邻块(且在一些实例中进行加权),从而确定待用以对当前块的语法元素的值进行CABAC解码的上下文信息。熵解码单元70将运动向量和其它语法元素转发到运动补偿单元72。视频解码器30可在视频片段级和/或视频块级下接收语法元素。
在将视频片段编码为经帧内编码(I)片段时,帧内预测单元74可基于所发信的帧内预测模式和来自当前帧或图片的先前经解码块的数据来生成对当前视频片段的视频块的预测数据。当将视频帧编码为经帧间编码(即B、P或GPB)片段时,运动补偿单元72 基于从熵解码单元70接收到的运动向量和其它语法元素来产生当前视频片段的视频块的预测块。可从参考图片列表中的一个内的参考图片中的一个产生预测性块。视频解码器30可基于存储在参考图片存储器82中的参考图片使用默认建构技术来建构参考帧列表,即列表0和列表1。
例如当使用合并模式或AMVP模式来解码运动向量时,运动补偿单元72可使用当前块与相邻块之间的几何信息来形成候选列表,以确定如合并候选列表或AMVP候选者列表的候选列表的建构的优先级或插入次序。另外地或可替代地,帧内预测单元74可使用当前块与相邻块之间的几何信息来确定帧内预测的一或多个最可能模式(其中最可能模式对应于候选列表),以确定最可能模式的优先级或插入次序。在一个实例中,将当前块的代表性点与相邻块的代表性点之间的距离用作几何信息来确定候选列表的建构的优先级或插入次序。在一个实例中,候选的代表性点与当前代表性点之间的较短距离具有较高优先级,或反之亦然。在另一实例中,所述距离可以是LN-标准距离(N可为1、 2或任何其它正整数)。
运动补偿单元72通过剖析运动向量和其它语法元素来确定当前视频片段的视频块的预测信息,且使用所述预测信息来产生正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些来确定用以对视频片段的视频块进行编码的预测模式(例如帧内预测或帧间预测)、帧间预测片段类型(例如B片段、P片段或 GPB片段)、片段的参考图片列表中的一或多个的建构信息、片段的每一经帧间编码的视频块的运动向量、片段的每一经帧间编码的视频块的帧间预测状态以及用以对当前视频片段中的视频块进行解码的其它信息。
运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元72可根据所接收的语法元素来确定由视频编码器20所使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
视频解码器30可配置成执行上文关于图14所论述以及如将在下文更详细所论述的本公开的各种技术中的任一种。举例来说,运动补偿单元72可配置成根据本公开的技术确定使用AMVP或合并模式来执行运动向量预测。熵解码单元70可对表示如何针对当前块对运动信息进行编码的一或多个语法元素进行解码。
假设语法元素指示执行合并模式,运动补偿单元72可形成包含合并候选集合的候选列表。运动补偿单元72可基于特定的预定次序将候选添加到候选列表。如上文所论述,运动补偿单元72还可添加额外候选并执行对候选列表的精简。最终,运动补偿单元72可对表示使用哪些候选对当前块的运动信息进行编码的合并索引进行解码。
逆量化单元76对提供于位流中且由熵解码单元70进行熵解码的量化变换系数进行逆量化,即解量化。逆量化过程可包含使用由视频解码器30针对视频片段中的每一视频块所计算以确定应应用的量化程度以及同样的逆量化程度的量化参数QPY
逆变换单元78将逆变换(例如逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数以便产生像素域中的残余块。
在运动补偿单元72基于运动向量和其它语法元素生成当前视频块的预测性块后,视频解码器30通过对来自逆变换单元78的残余块与由运动补偿单元72生成的对应预测性块求和而形成经解码视频块。求和器80表示执行此求和运算的一或多个组件。必要时,解块滤波器还可应用于对经解码块进行滤波以便去除成块假象。还可以使用其它环路滤波器(在编码环路中或在编码环路之后)来使像素转变变平滑或以其它方式改善视频质量。随后将给定帧或图片中的经解码视频块存储在参考图片存储器82中,所述参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(如图14的显示装置32)上。
图17是说明根据本公开的技术对视频数据进行编码的实例方法的流程图。出于实例和解释的目的,将图17的方法解释为由图15的视频编码器20来执行。然而,应理解,可将其它装置配置成执行此方法或类似方法。
最初,视频编码器20接收待编码的当前块(300)。模式选择单元40随后确定待用以预测当前块的预测模式(302)。举例来说,模式选择单元40可最初确定是使用帧内预测模式还是帧间预测模式。如果模式选择单元40确定使用帧内预测,那么模式选择单元 40便可进一步确定待用以预测当前块的多种帧内预测模式中的一个(例如方向性模式、 DC模式、平面模式或类似模式)。如果模式选择单元40确定使用帧间预测模式,那么运动估计单元42便可执行运动搜索以确定当前块的一或多个预测单元(PU)的运动向量。
在任何情况下,视频编码器20可使用预测模式来预测当前块(304)。举例来说,在帧间预测模式中,运动补偿单元44可使用由运动估计单元42确定的运动向量来计算当前块的预测块。作为另一实例,在帧内预测模式中,帧内预测单元46可根据所确定的帧内预测模式使用当前块的相邻像素的值来生成预测块。
视频编码器20可随后确定当前块的代表性点与如空间和/或时间相邻块的相邻块的代表性点之间的距离(306)。代表性点可对应于例如块的中心点(例如如图12和13中所示)或如块的左上点的其它代表性点。如上文所论述,相邻块可对应于编码单元PU或子 PU。
视频编码器20随后根据所确定的距离将来自相邻块中的一或多个的数据添加到候选列表(308)。举例来说,对于帧内预测,视频编码器20可根据相邻块来确定一或多种最可能帧内预测模式的列表,例如用以预测具有最短距离的相邻块的帧内预测模式,其中这些块可称作包括于候选列表中的候选。作为另一实例,对于帧间预测,视频编码器 20可形成用于编码运动向量的合并模式或AMVP模式的候选列表。
在任何情况下,熵编码单元56可使用候选列表来编码预测信息(310)。举例来说,对于帧内预测,熵编码单元56可对表示最可能模式是否用以预测当前块以及哪些最可能模式用以预测当前块的语法元素进行编码。如果没有最可能模式用以预测当前块,那么熵编码单元56便可进一步对表示帧内预测模式的哪些剩余集合用以预测当前块的信息进行编码。作为另一实例,对于帧间预测,熵编码单元56可根据合并模式或AMVP 模式对运动信息进行编码。举例来说,对于合并模式,熵编码单元56可对候选列表中的索引进行熵编码。作为另一实例,对于AMVP模式,熵编码单元56可对候选列表中的索引、运动向量差信息、参考图片列表标识符和参考图片列表中的索引进行熵编码。
视频编码器20可随后计算当前块的残余块(312)。即如上文所论述,求和器50可逐像素计算预测块与初始当前块之间的差,从而计算残余块。变换处理单元52可随后将残余块的像素差从像素域(或空间域)变换到频域,以产生变换系数,且量化单元54可随后将变换系数量化以进而对残余块进行变换和量化(314)。熵编码单元56可随后对量化变换信息进行熵编码(316)。
虽然未在图17的实例中展示,但包含类似于步骤306到310中的那些的步骤的方法可另外或可替代地由熵编码单元56使用以对当前视频数据块的一或多个语法元素的值进行熵编码。此类语法元素可包含例如以下中的任一个或全部:编码单元颠倒旁通旗标、编码单元跳过旗标、经编码块旗标、预测模式旗标、经残余四叉树变换根编码块旗标、合并索引、合并旗标、亮度块的经编码块旗标或色度块的经编码块旗标。一般来说,此方法可包含出于确定用于CABAC编码的上下文信息的目的而确定到相邻块的距离。熵编码单元56可使用上下文信息以对表示具有等于最可能符号或最不可能符号的值的二进制化值的位的概率的上下文模型进行初始化及/或更新。
以这种方式,图17的方法表示对视频数据进行编码的方法的实例,所述方法包含确定当前视频数据块的第一代表性点与当前块的相邻块的多个第二代表性点之间的多个距离,按次序根据第一代表性点与第二代表性点之间的距离将相邻块中的一或多个作为候选添加到当前块的候选列表,以及使用候选列表对当前块进行编码(具体地说,在此实例中为编码(encoding))。
图18是说明根据本公开的技术对视频数据进行解码的实例方法的流程图。出于实例和解释的目的,将图18的方法解释为由图16的视频解码器30执行。然而,应理解,可将其它装置配置成执行此方法或类似方法。
最初,在此实例中,视频解码器30接收待解码的当前块(330)。当前块可以是例如编码单元(CU)、预测单元(PU)、对应于PU的CU的部分、子PU的集合等等。根据本公开的技术,视频解码器30确定几何信息,即当前块的代表性点与当前块的相邻块的代表性点之间的距离(332)。代表性点可以是例如块的中心、块的左上角等等。在一些实例中,相邻块可以是PU或子PU。此外,相邻块可以是空间和/或时间相邻项。
视频解码器30随后根据所确定的距离将数据从相邻块添加到候选列表(334)。所述距离可一般表示数据在候选列表中的次序的优先级,其中较短距离可一般表示较高优先级。如上文所论述,如果对当前块进行帧间预测,那么候选列表可以是解码运动向量的合并模式或AMVP模式的候选列表,或如果对当前块进行帧内预测,那么候选列表可以是一或多种最可能模式的列表。视频解码器30也确定例如帧间或帧内预测的预测模式 (338),且根据预测模式使用候选列表对块进行预测(340)。具体地说,如果预测模式是帧内预测,那么帧内预测单元74便基于数据是否指示所使用的最可能模式中的一种来确定待用以对块进行预测的实际帧内模式,且如果不是帧内预测,那么帧内预测单元74 便确定实际预测模式的标识符。另一方面,如果预测模式是帧间预测,那么运动补偿单元72便可根据合并模式或AMVP模式对当前块的运动向量进行解码,并使用运动向量通过检索由来自参考图片存储器82的运动向量所识别的数据生成预测块。
另外,熵解码单元70对当前块的量化变换系数进行熵解码(342)。逆量化单元76对当前块的量化变换系数进行逆量化,且逆变换单元78将逆变换应用于变换系数,进而对量化变换系数进行逆量化和逆变换(344)以产生残余块。求和器80随后在逐像素基础上对残余块的值添加预测块的值以解码当前块(346)。
同样应理解,在一些实例中,当执行对各种语法元素的值的熵解码时,视频解码器30可应用包含类似于图18的步骤332到336的步骤的方法。这类语法元素可包含例如以下中的任一个或全部:编码单元颠倒旁通旗标、编码单元跳过旗标、经编码块旗标、预测模式旗标、经残余四叉树变换根编码块旗标、合并索引、合并旗标、亮度块的经编码块旗标或色度块的经编码块旗标。一般来说,这种方法可包含出于确定用于CABAC 编码的上下文信息的目的而确定到相邻块的距离。熵解码单元70可使用上下文信息以对表示具有等于最可能符号或最不可能符号的值的二进制化值的位的概率的上下文模型进行初始化及/或更新。
以这种方式,图18的方法表示对视频数据进行编码的方法一实例,所述方法包含确定当前视频数据块的第一代表性点与当前块的相邻块的多个第二代表性点之间的多个距离,按次序根据第一代表性点与第二代表性点之间的距离将相邻块中的一或多个作为候选添加到当前块的候选列表,以及使用候选列表对当前块进行编码(具体地说,在此实例中为解码)。
应认识到,取决于实例,本文中所描述的技术中的任一种的某些动作或事件可以不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如实践所述技术未必需要全部所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序地来执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于如数据存储媒体或通信媒体的有形媒体,通信媒体(例如)根据通信协议包含有助于将计算机程序从一处传送到另一处的任何媒体。以这种方式,计算机可读媒体一般可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,如信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本公开中所描述技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,这类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储器、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。另外,适当地将任何连接称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
指令可由一或多个处理器执行,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用,术语“处理器”可指代上述结构或适用于实施本文中所描述技术的任何其它结构中的任一种。另外,在一些方面,本文中所描述的功能性可在配置成用于编码和解码的专用硬件和/或软件模块内提供,或并入组合编解码器中。另外,所述技术可完全实施于一或多个电路或逻辑元件中。
本公开的技术可实施在包含无线手机、集成电路(IC)或IC组(例如芯片组)的广泛多种装置或设备中。在本公开中描述各种组件、模块或单元以强调配置成执行所公开技术的装置的功能方面,但未必需要通过不同硬件单元实现。相反,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多种处理器。
已描述各种实例。这些和其它实例在随附权利要求书的范围内。

Claims (29)

1.一种对视频数据进行编码的方法,所述方法包括:
确定当前视频数据块的第一代表性点与所述当前块的相邻块的多个第二代表性点之间的多个距离,所述当前块具有第一大小,所述相邻块中的至少一个具有与所述第一大小不同的第二大小,所述第一代表性点小于所述当前块,且所述多个第二代表性点小于对应的相邻块;
确定所述当前块的预测模式,并且如果所述预测模式被确定为帧内预测模式,则所述第一代表性点包括所述当前块的左上点,所述多个第二代表性点包括所述相邻块的相应左上点;
为所述当前块的所确定的预测模式构建候选列表,包括按次序根据所述第一代表性点与所述多个第二代表性点之间的所述多个距离将表示所述相邻块中的一或多个的运动信息候选或帧内预测模式候选添加到所述候选列表,其中所述候选列表中的候选的候选索引的码字具有按次序对应于所述候选的位置的大小;
对所述候选索引中的一个的码字进行编码,所述候选索引中的所述一个识别所述候选列表中的所述候选中的一个;以及
使用所述候选列表中的由所述候选索引中的所述一个识别的所述候选对所述当前块进行编码。
2.根据权利要求1所述的方法,其中所述候选列表包括合并候选列表、高级运动向量预测AMVP候选列表或帧内最可能模式MPM列表中的一个。
3.根据权利要求2所述的方法,其中所述候选列表包括合并候选列表,且其中对所述当前块进行编码包括根据合并模式使用所述合并候选列表的候选对所述当前块的运动信息进行编码。
4.根据权利要求2所述的方法,其中所述候选列表包括所述AMVP候选列表,且其中对所述当前块进行编码包括根据AMVP模式使用所述AMVP候选列表的候选对所述当前块的运动信息进行编码。
5.根据权利要求2所述的方法,其中所述候选列表包括所述帧内MPM列表,且其中对所述当前块进行编码包括对用以使用所述帧内MPM列表对所述当前块进行帧内预测以及使用所述帧内预测模式对所述当前块进行帧内预测的帧内预测模式的指示进行编码。
6.根据权利要求1所述的方法,其中所述相邻块中的至少一个包括子预测单元(子PU),且其中与所述子PU相关联的所述多个第二代表性点中的一个包括所述子PU的中心点。
7.根据权利要求1所述的方法,其中所述当前块的所述第一代表性点包括所述当前块的中心点,且所述相邻块的所述多个第二代表性点包括所述相邻块的对应中心点。
8.根据权利要求1所述的方法,其中所述相邻块包括所述当前块的空间相邻块或所述当前块的时间相邻块中的一或多个。
9.根据权利要求1所述的方法,其中所述候选列表包括从中确定所述当前块的语法元素的值的上下文自适应二进制算术编码CABAC的上下文信息的候选的列表,且其中对所述当前块进行编码包括使用根据候选的所述列表确定的所述上下文信息对所述当前块的所述语法元素的所述值进行CABAC编码。
10.根据权利要求9所述的方法,其中所述语法元素包括以下中的一个:编码单元颠倒旁通旗标、编码单元跳过旗标、编码块旗标、预测模式旗标、残差四叉树变换根编码块旗标、合并索引、合并旗标、亮度块的编码块旗标或色度块的编码块旗标。
11.根据权利要求9所述的方法,其进一步包括确定所述上下文信息,包括根据所述第一代表性点与所述多个第二代表性点之间的所述多个距离对来自所述相邻块的值的比重进行加权。
12.根据权利要求1所述的方法,其中编码包括使用所述候选列表对所述当前块进行编码。
13.根据权利要求1所述的方法,其中编码包括使用所述候选列表对所述当前块进行解码。
14.一种用于对视频数据进行编码的装置,所述装置包括:
存储器,其配置成存储所述视频数据;和
一或多个处理器,其在电路中实施且配置成:
确定当前视频数据块的第一代表性点与所述当前块的相邻块的多个第二代表性点之间的多个距离,所述当前块具有第一大小,所述相邻块中的至少一个具有与所述第一大小不同的第二大小,所述第一代表性点小于所述当前块,且所述多个第二代表性点小于对应的相邻块;
确定所述当前块的预测模式,并且如果所述预测模式被确定为帧内预测模式,则所述第一代表性点包括所述当前块的左上点,所述多个第二代表性点包括所述相邻块的相应左上点;
为所述当前块的所确定的预测模式构建候选列表,为构建所述候选列表,所述一或多个处理器被配置成按次序根据所述第一代表性点与所述多个第二代表性点之间的所述多个距离,将表示所述相邻块中的一或多个的运动信息候选或帧内预测模式候选添加到所述候选列表,其中所述候选列表中的候选的候选索引的码字具有按次序对应于所述候选的位置的大小;以及
对所述候选索引中的一个的码字进行编码,所述候选索引中的所述一个识别所述候选列表中的所述候选中的一个;
使用所述候选列表中的由所述候选索引中的所述一个识别的所述候选对所述当前块进行编码。
15.根据权利要求14所述的装置,其中所述候选列表包括合并候选列表、高级运动向量预测AMVP候选列表或帧内最可能模式MPM列表中的一个。
16.根据权利要求14所述的装置,其中所述相邻块中的至少一个包括子预测单元(子PU),且其中与所述子PU相关联的所述多个第二代表性点中的一个包括所述子PU的中心点。
17.根据权利要求14所述的装置,其中所述当前块的所述第一代表性点包括所述当前块的中心点,且所述相邻块的所述多个第二代表性点包括所述相邻块的对应中心点。
18.根据权利要求14所述的装置,其中所述候选列表包括从中确定所述当前块的语法元素的值的上下文自适应二进制算术编码CABAC的上下文信息的候选的列表,且其中所述一或多个处理器配置成使用根据所述候选的列表确定的所述上下文信息对所述当前块的所述语法元素的所述值进行CABAC编码。
19.根据权利要求14所述的装置,其中所述装置包括配置成对所述当前块进行编码的视频编码器、配置成对所述当前块进行解码的视频解码器,或无线通信设备中的至少一个。
20.一种用于对视频数据进行编码的装置,所述装置包括:
用于确定当前视频数据块的第一代表性点与所述当前块的相邻块的多个第二代表性点之间的多个距离的装置,所述当前块具有第一大小,所述相邻块中的至少一个具有与所述第一大小不同的第二大小,所述第一代表性点小于所述当前块,且所述多个第二代表性点小于对应的相邻块;
用于确定所述当前块的预测模式的装置,并且如果所述预测模式被确定为帧内预测模式,则所述第一代表性点包括所述当前块的左上点,所述多个第二代表性点包括所述相邻块的相应左上点;
用于为所述当前块的所确定的预测模式构建候选列表的装置,包括用于按次序根据所述第一代表性点与所述第二代表性点之间的所述距离,将表示所述相邻块中的一或多个的运动信息候选或帧内预测模式候选添加到所述候选列表的装置,其中所述候选列表中的候选的候选索引的码字具有按次序对应于所述候选的位置的大小;和
对所述候选索引中的一个的码字进行编码的装置,所述候选索引中的所述一个识别所述候选列表中的所述候选中的一个;
用于使用所述候选列表中的由所述候选索引中的所述一个识别的所述候选对所述当前块进行编码的装置。
21.根据权利要求20所述的装置,其中所述候选列表包括合并候选列表、高级运动向量预测AMVP候选列表或帧内最可能模式MPM列表中的一个。
22.根据权利要求20所述的装置,其中所述相邻块中的至少一个包括子预测单元(子PU),且其中与所述子PU相关联的所述多个第二代表性点中的一个包括所述子PU的中心点。
23.根据权利要求20所述的装置,其中所述当前块的所述第一代表性点包括所述当前块的中心点,且所述相邻块的所述多个第二代表性点包括所述相邻块的对应中心点。
24.根据权利要求20所述的装置,其中所述候选列表包括从中确定所述当前块的语法元素的值的上下文自适应二进制算术编码CABAC的上下文信息的候选的列表,且其中用于对所述当前块进行编码的所述装置包括用于使用根据候选的所述列表确定的所述上下文信息对所述当前块的所述语法元素的所述值进行CABAC编码的装置。
25.一种非暂时性计算机可读存储媒体,在其上存储有指令,所述指令在执行时使得处理器:
确定当前视频数据块的第一代表性点与所述当前块的相邻块的多个第二代表性点之间的多个距离,所述当前块具有第一大小,所述相邻块中的至少一个具有与所述第一大小不同的第二大小,所述第一代表性点小于所述当前块,且所述多个第二代表性点小于对应的相邻块;
确定所述当前块的预测模式,并且如果所述预测模式被确定为帧内预测模式,则所述第一代表性点包括所述当前块的左上点,所述多个第二代表性点包括所述相邻块的相应左上点;
为所述当前块的所确定的预测模式构建候选列表,包括使所述处理器按次序根据所述第一代表性点与所述多个第二代表性点之间的所述多个距离,将表示所述相邻块中的一或多个的运动信息候选或帧内预测模式候选添加到所述候选列表的指令,其中所述候选列表中的候选的候选索引的码字具有按次序对应于所述候选的位置的大小;以及
对所述候选索引中的一个的码字进行编码的装置,所述候选索引中的所述一个识别所述候选列表中的所述候选中的一个;
使用所述候选列表中的由所述候选索引中的所述一个识别的所述候选对所述当前块进行编码。
26.根据权利要求25所述的非暂时性计算机可读存储媒体,其中所述候选列表包括合并候选列表、高级运动向量预测AMVP候选列表或帧内最可能模式MPM列表中的一个。
27.根据权利要求25所述的非暂时性计算机可读存储媒体,其中所述相邻块中的至少一个包括子预测单元(子PU),且其中与所述子PU相关联的所述多个第二代表性点中的一个包括所述子PU的中心点。
28.根据权利要求25所述的非暂时性计算机可读存储媒体,其中所述当前块的所述第一代表性点包括所述当前块的中心点,且所述相邻块的所述多个第二代表性点包括所述相邻块的对应中心点。
29.根据权利要求25所述的非暂时性计算机可读存储媒体,其中所述候选列表包括从中确定所述当前块的语法元素的值的上下文自适应二进制算术编码CABAC的上下文信息的候选的列表,且其中使得所述处理器对所述当前块进行编码的指令包括使得所述处理器使用根据所述候选的列表确定的所述上下文信息对所述当前块的所述语法元素的所述值进行CABAC编码的指令。
CN201780052524.7A 2016-09-06 2017-09-06 用于建构候选列表的几何型优先级 Active CN109644272B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662384089P 2016-09-06 2016-09-06
US62/384,089 2016-09-06
US15/695,606 US10721489B2 (en) 2016-09-06 2017-09-05 Geometry-based priority for the construction of candidate lists
US15/695,606 2017-09-05
PCT/US2017/050284 WO2018048904A1 (en) 2016-09-06 2017-09-06 Geometry-based priority for the construction of candidate lists

Publications (2)

Publication Number Publication Date
CN109644272A CN109644272A (zh) 2019-04-16
CN109644272B true CN109644272B (zh) 2021-10-22

Family

ID=61281474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780052524.7A Active CN109644272B (zh) 2016-09-06 2017-09-06 用于建构候选列表的几何型优先级

Country Status (7)

Country Link
US (1) US10721489B2 (zh)
EP (1) EP3510774A1 (zh)
JP (1) JP2019526988A (zh)
KR (1) KR20190041480A (zh)
CN (1) CN109644272B (zh)
BR (1) BR112019003836A2 (zh)
WO (1) WO2018048904A1 (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
CN109845260B (zh) * 2017-02-06 2021-06-22 华为技术有限公司 编解码方法及装置
JP7382332B2 (ja) * 2017-11-01 2023-11-16 ヴィド スケール インコーポレイテッド マージモード用のサブブロック動き導出およびデコーダサイド動きベクトル精緻化
WO2019140083A1 (en) * 2018-01-12 2019-07-18 Futurewei Technologies, Inc. Adaptive multi-hypothesis context-adaptive binary arithmetic coding (mcabac)
WO2019151093A1 (en) * 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction for video coding using motion vector predictor origins
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
CA3194780A1 (en) 2018-03-19 2019-09-26 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding/decoding image using geometrically modified reference picture
WO2019194499A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
CN114900694A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 哪个查找表需要更新或不更新
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
JP7295230B2 (ja) 2018-06-29 2023-06-20 北京字節跳動網絡技術有限公司 スライス/タイル/lcuの行ごとのルックアップテーブルのリセット
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
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
EP3809705B1 (en) * 2018-07-02 2024-05-01 Huawei Technologies Co., Ltd. Motion vector prediction method and device, and codec
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
CN112352424A (zh) * 2018-07-02 2021-02-09 华为技术有限公司 用于运动矢量预测的方法和装置
US11539958B2 (en) 2018-07-17 2022-12-27 Lg Electronics Inc. Method for predicting subblock-based temporal motion vector and apparatus therefor
US10523963B1 (en) * 2018-07-30 2019-12-31 Tencent America LLC Method and apparatus for merge mode in video coding
CN110855998B (zh) * 2018-08-20 2023-04-11 华为技术有限公司 融合候选者列表构建方法、装置及的编/解方法及装置
MX2021002093A (es) * 2018-08-24 2021-04-28 Samsung Electronics Co Ltd Metodo y aparato de decodificacion de videos y metodo y aparato de codificacion de video.
WO2020044196A1 (en) * 2018-08-26 2020-03-05 Beijing Bytedance Network Technology Co., Ltd. Combined history-based motion vector predictor and multi-motion model decoding
CN110868589B (zh) * 2018-08-28 2023-10-20 华为技术有限公司 帧间预测方法、装置及其应用的编/解方法及装置
CN114363610B (zh) * 2018-08-29 2022-09-16 北京达佳互联信息技术有限公司 视频编码的方法、计算设备和存储介质
US11113846B2 (en) 2018-08-31 2021-09-07 Hulu, LLC Coefficient context modeling in video coding
CN110891180B (zh) 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
CN111064961B (zh) * 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
GB2577318B (en) * 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
CN112753222A (zh) * 2018-09-21 2021-05-04 交互数字Vc控股公司 视频编码和解码中的运动矢量预测
EP3861741A1 (en) * 2018-10-02 2021-08-11 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding using list of predictor candidates
US11457234B2 (en) * 2018-10-08 2022-09-27 Lg Electronics Inc. Apparatus for performing image coding on basis of ATMVP candidate
CN112823518B (zh) * 2018-10-08 2023-10-20 华为技术有限公司 用于译码块的几何划分块的帧间预测的装置及方法
CN111010571B (zh) 2018-10-08 2023-05-16 北京字节跳动网络技术有限公司 组合仿射Merge候选的生成和使用
EP4231646A3 (en) * 2018-10-09 2023-11-01 Samsung Electronics Co., Ltd. Video decoding method and apparatus, and video encoding method and apparatus
GB2595053B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
WO2020084554A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Searching based motion candidate derivation for sub-block motion vector prediction
WO2020088689A1 (en) 2018-11-02 2020-05-07 Beijing Bytedance Network Technology Co., Ltd. Usage of hmvp candidates in geometry partition prediction mode
WO2020098695A1 (en) * 2018-11-13 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Construction method for a single type motion candidate list
AU2019383290B2 (en) * 2018-11-20 2023-07-06 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for merge mode
CN113170150B (zh) 2018-12-03 2024-02-27 北京字节跳动网络技术有限公司 基于历史的运动矢量预测(hmvp)模式的部分修剪方法
KR20240010542A (ko) * 2018-12-17 2024-01-23 삼성전자주식회사 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치
US10855757B2 (en) * 2018-12-19 2020-12-01 At&T Intellectual Property I, L.P. High availability and high utilization cloud data center architecture for supporting telecommunications services
KR102658346B1 (ko) * 2018-12-30 2024-04-18 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 삼각형 예측을 위한 비디오 코딩 방법 및 장치
KR102443965B1 (ko) 2019-01-01 2022-09-19 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
WO2020140243A1 (zh) 2019-01-03 2020-07-09 北京大学 视频图像处理方法与装置
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
US11166015B2 (en) * 2019-03-06 2021-11-02 Tencent America LLC Method and apparatus for video coding
CN113574880B (zh) * 2019-03-13 2023-04-07 北京字节跳动网络技术有限公司 关于子块变换模式的分割
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN117336469A (zh) 2019-04-12 2024-01-02 北京字节跳动网络技术有限公司 根据基于矩阵的帧内预测的变换编码
KR20210145757A (ko) 2019-04-16 2021-12-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 코딩 모드에서의 행렬 도출
US10904558B2 (en) * 2019-04-26 2021-01-26 Tencent America LLC Method and apparatus for motion compensation for 360 video coding
JP2022531147A (ja) 2019-05-01 2022-07-06 北京字節跳動網絡技術有限公司 フィルタリングを用いた行列ベースイントラ予測
WO2020221372A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Context coding for matrix-based intra prediction
CN113812160B (zh) * 2019-05-09 2024-01-12 北京字节跳动网络技术有限公司 用于屏幕内容编解码的最大可能模式列表构建
WO2020228762A1 (en) 2019-05-14 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Context modeling for residual coding
KR20220011127A (ko) 2019-05-22 2022-01-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업샘플링을 이용한 행렬 기반 인트라 예측
CN113796071A (zh) 2019-05-24 2021-12-14 华为技术有限公司 编码器、解码器及用于ibc融合列表的相应方法
CN114051735A (zh) 2019-05-31 2022-02-15 北京字节跳动网络技术有限公司 基于矩阵的帧内预测中的一步下采样过程
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
CN117768652A (zh) 2019-06-05 2024-03-26 北京字节跳动网络技术有限公司 视频处理方法、装置、介质、以及存储比特流的方法
JP7460661B2 (ja) 2019-06-06 2024-04-02 北京字節跳動網絡技術有限公司 映像符号化のための動き候補リストの構成
US20220232219A1 (en) * 2019-06-11 2022-07-21 Lg Electronics Inc. Image or video coding based on temporal motion information in units of subblocks
WO2020251320A1 (ko) * 2019-06-13 2020-12-17 엘지전자 주식회사 서브블록 단위의 시간적 움직임 벡터 예측자 후보 기반 영상 또는 비디오 코딩
CN114175636B (zh) 2019-07-14 2024-01-12 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
CN110365982B (zh) * 2019-07-31 2022-01-04 中南大学 一种多用途编码中帧内编码的多变换选择加速方法
CN114303380B (zh) * 2019-08-27 2024-04-09 华为技术有限公司 用于几何划分标志的索引的cabac译码的编码器、解码器及对应方法
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
EP4042689A4 (en) 2019-10-28 2023-06-07 Beijing Bytedance Network Technology Co., Ltd. SIGNALING AND SYNTAX ANALYSIS BASED ON A COLOR COMPONENT
CN115996296A (zh) * 2020-01-14 2023-04-21 华为技术有限公司 指示融合模式候选数量的方法和装置
CN113141507B (zh) * 2020-01-17 2022-07-15 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
WO2023200255A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Amvp(advanced motion vector prediction)-merge 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104918045A (zh) * 2011-11-23 2015-09-16 数码士控股有限公司 使用不对称分区的公共合并候选组编码/解码视频的方法
CN104967847A (zh) * 2011-11-07 2015-10-07 李英锦 视频数据的解码方法
CN105814895A (zh) * 2013-12-06 2016-07-27 高通股份有限公司 用于并行运动估计区域的可缩放实施方案

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4910645B2 (ja) * 2006-11-06 2012-04-04 株式会社日立製作所 画像信号処理方法、画像信号処理装置、表示装置
WO2011052142A1 (ja) * 2009-10-29 2011-05-05 パナソニック株式会社 画像符号化方法および画像復号方法
WO2011095260A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
JP2011259040A (ja) * 2010-06-04 2011-12-22 Sony Corp 画像処理装置および方法
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US8811760B2 (en) * 2011-10-25 2014-08-19 Mitsubishi Electric Research Laboratories, Inc. Coding images using intra prediction modes
US9628789B2 (en) * 2011-11-18 2017-04-18 Qualcomm Incorporated Reference mode selection in intra mode coding
KR101960761B1 (ko) * 2011-11-24 2019-03-22 에스케이텔레콤 주식회사 모션 벡터의 예측 부호화/복호화 방법 및 장치
KR101827939B1 (ko) * 2011-12-13 2018-02-12 주식회사 스카이미디어테크 적응적인 인트라 예측 모드 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
US20130208795A1 (en) * 2012-02-09 2013-08-15 Google Inc. Encoding motion vectors for video compression
US9591312B2 (en) * 2012-04-17 2017-03-07 Texas Instruments Incorporated Memory bandwidth reduction for motion compensation in video coding
WO2014072571A1 (en) * 2012-10-01 2014-05-15 Nokia Corporation Method and apparatus for scalable video coding
US9762927B2 (en) 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10271064B2 (en) 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
US10462457B2 (en) * 2016-01-29 2019-10-29 Google Llc Dynamic reference motion vector coding mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967847A (zh) * 2011-11-07 2015-10-07 李英锦 视频数据的解码方法
CN104918045A (zh) * 2011-11-23 2015-09-16 数码士控股有限公司 使用不对称分区的公共合并候选组编码/解码视频的方法
CN105814895A (zh) * 2013-12-06 2016-07-27 高通股份有限公司 用于并行运动估计区域的可缩放实施方案

Also Published As

Publication number Publication date
JP2019526988A (ja) 2019-09-19
WO2018048904A1 (en) 2018-03-15
BR112019003836A2 (pt) 2019-06-18
KR20190041480A (ko) 2019-04-22
US20180070100A1 (en) 2018-03-08
US10721489B2 (en) 2020-07-21
EP3510774A1 (en) 2019-07-17
CN109644272A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109644272B (zh) 用于建构候选列表的几何型优先级
CN109691106B (zh) 一种对视频数据进行编解码的方法、装置及计算机可读存储介质
CN107690809B (zh) 使用空间及/或时间运动信息的子预测单元运动向量预测
CN109076236B (zh) 用于视频译码的运动矢量预测的合并候选项
CN108605136B (zh) 基于图片次序计数的运动矢量精简
JP6585200B2 (ja) ビデオコード化における視差ベクトル予測
CN109891890B (zh) 用于解码视频数据的方法、编码视频数据的方法及相关设备
EP3251361B1 (en) Sub-prediction unit based advanced temporal motion vector prediction
US9420286B2 (en) Temporal motion vector prediction in HEVC and its extensions
EP3090555B1 (en) Disparity vector and/or advanced residual prediction for video coding
US9253487B2 (en) Reference index for enhancement layer in scalable video coding
US9438926B2 (en) Constraints on neighboring block based disparity vector (NBDV) techniques for 3D video

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