CN115211118A - 用于视频编解码的基于聚类的调色板模式 - Google Patents

用于视频编解码的基于聚类的调色板模式 Download PDF

Info

Publication number
CN115211118A
CN115211118A CN202080091423.2A CN202080091423A CN115211118A CN 115211118 A CN115211118 A CN 115211118A CN 202080091423 A CN202080091423 A CN 202080091423A CN 115211118 A CN115211118 A CN 115211118A
Authority
CN
China
Prior art keywords
codec
palette
equal
video
escape
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
Application number
CN202080091423.2A
Other languages
English (en)
Inventor
王萌
李俊儒
张莉
许继征
王悦
王诗淇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Douyin Group HK Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance HK Co Ltd
ByteDance Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance HK Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN115211118A publication Critical patent/CN115211118A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

描述了视频编码和解码装置、方法和***。对视频数据进行编解码的一个示例方法包括:为视频的当前视频块与视频的比特流之间的转换,确定用于当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及使用一个或多个聚类步长执行转换。一个或多个聚类步长根据规则从编解码特性中推导出。

Description

用于视频编解码的基于聚类的调色板模式
相关申请的交叉引用
根据巴黎公约适用的专利法和/或规则,本申请要求2019年12月31日提交的PCT申请PCT/CN2019/130368的优先权和利益。出于法律规定的所有目的,上述申请的全部公开内容通过引用而并入作为本申请公开内容的一部分。
技术领域
本专利文档涉及图像和视频编码和解码。
背景技术
数字视频在互联网和其他数字通信网络上占用了最大的带宽。随着能够接收和显示视频的联网用户设备的数量增加,预计对于数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可以由视频编码器和解码器使用的技术,以使用改进的调色板编解码模式来执行视频编码或解码。
在一个示例方面,公开了一种视频处理方法。该方法包括:为视频的当前视频块与视频的比特流之间的转换,确定用于当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及使用一个或多个聚类步长执行转换;其中,一个或多个聚类步长根据规则从编解码特性中推导出。
在另一示例方面,公开了一种视频处理方法。该方法包括:为视频的当前视频块与视频的比特流之间的转换,确定用于当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及基于一个或多个聚类步长执行转换;其中,一个或多个聚类步长根据当前视频块的量化步长或量化参数的一个或多个列表的索引来确定。
在另一示例方面,公开了一种视频处理方法。该方法包括:为视频的当前视频块与视频的比特流之间的转换,基于编解码条件确定是否使用用于为转换预测调色板的预测器调色板;以及基于该确定来执行转换。
在又一示例方面,公开了一种视频编码器装置。视频编码器装置包括被配置为实施上述方法的处理器。
在又一示例方面,公开了一种视频解码器装置。视频解码器装置包括被配置为实施上述方法的处理器。
在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法之一。
在又一示例方面,公开了一种存储由视频处理装置执行的上述方法生成的视频的比特流的非暂时性计算机可读记录介质。
这些特征以及其他特征将在本文档中通篇描述。
附图说明
图1示出了以调色板模式进行编解码的块的示例。
图2示出了使用预测器调色板来信令通知调色板条目的示例。
图3示出了水平和垂直的遍历扫描的示例。
图4示出了调色板索引的编解码的示例。
图5是示出根据本公开的一些实施例的视频编解码***的框图。
图6是用于视频处理的示例硬件平台的框图。
图7是示出示例视频编解码***的框图。
图8是示出根据本公开的一些实施例的编码器的框图。
图9是示出根据本公开的一些实施例的解码器的框图。
图10是视频处理的示例方法的流程图。
图11是视频数据编解码的示例方法的流程图。
图12是视频数据编解码的示例方法的流程图。
图13是视频数据编解码的示例方法的流程图。
具体实施方式
在本文档中使用章节标题是为了易于理解,而不是将每个章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用H.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因而,本文描述的技术也适用于其他视频编解码器协议和设计。
1初步讨论
本文档涉及视频编解码技术。具体地,它与调色板模式编解码有关。它可以应用于现有的视频编解码标准(如HEVC)或即将完成的标准(通用视频编解码)。它也可以应用于未来的视频编解码标准或视频编解码器。
2视频编解码介绍
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4Visual,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)以及H.265/HEVC[1]标准。自H.262以来,视频编解码标准基于其中利用了时域预测加变换编解码的混合视频编解码结构。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索小组(JVET)。自此以来,JVET采用了许多新方法,并将其输入到名为联合勘探模型(JEM)的参考软件中[1]。在2018年4月,在VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间创建了联合视频专家小组(JVET),其致力于VVC标准,目标是与HEVC相比将比特率降低50%。
VVC草案的最新版本(即通用视频编解码(草案7))可以在以下网址找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip
VVC最新的参考软件(名为VTM)可以在以下网址找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-7.0
2.1 HEVC屏幕内容编解码扩展(HEVC-SCC)中的调色板模式
2.1.1调色板模式的概念
调色板模式背后的基本思想在于CU中的像素由代表性颜色值的小型集合来表示。这个集合被称为调色板(palette)。并且还可以通过信令通知后面跟有(可能量化的)分量值的逸出(escape)符号来指示调色板之外的样点。这种像素称为逸出像素。调色板模式如图1所示。如图1所示,对于具有三个并置分量(亮度分量和两个色度分量)的每个像素,建立调色板的索引,并且可以基于调色板中建立的值来重构块。
2.1.2调色板条目的编解码
对于调色板编解码块,引入以下关键方面:
1)基于预测器调色板和为当前调色板信令通知的新条目(如果存在的话)来构建当前调色板
2)将当前样点/像素分成两类:一个(第一类)包括当前调色板中的样点/像素,另一个(第二类)包括当前调色板之外的样点/像素
a.对于第二类中的样点/像素,(在编码器处)将量化应用于样点/像素,并且信令通知量化的值;以及(在解码器处)应用去量化
2.1.2.1预测器调色板
对于调色板条目的编解码,维护预测器调色板,在对调色板编解码块进行解码之后更新该预测器调色板。
2.1.2.1.1预测器调色板的初始化
预测器调色板在每个条带和每个片的开始处初始化。
调色板以及预测器调色板的最大尺寸在SPS中信令通知。在HEVC-SCC中,在PPS中引入了palette_predictor_initializer_present_flag。当该标志为1时,在比特流中信令通知用于初始化预测器调色板的条目。
取决于palette_predictor_initializer_present_flag的值,预测器调色板的尺寸被重置为0,或者使用在PPS中信令通知的预测器调色板初始化器条目进行初始化。在HEVC-SCC中,启用尺寸为0的预测器调色板初始化器,以允许在PPS级别显式禁用预测器调色板初始化。
相应的语法、语义和解码过程被定义如下:
7.3.2.2.3序列参数集屏幕内容编解码扩展语法
Figure BDA0003722440020000041
Figure BDA0003722440020000051
palette_mode_enabled_flag等于1规定调色板模式的解码过程可以用于帧内块。palette_mode_enabled_flag等于0规定不应用调色板模式的解码过程。当不存在时,palette_mode_enabled_flag的值被推断为等于0。
palette_max_size规定最大允许调色板尺寸。当不存在时,palette_max_size的值被推断为0。
delta_palette_max_predictor_size规定最大允许调色板预测器尺寸与最大允许调色板尺寸之间的差。当不存在时,delta_palette_max_predictor_size的值被推断为0。变量PaletteMaxPredictorSize被推导如下:PaletteMaxPredictorSize=palette_max_size+delta_palette_max_predictor_size
(0-1)
比特流一致性的要求是,当palette_max_size等于0时,delta_palette_max_predictor_size的值应该等于0。
sps_palette_predictor_initializer_present_flag等于1规定序列调色板预测器使用标准中规定的sps_palette_predictor_initializers进行初始化。sps_palette_predictor_initializer_flag等于0规定序列调色板预测器中的条目被初始化为0。当不存在时,sps_palette_predictor_initializer_flag的值被推断为等于0。
比特流一致性的要求是,当palette_max_size等于0时,sps_palette_predictor_initializer_present_flag的值应该等于0。
sps_num_palette_predictor_initializer_minus1加1规定序列调色板预测器初始化器中的条目数。
比特流一致性的要求是,sps_num_palette_predictor_initializer_minus1加1的值应该小于或等于PaletteMaxPredictorSize。
sps_palette_predictor_initializers[comp][i]规定SPS中第i个调色板条目的第comp个分量的值,该第comp个分量用于初始化数组PredictorPaletteEntries。对于0到sps_num_palette_predictor_initializer_minus1范围内的i值,包括0和sps_num_palette_predictor_initializer_minus1,sps_palette_predictor_initializers[0][i]的值应该在0到(1<<BitDepthY)–1的范围内,包括0和(1<<BitDepthY)–1,并且sps_palette_predictor_initializers[1][i]和sps_palette_predictor_initializers[2][i]的值应该在0到(1<<BitDepthC)–1的范围内,包括0和(1<<BitDepthC)–1。
7.3.2.3.3图片参数集屏幕内容编解码扩展语法
Figure BDA0003722440020000061
pps_palette_predictor_initializer_present_flag等于1规定用于参考PPS的图片的调色板预测器初始化器是基于由PPS规定的调色板预测器初始化器而推导出的。pps_palette_predictor_initializer_present_flag等于0规定用于参考PPS的图片的调色板预测器初始化器被推断为等于由活动SPS规定的那些。当不存在时,pps_palette_predictor_initializer_present_flag的值被推断为等于0。
比特流一致性的要求是,当palette_max_size等于0或palette_mode_enabled_flag等于0时,pps_palette_predictor_initializer_present_flag的值应该等于0。
pps_num_palette_predictor_initializer规定图片调色板预测器初始化器中的条目数。
比特流一致性的要求是,pps_num_palette_predictor_initializer的值应该小于或等于PaletteMaxPredictorSize。
调色板预测器变量被初始化如下:
–如果编解码树单元是片中的第一个编解码树单元,则适用以下情况:
–用于调色板预测器变量的初始化过程按照第9.3.2.3条中的规定被调用。
–否则,如果entropy_coding_sync_enabled_flag等于1,并且CtbAddrInRs%PicWidthInCtbsY等于0或者TileId[CtbAddrInTs]不等于TileId[CtbAddrRsToTs[CtbAddrInRs-1]],则适用以下情况:
–空域临近块T(图9-2)的左上亮度样点的位置(xNbT,yNbT)是使用当前编解码树块的左上亮度样点的位置(x0,y0)来推导出的,如下所示:
(xNbT,yNbT)=(x0+CtbSizeY,y0-CtbSizeY) (2-2)
–调用第6.4.1条中规定的按照z扫描顺序的块的可用性推导过程,其中将位置(xCurr,yCurr)设置为等于(x0,y0),并将临近位置(xNbY,yNbY)设置为等于(xNbT,yNbT)作为输入,并且将输出指派给availableFlagT。
–用于上下文变量、莱斯(Rice)参数初始化状态和调色板预测器变量的同步过程被调用如下:
–如果availableFlagT等于1,则以TableStateIdxWpp、TableMpsValWpp、TableStatCoeffWpp、PredictorPaletteSizeWpp和TablePredictorPaletteEntriesWpp作为输入,调用第9.3.2.5条中规定的用于上下文变量、莱斯参数初始化状态和调色板预测器变量的同步过程。
–否则,适用以下情况:
–用于调色板预测器变量的初始化过程按照第9.3.2.3条中的规定被调用。
–否则,如果CtbAddrInRs等于slice_segment_address且dependent_slice_segment_flag等于1,则以TableStateIdxDs、TableMpsValDs、TableStatCoeffDs、PredictorPaletteSizeDs和TablePredictorPaletteEntriesDs作为输入,调用第9.3.2.5条中规定的用于上下文变量和莱斯参数初始化状态的同步过程。
–否则,适用以下情况:
–用于调色板预测器变量的初始化过程按照第9.3.2.3条中的规定被调用。
9.3.2.3用于调色板预测器条目的初始化过程
该过程的输出是初始化的调色板预测器变量PredictorPaletteSize和PredictorPaletteEntries。
变量numComps被推导如下:
numComps=(ChromaArrayType==0)?1:3 (2-3)
–如果pps_palette_predictor_initializer_present_flag等于1,则适用以下情况:
–PredictorPaletteSize被设置为等于pps_num_palette_predictor_initializer。
–数组PredictorPaletteEntries被推导如下:
Figure BDA0003722440020000081
–否则(pps_palette_predictor_initializer_present_flag等于0),那么如果sps_palette_predictor_initializer_present_flag等于1,则适用以下情况:
–PredictorPaletteSize被设置为等于sps_num_palette_predictor_initializer_minus1加1。
–数组PredictorPaletteEntries被推导如下:
Figure BDA0003722440020000091
–否则(pps_palette_predictor_initializer_present_flag等于0且sps_palette_predictor_initializer_present_flag等于0),则PredictorPaletteSize被设置为等于0。
2.1.2.1.2预测器调色板的使用
对于调色板预测器中的每个条目,信令通知重复使用标志,以指示它是否是当前调色板的一部分。这如图2所示。使用零的游程(run-length)编解码来发送重复使用标志。此后,使用0阶的指数哥伦布(EG)码(即EG-0)来信令通知新调色板条目的数量。最后,信令通知新调色板条目的分量值。
2.1.2.2预测器调色板的更新
预测器调色板的更新利用以下步骤来执行:
1.在对当前块进行解码之前,存在由PltPred0表示的预测器调色板。
2.通过首先***来自PltPred0的那些条目、然后***当前调色板的新条目,来构建当前调色板表。
3.构建PltPred1:
a.首先添加当前调色板表(其可以包括来自PltPred0的那些条目)中的那些条目
b.如果未满,则根据升序条目索引添加PltPred0中未引用的条目。
2.1.3调色板索引的编解码
调色板索引是使用水平和垂直的遍历扫描进行编解码的,如图3所示。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于本小节的其余部分,假设扫描是水平的。
调色板索引是使用两种调色板样点模式进行编解码的:“COPY_LEFT”和“COPY_ABOVE”。在“COPY_LEFT”模式下,调色板索引被指派给解码的索引。在“COPY_ABOVE”模式下,复制上方行中的样点的调色板索引。对于“COPY_LEFT”和“COPY_ABOVE”两种模式,信令通知游值(run value),该游值指定也使用相同模式进行编解码的后续样点的数量。
在调色板模式中,逸出样点的索引值是调色板条目的数量。并且,当逸出符号是“COPY_LEFT”或“COPY_ABOVE”模式中的游的一部分时,针对每个逸出符号信令通知逸出分量值。调色板索引的编解码如图4所示。
这种语法顺序是如下完成的。首先,信令通知CU的索引值的数量。随后是使用截断二进制编解码来信令通知整个CU的实际索引值。索引数量以及索引值都以旁路模式进行编解码。这将与索引相关的旁路二进制位(bin)分组在一起。然后,以交错方式信令通知调色板样点模式(如果必要的话)和游程。最后,与整个CU的逸出样点相对应的分量逸出值被分组在一起,并以旁路模式进行编解码。逸出样点的二进制化是具有三阶的EG编解码,即EG-3。
附加的语法元素last_run_type_flag在信令通知索引值之后被信令通知。该语法元素与索引数量相结合,消除了信令通知与块中最后一个游程相对应的游值的需要。
在HEVC-SCC中,调色板模式也针对4:2:2、4:2:0和单色色度格式被启用。对于所有色度格式,调色板条目和调色板索引的信令几乎是相同的。在非单色格式的情况下,每个调色板条目由3个分量组成。对于单色格式,每个调色板条目由单个分量组成。对于二次采样的色度方向,色度样点与可被2整除的亮度样点索引相关联。在重构CU的调色板索引之后,如果样点只有与之相关联的单个分量,则只使用调色板条目的第一个分量。信令中的唯一差值是针对逸出分量值的。对于每个逸出样点,取决于与该样点相关联的分量的数量,信令通知的逸出分量值的数量可能是不同的。
此外,在调色板索引编解码中还有索引调整过程。当信令通知调色板索引时,左侧临近索引或上方临近索引应该不同于当前索引。因此,通过去除一种可能性,将当前调色板索引的范围减少1。此后,用截断二进制(TB)二进制化来信令通知索引。
与该部分相关的文本如下所示,其中CurrPaletteIndex是当前调色板索引,并且adjustedRefPaletteIndex是预测索引。
变量PaletteIndexMap[xC][yC]规定调色板索引,它是由CurrentPaletteEntries表示的数组的索引。数组索引xC、yC规定样点相对于图片的左上亮度样点的位置(xC,yC)。PaletteIndexMap[xC][yC]的值应该在0到MaxPaletteIndex的范围内,包括0和MaxPaletteIndex。
变量adjustedRefPaletteIndex被推导如下:
Figure BDA0003722440020000111
当CopyAboveIndicesFlag[xC][yC]等于0时,变量CurrPaletteIndex被推导如下:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++
2.1.3.1调色板编解码块的解码过程
1)读取预测信息以标记预测器调色板中的哪些条目将被重复使用;
(palette_predictor_run)
2)读取当前块的新调色板条目
a.num_signalled_palette_entries
b.new_palette_entries
3)基于a)和b)来构建CurrentPaletteEntries
4)读取逸出符号存在标志:palette_escape_val_present_flag以推导出MaxPaletteIndex
5)对有多少样点不是用复制模式/游程模式进行编解码的进行编解码
a.num_palette_indices_minus1
b.对于没有利用复制模式/游程模式进行编解码的每个样点,在当前plt表中对palette_idx_idc进行编解码
2.2 VVC中的调色板模式
2.2.1双树中的调色板
在VVC中,双树编解码结构用在对帧内条带进行编解码上,因此亮度分量和两个色度分量可以具有不同的调色板和调色板索引。此外,两个色度分量共享相同的调色板和调色板索引。
2.2.2作为分开模式的调色板
在JVET-N0258[2]和当前VTM中,编解码单元的预测模式可以是MODE_INTRA、MODE_INTER、MODE_IBC和MODE_PLT。预测模式的二进制化相应地改变。
当IBC被关闭时,在I片上,第一个二进制位被用来指示当前预测模式是否是MODE_PLT。当在P/B片上时,第一个二进制位被用来指示当前预测模式是否是MODE_INTRA。如果不是,则采用一个附加的二进制位来指示当前预测模式是MODE_PLT还是MODE_INTER。
当IBC被开启时,在I片上,第一个二进制位被用来指示当前预测模式是否是MODE_IBC。如果不是,则采用第二个二进制位来指示当前预测模式是MODE_PLT还是MODE_INTRA。当在P/B片上时,第一个二进制位被用来指示当前预测模式是否是MODE_INTRA。如果是帧内模式,则采用第二个二进制位来指示当前预测模式是MODE_PLT还是MODE_INTRA。如果不是,则采用第二个二进制位来指示当前预测模式是MODE_IBC还是MODE_INTER。
JVET-O2001-vE中的相关文本如下所示。
编解码单元语法
Figure BDA0003722440020000121
Figure BDA0003722440020000131
2.2.3调色板模式编解码的编码器算法
利用调色板预测模式,主色(dominant color)被聚类为调色板,并且用条目索引和颜色值进行编解码。逸出的被量化、二进制化和信令通知。调色板生成是非标准化的,但是对编解码性能至关重要。如果样点颜色与条目颜色之间的绝对差小于预设步长,则相似的颜色可以被分组到一个条目。在VTM-7.0[1]中,调色板聚类步长用由基本QP索引的查找表来表示。
在表2-1中示出了原始的g_paletteQuant,其表示在VTM-7.0中关于不同QP的对于给定QP的相应聚类步长。
表2-1:VTM-7.0中的g_paletteQuant
QP 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
g_paletteQuant 0 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5
QP 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
g_paletteQuant 5 6 6 7 7 8 9 9 10 11 12 13 14 15 16 17 19 21
QP 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
g_paletteQuant 22 24 23 25 26 28 29 31 32 34 36 37 39 41 42 45
3由本文提供的解决方案解决的技术问题的示例
调色板模式编解码的当前设计存在以下问题:
1.调色板聚类步长的现有技术设计取决于量化步长。注意,在聚类步长与逸出编解码方式(即,如何对逸出样点进行编解码)之间存在相关性。如何利用这一信息还不知道。
2.对于双树开启和双树关闭情况,三个通道的调色板聚类步长总是相同的。注意,当双树开启时,亮度通道和色度通道的调色板聚类过程是分开的,并且对于双树开启和双树关闭情况,速率与失真之间的关系也是不同的。如何利用这些信息还不知道。
4示例技术和实施例
为了解决上述问题,调色板聚类步长通过逸出编解码样点的估计速率和失真成本而推导出。调色板聚类步长(对于第i个颜色分量,由pltQstepi表示)通常被设置为颜色样点与聚类质心之间的最大允许距离。在一个示例中,三通道颜色样点(S0、S1、S2)与聚类质心(C0、C1、C2)之间的距离可以被描述如下。
D0=|S0-C0|
D1=|S1-C1|
D2=|S2-C2|
样点将被归类到最近的质心。然而,如果任何颜色分量的最小距离仍然大于pltQstepi,则将创建新条目。
下面的列表应该被视为用于解释总体概念的示例。这些项目不应以狭隘的方式来解释。此外,这些项目可以以任何方式进行组合。
1.由pltQstepi表示的调色板聚类步长的确定可以取决于颜色分量和/或分割树类型(例如,双树或单树)和/或多少颜色分量与一个逸出值和/或条带或图片类型(例如,帧内或帧间条带/图片)相关联。
a.对于双树开启或双树关闭情况,不同的颜色分量/通道i可以共享相同的或不同的pltQstepi
b.在一个示例中,由C0(例如YCbCr中的Y、RGB中的G)、C1(例如YCbCr中的Cb、RGB中的B)和C2(例如YCbCr中的Cr、RGB中的R)表示的颜色分量可以采用相同的聚类步长pltQstepi(i=0或1或2)。
c.在一个示例中,分量C1和C2可以采用相同的聚类步长pltQstepi(i=1或2),而C0利用不与pltQstepi(i=1或2)相同的pltQstep2
d.在一个示例中,分量C0、C1和C2可以采用三个不同的聚类步长。
e.替代地,此外,上述项目符号可以应用于双树或单树情况。
2.调色板聚类步长pltQstepi可以由逸出编解码样点的二进制化方法来确定。
a.在一个示例中,对于固定长度编解码逸出样点,相应的聚类步长可以不同于截断二进制编解码逸出样点。
3.对于第i个颜色分量,由pltQstepi表示的调色板聚类步长可以取决于逸出编解码样点的率失真(RD)成本
Figure BDA0003722440020000151
a.在一个示例中,调色板聚类步长可以使用以下等式来获得:
Figure BDA0003722440020000152
i.在一个示例中,A或B或C等于1。
ii.在一个示例中,B等于0,且C等于2。
iii.在一个示例中,A等于1/4,B等于0,且C等于2。
iv.在一个示例中,A等于1,B等于0,且C等于2。
v.在一个示例中,A或B或C等于2K或-2K,其中K是整数值,诸如在[-M,N]的范围内的值,其中M和N不小于0。
b.在一个示例中,第i个颜色分量的逸出编解码样点的RD成本可以通过以下等式来估计:
Figure BDA0003722440020000153
其中Di esc表示逸出编解码样点的估计失真,并且λi表示拉格朗日参数,Ri esc是逸出编解码样点的估计编解码比特。
i.在一个示例中,变量X、Y是可以表示加权因子的两个变量,并且Z是偏移值。
1)在一个示例中,X或Y或Z等于1。
2)在一个示例中,X或Y或Z等于0。
3)在一个示例中,X和Y等于1,且Z等于0。
4)在一个示例中,X等于0,Y等于1,且Z等于0。
5)在一个示例中,X或Y或Z等于2K或-2K,其中K是整数值,诸如在[-M,N]的范围内的值,其中M和N不小于0。
c.在一个示例中,由Di esc表示的量化的逸出编解码样点的失真可以通过使用以下等式进行估计而推导出:
Figure BDA0003722440020000161
其中Qstepi表示分量i的量化步长,m和n是两个变量。
i.在一个示例中,m或n等于1。
ii.在一个示例中,m或n等于0。
iii.在一个示例中,m等于2,且n等于2。
iv.在一个示例中,m等于2,且n等于6。
v.在一个示例中,M或N等于2K或-2K,其中K是整数值,诸如在[-M,N]的范围内的值,其中M和N不小于0。
d.在一个示例中,由Di esc表示的量化的逸出编解码样点的失真根据使用以下公式的平均量化失真进行估计:
Figure BDA0003722440020000162
其中Si表示分量i的总样点数,Di(j)表示分量i的第j个样点的量化失真。
e.在一个示例中,由Di esc表示的量化的逸出编解码样点的失真使用
以下等式被估计为一个块内的最大失真:
Figure BDA0003722440020000163
f.在一个示例中,由Di esc表示的量化的逸出编解码样点的失真使用以下等式被估计为一个块内的最小失真:
Figure BDA0003722440020000164
g.在一个示例中,由Ri esc表示的量化的逸出编解码样点的速率被估计为minRate,minRate表示量化的逸出编解码样点的最小比特长度。
i.在一个示例中,如果逸出样点的量化级别利用k阶哥伦布指数编解码进行二进制化,则Ri esc被估计为k+1。
ii.在一个示例中,如果逸出样点的量化级别利用固定长度编解码进行二进制化,则Ri esc被估计为(bitDepthi-log2Qstepi)。Qstepi表示量化步长,其可根据相关联的量化参数QPi
Figure BDA0003722440020000171
而推导出,bitDepthi表示分量i的内部编解码比特深度。
h.在一个示例中,如果逸出样点的量化级别利用k阶哥伦布指数编解码进行二进制化,则由Ri esc表示的量化的逸出编解码样点的速率被估计为(P*minRate+Q*maxRate)/(P+Q),maxRate表示量化的逸出编解码样点的最大比特长度,P和Q是可以表示加权因子的两个变量。
i.在一个示例中,P和Q等于1。
ii.在一个示例中,P或Q等于0。
i.在一个示例中,由Ri esc表示的量化的逸出编解码样点的速率被估计为f*maxRate,f可以表示在[0,1]的范围内的缩放因子。
j.在一个示例中,由Ri esc表示的量化的逸出编解码样点的速率被估计为Max[maxRate-offset,minRate],offset可以表示偏移参数。
i.在一个示例中,offset等于4,并且minRate等于4。maxRate取决于由Qstepi和bitDepthi确定的最大编解码级别lmax
ii.在一个示例中,offset等于2K,其中K是整数值,诸如在[0,N]的范围内的值,其中N不小于零。
k.在一个示例中,取决于二进制化方法,由Ri esc表示的量化的逸出编解码样点的速率被估计为[0,maxRate]的范围内的任何值。
4.调色板聚类步长pltQstepi可以直接从由量化参数或量化步长索引的查找表中查阅。
a.在一个示例中,可以根据表4-1或表4-2或表4-3或表4-4,利用用于双树开启和/或双树关闭情况的相关基本量化参数QP来获得pltQstepi
b.在一个示例中,可以根据表4-1或表4-2或表4-3来获得分量C0的pltQstep0,可以根据表4-4或表4-5,利用用于双树开启和/或双树关闭情况的相关基本量化参数QP来获得分量C1和分量C2的pltQstep1和pltQstep2
5.对于有损编解码或者对于大于阈值或不小于阈值的QP,当pltQstepi为零时,可以使用预测器调色板。
a.替代地,对于有损编解码,当pltQstepi为零时,可以不使用预测器调色板。
6.对于无损编解码模式或者对于小于阈值或不大于阈值的QP,pltQstepi可以被设置为零。
表4-1:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 4 4 5 5 6 6 7 8 9 9 11 12 13 15 17 17 19
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 21 24 27 30 27 31 35 39 44 49 39 44 49 55 62 70
表4-2:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 3 3 4 4 5 6 6 7 8 9 11 12 13 15 17 19 22
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 24 27 31 35 39 44 49 55 62 70 78 88 99 111 125 140
表4-3:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 4 4 5 5 6 7 8 8 10 11 12 13 15 17 19 21 24
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 27 30 34 38 43 48 54 60 68 76 85 96 108 121 135 152
表4-4:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 3 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 4 4 5 6 6 6 7 8 9 10 11 12 13 15 17 19 19 21
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 24 27 30 34 31 35 39 44 49 55 44 49 55 62 70 78
表4-5:调色板聚类步长和基本QP
Figure BDA0003722440020000181
Figure BDA0003722440020000191
5实施例
设计调色板聚类步长的示例如下所示。调色板聚类步长通过逸出编解码样点的估计速率和失真成本而推导出。更具体地,pltQstepi通常被设置为颜色样点与聚类质心之间的最大允许距离。三通道颜色样点(S0、S1、S2)与聚类质心(C0、C1、C2)之间的距离可以被描述如下。
D0=|S0-C0|
D1=|S1-C1|
D2=|S2-C2|
样点将被归类到最近的质心。然而,如果任何颜色分量的最小距离仍然大于pltQstepi,则将创建新条目。
5.1实施例#1
在该实施例中,采用b比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数是QPi。pltQstepi通过以下等式推导出:
Figure BDA0003722440020000192
其中
Figure BDA0003722440020000193
可以通过以下公式获得,
Figure BDA0003722440020000194
对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
5.2实施例#2
在该实施例中,采用b比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数为QPi,并且相关联的量化步长为Qstepi。pltQstepi通过以下等式推导出:
Figure BDA0003722440020000195
其中
Figure BDA0003722440020000196
可以通过以下公式获得,
Figure BDA0003722440020000197
对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
5.3实施例#3
在该实施例中,采用b比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数为QPi,并且相关联的量化步长为Qstepi。pltQstepi通过以下等式推导出:
Figure BDA0003722440020000201
其中
Figure BDA0003722440020000202
可以通过以下公式获得,
Figure BDA0003722440020000203
对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
5.4实施例#4
在该实施例中,采用b比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数为QPi,并且相关联的量化步长为Qstepi。基本量化参数被表示为qp,pltQstepi是利用查找表,由索引qp而推导出的,如表5-1所示。对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
表5-1:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 4 4 5 5 6 6 7 8 9 9 11 12 13 15 17 17 19
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 21 24 27 30 27 31 35 39 44 49 39 44 49 55 62 70
5.5实施例#5
在该实施例中,采用b比特深度编解码,并且3阶哥伦布指数二进制化被用于逸出样点编解码。pltQstepi通过以下等式推导出:
Figure BDA0003722440020000204
其中
Figure BDA0003722440020000205
可以通过以下公式获得,
Figure BDA0003722440020000206
对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
5.6实施例#6
在该实施例中,采用b比特深度编解码,并且3阶哥伦布指数二进制化被用于逸出样点编解码。pltQstepi通过以下等式推导出:
Figure BDA0003722440020000207
其中
Figure BDA0003722440020000211
可以通过以下公式获得,
Figure BDA0003722440020000212
对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
5.7实施例#7
在该实施例中,采用b比特深度编解码,并且3阶哥伦布指数二进制化被用于逸出样点编解码。基本量化参数被表示为qp,pltQstepi是利用查找表,由索引qp而推导出的,如表5-2所示。对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
表5-2:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 3 3 4 4 5 6 6 7 8 9 11 12 13 15 17 19 22
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 24 27 31 35 39 44 49 55 62 70 78 88 99 111 125 140
5.8实施例#8
在该实施例中,采用b比特深度编解码,并且3阶哥伦布指数二进制化被用于逸出样点编解码。基本量化参数被表示为qp,pltQstepi是利用查找表,由索引qp而推导出的,如表5-3所示。对于双树开启和双树关闭情况,三个通道利用相同的pltQstepi
表5-3:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 4 4 5 5 6 7 8 8 10 11 12 13 15 17 19 21 24
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 27 30 34 38 43 48 54 60 68 76 85 96 108 121 135 152
5.9实施例9
在该实施例中,采用b比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数为QPi,并且相关联的量化步长为Qstepi。基本量化参数被表示为qp,pltQstepi是利用查找表,由索引qp而推导出的。亮度通道采用与实施例#1相同的pltQstepi。色度分量利用以下公式获得pltQstepi
Figure BDA0003722440020000221
其中
Figure BDA0003722440020000222
可以通过以下公式获得,
Figure BDA0003722440020000223
5.10实施例#10
在该实施例中,采用10比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数为QPi,并且相关联的量化步长为Qstepi。基本量化参数被表示为qp,pltQstepi是利用查找表,由索引qp而推导出的。亮度通道利用与表5-1相同pltQstepi。色度分量利用表5-4作为用于双树开启情况的pltQstepi
表5-4:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 3 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 4 4 5 6 6 6 7 8 9 10 11 12 13 15 17 19 19 21
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 24 27 30 34 31 35 39 44 49 55 44 49 55 62 70 78
5.11实施例#11
在该实施例中,采用10比特深度编解码,并且固定长度二进制化被用于逸出样点编解码。逸出样点的量化参数为QPi,并且相关联的量化步长为Qstepi。基本量化参数被表示为qp,pltQstepi是利用查找表,由索引qp而推导出的。亮度通道利用与表5-2相同的pltQstepi。色度分量利用表5-5作为用于双树开启情况的pltQstepi
表5-5:调色板聚类步长和基本QP
qp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pltQstep<sub>i</sub> 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 3 3 3
qp 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pltQstep<sub>i</sub> 3 4 4 5 5 6 7 8 8 10 11 12 13 15 17 19 21 24
qp 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
pltQstep<sub>i</sub> 27 31 35 39 44 49 55 62 70 78 88 99 111 124 140 157
图5是示出其中可以实施本文公开的各种技术的示例视频处理***1900的框图。各种实施方式可以包括***1900的一些或所有组件。***1900可以包括用于接收视频内容的输入端1902。视频内容可以以原始或未压缩的格式(例如,8或10比特多分量像素值)接收,或者可以是压缩或编码格式。输入端1902可以表示网络接口、***总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
***1900可以包括编解码组件1904,编解码组件1904可以实施本文档中描述的各种编解码或编码方法。编解码组件1904可以降低视频从输入端1902到编解码组件1904的输出端的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。如组件1906所表示的,编解码组件1904的输出可以被存储,或者经由所连接的通信来发送。组件1908可以使用在输入端1902处接收的视频的所存储或传送的比特流(或编解码)表示,以生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应该理解,编解码工具或操作在编码器处使用,并且与编解码结果相反的相应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以在各种电子设备中体现,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图6是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文档中描述的一种或多种方法。(多个)存储器3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路中实施本文档中描述的一些技术。
图7是示出可以利用本公开的技术的示例视频编解码***100的框图。
如图7所示,视频编解码***100可以包括源设备110和目的地设备120。源设备110生成编码视频数据,其可以被称为视频编码设备。目的地设备120可以对由源设备110生成的编码视频数据进行解码,其可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形***之类的源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以经由I/O接口116通过网络130a直接发送到目的地设备120。编码视频数据还可以被存储在存储介质/服务器130b上以供目的地设备120访问。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目的地设备120集成在一起,或者可以在目的地设备120的外部,目的地设备120被配置为与外部显示设备对接。
视频编码器114和视频解码器124可以根据视频压缩标准进行操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVM)标准和其他当前和/或进一步的标准。
图8是示出视频编码器200的示例的框图,视频编码器200可以是图7所示***100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图8的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(可包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重构单元212、缓存器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可包括帧内块复制(IBC)单元。IBC单元可以以IBC模式执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,一些组件(诸如运动估计单元204和运动补偿单元205)可以高度集成,但出于解释目的而在图8的示例中分开表示。
分割单元201可将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以(例如,基于误差结果)选择编解码模式之一(帧内或帧间),并且将得到的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编解码块用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间组合预测(CIIP)模式,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块的运动矢量选择分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓存器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓存器213的除了与当前视频块相关联的图片之外的图片的解码样点来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以(例如,取决于当前视频块是在I条带、P条带还是B条带中)对当前视频块执行不同的操作。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1中包含参考视频块的参考图片的参考索引以及指示当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成指示列表0和列表1中包含参考视频块的参考图片的参考索引以及指示参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的全套运动信息。
在一些示例中,运动估计单元204可以不输出当前视频的全套运动信息。相反,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。举例来说,运动估计单元204可以确定当前视频块的运动信息与临近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块减去(例如,由负号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
在其他示例中,对于当前视频块来说可以没有当前视频块的残差数据(例如在跳过模式中),并且残差生成单元207可以不执行减法操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元210和反变换单元211可以对变换系数视频块分别应用反量化和反变换,以从变换系数视频块中重构残差视频块。重构单元212可以将重构的残差视频块添加到来自预测单元202所生成的一个或多个预测视频块的相应样点,以产生与当前块相关联的重构视频块,以存储在缓存器213中。
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪像。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图9是示出视频解码器300的示例的框图,视频解码器300可以是图7所示***100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图8的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图9的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、重构单元306和缓存器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(图8)描述的编码过程互逆的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编码视频数据(例如,编码的视频数据块)。熵解码单元301可以对熵编解码视频数据进行解码,并且从熵解码视频数据中,运动补偿单元302可以确定运动信息,包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这种信息。
运动补偿单元302可以产生运动补偿块,从而可能基于插值滤波器执行插值。在语法元素中可以包括用于子像素精度的插值滤波器的标识符。
运动补偿单元302可以使用如视频编码器20在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值的值。运动补偿单元302可以根据接收的语法信息来确定视频编码器200所使用的插值滤波器,并且使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述如何分割编码视频序列的图片的每个宏块的分割信息、指示如何对每个分割进行编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及用于对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用(例如在比特流中接收的)帧内预测模式来从空域邻近块中形成预测块。反量化单元303对比特流中提供的并且由熵解码单元301解码的量化视频块系数进行反量化(即,去量化)。反变换单元303应用反变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器来对解码块进行滤波,以便去除块效应伪像。解码视频块然后被存储在缓存器307中,缓存器307为后续的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
接下来提供一些实施例所优选的解决方案列表。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目1或6)。
1.一种视频处理的方法(例如,图10中描绘的方法1000),包括:为视频的视频区域与视频的编解码表示之间的转换,确定(1002)用于视频区域的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及基于一个或多个聚类步长执行(1004)转换;其中,一个或多个聚类步长从编解码特性中推导出。
2.根据解决方案1所述的方法,其中,视频区域的编解码特性包括分量块的分量标识。
3.根据解决方案1所述的方法,其中,编解码特性包括用于分割视频区域的分割树类型。
4.根据解决方案1所述的方法,其中,编解码特性包括包含视频区域的条带的条带类型。
5.根据解决方案1-4中任一项所述的方法,其中,一个或多个聚类步长对应于用于视频区域的所有分量块的一个聚类步长。
6.根据解决方案1所述的方法,其中,一个或多个聚类步长由于编解码特性是,(1)编解码表示是无损表示或者(2)用于转换的量化参数小于或不大于阈值,而具有零值。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目2)。
7.根据先前解决方案中任一项所述的方法,其中,编解码特性包括用于在编解码表示中表示视频区域的逸出编解码样点的二进制化方法。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目3项。
8.根据先前解决方案中任一项所述的方法,其中,分量块的调色板聚类步长取决于分量块的逸出编解码样点的率失真成本。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目4)。
9.一种视频处理的方法,包括:为视频的视频区域与视频的编解码表示之间的转换,确定用于视频区域的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及基于一个或多个聚类步长执行转换;其中,一个或多个聚类步长根据视频区域的量化步长或量化参数的一个或多个列表的索引来确定。
10.根据解决方案9所述的方法,其中,一个或多个列表包括用于双树开启情况的第一列表和用于双树关闭情况的第二列表。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,第5项)。
11.一种视频处理的方法,包括:为视频的视频区域与视频的编解码表示之间的转换,基于编解码条件确定是否使用用于为转换预测调色板的预测器调色板;以及基于该确定来执行转换。
12.根据解决方案11所述的方法,其中,编解码条件对应于使用大于或不小于阈值的量化参数。
13.根据解决方案12所述的方法,其中,编解码条件还包括调色板的步长为零。
14.根据解决方案11所述的方法,其中,该确定包括由于调色板步长等于零而确定不使用预测器调色板。
15.根据解决方案1-14中任一项所述的方法,其中,执行转换包括对视频进行编码以生成编解码表示。
16.根据解决方案1-14中任一项所述的方法,其中,执行转换包括对编解码表示进行解析和解码以生成视频。
17.一种视频解码装置,包括被配置为实施解决方案1至16中一项或多项中所述的方法的处理器。
18.一种视频编码装置,包括被配置为实施解决方案1至16中一项或多项中所述的方法的处理器。
19.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时,使处理器实施解决方案1至16中任一项中所述的方法。
20.一种在本文档中描述的方法、装置或***。
以下的解决方案列表可以优选地由一些实施例来实施。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目1、6)。
1.一种对视频数据进行编解码的方法(例如,图11中描绘的方法1100),包括:为视频的当前视频块与视频的比特流之间的转换,确定(1102)用于当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及使用一个或多个聚类步长执行(1104)转换;其中,一个或多个聚类步长根据规则从编解码特性中推导出。
2.根据解决方案所述1的方法,其中,当前视频块的编解码特性包括分量块的分量标识。
3.根据解决方案1-2中任一项所述的方法,其中,编解码特性包括用于分割当前视频块的分割树类型。
4.根据解决方案1-3中任一项所述的方法,其中,编解码特性包括包含当前视频块的条带的条带类型。
5.根据解决方案1-4中任一项所述的方法,其中,编解码特性包括与一个逸出值相关联的分量的数量。
6.根据解决方案1-5中任一项所述的方法,其中,规则规定,当前视频块的不同分量由于当前视频块是使用双树进行分割的而共享一个或多个聚类步长的相同值。
7.根据解决方案1-5中任一项所述的方法,其中,规则规定,当前视频块的不同分量由于当前视频块没有使用双树进行分割而共享一个或多个聚类步长的不同值。
8.根据解决方案1-7中任一项所述的方法,其中,一个或多个聚类步长对应于用于当前视频块的所有分量块的一个聚类步长。
9.根据解决方案1-7中任一项所述的方法,其中,规则规定,视频的两个分量共享第一聚类步长,并且第三分量使用不同于第一步长的第二步长。
10.根据解决方案1-7中任一项所述的方法,其中,规则规定,视频的每个视频分量使用不同的聚类步长。
11.根据解决方案6-10中任一项所述的方法,其中,规则基于对当前视频块应用双树分割还是单树分割。
12.根据解决方案1-11中任一项所述的方法,其中,一个或多个聚类步长由于编解码特性是,(1)比特流是无损表示或者(2)用于转换的量化参数小于或不大于阈值,而具有零值。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目2)。
13.根据解决方案1-12中任一项所述的方法,其中,编解码特性包括用于表示比特流中当前视频块的逸出编解码样点的二进制化方法。
14.根据解决方案13所述的方法,其中,规则规定,当前视频块的具有固定长度编解码逸出样点的分量块的第一聚类步长不同于当前视频块的使用截断二进制编解码逸出样点进行编解码的另一分量块的第二聚类步长。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目3)。
15.根据解决方案1-14中任一项所述的方法,其中,分量块的调色板聚类步长取决于分量块的逸出编解码样点的率失真成本。
16.根据解决方案15所述的方法,其中,规则规定根据以下等式确定被表示为pltQstepi的一个或多个聚类步长,其中i为整数:
Figure BDA0003722440020000311
其中
Figure BDA0003722440020000321
表示逸出编解码样点,并且A、B和C根据第二规则来确定。
17.根据解决方案16所述的方法,其中,第二规则规定:A或B或C等于1;或者B等于0,且C等于2;或者A等于1/4,B等于0,且C等于2;或者A等于1,B等于0,且C等于2;或者A或B或C等于2K或-2K,其中K是在[-M,N]的范围内的整数值,其中M和N不小于0。
18.根据解决方案15所述的方法,其中,根据以下等式来估计颜色分量的逸出编解码样点的率失真成本:
Figure BDA0003722440020000322
其中Di esc表示逸出编解码样点的估计失真,λi表示拉格朗日参数,Ri esc是逸出编解码样点的编解码比特的估计数量,并且根据第三规则来确定X、Y和Z。
19.根据解决方案18所述的方法,其中,第二规则规定:X或Y或Z等于1;或者X或Y或Z等于0;或者X和Y等于1,且Z等于0;或者X等于0,Y等于1,且Z等于0;或者X或Y或Z等于2K或-2K,其中K是整数值。
20.根据解决方案15至19中任一项所述的方法,其中,量化的逸出编解码样点的失真使用以下公式来确定:
Figure BDA0003722440020000323
其中Qstepi表示分量i的量化步长,m和n是根据第四规则的两个变量。
21.根据解决方案20所述的方法,其中,第三规则规定:m或n等于1;或者m或n等于0;或者m等于2,且n等于2;或者m等于2,且n等于6;或者m或n等于2K或-2K,其中K是整数值。
22.根据解决方案19-21中任一项所述的方法,其中,K在[-M,N]的范围内,其中M和N不小于0。
23.根据解决方案15-19中任一项所述的方法,其中,量化的逸出符号的失真根据下式来确定:
Figure BDA0003722440020000324
其中Si表示分量i的总样点数,Di(j)表示分量i的第j个样点的量化失真。
24.根据解决方案15-19中任一项所述的方法,其中,量化的逸出符号的失真是根据使用以下等式估计一个块内的最大失真来确定的:
Figure BDA0003722440020000331
其中max是求最大值操作。
25.根据解决方案15-19中任一项所述的方法,其中,量化的逸出符号的失真是根据使用以下等式估计一个块内的最小失真来确定的:
Figure BDA0003722440020000332
其中min是求最小值操作。
26.根据解决方案1-24中任一项所述的方法,其中,被表示为Ri esc的量化的逸出编解码样点的速率被估计为minRate,minRate表示量化的逸出编解码样点的最小比特长度。
27.根据解决方案25所述的方法,其中,如果用k阶哥伦布指数编解码对逸出样点的量化级别进行二进制化,则Ri esc被估计为k+1。
28.根据解决方案25所述的方法,其中,如果用固定长度编解码对逸出样点的量化级别进行二进制化,则Ri esc被估计为(bitDepthi-log2Qstepi),Qstepi表示量化步长,其根据相关联的量化参数QPi
Figure BDA0003722440020000333
而推导出,bitDepthi表示分量i的内部编解码比特深度。
29.根据解决方案1-24中任一项所述的方法,其中,如果用k阶哥伦布指数编解码对逸出样点的量化级别进行二进制化,则由Ri esc表示的量化的逸出编解码样点的速率被估计为(P*minRate+Q*maxRate)/(P+Q),其中maxRate表示量化的逸出编解码样点的最大比特长度,并且P和Q是表示加权因子的两个变量。
30.根据解决方案28所述的方法,其中P=Q=1或P=Q=0。
31.根据解决方案1-24中任一项所述的方法,其中,由Ri esc表示的量化的逸出编解码样点的速率被估计为f*maxRate,其中f表示[0,1]的范围内的缩放因子。
32.根据解决方案1-24中任一项所述的方法,其中,由Ri esc表示的量化的逸出编解码样点的速率被估计为Max[maxRate-offset,minRate],其中offset表示偏移参数。
33.根据解决方案32所述的方法,其中,offset等于4,并且minRate等于4,并且其中maxRate取决于由Qstepi和bitDepthi确定的最大编解码级别lmax
34.根据解决方案32所述的方法,其中,offset等于2K,其中K是整数值。
35.根据解决方案34所述的方法,其中K在[0,N]的范围内,其中N不小于零。
36.根据解决方案1-24中任一项所述的方法,其中,取决于二进制化方法,由Ri esc表示的量化的逸出编解码样点的速率被估计为[0,maxRate]的范围内的任何值。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目4)。
37.一种对视频数据进行编解码的方法(例如,图12中描绘的方法1200),包括:为视频的当前视频块与视频的比特流之间的转换,确定(1202)用于当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及基于一个或多个聚类步长执行(1204)转换;其中,一个或多个聚类步长根据当前视频块的量化步长或量化参数的一个或多个列表的索引来确定。
38.根据解决方案37所述的方法,其中,一个或多个列表包括用于双树开启情况的第一列表和用于双树关闭情况的第二列表。
39.根据解决方案37所述的方法,其中,用于确定第一分量的第一聚类步长的第一列表不同于用于确定第二分量或第三分量的第二聚类步长的第二列表。
以下解决方案示出了前一章节中讨论的技术的示例实施例(例如,项目5)。
40.一种对视频数据进行编解码的方法(例如,图13中描绘的方法1300),包括:为视频的当前视频块与视频的比特流之间的转换,基于编解码条件确定(1302)是否使用用于为转换预测调色板的预测器调色板;以及基于该确定来执行(1304)转换。
41.根据解决方案40所述的方法,其中,编解码条件对应于使用大于或不小于阈值的量化参数。
42.根据解决方案41所述的方法,其中,编解码条件还包括调色板的步长为零。
43.根据解决方案41所述的方法,其中,确定包括由于调色板步长等于零而确定不使用预测器调色板。
44.根据解决方案1-43中任一项所述的方法,其中,转换包括将当前视频块编码成比特流。
45.根据解决方案1-43中任一项所述的方法,其中,转换包括从比特流中解码当前视频块。
46.一种将表示视频的比特流存储到计算机可读记录介质的方法,包括:根据解决方案1至43中任一项或多项中描述的方法从视频生成比特流;以及将比特流写入计算机可读记录介质。
47.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时,使得处理器实施解决方案1至43中的一项或多项中所述的方法。
48.一种存储通过由视频处理装置执行的方法而生成的视频的比特流的非暂时性计算机可读记录介质,其中该方法包括:根据解决方案1至43中任一项或多项中描述的方法从当前视频块生成比特流。
49.一种存储根据解决方案1至16中任一项或多项生成的比特流的计算机可读介质。
本文中描述的所公开的和其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路中实施,或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中实施,或者在它们中的一个或多个的组合中实施。所公开的和其他的实施例可以被实施为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合、或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来对信息进行编码以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言)编写,并且它可以以任何形式(包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元)部署。计算机程序不一定对应于文件***中的文件。程序可以被存储在保存其他程序或数据的文件的一部分(例如,标记语言文档中所存储的一个或多个脚本)中,被存储在专用于所讨论的程序的单个文件中,或者被存储在多个协作文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机执行,或者在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,这些处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),以从其接收数据,或向其传送数据,或两者都有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
虽然本专利文档包含许多细节,但是这些细节不应被解释为对任何主题或所要求保护的内容的范围的限制,而是对特定技术的特定实施例所特有的特征的描述。在本专利文档中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中以组合方式实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开或以任何合适的子组合的方式来实施。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定的顺序描述了操作,但是这不应被理解为要求这些操作以所示的特定次序或顺序次序执行,或者要求所有示出的操作都被执行,以获得期望的结果。此外,在本专利文档中描述的实施例中的各种***组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实施方式、增强和变化。

