掌桥专利:专业的专利平台
掌桥专利
首页

基于帧间预测模式的图像处理方法及其装置

文献发布时间:2023-06-19 09:29:07


基于帧间预测模式的图像处理方法及其装置

技术领域

本公开涉及一种静止图像或视频处理方法,更具体地,涉及一种基于帧间预测模式(inter prediction mode)对静止图像或视频进行编码/解码的方法和支持该方法的装置。

背景技术

压缩编码是指一系列用于通过通信线路传输数字化信息的信号处理技术,或用于以适合于存储介质的形式存储信息的技术。包括画面(picture)、图像、音频等的介质(medium)可以是压缩编码的目标,并且特别地,用于对画面执行压缩编码的技术被称为视频图像压缩。

下一代视频内容被认为将具有高空间分辨率、高帧率和场景表示的高维度的特性。为了处理这种内容,将导致存储器存储空间、存储器访问速率和处理能力的急剧提升。

因此,需要设计一种编码工具以用于高效地处理下一代视频内容。

发明内容

技术问题

本公开的目标是提出一种从一个参考画面导出时间运动矢量的方法。

此外,本公开的一个目标是提出一种通过以信号通知的语法来选择用于导出时间运动矢量的一个参考画面的方法。

此外,本公开的一个目标是提出一种基于画面次序计数来选择用于导出时间运动矢量的一个参考画面的方法。

此外,本公开的一个目标是提出一种选择用于导出高级时间运动矢量预测(ATMVP)的空间候选项的方法。

此外,本公开的一个目标是提出一种基于从一个参考画面的反向映射导出时间运动矢量的方法。

本公开要实现的技术目标不限于上述技术目标,并且本公开所属领域的普通技术人员可以从以下描述中清楚地理解上面未描述的其它技术目标。

技术方案

在一种基于帧间预测模式对图像进行解码的方法中,本公开的一个方面包括以下步骤:导出当前块周围的可用空间相邻块的运动矢量;基于空间相邻块的运动矢量导出当前块的并置块;基于并置块的运动矢量在当前块中以子块为单位导出运动矢量;以及使用以子块为单位导出的运动矢量来生成当前块的预测块,其中,并置块可以由空间相邻块的运动矢量在一个预定义参考画面中指定。

优选地,导出并置块的步骤还可以包括基于画面次序计数(POC)缩放空间相邻块的运动矢量。

优选地,导出并置块的步骤还可以包括:基于空间相邻块的第一参考画面和由空间相邻块的运动矢量指定的块的第二参考画面之间的画面次序计数(POC)差,以及当前画面和一个预定义参考画面之间的POC差来缩放空间相邻块的运动矢量;以及使用经缩放的运动矢量来导出一个预定义参考画面中的并置块。

优选地,可以通过序列参数集、画面参数集或图块组报头从编码器发信号通知所述一个预定义参考画面。

优选地,可以将所述一个预定义参考画面定义为当前块的参考画面列表中基于POC最靠近当前画面的参考画面。

优选地,当在当前块的参考画面列表中基于POC存在多个最靠近当前画面的参考画面时,可以将所述一个预定义参考画面定义为参考画面中的具有最小时间ID的参考画面。

在一种基于帧间预测模式对图像进行解码的装置中,本公开的另一方面包括:空间候选项导出单元,其被配置为导出当前块周围的可用空间相邻块的运动矢量;并置块导出单元,其被配置为基于空间相邻块的运动矢量导出当前块的并置块;子块运动矢量导出单元,其被配置为基于并置块的运动矢量在当前块中以子块为单位导出运动矢量;以及预测块生成器,其被配置为使用以子块为单位导出的运动矢量来生成当前块的预测块,其中,并置块可以由空间相邻块的运动矢量在一个预定义参考画面中指定。

优选地,并置块导出单元可以基于画面次序计数(POC)来缩放空间相邻块的运动矢量。

优选地,并置块导出单元可以被配置为:基于空间相邻块的第一参考画面和由空间相邻块的运动矢量指定的块的第二参考画面之间的画面次序计数(POC)差,以及当前画面和一个预定义参考画面之间的POC差来缩放空间相邻块的运动矢量;并且使用经缩放的运动矢量来导出所述一个预定义参考画面中的并置块。

优选地,可以通过序列参数集、画面参数集或图块组报头从编码器发信号通知所述一个预定义参考画面。

优选地,可以将所述一个预定义参考画面定义为当前块的参考画面列表中基于POC最靠近当前画面的参考画面。

优选地,当在当前块的参考画面列表中存在多个基于POC最靠近当前画面的参考画面时,可以将所述一个预定义参考画面定义为参考画面中的具有最小时间ID的参考画面。

有益效果

根据本公开的一个实施方式,能够减少存储器带宽,并且能够解附加的行缓冲器问题。

通过本公开可以获得的效果不限于上述效果,并且本公开所属领域普通技术人员可以从以下描述中清楚地理解上面未描述的其它技术效果。

附图说明

包括附图是为了提供对本发明的进一步理解,并且附图构成详细描述的一部分,附图示出了本发明的实施方式,并且与描述一起用于解释本发明的原理。

图1是作为应用了本公开的一个实施方式的对视频/图像信号进行编码的编码装置的示意性框图。

图2是作为应用了本公开的一个实施方式的对视频/图像信号进行解码的解码装置的示意性框图。

图3是示出作为可以应用本公开的一个实施方式的多类型树结构的示例的图。

图4是示出作为可以应用本公开的一个实施方式的具有嵌套多类型树结构的四叉树的分区拆分信息的信令机制的图。

图5是示出作为可以应用本公开的一个实施方式的基于四叉树和嵌套多类型树结构将CTU分割为多个CU的方法的图。

图6是示出作为可以应用本公开的一个实施方式的用于限制三叉树拆分的方法的图。

图7是示出作为可以应用本公开的一个实施方式的可以在二叉树拆分和三叉树拆分中生成的冗余拆分图案的图。

图8和图9是示出根据本公开的一个实施方式的基于帧间预测的视频/图像编码方法和根据本公开的一个实施方式的编码装置中的帧间预测器的图。

图10和图11是示出根据本公开的一个实施方式的基于帧间预测的视频/图像解码方法和根据本公开的一个实施方式的解码装置中的帧间预测器的图。

图12是示出作为应用了本公开的一个实施方式的在合并模式或跳过模式中使用的相邻块的图。

图13是示出根据应用了本公开的一个实施方式的构建合并候选项列表的方法的流程图。

图14是示出根据应用了本公开的一个实施方式的构建合并候选项列表的方法的流程图。

图15和图16是用于解释作为应用了本公开的一个实施方式的导出高级时间运动矢量预测(ATMVP)候选项的方法的图。

图17是示出作为应用了本公开的一个实施方式的导出高级时间运动矢量预测(ATMVP)候选项的方法的图。

图18和图19是示出根据应用了本公开的一个实施方式的压缩时间运动矢量数据的方法和其中使用的空间候选项的位置的图。

图20是示出根据应用了本公开的一个实施方式的使用固定参考画面来导出时间运动矢量的方法的图。

图21是示出作为应用了本公开的一个实施方式的导出用于时间运动矢量预测的固定参考画面的方法的图。

图22是示出作为应用了本公开的一个实施方式的导出用于时间运动矢量预测的固定参考画面的方法的图。

图23和图24是示出作为应用了本公开的一个实施方式的选择用于导出ATMVP候选项的空间候选项的方法和使用选定空间候选项以子块为单位执行运动补偿的方法的图。

图25是示出根据应用了本公开的一个实施方式的导出时间运动矢量的方法的图。

图26和图27是示出根据本公开的一个实施方式的使用反向映射来导出时间运动矢量的方法的图。

图28是示出根据应用了本公开的一个实施方式的生成帧间预测块的方法的流程图。

图29是示出根据应用了本公开的一个实施方式的帧间预测装置的图。

图30示出应用了本公开的视频编码系统。

图31是作为应用了本公开的一个实施方式的内容流传输系统的配置图。

具体实施方式

参照附图详细描述本公开的一些实施方式。将要随附图一起公开的详细描述旨在描述本公开的一些实施方式,而不旨在描述本公开的唯一实施方式。下面的详细描述包括更多细节以提供对本公开的全面理解。然而,本领域技术人员应当理解,可以在没有这种更多细节的情况下实现本公开。

在一些情况下,为了避免本公开的构思变得模糊,已知的结构和装置将被省略或者可以基于各个结构和装置的核心功能以框图形式示出。

尽管本公开中使用的大多数术语从本领域广泛使用的一般术语中选择,但是申请人任意选择了一些术语,并且根据需要在下面的描述中详细解释了其含义。因此,本公开应当以术语的预期含义而非其简单名称或含义来理解。

提供了下面的描述中使用的特定术语以帮助理解本公开,并且可以在不脱离本公开的技术精神的情况下以各种形式改变这种特定术语的使用。例如,可以在各个编码过程中适当地替换和解释信号、数据、样本、画面、帧和块等。

在本说明书中,“处理单元”是指其中执行诸如预测(prediction)、变换(transform)和/或量化(quantization)的编码/解码处理的单元。在下文中,为了便于描述,处理单元可以被称为“处理块”或“块”。

此外,可以将处理单元解释成包括用于亮度分量(luma component)的单元和用于色度分量(chroma component)的单元的含义。例如,处理单元可以对应于编码树单元(CTU)、编码单元(CU)、预测单元(PU)或变换单元(TU)。

此外,可以将处理单元解释为用于亮度分量的单元或用于色度分量的单元。例如,处理单元可以对应于亮度分量的编码树块(CTB)、编码块(CB)、预测单元PU或变换块(TB)。此外,处理单元可以对应于色度分量的CTB、CB、PU或TB。此外,处理单元不限于此,并且可以被解释为包括用于亮度分量的单元和用于色度分量的单元的含义。

此外,处理单元不必限于正方形块(square block),并且可以被配置为具有三个或更多个顶点的多边形形状。

此外,在本说明书中,像素被称为样本(sample)。此外,使用样本可以表示使用像素值等。

图1是作为应用了本公开的一个实施方式的对视频/图像信号进行编码的编码装置的示意性框图。

参照图1,编码装置100可以被配置为包括图像划分器(divider)110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为预测器。换句话说、预测器可以包括帧间预测器180和帧内预测器185。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器(residual processor)中。残差处理器还可以包括减法器115。在一个实施方式中、图像划分器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、帧间预测器180、帧内预测器185和熵编码器190可以被配置为一个硬件组件(例如,编码器或处理器)。此外,存储器170可以包括解码画面缓冲器(decoded picture buffer,DPB),并且可以由数字存储介质来实现。

