CN115623206B - 利用三角分区的视频编解码方法和装置 - Google Patents

利用三角分区的视频编解码方法和装置 Download PDF

Info

Publication number
CN115623206B
CN115623206B CN202211277982.XA CN202211277982A CN115623206B CN 115623206 B CN115623206 B CN 115623206B CN 202211277982 A CN202211277982 A CN 202211277982A CN 115623206 B CN115623206 B CN 115623206B
Authority
CN
China
Prior art keywords
list
prediction
candidate
merge
motion vector
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
CN202211277982.XA
Other languages
English (en)
Other versions
CN115623206A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202211277982.XA priority Critical patent/CN115623206B/zh
Publication of CN115623206A publication Critical patent/CN115623206A/zh
Application granted granted Critical
Publication of CN115623206B publication Critical patent/CN115623206B/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/172Methods 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 picture, frame or field
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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

Abstract

提供了用于视频编码的方法和装置。该方法包括:所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中多个候选中的每一个是包括列表0MV和/或列表1MV的运动矢量(MV);分别根据第一索引和第二索引定位用于该第一PU的第一候选和用于该第二PU的第二候选;通过根据第一二进制参考列表指示标志选择该第一候选的列表X1MV来获得用于该第一PU的第一单向预测MV;以及通过根据第二二进制参考列表指示标志选择该第二候选的列表X2MV来获得用于该第二PU的第二单向预测MV。

Description

