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

图像编解码方法、发送比特流的方法和记录介质

文献发布时间:2023-06-19 18:46:07


图像编解码方法、发送比特流的方法和记录介质

本申请是原案申请号为202080071705.6的发明专利申请(国际申请号:PCT/KR2020/010904,国际申请日;2020年08月14日,发明名称:参考亮度样本位置确定色度块的预测模式的图像编码/解码方法和设备及发送比特流的方法)的分案申请。

技术领域

本公开涉及图像编码/解码方法和设备,并且更具体地,涉及一种用于确定色度块的帧内预测模式的图像编码/解码方法、以及发送通过本公开的图像编码方法/设备生成的比特流的方法。

背景技术

最近,各个领域对高分辨率和高质量图像,例如高清(HD)图像和超高清(UHD)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。

因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。

发明内容

技术问题

本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。

本公开的目的是提供一种用于通过经由参考更少数量的亮度样本位置确定色度块的预测模式来改进编码/解码效率的图像编码/解码方法和设备。

本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。

本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。

本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。

本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。

技术方案

由根据本公开的一方面的图像解码设备执行的图像解码方法可以包括:通过分割图像来识别当前色度块;识别基于矩阵的帧内预测模式是否应用至与当前色度块对应的第一亮度样本位置;基于基于矩阵的帧内预测模式不被应用,则识别预定预测模式是否应用至与当前色度块对应的第二亮度样本位置;并且基于预定预测模式不被应用,则基于帧内预测模式应用至与当前色度块对应的第三亮度样本位置,确定当前色度块的帧内预测模式候选。预定预测模式是IBC(帧内块复制,intra block copy)模式或调色板模式。

可以基于与当前色度块对应的亮度块的宽度或高度中的至少一者来确定第一亮度样本位置。可以基于与当前色度块对应的亮度块的左上样本位置、亮度块的宽度和亮度块的高度来确定第一亮度样本位置。第一亮度样本位置可以与第三亮度样本位置相同。

可以基于与当前色度块对应的亮度块的宽度或高度中的至少一者来确定第二亮度样本位置。可以基于与当前色度块对应的亮度块的左上样本位置、亮度块的宽度和亮度块的高度来确定第二亮度样本位置。第二亮度样本位置可以与第三亮度样本位置相同。

第一亮度样本位置、第二亮度样本位置和第三亮度样本位置可以是相同的。

第一亮度样本位置可以是与当前色度块对应的亮度块的中央位置。第一亮度样本位置的x分量位置可以通过将与当前色度块对应的亮度块的宽度的一半相加到与该亮度块的左上样本的x分量位置来确定,以及第一亮度样本位置的y分量位置可以通过将与当前色度块对应的亮度块的高度的一半相加到该亮度块的左上样本的y分量位置来确定。

第一亮度样本位置、第二亮度样本位置和第三亮度样本位置可以基于与当前色度块对应的亮度块的左上样本位置、亮度块的宽度和亮度块的高度来确定。

另外,根据本公开的一方面的图像解码设备可以包括存储器和至少一个处理器。至少一个处理器可以通过分割图像来识别当前色度块,识别基于矩阵的帧内预测模式是否应用至与当前色度块对应的第一亮度样本位置,基于基于矩阵的帧内预测模式不被应用,则识别预定预测模式是否应用至与当前色度块对应的第二亮度样本位置,以及基于预定预测模式不被应用,则基于帧内预测模式应用至与当前色度块对应的第三亮度样本位置来确定当前色度块的帧内预测模式候选。

另外,由根据本公开的一个方面的图像编码设备执行的图像编码方法可以包括:通过分割图像来识别当前色度块;识别基于矩阵的帧内预测模式是否应用至与当前色度块对应的第一亮度样本位置;基于基于矩阵的帧内预测模式不被应用,则识别预定预测模式是否应用至与当前色度块对应的第二亮度样本位置;以及基于预定预测模式不被应用,则基于帧内预测模式应用至与当前色度模块对应的第三亮度样本位置来确定当前色度块的帧内预测模式候选。

此外,根据本公开的另一方面的传输方法可以发送由本公开的图像编码设备或图像编码方法生成的比特流。

此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。

以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。

有益效果

根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。

此外,根据本公开,能够提供一种通过经由参考更少数量的亮度样本位置确定色度块的预测模式来改进编码/解码效率的图像编码/解码方法和设备。

此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。

此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。

此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。

本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。

附图说明

图1是示意性地示出本公开的实施方式适用于的视频编码系统的视图。

图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。

图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。

图4是示出根据实施方式的图像的分割结构的视图。

图5是示出根据多类型树结构的块的分割类型的实施方式的视图。

图6是示出根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。

图7是示出将CTU分割成多个CU的实施方式的视图。

图8是例示冗余划分图案的实施方式的视图。

图9至图11是图示根据实施方式的根据色度格式确定的亮度样本和色度样本之间的位置关系的视图。

图12是例示根据实施方式的色度格式信令的语法的视图。

图13是例示根据实施方式的色度格式分类表的视图。

图14和图15是例示根据实施方式的定向帧内预测模式的视图。

图16和图17是例示根据实施方式的MIP模式的参考视图。

图18是例示根据实施方式的水平扫描和垂直扫描的实施方式的视图。

图19是例示根据实施方式的色度块的帧内预测模式确定方法的视图。

图20和图21是例示用于确定帧内色度预测模式的参考表的视图。

图22至图25是例示根据实施方式的亮度帧内预测模式信息确定方法的流程图。

图26是例示根据实施方式的通过编码设备和解码设备执行根据实施方式的编码和解码的方法的流程图。

图27是示出本公开的实施方式适用于的内容流媒体系统的视图。

具体实施方式

以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。

在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。

在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。

在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。

在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。

在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。

本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。

在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(CTU)。

在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。

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

在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。

此外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。

在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。

在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。

图1是示意性地示出根据本公开的视频编码系统的视图。

根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。

根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。

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

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

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

解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。

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

图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。

如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。

在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。

图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。

预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。

帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。

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

预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。IBC基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内推导参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。

预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。

变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图形表示时从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。

量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。

熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。

比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括USB、SD、CD、DVD、蓝光、HDD、SSD等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。

从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。

加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。

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

传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。

存储器170的DPB可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。

图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。

如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。

根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(DPB)或者可以由数字存储介质配置。

已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。

图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。

此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260或帧内预测单元265中的至少一个。

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

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

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

与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。

帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。

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

加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。

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

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

在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。

可以基于图像分割结构来执行根据本公开的视频/图像编码方法如下。具体地,可以基于根据图像分割结构而推导的CTU、CU(和/或TU、PU)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以按块单元对图像进行分割并且可以在编码设备的图像分割器110中执行块分割过程。分割相关信息可以由熵编码器190编码并且以比特流的形式发送到解码设备。解码设备的熵解码器210可以基于从比特流获得的分割相关信息来推导当前画面的块分割结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/画面重构、环路内滤波等)以进行图像解码。