图像划分器110可以将输入到编码装置100的输入图像(或画面或帧)划分为一个或更多个处理单元。例如,处理单元可以被称为编码单元(CU)。在此情况下,可以基于四叉树二叉树(QTBT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地(recursively)拆分编码单元。例如,可以基于四叉树结构和/或二叉树结构将一个编码单元拆分为深度更深的多个编码单元。在此情况下,例如,可以首先应用四叉树结构,并且然后可以应用二叉树结构。另选地,可以首先应用二叉树结构。可以基于不再拆分的最终编码单元来执行根据本公开的编码过程。在此情况下,可以根据图像特性基于编码效率而将最大编码单元直接用作最终编码单元,或者如果需要,可以将编码单元递归地拆分为深度更深的编码单元。因此,具有最佳尺寸的编码单元可以用作最终编码单元。在此情况下,编码过程可以包括下文将描述的诸如预测、变换或重构的过程。作为另一示例,处理单元还可以包括预测单元(PU)或变换单元(TU)。在此情况下,可以根据每个最终编码单元对预测单元和变换单元中的每一个进行划分或分割。预测单元可以是用于样本预测的单元,并且变换单元可以是从中导出变换系数(transform coefficient)的单元和/或其中从变换系数导出残差信号的单元。

根据情况,单元可以与块或区域互换使用。在通常情况下,M×N块可以指示配置有M列和N行的一组样本或一组变换系数。通常,样本可以指示像素或像素值,并且可以仅指示亮度分量的像素/像素值或仅指示色度分量的像素/像素值。在样本中,一个画面(或图像)可用作与像素或画素(pel)相对应的项。

编码装置100可以通过从输入图像信号(原始块或原始样本阵列)减去由帧间预测器180或帧内预测器185输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。将生成的残差信号传输到变换器120。在此情况下,如图所示,编码装置100中的从输入图像信号(原始块或原始样本阵列)中减去预测信号(预测块或预测样本阵列)的单元可以被称为减法器115。预测器可以对处理目标块(在下文中被称为当前块)执行预测,并且可以生成包括当前块的预测样本的预测块。预测器可以确定在当前块或CU单元中是应用帧内预测还是应用帧间预测。预测器可以生成关于预测的各种信息,例如后面将在每个预测模式的描述中描述的预测模式信息,并且可以将该信息传输到熵编码器190。关于预测的信息可以在熵编码器190中进行编码,并且可以以比特流形式输出。

帧内预测器185可以参考当前画面内的样本来预测当前块。取决于预测模式,参考的样本可以被定位成与当前块相邻或可以与当前块间隔开。在帧内预测中,预测模式可以包括多个非角度模式(non-angular mode)和多个角度模式。非角度模式可以例如包括DC模式和平面模式。取决于预测方向的精细程度,角度模式可以例如包括33个角度预测模式或65个角度预测模式。在此情况下,取决于配置,可以例如使用多于或少于33个角度预测模式或65个角度预测模式的角度预测模式。帧内预测器185可以使用应用于相邻块的预测模式来确定应用于当前块的预测模式。

帧间预测器180可以基于参考画面上的由运动矢量(motion vector)指定的参考块(参考样本阵列)来导出当前块的预测块。在此情况下,为了减少在帧间预测模式下传输的运动信息的量,可以基于相邻块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可以包括运动矢量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测)信息。在帧间预测的情况下,相邻块可以包括当前画面内的空间相邻块和参考画面内的时间相邻块。包括参考块的参考画面和包括时间相邻块的参考画面可以相同或不同。时间相邻块可以被称为并置(co-located)参考块或并置CU(colCU)。包括时间相邻块的参考画面可以称为并置画面(colPic)。例如,帧间预测器180可以基于相邻块构建运动信息候选项列表(motion information candidate list),并且可以生成指示哪个候选项用于导出当前块的运动矢量和/或参考画面索引的信息。可以基于各种预测模式执行帧间预测。例如,在跳过模式(skip mode)和合并模式(merge mode)的情况下,帧间预测器180可以使用相邻块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动矢量预测(motion vectorprediction,MVP)模式的情况下,可以将相邻块的运动矢量用作运动矢量预测值(motionvector predictor)。可以通过发信号通知运动矢量差来指示当前块的运动矢量。

通过帧间预测器180或帧内预测器185生成的预测信号可以用于生成重构信号或残差信号。

变换器120可以通过将变换方案应用于残差信号来生成变换系数。例如,变换方案可以包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loève变换(KLT)、基于图的变换(GBT)或有条件非线性变换(conditionally non-linear transform,CNT)中的至少一种。在此情况下,GBT是指在像素之间的关系信息表示为图形的情况下从该图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而获得的变换。此外,可以将变换处理应用于具有相同尺寸的正方形形式的像素块,或者具有可变尺寸的非正方形形式的块。

量化器130可以对变换系数进行量化并且将其传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且以比特流形式将其输出。关于量化的变换系数的信息可以被称为残差信息。量化器130可以基于系数扫描序列(coefficient scan sequence)以一维矢量形式重新布置块形式的量化的变换系数,并且可以基于一维矢量形式的量化的变换系数来生成关于量化的变换系数的信息。熵编码器190可以执行各种编码方法,例如指数哥伦布编码、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)。除了量化的变换系数之外,熵编码器190还可以一起或分开地对视频/图像重构所需的信息(例如,语法元素的值)进行编码。编码的信息(例如,编码的视频/图像信息)可以以比特流形式以网络抽象层(NAL)单元为单位进行传输或存储。比特流可以通过网络传输,或者可以存储在数字存储介质中。在此情况下,网络可以包括广播网络和/或通信网络。数字存储介质可以包括各种存储介质,例如USB、SD、CD、DVD、蓝光、HDD和SSD。可以将发送由熵编码器190输出的信号的发送器(未示出)和/或用于存储信号的存储部(未示出)配置为编码装置100的内部/外部元件,或者发送器可以是熵编码器190的元件。

由量化器130输出的量化的变换系数可以用于生成预测信号。例如,可以通过在环路内经由解量化器140和逆变换器150对量化的变换系数应用解量化和逆变换来重构残差信号。加法器155可以将重构的残差信号与由帧间预测器180或帧内预测器185输出的预测信号相加,从而可以生成重构信号(重构画面、重构块或重构样本阵列)。如果像在已经应用了跳过模式的情况下那样不存在用于处理目标块的残差,则可以将预测块用作重构块。加法器155可以被称为重构器或重构块生成器。生成的重构信号可以用于当前画面内的下一处理目标块的帧内预测,并且可以通过滤波而用于下一画面的帧间预测,如后文所描述的那样。

滤波器160能够通过将滤波应用于重构信号来提高主观/客观画面质量。例如,滤波器160可以通过将各种滤波方法应用于重构画面来生成修改的重构画面。修改的重构画面可以存储在存储器170中,更具体地,存储在存储器170的DPB中。各种滤波方法例如可以包括解块滤波、样本自适应偏移、自适应环路滤波器和双边滤波器。滤波器160可以生成用于滤波的各种信息,如后面在每种滤波方法的描述中所述,并且可以将其发送到熵编码器190。滤波信息可以由熵编码器190进行编码并且以比特流形式输出。

传输到存储器170的修改的重构画面可以在帧间预测器180中用作参考画面。如果应用帧间预测,则编码装置能够避免编码装置100和解码装置中的预测失配,并且能够提高编码效率。

存储器170的DPB可以存储修改的重构画面,以在帧间预测器180中将其用作参考画面。存储器170可以存储其中导出(或编码)了当前画面中的运动信息的块的运动信息和/或已经重构的画面中的块的运动信息。存储的运动信息可以被转发到帧间预测器180以用作空间相邻块的运动信息或时间相邻块的运动信息。存储器170可以存储当前画面中的重构块的重构样本,并且将其转发到帧内预测器185。

图2是应用了本公开的一个实施方式,并且是对视频/图像信号进行解码的解码装置的示意性框图。

参照图2,解码装置200可以被配置为包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260和帧内预测器265。帧间预测器260和帧内预测器265可以被统称为预测器。即,预测器可以包括帧间预测器180和帧内预测器185。解量化器220和逆变换器230可以被统称为残差处理器。即,残差处理器可以包括解量化器220和逆变换器230。熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、帧间预测器260和帧内预测器265可以被配置为根据一个实施方式的一个硬件组件(例如,解码器或处理器)。此外,存储器250可以包括解码画面缓冲器(DPB),并且可以由数字存储介质来实现。

当输入包括视频/图像信息的比特流时,解码装置200可以根据图1的编码装置中的处理视频/图像信息的处理来重构图像。例如,解码装置200可以使用应用于编码装置中的处理单元来执行解码。因此,用于解码的处理单元例如可以是编码单元。可以根据四叉树结构和/或二叉树结构从编码树单元或最大编码单元拆分编码单元。此外,可以通过回放装置(playback device)回放通过解码装置200解码和输出的重构图像信号。

解码装置200可以以比特流的形式接收由图1的编码装置输出的信号。可以通过熵解码器210对接收的信号进行解码。例如,熵解码器210可以通过解析比特流来导出用于图像重构(或画面重构)的信息(例如,视频/图像信息)。例如,熵解码器210可以基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流内的信息进行解码,并且可以输出用于图像重构的语法元素的值或关于残差的变换系数的量化值。更具体地,在CABAC熵解码方法中,可以从比特流接收与各个语法元素相对应的二进制位(bin),可以使用解码目标语法元素信息以及相邻块和解码目标块的解码信息或者在前一步骤中解码的符号/二进制位的信息来确定上下文模型,可以基于所确定的上下文模型来预测二进制位出现的概率,并且可以通过对二进制位执行算术解码来生成与各个语法元素的值相对应的符号。在此情况下,在CABAC熵解码方法中,在确定上下文模型之后,可以将解码的符号/二进制位的信息用于下一符号/二进制位的上下文模型来更新上下文模型。可以将在熵解码器2110中解码的信息中的关于预测的信息提供给预测器(帧间预测器260和帧内预测器265)。可以将与已经在熵解码器210中对其进行熵解码的残差值有关的参数信息(即,量化的变换系数)输入到解量化器220。此外,在熵解码器210中解码的信息中的关于滤波的信息可以提供给滤波器240。同时,接收由编码装置输出的信号的接收器(未示出)还可以被配置为解码装置200的内部/外部元件,或者接收器可以是熵解码器210的元件。

解量化器220可以对量化的变换系数进行解量化并且输出变换系数。解量化器220可以以二维块的形式重新布置量化的变换系数。在此情况下,可以基于在编码装置中执行的系数扫描序列来执行重新布置。解量化器220可以使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化,并且可以获得变换系数。

逆变换器230可以通过对变换系数应用逆变换来输出残差信号(残差块或残差样本阵列)。

预测器可以对当前块执行预测,并且可以生成包括当前块的预测样本的预测块。预测器可以基于由熵解码器210输出的关于预测的信息来确定是对当前块应用帧内预测还是帧间预测,并且可以确定详细的帧内/帧间预测模式。

帧内预测器265可以参考当前画面内的样本来预测当前块。取决于预测模式,参考样本可以被定位成与当前块相邻或者可以与当前块隔开。在帧内预测中,预测模式可以包括多个非角度模式和多个角度模式。帧内预测器265可以使用应用于相邻块的预测模式来确定应用于当前块的预测模式。

