用于帧内预测编码的系统和方法与流程

文档序号:16811267发布日期:2019-02-10 13:40阅读:262来源:国知局
用于帧内预测编码的系统和方法与流程

本公开涉及视频编码,并且更具体地涉及用于帧内预测编码的技术。



背景技术:

数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括iso/iecmpeg4visual和itu-th.264(也称为iso/iecmpeg-4avc)和高效率视频编码(hevc)。hevc在2015年4月的高效视频编码(hevc),rec.itu-th.265中描述,其以引用方式并入,并且在本文中称为itu-th.265。目前正在考虑对itu-th.265进行扩展和改进以开发下一代视频编码标准。例如,itu-t视频编码专家组(vceg)和iso/iec活动图像专家组(mpeg)(统称为联合视频研究组(jvet))正在研究压缩能力显著超过当前hevc标准的未来视频编码技术的标准化的潜在需求。以引用方式并入本文的联合探索模型2(jem2)、联合探索测试模型2(jem2)的算法描述、iso/iecjtc1/sc29/wg11/n16066(2016年10月,美国加利福利亚州圣迭戈)描述了由jvet在联合测试模型研究下的编码特征,该技术是超越itu-th.265功能的潜在增强视频编码技术。需注意,jem2的编码特征是在由fraunhofer研究机构维护的jem参考软件中实现的。目前,可以使用更新的jem参考软件版本2(jem2.0)。如本文所用,使用术语jem统称jem2的算法描述和jem参考软件的具体实施。

视频压缩技术可以减少存储和传输视频数据的数据需求。视频压缩技术可以通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即视频序列内的帧组、帧组内的帧、帧内的片段、片段内的编码树单元(例如,宏块)、编码树单元内的编码块等)。可以使用帧内预测编码技术(例如,图片内(空间))和帧间预测技术(即图片间(时间))来生成待编码的视频数据单元与视频数据的参考单元之间的差值。该差值可被称为残差数据。残差数据可被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引、运动向量和块向量)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在合规比特流中。



技术实现要素:

一般来讲,本公开描述用于编码视频数据的各种技术。具体而言,本公开描述了用于帧内预测视频编码的技术。本文所述的技术可用于导出交叉分量预测参数。需注意,虽然本公开的技术是关于itu-th.264、itu-th.265和jem描述的,但是本公开的技术通常可应用于视频编码。例如,本文关于itu-th.265描述的帧内预测视频编码技术通常可应用于视频编码。例如,本文中所描述的编码技术可并入包括块结构的视频编码系统(包括未来视频编码标准)、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或熵编码技术,但itu-th.265中的那些除外。因此,对itu-th.264、itu-th.265和/或jem的参考是用于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,需注意,将文献以引用方式并入本文是出于描述的目的,并且不应被解释为限制或产生关于本文使用的术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文中使用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以在包括替代方案中每个特定定义的方式来解释。

本发明的一个方面是一种对视频数据进行解码的方法,该方法包括:接收视频数据的重构样本;确定用于亮度分量的帧内预测参数;并且基于所确定的用于亮度分量的帧内预测,根据互相关预测重构色度分量的一个或多个样本。

附图说明

[图1]图1是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码和解码的系统的示例的框图。

[图2]图2是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码的视频编码器的示例的框图。

[图3]图3是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的示例的概念图。

[图4]图4是示例根据本公开的一种或多种技术的可使用的多行帧内预测技术的示例的概念图。

[图5]图5是示例根据本公开的一种或多种技术的可使用的交叉分量帧内预测技术的示例的概念图。

[图6]图6是示例根据本公开的一种或多种技术的可使用的交叉分量帧内预测技术的示例的概念图。

[图7]图7是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行解码的视频解码器的示例的框图。

[图8]图8是示例根据本公开的一种或多种技术的可使用的交叉分量帧内预测技术的示例的概念图。

具体实施方式

视频内容通常包括由一系列帧组成的视频序列。一系列帧也可以被称为一组图片(gop)。每个视频帧或图片可以包括多个片段或片,其中片段或片包括多个视频块。视频块可被定义为可被预测性地编码的像素值(也被称为样本)阵列。视频块可以根据扫描模式(例如,光栅扫描)来排序。视频编码器对视频块和其子分区执行预测编码。itu-th.264规定了包括16×16亮度样本的宏块。itu-th.265规定了类似的编码树单元(ctu)结构,其中图片可以被分割成相同大小的ctu,并且每个ctu可以包括具有16×16、32×32或64×64亮度样本的编码树块(ctb)。在itu-th.265中,可以根据相应的四叉树块结构将ctu的ctb分割成编码块(cb)。根据itu-th.265,一个亮度cb连同两个对应的色度cb(例如,cr和cb色度分量)和相关联的语法元素被称为一个编码单元(cu)。cu与为cu定义一个或多个预测单元(pu)的预测单元(pu)结构关联,其中pu与对应的参考样本相关联。也就是说,在itu-th.265中,使用帧内预测或帧间预测对图片区域进行编码的决定在cu级进行。在itu-th.265中,pu可以包括亮度和色度预测块(pb),其中方形pb被支持用于帧内预测,并且矩形pb被支持用于帧间预测。帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)可将pu与对应参考样本相关联。