画面可以被分割成编码树单元(CTU)的序列。图4示出了画面被分割成CTU的示例。CTU可以对应于编码树块(CTB)。另选地,CTU可以包括亮度样本的编码树块和对应色度样本的两个编码树块。例如,对于包含三个样本阵列的画面,CTU可以包括亮度样本的一个N×N块和色度样本的两个对应块。

如上所述,可以通过根据四叉树/二叉树/三叉树(QT/BT/TT)结构递归地对编码树单元(CTU)或最大编码单元(LCU)进行分割来获取编码单元。例如,CTU可以被首先分割成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分割。

根据四叉树的分割意味着当前CU(或CTU)被同等地分割成四个。通过根据四叉树的分割,可以将当前CU分割成具有相同宽度和相同高度的四个CU。在当前CU不再被分割成四叉树结构时,当前CU对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的CU可以不再被分割并且可以被用作上述最终编码单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的CU进一步进行分割。

图5是示出了根据多类型树结构的块的分割类型的实施方式的视图。根据多类型树结构的分割可以包括根据二叉树结构的两种类型的划分和根据三叉树结构的两种类型的划分。

根据二叉树结构的两种类型的划分可以包括垂直二叉划分(SPLIT_BT_VER)和水平二叉划分(SPLIT_BT_HOR)。垂直二叉划分(SPLIT_BT_VER)意味着当前CU被在垂直方向上同等地划分成两个。如图4所示,通过垂直二叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的一半的两个CU。水平二叉划分(SPLIT_BT_HOR)意味着当前CU被在水平方向上同等地划分成两个。如图5所示,通过水平二叉划分,可以生成高度为当前CU的高度的一半并且宽度与当前CU相同的两个CU。

根据三叉数结构的两种类型的划分可以包括垂直三叉划分(SPLIT_TT_VER)和水平三叉划分(SPLIT_TT_HOR)。在垂直三叉划分(SPLIT_TT_VER)中,当前CU被以1:2:1的比率在垂直方向上划分。如图5所示,通过垂直三叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的1/4的两个CU以及高度与当前CU相同并且宽度为当前CU的宽度的一半的一个CU。在水平三叉划分(SPLIT_TT_HOR)中,当前CU被以1:2:1的比率在水平方向上划分。如图5所示,通过水平三叉划分,可以生成高度为当前CU的高度的1/4并且宽度与当前CU相同的两个CU以及高度为当前CU的高度的一半并且宽度与当前CU相同的一个CU。

图6是示出了根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。

这里,CTU被视为四叉树的根节点,并且被首次分割成四叉树结构。用信号通知指定是否对当前CU(四叉树的CTU或节点(QT_node))执行四叉树划分的信息(例如,qt_split_flag)。例如,当qt_split_flag具有第一值(例如,“1”)时,当前CU可以被四叉树分割。另外,当qt_split_flag具有第二值(例如,“0”)时,当前CU不被四叉树分割,而是变成四叉树的叶节点(QT_leaf_node)。然后可以将每个四叉树叶节点进一步分割成多类型树结构。也就是说,四叉树的叶节点可以变成多类型树的节点(MTT_node)。在多类型树结构中,用信号通知第一标志(例如,Mtt_split_cu_flag)以指定当前节点是否被附加地分割。如果对应节点被附加地分割(例如,如果第一标志为1),则可以用信号通知第二标志(例如,Mtt_split_cu_vertical_flag)以指定划分方向。例如,划分方向在第二标志为1时可以是垂直方向,而在第二标志为0时可以是水平方向。然后,可以用信号通知第三标志(例如,Mtt_split_cu_binary_flag)以指定划分类型是二叉划分类型还是三叉划分类型。例如,划分类型在第三标志为1时可以是二叉划分类型,而在第三标志为0时可以是三叉划分类型。通过二叉划分或三叉划分获取的多类型树的节点可以被进一步分割成多类型树结构。然而,可以不将多类型树的节点分割成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被划分,而是变成多类型树的叶节点(MTT_leaf_node)。与多类型树的叶节点对应的CU可以被用作上述最终编码单元。

基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示推导CU的多类型树划分模式(MttSplitMode)。在以下描述中,多类型树划分模式可以被称为多树划分类型或划分类型。

[表1]

图7是示出了在应用四叉树之后通过应用多类型树来将CTU分割成多个CU的示例的视图。在图7中,粗体块边710表示四叉树分割,而剩余边720表示多类型树分割。CU可以对应于编码块(CB)。在实施方式中,CU可以包括亮度样本的一个编码块以及与亮度样本对应的色度样本的两个编码块。可以基于根据画面/图像的颜色格式(色度格式,例如,4:4:4、4:2:2、4:2:0等)的分量比率基于亮度分量(样本)CB或TB大小来推导色度分量(样本)CB或TB大小。在4:4:4颜色格式的情况下,可以将色度分量CB/TB大小设定为等于亮度分量CB/TB大小。在4:2:2颜色格式的情况下,可以将色度分量CB/TB的宽度设定为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设定为亮度分量CB/TB的高度。在4:2:0颜色格式的情况下,可以将色度分量CB/TB的宽度设定为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设定为亮度分量CB/TB的高度的一半。

在实施方式中,当CTU的大小基于亮度样本单元为128时,CU的大小可以具有从128×128至4×4的大小,其是与CTU相同的大小。在一个实施方式中,在4:2:0颜色格式(或色度格式)的情况下,色度CB大小可以具有从64×64至2×2的大小。

此外,在实施方式中,CU大小和TU大小可以是相同的。另选地,在CU区域中可以有多个TU。TU大小通常表示亮度分量(样本)变换块(TB)大小。

可以基于作为预定值的最大允许TB大小maxTbSize来推导TU大小。例如,当CU大小大于maxTbSize时,可以从CU推导具有maxTbSize的多个TU(TB),并且可以以TU(TB)为单元执行变换/逆变换。例如,最大允许亮度TB大小可以是64×64并且最大允许色度TB大小可以是32×32。如果根据树结构分割的CB的宽度或高度大于最大变换宽度或高度,则CB可以被自动地(或隐式地)分割,直到满足水平和垂直方向上的TB大小极限为止。

另外,例如,当应用帧内预测时,可以以CU(或CB)为单元推导帧内预测模式/类型,并且可以以TU(或TB)为单元执行邻近参考样本推导和预测样本生成过程。在这种情况下,在一个CU(或CB)区域中可以有一个或多个TU(或TB),并且在这种情况下,多个TU或(TB)可以共享相同的帧内预测模式/类型。

此外,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数作为SPS语法元素从编码设备用信号通知给解码设备。例如,用信号通知作为表示四叉树的根节点大小的参数的CTU大小、作为表示最小允许四叉树叶节点大小的参数的MinQTSize、作为表示最大允许二叉树根节点大小的参数的MaxBtSize、作为表示最大允许三叉树根节点大小的参数的MaxTtSize、作为表示从四叉树叶节点起进行多类型树划分的最大允许层次深度的参数的MaxMttDepth、作为表示最小允许二叉树树叶节点大小的参数的MinBtSize、或作为表示最小允许三叉数叶节点大小的参数的MinTtSize中的至少一个。