帧间预测器260可以基于参考画面上的由运动矢量指定的参考块(参考样本阵列)来导出当前块的预测块。在此情况下,为了减少在帧间预测模式下传输的运动信息的量,可以基于相邻块与当前块之间的运动信息的相关性,以块、子块或样本为单位预测运动信息。运动信息可以包括运动矢量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测,L1预测,Bi预测)信息。在帧间预测的情况下,相邻块可以包括当前画面内的空间相邻块和参考画面内的时间相邻块。例如,帧间预测器260可以基于相邻块来配置运动信息候选项列表,并且可以基于接收的候选项选择信息来导出当前块的运动矢量和/或参考画面索引。可以基于各种预测模式来执行帧间预测。关于预测的信息可以包括指示当前块的帧间预测模式的信息。

加法器235可以通过将获得的残差信号与由帧间预测器260或帧内预测器265输出的预测信号(预测块或预测样本阵列)相加来生成重构信号(重构画面、重构块或重构样本阵列)。如果像在已经应用了跳过模式的情况下那样不存在用于处理目标块的残差,则可以将预测块用作重构块。

加法器155可以被称为重构器或重构块生成器。生成的重构信号可以用于当前画面内的下一处理目标块的帧内预测,并且可以通过滤波用于下一画面的帧间预测,如后文将描述的那样。

滤波器240能够通过将滤波应用于重构信号来提高主观/客观画面质量。例如,滤波器240可以通过将各种滤波方法应用于重构画面来生成修改的重构画面,并且可以将修改的重构画面传输到存储器250,更具体地,传输到存储器250的DPB。各种滤波方法例如可以包括解块滤波、样本自适应偏移SAO、自适应环路滤波器ALF和双边滤波器。

存储在存储器250的DPB中的(修改的)重构画面可以在帧间预测器260中用作参考画面。存储器250可以存储其中导出(解码)了当前画面中的运动信息的块的运动信息和/或已重构画面中的块的运动信息。存储的运动信息可以被转发到帧间预测器260,以用作空间相邻块的运动信息或时间相邻块的运动信息。存储器170可以存储当前画面中的重构块的重构样本,并且将其转发到帧内预测器265。

在本公开中,在编码装置100的滤波器160、帧间预测器180和帧内预测器185中描述的实施方式可以分别相同地或以对应方式应用到解码装置200的滤波器240、帧间预测器260和帧内预测器265中。

可以基于各种具体技术来执行根据本公开的视频/图像编码方法,并且各种具体技术中的每一种描述如下。对于本领域技术人员而言显而易见的是,本文描述的技术可以与例如上述和/或下述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码、滤波、视频/图像编码/解码过程中的分割/拆分的相关过程相关联。

可以在上述编码装置的图像划分器110中执行根据本公开的块分割过程,并且可以在熵编码器190中对分割相关信息进行(编码)处理并且以比特流格式将其转发到解码装置。解码装置的熵解码器210可以基于从比特流获得的分割相关信息获得当前画面的块分割结构,并且可以在此基础上执行图像解码的一系列过程(例如,预测、残差处理、块重构、环路滤波等)。

可以将画面划分为一系列编码树单元(CTU)。CTU可以对应于编码树块(CTB)。另选地,CTU可以包括亮度样本的编码树块和对应色度样本的两个编码树块。换句话说,对于包括三种类型的样本阵列的画面,CTU可以包括亮度样本的N×N块和色度样本的两个对应样本。

用于编码和预测的CTU的最大支持尺寸可以与用于变换的CTU的最大支持尺寸不同。例如,CTU中亮度块的最大支持尺寸可以是128×128。

可以基于四叉树(QT)结构将CTU划分为CU。四叉树结构可以被称为四元结构(quaternary structure)。这是为了反映各种局部特性。同时,在本公开中,可以基于包括二叉树(BT)、三叉树(TT)和四叉树的多类型树结构分割来划分CTU。在下文中,QTBT结构可以包括四叉树和二叉树结构,并且QTBTTT可以包括基于二叉树和三叉树的分割结构。另选地,QTBT结构还可以包括基于四叉树、二叉树和三叉树的分割结构。在编码树结构中,CU可以具有正方形或矩形形状。首先,可以将CTU划分为四叉树结构。然后,可以通过多类型树结构另行划分四叉树结构的叶节点。

图3是示出作为可以应用本公开的一个实施方式的多类型树结构的示例的图。

在本公开的一个实施方式中,多类型树结构可以包括如图3所示的4个拆分类型。该4个拆分类型可以包括垂直二元拆分(vertical binary splitting,SPLIT_BT_VER)、水平二元拆分(SPLIT_BT_HOR)、垂直三元拆分(SPLIT_TT_VER)和水平三元拆分(SPLIT_TT_HOR)。可以将多类型树结构的叶节点称为CU。这种CU可以用于预测和变换过程。在本公开中,CU、PU和TU通常可以具有相同的块尺寸。然而,在最大支持变换长度小于颜色分量的宽度或高度的情况下,CU和TU可以具有不同的块尺寸。

图4是示出作为可以应用本公开的一个实施方式的具有嵌套(nested)多类型树结构的四叉树的分区拆分信息(partition split information)的信令机制的图。

在此,可以将CTU视为四叉树的根,并且初始将CTU分割为四叉树结构。之后可以将每个四叉树叶节点进一步分割为多类型树结构。在多类型树结构中,发信号通知第一标志(例如,mtt_split_cu_flag)以指示是否进一步分割对应节点。在进一步分割对应节点的情况下,可以发信号通知第二标志(例如,mtt_split_cu_vertical_flag)以指示拆分方向。随后,可以发信号通知第三标志(例如,mtt_split_cu_binary_flag)以指示拆分类型是二元拆分还是三元拆分。例如,基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下面的表1所示来导出多类型树拆分模式(MttSplitMode)。

[表1]

图5是示出作为可以应用本公开的一个实施方式的基于四叉树和嵌套多类型树结构将CTU分割为多个CU的方法的图。

此处,加粗的块边缘表示四叉树分割,并且其余边缘表示多类型树分割。具有嵌套多类型树的四叉树分区可以提供内容自适应的编码树结构。CU可以对应于编码块(CB)。或者,CU可以包括亮度样本的编码块和对应色度样本的两个编码块。在亮度样本单元中,CU的尺寸可以与CTU一样大,或者可以小至4×4。例如,在4:2:0颜色格式(或色度格式)的情况下,最大色度CB尺寸可以为64×64,最小色度CB尺寸可以为2×2。

在本公开中,例如,最大支持亮度TB尺寸可以是64×64,并且最大支持色度TB尺寸可以是32×32。在根据树结构分割的CB的宽度或高度大于最大变换宽度或高度的情况下,可以进一步分割CB,直到自动地(或隐含地)满足水平和垂直方向上的TB尺寸限制为止。

同时,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数定义或标识为SPS语法元素。

-CTU尺寸:四叉树的根节点尺寸

-MinQTSize:最小允许四叉树叶节点尺寸

-MaxBtSize:最大允许二叉树根节点尺寸

-MaxTtSize:最大允许三叉树根节点尺寸

-MaxMttDepth:从四叉树叶拆分的多类型树的最大允许层次深度

-MinBtSize:最小允许二叉树叶节点尺寸

-MinTtSize:最小允许三叉树叶节点尺寸

作为具有嵌套多类型树的四叉树编码树方案的示例,可以将CTU尺寸设置为128×128亮度样本和两个对应色度样本(在4:2:0色度样本中)的64×64块。在此情况下,可以将MinQTSize设置为16×16,可以将MaxBtSize设置为128×128,可以将MaxTtSzie设置为64×64,可以将MinBtSize和MinTtSize(用于宽度和高度两者)设置为4×4,并且可以将MaxMttDepth设置为4。可以将四叉树分割应用于CTU并且生成四叉树叶节点。四叉树叶节点可以称为叶QT节点。四叉树叶节点的尺寸可以从16×16尺寸(即MinOTSize)到128×128尺寸(即CTU尺寸)。在叶QT节点为128×128的情况下,不可以将叶QT节点分割为二叉树/三叉树。这是因为即使在分割了叶QT节点的情况下,叶QT节点也超出了MaxBtsize和MaxTtszie(即64×64)。在其它情况下,可以额外将叶QT节点分割为多类型树。因此,叶QT节点可以是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。在多类型树深度达到MaxMttdepth(例如4)的情况下,不可以再考虑额外的分割。在多类型树节点的宽度等于MinBtSize并且小于或等于2×MinTtSize的情况下,不可以再考虑额外的水平分割。在多类型树节点的高度等于MinBtSize并且小于或等于2×MinTtSize的情况下,不可以再考虑额外的垂直分割。

图6是示出作为可以应用本公开的一个实施方式的限制三叉树拆分的方法的图。

参照图6,为了在硬件解码器中支持64×64亮度块和32×32色度管道(chromapipeline)设计,可以在特定情况下限制TT拆分。例如,在亮度编码块的宽度或高度大于预定的特定值(例如32、64)的情况下,如图6所示,可以限制TT拆分。

在本公开中,编码树方案可以支持亮度块和色度块具有各自的块树结构。对于P和B切片,可以将单个CTU中的亮度和色度CTB限制为具有相同的编码树结构。然而,对于I切片,亮度块和色度块可以具有相应的独立块树结构。在应用独立块树模式的情况下,可以基于特定的编码树结构将亮度CTB分割为CU,并且可以基于不同的编码树结构将色度CTB分割为色度CU。这可以表示I切片中的CU可以包括色度分量的编码块或两个色度分量的编码块,并且P或B切片中的CU可以包括三个颜色分量的块。

在上述“使用树结构的CTU分割”中,描述了具有嵌套多类型树的四叉树编码树方案,但是对CU进行分割的结构不限于此。例如,BT结构和TT结构可以被解释为包括在多分割树(MPT)结构中的概念,并且可以被解释为通过QT结构和MPT结构对CU进行分割。在通过QT结构和MPT结构对CU进行分割的示例中,可以发信号通知包括关于将QT结构的叶节点分割成的块的数量的信息的语法元素(例如,MPT_split_type),以及包括关于在垂直方向和水平方向当中分割QT结构的叶节点的方向的信息的语法元素(例如,MPT_split_mode),并且可以确定拆分结构。

在另一示例中,可以以不同于QT结构、BT结构或TT结构的方法来分割CU。即,与根据QT结构将较低层深度的CU分割为较高层深度的CU的1/4尺寸、根据BT结构将较低层深度的CU分割为较高层深度的CU的1/2尺寸、或者根据TT结构将将较低层深度的CU分割为较高层深度的CU的1/4尺寸或1/2尺寸不同,在某些情况下,可以将较低层深度的CU分割为较高层深度的CU的1/5、1/3、3/8、3/5、2/3或5/8尺寸,但分割CU的方法不限于此。

在树节点块的一部分超出底部或右侧画面边界的情况下,可以限制对应的树节点块,以使所有编码CU的所有样本都位于画面边界内。在此情况下,例如,可以应用以下拆分规则。

-如果树节点块的一部分超出底部和右侧画面边界,

-如果块是QT节点,并且块的尺寸大于最小QT尺寸,则采用QT拆分模式对块进行强制拆分。

-否则,采用SPLIT_BT_HOR模式对块进行强制拆分。