视频采样格式(也可以称为色度格式)可以相对于cu中包括的亮度样本的数量来定义cu中包括的色度样本的数量。例如,对于4:2:0格式,亮度分量在水平和垂直方向的采样率是色度分量的两倍。因此,对于根据4:2:0格式格式化的cu,用于亮度分量的样本阵列的宽度和高度是用于色度分量的每个样本阵列的宽度和高度的两倍。图3是示出根据4:2:0样本格式格式化的16×16编码单元的示例的概念图。图3示出了色度样本相对于cu内的亮度样本的相对位置。如上所述,通常根据水平和垂直亮度样本的数量来定义cu。因此,如图3所示,根据4:2:0样本格式格式化的16×16cu包括亮度分量的16×16样本和每个色度分量8×8样本。此外,在一个示例中,色度样本相对于与16×16邻近的视频块的亮度样本的相对位置在图3中示出。类似地,对于根据4:2:2格式格式化的cu,亮度分量的样本阵列的宽度是每个色度分量的样本阵列宽度的两倍,但是是亮度分量的样本阵列的高度等于每个色度分量的样本阵列的高度。此外,对于根据4:4:4格式格式化的cu,亮度分量的样本阵列具有与每个色度分量的样本阵列相同的宽度和高度。jem规定了具有最大尺寸的256×256亮度样本的ctu。在jem中,ctb可能会根据二叉树结构进一步分割。也就是说,jem指定了四叉树加二叉树(qtbt)块结构。在jem中,二叉树结构支持被称为编码块(cb)的方形和矩形二叉树叶节点。在jem中,cb可以用于预测而不需要任何进一步的分割。此外,在jem中,亮度和色度分量可能具有单独的qtbt结构。如本文所用,术语视频块通常可以指图片的区域,包括一个或多个分量,或者可以更具体地指可以被预测性地编码的像素/样本值的最大阵列,其子分区和/或对应结构。此外,术语“当前视频块”可以指正被编码或解码的图片的区域。

包括在pu、cb或另一类型的图片区域结构和相关联的参考样本中的样本值之间的差异可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量(例如,亮度(y)和色度(cb和cr))的相应差值阵列。残差数据可能在像素域中。可对像素差值应用变换诸如离散余弦变换(dct)、离散正弦变换(dst)、整数变换、小波变换或概念上类似的变换,以生成变换系数。需注意,在itu-th.265中,pu可以进一步再分为变换单元(tu)。也就是说,为了生成变换系数,可以对像素差值的阵列进行再分(例如,可以将四个8×8变换应用于16×16残差值阵列),此类子分区可以被称为变换块(tb)。在jem中,可以使用对应于cb的残差值来生成变换系数。此外,在jem中,可以(在编码器中)应用核心变换和后续二次变换来生成变换系数。对于解码器,变换的顺序是相反的。此外,是否应用二次变换来生成变换系数可取决于预测模式。

可以根据量化参数(qp)量化变换系数。可以根据熵编码技术(例如,内容自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)、概率区间分割熵编码(pipe)等)对量化的变换系数进行熵编码。此外,语法元素,诸如指示预测模式的语法元素,也可以被熵编码。熵编码的量化变换系数和对应的熵编码语法元素可形成可用于再现视频数据的合规比特流。作为熵编码过程的一部分,可以对语法元素执行二值化处理。二值化是指将语法值转换成一个或多个位的序列的过程。这些位可以称为“箱”。

如上所述,帧内预测数据或帧间预测数据可以将图片的区域(例如,pu或cb)与对应的参考样本相关联。对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在itu-th.265中,定义的可能的帧内预测模式包括一个平面(即表面拟合)预测模式(predmode:0)、一个dc(即平坦整体平均)预测模式(predmode:1)和33个角预测模式(predmode:2至34)。对于角度预测模式,可以定义pu或cb上方的一行邻近样本、pu或cb左侧的一列邻近样本,以及左上邻近样本。例如,在itu-th.265中,一行邻近样本可以包括两倍于可以用于生成预测的pu的一行的样本(例如,对于8×8pu,一行邻近样本包括16个样本)。在itu-th.265中,角度预测模式通过指向相邻行邻近样本、相邻列邻近样本和/或相邻左上邻近样本中的样本,使得能够针对包括在pu或cb中的每个样本导出参考样本。在jem中,定义的可能的帧内预测模式包括一个平面预测模式(predmode:0)、一个dc预测模式(predmode:1)和65个角预测模式(predmode:2至66)。需注意,平面预测模式和dc预测模式可以被称为无方向预测模式,并且角预测模式可以被称为方向预测模式。需注意,无论定义的可能预测模式的数量如何,本文描述的技术通常都是适用的。例如,可能的帧内预测模式可包括任何数量的无方向预测模式(例如,两个或更多个拟合或平均模式)和任何数量的方向预测模式(例如,35个或更多个角度预测模式)。在一个示例中,对于帧内预测,在同一帧内过去编码的样本块可以用作参考以生成预测。可以显式明确地发信号通知参考样本块的位置,或者可以基于通过比较待预测的样本的近邻和用于参考的块而获得的失真度量来导出参考样本块的位置。

