CN114902669A - 使用颜色空间转换对图像编码/解码的方法和装置及发送比特流的方法 - Google Patents
使用颜色空间转换对图像编码/解码的方法和装置及发送比特流的方法 Download PDFInfo
- Publication number
- CN114902669A CN114902669A CN202080090629.3A CN202080090629A CN114902669A CN 114902669 A CN114902669 A CN 114902669A CN 202080090629 A CN202080090629 A CN 202080090629A CN 114902669 A CN114902669 A CN 114902669A
- Authority
- CN
- China
- Prior art keywords
- value
- act
- offset
- quantization parameter
- residual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/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/18—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 set of transform coefficients
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种图像编码/解码方法和装置。根据本公开的图像解码装置执行的图像解码方法包括以下步骤:基于是否对当前块的残差样本应用颜色空间转换来确定当前块的量化参数;基于量化参数来确定当前块的转换系数;使用转换系数来确定当前块的残差样本;以及基于是否应用颜色空间转换来重置残差样本的值。
Description
技术领域
本公开涉及图像编码/解码方法和装置。更具体地,本公开涉及一种使用颜色空间转换(或变换)的图像编码/解码方法和装置以及发送通过本公开的图像编码方法/装置生成的比特流的方法。
背景技术
最近,各个领域对高分辨率和高质量图像,例如高清(HD)图像和超高清(UHD)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开旨在提供一种具有改进的编码/解码效率的图像编码/解码方法和装置。
另外,本公开旨在提供一种通过执行选择性颜色空间转换来改进编码/解码效率的图像编码/解码方法和装置。
另外,本公开旨在提供一种用于发送通过根据本公开的图像编码方法或装置生成的比特流的方法。
另外,本公开旨在提供一种存储有通过根据本公开的图像编码方法或装置生成的比特流的记录介质。
另外,本公开旨在提供一种存储有由根据本公开的图像解码装置接收、解码并用于重构图像的比特流的记录介质。
本领域技术人员将理解,本公开要实现的技术目的不限于上述技术目的,本文中未描述的其它技术目的将从以下描述清楚地理解。
技术方案
根据本公开的一方面,提供了一种由图像解码装置执行的图像解码方法,该方法包括以下步骤:基于是否对当前块的残差样本应用颜色空间转换来确定当前块的量化参数;基于量化参数来确定当前块的变换系数;使用变换系数来确定当前块的残差样本;以及基于是否应用颜色空间转换,重置残差样本的值。本文中,确定量化参数的步骤可以通过对量化参数执行裁剪,使得量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值来执行。
另外,根据本公开的另一方面,提供了一种包括存储器和至少一个处理器的图像解码装置,所述至少一个处理器被配置为基于是否对当前块的残差样本应用颜色空间转换来确定当前块的量化参数,基于量化参数来确定当前块的变换系数,使用变换系数来确定当前块的残差样本,并且基于是否应用颜色空间转换来重置残差样本的值。本文中,处理器可以被配置为对量化参数执行裁剪,使得量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值。
另外,根据本公开的另一方面,提供了一种由图像编码装置执行的图像编码方法,该方法包括以下步骤:基于是否应用颜色空间转换来重置残差样本;使用重置的残差样本来确定变换系数;基于是否应用颜色空间转换来确定量化参数;以及基于量化参数对变换系数进行编码。本文中,确定量化参数的步骤可以通过对量化参数执行裁剪,使得量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值来执行。
另外,根据本公开的另一方面,提供了一种用于发送通过本公开的图像编码装置或图像编码方法生成的比特流的传输方法。
另外,根据本公开的另一方面,提供了一种存储有通过本公开的图像编码方法或图像编码装置生成的比特流的计算机可读记录介质。
以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和装置。
另外,根据本公开,能够提供一种能够通过执行选择性颜色空间转换改进编码/解码效率的图像编码/解码方法和装置。
此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或装置生成的比特流的方法。
此外,根据本公开,能够提供一种存储有由根据本公开的图像编码方法或装置生成的比特流的记录介质。
此外,根据本公开,能够提供一种记录介质,其中存储有由根据本公开的图像解码装置接收、解码并用于重构图像的比特流。
本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从以下描述中更清楚地理解本公开的其它优点。
附图说明
图1是示意性地示出本公开的实施方式适用于的视频编码系统的视图。
图2是示意性地示出本公开的实施方式适用于的图像编码装置的视图。
图3是示意性地示出本公开的实施方式适用于的图像解码装置的视图。
图4是示出根据实施方式的图像的分割结构的视图。
图5是示出根据多类型树结构的块的划分类型的实施方式的视图。
图6是示出根据本公开的具有嵌套多类型树的四叉树结构中的块划分信息的信令机制的视图。
图7是示出将CTU分割成多个CU的实施方式的视图。
图8是示出用于对一个语法元素进行编码的根据实施方式的CABAC的框图的视图。
图9至图12是示出根据实施方式的熵编码和解码的视图。
图13和图14是示出根据实施方式的画面解码和编码过程的示例的视图。
图15是示出根据实施方式的编码图像的层次结构的视图。
图16是示出根据实施方式的邻近参考样本的视图。
图17和图18是示出根据实施方式的帧内预测的视图。
图19是示出应用了ACT的解码处理的实施方式的视图。
图20是示出用信号通知与ACT有关的语法元素的序列参数集语法表的实施方式的视图。
图21至图27是连续示出用信号通知与ACT有关的语法元素的编码基础的语法表的实施方式的视图。
图28是示出根据实施方式的编码树语法的视图。
图29是示出根据实施方式的BDPCM的残差样本的编码方法的视图。
图30是示出根据实施方式的通过执行BDPCM而生成的修改的量化残差块的视图。
图31是示出根据实施方式的通过对图像编码装置应用BDPCM来对当前块进行编码的过程的流程图。
图32是示出根据实施方式的通过在图像解码装置中应用BDPCM来重构当前块的过程的流程图。
图33至图35是示意性地示出用信号通知关于BDPCM的信息的语法的视图。
图36至图51是示出根据本公开的各个实施方式的用于用信号通知ACT语法元素的语法表的视图。
图52是示出根据实施方式的图像解码方法的视图。
图53是示出根据实施方式的图像编码方法的视图。
图54是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“视频”可以意指根据时间流逝的一系列图像的集合。“画面”通常意指表示特定时间周期中的一个图像的基础,切片/拼块是在编码中构成画面的一部分的编码基础。一个画面可以由一个或更多个切片/拼块组成。另外,切片/拼块可以包括一个或更多个编码树单元(CTU)。一个画面可以由一个或更多个切片/拼块组成。一个画面可以由一个或更多个拼块组组成。一个拼块组可以包括一个或更多个拼块。图块可以指画面中的拼块内的CTU行的四边形区域。一个拼块可以包括一个或更多个图块。图块可以指拼块内的CTU行的四边形区域。一个拼块可以被分割成多个图块,各个图块可以包括属于拼块的一个或更多个CTU行。未被分割成多个图块的拼块也可以被当作图块。
在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,Cb、Cr)块。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
此外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。
在本公开中,斜线“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A,B,C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或另选地”。
视频编码系统的概述
图1是示意性地示出根据本公开的视频编码系统的视图。
根据实施方式的视频编码系统可以包括源装置10和接收装置20。源装置10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到接收装置20。
根据实施方式的源装置10可以包括视频源生成器11、编码设备12和发送器13。根据实施方式的接收装置20可以包括接收器21、解码设备12和渲染器23。编码设备12可以称为视频/图像编码设备,解码设备12可以称为视频/图像解码设备。发送器13可以被包括在编码设备12中。接收器21可以被包括在解码设备12中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
编码设备12可以对输入视频/图像进行编码。为了压缩和编码效率,编码设备12可以执行一系列过程,例如预测、变换和量化。编码设备12可以以比特流的形式输出编码数据(编码视频/图像信息)。
发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到接收装置20的接收器21。数字存储介质可以包括各种存储介质,例如USB、SD、CD、DVD、蓝光、HDD、SSD等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码设备12。
解码设备12可以通过执行与编码设备12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
图像编码设备的概述
图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。
图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。IBC基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内推导参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图形表示时从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小的块而不是方形。
量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括USB、SD、CD、DVD、蓝光、HDD、SSD等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
存储器170的DPB可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
图像解码设备的概述
图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(DPB)或者可以由数字存储介质配置。
已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260或帧内预测单元265中的至少一个。
解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
帧间预测单元260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器250的DPB中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元265。
在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
图像分割的概述
可以基于图像分割结构来执行根据本公开的视频/图像编码方法如下。具体地,可以基于根据图像分割结构而推导的CTU、CU(和/或TU、PU)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以按块单元对图像进行分割并且可以在编码设备的图像分割器110中执行块分割过程。分割相关信息可以由熵编码器190编码并且以比特流的形式发送到图像解码设备。图像解码设备的熵解码器210可以基于从比特流获得的分割相关信息来推导当前画面的块分割结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/画面重构、环路内滤波等)以进行图像解码。
画面可以被分割成编码树单元(CTU)的序列。图4示出了画面被分割成CTU的示例。CTU可以对应于编码树块(CTB)。另选地,CTU可以包括亮度样本的编码树块和对应色度样本的两个编码树块。例如,对于包含三个样本阵列的画面,CTU可以包括亮度样本的一个N×N块和色度样本的两个对应块。
CTU分割的概述
如上所述,可以通过根据四叉树/二叉树/三叉树(QT/BT/TT)结构递归地对编码树单元(CTU)或最大编码单元(LCU)进行分割来获取编码单元。例如,CTU可以被首先分割成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分割。
根据四叉树的分割意味着当前CU(或CTU)被同等地分割成四个。通过根据四叉树的分割,可以将当前CU分割成具有相同宽度和相同高度的四个CU。在当前CU不再被分割成四叉树结构时,当前CU对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的CU可以不再被分割并且可以被用作上述最终编码单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的CU进一步进行分割。
图5是示出了根据多类型树结构的块的划分类型的实施方式的视图。根据多类型树结构的划分可以包括根据二叉树结构的两种类型的划分和根据三叉树结构的两种类型的划分。
根据二叉树结构的两种类型的划分可以包括垂直二叉划分(SPLIT_BT_VER)和水平二叉划分(SPLIT_BT_HOR)。垂直二叉划分(SPLIT_BT_VER)意味着当前CU被在垂直方向上同等地划分成两个。如图4所示,通过垂直二叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的一半的两个CU。水平二叉划分(SPLIT_BT_HOR)意味着当前CU被在水平方向上同等地划分成两个。如图5所示,通过水平二叉划分,可以生成高度为当前CU的高度的一半并且宽度与当前CU相同的两个CU。
根据三叉数结构的两种类型的划分可以包括垂直三叉划分(SPLIT_TT_VER)和水平三叉划分(SPLIT_TT_HOR)。在垂直三叉划分(SPLIT_TT_VER)中,当前CU被以1:2:1的比率在垂直方向上划分。如图5所示,通过垂直三叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的1/4的两个CU以及高度与当前CU相同并且宽度为当前CU的宽度的一半的一个CU。在水平三叉划分(SPLIT_TT_HOR)中,当前CU被以1:2:1的比率在水平方向上划分。如图4所示,通过水平三叉划分,可以生成高度为当前CU的高度的1/4并且宽度与当前CU相同的两个CU以及高度为当前CU的高度的一半并且宽度与当前CU相同的一个CU。
图6是示出了根据本公开的具有嵌套多类型树的四叉树结构中的块划分信息的信令机制的视图。
这里,CTU被视为四叉树的根节点,并且被首次分割成四叉树结构。用信号通知指示是否对当前CU(四叉树的CTU或节点(QT_node))执行四叉树划分的信息(例如,qt_split_flag)。例如,当qt_split_flag具有第一值(例如,“1”)时,当前CU可以被四叉树分割。另外,当qt_split_flag具有第二值(例如,“0”)时,当前CU不被四叉树分割,而是变成四叉树的叶节点(QT_leaf_node)。然后可以将每个四叉树叶节点进一步分割成多类型树结构。也就是说,四叉树的叶节点可以变成多类型树的节点(MTT_node)。在多类型树结构中,用信号通知第一标志(例如,Mtt_split_cu_flag)以指示当前节点是否被附加地分割。如果对应节点被附加地分割(例如,如果第一标志为1),则可以用信号通知第二标志(例如,Mtt_split_cu_vertical_flag)以指示划分方向。例如,划分方向在第二标志为1时可以是垂直方向,而在第二标志为0时可以是水平方向。然后,可以用信号通知第三标志(例如,Mtt_split_cu_binary_flag)以指示划分类型是二叉划分类型还是三叉划分类型。例如,划分类型在第三标志为1时可以是二叉划分类型,而在第三标志为0时可以是三叉划分类型。通过二叉划分或三叉划分获取的多类型树的节点可以被进一步分割成多类型树结构。然而,可以不将多类型树的节点分割成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被划分,而是变成多类型树的叶节点(MTT_leaf_node)。与多类型树的叶节点对应的CU可以被用作上述最终编码单元。
基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示推导CU的多类型树划分模式(MttSplitMode)。在以下描述中,多树划分模式可以被简称为多树划分类型或划分类型。
[表1]
MttSplitMode | mtt_split_cu_vertical_flag | mtt_split_cu_binary_flag |
SPLIT_TT_HOR | 0 | 0 |
SPLIT_BT_HOR | 0 | 1 |
SPLIT_TT_VER | 1 | 0 |
SPLIT_BT_VER | 1 | 1 |
图7是示出了在应用四叉树之后通过应用多类型树来将CTU分割成多个CU的示例的视图。在图7中,粗体块边710表示四叉树分割,而剩余边720表示多类型树分割。CU可以对应于编码块(CB)。在实施方式中,CU可以包括亮度样本的一个编码块以及与亮度样本对应的色度样本的两个编码块。可以基于根据画面/图像的颜色格式(色度格式,例如,4:4:4、4:2:2、4:2:0等)的分量比率基于亮度分量(样本)CB或TB大小来推导色度分量(样本)CB或TB大小。在4:4:4颜色格式的情况下,可以将色度分量CB/TB大小设定为等于亮度分量CB/TB大小。在4:2:2颜色格式的情况下,可以将色度分量CB/TB的宽度设定为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设定为亮度分量CB/TB的高度。在4:2:0颜色格式的情况下,可以将色度分量CB/TB的宽度设定为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设定为亮度分量CB/TB的高度的一半。
在实施方式中,当CTU的大小基于亮度样本单元为128时,CU的大小可以具有从128×128至4×4的大小,其是与CTU相同的大小。在一个实施方式中,在4:2:0颜色格式(或色度格式)的情况下,色度CB大小可以具有从64×64至2×2的大小。
此外,在实施方式中,CU大小和TU大小可以是相同的。另选地,在CU区域中可以有多个TU。TU大小通常表示亮度分量(样本)变换块(TB)大小。
可以基于作为预定值的最大允许TB大小maxTbSize来推导TU大小。例如,当CU大小大于maxTbSize时,可以从CU推导具有maxTbSize的多个TU(TB),并且可以以TU(TB)为单元执行变换/逆变换。例如,最大允许亮度TB大小可以是64×64并且最大允许色度TB大小可以是32×32。如果根据树结构分割的CB的宽度或高度大于最大变换宽度或高度,则CB可以被自动地(或隐式地)分割,直到满足水平和垂直方向上的TB大小极限为止。
另外,例如,当应用帧内预测时,可以以CU(或CB)为单元推导帧内预测模式/类型,并且可以以TU(或TB)为单元执行邻近参考样本推导和预测样本生成过程。在这种情况下,在一个CU(或CB)区域中可以有一个或多个TU(或TB),并且在这种情况下,多个TU或(TB)可以共享相同的帧内预测模式/类型。
此外,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数作为SPS语法元素从图像编码设备用信号通知给解码设备。例如,用信号通知作为表示四叉树的根节点大小的参数的CTU大小、作为表示最小允许四叉树叶节点大小的参数的MinQTSize、作为表示最大允许二叉树根节点大小的参数的MaxBtSize、作为表示最大允许三叉树根节点大小的参数的MaxTtSize、作为表示从四叉树叶节点起进行多类型树划分的最大允许层次深度的参数的MaxMttDepth、作为表示最小允许二叉树树叶节点大小的参数的MinBtSize、或作为表示最小允许三叉数叶节点大小的参数的MinTtSize中的至少一个。
作为使用4:2:0色度格式的实施方式,可以将CTU大小设定为128×128亮度块以及与这些亮度块对应的两个64×64色度块。在这种情况下,可以将MinOTSize设定为16×16,可以将MaxBtSize设定为128×128,可以将MaxTtSzie设定为64×64,可以将MinBtSize和MinTtSize设定为4×4,并且可以将MaxMttDepth设定为4。四叉树分割可以被应用于CTU以生成四叉树叶节点。四叉树叶节点可以被称作叶QT节点。四叉树叶节点的大小可以从16×16大小(例如,MinOTSize)至128×128大小(例如,CTU大小)。如果叶QT节点是128×128,则它可以不被附加地分割成二叉树/三叉树。这是因为,在这种情况下,即使被分割,它也超过MaxBtsize和MaxTtszie(例如,64×64)。在其它情况下,叶QT节点可以被进一步分割成多类型树。因此,叶QT节点是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。如果多类型树深度达到MaxMttdepth(例如4),则可以不考虑进一步分割。如果多类型树节点的宽度等于MinBtSize并且小于或等于2×MinTtSize,则可以不考虑进一步水平分割。如果多类型树节点的高度等于MinBtSize并且小于或等于2×MinTtSize,则可以不考虑进一步垂直分割。当不考虑分割时,图像编码设备可以跳过分割信息的信令。在这种情况下,图像解码设备可以推导具有预定值的分割信息。
此外,一个CTU可以包括亮度样本的编码块(在下文中称为“亮度块”)以及与其对应的色度样本的两个编码块(在下文中称为“色度块”)。上述编码树方案可以被同等地或单独地应用于当前CU的亮度块和色度块。具体地,可以将一个CTU中的亮度块和色度块分割成相同的块树结构,并且在这种情况下,树结构被表示为SINGLE_TREE。另选地,可以将一个CTU中的亮度块和色度块分割成单独的块树结构,并且在这种情况下,可以将树结构表示为DUAL_TREE。也就是说,当CTU被分割成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作DUAL_TREE_LUMA,并且可以将用于色度分量的块树结构称作DUAL_TREE_CHROMA。对于P和B切片/拼块组,可以将一个CTU中的亮度块和色度块限制为具有相同的编码树结构。然而,对于I切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编码树结构来将亮度CTB分割成CU,并且可以基于另一编码树结构来将色度CTB分割成色度CU。也就是说,这意味着应用单独的块树结构的I切片/拼块组中的CU可以包括亮度分量的编码块或两个色度分量的编码块,并且P或B切片/拼块组的CU可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。
尽管已经描述了具有嵌套多类型树的四叉树编码树结构,但是对CU进行分割的结构不限于此。例如,可以将BT结构和TT结构解释为多分割树(MPT)结构中包括的概念,并且可以将CU解释为通过QT结构和MPT结构被分割。在通过QT结构和MPT结构对CU进行分割的示例中,可以用信号通知包括关于QT结构的叶节点被分割成多少块的信息的语法元素(例如MPT_split_type)以及包括关于QT结构的叶节点被分割成垂直方向和水平方向中的哪个的信息的语法元素(例如MPT_split_mode),以确定分割结构。
在另一示例中,可以以与QT结构、BT结构或TT结构不同的方式对CU进行分割。也就是说,与根据QT结构将较低深度的CU分割成较高深度的CU的1/4、根据BT结构将较低深度的CU分割成较高深度的CU的1/2或者根据TT结构将较低深度的CU分割成较高深度的CU的1/4或1/2不同,在一些情况下可以将较低深度的CU分割成较高深度的CU的1/5、1/3、3/8、3/5、2/3或5/8,并且对CU进行分割的方法不限于此。
具有多类型树的四叉树编码块结构可以提供非常灵活的块分割结构。由于多类型树中支持的分割类型,在一些情况下不同的分割图案可以潜在地产生相同的编码块结构。在图像编码设备和解码设备中,通过限制此类冗余分割图案的出现,可以减少分割信息的数据量。
另外,在根据本文献的视频/图像的编码和解码中,图像处理基础可以具有层次结构。一个画面可以被分成一个或更多个拼块、图块、切片和/或拼块组。一个切片可以包括一个或更多个图块。一个图块可以包括拼块内的一个或更多个CTU行。切片可以包括画面的图块,其中,图块的数量为整数。一个拼块组可以包括一个或更多个拼块。一个拼块可以包括一个或更多个CTU。CTU可以被分割为一个或更多个CU。拼块可以是由包括画面内的多个CTU的特定拼块行和特定拼块列组成的四边形区域。拼块组可以包括根据画面内的拼块光栅扫描的拼块,其中,拼块的数量为整数。切片头可以承载适用于对应切片(切片中的块)的信息/参数。当编码设备或解码设备具有多核处理器时,对拼块、切片、图块和/或拼块组的编码/解码过程可以并行执行。
在本公开中,切片或拼块组的名称或概念可以互换使用。即,拼块组头可以被称为切片头。本文中,切片可以具有包括帧内(I)切片、预测(P)切片和双预测(B)切片的切片类型之一。对于I切片内的块,帧间预测不用于预测,仅可以使用帧内预测。即使在这种情况下,原始样本值也可以在没有预测的情况下被编码并用信号通知。对于P切片内的块,可以使用帧内预测或帧间预测。当使用帧间预测时,仅可以使用单预测。此外,对于B切片内的块,可以使用帧内预测或帧间预测。当使用帧间预测时,可以使用至多双预测。
根据视频图像的特性(例如,分辨率)或考虑编码效率或并行处理,编码设备可以确定拼块/拼块组、图块、切片以及最大和最小编码单元大小。另外,关于此的信息或用于推导此的信息可以包括在比特流中。
解码设备可以获得指示当前画面的拼块/拼块组、图块、切片或拼块内的CTU是否被分割成多个编码单元的信息。编码设备和解码设备仅在特定条件下用信号通知这种信息,从而增加编码效率。
切片头(切片头语法)可以包括共同适用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括共同适用于一个或更多个画面的信息/参数。SPS(SPS语法)可以包括共同适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括共同适用于多个层的信息/参数。DPS(DPS语法)可以包括共同适用于整个视频的信息/参数。DPS可以包括与编码视频序列(CVS)的组合有关的信息/参数。
另外,例如,关于拼块/拼块组/图块/切片的分割和配置的信息可以在编码阶段通过高级语法构建,并且以比特流的形式发送至解码设备。
量化/解量化
如上所述,编码设备的量化器可以通过对变换系数应用量化来推导量化变换系数。编码设备的解量化器或解码设备的解量化器可以通过对量化变换系数应用解量化来推导变换系数。
在视频/静止图像的编码和解码中,可以改变量化比,并且可以使用改变的量化比来调节压缩比。从实现的角度,考虑到复杂度,可以使用量化参数(QP),代替直接使用量化比。例如,可以使用具有0至63的整数值的量化参数,并且各个量化参数值可以对应于实际量化比。另外,亮度分量(亮度样本)的量化参数QPY和色度分量(色度样本)的量化参数QPC可以被设定为彼此不同。
在量化处理中,可以输入变换系数C并除以量化比Qstep,并且基于此,可以获得量化变换系数C’。在这种情况下,考虑到计算复杂度,量化比可以乘以标度以成为整数形式,并且可以根据与标度值对应的值执行移位操作。基于量化比和标度值的乘法,可以推导量化标度。即,可以根据QP推导量化标度。量化标度可以应用于变换系数C,并且基于此,可以推导量化变换系数C’。
解量化处理是量化处理的逆处理。量化变换系数C’可以乘以量化比Qstep,并且基于此,可以获得重构变换系数C”。在这种情况下,可以根据量化参数推导级别标度。级别标度可以应用于量化变换系数C’,并且基于此,可以推导重构变换系数C”。由于变换和/或量化处理中的损失,重构变换系数C”可能略微不同于原始变换系数C。因此,编码设备可以按照与解码设备相同的方式执行解量化。
此外,可以应用根据频率调节量化强度的自适应频率加权量化技术。自适应频率加权量化技术是应用从频率到频率变化的量化强度的方法。在自适应频率加权量化中,可以使用预定义的量化缩放矩阵来应用从频率到频率变化的量化强度。即,可以进一步基于量化缩放矩阵来执行上述量化/解量化处理。例如,可以根据当前块的大小和/或应用于当前块以生成当前块的残差信号的预测模式是帧间预测还是帧内预测来使用不同的量化缩放矩阵。量化缩放矩阵可以被称为量化矩阵或缩放矩阵。量化缩放矩阵可以预定义。另外,对于频率自适应缩放,量化缩放矩阵的频率特定量化标度信息可以由编码设备构建/编码,并且可以用信号通知给解码设备。频率特定量化标度信息可以被称为量化缩放信息。频率特定量化标度信息可以包括缩放列表数据(scaling_list_data)。可以基于缩放列表数据来推导(修改的)量化缩放矩阵。另外,频率特定量化标度信息可以包括指示是否存在缩放列表数据的存在标志信息。另选地,当在高级别(例如,SPS)用信号通知缩放列表数据时,还包括指示是否在较低级别(例如,PPS或拼块组头等)修改缩放列表数据的信息。
变换/逆变换
如上所述,编码设备可以基于通过帧内/帧间/IBC预测而预测的块(预测样本)来推导残差块(残差样本),并且可以通过对推导的残差样本应用变换和量化来推导量化变换系数。通过包括在残差编码语法中,关于量化变换系数的信息(残差信息)可以被编码并以比特流的形式输出。解码设备可以从比特流获得关于量化变换系数的信息(残差信息),并且可以通过执行解码来推导量化变换系数。解码设备可以基于量化变换系数通过解量化/逆变换来推导残差样本。如上所述,可以省略量化/解量化或变换/逆变换或二者。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达一致,仍可以称为变换系数。可以基于变换跳过标志(例如,transform_skip_flag)用信号通知是否省略变换/逆变换。transform_skip_flag的第一值(例如,0)可以指示是否省略变换由另一语法元素确定。transform_skip_flag的第二值(例如,1)可以指示变换省略(例如,跳过)。
可以基于变换内核来执行变换/逆变换。例如,可以应用用于执行变换/逆变换的多重变换选择(MTS)方案。在这种情况下,可以选择多个变换内核集中的一些并应用于当前块。变换内核可以被称为诸如变换矩阵、变换类型等的各种术语。例如,变换内核集可以指垂直方向变换内核(垂直变换内核)和水平方向变换内核(水平变换内核)的组合。
变换/逆变换可以基于每CU或TU执行。即,变换/逆变换可以应用于CU中的残差样本或TU中的残差样本。CU大小和TU大小可以相同,或者多个TU可以存在于CU区域中。此外,CU大小通常可以指亮度分量(样本)CB大小。TU大小通常可以指亮度分量(样本)TB大小。色度分量(样本)CB或TB大小可以根据颜色格式(色度格式,例如4:4:4、4:2:2、4:2:0等)根据分量比基于亮度分量(样本)CB或TB大小来推导。TU大小可以基于maxTbSize来推导。例如,当CU大小大于maxTbSize时,可以从CU推导具有maxTbSize的多个TU(TB),并且可以基于每TU(TB)执行变换/逆变换。在确定是否应用诸如ISP的各种帧内预测类型时可以考虑maxTbSize。关于maxTbSize的信息可以预定。另选地,关于maxTbSize的信息可以由编码设备生成并编码并且用信号通知给编码设备。
熵编码
如上面参照图2所描述的,一些或所有视频/图像信息可以由熵编码器190熵编码。参照图3描述的一些或所有视频/图像信息可以由熵解码器310熵解码。在这种情况下,视频/图像信息可以基于每语法元素编码/解码。在本文献中,信息的编码/解码可以包括通过本段落中描述的方法进行的编码/解码。
图8示出用于对一个语法元素进行编码的CABAC的框图。在CABAC的编码处理中,首先,当输入信号是非二进制值的语法元素时,通过二值化将输入信号变换为二进制值。当输入信号已经是二进制值时,输入信号绕过二值化。本文中,构成二进制值的各个二进制数0或1可以称为bin。例如,二值化后的二进制串(bin串)为110时,1、1和0中的每一个被称为一个bin。一个语法元素的bin可以指语法元素的值。
二值化的bin可以被输入到常规编码引擎或旁路编码引擎。常规编码引擎可以将应用概率值的上下文模型指派给对应bin,并且可以基于所指派的上下文模型对bin进行编码。在对各个bin执行编码之后,常规编码引擎可以更新bin的概率模型。这样编码的bin可以称为上下文编码bin。旁路编码引擎可以省略用于估计输入bin的概率的过程和用于在编码之后更新应用于bin的概率模型的过程。在旁路编码引擎的情况下,代替指派上下文,通过应用均匀概率分布(例如,50:50)对输入bin进行编码,从而改进编码率。这样编码的bin可以称为旁路bin。可以为要上下文编码(常规编码)的各个bin指派并更新上下文模型,并且可以基于ctxidx或ctxInc指示上下文模型。可以基于ctxInc推导ctxidx。具体地,例如,为各个常规编码的bin指示上下文模型的上下文索引(ctxidx)可以被推导为上下文索引增量(ctxInc)和上下文索引偏移(ctxIdxOffset)之和。本文中,可以推导从bin到bin变化的ctxInc。ctxIdxOffset可以由ctxIdx的最低值表示。ctxIdx的最低值可以称为ctxIdx的初始值(initValue)。ctxIdxOffset是通常用于与其它语法元素的上下文模型区分的值,并且可以基于ctxinc区分/推导一个语法元素的上下文模型。
在熵编码过程中,确定是通过常规编码引擎执行编码还是通过旁路编码引擎执行编码,并且可以切换编码路径。熵解码可以以相反的顺序执行与熵编码相同的处理。
例如,可以如图9和图10中执行上述熵编码。参照图9和图10,编码设备(熵编码器)可以对图像/视频信息执行熵编码过程。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测分类信息、帧内预测模式信息和帧间预测模式信息)、残差信息和环路内滤波相关信息,或者可以包括与之有关的各种语法元素。可以基于每语法元素执行熵编码。图9的步骤S910至S920可以由上述图2的编码设备的熵编码器190执行。
在步骤S910中,编码设备可以对目标语法元素执行二值化。本文中,二值化可以基于诸如截断莱斯二值化处理和固定长度二值化处理的各种二值化方法,并且用于目标语法元素的二值化方法可以预定义。二值化过程可以由熵编码器190中的二值化单元191执行。
在步骤S920中,编码设备可以对目标语法元素执行熵编码。编码设备可以基于诸如上下文自适应算术编码(CABAC)或上下文自适应可变长度编码(CAVLC)的熵编码方案对目标语法元素的bin串执行基于常规编码(基于上下文)或基于旁路编码的编码。输出可以被包括在比特流中。熵编码过程可以由熵编码器190中的熵编码处理器192执行。如上所述,比特流可以通过(数字)存储介质或网络被发送至解码设备。
参照图11和图12,解码设备(熵解码器)可以将编码的图像/视频信息解码。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测分类信息、帧内预测模式信息和帧间预测模式信息)、残差信息和环路内滤波相关信息,或者可以包括与之有关的各种语法元素。熵编码可以基于每语法元素执行。步骤S1110至S1120可以由上述图3的解码设备的熵解码器210执行。
在步骤S1110中,解码设备可以对目标语法元素执行二值化。本文中,二值化可以基于诸如截断莱斯二值化处理和固定长度二值化处理的各种二值化方法,并且用于目标语法元素的二值化方法可以预定义。解码设备可以通过二值化过程推导目标语法元素的可用值的可用bin串(bin串候选)。二值化过程可以由熵解码器210中的二值化单元211执行。
在步骤S1120中,解码设备可以对目标语法元素执行熵解码。在从比特流中的输入比特依次解码并解析目标语法元素的各个bin的同时,解码设备可以比较推导的bin串与语法元素的可用bin串。当推导的bin串与可用bin串之一相同时,与bin串对应的值可以被推导为语法元素的值。如果否,则进一步解析比特流中的下一比特并且再次执行上述过程。通过此处理,不使用比特流中的特定信息(特定语法元素)的开始比特或结束比特,而是使用可变长度比特来用信号通知信息。由此,为低值指派相对少的比特,从而增加总体编码效率。
解码设备可以基于诸如CABAC或CAVLC的熵编码方案从比特流对bin串中的各个bin执行基于上下文或基于旁路编码的解码。熵解码过程可以由熵解码器210中的熵解码处理器212执行。比特流可以包括如上所述用于图像/视频解码的各种类型的信息。如上所述,比特流可以通过(数字)存储介质或网络发送至解码设备。
在本文献中,包括语法元素的表(语法表)可以用于表示从编码设备到解码设备的信息信令。包括本文献中使用的语法元素的表中的语法元素的顺序可以指来自比特流的语法元素的解析顺序。编码设备可以构建并编码语法表,以使得解码设备按解析顺序解析语法元素。解码设备可以按解析顺序从比特流解析并解码语法表的语法元素,因此可以获得语法元素的值。
一般图像/视频编码过程
在图像/视频编码中,可以按系列根据解码顺序来编码/解码构成图像/视频的画面。与解码画面的输出顺序对应的画面顺序可以被设定为与解码顺序不同,并且基于此,当执行帧间预测时,可以执行前向预测以及后向预测。
图13示出本文献的实施方式适用于的示意性画面解码过程的示例。在图13中,步骤S1310可以由上面参照图3描述的解码设备的熵解码器210执行。步骤S1320可以由包括帧内预测单元265和帧间预测单元260的预测单元执行。步骤S1330可以由包括解量化器220和逆变换器230的残差处理器执行。步骤S1340可以由加法器235执行。步骤S1350可以由滤波器240执行。步骤S1310可以包括本文献中描述的信息解码过程。步骤S1320可以包括本文献中描述的帧间/帧内预测过程。步骤S1330可以包括本文献中描述的残差处理过程。步骤S1340可以包括本文献中描述的块/画面重构过程。步骤S1350可以包括本文献中描述的环路内滤波过程。
参照图13,如上面参照图3描述的,画面解码过程可以示意性地包括在步骤S1310中从比特流的图像/视频信息获取过程(通过解码)、在步骤1320至S1340中的画面重构过程以及在步骤S1350中对重构画面的环路内滤波过程。画面重构过程可以基于通过本文献中描述的步骤S1320中的帧间/帧内预测和步骤S1330中的残差处理(量化变换系数的解量化和逆变换)处理获得的预测样本和残差样本来执行。修改的重构画面可以通过对通过画面重构过程生成的重构画面的环路内滤波过程来生成。修改的重构画面可以作为解码画面输出,并且可以存储在解码设备的解码画面缓冲器或存储器250中,以稍后在解码画面时在帧间预测过程中用作参考画面。在一些情况下,可以省略环路内滤波过程。在这种情况下,重构画面可以作为解码画面输出,并且可以存储在解码设备的解码画面缓冲器或存储器250中,以稍后在解码画面时在帧间预测过程中用作参考画面。如上所述,步骤S1350中的环路内滤波过程可以包括去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波器(ALF)过程和/或双边滤波器过程。其中一些或所有可以省略。另外,去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波器(ALF)过程和/或双边滤波器过程中的一个或一些可以依次应用,或者它们全部可以依次应用。例如,在对重构画面应用去块滤波过程之后,可以执行SAO过程。另选地,例如,可以对重构画面应用去块滤波过程,然后可以执行ALF过程。这可以按照与编码设备中相同的方式执行。
图14示出本文献的实施方式适用于的示意性画面编码过程的示例。在图14中,步骤S1410可以由包括上面参照图2描述的编码设备的帧内预测单元185或帧间预测单元180的预测单元执行。步骤S1420可以由包括变换器120和/或量化器130的残差处理器执行。步骤S1430可以由熵编码器190执行。步骤S1410可以包括本文献中描述的帧间/帧内预测过程。步骤S1420可以包括本文献中描述的残差处理过程。步骤S1430可以包括本文献中描述的信息编码过程。
参照图14,如上面参照图2所描述的,画面编码过程可以示意性地包括用于编码用于画面重构的信息(例如,预测信息、残差信息和分割信息)并以比特流的形式输出该信息的过程、用于生成当前画面的重构画面的过程以及用于对重构画面应用环路内滤波的过程(可选)。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且可以基于作为步骤S1410中的输出的预测样本和(修改的)残差样本来生成重构画面。所生成的重构画面可以与上述解码设备所生成的重构画面相同。可以对重构画面执行环路内滤波过程以生成修改的重构画面。修改的重构画面可以存储在解码画面缓冲器或存储器170中。类似于解码设备中的情况,修改的重构画面可以稍后在编码画面时在帧间预测过程中用作参考画面。如上所述,在一些情况下,环路内滤波过程的一些或全部可以省略。当执行环路内滤波过程时,(环路内)滤波相关信息(参数)可以由熵编码器190编码并以比特流的形式输出。解码设备可以基于滤波相关信息按照与编码设备相同的方式执行环路内滤波过程。
通过这种环路内滤波过程,在图像/视频编码期间生成的噪声(例如,块伪影和振铃伪影)可以减少,并且主观/客观视觉质量可以改进。另外,编码设备和解码设备二者执行环路内滤波过程,以使得编码设备和解码设备可以推导相同的预测结果,画面编码的可靠性可以增加,并且要发送以进行画面编码的数据量可以减少。
如上所述,可以在解码设备以及编码设备中执行画面重构过程。可以基于帧内预测/帧间预测基于各个块来生成重构块,并且可以生成包括重构块的重构画面。当当前画面/切片/拼块组是I画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以仅基于帧内预测来重构。此外,当当前画面/切片/拼块组是P或B画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以基于帧内预测或帧间预测来重构。在这种情况下,帧间预测可以应用于当前画面/切片/拼块组中的一些块,并且帧内预测可以应用于一些剩余块。画面的颜色分量可以包括亮度分量和色度分量。除非本文献中明确地限制,否则本文献中提出的方法和实施方式可应用于亮度分量和色度分量。
编码层次和结构的示例
可以根据例如稍后要描述的编码层次和结构来处理根据本文献的编码视频/图像。
图15是示出编码图像的层次结构的图。编码图像可以被分为处理图像和自身的解码处理的视频编码层(VCL,视频编码层次)、用于发送和存储编码的信息的子系统以及存在于VCL和子系统之间并负责网络适配功能的网络抽象层(NAL,网络抽象层次)。
在VCL中,可以生成包括压缩图像数据(切片数据)的VCL数据。另选地,可以生成包括诸如画面参数集(PPS)、序列参数集(SPS)和视频参数集(VPS)的信息的参数集或者图像解码处理另外需要的补充增强信息(SEI)消息。
在NAL中,头信息(NAL单元头)被添加到VCL中生成的原始字节序列有效载荷(RBSP)以使得可以生成NAL单元。本文中,RBSP是指VCL中生成的切片数据、参数集和SEI消息。NAL单元头可以包括根据包括在NAL单元中的RBSP数据指定的NAL单元类型信息。
如图中所示,NAL单元可以根据VCL中生成的RBSP被分为VCL NAL单元和非VCL NAL单元。VCL NAL单元可以指包括关于图像的信息(切片数据)的NAL单元。非VCL NAL单元可以指包括对图像进行解码所需的信息(参数集或SEI消息)的NAL单元。
在根据子系统的数据标准附接头信息的情况下,VCL NAL单元和非VCL NAL单元可以经由网络发送。例如,NAL单元可以按照诸如H.266/VVC文件格式、实时传输协议(RTP)、传输流(TS)的预定标准的数据形式变换,并且所得数据可以经由各种网络发送。
如上所述,关于NAL单元,NAL单元类型可以根据包括在NAL单元中的RBSP数据结构来指定,并且关于NAL单元类型的信息可以被存储在NAL单元头中并用信号通知。
例如,根据NAL单元是否包括关于图像的信息(切片数据),大致分类为VCL NAL单元类型和非VCL NAL单元类型。VCL NAL单元类型可以根据包括在VCL NAL单元中的画面的特性和类型来分类,非VCL NAL单元类型可以根据参数集的类型来分类。
下面作为示例列出根据非VCL NAL单元类型所包括的参数集的类型指定的NAL单元类型。
-APS(适配参数集)NAL单元:包括APS的NAL单元类型
-DPS(解码参数集)NAL单元:包括DPS的NAL单元类型
-VPS(视频参数集)NAL单元:包括VPS的NAL单元类型
-SPS(序列参数集)NAL单元:包括SPS的NAL单元类型
-PPS(画面参数集)NAL单元:包括PPS的NAL单元类型
上述NAL单元类型可以具有NAL单元类型的语法信息,并且该语法信息可以被存储在NAL单元头中并用信号通知。例如,语法信息可以是nal_unit_type,并且NAL单元类型可以由nal_unit_type值指定。
切片头(切片头语法)可以包括共同适用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。SPS(SPS语法)可以包括共同适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括共同适用于多个层的信息/参数。DPS(DPS语法)可以包括共同适用于整个视频的信息/参数。DPS可以包括与编码视频序列(CVS)的级联有关的信息/参数。在本文献中,高级语法(HLS)可以包括选自APS语法、PPS语法、SPS语法、VPS语法、DPS语法和切片头语法中的至少一个。
在本文献中,由编码设备编码并以比特流的形式用信号通知给解码设备的图像/视频信息可以包括画面内的分割相关信息、帧内/帧间预测信息、残差信息和环路内滤波信息以及包括在切片头中的信息、包括在APS中的信息、包括在PPS中的信息、包括在SPS中的信息和/或包括在VPS中的信息。
帧内预测的概述
下文中,将详细描述由上述编码设备和解码设备执行的帧内预测。帧内预测可以指基于当前块所属的画面(下文中,当前画面)中的参考样本来生成当前块的预测样本的预测。
这将参照图16描述。当对当前块1601应用帧内预测时,可以推导要用于当前块1601的帧内预测的邻近参考样本。当前块的邻近参考样本可以包括:包括与大小为nW×nH的当前块的左边界相邻的样本1611和邻近左下的样本1612的总共2×nH个样本;包括与当前块的上边界相邻的样本1621和邻近右上的样本1622的总共2×nW个样本;以及邻近当前块的左上的一个样本1631。另选地,当前块的邻近参考样本可以包括上邻近样本的多列和左邻近样本的多列。
另外,当前块的邻近参考样本可以包括:与大小为nW×nH的当前块的右边界相邻的总共nH个样本1641;与当前块的下边界相邻的总共nW个样本1651;以及邻近当前块的右下的一个样本1642。
然而,当前块的一些邻近参考样本还未被解码或者可能不可用。在这种情况下,解码设备可以通过利用可用样本替换不可用样本来构建要用于预测的邻近参考样本。另选地,可以通过可用样本的插值来构建要用于预测的邻近参考样本。
当推导邻近参考样本时,(i)可以基于当前块的邻近参考样本的平均或插值来推导预测样本,或者(ii)可以基于当前块的邻近参考样本当中相对于预测样本存在于特定(预测)方向上的参考样本来推导预测样本。(i)的情况可以被称为非定向模式或非角模式,(ii)的情况可以被称为定向模式或角模式。另外,可以利用邻近参考样本当中基于当前块的预测样本位于当前块的帧内预测模式的预测方向的相反方向上的第二邻近样本和第一邻近样本来通过插值生成预测样本。上述情况可以被称为线性插值帧内预测(LIP)。另外,可以使用线性模型基于亮度样本来生成色度预测样本。这种情况可以被称为LM模式。另外,可以基于滤波的邻近参考样本来推导当前块的临时预测样本,并且可以通过对临时预测样本与现有邻近参考样本当中根据帧内预测模式推导的至少一个参考样本(即,未滤波的邻近参考样本)进行加权求和来推导当前块的预测样本。上述情况可以被称为位置相关帧内预测(PDPC)。另外,可以在当前块的多个邻近参考样本行当中选择具有最高预测准确性的参考样本行,以使用对应行中位于预测方向上的参考样本来推导预测样本。此时,帧内预测编码可以通过向解码设备指示(用信号通知)所使用的参考样本行来执行。上述情况可以被称为多参考行(MRL)帧内预测或基于MRL的帧内预测。另外,当前块可以被分成垂直或水平子分区以基于相同的帧内预测模式执行帧内预测,并且可以基于每子分区推导并使用邻近参考样本。即,在这种情况下,当前块的帧内预测模式等同地应用于子分区,并且基于每子分区推导并使用邻近参考样本,从而在某些情况下增加帧内预测性能。这种预测方法可以被称为帧内子分区(ISP)或基于ISP的帧内预测。这些帧内预测方法可以被称为帧内预测类型,区别于帧内预测模式(例如,DC模式、平面模式和定向模式)。帧内预测类型可以被称为诸如帧内预测方案或附加帧内预测模式的各种术语。例如,帧内预测类型(或附加帧内预测模式)可以包括选自上述LIP、PDPC、MRL和ISP的组中的至少一个。除了诸如LIP、PDPC、MRL和ISP的特定帧内预测类型之外的一般帧内预测方法可以被称为正常帧内预测类型。正常帧内预测类型可以指不应用特定帧内预测类型,并且可以基于上述帧内预测模式执行预测的情况。此外,当需要时,可以对推导的预测样本执行后滤波。
具体地,帧内预测过程可以包括帧内预测模式/类型确定步骤、邻近参考样本推导步骤和基于帧内预测模式/类型的预测样本推导步骤。另外,当需要时,可以对推导的预测样本执行后滤波步骤。
此外,除了上述帧内预测类型之外,可以使用仿射线性加权帧内预测(ALWIP)。ALWIP可以被称为线性加权帧内预测(LWIP)或者矩阵加权帧内预测或基于矩阵的帧内预测(MIP)。当MIP应用于当前块时,当前块的预测样本可以通过i)使用经过平均过程的邻近参考样本,ii)执行矩阵向量乘法过程,并且当需要时进一步执行iii)水平/垂直插值过程来推导。用于MIP的帧内预测模式可不同于在LIP、PDPC、MRL、ISP帧内预测中或正常帧内预测中使用的帧内预测模式。用于MIP的帧内预测模式可以被称为MIP帧内预测模式、MIP预测模式或MIP模式。例如,在矩阵向量乘法中使用的不同矩阵和偏移可以根据用于MIP的帧内预测模式来设定。本文中,矩阵可以被称为(MIP)加权矩阵,偏移可以被称为(MIP)偏移向量或(MIP)偏置向量。详细MIP方法将稍后描述。
编码设备中基于帧内预测和帧内预测单元的块重构过程可以示意性地包括例如下述内容。步骤S1710可以由编码设备的帧内预测单元185执行。步骤S1720可以由包括选自编码设备的减法器115、变换器120、量化器130、解量化器140和逆变换器150的组中的至少一个的残差处理器执行。具体地,步骤S1720可以由编码设备的减法器115执行。在步骤S1730中,预测信息可以由帧内预测单元185推导,并且可以由熵编码器190编码。在步骤S1730中,残差信息可以由残差处理器推导,并且可以由熵编码器190编码。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化变换系数的信息。如上所述,残差样本可以通过编码设备的变换器120被推导为变换系数,变换系数可以通过量化器130被推导为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程编码。
在步骤S1710中,编码设备可以对当前块执行帧内预测。编码设备推导当前块的帧内预测模式/类型,推导当前块的邻近参考样本,并且基于帧内预测模式/类型和邻近参考样本来生成当前块中的预测样本。本文中,确定帧内预测模式/类型、推导邻近参考样本和生成预测样本的过程可以同时执行,或者任一个过程可以在其它过程之前执行。例如,尽管未示出,编码设备的帧内预测单元185可以包括帧内预测模式/类型确定单元、参考样本推导单元和预测样本推导单元。帧内预测模式/类型确定单元可以确定当前块的帧内预测模式/类型,参考样本推导单元可以推导当前块的邻近参考样本,预测样本推导单元可以推导当前块的预测样本。此外,当执行预测样本滤波过程(将稍后描述)时,帧内预测单元185还可以包括预测样本滤波器。编码设备可以确定多个帧内预测模式/类型当中应用于当前块的模式/类型。编码设备可以比较帧内预测模式/类型的RD成本并且为当前块确定最佳帧内预测模式/类型。
此外,编码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。通过预测样本滤波过程,一些或所有预测样本可以被滤波。在一些情况下,可以省略预测样本滤波过程。
在步骤S1720中,编码设备可以基于(滤波的)预测样本来生成当前块的残差样本。编码设备可以基于相位来比较当前块的原始样本中的预测样本,并且可以推导残差样本。
在步骤S1730中,编码设备可以对包括关于帧内预测的信息(预测信息)和关于残差样本的残差信息的图像信息进行编码。预测信息可以包括帧内预测模式信息和帧内预测类型信息。编码设备可以将编码的图像信息以比特流的形式输出。输出比特流可以通过存储介质或网络被传输至解码设备。
残差信息可以包括残差编码语法(将稍后描述)。编码设备可以通过变换/量化残差样本来推导量化变换系数。残差信息可以包括关于量化变换系数的信息。
此外,如上所述,编码设备可以生成重构画面(包括重构样本和重构块)。为此,编码设备可以对量化变换系数执行解量化/逆变换并且推导(修改的)残差样本。在残差样本的变换/量化之后执行解量化/逆变换的原因是为了推导与如上所述解码设备所推导的残差样本相同的残差样本。编码设备可以基于预测样本和(修改的)残差样本来生成包括当前块的重构样本的重构块。基于重构块,可以生成当前画面的重构画面。如上所述,环路内滤波过程可进一步应用于重构画面。
解码设备中基于帧内预测和帧内预测单元的视频/图像解码过程可以示意性地包括例如下述内容。解码设备可以执行与编码设备所执行的操作对应的操作。
步骤S1810至S1830可以由解码设备的帧内预测单元265执行。步骤S1810中的预测信息和步骤S1840中的残差信息可以由解码设备的熵解码器210从比特流获得。包括解码设备的解量化器220或逆变换器230或二者的残差处理器可以基于残差信息来推导当前块的残差样本。具体地,残差处理器的解量化器220可以根据基于残差信息推导的量化变换系数来执行解量化,并且可以推导变换系数。残差处理器的逆变换器230可以对变换系数执行逆变换,并且可以推导当前块的残差样本。步骤S1850可以由解码设备的加法器235或重构器执行。
具体地,在步骤S1810中,解码设备可以基于所接收的预测信息(帧内预测模式/类型信息)来推导当前块的帧内预测模式/类型。在步骤S1820中,解码设备可以推导当前块的邻近参考样本。在步骤S1830中,解码设备可以基于帧内预测模式/类型和邻近参考样本来在当前块中生成预测样本。在这种情况下,解码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。通过预测样本滤波过程,一些或所有预测样本可以被滤波。在一些情况下,可以省略预测样本滤波过程。
解码设备可以基于所接收的残差信息来生成当前块的残差样本。在步骤S1840中,解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且推导包括重构样本的重构块。基于重构块,可以生成当前画面的重构画面。如上所述,环路内滤波过程可进一步应用于重构画面。
本文中,尽管未示出,解码设备的帧内预测单元265可以包括帧内预测模式/类型确定单元、参考样本推导单元和预测样本推导单元。帧内预测模式/类型确定单元可以基于从熵解码器210获得的帧内预测模式/类型信息来确定当前块的帧内预测模式/类型。参考样本推导单元可以推导当前块的邻近参考样本。预测样本推导单元可以推导当前块的预测样本。此外,当执行上述预测样本滤波过程时,帧内预测单元265还可以包括预测样本滤波器。
例如,帧内预测模式信息可以包括指示是否对当前块应用最可能模式(MPM)或应用剩余模式的标志信息(例如,intra_luma_mpm_flag)。当MPM应用于当前块时,预测模式信息还可以包括指示帧内预测模式候选(MPM候选)之一的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(MPM候选)可以被构建为MPM候选列表或MPM列表。另外,当MPM未应用于当前块时,帧内预测模式信息还可以包括指示除了帧内预测模式候选(MPM候选)之外的剩余帧内预测模式之一的剩余模式信息(例如,intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息来确定当前块的帧内预测模式。可以为上述MIP构建单独的MPM列表。
另外,帧内预测类型信息可以按各种形式实现。例如,帧内预测类型信息可以包括指示帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括指示是否对当前块应用MRL以及当对当前块应用MRL时使用哪一参考样本行的参考样本行信息(例如,intra_luma_ref_idx)、指示是否对当前块应用ISP的ISP标志信息(例如,intra_subpartitions_mode_flag)、当应用ISP时指示子分区的分区类型的ISP类型信息(例如,intra_subpartitions_split_flag)、指示是否应用PDCP的标志信息、或者指示是否应用LIP的标志信息中的至少一个。另外,帧内预测类型信息可以包括指示是否对当前块应用MIP的MIP标志。
帧内预测模式信息和/或帧内预测类型信息可以通过本文献中描述的编码方法来编码/解码。例如,帧内预测模式信息和/或帧内预测类型信息可以通过基于截断(莱斯(rice))二进制码的熵编码(例如,CABAC、CAVLC)来编码/解码。
自适应颜色变换(ACT)的概述
自适应颜色变换(ACT)是用于去除颜色分量之间不必要的交叠的颜色空间变换(转换)技术,并且已用在HEVC屏幕内容扩展版本中。这也可应用于VVC。
在HEVC屏幕内容扩展(HEVC SCC扩展)中,ACT已用于将预测残差从现有颜色空间自适应地变换至YCgCo颜色空间。可以通过针对各个变换基础用信号通知一个ACT标志来可选地选择两个颜色空间之一。
例如,标志的第一值(例如,1)可以指示变换基础的残差在原始颜色空间中编码。标志的第二值(例如,1)可以指示变换基础的残差在YCgCo颜色空间中编码。
图19是示出应用了ACT的解码处理的实施方式的视图。在图19的实施方式中,运动补偿预测可以对应于本公开中的帧间预测。
如图19所示,重构画面(或重构块、重构样本阵列、重构样本、重构信号)可以基于预测输出值和残差输出值来生成。本文中,残差输出值可以是逆变换输出值。本文中,逆变换可以是正常逆变换。本文中,正常逆变换可以是基于MTS的逆变换或逆低频不可分离变换(LFNST)。
本文中,预测输出值可以是预测块、预测样本阵列、预测样本或预测信号。残差输出值可以是残差块、残差样本阵列、残差样本或残差信号。
例如,就编码设备而言,可以对基于预测样本推导的残差样本执行ACT处理。另外,可以提供ACT处理的输出值作为正常变换处理的输入。本文中,正常变换处理可以是基于MTS的变换或LFNST。
关于(逆)ACT的信息(参数)可以由编码设备生成并编码,并且可以以比特流的形式发送至解码设备。
解码设备可以获得、解析和解码(逆)ACT相关信息(参数),并且可以基于(逆)ACT相关信息(参数)执行逆ACT。
基于逆ACT,可以推导(修改的)残差样本(或残差块)。例如,可以通过对量化(变换)系数应用解量化来推导(变换)系数。另外,可以通过对(变换)系数执行逆变换来推导残差样本。另外,可以通过对残差样本应用逆ACT来获得(修改的)残差样本。关于(逆)ACT的信息(参数)将稍后详细描述。
在实施方式中,HEVC中使用的核心变换函数可以用作颜色空间变换的核心变换函数(变换内核)。例如,可以使用如下式中所示的用于前向变换和后向变换的矩阵。
[式1]
[式2]
本文中,C0、C1和C2可以对应于G、B和R。本文中,G表示绿色分量,B表示蓝色分量,R表示红色分量。另外,C0’、C1’和C2’可以对应于Y、Cg和Co。本文中,Y表示亮度,Cg表示绿色色度,Co表示橙色色度分量。
另外,为了补偿颜色变换前后残差的动态范围变化,可以按(-5,-5,-3)对变换残差应用QP调节。QP调节的细节将稍后描述。
此外,在根据实施方式的编码和解码处理中,当ACT适用时,可以应用以下限制。
-在双树编码/解码的情况下,停用ACT。例如,ACT可仅应用于单树编码/解码。
-当应用ISP编码和解码时,可以停用ACT。
-对于应用了BDPCM的色度块,可以停用ACT。仅对于应用了BDPCM的亮度块,可以启用ACT。
-当可以应用ACT时,可以停用CCLM。
图20是示出用信号通知与ACT有关的语法元素的序列参数集语法表的实施方式的视图。
图21至图27是连续示出用信号通知与ACT有关的语法元素的编码基础的语法表的实施方式的视图。
如图20所示,作为指示在解码处理中是否启用ACT的ACT启用标志,可以使用sps_act_enabled_flag 2010。
sps_act_enabled_flag的第一值(例如,0)可以指示不使用ACT,并且在编码基础的语法中没有提供指示是否在编码基础应用ACT的标志cu_act_enabled_flag 2110、2710。
sps_act_enabled_flag的第二值(例如,1)可以指示可以使用ACT,并且可以在编码基础的语法中提供cu_act_enabled_flag。
当在比特流中未获得sps_act_enabled_flag时,sps_act_enabled_flag的值可以被推导为第一值(例如,0)。
另外,如图21所示,作为指示当前编码基础的残差是否在YCgCo颜色空间中编码的ACT标志,可以使用cu_act_enabled_flag 2110、2710。
cu_act_enabled_flag的第一值(例如,0)可以指示当前编码基础的残差在原始颜色空间中编码。cu_act_enabled_flag的第二值(例如,1)可以指示当前编码基础的残差在YCgCo颜色空间中编码。
当在比特流中未提供cu_act_enabled_flag时,该标志可以被推导为第一值(例如,0)。本文中,原始颜色空间可以是RGB颜色空间。
使用ACT QP偏移的变换基础的QP推导方法
在实施方式中,在对变换系数的缩放处理中,量化参数的推导处理和Qp更新处理可以如下执行。例如,量化参数推导处理可以使用以下参数来执行。
-亮度坐标(xCb,yCb),相对于当前画面的左上亮度样本指示当前编码块的左上亮度样本的相对坐标,
-变量cbWidth,基于每亮度样本指示当前编码块的宽度,
-变量cbHeight,基于每亮度样本指示当前编码块的高度,
-变量treeType,指示单树(SINGLE_TREE)还是双树用于分割当前编码树节点,并且当使用双树时,指示双树是亮度分量双树(DAUL_TREE_LUMA)还是色度分量双树(DAUL_TREE_CHROMA)。
在本处理中,可以推导亮度量化参数Qp’Y、色度量化参数Qp’Cb、Qp’Cr和Qp’CbCr。
变量亮度位置(xQg,yQg)可以指示与当前画面的左上样本对应的当前量化组的左上亮度样本的位置。本文中,水平位置xQg和垂直位置yQg可以分别被设定为等于变量CuQgTopLeftX和变量CuQgTopLeftY的值。在如图28所示的编码树语法中,变量CuQgTopLeftX和CuQgTopLeftY可以被定义为预定值。
本文中,当前量化组可以是编码树块内的四边形区域,并且可共享相同的qPY_PRED值。其宽度和高度可以等于编码树节点的宽度和高度,其中左上亮度样本位置被指派给CuQgTopLeftX和CuQgTopLeftY中的每一个。
当treeType为SINGLE_TREE或DUAL_TREE_LUMA时,亮度量化参数预测值qPY_PRED可以如以下步骤中推导。
1.变量qPY_PRED可以如下推导。
(条件1)当以下条件中的任一个为真时,qPY_PRED的值可以被设定为与SliceQpY相同的值(本文中,SliceQpY为画面中的所有切片指示量化参数QpY的初始值,这可以从比特流获得)。另选地,qPY_PRED的值可以被设定为根据解码顺序紧接在前的量化组的最后亮度编码基础的亮度量化参数QpY的值。
-(条件1-1)当当前量化组为切片中的第一量化组时
-(条件1-2)当当前量化组为拼块中的第一量化组时
-(条件1-3)当当前量化组为拼块中的CTB行中的第一量化组并且发生预定同步时(例如,当entropy_coding_sync_enabled_flag具有值1时)
2.变量qPY_A的值可以如下推导。
(条件2)当以下条件中的至少一个为真时,qPY_A的值可以被设定为qPY_PRED的值。另选地,qPY_A的值可以被设定为包括覆盖亮度样本位置(xQg-1,yQg)的亮度编码块的编码基础的亮度量化参数QpY的值。
-(条件2-1)相对于样本位置(xCb,yCb)所标识的块,样本位置(xQg-1,yQg)所标识的块不是可用邻近块,
-(条件2-2)当包括覆盖亮度样本位置(xQg-1,yQg)的亮度编码块的CTB不同于包括亮度样本位置(xCb,yCb)处的当前亮度编码块的CTB时,例如,当所有以下条件为真时
-(条件2-2-1)(xQg-1)>>CtbLog2SizeY的值不同于(xCb)>>CtbLog2SizeY的值
-(条件2-2-2)(yQg)>>CtbLog2SizeY的值不同于(yCb)>>CtbLog2SizeY的值
3.变量qPY_B的值可以如下推导。
(条件3)当以下条件中的至少一个为真时,qPY_B的值可以被设定为qPY_PRED的值。另选地,qPY_B的值可以被设定为包括覆盖亮度样本位置(xQg,yQg-1)的亮度编码块的编码基础的亮度量化参数QpY的值。
-(条件3-1)相对于样本位置(xCb,yCb)所标识的块,当样本位置(xQg,yQg-1)所标识的块不是可用邻近块时,
-(条件3-2)当包括覆盖亮度样本位置(xQg,yQg-1)的亮度编码块的CTB不同于包括亮度样本位置(xCb,yCb)处的当前亮度编码块的CTB时,例如,当所有以下条件为真时
-(条件3-2-1)(xQg)>>CtbLog2SizeY的值不同于(xCb)>>CtbLog2SizeY的值
-(条件3-2-2)(yQg-1)>>CtbLog2SizeY的值不同于(yCb)>>CtbLog2SizeY的值
4.亮度量化参数预测值qPY_PRED可以如下推导。
当所有以下条件为真时,qPY_PRED可以被设定为包括覆盖亮度样本位置(xQg,yQg-1)的亮度编码块的编码基础的亮度量化参数QpY。
-(条件3-1)相对于样本位置(xCb,yCb)所标识的块,样本位置(xQg,yQg-1)所标识的块是可用邻近块
-当当前量化组是拼块中的CTB行中的第一量化组时
此外,当所有条件均不为真时,qPY_PRED可以如下式所示推导。
[式3]
qPY_PRED=(qPY_A+qPY_B+1)>>1
变量QpY可以如下式所示推导。
[式4]
QpY=((qPY_PRED+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-
QpBdOffset
本文中,CuQpDeltaVal指示编码基础的亮度量化参数与其预测值之间的差。其值可以从比特流获得。QpBdOffset指示亮度和色度量化参数范围偏移。QpBdOffset可以被预设为预定常数或者从比特流获得。例如,可以通过将预定常数乘以指示亮度或色度样本的比特深度的语法元素的值来计算QpBdOffset。亮度量化参数Qp'Y可以如下式所示推导。
[式5]
Qp’Y=QpY+QpBdOffset
当指示色度阵列的类型的变量ChromaArrayType的值不是第一值(例如,0)并且treeType为SINGLE_TREE或DUAL_TREE_CHROMA时,可以执行以下处理。
-当treeType的值为DUAL_TREE_CHROMA时,变量QpY的值可以被设定为与覆盖亮度样本位置(xCb+cbWidth/2,yCb+cbHeight/2)的亮度编码基础的亮度量化参数QpY相同的值。
-变量qPCb、qPCr和qPCbCr可以如下式所示推导。
[式6]
qPChroma=Clip3(-QpBdOffset,63,QpY)
qPCb=ChromaQpTable[0][qPChroma]
qPCr=ChromaQpTable[1][qPChroma]
qPCbCr=ChromaQpTable[2][qPChroma]
Cb和Cr分量的色度量化参数Qp’Cb和Qp’Cr以及联合Cb-Cr编码的色度量化参数Qp’CbCr可以如下式所示推导。
[式7]
Qp’Cb=Clip3(-QpBdOffset,63,qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset
Qp’Cr=Clip3(-QpBdOffset,63,qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr)+QpBdOffset
Qp’CbCr=Clip3(-QpBdOffset,63,qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr)+QpBdOffset
在上式中,pps_cb_qp_offset和pps_cr_qp_offset是用于推导Qp’Cb和Qp’Cr的偏移,并且可从画面参数集的比特流获得。slice_cb_qp_offset和slice_cr_qp_offset是用于推导Qp’Cb和Qp’Cr的偏移,并且可从切片头的比特流获得。CuQpOffsetCb和CuQpOffsetCr是用于推导Qp’Cb和Qp’Cr的偏移,并且可从变换基础的比特流获得。
另外,例如,对变换系数的解量化处理可以使用以下参数来执行。
-亮度坐标(xTbY,yTbY),相对于当前画面的左上亮度样本指示当前亮度变换块的左上样本的相对坐标
-变量nTbW,指示变换块的宽度
-变量nTbH,指示变换块的高度
-变量cIdx,指示当前块的颜色分量
本处理的输出可以是缩放的变换系数的阵列d。本文中,阵列d的大小可为(nTbW)×(nTbH)。构成此的各个元素可以被标识为d[x][y]。
为此,量化参数qP可以如下推导。当cIdx具有值0时,qP可如下式所示推导。
[式8]
qP=Qp’Y
另选地,当TuCResMode[xTbY][yTbY]具有值2时,可以如下式所示进行推导。
[式9]
qP=Qp’CbCr
另选地,当cIdx具有值1时,qP可以如下式所示推导。
[式10]
qP=Qp’Cb
另选地,当cIdx具有值2时,qP可以如下式所示推导。
[式11]
qP=Qp’Cr
此后,量化参数qP可以如下更新。另外,变量rectNonTsFlag和bdShift可以如下推导。例如,当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时(例如,当未跳过当前变换块的变换时),qP可以如下式所示推导。
[式12]
qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0)
rectNonTsFlag=0
bdShift=10
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1(例如,跳过当前变换块的变换)时,qP可以如下式所示推导。
[式13]
qP=Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?5:0)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1
bdShift=BitDepth+(rectNonTsFlag?1:0)+((Log2(nTbW)+Log2(nTbH))/2)-+pic_dep_quant_enabled_flag
本文中,QpPrimeTsMin可以指示当应用变换跳过模式时允许的最小量化参数值。这可以被确定为预定常数或者可以从与其有关的比特流的语法元素推导。
本文中,后缀Y、Cb和Cr可以表示RGB颜色模型中的G、B和R颜色分量或者YCgCo颜色模型中的Y、Cg和Co颜色分量。
块差分脉冲编码调制(BDPCM)的概述
根据实施方式的图像编码设备和图像解码设备可以执行残差信号的差分编码。例如,图像编码设备可以通过从当前块的残差信号减去预测信号来对残差信号进行编码,图像解码设备可以通过将预测信号与当前块的残差信号相加来对残差信号进行解码。根据实施方式的图像编码设备和图像解码设备可以通过应用下述BDPCM来执行残差信号的差分编码。
根据本公开的BDPCM可以在量化残差域中执行。量化残差域可以包括量化残差信号(或量化残差系数),并且当应用BDPCM时,可以跳过量化残差信号的变换。例如,当应用BDPCM时,可以跳过残差信号的变换并且可以执行量化。另选地,量化残差域可以包括量化变换系数。
在应用BDPCM的实施方式中,图像编码设备可以推导在帧内预测模式下预测的当前块的残差块并且将残差块量化,从而推导残差块。当针对当前块执行残差信号的差分编码模式时,图像编码设备可以针对残差块执行差分编码以推导修改的残差块。另外,图像编码设备可以对指定残差信号的差分编码模式的差分编码模式信息和修改的残差块进行编码,从而生成比特流。
更具体地,当BDPCM应用于当前块时,可以通过帧内预测生成包括当前块的预测样本的预测的块(预测块)。在这种情况下,用于执行帧内预测的帧内预测模式可以通过比特流用信号通知,并且可以基于下述BDPCM的预测方向来推导。另外,在这种情况下,帧内预测模式可以被确定为垂直预测方向模式或水平预测方向模式之一。例如,当BDPCM的预测方向是水平方向时,帧内预测模式可以被确定为水平预测方向模式,并且可以通过水平方向的帧内预测来生成当前块的预测块。另选地,当BDPCM的预测方向是垂直方向时,帧内预测模式可以被确定为垂直预测方向模式,并且可以通过垂直方向的帧内预测来生成当前块的预测块。当应用水平方向的帧内预测时,与当前块的左侧相邻的像素的值可以被确定为包括在当前块的对应行中的样本的预测样本值。当应用垂直方向的帧内预测时,与当前块的顶部相邻的像素的值可以被确定为包括在当前块的对应列中的样本的预测样本值。当对当前块应用BDPCM时,生成当前块的预测块的方法可以在图像编码设备和图像解码设备中等同地执行。
当对当前块应用BDPCM时,图像编码设备可以通过从当前块减去预测样本来生成包括当前块的残差样本的残差块。图像编码设备可以将残差块量化,然后对量化残差样本与量化残差样本的预测子之间的差(或增量)进行编码。图像解码设备可以通过基于预测子和从比特流重构的差获得当前块的量化残差样本来生成当前块的量化残差块。此后,图像解码设备可以将量化残差块解量化,然后将其与预测块相加,从而重构当前块。
图29是示出根据本公开的对BDPCM的残差样本进行编码的方法的视图。图29的残差块可以通过在图像编码设备中从当前块减去预测块来生成。图29的量化残差块可以通过由图像编码设备将残差块量化来生成。在图29中,ri,j指定当前块中(i,j)坐标的残差样本的值。当当前块的大小为M×N时,值i可以为0至M-1(含)。另外,值j可以为0至N-1(含)。例如,残差可以指原始块与预测块之间的差。例如,ri,j可以通过从当前块中(i,j)坐标的原始样本的值减去预测样本的值来推导。例如,ri,j可以是在使用未从上或左边界样本滤波的样本执行水平帧内预测或垂直帧内预测之后的预测残差。在水平帧内预测中,沿着与预测块交叉的线复制左邻近像素的值。在垂直帧内预测中,上邻近行被复制到预测块的单独行。
在图29中,Q(ri,j)是指当前块中坐标(i,j)的量化残差样本的值。例如,Q(ri,j)可以指ri,j的量化值。
对图29的量化残差样本执行BDPCM的预测,并且可以生成包括修改的量化残差样本r’的大小为M×N的修改的量化残差块R’。
当BDPCM的预测方向是水平方向时,当前块中坐标(i,j)的修改的量化残差样本的值r’i,j可以如下式所示计算。
[式14]
如式14所示,当BDPCM的预测方向是水平方向时,量化残差样本的值Q(r0,j)被原样指派给坐标(0,j)的值r’0,j。其它坐标(i,j)的值r’i,j可以被推导为坐标(i,j)的量化残差样本的值Q(ri,j)与坐标(i-1,j)的量化残差样本的值Q(ri-1,j)之间的差值。即,代替对坐标(i,j)的量化残差样本的值Q(ri,j)进行编码,使用坐标(i-1,j)的量化残差样本的值Q(ri-1,j)作为预测值计算的差值被推导为修改的量化残差样本值r’i,j,然后对值r’i,j进行编码。
当BDPCM的预测方向是垂直方向时,当前块中坐标(i,j)的修改的量化残差样本的值(r’i,j)可以如下式所示计算。
[式15]
如式15所示,当BDPCM的预测方向是垂直方向时,量化残差样本的值Q(ri,0)被原样指派给坐标(i,0)的值r’i,0。其它坐标(i,j)的值r’i,j可以被推导为坐标(i,j)的量化残差样本的值Q(ri,j)与坐标(i,j-1)的量化残差样本的值Q(ri,j-1)之间的差值。即,代替对坐标(i,j)的量化残差样本的值Q(ri,j)进行编码,使用坐标(i,j-1)的量化残差样本的值Q(ri,j-1)作为预测值计算的差值被推导为修改的量化残差样本值r’i,j,然后对值r’i,j进行编码。
如上所述,使用附近量化残差样本值作为预测值修改当前量化残差样本值的处理可以称为BDPCM预测。
最后,图像编码设备可以对包括修改的量化残差样本的修改的量化残差块进行编码,并且可以将所得块发送到图像解码设备。本文中,如上所述,不执行修改的量化残差块的变换。
图30是示出本公开的通过执行BDPCM生成的修改的量化残差块的视图。
在图30中,水平BDPCM示出当BDPCM的预测方向是水平方向时根据式14生成的修改的量化残差块。另外,垂直BDPCM示出当BDPCM的预测方向是垂直方向时根据式15生成的修改的量化残差块。
图31是示出在图像编码设备中通过应用BDPCM对当前块进行编码的过程的流程图。
首先,当在步骤S3110中输入作为编码目标块的当前块时,可以在步骤S3120中对当前块执行预测以生成预测块。步骤S3120中的预测块可以是帧内预测块,并且可以如上所述确定帧内预测模式。基于步骤S3120中生成的预测块,可以在步骤S3130中生成当前块的残差块。例如,图像编码设备可以通过从当前块(原始样本的值)减去预测块(预测样本的值)来生成残差块(残差样本的值)。例如,通过执行步骤S3130,可以生成图29的残差块。对步骤S3130中生成的残差块,可以在步骤S3140中执行量化以生成量化残差块,并且可以在步骤S3150中对量化残差块执行BDPCM预测。作为执行步骤S3140的结果生成的量化残差块可以是图29的量化残差块。作为步骤S3150中的BDPCM预测的结果,图30的修改的量化残差块可以根据预测方向来生成。由于步骤S3150中的BDPCM预测已参照图29至图30进行了描述,所以将省略其详细描述。此后,图像编码设备可以在步骤S3160中对修改的量化残差块进行编码以生成比特流。本文中,可以跳过修改的量化残差块的变换。
参照图29至图31描述的图像编码设备中的BDPCM操作可以由图像解码设备反过来执行。
图32是示出在图像解码设备中通过应用BDPCM来重构当前块的过程的流程图。
在步骤S3210中,图像解码设备可以从比特流获得重构当前块所需的信息(图像信息)。重构当前块所需的信息可以包括关于当前块的预测的信息(预测信息)以及关于当前块的残差的信息(残差信息)。在步骤S3220中,图像解码设备可以基于关于当前块的信息对当前块执行预测并且可以生成预测块。对当前块的预测可以是帧内预测,其详细描述与上面参照图31描述的相同。在图32中,示出生成当前块的预测块的步骤S3220在生成当前块的残差块的步骤S3230至S3250之前执行。然而,不对其施加限制。在生成当前块的残差块之后,可以生成当前块的预测块。另选地,当前块的残差块和当前块的预测块可以同时生成。
图像解码设备可在步骤S3230中通过从比特流解析当前块的残差信息来生成当前块的残差块。在步骤S3230中生成的残差块可以是图30所示的修改的量化残差块。
图像解码设备可以通过在步骤S3240中对图30的修改的量化残差块执行BDPCM预测来生成图29的量化残差块。步骤S3240中的BDPCM预测是从图30的修改的量化残差块生成图29的量化残差块的过程,其对应于图像编码设备所执行的步骤S3150的逆处理。例如,当从比特流获得的差分编码模式信息(例如,bdpcm_flag)指示当应用BDPCM时执行残差系数的差分编码的差分编码模式时,图像解码设备对残差块执行差分编码以推导修改的残差块。使用要修改的残差系数和预测残差系数,图像解码设备可以修改残差块中的残差系数当中要修改的至少一个残差系数。预测残差系数可以基于从比特流获得的差分编码方向信息(例如,bdpcm_dir_flag)所指示的预测方向来确定。差分编码方向信息可以指示垂直方向或水平方向。图像解码设备可以将通过将要修改的残差系数和预测残差系数相加而获得的值指派给要修改的残差系数的位置。本文中,预测残差系数可以是根据预测方向按照顺序紧接在要修改的残差系数之前并与其相邻的系数。
下文中,将在下面更详细地描述图像解码设备所执行的步骤S3240中的BDPCM预测。解码设备可通过反过来执行编码设备所执行的计算来计算量化残差样本Q(ri,j)。例如,当BDPCM的预测方向是水平方向时,图像解码设备可以使用式16从修改的量化残差块生成量化残差块。
[式16]
如式16中定义的,坐标(i,j)的量化残差样本的值Q(ri,j)可以通过将从坐标(0,j)开始到坐标(i,j)的修改的量化残差样本的值相加来计算。
另选地,使用式17而非式16,可以计算坐标(i,j)的量化残差样本的值Q(ri,j)。
[式17]
式17是与式14对应的逆处理。根据式17,坐标(0,j)的量化残差样本的值Q(r0,j)被推导为坐标(0,j)的修改的量化残差样本的值r’0,j。其它坐标(i,j)的Q(ri,j)被推导为坐标(i,j)的修改的量化残差样本的值r’i,j和坐标(i-1,j)的量化残差样本的值Q(ri-1,j)之和。即,使用坐标(i-1,j)的量化残差样本的值Q(ri-1,j)作为预测值将差值r’i,j相加,从而推导量化残差样本值Q(ri,j)。
当BDPCM的预测方向是垂直方向时,图像解码设备可以使用式18从修改的量化残差块生成量化残差块。
[式18]
如式18中定义的,坐标(i,j)的量化残差样本的值Q(ri,j)可以通过将从坐标(i,0)开始至坐标(i,j)的修改的量化残差样本的值相加来计算。
另选地,使用式19而非式18,可以计算坐标(i,j)的量化残差样本的值Q(ri,j)。
[式19]
式19是与式15对应的逆处理。根据式19,坐标(i,0)的量化残差样本的值Q(ri,0)被推导为坐标(i,0)的修改的量化残差样本的值r’i,0。其它坐标(i,j)的Q(ri,j)被推导为坐标(i,j)的修改的量化残差样本的值r’i,j和坐标(i,j-1)的量化残差样本的值Q(ri,j-1)之和。即,使用坐标(i,j-1)的量化残差样本的值Q(ri,j-1)作为预测值将差值r’i,j相加,从而推导量化残差样本值Q(ri,j)。
当通过根据上述方法执行步骤S3240生成由量化残差样本组成的量化残差块时,图像解码设备在步骤S3250中对量化残差块执行解量化以生成当前块的残差块。当应用BDPCM时,如上所述跳过当前块的变换。因此,可跳过解量化残差块的逆变换。
此后,图像解码设备可以在步骤S3260中基于步骤S3220中生成的预测块和步骤S3250中生成的残差块来重构当前块。例如,图像解码设备可以通过将预测块(预测样本的值)和残差块(残差样本的值)相加来重构当前块(重构样本的值)。例如,可以通过将解量化的量化样本Q-1(Q(ri,j))与帧内块预测值相加来生成重构样本值。可以通过比特流用信号通知指示是否对当前块应用BDPCM的差分编码模式信息。另外,当对当前块应用BDPCM时,可以通过比特流用信号通知指示BDPCM的预测方向的差分编码方向信息。当不对当前块应用BDPCM时,可不用信号通知差分编码方向信息。
图33至图35是示意性地示出用信号通知关于BDPCM的信息的语法的视图。
图33是示出用信号通知BDPCM信息的根据实施方式的序列参数集的语法的视图。在实施方式中,具有值0作为暂时ID(TemporalId)或通过外部手段提供的至少一个访问单元(AU)中所包括的所有SPS RBSP可以被设定为在解码处理中引用之前使用。另外,包括SPSRBSP的SPS NAL单元可以被设定为具有与参考SPS NAL单元的PPS NAL单元的nuh_layer_id相同的nuh_layer_id。在CVS中,具有特定sps_seq_parameter_set_id值的所有SPS NAL单元可以被设定为具有相同的内容。在图33的seq_parameter_set_rbsp()语法中,公开了上述sps_transform_skip_enable_flag和稍后描述的sps_bdpcm_enabled_flag。
语法元素sps_bdpcm_enabled_flag可以指示对于帧内编码单元,CU语法中是否提供intra_bdpcm_flag。例如,sps_bdpcm_enabled_flag的第一值(例如,0)可以指示对于帧内编码单元,在CU语法中未提供intra_bdpcm_flag。sps_bdpcm_enabled_flag的第二值(例如,1)可以指示对于帧内编码单元,在CU语法中提供intra_bdpcm_flag。此外,当未提供sps_bdpcm_enabled_flag时,sps_bdpcm_enabled_flag的值可以被设定为第一值(例如,0)。
图34是示出用信号通知是否应用对BDPCM的限制的语法的实施方式的视图。在实施方式中,编码/解码处理中的预定限制条件可以使用general_constraint_info()语法来用信号通知。使用图34的语法,可以用信号通知指示上述sps_bdpcm_enabled_flag的值是否需要被设定为0的语法元素no_bdpcm_constraint_flag。例如,no_bdpcm_constraint_flag的第一值(例如,0)可以指示是否应用这种限制。当no_bdpcm_constraint_flag的值为第二值(例如,1)时,sps_bdpcm_enabled_flag的值可以被强制为第一值(例如,0)。
图35是示出用信号通知关于编码单元的BDPCM的信息的coding_unit()语法的实施方式的视图。如图35所示,可以使用coding_unit()语法用信号通知语法元素intra_bdpcm_flag和intra_bdpcm_dir_flag。语法元素intra_bdpcm_flag可以指示是否对位于(x0,y0)的当前亮度编码块应用BDPCM。
例如,intra_bdpcm_flag的第一值(例如,0)可以指示不对当前亮度编码块应用BDPCM。intra_bdpcm_flag的第二值(例如,1)可以指示对当前亮度编码块应用BDPCM。通过指示应用BDPCM,intra_bdpcm_flag可以指示是否跳过变换以及是否由intra_bdpcm_dir_flag(将稍后描述)执行帧内亮度预测模式。
此外,关于x=x0..x0+cbWidth-1和y=y0..y0+cbHeight-1,上述变量BdpcmFlag[x][y]的值可以被设定为intra_bdpcm_flag的值。
语法元素intra_bdpcm_dir_flag可以指示BDPCM的预测方向。例如,intra_bdpcm_dir_flag的第一值(例如,0)可以指示BDPCM预测方向是水平方向。intra_bdpcm_dir_flag的第二值(例如,1)可以指示BDPCM预测方向是垂直方向。
此外,关于x=x0..x0+cbWidth-1和y=y0..y0+cbHeight-1,变量BdpcmDir[x][y]的值可以被设定为intra_bdpcm_dir_flag的值。
对色度块的帧内预测
当对当前块执行帧内预测时,可以执行对当前块的亮度分量块(亮度块)的预测和对色度分量块(色度块)的预测。在这种情况下,色度块的帧内预测模式可以与亮度块的帧内预测模式分开设定。
例如,可以基于帧内色度预测模式信息来指示色度块的帧内预测模式。可以按照语法元素intra_chroma_pred_mode的形式用信号通知帧内色度预测模式信息。例如,帧内色度预测模式信息可以指示下列之一:平面模式、DC模式、垂直模式、水平模式、推导模式(DM)和交叉分量线性模型(CCLM)模式。本文中,平面模式可以指帧内预测模式0,DC模式可以指帧内预测模式1,垂直模式可以指帧内预测模式26,水平模式可以指帧内预测模式10。DM也可以称为直接模式。CCLM也可以称为线性模型(LM)。CCLM模式可以包括下列中的任一个:L_CCLM、T_CCLM和LT_CCLM。
此外,DM和CCLM是使用亮度块的信息来预测色度块的从属帧内预测模式。DM可以指应用与亮度分量的帧内预测模式相同的帧内预测模式作为色度分量的帧内预测模式的模式。另外,CCLM可以指这样的帧内预测模式:在生成色度块的预测块的过程中,亮度块的重构样本被欠采样,然后通过对欠采样的样本应用CCLM参数α和β而推导的样本用作色度块的预测样本。
交叉分量线性模型(CCLM)模式的概述
如上所述,可以对色度块应用CCLM模式。CCLM模式是使用亮度块和与亮度块对应的色度块之间的相关的帧内预测模式,并且通过基于亮度块的邻近样本和色度块的邻近样本推导线性模型来执行。另外,可以基于推导的线性模型和亮度块的重构样本来推导色度块的预测样本。
具体地,当对当前色度块应用CCLM模式时,可以基于用于当前色度块的帧内预测的邻近样本和用于当前亮度块的帧内预测的邻近样本来推导线性模型的参数。例如,CCLM的线性模型可以基于如下式来表示。
[式20]
predc(i,j)=α·recJ'(i,j)+β
本文中,predc(i,j)可以指当前CU中的当前色度块的坐标(i,j)的预测样本。recL’(i,j)可以指CU中的当前亮度块的坐标(i,j)的重构样本。例如,recL’(i,j)可以指当前亮度块的下采样重构样本。线性模型系数α和β可以用信号通知或者可以从邻近样本推导。
残差的联合编码(联合CbCr)
在根据实施方式的编码/解码处理中,色度残差可以被一起编码/解码。这可以被称为残差的联合编码或联合CbCr。是否应用(启用)CbCr的联合编码模式可以由在变换基础的级别用信号通知的联合编码模式信令标志tu_joint_cbcr_residual_flag用信号通知。另外,所选编码模式可以由色度CBF推导。当变换基础的至少一个色度CBF的值为1时,可以存在标志tu_joint_cbcr_residual_flag。色度QP偏移值指示针对常规色度残差编码模式用信号通知的一般色度QP偏移值与CbCr联合编码模式的色度QP偏移值之间的差。可以通过PPS或切片头用信号通知色度QP偏移值。该QP偏移值可以用于驱动使用联合色度残差编码模式的块的色度QP值。
在为变换基础启用下表中的作为对应联合色度编码模式的模式2的情况下,在执行变换基础的量化和解码的同时,其色度QP偏移可以与目标亮度推导色度QP(应用的亮度推导色度QP)相加。
关于其它模式(类似下表中的模式1和模式3),可以按照针对一般Cb或Cr块获得的方式推导色度QP。可以根据下表选择这种从变换块重构色度残差(resCb和resCr)的处理。当启用当前模式时,用信号通知一个单个联合色度残差块(下表中的resJointC[x][y]),并且可以考虑诸如tu_cbf_cb、tu_cbf_cr和CSign(切片头中公开的符号值)的信息来推导Cb的残差块resCb和Cr的残差块resCr。
在编码设备中,可以如下推导联合色度分量。根据联合编码模式,可以根据以下顺序生成resJointC{1,2}。在模式2(具有重构Cb=C、Cr=CSign*C的单个残差)的情况下,可以根据下式确定联合残差。
[式21]
resJointC[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2。
另选地,在模式1(具有重构Cb=C、Cr=(CSign*C)/2的单个残差)的情况下,可以根据下式确定联合残差。
[式22]
resJointC[x][y]=(4*resCb[x][y]+2*CSign*resCr[x][y])/5。
另选地,在模式3(具有重构Cr=C、Cb=(CSign*C)/2的单个残差)的情况下,可以根据下式确定联合残差。
[式23]
resJointC[x][y]=(4*resCr[x][y]+2*CSign*resCb[x][y])/5。
[表2]
上表示出色度残差的重构。CSign是指切片头中指定的符号值+1或-1。resJointC[][]是指发送的残差。在该表中,模式是指TuCResMode(将稍后描述)。仅对于I切片才可以支持表中的三个联合色度编码模式。对于P和B切片,仅可支持模式2。因此,对于P和B切片,仅当两个色度cbf(例如,tu_cbf_cb和tu_cbf_cr)值为1时,才可以提供语法元素tu_joint_cbcr_residual_flag。此外,在tu_cbf_luma和tu_cbf_cb的上下文建模中,可以去除变换深度。
实施方式1:使用ACT Qp_offset的QP更新方法
如上所述,可以执行QP的更新以应用ACT。QP的上述更新具有几个问题。例如,当使用上述方法时,无法为各个颜色分量设定不同的ACT Qp偏移。此外,推导的qP值可以具有负值。因此,在以下实施方式中,描述了对基于颜色分量值的ACT QP偏移值推导的Qp值应用裁剪的方法。
在实施方式中,量化参数qP可以如下推导。
首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式24]
qP=Qp’Y
ActQpOffset=5
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式25]
qP=Qp’CbCr
ActQpOffset=5
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式26]
qP=Qp’Cb
ActQpOffset=3
量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式27]
qP=Max(0,qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式28]
qP=Max(0,Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
在另一实施方式中,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,可以如下式所示使用QpPrimeTsMin的值而非0来对qP进行裁剪。
[式29]
qP=Max(QpPrimeTsMin,qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
此外,在另一实施方式中,量化参数qP可以如下推导。
首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式30]
qP=Qp’Y
ActQpOffset=5
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式31]
qP=Qp’CbCr
ActQpOffset=5
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式32]
qP=Qp’Cb
ActQpOffset=5
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式33]
qP=Qp’Cr
ActQpOffset=3
量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式34]
qP=Max(0,qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式35]
qP=Max(0,Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
在另一实施方式中,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,可以如下式所示使用QpPrimeTsMin的值而非0来对qP进行裁剪。
[式36]
qP=Max(QpPrimeTsMin,qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
此外,在另一实施方式中,量化参数qP可以如下推导。
首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式37]
qP=Qp’Y
ActQpOffset=-5
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式38]
qP=Qp’CbCr
ActQpOffset=-5
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式39]
qP=Qp’Cb
ActQpOffset=-5
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式40]
qP=Qp’Cr
ActQpOffset=-3
量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式41]
qP=Max(0,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式42]
qP=Max(0,Max(QpPrimeTsMin,qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
此外,在另一实施方式中,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,可以如下式所示使用QpPrimeTsMin的值而非0来对qP进行裁剪。
[式43]
qP=Max(QpPrimeTsMin,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
在以上描述中,Y、Cb和Cr可以表示三个颜色分量。例如,在ACT变换中,Y可以对应于C0。Cb可以对应于C1或Cg。另外,Cr可以对应于C2或Co。
另外,三个颜色分量的ACTQpOffset值-5、-5和-3可以替换为其它值或其它变量。
实施方式2:ACT的QP偏移调节的信令
在上述实施方式中,对于Y、Cg和Co分量,ACT QP偏移调节被固定为-5、-5和-3。在本实施方式中,为了向ACT QP调节偏移提供更大的灵活性,将描述用信号通知ACT QP偏移的方法。可以作为参数在PPS中用信号通知ACT QP偏移。
在实施方式中,可以根据图36的语法表用信号通知qp_offset。其语法元素如下。
语法元素pps_act_qp_offsets_present_flag可以指示PPS中是否存在与ACT QP偏移有关的语法元素。例如,pps_act_qp_offsets_present_flag可以指示语法元素pps_act_y_qp_offset、pps_act_cb_qp_offset和pps_act_cr_qp_offset(将稍后描述)是否作为PPS用信号通知。
例如,pps_act_qp_offsets_present_flag的第一值(例如,0)可以指示不通过PPS语法表用信号通知pps_act_y_qp_offset、pps_act_cb_qp_offset和pps_act_cr_qp_offset。
pps_act_qp_offsets_present_flag的第二值(例如,1)可以指示通过PPS语法表用信号通知pps_act_y_qp_offset、pps_act_cb_qp_offset和pps_act_cr_qp_offset。
当未从比特流提供pps_act_qp_offsets_present_flag时,pps_act_qp_offsets_present_flag可以被推导为第一值(例如,0)。例如,当指示是否应用ACT的标志(例如,SPS中用信号通知的sps_act_enabled_flag)具有指示不应用ACT的第一值(例如,0)时,pps_act_qp_offsets_present_flag可以被强制为具有第一值(例如,0)。
当语法元素cu_act_enabled_flag的值是指示针对当前编码基础应用ACT的第二值(例如,1)时,语法元素pps_act_y_qp_offset_plus5、pps_act_cb_qp_offset_plus5s和pps_act_cr_qp_offset_plus3可分别用于确定应用于亮度、Cb和Cr分量的量化参数值qP的偏移。当pps_act_y_qp_offset_plus5、pps_act_cb_qp_offset_plus5和pps_act_cr_qp_offset_plus3的值不存在于比特流中时,各个值可以被设定为0。
根据语法元素,变量PpsActQpOffsetY的值可以被确定为pps_act_y_qp_offset_plus5-5。变量PpsActQpOffsetCb的值可以被确定为pps_act_cb_qp_offset_plus5-5。另外,变量PpsActQpOffsetCr的值可以被确定为pps_act_cb_qp_offset_plus3-3。
本文中,ACT不是正交变换,因此可以应用5、5和3作为要减去的常数偏移值。在实施方式中,对于比特流匹配,PpsActQpOffsetY、PpsActQpOffsetCb和PpsActQpOffsetCr的值可以具有-12至12范围内的值。另外,根据实施方式,除了5、5和3之外,Qp偏移值可以替换为其它常数值并使用。
在另一实施方式中,可以使用更灵活的ACT_QP偏移来调节QP。在以下实施方式中,描述在比特流中用信号通知ACT QP偏移的示例。因此,ACT QP偏移可以具有更宽的偏移范围。因此,使用ACT QP偏移更新的QP更有可能超出可用范围,因此有必要对更新的QP的上限和下限执行裁剪(更详细的实施方式将稍后在实施方式6和实施方式7中描述)。
指示ACT QP偏移的变量PpsActQpOffsetY、PpsActQpOffsetCb、PpsActQpOffsetCr和PpsActQpOffsetCbCr可以是使用通过比特流用信号通知的ACT QP偏移或预设常数推导的值。对于比特流一致性,PpsActQpOffsetY、PpsActQpOffsetCb、PpsActQpOffsetCr和PpsActQpOffsetCbCr可以具有-12至+12范围内的值。
当不使用固定值时,用信号通知QP偏移的值并且其值具有-12至12范围内的值,除了对推导的QP值的下限值进行裁剪以避免具有负值的QP之外,有必要对推导的QP值的上限值进行裁剪。
为了防止qP的值具有负值,qP的最低值可以被强制为0。另选地,qP的最低值可以被设定为由用信号通知的语法元素确定的值。例如,为了在应用变换跳过模式时用信号通知qP的最低值,可以使用指示在应用变换跳过模式时应用的qP的值的语法元素QpPrimeTsMin。qP的最大值可以被限制为根据用信号通知的语法元素确定的最大可用qP值的可用最大值(例如,63)。
在根据上文的实施方式中,量化参数qP可以如下推导。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式44]
qP=Qp’Y
ActQpOffset=PpsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式45]
qP=Qp’CbCr
ActQpOffset=PpsActQpOffsetCbCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式46]
qP=Qp’Cb
ActQpOffset=PpsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式47]
qP=Qp’Cr
ActQpOffset=PpsActQpOffsetCr
在实施方式中,量化参数qP可以如下更新。当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式48]
qP=Clip3(0,63,qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式49]
qP=Clip3(0,63,Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
在另一实施方式中,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,可以如下式所示使用QpPrimeTsMin的值而非0对qP的最低值进行裁剪。
[式50]
量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
qP=Clip3(0,63,qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
qP=Clip3(QpPrimeTsMin,63,qP-cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
在另一实施方式中,量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式51]
qP=Clip3(0,63+QpBdOffset,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式52]
qP=Clip3(0,63+QpBdOffset,Max(QpPrimeTsMin,qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
在另一实施方式中,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,可以如下式所示使用QpPrimeTsMin的值而非0对qP的最低值进行裁剪。
[式53]
量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
qP=Clip3(0,63+QpBdOffset,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
qP=Clip3(QpPrimeTsMin,63+QpBdOffset,qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
实施方式3:当执行色度BDPCM时允许ACT的方法
在实施方式中,当对亮度分量块应用BDPCM时,可以应用ACT以对块进行编码/解码。然而,当对色度分量块应用BDPCM时,ACT被限制为不应用于对块进行编码/解码。
此外,即使当对色度分量块应用BDPCM时,ACT也应用于块,从而改进编码效率。图37示出即使当对色度分量块应用BDPCM时也应用ACT的语法配置的实施方式。如图37所示,通过去除根据指示是否对当前编码基础应用ACT的cu_act_enabled_flag的值获得色度分量的BDPCM语法元素的条件,可以获得其BDPCM语法元素而不管是否对色度分量块应用ACT,并且可以相应地执行BDCPM编码。
实施方式4:即使当利用CCLM执行编码/解码时也应用ACT的方法
CCLM和ACT二者旨在去除分量之间的不必要的交叠。CCLM和ACT之间存在一些交叠部分,但即使在应用所有这些之后,仍无法完全去除分量之间的交叠。因此,通过一起应用CCLM和ACT,可以更多去除分量之间的交叠。
以下实施方式描述了CCLM和ACT一起应用的实施方式。在执行解码时,解码设备可以首先应用CCLM,然后应用ACT。当ACT应用于色度分量的BDPCM和CCLM二者时,用信号通知这一点的语法表可以如图38所示修改。因此,如图38的语法表所示,在对用信号通知与intra_bdpcm_chroma和cclm有关的语法元素的限制当中,可以从语法表去除根据是否未应用ACT而用信号通知语法元素的if(!cu_act_enabled_flag)。
实施方式5:应用包括联合CbCr的灵活ACT Qp的方法
当应用ACT模式时,预测残差可以从一个颜色空间(例如,GBR或YcbCr)变换到YCgCo颜色空间。另外,变换基础的残差可以在YCgCo颜色空间中编码。作为用于颜色空间变换的ACT核心变换(变换内核)的实施方式,可以如上所述使用以下变换内核。
[式54]
[式55]
如上式中所描述的,C0’、C1’和C2’(本文中,C0’=Y,C1’=Cg,C2’=Co)变换未被归一化。例如,L2范数不具有值1。例如,各个分量的变换的L2范数对于C0’和C1’可以具有约0.6的值,对于C2’可以具有约0.7的值。本文中,L2范数是作为各个系数的平方和的平方根而获得的值。例如,可以计算C0’=2/4*C0+1/4*C1+1/4*C2。因此,C0’的范数可以被计算为(2/4*2/4+1/4*1/4+1/4*1/4)的平方根。因此,这可以被计算为6/16的平方根,并且可以被计算为具有约0.6的值。
当不应用归一化变换时,各个分量的动态范围是不规则的。另外,这导致一般视频压缩系统的编码性能降低。
为了补偿残差信号的动态范围,发送用于补偿各个变换分量的动态范围变化的QP偏移值,以使得可以执行QP调节。例如,该实施方式可以应用于用于ACT变换的一般QP调节控制方法以及联合CbCr。
各个颜色分量并非独立地编码,而是一起编码,以使得上面在联合CbCr的实施方式3中描述的方法可能导致各个颜色分量之间的动态范围变化。
在根据实施方式的编码和解码方法中,ACT QP偏移调节可以被固定为-5,这可以同样应用于Y、Cg和Co。
在实施方式中,为了针对各个分量和jointCbCr提供灵活Qp控制,可以允许针对Y、Cb、Cr和/或联合CbCr使用不同的ACT Qp偏移。ACT Qp偏移值可以基于分量索引和/或联合CbCr和/或联合CbCr模式来确定。
为了指示ACT Qp偏移,可以使用ppsActQpOffsetY、ppsActQpOffsetCb和ppsActQpOffsetCr。另外,ppsActQpOffsetCbCr可以用于具有所有Cb和Cr分量均具有非零值的CBF的联合CbCr模式2的ACT QP偏移。这些值(例如,ppsActQpOffsetY、ppsActQpOffsetCb、ppsActQpOffsetCr和ppsActQpOffsetCbCr)可以预定为预定值,或者通过比特流用信号通知。联合CbCr模式的ACT QP偏移可以按另一方法设定或设定为另一值。
在实施方式中,ACT Qp偏移-5、-5和-3可以用于Y、Cb和Cr,并且ACT Qp偏移-4可以用于联合CbCr。
在另一实施方式中,ACT Qp偏移-5、-4和-3可以用于Y、Cb和Cr,并且ACT Qp偏移-3可以用于联合CbCr模式,其中tu_cbf_cb的值不为0。
在另一实施方式中,联合CbCr模式2的ACT QP偏移可具有其自己的偏移值。对于另一联合CbCr模式,ACT QP偏移可以使用对应分量的偏移。例如,量化参数qP可以如下确定。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式56]
qP=Qp’Y
ActQpOffset=ppsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式57]
qP=Qp’CbCr
ActQpOffset=ppsActQpOffsetCbCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式58]
qP=Qp’Cb
ActQpOffset=ppsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式59]
qP=Qp’Cr
ActQpOffset=ppsActQpOffsetCr
在实施方式中,量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式60]
qP=Clip3(0,63+QpBdOffset,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式61]
qP=Clip3(QpPrimeTsMin,63+QpBdOffset,qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
在另一实施方式中,对于tu_cbf_cb!=0的联合CbCr模式(例如,在模式1和模式2的情况下),可以使用ppsActQpOffsetCb来确定联合CbCr的偏移。另选地,对于tu_cbf_cb==0的联合CbCr模式(例如,在模式3的情况下),可以使用ppsActQpOffsetCr来确定联合CbCr的偏移。例如,上述实施方式可以如下修改和应用。
量化参数qP可以如下更新。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式62]
qP=Qp’Y
ActQpOffset=ppsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP可以如下式所示推导。
[式63]
qP=Qp’CbCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式64]
qP=Qp’Cb
ActQpOffset=ppsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式65]
qP=Qp’Cr
ActQpOffset=ppsActQpOffsetCr
当cIdx不具有值0并且TuCResMode[xTbY][yTbY]不具有值0时,可以根据下面的伪码来确定联合CbCr模式的ACT Qp偏移。
[式66]
if(TuCResMode[xTbY][yTbY]不等于1或2)
ActQpOffset=ppsActQpOffsetCb;
else
ActQpOffset=ppsActQpOffsetCr;
在实施方式中,量化参数qP可以如下更新。当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式67]
qP=Clip3(0,63+QpBdOffset,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式68]
qP=Clip3(QpPrimeTsMin,63+QpBdOffset,qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
在另一实施方式中,不管联合CbCr模式如何,当分量索引为Y时使用ppsActQpOffsetY,当分量索引为Cb时使用ppsActQpOffsetCb,当分量索引为Cr时使用ppsActQpOffsetCr,由此可以推导qP。例如,量化参数qP可以如下推导。
首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式69]
qP=Qp’Y
ActQpOffset=ppsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式70]
qP=Qp’CbCr
ActQpOffset=(cIdx==1)?ppsActQpOffsetCb:ppsActQpOffsetCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式71]
qP=Qp’Cb
ActQpOffset=ppsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式72]
qP=Qp’Cr
ActQpOffset=ppsActQpOffsetCr
量化参数qP可以如下更新。
当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,qP可以如下式所示推导。
[式73]
qP=Clip3(0,63+QpBdOffset,qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1时,qP可以如下式所示推导。
[式74]
qP=Clip3(QpPrimeTsMin,63+QpBdOffset,qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
实施方式6:用信号通知包括联合CbCr的ACT Qp偏移的方法
下文中,描述了通过比特流用信号通知ACT QP偏移以提供更多灵活性的示例。可以通过SPS、PPS、画面头、切片头或其它类型的头集合来用信号通知ACT QP偏移。联合CbCr的ACT Qp偏移可以单独地用信号通知,或者可以从Y、Cb和Cr的ACT QP偏移推导。
不失一般性,图39示出在PPS中用信号通知ACT Qp偏移的语法表的示例。如图39的实施方式中,可以针对联合CbCr用信号通知一个ACT Qp偏移。将描述图39的语法表中指示的语法元素。
语法元素pps_act_qp_offsets_present_flag可以指示PPS中是否存在与ACT QP偏移有关的语法元素。例如,pps_act_qp_offsets_present_flag可以指示是否作为PPS用信号通知语法元素pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3和pps_act_cbcr_qp_offset_plusX4(将稍后描述)。
例如,pps_act_qp_offsets_present_flag的第一值(例如,0)可以指示不通过PPS语法表用信号通知pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3和pps_act_cbcr_qp_offset_plusX4。
pps_act_qp_offsets_present_flag的第二值(例如,1)可以指示通过PPS语法表用信号通知pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3和pps_act_cbcr_qp_offset_plusX4。
当未从比特流提供pps_act_qp_offsets_present_flag时,pps_act_qp_offsets_present_flag可以被推导为第一值(例如,0)。例如,当指示是否应用ACT的标志(例如,在SPS中用信号通知的sps_act_enabled_flag)具有指示不应用ACT的第一值(例如,0)时,pps_act_qp_offsets_present_flag可以被强制为具有第一值(例如,0)。
当语法元素cu_act_enabled_flag的值是指示针对当前编码基础应用ACT的第二值(例如,1)时,语法元素pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3和pps_act_cbcr_qp_offset_plusX4可以分别用于确定应用于亮度、Cb、Cr分量和联合CbCr分量的量化参数值qP的偏移。当比特流中不存在pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3和pps_act_cbcr_qp_offset_plusX4的值时,各个值可以被设定为0。
根据语法元素,变量PpsActQpOffsetY、PpsActQpOffsetCb、PpsActQpOffsetCr和PpsActQpOffsetCbCr的值可以如下式所示确定。
[式75]
PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1
PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2
PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3
PpsActQpOffsetCbCr=pps_act_cbcr_qp_offset_plusX4-X4
本文中,X1、X2、X3和X4可以指示预定常数值。这些可以是相同的值或不同的值,或者仅一些可以具有相同的值。
在实施方式中,对于比特流匹配,PpsActQpOffsetY、PpsActQpOffsetCb、PpsActQpOffsetCr和PpsActQpOffsetCbCr的值可被限制为具有-12至12范围内的值。
根据变量的确定,量化参数qP可以如下确定。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式76]
qP=Qp’Y
ActQpOffset=PpsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式77]
qP=Qp’CbCr
ActQpOffset=PpsActQpOffsetCbCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式78]
qP=Qp’Cb
ActQpOffset=PpsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式79]
qP=Qp’Cr
ActQpOffset=PpsActQpOffsetCr
在用信号通知ACT Qp偏移的另一实施方式中,可以针对识别为模式A和模式B的不同联合CbCr模式用信号通知多个ACT QP偏移。
联合CbCr模式A可以指tu_cbf_cb具有非零值的jointCbCr模式,例如上述表2的模式1和模式2。联合CbCr模式B可以指tu_cbf_cb具有值0的jointCbCrmode,例如上述表2的模式3。相应改变的语法表示出于图40中。将描述图40的语法表中指示的语法元素。
当语法元素cu_act_enabled_flag的值是指示针对当前编码基础应用ACT的第二值(例如,1)时,语法元素pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3、pps_act_cbcr_qp_offset_modeA_plusX4和pps_act_cbcr_qp_offset_modeB_plusX5可以分别用于确定应用于亮度、Cb、Cr分量和联合CbCr分量的量化参数值qP的偏移。当比特流中不存在pps_act_y_qp_offset_plusX1、pps_act_cb_qp_offset_plusX2、pps_act_cr_qp_offset_plusX3、pps_act_cbcr_qp_offset_modeA_plusX4和pps_act_cbcr_qp_offset_modeB_plusX5的值时,各个值可以被设定为0。
根据语法元素,变量PpsActQpOffsetY、PpsActQpOffsetCb、PpsActQpOffsetCr、PpsActQpOffsetCbCrModeA和PpsActQpOffsetCbCrModeB的值可以如下式所示确定。
[式80]
PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1
PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2
PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3
PpsActQpOffsetCbCrModeA=pps_act_cbcr_qp_offset_modeA_plusX4-X4
PpsActQpOffsetCbCrModeB=pps_act_cbcr_qp_offset_modeB_plusX5-X5
本文中,X1、X2、X3、X4和X5可以指示预定常数值。这些可以是相同的值或不同的值,或者仅一些可以具有相同的值。在实施方式中,对于比特流匹配,PpsActQpOffsetY、PpsActQpOffsetCb、PpsActQpOffsetCr、PpsActQpOffsetCbCrModeA和PpsActQpOffsetCbCrModeB的值可以被限制为具有-12至12范围内的值。
根据变量的确定,量化参数qP可以如下确定。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式81]
qP=Qp’Y
ActQpOffset=PpsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP可以如下式所示推导。
[式82]
qP=Qp’CbCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式83]
qP=Qp’Cb
ActQpOffset=PpsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式84]
qP=Qp’Cr
ActQpOffset=PpsActQpOffsetCr
另外,当cIdx不具有值0并且TuCResMode[xTbY][yTbY]不具有值0时,ACT Qp偏移可以如下式所示推导。
[式85]
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCbCrModeA:PpsActQpOffsetCbCrModeB
此外,在另一实施方式中,当TuCResMode[xTbY][yTbY]具有值2时,ActQpOffset可以如下式所示推导。
[式86]
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
在用信号通知ACT Qp偏移的另一实施方式中,可以如图41的语法表中仅用信号通知Y、Cb和Cr的ACT QP偏移。可以从PpsActQpOffsetY、PpsActQpOffsetCb和/或PpsActQpOffsetCr推导联合CbCr的ACT QP偏移。
在实施方式中,CbCr的ACT Qp偏移可以被设定为PpsActQpOffsetCb的值。在另一实施方式中,CbCr的ACT Qp偏移在tu_cbf_cb具有非零值的联合CbCr模式的情况下可以被设定为与PpsActQpOffsetCb相同的值,或者在tu_cbf_cb具有值0的联合CbCr模式的情况下可以被设定为与PpsActQpOffsetCr相同的值。另选地,可以反之设定。
图41是示出在PPS中用信号通知ACT Qp偏移的语法表的另一实施方式的视图。根据图41的语法元素的确定,量化参数qP可以如下确定。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式87]
qP=Qp’Y
ActQpOffset=PpsActQpOffsetY
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式88]
qP=Qp’CbCr
ActQpOffset=(cIdx==1)?PpsActQpOffsetCb:PpsActQpOffsetCr
此外,在另一实施方式中,ActQpOffset的值可以如下确定。
[式89]
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCb:PpsActQpOffsetCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式90]
qP=Qp’Cb
ActQpOffset=PpsActQpOffsetCb
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式91]
qP=Qp’Cr
ActQpOffset=PpsActQpOffsetCr
实施方式7:在多个级别用信号通知ACT Qp偏移
在实施方式中,可以在多个级别用信号通知ACT QP偏移。除了如上述实施方式6中在一个级别(例如,PPS)用信号通知ACT QP偏移之外,可以在较低级别(例如,切片头、画面头或适合于Qp控制的其它类型的头)用信号通知ACT QP偏移。
下文中,将描述两个实施方式。图42和图43示出通过切片头和画面头用信号通知ACT QP偏移的示例。这样,可以在多个级别用信号通知ACT QP偏移。
下文中,将描述图42和图43所示的语法元素。语法元素pps_slice_act_qp_offsets_present_flag可以指示切片头中是否存在语法元素slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset(将稍后描述)。
例如,pps_slice_act_qp_offsets_present_flag的第一值(例如,0)可以指示切片头中不存在slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset。
例如,pps_slice_act_qp_offsets_present_flag的第二值(例如,1)可以指示切片头中存在slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset。
语法元素slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset可以分别指示亮度、Cb、Cr分量和联合CbCr分量的量化参数值qP的偏移。slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset的值可以被限制为具有-12至12范围内的值。当比特流中不存在slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset的值时,各个值可以被设定为0。PpsActQpOffsetY+slice_act_y_qp_offset、PpsActQpOffsetCb+slice_act_cb_qp_offset、PpsActQpOffsetCr+slice_act_cr_qp_offset和PpsActQpOffsetCbCr+slice_act_cbcr_qp_offset的值可以被限制为也具有-12至12范围内的值。
可以应用在PPS级别用信号通知联合CbCr的ACT QP偏移的各种修改的实施方式。例如,可以针对联合CbCr用信号通知一个QP偏移,可以针对不同模式的联合CbCr用信号通知多个ACT Qp偏移,或者不用信号通知联合CbCr的ACT Qp偏移,当通过切片头用信号通知时可以应用使用Y、Cb和Cr和/或jointCbCr的模式的ACTQpOffsets来推导这一点的方法。
图44和图45中示出两个修改的实施方式。图44示出在切片头中用信号通知ACT Qp偏移的实施方式。图45示出在切片头中用信号通知ACT Qp偏移的另一实施方式。在图45中,可以仅用信号通知Y、Cb和Cr的ACT Qp偏移,并且联合CbCr的切片级别的ACT QP偏移可以从slice_act_y_qp_offset、slice_act_cb_qp_offset和/或slice_act_cr_qp_offset推导。这可以基于jointCbCr的模式类型来确定。在实施方式中,CbCr的切片级别ACT Qp偏移可以被设定为与slice_act_cb_qp_offset相同的值。在另一实施方式中,在tu_cbf_cb具有非零值的联合CbCr模式的情况下,联合CbCr的切片级别的ACT Qp偏移可以被设定为与slice_act_cb_qp_offset相同的值。另外,在tu_cbf_cb具有值0的jointCbCr模式的情况下,联合CbCr的切片级别的ACT Qp偏移可以被设定为与slice_act_cr_qp_offset相同的值。
此外,在另一实施方式中,可以在切片头或画面头中用信号通知语法元素。为了实现这一点,可以如下执行编码/解码。
-指示画面头或切片头中是否存在ACT Qp偏移的标志pps_picture_slice_act_qp_offsets_present_flag可以在PPS中用信号通知。
-当ACT适用并且pps_picture_slice_act_qp_offsets_present_flag的值为第二值(例如,1)时,指示画面头中是否存在ACT Qp偏移的标志pic_act_qp_offsets_present_flag在画面头中用信号通知。本文中,pic_act_qp_offsets_present_flag的第二值(例如,1)可以指示在画面头中提供与画面头对应的画面的所有切片的ACT Qp偏移。
-pic_act_qp_offsets_present_flag的第一值(例如,0)可以指示在画面头中不提供与画面头对应的画面的所有切片的ACT Qp偏移。例如,当ACT适用并且pps_picture_slice_act_qp_offsets_present_flag的值为第二值(例如,1)并且pic_act_qp_offsets_present_flag的值为第一值(例如,0)时,可以在切片头中提供切片的ACT Qp偏移。
图46是示出用信号通知pps_pic_slice_act_qp_offsets_present_flag的PPS的语法表的视图。语法元素pps_pic_slice_act_qp_offsets_present_flag可以指示是否在画面头和/或切片头中提供ACT Qp偏移。例如,pps_pic_slice_act_qp_offsets_present_flag的第一值(例如,0)可以指示在画面头和切片头中不提供ACT Qp偏移。pps_pic_slice_act_qp_offsets_present_flag的第二值(例如,1)可以指示在画面头或切片头中提供ACTQp偏移。当比特流中未提供pps_pic_slice_act_qp_offsets_present_flag时,pps_pic_slice_act_qp_offsets_present_flag的值可以被确定为第一值(例如,0)。
图47是示出用信号通知ACT Qp偏移的画面头的语法表的视图。语法元素pic_act_qp_offsets_present_flag可以指示是否在画面头中提供ACT Qp偏移。pic_act_qp_offsets_present_flag的第一值(例如,0)可以指示不在画面头中,而是在切片头中提供ACT Qp偏移。pic_act_qp_offsets_present_flag的第二值(例如,1)可以指示在画面头中提供ACT Qp偏移。当比特流中未提供pic_act_qp_offsets_present_flag的值时,该值可以被确定为0。
图48是示出用信号通知ACT Qp偏移的切片头的语法表的视图。在图48的语法表中,语法元素slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset可以指示亮度、Cb和Cr分量的量化参数值qP的偏移。slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset的值可以具有-12至12的范围内的值。另外,PpsActQpOffsetY+slice_act_y_qp_offset、PpsActQpOffsetCb+slice_act_cb_qp_offset和PpsActQpOffsetCr+slice_act_cr_qp_offset的值可以被限制为也具有-12至12的值范围。
此外,在比特流中未提供slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset的值的情况下,当pps_pic_slice_act_qp_offsets_present_flag的值为第一值(例如,0)时,slice_act_y_qp_offset、slice_act_cb_qp_offset和slice_act_cr_qp_offset的值可以被确定为0。另选地,当pps_pic_slice_act_qp_offsets_present_flag的值为第二值(例如,1)时,slice_act_y_qp_offset、slice_act_cb_qp_offset和slice_act_cr_qp_offset的值可以分别被确定为与pps_act_y_qp_offset、pps_act_cb_qp_offset和pps_act_cr_qp_offset相同的值。
此外,当在切片头和画面头二者中存在ACT Qp偏移时,用于推导qP值的最终偏移值可以被确定为通过将PPS中用信号通知的偏移值与切片头或画面头中用信号通知的偏移值相加而获得的值。
更具体地,在实施方式中,量化参数qP可以如下确定。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式92]
qP=Qp’Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式93]
qP=Qp’CbCr
ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式94]
qP=Qp’Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式95]
qP=Qp’Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
在另一实施方式中,当用信号通知联合CbCr的多个ACT Qp偏移时,联合CbCr的ActQpOffset可以如下确定。
首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式96]
qP=Qp’Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP可以如下式所示推导。
[式97]
qP=Qp’CbCr
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式98]
qP=Qp’Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式99]
qP=Qp’Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
另外,当cIdx不具有值0并且TuCResMode[xTbY][yTbY]不具有值0时,ACT Qp偏移可以如下式所示推导。
[式100]
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
在另一实施方式中,当未提供联合CbCr的ACT Qp偏移时,确定Y、Cb和/或Cr分量的qP和ActQpOffset,并且可以使用Y、Cb和/或Cr分量的ACT Qp偏移如下确定联合CbCr的ActQpOffset。例如,在上述实施方式中,当与式97有关的TuCResMode[xTbY][yTbY]具有值2时,qP的计算步骤可以如下改变并执行。
“另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式101]
qP=Qp’CbCr
ActQpOffset=(cIdx==1])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)”
此外,在另一实施方式中,ActQpOffset的值可以如下式中确定。
[式102]
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)
实施方式8:用信号通知多个ACT Qp偏移集的方法
在本实施方式中,将描述使用ACT Qp偏移的列表的方法。为此,可以执行以下处理。
a)可以在参数集(例如,SPS或PPS)内以列表的形式用信号通知ACT Qp偏移的多个集合。列表中的各个集合可以包括Y、Cb、Cr和联合CbCr分量的ACT Qp偏移。为了简单,ACTQp偏移的列表可以在与用信号通知色度Qp偏移的列表的参数集相同的参数集中用信号通知。
b)列表中的ACT Qp偏移的集合数量可以与PPS中用信号通知的色度Qp偏移集的数量相同。
c)作为用于推导各个编码基础的qP的ACT Qp偏移,可以使用属于具有编码基础的色度Qp偏移的索引(例如,cu_chroma_qp_offset_idx)的列表的ACT Qp偏移。
d)作为b)和c)的替代实施方式,可以执行以下操作。
-可以用信号通知列表中的ACT Qp偏移的集合数量。列表中的ACT Qp偏移的集合数量可不同于色度Qp偏移集的数量。
-当ACT适用时,可以用信号通知指示用于编码基础的ACT Qp偏移的索引的索引。
在不脱离上述概念的情况下,用信号通知ACT Qp偏移的列表的语法可以如图49所示使用。例如,当cu_act_enabled_flag具有值1时,pps_act_y_qp_offset、pps_act_cb_qp_offset、pps_act_cr_qp_offset和pps_act_cbcr_qp_offset可以分别用于确定要应用于亮度、Cb、Cr分量和联合CbCr的量化参数值qP的偏移。
当不存在pps_act_y_qp_offset、pps_act_cb_qp_offset、pps_act_cr_qp_offset和pps_act_cbcr_qp_offset的值时,各个值可以被推导为0。
当cu_act_enabled_flag的值为第二值(例如,1)并且cu_chroma_qp_offset_flag的值为第二值(例如,1)时,act_y_qp_offset_list[i]、act_cb_qp_offset_list[i]、act_cr_qp_offset_list[i]和act_cbcr_qp_offset_list[i]可以分别用于确定应用于亮度、Cb、Cr分量和联合CbCr分量的量化参数值qP的偏移。当不存在act_y_qp_offset_list[i]、act_cb_qp_offset_list[i]、act_cr_qp_offset_list[i]和act_cbcr_qp_offset_list[i]的值时,各个值可以被推导为0。
在本实施方式中,量化参数qP可以如下确定。首先,当cIdx具有值0时,qP和ACT Qp偏移可以如下式所示推导。
[式103]
qP=Qp’Y
ActQpOffset=pps_act_y_qp_offset+(cu_chroma_qp_offset_flag)?act_y_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_y_qp_offset另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式104]
qP=Qp’CbCr
ActQpOffset=pps_act_cbcr_qp_offset+(cu_chroma_qp_offset_flag)?act_cbcr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cbcr_qp_offset
另选地,当cIdx具有值1时,qP和ACT Qp偏移可以如下式所示推导。
[式105]
qP=Qp’Cb
ActQpOffset=pps_act_cb_qp_offset+(cu_chroma_qp_offset_flag)?act_cb_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cb_qp_offset
另选地,当cIdx具有值2时,qP和ACT Qp偏移可以如下式所示推导。
[式106]
qP=Qp’Cr
ActQpOffset=pps_act_cr_qp_offset+(cu_chroma_qp_offset_flag)?act_cr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cr_qp_offset
实施方式9:要应用于无损编码和有损编码二者的ACT颜色空间转换方法
颜色空间之间基于上述用于前向转换和后向转换的矩阵的转换可以如下组织。
[表3]
由于在Co和Cg的处理中发生一些值的损失,所以转换无法实现重构到原始状态。例如,当RGB颜色空间的样本值被转换为YCgCo颜色空间的样本值并且所得值被反向转换回RGB颜色空间的样本值时,未完全重构原始样本的值。因此,根据表3的转换无法用于无损编码。有必要改进颜色空间转换算法以使得即使当应用无损编码时在颜色空间转换之后也不会发生样本值的损失。实施方式9和实施方式10描述了能够应用于无损编码以及有损编码的颜色空间转换算法。
在下述实施方式中,描述了使用可逆到适用于有损编码以及无损编码的原始状态的颜色空间转换来执行ACT的方法。该可逆颜色空间转换可以应用于上述编码和解码方法。也可以针对下面的颜色空间转换调节ACT Qp偏移。根据实施方式的颜色空间转换可以如下式所示执行。例如,从GBR颜色空间到YCgCo颜色空间的前向转换可以根据下式执行。
[式107]
Co=R-B;
t=B+(Co>>1);
Cg=G-t;
Y=t+(Cg>>1);
另外,从YCgCo颜色空间到GBR颜色空间的后向转换可以根据下式执行。
[式108]
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
根据上式的YCgCo颜色空间和RGB颜色空间之间的转换可逆到原始状态。即,根据这些式的颜色空间转换支持完美重构。例如,即使在前向转换之后执行后向转换也维持样本值。因此,根据这些式的颜色空间转换可以被称为可逆YCgCo-R颜色转换。本文中,R可以代表可逆,其意指实现向原始状态的重构。可以通过与现有转换相比将Cg和Co的比特深度增加1来提供YCgCo-R转换。如果满足该条件,则可以类似上述转换使用其它类型的可转换。
由于如上式所示的转换具有与上述转换不同的范数值,所以可以调节Y、Cg和Co的ACT Qp偏移以补偿由于颜色空间转换而引起的动态范围变化。
已描述了当应用上述转换时,对于Y、Cg和Co,根据实施方式的QCT Qp偏移可以具有值(-5,-5,-5)。然而,当应用根据本实施方式的可逆转换时,作为根据实施方式的QCT Qp偏移,可以指定不是(-5,-5,-5)的另一值。例如,作为根据实施方式的QCT Qp偏移,可以使用Y、Cg和Co的值(-5,1,3)。
在另一实施方式中,可以如上述实施方式6或实施方式7中通过比特流用信号通知ACT QP偏移。
例如,当上述YCgCo-R转换与(-5,1,3)的ACT QP偏移一起使用时,如下图所示,观察到在有损编码环境(例如,QP 22、27、32、37)中不存在编码损失。另外,观察到当应用ACT时,在实现无损编码时进一步获得5%的编码性能。
[表4]
序列 | Y | U | V |
RGB、TGM 1080p | 0.0% | 0.2% | 0.1% |
RGB、TGM 720p | 0.2% | -0.1% | 0.1% |
RGB、动画 | -0.1% | -0.1% | 0.0% |
RGB、混合内容 | -0.1% | 0.0% | -0.1% |
RGB、相机捕获内容 | -0.3% | 0.2% | -0.3% |
总计(RGB) | 0.0% | 0.0% | 0.0% |
包括集成ACT矩阵的VVC规范可以如下表描述。
[表5]
例如,(nTbW)×(nTbH)大小残差样本阵列rY、rCb和rCr可以如下更新。
[式109]
tmp=rY[x][y]-(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp-(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
实施方式10:基于明确信令执行多个颜色转换的ACT执行方法
在本实施方式中,可以通过ACT执行至少一个颜色转换。要执行哪一颜色转换可以由比特流中用信号通知的标志确定。标志可以在诸如SPS、PPS、画面头和切片的多个级别或者可识别的粒度用信号通知。
在实施方式中,可以用信号通知预定标志以指示应用哪一ACT。例如,当该标志具有值1时,可以应用基于可逆颜色转换的ACT。当该标志具有值0时,可以应用基于不可逆颜色转换的ACT。
在另一实施方式中,可以用信号通知ACT的预定标志以指示使用哪一颜色转换。图50中示出在SPS中用信号通知的语法的示例。将描述图50的语法元素。语法元素sps_act_reversible_conversion可以指示是否使用不可逆到原始状态的转换式。sps_act_reversible_conversion的第一值(例如,0)可以指示ACT使用不可逆到原始状态的转换式。sps_act_reversible_conversion的第二值(例如,1)可以指示ACT使用可逆到原始状态的转换式。
因此,指示是否执行有损编码的变量lossyCoding可以如下式设定。
[式110]
lossyCoding=(!sps_act_reversible_conversion)
通过使用lossyCoding标志,解码装置在解码处理中执行从YcgCo至GBR的后向转换的伪码可以如下表达。
[式111]
If(sps_act_reversible_conversion==1)
{
//YCgCo-R可逆转换
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
}
else{
t=Y-Cg
G=Y+Cg
B=t-Co
R=t+Co
}
因此,实施方式9的表5中所示的VVC规范可以如下表所示修改。
[表6]
根据上表,使用颜色空间转换的残差更新处理可使用以下参数作为本处理的输入。
-变量nTbW,指示块宽度
-变量nTbH,指示块高度
-亮度残差样本的(nTbW)×(nTbH)大小阵列rY,由元素rY[x][y]组成,
-色度残差样本的(nTbW)×(nTbH)大小阵列rCb,由元素rCb[x][y]组成,
-色度残差样本的(nTbW)×(nTbH)大小阵列rCr,由元素rCr[x][y]组成,
本处理的输出如下。
-亮度残差样本的(nTbW)×(nTbH)大小更新阵列rY,
-色度残差样本的(nTbW)×(nTbH)大小更新阵列rCb,
-色度残差样本的(nTbW)×(nTbH)-大小更新阵列rCr,
通过执行本处理,(nTbW)×(nTbH)大小残差样本阵列rY、rCb和rCr可以如下更新。
首先,当sps_act_reversible_conversion的值为第二值(例如,1)时,(nTbW)×(nTbH)大小残差样本阵列rY、rCb和rCr可以如下式所示更新。
[式112]
tmp=rY[x][y]-(rCb[x][y]>>1))
rY[x][y]=tmp+rCb[x][y])
rCb[x][y]=tmp-(rCr[x][y]>>1))
rCr[x][y]=rCb[x][y]+rCr[x][y]
否则(例如,当sps_act_reversible_conversion的值为第一值(例如,0)时),(nTbW)×(nTbH)大小残差样本阵列rY、rCb和rCr可以如下式所示更新。
[式113]
tmp=rY[x][y]-rCb[x][y]
rY[x][y]=rY[x][y]+rCb[x][y]
rCb[x][y]=tmp-rCr[x][y]
rCr[x][y]=tmp+rCr[x][y]
YCgCo后向转换和YCgCo-R后向转换具有一些相似性。在可逆到原始状态的转换中,当Cg和Co被替换为Cg’=Cg<<1和Co’=Co<<1时,这可以作为有损后向转换操作。下式示出其实施方式。
[式114]
t=Y-(Cg’>>1)=Y-Cg
G=Cg’+t=Y+Cg
B=t-(Co’>>1)=t-Co=Y-Cg-Co
R=Co’+B=t+Co=Y-Cg+Co
因此,在替代实施方式中,代替维持两个颜色转换,可以仅使用可逆到原始状态的转换。在有损编码的情况下,Cg和Co分量在编码装置的操作中可以被缩放1/2倍,在解码装置的操作中可以被缩放两倍。这使得即使当支持有损和无损情况时也能够使用一个集成转换。另外,存在即使正在进行有损编码时比特深度也不改变的额外优势。
[表7]
在实施方式中,可以根据图51的语法使用指示使用哪一ACT转换的标志(例如,actShiftFlag)。在图51的语法表中,语法元素sps_act_shift_flag可以指示执行颜色分量移位是否在应用ACT的同时应用。例如,sps_act_shift_flag的第一值(例如,0)可以指示执行颜色分量移位不在应用ACT的同时应用。sps_act_shift_flag的第二值(例如,1)可以指示执行颜色分量移位在应用ACT的同时应用。变量actShiftFlag可以被设定为sps_act_shift_flag的值。在解码装置中实现从YcgCo至GBR的后向转换的伪码可以使用actShiftFlag如下编写。
[表8]
实施方式11:使用转换类型的推导执行多个颜色转换的ACT执行方法
在实施方式中,可以在执行ACT时使用至少一个颜色转换。另外,可以基于比特流的其它信息推导使用哪一颜色转换类型。
在实施方式中,两种类型的ACT转换可为可用的,包括可逆到原始状态的ACT转换和不可逆到原始状态的ACT转换。可以通过转换类型来推导ACT转换类型。例如,如变量tuIsTransformSkip所标识的,当转换类型是转换跳过时,可以使用可逆到原始状态的ACT转换。否则(例如,当转换类型不是转换跳过时),可以使用不可逆到原始状态的ACT转换。可以使用两种类型的伪码。
[表9]
[表10]
在另一实施方式中,可以基于QP值来确定ACT转换类型。当Qp值小于或等于预定阈值(例如,QpPrimeTsMin)时,可以使用可逆到原始状态的ACT转换。否则(例如,当Qp值超过预定阈值时),可以使用不可逆ACT转换。
实施方式12:使用ACT QP偏移的QP推导方法
本实施方式与上述实施方式1和实施方式2有关。在实施方式1和实施方式2中,已经描述了推导的Qp’Y、Qp’CbCr、Qp’Cb和Qp’Cr被包括作为QP。实施方式1和实施方式2中描述的方法使用ACT QP偏移来校正推导的Qp值,并且应用必要的裁剪技术以使得转换系数缩放的校正的QP值不超出有效范围。
本实施方式描述了在用于推导Qp’Y、Qp’CbCr、Qp’Cb和Qp’Cr的QP推导处理中包括ACTQP偏移的方法。QP推导处理已经包括预定裁剪步骤,以使得推导的QP值不超出有效范围。因此,在QP推导处理中包括ACT QP偏移可以避免附加裁剪步骤,简化转换系数缩放处理的总体QP推导步骤,并且确保最终QP不超出有效范围。
如上述实施方式中描述的,ACT QP偏移可以被预先指定为常数,或者可以通过比特流用信号通知。不失一致性,Y、Cb、Cr和CbCr的ACT QP偏移可以在稍后描述的描述中被描述为ppsActQpOffsetY、ppsActQpOffsetCb、ppsActQpOffsetCr和ppsActQpOffsetCbCr。ppsActQpOffsetY、ppsActQpOffsetCb、ppsActQpOffsetCr和ppsActQpOffsetCbCr可以是常数或值在-M至N的范围内的变量。本文中,在实施方式中,M和N中的每一个在有损编码的情况下可以被设定为12,在无损编码的情况下可以被设定为0。另外,至少一个ACT QP偏移可以从另一ACT QP偏移值推导。例如,ppsActQpOffsetCbCr可以基于jointCbCr模式被设定为与ppsActQpOffsetCb或ppsActQpOffsetCr相同的值。
可以如下所述执行使用ACT QP偏移的QP推导的解码处理。首先,在量化参数推导处理的情况下,以下参数可以用于本处理。
-亮度坐标(xCb,yCb),相对于当前画面的左上亮度样本指示当前编码块的左上亮度样本的相对坐标,
-变量cbWidth,基于每亮度样本指示当前编码块的宽度,
-变量cbHeight,基于每亮度样本指示当前编码块的高度
-变量treeType,指示使用单树(SINGLE_TREE)还是双树来分割当前编码树节点,并且当使用双树时,指示双树是亮度分量双树(DAUL_TREE_LUMA)还是色度分量双树(DAUL_TREE_CHROMA)。
在本量化参数推导处理中,可以推导亮度量化参数Qp’Y和色度量化参数Qp’Cb、Qp’Cr和Qp’CbCr。
此后,变量QpY可以如下式所示推导。
[式115]
QpY=((qPY_PRED+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-
QpBdOffset
亮度量化参数Qp'Y可以如下式所示推导。
[式116]
actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0
Qp’Y=QpY+QpBdOffset+actQpOffsetY
Qp’Y=Clip3(0,63+QpBdOffset,Qp’Y)
当指示色度阵列的类型的变量ChromaArrayType的值不是第一值(例如,0)并且treeType是SINGLE_TREE或DUAL_TREE_CHROMA时,可以执行以下处理。
-当treeType的值为DUAL_TREE_CHROMA时,变量QpY的值可以被设定为与覆盖亮度样本位置(xCb+cbWidth/2,yCb+cbHeight/2)的亮度编码基础的亮度量化参数QpY的值相同的值。
-变量qPCb、qPCr和qPCbCr可以如下式所示推导。
[式117]
qPChroma=Clip3(-QpBdOffset,63,QpY)
qPCb=ChromaQpTable[0][qPChroma]
qPCr=ChromaQpTable[1][qPChroma]
qPCbCr=ChromaQpTable[2][qPChroma]
-Cb和Cr分量的色度量化参数Qp’Cb和Qp’Cr以及联合Cb-Cr编码的色度量化参数Qp’CbCr可以如下式所示推导。
[式118]
actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCb:0
actQpOffsetCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCr:0
actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr:0
Qp’Cb=Clip3(-QpBdOffset,63,qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb+actQpOffsetCb)+QpBdOffset
Qp’Cr=Clip3(-QpBdOffset,63,qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr+actQpOffsetCr)+QpBdOffset
Qp’CbCr=Clip3(-QpBdOffset,63,qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr+actQpOffsetCbCr)+QpBdOffset
接下来,可以执行变换系数的解量化处理,并且以下信息可以用作本处理的输入。
-亮度坐标(xTbY,yTbY),是指相对于当前画面的左上亮度样本的当前亮度变换块的左上样本的相对坐标,
-变量nTbW,指示变换块的宽度,
-变量nTbH,指示变换块的高度,
-变量predMode,指示编码基础的预测模式,
-变量cIdx,指示当前块的颜色分量
变换系数的解量化处理的输出可以是缩放变换系数的阵列d。本文中,阵列d的大小可为(nTbW)×(nTbH)。构成这的各个元素可以被标识为d[x][y]。
在执行本处理时,量化参数qP可以如下推导。当cIdx具有值0时,qP可以如下式所示推导。
[式119]
qP=Qp’Y
另选地,当TuCResMode[xTbY][yTbY]具有值2时,qP可以如下式所示推导。
[式120]
qP=Qp’CbCr
另选地,当cIdx具有值1时,qP可以如下式所示推导。
[式121]
qP=Qp’Cb
另选地,当cIdx具有值2时,qP可以如下式所示推导。
[式122]
qP=Qp’Cr
量化参数qP可以如下更新。另外,变量rectNonTsFlag和bdShift可以如下推导。当transform_skip_flag[xTbY][yTbY][cIdx]具有值0时,变量可以如下式所示推导。
[式123]
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1)?1:0
bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag
另选地,当transform_skip_flag[xTbY][yTbY][cIdx]具有值1(例如,当前变换块的变换被跳过)时,参数和变量可以如下式所示推导。
[式124]
qP=Max(QpPrimeTsMin,qP)
rectNonTsFlag=0
bdShift=10
编码方法和解码方法
下文中,将参照图52和图53描述由图像编码装置执行的图像编码方法和由图像解码装置执行的图像解码方法。
首先,将描述解码装置的操作。根据实施方式的图像解码装置可以包括存储器和处理器。解码装置可以根据处理器的操作执行解码。例如,如图52所示,在步骤S5210中,解码装置可以基于是否对当前块的残差样本应用颜色空间转换来确定当前块的量化参数。本文中,颜色空间转换可以是上述ACT。本文中,量化参数的确定可以通过对量化参数执行裁剪,使得量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值来执行。本文中,量化参数的预定下限值可为0。另外,量化参数的预定上限值可以基于指示样本的比特深度的语法元素来确定。
量化参数的确定可以包括:基于当前块的颜色分量来确定量化参数;基于当前块的颜色分量来确定量化参数偏移;以及使用量化参数偏移来重置量化参数。
使用量化参数偏移重置量化参数可以通过将量化参数偏移与量化参数相加来执行。本文中,当对当前块的残差样本应用颜色空间转换并且当前块的颜色分量是亮度分量时,量化参数偏移的值可以被确定为-5。
另外,当对当前块的残差样本应用颜色空间转换并且当前块的颜色分量是色度Cb分量时,量化参数偏移的值可以被确定为1。当对当前块的残差样本应用颜色空间转换并且当前块的颜色分量是色度Cr分量时,量化参数偏移的值可以被确定为3。
接下来,在步骤S5220中,解码装置可以基于量化参数确定当前块的变换系数。接下来,在步骤S5230中,解码装置可以使用变换系数来确定当前块的残差样本。接下来,在步骤S5240中,解码装置可以基于是否应用颜色空间转换来重置残差样本的值。
本文中,可以基于亮度分量残差样本值和色度残差样本值的半值来执行残差样本的值的重置。例如,可以通过对色度残差样本值执行移位操作来获得色度残差样本值的半值。另外,色度Cb分量残差样本值的半值可以与亮度分量残差样本值相加,以重置亮度分量残差样本值。另外,从亮度分量残差样本值减去色度Cb分量残差样本值的半值和色度Cr分量残差样本值的半值以重置色度Cb分量残差样本值。
下文中,将描述编码装置的操作。根据实施方式的图像编码装置可以包括存储器和处理器。编码装置可以按照与解码装置的解码对应的方式根据处理器的操作执行编码。例如,如图53所示,在步骤S5310中,编码装置可以基于是否应用颜色空间转换来重置残差样本。本文中,颜色空间转换可以是上述ACT。
此外,可以基于亮度分量残差样本值和色度残差样本值的半值来执行残差样本的值的重置。例如,可以通过对色度残差样本值执行移位操作来获得色度残差样本值的半值。另外,通过由上述解码装置反过来执行重置操作,编码装置可以重置亮度分量残差样本值、色度Cb分量残差样本值和色度Cr分量残差样本值。
接下来,在步骤S5320中,编码装置可以使用重置的残差样本来确定变换系数。接下来,在步骤S5330中,编码装置可以基于是否应用颜色空间转换来确定量化参数。本文中,量化参数的确定可以通过对量化参数执行裁剪,使得量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值来执行。本文中,量化参数的预定下限值可为0。另外,量化参数的预定上限值可以基于指示样本的比特深度的语法元素来确定。
量化参数的确定可以包括:基于当前块的颜色分量来确定量化参数;基于当前块的颜色分量来确定量化参数偏移;以及使用量化参数偏移来重置量化参数。
使用量化参数偏移重置量化参数可以通过将量化参数偏移与量化参数相加来执行。本文中,当对当前块的残差样本应用颜色空间转换并且当前块的颜色分量是亮度分量时,量化参数偏移的值可以被确定为-5。
另外,当对当前块的残差样本应用颜色空间转换并且当前块的颜色分量是色度Cb分量时,量化参数偏移的值可以被确定为1。当对当前块的残差样本应用颜色空间转换并且当前块的颜色分量是色度Cr分量时,量化参数偏移的值可以被确定为3。
接下来,在步骤S5340中,编码装置可以基于量化参数对变换系数进行编码。
应用实施方式
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。
图54是示出可应用本公开的实施方式的内容流系统的视图。
如图54中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、石板PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以被用于对图像进行编码或解码。
Claims (15)
1.一种由图像解码装置执行的图像解码方法,该图像解码方法包括以下步骤:
基于当前块的残差样本的颜色空间转换来确定所述当前块的量化参数;
基于所述量化参数来确定所述当前块的变换系数;
基于所述变换系数来确定所述当前块的所述残差样本;以及
基于应用所述颜色空间转换,重置所述残差样本的值,
其中,确定所述量化参数的步骤是基于对所述量化参数裁剪以使得所述量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值来执行的。
2.根据权利要求1所述的图像解码方法,其中,所述量化参数的所述预定下限值为0。
3.根据权利要求1所述的图像解码方法,其中,所述量化参数的所述预定上限值是基于指示样本的比特深度的语法元素来确定的。
4.根据权利要求1所述的图像解码方法,其中,确定所述量化参数的步骤包括:
基于所述当前块的颜色分量来确定所述量化参数;
基于所述当前块的所述颜色分量来确定量化参数偏移;以及
基于所述量化参数偏移来重置所述量化参数。
5.根据权利要求4所述的图像解码方法,其中,基于所述量化参数偏移来重置所述量化参数的步骤是通过将所述量化参数偏移与所述量化参数相加来执行的。
6.根据权利要求5所述的图像解码方法,其中,基于针对所述当前块的所述残差样本的所述颜色空间转换并且所述当前块的所述颜色分量是亮度分量,所述量化参数偏移的值被确定为-5。
7.根据权利要求5所述的图像解码方法,其中,基于针对所述当前块的所述残差样本的所述颜色空间转换并且所述当前块的所述颜色分量是色度Cb分量,所述量化参数偏移的值被确定为1。
8.根据权利要求5所述的图像解码方法,其中,基于针对所述当前块的所述残差样本的所述颜色空间转换并且所述当前块的所述颜色分量是色度Cr分量,所述量化参数偏移的值被确定为3。
9.根据权利要求1所述的图像解码方法,其中,重置所述残差样本的所述值的步骤是基于亮度分量残差样本值和色度残差样本值的半值来执行的。
10.根据权利要求9所述的图像解码方法,其中,所述色度残差样本值的所述半值是通过对所述色度残差样本值执行移位操作来获得的。
11.根据权利要求9所述的图像解码方法,其中,将色度Cb分量残差样本值的半值与所述亮度分量残差样本值相加以重置所述亮度分量残差样本值。
12.根据权利要求9所述的图像解码方法,其中,从所述亮度分量残差样本值减去色度Cb分量残差样本值的半值和色度Cr分量残差样本值的半值以重置所述色度Cb分量残差样本值。
13.一种图像解码装置,该图像解码装置包括存储器和至少一个处理器,
其中,所述至少一个处理器被配置为:
基于当前块的残差样本的颜色空间转换来确定所述当前块的量化参数,
基于所述量化参数来确定所述当前块的变换系数,
基于所述变换系数来确定所述当前块的所述残差样本,
基于应用所述颜色空间转换,重置所述残差样本的值,并且
其中,所述处理器被配置为对所述量化参数执行裁剪,使得所述量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值。
14.一种由图像编码装置执行的图像编码方法,该图像编码方法包括以下步骤:
基于应用颜色空间转换,重置残差样本;
基于所重置的残差样本来确定变换系数;
基于应用所述颜色空间转换,确定量化参数;以及
基于所述量化参数对所述变换系数进行编码,
其中,确定所述量化参数的步骤是通过对所述量化参数执行裁剪以使得所述量化参数的值具有小于或等于预定上限值且大于或等于预定下限值的值来执行的。
15.一种用于发送通过根据权利要求14所述的图像编码方法生成的比特流的方法。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962927111P | 2019-10-28 | 2019-10-28 | |
US62/927,111 | 2019-10-28 | ||
US201962931785P | 2019-11-06 | 2019-11-06 | |
US62/931,785 | 2019-11-06 | ||
US201962939532P | 2019-11-22 | 2019-11-22 | |
US62/939,532 | 2019-11-22 | ||
US202062957127P | 2020-01-04 | 2020-01-04 | |
US62/957,127 | 2020-01-04 | ||
PCT/KR2020/014844 WO2021086020A1 (ko) | 2019-10-28 | 2020-10-28 | 색공간 변환을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114902669A true CN114902669A (zh) | 2022-08-12 |
Family
ID=75715417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080090629.3A Pending CN114902669A (zh) | 2019-10-28 | 2020-10-28 | 使用颜色空间转换对图像编码/解码的方法和装置及发送比特流的方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11606558B2 (zh) |
EP (1) | EP4054189A4 (zh) |
JP (2) | JP7434545B2 (zh) |
KR (1) | KR20220070012A (zh) |
CN (1) | CN114902669A (zh) |
MX (1) | MX2022005099A (zh) |
WO (1) | WO2021086020A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021121418A1 (en) | 2019-12-19 | 2021-06-24 | Beijing Bytedance Network Technology Co., Ltd. | Joint use of adaptive colour transform and differential coding of video |
JP7436680B2 (ja) | 2020-01-05 | 2024-02-22 | 北京字節跳動網絡技術有限公司 | 映像コーディングのための一般制約情報 |
JP2023510535A (ja) * | 2020-01-10 | 2023-03-14 | サムスン エレクトロニクス カンパニー リミテッド | 量子化パラメータを獲得するためのビデオ復号方法及びその装置、量子化パラメータを伝送するためのビデオ符号化方法及びその装置 |
CN115176470A (zh) | 2020-01-18 | 2022-10-11 | 抖音视界有限公司 | 图像/视频编解码中的自适应颜色变换 |
US12034910B2 (en) * | 2020-06-18 | 2024-07-09 | Lg Electronics Inc. | Image encoding/decoding method and apparatus for signaling high level information for tool control based on color representation format, and computer-readable recording medium storing bitstream |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11070810B2 (en) * | 2014-03-14 | 2021-07-20 | Qualcomm Incorporated | Modifying bit depths in color-space transform coding |
US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
US20150373327A1 (en) * | 2014-06-20 | 2015-12-24 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
CN107113431B (zh) * | 2014-10-03 | 2020-12-01 | 日本电气株式会社 | 视频编码设备、视频解码设备、视频编码方法、视频解码方法和程序 |
US10057578B2 (en) | 2014-10-07 | 2018-08-21 | Qualcomm Incorporated | QP derivation and offset for adaptive color transform in video coding |
US10097842B2 (en) * | 2015-09-18 | 2018-10-09 | Qualcomm Incorporated | Restriction of escape pixel signaled values in palette mode video coding |
US20170280139A1 (en) * | 2016-03-22 | 2017-09-28 | Qualcomm Incorporated | Apparatus and methods for adaptive calculation of quantization parameters in display stream compression |
JP7016660B2 (ja) * | 2017-10-05 | 2022-02-07 | キヤノン株式会社 | 符号化装置、その制御方法、および制御プログラム、並びに撮像装置 |
KR102612765B1 (ko) * | 2019-06-28 | 2023-12-13 | 바이트댄스 아이엔씨 | 변환 스킵 모드에서 양자화 파라미터를 수정하는 기술 |
-
2020
- 2020-10-28 CN CN202080090629.3A patent/CN114902669A/zh active Pending
- 2020-10-28 MX MX2022005099A patent/MX2022005099A/es unknown
- 2020-10-28 WO PCT/KR2020/014844 patent/WO2021086020A1/ko unknown
- 2020-10-28 JP JP2022525280A patent/JP7434545B2/ja active Active
- 2020-10-28 EP EP20882294.0A patent/EP4054189A4/en active Pending
- 2020-10-28 KR KR1020227014034A patent/KR20220070012A/ko not_active Application Discontinuation
-
2022
- 2022-04-27 US US17/731,031 patent/US11606558B2/en active Active
-
2023
- 2023-01-12 US US18/096,414 patent/US11876967B2/en active Active
- 2023-11-30 US US18/525,067 patent/US20240121391A1/en active Pending
-
2024
- 2024-02-07 JP JP2024016864A patent/JP2024050835A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4054189A1 (en) | 2022-09-07 |
US11876967B2 (en) | 2024-01-16 |
KR20220070012A (ko) | 2022-05-27 |
US20240121391A1 (en) | 2024-04-11 |
MX2022005099A (es) | 2022-08-15 |
EP4054189A4 (en) | 2023-11-22 |
WO2021086020A1 (ko) | 2021-05-06 |
US20220337836A1 (en) | 2022-10-20 |
JP2023500644A (ja) | 2023-01-10 |
JP7434545B2 (ja) | 2024-02-20 |
JP2024050835A (ja) | 2024-04-10 |
US20230171404A1 (en) | 2023-06-01 |
US11606558B2 (en) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11575919B2 (en) | Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream | |
US11876967B2 (en) | Method and device for encoding/decoding image using color space conversion, and method for transmitting bitstream | |
US11677946B2 (en) | Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream | |
US11652999B2 (en) | Image encoding/decoding method and apparatus using adaptive transform, and method for transmitting bitstream | |
KR20220024117A (ko) | 크로마 양자화 파라미터 (qp) 맵핑 테이블들의 시그널링 | |
US12101481B2 (en) | Image encoding/decoding method and device, and method for transmitting bitstream | |
US12034931B2 (en) | Image encoding/decoding method and apparatus performing residual processing by using adaptive color space transformation, and method for transmitting bitstream | |
CN114930821A (zh) | 视频编解码中的自适应色彩变换的qp偏移的灵活信令通知 | |
US20220312014A1 (en) | Image encoding/decoding method and apparatus for performing residual processing using adaptive transformation, and method of transmitting bitstream | |
CN114402599A (zh) | 用于视频编解码的高级语法中的子图片的信令号 | |
US20240364882A1 (en) | Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream | |
CN114731442B (zh) | 使用加权预测的图像编码/解码方法和装置以及发送比特流的方法 | |
CN114731435A (zh) | 用信号通知用于对应用bdpcm的块进行编码的残差编码方法的图像编码/解码方法和设备及发送比特流的方法 |
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 |