-否则,如果树节点块的一部分超出底部画面边界,

-如果块是QT节点,并且块的尺寸大于最小QT尺寸,并且块的尺寸大于最大BT尺寸,则采用QT拆分模式对块进行强制拆分。

-否则,如果块是QT节点,并且块的尺寸大于最小QT尺寸,并且块的尺寸小于或等于最大BT尺寸,则采用QT拆分模式或SPLIT_BT_HOR模式对块进行强制拆分。

-否则(块是BTT节点,或者块的尺寸小于或等于最小QT尺寸),则采用SPLIT_BT_HOR模式对块进行强制拆分。

-否则,如果树节点块的一部分超出右侧画面边界,

-如果块是QT节点,并且块的尺寸大于最小QT尺寸,并且块的尺寸大于最大BT尺寸,则采用QT拆分模式对块进行强制拆分。

-否则,如果块是QT节点,并且块的尺寸大于最小QT尺寸,并且块的尺寸小于或等于最大BT尺寸,则采用QT拆分模式或SPLIT_BT_VER模式对块进行强制拆分。

-否则(块是BTT节点,或者块的尺寸小于或等于最小QT尺寸),则采用SPLIT_BT_VER模式对块进行强制拆分。

同时,上述具有嵌套多类型树的四叉树编码树方案可以提供非常灵活的分割结构。由于多类型树中支持的拆分类型,在某些情况下,不同的拆分图案可能带来相同编码块结构的结果。通过限制这种冗余拆分图案的生成,可以减少分割信息的数据量。参照附图对此进行描述。

图7是示出作为可以应用本公开的一个实施方式的可以在二叉树拆分和三叉树拆分中生成的冗余拆分图案的图。

如图7所示,在一个方向上的两级连续二元拆分可以与在三元拆分之后针对中央分区的二元拆分具有相同的编码块结构。在此情况下,可以(在给定方向上)限制针对三叉树拆分的中央分区的二叉树拆分。这种限制可以应用于所有画面的CU。在这种特定拆分受限的情况下,可以通过反映受限情况来修改对应的语法元素的信令,并且由此可以减少发信号通知的用于分割的比特数。例如,如图7例示,在针对CU的中央分区的二叉树拆分受限的情况下,可以不发信号通知指示拆分是二元拆分还是三元拆分的mtt_split_cu_binary_flag语法元素,并且值可由解码器推断为0。

为了重构对其执行了解码的当前处理单元,可以使用包括当前处理单元的当前画面或其它画面的解码部分。

可以将仅使用当前画面进行重构(即仅执行帧内预测)的画面(切片)称为帧内画面或I画面(切片),可以将使用参考索引和最多一个运动矢量来预测每个单元的画面(切片)称为预测画面或P画面(切片),并且可以将使用两个参考索引和最多两个运动矢量的画面(切片)称为Bi预测画面或B画面(切片)。

帧内预测是指从相同的解码画面(或切片)的数据元素(例如,样本值等)导出当前处理块的预测方法。即,它是指通过参考当前画面中的重构区域来预测当前处理块的像素值的方法。

在下文中,将更详细地描述帧间预测。

帧间预测是指基于除当前画面以外的画面的数据元素(例如,样本值或运动矢量等)来导出当前处理块的预测方法。即,它是指通过参考除当前画面之外的另一重构画面中的重构区域来预测当前处理块的像素值的方法。

帧间预测(或画面间预测)是消除画面之间的冗余的技术,并且主要通过运动估计(motion estimation)和运动补偿(motion compensation)来执行。

本公开描述在解码器的情况下在上面的图1和图2中描述的帧间预测方法的详细技术,并且该技术可以由后述的图10的基于帧间预测的视频/图像解码方法和图11的解码装置中的帧间预测器来表示。此外,在编码器的情况下,该技术可以由后述图8的基于帧间预测的视频/图像编码方法和图9的编码装置中的帧间预测器来表示。此外,通过图8和图9编码的数据可以以比特流形式存储。

编码装置/解码装置的预测器可以通过以块为单位执行帧间预测来导出预测样本。帧间预测可以表示通过依赖于除当前画面之外的画面的数据元素(例如,样本值、运动信息等)的方法导出的预测。在将帧间预测应用于当前块时,基于由参考画面索引指示的参考画面上的由运动矢量指定的参考块(参考样本阵列),可以导出当前块的预测块(预测样本阵列)。

在此情况下,为了减少在帧间预测模式下传输的运动信息的量,可以基于相邻块与当前块之间的运动信息的相关性,以块、子块或样本为单位预测当前块的运动信息。运动信息可以包括运动矢量和参考画面索引。运动信息还可包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。

在帧间预测的情况下,相邻块可以包括当前画面中的空间相邻块和参考画面中的时间相邻块。包括参考块的参考画面和包括时间相邻块的参考画面可以相同或不同。时间相邻块可以被称为并置参考块或并置CU(colCU),并且包括时间相邻块的参考画面可以称为并置画面(colPic)。例如,可以基于当前块的相邻块来配置运动信息候选项列表,并且为了导出当前块的运动矢量和/或参考画面索引,可以发信号通知指示选择(使用)哪个候选项的标志或索引信息。

可以基于各种预测模式来执行帧间预测,并且例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与选定相邻块的运动信息相同。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动矢量预测(MVP)模式的情况下,选定相邻块的运动矢量可以用作运动矢量预测值,并且可以发信号通知运动矢量差。在此情况下,可以通过使用运动矢量预测值和运动矢量差之和来导出当前块的运动矢量。

图8和图9是图示根据本公开的一个实施方式的基于帧间预测的视频/图像编码方法和根据本公开的一个实施方式的编码装置中的帧间预测器的图。

参照图8和图9,可以由编码装置的帧间预测器180执行S801,并且可以由编码装置的残差处理器执行S802。具体地,可以由编码装置的减法器115执行S802。在S803中,预测信息可以由帧间预测器180导出并且由熵编码器190编码。在S803中,残差信息可以由残差处理器导出并且可以由熵编码器190编码。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化的变换系数的信息。

如上所述,可以通过编码装置的变换器120将残差样本导出为变换系数,并且可以通过量化器130将变换系数导出为量化的变换系数。可以通过残差编码过程在熵编码器190中对关于量化的变换系数的信息进行编码。

编码装置对当前块执行帧间预测(S801)。编码装置可以导出当前块的帧间预测模式和运动信息,并且生成当前块的预测样本。在此,可以同时执行确定帧间预测模式的过程、导出运动信息的过程以及生成预测样本的过程,或者一个过程可以在另一过程之前执行。例如,编码装置的帧间预测器180可以包括预测模式确定单元181、运动信息导出单元182和预测样本导出单元183,预测模式确定单元181可以确定当前块的预测模式,运动信息导出单元182可以导出当前块的运动信息,并且预测样本导出单元183可以导出当前块的运动样本。

例如,编码装置的帧间预测器180可以通过运动估计在参考画面的特定区域(搜索区域)中搜索与当前块相似的块,并且导出与当前块的差为最小或小于预定参考值的参考块。在此基础上,可以导出指示参考块所在的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差导出运动矢量。编码装置可以在各种预测模式中确定应用于当前块的模式。编码装置可以比较各种预测模式的RD成本,并且确定当前块的最佳预测模式。

例如,当将跳过模式或合并模式应用于当前块时,编码装置可以构建后述的合并候选项列表,并且导出由合并候选项列表中包括的合并候选项指示的参考块当中的与当前块的差为最小或小于预定参考值的参考块。在此情况下,选择与导出的参考块相关联的合并候选项,并且可以生成指示选定合并候选项的合并索引信息,并且将其发信号通知到解码装置。可以使用选定合并候选项的运动信息来导出当前块的运动信息。

作为另一示例,当将(A)MVP模式应用于当前块时,编码装置可以构建后述的(A)MVP候选项列表,并且使用(A)MVP候选项列表中包括的mvp(运动矢量预测值)候选项当中的选定mvp候选项的运动矢量作为当前块的mvp。在此情况下,例如,指示通过上述运动估计导出的参考块的运动矢量可以用作当前块的运动矢量,并且在mvp候选项中,具有与当前块的运动矢量之差最小的运动矢量的mvp候选项可以是选定mvp候选项。可以导出运动矢量差(MVD)(其为通过从当前块的运动矢量减去mvp而获得的差)。在此情况下,可以将关于MVD的信息发信号通知到解码装置。此外,当应用(A)MVP模式时,参考画面索引的值可以被配置为参考画面索引信息,并且可以单独地被发信号通知到解码装置。

编码装置可以基于预测样本导出残差样本(S802)。编码装置可以通过将当前块的原始样本与预测样本进行比较来导出残差样本。

编码装置对包括预测信息和残差信息的图像信息进行编码(S803)。编码装置可以以比特流形式输出编码的图像信息。预测信息是与预测过程有关的信息,并且可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)以及关于运动信息的信息。关于运动信息的信息可以包括候选项选择信息(例如,合并索引、mvp标志或mvp索引),其为用于导出运动矢量的信息。此外,关于运动信息的信息可以包括关于上述的MVD和/或参考画面索引信息的信息。

此外,关于运动信息的信息可以包括指示是应用L0预测、L1预测还是Bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化的变换系数的信息。

输出的比特流可以存储在(数字)存储介质中并且被传输到解码装置,或者可以通过网络被传输到解码装置。

同时,如上所述,编码装置可以基于参考样本和残差样本来生成重构画面(包括重构样本和重构块)。这是为了在编码装置中导出与在解码装置中执行的预测结果相同的预测结果,并且这是因为能够提高编码效率。因此,编码装置可以将重构画面(或重构样本和重构块)存储在存储器中,并且将其用作帧间预测的参考画面。如上所述,还可以将环路滤波过程等应用于重构画面。

图10和图11是示出根据本公开的一个实施方式的基于帧间预测的视频/图像解码方法和根据本公开的一个实施方式的解码装置中的帧间预测器的图。

参照图10和图11,解码装置可以执行与在编码装置中执行的操作相对应的操作。解码装置可以对当前块执行预测,并且基于接收到的预测信息来导出预测样本。

S1001至S1003可以由解码装置的帧间预测器260执行,并且S1004的残差信息可以由解码装置的熵解码器210从比特流中获得。解码装置的残差处理单元可以基于残差信息来导出当前块的残差样本。具体地,残差处理单元的解量化器220可以通过根据基于残差信息而导出的量化的变换系数而执行逆量化以导出变换系数,并且残差处理单元的逆变换器230可以通过对变换系数执行逆变换来导出当前块的残差样本。S1005可以由解码装置的加法器235或重构器来执行。

具体地,解码装置可以基于接收的预测信息来确定当前块的预测模式(S1001)。解码装置可以基于预测信息中的预测模式信息来确定哪种帧间预测模式被应用于当前块。

例如,可以基于合并标志来确定是合并模式被应用于当前块,还是确定(A)MVP模式。另选地,可以基于模式索引选择各种帧间预测模式候选项中的一个。帧间预测模式候选项可以包括跳过模式、合并模式和/或(A)MVP模式,或者可以包括后述的各种帧间预测模式。

