CN112789853A - 视频编码和解码中的细化模式处理 - Google Patents

视频编码和解码中的细化模式处理 Download PDF

Info

Publication number
CN112789853A
CN112789853A CN201980054618.7A CN201980054618A CN112789853A CN 112789853 A CN112789853 A CN 112789853A CN 201980054618 A CN201980054618 A CN 201980054618A CN 112789853 A CN112789853 A CN 112789853A
Authority
CN
China
Prior art keywords
refinement
encoding
signal
mode
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
CN201980054618.7A
Other languages
English (en)
Inventor
C.切万斯
E.弗朗索瓦
F.希隆
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.)
InterDigital VC Holdings Inc
Original Assignee
InterDigital VC Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP18306226.4A external-priority patent/EP3627837A1/en
Application filed by InterDigital VC Holdings Inc filed Critical InterDigital VC Holdings Inc
Publication of CN112789853A publication Critical patent/CN112789853A/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

对视频信息的图片部分进行编码或解码可以包括使用每个块的细化模式,其中,细化模式可以基于细化参数。细化模式可以包括跨分量细化,其可以是跨分量色度细化。细化模式可以包括启用针对每个块对细化参数的选择,其中,该细化参数可以包括包含在色度细化表中的一个或多个色度细化参数。

Description

视频编码和解码中的细化模式处理
技术领域
本公开涉及视频编码和解码。
背景技术
为了实现高压缩效率,图像和视频编码方案通常采用预测和变换来利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始图片块和预测图片块之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编码。为了重构视频,通过对应于预测、变换、量化和熵编码的逆过程来对压缩数据进行解码。
发明内容
通常,一种方法的至少一个实施例的示例包括:获得用于以下的成本:(i)基于针对每个块将细化模式应用于重构信号来对图片部分进行编码,其中,细化模式基于细化参数,以及(ii)使用除了该细化模式之外的模式对图片部分进行编码;以及基于该成本对图片部分进行编码。
通常,一种装置的至少一个实施例的示例包括一个或多个处理器,被配置为:获得用于以下的成本:基于针对每个块将细化模式应用于重构信号来对图片部分进行编码,其中,细化模式基于细化参数,以及不使用该细化模式对图片部分进行编码;以及基于该成本对图片部分进行编码。
通常,一种解码方法的至少一个实施例的示例包括:获得在图片部分的编码期间针对每个块将细化模式应用于重构信号的指示,其中,细化模式基于细化参数;以及基于该指示对经编码图片部分进行解码。
通常,一种装置的至少一个实施例的示例包括一个或多个处理器,被配置为:获得在经编码图片部分的编码期间针对每个块将细化模式应用于重构信号的指示,其中,细化模式基于细化参数;以及基于该指示对经编码图片部分进行解码。
通常,至少一个实施例的示例包括提供信号,其被格式化为包括表示经编码图片部分的数据;以及提供在经编码图片部分的编码期间基于细化参数针对每个块将细化模式应用于重构信号的指示的数据。
通常,至少一个实施例的示例包括提供比特流,其被格式化为包括表示经编码图片部分的数据;以及提供在经编码图片部分的编码期间基于细化参数针对每个块将细化模式应用于重构信号的指示的数据。
通常,至少一个实施例的示例包括计算机程序产品或非暂时性计算机可读存储介质,其上存储有计算机可读指令,用于使一个或多个处理器执行本文描述的任何方法。
通常,一个或多个实施例提供计算机可读存储介质,例如非暂时性计算机可读存储介质,其上存储有指令以用于根据本文描述的方法或装置对视频数据进行编码或解码,和/或其上存储有根据本文描述的方法或装置所生成的比特流。一个或多个本实施例还能够提供用于发送或接收根据本文描述的方法或装置生成的比特流的方法和装置。
通常,至少一个实施例的另一个示例包括一种设备,其包括一个或多个处理器,该处理器被配置为根据本文描述的方法或装置对图片部分进行编码或解码,并且包括以下中的至少一个:(i)天线,被配置为接收信号,该信号包括表示图像的数据,(ii)频带限制器,被配置为将接收到的信号限制到包括表示该图像的数据的频带,或者(iii)显示器,被配置为显示该图像。
附图说明
通过结合附图考虑以下详细描述,可以更好地理解本公开,附图中:
图1提供了描绘视频编码器的实施例的示例的框图。
图2提供了描绘视频解码器的实施例的示例的框图。
图3提供了描绘视频编码器的实施例的另一示例的框图。
图4提供了描绘视频解码器的另一实施例的示例的框图。
图5提供了描绘信号语法的实施例的示例的表格。
图6提供了说明细化表的实施例的特征的图表。
图7提供了描绘信号语法的实施例的另一示例的表格。
图8提供了描绘信号语法的另一实施例的特征的示例的表格。
图9提供了描绘用于推导细化信息的过程的实施例的示例的流程图。
图10提供了描绘信号语法的实施例的另一示例的表格。
图11提供了描绘用于推导细化信息的过程的实施例的另一示例的流程图。
图12提供了描绘用于对细化参数进行编码和解码的过程的实施例的示例的两个流程图。
图13提供了描绘信号语法的实施例的另一示例的表格。
图14提供了描绘用于推导与一个或多个实施例一起使用的信息的过程的实施例的示例的流程图。
图15提供了描绘包括视频编码和/或解码的系统的实施例的示例的框图。
图16提供了描绘诸如包括视频编码的发射机的系统的实施例的示例的框图。
图17提供了描绘视频编码器的实施例的另一示例的框图。
图18提供了描绘视频编码器的实施例的另一示例的框图。
图19提供了描绘视频编码器的实施例的另一示例的框图。
图20提供了描绘用于视频编码的过程的实施例的示例的流程图。
图21提供了描绘诸如图20中描绘的过程的至少一个其它实施例的特征的实施例的示例的流程图。
图22提供了说明细化表的实施例的特征的图表。
图23提供了说明细化表的另一实施例的特征的图表。
图24提供了描绘图21中描绘的过程的变型的实施例的示例的流程图。
图25提供了描绘细化表的另一实施例的特征的图表。
图26提供了描绘细化表的另一实施例的特征的图表。
图27提供了描绘诸如包括视频解码的接收机的系统的实施例的示例的框图。
图28提供了描绘视频解码器的实施例的另一示例的框图。
图29提供了描绘视频解码器的实施例的另一示例的框图。
图30提供了描绘视频解码器的实施例的另一示例的框图。
图31提供了描绘用于解码视频信号的过程的实施例的示例的流程图。
图32提供了描绘视频编码器的实施例的另一示例的框图。
图33提供了描绘视频解码器的实施例的另一示例的框图。
应当理解,附图是针对图示说明各个方面和实施例的示例的目的,并且不一定是唯一可能的配置。贯穿各个附图,相同的标号指代相同或相似的特征。
具体实施方式
视频压缩和重构过程可能产生失真。例如,可能在重构的视频信号中观察到失真,特别是在视频信号在编码之前被映射的情况下,例如,以更好地利用视频图片的样本码字分布。通常,至少一个实施例可以使用例如基于色度分量的视频信号细化以提供灵活性和编码增益,来提供减少失真和/或改进压缩效率。至少一个实施例可以涉及作为用于改进解码之后的重构视频信号的环内或环外滤波器的细化步骤。细化可以基于例如在编码期间编码在比特流或信号中的细化表。然后,解码器基于该细化表应用信号校正(例如,滤波)。在可能模式的各种示例中,至少一个实施例的模式的一个示例是色度分量的跨分量细化。至少一个实施例的模式的另一个示例是分量内细化,例如,应用于亮度分量。
应用意在向整个切片或给定的整个区域提供细化的某些处理、方法或技术可能导致针对其应用细化的切片或区域的局部部分退化,即使该细化全局地针对该整个切片或区域是有益的。通常,至少一个实施例解决了这个问题,并且还旨在改进所涉及的数据(诸如细化表)的编码。针对整个切片或区域的细化可以涉及每个分量编码一个表并且将这一个表应用于整个切片或整个区域的所有样本。
通常,在至少一个实施例中,在编码器侧基于提供由度量所指示的改进,例如通过减少整个所考虑的图片或区域上的率失真成本(典型的失真和编码成本的加权和)来计算表格。例如,失真可以是细化后的重构信号和原始信号之间的均方差。然后将得到的表编码在比特流或信号中。如果所考虑的切片或区域上的率失真成本是全局减少的,这也意味着,可能在所考虑的切片或区域中有一些部分的率失真成本是增加的。通常,实施例的至少一个示例可以包括细化模式,其包括跨分量色度细化。实施例的另一个示例可以包括例如应用于亮度分量的分量内细化。
如本文所使用的,数据的细化可以是指能够产生改进(例如,诸如提高的对信息(诸如视频数据)编码和/或解码的效率之类的改进和/或诸如减少成本(诸如本文描述的率失真成本)之类的其它改进)的处理的改变、调整、修改、修订或适配。为了便于解释说明,本文描述的一个或多个实施例可以将“成本”称为“率失真成本”,其可以用于评估、确定或获得与细化模式的使用相关联的效果、影响或改进。例如,可以评估(例如,比较)与细化模式的使用相关联或无关联的成本,以例如基于诸如成本上的改变所指示的改进的压缩效率和/或减少的失真来确定是否使用如本文描述的细化模式。虽然一种类型的成本可以包括率失真成本,但是本文对率失真成本的引用并不是限制性的,因为用于评估细化模式效果的其它类型的成本和/或其它方法是得到设想的。
另外,在本文的描述中,词语“重构的”和“解码的”可以互换使用。通常但不是必须地,在编码器侧使用“重构的”,而在解码器侧使用“解码的”。应当注意,术语“解码的”或“重构的”可以意味着比特流或信号被部分地“解码”或“重构”,例如,在去块滤波之后但在SAO滤波之前获得的信号,并且重构的样本可能与用于显示的最终解码输出是不同的。而且,术语“图像”、“图片”和“帧”可以互换使用。
通常,至少一个实施例可以涉及启用每个块的细化的激活,并且可能地启用针对每个块、在先前编码在流中的一组可能的细化参数中选择应用于该块的细化参数。术语“块”可以在变型中由“编码单元”(CU)、“编码树单元”(CTU)取代。
通常,一个或多个实施例与编码器和解码器相关,并且一个或多个实施例可以与解码器规格和语义相关。
图1图示了编码器100的实施例的示例。可以设想编码器100的变型,但是为了清楚起见,下面描述了编码器100,而没有描述所有预期的变型。
在编码之前,视频序列可以经历预编码处理(101),例如,对输入颜色图片应用颜色变换(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或者执行输入图片分量的重新映射,以便获得对压缩更有弹性的信号分布(例如,使用颜色分量之一的直方图均衡化)。元数据可以与预处理相关联,并且附加到比特流或信号。
在编码器100中,如下所述,由编码器元件对图片进行编码。以例如CU为单位对要编码的图片进行分割(102)并进行处理。使用例如帧内或帧间模式对每个单元进行编码。当单元以帧内模式编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)帧内模式或帧间模式中的哪一个用于对单元进行编码,并且通过例如预测模式标志指示该帧内/帧间决定。例如,通过从原始图像块中减去(110)预测的块来计算预测残差。
然后对预测残差进行变换(125)和量化(130)。对经量化的变换系数以及运动矢量和其它语法元素进行熵编码(145)以输出比特流或信号。编码器可以跳过变换并将量化直接应用于未变换的残差信号。编码器可以绕过变换和量化二者,即,残差被直接编码而无需应用变换或量化过程。
编码器对经编码块进行解码,以为进一步的预测提供参考。对经量化的变换系数进行解量化(140)并进行逆变换(150)以解码预测残差。将经解码的预测残差和预测的块组合(155),图像块得以重构。环内滤波(165)被应用于重构的图片以执行例如去块/SAO(样本自适应偏移)滤波以减少编码伪像。滤波后的图像被存储在参考图片缓冲器(180)。
图2图示了视频解码器200的实施例的示例的框图。在解码器200中,如下所述,由解码器元件对比特流或信号进行解码。视频解码器200通常执行如图1中所描述的编码遍次相对的解码遍次。编码器100通常还执行视频解码,作为对视频数据进行编码的一部分。
特别地,解码器的输入包括视频比特流或信号,其可以由视频编码器100生成。该比特流或信号首先被熵解码(230),以获得变换系数、运动矢量和其它编码信息。图片分割信息指示图片如何分割。因此,解码器可以根据经解码的图片分割信息来分割(235)图片。对变换系数进行解量化(240)并对其进行逆变换(250)以对预测残差进行解码。将经解码的预测残差和预测的块组合(255),图像块得以重构。可以从帧内预测(260)或运动补偿预测(即帧间预测)(275)获得(270)预测的块。环内滤波(265)被应用于重构的图像。滤波后的图像被存储在参考图片缓冲器(280)。
经解码图片可以进一步经历解码后处理(285),例如,逆颜色变换(例如,从YCbCr4:2:0到RGB 4:4:4的转换)或执行在预编码处理(101)中执行的重新映射过程的逆过程的逆重新映射。后解码处理可以使用在预编码处理中推导出并在比特流或信号中发信号通知的元数据。
通常,根据本文描述的特征的各个示例,在至少一个实施例中,如本文描述的一个或多个特征可以影响编码器/解码器(编解码器)的部分或分段或模块,诸如环内滤波器(165和265)和熵编码(145)和解码(230)。
图3图示了图1的视频编码器100的变型3000。与图1的模块相同的图3的模块用相同的附图标记来标注并且不再进一步描述。在图3中,示出的实施例包括处于循环中的细化过程。在环内滤波步骤(165)之后完成计算细化参数的步骤(步骤3001)。细化参数计算步骤将输入视频和来自环内滤波步骤的重构视频作为输入。它计算由修改后的熵编码器(3003)编码到比特流或信号中的细化参数。细化参数还用于将细化步骤(3002)应用于来自环内滤波器的重构视频。
图4图示了图2的视频编码器100的变型102。与图2的模块相同的图4的模块用相同的附图标记来标注并且不再进一步描述。在图4中,在步骤4001中,由熵解码器对比特流或信号进行解码。熵解码器产生重构的视频,并且另外,产生经解码的细化参数。在步骤4002中使用细化参数来应用重构视频的细化,以产生输出视频。
如本文所使用的,下面的符号表示或对应于:
-B是信号的比特深度(例如,10比特)
-MaxVal是信号的最大值,计算为(2B-1)
-Sin_Y(p)、Sin_cb(p)、Sin_cr(p)对应于在图片中的相对位置p处的Y、cb和cr原始(输入)信号
-Sout_cb(p)、Sout_cr(p)对应于在图片中的相对位置p处的从细化得出的cb和cr(输入)信号
-Srec_Y(p)对应于在图片中的相对位置p处的重构亮度信号。它对应于来自环内滤波器的信号
-Srec_cb(p)、Srec_cr(p)对应于在图片中的相对位置p处的要细化的重构色度信号。它对应于来自环内滤波器的信号
-neutralVal对应于预定义的值,当细化值等于neutralVal时,细化不修改信号;neutralVal的典型值是64
-Rcb、Rcr对应于色度细化参数
Rcb、Rcr典型地可以被定义为分段线性(PWL)模型的枢轴点。例如,
Rcb={(Rcb_idx[pt],Rcb_val[pt]),for pt=0to Ncb-1},Ncb是枢轴点的数量。从色度细化参数Rcb、Rcr,推导出查找表LutRcb、LutRcr。例如,可以通过如下在Rcb的每对点之间进行线性插值来构建LutRcb。
针对pt=0至Ncb-2
针对idx=Rcb_idx[pt]至(Rcb_idx[pt+1]-1)
LutRcb[idx]=Rcb_val[pt]+(Rcb_val[pt+1]-Rcb_val[pt])*(idx-Rcb_idx[pt])/(Rcb_idx[pt+1]-Rcb_idx[pt])
跨分量色度细化工作的实施例如下(这里针对分量cb说明):
·Sout_cb(p)=offset+LutRcb[Srec_Y(p)]/neutralVal*(Srec_cb(p)-offset)
其中,偏移通常被设置为(MaxVal/2),并且p对应于图片中相同的相对位置。
或者如下:
·Sout_cb(p)=(LutRcb[Srec_Y(p)]-neutralVal)+Srec_cb(p)
在实施例的另一个示例中,细化可以应用为亮度分量的分量内细化,其如下工作:
·Sout_Y(p)=(LutRy[Srec_Y(p)]/neutralVal)*Srec_Y(p)
或者如下:
·Sout_Y(p)=LutRy[Srec_Y(p)]+Srec_Y(p)
实施例可以包括提供具有一个或多个语法特征(诸如图5的示例中所示的那些)的比特流或信号。一方面可以包括仅色度分量被细化。例如,当refinement_table_flag_cb是真时,对于从0到(refinement_table_cb_size-1)的所有pt,cb细化表值(Rcb_idx[pt],Rcb_val[pt])如下计算:
·Rcb_idx[pt]被设置为等于(Rcb_idx[pt-1]+refinement_cb_idx[pt])
·Rcb_val[pt]被设置为等于(neutralVal+refinement_cb_value[pt])
针对cr分量应用类似的过程。
在图6中示出细化表的示例,其中refinement_table_cb_size=6(pt=0至5)。为了符号简化,“Rcb”在图6中由“R”替代。
在实施例中,当基于块的跨分量色度细化被激活时,则启用针对k=1至K的K对cb、cr细化表(Rcbk,Rcrk)。当K等于0时,没有细化应用于切片。针对每个块编码一个或多个基于块的指示符,以指示使用这些表对中的哪一个,或者是否没有细化被激活或不是针对该块的。
在实施例的非限制性示例中,只使用一对表(K=1)。
在实施例的另一示例中,在切片头中,首先对细化表集合进行编码。在图7中描绘了用于对成对的cb、cr细化表进行解码的语法的示例。在图7中,示出了使用表对标识符的切片头语法的示例,其中:
refinement_number_of_tables指示流中编码的色度细化表对的数量。该数量应大于或等于0。当等于0时,这意味着没有色度细化应用于当前切片。如果refinement_number_of_tables大于0,则对于0和(refinement_number_of_tables-1)之间的任何idx值,至少refinement_table_flag_cb[idx]或refinement_table_flag_cr[idx]应该等于1。
注意:refinement_number_of_tables对应于上面所讨论的参数K。
refinement_table_flag_cb[idx]指示是否针对标识符值idx的细化表对的cb分量编码细化表。如果refinement_table_flag_cb[idx]等于0,则refinement_table_flag_cr[idx]应该等于1。
refinement_table_cb_size[idx]指示标识符值idx的细化表对的cb细化表的尺寸。
refinement_cb_idx[idx][i]指示标识符值idx的细化表对的cb细化表的第i个元素的索引(第一坐标)。
refinement_cb_value[idx][i]指示标识符值idx的细化表对的cb细化表的第i个元素的值(第二坐标)。
refinement_table_flag_cr[idx]指示是否针对标识符值idx的细化表对的cr分量编码细化表。如果refinement_table_flag_cr[idx]等于1,则refinement_table_flag_cb[idx]应该等于1。
refinement_table_cr_size[idx]指示标识符值idx的细化表对的cr细化表的尺寸。
refinement_cr_idx[idx][i]指示标识符值idx的细化表对的cr细化表的第i个元素的索引(第一坐标)。
refinement_cr_value[idx][i]指示标识符值idx的细化表对的cr细化表的第i个元素的值(第二坐标)。
在块(或CU,或CTU)级别,发信号通知基于块的标识符tables_id,对应于要应用于当前块的成对的cb、cr细化表的标识符。在图8中描绘了用于对块细化信息进行解码的语法的示例,图8示出了使用表对标识符的块级语法的示例。在图8中:
语法元素refinement_activation_flag指示当前块是否使用细化。
如果当前块正在使用细化(refinement_activation_flag等于1),则语法元素tables_id被解码。并且使用对应于标识符tables_id的细化表对当前块进行细化:
·针对i=0至(refinement_table_cb_size[tables_id]-1)
οrefinement_cb_idx[tables_id][i]
οrefinement_cb_value[tables_id][i]
·针对i=0至(refinement_table_cr_size[tables_id]-1)
οrefinement_cr_idx[tables_id][i]
οrefinement_cr_value[tables_id][i]
在图9中示出了说明用于推导当前块的细化信息的实施例的相对应框图。在图9中,在601处,语法元素refinement_activation_flag被解码。在602处,检查refinement_activation_flag等于0。如果refinement_activation_flag等于0,则不应用细化(603)。如果refinement_activation_flag不等于0,则tables_id在604处被解码。在605处,使用由标识符tables_id指示的表对来应用细化。
在实施例中,语法元素refinement_activation_flag不被编码,但是tables_id的特定值指示块没有被细化。例如,tables_id等于0指示当前块未使用细化。测试“refinement_activation_flag==0?”由“tables_id==0?”替代。
在另一个实施例中,一方面涉及相对于相邻的细化信息进行编码。例如,基于块的指示符由语法元素组成,该语法元素指示是否从相邻块复制当前块的细化信息。细化信息至少由下面几项组成:
-指示块是否使用细化的参数(这里命名为refinedBlock,也对应于命名为refinement_activation_flag的语法元素),
-在refinedBlock指示块被细化的情况下,用于细化该块的样本的细化表。在图10中描绘了用于对块细化信息进行解码的语法的示例,其中:
tables_from_left_flag指示是否从当前块的左侧块复制细化信息。
tables_from_up_flag指示是否从当前块的上部块复制细化信息。
refinement_activation_flag指示是否针对当前块激活细化。
在图11中提供了用于推导当前块的细化信息的相对应框图。在图11中,在(501)处对语法元素tables_from_left_flag解码。在502处,检查tables_from_left_flag等于0。如果tables_from_left_flag不等于0,则从当前块的左侧块复制当前块的细化信息(504)。否则,在503处对语法元素tables_from_up_flag解码。在505处,检查tables_from_up_flag等于0。如果tables_from_up_flag不等于0,则从当前块的上部块复制当前块的细化信息(507)。否则,在506处对语法元素refinement_activation_flag解码。将当前块的refinedBlock设置为refinement_activation_flag。在508处,检查refinement_activation_flag等于0。如果refinement_activation_flag等于1,则对细化表解码(510)。否则,不应用特定过程(510)。在511处,应用细化。在该步骤中,如果refinedBlock等于0,则块不会由细化过程处理。如果refinedBlock等于1,则使用针对当前块推导出的细化表来细化块。
在实施例中,refinement_activation_flag是未显式编码或解码但隐式地上下文推断的。例如,上下文与SAO循环滤波过程有关。在该实施例中,从SAO参数推断出refinement_activation_flag。在一个实施例中,如果针对块禁用SAO,则refinement_activation_flag被设置为等于0。如果针对块启用SAO,则refinement_activation_flag被设置为等于1。在另一个实施例中,如果针对块禁用SAO带偏移,则refinement_activation_flag被设置为等于0。如果针对块启用SAO带偏移,则refinement_activation_flag被设置为等于1。一种类似的规则可以应用于其它SAO类型,诸如边缘偏移。
在实施例中,细化过程与诸如SAO的另一循环滤波过程联合应用。
通常,实施例可以包括通过避免冗余中性值来减少表编码成本。在实施例中,可以认为色度细化表具有相同的尺寸(Ncb=Ncr=N),并且共享相同的索引:
Rcb_idx[pt]=Rcr_idx[pt],针对pt=0至(N-1)
可以观察到在大多数情况下,当用于一个分量(例如cb)的细化参数等于中性值neutralVal时,用于其它色度分量的相对应细化参数经常接近该中性值。
在下面的示例中对此进行了说明,该示例是从对SDR内容BasketballDrive_1920x1080的第一个图片的处理中获得的,该图片使用VTM编解码器以37的QP编码。neutralValue等于64,细化值接近64的情况以粗体字体指示。
cb 64,32,44,63,65,65,64,64,65,64,63,56,54,54,56,37,64,
cr 64,35,60,64,65,64,64,64,65,64,61,57,51,45,49,46,64,因此,在实施例中,可以通过基于第一色度分量的细化参数的相对应细化参数值来调节第二色度分量的细化参数的编码,来减少细化参数的成本。这在图12中示出为包括对应于编码器一侧的上半部框图和对应于解码器一侧的下半部框图。
在编码器处,输入值是第一色度分量Rp_c1(例如cb分量)的细化参数和第二色度分量Rp_c2的相对应细化参数(也就是,在细化参数表中针对相同的相对索引所指定的)。第一步骤执行第一色度分量Rp_c1的细化参数的编码(步骤701)。第二步骤检查与Rp_c1的值有关的条件(步骤702)。如果该条件为假,则对第二色度分量Rp_c2的相对应细化参数的值进行编码(步骤704)。如果该条件为真,则推断Rp_c2的值(步骤703)。
在解码器处,第一步骤执行第一色度分量Rp_c1的细化参数的解码(步骤711)。第二步骤涉及检查与Rp_c1的值有关的条件(步骤712)。如果该条件为假,则对第二色度分量Rp_c2的相对应细化参数的值进行解码(步骤714)。如果该条件为真,则推断Rp_c2的值(步骤713)。
在实施例中,测试条件可以包括检查第一色度分量的细化参数的值是否等于neutralValue:
Rp_c1==neutralValue?
在另一个实施例中,测试条件可以包括检查第一色度分量的细化参数的值是否大于或等于(neutralValue-thresh1),或者小于或等于(neutralValue-thresh2),其中,thresh1和thresh2是预定义的值(典型地等于1):
Rp_c1>=(neutralValue-thresh1)AND Rp_c1<=(neutralValue+thresh2)?
在实施例中,Rp_c2的推断值是neutralValue。
在实施例中,Rp_c2的推断值是Rp_c1。
在实施例中,Rp_c2的推断值是(neutralValue-Rp_c1)。
在图13中示出了修改后的语法的示例,条件为
Rp_c1(表中的refinement_cb_value[i])==neutralValue?
在该条件为真时,Rp_c2(表中的refinement_cr_value[i])被推断为neutralValue。否则显式地发信号通知该元素。
通常,实施例可以包括细化表的尺寸的控制。例如,在实施例中,为了减少细化表的编码成本,可以包括下面的至少一个:
·针对cb和cr的表尺寸是相同的,并且是固定的且由这里命名为N的默认值定义。
·表的索引Rcb_idx[pt]和Rcr_idx[pt]对应于等距点。
·每一细化表有限定的预定义数量Nref的元素被编码。在这种情况下,给出表元素被编码的第一表点pt_init的指示。经编码的细化值因此为:
οRcb_idx[pt_init]至Rcb_idx[pt_init+Nref-1]
οRcr_idx[pt_init]至Rcr_idx[pt_init+Nref-1]
其它(未经编码)值被设置为中性值(neutralVal)
ο针对pt=0到(pt_init-1)和从(pt_init+Nref)到(N-1),
Rcr_idx[pt]=neutralVal且Rcb_idx[pt]=neutralVal
在实施例中,每一细化表的值的数量Nref等于4。
在实施例中,编码器可以确定基于块的细化激活,并且基于例如下面列出且在图14中示出的相对应框图中说明的动作,推导依照本文描述的一个或多个实施例的一个或多个细化表。在实现方式中,列出的动作可以迭代发生。
1.针对blkId=0至(Nblk-1),Nblk是切片的块的数量,将图blkTablesId[blkId]初始化为-1(步骤802)。
2.将表标识符tablesId的参数初始化为0(步骤803)。
3.从blkTablesId[blkId]=-1的块blkId中的样本推导出标识符tablesId的细化表(步骤804)
a.结果是cb和cr表:
i.(refinement_cb_idx[tablesId][i],
refinement_cb_value[tablesId][i]),i是从0至
(refinement_table_cb_size[tablesId]-1)以及
(refinement_cr_idx[tablesId][i],
refinement_cr_value[tablesId][i]),i是从0至
(refinement_table_cr_size[tablesId]-1)
b.见下面用于执行所描述的计算的实施例。
4.针对blkTablesId[blkId]=-1的每个块blkId,计算色度率失真成本,在没有细化的情况下(RD_without[blkId]),以及在有使用步骤3中计算出的表的细化的情况下(RD_with[blkId])(步骤805)。
a.如下计算色度率失真成本:
distortion(cb)+distortion(cr)+
L*cost(refinement_table_cb)+L*cost(refinement_table_cr)+
L*cost(activation map)
其中,L是率失真成本推导中公知的“lambda”参数。
5.针对blkTablesId[blkId]=-1的所有块blkId,如下更新基于块的细化激活(步骤806):
a.如果(RD_with[blkId]<RD_without[blkId])blkTablesId[blkId]=tablesId
6.如果还有块blkId,诸如blkTablesId[blkId]=-1,并且如果tablesId<MaxNbTables(步骤807),
a.将tablesId递增1并且跳转到步骤3。
b.否则停止(步骤809)。
MaxNbTables是指定启用的成对细化表的最大数量的预定义参数(步骤808)。
关于上面的方面3b,在实施例中,细化元数据可以如下面所解释的来推导。细化元数据表示校正函数,记为R(),应用于颜色分量(例如,亮度分量Y或色度分量Cb/Cr)的每个单独样本。细化元数据的一个方面是最小化重构图片和原始图片之间的率失真成本。可以在给定区域A(例如,整个图片、切片、图块或CTU)上执行最小化。细化元数据记为R。在优选的实现方式中,分段线性模型用于R,由N对(R_idx[k],R_val[k]),k=0至N-1来定义。
该过程开始于由中性值初始化细化元数据R(步骤300)。中性值是使得细化不会改变信号的值。这将在下面进一步解释。使用R计算初始率失真成本initRD。下面将描述使用函数R的率失真成本推导。参数bestRD初始化为initRD。然后,由以下步骤组成细化元数据R优化的步骤。在PWL模型R的连续枢轴点的索引pt上执行循环。参数bestVal和initVal被初始化为R_val[pt]。对R_val[pt]的各个值执行循环。从值(initVal-val0)到值(initVal+Val1)实现循环,其中,Val0和Val1是预定义的参数。下面给出典型值。率失真成本curRD是使用修改后的R(具有修改后的R_val[pt])来计算的。curRD和bestRD的比较是,如果curRD低于bestRD,则将bestRD设置为curRD,将bestValue设置为R_val[pt]。接下来,进行对R_val[pt]的值的循环结束的检查。循环完成后,R_val[pt]设置为bestValue。接下来,检查pt值的循环。循环完成后,R是从细化过程得到的元数据。细化元数据优化的步骤可以迭代几次。
接下来,使用下面的符号描述细化过程的实施例:
-B是信号的比特深度(例如,10比特)
-MaxVal是信号的最大值,计算为(2B-1)
-Sin(p)是在图片中的位置p处的原始(输入)信号
-Sout(p)是在图片中的位置p处从细化得出的信号
-Srec(p)是要细化的信号。其对应于从第一变型的逆映射得出的信号,或者对应于从第二变型的环内滤波器得出的信号
-NeutralVal对应于预定义的值;当细化值等于NeutralVal时,该细化不会修改信号;NeutralVal的典型值是128
可以如下从细化元数据R构建查找表LutR。
针对N=0至N-2
针对idx=R_idx[pt]至(R_idx[pt+1]-1)
LutR[idx]=R_val[pt]+(R_val[pt+1]-R_val[pt])*(idx-R_idx[pt])*(R_idx[pt+1]-R_idx[pt])
通常,定义至少两个细化模式的示例。这些示例将会在本文中被称为“模式1”或“分量内细化模式”和“模式2”或“分量间细化模式”:
·在模式1或分量内细化模式中,独立于其它分量执行细化。优选地,该模式应用于亮度分量并且基于下面的公式:
οSout(p)=LutR[Srec(p)]/NeutralVal*Srec(p)
·在模式2或分量间细化模式中,依赖于另一个分量对一个分量执行细化。优选地,该模式应用于依赖于亮度分量的色度分量(在下面记为Srec_Y(p))。要注意的是,在第一变型中,Srec_Y(p)可以是从环内滤波器步骤或从逆映射得到的信号。它也可以是其它(Y)分量的滤波后版本。该过程基于下面的公式:
οSout(p)=offset+LutR[Srec_Y(p)]/NeutralVal*(Srec(p)-offset)
其中,offset通常被设置为(MaxVal/2),并且p对应于图片中相同的相对位置。
最后,将最小和最大信号值(对于10比特信号典型地为0和1023)之间的舍入和裁剪应用于细化值Sout(p)。在此,该细化作为乘法运算符模式应用。加法细化运算符也可以用于细化。在这种情况下,模式1如下应用:
οSout(p)=LutR[Srec(p)]/NeutralVal+Srec(p)
并且模式2如下应用:
οSout(p)=LutR[Srec_Y(p)]/NeutralVal+Srec(p)
具有乘法运算符模式的细化模式2是针对色度分量优选的。
接下来,在实施例中,可以如下确定细化元数据R的率失真成本,其中使用以下符号:
-A是针对其执行细化的图片区域;可以例如在整个图片、切片、图块、CTU上执行该细化。
-Dist(x,y)是样本值x和样本值y之间的失真。典型地,该失真是平方差(x-y)2
-Cost(R)是对细化元数据R进行编码的编码成本
-L是与区域相关联的lambda因子。其典型地线性依赖于2(QP/6),其中,QP表示应用于区域的量化参数。
使用细化元数据R的率失真成本RDcost定义为:
Figure BDA0002944355150000161
R被构建为使得原始信号Sin(p)和细化后的信号Sout(p)之间的总的率失真成本最小化。
通常,实施例提供编码增益,也就是,针对相同的比特率提高质量,或者针对相同的质量降低比特率。下表中示出了使用基于块的激活的细化的增益。在下面示出的非限制性示例中,每个分量仅允许使用一个表(K,或者等效的refinement_number_of_tables等于1)。
在5个HDR HD 10比特内容、5个SDR HD 8比特内容和2个SDR HD 10比特内容上显示了性能。所使用的编解码器是VTM(通用视频编码(VVC)测试模型),并且已激活QTBT(四叉树加二叉树块分割结构)。所有序列均以10比特内部比特深度进行编码。下表描绘了随机访问配置中17帧序列上的编码结果。neutraVal设置为64,表尺寸设置为17。细化元数据编码仅应用于时间级别0。
下面的五个表如下示出了BD率增益:针对所有块应用细化(“细化全切片”)时的表1,启用尺寸为128x128(“细化blk128”)、64x64(“细化blk64”)和32x32(“细化blk32”)的每个块的细化激活时的表2至表4,以及针对每个内容选择最佳配置时的表5。结果示出使用基于块的细化激活的好处或改进。
refine full slice Ypsnr Upsnr Vpsnr YUV psnr
cosmos 0.0% -16.3% -25.3% -1.1%
hurdles 0.0% -11.1% -20.6% -1.3%
market 0.1% -1.9% -0.9% 0.0%
showgirl 0.0% -15.5% -9.6% -1.0%
starting 0.1% -2.7% -10.8% -0.6%
bbdrive 0.1% -1.2% -2.4% -0.1%
bqterrace -0.1% -3.4% -6.1% -0.4%
cactus 0.1% -2.4% -0.5% -0.1%
kimono 0.2% -4.1% -0.4% -0.1%
parks cene 0.0% -5.2% -0.7% -0.4%
marketplace 0.1% -4.7% -4.9% -0.2%
ritualdanCe 0.0% -1.1% -0.1% 0.0%
average 0.1% -5.8% -6.9% -0.4%
表1.针对所有块应用细化时的结果
refine blk1 28 Ypsnr Upsnr Vpsnr YUV psnr
cosmos 0.1% -17.4% -25.3% -1.1%
hurdles 0.1% -10.7% -20.8% -1.2%
market 0.0% -2.6% -1.5% -0.1%
showgirl 0.1% -18.3% -9.8% -1.1%
starting 0.1% -4.5% -12.5% -0.8%
bbdrive 0.1% -1.9% -2.4% -0.1%
bqterrace 0.0% -3.6% -6.7% -0.3%
cactus 0.1% -3.0% -0.9% -0.1%
kimono 0.2% -4.1% -0.8% 0.0%
parks cene 0.0% -5.6% -0.7% -0.3%
marketplace 0.0% -5.5% -6.4% -0.4%
ritualdance -0.2% -1.5% -0.7% -0.3%
average 0.0% -6.6% -7.4% -0.5%
表2.启用尺寸128x128的每个块的细化激活时的结果
refine blk64 Ypsnr Upsnr Vpsnr YUV psnr
cosmos 0.1% -17.4% -25.3% -1.1%
hurdles 0.1% -11.0% -20.9% -1.2%
market 0.0% -4.2% -2.2% -0.1%
showgirl 0.2% -20.7% -10.1% -1.1%
starting 0.2% -6.0% -13.0% -0.9%
bbdrive 0.0% -2.5% -2.0% -0.2%
bqterrace 0.1% -3.9% -6.7% -0.2%
cactus 0.0% -2.7% -0.9% -0.2%
kimono 0.2% -4.3% -1.4% -0.1%
parks cene 0.0% -6.5% -1.0% -0.4%
marketplace 0.1% -5.7% -8.2% -0.4%
ritualdance 0.1% -1.3% -0.4% 0.0%
average 0.1% -7.2% -7.7% -0.5%
表3.启用尺寸64x64的每个块的细化激活时的结果
refine blk32 Ypsnr Upsnr Upsnr YUV psnr
cosmos 0.0% -18.5% -27.0% -1.3%
hurdles 0.1% -12.4% -21.2% -1.3%
market 0.1% -6.1% -2.8% 0.0%
showgirl 0.3% -22.6% -11.3% -1.1%
starting 0.3% -7.6% -13.7% -0.9%
bbdrive 0.1% -3.3% -3.3% -0.2%
bqterrace 0.1% -4.6% -7.6% -0.2%
cactus 0.2% -3.1% -0.9% 0.0%
kimono 0.2% -5.2% -1.6% -0.2%
parks cene 0.1% -7.1% -1.2% -0.4%
marketplace 0.2% -6.8% -8.9% -0.3%
ritualdance 0.2% -1.2% -1.0% 0.1%
average 0.2% -8.2% -8.4% -0.5%
表4.启用尺寸32x32的每个块的细化激活时的结果
best Ypsnr Upsnr Vpsnr YUV psnr
cosmos 0.0% -18.5% -27.0% -1.3%
hurdles 0.1% -12.4% -21.2% -1.3%
market 0.0% -2.6% -1.5% -0.1%
showgirl 0.2% -20.7% -10.1% -1.1%
starting 0.3% -7.6% -13.7% -0.9%
bbdrive 0.0% -2.5% -2.0% -0.2%
bqterrace -0.1% -3.4% -6.1% -0.4%
cactus 0.0% -2.7% -0.9% -0.2%
kimono 0.2% -5.2% -1.6% -0.2%
parks cene 0.0% -6.5% -1.0% -0.4%
marketplace 0.1% -5.7% -8.2% -0.4%
ritualdance -0.2% -1.5% -0.7% -0.3%
average 0.0% -7.4% -7.8% -0.6%
表5.针对每个序列选择最佳结果时的结果
本文档描述了实施例、特征、模型,方法等的各种示例。很多这样的示例是专门描述的,并且至少为了示出个体特性,通常以可能显示出限制的方式来描述。然而,这是为了描述的清楚的目的,并不限制应用或范围。实际上,本文中描述的实施例、特征等的各种示例可以以各种方式组合和互换,以提供实施例的其它示例。
通常,可以以很多不同形式来实现本文档中描述和考虑的实施例的示例。图。上述图1和图2以及下文描述的图15提供了一些实施例,但是可以预期其它实施例,并且对图1、图2和图15的讨论不限制实现方式的范围。至少一个实施例大体上提供与视频编码和/或解码有关的示例,并且至少一个其它实施例大体上涉及发送所生成或经编码的比特流或信号。这些和其它实施例可以被实现为一种方法、一种装置、一种其上存储有用于根据所描述的任何方法对视频数据进行编码或解码的指令的计算机可读存储介质,和/或一种其上存储有根据所描述的任何方法生成的比特流或信号的计算机可读存储介质。
在本申请中,术语“重构的”和“解码的”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常但并非必须,术语“重构的”在编码器侧使用,而“解码的”在解码器侧使用。
在本公开中使用术语HDR(高动态范围)和SDR(标准动态范围)。这些术语通常将动态范围的特定值传达给本领域普通技术人员。然而,还旨在额外的实施例,其中对HDR的引用被理解为意指“较高的动态范围”,而对SDR的引用被理解为意指“较低的动态范围”。这样的额外实施例不受动态范围的任何特定值的约束,动态值的任何特定值经常与术语“高动态范围”和“标准动态范围”相关联。
本文中描述了各种方法,并且每个方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定的步骤或动作顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。
本文档中描述的各种方法和其它方面可以用于修改模块,例如图1和图2中示出的视频编码器100和解码器200的帧内预测、熵编码和/或解码模块(160、360、145、330)。此外,本方面不限于VVC或HEVC,并且可以应用于例如其它标准和建议,无论是已经存在的还是将来开发的,以及任何此类标准和建议(包括VVC和HEVC)的扩展。除非另有说明或技术上禁止,否则本文档中描述的各方面可以单独使用或组合使用。
例如,在本文档中使用了各种数值。特定值是出于示例目的,并且所描述的各方面不限于这些特定值。
图15图示了可以在其中实现各方面和实施例的系统的示例的框图。系统1000可以体现为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的一个或多个方面。这样的设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独或组合地体现在单个集成电路、多个IC和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个IC和/或分立组件上。在各个实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到其它类似系统或其它电子设备。在各个实施例中,系统1000被配置为实现本文档中描述的一个或多个方面。
系统1000包括至少一个处理器1010,其被配置为执行其中加载的指令,以实现例如本文档中描述的各方面。处理器1010可以包括嵌入式存储器、输入输出接口和本领域已知的各种其它电路。系统1000包括至少一个存储器1020(例如,易失性存储设备和/或非易失性存储设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接的存储设备和/或网络可访问的存储设备。
系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供经编码视频或经解码视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的模块。众所周知,设备可以包括编码和解码模块之一或两者。另外,编码器/解码器模块1030可以被实现为系统1000的单独的元件,或者可以作为硬件和软件的组合合并到处理器1010中,这是本领域技术人员所公知的。
要被加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各方面的程序代码可以被存储在存储设备1040中,并且随后被加载到存储器1020上以由处理器1010执行。根据各个实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一个或多个可以在执行本文档中描述的过程期间存储各种项目中的一项或多项。这样存储的项目可以包括但不限于输入视频、经解码视频或经解码视频的一部分、比特流或信号、矩阵、变量和来自方程、公式、运算和运算逻辑的中间或最终结果。
在几个实施例中,处理器1010和/或编码器/解码器模块1030内部的存储器用于存储指令并为编码或解码期间所需的处理提供工作存储器。然而,在其它实施例中,处理设备外部的存储器(例如,处理设备可以是处理器1010或编码器/解码器模块1030)被用于这些功能中的一个或多个。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储电视的操作系统。在至少一个实施例中,诸如RAM之类的快速外部动态易失性存储器被用作工作存储器,用于针对诸如MPEG-2、HEVC或VVC(通用视频编码)的视频编码和解码操作。
可以通过如块1130中指示的各种输入设备来提供对系统1000的元件的输入。这种输入设备包括但不限于:(i)接收例如通过广播器无线发送的RF信号的RF部分,(ii)复合输入端子,(iii)USB输入端子,和/或(iv)HDMI输入端子。
在各个实施例中,块1130的输入设备具有相关联的本领域中公知的相应输入处理元件。例如,RF部分可以与用于以下的元件相关联:(i)选择所需的频率(也称为选择信号,或将信号频带限制到一个频带),(ii)下变频所选信号,(iii)再次频带限制到更窄的频带,以选择(例如)在某些实施例中可以称为信道的信号频带,(iv)对下变频和频带限制后的信号解调制,(v)执行纠错,和(vi)解复用以选择所需的数据包流。各个实施例的RF部分包括一个或多个执行这些功能的元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行各种这些功能的调谐器,包括例如将接收到的信号下变频为较低频率(例如,中间频率或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关联的输入处理元件接收在有线(例如缆线)介质上发送的RF信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各个实施例重新排列上述(和其它)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其它元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各个实施例中,RF部分包括天线。
另外,USB和/或HDMI端子可以包括相应的接口处理器,用于通过USB和/或HDMI连接将系统1000连接到其它电子设备。应该理解,输入处理的各个方面,例如Reed-Solomon纠错,可以例如在单独的输入处理IC中或在处理器1010中实现。类似地,USB或HDMI接口处理的各方面可以在单独的接口IC中或在处理器1010中实现。经解调、经纠错和经解复用的流被提供给各种处理元件,包括例如处理器1010和与存储器和存储元件组合操作以处理用于呈现在输出设备上的数据流的编码器/解码器1030。
可以在集成外壳内提供系统1000的各种元件。在集成外壳内,可以使用合适的连接装置1140(例如,本领域中公知的内部总线,包括I2C总线、接线和印刷电路板)互连各种元件并在它们之间发送数据。
系统1000包括使得能够经由通信信道1060与其它设备进行通信的通信接口1050。通信接口1050可以包括但不限于配置为在通信信道1060上发送和接收数据的收发机。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质中实现。
在各个实施例中,使用诸如IEEE 802.11之类的Wi-Fi网络将数据流传输到系统1000。这些实施例的Wi-Fi信号在适用于Wi-Fi通信的通信信道1060和通信接口1050上被接收。这些实施例的通信信道1060典型地连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的访问,以允许流式应用和其它过顶(over-the-top)通信。其它实施例使用机顶盒向系统1000提供流传输的数据,该机顶盒通过输入块1130的HDMI连接来交付数据。其它实施例也使用输入块1130的RF连接向系统1000提供流传输的数据。
系统1000可以向包括显示器1100、扬声器1110和其它外围设备1120的各种输出设备提供输出信号。在实施例的各种示例中,其它外围设备1120包括独立DVR、硬盘播放器、立体声系统、照明系统和其它基于系统1000的输出提供功能的设备中的一个或多个。在各个实施例中,使用诸如AV.Link、CEC或能够在有或没有用户干预的情况下实现设备到设备控制的其它通信协议之类的信令,在系统1000与显示器1100、扬声器1110或其它外围设备1120之间传递控制信号。输出设备可以经由通过各自的接口1070、1080和1090的专用连接通信地耦合至系统1000。可替代地,输出设备可以经由通信接口1050使用通信信道1060连接至系统1000。显示器1100和扬声器1110可以与电子设备(例如,电视)中的系统1000的其它组件集成在单个单元中。在各个实施例中,显示接口1070包括显示驱动器,例如,时序控制器(T Con)芯片。
例如,如果输入1130的RF部分是单独的机顶盒的一部分,则显示器1100和扬声器1110可以替代地与一个或多个其它组件分开。在显示器1100和扬声器1110是外部组件的各个实施例中,可以经由专用输出连接(包括例如HDMI端口、USB端口或COMP输出)来提供输出信号。
实施例可以通过由处理器1010实现的计算机软件或者通过硬件或者通过硬件和软件的组合来实现。作为非限制性示例,实施例可以由一个或多个集成电路实现。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,诸如作为非限制性示例的光存储设备、磁存储设备,基于半导体的存储设备、固定存储器和可移除存储器。作为非限制性示例,处理器1010可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。
以下描述了图16至图30,其总体上描绘了适于实现本文中所描述的一个或多个方面的实施例的各种其它示例。
图16表示根据特定且非限制性实施例的被配置将图片编码在比特流中的发射机1000的架构的示例。
发射机1000包括一个或多个处理器1005,其可以包括例如CPU、GPU和/或DSP(数字信号处理器的英文缩写),以及内部存储器1030(例如,RAM、ROM和/或EPROM)。发射机1000包括一个或多个通信接口1010(例如,键盘、鼠标、触摸板、网络摄像机),每个适于显示输出信息和/或允许用户输入命令和/或数据;以及可以位于发射机1000的外部的电源1020。发射机1000还可以包括一个或多个网络接口(未示出)。编码器模块1040表示可以被包括在设备中以执行编码功能的模块。另外,编码器模块1040可以被实现为发射机1000的单独的元件,或者可以作为本领域技术人员公知的硬件和软件的组合被合并到处理器1005中。
可以从源获得图片。根据不同的实施例,源可以是但不限于:
-本地存储器,例如视频存储器、RAM、闪存、硬盘;
-存储接口,例如与大容量存储器、ROM、光盘或磁性支撑件的接口;
-通信接口,例如,有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或蓝牙接口);以及
-图片捕获电路(例如,诸如例如CCD(或电荷耦合器件)或CMOS(或互补金属氧化物半导体)之类的传感器)。
根据不同的实施例,比特流可以被发送到目的地。作为示例,比特流被存储在远程或本地存储器中,例如视频存储器或RAM、硬盘。在变型中,比特流被发送到存储接口,例如与大容量存储器、ROM、闪存、光盘或磁性支撑件的接口,和/或通过通信接口(例如到点对点链路、通信总线、点到多点链路或广域网的接口)发送。
根据实施例的非限制性示例,发射机1000还包括存储在存储器1030中的计算机程序。该计算机程序包括指令,当由发射机1000,特别是由处理器1005执行该指令时,使发射机1000能够执行参考图20描述的编码方法。根据变型,计算机程序在非暂时性数字数据支撑件上被存储在发射机1000的外部,例如存储在诸如HDD、CD-ROM、DVD、只读和/或DVD驱动器和/或DVD读/写驱动器之类的外部存储介质上,这些都是本领域中公知的。发射机1000因此包括读取计算机程序的机制。此外,发射机1000可以通过相对应的USB端口(未示出)访问一个或多个通用串行总线(USB)类型的存储设备(例如,“记忆棒”)。
根据实施例的一个或多个非限制性示例,发射机1000可以是但不限于:
-移动设备;
-通信设备;
-游戏设备;
-平板(或平板计算机);
-膝上型计算机;
-静态图片相机;
-视频摄像机;
-编码芯片或编码设备/装置;
-静态图片服务器;以及
-视频服务器(例如,广播服务器、视频点播服务器或web服务器)。
图17图示了适于执行图20的编码方法的视频编码器100(例如HEVC类型的编码器)的示例。编码器100是发射机1000或这样的发射机1000的一部分的示例。
为了进行编码,通常将图片分割为基本编码单元,例如分割为HEVC中的编码树单元(CTU)或分割为H.264中的宏块单元。一组可能的连续基本编码单元被分组为切片。基本编码单元包含所有颜色分量的基本编码块。在HEVC中,最小的编码树块(CTB)尺寸16x16对应于先前视频编码标准中使用的宏块尺寸。将理解的是,尽管本文中使用术语CTU和CTB来描述编码/解码方法和编码/解码装置,但是这些方法和装置不应受到可以在其它标准(诸如H.264)中不同地措辞(例如宏块)的这些特定术语的限制。
在HEVC编码中,图片被分割为具有可配置尺寸(通常为64x64、128x128或256x256)的正方形CTU。CTU是分割为4个相等尺寸(即宽度和高度为父块尺寸的一半)的正方形编码单元(CU)的四叉树的根。四叉树是其中父节点可以拆分为四个子节点的树,每个子节点可以成为用于另外拆分成四个子节点的父节点。在HEVC中,编码块(CB)被分割为一个或多个预测块(PB),并形成四叉树的根,该四叉树被分割为变换块(TB)。与编码块、预测块和变换块相对应,编码单元(CU)包括预测单元(PU)和树状结构的变换单元(TU)集,PU包括所有颜色分量的预测信息,并且TU包括每个颜色分量的残差编码语法结构。亮度分量的CB、PB和TB的尺寸适用于相对应的CU、PU和TU。
在最近的编码系统中,CTU是分割为编码单元(CU)的编码树的根。编码树是其中父节点(通常对应于CU)可以拆分为子节点(例如,拆分为2、3或4个子节点)的树,每个子节点可以成为用于另外拆分成子节点的父节点。除了四叉树拆分模式之外,还定义了新的拆分模式(二叉树对称拆分模式、二叉树非对称拆分模式和三叉树拆分模式),这些拆分模式增加了可能的拆分模式的总数。编码树具有唯一的根节点,例如CTU。编码树的叶片是该树的终止节点。编码树的每个节点表示一个CU,该CU可以被进一步拆分成更小的CU,也称为子CU或更一般地称为子块。一旦确定了将CTU分割为CU,就对与编码树的叶片相对应的CU进行编码。可以通过率失真优化过程在编码器侧确定CTU到CU的分割以及用于对每个CU(对应于编码树的叶片)进行编码的编码参数。没有将CB分割为PB和TB,即CU由单个PU和单个TU组成。
在下文中,术语“块”或“图片块”可以用于指代CTU、CU、PU、TU、CB、PB和TB中的任何一个。另外,术语“块”或“图片块”可以用于指代在H.264/AVC或其它视频编码标准中指定的宏块、分割和子块,并且更一般地指代各种尺寸的样本阵列。
回到图17,在编码器100的实施例的示例中,由如下描述的编码器元件对图片进行编码。将要编码的图片以CU为单位进行处理。使用帧内或帧间模式对每个CU编码。当CU以帧内模式编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)帧内模式或帧间模式中的哪一个用于对CU进行编码,并且通过预测模式标志指示该帧内/帧间决定。通过从原始图片块中减去(110)预测样本块(也称为预测器)来计算残差。
从重构的相邻样本(例如,在相同切片中)预测帧内模式中的CU。HEVC中有一组35种帧内预测模式可用,包括DC、平面和33种角度预测模式。从存储在参考图片缓冲器(180)中的参考图片的重构样本来预测帧间模式中的CU。
对残差进行变换(125)和量化(130)。对经量化的变换系数以及运动矢量和其它语法元素进行熵编码(145)以输出比特流。编码器也可以跳过变换,或者绕过变换和量化二者,即,在不应用变换或量化过程的情况下直接对残差进行编码。
熵编码可以是例如上下文自适应二进制算术编码(CABAC)、上下文自适应可变长度编码(CAVLC)、哈夫曼、算术、exp-Golomb等。CABAC是在H.264中首先引入并且也在HEVC中使用的熵编码方法。CABAC涉及二进制化、上下文建模和二进制算术编码。二进制化将语法元素映射到二进制符号(bin)。上下文建模基于某个特定上下文确定每个规则编码的bin(即,未绕过的)的概率。最后,二进制算术编码根据所确定的概率将bin压缩为比特。
编码器包括解码循环,并因此对经编码块进行解码以提供用于进一步预测的参考。经量化的变换系数被解量化(140)和逆变换(150)以解码残差。通过组合(155)经解码的残差和预测的样本块来重构图片块。可选地,环内滤波器(165)被应用于重构的图片,例如,以执行DBF(去块滤波)/SAO(样本自适应偏移)/ALF(自适应循环滤波)以减少编码伪像。滤波后的图片可以存储在参考图片缓冲器(180)中,并用作其它图片的参考。在本实施例中,从滤波后的重构图片(即,环内滤波器的输出)及其原始版本确定(190)细化数据。在第一变型中,从环内滤波之前的重构图片及其原始版本确定(190)细化数据。在该第一变型中,在环内滤波之前应用细化。在第二变型中,从部分滤波的重构图片(例如在解块滤波之后但在SAO之前)及其原始版本确定(190)细化数据。在该第二变型中,在例如紧接部分滤波之后,例如在解块滤波之后但在SAO之前应用细化。细化数据表示校正函数,记为R(),其应用于颜色分量(例如亮度分量Y或色度分量Cb/Cr或颜色分量R、G或B)的个体样本。然后,细化数据被熵编码在比特流中。在该实施例中,细化过程在解码循环之外。因此,细化过程仅在解码器中被应用为后处理。
图18图示了图17的视频编码器100的变型101。与图17的模块相同的图18的模块用相同的附图标记来标注并且不再进一步描述。在由视频编码器101编码之前,可以映射图片(105)。这样的映射可以用于更好地利用图片的样本码字值分布。通常,在如图18中所示的核心编码之前将映射应用于原始(输入)样本上。通常使用静态映射函数,即针对所有内容的相同函数,以便限制复杂度。可能由一维查找表LUTmap[x](x是一个值)建模的映射函数fmap()直接如下应用于输入信号x:
y=fmap(x)或者
y=LUTmap[x]
其中,x是输入信号(例如,针对10比特信号从0至1023),y是映射的信号。
在变型中,一个分量的映射函数取决于另一分量(跨分量映射函数)。例如,根据位于图片中相同的相对位置的亮度分量y来映射色度分量c。色度分量c映射如下:
c=offset+fmap(y)*(c-offset)或者
c=offset+LUTmap[y]*(c-offset)
其中,offset通常是色度信号的中心值(例如针对10比特色度信号为512)。
该参数也可以是被编码在流中的动态参数,最终可以改进压缩增益。
映射函数可以默认定义,或者在比特流中发信号通知,例如使用分段线性模型、缩放比例表或增量QP(dQP)表。
滤波后的重构图片(即环内滤波器的输出)被逆映射(185)。逆映射(185)是映射(105)的逆过程的实现。从逆映射之后的滤波后重构图片及其原始版本确定(190)细化数据。然后,细化数据在比特流中被熵编码。在该实施例中,细化过程在解码循环之外。因此,细化过程仅在解码器中被应用为后处理。
图19图示了图17的视频编码器100的变型102。与图17的模块相同的图19的模块用相同的附图标记来标注并且不再进一步描述。映射模块105是可选的。在不应用映射时从滤波后的重构图片(即环内滤波器的输出)及其原始版本,或者在应用映射时从其映射的原始版本确定(190)细化数据。然后,在比特流中对细化数据进行熵编码(145)。还使用细化数据来细化(182)滤波后的重构图片。细化的图片而不是滤波后的重构图片被存储在参考图片缓冲器(180)中。在该实施例中,细化过程是环内过程,即它是解码循环的一部分。因此,细化过程应用于编码器和解码器的解码循环二者中。模块182和190可以在不同的位置被插入。可以在环内滤波器之前或在至少两个环内滤波器的情况下在环内滤波器之间(例如在DBF之后和SAO之前)插入细化模块182。模块190被放置为使得其将与细化模块182相同的图片作为输入,即,在模块182在环内滤波器之前的情况下为重构图片,在模块182处于环内滤波器之间的情况下为部分滤波后的重构图片。
图20表示根据特定且非限制性实施例的用于在比特流中编码图片部分的方法的流程图。该方法开始于步骤S100。在步骤S110,发射机1000(例如诸如编码器100、101或102)访问图片部分。在被编码之前,所访问的图片部分可以可选地如图18和图19中那样进行映射。在步骤S120,发射机对所访问的图片部分进行编码和重构,以获得重构的图片部分。为此目的,可以将图片部分拆分成块。对图片部分进行编码包括对图片部分的块进行编码。对块进行编码通常但非必须包括从该块中减去预测器以获得残差块,将残差块转换为变换系数块,以量化步长对系数块进行量化以获得经量化的变换系数块,并且在比特流中对该经量化的变换系数块进行熵编码。在编码器侧重构块通常但非必须包括对经量化的变换系数块进行解量化和逆变换以获得残差块,并将预测器加到残差块以获得经解码块。然后,该重构图片部分可以由环内滤波器(例如图17-图19中的解块/SAO/ALF滤波器)进行滤波,并且还如图18中那样进行逆映射。
在步骤S130,例如,由模块190确定细化数据,以使得率失真成本被降低或最小化,该率失真成本被计算为数据编码成本(即,细化数据和细化图片部分的编码成本)和图片部分的原始版本(即,被访问的可能地如图19中那样映射的图像部分)与可能地如图17和图19中那样滤波或者如图18中那样逆映射、并且被细化的重构图片部分之间的失真的加权和。更精确地,确定细化数据使得:
-在如没有映射的图17和图19中那样在编码之前没有应用映射的情况下,与计算为数据编码成本(即,未经细化的图片部分的编码成本)和所述图片部分的原始版本与没有细化的所述重构图片部分之间的失真的加权和的率失真成本相比,计算为数据编码成本(即,细化数据和细化图片部分的编码成本)和所述图片部分的所述原始版本与由所述细化数据细化之后的所述重构图片部分之间的失真的加权和的率失真成本得以降低;
-在如图18(具有映射并且在循环细化之外)中那样在编码之前应用映射并且所述细化在解码循环之外的情况下,与计算为数据编码成本和所述图片部分的原始版本与逆映射且没有细化之后的所述重构图片部分之间的失真的加权和的率失真成本相比,计算为数据编码成本(细化数据和细化图片部分的编码成本)和所述图片部分的所述原始版本与逆映射并由所述细化数据细化之后的所述重构图片部分之间的失真的加权和的率失真成本得以降低;
-在如具有映射的图19中那样在编码之前应用映射并且所述细化处于解码循环内的情况下,与计算为数据编码成本和所述图片部分的经映射原始版本与没有细化的所述重构图片部分之间的失真的加权和的率失真成本相比,计算为数据编码成本和所述图片部分的所述经映射原始版本与由所述细化数据细化之后的所述重构图片部分之间的失真的加权和的率失真成本得以降低。
用于确定细化数据的重构图片部分可以是重构图片部分的环内滤波版本或环内局部滤波版本。
在特定且非限制性的实施例中,标记为R的细化数据有利地由分段线性模型(PWL)建模,该分段线性模型由N对(R_idx[k],R_val[k])定义,k=0至N-1。每对定义PWL模型的枢轴点。在图21-图26上详细描述步骤S130。R_idx[k]典型地是所考虑信号范围内的值,例如,对于10比特信号,范围是0至1023。有利地,R_idx[k]大于R_idx[k-1]。
在步骤S140,细化数据被编码在比特流或信号中。以下提供语法的实施例的非限制性示例。可以认为对这三个分量进行细化。在变型中,可以编码和应用仅用于一些分量的语法(例如,仅用于两个色度分量)。细化数据以细化表的形式编码。
Figure BDA0002944355150000291
Figure BDA0002944355150000301
如果refinement_table_new_flag等于0,或者refinement_table_flag_luma等于0,则不会针对亮度应用细化。
否则,针对从0至(refinement_table_luma_size-1)的所有pt,亮度细化值(R_idx[pt],R_val[pt])如下计算:
·R_idx[pt]被设置为等于(default_idx[pt]+refinement_luma_idx[pt])
·R_val[pt]被设置为等于(NeutralVal+refinement_luma_value[pt])
针对cb或cr分量应用类似的过程。
例如,NeutralVal=128。它可以用于如图21和图24中详细描述的在步骤S130中初始化值R_val。NeutralVal和default_idx[pt]可以是编码器和解码器侧都知道的默认值,在这种情况下它们不需要被发送。在变型中,NeutralVal和default_idx[pt]可以是编码在比特流或信号中的值。
优选地,针对从0至(refinement_table_luma_size-1)的pt,default_idx[pt]被定义为:
default_idx[pt]=(MaxVal/(refinement_table_luma_size-1))*pt
或者
default_idx[pt]=((MaxVal+1)/(refinement_table_luma_size-1))*pt
其对应于从0至(MaxVal)或(Max+1)的等距索引,MaxVal是信号的最大值(例如在用10比特表示该信号时为1023)。
在变型中,在应用映射并且基于由(map_idx[k],map_val[k])对所定义的PWL映射表时,针对k=0至N-1,R_idx[k]由map_idx[k]初始化。换句话说,default_idx[k]等于map_idx[k]。类似地,针对k=0至N-1,R_val[k]可以是针对k=0至N-1由map_val[k]初始化的另一个变型。
语法元素refinement_table_luma_size、refinement_table_cb_size、refinement_table_cr_size可以由默认值定义,在这种情况中,它们不需要被编码在流中。
在亮度PWL模型的等距点的情况中,refinement_luma_idx[pt]不需要被编码。refinement_luma_idx[pt]被设置为0,使得针对从0至(refinement_table_luma_size-1)的pt,R_idx[pt]=default_idx[pt]。对cb或cr表也是如此相同应用。
在变型中,可以为每个表添加语法元素以指示使用哪种细化模式(在分量内(模式1)和/或分量间(模式2)之间)。可以在SPS、PPS、切片、图块或CTU级别上发信号通知语法元素。
在变型中,可以为每个表添加语法元素以指示该表是应用为乘法运算符还是加法运算符。可以在SPS、PPS、切片、图块或CTU级别上发信号通知语法元素。
在实施例中,细化表不被编码在比特流或信号中。相反,默认逆映射表(对应于图18和图19上的映射105所使用的映射表的逆)由细化表修改,并且修改后的逆映射表被编码在比特流或信号中。
在实施例中,仅针对低时间级别的图片对细化表编码。例如,仅针对时间级别0(时间编码层次结构中的最低级别)的图片对表编码。
在实施例中,仅针对诸如帧内图片之类的随机访问图片对细化表进行编码。
在实施例中,仅针对高质量图片对细化表编码,其对应于低于给定值的图片上的平均QP。
在实施例中,仅在细化表编码成本相对于全图片编码成本低于给定值时,才对细化表进行编码。
在实施例中,仅在率失真增益相比于不对细化表编码高于给定值时,才对细化表进行编码。例如,可以应用以下规则:
·如果率失真成本增益大于(0.01*宽度*高度),其中宽度和高度是所考虑分量的维度,则对该表进行编码。
·如果率失真成本增益大于(0.0025*initRD),其中initRD是不应用分量细化时的率失真成本,则对该表进行编码。当率失真成本基于平方差失真时,这近似对应于0.01dB的最小PSNR增益。如果将给定值设置为(0.01*initRD),则当率失真成本基于平方差失真时,这近似对应于0.05dB的最小PSNR增益。所描述的值仅是示例,并且可以修改。
回到图20,在可选步骤S150,细化数据被应用到可能如图19中那样被滤波的重构图片部分上。
为此目的,针对pt=0至N-1,从PWL(R_idx[pt],R_val[pt])的成对点确定查找表LutR。
例如,LutR是通过在PWL(R_idx[pt],R_val[pt])和(R_idx[pt+1],R_val[pt+1])的每对点之间进行线性插值确定的,如下所示:
针对pt=0至N-2
针对idx=R_idx[pt]至(R_idx[pt+1]-1)
LutR[idx]=R_val[pt]+(R_val[pt+1]-R_val[pt])*(idx-R_idx[pt])/(R_idx[pt+1]-R_idx[pt])
在变型中,LutR如下确定:
针对pt=0至N-2
针对idx=R_idx[pt]至(R_idx[pt+1]-1)
LutR[idx]=(R_val[pt]+R_val[pt+1])/2
细化模式的两个示例如下:
·模式1-分量内细化。在模式1中,独立于其它分量执行细化。信号Srec(p)如下细化:
Sout(p)=LutR[Srec(p)]/NeutralVal*Srec(p)
其中Srec(p)是要在图片部分中位置p处细化的重构信号,并且对应于来自环内滤波器或可能来自逆映射的信号,而Sout(p)是细化后的信号。这里认为信号Srec和Sout使用相同的比特深度。当对两个信号使用不同的比特深度时(即Bout用于Sout且Brec用于Srec),可以应用与比特深度差相关的缩放因子。例如,当Sout的比特深度Bout大于Srec的比特深度Brec时,如下采用公式:
Sout(p)=2(Bout-Brec)*LutR[Srec(p)]/NeutralVal*Srec(p)
缩放因子可以直接集成在LutR值中。例如,当Sout的比特深度Bout低于Srec的比特深度Brec时,如下采用公式:
Sout(p)=LutR[Srec(p)]/NeutralVal*Srec(p)/2(Brec-Bout)
缩放因子可以直接集成在LutR值中。
有利地,模式1被用于亮度分量。
·模式2-分量间细化。在模式2中,细化是针对一个分量C0进行的,并且取决于另一个分量C1。信号Srec_C0(p)如下细化:
Sout(p)=offset+LutR[Srec_C1(p)]/NeutralVal*(Srec_C0(p)-offset)
其中例如将offset设置为(MaxVal/2),Srec_C0(p)是要细化的分量C0的重构信号,p是图片部分中的样本位置。MaxVal是信号Srec_C0的最大值,并计算为(2B-1),其中B是信号的比特深度。Srec_C1(p)是分量C1的重构信号。Srec_C1(p)可以是来自环内滤波器或来自逆映射的信号。在由环内滤波器滤波之后,Srec_C1(p)也可以被进一步滤波,例如用低通滤波器。在此认为信号Srec_C0、Srec_C1和Sout使用相同的比特深度。有利地,模式2可以应用于色度分量并且取决于亮度分量。当Sout的比特深度Bout高于Srec_C0和Srec_C1的比特深度Brec时,如下采用公式:
Sout(p)=2(Bout-Brec)*(offset+LutR[Srec_C1(p)]/NeutralVal*(Srec_C0(p)-offset))
当Sout的比特深度Bout低于Srec_C0和Srec_C1的比特深度Brec时,如下采用公式:
Sout(p)=(offset+LutR[Srec_C1(p)]/NeutralVal*(Srec_C0(p)-offset))/2(Bout-Brec)
最小和最大信号值(对于10比特信号典型地为0和1023)之间的舍入和裁剪最终应用于细化值Sout(p)。
在上述实施例中,该细化用作乘法运算符。
在变型中,该细化用作加法运算符。在这种情况下,在模式1中,信号Srec(p)如下细化:
οSout(p)=LutR[Srec(p)]/NeutralVal+Srec(p)
在这种情况中,在模式2中,信号Srec_C0(p)如下细化:
οSout(p)=LutR[Srec_C1(p)]/NeutralVal+Srec_C0(p)
针对NeutralVal=64和N=17,针对色度分量Cb和Cr,跨分量细化表值的示例如下所示:
Cb
k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
R_idx[k] 0 64 128 192 256 320 384 448 512 576 640 702 766 830 896 960 1024
R_val[k] 64 64 64 52 58 63 66 65 62 66 66 64 72 49 64 64 64
Cr
k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
R_idx[k] 0 64 128 192 256 320 384 448 512 576 640 702 766 830 896 960 1024
R_val[k] 64 64 62 61 63 66 65 66 64 60 70 64 64 41 64 64 64
返回图20,该方法结束于步骤S160。
图21示出了说明步骤S130的更多细节的示例的流程图。细化数据可以在给定图片区域A(例如切片、图块或CTU)上或在整个图片上确定。可以通过由N对(R_idx[k],R_val[k]),k=0至N-1定义的分段线性模型(PWL)来对细化数据R有利地进行建模。在图22中图示了PWL模型的示例,其中N=6(k∈{0,1,2,3,5})。每对定义PWL模型的一个枢轴点。
初始化值R_idx和R_val(步骤S1300)。典型地,针对k=0至N-1,初始化R_idx[k],以便在连续索引之间存在等距的空间,即(R_idx[k+1]-R_idx[k])=D,其中D=Range/(N-1),Range是要细化的信号的范围(例如,针对以10比特表示的信号为1024)。在示例中,N=17或33。用值NeutralVal初始化值R_val,该值被定义为使得细化不会改变信号,例如128。在变型中,当应用映射并且基于由(map_idx[k],map_val[k])对所定义的PWL映射表时,针对k=0至N-1,由(map_idx[k],map_val[k])初始化(R_idx[k],R_val[k])。
在图21的实施例中,仅确定值R_val[k]。值R_idx[k]固定为其初始值。使用如在S1300中初始化的R来计算(步骤1301)初始率失真成本initRD。初始率失真成本initRD的计算如下:
initRD=L*Cost(R)+∑pinAdist(Sin(p),Sout(p)) (等式1)
其中:
-R是S1300中初始化的细化数据,
-A是针对其执行细化的图片区域;
-Sin(p)如下定义:
当没有应用映射时,Sin(p)是原始图片区域中像素p的样本值;
当应用映射并且细化处于循环之外时(图18),Sin(p)是原始图片区域中像素p的样本值;
当应用映射并且细化处于循环中时(图19),Sin(p)是映射的原始图片区域中像素p的样本值;
-Sout(p)是细化后的图片区域中像素p的样本值;
-dist(x,y)是样本值x和样本值y之间的失真,例如该失真是平方差(x-y)2;其它可能的失真函数是绝对差|x-y|,或者基于面向主观的度量的失真,诸如SSIM(Z.Wang、A.C.Bovik、H.R.Sheikh和E.P.Simoncelli,“图像质量评估:从错误可见性到结构相似性”,IEEE图像处理学报,第13卷,第4期,第600-612页,2004年4月),或者也可以使用SSIM的变型;
-Cost(R)是对细化数据R和细化图片区域进行编码的编码成本;以及
-L是与图片区域A相关联的值。有利地,其线性地取决于2(QP/6),其中,当在图片区域A内使用单个量化参数值时,QP是量化参数,或者当在图片区域A内使用不同的量化参数值时,QP表示应用于图片区域A的量化参数。例如,QP是在区域A的块内使用的QP的平均值。
在使用值NeutralVal初始化值R_val的情况下,可以用图片区域的编码成本来计算初始率失真成本initRD,而无需细化数据的编码成本。
在步骤S1302,将参数bestRD初始化为initRD。然后在步骤S1303确定细化数据R。在步骤S1304,执行PWL模型R的连续枢轴点的索引pt上的循环。在步骤S1305,将参数bestVal和initVal初始化为R_val[pt]。在步骤S1306执行R_val[pt]的各个值的循环,即从值(initVal-Val0)到值(initVal+Val1),其中Val0和Val1是预定义的参数。典型值Val0=Val1=NeutralVal/4。在步骤S1307用当前R(具有当前R_val[pt])使用等式1计算率失真成本curRD。在步骤S1308比较curRD和bestRD。如果curRD低于bestRD,则将bestRD设置为curRD,并将bestValue设置为R_val[pt]。否则,该方法在步骤S1310处继续。在步骤S1310,检查R_val[pt]的值上的循环是否结束。在循环结束的情况下,在步骤S1311将R_val[pt]设置为bestValue。在步骤S1312,检查pt值上的循环是否结束。在循环结束的情况下,当前R是输出细化数据。
步骤S1303可以被迭代n次,n是其值是固定的整数,例如n=3。图23图示了R_val的确定。虚线表示更新R_val之后的PWL。
图24表示图21的过程的变型。在图24的实施例中,仅确定值R_idx[k]。值R_val[k]固定为其初始值。该过程使用初始R_idx和R_val数据(例如来自图21的方法)作为输入。在步骤S1401使用(等式1)计算初始率失真成本initRD。在步骤S1402,将参数bestRD初始化为initRD。然后在步骤S1403确定细化数据R。在步骤S1404,执行PWL模型R的连续枢轴点的索引pt上的循环。在步骤S1405,将参数bestIdx和initIdx初始化为R_idx[pt]。在步骤S1406,执行R_idx[pt]的各个值(从initIdx-idxVal0到initIdx+idxVal1)上的循环,其中idxVal0和idxVal1是已定义的值,例如idxVal0=idxVal1=D/4,其中D=Range/(N-1),Range是要细化的信号范围(例如,对于以10比特表示的信号为1024)。在步骤S1407用当前R(具有当前R_idx[pt])使用等式1来计算率失真成本curRD。在步骤S1408比较curRD和bestRD。如果curRD低于bestRD,则将bestRD设置为curRD,并将bestIdx设置为R_idx[pt]。否则,该方法在步骤S1310处继续。在步骤S1410,检查R_idx[pt]的值上的循环是否结束。在循环结束的情况下,在步骤S1411将R_idx[pt]设置为bestIdx。在步骤S1412,检查在pt值上的循环是否结束。在循环结束的情况下,当前R是输出细化数据。步骤S1403可以被迭代n次,n是其值是固定的整数,例如n=3。
图25图示了R_idx的确定。虚线表示R_idx更新之后的PWL。
图26图示了R_idx和R_val的确定。虚线表示R_val和R_idx更新之后的PWL。
图27表示根据特定且非限制性实施例的、被配置为从比特流或信号解码图片以获得经解码图片的接收机2000的架构的示例。接收机2000包括一个或多个处理器2005,其可以包括例如CPU、GPU和/或DSP(数字信号处理器的英文缩写),以及内部存储器2030(例如RAM、ROM和/或EPROM)。接收机2000包括一个或多个通信接口2010(例如,键盘、鼠标、触摸板、网络摄像头),每个适于显示输出信息和/或允许用户输入命令和/或数据(例如,经解码图片);以及可以在接收机2000外部的电源2020。接收机2000还可以包括一个或多个网络接口(未示出)。解码器模块2040表示可以被包括在设备中以执行解码功能的模块。另外,解码器模块2040可以被实现为接收机2000的单独的元件,或者可以作为本领域技术人员公知的硬件和软件的组合被并入处理器2005中。
可以从源获得比特流或信号。根据不同的实施例,源可以是但不限于:
-本地存储器,例如视频存储器、RAM、闪存、硬盘;
-存储接口,例如与大容量存储器、ROM、光盘或磁性支撑件的接口;
-通信接口,例如,有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或蓝牙接口);以及
-图像捕获电路(例如,诸如例如CCD(或电荷耦合器件)或CMOS(或互补金属氧化物半导体)之类的传感器)。
根据不同的实施例,经解码图片可以被发送到目的地,例如显示设备。作为示例,经解码图片被存储在远程或本地存储器中,例如视频存储器或RAM、硬盘。在变型中,经解码图片被发送到存储接口,例如与大容量存储器、ROM、闪存、光盘或磁性支撑件的接口,和/或通过通信接口(例如到点对点链路、通信总线、点到多点链路或广域网的接口)发送。
根据实施例的非限制性示例,接收机2000还包括存储在存储器2030中的计算机程序。该计算机程序包括指令,当由接收机2000,特别是由处理器2005执行该指令时,使接收机能够执行参考图31描述的解码方法。根据变型,计算机程序在非暂时性数字数据支撑件上被存储接收机2000的外部,例如存储在诸如HDD、CD-ROM、DVD、只读和/或DVD驱动器和/或DVD读/写驱动器之类的外部存储介质上,这些都是本领域中公知的。接收机2000因此包括读取计算机程序的机制。此外,接收机2000可以通过相对应的USB端口(未示出)访问一个或多个通用串行总线(USB)类型的存储设备(例如,“记忆棒”)。
根据实施例的一个或多个非限制性示例,接收机2000可以是但不限于:
-移动设备;
-通信设备;
-游戏设备;
-机顶盒;
-电视机;
-平板(或平板计算机);
-膝上型计算机;
-视频播放器,例如蓝光播放器、DVD播放器;
-显示器;以及
-解码芯片或解码设备/装置。
图28图示了适用于执行图31的解码方法的(例如HEVC类型的)视频解码器200的实施例的示例的框图。视频解码器200是接收机2000或这样的接收机2000的一部分的示例。在解码器200的实施例的所示示例中,如下所述,由解码器元件对比特流或信号进行解码。视频解码器200通常执行与图17中描述的编码遍历相对的解码遍历,该编码遍历执行视频解码作为对视频数据编码的一部分。
特别地,解码器的输入包括视频比特流或信号,其可以由视频编码器100生成。该比特流或信号首先经熵解码(230),以获得变换系数、运动矢量和其它编码信息,例如细化数据。对变换系数进行解量化(240)并进行逆变换(250)以解码残差。然后,将经解码的残差与预测的块(也称为预测器)组合(255)以获得经解码/重构的图片块。可以从帧内预测(260)或运动补偿预测(即帧间预测)(275)获得(270)预测的块。如上所述,可以在运动补偿期间使用AMVP和合并模式技术,运动补偿可以使用插值滤波器来计算参考块的子整数样本的插值。环内滤波器(265)被应用于重构的图片。环内滤波器可以包括解块滤波器和SAO滤波器。滤波后的图片被存储在参考图片缓冲器(280)。细化(290)可能经滤波的重构图片。细化在解码循环之外,并用作后处理过程。
图29图示了图28的视频解码器200的变型201。与图28的模块相同的图29的模块用相同的附图标记来标注并且不再进一步描述。对滤波后的重构图片(即环内滤波器的输出)进行逆映射(285)。逆映射(285)是应用于编码器侧的映射(105)的逆过程。逆映射可以使用从比特流或信号解码的逆映射表或默认逆映射表。使用从比特流或信号解码(230)的细化数据来细化(290)逆映射的图片。
在变型中,逆映射和细化被合并在单个模块中,该模块使用从比特流或信号解码的逆映射表来应用逆映射,其中,在编码器中对逆映射表进行修改以考虑细化数据。在变型中,对于正在处理的给定分量,应用查找表LutComb来执行逆映射和细化过程,并且该查找表被构建为从映射表推导出的查找表LutInvMap和从细化表LutR推导出的查找表的级联:
针对x=0至MaxVal,LutComb[x]=LutR[LutInvMap[x]]
在该实施例中,细化过程在解码循环之外。因此,细化过程仅在解码器中用作后处理。
图30图示了图28的视频解码器200的变型202。与图28的模块相同的图30的模块用相同的附图标记来标注并且不再进一步描述。从比特流或信号解码细化数据(230)。使用经解码的细化数据来细化(290)滤波后的重构图片。细化图片而不是滤波后的重构图片被存储在参考图片缓冲器(280)中。模块290可以被插入在不同的位置。可以在环内滤波器之前或在至少两个环内滤波器的情况下在环内滤波器之间(例如在DBF之后和SAO之前)插入细化模块290。细化的图片可以可选地被逆映射(285)。在该实施例中,细化过程处于解码循环中。
图31表示根据特定且非限制性实施例的用于从比特流或信号解码图片的方法的流程图。该方法开始于步骤S200。在步骤S210,诸如解码器200的接收机2000访问比特流或信号。在步骤S220,接收机从比特流或信号解码图片部分,以获得经解码图片部分。为此目的,对图片部分的块进行解码。对块解码通常但非必需包括对表示该块的比特流或信号的部分进行熵解码以获得变换系数块,对该变换系数块进行解量化和逆变换以获得残差块,并向该残差块加上预测器以获得经解码块。然后,经解码图片部分可以如图28-图30中由环内滤波器进行滤波,并且还如图29中被逆映射。在步骤S230,从比特流或信号解码细化数据。该步骤是编码步骤S140的逆步骤。关于步骤S140描述的所有变型和实施例都适用于步骤S230。在步骤S240,对经解码图片进行细化。该步骤与编码器侧的细化步骤S150相同。
图32中示出了实施例的另一示例,该实施例是用于对视频数据进行编码的方法,该方法包括提供细化模式能力。在图32中,在3210处处理诸如包括在数字视频信号或比特流中的数据之类的视频数据,以识别获得与使用如本文描述的每个块的细化模式和使用除了细化模式之外的模式(例如,不细化)对视频数据(诸如图片部分)进行编码相关联的成本。然后,在3220,基于成本对视频数据进行编码。例如,可以获得针对使用和不使用细化模式二者进行编码的成本(诸如率失真成本)。如果细化模式的使用得到指示编码的改进的率失真成本,则可以使用细化模式进行编码。指示没有受限改进的改进的率失真成本可能导致不使用细化模式或使用不同的模式,该受限改进不证明增加细化模式的复杂性。可以发生用于获得成本和用于对视频数据进行编码的视频数据的处理,例如如上关于本文中描述的一个或多个实施例所描述的。经编码视频数据从3220输出。
图33示出了用于解码视频数据的方法的实施例的示例。根据本文描述的一个或多个实施例,在视频数据的编码期间在3310处对经编码视频数据(例如,数字数据信号或比特流)进行处理,以获得使用细化模式的指示(例如,每个块的细化模式)。然后,在3320处,基于指示来对诸如经编码图片部分之类的经编码视频数据进行解码,例如,如本文描述的基于在编码期间已经使用的细化模式进行解码。可以发生用于获得成本和用于对视频数据进行编码的视频数据的处理,例如如上关于本文中描述的一个或多个实施例所描述的。经解码视频数据从3320输出。
贯穿本公开,各种实现方式涉及解码。如本申请中所使用的,“解码”可以涵盖例如对接收到的经编码序列执行的全部或部分过程,以便产生适合于显示的最终输出。在各种实施例中,这样的过程包括典型地由解码器执行的一个或多个过程,例如,熵解码、逆量化、逆变换和差分解码。在各种实施例中,这样的过程还包括或者可替代地包括由本申请中描述的各种实现方式的解码器执行的过程,例如,从平铺(打包)的图片中提取图片,确定要使用的上采样滤波器,然后对图片进行上采样,以及将图片翻转回其预期的方向。
作为进一步的示例,在一个实施例中,“解码”仅是指熵解码,在另一个实施例中,“解码”仅是指差分解码,而在另一个实施例中,“解码”是指熵解码和差分解码的组合。基于特定描述的上下文,短语“解码过程”是旨在专门指代操作的子集还是广义上指代更广泛的解码过程将是显而易见的,并且相信是本领域技术人员充分理解的。
同样,各种实现方式涉及编码。以与上述关于“解码”的讨论类似的方式,在本申请中使用的“编码”可以涵盖例如对输入视频序列执行的全部或部分过程,以便产生经编码比特流或信号。在各种实施例中,这样的过程包括通常由编码器执行的一个或多个过程,例如,分割、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还包括或者替代地包括由本申请中描述的各种实现方式的编码器执行的过程。
作为进一步的示例,在一个实施例中,“编码”仅是指熵编码,在另一个实施例中,“编码”仅是指差分编码,在另一个实施例中,“编码”是指差分编码和熵编码的组合。基于特定描述的上下文,短语“编码过程”是旨在专门指代操作的子集还是广义上指代更广泛的编码过程将是显而易见的,并且相信是本领域技术人员充分理解的。
注意,本文所使用的语法元素是描述性术语。因此,它们不排除使用其语法元素名称。
当将附图作为流程图呈现时,应当理解,其还提供了相应装置的框图。类似地,当将附图作为框图呈现时,应当理解,其还提供了相对应方法/过程的流程图。
各个实施例涉及率失真优化。特别是在编码过程期间,经常给定计算复杂性的约束,通常要考虑速率和失真之间的平衡或折衷。通常将率失真优化公式化为最小化率失真函数,该函数是速率和失真的加权和。有多种解决率失真优化问题的方法。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或编码参数值,并对其编码成本以及编码和解码后的重构信号的相关失真进行完整评估。也可以使用更快的方法,以节省编码复杂性,特别是基于预测或预测残差信号而不是重构的信号的近似失真的计算。也可以使用这两种方法的混合,诸如仅针对某些可能的编码选项使用近似失真,而针对其它编码选项使用完整失真。其它方法仅评估可能的编码选项的子集。更一般而言,很多方法采用多种不同技术中的任何一种来执行优化,但是优化不必须是对编码成本和相关失真的完整评估。
本文描述的实现方式和方面可以例如以方法或过程、装置、软件程序、数据流或信号来实现。即使仅在单一形式的实现方式的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现方式也可以以其它形式(例如,装置或程序)来实现。装置可以在例如适当的硬件、软件和固件中实现。方法可以在例如处理器中实现,该处理器通常是指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”),以及其它有助于终端用户之间信息通信的设备。
对“一个实施例”或“实施例”或“一个实现方式”或“实现方式”以及它们的其它变型的引用,意味着在至少一个实施例中包括结合实施例描述的特定特征、结构、特性等。因此,在本文中各处出现的短语“在一个实施例中”或“在实施例中”或“在一个实现方式中”或“在实现方式中”以及任何其它变型的出现不必须全部指代相同的实施例。
另外,本文档可能涉及“获得”各种信息。获得信息可以包括例如确定信息、估计信息、计算信息、预测信息或从存储器取回信息中的一个或多个。
此外,本文档可能涉及“访问”各种信息。访问信息可以包括例如接收信息、取回信息(例如从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息的一个或多个。
另外,本文档可能涉及“接收”各种信息。接收与“访问”一样,旨在是广义的术语。接收信息可以包括例如访问信息或取回信息(例如,从存储器)中的一个或多个。此外,在诸如例如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息之类的操作期间,典型地以一种或另一种方式涉及“接收”。
应当了解,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况下使用以下“/”、“和/或”和“…中的至少一个”中的任何一个,旨在涵盖仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者同时选择两个选项(A和B)。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这种措词旨在涵盖仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者仅选择第三个列出的选项(C),或者仅选择第一个和第二个列出的选项(A和B),或者仅选择第一个和第三个列出的选项(A和C),或者仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。如对于本领域和相关领域的普通技术人员显而易见的那样,这可以针对如所列出的那样多的项目扩展。
而且,如本文所使用的,词语“发信号通知”尤其是指向相对应的解码器指示一些东西。例如,在某些实施例中,编码器发信号通知用于细化的多个参数中的特定一个。以这种方式,在实施例中,在编码器侧和解码器侧都使用相同的参数。因此,例如,编码器可以向解码器发送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其它参数,则可以使用信令而无需发送(隐式信令)以简单地允许解码器知道并选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。应当了解,可以以多种方式来完成信令。例如,在各种实施例中,一个或多个语法元素、标志等被用于向相对应的解码器发信号通知信息。尽管前面涉及词语“发信号通知(signal)”的动词形式,但词语“信号(signal)”在本文中也可以用作名词。
如对于本领域普通技术人员将显而易见的,实现方式可以产生被格式化以携带信息的各种不同信号,这些信号例如可以被存储或发送。该信息可以包括例如用于执行方法的指令或由所描述的实现方式之一产生的数据。例如,信号可以被格式化以携带所描述的实施例的比特流或信号。可以将这种信号格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且用经编码的数据流来调制载波。信号携带的信息可以是例如模拟或数字信息。众所周知,该信号可以通过各种不同的有线或无线链路发送。信号可以存储在处理器可读介质上。
已经描述了各种实施例。实施例可以跨越各种不同的权利要求类别和类型单独或以任何组合包括以下任何特征或实体中的任何一个:
·应用不依赖于相邻重构样本的细化。
·基于具有在比特流中发送的一个或多个细化参数的全局函数来应用细化。
·在编码器和/或解码器中提供一种模式,该模式包括色度分量的跨分量细化。
·在编码器和/或解码器中提供一种模式,该模式包括亮度分量的分量内细化。
·在解码器和/或编码器中启用每个块的细化激活。
·针对特定分量使用多个函数并且逐块选择细化函数来应用细化。
·在解码器和/或编码器中启用在编码在比特流或信号中的可能参数集合中针对每个块选择要应用于块的细化参数。
·在每个块的基础上对重构信号应用细化。
·包括细化步骤作为环内或环外滤波器,以改进解码后的重构信号。
·使解码器和/或编码器中的细化基于编码在比特流或信号中的细化表。
·通过避免冗余中性值来减少表编码成本。
·在信令中插入使解码器能够提供如本文所描述的细化的语法元素。
·在语法元素中包括与细化表相关的标识符,诸如表对标识符。
·提供细化表的尺寸限制以减少编码成本。
·在语法元素中包括指示是否从相邻块复制当前块的细化信息的一个或多个语法元素。
·基于这些语法元素,选择要在解码器处应用的细化。
·包括一个或多个描述的语法元素或其变型的比特流或信号。
·在信令中插入使解码器能够以与编码器使用的方式相对应的方式提供细化的语法元素。
·创建和/或发送和/或接收和/或解码包括一个或多个描述的语法元素或其变型的比特流或信号。
·根据所描述的实施例中的任何一个执行细化的电视、机顶盒、蜂窝电话、平板或其它电子设备。
·根据所描述的实施例中的任何一个执行细化,并且显示(例如,使用监视器、屏幕或其它类型的显示器)结果图像的电视、机顶盒、蜂窝电话、平板或其它电子设备。
·调谐(例如,使用调谐器)频道以接收包括经编码图像的信号,并根据所描述的实施例中的任何一个执行细化的电视、机顶盒、蜂窝电话、平板或其它电子设备。
·通过空中接收(例如,使用天线)包括经编码图像的信号,并根据所描述的实施例中的任何一个执行细化的电视、机顶盒、蜂窝电话、平板或其它电子设备。
·存储程序代码的计算机程序产品,该程序代码在由计算机执行时根据所描述的实施例中的任何一个实现细化。
·一种非暂时性计算机可读介质,包括可执行程序指令,该可执行程序指令使执行该指令的计算机实现根据所描述的实施例的任何一个的细化。
贯穿本公开,还支持和构想了各种其它一般性的以及特定的实施例。例如,实施例的至少一个示例包括一种编码方法,该方法包括:获得用于以下的成本:(i)基于针对每个块将细化模式应用于重构信号来对图片部分进行编码,其中,该细化模式基于细化参数,以及(ii)使用除了该细化模式之外的模式对图片部分进行编码;以及基于该成本对图片部分进行编码。
至少一个实施例的另一个示例包括一种装置,该装置包括一个或多个处理器,该处理器被配置为:获得用于以下的成本:基于针对每个块将细化模式应用于重构信号来对图片部分进行编码,其中,该细化模式基于细化参数,以及不使用该细化模式对图片部分进行编码,以及基于该成本对图片部分进行编码。
至少一个实施例的另一个示例包括一种解码方法,该解码方法包括:获得在图片部分的编码期间针对每个块将细化模式应用于重构信号的指示,其中,该细化模式基于细化参数;以及基于该指示对经编码图片部分进行解码。
至少一个实施例的另一个示例包括一种装置,其包括一个或多个处理器,该处理器被配置为:获得在经编码图片部分的编码期间针对每个块将细化模式应用于重构信号的指示,其中,该细化模式基于细化参数,以及基于该指示对经编码图片部分进行解码。
至少一个实施例的另一个示例包括信号,其被格式化为包括表示经编码图片部分的数据;以及提供在经编码图片部分的编码期间基于细化参数针对每个块将细化模式应用于重构信号的指示的数据。
至少一个实施例的另一个示例包括比特流,其被格式化为包括表示经编码图片部分的数据;以及提供在经编码图片部分的编码期间基于细化参数针对每个块将细化模式应用于重构信号的指示的数据。
在本文所描述的涉及细化模式的至少一个实施例中,该细化模式可以包括分量细化。
在本文所描述的涉及细化模式的至少一个实施例中,该细化模式可以包括跨分量细化或分量内细化中的至少一种。
在本文所描述的涉及跨分量细化或分量内细化的至少一个实施例中,跨分量细化可以包括跨分量色度细化,并且分量内细化可以包括分量内亮度细化。
在本文所描述的涉及细化模式的至少一个实施例中,该细化模式可以包括启用针对每个块对细化参数的选择。
在本文所描述的涉及细化参数的至少一个实施例中,该细化参数可以包括包含在细化表中的一个或多个细化参数。
在本文所描述的涉及基于应用细化模式和细化参数对图片部分进行编码的至少一个实施例中,细化参数可以以块为基础,基于使用细化模式对图片部分进行编码时的成本的改进从多个细化参数中选择。
根据另一个实施例,提出了一种用于对视频数据进行编码的方法,该方法包括:获得用于以下的成本:(i)使用每个块的细化模式对图片部分进行编码,其中,该细化模式基于细化参数,以及(ii)使用除了该细化模式之外的模式对图片部分进行编码;以及基于该成本对图片部分进行编码。
根据另一个实施例,提出了一种用于对视频数据进行解码的方法,该解码方法包括:获得在经编码图片部分的编码期间基于细化参数使用每个块的细化模式的指示;以及基于该指示对经编码图片部分进行解码。
根据另一个实施例,提出了一种用于对视频数据进行解码的装置,该装置包括一个或多个处理器,该处理器被配置为:获得在经编码图片部分的编码期间基于细化参数使用每个块的细化模式的指示;以及基于该指示对经编码图片部分进行解码。
根据另一个实施例,提出了一种信号格式,该信号格式包括表示经编码图片部分的数据;以及提供在经编码图片部分的编码期间基于细化参数使用每个块的细化模式的指示的数据。
根据另一个实施例,提出了一种比特流,该比特流被格式化为包括经编码视频数据,其中,经编码视频数据通过以下方式编码:获得用于以下的成本:(i)使用每个块的细化模式对图片部分进行编码,该细化模式基于细化参数;以及(ii)使用除了该细化模式之外的模式对图片部分进行编码;以及基于该成本对图片部分进行编码。
根据另一个实施例,本文描述的细化模式可以包括分量细化。
根据另一个实施例,本文描述的细化模式可以包括分量细化,其中,该分量细化包括跨分量细化和分量间细化和分量内细化中的至少一个。
根据另一个实施例,本文描述的细化模式可以包括分量间色度细化。
根据另一个实施例,本文描述的细化模式可以包括分量内亮度细化。
根据另一个实施例,本文描述的细化模式可以包括启用针对每个块对细化参数的选择。
根据另一个实施例,本文描述的细化模式可以基于细化参数,其包括包含在色度细化表中的一个或多个色度细化参数。
根据另一个实施例,根据本公开的方法、装置或信号可以包括使用基个细化参数的细化模式对视频数据进行编码和/或解码,其中,该编码和/或解码包括基于在使用该细化模式对图片部分进行编码和/或解码时的成本的改进,对图片部分和该细化参数进行编码和/或解码。
根据另一个实施例,根据本公开的方法、装置或信号可以包括基于在编码和/或解码期间使用细化模式并确定与使用该细化模式相关联的成本,对视频数据进行编码和/或解码,其中,该成本可以包括率失真成本,并且确定该成本可以包括确定使用该细化模式对图片部分进行编码时的率失真成本。
通常,用于对视频数据进行编码和/或解码的设备的至少一个实施例可以包括本文所描述的装置,并且可以包括以下至少之一:(i)被配置为接收信号的天线,该信号包括表示图像的数据,(ii)频带限制器,被配置为将接收到的信号限制到包括表示该图像的数据的频带,或者(iii)显示器,被配置为显示该图像。
通常,用于对视频数据进行编码和/或解码的设备的至少一个实施例可以包括电视、蜂窝电话、平板、机顶盒和网关设备中的至少一个。
本实施例中的一个或多个还提供了一种计算机可读存储介质或计算机程序产品,其上存储有用于根据在此描述的方法或装置对视频数据进行编码或解码的指令。本实施例还提供了一种计算机可读存储介质或计算机程序产品,其上存储有根据在此描述的方法或装置生成的比特流。本实施例还提供了用于发送或接收根据在此描述的方法或装置生成的比特流的方法和装置。

Claims (17)

1.一种编码方法,包括:
获得用于以下的成本:(i)基于针对每个块将细化模式应用于重构信号来对图片部分进行编码,其中,所述细化模式基于细化参数,以及(ii)使用除了所述细化模式之外的模式对所述图片部分进行编码;以及
基于所述成本对所述图片部分进行编码。
2.一种装置,包括:
一个或多个处理器,被配置为:
获得用于以下的成本:基于针对每个块将细化模式应用于重构信号来对图片部分进行编码,其中,所述细化模式基于细化参数,以及不使用所述细化模式对所述图片部分进行编码;以及
基于所述成本对所述图片部分进行编码。
3.一种解码方法,包括:
获得在图片部分的编码期间针对每个块将细化模式应用于重构信号的指示,其中,所述细化模式基于细化参数;以及
基于所述指示对经编码图片部分进行解码。
4.一种装置,包括:
一个或多个处理器,被配置为:
获得在经编码图片部分的编码期间针对每个块将细化模式应用于重构信号的指示,其中,所述细化模式基于细化参数;以及
基于所述指示对所述经编码图片部分进行解码。
5.一种信号,被格式化为包括:
表示经编码图片部分的数据;以及
提供指示的数据,所述指示是在所述经编码图片部分的编码期间基于细化参数针对每个块将细化模式应用于重构信号的指示。
6.一种比特流,被格式化为包括:
表示经编码图片部分的数据;以及
提供指示的数据,所述指示是在所述经编码图片部分的编码期间基于细化参数针对每个块将细化模式应用于重构信号的指示。
7.根据权利要求1或3所述的方法,或者根据权利要求2或4所述的装置,或者根据权利要求5所述的信号,或者根据权利要求6所述的比特流,其中,所述细化模式包括分量细化。
8.根据权利要求1、3或7中的任一项所述的方法,或者根据权利要求2、4或7中的任一项所述的装置,或者根据权利要求5或7所述的信号,或者根据权利要求6或7所述的比特流,其中,所述细化模式包括跨分量细化或分量内细化中的至少一个。
9.根据权利要求8所述的方法、装置、信号或比特流,其中,所述跨分量细化包括跨分量色度细化,并且所述分量内细化包括分量内亮度细化。
10.根据权利要求1、3或7-9中的任一项所述的方法,或者根据权利要求2、4或7-9中的任一项所述的装置,或者根据权利要求5或7-9中的任一项所述的信号,或者根据权利要求6-9中的任一项所述的比特流,其中,所述细化模式包括启用针对每个块对所述细化参数的选择。
11.根据权利要求1、3或7-10中的任一项所述的方法,或者根据权利要求2、4或7-10中的任一项所述的装置,或者根据权利要求5或7-10中的任一项所述的信号,或者根据权利要求6-10中的任一项所述的比特流,其中,所述细化参数包括包含在细化表中的一个或多个细化参数。
12.根据权利要求1或7-11中的任一项所述的方法,或者根据权利要求2或7-11中的任一项所述的装置,其中,所述编码包括对所述图片部分进行编码,并且所述细化参数是基于在使用所述细化模式对所述图片部分进行编码时的所述成本的改进、以块为基础从多个细化参数中选择的。
13.根据权利要求12所述的方法或装置,其中,所述成本包括率失真成本,并且所述改进包括在使用所述细化模式对所述图片部分进行编码时的所述率失真成本的降低。
14.一种计算机程序产品,包括用于使一个或多个处理器执行权利要求1、3或7-13中的任一项所述的方法的指令。
15.一种非暂时性计算机可读介质,存储可执行程序指令以使执行所述指令的计算机执行根据权利要求1、3或7-13中的任一项的方法。
16.一种设备,包括:
根据权利要求2、4或7至13中的任一项的装置;以及
以下中的至少一个:(i)天线,被配置为接收信号,所述信号包括表示图像的数据,(ii)频带限制器,被配置为将接收到的信号限制到包括表示所述图像的所述数据的频带,或者(iii)显示器,被配置为显示所述图像。
17.根据权利要求16所述的设备,其中,所述设备包括电视、蜂窝电话、平板、机顶盒和网关设备中的至少一个。
CN201980054618.7A 2018-06-21 2019-06-11 视频编码和解码中的细化模式处理 Pending CN112789853A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18305785 2018-06-21
EP18305785.0 2018-06-21
EP18306226.4A EP3627837A1 (en) 2018-09-21 2018-09-21 Refinement mode processing in video encoding and decoding
EP18306226.4 2018-09-21
PCT/US2019/036474 WO2019245797A1 (en) 2018-06-21 2019-06-11 Refinement mode processing in video encoding and decoding

Publications (1)

Publication Number Publication Date
CN112789853A true CN112789853A (zh) 2021-05-11

Family

ID=67002446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980054618.7A Pending CN112789853A (zh) 2018-06-21 2019-06-11 视频编码和解码中的细化模式处理

Country Status (7)

Country Link
US (2) US11611765B2 (zh)
EP (1) EP3811620A1 (zh)
JP (1) JP2021528004A (zh)
KR (1) KR20210022073A (zh)
CN (1) CN112789853A (zh)
BR (1) BR112020026048A2 (zh)
WO (1) WO2019245797A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146823B2 (en) * 2019-06-25 2021-10-12 Qualcomm Incorporated Signalling chroma quantization parameter (QP) mapping tables
US20220417507A1 (en) * 2019-11-22 2022-12-29 Electronics And Telecommunications Research Institute Video processing method and device using resolution of reference picture, and recording medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103190149A (zh) * 2010-10-29 2013-07-03 Sk电信有限公司 基于四叉树对块滤波器信息进行编码/解码的视频编码/解码的方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2082585A2 (en) * 2006-10-18 2009-07-29 Thomson Licensing Method and apparatus for video coding using prediction data refinement
KR101547041B1 (ko) * 2011-01-12 2015-08-24 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
US9693070B2 (en) * 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
EP2777284B1 (en) 2011-11-11 2018-09-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
JP2013223050A (ja) * 2012-04-13 2013-10-28 Sharp Corp フィルタ装置、復号装置、および符号化装置
TWI652935B (zh) * 2012-09-28 2019-03-01 Vid衡器股份有限公司 視訊編碼方法及裝置
US9143797B2 (en) * 2013-05-29 2015-09-22 Blackberry Limited Lossy data compression with conditional reconstruction refinement
WO2015138008A1 (en) 2014-03-10 2015-09-17 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
US10038919B2 (en) * 2014-05-29 2018-07-31 Apple Inc. In loop chroma deblocking filter
US20160088298A1 (en) 2014-09-22 2016-03-24 Ximin Zhang Video coding rate control including target bitrate and quality control
WO2016178880A1 (en) 2015-05-06 2016-11-10 NGCodec Inc. Intra prediction processor with reduced cost block partitioning and refined intra mode selection
WO2017123487A1 (en) * 2016-01-15 2017-07-20 Vid Scale, Inc. System and method for enhanced motion compensation using adaptive filtering
JP6634936B2 (ja) * 2016-04-05 2020-01-22 富士通株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、画像復号プログラムおよび画像伝送システム
US20210297680A1 (en) 2016-10-12 2021-09-23 Telefonaktiebolaget Lm Ericsson (Publ) Residual refinement of color components
EP3747192A1 (en) 2018-01-29 2020-12-09 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103190149A (zh) * 2010-10-29 2013-07-03 Sk电信有限公司 基于四叉树对块滤波器信息进行编码/解码的视频编码/解码的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P. BORDES, ETAL: "Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor – medium complexity version", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING: SAN DIEGO, US, 10–20 APR. 2018, pages 2 *

Also Published As

Publication number Publication date
JP2021528004A (ja) 2021-10-14
WO2019245797A1 (en) 2019-12-26
BR112020026048A2 (pt) 2021-03-23
KR20210022073A (ko) 2021-03-02
US11611765B2 (en) 2023-03-21
US20210258586A1 (en) 2021-08-19
EP3811620A1 (en) 2021-04-28
US20230188734A1 (en) 2023-06-15

Similar Documents

Publication Publication Date Title
CN113228650B (zh) 基于块的表面的视频编码或解码的量化
CN112970264A (zh) 基于相邻样本相关参数模型的译码模式的简化
CN112352427B (zh) 基于图像块的非对称二元分区的视频编码和解码的方法和装置
CN114208178A (zh) 用于视频编码和解码的二次变换
US20230188734A1 (en) Refinement mode processing in video encoding and decoding
CN114631311A (zh) 将同质语法与编码工具一起使用的方法和装置
CN112740682A (zh) 用于依赖性标量量化的标量量化器决策方案
CN113273215A (zh) 逆映射简化
CN113302924A (zh) 用于视频编码和解码的量化
CN114073077A (zh) 用于小块的高级语法简化工具集
CN113647111A (zh) 环内重整形自适应重整形方向
CN112771874A (zh) 用于画面编码和解码的方法和设备
CN116458154A (zh) 利用几何分区的帧内预测
CN114731423A (zh) 预见要添加到亮度映射斜率值的校正值的色度残差缩放
CN111837385B (zh) 利用重构画面的细化进行编码和解码
CN113170137A (zh) 降低本地邻域的使用的残差译码
CN117280684A (zh) 具有可切换内插滤波器的几何分区
CN115039409A (zh) 用于视频编码和解码的残差处理
CN114930819A (zh) 三角形合并模式中的子块合并候选
CN113261284A (zh) 使用多重变换选择进行视频编码和解码
CN112740683A (zh) 用于在为亮度和色度使用单独的译码树时确定色度量化参数的方法及装置
EP3627837A1 (en) Refinement mode processing in video encoding and decoding
EP3518538A1 (en) A method and a device for encoding and decoding a picture part
CN117716689A (zh) 用于abt的vvc规范性和编码器侧适配
CN118140481A (zh) 利用isp模式对基于模版的帧内模式推导(timd)进行扩展

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