作为使用4:2:0色度格式的实施方式,可以将CTU大小设定为128×128亮度块以及与这些亮度块对应的两个64×64色度块。在这种情况下,可以将MinOTSize设定为16×16,可以将MaxBtSize设定为128×128,可以将MaxTtSzie设定为64×64,可以将MinBtSize和MinTtSize设定为4×4,并且可以将MaxMttDepth设定为4。四叉树分割可以被应用于CTU以生成四叉树叶节点。四叉树叶节点可以被称作叶QT节点。四叉树叶节点的大小可以从16×16大小(例如,MinOTSize)至128×128大小(例如,CTU大小)。如果叶QT节点是128×128,则它可以不被附加地分割成二叉树/三叉树。这是因为,在这种情况下,即使被分割,它也超过MaxBtsize和MaxTtszie(例如,64×64)。在其它情况下,叶QT节点可以被进一步分割成多类型树。因此,叶QT节点是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。如果多类型树深度达到MaxMttdepth(例如4),则可以不考虑进一步分割。如果多类型树节点的宽度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步水平分割。如果多类型树节点的高度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步垂直分割。当不考虑分割时,编码设备可以跳过分割信息的信令。在这种情况下,解码设备可以推导具有预定值的分割信息。

此外,一个CTU可以包括亮度样本的编码块(在下文中称为“亮度块”)以及与其对应的色度样本的两个编码块(在下文中称为“色度块”)。上述编码树方案可以被同等地或单独地应用于当前CU的亮度块和色度块。具体地,可以将一个CTU中的亮度块和色度块分割成相同的块树结构,并且在这种情况下,树结构被表示为SINGLE_TREE。另选地,可以将一个CTU中的亮度块和色度块分割成单独的块树结构,并且在这种情况下,可以将树结构表示为DUAL_TREE。也就是说,当CTU被分割成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作DUAL_TREE_LUMA,并且可以将用于色度分量的块树结构称作DUAL_TREE_CHROMA。对于P和B切片/拼块组,可以将一个CTU中的亮度块和色度块限制为具有相同的编码树结构。然而,对于I切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编码树结构来将亮度CTB分割成CU,并且可以基于另一编码树结构来将色度CTB分割成色度CU。也就是说,这意味着应用单独的块树结构的I切片/拼块组中的CU可以包括亮度分量的编码块或两个色度分量的编码块,并且P或B切片/拼块组的CU可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。

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

在另一示例中,可以以与QT结构、BT结构或TT结构不同的方式对CU进行分割。也就是说,与根据QT结构将较低深度的CU分割成较高深度的CU的1/4、根据BT结构将较低深度的CU分割成较高深度的CU的1/2或者根据TT结构将较低深度的CU分割成较高深度的CU的1/4或1/2不同,在一些情况下可以将较低深度的CU分割成较高深度的CU的1/5、1/3、3/8、3/5、2/3或5/8,并且对CU进行分割的方法不限于此。

具有多类型树的四叉树编码块结构可以提供非常灵活的块分割结构。由于多类型树中支持的分割类型,在一些情况下不同的分割图案可以潜在地产生相同的编码块结构。在编码设备和解码设备中,通过限制此类冗余分割图案的出现,可以减少分割信息的数据量。

例如,图8示出了在二叉树划分和三叉树划分中可能出现的冗余划分图案。如图8所示,针对两步级别的一个方向的连续二叉划分810和820具有与三叉划分之后针对中心分割的二叉划分相同的编码块结构。在这种情况下,可以禁止针对三叉树划分的中心块830和840的二叉树划分。此禁止适用于所有画面的CU。当这种特定划分被禁止时,可以通过反映这种被禁止情况来修改对应语法元素的信令,从而减少针对划分用信号通知的比特数。例如,如图8中示出的示例所示,当针对CU的中心块的二叉树划分被禁止时,不用信号通知指定划分是二叉划分还是三叉划分的语法元素mtt_split_cu_binary_flag并且其值可以由解码设备推导为0。

以下,将描述色度格式。图像可以被编码为包括亮度分量(例如,Y)阵列和两个色度分量(例如,Cb和Cr)阵列的编码数据。例如,编码图像的一个像素可以包括亮度样本和色度样本。色度格式可以用于表示亮度样本和色度样本的配置格式,并且色度格式可以被称为颜色格式。

在实施方式中,图像可以被编码为诸如单色、4:2:0、4:2:2或4:4:4的各种色度格式。在单色采样中,可以存在一个样本阵列并且样本阵列可以以是亮度阵列。在4:2:0采样中,可以存在一个亮度样本阵列和两个色度样本阵列,两个色度阵列中的每一个可以具有等于亮度阵列的一半的高度和等于亮度阵列的一半的宽度。在4:2:2采样中,可以存在一个亮度样本阵列和两个色度样本阵列,两个色度阵列中的每一个可以具有等于亮度阵列的高度和等于亮度阵列的一半的宽度。在4:4:4采样中,可以存在一个亮度样本阵列和两个色度样本阵列,并且两个色度阵列中的每一个可以具有等于亮度阵列的高度和宽度。

图9是例示根据4:2:0的亮度样本和色度块的实施方式的相对位置的视图。图10是例示根据4:2:2的亮度样本和色度块的实施方式的相对位置的视图。图11是示出根据4:4:4的亮度样本和色度块的实施方式的相对位置的视图。如图9所示,在4:2:0采样中,色度样本可以位于与其对应的亮度样本下方。在如图10所示,在4:2:2采样中,色度样本可以被定位为与其对应的亮度样本重叠。如图11所示,在4:4:4采样中,亮度样本和色度样本都可能位于重叠位置。

编码设备和解码设备中使用的色度格式可以预先确定。另选地,色度格式可以从编码设备用信号通知给解码设备以在编码设备和解码设备中自适应地使用。在实施方式中,色度格式可以基于chroma_format_idc或separate_colour_plane_flag中的至少一个用信号通知。chroma_format_idc或separate_colour_plane_flag中的至少一个可以通过诸如DPS、VPS、SPS或PPS的高级语法用信号通知。例如,chroma_format_idc和separate_colour_plane_flag可以包括在图12所示的SPS语法中。

此外,图13示出了使用chroma_format_idc和separate_colour_plane_flag的信令的色度格式分类的实施方式。chroma_format_idc可以是指定应用于编码图像的色度格式的信息。separate_colour_plane_flag可以指定是否在特定色度格式中单独地处理颜色阵列。例如,chroma_format_idc的第一值(例如,0)可以指定单色采样。chroma_format_idc的第二值(例如,1)可以指定4:2:0采样。chroma_format_idc的第三值(例如,2)可以指定4:2:2采样。chroma_format_idc的第四值(例如,3)可以指定4:4:4采样。