Claims (49)

1.一种对视频数据进行编解码的方法,包括:
为视频的当前视频块与视频的比特流之间的转换,确定用于所述当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及
使用所述一个或多个聚类步长执行所述转换;
其中,所述一个或多个聚类步长根据规则从编解码特性中推导出。
2.根据权利要求1所述的方法,其中,所述当前视频块的编解码特性包括所述分量块的分量标识。
3.根据权利要求1-2中任一项所述的方法,其中,所述编解码特性包括用于分割所述当前视频块的分割树类型。
4.根据权利要求1-3中任一项所述的方法,其中,所述编解码特性包括包含所述当前视频块的条带的条带类型。
5.根据权利要求1-4中任一项所述的方法,其中,所述编解码特性包括与一个逸出值相关联的分量的数量。
6.根据权利要求1-5中任一项所述的方法,其中,所述规则规定,所述当前视频块的不同分量由于所述当前视频块是使用双树进行分割的而共享所述一个或多个聚类步长的相同值。
7.根据权利要求1-5中任一项所述的方法,其中,所述规则规定,所述当前视频块的不同分量由于所述当前视频块没有使用双树进行分割而共享所述一个或多个聚类步长的不同值。
8.根据权利要求1-7中任一项所述的方法,其中,所述一个或多个聚类步长对应于用于所述当前视频块的所有分量块的一个聚类步长。
9.根据权利要求1-7中任一项所述的方法,其中,所述规则规定,所述视频的两个分量共享第一聚类步长,并且第三分量使用不同于第一步长的第二步长。
10.根据权利要求1-7中任一项所述的方法,其中,所述规则规定,所述视频的每个视频分量使用不同的聚类步长。
11.根据权利要求6-10中任一项所述的方法,其中,所述规则基于对所述当前视频块应用双树分割还是单树分割。
12.根据权利要求1-11中任一项所述的方法,其中,所述一个或多个聚类步长由于所述编解码特性是,(1)所述比特流是无损表示或者(2)用于所述转换的量化参数小于或不大于阈值,而具有零值。
13.根据权利要求1-12中任一项所述的方法,其中,所述编解码特性包括用于在所述比特流中表示所述当前视频块的逸出编解码样点的二进制化方法。
14.根据权利要求13所述的方法,其中,所述规则规定,所述当前视频块的具有固定长度编解码逸出样点的分量块的第一聚类步长不同于所述当前视频块的使用截断二进制编解码逸出样点进行编解码的另一分量块的第二聚类步长。
15.根据权利要求1-14中任一项所述的方法,其中,分量块的调色板聚类步长取决于所述分量块的逸出编解码样点的率失真成本。
16.根据权利要求15所述的方法,其中,所述规则规定根据以下等式确定被表示为pltQstepi的一个或多个聚类步长,其中i为整数:
Figure FDA0003722440010000021
其中
Figure FDA0003722440010000022
表示逸出编解码样点,并且A、B和C根据第二规则来确定。
17.根据权利要求16所述的方法,其中,所述第二规则规定:A或B或C等于1;或者B等于0且C等于2;或者A等于1/4,B等于0且C等于2;或者A等于1,B等于0且C等于2;或者A或B或C等于2K或-2K,其中K是在[-M,N]的范围内的整数值,其中M和N不小于0。
18.根据权利要求15所述的方法,其中,根据以下等式来估计颜色分量的逸出编解码样点的率失真成本:
Figure FDA0003722440010000023
其中Di esc表示逸出编解码样点的估计失真,λi表示拉格朗日参数,Ri esc是逸出编解码样点的编解码比特的估计数量,并且根据第三规则来确定X、Y和Z。
19.根据权利要求18所述的方法,其中,所述第二规则规定:X或Y或Z等于1;或者X或Y或Z等于0;或者X和Y等于1且Z等于0;或者X等于0,Y等于1且Z等于0;或者X或Y或Z等于2K或-2K,其中K是整数值。
20.根据权利要求15-19中任一项所述的方法,其中,量化的逸出编解码样点的失真使用下式来确定:
Figure FDA0003722440010000031
其中Qstetpi表示分量i的量化步长,m和n是根据第四规则的两个变量。
21.根据权利要求20所述的方法,其中,所述第三规则规定:m或n等于1;或者m或n等于0;或者m等于2且n等于2;或者m等于2且n等于6;或者m或n等于2K或-2K,其中K是整数值。
22.根据权利要求19-21中任一项所述的方法,其中,K在[-M,N]的范围内,其中M和N不小于0。
23.根据权利要求15-19中任一项所述的方法,其中,量化的逸出符号的失真根据下式来确定:
Figure FDA0003722440010000032
其中Si表示分量i的总样点数,Di(j)表示分量i的第j个样点的量化失真。
24.根据权利要求15-19中任一项所述的方法,其中,量化的逸出符号的失真是根据使用以下等式估计一个块内的最大失真来确定的:
Figure FDA0003722440010000033
其中max是求最大值操作。
25.根据权利要求15-19中任一项所述的方法,其中,量化的逸出符号的失真是根据使用以下等式估计一个块内的最小失真来确定的:
Figure FDA0003722440010000034
其中min是求最小值操作。
26.根据权利要求1-24中任一项所述的方法,其中,被表示为Ri esc的量化的逸出编解码样点的速率被估计为minRate,minRate表示量化的逸出编解码样点的最小比特长度。
27.根据权利要求25所述的方法,其中,如果用k阶哥伦布指数编解码对逸出样点的量化级别进行二进制化,则Ri esc被估计为k+1。
28.根据权利要求25所述的方法,其中,如果用固定长度编解码对逸出样点的量化级别进行二进制化,则Ri esc被估计为(bitDepthi-log2Qstepi),Qstepi表示量化步长,其根据相关联的量化参数QPi
Figure FDA0003722440010000035
而推导出,bitDepthi表示分量i的内部编解码比特深度。
29.根据权利要求1-24中任一项所述的方法,其中,如果用k阶哥伦布指数编解码对逸出样点的量化级别进行二进制化,则由Ri esc表示的量化的逸出编解码样点的速率被估计为(P*minRate+Q*maxRate)/(P+Q),其中maxRate表示量化的逸出编解码样点的最大比特长度,并且P和Q是表示加权因子的两个变量。
30.根据权利要求28所述的方法,其中P=Q=1或P=Q=0。
31.根据权利要求1-24中任一项所述的方法,其中,由Ri esc表示的量化的逸出编解码样点的速率被估计为f*maxRate,其中f表示[0,1]的范围内的缩放因子。
32.根据权利要求1-24中任一项所述的方法,其中,由Ri esc表示的量化的逸出编解码样点的速率被估计为Max[maxRate-offset,minRate],其中offset表示偏移参数。
33.根据权利要求32所述的方法,其中,offset等于4,并且minRate等于4,并且其中maxRate取决于由Qstepi和bitDepthi确定的最大编解码级别lmax
34.根据权利要求32所述的方法,其中,offset等于2K,其中K是整数值。
35.根据权利要求34所述的方法,其中,K在[0,N]的范围内,其中N不小于零。
36.根据权利要求1-24中任一项所述的方法,其中,取决于二进制化方法,由Ri esc表示的量化的逸出编解码样点的速率被估计为[0,maxRate]的范围内的任何值。
37.一种对视频数据进行编解码的方法,包括:
为视频的当前视频块与视频的比特流之间的转换,确定用于所述当前视频块的一个或多个分量块的调色板模式表示的一个或多个聚类步长;以及
基于所述一个或多个聚类步长执行所述转换;
其中,所述一个或多个聚类步长根据所述当前视频块的量化步长或量化参数的一个或多个列表的索引来确定。
38.根据权利要求37所述的方法,其中,所述一个或多个列表包括用于双树开启情况的第一列表和用于双树关闭情况的第二列表。
39.根据权利要求37所述的方法,其中,用于确定第一分量的第一聚类步长的第一列表不同于用于确定第二分量或第三分量的第二聚类步长的第二列表。
40.一种对视频数据进行编解码的方法,包括:
为视频的当前视频块与视频的比特流之间的转换,基于编解码条件确定是否使用用于预测调色板以进行所述转换的预测器调色板;以及
基于所述确定来执行所述转换。
41.根据权利要求40所述的方法,其中,所述编解码条件对应于使用大于或不小于阈值的量化参数。
42.根据权利要求41所述的方法,其中,所述编解码条件还包括所述调色板的步长为零。
43.根据权利要求41所述的方法,其中,所述确定包括由于调色板步长等于零而确定不使用所述预测器调色板。
44.根据权利要求1-43中任一项所述的方法,其中,所述转换包括将所述当前视频块编码成所述比特流。
45.根据权利要求1-43中任一项所述的方法,其中,所述转换包括从所述比特流中解码所述当前视频块。
46.一种将表示视频的比特流存储到计算机可读记录介质的方法,包括:
根据权利要求1至43中任一项或多项中描述的方法从视频生成比特流;以及
将所述比特流写入所述计算机可读记录介质。
47.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时,使得所述处理器实施权利要求1至43中的一项或多项中所述的方法。
48.一种存储通过由视频处理装置执行的方法而生成的视频的比特流的非暂时性计算机可读记录介质,其中所述方法包括:
根据权利要求1至43中任一项或多项中描述的方法从当前视频块生成比特流。
49.一种存储根据权利要求1至43中任一项或多项生成的比特流的计算机可读介质。
CN202080091423.2A 2019-12-31 2020-12-31 用于视频编解码的基于聚类的调色板模式 Pending CN115211118A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019130368 2019-12-31
CNPCT/CN2019/130368 2019-12-31
PCT/CN2020/141897 WO2021136470A1 (en) 2019-12-31 2020-12-31 Clustering based palette mode for video coding

