CN116325722A - 用于帧内预测模式的熵编码 - Google Patents

用于帧内预测模式的熵编码 Download PDF

Info

Publication number
CN116325722A
CN116325722A CN202280006506.6A CN202280006506A CN116325722A CN 116325722 A CN116325722 A CN 116325722A CN 202280006506 A CN202280006506 A CN 202280006506A CN 116325722 A CN116325722 A CN 116325722A
Authority
CN
China
Prior art keywords
mode
block
index
intra
context
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
CN202280006506.6A
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 CN116325722A publication Critical patent/CN116325722A/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

用于视频编码和/或解码中的帧内预测模式的熵编码的方法、设备和计算机可读存储介质。该方法包括由装置接收针对块的已编码视频码流;由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息和块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式;由装置根据至少一个上下文从已编码视频码流中提取集合索引和模式索引;以及由装置基于集合索引和模式索引来确定针对块的帧内预测模式。

Description

用于帧内预测模式的熵编码
相关申请
本申请基于并且要求2021年7月7日提交的第63/219,230号美国临时申请和2022年1月12日提交的第17/573,845号美国非临时申请的优先权,上述两个申请通过引用以其全部并入本文中。
技术领域
本公开内容涉及视频编码和/或解码技术,并且特别涉及用于帧内预测模式的熵编码的改进设计和信令。
背景技术
本文中提供的该背景技术描述是出于总体上呈现本公开内容的上下文的目的。就该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交本申请时可以不被另外限定为现有技术的描述的各方面既没有明确地也没有隐含地承认为针对本公开内容的现有技术。
可以使用具有运动补偿的帧间图片预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,其中每个图片具有例如1920×1080亮度样本以及相关联的全采样或子采样色度样本的空间维度。所述一系列图片可以具有例如每秒60个图片或每秒60帧的固定的或可变的图片速率(可替选地称为帧速率)。未压缩的视频对于流式传输或数据处理具有特定的位率要求。例如,具有1920×1080的像素分辨率、60帧/秒的帧速率、以及在每像素每颜色通道8位下的4:2:0的色度子采样的视频需要接近1.5Gbit/s的带宽。一小时的这样的视频需要多于600千兆字节的存储空间。
视频编码和解码的一个目的可以是通过压缩来减少未压缩输入视频信号的冗余。压缩可以帮助减少以上提及的带宽和/或存储空间需求,在一些情况下减少两个数量级或更多。可以采用无损压缩和有损压缩两者以及它们的组合。无损压缩是指可以经由解码处理根据压缩的原始信号重建原始信号的精确副本的技术。有损压缩是指原始视频信息在编码期间未完全保留并且在解码期间未完全恢复的编码/解码处理。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,以呈现对预期应用有用的重建的信号,尽管存在一些信息丢失。在视频的情况下,有损压缩被广泛应用于许多应用中。可容忍的失真量取决于应用。例如,某些消费者视频流式传输应用的用户可能比电影或电视广播应用的用户容忍更高的失真。可以选择或调整可由特定编码算法实现的压缩比以反映各种失真容限:更高的可容忍失真通常允许使更高损失和更高压缩比产生的编码算法。
视频编码器和解码器可以利用来自若干广泛类别和步骤的技术,包括例如运动补偿、傅里叶变换、量化和熵编码。
视频编解码器技术可以包括称为帧内编码的技术。在帧内编码中,在不参考来自先前重建的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当所有样本块以帧内模式进行编码时,该图片可以被称为帧内图片。帧内图片及其衍生图片例如独立解码器刷新图片可以用于重置解码器状态,并且因此可以用作已编码视频码流和视频会话中的第一图片或者用作静止图像。然后,可以使帧内预测之后的块的样本经受到频域的变换,并且可以在熵编码之前对这样生成的变换系数进行量化。帧内预测表示使预变换域中的样本值最小化的技术。在一些情况下,变换之后的DC值越小并且AC系数越小,则在给定量化步长下表示熵编码之后的块所需的位就越少。
传统的帧内编码——诸如从例如MPEG(Moving Picture Experts Group,MPEG)-2代编码技术中已知的帧内编码——不使用帧内预测。然而,一些较新的视频压缩技术包括如下技术,其尝试基于例如在空间上邻近并且在解码顺序中先于正在进行帧内编码或解码的数据块的编码和/或解码期间获得的元数据和/或周围样本数据对块进行编码/解码。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重建中的当前图片的参考数据,而不使用来自其他参考图片的参考数据。
可以存在许多不同形式的帧内预测。当在给定的视频编码技术中可以使用多于一种这样的技术时,所使用的技术可以被称为帧内预测模式。可以在特定编解码器中提供一种或更多种帧内预测模式。在某些情况下,模式可以具有子模式和/或可以与各种参数相关联,并且针对视频块的模式/子模式信息和帧内编码参数可以单独编码或共同包括在模式码字中。针对给定模式、子模式和/或参数组合使用哪种码字可以对通过帧内预测的编码效率增益产生影响,并且因此可以对用于将码字转换成码流的熵编码技术产生影响。
帧内预测的某些模式由H.264引入、在H.265中被细化,并且在较新编码技术例如联合开发模型(Joint Exploration Model,JEM)、通用视频编码(Versatile VideoCoding,VVC)和基准集合(Benchmark Set,BMS)中被进一步细化。通常,对于帧内预测,可以使用已经变得可用的邻近样本值来形成预测器块。例如,可以将沿某个方向和/或线的特定邻近样本集合的可用值复制到预测器块中。对使用的方向的参考可以被编码在码流中或者其本身可以被预测。
参照图1A,在右下方描绘了在H.265的33个可能的帧内预测器方向(对应于H.265中指定的35个帧内模式的33个角度模式)中指定的九个预测器方向的子集。箭头会聚的点(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计算预测器时的舍入误差。
在H.265/HEVC(High Efficiency Video Coding,HEVC)(ITU(InternationalTelecommunication Union,ITU)-T H.265建议书,“High Efficiency Video Coding”,2016年12月)中描述了各种MV预测机制。在H.265指定的多种MV预测机制中,下面描述的是此后被称为“空间合并”的技术。
具体地,参照图2,当前块(201)包括在运动搜索处理期间已经由编码器发现的根据已经经空间移位的相同大小的先前块可预测的样本。代替直接对该MV进行编码,可以使用与被表示为A0、A1和B0、B1、B2(分别对应202到206)的五个周围样本中的任一样本相关联的MV,根据与一个或更多个参考图片相关联的元数据例如根据最新(按解码顺序)参考图片得出该MV。在H.265中,MV预测可以使用来自邻近块使用的相同参考图片的预测器。
发明内容
本公开内容描述了用于视频编码和/或解码的方法、设备和计算机可读存储介质的各种实施方式。
根据一方面,本公开内容的实施方式提供了一种用于视频解码中的帧内预测模式的熵编码的方法。该方法包括由装置接收针对块的已编码视频码流。该装置包括存储指令的存储器和与存储器通信的处理器。该方法还包括由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息和块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式;由装置根据至少一个上下文从已编码视频码流中提取集合索引和模式索引;以及由装置基于集合索引和模式索引来确定针对块的帧内预测模式。
根据另一方面,本公开内容的实施方式提供了一种用于视频编码中的帧内预测模式的熵编码的方法。该方法包括由装置接收要编码到已编码视频码流中的块。该装置包括存储指令的存储器和与存储器通信的处理器。该方法还包括由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息和块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式;以及由装置根据至少一个上下文将集合索引和模式索引编码到已编码视频码流中。
根据另一方面,本公开内容的实施方式提供了一种用于视频编码和/或解码的设备。该设备包括:存储指令的存储器;以及与存储器通信的处理器。当处理器执行所述指令时,处理器被配置成使设备执行用于视频解码和/或编码的以上方法。
在另一方面,本公开内容的实施方式提供了存储指令的非暂态计算机可读介质,所述指令在由计算机执行用于视频解码和/或编码时使计算机执行用于视频解码和/或编码的以上方法。
在附图、说明书和权利要求书中更详细地描述了以上方面和其他方面及其实现方式。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将更加明显。
图1A示出了帧内预测方向模式的示例性子集的示意图。
图1B示出了示例性帧内预测方向的图示。
图2示出了在一个示例中用于运动矢量预测的当前块及其周围的空间合并候选的示意图。
图3示出了根据示例实施方式的通信系统(300)的简化框图的示意图。
图4示出了根据示例实施方式的通信系统(400)的简化框图的示意图。
图5示出了根据示例实施方式的视频解码器的简化框图的示意图。
图6示出了根据示例实施方式的视频编码器的简化框图的示意图。
图7示出了根据另一示例实施方式的视频编码器的框图。
图8示出了根据另一示例实施方式的视频解码器的框图。
图9示出了根据本公开内容的示例实施方式的方向帧内预测模式。
图10示出了根据本公开内容的示例实施方式的非方向帧内预测模式。
图11示出了根据本公开内容的示例实施方式的递归帧内预测模式。
图12示出了根据本公开内容的示例实施方式的方法的流程图。
图13示出了根据本公开内容的示例实施方式的另一方法的流程图。
图14示出了根据本公开内容的示例实施方式的计算机系统的示意图。
具体实施方式
现在将参照附图在下文中详细描述本发明,附图形成本发明的一部分,并且通过图示示出实施方式的具体示例。然而,请注意,本发明可以以各种不同形式来实施,并且因此,所涵盖或所要求保护的主题旨在被解释为不限于以下要阐述的实施方式中的任一个。还请注意,本发明可以被实施为方法、装置、部件或系统。因此,本发明的实施方式可以例如采取硬件、软件、固件或其任何组合的形式。
贯穿说明书和权利要求书,术语可以具有在上下文中建议或暗示的超出明确陈述的含义的具有细微差别的含义。如本文所使用的短语“在一个实施方式中”或“在一些实施方式中”不一定是指相同的实施方式,并且如本文所使用的短语“在另一实施方式中”或“在其他实施方式中”不一定是指不同的实施方式。同样,如本文所使用的短语“在一个实现方式中”或“在一些实现方式中”不一定是指相同的实现方式,并且如本文所使用的短语“在另一实现方式中”或“在其他实现方式中”不一定是指不同的实现方式。例如,意指所要求保护的主题包括示例性实施方式/实现方式的整体或部分的组合。
通常,术语可以至少部分地从上下文中的用法来理解。例如,如本文中所使用的诸如“和”、“或”或“和/或”的术语可以至少部分地取决于使用这样的术语的上下文而包括各种各样的含义。通常,“或”(如果用于关联列表,例如,A、B或C)旨在意味着:A、B和C,在此以包含性的意义来使用;以及A、B或C,在此以排他性的意义来使用。另外,至少部分地取决于上下文,如本文所使用的术语“一个或更多个”或“至少一个”可以用于以单数意义描述任何特征、结构或特性,或者可以用于以复数意义描述特征、结构或特性的组合。类似地,术语例如“一”、“一个”或“该”同样可以被理解成传达单数用法或传达复数用法,这至少部分地取决于上下文。另外,术语“基于”或“由......确定”可以被理解为不一定旨在传达排他的因素集合,并且可以替代地允许存在不一定明确描述的附加因素,这同样至少部分地取决于上下文。
图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示出了视频编码器和视频解码器在视频流式传输环境中的放置方式。所公开的主题可以同等地适用于其他视频应用,包括例如视频会议、数字TV广播、游戏、虚拟现实、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等。
视频流式传输系统可以包括视频捕获子系统(413),视频捕获子系统(413)可以包括视频源(401),例如数字摄像装置,视频源(401)用于创建未压缩的视频图片或图像流(402)。在示例中,视频图片流(402)包括由视频源401的数字摄像装置记录的样本。视频图片流(402)被描绘为粗线以强调当与已编码视频数据(404)(或已编码视频码流)进行比较时的高数据量,视频图片流(402)可以由耦接至视频源(401)的包括视频编码器(403)的电子装置(420)进行处理。视频编码器(403)可以包括硬件、软件或其组合,以实现或实施如下更详细地描述的所公开的主题的各方面。已编码视频数据(404)(或已编码视频码流(404))被描绘为细线以强调当与未压缩的视频图片流(402)进行比较时的较低数据量,已编码视频数据(404)(或已编码视频码流(404))可以存储在流式传输服务器(405)上以供将来使用或者直接存储至下游视频装置(未示出)。一个或更多个流式传输客户端子系统,诸如图4中的客户端子系统(406)和(408),可以访问流式传输服务器(405)以检索已编码视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子装置(430)中的视频解码器(410)。视频解码器(410)对已编码视频数据的传入副本(407)进行解码,并且创建未压缩的并且可以在显示器(412)(例如,显示屏)或另一呈现装置(未描绘)上呈现的传出视频图片流(411)。视频解码器410可以被配置成执行本公开内容中描述的各种功能中的一些或全部。在一些流式传输系统中,可以根据某些视频编码标准/视频压缩标准对已编码视频数据(404)、(407)和(409)(例如,视频码流)进行编码。这些标准的示例包括ITU-T H.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码(VVC)。所公开的主题可以在VVC和其他视频编码标准的上下文中使用。
注意,电子装置(420)和(430)可以包括其他部件(未示出)。例如,电子装置(420)可以包括视频解码器(未示出),并且电子装置(430)也可以包括视频编码器(未示出)。
图5示出了根据以下本公开内容的任何实施方式的视频解码器(510)的框图。视频解码器(510)可以被包括在电子装置(530)中。电子装置(530)可以包括接收器(531)(例如,接收电路系统)。视频解码器(510)可以用于代替图4的示例中的视频解码器(410)。
接收器(531)可以接收要由视频解码器(510)解码的一个或更多个已编码视频序列。在同一实施方式或另一实施方式中,一次可以解码一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列。每个视频序列可以与多个视频帧或图像相关联。可以从信道(501)接收已编码视频序列,信道(501)可以是到存储已编码视频数据的存储装置或传输已编码视频数据的流式传输源的的硬件/软件链路。接收器(531)可以接收已编码视频数据以及其他数据,例如可以被转发至其相应处理电路系统(未描绘)的已编码音频数据和/或辅助数据流。接收器(531)可以将已编码视频序列与其他数据分开。为了防止网络抖动,可以将缓冲存储器(515)设置在接收器(531)与熵解码器/解析器(520)(此后称为“解析器(520)”)之间。在某些应用中,缓冲存储器(515)可以实现为视频解码器(510)的一部分。在其他应用中,缓冲存储器(515)可以在视频解码器(510)外部并且与视频解码器(510)分开(未描绘)。在又一些其他应用中,出于例如防止网络抖动的目的,在视频解码器(510)外部可以有缓冲存储器(未描绘),并且在视频解码器(510)内部可以有另一附加的缓冲存储器(515)例如以处理回放定时。当接收器(531)从具有足够带宽和可控性的存储/转发装置或从等同步网络(isosynchronous network)接收数据时,可能不需要缓冲存储器(515),或者缓冲存储器(515)可以是小的。为了在诸如因特网的最优分组网络上使用,可能需要具有足够大小的缓冲存储器(515),并且其大小可以相对大。这样的缓冲存储器可以用自适应大小来实现,并且可以至少部分地在操作系统或视频解码器(510)外部的类似元件(未描绘)中实现。
视频解码器(510)可以包括解析器(520)以根据已编码视频序列重建符号(521)。这些符号的类别包括:用于管理视频解码器(510)的操作的信息;以及用于控制诸如显示器(512)(例如,显示屏)的呈现装置的潜在信息,该显示器(512)可能是或可能不是电子装置(530)的组成部分而是可以耦接至电子装置(530),如图5所示。用于(一个或多个)呈现装置的控制信息可以是补充增强信息(Supplemental Enhancement Information,SEI消息)或视频可用性信息(Video Usability Information,VUI)参数集合片段(未描绘)的形式。解析器(520)可以对由解析器(520)接收到的已编码视频序列进行解析/熵解码。已编码视频序列的熵编码可以根据视频编码技术或视频编码标准进行,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等。解析器(520)可以基于与子群组对应的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群组中的至少一个子群组的子群组参数集合。子群组可以包括图片群组(Group of Picture,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)内的地址可以由运动矢量控制,运动矢量以符号(521)的形式供运动补偿预测单元(553)使用,符号(521)可以具有例如X、Y分量(移位)和参考图片分量(时间)。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器(557)获取的样本值的插值,并且还可以与运动矢量预测机制等相关联。
聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术受控于包括在已编码视频序列(也被称为已编码视频码流)中的参数,所述参数作为来自解析器(520)的符号(521)可用于环路滤波器单元(556),但是视频压缩技术也可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序的)部分进行解码期间获得的元信息,以及响应于先前重建并且经环路滤波的样本值。若干种类型的环路滤波器可以以各种顺序被包括为环路滤波器单元556的一部分,这将在下面更详细地描述。
环路滤波器单元(556)的输出可以是样本流,该样本流可以输出至呈现装置(512)以及存储在参考图片存储器(557)中,以用于将来的帧间图片预测。
一旦完全重建,某些已编码图片就可以被用作参考图片以用于将来的帧间图片预测。例如,一旦与当前图片对应的已编码图片被完全重建,并且该已编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)就可以变为参考图片存储器(557)的一部分,并且可以在开始重建随后的已编码图片之前重新分配新的当前图片缓冲器。
视频解码器(510)可以根据诸如ITU-T H.265建议书的标准中采用的预定视频压缩技术来执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在所述配置文件下可使用的工具。为了符合标准,已编码视频序列的复杂度可以处于由视频压缩技术或标准的层级限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行度量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范以及在已编码视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限定。
在一些示例实施方式中,接收器(531)可以连同已编码视频一起接收附加(冗余)数据。附加数据可以被包括为(一个或多个)已编码视频序列的一部分。附加数据可以由视频解码器(510)使用以对数据进行适当解码和/或更准确地重建原始视频数据。附加数据可以呈例如时间、空间或信噪比(Signal Noise Ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
图6示出了根据本公开内容的示例实施方式的视频编码器(603)的框图。视频编码器(603)可以被包括在电子装置(620)中。电子装置(620)还可以包括传输器(640)(例如,传输电路系统)。视频编码器(603)可以用于代替图4的示例中的视频编码器(403)。
视频编码器(603)可以从视频源(601)(视频源(601)不是图6的示例中的电子装置(620)的一部分)接收视频样本,视频源(601)可以捕获要由视频编码器(603)编码的(一个或多个)视频图像。在另一示例中,视频源(601)可以实现为电子装置(620)的一部分。
视频源(601)可以提供要由视频编码器(603)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位……)、任何颜色空间(例如,BT.601YCrCb、RGB、XYZ……)和任何合适的采样结构(例如,YCrCb 4:2:0、YCrCb4:4:4)。在媒体服务系统中,视频源(601)可以是能够存储先前准备的视频的存储装置。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为当按顺序观看时被赋予运动的多个单独的图片或图像。图片自身可以被组织为空间像素阵列,其中,取决于所使用的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域普通技术人员可以很容易理解像素与样本之间的关系。以下描述集中于样本进行。
根据一些示例实施方式,视频编码器(603)可以实时地或者在由应用要求的任何其他时间约束下将源视频序列的图片编码并压缩成已编码视频序列(643)。施行合适编码速度构成控制器(650)的一个功能。在一些实施方式中,控制器(650)可以在功能上耦接至如下所述的其他功能单元并且控制所述其他功能单元。为了简单起见,未描绘耦接。通过控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值……)、图片大小、图片群组(GOP)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有其他合适的功能,这些功能属于针对某些系统设计优化的视频编码器(603)。
在一些示例实施方式中,视频编码器(603)可以被配置成在编码环路中操作。作为超简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片以及(一个或多个)参考图片创建诸如符号流的符号)以及嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器将创建样本数据的方式重建所述符号以创建样本数据,即使嵌入式解码器633在没有熵编码的情况下处理源编码器630的已编码视频流也是如此(因为在所公开的主题中考虑的视频压缩技术中,熵编码中的已编码视频码流与符号之间的任何压缩都可以是无损的)。将重建的样本流(样本数据)输入至参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。该参考图片同步性基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)用于提高编码质量。
“本地”解码器(633)的操作可以与已经在上面结合图5详细描述的“远程”解码器如视频解码器(510)的操作相同。然而,还简要参照图5,当符号可用并且熵编码器(645)和解析器(520)将符号编码/解码为已编码视频序列可以为无损的时,可能无法完全在编码器的本地解码器(633)中实现包括缓冲存储器(515)和解析器(520)的视频解码器(510)的熵解码部分。
此时可以观察到,除了可能仅存在于解码器中的解析/熵解码之外的任何解码器技术,也可能必定需要以基本上相同的功能形式存在于对应的编码器中。出于该原因,所公开的主题有时可能集中于与编码器的解码部分相关的解码器操作。由于编码器技术与已全面描述的解码器技术互逆,因此可以简化对编码器技术的描述。仅在某些区域或方面中,下面提供了对编码器的更详细描述。
在操作期间,在一些示例实现方式中,源编码器(630)可以执行运动补偿预测性编码,该运动补偿预测性编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前编码图片来对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与可以被选作输入图片的(一个或多个)预测参考的(一个或多个)参考图片的像素块之间的颜色通道中的差异(或残差)进行编码。
本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可以有利地是有损处理。当已编码视频数据可以在视频解码器(图6中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片存储在参考图片缓存(634)中。以此方式,视频编码器(603)可以在本地存储重建的参考图片的副本,所述副本与将由远端(远程)视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。
预测器(635)可以针对编码引擎(632)执行预测搜索。也就是说,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索可以用作用于新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如,参考图片运动矢量、块形状等。预测器(635)可以基于样本块逐像素块操作以找到适当的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片取得的预测参考。
控制器(650)可以管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
所有以上提及的功能单元的输出可以在熵编码器(645)中经受熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩,将符号转换成已编码视频序列。
传输器(640)可以缓冲由熵编码器(645)创建的(一个或多个)编码视频序列,从而为经由通信信道(660)进行传输做准备,通信信道(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参数集合片段等。
视频可以在时间序列中被捕获为多个源图片(视频图片)。帧内图片预测(通常被简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的时间或其他相关性。例如,编码/解码中的特定图片——其被称为当前图片——可以被划分成块。当前图片中的块在类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可以通过被称作运动矢量的矢量进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,该运动矢量可以具有识别参考图片的第三维度。
在一些示例实施方式中,可以将双向预测技术用于帧间图片预测。根据这样的双向预测技术,使用两个参考图片,诸如按解码顺序均继续视频中的当前图片(但按显示顺序可能分别是过去或将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量以及指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来联合预测该块。
此外,可以将合并模式技术用于帧间图片预测以提高编码效率。
根据本公开内容的一些示例实施方式,以块为单位执行预测诸如帧间图片预测和帧内图片预测。例如,将视频图片序列中的图片划分成编码树单元(Coding Tree Unit,CTU)以用于压缩,图片中的CTU可以具有相同大小,诸如64×64像素、32×32像素或16×16像素。一般来说,CTU可以包括三个并行编码树块(Coding Tree Block,CTB):一个亮度CTB和两个色度CTB。每个CTU可以被递归地以四叉树分割成一个或多个编码单元(CU)。例如,可以将64×64像素的CTU分割成一个64×64像素的CU、或4个32×32像素的CU。32×32块中的一个或更多个块中的每一个可以进一步分割成4个16×16像素的CU。在一些示例实施方式中,可以在编码期间分析每个CU以确定各种预测类型之中用于CU的预测类型,诸如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,可以将CU分割成一个或更多个预测单元(PU)。通常,每个PU包括亮度预测块(Prediction Block,PB)和两个色度PB。在实施方式中,以预测块为单位来执行译码(编码/解码)中的预测操作。可以以各种空间模式执行将CU分割成PU(或不同颜色通道的PB)。例如,亮度或色度PB可以包括用于样本例如8×8像素、16×16像素、8×16像素、16×8样本等的值(例如,亮度值)的矩阵。
图7示出了根据本公开内容的另一示例实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码到作为已编码视频序列的一部分的已编码图片中。示例视频编码器(703)可以用于代替图4示例中的视频编码器(403)。
例如,视频编码器(703)接收用于处理块诸如8×8样本的预测块等的样本值的矩阵。然后,视频编码器(703)使用例如率失真优化(Rate-Distortion Optimization,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)。
返回到帧内预测处理,在帧内预测处理中通过邻近、下一邻近或其他一行或多行的样本或其组合来预测块(例如,亮度或色度预测块,或在未进一步分割成预测块的情况下的编码块)中的样本,以生成预测块。然后可以经由接着是量化的变换来处理正被编码的实际块与预测块之间的残差。可以使各种帧内预测模式可用,并且可以在码流中用信号通知与帧内模式选择相关的参数和其他参数。例如,各种帧内预测模式可以属于:用于预测样本的一个或多个行位置;方向,预测样本沿着所述方向选自一个或多个预测行;以及其他特殊的帧内预测模式。
例如,一组帧内预测模式(可互换地称为“帧内模式”)可以包括预定义数目的方向帧内预测模式。如以上关于图1的示例实现方式所描述的,这些帧内预测模式可以对应于预定义数目的方向,沿着这些方向,块外(out-of-block)样本被选择为针对在特定块中正被预测的样本的预测。在另一特定示例实现方式中,可以支持和预定义与同水平轴成45度至207度的角度对应的八(8)个主方向模式。
在帧内预测的一些其他实现方式中,为了进一步利用方向纹理中更多种类的空间冗余,方向帧内模式可以被进一步扩展到具有较精细粒度的角度集合。例如,如图9中所示出的,以上8角度实现方式可以被配置成提供被称为V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED,D157_PRED、D203_PRED和D67_PRED的八个标称角度,并且对于每个标称角度,可以添加预定义数目(例如,7)的更精细角度。通过这样的扩展,更大总数目(例如,在该示例中为56)的方向角度可以用于帧内预测,从而与相同数目的预定义方向帧内模式相对应。预测角度可以由标称帧内角度加上角度增量来表示。对于以上针对每个标称角度具有7个更精细角度方向的特定示例,角度增量可以是-3~3乘以3度的步长。
以上方向帧内预测也可以被称为单方向帧内预测,其不同于本公开内容的稍后部分中描述的双向帧内预测(也被称为帧内双预测)。
在一些实现方式中,对于以上方向帧内模式的替代或补充,还可以预定义预定义数目的非方向帧内预测模式并使其可用。例如,可以指定被称为平滑帧内预测模式的5个非方向帧内模式。这些非方向帧内模式预测模式可以具体地被称为DC、PAETH、SMOOTH、SMOOTH_V和SMOOTH_H帧内模式。图10中示出了在这些示例非方向模式下对特定块的样本的预测。作为示例,图10示出了由来自顶部邻近线和/或左侧邻近线的样本正在预测的4×4块1002。块1002中的特定样本1010可以对应于块1002的顶部邻近行中的样本1010的正顶部样本1004、作为顶部邻近行和左侧邻近行的交点的样本1010的左上样本1006以及块1002的左侧邻近行中的样本1010的正左侧样本1008。对于示例DC帧内预测模式,左侧邻近样本1008和上方邻近样本1004的平均值可以用作样本1010的预测器。对于示例PAETH帧内预测模式,可以获取顶部参考样本1004、左侧参考样本1008和左上参考样本1006,然后可以将这三个参考样本中最接近于(顶部+左侧-左上)的无论哪个值设置为样本1010的预测器。对于示例SMOOTH_V帧内预测模式,可以通过左上邻近样本1006和左侧邻近样本1008的竖直方向上的二次插值来预测样本1010。对于示例SMOOTH_H帧内预测模式,可以通过左上邻近样本1006和顶部邻近样本1004的水平方向上的二次插值来预测样本1010。对于示例SMOOTH帧内预测模式,可以通过竖直方向和水平方向上的二次插值的平均值来预测样本1010。以上非方向帧内模式实现方式仅作为非限制性示例示出。还可以设想样本的其他非方向选择和其他邻近线、以及对预测样本进行组合以用于预测预测块中的特定样本的方式。
编码器以各种编码级别(图片、切片、块、单元等)从以上方向或非方向模式中对特定帧内预测模式的选择可以在码流中用信号通知。在一些示例实现方式中,可以首先用信号通知示例性的8个标称方向模式以及5个非角度平滑模式(总共13个选项)。然后,如果用信号通知的模式是8个标称角度帧内模式中的一个,则进一步用信号通知索引以指示到对应的用信号通知的标称角度的所选择的角度增量。在一些其他示例实现方式中,所有帧内预测模式可以一起被索引(例如,56个方向模式加上5个非方向模式以产生61个帧内预测模式)以供用信号通知。
在一些示例实现方式中,示例56个或其他数目的方向帧内预测模式可以利用统一的方向预测器来实现,该统一的方向预测器将块的每个样本投影到参考子样本位置,并且通过2抽头双线性滤波器来内插参考样本。
在一些实现方式中,为了捕获与边缘上的参考的衰减空间相关性,可以设计被称为FILTER INTRA模式的附加滤波器模式。对于这些模式,块内的除了块外样本之外的预测样本可以用作块内的一些区块(patch)的帧内预测参考样本。例如,这些模式可以是预定义的,并且可用于至少亮度块(或仅亮度块)的帧内预测。可以预先设计预定义数目(例如,五个)的滤波器帧内模式,每个滤波器帧内模式由一组n抽头滤波器(例如,7抽头滤波器)表示,n抽头滤波器反映例如4×2区块中的样本和与其相邻的n个邻居之间的相关性。换言之,n抽头滤波器的加权因子可以是位置相关的。以8×8块、4×2区块和7抽头滤波为例,如图11中所示,8×8块1102可以被分割成8个4×2区块。这些区块在图11中由B0、B1、B1、B3、B4、B5、B6和B7指示。对于每个区块,其7个邻居(在图11中由R0~R7指示)可以用于预测当前区块中的样本。对于区块B0,所有邻居可能已经被重建。但是对于其他区块,邻居中的一些在当前块中并且因此可能尚未被重建,则使用直接邻居的预测值作为参考。例如,如图11中所指示的区块B7的所有邻居没有被重建,因此替代地使用邻居的预测样本,例如B4、B5和/或B6的一部分。
在帧内预测的一些实现方式中,可以使用一个或更多个其他颜色分量来预测一个颜色分量。颜色分量可以是YCrCb、RGB、XYZ颜色空间等中的分量中的任何一个。例如,可以实现从亮度分量(例如,亮度参考样本)对色度分量(例如色度块)的预测,称为从亮度预测色度或CfL。在一些示例实现方式中,许多仅允许从亮度到色度的跨颜色预测。例如,可以将色度块中的色度样本建模为相符的重建亮度样本的线性函数。CfL预测可以如下实现:
CfL(α)=α×LAC+DC (1)
其中,LAC表示亮度分量的AC贡献,α表示线性模型的参数,以及DC表示色度分量的DC贡献。例如,对于块的每个样本获得AC分量,而对于整个块获得DC分量。具体而言,可以将重建的亮度样本子采样到色度分辨率中,然后可以从每个亮度值中减去平均亮度值(亮度的DC),以形成亮度中的AC贡献。然后在等式(1)的线性模式中使用亮度的AC贡献来预测色度分量的AC值。为了根据亮度AC贡献来近似或预测色度AC分量,而不是要求解码器计算缩放参数,示例CfL实现方式可以基于原始色度样本来确定参数α,并且在码流中用信号通知它们。这降低解码器复杂性并且产生更准确的预测。至于色度分量的DC贡献,在一些示例实现方式中,可以在色度分量内使用帧内DC模式来计算。
在一些实施方式中,对于帧内编码的特定编码块、编码单元、预测块或预测单元,其帧内模式需要由码流中的一个或更多个语法元素用信号通知。如上所述,可能的帧内预测模式的数目可能是巨大的,并且可能有62个帧内预测模式可用:56个方向帧内预测模式、5个非方向模式和一个从亮度预测色度模式(例如,仅用于色度分量)。为了用信号通知这些帧内预测模式,可以用信号通知第一语法以指示哪个标称角度或非方向模式等于当前块的标称模式。然后,如果当前块的模式是方向模式,则可以用信号通知第二语法以指示哪个增量角度等于当前块的增量角度。在视频编码和/或解码期间的一些情况下,当前块与其邻近块的帧内预测模式之间可能存在强相关性。
在各种实施方式中,可以利用这种相关性来设计用于帧内模式编码的更有效语法。在一些实现方式中,可以根据当前块的邻近块的帧内预测模式将当前块的可用帧内预测模式分割成多个帧内预测模式集合。为了得到当前块的帧内预测模式,首先,可以用信号通知模式集合索引以指示针对当前块的帧内预测模式的模式集合索引;并且其次,可以用信号通知模式索引以指示模式集合内的帧内预测模式的索引。
在此,在本公开内容的各种实施方式中,“XYZ被用信号通知”可以指XYZ在编码处理期间被编码到已编码码流中;以及/或者,在已编码码流被从一个装置传输至另一装置之后,“XYZ被用信号通知”可以指在解码处理期间从已编码码流中解码/提取XYZ。
例如,在上面描述的实现方式中的一些实现方式中,多个可用帧内预测模式可以包括62个不同的模式,包括例如56个方向帧内预测模式(例如,8个标称方向,每个标称方向具有7个精细角度)、5个非方向模式和一个从亮度预测色度模式(仅用于色度分量)。一旦在特定编码块、编码单元、预测块或预测的编码处理期间选择了帧内模式,就需要在码流中包括与所选择的帧内模式相对应的信令。(一个或多个)信令语法必须能够以某个方式区分所有这些62个模式。例如,可以使用62个索引的单个语法来用信号通知这些62个模式,每个索引对应于一个模式。在一些其他示例实现方式中,可以用信号通知一个语法以指示哪个标称角度或非方向模式被用作当前块中的标称模式,然后,如果当前块的标称模式是方向模式,则可以另外用信号通知另一语法以指示针对当前块选择哪个增量角度。
由于属于帧内编码的各种语法通常占据码流的大部分,并且帧内模式选择必须例如以各种编码级别在信令上频繁地进行,因此用于帧内模式信令的位数的减少在提高视频编码效率方面变得至关重要。在实践中,各种帧内预测模式的使用可以遵循某些统计模式,并且这样的使用模式可以用于设计帧内模式和信令语法的索引,使得可以增强信令效率。此外,在块到块的帧内模式选择之间可能平均存在一些相关性。这样的相关性可以在统计基础上离线获得,并且在针对帧内模式选择的信令的语法的设计中考虑。目标是平均减少已编码码流中信令语法元素的位数。例如,一些一般统计可以指示当前块与其邻近块的最佳帧内预测模式之间可能存在强相关性。当针对帧内模式编码设计语法时,可以利用这样的相关性。
在各种实施方式中,正被编码的当前块的可用帧内预测模式或模式选项可以被分割成多个帧内预测模式集合。每个集合可以被分配模式集合索引。每个集合可以包含多个帧内模式预测模式。可以基于块之间的帧内预测模式之间的相关性,至少部分地根据由其邻近块所使用的帧内预测模式来确定在模式集合中的每一个中可用帧内预测模式被分割和排序以及帧内预测模式被排序的方式。由邻近块使用的帧内预测模式可以被称为“参考帧内预测模式”或“参考模式”。可以确定和选择特定单元的帧内预测模式。可以用信号通知帧内预测模式的选择。首先,可以用信号通知模式集合索引,以指示包含所选择的帧内预测模式的帧内预测模式集合的模式集合索引。其次,可以用信号通知模式索引(可替选地被称为集合内的模式位置索引),以指示在模式集合内所选择的帧内预测模式的索引。
上面的帧内预测模式分割和排序的一般实现方式以及下面的具体示例利用了统计效应和相邻相关性以动态地索引这些模式,使得可以优化用于在已编码视频码流中用信号通知其选择的语法的设计以提高编码效率。例如,这些实现方式可以帮助减少信令的语法数目,并且帮助针对熵编码的更有效的上下文生成。
本公开内容中描述的各种实施方式和/或实现方式可以单独使用或以任何顺序组合。此外,这些实施方式和/或实现方式的一部分、全部或任何部分或整个组合可以被实施为编码器和/或解码器的一部分,并且可以以硬件和/或软件实现。例如,它们可以在专用处理电路系统(例如,一个或更多个集成电路)中被硬编码。在另一示例中,它们可以通过一个或更多个处理器执行存储在非暂态计算机可读介质中的程序来实现。
可能存在与帧内模式编码相关联的一些问题/难题。例如,由于当前块与其邻近块中的样本之间存在强相关性,因此当将帧内预测模式分割成不同的模式集合时,从不同模式集合中选择帧内预测模式的概率可能与邻近块的帧内预测模式具有相关性。这种强相关性和相关联的概率分布没有得到有效利用,从而导致一些帧内模式编码设计的效率低下和性能低下。
本公开内容描述了视频编码和/或解码中的帧内预测模式编码的各种实施方式,从而解决了以上讨论的问题/难题中的至少一个,从而实现了高效的帧内模式编码并提高了帧内模式编码的性能。
在各种实施方式中,为了利用当前块与其邻近块中的样本之间的相关性和相关联的概率分布,可以针对集合索引和/或模式索引的熵编码来设计/得出一个或更多个上下文,模式索引用于指示码流中当前块的帧内预测模式。一个或更多个上下文可以用于在编码处理期间将集合索引和/或模式索引编码到已编码码流中;以及/或者一个或更多个上下文可以用于在解码处理期间从已编码码流中解码集合索引和/或模式索引。
可以从上下文的集合中选择用于对当前编码块的集合索引和/或模式索引进行编码的上下文。上下文的选择可以由索引指示。从上下文的集合中的选择可以取决于各种因素。例如,当前块的集合索引和/或模式索引的编码上下文的选择可以取决于当前块的信息和当前块的邻近块中的至少一个邻近块的模式信息。对于一个示例,至少一个邻近块可以包括当前块的上方(顶部)和/或左侧邻近块。对于另一示例,至少一个邻近块还可以包括当前块的左上邻近块。
在各种实施方式中,参照图12,用于视频解码中的帧内预测模式编码的方法1200,方法1200可以包括以下步骤的一部分或全部:步骤1210,由包括存储指令的存储器和与存储器通信的处理器的装置接收针对块的已编码视频码流;步骤1220,由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息和块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式;步骤1230,由装置根据至少一个上下文从已编码视频码流中提取集合索引和模式索引;以及/或者步骤1240,由装置基于集合索引和模式索引来确定针对块的帧内预测模式。在各种实施方式中,帧内模式集合可以指具有N个帧内模式的一组帧内模式,其中N可以是正整数;帧内模式集合可以具有指示一组帧内模式在一群帧内模式集合之中的的集合索引;以及/或者帧内模式集合可以具有指示特定帧内模式在帧内模式集合中的N个帧内模式之中的的模式索引。在一些实现方式中,步骤1220可以包括由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息或块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式。
在各种实施方式中,参照图13,用于视频编码中的帧内预测模式编码的方法1300,方法1300可以包括以下步骤的一部分或全部:步骤1310,由包括存储指令的存储器和与存储器通信的处理器的装置接收要编码到已编码视频码流中的块;步骤1320,由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息和块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式;以及/或者步骤1330,由装置根据至少一个上下文将集合索引和模式索引编码到已编码视频码流中。在一些实现方式中,步骤1320可以包括由装置基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息或块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式。
在本公开内容中的各种实施方式中,块(例如但不限于编码块、预测块或变换块)的大小可以指块的宽度或高度。块的宽度或高度可以是以像素为单位的整数。在本公开内容中的各种实施方式中,块的大小可以指块的面积大小。块的面积大小可以是由以像素为单位的块的宽度乘以块的高度计算的整数。在本公开内容中的一些各种实施方式中,块的大小可以指块的宽度或高度的最大值、块的宽度或高度的最小值或块的纵横比。块的纵横比可以计算为块的宽度除以高度,或者可以计算为块的高度除以宽度。
在一些实现方式中,帧内模式的模式类型可以包括以下中的至少一个:方向模式、非方向模式、平滑模式(例如,平滑、平滑_v、平滑_h)、DC模式、PAETH模式和/或根据给定预测方向生成预测样本的模式。在一些其他实现方式中,在宽松的分类中,方向模式可以广泛地包括:不是平滑(平滑、平滑_v、平滑_h)、DC或PAETH模式的任何模式;以及根据给定预测方向生成预测样本的任何模式。在一些其他实现方式中,非方向模式可以包括平滑模式(例如,平滑、平滑_v、平滑_h)、DC模式、PAETH模式和针对色度的亮度(luma-for-chroma)模式。在一些其他实现方式中,在宽松的分类中,非方向模式可以广泛地包括不是方向模式的任何模式。
在一些实现方式中,针对当前块的可用帧内预测模式可以被划分/分割成多个帧内预测模式集合。为了得到当前块的帧内预测模式,首先,可以用信号通知模式集合索引以指示针对当前块的帧内预测模式的模式集合索引;其次,可以用信号通知模式索引以指示模式集合内的帧内预测模式的索引。
在此,在本公开内容的各种实施方式中,“第一”模式集合不仅指“一个”模式集合,而是指具有最小模式集合索引的“第一”模式集合,“第二”模式集合不仅指“另一”模式集合而是指具有第二最小模式集合索引的“第二”模式集合等。例如,帧内预测模式集合的数目可以由M指示,并且模式集合索引的范围可以例如从1至M或者从0至M-1。当模式集合索引范围从1至M时,“第一”模式集合是模式集合索引为1的“第一”模式集合,“第二”模式集合是模式集合索引为2的“第二”模式集合等。当模式集合索引范围从0至M-1时,“第一”模式集合是模式集合索引为0的“第一”模式集合,“第二”模式集合是模式集合索引为1的“第二”模式集合等。
在此,在本公开内容的各种实施方式中,“XYZ被用信号通知”可以指XYZ在编码处理期间被编码到已编码码流中;以及/或者,在已编码码流被从一个装置传输至另一装置之后,“XYZ被用信号通知”可以指在解码处理期间从已编码码流中解码/提取XYZ。
在此,在本公开内容中的各种实施方式中,“块”可以指预测块、编码块、变换块或编码单元(CU)。
参考步骤1510,装置可以是图5中的电子装置(530)或图8中的视频解码器(810)。在一些实现方式中,装置可以是图6中的编码器(620)中的解码器(633)。在其他实现方式中,装置可以是图5中的电子装置(530)的一部分、图8中的视频解码器(810)的一部分或图6中的编码器(620)中的解码器(633)的一部分。已编码视频码流可以是图8中的已编码视频序列或者图6或图7中的中间已编码数据。块可以指编码块或已编码块。
参考步骤1520,装置可以基于以下中的至少一者得出针对块的集合索引和模式索引的至少一个上下文:块的信息和/或块的至少一个邻近块的模式信息,其中:集合索引指示来自多个帧内模式集合的帧内模式集合,并且模式索引指示来自帧内模式集合的帧内预测模式。在一些实现方式中,块的信息包括块的大小;以及/或者至少一个邻近块的模式信息包括以下中的至少一者:至少一个邻近块的方向模式的数目,和/或至少一个邻近块的模式集合索引。对于一个示例,至少一个邻近块可以包括当前块的上方(顶部)和/或左侧邻近块。对于另一示例,至少一个邻近块还可以包括当前块的左上邻近块。
在一些实现方式中,用于用信号通知帧内模式集合索引和帧内模式集合内的模式索引的上下文——其可以被称为累积密度函数(CDF)——取决于当前块和/或其邻近块的模式信息,这些模式信息包括但不限于当前块的块大小、邻近块中的至少一个邻近块的方向模式的数目和/或邻近块中的至少一个邻近块的模式集合索引。
在一些其他实现方式中,装置还可以构建针对块的帧内模式的列表,和/或将帧内模式的列表划分成针对块的多个帧内模式集合。例如,基于一组预定义规则针对当前块构建帧内模式列表。在构建帧内模式列表之后,帧内预测模式根据其在帧内模式列表中的对应索引被分割成多个帧内预测模式集合。为了用信号通知当前块的帧内预测模式,首先,可以用信号通知模式集合索引以指示针对当前块的帧内预测模式的模式集合索引;并且其次,用信号通知模式索引以指示模式集合内的帧内预测模式的索引。对于不同的块大小,预定义规则可以不同。
在各种实施方式中,步骤1220可以包括基于利用方向帧内预测模式编码的至少一个邻近块的数目来得出针对集合索引和模式索引的上下文。例如,用于用信号通知帧内模式集合索引和/或帧内模式集合内的模式索引的上下文取决于使用方向帧内预测模式编码的邻近块的数目。
在一些实施方式中,基于利用方向帧内预测模式编码的至少一个邻近块的数目得出针对集合索引和模式索引的上下文可以包括:响应于利用方向帧内预测模式编码的至少一个邻近块的数目为零,得出第一上下文作为针对集合索引和模式索引的上下文;响应于利用方向帧内预测模式编码的至少一个邻近块的数目为一,得出第二上下文作为针对集合索引和模式索引的上下文;以及/或者响应于利用方向帧内预测模式编码的至少一个邻近块的数目大于一,得出第三上下文作为针对集合索引和模式索引的上下文。
在一些实现方式中,可以从总共三个、四个或五个不同的上下文中进行针对当前块的上下文的选择。在特定示例实现方式中,如果上方或左侧邻近块中没有一个是利用方向帧内预测模式编码的,则选择第一上下文(例如,其中上下文索引值为0)作为针对当前块的集合索引和模式索引的上下文。如果上方和左侧邻近块中只有一个是利用方向帧内预测模式编码的,则选择第二上下文(例如,其中上下文索引值为1)作为针对当前块的集合索引和模式索引的上下文。否则,选择第三上下文(例如,其中上下文索引值为2)作为针对当前块的集合索引和模式索引的上下文。这样的实现方式基于对利用方向帧内预测模式编码的邻近块的数目与由针对当前块的集合索引和模式索引指示的帧内预测模式之间的强相关性的统计观察。
在一些实施方式中,基于利用方向帧内预测模式编码的至少一个邻近块的数目得出针对集合索引和模式索引的上下文可以包括:响应于利用方向帧内预测模式编码的至少一个邻近块的数目为零,得出第一上下文作为针对集合索引和模式索引的上下文;响应于利用方向帧内预测模式编码的至少一个邻近块的数目为一,得出第二上下文作为针对集合索引和模式索引的上下文;响应于利用方向帧内预测模式编码的至少一个邻近块的数目为二以及至少一个邻近块正利用相同的方向帧内预测模式被编码,得出第三上下文作为针对集合索引和模式索引的上下文;以及/或者响应于利用方向帧内预测模式编码的至少一个邻近块的数目为二以及至少一个邻近块正利用不同的方向帧内预测模式被编码,或者响应于利用方向帧内预测模式编码的至少一个邻近块的数目大于二,得出第四上下文作为针对集合索引和模式索引的上下文。
在一些实现方式中,如果不存在正利用方向帧内预测模式编码的邻近块,则选择第一上下文(例如,其中上下文索引值为0)作为针对当前块的集合索引和模式索引的上下文。如果只存在一个正利用方向帧内预测模式编码的邻近块,则选择第二上下文(例如,其中上下文索引值为1)作为针对当前块的集合索引和模式索引的上下文。如果存在两个利用方向帧内预测模式编码的邻近块,并且这两个方向帧内预测模式相同,则选择第三上下文(例如,其中上下文索引值为2)作为针对当前块的集合索引和模式索引的上下文。否则,选择第四上下文(例如,其中上下文索引值为3)作为针对当前块的集合索引和模式索引的上下文。
在一些实施方式中,基于利用方向帧内预测模式编码的至少一个邻近块的数目得出针对集合索引和模式索引的上下文可以包括:响应于利用方向帧内预测模式编码的至少一个邻近块的数目为零,得出第一上下文作为针对集合索引和模式索引的上下文;响应于利用方向帧内预测模式编码的至少一个邻近块的数目为一,得出第二上下文作为针对集合索引和模式索引的上下文;响应于利用方向帧内预测模式编码的至少一个邻近块的数目为二,得出第三上下文作为针对集合索引和模式索引的上下文;以及/或者响应于利用方向帧内预测模式编码的至少一个邻近块的数目大于二,得出第四上下文作为针对集合索引和模式索引的上下文。
在一些实现方式中,如果不存在正利用方向帧内预测模式编码的邻近块,则选择第一上下文(例如,其中上下文索引值为0)作为针对当前块的集合索引和模式索引的上下文。如果只存在一个正利用方向帧内预测模式编码的邻近块,则选择第二上下文(例如,其中上下文索引值为1)作为针对当前块的集合索引和模式索引的上下文。如果存在两个利用方向帧内预测模式编码的邻近块,则选择第三上下文(例如,其中上下文索引值为2)作为针对当前块的集合索引和模式索引的上下文。如果存在多于两个利用方向帧内预测模式编码的邻近块,则选择第四上下文(例如,其中上下文索引值为3)作为针对当前块的集合索引和模式索引的上下文。
在一些实现方式中,方向帧内预测模式包括以下中的至少一者:帧间编码模式或帧内块复制模式。在一些其他实现方式中,方向帧内预测模式包括包含方向帧内模式分量的帧内帧间模式。对于一个示例,如果利用帧间编码模式或帧内块复制模式对邻近块进行编码,则将邻近块视为非方向模式。对于另一示例,如果邻近块处于帧内帧间模式,则在帧内帧间模式中使用的帧内预测模式用于得出上下文或用于确定来自上下文集合的上下文的选择。
在各种实施方式中,步骤1220可以包括基于块的大小得出针对集合索引和模式索引的上下文。例如,用于用信号通知帧内模式集合索引和/或帧内模式集合内的模式索引的上下文取决于当前块的块大小。块大小可以指当前块的块宽度、当前块的块高度、块面积大小(或当前块的宽度*高度)、当前块的宽度和高度之和、当前块的高度与宽度之间的最大值或当前块的高度与宽度之间的最小值。
在一些实施方式中,基于块的大小得出针对集合索引和模式索引的上下文包括:响应于块的大小等于或小于第一阈值,得出第一上下文作为针对集合索引和模式索引的上下文;以及/或者响应于块的大小大于第一阈值,得出第二上下文作为针对集合索引和模式索引的上下文。对于一个示例,第一阈值是8×8。
在一些实现方式中,如果当前块的块大小等于或小于8×8,则选择第一上下文(例如,其中上下文索引值为0)作为针对当前块的集合索引和模式索引的上下文。否则,选择第二上下文(例如,其中上下文索引值为1)作为针对当前块的集合索引和模式索引的上下文。
在一些实施方式中,基于块的大小得出针对集合索引和模式索引的上下文包括:响应于块的大小小于第一阈值,得出第一上下文作为针对集合索引和模式索引的上下文;响应于块的大小等于或大于第一阈值并且块的大小小于第二阈值,得出第二上下文作为针对集合索引和模式索引的上下文;响应于块的大小等于或大于第二阈值并且块的大小小于第三阈值,得出第三上下文作为针对集合索引和模式索引的上下文;以及/或者响应于块的大小等于或大于第三阈值,得出第四上下文作为针对集合索引和模式索引的上下文。对于一个示例,第一阈值的面积为64(或8×8);第二阈值的面积为256(或16×16);以及/或者第三阈值的面积为1024(或32×32)。
在一些实现方式中,如果当前块的块面积大小小于第一阈值(T1),则选择第一上下文(例如,其中上下文索引值为0)作为针对当前块的集合索引和模式索引的上下文。如果当前块的面积大小等于或大于T1但小于第二阈值(T2),则选择第二上下文(例如,其中上下文索引值为1)作为针对当前块的集合索引和模式索引的上下文。如果当前块的面积大小等于或大于T2但小于第三阈值(T3),则选择第三上下文(例如,其中上下文索引值为2)作为针对当前块的集合索引和模式索引的上下文。否则,选择第四上下文(例如,其中上下文索引值为3)作为针对当前块的集合索引和模式索引的上下文。例如,T1被设置成64,T2被设置成256,和/或T3被设置成1024。对于另一示例,T1可以被设置成16,T2可以被设置成64,T3可以被设置成256。
在各种实施方式中,方法1200还可以且可选地包括由装置基于以下中的至少一者来确定针对块的一组允许的帧内预测模式:块的至少一个邻近块的模式信息或者块的大小。
在一些实现方式中,针对一个块的多个允许的帧内预测模式可能取决于当前块的邻近块的帧内预测模式和/或当前块的块大小。对于一个示例,取决于当前块的邻近块的帧内预测模式和/或当前块的块大小,从所有可用模式集合中选择一个模式集合,并且仅所述选择的模式集合中的帧内预测模式可以用于对当前块进行编码。
在各种实施方式中,确定针对块的一组允许的帧内预测模式包括:响应于针对至少一个邻近块的非方向预测模式的数目等于或大于二,确定针对块的一组允许的帧内预测模式包括非方向预测模式和标称方向模式;响应于针对至少一个邻近块的非方向预测模式的数目等于或大于二,并且响应于块的大小等于或大于第一阈值,确定针对块的一组允许的帧内预测模式包括非方向预测模式和标称方向模式;以及/或者响应于针对至少一个邻近块的方向预测模式的数目等于或大于一,确定针对块的一组允许的帧内预测模式包括所有帧内预测模式。例如,第一阈值是8×8、16×16或32×32。
在一些实现方式中,如果当前块的邻近块的帧内预测模式中的至少两个是非方向模式,则当前块仅允许非方向模式和标称方向模式。
在一些其他实现方式中,如果当前块的邻近块的帧内预测模式中的至少两个是非方向模式以及/或者当前块的块大小大于或等于阈值(TH1),则当前块仅允许非方向模式和标称方向模式。对于一个示例,TH1被设置成32×32。对于另一示例,TH1可以被设置成8×8、16×16或64×64。
在一些其他实现方式中,如果当前块的邻近块的帧内预测模式中的至少一个(或两个)是方向帧内预测模式,则允许针对当前块的所有可用帧内预测模式。
在各种实施方式中,方法1200还可以且可选地包括由装置基于以下中的至少一者来确定针对块的多于一组允许的帧内预测模式:块的至少一个邻近块的模式信息或者块的大小。在一些实现方式中,取决于当前块的邻近块的帧内预测模式和/或当前块的块大小,从所有可用模式集合中选择多于一个模式集合,并且仅所述选择的多于一个模式集合中的帧内预测模式可以用于对当前块进行编码。
在一些实现方式中,当前块的邻近块可以包括以下中的一个或更多个:当前块的顶部(上部或上方)块、当前块的左侧块、当前块的左上(左上或左上(upper-left orabove-left))块。
参考步骤1240,装置可以基于集合索引和模式索引确定针对块的帧内预测模式。在一些实现方式中,装置可以基于块的大小根据预定义规则来构建针对块的帧内模式的列表,以及/或者装置可以将帧内模式的列表划分成针对块的多个帧内模式集合。预定义规则可以是一组预定义规则之一,并且可以基于块的大小选自该组预定义规则。在一些其他实现方式中,基于预定义规则针对当前块构建帧内模式列表。在构建帧内模式列表之后,帧内预测模式根据其在帧内模式列表中的对应索引被分割成多个帧内预测模式集合。为了用信号通知当前块的帧内预测模式,首先,可以用信号通知模式集合索引以指示针对当前块的帧内预测模式的模式集合索引;并且其次,用信号通知模式索引以指示模式集合内的帧内预测模式的索引。预定义规则对于不同的块大小可以是不同的,块大小可以由块中的样本的数目来指示。
本公开内容中的实施方式可以单独使用或以任何顺序组合使用。此外,方法(或实施方式)、编码器和解码器中的每一个均可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。本公开内容中的实施方式可以应用于亮度块或色度块;并且在色度块中,实施方式可以单独地应用于多于一个颜色分量,或者可以一起应用于多于一个颜色分量。
在本公开内容中,各种实施方式中的任何步骤或操作可以根据需要以任何数量或任何顺序组合。在本公开内容中,可以并行执行各种实施方式中的两个或更多个步骤或操作。
可以利用计算机可读指令将上述技术实现为计算机软件,并且将其物理地存储在一个或更多个计算机可读介质中。例如,图14示出了适于实现所公开的主题的某些实施方式的计算机系统(2600)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(Central Processing Unit,CPU)、图形处理单元(GraphicsProcessing Unit,GPU)等直接执行或者通过解译、微代码执行等执行。
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
图14中示出的用于计算机系统(2600)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能范围提出任何限制。部件的配置也不应当被解释为具有与计算机系统(2600)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统(2600)可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可以用于捕获不一定与人类有意识的输入直接有关的某些媒介,诸如,音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括以下各项中的一个或更多个(每项仅绘出一个):键盘(2601)、鼠标(2602)、触控板(2603)、触摸屏(2610)、数据手套(未示出)、操纵杆(2605)、麦克风(2606)、扫描仪(2607)、摄像装置(2608)。
计算机系统(2600)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(2610)、数据手套(未示出)或操纵杆(2605)进行的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置);音频输出装置(诸如:扬声器(2609)、头戴式耳机(未描绘));视觉输出装置(诸如,屏幕(2610),包括阴极射线管(Cathode Ray Tube,CRT)屏幕、液晶显示器(Liquid CrystalDisplay,LCD)屏幕、等离子屏幕、有机发光二极管(Organic Light-Emitting Diode,OLED)屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。
计算机系统(2600)还可以包括人类可访问存储装置及其相关联的介质,诸如包括具有CD/DVD等介质(2621)的CD/DVD只读存储器(Read Only Memory,ROM)/读写(ReadWrite,RW)(2620)的光学介质、拇指驱动器(2622)、可移除硬盘驱动器或固态驱动器(2623)、遗留磁性介质诸如磁带和软盘(未描绘)、基于专用ROM/专用集成电路(Application Specific Integrated Circuit,ASIC)/可编程逻辑器件(ProgrammableLogic Device,PLD)的装置诸如安全加密狗(未描绘)等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他暂态信号。
计算机系统(2600)还可以包括至一个或更多个通信网络(2655)的接口(2654)。网络可以例如是无线的、有线的、光学的。网络还可以是局域的、广域的、城域的、车载的和工业的、实时的、延迟容忍的等。网络的示例包括:诸如以太网的局域网;无线LAN;包括GSM(Global System for Mobile Communication)、3G(Third Generation)、4G(FourthGeneration)、5G(Fifth Generation)、LTE(Long Term Evolution)等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络;包括CAN总线的车载的网络和工业的网络等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器附接至某些通用数据端口或外围总线(2649)(诸如例如,计算机系统(2600)的USB(UniversalSerial Bus,USB)端口);其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(2600)的核中。计算机系统(2600)可以使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,至某些CAN总线装置的CAN总线)、或双向的,例如,使用局域数字网络或广域数字网络至其他计算机系统。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用某些协议和协议栈。
以上提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(2600)的核(2640)。
核(2640)可以包括一个或更多个中央处理单元(CPU)(2641)、图形处理单元(GPU)(2642)、现场可编程门阵列(Field Programmable Gate Area,FPGA)(2643)形式的专用可编程处理单元、用于某些任务的硬件加速器(2644)、图形适配器(2650)等。这些装置,连同只读存储器(Read-Only Memory,ROM)(2645)、随机存取存储器(2646)、内部大容量存储装置诸如内部非用户可访问硬盘驱动器、SSD(Solid State Drive,SSD)等(2647)可以通过系统总线(2648)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(2648),以使得能够通过附加的CPU、GPU等进行扩展。外围装置可以直接地或通过外围总线(2649)附接至核的系统总线(2648)。在示例中,屏幕(2610)可以连接至图形适配器(2650)。外围总线的架构包括PCI(Peripheral Component Interconnect,PCI)、USB等。
CPU(2641)、GPU(2642)、FPGA(2643)和加速器(2644)可以执行某些指令,所述指令可以组合构成以上提及的计算机代码。该计算机代码可以被存储在ROM(2645)或RAM(2646)中。瞬态数据也可以被存储在RAM(2646)中,而永久数据可以被存储在例如内部大容量存储装置(2647)中。可以通过使用缓存存储器来实现对存储装置中的任何存储装置的快速存储和检索,该缓存存储器可以与一个或更多个CPU(2641)、GPU(2642)、大容量存储装置(2647)、ROM(2645)、RAM(2646)等紧密关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知和可用的类型的介质和计算机代码。
作为非限制示例,具有架构的计算机系统(2600)——并且特别是核(2640)——可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置以及核(2640)的具有非暂态性质的某些存储装置例如核内部大容量存储装置(2647)或ROM(2645)相关联的介质。可以将实现本公开内容的各种实施方式的软件存储在这样的装置中并且由核(2640)执行。根据特定需求,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核(2640)——并且特别是其中的处理器(包括CPU、GPU、FPGA等)——执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(2646)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路(例如:加速器(2644))中的逻辑而提供功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以包含逻辑,反之提及逻辑也可以包含软件。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(诸如,集成电路(Integrated Circuit,IC))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。
尽管已经参照说明性实施方式描述了特定发明,但是该描述不意味着限制。根据本说明书,本发明的说明性实施方式和附加实施方式的各种修改对于本领域的普通技术人员将是明显的。本领域技术人员将容易认识到,在不背离本发明的精神和范围的情况下,可以对本文中示出和描述的示例性实施方式进行这些和各种其他修改。因此,可以预期的是,所附权利要求将涵盖任何这样的修改和替选实施方式。图示中的某些比例可能被夸大,而其他比例可能被最小化。因此,本公开内容和附图应被认为是说明性的而非限制性的。

Claims (19)

1.一种用于视频解码中的帧内预测模式的熵编码的方法,所述方法包括:
由包括存储指令的存储器和与所述存储器通信的处理器的装置接收针对块的已编码视频码流;
由所述装置基于以下中的至少一者得出针对所述块的集合索引和模式索引的至少一个上下文:所述块的信息和所述块的至少一个邻近块的模式信息,其中:
所述集合索引指示来自多个帧内模式集合的帧内模式集合,以及
所述模式索引指示来自所述帧内模式集合的帧内预测模式;
由所述装置根据所述至少一个上下文从所述已编码视频码流中提取所述集合索引和所述模式索引;以及
由所述装置基于所述集合索引和所述模式索引来确定针对所述块的所述帧内预测模式。
2.根据权利要求1所述的方法,其中:
所述块的信息包括所述块的大小;以及
所述至少一个邻近块的模式信息包括以下中的至少一者:所述至少一个邻近块的方向模式的数目、或所述至少一个邻近块的模式集合索引。
3.根据权利要求1所述的方法,其中,所述得出针对所述集合索引和所述模式索引的至少一个上下文包括:
基于利用方向帧内预测模式编码的所述至少一个邻近块的数目来得出针对所述集合索引和所述模式索引的上下文。
4.根据权利要求3所述的方法,其中,所述基于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目得出针对所述集合索引和所述模式索引的所述上下文包括:
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为零,得出第一上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为一,得出第二上下文作为针对所述集合索引和所述模式索引的所述上下文;以及
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目大于一,得出第三上下文作为针对所述集合索引和所述模式索引的所述上下文。
5.根据权利要求3所述的方法,其中,所述基于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目得出针对所述集合索引和所述模式索引的所述上下文包括:
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为零,得出第一上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为一,得出第二上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为二以及所述至少一个邻近块正利用相同的方向帧内预测模式被编码,得出第三上下文作为针对所述集合索引和所述模式索引的所述上下文;以及
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为二以及所述至少一个邻近块正利用不同的方向帧内预测模式被编码,或者响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目大于二,得出第四上下文作为针对所述集合索引和所述模式索引的所述上下文。
6.根据权利要求3所述的方法,其中,所述基于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目得出针对所述集合索引和所述模式索引的所述上下文包括:
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为零,得出第一上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为一,得出第二上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目为二,得出第三上下文作为针对所述集合索引和所述模式索引的所述上下文;以及
响应于利用所述方向帧内预测模式编码的所述至少一个邻近块的数目大于二,得出第四上下文作为针对所述集合索引和所述模式索引的所述上下文。
7.根据权利要求3所述的方法,其中:
所述方向帧内预测模式包括以下中的至少一者:帧间编码模式或帧内块复制模式。
8.根据权利要求3所述的方法,其中:
所述方向帧内预测模式包括包含方向帧内模式分量的帧内帧间模式。
9.根据权利要求1所述的方法,其中,所述得出针对所述集合索引和所述模式索引的所述上下文包括:
基于所述块的大小得出针对所述集合索引和所述模式索引的所述上下文。
10.根据权利要求9所述的方法,其中,所述基于所述块的大小得出针对所述集合索引和所述模式索引的所述上下文包括:
响应于所述块的大小等于或小于第一阈值,得出第一上下文作为针对所述集合索引和所述模式索引的所述上下文;以及
响应于所述块的大小大于所述第一阈值,得出第二上下文作为针对所述集合索引和所述模式索引的所述上下文。
11.根据权利要求10所述的方法,其中,所述第一阈值是8×8。
12.根据权利要求9所述的方法,其中,所述基于所述块的大小得出针对所述集合索引和所述模式索引的所述上下文包括:
响应于所述块的大小小于第一阈值,得出第一上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于所述块的大小等于或大于所述第一阈值并且所述块的大小小于第二阈值,得出第二上下文作为针对所述集合索引和所述模式索引的所述上下文;
响应于所述块的大小等于或大于所述第二阈值并且所述块的大小小于第三阈值,得出第三上下文作为针对所述集合索引和所述模式索引的所述上下文;以及
响应于所述块的大小等于或大于所述第三阈值,得出第四上下文作为针对所述集合索引和所述模式索引的所述上下文。
13.根据权利要求12所述的方法,其中:
所述第一阈值的面积为64;
所述第二阈值的面积为256;以及
所述第三阈值的面积为1024。
14.根据权利要求1所述的方法,还包括:
由所述装置基于以下中的至少一者来确定针对所述块的一组允许的帧内预测模式:所述块的至少一个邻近块的所述模式信息或者所述块的大小。
15.根据权利要求14所述的方法,其中,所述确定针对所述块的所述一组允许的帧内预测模式包括:
响应于针对所述至少一个邻近块的非方向预测模式的数目等于或大于二,确定针对所述块的所述一组允许的帧内预测模式包括所述非方向预测模式和标称方向模式;
响应于针对所述至少一个邻近块的非方向预测模式的所述数目等于或大于二,并且响应于所述块的大小等于或大于第一阈值,确定针对所述块的所述一组允许的帧内预测模式包括所述非方向预测模式和标称方向模式;以及
响应于针对所述至少一个邻近块的方向预测模式的数目等于或大于一,确定针对所述块的所述一组允许的帧内预测模式包括所有帧内预测模式。
16.根据权利要求15所述的方法,其中,所述第一阈值是32×32。
17.根据权利要求1所述的方法,还包括:
由所述装置基于以下中的至少一者来确定针对所述块的多于一组允许的帧内预测模式:所述块的至少一个邻近块的所述模式信息或者所述块的大小。
18.一种用于视频解码中的帧内预测模式的熵编码的设备,所述设备包括:
存储指令的存储器;以及
与所述存储器通信的处理器,其中,当所述处理器执行所述指令时,所述处理器被配置成使所述设备执行权利要求1至17中任一项所述的方法。
19.一种存储指令的非暂态计算机可读存储介质,其中,当所述指令由处理器执行时,所述指令被配置成使所述处理器执行权利要求1至17中任一项所述的方法。
CN202280006506.6A 2021-07-07 2022-01-27 用于帧内预测模式的熵编码 Pending CN116325722A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163219230P 2021-07-07 2021-07-07
US63/219,230 2021-07-07
US17/573,845 US20230008488A1 (en) 2021-07-07 2022-01-12 Entropy coding for intra prediction modes
US17/573,845 2022-01-12
PCT/US2022/014140 WO2023282937A1 (en) 2021-07-07 2022-01-27 Entropy coding for intra prediction modes

Publications (1)

Publication Number Publication Date
CN116325722A true CN116325722A (zh) 2023-06-23

Family

ID=84798088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280006506.6A Pending CN116325722A (zh) 2021-07-07 2022-01-27 用于帧内预测模式的熵编码

Country Status (5)

Country Link
US (1) US20230008488A1 (zh)
EP (1) EP4179727A4 (zh)
KR (1) KR20230047446A (zh)
CN (1) CN116325722A (zh)
WO (1) WO2023282937A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230069984A1 (en) * 2021-08-24 2023-03-09 Tencent America LLC Hardware friendly design for intra mode coding

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109716774A (zh) * 2016-10-04 2019-05-03 高通股份有限公司 用于视频译码的可变数目的帧内模式
US20200053385A1 (en) * 2016-10-04 2020-02-13 Kt Corporation Method and apparatus for processing video signal
WO2020190916A1 (en) * 2019-03-17 2020-09-24 Tencent America LLC Method and apparatus for video coding
CN112118448A (zh) * 2019-06-21 2020-12-22 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质
US20210058643A1 (en) * 2019-08-23 2021-02-25 Tencent America LLC Method and apparatus for video coding
WO2021037053A1 (en) * 2019-08-27 2021-03-04 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of cabac coding for the indices of geometric partition flag
US20210152819A1 (en) * 2010-08-17 2021-05-20 M&K Holdings Inc. Apparatus for decoding an image

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3741121A1 (en) * 2018-02-14 2020-11-25 Huawei Technologies Co., Ltd. Adaptive interpolation filter
AU2019335453B2 (en) * 2018-09-03 2023-06-15 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210152819A1 (en) * 2010-08-17 2021-05-20 M&K Holdings Inc. Apparatus for decoding an image
CN109716774A (zh) * 2016-10-04 2019-05-03 高通股份有限公司 用于视频译码的可变数目的帧内模式
US20200053385A1 (en) * 2016-10-04 2020-02-13 Kt Corporation Method and apparatus for processing video signal
WO2020190916A1 (en) * 2019-03-17 2020-09-24 Tencent America LLC Method and apparatus for video coding
CN112118448A (zh) * 2019-06-21 2020-12-22 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质
US20210058643A1 (en) * 2019-08-23 2021-02-25 Tencent America LLC Method and apparatus for video coding
WO2021037053A1 (en) * 2019-08-27 2021-03-04 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of cabac coding for the indices of geometric partition flag

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. CHEN等: "THE Joint Exploration Mode(JEM) for video compression with capability beyond hevc", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》, 7 October 2019 (2019-10-07) *

Also Published As

Publication number Publication date
WO2023282937A1 (en) 2023-01-12
EP4179727A4 (en) 2023-09-06
EP4179727A1 (en) 2023-05-17
JP2023545829A (ja) 2023-10-31
US20230008488A1 (en) 2023-01-12
KR20230047446A (ko) 2023-04-07

Similar Documents

Publication Publication Date Title
CN111955007B (zh) 视频解码的方法和装置
CN111903131B (zh) 用于解码器中的视频解码的方法、装置及计算机可读介质
CN112055971A (zh) 一种用于最可能模式导出的方法和装置
CN111901609B (zh) 视频解码的方法和装置、计算机设备和存储介质
CN113228667A (zh) 用于视频编码的方法及装置
CN112235573B (zh) 视频编解码的方法、装置、电子设备、存储介质
CN111919440B (zh) 用于视频解码的方法、装置和计算机可读介质
CN111989929B (zh) 视频解码方法、装置及计算机可读介质
US20230008488A1 (en) Entropy coding for intra prediction modes
CN115486077A (zh) 针对变换系数的符号图的改进熵编码
JP7508705B2 (ja) イントラ予測モード向けのエントロピーコーディングのための方法、装置、及びコンピュータプログラム
JP7510006B2 (ja) イントラモードコーディングのための改良
CN116868567B (zh) 视频解码方法、装置、计算机设备及存储介质
CN113395524B (zh) 视频解码方法、装置和电子设备
CN116723315B (zh) 视频解码的方法和装置、视频编码的方法和装置及存储介质
US20230069984A1 (en) Hardware friendly design for intra mode coding
CN116472711A (zh) 用于帧内模式编码的硬件友好设计
CN116806427A (zh) 用于基于偏移的修正和多参考行选择的协调设计
CN116783888A (zh) 改进的帧内模式编码
CN116250231A (zh) 帧内模式编码的改进
CN116097646A (zh) 双向帧内预测和多参考线选择的协调设计
CN117242772A (zh) 使用邻近亮度样本的根据亮度的色度预测
CN117044203A (zh) 用于一维变换跳过的eob的信令
CN117157974A (zh) 图像和视频压缩中的交叉分量平面预测
CN117296320A (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: 40088094

Country of ref document: HK