CN113841405B - 用于帧间预测的局部光照补偿的方法和设备 - Google Patents

用于帧间预测的局部光照补偿的方法和设备 Download PDF

Info

Publication number
CN113841405B
CN113841405B CN202080037084.XA CN202080037084A CN113841405B CN 113841405 B CN113841405 B CN 113841405B CN 202080037084 A CN202080037084 A CN 202080037084A CN 113841405 B CN113841405 B CN 113841405B
Authority
CN
China
Prior art keywords
value
block
samples
current block
neighboring samples
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.)
Active
Application number
CN202080037084.XA
Other languages
English (en)
Other versions
CN113841405A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113841405A publication Critical patent/CN113841405A/zh
Application granted granted Critical
Publication of CN113841405B publication Critical patent/CN113841405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

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

Abstract

本公开内容提供了用于帧间预测的局部光照补偿(LIC)的方法和设备,该方法和设备使用MinMax方法来导出针对LIC的线性模型参数。基于当前块的重建相邻样本和参考块的重建相邻样本导出针对LIC的线性模型的参数α和β的值。当满足针对β的值的条件时,在更新针对当前块的帧间预测样本值之前,基于β的值裁剪α的值并且基于裁剪的α的值更新β的值。

Description

用于帧间预测的局部光照补偿的方法和设备
相关申请的交叉引用
本申请要求于2019年5月21日提交的国际专利申请PCT/RU2019/000349和于2019年6月4日提交的国际专利申请PCT/RU2019/000399的优先权,这两个国际专利申请的公开内容通过引用整体并入本文。
技术领域
本申请的实施方式总体上涉及图片处理的领域,并且更具体地涉及用于帧间预测译码的局部光照补偿技术。
背景技术
视频译码(coding)(视频编码和解码)用于广泛的数字视频应用,例如广播数字TV、互联网和移动网络上的视频传输、实时会话应用(例如视频聊天、视频会议)、DVD和蓝光光碟、视频内容采集和编辑***以及安全应用的摄像机。
描绘即使是相对短的视频所需的视频数据量也可能很大,这可能会导致当要通过带宽容量有限的通信网络流式传输或以其他方式传送所述数据时出现困难。因此,视频数据一般在通过现代电信网络传送之前被压缩。当视频存储在存储装置上时,视频的大小也可能是问题,因为存储资源可能有限。视频压缩装置通常在传输或存储之前在源位置处使用软件和/或硬件对视频数据进行译码,从而减少了表示数字视频图像所需的数据的量。经压缩的数据然后在目的地处由对视频数据进行解码的视频解压缩装置接收。由于有限的网络资源和对更高视频质量的不断增长的需求,因此需要提高压缩率而几乎不牺牲图片质量的改进的压缩和解压缩技术。
局部光照补偿(Local illumination compensation,LIC)是通用视频译码(Versatile Video Coding,VVC)中用于改进运动补偿的技术之一。LIC被应用于运动补偿的结果,或者通常地应用于帧间预测的结果。LIC包括通过将预测样本(相应地样本的值)乘以第一参数α(相应地第一参数α的值)并加上第二参数β(相应地第二参数β的值)来调整预测样本。使用最小均方方法从当前块和参考块的相邻样本导出参数α和β。然而,使用最小均方方法或互相关来推导参数α和β是缓慢的,因为其复杂性高。
发明内容
本申请的实施方式提供了根据独立权利要求的用于图片的帧间预测译码(编码和/或解码)的光照补偿的设备和方法。
本公开内容提出使用跨分量线性模型(cross-component linear model,CCLM)MinMax方法来导出针对LIC的线性模型参数。还提出通过引入平均值计算来提高LIC和CCLM两者的性能。所提出的方法可以减少顺序计算的数量,并且可以降低硬件复杂度。
本申请的实施方式有助于有效的光照补偿。与常规的基于互相关的LIC方法相比,本申请的实施方式减少了线性模型参数推导的延迟和复杂性,并且与没有线性模型参数条件裁剪的MinMax(最小最大)方法相比,本申请的实施方式提高了译码效率。
前述和其他目的通过独立权利要求的主题来实现。根据从属权利要求、说明书和附图,其他实现形式是明显的。
根据第一实施方式,本公开内容涉及一种用于帧间预测译码的局部光照补偿(LIC)的方法,该方法包括:
-使用运动补偿(即帧间预测)获得针对当前块的帧间预测样本值;
-基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于至少一个参考块上方的重建相邻样本和至少一个参考块左侧的重建相邻样本中的至少一个导出针对LIC的线性模型的参数α和β的值,其中,至少一个参考块对应于当前块;以及
-基于参数α和β使用线性模型更新针对当前块的帧间预测样本值,
-其中,当满足针对β的值的条件时,在更新针对当前块的帧间预测样本值之前,基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值。
从多个先前已解码图片的多个参考块中选择至少一个参考块,以针对当前块执行帧间预测。在单预测的情况下,仅使用单个先前已解码图片(也称为参考图片)的一个参考块。在双预测的情况下,使用来自两个参考图片的两个参考块。在一个实现中,甚至可以使用两个以上的参考块。参考块的位置(x,y坐标)与当前块的位置之间的偏移(空间偏移)称为运动矢量(motion vector,MV)。
当前块的重建相邻样本可以包括但不限于当前块上方的重建相邻样本和/或当前块左侧的重建相邻样本。参考块的重建相邻样本可以包括但不限于参考块上方的重建相邻样本和/或参考块左侧的重建相邻样本。注意,表述“重建相邻样本”、“模板参考样本”、“模板样本”和“参考样本”在本公开内容中具有基本相同的含义。
由于当前块的参考样本的位置与参考块的参考样本的位置A和B匹配,因此与LMS方法相比,确定参数α和β所需的操作数量可以显著减少。
因此,本公开内容的实施方式提供了参数α和β的简化推导,并且因此提供了简化的LIC。
根据第一实施方式的方面,仅当满足针对β的值的条件时,才在更新针对当前块的帧间预测样本值之前,基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值。
根据第一实施方式的另一方面,当β的绝对值大于阈值Tβ时,裁剪α的值。
根据第一实施方式的另一方面,α的值被如下裁剪:
当β<0时,α的值被设置为等于min(α,αmax);以及/或者
当β>0时,α的值被设置为等于max(α,αmin);
其中,αmax表示α的值的裁剪范围的最大值,以及αmin表示α的值的裁剪范围的最小值。
根据第一实施方式的另一方面,该方法还包括在更新针对当前块的帧间预测样本值之前裁剪β的值。
根据第一实施方式的另一方面,在基于裁剪的α的值更新β的值之后,β的值被裁剪。
根据第一实施方式的另一方面,仅当α的值被裁剪时,β的值才被裁剪。
在裁剪后,保证βclip值的量值不超过样本值的范围的一半,其中,该范围由图片的颜色分量的位深度(bitdepth)决定。
根据第一实施方式的另一方面,通过应用FIR滤波器来处理当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个,以及/或者
通过应用FIR滤波器来处理至少一个参考块上方的重建相邻样本和至少一个参考块左侧的重建相邻样本中的至少一个。
使用不同的(线性或非线性)平滑滤波器对模板样本进行滤波去除和减少了异常值的影响。特别地,系数为[1,2,1]/4和[1,0,2,0,1]/4的FIR(Finite Impulse Response,有限脉冲响应)滤波器可以用于此目的。
根据第一实施方式的另一方面,当使用非仿射运动补偿模型预测当前块时,应用FIR滤波器。
针对仿射运动模型禁用滤波的动机是为了避免针对运动补偿方案的额外计算复杂性。
根据第一实施方式的另一方面,基于当前块的重建相邻样本的第一集合的平均值和至少一个参考块的重建相邻样本的第二集合的平均值来导出β的值。
为了以更高的准确度计算β,可以计算针对当前块和参考块两者的LIC模板的平均值。
根据第一实施方式的另一方面,当前块的重建相邻样本的第一集合的平均值是使用当前块上方的重建相邻样本的集合S1的平均值Meanabove与当前块左侧的重建相邻样本的集合S2的平均值Meanleft的加权和导出的,其中,根据当前块的宽度是否大于当前块的高度,将加权系数w应用于平均值Meanabove或平均值Meanleft;以及
至少一个参考块的重建相邻样本的第二集合的平均值是使用至少一个参考块上方的重建相邻样本的集合S1’的平均值Mean’above与至少一个参考块左侧的重建相邻样本的集合S2’的平均值Mean’left的加权和导出的,其中,根据至少一个参考块的宽度是否大于至少一个参考块的高度,将加权系数w应用于平均值Mean’above或平均值Mean’left
根据第一实施方式的另一方面,基于当前块的可用重建相邻样本的和ST1使用移位操作和乘法来计算当前块的重建相邻样本的第一集合的平均值,其中,移位操作取决于当前块的可用重建相邻样本的数量CT
根据第一实施方式的另一方面,当前块的重建相邻样本的第一集合的平均值计算如下:
平均值=((ST1+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,ST1表示当前块的可用重建相邻样本的和,CT表示当前块的可用重建相邻样本的数量,以及mult表示从查找表中获取的乘数。
根据该方面,LUT乘法和移位可以用于获得当前块的重建相邻样本的平均值。
根据第一实施方式的另一方面,基于至少一个参考块的可用重建相邻样本的和ST2使用移位操作和乘法来计算至少一个参考块的重建相邻样本的第二集合的平均值,其中,移位操作取决于至少一个参考块的可用重建相邻样本的数量CT
根据第一实施方式的另一方面,至少一个参考块的重建相邻样本的第二集合的平均值计算如下:
平均值=((ST2+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,ST2表示至少一个参考块的可用重建相邻样本的和,CT表示至少一个参考块的可用重建相邻样本的数量,以及mult表示从查找表中获取的乘数。
平均值计算不需要乘法或除法并且可以使用加法和移位操作容易地实现。
当计算当前块的可用模板样本的平均值和参考块的可用模板样本的平均值时,可用模板样本的数量CT是相同的,因为它仅取决于当前块的相邻块。
根据第一实施方式的另一方面,当前块的可用重建相邻样本包括当前块上方的可用重建相邻样本和当前块左侧的可用重建相邻样本中的至少一个;以及/或者
至少一个参考块的可用重建相邻样本包括至少一个参考块上方的可用重建相邻样本和至少一个参考块左侧的可用重建相邻样本中的至少一个。
根据第一实施方式的另一方面,当前块上方的重建相邻样本包括与当前块相邻的单行重建样本,以及/或者,
当前块左侧的重建相邻样本包括当前块左侧的单列重建样本。
根据第一实施方式的另一方面,至少一个参考块上方的重建相邻样本包括与至少一个参考块相邻的单行重建样本,以及/或者,
至少一个参考块左侧的重建相邻样本包括至少一个参考块左侧的单列重建样本。
根据第一实施方式的另一方面,提供了一种编码器,其包括用于执行根据第一实施方式的方法中的任何一种方法的处理电路。
根据第一实施方式的另一方面,提供了一种解码器,其包括用于执行根据第一实施方式的方法中的任何一种方法的处理电路。
根据第一实施方式的另一方面,提供了一种包括指令的计算机程序产品,当程序由计算机执行时,所述指令使得计算机执行根据第一实施方式的方法中的任何一种方法。
根据第一实施方式的另一方面,提供了一种解码器,其包括一个或更多个处理器以及耦接至一个或更多个处理器并存储用于由一个或更多个处理器执行的指令的非暂态计算机可读存储介质,其中,所述指令在由一个或更多个处理器执行时将解码器配置成执行根据第一实施方式的方法中的任何一种方法。
根据第一实施方式的另一方面,提供了一种编码器,其包括一个或更多个处理器以及耦接至一个或更多个处理器并存储用于由一个或更多个处理器执行的指令的非暂态计算机可读存储介质,其中,所述指令在由一个或更多个处理器执行时将编码器配置成执行根据第一实施方式的方法中的任何一种方法。
根据第一实施方式的另一方面,一种携载程序代码的非暂态计算机可读介质,该程序代码在由计算机装置执行时使得该计算机装置执行根据第一实施方式的方法中的任何一种方法。
根据第一实施方式的另一方面,提供了一种用于帧间预测译码的局部光照补偿(LIC)的设备,包括:
-获取单元,被配置成使用运动补偿来获取针对当前块的帧间预测样本值;
-导出单元,被配置成基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于至少一个参考块上方的重建相邻样本和至少一个参考块左侧的重建相邻样本中的至少一个导出针对LIC的线性模型的参数α和β的值,其中,至少一个参考块对应于当前块;以及
-更新单元,被配置成基于参数α和β使用线性模型更新针对当前块的帧间预测样本值,
其中,导出单元还被配置成当满足针对β的值的条件时,基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值。
导出单元可以被配置成仅当满足针对β的值的条件时,才基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值。
更新单元可以被配置成当β的绝对值大于阈值Tβ时裁剪α的值。
α的值可以被如下裁剪:
当β<0时,α的值被设置为等于min(α,αmax);以及/或者
当β>0时,α的值被设置为等于max(α,αmin);
其中,αmax表示α的值的裁剪范围的最大值,以及αmin表示α的值的裁剪范围的最小值。
更新单元还可以被配置成裁剪β的值。
更新单元可以被配置成在基于裁剪的α的值更新β的值之后裁剪β的值。
仅当α的值被裁剪时,β的值才可以被裁剪。
根据第二实施方式,本公开内容涉及一种用于图片的帧间预测译码(编码和/或解码)的光照补偿的方法,包括:
-使用运动补偿获得当前块的帧间预测样本值;
-获得至少一个参考块的参考样本(例如相邻样本)的第一目标值(xA)和第二目标值(xB),以及具有第一目标值的参考样本相对于参考块的位置(例如参考块的左上角)的对应位置A和具有第二目标值的参考样本相对于参考块的位置(例如参考块的左上角)的对应位置B;
-获得当前块的相对于当前块的位置(例如当前块的左上角)在对应位置A和B处的参考样本(例如相邻样本)的相应值(yA、yB);
-基于参考样本的值获得或导出参数(例如α和β)的值,其中,参考样本的值包括参考块的参考样本的第一目标值(xA)和第二目标值(xB)以及当前块的在对应位置A和B处的参考样本的值(yA、yB)中的一个或更多个;
-基于参数β的值有条件地裁剪参数α的值;并且基于裁剪的参数α的值来更新参数β的值;以及
-基于裁剪的参数(例如α和β)的值来更新帧间预测样本的值。
在示例中,更新参数β的值可以包括重新计算和裁剪。
应当理解,参考样本可以是相邻样本本身,或者可以是基于或来自相邻样本的计算值。本公开内容不限于这些。例如,两个参考块对应于两个参考图像。
根据第二实施方式的方面,参数是α和β,并且更新参数α和β的值如下使用计算值获得:
β=yA-αxA
根据第二实施方式的另一方面,基于参数β的值有条件地裁剪参数α的值的步骤包括:
当条件|β|>Tβ为真时,参数α的值被如下更新:
当β<0时,参数α被设置为等于min(α,αmax);以及/或者
当β>0时,参数α被设置为等于max(α,αmin);
其中,|β|表示参数β的绝对值(即量值),Tβ表示阈值,αmax表示α的裁剪范围的最大值,以及αmin表示α的裁剪范围的最小值。
根据第二实施方式的另一方面,参考块的参考样本(例如相邻样本)和/或当前块的参考样本(例如相邻样本)由FIR滤波器进行处理。
根据第二实施方式的另一方面,当使用非仿射(即平移)运动补偿模型预测当前块时,应用FIR滤波器。
根据第二实施方式的另一方面,基于当前块的参考样本(例如相邻重建样本)的第一集合的平均值和参考块的参考样本(例如相邻重建样本)的第二集合的平均值来获得(或导出或计算)第二参数(例如β)的值。
根据第二实施方式的另一方面,参数β的值是使用以下获得的:
-当前块上方的参考样本的集合(S1)的平均值(例如上方模板样本的平均值,例如Meanabove)与当前块左侧的参考样本的集合(S2)的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据当前块的宽度是否大于当前块的高度,将加权系数w应用于集合(S1)或集合(S2)的平均值,以及
-参考块上方的参考样本的集合(S1’)的平均值(例如上方模板样本的平均值,例如Meanabove)与参考块左侧的参考样本的集合(S2’)的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据参考块的宽度是否大于参考块的高度,将加权系数w应用于集合(S1’)或集合(S2’)的平均值。
根据第二实施方式的另一方面,根据参数α是否被裁剪来裁剪参数β的值。
根据第二实施方式的另一方面,如果参数α被裁剪,则参数β的值被裁剪;
如果参数α没有被裁剪,则参数β的值不被裁剪。
根据第二实施方式的另一方面,如下更新帧间预测样本的值:
pred′(x,y)=α·pred(x,y)+β。
根据第二实施方式的另一方面,位置A和位置B是从参考块的相邻样本的集合(例如,集合L)的子集中选择的(L可以包括整数像素位置处的所有相邻样本)。
根据第二实施方式的另一方面,参考块的相邻样本的第二最小值(xA’)(例如,位置A’处的样本值)和第二最大值(xB’)(例如,位置B’处的样本值)另外用于计算更新参数(例如,α和β)。
根据第二实施方式的另一方面,使用查找表(LUT)来导出参数α(例如,查找表包括如上面针对α所指定的除法推导的结果)。
根据第二实施方式的另一方面,查找表线性映射到差值xB-xA
根据第二实施方式的另一方面,查找表非线性地映射到差值xB-xA
根据第二实施方式的另一方面,查找表包括有效数(significand)的值。
根据第二实施方式的另一方面,参考块的相邻样本的集合(例如,集合L)和当前块的相邻样本的集合(例如,集合C)不包括所有相邻样本(例如,不包括整数像素位置处的所有相邻样本),而是仅包括与参考块和当前块的角和中间相邻的样本。
根据第二实施方式的另一方面,参考块的相邻样本的集合(例如,集合L)和当前块的相邻样本的集合(例如,集合C)不包括所有相邻样本(例如,不包括整数像素位置处的所有相邻样本),而是仅包括到左上角的距离超过给定阈值(该阈值可以例如被定义为边长的1/4)的样本。
根据第二实施方式的另一方面,若干(例如两个或更多个)参考块用于运动补偿(例如局部光照补偿)以及用于获得线性模型系数(例如更新参数(例如α和β))。
根据第二实施方式的另一方面,当前块和参考块的顶侧和左侧模板样本的平均值被用于计算针对运动补偿(例如局部光照补偿LIC)的一个或更多个线性模型参数。
根据第二实施方式的另一方面,使用当前块和参考块的模板,而不对它们进行下采样。
根据第二实施方式的另一方面,在线性模型参数推导或线性模型系数推导之前,对当前块和参考块的顶侧和左侧模板样本进行滤波。
根据第二实施方式的另一方面,线性模型参数推导或线性模型系数推导对于跨分量线性模型(CCLM)预测(CCLM)和局部光照补偿(LIC)是一致的。
根据第二实施方式的另一方面,参考块的参考(相邻)样本的第一目标值和第二目标值分别是参考块的相邻样本的第二集合的最小值(xA)和最大值(xB);以及
具有第一目标值的参考样本的位置A和具有第二目标值的参考样本的位置B是具有最小值的相邻样本相对于参考块的位置的对应位置A和具有最大值的相邻样本相对于参考块的位置的对应位置B。
根据第二实施方式的另一方面,第一目标值是参考块的相邻样本的第二集合的最小样本值A和第二最小样本值A’的第一平均值;第二目标值是参考块的相邻样本的第二集合的最大样本值B和第二最大样本值B’的第二平均值;以及
代替当前块的相对于当前块的位置在对应位置A和B处的参考样本(例如相邻样本)的相应值(yA、yB),使用当前块的在相应位置A和A’处的参考样本的平均值和当前块的在相应位置B和B’处的参考样本的平均值。
根据第二实施方式的另一方面,参考样本的值还包括当前块的顶侧模板样本和左侧模板样本的平均值以及参考块的顶侧模板样本和左侧模板样本的平均值。
根据第二实施方式的另一方面,当参考块的相邻样本的第二集合中具有最小值的参考样本的数量为Q时,对应位置A的参考样本是具有最小值并且具有最大的到参考块的左上角的距离的参考样本,以及/或者对应位置B的参考样本是具有最大值并且具有最大的到参考块的左上角的距离的参考样本。
根据第二实施方式的另一方面,通过使用平均值计算,根据当前块的参考样本的第一集合的值和参考块的参考样本的第二集合的值导出更新参数(例如α和/或β)。
根据第三实施方式,本公开内容涉及一种用于图片的帧间预测译码(编码和/或解码)的光照补偿的方法,包括:
-使用运动补偿获得(例如,针对图片的当前块例如当前CU的)帧间预测样本值;
-基于当前块的参考样本(例如相邻样本)的第一集合的值和参考块的参考样本(例如相邻样本)的第二集合的值来获得或导出第一更新参数和第二更新参数(例如α和β)的值;以及
-当满足条件时,基于参数β的值裁剪参数α的值并基于裁剪的参数α更新参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;或者
-当不满足条件时,基于导出的参数α和β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
根据第三实施方式的方面,第一更新参数(例如α)的值通过使用MinMax方法获得(或导出或计算),以及第二更新参数(例如β)的值通过使用平均值计算获得(或导出或计算)。
根据第三实施方式的另一方面,基于参考块的参考样本的第二集合的最小值(xA)和最大值(xB)以及当前块的参考样本的第一集合中的在最小值(xA)和最大值(xB)的相应位置A和B处的参考样本的相应值(yA、yB)来获得(或导出或计算)第一更新参数(例如α)的值。
根据第三实施方式的另一方面,基于参考块的参考样本的第二集合的最小值(xA)和最大值(xB)以及当前块的参考样本的第一集合中的相对于当前块的位置在相应位置A和B处的参考样本(例如相邻样本)的相应值(yA、yB)来获得(或导出或计算)第一更新参数(例如α)的值;
其中,参考样本相对于参考块的位置的对应位置A具有最小值,并且参考样本相对于参考块的位置的对应位置B具有最大值。
根据第三实施方式的另一方面,基于参考块的参考样本的第二集合的最小样本值(A)和第二最小样本值(A')的第一平均值和参考块的相邻样本的第二集合的最大样本值(B)和第二最大样本值(B')的第二平均值以及当前块的参考样本的第一集合中的在相应位置A和A'处的参考样本(例如相邻样本)的平均值和当前块的参考样本的第一集合中的在相应位置B和B'处的参考样本(例如相邻样本)的平均值来获得(或导出或计算)第一更新参数(例如α)的值。
根据第三实施方式的另一方面,基于参考块的参考样本的第二集合的最小样本值(A)和第二最小样本值(A')的第一平均值和参考块的参考样本(例如相邻样本)的第二集合的最大样本值(B)和第二最大样本值(B')的第二平均值以及基于当前块的参考样本的第一集合中的相对于当前块的位置在对应位置A、A'、B和B'处的参考样本(例如相邻样本)的相应值(yA、yB)来获得(或导出或计算)第一更新参数(例如α)的值;
其中,相应值(yA、yB)是当前块的参考样本的第一集合中的在对应位置A和A'处的参考样本(例如相邻样本)的平均值和当前块的参考样本的第一集合中的在相应位置B和B′处的参考样本(例如相邻样本)的平均值。
根据第三实施方式的另一方面,基于当前块的参考样本(例如相邻重建样本)的第一集合的平均值和参考块的参考样本(例如相邻重建样本)的第二集合的平均值来获得(或导出或计算)第二参数(例如β)的值。
根据第三实施方式的另一方面,
当满足第一条件(例如第一模板样本范围(例如宽度W)大于第二模板样本范围(例如高度H))时,使用第一公式获得(或导出或计算)参考块的参考样本(例如相邻重建样本)的第二集合的平均值;
当满足第二条件(例如第二模板样本范围(例如高度H)大于第一模板样本范围(例如宽度W))时,使用第二公式获得(或导出或计算)参考块的参考样本(例如相邻重建样本)的第二集合的平均值;
当满足第三条件(例如第二模板样本范围(例如高度H)等于第一模板样本范围(例如宽度W))时,使用第三公式获得(或导出或计算)参考块的参考样本(例如相邻重建样本)的第二集合的平均值。
根据第三实施方式的另一方面,
当满足第一条件(例如第一模板样本范围(例如宽度W)大于第二模板样本范围(例如高度H))时,使用第一公式获得(或导出或计算)当前块的参考样本(例如相邻重建样本)的第一集合的平均值;
当满足第二条件(例如第二模板样本范围(例如高度H)大于第一模板样本范围(例如宽度W))时,使用第二公式获得(或导出或计算)当前块的参考样本(例如相邻重建样本)的第一集合的平均值;
当满足第三条件(例如第二模板样本范围(例如高度H)等于第一模板样本范围(例如宽度W))时,使用第三公式获得(或导出或计算)当前块的参考样本(例如相邻重建样本)的第一集合的平均值。
根据第三实施方式的另一方面,当前块的参考样本(例如相邻重建样本)的第一集合包括当前块的顶侧和左侧模板样本的一部分或全部;
参考块的参考样本(例如相邻重建样本)的第二集合包括参考块的顶侧和左侧模板样本的一部分或全部。
根据第三实施方式的另一方面,在更新参数推导(或线性模型参数推导)之前,对当前块和/或参考块的顶侧和左侧模板样本进行滤波;
在更新参数推导(或线性模型参数推导)之前,对当前块的参考样本的第一集合进行滤波;以及/或者
在更新参数推导(或线性模型参数推导)之前,对参考块的参考样本的第二集合进行滤波。
根据第三实施方式的另一方面,
当条件|β|>Tβ为真时,参数α的值被如下裁剪:
当β<0时,参数α被设置为等于min(α,αmax);以及/或者
当β>0时,参数α被设置为等于max(α,αmin);
其中,|β|表示参数β的绝对值(即量值),Tβ表示阈值,αmax表示α的裁剪范围的最大值,以及αmin表示α的裁剪范围的最小值。
根据第三实施方式的另一方面,当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个由FIR滤波器进行处理,以及/或者
参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个由FIR滤波器进行处理。
根据第三实施方式的另一方面,当使用非仿射(即平移)运动补偿模型预测当前块时,应用FIR滤波器。
根据第三实施方式的另一方面,基于当前块的重建相邻样本的第一集合的平均值和参考块的重建相邻样本的第二集合的平均值来获得(或导出或计算)第二参数(例如β)的值。
根据第三实施方式的另一方面,参数β的值使用以下获得:
-当前块上方的重建相邻样本的集合S1的平均值(例如上方模板样本的平均值,例如Meanabove)与当前块左侧的重建相邻样本的集合S2的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据当前块的宽度是否大于当前块的高度,将加权系数w应用于集合S1或集合S2的平均值,以及
-参考块上方的重建相邻样本的集合S1’的平均值(例如上方模板样本的平均值,例如Meanabove)与参考块左侧的重建相邻样本的集合S2’的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据参考块的宽度是否大于参考块的高度,将加权系数w应用于集合S1’或集合S2’的平均值。
根据第三实施方式的另一方面,基于裁剪的参数α更新参数β的值包括:
基于裁剪的参数α导出或重新计算参数β的值;以及
裁剪重新计算的参数β的值。
根据第三实施方式的另一方面,根据参数α是否被裁剪来裁剪参数β的值。
根据第三实施方式的另一方面,如果参数α被裁剪,则参数β的值被裁剪;以及/或者
如果参数α没有被裁剪,则参数β的值不被裁剪。
根据第三实施方式的另一方面,当前块上方的重建相邻样本包括与当前块相邻的单行样本,以及/或者,
当前块左侧的重建相邻样本包括当前块左侧的单列样本。
根据第三实施方式的另一方面,参考块上方的重建相邻样本包括与参考块相邻的单行样本,以及/或者,
参考块左侧的重建相邻样本包括参考块左侧的单列样本。
根据第四实施方式,本公开内容涉及一种用于图片的帧间预测译码(编码和/或解码)的光照补偿的方法,包括:
-使用运动补偿获得(例如,针对图片的当前块例如当前CU的)帧间预测样本值;
-获得参考块(或两个或更多个参考块)(例如,来自参考块的相邻样本的集合L)的相邻样本的最小值(xA)和最大值(xB)(该集合L可以包括所有相邻样本的全部或仅一部分;相邻样本可以是相邻已解码样本),以及(具有最小值的样本)相对于参考块的位置的对应位置A和(具有最大值的样本)相对于参考块的位置的对应位置B;
-获得当前块(例如,来自当前块的相邻样本的集合C)的相对于当前块的位置在所获得的位置A和B处的相邻样本的相应值(yA、yB)(该集合C可以包括所有相邻样本的全部或仅一部分,这两个集合L和C可以包括关于它们相对于相应块L和C的相对位置相同的相邻样本;相邻样本可以是相邻重建样本);
-使用所获得的相邻样本的值来获得更新参数(例如α和β)的值;以及
-当满足条件时,基于参数β的值裁剪参数α的值并基于裁剪的参数α更新参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;以及/或者
-当不满足条件时,基于导出的参数α和β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
根据第五实施方式,本公开内容涉及一种用于图片的帧间预测译码(编码和/或解码)的光照补偿的方法,包括:
-使用运动补偿获得(例如,针对图片的当前块例如当前CU的)帧间预测样本值;
-获得参考块(或两个或更多个参考块)(例如,来自参考块的相邻样本的集合L)的相邻样本的最小值(xA)和最大值(xB)(该集合L可以包括所有相邻样本的全部或仅一部分;相邻样本可以是相邻已解码样本),以及(具有最小值的样本)相对于参考块的位置的对应位置A和(具有最大值的样本)相对于参考块的位置的对应位置B;
-获得当前块(例如,来自当前块的相邻样本的集合C)的相对于当前块的位置在所获得的位置A和B处的相邻样本的相应值(yA、yB)(该集合C可以包括所有相邻样本的全部或仅一部分,这两个集合L和C可以包括关于它们相对于相应块L和C的相对位置相同的相邻样本;相邻样本可以是相邻重建样本);
-使用所获得的相邻样本的值来获得更新参数(例如α和β)的值;以及
-当满足条件时,基于参数β的值裁剪参数α的值,基于裁剪的参数α更新(例如,重新计算)参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;以及/或者
-当不满足条件时,裁剪参数β的值,并且基于导出的参数α和裁剪的参数β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
根据第六实施方式,本公开内容涉及一种用于帧间预测译码的局部光照补偿的方法,该方法包括:
-使用运动补偿获得针对当前块的帧间预测样本值;
-基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个导出参数α和β的值,其中,参考块对应于当前块;以及
-当满足条件时,基于参数β的值裁剪参数α的值并基于裁剪的参数α更新参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;以及/或者
-当不满足条件时,基于导出的参数α和β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
根据第六实施方式的方面,该方法还包括确定参数β的绝对值是否大于阈值。
根据第六实施方式的另一方面,当条件|β|>Tβ为真时,参数α的值被如下裁剪:
当β<0时,参数α被设置为等于min(α,αmax);以及/或者
当β>0时,参数α被设置为等于max(α,αmin);
其中,|β|表示参数β的绝对值(即量值),Tβ表示阈值,αmax表示参数α的裁剪范围的最大值,以及αmin表示参数α的裁剪范围的最小值。
可替选地,αmin的值可以被设置为等于αmin=7373>>(iShiftmax-iShift)。在定点表示中,α的值的精度为iShift,这意味着与α相乘后,结果应当右移iShift。αmin的值可以考虑输入α的iShift值来定义,并且iShiftmax可以设置为13。
根据第六实施方式的另一方面,当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个由FIR滤波器进行处理,以及/或者
参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个由FIR滤波器进行处理。
根据第六实施方式的另一方面,当使用非仿射(即平移)运动补偿模型来预测当前块时,应用FIR滤波器。
根据第六实施方式的另一方面,基于当前块的重建相邻样本的第一集合的平均值和参考块的重建相邻样本的第二集合的平均值来获得(或导出或计算)参数β的值。
根据第六实施方式的另一方面,参数β的值是使用以下获得的:
-当前块上方的重建相邻样本的集合S1的平均值(例如上方模板样本的平均值,例如Meanabove)与当前块左侧的重建相邻样本的集合S2的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据当前块的宽度是否大于当前块的高度,将加权系数w应用于集合S1或集合S2的平均值,以及
-参考块上方的重建相邻样本的集合S1’的平均值(例如上方模板样本的平均值,例如Meanabove)与参考块左侧的重建相邻样本的集合S2’的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据参考块的宽度是否大于参考块的高度,将加权系数w应用于集合S1’或集合S2’的平均值。
根据第六实施方式的另一方面,基于当前块的可用模板样本的和(例如ST1)和移位偏移(例如使用移位操作和乘法)来计算当前块的重建相邻样本的平均值,其中,移位偏移(shift offset)取决于当前块的可用模板样本的数量(例如CT)。
根据第六实施方式的另一方面,针对当前块的重建相邻样本的平均值计算如下:
平均值=((ST1+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,“ST1”表示当前块的可用模板样本的和,CT表示当前块的可用模板样本的数量,以及乘数“mult”的值从查找表中获取。
根据第六实施方式的另一方面,基于参考块的可用模板样本的和(例如ST2)和移位偏移(例如使用移位操作和乘法)来计算参考块的重建相邻样本的平均值,其中,移位偏移取决于参考块的可用模板样本的数量(例如CT)。
根据第六实施方式的另一方面,如下计算针对参考块的重建相邻样本的平均值:
半均值=((ST2+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,“ST2”表示参考块的可用模板样本的和,CT表示参考块的可用模板样本的数量,以及乘数“mult”的值从查找表中获取。
根据第六实施方式的另一方面,当前块的可用模板样本包括当前块上方的可用重建相邻样本和当前块左侧的可用重建相邻样本中的至少一个;以及/或者
参考块的可用模板样本包括参考块上方的可用重建相邻样本和参考块左侧的可用重建相邻样本中的至少一个。
根据第六实施方式的另一方面,基于裁剪的参数α更新参数β的值包括:
基于裁剪的参数α导出或重新计算参数β的值;以及裁剪重新计算的参数β的值。
根据第六实施方式的另一方面,根据参数α是否被裁剪来裁剪参数β的值。
根据第六实施方式的另一方面,如果参数α被裁剪,则参数β的值被裁剪;以及/或者
如果参数α没有被裁剪,则参数β的值不被裁剪。
根据第六实施方式的另一方面,
当前块上方的重建相邻样本包括与当前块相邻的单行样本,以及/或者,
当前块左侧的重建相邻样本包括当前块左侧的单列样本。
根据第六实施方式的另一方面,参考块上方的重建相邻样本包括与参考块相邻的单行样本,以及/或者,
参考块左侧的重建相邻样本包括参考块左侧的单列样本。
根据第六实施方式的另一方面,根据第六实施方式的方法中的任何一种方法可以由编码装置实现。
根据第六实施方式的另一方面,根据第六实施方式的方法中的任何一种方法可以由解码装置实现。
根据第六实施方式的另一方面,提供了一种编码器,其包括用于执行根据第六实施方式的方法中的任何一种方法的处理电路。
根据第六实施方式的另一方面,提供了一种解码器,其包括用于执行根据第六实施方式的方法中的任何一种方法的处理电路。
根据第六实施方式的另一方面,提供了一种计算机程序产品,其包括用于执行根据第六实施方式的方法中的任何一种方法的程序代码。
根据第六实施方式的另一方面,提供了一种解码器,其包括一个或更多个处理器和耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将解码器配置成执行根据第六实施方式的方法中的任何一种方法。
根据第六实施方式的另一方面,提供了一种编码器,其包括一个或更多个处理器和耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将编码器配置成执行根据第六实施方式的方法中的任何一种方法。
根据第六实施方式的另一方面,提供了一种携载程序代码的非暂态计算机可读介质,该程序代码在由计算机装置执行时使得计算机装置执行根据第六实施方式的方法中的任何一种方法。
根据第七实施方式,本公开内容涉及一种用于帧间预测译码的局部光照补偿的方法,该方法包括:
-使用运动补偿获得针对当前块的帧间预测样本值;
-基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个导出参数α和β的值,其中,参考块对应于当前块;以及
-当满足条件时,基于参数β的值裁剪参数α的值并基于裁剪的参数α更新(例如,重新计算)参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;以及/或者
-当不满足条件时,裁剪参数β的值,并且基于导出的参数α和裁剪的参数β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
根据第七实施方式的方面,当条件|β|>Tβ为真时,参数α的值被如下裁剪:
当β<0时,参数α被设置为等于min(α,αmax);以及/或者
当β>0时,参数α被设置为等于max(α,αmin);
其中,|β|表示参数β的绝对值(即量值),Tβ表示阈值,αmax表示参数α的裁剪范围的最大值,以及αmin表示参数α的裁剪范围的最小值。
根据第七实施方式的另一方面,当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个由FIR滤波器进行处理,以及/或者
参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个由FIR滤波器进行处理。
根据第七实施方式的另一方面,当使用非仿射(即平移)运动补偿模型来预测当前块时,应用FIR滤波器。
根据第七实施方式的另一方面,基于当前块的重建相邻样本的第一集合的平均值和参考块的重建相邻样本的第二集合的平均值来获得(或导出或计算)第二参数(例如β)的值。
根据第七实施方式的另一方面,参数β的值是使用以下获得的:
-当前块上方的重建相邻样本的集合S1的平均值(例如上方模板样本的平均值,例如Meanabove)与当前块左侧的重建相邻样本的集合S2的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据当前块的宽度是否大于当前块的高度,将加权系数w应用于集合S1或集合S2的平均值,以及
-参考块上方的重建相邻样本的集合S1’的平均值(例如上方模板样本的平均值,例如Meanabove)与参考块左侧的重建相邻样本的集合S2’的平均值(例如左侧模板样本的平均值,例如Meanleft)的加权和,其中,根据参考块的宽度是否大于参考块的高度,将加权系数w应用于集合S1’或集合S2’的平均值。
根据第七实施方式的另一方面,基于当前块的可用模板样本的和(例如ST1)和移位偏移(例如使用移位操作和乘法)来计算当前块的重建相邻样本的平均值,其中,移位偏移取决于当前块的可用模板样本的数量(例如CT)。
根据第七实施方式的另一方面,针对当前块的重建相邻样本的平均值计算如下:
平均值=((ST1+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,“ST1”表示当前块的可用模板样本的和,CT表示当前块的可用模板样本的数量,以及乘数“mult”的值从查找表中获取。
根据第七实施方式的另一方面,基于参考块的可用模板样本的和(例如ST2)和移位偏移(例如使用移位操作和乘法)来计算参考块的重建相邻样本的平均值,其中,移位偏移取决于参考块的可用模板样本的数量(例如CT)。
根据第七实施方式的另一方面,如下计算参考块的重建相邻样本的平均值:
平均值=((ST2+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,“ST2”表示参考块的可用模板样本的和,CT表示参考块的可用模板样本的数量,以及乘数“mult”的值从查找表中获取。
根据第七实施方式的另一方面,当前块的可用模板样本包括当前块上方的可用重建相邻样本和当前块左侧的可用重建相邻样本中的至少一个;以及/或者
参考块的可用模板样本包括参考块上方的可用重建相邻样本和参考块左侧的可用重建相邻样本中的至少一个。
根据第七实施方式的另一方面,基于裁剪的参数α更新参数β的值包括:
基于裁剪的参数α导出或重新计算参数β的值;以及裁剪重新计算的参数β的值。
根据第七实施方式的另一方面,
当前块上方的重建相邻样本包括与当前块相邻的单行样本,以及/或者,
当前块左侧的重建相邻样本包括当前块左侧的单列样本。
根据第七实施方式的另一方面,参考块上方的重建相邻样本包括与参考块相邻的单行样本,以及/或者,
参考块左侧的重建相邻样本包括参考块左侧的单列样本。
根据第七实施方式的另一方面,根据第七实施方式的方法中的任何一种方法可以由编码装置实现。
根据第七实施方式的另一方面,根据第七实施方式的方法中的任何一种方法可以由解码装置实现。
根据第七实施方式的另一方面,提供了一种编码器,其包括用于执行根据第七实施方式的方法中的任何一种方法的处理电路。
根据第七实施方式的另一方面,提供了一种解码器,其包括用于执行根据第七实施方式的方法中的任何一种方法的处理电路。
根据第七实施方式的另一方面,提供了一种计算机程序产品,其包括用于执行根据第七实施方式的方法中的任何一种方法的程序代码。
根据第七实施方式的另一方面,提供了一种解码器,其包括一个或更多个处理器和耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将解码器配置成执行根据第七实施方式的方法中的任何一种方法。
根据第七实施方式的另一方面,提供了一种编码器,其包括一个或更多个处理器和耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将编码器配置成执行根据第七实施方式的方法中的任何一种方法。
根据第七实施方式的另一方面,提供了一种携载程序代码的非暂态计算机可读介质,该程序代码在由计算机装置执行时使得计算机装置执行根据第七实施方式的方法中的任何一种方法。
根据第八实施方式,本公开内容涉及一种用于帧间预测译码的局部光照补偿的设备,包括:
-第一获取单元,被配置成用于使用运动补偿获取针对当前块的帧间预测样本值;
-第二获取单元,被配置成用于基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个导出参数α和β的值,其中,参考块对应于当前块;以及
-更新单元,被配置成用于当满足条件时,基于参数β的值裁剪参数α的值并基于裁剪的参数α更新参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;以及/或者当不满足条件时,基于导出的参数α和β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
根据第九实施方式,本公开内容涉及一种用于帧间预测译码的光照补偿的设备,包括:
-第一获取单元,被配置成用于使用运动补偿获取针对当前块的帧间预测样本值;
-第二获取单元,被配置成用于基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于参考块上方的重建相邻样本和参考块左侧的重建相邻样本中的至少一个导出参数α和β的值,其中,参考块对应于当前块;以及
-更新单元,被配置成用于当满足条件时,基于参数β的值裁剪参数α的值并基于裁剪的参数α更新(例如,重新计算)参数β的值,并且基于裁剪的参数α和更新的参数β的值以及针对当前块的帧间预测样本值生成当前块的更新的预测样本值;以及/或者当不满足条件时,裁剪参数β的值,并且基于导出的参数α和裁剪的参数β的值和针对当前块的帧间预测样本值生成当前块的更新的预测样本值。
一个或更多个实施方式的细节在附图和以下描述中阐述。根据描述、附图和权利要求,其他特征、目的和优点将变得明显。
附图说明
在下文中,参照附图更详细地描述本公开内容的实施方式,在附图中:
图1A是示出被配置成实现本公开内容的实施方式的视频译码***的示例的框图;
图1B是示出被配置成实现本公开内容的实施方式的视频译码***的另一示例的框图;
图2是示出被配置成实现本公开内容的实施方式的视频编码器的示例的框图;
图3是示出被配置成实现本公开内容的实施方式的视频解码器的示例结构的框图;
图4是示出编码设备或解码设备的示例的框图;
图5是示出编码设备或解码设备的另一示例的框图;
图6是用作用于根据本公开内容的实施方式的光照补偿方法的输入数据的参考样本的示出;
图7是根据本公开内容的实施方式的基于相邻样本的参数α和β的推导的示出;
图8是根据本公开内容的实施方式的基于相邻样本的参数α和β的推导的示出,所述推导使用参考块的相邻样本的两个最大值和两个最小值;
图9是根据本公开内容的实施方式的用于填充两个集合L和C的块的顶侧和左侧的三个相邻样本的示出;
图10是根据本公开内容的实施方式的约束两个集合L和C的填充的距离的示出;
图11是根据本公开内容的实施方式的矩形块的示出,其中,顶侧和左侧的相邻样本用作被下采样之后的模板;
图12是根据本公开内容的实施方式的矩形块的示出,其中,顶侧和左侧的相邻样本用作没有被下采样的模板;
图13是根据本公开内容的实施方式的水平定向的矩形块的示出,其中,在该矩形块中顶侧的相邻样本用于计算平均值;
图14是根据本公开内容的实施方式的竖直定向的矩形块的示出,其中,在该矩形块中左侧的相邻样本用于计算平均值,
图15是根据本公开内容的实施方式的正方形块的示出,其中,在该正方形块中顶侧和左侧的相邻样本都用于计算平均值,
图16是示出根据本公开内容的示例性实施方式的方法的图;
图17是根据本公开内容的实施方式的参考块或当前块的顶侧和左侧模板的示出;
图18是针对LIC的线性模型参数推导的MinMax方法的步骤的示出;
图19是针对LIC的线性模型参数推导的MinMax方法的另一实施方式的步骤的示出;
图20是针对仿射运动模型的子块运动矢量场的示出;
图21是示出仿射运动补偿的步骤的流程图;
图22是亮度块和色度块的左侧和上侧的模板的示出;
图23是如果当前块的模板参考样本属于受限相邻块则该模板参考样本不可用的场景的示出;
图24示出了示出根据本公开内容的实施方式的用于帧间预测译码的局部光照补偿(LIC)的设备的示例的框图;
图25是示出实现内容递送服务的内容供应***的示例结构的框图;
图26是示出终端装置的示例的结构的框图。
在下文中,如果没有另外明确说明,相同的附图标记表示相同或至少功能等同的特征。
具体实施方式
在以下描述中,参照形成本公开内容的一部分的附图,附图通过图示的方式示出本公开内容的实施方式的具体方面或者可以使用本公开内容的实施方式的具体方面。应当理解,本公开内容的实施方式可以在其他方面中使用,并且包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不被认为是限制性的,并且本公开内容的范围由所附权利要求限定。
例如,应当理解,与所描述的方法有关的公开内容还可以适用于被配置成执行该方法的相应装置或***,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的装置可以包括一个或多个单元例如功能单元,以执行所描述的一个或多个方法步骤(例如,一个单元执行所述一个或多个步骤,或者多个单元中的每一个执行所述多个步骤中的一个或更多个步骤),即使这样的一个或更多个单元未在附图中明确地描述或示出。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述特定设备,则对应的方法可以包括一个步骤以执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或者多个步骤中的每一个执行多个单元中的一个或更多个单元的功能),即使这样的一个或多个步骤未在图中明确地描述或示出。此外,应当理解,除非另有特别说明,否则在本文中描述的各种示例性实施方式和/或方面的特征可以彼此组合。
视频译码通常是指对形成视频或视频序列的图片序列的处理。在视频译码的领域中,代替术语“图片”,术语“帧”或“图像”可以用作同义词。视频译码(或通常,译码)包括视频编码和视频解码两部分。视频编码在源端处执行,通常包括处理(例如通过压缩)原始视频图片以减少表示视频图片所需的数据量(用于更有效的存储和/或传输)。视频解码在目的地端处执行,并且通常包括与编码器相比的逆处理以重建视频图片。涉及视频图片(或通常,图片)的“编码”的实施方式应当理解为涉及视频图片或相应视频序列的“编码”或“解码”。编码部分和解码部分的组合也被称为CODEC(Coding and Decoding,编解码)。
在无损视频译码的情况下,可以重建原始视频图片,即重建的视频图片与原始视频图片具有相同的质量(假设在存储或传输期间没有传输损失或其他数据损失发生)。在有损视频译码的情况下,执行进一步的压缩(例如通过量化)以减少表示视频图片的数据量,该视频图片不能在解码器处完全重建,即重建的视频图片的质量与原始视频图片的质量相比更低或更差。
若干视频译码标准属于“有损混合视频编解码”的组(即,将样本域中的空间和时间预测与用于在变换域中应用量化的2D变换译码相结合)。视频序列的每个图片通常被分割成不重叠的块的集合,并且译码通常在块级别上执行。换句话说,在编码器处,通常在块(视频块)级别上处理(即编码)视频,例如通过使用空间(帧内图片)预测和/或时间(帧间图片)预测来生成预测块,从当前块(当前处理/要处理的块)中减去预测块以获得残差块,在变换域中变换残差块并量化残差块以减少要传输的数据量(压缩)来处理(即编码)视频,而在解码器处,与编码器相比的逆处理被应用于已编码或压缩的块,以重建当前块以用于呈现。此外,编码器复制解码器处理环路,使得两者将生成相同的预测(例如,帧内预测和帧间预测)和/或重建以处理(即,译码)后续块。
在视频译码***10的以下实施方式中,基于图1至图3描述了视频编码器20和视频解码器30。
图1A是示出示例译码***10例如可以利用本申请的技术的视频译码***10(或简称译码***10)的示意框图。视频译码***10的视频编码器20(或简称编码器20)和视频解码器30(或简称解码器30)表示可以被配置成执行根据本申请中描述的各种示例的技术的装置的示例。
如图1A所示,译码***10包括源装置12,源装置12被配置成例如向用于对已编码图片数据13进行解码的目的地装置14提供已编码图片数据21。
源装置12包括编码器20,并且可以另外地(即可选地)包括图片源16、预处理器(或预处理单元)18(例如图片预处理器18)以及通信接口或通信单元22。
图片源16可以包括或者可以是任何种类的图片捕获装置(例如用于捕获真实世界图片的摄像装置)和/或任何种类的图片生成装置(例如用于生成计算机动画图片的计算机图形处理器)或者用于获得和/或提供真实世界图片、计算机生成的图片(例如屏幕内容、虚拟现实(virtual reality,VR)图片)和/或其任意组合(例如增强现实(augmentedreality,AR)图片)的任何种类的其他装置。图片源可以是存储任何前述图片的任何种类的存储器或存储装置。
与预处理器18和由预处理单元18执行的处理相区别,图片或图片数据17也可以被称为原始图片或原始图片数据17。
预处理器18可以被配置成接收(原始)图片数据17,并且对图片数据17执行预处理以获得预处理的图片19或预处理的图片数据19。由预处理器18执行的预处理可以例如包括修整(trimming)、颜色格式转换(例如从RGB到YCbCr)、颜色校正或去噪。可以理解,预处理单元18可以是可选部件。
视频编码器20可以被配置成接收预处理的图片数据19并提供已编码图片数据21(另外的细节将在下面例如基于图2描述)。
源装置12的通信接口22可以被配置成接收已编码图片数据21,并且通过通信信道13将已编码图片数据21(或其任何进一步处理的版本)发送至另外的装置,例如目的地装置14或用于存储或直接重建的任何其他装置。
目的地装置14包括解码器30(例如视频解码器30),并且可以另外地(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示装置34。
目的地装置14的通信接口28可以被配置成例如直接从源装置12或从任何其他源(例如,诸如已编码图片数据存储装置的存储装置)接收已编码图片数据21(或其任何进一步处理的版本),并且将已编码图片数据21提供给解码器30。
通信接口22和通信接口28可以被配置成经由源装置12与目的地装置14之间的直接通信链路(例如直接有线或无线连接)或者经由任何种类的网络(例如有线或无线网络或其任意组合,或者任何种类的私有和公共网络或其任何种类的组合)来发送或接收已编码图片数据21或已编码数据13。
通信接口22可以被配置成将已编码图片数据21打包成适当的格式(例如包),以及/或者使用任何种类的传输编码或处理来处理已编码图片数据,以通过通信链路或通信网络进行传输。
形成通信接口22的对应物的通信接口28可以被配置成接收传输的数据,并且使用任何类型的相应传输解码或处理和/或解包来处理传输数据,以获得已编码图片数据21。
通信接口22和通信接口28都可以被配置为如图1A中针对通信信道13的从源装置12指向目的地装置14的箭头所指示的单向通信接口,或者被配置为双向通信接口,并且可以被配置成发送和接收消息,例如以建立连接,确认和交换与通信链路和/或数据传输(例如,已编码图片数据传输)相关的任何其他信息。
解码器30可以被配置成接收已编码图片数据21并提供已解码图片数据31或已解码图片31(进一步的细节将在下面例如基于图3或图5描述)。目的地装置14的后处理器32可以被配置成对已解码图片数据31(也称为重建的图片数据)例如已解码图片31进行后处理,以获得后处理的图片数据33(例如后处理的图片33)。由后处理单元32执行的后处理可以包括以下中的任何一个或更多个:颜色格式转换(例如从YCbCr到RGB)、颜色校正、修整或重新采样、或者例如用于准备已解码图片数据31以例如通过显示装置34进行显示的任何其他处理。
目的地装置14的显示装置34可以被配置成接收后处理的图片数据33以用于例如向用户或观看者显示图片。显示装置34可以是或包括用于呈现重建的图片的任何种类的显示器,例如集成的或外部的显示器或监视器。显示器可以是液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅上液晶(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任何类型的其他显示器。
尽管图1A将源装置12和目的地装置14描绘为单独的装置,但是装置的实施方式也可以包括两个装置或两个功能,即源装置12或相应的功能以及目的地装置14或相应的功能。在这样的实施方式中,源装置12或相应的功能和目的地装置14或相应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
基于该描述,对于本领域技术人员来说明显的是,如图1A所示的源装置12和/或目的地装置14内的不同单元或功能的存在和(准确的)功能的划分可以根据实际装置和应用而变化。
编码器20(例如视频编码器20)或解码器30(例如视频解码器30)或编码器20和解码器30两者都可以经由如图1B所示的处理电路来实现,所述处理电路例如一个或更多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、离散逻辑、硬件、专用视频译码或其任意组合。编码器20可以经由处理电路46来实现,以体现如关于图2的编码器20所讨论的各种模块和/或本文描述的任何其他编码器***或子***。解码器30可以经由处理电路46来实现,以体现如关于图3的解码器30所讨论的各种模块和/或本文描述的任何其他解码器***或子***。处理电路可以被配置成执行稍后讨论的各种操作。如图5所示,如果这些技术部分地以软件实现,则装置可以将针对软件的指令存储在合适的非暂态计算机可读存储介质中,并且可以使用一个或更多个处理器在硬件中执行指令以执行本公开内容的技术。视频编码器20和视频解码器30可以集成为单个装置中的组合编码器/解码器(CODEC)的一部分,例如如图1B所示。
图1B所示的视频译码***40包括实现视频编码器20和视频解码器30两者的处理电路。另外,一个或更多个成像装置41(例如用于捕获真实世界图片的摄像装置)、天线42、一个或更多个存储器44、一个或更多个处理器43和/或显示装置45(例如上述显示装置34)可以被提供作为视频译码***40的一部分。
源装置12和目的地装置14可以包括各种装置中的任何一种,包括任何种类的手持或固定装置,例如笔记本或膝上型计算机、移动电话、智能电话、平板电脑或平板计算机、摄像装置、台式计算机、机顶盒、电视、显示装置、数字媒体播放器、视频游戏控制台、视频流装置(例如内容服务服务器或内容递送服务器)、广播接收器装置、广播发送器装置等,并且可以不使用或使用任何种类的操作***。在一些情况下,源装置12和目的地装置14可以被配备用于无线通信。因此,源装置12和目的地装置14可以是无线通信装置。
在一些情况下,图1A所示的视频译码***10仅仅是示例,并且本申请的技术可以应用于不一定包括编码装置与解码装置之间的任何数据通信的视频译码(例如,视频编码或视频解码)***。在其他示例中,数据从本地存储器中检索,通过网络进行流传输,等等。视频编码装置可以对数据进行编码并将数据存储在存储器中,以及/或者视频解码装置可以从存储器中检索数据并对数据进行解码。在一些示例中,编码和解码由彼此不通信而是仅将数据编码至存储器以及/或者从存储器中检索数据并对数据进行解码的装置执行。
为了方便描述,本文例如通过参考高效视频译码(High-Efficiency VideoCoding,HEVC)或通用视频译码(Versatile Video coding,VVC)的参考软件描述了本公开内容的实施方式,VVC即由ITU-T视频译码专家组(Video Coding Experts Group,VCEG)和ISO/IEC运动图片专家组(Motion Picture Experts Group,MPEG)的视频译码联合协作小组(Joint Collaboration Team on Video Coding,JCT-VC)开发的下一代视频译码标准。本领域普通技术人员将理解,本公开内容的实施方式不限于HEVC或VVC。
编码器和编码方法
图2示出了被配置成实现本申请的技术的示例视频编码器20的示意框图。在图2的示例中,视频编码器20包括输入201(或输入接口201)、残差计算单元204、变换处理单元206、量化单元208、逆量化单元210和逆变换处理单元212、重建单元214、环路滤波器单元220、已解码图片缓冲器(decoded picture buffer,DPB)230、模式选择单元260、熵编码单元270和输出272(或输出接口272)。模式选择单元260可以包括帧间预测单元244、帧内预测单元254和分割单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。如图2所示的视频编码器20也可以被称为混合视频编码器或根据混合视频编解码的视频编码器。
残差计算单元204、变换处理单元206、量化单元208和模式选择单元260可以被称为形成编码器20的前向信号路径,而逆量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、已解码图片缓冲器(DPB)230、帧间预测单元244和帧内预测单元254可以被称为形成视频编码器20的后向信号路径,其中,视频编码器20的后向信号路径对应于解码器(参见图3中的视频解码器30)的信号路径。逆量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、已解码图片缓冲器(DPB)230、帧间预测单元244和帧内预测单元254也被称为形成视频编码器20的“内置解码器”。
图片和图片分割(图片和块)
编码器20可以被配置成例如经由输入201接收图片17(或图片数据17),例如形成视频或视频序列的图片序列中的图片。接收的图片或图片数据也可以是预处理的图片19(或预处理的图片数据19)。为了简单起见,下面的描述涉及图片17。图片17也可以被称为当前图片或待译码的图片(特别是在视频译码中,以将当前图片与其他图片例如相同视频序列(即也包括当前图片的视频序列)的先前已编码和/或已解码图片区分开来)。
(数字)图片是或可以被视为具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以称为像素(图片元素的简称)或像元(pel)。阵列或图片的水平和竖直方向(或轴)上的样本的数量限定了图片的大小和/或分辨率。对于颜色的表示,通常采用三个颜色分量,即图片可以被表示为三个样本阵列或包括三个样本阵列。在RBG格式或颜色空间中,图片包括相应的红、绿和蓝样本阵列。然而,在视频译码中,每个像素通常以亮度和色度格式或颜色空间(例如YCbCr)表示,YCbCr包括由Y(有时也代替地使用L)指示的亮度分量和由Cb和Cr指示的两个色度分量。亮度(或简称luma(亮度))分量Y表示明亮度或灰度级强度(例如,像灰度级图片中那样),而两个色度(或简称chroma(色度))分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图片包括亮度样本值的亮度样本阵列(Y)和色度值的两个色度样本阵列(Cb和Cr)。RGB格式的图片可以转换或变换成YCbCr格式,反之YCbCr格式的图片可以转换或变换成RGB格式。该处理也称为颜色变换或转换。如果图片是单色的,则图片可以仅包括亮度样本阵列。因此,图片可以是例如单色格式的亮度样本阵列或者4:2:0、4:2:2和4:4:4颜色格式的亮度样本阵列和两个相应的色度样本阵列。
视频编码器20的实施方式可以包括被配置成将图片17分割成多个(通常不重叠)图片块203的图片分割单元(图2中未描绘)。这些块也可以被称为根块、宏块(H.264/AVC)或译码树块(coding tree block,CTB)或译码树单元(coding tree unit,CTU)(根据H.265/HEVC和VVC)。图片分割单元可以被配置成针对视频序列的所有图片使用相同的块大小以及限定块大小的相应网格,或者在图片或图片子集或图片组之间改变块大小,并且将每个图片分割成相应的块。
在另外的实施方式中,视频编码器可以被配置成直接接收图片17的块203,例如形成图片17的一个块、若干块或所有块。图片块203也可以称为当前图片块或待译码的图片块。
像图片17一样,图片块203是或者可以被视为具有强度值(样本值)的样本的二维阵列或矩阵,尽管其尺寸小于图片17的尺寸。换句话说,块203可以包括例如一个样本阵列(例如,在单色图片17的情况下是亮度阵列,或者在彩色图片的情况下是亮度阵列或色度阵列)或者三个样本阵列(例如,在彩色图片17的情况下是亮度阵列和两个色度阵列)或者任何其他数量和/或种类的阵列,这取决于所应用的颜色格式。块203的水平和竖直方向(或轴)上的样本的数量限定了块203的大小。因此,块可以例如包括M×N(M列乘N行)样本阵列,或者M×N变换系数阵列。
如图2所示的视频编码器20的实施方式可以被配置成逐块地对图片17进行编码,例如,对每个块203执行编码和预测。
如图2所示的视频编码器20的实施方式还可以被配置成通过使用切片(slice)(也称为视频切片)来分割图片以及/或者对图片进行编码,其中,图片可以被分割成一个或更多个切片(通常不重叠)或者使用一个或更多个切片对图片进行编码,并且每个切片可以包括一个或更多个块(例如,CTU)。
如图2所示的视频编码器20的实施方式还可以被配置成通过使用瓦片(tile)组(也称为视频瓦片组)和/或瓦片(也称为视频瓦片)来分割图片以及/或者对图片进行编码,其中,图片可以被分割成一个或更多个瓦片组(通常不重叠)或者使用一个或更多个瓦片组对图片进行编码,并且每个瓦片组可以包括一个或更多个块(例如CTU)或一个或更多个瓦片,其中,每个瓦片可以具有矩形形状并且可以包括一个或更多个块(例如CTU),例如完整或部分块。
残差计算
残差计算单元204可以被配置成基于图片块203和预测块265(稍后提供关于预测块265的另外的细节),例如通过逐样本(逐像素)地从图片块203的样本值中减去预测块265的样本值以获得样本域中的残差块205,来计算残差块205(也称为残差205)。
变换
变换处理单元206可以被配置成对残差块205的样本值应用变换(例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST))以获得变换域中的变换系数207。变换系数207也可以被称为变换残差系数,并且表示变换域中的残差块205。
变换处理单元206可以被配置成应用DCT/DST的整数近似,例如针对H.265/HEVC指定的变换。与正交DCT变换相比,这样的整数近似通常通过一定的因子进行缩放。为了保持由正向和逆向变换处理的残差块的规范,应用附加的缩放因子作为变换处理的一部分。通常基于某些约束(例如缩放因子是2的幂以用于移位操作)、变换系数的位深度、准确度和实现成本之间的折衷等来选择缩放因子。具体的缩放因子例如被指定用于例如由逆变换处理单元212进行的逆变换(以及例如由视频解码器30处的逆变换处理单元312进行的相应的逆变换),并且可以相应地指定用于例如由编码器20处的变换处理单元206进行的前向变换的相应缩放因子。
视频编码器20(相应地变换处理单元206)的实施方式可以被配置成例如直接输出变换参数(例如一种或更多种变换的类型)或者输出经由熵编码单元270编码或压缩的变换参数,使得例如视频解码器30可以接收变换参数并使用变换参数以进行解码。
量化
量化单元208可以被配置成例如通过应用标量量化或矢量量化来量化变换系数207以获得量化的系数209。量化的系数209也可以被称为量化的变换系数209或量化的残差系数209。
量化处理可以减小与一些或所有变换系数207相关联的位深度。例如,在量化期间,n位变换系数可以向下舍入到m位变换系数,其中,n大于m。量化的程度可以通过调整量化参数(quantization parameter,QP)来修改。例如,对于标量量化,可以应用不同的缩放以实现更精细或更粗略的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗略的量化。适用的量化步长可以由量化参数(QP)来指示。量化参数例如可以是预定义的适用量化步长的集合的索引。例如,小量化参数可以对应于精细量化(小量化步长),以及大量化参数可以对应于粗略量化(大量化步长),反之亦然。量化可以包括除以量化步长,以及例如由逆量化单元210进行的相应的去量化和/或逆去量化可以包括乘以量化步长。根据一些标准(例如HEVC)的实施方式可以被配置成使用量化参数来确定量化步长。一般地,可以使用包括除法的方程的定点近似基于量化参数来计算量化步长。可以针对量化和去量化引入额外的缩放因子以恢复残差块的规范,由于在针对量化步长和量化参数的方程的定点近似中使用的缩放,残差块的规范可能被修改。在一个示例性实现中,去量化和逆变换的缩放可以被组合。可替选地,可以使用定制的量化表,并且例如以比特流从编码器向解码器用信号传送定制的量化表。量化是有损操作,其中,损耗随着量化步长的增加而增加。
视频编码器20(相应地量化单元208)的实施方式可以被配置成例如直接输出量化参数(QP)或者输出经由熵编码单元270编码的量化参数(QP),使得例如视频解码器30可以接收量化参数并应用量化参数以进行解码。
逆量化
逆量化单元210被配置成例如通过基于或使用与量化单元208相同的量化步长应用由量化单元208应用的量化方案的逆方案来对量化的系数应用量化单元208的逆量化,以获得去量化的系数211。去量化的系数211也可以被称为去量化的残差系数211,并且对应于变换系数207(尽管由于量化引起的损失,通常与变换系数不相同)。
逆变换
逆变换处理单元212被配置成应用由变换处理单元206应用的变换的逆变换(例如逆离散余弦变换(DCT)或逆离散正弦变换(DST)或其他逆变换)以获得样本域中的重建的残差块213(或对应的去量化的系数213)。重建的残差块213也可以被称为变换块213。
重建
重建单元214(例如加法器或求和器214)被配置成例如通过逐样本地将重建的残差块213的样本值和预测块265的样本值相加来将变换块213(即重建的残差块213)和预测块265相加,以获得样本域中的重建的块215。
滤波
环路滤波器单元220(或简称“环路滤波器”220)被配置成对重建的块215进行滤波以获得经滤波的块221,或者一般地对重建的样本进行滤波以获得经滤波的样本。环路滤波器单元可以被配置成平滑像素转变或者以其他方式提高视频质量。环路滤波器单元220可以包括一个或更多个环路滤波器(例如去块滤波器、样本自适应偏移(sample-adaptiveoffset,SAO)滤波器)或一个或更多个其他滤波器(例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF)、锐化滤波器、平滑滤波器或协作滤波器)或其任意组合。尽管环路滤波器单元220在图2中被示出为环路中(in-loop)滤波器,但是在其他配置中,环路滤波器单元220可以被实现为环路后(post loop)滤波器。经滤波的块221也可以被称为经滤波的重建块221。
视频编码器20(相应地环路滤波器单元220)的实施方式可以被配置成例如直接输出环路滤波器参数(例如样本自适应偏移信息)或者输出经由熵编码单元270编码的环路滤波器参数,使得例如解码器30可以接收环路滤波器参数并应用相同的环路滤波器参数或相应的环路滤波器以进行解码。
已解码图片缓冲器
已解码图片缓冲器(DPB)230可以是存储参考图片或一般地参考图片数据以用于由视频编码器20对视频数据进行编码的存储器。DPB 230可以由各种存储器装置中的任何一种存储器装置形成,所述存储器装置例如包括同步DRAM(synchronous DRAM,SDRAM)的动态随机存取存储器(dynamic random access memory,DRAM)、磁阻式RAM(magnetoresistive RAM,MRAM)、电阻式RAM(resistive RAM,RRAM)或其他类型的存储器装置。已解码图片缓冲器(DPB)230可以被配置成存储一个或更多个经滤波的块221。已解码图片缓冲器230还可以被配置成存储相同当前图片或不同图片(例如,先前重建的图片)的其他先前经滤波的块(例如,先前重建的和经滤波的块221),并且可以提供完整的先前重建的(即已解码的)图片(和相应的参考块和样本)和/或部分重建的当前图片(和相应的参考块和样本)例如以用于帧间预测。已解码图片缓冲器(DPB)230还可以被配置成例如在重建的块215没有被环路滤波器单元220滤波的情况下存储一个或更多个未经滤波的重建的块215,或者一般地未经滤波的重建的样本,或者存储重建的块或样本的任何其他进一步处理的版本。
模式选择(分割和预测)
模式选择单元260包括分割单元262、帧间预测单元244和帧内预测单元254,并且被配置成接收或获得原始图片数据例如原始块203(当前图片17的当前块203),以及重建的图片数据,例如相同(当前)图片的和/或来自一个或多个先前已解码图片(例如来自已解码图片缓冲器230或其他缓冲器(例如线缓冲器,未示出))的经滤波的和/或未经滤波的重建的样本或块。重建的图片数据被用作参考图片数据以进行预测(例如帧间预测或帧内预测)以获得预测块265或预测项265。
模式选择单元260可以被配置成确定或选择针对当前块预测模式的分割(包括无分割)和预测模式(例如,帧内或帧间预测模式),并且生成用于残差块205的计算和重建的块215的重建的相应预测块265。
模式选择单元260的实施方式可以被配置成(例如,从模式选择单元260支持的或针对模式选择单元260可用的分割和预测模式中)选择分割和预测模式,该分割和预测模式提供最佳匹配或者换言之最小残差(最小残差意味着用于传输或存储的更好的压缩)或者最小信令开销(最小信令开销意味着用于传输或存储的更好的压缩),或者其考虑或平衡两者。模式选择单元260可以被配置成基于率失真优化(rate distortion optimization,RDO)来确定分割和预测模式,即选择提供最小率失真的预测模式。如“最佳”、“最小”、“最优”等术语在本文中不一定指总体上的“最佳”、“最小”、“最优”等,而是也可以指满足终止标准或选择标准(例如值超过阈值或降至低于阈值)或者可能导致“次优选择”但减少复杂性和处理时间的其他约束。
换句话说,分割单元262可以被配置成例如迭代地使用四叉树分割(quad-tree-partitioning,QT)、二叉树分割(binary-tree partitioning,BT)或三叉树分割(triple-tree-partitioning,TT)或其任意组合来将块203分割成更小的块分区或子块(这些块分区或子块另外形成块),并且执行针对块分区或子块的每一个的预测,其中,模式选择包括对被分割的块203的树结构的选择,并且将预测模式应用于块分区或子块中的每一个。
在下文中,将更详细地说明由示例视频编码器20执行的(例如,通过分割单元262进行的)分割和(通过帧间预测单元244和帧内预测单元254进行的)预测处理。
分割
分割单元262可以将当前块203分割(或划分)成较小的分区,例如正方形或矩形大小的较小块。这些较小的块(也可以称为子块)还可以分割成甚至更小的分区。这也称为树分割或分层树分割,其中,例如在树根级0(层级0,深度0)处的根块可以被递归地分割,例如被分割成下一较低树级的两个或更多个块,例如在树级1(层级1,深度1)处的节点,其中,这些块可以再次被分割成下一较低级别(例如树级2(层级2,深度2)等)的两个或更多个块,直到例如由于满足终止标准(例如达到最大树深度或最小块大小)而终止分割。没有进一步分割的块也被称为树的叶块或叶节点。使用至两个分区的分割的树称为二叉树(BT),使用至三个分区的分割的树称为三元树(ternary-tree,TT),以及使用至四个分区的分割的树称为四叉树(QT)。
如前所述,本文使用的术语“块”可以是图片的一部分,特别是正方形或矩形部分。例如,参考HEVC和VVC,块可以是或对应于译码树单元(CTU)、译码单元(coding unit,CU)、预测单元(prediction unit,PU)或变换单元(transform unit,TU)和/或对应的块,例如译码树块(CTB)、译码块(coding block,CB)、变换块(transform block,TB)或预测块(prediction block,PB)。
例如,译码树单元(CTU)可以是或包括具有三个样本阵列的图片的亮度样本的CTB和色度样本的两个对应的CTB、或者使用三个单独的颜色平面和用于对样本进行译码的语法结构进行译码的图片或单色图片的样本的CTB。相应地,针对N的某些值,译码树块(CTB)可以是N×N样本块,使得将分量拆分为CTB是一种分割。译码单元(CU)可以是或包括具有三个样本阵列的图片的亮度样本的译码块和色度样本的两个对应译码块、或者使用三个单独的颜色平面和用于对样本进行译码的语法结构进行译码的图片或单色图片的样本的译码块。相应地,针对M和N的某些值,译码块(CB)可以是M×N样本块,使得将CTB拆分为译码块是一种分割。
在一些实施方式中,例如根据HEVC,译码树单元(CTU)可以通过使用被表示为译码树的四叉树结构被划分成CU。是使用图片间(时间)预测还是图片内(空间)预测对图片区域进行译码的决定是在CU级别处做出的。根据PU划分类型,每个CU可以进一步划分成一个、两个或四个PU。在一个PU内,应用相同的预测处理,并且在PU的基础上向解码器传输相关信息。在通过基于PU划分类型应用预测处理来获得残差块之后,可以根据与用于CU的译码树相似的另一四叉树结构将CU分割成变换单元(TU)。
在实施方式中,例如根据当前发展中的最新视频译码标准(其被称为通用视频译码(VVC)),组合的四叉树和二叉树(quad-tree and binary-tree,QTBT)分割例如被用于分割译码块。在QTBT块结构中,CU可以具有正方形或矩形形状。例如,译码树单元(CTU)首先通过四叉树结构分割。四叉树叶节点通过二叉树或三元(或三叉)树结构进一步分割。分割的树叶节点被称为译码单元(CU),并且该分割用于预测和变换处理,而不需要任何进一步的分割。这意味着在QTBT译码块结构中CU、PU和TU具有相同的块大小。并行地,多个分割(例如三叉树分割)可以与QTBT块结构一起使用。
在一个示例中,视频编码器20的模式选择单元260可以被配置成执行本文描述的分割技术的任何组合。
如上所述,视频编码器20被配置成从(例如,预定的)预测模式的集合确定或选择最佳或最优预测模式。预测模式的集合可以包括帧内预测模式和/或帧间预测模式。
帧内预测
帧内预测模式的集合可以包括35种不同的帧内预测模式,例如像DC(或均值)模式和平面模式这样的非定向模式,或者定向模式,例如如在HEVC中定义的那样,或者可以包括67种不同的帧内预测模式,例如像DC(或均值)模式和平面模式这样的非定向模式,或者定向模式,例如如针对VVC定义的那样。
帧内预测单元254被配置成根据来自帧内预测模式的集合的帧内预测模式使用相同当前图片的相邻块的重建的样本来生成(帧内)预测块265。
帧内预测单元254(或者一般地模式选择单元260)还可以被配置成以语法元素266的形式向熵编码单元270输出帧内预测参数(或者一般地指示针对块的所选帧内预测模式的信息)以包括在已编码图片数据21中,使得例如视频解码器30可以接收并使用预测参数以进行解码。
帧间预测
帧间预测模式(或可能的帧间预测模式)的集合取决于可用的参考图片(即,例如存储在DBP 230中的先前至少部分已解码的图片)和其他帧间预测参数,例如整个参考图片或参考图片的仅一部分(例如,当前块的区域周围的搜索窗口区域)是否用于搜索最佳匹配的参考块,以及/或者例如是否应用像素插值(例如一半像元/半像元和/或四分之一像元插值)。
除了上述预测模式之外,可以应用跳过模式和/或直接模式。
帧间预测单元244可以包括运动估计(motion estimation,ME)单元和运动补偿(motion compensation,MC)单元(图2中均未示出)。运动估计单元可以被配置成接收或获得图片块203(当前图片17的当前图片块203)和已解码图片231,或者至少一个或多个先前重建的块(例如一个或多个先前已解码图片231的重建的块)以用于运动估计。作为示例,视频序列可以包括当前图片和先前已解码图片231,或者换句话说,当前图片和先前已解码图片231可以是形成视频序列的图片序列的一部分或者可以形成该图片序列。
如下文将更详细描述的,本公开内容提出使用MinMax方法来导出用于局部光照补偿(LIC)的线性模型参数。LIC是通用视频译码(VVC)中用于改进运动补偿的技术之一。LIC被应用于运动补偿的结果,或者一般地应用于帧间预测的结果。LIC包括通过将预测样本(相应地样本的值)乘以第一参数α(相应地第一参数α的值)并加上第二参数β(相应地第二参数β的值)来调整预测样本。参数α和β是从所使用的当前块和参考块的相邻样本导出的。
编码器20可以被配置成从多个先前已解码图片中的相同或不同图片的多个参考块中选择参考块,并且向运动估计单元提供参考图片(或参考图片索引)和/或参考块的位置(x,y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数。这种偏移也称为运动矢量(MV)。
运动补偿单元可以被配置成获得(例如,接收)帧间预测参数,并且基于或使用帧间预测参数来执行帧间预测以获得(帧间)预测块265。由运动补偿单元执行的运动补偿可以涉及基于通过运动估计确定的运动/块矢量来获得或生成预测块,可能针对亚像素精度执行插值。插值滤波可以根据已知的像素样本生成另外的像素样本,因此潜在地增加了可以用于对图片块进行译码的候选预测块的数量。当接收到针对当前图片块的PU的运动矢量时,运动补偿单元可以在参考图片列表之一中定位运动矢量指向的预测块。
运动补偿单元还可以生成与块和视频切片相关联的语法元素以供视频解码器30在对视频切片的图片块进行解码时使用。除了切片和相应语法元素之外或作为切片和相应语法元素的替选,可以生成或使用瓦片组和/或瓦片和相应语法元素。
熵译码
熵编码单元270被配置成对量化的系数209、帧间预测参数、帧内预测参数、环路滤波器参数和/或其他语法元素应用例如熵编码算法或方案(例如,可变长度译码(variablelength coding,VLC)方案、上下文自适应VLC方案(context adaptive VLC,CAVLC)、算术译码方案、二值化、上下文自适应二进制算术译码(context adaptive binary arithmeticcoding,CABAC)、基于语法的上下文自适应二进制算术译码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probability intervalpartitioning entropy,PIPE)译码或另一熵编码方法或技术)或旁路(无压缩),以获得已编码图片数据21,该已编码图片数据21可以经由输出272例如以已编码比特流21的形式输出,使得例如视频解码器30可以接收并使用这些参数以进行解码。已编码比特流21可以被传输至视频解码器30,或者存储在存储器中以稍后传输或供视频解码器30检索。
视频编码器20的其他结构变型可以用于对视频流进行编码。例如,基于无变换的编码器20可以针对某些块或帧直接对残差信号进行量化,而无需变换处理单元206。在另一实现中,编码器20可以将量化单元208和逆量化单元210组合成单个单元。
解码器和解码方法
图3示出了被配置成实现本申请的技术的视频解码器30的示例。视频解码器30被配置成接收例如由编码器20编码的已编码图片数据21(例如已编码比特流21)以获得已解码图片331。已编码图片数据或比特流包括用于对已编码图片数据(例如表示已编码视频切片(和/或瓦片组或瓦片)的图片块和相关联语法元素的数据)进行解码的信息。
在图3的示例中,解码器30包括熵解码单元304、逆量化单元310、逆变换处理单元312、重建单元314(例如求和器314)、环路滤波器320、已解码图片缓冲器(DBP)330、模式应用单元360、帧间预测单元344和帧内预测单元354。帧间预测单元344可以是或包括运动补偿单元。在一些示例中,视频解码器30可以执行与关于图2的视频编码器20描述的编码过程大体相反的解码过程。
如关于编码器20所说明的,逆量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、已解码图片缓冲器(DPB)230、帧间预测单元244和帧内预测单元254也被称为形成视频编码器20的“内置解码器”。因此,逆量化单元310在功能上可以与逆量化单元210相同,逆变换处理单元312在功能上可以与逆变换处理单元212相同,重建单元314在功能上可以与重建单元214相同,环路滤波器320在功能上可以与环路滤波器220相同,并且已解码图片缓冲器330在功能上可以与已解码图片缓冲器230相同。因此,针对视频编码器20的相应单元和功能提供的说明相应地适用于视频解码器30的相应单元和功能。
熵解码
熵解码单元304被配置成解析比特流21(或者一般地已编码图片数据21)并且对已编码图片数据21执行例如熵解码,以获得例如量化的系数309和/或已解码的译码参数366,例如帧间预测参数(例如参考图片索引和运动矢量)、帧内预测参数(例如帧内预测模式或索引)、变换参数、量化参数、环路滤波器参数和/或其他语法元素中的任何或全部。熵解码单元304可以被配置成应用与关于编码器20的熵编码单元270描述的编码方案相对应的解码算法或方案。熵解码单元304还可以被配置成向模式应用单元360提供帧间预测参数、帧内预测参数和/或其他语法元素,并且向解码器30的其他单元提供其他参数。视频解码器30可以以视频切片级别和/或视频块级别接收语法元素。除了切片和相应语法元素之外或作为切片和相应语法元素的替选,可以接收和/或使用瓦片组和/或瓦片和相应语法元素。
逆量化
逆量化单元310可以被配置成接收来自已编码图片数据21的(例如,通过例如由熵解码单元304进行解析和/或解码的)量化参数(QP)(或者一般地与逆量化相关的信息)和量化的系数,并且基于量化参数对已解码的量化的系数309应用逆量化以获得去量化的系数311(其也可以被称为变换系数311)。逆量化处理可以包括使用由视频编码器20针对视频切片(或瓦片或瓦片组)中的每个视频块确定的量化参数来确定量化程度,并且同样地确定应当应用的逆量化程度。
逆变换
逆变换处理单元312可以被配置成接收去量化的系数311(也称为变换系数311),并且对去量化的系数311应用变换,以便获得样本域中的重建的残差块313。重建的残差块313也可以被称为变换块313。该变换可以是逆变换,例如逆DCT、逆DST、逆整数变换或概念上类似的逆变换处理。逆变换处理单元312还可以被配置成接收来自已编码图片数据21的(例如,通过例如由熵解码单元304进行解析和/或解码的)变换参数或相应的信息,以确定要应用于去量化的系数311的变换。
重建
重建单元314(例如加法器或求和器314)可以被配置成例如通过将重建的残差块313的样本值和预测块365的样本值相加来将重建的残差块313和预测块365相加,以获得样本域中的重建的块315。
滤波
环路滤波器单元320(在译码环路中或在译码环路之后)被配置成对重建的块315进行滤波以获得经滤波的块321例如以平滑像素转变,或者以其他方式提高视频质量。环路滤波器单元320可以包括一个或更多个环路滤波器(例如去块滤波器、样本自适应偏移(SAO)滤波器)或一个或更多个其他滤波器(例如双边滤波器、自适应环路滤波器(ALF)、锐化滤波器、平滑滤波器或协作滤波器)或其任意组合。尽管环路滤波器单元320在图3中被示为环路中滤波器,但是在其他配置中,环路滤波器单元320可以被实现为环路后滤波器。
已解码图片缓冲器
已解码视频图片块321然后存储在已解码图片缓冲器330中,该已解码图片缓冲器330存储已解码图片331作为参考图片以用于针对其他图片的后续运动补偿以及/或者用于输出或相应地显示。
解码器30被配置成例如经由输出312输出已解码图片311以用于呈现或供用户观看。
预测
帧间预测单元344在功能上可以与帧间预测单元244(特别是与运动补偿单元)相同,并且帧内预测单元354在功能上可以与帧内预测单元254相同,并且基于从已编码图片数据21接收的(例如,通过例如由熵解码单元304进行解析和/或解码的)分割和/或预测参数或相应信息来执行划分或分割决策和预测。模式应用单元360可以被配置成基于重建的图片、块或相应的样本(经滤波或未经滤波),对每个块执行预测(帧内或帧间预测)以获得预测块365。
当视频切片或图片被译码为帧内译码的(I)切片时,模式应用单元360的帧内预测单元354被配置成基于用信号传送的帧内预测模式和来自当前图片的先前已解码块的数据针对当前视频切片的图片块生成预测块365。当视频切片或图片被译码为帧间译码的(即,B或P)切片时,模式应用单元360的帧间预测单元344(例如,运动补偿单元)被配置成基于从熵解码单元304接收的运动矢量和其他语法元素来针对当前视频切片的视频块产生预测块365。对于帧间预测,可以从参考图片列表之一内的参考图片之一产生预测块。视频解码器30可以使用基于存储在DPB 330中的参考图片的默认构建技术来构建参考图片列表,列表0和列表1。相同或相似的方法可以应用于——除了切片(例如视频切片)之外或作为切片(例如视频切片)的替选,使用瓦片组(例如视频瓦片组)和/或瓦片(例如视频瓦片)的——实施方式或者由这些实施方式应用,例如可以使用I、P或B瓦片组和/或瓦片对视频进行译码。
模式应用单元360被配置成通过解析运动矢量或相关信息以及其他语法元素来确定针对当前视频切片的视频/图片块的预测信息,并且使用预测信息来针对正被解码的当前视频块产生预测块。例如,模式应用单元360使用一些接收到的语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、针对切片的一个或更多个参考图片列表的构建信息、针对切片的每个帧间译码视频块的运动矢量、针对切片的每个帧间译码视频块的帧间预测状态以及用于对当前视频切片中的视频块进行解码的其他信息。相同或相似的方法可以应用于——除了切片(例如视频切片)之外或作为切片(例如视频切片)的替选,使用瓦片组(例如视频瓦片组)和/或瓦片(例如视频瓦片)的——实施方式或者由这些实施方式应用,例如可以使用I、P或B瓦片组和/或瓦片对视频进行译码。
如图3所示的视频解码器30的实施方式可以被配置成通过使用切片(也称为视频切片)来分割图片以及/或者对图片进行解码,其中,图片可以被分割成一个或更多个切片(通常不重叠)或者使用一个或更多个切片对图片进行解码,并且每个切片可以包括一个或更多个块(例如CTU)。
如图3所示的视频解码器30的实施方式可以被配置成通过使用瓦片组(也称为视频瓦片组)和/或瓦片(也称为视频瓦片)来分割图片以及/或者对图片进行解码,其中,图片可以被分割成一个或更多个瓦片组(通常不重叠)或者使用一个或更多个瓦片组对图片进行解码,并且每个瓦片组可以包括一个或更多个块(例如CTU)或一个或更多个瓦片,其中,每个瓦片可以具有矩形形状并且可以包括一个或更多个块(例如CTU),例如完整或部分块。
视频解码器30的其他变型可以用于对已编码图片数据21进行解码。例如,解码器30可以在没有环路滤波单元320的情况下产生输出视频流。例如,基于无变换的解码器30可以针对某些块或帧直接对残差信号进行逆量化,而无需逆变换处理单元312。在另一实现中,视频解码器30可以将逆量化单元310与逆变换处理单元312组合成单个单元。
应当理解,在编码器20和解码器30中,当前步骤的处理结果可以被进一步处理并且然后输出至下一步骤。例如,在插值滤波、运动矢量导出或环路滤波之后,可以对插值滤波、运动矢量导出或环路滤波的处理结果执行另外的操作,例如裁剪或移位。
应当注意,另外的操作可以应用于当前块的导出运动矢量(包括但不限于仿射模式的控制点运动矢量、仿射模式、平面模式、ATMVP模式中的子块运动矢量、时间运动矢量等)。例如,运动矢量的值根据其表示位数被约束至预定义范围。如果运动矢量的表示位数是bitDepth,则范围是-2^(bitDepth-1)~2^(bitDepth-1)-1,其中,“^”意指幂运算。例如,如果bitDepth被设置为等于16,则范围为-32768~32767;如果bitDepth被设置为等于18,则范围为-131072~131071。例如,导出运动矢量(例如,一个8×8块内的四个4×4子块的MV)的值被约束,使得四个4×4子块MV的整数部分之间的最大差异不超过N个像素,例如不超过1个像素。下面的描述提供了用于根据bitDepth来约束运动矢量的两种方法。
方法1:通过以下操作去除溢出的MSB(most significant bit,最高有效位):
ux(mvx+2bitDepth)%2bitDepth (1)
mvx=(ux>=2bitDepth-1)?(ux—2bitDepth):ux (2)
uy=(mvy+2bitDepth)%2bitDepth (3)
mvy(uy>=2bitDepth-1)?(uy-2bitDepth):uy (4)
其中,mvx是图像块或子块的运动矢量的水平分量,mvy是图像块或子块的运动矢量的竖直分量,以及ux和uy指示相应的中间值;
例如,如果mvx的值为-32769,则在应用公式(1)和(2)后,得到的值为32767。在计算机***中,十进制数存储为二进制补码。-32769的二进制补码是1,0111,1111,1111,1111(17位)。然后丢弃MSB,因此得到的二进制补码是0111,1111,1111,1111(十进制数是32767),其与通过应用公式(1)和(2)得到的输出相同。
ux=(mvpx+mvdx+2bitDepth)%2bitDepth (5)
mvx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux (6)
uy=(mvpy+mvdy+2bttDepth)%2bitDepth (7)
mvy=(uy>=2bitDcpth-1)?(uy-2bitDcpth):uy (8)
如公式(5)至(8)所示,可以在运动矢量预测项mvp与运动矢量差mvd求和期间应用这些操作。
方法2:通过裁剪值来去除溢出的MSB
vx=Clip3(-2bitDepth-1,2bitDepth-1-1,vx)
vy=Clip3(-2bitDepth-1,2bitDepth-1-1,vy)
其中,vx是图像块或子块的运动矢量的水平分量,vy是图像块或子块的运动矢量的竖直分量;x、y和z分别对应于MV裁剪处理的三个输入值,以及函数Clip3的定义如下:
图4是根据本公开内容的实施方式的视频译码装置400的示意图。视频译码装置400适合于实现下面描述的公开实施方式。在实施方式中,视频译码装置400可以是解码器(例如图1A的视频解码器30)或者编码器(例如图1A的视频编码器20)。
视频译码装置400可以包括用于接收数据的进入端口410(或输入端口410)和一个或更多个接收器单元(receiver unit,Rx)420;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,CPU)430:用于发送数据的一个或更多个发送器单元(transmitter unit,Tx)440和送出端口450(或输出端口450);和用于存储数据的存储器460。视频译码装置400还可以包括耦接至进入端口410、接收器单元420、发送器单元440和送出端口450的用于光信号或电信号的送出或进入的光电(optical-to-electrical,OE)部件和电光(electrical-to-optical,EO)部件。
处理器430可以由硬件和软件实现。处理器430可以实现为一个或更多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430可以与进入端口410、接收器单元420、发送器单元440、送出端口450和存储器460进行通信。处理器430可以包括译码模块470。译码模块470实现上述和下述公开的实施方式。例如,译码模块470可以实现、处理、准备或提供各种译码操作。因此,译码模块470的包含对视频译码装置400的功能提供了实质性的改进,并且实现了视频译码装置400到不同状态的变换。可替选地,译码模块470可以被实现为存储在存储器460中并由处理器430执行的指令。
存储器460可以包括一个或更多个磁盘、磁带驱动器和固态驱动器,并且可以用作溢出数据存储装置,以在选择程序以用于执行时存储这样的程序,并且存储在程序执行期间读取的指令和数据。存储器460可以是例如易失性和/或非易失性的,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容可寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
图5是根据示例性实施方式的设备500的简化框图,该设备500可以用作来自图1A的源装置12和目的地装置14中的任一个或两者。
设备500中的处理器502可以是中央处理单元。可替选地,处理器502可以是能够操纵或处理现在存在的或以后开发的信息的任何其他类型的装置或多个装置。尽管所公开的实现可以用所示的单个处理器(例如处理器502)来实践,但是速度和效率方面的优势可以使用多于一个处理器来实现。
在实现中,设备500中的存储器504可以是只读存储器(ROM)装置或随机存取存储器(RAM)装置。任何其他合适类型的存储装置都可以用作存储器504。存储器504可以包括由处理器502使用总线512访问的代码和数据506。存储器504还可以包括操作***508和应用程序510,应用程序510包括允许处理器502执行本文描述的方法的至少一个程序。例如,应用程序510可以包括应用1至应用N,应用1至应用N还包括执行本文描述的方法的视频译码应用。
设备500还可以包括一个或更多个输出装置,例如显示器518。在一个示例中,显示器518可以是将显示器与可操作以感测触摸输入的触敏元件相结合的触敏显示器。显示器518可以经由总线512耦接至处理器502。
尽管此处被描绘为单个总线,但是设备500的总线512可以由多个总线组成。此外,辅助存储器(未示出)可以直接耦接至设备500的其他部件,或者可以经由网络被访问,并且可以包括诸如存储卡的单个集成单元或者诸如多个存储卡的多个单元。因此,设备500可以以各种各样的配置来实现。
以下更详细地描述了本文提出的构思。
局部光照补偿(LIC)是用于改进运动补偿的技术之一。LIC被应用于运动补偿的结果,或者一般地被应用于(例如,由如图2所示的编码器20的帧间预测单元244和/或如图3所示的解码器30的帧间预测单元344执行的)帧间预测的结果。
LIC包括通过将预测样本(相应地样本的值)乘以第一参数α(相应地第一参数α的值)并加上第二参数β(相应地第二参数β的值)来调整预测样本。使用最小均方方法从当前块和参考块的相邻样本导出参数α和β。可以用例如如图6所示的参考样本的一个或更多个子集导出参数α和β。
图6在左手侧示出了当前块601(例如当前CU)并且将参考样本(例如相邻样本)示出为实心黑色圆圈。诸如相邻样本的参考样本是例如与当前块的左边缘(或边界)和上边缘相邻的样本,并且可以属于例如当前块的先前重建的相邻块。图6在右手侧示出了参考块(例如用于当前块的帧间预测的参考块)并且将参考块的参考样本(例如相邻样本)示出为空心圆圈。参考块的参考样本(例如相邻样本)可以是例如与参考块602的左边缘和上边缘相邻的样本。在一个实现中,参考块602的相邻样本与当前块的相邻样本相对于参考块具有相同的相对位置。换句话说,参考块和当前块的相邻样本的(相对)位置匹配。图6示出了如下面参照图11进一步描述的下采样之后的针对当前块和参考块的参考样本。然而,本公开内容不限于下采样的参考样本,而是可以包括与块的左边缘和/或上边缘相邻的所有样本。
参考块602的相邻样本例如是在与参考块602的左边缘和上边缘相邻的位置处的已解码样本(例如,来自例如在环路中滤波和去块之后存储在DPB 230、330中的已解码图片231、331)。当前块601的相邻样本例如是在与当前块601的左边缘和上边缘相邻的位置处的重建样本(例如,例如在环路中滤波和去块之前的重建相邻块215、315的重建样本)。
本公开内容提供了用于与常规的基于互相关的LIC方法相比减少线性模型参数推导的延迟和复杂性以及用于与不具有线性模型参数条件裁剪的MinMax方法相比提高译码效率的方法和装置。所提出的方法和装置使用利用LIC参数之间的相互依赖的Min/Max方法。在计算β的值时,添加了MinMax参数的条件裁剪并使用平均值。
当用合并模式对块进行译码时,以类似于合并模式下的运动信息复制的方式例如从当前块的相邻块复制LIC标志。否则,针对该块用信号传送LIC标志,以指示是否应用LIC。
在编码器端,当针对块启用LIC时,去均值绝对差之和(mean-removed sumofabsolute difference,MR-SAD)和/或去均值绝对哈达玛变换差之和(mean-removed sumof absolute Hadamard-transformed difference,MR-SATD)可以用于估计失真,而不是分别针对整数像元运动搜索使用SAD以及针对分数像元运动搜索使用SATD(例如,针对整数像元运动搜索使用MR-SAD以及针对分数像元运动搜索使用MR-SATD)。
然而,最小均方(1east mean squared,LMS)误差计算可能会增加延迟值。具体地,以下公式:
其中,N是样本的数量,C(n)是当前块的相邻重建样本(例如,如图6所示的顶侧和/或左侧相邻样本),以及L(n)是参考块的相邻重建样本(例如,如图6所示的顶侧和/或左侧相邻样本)。
在示例性实现中,C是当前块的相邻样本的集合,以及L是参考块(即,用作用于运动补偿的输入并由运动矢量参考的块)的相邻样本的集合(例如,如图6所示的顶侧和/或左侧相邻样本)。
当导出参数α时,可以从集合C和集合L这两个集合中去除平均值。在这种情况下,考虑L与C的平均值之间的差来进一步计算参数β。
在跨分量线性模型(Cross-Component Linear Model,CCLM)预测中使用类似的方法,但是线性参数不用于更新帧间预测块的值(例如,针对当前块的帧间预测样本的值),而是用于根据亮度预测样本的值导出色度预测样本的值。
等式(1)和(2)需要大量的运算,这导致硬件复杂度增加。此外,可以并行执行的求和的数量是有限的,并且仅可以使用最少个顺序操作步骤来计算N个求和。
由于LIC是在运动补偿之后直接执行的,因此针对参数推导的顺序步骤的数量可能是关键的,因为其他帧内译码块的译码可能取决于当前帧间译码块(例如,针对组合帧内帧间预测、自适应环路滤波器等)。换句话说,在可以处理(例如解码)帧内译码块之前,必须首先重建当前帧间译码块,其中,只有在参数推导完成之后,才可以根据预测样本来重建当前块。
本公开内容的实施方式可以被配置成使用参考块的相邻样本的集合(被称为集合L)内的最小值和最大值以及该集合L内的这些最大值和最小值的对应位置来导出参数α和β。当前块的相邻样本的集合被称为集合C。在本公开内容的实施方式中,两个相邻样本集合C和L中的相邻样本的位置可以匹配,即可以相同。
在这种情况下,与LMS方法相比,操作的数量可以显著减少。
因此,本公开内容的实施方式提供了参数α和β的简化推导,并且因此提供了简化的LIC。
实施方式可以例如包括以下步骤:
-使用运动补偿获得(例如,针对图片的当前块例如当前CU的)帧间预测样本值(这些帧间预测样本值也可以被称为原始的、中间的或未补偿的预测项或预测块样本值,参见例如图2和图3中的附图标记265、365);
-根据从至少一个参考块(例如,在单预测的情况下仅一个参考块或者例如在双预测的情况下两个参考块或者甚至更多参考块)的相邻样本导出的值的集合L获得最小值xA(例如,最小参考或相邻值)和最大值xB(例如,最大参考或相邻值)以及对应的位置A和B,其中,A表示具有最小值xA的相邻样本的位置,以及B表示具有最大值xB的相邻样本的位置(位置A和B也可以称为相对位置,因为它们表示相邻样本相对于相应块(例如当前块和参考块)的位置的位置);
-获得当前块在获得的位置A和B处的相邻样本的值(分别称为yA和yB);
-使用获得的相邻样本的值例如通过以下等式获得参数α和β的值:
β=yA·αxA;以及
-应用参数α和β的计算值以例如通过以下等式获得帧间预测样本的更新值:pred′(x,y)=α·pred(x,.y)+β,其中,pred(x,y)表示通过帧间预测(相应地运动补偿)获得的原始预测项或预测块样本,以及pred’(x,y)表示针对样本(x,y)的更新的预测顶或预测块样本。这些更新的帧间预测样本值也可以被称为最终的或补偿的预测项或预测块样本值(参见图2和图3中的附图标记265、365),并且可以被直接使用或进一步处理以用于重建,以获得图片的重建的当前块215、315。在该背景下,代替“更新”,还可以涉及补偿、调整或修改。本公开内容的实施方式适用于亮度样本和色度样本两者。
参数α和β可以称为更新(或补偿或调整)参数。其他实施方式可以使用不同的更新参数和不同的处理来更新预测项或预测块样本值。
在单向预测的情况下,值的集合L由用于帧间预测的一个参考块的相邻样本组成。
图7示出了(x,v)坐标系(二维图),其中,图中的点的x坐标(在x轴上范围为1024)由集合L中的参考块的相邻样本的样本值给出,以及点的y坐标(在y轴上范围为1024)由集合C中的当前块的相应相邻样本(即,在相应的相对位置处)的样本值给出。在位置(xA,yA)处描绘了A以及在位置(xB,yB)处描绘了B。xA是集合L的样本值的最小样本值,以及xB是集合L的样本值的最大样本值。
在下文中,描述了本发明的各种实施方式。
实施方式的一个方面是用于计算或确定位置A和B的方式。
在实施方式中,位置A和B对应于集合L内的最小和最大样本值的位置。当集合L具有参考块的若干参考(相邻)样本的子集,其中,这些样本的值彼此相等并且小于属于L的其他参考样本的值(例如,小于所有其他参考样本的值)时,位置A被选择为属于该子集并且与参考块的左上角距离最大的参考样本的位置。类似地,当集合L具有若干参考样本的子集,其中,这些样本的值彼此相等并且大于属于L的其他参考样本的值(例如,大于所有其他参考样本的值)时,位置B被选择为属于该子集并且与参考块的左上角距离最大的参考样本的位置。
在另一实施方式中,不仅搜索(或确定)分别对应于最小样本值和最大样本值的位置A和B,而且搜索(或确定)分别对应于第二最小样本值和第二最大样本值的位置A’和B’,如图8所示。参数α和β是使用由图8中的虚线表示或示出的线性模型导出的。在该实施方式中,位置A和B也可以被以下变型之一取代:
-变型1:
■(xA+xA′+1)>>1,使用(在位置A处的)最小样本值A和(在位置A’处的)第二最小样本值A’的平均值作为第一平均值来代替xA;(xB+xB′+1)>>1,使用最大样本值B和第二最大样本值B’的平均值作为第二平均值来代替xB
■(yA+yA′+1)>>1,使用当前块在第一平均值的相应位置处的样本值的平均值来代替yA;(yB+yB′+1)>>1,使用当前块在与第二平均值相关的相应位置处的样本值的平均值来代替yB
-变型2:
■(xA+xA′)>>1,使用(在位置A处的)最小样本值A和(在位置A’处的)第二最小样本值A’的平均值作为第一平均值来代替xA;(xB+xB′)>>I,使用(在位置B处的)最大样本值B和(在位置B’处的)第二最大样本值B’的平均值作为第二平均值来代替xB
■(yA+yA′)>>1,使用当前块在与第一平均值相关的相应位置处的样本值的平均值来代替yA;(yB+yB′)>>1,使用当前块在与第二平均值相关的相应位置处的样本值的平均值来代替yB
如图8所示,连接点A和A’以及点B和B’的实线及其与虚线的交点示出了上述平均处理。
在另一实施方式中,除法运算使用乘法以及从查找表(look-uptable,LUT)中的获取来实现。例如,通过使用以下方法,这种替换是可能的:
其中,S是指定精度的移位参数。因此,可以指定64个项的查找表,例如如下(例如k=0……63):
上述等式中的除法运算可以是整数除法,例如在C编程语言中使用的整数除法。
参数可以使用乘法和获取计算如下:/>
α=((yB-yA)·m+(1<<(S-1)))>>S,
其中,S是取决于查找表的精度的移位,并且m=LUT[(yB-yA)>>NS],其中,NS是差分子采样因子。在该特定实施方式中,S=15并且Ns=10-6=4(由于LUT有26个项并且输入差xB-xA是10位值)。
在这样的实施方式中,LUT项被线性映射到亮度差(yB-yA)的值。
在另一实施方式中,可以使用非线性LUT映射。表1给出了示例性的64项LUT。
表1.具有非线性映射的示例性LUT
在该实施方式中,乘数m的值根据从LUT获取的值恢复如下:
其中,对于小于或等于4的“idx”值,δ的值分别被设置为等于3、2、1、1。
索引值“idx”是表1中的栅格索引,并且可以计算为max(lut_shift,0)·8+col。
“lut_shift”的值是输入差xB-xA中最高有效位的位置,以及“col”的值是最高有效位之后的三位。
在另一实施方式中,LUT将有效数的值制成表格。
具体地,
DivSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}
4位有效数总是大于或等于8,因为它表示四个最高有效位。因此,该表省略了MSB位,并且每个元素仅需要3位。表的总大小为3*16=48位。
执行以下步骤来获得α的值:
-差值计算如下:Δx=xB-xA
-如下执行标准化:Δnorm=[(Δx<<4)>>Δ]&15;
-如果Δnorm≠0,则将Δ增加1。
-Δy=yB-yA
-参数α获得如下:α=(Δy(DivSigTabl e[Δnorm]+8)+2γ-1)>>γ
参数α的值可以根据差值的值具有不同的精度。因此,可以采用参数β的计算来考虑这一事实。具体地,
β=yA-((αxA)>>k),
其中,k=max(1,3+Δ-γ)。
在另一实施方式中,集合L和C由与参考块和当前块的角和中间相邻的相邻样本组成或包括这些相邻样本(图9)。跳过并且不考虑其余的相邻样本。给定边S的长度,沿着边的相邻样本的允许位置(即,将被包括在L和C中的相邻样本的位置)被定义为0、S>>1和S-1,其中,S>>1意味着S右移1,如图9中的虚线所指示。
在另一实施方式中(图10),仅那些到左上角的距离超过阈值T的相邻样本被包括在集合L和C中。例如,阈值T可以被定义为等于以下值之一:
-块边长S的一半;
-块边长S的四分之一;
-固定值,包括以下之一:2、4、6或8个样本;
其中,块边长分别是块的宽度或高度。
在图9和图10中,虚线矩形包含相邻样本的允许位置。
对于若干参考块的情况,作为应用于这些参考块的运动补偿的结果,可以获得预测项pred(x,y)。特别地,对于双预测的情况,pred(x,y)可以是两个参考块的线性组合。
在这种情况下,使用参考块的参考样本的线性组合来获得参考样本或相邻样本的集合L,其中,获得集合L中的值作为两个或更多个相邻样本的加权和,所述两个或更多个相邻样本与不同的参考块相邻(例如,在双预测的情况下与两个参考块相邻),但是相对于这些参考块具有相同的位置。
为了以更高的准确度计算β,可以如下所述计算针对当前块和参考块的LIC模板的平均值。LIC模板是块左侧和顶侧的L形区域。如图11和图12所示,在对模板样本(例如左模板样本或上模板样本)应用计算α和β以及计算平均值的上述过程之前,模板样本可以被下采样(图11)或者不被下采样(图12)。另外,为了去除和减少异常值的影响,可以使用不同的(线性或非线性)平滑滤波器来对模板样本进行滤波。特别地,系数为[1,2,1]/4和[1,0,2,0,1]/4的FIR(Finite Impulse Response,有限脉冲响应)滤波器可以用于此目的。这些滤波器可以互换(一个或另一个)应用于模板样本。特别地,如果块中的样本数量等于或小于256,即宽度*高度<=256,则应用系数为[1,2,1]/4的滤波器。否则(如果块中的样本数大于256,即宽度*高度>256),则使用系数为[1,0,2,0,1]/4的滤波器。其他FIR滤波器也可以应用于模板样本。可以对当前块和/或参考块的相邻样本应用滤波。
为了在不使用除法运算的情况下计算模板样本的平均值,可以使用以下公式:
如果W>H(图13),
如果H>W(图14),
如果H=W(图15),其中,W指示顶侧模板样本范围或块的宽度,H指示左侧模板样本范围或块的高度,并且W和H是正整数。pi指示当前块或参考块的模板样本值。w和h可以定义为w=log2(W)和h=log2(H)。
分别针对(要预测的)当前块和参考块计算的平均值MeanCUR和MeanREF可以代入以下公式来计算β:
β=MeanCUR-α·MeanREF
值得注意的是,针对CCLM的线性模型参数推导的实现和针对LIC的更新参数推导的实现可以彼此统一,即在CCLM和LIC中都使用相同的过程。
如图16所示,根据本公开内容的实施方式的用于图片的帧间预测译码(编码和/或解码)的光照补偿的方法描述如下。
-在框1601处,使用运动补偿针对当前块获得帧间预测样本值;
-在框1602处,获得至少一个参考块的参考样本(例如相邻样本或模板样本)的第一目标值(xA)和第二目标值(xB),以及具有第一目标值的参考样本相对于参考块的位置的对应位置A和具有第二目标值的参考样本相对于参考块的位置的对应位置B;特别地,可以获得至少一个参考块的相邻样本的最小值(xA)和最大值(xB),以及具有最小值的相邻样本相对于参考块的位置(例如,参考块的左角)的对应位置A和具有最大值的相邻样本相对于参考块的位置(例如,参考块的左角)的对应位置B;
-在框1603处,获得当前块的相对于当前块的位置在对应位置A和B处的相邻样本的相应值(yA、yB);
-在框1604处,基于参考样本的值获得或导出更新参数(例如α和β)的值,其中,参考样本的值包括至少一个参考块的参考样本的第一目标值(xA)和第二目标值(xB)以及当前块在对应位置A和B处的参考样本的值(yA、yB)中的一个或更多个;特别地,可以使用参考样本的值来获得线性模型系数(例如,更新参数α和β的值),其中,参考样本的值包括至少一个参考块的相邻样本的最小值(xA)和最大值(xB),以及当前块在对应位置A和B处的相邻样本的值(yA、yB);以及
-在框1605处,基于更新参数(例如α和β)的值来更新帧间预测样本的值。
总之,本公开内容提出使用CCLM MinMax方法来导出针对LIC的线性模型参数。还提出通过引入平均值计算来提高LIC和CCLM两者的性能。据报道,所提出的方法减少了顺序计算的数量,简化了VVC规范草案并降低了硬件复杂度。
本公开内容建议在LIC和CCLM中使用统一的CCLM参数推导的机制。具体地,提出了使用与CCLM的推导过程相同的推导过程来导出针对LIC的参数α和β,并且提高参数β的准确度。
在本公开内容中呈现了若干方面:
1.模板下采样:由于MinMax方法不要求处理的模板样本的数量是2的幂,因此在两种情况下(即,对于当前块和参考块)都可以跳过模板样本。
2.模板滤波:可以对模板应用滤波来去除异常值(提出2个FIR平滑滤波器:[1,2,1]/4和[1,0,2,0,1]/4以及当它们根据块大小进行切换时的其组合)。
3.平均值:可以以若干方式计算平均值ymean和xmean
a.如同针对DC帧内预测模式所做的那样,即使用块的较长边(当块具有矩形形状时)或两边(当块是正方形时)来计算DC值。
b.针对每个边分别进行平均,并且两个结果被相互平均。
表2.所提出的方法的概述
方法编号 描述
1 DC帧内预测模式中的平均值
2 方法1并将[1,2,1]/4滤波器应用于重建的样本和参考样本
3 CCLM方法中应用的方法1
在图18中,示出了针对LIC的线性模型参数推导的MinMax方法的步骤。步骤1801、1802和1803相应地与图16中所示的步骤1601、1602和1603相同。步骤1604在图18中表示为两个相继的步骤:步骤1804,包括获得更新参数α的值;以及步骤1805,使用参数α和针对(要预测的)当前块和至少一个参考块计算的平均值MeanCUR和MeanREF来获得参数β,例如如下:
β=MeanCUR-α·MeanREF
可以如下对宽度为W以及高度为H的预测非正方形块执行平均值计算(MeanCUR和MeanREF两者):
当块的宽度大于高度时,
Mean=(w·Meanabove+Meanleft+shiftOffset)>>shift
shift=log2(W)-log2(H)
shiftOffset=(1<<(shift-1))
Meanabove和Meanleft是块的顶侧和左侧模板的参考样本的平均值(图17示出了模板相对于预测块的位置)。这些值可以分别使用公式(3)和(4)的右边部分获得。
当块的高度大于宽度时,
Mean=(Meanabove+w·Meanleft+shiftOffset)>>shift
shiff=log2(H)-log2(W)
shiftOffset=(1<<(shift-1))
在这两种情况下,加权系数w的值可以如下获得:
w=(1<<shift)-1
表3示出了针对不同纵横比的w的示例性值:
表3.针对预测块的不同纵横比的w的示例性值
纵横比(W∶H或H∶w) abs(log2(W)-log2(H)) 加权系数w
16∶1 4 15=(24-1)
8∶1 3 7=(23-1)
4∶1 2 3=(22-1)
2∶1 1 1=(21-1)
注意,上述平均值计算不需要乘法或除法,并且可以使用加法和移位操作来容易地实现。
另一实施方式可以使用设置为零的“shiftOffset”的值来使加法操作的数量最小化。
步骤1806包括将β的绝对值(即量值)与阈值Tβ(|β|>Tβ)进行比较,以便应用参数α的条件裁剪(步骤1807和1808)。
阈值Tβ的值可以是取决于已译码图片的位深度的非负整数值。对于给定的位深度(bitdepth),Tβ的值可以如下确定:
其中,的值是设置为例如25、30、32或16的非负整数值。
步骤1807“裁剪α”可以如下执行。当β<0时,α被设置为等于min(α,αmax)。当β>0时,α被设置为等于max(α,αmin)。在另外的实施方式中,步骤1807还可以包括针对小的β值对α进行裁剪。具体地,如果abs(β)小于阈值(Tβ),则α可以被设置为max(0,α)。
在定点表示中,α的值的精度为iShift,这意味着与α相乘后,结果应当右移iShift。αmax和αmin的值是在考虑输入α的iShift值的情况下定义的,并且iShiftmax可以设置为13,例如如下:
αmax=10240>>(iShiftmax-iShift)
αmin=6144>>(iShiftmax-iShift)
可替选地,αmin的值可以被设置为等于
αmin=7373>>(iShiftmax-iShift)
步骤1808以与步骤1805相同的方式执行。
步骤1809如下执行:
βclip=min(1<<(bitdepth-1),max(β,-(1<<(bitdepth-1))))
在裁剪后,保证βclip值的量值不超过样本值范围的一半,其中,该范围由图片的颜色分量的位深度决定。步骤1810与图16所示的步骤1605相同。
图19示出了该方法的替选实施方式。步骤1901至1910相应地与步骤1801至1810相同。不同之处在于,还有条件地——即当步骤1906的条件为真并且在通过执行步骤1907“裁剪α”修改了α的值之后——应用步骤1909。
在步骤1802、1803、1902和1903的任何一个(或全部)中,可以对相邻样本应用滤波。然而,是否将滤波器应用于模板样本的决定可以包括检查是否使用仿射帧间预测模式来预测块。特别地,如果使用平移运动模型(非仿射运动模型)来预测块,则在获得位置A和B以及这些位置处的滤波样本值(yA、yB)或(xA、xB)之前,可以使用FIR滤波器对相邻样本进行滤波。对仿射运动模型禁用滤波的动机是为了避免针对运动补偿方案的额外计算复杂性,该运动补偿方案已经比常规的平移运动补偿更复杂。可以执行仿射运动补偿,例如,如VVC草案所规定的。仿射运动补偿模型的概念基于获得针对帧间预测块的仿射运动场。该模型可以包括两个或三个控制点运动矢量(control point motion vector,CPMV)。所述模型分别称为四参数仿射运动模型和六参数仿射运动模型。针对4参数仿射运动模型的CPMV位置如图20所示。
当4参数运动模型用于预测块时,块的运动矢量场(motion vector field,MVF)由以下等式描述:
其中,(v0x,v0y)是左上角控制点的运动矢量,(v1x,v1y)是右上角控制点的运动矢量,以及w是如图20所示的正方形仿射子块的边长。在编码器端,率失真(rate distortion,RD)成本检查被用于确定哪个运动矢量对(或者在6参数模型的情况下是运动矢量三元组)被选择作为预测块的控制点运动矢量。在解码器端,使用比特流中的用信号传送的信息导出CPMV。
存在不同的方式来确定CPMV。例如,可以基于相邻块的运动信息来导出CPMV(例如,在子块合并模式的处理中),或者可以通过导出CPMV预测项(CPMVpredictor,CPMVP)并从比特流获得CPMV与CPMVP之间的差异来导出CPMV。
为了简化运动补偿预测,通过基于块的仿射变换预测来表示块的MVF。如图20所示,基于块的仿射变换预测包括将预测块细分成子块(例如大小为4×4样本)以及导出每个4×4子块的运动矢量的步骤。针对子块的这种运动矢量推导可以根据等式(6)来执行,其中,所得到的运动矢量被进一步舍入到1/16分数准确度。根据针对这些子块导出的运动矢量的分数部分,针对子块的每一个选择运动补偿插值滤波器。通过对参考样本的块应用所选插值滤波器来执行针对子块的运动补偿,其是使用针对子块导出的运动矢量的平移模型来定义的。
基本上,使用仿射运动模型的运动补偿包括以下步骤(图21):
1.控制点运动矢量推导,得到控制点运动矢量cpMvLX[cpIdx],其中,cpIdx指示控制点的索引
2.运动矢量阵列推导
2.1.亮度运动矢量阵列推导,得到亮度子块运动矢量阵列mvLX[xSbIdx][ySbIdx],其中,xSbIdx和ySbIdx指示子块在x和y方向的索引
2.2.色度运动矢量阵列推导,得到色度子块运动矢量阵列mvCLX[xSbIdx][ySbIdx],其中,xSbIdx和ySbIdx指示子块在x和y方向的索引
3.插值处理
可以在解码器端通过检查针对预测块指定的标志值来执行是否使用仿射运动补偿模型对块进行预测的确定。
平均值的计算需要除法运算,该除法运算可以使用用于基于样本数量获取乘数值的查找表(LUT)和乘法运算来实现。此处,平均值是指当前块的重建相邻样本的平均值,或者参考块的重建相邻样本的平均值。
在示例中,当前块的重建相邻样本包括但不限于当前块上方的重建相邻样本和/或当前块左侧的重建相邻样本。在示例中,参考块的重建相邻样本包括但不限于参考块上方的重建相邻样本和/或参考块左侧的重建相邻样本。注意,表述“重建相邻样本”、“模板参考样本”、“模板样本”和“参考样本”在本公开内容中具有基本相同的含义。
可以执行以下步骤来计算当前块的重建相邻样本的平均值和参考块的重建相邻样本的平均值。
第一步是分别计算当前块或参考块的可用模板样本之和ST1或ST2,以及当前块或参考块左侧和/或顶侧的可用模板样本的数量CT,这取决于模板样本的可用性。例如,如果当前块或参考块是CTU行中的第一块,则左侧的模板样本可能不可用。针对当前块或参考块的模板,通过至少检查以下内容来确定模板样本的可用性:如果当前块的模板参考样本属于受限相邻块,则该模板参考样本不可用(见图23)。
如图23所示,参考块的具有与当前块的不可用模板样本相对应的位置的模板样本也不可用。受限相邻块是使用帧内预测或帧内块复制(intra block copy,IBC)获得的块。帧内块复制操作是通过在当前图片的重建样本的区域上使用运动补偿来预测块的预测模式。
对相邻重建块的预测类型的这种限制也可能意味着使用帧内预测的任何其他模式。例如,该限制也可以应用于使用组合帧内帧间预测(combined intra-interprediction,CIIP)预测模式进行预测的相邻块。
另外,块(例如当前块或参考块)的左侧和上侧的模板可以被限制为与块的左上角对齐的一些数量的样本(见图22)。在图22中,WVPDU_luma和HVPDU_luma分别表示当前亮度块的上方和左侧的多个模板样本。对于色度块,WVPDU_chroma和HVPDU_chroma分别表示当前色度块上方和左侧的多个模板样本。可以理解,对于当前块,存在亮度块和色度块;并且对于参考块,还存在亮度块和色度块。对于其中色度块可以对应于多个亮度块的双树情况,上述局部光照补偿方法可以应用于预测单元(prediction unit,PU)或分别应用于每个预测块(predictionbock,PB),即分别处理亮度和色度LIC。
由于重建的块(例如,块的重建的相邻块)的相应边长或大小可能被限制为某个预定义或固定值nTbSmin,其中,nTbSmin表示重建的块的最小大小或边长,因此块(例如,当前块或参考块)的可用模板样本的数量是该值nTbSmin的倍数。特别地,当亮度块的最小边长(例如,最小宽度或最小高度)被设置为等于4并且WVPDU_luma等于HVPDU_luma并且等于16时,可用参考样本的数量是范围[1..8]内的整数值乘以4。对于色度块,当色度块的最小边长(例如最小宽度或最小高度)被设置为等于2并且WVPDU_luma等于HVPDU_luma并且等于8时,可用模板样本的数量是范围[1..8]内的整数值乘以2。
乘数LUT中的索引的值可以如下获得:
idxmult=(CT>>log2(nTbSmin))-1
示例性的LUT可以如表4中规定的那样定义。
表4.用于除法的乘数的示例性LUT
下一步是获得当前块的重建相邻样本的平均值(即,当前块的可用模板样本的平均值)和参考块的重建相邻样本的平均值(即,参考块的可用模板样本的平均值)。如果乘数在表4中定义,则当前块的重建相邻样本的平均值(mean)可以如下计算:
Mean=((ST1+shiftOffset)·mult)>>shift,
shiftOffset=CT>>1,
shift=14+logz(nTbSmin)
在上面的等式中,ST1是当前块的可用模板样本(即当前块的左侧和/或顶侧的可用模板样本)的和,这取决于可用性。当针对当前块计算平均值时,获得针对当前块的可用模板样本的和。如果在当前块的模板(左侧模板或上方模板)中样本不可用,则参考块的具有相同的相对于块的位置的模板样本不包括在针对参考块的ST2的计算中。在本公开内容的实施方式中,LUT乘法和移位(shift)可以用于获得当前块的重建相邻样本的平均值。
当计算当前块的可用模板样本的平均值和参考块的可用模板样本的平均值时,可用模板样本的数量CT是相同的,因为它仅取决于当前块的相邻块。
参考块的可用模板样本的平均值可以计算如下:
Mean=((ST2+shiftOffset)·mult)>>shift,
shiffOffset=CT>>1,
shift=14+log2(nTbSmin)
在上式中,ST2是参考块的可用模板样本的和。当针对参考块计算平均值时,获得针对参考块的可用模板样本的和。如果在当前块的模板中样本不可用,则参考块的具有相同的相对于块的位置的模板样本不包括在针对参考块的ST2的计算中。
在本公开内容的实施方式中,LUT乘法和移位可以用于获得参考块的重建相邻样本的平均值。
当计算当前块的可用模板样本的平均值和参考块的可用模板样本的平均值时,可用模板样本的数量CT是相同的,因为它仅取决于当前块的相邻块。
图24示出了示出根据本公开内容的实施方式的用于帧间预测译码的局部光照补偿(LIC)的设备1300的示例的框图。在示例中,设备1300可以对应于图2中的帧间预测单元244。在另一示例中,设备1300可以对应于图3中的帧间预测单元344。设备1300包括:
-获取单元1310,被配置成使用运动补偿获取针对当前块的帧间预测样本值;
-导出单元1320,被配置成基于当前块上方的重建相邻样本和当前块左侧的重建相邻样本中的至少一个并且基于至少一个参考块上方的重建相邻样本和至少一个参考块左侧的重建相邻样本中的至少一个导出针对LIC的线性模型的参数α和β的值,其中,至少一个参考块对应于当前块;和
-更新单元1330,被配置成基于参数α和β使用线性模型更新针对当前块的帧间预测样本值,
其中,导出单元1320还被配置成当满足针对β的值的条件时基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值。
获取单元1310、导出单元1320和更新单元1330可以以硬件、软件、固件或其任意组合来实现。如果以软件实现,则这些功能可以作为一个或更多个指令或代码存储在计算机可读介质上,或者通过通信介质进行传输,并且由基于硬件的处理单元执行。指令可以由一个或更多个处理器(例如一个或更多个数字信号处理器(digital signal processor,DSP)、通用微处理器、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑阵列(field programmable logic array,FPGA)或其他等效的集成或分立逻辑电路)执行。因此,本文使用的术语“处理器”可以指前述结构中的任何一种或者适于实现本文描述的技术的任何其他结构。另外,在一些方面,本文描述的功能可以在被配置用于编码和解码或者结合在组合的编解码器中的专用硬件和/或软件模块中提供。同样,这些技术可以完全在一个或更多个电路或逻辑元件中实现。
以下是对以上提到的实施方式中所示的编码方法和解码方法以及使用它们的***的应用的说明。图25是示出用于实现内容分发服务的内容供应***3100的框图。该内容供应***3100包括捕获装置3102、终端装置3106,并且可选地包括显示器3126。捕获装置3102通过通信链路3104与终端装置3106进行通信。通信链路可以包括上述通信信道13。通信链路3104包括但不限于WIFI、以太网、线缆、无线(3G/4G/5G)、USB或其任何种类的组合等。
捕获装置3102生成数据,并且可以通过上述实施方式中所示的编码方法对数据进行编码。可替选地,捕获装置3102可以将数据分发到流服务器(图中未示出),并且服务器对数据进行编码并将已编码的数据发送至终端装置3106。捕获装置3102包括但不限于摄像装置、智能电话或Pad(平板装置)、计算机或膝上型计算机、视频会议***、PDA、车载装置或它们的任意组合等。例如,捕获装置3102可以包括如上所述的源装置12。当数据包括视频时,包括在捕获装置3102中的视频编码器20实际上可以执行视频编码处理。当数据包括音频(即,语音)时,包括在捕获装置3102中的音频编码器实际上可以执行音频编码处理。对于一些实际场景,捕获装置3102通过将已编码的视频和音频数据复用在一起来分发它们。对于其他实际场景,例如在视频会议***中,已编码音频数据和已编码视频数据不被复用。捕获装置3102可以将已编码音频数据和已编码视频数据分别分发到终端装置3106。
在内容供应***3100中,终端装置3106接收并再现已编码数据。终端装置3106可以是具有数据接收和恢复能力的装置,例如能够对以上提到的已编码数据进行解码的智能电话或Pad 3108、计算机或膝上型计算机3110、网络视频记录器(network videorecorder,NVR)/数字视频记录器(digital video recorder,DVR)3112、TV(电视)3114、机顶盒(set top box,STB)3116、视频会议***3118、视频监控***3120、个人数字助理(personal digital assistant,PDA)3122、车载装置3124或它们中任何的组合等。例如,终端装置3106可以包括如上所述的目的地装置14。当已编码数据包括视频时,包括在终端装置中的视频解码器30被优先化以执行视频解码。当已编码数据包括音频时,包括在终端装置中的音频解码器被优先化以执行音频解码处理。
对于具有其显示器的终端装置,例如智能电话或Pad 3108、计算机或膝上型计算机3110、网络视频记录器(NVR)/数字视频记录器(DVR)3112、TV 3114、个人数字助理(PDA)3122或车载装置3124,终端装置可以将已解码数据馈送到其显示器。对于没有配备显示器的终端装置,例如STB 3116、视频会议***3118或视频监控***3120,可以在其中接触外部显示器3126以接收并示出已解码数据。
当该***中的每个装置执行编码或解码时,可以使用如以上提到的实施方式中所示的图片编码装置或图片解码装置。
图26是示出终端装置3106的示例的结构的图。在终端装置3106从捕获装置3102接收到流之后,协议处置单元3202分析该流的传输协议。该协议包括但不限于实时流协议(Real Time Streaming Protocol,RTSP)、超文本传输协议(Hyper Text TransferProtocol,HTTP)、HTTP实时流协议(HTTP Live streaming protocol,HLS)、MPEG-DASH、实时传输协议(Real-time Transport protocol,RTP)、实时消息协议(Real Time MessagingProtocol,RTMP)或其任意种类的组合等。
在协议处置单元3202处理流之后,生成流文件。该文件被输出至解复用单元3204。解复用单元3204可以将复用的数据分离成已编码音频数据和已编码视频数据。如上所述,对于一些实际场景,例如在视频会议***中,已编码音频数据和已编码视频数据不被复用。在这种情况下,已编码数据被传输至视频解码器3206和音频解码器3208,而不经过解复用单元3204。
经由解复用处理,生成视频基本流(elementary stream,ES)、音频ES和可选的字幕。包括如以上提到的实施方式中所说明的视频解码器30的视频解码器3206通过如以上提到的实施方式中所示的解码方法对视频ES进行解码以生成视频帧,并且将该数据馈送到同步单元3212。音频解码器3208对音频ES进行解码以生成音频帧,并且将该数据馈送到同步单元3212。
可替选地,视频帧可以在被馈送到同步单元3212之前存储在缓冲器(图26中未示出)中。类似地,音频帧可以在被馈送到同步单元3212之前存储在缓冲器(图26中未示出)中。
同步单元3212对视频帧和音频帧进行同步,并且将视频/音频提供给视频/音频显示器3214。例如,同步单元3212对视频和音频信息的呈现进行同步。可以使用与已译码音频和视觉数据的呈现有关的时间戳和与数据流本身的传送有关的时间戳,以语法对信息进行译码。
如果字幕包括在流中,则字幕解码器3210对字幕进行解码,并且将其与视频帧和音频帧进行同步,并且将视频/音频/字幕提供给视频/音频/字幕显示器3216。
本发明不限于以上提到的***,并且以上提到的实施方式中的图片编码装置或图片解码装置可以被结合到其他***例如汽车***中。
数学运算符
本申请中使用的数学运算符类似于C编程语言中使用的数学运算符。然而,整数除法和算术移位操作的结果被更精确地定义,并且定义了附加的运算,例如幂运算和实值除法。编号和计数约定通常从0开始,即,“第一”相当于第0个,“第二”相当于第1个,等等。
算术运算符
以下算术运算符定义如下:
逻辑运算符
以下逻辑运算符定义如下:
x&&y x和y的布尔逻辑“与”
x||y x和y的布尔逻辑“或”
! 布尔逻辑“非”
x?y:z 如果x为“真”或不等于0,则取y的值;否则,取z的值。
关系运算符
以下关系运算符定义如下:
> 大于
>= 大于或等于
< 小于
<= 小于或等于
== 等于
!= 不等于
当关系运算符应用于已赋值为“na”(不适用)的语法元素或变量时,值“na”被视为针对语法元素或变量的不同值。值“na”被认为不等于任何其他值。
逐位运算符
以下逐位操作符定义如下:
& 逐位“与”。在对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一个参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。
| 逐位“或”。在对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一个参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。
^ 逐位“异或”。在对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一个参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。
x>>y 将x的二进制补码整数表示算术右移y个二进制数位。该函数仅针对y的非负整数值定义。在移位操作之前,由于右移而移入最高有效位(most significant bit,MSB)的位的值等于x的MSB。
x<<y 将x的二进制补码整数表示算术左移y个二进制数位。该函数仅针对y的非负整数值定义。由于左移而移入最低有效位(LSB)的位的值等于0。
赋值运算符
以下算术运算符定义如下:
= 赋值运算符
++ 递增,即x++相当于x=x+1;当在队列索引中使用时,在递增操作之前取变量的值。
-- 递减,即x--相当于x=x-1;当在队列索引中使用时,在递减操作之前取变量的值。
+= 按指定量递增,即x+=3相当于x=x+3,以及x+=(-3)相当于x=x+(-3)。
-= 按指定量递减,即x-=3相当于x=x-3,以及x-=(-3)相当于x=x-(-3)。
范围符号
以下符号用于指定值的范围:
x=y..z x取从y到z(包括y和z)的整数值,其中,x、y和z是整数,并且z大于y。
数学函数
定义了以下数学函数:
Asin(x) 三角反正弦函数,对-1.0到1.0(包含-1.0和1.0)范围内的参数x进行运算,其中,输出值范围为以弧度为单位的-π÷2至π÷2(包含-π÷2和π÷2)
Atan(x) 三角反正切函数,对参数x进行运算,其中,输出值范围为以弧度为单位的-π÷2至π÷2(包含-π÷2和π÷2)
Ceil(x) 大于或等于x的最小整数。
CliplY(x)=Clip3(0,(1<<BitDepthY)-1,x)
CliplC(x)=Clip3(0,(1<<BitDepthC)–1,x)
Cos(x) 对以弧度为单位的参数x进行运算的三角余弦函数。
Floor(x) 小于或等于x的最大整数
Ln(x) x的自然对数(以e为底的对数,其中,e是自然对数的底常数2.718281828...)。
Log2(x) x的以2为底的对数。
Log10(x) x的以10为底的对数。
Round(x)=Sign(x)*Floor(Abs(x)+0.5)
Sin(x) 对以弧度为单位的参数x进行运算的三角正弦函数
Swap(x,y)=(y,x)
Tan(x) 对以弧度为单位的参数x进行运算的三角正切函数
运算优先级的顺序
当表达式中的优先级顺序没有用括号明确指示时,下列规则适用:
-在优先级较低的任何运算之前进行计算优先级较高的运算。
-从左到右依次进行相同优先级的运算。
下表指定了从最高到最低的运算优先级;表格中较高的位置指示较高的优先级。
对于那些也在C编程语言中使用的运算符,本说明书中使用的优先级顺序与C编程语言中使用的优先级顺序相同。
表格:从最高(表格的顶侧)到最低(表格的底部)的运算优先级
逻辑运算的文本描述
在文本中,如将以下述形式数学地描述的逻辑运算的陈述:
if(condition 0)
statement 0
else if(condition 1)
statement 1
...
else/*informative remark on remaining condition*/
statement n
可以以下述方式描述:
……如下/……以下适用:
-如果condition 0,statement 0
-否则,如果condition 1,statement 1
-...
-否则(关于剩余条件的信息标记),statement n
文本中的每个“如果……否则,如果……否则……”语句都以“……如下”或“……以下适用”开头,紧接着是“如果……”。“如果……否则,如果……否则……”的最后一个条件总是“否则……”。交替的“如果……否则,如果……否则……”语句可以通过匹配“……如下”或“……以下适用”与结尾“否则……”来标识。
在文本中,如将以下述形式数学地描述的逻辑运算的陈述:
if(condition 0a&&condition 0b)
statement 0
else if(condition 1a||condition 1b)
statement 1
...
else
statement n
可以以下述方式描述:
……如下/……以下适用:
-如果所有以下条件为真,statement 0:
-condition 0a
-condition 0b
-否则,如果以下条件中的一个或更多个为真,statement 1:
-condition 1a
-condition 1b
-……
-否则,statement n
在文本中,如将以下述形式数学地描述的逻辑运算的陈述:
if(condition 0)
statement 0
if(condition 1)
statement 1
可以以下述方式描述:
当condition 0,statement 0
当condition 1,statement 1
尽管已经主要基于视频译码描述了本发明的实施方式,但是应当注意,译码***10、编码器20和解码器30(以及相应的***10)的实施方式和本文描述的其他实施方式也可以被配置用于静止图片处理或译码,即独立于如视频译码中的任何先前或连续图片的单独图片的处理或译码。一般地,在图片处理译码限于单个图片17的情况下,仅帧间预测单元244(编码器)和344(解码器)可能不可用。视频编码器20和视频解码器30的所有其他功能(也称为工具或技术)同样可以用于静止图片处理,例如残差计算204/304、变换206、量化208、逆量化210/310、(逆)变换212/312、分割262/362、帧内预测254/354和/或环路滤波220、320以及熵译码270和熵解码304。
例如编码器20和解码器30的实施方式和本文例如参考编码器20和解码器30描述的功能可以以硬件、软件、固件或其任意组合来实现。如果以软件实现,则这些功能可以存储在计算机可读介质上,或者作为一个或更多个指令或代码通过通信介质传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括:计算机可读存储介质,其对应于有形介质例如数据存储介质;或者通信介质,其包括有助于例如根据通信协议将计算机程序从一个地方传输至另一地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂态有形计算机可读存储介质,或(2)通信介质例如信号或载波。数据存储介质可以是可以由一个或更多个计算机或者一个或更多个处理器访问以检索用于实现本公开内容中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁存储装置、闪存或者可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问的任何其他介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线(digital subscriber line,DSL)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则同轴线缆、光纤线缆、双绞线、DSL或诸如红外、无线电和微波的无线技术包括在介质的定义内。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是替代地针对非暂态有形存储介质。本文中使用的盘和碟包括致密碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digitalversatile disc,DVD)、软盘和蓝光光碟,其中,盘通常以磁性方式再现数据,而碟通过激光以光学方式再现数据。上述介质的组合也应当包括在计算机可读介质的范围内。
指令可以由一个或更多个处理器(诸如一个或更多个数字信号处理器(digitalsignal processor,DSP)、通用微处理器、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程逻辑阵列(field programmable logic array,FPGA)或者其他等效集成或分立逻辑电路***)来执行。因此,如本文中所使用的术语“处理器”可以指任何前述结构或适合于实现本文所描述的技术的任何其他结构。另外,在某些方面,本文描述的功能可以在被配置为用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。同样,该技术可以完全在一个或更多个电路或逻辑元件中实现。
本公开内容的技术可以在包括无线手持机、集成电路(integrated circuit,IC)或一组IC(例如芯片组)的各种装置或设备中实现。在本公开内容中描述各种部件、模块或单元以强调被配置成执行所公开的技术的装置的功能方面,但是各种部件、模块或单元不一定需要由不同的硬件单元来实现。确切地说,如上所述,各种单元可以组合在编解码器硬件单元中,或者通过(包括如上所述的一个或更多个处理器的)互操作硬件单元的集合结合适当的软件和/或固件来提供。

Claims (26)

1.一种用于帧间预测译码的局部光照补偿LIC的方法,所述方法包括:
-使用运动补偿获得(1801,1901)针对当前块的帧间预测样本值;
-基于所述当前块上方的重建相邻样本和所述当前块左侧的重建相邻样本中的至少一个并且基于至少一个参考块上方的重建相邻样本和所述至少一个参考块左侧的重建相邻样本中的至少一个导出(1804,1805,1904,1905)针对所述LIC的线性模型的参数α和β的值,其中,所述至少一个参考块对应于所述当前块;以及
-基于所述参数α和β使用所述线性模型更新针对所述当前块的帧间预测样本值,
-其中,当满足针对β的值的条件时,在更新针对所述当前块的帧间预测样本值之前,基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值,
其中,仅当满足针对β的值的条件时,才在更新针对所述当前块的帧间预测样本值之前,基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值,
其中,如下裁剪α的值:
当β<0时,将α的值设置为等于min(α,αmax);以及/或者
当β>0时,将α的值设置为等于max(α,αmin);
其中,αmax表示α的值的裁剪范围的最大值,以及αmin表示α的值的裁剪范围的最小值。
2.根据权利要求1所述的方法,其中,
当β的绝对值大于阈值Tβ时,裁剪α的值。
3.根据前述权利要求中任一项所述的方法,还包括:
在更新(1810,1910)针对所述当前块的帧间预测样本值之前裁剪(1809,1909)β的值。
4.根据权利要求3所述的方法,其中,在基于裁剪的α的值更新(1808,1908)β的值之后,裁剪β的值。
5.根据权利要求3或4所述的方法,其中,仅当裁剪(1907)α的值时,才裁剪(1909)β的值。
6.根据前述权利要求中任一项所述的方法,其中,通过应用FIR滤波器来处理所述当前块上方的重建相邻样本和所述当前块左侧的重建相邻样本中的至少一个,以及/或者
其中,通过应用FIR滤波器来处理所述至少一个参考块上方的重建相邻样本和所述至少一个参考块左侧的重建相邻样本中的至少一个。
7.根据权利要求6所述的方法,其中,当使用非仿射运动补偿模型预测所述当前块时,应用所述FIR滤波器。
8.根据前述权利要求中任一项所述的方法,其中,基于所述当前块的重建相邻样本的第一集合的平均值和所述至少一个参考块的重建相邻样本的第二集合的平均值来导出(1805,1905)β的值。
9.根据权利要求8所述的方法,
其中,使用所述当前块上方的重建相邻样本的集合S1的平均值Meanabove与所述当前块左侧的重建相邻样本的集合S2的平均值Meanleft的加权和来导出所述当前块的重建相邻样本的第一集合的平均值,其中,根据所述当前块的宽度是否大于所述当前块的高度,向所述平均值Meanabove或所述平均值Meanleft应用加权系数w;以及
其中,使用所述至少一个参考块上方的重建相邻样本的集合S1’的平均值Mean’above与所述至少一个参考块左侧的重建相邻样本的集合S2’的平均值Mean’left的加权和来导出所述至少一个参考块的重建相邻样本的第二集合的平均值,其中,根据所述至少一个参考块的宽度是否大于所述至少一个参考块的高度,向所述平均值Mean’above或所述平均值Mean’left应用所述加权系数w。
10.根据权利要求8所述的方法,其中,基于所述当前块的可用重建相邻样本的和ST1使用移位操作和乘法来计算所述当前块的重建相邻样本的第一集合的平均值,其中,所述移位操作取决于所述当前块的可用重建相邻样本的数量CT
11.根据权利要求10所述的方法,其中,如下计算所述当前块的重建相邻样本的第一集合的平均值:
平均值=((ST1+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,ST1表示所述当前块的可用重建相邻样本的和,CT表示所述当前块的可用重建相邻样本的数量,以及mult表示从查找表中获取的乘数。
12.根据权利要求8、10和11中任一项所述的方法,其中,基于所述至少一个参考块的可用重建相邻样本的和ST2使用移位操作和乘法来计算所述至少一个参考块的重建相邻样本的第二集合的平均值,其中,所述移位操作取决于所述至少一个参考块的可用重建相邻样本的数量CT
13.根据权利要求12所述的方法,其中,如下计算所述至少一个参考块的重建相邻样本的第二集合的平均值:
平均值=((ST2+移位偏移)·mult)>>移位,
移位偏移=CT>>1
其中,ST2表示所述至少一个参考块的可用重建相邻样本的和,CT表示所述至少一个参考块的可用重建相邻样本的数量,以及mult表示从查找表中获取的乘数。
14.根据权利要求10至13中任一项所述的方法,其中,所述当前块的可用重建相邻样本包括所述当前块上方的可用重建相邻样本和所述当前块左侧的可用重建相邻样本中的至少一个;以及/或者
其中,所述至少一个参考块的可用重建相邻样本包括所述至少一个参考块上方的可用重建相邻样本和所述至少一个参考块左侧的可用重建相邻样本中的至少一个。
15.根据前述权利要求中任一项所述的方法,
其中,所述当前块上方的重建相邻样本包括与所述当前块相邻的单行重建样本,以及/或者,
其中,所述当前块左侧的重建相邻样本包括所述当前块左侧的单列重建样本。
16.根据前述权利要求中任一项所述的方法,其中,所述至少一个参考块上方的重建相邻样本包括与所述至少一个参考块相邻的单行重建样本,以及/或者,
其中,所述至少一个参考块左侧的重建相邻样本包括所述至少一个参考块左侧的单列重建样本。
17.一种编码器(20),包括用于执行根据权利要求1至16中任一项所述的方法的处理电路。
18.一种解码器(30),包括用于执行根据权利要求1至16中任一项所述的方法的处理电路。
19.一种解码器(30),包括:
一个或更多个处理器;以及
非暂态计算机可读存储介质,耦接至所述一个或更多个处理器并存储用于由所述一个或更多个处理器执行的指令,其中,所述指令在由所述一个或更多个处理器执行时将所述解码器配置成执行根据权利要求1至16中任一项所述的方法。
20.一种编码器(20),包括:
一个或更多个处理器;以及
非暂态计算机可读存储介质,耦接至所述一个或更多个处理器并存储用于由所述一个或更多个处理器执行的指令,其中,所述指令在由所述一个或更多个处理器执行时将所述编码器配置成执行根据权利要求1至16中任一项所述的方法。
21.一种非暂态计算机可读介质,携载程序代码,所述程序代码在由计算机装置执行时使得所述计算机装置执行根据权利要求1至16中任一项所述的方法。
22.一种用于帧间预测译码的局部光照补偿LIC的设备(1300),包括:
-获取单元(1310),被配置成使用运动补偿来获取(1801,1901)针对当前块的帧间预测样本值;
-导出单元(1320),被配置成基于所述当前块上方的重建相邻样本和所述当前块左侧的重建相邻样本中的至少一个并且基于至少一个参考块上方的重建相邻样本和所述至少一个参考块左侧的重建相邻样本中的至少一个导出(1804,1805,1904,1905)针对所述LIC的线性模型的参数α和β的值,其中,所述至少一个参考块对应于所述当前块;以及
-更新单元(1330),被配置成基于所述参数α和β使用所述线性模型更新针对所述当前块的帧间预测样本值,
其中,所述导出单元还被配置成当满足针对β的值的条件时,基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值,
其中,所述导出单元被配置成仅当满足针对β的值的条件时,才基于β的值来裁剪α的值并且基于裁剪的α的值来更新β的值,
其中,α的值被如下裁剪:
当β<0时,α的值被设置为等于min(α,αmax);以及/或者
当β>0时,α的值被设置为等于max(α,αmin);
其中,αmax表示α的值的裁剪范围的最大值,以及αmin表示α的值的裁剪范围的最小值。
23.根据权利要求22所述的设备,其中,所述更新单元被配置成当β的绝对值大于阈值Tβ时裁剪α的值。
24.根据权利要求22或23所述的设备,其中,所述更新单元还被配置成裁剪(1809,1909)β的值。
25.根据权利要求24所述的设备,其中,所述更新单元被配置成在基于裁剪的α的值更新(1808,1908)β的值之后裁剪(1809,1909)β的值。
26.根据权利要求24或25所述的设备,其中,仅当α的值被裁剪(1907)时,β的值才被裁剪(1909)。
CN202080037084.XA 2019-05-21 2020-05-21 用于帧间预测的局部光照补偿的方法和设备 Active CN113841405B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
RU2019000349 2019-05-21
RUPCT/RU2019/000349 2019-05-21
RUPCT/RU2019/000399 2019-06-04
RU2019000399 2019-06-04
PCT/RU2020/050102 WO2020236039A1 (en) 2019-05-21 2020-05-21 Method and apparatus of local illumination compensation for inter prediction

Publications (2)

Publication Number Publication Date
CN113841405A CN113841405A (zh) 2021-12-24
CN113841405B true CN113841405B (zh) 2023-10-10

Family

ID=73458770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080037084.XA Active CN113841405B (zh) 2019-05-21 2020-05-21 用于帧间预测的局部光照补偿的方法和设备

Country Status (4)

Country Link
US (1) US20220124343A1 (zh)
EP (1) EP3963884A4 (zh)
CN (1) CN113841405B (zh)
WO (1) WO2020236039A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113302916B (zh) * 2019-01-27 2024-04-12 北京字节跳动网络技术有限公司 具有cu级别权重的双向预测的插值
US11924409B2 (en) * 2021-02-21 2024-03-05 Alibaba (China) Co., Ltd. Systems and methods for inter prediction compensation
US20230069089A1 (en) * 2021-08-31 2023-03-02 Mediatek Inc. Video decoder with hardware shared between different processing circuits and associated video decoding method
WO2023197229A1 (zh) * 2022-04-13 2023-10-19 Oppo广东移动通信有限公司 视频编解码方法、装置、设备、***及存储介质
WO2023198203A1 (en) * 2022-04-14 2023-10-19 FG Innovation Company Limited Method related to illumination compensation and electronic device
WO2024011126A1 (en) * 2022-07-05 2024-01-11 Bytedance Inc. Method, apparatus, and medium for video processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147911A (zh) * 2017-07-05 2017-09-08 中南大学 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置
CN108293137A (zh) * 2015-11-25 2018-07-17 高通股份有限公司 视频译码中具有非正方形预测块的照明补偿
WO2019039806A1 (ko) * 2017-08-21 2019-02-28 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN109565593A (zh) * 2016-08-01 2019-04-02 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101529921B (zh) * 2006-10-18 2013-07-03 汤姆森特许公司 无显式信令的局部照明和色彩补偿
WO2016204360A1 (ko) * 2015-06-16 2016-12-22 엘지전자 주식회사 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치
US10390015B2 (en) * 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
EP3503553A4 (en) * 2016-09-22 2020-07-29 LG Electronics Inc. -1- INTER-PREDICTION PROCESS AND APPARATUS BASED ON LIGHTING COMPENSATION IN AN IMAGE CODING SYSTEM
US10798404B2 (en) * 2016-10-05 2020-10-06 Qualcomm Incorporated Systems and methods of performing improved local illumination compensation
JP7036628B2 (ja) * 2017-03-10 2022-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020084507A1 (en) * 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
US11956475B2 (en) * 2019-02-06 2024-04-09 Qualcomm Incorporated Harmonization of prediction-domain filters with interpolation filtering
EP3737099A1 (en) * 2019-05-06 2020-11-11 InterDigital VC Holdings, Inc. Local illumination compensation for video encoding or decoding
US11997308B2 (en) * 2019-03-08 2024-05-28 Interdigital Madison Patent Holdings, Sas Local illumination compensation for video encoding or decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108293137A (zh) * 2015-11-25 2018-07-17 高通股份有限公司 视频译码中具有非正方形预测块的照明补偿
CN109565593A (zh) * 2016-08-01 2019-04-02 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
CN107147911A (zh) * 2017-07-05 2017-09-08 中南大学 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置
WO2019039806A1 (ko) * 2017-08-21 2019-02-28 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《CE1-related: Simplification of LIC parameter derivation and its unification with CCLM》;Alexey Filippov,等;《JVET会议:JVET-N0410-v2》;20190323;第1-3页 *
《non-CE1: simplification of LIC parameters derivation》;Philippe Bordes,等;《JVET会议:JVET-N0306-v2+JVET-N0306-draft-text-for-LIC-VVC》;20190318;第1-12页 *
Philippe Bordes,等.《non-CE1: simplification of LIC parameters derivation》.《JVET会议:JVET-N0306-v2+JVET-N0306-draft-text-for-LIC-VVC》.2019, *
一种自适应局部亮度补偿多视点视频编码方法;***;王传奇;刘斌;;重庆邮电大学学报(自然科学版)(06);全文 *

Also Published As

Publication number Publication date
US20220124343A1 (en) 2022-04-21
EP3963884A4 (en) 2022-08-10
EP3963884A1 (en) 2022-03-09
WO2020236039A1 (en) 2020-11-26
CN113841405A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
WO2020238706A9 (en) An encoder, a decoder and corresponding methods using for ibc merge list
CN113841405B (zh) 用于帧间预测的局部光照补偿的方法和设备
AU2019383290B2 (en) An encoder, a decoder and corresponding methods for merge mode
AU2020318106B2 (en) An encoder, a decoder and corresponding methods related to intra prediction mode
AU2020233003B2 (en) An encoder, a decoder and corresponding methods using IBC merge list
CN113545063A (zh) 使用线性模型进行帧内预测的方法及装置
CN113597761A (zh) 帧内预测方法和装置
AU2024201152A1 (en) An encoder, a decoder and corresponding methods using intra mode coding for intra prediction
CN113170118B (zh) 视频译码中进行色度帧内预测的方法及装置
CN115665407B (zh) 用于帧内预测的分量间线性建模方法和装置
CN114145019A (zh) 用于非线性自适应环路滤波器的限幅电平
WO2020253822A1 (en) Adaptive filter strength signalling for geometric partition mode
CN113228632B (zh) 用于局部亮度补偿的编码器、解码器、以及对应方法
EP3991435A1 (en) Method and apparatus of sample adaptive offset in-loop filter with application region size constraint
US11997296B2 (en) Motion field storage optimization for a line buffer
CN114830652A (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
GR01 Patent grant
GR01 Patent grant