CN114424545A - 用于调色板模式的量化参数推导 - Google Patents

用于调色板模式的量化参数推导 Download PDF

Info

Publication number
CN114424545A
CN114424545A CN202080066069.8A CN202080066069A CN114424545A CN 114424545 A CN114424545 A CN 114424545A CN 202080066069 A CN202080066069 A CN 202080066069A CN 114424545 A CN114424545 A CN 114424545A
Authority
CN
China
Prior art keywords
video
palette
block
current
quantization parameter
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
CN202080066069.8A
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.)
ByteDance Inc
Original Assignee
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 ByteDance Inc filed Critical ByteDance Inc
Publication of CN114424545A publication Critical patent/CN114424545A/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
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/176Methods 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Landscapes

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

Abstract

描述了用于调色板模式编码和解码中的量化参数推导的方法、***和设备。一种用于视频处理的示例性方法包括:针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码并且在比特流表示中信令通知逸出符号值;以及基于该确定执行该转换,其中,在该转换中对当前块使用经剪切量化参数,并且其中,用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之后的量化参数推导的。

Description

用于调色板模式的量化参数推导
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求2019年9月19日提交的编号为PCT/CN2019/106700以及2019年9月27日提交的编号为PCT/CN2019/108736的国际专利申请的优先权和利益。出于根据该法律的所有目的,将前述申请的全部公开内容以引用方式并入本文,以作为本申请公开内容的部分。
技术领域
本文件涉及视频和图像编码及解码技术。
背景技术
数字视频占据了因特网和其他数字通信网络上最大的带宽使用量。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将持续增长。
发明内容
所公开的技术可以由用于调色板模式编码和解码中的量化参数推导的视频或图像解码器或编码器实施例使用。
在一个示例性方面,公开了一种视频处理方法。该方法包括:针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码并且在比特流表示中信令通知逸出符号值;以及基于该确定执行该转换,其中,在该转换中对当前块使用经剪切量化参数,其中,调色板模式编解码工具表示当前视频块使用具有代表性颜色值的调色板,其中,该逸出值用于未使用代表性颜色值编解码的当前视频块的样点,并且其中,用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之后的量化参数推导的。
在另一个示例性方面,公开了一种视频处理的方法。该方法包括:针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码并且在比特流表示中信令通知逸出符号值;以及基于该确定执行该转换,其中,在该转换中对当前块使用经剪切量化参数,其中,调色板模式编解码工具表示当前视频块使用具有代表性颜色值的调色板,其中,该逸出值用于未使用代表性颜色值编解码的当前视频块的样点,并且其中,用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之前的量化参数推导的。
在又一示例性方面中,可以由包括处理器的视频编码器装置实施上述方法。
在又一示例性方面中,可以由包括处理器的视频解码器装置实施上述方法。
在又一示例性方面中,这些方法可以被体现为处理器可执行指令的形式并存储于计算机可读程序介质上。
本文进一步描述了这些方面以及其他方面。
附图说明
图1示出了在调色板模式中编解码的块的示例。
图2示出了使用调色板预测器信令通知调色板条目的示例。
图3示出了水平和垂直遍历扫描的示例。
图4示出了调色板索引的示例性编解码。
图5A和图5B示出了最小色度帧内预测单元(SCIPU)的示例。
图6示出了局部双重树情况下的重复调色板条目的示例。
图7示出了上下文推导过程中的左侧块和上方块的示例。
图8是用于实施本文件中描述的技术的硬件平台的示例的框图。
图9是可以实施所公开的技术的示例性视频处理***的框图。
图10是示出了根据本公开的一些实施例的视频编码***的框图。
图11是示出了根据本公开的一些实施例的编码器的框图。
图12是示出了根据本公开的一些实施例的解码器的框图。
图13示出了视频处理的示例性方法的流程图。
图14示出了视频处理的另一示例性方法的流程图。
具体实施方式
本文件提供了图像或视频比特流的解码器可以使用的各种技术,以提高解压缩或解码数字视频或图像的质量。为了简洁起见,“视频”一词在本文当中被用来既包含图片的序列(常规上被称为视频),又包含单独图像。此外,视频编码器还可以在编码过程期间实施这些技术,以便重建用于进一步的编码的解码帧。
本文件中使用了章节标题,其目的是便于理解,而非使实施例和技术局限于对应的章节。照此,来自一个章节的实施例可以与来自其他章节的实施例相结合。
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:
Figure BDA0003555955950000061
当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]的规范
Figure BDA0003555955950000071
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中的相关文本。
编解码单元语法
Figure BDA0003555955950000081
Figure BDA0003555955950000091
2.2.3调色板模式语法
Figure BDA0003555955950000092
Figure BDA0003555955950000101
Figure BDA0003555955950000111
Figure BDA0003555955950000121
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元素,并且如下推导该变量:
Figure BDA0003555955950000141
for(cIdx=startComp;cIdx<(startComp+numComps);cIdx++) (7-156)
for(i=0;i<num_signalled_palette_entries[startComp];i++)
CurrentPaletteEntries[cIdx][numPredictedPaletteEntries+i]=new_palette_entries[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:
Figure BDA0003555955950000161
当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(含端点)的范围内。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的值。3.通过本文描述的技术解决方案和实施例解决的技术问题
1.当前的逸出符号二值化不是固定长度,这样做可以适合具有不均匀分布的来源。
2.当前调色板编解码设计执行索引调整过程来去除可能的冗余,其可能引发解析冗余,例如,在错误地推导逸出值索引时。
3.推导当前索引所采用的参考索引可能需要编码器约束,而该编码器约束在当前设计中未被考虑,而且其对于编解码器设计而言是不合乎需要的。
4.在启用局部双树时,前一块和当前块的调色板索引可能具有不同数量的颜色分量。如何处置这样的情况还不清楚。
5.局部双树和PLT可能无法同时应用,因为在从单树区域向双树区域编解码时,可能重复一些调色板条目。图6中示出了一个示例。
6.用于joint_cbcr模式的色度QP表格可能受到限制。
4.实施例和解决方案的列举
下文的列举应被视为用以解释大体构思的示例。不应狭义地解释这些项目。此外,可以按照任何方式使这些项目相结合。
可以对VVC中的调色板方案以及所有其他与调色板有关的方案应用以下示例。
在x为正整数时将Modulo(x,M)定义为(x%M);否则,将其定义为M-((-x)%M)。
可以对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,internal bitDepth-(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时,可以不允许调色板模式。
22.提出了在应用局部双树时去除调色板预测表格中的重复调色板条目。
a.在一个示例中,可以在应用局部双树时重置调色板预测表格。
i.可替代地,在一个示例中,在应用局部双树时,解码器可以检查预测表格中的所有调色板条目并去除重复的调色板条目。
ii.可替代地,在一个示例中,编码器可以添加考虑两个不同调色板条目这一约束,当这两个条目的三个分量不同时这两个条目不同。
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.用于调色板模式下的运行长度编解码的上下文可以取决于用于索引调色板条目的调色板索引。
a.在一个示例中,可以采用解码器处的索引调整过程(章节2.1.3中提及的)之后的调色板索引来推导针对长度元素的前缀的上下文(例如,palette_run_prefix)。
b.可替代地,在项目符号13中定义的I可以代替调色板索引来推导针对长度元素的前缀的上下文(例如,palette_run_prefix)。
27.提出了使针对量化参数预测器的推导过程中所采用的左侧相邻块和/或上方相邻块的位置与模式/MV(例如,MPM)推导当中使用的相邻左侧块和/或上方相邻块的位置对齐。
a.使针对量化参数预测器的推导过程中所采用的左侧相邻块和/或上方相邻块的位置与merge/AMVP候选列表推导过程中使用的那些对齐。
b.在一个示例中,针对量化参数预测器的推导过程中所采用的左侧相邻块和/或上方相邻块的位置可以是图7中所示的左侧/上方相邻块。
28.可以独立于当前块中是否存在逸出样点而发送块级QP差。
a.在一个示例中,是否和/或如何发送块级QP差可以服从在除了调色板以外的其他模式中编解码的块。
b.在一个示例中,对于调色板块可以总是不发送块级QP差。
c.在一个示例中,在块宽度大于阈值时,可以对调色板块发送块级QP差。
d.在一个示例中,在块高度大于阈值时,可以对调色板块发送块级QP差。
e.在一个示例中,在块尺寸大于阈值时,可以对调色板块发送块级QP差。
f.在一个示例中,以上示例可以仅适用于亮度块或色度块。
29.可以将调色板块的编解码块标志(CBF)中的一个或多个(例如,cbf_luma、cbf_cb、cbf_cr)设置为等于1。
a.在一个示例中,可以总是将用于调色板块的CBF设置为等于1。
b.用于调色板块的CBF中的一个或多个可以取决于当前块中是否存在逸出像素。
i.在一个示例中,当调色板块具有逸出样点时,可以将其cbf设置为等于1。
ii.可替代地,当调色板块不具有逸出样点时,可以将其cbf设置为等于0。
c.可替代地,在访问相邻调色板编解码块时,可以将其作为具有等于1的CBF的帧内编解码块对待。
30.对于调色板块而言,可以将应用于调色板块的亮度和/或色度QP与针对该块推导的QP(例如,JVET-O2001-vE规范中的QpY或Qp′Y)之间的差设置为等于固定值。
a.在一个示例中,可以将亮度和/或色度QP偏移量设置为等于0。
b.在一个示例中,对于Cb和Cr而言色度QP偏移量可以是不同的。
c.在一个示例中,亮度QP偏移量和色度QP偏移量可以是不同的。
d.在一个示例中,可以在DPS/VPS/SPS/PPS/条带/砖块/片标头中指示色度QP偏移量。
31.可以使由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)。
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)的值。
c.在一个示例中,一致性比特流必须满足NumPltIdx大于或等于K。
d.在一个示例中,一致性比特流必须满足NumPltIdx小于或等于K。
i.在一个示例中,将K’设置为(块宽度*块高度)。
32.是否和/或如何应用以上方法可以基于:
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.在一个示例中,可以仅在禁用无损编解码时应用以上方法。
相关的BDPCM
33.在采用BDPCM对一个块编码并且将其划分成多个变换块或子块时,可以在块级别内完成残差预测,并且在子块/变换块级别内完成残差的信令通知。
a.可替代地,此外,在一个子块的重建过程中不允许另一子块的重建。
b.可替代地,在子块/变换块级别内完成残差预测和残差的信令通知。
i.通过这种方式,可以在一个子块的重建过程中利用另一子块的重建。
相关的色度QP表格
34.对于给定索引,可以通过Cb的色度QP表格的值和Cr的色度QP表格的值两者来约束用于joint_cb_cr模式的色度QP表格的值。
c.在一个示例中,可以将用于joint_cb_cr模式的色度QP表格的值约束到Cb的色度QP表格的值和Cr的色度QP表格的值(含端点)之间。
相关的去方块
35.去方块中的MV比较可以取决于是否采用替代半像素插值滤波器(例如,在JVET-O2001-vE规范中通过hpelIfIdx指示)。
d.在一个示例中,可以将使用不同插值滤波器的块作为具有不同MV来对待。
e.在一个示例中,在涉及替代半像素插值滤波器时,可以将常数偏移量加到用于去方块比较的MV差上。
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:
Figure BDA0003555955950000381
Figure BDA0003555955950000391
比特流一致性的一个要求是PredictorPaletteSize[startComp]的值必须处于0到PaletteMaxPredictorSize(含端点)的范围内。
5.2实施例#2
这一实施例描述了调色板索引推导。
调色板编解码语义
[[如下推导变量adjustedRefPaletteIndex:
Figure BDA0003555955950000392
Figure BDA0003555955950000401
当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–语法元素和相关联的二值化
Figure BDA0003555955950000402
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:
Figure BDA0003555955950000421
Figure BDA0003555955950000431
当CopyAboveIndicesFlag[xC][yC]等于0时,如下推导变量CurrPaletteIndex:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++ (7-158)
5.5实施例#5
表格9-77语法元素和相关联的二值化
Figure BDA0003555955950000432
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)
图8是视频处理装置800的框图。装置800可以用于实施本文描述的方法中的一个或多个。装置800可以被体现到智能手机、平板电脑、计算机、物联网(IoT)接收器等当中。装置800可以包括一个或多个处理器802、一个或多个存储器804以及视频处理硬件806。(一个或多个)处理器802可以被配置为实施本文件中描述的一种或多种方法。(一个或多个)存储器804可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件806可以用于在硬件电路中实施本文件中描述的一些技术。在一些实现方式中,硬件806可以部分或完全是处理器802(例如,图形协处理器)的部分。
所公开技术的一些实施例包括作出启用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所得的比特流。也就是说,当基于决策或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于决策或决定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
所公开技术的一些实施例包括作出禁用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在将视频块转换为视频的比特流表示中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道并未使用曾基于决策或决定启用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
图9是示出了示例性视频处理***900的框图,在该***中可以实施本文公开的各种技术。各种实施方式可以包括***900的一些或全部部件。***900可以包括用于接收视频内容的输入902。视频内容可以是按照原始或未压缩格式接收的,例如8比特或10比特多分量像素值,或者可以具有压缩或编码格式。输入902可以表示网络接口、***总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
***900可以包括编码部件904,其可以实施本文件中所描述的各种编码或编码方法。编码部件904可以降低从输入902到编码部件904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编码技术有时被称为视频压缩或视频转码技术。编码部件904的输出可以被存储,也可以通过所连接的通信进行传输,如通过部件906所表示的。输入902处接收的视频的存储或传达比特流(或经编码的)表示可由部件908用于生成像素值或发送到显示接口910的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编码”操作或工具,但应当理解的是,编解码工具或操作用在编码器处,并且逆转编码结果的对应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文件中描述的技术可体现在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
图10是示出了可以利用本公开的技术的示例性视频编码***100的框图。
如图10中所示,视频编码***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)标准以及其他当前和/或未来标准。
图11是视频编码器200的示例的框图,视频编码器200可以是图10中所示的***100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图11的示例中,视频编码器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可以执行一项或多项熵编解码操作,以生成熵编解码数据,并且输出包含熵编解码数据的比特流。
图12是示出了视频解码器300的示例的框图,视频解码器300可以是图10中所示的***100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图12的示例中,视频解码器300包括多个功能部件。可以在视频解码器300的各种部件之间共享本公开描述的技术。在一些示例中,处理器可以被配置为执行本公开的任何或所有技术。
在图12的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重建单元306和缓存307。视频解码器300可以(在一些示例中)执行大致与联系视频编码器200(图11)描述的编码趟互逆的解码趟。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元301可以对熵编解码视频数据解码,并且运动补偿单元302可以由熵解码视频数据确定包括运动矢量、运动矢量预测、参考图片列表索引和其他运动信息在内的运动信息。运动补偿单元302可以(例如)通过执行AMVP和merge模式确定这样的信息。
运动补偿单元302可以生成运动补偿块,其有可能基于插值滤波器执行插值。可以在语法元素中包含与亚像素精确度结合使用的插值滤波器的标识符。
运动补偿单元302可以使用如视频编码器200在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的插值。运动补偿单元302可以根据所接收的语法元素确定视频编码器200使用的插值滤波器,并且使用这些插值滤波器生成预测块。
运动补偿单元302可以使用语法信息中的用以确定用于对编码视频序列的帧和/或条带编解码的块的尺寸的一些信息、描述如何分割编码视频序列的图片的每一宏块的分割信息、指示如何对每一分割编码的模式、用于每一帧间编解码块的一个或多个参考帧(和参考帧列表)以及其他信息来对编码视频序列解码。
帧内预测单元303可以使用(例如)在比特流中接收到的帧内预测模式由相邻块形成预测块。逆量化单元303对在比特流中提供的并且由熵解码单元301解码的量化视频块系数进行逆量化,即,逆量化。逆变换单元303应用逆变换。
重建单元306可以对残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块求和,以形成解码块。如果希望,还可以应用去方块滤波器,从而对解码后的块滤波,以去除方块化伪像。之后,将解码后的视频块存储到缓存307内,其提供用于后续运动补偿/帧内预测的参考块,还生成用于呈现在显示设备上的解码视频。
在一些实施例中,以下方法基于上文枚举的示例和实施例的列举。在示例中,可以使用(但不限于使用)图8-12所示的实施方式来实施这些方法。
图13是用于视频处理的示例性方法的流程图。如其中所示,方法1300包括:在操作1310中,针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码并且在比特流表示中信令通知逸出符号值,从而在该转换中对当前块使用经剪切量化参数,并且用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之后的量化参数推导的。
方法1300进一步包括在操作1320中基于该确定执行该转换。
图14是用于视频处理的示例性方法的流程图。如其中所示,方法1400包括:在操作1410中,针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码并且在比特流表示中信令通知逸出符号值,从而在该转换中对当前块使用经剪切量化参数,并且用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之前的量化参数推导的。
方法1400进一步包括在操作1420中基于该确定执行该转换。
可以将下述解决方案与先前章节中作为一些实施例的优选特征列举的项目(例如,项目1)当中描述的附加技术一起实施。
1.一种视频处理方法,包括:针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码并且在比特流表示中信令通知逸出符号值;以及基于该确定执行该转换,其中,在该转换中对当前块使用经剪切量化参数,其中,调色板模式编解码工具表示当前视频块使用具有代表性颜色值的调色板,其中,该逸出值用于未使用代表性颜色值编解码的当前视频块的样点,并且其中,用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之后的量化参数推导的。
2.一种视频处理方法,包括:针对视频的当前块与该视频的比特流表示之间的转换,确定使用调色板模式对当前块进行编解码,并且在比特流表示中信令通知逸出符号值;以及基于该确定执行该转换,其中,在该转换中对当前块使用经剪切量化参数,其中,调色板模式编解码工具表示当前视频块使用具有代表性颜色值的调色板,其中,该逸出值用于未使用代表性颜色值编解码的当前视频块的样点,并且其中,用于该视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之前的量化参数推导的。
3.根据解决方案1或2所述的方法,其中,该经剪切量化参数的最小值基于变换跳过模式的最小容许量化参数。
4.根据解决方案3所述的方法,其中,该经剪切量化参数的最小值基于sps_min_qp_prime_ts。
5.根据解决方案4所述的方法,其中,该经剪切量化参数等于QpPrimeTsMin。
6.根据解决方案1或2所述的方法,其中,在giant比特流表示中的序列参数集(SPS)、图片参数集(PPS)、视频参数集(VPS)、解码参数集(DPS)、片或条带标头中信令通知用于该视频的每一颜色分量的经剪切量化参数的最小值的指示。
7.根据解决方案1或2所述的方法,其中,该经剪切量化参数的最小值为(bd-ibd)×6+4,其中,bd是内部比特深度,并且ibd是该视频的颜色分量的输入比特深度。
8.根据解决方案1到7中的任何解决方案所述的方法,其中,对该视频的某一颜色分量应用调色板模式编解码工具。
9.根据解决方案1到8中的任何解决方案所述的方法,其中,执行该转换包括由当前块生成该比特流表示。
10.根据解决方案1到8中的任何解决方案所述的方法,其中,执行该转换包括由该比特流表示生成当前块。
11.一种处于视频***中的装置,所述视频***包括处理器以及具有位于其上的指令的非暂时性存储器,其中,这些指令在被该处理器执行时使得该处理器实施根据解决方案1到10中的任何解决方案所述的方法。
12.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于实施根据解决方案1到10中的任何解决方案所述的方法的程序代码。
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,其包括本文件中所公开的结构及其结构等价方案,或其中一者或多者的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储substrate、存储设备、影响机器可读传播信号的物质组成或者它们当中的一者或多者的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理***、操作***或者它们当中的一者或多者的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以便传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件***中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于该程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或***作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的具体特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
类似地,尽管附图中以特定顺序描述了操作,但这不应被理解为要获得想要的结果必须按照所示的特定顺序或者按照顺次排序执行此类操作,或者必须执行所有例示操作。此外,在本专利文件中描述的实施例当中对各种***部件的划分不应被理解为在所有实施例中都要求这样的划分。
仅描述了几种实施方式和示例,其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。