在4:4:4中,基于separate_colour_plane_flag的值,下述可以适用。如果separate_colour_plane_flag的值为第一值(例如,0),则两个色度阵列中的每一个可以具有与亮度阵列相同的高度和宽度。在这种情况下,指定色度样本阵列的类型的ChromaArrayType的值可以设定为等于chroma_format_idc。如果separate_colour_plane_flag的值为第二值(例如,1),则亮度样本阵列、Cb样本阵列和Cr样本阵列可以单独地处理以及连同单色采样画面一起处理。在这种情况下,ChromaArrayType可以设定为0。

在下文中,将更详细地说明帧内预测模式。图14例示了根据实施方式的帧内预测方向。为了捕捉自然视频中呈现的任何边缘方向,如图14所示,帧内预测模式可以包括两个非定向帧内预测模式和65个定向帧内预测模式。非定向帧内预测模式可以包括平面帧内预测模式和DC帧内预测模式,并且定向帧内预测模式可以包括第二至第66个帧内预测模式。

同时,除了上述帧内预测模式之外,帧内预测模式还可以包括用于色度样本的交叉分量线性模型(CCLM)模式。CCLM模式可以根据LM参数推导是否考虑左样本、上样本或两者而被分为L_CCLM、T_CCLM、LT_CCLM,并且可以仅应用于色度分量。例如,可以根据下表所示的帧内预测模式值对帧内预测模式编索引。

[表2]

图15示出了根据另一实施方式的帧内预测方向。这里,虚线方向表示仅应用于非正方形块的广角模式。如图15所示,为了捕捉自然视频中呈现的任何边缘方向,根据实施方式的帧内预测模式可以包括两个非定向帧内预测模式和93个定向帧内预测模式。非定向帧内预测模式可以包括平面帧内预测模式和DC帧内预测模式,并且定向帧内预测模式可以包括帧内预测模式2至80到1至-14,如图15的箭头所示。平面预测模式可以用INTRA_PLANAR表示,并且DC预测模式可以用INTRA_DC表示。此外,定向帧内预测模式可以由INTRA_ANGULAR-14到INTRA_ANGULAR-1和INTRA_ANGULAR2到INTRA_ANGULAR80表示。同时,帧内预测类型(或附加帧内预测模式)可以包括LIP、PDPC、MRL、ISP或MIP中的至少一种。可以基于帧内预测类型信息来指示帧内预测类型,并且可以以各种形式实现帧内预测类型信息。例如,帧内预测类型信息可以包括指示帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括指示MRL是否被应用于当前块并且如果被应用则使用哪个参考样本行的参考样本行信息(例如,intra_luma_ref_idx)、指示ISP是否被应用至当前块的ISP标志信息(例如,intra_subpartitions_mode_flag)、指示当应用ISP时的子分区的分割类型的ISP类型信息(例如,intra_subpartitions_split_flag)、指示是否应用PDPC的标志信息、指示是否应用LIP的标志信息、或指示是否应用MIP的MIP标志信息中的至少一个。

可以使用本公开中描述的编码方法对帧内预测模式信息和/或帧内预测类型信息进行编码/解码。例如,帧内预测模式信息和/或帧内预测类型信息可以通过熵编码(例如,CABAC、CAVLC)基于截断(莱斯,rice)二进制码进行编码/解码。

当对当前块执行帧内预测时,可以执行当前块的亮度分量块(亮度块)的预测和色度分量块(色度块)的预测。在这种情况下,色度块的帧内预测模式可以与亮度块的帧内预测模式分开设定。

例如,色度块的帧内预测模式可以基于帧内色度预测模式信息来指定,并且帧内色度预测模式信息可以按intra_chroma_pred_mode语法元素的形式用信号发送。例如,帧内色度预测模式信息可以表示平面模式、DC模式、垂直模式、水平模式、推导模式(DM)和CCLM模式中的一者。这里,平面模式可以指定帧内预测模式#0,DC模式可以指定帧内预测模式#1,垂直模式可以指定帧内预测模式#26,并且水平模式可以指定帧内预测模式#10。DM也可以称为直接模式。CCLM也可以被称为LM。

此外,DM和CCLM是使用关于亮度块的信息来预测色度块的相关帧内预测模式。DM可以表示应用与亮度分量的帧内预测模式相同的帧内预测模式作为色度分量的帧内预测模式的模式。另外,CCLM可以表示使用通过对亮度块的重构样本进行下采样,然后在生成色度块的预测块的过程中对下采样的样本应用CCLM参数α和β而推导的样本作为色度块的预测样本的帧内预测模式。

基于矩阵的帧内预测(MIP)模式也可以称为仿射线性加权帧内预测(ALWIP)模式、线性加权帧内预测(LWIP)模式或矩阵加权帧内预测(MWIP)模式。除了基于矩阵的预测之外的帧内预测模式可以被定义为基于非矩阵的预测模式。例如,基于非矩阵的预测模式可以称为非定向帧内预测和定向帧内预测。在下文中,作为指代基于非矩阵的预测模式的术语,帧内预测模式或正常帧内预测可以互换使用。在下文中,基于矩阵的预测可以被称为MIP模式。

当MIP模式应用于当前块时,i)可以使用对其执行求平均步骤的相邻参考样本,ii)可以执行矩阵向量乘法步骤,iii)如果需要,可以进一步执行水平/垂直插值,从而得到当前块的预测样本。

可以通过对相邻样本的值求平均来执行求平均步骤。如图16的(a)所示,当当前块的宽度和宽度以像素为单位为4时,可以通过对每个边界进行求平均并生成包括两个顶部样本和两个左侧样本的总共四个样本来执行求平均过程。如图16的(b)所示,当当前色度块的宽度和宽度不是以像素为单位为4时,可以通过对每个边界进行求平均并生成总共八个样本来执行,八个样本包括四个顶部样本和四个左侧样本。

可以通过将平均样本乘以矩阵向量然后加上偏移向量来执行矩阵向量乘法步骤,从而生成用于原始块的子采样像素集的预测信号。矩阵和偏移向量的大小可以根据当前块的宽度和宽度来确定。

水平/垂直插值步骤是从下采样预测信号生成原始块大小的预测信号的步骤。如图17所示,可以通过使用下采样预测信号和相邻像素值执行垂直插值和水平插值来生成原始块大小的预测信号。图17示出了针对8x8块执行MIP预测的实施方式。在8x8块的情况下,如图16的(b)所示,可以生成总共八个平均样本。通过将八个平均样本乘以矩阵向量并且加上偏移向量,如图17的(a)所示,可以在偶数坐标位置生成16个样本值。此后,如图17的(b)所示,可以使用当前块的顶部样本的平均值来执行垂直插值。此后,如图17的(c)所示,可以使用当前块的左侧样本执行水平插值。

用于MIP模式的帧内预测模式可以与用于上述LIP、PDPC、MRL和ISP帧内预测或正常帧内预测的帧内预测模式不同地构建。MIP模式的帧内预测模式可以被称为MIP帧内预测模式、MIP预测模式或MIP模式。例如,用于矩阵向量乘法的矩阵和偏移量可以根据MIP的帧内预测模式而不同地设置。这里,矩阵可以被称为(MIP)权重矩阵,并且偏移量可以被称为(MIP)偏移向量或(MIP)偏置向量。

上述帧内预测类型信息可以包括指定MIP模式是否应用于当前块的MIP标志(例如,intra_mip_flag)。intra_mip_flag[x0][y0]可以指定是否在MIP模式下预测当前块。例如,intra_mip_flag[x0][y0]的第一值(例如,0)可以指定当前块不是在MIP模式下预测的。intra_mip_flag[x0][y0]的第二值(例如,1)可以指定当前块是在MIP模式中预测的。

当intra_mip_flag[x0][y0]具有第二值(例如,1)时,可以进一步从比特流中获得关于MIP模式的信息。例如,还可以从比特流中获得作为指定当前块的MIP模式的信息的intra_mip_mpm_flag[x0][y0]、intra_mip_mpm_idx[x0][y0]和intra_mip_mpm_remainder[x0][y0]语法元素。当MIP预测模式应用于当前块时,可以构造MIP的MPM列表,并且intra_mip_mpm_flag可以指定当前块的MIP模式是否存在于MIP的MPM列表(或MPM候选)中。当当前块的MIP预测模式存在于MIP的MPM列表中时(即,当intra_mip_mpm_flag的值为1时),intra_mip_mpm_idx可以指定MPM列表的候选中的用作当前块的MMIP预测模式的候选的索引。intra_mip_mpm_remainder可以指定当前块的MIP预测模式在MIP的MPM列表中不存在时(即,当intra_mip_mpm_flag的值为0时)当前块的MIP预测模式,并指定所有MIP预测中的任何一个模式或指定所有MIP预测模式中除了MIP的MPM列表中的候选模式之外的任何一种剩余模式作为当前块的MIP预测模式。

同时,当intra_mip_flag[x0][y0]具有第一值(例如,0)时,可以不从比特流获得关于MIP的信息,并且可以从比特流获得除MIP之外的帧内预测信息。在一个实施方式中,可以从比特流中获得指定是否生成用于正常帧内预测的MPM列表的intra_luma_mpm_flag[x0][y0]。

当帧内预测模式应用于当前块时,可以为其构建MPM列表,intra_luma_mpm_flag可以指定当前块的帧内预测模式存在于MPM列表(或MPM候选)中。例如,intra_luma_mpm_flag的第一值(例如,0)可以指定当前块的帧内预测模式不存在于MPM列表中。intra_luma_mpm_flag的第二值(例如,1)可以指定当前块的帧内预测模式存在于MPM列表中。当intra_luma_mpm_flag的值为1时,可以从比特流中获取intra_luma_not_planar_flag。

intra_luma_not_planar_flag可以指定当前块的帧内预测模式是否为平面模式。例如,intra_luma_not_planar_flag的第一值(例如,0)可以指定当前块的帧内预测模式是平面模式。intra_luma_not_planar_flag的第二值(例如,1)可以指定当前块的帧内预测模式不是平面模式。

当intra_luma_not_planar_flag为“真”(即,值1)时,可以对intra_luma_mpm_idx进行解析和编码。在一个实施方式中,平面模式可以总是作为候选被包括在MPM列表中。然而,如上所述,平面模式可以通过首先用信号发送intra_luma_not_planar_flag从MPM列表中被排除,并且在这种情况下,可以在上述各种帧内预测类型(正常帧内预测、MRL、ISP、LIP等)构造单一化MPM列表。在这种情况下,MPM列表中的候选的数量可以减少到5个。intra_luma_mpm_idx可以在包括在排除了平面模式的MPM列表中的候选中指定用作当前块的帧内预测模式的候选。

此外,当intra_luma_mpm_flag的值为0时,可以对intra_luma_mpm_remainder进行解析/编码。intra_luma_mpm_remainder可以将所有帧内预测模式中的一种指定为当前块的帧内预测模式,或者可以将除了MPM列表中的候选模式之外的剩余模式中的任何一种指定为当前块的帧内预测模式。

以下,将描述调色板模式(PLT模式)。根据实施方式的编码设备可以使用调色板模式对图像进行编码,并且解码设备可以按照与其对应的方式使用调色板模式对图像进行解码。调色板模式可以被称为调色板编码模式、帧内调色板模式、帧内调色板编码模式等。调色板模式可以被视为一种帧内编码模式,或者可以被视为一种帧内预测方法。然而,类似于上述跳过模式,可以不用信号通知用于对应块的单独残差值。

在实施方式中,在对作为由计算机生成的包括大量文本和图形的图像的画面内容进行编码时,调色板模式可以用于改进编码效率。通常,生成为画面内容的图像的局部区域通过锐利边缘分离开,并且以少量的颜色表示。为了利用这一特性,在调色板模式中,一个块的样本可以由指定调色板表的颜色条目的索引表示。

为了应用调色板模式,可以用信号通知关于调色板表的信息。在实施方式中,调色板表可以包括与各个颜色对应的索引值。为了用信号通知索引值,可以用信号通知调色板索引预测信息。调色板索引预测信息可以包括调色板索引图的至少一部分的索引值。在调色板索引图中,视频数据的像素可以被映射至调色板表的颜色索引。

调色板索引预测信息可以包括游程值信息。对于调色板索引图的至少一部分,游程值信息可以将游程值与索引值关联。一个游程值可以与逃逸颜色索引关联。可以从调色板索引预测信息生成调色板索引图。例如,可以通过基于最后索引值确定是否调节调色板索引预测信息的索引值来生成调色板索引图的至少一部分。

当前画面中的当前块可以根据调色板索引图来编码或重构。当应用调色板模式时,当前编码单元中的像素值可以被表示为较小的代表性颜色值的集合。这种集合可以被称为调色板。对于值接近调色板颜色的像素,可以用信号通知调色板索引。对于值不属于调色板(在调色板之外)的像素,对应像素可以由逃逸符号表示,并且可以直接用信号通知量化的像素值。在本文献中,像素或像素值可以被描述为样本。

为了对以调色板模式编码的块进行解码,解码设备可以对调色板颜色和索引进行解码。调色板颜色可以在调色板表中描述,并且可以使用调色板表编码工具来编码。可以为各个编码单元用信号通知逃逸标志。逃逸标志可以指定当前编码单元中是否存在逃逸符号。如果存在逃逸符号,则调色板表可以增加1个单位(例如,索引单位)并且最后索引可以被指定为逃逸模式。一个编码单元的所有像素的调色板索引可以配置调色板索引图,并且可以使用调色板索引图编码工具来编码。

例如,为了对调色板表进行编码,可以维持调色板预测器。调色板预测器可以在各个切片的起点处被初始化。例如,调色板预测器可以被重置为0。对于调色板预测器的各个条目,可以用信号通知指定它是否为当前调色板的一部分的重用标志。可以使用值0的游程长度编码来用信号通知重用标志。

此后,可以使用零阶指数哥伦布码来用信号通知新调色板条目的编号。最后,可以用信号通知新调色板条目的分量值。在对当前编码单元进行编码之后,可以使用当前调色板来更新调色板预测器,并且(直至达到允许的最大大小)当前调色板中未重用的来自先前调色板预测器的条目可以被添加到新调色板预测器的结尾,这可以称为调色板填充。

例如,为了对调色板索引图进行编码,可以使用水平扫描或垂直扫描来对索引进行编码。可以使用指定扫描方向的参数palette_transpose_flag通过比特流来用信号通知扫描顺序。例如,当水平扫描应用于扫描当前编码单元中的样本的索引时,palette_transpose_flag可以具有第一值(例如,0),当应用垂直扫描时,palette_transpose_flag可以具有第二值(例如,1)。图18示出根据实施方式的水平扫描和垂直扫描的实施方式。

另外,在实施方式中,调色板索引可以使用“INDEX”模式和“COPY_ABOVE”模式来编码。除了在使用水平扫描时针对最上行用信号通知调色板索引的模式的情况、在使用垂直扫描时针对最左列用信号通知调色板索引的模式的情况以及紧接在前的模式是“COPY_ABOVE”的情况之外,两个模式可以使用一个标志来用信号通知。

在“INDEX”模式中,调色板索引可以明确地用信号通知。对于“INDEX”模式和“COPY_ABOVE”模式,可以用信号通知指定使用同一模式编码的像素数的游程值。

索引图的编码顺序可以如下设定。首先,可以用信号通知编码单元的索引值的数量。这可以在使用截断二进制编码用信号通知整个编码单元的实际索引值之后执行。索引和索引值的数量二者均可以按旁路模式编码。由此,与索引有关的旁路bin可以被分组。然后,可以使用交织方法用信号通知调色板模式(INDEX或COPY_ABOVE)和游程值。

最后,与整个编码单元的逃逸样本对应的分量逃逸值可以相互分组并以旁路模式编码。可以在用信号通知索引值之后用信号通知附加语法元素last_run_type_flag。通过连同索引的数量一起使用last_run_type_flag,可以跳过与块中的最后游程对应的游程值的信令。

在实施方式中,对亮度分量和色度分量执行独立编码单元分割的双树类型可用于I切片。调色板模式可以单独地或一起应用于亮度分量和色度分量。如果不应用双树,则调色板模式适用于所有Y、Cb和Cr分量。

IBC预测可以由图像编码设备/图像解码设备的预测单元执行。IBC预测可以简称为IBC。IBC可以用于诸如游戏的内容图像/运动图像,例如SCC(屏幕内容编码)。IBC预测基本上在当前图片内执行,但可以与帧间预测类似地执行,因为参考块是在当前图片内导出的。也就是说,IBC可以使用本公开中描述的帧间预测技术中的至少一种。例如,在IBC中,可以使用上述运动信息(运动向量)推导方法中的至少一种。考虑到IBC预测,可以部分地修改和使用至少一种帧间预测技术。IBC可以参考当前图片,因此可以称为当前图片参考(CPR)。

对于IBC,图像编码设备可以通过执行块匹配(BM)来导出当前块(例如,CU)的最佳块向量(或运动向量)。可以使用与上述帧间预测中的运动信息(运动向量)的信令类似的方法,通过比特流将导出的块向量(或运动向量)用信号发送至图像解码设备。图像解码设备可以通过用信号发送的块向量(运动向量)导出当前图片内的当前块的参考块,并通过它导出当前块的预测信号(预测块或预测样本)。这里,块向量(或运动向量)可以表示从当前块到位于当前图片中已经重建的区域中的参考块的位移。因此,块向量(或运动向量)可以称为位移向量。在下文中,在IBC中,运动向量可以对应于块向量或位移向量。当前块的运动向量可以包括用于亮度分量的运动向量(亮度运动向量)和用于色度分量的运动向量(色度运动向量)。例如,用于IBC编码的CU的亮度运动向量可以是整数样本单元(即,整数精度)。色度运动向量也可以以整数样本为单位进行裁剪。如上所述,IBC可以使用帧间预测技术中的至少一种,并且例如,可以使用上述合并模式或MVP模式对亮度运动向量进行编码/解码。

当合并模式应用至亮度IBC块时,可以与帧间模式中的合并候选列表类似地构造亮度IBC块的合并候选列表。然而,在亮度IBC块的情况下,时间相邻块可能不用作合并候选。

当MVP模式应用至亮度IBC块时,用于亮度IBC块的mvp候选列表可以被构造为类似于帧间模式中的mvp候选列表。然而,在亮度IBC块的情况下,时间候选块可能不用作mvp候选。

在IBC中,参考块是从当前图片内的已重构区域导出的。在这种情况下,为了降低图像解码设备的内存消耗和复杂度,可以仅参考当前图片内的已重构区域中的预定义区域。预定义区域可以包括当前块被包括在其中的当前CTU。通过将可参考的重构区域限制到预定义区域,可以使用本地片上存储器在硬件中实现IBC模式。

用于执行IBC的图像编码设备可通过搜索预定义区域来确定具有最小RD成本的参考块,并基于参考块和当前块的位置导出运动向量(块向量)。

IBC是否应用至当前块可以在CU级别作为IBC性能信息用信号发送。可以用信号发送关于当前块的运动向量的信令方法(IBC MVP模式或IBC跳过/合并模式)的信息。IBC性能信息可用于确定当前块的预测模式。因此,IBC性能信息可以包括在关于当前块的预测模式的信息中。

在IBC跳过/合并模式的情况下,合并候选索引可以被用信号发送并用于指定在合并候选列表中包括的块向量中的要用于预测当前亮度块的块向量。在这种情况下,合并候选列表可以包括以IBC编码的相邻块。合并候选列表可以包括空间合并候选,并且可以被构造为不包括时间合并候选。此外,合并候选列表还可包括HMVP(基于历史的运动向量预测器)候选和/或成对候选。

在IBC MVP模式的情况下,可以使用与上述帧间模式的运动向量差值相同的方法对块向量差值进行编码。块向量预测方法可以构造和使用包括两个候选的mvp候选列表作为类似于帧间模式的MVP模式的预测器。两个候选中的一个可以从左相邻块获得,而另一个可以从顶部相邻块获得。在这种情况下,只有以IBC对左侧或顶部相邻块进行编码时,才可以从相应的相邻块中导出候选。如果左侧或顶部相邻块不可用,例如,如果它没有以IBC编码,则可以在mvp候选列表中包括默认块向量作为预测器。此外,与帧间模式的MVP模式类似,指定两个块向量预测器之一的信息(例如,标志)被用信号发送并用作候选选择信息。mvp候选列表可以包括HMVP候选和/或零运动向量作为默认块向量。

HMVP候选可以被称为基于历史的MVP候选,并且在当前块的编码/解码之前使用的MVP候选、合并候选或块向量候选可以作为HMVP候选存储在HMVP列表中。此后,当当前块的合并候选列表或mvp候选列表不包括最大数量的候选时,可以将存储在HMVP列表中的候选作为HMVP候选添加到当前块的合并候选列表或mvp候选列表中。

成对候选是指通过根据预定顺序从已经包括在当前块的合并候选列表中的候选中选择两个候选并对选择的两个候选进行求平均而得出的候选。

当对当前块执行帧内预测时,可以执行针对当前块的亮度分量块(亮度块)的预测和针对色度分量块(色度块)的预测,并且在这种情况下,用于色度块的帧内预测模式可以与亮度块的帧内预测模式分开设置。

可以基于与色度块对应的亮度块的帧内预测模式来确定色度块的帧内预测模式。图19是例示根据实施方式的色度块的帧内预测模式确定方法的视图。

将参考图19描述由根据实施方式的编码/解码设备确定色度块的帧内预测模式的方法。在下文中,将描述解码设备并且其描述可以在不改变的情况下应用于编码设备。

根据以下描述,可以导出色度块的帧内预测模式IntraPredModeC[xCb][yCb],并且在该过程中可以使用以下参数。

-亮度样本坐标(xCb,yCb),其指定当前色度块的左上样本相对于当前图片的左上亮度样本的位置的相对位置

-cbWidth,其指定亮度样本单元中的当前编码块的宽度

-cbHeight,其指定亮度样本单元中的当前编码块的高度

另外,当包括当前色度块的当前切片是I切片并且应用亮度/色度双树分裂结构时,可以使用以下描述。然而,以下描述不限于以上示例。例如,无论当前切片是否为I切片,都可以应用以下描述,并且即使当它不是双树分裂结构时,以下描述也普遍适用。

首先,解码设备可以基于与当前色度块对应的亮度块的预测模式来确定亮度帧内预测模式信息(例如,lumaIntraPredMode)(S1910)。下面将详细描述该步骤。

接下来,解码设备可以基于亮度帧内预测模式信息和附加信息来确定色度帧内预测模式信息(S1920)。在一个实施方式中,解码设备可以基于指定是否应用从比特流获得的CCLM预测模式的cclm_mode_flag参数、指定当应用CCLM预测模式时应用的CCLM模式类型的cclm_mode_idx参数、以及指定应用至色度样本的帧内预测模式类型的intra_chroma_pred_mode参数、和亮度帧内预测模式信息(例如,lumaIntraPredMode)、以及图20的表,来确定色度帧内预测模式。

例如,intra_chroma_pred_mode可以指定平面模式、DC模式、垂直模式、水平模式、DM(派生模式)和CCLM(跨分量线性模型)模式中的一者。这里,平面模式可以指定帧内预测模式0,DC模式可以指定帧内预测模式1,垂直模式可以指定帧内预测模式26,并且垂直模式可以指定帧内预测模式10。DM也可以称为直接模式。CCLM也可以称为LM(线性模型)。CCLM模式可以包括L_CCLM、T_CCLM或LT_CCLM中的至少一者。

同时,DM和CCLM是相关帧内预测模式,其中使用关于亮度块的信息来预测色度块。DM可以指定与对应于当前色度块的亮度块的帧内预测模式相同的帧内预测模式作为色度块的帧内预测模式应用的模式。在DM模式下,可以将当前色度块的帧内预测模式确定为由亮度帧内预测模式信息指定的帧内预测模式。

此外,CCLM可以指定帧内预测模式,其中,在生成色度块的预测块的过程中,对亮度块的重构样本进行下采样,然后通过将CCLM参数α和β应用至下采样样本导出的样本被用作色度块的预测样本。

接下来,解码设备可以基于色度格式映射色度帧内预测模式(S1930)。仅当色度格式是4:2:2时(例如,当chroma_format_idc的值是2时),根据实施方式的解码设备可以基于图21的表将根据图20的表确定的色度帧内预测模式X映射至新的色度帧内预测模式Y。例如,当根据图20的表确定的色度帧内预测模式的值是16时,这可以根据图21的映射表被映射到色度帧内预测模式14。

在下文中,将更详细地描述确定亮度帧内预测模式信息(例如,lumaIntraPredMode)的步骤S1910。图22是例示由解码设备确定亮度帧内预测模式的方法的流程图。

首先,解码设备可以识别MIP模式是否应用至与当前色度块对应的亮度块(S2210)。当MIP模式应用至与当前色度块对应的亮度块时,解码设备可以将亮度帧内预测模式信息的值设置为INTRA_PLANAR模式(S2220)。

同时,当MIP模式不应用至与当前色度块对应的亮度块时,解码设备可以识别IBC模式或PLT模式是否应用至与当前色度块对应的亮度块(S2230)。

当IBC模式或PLT模式应用至与当前色度块对应的亮度块时,解码设备可以将亮度帧内预测模式信息的值设置为INTRA_DC模式(S2240)。

另一方面,当IBC模式或PLT模式不应用至与当前色度块对应的亮度块时,解码设备可以将亮度帧内预测模式信息的值设置为与当前色度块对应的亮度块的帧内预测模式(S2250)。

在图22所示的亮度帧内预测模式信息的确定过程中,为了指定与当前色度块对应的亮度块,可以应用各种方法。如上所述,当前色度样本的左上样本位置可以由与当前图片的左上亮度样本的位置间隔开的亮度样本的相对坐标来表示。在下文中,将描述指定与该背景中的色度块相对应的亮度块的方法。

图23是例示参考亮度样本位置以识别与当前色度块相对应的亮度块的预测模式的第一实施方式的视图。在下文中,由于步骤S2310到S2350对应于图22的步骤S2210到S2250,因此将仅描述不同之处。

在图23的第一实施方式中,与当前色度块的左上样本位置对应的第一亮度样本位置和基于当前色度块的左上样本位置和当前亮度块的宽度和高度确定的第二亮度样本位置被提及。这里,第一亮度样本位置可以是(xCb,yCb)。另外,第二亮度样本位置可以是(xCb+cbWidth/2,yCb+cbHeight/2)。

更具体地说,在步骤S2310中,为了识别MIP模式是否应用至与当前色度块对应的亮度块,可以识别第一亮度样本位置。更具体地,可以识别指定是否应用在第一亮度样本位置识别的MIP模式的参数intra_mip_flag[xCb][yCb]的值是否为1。intra_mip_flag[xCb][yCb]的第一值(例如,1)可以指定MIP模式应用在[xCb][yCb]样本位置。

此外,在步骤S2330中,可以识别第一亮度样本位置,以识别IBC模式或调色板模式是否已应用至与当前色度块对应的亮度块。更具体地,可以识别在第一亮度样本位置识别的亮度块的预测模式参数CuPredMode[0][xCb][yCb]的值是指定IBC模式的值(例如,MODE_IBC)还是指定调色板模式的值(例如,MODE_PLT)。

此外,在步骤S2350中,为了将亮度帧内预测模式信息设置为与当前色度块对应的亮度块的帧内预测模式信息,可以识别第二亮度样本位置。更具体地,可以识别指定在第二亮度样本位置处识别的亮度帧内预测模式的参数IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]的值。

然而,在第一实施方式的情况下,为了确定当前色度块的帧内预测模式,考虑第一亮度样本位置和第二亮度样本位置。与考虑两个样本位置的情况相比,当仅考虑一个亮度样本位置时,编码和解码复杂度可能会降低。

在下文中,将描述仅考虑一个亮度样本位置的第二实施方式和第三实施方式。图24和图25是例示参考亮度样本位置以识别与当前色度块相对应的亮度块的预测模式的第二实施方式和第三实施方式的视图。在下文中,由于步骤S2410至S2450和步骤S2510至S2550对应于图22的步骤S2210至S2250,仅描述不同之处。

在图24的第二实施方式中,可以参考基于当前色度块的左上样本位置和当前亮度块的宽度和高度确定的第二亮度样本位置。这里,第二亮度样本位置可以是(xCb+cbWidth/2,yCb+cbHeight/2)。因此,在第二实施方式中,可以识别对应于与当前色度块对应的亮度块的中央位置(xCb+cbWidth/2,yCb+cbHeight/2)的亮度样本的预测值。在一个实施方式中,当亮度块具有偶数列和行时,中央位置可以指定亮度块的四个中心样本的右下样本位置。

更具体地,在步骤S2410中,为了识别MIP模式是否已应用至与当前色度块对应的亮度块,可以识别第二亮度样本位置。更具体地,可以识别指定是否应用在第二亮度样本位置识别的MIP的参数intra_mip_flag[xCb+cbWidth/2][yCb+cbHeight/2]的值是否为1。

此外,在步骤S2430中,为了识别IBC或调色板模式是否已应用至与当前色度块对应的亮度块,可以识别第二亮度样本位置。更具体地,可以识别在第二亮度样本位置识别的亮度块的预测模式参数CuPredMode[0][xCb+cbWidth/2][yCb+cbHeight/2]的值是指定IBC模式的值还是指定调色板模式的值(例如,MODE_PLT)。

此外,在步骤S2450中,为了将亮度帧内预测模式信息设置为与当前色度块对应的亮度块的帧内预测模式信息,可以识别第二亮度样本位置。更具体地,可以识别指定在第二亮度样本位置识别的亮度帧内预测模式的参数IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]的值。

在图25的第三实施方式中,可以参考与当前色度块的左上样本位置对应的第一亮度样本位置。这里,第一亮度样本位置可以是(xCb,yCb)。因此,在第三实施方式中,可以识别对应于与当前色度块对应的亮度块的左上样本位置(xCb,yCb)的亮度样本的预测值。在一个实施方式中,当亮度块具有偶数列和行时。

更具体地说,在步骤S2510中,为了识别MIP模式是否已应用至与当前色度块对应的亮度块,可以识别第一亮度样本位置。更具体地,可以识别指定是否应用在第一亮度样本位置识别的MIP模式的参数intra_mip_flag[xCb][yCb]的值是否为1。

此外,在步骤S2530中,可以识别第一亮度样本位置,以识别IBC或调色板模式是否已应用至对应于当前色度块的亮度块。更具体地,可以识别在第一亮度样本位置识别的亮度块的预测模式参数CuPredMode[0][xCb][yCb]的值是指定IBC模式的值(例如,MODE_IBC)还是可以指定调色板模式的值(例如,MODE_PLT)。

此外,在步骤S2550中,为了将亮度帧内预测模式信息设置为与当前色度块对应的亮度块的帧内预测模式信息,可以识别第一亮度样本位置。更具体地,可以识别指定在第一亮度样本位置识别的亮度帧内预测模式的参数IntraPredModeY[xCb][yCb]的值。

在下文中,将参考图26描述使用上述方法由根据实施方式的编码设备执行编码的方法和由根据实施方式的解码设备执行解码的方法。根据实施方式的编码设备可以包括存储器和至少一个处理器,并且可以通过至少一个处理器执行以下方法。此外,根据实施方式的解码设备可以包括存储器和至少一个处理器,并且可以通过至少一个处理器执行以下方法。虽然为了描述方便,以下描述了解码设备的操作,但是下面的描述同样适用于编码设备。

首先,解码设备可以通过分割图像来识别当前色度块(S2610)。接下来,解码设备可以识别基于矩阵的帧内预测模式是否应用至与当前色度块对应的第一亮度样本位置(S2620)。这里,可以基于与当前色度块对应的亮度块的宽度或高度中的至少一者来确定第一亮度样本位置。例如,可以基于与当前色度块对应的亮度块的左上样本位置、亮度块的宽度和亮度块的高度来确定第一亮度样本位置。

接下来,当不应用基于矩阵的帧内预测模式时,解码设备可以识别预定预测模式是否应用至与当前色度块对应的第二亮度样本位置(S2630)。这里,第二亮度样本位置可以基于与当前色度块对应的亮度块的宽度或高度中的至少一者来确定。例如,基于与当前色度块对应的亮度块的左上样本位置、亮度块的宽度和亮度块的高度来确定第二亮度样本位置。

接下来,当预定预测模式不应用时,解码设备可以基于帧内预测模式应用至与当前色度块对应的第三亮度样本位置,确定当前色度块的帧内预测模式候选(S2640)。这里,预定预测模式可以是IBC(帧内块复制)模式或调色板模式。

另外,第一亮度样本位置可以与第三亮度样本位置相同。另选地,第二亮度样本位置可以与第三亮度样本位置相同。另选地,第一亮度样本位置、第二亮度样本位置和第三亮度样本位置可以相同。

另选地,第一亮度样本位置可以是与当前色度块对应的亮度块的中央位置。例如,第一亮度样本位置的x分量位置可以通过将与当前色度块对应的亮度块的宽度的一半相加到与该亮度块的左上样本的x分量位置来确定,并且第一亮度样本位置的y分量位置可以通过将与当前色度块对应的亮度块的高度的一半相加到该亮度块的左上样本的y分量位置来确定。

另选地,第一亮度采样位置、第二亮度采样位置和第三亮度采样位置可以分别基于与当前色度块对应的亮度块的左上采样位置、亮度块的宽度和亮度块的高度来确定。

虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。

在本公开中,执行预定操作(步骤)的图像编码装置或图像解码设备可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码设备可以在确定是否满足预定条件之后执行预定操作。

本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。

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

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

图27是示出可应用本公开的实施方式的内容流媒体系统的视图。

如图27中所示,应用本公开的实施方式的内容流媒体系统可以主要包括编码服务器、流媒体服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。

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

比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流媒体服务器可以在发送或接收比特流的过程中暂时存储比特流。

流媒体服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流媒体服务器,并且流媒体服务器可以向用户发送多媒体数据。在这种情况下,内容流媒体系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流媒体系统中的装置之间的命令/响应。

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

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

内容流媒体系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。

本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。

工业实用性

本公开的实施方式可以被用于对图像进行编码或解码。

技术分类

06120115686248