CN116368801A - 交叉分量变换系数水平重构 - Google Patents

交叉分量变换系数水平重构 Download PDF

Info

Publication number
CN116368801A
CN116368801A CN202280006525.9A CN202280006525A CN116368801A CN 116368801 A CN116368801 A CN 116368801A CN 202280006525 A CN202280006525 A CN 202280006525A CN 116368801 A CN116368801 A CN 116368801A
Authority
CN
China
Prior art keywords
transform coefficient
video
color component
transform
block
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
CN202280006525.9A
Other languages
English (en)
Inventor
赵欣
马杜·柏林加色克里什南
刘杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN116368801A publication Critical patent/CN116368801A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Landscapes

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

Abstract

本公开内容涉及用于在视频解码中细化去量化之前或之后的解码变换系数的交叉分量方法。例如,公开了视频解码的方法。所述方法可以包括:从编码视频的比特流中提取第一颜色分量的第一变换系数;从编码视频的比特流中提取第二颜色分量的第二变换系数;基于第一变换系数的幅度或符号值得出偏移值;将偏移值加至第二变换系数的幅度以生成第二颜色分量的修改后的第二变换系数;以及至少基于第一颜色分量的第一变换系数和第二颜色分量的修改后的第二变换系数重构编码视频。

Description

交叉分量变换系数水平重构
通过引用并入
本申请基于2022年1月13日提交的美国非临时专利申请第17/575,075号并要求其优先权的权益,上述美国非临时专利申请要求2021年7月21日提交的题为“CROSS-COMPONENT TRANSFORM COEFFICIENT LEVEL RECONSTRUCTION”(“交叉分量变换系数水平重构”)的美国临时申请第63/224,046号的优先权。上述两个申请通过引用整体并入本文。
技术领域
本公开内容总体上涉及一组先进的视频编码/解码技术,并且更具体地涉及用于细化去量化之前或之后的解码变换系数的交叉分量方法。
背景技术
本文提供的该背景描述是为了总体上呈现本公开内容的背景的目的。就本背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交该申请时可以不被另外限定为现有技术的描述的方面既没有明确地也没有隐含地被承认为本公开内容的现有技术。
可以使用带运动补偿的帧间图片预测执行视频编码和视频解码。未压缩的数字视频可以包括一系列图片,其中每个图片具有例如1920×1080个亮度样本和相关联的全色度样本或子采样色度样本的空间维度。一系列图片可以具有固定或可变的图片速率(替选地被称为帧速率),例如每秒60幅图片或每秒60帧。未压缩的视频对于流式传输或数据处理有特定的比特率要求。例如,在每颜色信道每像素8比特下,像素分辨率为1920×1080、帧速率为60帧/秒以及色度子采样为4:2:0的视频需要接近1.5Gbit/s的带宽。一小时这样的视频需要超过600G字节的存储空间。
视频编码和视频解码的一个目的可以是通过压缩减少未压缩的输入视频信号中的冗余。在一些情况下,压缩可以帮助将上述带宽和/或存储空间需求降低两个数量级或更多。可以采用无损压缩和有损压缩二者以及它们的组合。无损压缩是指可以从压缩的原始信号中经由解码过程重构原始信号的精确副本的技术。有损压缩是指其中原始视频信息在编码期间没有被完全保留并且在解码期间也不能被完全恢复的编码/解码过程。当使用有损压缩时,重构信号可能与原始信号不相同,但是原始信号与重构信号之间的失真足够小,以使得尽管有一些信息损失,重构信号对预期的应用也是有用的。在视频的情况下,在许多应用中广泛采用有损压缩。容许的失真量取决于应用。例如,某些消费者视频流式传输应用的用户可以比电影或电视广播应用的用户容忍更高的失真。可以选择或调整能够由特定编码算法实现的压缩比以反映各种失真容限:较高的可容忍失真通常允许产生较高的损失和较高的压缩比的编码算法。
视频编码器和视频解码器可以利用来自几种广泛类别和步骤的技术,包括例如运动补偿、傅里叶变换、量化和熵编码。
视频编解码器技术可以包括被称为帧内编码的技术。在帧内编码中,在不参考来自先前重构的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当在帧内模式下对所有样本块进行编码时,该图片可以被称为帧内图片。帧内图片及其派生(例如,独立解码器刷新图片)可以用于重置解码器状态,并且因此可以用作编码视频比特流和视频会话中的第一图片或用作静止图像。然后,可以使帧内预测之后的块的样本变换到频域中,并且可以在熵编码之前对所生成的变换系数进行量化。帧内预测表示使样本值在预变换域中最小化的技术。在一些情况下,变换后的DC值越小,并且AC系数越小,在给定量化步长下表示熵编码之后的块所需的比特就越少。
诸如从例如MPEG-2代编码技术中已知的传统的帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括试图基于例如在编码和/或解码期间获得的在空间上邻近并且在解码顺序上先于正被帧内编码或解码的数据块的元数据和/或周围样本数据来对块进行编码/解码的技术。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自正在重构的当前图片的参考数据,而不使用来自其他参考图片的参考数据。
可以存在多种不同形式的帧内预测。当在给定的视频编码技术中可以使用多于一种的这样的技术时,使用的技术可以被称为帧内预测模式。可以在特定编解码器中提供一种或更多种帧内预测模式。在某些情况下,模式可以具有子模式以及/或者可以与各种参数相关联,并且视频块的模式/子模式信息以及帧内编码参数可以被单独编码或者被集体包括在模式码字中。针对给定模式、子模式和/或参数组合要使用的码字可以通过帧内预测对编码效率增益产生影响,并且因此可以对用于将码字转换成比特流的熵编码技术产生影响。
帧内预测的某些模式由H.264引入,在H.265中被细化,并且在诸如联合开发模型(JEM)、通用视频编码(VVC)和基准集(BMS)的较新编码技术中被进一步细化。通常,对于帧内预测,可以使用已经变得可用的邻近样本值来形成预测值块。例如,可以将沿着特定方向和/或线的邻近样本的特定集合的可用值复制到预测值块中。对使用的方向的参考可以被编码在比特流中,或者其本身可以被预测。
参照图1A,在右下方描绘的是在H.265的33个可能的帧内预测值方向(对应于H.265中指定的35个帧内模式中的33个角度模式)中指定的9个预测值方向的子集。箭头会聚的点(101)表示正被预测的样本。箭头表示邻近样本被用于预测101处的样本的方向。例如,箭头(102)指示从右上方的与水平方向成45度角的邻近的一个或多个样本对样本(101)进行预测。类似地,箭头(103)指示从样本(101)的左下方的与水平方向成22.5度角的邻近的一个或多个样本对样本(101)进行预测。
仍然参照图1A,在左上方描绘的是4×4个样本的正方形块(104)(由虚粗体线指示)。正方形块(104)包括16个样本,每个样本由“S”、其在Y维度上的位置(例如,行索引)和其在X维度上的位置(例如,列索引)来标记。例如,样本S21是Y维度上(从顶部起)的第二个样本和X维度上(从左侧起)的第一个样本。类似地,样本S44是块(104)中在Y维度和X维度二者上的第四个样本。由于块的大小是4×4个样本,所以S44在右下方。进一步示出了遵循类似的编号方案的示例参考样本。参考样本由R、其相对于块(104)的Y位置(例如,行索引)和X位置(列索引)来标记。在H.264和H.265二者中,使用与重构中的块相邻地邻近的预测样本。
块104的帧内图片预测可以通过根据用信号通知的预测方向从邻近的样本复制参考样本值开始。例如,假设编码视频比特流包括以下信令,对于该块104,该信令指示箭头(102)的预测方向,也就是,根据右上方的与水平方向成45度角的一个或多个预测样本来对样本进行预测。在这样的情况下,根据相同的参考样本R05对样本S41、S32、S23和S14进行预测。然后,根据参考样本R08对样本S44进行预测。
在某些情况下,多个参考样本的值可以例如通过插值来组合,以便计算参考样本;尤其是当方向不能被45度整除时。
随着视频编码技术的不断发展,可能的方向的数量也在增加。例如,在H.264(2003年)中,九个不同的方向可用于帧内预测。这在H.265(2013年)中增加到33个,并且在公开时JEM/VVC/BMS可以支持多达65个方向。已经进行了实验研究来帮助识别最合适的帧内预测方向,并且熵编码中的某些技术可以用于以少量比特对那些最合适的方向进行编码,从而接受用于方向的特定比特惩罚。此外,有时可以根据在已解码的邻近块的帧内预测中使用的邻近方向来预测方向本身。
图1B示出了根据JEM描绘65个帧内预测方向的示意图(180),以示出随着时间的推移开发的各种编码技术中不断增加的预测方向的数量。
编码视频比特流中将表示帧内预测方向的比特映射到预测方向的方式可以随着视频编码技术的不同而不同;并且该映射例如可以从预测方向到帧内预测模式到码字的简单直接映射变化到复杂自适应方案,复杂自适应方案涉及最可能模式和类似技术。然而,在所有情况下,可能存在与某些其他方向相比在统计上较不可能出现在视频内容中的某些帧内预测方向。由于视频压缩的目标是减少冗余,因此在运作良好的视频编码技术中,那些较不可能的方向与更可能的方向相比可以通过更大数量的比特来表示。
帧间图片预测或帧间预测可以基于运动补偿。在运动补偿中,在由运动矢量(此后被称为MV)指示的方向上进行空间移位之后,可以使用来自先前重构的图片或其一部分(参考图片)的样本数据来预测新重构的图片或图片部分(例如,块)。在一些情况下,参考图片可以与当前被重构的图片相同。MV可以具有两个维度X和Y,也可以具有三个维度,其中第三维度是对使用中的参考图片的指示(类似于时间维度)。
在一些视频压缩技术中,可以从其他MV例如以下其他MV预测适用于样本数据的特定区域的当前MV,这些其他MV与样本数据的在空间上相邻于正在重构的区域的其他区域有关并且在解码顺序上先于该当前MV。这样做可以通过依赖于移除关联的MV中的冗余而显著减少对MV进行编码所需的总的数据量,从而提高压缩效率。MV预测可以有效地发挥作用,例如,这是因为在对从摄像装置导出的输入视频信号(被称为自然视频)进行编码时,存在如下统计上的可能性,即在视频序列中比单个MV所适用的区域大的区域在相似的方向上移动,并且因此在一些情况下可以使用从邻近区域的MV导出的相似运动矢量来进行预测。这导致针对给定区域的实际MV与从周围的MV预测的MV相似或相同。这样的MV又可以在熵编码之后以小于直接从邻近MV对MV进行编码而不是从邻近MV对MV进行预测的情况下使用的比特数来表示。在一些情况下,MV预测可以是对从原始信号(即样本流)导出的信号(即MV)进行无损压缩的示例。在其他情况下,例如由于从几个周围MV计算预测值时的舍入误差,MV预测本身可以是有损的。
在H.265/HEVC(ITU-T H.265建议书,“High Efficiency Video Coding(高效视频编解码)”,2016年12月)中描述了各种MV预测机制。在H.265指定的多种MV预测机制中,以下描述的是此后被称为“空间合并”的技术。
具体地,参照图2,当前块(201)包括在运动搜索过程期间已被编码器发现的样本,根据已产生空间偏移的相同大小的先前块可预测所述样本。代替对该MV进行直接编码,可以从与一个或更多个参考图片相关联的元数据中导出所述MV,例如,使用与被表示为A0、A1和B0、B1、B2(分别对应202到206)的五个周围样本中的任一样本相关联的MV,(按解码顺序)从最近的参考图片的元数据中导出所述MV。在H.265中,MV预测可以使用邻近块也正在使用的相同参考图片的预测值。
发明内容
本公开内容的各方面提供了用于在视频解码中细化去量化之前或之后的解码变换系数的交叉分量方法和装置。在一些示例实现中,公开了视频解码的方法。该方法可以包括:从编码视频的比特流中提取第一颜色分量的第一变换系数;从编码视频的比特流中提取第二颜色分量的第二变换系数;基于第一变换系数的幅度或符号值得出偏移值;将偏移值加至第二变换系数的幅度以生成第二颜色分量的修改后的第二变换系数;以及至少基于第一颜色分量的第一变换系数和第二颜色分量的修改后的第二变换系数重构编码视频。
在上面实现中,第一变换系数和第二变换系数被并置。
在上面实现的任一个中,第一颜色分量包括一个色度分量,而第二颜色分量可以包括另一色度分量。
在上面实现的一些中,第一颜色分量包括亮度分量,而第二颜色分量可以包括一个色度分量。
在上面实现的一些中,第一颜色分量包括一个色度分量,而第二颜色分量可以包括亮度分量。
在上面实现的任一个中,第一变换系数在从比特流量化时为非零;以及第二变换系数在从比特流量化时为零。
在上面实现的任一个中,第一变换系数包括符号值和幅度值;以及得出偏移值包括基于第一变换系数的符号值得出偏移值。在一些实现中,将偏移值添加至第二变换系数的幅度可以包括将偏移值添加至去量化之后的第二变换系数的幅度。在一些其他实现中,将偏移值添加至第二变换系数的幅度可以包括将偏移值添加至去量化之前的第二变换系数的幅度。
在上面实现的任一个中,偏移值具有与第一变换系数的符号相反的符号,以及将偏移值添加至第二变换系数的幅度可以包括将偏移值添加至去量化之后的第二变换系数的幅度。
在上面实现的任一个中,在以下之一中用信号通知第一变换系数的符号值和偏移值的符号是否相反:视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)、帧头、片头、编码树单元头、或图块头。
在上面实现的任一个中,偏移值取决于第一变换系数的符号和幅度二者。在一些实现中,偏移值的幅度取决于第一变换系数的幅度。
在上面实现的一些中,通过偏移值的幅度和第一颜色分量的变换系数的幅度之间的预定对应关系来预定义偏移值的幅度。
在上面实现的任一个中,根据与第一变换系数相对应的频率位置确定偏移值。
在上面实现的任一个中,根据第一变换系数和第二变换系数所属的变换块的块大小来确定偏移值。
在上面实现的任一个中,根据第二颜色分量是亮度分量还是色度分量来确定偏移值。
本公开内容的各方面还提供了视频编码或解码设备或装置,该视频编码或解码设备或装置包括被配置成执行上面方法实现中的任一个的电路。
本公开内容的各方面还提供了存储指令的非暂态计算机可读介质,所述指令在由用于视频解码和/或编码的计算机执行时使该计算机执行用于视频解码和/或编码的方法。
附图说明
根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更明显,在附图中:
图1A示出了帧内预测方向性模式的示例性子集的示意性图示。
图1B示出了示例性帧内预测方向的图示。
图2示出了在一个示例中用于运动矢量预测的当前块及其周围的空间合并候选的示意性图示。
图3示出了根据示例实施方式的通信系统(300)的简化框图的示意性图示。
图4示出了根据示例实施方式的通信系统(400)的简化框图的示意性图示。
图5示出了根据示例实施方式的视频解码器的简化框图的示意性图示。
图6示出了根据示例实施方式的视频编码器的简化框图的示意性图示。
图7示出了根据另一示例实施方式的视频编码器的框图。
图8示出了根据另一示例实施方式的视频解码器的框图。
图9示出了根据本公开内容的示例实施方式的编码块划分的方案。
图10示出了根据本公开内容的示例实施方式的编码块划分的另一方案。
图11示出了根据本公开内容的示例实施方式的编码块划分的另一方案。
图12示出了根据本公开内容的示例实施方式的编码块划分的另一方案。
图13示出了根据本公开内容的示例实施方式的将编码块划分为多个变换块的方案以及变换块的编码顺序。
图14示出了根据本公开内容的示例实施方式的将编码块划分为多个变换块的另一方案以及变换块的编码顺序。
图15示出了根据本公开内容的示例实施方式的将编码块划分为多个变换块的另一方案。
图16示出了根据本公开内容的示例实施方式的方法的流程图。
图17示出了根据本公开内容的示例实施方式的计算机系统的示意性图示。
具体实施方式
图3示出了根据本公开内容的实施方式的通信系统(300)的简化框图。通信系统(300)包括多个终端装置,多个终端装置可以经由例如网络(350)彼此通信。例如,通信系统(300)包括经由网络(350)互连的第一对终端装置(310)和终端装置(320)。在图3的示例中,第一对终端装置(310)和终端装置(320)可以执行单向数据传输。例如,终端装置(310)可以对视频数据(例如,由终端装置(310)捕获的视频图片流)进行编码以经由网络(350)传输到另一终端装置(320)。编码视频数据可以以一个或更多个编码视频比特流的形式传输。终端装置(320)可以从网络(350)接收编码视频数据、对编码视频数据进行解码以恢复视频图片以及根据所恢复的视频数据显示视频图片。单向数据传输可以在媒体服务应用等中实现。
在另一示例中,通信系统(300)包括执行编码视频数据的双向传输的第二对终端装置(330)和终端装置(340),所述双向传输可以例如在视频会议应用期间实现。对于数据的双向传输,在示例中,终端装置(330)和终端装置(340)中的每个终端装置可以对视频数据(例如,由终端装置捕获的视频图片流)进行编码,以经由网络(350)传输至终端装置(330)和终端装置(340)中的另一终端装置。终端装置(330)和终端装置(340)中的每个终端装置还可以接收由终端装置(330)和终端装置(340)中的另一终端装置传输的编码视频数据,并且可以对所述编码视频数据进行解码以恢复视频图片,并且可以根据所恢复的视频数据在可访问的显示装置处显示视频图片。
在图3的示例中,终端装置(310)、(320)、(330)和(340)可以被实现为服务器、个人计算机和智能电话,但本公开内容的基本原理的适用性可以不限于此。本公开内容的实施方式可以在台式计算机、膝上型计算机、平板计算机、媒体播放器、可穿戴计算机、专用视频会议设备等中实现。网络(350)表示在终端装置(310)、(320)、(330)和(340)之间传送编码视频数据的任何数目或任何类型的网络,包括例如有线(连线的)和/或无线通信网络。通信网络(350)可以在电路交换、分组交换和/或其他类型的信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非本文中明确说明,否则网络(350)的架构和拓扑对于本公开内容的操作来说可能是无关紧要的。
作为所公开的主题的应用的示例,图4示出了视频编码器和视频解码器在视频流式传输环境中的放置。所公开的主题可以同等地适用于其他视频应用,包括例如:视频会议,数字电视广播,游戏,虚拟现实,压缩视频在包括CD、DVD、记忆棒等的数字介质上的存储等。
视频流式传输系统可以包括视频捕获子系统(413),该视频捕获子系统(413)可以包括视频源(401)例如数字摄像装置,用于创建未压缩的视频图片或图像流(402)。在示例中,视频图片流(402)包括由视频源401的数字摄像装置记录的样本。视频图片流(402)被描绘为粗线以强调与编码视频数据(404)(或编码视频比特流)相比时的高数据量,视频图片流(402)可以由耦接至视频源(401)的包括视频编码器(403)的电子装置(420)处理。视频编码器(403)可以包括硬件、软件或其组合以实现或实施如下更详细描述的所公开的主题的各方面。编码视频数据(404)(或编码视频比特流(404))被描绘为细线以强调与未压缩视频图片流(402)相比时的较低数据量,编码视频数据(404)可以被存储在流式传输服务器(405)上以供将来使用或被直接存储至下游的视频装置(未示出)。一个或更多个流式传输客户端子系统,例如图4中的客户端子系统(406)和(408),可以访问流式传输服务器(405)以检索编码视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子装置(430)中的视频解码器(410)。视频解码器(410)对传入的编码视频数据的副本(407)进行解码,并且创建未压缩的并且可以在显示器(412)(例如,显示屏幕)或其他呈现装置(未描绘)上呈现的传出视频图片流(411)。视频解码器410可以被配置成执行本公开内容中描述的各种功能中的一些或全部。在一些流式传输系统中,可以根据某些视频编码标准/视频压缩标准对编码视频数据(404)、(407)和(409)(例如,视频比特流)进行编码。这些标准的示例包括ITU-T H.265建议书。在示例中,正在开发的视频编码标准被非正式地称为通用视频编码(Versatile Video Coding,VVC)。所公开的主题可以在VVC和其他视频编码标准的环境中使用。
应当注意,电子装置(420)和(430)可以包括其他部件(未示出)。例如,电子装置(420)可以包括视频解码器(未示出),并且电子装置(430)也可以包括视频编码器(未示出)。
图5示出了根据以下本公开内容的任何实施方式的视频解码器(510)的框图。视频解码器(510)可以被包括在电子装置(530)中。电子装置(530)可以包括接收器(531)(例如,接收电路系统)。可以使用视频解码器(510)代替图4的示例中的视频解码器(410)。
接收器(531)可以接收要由视频解码器(510)解码的一个或更多个编码视频序列。在同一实施方式或另一实施方式中,可以一次对一个编码视频序列进行解码,其中每个编码视频序列的解码独立于其他编码视频序列。每个视频序列可以与多个视频帧或图像相关联。可以从信道(501)接收编码视频序列,信道(501)可以是至存储编码视频数据的存储装置或发送编码视频数据的流式传输源的硬件/软件链路。接收器(531)可以接收编码视频数据以及其他数据,例如可以被转发至其各自的处理电路系统(未描绘)的编码音频数据和/或辅助数据流。接收器(531)可以将编码视频序列与其他数据分开。为了对抗网络抖动,可以在接收器(531)与熵解码器/解析器(520)(此后称为“解析器(520)”)之间设置缓冲存储器(515)。在某些应用中,缓冲存储器(515)可以被实现为视频解码器(510)的一部分。在其他应用中,缓冲存储器(515)可以在视频解码器(510)外部并与视频解码器(510)分开(未描绘)。在又一些其他应用中,在视频解码器(510)外部可以存在缓冲存储器(未描绘)以用于例如对抗网络抖动的目的,并且在视频解码器(510)内部还可以存在另一其他缓冲存储器(515)以例如处理回放时序。当接收器(531)正在从具有足够带宽和可控性的存储/转发装置或从等同步网络接收数据时,可以不需要缓冲存储器(515),或者缓冲存储器(515)可以小。为了在诸如因特网的尽力型(best effort)分组网络上使用,可能需要足够大小的缓冲存储器(515),并且缓冲存储器(515)的大小可以相对大。这样的缓冲存储器可以实现为具有自适应大小,并且可以至少部分地在操作系统或视频解码器(510)外部的类似元件(未描绘)中实现。
视频解码器(510)可以包括解析器(520)以根据编码视频序列来重构符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息以及可能包括用于控制诸如显示器(512)(例如,显示屏)的呈现装置的信息,该呈现装置可能是或可能不是电子装置(530)的组成部分但可以耦接至电子装置(530),如图5所示。用于呈现装置的控制信息可以采取辅助增强信息(SEI(Supplemental Enhancement Information)消息)或视频可用性信息(Video Usability Information,VUI)参数集片段(未描绘)的形式。解析器(520)可以对由解析器(520)接收到的编码视频序列进行解析/熵解码。编码视频序列的熵编码可以符合视频编码技术或视频编码标准,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文敏感性的算术编码等。解析器(520)可以基于与子组相对应的至少一个参数,从编码视频序列提取针对视频解码器中的像素子组中的至少一个子组的子组参数集。子组可以包括图片组(Group of Pictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。解析器(520)还可以从编码视频序列中提取信息,例如变换系数(例如傅里叶变换系数)、量化器参数值、运动矢量等。
解析器(520)可以对从缓冲存储器(515)接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
取决于编码视频图片或其部分(诸如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其他因素,符号(521)的重构可以涉及多个不同的处理单元或功能单元。涉及哪些单元以及涉及的方式可以通过由解析器(520)从编码视频序列解析的子组控制信息来控制。为了简洁起见,没有描绘这样的子组控制信息在解析器(520)与下面的多个处理单元或功能单元之间的流动。
除了已经提及的功能块之外,视频解码器(510)可以在概念上被细分为如下所述的许多功能单元。在商业约束下运行的实际实现方式中,这些功能单元中的许多功能单元彼此密切交互,并且可以至少部分地彼此集成。然而,出于清楚地描述所公开的主题的各种功能的目的,在下面的本公开内容中采用了在概念上细分成功能单元。
第一单元可以包括缩放器/逆变换单元(551)。缩放器/逆变换单元(551)可以从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括指示使用哪种类型的逆变换、块大小、量化因子/参数、量化缩放矩阵等的信息。缩放器/逆变换单元(551)可以输出包括样本值的块,所述块可以被输入到聚合器(555)中。
在一些情况下,缩放器/逆变换(551)的输出样本可以从属于经帧内编码的块,即不使用来自先前重构的图片的预测性信息,而是可以使用来自当前图片的先前重构的部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)可以使用已经被重构并存储在当前图片缓冲器(558)中的周围块信息来生成大小和形状与正在重构的块相同的块。例如,当前图片缓冲器(558)对部分重构的当前图片和/或完全重构的当前图片进行缓冲。在一些实现方式中,聚合器(555)可以在每个样本的基础上将帧内预测单元(552)已经生成的预测信息添加至由缩放器/逆变换单元(551)提供的输出样本信息。
在其他情况下,缩放器/逆变换单元(551)的输出样本可以从属于经帧间编码的且可能经过运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以获取用于帧间图片预测的样本。在根据从属于所述块的符号(521)对所获取的样本进行运动补偿之后,可以由聚合器(555)将这些样本添加至缩放器/逆变换单元(551)的输出(单元551的输出可以被称作残差样本或残差信号),以生成输出样本信息。运动补偿预测单元(553)从其获取预测样本的参考图片存储器(557)内的地址可以通过运动矢量控制,所述运动矢量可以以可以具有例如X分量、Y分量(偏移)和参考图片分量(时间)的符号(521)的形式被运动补偿预测单元(553)获得。运动补偿还可以包括在使用子样本精确运动矢量时对从参考图片存储器(557)获取的样本值的插值,并且还可以与运动矢量预测机制等相关联。
聚合器(555)的输出样本可以经受环路滤波器单元(556)中的各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术由被包括在编码视频序列(也称为编码视频比特流)中并且可以作为来自解析器(520)的符号(521)被环路滤波器单元(556)获得的参数进行控制,但是也可以对在对编码图片或编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息进行响应,以及对先前重构并经环路滤波的样本值进行响应。如下面将进一步详细描述的,几种类型的环路滤波器可以以各种顺序被包括为环路滤波器单元556的一部分。
环路滤波器单元(556)的输出可以是样本流,该样本流可以被输出至呈现装置(512)并且被存储在参考图片存储器(557)中以用于将来的帧间图片预测。
某些编码图片一旦被完全重构,就可以被用作参考图片以用于将来的帧间图片预测。例如,一旦与当前图片相对应的编码图片被完全重构并且该编码图片(通过例如解析器(520))被标识为参考图片,则当前图片缓冲器(558)就可以成为参考图片存储器(557)的一部分,并且可以在开始重构随后的编码图片之前重新分配新的当前图片缓冲器。
视频解码器(510)可以根据在例如ITU-T H.265建议书的标准中采用的预定视频压缩技术来执行解码操作。在编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件二者的意义上,编码视频序列可以符合由使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为在所述配置文件下可供使用的仅有工具。为了合规性,编码视频序列的复杂性可以在如由视频压缩技术或标准的级别限定的界限内。在一些情况下,级别会限制最大图片大小、最大帧速率、最大重构样本率(以例如每秒兆个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设定的限制可以通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范以及在编码视频序列中用信号通知的用于HRD缓冲器管理的元数据来进一步限制。
在一些示例实施方式中,接收器(531)可以连同编码视频一起接收附加(冗余)数据。附加数据可以被包括为编码视频序列的一部分。视频解码器(510)可以使用附加数据以对数据进行正确解码和/或更精准地对原始视频数据进行重构。附加数据可以为以下形式:例如时间、空间或信噪比(SNR)增强层、冗余切片、冗余图片、前向纠错码等。
图6示出了根据本公开内容的示例实施方式的视频编码器(603)的框图。视频编码器(603)可以被包括在电子装置(620)中。电子装置(620)还可以包括发送器(640)(例如,发送电路系统)。可以使用视频编码器(603)代替图4的示例中的视频编码器(403)。
视频编码器(603)可以从可以捕获要由视频编码器(603)编码的视频图像的视频源(601)(在图6的示例中其不是电子装置(620)的一部分)接收视频样本。在另一示例中,视频源(601)可以被实现为电子装置(620)的一部分。
视频源(601)可以提供要由视频编码器(603)编码的呈数字视频样本流形式的源视频序列,数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特……)、任何色彩空间(例如,BT.601YCrCB、RGB、XYZ……)以及任何合适的采样结构(例如,YCrCb 4:2:0、YCrCb 4:4:4)。在媒体服务系统中,视频源(601)可以是能够存储先前准备好的视频的存储装置。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像装置。视频数据可以被提供为在顺序观看时被赋予运动的多个单独图片或图像。图片本身可以被组织为空间像素阵列,其中,取决于所用的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域普通技术人员可以容易地理解像素与样本之间的关系。下面的描述集中在样本上。
根据一些示例实施方式,视频编码器(603)可以实时地或在应用所要求的任何其他时间约束下对源视频序列的图片进行编码并将其压缩成编码视频序列(643)。施行适当的编码速度构成控制器(650)的一个功能。在一些实施方式中,控制器(650)可以在功能上耦接至如下文所描述的其他功能单元并且控制其他功能单元。为了简洁起见,没有描绘耦接。由控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、速率失真优化技术的λ值……)、图片大小、图片组(GOP)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有其他合适的功能,所述其他合适的功能涉及针对特定系统设计优化的视频编码器(603)。
在一些示例实施方式中,视频编码器(603)可以被配置成在编码环路中操作。作为极度简化的描述,在示例中,编码环路可以包括:源编码器(630)(例如,负责基于要编码的输入图片和参考图片来创建符号,例如符号流);以及(本地)解码器(633),其被嵌入在视频编码器(603)中。解码器(633)以与(远程)解码器将创建样本数据的方式相似的方式重构符号,以创建样本数据,即使嵌入式解码器633是在没有熵编码的情况下处理源编码器630的编码视频流(因为在所公开的主题中考虑的视频压缩技术中,符号与熵编码中的编码视频比特流之间的任何压缩可能是无损的)。重构的样本流(样本数据)被输入至参考图片存储器(634)。由于符号流的解码导致与解码器位置(本地或远程)无关的比特精确(bit-exact)结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分将与解码器在解码期间使用预测时将“看到”的样本值完全相同的样本值“视为”参考图片样本。参考图片同步性的这种基本原理(以及在例如因信道误差而无法维持同步性的情况下产生偏移)被用于提高编码质量。
“本地”解码器(633)的操作可以与“远程”解码器例如视频解码器(510)的操作相同,在上面已经结合图5对视频解码器(510)进行了详细描述。然而,另外简要地参照图5,由于符号可用并且由熵编码器(645)将符号编码成编码视频序列以及由解析器(520)对符号进行解码可以是无损的,因此视频解码器(510)的包括缓冲存储器(515)和解析器(520)的熵解码部分可以不在编码器中的本地解码器(633)中完全实现。
此时可以观察到,除可以仅存在于解码器中的解析/熵解码之外的任何解码器技术,也必定需要以基本上相同的功能形式存在于对应的编码器中。由于这个原因,所公开的主题可能有时集中在解码器操作上,解码器操作与编码器的解码部分关联。由于编码器技术与已全面描述的解码器技术相反,因此可以简化对编码器技术的描述。下面提供仅在某些区域或方面对编码器的更详细的描述。
在一些示例实现方式中,在操作期间,源编码器(630)可以执行运动补偿预测编码,所述运动补偿预测编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前编码的图片对输入图片进行预测性编码。以这种方式,编码引擎(632)对输入图片的像素块与参考图片的像素块之间的颜色信道的差(或残值)进行编码,所述参考图片可以被选作该输入图片的预测参考。术语“残值”及其形容词形式“残余的”可以互换使用。
本地视频解码器(633)可以基于由源编码器(630)创建的符号,对可以被指定为参考图片的图片的编码视频数据进行解码。编码引擎(632)的操作可以有利地为有损过程。当可以在视频解码器(图6中未示出)处对编码视频数据进行解码时,重构的视频序列通常可以是源视频序列的其中具有一些错误的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重构的参考图片存储在参考图片缓存(634)中。以这种方式,视频编码器(603)可以在本地存储重构的参考图片的副本,所述副本与将通过远端(远程)视频解码器获得的重构的参考图片具有共同内容(不存在传输误差)。
预测器(635)可以针对编码引擎(632)执行预测搜索。也就是说,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索样本数据(作为候选参考像素块)或特定元数据例如参考图片运动矢量、块形状等,这些数据可以用作针对新图片的合适的预测参考。预测器(635)可以在逐样本块-像素块的基础上操作以找到合适的预测参考。在一些情况下,如通过预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片获取的预测参考。
控制器(650)可以管理源编码器(630)的编码操作,包括例如对用于对视频数据进行编码的参数和子组参数的设置。
可以在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩来将这些符号转换成编码视频序列。
发送器(640)可以缓冲由熵编码器(645)创建的编码视频序列,从而为经由通信信道(660)进行传输做准备,该通信信道可以是至可以存储编码视频数据的存储装置的硬件/软件链路。发送器(640)可以将来自视频编码器(603)的编码视频数据与要发送的其他数据例如编码音频数据和/或辅助数据流(未示出来源)合并。
控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个编码图片分配特定的编码图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以向图片分配以下图片类型之一:
帧内图片(I图片),其可以是可以在不将序列中的任何其他图片用作预测源的情况下被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(“Independent Decoder Refresh,IDR”)图片。本领域普通技术人员了解I图片的那些变型及其各自的应用和特征。
预测性图片(P图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联的元数据用于单个块的重构。
源图片通常可以在空间上细分为多个样本编码块(例如,分别具有4×4、8×8、4×8或16×16个样本的块)并且逐块进行编码。可以参考通过应用于块的相应的图片的编码分配确定的其他(已经编码的)块对这些块进行预测性地编码。例如,可以对I图片的块进行非预测性地编码,或者可以参考相同图片的已编码块对I图片的块进行预测性地编码(空间预测或帧内预测)。可以参考一个先前编码的参考图片经由空间预测或经由时间预测对P图片的像素块进行预测性地编码。可以参考一个或两个先前编码的参考图片经由空间预测或经由时间预测对B图片的块进行预测性地编码。出于其他目的,源图片或中间处理过的图片可以被细分成其他类型的块。编码块和其他类型的块的划分可以遵循或可以不遵循相同的方式,如下面进一步详细描述的。
视频编码器(603)可以根据诸如ITU-T H.265建议书的预定视频编码技术或标准来执行编码操作。在其操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,编码视频数据可以符合由正在使用的视频编码技术或标准指定的语法。
在一些示例实施方式中,发送器(640)可以连同编码视频一起发送附加数据。源编码器(630)可以将这样的数据包括为编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、其他形式的冗余数据,例如冗余图片和切片、SEI消息、VUI参数集片段等。
视频可以被按时间序列捕获为多个源图片(视频图片)。帧内图片预测(通常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的时间相关性或其他相关性。例如,可以将被称为当前图片的正在被编码/解码的特定图片分成块。在当前图片中的块与视频中先前编码且仍被缓冲的参考图片中的参考块类似时,可以通过被称作运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,该运动矢量可以具有标识参考图片的第三维度。
在一些示例实施方式中,双向预测技术可以用于帧间图片预测。根据这样的双向预测技术,使用两个参考图片,例如按解码顺序均在视频中的当前图片之前(但按显示顺序可能分别在过去和将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量以及指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来共同预测所述块。
此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。
根据本公开内容的一些示例实施方式,以块为单位执行诸如帧间图片预测和帧内图片预测的预测。例如,将视频图片序列中的图片分割成编码树单元(CTU)以用于压缩,图片中的CTU可以具有相同大小,例如,64×64像素、32×32像素或16×16像素。通常,CTU可以包括三个并行编码树块(coding tree block,CTB):一个亮度CTB和两个色度CTB。可以将每个CTU递归地以四叉树拆分为一个或多个编码单元(coding unit,CU)。例如,可以将64×64像素的CTU拆分成一个64×64像素的CU,或4个32×32像素的CU。32×32块中的一个或更多个中的每一个还可以被拆分成4个16×16像素的CU。在一些示例实施方式中,可以在编码期间分析每个CU,以确定各种预测类型中该CU的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,可以将CU拆分成一个或更多个预测单元(predictionunit,PU)。通常,每个PU包括亮度预测块(PB)和两个色度预测块。在实施方式中,以预测块为单位执行编码(编码/解码)中的预测操作。可以以各种空间模式执行将CU拆分成PU(或不同颜色信道的PB)。亮度或色度PB例如可以包含例如8×8像素、16×16像素、8×16像素、16×8像素等的样本的值(例如,亮度值)的矩阵。
图7示出了根据本公开内容的另一示例实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将该处理块编码到作为编码视频序列的一部分的编码图片中。可以使用示例视频编码器(703)代替图4示例中的视频编码器(403)。
例如,视频编码器(703)接收用于处理块诸如8×8样本的预测块等的样本值的矩阵。视频编码器(703)然后使用例如速率失真优化(RDO)来确定是使用帧内模式、帧间模式还是双向预测模式来对处理块进行最佳编码。当确定要在帧内模式下对处理块进行编码时,视频编码器(703)可以使用帧内预测技术将处理块编码到编码图片中;以及当确定要在帧间模式或双向预测模式下对处理块进行编码时,视频编码器(703)可以分别使用帧间预测技术或双向预测技术将处理块编码到编码图片中。在一些示例实施方式中,可以使用合并模式作为帧间图片预测的子模式,其中,在不借助于预测值外部的编码运动矢量分量的情况下从一个或更多个运动矢量预测值得出运动矢量。在一些其他示例实施方式中,可以存在适用于对象块的运动矢量分量。因此,视频编码器(703)可以包括图7中未明确示出的部件,诸如用于确定处理块的预测模式的模式决策模块。
在图7的示例中,视频编码器(703)包括如图7的示例布置中所示的耦接在一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)和熵编码器(725)。
帧间编码器(730)被配置成:接收当前块(例如,处理块)的样本;将所述块与参考图片中的一个或更多个参考块(例如,按显示顺序的先前图片中的块和随后图片中的块)进行比较;生成帧间预测信息(例如,运动矢量、合并模式信息、根据帧间编码技术的冗余信息的描述);以及基于帧间预测信息使用任何合适的技术来计算帧间预测结果(例如,所预测的块)。在一些示例中,参考图片是基于编码视频信息使用嵌入在图6的示例编码器620中的解码单元633(被示出为图7的残差解码器728,如下面进一步详细描述的)来解码的解码参考图片。
帧内编码器(722)被配置成:接收当前块(例如,处理块)的样本;将所述块与同一图片中的已经编码的块进行比较;以及在变换之后生成量化系数;以及在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。帧内编码器(722)可以基于帧内预测信息和同一图片中的参考块来计算帧内预测结果(例如,所预测的块)。
通用控制器(721)可以被配置成确定通用控制数据,并且基于通用控制数据来控制视频编码器(703)的其他部件。在示例中,通用控制器(721)确定块的预测模式,并基于预测模式向开关(726)提供控制信号。例如,在预测模式是帧内模式的情况下,通用控制器(721)控制开关(726)选择帧内模式结果以供残差计算器(723)使用,并且控制熵编码器(725)选择帧内预测信息并将该帧内预测信息包括在比特流中;以及在块的预测模式是帧间模式的情况下,通用控制器(721)控制开关(726)选择帧间预测结果以供残差计算器(723)使用,并且控制熵编码器(725)选择帧间预测信息并将该帧间预测信息包括在比特流中。
残差计算器(723)可以被配置成计算所接收的块与选自帧内编码器(722)或帧间编码器(730)的块的预测结果之间的差(残差数据)。残差编码器(724)可以被配置成对残差数据进行编码以生成变换系数。例如,残差编码器(724)可以被配置成将残差数据从空间域转换到频域以生成变换系数。然后,对变换系数进行量化处理以获得经量化的变换系数。在各种示例实施方式中,视频编码器(703)还包括残差解码器(728)。残差解码器(728)被配置成执行逆变换并生成解码残差数据。解码残差数据可以被帧内编码器(722)和帧间编码器(730)适当地使用。例如,帧间编码器(730)可以基于解码残差数据和帧间预测信息生成解码块,并且帧内编码器(722)可以基于解码残差数据和帧内预测信息生成解码块。适当地处理解码块以生成解码图片,并且这些解码图片可以在存储器电路(未示出)中缓冲并用作参考图片。
熵编码器(725)可以被配置成将比特流格式化以包括编码块并执行熵编码。熵编码器(725)被配置成将各种信息包括在比特流中。例如,熵编码器(725)可以被配置成将通用控制数据、所选择的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息以及其他合适的信息包括在比特流中。当在帧间模式或双向预测模式的合并子模式下对块进行编码时,可能不存在残差信息。
图8示出了根据本公开内容的另一实施方式的示例视频解码器(810)的图。视频解码器(810)被配置成接收作为编码视频序列的一部分的编码图片,并且对编码图片进行解码以生成重构的图片。在示例中,可以使用视频解码器(810)代替图4的示例中的视频解码器(410)。
在图8的示例中,视频解码器(810)包括如图8的示例布置中所示的耦接在一起的熵解码器(871)、帧间解码器(880)、残差解码器(873)、重构模块(874)和帧内解码器(872)。
熵解码器(871)可以被配置成根据编码图片重构某些符号,这些符号表示构成该编码图片的语法元素。这样的符号可以包括:例如对块进行编码的模式(例如,帧内模式、帧间模式、双向预测模式、合并子模式或者另一子模式)、可以标识某些样本或者由帧内解码器(872)或帧间解码器(880)使用以进行预测的元数据的预测信息(例如,帧内预测信息或帧间预测信息)、呈例如经量化的变换系数的形式的残差信息等。在示例中,当预测模式是帧间模式或双向预测模式时,帧间预测信息被提供给帧间解码器(880);以及当预测类型是帧内预测类型时,帧内预测信息被提供给帧内解码器(872)。残差信息可以经过逆量化并且被提供给残差解码器(873)。
帧间解码器(880)可以被配置成接收帧间预测信息,并基于帧间预测信息生成帧间预测结果。
帧内解码器(872)可以被配置成接收帧内预测信息,并基于帧内预测信息生成预测结果。
残差解码器(873)可以被配置成执行逆量化以提取去量化的变换系数,并且处理该去量化的变换系数以将残差从频域转换到空间域。残差解码器(873)还可以利用某些控制信息(以包括量化器参数(Quantizer Parameter,QP)),所述某些控制信息可以由熵解码器(871)提供(由于这可能仅是低数据量控制信息,因此未描绘数据路径)。
重构模块(874)可以被配置成在空间域中将由残差解码器(873)输出的残差与预测结果(视情况而定,由帧间预测模块或帧内预测模块输出)进行组合以形成重构的块,所述重构的块形成重构的图片的一部分,所述重构的图片是重构的视频的一部分。应当注意,也可以执行其他合适的操作例如去块操作等来改善视觉质量。
应当注意,可以使用任何合适的技术来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在一些示例实施方式中,可以使用一个或更多个集成电路来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(403)、(603)和(603)以及视频解码器(410)、(510)和(810)。
转向编码块划分,并且在一些示例实现方式中,可以应用预定模式。如图9所示,可以采用从第一预定义级别(例如,64×64块级别)开始到第二预定义级别(例如,4×4级别)的示例4路划分树。例如,基本块可以经历由902、904、906和908指示的四个划分选项,其中被指定为R的划分被允许用于递归划分,因为图9中所指示的相同的划分树可以以较低的等级重复,直到最低级别(例如,4×4级别)。在一些实现方式中,可以对图9的划分方案应用附加限制。在图9的实现方式中,可以允许矩形划分(例如,1:2/2:1矩形划分),但是不允许这些矩形划分是递归的,而允许正方形划分是递归的。如果需要,按照图9以递归的方式进行的划分生成编码块的最终集。这样的方案可以应用于颜色信道中的一个或更多个。
图10示出了允许递归划分以形成划分树的另一示例预定义划分模式。如图10所示,可以预先定义示例10路划分结构或模式。根块可以在预定义级别(例如,从128×128级别或64×64级别)开始。图10的示例划分结构包括各种2:1/1:2和4:1/1:4矩形划分。图10的第二行中被指示为1002、1004、1006和1008的具有3个子划分的划分类型可以被称为“T型”划分。“T型”划分1002、1004、1006和1008可以被称为左T型、顶T型、右T型和底T型。在一些实现方式中,图10的矩形划分都不允许被进一步细分。还可以定义编码树深度以指示从根节点或根块开始的拆分深度。例如,根节点或根块(例如对于128×128块)的编码树深度可以被设置为0,并且在根块按照图10被进一步拆分一次之后,编码树深度增加1。在一些实现方式中,只有1010中的全正方形划分可以被允许按照图10的模式递归划分到划分树的下一级别。换言之,对于具有模式1002、1004、1006和1006的正方形划分,可能不允许递归划分。如果需要,按照图10以递归的方式进行的划分生成编码块的最终集。这样的方案可以应用于颜色信道中的一个或更多个。
在按照上述划分过程或其他过程中的任何过程对基本块进行分割或划分之后,可以再次得到划分或编码块的最终集。这些划分中的每一个可以处于各种划分级别中的一个级别。划分中的每一个可以被称为编码块(CB)。对于上面的各种示例划分实现方式,每个所得的CB可以具有任何允许的大小和划分级别。这些划分被称为编码块,这是因为它们可以形成如下单元,针对这些单元可以进行一些基本的编码/解码决策并且可以在编码视频比特流中优化、确定和用信号通知编码/解码参数。最终划分中的最高级别表示编码块划分树的深度。编码块可以是亮度编码块或色度编码块。
在一些其他示例实现方式中,四叉树结构可以用于将基础亮度块和色度块递归地拆分成编码单元。这样的拆分结构可以被称为编码树单元(CTU),编码树单元通过使用四叉树结构被拆分成编码单元(CU)以使划分适应基本CTU的各种局部特性。在这样的实现方式中,隐含四叉树拆分可以在图片边界处被执行,使得块将保持四叉树拆分直到大小适合图片边界。术语CU被用于统称亮度编码块和色度编码块(CB)的单元。
在一些实现方式中,CB可以被进一步划分。例如,出于在编码过程和解码过程期间进行帧内或帧间预测的目的,CB可以被进一步划分成多个预测块(PB)。换言之,CB可以被进一步划分成不同的子划分,在所述不同的子划分中可以进行单独的预测决策/配置。并行地,出于划定执行视频数据的变换或逆变换的级别的目的,CB可以被进一步划分成多个变换块(TB)。将CB划分为PB和TB的方案可以相同或者可以不相同。例如,每个划分方案可以基于例如视频数据的各种特征使用其自己的过程被执行。在一些示例实现方式中,PB划分方案和TB划分方案可以是独立的。在一些其他示例实现方式中,PB划分方案和TB划分方案与边界可以是相关的。在一些实现方式中,例如,TB可以在PB划分之后被划分,并且特别地,每个PB在按照编码块的划分确定之后,然后可以被进一步划分成一个或更多个TB。例如,在一些实现方式中,PB可以被拆分成一个、两个、四个或其他数量的TB。
在一些实现方式中,为了将基本块划分成编码块并进一步划分成预测块和/或变换块,可以对亮度信道和色度信道进行不同地处理。例如,在一些实现方式中,将编码块划分成预测块和/或变换块对于亮度信道来说可能是允许的,而这样的将编码块划分成预测块和/或变换块对于色度信道来说可能是不允许的。在这样的实现方式中,亮度块的变换和/或预测因此可以仅在编码块级别执行。对于另一示例,亮度信道和色度信道的最小变换块大小可以不同,例如,与色度信道相比,亮度信道的编码块可以被允许划分成较小的变换块和/或预测块。对于又一示例,将编码块划分成变换块和/或预测块的最大深度在亮度信道与色度信道之间可以不同,例如,与色度信道相比,亮度信道的编码块可以被允许划分成较深的变换块和/或预测块。对于具体示例,亮度编码块可以被划分成多种大小的变换块,这些变换块可以由向下多达2个级别的递归划分来表示,并且可以允许例如正方形、2:1/1:2和4:1/1:4的变换块形状以及从4×4到64×64的变换块大小。然而,对于色度块,可能仅允许针对亮度块指定的最大可能变换块。
在将编码块划分成PB的一些示例实现方式中,PB划分的深度、形状和/或其他特征可能取决于PB是被帧内编码还是被帧间编码。
将编码块(或预测块)划分成变换块可以以各种示例方案实现,包括但不限于递归地或非递归地进行四叉树拆分和预定义模式拆分,并另外考虑了编码块或预测块的边界处的变换块。通常,所得的变换块可以处于不同的拆分级别,可以不具有相同的大小,并且可以不需要为正方形形状(例如,所得的变换块可以是具有某些允许的大小和纵横比的矩形)。
在一些实现方式中,可以使用编码划分树方案或结构。用于亮度信道和色度信道的编码划分树方案可能不需要相同。换言之,亮度信道和色度信道可以具有独立的编码树结构。此外,亮度信道和色度信道是使用相同的还是不同的编码划分树结构以及要使用的实际编码划分树结构可以取决于正在被编码的切片是P切片、B切片还是I切片。例如,对于I切片,色度信道和亮度信道可以具有单独的编码划分树结构或编码划分树结构模式,而对于P切片或B切片,亮度信道和色度信道可以共享相同的编码划分树方案。当应用单独的编码划分树结构或模式时,亮度信道可以由一个编码划分树结构划分成CB,而色度信道可以由另一编码划分树结构划分成色度CB。
下文描述了编码块和变换块划分的具体示例实现方式。在这样的示例实现方式中,可以使用上述递归四叉树拆分将基本编码块拆分成编码块。在每个级别处,是否应当继续对特定划分进行进一步的四叉树拆分可以由本地视频数据特性来确定。所得到的CB可以处于不同的四叉树拆分级别,并且可以具有不同的大小。可以在CB级别(或CU级别,对于所有三色信道)处做出关于是使用帧间图片(时间)预测还是帧内图片(空间)预测来对图片区域进行编码的决定。根据PB拆分类型可以将每个CB进一步拆分成一个、两个、四个或其他数量的PB。在一个PB内,可以应用相同的预测过程,并且基于PB将相关信息传输到解码器。在通过应用基于PB拆分类型的预测过程获得残差块之后,可以根据与用于CB的编码树类似的另一四叉树结构将CB划分成TB。在该特定实现方式中,CB或TB可以是正方形形状,但不必限于正方形形状。此外,在该特定示例中,对于帧间预测,PB可以为正方形或矩形形状,但对于帧内预测,PB可以仅为正方形。编码块可以进一步拆分成例如四个正方形形状的TB。每个TB可以被进一步递归地(使用四叉树拆分)拆分成较小的TB,所述较小的TB被称为残差四叉树(RQT)。
下文描述了将基本编码块划分成CB和其他PB和/或TB的另一具体示例。例如,不是使用多划分单元类型诸如图10所示的多划分单元类型,可以利用使用二元和三元拆分分割结构的嵌套多类型树的四叉树。CB、PB和TB概念的分离(即,将CB划分成PB和/或TB,以及将PB划分成TB)可以被放弃,除非当对于其大小对于最大变换长度来说太大的CB需要时,其中这样的CB可能需要进一步拆分。该示例划分方案可以被设计成支持CB划分形状的更大灵活性,使得预测和变换两者都可以在CB级别上执行,而无需进一步划分。在这样的编码树结构中,CB可以具有正方形形状或矩形形状。具体地,编码树块(CTB)可以首先由四叉树结构划分。然后,四叉树叶节点可以进一步被多类型树结构划分。多类型树结构的示例在图11中示出。具体地,图11的示例多类型树结构包括四种拆分类型,所述四种拆分类型被称为垂直二元拆分(SPLIT_BT_VER)(1102)、水平二元拆分(SPLIT_BT_HOR)(1104)、垂直三元拆分(SPLIT_TT_VER)(1106)和水平三元拆分(SPLIT_TT_HOR)(1108)。CB然后对应于多类型树的叶。在该示例实现方式中,除非CB对于最大变换长度而言太大,否则该分割用于预测和变换处理二者而无需任何进一步划分。这意味着,在大多数情况下,CB、PB和TB在具有嵌套的多类型树编码块结构的四叉树中具有相同的块大小。在最大支持变换长度小于CB的颜色分量的宽度或高度时,出现例外。
图12示出了一个CTB的块划分的具有嵌套的多类型树编码块结构的四叉树的一个示例。更详细地,图12示出了CTB 1200被四叉树拆分成四个正方形划分1202、1204、1206和1208。针对四叉树拆分划分中的每一个做出进一步使用图11的多类型树结构进行拆分的决定。在图12的示例中,划分1204没有被进一步拆分。划分1202和1208各自采用另一四叉树拆分。对于划分1202,第二级别四叉树拆分左上、右上、左下和右下划分分别采用四叉树的第三级别拆分、图11的1104、无拆分以及图11的1108。划分1208采用另一四叉树拆分,并且第二级别四叉树拆分左上、右上、左下和右下划分分别采用图11的1106的第三级别拆分、无拆分、无拆分以及图11的1104。1208的第三级别左上划分的子划分中的两个根据1104和1108被进一步拆分。划分1206采用遵循图11的1102的第二级别拆分模式而分成两个划分,这两个划分根据图11的1108和1102在第三级别上被进一步拆分。根据图11的1104对它们中的一个进一步应用第四级别拆分。
对于上述具体示例,最大亮度变换大小可以为64×64,并且最大支持色度变换大小可以不同于亮度,例如可以为32×32。在亮度编码块或色度编码块的宽度或高度大于最大变换宽度或高度时,可以将亮度编码块或色度编码块在水平方向和/或垂直方向上自动拆分以满足该方向上的变换大小限制。
在上述将基本编码块划分为CB的具体示例中,编码树方案可以支持亮度和色度具有单独的块树结构的能力。例如,对于P切片和B切片,一个CTU中的亮度CTB和色度CTB可以共享相同的编码树结构。例如,对于I切片,亮度和色度可以具有单独的编码块树结构。在应用单独的块树模式时,可以通过一个编码树结构将亮度CTB划分成亮度CB,并且通过另一编码树结构将色度CTB划分成色度CB。这意味着I切片中的CU可以包括亮度分量的编码块或两个色度分量的编码块,并且除非视频是单色的,否则P切片或B切片中的CU总是包括所有三种颜色分量的编码块。
下文进一步详细描述了将编码块或预测块划分为变换块的示例实现方式以及变换块的编码顺序。在一些示例实现方式中,变换划分可以支持多种形状的变换块,例如1:1(正方形)、1:2/2:1和1:4/4:1,其中变换块大小的范围从例如4×4至64×64。在一些实现方式中,如果编码块小于或等于64×64,那么变换块划分可以仅应用于亮度分量,使得对于色度块,变换块大小与编码块大小相同。另外,如果编码块宽度或高度大于64,则亮度编码块和色度编码块二者可以分别被隐含地拆分成多个min(W,64)×min(H,64)和min(W,32)×min(H,32)变换块。
在一些示例实现方式中,对于帧内编码块和帧间编码块二者,编码块可以被进一步划分成多个变换块,其中划分深度达到预定义的级别数(例如,2级别)。变换块划分深度和大小可以是相关的。下面在表1中示出了从当前深度的变换大小到下一深度的变换大小的示例映射。
表1:变换划分大小设置
Figure BDA0004134461330000261
基于表1的示例映射,对于1:1正方形块,下一级别变换拆分可以创建四个1:1正方形子变换块。变换划分可以在例如4×4处停止。因此,当前深度的4×4的变换大小对应于下一深度的4×4的相同大小。在表1的示例中,对于1:2/2:1非正方形块,下一级别变换拆分将创建两个1:1正方形子变换块,而对于1:4/4:1非正方形块,下一级别变换拆分将创建两个1:2/2:1子变换块。
在一些示例实现方式中,对于帧内编码块的亮度分量,可以应用附加限制。例如,对于变换划分的每一级别,所有子变换块可以被限制为具有相同的大小。例如,对于32×16编码块,级别1变换拆分创建两个16×16子变换块,级别2变换拆分创建八个8×8子变换块。换言之,第二级别拆分必须应用于所有第一级别子块,以保持变换单元大小相等。图13中示出了按照表1进行的帧内编码正方形块的变换块划分的示例、以及由箭头指示的编码顺序。具体地,1302示出了正方形编码块。在1304中示出了根据表1分成4个大小相等的变换块的第一级别拆分、以及由箭头指示的编码顺序。在1306中示出了根据表1将所有第一级别相等大小的块分成16个相等大小的变换块的第二级别拆分、以及由箭头指示的编码顺序。
在一些示例实现方式中,上述针对帧内编码的限制可能不适用于帧间编码块的亮度分量。例如,在第一级别的变换拆分之后,子变换块中的任何一个可以以一个以上的级别被进一步独立地拆分。因此,所得到的变换块可以具有相同的大小,或者可以不具有相同的大小。图14中示出了帧间编码块到变换块的示例拆分以及其编码顺序。在图14的示例中,根据表1以两个级别将帧间编码块1402拆分成变换块。在第一级别处,帧间编码块被拆分成四个大小相等的变换块。然后,四个变换块中的仅一个(不是全部四个变换块)被进一步拆分成四个子变换块,得到由1404所示的具有两种不同大小的总共7个变换块。这7个变换块的示例编码顺序由图14的1404中的箭头示出。
在一些示例实现方式中,针对变换块的一些附加限制可以适用于色度分量。例如,对于色度分量,变换块大小可以与编码块大小一样大,但是不小于预定义大小例如8×8。
在一些其他示例实现方式中,对于其宽度(W)或高度(H)大于64的编码块,亮度编码块和色度编码块二者可以分别被隐含地拆分为多个min(W,64)×min(H,64)和min(W,32)×min(H,32)变换单元。
图15进一步示出了用于将编码块或预测块划分成变换块的另一替选示例方案。如图15所示,不是使用递归变换划分,可以根据编码块的变换类型将预定义的一组划分类型应用于编码块。在图15中所示的特定示例中,可以应用6种示例划分类型中的一种将编码块拆分成各种数量的变换块。这样的方案可以应用于编码块或预测块。
更详细地,如图15所示,图15的划分方案为任何给定变换类型提供了多达6种划分类型。在该方案中,可以基于例如速率失真成本为每一编码块或预测块分配变换类型。在示例中,分配给编码块或预测块的划分类型可以基于编码块或预测块的变换划分类型来确定。特定划分类型可以对应于变换块拆分大小和模式(或划分类型),如图15中所说明的4种划分类型所示。可以预先定义各种变换类型与各种划分类型之间的对应关系。以下示出了示例对应,其中大写的标签指示可以基于速率失真成本而分配给编码块或预测块的变换类型:
·PARTITION_NONE:分配与块大小相等的变换大小。
·PARTITION_SPLIT:分配为块大小的1/2宽度和块大小的1/2高度的变换大小。
·PARTITION_HORZ:分配具有与块大小相同的宽度和块大小的1/2高度的变换大小。
·PARTITION_VERT:分配具有块大小的1/2宽度和与块大小相同的高度的变换大小。
·PARTITION_HORZ4:分配具有与块大小相同的宽度和块大小的1/4高度的变换大小。
·PARTITION_VERT4:分配具有块大小的1/4宽度和与块大小相同的高度的变换大小。
在上述示例中,图15所示的划分类型都包含用于划分的变换块的均匀变换大小。这仅是示例,而不是限制。在一些其他实现方式中,混合的变换块大小可以用于特定划分类型(或模式)的划分的变换块。
转向用于编码块/单元的特定类型的用信号通知的一些示例实现方式,对于每个帧内编码单元和帧间编码单元,可以在编码比特流中用信号通知标志即skip_txfm标志,如表2的示例语法所示并由用于从比特流中检索这些标志的read_skip()函数表示。该标志可以指示当前编码单元中的变换系数是否全为零。在一些示例实现方式中,如果使用例如值1发信号通知该标志,那么另一变换系数相关的语法例如EOB(块结束)不需要针对编码单元中的任何颜色编码块用信号通知,并且可以得出为针对零变换系数块预定义且与零变换系数块相关联的值或数据结构。对于帧间编码块,如表2的示例所示,该标志可以在skip_mode标志之后用信号通知,skip_mode标志指示编码单元可以因各种原因而被跳过。当skip_mode为真时,应当跳过编码单元,并且不需要发信号通知任何skip_txfm标志,并且skip_txfm标志被推断为1。否则,如果skip_mode为假,那么关于编码单元的更多信息将被包括在比特流中,并且skip_txfm标志将被另外发信号通知以指示编码单元是否全为零。
表2:跳过模式和跳过语法帧内模式信息语法:
Figure BDA0004134461330000291
帧间模式信息语法:
Figure BDA0004134461330000292
跳过语法
Figure BDA0004134461330000301
在以下示例实现方式中,术语色度信道通常可以指Cb和Cr颜色分量(或信道)二者,或U和V颜色分量(或信道)二者。术语亮度信道可以包括亮度分量或Y分量。亮度分量或信道可以被称为亮度颜色分量或信道。下面使用Y、U和V来表示三种颜色分量。此外,术语“编码块”和“编码”块可互换使用,以表示要编码的块或已经编码的块。它们可以是三种颜色分量中的任何一种的块。三个相应的颜色经编码/编码块可以用于经编码/编码单元。
转向颜色分量的每一个中的残差的变换系数的编码和解码(熵编码),对于每个变换块,变换系数编码可以首先用信号通知跳过符号,之后用信号通知变换核类型和跳过符号为零(指示存在非零系数)时的块结束(EOB)位置。然后每个系数值被映射成多个水平映射(幅度映射)和符号。
在对EOB位置进行编码之后,可以按反向扫描顺序对低水平映射和中水平映射进行编码,前者指示系数幅度在低水平内(例如,在0和2之间)的情况,而后者指示范围在中水平内(例如,在3和14之间)的情况。下一步以正向扫描顺序通过例如Exp-Golomb编码对系数的符号以及大于高水平(例如,14)的系数的残差值进行编码。
关于上下文建模的使用,低水平映射编码可以包含变换大小和方向以及上至五个相邻系数信息。另一方面,中水平映射编码可以遵循与低水平幅度编码类似的方法,只是相邻系数的数目低至较小的数目(例如,两个)。在没有任何上下文模型的情况下,对残差水平的示例Exp-Golomb码以及AC系数的符号进行编码,同时使用DC系数的相邻变换块的dc符号对该DC系数的符号进行编码。
在一些示例性实现中,可以对色度残差进行联合编码。这样的编码方案可以基于色度通道之间的一些统计相关性。例如,在许多情况下,Cr和Cb色度系数在幅度中可以是相似的,而在符号上是相反的,并且因此例如在用信号通知变换系数的情况下,变换块水平可以被联合编码以通过仅引入小的颜色失真来提高编码效率。联合色度编码模式的使用(激活)可以例如由联合色度编码标志(例如TU级别标志tu_joint_cbcr_residual_flag)指示,以及所选择的联合模式可以由色度CBF隐含地指示。
具体地,在TU(转换块)的色度CBF中的任一个或两个等于1的情况下,可以存在标志tu_joint_cbcr_residual_flag。在PPS和片头中,可以针对联合色度残差编码模式用信号通知色度量化参数(QP)偏移值,以区别于针对常规色度残差编码模式用信号通知的色度QP偏移值。这些色度QP偏移值可以用于得出使用联合色度残差编码模式编码的那些块的色度QP值。当相对应的联合色度编码模式(表3中的模式2)在TU中是活动的时,该色度QP偏移在该TU的量化和解码期间可以被添加至应用的亮度得出的色度QP。对于其他模式(表3中的模式1和模式3),可以以与针对常规的Cb或Cr块相同的方式得出色度QP。表3中描绘了来自发送的变换块的色度残差(resCb和resCr)的重构过程。当该模式被激活时(模式2),可以用信号通知一个单一联合色度残差块(表3中的resJointC[x][y]),并且可以在考虑诸如tu_cbf_cb、tu_cbf_cr以及在例如片头而不是在变换块水平中作为指定的符号值的CSign的信息的情况下得出针对Cb的残差块(resCb)和针对Cr的残差块(resCr)。在一些实现中,CSign在大多数时候可以是-1。
可以仅在帧内编码CU中支持上述三个示例联合色度编码模式。在帧间编码CU中,可以仅支持模式2。因此,对于帧间编码CU,语法元素tu_joint_cbcr_residual_flag仅在两个色度CBF都是1的情况下存在。
表1.色度残差的重构。值CSign是在片头中指定的符号值(+1或-1),resJointC[][]是发送残差。
Figure BDA0004134461330000311
上面的联合色度编码方案假设了同位的Cr和Cb变换块之间的变换系数之间的一些相关性。这些假设通常是统计学的,并且因此在一些情况下会带来失真。特别地,当变换块中的颜色系数中的一个为非零,而另一颜色分量的系数为零时,那么联合色度编码方案中所做的一些假设确定是错误的,而且这样的编码也不会节省任何编码位(因为无论如何色度系数中的一个为零)。
在下面的各种示例实现中,描述了系数水平(即,逐个变换系数)交叉分量编码方案,该方案利用颜色分量的同位的变换系数(在频域中被并置)之间的一些相关性。这样的方案对于一个颜色分量的系数为零而另一颜色分量的相对应的变换系数为非零的变换块(或单元)特别地有用。对于那些零和非零的颜色系数对,在去量化之前或之后,非零的颜色系数可以用于估计其他颜色分量的零编码系数的原始小值(其最初可以在编码过程中量化之前是非零的,尽管是小的值),从而可能恢复例如在编码期间在量化过程中丢失的一些信息。由于统计学上存在的颜色间的相关性,因此在量化成零期间丢失的信息可以被恢复。这样的交叉分量编码在一定程度上恢复丢失的信息,而没有显著的(零系数的)编码成本。
特别地,可以实现交叉分量系数符号编码方法,该方法利用第一颜色分量的系数符号值对第二颜色分量的系数符号进行编码。在一个更具体的示例中,Cb变换系数的符号值可以被用作编码其他Cr变换系数的符号的上下文。这样的交叉分量的编码可以针对颜色分量的变换系数对而被逐个系数地实现。这样的实现的基本原理和下面进一步详细描述的其他实现不限于Cr和Cb分量。它们在三个颜色分量中的任何两个之间是适用的。在该方面,亮度通道被认为颜色分量之一。
可以单独地使用或以任何顺序组合下面的示例实现。术语块大小可以指块宽度或块高度中的任一个,或宽度和高度的最大值,或宽度和高度的最小值,或面积大小(宽度*高度),或块的纵横比(宽度:高度,或高度:宽度)。术语“水平值”或“水平”可以指变换系数值的幅度。
在一些示例实现中,第一颜色分量的变换系数的水平值和/或符号值可以用于得出被加至第二颜色分量的变换系数水平值的偏移值。
在一些另外的实现中,生成偏移所使用的第一颜色分量的变换系数和第二颜色分量的变换系数是同位的(频域中的同一坐标,例如,估计不跨频)。
虽然上述第一颜色分量和第二颜色分量可以不限于特定的颜色分量,但在一些示例实现中,第一颜色分量可能是Cb(或Cr),而第二颜色分量是Cr(或Cb)。
在一些具体的示例实现中,第一颜色分量可以是亮度,第二颜色分量可以是Cb和Cr之一。
在一些具体的示例实现中,第一颜色分量可以是Cb和Cr之一,以及第二颜色分量可以是亮度。
在一些示例实现中,第一颜色分量的量化变换系数可以非零,以及所述第二颜色分量的量化变换系数可以是零。因此,第二分量的原始变换系数的相对小的非零信息可能在编码过程期间由于量化而丢失,以及本文中描述的示例实现有助于使用可能与零系数颜色分量统计上相关的相对应的非零颜色分量来恢复一些丢失的信息。
在一些示例实现中,第一颜色分量的变换系数的符号值可以用于得出被加至第二颜色分量的去量化的变换系数水平值的偏移值。
在一些示例实现中,第一颜色分量的变换系数的符号值用于得出被加至去量化之前的第二颜色分量的变换系数水平值的偏移值。
在一些示例实现中,在第一颜色分量的变换系数的符号值是正的(或负的)的情况下,将负的(或正的)偏移值加至第二颜色分量的去量化的变换系数水平值,以用于重构第二颜色分量的变换系数值。换句话,第一颜色分量的变换系数的符号值和被加至第二颜色分量的变换系数水平值的偏移值的符号值具有不同的符号值。这样的实现可以与统计学观察一致,即两个色度分量针对变换系数通常具有相反的符号。
在一些示例实现中,在高级语法中用信号通知第一颜色分量的变换系数的符号值和被加至第二颜色分量的变换系数水平值的偏移值的符号值是否具有相反的符号值,高级语法包括但不限于:SPS、VPS、PPS、APS、图片头、帧头、片头、图块头、CTU头。这与联合色度编码方案的上述信令方案类似。
在一些示例实现中,被加至第二颜色分量的变换系数水平值的偏移值可以取决于第一颜色分量的变换系数的符号和水平二者。
在一些示例实现中,被加至第二颜色分量的变换系数水平值的偏移值的幅度可以取决于第一颜色分量的变换系数水平。
在一些示例实现中,被加至第二颜色分量的变换系数水平值的偏移值的幅度可以针对第一颜色分量的变换系数的系数水平的每个输入值而被预定义。
在一些示例实现中,被加至第二颜色分量的变换系数水平值的偏移值可以取决于变换系数所处的频率。例如,对于较高频率系数,偏移值可以较小。
在一些示例实现中,被加至第二颜色分量的变换系数水平值的偏移值可以取决于变换系数所属的块的块大小。例如,对于较大的块大小,偏移值通常可以较小。
在一些示例实现中,被加至第二颜色分量的变换系数水平值的偏移值可以取决于第二分量是亮度(Y)分量还是色度(Cb或Cr)分量。例如,在第二颜色分量是亮度的情况下,偏移值可以较小。
图16示出了遵循交叉分量解码的上面实现的基本原理的示例方法的流程图1600。示例方法流程在1601处开始。在S1610中,从编码视频的比特流中提取第一颜色分量的第一变换系数。在S1620中,从编码视频的比特流中提取第二颜色分量的第二变换系数。在S1630中,基于第一变换系数的幅度或符号值得出偏移值。在S1640中,将偏移值加至第二变换系数的幅度,以生成第二颜色分量的修改后的第二变换系数。在S1650中,至少基于第一颜色分量的第一变换系数和第二颜色分量的修改后的第二变换系数,重构编码视频。示例方法流程在S1699处结束。
本公开内容中的实施方式可以单独使用或以任何顺序组合使用。此外,方法(或实施方式)、编码器和解码器中的每一个均可以通过处理电路系统(例如,一个或更多个处理器或一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。本公开内容中的实施方式可以应用于亮度块或色度块。
上述技术可以使用计算机可读指令被实现为计算机软件并且被物理地存储在一个或更多个计算机可读介质中。例如,图17示出了适合于实现所公开的主题的某些实施方式的计算机系统(1700)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,所述机器代码或计算机语言可以经过汇编、编译、链接等机制以创建包括指令的代码,指令可以由一个或更多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例如个人计算机、平板电脑、服务器、智能电话、游戏装置、物联网装置等。
图17中所示的用于计算机系统(1700)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应该被解释为具有与计算机系统(1700)的示例性实施方式中所示的部件中的任何一个或部件的组合有关的任何依赖性或要求。
计算机系统(1700)可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)的输入。人机接口装置还可以用于捕获不一定与人的意识输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括以下中的一个或更多个(描绘的每种中的仅一个):键盘(1701)、鼠标(1702)、触控板(1703)、触摸屏(1710)、数据手套(未示出)、操纵杆(1705)、麦克风(1706)、扫描仪(1707)、摄像装置(1708)。
计算机系统(1700)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(1710)、数据手套(未示出)或操纵杆(1705)进行的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置);音频输出装置(例如:扬声器(1709)、头戴式耳机(未描绘));视觉输出装置(例如,屏幕(1710),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个屏幕具有或不具有触摸屏输入能力,每个具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和发烟器(未描绘));以及打印机(未描绘)。
计算机系统(1700)还可以包括人类可访问存储装置及其相关联的介质,例如包括具有CD/DVD等介质(1721)的CD/DVD ROM/RW(1720)的光学介质、拇指驱动器(1722)、可移除硬盘驱动器或固态驱动器(1723)、遗留磁性介质例如磁带和软盘(未描绘)、基于专用ROM/ASIC/PLD的装置例如安全加密狗(未描绘)等。
本领域技术人员还应当理解,结合目前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
计算机系统(1700)还可以包括到一个或更多个通信网络(1755)的接口(1754)。网络例如可以是无线网络、有线网络、光网络。网络还可以为局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括:局域网(例如以太网、无线LAN),包括GSM、3G、4G、5G、LTE等的蜂窝网络,包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络,包括CAN总线的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(1749)(例如,计算机系统(1700)的USB端口)的外部网络接口适配器;其他的网络通常通过如下所述(例如,至PC计算机系统的以太网接口或至智能电话计算机系统的蜂窝网络接口)附接至系统总线而集成到计算机系统(1700)的核心中。使用这些网络中的任何网络,计算机系统(1700)可以与其他实体通信。这样的通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,至某些CAN总线装置的CAN总线)、或双向的(例如,使用局域数字网络或广域数字网络至其他计算机系统)。可以在如上面所描述的这些网络和网络接口中的每个网络和网络接口上使用某些协议和协议栈。
以上提及的人机接口装置、人类可访问的存储装置和网络接口可以附接至计算机系统(1700)的核心(1740)。
核心(1740)可以包括一个或更多个中央处理单元(CPU)(1741)、图形处理单元(GPU)(1742)、现场可编程门区域(FPGA)(1743)形式的专用可编程处理单元、用于某些任务的硬件加速器(1744)、图形适配器(1750)等。这些装置连同只读存储器(ROM)(1745)、随机存取存储器(1746)、内部大容量存储装置(例如,内部非用户可访问硬盘驱动器、SSD等)(1747)可以通过系统总线(1748)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1748),以允许通过附加的CPU、GPU等进行扩展。外围装置可以直接地或者通过外围总线(1749)附接至核心的系统总线(1748)。在示例中,屏幕(1710)可以连接至图形适配器(1750)。外围总线的架构包括PCI、USB等。
CPU(1741)、GPU(1742)、FPGA(1743)和加速器(1744)可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。计算机代码可以存储在ROM(1745)或RAM(1746)中。瞬时数据也可以存储在RAM(1746)中,而永久性数据可以存储在例如内部大容量存储装置(1747)中。可以通过使用高速缓存存储器来实现对存储器装置中的任何存储器装置的快速存储和检索,该高速缓存存储器可以与一个或更多个CPU(1741)、GPU(1742)、大容量存储装置(1747)、ROM(1745)、RAM(1746)等紧密相关联。
计算机可读介质可以在其上具有用于执行各种计算机实现的操作的计算机代码。这些介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者他们可以具有计算机软件领域的技术人员公知且可用的类型。
作为非限制性示例,具有架构的计算机系统(1700)并且特别是核心(1740)可以提供作为处理器(包括CPU、GPU、FPGA、加速器等)执行在一个或更多个有形计算机可读介质中实现的软件的结果的功能。这样的计算机可读介质可以是与如以上介绍的用户可访问的大容量存储装置相关联的介质,以及核心(1740)的具有非暂态性质的某些存储装置,例如核心内部大容量存储装置(1747)或ROM(1745)。可以将实现本公开内容的各种实施方式的软件存储在这样的装置中并且由核心(2640)执行。根据特定需求,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核心(2640)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(2646)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或可替选地,计算机系统可以提供作为逻辑硬连线或以其他方式在电路(例如:加速器(2644))中实现的结果的功能,所述电路可以代替软件而操作或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以涵盖逻辑,并且反之提及逻辑也可以涵盖软件。在适当的情况下,对计算机可读介质的提及可以包含存储用于执行的软件的电路(例如,集成电路(IC))、体现用于执行的逻辑的电路或上述两者。本公开内容涵盖硬件与软件的任何合适的组合。
虽然本公开内容已经描述了几个示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等同物。在上述实现和实施方式中,可以根据需要以任何数量或顺序组合或布置过程的任何操作。此外,上述过程中的两个或更多个操作可以被并行执行。因此,应当认识到,本领域技术人员将能够构思许多系统和方法,虽然本文中没有明确示出或描述,但是这些系统和方法实施本公开内容的原理并且因此在本公开内容的精神和范围内。
附录A:缩略词
JEM:联合开发模型
VVC:通用视频编码
BMS:基准集
MV:运动矢量
HEVC:高效视频编码
SEI:补充增强信息
VUI:视频可用性信息
GOP:图片组
TU:变换单元
PU:预测单元
CTU:编码树单元
CTB:编码树块
PB:预测块
HRD:假想参考解码器
SNR:信噪比
CPU:中央处理单元
GPU:图形处理单元
CRT:阴极射线管
LCD:液晶显示器
OLED:有机发光二极管
CD:致密盘
DVD:数字视频光盘
ROM:只读存储器
RAM:随机存取存储器
ASIC:专用集成电路
PLD:可编程逻辑器件
LAN:局域网
GSM:全球移动通信系统
LTE:长期演进
CANBus:控制器局域网总线
USB:通用串行总线
PCI:外围部件互连
FPGA:现场可编程门区域
SSD:固态驱动器
IC:集成电路
HDR:高动态范围
SDR:标准动态范围
JVET:联合视频专家组
MPM:最可能模式
WAIP:广角帧内预测
CU:编码单元
PU:预测单元
TU:变换单元
CTU:编码树单元
PDPC:位置相关预测组合
ISP:帧内子划分
SPS:序列参数集
PPS:图片参数集
APS:自适应参数集
VPS:视频参数集
DPS:解码参数集
ALF:自适应环路滤波器
SAO:样本自适应偏移CC-ALF:交叉分量自适应环路滤波器CDEF:约束方向增强滤波器
CCSO:交叉分量样本偏移
LSO:本地样本偏移
LR:环路恢复滤波器
AV1:AOMedia视频1
AV2:AOMedia视频2