解码装置基于所确定的帧间预测模式来导出当前块的运动信息(S1002)。例如,当将跳过模式或合并模式应用于当前块时,解码装置可以构建后述的合并候选项列表,并且在合并候选项列表中包括的合并候选项当中选择一个合并候选项。可以基于上述选择信息(合并索引)来执行选择。可以使用选定合并候选项的运动信息来导出当前块的运动信息。选定合并候选项的运动信息可以用作当前块的运动信息。

作为另一示例,当(A)MVP模式应用于当前块时,解码装置可以构建后述的(A)MVP候选项列表,并且使用(A)MVP候选项列表中包括的mvp(运动矢量预测值)候选项中的选定mvp候选项的运动矢量作为当前块的mvp。可以基于上述选择信息(mvp标志或mvp索引)来执行选择。在此情况下,可以基于关于MVD的信息来导出当前块的MVD,并且可以基于当前块的mvp和MVD来导出当前块的运动矢量。此外,可以基于参考画面索引信息来导出当前块的参考画面索引。可以导出当前块的参考画面列表中的由参考画面索引指示的画面,作为参考用于当前块的帧间预测的参考画面。

同时,如后所述,可以在不配置候选项列表的情况下导出当前块的运动信息,并且在此情况下,可以根据在后述的预测模式下公开的过程来导出当前块的运动信息。在此情况下,可以省略如上所述的候选项列表的配置。

解码装置可以基于当前块的运动信息来生成当前块的预测样本(S1003)。在此情况下,可以基于当前块的参考画面索引来导出参考画面,并且可以使用参考画面上的由当前块的运动矢量指示的参考块的样本来导出当前块的预测样本。在此情况下,取决于后述的情况,还可以对当前块的所有或部分预测样本执行预测样本滤波过程。

例如,解码装置的帧间预测器260可以包括预测模式确定单元261、运动信息导出单元262和预测样本导出单元263,基于从预测模式确定单元261接收的预测模式信息来确定当前块的预测模式,基于从运动信息导出单元262接收的关于运动信息的信息来导出当前块的运动信息(运动矢量和/或参考画面索引等),并且从预测样本导出单元263导出当前块的预测样本。

解码装置基于接收的残差信息来生成当前块的残差样本(S1004)。解码装置可以基于预测样本和残差样本来生成当前块的重构样本,并且在此基础上生成重构画面(S1005)。此后,如上所述,还可以将环路滤波过程等应用于重构画面。

如上所述,帧间预测过程可以包括:确定帧间预测模式、根据所确定的预测模式来导出运动信息以及基于导出的运动信息来执行预测(生成预测样本)。

各种帧间预测模式可以用于画面中的当前块的预测。例如,可以使用各种模式,例如合并模式、跳过模式、MVP模式和仿射模式(affine mode)。还可以将解码器侧运动矢量细化(decoder side motion vector refinement,DMVR)模式或自适应运动矢量分辨率(AMVR)模式等用作辅助模式。仿射模式也可以被称为仿射运动预测模式。MVP模式也可以被称为高级运动矢量预测(AMVP)模式。

指示当前块的帧间预测模式的预测模式信息可以从编码装置被发信号通知到解码装置。预测模式信息可以被包括在比特流中并且可以在解码装置中被接收。预测模式信息可以包括指示多个候选项模式中的一种的索引信息。另选地,可以通过标志信息的分层信令(hierarchical signaling)来指示帧间预测模式。在此情况下,预测模式信息可以包括一个或更多个标志。

例如,可以发信号通知跳过标志来指示是否应用跳过模式,当没有应用跳过模式时,可以发信号通知合并标志来指示是否应用合并模式,当没有应用合并模式时,可以指示应用了MVP模式,或者还可以发信号通知用于附加分类的标志。仿射模式可以作为独立模式而被发信号通知,或者可以作为依赖于合并模式或MVP模式的模式而被发信号通知。例如,仿射模式可以被配置为合并候选项列表或MVP候选项列表中的一个候选项,如后所述。

可以使用当前块的运动信息来执行帧间预测。编码装置可以通过运动估计过程来导出当前块的最佳运动信息。例如,编码装置可以使用当前块的原始画面中的原始块,在参考画面内的预定搜索范围内搜索以像素部分(fractional pixel)为单位具有高相关性的相似参考块,并由此导出运动信息。可以根据基于相位的样本值之差来导出块的相似度。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的SAD来计算块的相似度。在此情况下,可以基于搜索区域中具有最小SAD的参考块来导出运动信息。可以基于帧间预测模式,根据各种方法将导出的运动信息发信号通知到解码装置。

图12是示出作为应用了本公开的一个实施方式的在合并模式或跳过模式中使用的相邻块的图。

当应用合并模式时,不直接传输当前预测块的运动信息,并且使用相邻预测块的运动信息来导出当前预测块的运动信息。因此,可以通过传输指示已经使用了合并模式的标志信息和指示已经使用了哪个相邻预测块的合并索引来指示当前预测块的运动信息。

编码器可以搜索用于导出当前预测块的运动信息的合并候选项块以执行合并模式。例如,可以使用最多五个合并候选项块,但是本公开不限于此。此外,可以在切片报头(slice header)(或图块组报头,tile group header)中传输合并候选项块的最大数量,并且本公开不限于此。在找到合并候选项块之后,编码器可以生成合并候选项列表,并且在其中选择具有最低成本的合并候选项块作为最终合并候选项块。

本公开提供了构建合并候选项列表的合并候选项块的各种实施方式。

合并候选项列表可以使用例如五个合并候选项块。例如,可以使用四个空间合并候选项和一个时间合并候选项。作为特定示例,在空间合并候选项的情况下,图12所示的块可以用作空间合并候选项。

图13是示出根据应用了本公开的一个实施方式的构建合并候选项列表的方法的流程图。

参照图13,编码装置(编码器/解码器)将通过搜索当前块的空间相邻块而导出的空间合并候选项插入到合并候选项列表中(S1301)。例如,空间相邻块可以包括当前块的左下角相邻块、左侧相邻块、右上角相邻块、上侧相邻块和左上角相邻块。然而作为示例,除上述空间相邻块之外,还可以将诸如右侧相邻块、下侧相邻块和右下相邻块的附加相邻块用作空间相邻块。编码装置可以通过基于优先级搜索空间相邻块来检测可用块,并且导出所检测的块的运动信息作为空间合并候选项。例如,编码器和解码器可以按A1、B1、B0、A0和B2的顺序搜索图12中所示的五个块,并且顺序地将可用候选项编入索引(index)以构建合并候选项列表。

编码装置将通过搜索当前块的时间相邻块而导出的时间合并候选项插入到合并候选项列表中(S1302)。时间相邻块可以位于作为与当前块所在的当前画面不同的画面的参考画面上。时间相邻块所在的参考画面可以被称为并置画面或col画面。可以在col画面上按照当前块的并置块的右下角相邻块和右下中央块的顺序搜索时间相邻块。

另一方面,当应用运动数据压缩时,可以将特定运动信息存储为col画面中的各个预定存储单元的代表性运动信息。在此情况下,不必将所有块的运动信息都存储在预定存储单元中,并且由此能够获得运动数据压缩效果。在此情况下,预定存储单元可以例如预定为16×16样本单元或8×8样本单元,或者可以将关于预定存储单元的尺寸信息从编码器发信号通知到解码器。当应用运动数据压缩时,可以用时间相邻块所在的预定存储单元的代表性运动信息来替换时间相邻块的运动信息。

即,在此情况下,就实现方式而言,可以不基于时间相邻块的坐标处的预测块来导出时间合并候选项,而是基于在基于时间相邻块的坐标算术右移(arithmetic rightshift)预定值之后覆盖算术左移位置(左上样本位置)的预测块的运动信息来导出时间合并候选项。例如,当预定存储单元是2n×2n样本单元时,如果时间相邻块的坐标是(xTnb,yTnb),则位于修改位置((xTnb>>n)<>n)<

具体地,例如,当预定存储单元是16×16样本单元时,如果时间相邻块的坐标是(xTnb,yTnb),则位于修改位置((xTnb>>4)<<4),(yTnb>>4)<<4))的预测块的运动信息可用于时间合并候选项。或者,例如,当预定存储单元是8×8样本单元时,如果时间相邻块的坐标是(xTnb,yTnb),则位于修改位置((xTnb>>3)<<3),(yTnb>>3)<<3))的预测块的运动信息可以用于时间合并候选项。

编码装置可以检查当前合并候选项的数量是否小于最大合并候选项的数量(S1303)。最大合并候选项的数量可以是预定义的,或者可以从编码器被发信号通知到解码器。例如,编码器可以生成并且编码关于最大合并候选项的数量的信息,并且以比特流形式将该信息传输到解码器。当最大合并候选项的数量满员时,可以不执行随后的候选项添加处理。

作为检查的结果,在当前合并候选项的数量小于最大合并候选项的数量时,编码装置将附加合并候选项插入到合并候选项列表中(S1304)。附加合并候选项可以例如包括ATMVP、组合的双向预测合并候选项(combined bi-predictive merge candidate)(在当前切片的切片类型是B类型时)和/或零矢量合并候选项。

作为检查的结果,在当前合并候选项的数量不小于最大合并候选项的数量时,编码装置可以终止合并候选项列表的构建。在此情况下,编码器可以基于率失真(rate-distortion,RD)成本在构成合并候选项列表的合并候选项当中选择最佳合并候选项,并且向解码器发信号通知指示选定合并候选项的选择信息(例如合并索引)。解码器可以基于合并候选项列表和选择信息来选择最佳合并候选项。

如上所述,可以将选定合并候选项的运动信息用作当前块的运动信息,并且可以基于当前块的运动信息来导出当前块的预测样本。编码器可以基于预测样本来导出当前块的残差样本,并且将关于残差样本的残差信息发信号通知到解码器。如上所述,解码器可以生成基于残差信息导出的残差样本和基于预测样本的重构样本,并在此基础上生成重构画面。

当应用跳过模式时,可以以与先前应用合并模式的情况相同的方式导出当前块的运动信息。然而,当应用跳过模式时,省略了对应块的残差信号,因此预测样本可以直接用作重构样本。

图14是示出根据应用了本公开的一个实施方式的构建合并候选项列表的方法的流程图。

当应用运动矢量预测(MVP)模式时,可以使用重构的空间相邻块(例如,其可以是图12中描述的相邻块)的运动矢量和/或与时间相邻块(或Col块)相对应的运动矢量来生成运动矢量预测值(mvp)候选项列表。即,可以将重构的空间相邻块的运动矢量和/或与时间相邻块相对应的运动矢量用作运动矢量预测值候选。