在基于itu-th.265和/或jem实现的当前视频编码系统中,对于角度预测模式,可以基于率失真分析(即,比特率与视频质量)来选择用于生成当前视频块的预测样本的角度预测模式。在当前视频编码系统中,分析可以包括分析一个或多个角度预测模式以及从为当前视频块定义的邻近样本组生成的所得预测样本的质量,其中该邻近样本组限于紧邻的样本。为了增加itu-th.265和/或jem的压缩能力,已经提出了所谓的多行帧内预测技术。例如,li等人,“基于多行的帧内预测”,文件:jvet-c0071,联合视频研究组(jvet),itu-tsg16wp3和iso/iecjtc1/sc29/wg11第3次会议,瑞士日内瓦,2016年5月26日至6月1日,(以下称“jvet-c0071”),和chang等人,“帧内方向模式的任意参考层”,文件:jvet-c0043,联合视频研究组(jvet),itu-tsgi6wp3和iso/iecjtc1/sc29/wg11第3次会议,瑞士日内瓦,2016年5月26日至6月1日,(以下称“jvet-c0043”)描述了多行帧内预测技术,其中每个都以引用方式并入本文。

通常,多行帧内预测技术定义一个或多个相应参考行,其可以用作用于生成当前视频块的帧内预测样本的一组邻近样本。图4示出了对于具有4:2:0采样格式的16×16cu,定义了四个亮度参考行(即,liney:0至-3)和两个色度参考行(即,linec:0至1)的示例。在图4中所示的示例性cu的情况下,对于itu-th.265和jem帧内预测技术,预测样本将限于使用liney:0和linec:0生成的样本。jvet-c0071描述了编码器检查cu的四个亮度参考行的位置,从最近的参考行(例如,图4中的liney0)到最远的参考行(例如,图4中的liney3),并选择根据率失真成本进行帧内预测的最佳参考行。也就是说,例如,在16×16cu的情况下,在jvet-c0071中,将为cu选择liney:0至3中的一个,并且所选择的行将用于生成亮度分量的帧内预测样本。此外,在jvet-c0071中,色度分量使用其对应的亮度分量的参考行索引。也就是说,对于图4中所示的4:2:0cu,在jvet-c0071中,当亮度分量使用liney:0或liney:1时,色度分量使用linec:0,并且当亮度分量使用liney:2或liney:3时,色度分量使用linec:1。

除了根据上述无方向和/或角度预测模式生成参考样本之外,帧内预测编码还可以包括所谓的交叉分量相关技术。通常,包括所谓的交叉分量相关技术的帧内预测编码技术基于以下假设:对于大多数视频编解码器,在亮度样本重构之后执行色度样本预测,并且因此,在这些情况下,从重构的亮度样本推断的信息可以用于色度样本预测。交叉分量相关技术的示例包括以下文献中描述的基于颜色分量相关性的预测(cccp)技术,mccann等人,“samsung对关于视频压缩技术的提议号召的回应”,文档:jctvc-a124,视频编码联合协作组(jct-vc),itu-tsg16wp3和iso/iecjtc1/sc29/wg11第1次会议,德国德累斯顿,2010年4月15日至23日,(以下称“jctvc-a124”),该文献以引用方式并入本文。此外,jem提供交叉分量预测技术,其可以被称为交叉分量线性模型(lm),用于基于重构的亮度样本生成色度的预测。jem中的交叉分量预测技术根据公式(1)和(2)来定义:

predc(i,j)=α·recl(i,j)+β(1)

pred*cr(i,j)=predcr(i,j)+α·resicb′(i,j)(2)

其中predc(i,j)表示位置(i,j)处的块中的色度样本的预测,recl(i,j)表示位置(i,j)处的相同块的下采样重构亮度样本,并且其中通过将当前块周围的邻近重构亮度样本和色度样本之间的回归误差最小化来导出参数alpha(α)和beta(β)。

参考上面的公式(2),在jem中,将交叉分量预测技术扩展到两个色度分量之间的预测。即,从cb分量预测cr分量。此外,如公式(2)所示,代替使用重构的样本信号,将对cr分量的分量预测应用于残差域,这通过将加权的重构cb残差添加到原始cr帧内预测以形成最终的cr预测来实现。图5示出了对于具有4:2:0采样格式的16×16cu,色度预测基于cu内的重构亮度样本以及当前块周围的邻近重构亮度样本和色度样本的示例。如图5所示,对于每个色度样本,生成对应的下采样亮度值。jctvc-a124描述了使用双线性滤波器来生成下采样亮度值的情况。在图5所示的示例中,每个下采样亮度值被示为基于四个对应的重构亮度样本来生成(如图5中的虚线框所示)。