Publications (1)

Publication Number Publication Date
CN115211118A true CN115211118A (zh) 2022-10-18

Family

ID=76685857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080091423.2A Pending CN115211118A (zh) 2019-12-31 2020-12-31 用于视频编解码的基于聚类的调色板模式

Country Status (2)

Country Link
CN (1) CN115211118A (zh)
WO (1) WO2021136470A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE484040T1 (de) * 2004-04-21 2010-10-15 Slipstream Data Inc Verfahren, system und softwareprodukt zur farbbildcodierung
EP3087738B1 (en) * 2013-12-27 2019-10-02 MediaTek Inc. Method and apparatus for palette coding with cross block prediction
US9826242B2 (en) * 2014-03-14 2017-11-21 Qualcomm Incorporated Palette-based video coding
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
EP3135036B1 (en) * 2014-05-23 2021-07-07 HFI Innovation Inc. Method and apparatus for palette table prediction and signaling

Also Published As

Publication number Publication date
WO2021136470A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
US20230105972A1 (en) Method and system for processing video content
CN113728642B (zh) 编解码视频的量化残差差分脉冲编解码调制表示
CN117528097A (zh) 跨分量自适应环路滤波器
US20230353793A1 (en) Quantization parameter signaling in video processing
US11528497B2 (en) Palette mode with different partition structures
US20240064315A1 (en) Use of offsets with adaptive colour transform coding tool
CN115152221A (zh) 用于色度分量的去方块参数
US20240056609A1 (en) Entropy coding for palette escape symbol
CN117319649A (zh) 经变换跳过的块的残差编解码
CN115066899A (zh) 编解码视频的可分二次变换处理
US11563946B2 (en) Quantization parameter derivation for palette mode
WO2021121419A1 (en) Interaction between adaptive color transform and quantization parameters
US20240022725A1 (en) Adaptive dependent quantization
JP2024014958A (ja) ローカルデュアルツリー向けのパレットモード
WO2021219144A1 (en) Entropy coding for partition syntax
WO2021136470A1 (en) Clustering based palette mode for video coding
WO2021136486A1 (en) Palette size signaling in video coding
CN114598882A (zh) 对称帧内块复制模式
CN114946187A (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