以基于历史的运动向量为基础的帧间预测方法及其装置

文档序号:835745 发布日期:2021-03-30 浏览:11次 >En<

阅读说明:本技术 以基于历史的运动向量为基础的帧间预测方法及其装置 (Inter-frame prediction method based on history-based motion vector and apparatus thereof ) 是由 朴婡利 南廷学 张炯文 于 2019-08-13 设计创作,主要内容包括:根据本发明的图像解码方法包括以下步骤:推导当前块的基于历史的运动向量预测(HMVP)缓冲器;基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息;基于运动信息来生成当前块的预测样本;以及基于预测样本来生成恢复样本,其中,当处理包括当前块的当前CTU所在的CTU行中的第一CTU时,将HMVP缓冲器初始化。(The image decoding method according to the present invention includes the steps of: deriving a history-based motion vector prediction (HMVP) buffer for a current block; deriving motion information of the current block based on the HMVP candidate included in the HMVP buffer; generating a prediction sample of the current block based on the motion information; and generating recovery samples based on the prediction samples, wherein the HMVP buffer is initialized when processing a first CTU in a CTU row in which a current CTU including the current block is located.)

以基于历史的运动向量为基础的帧间预测方法及其装置

技术领域

本公开涉及图像编码技术,更具体地,涉及一种以基于历史的运动向量为基础的帧间预测方法和设备。

背景技术

最近,在各种领域中对诸如4K或8K超高清(UHD)图像/视频的高分辨率、高质量图像/视频的需求不断增加。随着图像/视频分辨率或质量变得更高,与传统图像/视频数据相比发送相对更多的信息或比特。因此,如果图像/视频数据经由诸如现有有线/无线宽带线路的介质发送或被存储在传统存储介质中,则传输和存储的成本容易增加。

此外,对虚拟现实(VR)和人工现实(AR)内容以及诸如全息图的沉浸式媒体的兴趣和需求日益增长;并且表现出与实际图像/视频不同的图像/视频特性的图像/视频(例如,游戏图像/视频)的广播也日益增长。

因此,需要高度高效的图像/视频压缩技术来有效地压缩并发送、存储或播放如上所述显示出各种特性的高分辨率、高质量图像/视频。

发明内容

技术问题

本公开的目的在于提供一种用于增加图像编码效率的方法和设备。

本公开的另一目的在于提供一种高效的帧间预测方法和设备。

本公开的另一目的在于提供一种用于推导基于历史的运动向量的方法和设备。

本公开的另一目的在于提供一种高效地推导基于历史的运动向量预测(HMVP)候选的方法和设备。

本公开的另一目的在于提供一种高效地将HMVP缓冲器初始化的方法和设备。

技术方案

本公开的实施方式提供了一种由解码设备执行的图像解码方法。该方法包括以下步骤:推导当前块的基于历史的运动向量预测(HMVP)缓冲器;基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息;基于运动信息来生成当前块的预测样本;以及基于预测样本来生成重构样本,并且当处理当前CTU所在的CTU行中的第一顺序CTU时将HMVP缓冲器初始化,并且当前块被包括在当前CTU中。

本公开的另一实施方式提供了一种被配置为执行图像解码的解码设备。该解码设备包括:预测器,其被配置为推导当前块的基于历史的运动向量预测(HMVP)缓冲器,基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息,并且基于运动信息来生成当前块的预测样本;以及加法器,其被配置为基于预测样本来生成重构样本,并且当处理当前CTU所在的CTU行中的第一顺序CTU时将HMVP缓冲器初始化,并且当前块被包括在当前CTU中。

本公开的另一实施方式提供了一种由编码设备执行的图像编码方法。该方法包括以下步骤:推导当前块的基于历史的运动向量预测(HMVP)缓冲器;基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息;基于运动信息来生成当前块的预测样本;基于预测样本来推导残差样本;以及对包括关于残差样本的信息的图像信息进行编码,并且当处理当前CTU所在的CTU行中的第一顺序CTU时将HMVP缓冲器初始化,并且当前块被包括在当前CTU中。

本公开的另一实施方式提供了一种被配置为执行图像编码的编码设备。该编码设备包括:预测器,其被配置为推导当前块的基于历史的运动向量预测(HMVP)缓冲器,基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息,并且基于运动信息来生成当前块的预测样本;残差处理器,其被配置为基于预测样本来推导残差样本;以及熵编码器,其被配置为对包括关于残差样本的信息的图像信息进行编码,并且当处理当前CTU所在的CTU行中的第一顺序CTU时将HMVP缓冲器初始化,并且当前块被包括在当前CTU中。

本公开的另一实施方式提供了一种数字存储介质,其中存储有包括根据由编码设备执行的图像编码方法生成的编码图像信息的图像数据。

本公开的另一实施方式提供了一种数字存储介质,其中存储有包括使得由解码设备执行图像解码方法的编码图像信息的图像数据。

有益效果

根据本公开的实施方式,可增加总体图像/视频压缩效率。

根据本公开的实施方式,可通过高效的帧间预测来减少为残差处理而需要发送的数据量。

根据本公开的实施方式,可高效地管理HMVP缓冲器。

根据本公开的实施方式,可通过高效的HMVP缓冲器管理来支持并行处理。

根据本公开的实施方式,可高效地推导用于帧间预测的运动向量。

附图说明

图1是示意性地示出本公开可应用于的视频/图像编码系统的示例的图。

图2是示意性地说明本公开可应用于的视频/图像编码设备的配置的图。

图3是示意性地说明本公开可应用于的视频/图像解码设备的配置的图。

图4是示出基于帧间预测的视频/图像编码方法的示例的图。

图5是示出基于帧间预测的视频/图像解码方法的示例的图。

图6是示例性地示出帧间预测过程的图。

图7是示例性地示出在传统合并或AMVP模式下用于推导运动信息候选的空间邻近块的图。

图8是示意性地示出基于HMVP候选的解码过程的示例的图。

图9是示例性地示出根据FIFO规则的HMVP表更新的图,图10是示例性地示出根据有限FIFO规则的HMVP表更新的图。

图11是示例性地示出作为并行处理技术之一的波前并行处理(WPP)的图。

图12是示例性地示出当考虑并行处理应用一般HMVP方法时的问题的图。

图13是示例性地示出根据本公开的实施方式的历史管理缓冲器(HMVP缓冲器)的初始化方法的图。

图14是示例性地示出根据本公开的实施方式的HMVP缓冲器管理方法的图。

图15是示例性地示出根据本公开的另一实施方式的HMVP缓冲器管理方法的图。

图16是示例性地示出根据本公开的另一实施方式的HMVP缓冲器管理方法的图。

图17是示例性地示出HMVP缓冲器管理方法的图。

图18和图19是示意性地示出包括根据本公开的实施方式的帧间预测方法的视频/图像编码方法和相关组件的示例的图。

图20和图21是示意性地示出包括根据本公开的实施方式的帧间预测方法的图像解码方法和相关组件的示例的图。

图22是示出本文献中所包括的公开可应用于的内容流系统的示例的图。

具体实施方式

由于本公开可进行各种改变并且具有各种实施方式,所以将在附图中示出并详细描述特定实施方式。然而,这并非旨在将本公开限于特定实施方式。本说明书中所使用的术语仅用于描述特定实施方式,而非旨在限制本公开的技术精神。除非上下文清楚地另外指示,否则单数表达包括复数表达。应该理解,本说明书中的术语“包括”、“具有”等旨在指示存在本说明书中所描述的特征、数量、步骤、操作、组件、部分或其组合,不预先排除存在或添加一个或更多个其它特征、数量、步骤、操作、组件、部分或其组合的可能性。

此外,为了方便说明不同的特性功能,本公开中描述的附图中的各个配置独立地示出,并且这并不意味着各个配置由单独的硬件或单独的软件实现。例如,各个配置中的两个或更多个配置可被组合以形成一个配置,或者一个配置可被分成多个配置。在不脱离本公开的主题的情况下,各个配置被集成和/或分离的实施方式也被包括在本公开的范围内。

以下,将参照附图更详细地描述本公开的优选实施方式。以下,相同的标号用于附图中的相同组件,并且可省略相同组件的冗余描述。

图1示出本公开可应用于的视频/图像编码系统的示例。

参照图1,视频/图像编码系统可包括第一设备(源装置)和第二设备(接收装置)。源装置可通过数字存储介质或网络将编码的视频/图像信息或数据以文件或流的形式发送到接收装置。

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

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

编码设备可对输入视频/图像进行编码。为了压缩和编码效率,编码设备可执行诸如预测、变换和量化的一系列过程。编码的数据(编码的视频/图像信息)可按比特流的形式输出。

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

解码设备可通过执行与编码设备的操作对应的诸如解量化、逆变换和预测的一系列过程将视频/图像解码。

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

本文献涉及视频/图像编码。例如,本文献中公开的方法/实施方式可应用于通用视频编码(VVC)标准、EVC(基本视频编码)标准、AOMedia Video 1(AV1)标准、第2代音频视频编码标准(AVS2)或下一代视频/图像编码标准(例如,H.267或H.268等)中公开的方法。

本文献提出了视频/图像编码的各种实施方式,并且除非另外提及,否则实施方式可彼此组合执行。

在本文献中,视频可指随时间的一系列图像。画面通常是指表示特定时间范围的一个图像的单元,切片/拼块是指在编码方面构成画面的单元。切片/拼块可包括一个或更多个编码树单元(CTU)。一个画面可由一个或更多个切片/拼块组成。一个画面可由一个或更多个拼块组组成。一个拼块组可包括一个或更多个拼块。图块可表示画面中的拼块内的CTU行的矩形区域。拼块可被分割成多个图块,各个图块由拼块内的一个或更多个CTU行组成。未被分割成多个图块的拼块也可被称为图块。图块扫描是分割画面的CTU的特定顺序排序,其中在图块中的CTU光栅扫描中CTU连续地排序,在拼块的图块的光栅扫描中拼块内的图块连续地排序,并且在画面的拼块的光栅扫描中画面中的拼块连续地排序。拼块是画面中的特定拼块列和特定拼块行内的CTU的矩形区域。拼块列是高度等于画面的高度并且宽度由画面参数集中的句法元素指定的CTU的矩形区域。拼块行是高度由画面参数集中的句法元素指定并且宽度等于画面的宽度的CTU的矩形区域。拼块扫描是分割画面的CTU的指定顺序排序,其中在拼块的CTU光栅扫描中CTU连续地排序,而在画面的拼块的光栅扫描中画面中的拼块连续地排序。切片包括可排他地包含在单个NAL单元中的画面的整数数量的图块。切片可由多个完整拼块或仅一个拼块的完整图块的连续序列组成。在本文献中,拼块组和切片可互换使用。例如,在本文献中,拼块组/拼块组头也可被称为切片/切片头。

像素或画素可意指构成一个画面(或图像)的最小单元。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,并且可仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。

单元可表示图像处理的基本单位。单元可包括画面的特定区域和与该区域有关的信息中的至少一个。一个单元可包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可包括M列和N行的样本(或样本阵列)或变换系数的集合(或阵列)。

在本文献中,术语“/”和“,”应该被解释为指示“和/或”。例如,表达“A/B”可意指“A和/或B”。此外,“A、B”可意指“A和/或B”。此外,“A/B/C”可意指“A、B和/或C中的至少一个”。另外,“A/B/C”可意指“A、B和/或C中的至少一个”。

此外,在本文献中,术语“或”应该被解释为指示“和/或”。例如,表达“A或B”可包括1)仅A、2)仅B和/或3)A和B二者。换言之,本文献中的术语“或”应该被解释为指示“另外地或另选地”。

图2示出本公开可应用于的视频/图像编码设备的结构。在下文中,视频编码设备可包括图像编码设备。

参照图2,编码设备200包括图像分割器210、预测器220、残差处理器230和熵编码器240、加法器250、滤波器260和存储器270。预测器220可包括帧间预测器221和帧内预测器222。残差处理器230可包括变换器232、量化器233、解量化器234和逆变换器235。残差处理器230还可包括减法器231。加法器250可被称为重构器或重构块生成器。根据实施方式,图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可由至少一个硬件组件(例如,编码器芯片组或处理器)配置。另外,存储器270可包括解码画面缓冲器(DPB),或者可由数字存储介质配置。硬件组件还可包括存储器270作为内部/外部组件。

图像分割器210可将输入到编码设备200的输入图像(或者画面或帧)分割成一个或更多个处理器。例如,处理器可被称为编码单元(CU)。在这种情况下,编码单元可根据四叉树二叉树三叉树(QTBTTT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地分割。例如,一个编码单元可基于四叉树结构、二叉树结构和/或三元结构被分割成深度更深的多个编码单元。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构和/或三元结构。另选地,可首先应用二叉树结构。可基于不再分割的最终编码单元来执行根据本文献的编码过程。在这种情况下,根据图像特性基于编码效率,最大编码单元可用作最终编码单元,或者如果需要,编码单元可被递归地分割成深度更深的编码单元并且具有最优大小的编码单元可用作最终编码单元。这里,编码过程可包括预测、变换和重构的过程(将稍后描述)。作为另一示例,处理器还可包括预测器(PU)或变换单元(TU)。在这种情况下,预测器和变换单元可从上述最终编码单元拆分或分割。预测器可以是样本预测的单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。

在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可表示由M列和N行组成的样本或变换系数的集合。样本通常可表示像素或像素值,可仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。样本可用作与像素或画素的一个画面(或图像)对应的术语。

在编码设备200中,从输入图像信号(原始块、原始样本阵列)减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。在这种情况下,如所示,在编码器200中从输入图像信号(原始块、原始样本阵列)减去预测信号(预测块、预测样本阵列)的单元可被称为减法器231。预测器可对要处理的块(以下,称为当前块)执行预测并且生成包括当前块的预测样本的预测块。预测器可确定基于当前块或CU应用帧内预测还是帧间预测。如在各个预测模式的描述中稍后描述的,预测器可生成与预测有关的各种信息(例如,预测模式信息)并将所生成的信息发送到熵编码器240。关于预测的信息可在熵编码器240中编码并以比特流的形式输出。

帧内预测器222可参考当前画面中的样本来预测当前块。根据预测模式,所参考的样本可位于当前块附近或者可隔开。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。例如,非定向模式可包括DC模式和平面模式。例如,根据预测方向的详细程度,定向模式可包括33个定向预测模式或65个定向预测模式。然而,这仅是示例,可根据设置使用更多或更少的定向预测模式。帧内预测器222可使用应用于邻近块的预测模式来确定应用于当前块的预测模式。

帧间预测器221可基于参考画面上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可包括运动向量和参考画面索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可相同或不同。时间邻近块可被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参考画面可被称为并置画面(colPic)。例如,帧间预测器221可基于邻近块来配置运动信息候选列表并且生成指示哪一候选用于推导当前块的运动向量和/或参考画面索引的信息。可基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,可不发送残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可用作运动向量预测器,并且可通过用信号通知运动向量差来指示当前块的运动向量。

预测器220可基于下面描述的各种预测方法来生成预测信号。例如,预测器可不仅应用帧内预测或帧间预测以预测一个块,而且同时应用帧内预测和帧间预测二者。这可被称为组合帧间和帧内预测(CIIP)。另外,预测器可基于帧内块复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可用于游戏等的内容图像/视频编码,例如屏幕内容编码(SCC)。IBC基本上在当前画面中执行预测,但是可与帧间预测相似地执行,使得在当前画面中推导参考块。即,IBC可使用本文献中描述的至少一个帧间预测技术。调色板模式可被视为帧内编码或帧内预测的示例。当应用调色板模式时,可基于关于调色板表和调色板索引的信息用信号通知画面内的样本值。

由预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可用于生成重构信号或生成残差信号。变换器232可通过对残差信号应用变换技术来生成变换系数。例如,变换技术可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen–Loève变换(KLT)、基于图形的变换(GBT)或条件非线性变换(CNT)中的至少一个。这里,当像素之间的关系信息由图形表示时,GBT意指从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号生成的变换。另外,变换处理可应用于具有相同大小的正方形像素块或者可应用于具有正方形以外的可变大小的块。

量化器233可将变换系数量化并将它们发送到熵编码器240,并且熵编码器240可对量化的信号(关于量化的变换系数的信息)进行编码并输出比特流。关于量化的变换系数的信息可被称为残差信息。量化器233可基于系数扫描顺序将块类型量化的变换系数重排为一维向量形式,并且基于一维向量形式的量化的变换系数来生成关于量化的变换系数的信息。可生成关于变换系数的信息。熵编码器240可执行例如指数Golomb、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等的各种编码方法。熵编码器240可对量化的变换系数以外的视频/图像重构所需的信息(例如,句法元素的值等)一起或单独地进行编码。编码的信息(例如,编码的视频/图像信息)可按比特流的形式以NAL(网络抽象层)为单位发送或存储。视频/图像信息还可包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。另外,视频/图像信息还可包括一般约束信息。在本文献中,从编码设备发送/用信号通知给解码设备的信息和/或句法元素可被包括在视频/画面信息中。视频/图像信息可通过上述编码过程编码并被包括在比特流中。比特流可经由网络发送或者可被存储在数字存储介质中。网络可包括广播网络和/或通信网络,并且数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)可被包括作为编码设备200的内部/外部元件,并且另选地,发送器可被包括在熵编码器240中。

