CN114982230A - 用于使用三角形分区的视频编解码的方法和装置 - Google Patents
用于使用三角形分区的视频编解码的方法和装置 Download PDFInfo
- Publication number
- CN114982230A CN114982230A CN202080089982.XA CN202080089982A CN114982230A CN 114982230 A CN114982230 A CN 114982230A CN 202080089982 A CN202080089982 A CN 202080089982A CN 114982230 A CN114982230 A CN 114982230A
- Authority
- CN
- China
- Prior art keywords
- list
- uni
- candidate
- merge
- prediction
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000005192 partition Methods 0.000 title description 63
- 238000000638 solvent extraction Methods 0.000 claims abstract description 53
- 239000013598 vector Substances 0.000 claims description 361
- 238000013138 pruning Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 24
- 238000010276 construction Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 34
- 230000002123 temporal effect Effects 0.000 description 28
- 241000023320 Luma <angiosperm> Species 0.000 description 23
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 23
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000011664 signaling Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 101150114515 CTBS gene Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion 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;构建包括多个候选的第一合并列表,每个候选是包括列表0MV和/或列表1MV的MV;分别根据第一索引和第二索引定位第一PU的第一候选和第二PU的第二候选;通过根据第一二进制参考列表指示标志选择第一候选的列表X1MV来获得用于第一PU的第一单向预测MV;以及通过根据第二二进制参考列表指示标志选择第二候选的列表X2MV来获得用于第二PU的第二单向预测MV。
Description
本申请要求于2019年12月31日提交的美国临时申请No.62/956,112的优先权,其全部内容通过引用并入本文以用于所有目的。
技术领域
本申请总体涉及视频编解码和压缩,并且具体地但不限于在视频编解码中用于使用三角形预测单元(即,几何分区预测单元的特殊情况)的运动补偿预测的方法和装置。
背景技术
各种电子设备(诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流传输设备等)支持数字视频。电子设备通过实施视频压缩/解压缩来发送、接收、编码、解码和/或存储数字视频数据。数字视频设备实施视频编解码技术,例如由通用视频编码(VVC)、联合探索测试模型(JEM)、MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-的第10部分、高级视频编码(AVC)、ITU-TH.265/高效视频编码(HEVC)定义的标准和此类标准的扩展中所描述的那些技术。
视频编解码通常使用利用了视频图像或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测)。视频编解码技术的重要目标在于将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。随着不断发展的视频服务变得可用,需要具有更好编码效率的编解码技术。每个标准中的块分割方案也在发展。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或移除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分割为一个或更多个条带,每个条带具有多个视频块,视频块也可被称为编码树单元(CTU)。每个CTU可包含一个编码单元(CU)或者递归地被划分成更小的CU直到达到预定义最小CU尺寸为止。每个CU(也称为叶CU)包含一个或更多个变换单元(TU)并且每个CU还包含一个或更多个预测单元(PU)。可以以帧内模式、帧间模式或IBC模式对每个CU进行编码。视频帧的帧内编码(I)条带中的视频块使用关于同一视频帧内的相邻块中的参考样本的空间预测来进行编码。视频帧的帧间编码(P或B)条带中的视频块可使用关于同一视频帧内的相邻块中的参考样本的空间预测或关于其它先前参考视频帧和/或未来参考视频帧中的参考样本的时间预测。
基于先前编码的参考块(例如,相邻块)的空间或时间预测得出用于待编码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法来完成。表示待编码的当前块与预测块之间的像素差的残差数据被称作残差块或预测误差。根据残差块和指向参考帧中的形成预测块的参考块的运动矢量来对帧间编码块进行编码。确定运动矢量的过程通常被称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而得出残差变换系数,残差变换系数然后可被量化。最初布置成二维阵列的量化的变换系数可被扫描以产生变换系数的一维向量,然后被熵编码为视频比特流以实现甚至更大的压缩。
然后,编码视频比特流被保存在计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问或者被有线或无线地直接发送到电子设备。然后,电子设备执行视频解压缩(其为与上述视频压缩相反的过程),例如,通过对编码视频比特流进行解析来从比特流获得语法元素,并且至少部分地基于从比特流获得的语法元素从编码视频比特流将数字视频数据重建为其原始格式,并且电子设备在电子设备的显示器上呈现重建的数字视频数据。
随着数字视频质量从高清变为4K×2K或甚至8K×4K,待编码/解码的视频数据量呈指数增长。在如何在保持解码视频数据的图像质量的同时能够更有效率地对视频数据进行编码/解码方面,是一个长久挑战。
在联合视频专家组(JVET)会议中,JVET定义了通用视频编码(VVC)的第一提案和VVC测试模型1(VTM1)编码方法。决定包括使用二元和三元划分编码块结构的具有嵌套多类型树的四叉树作为VVC的初始新编码特征。自此,在JVET会议期间已经研发了用于实现编码方法的参考软件VTM和提案的VVC解码过程。
发明内容
一般来说,本公开描述了在视频编解码中与使用几何形状预测单元的运动补偿预测相关的技术的示例。
根据本公开的第一方面,提供了一种使用几何分区的视频编解码的方法,包括:
根据本公开的第二方面,提供了一种使用几何分区的视频编解码的装置,包括:
根据本公开的第三方面,提供了一种使用几何分区的视频编解码的非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储计算机可执行指令,所述计算机可执行指令在由一个或更多个计算机处理器执行时使所述一个或更多个计算机处理器执行动作,包括:
附图说明
将通过参照附图中所示的具体示例来呈现本公开的示例的更具体的描述。鉴于这些附图仅描绘了一些示例,并且因此不被认为是对范围的限制,将通过使用附图利用附加的特征和细节来描述和解释示例。
图1是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图2是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图3是示出根据本公开的一些实施方式的四叉树加二叉树(QTBT)结构的示意图。
图4是示出根据本公开的一些实施方式的划分为CTU的图片的示例的示意图。
图5是示出根据本公开的一些实施方式的多类型树划分模式的示意图。
图6是示出根据本公开的一些实施方式的将CU划分为三角形预测单元的示意图。
图7是示出根据本公开的一些实施方式的相邻块的位置的示意图。
图8是示出根据本公开的一些实施方式的空间合并候选的位置的示意图。
图9是示出根据本公开的一些实施方式的时间合并候选的运动矢量缩放的示意图。
图10是示出根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
图11A至图11B是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测运动矢量(MV)选择的示例的示意图。
图12A至图12D是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测MV选择的示例的示意图。
图13是示出根据本公开的一些实施方式的用于三角形预测模式的灵活单向预测MV选择的示例的示意图。
图14是示出根据本公开的一些实施方式的将CU划分成几何分区的示例的示意图。
图15是示出根据本公开的一些实施方式的几何分区表示的示例的示意图。
图16A至图16B是示出根据本公开的一些实施方式的用于三角形预测/几何预测模式的单向预测MV选择的示例的示意图。
图17是示出根据本公开的一些实施方式的执行了MV修剪操作的用于三角形预测/几何预测的单向预测MV选择的示例的示意图。
图18是示出根据本公开的一些实施方式的在选择每个MV候选时执行了一次MV修剪操作的用于三角形预测/几何预测的单向预测MV选择的示例的示意图。
图19是示出根据本公开的一些实施方式的用于视频编解码的示例性装置的框图。
图20是示出根据本公开的一些实施方式的用于使用几何预测单元的运动补偿预测的视频编解码的示例性过程的流程图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出具体实施方式的示例。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员显而易见的是,可以使用各种替代方案。例如,对于本领域普通技术人员显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
贯穿本说明书对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”或类似语言的引用表示所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元件或特性也可应用于其他实施例。
在整个公开内容中,除非另有明确说明,术语“第一”、“第二”、“第三”等都被用作仅用于提及相关元件(例如,设备、组件、组合物、步骤等)的命名,而不指示任何空间或时间顺序。例如,“第一设备”和“第二设备”可以指两个单独形成的设备,或者同一设备的两个部分、组件或操作状态,并且可被任意命名。
如本文所使用的,取决于上下文,术语“如果”或“当......时”可被理解为表示“在......时”或“响应于......”。这些术语如果出现在权利要求中,则可不指示相关限制或特征是有条件的或可选的。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可包括存储可由一个或更多个处理器执行的代码或指令的存储器(共享、专用或组合)。模块可包括具有或不具有存储的代码或指令的一个或更多个电路。模块或电路可包括直接或间接连接的一个或更多个组件。这些组件可以或可不物理地被附接到彼此或彼此相邻定位。
单元或模块可纯粹通过软件、纯粹通过硬件或通过硬件和软件的组合来实现。在纯软件实现方式中,例如,单元或模块可包括直接或间接链接在一起的功能上相关的代码块或软件组件,以便执行特定功能。
图1展示了示出可与使用基于块的处理的许多视频编解码标准结合使用的示例性的基于块的混合视频编码器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的重建信号。在将重建CU放入图片缓冲器117的参考图片存储器中并用于对后面的视频块进行编解码之前,可对重建CU进一步应用环路滤波115,诸如去块滤波器、样本自适应偏移(SAO)和/或自适应环路滤波器(ALF)。为了形成输出视频比特流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、Part 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,并且CU有时由一个分量的CB组成,例如,在I条带的情况下,一个CU仅包含一个亮度CB或仅包含两个色度CB。
针对QTBT分割方案定义以下参数。
-CTU size:四叉树的根节点尺寸,与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 size)的尺寸。如果四叉树叶节点是128×128,则由于尺寸超过MaxBTSize(即,64×64),所以它将不通过二叉树被进一步划分。否则,四叉树叶节点可通过二叉树被进一步分割。因此,四叉树叶节点也是二叉树的根节点,并且其二叉树深度为0。当二叉树深度达到MaxBTDepth(即,4)时,不考虑进一步划分。当二叉树节点具有等于MinBTSize的宽度(即,4)时,不考虑进一步水平划分。类似地,当二叉树节点具有等于MinBTSize的高度时,不考虑进一步垂直划分。通过预测和变换处理进一步处理二叉树的叶节点,而不再进行任何进一步分割。在JEM中,最大CTU尺寸为256×256亮度样本。
在图3中示出了通过使用QTBT方案的块分割的示例以及对应的树表示。实线指示四叉树划分,并且虚线指示二叉树划分。如图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在对角线或反对角线方向上(即,如在CU 602中示出的从左上角到右下角的划分或如在CU 604中示出的从右上角到左下角的划分)被划分为两个三角形预测单元PU1和PU2。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具有小于所述阈值的尺寸,则不用信号发送三角形预测标志。第四,只要没有在包括仿射模式和ATMVP模式两者的子块合并模式中对CU进行编码时,可仅针对CU用信号发送三角形预测模式。在上面列出的四种情况下,当没有用信号发送三角形预测标志时,其在解码器侧被推断为0。
当用信号发送三角形预测标志时,使用具有特定上下文的上下文自适应二进制算术编码(CABAC)熵编码器用信号发送三角形预测标志。基于当前CU的上方块和左侧块的三角形预测标志值形成上下文。
为了对当前块(或当前CU)的三角形预测标志进行编解码(即,编码器或解码),得到来自上方块(或CU)和左侧块(或CU)两者的三角形预测标志,并且将它们的值求和。这导致对应于以下情况的三种可能的上下文:
1)左侧块和上方块两者都具有三角形预测标志0;
2)左侧块和上方块两者都具有三角形预测标志1;
3)其他。
三个上下文中的每个都保持单独的概率。一旦确定当前块的上下文值,就使用与所述上下文值对应的CABAC概率模型来对当前块的三角形预测标志进行编解码。
如果三角形预测标志为真,则用信号发送三角形分割方向标志以指示分割是从左上角朝向右下角还是从右上角朝向左下角。
在三角形预测模式被用于CU的情况下,用信号发送两个索引值以分别指示用于三角形预测的第一单向预测合并候选和第二单向预测合并候选的索引值。这两个索引值被用于分别针对第一分区和第二分区定位来自上述单向预测运动矢量候选列表的两个合并候选。对于三角形预测,需要两个索引值不同,使得两个三角形分区的两个预测值可彼此不同。因此,直接用信号发送第一索引值。为了用信号发送第二索引值,如果其小于第一索引值,则直接用信号发送其值。否则,在将第二索引值的值用信号发送给解码器之前,将其值减去1。在解码器侧,第一索引被解码并被直接使用。为了对第二索引值进行解码,首先通过CABAC引擎对表示为“idx”的值进行解码。如果idx小于第一索引值,则第二索引值将等于idx的值。否则,第二索引值将等于(idx+1)。
几何合并模式
在几何合并模式(即,GEO)下,可根据几何分区将CU分割为两个预测单元(即,几何PU)。图14示出根据本公开的一些实施方式的几何分区的一些示例。如图14中所示,CU可沿着不完全对角的线被分割为两个PU,且该两个PU可具有几何形状,例如三角形、楔形或梯形形状。几何合并模式可被认为是三角形预测模式的扩展,或者三角形预测模式的超集。
图15是示出根据本公开的一些实施方式的几何分区表示的示例的示意图。如图15所示,给定GEO分区,分区的用信号发送需要针对角度α以及相对于块的中心的表示为ρ的分离线位移的用信号发送。这里,α表示在0度与360度之间的量化角度。
类似于三角形预测模式,在GEO分割下,对于两个GEO分区中的每个GEO分区仅允许单向预测,使得在解码器侧在该模式下存储器带宽要求不超过双向预测块的存储器带宽要求。GEO分割的运动矢量预测与三角形预测模式一致。同样类似于三角形预测模式,可在几何合并模式中对两个分区之间的内边界应用基于加权平均的混合操作。因此,与使用三角形预测单元的运动补偿预测相关的技术也可被应用于使用几何形状预测单元的运动补偿预测。
常规合并模式运动矢量候选列表
根据当前VVC,在整个CU被预测而不被划分为多于一个PU的常规合并模式下,使用与用于三角形预测模式的过程不同的过程来构建运动矢量候选列表或合并候选列表。
图8是示出根据本公开的一些实施方式的空间合并候选的位置的示意图,如图8所示,首先,基于来自相邻块的运动矢量来选择空间运动矢量候选。在得到当前块802的空间合并候选中,在位于如图8中所描绘的位置中的候选中选择最多四个合并候选。根据特定顺序来选择候选。一个示例得到的顺序是A1→B1→B0→A0→(B2)。仅当位置A1、B1、B0、A0的任何PU不可用或被帧内编解码时才考虑位置B2。应注意,还可使用其他不同的顺序。
接下来,得到时间合并候选。在得到时间合并候选中,基于属于给定参考图片列表内的与当前图片具有最小图片顺序计数(POC)差的图片的同位PU来得到经缩放的运动矢量。在条带头中显式地标示将被用于得到同位PU的参考图片列表。图9示出了根据本公开的一些实施方式的时间合并候选的运动矢量缩放,如图9中的虚线所示,获得时间合并候选的经缩放的运动矢量。使用POC距离tb和td从同位PU col_PU的运动矢量对时间合并候选的经缩放的运动矢量进行缩放,其中tb被定义为当前图片curr_pic的参考图片curr_ref与当前图片curr_pic之间的POC差,并且td被定义为同位图片col_pic的参考图片col_ref与同位图片col_pic之间的POC差。时间合并候选的参考图片索引被设置为等于零。在HEVC草案规范中描述了缩放过程的实际实现。对于B条带,获得并组合两个运动矢量(针对参考图片列表0的一个以及针对参考图片列表1的另一个)以形成双向预测合并候选。
图10是示出根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
如图10中所描绘的,在两个候选位置C3和H之间选择同位PU的位置。如果位置H处的PU不可用,或被帧内编解码,或在当前CTU外部,则位置C3用于得到时间合并候选。否则,位置H用于得到时间合并候选。
在将空间和时间运动矢量两者插入到如上文所描述的合并候选列表中之后,添加基于历史的合并候选。所谓的基于历史的合并候选包括来自先前编解码的CU的那些运动矢量,这些运动矢量被维护在单独的运动矢量列表中,并且基于特定规则进行管理。
在插入基于历史的候选之后,如果合并候选列表未满,则将成对平均运动矢量候选进一步添加到列表中。如其名称所示,通过对已经在当前列表中的候选进行平均来构建这种类型的候选。更具体地,基于特定顺序或规则,每次采用合并候选列表中的两个候选,并且将该两个候选的平均运动矢量附加到当前列表。
在插入成对平均运动矢量之后,如果合并候选列表仍未满,则将添加零运动矢量以填满列表。
使用常规合并列表构建过程来构建用于三角形预测的第一合并列表
当前VVC中的三角形预测模式在其形成预测值的整个过程中与常规合并预测模式共享一些相似性。例如,在两种预测模式下,需要至少基于当前CU的相邻空间运动矢量和同位运动矢量来构建合并列表。同时,三角形预测模式还具有与常规合并预测模式不同的一些方面。
例如,尽管在三角形预测模式和常规合并预测模式下需要构建合并列表,但是构建这样的列表的详细过程不同。
这些差异导致编解码器实现的额外成本,这是因为需要额外的逻辑。构建合并列表的过程和逻辑可在三角形预测模式和常规合并预测模式之间被统一和共享。
在一些示例中,在形成用于三角形预测模式的单向预测(也称为单预测)合并列表时,在将新运动矢量添加到合并列表中之前,针对已经在列表中的那些运动矢量完全地修剪新运动矢量。换句话说,将新运动矢量与已经在单向预测合并列表中的每个运动矢量进行比较,并且仅当新运动矢量与合并列表中的每个运动矢量不同时才将新运动矢量添加到列表中。否则,不将新运动矢量添加到列表中。
根据本公开的一些示例,在三角形预测模式下,从常规合并模式运动矢量候选列表(可被称为常规合并列表)构建单向预测合并列表。
更具体地,为了构建用于三角形预测模式的合并候选列表,首先基于用于常规合并预测的合并列表构建过程来构建第一合并列表。第一合并列表包括多个候选,每个候选是运动矢量。然后,使用第一合并列表中的运动矢量进一步构建用于三角形预测模式的单向预测合并列表。
应注意,在这种情况下构建的第一合并列表可选择与一般合并模式或常规合并模式的列表大小不同的列表大小。在本公开的一个示例中,第一合并列表具有与一般合并模式的列表相同的大小。在本公开的另一示例中,所构建的第一合并列表具有与一般合并模式的列表大小不同的列表大小。
从第一合并列表构建单向预测合并列表
根据本公开的一些示例,可基于以下方法之一从第一合并列表构建用于三角形预测模式的单向预测合并列表。
在本公开的示例中,为了构建单向预测合并列表,首先检查第一合并列表中的候选的预测列表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中的每个POC后,根据第一合并列表中的候选的列表0运动矢量的相同顺序来排列参考索引。否则,如果当前图片使用后向预测,则第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量被用作单向预测合并候选,并基于交错方式被设置索引,即,先是第一合并列表中的第一候选的列表0运动矢量,接着是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,接着是第二候选的列表1运动矢量,等等。也就是说,在确定当前图片的POC小于参考图片的POC中的至少一个后,在第一合并列表中的每个候选是双向预测运动矢量的情况下,根据第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量的交错方式来排列参考索引。在第一合并列表中的候选是单向运动矢量的情况下,将零运动矢量设置索引为在该候选的运动矢量之后的单向预测合并候选。这确保对于当前图片使用后向预测的情况,第一合并列表中的每个候选(不管其是双向预测运动矢量还是单向预测运动矢量)提供两个单向运动矢量作为单向预测合并候选。
在本公开的另一示例中,在当前图片不使用后向预测时,第一合并列表中的候选的预测列表0运动矢量被用作单向预测合并候选,并根据与它们在第一合并列表中相同的索引顺序被设置索引。否则,如果当前图片使用后向预测,则第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量被用作单向预测合并候选,并基于如上所述的交错方式被设置索引,即,先是第一合并列表中的第一候选的列表0运动矢量,接着是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,接着是第二候选的列表1运动矢量,等等。在第一合并列表中的候选是单向运动矢量的情况下,将运动矢量加上特定运动偏移设置索引为在该候选的运动矢量之后的单向预测合并候选。
在以上过程中,当检查将被添加到单向预测合并列表中的新运动矢量时,可完全地或部分地执行修剪。当部分地执行时,这表示将新运动矢量与已经在单向预测合并列表中的一些运动矢量而非全部运动矢量进行比较。在极端情况下,在过程中不执行运动矢量修剪(即,运动矢量比较操作)。
还可基于当前图片是否使用后向预测,在形成单向预测合并列表时自适应地执行运动矢量修剪。例如,本公开的对于与基于图片预测配置的索引列表构建相关的示例,在当前图片不使用后向预测时,完全地或部分地执行运动矢量修剪操作。在当前图片使用后向预测时,不执行运动矢量修剪操作。
选择用于三角形预测模式的单向预测合并候选
除了上述示例之外,还公开了单向预测合并列表构建或单向预测合并候选选择的其他方式。
在本公开的一个示例中,一旦构建了用于常规合并模式的第一合并列表,就可根据以下规则选择单向预测合并候选用于三角形预测:
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角形预测;
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为偶数,则其列表0运动矢量在可用的情况下用于三角形预测,并且在此运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角形预测;以及
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为奇数,则其列表1运动矢量在可用的情况下用于三角形预测,并且在此运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角形预测。
图11A示出用于三角形预测模式的单向预测运动矢量(MV)选择(或单向预测合并候选选择)的示例。在示例中,在第一合并列表中得到的前N(例如,N等于5)个合并MV候选被从0到(N-1)设置索引;并且每一行具有两列,分别表示第一合并列表中的候选的列表0运动矢量和列表1运动矢量。列表中的每个候选可被单向预测或双向预测。对于单向预测候选,其仅具有列表0运动矢量或列表1运动矢量,而不是具有两者。对于双向预测候选,其具有列表0运动矢量和列表1运动矢量两者。在图11A中,对于每个合并索引,标记有“x”的运动矢量是在它们可用的情况下首先用于三角形预测的那些运动矢量。如果标记为“x”的运动矢量不可用,则与相同合并索引相应的未被标记的运动矢量将用于三角形预测。
上述概念可被扩展到其他示例。图11B示出用于三角形预测模式的单向预测运动矢量(MV)选择的另一示例。根据图11B,用于选择用于三角形预测的单向预测合并候选的规则如下:
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角形预测;
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为偶数,则其列表1运动矢量在可用的情况下用于三角形预测,并且在此运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角形预测;以及
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为奇数,则其列表0运动矢量在可用的情况下用于三角形预测,并且在这个运动矢量候选不具有列表0运动矢量的情况下,其列表1运动矢量用于三角形预测。
在一些示例中,其它不同顺序可被定义并且用于从第一合并列表中的那些运动矢量候选中选择用于三角形预测的单向预测合并候选。更具体地,对于第一合并列表中的给定运动矢量候选,当该运动矢量候选可用于三角形预测时首先使用其列表0运动矢量还是列表1运动矢量的决策不必如上所述取决于第一合并列表中的候选的索引值的奇偶性。例如,还可以使用以下规则:
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角形预测;
基于某个的预定义模式,对于第一合并列表中的若干运动矢量候选,其列表0运动矢量在可用的情况下用于三角形预测,并且在不存在列表0运动矢量的情况下,相应的列表1运动矢量用于三角形预测;以及
基于相同的预定义模式,对于第一合并列表中的其余运动矢量候选,其列表1运动矢量在可用的情况下用于三角形预测,并且在不存在列表1运动矢量的情况下,相应的列表0运动矢量用于三角形预测。
图12A至图12D示出在用于三角形预测模式的单向预测运动矢量(MV)选择中的预定义模式的一些示例。对于每个合并索引,标记有“x”的运动矢量是在它们可用的情况下首先用于三角形预测的那些运动矢量。如果标记为“x”的运动矢量不可用,则与相同合并索引相应的未被标记的运动矢量将用于三角形预测。
在图12A中,对于第一合并列表中的前三个运动矢量候选,首先检查它们的列表0运动矢量。仅当列表0运动矢量不可用时,相应的列表1运动矢量用于三角形预测。对于第一合并列表中的第四运动矢量候选和第五运动矢量候选,首先检查它们的列表1运动矢量。仅当列表1运动矢量不可用时,相应的列表0运动矢量用于三角形预测。图12B至图12D示出从第一合并列表中选择单向预测合并候选的三种其他模式。附图中所示的示例不是限制性的,并且存在另外的示例。例如,也可使用图12A至图12D中所示的那些模式的水平和/或垂直镜像版本。
由一些示例示出的概念可与由本公开中的一些其他示例示出的概念结合使用。根据本公开的一个示例,对于第一合并列表中的给定运动矢量候选,当其列表0运动矢量和列表1运动矢量可用于三角形和/或几何预测时首先使用其列表0运动矢量还是列表1运动矢量的决策可另外取决于当前图片和/或条带是否使用后向预测。图16A至图16B是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测MV选择的示例的示意图。如图16A中所示,如果当前图片和/或条带使用后向预测,则候选的列表0运动矢量与列表1运动矢量之间的选择顺序是基于第一合并列表中的候选的索引值的奇偶性。如果当前图片和/或条带不使用后向预测,则候选的列表x(其中x为0或1)运动矢量(如果其可用)是优选的并且被首先选择,并且其中x等于0的示例在图16B中示出。类似于先前所解释的其它示例,在单向预测运动矢量不可用于第一合并列表中的特定候选的情况下,选择来自其他参考列表的相同候选的对应单向预测运动矢量。因此,对于第一合并列表中的每个候选,可获得单向预测运动矢量且将其用于三角形和/或几何预测模式。获得的单向预测运动矢量与第一合并列表中的合并候选共享相同的索引值。
用于三角形预测模式的灵活合并列表构建和候选索引用信号发送
在本公开的一个示例中,一旦构建用于常规合并模式的第一合并列表,就直接从所述列表选择用于三角形预测的单向预测运动矢量。为了指示被用于三角形预测的特定列表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运动矢量。通过根据第一二进制参考列表指示标志L0L1_flag1选择第一候选的列表X1MV来获得用于第一分区的单向预测MV,其中X1取0或1的值。通过根据第二二进制参考列表指示标志L0L1_flag2选择第二候选的列表X2MV来获得用于第二分区的单向预测MV,其中X2取0或1的值。
图13是示出根据本公开的一些实施方式的用于三角形预测模式的灵活单向预测MV选择的示例的示意图。如图13所示,在三角形预测模式下,在矩形框中用符号“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)指示的运动矢量不存在时,可替代地使用单向预测零运动矢量。也就是说,在确定第一候选的列表X1 MV不存在时,选择单向预测零MV作为用于第一分区的单向预测MV;并且/或者在确定第二候选的列表X2 MV不存在时,选择单向预测零MV作为用于第二分区的单向预测MV。
在本公开的又一示例中,当由合并索引值和相关联L0L1_flag指示的运动矢量不存在时,可替代地使用由相同合并索引值指示但来自另一列表(即,列表(1-L0L1_flag))的对应运动矢量。也就是说,通过在确定第一候选的列表X1 MV不存在时选择第一候选的列表(1-X1)MV来获得用于第一分区的单向预测MV;和/或通过在确定第二候选的列表X2 MV不存在时选择第二候选的列表(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的值。基于本公开的此示例,可选地,连同针对CABAC二值化的相同Index2值调整,具有与index1不同的值的Index2的实现也可被应用于当前图片使用后向预测时的情况。
在本公开的又一示例中,对于三角形模式编码CU,不用信号发送L0L1_flag中的任一个。替代地,它们都被推断。在这种情况下,仍然需要用信号发送index1和index2语法,分别表示从用于第一分区和第二分区的第一合并列表中选择的两个候选的合并索引值。给定合并候选索引值,可定义或使用特定方法确定来自第一列表的对应合并候选的列表0运动矢量或列表1运动矢量是否被选择用于三角形模式预测。在一方法中,对于index1,图11A中所示的模式被用于确定从哪个预测列表选择合并候选的运动矢量以用于三角形模式预测;并且对于index2,图11B中所示的模式被用于确定从哪个预测列表选择合并候选的运动矢量以用于三角形模式预测。换句话说,如果index1为偶数值,则选择由index1指示的候选的列表0运动矢量,并且如果index1为奇数值,则选择由index1指示的候选的列表1运动矢量。对于index2,如果其为偶数值,则选择列表1运动矢量,并且如果其为奇数值,则选择列表0运动矢量。在不存在与特定预测列表对应的运动矢量的情况下,可替代地使用特定默认运动矢量,例如零运动矢量,或来自另一预测列表的对应运动矢量等。在确定从哪一预测列表选择合并候选的运动矢量用于三角形模式预测时,图11B中所示的模式被用于index1而图11A中所示的模式被用于index2也是可能的。也就是说,可基于index1和index2的值来确定L0L1_flag。
尽管使用三角形预测模式作为示例说明本公开中的方法,但假定几何合并模式可被认为是三角形预测模式的扩展或超集,那么本公开中所示的方法自然也可应用于几何合并模式。本公开中所示的所有合并列表构建方法可自然地被用于几何合并模式而无需任何修改。同样地,本公开中所示的所有合并索引的用信号发送方法可自然地被用于几何合并模式而无需任何修改。在一个示例中,根据图11A的相同合并列表构建过程被用于几何合并模式。在另一示例中,根据图11B的相同合并列表构建过程被用于几何合并模式。此外,值得一提的是,如果三角形预测模式和几何合并模式都存在于VVC中,则相同的合并列表构建过程可被共享并且被用于这两种模式。
应提及,尽管在本公开的一些示例中使用包含5个合并候选的第一合并列表,实际上还可不同地定义第一合并列表的大小,例如,6或4,或一些其它值。示例中所示出的方法可适用于当第一合并列表具有除5以外的大小时的情况。
在上述示例中,也可执行运动矢量修剪。可完全地或部分地完成这种修剪。当部分地执行时,这表示将新运动矢量与已经在单向预测合并列表中的一些运动矢量而非全部运动矢量进行比较。这还可表示在用作三角形预测的合并候选之前,仅需要检查一些而非全部新运动矢量进行修剪。一个特定示例是在将第二运动矢量用作三角形预测的合并候选之前,仅针对第一运动矢量检查第二运动矢量来进行修剪,而非检查所有其它运动矢量来进行修剪。在极端情况下,在该过程中不执行运动矢量修剪(即,运动矢量比较操作)。
进行部分运动矢量修剪的另一示例是控制在生成单向预测合并列表中执行的运动矢量修剪操作的总数为不超过N次,其中N是正整数。作为示例性实施方式,可在该过程期间使用计数器;每次执行运动矢量修剪操作时,不管修剪操作的结果如何,计数器都递增1;一旦计数器具有等于N的值,在将其余的单向预测运动矢量选择到单向预测合并列表中时不再执行运动矢量修剪操作。所示的情况为例错误!找不到引用源。例如,箭头指示顺序,其中,根据该顺序检查来自第一合并列表的单向预测运动矢量。对于第一合并列表中的每个候选,其预测列表0运动矢量和预测列表1运动矢量以交错顺序被检查加入到单向预测合并列表中。更具体地,对于第一合并列表中的每个候选,如果其为单向预测运动矢量,则将其直接添加到单向预测合并列表中。否则,对于第一合并列表中的双向预测运动矢量,首先检查其列表0运动矢量并将其添加到单向预测合并列表中,接着检查其列表1运动矢量。一旦第一合并列表中的所有运动矢量候选被检查而单向预测合并列表尚未满,就可添加单向预测零运动矢量。例如,对于每个参考帧索引,可将列表-0零向量和列表-1零向量分别添加到单向预测合并列表中,直到列表已满。在所述过程期间,每次检查运动矢量以添加到单向预测合并列表中时,执行运动矢量修剪操作以查看运动矢量是否与已在所述单向预测合并列表中选择的运动矢量中的任一个相同。如果修剪操作断定运动矢量不同于与其比较的那些运动矢量,则将该运动矢量添加到单向预测合并列表中。否则,不选择该运动矢量或将其添加到所述列表中。如果所执行的运动矢量修剪操作的总数达到N,则在将其余运动矢量选择到所述列表中时不再执行修剪操作。
进行部分运动矢量修剪的另一示例为仅在生成所述单向预测合并列表中的前M个候选期间执行运动矢量修剪操作,其中M为正整数。例如,M可取值2、3等。一旦有M个运动矢量被选择到所述单向预测合并列表中,则在将其余单向预测运动矢量选择到所述列表中时将不再执行运动矢量修剪操作。
在进行部分运动矢量修剪的又一示例中,仅在来自第一合并列表的前K个候选当中执行运动矢量修剪操作,其中K为正整数。在示出的示例中错误!找不到引用源,在按照由那些箭头指示的顺序检查前K个运动矢量时,将执行运动矢量修剪操作。从第(K+1)个候选开始,在将其余单向预测运动矢量选择到所述单向预测合并列表中时将不再执行运动矢量修剪操作。
进行部分运动矢量修剪的另一示例是允许执行固定数量的L次修剪操作以选择每个运动矢量,其中L是正整数。如果L的值为1,则表示在选择每个运动矢量时仅允许一次运动矢量修剪操作。基于该方法,提供了具体示例错误!找不到引用源,其中箭头指示顺序,根据该顺序检查来自第一合并列表的每个单向预测运动矢量位置。在此图中,每行具有两个块(或列),分别表示第一合并列表中的候选的列表0运动矢量和列表1运动矢量。列表中的每个候选可为单向预测或双向预测的运动矢量。对于单向预测的候选,其仅具有列表0运动矢量或列表1运动矢量,但不具有两者。对于双向预测候选,其具有列表0运动矢量和列表1运动矢量两者。在错误!找不到引用源,对每个合并索引,标记有“x”的运动矢量(如果它们可用)是首先将被检查的那些用于三角形预测/几何预测的运动矢量。对于标记为“x”的有索引为0的第一运动矢量,如果其可用,其被用于三角形预测/几何预测。否则,与相同合并索引对应的未标记的运动矢量将被用于三角形预测/几何预测模式。从第二运动矢量(有索引值为1或更大)开始,如果标记有“x”的运动矢量可用并且其不同于标记有“x”的其紧接的前一运动矢量,或者如果与相同合并索引对应的未标记的运动矢量不可用,则标记有“x”的运动矢量被用于三角形预测/几何预测模式。否则,与相同合并索引对应的未标记的运动矢量将被用于三角形预测/几何预测。在这种情况下,除了第一候选之外,在选择每个运动矢量候选时仅执行一次运动矢量修剪操作。更重要的是,在三角形预测/几何预测模式下,这种设计在给定合并索引情况下在从第一合并列表定位对应的单向预测运动矢量时具有非常低的解码器复杂度。在解码器侧,如果解码的合并索引值为0,则选择第一合并列表中标记有“x”的第一运动矢量(如果其可用)。否则,选择与相同合并索引对应的未标记的运动矢量。如果解码的合并索引具有大于0的值,则检查具有相同合并索引的标记有“x”的运动矢量。如果其可用并且不同于在所述第一合并列表中标记有“x”的其紧接的前一运动矢量,或如果第一合并列表中的与相同合并索引对应的未标记的运动矢量不可用(即,在第一合并列表中具有相同合并索引的原始候选不是双向预测运动矢量),则选择标记有“x”的运动矢量。否则,选择第一合并列表中的与相同合并索引对应的未标记的单向运动矢量。
图19是示出根据本公开的一些实施方式的用于视频编解码的装置的框图。装置1900可以是终端,诸如移动电话、平板计算机、数字广播终端、平板设备或个人数字助理。
如图19所示,装置1900可包括以下组件中的一个或更多个:处理组件1902、存储器1904、电源组件1906、多媒体组件1908、音频组件1910、输入/输出(I/O)接口1912、传感器组件1914和通信组件1916。
处理组件1902通常控制装置1900的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作有关的操作。处理组件1902可包括用于执行指令以完成上述方法的全部或部分步骤的一个或多个处理器1920。此外,处理组件1902可包括用于促进处理组件1902与其他组件之间的交互的一个或多个模块。例如,处理组件1902可包括用于促进多媒体组件1908与处理组件1902之间的交互的多媒体模块。
存储器1904被配置为存储不同类型的数据以支持装置1900的操作。此类数据的示例包括用于在装置1900上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1904可由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1904可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
电源组件1906为装置1900的不同组件供电。电源组件1906可包括电源管理系统、一个或更多个电源以及与为装置1900生成、管理和分配电力相关联的其他组件。
多媒体组件1908包括在装置1900和用户之间提供输出接口的屏幕。在一些示例中,屏幕可包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可被实现为从用户接收输入信号的触摸屏。触摸面板可包括用于感测触摸面板上的触摸、滑动和手势的一个或更多个触摸传感器。触摸传感器不仅可感测触摸或滑动动作的边界,而且可检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1908可包括前置相机和/或后置相机。当装置1900处于诸如拍摄模式或视频模式的操作模式时,前置相机和/或后置相机可接收外部多媒体数据。
音频组件1910被配置为输出和/或输入音频信号。例如,音频组件1910包括麦克风(MIC)。当装置1900处于操作模式(诸如呼叫模式、录音模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收的音频信号可进一步被存储在存储器1904中或经由通信组件1916被发送。在一些示例中,音频组件1910还包括用于输出音频信号的扬声器。
I/O接口1912提供处理组件1902与外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1914包括用于在装置1900的不同方面中提供状态评估的一个或更多个传感器。例如,传感器组件1914可检测装置1900的开/关状态和组件的相对位置。例如,组件是装置1900的显示器和键盘。传感器组件1914还可检测装置1900或装置1900的组件的位置变化、用户在装置1900上接触的存在或离开、装置1900的方向或加速度/减速度、以及装置1900的温度变化。传感器组件1914可包括被配置为在没有任何物理触摸的情况下检测附近物体的存在的接近传感器。传感器部件1914还可包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件1914还可包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1916被配置为促进装置1900与其它设备之间的有线或无线通信。装置1900可基于诸如WiFi、4G或其组合的通信标准来接入无线网络。在示例中,通信组件1916经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在示例中,通信组件1916还可包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
在示例中,装置1900可由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件中的一个或更多个来实现,以执行上述方法。
非易失性计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、光盘只读存储器(CD-ROM)、磁带、软盘等。
图20是示出根据本公开的一些实施方式的用于使用几何预测单元的运动补偿预测的视频编解码的示例性过程的流程图。
在步骤2002,处理器1920将视频图片分割为多个编码单元(CU),其中多个CU中的至少一个CU进一步被分割为两个预测单元(PU)。两个PU可包括至少一个几何形状PU。例如,几何形状PU可包括一对三角形形状PU、一对楔形形状PU或其它几何形状PU。
在步骤2004,处理器1920构建包括多个候选的第一合并列表,其中每个候选为包括列表0运动矢量和/或列表1运动矢量的运动矢量。例如,处理器1920可基于用于常规合并预测的合并列表构建过程来构建第一合并列表。处理器1920也可从其他电子设备或存储器获得第一合并列表。
在步骤2006中,处理器1920通过选择多个候选的列表0MV或者列表1MV获得用于PU的单向预测MV。
在步骤2008中,处理器1920基于单向预测MV构建单向预测合并列表。
在步骤2010中,处理器1920在构建单向预测合并列表时对单向预测MV执行修剪操作。
在一些示例中,提供一种用于视频编解码的装置。该装置包括处理器1920;以及存储器1904,被配置为存储可由处理器执行的指令;其中处理器在执行指令时被配置为执行如图20所示的方法。
在一些其他示例中,提供了一种非易失性计算机可读存储介质1904,其具有存储在其中的指令。当指令由处理器1920执行时,指令使处理器执行如图20所示的方法。
本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
选择和描述示例是为了解释本公开的原理,并且使本领域的其它技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在被包括在本公开的范围内。
Claims (24)
1.一种使用几何分区的视频编解码的方法,包括:
将视频图片分割为多个编码单元CU,其中,所述多个CU中的至少一个CU进一步被分割为两个预测单元PU,所述两个PU包括至少一个几何形状PU;
基于用于常规合并预测的合并列表构建过程来构建包括多个候选的第一合并列表,其中,所述多个候选中的每个候选是运动矢量MV,所述MV包括列表0MV或列表1MV或列表0MV和列表1MV两者;
通过选择所述多个候选的列表0MV或列表1MV来获得用于所述PU的单向预测MV;
基于所述单向预测MV构建单向预测合并列表;以及
在构建所述单向预测合并列表时对所述单向预测MV执行修剪操作。
2.根据权利要求1所述的使用几何分区的视频编解码的方法,还包括:
执行总次数小于或等于N的所述修剪操作,其中N是正整数;
由计数器记录执行所述修剪操作的总次数,其中,每次对MV执行修剪操作时,不管所述修剪操作的结果如何,所述计数器递增1;以及
当所述计数器达到等于N的值时,停止对其余的单向预测MV的所述修剪操作。
3.根据权利要求1所述的使用几何分区的视频编解码的方法,还包括:
对于第一合并列表中的所述多个候选中的每个候选,检查并按交错顺序添加列表0MV和列表1MV到所述单向预测合并列表中;以及
对被检查并被添加到所述单向预测合并列表的每个列表0MV或列表1MV执行所述修剪操作。
4.根据权利要求1所述的使用几何分区的视频编解码的方法,还包括:
在获得所述单向预测合并列表中的前M个候选时执行所述修剪操作,其中,M是正整数;以及
当在所述单向预测合并列表中获得M个单向预测MV时,停止对其余单向预测MV的所述修剪操作。
5.根据权利要求1所述的使用几何分区的视频编解码的方法,还包括:
对来自第一合并列表的前K个候选执行所述修剪操作,其中,K是正整数;以及
当来自第一合并列表的K个候选被检查时,停止对获得其余的单向预测MV的所述修剪操作。
6.根据权利要求1所述的使用几何分区的视频编解码的方法,还包括:
对第一合并列表中的所述多个候选中的每个候选执行至多一次修剪操作,以从所述多个候选中的每个候选获得一个且仅一个单向预测MV。
7.根据权利要求6所述的使用几何分区的视频编码的方法,还包括:
对于第一合并列表中的第一候选,如果第一候选的列表0MV可用,则将第一候选的列表0MV选择到所述单向预测合并列表中;否则,将第一候选的列表1MV选择到所述单向预测合并列表中。
8.根据权利要求7所述的使用几何分区的视频编码的方法,还包括:
对于第一合并列表中从开始数的第二个候选,如果所述候选具有奇数合并索引编号,则在所述第一群组候选的列表1MV可用且不同于紧接的前一MV的情况下,或在所述候选的列表0MV不可用的情况下,将所述候选的列表1MV选择到所述单向预测合并列表中;否则,将所述候选的列表0MV选择到单向预测合并列表中;以及
如果所述候选具有偶数合并索引编号,则在所述候选的列表0MV可用且不同于紧接的前一MV的情况下,或在所述候选的列表1MV不可用的情况下,将所述候选的列表0MV选择到所述单向预测合并列表中;否则,将所述候选的列表1MV选择到单向预测合并列表中。
9.一种使用几何分区的视频编解码的装置,包括:
一个或更多个处理器;以及
存储器,被配置为存储可由所述一个或更多个处理器执行的指令;其中,所述一个或更多个处理器在执行所述指令时被配置为:
将视频图片分割为多个编码单元CU,其中,所述多个CU中的至少一个CU进一步被分割为两个预测单元PU,所述两个PU包括至少一个几何形状PU;
基于用于常规合并预测的合并列表构建过程来构建包括多个候选的第一合并列表,其中,所述多个候选中的每个候选是运动矢量MV,所述MV包括列表0MV或列表1MV或列表0MV和列表1MV两者;
通过选择所述多个候选的列表0MV或列表1MV获得用于所述PU的单向预测MV;
基于所述单向预测MV构建单向预测合并列表;以及
在构建所述单向预测合并列表时对所述单向预测MV执行修剪操作。
10.根据权利要求9所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
执行总次数小于或等于N的所述修剪操作,其中N是正整数;
由计数器记录执行所述修剪操作的总次数,其中,每次对MV执行修剪操作时,不管所述修剪操作的结果如何,所述计数器递增1;以及
当所述计数器达到等于N的值时,停止对其余的单向预测MV的所述修剪操作。
11.根据权利要求9所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
对于第一合并列表中的所述多个候选中的每个候选,检查并按交错顺序添加列表0MV和列表1MV到所述单向预测合并列表中;以及
对被检查并被添加到所述单向预测合并列表的每个列表0MV或列表1MV执行所述修剪操作。
12.根据权利要求9所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
在获得所述单向预测合并列表中的前M个候选时执行所述修剪操作,其中M是正整数;以及
当在所述单向预测合并列表中获得了M个单向预测MV时,停止对其余单向预测MV的所述修剪操作。
13.根据权利要求9所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
对来自第一合并列表的前K个候选执行所述修剪操作,其中,K是正整数;以及
当来自第一合并列表的K个候选被检查时,停止对获得其余的单向预测MV的所述修剪操作。
14.根据权利要求9所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
对第一合并列表中的所述多个候选中的每个候选执行至多一次修剪操作,以从所述多个候选中的每个候选获得一个且仅一个单向预测MV。
15.根据权利要求14所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
对于第一合并列表中的第一候选,如果第一候选的列表0MV可用,则将第一候选的列表0MV选择到所述单向预测合并列表中;否则,将第一候选的列表1MV选择到单向预测合并列表中。
16.根据权利要求15所述的使用几何分区的视频编解码的装置,其中所述一个或更多个处理器还被配置为:
对于第一合并列表中从开始数的第二个候选,如果所述候选具有奇数合并索引编号,则在所述第一群组候选的列表1MV可用且不同于紧接的前一MV的情况下,或在所述候选的列表0MV不可用的情况下,将所述候选的列表1MV选择到所述单向预测合并列表中;否则,将所述候选的列表0MV选择到单向预测合并列表中;以及
如果所述候选具有偶数合并索引编号,则在所述候选的列表0MV可用且不同于紧接的前一MV的情况下,或在所述候选的列表1MV不可用的情况下,将所述候选的列表0MV选择到所述单向预测合并列表中;否则,将所述候选的列表1MV选择到单向预测合并列表中。
17.一种使用几何分区的视频编解码的非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储计算机可执行指令,所述计算机可执行指令在由一个或更多个计算机处理器执行时使所述一个或更多个计算机处理器执行动作,所述动作包括:
将视频图片分割为多个编码单元CU,其中,所述多个CU中的至少一个CU进一步被分割为两个预测单元PU,所述两个PU包括至少一个几何形状PU;
基于用于常规合并预测的合并列表构建过程来构建包括多个候选的第一合并列表,其中,所述多个候选中的每个候选是运动矢量MV,所述MV包括列表0MV或列表1MV或列表0MV和列表1MV两者;
通过选择所述多个候选的列表0MV或列表1MV获得用于所述PU的单向预测MV;
基于所述单向预测MV构建单向预测合并列表;以及
在构建所述单向预测合并列表时对所述单向预测MV执行修剪操作。
18.根据权利要求17所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
执行总次数小于或等于N的所述修剪操作,其中N是正整数;
由计数器记录执行所述修剪操作的总次数,其中,每次对MV执行修剪操作时,不管所述修剪操作的结果如何,所述计数器递增1;以及
当所述计数器达到等于N的值时,停止对其余的单向预测MV的所述修剪操作。
19.根据权利要求17所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
对于第一合并列表中的所述多个候选中的每个候选,检查并按交错顺序添加列表0MV和列表1MV到所述单向预测合并列表中;以及
对被检查并被添加到所述单向预测合并列表的每个列表0MV或列表1MV执行所述修剪操作。
20.根据权利要求17所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
在获得所述单向预测合并列表中的前M个候选时执行所述修剪操作,其中,M是正整数;以及
当在所述单向预测合并列表中获得M个单向预测MV时,停止对其余单向预测MV的所述修剪操作。
21.根据权利要求17所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
对来自第一合并列表的前K个候选执行所述修剪操作,其中,K是正整数;以及
当来自第一合并列表的K个候选被检查时,停止对获得其余的单向预测MV的所述修剪操作。
22.根据权利要求17所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
对第一合并列表中的所述多个候选中的每个候选执行至多一次修剪操作,以从所述多个候选中的每个候选获得一个且仅一个单向预测MV。
23.根据权利要求22所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
对于第一合并列表中的第一候选,如果第一候选的列表0MV可用,则将第一候选的列表0MV选择到所述单向预测合并列表中;否则,将第一候选的列表1MV选择到所述单向预测合并列表中。
24.根据权利要求23所述的使用几何分区的视频编解码的非易失性计算机可读存储介质,其中,所述动作还包括:
对于第一合并列表中从开始数的第二个候选,如果所述候选具有奇数合并索引编号,则在所述第一群组候选的列表1MV可用且不同于紧接的前一MV的情况下,或在所述候选的列表0MV不可用的情况下,将所述候选的列表1MV选择到所述单向预测合并列表中;否则,将所述候选的列表0MV选择到所述单向预测合并列表中;以及
如果所述候选具有偶数合并索引编号,则在所述候选的列表0MV可用且不同于紧接的前一MV的情况下,或在所述候选的列表1MV不可用的情况下,将所述候选的列表0MV选择到所述单向预测合并列表中;否则,将所述候选的列表1MV选择到单向预测合并列表中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962956112P | 2019-12-31 | 2019-12-31 | |
US62/956,112 | 2019-12-31 | ||
PCT/US2020/067735 WO2021138605A1 (en) | 2019-12-31 | 2020-12-31 | Methods and apparatuses for video coding using triangle partition |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114982230A true CN114982230A (zh) | 2022-08-30 |
Family
ID=76686910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080089982.XA Pending CN114982230A (zh) | 2019-12-31 | 2020-12-31 | 用于使用三角形分区的视频编解码的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114982230A (zh) |
WO (1) | WO2021138605A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013042225A (ja) * | 2011-08-11 | 2013-02-28 | Jvc Kenwood Corp | 動画像復号装置、動画像復号方法及び動画像復号プログラム |
US20130177083A1 (en) * | 2012-01-05 | 2013-07-11 | Qualcomm Incorporated | Motion vector candidate index signaling in video coding |
US20140044180A1 (en) * | 2012-08-13 | 2014-02-13 | Qualcomm Incorporated | Device and method for coding video information using base layer motion vector candidate |
CN104160704A (zh) * | 2012-02-08 | 2014-11-19 | 高通股份有限公司 | B切片中的预测单元限于单向帧间预测 |
CN104584549A (zh) * | 2012-06-22 | 2015-04-29 | 诺基亚公司 | 用于视频编码的方法和装置 |
US20180242024A1 (en) * | 2017-02-21 | 2018-08-23 | Mediatek Inc. | Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013056656A1 (en) * | 2011-10-19 | 2013-04-25 | Mediatek Inc. | Method and apparatus for derivation of motion vector predictor candidate set |
US20130294513A1 (en) * | 2012-05-07 | 2013-11-07 | Qualcomm Incorporated | Inter layer merge list construction for video coding |
US9106922B2 (en) * | 2012-12-19 | 2015-08-11 | Vanguard Software Solutions, Inc. | Motion estimation engine for video encoding |
-
2020
- 2020-12-31 WO PCT/US2020/067735 patent/WO2021138605A1/en active Application Filing
- 2020-12-31 CN CN202080089982.XA patent/CN114982230A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013042225A (ja) * | 2011-08-11 | 2013-02-28 | Jvc Kenwood Corp | 動画像復号装置、動画像復号方法及び動画像復号プログラム |
US20130177083A1 (en) * | 2012-01-05 | 2013-07-11 | Qualcomm Incorporated | Motion vector candidate index signaling in video coding |
CN104160704A (zh) * | 2012-02-08 | 2014-11-19 | 高通股份有限公司 | B切片中的预测单元限于单向帧间预测 |
CN104584549A (zh) * | 2012-06-22 | 2015-04-29 | 诺基亚公司 | 用于视频编码的方法和装置 |
US20140044180A1 (en) * | 2012-08-13 | 2014-02-13 | Qualcomm Incorporated | Device and method for coding video information using base layer motion vector candidate |
US20180242024A1 (en) * | 2017-02-21 | 2018-08-23 | Mediatek Inc. | Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks |
CN108462873A (zh) * | 2017-02-21 | 2018-08-28 | 联发科技股份有限公司 | 用于四叉树加二叉树拆分块的候选集决定的方法与装置 |
Non-Patent Citations (2)
Title |
---|
A. ROBERT等: "CE4-related: CE4-4.5 pruning reduction in TPM using regular merge candidates", 《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,JVET-N0525 V1》, 27 March 2019 (2019-03-27), pages 1 - 2 * |
XIANGLIN WANG等: "CE4-related: An improved method for triangle merge list construction", 《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,JVET-N0340_R1》, 27 March 2019 (2019-03-27), pages 1 - 5 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021138605A1 (en) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113824959B (zh) | 用于视频编码的方法、装置和存储介质 | |
CN113545050B (zh) | 利用三角形预测的视频编解码方法及装置 | |
US20230089782A1 (en) | Methods and apparatuses for video coding using geometric partition | |
US20220239902A1 (en) | Methods and apparatuses for video coding using triangle partition | |
US20220070445A1 (en) | Methods and apparatuses for video coding with triangle prediction | |
US20220014780A1 (en) | Methods and apparatus of video coding for triangle prediction | |
CN113994672B (zh) | 用于利用三角形预测进行视频编解码的方法和装置 | |
CN116800960B (zh) | 用于视频解码的方法、装置和存储介质 | |
CN114982230A (zh) | 用于使用三角形分区的视频编解码的方法和装置 | |
CN113841406A (zh) | 使用三角形分割用于视频编解码的方法和装置 | |
CN114080807A (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 |