Claims (22)

1.一种用于视频解码的方法,包括:
从编码视频的比特流中提取第一颜色分量的第一变换系数;
从所述编码视频的比特流中提取第二颜色分量的第二变换系数;
基于所述第一变换系数的幅度或符号值得出偏移值;
将所述偏移值加至所述第二变换系数的幅度以生成所述第二颜色分量的修改后的第二变换系数;以及
至少基于所述第一颜色分量的第一变换系数和所述第二颜色分量的修改后的第二变换系数重构所述编码视频。
2.根据权利要求1所述的方法,其中,所述第一变换系数和所述第二变换系数被并置。
3.根据权利要求1所述的方法,其中,所述第一颜色分量包括一个色度分量,而所述第二颜色分量包括另一色度分量。
4.根据权利要求1所述的方法,其中,所述第一颜色分量包括亮度分量,而所述第二颜色分量包括一个色度分量。
5.根据权利要求1所述的方法,其中,所述第一颜色分量包括一个色度分量,而所述第二颜色分量包括亮度分量。
6.根据权利要求1所述的方法,其中:
所述第一变换系数在从比特流量化时为非零;以及
所述第二变换系数在从比特流量化时为零。
7.根据权利要求1所述的方法,其中:
所述第一变换系数包括符号值和幅度值;以及
得出所述偏移值包括基于所述第一变换系数的符号值得出所述偏移值。
8.根据权利要求1至7中任一项所述的方法,其中,将所述偏移值加至所述第二变换系数的幅度包括将所述偏移值加至去量化后的所述第二变换系数的幅度。
9.根据权利要求1至7中任一项所述的方法,其中,将所述偏移值加至所述第二变换系数的幅度包括将所述偏移值加至去量化之前的所述第二变换系数的幅度。
10.根据权利要求1至7中任一项所述的方法,其中:
所述偏移值具有与所述第一变换系数的符号相反的符号;以及
将所述偏移值加至所述第二变换系数的幅度包括将所述偏移值加至去量化后的所述第二变换系数的幅度。
11.根据权利要求1至7中任一项所述方法,其中,在以下之一中用信号通知所述第一变换系数的符号值和所述偏移值的符号是否相反:
视频参数集(VPS);
序列参数集(SPS);
图片参数集(PPS);
自适应参数集(APS);
帧头;
片头;
编码树单元头;或
图块头。
12.根据权利要求1至7中任一项所述的方法,其中,所述偏移值取决于所述第一变换系数的符号和幅度二者。
13.根据权利要求12所述的方法,其中,所述偏移值的幅度取决于所述第一变换系数的幅度。
14.根据权利要求12所述的方法,其中,通过所述偏移值的幅度和所述第一颜色分量的变换系数的幅度之间的预定对应关系来预定义所述偏移值的幅度。
15.根据权利要求1至7中任一项所述的方法,其中,根据与所述第一变换系数相对应的频率位置来确定所述偏移值。
16.根据权利要求1至7中任一项所述的方法,其中,根据所述第一变换系数和所述第二变换系数所属的变换块的块大小来确定所述偏移值。
17.根据权利要求1至7中任一项所述的方法,其中,根据所述第二颜色分量是亮度分量还是色度分量来确定所述偏移值。
18.一种用于视频解码的设备,其包括被配置成进行以下操作的电路:
从编码视频的比特流中提取第一颜色分量的第一变换系数;
从所述编码视频的比特流中提取第二颜色分量的第二变换系数;
基于所述第一变换系数的幅度或符号值得出偏移值;
将所述偏移值加至所述第二变换系数的幅度以生成所述第二颜色分量的修改后的第二变换系数;以及
至少基于所述第一颜色分量的第一变换系数和所述第二颜色分量的修改后的第二变换系数重构所述编码视频。
19.根据权利要求18所述的设备,其中:
所述第一变换系数的量化系数为非零;以及
所述第二变换系数的量化系数为零。
20.一种用于存储计算机指令的非暂态计算机可读介质,所述计算机指令在由处理器执行时使所述处理器进行以下操作:
从编码视频的比特流中提取第一颜色分量的第一变换系数;
从所述编码视频的比特流中提取第二颜色分量的第二变换系数;
基于所述第一变换系数的幅度或符号值得出偏移值;
将所述偏移值添加至所述第二变换系数的幅度以生成所述第二颜色分量的修改后的第二变换系数;以及
至少基于所述第一颜色分量的第一变换系数和所述第二颜色分量的修改后的第二变换系数重构所述编码视频。
21.一种用于视频解码的设备,其包括被配置成执行权利要求2至5和7中的任一项的电路。
22.一种用于存储计算机指令的非暂态计算机可读介质,所述计算机指令在由处理器执行时使所述处理器执行权利要求2至7中的任一项。
CN202280006525.9A 2021-07-21 2022-01-28 交叉分量变换系数水平重构 Pending CN116368801A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163224046P 2021-07-21 2021-07-21
US63/224,046 2021-07-21
US17/575,075 US11863775B2 (en) 2021-07-21 2022-01-13 Cross-component transform coefficient level reconstruction
US17/575,075 2022-01-13
PCT/US2022/014240 WO2023003596A1 (en) 2021-07-21 2022-01-28 Cross-component transform coefficient level reconstruction