Claims (12)

1.一种视频处理方法,包括:
针对视频的当前块与所述视频的比特流表示之间的转换,确定使用调色板模式对所述当前块进行编解码并且在所述比特流表示中信令通知逸出符号值;以及
基于所述确定执行所述转换,
其中,在所述转换中对所述当前块使用经剪切量化参数,
其中,所述调色板模式编解码工具表示所述当前视频块使用具有代表性颜色值的调色板,其中,所述逸出值用于未使用所述代表性颜色值编解码的所述当前视频块的样点,并且
其中,用于所述视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之后的量化参数推导的。
2.一种视频处理方法,包括:
针对视频的当前块与所述视频的比特流表示之间的转换,确定使用调色板模式对所述当前块进行编解码并且在所述比特流表示中信令通知逸出符号值;以及
基于所述确定执行所述转换,
其中,在所述转换中对所述当前块使用经剪切量化参数,
其中,所述调色板模式编解码工具表示所述当前视频块使用具有代表性颜色值的调色板,其中,所述逸出值用于未使用所述代表性颜色值编解码的所述当前视频块的样点,并且
其中,用于所述视频的色度分量的经剪切量化参数是基于量化过程或反量化过程的映射操作之前的量化参数推导的。
3.根据权利要求1或2所述的方法,其中,所述经剪切量化参数的最小值基于变换跳过模式的最小容许量化参数。
4.根据权利要求3所述的方法,其中,所述经剪切量化参数的最小值基于sps_min_qp_prime_ts。
5.根据权利要求4所述的方法,其中,所述经剪切量化参数等于QpPrimeTsMin。
6.根据权利要求1或2所述的方法,其中,在所述比特流表示中的序列参数集(SPS)、图片参数集(PPS)、视频参数集(VPS)、解码参数集(DPS)、片或条带标头中信令通知用于所述视频的每一颜色分量的经剪切量化参数的最小值的指示。
7.根据权利要求1或2所述的方法,其中,所述经剪切量化参数的最小值为(bd-ibd)×6+4,其中,bd是内部比特深度,并且ibd是所述视频的颜色分量的输入比特深度。
8.根据权利要求1到7中的任何一项所述的方法,其中,对所述视频的某一颜色分量应用所述调色板模式编解码工具。
9.根据权利要求1到8中的任何一项所述的方法,其中,执行所述转换包括由所述当前块生成所述比特流表示。
10.根据权利要求1到8中的任何一项所述的方法,其中,执行所述转换包括由所述比特流表示生成所述当前块。
11.一种处于视频***中的装置,所述视频***包括处理器以及具有位于其上的指令的非暂时性存储器,其中,所述指令在被所述处理器执行时使得所述处理器实施根据权利要求1到10中的一项或多项所述的方法。
12.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实施根据权利要求1到10中的一项或多项所述的方法的程序代码。
CN202080066069.8A 2019-09-19 2020-09-18 用于调色板模式的量化参数推导 Pending CN114424545A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/106700 2019-09-19
CN2019106700 2019-09-19
CNPCT/CN2019/108736 2019-09-27
CN2019108736 2019-09-27
PCT/US2020/051540 WO2021055782A1 (en) 2019-09-19 2020-09-18 Quantization parameter derivation for palette mode

