基于DMVR和BDOF的帧间预测方法及其设备
技术领域
本公开涉及图像编码技术,并且更具体地,涉及用于基于解码器侧运动向量修正(DMVR)和/或双向光流(BDOF)执行帧间预测的方法和设备。
背景技术
近来,在各种领域中对诸如超高清(HUD)图像和4K或8K或更大的视频这样的高分辨率且高质量的图像和视频的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,相对发送的信息量或位数增加。因此,如果使用诸如现有有线或无线宽带线这样的介质来传输图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
此外,近来对诸如虚拟现实(VR)、人工现实(AR)内容或全息图这样的沉浸式媒体的兴趣和需求日益增加。诸如游戏图像这样的图像特性与真实图像的图像特性不同的图像和视频的广播日益增加。
因此,为了有效地压缩和发送或存储和回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。
发明内容
技术课题
本公开提供了提高图像编码效率的方法和设备。
本公开还提供了高效帧间预测的方法和设备。
本公开还提供了用于基于解码器侧运动向量修正(DMVR)来执行帧间预测的方法和设备。
本公开还提供了用于基于双向光流(BDOF)执行帧间预测的方法和设备。
本公开还提供了用于通过提供用于确定是否应用DMVR以提高图像编码效率的条件和/或用于确定是否应用BDOF的条件来提高预测性能的方法和设备。
技术方案
在一方面,提供了一种由解码设备执行的视频解码方法。该视频解码方法包括以下步骤:导出当前块的L0运动向量和L1运动向量;通过基于用于表示是否对所述当前块应用解码器侧运动向量修正DMVR的DMVR标志信息对所述当前块应用DMVR,基于所述L0运动向量和所述L1运动向量来导出修正的L0运动向量和修正的L1运动向量;基于所述修正的L0运动向量来导出所述当前块的L0预测样本,并且基于所述修正的L1运动向量来导出所述当前块的L1预测样本;通过基于用于表示是否对所述当前块应用双向光流(BDOF)的BDOF标志信息对所述当前块应用BDOF,基于所述L0预测样本和所述L1预测样本来导出所述当前块的预测样本;以及基于所述预测样本来生成所述当前块的重构样本,其中,基于预定DMVR应用条件来导出所述DMVR标志信息,并且基于预定BDOF应用条件来导出所述BDOF标志信息。
在另一方面,提供了一种由编码设备执行的视频编码方法。该视频编码方法包括以下步骤:导出当前块的L0运动向量和L1运动向量;通过基于用于表示是否对所述当前块应用解码器侧运动向量修正(DMVR)的DMVR标志信息对所述当前块应用DMVR,基于所述L0运动向量和所述L1运动向量来导出修正的L0运动向量和修正的L1运动向量;基于所述修正的L0运动向量来导出所述当前块的L0预测样本,并且基于所述修正的L1运动向量来导出所述当前块的L1预测样本;通过基于用于表示是否对所述当前块应用双向光流(BDOF)的BDOF标志信息对所述当前块应用BDOF,基于所述L0预测样本和所述L1预测样本来导出所述当前块的预测样本;基于所述预测样本来导出残差样本;以及对包括关于所述残差样本的信息的视频信息进行编码,其中,基于预定DMVR应用条件来导出所述DMVR标志信息,并且基于预定BDOF应用条件来导出所述BDOF标志信息。
有益效果
根据本公开,能够提高整体图像/视频压缩效率。
根据本公开,通过高效的帧间预测,能够降低计算复杂度并且能够提高整体编码效率。
根据本公开,提出了在运动补偿处理期间应用修正运动信息的DMVR和/或BDOF以在复杂度和性能方面提高效率的各种应用条件。
附图说明
图1示意性地例示了可以应用于本公开的实施方式的视频/图像编码系统。
图2是示意性地描述了可以应用于本公开的实施方式的视频/图像编码设备的示图。
图3是示意性地描述了可以应用于本公开的实施方式的视频/图像编码设备的配置的示图。
图4例示了基于帧间预测的视频/图像编码方法的一个示例,并且图5示意性地例示了编码设备中的帧间预测单元的一个示例。
图6例示了基于帧间预测的视频/图像解码方法的一个示例,并且图7例示了示意性地例示解码设备中的帧间预测单元的一个示例。
图8是描述在真实双重预测(bi-prediction)中执行解码器侧运动向量修正(DMVR)的过程的实施方式的示图。
图9是描述通过使用绝对差之和(SAD)来执行解码器侧运动向量修正(DMVR)的过程的实施方式的示图。
图10例示了例示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的一个示例。
图11和图12例示了例示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的另一示例。
图13是为了描述BDOF的概念而例示的示图。
图14是示意性地示出了可以由根据本公开的实施方式的编码设备执行的编码方法的流程图。
图15是示意性地示出了可以由根据本公开的实施方式的解码设备执行的解码方法的流程图。
图16例示了可以应用本公开中公开的实施方式的内容流传输系统的一个示例。
图17是示意性地例示了包括数字装置的服务系统的一个示例的示图。
图18是为了描述数字装置的一个实施方式而例示的框图。
图19是为了描述数字装置的另一实施方式而例示的框图。
图20示意性地例示了用于提供其中可以利用本公开的实施方式的3D图像/视频服务的架构。
图21是示意性地描述了可以应用该方法的第一数字装置的配置的示图。
图22是示意性地描述了可以应用该方法的第二数字装置的配置的示图。
具体实施方式
本公开可以以各种方式修改并且可以具有各种实施方式,并且特定的实施方式将在附图中被例示并被详细描述。然而,这并不旨在将本公开限制于具体实施方式。本说明书中通常使用的术语用于描述特定的实施方式,而不是用来限制本公开的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。该说明书中的诸如“包括”或“具有”这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、部件或其组合,而不排除存在或添加一个或更多个其它特性、数字、步骤、操作、元件、部件或其组合的可能性。
此外,为了便于与不同特征功能相关的描述,独立地例示了本公开中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。其中元件被组合和/或分开的实施方式也被包括在本公开的权利范围内,除非它偏离了本公开的实质。
在本公开中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“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二者。换句话说,本公开中的术语“或”应该被解释为指示“附加地或另选地”。
本公开涉及视频/图像编码。例如,本公开中公开的方法/实施方式可以应用于以通用视频编码(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行的样本(样本阵列)或变换系数的集合(或阵列)。
下文中,参照附图更具体地描述本公开的优选实施方式。下文中,在附图中,相同的附图标记被用于相同的元件,并且可以省略对相同元件的冗余描述。
图1示意性地例示了可以应用本公开的实施方式的视频/图像编码系统的示例。
参照图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收装置。
源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编码效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。
发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。
解码设备可以通过执行与编码设备的操作对应的诸如反量化、逆变换、预测等这样的一系列过程来解码视频/图像。
渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
图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)顺序。
可以发信号通知指示在当前块(当前编码单元)中是否使用list0(L0)预测、list1(L1)预测或双重预测的信息。该信息可以被称为运动预测方向信息、帧间预测方向信息或帧间预测指示信息,并且例如可以以语法元素inter_pred_idc的形式被配置/编码/发信号通知。换句话说,inter_pred_idc语法元素可以指示在当前块(当前编码单元)中是否使用list0(L0)预测、list1(L1)预测或双重预测。在本公开中,为了便于描述,由inter_pred_idc语法元素指示的帧间预测类型(L0预测、L1预测或BI预测)可以被表示为运动预测方向。可以用pred_L0表示L0预测,可以用pred_L1表示L1预测,并且可以用pred_BI表示双重预测。例如,可以根据inter_pred_idc语法元素的值来表示下表1中示出的预测类型。
[表1]
另外,在对当前块应用帧间预测时,可以使用各种帧间预测模式。例如,可以使用包括合并模式、跳变模式、运动向量预测(MVP)模式、仿射模式、历史运动向量预测(HMVP)模式等的各种模式。解码器侧运动向量修正(DMVR)模式、自适应运动向量分辨率(AMVR)模式、双向光流(BDOF)等还可以被用作辅助模式。仿射模式可以被称为仿射运动预测模式。MVP模式可以被称为高级运动向量预测(AMVP)模式。在本公开中,一些模式和/或由一些模式导出的运动信息候选可以被包括其它模式的运动信息相关候选中的一个中。
可以从编码设备向解码设备发信号通知指示当前块的帧间预测模式的预测模式信息。在这种情况下,预测模式信息可以被包括在比特流中并且被解码设备接收。预测模式信息可以包括指示多种候选模式中的一种的索引信息。另选地,可以通过标志信息的分级信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或更多个标志。例如,可以通过发信号通知跳变标志来指示是否应用跳变模式,可以通过当在不应用跳变模式时发信号通知合并标志来指示是否应用合并模式,并且指示应用MVP模式或者还可以在不应用合并模式时发信号通知用于附加区分的标志。仿射模式可以被作为独立模式发信号通知或者被作为关于合并模式或MVP模式的从属模式发信号通知。例如,仿射模式可以包括仿射合并模式和仿射MVP模式。
另外,可以在对当前块应用帧间预测时使用当前块的运动信息。编码装置可以通过运动估计过程来导出当前块的最佳运动信息。例如,编码设备可以通过使用当前块的原始图片中的原始块来搜索参考图片中的预定搜索范围内的以分数像素为单元的具有高相关性的相似参考块,并且通过搜索到的参考块来导出运动信息。可以以基于相位的样本值之间的差为基础来导出块的相似度。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的绝对差之和(SAD)来计算块的相似度。在这种情况下,可以基于在搜索区域中的具有最小SAD的参考块来导出运动信息。可以基于帧间预测模式根据各种方法将导出的运动信息发信号通知给解码装置。
可以基于根据帧间预测模式导出的运动信息来导出当前块的预测块。预测块可以包括当前块的预测样本(预测样本阵列)。在当前块的运动向量(MV)指示分数样本单位时,可以执行插值过程,并且可以通过插值过程基于参考图片中的分数样本单位的参考样本来导出当前块的预测样本。当对当前块应用仿射帧间预测时,可以基于样本/子块单元MV来生成预测样本。当应用双重预测时,通过基于L0预测(即,使用参考图片列表L0和MVL0中的参考图片进行的预测)导出的预测样本的加权和或加权平均值导出的预测样本和基于L1预测(即,使用参考图片列表L1和MVL1中的参考图片进行的预测)导出的预测样本(根据相位)可以被用作当前块的预测样本。当应用双重预测时,如果基于当前图片,用于L0预测的参考图片和用于L1预测的参考图片位于不同的时间方向上(即,如果预测是双重预测并且对应于双向预测),则这可以被称为真实双重预测。
可以基于导出的预测样本来生成重构样本和重构图片,此后,可以如上所述地执行诸如环路内滤波等这样的过程。
图4例示了基于帧间预测的视频/图像编码方法的一个示例,并且图5示意性地例示了编码设备中的帧间预测单元的一个示例。图5的编码设备中的帧间预测单元也可以被应用为与图2的编码设备200的帧间预测单元221相同或对应。
参照图4和图5,编码设备对当前块执行帧间预测(S400)。编码设备可以导出当前块的帧间预测模式和运动信息,并且生成当前块的预测样本。这里,可以同时执行帧间预测模式确定过程、运动信息导出过程和预测样本的生成过程,并且可以比其它过程更早地执行任何一个过程。
例如,编码设备的帧间预测单元221可以包括预测模式确定单元221_1、运动信息导出单元221_2和预测样本导出单元221_3,并且预测模式确定单元221_1可以确定针对当前块的预测模式,运动信息导出单元221_2可以导出当前块的运动信息,并且预测样本导出单元221_3可以导出当前块的预测样本。例如,编码设备的帧间预测单元221可以通过运动估计在参考图片的预定区域(搜索区域)中搜索与当前块相近的块,并且导出与当前块的差异最小或者等于或小于预定准则的参考块。可以基于此导出指示参考块所处的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差异来导出运动向量。编码设备可以确定各种预测模式当中的应用于当前块的模式。编码设备可以将针对各种预测模式的RD成本进行比较,并且确定用于当前块的最佳预测模式。
例如,当对当前块应用跳变模式或合并模式时,编码设备可以配置下面将描述的合并候选列表,并且导出合并候选列表中所包括的合并候选所指示的参考块当中的与当前块的差异最小或者等于或小于预定准则的参考块。在这种情况下,可以选择与导出的参考块关联的合并候选,并且可以生成并向解码装置发信号通知指示所选择的合并候选的合并索引信息。可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。
作为另一示例,当对当前块应用(A)MVP模式时,编码装置可以配置(A)MVP候选列表,并且使用在(A)MVP候选列表中所包括的运动向量预测项(mvp)候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过运动估计导出的参考块的运动向量可以被用作当前块的运动向量,并且在mvp候选当中的具有与当前块的运动向量的差异最小的运动向量的mvp候选可以成为被选择的mvp候选。可以导出作为通过从当前块的运动向量中减去mvp而获得的差的运动向量差(MVD)。在这种情况下,可以将关于MVD的信息发信号通知给解码设备。另外,当应用(A)MVP模式时,参考图片索引的值可以被配置为参考图片索引信息并且被单独发信号通知给解码设备。
编码设备可以基于预测的样本来导出残差样本(S410)。编码设备可以通过将当前块的原始样本与预测样本进行比较来导出残差样本。
编码设备对包括预测信息和残差信息的图像信息进行编码(S420)。编码设备可以以比特流形式输出编码后的图像信息。预测信息可以包括关于预测模式信息(例如,跳变标志、合并标志、模式索引等)的信息和关于运动信息的信息作为与预测过程相关的信息。关于运动信息的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。另外,关于运动信息的信息可以包括关于MVD的信息和/或参考图片索引信息。另外,关于运动信息的信息可以包括指示是否应用L0预测、L1预测或双重预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于针对残差样本的量化后的变换系数的信息。
输出的比特流可以被存储在(数字)存储介质中并且被传送到解码装置或者经由网络被传送到解码装置。
此外,如上所述,编码装置可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块)。这是为了导出与解码装置执行的预测结果相同的预测结果,结果,能提高编码效率。因此,编码设备可以将重构图片(或重构样本或重构块)存储在存储器中,并且利用重构图片作为参考图片。还可以如上所述对重构图片应用环路内滤波过程。
图6例示了基于帧间预测的视频/图像解码方法的一个示例,并且图7例示了示意性地例示解码设备中的帧间预测单元的一个示例。图7的解码设备中的帧间预测单元也可以被应用为与图3的解码设备300的帧间预测单元332相同或对应。
参照图6和图7,解码设备可以执行与由编码设备执行的操作对应的操作。解码设备可以基于接收到的预测信息对当前块执行预测,并且导出预测样本。
具体地,解码设备可以基于接收到的预测信息来确定针对当前块的预测模式(S600)。解码设备可以基于预测信息中的预测模式信息来确定对当前块应用哪种帧间预测模式。
例如,可以基于合并标记来确定是对当前块应用合并模式还是(A)MVP模式。另选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳变模式、合并模式和/或(A)MVP模式,或者可以包括上述的各种帧间预测模式。
解码设备基于所确定的帧间预测模式来导出当前块的运动信息(S610)。例如,当对当前块应用跳变模式或合并模式时,解码装置可以配置合并候选列表,并且选择合并候选列表中所包括的合并候选当中的一个合并候选。可以基于选择信息(合并索引)来执行选择。可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。所选择的合并候选的运动信息可以被用作当前块的运动信息。
作为另一示例,当对当前块应用(A)MVP模式时,解码设备可以配置(A)MVP候选列表,并且使用在(A)MVP候选列表中所包括的运动向量预测项(mvp)候选当中选择的mvp候选的运动向量作为当前块的mvp。这里,可以基于选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来导出当前块的MVD,并且可以基于当前块的mvp和MVP来导出当前块的运动向量。另外,可以基于参考图片索引信息来导出当前块的参考图片索引。可以将当前块的参考图片列表中的参考图片索引所指示的图片导出为进行当前块的帧间预测所参考的参考图片。
此外,可以在没有候选列表配置的情况下导出当前块的运动信息,并且在这种情况下,可以根据预测模式中公开的过程来导出当前块的运动信息。在这种情况下,可以省略候选列表配置。
解码设备可以基于当前块的运动信息来生成当前块的预测样本(S620)。在这种情况下,可以基于当前块的参考图片索引来导出参考图片,并且可以通过使用参考图片上的当前块的运动向量所指示的参考块的样本来导出当前块的预测样本。在这种情况下,在某些情况下,还可以执行针对当前块的预测样本中的全部或一些的预测样本滤波过程。
例如,解码设备的帧间预测单元332可以包括预测模式确定单元332_1、运动信息导出单元332_2和预测样本导出单元332_3,并且预测模式确定单元332_1可以基于接收到的预测模式信息来确定针对当前块的预测模式,运动信息导出单元332_2可以基于关于接收到的运动信息的信息来导出当前块的运动信息(运动向量和/或参考图片索引),并且预测样本导出单元332_3可以导出当前块的预测样本。
解码设备基于接收到的残差信息来生成当前块的残差样本(S630)。解码设备可以基于预测样本和残差样本来生成当前块的重构样本,并且基于所生成的重构样本来生成重构图片(S640)。此后,还可以如上所述对重构图片应用环路内滤波过程。
如上所述,帧间预测过程可以包括帧间预测模式确定步骤、取决于所确定预测模式的运动信息导出步骤以及基于所导出的运动信息的预测执行(预测样本生成)步骤。帧间预测过程可以由如上所述的编码设备和解码设备执行。
此外,由于在跳变模式和/或合并模式下基于没有运动向量差(MVD)的邻近块的运动向量来预测当前块的运动,因此跳变模式和/或合并模式示出了运动预测的限制。为了改善跳变模式和/或合并模式的限制,可以通过应用解码器侧运动向量修正(DMVR)模式、双向光流(BDOF)模式等来修正运动向量。当对当前块应用真实双重预测时,可以使用DMVR模式和BDOF模式。
图8是描述在真实成对预测中执行解码器侧运动向量修正(DMVR)的过程的实施方式的示图。
DMVR是解码器通过对邻近块的运动信息进行修正来执行运动预测的方法。当应用DMVR时,解码器可以基于通过在合并/跳变模式下使用邻近块的运动信息所生成的模板通过成本比较来导出修正的运动信息。在这种情况下,能提高运动预测的精度,并且能在没有附加信令信息的情况下提高压缩性能。
在本公开中,为了便于描述,主要描述了解码设备,但是即使在编码设备中,也可以按相同的方法来执行根据本公开的实施方式的DMVR。
参照图8,解码设备可以导出由列表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处理,并且对当前块应用其中双边参考图片按显示顺序位于基于当前图片的相反的方向的双边双重预测。
图9是描述通过使用绝对差之和(SAD)来执行解码器侧运动向量修正(DMVR)的过程的实施方式的示图。
如上所述,解码设备可以在执行DMVR时通过使用SAD来测量匹配成本。作为实施方式,在图9中,将描述通过在不生成模板的情况下计算两个参考图片中的预测样本之间的均值移除绝对差之和(MRSAD)来修正运动向量的方法。换句话说,图9的方法示出了使用MRSAD进行双边匹配的实施方式。
参照图9,解码设备可以导出L0参考图片上的list0(L0)方向运动向量MV0所指示的像素(样本)的相邻像素,并且导出L1参考图片上的list1(L1)方向运动向量MV1所指示的像素(样本)的相邻像素。另外,解码设备可以通过计算指示L0参考图片上导出的相邻像素的运动向量所标识的L0预测块(即,L0参考块)与指示L1参考图片上导出的相邻像素的运动向量所标识的L1预测块(即,L1参考块)之间的MRSAD来测量匹配成本。在这种情况下,解码设备可以选择具有最小成本的搜索点(即,具有L0预测块和L1预测块之间的最小SAD的搜索区域)作为修正的运动向量对。换句话说,修正的运动向量对可以包括指示L0参考图片中的具有最低成本的像素位置(L0预测块)的修正的L0运动向量和指示L1参考图片中的具有最低成本的像素位置(L1预测块)的修正的L1运动向量。
作为实施方式,在计算匹配成本时,在设置了参考图片的搜索区域之后,可以通过使用常规的8抽头DCTIF插值滤波器来执行单边预测。另外,作为一个示例,可以将16位精度用于MRSAD的计算,并且在通过考虑内部缓冲器计算MRSAD之前可以不应用剪切和/或四舍五入运算。
当如上所述对当前块应用真实双重预测时,可以使用BDOF,以便修正双重预测信号。当对当前块应用双重预测时,可以使用双向光流(BDOF)来计算改善的运动信息并且基于计算出的运动信息来生成预测样本。例如,可以以4×4子块的级别应用BDOF。换句话说,可以在当前块中以4×4子块为单元执行BDOF。另选地,BDOF可以仅应用于亮度分量。另选地,BDOF可以仅应用于色度分量,而且可以应用于亮度分量和色度分量。
BDOF模式是基于如BDOF模式的名称所指示的假定物体运动平稳的光流概念。可以通过使各个4×4子块的L0预测样本与L1预测样本之间的差值最小化来计算运动修正(vx,vy)。另外,可以使用运动修正来调整4×4子块中的双重预测样本值。
更具体地,在通过应用BDOF修正预测信号时,可以首先计算L0预测样本和L1预测样本的水平和垂直梯度。在这种情况下,可以基于与预测样本(i,j)相邻设置的两个相邻样本的差来计算水平和垂直梯度,并且如下面的式1所示地计算水平和垂直梯度。
[式1]
这里,
表示水平梯度并且
表示垂直梯度。另外,I
(k)(i,j)表示列表k(k=0,1)中的预测样本的坐标(i,j)中的预测值。
接下来,可以如下面的式2和式3所示地计算水平梯度与垂直梯度的自相关和互相关。
[式2]
S1=∑(i,j)∈Ωψx(i,j)·ψx(i,j), S3=∑(i,j)∈Ωθ(i,j)·ψx(i,j)
S2=∑(i,j)∈Ωψx(i,j)·ψy(i,j)
S5=∑(i,j)∈Ωψy(i,j)·ψy(i,j) S6=∑(i,j)∈Ωθ(i,j)·ψy(i,j)
[式3]
θ(i,j)=(I(1)(i,j)>>nb)-(I(0)(i,j)>>nb)
这里,Ω表示与4×4子块相邻的6×6窗口。
接下来,可以通过使用自相关和互相关来计算运动修正(vx,vy)并且如下面的式4所示地计算运动修正(vx,vy)。
[式4]
这里,
th′
BIO=2
13-BD和
表示floor函数。
接下来,可以基于梯度和运动修正如下面的式5所示地计算用于修正BDOF预测样本的b(x,y)。
[式5]
另外,最后,可以如下面的式6所示地计算BDOF预测样本(即,通过应用BDOF而修正的预测样本值)。
[式6]
predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift
此外,可以看出,作为通过在应用真实双重预测时修正运动信息(在这种情况下,真实双重预测表示基于当前块的图片在其它方向上的参考图片中执行运动预测/补偿的情况)执行预测的技术的DMVR和BDOF是与假定图片中的物体以预定速度在预定方向上进行运动具有相似构思的修正技术。然而,当执行真实双重预测时,由于应用DMVR的条件与应用BDOF的条件彼此不同,因此应该执行针对各种技术多次重复地检查条件的过程。因此,本公开提出了可以通过在确定应用于当前块的预测模式时改进检查条件的过程来在解码器复杂度和性能方面提高效率的方法。
下表2示出了在常规的真实双重预测期间应用DMVR的条件。当满足以下列出的所有条件时,可以应用DMVR。
[表2]
参照表2,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)条件。
解码设备可以根据是否满足上表2的条件1)至7)来确定是否应用DMVR。换句话说,当满足上表2的条件1)至7)时,解码设备可以通过应用DMVR来执行真实双重预测,而当甚至不满足上表2的条件中的任一个时,解码设备也不应用DMVR。
下表3示出了在常规的真实双重预测期间应用BDOF的条件。当满足以下列出的所有条件时,可以应用BDOF。
[表3]
参照上表3,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时(即,当当前块是亮度块时),可以确定满足了当前块是否是亮度块的条件。
解码设备可以根据是否满足上表3的条件1)至7)来确定是否应用DMVR。换句话说,当满足上表3的条件1)至7)时,解码设备可以通过应用BDOF来执行真实双重预测,并且当甚至不满足上表3的条件中的任一个时,解码设备也不应用BDOF。
这里,GBi可以表示可以向L0预测和L1预测应用不同的权重的广义双重预测,并且可以使用例如GbiIdx来表示GBi。GbiIdx可以存在于双重预测的情况,并且表示双重预测权重索引。在本公开中,运动信息还可以包括GbiIdx。例如,可以在合并模式的情况下从邻近块导出GbiIdx,或者在MVP模式的情况下通过GbiIdx语法元素(例如,gbi_idx)从编码设备向解码设备发信号通知。作为一个示例,GbiIdx可以指示应用于L1预测的权重w,并且在这种情况下,可以将权重(1-w)应用于L0预测。作为另一示例,GbiIdx可以指示应用于L0预测的权重w,并且在这种情况下,可以将权重1-w应用于L1预测。GbiIdx所指示的权重可以被不同地配置,并且可以被例如下面的表4和表5中所示地配置。
[表4]
GBi索引 |
w<sub>1</sub>的权重值 |
0 |
1/2 |
1 |
-1/4 |
2 |
3/8 |
3 |
5/8 |
4 |
5/4 |
[表5]
GBi索引 |
w<sub>1</sub>的权重值 |
0 |
-1/4 |
1 |
3/8 |
2 |
1/2 |
3 |
5/8 |
4 |
5/4 |
参照上面的表4和表5,w1的权重可以表示应用于L1预测的权重,并且GbiIdx值可以指示应用于L1预测的权重w1。例如,根据表4的实施方式,当GbiIdx的值表示0时,可以将1/2权重应用于L1预测,并且可以将1/2权重(即,值(1-w1))应用于L0预测。根据该实施方式,w1的权重可以表示应用于L0预测的权重,并且在这种情况下,GbiIdx值可以指示应用于L0预测的权重w1。
如上所述,DMVR和BDOF的应用条件中的一些是相同的,而一些是相似或不同的。在常规方案中,由于即使在条件相同的情况下也针对各种技术执行条件检查,因此执行双重预测的复杂度增加。因此,本公开提出了用于在双重预测期间应用DMVR和BDOF的高效条件。
当将合并/跳变模式与AMVP模式进行比较时,合并/跳变模式的精度要比AMVP模式相对低,结果,在性能方面,使用DMVR方法来修正运动信息是有效的。然而,与DMVR不同,除了合并/跳变模式之外,甚至还可以在AMVP模式下应用BDOF模式,如此,当在AMVP模式下应用BDOF时,与性能相比执行BDOF的复杂性会增加。因此,实施方式提出了与DMVR类似地甚至在合并/跳变模式下应用BDOF的方法。
在这种情况下,作为本公开中提出的实施方式,BDOF的应用条件可以包括在下表6中呈现的条件。
[表6]
参照上表6,可以基于表示是否通过使用合并模式/跳变模式执行帧间预测的标志信息(例如,merge_flag)来确定是否应用BDOF。例如,当merge_flag为1时(即,当通过使用合并模式/跳变模式执行帧间预测时),可以确定满足了是否应用合并模式/跳变模式的条件。因此,与DMVR类似,也可以以合并/跳变模式来应用BDOF。
换句话说,在该实施方式中,与在合并/跳变模式的情况下应用的条件一起,可以基于在启用BDOF时应用的条件、在双边预测的情况下应用的条件、在执行真实双重预测时应用的条件、在使用仿射预测时应用的条件、在不应用基于子块的合并模式时应用的条件、在GBi索引是默认的时应用的条件以及在当前块是亮度块时应用的条件来确定是否应用BDOF。
因此,解码设备可以确定是否满足上表6中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表6中列出的条件中的任一个时,解码设备也可以不应用BDOF。编码设备也可以应用上表6的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表6中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,当该实施方式中列出的条件与上面的表2和表3中描述的条件相同时,类似地应用详细的操作或含义,结果,将省略对各个条件的详细描述。另外,即使在以下将描述的实施方式中,也将省略重复的内容。
可以通过各种硬件来配置编码/解码设备,并且复杂度与性能之比的偏好可以不同。因此,实施方式提出了除了合并/跳变模式之外还可以通过甚至在AMVP模式下应用DMVR来修正运动信息的方法。
在这种情况下,作为本公开中提出的实施方式,DMVR的应用条件可以包括在下表7中呈现的条件。
[表7]
参照上表7,可以基于表示是否通过使用合并模式/跳变模式执行帧间预测的标志信息(例如,merge_flag)来省略确定是否应用DMVR的过程。如此,通过省略是否应用合并模式/跳变模式的条件,除了合并模式/跳变模式之外,还可以甚至在AMVP模式下应用DMVR。
根据上表7,可以基于当启用DMVR时应用的条件、当不使用MMVD模式时应用的条件、在双边预测的情况下应用的条件、在当前图片与双边参考图片之间的距离彼此相同的真实双重预测的情况下应用的条件、在当前块的高度等于或大于8时应用的条件以及在当前块的大小(高度×宽度)等于或大于64时应用的条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表7中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表7中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表7的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表7中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,作为本公开的实施方式,DMVR和BDOF二者都可以应用于正常合并模式。换句话说,当不使用高级时间运动向量预测(ATMVP)模式,不使用仿射模式并且不使用CPR时,可以应用DMVR和BDOF。在这种情况下,DMVR的应用条件可以包括在下表8中呈现的条件。
[表8]
参照上表8,确定是否满足当不使用仿射模式时(例如,当MotionModelIdc为0时)应用的条件和当不使用基于子块的合并模式时(例如,当merge_subblock_flag为0时)应用的条件,以仅在正常合并模式下应用DMVR。
另外,在该实施方式中,与是否使用仿射模式的条件以及是否使用基于子块的合并模式的条件一起,可以基于当启用DMVR时应用的条件、当使用合并模式/跳变模式时应用的条件、当不使用MMVD模式时应用的条件、在双边预测的情况下应用的条件、在当前图片与双边参考图片之间的距离彼此相同的真实双重预测的情况下应用的条件、在当前块的高度等于或大于8时应用的条件以及在当前块的大小(高度×宽度)等于或大于64时应用的条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表8中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表8中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表8的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
上表8的应用条件当中的是否应用基于子块的合并模式的条件(例如,merge_subblock_flag)包括常规DMVR应用条件当中的重复条件。因此,作为本公开的实施方式,可以去除与是否应用基于子块的合并模式的条件(例如,merge_subblock_flag)重复的条件。在这种情况下,可以如下表9中提议的一样去除对应的条件。
[表9]
参照上表9,在当前块的大小等于或大于8×8时,可以应用基于子块的合并模式。因此,由于是否应用基于子块的合并模式的条件(例如,merge_subblock_flag=0)包括与当前块的大小相关的条件,因此可以排除常规DMVR的应用条件当中的与当前块的大小相关的条件(例如,CbHeight和CbHeight×CbWidth)。例如,可以省略当前块的高度是否等于或大于8的条件以及当前块的高度×宽度是否等于或大于64的条件,并且可以通过使用上表9中列出的其余条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表9中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表9中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表9的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表8或表9中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
作为本公开的实施方式,为了以低复杂度提高运动向量的精度,当块的大小小时,可以不应用诸如DMVR和BDOF这样的修正技术。在常规方案中,在当前块是等于或大于8×8的块时可以应用修正技术,并且在修正技术的DMVR的情况下,当当前块的大小大时,通过将当前块分成16×16单元来应用修正,结果,可以不对小于16×16的块应用DMVR。在这种情况下,DMVR的应用条件可以包括在下表10中呈现的条件。
[表10]
参照上表10,通过改变与当前块的大小相关的条件(例如,CbHeight和CbWidth),可以不向小于16×16的块应用DMVR。例如,可以使用在当前块的高度(例如,CbHeight)等于或大于16时应用的条件和在当前块的宽度(例如,CbWidth)等于或大于16时应用的条件。当满足与当前块的大小相关的应用条件时(即,在当前块的大小等于或大于16×16时),可以应用DMVR,并且当不满足与当前块的大小相关的应用条件时(即,在当前块的大小小于16×16时),可以不应用DMVR。
另外,在该实施方式中,与和当前块的大小相关的条件(例如,CbHeight和CbWidth)一起,可以基于上表10中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表10中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表10中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表10的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
作为本公开的实施方式,在当前块是小于16×16的块时,除了DMVR之外,可以不应用BDOF。在这种情况下,BDOF的应用条件可以包括在下表11中呈现的条件。
[表11]
参照上表11,通过改变与当前块的大小相关的条件(例如,CbHeight和CbWidth),可以不向小于16×16的块应用BDOF。例如,可以使用在当前块的高度(例如,CbHeight)等于或大于16时应用的条件和在当前块的宽度(例如,CbWidth)等于或大于16时应用的条件。当满足与当前块的大小相关的应用条件时(即,在当前块的大小等于或大于16×16时),可以应用BDOF,并且当不满足与当前块的大小相关的应用条件时(即,在当前块的大小小于16×16时),可以不应用BDOF。
另外,在该实施方式中,与和当前块的大小相关的条件(例如,CbHeight和CbWidth)一起,可以基于上表11中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表11中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表11中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表11的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表10或表11中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
如上所述,当当前图片和双边参考图片之间的距离彼此相同时,应用DMVR,而即使当前图片与双边参考图片之间的距离彼此不同,在真实双重预测的情况下也连续地应用BDOF。因此,本公开提出了可以将与双边参考图片距离相关的条件一体地应用于DMVR和BDOF以便提高编码效率的方法。
作为本公开中提出的实施方式,BDOF的应用条件可以包括在下表12中呈现的条件。
[表12]
参照上表12,改变BDOF的应用条件(例如,DiffPicOrderCnt)当中的与参考图片距离相关的条件,以类似地将对应条件应用于DMVR和BDOF。例如,确定DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])-DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])是否为0来确定当前图片与L0参考图片(即,参考图片列表L0中的参考图片)之间的距离和当前图片与L1参考图片(即,参考图片列表L1中的参考图片)之间的距离是否彼此相同。换句话说,仅在当前图片和双边参考图片之间的距离彼此相同时才可以应用BDOF。如此,由于添加了执行真实双重预测并且双边参考图片距离彼此相同的条件,因此BDOF应用范围受到限制,由此节省了解码复杂度。
另外,在该实施方式中,与和参考图片距离相关的条件(例如,DiffPicOrderCnt)一起,可以基于上表12中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表12中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表12中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表12的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
作为本公开中提出的实施方式,DMVR的应用条件可以包括在下表13中呈现的条件。
[表13]
参照上表13,改变DMVR的应用条件(例如,DiffPicOrderCnt)当中的与参考图片距离相关的条件,以类似地将对应条件应用于DMVR和BDOF。例如,确定DiffPicOrderCnt(currPic,refPicList0[refIdxL0])×DiffPicOrderCnt(currPic,refPicList1[refIdxL1])是否小于0,以确定是否执行了双边参考图片位于基于当前图片的不同方向上的真实双重预测。换句话说,在即使当前图片和双边参考图片之间的距离彼此不相同也进行真实双重预测的情况下连续地应用DMVR。如此,由于应用了是否执行真实双重预测的条件,因此即使当双边参考图片距离不同时,也可以在不进行缩放的情况下使用通过考虑解码复杂度而导出的运动向量。
另外,在该实施方式中,与和参考图片距离相关的条件(例如,DiffPicOrderCnt)一起,可以基于上表13中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表13中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表13中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表13的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表12或表13中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,在每个参考块中,可能发生通过光的变化按加权和执行运动补偿的情况。在这种情况下,由于可以通过GBi或局部照明补偿(LIC)来确定现象,因此可以通过考虑GBi或LIC条件来确定DMVR和BDOF的应用条件。
作为本公开的实施方式,提出了通过考虑GBi和LIC条件来确定是否应用DMVR的方法。在这种情况下,DMVR的应用条件可以包括在下表14中呈现的条件。
[表14]
参照上表14,可以通过添加GBi条件(例如,GbiIdx)和LIC条件(例如,LICFlag)来确定是否应用DMVR。例如,当GbiIdx为0时(即,当GbiIdx为默认的时),确定满足了是否存在GBi的条件,并且当LICFlag为0时(即,当存在LIC时),可以确定满足了是否存在LIC的条件。
另外,在该实施方式中,与GBi条件(例如,GbiIdx)和LIC条件(例如,LICFlag)一起,可以基于上表14中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表14中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表14中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表14的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
作为本公开的实施方式,提出了通过考虑GBi和LIC条件来确定是否应用BDOF的方法。在这种情况下,BDOF的应用条件可以包括在下表15中呈现的条件。
[表15]
根据上表15,可以通过连同常规GBi条件(例如,GbiIdx)添加LIC条件(例如,LICFlag)来确定是否应用BDOF。例如,当GbiIdx为0时(即,当GbiIdx为默认的时),确定满足了是否存在GBi的条件,并且当LICFlag为0时(即,当存在LIC时),可以确定满足了是否存在LIC的条件。
因此,在该实施方式中,与GBi条件(例如,GbiIdx)和LIC条件(例如,LICFlag)一起,可以基于上表15中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表15中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表15中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表15的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表14或表15中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,由于DMVR和BDOF通过在解码设备中进行的修正处理来导出运动信息,因此出现解码复杂度问题。因此,本公开提出了可以通过允许通过使用合并索引确定是否应用DMVR和BDOF来降低解码复杂度的方法。在这种情况下,由于DMVR和BDOF二者在有限范围内执行运动向量的修正,因此当运动向量不准确时,修正的效果会降低。因此,本公开提出了只有在通过考虑修正的效率使指示合并索引的值小时才可以受限制地应用DMVR和BDOF的方法。
这里,合并索引可以是从编码设备向解码设备发信号通知的语法元素。例如,编码/解码设备可以在对当前块应用合并模式/跳变模式时基于当前块的邻近块来配置合并候选列表。在这种情况下,编码设备可以基于速率失真(RD)成本来选择合并候选列表中所包括的合并候选当中的最佳合并候选,并且将指示所选择的合并候选的合并索引信息发信号通知给解码设备。解码设备可以基于合并候选列表和合并索引信息来选择应用于当前块的合并候选。
作为本公开的实施方式,使用合并索引来确定是否应用DMVR的方法可以包括下表16中呈现的条件。
[表16]
参照上表16,可以通过添加合并索引条件(例如,merge_idx)来确定是否应用DMVR。例如,当合并索引(例如,merge_idx)小于2时,可以确定满足了合并索引条件。这里,合并索引的值(阈值)可以被设置为2,但是这仅仅是一个示例,并且对应的值可以根据编码效率而改变。
因此,在该实施方式中,与合并索引条件(例如,merge_idx)一起,可以基于上表16中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表16中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表16中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表16的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
作为本公开的实施方式,使用合并索引来确定是否应用BDOF的方法可以包括下表17中呈现的条件。
[表17]
参照上表17,可以通过添加是否应用合并模式/跳变模式的条件(例如,merge_flag)和合并索引条件(例如,merge_idx)来确定是否应用BDOF。例如,当merge_flag不为1(即,当通过使用合并模式/跳变模式执行帧间预测时)并且merge_idex不等于或大于2时,只有当合并索引的值小时,才可以确定满足了受限制地应用BDOF的条件。换句话说,当merge_flag为1时(即,当通过使用合并模式/跳变模式执行帧间预测时)并且merge_idex小于2时,只有当合并索引的值小时,才可以确定满足了合并索引条件并且可以应用BDOF。这里,合并索引的值(阈值)可以被设置为2,但是这仅仅是一个示例,并且对应的值可以根据编码效率而改变。
换句话说,在该实施方式中,与是否应用合并模式/跳变模式的条件(例如,merge_flag)和合并索引条件(例如,merge_idx)一起,可以基于上表17中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表17中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表17中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表17的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表16或表17中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,在合并/跳变模式下,可以通过MMVD来修正运动信息,并且在这种情况下,由于解码复杂度增加,所以当应用MMVD时不执行DMVR。然而,当在不考虑MMVD的情况下应用DMVR时,可以通过考虑性能增强来在没有MMVD条件的情况下应用DMVR。在这种情况下,根据本公开的实施方式,DMVR的应用条件可以包括在下表18中呈现的条件。
[表18]
参照上表18,可以排除常规DMVR的应用条件当中的是否应用MMVD模式的条件(例如,mmvd_flag)。换句话说,可以省略确定mmvd_flag是否为0(即,是否不使用MMVD模式)的过程,并且可以基于上表17中列出的条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表18中列出的所有条件(排除是否应用MMVD模式的条件(例如,mmvd_flag)),并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表18中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表18的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
此外,与上述表18的实施方式相反,当在合并/跳变模式下通过MMVD来修正运动信息时,可以通过考虑解码复杂度来确定是否执行BDOF。因此,本公开提出了通过考虑MMVD条件来确定是否应用BDOF的方法。在这种情况下,根据本公开的实施方式,BDOF的应用条件可以包括在下表19中呈现的条件。
[表19]
参照上表19,当通过添加是否应用MMVD模式的条件(例如,mmvd_flag)通过MMVD来修正运动信息时,可以不应用BDOF。例如,当mmvd_flag为0时(即,当不使用MMVD模式时),可以确定满足了是否应用MMVD模式的条件。
因此,在该实施方式中,与是否应用MMVD模式的条件(例如,mmvd_flag)一起,可以基于上表19中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表19中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表19中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表19的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表18或表19中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,在AMVP的情况下,可以应用自适应运动向量分辨率(AMVR)技术。在这种情况下,当运动向量的分辨率高时,即,当提供整数图素四舍五入或者4整数图素四舍五入时,可能在执行有限区域中的修正的BDOF的情况下不适宜应用该技术。因此,本公开提出了可以根据AMVR条件来确定执行BDOF的方法。在这种情况下,根据本公开的实施方式,BDOF的应用条件可以包括在下表20中呈现的条件。
[表20]
参照上表20,可以通过添加AMVR条件(例如,amvr_flag)来确定是否应用BDOF。这里,amvr_flag可以是表示运动向量差(MVD)的分辨率的信息。例如,在amvr_flag为0的情况下,该情况可以指示以1/4样本(四分之一亮度样本)为单位导出MVD的分辨率,而在amvr_flag不为0的情况下,该情况可以指示以整数亮度样本或四亮度样本为单位导出MVD的分辨率。另选地,可以确定与该情况相反的情况。根据实施方式,如上表20中呈现的,在amvr_flag不为0的情况下,可以设置应用BDOF的条件。换句话说,在amvr_flag为0的情况下,可以限制不应用BDOF。
因此,在该实施方式中,与AMVR条件(例如,amvr_flag)一起,可以基于上表20中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表20中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表20中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表20的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
此外,DMVR和BDOF可以被各自以序列参数集(SPS)语法发信号通知。下表21示出了语法元素的一个示例,该语法元素指示是否启用通过SPS语法发信号通知的DMVR以及是否启用BDOF。
[表21]
seq_parameter_set_rbsp(){ |
描述符 |
…… |
…… |
sps_dmvr_enabled_flag |
u(1) |
sps_bdof_enabled_flag |
u(1) |
…… |
…… |
} |
|
参照上表21,可以在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。
如表21中所示,可以通过使用表示是否启用DMVR的语法元素(例如,sps_dmvr_enabled_flag)和表示是否启用BDOF的语法元素(例如,sps_bdof_enabled_flag)来检查DMVR和BDOF的应用条件。
图10例示了例示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的一个示例。
如表21中所示,当使用表示是否启用DMVR的语法元素(例如,sps_dmvr_enabled_flag)和表示是否启用BDOF的语法元素(例如,sps_bdof_enabled_flag)时,可以应用图10的方法。
参照图10,解码设备可以导出当前块的运动信息(例如,运动向量、参考图片索引等)(S1000)。
解码设备可以检查DMVR的应用(S1010)。在这种情况下,可以基于表示是否启用DMVR的语法元素(例如,sps_dmvr_enabled_flag)来检查DMVR的应用条件。例如,当启用DMVR时(例如,当sps_dmvr_enabled_flag为1时),可以检查DMVR的应用条件。
解码设备可以根据是否满足DMVR的应用条件来确定是否应用DMVR处理(S1020)。
当DMVR的所有应用条件都满足时,解码设备可以通过应用DMVR处理来导出修正的运动信息(S1030)。当不满足DMVR的应用条件中的至少一个时,解码设备可以不应用DMVR处理。
解码设备可以基于在不应用在应用DMVR时导出的修正的运动信息或DMVR时导出(未修正)的信息来导出当前块的预测样本(S1040)。
另外,解码设备可以检查BDOF的应用条件(S1050)。在这种情况下,可以基于表示是否启用BDOF的语法元素(例如,sps_bdof_enabled_flag)来检查BDOF DMVR的应用条件。例如,当启用DMVR时(例如,当sps_bdof_enabled_flag为1时),可以检查DMVR的应用条件。
当满足BDOF的所有应用条件时,解码设备可以通过应用BDOF处理来修正预测样本(S1070)。当不满足BDOF的应用条件中的至少一个时,解码设备可以不应用BDOF处理。
解码设备可以导出当前块的残差样本(S1080),并且基于在应用残差样本和BDOF时导出的修正的预测样本或者在未应用BDOF时导出的(未修正的)预测样本来导出重构样本(S1090)。
本公开提出了可以通过如上所述在应用DMVR和BDOF时协调DMVR和BDOF的相互应用条件来提高编码效率并且降低复杂度的各种实施方式。在检查根据本公开的实施方式的DMVR和BDOF的应用条件并且向解码过程应用应用条件时,可以分别地检查并应用相应的条件,但是可以一次性检查应用条件,以便提高编码效率。换句话说,本公开提出了可以整合DMVR和BDOF的应用条件并进行一次性检查的方法。
作为本公开的实施方式,发信号通知指示是否以序列参数集(SPS)语法在解码设备中应用修正的信息(例如,sps_refinement_enabled_flag),以执行检查DMVR/BDOF的应用条件的处理。接下来,表22示出了表示是否在通过SPS语法发信号通知的解码设备中应用修正的语法元素(例如,sps_refinement_enabled_flag)的一个示例。
[表22]
seq_parameter_set_rbsp(){ |
描述符 |
…… |
…… |
sps_refinement_enabled_flag |
u(1) |
if(sps_refinement_enabled_flag){ |
|
sps_dmvr_enabled_flag |
u(1) |
sps_bdof_enabled_flag |
u(1) |
} |
|
…… |
…… |
} |
|
参照上表22,可以在SPS语法中发信号通知sps_refinement_enabled_flag,并且可以基于语法元素来表示在解码设备中是否适用修正。例如,当存在sps_refinement_enabled_flag时(即,当sps_refinement_enabled_flag为true时),可以确定在解码设备中适用修正。在这种情况下,解码设备获得表示是否启用DMVR的sps_dmvr_enabled_flag语法元素以及表示是否启用BDOF的sps_bdof_enabled_flag语法元素,以确定DMVR和BDOF的应用条件。
图11和图12例示了例示通过检查DMVR和BDOF的应用条件来执行解码过程的方法的另一示例。
当如上表22中所示地使用表示在解码设备中是否适用修正的语法元素(例如,sps_refinement_enabled_flag)时,可以应用图11的方法和图12的方法。另外,将省略对图11和图12中的与上述图10重复的内容的描述。
参照图11,可以看出,通过与以上图10的过程进行比较,在前一阶段中一次性检查了应用条件,而没有检查DMVR和BDOF的各自的应用条件。作为实施方式,在图11的步骤S1110中,解码设备可以检查修正应用条件。在这种情况下,可以基于上表22中示出的sps_refinement_enabled_flag来检查修正应用条件。例如,解码设备可以获得在sps_refinement_enabled_flag为1时表示是否启用DMVR的sps_dmvr_enabled_flag语法元素以及表示是否启用BDOF的sps_bdof_enabled_flag语法元素,并且基于所获得的语法元素来检查DMVR和BDOF的应用条件。
另外,参照图12,通过与以上图10的过程进行比较,在前一阶段中一次性检查了应用条件,而没有检查DMVR和BDOF的各自的应用条件,并且可以相对于不同条件来执行简单检查处理(BDOF的应用条件)。作为实施方式,在图12的步骤S1210中,解码设备可以检查修正应用条件。此后,在图12的步骤S1250中,解码设备可以另外简单地检查具有与修正应用条件不同的条件的BDOF的应用条件。
此外,在当前块的高度或大小(高度×宽度)小于特定长度或特定大小时,用于运动补偿的乘法/加法的计算比率增加。因此,在本公开的实施方式中,如在DMVR的应用条件中一样,可以限制将BDOF应用于具有小高度或小大小的块,以便减少最差情况。在这种情况下,BDOF的应用条件可以包括在下表23中呈现的条件。
[表23]
参照上表23,通过添加与当前块的大小相关的条件(例如,CbHeight和CbWidth),可以不向小于特定大小的块应用BDOF。例如,可以使用在当前块的高度(例如,CbHeight)等于或大于8时应用的条件和在当前块的大小(例如,CbHeight×CbWidth)等于或大于64时应用的条件。当满足与当前块的大小相关的应用条件时(即,在当前块的高度等于或大于8并且当前块的高度×宽度等于或大于64时),可以应用BDOF,并且当不满足与当前块的大小相关的应用条件时,可以不应用BDOF。
另外,在该实施方式中,与和当前块的大小相关的条件(例如,CbHeight和CbHeight×CbWidth)一起,可以基于上表23中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表23中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表23中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表23的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
此外,当对当前块应用MMVD时,可以基于关于MMVD的信息(例如,mmvd索引)来导出运动信息。这里,关于MMVD的信息可以包括基本MV的索引、距离索引、方向索引等。特别地,距离索引(更具体地,mmvd_distance_index[xCb][yCb])可以用于表示与基本MV的距离,例如,距离索引0至7可以被分别表示为{1/4,1/2,1,2,4,8,16,32}。在DMVR和BDOF中确定运动信息的修正时,通过考虑相邻像素(相邻样本)来确定是否执行修正,并且在这种情况下,当相邻像素与基本MV之间的距离远时,距离索引的值也增大。在这种情况下,难以考虑相邻像素有助于DMVR和BDOF的性能增强。因此,本公开提出了可以根据距离索引(更具体地,mmvd_distance_index[xCb][yCb])值来确定是否应用DMVR和BDOF的方法。
作为本公开的实施方式,可以通过考虑距离索引来确定是否应用DMVR,并且在这种情况下,DMVR的应用条件可以包括下表24中呈现的条件。
[表24]
参照上表24,改变了DMVR的应用条件当中的与MMVD相关的条件(例如,mmvd_flag),以在MMVD模式下受限制地应用DMVR。例如,当mmvd_flag为1并且mmvd_distance_index大于4时,可以确定满足了MMVD的距离索引条件。因此,当应用MMVD模式时,可以根据距离索引(更具体地,mmvd_distance_index[xCb][yCb])值来确定是否应用DMVR。
这里,mmvd_distance_index的值(阈值)可以被设置为4,但是这仅仅是一个示例,并且对应的值可以根据性能和编码效率而改变为各种值。
因此,在该实施方式中,与是否应用MMVD的条件(例如,mmvd_flag)和MMVD的距离索引条件(例如,mmvd_distance_index)一起,可以基于上表24中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表24中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表24中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表24的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
另外,作为本公开的实施方式,可以通过考虑距离索引来确定是否应用BDOF,并且在这种情况下,BDOF的应用条件可以包括下表25中呈现的条件。
[表25]
参照上表25,可以通过添加用于是否应用合并模式/跳变模式的条件(例如,merge_flag)和与MMVD相关的条件(例如,mmvd_flag和mmvd_distance_index)来在MMVD模式下受限制地应用BDOF。例如,当不存在merge_flag时(即,当merge_flag不为1时)或者当merge_flag为1,mmvd_flag为1,并且mmvd_distance_index大于4时,可以确定满足了在MMVD模式下受限制地应用BDOF的条件。因此,当应用MMVD模式时,可以根据距离索引(例如,mmvd_distance_index[xCb][yCb])值来确定是否应用BDOF。
这里,mmvd_distance_index的值(阈值)可以被设置为4,但是这仅仅是一个示例,并且对应的值可以根据性能和编码效率而改变为各种值。
因此,在该实施方式中,与是否应用合并模式/跳变模式的条件(例如,merge_flag)和与MMVD相关的条件(例如,mmvd_flag、mmvd_distance_index)一起,可以基于上表25中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表25中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表25中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表25的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表24或表25中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,如上所述,可以对当前块应用同时执行帧内预测和帧间预测的组合帧内-帧间预测(CIIP)模式。在这种情况下,将其中执行了帧间预测的预测块(帧间块)与帧内预测方法相结合,以最终生成预测样本值,由此提高预测精度。然而,由于DMVR和BDOF是修正帧间块的技术,因此就与复杂度相比的性能而言可能不需要CIIP模式的应用。因此,本公开提出了可以通过考虑CIIP来确定是否应用DMVR和BDOF的方法。
作为本公开的实施方式,可以通过考虑CIIP来确定是否应用DMVR,并且在这种情况下,DMVR的应用条件可以包括下表26中呈现的条件。
[表26]
参照上表26,可以通过添加是否应用CIIP模式的条件(例如,ciip_flag)来根据是否应用CIIP受限制地应用DMVR。例如,当ciip_flag为0时(即,当不应用CIIP模式时),可以通过确定满足是否应用CIIP模式的条件来应用DMVR。
因此,在该实施方式中,与是否应用CIIP模式的条件(例如,ciip_flag)一起,可以基于上表26中列出的其余应用条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表26中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表26中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表26的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
另外,作为本公开的实施方式,可以通过考虑CIIP来确定是否应用BDOF,并且在这种情况下,BDOF的应用条件可以包括下表27中呈现的条件。
[表27]
参照上表27,可以通过添加是否应用CIIP模式的条件(例如,ciip_flag)来根据是否应用CIIP受限制地应用BDOF。例如,当ciip_flag为0时(即,当不应用CIIP模式时),可以通过确定满足是否应用CIIP模式的条件来应用BDOF。
因此,在该实施方式中,与是否应用CIIP模式的条件(例如,ciip_flag)一起,可以基于上表27中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表27中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表27中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表27的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表26或表27中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
根据上述本公开的实施方式的表6至表27中列出的方法可以被组合地应用。换句话说,可以通过检查修正应用条件来确定是否应用DMVR和BDOF,并且可以应用下表28中示出的条件。
[表28]
参照上表28,可以使用当应用DMVR或BDOF时的双边预测中的条件、在当前图片与双边参考图片之间的距离彼此相同的真实双重预测的情况下应用的条件、当不使用MMVD模式时应用的条件、当不执行仿射预测时应用的条件、当应用基于子块的合并模式时应用的条件以及当GBi索引是默认的时应用的条件。换句话说,可以根据是否满足这些条件来确定是应用DMVR还是BDOF。
另外,可以添加确定是否针对DMVR应用合并模式或者确定针对BDOF当前块是否是亮度块的条件。
上表28中列出的应用条件是示例,并且显而易见,可以组合地使用在以上提到的实施方式(上表6至表27中的实施方式)中列出的各种条件。
此外,在DMVR中,考虑到解码复杂度,采用SAD函数作为成本函数,而不是均值移除SAD(MRSAD)函数。然而,当GBi索引不是默认的时(例如,当GbiIdx不为0时),两个参考块可以具有不同的加权因子,结果,使用SAD的DMVR可以不是优选的。因此,可以通过考虑GBi索引来固定DMVR的条件。根据实验结果,通过与VVC测试模型(VTM)4.0进行比较,表现出100%编码和解码运行时的0.00%的RD比率变化。
在通用视频编码(VVC)的情况下,当满足下表29中列出的所有条件时,可以执行DMVR处理。
[表29]
在当前DMVR中,可以通过与随后将被加权和平均的参考块的SAD进行比较来搜索不匹配的块。在本公开中,由于两个参考块可以具有不同的权重,因此可以通过考虑这种情况来确定DMVR的条件。根据本公开的实施方式,对于其中GBi索引不是默认的块,可以不执行DMVR。在这种情况下,可以在下表30中示出DMVR的应用条件。
[表30]
如上表30中所示,当GBi索引(例如,GbiIdx)的值为0时,可以添加执行DMVR的条件。换句话说,当GBi索引(例如,GbiIdx)的值不为0时,将不同的权重应用于两个参考块(即,为了进行L0预测而参考的参考块和为了进行L1预测而参考的参考块),结果,在这种情况下,可以不限于执行DMVR。
此外,当当前块(即,当前编码单元;当前CU)满足真实双重预测条件时,执行BDOF。当考虑将光流方程设计为预测以预定速度(即,动量)移动的物体的运动时,当前的真实双重预测条件不是应用BDOF的最佳条件。因此,可以通过考虑参考图片的距离来固定BDOF的条件。根据实验结果,通过与VVC测试模型(VTM)4.0进行比较,表现出100%编码和解码运行时的0.01%的RD比率变化。
图13是为了描述BDOF的概念而例示的示图。
如上所述,BDOF被设计为通过使用光流概念来提高运动补偿的性能。根据BDOF,如图13中例示的,可以假定物体以预定速度移动(恒定运动),并且在物体移动时,各个像素的亮度不变。在该假定的情况下,可以如下式7表示光流方程。
[式7]
如上所述,在当前CU满足真实双重预测条件时,执行BDOF。然而,真实双重预测条件并不意指物体以预定速度移动的情况。因此,本公开提出了可以在物体具有预定的运动时应用BDOF并且可以提高运动补偿的性能的方法。
根据本公开的实施方式,在上式7中,当基于当前图片的距L0参考图片(图13的参考0)的距离与距L1参考图片(图1的参考1)的距离彼此相同时,可以应用BDOF作为δt。在这种情况下,可以如下表31中示出地改变BDOF的应用条件。
[表31]
参照上表31,改变BDOF的应用条件(例如,DiffPicOrderCnt)当中的与参考图片距离相关的条件,以只有在物体具有预定运的动速度时才应用BDOF。例如,确定DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])和DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)是否彼此相同,以确定当前图片与L0参考图片(即,参考图片列表L0中的参考图片)之间的距离和当前图片与L1参考图片(即,参考图片列表L1中的参考图片)之间的距离是否彼此相同。换句话说,只有在基于当前图片的距L0参考图片的距离与距L1参考图片的距离彼此相同时,才可以应用BDOF。如此,使用基于当前图片的双边参考图片距离相同的条件来确定是否执行真实双重预测以及是否包括以预定速度移动的物体。对满足条件的块应用BDOF,以获得更加增强的运动信息修正结果。
另外,在该实施方式中,与和参考图片距离相关的条件(例如,DiffPicOrderCnt)一起,可以基于上表31中列出的其余应用条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表31中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表31中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表31的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
此外,本公开提出了根据块大小来确定是否应用BDOF的方法。下表32示出了包括根据本公开的实施方式的块大小限制作为应用条件的情况。
[表32]
参照上表32,在应用BDOF时,在当前块的高度(例如,CbHeight)等于或大于8时,当前块的大小(例如,CbHeight×CbWidth)等于或大于64的情况可以被作为条件添加。
因此,在该实施方式中,与当前块的高度是否等于或大于8的条件以及当前块的高度×宽度是否等于或大于64的条件一起,可以通过使用上表32中列出的其余条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表32中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表32中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表32的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
可以根据下表32中示出的规范来实现本公开中描述的DMVR处理。下表33示出了作为本公开的实施方式的基于SAD进行的运动向量修正处理的一个示例。
[表33]
此外,如上所述,在DMVR中,考虑到解码复杂度,采用SAD函数作为成本函数,而不是均值移除SAD(MRSAD)函数。然而,当GBi索引不是默认的(例如,当GbiIdx不为0时)并且显式权重预测的加权标志不为0时,使用SAD的DMVR可能不是优选的。因此,可以通过考虑GBi索引和显式权重预测的加权标志来固定DMVR的条件。另外,甚至可以对BDOF应用相同条件。根据实验结果,通过与VVC测试模型(VTM)4.0进行比较,表现出100%编码和解码运行时的0.00%的RD比率变化。
在当前DMVR中,可以通过与随后将被加权和平均的参考块的SAD进行比较来搜索不匹配的块。在本公开中,由于两个参考块可以具有不同的权重,因此可以通过考虑这种情况来确定DMVR的条件。根据本公开的实施方式,对于其中GBi索引不是默认的块,可以不执行DMVR。此外,对于通过显式权重预测的加权标志不为0的块,可以不执行DMVR。
在本公开的实施方式中,提出了可以通过考虑执行加权双重预测来确定是否应用DMVR的方法。在这种情况下,DMVR的应用条件可以包括在下表34中呈现的条件。
[表34]
参照上表34,添加指示是否向L0预测和L1预测显式地应用权重的条件(例如,luma_weight_l0_flag和luma_weight_l1_flag)以及指示应用于L0预测和L1预测的权重的索引条件(例如,GbiIdx),以根据是否执行加权的双重预测来确定是否应用DMVR。
例如,可以基于表示是否向L0预测显式地应用权重的标志信息(例如,luma_weight_l0_flag)和表示是否向L1预测显式地应用权重的标志信息(例如,luma_weight_l1_flag)来确定是否对当前块应用显式权重预测。换句话说,当luma_weight_l0_flag的值为0并且luma_weight_l1_flag的值为0时,可以受限制地应用DMVR。换句话说,当没有向L0预测和L1预测显式地应用权重预测时,可以确定应用DMVR。
另外,可以基于表示应用于L0预测和L1预测的权重的双重预测权重索引(例如,GbiIdx)的值来确定是否对当前块应用使用不同权重的双重预测(即,L0预测和L1预测)。换句话说,双重预测权重索引(例如,GbiIdx)的值为0的情况可以是如上表4的实施方式中描述的不向L0预测和L1预测应用不同的权重的默认情况。因此,当双重预测权重索引(例如,GbiIdx)的值为0时,可以受限制地应用DMVR。
根据实施方式,当未向L0预测和L1预测显式地应用权重预测时(当luma_weight_l0_flag的值为0并且当luma_weight_l1_flag的值为0时),进一步获得关于双重预测权重索引(例如,GbiIdx)的信息,以确定双重预测权重索引(例如,GbiIdx)的值是否为0。
在该实施方式中,与指示是否向L0预测和L1预测显式地应用权重的条件(例如,luma_weight_l0_flag和luma_weight_l1_flag)以及指示应用于L0预测和L1预测的权重的索引条件(例如,GbiIdx)一起,可以基于上表34中列出的其余条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表34中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表34中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表34的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
此外,在BDOF的情况下,考虑了GBi索引,但是没有考虑显式权重预测的加权标志。因此,本公开提出了通过考虑GBi索引和显式权重预测的加权标志来确定是否应用BDOF的方法。
作为本公开的实施方式,可以通过考虑是否执行加权的双重预测来确定是否应用BDOF,并且在这种情况下,BDOF的应用条件可以包括下表35中呈现的条件。
[表35]
参照上表35,添加指示是否向L0预测和L1预测显式地应用权重的条件(例如,luma_weight_l0_flag和luma_weight_l1_flag),以根据是否执行加权的双重预测来确定是否应用BDOF。
例如,可以基于表示是否向L0预测显式地应用权重的标志信息(例如,luma_weight_l0_flag)和表示是否向L1预测显式地应用权重的标志信息(例如,luma_weight_l1_flag)来确定是否对当前块应用显式权重预测。换句话说,当luma_weight_l0_flag的值为0并且luma_weight_l1_flag的值为0时,可以受限制地应用BDOF。换句话说,当权重预测未被显式地应用于L0预测和L1预测时,可以确定应用BDOF。
在该实施方式中,与指示是否向L0预测和L1预测显式地应用权重的条件(例如,luma_weight_l0_flag和luma_weight_l1_flag)一起,可以基于上表35中列出的其余条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表35中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表35中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表35的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表34或表35中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
如上所述,除了GBi索引之外,还可以通过考虑显式权重预测的权重因子来确定是否应用DMVR和BDOF。在这种情况下,为了确定是否应用显式权重预测,考虑是否通过使用luma_weight_lX_flag(这里,X为0或1)对亮度分量执行权重预测,但是可以甚至针对色度分量考虑是否执行权重预测。因此,本公开提出了通过除了亮度分量的权重因子之外还考虑色度分量的权重因子来确定是否应用DMVR和BDOF的方法。
作为本公开的实施方式,可以通过考虑针对当前块的亮度分量和色度分量的显式权重预测的权重因子来确定是否应用DMVR,并且在这种情况下,DMVR的应用条件可以包括下表36中呈现的条件。
[表36]
参照上表36,添加指示是否将权重显式地应用于L0预测的亮度分量(亮度预测值)和L1预测的亮度分量(亮度预测值)的条件(例如,luma_weight_l0_flag,luma_weight_l1_flag)、指示是否将权重显式地应用于L0预测的色度分量(色度预测值)和L1预测的色度分量(色度预测值)的条件(例如,chroma_weight_l0_flag、chroma_weight_l1_flag)以及指示应用于L0预测和L1预测的权重的索引条件(例如,GbiIdx),以只有在向亮度分量和色度分量二者应用权重(即,权重因子)时才受限制地应用DMVR。
例如,可以基于表示是否向L0预测的亮度分量(亮度预测值)显式地应用权重的标志信息(例如,luma_weight_l0_flag)和表示是否向L1预测的亮度分量(亮度预测值)显式地应用权重的标志信息(例如,luma_weight_l1_flag)来确定是否向当前块的亮度分量应用显式权重预测的权重因子。
例如,可以基于表示是否向L0预测的色度分量(色度预测值)显式地应用权重的标志信息(例如,chroma_weight_l0_flag)和表示是否向L1预测的色度分量(色度预测值)显式地应用权重的标志信息(例如,chroma_weight_l1_flag)来确定是否向当前块的色度分量应用显式权重预测的权重因子。
换句话说,当luma_weight_l0_flag的值为0并且luma_weight_l1_flag的值为0时,可以确定对于亮度分量而言,没有显式地存在权重因子,并且当chroma_weight_l0_flag的值为0并且chroma_weight_l1_flag的值为0时,可以确定对于色度分量而言,没有显式地存在权重因子。如此,当对于亮度分量和色度分量二者而言都不存在显式权重因子时,可以受限制地应用DMVR。
另外,可以基于表示应用于L0预测和L1预测的权重的双重预测权重索引(例如,GbiIdx)的值来确定是否对当前块应用使用不同权重的双重预测(即,L0预测和L1预测)。换句话说,双重预测权重索引(例如,GbiIdx)的值为0的情况可以是如上表4的实施方式中描述的不向L0预测和L1预测应用不同的权重的默认情况。因此,当双重预测权重索引(例如,GbiIdx)的值为0时,可以受限制地应用DMVR。
根据实施方式,当未向亮度分量的L0预测和L1预测显式地应用权重预测时(当luma_weight_l0_flag的值为0并且luma_weight_l1_flag的值为0时)并且当未向色度分量的L0预测和L1预测显式地应用权重预测时(当chroma_weight_l0_flag的值为0并且chroma_weight_l1_flag的值为0时),进一步获得关于双重预测权重索引(例如,GbiIdx)的信息,以确定双重预测权重索引(例如,GbiIdx)的值是否为0。
在该实施方式中,与指示是否向亮度分量的L0预测和L1预测显式地应用权重的条件(例如,luma_weight_l0_flag和luma_weight_l1_flag)、指示是否向色度分量的L0预测和L1预测显式地应用权重的条件以及指示应用于L0预测和L1预测的权重的索引条件(例如,GbiIdx)一起,可以基于上表36中列出的其余条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表36中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表36中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表36的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
另外,作为本公开的实施方式,可以通过考虑针对当前块的亮度分量和色度分量的显式权重预测的权重因子来确定是否应用BDOF,并且在这种情况下,BDOF的应用条件可以包括下表37中呈现的条件。
[表37]
参照上表37,添加指示是否将权重显式地应用于L0预测的亮度分量(亮度预测值)和L1预测的亮度分量(亮度预测值)的条件(例如,luma_weight_l0_flag,luma_weight_l1_flag)以及指示是否将权重显式地应用于L0预测的色度分量(色度预测值)和L1预测的色度分量(色度预测值)的条件(例如,chroma_weight_l0_flag、chroma_weight_l1_flag),以只有在向亮度分量和色度分量二者应用权重(即,权重因子)时才受限制地应用BDOF。
例如,可以确定当表示是否向L0预测的亮度分量(亮度预测值)显式地应用权重的标志信息(例如,luma_weight_l0_flag)的值为0并且表示是否向L1预测的亮度分量(亮度预测值)显式地应用权重的标志信息(例如,luma_weight_l1_flag)的值为0时,没有显式地存在用于当前块的亮度分量的L0预测和L1预测的权重因子。
例如,可以确定当表示是否向L0预测的色度分量(色度预测值)显式地应用权重的标志信息(例如,chroma_weight_l0_flag)的值为0并且表示是否向L1预测的色度分量(色度预测值)显式地应用权重的标志信息(例如,chroma_weight_l1_flag)的值为0时,没有显式地存在用于当前块的色度分量的L0预测和L1预测的权重因子。
如此,当对于亮度分量和色度分量二者都不存在权重因子时,可以受限制地应用BDOF。
在该实施方式中,与指示是否向亮度分量的L0预测和L1预测显式地应用权重的条件(例如,luma_weight_l0_flag和luma_weight_l1_flag)以及指示是否向色度分量的L0预测和L1预测显式地应用权重的条件(chroma_weight_l0_flag和chroma_weight_l1_flag)一起,可以基于上表37中列出的其余条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表37中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表37中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表37的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表36或表37中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,如上所述,根据本公开的实施方式,可以通过考虑显式权重预测来确定是否应用DMVR和BDOF。在这种情况下,为了确定是否应用显式权重预测,可以考虑切片的类型。因此,本公开提出了通过考虑切片类型以及是否相应地应用权重预测来确定是否应用DMVR和BDOF的方法。
作为本公开的实施方式,可以通过使用指示是否根据当前切片的类型应用权重预测的标志信息来确定是否应用DMVR和BDOF。这里,可以通过图片参数集(PPS)或序列参数集(SPS)语法从编码设备向解码设备发信号通知指示是否根据当前切片的类型应用权重预测的标志信息。作为一个示例,下表38示出了通过PPS语法发信号通知的标志信息。
[表38]
pic_parameter_set_rbsp(){ |
描述符 |
... |
|
weighted_pred_flag |
u(1) |
weighted_bipred_flag |
u(1) |
参照上表38,可以从编码设备向解码设备发信号通知weighted_pred_flag和weighted_bipred_flag。这里,weighted_pred_flag可以是指示是否向切片P应用权重预测的信息,并且weighted_bipred_flag可以是指示是否向切片B应用权重预测的信息。
例如,当weighted_pred_flag的值为0时,可以指示不向P切片应用权重预测,并且当weighted_pred_flag的值为1时,可以指示向P切片应用权重预测。此外,当weighted_bipred_flag的值为0时,可以指示不向B切片应用权重预测,并且当weighted_bipred_flag的值为1时,可以指示向B切片应用权重预测。
在此,预测(P)切片可以意指基于使用一个运动向量和一个参考图片索引的帧间预测(结束)而解码的切片。双重预测(B)切片可以意指基于使用一个或更多个(例如,两个)运动向量和参考图片索引的帧间预测而解码的切片。
作为本公开的实施方式,可以基于指示是否向P切片应用权重预测的标志信息(例如,weighted_pred_flag)和指示是否向B切片应用权重预测的标志信息(例如,weighted_bipred_flag)来确定是否应用DMVR,并且在这种情况下,DMVR的应用条件可以包括在下表39中呈现的条件。
[表39]
参照上表39,添加指示是否向P切片应用权重预测的条件(例如,weighted_pred_flag)、指示是否向B切片应用权重预测的条件(例如,weighted_bipred_flag)和指示应用于L0预测和L1预测的权重的索引条件(例如,GbiIdx),以只有在没有向P切片和B切片应用权重预测时,才受限制地应用DMVR。
例如,当weighted_pred_flag的值为1并且当前切片不是P切片时,并且当weighted_bipred_flag的值为1并且当前切片不是B切片时,可以应用DMVR。换句话说,当没有向P切片应用权重预测并且没有向B切片应用权重预测时,可以确定应用DMVR。
另外,可以基于表示应用于L0预测和L1预测的权重的双重预测权重索引(例如,GbiIdx)的值来确定是否对当前块应用使用不同权重的双重预测(即,L0预测和L1预测)。换句话说,双重预测权重索引(例如,GbiIdx)的值为0的情况可以是如上表4的实施方式中描述的不向L0预测和L1预测应用不同的权重的默认情况。因此,当双重预测权重索引(例如,GbiIdx)的值为0时,可以受限制地应用DMVR。
在该实施方式中,与指示是否向P切片应用权重预测的条件(例如,weighted_pred_flag)、指示是否向B切片应用权重预测的条件(例如,weighted_bipred_flag)和指示向L0预测和L1预测应用的权重的索引条件(例如,GbiIdx)一起,可以基于上表39中列出的其余条件来确定是否应用DMVR。
换句话说,解码设备可以确定是否满足上表39中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表39中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表39的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
另外,作为本公开的实施方式,可以基于指示是否向P切片应用权重预测的标志信息(例如,weighted_pred_flag)和指示是否向B切片应用权重预测的标志信息(例如,weighted_bipred_flag)来确定是否应用BDOF,并且在这种情况下,BDOF的应用条件可以包括在下表40中呈现的条件。
[表40]
参照上表40,添加指示是否向P切片应用权重预测的条件(例如,weighted_pred_flag)和指示是否向B切片应用权重预测的条件(例如,weighted_bipred_flag),以只有在没有向P切片和B切片应用权重预测时,才受限制地应用BDOF。
例如,当weighted_pred_flag的值为1并且当前切片不是P切片时,并且当weighted_bipred_flag的值为1并且当前切片不是B切片时,可以应用BDOF。换句话说,当没有向P切片应用权重预测并且没有向B切片应用权重预测时,可以确定应用BDOF。
在该实施方式中,与指示是否向P切片应用权重预测的条件(例如,weighted_pred_flag)、指示是否向B切片应用权重预测的条件(例如,weighted_bipred_flag)和指示向L0预测和L1预测应用的权重的索引条件(例如,GbiIdx)一起,可以基于上表40中列出的其余条件来确定是否应用BDOF。
换句话说,解码设备可以确定是否满足上表40中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表40中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表40的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表39或表40中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
此外,可以根据块大小来确定是执行双重预测还是单一预测(uni-prediction)。例如,当当前块的大小小(例如,块的大小为4×8或8×4)时,仅单一预测可以被限制为被启用,并且当当前块的大小大时,双重预测可以被配置为被启用。这样,如果当块大小小时仅单一预测被限制为被执行,则即使对于在双重预测的情况下执行的DMVR和BDOF,也应该考虑在单一预测期间限制的块大小。例如,如果在当前块的大小为4×8或8×4时仅单一预测被限制为被启用,则可以在当前块的高度或宽度中的至少一个大于4时执行双重预测。因此,本公开提出了通过考虑在双重预测或单一预测期间应用的块大小来应用DMVR和BDOF的方法。
作为本公开的实施方式,提出了通过考虑当前块的高度(和/或宽度)来确定是否应用BDOF的方法。在这种情况下,BDOF的应用条件可以包括在下表41中呈现的条件。
[表41]
参照上表41,可以通过改变与当前块的高度(和/或宽度)相关的条件(例如,cbHeight)来对大于特定大小的块应用BDOF。例如,当当前块的高度(例如,CbHeight)大于4时,可以使用应用BDOF的条件。另选地,当当前块的宽度(例如,CbWidth)大于4时,可以使用应用BDOF的条件。当满足与当前块的大小相关的条件(例如,CbHeight或CbWidth)时(即,当当前块的高度大于4时),可以应用BDOF,并且当不满足与当前块的大小相关的条件时(即,当当前块的高度等于或小于4时),可以不应用BDOF。
另外,在该实施方式中,与和当前块的大小相关的条件(例如,CbHeight和CbWidth)一起,可以基于上表41中列出的其余应用条件来确定是否应用BDOF。在这种情况下,可以根据是否满足上表41中列出的条件来导出bdofFlag。在这种情况下,当满足上表41中列出的所有条件时,可以导出bdofFlag的值为1(真),否则可以导出bdofFlag的值为0(假)。这里,bdofFlag可以是指示是否对当前块应用BDOF的标志信息。
换句话说,解码设备可以确定是否满足上表41中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用BDOF来执行真实双重预测。当甚至不满足上表41中列出的条件中的任一个时,解码设备可以不应用BDOF。编码设备也可以应用上表41的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
另外,作为本公开的实施方式,提出了通过考虑当前块的高度(和/或宽度)来确定是否应用DMVR的方法。在这种情况下,DMVR的应用条件可以包括在下表42中呈现的条件。
[表42]
参照上表42,可以通过改变与当前块的高度(和/或宽度)相关的条件(例如,cbHeight)来对大于特定大小的块应用DMVR。例如,当当前块的高度(例如,CbHeight)大于4时,可以使用应用DMVR的条件。另选地,当当前块的宽度(例如,CbWidth)大于4时,可以使用应用DMVR的条件。当满足与当前块的大小相关的条件(例如,CbHeight或CbWidth)时(即,当当前块的高度大于4时),可以应用DMVR,并且当不满足与当前块的大小相关的条件时(即,当当前块的高度等于或小于4时),可以不应用DMVR。
另外,在该实施方式中,与和当前块的大小相关的条件(例如,CbHeight和CbWidth)一起,可以基于上表42中列出的其余应用条件来确定是否应用DMVR。在这种情况下,可以根据是否满足上表42中列出的条件来导出dmvrFlag。在这种情况下,当满足上表42中列出的所有条件时,可以导出dmvrFlag的值为1(真),否则可以导出dmvrFlag的值为0(假)。这里,dmvrFlag可以是指示是否对当前块应用DMVR的标志信息。
换句话说,解码设备可以确定是否满足上表42中列出的所有条件,并且当满足所有条件时,解码设备可以通过应用DMVR来执行真实双重预测。当甚至不满足上表42中列出的条件中的任一个时,解码设备可以不应用DMVR。编码设备也可以应用上表42的条件,并且编码设备可以通过解码设备中进行的对应方法来执行真实双重预测。
基于上表41或表42中列出的条件执行真实双重预测的方法可以独立地应用于DMVR和BDOF,或者可以在相同条件下应用于DMVR和BDOF。
在本公开中,可以基于上述的表2至表42的应用条件来导出指示是否应用DMVR的DMVR标志信息和指示是否应用BDOF的BDOF标志信息。
例如,可以基于应用条件(表2至表42中的应用条件中的至少一个或所述应用条件的组合)来导出DMVR标志信息(例如,dmvrFlag)。在这种情况下,当dmvrFlag的值为1(或真)时,可以指示应用DMVR,并且当dmvrFlag的值为0(或假)时,可以指示不应用DMVR。此外,可以基于BDOF的应用条件(表2至表42的应用条件中的至少一个或所述应用条件的组合)来导出BDOF标志信息(例如,bdofFlag)。在这种情况下,当bdofFlag的值为1(或真)时,可以指示应用BDOF,并且当bdofFlag的值为0(或假)时,可以指示不应用BDOF。
图14是示意性地示出了可以由根据本公开的实施方式的编码设备执行的编码方法的流程图。
可以由图2中公开的编码设备200执行图14中公开的方法。具体地,例如,图14的步骤S1400至S1430可以由图2中公开的预测器220和帧间预测器221执行,图14的步骤S1440可以由图2中公开的残差处理器230执行,并且图14的步骤S1450可以由图2中公开的熵编码器240执行。另外,图14中公开的方法可以包括以上在本公开中描述的实施方式。因此,在图14中,将省略或简化对与这些实施方式重复的内容的详细描述。
参照图14,编码设备可以导出当前块的L0运动向量和L1运动向量(S1400)。
作为实施方式,当对当前块执行帧间预测时,编码设备可以导出当前块的运动信息(运动向量、参考图片索引等)。例如,编码设备可以通过运动估计在参考图片的预定区域(搜索区域)中搜索与当前块相近的块,并且导出与当前块的差异最小或者等于或小于预定准则的参考块。可以基于此导出指示参考块所处的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差异来导出运动向量。
另外,编码设备可以确定各种预测模式当中的应用于当前块的帧间预测模式。编码设备可以将针对各种预测模式的RD成本进行比较,并且确定用于当前块的最佳预测模式。
例如,编码设备可以确定是否将合并模式用作当前块的最佳预测模式。当对当前块应用合并模式时,编码设备可以基于当前块的邻近块来配置合并候选列表,并且生成合并索引信息。具体地,可以导出合并候选列表中所包括的合并候选所指示的参考块(即,邻近块)当中的与当前块的差异最小或者等于或小于预定准则的参考块。在这种情况下,可以选择与导出的参考块关联的合并候选,并且可以生成并向解码设备发信号通知指示所选择的合并候选的合并索引信息。可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。
这里,运动信息可以包括诸如运动向量、参考图片索引等这样的信息,并且包括根据帧间预测类型(L0预测、L1预测、双重预测等)的L0运动信息和/或L1运动信息。当对当前块应用双重预测时,运动信息可以包括L0方向运动向量(L0运动向量)和L1方向运动向量(L1运动向量)。此外,运动信息可以包括L0参考图片列表中的L0参考图片索引和L0参考图片索引所指示的L0参考图片以及L1参考图片列表中的L1参考图片索引和L1参考图片索引所指示的L1参考图片。
换句话说,当应用合并模式时,编码设备可以导出当前块的邻近块当中的由合并索引信息所指示的邻近块的L0运动向量和L1运动向量,并且使用所导出的L0运动向量和L1运动向量作为当前块的L0运动向量和L1运动向量。
编码设备基于指示是否对当前块应用DMVR的DMVR标志信息来对当前块应用DMVR,以基于L0运动向量和L1运动向量来导出修正的L0运动向量和修正的L1运动向量(S1410)。
在这种情况下,编码设备可以通过考虑编码效率、复杂度、预测性能等来确定是否对当前块应用DMVR。换句话说,编码设备可以基于是否针对当前块满足了DMVR的预定应用条件来对当前块应用DMVR。这里,DMVR的预定应用条件可以由以上表2至表42中描述的各种应用条件的一些(或全部)或特定组合构成。另外,编码设备可以根据是否满足DMVR的预定应用条件来导出DMVR标志信息。DMVR标志信息可以是指示是否对当前块应用DMVR的信息(例如,上述的dmvrFlag)。
作为实施方式,DMVR的预定应用条件可以包括L0亮度权重预测标志信息和L1亮度权重预测标志信息二者的值均为0的条件。
在这种情况下,当满足L0亮度权重预测标志信息(例如,luma_weight_l0_flag)和L1亮度权重预测标志信息(例如,luma_weight_l1_flag)二者的值都为0的情况时,编码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,当luma_weight_l0_flag和luma_weight_l1_flag二者为0时,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。否则,可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
这里,L0亮度权重预测标志信息可以是指示是否存在针对当前块的亮度分量的L0预测的权重因子的信息,并且L1亮度权重预测标志信息可以是指示是否存在针对当前块的亮度分量的L1预测的权重因子的信息。例如,L0亮度权重预测标志信息的值为0的情况可以指示对于L0预测的亮度分量而言不存在权重因子,并且L0亮度权重预测标志信息的值为1的情况可以指示对于L0预测的亮度分量而言存在权重因子。例如,L1亮度权重预测标志信息的值为0的情况可以指示对于L1预测的亮度分量而言不存在权重因子,并且L1亮度权重预测标志信息的值为1的情况可以指示对于L1预测的亮度分量而言存在权重因子
另外,作为实施方式,DMVR的预定应用条件可以包括当前块的双重预测权重索引信息的值为0的条件。
在这种情况下,当双重预测权重索引信息(例如,GbiIdx)的值为0时,编码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,当GbiIdx为0时,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。否则,可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
这里,双重预测权重索引(例如,GbiIdx)的值为0的情况可以是不向L0预测和L1预测应用不同的权重的默认情况。作为一个示例,如上表4中所示,双重预测权重索引信息的值为0的情况可以向L0预测和L1预测中的每一个应用1/2权重的情况。
另外,作为实施方式,DMVR的预定应用条件可以包括不对当前块应用将帧间预测和帧内预测组合的预测模式(CIIP模式)的条件。
在这种情况下,当满足不对当前块应用将帧间预测和帧内预测组合的预测模式的情况(例如,ciip_flag为0的情况)时,可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,当ciip_flag为0时,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。当ciip_flag为1时,可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
另外,作为实施方式,DMVR的预定应用条件可以包括当前块的大小等于或大于16×16的条件。换句话说,预定应用条件可以意指当前块的高度等于或大于16并且当前块的宽度等于或大于16的情况。
在这种情况下,当满足当前块的大小等于或大于16×16的情况时,编码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,在当前块的大小等于或大于16×16的情况下,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。否则(即,在当前块的大小小于16×16的情况下),可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
另外,根据实施方式,DMVR的预定应用条件可以包括启用基于DMVR的帧间双重预测的条件、对当前块应用基于L0参考图片和L1参考图片执行的双重预测的条件、当前图片与L0参考图片之间的第一图片顺序计数(POC)和当前图片与L1参考图片之间的第二POC差异彼此相同的条件、对当前块应用合并模式的条件、不对当前块应用运动向量差(MMVD)模式连同合并模式的条件等。
换句话说,可以确定DMVR的应用条件包括这些条件中的至少一个,并且可以基于所确定的DMVR应用条件来导出DMVR标志信息。在这种情况下,当确定DMVR应用条件包括一个或更多个条件时,如果满足所有预定DMVR应用条件,则编码设备导出DMVR标志信息的值为真或1,以确定对当前块应用DMVR。否则,如果甚至不满足DMVR的预定应用条件中的任一个,则可以导出DMVR标志信息的值为假或0。
这里,在导出DMVR标志信息时,所列出的DMVR应用条件仅仅是示例,并且上述表2至表42的条件可以以各种组合被使用。
当DMVR标志信息指示对当前块应用DMVR时(例如,当导出DMVR标志信息为真或1值时),编码设备对当前块应用DMVR,以基于L0运动向量和L1运动向量来导出修正的L0运动向量和修正的L1运动向量。
作为实施方式,编码设备通过使用基于L0运动向量导出的L0参考图片中的参考样本和基于L1运动向量导出的L1参考图片中的参考样本来导出最小绝对差之和(SAD)。另外,编码设备可以基于与最小SAD对应的样本位置来导出针对L0运动向量的修正的L0运动向量和针对L1运动向量的修正的L1运动向量。
这里,L0参考图片是L0参考图片列表中所包括的参考图片当中的L0参考图片索引所指示的参考图片,并且L1参考图片是L1参考图片列表中所包括的参考图片当中的L1参考图片索引所指示的参考图片。
此外,修正的L0运动向量可以是指示L0参考图片中的与最小SAD对应的样本位置的运动向量,并且修正的L1运动向量可以是指示L1参考图片中的与最小SAD对应的样本位置的运动向量。在图8和图9中详细地描述了通过应用DMVR来导出修正的运动向量的过程,所以在本文中将省略对其的描述。
编码设备可以基于修正的L0运动向量来导出当前块的L0预测样本,并且可以基于修正的L1运动向量来导出当前块的L1预测样本(S1420)。
这里,可以基于L0参考图片中的修正的L0运动向量所指示的参考样本来导出L0预测样本,并且可以基于L1参考图片中的修正的L1运动向量所指示的参考样本来导出L1预测样本。
编码设备可以通过基于指示是否对当前块应用BDOF的BDOF标志信息对当前块应用BDOF来基于L0预测样本和L1预测样本导出当前块的预测样本(S1430)。
在这种情况下,在导出预测样本时,编码设备可以通过考虑编码效率、复杂度、预测性能等来确定是否对当前块应用BDOF。换句话说,编码设备可以基于是否针对当前块满足了BDOF的预定应用条件对当前块应用BDOF。这里,BDOF的预定应用条件可以由以上表2至表42中描述的各种应用条件的一些(或全部)或特定组合构成。另外,编码设备可以根据是否满足BDOF的预定应用条件来导出BDOF标志信息。BDOF标志信息可以是指示是否对当前块应用BDOF的信息(例如,上述的bdofFlag)。
作为实施方式,BDOF的预定应用条件可以包括L0亮度权重预测标志信息和L1亮度权重预测标志信息二者的值均为0的条件。
在这种情况下,当满足L0亮度权重预测标志信息(例如,luma_weight_l0_flag)和L1亮度权重预测标志信息(例如,luma_weight_l1_flag)二者的值都为0的情况时,编码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,当luma_weight_l0_flag和luma_weight_l1_flag二者为0时,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则,可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括当前块的大小等于或大于16×16的条件。换句话说,预定应用条件可以意指当前块的高度等于或大于16并且当前块的宽度等于或大于16的情况。
在这种情况下,当满足当前块的大小等于或大于16×16的情况时,编码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,在当前块的大小等于或大于16×16的情况下,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则(即,在当前块的大小小于16×16的情况下),可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括当前块的高度等于或大于8的条件。
在这种情况下,当满足当前块的高度等于或大于8的情况时,编码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,在当前块的高度等于或大于8的情况下,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则(即,在当前块的高度小于8的情况下),可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括当前图片与L0参考图片之间的第一图片顺序计数(POC)和当前图片与L1参考图片之间的第二POC差异彼此相同的情况。
在这种情况下,当满足第一POC差异(例如,DiffPicOrderCnt(currPic,RefPicList0[refIdxL0]))与第二POC差异(例如,DiffPicOrderCnt(currPic,RefPicList1[refIdxL1]))彼此相同的情况时,编码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,当DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])-DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])为0时,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则,可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括不对当前块应用将帧间预测和帧内预测组合的预测模式(CIIP模式)的条件。
在这种情况下,当满足不对当前块应用将帧间预测和帧内预测组合的预测模式的情况(例如,ciip_flag为0的情况)时,可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,当ciip_flag为0时,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。当ciip_flag为1时,可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,根据实施方式,BDOF的预定应用条件可以包括启用基于BDOF的帧间预测的条件、对当前块应用基于L0参考图片和L1参考图片执行的双重预测的条件、当前块的双重预测权重索引信息的值为0的条件、不对当前块应用仿射模式的条件、不对当前块应用基于子块的合并模式的条件、当前块是亮度分量的条件等。
换句话说,可以确定BDOF的应用条件包括这些条件中的至少一个,并且可以基于所确定的BDOF应用条件来导出BDOF标志信息。在这种情况下,当确定BDOF应用条件包括一个或更多个条件时,如果满足所有预定BDOF应用条件,则编码设备导出BDOF标志信息的值为真或1,以确定对当前块应用BDOF。否则,如果甚至不满足BDOF的预定应用条件中的任一个,则可以导出BDOF标志信息的值为假或0。
这里,在导出BDOF标志信息时,所列出的BDOF应用条件仅仅是示例,并且上述表2至表42的条件可以以各种组合被使用。
当BDOF标志信息指示对当前块应用BDOF时(例如,当导出BDOF标志信息为真或1值时),编码设备可以通过对当前块应用BDOF来导出预测样本。
作为实施方式,编码设备可以计算针对基于修正的L0运动向量导出的L0预测样本的第一梯度和针对基于修正的L1运动向量导出的L1预测样本的第二梯度。另外,编码设备可以最终基于L0预测样本、L1预测样本、第一梯度和第二梯度来导出当前块的预测样本。作为一个示例,诸如上述式1至式6这样的计算可以用于通过应用BDOF来导出预测样本的过程。
编码设备可以基于预测样本来导出当前块的残差样本(S1440),并且对包括关于残差样本的信息的图像信息进行编码(S1450)。
换句话说,编码设备可以基于当前块的原始样本和当前块的预测样本来导出残差样本。另外,编码设备可以生成关于残差样本的信息。这里,关于残差样本的信息可以包括针对通过针对残差样本执行变换和量化而导出的量化后的变换系数的诸如值信息、位置信息、变换技术、变换内核、量化参数等这样的信息。
编码设备可以对关于残差样本的信息进行编码并且将编码后的信息作为比特流输出,并且通过网络或存储介质将输出的比特流发送到解码设备。
此外,编码设备可以对在上述步骤S1400至S1450中导出的图像信息进行编码,并且将编码后的图像信息作为比特流输出。例如,合并标志信息、合并索引信息、L0参考图片索引、L1参考图片索引、L0亮度权重预测标志信息、L1亮度权重预测标志信息、双重预测权重索引信息等可以被包括在图像信息中并且被编码,并且可以将编码后的图像信息发信号通知给解码设备。
图15是示意性地示出了可以由根据本公开的实施方式的解码设备执行的解码方法的流程图。
可以由图3中公开的编码设备300执行图15中公开的方法。具体地,图15的步骤S1500至S1530可以由图3中公开的预测器330和帧间预测器332执行,并且图15的步骤S1540可以由图3中公开的加法器340执行。另外,图15中公开的方法可以包括以上在本公开中描述的实施方式。因此,在图15中,将省略或简化对与这些实施方式重复的内容的详细描述。
参照图15,解码设备可以导出当前块的L0运动向量和L1运动向量(S1500)。
可以由图3中公开的编码设备300执行图15中公开的方法。具体地,图15的步骤S1500至S1530可以由图3中公开的预测器330和帧间预测器332执行,并且图15的步骤S1540可以由图3中公开的加法器340执行。另外,图15中公开的方法可以包括以上在本公开中描述的实施方式。因此,在图15中,将省略或简化对与这些实施方式重复的内容的详细描述。
参照图15,解码设备可以导出当前块的L0运动向量和L1运动向量(S1500)。
作为实施方式,解码设备可以基于从编码设备发信号通知的预测信息来确定针对当前块的预测模式。然而,解码设备可以基于预测模式来导出当前块的运动信息(运动向量、参考图片索引等)。这里,预测模式可以包括跳变模式、合并模式、(A)MVP模式等。
例如,当对当前块应用合并模式时,解码设备可以基于当前块的邻近块来配置合并候选列表,并且选择合并候选列表中所包括的合并候选当中的一个合并候选。在这种情况下,可以基于合并索引信息在合并候选列表中选择一个合并候选。解码设备可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。换句话说,合并候选列表中所包括的合并候选当中的通过合并索引选择的合并候选的运动信息可以被用作当前块的运动信息。
这里,运动信息可以包括诸如运动向量、参考图片索引等这样的信息,并且包括根据帧间预测类型(L0预测、L1预测、双重预测等)的L0运动信息和/或L1运动信息。当对当前块应用双重预测时,运动信息可以包括L0方向运动向量(L0运动向量)和L1方向运动向量(L1运动向量)。此外,运动信息可以包括L0参考图片列表中的L0参考图片索引和L0参考图片索引所指示的L0参考图片以及L1参考图片列表中的L1参考图片索引和L1参考图片索引所指示的L1参考图片。
换句话说,解码设备可以基于当前块的预测模式信息(例如,指示预测模式是否是合并模式的合并标志(merge_flag))来确定是否对当前块应用合并模式。当基于合并标志对当前块应用合并模式时,解码设备可以获得合并索引信息。另外,解码设备可以导出合并候选列表中所包括的邻近块当中的由合并索引信息所指示的邻近块的L0运动向量和L1运动向量,并且使用所导出的L0运动向量和L1运动向量作为当前块的L0运动向量和L1运动向量。
解码设备基于指示是否对当前块应用DMVR的DMVR标志信息来对当前块应用DMVR,以基于L0运动向量和L1运动向量来导出修正的L0运动向量和修正的L1运动向量(S1510)。
在这种情况下,解码设备可以通过考虑编码效率、复杂度、预测性能等来确定是否对当前块应用DMVR。换句话说,解码设备可以基于是否针对当前块满足了DMVR的预定应用条件来对当前块应用DMVR。这里,DMVR的预定应用条件可以由以上表2至表42中描述的各种应用条件的一些(或全部)或特定组合构成。另外,解码设备可以根据是否满足DMVR的预定应用条件来导出DMVR标志信息。DMVR标志信息可以是指示是否对当前块应用DMVR的信息(例如,上述的dmvrFlag)。
作为实施方式,DMVR的预定应用条件可以包括L0亮度权重预测标志信息和L1亮度权重预测标志信息二者的值均为0的条件。
在这种情况下,当满足L0亮度权重预测标志信息(例如,luma_weight_l0_flag)和L1亮度权重预测标志信息(例如,luma_weight_l1_flag)二者的值都为0的情况时,解码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,当luma_weight_l0_flag和luma_weight_l1_flag二者为0时,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。否则,可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
这里,L0亮度权重预测标志信息可以是指示是否存在针对当前块的亮度分量的L0预测的权重因子的信息,并且L1亮度权重预测标志信息可以是指示是否存在针对当前块的亮度分量的L1预测的权重因子的信息。例如,L0亮度权重预测标志信息的值为0的情况可以指示对于L0预测的亮度分量而言不存在权重因子,并且L0亮度权重预测标志信息的值为1的情况可以指示对于L0预测的亮度分量而言存在权重因子。例如,L1亮度权重预测标志信息的值为0的情况可以指示对于L1预测的亮度分量而言不存在权重因子,并且L1亮度权重预测标志信息的值为1的情况可以指示对于L1预测的亮度分量而言存在权重因子
另外,作为实施方式,DMVR的预定应用条件可以包括当前块的双重预测权重索引信息的值为0的条件。
在这种情况下,当双重预测权重索引信息(例如,GbiIdx)的值为0时,解码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,当GbiIdx为0时,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。否则,可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
这里,双重预测权重索引(例如,GbiIdx)的值为0的情况可以是不向L0预测和L1预测应用不同的权重的默认情况。作为一个示例,如上表4中所示,双重预测权重索引信息的值为0的情况可以向L0预测和L1预测中的每一个应用1/2权重的情况。
另外,作为实施方式,DMVR的预定应用条件可以包括不对当前块应用将帧间预测和帧内预测组合的预测模式(CIIP模式)的条件。
在这种情况下,当满足不对当前块应用将帧间预测和帧内预测组合的预测模式的情况(例如,ciip_flag为0的情况)时,解码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,当ciip_flag为0时,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。当ciip_flag为1时,可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
另外,作为实施方式,DMVR的预定应用条件可以包括当前块的大小等于或大于16×16的条件。换句话说,预定应用条件可以意指当前块的高度等于或大于16并且当前块的宽度等于或大于16的情况。
在这种情况下,当满足当前块的大小等于或大于16×16的情况时,解码设备可以导出DMVR标志信息为指示对当前块应用DMVR的值。例如,在当前块的大小等于或大于16×16的情况下,可以导出DMVR标志信息为指示对当前块应用DMVR的值(例如,1或真)。否则(即,在当前块的大小小于16×16的情况下),可以导出DMVR标志信息为指示不对当前块应用DMVR的值(例如,0或假)。
另外,根据实施方式,DMVR的预定应用条件可以包括启用基于DMVR的帧间双重预测的条件、对当前块应用基于L0参考图片和L1参考图片执行的双重预测的条件、当前图片与L0参考图片之间的第一图片顺序计数(POC)和当前图片与L1参考图片之间的第二POC差异彼此相同的条件、对当前块应用合并模式的条件、不对当前块应用运动向量差(MMVD)模式连同合并模式的条件等。
换句话说,可以确定DMVR的应用条件包括这些条件中的至少一个,并且可以基于所确定的DMVR应用条件来导出DMVR标志信息。在这种情况下,当确定DMVR应用条件包括一个或更多个条件时,如果满足所有预定DMVR应用条件,则解码设备导出DMVR标志信息的值为真或1,以确定对当前块应用DMVR。否则,如果甚至不满足DMVR的预定应用条件中的任一个,则可以导出DMVR标志信息的值为假或0。
这里,在导出DMVR标志信息时,所列出的DMVR应用条件仅仅是示例,并且上述表2至表42的条件可以以各种组合被使用。
当DMVR标志信息指示对当前块应用DMVR时(例如,当导出DMVR标志信息为真或1值时),解码设备对当前块应用DMVR,以基于L0运动向量和L1运动向量来导出修正的L0运动向量和修正的L1运动向量。
作为实施方式,解码设备通过使用基于L0运动向量导出的L0参考图片中的参考样本和基于L1运动向量导出的L1参考图片中的参考样本来计算最小绝对差之和(SAD)。另外,解码设备可以基于与最小SAD对应的样本位置来导出针对L0运动向量的修正的L0运动向量和针对L1运动向量的修正的L1运动向量。
这里,L0参考图片是L0参考图片列表中所包括的参考图片当中的L0参考图片索引所指示的参考图片,并且L1参考图片是L1参考图片列表中所包括的参考图片当中的L1参考图片索引所指示的参考图片。
此外,修正的L0运动向量可以是指示L0参考图片中的与最小SAD对应的样本位置的运动向量,并且修正的L1运动向量可以是指示L1参考图片中的与最小SAD对应的样本位置的运动向量。在图8和图9中详细地描述了通过应用DMVR来导出修正的运动向量的过程,所以在本文中将省略对其的描述。
解码设备可以基于修正的L0运动向量来导出当前块的L0预测样本,并且可以基于修正的L1运动向量来导出当前块的L1预测样本(S1520)。
这里,可以基于L0参考图片中的修正的L0运动向量所指示的参考样本来导出L0预测样本,并且可以基于L1参考图片中的修正的L1运动向量所指示的参考样本来导出L1预测样本。
解码设备可以通过基于指示是否对当前块应用BDOF的BDOF标志信息对当前块应用BDOF来基于L0预测样本和L1预测样本导出当前块的预测样本(S1530)。
在这种情况下,在导出预测样本时,解码设备可以通过考虑编码效率、复杂度、预测性能等来确定是否对当前块应用BDOF。换句话说,解码设备可以基于是否针对当前块满足了BDOF的预定应用条件对当前块应用BDOF。这里,BDOF的预定应用条件可以由以上表2至表42中描述的各种应用条件的一些(或全部)或特定组合构成。另外,解码设备可以根据是否满足BDOF的预定应用条件来导出BDOF标志信息。BDOF标志信息可以是指示是否对当前块应用BDOF的信息(例如,上述的bdofFlag)。
作为实施方式,BDOF的预定应用条件可以包括L0亮度权重预测标志信息和L1亮度权重预测标志信息二者的值均为0的条件。
在这种情况下,当满足L0亮度权重预测标志信息(例如,luma_weight_l0_flag)和L1亮度权重预测标志信息(例如,luma_weight_l1_flag)二者的值都为0的情况时,解码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,当luma_weight_l0_flag和luma_weight_l1_flag二者为0时,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则,可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括当前块的大小等于或大于16×16的条件。换句话说,预定应用条件可以意指当前块的高度等于或大于16并且当前块的宽度等于或大于16的情况。
在这种情况下,当满足当前块的大小等于或大于16×16的情况时,解码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,在当前块的大小等于或大于16×16的情况下,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则(即,在当前块的大小小于16×16的情况下),可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括当前块的高度等于或大于8的条件。
在这种情况下,当满足当前块的高度等于或大于8的情况时,解码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,在当前块的高度等于或大于8的情况下,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则(即,在当前块的高度小于8的情况下),可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括当前图片与L0参考图片之间的第一图片顺序计数(POC)和当前图片与L1参考图片之间的第二POC差异彼此相同的情况。
在这种情况下,当满足第一POC差异(例如,DiffPicOrderCnt(currPic,RefPicList0[refIdxL0]))与第二POC差异(例如,DiffPicOrderCnt(currPic,RefPicList1[refIdxL1]))彼此相同的情况时,解码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,当DiffPicOrderCnt(currPic,RefPicList0[refIdxL0])-DiffPicOrderCnt(currPic,RefPicList1[refIdxL1])为0时,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。否则,可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,作为实施方式,BDOF的预定应用条件可以包括不对当前块应用将帧间预测和帧内预测组合的预测模式(CIIP模式)的条件。
在这种情况下,当满足不对当前块应用将帧间预测和帧内预测组合的预测模式的情况(例如,ciip_flag为0的情况)时,解码设备可以导出BDOF标志信息为指示对当前块应用BDOF的值。例如,当ciip_flag为0时,可以导出BDOF标志信息为指示对当前块应用BDOF的值(例如,1或真)。当ciip_flag为1时,可以导出BDOF标志信息为指示不对当前块应用BDOF的值(例如,0或假)。
另外,根据实施方式,BDOF的预定应用条件可以包括启用基于BDOF的帧间预测的条件、对当前块应用基于L0参考图片和L1参考图片执行的双重预测的条件、当前块的双重预测权重索引信息的值为0的条件、不对当前块应用仿射模式的条件、不对当前块应用基于子块的合并模式的条件、当前块是亮度分量的条件等。
换句话说,可以确定BDOF的应用条件包括这些条件中的至少一个,并且可以基于所确定的BDOF应用条件来导出BDOF标志信息。在这种情况下,当确定BDOF应用条件包括一个或更多个条件时,如果满足所有预定BDOF应用条件,则解码设备导出BDOF标志信息的值为真或1,以确定对当前块应用BDOF。否则,如果甚至不满足BDOF的预定应用条件中的任一个,则可以导出BDOF标志信息的值为假或0。
这里,在导出BDOF标志信息时,所列出的BDOF应用条件仅仅是示例,并且上述表2至表42的条件可以以各种组合被使用。
当BDOF标志信息指示对当前块应用BDOF时(例如,当导出BDOF标志信息为真或1值时),解码设备可以通过对当前块应用BDOF来导出预测样本。
作为实施方式,解码设备可以计算针对基于修正的L0运动向量导出的L0预测样本的第一梯度和针对基于修正的L1运动向量导出的L1预测样本的第二梯度。另外,解码设备可以最终基于L0预测样本、L1预测样本、第一梯度和第二梯度来导出当前块的预测样本。作为一个示例,诸如上述式1至式6这样的计算可以用于通过应用BDOF来导出预测样本的过程。
解码设备可以基于预测样本来生成当前块的重构样本(S1540)。
作为实施方式,解码设备可以直接使用预测样本作为重构样本,或者通过将残差样本添加到预测样本来生成重构样本。
当存在当前块的残差样本时,解码设备可以接收关于当前块的残差的信息。关于残差的信息可以包括与残差样本相关的变换系数。解码设备可以基于残差信息来导出当前块的残差样本(或残差样本阵列)。解码设备可以基于预测样本和残差样本来生成重构样本,并且基于重构样本来导出重构块或重构图片。
在以上提到的实施方式中,虽然已基于以一系列步骤或单元的形式的流程图描述了这些方法,但是本公开的实施方式不限于这些步骤的顺序,并且这些步骤中的一些可以按与其它步骤的顺序不同的顺序执行或者可以与其它步骤同时地执行。此外,本领域技术人员将理解,用流程图示出的步骤不是排他性的,并且在不影响本公开的权利范围的情况下,这些步骤可以包括附加步骤或者可以删除流程图中的一个或更多个步骤。
根据本公开的上述方法可以用软件形式实现,并且根据本公开的编码设备和/或解码设备可以被包括在例如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、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波的形式(例如,通过互联网进行传输)实现的媒体。此外,使用编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线或无线通信网络传输。
此外,本公开的实施方式可以使用程序代码被实现为计算机程序产品。可以根据本公开的实施方式由计算机执行程序代码。程序代码可以被存储在可供计算机读取的载波上。
图16例示了可以应用本公开中公开的实施方式的内容流传输系统的一个示例。
参照图16,应用本文献的实施方式的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入装置输入的内容压缩成数字数据以生成比特流,并且将该比特流发送到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入装置直接生成比特流时,可以省略编码服务器。
可以通过应用本文件的实施方式的编码方法或比特流生成方法来生成比特流,并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
流传输服务器基于用户的请求通过网络服务器将多媒体数据发送到用户装置,并且网络服务器用作将服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,并且流传输服务器将多媒体数据发送到用户。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输系统中的装置之间的命令/响应。
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以将比特流存储达预定时间。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航仪、触屏PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字TV、台式计算机、数字标牌等。
内容流传输系统中的各个服务器可以作为分布式服务器操作,其中,从各个服务器接收到的数据可以被分发。
此外,应用本公开的实施方式的解码设备和编码设备可以被包括在数字装置中。“数字装置”包括例如能够执行发送、接收、处理和输出数据、内容、服务等中的至少一种的所有数字装置。这里,由数字装置处理数据、内容、服务等包括对数据、内容、服务等进行编码和/或解码的操作。数字装置通过利用有线/无线网络进行配对或连接(下文中,被称为“配对”)到另一数字装置、外部服务器等来发送/接收数据,并且在必要时转换数据。
例如,数字装置包括诸如网络TV、混合广播宽带TV(HBBTV)、智能TV、互联网协议电视(IPTV)、个人计算机(PC)等这样的所有常设装置以及诸如个人数字助理(PDA)、智能电话、平板PC、笔记本、VR/AR装置等这样的移动装置或手持装置。另外,数字装置可以包括多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信这样的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、(顶置)OTT视频装置、互联网流传输服务提供装置、三维(3D)视频装置、虚拟现实(VR)装置、增强现实(AR)装置、视频电话装置、运输工具终端(例如,车辆(包括自主车辆)终端、飞机终端、轮船终端等)和医疗视频装置等。
此外,本公开中描述的“有线/无线网络”被统称为支持数字装置之间或数字装置与外部服务器之间的互连和/或数据发送/接收的各种通信标准或协议的通信网络。有线/无线网络可以包括所述标准当前支持或未来将支持的通信网络及其通信协议二者,并且可以例如由诸如视频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、ZigBee、数字生活网络联盟(DLNA)、无线局域网(WLAN)(Wi-Fi)、无线宽带(Wibro)、世界微波访问互操作性(Wimax)、高速下行链路分组接入(HSDPA)、长期演进(LTE)或Wi-Fi直连这样的用于有线通信的通信标准或协议形成。
下文中,在本公开中,当仅被称为数字装置时,数字装置可以意指常设装置或移动装置,或者意指常设装置和移动装置二者。
此外,例如,作为支持广播接收功能、计算机功能或支持以及至少一个外部输入的智能装置的数字装置可以支持电子邮件、网页浏览、银行业务、游戏、应用等。此外,数字装置可以包括用于支持诸如手动输入装置、触摸屏、空间遥控器等这样的至少一个输入或控制装置(下文中,被称为输入装置)的接口。数字装置可以使用标准化的通用操作系统(OS)。例如,数字装置可以在通用OS内核上进行各种应用的添加、删除、修改、更新等,并且通过各种应用的添加、删除和修改来配置、构造和提供更加用户友好的环境。
此外,本公开中描述的外部输入包括所有输入装置或联接到外部输入装置的数字装置,即,通过有线/无线连接以有线/无线的方式发送/接收相关数据并且处理发送/接收的数据的数字装置。这里,外部输入包括例如诸如高清多媒体接口(HDMI)、诸如游戏机或X-box这样的游戏装置、智能电话、平板PC、打印机装置和智能TV这样的所有数字装置。
另外,在本公开中被描述为包括所有数字装置或者向客户端[0034](即,数字装置)供应数据的系统的含义的“服务器”也被称为处理器。例如,服务器可以包括提供网页或网络内容的门户服务器、提供广告数据的广告服务器、提供内容的内容服务器、提供社交网络服务(SNS)的SNS服务器、由制造商提供的服务服务器或制造服务器等。
除此之外,本公开中描述的意指用于发送/接收数据和广播信道的路径、手段等的“信道”可以被视为“信道”的示例。这里,根据数字广播的激活,广播信道被表示为诸如物理信道、虚拟信道、逻辑信道等这样的术语。广播信道可以被称为广播网络。如此,广播信道是指用于提供由广播站提供的广播内容或由接收器访问广播内容的信道,并且由于广播内容主要是基于实时广播的,因此广播信道也被称为直播信道。然而,近年来,用于广播的介质进一步多样化,并且除了实时广播之外,还激活了非实时广播,结果,直播信道可以仅仅被理解为意指除了实时广播之外在一些情况下还包括非实时广播的全部广播信道的术语。
在本公开中,除了广播信道之外,还与该信道关联地限定了“任意信道”。可以将任意信道与诸如电子节目指南(EPG)这样的服务指南以及广播信道和服务指南一起提供,可以将图形用户界面(GUI)或屏幕显示(OSD)画面仅用任意信道配置/提供。
此外,与具有在发送器和接收器之间预先约定的信道号的广播信道不同,任意信道是由接收器任意分配的信道,并且基本上没有与用于表示广播信道的信道号重复的信道号被分配给任意信道。例如,当调谐特定广播信道时,接收器通过调谐后的信道接收广播内容和用于发送针对广播内容的信令信息的广播信号。这里,接收器从信令信息中解析信道信息,并且基于解析后的信道信息来配置信道浏览器、EPG等并且将所配置的信道浏览器、EPG等提供给用户。当用户通过输入装置发出信道切换请求时,接收器是响应于信道切换请求的方案。
如此,由于广播信道是在发送器与接收器之间预先约定的内容,因此当与广播信道重复地分配任意信道时,引起用户的混乱或者存在混乱的可能性,结果,如上所述重复地分配信道并不是优选的。此外,由于如上所述,即使没有与广播信道重复地分配任意信道号,在用户的信道浏览过程中也仍然存在混乱的可能性,因此需要通过考虑混乱可能性来分配任意信道号。原因在于,响应于与常规广播信道类似地用户通过输入装置进行的信道切换请求,根据本公开的实施方式的任意信道也可以被实现为如同广播信道类似地被接入。因此,任意信道号可以被限定并表示为诸如任意信道-1、任意信道-2等这样的带符号的形式,而非如同广播信道的数字形式,以便接入任意信道并且以便相对于广播信道号的区分或标识。此外,在这种情况下,即使任意信道号的表示可以是诸如任意信道-1这样的带符号的形式,该任意信道号也可以在接收器中内部地被识别并实现为诸如广播信道的编号这样的数字形式。此外,任意信道号可以被设置为如同广播信道的数字形式,并且可以通过可以与诸如视频内容信道-1、标题-1、视频-1等这样的广播信道区分开的各种方案限定并表示信道号。
数字装置执行用于网络服务的网络浏览器,以向用户提供各种形式的网页。这里,网页还包括包含视频内容的网页,并且在本公开的实施方式中,视频内容被分离并且与网页分开或独立地处理。另外,任意信道号可以被分配给分离后的视频内容,并且可以通过服务指南提供分离后的视频内容,并且用户可以根据服务指南中的信道切换请求或广播信道观看过程来实现要输出的分离后的视频内容。此外,即使对于诸如广播内容、游戏、应用等这样的服务,除了网络服务之外,预定内容、图像、音频、条目等也可以被分离并被独立于广播内容、游戏或应用本身处理,并且任意信道号可以被分配用于再现、处理等并被如上所述地实现。
图17是示意性地例示了包括数字装置的服务系统的一个示例的示图。
包括数字装置的服务系统的示例包括内容提供商(CP)1710、服务提供商(SP)1720、网络提供商(NP)1730和家庭网络终端用户(HNED)(客户)1740。这里,HNED 1740是例如客户端1700,即,数字装置。内容提供商1710产生并提供各种内容。如图17中例示的,作为内容提供商1710,地面广播商、有线系统运营商(SO)或多个系统运营商(SO)、卫星广播商、各种互联网广播商、私有内容提供商(CP)等可以被示例。此外,除了广播内容之外,内容提供商1710还提供各种应用等。
服务提供商1720对由内容提供商1710提供的内容进行服务打包,并且将该内容提供给HNED 1740。例如,图17的服务提供商1720将第一地面广播、第二地面广播、有线MSO、卫星广播、各种互联网广播、应用等打包并提供给HNED 1740。
服务提供商1720通过单播或多播方案向客户端1700提供服务。此外,服务提供商1720可以一次性将数据发送到多个预注册客户端1700,为此目的,服务提供商1720可以使用互联网组管理协议(IGMP)等。
内容提供商1710和服务提供商1720可以是同一或单个的实体。例如,内容提供商1710所提供的内容被服务打包并且被提供给HNED 1740,并且服务提供商1720的功能也可以一起执行,反之亦然。
网络提供商1730提供用于内容提供商1710或/和服务提供商1720与客户端1700之间的数据交换的网络。
客户端1700可以通过构造家庭网络来发送/接收数据。
此外,服务系统中的内容提供商1710或/和服务提供商1720可以使用条件访问或内容保护装置来保护所发送的内容。在这种情况下,响应于条件访问或内容保护,客户端1700可以使用诸如有线卡(部署点(POD))、可下载CAS(DCAS)等这样的处理装置。
此外,客户端1700可以通过网络(或通信网络)使用交互式服务。在这种情况下,客户端1700仍然可以执行内容提供商的功能,并且常规服务提供商1720可以接收该功能并且将接收到的功能再次发送到客户端。
图18是为了描述数字装置的一个实施方式而例示的框图。这里,图18可以对应于图17的客户端1700并且意指数字装置。
数字装置1800被配置为包括网络接口1801、TCP/IP管理器1802、服务传送管理器1803、SI解码器1804、解复用器1805、音频解码器1806、视频解码器1807、显示A/V和OSD模块1808、服务控制管理器1809、服务发现管理器1810、SI和元数据数据库1811、元数据管理器1812、服务管理器1813、UI管理器1814等。
网络接口1801通过网络接收或发送互联网协议(IP)分组。换句话说,网络接口1801通过网络从服务提供商1720接收服务、内容等。
TCP/IP管理器1802参与传送由数字装置1800接收的IP分组和由数字装置1800发送的IP分组,即,源与目的地之间的分组。另外,TCP/IP管理器1802对接收到的分组进行分类以对应于适当的协议,并且将分类后的分组输出到服务传送管理器1805、服务发现管理器1810、服务控制管理器1809、元数据管理器1812等。服务传送管理器1803负责控制接收到的服务数据。例如,当控制实时流传输数据时,服务传送管理器1803可以使用RTP/RTCP。当通过使用RTP发送实时流传输数据时,根据服务管理器1813的控制,服务传送管理器1803根据RTP来解析接收到的数据分组并且将解析后的数据分组发送到解复用器1805或者将所发送的数据分组存储在SI和元数据数据库1811中。另外,服务传送管理器1803通过使用RTCP来将网络接收信息反馈回提供服务的服务器。解复用器1805将接收到的分组解复用为音频、视频、系统信息(SI)数据等,并且分别将音频、视频、系统信息(SI)数据等发送到音频/视频解码器1806/1807和SI解码器1804。
例如,SI解码器1804对诸如节目特定信息(PSI)、节目和系统信息协议(PSIP)、数字视频广播-服务信息(DVB-SI)等这样的服务信息进行解码。
另外,SI解码器1804例如将解码后的服务信息存储在SI和元数据数据库1811中。例如,可以按用户的请求等通过对应配置来读取并使用所存储的服务信息。
音频/视频解码器1806/1807对由解复用器1805解复用的各个音频数据和视频数据进行解码。解码后的音频数据和视频数据通过显示器1808提供给用户。
例如,应用管理器可以被配置为包括UI管理器1814和服务管理器1813。应用管理器可以管理数字装置1800的整体状态并且提供用户界面,并且管理另一管理器。
UI管理器1814通过使用屏幕上显示(OSD)为用户提供图形用户界面(GUI)并且接收来自用户的键输入,并且根据该输入来执行装置操作。例如,当UI管理器1814从用户接收到用于信道选择的键输入时,UI管理器1814将键输入信号发送到服务管理器1813。
服务管理器1813控制诸如服务传送管理器1803、服务发现管理器1810、服务控制管理器1809、元数据管理器1812等这样的与服务关联的管理器。
另外,服务管理器1813创建信道图,并且根据从用户接口管理器1814接收到的键输入通过使用信道图来选择信道。另外,服务管理器1813从SI解码器1804接收信道的服务信息,并将所选择的信道的音频/视频分组标识符(PID)设置用于解复用器1805。所设置的PID被用于解复用过程。因此,解复用器1805通过使用PID来过滤音频数据、视频数据和SI数据。
服务发现管理器1810提供选择提供服务的服务提供商所需的信息。当从服务管理器1813接收到用于信道选择的信号时,服务发现管理器1810通过使用该信息来寻找服务。
服务控制管理器1809负责选择和控制服务。例如,当用户选择诸如常规广播商案这样的现场广播服务时,服务控制管理器1809使用IGMP或RTSP,并且当用户选择诸如视频点播(VOD)这样的服务时,服务控制管理器1809通过使用RTSP来执行服务的选择和控制。RTSP可以为实时流传输提供特技模式。另外,服务控制管理器209可以通过使用IP多媒体子系统(IMS)和会话发起协议(SIP)来通过IMS网关1850初始化并管理会话。协议可以是实施方式,并且可以根据实现示例来使用另一协议。
元数据管理器1812管理与服务关联的元数据并且将元数据存储在SI和元数据数据库1811中。
SI和元数据数据库1811存储由SI解码器1804解码的服务信息、由元数据管理器1812管理的元数据以及由服务发现管理器1810提供的用于选择服务提供商所需的信息。另外,SI和元数据数据库1811可以存储系统的设置数据等。
可以通过使用非易失性RAM(NVRAM)或闪存来实现SI和元数据数据库1811。
此外,IMS网关1850是收集访问基于IMS的IPTV服务所需的功能的网关。
图19是为了描述数字装置的另一实施方式而例示的框图。特别地,图19是作为数字装置的另一实施方式的移动装置的框图。
参照图19,移动装置1900可以包括无线通信单元1910、音频/视频(A/V)输入单元1920、用户输入单元1930、感测单元1940、输出单元1950、存储器1960、接口单元1970、控制单元1980和电源单元1990。图19中例示的组件不是必需的。因此,可以实现具有比其更多的组件或比其更少的组件的移动装置。
无线通信单元1910可以包括一个或更多个模块,所述一个或更多个模块使得能够在移动装置1900与无线通信系统之间或者在移动装置与移动装置所处的网络之间进行无线通信。例如,无线通信单元1910可以包括广播接收模块1911、移动通信模块1912、无线互联网模块1913、短距离通信模块1914和位置信息模块1915。
广播接收模块1911通过广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。这里,广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是用于生成并发送广播信号和/或广播相关信息的服务器或者用于接收先前生成的广播信号和/或广播相关信息并且将接收到的广播信号和/或广播相关信息发送到终端的服务器。广播信号可以包括TV广播信号、无线电广播信号和数据广播信号,并且甚至包括数据广播信号与TV广播信号或无线电广播信号相结合的类型的广播信号。
广播相关信息可以意指与广播信道、广播节目或广播服务提供商相关的信息。还可以甚至通过移动通信网络提供广播相关信息。在这种情况下,广播相关信息可以由移动通信模块1912来接收。
广播相关信息可以以例如诸如电子节目指南(EPG)或电子服务指南(ESG)这样的形式的各种形式存在。
例如,广播接收模块1911可以通过使用诸如ATSC、地面数字视频广播(DVB-T)、DVB-S(卫星)、仅媒体前向链路(MediaFLO)、DVB-H(手持式)、地面综合业务数字广播(ISDB-T)等这样的数字广播系统来接收数字广播信号。当然,除了数字广播系统以外,广播接收模块1911还可以被配置为适合于其它广播系统。
通过广播接收模块1911接收到的广播信号和/或广播相关信息可以被存储在存储器1960中。
移动通信模块1912在移动通信网络上与基站、外部终端和服务器中的至少一个进行至少一个无线电信号的发送/接收。取决于发送/接收语音信号、视频通信信号或文本/多媒体消息,无线电信号可以包括各种类型的数据。
无线互联网模块1913可以包括用于无线互联网接入的模块,并且可以内部或外部地构建在移动终端1900中。作为无线互联网技术,可以使用无线LAN(WLAN)(Wi-Fi)、无线宽带(Wibro)、全球微波接入互操作性(Wimax)、高速下行链路分组接入(HSDPA)等。
短距离通信模块1914表示用于短距离通信的模块。作为短距离通信技术,可以使用Bluetooth、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、ZigBee、RS-232、RS-485等。
作为用于获得移动装置1900的位置信息的模块的位置信息模块315可以包括作为示例的全球定位系统(GPS)模块。
用于输入音频信号或视频信号的A/V输入单元1920可以包括相机1921和麦克风1922。相机1921对图像传感器在视频通话模式或拍摄模式下所获得的诸如静止图像或移动图片这样的图像帧进行处理。处理后的图像帧可以被显示在显示单元1951上。
经相机1921处理的图像帧可以被存储在存储器1960中,或者通过无线通信单元1910被发送到外部。可以根据使用环境设置两个或更多个相机1921。
麦克风1922在呼叫模式或记录模式、语音识别模式等下由麦克风接收外部声音信号,并且将接收到的外部声音信号作为电子语音数据处理。在呼叫模式的情况下,可以将处理后的语音数据转换成可发送的形式,并且通过移动通信模块1912发送到移动通信基站。可以在麦克风1922中实现各种噪声去除算法,以去除在接收外部声音信号时产生的噪声。
用户输入单元1930生成用户用于控制终端的操作的输入数据。用户输入单元1930可以包括键盘、圆顶开关、触摸板(电阻/电容式)、滚轮、拨动开关等。
感测单元1940通过感测诸如移动装置1900的打开/闭合状态、移动装置1900的位置、用户接触的存在、移动装置的方位、移动装置的加速度/减速度等这样的移动装置300的当前状态来生成针对移动装置1900的操作控制的感测信号。例如,当移动装置1900移动或倾斜时,可以感测移动装置的位置或倾斜。另外,还可以感测电源单元1990是否供应电力、接口单元1970是否与外部装置组合等。此外,感测单元1940可以包括包含近场通信(NFC)的接近传感器1941。
用于生成与视觉、听觉或触摸相关的输出的输出单元1950可以包括显示器1951、声音输出模块1952、警报单元1953和触觉模块1954。
显示器1951显示(输出)经移动装置1900处理的信息。例如,当移动装置处于呼叫模式下时,显示单元1951显示与呼叫关联的用户界面(UI)或图形用户界面(GUI)。当移动装置1900处于视频通话模式或拍摄模式下时,显示器1951显示所拍摄和/或接收到的图像或UI和GUI。
显示器1951可以包括液晶显示器(LCD)、薄膜晶体管-液晶显示器(TFT-LCD)、有机发光二极管(OLED)、柔性显示器和3D显示器中的至少一种。
它们当中的一些显示器可以被配置为透明类型或透光类型,以通过显示器观看外部。这可以被称为透明显示器,并且透明显示器的代表性示例包括透明OLED(TOLED)等。显示单元1951的后部结构也可以被配置为透光结构。通过这种结构,用户可以通过终端主体的显示单元1951所占据的区域看到位于终端主体后方的物体。
根据移动终端1900的实现形式,可以存在两个或更多个显示器1951。例如,在移动装置1900中,多个显示器可以彼此分开或者一体地设置在一个表面上,并且可以进一步分别设置在不同的表面上。
当显示器1951和传感器(下文中,被称为“触摸传感器”)形成相互层结构(下文中,被称为“触摸屏”)时,显示器1951可以除了用作输出设备之外还用作输入设备。触摸传感器可以采取例如触摸膜、触摸片、触摸板等的形式。
触摸传感器可以被配置为将施加于显示单元1951的特定部分的压力或从显示单元1951的特定部分处产生的电容的变化转换成电输入信号。除了被触摸的位置和区域之外,触摸传感器还可以被配置为检测触摸压力。
当对触摸传感器进行了触摸输入时,与该触摸输入对应的信号被发送到触摸控制器。触摸控制器处理信号,此后将与此对应的数据发送到控制器1980。结果,控制器1980可以得知显示器1951的哪个区域被触摸。
接近传感器1941可以设置在移动装置的被触摸屏覆盖的内部区域中或者在触摸屏附近。接近传感器是指在不使用电磁场力或红外线进行机械接触的情况下检测是否存在靠近预定检测表面的物体或存在于附近的物体的传感器。接近传感器具有比触摸传感器长的使用寿命和高的利用率。
接近传感器的示例包括透射型光电传感器、直接反射型光电传感器、镜面反射型光电传感器、高频振荡型接近传感器、电容型接近传感器、磁型接近传感器、红外线接近传感器等。当触摸屏是电容型传感器时,触摸屏被配置为通过电场根据指点器的接近的变化来检测指点器的接近。在这种情况下,触摸屏(触摸传感器)可以被归类为接近传感器。
下文中,为了便于描述,在指点器未与触摸屏接触的同时识别指点器处于触摸屏上的动作被称为“接近触摸”,并且在屏幕上实际上触摸指点器的动作被称为“接触触摸”。在触摸屏上接近地触摸指点器的位置是指在指点器被触摸时指点器垂直地对应于触摸屏的位置。
接近传感器检测接近触摸和接近触摸模式(例如,接近触摸距离、接近触摸方向、接近触摸速度、接近触摸时间、接近触摸位置、接近触摸移动状态等)。与感测到的接近触摸操作和接近触摸模式对应的信息可以被输出在触摸屏上。
声音输出模块1952可以在呼叫信号接收模式、呼叫模式或记录模式、语音识别模式、广播接收模式等下输出从无线通信单元1910接收到的或者存储在存储器1960中的音频数据。声音输出模块1952还可以输出与移动装置1900所执行的功能相关的声音信号(例如,呼叫信号接收声音、消息接收声音等)。声音输出模块1952可以包括受话器、扬声器、蜂鸣器等。
警报单元1953输出用于通知发生了移动装置1900的事件的信号。在移动装置中发生的事件的示例包括呼叫信号接收、消息接收、键信号输入、触摸输入等。警报单元1953还可以输出除了视频信号或音频信号之外的另一种形式,例如,用于通过振动来通知事件发生的信号。
视频信号或音频信号可以通过显示单元1951或声音输出模块1952输出,使得显示器1951与显示器1951和声音输出模块1952可以被归类为警报单元153的一部分。
触觉模块1954产生用户可以感觉到的各种触觉效果。由触觉模块1954产生的触觉效果的典型示例是振动。触觉模块1954所产生的振动的强度和模式是可控的。例如,不同的振动可以被组合并输出或者被依次输出。
除了振动之外,触觉模块1954还可以提供各种触觉效果,其包括由包括针布置相对于接触皮肤表面垂直地移动、通过喷射口或吸气口的空气的喷射力或吸力、与电极、静电力等接触的皮肤表面上的触摸等的刺激带来的效果以及使用热吸收或可加热元件来再现冷感的效果。
触觉模块1954可以不仅被实现为通过直接接触来传递触觉效果,而且使得用户能够通过手指或手臂的肌肉来感觉触觉效果。可以根据移动装置1900的配置方面来设置至少两个触觉模块1954。
存储器1960可以将控制器1980的运动的程序存储在其中,并且将输入/输出数据(例如,电话簿、消息、静止图像、移动图片等)暂时存储在其中。存储器1960可以存储关于响应于触摸屏上的触摸输入而输出的振动和声音的各种模式的数据。
存储器1960可以包括闪存型存储介质、硬盘型存储介质、多媒体卡微型存储介质、卡型存储器(例如,SD或XD存储器等)、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁存储器、磁盘和光盘中的至少一种类型的存储介质。移动装置1900可以与在互联网上执行存储器1960的存储功能的网络存储器相结合地操作。
接口单元1970用作与连接到移动装置1900的所有外部装置的通道。接口单元1970发送来自外部装置的数据或者接收电力,以将电力传递到移动装置1900中的每个组件,或者将移动装置1900中的数据发送到外部装置。例如,无线/有线头戴式耳机端口、外部充电器端口、有线/无线数据端口、存储器卡端口、将装置与标识模块连接的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等可以被包括在接口单元1970中。
作为用于存储用于对外部装置1900的使用权限进行认证的各种信息的芯片的识别模块可以包括用户识别模块(UIM)、订户识别模块(SIM)、全球订户识别模块(USIM)等。具有识别模块的设备(下文中,被称为“识别设备”)可以以智能卡的格式制造。因此,识别装置可以经由端口与终端1900连接。
接口单元1970可以变为当移动终端1900连接到外部托架时来自托架的电力通过其被供应到移动终端1900的通道,或者可以是用户从托架输入的各种命令信号通过其被传送到移动终端的通道。从托架输入的各种命令信号或电力可以用作用于识别移动终端被正确地安装在托架上的信号。
控制器1980总体上控制移动装置的所有操作。例如,控制器1980执行用于语音呼叫、数据通信、视频通话等的相关控制和处理。控制器1980可以包括用于再现多媒体的多媒体模块1981。多媒体模块1981可以在控制器1980中实现或者与控制器1980分开实现。控制器1980,特别是多媒体模块1981可以包括编码设备和/或解码设备。
控制器1980可以执行模式识别处理,以将在触摸屏上执行的写输入或绘图输入识别为文本或图像。
电源单元1990通过控制器1980的控制来接收外部电力和内部电力,以供应相应组件的操作所需的电力。
本文中所描述的各种实施方式可以通过使用例如软件、硬件或其组合在与计算机相似的装置可读取的计算机可读记录介质或记录介质中实现。
根据硬件实现方式,可以通过使用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和用于执行其它功能的电气单元中的至少一个来实现本文中描述的实施方式。在一些情况下,可以由控制器1980本身来实现本说明书中描述的实施方式。
根据软件实现方式,可以通过单独的软件模块来实现诸如在说明书中描述的过程和功能这样的实施方式。各个软件模块可以执行在说明书中描述的一个或更多个功能和操作。软件代码可以由按适当的编程语言编写的软件应用来实现。这里,软件代码可以被存储在存储器1960中并且由控制器1980执行。
图20示意性地例示了用于提供其中可以利用本公开的实施方式的3D图像/视频服务的架构。这可以代表360°或全向视频/图像处理系统。另外,例如,这可以在扩展现实(XR)支持装置中实现。换句话说,该系统可以提供用于向用户提供虚拟现实的方法。
虚拟现实(VR)、增强现实(AR)和混合现实(MR)被统称为扩展现实。VR技术仅用CG图像提供真实世界的物体和背景,AR技术将虚拟生成的CG图像在真实物体图像上一起提供,并且MR技术是通过将虚拟物体混合并组合到真实世界中的计算机图形技术。
MR技术与AR技术的相似之处在于,真实物体和虚拟物体被一起示出。然而,AR技术与MR技术的不同之处在于,在AR技术中,虚拟物体被用作补充真实物体的形式,而在MR技术中,虚拟物体和真实物体以同等方式被使用。
XR技术可以被应用于头戴式显示器(HMD)、平视显示器(HUD)、蜂窝电话、平板PC、膝上型计算机、台式计算机、TV、数字标牌等,并且应用XR技术的装置可以被称为XR装置。XR装置可以包括随后将描述的第一数字装置和/或第二数字装置。
360°内容可以意指用于实现并提供VR的所有内容,并且包括360°视频和/或360°音频。360°视频可以意指提供VR所需的视频或图像内容,并且在所有方向(360°或更小)上被捕获或再现。下文中,360°视频可以意指360°音频。作为用于提供VR的音频内容的360°音频还可以意指空间音频内容,在该空间音频内容中可以察觉到声音生成部位位于3D特定空间中。可以针对用户生成、处理并发送360°内容,并且用户可以使用360°内容来消费VR体验。360°视频可以被称为全向视频,并且360°图像可以被称为全向图像。另外,在下文中,将基于360°视频来描述实施方式,并且本公开的实施方式不限于VR,并且可以包括诸如AR、MR等这样的视频/图像内容的处理。360°视频可以意指根据3D模型以各种形式的3D空间呈现的视频或图像,例如,360°视频可以在球面上呈现。
这种方法具体地提出了用于有效地提供360°视频的方法。为了提供360°视频,首先,可以通过一个或更多个相机捕获360°视频。可以通过一系列过程来发送所捕获的360°视频,并且接收方可以将所接收的数据再次处理成原始的360°视频并且渲染360°视频。据此,360°视频可以被提供给用户。
具体地,提供360°视频的所有过程可以包括捕获过程、准备过程、发送过程、处理过程、渲染过程和/或反馈过程。
捕获过程可以意指通过一个或更多个相机来捕获针对多个视点中的每一个的图像或视频的过程。可以通过捕获过程来生成所例示的图20的诸如参考标号2010这样的图像/视频数据。所例示的图20的参考标号2010的每个平面可以意指针对每个视点的图像/视频。所捕获的多个图像/视频可以被称为(原始)数据。可以在捕获过程期间生成与捕获相关的元数据。
为了进行捕获,可以使用可以用于VR的专用相机。根据实施方式,当旨在提供由计算机创建的虚拟空间的360°视频时,可以不执行通过实际相机进行的捕获。在这种情况下,捕获过程可以仅被生成相关数据的过程替换。
准备过程可以是对所捕获的图像/视频以及在捕获过程中生成的元数据进行处理的过程。在准备过程期间,所捕获的图像/视频可以经历拼接过程、投影过程、逐区域打包过程和/或编码过程。
首先,可以使相应的图像/视频经历拼接过程。拼接过程可以是通过连接相应的所捕获的图像/视频来创建一个全景图像/视频或球形图像/视频的过程。
此后,可以使拼接后的图像/视频经历投影过程。在投影过程期间,可以将拼接后的图像/视频投影到2D图像上。可以根据上下文将2D图像称为2D图像帧。用2D图像投影可以被称为映射到2D图像。所投影的图像/视频数据可以成为所例示的图20的参考编号2020的2D图像的形式。
投影到2D图像上的视频数据可以经历逐区域打包过程,以便提高视频编码效率。逐区域打包可以意指针对各个区域划分并处理投影到2D图像上的视频数据的过程。这里,区域可以意指在其上投影了360°视频数据的2D图像被划分成的区域。根据实施方式,可以通过均等地划分2D图像来区分区域,或者通过随机地划分2D图像来区分区域。另外,根据实施方式,可以根据投影方案来区分区域。在准备过程期间,可以省略作为可选过程的逐区域打包过程。
根据实施方式,处理过程可以包括在2D图像上旋转各个区域或重新布置各个区域以便提高视频编码效率的过程。例如,通过旋转区域以提高编码效率来将区域的特定边定位成彼此紧密接近。
根据实施方式,处理过程可以包括增大或减小特定区域的分辨率以便将360°视频上的每个区域的分辨率区分开的过程。例如,与360°视频上的相对更重要的区域对应的区域可以具有比其它区域高的分辨率。可以通过视频编解码器使投影到2D图像上的视频数据或针对各个区域打包后的视频数据经历编码过程。
根据实施方式,准备过程还可以附加地包括编辑过程。还可以在编辑过程期间执行对投影之前和之后的图像/视频数据的编辑。类似地,甚至在准备过程期间,也可以生成针对拼接/投影/编码/编辑的元数据。此外,可以生成关于投影在2D图像或所关注区域(ROI)上的视频数据的初始时间的元数据。
发送过程可以是处理并发送经历了准备过程的元数据和图像/视频数据的过程。为了发送,可以根据随机传输协议进行处理。可以通过广播网络和/或宽带来传送已完成针对发送的处理的数据。可以以按需方案将数据传送到接收方。接收方可以通过各种路径接收对应数据。
处理过程可以意指对接收到的数据进行解码并且将所投影的图像/视频数据重新投影到3D模型上的过程。在该过程期间,投影到2D图像上的图像/视频数据可以被重新投影到3D空间上。可以根据上下文,将该过程称为映射或投影。在这种情况下,根据3D模型,映射的3D空间可以具有不同的形式。例如,3D模型可以具有球体、立方体、圆柱体或角锥体。
根据实施方式,处理过程还可以附加地包括编辑过程、放大过程等。还可以在编辑过程期间执行对重新投影之前和之后的图像/视频数据的编辑。当图像/视频数据减少时,可以通过在放大过程期间将样本进行放大来增大图像/视频数据的大小。如有必要,可以执行通过缩小来减小大小的操作。
渲染过程可以意指渲染并显示重新投影到3D空间上的图像/视频数据的过程。根据该表达式,重新投影和渲染被组合以表示为3D模型上的渲染。重新投影到3D模型上(或在3D模型上渲染)的图像/视频可以具有诸如所例示的图20的参考标号2030这样的形式。所例示的图20的参考标号2030表示图像/视频被重新投影到球形3D模型的情况。用户可以通过VR显示器等观看渲染后的图像/视频的部分区域。在这种情况下,用户所观看的区域可以具有所例示的诸如图20的附图标记2040这样的形式。
反馈过程可以意指将可以在显示过程中获得的各种反馈信息传送到发送方的过程。可以通过反馈过程在消费360°视频时提供交互性。根据实施方式,可以在反馈过程期间将头部方位信息、指示用户当前观看的区域的视口信息等传送到发送方。根据实施方式,用户可以与在VR环境中实现的交互,并且在这种情况下,可以在反馈过程期间将与交互相关的信息传送到发送方或服务提供商。根据实施方式,可以不执行反馈过程。
头部方位信息可以意指关于用户的头部、位置、角度、运动等的信息。基于该信息,可以计算关于用户当前在360°视频中观看的区域的信息,即,视口信息。
视口信息可以是关于用户当前在360°视频中观看的区域的信息。通过该信息,执行凝视分析,以识别用户以哪种方法消费360°视频、用户凝视360°视频的哪个区域以及用户凝视该区域中的多少等。凝视分析可以由接收方执行,并且通过反馈信道被传送到发送方。诸如VR显示器这样的设备可以基于用户头部的位置/方向、该设备所支持的垂直或水平视场(FOV)信息等来提取视口区域。
此外,可以基于子图片来处理360°视频/图像。包括2D图像的投影图片或打包图片可以被划分成子图片,并且可以以子图片为单位执行处理。例如,可以根据用户视口等将高分辨率赋予特定的子图片,或者可以仅将特定的子图像编码并发信号通知给接收设备(解码设备)。在这种情况下,解码设备可以接收子图片比特流,并且重构/解码特定的子图片,并且根据用户视口来渲染子图片。
根据实施方式,反馈信息可以被传送到发送方并且被接收方消费。换句话说,可以通过使用反馈信息来执行接收方的解码、重新投影、渲染过程等。例如,可以优先地使用头部方位信息和/或视口信息仅对用户当前观看的区域的360°视频进行解码和渲染。
这里,视口或视口区域可以意指用户在360°视频中观看的区域。作为用户在360°视频中观看的点的视点可以意指视口区域的盲中心。换句话说,视口可以是以视点为中心的区域,并且该区域的大小、形式等可以由视场(FOV)来确定。
在用于提供360°视频的整个架构中,经历诸如捕获/投影/编码/发送/解码/重新投影/渲染这样的一系列过程的图像/视频数据可以被称为360°视频数据。术语“360°视频数据”也可以被用作包括与图像/视频数据相关的元数据或信令信息的概念。
为了存储并发送诸如音频或视频这样的媒体数据,可以限定标准化的媒体文件格式。根据实施方式,媒体文件可以具有以基于ISO的媒体文件格式(BMFF)为基础的文件格式。
图21是示意性地描述了可以应用该方法的第一数字装置的配置的示图。第一数字装置可以对应于用于提供诸如VR/AR内容这样的3D图像/视频服务的发送方。第一数字装置可以包括以上在本公开中描述的编码设备。编码设备可以被包括在数据编码器中或者可以对应于数据编码器。
第一数字装置可以执行与准备过程或发送过程相关的操作。第一数字装置可以包括数据输入单元、拼接器、投影处理单元、逐区域打包处理单元(未例示)、元数据处理单元、(发送方)反馈处理单元、数据编码器、封装处理单元、传输处理单元和/或发送器作为内部/外部元件。
数据输入单元可以接收各个逐视点捕获的图像/视频。逐视点的图像/视频可以是由一个或更多个相机捕获的图像/视频。另外,数据输入单元可以接收在捕获过程期间生成的元数据。数据输入单元可以将逐视点输入的图像/视频传送到拼接器,并且将捕获过程期间的元数据传送到信令处理单元。
拼接器可以针对逐视点捕获的图像/视频执行拼接操作。拼接器可以将拼接后的360°视频数据传送到投影处理单元。拼接器可以从元数据处理单元接收所需的元数据,并且如有必要将接收到的元数据用于拼接操作。拼接器可以将在拼接过程期间生成的元数据传送到元数据处理单元。拼接过程期间的元数据可以包括关于是否执行拼接、拼接类型等的信息。
投影处理单元可以将拼接后的360°视频数据投影到2D图像上。投影处理单元可以根据各种方案来执行投影,以下将对此进行描述。投影处理单元可以通过考虑针对各个视点的360°视频数据的对应深度来执行映射。投影处理单元可以从元数据处理单元接收所需的元数据,并且如有必要将接收到的元数据用于投影操作。投影处理单元可以将在投影过程期间生成的元数据传送到元数据处理单元。投影处理单元的元数据可以包括投影方案的类型等。
逐区域打包处理单元(未例示)可以执行逐区域打包过程。换句话说,逐区域打包处理单元可以执行诸如针对各个区域划分投影的360°视频数据、旋转或重新布置各个区域、改变各个区域的分辨率等这样的处理。如上所述,逐区域打包过程可以是可选的过程,并且当不执行逐区域打包时,可以省略逐区域打包处理单元。逐区域打包处理单元可以从元数据处理单元接收逐区域打包所需的元数据,并且如有必要将接收到的元数据用于逐区域打包操作。逐区域打包处理单元可以将在逐区域打包过程期间生成的元数据传送到元数据处理单元。逐区域打包处理单元的元数据可以包括各个区域的旋转度、大小等。
根据实施方式,拼接器、投影处理单元和/或逐区域打包处理单元可以在一个硬件组件中执行。
元数据处理单元可以对可以在捕获过程、拼接过程、投影过程、逐区域打包过程、编码过程、封装过程和/或发送处理过程中生成的元数据进行处理。元数据处理单元可以使用元数据来生成360°视频相关元数据。根据实施方式,元数据处理单元可以以信令表的形式生成360°视频相关元数据。根据信令上下文,360°视频相关元数据可以被称为元数据或360°视频相关信令信息。另外,元数据处理单元可以根据需要将所获得或生成的元数据传送到第一数字装置的内部元件。元数据处理单元可以将360°视频相关的元数据传送到数据编码器、封装处理单元和/或发送处理单元,以便将360°视频相关元数据发送到接收方。
数据编码器可以对投影到2D图像上的360°视频数据和/或逐区域打包的360°视频数据进行编码。可以以各种格式对360°视频数据进行编码。投影到2D图像上的360°视频数据和/或逐区域打包的360°视频数据可以对应于编码设备的(基于2D的)输入图片。在这种情况下,基于本公开的实施方式中提出的方法,一个或一系列输入图片可以被编码并作为比特流形式输出。比特流可以被包括在360°视频数据中。
封装处理单元可以将360°视频数据和/或360°视频相关元数据封装成诸如文件等这样的形式。这里,可以从元数据处理单元传送360°视频相关元数据。封装处理单元可以以诸如ISOBMFF、CFF等这样的文件格式封装对应的数据,或者可以以其它DASH片段等的形式进行处理。根据实施方式,封装处理单元可以形成文件格式的360°视频相关元数据。例如,360°视频相关元数据可以被包括在ISOBMFF文件格式的各层的盒中,或者被包括作为文件中的单独轨道中的数据。根据实施方式,封装处理单元可以将与360°视频相关元数据本身封装在文件中。发送处理单元可以对根据文件格式封装的360°视频数据执行发送处理。发送处理单元可以根据随机传输协议来处理360°视频数据。发送处理可以包括通过广播网络进行的传送处理和通过宽带进行的传送处理。根据实施方式,除了360°视频数据之外,发送处理单元还可以从元数据处理单元接收360°视频相关元数据,并且对接收到的360°视频相关元数据执行发送处理。
发送器可以通过广播网络和/或宽带发送经发送处理的360°视频数据和/或360°视频相关元数据。发送器可以包括用于通过广播网络进行处理的元件和/或用于通过宽带进行发处理的元件。
通过根据该方法的第一数字装置的实施方式,第一数字装置还可以包括数据存储器(未例示)作为内部/外部元件。数据存储器可以在将编码后的360°视频数据和/或360°视频相关元数据传送到发送处理单元之前存储编码后的360°视频数据和/或360°视频相关元数据。存储数据的形式可以是诸如ISOBMFF等这样的文件格式。当实时地发送360°视频时,可能不需要数据存储器,但是当通过按需、非实时(NRT)、宽带等传送360°视频时,封装后的360°数据可以在预定时段期间被存储在数据存储器中之后被发送。
通过根据该方法的第一数字装置的另一实施方式,第一数字装置还可以包括(发送方)反馈处理单元和/或网络接口(未例示)作为内部/外部元件。网络接口可以根据该方法从第二数字装置接收反馈信息,并且将该反馈信息传送给发送方反馈处理单元。发送方反馈处理单元可以将反馈信息传送到拼接器、投影处理单元、逐区域打包处理单元、数据编码器、封装处理单元、元数据处理单元和/或发送处理单元。根据实施方式,反馈信息可以被一次性传送到元数据处理单元,然后再次被传送到各个内部元件。接收反馈信息的内部元件可以在对360°视频数据的后续处理中反映反馈信息。
通过根据该方法的第一数字装置的又一实施方式,逐区域打包处理单元可以将2D图像上的各个区域和旋转后的区域旋转。在这种情况下,相应区域可以在不同的方向上以不同的角度旋转并且被映射到2D图像上。在将360°视频数据投影到球面上之前,可以通过考虑相邻部分、拼接部分等来执行区域的旋转。可以通过360°视频相关元数据发信号通知关于区域的旋转的信息(即,旋转方向、旋转角度等)。通过根据本公开的第一数字装置的又一实施方式,数据编码器可以针对各个区域不同地执行编码。数据编码器可以针对具有高质量的特定区域和具有低质量的另一区域执行编码。发送方反馈处理单元将从360°视频接收设备传送的反馈信息传送到数据编码器,以使得数据编码器能够使用逐区域区分的编码方法。例如,发送方反馈处理单元可以将从接收方传送的视口信息传送到数据编码器。数据编码器可以以比其它区域高的质量(UHD)对包括视口信息所指示的区域的区域执行编码。
通过根据该方法的第一数字装置的又一实施方式,发送处理单元可以针对各个区域不同地执行发送处理。发送处理单元可以通过针对各个区域应用不同的发送参数(调制阶数、编码速率等)来区分针对各个区域传送的数据的鲁棒性。
在这种情况下,发送方反馈处理单元传送从第二数字装置传送的反馈信息,以使得发送处理单元执行逐区域区分的发送处理。例如,发送方反馈处理单元可以将从接收方传送的视口信息传送到发送处理单元。发送处理单元可以对包括对应视口信息所指示的区域的区域执行发送处理,以便具有比其它区域高的鲁棒性。
根据该方法的第一数字装置的内部/外部元件可以是被实现为硬件的硬件元件。根据实施方式,内部/外部元件可以被改变和省略,或者可以被其它元件替换并且被集成在其它元件中。根据实施方式,可以向第一数字装置添加附加元件。
图22是示意性地描述了可以应用该方法的第二数字装置的配置的示图。第二数字装置可以对应于用于提供诸如VR/AR内容这样的3D图像/视频服务的接收方。第二数字装置可以包括以上在本公开中描述的解码设备。解码设备可以被包括在数据解码器中或者可以对应于数据解码器。
根据该方法的第二数字装置可以执行与处理过程和/或渲染过程相关的操作。第二数字装置可以包括接收单元、接收处理单元、解封装处理单元、数据编码器、元数据解析器、(接收方)反馈处理单元、重新投影处理单元和/或渲染器作为内部/外部元件。此外,信令解析器可以被称为元数据解析器。
接收单元可以根据该方法接收由第一数字装置发送的360°视频数据。接收单元可以根据所发送的信道通过广播网络接收360°视频数据,并且通过诸如宽带这样的通信网络来接收360°视频数据。
接收处理单元可以根据针对所接收的360°视频数据的传输协议来执行处理。接收处理单元可以执行发送处理单元的相反过程,以对应于在发送方进行发送处理的过程。接收处理单元可以将所获得的360°视频数据传送到解封装处理单元并且将所获得的360°视频相关元数据传送到元数据解析器。通过接收处理单元获得的360°视频相关元数据可以是信令表的形式。
解封装处理单元可以对从接收处理单元传送的文件形式360°视频数据进行解封装。解封装处理单元根据ISOBMFF对文件解封装,以获得360°视频数据或360°视频相关元数据。所获得的360°视频数据可以被传送到数据解码器,并且可以将所获得的360°视频相关元数据传送到元数据解析器。通过解封装处理单元获得的360°视频相关元数据可以是文件格式的盒或轨道形式。如有必要,解封装处理单元可以从元数据解析器接收从元数据解封装所需的元数据。
数据解码器可以对360°视频数据执行解码。数据解码器从360°视频数据中获得图像/视频相关比特流,并对比特流进行解码以解码/重构一个或一系列(2D)图片。
数据解码器可以从元数据解析器接收解码所需的元数据。在数据解码过程期间获得的360°视频相关元数据可以被传送到元数据解析器。
元数据解析器可以对360°视频相关元数据执行解析/解码。元数据解析器可以将所获得的元数据传送到数据解封装处理单元、数据解码器、重新投影处理单元和/或渲染器。
重新投影处理单元可以对360°视频数据的解码/重构的2D图片执行重新投影。重新投影处理单元可以将2D图片重新投影到3D空间。根据3D模型,3D空间可以具有不同的形式。重新投影处理单元可以从元数据解析器接收重新投影所需的元数据。例如,重新投影处理单元可以从元数据解析器接收所使用的3D模型的类型和关于其详细信息的信息。根据实施方式,重新投影处理单元可以通过使用重新投影所需的元数据来仅将与3D空间中的特定区域对应的360°视频数据(的解码后/重构的图片的区域)重新投影到3D空间。
渲染器可以渲染重新投影后的360°视频(或图像)。如上所述,可以表示将360°视频被渲染到3D空间,如此,当一次性出现两个过程时,并入重新投影处理单元和渲染器,并且渲染器可以执行所有过程。根据实施方式,渲染器可以根据用户的视点信息仅渲染用户所观看的部分。
用户可以通过VR显示器等观看渲染后的360°视频的部分区域。作为再现360°视频的装置的VR显示器可以被包括在第二数字装置中(捆绑),并且可以将单独的装置连接到第二数字装置(未捆绑)。
通过根据该方法的第二数字装置的实施方式,第二数字装置还可以包括(接收方)反馈处理单元和/或网络接口(未例示)作为内部/外部元件。接收方反馈处理单元可以从渲染器、重新投影处理单元、数据解码器、解封装处理单元和/或VR显示器获得反馈信息,并且处理该反馈信息。该反馈信息可以包括视口信息、头部方位信息、凝视信息等。网络接口可以从接收方反馈处理单元接收反馈信息,并且将接收到的反馈信息发送到第一数字装置。
如上所述,反馈信息可以被传送到发送方,并且被接收方消费。接收方反馈处理单元可以将所获得的反馈信息传送到第二数字装置的内部元件,并且将所传送的反馈信息反映到诸如渲染等这样的过程。接收方反馈处理单元可以将反馈信息传送到渲染器、重新投影处理单元、数据解码器和/或解封装处理单元。例如,渲染器可以通过使用反馈信息来优先渲染用户观看的区域。另外,解封装处理单元、数据解码器等可以优先解封装和解码用户观看的区域或用户将观看的区域。
根据该方法的第二数字装置的内部/外部元件可以是被实现为硬件的硬件元件。根据实施方式,内部/外部元件可以被改变和省略,或者可以被其它元件替换并且被集成在其它元件中。根据实施方式,可以向第二数字装置添加附加元件。
XR装置通过分析通过各种传感器或者从外部装置获得的3D点云数据或图像数据来生成3D点云的位置数据和属性数据,以获得关于周围空间或真实物体的信息,并且渲染并输出要输出的XR对象。例如,XR装置可以输出包括关于所识别的物体的附加信息的XR对象,以对应于对应识别的物体。
XR装置可以通过网络远程地访问和/或远程地调整自主车辆。在这种情况下,自主车辆与使用XR装置的用户共享视图或画面,并且基于用户的控制/交互来控制驱动器,以执行操作或被驱动。在这种情况下,自主车辆根据用户的运动或语音说话来获得交互的意图信息,并且基于所获得的意图信息来确定响应以执行操作。
应用了XR技术的自主车辆可以意指具有用于提供XR图像的装置的自主车辆或者成为XR图像中的控制/交互的目标的自主车辆。特别地,成为XR图像中的控制/交互的目标的自主车辆可以与XR装置区分开,并且自主车辆和XR装置可以彼此互锁。
具有用于提供XR图像的装置的自主车辆可以从包括相机的传感器获得传感器信息,并且输出基于所获得的传感器信息而生成的XR图像。例如,自主车辆包括HUD并且输出XR图像,以向乘客提供与真实物体或画面中的物体对应的XR对象。
在这种情况下,当XR对象被输出到HUD时,XR对象的至少一部分可以被输出成与用户凝视的实际物体交叠。相反,当XR对象被输出到设置在自主车辆中的显示器时,XR对象的至少一部分可以被输出成与画面中的物体交叠。例如,自主车辆可以输出与诸如交通线、其它车辆、交通信号灯、交通路标、两轮车、行人、建筑物等这样的物体对应的XR对象。
当在XR图像内的变为控制/交互的目标的自主车辆从包括相机的传感器获得传感器信息时,自主车辆或XR装置可以基于传感器信息生成XR图像,并且XR装置可以输出所生成的XR图像。另外,自主车辆可以基于通过诸如XR装置这样的外部装置输入的控制信号或用户的交互来操作。
XR装置被设置在自主车辆中,以向用户提供单独的XR内容或者将自主车辆的内部/外部图像提供给用户。
此外,XR装置可以用于包括娱乐、锻炼、教育、运输、医疗服务、电子商务、制造、防御等的各种服务。例如,可以通过XR装置来体验和/或观看电影、主题公园、运动等,并且可以支持在诸如火场等这样的危险环境中训练的医疗实践。此外,可以通过XR装置提供诸如使用同时定位与地图构建(SLAM)技术的AR方式这样的指导服务,并且可以通过访问虚拟购物中心来购入和购买商品。