掌桥专利:专业的专利平台
掌桥专利
首页

色度残差缩放的延迟降低方法和装置

文献发布时间:2023-06-19 13:26:15


色度残差缩放的延迟降低方法和装置

技术领域

本发明涉及用于彩色视频数据的视频编解码,其中亮度映像被应用于亮度分量。更具体的是,本发明公开了简化逆亮度映射的推导的技术。

背景技术

多功能视频编解码(VersatileVideo Coding,简称VVC)是由联合视频专家组(JointVideo Experts Team,简称JVET)开发的新兴视频编解码标准,所述联合视频专家组由国际电信联盟电信标准分局(ITU Telecommunication Standardization Sector,简称ITU-T)第16研究组视频编解码专家组和ISO/IEC JTC1 SC29/WG11(运动图像专家组(Moving Picture Experts Group,简称MPEG)组成。VVC基于高效率视频编解码(HighEfficiencyVideo Coding,简称HEVC)视频标准,具有改进的和新的编解码工具。例如,重塑过程(reshapingprocess)是VTM-4.0(VVC测试模型4.0版)中采用的新编解码工具。重塑过程也被称为亮度映射和色度缩放(Luma Mapping and Chroma Scaling,简称LMCS)。当重塑被应用时,在环路滤波之前视频样本在重塑域中进行编解码和重构。通过使用逆重塑,重塑的域重构的样本被转换为原始域。经环路滤波的原始域重构样本被存储在解码图像缓冲区中。对于帧间模式,通过使用正向重塑,运动补偿(motion compensated,简称MC)预测子被转换为重塑域。图1示出了在解码器侧的重塑过程的示例。

如图1所示,比特流由上下文自适应二进制算术编解码(context-adaptivebinary arithmetic coding,简称CABAC)解码器(即CABAC

当重塑被应用时,色度残差缩放也被应用。色度残差缩放可补偿亮度信号与色度信号的相互作用,如图2所示。在图2中,上部对应于亮度解码,下部对应于色度解码。

根据以下分别在编码器端和解码器端的公式,色度残差缩放在TU级别被应用:

编码器端:C

解码器端:C

在以上公式中,C

c’=sign(c)*((abs(c)*s+2

在以上公式中,c是色度残差,s是cScaleInv[pieceIdx]中的色度残差缩放因子,pieceIdx由TU的相应平均亮度值确定,CSCALE_FP_PREC是用于指定精度的常数。为了得出比例因子,整个TU的预测子被使用。C

(1)如果是帧内模式,则计算帧内预测亮度值的平均值;如果是帧间模式,则计算正向重塑的帧间预测亮度值的平均值。换句话说,平均亮度值avgY'TU在重塑域中被计算。

(2)寻找索引idx,其中avgY'TU属于逆映射PWL。

(3)C

导出色度缩放因子C

图3示出了亮度映像的示例。在图3A中,示出了1:1的映射,其中输出(即,重塑的亮度)与输入相同。由于亮度样本的直方图通常不是平坦的,因此使用强度重塑可利于提高速率失真优化(rate-distortionoptimizaiton,简称RDO)意义上的性能。对图像区域(例如图像)计算亮度样本的统计量。然后根据统计映像曲线被确定。通常,分段线性(piece-wiselinear,简称PWL)映像曲线被使用。图3B示出了具有3个段(segment)的PWL映射的示例,其中两个相邻段具有不同的斜率。虚线340对应于1:1映射。如果从0到340范围内的样本具有较大的空间方差(spatialvariance)以及出现的次数数量较小,则输入范围0-340被映像到较小的输出范围(即0-170),如图3B的段310所示。如果从340到680范围内的样本具有较小的空间方差以及出现次数数量较大,则输入范围340-680被映像到较大的输出范围(即170-850),如图3B的段320所示。如果从680到1023范围内的样本具有较大的空间方差以及出现的次数较小,则输入范围680-1023被映像到较小的输出范围(即850-1023),如第3B图的段330所示。图3B旨在示出简单的PWL映射。实际上,PWL映像可具有更多或更少的段。

帧内子块划分(Intrasub-blockpartition,简称ISP)和子块变换(sub-blocktransform,简称SBT)

为了生成更好的帧内模式预测子,ISP被应用。当ISP被应用时,亮度分量被分为多个子TB。子TB一个接一个地被重构。对于每个子TU,相邻子TB的重构样本可被用作帧内预测的相邻重构样本。对于色度分量TB,不会像亮度那样被分为多个子TB。

类似于ISP,SBT可被应用于帧间模式。当SBT被应用时,仅部分CU数据被转换。例如,通过水平分割或垂直分割当前块被分为两个分区。分区中只有一个可被用于变换编解码。另一个分区的残差被设置为零。例如,CU被分为两个TU或四个TU。TU中只有一个具有非零系数。

LMCS参数的发送

表1中显示了VVC正在考虑的LMCS参数的语法表。

表1

在以上语法表中,语法的语义定义如下:

lmcs_min_bin_idx指定亮度映像的PWL(分段线性)模型的最小bin索引,

lmcs_delta_max_bin_idx指定介于15和lmcs中使用的最大bin索引LmcsMaxBinIdx之间的delta值。所述值应在1到15之间(包括1和15)。

lmcs_delta_cw_prec_minus1加1是用于表示lmcs_delta_abs_cw[i]语法的比特数。

lmcs_delta_abs_cw[i]是第i个bin的绝对delta码字值。

lmcs_delta_sign_cw_flag[i]是变数lmcsDeltaCW[i]的符号。

变数lmcsDeltaCW[i]如以下导出:

lmcsDeltaCW[i]=(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i]。

i=0…15的变数lmcsCW[i]指定映像域中每个间隔的码字数量,其可如以下导出:

为了表示重塑曲线的PWL模型,三个变量:i=0…16的LmcsPivot[i],i=0…15的ScaleCoeff[i]以及i=0…15的InvScaleCoeff[i]可推导如下:

在以上推导中,SCALE_FP_PREC是用于指定精度的常数值。

在传统的LMCS过程中,逆亮度映像(例如,将待映像的亮度样本与多个阈值进行比较)相当耗时。因此,期望开发简化逆映射过程的技术。

发明内容

本发明公开了一种视频编解码的方法和装置。根据本发明的一种方法,多个第一段被确定,其中将与第一信号域中的亮度样本相对应的亮度样本范围划分为多个第一段,每个第一段对应将亮度样本从第一信号域映像到第二信号域一线段。另外,多个第二段被确定,其中与第二信号域中的亮度样本相对应的亮度样本范围被划分为多个第二段,以及所有第二段具有等于目标间隔值的相同大小。一个或多个第一枢轴点被确定或导出,其中每个第一枢轴点与一个第一段相关联,以及其中所述一个或多个第一枢轴点被确定或导出,使得:如果与第二信号域中的一第一枢轴点相对应的目标映像枢轴点具有目标间隔值的倍数,目标映像枢轴点和下一映射枢轴点被允许位于同一第二段中;否则,目标映像的枢轴点和下一映射的枢轴点不被允许位于同一第二段中。分段线性映像被用来执行亮度样本的视频编码或解码,以将目标亮度样本从第一信号域映像到第二信号域,或者从第二信号域映像到第一信号域。

在一实施例中,分段线性映像与多个第一段,多个第二段以及所述一个或多个第一枢轴点相关联。

在一实施例中,所有的第一段具有相同的第一间隔值。例如,第一间隔值对应于2到第一预定义数的幂,以及第一预定义数是整数。此外,第一预定义数可等于(bitDepth-4),以及bitDepth代表亮度样本的比特深度。

在一实施例中,目标间隔值对应于2到第二预定义数的幂,以及第二预定义数是整数。例如,第二预定义数等于(bitDepth-5),以及bitDepth表示亮度样本的比特深度。

在一实施例中,每个第二段具有至多两个映射的枢轴点。在一实施例中,亮度样本范围等于0至1023(包括0和1023),以及目标间隔值等于32。

附图说明

图1示出结合了亮度重塑过程的视频解码器的示例性框图。

图2示出结合了亮度重塑过程和色度缩放的视频解码器的示例性框图。

图3A示出1:1亮度映射的示例,其中输出(即重塑的亮度)与输入相同。

图3B示出具有3段的分段线性(PWL)亮度映像的示例。

图4示出根据本发明实施例的用于确定或导出逆亮度映射的枢轴点的示例性编解码系统的流程图。

具体实施方式

以下描述是实施本发明的最佳构思模式。进行该描述是为了说明本发明的一般原理,而不应被认为是限制性的。本发明的范围最好通过参考所附的权利要求来确定。

LMCS将原始域中的亮度样本映像到重塑域中以进行更好的数据估计。映像曲线由分段线性模型来估算。要将样本值从原始域转换为重塑域,查找表(look-up-table,简称LUT)被使用。LUT的条目号与输入样本动态范围相同。例如,如果10比特输入被使用,则1024条目的LUT被使用。如果14比特输入被使用,则8192条目的LUT被使用。在硬件实现中,此种LUT成本昂贵。因此,分段线性模型可被使用。输入可与每个片段进行比较,以找出输入属于哪个片段。在每个片段中,相应的输出值可根据该片段的特性计算。

方法1-具有默认数量的码字的LMCS

在一实施例中,映像域中每个二进制比特(bin)的码字数量(例如lmcsCW[i])使用默认数量的码字而不是使用OrgCW来导出,仅取决于输入数据的比特深度。

在所提出的方法中,i=lmcs_min_bin_idx到LmcsMaxBinIdx的变量lmcsCW[i]可根据如下推导:

lmcsCW[i]=default_CW+lmcsDeltaCW[i],

在以上公式中,default_CW在解码器侧导出或从编码器侧发送。

在一实施例中,如果default_CW是在解码器侧导出的,则它可根据lmcs_min_bin_idx和LmcsMaxBinIdx导出。如果小于lmcs_min_bin_idx的bin数量和大于LmcsMaxBinIdx的bin数量之和较大,则default_CW可被调整为大于OrgCW的值。

例如,如果小于lmcs_min_bin_idx的bin数量与大于LmcsMaxBinIdx的bin数量之和等于2,则default_CW导出为default_CW=OrgCW+A,其中A为正整数(例如1,2、3…)。

如果小于lmcs_min_bin_idx的bin数量与大于LmcsMaxBinIdx的bin数量之和等于0,则default_CW等于OrgCW。

在一实施例中,如果default_CW被发送,则在lmcs_delta_cw_prec_minus1之前,两种语法default_delta_abs_CW和default_delta_sign_CW_flag被发送。

变量default_delta_abs_CW表示default_CW和OrgCW的绝对差,变量default_delta_sign_CW_flag表示增量值是正还是负。仅当default_delta_abs_CW大于0时,default_delta_sign_CW_flag才被发出。

在一实施例中,如果default_CW被发送,则在lmcs_delta_cw_prec_minus1之后,语法default_delta_CW被发送。

在一实施例中,如果default_CW被发送,则在语法default_delta_CW之前,另一种语法lmcs_delta_default_cw_prec_minus1被发送,指示语法default_delta_CW需要多少个bin。

变量default_delta_CW表示default_CW与OrgCW之间的差值。

方法2-简化的逆映射

对于亮度映像,变量InputPivot[i]被定义,其中InputPivot[i]代表输入亮度样本的枢轴点。i=0...16的变量InputPivot[i]的可推导如下:

InputPivot[i]=i*OrgCW。

在原始设计中,逆缩放值存储在具有16个条目的表中,以及每个条目对应于PWL映像的每个片段(piece)。因此,在进行逆映射时,为了知道待映像亮度样本所属的片段,待映像的亮度样本需要与重塑域中所有片段的枢轴进行比较,以查找待映像的亮度样本所属的片段。对于每个待映像的亮度样本,此过程最多需要15个比较,以及推导如下。

在上述推导中,lumaSample是待映像亮度样本,i=0…16的LmcsPivot[i]是重塑域中每个片段的枢轴(pivot),lmcs_min_bin_idx是亮度映射中使用的最小bin索引,LmcsMaxBinIdx是亮度映像中使用的最大bin索引,而idxYInv是亮度样本lumaSample所属的片段。

方法2.1重构逆重塑曲线

为了简化逆映射过程,提出了根据发送的正向映像曲线来重构逆映像曲线。重塑域中的亮度样本被分成大小等于(1<>LOG2_INVERSE_INTERVAL)的表来实现,其中bitDepth是内部比特深度。当查找待映像的亮度样本所属的片段时,我们只需要将待映像的亮度样本右移LOG2_INVERSE_INTERVAL(即log2(INVERSE_INTERVAL)),然后片段的索引和逆输入枢轴可被导出,因此逆缩放值和逆输入枢轴可被找到。

通过将第一逆亮度样本和最后逆亮度样本之差除以重塑域中的间隔大小,重塑域中每个间隔的逆缩放值被导出。

在一示例中,通过以下步骤,逆缩放值表被构建:

步骤1.根据发送的LMCS资料导出正向缩放值

为了表示重塑曲线的PWL模型,三个变量:i=0…16的LmcsPivot[i],i=0…15的ScaleCoeff[i]以及i=0…15的InvScaleCoeff_tmp[i]可推导如下:

步骤2.查找逆映射枢轴值

对于等于(1<>LOG2_INVERSE_INTERVAL]可推导如下:

在以上公式中,通过将lumaSample设置为i,idxYInv被导出,然后遵循以下过程:

步骤3.导出每个片段的逆缩放值

对于索引等于i(i=0…(LmcsPivot[LmcsMaxBinIdx+1]>>LOG2_INVERSE_INTERVAL))的片段:

If((i==(LmcsPivot[LmcsMaxBinIdx+1]>>LOG2_INVERSE_INTERVAL))&&(LmcsPivot[LmcsMaxBinIdx+1]!=(i<

InvScaleCoeff[i]=(InputPivot_inv[i+1]–InputPivot_inv[i])*(1<

Otherwise,

InvScaleCoeff[i]=(InputPivot_inv[i+1]–InputPivot_inv[i])*(1<

在另一实施例中,对于索引等于i(i=0…(((1<>LOG2_INVERSE_INTERVAL)-1)的片段:

InvScaleCoeff[i]=(InputPivot_inv[i+1]–InputPivot_inv[i])*(1<

逆映射

对于逆映像,变量idxYInv由(lumaSample>>LOG2_INVERSE_INTERVAL)导出,其lumaSample是待映像的亮度样本。换句话说,idxYInv是通过将lumaSample右移LOG2_INVERSE_INTERVAL比特而得出的。变量invSample推导如下:

invSample=InputPivot_inv[idxYInv]+(InvScaleCoeff[idxYInv]*(lumaSample–(idxYInv<>SCALE_FP_PREC

逆映像的色度样本invLumaSample推导如下:

invLumaSample=Clip1(invSample)。

在上式中,Clip1(x)=Clip3(0,(1<

色度缩放被启用的情况

在该情况下,变量ChromaScaleCoeff[i](其中i=0…((((1<>LOG2_INVERSE_INTERVAL)-1)推导如下:

if(InvScaleCoeff[i]==0)

ChromaScaleCoeff[i]=(1<

else

ChromaScaleCoeff[i]=InvScaleCoeff[i].

在以上公式中,CSCALE_FP_PREC是用于指定精度的常数值。查找色度缩放值的过程变为:

1.查找一个或多个参考亮度样本值

2.Idx=(S>>LOG2_INVERSE_INTERVAL)

3.色度缩放因数(varScale)=ChromaScaleCoeff[Idx]

方法2.2构建从piece_reshaped到piece_original的映射表(MapIdxRtoIdxO[])

该方法提出根据发送的正向映像曲线构建从pieceIdx_reshaped到pieceIdx_original的映射表。重塑域中的亮度样本被分成大小等于(1<>LOG2_INVERSE_INTERVAL),其中bitDepth是内部比特深度。当查找用于逆映射的待映像的亮度样本所属的片段时,我们只需将待映像的亮度样本右移LOG2_INVERSE_INTERVAL,并在原始域中查找其对应的片段索引即可,其通过表MapIdxRtoIdxO(例如MapIdxRtoIdxO[S>>LOG2_INVERSE_INTERVAL],其中S是待映像的亮度样本)来查找。

在另一实施例中,对于重塑域中的每个片段,通过使用原始域的大部分亮度样本的索引,该片段在原始域中的相应索引可被导出。

在一实施例中,对于重塑域中的每个片段,通过使用原始域的第一亮度样本的索引,该片段在原始域中的相应索引可被导出。在一示例中,表MapIdxRtoIdxO可如下构建。对于等于(i<>LOG2_INVERSE_INTERVAL):

在上式中,通过将lumaSample设置为等于(i<

逆映射

变量idxYInv由MapIdxRtoIdxO[(lumaSample>>LOG2_INVERSE_INTERVAL)]导出,其中lumaSample是待映像的亮度样本。

变量invSample推导如下:

invSample=InputPivot[idxYInv]+(InvScaleCoeff[idxYInv]*(lumaSample–LmcsPivot[idxYInv])+(1<<(SCALE_FP_PREC-1)))>>SCALE_FP_PREC

逆映像亮度样本invLumaSample推导如下:

invLumaSample=Clip1(invSample)

色度缩放被启用的情况

在该情况下,查找色度缩放值的过程变成:

1.查找一个或多个参照亮度样本值

2.Idx=MapIdxRtoIdxO[(S>>LOG2_INVERSE_INTERVAL)]

3.色度缩放因子(varScale)=ChromaScaleCoeff[Idx]

方法2.3在原始域中导出片段的索引时最多进行N次比较

重塑域中的亮度样本被分成间隔等于(1<

当查找亮度样本的逆索引时,我们首先通过(亮度样本>>LOG2_INVERSE_INTERVAL)在重塑域中查找间隔索引,然后将亮度样本与该间隔中的N个阈值进行比较以在原始域中查找片段的正确的索引。在一实施例中,N等于1、2、3、4,…15。

方法3-简化的逆映射-在原始域中导出片段的索引时,最多进行N次比较

为了简化用于导出间隔索引的过程,建议在查找间隔索引时最多进行N次比较。为此,重塑域中的亮度样本被分为大小等于(1<>LOG2_INVERSE_INTERVAL)])和一个基本间隔索引(idxYBase[((1<>LOG2_INVERSE_INTERVAL)+1])。在一实施例中,LOG2_INVERSE_INTERVAL等于5且N等于1。以下实施例是针对INVERSE_INTERVAL等于5以及N等于1的情况。

在另一实施例中,在重塑域中的亮度样本被划分为(1<

在一实施例中,bitDepth分别等于10,K等于5,以及N等于1。以下实施例是针对bitDepth等于10,K等于5且N等于1的情况。

在另一实施例中,段的数量是LMCS分段映像曲线的间隔的数量的倍数。在一实施例中,如果LMCS分段映像曲线的间隔数目等于X,则段的数目等于M*X,其中M是整数,以及可以是2、3、4、5、6、7等等。

在一实施例中,M等于2,如果LMCS分段映像曲线的间隔数等于16(=2

方法3.1具有相等大小的段的逆亮度映射

对于每个段,索引(idxYSeg)(通过将待映像的亮度样本除以32来计算的)指定当前片段的索引。在另一实施例中,通过获取亮度样本的前5个MSB(最高有效比特),idxYse被导出。在另一实施例中,通过将待映像的亮度样本除以(1<<(bitDeptn-K)),idxYseg被导出。idxYBase[idxYSeg]是索引等于idxYSeg的段中最低映像亮度样本的间隔索引。通过将当前段中映像的最低亮度样本与最多15个LmcsPivot值进行比较,idxYBase[idxYSeg]被导出。LmcsSegPivot[idxYSeg]设置为等于LmcsPivot[idxYBase[idxYSeg]+1]。当查找任一亮度样本(lumaSample)的间隔索引(idxYinv)时,以下步骤被应用。

在另一实施例中,当找到任一亮度样本(即,lumaSample)的间隔指数(即,idxYinv)时,以下步骤被采用。

1.通过将lumaSample除以32或通过获取亮度样本的前5MSB来导出idxYSeg。

2.通过将lumaSample与LmcsSegPivot[idxYSeg]比较,逆间隔索引(idxYInv)被找到。

idxYInv=(lumaSample>=LmcsSegPivot[idxYSeg])?idxYBase[idxYSeg]+1:idxYBase[idxYSeg]

当色度缩放被启用时,步骤1和步骤2被应用以得出参考亮度样本的间隔索引。

1.逆亮度样本推导如下:

invSample=InputPivot[idxYInv]+(InvScaleCoeff[idxYInv]*(lumaSample-LmcsPivot[idxYInv])+(1<<10))>>11

2.将invSample裁剪为10比特值。

方法3.2:具有相等大小的段和减小的比特深度的逆亮度映像

在该方法中,通过限制用于将缩放因子乘以[-32,31]范围内的项(例如(lumaSample-LmcsPivot[idxYInv])),逆映像计算的比特深度被进一步减少。

对于每个段,索引(idxYSeg)(通过将待映像的亮度样本除以32来计算的)指定当前段的索引。在另一实施例中,通过获取亮度样本的前5个MSB,idxYseg被导出。在另一实施例中,通过将待映像的亮度样本除以(1<<(bitDeptn-K)),idxYseg被导出。idxYBase[i],其中i=0…((1<>5))-1,是具有等于i的索引的段中最低映像亮度样本的间隔索引。通过将第(i+1)段中的最低映像亮度样本与最多15个LmcsPivot值进行比较,idxYBase[i]中的每一个被导出。i=0…((1<>5)-1的LmcsSegPivot[i]的推导如下。如果在第(i+1)段中只有一个转折点,则LmcsSegPivot[i]被设置为等于LmcsPivot[idxYBase[i]+1];否则,其被设置为(i+1)*32(或等于i*(1<<(bitDepth-K)))。

在索引为“i”的段中是否只有一个转折点可通过比较idxYBase[i]和idxYBase[i+1]来知晓。如果两个值相同,以及LmcsPivot[LmcsMaxBinIdx+1]不在当前段中,或者LmcsPivot[LmcsMaxBinIdx+1]在当前段中且LmcsPivot[LmcsMaxBinIdx+1]等于i*32(或等于i*(1<<(bitDepth-K)),意味着没有转折点;否则,在第(i+1)段中有一个转折点。i=0…((1<>5)-1的inputSegPivot[i]设置为等于LmcsSegPivot[i]的逆映像亮度样本,以及它的推导遵循原始设计。在另一实施例中,如果当前段中没有转折点,则InputSegPivot[i]被设置为等于亮度样本i*32的逆映像亮度样本,以及它的推导遵循原始设计。

当查找任一亮度样本(lumaSample)的间隔索引(idxYinv)时,以下步骤被应用。

在另一实施例中,当查找任一亮度样本(lumaSample)的间隔索引(idxYinv)时,以下步骤被应用。

1.通过将lumaSample除以32或通过获取luma样本的5MSB来导出idxYSeg,

2.通过比较lumaSample和LmcsSegPivot[idxYSeg],逆间隔索引(idxYInv)可被找到。

idxYInv=(lumaSample>=LmcsSegPivot[idxYSeg])?idxYBase[idxYSeg]+1:idxYBase[idxYSeg]

当色度缩放被启用时,步骤1和步骤2被应用以得出参考亮度样本的间隔索引。

当导出逆亮度样本时,以下步骤被应用:

1.逆亮度样本推导如下:

dxYSeg=(lumaSample>>5)or idxYSeg=lumaSample的前5个MSBinvSample=InputSegPivot[idxYSeg]+(InvScaleCoeff[idxYInv]*(lumaSample-LmcsSegPivot[idxYSeg])+(1<<10))>>11

在另一实施例中,如果当前段中没有转折点,则InputSegPivot[i]被设置为等于亮度样本idxYSeg*32的逆映像的亮度样本,以及它的推导遵循原始设计,逆映像可通过以下方式导出:

invSample=InputSegPivot[idxYSeg]+(InvScaleCoeff[idxYInv]*(lumaSample–(idxYSeg<<5))+(1<<10))>>11

2.将invSample裁剪为10比特值。

方法3.3约束以确保在一段中仅存在N个转折点

为了确保在每个间隔(或称为每个段)中仅存在N个转折点,存在比特流一致性或规范约束,其中在每个间隔中仅存在N个转折点。如果在同一间隔中有N个以上的转折点,则该间隔中的码字数量应被调整。

在一实施例中,对于具有i=lmcs_min_bin_idx…LmcsMaxBinIdx的变量LmcsPivot[i],比特流一致性的要求为(LmcsPivot[i]>>5)和(LmcsPivot[i+1]>>5)不得相同。

在另一实施例中,对于具有i=lmcs_min_bin_idx..LmcsMaxBinIdx的变量LmcsPivot[i],要求(LmcsPivot[i]>>LOG2_INVERSE_INTERVAL)和(LmcsPivot[i+1]>>LOG2_INVERSE)不得相同。在一实施例中,LOG2_INVERSE_INTERVAL取决于亮度样本的比特深度,以及等于bitDepth-5。在一实施例中,LOG2_INVERSE_INTERVAL等于5且N等于1。

对于具有idxYSeg=0…((1<>5)-1的段的“多于一个转折点”的检测可以通过以下步骤进行:

对于间隔索引intervalIdx=0…15

1.idxLow=LmcsPivot[intervalIdx]>>5

2.idxHigh=LmcsPivot[intervalIdx+1]>>5

3.如果idexLow等于idxHigh,LmcsPivot[intervalIdx]不等于LmcsPivot[intervalIdx+1],以及LmcsPivot[intervalIdx]不是32的倍数,则“多个转折点”被检测到。

当在间隔i中检测到“一个以上的转折点”时,LmcsPivot[i+1]需要依据如下修改。

尽管以上示例是针对LOG2_INVERSE_INTERVAL等于5且N等于1的情况。该些方法可被扩展到LOG2_INVERSE_INTERVAL和N的不同设置。

在另一实施例中,对于具有i=lmcs_min_bin_idx..LmcsMaxBinIdx的变量LmcsPivot[i],比特流一致性的要求是LmcsPivot[i]的前5个MSB和LmcsPivot[i+1]不得相同。

方法3.4:约束以确保一个片段中的所有亮度样本最多属于两个不同的间隔

为了在导出间隔索引时对于每个待映像的亮度样本仅使用一个比较,存在比特流一致性,或者编码器规范约束或规范约束,以确保一个片段中的所有亮度样本都属于最多两个不同的间隔。

对于i=lmcs_min_bin_idx…LmcsMaxBinIdx的变量LmcsPivot[i],比特流一致性的要求是:如果LmcsPivot[i]不是32的倍数,那么(LmcsPivot[i]>>5)和(LmcsPivot[i+1]>>5)不得相同。

在另一示例中,为了在导出间隔索引时对每个待映像的亮度样本仅使用一个比较,每个间隔中的码字的数量被限制为特定值。以下实施例示出了比特流一致性,以确保在大小等于OrgCW/2的每个段中仅存在一个转折点。

在一实施例中,对于具有i=lmcs_min_bin_idx…LmcsMaxBinIdx的变量lmcsCW[i],比特流一致性的要求是:lmcsCW[i]应大于OrgCW/2–1。

在另一实施例中,对于具有i=lmcs_min_bin_idx…LmcsMaxBinIdx的变量lmcsCW[i],比特流一致性的要求是:lmcsCW[i]应大于OrgCW/2+1。

方法4-CIIP的色度缩放

在一实施例中,不同的模式可在不同位置使用参考亮度样本。

在另一实施例中,对于其预测过程可参考相邻的重构样本的块,用于缩放值推导的参考亮度样本来自当前CU或TU的相邻的重构样本。例如,如果当前块是帧内预测模式,则参考亮度样本是当前CU的左上,上,左参考边界样本,因此,对于帧内子块划分预测(sub-partition prediction,简称ISP)模式,色度残差缩放值使用当前CU/TU(不是子分区TU)的左上,上,左L形边界重构样本得出。在另一示例中,如果当前块是帧内预测模式,则参考亮度样本是当前TU的左上参考边界样本。因此,对于帧内ISP模式,色度残差缩放值使用当前TU(子分区)的左上,上,左L形边界重构样本来导出。左上L形边界重构样本可以是一个样本。

在另一实施例中,如果当前块是除了CIIP模式之外的帧间预测模式,则参考亮度样本可以是当前CU或TU的左上亮度预测样本。例如,如果当前CU是帧间预测模式,但是通过组合帧间帧内模式(combined Inter Intra modes,简称CIIP)或需要相邻重构样本的其他预测方法来预测,则参考亮度样本可以是前述的当前CU或参考CU/TU的参考边界重构样本。例如,左上相邻重构样本可被使用。

在另一实施例中,如果当前块是帧间预测模式,则参考亮度样本可以是当前CU或TU的左上亮度预测样本。例如,如果当前块是CIIP模式,则参考亮度样本可以是当前CU或TU的左上亮度预测样本。

在另一实施例中,如果当前块是IBC模式,则参考亮度样本的确定与帧间预测模式相同。

在另一实施例中,如果当前块是IBC模式,则参考亮度样本的确定与帧内预测模式相同。

任一前述提出的方法可在编码器和/或解码器中实现。例如,任一提出的方法都可在编码器的重塑模块或残差缩放/重塑模块和/或解码器的重塑模块或残差缩放/重塑模块中实现。可替代地,任一提出的方法可被实现为耦合到编码器的重塑模块或残差缩放/重塑模块和/或解码器的重塑模块或残差缩放/重塑模块的电路,从而提供重塑模块或残差缩放/整形模块所需的信息。

在一些实施例中,视频编码器必须遵循前述语法设计以便生成合法的比特流,以及仅当解析过程符合前述语法设计时,视频解码器才能够正确地解码比特流。当语法在比特流中被跳过时,编码器和解码器应将语法值设置为推断值,以确保编码和解码结果匹配。

图4示出了根据本发明的实施例的用于确定或推导逆亮度映射的枢轴点的示例性编码系统的流程图。流程图中所示的步骤以及本公开中的其他后续流程图可被实现为可在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个CPU)上执行的程序代码。流程图中所示的步骤也可基于硬件来实现,例如被布置为执行流程图中的步骤的一个或多个电子装置或处理器。根据该方法,在步骤410中确定多个第一段(segment),其中与第一信号域中的亮度样本相对应的亮度样本范围被划分为多个第一段,以及其中每个第一段对应于将亮度样本从第一信号域映像到第二信号域的一线段(line piece)。在步骤420中确定多个第二段,其中将与第二信号域中的亮度样本相对应的亮度样本范围划分为多个第二段,以及其中所有第二段具有等于目标间隔值的相同大小。在步骤430中一个或多个第一枢轴点被确定或导出,其中每个第一枢轴点与一第一段相关联,以及其中所述一个或多个第一枢轴点被确定或导出,使得:如果与第二信号域中的一第一枢轴点对应的目标映像枢轴点的值为目标间隔值的倍数,目标映像枢轴点和下一映射枢轴点被允许位于同一第二段中;否则,目标映像枢轴点和下一映射的枢轴点不被允许位于同一第二段中。在步骤440中,使用分段线性映像来执行亮度样本的视频编码或解码,以将目标亮度样本从第一信号域映像到第二信号域,或者从第二信号域映像到第一信号域。

所示流程图旨在说明根据本发明的视频编码的示例。本领域的普通技术人员可修改每个步骤,重新布置步骤,拆分步骤或组合步骤以实践本发明,而不背离本发明的精神。在本公开中,特定的语法和语义被用来说明用于实现本发明的实施例的示例。本领域的普通技术人员可通过用等效的语法和语义替换语法和语义来实践本发明,而不背离本发明的精神。

呈现以上描述是为了使本领域的普通技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域的普通技术人员将是显而易见的,以及本文中定义的一般原理可被应用于其他实施例。因此,本发明不旨在限于所示出和描述的特定实施例,而是与符合本文公开的原理和新颖性特征的最宽范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域的普通技术人员将理解,本发明可被实施。

前述的本发明的实施例可以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路电路或集成到视频压缩软件中以执行本文描述的处理的程序代码。本发明的实施例还可以是要在数字信号处理器(Digital Signal Processor,简称DSP)上执行以执行本文描述的处理的程序代码。本发明还可涉及由计算机处理器,数字信号处理器,微处理器或现场可程序设计门阵列(fieldprogrammable gate array,简称FPGA)执行的许多功能。该些处理器可被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以不同的程序设计语言和不同的格式或样式来开发。软件代码也可被不同的目标平台编译。然而,不同的代码格式,软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。

在不脱离本发明的精神或基本特征的情况下,本发明可以其他特定形式实施。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。等同于权利要求的含义和范围内的所有改变均应包含在其范围之内。

相关技术
  • 色度残差缩放的延迟降低方法和装置
  • 色度残差缩放的延迟降低方法和装置
技术分类

06120113674186