b.bross、w.-j.han、g.j.sullivan、j.-r.ohm和t.wiegand,“高效视频编码(hevc)文本规范草案7”,视频编码联合协作组(jct-vc),itu-tsg16wp3和iso/iecjtc1/sc29/wg11,文件jctvc-i1003,第9次会议,瑞士日内瓦,2012年5月(以下称“jctvc-i1003”)描述了用于导出参数α和β的示例性技术,该文献以引用方式并入本文。jctvc-i1003定义了可用于导出参数α和β的各种中间变量(例如,l、c、ll、lc、a1等)的公式。为简洁起见,本文不再重复导出参数α和β的完整描述,但是,参考了jctvc-i1003的相关章节。此外,需注意,已经描述了jctvc-i1003中描述的用于导出参数的技术的其他变型(即,改变中间变量的公式中的缩放值)。然而,需注意,用于导出参数α和β的当前技术限于使用邻近色度值的紧邻行或列以及对应的下采样亮度值。需注意,参数α和β及其变体可以被称为交叉分量预测参数和/或是交叉分量预测参数的示例。这样,如本文所用,术语“交叉分量预测参数”可以指额外的交叉分量预测参数、用于导出参数α和β的中间变量,和/或参数α和β的变体。此外,需注意,交叉分量预测参数的导出可以在视频编码器处发生以用于生成重构的参考样本和/或在视频解码器处发生以用于从兼容的比特流重构视频数据。当前用于导出交叉分量预测参数的技术可能不太理想。

如上所述,帧内预测数据或帧间预测数据可以将图片的区域(例如,pb或cb)与对应的参考样本相关联。对于帧间预测编码,运动向量(mv)识别除了要编码的视频块的图片之外的图片中的参考样本,从而利用视频中的时间冗余。例如,可以从位于先前编码的帧中的参考块预测当前视频块,并且可以使用运动向量来指示参考块的位置。运动向量和相关数据可以描述例如运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度)、预测方向和/或参考图片索引值。此外,编码标准,诸如例如itu-th.265,可以支持运动向量预测。运动向量预测使得能够使用相邻块的运动向量来指定运动向量。运动向量预测的示例包括高级运动向量预测(amvp)、时间运动向量预测(tmvp)、所谓的“合并”模式,以及“跳过”和“直接”运动推断。此外,jem支持高级时间运动向量预测(atmvp)和空间-时间运动向量预测(stmvp)。

如上所述,可以根据熵编码技术对语法元素进行熵编码。如上所述,作为熵编码过程的一部分,可以对语法元素执行二值化处理。二值化是一个无损过程,并且可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断rice编码、golomb编码、k阶指数golomb编码和golomb-rice编码。如本文所使用的,术语固定长度编码、一元编码、截断一元编码、截断rice编码、golomb编码、k阶指数golomb编码和golomb-rice编码中的每一个可以指这些技术的一般实现和/或这些编码技术的更具体实现。例如,可以根据视频编码标准(例如,itu-th.265)具体地定义golomb-rice编码实现。二值化之后,cabac熵编码器可以选择上下文模型。对于特定箱,可以从与该箱相关联的一组可用上下文模型中选择一个上下文模型。在一些示例中,可以基于先前的箱和/或先前语法元素的值来选择上下文模型。例如,可以基于相邻帧内预测模式的值来选择上下文模型。上下文模型可以识别某个箱为特定值的概率。例如,上下文模型可以指示对值为0的箱进行编码的概率为0.7,并且对值为1的箱进行编码的概率为0.3。在选择可用的上下文模型之后,cabac熵编码器可以基于所识别的上下文模型对箱进行算术编码。需注意,可以使用算术编码而不使用明确指定的上下文模型来对一些语法元素进行熵编码,这种编码可以被称为旁路编码。

图1是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示根据本公开的一种或多种技术的可导出交叉分量预测参数的系统的一个示例。如图1所示,系统100包括源设备102、通信介质110和目标设备120。在图1所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码的视频数据发送到通信介质110的任何设备。目标设备120可包括被配置为经由通信介质110接收编码的视频数据并且对编码的视频数据进行解码的任何设备。源设备102和/或目标设备120可包括配备用于进行有线和/或无线通信的计算设备,并且可以包括机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、移动设备,包括例如“智能”电话、蜂窝电话、个人游戏设备和医学成像设备。

通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合来运营。电信协议可以包括专有方面和/或可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(dvb)标准、高级电视系统委员会(atsc)标准、综合服务数字广播(isdb)标准、有线数据业务接口规范(docsis)标准、全球移动通信系统(gsm)标准、码分多址(cdma)标准、第三代合作伙伴计划(3gpp)标准、欧洲电信标准协会(etsi)标准、互联网协议(ip)标准、无线应用协议(wap)标准以及电气与电子工程师协会(ieee)标准。

