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

图像解码、编码方法及针对图像的数据的发送方法

文献发布时间:2024-01-17 01:27:33


图像解码、编码方法及针对图像的数据的发送方法

本申请是原案申请号为201980065645.4的发明专利申请(国际申请号:PCT/KR2019/012992,申请日:2019年10月4日,发明名称:使用基于历史的运动信息的图像编码方法及其装置)的分案申请。

技术领域

本公开涉及图像编码,更具体地,涉及一种使用基于历史的运动信息的图像编码方法和用于该方法的设备。

背景技术

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

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

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

发明内容

技术问题

本说明书的技术目的在于提供一种改进图像编码效率的方法和用于该方法的设备。

本说明书的另一技术目的在于提供一种高效帧间预测方法和用于该方法的设备。

本说明书的另一技术目的在于提供一种推导基于历史的运动向量的方法和用于该方法的设备。

本说明书的另一技术目的在于提供一种高效地推导基于历史的运动向量预测(HMVP)候选的方法和用于该方法的设备。

本说明书的另一技术目的在于提供一种高效地更新HMVP缓冲器的方法和用于该方法的设备。

本说明书的另一技术目的在于提供一种高效地初始化HMVP缓冲器的方法和用于该方法的设备。

技术方案

根据本说明书的一个实施方式,提供了一种由解码设备执行的图像解码方法。该方法包括以下步骤:推导当前块的基于历史的运动向量预测(HMVP)候选集合;基于属于HMVP候选集合的HMVP候选来构造运动信息候选列表;基于运动信息候选列表来推导当前块的运动信息;基于运动信息来生成当前块的预测样本;以及基于预测样本来生成重构样本,其中,基于当前拼块中的CTU行中的先前块的运动信息来更新HMVP候选集合,其中,CTU行包括当前块,其中,HMVP候选集合在包括当前块的CTU行中的特定CTU处被初始化,并且该特定CTU是当前画面中的CTU行的CTU当中的第一顺序CTU,或者该特定CTU是当前拼块中的CTU行的CTU当中的第一顺序CTU。

根据本说明书的另一个实施方式,提供了一种执行图像解码的解码设备。该解码设备包括:预测器,其推导当前块的基于历史的运动向量预测(HMVP)候选集合,基于属于HMVP候选集合的HMVP候选来构造运动信息候选列表,基于运动信息候选列表来推导当前块的运动信息,并且基于运动信息来生成当前块的预测样本;以及重构器,其基于预测样本来生成重构样本,其中,基于当前拼块中的CTU行中的先前块的运动信息来更新HMVP候选集合,其中,CTU行包括当前块,其中,HMVP候选集合在包括当前块的CTU行中的特定CTU处被初始化,并且该特定CTU是当前画面中的CTU行的CTU当中的第一顺序CTU,或者该特定CTU是当前拼块中的CTU行的CTU当中的第一顺序CTU。

根据本说明书的另一个实施方式,提供了一种由编码设备执行的图像编码方法。该方法包括以下步骤:推导当前块的基于历史的运动向量预测(HMVP)候选集合;基于属于HMVP候选集合的HMVP候选来构造运动信息候选列表;基于运动信息候选列表来推导当前块的运动信息;基于运动信息来生成当前块的预测样本;基于预测样本来推导残差样本;以及对包括关于残差样本的信息的图像信息进行编码,其中,基于当前拼块中的CTU行中的先前块的运动信息来更新HMVP候选集合,其中,CTU行包括当前块,其中,HMVP候选集合在包括当前块的CTU行中的特定CTU处被初始化,并且该特定CTU是当前画面中的CTU行的CTU当中的第一顺序CTU,或者该特定CTU是当前拼块中的CTU行的CTU当中的第一顺序CTU。

根据本说明书的另一实施方式,提供了一种执行图像编码的编码设备。该编码设备包括:预测器,其推导当前块的基于历史的运动向量预测(HMVP)候选集合,基于属于HMVP候选集合的HMVP候选来构造运动信息候选列表,基于运动信息候选列表来推导当前块的运动信息,并且基于运动信息来生成当前块的预测样本;残差处理器,其基于预测样本来推导残差样本;以及熵编码器,其对包括关于残差样本的信息的图像信息进行编码,其中,基于当前拼块中的CTU行中的先前块的运动信息来更新HMVP候选集合,其中,CTU行包括当前块,其中,HMVP候选集合在包括当前块的CTU行中的特定CTU处被初始化,并且该特定CTU是当前画面中的CTU行的CTU当中的第一顺序CTU,或者该特定CTU是当前拼块中的CTU行的CTU当中的第一顺序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示出根据另一实施方式的针对拼块的第一顺序CTU将HMVP缓冲器初始化的方法的示例。

图18示出根据另一实施方式的针对各个拼块中的CTU行的第一顺序CTU将HMVP管理缓冲器初始化的方法的示例。