从量化器233输出的量化的变换系数可用于生成预测信号。例如,可通过经由解量化器234和逆变换器235对量化的变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。加法器250将重构的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块不存在残差(例如,应用跳过模式的情况),则预测块可用作重构块。加法器250可被称为重构器或重构块生成器。如下所述,所生成的重构信号可用于当前画面中要处理的下一块的帧内预测并且可通过滤波用于下一画面的帧间预测。

此外,可在画面编码和/或重构期间应用与色度缩放的亮度映射(LMCS)。

滤波器260可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器260可通过对重构画面应用各种滤波方法来生成修改的重构画面并将修改的重构画面存储在存储器270(具体地,存储器270的DPB)中。例如,各种滤波方法可包括去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。滤波器260可生成与滤波有关的各种信息并且将所生成的信息发送到熵编码器240,如在各个滤波方法的描述中稍后描述的。与滤波有关的信息可由熵编码器240编码并以比特流的形式输出。

发送到存储器270的修改的重构画面可用作帧间预测器221中的参考画面。当通过编码设备应用帧间预测时,可避免编码设备200与解码设备之间的预测失配并且编码效率可改进。

存储器270DPB的DPB可存储用作帧间预测器221中的参考画面的修改的重构画面。存储器270可存储推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。所存储的运动信息可被发送到帧间预测器221并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可存储当前画面中的重构块的重构样本并且可将重构样本传送至帧内预测器222。

图3示出本公开可应用于的视频/图像解码设备的结构。

参照图3,解码设备300可包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350、存储器360。预测器330可包括帧间预测器331和帧内预测器332。残差处理器320可包括解量化器321和逆变换器321。根据实施方式,熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可由硬件组件(例如,解码器芯片组或处理器)配置。另外,存储器360可包括解码画面缓冲器(DPB)或者可由数字存储介质配置。硬件组件还可包括存储器360作为内部/外部组件。

当输入包括视频/图像信息的比特流时,解码设备300可重构与在图2的编码设备中处理视频/图像信息的处理对应的图像。例如,解码设备300可基于从比特流获得的块分割相关信息来推导单元/块。解码设备300可使用编码设备中应用的处理器来执行解码。因此,例如,解码的处理器可以是编码单元,并且编码单元可根据四叉树结构、二叉树结构和/或三叉树结构从编码树单元或最大编码单元分割。可从编码单元推导一个或更多个变换单元。通过解码设备300解码和输出的重构的图像信号可通过再现设备再现。

解码设备300可接收从图2的编码设备以比特流的形式输出的信号,并且所接收的信号可通过熵解码器310解码。例如,熵解码器310可解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。另外,视频/图像信息还可包括一般约束信息。解码设备还可基于关于参数集的信息和/或一般约束信息将画面解码。本文献中稍后描述的用信号通知/接收的信息和/或句法元素可通过解码过程解码并从比特流获得。例如,熵解码器310基于诸如指数Golomb编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并且输出图像重构所需的句法元素和残差的变换系数的量化值。更具体地,CABAC熵解码方法可接收与比特流中的各个句法元素对应的信元(bin),使用解码目标句法元素信息、解码目标块的解码信息或在先前阶段中解码的符号/信元的信息来确定上下文模型,并且通过根据所确定的上下文模型预测信元出现的概率对信元执行算术解码,并且生成与各个句法元素的值对应的符号。在这种情况下,CABAC熵解码方法可在确定上下文模型之后通过将解码的符号/信元的信息用于下一符号/信元的上下文模型来更新上下文模型。熵解码器310所解码的信息当中与预测有关的信息可被提供给预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中执行了熵解码的残差值(即,量化的变换系数和相关参数信息)可被输入到残差处理器320。残差处理器320可推导残差信号(残差块、残差样本、残差样本阵列)。另外,熵解码器310所解码的信息当中关于滤波的信息可被提供给滤波器350。此外,用于接收从编码设备输出的信号的接收器(未示出)还可被配置成解码设备300的内部/外部元件,或者接收器可以是熵解码器310的组件。此外,根据本文献的解码设备可被称为视频/图像/画面解码设备,并且解码设备可被分类为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可包括熵解码器310,并且样本解码器可包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。

解量化器321可将量化的变换系数解量化并输出变换系数。解量化器321可按二维块形式重排量化的变换系数。在这种情况下,可基于在编码设备中执行的系数扫描顺序来执行重排。解量化器321可使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化并且获得变换系数。

逆变换器322对变换系数逆变换以获得残差信号(残差块、残差样本阵列)。

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

预测器320可基于下述各种预测方法来生成预测信号。例如,预测器不仅可应用帧内预测或帧间预测以预测一个块,而且可同时应用帧内预测和帧间预测。这可被称为组合帧间和帧内预测(CIIP)。另外,预测器可基于帧内块复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可用于游戏等的内容图像/视频编码,例如屏幕内容编码(SCC)。IBC基本上执行当前画面中的预测,但是可与帧间预测相似地执行,使得在当前画面中推导参考块。即,IBC可使用本文献中描述的至少一种帧间预测技术。调色板模式可被视为帧内编码或帧内预测的示例。当应用调色板模式时,可基于关于调色板表和调色板索引的信息用信号通知画面内的样本值。

帧内预测器331可参考当前画面中的样本来预测当前块。根据预测模式,所参考的样本可位于当前块附近或者可隔开。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。帧内预测器331可使用应用于邻近块的预测模式来确定应用于当前块的预测模式。

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

加法器340可通过将所获得的残差信号与从预测器(包括帧间预测器332和/或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块不存在残差,例如当应用跳过模式时,预测块可用作重构块。

加法器340可被称为重构器或重构块生成器。所生成的重构信号可用于当前画面中要处理的下一块的帧内预测,可如下所述通过滤波输出,或者可用于下一画面的帧间预测。

此外,可在画面解码处理中应用与色度缩放的亮度映射(LMCS)。

滤波器350可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器350可通过对重构画面应用各种滤波方法来生成修改的重构画面并且将修改的重构画面存储在存储器360(具体地,存储器360的DPB)中。例如,各种滤波方法可包括去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。

存储在存储器360的DPB中的(修改的)重构画面可用作帧间预测器332中的参考画面。存储器360可存储推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。所存储的运动信息可被发送到帧间预测器260以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可存储当前画面中的重构块的重构样本并将重构样本传送至帧内预测器331。

在本公开中,在编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可与解码设备300的滤波器350、帧间预测器332和帧内预测器331相同或分别与之对应应用。这也可适用于单元332和帧内预测器331。

如上所述,在执行视频编码时,执行预测以增加压缩效率。因此,可生成包括当前块(编码目标块)的预测样本的预测块。这里,预测块包括空间域(或像素域)中的预测样本。预测块在编码设备和解码设备中相同地推导,并且编码设备可用信号向解码设备通知关于原始块与预测块之间的残差的信息(残差信息),而非原始块的原始样本值本身,从而增加图像编码效率。解码设备可基于残差信息来推导包括残差样本的残差块,通过对残差块和预测块求和来生成包括重构样本的重构块,并且生成包括重构块的重构画面。

残差信息可通过变换过程和量化过程来生成。例如,编码设备可推导原始块与预测块之间的残差块,通过执行包括在残差块中的残差样本(残差样本阵列)的变换过程来推导变换系数,并且通过执行变换系数的量化过程来推导量化的变换系数,从而将相关残差信息(通过比特流)用信号通知给解码设备。这里,残差信息可包括诸如量化的变换系数的值信息、位置信息、变换技术、变换核心和量化参数的信息。解码设备可基于残差信息来执行解量化/逆变换过程并推导残差样本(或残差块)。解码设备可基于预测块和残差块来生成重构画面。编码设备还可对供后续画面的帧间预测参考的量化的变换系数进行解量化/逆变换以推导残差块,并且基于其来生成重构画面。

如果应用帧间预测,则编码设备/解码设备的预测器可通过以块为单位执行帧间预测来推导预测样本。帧间预测可以是以取决于当前画面以外的画面的数据元素(例如,样本值、运动信息等)的方式推导的预测。如果对当前块应用帧间预测,则可基于参考画面索引所指示的参考画面上运动向量所指定的参考块(参考样本阵列)来导出当前块的预测块(预测样本阵列)。此时,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测当前块的运动信息。运动信息可包括运动向量和参考画面索引。运动信息还可包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。如果应用帧间预测,则邻近块可包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可相同或不同。时间邻近块可被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参考画面可被称为并置画面(colPic)。例如,可基于当前块的邻近块来配置运动信息候选列表,并且可用信号通知指示选择(使用)哪一候选的标志或索引信息以推导当前块的运动向量和/或参考画面索引。可基于各种预测模式来执行帧间预测,并且例如,在跳过模式和(正常)合并模式的情况下,当前块的运动信息可与所选邻近块的运动信息相同。在跳过模式的情况下,与合并模式不同,可不发送残差信号。在运动向量预测(MVP)模式的情况下,所选邻近块的运动向量可用作运动向量预测器,并且可用信号通知运动向量差。在这种情况下,可使用运动向量预测器与运动向量差之和来推导当前块的运动向量。

基于帧间预测的视频/图像编码过程可示意性地包括例如以下内容。

图4示出基于帧间预测的视频/图像编码方法的示例。

编码设备对当前块执行帧间预测(S400)。编码设备可推导当前块的帧间预测模式和运动信息,并且生成当前块的预测样本。这里,确定帧间预测模式、推导运动信息和生成预测样本的过程可同时执行,或者任一个过程可在其它过程之前执行。例如,编码设备的帧间预测器可包括预测模式确定器、运动信息推导器和预测样本推导器,并且预测模式确定器可确定当前块的预测模式,运动信息推导器可推导当前块的运动信息,并且预测样本推导器可推导当前块的预测样本。例如,编码设备的帧间预测器可通过运动估计在参考画面的特定区域(搜索区域)中搜索与当前块相似的块,并且推导与当前块的差最小或者特定参考或以下的参考块。基于此,可推导指示参考块所在的参考画面的参考画面索引,并且可基于参考块与当前块之间的位置差来推导运动向量。编码设备可在各种预测模式当中确定应用于当前块的模式。编码设备可比较各种预测模式的RD成本并且为当前块确定最优预测模式。

例如,如果对当前块应用跳过模式或合并模式,则编码设备可构成稍后描述的合并候选列表,并且推导包括在合并候选列表中的合并候选所指示的参考块当中与当前块的差最小或者特定参考或以下的参考块。在这种情况下,可选择与所推导的参考块关联的合并候选,并且可生成指示所选合并候选的合并索引信息并用信号通知给解码设备。可使用所选合并候选的运动信息来推导当前块的运动信息。

作为另一示例,如果对当前块应用(A)MVP模式,则编码设备可构成稍后描述的(A)MVP候选列表,并且使用包括在(A)MVP候选列表中的运动向量预测器(mvp)候选当中所选mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可用作当前块的运动向量,并且mvp候选当中具有与当前块的运动向量的差最小的运动向量的mvp候选可以是所选mvp候选。可推导运动向量差(MVD),其是通过从当前块的运动向量减去mvp而获得的差。在这种情况下,可将关于MVD的信息用信号通知给解码设备。另外,如果应用(A)MVP模式,则参考画面索引的值可被配置为参考画面索引信息并单独地用信号通知给解码设备。

编码设备可基于预测样本来推导残差样本(S410)。编码设备可通过将当前块的原始样本与预测样本进行比较来推导残差样本。

编码设备对包括预测信息和残差信息的图像信息进行编码(S420)。编码设备可按比特流的形式输出编码图像信息。预测信息可包括关于预测模式信息(例如,跳过标志、合并标志、模式索引等)和运动信息的信息作为与预测过程有关的信息。关于运动信息的信息可包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。另外,关于运动信息的信息可包括上述关于MVD的信息和/或参考画面索引信息。另外,关于运动信息的信息可包括指示是否应用L0预测、L1预测或bi预测的信息。残差信息是关于残差样本的信息。残差信息可包括关于残差样本的量化的变换系数的信息。

输出比特流可被存储在(数字)存储介质中并传送至解码设备,或者也可经由网络传送至解码设备。

此外,如上所述,编码设备可基于参考样本和残差样本来生成重构画面(包括重构样本和重构块)。这是为了由编码设备推导出解码设备所推导的相同预测结果,因此可增加编码效率。因此,编码设备可将重构画面(或重构样本、重构块)存储在存储器中,并且将其用作帧间预测的参考画面。如上所述,还可对重构画面应用环路滤波过程等。

基于帧间预测的视频/图像解码过程可示意性地包括例如以下内容。

图5示出基于帧间预测的视频/图像解码方法的示例。

参照图5,解码设备可执行与编码设备所执行的操作对应的操作。解码设备可基于所接收的预测信息对当前块执行预测并推导预测样本。

具体地,解码设备可基于所接收的预测信息来确定当前块的预测模式(S500)。解码设备可基于预测信息中的预测模式信息来确定应用于当前块的帧间预测模式。

例如,解码设备可基于合并标志来确定是否对当前块应用合并模式或者确定(应用)(A)MVP模式。另选地,解码设备可基于模式索引来选择各种帧间预测模式候选之一。帧间预测模式候选可包括跳过模式、合并模式和/或(A)MVP模式,或者可包括稍后描述的各种帧间预测模式。

解码设备基于所确定的帧间预测模式来推导当前块的运动信息(S510)。例如,如果对当前块应用跳过模式或合并模式,则解码设备可构成稍后描述的合并候选列表,并且在包括在合并候选列表中的合并候选当中选择一个合并候选。可基于上述选择信息(合并索引)执行选择。可使用所选合并候选的运动信息来推导当前块的运动信息。所选合并候选的运动信息可用作当前块的运动信息。

作为另一示例,如果对当前块应用(A)MVP模式,则解码设备可构成稍后描述的(A)MVP候选列表,并且使用包括在(A)MVP候选列表中的运动向量预测器(mvp)候选当中所选mvp候选的运动向量,作为当前块的mvp。可基于上述选择信息(mvp标志或mvp索引)执行选择。在这种情况下,可基于关于MVD的信息来推导当前块的MVD,并且可基于当前块的mvp和MVD来推导当前块的运动向量。另外,可基于参考画面索引信息来推导当前块的参考画面索引。当前块上参考画面列表中的参考画面索引所指示的画面可被推导为当前块的帧间预测所参考的参考画面。

此外,如稍后描述的,可在不构成候选列表的情况下推导当前块的运动信息,并且在这种情况下,可根据稍后描述的预测模式中公开的过程来推导当前块的运动信息。在这种情况下,可省略上述候选列表配置。

解码设备可基于当前块的运动信息来生成当前块的预测样本(S520)。在这种情况下,解码设备可基于当前块的参考画面索引来推导参考画面,并且使用参考画面上当前块的运动向量所指示的参考块的样本来推导当前块的预测样本。在这种情况下,如稍后描述的,在一些情况下还可执行对当前块的所有或一些预测样本的预测样本滤波过程。

例如,解码设备的帧间预测器可包括预测模式确定器、运动信息推导器和预测样本推导器,并且预测模式确定器可基于所接收的预测模式信息来确定当前块的预测模式,运动信息推导器可基于关于所接收的运动信息的信息来推导当前块的运动信息(例如运动向量和/或参考画面索引),预测样本推导器可推导当前块的预测样本。

解码设备基于所接收的残差信息来生成当前块的残差样本(S530)。解码设备可基于预测样本和残差样本来生成当前块的重构样本,并且基于其来生成重构画面(S540)。此后,如上所述还可对重构画面应用环路滤波过程等。

图6示例性地示出帧间预测过程。

参照图6,如上所述,帧间预测过程可包括:确定帧间预测模式,根据所确定的预测模式来推导运动信息,并且基于所推导的运动信息来执行预测(生成预测样本)。帧间预测过程可由如上所述的编码设备和解码设备执行。本文献中的编码装置可包括编码设备和/或解码设备。

参照图6,编码装置为当前块确定帧间预测模式(S600)。各种帧间预测模式可用于预测画面中的当前块。例如,可使用诸如合并模式、跳过模式、运动向量预测(MVP)模式、仿射模式、子块合并模式以及与MVD合并(MMVD)模式的各种模式。另外或作为附带模式代替这些模式,可使用解码器侧运动向量细化(DMVR)模式、自适应运动向量分辨率(AMVR)模式、具有CU级别权重的双预测(BCW)、双向光流(BDOF)等。仿射模式可被称为仿射运动预测模式。MVP模式可被称为高级运动向量预测(AMVP)模式。在本文献中,一些模式和/或通过一些模式推导的运动信息候选也可被包括作为另一模式的运动信息相关候选之一。例如,HMVP候选可在合并/跳过模式下被添加作为合并候选,或者可在MVP模式下被添加作为mvp候选。如果在合并模式或跳过模式下HMVP候选用作运动信息候选,则HMVP候选可被称为HMVP合并候选。

可将指示当前块的帧间预测模式的预测模式信息从编码设备用信号通知给解码设备。预测模式信息可被包括在比特流中并由解码设备接收。预测模式信息可包括指示多个候选模式之一的索引信息。另选地,预测模式信息还可通过标志信息的分级信令来指示帧间预测模式。在这种情况下,预测模式信息可包括一个或更多个标志。例如,预测模式信息可通过用信号通知跳过标志来指示是否应用跳过模式,如果不应用跳过模式,则通过用信号通知合并标志来指示是否应用合并模式,并且如果不应用合并模式,则指示应用MVP模式或者可进一步用信号通知附加分类的标志。仿射模式可用信号通知为独立模式,或者可用信号通知为取决于合并模式、MVP模式等的模式。例如,仿射模式可包括仿射合并模式和仿射MVP模式。

编码装置推导当前块的运动信息(S610)。可基于帧间预测模式来推导运动信息。

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

编码装置基于当前块的运动信息来执行帧间预测(S620)。编码装置可基于运动信息来推导当前块的预测样本。包括预测样本的当前块可被称为预测块。

此外,根据帧间预测中的传统合并或AMVP模式,已使用了一种使用当前块的空间/时间相邻块的运动向量作为运动信息候选来减少运动信息量的方法。例如,用于推导当前块的运动信息候选的邻近块可包括当前块的左下角邻近块、左邻近块、右上角邻近块、上邻近块和左上角邻近块。

图7示例性地示出在传统合并或AMVP模式下用于推导运动信息候选的空间邻近块。

基本上,空间邻近块已被限制为直接接触当前块的块。这是为了增加硬件可实现性,并且是因为诸如为了导出远离当前块的块的信息而发生的线缓冲器增加的问题。然而,使用非相邻块的运动信息以便推导当前块的运动信息候选可构成各种候选,从而改进性能。可使用基于历史的运动向量预测(HMVP)方法以使用非相邻块的运动信息而不增加线缓冲器。在本文献中,HMVP可表示基于历史的运动向量预测或基于历史的运动向量预测器。根据本公开,通过使用HMVP,可高效地执行帧间预测并支持并行处理。例如,本公开的实施方式提出了管理历史缓冲器以用于并行化处理的各种方法,并且可基于这些方法支持并行处理。然而,支持并行处理并不意味着必须执行并行处理,考虑硬件性能或服务类型,编码装置可执行或者可不执行并行处理。例如,如果编码装置具有多核处理器,则编码装置可并行处理一些切片、图块和/或拼块。此外,即使当编码装置具有单核处理器或具有多核处理器时,编码装置可在减小计算和存储器负担的同时执行顺序处理。

根据上述HMVP方法的HMVP候选可包括先前编码的块的运动信息。例如,如果先前编码的块不与当前块相邻,则当前画面中根据块编码顺序的先前编码的块的运动信息未被视为当前块的运动信息。然而,HMVP候选可被视为当前块的运动信息候选(例如,合并候选或MVP候选),而不考虑先前编码的块是否与当前块相邻。在这种情况下,多个HMVP候选可被存储在缓冲器中。例如,如果对当前块应用合并模式,则HMVP候选(HMVP合并候选)可被添加到合并候选列表。在这种情况下,可在合并候选列表中包括的空间合并候选和时间合并候选之后添加HMVP候选。

根据HMVP方法,先前编码的块的运动信息可按表的形式存储,并用作当前块的运动信息候选(例如,合并候选)。可在编码/解码过程期间维持包括多个HMVP候选的表(或缓冲器、列表)。该表(或缓冲器、列表)可被称为HMVP表(或缓冲器、列表)。根据本公开的实施方式,表(或缓冲器、列表)可在遇到新的切片时被初始化。另选地,根据本公开的实施方式,表(或缓冲器、列表)可在遇到新的CTU行时被初始化。如果表被初始化,则包括在表中的HMVP候选的数量可被设定为零。表(或缓冲器、列表)的大小可被固定为特定值(例如,5等)。例如,如果存在帧间编码的块,则关联的运动信息可作为新的HMVP候选被添加到表的最后条目。(HMVP)表可被称为(HMVP)缓冲器或(HMVP)列表。

图8示意性地示出基于HMVP候选的解码过程的示例。这里,基于HMVP候选的解码过程可包括基于HMVP候选的帧间预测过程。

参照图8,解码设备加载包括HMVP候选的HMVP表,并且基于至少一个HMVP候选对块进行解码。具体地,例如,解码设备可基于至少一个HMVP候选来推导当前块的运动信息,并且通过基于运动信息对当前块执行帧间预测来推导预测块(包括预测样本)。如上所述,可基于预测块来生成重构块。可在表中更新所推导的当前块的运动信息。在这种情况下,运动信息可作为新的HMVP候选被添加到表的最后条目。如果先前包括在表中的HMVP候选的数量等于表大小,则可删除首先输入表的候选,并且所推导的运动信息可作为新的HMVP候选被添加到表的最后条目。

图9示例性地示出根据先入先出(FIFO)规则的HMVP表更新,图10示例性地示出根据有限FIFO规则的HMVP表更新。

FIFO规则可应用于表。例如,如果表大小(S)为16,则这指示表中可包括16个HMVP候选。如果从先前编码的块生成超过16个HMVP候选,则可应用FIFO规则,并且因此,表可包括最近编码的至多16个运动信息候选。在这种情况下,如图9所示,可应用FIFO规则以消除最老的HMVP候选,并且可添加新的HMVP候选。

此外,为了进一步改进编码效率,也可如图10所示应用有限FIFO规则。参照图10,当HMVP候选被插入到表中时,可首先应用冗余检查。因此,可确定表中是否已经存在具有相同运动信息的HMVP候选。如果表中存在具有相同运动信息的HMVP候选,则从表消除具有相同运动信息的HMVP候选,并且消除的HMVP候选之后的HMVP候选移动一格(即,每索引-1),然后可插入新的HMVP候选。

如上所述,可在合并候选列表构成过程中使用HMVP候选。在这种情况下,例如,表中从最后条目到第一条目的所有可插入的HMVP候选可被插入在空间合并候选和时间合并候选之后。在这种情况下,可对HMVP候选应用修剪检查。可用信号通知允许合并候选的最大数量,并且如果可用合并候选的总数达到合并候选的最大数量,则合并候选列表构成过程可结束。

类似地,也可在(A)MVP候选列表构成过程中使用HMVP候选。在这种情况下,HMVP表中最后k个HMVP候选的运动向量可被添加在构成MVP候选列表的TMVP候选之后。在这种情况下,例如,具有与MVP目标参考画面相同的参考画面的HMVP候选可用于构成MVP候选列表。这里,MVP目标参考画面可表示已应用了MVP模式的当前块的帧间预测的参考画面。在这种情况下,可对HMVP候选应用修剪检查。例如,k可以是4。然而,这是示例,k可具有诸如1、2、3和4的各种值。

此外,如果合并候选的总数等于或大于15,则截断一元加固定长度(具有3比特)二值化方法可应用于合并索引编码,如下表1所示。

表1

表已假设Nmrg=15,其中Nmrg是指合并候选的总数。

此外,当开发应用视频编解码器的解决方案时,可在图像/视频编码中支持并行处理以用于优化实现。

图11示例性地示出作为并行处理技术之一的波前并行处理(WPP)。

参照图11,如果应用WPP,则可以CTU行为单位执行并行化处理。在这种情况下,在对标记X的块进行编码(编码/解码)时,存在箭头所指示的位置和依赖性。因此,有必要等待当前编码的块的右上CTU被完全编码。另外,如果应用WPP,则可以切片为单位执行CABAC(上下文)概率表的初始化,并且为了执行包括熵编码/解码的并行化处理,应该以CTU行为单位将CABAC概率表初始化。WPP可被视为一种为了确定高效初始化位置而提出的技术。

上述HMVP方法存储根据预定缓冲器(HMVP表)的大小从各个块的编码过程推导的运动信息作为候选。在这种情况下,如图9中所公开的,在没有任何附加条件的情况下,可填充与缓冲器的数量一样多的候选,或者也可通过新添加的候选与存在于缓冲器(HMVP表)中的候选之间的冗余检查来填充候选以不冗余。因此,可配置各种候选。然而,当开发应用视频编解码器的解决方案时,通常无法知道何时在缓冲器中填充HMVP候选,使得即使应用WPP或不应用WPP,也无法允许并行处理。

图12示例性地示出当考虑并行处理应用一般HMVP方法时的问题。

参照图12,当如WPP中一样以各个CTU行为单位执行并行化时,可能发生HMVP缓冲器的依赖性问题。例如,这是因为只有当存在于第(N-1)顺序CTU行中的块(例如,第(N-1)顺序CTU行中的最后CTU中的块)的编码(编码/解码)完成时,才可填充第N(N>=1)顺序CTU行中的第一顺序CTU的HMVP缓冲器。即,如果在当前结构下应用并行处理,则解码设备可能不知道存储在HMVP缓冲器中的当前HMVP候选是否与用于解码当前(目标)块的HMVP缓冲器匹配。这是因为在应用顺序处理时从当前块的编码时间点推导的HMVP缓冲器与应用并行处理时从当前块的编码时间点推导的HMVP缓冲器之间可能出现差异。

在本公开的实施方式中,为了解决上述问题,当应用HMVP时,历史管理缓冲器(HMVP缓冲器)被初始化以使得可支持并行处理。

图13示例性地示出根据本公开的实施方式的将历史管理缓冲器(HMVP缓冲器)初始化的方法。

参照图13,可针对CTU行中的各个第一CTU将HMVP缓冲器初始化。即,当对CTU行中的第一顺序CTU进行编码时,HMVP缓冲器可被初始化以使得包括在HMVP缓冲器中的HMVP候选的数量为零。通过如上所述针对各个CTU行将HMVP缓冲器初始化,即使当支持并行处理时,也可无约束地使用从位于当前块的左侧方向的CTU的编码处理推导的HMVP候选。在这种情况下,例如,如果作为当前块的当前CU位于CTU行中的第一顺序CTU中,并且当前CU对应于第一顺序CTU中的第一顺序CU,则包括在HMVP缓冲器中的HMVP候选的数量为零。另外,例如,如果CTU行中比当前CU早编码的CU在帧间模式下编码,则HMVP候选可基于较早编码的CU的运动信息来推导并被包括在HMVP缓冲器中。

图14示例性地示出根据本公开的实施方式的HMVP缓冲器管理方法。

参照图14,HMVP缓冲器可以切片为单位初始化,并且即使针对切片中的CTU,也可确定编码目标CTU(当前CTU)是不是各个CTU行中的第一顺序CTU。在图14中,例如,如果(ctu_idx%Num)为零,则其被描述为确定为第一顺序CTU。此时,Num意指各个CTU行中的CTU的数量。作为另一示例,在使用上述图块概念的情况下,如果(ctu_idx_in_brick%BrickWidth)为零,则其可被确定为CTU行中(对应图块中)的第一顺序CTU。这里,ctu_idx_in_brick是指图块中的对应CTU的索引,BrickWidth是指以CTU为单位的图块的宽度。即,BrickWidth可指对应图块中的CTU列的数量。如果当前CTU是CTU行中的第一顺序CTU,则HMVP缓冲器被初始化(即,HMVP缓冲器中的候选的数量被设定为零),否则,维持HMVP缓冲器。此后,执行对对应CTU中的各个CU的预测处理(例如,基于合并或MVP模式),并且此时,在合并模式或MVP模式下存储在HMVP缓冲器中的候选可被包括作为运动信息候选(例如,合并候选或MVP候选)。在帧间预测处理中基于合并模式或MVP模式推导的目标块(当前块)的运动信息作为新的HMVP候选被存储(更新)在HMVP缓冲器中。在这种情况下,可进一步执行上述冗余检查处理。此后,也可针对CU和CTU重复上述过程。

作为另一示例,当应用HMVP时,可通过针对每一个CTU将HMVP缓冲器初始化来消除对CTU单元的依赖性。在这种情况下,由于HMVP缓冲器以CTU为单位初始化,所以存在于CTU中的块的运动信息被存储在HMVP表中。在这种情况下,可基于同一CTU中的块(例如,CU)的运动信息来推导HMVP候选,并且可如下进行HMVP缓冲器初始化而无需确定当前CTU是不是各个CTU行中的第一顺序CTU。

图15示例性地示出根据本公开的另一实施方式的HMVP缓冲器管理方法。

参照图15,可针对每一个CTU执行HMVP缓冲器初始化而无需确定当前CTU是不是各个CTU行中的第一顺序CTU。

此外,当针对每一个CTU将HMVP缓冲器初始化时,仅从存在于对应CTU中的块的运动信息推导的HMVP候选包括在HMVP缓冲器中,使得必须限制从非相邻块推导的候选的使用。因此,与当前CTU相邻的左CTU的候选可被存储在HMVP缓冲器中以增加可用候选。

图16示例性地示出根据本公开的另一实施方式的HMVP缓冲器管理方法。

参照图16,当存在当前CTU(第N顺序CTU)和其左侧的两个CTU(即,第(N-1)顺序和第(N-2)顺序CTU)时,存在于当前CTU中的CU可使用从第(N-1)顺序CTU中的块推导的HMVP候选。在这种情况下,可不使用从第(N-2)顺序CTU中的块推导的HMVP候选,并且将其初始化或消除。

可如下控制或管理用于应用此实施方式中提出的方法的HMVP缓冲器。

图17示例性地示出HMVP缓冲器管理方法。

参照图17,当HMVP的缓冲器大小为S(例如,16)(缓冲器索引0至15)时,各个CTU中的CU如图17所示存储,其可被表示为块索引。如果第(N-1)顺序CTU的编码完成,则从缓冲器消除从第(N-2)顺序CTU推导的HMVP候选,并且从当前CTU中的块推导的运动信息作为HMVP候选被存储在HMVP缓冲器中。如用于缓冲器管理的图中所示,可存在由CTU索引表示的CTU指示符,并且编码装置可基于CTU索引来寻找要从缓冲器消除的目标。

上述HMVP的历史管理缓冲器(HMVP缓冲器)的大小可考虑根据缓冲器大小的性能增量、与存在于缓冲器中的候选的冗余检查的计算量等来确定。如上述实施方式中一样,由于缓冲器初始化,可用HMVP候选小于现有HMVP,使得即使用于HMVP的管理缓冲器的大小变小,性能改变也很小。例如,当应用针对每一个CTU行将HMVP缓冲器初始化的实施方式或者使用至多从与当前CTU相邻的左CTU推导的HMVP候选的实施方式时,缓冲器大小(S)可被设定为5或6。另外,例如,当应用针对每一个CTU将HMVP缓冲器初始化的上述实施方式时,缓冲器大小(S)可被设定为4或5,并且在这种情况下,性能几乎没有降低。另外,当确定历史管理缓冲器的缓冲器大小时,可考虑是否应用单指令多数据(SIMD)。例如,如果可一次比较并计算多个(例如,8各)数据,则在不减小缓冲器大小的情况下应用SIMD是高效的,因为可维持性能而不会增加计算复杂度。

图18和图19示意性地示出包括根据本公开的实施方式的帧间预测方法的视频/图像编码方法和相关组件的示例。图18中所公开的方法可由图2中所公开的编码设备执行。具体地,例如,图18中的S1800至S1830可由编码设备的预测器220执行,图18中的S1840可由编码设备的残差处理器230执行,图18中的S1850可由编码设备的熵编码器240执行。图18中所公开的方法可包括本文献中上面描述的实施方式。

参照图18,编码设备推导当前块的HMVP缓冲器(S1800)。编码设备可执行本文献的实施方式中上面描述的HMVP缓冲器管理方法。作为示例,HMVP缓冲器可以切片为单位初始化。

作为另一示例,HMVP缓冲器可以CTU行为单位初始化。编码设备可确定当前CTU是不是CTU行中的第一顺序CTU。在这种情况下,可在包括当前块的当前CTU所在的CTU行中的第一顺序CTU中将HMVP缓冲器初始化。即,当处理包括当前块的当前CTU所在的CTU行中的第一顺序CTU时,可将HMVP缓冲器初始化。如果确定当前CTU是CTU行中的第一顺序CTU,则HMVP缓冲器可包括基于当前CTU中比当前块早编码的块的运动信息推导的HMVP候选。如果确定当前CTU不是CTU行中的第一顺序CTU,则HMVP缓冲器可包括基于当前CTU中比当前块早编码的块的运动信息推导的HMVP候选以及基于CTU行中的先前CTU中先前编码的块的运动信息推导的HMVP候选。另外,例如,如果作为当前块的当前CU位于CTU行中的第一顺序CTU中,并且当前CU对应于第一顺序CTU中的第一顺序CU,则包括在HMVP缓冲器中的HMVP候选的数量为零。另外,例如,如果CTU行中比当前CU早编码的CU(例如,当前CTU中比当前CU早编码的CU和/或当前CTU行中比当前CTU早编码的CTU中的CU)在帧间模式下编码,则HMVP候选可基于较早编码的CU的运动信息来推导并被包括在HMVP缓冲器中。如果对当前块应用合并模式,则如果合并候选列表中的可用合并候选(例如,包括空间合并候选和时间合并候选)的数量小于合并候选的预定最大数量,HMVP候选可被添加到当前块的合并候选列表。在这种情况下,HMVP候选可被插入在合并候选列表中的空间候选和时间候选之后。即,HMVP候选可被指派比指派给合并候选列表中的空间候选和时间候选的索引更大的索引值。

作为另一示例,HMVP缓冲器可以CTU为单位初始化。另选地,HMVP缓冲器可包括至多从当前CTU的左CTU推导的HMVP候选。如果HMVP缓冲器被初始化,则包括在HMVP缓冲器中的HMVP候选的数量可被设定为零。

编码设备基于HMVP缓冲器来推导当前块的运动信息(S1810)。编码设备可基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息。例如,如果对当前块应用合并模式或运动向量预测(MVP)模式,则包括在HMVP缓冲器中的HMVP候选可用作合并候选或MVP候选。例如,如果对当前块应用合并模式,则包括在HMVP缓冲器中的HMVP候选被包括作为合并候选列表的候选,并且可基于合并索引来指示包括在合并候选列表中的候选当中的HMVP候选。合并索引可作为预测相关信息被包括在稍后描述的图像信息中。在这种情况下,HMVP候选可被指派合并候选列表中优先级比包括在合并候选列表中的空间合并候选和时间合并候选更低的索引。即,指派给HMVP候选的索引值可被指派比空间合并候选和时间合并候选的索引值更高的值。

编码设备基于所推导的运动信息来生成当前块的预测样本(S1820)。编码设备可通过基于运动信息执行帧间预测(运动补偿)使用参考画面上运动信息所指示的参考样本来推导预测样本。

编码设备基于预测样本来生成残差样本(S1830)。编码设备可基于当前块的原始样本和当前块的预测样本来生成残差样本。

编码设备基于残差样本来推导关于残差样本的信息,并且对包括关于残差样本的信息的图像信息进行编码(S1840)。关于残差样本的信息可被称为残差信息,并且可包括关于量化的变换系数的信息。编码设备可通过对残差样本执行变换/量化过程来推导量化的变换系数。

编码图像信息可按比特流的形式输出。比特流可经由网络或存储介质发送到解码设备。图像信息还可包括预测相关信息,并且预测相关信息还可包括关于各种预测模式(例如,合并模式、MVP模式等)的信息、MVD信息等。

图20和图21示意性地示出包括根据本公开的实施方式的帧间预测方法的图像解码方法和相关组件的示例。图20中所公开的方法可由图3中所公开的解码设备执行。具体地,例如,图20中的S2000至S2030可由解码设备的预测器330执行,并且S2040可由解码设备的加法器340执行。图20中所公开的方法可包括本文献中上面描述的实施方式。

参照图20,解码设备推导当前块的HMVP缓冲器(S2000)。解码设备可执行本文献的实施方式中上面描述的HMVP缓冲器管理方法。作为示例,HMVP缓冲器可以切片为单位初始化。

作为另一示例,HMVP缓冲器可以CTU行为单位初始化。解码设备可确定当前CTU是不是CTU行中的第一顺序CTU。在这种情况下,HMVP缓冲器可在包括当前块的当前CTU所在的CTU行中的第一顺序CTU中初始化。即,当处理包括当前块的当前CTU所在的CTU行中的第一顺序CTU时,可将HMVP缓冲器初始化。如果确定当前CTU是CTU行中的第一顺序CTU,则HMVP缓冲器可包括基于当前CTU中比当前块早解码的块的运动信息推导的HMVP候选。如果确定当前CTU不是CTU行中的第一顺序CTU,则HMVP缓冲器可包括基于当前CTU中比当前块早解码的块的运动信息推导的HMVP候选以及基于CTU行中的先前CTU中先前解码的块的运动信息推导的HMVP候选。另外,例如,如果作为当前块的当前CU位于CTU行中的第一顺序CTU中,并且当前CU对应于第一顺序CTU中的第一顺序CU时,包括在HMVP缓冲器中的HMVP候选的数量为零。另外,例如,CTU行中比当前CU早编码的CU(例如,当前CTU中比当前CU早编码的CU和/或当前CTU行中比当前CTU早编码的CTU中的CU)在帧间模式下编码,HMVP候选可基于较早编码的CU的运动信息来推导并且被包括在HMVP缓冲器中。如果对当前块应用合并模式,则如果合并候选列表中的可用合并候选(例如,包括空间合并候选和时间合并候选)的数量小于合并候选的预定最大数量,HMVP候选可被添加到当前块的合并候选列表。在这种情况下,HMVP候选可被插入在合并候选列表中的空间候选和时间候选之后。即,HMVP候选可被指派比指派给合并候选列表中的空间候选和时间候选的索引更大的索引值。

作为另一示例,HMVP缓冲器可以CTU为单位初始化。另选地,HMVP缓冲器可包括至多从当前CTU的左CTU推导的HMVP候选。如果HMVP缓冲器被初始化,则包括在HMVP缓冲器中的HMVP候选的数量可被设定为零。

解码设备基于HMVP缓冲器来推导当前块的运动信息(S2010)。解码设备可基于包括在HMVP缓冲器中的HMVP候选来推导当前块的运动信息。例如,如果对当前块应用合并模式或运动向量预测(MVP)模式,则包括在HMVP缓冲器中的HMVP候选可用作合并候选或MVP候选。例如,如果对当前块应用合并模式,则包括在HMVP缓冲器中的HMVP候选被包括作为合并候选列表的候选,并且可基于从比特流获取的合并索引来指示包括在合并候选列表中的候选当中的HMVP候选。在这种情况下,HMVP候选可被指派合并候选列表中优先级比包括在合并候选列表中的空间合并候选和时间合并候选更低的索引。即,指派给HMVP候选的索引值可被指派比空间合并候选和时间合并候选的索引值更高的值。

解码设备基于所推导的运动信息来生成当前块的预测样本(S2020)。解码设备可通过基于运动信息执行帧间预测(运动补偿)使用参考画面上运动信息所指示的参考样本来推导预测样本。包括预测样本的当前块可被称为预测块。

解码设备基于预测样本来生成重构样本(S2030)。如上所述,可基于重构样本来生成重构块/画面。如上所述,解码设备可从比特流获取残差信息(包括关于量化的变换系数的信息),从残差信息推导残差样本,并且基于预测样本和残差样本来生成重构样本。此后,如上所述,可根据需要对重构画面应用诸如去块滤波、SAO和/或ALF过程的环路滤波过程,以便改进主观/客观画面质量。

在上述实施方式中,基于流程图作为一系列步骤或方框来描述方法,但是本公开不限于该步骤顺序,特定步骤可按照与上面描述的那些不同的步骤和顺序发生或同时发生。另外,本领域技术人员将理解,流程图中所示的步骤不是排他性的,可包括其它步骤或者可删除流程图中的一个或更多个步骤,而不影响本公开的范围。

根据本公开的上述方法可按软件的形式实现,并且根据本公开的编码设备和/或解码设备可包括在用于执行例如TV、计算机、智能电话、机顶盒、显示装置等的图像处理的设备中。

当本公开的实施方式以软件实现时,上述方法可被实现为用于执行上述功能的模块(进程、函数等)。该模块可被存储在存储器中并由处理器执行。存储器可位于处理器内部或外部,并且可通过各种熟知手段与处理器联接。处理器可包括专用集成电路(ASIC)、其它芯片组、逻辑电路和/或数据处理装置。存储器可包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、存储卡、存储介质和/或其它存储装置。即,本公开中描述的实施方式可在处理器、微处理器、控制器或芯片上实现和执行。例如,各个附图中所示的功能单元可在计算机、处理器、微处理器、控制器或芯片上实现和执行。在这种情况下,用于实现的信息(例如,关于指令的信息)或算法可被存储在数字存储介质中。

另外,应用了本公开的解码设备和编码设备可被包括在多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、实时通信装置(例如,视频通信)、移动流装置、存储介质、摄像机、视频点播(VoD)服务提供器、顶置视频(OTT)装置、互联网流服务提供器、3D视频装置、虚拟现实装置、增强现实(AR)装置、视频电话视频装置、运输工具终端(例如,车辆(包括自主车辆)终端、飞机终端、船舶终端等)、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,顶置视频(OTT)装置可包括游戏机、蓝光播放器、互联网访问TV、家庭影院系统、智能电话、平板PC、数字视频记录仪(DVR)等。

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

另外,本公开的实施方式可通过程序代码被实现为计算机程序产品,并且可通过本公开的实施方式在计算机上执行程序代码。程序代码可被存储在可由计算机读取的载体上。

图22示出本公开可应用于的内容流系统的示例。

参照图22,应用了本公开的内容流系统可主要包括编码服务器、流服务器、web服务器、媒体存储装置、用户装置和多媒体输入装置。

编码服务器起到通过将从多媒体输入装置(例如,智能电话、相机或摄像机)输入的内容压缩为数字数据来生成比特流并将所生成的比特流发送到流服务器的作用。作为另一示例,如果多媒体输入装置(例如,智能电话、相机或摄像机)直接生成比特流,则可省略编码服务器。

可通过应用了本公开的编码方法或生成比特流的方法来生成比特流,并且在发送或接收比特流的同时,流服务器可暂时存储比特流。

流服务器起到通过web服务器基于用户请求将多媒体数据发送到用户装置的作用,并且web服务器起到告知用户哪些服务可用的作用。如果用户向web服务器请求期望的服务,则web服务器将请求发送到流服务器,并且流服务器将多媒体数据发送到用户。此时,内容流系统可包括单独的控制服务器,并且在这种情况下,控制服务器起到控制内容流系统内的装置之间的命令/响应的作用。

流服务器可从媒体存储装置和/或编码服务器接收内容。例如,如果从编码服务器接收内容,则内容可实时地接收。在这种情况下,为了提供平滑的流服务,流服务器可将比特流存储达预定时间段。

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

内容流系统内的各个单独的服务器可作为分布式服务器操作,并且在这种情况下,可按分布式方式处理由各个服务器接收的数据。

43页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:帧内预测装置、图像编码装置、图像解码装置及程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类