Publications (1)

Publication Number Publication Date
CN116368801A true CN116368801A (zh) 2023-06-30

Family

ID=84979565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280006525.9A Pending CN116368801A (zh) 2021-07-21 2022-01-28 交叉分量变换系数水平重构

Country Status (6)

Country Link
US (1) US11863775B2 (zh)
EP (1) EP4374575A1 (zh)
JP (2) JP7439344B2 (zh)
KR (1) KR20230054863A (zh)
CN (1) CN116368801A (zh)
WO (1) WO2023003596A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159006A (ja) * 2002-11-05 2004-06-03 Panasonic Communications Co Ltd 画像符号化装置及び画像復号化装置並びに画像符号化方法及び画像復号化方法
US20190208205A1 (en) * 2013-09-09 2019-07-04 Apple Inc. Chroma quantization in video coding
US20200099957A1 (en) * 2018-09-24 2020-03-26 Tencent America LLC Method and apparatus for video coding
CN111213382A (zh) * 2017-10-12 2020-05-29 交互数字Vc控股公司 用于视频编码和解码中的自适应变换的方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686561B2 (en) * 2013-06-17 2017-06-20 Qualcomm Incorporated Inter-component filtering
EP3058730B8 (en) 2013-10-18 2021-03-10 GE Video Compression, LLC Multi-component picture or video coding concept
JP6543578B2 (ja) 2016-01-27 2019-07-10 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
US11190794B2 (en) 2019-02-12 2021-11-30 Tencent America LLC Method and apparatus for video coding
CN112438050B (zh) * 2019-06-25 2023-01-17 韦勒斯标准与技术协会公司 使用二次变换的视频信号处理方法及装置
CN114586352A (zh) * 2019-09-23 2022-06-03 Vid拓展公司 联合分量视频帧滤波
WO2021083257A1 (en) * 2019-10-29 2021-05-06 Beijing Bytedance Network Technology Co., Ltd. Cross-component adaptive loop filter
CN114902657A (zh) * 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
US11277641B2 (en) * 2019-12-31 2022-03-15 Qualcomm Incorporated Chroma transform skip and joint chroma coding enabled block in video coding
JP7444997B2 (ja) * 2020-01-01 2024-03-06 バイトダンス インコーポレイテッド ビデオコーディングのためのクロスコンポーネント適応ループフィルタリング
US11722675B2 (en) * 2020-12-29 2023-08-08 Qualcomm Incorporated Sign prediction for multiple color components in video coding
JP2024520401A (ja) * 2021-05-26 2024-05-24 ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド 方法、電子装置、コンピュータ可読ストレージ媒体、コンピュータプログラム、およびビットストリーム
US20230035118A1 (en) * 2021-07-23 2023-02-02 Tencent America LLC Cross component end of block flag coding
US12047589B2 (en) * 2021-09-30 2024-07-23 Tencent America LLC Deriving offsets in cross-component transform coefficient level reconstruction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159006A (ja) * 2002-11-05 2004-06-03 Panasonic Communications Co Ltd 画像符号化装置及び画像復号化装置並びに画像符号化方法及び画像復号化方法
US20190208205A1 (en) * 2013-09-09 2019-07-04 Apple Inc. Chroma quantization in video coding
CN111213382A (zh) * 2017-10-12 2020-05-29 交互数字Vc控股公司 用于视频编码和解码中的自适应变换的方法和装置
US20200099957A1 (en) * 2018-09-24 2020-03-26 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
US11863775B2 (en) 2024-01-02
US20230034947A1 (en) 2023-02-02
KR20230054863A (ko) 2023-04-25
JP7439344B2 (ja) 2024-02-27
WO2023003596A1 (en) 2023-01-26
JP2024045471A (ja) 2024-04-02
JP2023546963A (ja) 2023-11-08
EP4374575A1 (en) 2024-05-29

Similar Documents

Publication Publication Date Title
CN115623203B (zh) 一种用于视频编码的方法和相关装置
CN111988619B (zh) 视频编解码方法、装置、计算机设备和存储介质
CN113661702B (zh) 视频编解码的方法、装置及存储介质
CN113348664B (zh) 视频解码的方法、装置及计算机可读介质
CN114731447B (zh) 用于视频解码的方法和设备
CN116325723B (zh) 用于视频解码的方法、计算机设备及介质
CN117015972B (zh) 视频编码和解码的方法、装置及存储介质
CN117356098A (zh) 在跨分量变换系数级别重构中导出偏移
CN116686287A (zh) 用于联合mvd编码的mvd缩放
CN116569553A (zh) 采用样本填充进行帧内块复制预测的方法和装置
KR20230135670A (ko) 조인트 모션 벡터 차이 코딩
JP2023522354A (ja) デカップリング変換パーティション分割
KR20230011395A (ko) 제로 잔차 플래그 코딩
CN115486078A (zh) 多参考行选择方案的低存储设计
CN115176461A (zh) 视频编解码的方法和装置
JP7439344B2 (ja) ビデオデコーディングのための方法、デバイス、およびコンピュータプログラム
CN116783888B (zh) 帧内预测方法、设备和计算机可读介质
CN116420352B (zh) 对视频流中视频块的编码方法、解码方法以及相关装置
CN116438793B (zh) 一种进行视频解码的方法、装置及存储介质
CN116458159A (zh) 跳过变换标志编码
CN117693934A (zh) 基于合并色度块的亮度色度预测
CN117203965A (zh) 调色板预测值生成和信号通知
CN117296320A (zh) 使用映射和不同类型的从亮度到色度预测
CN116547964A (zh) 用于交叉分量级重建的主变换
CN117242772A (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