存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(ram)、动态随机存取存储器(dram)和静态随机存取存储器(sram)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(eprom)或电可擦除和可编程(eeprom)存储器的形式。存储设备可以包括存储卡(例如,安全数字(sd)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。

再次参考图1,源设备102包括视频源104、视频编码器106和接口108。视频源104可包括配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可包括被配置为接收视频数据并产生表示视频数据的合规比特流的任何设备。合规比特流可以指视频解码器可以从其接收和再现视频数据的比特流。合规比特流的各方面可根据视频编码标准来定义。当生成合规比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(可觉察的或不可觉察的)或无损的。接口108可以包括被配置为接收合规视频比特流并且将该合规视频比特流传输和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,其可以使得合规视频比特流能够存储在存储设备上。例如,接口108可以包括支持外围组件互连(pci)和外围组件快速互连(pcie)总线协议、专用总线协议、通用串行总线(usb)协议、i2c或任何其他可用于互连对等设备的逻辑和物理结构。

再次参考图1,目标设备120包括接口122、视频解码器124和显示器126。接口122可以包括被配置为从通信介质接收合规视频比特流的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以接收和/或发送信息的任何其他类型的设备。此外,接口122可以包括使得能够从存储设备检索合规视频比特流的计算机系统接口。例如,接口122可包括支持pci和pcie总线协议、专用总线协议、usb协议、pc的芯片组,或者可被用于互连对等设备的任何其他逻辑和物理结构。视频解码器124可包括被配置为接收合规比特流和/或其可接受变体,并且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一种类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。需注意,虽然在图1所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。

图2是示出可实施本文描述的用于编码视频数据的技术的视频编码器200的示例的框图。需注意,虽然示例视频编码器200被示出为具有不同的功能块,但是此类图示旨在用于描述目的,并且不将视频编码器200和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器200的功能。在一个示例中,视频编码器200可被配置为根据本文中所描述的帧内预测技术对视频数据进行编码。视频编码器200可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图2所示的示例中,视频编码器200接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可包括宏块、ctu、cb、其子分区和/或另一等效编码单元。在一些示例中,视频编码器可被配置为执行源视频块的额外再分。需注意,本文描述的技术通常适用于视频编码,而不管在编码之前和/或期间如何分割源视频数据。在图2所示的示例中,视频编码器200包括加法器202、变换系数发生器204、系数量化单元206、逆量化/变换处理单元208、加法器210、帧内预测处理单元212、帧间预测处理单元214、后滤波器单元216和熵编码单元218。如图2所示,视频编码器200接收源视频块并输出比特流。

在图2所示的示例中,视频编码器200可通过从源视频块中减去预测视频块来产生残差数据。下面详细描述了对预测视频块的选择。加法器202表示被配置为执行该减法运算的部件。在一个示例中,减去视频块出现在像素域中。变换系数生成器204对残差块或其子分区应用变换诸如离散余弦变换(dct)、离散正弦变换(dst)或概念上类似的变换(例如,四个8×8变换可以被应用于16×16残差值阵列)以产生残差变换系数集合。变换系数发生器204可以被配置为执行离散三角变换系列中包括的变换的任何和全部组合。变换系数生成器204可将变换系数输出到系数量化单元206。系数量化单元206可以被配置为执行变换系数的量化。量化过程可以减少与一些或所有系数相关联的位深度。量化的程度可以改变编码的视频数据的率失真。量化的程度可以通过调整量化参数(qp)来修改。如图2所示,量化的变换系数被输出到逆量化/变换处理单元208。逆量化/变换处理单元208可以被配置为应用逆量化和/或逆变换来生成重构的残差数据。如图2所示,在加法器210,重构的残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得到的重构的视频块来评估给定的预测、变换和/或量化的编码质量。视频编码器200可被配置为执行多个编码回合(例如,在改变预测、变换参数和量化参数中的一个或多个的同时执行编码)。比特流的率失真或其他系统参数可以基于重构的视频块的评估来优化。此外,重构的视频块可被存储并用作预测后续块的参考。

如上所述,可以使用帧内预测对视频块进行编码。帧内预测处理单元212可被配置为针对待编码视频块选择帧内预测模式。帧内预测处理单元212可被配置为评估一帧和/或其区域并且确定用以对当前块进行编码的帧内预测模式。如图2所示,帧内预测处理单元212将帧内预测数据(例如,语法元素)输出到熵编码单元220和变换系数生成器204。如上所述,对残差数据执行的变换可以取决于模式。如上所述,可能的帧内预测模式可以包括平面预测模式、dc预测模式和角预测模式。此外,如上所述,可能的帧内预测技术可以包括多行帧内预测技术。此外,如上所述,在一些示例中,可以根据亮度预测模式的帧内预测来推断色度分量的预测。在一个示例中,帧内预测处理单元212可在执行一个或多个编码回合之后选择用于亮度分量的帧内预测模式和参考行(在多行帧内预测的情况下)。此外,在一个示例中,帧内预测处理单元212可以基于率失真分析来选择亮度分量预测模式和参考行,并且色度分量预测可以基于所选择的亮度分量预测模式和参考行。在一个示例中,帧内预测处理单元212可在执行一个或多个编码回合之后选择用于亮度分量的帧内预测模式和参考行(在多行帧内预测的情况下)。此外,在一个示例中,帧内预测处理单元212可以基于率失真分析来选择亮度分量预测模式和参考行,并且色度分量预测可以基于所选择的亮度分量参考行。

在一个示例中,根据本文描述的技术,帧内预测处理单元212可以被配置为生成用于可能的多行帧内预测的一组参考行。在一个示例中,用于可能的多行帧内预测的一组参考行可以包括除了包括一组紧邻的行之外(例如,除了最邻近的四行之外)的一组参考行。在一个示例中,一组参考行可以被定义为包括每第i行,其中i等于2、3、4...64等(例如,每隔一个邻近行,或者每4、8或16个邻近行等)。此外,在一个示例中,可以基于邻近行中包括的样本值来确定一组参考行。例如,如果两条可能的参考行包括相似的样本值,则其中一行可以用一组邻近参考行中的另一行替换(例如,如果邻近行3类似于邻近行2,则该行可以由邻近行7替换)。也就是说,根据本文描述的技术,可以使用修剪过程来生成用于多行内部预测的一组参考行。

在一个示例中,根据本文中所描述的技术,帧内预测处理单元212可被配置为将多行帧内预测技术用于亮度分量并将互相关预测(例如,上文所描述的互相关预测)用于色度分量。在一个示例中,根据本文中所描述的技术,帧内预测处理单元212可被配置为基于可用的重构亮度样本(包括邻近重构亮度样本)和可用的重构色度样本(包括不限于紧邻的邻近样本的邻进样本)来导出两个或每一个相应色度分量的交叉分量预测参数,和/或一个或多个亮度分量预测属性(例如,亮度预测模式和/或用于亮度预测模式的参考行)。此外,需注意,在4:2:0采样格式的情况下,帧内预测处理单元212可被配置为使用额外的滤波技术值(例如,高斯滤波器等)生成与色度样本值对应的下采样亮度,其中滤波技术可以基于亮度分量预测属性。需注意,尽管本文描述的技术是关于使用4:2:0采样格式的示例来描述的,但是本文描述的技术通常可以适用于以上所描述的4:2:2和4:4:4采样格式以及其他采样格式。此外,需注意,尽管本文描述的示例是关于方形cu描述的,但是本文描述的技术通常可以应用于预测是基于矩形分区的情况。此外,需注意,本文描述的技术通常可以应用于亮度分量和色度分量中的样本的划分可以彼此独立的情况。此外,需注意,本文描述的技术通常可以应用于每个分量中的样本的划分可以独立于其他分量的情况。

如上所述,当前用于导出交叉分量预测参数的技术可能不太理想。如上面进一步描述的,交叉分量预测参数的导出可以在视频编码器处发生以用于生成重构的参考样本和/或在视频解码器处发生以用于从兼容的比特流重构视频数据。参照图6,图6示出了对于16×16cu,已经重构了邻近亮度和/或色度样本并且已经重构了亮度分量的示例,其中使用多行预测来预测亮度分量。因此,在图6所示的示例中,对于当前cu,相对于视频编码,邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量,以及多行预测参数可用于对当前cu中的色度分量进行编码,并且类似地,在一个示例中,视频解码器可导出互相关参数,以用于从邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量以及多行预测参数解码当前cu中的色度分量。根据本文描述的技术的互相关参数的导出是关于图7中所示的视频解码器700来描述的。

在一个示例中,相对于视频编码,邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量、色度块的大小、色度格式以及多行预测参数可用于对色度分量进行编码,在一个示例中,视频解码器可导出互相关参数,以用于从邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量、色度块的大小、色度格式以及多行预测参数解码当前cu中的色度分量。

再次参考图2,帧间预测处理单元214可以被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元214可被配置为接收源视频块并且计算视频块的pu的运动向量。运动向量可以指示当前视频帧内的视频块的pu相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。此外,运动预测可以是单向预测(使用一个运动向量)或双向预测(使用两个运动向量)。帧间预测处理单元214可被配置为通过计算由例如绝对差之和(sad)、平方差之和(ssd)或其他差值度量确定的像素差来选择预测块。如上所述,可以根据运动向量预测来确定和指定运动向量。如上所述,帧间预测处理单元214可被配置为执行运动向量预测。帧间预测处理单元214可被配置为使用运动预测数据生成预测块。例如,帧间预测处理单元214可定位帧缓冲器内的预测视频块(图2中未示出)。需注意,帧间预测处理单元214还可以被配置为将一个或多个内插滤波器应用于重构的残差块,以计算用于运动估计的子整数像素值。帧间预测处理单元214可将所计算的运动向量的运动预测数据输出到熵编码单元218。如图2所示,帧间预测处理单元214可经由后滤波器单元216接收重构的视频块。后滤波器单元216可被配置为执行解块和/或样本自适应偏移(sao)滤波。解块是指平滑化重构视频块边界的过程(例如,使观察者不易察觉到边界)。sao滤波是一种可用于通过向重构的视频数据添加偏移以改善重构的非线性振幅映射。

再次参考图2,熵编码单元218接收量化的变换系数和预测语法数据(即帧内预测数据和运动预测数据)。需注意,在一些示例中,系数量化单元206可在将系数输出到熵编码单元218之前执行对包括量化的变换系数的矩阵的扫描。在其他示例中,熵编码单元218可执行扫描。熵编码单元218可被配置为根据本文中所描述的技术中的一个或多个执行熵编码。熵编码单元218可被配置为输出合规比特流(即视频解码器可从其接收和再现视频数据的比特流)。需注意,在一些示例中,合规比特流可发信号通知可由解码器使用以导出互相关参数的变量。在一些示例中,可以基于重构的视频数据导出互相关参数。

图7是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行解码的视频解码器的示例的框图。在一个示例中,视频解码器700可被配置为对帧内预测数据进行解码。在一个示例中,视频解码器700可被配置为导出互相关参数,以用于从邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量以及多行预测参数解码当前cu中的色度分量。视频解码器700可被配置为执行帧内预测解码和帧间预测解码,并且因此可称为混合解码器。在图7所示的示例中,视频解码器700包括熵解码单元702、逆量化单元704、逆变换系数处理单元706、帧内预测处理单元708、帧间预测处理单元710、加法器712、后滤波器单元714和参考缓冲器716。视频解码器700可被配置为采用与视频编码系统一致的方式来解码视频数据,其可实施视频译码标准的一个或多个方面。需注意,虽然示例视频解码器700被示出为具有不同的功能块,但是此类图示旨在用于描述目的,并且不将视频解码器700和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器700的功能。

如图7所示,熵解码单元702接收熵编码的比特流。熵解码单元702可被配置为根据与熵编码过程互逆的过程解码来自比特流的量化语法元素和量化系数。熵解码单元702可被配置为根据上文所描述的任何熵编码技术执行熵解码。熵解码单元702可以与视频编码标准一致的方式解析编码的比特流。

参考图7,逆量化单元704从熵解码单元702接收量化的变换系数。逆向量化单元704可被配置以应用逆量化。逆变换处理单元706可以被配置为执行逆变换来生成重构的残差数据。由逆量化单元704和逆变换处理单元706分别执行的技术可以类似于由上述逆量化/变换处理单元208执行的技术。也就是说,逆变换处理单元706可以被配置为应用逆dct、逆dst、逆整数变换、不可分二次变换(nsst)或概念上类似的对变换系数的逆变换过程,从而生成像素域中的残差块。此外,如上所述,是否执行特定变换(或特定变换的类型)可以取决于帧内预测模式。如图7所示,可以将重构的残差数据提供给加法器712。加法器712可以将重构的残差数据添加到预测视频块并且生成重构的视频数据。可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。

帧内预测处理单元708可被配置为接收帧内预测语法元素并且从参考缓冲器716检索预测视频块。参考缓冲器716可包括被配置用于存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。在一个示例中,帧内预测处理单元708可使用根据本文中所描述的帧内预测编码技术中的一种或多种来重构视频块。参考图6,对于当前cu,邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量,以及多行预测参数可用于对当前cu中的色度分量进行解码,并且同样地,在一个示例中,帧内预测处理单元708可被配置为导出互相关参数,以用于从邻近的重构亮度和/或色度样本、用于当前cu的重构亮度分量以及多行预测参数解码当前cu中的色度分量。

在一个示例中,帧内预测处理单元708可被配置为基于为亮度分量帧内预测选择的参考行来导出互相关参数。例如,用于导出互相关参数的邻近样本阵列和/或其子组可以基于用于亮度的帧内预测的所选参考行。参考图6,在一个示例中,帧内预测处理单元708可被配置为基于以下逻辑条件导出互相关参数:

如果亮度帧内预测具有等于liney:0的参考行,

互相关参数是liney:0,1和linec:0的函数;

如果亮度帧内预测具有等于liney:1的参考行,

互相关参数是liney:0,1和linec:0的函数;

如果亮度帧内预测具有等于liney:2的参考行,

互相关参数是liney:2,3和linec:1的函数;

如果亮度帧内预测具有等于liney:3的参考行,

互相关参数是liney:2,3和linec:1的函数;

此外,在一个示例中,帧内预测处理单元708可被配置为基于以下逻辑条件导出互相关参数:

如果亮度帧内预测具有等于liney:0的参考行,

互相关参数是liney:0,1和linec:0的函数;

如果亮度帧内预测具有等于liney:1的参考行,

互相关参数是liney:1,2和linec:0的函数;

如果亮度帧内预测具有等于liney:2的参考行,

互相关参数是liney:1,2和linec:1的函数;

如果亮度帧内预测具有等于liney:3的参考行,

互相关参数是liney:2,3和linec:1的函数;

此外,在一个示例中,帧内预测处理单元708可被配置为基于以下逻辑条件导出互相关参数:

如果亮度帧内预测具有等于liney:0的亮度参考行,和等于linec:0的色度参考行

互相关参数是liney:0,1和linec:0的函数;

如果亮度帧内预测具有等于liney:1的亮度参考行,和等于linec:0的色度参考行

互相关参数是liney:1,2和linec:0的函数;

如果亮度帧内预测具有等于liney:2的亮度参考行,和等于linec:1的色度参考行

互相关参数是liney:1,2和linec:1的函数;

如果亮度帧内预测具有等于liney:3的亮度参考行,和等于linec:1的色度参考行

互相关参数是liney:2,3和linec:1的函数;

此外,在一个示例中,帧内预测处理单元708可被配置为基于以下逻辑条件导出互相关参数:

如果亮度帧内预测具有等于liney:0的参考行,

互相关参数是liney:0,1和linec:0的函数;

如果亮度帧内预测具有等于liney:1的参考行,

互相关参数是liney:0,1和linec:0的函数;

如果亮度帧内预测具有等于liney:2的参考行,

互相关参数是liney:2,3和linec:0,1的函数;

如果亮度帧内预测具有等于liney:3的参考行,

互相关参数是liney:2,3和linec:0,1的函数;

此外,在一个示例中,帧内预测处理单元708可被配置为基于以下逻辑条件导出互相关参数:

如果亮度帧内预测具有等于liney:0的参考行,和等于linec:0的色度参考行,

互相关参数是liney:0和linec:0的函数;

如果亮度帧内预测具有等于liney:1的参考行,和等于linec:0的色度参考行,

互相关参数是liney:1和linec:0的函数;

如果亮度帧内预测具有等于liney:2的参考行,和等于linec:1的色度参考行,

互相关参数是liney:2和linec:1的函数;

如果亮度帧内预测具有等于liney:3的参考行,和等于linec:1的色度参考行,

互相关参数是liney:3和linec:1的函数;

此外,在一些示例中,帧内预测处理单元708可被配置为基于一行或多行邻近样本中包括的样本值的子组来导出互相关参数。图8示出了邻近行中的样本子组的示例。在图8所示的示例中,当互相关参数是liney:0,1和linec:0的函数时(例如,根据上面提供的任何示例性逻辑条件),可以使用12列亮度样本和对应的色度样本来导出互相关参数,并且当互相关参数是liney:2,3和linec:1的函数时,可以使用16列亮度样本和对应的色度样本来导出互相关参数。需注意,在其他示例中,可以采用类似的方式导出其他样本子组。此外,如上所述,在一些示例中,非方形块可用于划分视频数据和/或用于帧内预测,在一些示例中,样本子组可以基于块是方形还是非方形(即,非方形可以具有更窄和/或更短的样本子组)。

在一个示例中,帧内预测处理单元708可以被配置为基于以下逻辑条件来导出基于样本子组的互相关参数:

如果亮度帧内预测具有等于liney:0的参考行,

互相关参数是liney:0,1和linec:0,子组0的函数;

如果亮度帧内预测具有等于liney:1的参考行,

互相关参数是liney:0,1和linec:0,子组1的函数;

如果亮度帧内预测具有等于liney:2的参考行,

互相关参数是liney:2,3和linec:0,1,子组2的函数;

如果亮度帧内预测具有等于liney:3的参考行,

互相关参数是liney:2,3和linec:0,1,子组3的函数;

其中,子组0至3中的每一个可以包括参考行和/或可用的重构样本中包括的样本的任何和所有组合。

在一个示例中,帧内预测处理单元708可以被配置为导出下采样的重构亮度样本和重构的色度样本。然后,可以使用非方形色度预测单元的大小来进一步对经下采样的重构亮度样本和重构的色度样本进行子采样。然后可以使用这些子采样样本来导出互相关参数。在一个示例中,对长边进行子采样,步长大小将是长边的维度除以短边的维度。需注意,重构的样本可包括经滤波的重构样本。

再次参考图7,帧间预测处理单元710可接收帧间预测语法元素并生成运动向量,以识别存储在参考缓冲器716中的一个或多个参考帧中的预测块。帧间预测处理单元710可生成运动补偿块,可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以被包括在语法元素中。帧间预测处理单元710可使用内插滤波器计算参考块的子整数像素的内插值。后滤波器单元714可被配置为对重构的视频数据执行滤波。例如,后滤波器单元714可被配置为执行解块和/或sao滤波,如上面关于后滤波器单元216所描述的。此外,需注意,在一些示例中,后滤波器单元714可被配置为执行专用的任意滤波(例如,视觉增强)。如图7所示,视频解码器700可以输出重构的视频块。这样,视频解码器700可被配置为根据本文中所描述的技术中的一个或多个生成重构的视频数据。这样,视频解码器700可被配置为接收重构的视频数据样本,确定亮度分量的帧内预测参数,根据基于所确定的亮度分量的帧内预测来重构色度分量的一个或多个样本。

在一个或多个示例中,所描述的功能可以通过硬件、软件、固件或其任何组合来实现。如果以软件实施,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从某个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。

以举例而非限制的方式,此类计算机可读存储介质可包括ram、rom、eeprom、cd-rom或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存,或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(dsl)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、dsl或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(cd)、激光盘、光学光盘、数字通用光盘(dvd)、软磁盘及blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。

可以由一个或多个处理器诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效集成或离散逻辑电路执行指令。因此,如本文所使用的术语“处理器”可以指任何前述结构或适用于实施本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文描述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。

本公开的技术可以在各种设备或装置包括无线手机、集成电路(ic)或一组ic(例如,芯片组)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。

此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实施或执行。被设计为执行本说明书中所述的功能的电路可包括通用处理器、数字信号处理器(dsp)、专用或通用集成电路(asic)、现场可编程门阵列(fpga),或其他可编程逻辑设备、分立栅极或晶体管逻辑器,或分立硬件部件,或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。

已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。<概述>

在一个示例中,一种对视频数据进行编码的方法包括:接收重构的视频数据样本,确定亮度分量的帧内预测参数,根据基于所确定的亮度分量的帧内预测来重构色度分量的一个或多个样本。

在一个示例中,一种用于视频编码的设备包括一个或多个处理器,这些处理器被配置为接收重构的视频数据样本,确定亮度分量的帧内预测参数,根据基于所确定的亮度分量的帧内预测来重构色度分量的一个或多个样本。

在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时,使得设备的一个或多个处理器接收重构的视频数据样本,确定亮度分量的帧内预测参数,根据基于所确定的亮度分量的帧内预测来重构色度分量的一个或多个样本。

在一个示例中,一种设备包括:用于接收重构的视频数据样本的装置,用于确定亮度分量的帧内预测参数的装置,用于根据基于所确定的亮度分量的帧内预测来重构色度分量的一个或多个样本的装置。

在以下附图和描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从描述和附图以及权利要求书中显而易见。

<交叉引用>

该非临时申请根据35u.s.c.§119要求2016年5月24日的临时专利申请no.62/341,039的优先权,其全部内容以引用方式并入本文。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1