Publications (1)

Publication Number Publication Date
CN114424545A true CN114424545A (zh) 2022-04-29

Family

ID=74883244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080066069.8A Pending CN114424545A (zh) 2019-09-19 2020-09-18 用于调色板模式的量化参数推导

Country Status (7)

Country Link
US (1) US11563946B2 (zh)
EP (1) EP4032275A4 (zh)
JP (1) JP2022548737A (zh)
KR (1) KR102624438B1 (zh)
CN (1) CN114424545A (zh)
BR (1) BR112022005150A2 (zh)
WO (1) WO2021055782A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395420A (zh) 2019-08-15 2024-01-12 字节跳动有限公司 用于调色板逸出符号的熵编解码
EP4000269A4 (en) 2019-08-15 2022-09-07 ByteDance Inc. PALLET MODE WITH DIFFERENT DIVISION STRUCTURES

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130064293A1 (en) * 2010-05-19 2013-03-14 Sk Telecom Co., Ltd Image encoding/decoding device and method
US20180288415A1 (en) * 2015-06-09 2018-10-04 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008129855A1 (ja) * 2007-04-11 2010-07-22 パナソニック株式会社 画像データ復号化装置、画像データ復号化方法
BR112012028576A2 (pt) * 2010-05-12 2016-08-02 Nippon Telegraph & Telephone método de controle de codificação de vídeo, aparelho de codificação de vídeo, e programa de codificação de vídeo
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
US9426462B2 (en) * 2012-09-21 2016-08-23 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
US10063886B2 (en) * 2013-10-07 2018-08-28 Vid Scale, Inc. Combined scalability processing for multi-layer video coding
US10055189B2 (en) 2014-01-02 2018-08-21 Vid Scale, Inc. Two-dimensional palette coding for screen content coding
KR102494913B1 (ko) 2014-03-14 2023-02-06 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
EP3117608B1 (en) 2014-03-14 2021-05-12 HFI Innovation Inc. Method for palette management
WO2015176685A1 (en) 2014-05-23 2015-11-26 Mediatek Inc. Methods for palette size signaling and conditional palette escape flag signaling
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
AU2014408228B2 (en) 2014-09-30 2019-09-19 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US20160100177A1 (en) 2014-10-06 2016-04-07 Qualcomm Incorporated Non-uniform exponential-golomb codes for palette mode coding
US20160100179A1 (en) 2014-10-06 2016-04-07 Vid Scale, Inc. Palette coding for screen content coding
WO2016054765A1 (en) * 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
SG10201900004UA (en) * 2014-12-19 2019-02-27 Hfi Innovation Inc Methods of palette based prediction for non-444 color format in video and image coding
TW201637448A (zh) 2015-01-14 2016-10-16 Vid衡器股份有限公司 非4:4:4螢幕內容視訊調色盤編碼
EP3251352A1 (en) 2015-01-29 2017-12-06 VID SCALE, Inc. Escape color coding for palette coding mode
EP3251353A1 (en) 2015-01-29 2017-12-06 VID SCALE, Inc. Palette coding modes and palette flipping
US20160234498A1 (en) 2015-02-05 2016-08-11 Sharp Laboratories Of America, Inc. Methods and systems for palette table coding
CN107409227B (zh) 2015-03-20 2020-01-21 联发科技(新加坡)私人有限公司 视频编解码方法及装置
US10681383B2 (en) 2015-04-08 2020-06-09 Hfi Innovation Inc. Methods for palette mode context coding and binarization in video coding
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
ES2935261T3 (es) * 2016-05-28 2023-03-03 Hfi Innovation Inc Método y aparato de codificación de modo de paleta para datos de video de color
JP7164535B2 (ja) * 2017-06-29 2022-11-01 ドルビー ラボラトリーズ ライセンシング コーポレイション 統合された画像再構成及び映像符号化
US11290716B2 (en) 2017-08-03 2022-03-29 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks in an inter prediction slice of video data
US20190238845A1 (en) * 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
US20190246122A1 (en) 2018-02-08 2019-08-08 Qualcomm Incorporated Palette coding for video coding
US11438590B2 (en) * 2018-08-16 2022-09-06 Hfi Innovation Inc. Methods and apparatuses of chroma quantization parameter derivation in video processing system
US11025905B2 (en) 2018-09-14 2021-06-01 Tencent America LLC Method and device for decoding with palette mode
WO2020156528A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Filtering processes based on in-loop reshaping
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
EP4000269A4 (en) 2019-08-15 2022-09-07 ByteDance Inc. PALLET MODE WITH DIFFERENT DIVISION STRUCTURES

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130064293A1 (en) * 2010-05-19 2013-03-14 Sk Telecom Co., Ltd Image encoding/decoding device and method
US20180288415A1 (en) * 2015-06-09 2018-10-04 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BROSS B等: "Versatile Video Coding (Draft 6)", JVET OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, pages 283 - 284 *

Also Published As

Publication number Publication date
EP4032275A1 (en) 2022-07-27
KR20220061969A (ko) 2022-05-13
US20220210419A1 (en) 2022-06-30
EP4032275A4 (en) 2022-11-30
KR102624438B1 (ko) 2024-01-15
JP2022548737A (ja) 2022-11-21
US11563946B2 (en) 2023-01-24
BR112022005150A2 (pt) 2022-06-14
WO2021055782A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
US11528497B2 (en) Palette mode with different partition structures
JP7288084B2 (ja) 変換スキップモードにおける信号通知
JP7451731B2 (ja) クロマ成分のためのデブロッキングパラメータ
US20240056609A1 (en) Entropy coding for palette escape symbol
US11563946B2 (en) Quantization parameter derivation for palette mode
JP2024014958A (ja) ローカルデュアルツリー向けのパレットモード
CN115088192A (zh) 视频数据的基于字典的编解码
US11778176B2 (en) Intra block copy buffer and palette predictor update
WO2021136486A1 (en) Palette size signaling in video coding

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