CN114223206A - 采用不同分割结构的调色板模式 - Google Patents
采用不同分割结构的调色板模式 Download PDFInfo
- Publication number
- CN114223206A CN114223206A CN202080057647.1A CN202080057647A CN114223206A CN 114223206 A CN114223206 A CN 114223206A CN 202080057647 A CN202080057647 A CN 202080057647A CN 114223206 A CN114223206 A CN 114223206A
- Authority
- CN
- China
- Prior art keywords
- palette
- video
- block
- current
- codec
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- 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
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/124—Quantisation
-
- 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/134—Methods 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/136—Incoming video signal characteristics or properties
-
- 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/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/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/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
描述了用于将调色板模式与不同分割结构结合使用的方法、系统和设备。一种用于视频处理的方法的示例包括:针对包括包含当前视频块的一个或多个视频区域的视频与该视频的比特流表示之间的转换,维护用于预测对当前视频块使用的调色板模式编解码工具中所用的调色板的调色板预测表格;做出对该转换应用局部双树编解码的决定;基于该决定修改该调色板预测表格;以及基于该修改之后的调色板预测表格执行该转换,其中,该调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且其中,局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
Description
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求2019年8月15日提交的编号为PCT/CN2019/100850以及2019年10月29日提交的编号为PCT/CN2019/113931的国际专利申请的优先权和权益。出于根据该法律的所有目的,将前述申请的全部公开内容以引用方式并入本文,以作为本申请公开内容的部分。
技术领域
本文件涉及视频和图像编码及解码技术。
背景技术
数字视频占据了因特网和其他数字通信网络上最大的带宽使用量。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将持续增长。
发明内容
所公开的技术可以由视频或图像解码器或编码器实施例用于将调色板模式与不同分割结构结合使用。
在一个示例性方面当中,公开了一种视频处理方法。该方法包括:针对包括包含当前视频块的一个或多个视频区域的视频与该视频的比特流表示之间的转换,维护用于预测对当前视频块使用的调色板模式编解码工具中所用的调色板的调色板预测表格;做出对该转换应用局部双树编解码的决定;基于该决定修改该调色板预测表格;以及基于该修改之后的调色板预测表格执行该转换,其中,该调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且其中,局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:执行包括包含当前视频块的一个或多个视频区域的视频和该视频的比特流表示之间的转换,其中,该比特流表示符合对当前视频块禁止调色板模式编解码和局部双树编解码的同时使用的格式规则,其中,调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且其中,局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
在又一个示例性方面中,公开了一种视频处理的方法。该方法包括:执行包括包含当前视频块的一个或多个视频区域的视频和该视频的比特流表示之间的转换,其中,使用调色板编解码模式将视频块编解码到比特流表示中,在调色板编解码模式中,使用代表性颜色值的调色板表示该视频块,并且其中,基于条件将预测调色板的调色板预测表格选择性地用于该转换。
在又一示例性方面中,可以由包括处理器的视频编码器装置实施上述方法。
在又一示例性方面中,可以由包括处理器的视频解码器装置实施上述方法。
在又一示例性方面中,这些方法可以被体现为处理器可执行指令的形式并存储于计算机可读程序介质上。
本文进一步描述了这些方面以及其他方面。
附图说明
图1示出了在调色板模式中编解码的块的示例。
图2示出了使用调色板预测器信令通知调色板条目的示例。
图3示出了水平和垂直遍历扫描的示例。
图4示出了调色板索引的示例性编解码。
图5A和图5B示出了最小色度帧内预测单元(SCIPU)的示例。
图6示出了视频处理中的环内滤波的示例的框图。
图7示出了局部双树情况下的重复调色板条目的示例。
图8示出了上下文推导过程中的左侧块和上方块的示例。
图9是用于实施本文件中描述的技术的硬件平台的示例的框图。
图10是可以实施所公开的技术的示例性视频处理系统的框图。
图11是示出了根据本公开的一些实施例的视频编码系统的框图。
图12是示出了根据本公开的一些实施例的编码器的框图。
图13是示出了根据本公开的一些实施例的解码器的框图。
图14-16示出了视频处理的示例性方法的流程图。
具体实施方式
本文件提供了图像或视频比特流的解码器可以使用的各种技术,以提高解压缩或解码数字视频或图像的质量。为了简洁起见,“视频”一词在本文当中被用来既包含图片的序列(常规上被称为视频),又包含单独图像。此外,视频编码器还可以在编码过程期间实施这些技术,以便重建用于进一步的编码的解码帧。
本文件中使用了章节标题,其目的是便于理解,而非使实施例和技术局限于对应的章节。照此,来自一个章节的实施例可以与来自其他章节的实施例相结合。
1.概述
本文件涉及视频编码技术。具体地,本文件涉及调色板编解码中的索引和逸出符号(escape symbol)编解码。其可以应用于现有的视频编解码标准,如HEVC,或待定案的标准(多功能视频编解码)。其还可以适用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要是通过开发公知的ITU-T和ISO/IEC标准而演变的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPEG-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间创建了联合视频专家团队(JVET),其致力于研究以相较于HEVC有50%的比特率下降为目标的VVC标准。
可以在下述网址找到VVC草案的最新版本,即多功能视频编解码(草案6):
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
可以在下述网址找到VVC的名为VTM的最新参考软件:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
2.1 HEVC屏幕内容编解码扩展(HEVC-SCC)中的调色板模式
2.1.1调色板模式的概念
调色板模式背后的基本理念在于,通过代表性颜色值的小集合来表示CU中的像素。这个集合被称为调色板。而且还有可能通过信令通知逸出符号和随后的(可能量化的)分量值,来指示调色板外部的样点。将这种像素称为逸出像素。在图1中例示了调色板模式。如图1中所示,对于每一具有三个颜色分量(亮度分量以及两个色度分量)的像素而言,找到对调色板的索引,并且可以基于在调色板中找到的值重建该块。
2.1.2调色板条目的编码
为了对调色板条目进行编解码,维护调色板预测器。在SPS中信令通知调色板的最大尺寸以及调色板预测器。在HEVC-SCC中,在PPS中引入palette_predictor_initializer_present_flag。在这个标志为1时,在比特流中信令通知用于初始化调色板预测器的条目。在每个CTU行、每个条带和每个片的开始处对调色板预测器进行初始化。根据palette_predictor_initializer_present_flag的值,将调色板预测器重置为0,或者使用PPS中信令通知的调色板预测器初始化器条目对其进行初始化。在HEVC-SCC中,启用尺寸为0的调色板预测器初始化器,以允许在PPS级别上显式禁用调色板预测器初始化。
对于调色板预测器中的每个条目,信令通知重复使用标志以指示它是否是当前调色板的一部分。在图2中例示了这种情况。使用零的运行(run)长度编解码发送重复使用标志。在此之后,使用0阶指数哥伦布(EG)代码(即EG-0)信令通知新调色板条目的数量。最后,信令通知用于新调色板条目的分量值。
2.1.3调色板索引的编码
使用如图3所示的水平和垂直遍历扫描来对调色板索引编解码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于本小节的剩余部分,假设扫描是水平的。
使用如下两种调色板样点模式对调色板索引进行编解码:“COPY_LEFT”和“COPY_ABOVE”。在“COPY_LEFT”模式中,将调色板索引赋值给解码索引。在“COPY_ABOVE”模式中,复制上方行中样点的调色板索引。对于“COPY_LEFT”和“COPY_ABOVE”模式两者,信令通知运行值,该运行值规定也使用相同模式编码的后续样点的数量。
在调色板模式中,用于逸出符号的索引的值是调色板条目的数量。而且,当逸出符号是“COPY_LEFT”或“COPY_ABOVE”模式中运行的部分时,针对每个逸出符号信令通知逸出分量值。图4中示出了调色板索引的编解码。
如下完成这种语法顺序。首先,信令通知CU的索引值的数量。在此之后,使用截断二元编码信令通知整个CU的实际索引值。索引数量和索引值都以旁路模式编码。这样将索引相关的旁路二进制位(bin)分组到了一起。然后以交替方式信令通知调色板样点模式(如果必要)和运行。最后,将对应于整个CU的逸出符号的分量逸出值分组到一起并以旁路模式对其编解码。逸出符号的二值化是3阶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(含端点)的范围内。
如下推导变量adjustedRefPaletteIndex:
当CopyAboveIndicesFlag[xC][yC]等于0时,如下推导变量CurrPaletteIndex:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++
此外,对调色板模式中的运行长度元素进行上下文编解码。如下示出了在JVET-O2011-vE中描述的相关上下文推导过程。
用于语法元素palette_run_prefix的ctxInc的推导过程
这一过程的输入为二进制索引binIdx以及语法元素copy_above_palette_indices_flag和palette_idx_idc。
这一过程的输出为变量ctxInc。
如下推导变量ctxInc:
–如果copy_above_palette_indices_flag等于0并且binIdx等于0,那么如下推导ctxInc:
ctxInc=(palette_idx_idc<1)?0:((palette_idx_idc<3)?1:2) (9-69)
–否则,通过表1提供ctxInc:
表格1–ctxIdxMap[copy_above_palette_indices_flag][binIdx]的规范
2.2 VVC中的调色板模式
2.2.1双树中的调色板
在VVC中,在对帧内条带编码时使用双重数结构,因而亮度分量和两个色度分量可以具有不同的调色板和调色板索引。此外,两个色度分量共享相同的调色板和调色板索引。
2.2.2作为单独模式的调色板
在JVET-N0258和当前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中的相关文本。
编解码单元语法
2.2.3调色板模式语法
2.2.4调色板模式语义
在下文的语义当中,阵列索引x0、y0规定所考虑的编解码块的左上亮度样点相对于该图片的左上亮度样点的位置(x0,y0)。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。阵列索引startComp规定当前调色板表格的第一颜色分量。startComp等于0指示Y分量;startComp等于1指示Cb分量;startComp等于2指示Cr分量。numComps规定当前调色板表格中的颜色分量的数量。
预测器调色板由来自用于预测当前调色板中的条目的先前编解码单元的调色板条目构成。
变量PredictorPaletteSize[startComp]规定用于当前调色板表格的第一颜色分量startComp的预测器调色板的尺寸。按照条款8.4.5.3中的规定推导PredictorPaletteSize。
变量PalettePredictorEntryReuseFlags[i]等于1规定在当前调色板中重复使用预测器调色板中的第i条目。PalettePredictorEntryReuseFlags[i]等于0规定预测器调色板中的第i条目不是当前调色板中的条目。将阵列PalettePredictorEntryReuseFlags[i]的所有元素初始化为0。
采用palette_predictor_run确定阵列PalettePredictorEntryReuseFlags中的非零条目之前的零的数量。
比特流一致性的要求是palette_predictor_run的值必须处于0到(PredictorPaletteSize-predictorEntryIdx)(含端点)的范围内,其中,predictorEntryIdx对应于阵列PalettePredictorEntryReuseFlags中的当前位置。变量NumPredictedPaletteEntries规定来自预测器调色板的在当前调色板中被重复使用的条目的数量。NumPredictedPaletteEntries的值必须于0到palette_max_size(含端点)的范围内。
num_signalled_palette_entries规定针对当前调色板表格的第一颜色分量startComp显性信令通知的当前调色板中的条目的数量。
在num_signalled_palette_entries不存在时,推断其等于0。
变量CurrentPaletteSize[startComp]规定用于当前调色板表格的第一颜色分量startComp的当前调色板的尺寸,并且如下推导该变量:
CurrentPaletteSize[startComp]=NumPredictedPaletteEntries+
num_signalled_palette_entries(7-155)
CurrentPaletteSize[startComp]的值必须于0到palette_max_size(含端点)的范围内。
new_palette_entries[cIdx][i]规定用于颜色分量cIdx的第i信令通知调色板条目的值。
变量PredictorPaletteEntries[cIdx][i]规定用于颜色分量cIdx的预测器调色板中的第i元素。
变量CurrentPaletteEntries[cIdx][i]规定用于颜色分量cIdx的当前调色板中的第i元素,并且如下推导该变量:
palette_escape_val_present_flag等于1规定当前编解码单元含有至少一个逸出编码样点。escape_val_present_flag等于0规定当前编解码单元中没有逸出编码样点。当palette_escape_val_present_flag不存在时,将其值推断为等于1。
变量MaxPaletteIndex规定用于当前编解码单元的调色板索引的最大可能值。将MaxPaletteIndex的值设置为等于
CurrentPaletteSize[startComp]-1+palette_escape_val_present_flag。
num_palette_indices_minus1加1是针对当前块显式信令通知或推断的调色板索引的数量。
当num_palette_indices_minus1不存在时,推断其等于0。
palette_idx_idc是对调色板表格CurrentPaletteEntries的索引的指示。palette_idx_idc的值对于该块中的第一索引而言必须处于0到MaxPaletteIndex(含端点)的范围内,并且对于该块中的其余索引而言必须处于0到(MaxPaletteIndex-1)(含端点)的范围内。
当palette_idx_idc不存在时,推断其等于0。
变量PaletteIndexIdc[i]存储显式信令通知或推断的第i个palette_idx_idc。将阵列PaletteIndexIdc[i]的所有元素初始化为0。
copy_above_indices_for_final_run_flag等于1规定:如果使用水平遍历扫描,那么从上方行中的调色板索引复制该编解码单元中的最后位置的调色板索引;如果使用垂直遍历扫描,那么从左侧列中的调色板索引复制该编解码单元中的最后位置的调色板索引。
copy_above_indices_for_final_run_flag等于0规定从PaletteIndexIdc[num_palette_indices_minus1]复制该编解码单元中的最后位置的调色板索引。
当copy_above_indices_for_final_run_flag不存在时,推断其等于0。
palette_transpose_flag等于1规定应用垂直遍历扫描来扫描当前编解码单元中的样点的索引。palette_transpose_flag等于0规定应用水平遍历扫描来扫描当前编解码单元中的样点的索引。当palette_transpose_flag不存在时,将其值推断为等于0。
阵列TraverseScanOrder规定用于调色板编解码的扫描顺序阵列。如果palette_transpose_flag等于0,那么向TraverseScanOrder赋予水平扫描顺序HorTravScanOrder,并且如果palette_transpose_flag等于1,那么向TraverseScanOrder赋予垂直扫描顺序VerTravScanOrder。
copy_above_palette_indices_flag等于1规定:如果使用水平遍历扫描,那么调色板索引等于上方行中的相同位置上的调色板索引;如果使用垂直遍历扫描,那么调色板索引等于左侧列中的相同位置上的调色板索引。copy_above_palette_indices_flag等于0规定将样点的调色板索引的指示编解码到比特流表示中或推断出该指示。
变量CopyAboveIndicesFlag[xC][yC]等于1规定调色板索引是从上方行(水平扫描)或左侧列(垂直扫描)中的调色板索引复制的。CopyAboveIndicesFlag[xC][yC]等于0规定将调色板索引显式编解码到比特流当中或者推断出调色板索引。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。PaletteIndexMap[xC][yC]的值必须处于0到(MaxPaletteIndex–1)(含端点)的范围内。
变量PaletteIndexMap[xC][yC]规定调色板索引,其为对通过CurrentPaletteEntries表示的阵列的索引。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。PaletteIndexMap[xC][yC]的值必须处于0到MaxPaletteIndex(含端点)的范围内。
如下推导变量adjustedRefPaletteIndex:
当CopyAboveIndicesFlag[xC][yC]等于0时,如下推导变量CurrPaletteIndex:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++(7-158)
palette_run_prefix在存在时规定PaletteRunMinus1的二值化中的前缀部分。
在变量PaletteRunMinus1的推导当中使用palette_run_suffix。当palette_run_suffix不存在时,将其值推断为等于0。
当RunToEnd等于0时,如下推导变量PaletteRunMinus1:
–如果PaletteMaxRunMinus1等于0,那么将PaletteRunMinus1设置为等于0。
–否则(PaletteMaxRunMinus1大于0),那么以下内容适用:
–如果palette_run_prefix小于2,那么以下内容适用:
PaletteRunMinus1=palette_run_prefix (7-159)
–否则(palette_run_prefix大于或等于2),那么以下内容适用:
PrefixOffset=1<<(palette_run_prefix-1)
PaletteRunMinus1=PrefixOffset+palette_run_suffix (7-160)
如下推导变量PaletteRunMinus1:
–如果CopyAboveIndicesFlag[xC][yC]等于0,那么PaletteRunMinus1规定具有相同调色板索引的相继位置的数量减一。
–否则,如果palette_transpose_flag等于0,那么PaletteRunMinus1规定如上方行中的对应位置当中使用的具有相同调色板索引的相继位置的数量减一。
–否则,PaletteRunMinus1规定如左侧列中的对应位置当中使用的具有相同调色板索引的相继位置的数量减一。
在RunToEnd等于0时,变量PaletteMaxRunMinus1表示PaletteRunMinus1的最大可能值,并且比特流一致性的要求是PaletteMaxRunMinus1的值必须大于或等于0。
palette_escape_val规定一个分量的量化逸出编码样点值。
变量PaletteEscapeVal[cIdx][xC][yC]规定一个样点的逸出值,对该样点而言PaletteIndexMap[xC][yC]等于MaxPaletteIndex并且palette_escape_val_present_flag等于1。阵列索引cIdx规定颜色分量。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。
比特流一致性的要求是:对于cIdx等于0而言,PaletteEscapeVal[cIdx][xC][yC]必须处于0到(1<<(BitDepthY+1))-1(含端点)的范围内;对于cIdx不等于0而言,PaletteEscapeVal[cIdx][xC][yC]必须处于0到(1<<(BitDepthC+1))-1(含端点)的范围内。
1.1.1基于线的CG调色板模式
VVC曾采纳过基于线的CG调色板模式。在这种方法中,基于遍历扫描模式将调色板模式的每一CU划分成多个由m个样点构成的片段(在这一测试中m=16)。每一片段中的调色板运行编码的编码顺序如下:对于每一像素,如果像素与前一像素具有相同模式,亦即,如果前一经扫描的像素与当前像素两者都具有运行类型COPY_ABOVE,或者如果前一经扫描的像素与当前像素两者都具有运行类型INDEX并且具有相同索引值,那么信令通知1个上下文编解码二进制位run_copy_flag=0。否则,信令通知run_copy_flag=1。如果像素和前一像素具有不同模式,那么信令通知一个上下文编解码二进制位copy_above_palette_indices_flag,以指示像素的运行类型,即INDEX或COPY_ABOVE。与VTM6.0中的调色板模式相同,如果样点处于第一行(水平遍历扫描)或第一列(垂直遍历扫描)内,那么解码器不必解析运行类型,因为根据默认使用INDEX模式。而且,如果先前解析的运行类型为COPY_ABOVE,那么解码器不必解析运行类型。在一个片段中的像素的调色板运行编码之后,除了对上下文编解码二进制位的编码/解析之外,对索引值(针对INDEX模式)和量化逸出颜色进行旁路编解码和汇集成组,以提高每一线CG内的吞吐量。由于现在在运行编码之后对索引值进行编码/解析,而不是像VTM中那样在调色板运行编码之前对其进行处理,因而编码器不必信令通知索引值的数量num_palette_indices_minus1和最后运行类型copy_above_indices_for_final_run_flag。
如下示出了JVET-P0077中的基于线的CG调色板模式的文本。
调色板编解码语法
7.4.9.6.调色板编解码语义
在下文的语义当中,阵列索引x0、y0规定所考虑的编解码块的左上亮度样点相对于该图片的左上亮度样点的位置(x0,y0)。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。阵列索引startComp规定当前调色板表格的第一颜色分量。startComp等于0指示Y分量;startComp等于1指示Cb分量;startComp等于2指示Cr分量。numComps规定当前调色板表格中的颜色分量的数量。
预测器调色板由来自用于预测当前调色板中的条目的先前编解码单元的调色板条目构成。
变量PredictorPaletteSize[startComp]规定用于当前调色板表格的第一颜色分量startComp的预测器调色板的尺寸。按照条款8.4.5.3中的规定推导PredictorPaletteSize。
变量PalettePredictorEntryReuseFlags[i]等于1规定在当前调色板中重复使用预测器调色板中的第i条目。PalettePredictorEntryReuseFlags[i]等于0规定预测器调色板中的第i条目不是当前调色板中的条目。将阵列PalettePredictorEntryReuseFlags[i]的所有元素初始化为0。
采用palette_predictor_run确定阵列PalettePredictorEntryReuseFlags中的非零条目之前的零的数量。
比特流一致性的要求是palette_predictor_run的值必须处于0到(PredictorPaletteSize-predictorEntryIdx)(含端点)的范围内,其中,predictorEntryIdx对应于阵列PalettePredictorEntryReuseFlags中的当前位置。变量NumPredictedPaletteEntries规定来自预测器调色板的在当前调色板中被重复使用的条目的数量。NumPredictedPaletteEntries的值必须于0到palette_max_size(含端点)的范围内。
num_signalled_palette_entries规定针对当前调色板表格的第一颜色分量startComp显性信令通知的当前调色板中的条目的数量。
在num_signalled_palette_entries不存在时,推断其等于0。
变量CurrentPaletteSize[startComp]规定用于当前调色板表格的第一颜色分量startComp的当前调色板的尺寸,并且如下推导该变量:
CurrentPaletteSize[startComp]=NumPredictedPaletteEntries+
num_signalled_palette_entries(7-155)
CurrentPaletteSize[startComp]的值必须于0到palette_max_size(含端点)的范围内。
new_palette_entries[cIdx][i]规定用于颜色分量cIdx的第i信令通知调色板条目的值。
变量PredictorPaletteEntries[cIdx][i]规定用于颜色分量cIdx的预测器调色板中的第i元素。
变量CurrentPaletteEntries[cIdx][i]规定用于颜色分量cIdx的当前调色板中的第i元素,并且如下推导该变量:
palette_escape_val_present_flag等于1规定当前编解码单元含有至少一个逸出编码样点。escape_val_present_flag等于0规定当前编解码单元中没有逸出编码样点。当palette_escape_val_present_flag不存在时,将其值推断为等于1。
变量MaxPaletteIndex规定用于当前编解码单元的调色板索引的最大可能值。将MaxPaletteIndex的值设置为等于CurrentPaletteSize[startComp]-1+palette_escape_val_present_flag。
palette_idx_idc是对调色板表格CurrentPaletteEntries的索引的指示。palette_idx_idc的值对于该块中的第一索引而言必须处于0到MaxPaletteIndex(含端点)的范围内,并且对于该块中的其余索引而言必须处于0到(MaxPaletteIndex-1)(含端点)的范围内。
当palette_idx_idc不存在时,推断其等于0。
palette_transpose_flag等于1规定应用垂直遍历扫描来扫描当前编解码单元中的样点的索引。palette_transpose_flag等于0规定应用水平遍历扫描来扫描当前编解码单元中的样点的索引。当palette_transpose_flag不存在时,将其值推断为等于0。
阵列TraverseScanOrder规定用于调色板编解码的扫描顺序阵列。如果palette_transpose_flag等于0,那么向TraverseScanOrder赋予水平扫描顺序HorTravScanOrder,并且如果palette_transpose_flag等于1,那么向TraverseScanOrder赋予垂直扫描顺序VerTravScanOrder。
run_copy_flag等于1规定调色板运行类型是先前扫描位置处的相同运行类型,并且如果copy_above_palette_indices_flag等于0,那么调色板运行索引与该先前位置处的索引相同。否则,run_copy_flag等于0。
copy_above_palette_indices_flag等于1规定:如果使用水平遍历扫描,那么调色板索引等于上方行中的相同位置上的调色板索引;如果使用垂直遍历扫描,那么调色板索引等于左侧列中的相同位置上的调色板索引。copy_above_palette_indices_flag等于0规定将样点的调色板索引的指示编解码到比特流表示中或推断出该指示。
变量CopyAboveIndicesFlag[xC][yC]等于1规定调色板索引是从上方行(水平扫描)或左侧列(垂直扫描)中的调色板索引复制的。CopyAboveIndicesFlag[xC][yC]等于0规定将调色板索引显式编解码到比特流当中或者推断出调色板索引。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。
变量PaletteIndexMap[xC][yC]规定调色板索引,其为对通过CurrentPaletteEntries表示的阵列的索引。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。PaletteIndexMap[xC][yC]的值必须处于0到MaxPaletteIndex(含端点)的范围内。
如下推导变量adjustedRefPaletteIndex:
当CopyAboveIndicesFlag[xC][yC]等于0时,如下推导变量CurrPaletteIndex:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++ (7-158)
palette_escape_val规定一个分量的量化逸出编码样点值。
变量PaletteEscapeVal[cIdx][xC][yC]规定一个样点的逸出值,对该样点而言PaletteIndexMap[xC][yC]等于MaxPaletteIndex并且palette_escape_val_present_flag等于1。阵列索引cIdx规定颜色分量。阵列索引xC、yC规定样点相对于该图片的左上亮度样点的位置(xC,yC)。
比特流一致性的要求是:对于cIdx等于0而言,PaletteEscapeVal[cIdx][xC][yC]必须处于0到(1<<(BitDepthY+1))-1(含端点)的范围内;对于cIdx不等于0而言,PaletteEscapeVal[cIdx][xC][yC]必须处于0到(1<<(BitDepthC+1))-1(含端点)的范围内。
2.3 VVC中的局部双树
在典型的硬件视频编码器和解码器中,由于相邻帧内块之间的样点处理数据依赖性的原因,当图片具有更多的小帧内块时,处理吞吐量将下降。帧内块的预测器生成需要源自于相邻块的顶部和左侧边界重建样点。因此,必须逐块顺次处理帧内预测。
在HEVC中,最小的帧内CU为8x8个亮度样点。可以将最小帧内CU的亮度分量进一步划分成四个4x4亮度帧内预测单元(PU),但是不能对最小帧内CU的色度分量做进一步划分。因此,最坏情况的硬件处理吞吐量发生在对4x4色度帧内块或者4x4亮度帧内块进行处理时。
在VTM5.0中,在单一编解码树当中,由于色度分割总是服从亮度,并且最小帧内CU为4x4亮度样点,因而最小色度帧内CB为2x2。因此,在VTM5.0中,单一编解码树中的最小色度帧内CB为2x2。用于VVC解码的最坏情况硬件处理吞吐量进位HEVC解码的该吞吐量的1/4。此外,在采纳包括跨分量线性模型(CCLM)、4抽头插值滤波器、位置相关帧内预测组合(PDPC)和合并帧间帧内预测(CIIP)在内的工具之后,色度帧内CB的重建过程变得比HEVC中的该过程复杂得多。在硬件解码器中实现高处理吞吐量是很困难的。在本章节中,提出了一种提高最坏情况硬件处理吞吐量的方法。
这种方法的目标在于通过约束色度帧内CB的分割而不允许小于16个色度样点的色度帧内CB。
在单一编解码树中,将SCIPU定义为编解码树节点,其色度块尺寸大于或等于TH个色度样点,并且具有至少一个小于4TH个亮度样点的子亮度块,其中,在本文献中将TH设置为16。要求在每一SCIPU中所有CB都是帧间的,或者所有CB都是非帧间的,即帧内的或IBC的。就非帧间SCIPU而言,进一步要求必须不对非帧间SCIPU的色度做进一步划分,并且允许对该SCIPU的亮度做进一步划分。通过这种方式,最小色度帧内CB尺寸为16个色度样点,并且去除了2x2、2x4和4x2色度CB。此外,就非帧间SCIPU而言不应用色度缩放。此外,在对亮度块做进一步划分并且不对色度块划分时,构建局部双树编解码结构。
图5A和图5B示出了两个SCIPU示例。在图5A中,一个具有8x4个色度样点的色度CB和三个亮度CB(4x8、8x8、4x8亮度CB)形成了一个SCIPU,因为从这8x4个色度样点划分的三叉树(TT)将产生小于16个色度样点的色度CB。在图5B中,一个具有4x4个色度样点的色度CB(8x4个色度样点的左侧)和三个亮度CB(8x4、4x4、4x4亮度CB)形成了一个SCIPU,并且另一个具有4x4个样点的色度CB(8x4个色度样点的右侧)和两个亮度CB(8x4、8x4亮度CB)形成了一个SCIPU,因为由该4x4个色度样点划分的二叉树(BT)将产生小于16个色度样点的色度CB。
在所提出的方法中,如果当前条带是I条带或者在一次进一步划分之后当前SCIPU具有位于其内的4x4亮度分割(因为在VVC中不允许帧间4x4),那么将SCIPU的类型推断为非帧间;否则在对SCIPU中的CU进行解析之前通过一个信令通知标志指示SCIPU的类型(帧间或非帧间)。
通过应用上述方法,最坏情况硬件处理吞吐量发生在处理4x4、2x8或8x2色度块而非2x2色度块时。该最坏情况硬件处理吞吐量与HEVC中的相同,并且是VTM5.0中的4倍。
2.4变换跳过(TS)
与HEVC中一样,可以采用变换跳过模式对块的残差编码。为了避免语法编码的冗余,在CU级MTS_CU_flag不等于零时不信令通知变换跳过标志。针对变换跳过的块尺寸限制与针对JEM4中的MTS的块尺寸限制相同,其表明对于一个CU而言当块宽度和高度两者均等于或小于32时变换跳过是适用的。注意,在对于当前CU未启动LFNST或MIP时,将隐式MTS变换设置为DCT2。而且,在针对帧间编解码块启用MTS时,仍然可以启用该隐式MTS。
此外,对于变换跳过块而言,将最小允许量化参数(QP)定义为6*(internalBitDepth–inputBitDepth)+4。
2.5替代亮度半像素插值滤波器
在JVET-N0309中,提出了替代半像素插值滤波器。
依据运动矢量精确度完成半像素插值滤波器的切换。除了现有的四分之一像素、全像素和4像素AMVR模式之外,引入了新的半像素精确度AMVR模式。只有在半像素运动矢量精确度的情况下,能够选择替代的半像素亮度插值滤波器。
对于使用半像素运动矢量精确度(即,半像素AMVR模式)的非仿射非merge帧间编码CU而言,基于新的语法元素hpelIfIdx做出HEVC/VVC半像素亮度插值滤波器与一个或多个替代半像素插值之间的切换。就半像素AMVR模式而言不信令通知语法元素hpelIfIdx。就使用空域merging候选的跳过/merge模式而言,从相邻块继承语法元素hpelIfIdx的值。
2.6自适应颜色变换(ACT)
图6示出了应用ACT时的解码流程图。如图6中所示,在残差域中施行颜色空间转换。具体地,在逆变换之后引入了一种被称为逆ACT的额外解码模块,从而将残差从YCgCo域转换回原始域。
在VVC中,除非最大变换尺寸小于一个编解码单元(CU)的宽度或高度,否则还将一个CU叶节点用作变换处理的单元。因此,在所提出的实施方式中,针对一个CU信令通知ACT标志,以选择用于对其残差编码的颜色空间。此外,遵循HEVC ACT设计,对于帧间和IBC CU而言,仅在该CU中有至少一个非零系数时才启用ACT。对于帧内CU,仅在色度分量选择与亮度分量相同的帧内预测模式(即,DM模式)时才启用ACT。
用于颜色空间转换的核心变换与用于HEVC的核心变换相同。具体地,应用以下正向和逆向YCgCo颜色变换矩阵,如下文所述。
此外,为了补偿颜色变换之前和之后残差信号的动态范围变化,对变换残差应用(-5,-5,-3)的QP调整。
另一方面,需要正向和逆向颜色变换来访问所有三个分量的残差。对应地,在所提出的实施方式中,在以下两种情形下禁用ACT,在这两种情形当中并非三个分量的所有残差都是可用的。
1.单独树分割:在应用单独树时,根据不同结构分割一个CTU内的亮度样点和色度样点。这导致了亮度树中的CU仅包含亮度分量并且色度树中的CU仅包含两个色度分量。
帧内子分割预测(ISP):仅对亮度应用ISP子分割,与此同时在不做划分的情况下对色度信号编码。在当前ISP设计中,除了最后的ISP子分割之外,其他子分割均只包含亮度分量。
3.通过本文描述的技术解决方案和实施例解决的技术问题
1.当前的逸出符号二值化不是固定长度,这样做可以适合具有不均匀分布的来源。
2.当前调色板编解码设计执行索引调整过程来去除可能的冗余,其可能引发解析冗余,例如,在错误地推导逸出值索引时。
3.推导当前索引所采用的参考索引可能需要编码器约束,而该编码器约束在当前设计中未被考虑,而且其对于编解码器设计而言是不合乎需要的。
4.在启用局部双树时,前一块和当前块的调色板索引可能具有不同数量的颜色分量。如何处置这样的情况还不清楚。
5.局部双树和PLT可能无法同时应用,因为在从单树区域向双树区域编解码时,可能重复一些调色板条目。图7中示出了一个示例。
6.用于joint_cbcr模式的色度QP表格可能受到限制。
7.在某些条件下,逸出样点可能是冗余的。
8.可能无法以高吞吐量对基于线的CG模式进行处理。
4.实施例和解决方案的列举
下文的列举应被视为用以解释大体构思的示例。不应狭义地解释这些项目。此外,可以按照任何方式使这些项目相结合。
可以对VVC中的调色板方案以及所有其他与调色板有关的方案应用以下示例。
在x为正整数时将Modulo(x,M)定义为(x%M);否则,将其定义为M-((-x)%M)。
在下文中,在无损模式中编解码的块可以意味着在tranquant_bypass_flag等于1的情况下对块编解码;或者在QP不大于给定阈值并且transform_skip_flag等于1的情况下对块编解码。
可以对VVC中的调色板方案以及所有其他与调色板有关的方案应用以下示例。
1.可以应用固定长度编解码对逸出符号编解码。
a.在一个示例中,可以采用固定长度二值化信令通知逸出符号。
b.在一个示例中,可以在使用N比特的固定长度二值化中信令通知逸出符号。
c.在一个示例中,信令通知逸出符号的代码长度(例如,项目符号1.b中提及的N)可以取决于内部比特深度(internal bit depth)。
i.可替代地,信令通知逸出符号的代码长度可以取决于输入比特深度。
ii.可替代地,信令通知逸出符号的代码长度可以取决于内部比特深度和输入比特深度之间的差。
iii.在一个示例中,将N设置为等于输入/内部比特深度。
d.在一个示例中,信令通知逸出符号的代码长度(例如,项目符号1.b中提及的N)可以取决于量化参数,即Qp。
i.在一个示例中,用于信令通知逸出符号的代码长度可以是量化参数的函数,例如,通过f(Qp)表示。
1.在一个示例中,可以将该函数定义为(internal bitdepth–g(Qp))
2.在一个示例中,可以将N设置为(internal bitdepth–max(16,(Qp-4)/6))。
3.在一个示例中,可以将N设置为(internal bitdepth–max(QpPrimeTsMin,(Qp-4)/6)),其中,qP是解码后的量化参数,并且QpPrimeTsMin是用于变换跳过模式的最小允许量化参数。
4.可替代地,可以将代码长度N设置为max(A,internalbitDepth-(Max(QpPrimeTsMin,Qp)–4)/6),其中,A是非负整数值,诸如0或1。
e.在以上示例中,N可以大于或等于0。
2.提出了在一个视频单元(例如,CU)中禁止使用逸出符号。
a.可替代地,此外,跳过对逸出符号存在的指示的信令通知。
b.在一个示例中,是否启用/禁用逸出符号的使用可以取决于量化参数和/或比特深度。
i.在一个示例中,如果(internal bitDepth-(Max(QpPrimeTsMin,Qp)–4)/6)不大于0,那么可以禁用逸出符号的使用。
3.可以应用排除3阶EG的可变长度编解码来对逸出符号编解码。
a.在一个示例中,逸出符号的二值化可以是采用输入参数K的截断二元码(TB)。
b.在一个示例中,逸出符号的二值化可以是K阶EG,其中,K不等于3。
i.在一个示例中,逸出符号的二值化可以是0阶EG。
1.可替代地,在一个示例中,逸出符号的二值化可以是1阶EG。
2.在一个示例中,逸出符号的二值化可以是2阶EG。
c.在一个示例中,K可以是整数数值并且可以取决于:
i.在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组/砖块中信令通知的消息。
ii.内部比特深度
iii.输入比特深度
iv.内部比特深度与输入深度之间的差
v.当前块的块维度
vi.当前块的当前量化参数
vii.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
viii.编解码结构(诸如单树或双树)
ix.颜色分量(诸如亮度分量和/或色度分量)
4.可以对视频单元(例如,序列/图片/条带/片/砖块/子图片/CTU行/CTU/CTB/CB/CU/图片内的子区域)和/或针对一个或多个逸出符号值应用多种用于对逸出符号编解码的二值化方法。
a.在一个示例中,可以针对视频单元和/或针对一个或多个逸出符号值信令通知如何选择多种二值化方法中的一种。
b.在一个示例中,可以针对视频单元和/或针对一个或多个逸出符号值推导如何选择多种二值化方法中的一种。
c.在一个示例中,对于一个视频单元和/或对于一个或多个逸出符号值,可以应用两种或多种二值化方法。
i.在一个示例中,可以对索引或标志编码/解码,以辨别所选择的二值化方法。
在以下项目符号中,p可以表示颜色分量的符号值,bd可以表示比特深度(例如,内
部比特深度或输入比特深度),ibd可以表示输入比特深度,并且Qp可以表示用于变换跳过
块或变换块的量化参数。此外,用于亮度分量和色度分量的QP可以是不同或相同的。比特深
度可以与给定颜色分量相关联。
5.如何应用量化和/或逆量化过程可以取决于该块是否是采用调色板模式编解码的。
a.在一个示例中,用于逸出符号的量化和/或逆量化过程可以与用于应用了量化的正常帧内/之间编解码块的那些过程不同。
6.用于逸出符号的量化和/或逆量化过程可以使用比特移位。
a.在一个示例中,可以将右比特移位用于对逸出符号进行量化。
i.在一个示例中,可以将逸出符号作为f(p,Qp)予以信令通知,其中,p是输入符号值(例如,输入亮度/色度样点值),Qp是用于对应颜色分量的推导出的量化参数。
1.在一个示例中,可以将函数f定义为p>>g(Qp)。
2.在一个示例中,可以将函数f定义为(p+(1<<(g(QP)-1)))>>g(Qp)。
3.在一个示例中,可以将函数f定义为(0,(1<<bd)-1,(p+(1<<(g(QP)-1)))>>g(Qp))。
ii.在一个示例中,可以将逸出符号作为h(p)予以信令通知。
1.在一个示例中,可以将函数h定义为p>>N。
2.在一个示例中,可以将函数h定义为(p+(1<<(N-1)))>>N。
3.在一个示例中,当cu_transquant_bypass_flag等于1时,可以将N设置为0。
4.在一个示例中,当cu_transquant_bypass_flag等于1时,可以将N设置为等于(bd-ibd),其中,bd是内部比特深度并且ibd是输入比特深度。
5.在一个示例中,可以将函数h定义为clip(0,(1<<(bd-N)-1,p>>N),其中,bd是当前颜色分量的内部比特深度。
6.在一个示例中,可以将函数h定义为clip(0,(1<<(bd-N)-1,(p+(1<<(N-1)))>>N),其中,bd是当前颜色分量的内部比特深度。
7.在以上示例中,N可以处于[0,(bd–1)]的范围内。b.在一个示例中,可以将左比特移位用于对逸出符号进行逆量化。
i.在一个示例中,可以将逸出符号逆量化为f(p,Qp),其中,p是解码后的逸出符号,并且Qp是用于对应颜色分量的推导出的量化参数。
1.在一个示例中,可以将f定义为p<<g(Qp)
2.在一个示例中,可以将f定义为(p<<g(Qp))+(1<<(g(Qp)-1))。
ii.在一个示例中,可以将逸出符号重建为f(p,Qp),其中,p是解码后的逸出符号。
1.在一个示例中,可以将f定义为clip(0,(1<<bd)-1,p<<g(Qp))
2.在一个示例中,可以将f定义为clip(0,(1<<bd)-1,(p<<g(Qp))+(1<<(g(Qp)-1)))。
iii.在一个示例中,可以将逸出符号重建为h(p)。
1.在一个示例中,可以将函数h定义为p<<N。
2.在一个示例中,可以将函数h定义为(p<<N)+(1<<(N-1))
3.在一个示例中,当cu_transquant_bypass_flag等于1时,可以将N设置为0。
4.在一个示例中,当cu_transquant_bypass_flag等于1时,可以将N设置为等于(bd-ibd),其中,bd是内部比特深度并且ibd是输入比特深度。
5.在一个示例中,可以将N设置为(max(QpPrimeTsMin,qP)-4)/6,其中,qP是解码后的量化参数,并且QpPrimeTsMin是用于变换跳过模式的最小允许量化参数。
a)在以上示例中,如果亮度和色度两者都具有变换跳过模式,那么可以对不同颜色分量应用针对变换跳过模式的不同最小允许量化参数。
6.可替代地,对于以上示例,可以对N做进一步裁剪,例如,min(bd-1,N)。
7.在以上示例中,N可以处于[0,(bd–1)]的范围内。
7.在应用左移位作为逆量化时,逸出符号p的重建偏移量可以取决于比特深度信息。
a.在一个示例中,其可以取决于内部比特深度(internal bitdepth)和输入比特深度(input bitdepth)之间的差,即,deltaBD=internal bidepth–input bitdepth。
b.在K小于或等于deltaBD时,重建值可以为p<<K。
c.在K大于deltaBD时,重建值可以是(p<<K)+(1<<(K-1))。
d.在K小于或等于T0(例如,T0=2)时,重建值可以是p<<K。
e.在K大于T1(例如,T1=2)时,重建值可以是(p<<K)+(1<<(K-1))
f.在一个示例中,可以在比特流中(例如,在序列/图片/条带/片/砖块/子图片级别上)信令通知项目符号d和e中的T0和T1。
g.在一个示例中,重建值可以是(p<<K)+((1<<(K-1))>>deltaBD<<deltaBD)。
h.在一个示例中,重建值可以是((p<<(K+1))+(1<<K))>>(deltaBD+1)<<deltaBD。
i.在一个示例中,可以在比特流中(例如,在序列/图片/条带/片/砖块/子图片级别上)信令通知deltaBD。
j.在一个示例中,应当使用哪一重建值(例如,项目符号b到e)可以取决于当前块的量化参数。
k.在一个示例中,应当使用哪一重建值(例如,项目符号b到e)可以取决于deltaBD的值。
l.在一个示例中,可以将K设置为g(Qp)。
8.在以上示例中,以下内容可以适用:
a.在一个示例中,可以对逸出符号进行上下文编解码。
b.在一个示例中,可以对逸出符号进行旁路编解码。
c.在一个示例中,可以将g(Qp)定义为(Qp-4)/6或QP/8。
i.可替代地,可以将g(Qp)定义为Qp/6或QP/8。
ii.可替代地,可以将g(Qp)定义为max(16,Qp/6))。
iii.可替代地,可以将g(Qp)定义为max(16,(Qp-4)/6)。
iv.可替代地,可以将g(Qp)定义为max((bd-ibd)*6+4,(Qp-4)/6)。
v.可替代地,可以将g(Qp)定义为max(M,(Qp-4)/6)。
1.在一个示例中,可以将M信令通知给解码器。
vi.可替代地,可以将g(Qp)定义为max((M,Qp)-4)/6。
1.在一个示例中,可以在SPS中指示M。
2.在一个示例中,可以对亮度和色度分量应用相同或不同的M。
3.在一个示例中,M可以等于(bd-ibd)*6+4。
vii.可替代地,可以将g(Qp)定义为Qp/6或QP/8。
viii.可替代地,可以将g(Qp)定义为(max(16,Qp)/6)。
ix.可替代地,可以将g(Qp)定义为(max(16,Qp)-4)/6。
d.在以上示例中,g(Qp)的值可以处于[0,(bd–1)]的范围内。
e.在一个示例中,可以将max函数max(a,i)定义为(i<=a?a:i)。
i.可替代地,在一个示例中,可以将max函数max(a,i)定义为(i<a?a:i)。
f.在一个示例中,N可以是整数(例如,8或10)并且可以取决于:
i.在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组/砖块中信令通知的消息。
ii.内部比特深度
iii.输入比特深度
iv.内部比特深度与输入深度之间的差
v.当前块的块维度
vi.当前块的当前量化参数
vii.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
viii.编解码结构(诸如单树或双树)
ix.颜色分量(诸如亮度分量和/或色度分量)
x.条带/片组类型和/或图片类型
g.在一个示例中,可以将N信令通知给解码器。
9.可以裁剪用于逸出值的Qp。
a.在一个示例中,应用于逸出值的最低Qp可以等于min_qp_prime_ts_minus4。
b.在一个示例中,应用于逸出值的最低Qp可以与min_qp_prime_ts_minus4有关。
i.在一个示例中,应用于逸出值的最低Qp可以等于min_qp_prime_ts_minus4+4。
c.在一个示例中,可以在SPS/PPS/VPD/DPS/片/条带标头中指示用于每一颜色分量的最低Qp。
d.在一个示例中,应用于逸出值的最低Qp可以是(bd-ibd)*6+4,其中,bd是内部比特深度,并且ibd表示用于某一颜色分量的输入比特深度。
e.在一个示例中,可以将以上示例应用于某一颜色分量。
10.在以上示例中,用于逸出值的色度Qp可以使用映射之前/之后的Qp。
11.提出了当在调色板模式下推导当前调色板索引时不使用参考索引。
a.在一个示例中,可以在不排除参考索引(例如,adjustedRefPaletteIndex)的可能性的情况下直接信令通知调色板索引。
i.可替代地,在一个示例中,可以使编码器局限于启用总是不同于当前索引的参考索引。在这样的情况下,可以通过排除参考索引的可能性而信令通知调色板索引。
b.在一个示例中,调色板索引的二值化可以是截断二元码(TB,Truncatedbinary),其中,使用最大调色板索引作为二值化输入参数。
c.在一个示例中,调色板索引的二值化可以是固定长度的。
d.在一个示例中,调色板索引的二值化可以是K阶EG。
i.在一个示例中,K可以是整数数值(例如,1、2或3)并且可以取决于:
1.在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组/砖块中信令通知的消息。
2.内部比特深度
3.输入比特深度
4.内部比特深度与输入深度之间的差
5.当前块的块维度
6.当前块的当前量化参数
7.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
8.编解码结构(诸如单树或双树)
9.颜色分量(诸如亮度分量和/或色度分量)
e.在一个示例中,可以仅在当前块至少具有一个逸出样点时应用以上示例。
12.可以独立于先前调色板索引信令通知当前调色板索引。
a.在一个示例中,是否和/或如何使用先前调色板索引可以取决于当前块中是否有逸出样点。
13.可以不允许由逸出符号的索引推导出非逸出符号的索引。
a.在一个示例中,在应用逸出符号并且调色板索引不等于逸出符号的索引时,可以不允许将符号解码成逸出符号。
14.可以不允许从非逸出符号的索引推导出逸出符号的索引。
a.在一个示例中,在应用逸出符号并且调色板索引等于逸出符号的索引时,可以不允许将符号解码成非逸出符号。
15.可以由当前调色板表格尺寸给所推导出的调色板索引加一个上限。
a.在一个示例中,当调色板索引大于MaxPaletteIndex时,可以将其修改为等于MaxPaletteIndex。
16.可以由排除了逸出符号的索引之外的当前调色板表格尺寸给所推导出的调色板索引加一个上限。
a.在一个示例中,在不应用逸出符号并且调色板索引大于MaxPaletteIndex时,可以将其修改为等于MaxPaletteIndex。
b.在一个示例中,在应用逸出符号并且调色板索引大于(MaxPaletteIndex–1)时,可以将其修改为等于(MaxPaletteIndex–1)。
17.可以不允许修改指示逸出符号的索引。
a.在一个示例中,当在当前块中存在逸出符号时,等于MaxPaletteIndex的索引可以总是指示逸出符号。
b.在一个示例中,不能将不等于MaxPaletteIndex的索引解码为指示逸出符号的索引。
18.提出了对参考索引和当前索引之间的差进行编解码。
a.在一个示例中,可以不允许对等于0的差进行编解码。
b.可替代地,对于调色板编解码块中的第一索引而言,可以直接对该索引进行编解码。
19.提出了对参考索引(被表示为R)和当前索引(被表示为C)之间的差的模量(modulo)进行编解码。
a.在一个示例中,可以对I=Modulo(C-R,MaxPaletteIndex)编码。
i.在一个示例中,可以将该索引重建为Modulo(I+R,MaxPaletteIndex)
ii.在一个示例中,在比特流中可以不允许等于0的Modulo(C-R,MaxPaletteIndex)。
iii.在一个示例中,可以采用具有cMax=MaxPaletteIndex的截断二元码代码对该值编解码。
iv.可替代地,对于调色板编解码块中的第一索引而言,可以直接对该索引进行编解码。
b.在一个示例中,可以对I=Modulo(C-R,MaxPaletteIndex)–1编解码。
i.在一个示例中,可以将该索引重建为Modulo(I+1+R,MaxPaletteIndex)
ii.在一个示例中,在比特流中可以不允许小于0的Modulo(C-R,MaxPaletteIndex)–1。
iii.在一个示例中,可以采用具有cMax=(MaxPaletteIndex–1)的截断二元码代码对值I编解码。
iv.可替代地,对于调色板编解码块中的第一索引而言,可以对Modulo(C-R,MaxPaletteIndex)编解码。
v.可替代地,对于调色板编解码块中的第一索引而言,可以直接对该索引编解码。
20.在开始对调色板块解码时,可以将参考索引R设置为等于-1。
a.可替代地,可以将参考索引R设置为等于0。
21.提出了互斥地启用调色板模式和局部双树。
a.在一个示例中,在启用调色板模式时,可以不允许局部双树。
i.可替代地,在一个示例中,在启用局部双树时可以不允许调色板模式。
b.在一个示例中,不对特定的颜色格式(例如,4:4:4)启用局部双树。
c.在一个示例中,当编解码树为MODE_TYPE_INTRA时,可以不允许调色板模式。
d.提出了基于局部双树的使用重置调色板预测器。
i.在一个示例中,可以在将单树切换至局部双树时重置调色板预测器。
ii.在一个示例中,可以在将局部双树切换至单树时重置调色板预测器。
iii.可替代地,此外,是否信令通知调色板预测器中的条目的使用(例如,palette_predictor_run)可以取决于树类型。
1.在一个示例中,在遇到局部双树和单树之间的切换时省略对调色板预测器中的条目的使用的信令通知(例如,palette_predictor_run)。
22.提出了在应用局部双树时去除调色板预测表格中的重复调色板条目。
a.在一个示例中,可以在应用局部双树时重置调色板预测表格。
i.可替代地,在一个示例中,在应用局部双树时,解码器可以检查预测表格中的所有调色板条目并去除重复的调色板条目。
ii.可替代地,在一个示例中,在应用局部双树时,解码器可以检查预测表格中的部分调色板条目,并且去除重复的调色板条目。
iii.在一个示例中,在检查调色板条目时可以应用完全修剪或部分修剪。
1.在一个示例中,可以检查一组选定的条目(例如,该组包括调色板预测器中的全部或部分调色板条目)。
a)在一个示例中,可以对所选的条目应用完全或部分修剪。
2.在一个示例中,完全修剪可以表示将一个条目与可以添加的所有条目进行比较。
3.在一个示例中,部分修剪可以表示将一个条目与可以添加的部分条目进行比较。
iv.在一个示例中,两个调色板条目是否相同可以基于它们的亮度分量值是否相同。
1.可替代地,在一个示例中,两个调色板条目是否相同可以基于它们的色度分量值是否相同。
2.可替代地,在一个示例中,两个调色板条目是否相同可以基于它们的亮度和色度分量值两者是否相同。
v.在一个示例中,可以只有在局部双树开始处理亮度分量时对亮度块应用以上方法。
1.可替代地,在一个示例中,可以只有在局部双树开始处理色度分量时对色度块应用以上方法。
vi.可替代地,在一个示例中,编码器可以添加考虑两个不同调色板条目这一约束,当这两个条目的三个分量不同时这两个条目不同。
23.在当前调色板条目与调色板预测表格中的条目具有不同数量的颜色分量时,可以不允许使用调色板预测表格。
a.在一个示例中,在当前调色板条目与预测具有不同数量的颜色分量时,可以将调色板预测表格中的所有条目的重复使用标志标记为真,但是可以不将其用于当前块。
b.在一个示例中,在当前调色板条目与预测具有不同数量的颜色分量时,可以将调色板预测表格中的所有条目的重复使用标志标记为假。
24.在预测表格与当前调色板表格具有不同颜色分量时,可以不允许使用调色板预测表格。
a.在一个示例中,在预测表格与当前调色板表格具有不同颜色分量时,可以将调色板预测表格中的所有条目的重复使用标志标记为真,但是可以不将其用于当前块。
b.在一个示例中,在预测表格与当前调色板表格具有不同颜色分量时,可以将调色板预测表格中的所有条目的重复使用标志标记为假。
25.可以对逸出符号进行预测性编解码,例如,基于先前编解码的逸出符号。a.在一个示例中,一个分量中的逸出符号可以通过同一颜色分量中的编解码值预测。
i.在一个示例中,逸出符号可以采用同一分量中的前一个编解码的逸出符号作为预测器并且可以信令通知它们之间的残差。
ii.可替代地,逸出符号可以采用同一分量中的前第K个编解码的逸出符号作为预测器,并且可以信令通知它们之间的残差。
iii.可替代地,逸出符号可以由同一分量中的多个(例如,K个)编解码的逸出符号来预测。
1.在一个示例中,K可以是整数数值(例如,1、2或3)并且可以取决于:
a)在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组/砖块中信令通知的消息。
b)内部比特深度
c)输入比特深度
d)内部比特深度与输入深度之间的差
e)当前块的块维度
f)当前块的当前量化参数
g)颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
h)编解码结构(诸如单树或双树)
i)颜色分量(诸如亮度分量和/或色度分量)
b.在一个示例中,一个分量中的逸出符号可以通过另一分量中的编解码值预测。
c.在一个示例中,像素可以具有多个颜色分量,并且如果将该像素作为逸出符号对待,那么一个分量的值可以通过其他分量的样点的值预测。
i.在一个示例中,逸出符号的U分量可以由该符号的V分量预测。
d.在一个示例中,可以仅对某一颜色分量(例如,对亮度分量或色度分量)或者在某些条件下(例如,基于编码信息)应用以上方法。
26.与调色板有关的语法元素的信令通知可以取决于调色板的最大尺寸和/
或块维度和/或无损模式的使用和/或量化参数(QP)。
a.在一个示例中,对于无损代码块和/或QP不大于阈值和/或应用变换跳过,将块的调色板尺寸推断为等于块维度。
i.可替代地,对于无损代码块和/或QP不大于阈值,将块的调色板尺寸推断为等于min(块维度,最大调色板尺寸)。
b.是否信令通知块中的逸出样点的使用可以取决于块维度和/或无损编解码模式的使用(例如,QP是否等于给定值(例如,4);和/或transform_skip_flag等于1;或者transquant_bypass_flag是否等于真)和/或Qp。
i.可替代地,此外,是否信令通知逸出样点的使用可以取决于当前块的块维度和当前调色板尺寸之间的关系。
1.在一个示例中,是否信令通知它可以取决于该块维度是否等于当前调色板尺寸。
a)可替代地,此外,如果块维度等于当前调色板尺寸,那么不对它信令通知并将它推断为假。
2.可替代地,是否对它信令通知可以取决于该块维度是否小于当前调色板尺寸。
a)可替代地,此外,如果块维度不小于当前调色板尺寸,那么不对它信令通知并且将它推断为假。
ii.可替代地,此外,是否信令通知逸出样点的使用可以取决于块维度、调色板的最大尺寸和/或无损模式之间的关系。
1.在一个示例中,如果一个块是采用无损模式编解码的,并且块维度小于调色板的最大尺寸,那么可以省略对逸出样点的使用的信令通知,并将其推断为假。
2.在一个示例中,如果一个块是采用不大于阈值的QP编码的,并且块维度小于调色板的最大尺寸,那么可以省略对逸出样点的使用的信令通知,并将其推断为假。
iii.可以在某些条件下推断逸出样点的使用的指示(例如,palette_escape_val_present_flag)。
1.在一个示例中,在当前块尺寸小于或等于最大允许调色板尺寸(例如,palette_max_size)时,可以将逸出样点的使用的指示推断为假。
a)可替代地,在一个示例中,在当前块尺寸大于最大允许调色板尺寸时,可以信令通知逸出样点的使用的指示。
b)可替代地,在一个示例中,在当前块尺寸大于最大允许调色板尺寸时,可以将逸出样点的使用的指示推断为假。
2.在一个示例中,可以在无损编解码条件下应用以上方法。
3.在一个示例中,可以对受到无损编解码的CU应用以上方法。
4.在一个示例中,在当前块尺寸小于或等于当前块的调色板尺寸时,可以将逸出样点的使用的指示推断为假。
5.在一个示例中,在推断逸出样点的使用标志时,可以在比特流中跳过对应的语法元素,例如,palette_escape_val_present_flag。
27.用于调色板模式下的运行长度编解码的上下文可以取决于用于索引调色板条目的调色板索引。
a.在一个示例中,可以采用解码器处的索引调整过程(章节2.1.3中提及的)之后的调色板索引来推导针对长度元素的前缀的上下文(例如,palette_run_prefix)。
b.可替代地,在项目符号13中定义的I可以代替调色板索引来推导针对长度元素的前缀的上下文(例如,palette_run_prefix)。
28.提出了使针对量化参数预测器的推导过程中所采用的左侧相邻块和/或上方相邻块的位置与模式/MV(例如,MPM)推导当中使用的相邻左侧块和/或上方相邻块的位置对齐。
a.使针对量化参数预测器的推导过程中所采用的左侧相邻块和/或上方相邻块的位置与merge/AMVP候选列表推导过程中使用的那些对齐。
b.在一个示例中,针对量化参数预测器的推导过程中所采用的左侧相邻块和/或上方相邻块的位置可以是图8中所示的左侧/上方相邻块。
29.可以独立于当前块中是否存在逸出样点而发送块级QP差。
a.在一个示例中,是否和/或如何发送块级QP差可以服从在除了调色板以外的其他模式中编解码的块。
b.在一个示例中,对于调色板块可以总是不发送块级QP差。
c.在一个示例中,在块宽度大于阈值时,可以对调色板块发送块级QP差。
d.在一个示例中,在块高度大于阈值时,可以对调色板块发送块级QP差。
e.在一个示例中,在块尺寸大于阈值时,可以对调色板块发送块级QP差。
f.在一个示例中,以上示例可以仅适用于亮度块或色度块。
30.可以将调色板块的编解码块标志(CBF)中的一个或多个(例如,cbf_luma、cbf_cb、cbf_cr)设置为等于1。
a.在一个示例中,可以总是将用于调色板块的CBF设置为等于1。
b.用于调色板块的CBF中的一个或多个可以取决于当前块中是否存在逸出像素。
i.在一个示例中,当调色板块具有逸出样点时,可以将其cbf设置为等于1。
ii.可替代地,当调色板块不具有逸出样点时,可以将其cbf设置为等于0。
c.可替代地,在访问相邻调色板编解码块时,可以将其作为具有等于1的CBF的帧内编解码块对待。
31.对于调色板块而言,可以将应用于调色板块的亮度和/或色度QP与针对该块推导的QP(例如,JVET-O2001-vE规范中的QpY或Qp′Y)之间的差设置为等于固定值。
a.在一个示例中,可以将亮度和/或色度QP偏移量设置为等于0。
b.在一个示例中,对于Cb和Cr而言色度QP偏移量可以是不同的。
c.在一个示例中,亮度QP偏移量和色度QP偏移量可以是不同的。
d.在一个示例中,可以在DPS/VPS/SPS/PPS/条带/砖块/片标头中指示色度QP偏移量。
32.可以使由NumPltIdx表示的针对当前块显式信令通知或推断的调色板索引的数量(例如,num_palette_indices_minus1+1)局限为大于或等于K。
a.在一个示例中,可以基于当前调色板尺寸、逸出标志和/或调色板编解码块的其他信息确定K。令S为当前块的当前调色板尺寸,并且令E为逸出存在标志(例如,palette_escape_val_present_flag)的值。令BlkS为当前块尺寸。
i.在一个示例中,可以将K设置为等于S。
ii.可替代地,在一个示例中,可以将K设置为等于S+E。
iii.可替代地,在一个示例中,可以将K设置为等于(预测的调色板条目的数量+信令通知的调色板条目的数量+palette_escape_val_present_flag)(例如,NumPredictedPaletteEntries+num_signalled_palette_entries+palette_escape_val_present_flag)。
iv.可替代地,在一个示例中,可以将K设置为等于(调色板索引的最大值(e.g.MaxPaletteIndex)加1)。
v.可替代地,在一个示例中,可以将K信令通知给解码器。
i.在一个示例中,K可以是固定整数值。
ii.在一个示例中,K是整数值,并且可以是基于下述选项确定的:
1.先前编解码块/当前块的解码信息
2.当前块/相邻(毗邻或非毗邻)块的量化参数
3.视频内容(例如,屏幕内容或自然内容)
4.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息
5.CU/PU/TU/块/视频编解码单元的位置
6.当前块和/或其相邻块的块尺度
7.当前块和/或其相邻块的块形状
8.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
9.编解码树结构(诸如双树或单树)
10.条带/片组类型和/或图片类型
11.颜色分量(例如,可以仅应用于亮度分量或色度分量)
12.时域层ID
13.配置文件/级别/层次
b.在一个示例中,可以信令通知/解析(NumPltIdx减K)而非num_palette_indices_minus1。
i.可替代地,此外,可以仅在(S+E)不小于1时对它信令通知。
ii.在一个示例中,可以采用二值化方法信令通知(NumPltIdx减K)的值,其中,二值化的二进制字符串可以具有采用m阶EG代码的前缀(例如,截断一元码)和/或后缀。
iii.在一个示例中,可以采用截断二元码二值化方法信令通知(NumPltIdx减K)的值。
iv.在一个示例中,可以采用截断一元码二值化方法信令通知(NumPltIdx减K)的值。
v.在一个示例中,可以采用m阶EG二值化方法信令通知(NumPltIdx减K)的值。
vi.在一个示例中,可以采用BlkS–K的值作为以上二值化方法中的输入参数(例如,cMax),例如,将其用作对于截断一元码/截断二元码二值化方法的最大值。
c.在一个示例中,一致性比特流必须满足NumPltIdx大于或等于K。
d.在一个示例中,一致性比特流必须满足NumPltIdx小于或等于K。
i.在一个示例中,将K’设置为(块宽度*块高度)。
ii.在一个示例中,将K’设置为(块宽度*块高度-K)。
33.是否和/或如何应用以上方法可以基于:
a.视频内容(例如,屏幕内容或自然内容)
b.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息
c.CU/PU/TU/块/视频编解码单元的位置
d.当前块和/或其相邻块的块尺度
e.当前块和/或其相邻块的块形状
f.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
g.编解码树结构(诸如双树或单树)
h.条带/片组类型和/或图片类型
i.颜色分量(例如,可以仅应用于亮度分量或色度分量)
j.时域层ID
k.配置文件/级别/层次
l.当前块是否具有一个逸出样点。
i.在一个示例中,可以仅在当前块至少具有一个逸出样点时应用以上方法。
m.当前块是否是采用无损模式编解码的(例如,cu_transquant_bypass_flag)
i.在一个示例中,可以仅在当前块未采用无损模式编解码时应用以上方法。
n.是否启用无损编解码(例如,transquant_bypass_enabled、cu_transquant_bypass_flag)
i.在一个示例中,可以仅在禁用无损编解码时应用以上方法。
相关的基于线的CG调色板模式
34.可以针对每一CG指示这些是否是逸出样点。
a.在一个示例中,对于每一CG,可以在比特流中发送语法元素(例如,palette_escape_val_present_flag),从而指示是否存在逸出样点。
i.在一个示例中,可以基于CG尺寸、当前块中的解码样点的数量和/或当前块的调色板尺寸信令通知或推断palette_escape_val_present_flag。
b.在一个示例中,对于当前CG,在逸出样点不存在时,可以应用索引调整。
c.在一个示例中,对于当前CG,当存在逸出样点时,不应当应用索引调整。
d.在一个示例中,可以仅在当前块含有逸出样点时应用以上方法。35.在基于线的CG调色板模式中,可以不对复制上方索引这一操作的使用指示(例如,copy_above_palette_indices_flag)进行上下文编解码。
e.可替代地,在一个示例中,可以在不使用任何上下文的情况下对复制上方索引这一操作的使用指示(例如,copy_above_palette_indices_flag)进行旁路编解码。
i.在一个示例中,可以交错地(interleaved)对复制上方索引这一操作的使用指示(例如,copy_above_palette_indices_flag)和当前片段中的复制标志(例如,run_copy_flag)进行信令通知。
f.在一个示例中,可以在信令通知当前片段中的所有复制标志(例如,run_copy_flag)之后对复制上方索引这一操作的使用指示(例如,copy_above_palette_indices_flag)进行编码。
g.在一个示例中,可以交错地对复制上方索引这一操作的使用指示(例如,copy_above_palette_indices_flag)和信令通知的索引进行编码。
h.以上方法也可以适用于其他基于调色板的编码模式。
36.可以交错地信令通知复制标志、运行类型、复制上方索引这一操作的使用指示以及逸出值。
i.在一个示例中,可以按顺序对第一复制标志、运行类型、复制上方索引这一操作的使用指示和逸出值进行编解码;随后继之以第二复制标志、运行类型、复制上方索引这一操作的使用指示和逸出值。
j.可替代地,此外,对于给定CG,可以应用以上方法。
37.对于具有小于或等于给定阈值(被表示为Th)的尺寸的块可以禁用基于线的CG调色板模式。
k.在一个示例中,Th等于基于线的CG调色板模式中的片段的样点数量。
l.在一个示例中,Th为固定数值(例如,16)并且可以基于
i.视频内容(例如,屏幕内容或自然内容)
ii.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息
iii.CU/PU/TU/块/视频编解码单元的位置
iv.当前块和/或其相邻块的块尺度
v.当前块和/或其相邻块的块形状
vi.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
vii.编解码树结构(诸如双树或单树)
viii.条带/片组类型和/或图片类型
ix.颜色分量(例如,可以仅应用于亮度分量或色度分量)
x.时域层ID
xi.配置文件/级别/层次
xii.当前块的量化参数
xiii.当前块是否具有一个逸出样点。
xiv.是否启用无损编解码(例如,transquant_bypass_enabled、cu_transquant_bypass_flag)
相关的BDPCM
38.在采用BDPCM对一个块编码并且将其划分成多个变换块或子块时,可以在块级别内完成残差预测,并且在子块/变换块级别内完成残差的信令通知。
a.可替代地,此外,在一个子块的重建过程中不允许另一子块的重建。
b.可替代地,在子块/变换块级别内完成残差预测和残差的信令通知。
i.通过这种方式,可以在一个子块的重建过程中利用另一子块的重建。
相关的色度QP表格
39.对于给定索引,可以通过Cb的色度QP表格的值和Cr的色度QP表格的值两者来约束用于joint_cb_cr模式的色度QP表格的值。
c.在一个示例中,可以将用于joint_cb_cr模式的色度QP表格的值约束到Cb的色度QP表格的值和Cr的色度QP表格的值(含端点)之间。
相关的去方块
40.去方块中的MV比较可以取决于是否采用替代半像素插值滤波器(例如,在JVET-O2001-vE规范中通过hpelIfIdx指示)。
d.在一个示例中,可以将使用不同插值滤波器的块作为具有不同MV来对待。
e.在一个示例中,在涉及替代半像素插值滤波器时,可以将常数偏移量加到用于去方块比较的MV差上。
一般性的权利主张
41.是否和/或如何应用以上方法可以基于:
a.视频内容(例如,屏幕内容或自然内容)
b.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息
c.CU/PU/TU/块/视频编解码单元的位置
d.当前块和/或其相邻块的块尺度
e.当前块和/或其相邻块的块形状
f.当前块的量化参数
g.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
h.编解码树结构(诸如双树或单树)
i.条带/片组类型和/或图片类型
j.颜色分量(例如,可以仅应用于亮度分量或色度分量)
k.时域层ID
l.配置文件/级别/层次
m.当前块是否具有一个逸出样点。
i.在一个示例中,可以仅在当前块至少具有一个逸出样点时应用以上方法。
n.当前块是否是采用无损模式编解码的(例如,cu_transquant_bypass_flag)
ii.在一个示例中,可以仅在当前块未采用无损模式编解码时应用以上方法。
o.是否启用无损编解码(例如,transquant_bypass_enabled、cu_transquant_bypass_flag)
5.实施例
该实施例基于JVET-O2001-vE。将新添加的文本包含到双重粗双括弧内,例如,{{a}}指示已经添加了“a”。将删除的文本包含到双重粗方括号内,例如,[[b]]指示已经删除了“b”。
5.1实施例#1
用于调色板模式的解码过程
这一过程的输入为:
–位置(xCb,yCb),相对于当前图片的左上亮度样点规定当前块的左上亮度样点,
–变量startComp,规定调色板表格中的第一颜色分量,
–变量cIdx,规定当前块的颜色分量,
–两个变量nCbW和nCbH,分别规定当前块的宽度和高度。
这一过程的输出是规定该块的重建样点值的阵列recSamples[x][y],其中,x=0..nCbW-1,y=0..nCbH-1。
依据cIdx的值,如下推导变量nSubWidth和nSubHeight:
–如果cIdx等于0,那么将nSubWidth设置为1,并且将nSubHeight设置为1。
–否则,将nSubWidth设置为SubWidthC,并且将nSubHeight设置为SubHeightC。
通过recSamples[x][y]表示重建样点阵列recSamples在位置(xCb,yCb)处的(nCbW x nCbH)块,其中,x=0..nCTbW-1并且y=0..nCbH-1,并且针对范围0到nCbW-1内的每一x和范围0到nCbH-1内的每一y如下推导recSamples[x][y]的值:
–如下推导变量xL和yL:
xL=palette_transpose_flag?x*nSubHeight:x*nSubWidth (8-268)
yL=palette_transpose_flag?y*nSubWidth:y*nSubHeight (8-269)
–如下推导变量bIsEscapeSample:
–如果PaletteIndexMap[xCb+xL][yCb+yL]等于MaxPaletteIndex,并且palette_escape_val_present_flag等于1,那么将bIsEscapeSample设置为等于1。
–否则,将bIsEscapeSample设置为等于0。
–如果bIsEscapeSample等于0,那么以下内容适用:
recSamples[x][y]=CurrentPaletteEntries[cIdx][PaletteIndexMap[xCb+xL][yCb+yL]] (8-270)
–否则,如果cu_transquant_bypass_flag等于1,那么以下适用:
recSamples[x][y]=PaletteEscapeVal[cIdx][xCb+xL][yCb+yL] (8-271)
–否则(bIsEscapeSample等于1并且cu_transquant_bypass_flag等于0),那么以下内容适用:
1.如下推导量化参数qP:
–如果cIdx等于0,
qP=Max(0,Qp′Y)(8-272)
–否则,如果cIdx等于1,
qP=Max(0,Qp′Cb) (8-273)
–否则(cIdx等于2),
qP=Max(0,Qp′Cr) (8-274)
2.如下推导变量bitDepth:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC (8-275)
3.[[将列表levelScale[]规定为levelScale[k]={40,45,51,57,64,72},其中,k=0..5.]]
4.以下内容适用:
[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6 (8-276)]]
{{对于分量cIdx将T设置为等于(internal_bit_depth–input_bit_depth)Nbits=max(T,(qP–4)/6)
–如果Nbits等于T
recSamples[x][y]=PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<Nbits
–否则
recSamples[x][y]=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<Nbits)+(1<<(Nbits-1)}}
[[recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal) (8-277)]]
当以下条件之一为真时:
–cIdx等于0并且numComps等于1;
–cIdx等于2;
如下推导或修改变量PredictorPaletteSize[startComp]和阵列PredictorPaletteEntries:
比特流一致性的一个要求是PredictorPaletteSize[startComp]的值必须处于0到PaletteMaxPredictorSize(含端点)的范围内。
5.2实施例#2
这一实施例描述了调色板索引推导。
调色板编解码语义
[[如下推导变量adjustedRefPaletteIndex:
当CopyAboveIndicesFlag[xC][yC]等于0时,如下推导变量
CurrPaletteIndex:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++]]
用于palette_idx_idc的二值化过程
这一过程的输入是对语法元素palette_idx_idc的二值化的请求和变量MaxPaletteIndex。
这一过程的输出是该语法元素的二值化。
如下推导变量cMax:
–[[如果对于当前块第一次调用这一过程,]],那么将cMax设置为等于MaxPaletteIndex。
–[[否则(对于当前块不是第一次调用这一过程),那么将cMax设置为等于MaxPaletteIndex减1。]]
通过借助于cMax调用条款9.3.3.4中规定的TB二值化过程而推导出用于palette_idx_idc的二值化。
5.3实施例#3
表格9-77–语法元素和相关联的二值化
8.4.5.3用于调色板模式的解码过程
这一过程的输入为:
–位置(xCb,yCb),相对于当前图片的左上亮度样点规定当前块的左上亮度样点,
–变量startComp,规定调色板表格中的第一颜色分量,
–变量cIdx,规定当前块的颜色分量,
–两个变量nCbW和nCbH,分别规定当前块的宽度和高度。
这一过程的输出是规定该块的重建样点值的阵列recSamples[x][y],其中,x=0..nCbW-1,y=0..nCbH-1。
依据cIdx的值,如下推导变量nSubWidth和nSubHeight:
…
–否则(bIsEscapeSample等于1并且cu_transquant_bypass_flag等于0),那么以下内容适用:
5.如下推导量化参数qP:
–如果cIdx等于0,
qP=Max(0,Qp′Y)(8-272)
–否则,如果cIdx等于1,
qP=Max(0,Qp′Cb) (8-273)
–否则(cIdx等于2),
qP=Max(0,Qp′Cr)(8-274)
6.如下推导变量bitDepth:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC(8-275)
7.[[将列表levelScale[]规定为levelScale[k]={40,45,51,57,64,72},其中,k=0..5.]]
8.以下内容适用:
[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6 (8-276)]]
{{shift=(max(QpPrimeTsMin,qP)-4)/6
tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<shift)}}
recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal) (8-277)
5.4实施例#4
copy_above_palette_indices_flag等于1规定:如果使用水平遍历扫描,那么调色板索引等于上方行中的相同位置上的调色板索引;如果使用垂直遍历扫描,那么调色板索引等于左侧列中的相同位置上的调色板索引。copy_above_palette_indices_flag等于0规定将样点的调色板索引的指示编解码到比特流表示中或推断出该指示。
...
如下推导变量adjustedRefPaletteIndex:
当CopyAboveIndicesFlag[xC][yC]等于0时,如下推导变量CurrPaletteIndex:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++ (7-158)
5.5实施例#5
表格9-77语法元素和相关联的二值化
8.4.5.3用于调色板模式的解码过程
这一过程的输入为:
–位置(xCb,yCb),相对于当前图片的左上亮度样点规定当前块的左上亮度样点,
–变量startComp,规定调色板表格中的第一颜色分量,
–变量cIdx,规定当前块的颜色分量,
–两个变量nCbW和nCbH,分别规定当前块的宽度和高度。
这一过程的输出是规定该块的重建样点值的阵列recSamples[x][y],其中,x=0..nCbW-1,y=0..nCbH-1。
依据cIdx的值,如下推导变量nSubWidth和nSubHeight:
…
–否则(bIsEscapeSample等于1并且cu_transquant_bypass_flag等于0),那么以下内容适用:
9.如下推导量化参数qP:
–如果cIdx等于0,
qP=Max(0,Qp′Y) (8-272)
–否则,如果cIdx等于1,
qP=Max(0,Qp′Cb) (8-273)
–否则(cIdx等于2),
qP=Max(0,Qp′Cr) (8-274)
10.如下推导变量bitDepth:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC (8-275)
11.[[将列表levelScale[]规定为levelScale[k]={40,45,51,57,64,72},其中,k=0..5.]]
12.以下内容适用:
[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6 (8-276)]]
{{shift=min(bitDepth-1,(max(QpPrimeTsMin,qP)-4)/6)
tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<shift)}}
recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal) (8-277)
5.6实施例#6
这一实施例示出了跳过变换移位以实现变换跳过的设计,并且基于JVET-O2001-vE。
8.7.2缩放和变换过程
这一过程的输入为:
–亮度位置(xTbY,yTbY),相对于当前图片的左-上亮度样点规定当前亮度变换块的左上样点,
–变量cIdx,规定当前块的颜色分量,
–规定变换块宽度的变量nTbW,
–规定变换块高度的变量nTbH。
这一过程的输出是残差样点resSamples[x][y]的(nTbW)x(nTbH)阵列,其中,x=0..nTbW-1,y=0..nTbH-1。
如下推导变量bitDepth、bdShift和tsShift:
bitDepth=(cIdx==0)?BitDepthY:
BitDepthC (8-942)
bdShift=Max(20-bitDepth,0) (8-943)
[[tsShift=5+((Log2(nTbW)+Log2(nTbH))/2) (8 944)]]
如下推导变量codedCIdx:
–如果cIdx等于0或者TuCResMode[xTbY][yTbY]等于0,那么将codedCIdx设置为等于cIdx。
–否则,如果TuCResMode[xTbY][yTbY]等于1或2,那么将codedCIdx设置为等于1。
–否则,将codedCIdx设置为等于2。
将变量cSign设置为等于(1-2*slice_joint_cbcr_sign_flag)。
如下推导残差样点resSamples的(nTbW)x(nTbH)阵列。
1.在以变换块位置(xTbY,yTbY)、变换块宽度nTbW和变换块高度nTbH、被设置为等于codedCIdx的颜色分量变量cIdx和当前颜色分量的比特深度bitDepth为输入的情况下调用如条款8.7.3中规定的用于变换系数的缩放过程,并且输出为经缩放的变换系数的(nTbW)x(nTbH)阵列d。
2.如下推导残差样点的(nTbW)x(nTbH)阵列r:
–[[如果transform_skip_flag[xTbY][yTbY]等于1并且cIdx等于0,那么如下推导残差样点阵列值r[x][y],其中,0..nTbW-1,y=0..nTbH-1:
r[x][y]=d[x][y]<<tsShift
(8-945)]]
–[[否则(transform_skip_flag[xTbY][yTbY]等于0或/和cIdx不等于0),]]在以变换块位置(xTbY,yTbY)、变换块宽度nTbW和变换块高度nTbH、颜色分量变量cIdx和经缩放的变换系数的(nTbW)x(nTbH)阵列d为输入的情况下调用如条款8.7.4.1中规定的经缩放的变换系数的变换过程,并且输出为残差样点的(nTbW)x(nTbH)阵列r。
3.如下推导中间残差样点res[x][y],其中,x=0..nTbW-1,y=0..nTbH-1:
–{{如果transform_skip_flag[xTbY][yTbY]等于1并且cIdx等于0,那么以下内容适用:
res[x][y]=d[x][y]}}
–{{否则((transform_skip_flag[xTbY][yTbY]等于0或者cIdx不等于0),那么以下内容适用:}}
res[x][y]=(r[x][y]+(1<<(bdShift-1)))>>
bdShift (8-946)
4.如下推导残差样点resSamples[x][y],其中,x=0..nTbW-1,y=0..nTbH-1:
–如果cIdx等于codedCIdx,那么以下内容适用:
resSamples[x][y]=res[x][y] (8-947)
–否则,如果TuCResMode[xTbY][yTbY]等于2,那么以下内容适用:
resSamples[x][y]=cSign*res[x][y] (8-948)
–否则,以下内容适用:
resSamples[x][y]=(cSign*res[x][y])>>1 (8-949)
8.7.3变换系数的缩放过程
…
如下推导变量rectNonTsFlag:
rect[[NonTs]]Flag=(((Log2(nTbW)+Log2(nTbH))&1)==1[[&&]] (8-955)
[[transform_skip_flag[xTbY][yTbY]=]]=0)
如下推导变量bdShift、rectNorm和bdOffset:
-{{如果transform_skip_flag[xTbY][yTbY]等于1并且cIdx等于0,那么以下内容适用:
bdShift=10}}
-{{否则,以下内容适用:}}
bdShift=bitDepth+((rect[[NonTs]]Flag?1:0)+ (8-956)
(Log2(nTbW)+Log2(nTbH))/2)-5+dep_quant_enabled_flag
bdOffset=(1<<bdShift)>>1
(8-957)
将列表levelScale[][]规定为levelScale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}},其中,j=0..1,k=0..5。
将(nTbW)x(nTbH)阵列dz设置为等于(nTbW)x(nTbH)阵列TransCoeffLevel[xTbY][yTbY][cIdx]。
对于经缩放的变换系数d[x][y]的推导(其中,x=0..nTbW-1,y=0..nTbH-1),以下内容适用:
–如下推导中间缩放因数m[x][y]:
–如果下述条件中的一个或多个为真,那么将m[x][y]设置为等于16:
–sps_scaling_list_enabled_flag等于0。
–transform_skip_flag[xTbY][yTbY]等于1。
–否则,以下内容适用:
m[x][y]=
ScalingFactor[Log2(nTbW)][Log2(nTbH)][matrixId][x][y],
with matrixId as specified in
Table 7-5 (8-958)–如下推导缩放因数ls[x][y]:
-如果dep_quant_enabled_flag等于1,那么以下内容适用:
ls[x][y]=(m[x][y]*levelScale[rect[[NonTs]]Flag][(qP+1)%6])<<((qP+1)/6) (8-959)
–否则(dep_quant_enabled_flag等于0),以下内容适用:
ls[x][y]=(m[x][y]*levelScale[rect[[NonTs]]Flag][qP%6])<<(qP/6)(8-960)
–在BdpcmFlag[xTbY][yYbY]等于1时,如下修改dz[x][y]:
–如果BdpcmDir[xTbY][yYbY]等于0并且x大于0,那么以下内容适用:
dz[x][y]=Clip3(CoeffMin,CoeffMax,dz[x-1][y]+dz[x][y]) (8-961)
-否则,如果BdpcmDir[xTbY][yYbY]等于1并且y大于0,那么以下内容适用:
dz[x][y]=Clip3(CoeffMin,CoeffMax,
dz[x][y-1]+dz[x][y]) (8-962)
–如下推导dnc[x][y]的值:
dnc[x][y]=(dz[x][y]*ls[x][y]+bdOffset)>>bdShift (8-963)
–如下推导经缩放的变换系数d[x][y]:
d[x][y]=Clip3(CoeffMin,CoeffMax,dnc[x][y]) (8-964)
5.7实施例#7
这一实施例例示了信令通知调色板索引的数量的设计。
7.3.8.6调色板编解码语法
Num_palette_indices{{_diff}}[[_minus1]]加[[1]]({{MaxPaletteIndex+1}})是针对当前块显式信令通知或推断的调色板索引的数量。
{{将NumPaletteIndices设置为(num_palette_indices_diff+MaxPaletteIndex+1)。}}
当num_palette_indices{{_diff}}[[_minus1]]不存在时,推断其等于0。
{{num_palette_indices_diff的值必须处于0到cbWidth*cbHeight–(MaxPaletteIndex+1)(含端点)的范围内。}}
copy_above_indices_for_final_run_flag等于1规定:如果使用水平遍历扫描,那么从上方行中的调色板索引复制该编解码单元中的最后位置的调色板索引;如果使用垂直遍历扫描,那么从左侧列中的调色板索引复制该编解码单元中的最后位置的调色板索引。copy_above_indices_for_final_run_flag等于0规定从PaletteIndexIdc[[[num_palette_indices_minus1]]{{NumPaletteIndices-1}}]复制该编解码单元中的最后位置的调色板索引。
9.5.3.13用于num_palette_indices{{_diff}}[[_minus1]]的二值化过程这一过程的输入是对语法元素num_palette_indices{{_diff}}[[_minus1]]的二值化的请求和MaxPaletteIndex。
这一过程的输出是该语法元素的二值化。
如下推导变量cRiceParam:
cRiceParam=3+((MaxPaletteIndex+1)>>3)
(9-26)
由cRiceParam将变量cMax推导为:
cMax=4<<cRiceParam (9-27)
语法元素num_palette_indices{{_diff}}[[_minus1]]的二值化为前缀二进制字符串与(当存在时)后缀二进制字符串的连接。
对于前缀二进制字符串的推导而言,以下内容适用:
–如下推导num_palette_indices{{_diff}}[[_minus1]]的前缀值prefixVal:
prefixVal=Min(cMax,num_palette_indices{{_diff}}[[_minus1]]) (9-28)
–在以变量cMax和cRiceParam为输入的情况下通过调用如条款9.3.3.3中针对prefixVal规定的TR二值化过程而规定前缀二进制字符串。
当该前缀二进制字符串等于具有长度4的比特串且所有比特均等于1时,存在后缀二进制字符串并且对其的推导如下:
–如下推导num_palette_indices{{_diff}}[[_minus1]]的后缀值suffixVal:
suffixVal=num_palette_indices{{_diff}}[[_minus1]]–cMax (9-29)
–在将指数哥伦布阶k设置为等于cRiceParam+1的情况下通过调用如条款9.3.3.5中针对suffixVal的二值化规定的k阶EGk二值化过程而规定后缀二进制字符串。
表格9-77语法元素和相关联的二值化
表格9-82–对具有上下文编解码二进制位的语法元素的ctxInc分配
5.8实施例#8
这一实施例示出了基于线的CG调色板模式中的交错信令通知的设计。
该实施例基于JVET-P2001-v4中提供的草案。
图9是视频处理装置900的框图。装置900可以用于实施本文描述的方法中的一个或多个。装置900可以被体现到智能手机、平板电脑、计算机、物联网(IoT)接收器等当中。装置900可以包括一个或多个处理器902、一个或多个存储器904以及视频处理硬件906。(一个或多个)处理器902可以被配置为实施本文件中描述的一种或多种方法。(一个或多个)存储器904可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件906可以用于在硬件电路中实施本文件中描述的一些技术。在一些实施例中,硬件906可以至少部分地处于处理器902(例如,图形协处理器)内。
所公开技术的一些实施例包括作出启用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所得的比特流。也就是说,当基于决策或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于决策或决定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
所公开技术的一些实施例包括作出禁用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在将视频块转换为视频的比特流表示中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道并未使用曾基于决策或决定启用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
图10是示出了示例性视频处理系统1000的框图,在该系统中可以实施本文公开的各种技术。各种实施方式可以包括系统1000的一些或全部部件。系统1000可以包括用于接收视频内容的输入1002。视频内容可以是按照原始或未压缩格式接收的,例如8比特或10比特多分量像素值,或者可以具有压缩或编码格式。输入1002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
系统1000可以包括编码部件1004,其可以实施本文件中所描述的各种编码或编码方法。编码部件1004可以降低从输入1002到编码部件1004的输出的视频的平均比特率,以产生视频的编码表示。因此,编码技术有时被称为视频压缩或视频转码技术。编码部件1004的输出可以被存储,也可以通过所连接的通信进行传输,如通过部件1006所表示的。输入1002处接收的视频的存储或传达比特流(或经编码的)表示可由部件1008用于生成像素值或发送到显示接口1010的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编码”操作或工具,但应当理解的是,编解码工具或操作用在编码器处,并且逆转编码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文件中描述的技术可体现在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
图11是示出了可以利用本公开的技术的示例性视频编码系统100的框图。
如图11中所示,视频编码系统100可以包括源设备110和目的地设备120。可以被称为视频编码设备的源设备110生成编码视频数据。可以被称为视频解码设备的目的地设备120可以对源设备110生成的编码视频数据解码。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括来源,诸如视频俘获设备、用以从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统或者此类来源的组合。视频数据包括一幅或多幅图片。视频编码器114对来自视频源112的视频数据编码,以生成比特流。比特流可以包括形成视频数据的编码表示的比特序列。比特流可以包括编码图片和相关联的数据。编码图片是图片的编码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码视频数据可以被经由接口116通过网络130a直接传输至目的地设备120。还可以将编码视频数据存储到存储介质/服务器130b上,以供目的地设备120访问。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以获取来自源设备110或者存储介质/服务器130b的编码视频数据。视频解码器124可以对编码视频数据解码。显示设备122可以向用户显示解码后的视频数据。显示设备122可以与目的地设备120集成,或者可以处于被配置为与外部显示设备对接的目的地设备120的外部。
视频编码器114和视频解码器124可以根据视频压缩标准工作,诸如高效视频编码(HEVC)标准、多功能视频编码(VVM)标准以及其他当前和/或未来标准。
图12是视频编码器200的示例的框图,视频编码器200可以是图11中所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图12的示例中,视频编码器200包括多个功能部件。可以在视频编码器200的各种部件之间共享本公开描述的技术。在一些示例中,处理器可以被配置为执行本公开的任何或所有技术。
视频编码器200的功能部件可以包括:分割单元201、可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206的预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓存213和熵编解码单元214。
在其他示例中,视频编码器200可以包括更多、更少或者不同的功能部件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,在该模式中,至少一幅参考图片是当前视频块所处的图片。
此外,一些部件(诸如运动估计单元204和运动补偿单元205)可以是高度集成的,但是在图12中出于解释的目的是单独表示的。
分割单元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可以执行一项或多项熵编码操作,以生成熵编码数据,并且输出包含熵编码数据的比特流。
图13是示出了视频解码器300的示例的框图,视频解码器300可以是图11中所示的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图13的示例中,视频解码器300包括多个功能部件。可以在视频解码器300的各种部件之间共享本公开描述的技术。在一些示例中,处理器可以被配置为执行本公开的任何或所有技术。
在图13的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重建单元306和缓存307。视频解码器300可以(在一些示例中)执行大致与联系视频编码器200(图12)描述的编码趟互逆的解码趟。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编码视频数据(例如,视频数据的编解码块)。熵解码单元301可以对熵编码视频数据解码,并且运动补偿单元302可以由熵解码视频数据确定包括运动矢量、运动矢量预测、参考图片列表索引和其他运动信息在内的运动信息。运动补偿单元302可以(例如)通过执行AMVP和merge模式确定这样的信息。
运动补偿单元302可以生成运动补偿块,其有可能基于插值滤波器执行插值。可以在语法元素中包含与亚像素精确度结合使用的插值滤波器的标识符。
运动补偿单元302可以使用如视频编码器200在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的插值。运动补偿单元302可以根据所接收的语法元素确定视频编码器200使用的插值滤波器,并且使用这些插值滤波器生成预测块。
运动补偿单元302可以使用语法信息中的用以确定用于对编码视频序列的帧和/或条带编解码的块的尺寸的一些信息、描述如何分割编码视频序列的图片的每一宏块的分割信息、指示如何对每一分割编码的模式、用于每一帧间编解码块的一个或多个参考帧(和参考帧列表)以及其他信息来对编码视频序列解码。
帧内预测单元303可以使用(例如)在比特流中接收到的帧内预测模式由相邻块形成预测块。逆量化单元303对在比特流中提供的并且由熵解码单元301解码的量化视频块系数进行逆量化,即,逆量化。逆变换单元303应用逆变换。
重建单元306可以对残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块求和,以形成解码块。如果希望,还可以应用去方块滤波器,从而对解码后的块滤波,以去除方块化伪像。之后,将解码后的视频块存储到缓存307内,其提供用于后续运动补偿/帧内预测的参考块,还生成用于呈现在显示设备上的解码视频。
在一些实施例中,以下方法基于上文枚举的示例和实施例的列举。在示例中,可以使用(但不限于使用)图9-13所示的实施方式来实施这些方法。
图14是用于视频处理的示例性方法的流程图。如其中所示,方法1400包括:在操作1410中,针对包括包含当前视频块的一个或多个视频区域的视频与该视频的比特流表示之间的转换,维护用于预测对当前视频块使用的调色板模式编解码工具中所用的调色板的调色板预测表格。
方法1400包括在操作1420中做出对该转换应用局部双树编解码的决定。
方法1400包括在操作1430中基于该决定执行该转换。
方法1400包括在操作1440中基于该修改之后的调色板预测表格执行该转换。在一些实施例中,该调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且该局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
图15是用于视频处理的示例性方法的流程图。如其中所示,方法1500包括:在操作1510中,执行包括包含当前视频块的一个或多个视频区域的视频和该视频的比特流表示之间的转换,并且该比特流表示符合对当前视频块禁止调色板模式编解码和局部双树编解码的同时使用的格式规则。在一些实施例中,该调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且该局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
图16是用于视频处理的示例性方法的流程图。如其中所示,方法1600包括:在操作1610中,执行包括包含当前视频块的一个或多个视频区域的视频和该视频的比特流表示之间的转换,使用调色板编解码模式将该视频块编解码到该比特流表示中,并且基于条件将预测调色板的调色板预测表格选择性地用于该转换。
可以将下述解决方案与先前章节中作为一些实施例的优选特征列举的项目(例如,项目1)当中描述的附加技术一起实施。
1.一种视频处理方法,包括:针对包括包含当前视频块的一个或多个视频区域的视频与该视频的比特流表示之间的转换,维护用于预测对当前视频块使用的调色板模式编解码工具中所用的调色板的调色板预测表格;做出对该转换应用局部双树编解码的决定;基于该决定修改该调色板预测表格;以及基于该修改之后的调色板预测表格执行该转换,其中,该调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且其中,局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
2.根据解决方案1的方法,其中,该修改包括由于局部双树编解码的应用而重新设置调色板预测表格。
3.根据解决方案1的方法,其中,该修改包括由于局部双树编解码的应用而从调色板预测表格中去除重复的调色板条目。
4.根据解决方案1的方法,其中,该修改包括添加约束,其在调色板预测表格中的两个条目的三个分量不同时确定所述两个条目是不同的。
5.根据解决方案1的方法,其中,该修改包括由于局部双树编解码的应用而检查调色板预测表格中的调色板条目并且从调色板预测表格中去除重复的调色板条目。
6.根据解决方案1的方法,其中,该修改包括在检查调色板条目时对调色板预测表格中的调色板条目应用完全修剪或部分修剪。
7.根据解决方案1的方法,其中,该修改包括在调色板预测表格中的两个条目的亮度分量值相等时确定这两个条目是相等的。
8.根据解决方案1的方法,其中,由于对该视频的亮度分量应用局部双树编解码而仅对亮度块执行该修改。
9.根据解决方案1的方法,其中,由于对该视频的色度分量应用局部双树编解码而仅对色度块执行该修改。
10.根据解决方案1的方法,其中,由于将单树编解码切换至局部双树编解码而重置该调色板模式编解码工具的调色板预测器。
11.根据解决方案1的方法,其中,由于将局部双树编解码切换至单树编解码而重置该调色板模式编解码工具的调色板预测器。
12.一种视频处理方法,包括:执行包括包含当前视频块的一个或多个视频区域的视频和该视频的比特流表示之间的转换,其中,该比特流表示符合对当前视频块禁止调色板模式编解码和局部双树编解码的同时使用的格式规则,其中,调色板模式编解码工具表示当前视频块使用代表性颜色值的调色板,并且其中,局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
13.根据解决方案12的方法,其中,启用调色板模式编解码并且禁用局部双树编解码。
14.根据解决方案12的方法,其中,禁用调色板模式编解码并且启用局部双树编解码。
15.根据解决方案12的方法,其中,当该视频具有预定颜色格式时,对当前视频块禁用局部双树编解码。
16.根据解决方案15的方法,其中,该预定颜色格式为4:4:4。
17.根据解决方案12的方法,其中,当局部双树编解码的类型为MODE_TYPE_INTRA时,禁用调色板模式编解码。
18.根据解决方案12的方法,其中,由于应用局部双树编解码而重置调色板模式编解码工具的调色板预测器。
19.根据解决方案12的方法,其中,调色板模式编解码工具的调色板预测器的条目使用的信令通知以局部树编码的类型为基础。
20.一种视频处理方法,包括:执行包括包含当前视频块的一个或多个视频区域的视频和该视频的比特流表示之间的转换,其中,使用调色板编解码模式将视频块编解码到比特流表示中,在调色板编解码模式中,使用代表性颜色值的调色板表示该视频块,并且其中,基于条件将预测调色板的调色板预测表格选择性地用于该转换。
21.根据解决方案20的方法,其中,该条件规定当前调色板条目包括不同于该调色板预测表格的条目的颜色分量的数量的颜色分量的数量。
22.根据解决方案21的方法,其中,将该调色板预测表格的每一条目的重复使用标志标记为真。
23.根据解决方案20的方法,其中,该条件规定:在当前调色板条目包括不同于该调色板预测表格的条目的颜色分量的数量的颜色分量的数量时将该调色板预测表格的每一条目的重复使用标志标记为假。
24.根据解决方案20的方法,其中,该条件规定该调色板预测表格和当前调色板表格具有不同颜色分量。
25.根据解决方案24的方法,其中,将该调色板预测表格的每一条目的重复使用标志标记为真。
26.根据解决方案20的方法,其中,该条件规定:在该调色板预测表格与当前调色板表格具有不同颜色分量时将该调色板预测表格的每一条目的重复使用标志标记为假。
27.根据解决方案1到26中的任何解决方案的方法,其中,执行该转换包括从该一个或多个视频区域生成该比特流表示。
28.根据解决方案1到26中的任何解决方案的方法,其中,执行该转换包括从该比特流表示生成该一个或多个视频区域。
29.一种视频系统中的装置,包括处理器以及具有位于其上的指令的非暂时性存储器,其中,这些指令在被该处理器执行时使得该处理器实施根据解决方案1到28中的任何解决方案的方法。
30.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于实施根据解决方案1到28中的任何解决方案的方法的程序代码。
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,其包括本文件中所公开的结构及其结构等价方案,或其中一个或多个的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或者它们当中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或者它们当中的一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以便传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于该程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的具体特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
类似地,虽然操作在附图中以特定次序示出,但不应将这种情况理解为需要以相继次序或所示的特定次来执行此类操作,或者需要执行所有所示的操作以实现期望的结果。此外,在本专利文件中描述的实施例当中对各种系统部件的划分不应被理解为在所有实施例中都要求这样的划分。
仅描述了几种实施方式和示例,其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。
Claims (30)
1.一种视频处理方法,包括:
针对包括包含当前视频块的一个或多个视频区域的视频与所述视频的比特流表示之间的转换,维护用于预测对所述当前视频块使用的调色板模式编解码工具中所用的调色板的调色板预测表格;
做出对所述转换应用局部双树编解码的决定;
基于所述决定修改所述调色板预测表格;以及
基于所述修改之后的所述调色板预测表格执行所述转换,
其中,所述调色板模式编解码工具表示所述当前视频块使用代表性颜色值的调色板,并且其中,所述局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
2.根据权利要求1所述的方法,其中,所述修改包括由于所述局部双树编解码的应用而重新设置调色板预测表格。
3.根据权利要求1所述的方法,其中,所述修改包括由于所述局部双树编解码的应用而从所述调色板预测表格中去除重复的调色板条目。
4.根据权利要求1所述的方法,其中,所述修改包括添加约束,其在调色板预测表格中的两个条目的三个分量不同时确定所述两个条目是不同的。
5.根据权利要求1所述的方法,其中,所述修改包括由于所述局部双树编解码的应用而检查所述调色板预测表格中的调色板条目并且从所述调色板预测表格中去除重复的调色板条目。
6.根据权利要求1所述的方法,其中,所述修改包括在检查调色板条目时对所述调色板预测表格中的调色板条目应用完全修剪或部分修剪。
7.根据权利要求1所述的方法,其中,所述修改包括在所述调色板预测表格中的两个条目的亮度分量值相等时确定所述两个条目是相等的。
8.根据权利要求1所述的方法,其中,由于对所述视频的亮度分量应用局部双树编解码而仅对亮度块执行所述修改。
9.根据权利要求1所述的方法,其中,由于对所述视频的色度分量应用局部双树编解码而仅对色度块执行所述修改。
10.根据权利要求1所述的方法,其中,由于将单树编解码切换至局部双树编解码而重置所述调色板模式编解码工具的调色板预测器。
11.根据权利要求1所述的方法,其中,由于将局部双树编解码切换至单树编解码而重置所述调色板模式编解码工具的调色板预测器。
12.一种视频处理方法,包括:
执行包括包含当前视频块的一个或多个视频区域的视频和所述视频的比特流表示之间的转换,
其中,所述比特流表示符合对所述当前视频块禁止调色板模式编解码和局部双树编解码的同时使用的格式规则,
其中,所述调色板模式编解码工具表示所述当前视频块使用代表性颜色值的调色板,并且
其中,所述局部双树编解码能够基于块尺寸独立于对应亮度块对色度块进行分割。
13.根据权利要求12所述的方法,其中,启用所述调色板模式编解码并且禁用所述局部双树编解码。
14.根据权利要求12所述的方法,其中,禁用所述调色板模式编解码并且启用所述局部双树编解码。
15.根据权利要求12所述的方法,其中,当所述视频具有预定颜色格式时,对所述当前视频块禁用所述局部双树编解码。
16.根据权利要求15所述的方法,其中,所述预定颜色格式为4:4:4。
17.根据权利要求12所述的方法,其中,当所述局部双树编解码的类型为MODE_TYPE_INTRA时,禁用所述调色板模式编解码。
18.根据权利要求12所述的方法,其中,由于应用所述局部双树编解码而重置所述调色板模式编解码工具的调色板预测器。
19.根据权利要求12所述的方法,其中,所述调色板模式编解码工具的调色板预测器的条目使用的信令通知以局部树编码的类型为基础。
20.一种视频处理方法,包括:
执行包括包含当前视频块的一个或多个视频区域的视频和所述视频的比特流表示之间的转换,
其中,使用调色板编解码模式将所述视频块编解码到所述比特流表示中,在所述调色板编解码模式中,使用代表性颜色值的调色板表示所述视频块,并且
其中,基于条件将预测调色板的调色板预测表格选择性地用于所述转换。
21.根据权利要求20所述的方法,其中,所述条件规定当前调色板条目包括不同于所述调色板预测表格的条目的颜色分量的数量的颜色分量的数量。
22.根据权利要求21所述的方法,其中,将所述调色板预测表格的每一条目的重复使用标志标记为真。
23.根据权利要求20所述的方法,其中,所述条件规定:在当前调色板条目包括不同于所述调色板预测表格的条目的颜色分量的数量的颜色分量的数量时将所述调色板预测表格的每一条目的重复使用标志标记为假。
24.根据权利要求20所述的方法,其中,所述条件规定所述调色板预测表格和当前调色板表格具有不同颜色分量。
25.根据权利要求24所述的方法,其中,将所述调色板预测表格的每一条目的重复使用标志标记为真。
26.根据权利要求20所述的方法,其中,所述条件规定:在所述调色板预测表格与当前调色板表格具有不同颜色分量时将所述调色板预测表格的每一条目的重复使用标志标记为假。
27.根据权利要求1到26中的任何一项所述的方法,其中,执行所述转换包括从所述一个或多个视频区域生成所述比特流表示。
28.根据权利要求1到26中的任何一项所述的方法,其中,执行所述转换包括从所述比特流表示生成所述一个或多个视频区域。
29.一种视频系统中的装置,包括处理器以及具有位于其上的指令的非暂时性存储器,其中,所述指令在被所述处理器执行时使得所述处理器实施根据权利要求1到28中的一项或多项所述的方法。
30.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实施根据权利要求1到28中的一项或多项所述的方法的程序代码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019100850 | 2019-08-15 | ||
CNPCT/CN2019/100850 | 2019-08-15 | ||
CNPCT/CN2019/113931 | 2019-10-29 | ||
CN2019113931 | 2019-10-29 | ||
PCT/US2020/046574 WO2021030786A1 (en) | 2019-08-15 | 2020-08-15 | Palette mode with different partition structures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114223206A true CN114223206A (zh) | 2022-03-22 |
Family
ID=74570791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057647.1A Pending CN114223206A (zh) | 2019-08-15 | 2020-08-15 | 采用不同分割结构的调色板模式 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11528497B2 (zh) |
EP (1) | EP4000269A4 (zh) |
JP (2) | JP7494289B2 (zh) |
KR (1) | KR102705477B1 (zh) |
CN (1) | CN114223206A (zh) |
WO (1) | WO2021030786A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7197720B2 (ja) | 2019-02-24 | 2022-12-27 | 北京字節跳動網絡技術有限公司 | パレットモードの使用の指示の独立した符号化 |
KR20220032520A (ko) * | 2019-07-20 | 2022-03-15 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 팔레트 모드 사용 지시의 조건 종속적인 코딩 |
CN114145013B (zh) | 2019-07-23 | 2023-11-14 | 北京字节跳动网络技术有限公司 | 调色板模式编解码的模式确定 |
WO2021018166A1 (en) | 2019-07-29 | 2021-02-04 | Beijing Bytedance Network Technology Co., Ltd. | Scanning order improvements for palette mode coding |
WO2021030788A1 (en) | 2019-08-15 | 2021-02-18 | Bytedance Inc. | Entropy coding for palette escape symbol |
WO2021036939A1 (en) * | 2019-08-23 | 2021-03-04 | Mediatek Inc. | Method and apparatus of partitioning small size coding units with partition constraints |
US20220224890A1 (en) * | 2019-08-23 | 2022-07-14 | Hfi Innovation Inc. | Method and Apparatus of Partitioning Small Size Coding Units with Partition Constraints |
CN114424545B (zh) | 2019-09-19 | 2024-07-16 | 字节跳动有限公司 | 用于调色板模式的量化参数推导 |
US11683489B2 (en) * | 2019-12-26 | 2023-06-20 | Qualcomm Incorporated | Monochrome palette mode for video coding |
MX2022012020A (es) | 2020-03-27 | 2022-10-21 | Beijing Dajia Internet Information Tech Co Ltd | Metodos y aparatos de codificacion de video que utiliza modo paleta. |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103004194B (zh) | 2010-05-19 | 2016-08-17 | Sk电信有限公司 | 图像编码/解码设备和方法 |
US20130272390A1 (en) | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Uniform granularity for quantization matrix in video coding |
GB2501535A (en) | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9426466B2 (en) | 2012-06-22 | 2016-08-23 | Qualcomm Incorporated | Transform skip mode |
US9554146B2 (en) | 2012-09-21 | 2017-01-24 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
US9805442B2 (en) | 2012-10-03 | 2017-10-31 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fine-grained bit-rate control |
GB2513110A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
KR102027027B1 (ko) | 2013-10-07 | 2019-09-30 | 브이아이디 스케일, 인크. | 다계층 비디오 코딩을 위해 조합된 확장성 프로세싱 |
WO2015103496A2 (en) | 2014-01-02 | 2015-07-09 | Vid Scale, Inc. | Two-demensional palette coding for screen content coding |
US9681135B2 (en) * | 2014-03-14 | 2017-06-13 | Hfi Innovation Inc. | Method for palette table initialization and management |
KR102268090B1 (ko) | 2014-03-14 | 2021-06-23 | 브이아이디 스케일, 인크. | 스크린 콘텐츠 코딩을 위한 팔레트 코딩 |
CN106416257B (zh) | 2014-05-23 | 2019-05-10 | 寰发股份有限公司 | 调色板大小发信和有条件的调色板例外标志发信的方法 |
US10091512B2 (en) * | 2014-05-23 | 2018-10-02 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
US10136141B2 (en) | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
US9900617B2 (en) | 2014-06-20 | 2018-02-20 | Qualcomm Incorporated | Single color palette mode in video coding |
EP3202150B1 (en) | 2014-09-30 | 2021-07-21 | Microsoft Technology Licensing, LLC | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
JP2017535169A (ja) | 2014-10-06 | 2017-11-24 | ヴィド スケール インコーポレイテッド | スクリーンコンテンツコード化のための改善されたパレットコード化 |
US20160100177A1 (en) | 2014-10-06 | 2016-04-07 | Qualcomm Incorporated | Non-uniform exponential-golomb codes for palette mode coding |
CN105960802B (zh) | 2014-10-08 | 2018-02-06 | 微软技术许可有限责任公司 | 切换色彩空间时对编码和解码的调整 |
KR102150979B1 (ko) | 2014-12-19 | 2020-09-03 | 에이치에프아이 이노베이션 인크. | 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 |
WO2016115343A2 (en) | 2015-01-14 | 2016-07-21 | Vid Scale, Inc. | Palette coding for non-4:4:4 screen content video |
CN107431817B (zh) | 2015-01-29 | 2020-03-24 | Vid拓展公司 | 用于调色板译码的方法及装置 |
JP2018510539A (ja) | 2015-01-29 | 2018-04-12 | ヴィド スケール インコーポレイテッド | パレット符号化モードのためのエスケープカラー符号化 |
US20160234498A1 (en) * | 2015-02-05 | 2016-08-11 | Sharp Laboratories Of America, Inc. | Methods and systems for palette table coding |
WO2016150343A1 (en) | 2015-03-20 | 2016-09-29 | Mediatek Singapore Pte. Ltd. | Methods of palette coding with inter-prediction in video coding |
KR102060871B1 (ko) | 2015-04-08 | 2019-12-30 | 에이치에프아이 이노베이션 인크. | 비디오 코딩에서의 팔레트 모드 콘텍스트 코딩 및 이진화를 위한 방법 |
CN106664405B (zh) | 2015-06-09 | 2020-06-09 | 微软技术许可有限责任公司 | 用调色板模式对经逸出编码的像素的稳健编码/解码 |
US11146788B2 (en) | 2015-06-12 | 2021-10-12 | Qualcomm Incorporated | Grouping palette bypass bins for video coding |
US10097842B2 (en) * | 2015-09-18 | 2018-10-09 | Qualcomm Incorporated | Restriction of escape pixel signaled values in palette mode video coding |
PL3731527T3 (pl) | 2016-05-28 | 2023-01-09 | Hfi Innovation Inc. | Sposób i urządzenie do kodowania w trybie palety dla danych kolorowego wideo |
JP7164535B2 (ja) | 2017-06-29 | 2022-11-01 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 統合された画像再構成及び映像符号化 |
EP4415366A2 (en) * | 2017-08-03 | 2024-08-14 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks in an inter prediction slice of video data |
US20190246122A1 (en) | 2018-02-08 | 2019-08-08 | Qualcomm Incorporated | Palette coding for video coding |
EP3831061A4 (en) | 2018-08-16 | 2022-06-15 | HFI Innovation Inc. | METHODS AND APPARATUS FOR REPORTING QUANTIFICATION PARAMETERS IN A VIDEO PROCESSING SYSTEM |
US11025905B2 (en) * | 2018-09-14 | 2021-06-01 | Tencent America LLC | Method and device for decoding with palette mode |
CN113366833A (zh) | 2019-02-01 | 2021-09-07 | 北京字节跳动网络技术有限公司 | 对环路整形的限制 |
US11277611B2 (en) | 2019-07-24 | 2022-03-15 | Qualcomm Incorporated | Delta quantization parameter (QP) signaling in palette mode |
US11206413B2 (en) * | 2019-08-13 | 2021-12-21 | Qualcomm Incorporated | Palette predictor updates for local dual trees |
WO2021030788A1 (en) | 2019-08-15 | 2021-02-18 | Bytedance Inc. | Entropy coding for palette escape symbol |
CN114424545B (zh) | 2019-09-19 | 2024-07-16 | 字节跳动有限公司 | 用于调色板模式的量化参数推导 |
-
2020
- 2020-08-15 JP JP2022509098A patent/JP7494289B2/ja active Active
- 2020-08-15 EP EP20851940.5A patent/EP4000269A4/en active Pending
- 2020-08-15 CN CN202080057647.1A patent/CN114223206A/zh active Pending
- 2020-08-15 WO PCT/US2020/046574 patent/WO2021030786A1/en unknown
- 2020-08-15 KR KR1020227004036A patent/KR102705477B1/ko active IP Right Grant
-
2022
- 2022-02-14 US US17/671,486 patent/US11528497B2/en active Active
-
2024
- 2024-02-02 JP JP2024014907A patent/JP2024054189A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7494289B2 (ja) | 2024-06-03 |
EP4000269A4 (en) | 2022-09-07 |
US11528497B2 (en) | 2022-12-13 |
US20220182655A1 (en) | 2022-06-09 |
JP2022546235A (ja) | 2022-11-04 |
WO2021030786A1 (en) | 2021-02-18 |
KR102705477B1 (ko) | 2024-09-11 |
JP2024054189A (ja) | 2024-04-16 |
KR20220044278A (ko) | 2022-04-07 |
EP4000269A1 (en) | 2022-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11528497B2 (en) | Palette mode with different partition structures | |
US20240056609A1 (en) | Entropy coding for palette escape symbol | |
WO2021155834A1 (en) | Deblocking parameters for chroma component | |
US11563946B2 (en) | Quantization parameter derivation for palette mode | |
JP2024014958A (ja) | ローカルデュアルツリー向けのパレットモード | |
CN115088192A (zh) | 视频数据的基于字典的编解码 | |
CN115362674A (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 |