图19示出拼块和切片一起存在的结构的示例。

图20示出针对各个拼块内的第一顺序CTU将HMVP缓冲器初始化的方法的示例。

图21示出针对拼块内的各个切片将HMVP缓冲器初始化的方法的示例。

图22示出针对拼块组内的第一拼块的第一顺序CTU将HMVP缓冲器初始化的示例。

图23示出针对拼块组内的各个拼块的第一顺序CTU将HMVP缓冲器初始化的示例。

图24示出针对拼块组内的各个拼块的CTU行将HMVP缓冲器初始化的示例。

图25示出编码的图像/视频的层结构。

图26和图27示出包括根据本说明书的实施方式的帧间预测方法和相关组件的视频/图像编码方法的一个示例。

图28和图29示出包括根据本说明书的实施方式的帧间预测方法和相关组件的图像解码方法的一个示例。

图30示出可应用本说明书中所公开的实施方式的内容流系统的示例。

具体实施方式

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

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

本文献中所提出的方法可按照各种形式修改,其具体示例将被描述并在附图中示出。以下描述中使用的术语仅用于描述特定实施方式,而非旨在限制本文献中所提出的方法的技术思想。单数表达包括表达“至少一个”,只要清楚地不同阅读即可。诸如“包括”和“具有”的术语旨在指示存在以下描述中使用的特征、数量、步骤、操作、元件、组件或其组合,因此应该理解,不排除存在或添加一个或更多个不同特征、数量、步骤、操作、元件、组件或其组合的可能性。

此外,为了方便描述不同的特性功能,本说明书的附图中的各个结构彼此独立地提供,然而,其并非指示各个结构应该通过单独的硬件或单独的软件实现。例如,各个结构可通过两个或更多个结构的组合实现,或者一个结构可被拆分成多个结构。除非背离本说明书中所公开的方法的技术精神,否则结构被集成为一个和/或彼此分离的实施方式应该被视为属于本说明书的范围。

在下文中,参照附图,将更详细地描述本说明书的实施方式。在下文中,相同的标号用于附图中的相同元件,并且将省略相同元件的重复描述。

图1示出可应用本说明书的实施方式的视频/图像编码系统的示例。

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

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

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

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

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

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

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

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

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