关于预测的信息可以包括指示在列表中包括的运动矢量预测值候选项当中的选定最佳运动矢量预测值候选项的选择信息(例如,MVP标志或MVP索引)。在此情况下,预测器可以使用该选择信息在运动矢量候选项列表中包括的运动矢量预测值候选项当中选择当前块的运动矢量预测值。编码装置的预测器可以获得当前块的运动矢量和运动矢量预测值之间的运动矢量差(MVD),对其进行编码,并且以比特流形式将其输出。即,可以通过从当前块的运动矢量减去运动矢量预测值来获得MVD。在此情况下,解码装置的预测器可以获得关于预测的信息中所包括的运动矢量差,并且通过将运动矢量差和运动矢量预测值相加来导出当前块的运动矢量。解码装置的预测器可以从关于预测的信息获得或导出指示参考画面的参考画面索引。例如,可以如图14所示构建运动矢量预测值候选项列表。

图15和图16是用于解释作为应用了本公开的一个实施方式的导出高级时间运动矢量预测(ATMVP)候选项的方法的图。

参照图15,ATMVP是基于时间相邻画面的并置块的运动信息来导出编码单元的子块的运动信息的方法。由此,能够提高时间运动矢量预测(TMVP)的性能,并且能够降低一般或最坏情况的复杂性。在本公开中,也可以将ATMVP称为基于子块的时间合并候选项SbTMVP。

在本公开的一个实施方式中,可以通过以下处理来导出ATMVP。

首先,如果相邻编码单元可用,并且可用编码单元的运动矢量与当前候选项列表中的运动矢量不同,则编码器/解码器可以添加来自空间相邻编码单元的运动矢量。例如,参照图16,可以以A1、B1、B0、A0和B2的顺序执行上述处理。作为另一示例,为了改善复杂性,上述处理可以仅使用固定位置(例如,位置A1)处的块的运动矢量来导出ATMVP。

编码器/解码器可以用于确定可用的No个空间候选项中的第一运动矢量候选项的位置以导出每个子块的并置画面和运动信息。在此,No表示可用空间候选项的数量。如果No为0,则运动0的并置画面和并置位置可以用于导出每个子块的运动信息。

当使用多个参考画面时,ATMVP中不同编码单元的并置画面可以不相同。对于当前画面中的不同编码单元而言,具有不同的用于导出ATMVP的并置画面表示必须导出多个参考画面的运动信息场(motion information field),这是不希望发生的,因为这会增大存储器带宽。

因此,本公开提供了更加简化的设计,其在导出ATMVP时使用相同的并置画面。例如,可以在切片(或图块组)报头中定义使用相同的并置画面的方法,但是本公开不限于此。例如,在块级别,如果相邻块A的参考画面与并置画面不同,则可以基于时间运动矢量缩放方法(temporal motion vector scaling method)来缩放相邻块A的运动矢量。此外,可以在ATMVP中使用相邻块A的经缩放的运动矢量。

图17是示出作为应用了本公开的一个实施方式的导出高级时间运动矢量预测(ATMVP)候选项的方法的图。

参照图17,在本公开的一个实施方式中,由于使用当前块的右下块或当前块的中央位置处的时间相邻块(或colPB)的运动矢量的TMVP没有反映屏幕中的运动,所以编码器/解码器可以将由相邻块的运动矢量指示的位置处的colPB的运动矢量用作MVP。

例如,编码器/解码器可以首先在以与图17所示的合并候选项构建序列相同的方式进行检查的同时寻找可用空间相邻块的运动矢量。此外,参考画面中的由运动矢量指示的位置可以导出为Col-PB(即ATMVP候选项)。

此外,该运动矢量可以以子块为单位用作对应块的运动矢量。此时,如果在特定子块中不存在运动矢量,则可以将位于对应块的中央的中央块的运动矢量用作不可用子块的运动矢量,并且可以将其存储为代表性运动矢量。

在本公开的一个实施方式中,为了压缩时间运动矢量数据,提出了一种基于空间候选项的运动矢量数据来减少时间运动矢量存储的方法。

图18和图19是示出根据应用了本公开的一个实施方式的压缩时间运动矢量数据和其中使用的空间候选项的位置的方法的图。

参照图18,在本公开的一个实施方式中,当通过帧间预测来预测空间候选项时,可以将空间候选项的运动矢量设置为用于压缩的默认运动矢量。例如,可以将最多五个空间候选项作为用于导出基本时间运动矢量的参考时间运动信息。在一个实施方式中,可以如图19所示地设置五个空间候选项。

此外,可以基于空间候选项的运动矢量来压缩时间运动矢量数据。搜索空间候选项的顺序可以如图18所示。可以根据中央块C、左上块TL、右上块TR、左下块BL和右下块BR的顺序来检查空间候选项。这仅仅是一个实施方式,并且本公开不限于此,并且可以应用其它可组合序列。

首先,编码器/解码器可以检查是否对中央块C进行了帧间预测。如果对中央块C进行了帧间预测,则编码器/解码器可以将中央块C的运动矢量设置为运动矢量预测的默认值。

如果没有对中央块C进行帧间预测,则编码器/解码器可以检查是否对左上块TL进行了帧间预测。如果对左上块TL进行了帧间预测,则编码器/解码器可以将左上块TL的运动矢量设置为运动矢量预测的默认值。

如果没有对左上块TL进行帧间预测,则编码器/解码器可以检查是否对右上块TR进行了帧间预测。如果对右上块TR进行了帧间预测,则编码器/解码器可以将右上块TR的运动矢量设置为运动矢量预测的默认值。

如果没有对右上块TR进行帧间预测,则编码器/解码器可以检查是否对左下块BL进行了帧间预测。如果对左下块BL进行了帧间预测,则编码器/解码器可以将左下块BL的运动矢量设置为运动矢量预测的默认值。

如果没有对左下块BL进行帧间预测,则编码器/解码器可以检查是否对右下块BR进行了帧间预测。如果对右下块BR进行了帧间预测,则编码器/解码器可以将右下块BR的运动矢量设置为运动矢量预测的默认值。

如果没有对右下块BR进行帧间预测,则编码器/解码器可以将帧内模式设置为默认值。

通过上述处理,编码器/解码器可以将默认运动矢量压缩为运动信息。

在本公开的一个实施方式中,提出了一种基于自适应子块尺寸执行ATMVP的方法。例如,可以将用于导出ATMVP的子块尺寸自适应地应用到切片级别。

另一方面,如果以4×4块为单位导出ATMVP运动信息,则可能存在在一个ATMVP编码单元中以每个4×4子块为单位执行运动导出和运动补偿的问题。

为了解决这个问题,编码器可以在序列级别(sequence level)向解码器发信号通知用于导出ATMVP运动的一个默认子块尺寸。

作为另一示例,当在当前切片中使用默认子块尺寸时,可以在画面或切片级别发信号通知标志。当标志为假时,可以在切片报头中另行发信号通知ATMVP子块尺寸。

在本公开中,用于ATMVP的并置块的区域可以包括当前CTU和并置画面中的一列(column)的N×N块。例如,N×N块可以是4×4块,但是本公开不限于此。

如果由合并候选项的运动矢量标识的ATMVP并置块位于限制区域之外,则可以将其移动到位于限制区域内。例如,可以将其移动到位于限制区域内的最近边界处。

在本公开的一个实施方式中,编码器/解码器可以将基于空间相邻块的运动信息指定的并置画面中的并置块(或并置子块)的运动信息添加到子块合并候选项列表中,作为基于子块的时间合并候选项。

在本公开中,可以将空间相邻块的运动信息称为时间运动矢量。作为一个实施方式,在当前编码块的宽度和高度大于或等于预定的特定尺寸时,编码器/解码器可以导出基于子块的时间合并候选项。例如,预定的特定尺寸可以是8。

作为一个实施方式,编码器/解码器可以将可用空间候选项中的第一空间候选项的运动信息设置为时间运动矢量。例如,编码器/解码器可以按照A1、B1、B0和A0的顺序搜索可以用空间候选项。在此情况下,编码器/解码器可以将可用空间候选项中的与并置画面具有相同的参考画面的空间候选项设置为时间运动矢量。作为另一示例,编码器/解码器可以检查一个固定位置的空间候选项是否可用,并且如果可用,则可以将对应空间候选项的运动矢量设置为时间运动矢量。例如,可以将该一个固定位置的空间候选项设置为位置A1的块。

此外,编码器/解码器可以通过使用时间运动矢量来指定并置画面中的并置块的位置。例如,可以使用下面的等式1。

[等式1]

