CN113491124B - 基于dmvr的帧间预测方法和设备 - Google Patents
基于dmvr的帧间预测方法和设备 Download PDFInfo
- Publication number
- CN113491124B CN113491124B CN202080014037.3A CN202080014037A CN113491124B CN 113491124 B CN113491124 B CN 113491124B CN 202080014037 A CN202080014037 A CN 202080014037A CN 113491124 B CN113491124 B CN 113491124B
- Authority
- CN
- China
- Prior art keywords
- current block
- prediction
- apply
- dmvr
- bdof
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 239000013598 vector Substances 0.000 claims abstract description 165
- 238000012937 correction Methods 0.000 claims abstract description 62
- 230000009977 dual effect Effects 0.000 claims abstract description 38
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 27
- 230000003287 optical effect Effects 0.000 claims description 9
- 239000000523 sample Substances 0.000 description 55
- 230000008569 process Effects 0.000 description 44
- 230000002146 bilateral effect Effects 0.000 description 33
- 238000001914 filtration Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 13
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 9
- 238000013139 quantization Methods 0.000 description 9
- 230000011664 signaling Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Abstract
根据本文件的由解码设备执行的图像解码方法包括以下步骤:导出当前块的运动向量;确定是否对当前块的运动向量应用修正;如果确定对当前块的运动向量应用修正,则通过将解码器侧运动向量修正(DMVR)应用于运动向量来导出修正的运动向量;基于修正的运动向量导出当前块的预测样本;以及基于预测样本生成当前块的重构样本,其中,确定是否应用修正的步骤包括基于当前块的大小和当前块的双重预测权重索引信息中的至少一个,确定是否应用修正。
Description
技术领域
本文件涉及图像编译技术,更具体地,涉及一种基于解码器侧运动向量修正(DMVR)执行帧间预测的方法和装置。
背景技术
近来,在各种领域中对诸如超高清(HUD)图像和4K或8K或更大的视频这样的高分辨率且高质量的图像和视频的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,相对发送的信息量或位数增加。因此,如果使用诸如现有有线或无线宽带线这样的介质来传输图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
此外,近来对诸如虚拟现实(VR)、人工现实(AR)内容或全息图这样的沉浸式媒体的兴趣和需求日益增加。诸如游戏图像这样的图像特性与真实图像的图像特性不同的图像和视频的广播日益增加。
因此,为了有效地压缩和发送或存储和回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。
发明内容
技术问题
本公开提供了提高图像编译效率的方法和装置。
本公开还提供了高效帧间预测的方法和装置。
本公开还提供了用于基于解码器侧运动向量修正(DMVR)来执行帧间预测的方法和装置。
本公开还提供了用于基于双向光流(BDOF)执行帧间预测的方法和装置。
本公开还提供了用于通过提供用于确定是否应用DMVR以提高图像编译效率的条件和/或用于确定是否应用BDOF的条件来提高预测性能的方法和装置。
技术方案
本文件的示例性实施例提供一种由解码装置执行的图像解码方法。该方法包括以下步骤:导出当前块的运动向量;确定是否对当前块的运动向量应用修正;当确定对当前块的运动向量应用修正时,通过将解码器侧运动向量修正(DMVR)应用于运动向量来导出修正的运动向量;基于修正的运动向量导出当前块的预测样本;以及基于预测样本,生成当前块的重构样本,其中,确定是否应用修正的步骤基于当前块的大小或当前块的双重预测权重索引信息中的至少一个来确定是否应用修正。
本文件的另一示例性实施例提供一种由编码装置执行的图像编码方法。该方法包括以下步骤:导出当前块的运动向量;确定是否对当前块的运动向量应用修正;当确定对当前块的运动向量应用修正时,通过将解码器侧运动向量修正(DMVR)应用于运动向量来导出修正的运动向量;基于修正的运动向量导出当前块的预测样本;基于预测样本导出残差样本;基于残差样本生成残差信息;以及编码包括残差信息的图像信息,其中,确定是否应用修正的步骤基于当前块的大小或当前块的双重预测权重索引信息中的至少一个来确定是否应用修正。
有益效果
根据本公开,能够提高整体图像/视频压缩效率。
根据本公开,通过高效的帧间预测,能够降低计算复杂度并且能够提高整体编译效率。
根据本公开,提出了在运动补偿过程期间应用修正运动信息的DMVR和/或BDOF以在复杂度和性能方面提高效率的各种应用条件。
附图说明
图1示意性地图示了适用于本文件的示例性实施例的视频/图像编译***的示例。
图2是用于示意性地解释适用于本文件的示例性实施例的视频/图像编码装置的配置的图。
图3是用于示意性地解释适用于本文件的示例性实施例的视频/图像解码装置的配置的图。
图4是用于解释在真实双重预测中执行解码器侧运动向量修正(DMVR)的过程的示例性实施例的图。
图5是图示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的示例。
图6和图7是图示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的另一示例。
图8是示意性地图示可以由根据本文件的示例性实施例的编码装置执行的编码方法的流程图。
图9是示意性地图示可以由根据本文件的示例性实施例的解码装置执行的解码方法的流程图。
图10图示了本文件中公开的示例性实施例适用的内容流传输***的示例。
具体实施方式
本公开可以以各种方式修改并且可以具有各种实施方式,并且特定的实施方式将在附图中被例示并被详细描述。然而,这并不旨在将本公开限制于具体实施方式。本说明书中通常使用的术语用于描述特定的实施方式,而不是用来限制本公开的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。该说明书中的诸如“包括”或“具有”这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、部件或其组合,而不排除存在或添加一个或更多个其它特性、数字、步骤、操作、元件、部件或其组合的可能性。
此外,为了便于与不同特征功能相关的描述,独立地例示了本公开中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。其中元件被组合和/或分开的实施方式也被包括在本公开的权利范围内,除非它偏离了本公开的实质。
下文中,参照附图更具体地描述本公开的优选实施方式。下文中,在附图中,相同的附图标记被用于相同的元件,并且可以省略对相同元件的冗余描述。
图1示意性地例示了可以应用本公开的实施方式的视频/图像编译***的示例。
参照图1,视频/图像编译***可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收设备。
源设备可以包括视频源、编码装置和发送器。接收设备可以包括接收器、解码装置和渲染器。编码装置可以被称为视频/图像编码装置,并且解码装置可以被称为视频/图像解码装置。发送器可以被包括在编码装置中。接收器可以被包括在解码装置中。渲染器可以包括显示器,并且显示器可以被配置为单独的设备或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
编码装置可以对输入视频/图像进行编码。编码装置可以执行诸如针对压缩和编译效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。
发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收设备的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码装置。
解码装置可以通过执行与编码装置的操作对应的诸如反量化、逆变换、预测等这样的一系列过程来解码视频/图像。
渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
本公开涉及视频/图像编译。例如,本公开中公开的方法/实施方式可以应用于以通用视频编译(VVC)、EVC(基本视频编译)标准、AOMedia Video 1(AV1)标准、第二代音频视频编译标准(AVS2)或下一代视频/图像编译标准(例如,H.267或H.268等)中公开的方法。
本公开提出了视频/图像编译的各种实施方式,并且除非另外提到,否则这些实施方式可以彼此组合地执行。
在本公开中,视频可以是指随时间推移的一系列图像。图片通常是指表示特定时间区域中的一副图像的单元,并且切片/图块(tile)是在编译时构成图片的部分的单元。切片/图块可以包括一个或更多个编译树单元(CTU)。一幅图片可以由一个或更多个切片/图块组成。一幅图片可以由一个或更多个图块组组成。一个图块组可以包括一个或更多个图块。拼块(brick)可以表示图片中的图块内的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)。在这种情况下,从编译树单元(CTU)或最大编译单元(LCU)开始,可以根据四叉树二叉树三叉树(QTBTTT)结构来递归地分割编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元划分成深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。另选地,可以首先应用二叉树结构。可以基于没有被进一步分割的最终编译单元来执行根据本公开的编译过程。在这种情况下,基于根据图像特性的编译效率,可以将最大编译单元直接用作最终编译单元。另选地,可以按需要将编译单元递归地分割成深度进一步更深的编译单元,使得可以将最佳大小的编译单元用作最终编译单元。这里,编译过程可以包括随后将描述的诸如预测、变换和重构这样的过程。作为另一示例,处理单元还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从上述的最终编译单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于根据变换系数导出残差信号的单元。
在一些情况中,可以将单元和诸如块、区域等这样的术语互换地使用。在常规情况下,M×N块可以表示由M列和N行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与一个图片(或图像)的像素或pel对应的术语。
在编码装置200中,从输入图像信号(原始块、原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。在这种情况下,如所示出的,在编码器200中从输入图像信号(原始块、原始样本阵列)中减去预测信号(预测块、预测样本阵列)的单元可以被称为减法器231。预测器可以对处理目标块(下文中,被称为“当前块”)执行预测,并且可以生成包括针对当前块的预测样本的预测块。预测器可以确定以当前块或CU为基础应用帧内预测还是帧间预测。如随后在对每种预测模式的描述中所讨论的,预测器可以生成诸如预测模式信息这样的与预测相关的各种信息,并且将所生成的信息发送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33种定向预测模式或65种定向预测模式。然而,这仅仅是示例,并且根据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器221可以基于参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双重预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置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可以执行诸如例如指数哥伦布(exponential Golomb)、上下文自适应可变长度编译(CAVLC)、上下文自适应二进制算术编译(CABAC)等这样的各种编码方法。熵编码器240可以对除了量化后的变换系数(例如,语法元素的值等)之外的视频/图像重构所需的信息一起或分别进行编码。编码后的信息(例如,编码后的视频/图像信息)可以以比特流的形式在网络抽象层(NAL)的单元基础上进行发送或存储。视频/图像信息还可以包括关于诸如适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。在本公开中,从编码装置发送到/发信号通知给解码装置的信息和/或语法元素可以被包括在视频/图像信息中。视频/图像信息可以通过上述编码过程进行编码并且被包括在比特流中。可以通过网络传输比特流,或者将其存储在数字存储介质中。这里,网络可以包括广播网络、通信网络和/或类似物,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)或存储其的存储器(未示出)可以被配置为编码装置200的内部/外部元件,或者发送器可以被包括在熵编码器240中。
从量化器233输出的量化后的变换系数可以被用于生成预测信号。例如,通过利用反量化器234和逆变换器235向量化后的变换系数应用反量化和逆变换,可以重构残差信号(残差块或残差样本)。加法器155将重构后的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,使得可以生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳过模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。加法器250可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前图片中的下一处理目标块的帧内预测,并且如随后描述的,可以被用于通过滤波进行的下一图片的帧间预测。
此外,在图片编码和/或重构处理中,可以应用具有色度缩放的亮度映射(LMCS)。
滤波器260可以通过向重构信号应用滤波来改善主观/客观视频质量。例如,滤波器260可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片存储在存储器270中,尤其是存储在存储器270的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环形滤波器、双边滤波器等。如随后在对每种滤波方法的描述中所讨论的,滤波器260可以生成与滤波相关的各种信息,并且将所生成的信息发送到熵编码器240。关于滤波的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
已发送到存储器270的修改后的重构图片可以被用作帧间预测器221中的参考图片。据此,编码装置可以避免在应用帧间预测时编码装置100和解码装置中的预测失配,并且还可以提高编码效率。
存储器270DPB可以存储修改后的重构图片,以便使用它作为帧间预测器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可以基于诸如指数哥伦布编译、CAVLC、CABAC等这样的编译方法对比特流中的信息进行解码,并且可以输出图像重构所需的语法元素的值和关于残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中的各语法元素对应的bin,使用解码目标语法元素信息以及邻近和解码目标块的解码信息或者在先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,CABAC熵解码方法可以在确定上下文模型之后使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。在熵解码器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预测、双重预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器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或者相应地应用以对应于解码装置300的滤波器350、帧间预测器332和帧内预测器331。
如上所述,在执行视频编译中,执行预测以提高压缩效率。通过预测,可以生成包括针对作为目标编译块的当前块的预测样本的预测块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。可以在编码装置和解码装置中相同地导出预测块。编码装置可以通过向解码装置发信号通知原始块而非原始块的原始样本值本身与预测块之间的残差的信息(残差信息)来提高图像编译效率。解码装置可以基于残差信息来导出包括残差样本的残差块,可以通过将残差块与预测块相加来生成包括重构样本的重构块,并且可以生成包括重构块的重构图片。
可以通过变换和量化过程来生成残差信息。例如,编码装置可以导出原始块与预测块之间的残差块,可以通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以通过对变换系数执行量化过程来导出量化后的变换系数,并且可以(通过比特流)向解码装置发信号通知相关的残差信息。在这种情况下,残差信息可以包括诸如量化后的变换系数的值信息、位置信息、变换方案、变换内核和量化参数这样的信息。解码装置可以基于残差信息来执行反量化/逆变换过程,并且可以导出残差样本(或残差块)。解码装置可以基于预测块和残差块来生成重构块。此外,编码装置可以通过对量化后的变换系数进行反量化/逆变换来导出残差块以便作为下一图片的帧间预测的参考,并且可以生成重构图片。
此外,如上所述,当对当前块执行预测时,可以应用帧内预测或帧间预测。下文中,将描述对当前块应用帧间预测的情况。
编码/解码装置的预测器(更具体地,帧间预测器)可以通过以块为单元执行帧间预测来导出预测样本。帧间预测可以表示以取决于除了当前图片之外的图片的数据元素(例如,样本值或运动信息)的方法而导出的预测。当对当前块应用帧间预测时,可以基于参考图片索引所指示的参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块(预测样本阵列)。在这种情况下,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单元来预测当前块的运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测类型(L0预测、L1预测、双重预测等)信息。在应用帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为诸如并置参考块、并置CU(colCU)等这样的名称,并且包括时间邻近块的参考图片可以被称为并置图片(colPic)。例如,可以基于当前块的邻近块来配置运动信息候选列表,并且为了导出当前块的运动向量和/或参考图片索引,可以发信号通知指示选择(使用)哪个候选的标志或索引信息。可以基于各种预测模式来执行帧间预测,并且例如,在跳过模式和合并模式下,当前块的运动信息可以与所选择的邻近块的运动信息相同。在跳过模式的情况下,可以不像合并模式那样发送残差信号。在运动向量预测(MVP)模式的情况下,所选择的邻近块的运动向量可以被用作运动向量预测项,并且可以发信号通知运动向量差。在这种情况下,可以使用运动向量预测项和运动向量差之和来导出当前块的运动向量。
根据帧间预测类型(L0预测、L1预测、双重预测等),运动信息还可以包括L0运动信息和/或L1运动信息。L0方向运动向量可以被称为L0运动向量或MVL0,并且L1方向运动向量可以被称为L1运动向量或MVL1。基于L0运动向量的预测可以被称为L0预测,基于L1运动向量的预测可以被称为L1预测,并且基于L0运动向量和L1运动向量二者的预测可以被称为双重预测。这里,L0运动向量可以指示与参考图片列表L0关联的运动向量,并且L1运动向量可以指示与参考图片列表L1关联的运动向量。参考图片列表L0可以包括按输出顺序在当前图片之前的图片,并且参考图片列表L1可以包括按输出顺序在当前图片之后的图片作为参考图片。先前图片可以被称为前置(参考)图片,并且后续图片可以被称为倒置(参考)图片。参考图片列表L0还可以包括按输出顺序在当前图片之后的图片作为参考图片。在这种情况下,可以首先在参考图片列表L0中为先前图片编索引,然后为后续图片编索引。参考图片列表L1还可以包括按输出顺序在当前图片之前的图片作为参考图片。在这种情况下,可以首先在参考图片列表L1中为后续图片编索引,然后可以为先前图片编索引。这里,输出顺序可以对应于图片顺序计数(POC)顺序。
另外,在对当前块应用帧间预测时,可以使用各种帧间预测模式。例如,可以使用包括合并模式、跳过模式、运动向量预测(MVP)模式、仿射模式、历史运动向量预测(HMVP)模式等的各种模式。解码器侧运动向量修正(DMVR)模式、自适应运动向量分辨率(AMVR)模式、双向光流(BDOF)等还可以被用作辅助模式。仿射模式可以被称为仿射运动预测模式。MVP模式可以被称为高级运动向量预测(AMVP)模式。在本公开中,一些模式和/或由一些模式导出的运动信息候选可以被包括其它模式的运动信息相关候选中的一个中。
可以从编码装置向解码装置发信号通知指示当前块的帧间预测模式的预测模式信息。在这种情况下,预测模式信息可以被包括在比特流中并且被解码装置接收。预测模式信息可以包括指示多种候选模式中的一种的索引信息。另选地,可以通过标志信息的分级信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或更多个标志。例如,可以通过发信号通知跳变标志来指示是否应用跳过模式,可以通过当在不应用跳过模式时发信号通知合并标志来指示是否应用合并模式,并且指示应用MVP模式或者还可以在不应用合并模式时发信号通知用于附加区分的标志。仿射模式可以被作为独立模式发信号通知或者被作为关于合并模式或MVP模式的从属模式发信号通知。例如,仿射模式可以包括仿射合并模式和仿射MVP模式。
另外,可以在对当前块应用帧间预测时使用当前块的运动信息。编码设备可以通过运动估计过程来导出当前块的最佳运动信息。例如,编码装置可以通过使用当前块的原始图片中的原始块来搜索参考图片中的预定搜索范围内的以分数像素为单元的具有高相关性的相似参考块,并且通过搜索到的参考块来导出运动信息。可以以基于相位的样本值之间的差为基础来导出块的相似度。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的绝对差之和(SAD)来计算块的相似度。在这种情况下,可以基于在搜索区域中的具有最小SAD的参考块来导出运动信息。可以基于帧间预测模式根据各种方法将导出的运动信息发信号通知给解码设备。
可以基于根据帧间预测模式导出的运动信息来导出当前块的预测块。预测块可以包括当前块的预测样本(预测样本阵列)。在当前块的运动向量(MV)指示分数样本单位时,可以执行插值过程,并且可以通过插值过程基于参考图片中的分数样本单位的参考样本来导出当前块的预测样本。当对当前块应用仿射帧间预测时,可以基于样本/子块单元MV来生成预测样本。当应用双重预测时,通过基于L0预测(即,使用参考图片列表L0和MVL0中的参考图片进行的预测)导出的预测样本的加权和或加权平均值导出的预测样本和基于L1预测(即,使用参考图片列表L1和MVL1中的参考图片进行的预测)导出的预测样本(根据相位)可以被用作当前块的预测样本。当应用双重预测时,如果基于当前图片,用于L0预测的参考图片和用于L1预测的参考图片位于不同的时间方向上(即,如果预测是双重预测并且对应于双向预测),则这可以被称为真实双重预测。
可以基于导出的预测样本来生成重构样本和重构图片,此后,可以如上所述地执行诸如环路内滤波等这样的过程。
此外,由于在跳过模式和/或合并模式下基于没有运动向量差(MVD)的邻近块的运动向量来预测当前块的运动,因此跳过模式和/或合并模式示出了运动预测的限制。为了改善跳过模式和/或合并模式的限制,可以通过应用解码器侧运动向量修正(DMVR)模式、双向光流(BDOF)模式等来修正运动向量。当对当前块应用真实双重预测时,可以使用DMVR模式和BDOF模式。
图4是描述在真实成对预测中执行解码器侧运动向量修正(DMVR)的过程的实施方式的示图。
DMVR是解码器通过对邻近块的运动信息进行修正来执行运动预测的方法。当应用DMVR时,解码器可以基于通过在合并/跳过模式下使用邻近块的运动信息所生成的模板通过成本比较来导出修正的运动信息。在这种情况下,能提高运动预测的精度,并且能在没有附加信令信息的情况下提高压缩性能。
在本公开中,为了便于描述,主要描述了解码装置,但是即使在编码装置中,也可以按相同的方法来执行根据本公开的实施方式的DMVR。
参照图4,解码装置可以导出由列表0和列表1方向初始运动向量(或运动信息)(例如,MV0和MV1)识别的预测块(即,参考块),并且按导出的预测样本的加权和(例如,求平均)来生成模板(或双边模板)。这里,初始运动向量(MV0和MV1)可以表示通过在合并/跳过模式下使用邻近块的运动信息导出的运动向量。
另外,解码装置可以通过模板匹配操作来导出用于使模板与参考图片的样本区域之间的差异最小化的运动向量(例如,MV0’和MV1’)(步骤2)。这里,样本区域可以指示参考图片中的初始预测块的相邻区域,并且样本区域可以被称为相邻区域、参考区域、搜索区域、搜索范围、搜索空间等。模板匹配操作可以包括计算模板与参考图片的样本区域之间的成本测量值的操作。例如,可以使用绝对差之和(SAD)进行成本测量。作为一个示例,作为成本函数,可以使用归一化的SAD。在这种情况下,匹配成本可以被给定为SAD(T–mean(T),2×P[x]–2×mean(P[x]))。这里,T表示模板并且P[x]表示搜索区域中的块。另外,用于计算两个参考图片中的每一个的最小模板成本的运动向量可以被认为是更新后的运动向量(替换初始运动向量)。如图8中例示的,解码装置可以通过使用更新后的运动向量MV0'和MV1'来生成最终的双边预测结果(即,最终的双边预测块)。作为实施方式,可以使用用于导出更新后的(或新的)运动向量的多次迭代来获取最终的双边预测结果。
在实施方式中,解码装置可以调用DMVR处理,以便提高初始运动补偿预测(即,通过常规的合并/跳过模式进行的运动补偿预测)的精度。例如,在当前块的预测模式是合并模式或跳过模式时,解码装置可以执行DMVR处理,并且对当前块应用其中双边参考图片按显示顺序位于基于当前图片的相反的方向的双边双重预测。
当如上所述对当前块应用真实双重预测时,可以使用BDOF,以便修正双重预测信号。当对当前块应用双重预测时,可以使用双向光流(BDOF)来计算改善的运动信息并且基于计算出的运动信息来生成预测样本。例如,可以以4×4子块的级别应用BDOF。换句话说,可以在当前块中以4×4子块为单元执行BDOF。另选地,BDOF可以仅应用于亮度分量。另选地,BDOF可以仅应用于色度分量,而且可以应用于亮度分量和色度分量。
BDOF模式是基于如BDOF模式的名称所指示的假定物体运动平稳的光流概念。可以通过使各个4×4子块的L0预测样本与L1预测样本之间的差值最小化来计算运动修正(vx,vy)。另外,可以使用运动修正来调整4×4子块中的双重预测样本值。
同时,可以看出,作为通过在应用真实双重预测时修正运动信息(在这种情况下,真实双重预测表示基于当前块的图片在其它方向上的参考图片中执行运动预测/补偿的情况)执行预测的技术的DMVR和BDOF是与假定图片中的对象以预定速度在预定方向上进行运动具有相似构思的修正技术。然而,当执行真实双重预测时,由于应用DMVR的条件与应用BDOF的条件彼此不同,因此应该执行针对各种技术多次重复地检查条件的过程。因此,本公开提出了可以通过在确定应用于当前块的预测模式时改进检查条件的过程来在解码器复杂度和性能方面提高效率的方法。
下表1示出了在常规的真实双重预测期间应用DMVR的条件。当满足以下列出的所有条件时,可以应用DMVR。
[表1]
参照表1,1)可以基于以序列参数集(SPS)语法发信号通知的标志信息(例如,sps_dmvr_enabled_flag)来确定是否应用DMVR。在此,标志信息(例如,sps_dmvr_enabled_flag)可以表示是否启用基于真实双重预测的DMVR。例如,当sps_dmvr_enabled_flag为1时(即,当启用基于真实双重预测的DMVR时),可以确定满足了是否启用DMVR的条件。
2)可以基于表示是否通过使用合并模式/跳过模式执行帧间预测的标志信息(例如,merge_flag)来确定是否应用DMVR。例如,当merge_flag为1时(即,当通过使用合并模式/跳过模式来执行帧间预测时),可以确定满足了是否应用合并模式/跳过模式的条件。
3)可以基于表示是否通过将带有运动向量差的合并模式(MMVD)模式一起使用执行帧间预测的标志信息(例如,mmvd_flag)来确定是否应用DMVR。例如,当mmvd_flag为0时(即,当不使用MMVD模式时),可以确定满足了是否应用MMVD模式的条件。
4)可以基于是否使用双边预测(双重预测)来确定是否应用DMVR。这里,双边预测可以表示基于以当前图片为基础在不同的方向上存在的参考图片执行的帧间预测。例如,当predFlagL0[0][0]=1并且predFlagL0[1][1]=1时,可以确定应用双边预测,并且可以确定满足了是否执行双边预测的条件。
5)可以基于是否执行真实双重预测以及当前图片与双边参考图片之间的距离是否彼此相同来确定是否应用DMVR。换句话说,可以确定当前图片与L0参考图片(即,参考图片列表L0中的参考图片)之间的距离和当前图片与L1参考图片(即,参考图片列表L1中的参考图片)之间的距离是否彼此相同。例如,当DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])-DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])=0时,确定执行真实双重预测并且当前图片与双边参考图片之间的距离彼此相同,以确定满足了双边参考图片的距离是否彼此相同的条件。
6)可以基于当前块的高度是否大于阈值来确定是否应用DMVR。例如,当当前块的高度等于或大于8时,可以确定满足了当前块大小(高度)条件。
7)可以基于当前块的大小是否大于阈值来确定是否应用DMVR。例如,在当前块的大小height×width等于或大于64时,可以确定满足当前块大小(height×width)条件。
解码装置可以根据是否满足上表1的条件1)至7)来确定是否应用DMVR。换句话说,当满足上表1的条件1)至7)时,解码装置可以通过应用DMVR来执行真实双重预测,当不满足上表1的条件中的甚至任何一个时,解码装置不应用DMVR。
下表2示出了在常规的真实双重预测期间应用BDOF的条件。当满足以下列出的所有条件时,可以应用BDOF。
[表2]
参照上表2,1)可以基于以序列参数集(SPS)语法发信号通知的标志信息(例如,sps_bdof_enabled_flag)来确定是否应用BDOF。在此,标志信息(例如,sps_dmvr_enabled_flag)可以表示是否启用基于真实双重预测的BDOF。例如,当sps_bdof_enabled_flag为1时(即,当启用基于真实双重预测的BDOF时),可以确定满足了是否启用BDOF的条件。
2)可以基于是否使用双边预测来确定是否应用BDOF。这里,双边预测可以表示基于以当前图片为基础在不同的方向上存在的参考图片执行的帧间预测。例如,当predFlagL0和predFlagL1二者都为1时,可以确定应用双边预测,并且可以确定满足了是否执行双边预测的条件。
3)基于是否执行真实双重预测来确定是否应用BDOF。换句话说,可以确定L0参考图片(即,参考图片列表L0中的参考图片)和L1参考图片(即,参考图片列表L1中的参考图片)是否位于基于当前图片的时间上不同的方向上。例如,当DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])×DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])小于0时,确定双边参考图片位于基于当前图片的不同方向上,以确定满足了是否执行真实双重预测的条件。
4)可以基于是否使用仿射模式来确定是否应用BDOF。这里,可以通过导出MotionModelIdc来确定是否使用仿射模式。例如,当导出的MotionModelIdc为0时,可以确定未使用仿射模式,并且在这种情况下,可以确定满足了是否应用仿射模式的条件。
5)可以基于表示是否按子块为单元执行帧间预测的标志信息(例如,merge_subblock_flag)来确定是否应用BDOF。例如,当merge_subblock_flag为0时(即,当未以子块为单元应用合并模式时),可以确定满足了是否以子块为单元应用合并模式的条件。
6)可以基于是否存在GBi来确定是否应用BDOF。这里,可以基于GBi索引信息(例如,GbiIdx)来确定是否存在GBi。例如,当GbiIdx为0时(即,当GbiIdx是默认的时),可以确定满足了是否存在GBi的条件。
7)可以基于当前块是否是包括亮度分量的亮度块来确定是否应用BDOF。例如,当指示当前块是否是亮度块的索引(例如,cIdx)是0时(即,当当前块是亮度块时),可以确定满足了当前块是否是亮度块的条件。
解码装置可以根据是否满足上表2的条件1)至7)来确定是否应用DMVR。换句话说,当满足上表2的条件1)至7)时,解码装置可以通过应用BDOF来执行真实双重预测,当不满足上表2的条件中的甚至任一个时,解码装置不应用BDOF。
如上所述,DMVR和BDOF的应用条件中的一些是相同的,而一些是相似或不同的。在常规方案中,由于即使在条件相同的情况下也针对各种技术执行条件检查,因此执行双重预测的复杂度增加。因此,本公开提出了用于在双重预测期间应用DMVR和BDOF的高效条件。
当将合并/跳过模式与AMVP模式进行比较时,合并/跳过模式的精度要比AMVP模式相对低,结果,在性能方面,使用DMVR方法来修正运动信息是有效的。然而,与DMVR不同,除了合并/跳过模式之外,甚至还可以在AMVP模式下应用BDOF模式,如此,当在AMVP模式下应用BDOF时,与性能相比执行BDOF的复杂性会增加。因此,实施方式提出了与DMVR类似地甚至在合并/跳过模式下应用BDOF的方法。
在这种情况下,作为本公开中提出的实施例,BDOF的应用条件可以包括在下表3中呈现的条件。
[表3]
参照上表3,可以基于表示是否通过使用合并模式/跳过模式执行帧间预测的标志信息(例如,merge_flag)来确定是否应用BDOF。例如,当merge_flag为1时(即,当通过使用合并模式/跳过模式执行帧间预测时),可以确定满足了是否应用合并模式/跳过模式的条件。因此,与DMVR类似,在合并/跳过模式中也可以应用BDOF。
换句话说,在该实施方式中,与在合并/跳过模式的情况下应用的条件一起,可以基于在启用BDOF时应用的条件、在双边预测的情况下应用的条件、在执行真实双重预测时应用的条件、在使用仿射预测时应用的条件、在不应用基于子块的合并模式时应用的条件、在GBi索引是默认的时应用的条件以及在当前块是亮度块时应用的条件来确定是否应用BDOF。
因此,解码装置可以确定是否满足上表6中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表6中列出的条件中的甚至任一个时,解码装置可以不应用BDOF。编码装置也可以应用上表6的条件,并且编码装置可以通过解码装置中进行的对应方法来执行真实双重预测。
基于上表3中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
此外,当该实施例中列出的条件与上表1和2中描述的条件相同时,类似地应用详细的操作或含义,结果,将省略对各个条件的详细描述。另外,将省略甚至在下述实施例中的重复内容。
可以通过各种硬件来配置编码/解码装置,并且复杂度与性能之比的偏好可以不同。因此,实施例提出了除了合并/跳过模式之外,可以通过甚至在AMVP模式下应用DMVR,来修正运动信息的方法。
在这种情况下,作为本公开中提出的实施例,DMVR的应用条件可以包括在下表4中呈现的条件。
[表4]
参照上表4,可以基于表示是否通过使用合并模式/跳过模式执行帧间预测的标志信息(例如,merge_flag)来省略确定是否应用DMVR的过程。如此,通过省略是否应用合并模式/跳过模式的条件,除了合并模式/跳过模式之外,甚至在AMVP模式下也可以应用DMVR。
根据上表4,可以基于当启用DMVR时应用的条件、当不使用MMVD模式时应用的条件、在双边预测的情况下应用的条件、在当前图片与双边参考图片之间的距离彼此相同的真实双重预测的情况下应用的条件、在当前块的高度等于或大于8时应用的条件以及在当前块的大小(高度×宽度)等于或大于64时应用的条件,来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表4中列出的所有条件,并且当所有条件都满足时,解码装置可以通过应用DMVR来执行真实双重预测。当甚至上表4中列出的任何条件都不满足时,解码装置可以不应用DMVR。编码装置也可以应用上表4的条件,并且编码装置可以通过解码装置中的对应方法执行真实双重预测。
基于上表4中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
此外,作为本公开的实施例,DMVR和BDOF二者都可以应用于正常合并模式。换句话说,当不使用高级时间运动向量预测(ATMVP)模式、不使用仿射模式并且不使用CPR时,可以应用DMVR和BDOF。在这种情况下,DMVR的应用条件可以包括在下表5中呈现的条件。
[表5]
参照上表5,确定是否满足当不使用仿射模式时(例如,当MotionModelIdc为0时)应用的条件和当不使用基于子块的合并模式时(例如,当merge_subblock_flag为0时)应用的条件,以仅在正常合并模式下应用DMVR。
另外,在该实施例中,与是否使用仿射模式的条件以及是否使用基于子块的合并模式的条件一起,可以基于当启用DMVR时应用的条件、当使用合并模式/跳过模式时应用的条件、当不使用MMVD模式时应用的条件、在双边预测的情况下应用的条件、在当前图片与双边参考图片之间的距离彼此相同的真实双重预测的情况下应用的条件、在当前块的高度等于或大于8时应用的条件以及在当前块的大小(高度×宽度)等于或大于64时应用的条件,来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表5中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表5中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表5的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
上表5的应用条件当中的是否应用基于子块的合并模式的条件(例如,merge_subblock_flag)包括常规DMVR应用条件当中的重复条件。因此,作为本公开的实施例,可以去除与是否应用基于子块的合并模式的条件(例如,merge_subblock_flag)重复的条件。在这种情况下,可以如下表6中提出的那样去除相应的条件。
[表6]
参照上表6,在当前块的大小等于或大于8×8时,可以应用基于子块的合并模式。因此,由于是否应用基于子块的合并模式的条件(例如,merge_subblock_flag=0)包括与当前块的大小相关的条件,因此可以排除常规DMVR的应用条件当中的与当前块的大小相关的条件(例如,CbHeight和CbHeight*CbWidth)。例如,可以省略当前块的高度是否等于或大于8的条件以及当前块的高度*宽度是否等于或大于64的条件,并且可以通过使用上表6中列出的其余条件来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表6中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表6中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表6的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
基于上表5或表6中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
作为本公开的实施例,为了以低复杂度提高运动向量的精度,当块的大小小时,可以不应用诸如DMVR和BDOF这样的修正技术。在常规方案中,在当前块是等于或大于8×8的块时可以应用修正技术,并且在修正技术的DMVR的情况下,在当前块的大小大时,通过将当前块分成16×16单元来应用修正,结果,可以不对小于16×16的块应用DMVR。在这种情况下,DMVR的应用条件可以包括在下表7中呈现的条件。
[表7]
/>
参照上表7,通过改变与当前块的大小相关的条件(例如,CbHeight和CbWidth),可以不对小于16×16的块应用DMVR。例如,可以使用在当前块的高度(例如,CbHeight)等于或大于16时应用的条件和在当前块的宽度(例如,CbWidth)等于或大于16时应用的条件。当满足与当前块的大小相关的应用条件时(即,在当前块的大小等于或大于16×16时),可以应用DMVR,并且当不满足与当前块的大小相关的应用条件时(即,在当前块的大小小于16×16时),可以不应用DMVR。
另外,在该实施例中,与和当前块的大小相关的条件(例如,CbHeight和CbWidth)一起,可以基于上表7中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表7中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表7中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表7的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
作为本公开的实施例,在当前块是小于16×16的块时,除了DMVR之外,可以不应用BDOF。在这种情况下,BDOF的应用条件可以包括在下表8中呈现的条件。
[表8]
参照上表8,通过改变与当前块的大小相关的条件(例如,CbHeight和CbWidth),可以不对小于16×16的块应用BDOF。例如,可以使用在当前块的高度(例如,CbHeight)等于或大于16时应用的条件和在当前块的宽度(例如,CbWidth)等于或大于16时应用的条件。当满足与当前块的大小相关的应用条件时(即,在当前块的大小等于或大于16×16时),可以应用BDOF,并且当不满足与当前块的大小相关的应用条件时(即,在当前块的大小小于16×16时),可以不应用BDOF。
另外,在该实施例中,与和当前块的大小相关的条件(例如,CbHeight和CbWidth)一起,可以基于上表8中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码装置可以确定是否满足上表8中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表8中列出的条件中的甚至任何一个时,解码装置可以不应用BDOF。编码装置也可以应用上表8的条件,并且编码装置可以通过解码设备中的对应方法来执行真实双重预测。
基于上表7或表8中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
如上所述,在当前图片和双边参考图片之间的距离彼此相同时,应用DMVR,而即使当前图片与双边参考图片之间的距离彼此不同,在真实双重预测的情况下也连续地应用BDOF。因此,本公开提出了可以将与双边参考图片距离相关的条件一体地应用于DMVR和BDOF以便提高编译效率的方法。
作为本公开中提出的实施例,BDOF的应用条件可以包括在下表9中呈现的条件。
[表9]
参照上表9,改变BDOF的应用条件(例如,DiffPicOrderCnt)当中的与参考图片距离相关的条件,以类似地将相应条件应用于DMVR和BDOF。例如,确定DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])-DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])是否为0来确定当前图片与L0参考图片(即,参考图片列表L0中的参考图片)之间的距离和当前图片与L1参考图片(即,参考图片列表L1中的参考图片)之间的距离是否彼此相同。换句话说,仅在当前图片和双边参考图片之间的距离彼此相同时才可以应用BDOF。如此,由于添加了执行真实双重预测并且双边参考图片距离彼此相同的条件,因此BDOF应用范围受到限制,由此节省了解码复杂度。
另外,在该实施例中,与和参考图片距离相关的条件(例如,DiffPicOrderCnt)一起,可以基于上表9中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码装置可以确定是否满足上表9中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表9中列出的条件中的甚至任何一个时,解码装置可以不应用BDOF。编码装置也可以应用上表9的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
作为本公开中提出的实施例,DMVR的应用条件可以包括在下表10中呈现的条件。
[表10]
参照上表10,改变DMVR的应用条件当中的与参考图片距离相关的条件(例如,DiffPicOrderCnt),以类似地将相应条件应用于DMVR和BDOF。例如,确定DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])*DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])是否小于0,以确定是否执行了其中双边参考图片位于基于当前图片的不同方向上的真实双重预测。换句话说,在即使当前图片和双边参考图片之间的距离彼此不相同也进行真实双重预测的情况下连续地应用DMVR。如此,由于应用了是否执行真实双重预测的条件,因此即使当双边参考图片距离不同时,也可以在不缩放的情况下使用通过考虑解码复杂度而导出的运动向量。
另外,在该实施例中,与和参考图片距离相关的条件(例如,DiffPicOrderCnt)一起,可以基于上表10中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表10中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表10中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表10的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
基于上表9或表10中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
同时,在每个参考块中,可能发生通过光的变化按加权和执行运动补偿的情况。在这种情况下,由于可以通过GBi或局部照度补偿(LIC)来确定现象,因此可以通过考虑GBi或LIC条件来确定DMVR和BDOF的应用条件。
作为本公开的实施例,提出了通过考虑GBi和LIC条件来确定是否应用DMVR的方法。在这种情况下,DMVR的应用条件可以包括在下表11中呈现的条件。
[表11]
参考表11,可以通过添加GBi条件(例如,GbiIdx)和LIC条件(例如,LICFlag)来确定是否应用DMVR。在此,GBi可以表示能够对L0预测和L1预测应用不同权重的一般双重预测,例如,表示使用GbiIdx的一般双重预测。GbiIdx在双重预测的情况下可能存在,并且表示双重预测权重索引。例如,GbiIdx可以在合并模式下从邻近块导出,或者在MVP模式下通过GbiIdx语法元素(例如,gbi_idx)从编码设备发信号通知解码装置。例如,GbiIdx可以指示应用于L1预测的w的权重,并且在这种情况下,可以将(1-w)的权重应用于L0预测。作为另一个示例,GbiIdx可以指示应用于L0预测的w的权重,并且在这种情况下,可以将(1-w)的权重应用于L1预测。
根据表11,如果GbiIdx为0(即如果GbiIdx为默认值),则可以确定满足GBi条件,并且如果LICFlag为0(即如果存在LIC),则可以确定为满足LIC条件。
此外,在该实施方式中,与GBi条件(例如,GbiIdx)和LIC条件(例如,LICFlag)一起,可以基于上表11中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表11中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表11中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表11的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
作为本公开的实施例,提出了用于通过考虑GBi和LIC条件来确定是否应用BDOF的方法。在这种情况下,BDOF的应用条件可以包括在下表12中呈现的条件。
[表12]
根据上表12,可以通过连同常规GBi条件(例如,GbiIdx)添加LIC条件(例如,LICFlag)来确定是否应用BDOF。例如,当GbiIdx为0时(即,当GbiIdx为默认值时),确定满足了是否存在GBi的条件,并且当LICFlag为0时(即,当存在LIC时),可以确定满足了是否存在LIC的条件。
因此,在该实施例中,与GBi条件(例如,GbiIdx)和LIC条件(例如,LICFlag)一起,可以基于上表12中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码装置可以确定是否满足上表12中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表12中列出的条件中的甚至任何一个时,解码装置可以不应用BDOF。编码装置也可以应用上表12的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
基于上表11或表12中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
此外,由于DMVR和BDOF通过在解码装置中的修正过程来导出运动信息,因此出现解码复杂度问题。因此,本公开提出了可以通过允许通过使用合并索引确定是否应用DMVR和BDOF来降低解码复杂度的方法。在这种情况下,由于DMVR和BDOF二者在有限范围内执行运动向量的修正,因此当运动向量不准确时,修正的效果会降低。因此,本公开提出了通过考虑修正的效率可以只有在指示合并索引的值小时才限制地应用DMVR和BDOF的方法。
在此,合并索引可以是从编码装置向解码装置发信号通知的语法元素。例如,编码/解码装置可以在对当前块应用合并模式/跳过模式时基于当前块的邻近块来配置合并候选列表。在这种情况下,编码装置可以基于速率失真(RD)成本来选择合并候选列表中所包括的合并候选当中的最佳合并候选,并且将指示所选择的合并候选的合并索引信息发信号通知给解码装置。解码装置可以基于合并候选列表和合并索引信息来选择应用于当前块的合并候选。
作为本公开的实施例,使用合并索引来确定是否应用DMVR的方法可以包括下表13中呈现的条件。
[表13]
参照上表13,可以通过添加合并索引条件(例如,merge_idx)来确定是否应用DMVR。例如,当合并索引(例如,merge_idx)小于2时,可以确定满足了合并索引条件。在此,合并索引的值(阈值)可以被设置为2,但是这仅仅是一个示例,并且相应的值可以根据编译效率而改变。
因此,在该实施例中,与合并索引条件(例如,merge_idx)一起,可以基于上表13中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表13中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表13中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表13的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
作为本公开的实施例,通过使用合并索引来确定是否应用BDOF的方法可以包括下表14中呈现的条件。
[表14]
参照上表14,可以通过添加是否应用合并模式/跳过模式的条件(例如,merge_flag)和合并索引条件(例如,merge_idx)来确定是否应用BDOF。例如,当merge_flag不为1(即,当通过使用合并模式/跳过模式执行帧间预测时)并且merge_idex不等于或大于2时,只有当合并索引的值小时,才可以确定满足了限制地应用BDOF的条件。换句话说,当merge_flag为1时(即,当通过使用合并模式/跳过模式执行帧间预测时)并且merge_idex小于2时,只有当合并索引的值小时,才可以确定满足了合并索引条件并且可以应用BDOF。在此,合并索引的值(阈值)可以被设置为2,但是这仅仅是一个示例,并且相应的值可以根据编译效率而改变。
换句话说,在该实施例中,与是否应用合并模式/跳过模式的条件(例如,merge_flag)和合并索引条件(例如,merge_idx)一起,可以基于上表14中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码装置可以确定是否满足上表14中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表14中列出的条件中的甚至任何一个时,解码装置可以不应用BDOF。编码装置也可以应用上表14的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
基于上表13或表14中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
此外,在合并/跳过模式下,可以通过MMVD来修正运动信息,并且在这种情况下,由于解码复杂度增加,所以当应用MMVD时不执行DMVR。然而,当在不考虑MMVD的情况下应用DMVR时,可以通过考虑性能增强来在没有MMVD条件的情况下应用DMVR。在这种情况下,根据本公开的实施例,DMVR的应用条件可以包括在下表15中呈现的条件。
[表15]
参照上表15,可以排除常规DMVR的应用条件当中的是否应用MMVD模式的条件(例如,mmvd_flag)。换句话说,可以省略确定mmvd_flag是否为0(即,是否不使用MMVD模式)的过程,并且可以基于上表15中列出的条件来确定是否应用DMVR。
换句话说,解码装置可以确定是否满足上表15中列出的所有条件(排除是否应用MMVD模式的条件(例如,mmvd_flag)),并且当满足所有条件时,解码装置可以通过应用DMVR来执行真实双重预测。当不满足上表15中列出的条件中的甚至任何一个时,解码装置可以不应用DMVR。编码装置也可以应用上表15的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
此外,与上述表15的实施例相反,当在合并/跳过模式下通过MMVD来修正运动信息时,可以通过考虑解码复杂度来确定是否执行BDOF。因此,本公开提出了通过考虑MMVD条件来确定是否应用BDOF的方法。在这种情况下,根据本公开的实施例,BDOF的应用条件可以包括在下表16中呈现的条件。
[表16]
参照上表16,当通过添加是否应用MMVD模式的条件(例如,mmvd_flag)通过MMVD来修正运动信息时,可以不应用BDOF。例如,当mmvd_flag为0时(即,当不使用MMVD模式时),可以确定满足了是否应用MMVD模式的条件。
因此,在该实施例中,与是否应用MMVD模式的条件(例如,mmvd_flag)一起,可以基于上表16中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码装置可以确定是否满足上表16中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表16中列出的条件中的甚至任何一个时,解码装置可以不应用BDOF。编码装置也可以应用上表16的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
基于上表15或表16中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在用于DMVR和BDOF的相同条件下应用。
此外,在AMVP的情况下,可以应用自适应运动向量分辨率(AMVR)技术。在这种情况下,当运动向量的分辨率高时,即,当提供整数像元舍入或者4整数像元舍入时,在有限区域中执行修正的BDOF的情况下,可能不适宜应用该技术。因此,本公开提出了可以根据AMVR条件来确定执行BDOF的方法。在这种情况下,根据本公开的实施例,BDOF的应用条件可以包括在下表17中呈现的条件。
[表17]
参照上表17,可以通过添加AMVR条件(例如,amvr_flag)来确定是否应用BDOF。在此,amvr_flag可以是表示运动向量差(MVD)的分辨率的信息。例如,在amvr_flag为0的情况下,该情况可以指示以1/4样本(四分之一亮度样本)为单位导出MVD的分辨率,而在amvr_flag不为0的情况下,该情况可以指示以整数亮度样本或四亮度样本为单位导出MVD的分辨率。可替代地,可以确定与该情况相反的情况。根据实施例,如上表17中呈现的,在amvr_flag不为0的情况下,可以设置应用BDOF的条件。换句话说,在amvr_flag为0的情况下,可以限制不应用BDOF。
因此,在该实施例中,与AMVR条件(例如,amvr_flag)一起,可以基于上表17中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码装置可以确定是否满足上表17中列出的所有条件,并且当满足所有条件时,解码装置可以通过应用BDOF来执行真实双重预测。当不满足上表17中列出的条件中的甚至任何一个时,解码装置可以不应用BDOF。编码装置也可以应用上表17的条件,并且编码装置可以通过解码装置中的对应方法来执行真实双重预测。
此外,可以以序列参数集(SPS)语法分别发信号通知DMVR和BDOF。下表18示出了语法元素的一个示例,该语法元素指示是否启用通过SPS语法发信号通知的DMVR以及是否启用BDOF。
[表18]
参照上表18,可以以SPS语法发信号通知sps_dmvr_enabled_flag,并且可以基于该语法元素来表示是否启用基于真实双重预测的DMVR。例如,在sps_dmvr_enabled_flag为1的情况下,该情况可以指示启用了基于真实双重预测的DMVR,并且在sps_dmvr_enabled_flag为0的情况下,该情况可以指示未启用基于真实双重预测的DMVR。
另外,可以以SPS语法发信号通知sps_bdof_enabled_flag,并且可以基于该语法元素来表示是否启用基于真实双重预测的BDOF。例如,在sps_bdof_enabled_flag为1的情况下,该情况可以指示启用了基于真实双重预测的BDOF,并且在sps_bdof_enabled_flag为0的情况下,则该情况可以指示未启用基于真实双重预测的BDOF。
如表18中所示,可以通过使用表示是否启用DMVR的语法元素(例如,sps_dmvr_enabled_flag)和表示是否启用BDOF的语法元素(例如,sps_bdof_enabled_flag)来检查DMVR和BDOF的应用条件。
图5图示了例示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的一个示例。
如表18中所示,当使用表示是否启用DMVR的语法元素(例如,sps_dmvr_enabled_flag)和表示是否启用BDOF的语法元素(例如,sps_bdof_enabled_flag)时,可以应用图5的方法。
参照图5,解码装置可以导出当前块的运动信息(例如,运动向量、参考图片索引等)(S500)。
解码装置可以检查DMVR的应用(S510)。在这种情况下,可以基于表示是否启用DMVR的语法元素(例如,sps_dmvr_enabled_flag)来检查DMVR的应用条件。例如,当启用DMVR时(例如,当sps_dmvr_enabled_flag为1时),可以检查DMVR的应用条件。
解码装置可以根据是否满足DMVR的应用条件来确定是否应用DMVR过程(S520)。
当满足DMVR的所有应用条件时,解码装置可以通过应用DMVR过程来导出修正的运动信息(S530)。当不满足DMVR的应用条件中的至少一个时,解码装置可以不应用DMVR处理。
解码装置可以基于当应用DMVR时导出的修正的运动信息或当不应用DMVR时导出的(未修正)信息来导出当前块的预测样本(S540)。
另外,解码装置可以检查BDOF的应用条件(S550)。在这种情况下,可以基于表示是否启用BDOF的语法元素(例如,sps_bdof_enabled_flag)来检查BDOF DMVR的应用条件。例如,当启用DMVR时(例如,当sps_bdof_enabled_flag为1时),可以检查DMVR的应用条件。
当满足BDOF的所有应用条件时,解码装置可以通过应用BDOF过程来修正预测样本(S570)。当不满足BDOF的应用条件中的至少一个时,解码装置可以不应用BDOF过程。
解码装置可以导出当前块的残差样本(S580),并且基于残差样本和在应用BDOF时导出的修正的预测样本或者在不应用BDOF时导出的(未修正的)预测样本来导出重构样本(S590)。
本公开提出了可以通过如上所述,在应用DMVR和BDOF时协调DMVR和BDOF的相互应用条件来提高编译效率并且降低复杂度的各种实施例。在检查根据本公开的实施例的DMVR和BDOF的应用条件并且将应用条件应用于解码过程时,可以分别地检查和应用相应的条件,但是可以一次性检查应用条件,以便提高编译效率。换句话说,本公开提出了可以一次性整合和检查DMVR和BDOF的应用条件的方法。
作为本公开的实施例,发信号通知指示是否以序列参数集(SPS)语法在解码装置中应用修正的信息(例如,sps_refinement_enabled_flag),以执行检查DMVR/BDOF的应用条件的过程。接下来,表19示出了通过SPS语法发信号通知的表示是否在解码装置中应用修正的语法元素(例如,sps_refinement_enabled_flag)的一个示例。
[表19]
参照上表19,可以以SPS语法发信号通知sps_refinement_enabled_flag,并且可以基于该语法元素来表示在解码装置中是否适用修正。例如,当存在sps_refinement_enabled_flag时(即,当sps_refinement_enabled_flag为真时),可以确定在解码装置中适用修正。在这种情况下,解码装置获得表示是否启用DMVR的sps_dmvr_enabled_flag语法元素以及表示是否启用BDOF的sps_bdof_enabled_flag语法元素,以确定DMVR和BDOF的应用条件。
图6和图7图示了例示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的另一示例。
当如上表19中所示,使用表示在解码装置中是否适用修正的语法元素(例如,sps_refinement_enabled_flag)时,可以应用图6的方法和图7的方法。另外,将省略图6和图7中与上文所述的图5重复的内容的描述。
参照图6,可以看出,通过与以上图5的过程进行比较,在先前阶段中一次性检查了应用条件,无需检查DMVR和BDOF的各自的应用条件。作为实施例,在图6的步骤S610中,解码装置可以检查修正应用条件。在这种情况下,可以基于上表19中示出的sps_refinement_enabled_flag来检查修正应用条件。例如,在sps_refinement_enabled_flag为1时解码装置可以获得表示是否启用DMVR的sps_dmvr_enabled_flag语法元素以及表示是否启用BDOF的sps_bdof_enabled_flag语法元素,并且基于所获得的语法元素来检查DMVR和BDOF的应用条件。
另外,参照图7,通过与以上图5的过程进行比较,在先前阶段中一次性检查了应用条件,无需检查DMVR和BDOF的各自的应用条件,并且可以相对于不同条件来执行简单检查过程(BDOF的应用条件)。作为实施例,在图7的步骤S710中,解码装置可以检查修正应用条件。此后,在图7的步骤S750中,解码装置可以另外简单地检查具有与修正应用条件不同的条件的BDOF的应用条件。
可以组合应用根据本文件的示例性实施例的表3至表17中列出的上述方法。换言之,可以通过检查修正应用条件来确定是否应用DMVR和BDOF,并且可以应用下表20中表达的条件。
[表20]
参考表20,当应用DMVR或BDOF时,可以使用应用于双向预测的情况的条件、应用于当前图片和双向参考图片之间的距离彼此相等的真实双重预测的情况的条件、应用于不使用MMVD模式的情况的条件、应用于不是仿射预测的情况的条件、应用于不是基于子块的合并模式的情况的条件,以及应用于GBi索引为默认值的情况的条件。换句话说,可以根据是否满足条件来确定是否应用DMVR或BDOF。
此外,如上所述,还可以添加确定是否是用于DMVR的合并模式、确定是否是用于BDOF的亮度块等的条件。
表20中列出的应用条件是一个示例,显然可以组合使用上述示例性实施例(表3至17中的示例性实施例)中列出的各种条件。
图8是示意性地图示可以由根据本文档的示例性实施例的编码装置执行的编码方法的流程图。
图8所示的方法可以由图2所示的编码装置200执行。具体地,图8中的步骤S800至S830可以由图2所示的预测器220和帧间预测器221执行,图8中的步骤S840和S850可以由图2所示的残差处理器230执行,以及图8的步骤S860可以由图2所示的熵编码器240执行。此外,图8所示的方法可以包括本文件中的前述示例性实施例。因此,在图8中,将省略和简化与前述示例性实施例重叠的内容的具体描述。
参照图8,编码装置可以导出当前块的运动向量(S800)。
作为示例,当对当前块执行帧间预测时,编码装置可以导出当前块的运动信息(运动向量、参考图片索引等)。例如,编码装置可以通过运动估计,在参考图片的某个区域(搜索区域)中搜索与当前块相似的块,并且导出与当前块的差异最小或为某一标准或更低的参考块。基于上文,编码装置可以导出指示参考块所在的参考图片的参考图片索引,并且基于参考块和当前块之间的位置差异来导出运动向量。
此外,编码装置可以在各种预测模式中确定应用于当前块的帧间预测模式。编码装置可以比较各种预测模式的RD成本并且确定当前块的最佳预测模式。
例如,如果将跳过模式或合并模式应用于当前块,则编码装置可以构建合并候选列表。此时,编码装置可以在由包括在合并候选列表中的合并候选指示的参考块中导出与当前块的差异最小或为某一标准或更小的参考块。在这种情况下,可以选择与导出的参考块相关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且发信号通知解码装置。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。
作为另一示例,如果将(A)MVP模式应用于当前块,则编码装置可以构建(A)MVP候选列表,并且将包括在(A)MVP候选列表中的运动向量预测器(mvp)候选中的所选择的mvp候选的运动向量用作当前块的mvp。例如,可以将指示通过运动估计导出的参考块的运动向量用作当前块的运动向量,此时,可以从mvp候选中选择具有与由运动估计导出的当前块的运动向量最小差的运动向量的mvp候选。此外,编码装置可以导出作为通过从当前块的运动向量中减去所选择的mvp候选的运动向量而获得的差的运动向量差(MVD)。在这种情况下,可以将关于MVD的信息发信号通知解码装置。此外,如果应用(A)MVP模式,则参考图片索引的值可以被构成为参考图片索引信息并且单独地发信号通知解码装置。
编码装置可以确定是否对当前块的运动向量应用修正(S810)。
换言之,编码装置可以考虑到编译效率、复杂度、预测性能等来确定是否应用修正。此时,编码装置可以使用表1至20中表述的各种应用条件来确定是否将修正应用到当前块。
作为示例,编码装置可以基于当前块的大小或当前块的双重预测权重索引信息中的至少一个来确定是否应用修正。例如,如果当前块的大小是16X16或更大,则编码装置可以确定将DMVR应用于当前块的运动向量。此外,如果当前块的双重预测权重索引信息的值为0,则编码装置可以确定将DMVR应用于当前块的运动向量。
在此,双重预测权重索引信息表示上述GbiIdx。在能够将不同的权重应用于L0预测和L1预测的一般双重预测中,这可以被用作与指示应用于L0预测和L1预测的权重因子有关的信息。例如,如果对当前块应用合并模式,则当前块的双重预测权重索引信息可以与在当前块的邻近块中,由合并索引指示的邻近块的双重预测权重索引信息相同。
此外,编码装置可以基于与表示是否启用DMVR相关的DMVR启用标志信息(例如,sps_dmvr_enabled_flag)、与表示是否将合并模式应用于当前块相关的合并标志信息(例如,merge_flag),或与表示是否将带有运动向量差的合并模式(MMVD)应用于当前块相关的MMVD标志信息(例如,mmvd_flag)中的至少一个来确定是否应用基于DMVR的修正。例如,如果DMVR启用标志信息的值等于1、如果合并标志信息的值等于1,或者如果MMVD标志信息的值等于0,编码装置可以确定将DMVR应用于当前块的运动向量。
此外,编码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测应用于当前块或者当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离是否相等来确定是否将DMVR应用于当前块的运动向量。例如,如果基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0[0][0]=1且predFlagL0[1][1]=1的情况下),或者如果当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离彼此相等(例如,在DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])–DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])=0的情况下),编码装置可以确定将DMVR应用于当前块的运动向量。
此外,作为另一示例,编码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测应用于当前块、L0参考图片和L1参考图片相对于当前图片是否在时间上位于不同方向中、或者是否将仿射模式应用于当前块来确定是否将DMVR应用于当前块的运动向量。例如,如果将基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0=1和predFlagL1=1的情况下)、如果L0参考图片和L1参考图片相对于当前图片在时间上位于不同方向中(例如,如果DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])*DiffPicOrderCnt(currPic,RefPicList1[refIdxL1]小于0),或者如果不将仿射模式应用于当前块(例如,在MotionModelIdc=0的情况下),编码装置可以确定将DMVR应用于当前块的运动向量。
在此,在确定是否应用基于DMVR的修正时,所列出的条件仅是一个示例,并且可以通过将表1至20中的前述条件进行各种组合来使用。
当确定将修正应用于当前块的运动向量时,编码装置可以通过将DMVR应用于运动向量来导出修正的运动向量(S820)。
此时,编码装置可以应用图4中的上述DMVR过程。已经详细地描述了通过应用DMVR来导出修正的运动向量的过程,因此,将在此省略其描述。
编码装置可以基于修正的运动向量导出用于当前块的预测样本(S830)。
根据示例性实施例,编码装置可以将修正应用于当前块的预测样本。在这种情况下,考虑到编译效率、复杂度、预测性能等,编码装置可以将基于BDOF的修正应用于预测样本。
作为示例,编码装置可以基于当前块的大小或当前块的双重预测权重索引信息中的至少一个来确定是否将BDOF应用于预测样本。例如,如果当前块的大小为16×16或更大,则编码装置可以确定将BDOF应用于预测样本。此外,如果当前块的双重预测权重索引信息的值等于0,则编码装置可以确定对预测样本应用BDOF。
此外,编码装置可以基于与表示是否启用BDOF相关的BDOF启用标志信息(例如,sps_bdof_enabled_flag)或与表示是否将基于子块的合并模式应用于当前块相关的基于子块的合并标志信息(例如,merge_subblock_flag)来确定是否应用基于BDOF的修正。例如,如果BDOF启用标志信息的值等于1或者如果基于子块的合并标志信息的值等于0,则编码装置可以确定将BDOF应用于预测样本。
此外,编码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测应用于当前块、L0参考图片和L1参考图片相对于当前图片是否在时间上位于不同方向中、或者是否将仿射模式应用于当前块来确定是否将BDOF应用于预测样本。例如,如果将基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0=1且predFlagL1=1的情况下)、如果L0参考图片和L1参考图片相对于当前图片在时间上位于不同方向中(例如,如果DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])*DiffPicOrderCnt(currPic,RefPicList1[refIdxL1]小于0)、或者如果不将仿射模式应用于当前块(例如,在MotionModelIdc=0的情况下),编码装置可以确定将BDOF应用于预测样本。
此外,作为另一示例,编码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测应用于当前块或者当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离是否相等来确定是否将BDOF应用于预测样本。例如,如果基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0[0][0]=1且predFlagL0[1][1]=1的情况下),或者如果当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离彼此相等(例如,在DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])–DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])=0的情况下),编码装置可以确定将BDOF应用于预测样本。
在此,在确定是否应用基于BDOF的修正时,所列出条件仅是一个示例,并且可以通过将表1至20中的前述条件进行各种组合来使用。
当确定将BDOF应用于预测样本时,编码装置可以通过将BDOF应用于预测样本来导出修正的预测样本。
编码装置可以基于预测样本来导出残差样本(S840),并且基于残差样本生成残差信息(S850)。
换言之,编码装置可以基于当前块的原始样本和当前块的预测样本导出残差样本。此外,编码装置可以生成关于残差样本的信息。
编码装置可以对包括残差信息的图像信息进行编码(S860)。
换言之,编码装置可以对关于残差样本的信息进行编码以用比特流的形式输出编码的信息,并且将比特流通过网络或存储介质传输到解码装置。
进一步地,编码装置可以对步骤S800至S830中导出的上述信息进行编码,以用比特流的形式输出编码的信息。例如,DMVR启用标志信息、合并标志信息、MMVD标志信息、BDOF启用标志信息和基于子块的合并标志信息可以被包括在图像信息中并被编码,并且编码的图像信息可以发信号通知解码装置。
图9是示意性地图示可以由根据本文件的示例性实施例的解码装置执行的解码方法的流程图。
图9所示的方法可以由图3所示的解码装置300执行。具体地,图9中的步骤S900至S930可以由图3所示的预测器330和帧间预测器332执行,以及图9中的步骤S940可以由图3所示的加法器340执行。此外,图9所示的方法可以包括本文件中的前述示例性实施例。因此,在图9中,将省略和简化与前述示例性实施例重叠的内容的具体描述。
参考图9,解码装置可以导出当前块的运动向量(S900)。
作为示例,解码装置可以基于从编码装置发信号通知的预测信息来确定当前块的预测模式。此外,解码装置可以基于预测模式来导出当前块的运动信息(运动向量、参考图片索引等)。在此,预测模式可以包括跳过模式、合并模式、(A)MVP模式等。
例如,如果对当前块应用跳过模式或合并模式,则解码装置可以构建合并候选列表,并且选择合并候选列表中包括的合并候选中的一个合并候选。此时,可以基于上述合并索引信息(合并索引),从合并候选列表中选择一个合并候选。解码装置可以使用所选择的合并候选的运动信息来导出当前块的运动信息。换言之,可以将合并候选列表中包括的合并候选当中,由合并索引选择的合并候选的运动信息用作当前块的运动信息。
作为另一示例,如果将(A)MVP模式应用于当前块,则解码装置可以构建(A)MVP候选列表,并且将在(A)MVP候选列表中包括的运动向量预测器(mvp)候选当中,所选择的mvp候选的运动向量用作当前块的mvp。可以基于mvp标志信息(mvp标志或mvp索引)来选择mvp候选。此外,解码装置可以基于从编码装置发信号通知的关于MVD的信息来导出当前块的MVD。在这种情况下,解码装置可以基于当前块的mvp和MVD来导出当前块的运动向量。此外,解码装置可以基于从编码装置发信号通知的参考图片索引信息来导出当前块的参考图片索引。此时,可以将由当前块的参考图片列表中的参考图片索引所指示的图片导出为当前块的帧间预测所参考的参考图片。
解码装置可以确定是否对当前块的运动向量应用修正(S910)。
作为示例,解码装置可以基于当前块的大小或当前块的双重预测权重索引信息中的至少一个来确定是否应用修正。例如,如果当前块的大小是16×16或更大,则解码装置可以确定将DMVR应用于当前块的运动向量。此外,如果当前块的双重预测权重索引信息的值等于0,则解码装置可以确定将DMVR应用于当前块的运动向量。
在此,双重预测权重索引信息表示上述GbiIdx。在能够将不同的权重应用于L0预测和L1预测的一般双重预测中,这可以被用作与指示应用于L0预测和L1预测的权重因子相关的信息。例如,如果对当前块应用合并模式,则当前块的双重预测权重索引信息可以与当前块的邻近块当中,由合并索引指示的邻近块的双重预测权重索引信息相同。
此外,解码装置可以从比特流获得与表示是否启用DMVR相关的DMVR启用标志信息(例如,sps_dmvr_enabled_flag)、与表示是否将合并模式应用于当前块的合并标志信息(例如,merge_flag)、或与表示是否将带有运动向量差的合并模式(MMVD)应用于当前块相关的MMVD标志信息(例如,mmvd_flag)中的至少一个,并且基于从比特流获得的信息,确定是否应用基于DMVR的修正。例如,如果DMVR启用标志信息的值等于1、如果合并标志信息的值等于1,或者如果MMVD标志信息的值等于0,则解码装置可以确定将DMVR应用于当前块的运动向量。
此外,解码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测是否应用于当前块或者当前图片和L0参考图片之间与当前图片和L1参考图片之间的距离是否相等来确定是否将DMVR应用于当前块的运动向量。例如,如果基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0[0][0]=1且predFlagL0[1][1]=1的情况下)或者如果当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离彼此相等(例如,在DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])–DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])=0的情况下),解码装置可以确定将DMVR应用于当前块的运动向量。
此外,作为另一示例,解码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测应用于当前块、L0参考图片和L1参考图片相对于当前图片是否在时间上位于不同的方向中、或者是否将仿射模式应用于当前块来确定是否将DMVR应用于当前块的运动向量。例如,如果将基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0=1且predFlagL1=1的情况下),如果L0参考图片和L1参考图片相对于当前图片在时间上位于不同的方向中(例如,如果DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])*DiffPicOrderCnt(currPic,RefPicList1[refIdxL1]小于0),或者如果未将仿射模式应用于当前块(例如,在MotionModelIdc=0的情况下),解码装置可以确定将DMVR应用于当前块的运动向量。
在此,在确定是否应用基于DMVR的修正时,所列出的条件仅是一个示例,并且可以通过将表1至20中的前述条件进行各种组合来使用。
当确定将修正应用于当前块的运动向量时,解码装置可以通过将DMVR应用于运动向量来导出修正的运动向量(S920)。
此时,解码装置可以应用图4中的前述DMVR过程。在图4中已经详细地描述了通过应用DMVR来导出修正的运动向量的过程,因此,在此省略其描述。
解码装置可以基于修正的运动向量导出当前块的预测样本(S930)。
根据示例性实施例,解码装置可以将修正应用于当前块的预测样本。
作为示例,解码装置可以基于当前块的大小或当前块的双重预测权重索引信息中的至少一个来确定是否将BDOF应用于预测样本。例如,如果当前块的大小为16×16或更大,则解码装置可以确定将BDOF应用于预测样本。此外,如果当前块的双重预测权重索引信息的值等于0,则解码装置可以确定对预测样本应用BDOF。
此外,解码装置可以从比特流中获得与表示是否启用BDOF相关的BDOF启用标志信息(例如,sps_bdof_enabled_flag)或与表示是否将基于子块的合并模式应用于当前块相关的基于子块的合并标志信息(例如,merge_subblock_flag)中的至少一个,并且基于从比特流获得的信息确定是否应用基于BDOF的修正。例如,如果BDOF启用标志信息的值等于1或者如果基于子块的合并标志信息的值等于0,则解码装置可以确定将BDOF应用于预测样本。
此外,解码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测是否应用于当前块、L0参考图片和L1参考图片相对于当前图片是否在时间上位于不同的方向中、或是否将仿射模式应用于当前块来确定是否将BDOF应用于预测样本。例如,如果基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0=1且predFlagL1=1的情况下),如果L0参考图片和L1参考图片相对于当前图片在时间上位于不同的方向中(例如,如果DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])*DiffPicOrderCnt(currPic,RefPicList1[refIdxL1]小于0),或者如果不将仿射模式应用于当前块(例如,在MotionModelIdc=0的情况下),解码装置可以确定将BDOF应用于预测样本。
此外,作为另一示例,解码装置可以基于是否将基于L0参考图片和L1参考图片执行的双重预测应用于当前块或者当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离是否相等来确定是否将BDOF应用于预测样本。例如,如果基于L0参考图片和L1参考图片执行的双重预测应用于当前块(例如,在predFlagL0[0][0]=1且predFlagL0[1][1]=1的情况下)或者如果当前图片和L0参考图片之间的距离与当前图片和L1参考图片之间的距离彼此相等(例如,在DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])–DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])=0的情况下),解码装置可以确定将BDOF应用于预测样本。
在此,在确定是否应用基于BDOF的修正时,所列出条件仅是一个示例,并且可以通过将表1至20中的前述条件进行各种组合来使用。
当确定将BDOF应用于预测样本时,解码装置可以通过将BDOF应用于预测样本来导出修正的预测样本。
解码装置可以基于预测样本来生成当前块的重构样本(S940)。
例如,解码装置也可以根据预测模式,将预测样本直接用作重构样本,或者也可以通过将残差样本与预测样本相加来生成重构样本。
如果存在当前块的残差样本,则解码装置可以接收关于当前块的残差的信息。关于残差的信息可以包括残差样本的变换系数。解码装置可以基于残差信息导出当前块的残差样本(或残差样本阵列)。解码装置可以基于预测样本和残差样本生成重构样本,并且基于重构样本导出重构块或重构图片。
在以上提到的实施方式中,虽然已基于以一系列步骤或单元的形式的流程图描述了这些方法,但是本公开的实施方式不限于这些步骤的顺序,并且这些步骤中的一些可以按与其它步骤的顺序不同的顺序执行或者可以与其它步骤同时地执行。此外,本领域技术人员将理解,用流程图示出的步骤不是排他性的,并且在不影响本公开的权利范围的情况下,这些步骤可以包括附加步骤或者可以删除流程图中的一个或更多个步骤。
根据本公开的上述方法可以用软件形式实现,并且根据本公开的编码装置和/或解码装置可以被包括在例如TV、计算机、智能电话、机顶盒或显示设备的用于执行图像处理的装置中。
在本公开中,当实施方式用软件形式实现时,以上提到的方法可以被实现为用于执行以上提到的功能的模块(程序、函数等)。模块可以被存储在存储器中并且由处理器来执行。存储器可以布置在处理器的内部或外部,并且通过各种公知手段连接到处理器。处理器可以包括专用集成电路(ASIC)、其它芯片集、逻辑电路和/或数据处理设备。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、存储卡、存储介质和/或其它存储设备。即,本公开中描述的实施方式可以在处理器、微处理器、控制器或芯片上实现并执行。例如,图中例示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现并执行。在这种情况下,用于这种实现的信息(例如,关于指令的信息)或算法可以被存储在数字存储介质中。
此外,应用本公开的解码装置和编码装置可以被包括在多媒体广播发送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监视相机、视频聊天设备、诸如视频通信这样的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(VoD)服务提供设备、顶置(OTT)视频设备、互联网流传输服务提供设备、三维(3D)视频设备、虚拟现实(VR)设备、增强型现实(AR)设备、视频电话设备、运输工具终端(例如,车辆(包括自主车辆)终端、飞机终端和轮船终端)和医疗视频设备中,并且可以被用于处理视频信号或数据信号。例如,顶置(OTT)视频设备可以包括游戏控制台、Blue-ray播放器、互联网访问TV、家庭影院***、智能电话、平板PC和数字录像机(DVR)。
此外,应用本公开的处理方法可以以由计算机执行的程序的形式产生,并且可以被存储在计算机可读记录介质中。根据本公开的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机可读数据的所有种类的存储设备。计算机可读记录介质可以包括例如Blue-ray盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储设备。此外,计算机可读记录介质包括以载波的形式(例如,通过互联网进行传输)实现的媒体。此外,使用编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线或无线通信网络传输。
此外,本公开的实施方式可以使用程序代码被实现为计算机程序产品。可以根据本公开的实施方式由计算机执行程序代码。程序代码可以被存储在可供计算机读取的载波上。
图10图示了可以应用本文件中公开的实施例的内容流传输***的示例。
参照图10,应用本文件的实施例的内容流传输***可以主要包括编码服务器、流传输服务器、网络服务器、介质存储、用户设备和多媒体输入设备。
编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入设备输入的内容压缩成数字数据以生成比特流,并且将该比特流发送到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入设备直接生成比特流时,可以省略编码服务器。
可以通过应用本文件的实施方式的编码方法或比特流生成方法来生成比特流,并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
流传输服务器基于用户的请求通过网络服务器将多媒体数据发送到用户设备,并且网络服务器用作将服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,并且流传输服务器将多媒体数据发送到用户。在这种情况下,内容流传输***可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输***中的设备之间的命令/响应。
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以将比特流存储达预定时间。
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航仪、触屏PC、平板PC、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字TV、台式计算机、数字标牌等。
内容流传输***中的各个服务器可以作为分布式服务器操作,其中,从各个服务器接收到的数据可以被分发。
Claims (14)
1.一种由解码装置执行的图像解码方法,所述方法包括以下步骤:
导出当前块的运动向量;
确定是否将解码器侧运动向量修正DMVR应用于所述当前块的所述运动向量的修正;
基于确定对所述当前块的所述运动向量应用所述DMVR的情况,通过将所述DMVR应用于所述运动向量来导出修正的运动向量;
基于所述修正的运动向量导出所述当前块的预测样本;以及
基于所述预测样本,生成所述当前块的重构样本,
其中,基于将基于L0参考图片和L1参考图片执行的双重预测应用于所述当前块、当前图片和所述L0参考图片之间的距离与所述当前图片和所述L1参考图片之间的距离相等、与是否将带有运动向量差的合并模式MMVD应用于所述当前块相关的MMVD标志信息的值等于0,以及所述当前块的双重预测权重索引信息的值等于0的情况,确定是否应用所述DMVR的步骤确定将所述DMVR应用于所述当前块的所述运动向量,
其中,通过确定是否应用双向光流BDOF来导出所述预测样本,
其中,确定是否应用所述BDOF的步骤基于将基于所述L0参考图片和所述L1参考图片执行的所述双重预测应用于所述当前块、所述当前图片和所述L0参考图片之间的距离与所述当前图片与所述L1参考图片之间的距离相等、以及所述当前块的双重预测权重索引信息的值等于0的情况,确定将所述BDOF应用于所述预测样本。
2.根据权利要求1所述的图像解码方法,其中,确定是否应用所述DMVR的步骤基于所述当前块的大小大于或等于16×16,确定将所述DMVR应用于所述当前块的所述运动向量。
3.根据权利要求1所述的图像解码方法,其中,基于将合并模式应用于所述当前块的情况,所述当前块的双重预测权重索引信息与由所述当前块的邻近块的合并索引指示的邻近块的双重预测权重索引信息相同。
4.根据权利要求1所述的图像解码方法,其中,确定是否应用所述BDOF的步骤基于所述当前块的大小大于或等于16×16,确定将所述BDOF应用于所述预测样本。
5.根据权利要求1所述的图像解码方法,进一步包括:从比特流获得与表示是否启用所述DMVR相关的DMVR启用标志信息或者与表示是否将合并模式应用于所述当前块相关的合并标志信息中的至少一个,
其中,确定是否应用所述DMVR的步骤基于所述DMVR启用标志信息的值为与表示启用所述DMVR相关的值或所述合并标志信息的值等于1的情况,确定将所述DMVR应用于所述当前块的所述运动向量。
6.根据权利要求1所述的图像解码方法,进一步包括:从比特流获得与表示是否启用所述BDOF相关的BDOF启用标志信息或与表示是否将基于子块的合并模式应用于所述当前块相关的基于子块的合并标志信息,
其中,确定是否应用所述BDOF的步骤基于所述BDOF启用标志信息的值是与表示启用所述BDOF相关的值或所述基于子块的合并标志信息的值等于0的情况,确定将所述BDOF应用于所述预测样本。
7.根据权利要求1所述的图像解码方法,其中,确定是否应用所述BDOF的步骤基于未将仿射模式应用于所述当前块的情况,确定将所述BDOF应用于所述预测样本。
8.一种由编码装置执行的图像编码方法,所述方法包括以下步骤:
导出当前块的运动向量;
确定是否将解码器侧运动向量修正DMVR应用于所述当前块的所述运动向量的修正;
基于确定对所述当前块的所述运动向量应用所述DMVR的情况,通过将所述DMVR应用于所述运动向量来导出修正的运动向量;
基于所述修正的运动向量导出所述当前块的预测样本;
基于所述预测样本导出残差样本;
基于所述残差样本生成残差信息;以及
编码包括所述残差信息的图像信息,
其中,基于将基于L0参考图片和L1参考图片执行的双重预测应用于所述当前块、当前图片和所述L0参考图片之间的距离与所述当前图片和所述L1参考图片之间的距离相等、与是否将带有运动向量差的合并模式MMVD应用于所述当前块相关的MMVD标志信息的值等于0,以及所述当前块的双重预测权重索引信息的值等于0的情况,确定是否应用所述DMVR的步骤确定将所述DMVR应用于所述当前块的所述运动向量,
其中,通过确定是否应用双向光流BDOF来导出所述预测样本,
其中,确定是否应用所述BDOF的步骤基于将基于所述L0参考图片和所述L1参考图片执行的所述双重预测应用于所述当前块、所述当前图片和所述L0参考图片之间的距离与所述当前图片与所述L1参考图片之间的距离相等、以及所述当前块的双重预测权重索引信息的值等于0的情况,确定将所述BDOF应用于所述预测样本。
9.根据权利要求8所述的图像编码方法,其中,确定是否应用所述DMVR的步骤基于所述当前块的大小大于或等于16×16,确定将所述DMVR应用于所述当前块的所述运动向量。
10.根据权利要求8所述的图像编码方法,其中,确定是否应用所述BDOF的步骤基于所述当前块的大小大于或等于16×16,确定将所述BDOF应用于所述预测样本。
11.根据权利要求8所述的图像编码方法,其中,所述图像信息包括与表示是否启用所述DMVR相关的DMVR启用标志信息或者与表示是否将合并模式应用于所述当前块相关的合并标志信息中的至少一个,
其中,确定是否应用所述DMVR的步骤基于所述DMVR启用标志信息的值为与表示启用所述DMVR相关的值或所述合并标志信息的值等于1的情况,确定将所述DMVR应用于所述当前块的所述运动向量。
12.根据权利要求8所述的图像编码方法,其中,所述图像信息包括与表示是否启用所述BDOF相关的BDOF启用标志信息或与表示是否将基于子块的合并模式应用于所述当前块相关的基于子块的合并标志信息中的至少一个,
其中,确定是否应用所述BDOF的步骤基于所述BDOF启用标志信息的值是与表示启用所述BDOF相关的值或所述基于子块的合并标志信息的值等于0的情况,确定将所述BDOF应用于所述预测样本。
13.根据权利要求8所述的图像编码方法,其中,确定是否应用所述BDOF的步骤基于未将仿射模式应用于所述当前块的情况,确定将所述BDOF应用于所述预测样本。
14.一种发送用于图像信息的数据的方法,所述方法包括:
获得包括残差信息的所述图像信息的比特流,其中,通过下述步骤生成所述残差信息:
导出当前块的运动向量;确定是否将解码器侧运动向量修正DMVR应用于所述当前块的所述运动向量的修正;基于确定对所述当前块的运动向量应用所述DMVR的情况,通过将所述DMVR应用于所述运动向量,导出修正的运动向量;基于所述修正的运动向量,导出所述当前块的预测样本;基于所述预测样本导出残差样本;基于所述残差样本生成所述残差信息;以及
发送所述数据,所述数据包括所述图像信息的所述比特流,所述图像信息的所述比特流包含所述残差信息,
其中,基于将基于L0参考图片和L1参考图片执行的双重预测应用于所述当前块、当前图片和所述L0参考图片之间的距离与所述当前图片和所述L1参考图片之间的距离相等、与是否将带有运动向量差的合并模式MMVD应用于所述当前块相关的MMVD标志信息的值等于0,以及所述当前块的双重预测权重索引信息的值等于0的情况,确定是否应用所述DMVR的步骤确定将所述DMVR应用于所述当前块的所述运动向量,
其中,通过确定是否应用双向光流BDOF来导出所述预测样本,
其中,确定是否应用所述BDOF的步骤基于将基于所述L0参考图片和所述L1参考图片执行的所述双重预测应用于所述当前块、所述当前图片和所述L0参考图片之间的距离与所述当前图片与所述L1参考图片之间的距离相等、以及所述当前块的双重预测权重索引信息的值等于0的情况,确定将所述BDOF应用于所述预测样本。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962805950P | 2019-02-14 | 2019-02-14 | |
US62/805,950 | 2019-02-14 | ||
PCT/KR2020/001788 WO2020166897A1 (ko) | 2019-02-14 | 2020-02-07 | Dmvr 기반의 인터 예측 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113491124A CN113491124A (zh) | 2021-10-08 |
CN113491124B true CN113491124B (zh) | 2024-06-25 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137549A (zh) * | 2012-01-18 | 2014-11-05 | 韩国电子通信研究院 | 对图像进行编码和解码的方法及设备 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137549A (zh) * | 2012-01-18 | 2014-11-05 | 韩国电子通信研究院 | 对图像进行编码和解码的方法及设备 |
Non-Patent Citations (1)
Title |
---|
CE9: Results of DMVR related Tests CE9.2.1 and CE9.2.2;Sriram Sethuraman;Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,13th Meeting: Marrakech, MA, 9–18 Jan. 2019,JVET-M0147;全文 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113574891B (zh) | 基于dmvr的帧间预测方法和设备 | |
JP7293369B2 (ja) | Dmvr基盤のインター予測方法及び装置 | |
CN113692743B (zh) | 基于dmvr的帧间预测方法和设备 | |
CN111247805B (zh) | 在图像编码***中基于以子块为单元进行的运动预测的图像解码方法和设备 | |
CN113678454A (zh) | 基于bdof的帧间预测方法和设备 | |
CN113261294B (zh) | 基于sbtmvp的帧间预测方法和设备 | |
KR20210114061A (ko) | Dmvr 및 bdof 기반의 인터 예측 방법 및 장치 | |
CN114208171A (zh) | 用于推导用于生成预测样本的权重索引信息的图像解码方法和装置 | |
CN114080814A (zh) | 基于运动矢量预测的图像/视频编码方法和装置 | |
CN114270833A (zh) | 用于在视频/图像编译***中移除重叠信令的方法和装置 | |
CN113678455B (zh) | 用于导出双预测的权重索引信息的视频或图像编码 | |
CN113491124B (zh) | 基于dmvr的帧间预测方法和设备 | |
CN114080809A (zh) | 子块单元的基于时间运动矢量预测子候选的图像或视频编译 | |
CN114270824A (zh) | 用于基于帧间预测编译图像的方法和装置 | |
CN114375573A (zh) | 使用合并候选推导预测样本的图像解码方法及其装置 | |
CN114097240A (zh) | 基于双向预测的图像/视频编码方法和装置 | |
CN118044201A (zh) | 基于mdmvr的图像编译方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |