CN116134820A - 基于补丁本的视频数据编码和解码的方法和装置 - Google Patents
基于补丁本的视频数据编码和解码的方法和装置 Download PDFInfo
- Publication number
- CN116134820A CN116134820A CN202180056808.XA CN202180056808A CN116134820A CN 116134820 A CN116134820 A CN 116134820A CN 202180056808 A CN202180056808 A CN 202180056808A CN 116134820 A CN116134820 A CN 116134820A
- Authority
- CN
- China
- Prior art keywords
- block
- patch
- list
- video data
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种基于补丁本的视频数据编码和解码的方法和装置。一种视频数据解码方法包括以下步骤:确定视频数据块的补丁本列表;以及确定所述块的一个或多个索引值。每个所述索引值指示所述补丁本列表的补丁本条目中具有对应于所述块中的像素子集的颜色值的补丁本条目。该解码方法进一步包括基于所述块的补丁本列表和所述索引值重建所述像素子集的步骤。
Description
技术领域
本公开涉及一种视频数据的编码和解码,更具体地,涉及一种基于补丁本(patchbook)的视频数据编码和解码的方法和装置。
背景技术
由于视频数据的数据量(volume)比语音数据或静止图像数据的数据量大,因此在不进行压缩处理的情况下存储或发送视频数据需要包括存储器的大量的硬件资源。
因此,在存储或发送视频数据时,通常利用编码器对视频数据进行压缩,以便存储或发送。然后,解码器接收压缩的视频数据,并解压和再现视频数据。
图像大小、分辨率和帧速率正在逐渐增加,因此需要编码的数据量也在增加。因此,需要一种具有比现有压缩技术更好的编码效率和更高的图像质量的新压缩技术。特别是,对于动画和计算机图形等屏幕内容视频,需要更有效的编码和解码技术。
发明内容
技术问题
本公开提供一种能够利用视频数据中的纹理相似性提高编码效率的新编码工具。
技术方案
根据本公开的一方面,一种对视频数据进行编码的方法包括确定视频数据块的补丁本列表,确定所述视频数据块的一个或多个索引值,以及对所述视频数据块的所述索引值进行编码。每个所述索引值指示所述补丁本列表的补丁本条目中具有对应于所述视频数据块中的像素子集的颜色值的补丁本条目。补丁本是具有频繁出现在视频数据的帧中的纹理的块。
该方法进一步包括从由所述索引值指示的补丁本条目生成所述像素子集的预测值,从所述像素子集的预测值中确定所述像素子集的残差值,以及对所述像素子集的残差值进行编码。或者,可以通过视频解码器基于所述补丁本列表和所述索引值来重建所述像素子集,而无需借助残差值,从而可以省略包括对残差值进行编码的上述步骤。
根据本公开的另一方面,一种对视频数据进行解码的方法包括:确定视频数据块的补丁本列表;以及确定所述视频数据块的一个或多个索引值。每个索引值指示所述补丁本列表中的补丁本条目中具有对应于所述视频数据块中的像素子集的颜色值的补丁本条目。该方法进一步包括基于所述视频数据块的所述补丁本列表和所述索引值重建所述像素子集。
重建像素子集包括从由所述索引值指示的补丁本条目生成所述像素子集的预测值,从比特流确定所述像素子集的残差值,以及将所述残差值添加到预测值。或者,重建所述像素子集包括从由所述索引值指示的补丁本条目生成所述像素子集的重建的样本值,而不从比特流确定所述像素子集的残差值。
上述编码方法和解码方法可以分别由视频编码装置和视频解码装置执行或实施。这些装置包括存储器和一个或多个处理器,并且一个或多个处理器可以被配置为执行上述编码方法的步骤或上述解码方法的步骤。
附图说明
图1是可以实现本公开的技术的视频编码装置的示例性框图。
图2示出利用QTBTTT结构来划分块的方法。
图3A示出多个帧内预测(intra prediction)模式。
图3B示出包括广角帧内预测模式的多个帧内预测模式。
图4是可以实现本公开的技术的视频解码装置的示例性框图。
图5是示出用于根据本公开的一方面对视频数据进行编码的补丁本列表的示意图。
图6是示出根据本公开的一方面的1-CTU延迟WPP被激活时的补丁本预测列表的初始化的示意图。
图7是示出根据本公开的一方面的构建用于对视频数据块进行编码的补丁本列表的示例的示意图。
图8示出在帧内预测中编码的当前块和周围块的运动向量。
图9示出与大小为8x4的重建块相关的残差块。
图10示出根据本公开的一方面的补丁本列表的索引被分配给视频数据块的每个子集的示例。
图11示出当所有补丁本具有相同大小时用于对补丁本索引图进行编码的扫描顺序。
图12示出当各种大小的补丁本可用时用于对补丁本索引图进行编码的扫描顺序。
图13是示出根据本公开的一方面的用于利用基于补丁本的编码技术对视频数据进行编码的方法的流程图。
图14是示出根据本公开的一方面的用于利用基于补丁本的编码技术对视频数据进行解码的方法的流程图。
具体实施方式
在下文中,将参照附图详细描述本公开的一些实施例。应当注意的是,在为各附图中的组成元件添加附图标记时,类似的附图标记指定类似的元件,尽管这些元件在不同的附图中示出。此外,在本公开的以下描述中,将省略对并入本文的已知功能和配置的详细描述,以避免模糊本公开的主旨。
本公开公开一种补丁本预测模式,该模式是一种能够利用视频帧内纹理的长距离相似性的新编码工具。
在补丁本预测模式中,视频编码器和视频解码器利用补丁本列表为编码块生成预测块,在补丁本列表中作为具有经常出现的纹理的块的补丁本被映射到索引。在构建补丁本列表后,视频编码器从补丁本列表中选择适合当前编码块的一个或多个补丁本,并用信号发送(signaling)所选择的补丁本的索引。解码器利用由从比特流中解析的补丁本的索引所确定的补丁本中限定的值来预测编码块的像素值。作为在补丁本预测模式下对编码块进行编码的一部分,视频编码器和视频解码器可以首先确定用于编码块的补丁本列表。然后,编码块的补丁本索引可以被编码以指示补丁本列表中的哪些条目应被用于预测或重建编码块的像素(或样本)。
图1是能够实现本公开的技术的视频编码装置的示例性框图。在下文中,将参照图1描述视频编码装置和该装置的元件。
视频编码装置包括图片划分单元110、预测器120、减法器130、变换器140、量化器145、重排单元150、熵编码器155、逆量化器160、逆变换器165、加法器170、滤波器单元180和存储器190。
视频编码装置的每个元件可以以硬件或软件或者硬件和软件的组合实现。各个元件的功能可以被实现为软件,并且微处理器可以被实现为执行对应于各个元件的软件功能。
特别是,一个视频包括多个图片。每个图片被划分成多个区域,并且对每个区域执行编码。例如,一个图片被划分成一个或多个图块(tile)或/和切片(slice)。此处,一个或多个图块可以被定义为一个图块组。每个图块或切片被划分成一个或多个编码树单元(CTU)。每个CTU通过树结构被划分成一个或多个编码单元(CU)。应用于每个CU的信息被编码为CU的句法,而共同应用于包含在一个CTU中的CU的信息被编码为CTU的句法。另外,共同应用于一个切片中所有块的信息被编码为切片报头的句法,而应用于构成图片的所有块的信息被编码在图片参数集(PPS)或图片报头(picture header)中。此外,多个图片共同涉及的信息被编码为序列参数集(SPS)。另外,一个或多个SPS共同涉及的信息被编码为视频参数集(VPS)。共同应用于一个图块或图块组的信息可以被编码为图块或图块组报头的句法。
图片划分单元110被配置为确定编码树单元(CTU)的大小。关于CTU的大小的信息(CTU大小)被编码为SPS或PPS的句法并被发送到视频解码装置。
图片划分单元110被配置为将构成视频的每个图片划分成具有预定大小的多个CTU,然后利用树结构递归地划分CTU。在树结构中,叶节点作为编码单元(CU),CU为编码的基本单位。
树结构可以是上级节点(或父母节点)被划分成相同大小的四个子节点(或子节点)的四叉树(QuadTree,QT)、上级节点被划分成两个子节点的二叉树(BinaryTree,BT)、上级节点以1:2:1的比例被划分成三个子节点的三叉树(TernaryTree,TT)或者由QT结构、BT结构和TT结构的两个或多个的组合构成的结构。例如,可以使用四叉树加二叉树(QTBT)结构,或者使用四叉树加二叉树三叉树(QTBTTT)结构。特别地,BTTT可以统称为多类型树(MTT)。
图2示例性地示出QTBTTT分叉树结构。如图2所示,CTU可以在QT结构中最初被划分。QT划分可以重复进行,直到划分块的大小达到QT中允许的叶节点的最小块大小MinQTSize。指示QT结构的每个节点是否被划分成下层的四个节点的第一标志(QT_split_flag)由熵编码器155编码并且用信号发送(signaling)给视频解码装置。当QT的叶节点小于BT中允许的根节点的最大块大小(MaxBTSize)时,它可以被进一步划分成一个或多个BT结构或TT结构。BT结构和/或TT结构可以具有多个划分方向。例如,可以有两个方向,即节点的块被水平划分的方向和块被垂直划分的方向。如图2所示,当MTT划分开始时,指示节点是否被划分的第二标志(mtt_split_flag)、在划分情况下指示划分方向(垂直或水平)的标志和/或指示划分类型(二元或三元)的标志由熵编码器155编码并且用信号发送(signaling)给视频解码装置。或者,在对指示每个节点是否被划分成下层的4个节点的第一标志(QT_split_flag)进行编码之前,可以对指示该节点是否被划分的CU划分标志(split_cu_flag)进行编码。当CU划分标志(split_cu_flag)的值指示不执行划分时,该节点的块成为划分树结构中的叶节点,并作为编码单元(CU),CU为编码的基本单位。当CU划分标志(split_cu_flag)的值指示执行划分时,视频编码装置被配置为从第一标志开始以上述方式开始对标志进行编码。
当QTBT被用作树结构的另一示例时,可以有两种划分类型,即水平地将块划分成相同大小的两个块的类型(即,对称水平划分)和垂直地将块划分成相同大小的两个块的类型(即,对称垂直划分)。指示BT结构的每个节点是否被划分成下层的块的划分标志(split_flag)和指示划分类型的划分类型信息由熵编码器155编码并发送到视频解码装置。另一方面,还可以有将节点的块划分成两个不对称的块的附加类型。不对称划分类型可以包括将块以1:3的大小比划分成两个矩形块的类型或者将节点的块对角线方向划分的类型。
根据CTU的QTBT或QTBTTT划分,CU可以具有各种大小。在下文中,对应于要编码或解码的CU(即,QTBTTT的叶节点)的块被称为“当前块”。由于采用了QTBTTT划分,因此当前块的形状可以是正方形或矩形。
预测器120被配置为预测当前块以生成预测块。预测器120包括帧内预测器122和帧间预测器(inter-predictor)124。
一般来说,图片中的每个当前块可以被预测编码。另外,利用帧内预测技术(利用来自包含当前块的图片的数据)或帧间预测技术(利用来自包含当前块的图片之前编码的图片的数据)执行当前块的预测。帧间预测包括单向预测和双向预测。
帧内预测单元122被配置为利用位于包括当前块的当前图片中的当前块周围像素(参考像素)来预测当前块中的像素。根据预测方向,有多个帧内预测模式。例如,如图3A至图3B所示,多个帧内预测模式可以包括包含平面模式和DC模式的两种非定向模式以及65种定向模式。要使用的周围像素和计算式对于每个预测模式的定义是不同的。为了对矩形的当前块进行有效的定向预测,可以附加地使用图3B中虚线箭头所示的定向模式(帧内预测模式67至80和-1至-14)。这些模式可以被称为“广角帧内预测模式”。在图3B中,箭头指示用于预测的相应参考样本,不指示预测方向。预测方向与箭头所示的方向相反。广角帧内预测模式是在当前块具有矩形形状时在与特定定向模式相反的方向上执行预测而不需要附加的比特发送的模式。特别地,在广角帧内预测模式中,一些可用于当前块的广角帧内预测模式可以基于矩形当前块的宽度和高度的比率来确定。例如,在当前块具有高度小于宽度的矩形形状时,可以使用角度小于45度的广角帧内预测模式(帧内预测模式67至80)。在当前块具有高度大于宽度的矩形形状时,可以使用角度大于-135度的广角帧内预测模式(帧内预测模式-1至-14)。
帧内预测器122可以被配置为确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内预测器122可以被配置为利用几种帧内预测模式对当前块进行编码,并且从测试的模式中选择要使用的适当的帧内预测模式。例如,帧内预测器122可以被配置为利用几种测试的帧内预测模式的速率失真(rate-distortion)分析来计算速率失真值,并且可以被配置为在测试的模式中选择具有最佳速率失真特性的帧内预测模式。
帧内预测器122被配置为从多种帧内预测模式中选择一种帧内预测模式,并且利用根据所选择的帧内预测模式确定的周围像素(参考像素)和计算式来预测当前块。关于所选择的帧内预测模式的信息由熵编码器155编码并发送到视频解码装置。
帧间预测器124被配置为通过运动补偿过程为当前块生成预测块。帧间预测器124被配置为在比当前图片更早地被编码和解码的参考图片中搜索与当前块最相似的块,并且利用搜索到的块为当前块生成预测块。然后,帧间预测器被配置为生成与当前图片中的当前块和参考图片中的预测块之间的位移相对应的运动向量(motion vector)。一般来说,运动估计是对亮度(luma)分量执行的,并且基于亮度分量计算的运动向量用于亮度分量和色度分量两者。包括关于参考图片的信息和关于用于预测当前块的运动向量的信息的运动信息由熵编码器155编码并发送到视频解码装置。
预测器120可以进一步使用帧内块复制(IBC)模式。在IBC模式中,预测器120被配置为像在帧内预测模式中那样在与当前块相同的帧或图片中搜索预测块。然而,预测器120通常可以搜索包括相邻的行和列的像素的更广泛的搜索范围。在IBC模式中,预测器120可以被配置为确定块向量(被称为运动向量)以识别在与当前块相同的帧或图片中的预测块。块向量包括x分量和y分量,其中x分量识别受预测的当前块与预测块之间的水平位移,而y分量识别受预测的当前块与预测块之间的垂直位移。所确定的块向量在比特流中用信号发送(signaling),使得视频解码装置可以识别与视频编码装置所选择的相同的预测块。
减法器130被配置为从当前块中减去由帧内预测器122或帧间预测器124生成的预测块以生成残差块。
变换器140可以被配置为将残差块划分成一个或多个变换块,并将变换应用于一个或多个变换块,从而将变换块的残差值从像素域变换到频域。在频域中,被转换的块被称为包含一个或多个变换系数值的系数块。二维变换核可以用于变换,而一维变换核可以分别用于水平变换和垂直变换。变换核可以基于离散余弦变换(DCT)、离散正弦变换(DST)等。
变换器140可以被配置为利用残差块的整个大小作为变换单元来变换残差块中的残差信号。另外,如稍后将参照图5描述的那样,变换器140可以被配置为在水平方向或垂直方向上将残差块划分为两个子块,并且仅对两个子块中的一个进行变换。因此,变换块的大小可以不同于残差块的大小(因此也不同于预测块的大小)。在未转换的子块中,非零的残差样本值可能不存在或非常罕见。未转换的子块的残差样本没有被用信号发送(signaling),并可以被视频解码装置视为“0”。根据划分方向和划分比例,可以有多种划分类型。变换器140可以向熵编码器155提供关于残差块的编码模式(或变换模式)的信息(例如,指示残差块是否被变换或残差子块是否被变换的信息,以及指示为将残差块划分为子块而选择的划分类型的信息,以及识别被变换的子块被执行的信息)。熵编码器155可以被配置为对关于残差块的编码模式(或变换模式)的信息进行编码。
量化器145被配置为对从变换器140输出的变换系数进行量化,并且将量化的变换系数输出到熵编码器155。对于一些块或帧,量化器145可以被配置为直接量化相关的残差块而不进行变换。
重排单元150可以被配置为重新排列量化残差值的系数值。重排单元150可以被配置为通过系数扫描将二维的系数阵列改变为一维的系数序列。例如,重排单元150可以被配置为使用之字形扫描(zig-zag scan)或对角线扫描将系数从DC系数扫描到高频区域的系数,以输出一维系数序列。根据变换单元的大小和帧内预测模式,可以利用二维系数阵列在列方向被扫描的垂直扫描或二维块状系数在行方向被扫描的水平扫描,以代替之字形扫描。换言之,可以根据变换单元的大小和帧内预测模式,在之字形扫描、对角线扫描、垂直扫描和水平扫描中确定要使用的扫描模式。
熵编码器155被配置为利用诸如基于上下文的自适应二进制算术代码(CABAC)和指数哥伦布(Exponential Golomb)的各种编码技术对从重排单元150输出的一维量化变换系数进行编码,以生成比特流。
熵编码器155被配置为对诸如CTU大小、CU划分标志、QT划分标志、MTT划分类型和MTT划分方向的与块划分相关的信息进行编码,使得视频解码装置可以以与视频编码装置中相同的方式划分块。另外,熵编码器155被配置为对关于指示当前块是通过帧内预测还是帧间预测进行编码的预测类型的信息进行编码,并且根据预测类型对帧内预测信息(即,关于帧内预测模式的信息)或帧间预测信息(关于参考图片索引和运动向量的信息)进行编码。
逆量化器160被配置为对从量化器145输出的量化变换系数进行逆量化以生成变换系数。逆变换器165被配置为将从逆量化器160输出的变换系数从频域变换到空间域并重建残差块。
加法器170被配置为将重建的残差块添加到由预测器120生成的预测块以重建当前块。在执行下一个块的帧内预测时,重建的当前块中的像素被用作参考像素。
滤波器单元180被配置为对重建的像素进行滤波以减少由于基于块的预测和变换/量化而产生的块伪影(blocking artifacts)、振铃伪影(ringing artifacts)和模糊伪影(blurring artifacts)。滤波器单元180可以包括去块滤波器182和像素自适应偏移(SAO)滤波器184。
去块滤波器180被配置为对重建块之间的边界进行滤波以去除由逐块编码/解码引起的块伪影(artifact),并且SAO滤波器184被配置为对去块滤波的视频执行附加滤波。SAO滤波器184是用于补偿由有损编码(lossy coding)引起的重建像素和原始像素之间的差异的滤波器。
通过去块滤波器182和SAO滤波器184滤波的重建块被存储在存储器190中。如果一个图片中的所有块被重建,则重建的图片可以被用作参考图片,用于对下一个要被编码的图片中的块进行帧间预测。
图4是能够实现本公开的技术的视频解码装置的示例性功能框图。在下文中,将参照图4描述视频解码装置和该装置的元件。
视频解码装置可以包括熵解码器410、重排单元415、逆量化器420、逆变换器430、预测器440、加法器450、滤波器单元460和存储器470。
类似于图1的视频编码装置,视频解码装置的每个元件可以以硬件、软件或硬件和软件的组合实现。此外,每个元件的功能可以以软件实现,并且微处理器可以实现为执行对应于每个元件的软件的功能。
熵解码器410被配置为通过对由视频编码装置生成的比特流进行解码来确定要解码的当前块并提取与块划分相关的信息,并且提取重建当前块所需的预测信息和关于残差信号的信息等。
熵解码器410被配置为从序列参数集(SPS)或图片参数集(PPS)中提取关于CTU大小的信息,确定CTU的大小,并将图片划分成具有确定大小的CTU。然后,解码器被配置为确定CTU为树结构的最上层,即根节点,并提取关于CTU的划分信息,以利用树结构划分CTU。
例如,当利用QTBTTT结构划分CTU时,提取与QT的划分相关的第一标志(QT_split_flag)以将每个节点划分成下层的四个节点。对于对应于QT的叶节点的节点,提取与MTT的划分有关的第二标志(MTT_split_flag)和关于划分方向(垂直/水平)和/或划分类型(二元/三元)的信息,以MTT结构划分相应叶节点。由此,QT的叶节点下面的每个节点都以BT或TT结构被递归地划分。
作为另一示例,当利用QTBTTT结构划分CTU时,可以提取指示是否划分CU的CU划分标志(split_cu_flag)。当相应的块被划分时,可以提取第一标志(QT_split_flag)。在划分操作中,在零个或更多个递归的QT划分之后,每个节点可发生零个或更多个递归的MTT划分。例如,CTU可以直接进行MTT划分而不进行QT划分,或者只多次进行QT划分。
作为另一示例,当利用QTBT结构划分CTU时,提取与QT划分相关的第一标志(QT_split_flag),并且每个节点被划分成下层的四个节点。然后,提取指示与QT的叶节点相对应的节点是否在BT中进一步划分的划分标志(split_flag)和划分方向信息。
另一方面,如果通过树结构中的划分确定要解码的当前块,则熵解码器410被配置为提取关于指示当前块是帧内预测还是帧间预测的预测类型的信息。当预测类型信息指示帧内预测时,熵解码器410被配置为提取当前块的帧内预测信息(帧内预测模式)的句法元素。当预测类型信息指示帧间预测时,熵解码器410被配置为提取帧间预测信息的句法元素,即指示运动向量和由该运动向量参考的参考图片的信息。
另一方面,熵解码器410被配置为从比特流中提取关于残差块的编码模式的信息(例如,关于是对残差块编码还是仅对残差块的子块编码的信息、指示为将残差块划分为子块而选择的划分类型的信息、识别编码的残差子块的信息、量化参数等)。熵解码器410还被配置为提取关于当前块的量化变换系数的信息作为关于残差信号的信息。
重排单元415可以被配置为以由视频编码装置执行的系数扫描的反向顺序将由熵解码器410熵解码的一维量化变换系数的序列改变为二维系数阵列(即,块)。
逆量化器420被配置为对量化的变换系数进行逆量化。逆变换器430被配置为基于关于残差块的编码模式的信息将逆量化的变换系数从频域逆变换到空间域以重建残差信号,从而生成当前块的重建残差块。
当关于残差块的编码模式的信息指示当前块的残差块已经被视频编码装置编码时,逆变换器430利用当前块的大小(以及要重建的残差块的大小)作为逆量化变换系数的变换单元,以执行逆变换来生成当前块的重建残差块。
当关于残差块的编码模式的信息指示只有残差块的一个子块已经被视频编码装置编码时,逆变换器430利用被变换的子块的大小作为逆量化变换系数的变换单元来执行逆变换以重建被变换的子块的残差信号,并且将未被变换的子块的残差信号填充为“0”值以生成当前块的重建残差块。
预测器440可以包括帧内预测器442和帧间预测器444。在当前块的预测类型为帧内预测时,帧内预测器442被激活,并且在当前块的预测类型为帧间预测时,帧间预测器444被激活。
帧内预测器442被配置为基于从熵解码器410提取的用于帧内预测模式的句法元素,在多个帧内预测模式中确定当前块的帧内预测模式,并且根据帧内预测模式利用当前块周围的参考像素预测当前块。
帧间预测器444被配置为利用从熵解码器410中提取的用于帧内预测模式的句法元素来确定当前块的运动向量和由运动向量所参考的参考图片,并且基于运动向量和参考图片来预测当前块。
预测器440可以进一步使用帧内块复制(IBC)模式。在IBC模式中,预测器440被配置为像在帧内预测模式中那样在与当前块相同的帧或图片中搜索预测块。然而,预测器120通常可以搜索包括相邻的行和列的像素的更广泛的搜索范围。在IBC模式中,预测器440可以被配置为确定块向量(被称为运动向量)以识别与当前块在同一帧或图片中的预测块。预测器440可以利用由熵解码器410从比特流解码的块向量来识别由视频编码装置选择的相同预测块。
加法器450被配置为通过添加从逆变换器输出的残差块和从帧间预测器或帧内预测器输出的预测块来重建当前块。重建的当前块中的像素被用作对下一个要解码的块进行帧内预测的参考像素。
滤波器单元460可以包括去块滤波器462和SAO滤波器464。去块滤波器462对重建块之间的边界进行去块滤波,以去除由逐块解码引起的块伪影。SAO滤波器464被配置为在去块滤波后对重建块执行附加的滤波,以相应地进行偏移来补偿由有损编码引起的重建像素和原始像素之间的差异。通过去块滤波器462和SAO滤波器464滤波后的重建块被存储在存储器470中。当一个图片中的所有块被重建时,重建的图片被用作用于对下一个要编码的图片中的块进行帧间预测的参考图片。
本公开公开一种利用视频帧内的纹理相似性的新编码工具。图像内的纹理相似性可以在经常出现简单形状或纹理的重复的屏幕内容视频中以及在各种具有重复纹理或图案的现实世界图片(例如,背景中带有墙纸的图片)中找到。
帧内预测技术采用来自周围块的块预测,而不考虑非周围块之间的长距离相似性。帧内块复制(IBC)是一种利用与同一帧或切片单元内的区域中已经重建的样本中正在编码的块最相似的块作为预测块的技术。IBC可以改善经常发生纹理重复的图片的预测性能。为了减少内存消耗和解码器的复杂性,VVC标准中规定的IBC技术在被称为虚拟缓冲区的预定义区域内搜索IBC参考块,该预定义区域可以只包括当前CTU区域和左侧CTU的一部分。因此,IBC可以解决帧内预测技术的一些不考虑长距离相似性的弱点。但由于参考区块的搜索范围有限,IBC在利用长距离相似性方面仍然受到限制。类似地,在帧间预测技术中,参考块的搜索范围是有限的,以减少编码器的复杂性并避免用信号发送(signaling)大运动向量。
在下文中,提出一种补丁本预测模式(patch-book prediction mode),这是一种可以利用视频帧内纹理的长距离相似性的新编码工具。
在补丁本预测模式中,视频编码器和视频解码器利用补丁本列表生成编码块的预测块,在补丁本列表中作为具有经常出现在视频数据的帧中的纹理的块的补丁本被映射到索引。在构建补丁本列表后,编码器从补丁本列表中选择适合编码块的一个或多个补丁本,并用信号发送(signaling)每个所选择的补丁本的索引。解码器从解析自比特流的索引中识别补丁本,并利用在识别的补丁本内定义的颜色值预测编码块的像素值。
可以随后对以补丁本预测模式预测的编码块的像素的补丁本的索引用信号发送(signaling)残差值。因此,可以通过将残差值添加到利用由索引识别的补丁本中定义的颜色值获得的预测值来重建编码块的像素。或者,对于以补丁本预测模式预测的编码块的像素,可以不用信号发送(signaling)残差值,因此,可以直接从由补丁本的索引识别的补丁本的值重建编码块的像素。在一些实施例中,可以利用1位标志来控制发出残差值信号。
图5是示出根据本公开的一方面在对视频数据进行编码中使用的补丁本列表的示意图。
补丁本列表具有与索引相匹配的多个补丁本。补丁本的每个元素可以具有给定颜色空间的各个颜色分量值,例如<R、G、B>、<Y、Cb、Cr>或<Y、Co、Cg>。因此,由一个索引值识别的一个N×M大小的补丁本可以包括N×M个元素,对于N×M个像素中的每一个具有三个颜色分量值。或者,每个颜色分量可以使用一个补丁本列表,或者为亮度和色度分量配置单独的补丁本列表。因此,可以为每个颜色分量或单独为亮度和色度分量用信号发送(signaling)索引。
例如,在利用CU划分(partitioning)在亮度和色度分量之间不同的双树(dualtree)的切片的情况下,可以使用每个颜色分量的补丁本列表(例如,Y补丁本列表、Cb补丁本列表和Cr补丁本列表),或者可以使用两个补丁本列表(例如,Y补丁本列表和Cb/Cr补丁本列表)。在单树(single tree)的情况下,可以使用一个包括每个补丁本中所有颜色分量(Y、Cb和Cr)值的补丁本列表。在单色的情况下,可以使用一个补丁本列表。
补丁本可以具有一个预定义的大小(例如,4×4)。补丁本的预定义大小可以等于或小于给定图片所允许的最小CU的大小。或者,可以使用各种大小的补丁本(例如,4x4、8x8或16x16)。此外,补丁本可以具有宽度与高度不同的非正方形的形状(即矩形形状)。最大的补丁本可以等于CTU的大小,最小的补丁本可以等于或小于给定图片允许的最小CU的大小。甚至大小为1×1的补丁本也可以用于预测像素级的值。因此,对于以补丁本预测模式预测的CU,可以用信号发送(signaling)指示一个补丁本的一个索引或指示多个补丁本的多个索引。因此,可以基于每个子集的不同补丁本中定义的颜色值来确定CU内的每个样本子集的预测值。此外,根据色度子采样格式,颜色分量的各个补丁本的大小可以不同。例如,在4:2:0格式的情况下,色度分量的补丁本的大小可以是亮度分量的补丁本大小的一半。图5的(b)中所示的亮度和色度分量的补丁本的大小分别为N×M和L×K,其中L=M/2且K=N/2。
作为在补丁本预测模式下对块进行编码的一部分,视频编码器和解码器可以首先确定将用于块的补丁本的列表。然后可以对块的补丁本索引进行编码,以指示补丁本列表中的哪些条目应被用于预测或重建块的像素(样本)。此外,可以对表示为块确定的索引数量的数据进行编码。
1.补丁本的预测性编码
为了从基于补丁本的编码块预测当前块的补丁本列表,可以引入补丁本预测列表(也被称为“补丁本预测器”)。
补丁本预测列表可以针对视频数据的每个块(例如,CU或PU)或每个块组(例如,图片、切片或CTU)进行更新。可以基于更新先前的补丁本预测列表,生成随后的块或随后的块组的新补丁本预测列表。例如,视频编码器和视频解码器可以在补丁本模式下对当前块或块组进行编码,然后利用当前补丁本列表更新补丁本预测列表。在当前补丁本列表中使用的补丁本条目被插入到新补丁本预测列表中,并且先前的补丁本预测列表中未在当前补丁本列表中使用的条目可以在新补丁本预测列表的新条目的下一个位置添加,直到达到补丁本预测列表的最大允许大小。
对补丁本预测列表进行初始化是指为一组视频块(例如,图片、子图片、切片或图块)的第一块生成补丁本预测列表的过程。由于先前使用的补丁本预测列表对第一块不可用,因此第一块的补丁本预测列表可以被初始化为零。因此,用于第一块的补丁本列表的所有条目可以是由编码器显式地用信号发送(signaling)的新条目。
此外,当激活波前并行处理(Wavefront Parallel Processing,WPP)时,可能必须在每个CTU行的第一CTU(或VPDU)中初始化补丁本预测列表,以并行处理CTU行。此时,不是将补丁本预测列表初始化为0,而是可以利用位于当前CTU行上层的已经解码的CTU或VPDU的补丁本数据来初始化当前CTU行的第一CTU(或VPDU)的补丁本预测列表。换言之,上层CTU行的已经解码的CTU的补丁本预测列表可以直接用作当前CTU行的第一CTU的补丁本预测列表。例如,如图6所示,当使用1-CTU延迟WPP(即,4-VPDU延迟WPP)时,可以利用在先前CTU行中已经解码的最后VPDU的补丁本预测列表(即,利用当前CTU的上层CTU的补丁本预测列表)来初始化用于构建当前CTU行的第一CTU的补丁本列表的补丁本预测列表。
可以基于补丁本预测列表来确定当前块或块组的补丁本列表的条目。具体地,为了指示补丁本预测列表中的哪些条目应在当前补丁本列表中使用,视频编码器可以用信号发送(signaling)每个条目的二元标志(其也可以被称为“重新使用的标志”)。值为“1”的二元标志可以指示相关条目在当前补丁本列表中使用,而值为“0”的二元标志可以指示相关条目在当前补丁本列表中不使用。一串二元标志可以被称为索引向量。可以利用(0或1的分档(bin)的)运行长度编码在比特流中发送索引向量。
视频解码器可以从比特流中解析索引向量,并将由在补丁本预测列表内的补丁本(即,重新使用重新使用的补丁本)中的索引向量指定的补丁本插入到当前补丁本列表中。
用于对当前块或块组进行编码的补丁本列表还可以包括一个或多个被显式地编码或隐式地确定的新补丁本条目(例如,除了索引向量之外)。一个或多个新补丁本可以在重新使用重新使用的补丁本之后被添加到当前补丁本列表中。
图7是示出根据本公开的方面的构建用于对视频数据块进行编码的补丁本列表的示例的示意图。在图7的示例中,补丁本预测列表有8个条目。索引向量指示补丁本预测列表的第一和第五条目(即,具有索引0和索引4的条目)被包括在当前补丁本列表中,而其余条目(即,索引1至3和索引5至6)不包括在当前补丁本列表中。
重新使用的条目的数量可以在补丁本预测列表处与索引向量分别被用信号发送(signaling)。此外,当前补丁本列表的大小(即,最大的条目数)或将在当前补丁本列表中使用的新补丁本的数量可以被用信号发送(signaling)。在一些实施例中,可以对指示存在或不存在新补丁本的标志进行编码。
在图7所示的补丁本列表中,对应于索引2和索引3的补丁本不是补丁本预测列表上的条目,而是由编码器显式地用信号发送(signaling)或由解码器隐式地确定的新条目。当补丁本列表的所有条目都被索引向量填充时,指示新补丁本条目的句法元素的编码可以被跳过。
或者,可以基于在高层(high level)用信号发送(signaling)的默认补丁本列表来确定用于块的基于补丁本的编码的补丁本列表的条目。例如,视频编码器可以在高层(例如,图片参数集(PPS)、序列参数集(SPS)、适应参数集(APS)或切片报头)用信号发送(signaling)具有多个补丁本的默认补丁本列表。视频编码器可以以与图7所示的方式相似的方式指示构建默认补丁本列表中属于高层的块或块组的补丁本列表的补丁本。视频解码器可以对高层的句法元素进行解码,以确定默认补丁本列表,并且可以以与图7所示的方式相似的方式构建用于对属于高层的块或块组进行基于补丁本的预测性解码的补丁本列表。
2.新补丁本的生成和用信号发送(signaling)
如上所述,由视频编码器生成并用信号发送(signaling)的一个或多个新的补丁本可以被添加到补丁本列表或补丁本预测列表。在下文中,描述几种有效地生成新补丁本和用信号发送(signaling)新补丁本的方式。
首先,假设视频编码器用信号发送(signaling)大小为N×M的新补丁本。在第一方式中,视频编码器可以用信号发送(signaling)新补丁本内的条目(即,样本)的一个代表值,并可以附加地用信号发送(signaling)每个样本和代表值之间的差值。代表值可以是新补丁本内样本的平均值或中值,或者可以是补丁本内特定位置(例如,[0][0]位置)的样本值。当补丁本针对每个颜色分量单独定义时,可以针对每个颜色分量单独定义代表值,并且具有每个颜色分量的N×M大小的补丁本可以如下得出。
[公式1]
LumaBook[i][j]=LumaRval+LumaRes[i][j]
CbBook[i][j]=CbRval+LumaRes[i][j]
CrBook[i][j]=CrRval+CrRes[i][j]
在公式1中,LumanRval、CbRval和CrRval分别是Y、Cb和Cr颜色分量的代表值;LumaRes、LumaRes和CrRes分别是Y、Cb和Cr颜色分量的差值。在YCbCr 4:4:4格式的情况下,0≤i<N,0≤j<M。在YCbCr4:2:0格式或YCbCr 4:2:2格式的情况下,对于CbBook和CrBook,0≤i<N/2,0≤j<M/2。
如果新补丁本的每个条目都定义所有颜色分量的值(即,在3通道补丁本定义每个采样位置的3通道像素值的情况下),代表值可以是3通道值,并且可以得出如下的N×M大小的补丁本。
[公式2]
Book[i][j]=Rval+Resi[i][j],0≤i<N,0≤j<M
在公式2中,Rval是3个通道的代表值,Resi是3个通道的差值。
而且,视频编码器可以对每个样本和代表值之间的差值进行编码,其编码方式类似于通常对视频块的残差块执行的编码。换言之,视频编码器可以对差值进行熵编码以及变换和/或量化处理。因此,视频解码器可以执行熵解码、逆变换和/或逆量化过程,以从比特流中获得差值LumaRes、LumaRes、CrRes或Resi。
在第二方式中,视频编码器可以用信号发送(signaling)新补丁本的样本的一个代表值,并用信号发送(signaling)指示新补丁本的大小的索引。视频解码器可以通过参考预定义的映射表来检查由索引指示的补丁本的大小,并生成具有由索引指示的大小的新补丁本,其中新补丁本内所有样本位置的像素值具有一个代表值(即,相同的值)。表1示出将补丁本大小映射到索引的映射表。
[表1]
索引 | 补丁本大小 |
0 | <![CDATA[(N<sub>0</sub>×M<sub>0</sub>)]]> |
1 | <![CDATA[(N<sub>0</sub>×M<sub>0</sub>)]]> |
… | … |
k-1 | <![CDATA[(N<sub>k-1</sub>×M<sub>k-1</sub>)]]> |
在第三种方式中,视频编码器可以通过组合存在于当前补丁本预测列表中的大小小于新补丁本的补丁本来生成新的补丁本。例如,视频编码器可以通过合并或拼接(stitch)四个4x4大小的补丁本来生成新的16x16补丁本。视频编码器可以用信号发送(signaling)当前补丁本预测列表上的补丁本索引,以指示用于生成新补丁本的补丁本。解码器可以通过从比特流解析补丁本索引并合并或拼接映射到补丁本索引的当前补丁本来生成新的补丁本。
在第四种方式中,视频编码器可以从当前帧或已经编码和解码的帧中重建的区域生成新的补丁本。例如,视频编码器和视频解码器可以将帧内预测编码块的重建块或帧间预测编码块的重建块作为新补丁本添加到补丁本预测列表。可以由视频编码器利用1位(bit)标志来控制是否将重建块添加到补丁本预测列表中。此外,视频编码器可以从以IBC模式编码的块的重建块生成新补丁本。在这种情况下,可以根据IBC模式中使用的块向量隐式地确定是否将重建块添加到补丁本预测列表中。例如,当块向量大于或等于预设阈值时,相关的重建块可以作为新补丁本被添加到补丁本预测列表中。
类似地,可以根据用于帧间预测的运动向量隐式地确定是否将帧间预测编码块的重建块添加到补码本预测列表中。例如,当运动向量大于或等于预设阈值时,相关的重建块可以作为新补丁本被添加到补丁本预测列表。作为另一示例,对于具有大于或等于预设阈值的运动向量的帧间预测编码块的重建块,编码器可以通过利用1位标志来控制是否将重建块添加到补丁本预测列表中。
具有与周围块相当不同的运动的重建块可以作为新补丁本使用。例如,参照图8,在当前块800的运动向量MVcur与周围块811、812的运动向量MV0、MV1、MV2和MV3中的至少一个之间的差异大于或等于预设阈值时,当前块800的重建块可以作为新补丁本被添加到补丁本预测列表中。因此,视频编码器和视频解码器基于周围块811、812的运动向量MV0、MV1、MV2和MV3与当前块800的运动向量MVcur之间的比较,确定是否将当前块800的重建块作为新补丁本添加到补丁本预测列表。
可以从一个帧内预测编码块、帧间预测编码块或在IBC模式下编码的块的重建块的一部分生成新补丁本。
例如,视频编码器和视频解码器可以从作为重建块的一部分的预定义的NxM区域生成大小为NxM的新补丁本。因此,新补丁本的大小可以小于重建块的大小。可以基于重建块内的左上、右上、左下、右下或中心位置来定义预定义的N×M区域。
作为另一示例,视频编码器和视频解码器可以从重建块中可能的NxM区域中残差值的绝对值之和最小的NxM区域生成新补丁本。图9示出与大小为8x4的重建块有关的残差块900。当从大小为8x4的重建块生成4x4补丁本时,五个不同的4x4区域(即,五个候选区域)可以被视为重建块中(以及在相应的残差块900中)的可能区域。在图9所示的残差块900中,由粗框表示的4×4区域是残差块内可能的4×4区域中残差值的绝对值之和最小的区域。换言之,视频编码器和视频解码器可以确定重建块的对应于4×4区域910的区域为新补丁本。当最小绝对值之和大于预设阈值时,视频编码器和视频解码器可以不从重建块中生成新补丁本。
3.转义(escape)模式
编码块中的一些样本子集可以与包括在补丁本列表中的任意补丁本的纹理不相同或不相似。这样的样本子集可能不适合以基于补丁本的预测模式进行编码。因此,对于在基于补丁本的预测模式下编码的编码块,允许一些样本子集以不同的模式进行编码可能是有效的。该不同的模式可以被称为“转义模式”,并且以转义模式编码的样本(子集)可以被称为“转义样本(或转义子集)”。
视频编码器和视频解码器可以被配置为编码和/或确定指示块的任意样本是否以转义模式编码的标志(其可被称为块级转义标志)。例如,标志值为0可以指示块中没有样本利用转义模式进行编码。换言之,可以基于包括在对块进行编码的补丁本列表中的补丁本来确定块的所有样本的值。标志值为1可以指示块中的一些样本是利用转义模式编码的。换言之,块的一些样本的值被编码为转义样本。
块中转义样本的存在可能会影响块的补丁本列表中的索引的数量。例如,从补丁本预测列表生成的块的补丁本列表可以有N个索引,使得样本子集的索引可以从{0,1,...,N-1}中选择。假设块级转义标志指示当前块中存在转义像素,在这种情况下,视频编码器和视频解码器可以对当前块的补丁本列表添加一个(与补丁本无关的)新索引,使得当前块可用的索引值为{0,1,...,N-1,N}。此处,等于N的新索引(也被称为转义索引)指示相关样本子集是由转义样本组成。小于N的每个索引可以指示相关的样本子集是由颜色值(即,纹理)从与该索引相关的补丁本预测或表达的。
因此,为了指示块的特定样本子集以转义模式编码,编码器可以对代表索引已增加“1”的补丁本列表的最后索引(即,转义索引)的数据进行编码。视频解码器可以推断出,如果块的特定子集的索引等于转义索引,则该特定子集在转义模式下被解码。
图10示出补丁本列表1020的索引被分配给视频数据的块1010的每个子集的情况。图示的补丁本列表1020具有与各补丁本相关的五个索引,并且最后的索引指示转义模式。图示的块1010包括五个分配了转义索引子集。
4.转义样本的编码
对于样本值未作为补丁本条目包括在补丁本列表中的转义样本,视频编码器可以在比特流中针对所有颜色分量显式地用信号发送(signaling)量化样本值。
或者,类似于帧内预测样本,可以从已经以非定向模式(即,DC、平面)或定向模式解码的周围样本预测编码块中的一组转义样本。因此,对于一组转义样本,通过从原始样本值中减去帧内预测值得到的残差值可以被量化,然后由视频编码器在比特流中用信号发送(signaling)。视频编码器可以用信号发送(signaling)指示为该组转义样本选择的帧内预测模式的句法元素。视频编码器和视频解码器可以被配置为始终为转义样本使用一种帧内预测模式预设,在这种情况下,不需要用信号发送(signaling)指示帧内预测模式的模式编号的句法元素。
对于一组转义样本,视频编码器计算显式地用信号发送的量化样本值和从周围样本预测量化样本值的RD成本,并且基于RD成本确定是否显式地用信号发送量化样本值。视频编码器还可以在比特流中用信号发送指示是否对该组转义样本显式地用信号发送量化样本值的1位标志的信号。视频解码器可以解析该1位标志,以确定是从比特流中为一组转义样本解码量化样本值还是从已经解码的周围块预测转义样本的样本值。
5.补丁本索引的扫描顺序
CU中像素子集的补丁本索引的分配信息可以被称为补丁本索引图。视频编码器可以通过根据扫描顺序扫描补丁本索引图中的补丁本索引而得出补丁本索引的一维阵列。类似地,视频解码器可以利用扫描顺序来恢复CU中像素子集的补丁本索引的分配信息。
当在补丁本模式中可用的补丁本的大小都相同时,为了扫描给定CU的补丁本索引,可以选择性地使用图11的(a)所示的水平横移扫描顺序和图11的(b)所示的垂直横移扫描顺序。在另一实施例中,扫描顺序可以选择性地使用水平扫描顺序和垂直扫描顺序。视频编码器可以发出指示用于给定CU的扫描顺序的标志的信号。
当在补丁本模式中各种大小的补丁本可用时,图12所示的Z扫描扫描顺序可以用于扫描给定CU的补丁本索引。用于对图12中(a)所示的CU进行编码的补丁本具有三种不同的大小,而用于对图12中(b)所示的CU进行编码的补丁本具有两种不同的大小。如图12所示,当最小的补丁本的大小为n×m时,可以按2n×2m的单位执行Z扫描。最小补丁本的大小可以具有为CU确定的补丁本列表中的最小补丁本的大小或为视频编码器和视频解码器预定义的大小。
在下文中,将参照图13和图14描述利用基于补丁本的编码技术的编码和解码方法。例如,在图1和图4中分别示出的视频编码装置和视频解码装置可以分别执行所示的编码和解码方法。
图13是示出根据本公开的一方面的用于利用基于补丁本的编码技术对视频数据进行编码的方法的流程图。
作为在补丁本预测模式下对视频数据块进行编码的一部分,视频编码器可以确定要用于视频数据块的补丁本列表(S1310)。
视频编码器可以在用于视频数据块的补丁本列表中确定一个或多个索引值(S1320)。每个索引值代表补丁本列表的补丁本条目中具有对应于所述块中的像素子集的颜色值的补丁本条目。
接下来,视频编码器可以对视频数据块的补丁本索引进行编码,以指示补丁本列表的哪些条目应被用于预测或重建块的像素(样本)(S1330)。
视频编码器可以确定包括一个或多个候选补丁本的补丁本预测列表。视频编码器可以在补丁本预测列表的条目中确定在视频数据块的补丁本列表中使用的至少一个条目。视频编码器可以用信号发送每个条目的二元标志,以指示在补丁本预测列表中的哪个条目应在当前补丁本列表中使用。用于另一已经重建的视频数据块的补丁本列表的条目可以包括在补丁本预测列表中。此外,在已经编码的视频数据块中,来自(1)帧内预测编码块的重建块、(2)帧间预测编码块的重建块或(3)以IBC模式编码的块的重建块的新条目可以包括在补丁本预测列表中。此外,补丁本预测列表可以包括通过拼接为另一已经编码的视频数据块确定的补丁本预测列表中存在的条目而生成的新条目。
视频编码器可以从由索引值指示的补丁本条目生成块的像素子集的预测值(S1340)。此外,视频编码器可以从块的像素子集的预测值确定块的像素子集的残差值(S1350)。此外,视频编码器可以对块的像素子集的残差值进行编码(S1360)。
视频编码器可以确定视频数据块是否包含与补丁本列表的任何条目都不相关的转义像素子集。视频编码器可以执行包括对转义像素子集的变换和量化的编码过程,以将转义像素的样本值编码到比特流中。或者,视频编码器可以从视频数据块的重建的周围块生成转义像素子集的预测值。此外,视频编码器可以基于预测值生成转义像素子集的残差值,并将残差值编码到比特流中。
图14是示出根据本公开内容的一方面的用于利用基于补丁本的编码技术对视频数据进行解码的方法的流程图。
作为在补丁本预测模式下对视频数据块进行解码的一部分,视频解码器可以确定将用于视频数据块的补丁本列表(S1410)。为了确定补丁本列表,视频解码器可以确定包括一个或多个候选补丁本的补丁本预测列表,并在补丁本预测列表的条目中确定在块的补丁本列表中使用的至少一个条目。或者,可以基于由高级(high level)句法元素指定的默认补丁本列表来确定用于视频数据块的补丁本列表。视频解码器可以在默认补丁本列表的条目中确定在视频数据块的补丁本列表中使用的至少一个条目。
视频解码器可以从比特流确定用于视频数据块的补丁本列表中的一个或多个索引值(S1420)。每个索引值指示补丁本列表中的补丁本条目中具有对应于像素子集的颜色值的补丁本条目。换言之,索引值指示补丁本列表的哪些条目应被用于预测或重建块的像素(样本)。
接下来,视频解码器可以基于视频数据块的补丁本列表和索引值来重建像素的子集。视频解码器可以从由索引值指示的补丁本条目生成像素子集的预测值(S1440),从比特流确定像素子集的残差值(S1450),并将残差值添加到预测值(S1460)。或者,视频解码器可以从由索引值指示的补丁本条目生成像素子集的重建的样本值,而不从比特流的确定块的像素子集的残差值。
视频解码器可以确定视频数据块是否包含与补丁本列表的任何条目都不相关的转义像素子集。视频解码器可以从比特流获得转义像素子集的编码的样本值,并对编码的样本值执行逆变换和逆量化,以重建转义像素子集。或者,视频解码器可以从视频数据块的重建的周围块生成转义像素子集的预测数据。此外,视频解码器可以从比特流获得转义像素子集的残差数据,并将残差数据添加到预测数据以重建转义像素子集。
应该理解的是,上面描述的示例性实施例可以以许多不同的方式实施。一个或多个示例中描述的功能或方法可以实施为硬件、软件、固件或其任意组合。应当理解的是,本文描述的功能组件已被标记为“单元”,以进一步强调其实施的独立性。
本公开中描述的各种功能或方法可以通过可由一个或多个处理器读取和执行的存储在非暂时性记录介质中的指令来实施。非暂时性记录介质包括例如数据以可由计算机系统读取的形式存储的所有类型的记录装置。例如,非暂时性记录介质包括诸如可擦除可编程只读存储器(EPROM)、闪存驱动器、光驱动器、磁性硬盘和固态驱动器(SSD)的存储介质。
以上的描述只是示例性地描述了本实施例的技术思想,本领域技术人员在不脱离本实施例的本质特征的范围内可以进行各种修改和变形。因此,本实施例是用于描述本实施例的技术思想,而不是用于限制本实施例的技术思想,本实施例的技术思想不限于这些实施例。本实施例的保护范围应根据所附的权利要求书来解释,所有等同范围内的技术思想也应被解释为包括在本实施例的权利范围。
相关申请的交叉引用
本申请要求于2020年8月4日在韩国提交的申请号为10-2020-0097613的专利申请和于2021年8月3日在韩国提交的申请号为10-2021-0102129的专利申请的优先权。
Claims (20)
1.一种对视频数据进行解码的方法,包括:
确定视频数据块的补丁本列表;
确定所述视频数据块的一个或多个索引值,其中,每个索引值指示所述补丁本列表中的补丁本条目中具有对应于所述视频数据块的像素子集的颜色值的补丁本条目;以及
基于所述视频数据块的所述补丁本列表和所述索引值重建所述像素子集。
2.根据权利要求1所述的方法,其中,重建所述像素子集包括:
从由所述索引值指示的补丁本条目生成所述像素子集的预测值;
从比特流确定所述像素子集的残差值;以及
将所述残差值添加到所述预测值。
3.根据权利要求1所述的方法,其中,重建所述像素子集包括从由所述索引值指示的补丁本条目生成所述像素子集的重建的样本值,而不从比特流确定所述像素子集的残差值。
4.根据权利要求1所述的方法,进一步包括:
确定所述块是否包含与所述补丁本列表的任何条目都不相关的转义像素子集;
从比特流获得所述转义像素子集的编码的样本值;以及
对所述编码的样本值执行逆变换和逆量化,以重建所述转义像素子集。
5.根据权利要求1所述的方法,进一步包括:
确定所述块是否包含与所述补丁本列表的任何条目都不相关的转义像素子集;
从所述块的重建的周围块生成所述转义像素子集的预测值;
从比特流获得所述转义像素子集的残差值;以及
将所述残差值添加到所述预测值以重建所述转义像素子集。
6.根据权利要求1所述的方法,其中,确定所述视频数据块的补丁本列表包括:
确定包括一个或多个候选补丁本的补丁本预测列表;以及
在所述补丁本预测列表的条目中确定在所述视频块的补丁本列表中使用的至少一个条目。
7.根据权利要求6所述的方法,其中,确定所述补丁本预测列表包括确定用于另一已经重建的视频数据块的补丁本列表的条目作为所述补丁本预测列表的条目。
8.根据权利要求6所述的方法,其中,确定所述补丁本预测列表包括:
在已经重建的视频数据块中,从(1)在帧内预测中编码的块的重建块、(2)在帧间预测中编码的块的重建块或(3)以帧内块复制即IBC模式编码的块的重建块生成所述补丁本预测列表的新条目。
9.根据权利要求1所述的方法,其中,确定所述补丁本预测列表包括通过拼接为另一已经编码的视频数据块确定的补丁本预测列表中存在的条目生成所述补丁本预测列表的新条目。
10.根据权利要求1所述的方法,其中,确定所述视频数据块的补丁本列表包括:
识别由在比特流中用信号发送的高层句法元素指定的默认补丁本列表;以及
在所述默认补丁本列表的条目中确定用于所述视频数据块的所述补丁本列表的至少一个条目。
11.一种对视频数据进行编码的方法,包括:
确定视频数据块的补丁本列表;
确定所述视频数据块的一个或多个索引值,其中,每个索引值指示所述补丁本列表中的补丁本条目中具有对应于所述视频数据块的像素子集的颜色值的补丁本条目;以及
对所述视频数据块的所述索引值进行编码。
12.根据权利要求10所述的方法,进一步包括:
从由所述索引值指示的补丁本条目生成所述像素子集的预测值;
从所述像素子集的预测值确定所述像素子集的残差值;以及
对所述像素子集的所述残差值进行编码。
13.根据权利要求10所述的方法,进一步包括:
确定所述视频数据块是否包含与所述补丁本列表的任何条目都不相关的转义像素子集;以及
对所述转义像素子集的样本值执行包括逆变换和逆量化的编码过程。
14.根据权利要求11所述的方法,进一步包括:
确定所述视频数据块是否包含与所述补丁本列表的任何条目都不相关的转义像素子集;
从所述视频数据块的重建的周围块生成所述转义像素子集的预测值;
基于所述转义像素子集的所述预测值生成所述转义像素子集的残差值;以及
对所述转义像素子集的所述残差值进行编码。
15.根据权利要求11所述的方法,进一步包括:
确定包括一个或多个候选补丁本的补丁本预测列表;以及
对指示所述补丁本预测列表的条目中在所述视频块的所述补丁本列表中使用的至少一个条目的二元标志的序列进行编码。
16.根据权利要求15所述的方法,其中,确定所述补丁本预测列表包括确定用于另一已经重建的视频数据块的补丁本列表的条目作为所述补丁本预测列表的条目。
17.根据权利要求15所述的方法,其中,确定所述补丁本预测列表包括,在已经重建的视频数据块中,从(1)在帧内预测中编码的块的重建块、(2)在帧间预测中编码的块的重建块或(3)以帧内块复制即IBC模式编码的块的重建块生成新条目。
18.根据权利要求11所述的方法,其中,确定所述补丁本预测列表包括通过拼接为另一已经编码的视频数据块确定的补丁本预测列表中存在的条目生成新条目。
19.根据权利要求11所述的方法,其中,确定所述视频数据块的补丁本列表包括:
识别由在比特流中用信号发送的高层句法元素指定的默认补丁本列表;以及
在所述默认补丁本列表的条目中确定用于所述视频数据块的所述补丁本列表的至少一个条目。
20.一种对视频数据进行解码的装置,包括:
存储器;以及
一个或多个处理器,其中所述一个或多个处理器执行:
确定视频数据块的补丁本列表;
确定所述视频数据块的一个或多个索引值,其中,每个索引值指示所述补丁本列表中的补丁本条目中具有对应于所述视频数据块的像素子集的颜色值的补丁本条目;以及
基于所述视频数据块的所述补丁本列表和所述索引值重建所述像素子集。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0097613 | 2020-08-04 | ||
KR20200097613 | 2020-08-04 | ||
KR10-2021-0102129 | 2021-08-03 | ||
KR1020210102129A KR20220017373A (ko) | 2020-08-04 | 2021-08-03 | 비디오 데이터의 패치북 기반 부호화 및 복호화를 위한 방법 및 장치 |
PCT/KR2021/010196 WO2022030980A1 (ko) | 2020-08-04 | 2021-08-04 | 비디오 데이터의 패치북 기반 부호화 및 복호화를 위한 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116134820A true CN116134820A (zh) | 2023-05-16 |
Family
ID=80118630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180056808.XA Pending CN116134820A (zh) | 2020-08-04 | 2021-08-04 | 基于补丁本的视频数据编码和解码的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230188709A1 (zh) |
CN (1) | CN116134820A (zh) |
WO (1) | WO2022030980A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022538755A (ja) * | 2019-06-24 | 2022-09-06 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | 高レベル構文要素を使用して復号データをシグナリングする方法および装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101855542B1 (ko) * | 2010-09-10 | 2018-06-08 | 톰슨 라이센싱 | 예제 기반 데이터 프루닝을 이용한 비디오 부호화 |
CN112383780B (zh) * | 2013-08-16 | 2023-05-02 | 上海天荷电子信息有限公司 | 点匹配参考集和索引来回扫描串匹配的编解码方法和装置 |
JP2017522839A (ja) * | 2014-06-20 | 2017-08-10 | シャープ株式会社 | 整合パレット符号化 |
KR20200051066A (ko) * | 2014-10-06 | 2020-05-12 | 브이아이디 스케일, 인크. | 화면 콘텐츠 코딩에 대한 개선된 팔레트 코딩 |
CN107211122B (zh) * | 2015-01-29 | 2020-05-05 | 佳能株式会社 | 对自包含式编码结构进行编码或解码时的调色板预测结果初始化程序 |
TWI709330B (zh) * | 2018-03-06 | 2020-11-01 | 聯發科技股份有限公司 | 調色板解碼的裝置和方法 |
WO2020071703A1 (ko) * | 2018-10-01 | 2020-04-09 | 엘지전자 주식회사 | 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법 |
US11798196B2 (en) * | 2020-01-08 | 2023-10-24 | Apple Inc. | Video-based point cloud compression with predicted patches |
-
2021
- 2021-08-04 WO PCT/KR2021/010196 patent/WO2022030980A1/ko active Application Filing
- 2021-08-04 CN CN202180056808.XA patent/CN116134820A/zh active Pending
-
2023
- 2023-02-02 US US18/104,984 patent/US20230188709A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022030980A1 (ko) | 2022-02-10 |
US20230188709A1 (en) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113491116B (zh) | 基于帧内预测的视频信号处理方法和装置 | |
CN114270826B (zh) | 用于视频数据的帧内预测编码的方法和装置 | |
KR20210000635A (ko) | 크로마블록의 블록 벡터 유도 방법 및 영상 복호화 장치 | |
US12022082B2 (en) | Method for reconstructing residual blocks of chroma blocks, and video decoding apparatus | |
US20230188709A1 (en) | Method and apparatus for patch book-based encoding and decoding of video data | |
US20230113288A1 (en) | Method and apparatus for parallel encoding and decoding of moving picture data | |
CN114270842B (zh) | 利用差分编码的视频编码和解码 | |
RU2811985C2 (ru) | Способ и устройство для кодирования/декодирования сигналов изображений | |
RU2800133C2 (ru) | Способ и устройство для кодирования/декодирования сигналов изображений | |
CN113875255B (zh) | 以子块为单位恢复的方法和图像解码装置 | |
RU2820118C2 (ru) | Способ и устройство для кодирования/декодирования сигналов изображений | |
KR20220017373A (ko) | 비디오 데이터의 패치북 기반 부호화 및 복호화를 위한 방법 및 장치 | |
US20220286686A1 (en) | Video encoding and decoding using differential modulation | |
US20220286692A1 (en) | Video encoding and decoding using differential encoding | |
KR20220071129A (ko) | 적응적 참조화소 선택을 이용한 영상 부호화 및 복호화 방법 | |
CN114009031A (zh) | 用于还原色度块的方法和用于解码影像的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |