CN113508589A - 视频译码中的组合残差译码 - Google Patents

视频译码中的组合残差译码 Download PDF

Info

Publication number
CN113508589A
CN113508589A CN202080017838.5A CN202080017838A CN113508589A CN 113508589 A CN113508589 A CN 113508589A CN 202080017838 A CN202080017838 A CN 202080017838A CN 113508589 A CN113508589 A CN 113508589A
Authority
CN
China
Prior art keywords
residual data
data
inverse
residual
chroma 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
Application number
CN202080017838.5A
Other languages
English (en)
Inventor
G.范德奥韦拉
B.雷
A.K.拉马苏布拉莫尼安
M.Z.科班
L.法姆范
M.卡尔切维茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN113508589A publication Critical patent/CN113508589A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks

Landscapes

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

Abstract

一种用于译码视频数据的设备包括处理器,该处理器被配置为:产生视频数据的当前块的帧间预测块和帧内预测块;对于要产生的预测块的每个样本:根据样本在预测块中的位置确定样本的第一权重;根据样本在预测块中的位置确定样本的第二权重;将第一权重应用于帧间预测块中该位置处的样本以产生加权的帧间预测样本;将第二权重应用于帧内预测块中该位置处的样本以产生加权的帧内预测样本;以及使用加权的帧间预测样本和加权的帧内预测样本计算预测块中该位置处的样本的值;以及使用预测块对当前块进行译码。

Description

视频译码中的组合残差译码
本申请要求于2020年3月5日提交的美国专利申请第16/810,680号、于2019年3月8日提交的美国临时专利申请第62/815,936号和于2019年6月25日提交的美国临时专利申请第62/866,450号的权益,这些专利申请中的每一者的全部内容以引用方式并入。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频能力可以被结合到各种设备中,该设备包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字录音设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、所谓的“智能手机”、视频电话会议设备、视频流设备等。数字视频设备实施视频译码技术,诸如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、ITU-T H.265/高效视频译码(HEVC)定义的标准以及此类标准的扩展中描述的那些技术。通过实施此类视频译码技术,视频设备可以更高效地发送、接收数字视频信息、对数字视频信息进行编码、解码和/或存储数字视频信息。
视频译码技术包括空间(帧内图片)预测和/或时间(帧间图片)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,视频切片(例如,视频图片或视频图片的一部分)可以被分割为视频块,该视频块也可以被称为译码树单元(CTU)、译码单元(CU)和/或译码节点。图片的帧内译码(I)切片中的视频块使用空间预测相对于同一图片中的邻近块中的参考样本进行编码。图片的帧间译码(P或B)切片中的视频块可以使用关于同一图片中的邻近块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可以被称为帧,而参考图片可以被称为参考帧。
发明内容
通常,本公开描述了用于视频译码中的组合残差译码的技术。如本文所描述,视频编码器和视频解码器可执行组合残差译码以对视频数据的块进行编码和解码。为了执行组合残差译码,视频编码器可将第一残差修改函数应用于块的Cb残差数据,并且将第二残差修改函数应用于块的Cr残差数据。第一残差修改函数基于块的原始Cb残差数据和块的Cr残差数据两者修改块的Cb残差数据。类似地,第二残差修改函数基于块的原始Cr残差数据和块的Cb残差数据两者修改块的Cr残差数据。视频解码器将反向残差修改函数应用于块的解码后的Cb和Cr残差数据。通过应用残差修改函数,视频编码器可能能够使用较低值表示Cb和Cr色度残差数据。较低值通常可使用较少位来编码。因此,应用残差修改函数可导致更高的译码效率(例如,更大的压缩)。
在一个示例中,本公开描述了一种对视频数据进行解码的方法,该方法包括:通过应用反向变换将该视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据;通过应用该反向变换将该块的第二组变换系数从该变换域转换到该样本域而产生第二解码后的经修改色度残差数据;在产生该第一解码后的经修改色度残差数据之后,将第一反向残差修改函数应用于该第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;在产生该第二解码后的经修改色度残差数据之后,将第二反向残差修改函数应用于该第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中该第一解码后的经修改色度残差数据与第一色度分量相关联,并且该第二解码后的经修改色度残差数据与第二色度分量相关联;以及基于该第一经反向修改色度残差数据和该第二经反向修改色度残差数据重构该视频数据的块。
在另一个示例中,本公开描述了一种对视频数据进行编码的方法,该方法包括:将第一残差修改函数应用于该视频数据的块的第一色度残差数据以产生第一经修改色度残差数据;对该第一经修改色度残差数据进行编码,其中对该第一经修改色度残差数据进行编码包括在将该第一残差修改函数应用于该第一色度残差数据之后,将前向变换应用于该第一经修改色度残差数据以将该第一经修改色度残差数据从样本域转换到变换域;将第二残差修改函数应用于该块的第二色度残差数据以产生第二经修改色度残差数据;以及对该第二经修改色度残差数据进行编码,其中:该第一色度残差数据与第一色度分量相关联,并且该第二色度残差数据与第二色度分量相关联,并且对该第二经修改色度残差数据进行编码包括在将该第二残差修改函数应用于该第二色度残差数据之后,将该前向变换应用于该第二经修改色度残差数据以将该第二经修改色度残差数据从该样本域转换到该变换域。
在另一个示例中,本公开描述了一种用于对视频数据进行解码的设备,该设备包括:存储器,该存储器用于存储该视频数据;以及实施于电路中的一个或多个处理器,该一个或多个处理器被配置为:通过应用反向变换将该视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据;通过应用该反向变换将该块的第二组变换系数从该变换域转换到该样本域而产生第二解码后的经修改色度残差数据;在产生该第一解码后的经修改色度残差数据之后,将第一反向残差修改函数应用于该第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;在产生该第二解码后的经修改色度残差数据之后,将第二反向残差修改函数应用于该第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中该第一解码后的经修改色度残差数据与第一色度分量相关联,并且该第二解码后的经修改色度残差数据与第二色度分量相关联;以及基于该第一经反向修改色度残差数据和该第二经反向修改色度残差数据重构该视频数据的块。
在另一个示例中,本公开描述了一种用于对视频数据进行编码的设备,该设备包括:存储器,该存储器用于存储该视频数据;以及实施于电路中的一个或多个处理器,该一个或多个处理器被配置为:将第一残差修改函数应用于该视频数据的块的第一色度残差数据以产生第一经修改色度残差数据;对该第一经修改色度残差数据进行编码,其中该一个或多个处理器被配置为使得作为对该第一经修改色度残差数据进行编码的一部分,该一个或多个处理器在将该第一残差修改函数应用于该第一色度残差数据之后将前向变换应用于该第一经修改色度残差数据以将该第一经修改色度残差数据从样本域转换到变换域;将第二残差修改函数应用于该块的第二色度残差数据以产生第二经修改色度残差数据;以及对该第二经修改色度残差数据进行编码,其中:该第一色度残差数据与第一色度分量相关联,并且该第二色度残差数据与第二色度分量相关联,并且该一个或多个处理器被配置为使得作为对该第二经修改色度残差数据进行编码的一部分,该一个或多个处理器在将该第二残差修改函数应用于该第二色度残差数据之后将该前向变换应用于该第二经修改色度残差数据,以将该第二经修改色度残差数据从该样本域转换到该变换域。
在另一个示例中,本公开描述了一种用于对视频数据进行解码的设备,该设备包括:用于通过应用反向变换将该视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据的部件;用于通过应用该反向变换将该块的第二组变换系数从该变换域转换到该样本域而产生第二解码后的经修改色度残差数据的部件;用于在产生该第一解码后的经修改色度残差数据之后将第一反向残差修改函数应用于该第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据的部件;用于在产生该第二解码后的经修改色度残差数据之后将第二反向残差修改函数应用于该第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据的部件,其中该第一解码后的经修改色度残差数据与第一色度分量相关联,并且该第二解码后的经修改色度残差数据与第二色度分量相关联;以及用于基于该第一经反向修改色度残差数据和该第二经反向修改色度残差数据重构该视频数据的块的部件。
在另一个示例中,本公开描述了一种用于对视频数据进行编码的设备,该设备包括:用于将第一残差修改函数应用于该视频数据的块的第一色度残差数据以产生第一经修改色度残差数据的部件;用于对该第一经修改色度残差数据进行编码的部件,其中对该第一经修改色度残差数据进行编码包括用于在将该第一残差修改函数应用于该第一色度残差数据之后将前向变换应用于该第一经修改色度残差数据以将该第一经修改色度残差数据从样本域转换到变换域的部件;用于将第二残差修改函数应用于该块的第二色度残差数据以产生第二经修改色度残差数据的部件;以及用于对该第二经修改色度残差数据进行编码的部件,其中:该第一色度残差数据与第一色度分量相关联,并且该第二色度残差数据与第二色度分量相关联,并且用于对该第二经修改色度残差数据进行编码的部件包括用于在将该第二残差修改函数应用于该第二色度残差数据之后将该前向变换应用于该第二经修改色度残差数据以将该第二经修改色度残差数据从该样本域转换到该变换域的部件。
在另一个示例中,本公开描述了一种其上存储有指令的计算机可读存储介质,该指令在执行时使一个或多个处理器:通过应用反向变换将视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据;通过应用该反向变换将该块的第二组变换系数从该变换域转换到该样本域而产生第二解码后的经修改色度残差数据;在产生该第一解码后的经修改色度残差数据之后,将第一反向残差修改函数应用于该第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;在产生该第二解码后的经修改色度残差数据之后,将第二反向残差修改函数应用于该第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中该第一解码后的经修改色度残差数据与第一色度分量相关联,并且该第二解码后的经修改色度残差数据与第二色度分量相关联;以及基于该第一经反向修改色度残差数据和该第二经反向修改色度残差数据重构该视频数据的块。
在另一个示例中,本公开描述了一种其上存储有指令的计算机可读存储介质,该指令在执行时使一个或多个处理器:将第一残差修改函数应用于视频数据的块的第一色度残差数据以产生第一经修改色度残差数据;对该第一经修改色度残差数据进行编码,其中作为使该一个或多个处理器对该第一经修改色度残差数据进行编码的一部分,该指令的执行使该一个或多个处理器在将该第一残差修改函数应用于该第一色度残差数据之后将前向变换应用于该第一经修改色度残差数据,以将该第一经修改色度残差数据从样本域转换到变换域;将第二残差修改函数应用于该块的第二色度残差数据以产生第二经修改色度残差数据;以及对该第二经修改色度残差数据进行编码,其中:该第一色度残差数据与第一色度分量相关联,并且该第二色度残差数据与第二色度分量相关联,并且作为使该一个或多个处理器对该第二经修改色度残差数据进行编码的一部分,该指令的执行使该一个或多个处理器在将该第二残差修改函数应用于该第二色度残差数据之后将该前向变换应用于该第二经修改色度残差数据,以将该第二经修改色度残差数据从该样本域转换到该变换域。
在附图及下文描述中陈述一或多个示例的细节。从描述、附图和权利要求书,其它特征、对象和优点将显而易见。
附图说明
图1是示出可执行本公开的技术的示例性视频编码和解码系统的框图。
图2是示出利用回路内亮度重整形器(reshaper)进行帧内切片重构的示例的框图。
图3是示出利用回路内亮度重整形器进行帧间切片重构的示例的框图。
图4是示出利用色度残差缩放进行帧内模式和帧间模式重构的示例的框图。
图5A和5B是示出示例性四分树二元树(QTBT)结构和对应的译码树单元(CTU)的概念图。
图6是示出可以执行本公开的技术的示例性视频编码器的框图。
图7是示出可以执行本公开的技术的示例性视频解码器的框图。
图8是示出用于对当前块进行编码的示例性方法的流程图。
图9是示出用于对视频数据的当前块进行解码的示例性方法的流程图。
图10是示出根据本公开的一种或多种技术的视频编码器的示例性操作的流程图。
图11是示出根据本公开的一种或多种技术的视频解码器的示例性操作的流程图。
具体实施方式
视频数据通常表示在YCbCr彩色空间中。即,图像的每一像素可由亮度Y分量和两个色度分量(Cb和Cr)表示。在YCbCr彩色空间中表示视频数据可减少红绿蓝(RGB)彩色空间中固有的冗余。然而,Cb值与Cr值之间可保持明显相关性。减少该相关性可实现更好的译码效率。
本公开描述可减少跨分量相关性的技术,其可改善译码效率。如本文所描述,视频编码器可将残差修改函数(RMF)应用于残差色度数据。视频解码器可将反向RMF应用于解码后的残差色度数据。反向RMF可至少部分地反转由视频编码器应用的RMF的效果。如本文中所描述,应用于色度分量的残差色度数据的RMF可使用该色度分量和其它色度分量的残差色度数据。因此,仍针对单一块的不同色度分量对两组经修改色度残差数据进行编码,但是视频编码器根据彼此的情况而修改色度分量的色度残差数据。应用此类RMF可改善译码效率。例如,应用此类RMF可减少对视频数据进行编码所需的位的数量,因为应用此类RMF可减小色度残差数据的值。
在一个示例中,视频编码器可将第一残差修改函数应用于该视频数据的块的第一色度残差数据以产生第一经修改色度残差数据。视频编码器还可对第一经修改色度残差数据进行编码。作为对第一经修改色度残差数据进行编码的一部分,视频编码器可在将第一残差修改函数应用于第一色度残差数据之后将前向变换应用于第一经修改色度残差数据以将第一经修改色度残差数据从样本域转换到变换域。另外,视频编码器可将第二残差修改函数应用于块的第二色度残差数据以产生第二经修改色度残差数据。视频编码器还可对第二经修改色度残差数据进行编码。该第一色度残差数据与第一色度分量相关联,并且该第二色度残差数据与第二色度分量相关联。作为对第二经修改色度残差数据进行编码的一部分,视频编码器可在将第二残差修改函数应用于第二色度残差数据之后将该前向变换应用于第二经修改色度残差数据,以将第二经修改色度残差数据从样本域转换到变换域。
类似地,视频解码器可通过应用反向变换将该视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据。另外,视频解码器可通过应用该反向变换将该块的第二组变换系数从该变换域转换到该样本域而产生第二解码后的经修改色度残差数据。在产生该第一解码后的经修改色度残差数据之后,该视频解码器可将第一反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据。在产生第二解码后的经修改色度残差数据之后,视频解码器可将第二反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据。该第一解码后的经修改色度残差数据与第一色度分量相关联,并且该第二解码后的经修改色度残差数据与第二色度分量相关联。该视频解码器可基于该第一经反向修改色度残差数据和该第二经反向修改色度残差数据重构视频数据的块。
图1是示出可执行本公开的技术的示例性视频编码和解码系统100的框图。本公开的技术一般涉及对视频数据进行译码(编码和/或解码)。一般来说,视频数据包括用于处理视频的任何数据。因此,视频数据可包括原始未经编码视频、编码后的视频、解码后的(例如,重构的)视频和视频元数据,诸如信令数据。
如图1中所示,在该示例中,系统100包括源设备102,其提供待由目的地设备116解码和显示的编码后的视频数据。具体地,源设备102经由计算机可读介质110向目的地设备116提供视频数据。源设备102和目的地设备116可以包括多种设备中的任一种,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话听筒(诸如智能电话)、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些情况下,源设备102和目的地设备116可被装备用于无线通信,并且因此可被称为无线通信设备。
在图1的示例中,源设备102包括视频源104、存储器106、视频编码器200和输出接口108。目的地设备116包括输入接口122、视频解码器300、存储器120和显示设备118。根据本公开,源设备102的视频编码器200和目的地设备116的视频解码器300可被配置为应用本公开的用于组合残差译码(combined residual coding,CRC)的技术。因此,源设备102表示视频编码设备的示例,而目的地设备116表示视频解码设备的示例。在其它示例中,源设备和目的地设备可包括其它组件或布置。例如,源设备102可以从外部视频源(诸如外部相机)接收视频数据。同样,目的地设备116可以与外部显示设备接口连接,而不是包括集成的显示设备。
如图1中所示的系统100仅为一个示例。一般来说,任何数字视频编码和/或解码设备都可执行本公开的用于组合残差译码的技术。源设备102和目的地设备116仅仅是此类译码设备的示例,其中源设备102产生译码的视频数据以发送到目的地设备116。本公开将“译码”设备称为对数据执行译码(编码和/或解码)的设备。因此,视频编码器200和视频解码器300表示译码设备的示例,具体地,分别表示视频编码器和视频解码器的示例。在一些示例中,源设备102和目的地设备116可以以基本对称方式操作,使得源设备102和目的地设备116中的每一者都包括视频编码和解码组件。因此,系统100可以支持源设备102与目的地设备116之间的单向或双向视频传输,例如用于视频流传输、视频回放、视频广播或视频电话。
一般来说,视频源104表示视频数据的源(即,原始未经编码的视频数据)并将视频数据的一系列连续图片(也称为“帧”)提供给视频编码器200,该视频编码器对图片的数据进行编码。源设备102的视频源104可包括视频捕获设备,诸如摄像机、包含先前捕获的原始视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代,视频源104可产生基于计算机图形的数据作为源视频,或实况视频、归档视频和计算机产生的视频的组合。在每一种情况下,视频编码器200对所捕获、预先捕获或计算机产生的视频数据进行编码。视频编码器200可将图片从接收次序(有时称为“显示次序”)重新布置为译码次序以供译码。视频编码器200可产生包括编码后的视频数据的位流。源设备102然后可经由输出接口108将编码后的视频数据输出到计算机可读介质110上以供由例如目的地设备116的输入接口122接收和/或取得。
源设备102的存储器106和目的地设备116的存储器120表示通用存储器。在一些示例中,存储器106、120可存储原始视频数据,例如来自视频源104的原始视频和来自视频解码器300的原始解码后的视频数据。另外或替代地,存储器106、120可存储分别可由例如视频编码器200和视频解码器300执行的软件指令。尽管在该示例中存储器106和存储器120示为与视频编码器200和视频解码器300分开,但是应理解,视频编码器200和视频解码器300还可包括功能性类似或等效目的的内部存储器。此外,存储器106、120可存储例如从视频编码器200输出和输入到视频解码器300的编码后的视频数据。在一些示例中,可分配存储器106、120的一部分作为一个或多个视频缓冲器,以例如存储原始、解码后的和/或编码后的视频数据。
计算机可读介质110可以表示能够将编码后的视频数据从源设备102传送到目的地设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示使得源设备102能够(例如)经由射频网络或基于计算机的网络实时地将编码后的视频数据直接发送到目的地设备116的通信介质。输出接口108可调制包括编码后的视频数据的发送信号,并且输入接口122可根据通信标准(诸如无线通信协议)将所接收发送信号解调。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络(诸如局域网、广域网或诸如因特网之类的全球网络)的一部分。通信介质可以包括路由器、交换机、基站或可能有助于促进从源设备102到目的地设备116的通信的任何其它装备。
在一些示例中,计算机可读介质110可包括存储设备112。源设备102可将编码后的数据从输出接口108输出到存储设备112。类似地,目的地设备116可经由输入接口122从存储设备112访问编码后的数据。存储设备112可以包括各种分布式或本地访问的数据存储介质中的任一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存存储器、易失性或非易失性存储器,或用于存储编码后的视频数据的任何其它合适的数字存储介质。
在一些示例中,计算机可读介质110可包括文件服务器114或可存储由源设备102产生的编码后的视频数据的另一中间存储设备。源设备102可将编码后的视频数据输出到文件服务器114或可存储由源设备102产生的编码后的视频的另一中间存储设备。目的地设备116可经由流传输或下载而从文件服务器114访问所存储的视频数据。文件服务器114可为能够存储编码后的视频数据并将该编码后的视频数据发送到目的地设备116的任何类型的服务器设备。文件服务器114可表示网页服务器(例如,用于网站)、文件传输协议(FTP)服务器、内容递送网络设备或网络附接存储(NAS)设备。目的地设备116可通过包括因特网连接的任何标准数据连接从文件服务器114访问编码后的视频数据。这可包括无线通道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等),或适合于访问存储于文件服务器114上的编码后的视频数据的以上两者的组合。文件服务器114和输入接口122可被配置为根据流传输协议、下载传输协议或其组合来操作。
输出接口108和输入接口122可表示无线发送器/接收器、调制解调器、有线网络连接组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任一者来操作的无线通信组件或其它物理组件。在其中输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可被配置为根据诸如4G、4G-LTE(长期演进)、高级LTE、5G等蜂窝式通信标准来传输数据,诸如编码后的视频数据。在其中输出接口108包括无线发送器的一些示例中,输出接口108和输入接口122可被配置为根据其它无线标准(诸如,IEEE 802.11规范、IEEE802.15规范(例如ZigBeeTM)、BluetoothTM标准等)传输数据,诸如编码后的视频数据。在一些示例中,源设备102和/或目的地设备116可包括相应的片上系统(SoC)设备。例如,源设备102可包括SoC设备以执行归于视频编码器200和/或输出接口108的功能,并且目的地设备116可包括SoC设备以执行归于视频解码器300和/或输入接口122的功能。
本公开的技术可以应用于支持多种多媒体应用中的任一种的视频译码,该多媒体应用诸如空中电视广播、有线电视传输、卫星电视传输、因特网流视频传输,诸如HTTP动态自适应流传输(DASH)、被编码到数据存储介质上的数字视频、被存储在数据存储介质上的数字视频的解码或其它应用。
目的地设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收编码后的视频位流。编码后的视频位流可包括由视频编码器200定义的信令信息(其也由视频解码器300使用),诸如具有描述视频块或其它经译码单元(例如,切片、图片、图片组、序列等)的特性和/或处理的值的语法元素。显示设备118向用户显示解码后的视频数据的解码后的图片。显示设备118可以表示多种显示设备中的任一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
尽管图1中未示,但是在一些示例中,视频编码器200和视频解码器300可各自与音频编码器和/或音频解码器集成,并且可包括适当的复用-解复用(MUX-DEMUX)单元或其它硬件和/或软件,以处置在共同数据流中包括音频和视频两者的复用流。如果适用,则MUX-DEMUX单元可遵照ITU H.223复用器协议或其它协议(诸如,用户数据报协议(UDP))。
视频编码器200和视频解码器300各自可以被实施为各种合适的编码器和/或解码器电路中的任一种,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当该技术部分地以软件实施时,设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中并且使用一个或多个处理器在硬件中执行指令以执行本公开的技术。视频编码器200和视频解码器300中的每一者可以被包括在一个或多个编码器或解码器中,该一个或多个编码器或解码器中的任一者可以被集成作为相应设备中的组合编码器/解码器(CODEC)的一部分。包括视频编码器200和/或视频解码器300的设备可包括集成电路、微处理器和/或无线通信设备(诸如蜂窝式电话)。
视频编码器200和视频解码器300可根据视频译码标准来操作,该视频译码标准诸如ITU-T H.265,也称为高效视频译码(HEVC)或其扩展,诸如多视图和/或可缩放视频译码扩展。替代地,视频编码器200和视频解码器300可根据其它专有或行业标准操作,诸如联合探索测试模型(JEM)或ITU-TH.266,其也称为多功能视频译码(VVC)。VVC标准的最新草案在Bross等人于2019年1月9至18日在摩洛哥马拉喀什第13次会议ITU-T SG 16WP 3和ISO/IECJTC 1/SC 29/WG 11的联合视频专家团队(JVET)中发表的“多功能视频译码(草案4)”(“Versatile Video Coding(Draft 4)”)JVET-M1001-v5(以下称为“VVC草案4”)中有所描述。然而,本公开的技术不限于任何特定译码标准。
通常,视频编码器200和视频解码器300可执行对图片的基于块的译码。术语“块”一般是指包括待处理(例如,编码、解码或以其它方式在编码和/或解码过程中使用)的数据的结构。例如,块可包括明亮度和/或彩度数据的样本的二维矩阵。通常,视频编码器200和视频解码器300可对以YUV(例如Y、Cb、Cr)格式表示的视频数据进行译码。即,视频编码器200和视频解码器300可对明亮度和彩度分量进行译码,而非对图片的样本的红色、绿色和蓝色(RGB)数据进行译码,其中彩度分量可包括红色调和蓝色调彩度分量两者。在一些示例中,视频编码器200在编码之前将所接收的RGB格式化数据转换为YUV表示,并且视频解码器300将YUV表示转换为RGB格式。替代地,预处理单元和后处理单元(图中未示出)可执行这些转换。
本公开可以一般涉及对图片进行译码(例如,编码和解码)以包括对图片的数据进行编码或解码的过程。类似地,本公开可以涉及对图片的块进行译码以包括对块的数据进行编码或解码的过程,例如预测和/或残差译码。编码后的视频位流通常包括表示译码判决(例如,译码模式)和将图片分割成块的语法元素的一系列值。因此,对将图片或块进行译码的引用一般应当被理解为对用于形成图片或块的语法元素的值进行译码。
HEVC定义各种块,包括译码单元(CU)、预测单元(PU)以及变换单元(TU)。根据HEVC,视频译码器(诸如视频编码器200)根据四分树结构将译码树单元(CTU)分割成CU。即,视频译码器将CTU和CU分割成四个相同的非重叠正方形,并且四分树的每个节点具有零个或四个子节点。不具有子节点的节点可被称为“叶节点”,并且此类叶节点的CU可包括一个或多个PU和/或一个或多个TU。视频译码器可进一步分割PU和TU。例如,在HEVC中,残差四分树(RQT)表示TU的分割。在HEVC中,PU表示帧间预测数据,而TU表示残差数据。经帧内预测的CU包括帧内预测信息,诸如帧内模式指示。
作为另一示例,视频编码器200和视频解码器300可被配置为根据JEM或VVC操作。根据JEM或VVC,视频译码器(诸如视频编码器200)将图片分割成多个译码树单元(CTU)。视频编码器200可根据树型结构分割CTU,诸如四分树二元树(QTBT)结构或多类型树型(MTT)结构。QTBT结构移除多个分割类型的概念,诸如HEVC的CU、PU以及TU之间的间距。QTBT结构包括两个层级:根据四分树分割进行分割的第一层级,和根据二元树分割进行分割的第二层级。QTBT结构的根节点对应于CTU。二元树的叶节点对应于译码单元(CU)。
在MTT分割结构中,块可使用四分树(QT)分割、二元树(BT)分割和一种或多种类型的三元树(TT)分割来分割。三元树分割是其中块分裂成三个子块的分割。在一些示例中,三元树分割在不通过中心划分原始块的情况下将块划分为三个子块。MTT中的分割类型(例如,QT、BT和TT)可为对称或不对称的。
在一些示例中,视频编码器200和视频解码器300可使用单一QTBT或MTT结构表示明亮度和彩度分量中的每一者,而在其它示例中,视频编码器200和视频解码器300可使用两个或更多个QTBT或MTT结构,诸如用于明亮度分量的一个QTBT/MTT结构和用于两个彩度分量的另一QTBT/MTT结构(或用于相应的彩度分量的两个QTBT/MTT结构)。
视频编码器200和视频解码器300可被配置为使用每HEVC的四分树分割、QTBT分割、MTT分割,或其它分割结构。出于解释目的,关于QTBT分割呈现本公开的技术的描述。然而,应理解,本公开的技术还可应用于被配置为使用四分树分割还或其它类型的分割的视频译码器。
本公开可互换地使用“NxN”和“N乘以N”以指代关于竖直和水平尺寸的块(诸如,CU或其它视频块)的样本尺寸,例如16x16样本或16乘以16样本。通常,16x16 CU在竖直方向上将具有16个样本(y=16),并且在水平方向上将具有16个样本(x=16)。同样,NxN CU通常在竖直方向上具有N个样本,并且在水平方向上具有N个样本,其中N表示非负整数值。CU中的样本可按列和行布置。此外,CU不一定在水平方向上和竖直方向上具有相同数量个样本。例如,CU可包括NxM个样本,其中M不必等于N。
视频编码器200对表示预测和/或残差信息以及其它信息的CU的视频数据进行编码。预测信息指示将如何对CU进行预测以便形成CU的预测块。残差信息通常表示预测块与编码前CU的样本之间的逐样本差。
为了预测CU,视频编码器200可通常通过帧间预测或帧内预测形成CU的预测块。帧间预测一般是指从先前经译码的图片的数据预测CU,而帧内预测一般是指从同一图片的先前经译码数据预测CU。为了执行帧间预测,视频编码器200可使用一个或多个运动向量来产生预测块。视频编码器200可通常执行运动搜索以标识(例如)就CU与参考块之间的差而言与CU紧密匹配的参考块。视频编码器200可使用绝对差总和(SAD)、平方差总和(SSD)、平均绝对差(MAD)、均方差(MSD)或其它此类差计算来计算差度量,以确定参考块是否与当前CU紧密匹配。在一些示例中,视频编码器200可使用单向预测或双向预测来预测当前CU。
JEM和VVC的一些示例还提供仿射运动补偿模式,其可被视为帧间预测模式。在仿射运动补偿模式中,视频编码器200可以确定表示非平移运动(诸如放大或缩小、旋转、透视运动或其它不规则运动类型)的两个或更多个运动向量。
为了执行帧内预测,视频编码器200可选择帧内预测模式以产生预测块。JEM和VVC的一些示例提供六十七种帧内预测模式,包括各种方向模式以及平面模式和DC模式。通常,视频编码器200选择从其中预测当前块的样本的帧内预测模式,其描述与当前块(例如,CU的块)邻近的样本。假定视频编码器200以光栅扫描次序(左至右、上至下)对CTU和CU进行译码,则此类样本通常可在与当前块相同的图片中处于当前块的上方、左上方或左侧。
视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可对表示使用各种可供使用的帧间预测模式中的哪种模式以及对应模式的运动信息的数据进行编码。例如,对于单向或双向帧间预测,视频编码器200可使用高级运动向量预测(AMVP)或合并模式来对运动向量进行编码。视频编码器200可使用类似模式来对仿射运动补偿模式的运动向量进行编码。
在块的预测(诸如帧内预测或帧间预测)之后,视频编码器200可计算块的残差数据。残差数据(诸如残差块)表示块与该块的使用对应预测模式所形成的预测块之间的逐样本差。视频编码器200可将一个或多个变换应用于残差块,以在变换域而非样本域中产生变换后的数据。例如,视频编码器200可将离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。另外,视频编码器200可在第一变换之后应用二次变换,诸如模式相关不可分离二次变换(MDNSST)、信号相关变换、Karhunen-Loeve变换(KLT)等。视频编码器200在应用一个或多个变换之后产生变换系数。
如上文所指出,在产生变换系数的任何变换之后,视频编码器200可执行变换系数的量化。量化一般是指变换系数被量化以可能减少用于表示变换系数的数据的量从而提供进一步压缩的过程。通过执行量化过程,视频编码器200可减少与变换系数中的一些或所有相关的位深度。例如,视频编码器200可在量化期间将n位值向下舍入为m位值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可执行待量化值的按位右移。
在量化之后,视频编码器200可扫描变换系数,从而从包括量化后的变换系数的二维矩阵产生一维向量。扫描可被设计以将较高能量(且因此较低频率)变换系数置于向量前部,并且将较低能量(且因此较高频率)变换系数置于向量后部。在一些示例中,视频编码器200可利用预定义扫描次序来扫描量化后的变换系数以产生串行化向量,并且随后对向量的量化后的变换系数进行熵编码。在其它示例中,视频编码器200可执行自适应扫描。在扫描量化后的变换系数以形成一维向量之后,视频编码器200可(例如)根据上下文自适应性二进制算术译码(CABAC)对表示一维向量中的变换系数的语法元素进行熵编码。视频编码器200还可对描述与编码后的视频数据相关联的元数据的语法元素的值进行熵编码,以供由视频解码器300用于对视频数据进行解码。
为了执行CABAC,视频编码器200可将上下文模型内的上下文指派给待发送码元。上下文可涉及(例如)码元的邻近值是否为零值。概率确定可基于指派给码元的上下文。
视频编码器200可进一步(例如)在图片标头、块标头、切片标头或其它语法数据(诸如序列参数集(SPS)、图片参数集(PPS)或视频参数集(VPS))中向视频解码器300产生语法数据,诸如基于块的语法数据、基于图片的语法数据以及基于序列的语法数据。视频解码器300可同样地对此类语法数据进行解码以确定如何对对应视频数据进行解码。
以此方式,视频编码器200可产生包括编码后的视频数据(例如,描述图片到块(例如,CU)的分割的语法元素和用于块的预测和/或残差信息)的位流。最后,视频解码器300可接收位流并对编码后的视频数据进行解码。
通常,视频解码器300执行与视频编码器200所执行的过程互逆的过程,以对位流的编码后的视频数据进行解码。例如,视频解码器300可使用CABAC以与视频编码器200的CABAC编码过程基本上类似但互逆的方式对位流的语法元素的值进行解码。语法元素可定义用于将图片分割成CTU的分割信息和每一CTU根据对应分割结构(诸如QTBT结构)的分割,以定义CTU的CU。语法元素可进一步定义视频数据的块(例如,CU)的预测和残差信息。
视频解码器300可将块的量化后的变换系数反向量化和反向变换,以再现(reproduce)块的残差块。视频解码器300使用发信号通知的预测模式(帧内或帧间预测)和相关预测信息(例如,用于帧间预测的运动信息)以形成块的预测块。视频解码器300然后可(逐样本地)使预测块与残差块组合以再现原始块。视频解码器300可执行附加处理,诸如执行解块过程以减少沿块边界的视觉伪影。
如上文所提及,视频编码器200和视频解码器300可将CABAC编码和解码应用于语法元素的值。为将CABAC编码应用于语法元素,视频编码器200可将语法元素的值二值化以形成一系列一个或多个位,其被称为“区间(bin)”。另外,视频编码器200可标识译码上下文。译码上下文可标识具有特定值的区间的概率。例如,译码上下文可指示对0值区间进行译码的0.7概率,以及对1值区间进行译码的0.3概率。在标识译码上下文之后,视频编码器200可将间隔划分为下部子间隔和上部子间隔。子间隔中的一者可与值0相关联,而另一子间隔可与值1相关联。子间隔的宽度可与由所标识的译码上下文关于相关联值所指示的概率成比例。如果语法元素的区间具有与下部子间隔相关联的值,则编码后的值可等于下部子间隔的下边界。如果语法元素的相同区间具有与上部子间隔相关联的值,则编码后的值可等于上部子间隔的下边界。为了对语法元素的下一个区间进行编码,视频编码器200可重复这些步骤,其中间隔是与编码后的位的值相关联的子间隔。当视频编码器200针对下一个区间重复这些步骤时,视频编码器200可使用基于由所标识的译码上下文指示的概率和所编码的区间的实际值的修改后概率。
当视频解码器300对语法元素的值执行CABAC解码时,视频解码器300可标识译码上下文。视频解码器300然后可将间隔划分为下部子间隔和上部子间隔。子间隔中的一者可与值0相关联,而另一子间隔可与值1相关联。子间隔的宽度可与由所标识的译码上下文关于相关联值所指示的概率成比例。如果编码后的值在下部子间隔内,则视频解码器300可对具有与下部子间隔相关联的值的区间进行解码。如果编码后的值在上部子间隔内,则视频解码器300可对具有与上部子间隔相关联的值的区间进行解码。为了对语法元素的下一个区间进行解码,视频解码器300可重复这些步骤,其中间隔是含有编码后的值的子间隔。当视频解码器300针对下一个区间重复这些步骤时,视频解码器300可使用基于由所标识的译码上下文指示的概率和解码后的区间的修改后概率。视频解码器300然后可对区间进行去二值化以恢复语法元素的值。
在一些情况下,视频编码器200可使用旁路CABAC译码来对区间进行编码。与对区间执行常规CABAC译码相比,对区间执行旁路CABAC译码在计算上可花费较少成本。此外,执行旁路CABAC译码可允许较高的并行化度和吞吐量。使用旁路CABAC译码而编码的区间可被称为“旁路区间”。将旁路区间分组在一起可增加视频编码器200和视频解码器300的吞吐量。旁路CABAC译码引擎可能能够在单一循环中对若干区间进行译码,而常规CABAC译码引擎可能仅能够在一个循环中对单个区间进行译码。旁路CABAC译码引擎可能更简单,因为旁路CABAC译码引擎不选择上下文且可针对两个码元(0和1)采用1/2的概率。因此,在旁路CABAC译码中,间隔直接分裂成两半。
此外,如上文所提及,位流可包括视频数据和相关联数据的编码图片的表示。相关联数据可包括参数集。网络抽象层(NAL)单元可封装视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)的原始字节序列载荷(RBSP)。VPS是包括应用于零或更多个完整的译码视频序列(CVS)的语法元素的语法结构。SPS也是包括应用于零或更多个完整CVS的语法元素的语法结构。SPS可包括标识在SPS在作用中时在作用中的VPS的语法元素。因此,VPS的语法元素可比SPS的语法元素更一般地适用。PPS是包括应用于零或更多个译码图片的语法元素的语法结构。PPS可包括标识在PPS在作用中时在作用中的SPS的语法元素。切片的切片标头可包括指示在切片正被译码时在作用中的PPS的语法元素。
彩色视频在多媒体系统中发挥主要作用,其中各种彩色空间用于有效表示颜色。彩色空间使用多个分量指定带有数字值的颜色。常用彩色空间是RGB彩色空间,其中将彩色表示为三原色分量值(红色、绿色和蓝色)的组合。
对于彩色视频压缩,已广泛使用YCbCr彩色空间。参见A.Ford和A.Roberts的于1998年8月在伦敦威斯敏斯特大学的技术报告“Colour space conversions”。可经由线性变换从RGB彩色空间转换YCbCr,并且不同分量之间的冗余(即,跨分量冗余)在YCbCr彩色空间中显著降低。由于Y信号传达明亮度(亮度)信息,因此,YCbCr的一个优势是与黑白TV具有反向兼容性。另外,彩度(色度)带宽可通过以4:2:0色度采样格式对Cb和Cr分量进行子采样而减少,该子采样与RGB中的子采样相比主观影响显著较小。由于这些优点,YCbCr已成为视频压缩中的首要彩色空间。还存在视频压缩中使用的其它彩色空间,诸如YCoCg。在本文件中,不管所使用的实际彩色空间如何,都使用Y、Cb和Cr表示视频压缩方案中的三个彩色分量。尽管跨分量冗余在YCbCr彩色空间中显著减少,但是这三个彩色分量之间仍存在相关性。尤其对于4:4:4色度格式视频的译码,已研究各种方法以通过进一步减少相关性改善视频译码性能。如B.C.Song、Y.G.Lee和N.H.Kim的“Block adaptive inter-colorcompensation algorithm for RGB 4:4:4video coding”(IEEE Trans.CircuitsSyst.Video Technol.,第18卷,第10期,第1447-1451页,2008年10月)中所描述,将缩放因子和偏移用于每个块以从重构后的亮度信号预测色度信号。
在W.Pu、W.-S.Kim、J.Chen、J.Sole、M.Karczewicz的“RCE1:Descriptions andResults for Experiments 1,2,3,and 4”(ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),JCTVC-O0202,日内瓦,2013年11月)中,在残差域中执行跨分量预测(Cross-Component Prediction,CCP)。在编码器侧处使用重构后的亮度残差信号将色度残差信号预测为:
ΔrC(x,y)=rC(x,y)-(α×r′L(x,y))>>3 (1)
并且在解码器侧处将色度残差信号补偿为:
r′C(x,y)=Δr′C(x,y)+(α×r′L(x,y))>>3 (2)
其中rC(x,y)和r′C(x,y)表示在位置(x,y)处的原始的和重构后的色度残差样本。ΔrC(x,y)和Δr′C(x,y)表示在跨分量预测之后的最终色度残差样本。r′L(x,y)是重构后的亮度残差样本值。针对HEVC中的每个色度变换单元在位流中明确地发信号通知加权因子α。该跨分量残差预测方法是在用于4:4:4色度采样格式视频译码的HEVC标准的格式和范围扩展中采用,其被执行用于帧内预测残差和帧间预测残差两者。还针对4:2:0视频格式译码提出该跨分量残差预测方法,然而由于有限的译码益处而没有采用该跨分量残差预测方法。除了使用亮度来预测色度分量以外,还提出预测可应用于两个色度分量之间,即,使用重构后的早期译码的Cb残差来预测Cr残差。参见A.Khairat、T.Nguyen、M.Siekmann、D.Marpe的“Non-RCE1:Extended Adaptive Inter-Component Prediction”(ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),JCTVC-O0150,日内瓦,2013年11月)。在2016年7月28公布的美国专利公开第2016/0219283号、2016年9月22日公布的第2016/0277762号、2018年3月15日公布的第2018/0077426号、2018年6月21日公布的第2018/0176594号以及2019年1月3月日公布的第2019/0007688号也描述了跨分量预测的各方面。
在4:2:0色度视频译码中,在HEVC标准开发期间,已很好地研究了一种被称为线性模型(LM)预测模式的方法。参见J.Chen、V.Seregin、W.-J.Han、J.-S.Kim、B.-M.Joen的“CE6.a.4:Chroma intra prediction by reconstructed luma samples”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),JCTVC-E266,日内瓦,2011年3月16至23日)。在LM预测模式中,通过使用如下线性模型基于相同块的重构后的亮度样本预测色度样本:
predC(i,j)=α·recL(i,j)+β (3)
其中predC(i,j)表示块中的色度样本的预测,并且recL(i,j)表示同一块的下采样的重构后的亮度样本。通过最小化当前块周围的邻近重构后的亮度样本与色度样本之间的回归误差来导出参数α和β。
Figure BDA0003238523990000191
如下解析参数α和β:
Figure BDA0003238523990000192
β=(∑yi-α·∑xi)/N (6)
其中xi是下采样的重构后的亮度参考样本,yi是重构后的色度参考样本,并且N是所使用的参考样本的数量。
在第13次JVET会议采用回路内重整形器。参见J.Lainema的“CE7-related:Jointcoding of chrominance residuals”(第13次JVET会议,摩洛哥马拉喀什,2019年1月,JVET-M0305(下文称为“JVET-M0305”))和X.Xiu、P.T.Lu、P.Hanhart、R.Vanam、Y.He、Y.Ye、T.Lu、F.Pu、P.Yin、W.Husak、T.Chen的“Description of SDR,HDR,and 360°video codingtechnology proposal by InterDigital Communications and Dolby Laboratories”(JVET-J0015,美国圣迭戈,2018年4月)。回路内亮度重整形器实施为一对查找表(LUT),但是两个LUT中仅一者需要发信号通知(通过分段线性模型化),这是因为另一者可从发信号通知的LUT来计算。每个LUT是用于10位视频的一维、10位、1024条目映射表(1D-LUT)。一个LUT是将输入亮度码值Yi(原始域)映射至更改值Yr:Yr=FwdLUT[Yi](重整形域)的前向LUT(FwdLUT)。另一LUT是反向LUT(InvLUT),其将经更改码值Yr(重整形域)映射至
Figure BDA0003238523990000201
(原始域):
Figure BDA0003238523990000202
(
Figure BDA0003238523990000203
表示Yi的重构值)。
图2是示出利用回路内亮度重整形器进行帧内切片重构的示例的框图。对于帧内切片,仅在解码器处应用InvLUT(图2)。在图2中,灰色阴影块指示经重整形域中的信号:亮度残差、经帧内亮度预测和经帧内亮度重构。更具体地,如图2的示例中所示,视频解码器300可执行CABAC解码(表示为CABAC-1)、反向量化(表示为Q-1)和反向变换(表示为T-1)(150)。另外,视频解码器300可通过将亮度残差样本(Yres)添加到经帧内预测样本(Y’pred)来执行帧内预测(152)和重构(154)。此外,视频解码器300可执行反向重整形操作(156)。视频解码器300可将一个或多个回路滤波器(LF)应用于反向重整形操作的输出(158)。结果可存储于解码后图片缓冲器(DPB)中(160)。
图3是示出利用回路内亮度重整形器进行帧间切片重构的示例的框图。对于帧间切片(图3),应用FwdLUT和InvLUT两者。在针对帧内和帧间切片两者进行回路滤波之前应用LUT。在图3中,灰色阴影块指示经重整形域中的信号:亮度残差、经帧内亮度预测和经帧内亮度重构。尽管术语“切片”在本文中用于指示在NAL单元中发信号通知的译码树单元的集合,但应理解,该讨论还适用于诸如图块(tile)组(用于VVC中)之类的图片的其它空间分割。
对于帧间切片(或图块组),FwdLUT将原始域中的经运动补偿值映射到重整形域(FwdLUT[Ypred])。InvLUT然后将重整形域中的帧间重构值映射到原始域中的帧间重构值
Figure BDA0003238523990000204
在图3的示例中,在重整形域中始终执行帧内预测而不管切片类型如何。通过此类布置,帧内预测可紧接在前一TU的重构之后开始。
在图3的示例中,视频解码器300可执行CABAC解码(表示为CABAC-1)、反向量化(表示为Q-1)和反向变换(表示为T-1)(170)。另外,视频解码器300可针对块执行帧内预测(172)或运动补偿(184)和前向重整形过程(174)。视频解码器300可通过将亮度残差样本(Yres)添加到经预测样本(Y′pred)来执行重构(176)。在图3的示例中,如果使用帧内预测对块进行预测,则使用帧内预测来预测经预测样本(Y′pred)(172)。视频解码器300在重整形域中执行帧内预测。然而,视频解码器300在非重整形域中执行帧间预测。因此,如果使用帧间预测对块进行预测,则视频解码器300执行运动补偿(184)和前向重整形操作(174)以将由运动补偿(184)产生的经预测样本转换到重整形域。
此外,在重构(176)之后,视频解码器300可执行反向重整形操作(178)。视频解码器300可将一个或多个回路滤波器(LF)应用于反向重整形操作的输出(180)。结果可存储于解码后图片缓冲器(DPB)中(182)。来自DPB的数据可用于运动补偿(184),随后可用于后续块中的前向重整形(174)。
重整形模型语法可发信号通知具有16段的分段线性(piece-wise linear,PWL)模型。1024条目映射表是使用16段PWL模型通过线性内插而构建。在概念上,PWL模型可按以下方式实施。假设x1、x2是两个输入枢轴点,并且y1、y2是其用于一段的对应输出枢轴点。关于x1与x2之间的任何输入值x的输出值y可通过以下方程内插:
y=((y2-y1)/(x2-x1))*(x-x1)+y1
在固定点实施中,以上方程可重写为:
y=((m*x+2FP_PREC-1)>>FP_PREC)+c
其中m为标量,c为偏移,并且FP_PREC为用于指定精度的常数值。
图4是示出利用色度残差缩放(chroma residual scaling,CRS)进行帧内模式和帧间模式重构的示例的框图。色度残差缩放或CRS(图4)补偿亮度信号与色度信号的相互作用。以TU水平应用色度残差缩放。
编码器侧:CResScale=CRes*CScale=CRes/CScaleInv (7)
解码器侧:CRes=CResScale/CScale=CResScale*CScaleInv (8)
CRes是原始色度残差信号,并且CResScale是缩放后的色度残差信号。CScale是使用FwdLUT计算的缩放因子并且被转换到其倒数CScaleInv以在解码器侧处执行乘法而非除法,从而降低实施复杂性。在图4中,灰色阴影块指示经重整形域中的信号:亮度残差、经帧内亮度预测和经帧内亮度重构。在PWL模型下,对于每个亮度PWL范围中的任何输入亮度值,使用相同色度缩放值。因此,亮度相关色度缩放被简化为将针对每个亮度PWL范围而非每个亮度码值进行计算,并被存储于LUT cScaleInv[pieceIdx]中(16-段粒度)。编码器侧和解码器侧两者处的缩放运算是通过以下方程以固定点整数算术实施:
c’=sign(c)*((abs(c)*s+2CSCALE_FP_PREC-1)>>CSCALE_FP_PREC)
其中c为色度残差,s为来自cScaleInv[pieceIdx]的色度残差缩放因子,pieceIdx是通过TU的对应平均亮度值决定,并且CSCALE_FP_PREC是指定精度的常数值。
在以下步骤中计算CScaleInv的值:
1.如果使用帧内模式,则计算经帧内预测亮度值的平均值;如果使用帧间模式,则计算经前向重整形经帧间预测亮度值的平均值。即,在重整形域中计算平均亮度值avgY′TU
2.在avgY′TU所属的反向映射PWL中找到亮度范围的索引idx。
3.CScaleInv=cScaleInv[idx]
在图4的示例中,视频解码器300可执行CABAC解码(CABAC-1)、反向量化(Q-1)和反向变换(T-1)(240)。块240的输出可包括用于视频数据的当前块的亮度残差数据(Yres)和经缩放的色度数据(CresScale)。如果块是使用帧内模式编码,则视频解码器300可针对当前块执行帧内预测过程(242)以产生亮度预测数据(Y’pred)。替代地,如果块是使用帧间模式编码,则视频解码器300可针对当前块执行运动补偿(252)和前向重整形过程(244)以产生亮度预测数据(Y’pred)。视频解码器300可执行基于亮度残差数据(Yres)和预测数据(Y’pred)重构亮度样本的亮度重构过程(246)。视频解码器300可使用经重构亮度数据进行对后续块的帧内预测。
此外,在图4的示例中,视频解码器300可对当前块的经重构亮度数据执行反向重整形过程(247)。视频解码器300可将一个或多个回路滤波器(LF)应用于反向重整形操作的输出(248)。视频解码器300可将结果存储于解码后图片缓冲器中(250)。解码后图片缓冲器中的数据可用于对视频数据的后续块进行运动补偿(252)。在图4的示例中,视频解码器300还可确定用于当前变换单元的平均亮度值(avgY’TU)和色度残差缩放因子(CscaleInv)(254)。视频解码器300可确定如上文所描述的色度残差缩放因子。
在图4的示例中,视频解码器300可执行缩放用于当前块的经缩放色度残差数据的色度残差缩放过程(256)以产生用于当前块的色度残差数据(Cres)。视频解码器300可通过将经缩放色度残差数据的样本乘以色度残差缩放因子来执行色度残差缩放过程。另外,在图4的示例中,视频解码器300可执行帧内预测过程(257)或运动补偿过程(258)以产生用于当前块的色度预测数据(Cpred)。视频解码器300可执行重构过程,该重构过程基于用于当前块的色度残差数据(Cres)和色度预测数据重构当前块的色度数据(259)。视频解码器300可将一个或多个回路滤波器(LF)应用于反向重整形操作的输出(260)。视频解码器300可将所得数据存储于解码后图片缓冲器中(262)。
一种用于Cb-Cr色度残差的联合译码的方法描述于JVET-M0305中。在该方法中,使用单一联合残差块描述同一变换单元中的Cb和Cr块两者的残差。在编码器侧,该算法使用正Cb残差与负Cr残差的平均值作为变换和量化过程的输入。如果激活该模式,则对单一残差块进行解码。Cr块的残差是通过消除(negate)解码后的联合残差而产生。在解码器侧,当联合残差模式处于作用中时,所指示的联合残差被添加到Cb预测块并从Cr预测块扣除。由于使用单一残差表示两个块的残差,因此色度量化参数(QP)偏移参数在联合色度残差模式处于作用中时减少2。
如果Cb和Cr两者的译码块标志(cbf)为真,则用位流中的标志指示联合残差模式。用于联合残差的位流语法和解码过程遵循VTM3中的Cb残差的那些位流语法和解码过程。参见J.Chen、Y.Ye、S.Kim的“Algorithm description for Versatile Video Coding andTest Model 3(VTM3)”(第12次JVET会议,中国澳门特区,2018年10月,JVET-L1002)。
在核心实验测试CE7.1(H.Schwarz、M.Coban、C.Auyeung的“Description of CoreExperiment 7(CE7):Quantization and coefficient coding”,第13次JVET会议,摩洛哥马拉喀什,2019年1月,JVET-M1027)中,该方法如下与回路内色度残差缩放器(CRS)集成:
·编码器侧:
·Cb残差:(resCb(x,y)–resCr(x,y))/2→CRS→T→Q(Qp+jointCbCrQpOffset)
·Cr残差:0
·解码器侧:
·Cb残差:invQ→invT→invCRS→resCb(x,y)’
·Cr残差:-resCb(x,y)’
其中CRS是前向色度残差缩放器,invCRS是反向色度残差缩放器,T是前向变换,Q是前向量化,invT是反向变换,并且invQ是反向量化。
基于模型的跨分量残差预测需要解码器侧处的模型参数估计(这暗示视频解码器300处的实施成本增加),或者需要发信号通知模型参数(这不利地影响译码效率并且需要从位流解码参数)。
由于两个色度通道的不对称处理,因此将两个色度残差组合成译码到位流中的单一残差的联合Cb-Cr译码方法可受到色度伪影影响。例如,在JVET-M0305中,假定Cr残差是联合残差的倒数,其为粗略近似。另外,该方法需要调整在变换之后应用于联合残差的量化参数和调整编码器侧的λ参数以用于速率-失真优化,以便恰当地对联合残差进行译码和实现译码增益。可发信号通知量化参数偏移。然而,确定精确值可以是视频编码器200的附加负担。
本公开描述可解决一个或多个上文所描述的问题的技术。本公开的技术可避免对基于模型的跨分量残差预测的模型参数进行发信号通知和解码,并且可避免在上文所描述的联合Cb-CR译码方法中对量化参数进行调整。尽管如此,本公开的技术可减少Cb样本与Cr样本之间的相关性,并且由此可提供译码效率增益。在下文和本公开别处提供的示例可独立地应用,或者该示例中的一者或多者可一起应用。
本公开的以下部分描述用于组合残差译码(combined residual coding,CRC)的技术。根据用于组合残差译码的技术,利用残差修改函数(residual modificationfunction,RMF)F1(x,y)和F2(x,y)处理具有尺寸(宽度和高度)的Cb残差块和Cr残差块(resCb(x,y)和resCr(x,y)),以获得随后在视频编码器200处经前向变换(T)、经量化(Q)和经熵译码(E)的修改后残差,如下表1中所示。
表1
Figure BDA0003238523990000241
Figure BDA0003238523990000251
在表1中的视频解码器300处,在熵解码(invE)、反向量化(invQ)、反向变换(invT)之后,将反向RMF invF1(x,y)和invF2(x,y)应用于解码后的残差resCb(x,y)’和resCr(x,y)’,以获得残差resCb(x,y)”和resCr(x,y)”,其被添加到预测predCb(x,y)和predCr(x,y)以获得重构recCb(x,y)和recCr(x,y)。
在一个示例中,函数F1和F2分别为减法和求和,并且反向函数invF1和invF2分别为求和和减法。归一化因子1/N1、1/N2、1/M1、1/M2和舍入项A1、A2、B1、B2可为这些函数的一部分:
i)F1(x,y)=(resCb(x,y)–resCr(x,y)+A1)/N1(方程1.a.i)
ii)F2(x,y)=(resCb(x,y)+resCr(x,y)+A2)/N2(方程1.a.ii)
iii)invF1(x,y)=(resCr(x,y)’+resCb(x,y)’+B1)/M1(方程1.a.iii)
iv)invF2(x,y)=(resCr(x,y)’-resCb(x,y)’+B2)/M2(方程1.a.iv)
在一个示例中,N1=N2=2,A1=A2=1(或0),并且M1=M2=1,B1=B2=0。在另一个示例中,
Figure BDA0003238523990000252
其中因子
Figure BDA0003238523990000253
约等于(181/256),并且在该情况下,A1=A2=B1=B2=128(或0)。在一些示例中,残差块resCb(x,y)、resCr(x,y)、resCb(x,y)’或resCr(x,y)’的所有值可为零,或可从以上方程省略一个或多个残差块。
在另一个示例中,函数F1和F2分别为求和和减法,并且反向函数invF1和invF2也分别为求和和减法。归一化因子1/N1、1/N2、1/M1、1/M2和舍入项A1、A2、B1、B2可为这些函数的一部分:
i)F1(x,y)=(resCb(x,y)+resCr(x,y)+A1)/N1(方程1.b.i)
ii)F2(x,y)=(resCb(x,y)-resCr(x,y)+A2)/N2(方程1.b.ii)
iii)invF1(x,y)=(resCb(x,y)’+resCr(x,y)’+B1)/M1(方程1.b.iii)
iv)invF2(x,y)=(resCb(x,y)’-resCr(x,y)’+B2)/M2(方程1.b.iv)
在一个示例中,N1=N2=2,A1=A2=1(或0),并且M1=M2=1,B1=B2=0。在另一个示例中,
Figure BDA0003238523990000254
其中因子
Figure BDA0003238523990000255
约等于(181/256),并且在该情况下,A1=A2=B1=B2=128(或0)。在一些示例中,残差块resCb(x,y)、resCr(x,y)、resCb(x,y)’或resCr(x,y)’的所有值可为零,或可从以上方程省略一个或多个残差块。
在一些示例中,函数F1和F2分别是具有不等归一化因子的减法和求和,并且反向函数invF1和invF2分别是具有不等归一化因子的求和和减法。归一化因子1/N10、1/N11、1/N20、1/N21、1/M10、1/M11、1/M20、1/M21和舍入项A10、A11、A20、A21、B10、B11、B20、B21可为这些函数的一部分:
i)F1(x,y)=(resCb(x,y)+A10)/N10–(resCr(x,y)+A11)/N11(方程1.c.i)
ii)F2(x,y)=(resCb(x,y)+A20)/N20+(resCr(x,y)+A21)/N21(方程1.c.ii)
iii)invF1(x,y)=(resCr(x,y)’+B10)/M10+(resCb(x,y)’+B11)/M11(方程1.c.iii)
iv)invF2(x,y)=(resCr(x,y)’+B20)/M20–(resCb(x,y)’+B21)/M21(方程1.c.iv)
在一个示例中,在方程1.c.i、1.c.ii、1.c.iii和1.c.iv中,N10=N11=1且A10=A11=0;N20=N21=2且A20=A21=0;M10=1且B10=0;M11=2且B11=1;M20=1且B20=0;M21=2且B21=0。因此,在该示例中,可将方程1.c.i、1.c.ii、1.c.iii和1.c.iv重写为:
i)F1(x,y)=resCb(x,y)–resCr(x,y)(方程1.c.v)
ii)F2(x,y)=(resCb(x,y)+resCr(x,y))/2(方程1.c.vi)
(1)invF1(x,y)=resCr(x,y)’+(resCb(x,y)’+1)/2(方程1.c.vii)
(2)invF2(x,y)=resCr(x,y)’–resCb(x,y)’/2(方程1.c.viii)
残差块resCb(x,y)、resCr(x,y)、resCb(x,y)’或resCr(x,y)’的所有值可为零,或可从以上方程省略一个或多个残差块。
在本公开的一些示例中,CRS过程可与RMF一起应用。例如,在其中CRS过程与RMF一起应用的示例中,RMF F1(x,y)和F2(x,y)可在CRS已缩放残差resCb(x,y)和resCr(x,y)之后应用(例如通过视频编码器200)。反向地,在此示例中,反向RMF invF1(x,y)和invF2(x,y)在invCRS缩放过程之前应用(例如,通过视频解码器300)。
在其中CRS过程与RMF一起应用的示例中,在CRS已缩放残差resCb(x,y)和resCr(x,y)之前,可通过视频编码器200应用RMF F1(x,y)和F2(x,y)。反向地,在该示例中,在invCRS缩放过程之后,通过视频解码器300应用反向RMF invF1(x,y)和invF2(x,y)。
在一些示例中,如上文所定义的归一化因子1/N、1/M和舍入项A、B可与作为前向变换过程T的一部分的变换系数缩放过程集成,并且反向地,与作为反向变换过程invT的一部分的反向变换系数缩放集成。换言之,可组合归一化因子与缩放项。在一些此类示例中,不应用CRS缩放过程(例如,通过视频编码器200或视频解码器300)。在其中归一化因子和舍入项与作为前向变换过程T的一部分的变换系数缩放过程集成的一些示例中,在RMF F1(x,y)和F2(x,y)之前应用CRS缩放过程,并且反向地,在invCRS缩放过程之前应用反向RMF invF1(x,y)和invF2(x,y)。
在归一化因子和舍入项与作为前向变换过程T的一部分的变换系数缩放过程集成的一些示例中,在CRS已缩放残差resCb(x,y)和resCr(x,y)之前应用RMF F1(x,y)和F2(x,y),并且反向地,在invCRS缩放过程之后应用反向RMF invF1(x,y)和invF2(x,y)。在该情况下,CRS缩放还可与作为前向变换过程T的一部分的变换系数缩放过程集成,并且反向地,与作为反向变换过程invT的一部分的反向变换系数缩放集成。
替代地,在归一化因子和舍入项与作为前向变换过程T的一部分的变换系数缩放过程集成的示例中,如上文所定义的归一化因子1/N、1/M和舍入项A、B可被经修改的量化参数值(表1中的offsetQp)完全或部分替换。
此外,在本公开的一些示例中,RMF F1(x,y)、F2(x y)可在前向变换过程T之后和在量化Q之前应用(例如,通过视频编码器200)。反向地,反向RMF invF1(x,y)、invF2(x,y)可在反向量化invQ之后和在反向变换过程invT之前应用(例如,通过视频解码器300)。
在该示例中,变换跳过模式可与组合残差译码一起应用。因此,在一些示例中,视频编码器200不应用前向变换(例如,DCT、DST等),而是应用RMF。同样,在一些示例中,视频解码器300不应用反向变换(例如,反向DCT、反向DST等),而是应用反向RMF。
以如上文所描述的类似方式,可将亮度残差块resY(x,y)与色度残差块resCb(x,y)和resCr(x,y)相对应地组合在一起。例如,在一个这样的示例中,(例如,通过视频编码器200)将RMF F3(x,y)应用于resY(x,y)以及resCb(x,y)。另外,(例如,通过视频编码器200)将RMF F4(x,y)应用于resY(x,y)以及resCr(x,y)。此外,在该示例中,反向地,(例如,通过视频解码器300)应用F3的反向RMF(即,invF3(x,y))和F4的反向RMF(即,invF4(x,y))。在一个示例中,F3、F4、invF3和invF4可表达为:
·F3=(A1*resY+B1*resCB+D1)/N1
·F4=(A2*resY+B2*resCR+D2)/N2
·invF3=(A3*F3-B3*F4+D3)/N3
·invF4=(A4*F3-B4*F4+D4)/N4
在将亮度残差块与色度残差块相对应地组合在一起的另一个示例中,(例如通过视频解码器200)将RMF F5(x,y)应用于resY(x,y)以及resCb(x,y)和resCr(x,y)。反向地,(例如,通过视频解码器300)应用invF5(x,y)。在一个示例中,F5和invF5可表达为:
·F5=(A1*resY+B1*resCB+C1*resCR+D1)/N1
·invF5=(A3*F5+D3)/N3
在例如4:2:0色度视频格式的情况下,RMF F3、F4、F5可包括对resY(x,y)残差块的下采样(有或无滤波)或对resCb(x,y)和resCr(x,y)块的上采样(有或无内插)。本公开的CRC技术还可应用于4:4:4视频格式等,在该情况下,可能不需要下采样或上采样。
本公开的CRC工具可通过在SPS、PPS、切片或图块组标头等中发信号通知二进制标志而启用。另外,CRC标志(crc_flag)可在变换单元语法或残差译码语法中发信号通知以针对变换单元启用CRC工具。因此,视频编码器200可在位流中发信号通知CRC标志,并且视频解码器300可从位流获得CRC标志。
在一些示例中,CRC标志的发信号通知取决于特定标准的出现。例如,在一个示例中,如果Cb残差块(cbf_cb)的译码块标志(cbf)为真,则可(例如,通过视频编码器200)发信号通知crc_flag。残差块的cbf指示残差块的变换系数的所有值是否均为零。在应用变换跳过模式的情况下,残差块的变换系数可处于样本域中。在第二示例中,如果Cr残差块(cbf_cr)的译码块标志(cbf)为真,则可(例如,通过视频编码器200)发信号通知crc_flag。在第三示例中,如果cbf_cb为真或cbf_cr为真,则可(例如,通过视频编码器200)发信号通知crc_flag。在又一示例中,如果cbf_cb和cbf_cr为真,则可(例如,通过视频编码器200)发信号通知crc_flag。
在其中如果cbf_cb为真且cbf_cr也为真则发信号通知crc_flag的示例中,可针对每个变换单元(例如,通过视频编码器200)发信号通知第二标志,该第二标志指示是发信号通知两个残差(F1(x,y)和F2(x,y),如方程1.a.i)和1.a.ii)中所定义)还是该两个残差中的仅一者,即,通过强制F1(x,y)或F2(x,y)为零。该强制可为固定的(例如,可强制仅F2(x,y)而非F1(x,y)为零);或可变的(其中可强制F1(x,y)或F2(x,y)为零)。对于后一种情况,可发信号通知另一标志以指示哪个残差被强制为零。用于这样做的一个动机在于,强制一个残差为零就速率而言可为便宜的,但可引起较多失真。因此,视频编码器200可具有在速率-失真权衡方面调整自身的灵活性。在另一个示例中,这些标志(发信号通知的残差的数量和哪个残差被强制为零)可在SPS、PPS、切片或图块组标头而非在变换单元层级发信号通知。
在一些示例中,crc_flag可被上下文译码或旁路译码(例如,通过视频编码器200和视频解码器300)。多个上下文可与取决于cbf_cb或cbf_cr值、取决于邻近或当前块模式(帧内、帧间、当前图片参考等)、取决于变换跳过标志、取决于块尺寸特性(宽度、高度、比率)、取决于是否使用双重或共享译码树等等的上下文一起使用。此外,在cbf_cr之后解析crc标志时,可取决于cbf_cr是否为真来应用crc标志的不同上下文。在cbf_cr之前解析crc标志时,可取决于在该情况下crc标志的值来应用cbf_cr的不同上下文。可取决于crc标志值而定义新上下文,或可取决于crc标志值而修改cbf_cr分量的现有上下文。
在一些示例中,一种或多种CRC方法可用于对样本进行译码(例如,一种方法可涉及RMF F1A(x,y)和F2A(x,y),而另一种方法可涉及RMF F1B(x,y)和F2B(x,y))。可通过以下示例中的一者或多者(例如,通过视频编码器200和视频解码器300)作出待由译码器使用的CRC方法的确定。在一个示例中,可通过分析原始Cb和Cr分量的经高通滤波版本之间的相关性来确定可用的(或可能的)CRC方法的列表。该分析可离线发生并且可基于广泛多种内容进行以确定哪些CRC方法提供压缩效率增益。在一些示例中,可通过分析图片纹理或块纹理和将特征映射至列表来确定可用的(或可能的)CRC方法的列表。不同CRC方法可使用不同RMF。可通过位流中指定待使用的CRC方法的指示(例如,CRC方法的列表的标志或索引)确定待使用的CRC方法。替代地,视频编码器200和视频解码器300可基于块的一个或多个特性确定CRC方法。此类特性可包括(但不限于)切片或图块组类型是帧内还是帧间类型、CPR(当前图片参考)、是否使用双重或共享译码树、残差块尺寸或宽高比,或块的其它特性。视频编码器200和视频解码器300可基于该确定使用所确定的CRC方法对视频的一个或多个分量进行译码。
此外,在本公开的一些示例中,由前向量化过程Q和反向量化过程invQ使用的量化参数值Qp可由offsetQp1值和offsetQp2值修改,如表1中所示。此类offsetQp值可为默认值,或者其可在位流(SPS、PPS、自适应参数集(APS)、切片或图块组标头、单元标头等)中发信号通知。默认值或经发信号通知值可取决于切片或图块组类型是帧内还是帧间类型、CPR(当前图片参考)、是否使用双重或共享译码树、残差块尺寸或宽高比等。发信号通知可取决于标志指示启用还是禁用组合残差译码工具。
在一些示例中,对于具有某些特性的块,不允许进行CRC方法。例如,对于具有少于阈值数量(例如,16个)样本的块,不允许进行CRC方法。在其它示例中,块的其它特性(包括(但不限于)宽度、高度、宽高比、邻近块特性、cbf_flag或其它语法元素的经发信号通知值等)可用于指定其中可能不允许进行CRC方法的块。
本公开通常可指代“发信号通知”某些信息,诸如语法元素。术语“发信号通知”通常可指代传送用于对编码后的视频数据进行解码的语法元素和/或其它数据的值。即,视频编码器200可在位流中发信号通知语法元素的值。通常,发信号通知是指在位流中产生值。如上文所提及,源设备102可基本上实时地将位流传送到目的地设备116,或不实时传送,诸如可在将语法元素存储到存储设备112以供目的地设备116稍后取得时发生。
图5A和5B是示出示例性四分树二元树(QTBT)结构290和对应的译码树单元(CTU)292的概念图。实线表示四分树分裂,而虚线指示二元树分裂。在二元树的每个分裂(即,非叶)节点中,发信号通知一个标志以指示使用哪种分裂类型(即,水平或竖直),其中在该示例中,0指示水平分裂而1指示竖直分裂。对于四分树分裂,不需要指示分裂类型,因为四分树节点将一个块水平和竖直分裂成大小相等的4个子块。因此,视频编码器200可对用于QTBT结构290的区域树层级(即,第一层级)(即,实线)的语法元素(诸如分裂信息)和用于QTBT结构290的预测树层级(即,第二层级)(即,虚线)的语法元素(诸如分裂信息)进行编码,并且视频解码器300可对其进行解码。对于由QTBT结构290的终端叶节点表示的CU,视频编码器200可以对视频数据(诸如预测数据和变换数据)进行编码,并且视频解码器300可以对该视频数据进行解码。
通常,图5B的CTU 292可以与定义与在第一和第二层级处的QTBT结构290的节点相对应的块的大小的参数相关联。这些参数可以包括CTU大小(表示样本中CTU 292的大小)、最小四分树大小(MinQTSize,表示最小允许四分树叶节点大小)、最大二元树大小(MaxBTSize,表示最大允许二元树根节点大小)、最大二元树深度(MaxBTDepth,表示最大允许二元树深度)和最小二元树大小(MinBTSize,表示最小允许二元树叶节点大小)。
与CTU相对应的QTBT结构的根节点在QTBT结构的第一层级处可以具有四个子节点,每个子节点可以根据四分树分割进行分割。即,第一层级的节点是叶节点(没有子节点)或者具有四个子节点。QTBT结构290的示例将此类节点表示为包括父节点和子节点,其中以实线代表分支。如果第一层级的节点不大于最大允许二元树根节点大小(MaxBTSize),则它们可以被相应的二元树进一步分割。一个节点的二元树分裂可以迭代进行,直到由于分裂而产生的节点达到最小允许二元树叶节点大小(MinBTSize)或最大允许二元树深度(MaxBTDepth)。QTBT结构290的示例将此类节点表示为以虚线代表分支。二元树叶节点被称为译码单元(CU),其用于预测(例如,帧内图片或帧间图片预测)和变换,而无需任何进一步的分割。如上文所讨论的,CU也可以被称为“视频块”或“块”。
在QTBT分割结构的一个示例中,CTU大小被设置为128x128(亮度样本和两个对应的64x64色度样本),MinQTSize被设置为16x16,MaxBTSize被设置为64x64,MinBTSize(针对宽度和高度两者)被设置为4,并且MaxBTDepth被设置为4。四分树分割首先应用于CTU以产生四分树叶节点。四分树叶节点的大小可以从16x16(即,MinQTSize)至128x128(即,CTU大小)。如果四分树叶节点是128x128,则它不会被二元树进一步分裂,因为大小超过了MaxBTSize(即,64x64,在该示例中)。否则,四分树叶节点将通过二元树进一步分割。因此,四分树叶节点也是二元树的根节点并且其二元树深度为0。当二元树深度达到MaxBTDepth(在该示例中为4)时,不允许进一步分裂。当二元树节点的宽度等于MinBTSize(在该示例中为4)时,这暗示不允许进一步的竖直分裂。类似地,高度等于MinBTSize的二元树节点暗示不允许对该二元树节点进行进一步的水平分裂。如上所描述,二元树的叶节点被称为CU,并且根据预测和变换进行进一步处理而无需进一步分割。
图6是示出可以执行本公开的技术的示例性视频编码器200的框图。图6是出于解释目的而提供并且不应被认为是对本公开广泛例示和描述的技术的限制。出于解释目的,本公开在诸如HEVC视频译码标准和研发中的H.266视频译码标准的视频译码标准的上下文中描述视频编码器200。然而,本公开的技术不限于这些视频译码标准,并且可一般性地适用于视频编码和解码。
在图6的示例中,视频编码器200包括视频数据存储器230、模式选择单元202、残差产生单元204、变换处理单元206、量化单元208、反向量化单元210、反向变换处理单元212、重构单元214、滤波器单元216、解码后图片缓冲器(DPB)218和熵编码单元220。此外,在图6的示例中,视频编码器200可包括残差修改单元205和反向残差修改单元213。视频数据存储器230、模式选择单元202、残差产生单元204、残差修改单元205、变换处理单元206、量化单元208、反向量化单元210、反向变换处理单元212、反向残差修改单元213、重构单元214、滤波器单元216、DPB 218和熵编码单元220中的任一者或全部可实施于一个或多个处理器中或处理电路中。此外,视频编码器200可以包括附加的或替代的处理器或处理电路以执行这些和其它功能。
视频数据存储器230可以存储将由视频编码器200的组件编码的视频数据。视频编码器200可接收来自例如视频源104(图1)的存储于视频数据存储器230中的视频数据。DPB218可充当参考图片存储器,其存储参考视频数据以供视频编码器200预测后续视频数据时使用。视频数据存储器230和DPB218可以由多种存储器设备中的任一种形成,诸如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM),或其它类型的存储器设备。视频数据存储器230和DPB 218可以由相同的存储器设备或单独的存储器设备提供。在各个示例中,视频数据存储器230可以如所示与视频编码器200的其它组件一起在芯片上,或者相对于那些组件在芯片外。
在本公开中,对视频数据存储器230的引用不应解译为限于在视频编码器200内部的存储器(除非特定地如此描述),或限于在视频编码器200外部的存储器(除非特定地如此描述)。更确切地,对视频数据存储器230的引用应理解为存储视频编码器200所接收以用于编码的视频数据(例如待编码的当前块的视频数据)的参考存储器。图1的存储器106还可提供对来自视频编码器200的各种单元的输出的暂时存储。
示出图6的各种单元以辅助理解由视频编码器200执行的操作。该单元可被实施为固定功能电路、可编程电路或其组合。固定功能电路是指提供特定功能性且对可执行的操作进行预先设置的电路。可编程电路是指可被编程为执行各种任务并在可执行的操作中提供灵活功能性的电路。例如,可编程电路可执行使可编程电路以由软件或固件的指令定义的方式进行操作的软件或固件。固定功能电路可执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常为不可变的。在一些示例中,单元中的一者或多者可为不同电路块(固定功能或可编程),并且在一些示例中,一个或多个单元可为集成电路。
视频编码器200可包括算术逻辑单元(ALU)、基本功能单元(EFU)、数字电路、模拟电路和/或由可编程电路形成的可编程核心。在其中视频编码器200的操作是使用由可编程电路执行的软件执行的示例中,存储器106(图1)可存储视频编码器200接收并执行的软件的目标代码,或视频编码器200内的另一存储器(未示出)可存储此类指令。
视频数据存储器230被配置为存储所接收视频数据。视频编码器200可从视频数据存储器230取得视频数据的图片,并将视频数据提供给残差产生单元204和模式选择单元202。视频数据存储器230中的视频数据可为待编码的原始视频数据。
模式选择单元202包括运动估计单元222、运动补偿单元224和帧内预测单元226。模式选择单元202可包括附加功能单元以根据其它预测模式来执行视频预测。作为示例,模式选择单元202可包括调色板单元、块内复制单元(其可为运动估计单元222和/或运动补偿单元224的一部分)、仿射单元、线性模型(LM)单元等。
模式选择单元202通常协调多个编码遍次(pass)以测试编码参数的组合和用于此类组合的所得速率-失真值。编码参数可包括CTU到CU的分割、用于CU的预测模式、用于CU的残差数据的变换类型、用于CU的残差数据的量化参数等等。模式选择单元202可最终选择比其它所测试组合具有更佳速率-失真值的编码参数的组合。
视频编码器200可将从视频数据存储器230取得的图片分割成一系列CTU,并且将一个或多个CTU封装于切片内。模式选择单元202可根据树型结构(诸如上文所描述的QTBT结构或HEVC的四分树结构)来分割图片的CTU。如上文所描述,视频编码器200可通过根据树结构分割CTU来形成一个或多个CU。此CU通常还可被称为“视频块”或“块”。
通常,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224和帧内预测单元226)以产生用于当前块(例如,当前CU,或在HEVC中PU与TU的重叠部分)的预测块。对于当前块的帧间预测,运动估计单元222可执行运动搜索以标识一个或多个参考图片(例如,存储于DPB218中的一个或多个先前译码的图片)中的一个或多个紧密匹配的参考块。具体地,运动估计单元222可例如根据绝对差总和(SAD)、平方差总和(SSD)、平均绝对差(MAD)、均方差(MSD)等来计算表示潜在参考块与当前块的类似程度的值。运动估计单元222通常可使用当前块与所考虑的参考块之间的逐样本差执行这些计算。运动估计单元222可标识具有由这些计算产生的最小值的参考块,从而指示与当前块最紧密匹配的参考块。
运动估计单元222可形成一个或多个运动向量(MV),其相对于当前图片中的当前块的位置定义参考图片中的参考块的位置。运动估计单元222然后可将运动向量提供给运动补偿单元224。例如,对于单向帧间预测,运动估计单元222可提供单个运动向量,而对于双向帧间预测,运动估计单元222可提供两个运动向量。运动补偿单元224然后可使用运动向量来产生预测块。例如,运动补偿单元224可使用运动向量取得参考块的数据。作为另一示例,如果运动向量具有分数样本精度,则运动补偿单元224可根据一个或多个内插滤波器为预测块内插值。此外,对于双向帧间预测,运动补偿单元224可取得用于通过相应的运动向量标识的两个参考块的数据,并且例如通过逐样本平均或加权平均来组合所取得的数据。
作为另一示例,对于帧内预测或帧内预测译码,帧内预测单元226可从邻近当前块的样本产生预测块。例如,对于定向模式,帧内预测单元226通常可在数学上组合邻近样本的值,并且在横跨当前块的所定义方向上填入这些计算值以产生预测块。作为另一示例,对于DC模式,帧内预测单元226可计算与当前块邻近的样本的平均值,并且产生预测块以针对预测块的每个样本包括这种所得平均值。
模式选择单元202将预测块提供给残差产生单元204。残差产生单元204从视频数据存储器230接收当前块的原始未经译码版本,并且从模式选择单元202接收预测块。残差产生单元204计算当前块与预测块之间的逐样本差。所得逐样本差定义当前块的残差块。在一些示例中,残差产生单元204还可确定残差块中的样本值之间的差,以使用残差差分脉冲译码调制(residual differential pulse code modulation,RDPCM)来产生残差块。在一些示例中,可使用执行二进制减法的一个或多个减法器电路来形成残差产生单元204。
在其中模式选择单元202将CU分割成PU的示例中,每个PU可与亮度预测单元和对应色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种大小的PU。如上文所指示,CU的大小可以指代CU的亮度译码块的大小,而PU的大小可以指代PU的亮度预测单元的大小。假设特定CU的大小是2Nx2N,则视频编码器200可以支持用于帧内预测的2Nx2N或NxN的PU大小,以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似的对称PU大小。视频编码器200和视频解码器300还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非对称分割。
在其中模式选择单元未将CU进一步分割成PU的示例中,每个CU可与亮度译码块和对应色度译码块相关联。如上所示,CU的大小可指CU的亮度译码块的大小。视频编码器200和视频解码器300可支持2Nx2N、2NxN或Nx2N的CU大小。
对于诸如块内复制模式译码、仿射模式译码和线性模型(LM)模式译码(举几个示例)之类的其它视频译码技术,模式选择单元202经由与译码技术相关联的相应的单元产生正被编码的当前块的预测块。在诸如调色板模式译码的一些示例中,模式选择单元202可不产生预测块,而是产生指示基于所选调色板来重构块的方式的语法元素。在此类模式中,模式选择单元202可将这些语法元素提供给熵编码单元220以进行编码。
如上文所描述,残差产生单元204接收用于当前块和对应预测块的视频数据。残差产生单元204然后产生当前块的残差块。为了产生残差块,残差产生单元204计算预测块与当前块之间的逐样本差。
根据本公开的一种或多种技术,残差修改单元205可将RMF应用于由残差产生单元204产生的残差色度数据。例如,残差修改单元205可将第一残差修改函数应用于视频数据的块的第一色度残差数据以产生第一经修改色度残差数据。残差修改单元205可将第二残差修改函数应用于块的第二色度残差数据以产生第二经修改色度残差数据。在该示例中,第一色度残差数据与第一色度分量(例如,Cb)相关联,并且第二色度残差数据与第二色度分量(例如,Cr)相关联。残差修改单元205不将RMF应用于残差亮度数据。
变换处理单元206将一个或多个变换应用于残差块(例如,通过应用RMF产生的经修改残差数据的块)以产生变换系数的块(在本文中被称为“变换系数块”)。变换处理单元206可将各种变换应用于残差块以形成变换系数块。例如,变换处理单元206可将离散余弦变换(DCT)、定向变换(directional transform)、Karhunen-Loeve变换(KLT)或概念上类似的变换应用于残差块。在一些示例中,变换处理单元206可对残差块执行多个变换,例如初级变换和次级变换,诸如旋转变换。在一些示例中,变换处理单元206不将变换应用于残差块。
量化单元208可量化变换系数块中的变换系数,以产生量化后的变换系数块。量化单元208可根据与当前块相关联的量化参数(QP)值量化变换系数块的变换系数。视频编码器200可通过调整与CU相关联的QP值来(例如,经由模式选择单元202)调整应用于与当前块相关联的变换系数块的量化程度。量化可引入信息的损失,并且因此,量化后的变换系数可具有比由变换处理单元206产生的原始变换系数低的精度。
反向量化单元210和反向变换处理单元212可分别将反向量化和反向变换应用于量化后的变换系数块,以根据变换系数块重构残差块。根据本公开的一个或多个示例,反向残差修改单元213可将反向RMF应用于由反向变换处理单元212产生的解码后的经修改色度残差数据。由反向残差修改单元213应用的反向RMF可为由残差修改单元205应用的RMF的反转。因此,反向残差修改单元213可产生残差块。反向残差修改单元213不将反向RMF应用于残差亮度数据。
重构单元214可基于重构后的残差块和通过模式选择单元202产生的预测块产生对应于当前块的重构块(尽管可能具有一些程度的失真)。例如,重构单元214可将重构后的残差块的样本添加到来自模式选择单元202产生的预测块的对应样本,以产生重构块。
滤波器单元216可对重构块执行一个或多个滤波操作。例如,滤波器单元216可执行解块操作以沿CU的边缘减少块效应(blockiness)伪影。在一些示例中,可跳过滤波器单元216的操作。
视频编码器200将重构块存储于DPB 218中。例如,在其中不需要滤波器单元216的操作的示例中,重构单元214可将重构块存储到DPB 218。在其中需要滤波器单元216的操作的示例中,滤波器单元216可将滤波后的重构块存储到DPB 218。运动估计单元222和运动补偿单元224可从DPB 218取得由重构(和可能滤波后的)块形成的参考图片,以对随后编码的图片的块进行帧间预测。另外,帧内预测单元226可使用当前图片在DPB 218中的重构块以对当前图片中的其它块进行帧内预测。
一般来说,熵编码单元220可对从视频编码器200的其它功能组件接收的语法元素进行熵编码。例如,熵编码单元220可对来自量化单元208的量化后的变换系数块进行熵编码。作为另一示例,熵编码单元220可对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可对语法元素(其为视频数据的另一示例)进行一个或多个熵编码操作以产生经熵编码的数据。例如,熵编码单元220可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率间隔分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。在一些示例中,熵编码单元220可在其中语法元素未被熵编码的旁路模式下操作。
视频编码器200可输出位流,该位流包括重构切片或图片的块所需的经熵编码语法元素。具体地,熵编码单元220可输出位流。
针对块描述上文所描述的操作。此描述应理解为用于亮度译码块和/或色度译码块的操作。如上文所描述,在一些示例中,亮度译码块和色度译码块是CU的亮度和色度分量。在一些示例中,亮度译码块和色度译码块是PU的亮度和色度分量。
在一些示例中,无需针对色度译码块重复关于亮度译码块执行的操作。作为一个示例,无需重复标识亮度译码块的运动向量(MV)和参考图片的操作来标识色度块的MV和参考图片。更确切地,亮度译码块的MV可被缩放以确定色度块的MV,并且参考图片可为相同的。作为另一示例,帧内预测过程可针对亮度译码块和色度译码块是相同的。
视频编码器200表示被配置为对视频数据进行编码的设备的示例,该设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理单元,该一个或多个处理单元实施于电路中并且被配置为:将第一残差修改函数应用于第一色度残差数据以产生第一经修改色度残差数据;对第一经修改色度残差数据进行编码;将第二残差修改函数应用于第二色度残差数据以产生第二经修改色度残差数据;以及对第二经修改色度残差数据进行编码,其中该第一色度残差数据与第一色度分量相关联并且该第二色度残差数据与第二色度分量相关联。
图7是示出可以执行本公开的技术的示例性视频解码器300的框图。图7是出于解释目的而提供并且并非是对本公开广泛例示和描述的技术的限制。出于解释目的,本公开根据JEM、VVC和HEVC的技术来描述视频解码器300。然而,本公开的技术可由被配置为其它视频译码标准的视频译码设备执行。
在图7的示例中,视频解码器300包括译码后图片缓冲器(CPB)存储器320、熵解码单元302、预测处理单元304、反向量化单元306、反向变换处理单元308、重构单元310、滤波器单元312和解码后图片缓冲器(DPB)314。根据本公开的一种或多种技术,视频解码器300还包括反向残差修改单元309。CPB存储器320、熵解码单元302、预测处理单元304、反向量化单元306、反向变换处理单元308、反向残差修改单元309、重构单元310、滤波器单元312和DPB 314中的任一者或全部可实施于一个或多个处理器或处理电路中。此外,视频解码器300可以包括附加的或替代的处理器或处理电路以执行这些和其它功能。
预测处理单元304包括运动补偿单元316和帧内预测单元318。预测处理单元304可包括根据其它预测模式执行预测的附加单元。作为示例,预测处理单元304可包括调色板单元、块内复制单元(其可形成运动补偿单元316的一部分)、仿射单元、线性模型(LM)单元等。在其它示例中,视频解码器300可以包括更多、更少或不同的功能组件。
CPB存储器320可存储待由视频解码器300的组件解码的视频数据,诸如编码后的视频位流。可(例如)从计算机可读介质110(图1)获得存储于CPB存储器320中的视频数据。CPB存储器320可包括存储来自编码后的视频位流的编码后的视频数据(例如,语法元素)的CPB。而且,存储器320可存储除译码后的图片的语法元素之外的视频数据,诸如表示来自视频解码器300的各种单元的输出的暂时数据。DPB 314通常存储解码后的图片,视频解码器300可在对编码后的视频位流的后续数据或图片进行解码时输出该解码后的图片和/或将其用作参考视频数据。CPB存储器320和DPB 314可以由多种存储器设备中的任一种形成,诸如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM),或其它类型的存储器设备。CPB存储器320和DPB 314可以由相同的存储器设备或单独的存储器设备提供。在各个示例中,CPB存储器320可以与视频解码器300的其它组件一起在芯片上,或者相对于那些组件在芯片外。
另外或替代地,在一些示例中,视频解码器300可从存储器120(图1)取得译码后的视频数据。即,存储器120可如上文关于CPB存储器320所讨论的那样来存储数据。同样地,当视频解码器300的一些或所有功能性实施于软件中以由视频解码器300的处理电路执行时,存储器120可存储待由视频解码器300执行的指令。
示出图7中所示的各种单元以辅助理解由视频解码器300执行的操作。该单元可被实施为固定功能电路、可编程电路或其组合。类似于图6,固定功能电路是指提供特定功能性且对可执行的操作进行预先设置的电路。可编程电路是指可被编程为执行各种任务并在可执行的操作中提供灵活功能性的电路。例如,可编程电路可执行使可编程电路以由软件或固件的指令定义的方式进行操作的软件或固件。固定功能电路可执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常为不可变的。在一些示例中,单元中的一者或多者可为不同电路块(固定功能或可编程),并且在一些示例中,一个或多个单元可为集成电路。
视频解码器300可包括ALU、EFU、数字电路、模拟电路和/或由可编程电路形成的可编程核心。在其中视频解码器300的操作是由在可编程电路上执行的软件执行的示例中,芯片上或芯片外存储器可存储视频解码器300接收并执行的软件的指令(例如目标代码)。
熵解码单元302可从CPB存储器320接收编码后的视频数据,并且对视频数据进行熵解码以再现语法元素。预测处理单元304、反向量化单元306、反向变换处理单元308、反向残差修改单元309、重构单元310和滤波器单元312可基于从位流提取的语法元素而产生解码后的视频数据。
通常,视频解码器300逐块地重构图片。视频解码器300可单独对每一块执行重构操作(其中当前被重构(即,被解码)的块可被称为“当前块”)。
熵解码单元302可对定义量化后的变换系数块的量化后的变换系数以及诸如量化参数(QP)和/或变换模式指示的变换信息的语法元素进行熵解码。反向量化单元306可使用与量化后的变换系数块相关联的QP来确定量化程度,并且同样确定反向量化程度以供反向量化单元306应用。反向量化单元306可例如执行按位左移操作以将量化后的变换系数反向量化。反向量化单元306可由此形成包括变换系数的变换系数块。
在反向量化单元306形成变换系数块后,反向变换处理单元308可将一个或多个反向变换应用于变换系数块以产生与当前块相关联的残差块。根据本公开的一个或多个示例,反向变换处理单元308可将一个或多个反向变换应用于变换系数块以产生解码后的经修改色度残差数据。在一个示例中,反向变换处理单元308可以将反向DCT、反向整数变换、反向Karhunen-Loeve变换(KLT)、反向旋转变换、反向方向变换或另一种反向变换应用于变换系数块。因为当前块可包括一个亮度分量和两个色度分量,所以反向变换处理单元308可产生用于当前块的解码后的亮度残差数据、第一解码后的经修改色度残差数据和第二解码后的经修改色度残差数据。
根据本公开的一种或多种技术,反向残差修改单元309可将反向RMF应用于解码后的经修改色度残差数据。因此,反向残差修改单元309可将第一反向残差修改函数应用于第一解码后的经修改色度残差数据(例如,Cb残差数据)以产生第一经反向修改色度残差数据。另外,反向残差修改单元309可将第二反向残差修改函数应用于第二解码后的经修改色度残差数据(例如Cr残差数据)以产生第二经反向修改色度残差数据。
此外,预测处理单元304根据由熵解码单元302熵解码的预测信息语法元素产生预测块。例如,如果预测信息语法元素指示当前块经帧间预测,则运动补偿单元316可产生预测块。在该情况下,预测信息语法元素可指示DPB314中从其取得参考块的参考图片以及运动向量,该运动向量标识参考图片中的参考块相对于当前图片中的当前块的位置的位置。运动补偿单元316通常可以基本上类似于关于运动补偿单元224(图6)所描述的方式执行帧间预测过程。
作为另一示例,如果预测信息语法元素指示当前块经帧内预测,则帧内预测单元318可根据通过预测信息语法元素指示的帧内预测模式产生预测块。而且,帧内预测单元318通常可以基本上类似于关于帧内预测单元226(图6)所描述的方式执行帧内预测过程。帧内预测单元318可从DPB 314取得邻近当前块的样本的数据。
重构单元310可使用预测块和残差块(例如,通过反向残差修改单元309产生的残差色度数据的块)来重构当前块。例如,重构单元310可将残差块的样本添加到预测块的对应样本以重构当前块。根据本公开的技术,残差块可为由反向残差修改单元309产生的经反向修改色度残差数据。
滤波器单元312可对重构块执行一个或多个滤波操作。例如,滤波器单元312可执行解块操作以沿重构块的边缘减少块效应伪影。滤波器单元312的操作不一定在所有示例中执行。
视频解码器300可将重构块存储于DPB 314中。例如,在其中不执行滤波器单元312的操作的示例中,重构单元310可将重构块存储到DPB 314。在其中执行滤波器单元312的操作的示例中,滤波器单元312可将滤波后的重构块存储到DPB 314。如上文所讨论,DPB 314可将诸如用于帧内预测的当前图片和用于后续运动补偿的经先前解码图片的样本的参考信息提供给预测处理单元304。此外,视频解码器300可输出来自DPB的解码后的图片以用于随后呈现于诸如图1的显示设备118的显示设备上。
这样,视频解码器300表示视频解码设备的示例,该视频解码设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理单元,该一个或多个处理单元实施于电路中并且被配置为:将第一反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;将第二反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中该第一解码后的经修改色度残差数据与第一色度分量相关联,并且该第二解码后的经修改色度残差数据与第二色度分量相关联;以及基于第一经反向修改色度残差数据和第二经反向修改色度残差数据重构视频数据的块。
图8是示出用于对当前块进行编码的示例性方法的流程图。当前块可包括当前CU。尽管关于视频编码器200(图1和图6)进行描述,但应理解,其它设备可被配置为执行类似于图8的方法的方法。
在该示例中,视频编码器200首先预测当前块(350)。例如,视频编码器200可形成当前块的预测块。视频编码器200然后可计算当前块的残差块(352)。换言之,视频编码器200可计算当前块的亮度残差数据和色度残差数据。为了计算残差块,视频编码器200可计算当前块的原始未经编码块的样本与预测块的对应样本之间的差。例如,为了计算Cb残差块,视频编码器200可计算当前块的原始未经编码块的Cb样本与预测块的对应Cb样本之间的差。
根据本公开的一种或多种技术,视频编码器200可将残差修改函数应用于当前块的色度残差数据以产生经修改色度残差数据(353)。视频编码器200然后可对残差块进行变换以产生变换系数并量化残差块的变换系数(354)。即,视频编码器200然后可应用将经修改色度残差数据转换到诸如频域的变换域的前向变换,由此产生变换系数。视频编码器200然后可量化变换系数。在其它示例中,视频编码器200可在应用前向变换之后应用残差修改函数。
接下来,视频编码器200可扫描残差块的量化后的变换系数(356)。在扫描期间或在扫描之后,视频编码器200可对变换系数进行熵编码(358)。例如,视频编码器200可使用CAVLC或CABAC对变换系数进行编码。视频编码器200然后可输出块的经熵编码数据(360)。
图9是示出用于对当前视频数据的块进行解码的示例性方法的流程图。当前块可包括当前CU。尽管关于视频解码器300(图1和图7)进行描述,但应理解,其它设备可被配置为执行类似于图9的方法的方法。
视频解码器300可接收当前块的经熵译码数据,诸如对应于当前块的残差块的变换系数的经熵译码数据和经熵译码预测信息(370)。视频解码器300可对经熵编码数据进行熵解码,以确定当前块的预测信息并再现残差块的变换系数(372)。视频解码器300可例如使用如由当前块的预测信息所指示的帧内或帧间预测来预测当前块(374),以计算当前块的预测块。视频解码器300随后可反向扫描经再现的变换系数(376),以产生量化后的变换系数的块。视频解码器300可随后对变换系数进行反向量化和反向变换以产生残差块(378)。视频解码器300可针对当前块的每个彩色分量执行动作372至378。因此,视频解码器300可产生当前块的Y残差块、Cb残差块和Cr残差块。Cb残差块可为第一解码后的残差色度数据,并且Cr残差块可为第二解码后的残差色度数据。在其它示例中,Cr残差块可被视为第一解码后的残差色度数据,并且Cb残差块可被视为第二解码后的残差色度数据。根据本公开的一种或多种技术,视频解码器300可将反向残差修改函数应用于解码后的残差色度数据(379)。视频解码器300可根据在本公开中别处提供的示例中的任一者将反向残差修改函数应用于解码后的残差色度数据。在其它示例中,视频解码器300可在应用反向变换之前应用反向残差修改函数。
视频解码器300最后可通过组合预测块与残差块来对当前块进行解码(380)。例如,视频解码器300可针对彩色分量中的每一者将预测块的彩色分量的样本添加到彩色分量的残差块的对应样本。
图10是示出根据本公开的一种或多种技术的视频编码器200的示例性操作的流程图。在图10的示例中,视频编码器200可将第一残差修改函数应用于视频数据的块的第一色度残差数据以产生第一经修改色度残差数据(400)。例如,视频编码器200可应用如方程1.a.i、1.b.i、1.c.i、1.c.v中任一者中所描述的残差修改函数或另一残差修改函数。
另外,在图10的示例中,视频编码器200可对第一经修改色度残差数据进行编码(402)。作为对第一经修改色度残差数据进行编码的一部分,视频编码器200可应用将第一经修改色度残差数据从样本域转换到诸如频域的变换域的前向变换(例如,离散余弦变换、离散正弦变换或另一类型的变换)(404)。样本域中的数据指示样本的值(例如,亮度值、Cb值、Cr值)。通过将前向变换应用于第一经修改色度残差数据,视频编码器200可产生变换系数的第一块。此外,作为对第一经修改色度残差数据进行编码的一部分,视频编码器200可对变换系数的第一块中的变换系数进行量化。另外,视频编码器200可将熵编码应用于表示变换系数的经量化第一块的语法元素。在一些示例中,视频编码器200可跳过前向变换的应用。换言之,视频编码器200可针对当前块使用变换跳过模式。为了便于解释,如果针对当前块使用变换跳过模式,则本公开可使用术语“变换系数”以便应用于残差数据。
此外,视频编码器200可将第二残差修改函数应用于块的第二色度残差数据以产生第二经修改色度残差数据(406)。例如,视频编码器200可应用如方程1.a.ii、1.b.ii、1.c.ii、1.c.vi中任一者中所描述的残差修改函数或另一残差修改函数。
视频编码器200可对第二经修改色度残差数据进行编码(408)。该第一色度残差数据与第一色度分量相关联,并且该第二色度残差数据与第二色度分量相关联。作为对第二经修改色度残差数据进行编码的一部分,视频编码器200可应用将第二经修改色度残差数据从样本域转换到诸如频域的变换域的前向变换(例如,离散余弦变换、离散正弦变换或另一类型的变换)(410)。通过将前向变换应用于第二经修改色度残差数据,视频编码器200可产生变换系数的第二块。此外,作为对第二经修改色度残差数据进行编码的一部分,视频编码器200可对变换系数的第二块中的变换系数进行量化。另外,视频编码器200可将熵编码应用于表示变换系数的经量化第二块的语法元素。在一些示例中,视频编码器200可跳过前向变换的应用。
在一些示例中,在应用第一残差修改函数之前,视频编码器200可确定是将第一残差修改函数还是第三残差修改函数应用于第一色度残差数据以产生第一经修改色度残差数据。类似地,在应用第二残差修改函数之前,视频编码器200可确定是将第二残差修改函数还是第四残差修改函数应用于第二色度残差数据以产生第二经修改色度残差数据。因此,视频编码器200可确定哪个残差修改函数将应用于第一残差色度数据和第二残差色度数据。
视频编码器200可以多种方式中的一者确定应用哪个残差修改函数。例如,在一些示例中,视频编码器200可基于块的一个或多个特性确定是将第一残差修改函数还是第三残差修改函数应用于第一色度残差数据以产生第一经修改色度残差数据。此外,视频编码器200可基于块的一个或多个特性确定是将第二残差修改函数还是第四残差修改函数应用于第二色度残差数据以产生第二经修改色度残差数据。块的此类特性可包括以下一者或多者:含有块的切片或图块是帧内类型还是帧间类型、当前图片参考是否与块一起使用、双重或共享译码树是否与块一起使用、块的尺寸、块的宽高比,或块的其它特性。例如,视频编码器200可在块处于I切片中的情况下确定使用第一残差修改函数,或者在块处于P切片或B切片中的情况下确定使用第三残差修改函数。I切片是允许帧内预测但不允许帧间预测的切片。P切片是允许帧内预测和单向帧间预测但不允许双向帧间预测的切片。B切片是允许帧内预测、单向帧间预测和双向帧间预测的切片。
在一些示例中,视频编码器200可在位流中发信号通知指示第一残差修改函数还是第三残差修改函数被应用于第一色度残差数据以产生第一经修改色度残差数据的数据。类似地,视频编码器200可在位流中发信号通知指示第二残差修改函数还是第四残差修改函数被应用于第二色度残差数据以产生第二经修改色度残差数据的数据。例如,在位流中发信号通知的一个或多个语法元素可指定应用了哪个残差修改函数。
在一些示例中,视频编码器200可与应用残差修改函数一起地应用CRS过程。例如,在一些示例中,在将第一反向残差修改函数应用于第一色度残差数据以产生第一经修改色度残差数据之后,视频编码器200可将CRS过程应用于第一经反向修改色度残差数据。另外,在该示例中,在将第二残差修改函数应用于第二色度残差数据以产生第二经修改色度残差数据之后,视频编码器200可将CRS过程应用于第二经修改色度残差数据。例如,为了应用CRS过程,视频编码器200可应用方程7,如在本公开中别处所描述。
在其它示例中,作为将第一残差修改函数应用于第一色度残差数据以产生第一经修改色度残差数据的一部分,视频编码器200可将CRS过程应用于第一色度残差数据。另外,在该示例中,作为将第二残差修改函数应用于第二色度残差数据以产生第二经修改色度残差数据的一部分,视频编码器200可将CRS过程应用于第二色度残差数据。作为根据在本公开中别处提供的示例中的任一者应用第一和第二残差修改函数的一部分,视频编码器200可应用CRS过程。
图11是示出根据本公开的一种或多种技术的视频解码器300的示例性操作的流程图。在图11的示例中,视频解码器300可通过应用反向变换将视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据(450)。例如,视频解码器300可应用将第一组变换系数从频域转换到样本域的反向DCT变换。另外,视频解码器300可通过应用反向变换将块的第二组变换系数从变换域转换到样本域而产生第二解码后的经修改色度残差数据(452)。第一解码后的经修改色度残差数据与第一色度分量(例如Cb)相关联,并且第二解码后的经修改色度残差数据与第二色度分量(例如Cr)相关联。
此外,在图11的示例中,视频解码器300可将第一反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据(454)。例如,视频解码器300可应用如方程1.a.iii、1.b.iii、1.c.iii、1.c.vii中任一者中所描述的反向残差修改函数或另一反向残差修改函数。
视频解码器300可将第二反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据(456)。例如,视频解码器300可应用如方程1.a.iv、1.b.iv、1.c.iv、1.c.viii中任一者中所描述的反向残差修改函数或另一反向残差修改函数。
另外,视频解码器300可基于第一经反向修改色度残差数据和第二经反向修改色度残差数据重构视频数据的块(458)。例如,视频解码器300可将第一经反向修改色度残差数据的样本添加到第一色度分量的预测块的对应样本。另外,在该示例中,视频解码器300可将第二经反向修改色度残差数据的样本添加到第二色度分量的预测块的对应样本。换言之,视频解码器300可将第一经反向修改色度残差数据添加到第一经预测色度数据以获得块的第一经重构色度数据,并且将第二经反向修改色度残差数据添加到第二经预测色度数据以获得块的第二经重构色度数据。
在一些示例中,在应用第一反向残差修改函数之前,视频解码器300可确定是将第一反向残差修改函数还是第三反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据。类似地,在应用第二反向残差修改函数之前,视频解码器300可确定是将第二反向残差修改函数还是第四反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据。因此,视频解码器300可确定哪一残差修改函数将应用于第一解码后的残差色度数据和第二解码后的残差色度数据。
视频解码器300可以多种方式中的一者确定应用哪个反向残差修改函数。例如,在一些示例中,视频解码器300可基于块的一个或多个特性确定是将第一反向残差修改函数还是第三反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据。此外,视频解码器300可基于块的一个或多个特性确定是将第二反向残差修改函数还是第四反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据。块的此类特性可包括以下一者或多者:含有块的切片或图块是帧内类型还是帧间类型、当前图片参考是否与块一起使用、双重或共享译码树是否与块一起使用、块的尺寸、块的宽高比,或块的其它特性。例如,视频解码器300可在块处于I切片中的情况下确定使用第一反向残差修改函数,或者在块处于P切片或B切片中的情况下确定使用第三反向残差修改函数。
在一些示例中,视频解码器300可基于在位流中发信号通知的数据确定是将第一反向残差修改函数还是第三反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据。类似地,视频解码器300可基于在位流中发信号通知的数据确定是将第二反向残差修改函数还是第四反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据。例如,在位流中发信号通知的一个或多个语法元素可指定使用哪个反向残差修改函数。
在一些示例中,视频解码器300可与应用反向残差修改函数一起地应用反向CRS过程。例如,在一些示例中,在将第一反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据之前,视频解码器300可将反向CRS过程应用于第一解码后的经修改色度残差数据。另外,在该示例中,在将第二反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据之前,视频解码器300可将反向CRS过程应用于第二解码后的经修改色度残差数据。例如,为应用反向CRS过程,视频解码器300可应用方程8,如在本公开中别处所描述。
在其它示例中,作为将第一反向残差修改函数应用于第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据的一部分,视频解码器300可将反向CRS过程应用于第一解码后的经修改色度残差数据。另外,在此示例中,作为将第二反向残差修改函数应用于第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据的一部分,视频解码器300可将反向CRS过程应用于第二解码后的经修改色度残差数据。
以下所列举的段落提供本公开的技术的示例的非限制性列表。
示例1A.一种对视频数据进行解码的方法,所述方法包括:将第一反向残差修改函数应用于第一解码后的色度残差数据(即,在视频解码的上下文中的第一解码后的经修改色度残差数据),以产生第一经修改解码后的色度残差数据(即,在视频解码的上下文中的第一经反向修改解码后的色度残差数据);将第二反向残差修改函数应用于第二解码后的色度残差数据(即,在视频解码的上下文中的第二解码后的经修改色度残差数据),以产生第二经修改解码后的色度残差数据(即,在视频解码的上下文中的第二经反向修改解码后的色度残差数据),其中所述第一解码后的色度残差数据与第一色度分量相关联,并且所述第二解码后的色度残差数据与第二色度分量相关联;基于所述第一经修改解码后的色度残差数据和所述第二经修改解码后的色度残差数据重构视频数据的块。
示例2A.根据示例1A所述的方法,其中重构所述块包括:将所述第一经修改解码后的色度残差数据添加到第一经预测色度数据以获得所述块的第一经重构色度数据;以及将所述第二经修改解码后的色度残差数据添加到第二经预测色度数据以获得所述块的第二经重构色度数据。
示例3A.根据示例1A至2A中的任一项所述的方法,其中:所述第一反向残差修改函数是:invF1(x,y)=(resCr(x,y)’+resCb(x,y)’+B1)/M1,所述第二反向残差修改函数是:invF2(x,y)=(resCr(x,y)’-resCb(x,y)’+B2)/M2,其中resCb(x,y)’是第一解码后的色度残差数据,resCr(x,y)’是第二解码后的色度残差数据,B1和B2是舍入项,并且1/M1和1/M2是归一化因子。
示例4A.根据示例1A至2A中的任一项所述的方法,其中:所述第一反向残差修改函数是:invF1(x,y)=(resCb(x,y)’+resCr(x,y)’+B1)/M1,所述第二反向残差修改函数是:invF2(x,y)=(resCb(x,y)’-resCr(x,y)’+B2)/M2,其中resCb(x,y)’是第一解码后的色度残差数据,resCr(x,y)’是第二解码后的色度残差数据,B1和B2是舍入项,并且1/M1和1/M2是归一化因子。
示例5A.根据示例1A至2A中的任一项所述的方法,其中:所述第一反向残差修改函数是:invF1(x,y)=(resCr(x,y)’+B10)/M10+(resCb(x,y)’+B11)/M11,所述第二反向残差修改函数是:invF2(x,y)=(resCr(x,y)’+B20)/M20-resCb(x,y)’+B21)/M21,其中resCb(x,y)’是第一解码后的色度残差数据,resCr(x,y)’是第二解码后的色度残差数据,B10、B11、B20和B21是舍入项,并且1/M10、1/M11、1/M20和1/M21是归一化因子。
示例6A.根据示例1A至5A中的任一项所述的方法,其中所述方法还包括:将第一反向色度残差缩放(CRS)过程应用于所述第一经修改解码后的色度残差数据;以及将第二反向CRS过程应用于所述第二经修改解码后的色度残差数据。
示例7A.根据示例1A至6A中的任一项所述的方法,其中:应用所述第一反向残差修改函数包括在反向量化第一解码后的色度残差数据之后且在应用反向变换过程之前应用第一反向残差修改函数,并且应用所述第二反向残差修改函数包括在反向量化第二解码后的色度残差数据之后且在应用反向变换过程之前应用第二反向残差修改函数。
示例8A.根据示例3A至5A中的任一项所述的方法,其中resCr(x,y)’或resCb(x,y)’用resY(x,y)’取代,其中resY(x,y)’是解码后的亮度残差数据。
示例9A.根据示例1A至8A中的任一项所述的方法,还包括从包括视频数据的经编码表示的位流获得指示是否应用所述第一反向残差修改函数和所述第二反向残差修改函数的标志。
示例10A.根据示例9A所述的方法,其中如果第一色度分量的经译码块标志(CBF)为真且第二色度分量的CBF为真,则发信号通知所述标志。
示例11A.根据示例10A所述的方法,其中所述标志是第一标志并且所述方法还包括从所述位流获得第二标志,所述第二标志用于变换单元,所述第二标志指示应用以下各项中的哪一项:(i)发信号通知所述第一解码后的色度残差数据和所述第二解码后的色度残差数据两者,以及(ii)发信号通知所述第一解码后的色度残差数据和所述第二解码后的色度残差数据中的仅一者。
示例12A.根据示例11A所述的方法,所述方法还包括从所述位流获得指示所述第一解码后的色度残差数据和所述第二解码后的色度残差数据中的哪一者被强制为零的第三标志。
示例13A.根据示例9A至12A中的任一项所述的方法,其中指示是否应用所述第一反向残差修改函数和所述第二反向残差修改函数的标志是第一标志且所述方法还包括:从所述位流获得第一色度分量的CBF;基于第一色度分量的CBF选择所述第一标志的上下文;以及使用所选上下文对所述第一标志进行熵解码。
示例14A.根据示例9A至12A中的任一项所述的方法,其中指示是否应用所述第一反向残差修改函数和所述第二反向残差修改函数的标志是第一标志并且所述方法还包括:基于第一标志选择第一色度分量的CBF的上下文;以及使用所选上下文对第一色度分量的CBF进行熵解码。
示例15A.根据示例1A至14A中的任一项所述的方法,还包括:从多个可用第一反向残差修改函数当中确定第一反向残差修改函数;以及从多个可用第二反向残差修改函数当中确定第二反向残差修改函数。
示例16A.根据示例1A至15A中的任一项所述的方法,还包括:在将第一反向残差修改函数应用于第一解码后的色度残差数据之前:基于量化参数和第一量化参数偏移来反向量化第一经量化色度变换数据;以及将反向变换应用于经反向量化的第一经量化色度变换数据以产生第一解码后的色度残差数据,在将第二反向残差修改函数应用于第二解码后的色度残差数据之前:基于量化参数和第二量化参数偏移来反向量化第二经量化色度变换数据;以及将反向变换应用于第二经反向量化的第二经量化色度变换数据以产生第二解码后的色度残差数据。
示例17A.根据示例16A所述的方法,还包括:从包括视频数据的经编码表示的位流获得第一量化参数偏移或第二量化参数偏移中的至少一者。
示例18A.根据示例1A至17A中的任一项所述的方法,还包括:基于块的一个或多个特性确定是否不允许应用第一反向残差修改函数;基于块的一个或多个特性确定是否不允许应用第二反向残差修改函数。
示例1B.一种对视频数据进行编码的方法,所述方法包括:将第一残差修改函数应用于第一色度残差数据以产生第一经修改色度残差数据;对所述第一经修改色度残差数据进行编码;将第二残差修改函数应用于第二色度残差数据以产生第二经修改色度残差数据;以及对所述第二经修改色度残差数据进行编码,其中所述第一色度残差数据与第一色度分量相关联,并且所述第二色度残差数据与第二色度分量相关联。
示例2B.根据示例1B所述的方法,其中对经修改色度残差数据进行编码包括:将前向变换应用于经修改色度残差数据以产生变换数据;以及量化所述变换数据以产生经量化变换数据。
示例3B.根据示例1B至2B中任一项所述的方法,其中:第一残差修改函数是:F1(x,y)=(resCb(x,y)-resCr(x,y)+A1)/N1,第二残差修改函数是:F2(x,y)=(resCb(x,y)+resCr(x,y)+A2)/N2,其中resCb(x,y)是第一色度残差数据,resCr(x,y)是第二色度残差数据,A1和A2是舍入项,并且1/N1和1/N2是归一化因子。
示例4B.根据示例1B至2B中任一项所述的方法,其中:第一残差修改函数是:F1(x,y)=(resCb(x,y)+resCr(x,y)+A1)/N1,第二残差修改函数是:F2(x,y)=(resCb(x,y)-resCr(x,y)+A2)/N2,其中resCb(x,y)是第一色度残差数据,resCr(x,y)是第二色度残差数据,A1和A2是舍入项,并且1/N1和1/N2是归一化因子。
示例5B.根据示例1B至2B中任一项所述的方法,其中:第一残差修改函数是:F1(x,y)=(resCb(x,y)+A10)/N10–(resCr(x,y)+A11)/N11,第二残差修改函数是:第二残差修改函数为:F2(x,y)=(resCb(x,y)+A20)/N20+(resCr(x,y)+A21)/N21,其中resCb(x,y)是第一色度残差数据,resCr(x,y)是第二色度残差数据,A10、A11、A20和A21是舍入项,并且1/N10、1/N11、1/N20和1/N21是归一化因子。
示例6B.根据示例1B至5B中任一项所述的方法,其中:所述方法还包括:将色度残差缩放(CRS)应用于第一色度残差数据;以及将CRS应用于第二色度残差数据,应用第一残差修改函数包括在将CRS应用于第一色度残差数据之后将第一残差修改函数应用于第一色度残差数据,并且应用第二残差修改函数包括在将CRS应用于第二色度残差数据之后将第二残差修改函数应用于第二色度残差数据。
示例7B.根据示例1B至6B中任一项所述的方法,其中:应用第一残差修改函数包括将前向变换过程应用于第一色度残差数据且在量化所述第一色度残差数据之前,并且应用第二残差修改函数包括将前向变换过程应用于第二色度残差数据且在量化所述第二色度残差数据之前。
示例8B.根据示例3B至5B中任一项所述的方法,其中resCr(x,y)或resCb(x,y)用resY(x,y)’取代,其中resY(x,y)’是亮度残差数据。
示例9B.根据示例1B至8B中任一项所述的方法,还包括在包括视频数据的经编码表示的位流中发信号通知指示是否应用第一残差修改函数和第二残差修改函数的标志。
示例10B.根据示例9B所述的方法,其中如果第一色度分量的经译码块标志(CBF)为真且所述第二色度分量的CBF为真,则发信号通知所述标志。
示例11B.根据示例10B所述的方法,其中所述标志是第一标志并且所述方法还包括在位流中包括第二标志,所述第二标志用于变换单元,所述第二标志指示应用以下各项中的哪一项:(i)发信号通知第一色度残差数据和第二色度残差数据两者,和(ii)发信号通知第一色度残差数据和第二色度残差数据中的仅一者。
示例12B.根据示例11B所述的方法,其中所述方法还包括在位流中包括指示第一色度残差数据和第二色度残差数据中的哪一者被强制为零的第三标志。
示例13B.根据示例9B至12B中任一项所述的方法,其中指示是否应用第一残差修改函数和第二残差修改函数的标志是第一标志,并且所述方法还包括:在位流中包括第一色度分量的CBF;基于第一色度分量的CBF选择所述第一标志的上下文;以及使用所选上下文对所述第一标志进行熵编码。
示例14B.根据示例9B至12B中的任一项所述的方法,其中指示是否应用所述第一残差修改函数和所述第二残差修改函数的标志是第一标志并且所述方法还包括:基于第一标志选择第一色度分量的CBF的上下文;以及使用所选上下文对第一色度分量的CBF进行熵编码。
示例15B.根据示例1B至14B中的任一项所述的方法,还包括:从多个可用第一残差修改函数当中确定第一残差修改函数;以及从多个可用第二残差修改函数当中确定第二残差修改函数。
示例16B.根据示例1B至15B中任一项所述的方法,还包括:在将第一残差修改函数应用于第一色度残差数据之后:将变换应用于第一色度残差数据以产生第一色度变换数据;以及基于量化参数和第一量化参数偏移来量化第一色度变换数据;以及在将第二残差修改函数应用于第二色度残差数据之后:将所述变换应用于第二色度残差数据以产生第二色度变换数据;以及基于量化参数和第二量化参数偏移来量化第一色度变换数据。
示例17B.根据示例16B的方法,还包括:在包括视频数据的经编码表示的位流中发信号通知第一量化参数偏移或第二量化参数偏移中的至少一者。
示例18B.根据示例1B至17B中任一项所述的方法,还包括:基于块的一个或多个特性确定是否不允许应用第一残差修改函数;基于块的一个或多个特性确定是否不允许应用第二残差修改函数。
示例1C.一种用于对视频数据进行译码的设备,所述设备包括用于执行根据示例1A至18A或1B至18B中任一项所述的方法的一个或多个部件。
示例2C.根据示例1C所述的设备,其中所述一个或多个部件包括实施于电路中的一个或多个处理器。
示例3C.根据示例1C至2C中任一项所述的设备,还包括存储器,所述存储器用于存储视频数据。
示例4C.根据示例1C至3C中任一项所述的设备,还包括显示器,所述显示器被配置为显示解码后的视频数据。
示例5C.根据示例1C至4C中任一项所述的设备,其中所述设备包括以下一者或多者:相机、计算机、移动设备、广播接收器设备或机顶盒。
示例6C.根据示例1C至5C中任一项所述的设备,其中所述设备包括视频解码器。
示例7C.根据示例1C至6C中任一项所述的设备,其中所述设备包括视频编码器。
示例8C.一种其上存储有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器执行根据示例1A至18A或1B至18B中任一项所述的方法。
应当认识到,取决于示例,本文描述的任何技术的某些动作或事件可以以不同顺序执行,可以被添加、合并或完全排除(例如,并非所有描述的动作或事件都是技术实践所必需的)。此外,在某些示例中,动作或事件可以同时执行,例如,通过多线程处理、中断处理或多个处理器执行,而不是顺序执行。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果以软件实施,则功能可以作为一或多个指令或代码存储在计算机可读介质上或在计算机可读介质上发送并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质(其对应于诸如数据存储介质之类的有形介质)或通信介质,其包括促进例如根据通信协议将计算机程序从一个地方传输到另一个地方的任何介质。以此方式,计算机可读介质一般可对应于(1)非暂时性有形计算机可读存储介质,或(2)通信介质(诸如,信号或载波)。数据存储介质可为可由一个或多个计算机或一个或多个处理器访问以取得用于实施本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
通过示例的方式而不是限制的方式,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、闪存存储器或者可以用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机访问的任何其它介质。而且,将任何连接适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源发送指令,则在介质的定义中包括同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时性介质,而是针对非暂时性、有形存储介质。如本文中使用的磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘借助于激光光学地再现数据。上述组合也应包括于计算机可读介质的范围内。
指令可以由一个或多个处理器执行,如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效的集成或离散逻辑电路系统。因此,如本文所使用的术语“处理器”和“处理电路”可以指代任何前述结构或者适合于实施本文描述的技术的任何其它结构。另外,在一些方面中,本文描述的功能性可以被提供于被配置用于编码和解码或者被结合在组合编解码器中的专用硬件和/或软件模块内。而且,技术可完全实施于一个或多个电路或逻辑元件中。
本公开的技术可实施于广泛多种设备或装置中,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本公开中描述各种组件、模块或单元以强调被配置为执行所公开技术的设备的功能方面,但未必需要由不同硬件单元来实现。更确切地,如上文所描述,可将各种单元组合于编解码硬件单元中,或由互操作性硬件单元(包括如上文所描述的一个或多个处理器)的集合结合合适软件和/或固件来提供各种单元。
已经描述了各种示例。这些和其它示例在以下权利要求的范围内。

Claims (41)

1.一种对视频数据进行解码的方法,所述方法包括:
通过应用反向变换将所述视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据;
通过应用所述反向变换将所述块的第二组变换系数从所述变换域转换到所述样本域而产生第二解码后的经修改色度残差数据;
在产生所述第一解码后的经修改色度残差数据之后,将第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;
在产生所述第二解码后的经修改色度残差数据之后,将第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中所述第一解码后的经修改色度残差数据与第一色度分量相关联,并且所述第二解码后的经修改色度残差数据与第二色度分量相关联;以及
基于所述第一经反向修改色度残差数据和所述第二经反向修改色度残差数据重构所述视频数据的所述块。
2.根据权利要求1所述的方法,其中重构所述块包括:
将所述第一经反向修改色度残差数据添加到第一经预测色度数据以获得所述块的第一经重构色度数据;以及
将所述第二经反向修改色度残差数据添加到第二经预测色度数据以获得所述块的第二经重构色度数据。
3.根据权利要求1所述的方法,其中所述方法还包括:
确定是将所述第一反向残差修改函数还是第三反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据;以及
确定是将所述第二反向残差修改函数还是第四反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据。
4.根据权利要求3所述的方法,其中:
确定是应用所述第一反向残差修改函数还是所述第三反向残差修改函数包括基于所述块的一个或多个特性确定是将所述第一反向残差修改函数还是所述第三反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据;并且
确定是应用所述第二反向残差修改函数还是所述第四反向残差修改函数包括基于所述块的所述一个或多个特性确定是将所述第二反向残差修改函数还是所述第四反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据。
5.根据权利要求4所述的方法,其中所述块的所述特性包括以下一者或多者:含有所述块的切片或图块是帧内类型还是帧间类型、当前图片参考是否与所述块一起使用、双重或共享译码树是否与所述块一起使用、所述块的尺寸或所述块的宽高比。
6.根据权利要求3所述的方法,其中:
确定是应用所述第一反向残差修改函数还是所述第三反向残差修改函数包括基于在位流中发信号通知的数据确定是将所述第一反向残差修改函数还是所述第三反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据;并且
确定是应用所述第二反向残差修改函数还是所述第四反向残差修改函数包括基于在所述位流中发信号通知的所述数据确定是将所述第二反向残差修改函数还是所述第四反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据。
7.根据权利要求1所述的方法,其中:
所述第一反向残差修改函数是:invF1(x,y)=(resCr(x,y)’+B10)/M10+(resCb(x,y)’+B11)/M11,
所述第二反向残差修改函数是:invF2(x,y)=(resCr(x,y)’+B20)/M20–(resCb(x,y)’+B21)/M21,
其中resCb(x,y)’是所述第一解码后的经修改色度残差数据,resCr(x,y)’是所述第二解码后的经修改色度残差数据,B10、B11、B20和B21是舍入项,并且M10、M11、M20和N21是归一化因子。
8.根据权利要求1所述的方法,还包括:
在将所述第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据之前,将反向CRS过程应用于所述第一解码后的经修改色度残差数据;以及
在将所述第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据之前,将所述反向CRS过程应用于所述第二解码后的经修改色度残差数据。
9.根据权利要求1所述的方法,还包括:
作为将所述第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据的一部分,将反向CRS过程应用于所述第一解码后的经修改色度残差数据;以及
作为将所述第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据的一部分,将所述反向CRS过程应用于所述第二解码后的经修改色度残差数据。
10.一种对视频数据进行编码的方法,所述方法包括:
将第一残差修改函数应用于所述视频数据的块的第一色度残差数据以产生第一经修改色度残差数据;
对所述第一经修改色度残差数据进行编码,其中对所述第一经修改色度残差数据进行编码包括在将所述第一残差修改函数应用于所述第一色度残差数据之后,将前向变换应用于所述第一经修改色度残差数据以将所述第一经修改色度残差数据从样本域转换到变换域;
将第二残差修改函数应用于所述块的第二色度残差数据以产生第二经修改色度残差数据;以及
对所述第二经修改色度残差数据进行编码,其中:
所述第一色度残差数据与第一色度分量相关联,并且所述第二色度残差数据与第二色度分量相关联,并且
对所述第二经修改色度残差数据进行编码包括在将所述第二残差修改函数应用于所述第二色度残差数据之后,将所述前向变换应用于所述第二经修改色度残差数据以将所述第二经修改色度残差数据从所述样本域转换到所述变换域。
11.根据权利要求10所述的方法,其中所述方法还包括:
确定是将所述第一残差修改函数还是第三残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据;以及
确定是将所述第二残差修改函数还是第四残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据。
12.根据权利要求11所述的方法,其中:
确定是应用所述第一残差修改函数还是所述第三残差修改函数包括基于所述块的一个或多个特性,确定是将所述第一残差修改函数还是所述第三残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据;并且
确定是应用所述第二残差修改函数还是所述第四残差修改函数包括基于所述块的所述一个或多个特性,确定是将所述第二残差修改函数还是所述第四残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据。
13.根据权利要求12所述的方法,其中所述块的所述特性包括以下一者或多者:含有所述块的切片或图块是帧内类型还是帧间类型、当前图片参考是否与所述块一起使用、双重或共享译码树是否与所述块一起使用、所述块的尺寸或所述块的宽高比。
14.根据权利要求11所述的方法,其中所述方法还包括:
在位流中发信号通知指示是应用所述第一残差修改函数还是所述第三残差修改函数以产生所述第一经修改色度残差数据的数据;以及
在所述位流中发信号通知指示是应用所述第二反向残差修改函数还是所述第四反向残差修改函数以产生所述第二经修改色度残差数据的数据。
15.根据权利要求10所述的方法,其中:
所述第一残差修改函数是:F1(x,y)=(resCb(x,y)+A10)/N10–(resCr(x,y)+A11)/N11,
所述第二残差修改函数是:F2(x,y)=(resCb(x,y)+A20)/N20+(resCr(x,y)+A21)/N21,
其中resCb(x,y)是所述第一色度残差数据,resCr(x,y)是所述第二色度残差数据,A10、A11、A20和A21是舍入项,并且N10、N11、N20和N21是归一化因子。
16.根据权利要求10所述的方法,还包括:
在将所述第一残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据之后,将CRS过程应用于所述第一经修改色度残差数据;以及
在将所述第二残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据之后,将所述CRS过程应用于所述第二经修改色度残差数据。
17.根据权利要求10所述的方法,还包括:
作为将所述第一残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据的一部分,将CRS过程应用于所述第一色度残差数据;以及
作为将所述第二残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据的一部分,将所述CRS过程应用于所述第二色度残差数据。
18.一种对视频数据进行解码的设备,所述设备包括:
存储器,所述存储器用于存储所述视频数据;以及
实施于电路中的一个或多个处理器,所述一个或多个处理器被配置为:
通过应用反向变换将所述视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据;
通过应用所述反向变换将所述块的第二组变换系数从所述变换域转换到所述样本域而产生第二解码后的经修改色度残差数据;
在产生所述第一解码后的经修改色度残差数据之后,将第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;
在产生所述第二解码后的经修改色度残差数据之后,将第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中所述第一解码后的经修改色度残差数据与第一色度分量相关联,并且所述第二解码后的经修改色度残差数据与第二色度分量相关联;以及
基于所述第一经反向修改色度残差数据和所述第二经反向修改色度残差数据重构所述视频数据的所述块。
19.根据权利要求18所述的设备,其中所述一个或多个处理器被配置为使得作为重构所述块的一部分,所述一个或多个处理器:
将所述第一经反向修改色度残差数据添加到第一经预测色度数据以获得所述块的第一经重构色度数据;以及
将所述第二经反向修改色度残差数据添加到第二经预测色度数据以获得所述块的第二经重构色度数据。
20.根据权利要求18所述的设备,其中所述一个或多个处理器还被配置为:
确定是将所述第一反向残差修改函数还是第三反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据;以及
确定是将所述第二反向残差修改函数还是第四反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据。
21.根据权利要求20所述的设备,其中
所述一个或多个处理器被配置为使得作为确定是应用所述第一反向残差修改函数还是所述第三反向残差修改函数的一部分,所述一个或多个处理器基于所述块的一个或多个特性确定是将所述第一反向残差修改函数还是所述第三反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据;以及
所述一个或多个处理器被配置为使得作为确定是应用所述第二反向残差修改函数还是所述第四反向残差修改函数的一部分,所述一个或多个处理器基于所述块的所述一个或多个特性确定是将所述第二反向残差修改函数还是所述第四反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据。
22.根据权利要求21所述的设备,其中所述块的所述特性包括以下一者或多者:含有所述块的切片或图块是帧内类型还是帧间类型、当前图片参考是否与所述块一起使用、双重或共享译码树是否与所述块一起使用、所述块的尺寸或所述块的宽高比。
23.根据权利要求20所述的设备,其中
所述一个或多个处理器被配置为使得作为确定是应用所述第一反向残差修改函数还是所述第三反向残差修改函数的一部分,所述一个或多个处理器基于在位流中发信号通知的数据确定是将所述第一反向残差修改函数还是所述第三反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据;以及
所述一个或多个处理器被配置为使得作为确定是应用所述第二反向残差修改函数还是所述第四反向残差修改函数的一部分,所述一个或多个处理器基于在所述位流中发信号通知的所述数据确定是将所述第二反向残差修改函数还是所述第四反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据。
24.根据权利要求18所述的设备,其中
所述第一反向残差修改函数是:invF1(x,y)=(resCr(x,y)’+B10)/M10+(resCb(x,y)’+B11)/M11,
所述第二反向残差修改函数是:invF2(x,y)=(resCr(x,y)’+B20)/M20–(resCb(x,y)’+B21)/M21,
其中resCb(x,y)’是所述第一解码后的经修改色度残差数据,resCr(x,y)’是所述第二解码后的经修改色度残差数据,B10、B11、B20和B21是舍入项,并且M10、M11、M20和N21是归一化因子。
25.根据权利要求18所述的设备,其中所述一个或多个处理器还被配置为:
在将所述第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据之前,将反向CRS过程应用于所述第一解码后的经修改色度残差数据;以及
在将所述第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据之前,将所述反向CRS过程应用于所述第二解码后的经修改色度残差数据。
26.根据权利要求18所述的设备,其中所述一个或多个处理器被配置为:
作为将所述第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生所述第一经反向修改色度残差数据的一部分,将反向CRS过程应用于所述第一解码后的经修改色度残差数据;以及
作为将所述第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生所述第二经反向修改色度残差数据的一部分,将所述反向CRS过程应用于所述第二解码后的经修改色度残差数据。
27.根据权利要求18所述的设备,还包括显示器,所述显示器被配置为显示解码后的视频数据。
28.根据权利要求18所述的设备,其中所述设备包括以下一者或多者:相机、计算机、移动设备、广播接收器设备或机顶盒。
29.一种对视频数据进行编码的设备,所述设备包括:
存储器,所述存储器用于存储所述视频数据;以及
实施于电路中的一个或多个处理器,所述一个或多个处理器被配置为:
将第一残差修改函数应用于所述视频数据的块的第一色度残差数据以产生第一经修改色度残差数据;
对所述第一经修改色度残差数据进行编码,其中所述一个或多个处理器被配置为使得作为对所述第一经修改色度残差数据进行编码的一部分,所述一个或多个处理器在将所述第一残差修改函数应用于所述第一色度残差数据之后,将前向变换应用于所述第一经修改色度残差数据以将所述第一经修改色度残差数据从样本域转换到变换域;
将第二残差修改函数应用于所述块的第二色度残差数据以产生第二经修改色度残差数据;以及
对所述第二经修改色度残差数据进行编码,其中:
所述第一色度残差数据与第一色度分量相关联,并且所述第二色度残差数据与第二色度分量相关联,并且
所述一个或多个处理器被配置为使得作为对所述第二经修改色度残差数据进行编码的一部分,所述一个或多个处理器在将所述第二残差修改函数应用于所述第二色度残差数据之后,将所述前向变换应用于所述第二经修改色度残差数据以将所述第二经修改色度残差数据从所述样本域转换到所述变换域。
30.根据权利要求29所述的设备,其中所述一个或多个处理器还被配置为:
确定是将所述第一残差修改函数还是第三残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据;以及
确定是将所述第二残差修改函数还是第四残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据。
31.根据权利要求30所述的设备,其中
所述一个或多个处理器被配置为使得作为确定是应用所述第一残差修改函数还是所述第三残差修改函数的一部分,所述一个或多个处理器基于所述块的一个或多个特性确定是将所述第一残差修改函数还是所述第三残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据;以及
所述一个或多个处理器被配置为使得作为确定是应用所述第二残差修改函数还是所述第四残差修改函数的一部分,所述一个或多个处理器基于所述块的所述一个或多个特性确定是将所述第二残差修改函数还是所述第四残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据。
32.根据权利要求31所述的设备,其中所述块的所述特性包括以下一者或多者:含有所述块的切片或图块是帧内类型还是帧间类型、当前图片参考是否与所述块一起使用、双重或共享译码树是否与所述块一起使用、所述块的尺寸或所述块的宽高比。
33.根据权利要求30所述的设备,其中所述一个或多个处理器还被配置为:
在位流中发信号通知指示是应用所述第一残差修改函数还是所述第三残差修改函数以产生所述第一经修改色度残差数据的数据;以及
在所述位流中发信号通知指示是应用所述第二反向残差修改函数还是所述第四反向残差修改函数以产生所述第二经修改色度残差数据的数据。
34.根据权利要求29所述的设备,其中
所述第一残差修改函数是:F1(x,y)=(resCb(x,y)+A10)/N10–(resCr(x,y)+A11)/N11,
所述第二残差修改函数是:F2(x,y)=(resCb(x,y)+A20)/N20+(resCr(x,y)+A21)/N21,
其中resCb(x,y)是所述第一色度残差数据,resCr(x,y)是所述第二色度残差数据,A10、A11、A20和A21是舍入项,并且N10、N11、N20和N21是归一化因子。
35.根据权利要求29所述的设备,其中所述一个或多个处理器还被配置为:
在将所述第一残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据之后,将CRS过程应用于所述第一经修改色度残差数据;以及
在将所述第二残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据之后,将所述CRS过程应用于所述第二经修改色度残差数据。
36.根据权利要求29所述的设备,其中所述一个或多个处理器还被配置为:
作为将所述第一残差修改函数应用于所述第一色度残差数据以产生所述第一经修改色度残差数据的一部分,将CRS过程应用于所述第一色度残差数据;以及
作为将所述第二残差修改函数应用于所述第二色度残差数据以产生所述第二经修改色度残差数据的一部分,将所述CRS过程应用于所述第二色度残差数据。
37.根据权利要求29所述的设备,其中所述设备包括以下一者或多者:相机、计算机或移动设备。
38.一种对视频数据进行解码的设备,所述设备包括:
用于通过应用反向变换将所述视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据的部件;
用于通过应用所述反向变换将所述块的第二组变换系数从所述变换域转换到所述样本域而产生第二解码后的经修改色度残差数据的部件;
用于在产生所述第一解码后的经修改色度残差数据之后将第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据的部件;
用于在产生所述第二解码后的经修改色度残差数据之后将第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据的部件,其中所述第一解码后的经修改色度残差数据与第一色度分量相关联,并且所述第二解码后的经修改色度残差数据与第二色度分量相关联;以及
用于基于所述第一经反向修改色度残差数据和所述第二经反向修改色度残差数据重构所述视频数据的所述块的部件。
39.一种对视频数据进行编码的设备,所述设备包括:
用于将第一残差修改函数应用于所述视频数据的块的第一色度残差数据以产生第一经修改色度残差数据的部件;
用于对所述第一经修改色度残差数据进行编码的部件,其中对所述第一经修改色度残差数据进行编码包括用于在将所述第一残差修改函数应用于所述第一色度残差数据之后将前向变换应用于所述第一经修改色度残差数据以将所述第一经修改色度残差数据从样本域转换到变换域的部件;
用于将第二残差修改函数应用于所述块的第二色度残差数据以产生第二经修改色度残差数据的部件;以及
用于对所述第二经修改色度残差数据进行编码的部件,其中:
所述第一色度残差数据与第一色度分量相关联,并且所述第二色度残差数据与第二色度分量相关联,并且
用于对所述第二经修改色度残差数据进行编码的部件包括用于在将所述第二残差修改函数应用于所述第二色度残差数据之后将所述前向变换应用于所述第二经修改色度残差数据以将所述第二经修改色度残差数据从所述样本域转换到所述变换域的部件。
40.一种其上存储有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器:
通过应用反向变换将视频数据的块的第一组变换系数从变换域转换到样本域而产生第一解码后的经修改色度残差数据;
通过应用所述反向变换将所述块的第二组变换系数从所述变换域转换到所述样本域而产生第二解码后的经修改色度残差数据;
在产生所述第一解码后的经修改色度残差数据之后,将第一反向残差修改函数应用于所述第一解码后的经修改色度残差数据以产生第一经反向修改色度残差数据;
在产生所述第二解码后的经修改色度残差数据之后,将第二反向残差修改函数应用于所述第二解码后的经修改色度残差数据以产生第二经反向修改色度残差数据,其中所述第一解码后的经修改色度残差数据与第一色度分量相关联,并且所述第二解码后的经修改色度残差数据与第二色度分量相关联;以及
基于所述第一经反向修改色度残差数据和所述第二经反向修改色度残差数据重构所述视频数据的所述块。
41.一种其上存储有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器:
将第一残差修改函数应用于视频数据的块的第一色度残差数据以产生第一经修改色度残差数据;
对所述第一经修改色度残差数据进行编码,其中作为使所述一个或多个处理器对所述第一经修改色度残差数据进行编码的一部分,所述指令的执行使所述一个或多个处理器在将所述第一残差修改函数应用于所述第一色度残差数据之后,将前向变换应用于所述第一经修改色度残差数据以将所述第一经修改色度残差数据从样本域转换到变换域;
将第二残差修改函数应用于所述块的第二色度残差数据以产生第二经修改色度残差数据;以及
对所述第二经修改色度残差数据进行编码,其中:
所述第一色度残差数据与第一色度分量相关联,并且所述第二色度残差数据与第二色度分量相关联,并且
作为使所述一个或多个处理器对所述第二经修改色度残差数据进行编码的一部分,所述指令的执行使所述一个或多个处理器在将所述第二残差修改函数应用于所述第二色度残差数据之后,将所述前向变换应用于所述第二经修改色度残差数据以将所述第二经修改色度残差数据从所述样本域转换到所述变换域。
CN202080017838.5A 2019-03-08 2020-03-06 视频译码中的组合残差译码 Pending CN113508589A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962815936P 2019-03-08 2019-03-08
US62/815,936 2019-03-08
US201962866450P 2019-06-25 2019-06-25
US62/866,450 2019-06-25
US16/810,680 2020-03-05
US16/810,680 US20200288159A1 (en) 2019-03-08 2020-03-05 Combined residual coding in video coding
PCT/US2020/021544 WO2020185619A1 (en) 2019-03-08 2020-03-06 Combined residual coding in video coding

Publications (1)

Publication Number Publication Date
CN113508589A true CN113508589A (zh) 2021-10-15

Family

ID=72335575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080017838.5A Pending CN113508589A (zh) 2019-03-08 2020-03-06 视频译码中的组合残差译码

Country Status (8)

Country Link
US (1) US20200288159A1 (zh)
EP (1) EP3935846A1 (zh)
JP (1) JP7504902B2 (zh)
KR (1) KR20210133970A (zh)
CN (1) CN113508589A (zh)
BR (1) BR112021017382A2 (zh)
SG (1) SG11202108603YA (zh)
WO (1) WO2020185619A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489974A (zh) * 2021-07-02 2021-10-08 浙江大华技术股份有限公司 帧内预测方法、视频/图像编解码方法及相关装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965894B (zh) * 2017-05-27 2021-12-21 华为技术有限公司 一种视频图像的编解码方法及装置
CN117793346A (zh) * 2019-01-31 2024-03-29 北京字节跳动网络技术有限公司 视频编解码中的细化量化步骤
CA3131286C (en) 2019-03-08 2024-06-18 Beijing Bytedance Network Technology Co., Ltd. Constraints on model-based reshaping in video processing
KR20210139336A (ko) * 2019-03-12 2021-11-22 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 이미지 및 비디오 코딩을 위한 선택적 인터-컴포넌트 변환
BR112021019679A2 (pt) * 2019-04-18 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
EP3935855A4 (en) 2019-04-23 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. METHOD OF CROSS-COMPONENT DEPENDENCE REDUCTION
EP3949395A4 (en) 2019-05-08 2022-06-29 Beijing Bytedance Network Technology Co., Ltd. Conditions for applicability of cross-component coding
US11516472B2 (en) * 2019-06-21 2022-11-29 Hyundai Motor Company Method and apparatus for controlling coding tools
EP4300964A3 (en) * 2019-06-21 2024-03-13 VID SCALE, Inc. Precision refinement for motion compensation with optical flow
KR20220024006A (ko) 2019-06-22 2022-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 잔차 스케일링을 위한 신택스 요소
KR20220024912A (ko) * 2019-06-24 2022-03-03 알리바바 그룹 홀딩 리미티드 루마 및 크로마 신호를 처리하기 위한 방법 및 시스템
CN117395396A (zh) * 2019-07-07 2024-01-12 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
US11412235B2 (en) * 2019-10-10 2022-08-09 Tencent America LLC Color transform for video coding
US11570477B2 (en) * 2019-12-31 2023-01-31 Alibaba Group Holding Limited Data preprocessing and data augmentation in frequency domain
MX2022003464A (es) * 2020-12-17 2022-10-21 Japan Broadcasting Corp Dispositivo decodificador, programa y método de decodificación.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150124865A1 (en) * 2013-11-01 2015-05-07 Qualcomm Incorporated Color residual prediction for video coding
US20170127085A1 (en) * 2008-08-25 2017-05-04 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998742B2 (en) 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
US10455249B2 (en) 2015-03-20 2019-10-22 Qualcomm Incorporated Downsampling process for linear model prediction mode
US10652575B2 (en) 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
US10477240B2 (en) 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
US10764587B2 (en) 2017-06-30 2020-09-01 Qualcomm Incorporated Intra prediction in video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170127085A1 (en) * 2008-08-25 2017-05-04 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US20150124865A1 (en) * 2013-11-01 2015-05-07 Qualcomm Incorporated Color residual prediction for video coding
CN105723707A (zh) * 2013-11-01 2016-06-29 高通股份有限公司 用于视频译码的色彩残差预测

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN 等: "Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, 9–18 JAN. 2019, vol. 1002, 18 January 2019 (2019-01-18), pages 57 - 59 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489974A (zh) * 2021-07-02 2021-10-08 浙江大华技术股份有限公司 帧内预测方法、视频/图像编解码方法及相关装置