利用三角分区的视频编解码方法和装置
本申请是申请号为“202080085641.5”,申请日为“2020年10月12日”,发明名称为“利用三角分区的视频编解码方法和装置”的中国发明专利申请的分案申请。
技术领域
本申请总体上涉及视频编解码和压缩。并且具体地但不限于在视频编解码中用于利用三角预测单元(即几何分区预测单元的特殊情况)的运动补偿预测的方法和装置。
背景技术
各种电子设备(例如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流传输设备等)支持数字视频。电子设备通过实现视频压缩/解压缩来发送、接收、编码、解码和/或存储数字视频数据。数字视频设备实现视频编解码技术,如在通用视频编解码(VVC)、联合探索测试模型(JEM)、MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分、高级视频编码(AVC)、ITU-TH.265/高效视频编码(HEVC)标准及此类标准的扩展中所描述的那些技术。
视频编解码通常使用利用在视频图像或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测)。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化对视频质量的降级。随着不断发展的视频服务变得可用,需要具有更好编解码效率的编码技术。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或移除在视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分割为一个或多个条带,每个条带具有多个视频块,其也可以被称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU),或者递归地拆分成较小的CU,直到达到预定义的最小CU大小。每个CU(也被称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以以帧内、帧间或IBC模式来进行编解码。视频帧的已帧内编码(I)条带中的视频块是使用相对于相同视频帧内的相邻块中的参考样点的空间预测进行编码的。视频帧的已帧间编码(P或B)条带中的视频块可以使用相对于相同视频帧内的相邻块中的参考样点的空间预测,或者使用相对于其它先前和/或未来参考视频帧中的参考样点的时间预测。
基于先前已经编码的参考块(例如,相邻块)的空间或时间预测产生用于要被编解码的当前视频块的预测块。寻找参考块的过程可以通过块匹配算法来完成。表示要被编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据指向形成预测块的参考帧中的参考块的运动矢量和残差块来对已帧间编码的块进行编码。确定运动矢量的过程通常被称为运动估计。根据帧内预测模式和残差块对已帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而产生残差变换系数,然后可以量化残差变换系数。可以对最初排列在二维阵列中的已量化的变换系数进行扫描以产生变换系数的一维矢量,并且然后将其熵编码到视频比特流中以实现甚至更多的压缩。
然后,将已编码的视频比特流保存在计算机可读存储介质(例如,闪存)中,以供具有数字视频能力的另一电子设备访问或直接地以有线或无线方式发送给该电子设备。然后,电子设备通过例如解析已编码视频比特流以从比特流中获得语法元素并且至少部分地基于从比特流中获得的语法元素而从已编码视频比特流将数字视频数据重建为其原始格式来执行视频解压缩(这是与上述视频压缩相反的过程),并且在电子设备的显示器上呈现已重建的数字视频数据。
随着数字视频质量从高清到4Kx2K或者甚至8Kx4K,要被编码/解码的视频数据的量呈指数增长。就如何在保持已解码的视频数据的图像质量的同时更高效地编码/解码视频数据而言,这是一个持续的挑战。
在联合视频专家组(JVET)会议中,JVET定义了通用视频编解码(VVC)和VVC测试模型1(VTM1)编码方法的初稿。决定包括具有使用二元和三元拆分编码块结构的嵌套的多类型树的四叉树,作为VVC的初始新编解码特征。此后,在JVET会议期间已经开发了用于实现编码方法和草案VVC解码过程的参考软件VTM。
发明内容
本公开总体上描述了与视频编解码中的利用几何形状的预测单元的运动补偿预测相关的技术的示例。
根据本公开的第一方面,提供一种利用几何分区的视频编码方法,包括:将视频图片分割成多个编码单元(CU),所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中多个候选中的每一个是包括列表0MV和/或列表1MV的运动矢量(MV);根据第一索引定位用于所述第一PU的第一候选;根据第二索引定位用于所述第二PU的第二候选;通过根据第一二进制参考列表指示标志选择所述第一候选的列表X1MV来获得用于所述第一PU的第一单向预测MV,其中X1取值0或1并且由所述第一二进制参考列表指示标志指示;以及通过根据第二二进制参考列表指示标志选择所述第二候选的列表X2MV来获得用于所述第二PU的第二单向预测MV,其中X2取值0或1并且由所述第二二进制参考列表指示标志指示。
根据本公开的第二方面,提供一种利用几何分区的视频编码装置,包括:一个或更多个处理器;以及存储器,所述存储器被配置为存储可由所述一个或更多个处理器执行的指令;其中所述一个或更多个处理器在执行所述指令时被配置为:将视频图片分割成多个编码单元(CU),所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中多个候选中的每一个是包括列表0MV和/或列表1MV的运动矢量(MV);根据第一索引定位用于所述第一PU的第一候选;根据第二索引定位用于所述第二PU的第二候选;通过根据第一二进制参考列表指示标志选择所述第一候选的列表X1MV来获得用于所述第一PU的第一单向预测MV,其中X1取值0或1并且由所述第一二进制参考列表指示标志指示;以及通过根据第二二进制参考列表指示标志选择所述第二候选的列表X2MV来获得用于所述第二PU的第二单向预测MV,其中X2取值0或1并且由所述第二二进制参考列表指示标志指示。
根据本公开的第三方面,提供一种利用几何分区的视频编码的非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储计算机可执行的指令,当由一个或更多个计算机处理器执行时,所述指令使得所述一个或更多个计算机处理器执行以下动作:将视频图片分割成多个编码单元(CU),所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中多个候选中的每一个是包括列表0MV和/或列表1MV的运动矢量(MV);根据第一索引定位用于所述第一PU的第一候选;根据第二索引定位用于所述第二PU的第二候选;通过根据第一二进制参考列表指示标志选择所述第一候选的列表X1MV来获得用于所述第一PU的第一单向预测MV,其中X1取值0或1并且由所述第一二进制参考列表指示标志指示;以及通过根据第二二进制参考列表指示标志选择所述第二候选的列表X2MV来获得用于所述第二PU的第二单向预测MV,其中X2取值0或1并且由所述第二二进制参考列表指示标志指示。
附图说明
将通过参考附图中所示的具体示例来呈现对本公开的示例的更具体的描述。鉴于这些附图仅描绘了一些示例并且因此不被认为是对范围的限制,将通过使用附图以附加的特异性和细节来描述和解释这些示例。
图1是示出了根据本公开的一些实施方式的示例性视频编码器的框图。
图2是示出了根据本公开的一些实施方式的示例性视频解码器的框图。
图3是示出了根据本公开的一些实施方式的四叉树加二叉树(QTBT)结构的示意图。
图4是示出了根据本公开的一些实施方式的被划分为CTU的图片的示例的示意图。
图5是示出了根据本公开的一些实施方式的多类型树拆分模式的示意图。
图6是示出了根据本公开的一些实施方式的将CU拆分成三角预测单元的示意图。
图7是示出了根据本公开的一些实施方式的相邻块的位置的示意图。
图8是示出了根据本公开的一些实施方式的几何分区的示例的示意图。
图9是示出了根据本公开的一些实施方式的几何分区表示的示例的示意图。
图10是示出了根据本公开的一些实施方式的空间合并候选的位置的示意图。
图11是示出了根据本公开的一些实施方式的时间合并候选的运动矢量缩放的示意图。
图12是示出了根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
图13A至图13B是示出了根据本公开的一些实施方式的用于三角预测模式的单向预测运动矢量(MV)选择的示例的示意图。
图14A至图14D是示出了根据本公开的一些实施方式的用于三角预测模式的单向预测MV选择的示例的示意图。
图15A至图15B是示出了根据本公开的一些实施方式的用于三角预测模式的单向预测MV选择的示例的示意图。
图16是示出了根据本公开的一些实施方式的用于三角预测模式的灵活单向预测MV选择的示例的示意图。
图17是示出了根据本公开的一些实施方式的用于视频编解码的示例性装置的框图。
图18是示出了根据本公开的一些实施方式的利用几何预测单元的用于运动补偿预测的视频编解码的示例性过程的流程图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出了具体实施方式的示例。在以下详细描述中,阐述了大量非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可以使用各种替代方案。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
贯穿本说明书对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”或类似语言的引用表示所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。示例除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元件或特性也适用于其它实施例。
在整个公开内容中,除非另有明确说明,否则术语“第一”、“第二”、“第三”等都用作仅用于提及相关元件(例如,设备、组件、组合物、步骤等)的命名,而不指示任何空间或时间顺序。例如,“第一设备”和“第二设备”可指两个单独形成的设备,或者同一设备的两个部分、组件或操作状态,并且可被任意命名。
如本文所使用的,取决于上下文,术语“如果”或“当……时”可被理解为表示“在……时”或“响应于……”。这些术语如果出现在权利要求中,则可不指示相关限制或特征是有条件的或可选的。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可包括存储可由一个或更多个处理器执行的代码或指令的存储器(共享、专用或组合)。模块可包括具有或不具有存储的代码或指令的一个或更多个电路。模块或电路可包括直接或间接连接的一个或更多个组件。这些组件可以彼此物理地附接或可以彼此不物理地附接,或者可以或可以不被定位为邻近彼此。
单元或模块可纯粹通过软件、纯通过硬件或通过硬件和软件的组合来实现。在纯软件实施方式中,例如,单元或模块可包括直接或间接链接在一起的功能上相关的代码块或软件组件,以便执行特定功能。
图1是示出了可与利用基于块的处理的多种视频编解码标准结合使用的基于块的示例性混合视频编码器100的框图。在编码器100中,视频帧被分割成用于处理的多个视频块。对于每个给定的视频块,基于帧间预测方法或帧内预测方法形成预测。在帧间预测中,一个或多个预测值是基于来自先前重建的帧的像素,通过运动估计和运动补偿来形成的。在帧内预测中,预测值是基于当前帧中的已重建像素来形成的。通过模式决策,可以选择最佳预测值来预测当前块。
将表示当前视频块与其预测值之间的差异的预测残差被发送到变换电路102。然后将变换系数从变换电路102发送给量化电路104以进行熵降低。然后将量化系数馈送到熵编码电路106以生成压缩的视频比特流。如图1所示,来自帧间预测电路和/或帧内预测电路112的预测相关信息110,如视频块分区信息、运动矢量(MV)、参考图片索引和帧内预测模式,也通过熵编码电路106被馈送并保存到已压缩的视频比特流114中。
在编码器100中,还需要与解码器相关的电路以重建用于预测目的的像素。首先,通过逆量化116和逆变换电路118重建预测残差。将这种已重建的预测残差与块预测值120组合以生成用于当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已编码相邻块的样本(称为参考样本)的像素来预测当前视频块。
时间预测(也称为“帧间预测”)使用来自已编码视频图片的重建像素来预测该当前视频块。时间预测减少了视频信号中固有的时间冗余。用于给定编码单元(CU)或编码块的时间预测信号通常由一个或多个运动矢量(MV)用信号通知,其指示当前CU与其时间参考之间的运动量和运动方向。此外,如果支持多个参考图片,则另外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储器中的哪个参考图片。
在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策电路121基于如率失真优化方法选择最佳预测模式。然后从当前视频块中减去块预测值120,并且使用变换电路102和量化电路104将得到的预测残差去相关。得到的量化残差系数由逆量化电路116逆量化,并由逆变换电路118逆变换以形成重建残差,然后将该重建残差加回该预测块以形成该CU的重建信号。可在该重建CU被放入图片缓存器117的参考图片存储器并用于对未来的视频块进行编解码之前将环内滤波115(如去块滤波器、样本自适应偏移(SAO),和/或自适应环内滤波器(ALF))进一步应用于重建CU。为了形成输出视频比特流114,编解码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数都被发送到熵编码单元106以被进一步压缩和打包以形成该比特流。
例如,去块滤波器可用在AVC、HEVC以及VVC的当前版本中。在HEVC中,定义了一个额外的环路滤波器,称为SAO(采样自适应偏移),以进一步提高编解码效率。在VVC标准的最新版本中,正在积极研究另一种称为ALF(自适应环路滤波器)的环路滤波器,并可能将其包含在最终标准中。
这些环路滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。它们也可以作为由编码器100呈现的决定而被关闭以节省计算复杂度。
应当注意,帧内预测通常基于未滤波的重建像素,而如果这些滤波器选项被编码器100打开,则帧间预测基于经滤波的重建像素的。
图2是示出了可与多种视频编码标准结合使用的示例性基于快的视频解码器200的框图。该解码器200类似于驻留在图1的编码器100中与重建相关的部分。在解码器200中,首先通过熵解码202对输入视频比特流201进行解码,以导出量化系数级别和与预测相关的信息。这些量化系数级别通过逆量化204和逆变换206进行处理以获得重建预测残差。在帧内/帧间模式选择器212中实现的块预测值机制被配置为基于已解码的预测信息进行帧内预测208或运动补偿210。通过使用加法器214将来自逆变换206的重建预测残差和该块预测值机制生成的预测输出相加来获得未滤波的重建像素集合。
在被存储在用作参考图片存储器的图片缓存器213中之前,该重建块还可以通过环内滤波器209。然后可以将图片缓存器213中的重建视频发送出去以驱动显示设备,并且用于预测未来的视频块。在环内滤波器209开启的情况下,对这些重建像素执行滤波操作以导出最终的重建视频输出222。
前面所提及的视频编码/解码标准,如VVC、JEM、HEVC、MPEG-4,第10部分,在概念上是相似的。例如,它们都使用基于块的处理。下面将详细说明一些标准中的块分割方案。
高效视频编码(HEVC)
HEVC以基于混合的基于块的运动补偿变换编解码架构的。用于压缩的基本单元称为编码树单元(CTU)。最大CTU大小定义为高达64乘64个亮度像素、以及针对4:2:0色度格式的两个32乘32个色度像素块。每个CTU可包含一个编码单元(CU)或者被递归地拆分为四个更小的CU,直到达到预定义的最小CU大小。每个CU(也称为叶子CU)包含一个或多个预测单元(PU)和一个变换单元(TU)树。
通常,除单色内容外,一个CTU可以包括一个亮度编码树块(CTB)和两个对应的色度CTB;一个CU可包括一个亮度编码块(CB)和两个对应的色度CB;一个PU可包括一个亮度预测块(PB)和两个对应的色度PB;并且一个TU可以包括一个亮度变换块(TB)和两个对应的色度TB。但是,可能会出现例外,因为用于亮度和色度的最小TB大小均为4×4(即对于4:2:0色彩格式,不支持2×2色度TB),并且每个帧内色度CB始终仅有一个帧内色度PB,而不管相应的帧内亮度CB中的帧内亮度PB的数量多少。
对于帧内CU,该亮度CB可由一个或四个亮度PB预测,并且两个色度CB中的每一个总是由一个色度PB预测,其中每个亮度PB具有一个帧内亮度预测模式,并且这两个色度预测模式PB共享一种帧内色度预测模式。而且,对于帧内CU,TB大小不能大于PB大小。在每个PB中,帧内预测用于从TB的相邻的重建样本预测PB内每个TB的样本。对于每个PB,除了33种方向帧内预测模式外,还支持DC和平面模式以分别预测平坦区域和渐变区域。
对于每个帧间PU,可以选择包括帧间、跳过和合并的三种预测模式中的一种。一般来讲,引入运动矢量竞争(MVC)方案以从包括空间和时间运动候选的给定候选集中选择运动候选。对运动估计的多种参考允许在2个可能的重建参考图片列表(即列表0和列表1)中找到最佳参考。对于该帧间模式(称为AMVP模式,其中AMVP代表高级运动矢量预测),发生帧间预测指示符(列表0、列表1或双向预测)、参考索引、运动候选索引、运动矢量差(MVD)和预测残差。对于跳过模式和合并模式,仅发送合并索引,并且当前PU从已编码的合并索引所引用的相邻的PU继承该帧间预测指示符、参考索引和运动矢量。在跳过编码的CU的情况下,残差信号也被省略。
联合探索测试模型(JEM)
联合探索测试模型(JEM)建立在HEVC测试模型之上。HEVC的基本编解码流程图在JEM中保持不变;然而,最重要的模块,包括块结构、帧内和帧间预测、残差变换、环路滤波器和熵编码模块的设计元素,都做了一些修改,并添加了额外的编码工具。JEM中包含以下新的编码特征。
在HEVC中,使用表示为编码树的四叉树结构将CTU拆分为CU,以适应各种局部特征。以CU级别决定使用图片间(时间)预测还是图片内(空间)预测对图片区域进行编码。根据PU拆分类型,每个CU可以进一步拆分为一个、两个或四个PU。在一个PU内部,应用同一预测过程,并且以PU为基础将相关信息传输到解码器。在通过应用基于PU拆分类型而应用预测过程获得残差块之后,可以根据类似于用于CU的编码树的另一种四叉树结构将该CU分割为变换单元(TU)。HEVC结构的关键特征之一是它具有多个分区概念,包括CU、PU和TU。
图3是示出了根据本公开的一些实施方式的四叉树加二叉树(QTBT)结构的示意图。
QTBT结构去除了多种分区类型的概念,即去除了CU、PU和TU概念的分离,并且支持CU分区形状的更大灵活性。在该QTBT块结构中,CU可以具有正方形或矩形形状。如图3所示,首先由四叉树结构对编码树单元(CTU)进行分割。四叉树叶子节点可以进一步由二叉树结构分割。二叉树划分中有两种划分类型:对称水平划分和对称垂直划分。二叉树叶子节点称为编码单元(CU),并且该分割用于预测和变换处理,无需进一步封。这意味着CU、PU和TU在QTBT编码块结构中具有相同的块大小。在JEM中,CU有时由不同色彩分量的编码块(CB)组成,例如,在4:2:0色度格式的P和B条带的情况下,一个CU包含一个亮度CB和两个色度CB,并且有时由单个分量的CB组成,例如,在I条带的情况下,一个CU仅包含一个亮度CB或仅包含两个色度CB。
定义以下参数用于该QTBT分区方案。
-CTUsize:四叉树的根节点大小,与HEVC中的概念相同;
-MinQTSize:允许的最小四叉树叶子节点大小;
-MaxBTSize:允许的最大二叉树根节点大小;
-MaxBTDepth:允许的最大二叉树深度;
-MinBTSize:允许的最小二叉树叶子节点大小。
在QTBT分区结构的一个示例中,CTU大小设置为带有两个对应的64×64色度样本块(具有4:2:0色度格式)的128×128亮度样本,MinQTSize设置为16×16,MaxBTSize设置为64×64,MinBTSize(对于宽度和高度)设置为4×4,MaxBTDepth设置为4。首先将四叉树分区应用于该CTU以生成四叉树叶子节点。这些四叉树叶子节点的大小可以从16×16(即MinQTSize)到128×128(即CTU大小)。如果四叉树叶子节点为128×128,则由于大小超过了MaxBTSize(即64×64)不再会被二叉树进一步划分了。否则,四叉树叶子节点可以被二叉树进一步划分。因此,四叉树叶子节点也是二叉树的根节点,且其具有为0的二叉树深度。当二叉树深度达到MaxBTDepth(即4)时,不再考虑进一步划分。当二叉树节点的宽度等于MinBTSize(即4)时,不再考虑进一步的水平划分。类似地,当二叉树节点的高度等于MinBTSize时,不再考虑进一步的垂直划分。二叉树的叶节点被进一步进行预测和变换处理,而无需进一步的划分。在JEM中,最大CTU大小为256×256亮度样本。
使用该QTBT方案进行块分区的示例以及相应的树表示在图3中示出。实线表示四叉树划分,虚线表示二叉树划分。如图3所示,编码树单元(CTU)300首先由四叉树结构划分,四个四叉树叶子节点302、304、306、308中的三个由四叉树结构或二叉树结构进一步划分。例如,四叉树叶子节点306通过四叉树划分进一步划分;通过二叉树划分将四叉树叶子节点304进一步划分为两个叶节点304a、304b;并且四叉树叶子节点302也进一步通过二叉树划分进行划分。在二叉树的每个划分(即非叶)节点中,用信号通知一个标志来指示使用哪种划分类型(即水平或垂直),其中0表示水平划分,1表示垂直划分。例如,对于四叉树叶子节点304,用信号通知0以指示水平划分,并且对于四叉树叶子节点302,用信号通知1以指示垂直划分。对于四叉树划分,不需要指明划分类型,因为四叉树划分总是水平且垂直划分块以产生4个大小相等的子块。
此外,该QTBT方案支持亮度和色度具有单独的QTBT结构的能力。目前,对于P和B条带,一个CTU中的亮度和色度CTB共享同一QTBT结构。但是,对于I条带,亮度CTB被QTBT结构分割成CU,而且色度CTB被另一个QTBT结构分割成色度CU。这意味着I条带中的CU由亮度分量的编码块或两个色度分量的编码块组成,P或B条带中的CU由所有三种色彩分量的编码块组成。
多功能视频编解码(VVC)
在联合视频专家组(JVET)会议上,JVET定义了通用视频编解码(VVC)和VVC测试模型1(VTM1)编码方法的初稿。决定包括具有使用二元和三元划分编码块结构的嵌套多类型树的四叉树作为VVC的初始新编码特征。
在VVC中,图片分区结构将输入视频划分为称为编码树单元(CTU)的块。使用具有嵌套多类型树结构的四叉树将CTU拆分为编码单元(CU),编码单元具有叶子编码单元(CU),叶子编码单元定义共享同一预测模式(例如帧内或帧间)的区域。这里,术语“单元”定义了覆盖所有分量的图像区域;术语“块”用于定义覆盖特定分量(例如亮度)的区域,并且在考虑到色度采样格式(如4:2:0)时可能在空间位置上有所不同。
将图片划分为CTU
图4是示出了根据本公开的一些实施方式的被划分成CTU的图片的示例的示意图。
在VVC中,图片被划分为一系列CTU,CTU概念与HEVC中的CTU的概念相同。对于具有三个样本阵列的图片,CTU由N×N个亮度样本块以及两个相应的色度样本块组成。图4示出了被划分为CTU 402的图片400的示例。
CTU中的亮度块最大允许大小指定为128×128(尽管亮度变换块的最大大小为64×64)。
使用树结构对CTU进行分割
图5是示出了根据本公开的一些实施方式的多类型树拆分模式的示意图。
在HEVC中,使用表示为编码树的四叉树结构将CTU拆分为CU,以适应各种局部特征。以叶子CU级别决定使用图片间(时间)预测还是图片内(空间)预测对图片区域进行编码。根据PU拆分类型,可将每个叶子CU进一步拆分为一个、两个或四个PU。在一个PU内部,应用同一预测过程,并在PU的基础上将相关信息发送给解码器。在通过基于PU拆分类型而应用预测过程获得残差块之后,可以根据类似于用于CU的编码树类似的另一种四叉树结构将叶子CU划分为变换单元(TU)。HEVC结构的关键特征之一是它具有多个分区概念,包括CU、PU和TU。
在VVC中,用使用二元和三元拆分分割结构的具有嵌套多类型树的四叉树替代多个分区单元类型的概念,即它去除了CU、PU和TU概念的区分,除非需要具有对于最大变换长度太大的尺寸的CU,并对于CU分区形状支持更多的灵活性。在编码树结构中,CU可以具有正方形或矩形形状。编码树单元(CTU)首先由四元树(即四叉树)结构进行划分。然后可以通过多类型树结构进一步划分四叉树的叶子节点。如图5所示,多类型树结构中有四种分割类型:垂直二元分割502(SPLIT_BT_VER)、水平二元分割504(SPLIT_BT_HOR)、垂直三元分割506(SPLIT_TT_VER)和水平三元分割508(SPLIT_TT_HOR)。多类型树叶子节点被称为编码单元(CU),除非CU对于最大变换长度来说太大,否则这种分割用于预测和变换处理,而无需进一步分割。这意味着在大多数情况下,CU、PU和TU在具有嵌套多类型树编码块结构的四叉树中具有相同的块大小。当最大支持的变换长度小于CU色彩分量的宽度或高度时出现例外情况。在VTM1中,CU由不同色彩分量的编码块(CB)组成,例如,一个CU包含一个亮度CB和两个色度CB(除非视频是单色的,即只有一个色彩分量)。
将CU分割为多个预测单元
在VVC中,对于基于前面示出的结构分割的每个CU,可以对整个CU块进行或者以在下面的段落中说明的子块方式执行块内容的预测。这种预测的操作单元称为预测单元(或PU)。
在帧内预测的情况下,PU的大小通常等于CU的大小。换言之,对整个CU块进行预测。对于帧间预测,PU的大小可以等于或小于CU的大小。换言之,存在将CU分割为多个PU进行预测的多种情况。
PU尺寸小于CU尺寸的一些示例包括仿射预测模式、高级时间级运动矢量预测(ATMVP)模式和三角预测模式等。
在仿射预测模式下,可以将一个CU拆分为多个4×4PU进行预测。可以为每个4×4PU导出运动矢量并且可以相应地对4×4PU进行运动补偿。在ATMVP模式下,CU可以被拆分为一个或多个8×8PU进行预测。为每个8×8PU导出运动矢量,并且可以相应地对8×8PU进行运动补偿。在三角预测模式下,一个CU可以被拆分成两个三角形状的预测单元。为每个PU导出运动矢量并相应地进行运动补偿。帧间预测支持三角预测模式。下面说明三角预测模式的更多细节。
三角预测模式
图6是示出了根据本公开的一些实施方式的将CU分割成三角预测单元的示意图。
三角预测模式的概念是为运动补偿预测引入三角分区。三角预测模式也可以称为三角预测单元模式。如图6所示,CU 602或604在对角线或反对角线方向上被分割成两个三角预测单元PU1和PU2(即,如CU 602所示从左上角到右下角分割,或者如CU 604所示从右上角到左下角分割)。CU中的每个三角预测单元使用其本身的从单向预测候选列表导出的单向预测运动矢量和参考帧索引对该三角预测单元进行帧间预测。在对这些三角预测单元进行预测之后,对对角线边缘进行自适应加权处理。然后,将变换和量化过程应用于整个CU。需要注意的是,该模式仅适用于当前VVC中的跳过和合并模式。尽管在图图6中CU被示为正方形块,但该三角预测模式也可以应用于非正方形(即矩形)形状CU。
单向预测候选列表可包括一个或多个候选,并且每个候选可以是运动矢量。因此,贯穿整个本公开,术语“单向预测候选列表”、“单向预测运动矢量候选列表”和“单向预测合并列表”可互换使用;并且术语“单向预测合并候选”和“单向预测运动矢量”也可以互换使用。
单向预测运动矢量候选列表
图7是示出了根据本公开的一些实施方式的相邻块的位置的示意图。
在一些示例中,单向预测运动矢量候选列表可包括两个到五个单向预测运动矢量候选。在一些其它示例中,也可能是其它数量。它是从相邻块推导的。如图7所示,单向预测运动矢量候选列表是从包括五个空间相邻块(1到5)和两个时间同位块(6到7)的七个相邻块推导的。将七个相邻块的运动矢量收集到第一合并列表中。然后,根据特定顺序基于第一合并列表运动矢量来形成单向预测候选列表。基于所述顺序,首先在单向预测运动矢量候选列表中放入来自第一合并列表的单向预测运动矢量,接着是双向预测运动矢量的参考图片列表0或L0运动矢量,然后是双向预测运动矢量的参考图片列表1或L1运动矢量,再接着是双向预测运动矢量的L0和L1运动矢量的平均运动矢量。此时,如果候选的数量仍然小于目标数量(可以为5),则将零运动矢量添加到该列表中以满足目标数量。
针对每个三角PU基于其运动矢量推导预测值。值得注意的是,所推导的预测值覆盖比实际三角PU更大的区域,以使沿两个三角PU的共享对角线边缘存在两个预测值的重叠区域。将加权过程应用于这两个预测因子值的对角线边缘区域,以推导该CU的最终预测。当前用于亮度和色度样本的加权因子分别为{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,4/8,2/8}。
三角预测模式语法和信令
三角预测模式是使用三角预测标志而用信号通知的。当CU在跳过模式或合并模式下进行编解码时,用信号通知三角预测标志。对于给定的CU,如果此三角预测标志的值为1,则表示使用三角预测模式对对应的该CU进行编解码。否则,使用除三角预测模式之外的预测模式对该CU进行编解码。
例如,在跳过模式或合并模式中有条件地用信号通知三角预测标志。首先,在序列参数集(或SPS)中用信号通知三角预测工具启用/禁用标志。仅当此三角预测工具启用/禁用标志为真时,才在CU级别用信号通知该三角预测标志。其次,仅在B条带中允许三角预测工具。因此,仅在B条带中,在CU级别用信号通知三角预测标志。第三,仅针对大小等于或大于特定阈值的CU用信号通知三角预测模式。如果CU具有小于所述阈值的大小,则不用信号通知三角预测标志。第四,仅针对下述CU用信号通知三角预测标志:此CU未在包括仿射预测模式和ATMVP模式两者的子块合并模式下被编解码。在上面列出的四种情况下,如果没有用信号通知三角预测标志,则在解码器侧将其推断为0。
当用信号通知三角预测标志时,利用特定上下文使用上下文自适应二进制算术编解码(CABAC)的熵编解码器用信号通知三角预测标志。基于当前CU的顶部块和左侧块的三角预测标志值形成这些上下文。
为了对当前块(或当前CU)的三角预测标志进行编解码(即,编码器或解码),推导来自顶部块和左侧块(或顶部CU和左侧CU)的三角预测标志,并将它们的值相加。这导致与以下情况对应的三个可能的上下文:
1)左侧块和顶部块都具有三角预测标志0;
2)左侧块和顶部块都具有三角预测标志1;
3)其它。
针对三个上下文中的每一个维持单独的概率。一旦针对当前块确定上下文值,就使用与该上下文值对应的CABAC的概率模型对当前块的三角预测标志进行编解码。
如果三角预测标志为真,则用信号通知三角分区朝向标志,以指示是否将该分区从左上角至右下角或从右上角至左下角定向。
在三角预测模式用于CU的情况下,用信号通知两个索引值以分别指示用于三角预测的第一和第二单向预测合并候选的索引值。这两个索引值用于从上述单向预测运动矢量候选列表中定位用于第一和第二分区的两个合并候选。对于三角预测,要求这两个索引值不同,以使两个三角分区的两个预测值相异。因此,直接用信号通知第一索引值。为了用信号通知第二索引值,如果它小于第一索引值,则直接用信号通知它的值。否则,将它的值在被用信号通知给解码器之前减去1。在解码器侧,将第一索引被解码并直接使用。为了对第二索引值进行解码,首先从CABAC引擎中解码表示为“idx”的值。若idx小于第一索引值,则第二索引值将等于idx的值。否则,第二索引值将等于(idx+1)。
几何合并模式
在几何合并模式(即GEO)下,可根据几何分区将CU划分为两个预测单元(即几何PU)。图8图示了根据本公开的一些实施方式的几何分区的一些示例。如图8所示,可沿着不完全通过对角的线将CU划分成两个PU,并且这两个PU可以具有诸如三角、楔形或梯形的几何形状。可将几何合并模式认为是三角预测模式的扩展,或者三角预测模式的超集。
图9是示出了根据本公开的一些实施方式的几何分区表示的示例的示意图。如图9所示,给定一个GEO分区,分区的标示要求一个角度α以及相对于块的中心的分隔线位移,表示为ρ。这里,α表示一个量化的角度,并且介于0到360度之间。
与三角预测模式类似,在GEO分区下,只允许单向预测用于两个GEO分区中的每一个,以使该模式下的内存带宽要求不会超过解码器侧双向预测块的内存带宽要求。GEO分区的运动矢量预测与三角预测模式对齐。同样,类似于三角预测模式,基于加权平均的混合操作可以应用于几何合并模式中两个分区之间的内边界。因此,与使用三角预测单元的运动补偿预测有关的技术也可以应用于使用几何形状预测单元的运动补偿预测。
常规合并模式运动矢量候选列表
根据当前的VVC,在预测整个CU而不被划分为多于一个PU的常规合并模式下,使用与三角预测模式不同的过程构建运动矢量候选列表或合并候选列表。
首先,基于来自相邻块的运动矢量,选择空间运动矢量候选,如图10所示,图10示出了根据本公开的一些实施方式的空间合并候选的位置的示意图。在当前块1002的空间合并候选的推导中,在位于如图10所示位置的候选中最多选择四个合并候选。这些候选是按照一定的顺序选出的。一个示例性的推导顺序是A1→B1→B0→A0→(B2)。仅当位置A1、B1、B0、A0中的任何PU不可用或被帧内编解码时才考虑位置B2。应注意,也可以使用其它不同的顺序。
接下来,推导时间合并候选。在时间合并候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小图片顺序计数(POC)差的图片的同位的PU来推导缩放运动矢量。用于推导该同位的PU的参考图片列表在条带头中显式地通过信号通知。获得用于时间合并候选的缩放运动矢量,如图11中的虚线所示,图11示出了根据本公开的一些实现方式的用于时间合并候选的运动矢量缩放。使用POC距离tb和td用于该时间合并候选的缩放运动矢量从同位的PU col_PU的运动矢量进行缩放,其中tb定义为当前图片的参考图片curr_ref与当前图片curr_pic之间的POC差异,td被定义为同位图片的参考图片col_ref与同位图片col_pic之间的POC差异。时间合并候选的参考图片索引被设置为零。HEVC规范草案中描述了该缩放过程的实际实现。对于B条带,获得并组合两个运动矢量,一个用于参考图片列表0,另一个用于参考图片列表1,以形成双向预测合并候选。
图12是示出了根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
在两个候选位置C3与H之间选择同位的PU的位置,如图12所示。如果位置H处的PU不可用,或者被帧内编解码,或者在当前CTU之外,则位置C3用于推导时间合并候选。否则,位置H用于推导时间合并候选。
在如上所述将空间和时间运动矢量插入合并候选列表之后,添加基于历史的合并候选。所称的这些基于历史的合并候选包括来自先前编解码的CU的运动矢量,这些运动矢量保存在单独的运动矢量列表中,并基于某些规则进行管理。
在插入基于历史的候选之后,如果合并候选列表未满,则进一步将成对平均运动矢量候选添加到该列表中。顾名思义,这种类型的候选是通过对当前列表中已有的候选求平均值来构建的。更具体地来讲,基于一定的顺序或规则,每次取合并候选列表中的两个候选,并将这两个候选的平均运动矢量附加到当前列表中。
在插入成对平均运动矢量后,如果合并候选列表仍未满,则将添加零个运动矢量以使列表满。
使用常规合并列表构建过程来构建用于三角预测的第一合并列表
当前VVC中的三角预测模式与常规合并预测模式在形成预测值的其总体过程中共享一些相似之处。例如,在两种预测模式下,需要至少基于当前CU的相邻空间运动矢量和同位运动矢量来构建合并列表。同时,三角预测模式还具有不同于常规合并预测模式的一些方面。
例如,尽管在三角预测模式和常规合并预测模式两者下都需要构建合并列表,但是获得这样的列表的详细过程是不同的。
由于需要额外的逻辑,这些差异给编解码器实现带来额外的成本。在三角预测模式与常规合并预测模式之间可以统一和共享构建合并列表的过程和逻辑。
在一些示例中,在形成用于三角预测模式的单向预测(也被称为单预测(uni-prediction))合并列表时,在将新的运动矢量添加到合并列表中之前,对照已经在列表中的那些运动矢量,来对新的运动矢量进行完全地修剪。换句话说,将新的运动矢量与已经在单向预测合并列表中的每个运动矢量进行比较,并且仅当其与该合并列表中的每个运动矢量不同时才添加到该列表中。否则,不将新的运动矢量添加到该列表中。
根据本公开的一些示例,在三角预测模式下,可以从常规合并模式运动矢量候选列表(其可以被称为常规合并列表)获得或构建单向预测合并列表。
更具体地来讲,为了构建用于三角预测模式的合并候选列表,首先基于用于常规合并预测的合并列表构建过程来构建第一合并列表。第一合并列表包括多个候选,每个候选都是运动矢量。然后,使用第一合并列表中的运动矢量来进一步构建或推导用于三角预测模式的单向预测合并列表。
应当注意的是,在这种情况下构建的第一合并列表可以选择不同于一般合并模式或常规合并模式的列表大小的列表大小。在本公开的一个示例中,第一合并列表具有与一般合并模式的大小相同的大小。在本公开的另一示例中,所构建的第一合并列表具有不同于一般合并模式的列表大小的列表大小。
从第一合并列表来构建单向预测合并列表
根据本公开的一些示例,用于三角预测模式的单向预测合并列表可以是基于以下方法之一而从第一合并列表构建的。
在本公开的示例中,为了构建单向预测合并列表,首先对第一合并列表中的候选的预测列表0运动矢量进行检查并且将其选择到单向预测合并列表中。如果在该过程之后单向预测合并列表未满(例如,该列表中的候选数量仍然小于目标数量),则对第一合并列表中的候选的预测列表1运动矢量进行检查并且将其选择到单向预测合并列表中。如果单向预测合并列表仍然未满,则将预测列表0零矢量添加到单向预测合并列表中。如果单向预测合并列表仍然未满,则将预测列表1零矢量添加到单向预测合并列表中。
在本公开的另一示例中,对于第一合并列表中的每个候选,将其预测列表0运动矢量和预测列表1运动矢量以交错方式添加到单向预测合并列表中。更具体地,对于第一合并列表中的每个候选,如果候选是单向预测运动矢量,则将其直接添加到单向预测合并列表中。否则,如果候选是第一合并列表中的双向预测运动矢量,则首先将其预测列表0运动矢量添加到单向预测合并列表中,之后跟随着其预测列表1运动矢量。一旦检查并且添加了第一合并列表中的所有运动矢量候选,但是单向预测合并列表尚未满,则可以添加单向预测零运动矢量。例如,对于每个参考帧索引,可以将预测列表0零运动矢量和预测列表1零运动矢量分别添加到单向预测合并列表中,直到列表是满的为止。
在本公开的又一示例中,首先将来自第一合并列表的单向预测运动矢量选择到单向预测合并列表中。如果在该过程之后单向预测合并列表未满,则对于第一合并列表中的每个双向预测运动矢量,首先将其预测列表0运动矢量添加到单向预测合并列表中,之后跟随着其预测列表1运动矢量。在该过程之后,如果单向预测合并列表尚未满,则可以添加单向预测零运动矢量。例如,对于每个参考帧索引,可以将预测列表0零运动矢量和预测列表1零运动矢量分别添加到单向预测合并列表中,直到列表是满的为止。
在上面的描述中,当将单向预测运动矢量添加到单向预测合并列表中时,可以执行运动矢量修剪过程以确保要被添加的新运动矢量不同于已经在单向预测合并列表中的那些运动矢量。为了较低的复杂度,还可以按照部分方式来执行这样的运动矢量修剪过程,例如,仅对照已经在单向预测合并列表中的一些但不是所有运动矢量来检查要被添加的新运动矢量。在极端情况下,在该过程中不执行运动矢量修剪(即,运动矢量比较操作)。
基于图片预测配置来从第一合并列表构建单向预测合并列表
在本公开的一些示例中,可以基于当前图片是否使用后向预测来以自适应方式构建单向预测合并列表。例如,根据当前图片是否使用后向预测,可以使用不同的方法来构建单向预测合并列表。如果所有参考图片的图片顺序计数(POC)值不大于当前图片的POC值,则意味着当前图片不使用后向预测。
在本公开的示例中,在当前图片不使用后向预测时,或者在确定当前图片不使用后向预测时,首先对第一合并列表中的候选的预测列表0运动矢量进行检查并且选择到单向预测合并列表中,之后跟随着那些候选的预测列表1运动矢量;并且如果单向预测合并列表仍然未满,则可以添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可以如上所述以交错方式对第一合并列表中的每个候选的预测列表0和列表1运动矢量进行检查并且选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,之后跟随着第一候选的预测列表1运动矢量,并且然后添加第二候选的预测列表0运动矢量,之后跟随着第二候选的预测列表1运动矢量,以此类推。在该过程结束时,如果单向预测合并列表仍然未满,则可以添加单向预测零矢量。
在本公开的另一示例中,如果当前图片不使用后向预测,则首先对第一合并列表中的候选的预测列表1运动矢量进行检查并且选择到单向预测合并列表中,之后跟随着那些候选的预测列表0运动矢量;并且如果单向预测合并列表仍然未满,则可以添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可以如上所述以交错方式对第一合并列表中的每个候选的预测列表0和列表1运动矢量进行检查并且选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,之后跟随着第一候选的预测列表1运动矢量,并且然后添加第二候选的预测列表0运动矢量,之后跟随着第二候选的预测列表1运动矢量,以此类推。在该过程结束时,如果单向预测合并列表仍然未满,则可以添加单向预测零矢量。
在本公开的又一示例中,如果当前图片不使用后向预测,则首先仅对第一合并列表中的候选的预测列表0运动矢量进行检查并且选择到单向预测合并列表中,并且如果单向预测合并列表仍然未满,则可以添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可以如上所述以交错方式对第一合并列表中的每个候选的预测列表0和列表1运动矢量进行检查并且选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,之后跟随着第一候选的预测列表1运动矢量,并且然后添加第二候选的预测列表0运动矢量,之后跟随着第二候选的预测列表1运动矢量,以此类推。在该过程结束时,如果单向预测合并列表仍然未满,则可以添加单向预测零矢量。
在本公开的另一示例中,如果当前图片不使用后向预测,则首先仅对第一合并列表中的候选的预测列表1运动矢量进行检查并且选择到单向预测合并列表中,并且如果单向预测合并列表仍然未满,可以添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可以如上所述以交错方式对第一合并列表中的每个候选的预测列表0和列表1运动矢量进行检查并且选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,之后跟随着第一候选的预测列表1运动矢量,并且然后添加第二候选的预测列表0运动矢量,之后跟随着第二候选的预测列表1运动矢量,以此类推。在该过程结束时,如果单向预测合并列表仍然未满,则可以添加单向预测零矢量。
在以上描述中,通过将来自第一合并列表的运动矢量选择到单向预测合并列表中来构建用于三角预测的单向预测合并列表。然而,在实践中,该方法可以以不同的方式来实现,其中物理地形成单向预测合并列表或者非物理地形成单向预测(或单预测)合并列表。在一些示例中,可以直接使用第一合并列表,而不是物理地创建单向预测合并列表。例如,第一合并列表中的每个候选的列表0和/或列表1运动矢量可以简单地基于特定顺序进行索引,并且直接从第一合并列表进行访问。即,在基于用于常规合并预测的合并列表构建过程构建包括多个候选(每个候选是一个或多个运动矢量)的第一合并列表之后,并不构建单向预测合并列表,而是构建包括多个参考索引(每个参考索引是该第一合并列表中的候选运动矢量的参考)索引列表。应当注意的是,这样的索引顺序可以遵循在上面那些构建单向预测合并列表的示例中描述的选择顺序。
在本公开的一个示例中,在当前图片不使用后向预测时,将第一合并列表中的候选的预测列表0运动矢量作为单向预测合并候选,并且按照与它们在第一合并列表中的索引顺序相同的索引顺序进行索引。也就是说,在确定当前图片的POC大于参考图片的每个POC时,参考索引按照第一合并列表中候选的列表0运动矢量的相同顺序排列。否则,如果当前图片使用后向预测,则将第一个合并列表中每个候选的列表0和列表1运动矢量作为单向预测合并候选,并且基于交错方式进行索引,即列表0运动矢量为第一个合并列表中的第一候选,然后是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,然后是第二候选的列表1运动矢量,依此类推。即,在确定当前图片的POC小于至少一个参考图片的POC时,参考索引按照第一合并列表中每个候选的列表0和列表1运动矢量的交错方式排列,其中,该候选是双向预测运动矢量。在第一合并列表中的候选是单向运动矢量的情况下,零运动矢量被索引为该候选的运动矢量之后的单向预测合并候选。这保证了对于当前图片使用后向预测的情况,第一合并列表中的每个候选,无论是双向预测运动矢量还是单向预测运动矢量,都提供两个单向运动矢量作为单向预测合并候选。
在本公开的另一示例中,在当前图片不使用后向预测时,将第一合并列表中候选的预测列表0运动矢量作为单向预测合并候选,并且按照与它们在第一合并列表中的索引顺序相同的索引顺序进行索引。否则,如果当前图片使用后向预测,则将第一合并列表中每个候选的列表0和列表1运动矢量作为单向预测合并候选,并且基于如上所述的交错方式进行索引,即第一合并列表中第一候选的列表0运动矢量之后是该第一候选的列表1运动矢量,然后第二候选的列表0运动矢量之后是第二候选的列表1运动矢量,依此类推。在第一合并列表中的候选是单向运动矢量的情况下,在单向预测合并列表中在该候选之后对相同的运动矢量加上特定运动偏移进行索引。
在上述过程中,当检查要添加到单向预测合并列表中的新运动矢量时,可以完全或部分地进行修剪。当部分地进行修剪时,就意味着将新的运动矢量与已经在单预测合并列表中的一些但不是全部的运动矢量进行比较。在极端情况下,不在这个过程中进行运动矢量修剪(即,运动矢量比较操作)。
在形成该单预测合并列表时,还可以基于当前图片是否使用后向预测来自适应地执行运动矢量修剪。例如,对于本公开的与基于图片预测配置的索引列表构建有关的示例,在当前图片不使用后向预测时,全部或部分地执行运动矢量修剪操作。当前图片使用后向预测时,不进行运动矢量修剪操作。
选择用于三角预测模式的单向预测合并候选
除了上述示例之外,还公开了单向预测合并列表构建或单向预测合并候选选择的其它方式。
在本公开的一个示例中,一旦构建了用于常规合并模式的第一合并列表,就可以根据以下规则选择用于三角预测的单向预测合并候选:
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角预测;
对于第一合并列表中的给定运动矢量候选,如果其在列表中的合并索引值为偶数,则其列表0运动矢量用于三角预测(如果其列表0运动矢量可用),并且在该运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角预测;以及
对于第一合并列表中的给定运动矢量候选,如果其在列表中的合并索引值为奇数,则其列表1运动矢量用于三角预测(如果其列表1运动矢量可用),并且在该运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角预测。
图13A是示出了根据本公开的一些实施方式的用于三角预测模式的单向预测运动矢量(MV)选择(或单向预测合并候选选择)的示例的示意图。在该示例中,从第一个合并列表中导出的第一N(例如,N等于5)个合并MV候选被索引为从0到(N-1);每行有两列,分别表示用于第一合并列表中的候选的列表0和列表1运动矢量。该列表中的每个候选可以是单向预测的或双向预测的。对于单向预测的候选,它只有一个列表0或一个列表1运动矢量,但不是两者都有。对于双向预测的候选,它具有列表0和列表1运动矢量。在图13A中,对于每个合并索引,标有“x”的运动矢量是首先用于三角预测的运动矢量(如果它们可用的话)。如果标记为“x”的运动矢量不可用,则将对应于同一合并索引的未标记的运动矢量用于三角预测。
上述概念可以扩展到其它示例。图13B是示出了根据本公开的一些实施方式的用于三角预测模式的单向预测运动矢量(MV)选择的另一个示例的示意图。根据图13B,用于为三角预测选择单向预测合并候选的规则如下:
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角预测;
对于第一合并列表中的给定运动矢量候选,如果其在列表中的合并索引值为偶数,则其列表1运动矢量用于三角预测(如果其列表1运动矢量可用),并且在该运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角预测;以及
对于第一合并列表中的给定运动矢量候选,如果其在列表中的合并索引值为奇数,则其列表0运动矢量用于三角预测(如果其列表0运动矢量可用),并且在该运动矢量候选不具有列表0运动矢量的情况下,其列表1运动矢量用于三角预测。
在一些示例中,其它不同顺序可以被定义并且用于从第一合并列表中的那些运动矢量候选中选择用于三角预测的单向预测合并候选。更具体地来讲,对于第一合并列表中的给定运动矢量候选,是否首先使用其列表0运动矢量还是列表1运动矢量(当可用于三角预测时)的决定不必如上文所描述的依赖于该候选在第一合并列表中的索引值的奇偶性。例如,也可以使用以下规则:
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角预测;
基于某种预定义模式,对于第一合并列表中的多个运动矢量候选,它们的列表0运动矢量用于三角预测(如果可用的话),并且在列表0运动矢量不存在的情况下,对应的列表1运动矢量用于三角预测;以及
基于同一预定义模式,对于第一合并列表中的剩余运动矢量候选,它们的列表1运动矢量用于三角预测(如果可用的话),并且在列表1运动矢量不存在的情况下,对应的列表0运动矢量用于三角预测。
图14A至图14D示出了根据本公开的一些实施方式的用于三角预测模式的单向预测运动矢量(MV)选择中的预定义模式的一些示例。对于每个合并索引,标记有“x”的运动矢量是首先用于三角预测的那些运动矢量(如果它们可用的话)。如果标记为“x”的运动矢量不可用,则之后将对应于同一合并索引的未标记的运动矢量用于三角预测。
在图14A中,对于第一合并列表中的前三个运动矢量候选,首先检查它们的列表0运动矢量。仅当列表0运动矢量不可用时,对应的列表1运动矢量用于三角预测。对于第一合并列表中的第四和第五运动矢量候选,首先检查它们的列表1运动矢量。仅当列表1运动矢量不可用时,对应的列表0运动矢量用于三角预测。图14B至图14D示出了从第一合并列表中选择单向预测合并候选的其它三个模式。图中示出的示例不是限制性的,并且存在进一步的示例。例如,也可以使用图14A至图14D中示出的那些模式的水平和/或垂直镜像版本。
一些示例所说明的概念可以与本公开中的一些其它示例所说明的概念结合使用。根据本公开的一个示例,对于第一合并列表中的给定运动向量候选,在其列表0或列表1运动向量可用于三角和/或几何预测时,是否首先使用其列表0或列表1运动向量的决定还可以取决于当前图片和/或条带是否使用后向预测。图15A至图15B是示出了根据本公开的一些实施方式的用于三角预测模式的单向预测MV选择的示例的示意图。如图15A所示,如果当前图片和/或条带使用后向预测,则候选的列表0与列表1运动向量之间的选择顺序基于第一合并列表中候选的索引值的奇偶性。如果当前图片和/或条带不使用后向预测,则优先选择候选的列表x(x为0或1)的运动向量,并且,如果该运动矢量可用的话,则首先选择这个运动矢量,x等于0的示例在图15B中示出。与早先解释的其它示例类似,在单向预测运动向量不可用于第一合并列表中的某个候选的情况下,从另一参考列表中选择同一候选的对应单向预测运动向量。因此,对于第一合并列表中的每个候选,可以获得单向预测运动向量并将其用于三角和/或几何预测模式。获得的单向预测运动向量与第一合并列表中的合并候选共享同一索引值。
用于三角预测模式的灵活合并列表构建和候选索引信号
在本公开的一个示例中,一旦构建了用于常规合并模式的第一合并列表,就直接从该列表中选择单向预测运动矢量用于三角预测。为了指示用于三角预测的某个列表0或列表1运动矢量,首先用信号通知索引值以指示从第一合并列表中选择了哪个候选。然后,用信号通知二进制参考列表指示标志(称为L0L1_flag)以指示从第一合并列表中选择的候选的列表0或列表1运动矢量是否被选择用于三角预测的第一分区。同一信令方法用于指示要用于三角预测的第二分区的第二列表0或列表1运动矢量。例如,用信号通知的用于三角模式编解码的CU的语法可包括index1、L0L1_flag1、index2、L0L1_flag2。这里,index1和index2是从第一个合并列表中选择的两个候选的合并索引值,分别用于第一和第二分区。Index1和index2分别用于定位第一分区和第二分区的候选(即第一候选和第二候选)。L0L1_flag1是用于第一分区的二进制标志,用于指示是否选择了基于来自第一合并列表的index1的所选候选的列表0或列表1运动矢量。L0L1_flag2是用于第二分区的二进制标志,用于指示是否选择了基于来自第一个合并列表的index2的所选候选的列表0或列表1运动矢量。用于第一分区的单向预测MV是通过根据第一二进制参考列表指示标志L0L1_flag1选择第一候选的列表X1MV得到的,其中,X1取值0或1。用于第二分区的单向预测MV是通过根据第二二进制参考列表指示标志L0L1_flag2选择第二候选的列表X2MV得到的,其中,X2取值为0或1。
图16是示出了根据本公开的一些实施方式的用于三角预测模式的灵活单向预测MV选择的示例的示意图。如图16所示,在矩形框中用符号“x”指示的每个列表0和/或列表1运动矢量可以被指示/用信号通知给解码器以用于推导第一分区的预测,并且在矩形框中用符号“x”指示的每个列表0和/或列表1运动矢量可以被指示/用信号通知给解码器以用于推导三角预测模式下的第二分区的预测。因此,从第一合并列表中选择单向预测运动矢量变得非常灵活。给定具有N个候选大小的第一合并列表,可以针对两个三角形分区中的每一个使用多达2N个单向预测运动矢量。三角预测模式下两个分区的两个合并索引值不必彼此不同。换言之,它们可能取相同的值。可以直接用信号通知这些索引值,而无需在用信号通知前进行调整。更具体地来讲,与当前VVC中定义的不同,第二索引值直接用信号通知给解码器,而不在用信号通知之前对该值进行任何调整。
在本公开的另一示例中,当这两个索引值相同时,不必用信号通知第二分区的二进制标志L0L1_flag2。相反,它被推断为具有相对于第一个分区的二进制标志L0L1_flag1的相反的值。换言之,在这种情况下,L0L1_flag2可以取值(1-L0L1_flag1)。
在本公开的又一示例中,这些二进制参考列表指示标志,即L0L1_flag1和L0L1_flag2,可以被编解码为CABAC上下文二进制位。用于L0L1_flag1的上下文可与用于L0L1_flag2的上下文分开。每个上下文下的CABAC概率可以在视频序列的开始处和/或图片的开始处和/或瓦片组的开始处进行初始化。在该示例中,可以使用不同的上下文建模方法来对这两个标志进行编解码。在一种方法中,用于第二标志的上下文模型选择可以取决于第一标志的值。换言之,至少两个上下文模型可用于对该第二标志进行编解码,并且基于用信号通知的第一标志的值来选择上下文模型。在另一种方法中,根据当前图片是否使用后向预测,可以以不同的方式来对在每个上下文模型下的CABAC概率进行初始化。在图片使用后向预测的情况下,可以为该标志将概率初始化得更高以指示某个列表,例如列表0。在又一种方法中,第一标志可以被编解码为旁路二进制位,并且只有第二标志被编解码为上下文二进制位。这里提到的这些方法可以单独使用,也可以联合使用。
在本公开的又一示例中,当由合并索引值和相关联的二进制参考列表指示标志(即,L0L1_flag)指示的运动矢量不存在时,可以改为使用单向预测零运动矢量。即,在确定第一候选的列表X1MV不存在时,选择单向预测零MV作为第一分区的单向预测MV;和/或,在确定第二候选的列表X2MV不存在时,选择单向预测零MV作为第二分区的单向预测MV。
在本公开的又一示例中,当由合并索引值和相关联的L0L1_flag指示的运动矢量不存在时,由相同的合并索引值指示的对应运动矢量来自另一个列表,即List(1-L0L1_flag),可以代替使用。即,在确定第一候选的列表X1MV不存在时,通过选择第一候选的列表(1-X1)MV得到第一分区的单向预测MV;和/或,在确定第二候选的列表X2MV不存在时,通过选择第二候选的列表(1-X2)MV来获得第二分区的单向预测MV。
在本公开的又一示例中,对于三角模式编码的CU,不用信号通知与第二索引(即,index2)相关联的第二L0L1_flag(即,L0L1_flag2),而总是进行推断。在这种情况下,仍然需要用信号通知index1、L0L1_flag1和index2语法。在一种方法中,基于L0L1_flag1的值以及当前图片是否使用后向预测来推断L0L1_flag2。更具体地来讲,对于三角模式编码的CU,如果当前图片使用后向预测,则L0L1_flag2的值被推断为L0L1_flag1的相反二进制值(即1-L0L1_flag1);如果当前图片没有使用后向预测,则推断L0L1_flag2的值与L0L1_flag1相同。此外,如果当前图片不使用后向预测,则可以进一步强制index2的值与index1的值不同,因为这两个运动矢量(其中针对每个三角形分区有一个)都来自同一预测列表。如果index2的值等于index1,则意味着同一运动矢量会用于这两个三角分区,这从编解码效率的角度来看是不是有用的。在这种情况下,在用信号通知index2的值时,可以在索引二值化之前对index2的值进行相应的调整,这与当前VVC设计中针对index2信令的调整相同。例如,在index1的实际值小于index2的实际值的情况下,使用对应(index2-1)的CABAC二值化码字来标示index2的值;否则,使用与index2对应的CABAC二值化码字来用信号通知index2的值。基于本公开的这个示例,可选地,强制index2具有不同于index1的值也可以被应用于当前图片使用后向预测的情况,以及针对CABAC二值化的相同的index2值的调整。
在本公开的又一示例中,对于三角模式编码的CU,没有用信号通知L0L1_flag中的任一者。相反,它们都是被推断的。在这种情况下,index1和index2语法仍然需要被用信号通知,分别表示从第一合并列表中针对第一和第二分区选择的两个候选的合并索引值。在给定合并候选索引值的情况下,可以定义或使用某些方法来确定是否选择来自第一列表的对应合并候选的列表0运动矢量或列表1运动矢量用于三角模式预测。在一种方法中,对于index1,示于图13A的模式用于确定从哪个预测列表中选择合并候选的运动矢量用于三角模式预测;而且,对于index2,图13B中所示的模式用于确定从哪个预测列表中选择合并候选的运动矢量用于三角模式预测。换言之,如果index1是偶数值,则选择index1指示的候选的列表0运动矢量,如果index1是奇数值,则选择index1指示的候选的列表1运动矢量。对于index2,若其为偶数值,则选择列表1运动矢量,若为奇数值,则选择列表0运动矢量。在不存在与某个预测列表对应的运动矢量的情况下,可以使用某个默认运动矢量来代替,如零运动矢量或来自其它预测列表的对应运动矢量,等等。在确定从哪个预测列表中选择合并候选的运动矢量用于三角模式预测时,示于图13B中的模式可用于index1,并且图13A中所示的模式可用于index2。即,可基于index1和index2的值来确定L0L1_flags。
虽然本公开中的方法以三角预测模式为例进行说明,但鉴于几何合并模式可以被认为是三角预测模式的扩展或超集,本公开中说明的方法自然也适用于几何合并模式。本公开中说明的所有合并列表构建方法可以自然地用于几何合并模式而无需任何修改。同样,本公开中说明的所有合并索引用信号通知的方法可以自然地用于几何合并模式而无需任何修改。在一个示例中,根据图13A的同一合并列表构建过程用于几何合并模式。在另一示例中,根据图13B的同一合并列表构建过程用于几何合并模式。而且,值得一提的是,如果VVC中存在三角预测模式和几何合并模式,则同一合并列表构建过程可以被共享并用于三角预测模式和几何合并模式二者。
应该提及的是,尽管在本公开的一些示例中使用了包含5个合并候选的第一合并列表,但实际上可以不同地定义第一合并列表的大小,例如6或4,或其它一些值。在这些示例中说明的方法适用于第一合并列表具有除了5之外的大小的情况。
在上文的过程中,也可以执行运动矢量修剪。这种修剪可以完全地或部分地完成。当其部分地被执行时,意味着将新运动矢量与已经在单向预测合并列表中的一些但不是全部运动矢量进行比较。这也可以意味着在被用作用于三角预测的合并候选之前,仅一些但不是所有新运动矢量需要被检查以进行修剪。一个具体示例是,在第二运动矢量用作用于三角预测的合并候选之前,仅对照第一运动矢量检查第二运动矢量以进行修剪,而所有其它运动矢量不被检查以进行修剪。在极端情况下,在该过程中不执行运动矢量修剪(即,运动矢量比较操作)。
图17是示出了根据本公开的一些实施方式的用于视频编解码的装置的框图。装置1700可以是终端,如移动电话、平板计算机、数字广播终端、平板设备、或个人数字助理。
如图17中所示,装置1700可以包括以下组件中的一个或多个:处理组件1702、存储器1704、电源组件1706、多媒体组件1708、音频组件1710、输入/输出(I/O)接口1712、传感器组件1714以及通信组件1716。
处理组件1702通常控制装置1700的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和录音操作相关的操作。处理组件1702可包括一个或更多个处理器1720,以用于执行指令从而完成上述方法的全部或部分步骤。进一步地,处理组件1702可包括一个或更多个模块,以促进处理组件1702与其它组件之间的交互。例如,处理组件1702可包括多媒体模块,以促进多媒体组件1708与处理组件1702之间的交互。
存储器1704被配置为存储不同类型的数据以支持装置1700的操作。这些数据的示例包括用于在装置1700上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1704可以由任何类型的易失性或非易失性存储设备或其组合来实施,并且存储器1704可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪速存储器、磁盘或光盘。
电源组件1706为装置1700的不同组件供电。电源组件1306可包括电源管理系统、一个或多个电源以及与为装置1700生成、管理和分配电力相关联的其它组件。
多媒体组件1708包括提供装置1700与用户之间的输出接口的屏幕。在一些示例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可以被实施为从用户接收输入信号的触摸屏。触摸面板可包括用于感测触摸面板上的触摸、滑动和手势的一个或多个触摸传感器。触摸传感器不仅可以感测触摸动作或滑动动作的边界,还可以检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1708可包括前置摄像头和/或后置摄像头。当装置1700处于操作模式(诸如拍摄模式或视频模式)时,前置摄像头和/或后置摄像头可以接收外部多媒体数据。
音频组件1710被配置为输出和/或输入音频信号。例如,音频组件1710包括麦克风(MIC)。当装置1700处于操作模式(诸如呼叫模式、录音模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收到的音频信号可以进一步存储在存储器1704中或经由通信组件1716发送。在一些示例中,音频组件1710进一步包括用于输出音频信号的扬声器。
I/O接口1712提供处理组件1702与外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可以包括但不限于主页按钮、音量按钮、开始按钮和锁定按钮。
传感器组件1714包括用于为装置1700提供不同方面的状态评估的一个或多个传感器。例如,传感器组件1714可以检测装置1700的开/关状态和组件的相对位置。例如,这些组件是装置1700的显示器和键盘。传感器组件1714还可以检测装置1700或装置1700的组件的位置变化、用户对装置1700的接触的存在或不存在、装置1700的取向或加速度/减速度、以及装置1700的温度变化。传感器组件1714可以包括接近度传感器,接近度传感器被配置为在没有任何物理接触的情况下检测附近物体的存在。传感器组件1714可以进一步包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件1714可以进一步包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器、或温度传感器。
通信组件1716被配置为促进装置1700与其它设备之间的有线或无线通信。装置1700可以接入基于诸如WiFi、4G、或其组合等通信标准的无线网络。在一种示例中,通信组件1716经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在一种示例中,通信组件1716可以进一步包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可以基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术以及其它技术来实施。
在一个示例中,装置1700可以由以下各项中的一项或多项来实施以执行上述方法:专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子元件。
非暂态计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪速存储器、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、致密盘只读存储器(CD-ROM)、磁带、软盘等。
图18是示出了根据本公开的一些实施方式的利用几何分区的用于运动补偿预测的视频编解码的示例性过程的流程图。
在步骤1802中,处理器1720将视频图片分割成多个编解码单元(CU),多个CU中的至少一个CU被进一步分割成两个预测单元(PU)。这两个PU可包括至少一个几何形状的PU。例如,该几何形状的PU可包括成对的三角形形状的PU、成对的楔形形状的PU或其它几何形状的PU。
在步骤1804中,处理器1720构建包括多个候选的第一合并列表,每个候选是包括列表0运动矢量或列表1运动矢量的运动矢量。例如,处理器1720可以基于用于常规合并预测的合并列表构建过程来构建第一合并列表。处理器1720也可以从其它电子设备或存储装置获得第一合并列表。
在步骤1806中,处理器1720根据第一索引定位用于该第一PU的第一候选。
在步骤1808中,处理器1720根据第二索引定位用于该第二PU的第二候选。
在步骤1810中,处理器1720通过根据第一二进制参考列表指示标志选择该第一候选的列表X1MV来获得用于该第一PU的第一单向预测MV,其中X1取值0或1并且由该第一二进制参考列表指示标志来指示。
在步骤1812中,处理器1720通过根据第二二进制参考列表指示标志选择该第二候选的列表X2MV来获得用于该第二PU的第二单向预测MV,其中X2取值0或1并且由该第二二进制参考列表指示标志来指示。
在一些示例中,提供了一种用于视频编解码的装置。该装置包括:处理器1720;以及存储器1704,存储器1704被配置为存储可由该处理器执行的指令;其中,该处理器在执行这些指令时被配置为执行如图18中所示的方法。
在一些其它示例中,提供了一种非暂态计算机可读存储介质1704,其中存储有指令。当这些指令由处理器1720执行时,这些指令使处理器执行如图18中所示的方法。
本公开的描述已经出于说明目被呈现,并且不旨在是穷举的或限于本公开。受益于前述描述和相关联附图中呈现的教导,许多修改、变体和替代性实施方式对于本领域普通技术人员将是显而易见的。
示例被选择并描述以便解释本公开的原理,并且使本领域其它技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理以及具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围将不受限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在被包括在本公开的范围内。

Claims (9)

1.一种利用几何分区的视频编码方法,包括:
将视频图片分割成多个编码单元(CU),所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;
基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中所述多个候选中的每一个是包括列表0 MV或列表1 MV的运动矢量(MV);
根据从比特流中接收的第一索引定位用于所述第一PU的第一候选;
根据从所述比特流中接收的第二索引定位用于所述第二PU的第二候选;
通过根据第一二进制参考列表指示标志确定所述第一候选的列表X1 MV来获得用于所述第一PU的第一单向预测MV,其中X1取值0或1并且由所述第一二进制参考列表指示标志来指示;以及
通过根据第二二进制参考列表指示标志确定所述第二候选的列表X2 MV来获得用于所述第二PU的第二单向预测MV,其中X2取值0或1并且由所述第二二进制参考列表指示标志来指示;
其中,获得用于所述第一PU的所述第一单向预测MV包括:在确定所述第一候选的列表X1 MV不存在时选择所述第一候选的列表(1-X1)MV;
获得用于所述第二PU的所述第二单向预测MV包括:在确定所述第二候选的列表X2MV不存在时选择所述第二候选的列表(1- X2)MV;
其中,对于所述第一合并列表中的候选,是否使用所述候选的列表0或列表1运动矢量还取决于当前图片是否使用后向预测,如果当前图片使用后向预测,则候选的列表0与列表1运动向量之间的选择顺序基于所述第一合并列表中所述候选的索引值的奇偶性。
2.根据权利要求1所述的利用几何分区的视频编码方法,其中,当确定对当前图片使用后向预测时,将所述第二二进制参考列表指示标志确定为相对于所述第一二进制参考列表指示标志具有相反的值;以及
在确定不对当前图片使用后向预测时,将所述第二二进制参考列表指示标志确定为具有与所述第一二进制参考列表指示标志相同的值。
3.根据权利要求1所述的利用几何分区的视频编码方法,其中,将所述第一二进制参考列表指示标志和所述第二二进制参考列表指示标志编码为CABAC上下文二进制位。
4. 一种利用几何分区的视频编码装置,包括:
一个或更多个处理器;以及
存储器,所述存储器被配置为存储可由所述一个或更多个处理器执行的指令;其中所述一个或更多个处理器在执行所述指令时被配置为:
将视频图片分割成多个编码单元(CU),所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;
基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中所述多个候选中的每一个是包括列表0MV或列表1MV的运动矢量(MV);
根据从比特流中接收的第一索引定位用于所述第一PU的第一候选;
根据从所述比特流中接收的第二索引定位用于所述第二PU的第二候选;
通过根据第一二进制参考列表指示标志确定所述第一候选的列表X1 MV来获得用于所述第一PU的第一单向预测MV,其中X1取值0或1并且由所述第一二进制参考列表指示标志来指示;以及
通过根据第二二进制参考列表指示标志确定所述第二候选的列表X2MV来获得用于所述第二PU的第二单向预测MV,其中X2取值0或1并且由所述第二二进制参考列表指示标志来指示;
其中,获得用于所述第一PU的所述第一单向预测MV包括:在确定所述第一候选的列表X1 MV不存在时选择所述第一候选的列表(1-X1)MV;
获得用于所述第二PU的所述第二单向预测MV包括:在确定所述第二候选的列表X2MV不存在时选择所述第二候选的列表(1-X2)MV;
其中,对于所述第一合并列表中的候选,是否使用所述候选的列表0或列表1运动矢量还取决于当前图片是否使用后向预测,如果当前图片使用后向预测,则候选的列表0与列表1运动向量之间的选择顺序基于所述第一合并列表中所述候选的索引值的奇偶性。
5.根据权利要求4所述的利用几何分区的视频编码装置,其中,当确定对当前图片使用后向预测时,将所述第二二进制参考列表指示标志确定为相对于所述第一二进制参考列表指示标志具有相反的值;以及
在确定不对当前图片使用后向预测时,将所述第二二进制参考列表指示标志确定为具有与所述第一二进制参考列表指示标志相同的值。
6.根据权利要求4所述的利用几何分区的视频编码装置,其中,将所述第一二进制参考列表指示标志和所述第二二进制参考列表指示标志编码为CABAC上下文二进制位。
7.一种用于利用几何分区的视频编码的非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储计算机可执行的指令,当由一个或更多个计算机处理器执行时,所述指令使得所述一个或更多个计算机处理器执行以下动作:
将视频图片分割成多个编码单元(CU),所述多个编码单元中的至少一个编码单元被进一步分割成两个预测单元(PU),第一PU和第二PU,所述两个预测单元包括至少一个几何形状的PU;
基于用于常规合并预测的合并列表构建过程构建包括多个候选的第一合并列表,其中所述多个候选中的每一个是包括列表0MV或列表1MV的运动矢量(MV);
根据从比特流中接收的第一索引定位用于所述第一PU的第一候选;
根据从所述比特流中接收的第二索引定位用于所述第二PU的第二候选;
通过根据第一二进制参考列表指示标志确定所述第一候选的列表X1 MV来获得用于所述第一PU的第一单向预测MV,其中X1取值0或1并且由所述第一二进制参考列表指示标志来指示;以及
通过根据第二二进制参考列表指示标志确定所述第二候选的列表X2MV来获得用于所述第二PU的第二单向预测MV,其中X2取值0或1并且由所述第二二进制参考列表指示标志来指示;
其中,获得用于所述第一PU的所述第一单向预测MV包括:在确定所述第一候选的列表X1 MV不存在时选择所述第一候选的列表(1-X1)MV;
获得用于所述第二PU的所述第二单向预测MV包括:在确定所述第二候选的列表X2MV不存在时选择所述第二候选的列表(1-X2)MV;
其中,对于所述第一合并列表中的候选,是否使用所述候选的列表0或列表1运动矢量还取决于当前图片是否使用后向预测,如果当前图片使用后向预测,则候选的列表0与列表1运动向量之间的选择顺序基于所述第一合并列表中所述候选的索引值的奇偶性。
8.根据权利要求7所述的用于利用几何分区的视频编码的非暂时性计算机可读存储介质,其中,当确定对当前图片使用后向预测时,将所述第二二进制参考列表指示标志确定为相对于所述第一二进制参考列表指示标志具有相反的值;以及
在确定不对当前图片使用后向预测时,将所述第二二进制参考列表指示标志确定为具有与所述第一二进制参考列表指示标志相同的值。
9.根据权利要求7所述的用于利用几何分区的视频编码的非暂时性计算机可读存储介质,其中,将所述第一二进制参考列表指示标志和所述第二二进制参考列表指示标志编码为CABAC上下文二进制位。
CN202211277982.XA 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置 Active CN115623206B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211277982.XA CN115623206B (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962913710P 2019-10-10 2019-10-10
US62/913,710 2019-10-10
US201962948781P 2019-12-16 2019-12-16
US62/948,781 2019-12-16
CN202211277982.XA CN115623206B (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置
CN202080085641.5A CN114788274A (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置
PCT/US2020/055259 WO2021072375A1 (en) 2019-10-10 2020-10-12 Methods and apparatuses for video coding using triangle partition

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080085641.5A Division CN114788274A (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置

Publications (2)

Publication Number Publication Date
CN115623206A CN115623206A (zh) 2023-01-17
CN115623206B true CN115623206B (zh) 2024-02-27

Family

ID=75437576

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080085641.5A Pending CN114788274A (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置
CN202211277982.XA Active CN115623206B (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080085641.5A Pending CN114788274A (zh) 2019-10-10 2020-10-12 利用三角分区的视频编解码方法和装置

Country Status (7)

Country Link
US (1) US20220239902A1 (zh)
EP (1) EP4042686A4 (zh)
JP (1) JP2022541687A (zh)
KR (2) KR20220070530A (zh)
CN (2) CN114788274A (zh)
MX (1) MX2022004267A (zh)
WO (1) WO2021072375A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220070475A1 (en) * 2018-12-18 2022-03-03 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording media storing bitstream

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2448064A1 (en) * 2002-07-11 2004-01-11 Matsushita Electric Industrial Co. Ltd. Filtering strength determination method, moving picture coding method and moving picture decoding method
CN101431679A (zh) * 2002-03-04 2009-05-13 松下电器产业株式会社 图像编码方法及图像编码装置
CN103024402A (zh) * 2012-11-29 2013-04-03 宁波大学 一种自由视点视频整帧丢失错误隐藏方法
WO2014165555A1 (en) * 2013-04-02 2014-10-09 Vid Scale, Inc. Enhanced temporal motion vector prediction for scalable video coding
CN104904217A (zh) * 2013-01-02 2015-09-09 高通股份有限公司 用于视频译码扩展的时间运动向量预测
CN105580364A (zh) * 2013-09-26 2016-05-11 高通股份有限公司 Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计
CN107979756A (zh) * 2016-09-14 2018-05-01 联发科技股份有限公司 一种视频编码系统所使用的视频编码方法及装置
CN113924774A (zh) * 2019-05-10 2022-01-11 北京达佳互联信息技术有限公司 用于利用三角形预测进行视频编解码的方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681855B2 (en) * 2007-10-12 2014-03-25 Thomson Licensing Method and apparatus for video encoding and decoding geometrically partitioned bi-predictive mode partitions
WO2011096770A2 (ko) * 2010-02-02 2011-08-11 (주)휴맥스 영상 부호화/복호화 장치 및 방법
DK2559246T3 (en) * 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
EP2942957A1 (en) * 2010-07-02 2015-11-11 HUMAX Holdings Co., Ltd. Apparatus for decoding images for intra-prediction
US9066110B2 (en) * 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
US9426463B2 (en) * 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9451277B2 (en) * 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
MY172302A (en) * 2012-04-15 2019-11-21 Samsung Electronics Co Ltd Method and apparatus for determining reference images for inter-prediction
US9648319B2 (en) * 2012-12-12 2017-05-09 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
US9826244B2 (en) * 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
BR112017011890A2 (pt) * 2014-12-09 2018-07-03 Mediatek Inc método de derivação de preditor de vetor de movimento ou de candidato a fusão em codificação de vídeo
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
CN111279695B (zh) * 2017-10-26 2024-03-29 韩国电子通信研究院 用于基于非对称子块的图像编码/解码的方法及装置
WO2020073896A1 (en) * 2018-10-08 2020-04-16 Huawei Technologies Co., Ltd. Apparatuses and methods for inter prediction of a triangle partition of a coding block
US11310497B2 (en) * 2019-11-15 2022-04-19 Qualcomm Incorporated Geometric partition mode with increased efficiency
CN114902663A (zh) * 2019-12-30 2022-08-12 鸿颖创新有限公司 用于编码视频数据的设备和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431679A (zh) * 2002-03-04 2009-05-13 松下电器产业株式会社 图像编码方法及图像编码装置
CA2448064A1 (en) * 2002-07-11 2004-01-11 Matsushita Electric Industrial Co. Ltd. Filtering strength determination method, moving picture coding method and moving picture decoding method
CN103024402A (zh) * 2012-11-29 2013-04-03 宁波大学 一种自由视点视频整帧丢失错误隐藏方法
CN104904217A (zh) * 2013-01-02 2015-09-09 高通股份有限公司 用于视频译码扩展的时间运动向量预测
WO2014165555A1 (en) * 2013-04-02 2014-10-09 Vid Scale, Inc. Enhanced temporal motion vector prediction for scalable video coding
CN105580364A (zh) * 2013-09-26 2016-05-11 高通股份有限公司 Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计
CN107979756A (zh) * 2016-09-14 2018-05-01 联发科技股份有限公司 一种视频编码系统所使用的视频编码方法及装置
CN113924774A (zh) * 2019-05-10 2022-01-11 北京达佳互联信息技术有限公司 用于利用三角形预测进行视频编解码的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6);Jianle Chen,etal;Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3–12 July 2019;第3.4.11节 *
Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19–27 March 2019;Xianglin Wang etal;CE4-related: An improved method for triangle merge list construction;第1章 *
JVET Ad hoc group report: Project management;Gary J. Sullivan;JVET Ad hoc group report: Project management;全文 *

Also Published As

Publication number Publication date
JP2022541687A (ja) 2022-09-26
EP4042686A1 (en) 2022-08-17
KR20240042245A (ko) 2024-04-01
US20220239902A1 (en) 2022-07-28
CN114788274A (zh) 2022-07-22
CN115623206A (zh) 2023-01-17
WO2021072375A1 (en) 2021-04-15
KR20220070530A (ko) 2022-05-31
MX2022004267A (es) 2022-07-04
EP4042686A4 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
CN113824959B (zh) 用于视频编码的方法、装置和存储介质
CN116156164B (zh) 用于对视频进行解码的方法、设备和可读存储介质
CN113545050B (zh) 利用三角形预测的视频编解码方法及装置
US20230089782A1 (en) Methods and apparatuses for video coding using geometric partition
CN115623206B (zh) 利用三角分区的视频编解码方法和装置
US20220070445A1 (en) Methods and apparatuses for video coding with triangle prediction
US20220014780A1 (en) Methods and apparatus of video coding for triangle prediction
CN113994672B (zh) 用于利用三角形预测进行视频编解码的方法和装置
CN114982230A (zh) 用于使用三角形分区的视频编解码的方法和装置
CN114080807A (zh) 利用三角分区进行视频编解码的方法和装置
CN113841406A (zh) 使用三角形分割用于视频编解码的方法和装置

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