xColCb=Clip3(xCtb,Min(CurPicWidthinSamplesY-1,xCtb+(1<>4))

yColCb=Clip3(yCtb,Min(CurPicHeightinSamplesY 1,yCtb+(1<>4))

在此,(xColCtrCb,yColCtrCb)表示包括中央位置处的右下样本的并置编码块的左上样本的位置,并且tempMv表示时间运动矢量。

此外,编码器/解码器可以以子块为单位确定位置以导出当前编码块中的每个子块的运动信息。在一个实施方式中,可以使用下面的等式2导出并置画面中的并置子块的位置。

[等式2]

xColSb=Clip3(xCtb,Min(CurPicWidthlnSamplesY-1,xCtb+(1<>4))

yColSb=Clip3(yCtb,Min(CurPicHeightinSamplesY-1,yCtb+(1<>4))

在此,(xSb,ySb)表示当前子块的位置。

在一个实施方式中,当并置子块当前不可用时,编码器/解码器可以使用通过时间运动矢量指定的并置块的运动信息。

通常,通过无限制地使用在参考画面列表中配置的所有参考画面来导出通过高级时间运动矢量预测(ATMVP)得到的时间运动矢量。即,为了导出时间运动矢量,可以增加参考画面的数量,从而导致时间运动数据的存储器带宽的增大。

因此,本公开的一个目标是提出一种从一个参考画面导出时间运动矢量的方法,以解决这个问题。

此外,本公开的一个目标是提出一种通过以信号通知的语法来选择用于导出时间运动矢量的一个参考画面的方法。

此外,本公开的一个目标是提出一种选择基于画面次序计数(picture ordercount)来用于导出时间运动矢量的一个参考画面的方法。

此外,本公开的一个目标是提出一种选择用于导出高级时间运动矢量预测(ATMVP)的空间候选项的方法。

此外,本公开的一个目标是提出一种基于来自一个参考画面的反向映射(backward mapping)导出时间运动矢量的方法。

在本公开的一个实施方式中,编码器/解码器可以使用一个参考画面来导出时间运动矢量,以改善存储器带宽。

可以从已经在编码器和解码器中解码的所有参考画面导出时间运动数据。然而,无限制地从所有参考画面导出时间运动矢量的方法导致增大存储器带宽的问题以及在使用时间存储器结构来存储参考画面的运动数据的硬件处的存储器使用问题。

因此,为了解决这个问题,本实施方式中提出的方法能够从预定义参考画面导出时间运动矢量。将参照以下附图进行描述。

图20是示出根据应用了本公开的一个实施方式的使用固定参考画面来导出时间运动矢量的方法的图。

参照图20,假设在参考画面列表0方向上存在一个预定义参考画面。

编码器/解码器可以将用于导出当前块的时间候选项的参考画面固定为预定义参考画面。如图20所示,虽然存在用于导出时间运动矢量的其它参考画面,但是可以仅参考由特定方法预定义参考画面来导出时间运动数据。

在一个实施方式中,可以将预定义参考画面设置为并置画面。在本公开中,并置画面可以被称为col画面。可以通过各种方法确定预定义参考画面。下面对其进行描述。

作为一个实施方式,在将ATMVP模式应用于当前块时,编码器/解码器可以使用空间候选项的运动矢量来指定预定义参考画面中的块,并且从指定块以子块为单位导出当前块的运动矢量。

在一个实施方式中,上述图20是导出时间代表性运动矢量的方法,并且可以将时间代表性运动矢量选择为与当前块的中央位置相对应的块的时间运动矢量。

此外,在一个实施方式中,如果并置画面中的对应于当前块的块(或并置块)未通过帧间预测进行编码(即,如果其通过画面内块复制或画面内预测进行编码),或者如果在对应块中不存在时间运动矢量,则编码器/解码器可以使用时间代表性运动矢量导出当前块中的子块的时间运动矢量。在本公开中,时间代表性运动矢量可以被称为中央位置子块的运动矢量、默认运动矢量或默认子块运动矢量等。在本公开的一个实施方式中,在基于从空间候选项确定的时间候选项块的位置以子块为单位导出ATMVP时间运动矢量的处理中,如果对应于当前子块的块不具有时间运动矢量,则可以基于时间代表性运动矢量(或中央位置子块的运动矢量、默认运动矢量和默认子块运动矢量)导出当前子块的运动矢量。

在本公开的一个实施方式中,可以通过以信号通知的语法选择用于导出时间运动矢量的一个参考画面。即,指示用于导出时间运动矢量的参考画面的语法可以从编码器被发信号通知,以在参考画面列表中所包括的参考画面中选择一个特定参考画面。下面的表2示出了提出的语法的示例。

[表2]

在表2中,ref_idx_for_temporal_motion_vector_prediction语法(语法元素)表示用于导出时间运动矢量的参考画面。可以通过ref_idx_for_termemporal_motion_vector_prediction语法来指定参考画面列表中的用于导出时间运动矢量的参考画面,并且编码器/解码器可以从指定的参考画面导出子块的运动矢量。

可以通过序列参数集、画面参数集或切片报头(或图块组报头)来传输表2的语法元素。

如上所述,在一个实施方式中,一个固定参考画面可以是并置画面。下面的表3示出了提出的语法的另一示例。

[表3]

参照表3,collocated_from_l0_flag语法(或语法元素)是指示用于时间运动矢量预测的并置画面的参考画面列表方向的语法,并且collocated_ref_idx语法是指示并置画面索引的语法。

可以通过序列参数集、画面参数集或切片报头(或图块组报头)来传输表3的语法元素。

在一个实施方式中,在基于从空间候选项确定的时间候选项块的位置以子块为单位导出ATMVP时间运动矢量的处理中,如果对应于当前子块的块不具有时间运动矢量,则可以基于时间代表性运动矢量(或中央位置子块的运动矢量、默认运动矢量和默认子块运动矢量)导出当前子块的运动矢量。

此外,在一个实施方式中,如果并置画面中的对应于当前块的块(或并置块)未通过帧间预测进行编码(即,如果其通过画面内块复制或画面内预测进行编码),或者如果在对应块中不存在时间运动矢量,则编码器/解码器可以使用时间代表性运动矢量来导出当前块中的子块的时间运动矢量。在本公开中,时间代表性运动矢量可以被称为中央位置子块的运动矢量、默认运动矢量或默认子块运动矢量等。

在本公开的一个实施方式中,可以基于画面次序计数(POC)在编码器和解码器中定义用于导出时间运动矢量的参考画面。

图21是示出作为应用了本公开的一个实施方式的导出用于时间运动矢量预测的固定参考画面的方法的图。

参照图21,在一个实施方式中,可以将固定参考画面定义为参考画面列表中的最靠近当前画面的参考画面。在图21中,假设当前画面的POC是6,参考画面列表0的三个参考画面的POC分别是2、3和4,并且参考画面列表1的一个参考画面的POC是10。

在此情况下,可以将用于时间运动矢量预测的固定参考画面设置为具有POC 4的参考画面。即,参考画面列表中的最近画面可以与当前画面具有最小POC差。

图22是示出作为应用了本公开的一个实施方式的导出用于时间运动矢量预测的固定参考画面的方法的图。

参照图22,假设当前画面的POC是6,参考画面列表0的三个参考画面的POC分别是2、3和4,并且参考画面列表1的一个参考画面的POC是8。此外,假设POC4的参考画面具有为3的时间ID,并且POC8的参考画面具有为0的时间ID。

在一个实施方式中,当参考画面列表中存在具有相同POC距离的具有最小POC差的参考画面时,编码器/解码器可以选择具有最小POC差和最小时间ID的参考画面作为时间运动矢量预测的参考画面。即,可以将参考画面列表1的POC 8的参考画面设置为用于时间运动矢量预测的参考画面。

在一个实施方式中,上述图21和图22是导出时间代表性运动矢量的方法,并且可以将时间代表性运动矢量选择为与当前块的中央位置相对应的块的时间运动矢量。

在一个实施方式中,在基于从空间候选项确定的时间候选项块的位置以子块为单位导出ATMVP时间运动矢量的处理中,如果对应于当前子块的块不具有时间运动矢量,则可以基于时间代表性运动矢量(或中央位置子块的运动矢量、默认运动矢量和默认子块运动矢量)导出当前子块的运动矢量。

此外,在一个实施方式中,如果并置画面中的对应于当前块的块(或并置块)未通过帧间预测进行编码(即,如果其通过画面内块复制或画面内预测进行编码),或者如果在对应块中不存在时间运动矢量,则编码器/解码器可以使用时间代表性运动矢量导出当前块中的子块的时间运动矢量。在本公开中,可以将时间代表性运动矢量称为中央位置子块的运动矢量、默认运动矢量或默认子块运动矢量等。

在本公开的一个实施方式中,提出一种选择用于导出ATMVP的空间候选项的方法。如上所述,ATMVP是使用来自参考画面的时间运动数据的技术。ATMVP从时间候选项块导出时间运动数据,其中时间候选项块的位置通过空间相邻候选项的运动矢量确定。

传统的ATMVP方法在理论上能够参照参考画面列表中的所有参考画面。也就是说,可以基于空间候选项中的选定候选项的运动信息来定义用于导出时间运动矢量的参考画面。在最坏的情况下,由于所有空间候选项参照不同的参考画面,所以可能出现许多参考画面用于导出ATMVP的情况。

因此,在本公开的一个实施方式中,编码器/解码器可以选择一个预定义参考画面作为用于导出ATMVP的空间候选项。

图23和图24是示出作为应用了本公开的一个实施方式的选择用于导出ATMVP候选项的空间候选项的方法和使用选定空间候选项以子块为单位执行运动补偿的方法的图。

参照图23,在一个实施方式中,可以将空间候选项的搜索顺序设置为A块、B块、C块、D块和E块。编码器/解码器可以选择空间候选项列表中的第一有效空间候选项作为用于导出ATMVP的空间候选项。在此情况下,当前块周围的空间候选项可以指示(或参照)如图23所示的一个或更多个参考画面。在图23中,假设将预定义参考画面定义为具有为0的参考画面索引的参考画面。

编码器/解码器可以在参照与预定义参考画面相同的参考画面的空间候选项中选择具有最早搜索顺序的空间候选项B作为用于导出ATMVP的空间候选项。

参照图24,编码器/解码器可以通过使用选定空间候选项B的运动信息来标识当前块在预定义参考画面中的对应块(或参考块)。此外,编码器/解码器可以通过使用对应块的运动矢量来以子块为单位导出当前块的运动矢量。

此外,可能存在在空间候选项中不存在参照与预定义参考画面相同的参考画面的空间候选项。在此情况下,编码器/解码器可以通过以下方法确定用于导出ATMVP的运动矢量。

作为第一种方法,编码器/解码器可以使用零运动矢量。即,编码器/解码器可以使用零运动矢量在预定义参考画面中指定与当前块位于相同位置的块,并且以子块为单位从指定块导出运动矢量。

作为第二种方法,当不存在参照与预定义参考画面相同的参考画面的空间候选项时,编码器/解码器可以不使用ATMVP候选项。

作为第三种方法,编码器/解码器可以将第一有效空间候选项的运动矢量缩放至预定义画面。将参照以下附图进行描述。

图25是示出根据应用了本公开的一个实施方式的导出时间运动矢量的方法的图。

参考图25,假设有效空间候选项A的运动矢量表示为MVx和MVy。在本公开的一个实施方式中,可以将未参照预定义参考画面的有效空间候选项A的运动矢量缩放至预定义参考画面。在图25中,可以将经缩放的运动矢量表示为缩放MVx和缩放MVy。

在一个实施方式中,编码器/解码器可以基于画面次序计数(POC)而将候选项的运动矢量缩放至预定义参考画面。

此外,在一个实施方式中,可以将预定义参考画面设置为并置画面。在此情况下,可以将空间候选项的运动矢量缩放至并置画面。

在本公开中,假设对多个空间相邻块进行搜索以导出ATMVP候选项,但本公开不限于此。例如,编码器/解码器可以使用固定位置(例如图25中的位置块A)处的空间相邻块的运动矢量来导出ATMVP候选项。

在一个实施方式中,上述图23到图25是导出时间代表性运动矢量的方法,并且可以将时间代表性运动矢量选择为与当前块的中央位置相对应的块的时间运动矢量。

在一个实施方式中,在基于从空间候选项确定的时间候选项块的位置以子块为单位导出ATMVP时间运动矢量的处理中,如果对应于当前子块的块不具有时间运动矢量,则可以基于时间代表性运动矢量导出当前子块的运动矢量。在本公开中,可以将时间代表性运动矢量称为中央位置子块的运动矢量、默认运动矢量或默认子块运动矢量等。

此外,在一个实施方式中,如果并置画面中的对应于当前块的块(或并置块)未通过帧间预测进行编码(即,如果其通过画面内块复制或画面内预测进行编码),或者如果在对应块中不存在时间运动矢量,则编码器/解码器可以使用时间代表性运动矢量导出当前块中的子块的时间运动矢量。在本公开中,可以将时间代表性运动矢量称为中央位置子块的运动矢量、默认运动矢量或默认子块运动矢量等。

在本发明的一个实施方式中,可以应用基于从一个参考画面的反向映射而导出时间运动矢量的方法。

图26和图27是示出根据本公开的一个实施方式的使用反向映射来导出时间运动矢量的方法的图。

参照图26,编码器/解码器可以通过如图26所示的反向映射使用多个参考画面中的运动数据,并且可以在此基础上导出时间运动矢量。在此情况下,作为一个实施方式,对其执行了反向映射的候选项可以是单侧(unilateral)候选项或双侧候选项。

在一个实施方式中,为了改善存储器带宽,可以预先定义用于反向映射的参考画面。此外,可以将用于反向映射的候选项限制为单侧候选项。

参照图27,可以将反向映射过程应用于只包括单侧候选项的预定义画面。

在一个实施方式中,上述图26和图27是导出时间代表性运动矢量的方法,并且可以将时间代表性运动矢量选择为与当前块的中央位置相对应的块的时间运动矢量。

在一个实施方式中,在基于从空间候选项确定的时间候选项块的位置以子块为单位导出ATMVP时间运动矢量的处理中,如果对应于当前子块的块不具有时间运动矢量,则可以基于时间代表性运动矢量(或中央位置子块的运动矢量、默认运动矢量和默认子块运动矢量)导出当前子块的运动矢量。

此外,在一个实施方式中,如果并置画面中的对应于当前块的块(或并置块)未通过帧间预测进行编码(即,如果其通过画面内块复制或画面内预测进行编码),或者如果在对应块中不存在时间运动矢量,则编码器/解码器可以使用时间代表性运动矢量来导出当前块中的子块的时间运动矢量。在本公开中,可以将时间代表性运动矢量称为中央位置子块的运动矢量、默认运动矢量或默认子块运动矢量等。

为了便于说明,已经分别描述了上述本公开的实施方式,但是本公开不限于此。即,上述实施方式1至3中描述的实施方式可以独立地执行,或者可以通过组合一个或更多个实施方式来执行。

图28是示出根据应用了本公开的一个实施方式的生成帧间预测块的方法的流程图。

参照图28,为了便于解释,主要描述解码器,但是本公开不限于此,并且根据本公开的一个实施方式的生成帧间预测块的方法可以在编码器和解码器中以相同的方式执行。

解码器导出当前块周围的可用空间相邻块的运动矢量(S2801)。作为一个实施方式,在将基于子块的时间运动矢量预测应用于当前块时,解码器可以导出当前块的可用空间相邻块的运动矢量。

解码器基于空间相邻块的运动矢量导出当前块的并置块(S2802)。

解码器基于并置块的运动矢量在当前块中子块为单位导出运动矢量(S2803)。

解码器使用以子块为单位导出的运动矢量来生成当前块的预测块(S2804)。

作为一个实施方式,可以通过空间相邻块的运动矢量在一个预定义参考画面中指定并置块。

如上所述,解码器可以基于画面次序计数(POC)来缩放空间相邻块的运动矢量。

此外,如上所述,解码器可以基于空间相邻块的第一参考画面和由空间相邻块的运动矢量指定的块的第二参考画面之间的画面次序计数(POC)差,以及当前画面和该一个预定义参考画面之间的POC差来缩放空间相邻块的运动矢量,并且可以使用经缩放的运动矢量来导出该一个预定义参考画面中的并置块。

此外,如上所述,可以通过序列参数集、画面参数集或图块组报头,从编码器发信号通知该一个预定义参考画面。

此外,如上所述,可以将该一个预定义参考画面定义为当前块的参考画面列表中基于POC最靠近当前画面的参考画面。

此外,如上所述,当在当前块的参考画面列表中存在多个基于POC最靠近当前画面的参考画面时,可以将该一个预定义参考画面定义为参考画面中的具有最小时间ID的参考画面。

图29是示出根据应用了本公开的一个实施方式的帧间预测装置的图。

在图29中,为了便于描述,将帧间预测器示出为一个块,但是帧间预测器可以被实现为编码器和/或解码器中包括的配置。

参照图29,帧间预测器实现以上图8到图28提出的功能、处理和/或方法。具体地,帧间预测器可以被配置为包括空间候选项导出单元2901、并置块导出单元2902、子块运动矢量导出单元2903和预测块生成器2904。

空间候选项导出单元2901导出当前块周围的可用空间相邻块的运动矢量。作为一个实施方式,在对当前块应用基于子块的时间运动矢量预测时,空间候选项导出单元2901可以导出当前块的可用空间相邻块的运动矢量。

并置块导出单元2902基于空间相邻块的运动矢量导出当前块的并置块。

子块运动矢量导出单元2903基于并置块的运动矢量在当前块中以子块为单位导出运动矢量。

预测块生成器2904使用以子块为单位导出的运动矢量来生成当前块的预测块。

作为一个实施方式,可以通过一个预定义参考画面中的空间相邻块的运动矢量来指定并置块。

如上所述,并置块导出单元2902可以基于画面次序计数(POC)来缩放空间相邻块的运动矢量。

此外,如上所述,并置块导出单元2902可以基于空间相邻块的第一参考画面和由空间相邻块的运动矢量指定的块的第二参考画面之间的画面次序计数(POC)差,以及当前画面和该一个预定义参考画面之间的POC差来缩放空间相邻块的运动矢量,并且可以使用经缩放的运动矢量来导出该一个预定义参考画面中的并置块。

此外,如上所述,可以通过序列参数集、画面参数集或图块组报头从编码器发信号通知该一个预定义参考画面。

此外,如上所述,可以将该一个预定义参考画面定义为在当前块的参考画面列表中基于POC最靠近当前画面的参考画面。

此外,如上所述,当在当前块的参考画面列表中存在多个基于POC最靠近当前画面的参考画面时,可以将该一个预定义参考画面定义为参考画面中的具有最小时间ID的参考画面。

图30示出了应用本公开的视频编码系统。

视频编码系统可以包括源装置和接收装置。源装置可以通过数字存储介质或网络以文件或流传输格式将编码的视频/图像信息或数据转发到接收装置。

源装置可以包括视频源、编码装置和发送器。接收装置可以包括接收器、解码装置和渲染器。编码装置可以被称为视频/图像编码装置,并且解码装置可以被称为视频/图像解码装置。发送器可以被包括在编码装置中。接收器可以被包括在解码装置中。渲染器可以包括显示单元,并且显示单元可以被构造为独立装置或外部组件。

视频源可以通过诸如拍摄、合成或生成的处理来获得视频/图像。视频源可以包括视频/图像拍摄装置和/或视频/图像生成装置。例如,视频/图像拍摄装置可以包括一个或更多个照相机以及包括先前拍摄的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板和智能电话,并且可以(电子地)例如生成视频/图像。例如,可以通过计算机生成虚拟视频/图像,并且在此情况下,可用生成相关数据的处理来代替视频/图像拍摄处理。

编码装置可以对输入视频/图像进行编码。编码装置可以执行包括预测、变换和量化等的一系列处理,以实现压缩和编码效率。

发送器可以通过数字存储介质或网络将以比特流格式输出的编码视频/图像信息或数据以文件或流传输格式转发到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD等的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行传输的元件。接收器可以提取比特流并且将其转发到解码装置。

解码装置可以执行包括对应于编码装置的操作的解量化、逆变换和预测等的一系列处理,并且对视频/图像进行解码。

渲染器可以渲染解码的视频/图像。可以通过显示单元来显示渲染的视频/图像。

图31是作为应用了本公开的一个实施方式的内容流传输系统的配置图。

应用了本公开的内容流传输系统可以包括编码服务器、流传输服务器、web服务器、媒体存储部、用户设备和多媒体输入装置。

编码服务器用于将从诸如智能电话、照相机和摄像机的多媒体输入装置输入的内容压缩成数字数据,以生成比特流并且将比特流发送到流传输服务器。作为另一示例,当诸如智能电话、照相机和摄像机等的多媒体输入装置直接生成比特流时,可以省略编码服务器。

可以通过应用了本公开的编码方法或比特流生成方法来生成比特流,并且流传输服务器能够在发送或接收比特流的处理中临时存储比特流。

流传输服务器基于用户请求通过web服务器向用户设备发送多媒体数据,并且web服务器用作向用户通知服务的介质。当用户向web服务器发送对所需服务的请求时,web服务器将该请求传递到流传输服务器,并且流传输服务器向用户发送多媒体数据。在此,内容流传输系统可以包括附加的控制服务器,并且在此情况下,控制服务器用于控制内容流传输系统中的装置之间的命令/响应。

流传输服务器可以从媒体存储部和/或编码服务器接收内容。例如,当从编码服务器接收内容时,流传输服务器能够实时接收内容。在此情况下,流传输服务器可以将比特流存储预定时间,以提供流畅的流传输服务。

用户设备的示例可以包括蜂窝电话、智能电话、膝上型计算机、数字广播终端、PDA(个人数字助理)、PMP(便携式多媒体播放器)、导航装置、板PC,平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜和HMD(头戴式显示器))、数字电视、台式计算机、数字标牌等。

内容流传输系统中的每个服务器可以作为分布式服务器操作,并且在此情况下,能够以分布式方式处理每个服务器接收的数据。

可以在处理器、微处理器、控制器或芯片上实现和执行本公开中描述的实施方式。例如,可以在计算机、处理器、微处理器、控制器或芯片上实现和执行附图中所示的功能单元。

此外,应用了本公开的解码器和编码器可以被包括在多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频对话装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、顶置(OTT)视频装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话装置和医疗视频装置中,并且可以用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏控制台、蓝光播放器、互联网接入TV,家庭影院系统、智能电话、平板PC和数字录像机(DVR)。

此外,应用了本公开的处理方法可以以由计算机执行的程序的形式制造,并且可以存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括其中存储计算机可读数据的所有类型的存储装置。计算机可读记录介质例如可以包括蓝光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、磁盘和光学数据存储装置。此外,计算机可读记录介质包括以载体(例如,通过互联网传输)的形式实现的介质。此外,使用编码方法生成的比特流可以存储在计算机可读记录介质中,或者可以通过有线和无线通信网络传输。

此外,可以使用程序代码将本公开的实施方式实现为计算机程序产品。程序代码可以由根据本公开的一个实施方式的计算机执行。程序代码可以存储在计算机可读的载体上。

在上述实施方式中,以特定形式组合了本公开的元件和特征。每个元件或特征可以被视为是可选的,除非另有明确说明。每个元件或特征可以以不与其它元件或特征组合的形式实现。此外,可以组合一些元件和/或特征以形成本公开的实施方式。在本公开的实施方式中描述的操作顺序可以改变。一个实施方式的一些元件或特征可以被包括在另一实施方式中,或者可用另一实施方式的对应元件或特征代替。显然,可以通过组合权利要求中的不具有明确引用关系的权利要求来构建一个实施方式,或者可以在提交申请之后通过修改而将该实施方式包括为新的权利要求。

根据本公开的实施方式可以通过各种方式实现,例如硬件、固件、软件或其组合。在通过硬件实现的情况下,可以使用一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现本公开的实施方式。

在通过固件或软件实现的情况下,可以以用于执行上述功能或操作的模块、过程或功能的形式来实现本公开的实施方式。软件代码可以存储在存储器中并且由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知方式与处理器交换数据。

对于本领域技术人员显而易见的是,在不脱离本公开的本质特征的情况下,可以以其它特定形式来实现本公开。因此,具体实施方式不应被解释为是限制性的,而应被解释为从所有方面而言都是例示性的。应当通过对所附权利要求的合理分析来确定本公开的范围,并且在本公开的等同范围内的所有变化都包括在本公开的范围内。

工业实用性

已经出于例示目的公开了本公开的上述优选实施方式,并且本领域技术人员可以在不脱离所附权利要求公开的技术精神和范围的情况下改进、改变、替代或添加各种其它实施方式。

相关技术
  • 基于帧间预测模式的图像处理方法及其装置
  • 用于基于帧间预测模式处理图像的方法及其装置
技术分类

06120112180798