Also Published As

Publication number Publication date
BR112021017382A2 (pt) 2021-11-16
KR20210133970A (ko) 2021-11-08
EP3935846A1 (en) 2022-01-12
JP2022523950A (ja) 2022-04-27
TW202041031A (zh) 2020-11-01
US20200288159A1 (en) 2020-09-10
JP7504902B2 (ja) 2024-06-24
WO2020185619A1 (en) 2020-09-17
SG11202108603YA (en) 2021-09-29

Similar Documents

Publication Publication Date Title
JP7504902B2 (ja) ビデオコーディングにおける組み合わされた残差コーディング
US20210099702A1 (en) Low-frequency non-separable transform (lfnst) simplifications
CN113557723B (zh) 使用不同的色度格式的三角预测单元模式中的视频译码
CN113557734A (zh) 视频译码中的系数域块差分脉冲译码调制
EP3928510A1 (en) Motion vector derivation in video coding
US11277618B2 (en) Increasing decoding throughput of intra-coded blocks
US11277611B2 (en) Delta quantization parameter (QP) signaling in palette mode
CN116508321A (zh) 视频译码期间基于联合分量神经网络的滤波
CN113597762A (zh) 视频译码中具有非线性自适应环路滤波器的固定滤波器
CN114846796A (zh) 用于视频译码中的参考图片重采样的环绕偏移
CN114731418A (zh) 联合色度残差视频译码
CN114846801A (zh) 基于色度变换跳过的用于色度的lfnst信令
CN113994706A (zh) 视频译码中的色度增量量化参数
US11425400B2 (en) Adaptive scaling list control for video coding
US11729381B2 (en) Deblocking filter parameter signaling
US20240015284A1 (en) Reduced complexity multi-mode neural network filtering of video data
CN114930821A (zh) 视频编解码中的自适应色彩变换的qp偏移的灵活信令通知
US11558616B2 (en) Methods for quantization parameter control for video coding with joined pixel/transform based quantization
TWI848070B (zh) 視訊寫碼中之組合殘餘寫碼
US12058381B2 (en) Joint clipping operating for filters for video coding
US20230300328A1 (en) Adaptive loop filter with samples before deblocking filter and samples before sample adaptive offsets
CN112640454A (zh) 用于视频译码的参数化量化噪声感知的双边滤波器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40062242

Country of ref document: HK