Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
CN114080807A
CN114080807A CN202080048415.XA CN202080048415A CN114080807A CN 114080807 A CN114080807 A CN 114080807A CN 202080048415 A CN202080048415 A CN 202080048415A CN 114080807 A CN114080807 A CN 114080807A
Authority
CN
China
Prior art keywords
motion vector
filling
block
prediction
blocks
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.)
Pending
Application number
CN202080048415.XA
Other languages
English (en)
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
Publication of CN114080807A publication Critical patent/CN114080807A/zh
Pending legal-status Critical Current

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/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
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

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

Abstract

提供了一种用于在视频编解码期间为编码单元(CU)内的块填充运动矢量的方法和装置。该方法包括:将该CU划分为两个预测单元(PU),包括第一PU和第二PU;分别获得针对该第一PU的第一单向预测运动向量MV0和针对该第二PU的第二单向预测运动向量MV1;基于MV0和MV1的特性形成运动矢量MV01;以及用从由MV0、MV1和MV01组成的组中选择的运动矢量填充该CU内的相应块。

Description

利用三角分区进行视频编解码的方法和装置
技术领域
本申请实施例总体上涉及视频编解码和压缩,尤其涉及但不限于利用视频编解码中的三角预测单元(即几何分区预测单元的特殊情况)进行运动补偿预测的方法和装置。
背景技术
数字视频被各种电子设备支持,诸如数字电视、膝上型或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流送设备等。这些电子设备通过实现视频压缩/解压缩来传输、接收、编码、解码和/或存储数字视频数据。数字视频设备实现视频编解码技术,诸如由通用视频编解码(VVC)、联合探索测试模型(JEM)、MPEG-2、MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4第10部分、高级视频编解码(AVC)、ITU-T H.265/高效视频编解码(HEVC)以及此类标准的扩展定义的标准中描述的那些技术。
视频编解码通常利用预测方法(例如,帧间预测、帧内预测),该预测方法利用视频图像或序列中存在的冗余。视频编解码技术的重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。随着不断演进的视频服务变得可用,需要具有更好编解码效率的编码技术。每个标准中的块划分方案也在不断发展。
视频压缩通常包括进行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被划分为一个或多个条带,每个条带具有多个视频块,这些视频块也可以称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU)或者被递归地划分为更小的CU,直到达到预定义的最小CU的尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(TU),每个CU还包含一个或多个预测单元(PU)。每个CU可以采用帧内、帧间或IBC模式进行编解码。使用相对于同一视频帧内的相邻块中的参考样本的空间预测对视频帧的帧内编码的(I)条带中的视频块进行编码。视频帧的帧间编码的(P或B)条带中的视频块可使用相对于同一视频帧内相邻块中的参考样本的空间预测或相对于其它先前的和/或未来的参考视频帧中的参考样本的时间预测。
基于先前已编码的参考块(例如,相邻块)的空间域或时域预测产生要编解码的当前视频块的预测块。寻找参考块的过程可以通过块匹配算法来完成。表示要编解码的当前块和预测块之间的像素点差异的残差数据被称为残差块或预测误差。帧间编解码块根据指向形成预测块的参考帧中的参考块的运动向量和残差块进行编码。确定运动向量的过程通常称为运动估计。帧内编解码块根据帧内预测模式和残差块进行编码。为了进一步压缩,残差块从像素域被变换到变换域,例如频域,产生残差变换系数,然后可以对残差变换系数进行量化。最初以二维阵列布置的量化变换系数可以被扫描以产生变换系数的一维向量,然后被熵编码到视频比特流中以实现甚至更进一步的压缩。
编码的视频比特流然后被保存在计算机可读存储介质(例如,闪存)中以供具有数字视频能力的另一电子设备访问或者被直接有线或无线地传输到所述电子设备。所述电子设备然后通过例如解析该编码视频比特流以从比特流获得语义元素并且至少部分地基于从比特流获得的语义元素从编码的视频比特流将所述数字视频数据重构为其原始格式来执行视频解压缩(这是与上述视频压缩相反的过程),并且在电子设备的显示器上呈现重构的数字视频数据。
随着数字视频质量从高清到4Kx2K甚至8Kx4K,要编码/解码的视频数据量呈指数增长。如何在保持解码视频数据的图像质量的同时更有效地编码/解码视频数据是一种持续的挑战。
在联合视频专家组(JVET)会议上,JVET定义了通用视频编解码(VVC)的初稿和VVC测试模型1(VTM l)编码方法。决定包括具有使用二元和三元划分编解码块结构的嵌套多类型树的四叉树作为VVC的初始新编解码特征。从那时起,在JVET会议期间开发了用于实现所述编码方法和VVC解码过程草案的参考软件VTM。
发明内容
一般而言,本公开描述了与在视频编解码中使用几何形状预测单元的运动补偿预测相关的技术的示例。
根据本公开的第一方面,提供了一种用于在视频编解码期间为编码单元(CU)内的块填充运动矢量的方法,包括:将该CU划分为两个预测单元(PU),包括第一PU和第二PU;分别获得针对该第一PU的第一单向预测运动向量MV0和针对该第二PU的第二单向预测运动向量MV1;基于MV0和MV1的特性形成运动矢量MV01;以及用从由MV0、MV1和MV01组成的组中选择的运动矢量填充该CU内的相应块。
根据本公开的第二方面,提供了一种具有几何划分的视频编解码装置,包括:一个或多个处理器;以及存储器,该存储器用于存储可由一个或多个处理器执行的指令;其中,在执行这些指令时,一个或多个处理器用于为在视频编解码期间执行用于为编码单元(CU)内的块填充运动向量的前述方法。
根据本公开的第三方面,提供了一种用于视频编解码的非暂时性计算机可读存储介质,该计算机可读存储介质具有存储计算机可执行指令的几何划分,当由一个或多个计算机处理器执行时,这些指令使得一个或多个计算机处理器执行前述用于在视频编解码期间为编码单元(CU)内的块填充运动向量的方法。
附图说明
将通过参考在附图中示出的具体示例来呈现对本公开的示例的更具体的描述。鉴于这些附图仅描绘了一些示例并且因此不被认为是对范围的限制,将通过使用附图以附加的具体性和细节来描述和解释这些示例。
图1是示出了根据本公开的一些实施方式的示例性视频编码器的框图。
图2是示出了根据本公开的一些实施方式的示例性视频解码器的框图。
图3是示出了根据本公开的一些实施方式的四叉树加二叉树(QTBT)结构的示意图。
图4是示出了根据本公开的一些实施方式的被划分成CTU的图片的示例的示意图。
图5是示出了根据本公开的一些实施方式的多类型树划分模式的示意图。
图6是示出了根据本公开的一些实施方式的相邻块的位置的示意图。
图7是示出了根据本公开的一些实施方式的时间合并候选的运动向量缩放的示意图。
图8是示出了根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
图9是示出了根据本公开的一些实施方式的将CU划分成三角预测单元的示意图。
图10是示出了根据本公开的一些实施方式的三角分区模式的单向预测运动向量(MV)选择的一个示例的示意图。
图11是示出了了根据本公开的一些实施方式的在三角预测模式下的运动向量(MV)填充的一个示例的示意图。
图12A和12B是示出了根据本公开的一些实施方式的三角预测模式的简化运动向量填充的两个示例的示意图。
图12C和12D是示出了根据本公开的一些实施方式的三角预测模式的简化运动向量填充的另一示例的示意图。
图13A是示出了根据本公开的一些实施方式的三角预测模式的简化运动向量填充的另一个示例的示意图。
图13B是示出了根据本公开的一些实施方式的三角预测模式的简化运动向量填充的另一个示例的示意图。
图14是示出了根据本公开的一些实施方式的视频编解码的示例性装置的框图。
图15是示出了根据本公开的一些实施方式的使用几何预测单元进行用于运动补偿预测的视频编解码的示例性过程的流程图。
具体实施方式
现在将详细参考具体实施方式,其示例在附图中示出。在下面的详细描述中,阐述了许多非限制性的具体细节以帮助理解在此呈现的主题。但是对于本领域的普通技术人员来说显而易见的是,在不脱离权利要求的范围的情况下可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域的普通技术人员来说显而易见的是,这里呈现的主题可以在具有数字视频能力的多种类型的电子设备上实现。
在整个说明书中对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”或类似的语言的参考意味着所描述的特定特征、结构或特性包括在至少一个实施例或示例中。结合一个或一些实施例所描述的特征、结构、元素或特性也适用于其它实施例,除非另有说明。
在整个本公开中,术语“第一”、“第二”、“第三”等都用作仅用于引用相关元素的术语,如设备、部件、组成、步骤等,而并不暗示任何空间或时间顺序,除非另有明确说明。例如,“第一设备”和“第二设备”可以指两个单独形成的设备,也可以指同一个设备的两个部分、部件或工作状态,并且可以任意命名。
用在本文的术语“如果”或“何时”可根据上下文理解为表示“在”或“响应于”。这些术语如果出现在权利要求中,可能并不表示相关限制或特征是有条件的或可选的。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可包括存储可由一个或多个处理器执行的代码或指令的存储器(共享、专用或组)。一个模块可以包括带有或不带有存储的代码或指令的一个或多个电路。该模块或电路可包括直接或间接连接的一个或多个组件。这些组件可能会或可能不会彼此物理附接或彼此相邻。
单元或模块可以纯由软件、纯粹由硬件或由硬件和软件的组合来实现。例如,在纯软件实现中,单元或模块可以包括直接或间接链接在一起的功能相关的代码块或软件组件,以执行特定功能。
图1示出图示示例性基于块的混合视频编码器100的框图,混合视频编码器100可结合使用基于块的处理的许多视频编解码标准来使用。在编码器100中,视频帧被分割为多个视频块以供处理。对于每个给定的视频块,基于帧间预测方法或帧内预测方法形成预测。在帧间预测中,基于来自先前重构帧的像素点,通过运动估计和运动补偿形成一个或多个预测值。在帧内预测中,基于当前帧中重构的像素点形成预测值。通过模式决策,可以选择最佳预测值来预测当前块。
表示当前视频块与其预测值之间的差的预测残差被发送到变换电路系统102。变换系数然后从变换电路系统102发送到量化电路系统104用于熵减。量化系数然后被馈送到熵编解码电路系统106以生成压缩的视频比特流。如图1中所示,来自帧间预测电路系统和/或帧内预测电路系统112的预测相关信息110(诸如视频块划分信息、运动向量、参考图片索引和帧内预测模式)也通过熵编解码电路系统106馈送并且保存为压缩的视频比特流114。
在编码器100中,还需要与解码器相关的电路系统以便为了预测的目的重构像素点。首先,通过逆量化电路系统116和逆变换电路系统118重构预测残差。该重构的预测残差与块预测值120组合以生成当前视频块的未滤波的重构像素点。空间预测(或“帧内预测”)使用来自与当前视频块处于相同视频帧中的已经编解码的相邻块的样本(称为参考样本)的像素点来预测当前视频块。
时间预测(也称为“帧间预测”)使用来自已经编解码的视频图片的重构像素点来预测当前视频块。时域预测减少了视频信号中固有的时域冗余。针对给定编解码单元(CU)或编解码块的时域预测信号通常由一个或多个运动向量(MV)来进行信号通知,该一个或多个运动向量指示当前CU与其时域参考图片之间的运动量和运动方向。进一步地,如果支持多个参考图片,则额外发送一个参考图片索引,用于标识时域预测信号来自参考图片存储中的哪个参考图片。
在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策电路系统121选择最佳预测模式,例如基于比率失真优化方法。然后从当前视频块中减去块预测值120;并且使用变换电路系统102和量化电路系统104把得到的预测残差解相关。得到的量化残差系数由逆量化电路系统116逆量化并由逆变换电路系统118逆变换以形成重构的残差,然后将重构的残差加回到预测块以形成CU的重构信号。进一步环路滤波115(诸如解块滤波器、样本自适应偏移(SAO)和/或自适应环路滤波器(ALF))可以在重构的CU被放入图片缓冲器117的参考图片存储并用于编解码未来的视频块之前被应用在重构的CU上。为了形成输出视频比特流114,编解码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被发送到熵编解码单元106以被进一步压缩和打包以形成比特流。
例如,解块滤波器可用于AVC、HEVC以及VVC的当前版本中。在HEVC中,定义了称为SAO(样本自适应偏移)的额外环路滤波器,用于进一步提高编解码效率。在VVC标准的当前版本中,正在积极研究另一种称为ALF(自适应环路滤波器)的环路滤波器,并且它很有可能被包括在最终标准中。
这些环路滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。它们也可以作为由编码器100呈现的决策而被关闭以节省计算复杂度。
应注意,帧内预测通常基于未滤波的重构的像素,而如果这些滤波器选项被编码器100打开的话,则帧间预测会基于滤波的重构的像素。
图2是图示示例性基于块的视频解码器200的框图,基于块的视频解码器200可结合许多视频编解码标准使用。该解码器200类似于驻留在图1中的编码器100中的与重构相关的部分。在解码器200中,首先通过熵解码202对到来的视频比特流201进行解码以导出量化系数级别和预测相关信息。然后通过逆量化204和逆变换206处理量化系数级别以获得重构的预测残差。在帧内/帧间模式选择器212中实现的块预测值机构被配置为基于解码的预测信息执行帧内预测208或运动补偿210。通过使用加法器214将来自逆变换206的重构预测残差和由块预测值机构生成的预测输出相加,获得一组未滤波的重构像素。
重构块在其被存储在图片缓冲器213中之前还可以通过环路滤波器209,图片缓冲器213用作参考图片存储。图片缓冲器213中的重构视频可被发送以驱动显示设备,以及用于预测未来的视频块。在环路滤波器209打开的情况下,对这些重构像素点执行滤波操作以导出最终的重构视频输出222。
前面所提及的视频编解码/解码标准,例如VVC、JEM、HEVC、MPEG-4,第10部分,在概念上是相似的。例如,它们都使用基于块的处理。下面将详细说明一些标准中的块划分方案。
高效视频编解码(HEVC)
HEVC是以基于混合块的运动补偿变换编码架构为基础。用于压缩的基本单元被称为编码树单元(CTU)。对于4:2:0色度格式,最大CTU尺寸被定义为多达64乘64亮度像素和两个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中的每一个色度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尺寸设置为128×128亮度样本与两个对应的64×64色度样本块(具有4:2:0色度格式),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)400进行分割,并且通过四叉树结构或二叉树结构进一步对四个四叉树叶节点402、404、406、408中的三个进行划分。例如,通过四叉树划分进一步对四叉树叶节点406进行划分;通过二叉树划分将四叉树叶节点404进一步划分为两个叶节点404a、404b;并且还通过二叉树划分进一步对四叉树叶节点402进行划分。在二叉树的每个划分(即,非叶)节点中,标示一个标志以指示使用哪个划分类型(即,水平或垂直),其中0指示水平划分并且1指示垂直划分。例如,对于四叉树叶节点404,标示为0以指示水平划分,并且对于四叉树叶节点402,标示为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导出运动矢量并相应地进行运动补偿。帧间预测支持三角预测模式。下面说明三角预测模式的更多细节。
常规合并模式运动矢量候选列表
根据当前的VVC,在预测整个CU而不划分为多于一个PU的常规合并模式下,使用与三角预测模式不同的过程构建运动向量候选列表或合并候选列表。
首先,基于来自相邻块的运动矢量,选择空间运动矢量候选,图6示出了根据本公开的一些实施方式的空间合并候选的位置的示意图,如图6所示,在当前块602的空间合并候选的推导中,在位于如图6所示位置的候选中最多选择四个合并候选。这些候选是按照一定的顺序选出的。一个示例性的推导顺序是A1→B1→B0→A0→(B2)。仅当位置A1、B1、B0、A0中的任何PU不可用或被帧内编码时才考虑位置B2。应注意,也可以使用其它不同的顺序。例如,在VVC后面的阶段,将顺序改为B1→A1→B0→A0(B2)。
接下来,推导时间合并候选。在时间合并候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小图片顺序计数(POC)差的图片的同位PU来推导经缩放的运动向量。在条带头中显式地标示将被用于推导同位PU的参考图片列表。图7示出了根据本公开的一些实施方式的用于时间合并候选的运动矢量缩放,如图7所示,获得时间合并候选的经缩放的运动矢量,使用POC距离tb和td从同位PU col_PU的运动矢量对该时间合并候选的缩放运动向量进行缩放,其中tb定义为当前图片的参考图片curr_ref与当前图片curr_pic之间的POC差异,td被定义为同位图片的参考图片col_ref与同位图片col_pic之间的POC差异。时间合并候选的参考图片索引被设置为零。HEVC规范草案中描述了该缩放过程的实际实现。对于B条带,获得并组合两个运动矢量,一个用于参考图片列表0,另一个用于参考图片列表1,以形成双向预测合并候选。
图8是示出了根据本公开的一些实施方式的用于时间合并候选的候选位置的示意图。
如图8所示,在两个候选位置C3与H之间选择同位PU的位置。如果位置H处的PU不可用,或者被帧内编解码,或者在当前CTU外部,则位置C3用于推导时间合并候选。否则,位置H用于推导时间合并候选。
在如上所述将空间和时间运动向量两者插入合并候选列表之后,添加基于历史的合并候选。所称的这些基于历史的合并候选包括来自先前编解码的CU的运动矢量,这些运动矢量被维护在单独的运动矢量列表中,并基于某些规则进行管理。
在插入基于历史的候选之后,如果合并候选列表未满,则进一步将成对平均运动矢量候选添加到该列表中。顾名思义,这种类型的候选是通过对当前列表中已有的候选求平均值来构建的。更具体地说,基于一定的顺序或规则,每次取合并候选列表中的两个候选,并将这两个候选的平均运动矢量附加到当前列表中。
在插入成对平均运动向量后,如果合并候选列表仍未满,则将添加零个运动向量以填满列表。
三角预测模式(或三角分区模式)
图9是示出了根据本公开的一些实施方式的将CU分成三角预测单元的示意图。
三角预测模式的概念是为运动补偿预测引入三角分区。三角预测模式也可以称为三角预测单元模式,或三角分区模式。如图9所示,CU 902或904在对角线方向或反对角线方向被分成两个三角预测单元分区0和分区1(即,如CU 902所示的从左上角到右下角划分或如CU 904所示的从右上角到左下角划分)。该CU中的每个三角预测单元使用其自己的直接和/或间接地从常规的合并模式运动向量候选列表导出的单向预测运动向量和参考帧索引进行帧间预测。在对这两个三角预测单元进行预测之后,对分隔这两个三角预测单元的对角边缘进行加权处理。然后,将变换和量化过程应用于整个CU 902或904。应注意,这种模式仅应用于当前VVC中的跳过和合并模式。虽然在图9中CU被示为正方形块,但该三角预测模式也可以应用于非正方形(即矩形)形状的CU。
单向预测运动矢量推导
图10是示出了根据本公开的一些实施方式的用于三角划分模式的单向预测运动向量选择的示意图。
在一些示例中,如在前面的“常规合并模式运动矢量候选列表”一节中所描述的那样,直接从为常规合并模式形成的合并候选列表中导出用于每个三角分区的单向预测运动矢量。在给出合并候选索引的情况下,可以从合并候选列表中定位候选。然后对于该候选,其X等于合并候选索引值的奇偶校验值(p)的列表X运动向量被用作用于三角划分模式的单向预测运动向量。这些运动矢量在图10中用“x”标记。在对应的表X(或表p)运动矢量不存在的情况下,使用同一候选的表(1-X)(或表(1-p))运动矢量作为用于三角分区模式的单向预测运动矢量。
边界加权过程
基于每个三角PU的运动矢量为每个三角PU导出预测值。值得注意的是,推导出的预测值覆盖的区域比实际三角PU更大,因此存在沿着这两个三角PU的共享对角边缘的两个预测值的重叠区域(例如,见CU 902或904的分区0和分区1)。加权过程应用于这两个预测值之间的对角边缘区域,以推导出用于该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级别标识该三角预测标志。第三,仅针对尺寸等于或大于某个阈值(如64)的CU标识该三角预测模式。如果CU的尺寸小于该阈值,则不标识该三角预测标志。第四,仅当CU未在常规合并模式、或具有运动向量差的合并模式(MMVD)或子块合并模式或组合的帧间和帧内预测(CIIP)模式下编解码时,针对CU,才可允许三角预测模式。对于满足这些条件的CU,应用三角划分模式。
如果使用三角预测模式,还标识三角分区定向标志以指示划分是从左上角定向到右下角(如CU 902)还是从右上角定向角到左下角(如CU 904)。
当该三角预测标志被标识时,使用具有某些上下文的上下文自适应二进制算术编码(CABAC)熵编码器来标识三角预测标志。这些上下文是基于当前CU的顶部块和/或左侧块的三角预测标志值形成的。
为了对当前块(或当前CU)的三角预测标志进行编解码(即编码器或解码),推导出来自顶部块和/或左侧块(或CU)的三角预测标志并将它们的值相加。这就会产生对应于以下情况的三种可能的上下文:
1)左侧块和顶部块的三角预测标志均为0;
2)左侧块和顶部块的三角预测标志均为1;以及
3)其它情况。
针对三个上下文中的每一个维持单独的概率。一旦针对当前块确定了上下文值,则使用对应于该上下文值的CABAC概率模型对当前块的三角预测标志进行编解码。
在三角预测模式用于CU的情况下,标识两个合并索引值以指示分别用于三角预测的第一和第二单向预测合并候选的合并索引值。这两个合并索引值用于分别为第一和第二分区定位来自上述单向预测运动向量候选列表的两个合并候选。对于三角预测,要求这两个合并索引值不同,以使这两个三角分区的两个预测值可以彼此不同。因此,直接标识该第一合并索引值。为了标识该第二合并索引值,如果它小于第一合并索引值,则直接标识该第二合并索引值。否则,该第二合并索引值在被解码器标识之前减去1。在解码器侧,第一合并索引被直接解码和使用。为了解码第二合并索引值,首先从CABAC引擎解码表示为“idx”的值。如果idx小于第一个合并索引值,则第二个合并索引值会等于idx的值。否则,第二合并索引值会等于(idx+1)。
三角预测模式下的块运动矢量填充
根据VVC标准草案,如果在三角预测模式下对CU进行编解码,则根据子块位置使用不同的运动矢量来填充(即存储在)CU内的4×4子块的运动矢量缓冲区。执行此类运动向量填充是为了在对可能在空间或时间上与当前CU相邻的其它CU进行编解码时进行运动向量预测。更具体地来讲,用第一三角分区的表示为MV0的单向预测运动向量填充第一三角分区(即分区0)内的子块;用第二三角分区的表示为MV1的单向预测运动向量填充第二三角分区(即分区1)内的子块;并且用从MV0和MV1形成的运动向量填充位于该对角分区边缘上的4×4子块。根据MV0和MV1的特征,所形成的运动矢量用MV01表示,并且可以是单向预测的或双向预测的。如果MV0和MV1来自不同的参考列表,则将这两个单向预测运动向量直接组合形成一个双向预测运动向量。如果它们引用同一参考列表,则检查MV1的参考图片以查看它是否存在于其它参考列表中。如果是,则将MV1转换为参考另一个参考列表中的同一参考图片,然后将其与MV0组合以形成双向预测运动向量MV01。如果MV1的参考图片不存在于另一个参考列表中,则检查MV0的参考图片以查看它是否存在于另一个参考列表中。如果是,则将MV0转换为参考另一个参考列表中的同一参考图片,然后将其与MV1组合以形成双向预测运动向量MV01。如果另一个参考列表中不存在MV0的参考图片,则直接将MV0用作所形成的运动矢量,在这种情况下,所形成的运动矢量为单向预测运动矢量。
如图11所示,在三角预测模式下对尺寸为32×32的CU进行编解码。在这种情况下,用分区0的单向预测运动向量填充分区0内的4×4的块;用分区1的单向预测运动向量填充分区1内的4×4的块;并且用前述形成的运动向量MV01填充位于该对角线边缘线(用实线分界线方块表示)上的4×4块。值得注意的是,在上述过程中,用于填充4×4块的运动矢量可与用于形成该4×4块的帧间预测的运动矢量相同,也可以不同。虽然本公开的子块具有4×4像素的尺寸,但是子块尺寸可以被适配为2×2、8×8或其它尺寸,其中,所公开的方法可以被相应地适配。
具有有限运动矢量修剪的单向预测运动矢量推导
在一些示例中,针对每个三角分区的单向预测运动矢量直接从为常规合并模式形成的合并候选列表导出,如在前面的“常规合并模式运动矢量候选列表”一节中所描述的那样。然而,如图10所示,可选择的运动矢量的数量可以被限制用于三角分区。例如,当图中存在标有“x”的运动矢量时,同一合并候选的来自其它参考列表的对应单向预测运动矢量(即图中未标有“x”的运动矢量)将没有机会用于三角预测。同时,经常出现一些标有“x”的运动矢量可能彼此相同,这可能进一步限制运动矢量的多样性并牺牲编解码效率。
三角预测的另一个问题与其当前的块运动矢量填充方法有关,如在前面的“三角预测模式下的块运动矢量填充”一节中所描述的那样,因为填充运动矢量时的相应操作并不那么简单。更多实施友好的方法可能会更好。
根据本公开的一些示例,在给定三角预测模式下的两个合并索引值的情况下,可以基于在前面的“单向预测运动矢量推导”一节中所描述的过程来定位这两个单向预测运动矢量。此外,还可以进行运动矢量修剪操作。如果分别为分区0和分区1导出的这两个单向预测运动矢量相同,则可以替代地使用来另一个参考列表的这两个单向预测运动矢量对应的单向预测运动矢量(如果存在的话)。
前面所公开的示例可以用不同的方式实施。假设根据“单向预测运动矢量推导”一节中所描述的过程定位的两个单向预测运动矢量分别为三角分区0和分区1的MV0和MV1。在一个示例中,如果MV1与MV0相同,则与MV1共享相同的合并索引但来自另一个参考列表的对应运动向量(如果存在的话)替代地用于分区1。如果它不存在,则仍然使用MV1。在另一示例中,如果MV1与MV0相同,则与MV1共享相同的合并索引但来自另一个参考列表的对应运动向量(如果存在的话)被替代地使用。如果它不存在或与MV0相同,则仍使用MV1。在这种情况下,与MV0共享相同的合并索引但来自另一个参考列表的对应运动向量(如果存在的话)用于分区0。如果它不存在,则仍将MV0用于分区0。
在上面的描述中,分区号0和1的检查和处理顺序连同它们各自的MV0和MV1都是相对的。因此,它们的检查和处理顺序在说明书中可以互换,并且所得到的方法仍然包含在本公开的相同精神下。例如,也可以先对MV0进行相对于MV1的修剪操作,而不是如上述示例中描述的那样先相对于MV0对MV1进行修剪操作。
基于所公开的这些示例,可以使用不同的方法来确定两个单向预测运动矢量是否相同。在一个示例中,当编解码设备确定两个向量具有相同的X和Y分量以及它们的参考图片的同一POC(即图片顺序计数)时,认为这两个单向预测运动向量是相同的。运动矢量的X和Y分量分别表示从当前块到其对应参考块的相对水平和垂直偏移值。在另一示例中,当编解码设备确定这两个矢量具有相同的X和Y分量、相同的参考列表和相同的参考图片索引时,认为这两个单向预测运动向量是相同的。在又一示例中,当编解码设备确定这两个矢量具有相同的X和Y分量时,认为这两个单向预测运动向量是相同的,而不管它们的参考列表或参考图片索引如何。这里,该编解码设备可以是具有用于编码或解码视频数据的芯片的电子设备。
通过如上所述的所公开的方法,可以选择更多的运动向量并将其用于三角预测,而没有额外的信令开销。这样就提高了编解码效率,同时相关联的运动矢量修剪操作的复杂性受到限制。
简化的块运动矢量填充
根据本公开的一些示例,块运动矢量填充操作不必遵循在“三角预测模式下的块运动矢量填充”一节中所描述的过程,而是可以代替地使用一些简化的方案。在本公开的以下描述中,用于三角分区0和1的运动向量分别表示为MV0和MV1;基于“三角预测模式下的块运动矢量填充”一节中所描述的过程用MV01表示MV0和MV1形成的运动矢量。如前所述,MV01可以是双向预测或单向预测的运动矢量。
在本公开的示例中,所形成的运动矢量MV01用于填充当前CU中的每个4×4块,而不是用不同的运动矢量填充这些4×4块。
在本公开的另一示例中,将与位于该CU底部的三角划分相关联的单向预测运动矢量用于填充当前CU中的每个4×4块,而不是用不同的运动矢量填充这些4×4块。图9中示出了一个例子,其中分区1是位于底部的三角分区,其运动矢量MV1用于填充CU 902或904中的每个4×4块。
在本公开的又一示例中,将与位于该CU底部的三角分区相关联的单向预测运动矢量用于填充当前CU中除了位于对角分区边界上的两端的两个4×4块之外的每个4×4块。对于位于对角分区边界两端的这两个4×4块,使用所形成的运动向量MV01来将它们填充。这在图12A和图12B中示出,其中,只有具有实线边界线的两个4×4块被所形成的运动向量MV01填充。更具体来讲,如图12A所示,在从左上角到右下角划分当前CU时,用所形成的运动向量MV01填充左上4×4块和右下4×4块。在从右上角到左下角划分当前CU时,如图12B所示,用所形成的运动向量MV01填充右上4×4块和左下4×4块。
在本公开的另一示例中,用所形成的运动向量MV01填充当前CU中除了分别位于分区1和分区2的两个角的两个4×4角块之外的每个块。这两个角块不位于该对角分区边界上。一个例子示于图12C和图12D,其中,这两个角块用实线边界线表示。根据本公开的这个实施例,用这两个角块的三角分区的对应的单向预测运动向量填充这两个角块。更具体来讲,如图12C所示,当从左上角到右下角分割当前CU时,用MV0和MV1填充右上4×4块和左下4×4块。当从右上角到左下角分割当前CU时,如图12D所示,用MV0和MV1分别填充左上4×4块和右下4×4块。虽然图11-13中的示例使用尺寸为4×4像素的子块,该方法可适用于不同的子块尺寸,如2×2、8×8或其它尺寸。
在本公开的另一个示例中,块运动矢量填充操作仍然遵循“三角预测模式下的块运动矢量填充”部分中描述的过程,除了那些位于对角线边界线上的4×4块(用实线标记)图11中的边界线)。对于位于对角分区边界上两个角的两个4×4块,使用形成的运动向量MV01来填充它们。对于位于对角线边界线上的其它4×4块,使用与位于CU底部的三角分区相关联的单向预测运动矢量来填充它们。
在本公开的另一个例子中,块运动矢量填充操作仍然遵循“三角预测模式下的块运动矢量填充”一节中所描述的过程,除了位于对角线边界线上的4×4块(在图11中用实线边界线标记)。对于位于对角分区边界上两个角的两个4×4块,使用形成的运动向量MV01来填充它们。对于位于对角线边界线上的其它4×4块,使用与位于CU上部的三角分区相关联的单向预测运动矢量来填充它们。
在本公开的另一个示例中,当前CU被划分为四个四分之一尺寸的区域。每个区域中的4×4块被相同的运动矢量填充,而不同区域中的4×4块可用不同的运动矢量填充。更具体地来讲,用MV01填充位于对角线边界上的四分之一尺寸区域中的块,并且用该分区的单向预测运动矢量填充每个三角分区内的四分之一尺寸区域中的块。一个示例图13A中示出。在该图中,用MV01填充包含对角分区边界的两个四分之一尺寸区域(用实线标记)中的4×4块,而根据MV0和MV1所在的三角分区,用MV0或MV1填充其它两个四分之一尺寸区域中的4×4块。在图13A的情况下,用MV0填充右上角四分之一尺寸的区域中的4×4块,而用MV1填充左下角四分之一尺寸的区域中的4×4块。在图13B的情况下,用MV0填充左上角四分之一尺寸的区域中的4×4块,而用MV1填充右下角四分之一尺寸的区域中的4×4块。
在本公开的又一示例中,在当前CU具有等于4个像素的宽度或具有等于4个像素的高度的情况下,如果当前CU中的每个块是用三角预测模式编解码的,则用MV01填充当前CU中的每个块。值得注意的是,这个示例可与上面所描述的那些例子中的每一个一起使用。
在本公开的又一示例中,在当前CU具有小于特定阈值的尺寸的情况下,如果当前CU中的每个块是用三角预测模式编解码的,则用MV01填充当前CU中的每个块。否则,可以使用上述方法之一。可以根据CU实际区域尺寸来定义该阈值。该阈值也可以根据CU宽度和/或CU高度,或根据一些其它度量(例如,宽度与高度的比率)来定义。在一个示例中,对于面积尺寸小于256个像素的CU,如果采用三角预测模式对当前CU中的每个4×4块进行编解码,则用MV01填充当前CU中的每个4×4块;并且,对于面积尺寸等于或大于256个像素的CU,用前面结合图13A和图13B说明的方法填充该CU的块。在另一个示例中,对于宽度和/或高度小于16个像素的CU,如果采用三角预测模式对当前CU中的每个块进行编解码,则用MV01填充当前CU中的每个块都;并且,对于宽度和高度均等于或大于16个像素的CU,用前面结合图13A和图13B说明的方法填充该CU的块。
值得注意的是,本公开中的MV01用于指代三角预测模式下由这两个单向预测运动向量构造的潜在双向预测运动向量。但是构建MV01的方法不限于“三角预测模式下的块运动向量填充”一节中所公开的内容。对于本领域技术人员来说显而易见的是,用于导出MV01的其它方法也涵盖在本公开的相同精神下。
在上述过程中,虽然在本公开的所有示例中都使用包含5个合并候选的第一合并列表来进行说明,但是在实践中第一合并列表的尺寸可以被不同地定义,例如6或4,或其它一些值。本公开中描述的所有方法同样适用于第一合并列表的尺寸不是5的情况。
虽然本公开中的形成单向预测合并列表的方法是关于三角预测模式描述的,但是这些方法适用于类似种类的其它预测模式。例如,在更一般的几何划分预测模式下,其中一个CU沿着不完全对角的线被划分为两个PU,这两个PU可以具有诸如三角形、楔形或梯形的几何形状。在这些情形中,可以以与三角预测模式类似的方式形成每个PU的预测,这里描述的方法同样适用。
图14是说明根据本公开的一些实施方式的用于视频编解码的装置的框图。装置1400可以是终端,例如手机、平板电脑、数字广播终端、平板设备或者个人数字助理或其中的芯片组。
如图14所示,装置1400可以包括以下部件中的一个或多个:处理部件1402、存储器1404、电源部件1406、多媒体部件1408、音频部件1410、输入/输出(I/O)接口1412、传感器部件1414和通信部件1416。
处理部件1402通常控制装置1400的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关的操作。处理部件1402可以包括一个或多个处理器1420,用于执行指令以完成上述方法的全部或部分步骤。此外,处理部件1402可以包括一个或多个模块以促进处理部件1402和其它部件之间的交互。例如,处理部件1402可以包括多媒体模块用于促进多媒体部件1408和处理部件1402之间的交互。
存储器1404被配置为存储不同类型的数据以支持装置1400的操作。此类数据的示例包括用于在装置1400上运行的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1404可以由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1404可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
电源部件1406为装置1400的不同部件供应电力。电源部件1406可以包括供电管理系统、一个或多个电源以及与为装置1400生成、管理和分配电力相关联的其它部件。
多媒体部件1408包括屏幕,屏幕提供装置1400和用户之间的输出接口。在一些示例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可以被实现为从用户接收输入信号的触摸屏。触摸面板可以包括用于感测触摸面板上的触摸、滑动和手势的一个或多个触摸传感器。触摸传感器不仅可以感测触摸或滑动动作的边界,还可以检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体部件1408可以包括前置相机和/或后置相机。当装置1400处于运行模式(诸如拍摄模式或视频模式)时,前置相机和/或后置相机可以接收外部多媒体数据。
音频部件1410被配置为输出和/或输入音频信号。例如,音频部件1410包括麦克风(MIC)。当装置1400处于操作模式(诸如呼叫模式、记录模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收到的音频信号可以进一步存储在存储器1404中或经由通信部件1416发送。在一些示例中,音频部件1410还包括用于输出音频信号的扬声器。
I/O接口1412提供处理部件1402和外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可以包括但不限于主页按钮、音量按钮、开启按钮和锁定按钮。
传感器部件1414包括一个或多个传感器,用于在不同方面为装置1400提供状态评估。例如,传感器部件1414可以检测装置1400的开/关状态和部件的相对位置。例如,部件是装置1400的显示器和键盘。传感器部件1414还可以检测装置1400或装置1400的部件的位置变化、用户在装置1400上的接触的存在或不存在、装置1400的取向或加速/减速、以及装置1400的温度变化。传感器部件1414可以包括接近传感器,接近传感器被配置为在没有任何物理接触的情况下检测附近物体的存在。传感器部件1414还可以包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器部件1414还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信部件1416被配置为促进装置1400和其它设备之间的有线或无线通信。装置1400可以基于诸如WiFi、4G或其组合之类的通信标准访问无线网络。在示例中,通信部件1416经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在示例中,通信部件1416还可包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可以基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其它技术来实现。
在示例中,装置1400可以由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子元件中的一个或多个来实现以执行上述方法。
非暂时性计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、光盘只读存储器(CD-ROM)、磁带、软盘等。
作为对本公开的概述,图15是示出了根据本公开的一些实施方式的使用几何预测单元进行用于运动补偿预测的视频编解码的示例性过程的流程图。在此过程中,视频编解码器(如,视频编码器100或视频解码器200)负责在视频编解码期间为编码单元(CU)内的块填充运动向量。出于说明的目的,从视频解码器200的角度提供以下描述。
视频解码器200首先将CU划分(1510)为包括第一预测单元PU和第二PU的两个PU。如图9所示,CU 902或904在三角预测模式下被划分为两个三角预测单元(分区0和分区1)。然后,视频解码器200分别获得(1520)针对第一PU的第一单向预测运动向量MV0和针对第二PU的第二单向预测运动向量MV1。接下来,视频解码器200基于如上文“三角预测模式下的块运动向量填充”一节中所描述的MV0和MV1的特征形成(1530)运动向量MV01。最后,视频解码器200用从由MV0、MV1和MV01组成的组中选择的运动矢量填充(1540)CU内的相应块。
在一些实施方式中,视频解码器200用MV0、MV1和MV01中的相同的一个运动矢量填充(1540-1)该CU内的每个块。换言之,该CU内的不同块都具有相同的运动向量。
在一些实施方式中,视频解码器200用MV01填充(1540-3)该CU内位于该第一PU与该第二PU之间的边界线的相应的端部的每个块(例如,见图12A和12B)。接下来,视频解码器200用MV0和MV1中相同的一个运动矢量填充(1540-5)该CU内的剩余块。
在一些实施方式中,视频解码器200分别用MV0填充(1540-7)该第一PU内的角块,用MV1填充(1540-7)该第二PU内的角块(例如,见图12C和12D)。接下来,视频解码器200用MV01填充(1540-9)该CU内的剩余块。
在一些实施方式中,视频解码器200分别用MV0完全填充(1540-11)该第一PU内的块,并且用MV1完全填充(1540-11)该第二PU内的块(例如,见图11)。接下来,视频解码器200用MV01填充(1540-13)该CU内位于该第一PU与该第二PU之间的边界线的相应端部的每个块,然后用MV0和MV1中相同的一个运动矢量填充(1540-15)位于第一PU与第二PU之间的边界线上的剩余块。
在一些实施方式中,视频解码器200将该CU划分(1540-17)为四个四分之一区域,其中这四个四分之一区域包括完全在第一PU内的第一四分之一区域、完全在第二PU内的第二四分之一区域以及由该第一PU和该第二PU共享的两个四分之一区域(例如,见图13A和13B)。接下来,视频解码器200分别用MV0填充(1540-19)该第一四分之一区域内的块,用MV1填充该第二四分之一区域内的块,然后用MV01填充(1540-21)两个共享的四分之一区域内的块。
在一些实施方式中,在填充该CU内块的运动矢量之前,视频解码器200将该CU的尺寸与预定义的阈值进行比较。如果该CU的尺寸小于该预定义阈值,则视频解码器200用MV01填充该CU内所有的块。否则,视频解码器200根据如上所述的不同方案填充该CU内的块。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输并由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质,或者包括便于将计算机程序从一个地方转移到另一个地方的任何介质的通信介质,例如,根据通信协议。在这种方式中,计算机可读介质通常可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本申请中描述的实施方式的任何可用介质。计算机程序产品可包括计算机可读介质。
在此处的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并不旨在限制权利要求的范围。在实施方式和所附权利要求的描述中使用的单数形式“一个”和“该/所述”也旨在包括复数形式,除非上下文另有明确指示。还应理解,本文所用的术语“和/或”是指并且涵盖一个或多个相关联的所列项目的任何和所有可能的组合。将会进一步理解,当在本说明书中使用时,术语“包括”指定所陈述的特征、要素和/或组件的存在,但不排除其它一个或多个特征、要素、组件和/或它们的组的存在或添加。
还应理解,虽然术语第一、第二等在本文中可用于描述各种要素,但这些要素不应受限于这些术语。这些术语仅用于区分一种要素与另一种要素。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极都是电极,但不是同一个电极。
本申请的描述是为了说明和描述的目的而呈现的,并不旨在穷举或限制以所公开形式的本公开。受益于前述描述和相关附图中呈现的教导,本领域普通技术人员将明白许多修改、变化和替代实施方式。
选择和描述实施例是为了最好地解释本公开的原理、实际应用,并使本领域的其他技术人员能够理解本公开的各种实现方式,并最好地利用具有各种修改的基本原理和各种实现方式,如适用于预期的特定用途。因此,应当理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在本公开的范围内。

Claims (12)

1.一种用于在视频编解码期间为编码单元(CU)内的块填充运动矢量的方法,包括:
将所述CU划分为包括第一预测单元PU和第二PU的两个(PU);
分别获得针对所述第一PU的第一单向预测运动矢量MV0和针对所述第二PU的第二单向预测运动矢量MV1
基于MV0和MV1的特征形成运动矢量MV01;以及
使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块。
2.根据权利要求1所述的方法,其中所述CU在三角预测模式下被划分为两个PU。
3.根据权利要求1所述的方法,其中使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块还包括:
使用MV0、MV1和MV01中相同的一个运动矢量填充所述CU中的每个块。
4.根据权利要求1所述的方法,其中使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块还包括:
使用MV01填充所述CU内位于所述第一PU与所述第二PU之间的边界线的相应端部的每个块;以及
使用MV0和MV1中的相同的一个运动矢量填充所述CU中的剩余块。
5.根据权利要求1所述的方法,其中使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块还包括:
分别用MV0填充所述第一PU内的角块,用MV1填充所述第二PU内的角块;以及
用MV01填充所述CU内的剩余块。
6.根据权利要求1所述的方法,其中使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块还包括:
分别用MV0完全填充所述第一PU内的块,用MV1完全填充所述第二PU内的块;
使用MV01填充所述CU内位于所述第一PU与所述第二PU之间的边界线的相应端部的每个块;以及
使用MV0和MV1中相同的一个运动矢量填充位于所述第一PU与所述第二PU之间的边界线上的剩余块。
7.根据权利要求1所述的方法,其中使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块还包括:
将所述CU划分为四个四分之一区域,其中所述四个四分之一区域包括完全在所述第一PU内的第一四分之一区域、完全在所述第二PU内的第二四分之一区域以及由所述第一PU和所述第二PU共享的两个四分之一区域;
分别用MV0填充所述第一四分之一区域内的块,用MV1填充所述第二四分之一区域内的块;以及
用MV01填充所述两个共享的四分之一区域内的块。
8.根据权利要求1所述的方法,其中使用从由MV0、MV1和MV01组成的组中选择的运动矢量填充所述CU中相应的块还包括:
将所述CU的尺寸与预定义的阈值进行比较;
根据确定所述CU的尺寸小于所述预定义阈值,用MV01填充所述CU内所有的块;以及
根据确定所述CU的尺寸不小于所述预定义阈值,根据如权利要求3-7中所述的方案填充所述CU内的块。
9.根据权利要求8所述的方法,其中所述CU的尺寸是从由所述CU的宽度、所述CU的高度、所述CU的像素的数量组成的组中选择的一个。
10.根据权利要求1所述的方法,其中MV01是单向预测运动矢量或双向预测运动矢量。
11.一种电子设备,包括:
一个或多个处理单元;
耦合到所述一个或多个处理单元的存储器;以及
存储在所述存储器中的多个程序,当由所述一个或多个处理单元执行时,所述多个程序使得所述电子设备执行权利要求1-10所述的方法。
12.一种非暂时性计算机可读存储介质,其存储由具有一个或多个处理单元的电子设备执行的多个程序,其中所述多个程序在由所述一个或多个处理单元执行时使得所述电子设备执行权利要求1-10所述的方法。
CN202080048415.XA 2019-07-02 2020-06-30 利用三角分区进行视频编解码的方法和装置 Pending CN114080807A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962870035P 2019-07-02 2019-07-02
US62/870,035 2019-07-02
PCT/US2020/040239 WO2021003126A1 (en) 2019-07-02 2020-06-30 Methods and apparatuses for video coding using triangle partition

Publications (1)

Publication Number Publication Date
CN114080807A true CN114080807A (zh) 2022-02-22

Family

ID=74101250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080048415.XA Pending CN114080807A (zh) 2019-07-02 2020-06-30 利用三角分区进行视频编解码的方法和装置

Country Status (2)

Country Link
CN (1) CN114080807A (zh)
WO (1) WO2021003126A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018128466A1 (ko) * 2017-01-09 2018-07-12 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN116527933A (zh) * 2017-08-22 2023-08-01 松下电器(美国)知识产权公司 图像编码器及图像解码器
CN118214854A (zh) * 2017-10-26 2024-06-18 英迪股份有限公司 用于基于非对称子块的图像编码/解码的方法及装置

Also Published As

Publication number Publication date
WO2021003126A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
CN116506609B (zh) 用于在视频编码中用信号发送合并模式的方法和装置
CN113824959B (zh) 用于视频编码的方法、装置和存储介质
CN116156164B (zh) 用于对视频进行解码的方法、设备和可读存储介质
CN113545050A (zh) 利用三角形预测的视频编解码
US20240314352A1 (en) Methods and apparatus of video coding for triangle prediction
US20240323354A1 (en) Methods and apparatuses for video coding with triangle prediction
US20220239902A1 (en) Methods and apparatuses for video coding using triangle partition
CN114009019A (zh) 用于在视频编解码中用信令传递合并模式的方法和装置
CN114982230B (zh) 用于使用三角形分区的视频编解码的方法和装置
CN114080807A (zh) 利用三角分区进行视频编解码的方法和装置
CN113994672B (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