单元可表示图像处理的基本单位。单元可包括画面的特定区域和与该区域有关的信息中的至少一个。一个单元可包括一个亮度块和两个色度(例如,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)、基于图形的变换(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与解码设备之间的预测失配并且编码效率可改进。

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

图3示出可应用本说明书的实施方式的视频/图像解码设备的结构。

参照图3,解码设备300可包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350、存储器360。预测器330可包括帧间预测器332和帧内预测器331。残差处理器320可包括解量化器321和逆变换器322。根据实施方式,熵解码器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输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测并且可确定特定帧内/帧间预测模式。

预测器可基于下述各种预测方法来生成预测信号。例如,预测器不仅可应用帧内预测或帧间预测以预测一个块,而且可同时应用帧内预测和帧间预测。这可被称为组合帧间和帧内预测(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可存储推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。所存储的运动信息可被发送到帧间预测器332以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器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表(缓冲器、列表或集合)或HMVP候选表(缓冲器、列表或集合)。根据本说明书的一个实施方式,表(缓冲器、列表或集合)可在遇到新的切片时被初始化。或者,根据本说明书的一个实施方式,表(缓冲器、列表或集合)可在遇到新的CTU行时被初始化。如果表被初始化,则属于该表的HMVP候选的数量可被设定为0。表(缓冲器、列表或集合)的大小可被固定为特定值(例如,5)。例如,在存在帧间编码的块的情况下,关联的运动信息可作为新的HMVP候选被添加到表的最后条目。(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候选应用修剪检查。可用信号通知合并候选的最大允许数量,并且如果可用合并候选的总数达到合并候选的最大数量,则合并候选列表构造处理可终止。

类似地,HMVP候选可用于(A)MVP候选列表构造处理。在这种情况下,HMVP表内最后k个HMVP候选的运动向量可被添加到构成MVP候选列表的TMVP候选旁边。在这种情况下,例如,具有与MVP目标参考画面相同的参考画面的HMVP候选可用于构造MVP候选列表。这里,MVP目标参考画面可表示已应用了MVP模式的当前块的帧间预测的参考画面。在这种情况下,可对HMVP候选应用修剪检查。例如,k可为4。然而,k的该特定值仅是示例,k可采取诸如1、2、3和4的各种值。

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

[表1]

在上表中,假设N

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

图11示出并行处理技术之一,波前并行处理(WPP)。

参照图11,如果应用WPP,则可以CTU行为单位执行并行处理。在这种情况下,如果对X所标记的块进行编码(编码/解码),则在箭头所指示的位置发生依赖性。因此,为了对X所标记的当前块进行编码,必须等待其右上位置处的CTU完成编码。另外,如果应用WPP,则可以切片为单位执行CABAC概率表(或上下文信息)的初始化,并且为了包括熵编码/解码的并行处理,必须以CTU行为单位将CABAC概率表(或上下文信息)初始化。WPP可被视为一种为了确定高效初始化位置而提出的技术。如果应用WPP,则各个LCT行可被称为子流,并且对于编码设备配备有多个处理核心的情况,可支持并行处理。例如,如果应用WPP,并且三个处理核心并行处理解码,则第一处理核心可对子流0进行解码,第二处理核心可对子流1进行解码,第三处理核心可对子流2进行解码。如果应用WPP,则可在执行第n子流的编码并且第n子流的第二CTU或LCU的编码完成之后执行第(n+1)(其中n是整数)子流的编码。例如,在熵编码的情况下,如果第n子流的第二LCU的熵编码完成,则可基于关于第n子流的第二LCU的上下文信息来执行第(n+1)子流的第一LCU的熵编码。此时,切片内的子流的数量可等于LCU行的数量。另外,切片内的子流的数量可等于条目点的数量。此时,条目点的数量可由条目点偏移的数量指定。例如,条目点的数量可大于条目点偏移的数量加1。关于条目点偏移的数量的信息和/或关于偏移值的信息可通过被包括在视频/图像信息中来编码,或者经由比特流用信号通知给解码设备。此外,如果编码设备配备有一个处理核心,则可以单个子流为单位执行编码,由此可降低存储器负荷和编码依赖性。

HMVP方法存储按照预定缓冲器大小(HMVP表)从各个块的编码处理推导的运动信息。在这种情况下,如图9中所公开的,在没有附加条件的情况下,HMVP表可利用与缓冲器的数量一样多的候选来填充,或者可利用候选填充以使得通过冗余检查,新添加的候选不与已经存在于缓冲器(HMVP表)中的候选交叠。通过该操作,可配置各种候选。然而,当开发采用视频编解码器的解决方案时,通常无法知道HMVP候选何时填充缓冲器。因此,不管是否应用WPP,均无法实现并行处理。

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

参照图12,如果如WPP中一样以CTU行为单位执行并行处理,则在HMVP缓冲器中发生依赖性问题。例如,仅在第(N-1)(N≥1)CTU行中的块(例如,第(N-1)CTU行的最后CTU中的块)的编码完成之后,才可填充第N CTU行中的第一顺序CTU的HMVP缓冲器。换言之,在当前结构中,如果应用并行处理,则解码设备无法知道存储在当前HMVP缓冲器中的HMVP候选是否与用于当前(目标)块的解码的HMVP缓冲器相关。这是因为在通过顺序处理对当前块进行编码时推导的HMVP缓冲器可能不同于在通过并行处理对当前块进行编码时推导的HMVP缓冲器。

在本说明书的一个实施方式中,为了解决上述问题,当应用HMVP时,可通过将历史管理缓冲器(HMVP缓冲器)初始化来支持并行处理。

图13示出根据本说明书的一个实施方式的将历史管理缓冲器(HMVP缓冲器)初始化的方法。

参照图13,可针对CTU行的每一个第一顺序CTU将HMVP缓冲器初始化。换言之,如果对CTU行的第一顺序CTU进行编码,则HMVP缓冲器可被初始化以使得包括在HMVP缓冲器中的HMVP候选的数量变为0。如上所述,通过将各个CTU行的HMVP缓冲器初始化,即使支持并行处理,也可没有限制地使用在位于当前块的左侧的CTU的编码处理期间推导的HMVP候选。在这种情况下,例如,如果作为当前块的当前CU位于CTU行的第一顺序CTU,并且当前CU对应于第一顺序CTU的第一CU,则包括在HMVP缓冲器中的HMVP候选的数量为0。另外,例如,如果CTU行中在当前CU之前编码的CU在帧间模式下编码,则HMVP候选可基于先前编码的CU的运动信息来推导并被包括在HMVP缓冲器中。

图14示出根据一个实施方式的HMVP缓冲器管理方法。

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

作为另一示例,当应用HMVP时,可通过针对各个CTU将HMVP缓冲器初始化来去除以CTU为单位的依赖性。

图15示出根据另一实施方式的HMVP缓冲器管理方法。

参照图15,可针对各个CTU执行HMVP缓冲器初始化而不涉及确定当前CTU是不是各个CTU行的第一顺序CTU。在这种情况下,由于HMVP缓冲器以CTU为单位初始化,所以存在于CTU内的块的运动信息被存储在HMVP表中。在这种情况下,可基于属于同一CTU的块(例如,CU)的运动信息来推导HMVP候选,并且可如下所述进行HMVP缓冲器初始化而不涉及确定当前CTU是不是各个CTU行的第一顺序CTU。

如上所述,HMVP缓冲器可以切片为单位初始化,由此允许使用与当前块空间分离的块的运动向量。然而,在这种情况下,由于在切片内不可能支持并行处理,所以上述实施方式提出了以CTU行或CTU为单位将缓冲器初始化的方法。换言之,根据本说明书的实施方式,HMVP缓冲器可以切片为单位初始化,并且可以切片内的CTU行为单位被初始化。

此外,当对一个画面进行编码(编码/解码)时,该画面可以切片为单位分割,和/或对应画面可以拼块为单位分割。例如,对应画面可考虑错误恢复以切片为单位分割,或者对应画面可以拼块为单位分割以对对应画面内的部分区域进行编码/解码。当一个画面被分割成多个拼块时,如果应用HMVP管理缓冲器,则以对应画面内的CTU行为单位执行初始化(即,在画面内的各个CTU行的第一顺序CTU中将HMVP缓冲器初始化)不适合仅对画面的一部分进行编码/解码的拼块结构。

图16示出在拼块结构中将HMVP缓冲器初始化的方法。

如图16所示,由于对于拼块1和拼块3的情况,没有以拼块为单位将HMVP管理缓冲器初始化,所以发生对拼块0和拼块2的依赖性。因此,在存在拼块的情况下,可使用以下方法将HMVP缓冲器初始化。

作为一个示例,HMVP缓冲器可以CTU为单位被初始化。显而易见,可应用此初始化而无需区分拼块和切片。

作为另一示例,HMVP缓冲器可针对各个拼块的第一顺序CTU初始化。

图17示出根据另一实施方式的针对拼块的第一顺序CTU将HMVP缓冲器初始化的方法的示例。

参照图17,在对各个拼块的第一顺序CTU进行编码时,HMVP缓冲器被初始化。换言之,当对拼块0进行编码时,HMVP缓冲器0被初始化,当对拼块1进行编码时,HMVP缓冲器1可被初始化。

作为另一示例,HMVP缓冲器可针对各个拼块内的CTU行的第一顺序CTU初始化。

图18示出根据另一实施方式的针对各个拼块中的CTU行的第一顺序CTU将HMVP管理缓冲器初始化的方法的示例。

参照图18,HMVP缓冲器可针对各个拼块的各个CTU行初始化。例如,可在拼块n的第一顺序CTU行的第一顺序CTU中将HMVP缓冲器初始化,在拼块n的第二CTU行的第一顺序CTU中将HMVP缓冲器初始化,可在拼块n的第三CTU行的第一顺序CTU中将HMVP缓冲器初始化。在这种情况下,如果编码设备配备有多核处理器,则可将拼块n的第一顺序CTU行的HMVP缓冲器0初始化以使用,可将拼块n的第二CTU行的HMVP缓冲器1初始化以使用,可将拼块n的第三CTU行的HMVP缓冲器2初始化以使用,由此可支持并行处理。此外,如果编码设备配备有单核处理器,则编码设备可通过根据编码顺序在各个拼块内的各个CTU行的第一顺序CTU中将HMVP缓冲器初始化来重用HMVP缓冲器。

此外,根据拼块分割结构和切片分割结构,拼块和切片可同时存在于一个画面内。

图19示出拼块和切片一起存在的结构的示例。

图19示出一个画面被分割为四个拼块,并且各个拼块包含两个切片的情况。如图19所示,切片和拼块二者可一起存在于一个画面内,并且可如下初始化HMVP缓冲器。

作为一个示例,HMVP缓冲器可以CTU为单位被初始化。可应用此方法而与CTU是位于拼块中还是切片中无关。

作为另一示例,HMVP缓冲器可针对各个拼块内的第一顺序CTU初始化。

图20示出针对各个拼块内的第一顺序CTU将HMVP缓冲器初始化的方法的示例。

参照图20,HMVP缓冲器可在各个拼块的第一顺序CTU中被初始化。即使在一个拼块内存在多个切片,也可在拼块内的第一顺序CTU中执行HMVP缓冲器初始化。

作为另一示例,可针对存在于拼块内的各个切片执行HMVP缓冲器初始化。

图21示出针对拼块内的各个切片将HMVP缓冲器初始化的方法的示例。

参照图21,HMVP缓冲器可在拼块内的各个切片的第一顺序CTU中被初始化。因此,如果在一个拼块内存在多个切片,则可针对多个切片中的每一个执行HMVP缓冲器初始化。在这种情况下,可在处理各个切片的第一顺序CTU时执行HMVP缓冲器初始化。

此外,多个拼块可存在于一个画面内,而没有切片。或者,多个拼块可存在于一个切片内。在这种情况下,可如下执行HMVP缓冲器初始化。

作为一个示例,可针对各个拼块组将HMVP缓冲器初始化。

图22示出针对拼块组内的第一拼块的第一顺序CTU将HMVP缓冲器初始化的示例。

参照图22,一个画面可被分割为两个拼块组,并且各个拼块组(拼块组0或拼块组1)可被分割为多个拼块。在这种情况下,HMVP缓冲器可针对一个拼块组内的第一拼块的第一顺序CTU被初始化。

作为另一示例,HMVP缓冲器可以拼块组内的拼块为单位被初始化。

图23示出针对拼块组内的各个拼块的第一顺序CTU将HMVP缓冲器初始化的示例。

参照图23,一个画面可被分割为两个拼块组,并且各个拼块组(拼块组0或拼块组1)可被分割为多个拼块。在这种情况下,HMVP缓冲器可针对一个拼块组内的各个拼块的第一顺序CTU被初始化。

作为另一示例,HMVP缓冲器可针对拼块组内的各个拼块的CTU行被初始化。

图24示出针对拼块组内的各个拼块的CTU行将HMVP缓冲器初始化的示例。

参照图24,一个画面可被分割为两个拼块组,并且各个拼块组(拼块组0或拼块组1)可被分割为多个拼块。在这种情况下,可在一个拼块组内的各个拼块的CTU行的第一顺序CTU中将HMVP缓冲器初始化。

或者,在这种情况下,HMVP管理缓冲器也可以CTU为单位被初始化。显而易见,可应用此初始化,而无需区分拼块和切片。

此外,根据本说明书编码的视频/图像可根据下述编码层和结构来处理。

图25示出编码的图像/视频的层结构。

参照图25,编码的图像/视频包括处理图像/视频的解码并自己解码的视频编码层(VCL)、发送和存储编码的信息的子系统以及位于VCL和子系统之间并负责网络适配功能的网络抽象层(NAL)。

在VCL中,可生成包括压缩的图像数据(切片数据)的VCL数据;或者可生成包括诸如画面参数集(PPS)、序列参数集(SPS)和视频参数集(VPS)的信息的参数集或者图像解码处理另外所需的补充增强信息(SEI)消息。

在NAL中,可通过向VCL中生成的原始字节序列有效载荷(RBSP)添加头信息(NAL单元头)来生成NAL单元。此时,RBSP是指VCL中生成的切片数据、参数集和SEI消息。NAL单元头可包括根据包括在对应NAL单元中的RBSP数据指定的NAL单元类型信息。

如图中所示,根据VCL中生成的RBSP,NAL单元可被分为VCL NAL单元和非VCL NAL单元。VCL NAL单元可指包括关于图像的信息(切片数据)的NAL单元,非VCL NAL单元可指包括解码图像所需的信息(参数集或SEI消息)的NAL单元。

上述VCL NAL单元和非VCL NAL单元可通过根据子系统的数据规范附接头信息来通过网络发送。例如,NAL单元可被修改为诸如H.266/VVC文件格式、实时传输协议(RTP)或传输流(TS)的预定规范的数据类型并且通过各种类型的网络发送。

如上所述,NAL单元的NAL单元类型可根据包括在对应NAL单元中的RBSP数据结构来指定,并且关于NAL单元类型的信息可被存储在NAL单元头中并如此用信号通知。

例如,根据NAL单元是否包括关于图像的信息(切片数据),NAL单元可被大致分为VCL NAL单元类型和非VCL NAL单元类型。VCL NAL单元类型可根据包括在VCL NAL单元中的画面的特性和类型来分类,并且非VCL NAL单元类型可根据参数集的类型来分类。

在下文中,提供根据包括在非VCL NAL单元类型中的参数集的类型指定的NAL单元类型的一个示例。

-适配参数集(APS)NAL单元:包括APS的NAL单元的类型

-解码参数集(DPS)NAL单元:包括DPS的NAL单元的类型

-视频参数集(VPS)NAL单元:包括VPS的NAL单元的类型

-序列参数集(SPS)NAL单元:包括SPS的NAL单元的类型

-画面参数集(PPS)NAL单元:包括PPS的NAL单元的类型

NAL单元类型包括NAL单元类型的句法信息,并且该句法信息可被存储在NAL单元头中并如此用信号通知。例如,句法信息可以是nal_unit_type,并且可由nal_unit_type的值指定NAL单元类型。

切片头(切片头句法)可包括可共同应用于切片的信息/参数。APS(APS句法)或PPS(PPS句法)可包括可共同应用于一个或更多个切片或画面的信息/参数。SPS(SPS句法)可包括可共同应用于一个或更多个序列的信息/参数。VPS(VPS句法)可包括可共同应用于多个层的信息/参数。DPS(DPS句法)可包括可共同应用于整个视频的信息/参数。DPS可包括与编码的视频序列(CVS)的级联有关的信息/参数。本说明书中的高级句法(HLS)可包括APS句法、PPS句法、SPS句法、VPS句法、DPS句法和切片头句法中的至少一个。

在本说明书中,被编码并以比特流的形式从编码设备用信号通知给解码设备的图像/视频信息可不仅包括与画面内分割有关的信息、帧内/帧间预测信息、残差信息、环路滤波信息,而且包括切片头中所包括的信息、APS中所包括的信息、PPS中所包括的信息、SPS中所包括的信息和/或VPS中所包括的信息。

此外,如上所述,如果HMVP缓冲器(HMVP候选集合)以切片为单位或以切片内的CTU行为单位被初始化,则相关句法可如下表达。

[表2]

[表3]

表2示出以切片为单位将HMVP缓冲器初始化的示例,表3示出以切片内的CTU为单位将HMVP缓冲器初始化的示例。切片可包括空间域中的画面内的多个CTU。另外,切片可包括在视频编码层(VCL)中承载头信息的切片头和承载压缩的图像数据的切片数据。这里,slice_type可表示指示切片的编码类型的句法元素。切片类型可基于slice_type被推导为I切片、B切片或P切片。

例如,如表2所示,多个CTU可包括在切片内,并且当与切片有关的切片数据句法被解码时,HMVP缓冲器可被初始化。在这种情况下,HMVP候选的数量(例如,HMVPcandNum)可被设定为0。

另外,例如,如表3所示,多个CTU可包括在切片中,并且CTU可被依次编码(编码/解码)。如果对应CTU对应于画面内的CTU行的第一顺序CTU(例如,CtbAddrInRs%PicWidthInCtbsY==0)或者如果对应CTU对应于切片内的第一顺序CTU(例如,CtbAddrInRs==slice_address),则HMVP缓冲器可在对应CTU中被初始化。在这种情况下,HMVP候选的数量(例如,HMVPcandNum)可被设定为0。

图26和图27示出包括根据本说明书的实施方式的帧间预测方法和相关组件的视频/图像编码方法的一个示例。图26中所公开的方法可由图2中所公开的编码设备执行。更具体地,例如,图26的S2600至S2630可由编码设备的预测器220执行,图26的S2640可由编码设备的残差处理器230执行,图26的S2650可由编码设备的熵编码器240执行。图26中所公开的方法可包括本说明书中所描述的实施方式。

参照图26,编码设备针对当前块推导HMVP候选集合S2600。编码设备可执行本说明书的实施方式中所描述的HMVP候选集合管理方法(或HMVP缓冲器管理方法)。例如,可基于先前块的运动信息来更新MVP候选集合。这里,先前块可指示当前块所在的当前画面、当前拼块或当前切片中在CTU行内较早编码/处理的块。另外,例如,HMVP候选集合可在包括当前块的CTU行的CTU当中的特定CTU中被初始化。更具体地,例如,特定CTU可以是当前画面内的CTU行的CTU当中的第一顺序CTU或当前拼块内的CTU行的CTU当中的第一顺序CTU(或当前切片内的第一顺序CTU)。另外,更具体地,例如,HMVP候选集合可以切片、拼块或拼块组为单位被初始化。和/或HMVP候选集合可以CTU行为单位被初始化。HMVP候选集合可在各个切片、拼块或拼块组中每CTU行被初始化。拼块可被表示为画面内的CTU的矩形区域。可基于画面内的特定拼块行和特定拼块列来指定拼块。例如,一个或更多个拼块可存在于当前画面内。在这种情况下,HMVP候选集合可在当前拼块内包括当前块的CTU行的第一顺序CTU处被初始化。或者,一个或更多个切片可存在于当前画面内。在这种情况下,HMVP候选集合可在当前切片内包括当前块的CTU行的第一顺序CTU处被初始化。或者,一个或更多个拼块组可存在于当前画面内。在这种情况下,HMVP候选集合可在当前拼块组内包括当前块的CTU行的第一顺序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的先前CTU内较早处理的块的运动信息推导的第二HMVP候选。另外,例如,如果作为当前块的当前CU位于CTU行的第一顺序CTU中,并且当前CU对应于第一顺序CTU的第一CU,则包括在HMVP候选集合中的HMVP候选的数量为0。另外,例如,如果CTU行中比当前CU早编码的CU(例如,当前CTU中比当前CU早编码的CU和/或当前CTU行中比当前CTU早编码的CTU内的CU)在帧间模式下编码,则可基于较早编码并包括在HMVP候选集合中的CU的运动信息来推导HMVP候选。

如果当前画面被分成多个拼块,则各个拼块中的每一CTU行将HMVP缓冲器初始化。

HMVP候选集合可以拼块或切片内的CTU行为单位被初始化。例如,如果CTU行的特定CTU不是当前画面内的CTU行的第一顺序CTU,但是该特定CTU是当前拼块或当前切片内的第一顺序CTU,则HMVP候选集合可在该特定CTU处被初始化。

如果HMVP候选集合被初始化,则包括在HMVP候选集合中的HMVP候选的数量可被设定为0。

编码设备基于HMVP候选集合来构造运动信息候选列表S2610。HMVP候选集合可包括HMVP候选,并且可构造包括HMVP候选的运动信息候选列表。

作为一个示例,如果对当前块应用合并模式,则运动信息候选列表可以是合并候选列表。作为另一示例,如果对当前块应用(A)MVP模式,则运动信息候选列表可以是MVP候选列表。如果对当前块应用合并模式,则如果当前块的合并候选列表内的可用合并候选(例如,包括空间合并候选和时间合并候选)的数量小于合并候选的最大数量,则HMVP候选可被添加到合并候选列表。在这种情况下,HMVP候选可被插入到合并候选列表内的空间和时间候选后面。换言之,可向HMVP候选指派比指派给合并候选列表内的空间和时间候选的索引更大的索引。如果对当前块应用(A)MVP模式,则如果当前块的MVP候选列表内的可用MVP候选(基于空间邻近块和时间邻近块推导)的数量小于2,则HMVP候选可被添加到MVP候选列表。

编码设备可基于运动信息候选列表来推导当前块的运动信息S2620。

编码设备可基于运动信息候选列表来推导当前块的运动信息。例如,如果对当前块应用合并模式或MVP模式,则属于HMVP候选集合的HMVP候选可用作合并候选或MVP候选。例如,如果对当前块应用合并模式,则属于HMVP候选集合的HMVP候选被包括作为合并候选列表的候选,并且可基于合并索引在属于合并候选列表的候选当中指示HMVP候选。合并索引可作为预测相关信息被包括在稍后描述的图像/视频信息中。在这种情况下,可按照比属于合并候选列表的空间合并候选和时间合并候选更低的优先级向合并候选列表内的HMVP候选指派索引。换言之,可向HMVP候选指派值比空间合并候选和时间合并候选的索引值更高的索引。作为另一示例,如果对当前块应用MVP模式,则属于HMVP候选集合的HMVP候选可被包括作为合并候选列表的候选,并且可基于MVP标志(或MVP索引)在属于MVP候选列表的候选当中指示HMVP候选。MVP标志(或MVP索引)可作为预测相关信息被包括在稍后描述的图像/视频信息中。

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

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

编码设备基于残差样本来推导关于残差样本的信息,并且对包括关于残差样本的信息的图像/视频信息进行编码S2650。关于残差样本的信息可被称为残差信息,其可包括关于量化的变换系数的信息。编码设备可对残差样本执行变换/量化处理并推导量化的变换系数。

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

编码的图像信息可包括切片数据句法。切片数据句法可包括关于切片内的一个或更多个CTU的字段,并且指示HMVP候选集合被初始化的特定CTU的信息可包括在切片数据句法中。

图28和图29示出包括根据本说明书的实施方式的帧间预测方法和相关组件的图像解码方法的一个示例。图28中所公开的方法可由图3中所公开的解码设备执行。更具体地,例如,图28的S2800至S2830可由解码设备的预测器330执行,S2840可由解码设备的加法器340执行。图28中所公开的方法可包括本说明书中所描述的实施方式。

参照图28,解码设备针对当前块推导HMVP候选集合S2800。解码设备可执行本说明书的实施方式中所描述的HMVP候选集合管理方法(或HMVP缓冲器管理方法)。例如,可基于先前块的运动信息来更新MVP候选集合。这里,先前块可指示当前块所在的当前画面、当前拼块或当前切片中在CTU行内较早编码/处理的块。另外,例如,HMVP候选集合可在包括当前块的CTU行的CTU当中的特定CTU中被初始化。更具体地,例如,特定CTU可以是当前画面内的CTU行的CTU当中的第一顺序CTU或当前拼块内的CTU行的CTU当中的第一顺序CTU(或当前切片内的第一顺序CTU)。另外,更具体地,例如,HMVP候选集合可以切片、拼块或拼块组为单位被初始化。和/或HMVP候选集合可以CTU行为单位被初始化。HMVP候选集合可在各个切片、拼块或拼块组中每CTU行被初始化。拼块可被表示为画面内的CTU的矩形区域。可基于画面内的特定拼块行和特定拼块列来指定拼块。例如,一个或更多个拼块可存在于当前画面内。在这种情况下,HMVP候选集合可在当前拼块内包括当前块的CTU行的第一顺序CTU处被初始化。或者,一个或更多个切片可存在于当前画面内。在这种情况下,HMVP候选集合可在当前切片内包括当前块的CTU行的第一顺序CTU处被初始化。或者,一个或更多个拼块组可存在于当前画面内。在这种情况下,HMVP候选集合可在当前拼块组内包括当前块的CTU行的第一顺序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的先前CTU内较早处理的块的运动信息推导的第二HMVP候选。另外,例如,如果作为当前块的当前CU位于CTU行的第一顺序CTU中,并且当前CU对应于第一顺序CTU的第一CU,则包括在HMVP候选集合中的HMVP候选的数量为0。另外,例如,如果CTU行中比当前CU早编码的CU(例如,当前CTU中比当前CU早编码的CU和/或当前CTU行中比当前CTU早编码的CTU内的CU)在帧间模式下编码,则可基于较早编码并包括在HMVP候选集合中的CU的运动信息来推导HMVP候选。

如果当前画面被分成多个拼块,则各个拼块中的每一CTU行将HMVP缓冲器初始化。

HMVP候选集合可以拼块或切片内的CTU行为单位被初始化。例如,如果CTU行的特定CTU不是当前画面内的CTU行的第一顺序CTU,但是该特定CTU是当前拼块或当前切片内的第一顺序CTU,则HMVP候选集合可在该特定CTU处被初始化。

如果HMVP候选集合被初始化,则包括在HMVP候选集合中的HMVP候选的数量可被设定为0。

切片数据句法可包括关于切片内的一个或更多个CTU的字段,并且指示HMVP候选集合被初始化的特定CTU的信息可包括在切片数据句法中。

解码设备基于HMVP候选集合来构造运动信息候选列表S2810。HMVP候选集合可包括HMVP候选,并且可构造包括HMVP候选的运动信息候选列表。

作为一个示例,如果对当前块应用合并模式,则运动信息候选列表可以是合并候选列表。作为另一示例,如果对当前块应用(A)MVP模式,则运动信息候选列表可以是MVP候选列表。如果对当前块应用合并模式,则如果当前块的合并候选列表内的可用合并候选(例如,包括空间合并候选和时间合并候选)的数量小于合并候选的最大数量,则HMVP候选可被添加到合并候选列表。在这种情况下,HMVP候选可被插入到合并候选列表内的空间和时间候选后面。换言之,可向HMVP候选指派比指派给合并候选列表内的空间和时间候选的索引更大的索引。如果对当前块应用(A)MVP模式,则如果当前块的MVP候选列表内的可用MVP候选(基于空间邻近块和时间邻近块推导)的数量小于2,则HMVP候选可被添加到MVP候选列表。

解码设备可基于运动信息候选列表来推导当前块的运动信息S2820。

解码设备可基于运动信息候选列表来推导当前块的运动信息。例如,如果对当前块应用合并模式或MVP模式,则属于HMVP候选集合的HMVP候选可用作合并候选或MVP候选。例如,如果对当前块应用合并模式,则属于HMVP候选集合的HMVP候选被包括作为合并候选列表的候选,并且可基于从比特流获得的合并索引在属于合并候选列表的候选当中指示HMVP候选。在这种情况下,可按照比属于合并候选列表的空间合并候选和时间合并候选更低的优先级向合并候选列表内的HMVP候选指派索引。换言之,可向HMVP候选指派值比空间合并候选和时间合并候选的索引值更高的索引。作为另一示例,如果对当前块应用MVP模式,则属于HMVP候选集合的HMVP候选可被包括作为合并候选列表的候选,并且可基于从比特流获得的MVP标志(或MVP索引)在属于MVP候选列表的候选当中指示HMVP候选。

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

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

在上述实施方式中,根据流程图使用一系列步骤和方框来描述方法。然而,对应实施方式不限于步骤的特定顺序,一些步骤可与不同步骤按照与上面描述那些不同的顺序或同时执行。另外,本领域技术人员应该理解,流程图中所示的步骤不是排他性的,还可包括其它步骤,或者可删除流程图的一个或更多个步骤,而不影响本说明书的实施方式的技术范围。

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

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

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

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

另外,本说明书的实施方式可按照程序代码的形式实现为计算机程序产品,并且程序代码可由计算机根据本说明书的实施方式执行。程序代码可被存储在计算机可读载体上。

图30示出可应用本说明书中所公开的实施方式的内容流系统的示例。

参照图30,应用了本说明书的实施方式的内容流系统可主要包括编码服务器、流服务器、web服务器、媒体存储装置、用户装置和多媒体输入装置。

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

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

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

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

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

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

相关技术
  • 图像解码装置、图像解码方法以及图像编码装置
  • 图像解码装置、图像解码方法以及图像编码装置
  • 图像解码装置以及图像解码方法
  • 图像解码装置以及图像解码方法
  • 图像解码装置以及图像解码方法
  • 图像编码装置、图像编码方法、图像编码程序、发送装置、发送方法、及发送程序、以及图像解码装置、图像解码方法、图像解码程序、接收装置、接收方法、及接收程序
  • 图像编码装置、图像编码方法、图像编码程序、发送装置、发送方法、及发送程序、以及图像解码装置、图像解码方法、图像解码程序、接收装置、接收方法及接收程序
技术分类

06120116221117