基于二元树初始化当前图片参考块矢量的制作方法

文档序号:26013181发布日期:2021-07-23 21:34阅读:104来源:国知局
基于二元树初始化当前图片参考块矢量的制作方法

本申请各种实施例中至少一个实施例通常涉及一种用于视频编码或解码、压缩或解压缩的方法或装置。



背景技术:

为了实现高压缩效率,图像和视频编译码方案通常采用预测(包括运动矢量预测)以及变换来利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测以利用帧内或帧间相关性,然后对原始图像和预测图像之间的、常常被表示为预测误差或预测残差的差进行转换、量化以及熵编译码。为了重建视频,通过进行与熵编译码、量化、变换和预测相对应的逆过程来对压缩数据进行解码。



技术实现要素:

本申请各种实施例中的至少一个实施例通常涉及一种用于视频编码或解码的方法或装置,尤其涉及一种用于基于依赖于相邻样点的参数模型来简化编译码模式的方法或装置。

根据第一方面,提供有一种方法。该方法包括以下步骤:获得与视频块的共位亮度块矢量相对应的色度块矢量;按顺序确定所述共位亮度块、左侧色度子块,或者上方色度子块是否是以当前图片参考模式进行编译码;在确定步骤为真的情况下,将当前色度块矢量相应地设置为对应的共位亮度块、左侧色度子块矢量,或上方色度子块矢量;以及使用所述色度块矢量对所述视频块进行编码。

根据第二方面,提供有一种方法。该方法包括以下步骤:获得与视频块的共位亮度块矢量相对应的色度块矢量;按顺序确定所述共位亮度块、左侧色度子块,或者上方色度子块是否是以当前图片参考模式进行编译码;在确定步骤为真的情况下,将当前色度块矢量相应地设置为对应的共位亮度块、左侧色度子块矢量,或上方色度子块矢量;以及使用所述色度块矢量对所述视频块进行解码。

根据另一方面,提供有一种装置。该装置包括处理器。该处理器可以被配置为通过执行前述方法中的任一种来对视频块进行编码或对比特流进行解码。

根据至少一个实施例的另一一般方面,提供有一种设备。该设备包括根据解码实施例中的任一实施例的装置;以及天线、频带限制器以及显示器中至少之一,其中,(i)天线被配置为接收包括视频块的信号;(ii)频带限制器被配置为将所接收的信号限制到包括视频块的频带;以及(iii)显示器被配置为显示代表视频块的输出。

根据至少一个实施例的另一一般方面,提供有一种包含根据上述编码实施例或变体中的任一项所生成的数据内容的非暂时性计算机可读介质。

根据至少一个实施例的另一一般方面,提供有一种信号。该信号包括根据上述编码实施例或变体中的任一项所生成的视频数据。

根据至少一个实施例的另一一般方面,比特流被格式化以包括根据上述编码实施例或变体中的任一项所生成的数据内容。

根据至少一个实施例的另一一般方面,提供有计算机程序产品。该计算机程序产品包括指令,当计算机执行程序时,该指令使得该计算机执行上述解码实施例或变体中任一项。

根据以下结合附图对示例性实施例进行的详细描述,一般方面的这些和其他方面,特征以及优点将变得显而易见。

附图说明

图1示出用以表示压缩的hevc图片的编译码树单元(codingtreeunit,ctu)和编译码树(codingtree,ct)概念的一种示例。

图2示出将编译码树单元划分为编译码单元、预测单元(predictionunit,pu)和变换单元(transformunit,tu)的一种示例。

图3示出四叉树加二叉树(qtbt)ctu表示的一种示例。

图4示出根据另一方案用默认矢量对色度矢量进行初始化。

图5示出标准、通用视频压缩方案。

图6示出标准、通用视频解压缩方案。

图7示出根据实施例1的色度块矢量推导的一种示例流程图。

图8示出使用实施例1的色度块矢量推导的一种示例。

图9示出使用在默认矢量的情况下的实施例1的色度块矢量推导的一种示例。

图10示出使用当左侧色度子块矢量不可用时,使用上方色度子块矢量的情况下的实施例1的色度块矢量推导的一种示例。

图11示出实施例1的变体,其中色度子块相邻块可以位于当前色度块之外。

图12示出实施例1的情况,其中与相同亮度块相对应的色度子块不具有相同的块矢量。

图13示出根据实施例2的色度块矢量推导。

图14示出当一个共位亮度子块的块矢量可用时,根据实施例2的色度块矢量推导。

图15示出根据实施例2的色度块矢量推导的流程图。

图16示出使用4×4色度子块约束的色度块矢量的一种示例推导。

图17示出根据所描述的一般方面的用于编码/解码的基于处理器的系统。

图18示出根据所描述的一般方面的方法的一个实施例。

图19示出根据所描述的一般方面的方法的另一实施例。

图20示出根据所描述的方面的一种示例装置。

具体实施方式

本文描述的实施例属于视频压缩领域,并且通常涉及视频压缩以及视频编码和解码。

为了实现高压缩效率,图像和视频编译码方案通常采用预测(包括运动矢量预测)以及变换以利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始图像和预测图像之间的、常常表示为预测误差或预测残差的差进行变换、量化和熵编译码。为了重建视频,通过进行与熵编译码、量化、变换和预测相对应的逆过程来对压缩数据进行解码。

在hevc(高效视频编译码,iso/iec23008-2,itu-th.265)视频压缩标准中,采用运动补偿的时间预测来利用存在于视频的连续图片之间的冗余。

为此,运动矢量与每个预测单元(pu)相关联。每个编译码树单元(ctu)在压缩域中由编译码树表示。这是ctu的四叉树划分,其中每个叶子被称为编译码单元(cu)。

然后,为每个cu设定一些帧内或帧间预测参数(predictioninfo)。为此,将其在空间上分割为一个或多个预测单元(pu),为每个pu分配一些预测信息。帧内或帧间编译码模式在cu级别被分配。

在被称为联合探索模型(jointexplorationmodel,jem)的针对新的视频压缩标准的jvet(联合视频探索小组)建议中,鉴于高压缩性能,已经提出接受四叉树-二叉树(qtbt)块分割结构。可以通过在中间水平地或垂直地将二叉树(bt)中的块拆分为两个尺寸相等的子块。因此,与其中块总是具有高度和宽度相等的正方形形状的qt中的块不同,bt块可以具有宽度和高度不相等的矩形形状。在hevc中,角度帧内预测方向被定义为从45度到-135度跨越180度,并且已在jem中被延用,这使得角度方向的定义与目标块形状无关。

为了对这些块进行编码,使用帧内预测以使用先前重建的相邻样点来提供块的估计版本。然后对源块和预测之间的差进行编码。在上述传统编解码器中,在当前块的左侧和顶部使用单排的参考样点。

在hevc(高效视频编译码,h.265)中,基于四叉树(qt)块分割结构对视频序列的帧进行编码。帧被划分为正方形编译码树单元(ctu),它们均基于率失真(rate-distortion,rd)标准经受基于四叉树的拆分被拆分为多个编译码单元(cu)。每个cu或者是帧内预测的,即,其基于因果相邻cu进行空间上的预测;或者是帧间预测的,即,其基于已解码的参考帧进行时间上的预测。在i-条带中,所有cu都是帧内预测的。然而,在p和b条带中,cu可以是帧内预测的,也可以是帧间预测的。对于帧内预测,hevc定义了35个预测模式,包括一个平面模式(索引为模式0),一个种dc模式(索引为模式1)和33个角度模式(索引为模式2-34)。角度模式与沿顺时针方向从45度至-135度的范围内的预测方向相关联。由于hevc支持四叉树(qt)块分割结构,因此所有预测单元(pu)均具有正方形形状。从而,从pu(预测单元)形状的角度来看,从45度到-135度的预测角度的定义是合理的。对于尺寸为n×n个像素的目标预测单元,顶部参考阵列和左侧参考阵列各自具有2n+1个样点的尺寸,其被要求针对所有目标像素均覆盖前述角度范围。考虑到pu的高度和宽度具有相等的长度,则两个参考阵列的长度相等也是合理的。

本发明属于视频压缩领域。与现有的视频压缩系统相比,其目的是改善帧间编译码的块中的双向预测。本发明还提出对于帧间条带(interslice),将亮度和色度编译码树进行分离。

在hevc视频压缩标准中,图片被划分为所谓的编译码树单元(ctu),其尺寸通常为64×64、128×128或256×256个像素。每个ctu在压缩域中由编译码树表示。这是ctu的四叉树划分,其中每个叶子被称为编译码单元(cu),请参见图1。

之后,为每个cu设定一些帧内或帧间预测参数(predictioninfo)。为此,其被空间地分割为一个或多个预测单元(pu),为每个pu被分配一些预测信息。帧内或帧间编译码模式在cu级别被分配,请参见图2。

提出了在压缩域中包括编译码树单元表示的新兴的视频压缩工具,以在压缩域中以更灵活的方式来表示图片数据。编译码树的这种更灵活的表示的优点是,与hevc标准的cu/pu/tu布置相比,其提高了压缩效率。

四叉树加二叉树(qtbt)编译码工具提供了这种增加的灵活性。其主要在于其中编译码单元可以按四叉树方式也可以按二叉树方式被拆分的编译码树。编译码树单元的这种编译码树表示如图3所示。

在编码器侧通过率失真优化过程来决定编译码单元的拆分,其包括以最小的率失真成本来确定ctu的qtbt表示。

在qtbt技术中,cu具有正方形或矩形形状。编译码单元的尺寸始终是2的幂,且通常取值于4至128之间。

除了用于编译码单元的这种多种矩形形状之外,与hevc相比,这种新的ctu表示具有以下不同的特征。

ctu的qtbt分解由两个阶段组成:首先,以四叉树的方式对ctu进行拆分,然后可以以二叉树的方式对每个四叉树叶子进行进一步的划分。这在图3的右侧进行了示出,其中实线表示四叉树分解阶段,虚线表示被空间地嵌入到四叉树叶子中的二叉树分解。

在帧内条带中,亮度和色度块分割结构是分离的,且被独立地决定。此特征在下文中还被称为二元树。

如jvetk0076中所提出的当前图片参考(currentpicturereferencing,cpr)被集成于vtm-3.0(通用视频编译码测试模型,versatilevideocodingtestmodel)中。当cpr被启用时,当前图片被添加至参考图片列表,且使用p条带来代替i-条带。在帧间图片使用相同的预测模式。

本文中所述的一般方面所解决的一个问题是如何在使用cpr编译码工具以及在二元树被激活的情况下使得色度块的编译码效率最大化,以及在启用二元数时如何在当前图片参考模式中来对色度分量的块矢量进行初始化。该问题的变体是在共位亮度子块为4×4时,如何处理4×4的色度子块约束。

以下,“块矢量”表示参考当前图片的运动矢量。

将二元树与cpr一起使用的现有技术提议如下:

在第一方法jvet-k0076中,仅在当前图片是唯一可用的参考帧时才使用二元树。在使用用于亮度和色度的分离的分割树的情况下,可以以cpr模式对色度cu进行编译码,其中根据与共位亮度样点相关联的编译码模式推导对应的色度块矢量。更具体地,通过cpr模式对色度cu的对应亮度样点在其样点的覆盖方面进行检查。以下方法被提出以处理色度分离的编译码树被启用时的不同情况:

·完全覆盖:全部对应的亮度子块是以cpr模式进行编译码的。在这种情况下,可以以cpr模式对当前色度cu进行编译码。对于每个色度子块,其块矢量都是根据其对应的亮度块的块矢量推导的。还可以为所考虑的色度cu选择其他可用的模式(帧内,pcm等)或进一步拆分。

·无覆盖或部分覆盖:没有对应的亮度子块或仅部分对应的亮度子块是以cpr模式进行编译码的。在这种情况下,当前色度cu将以可用模式(帧内模式、pcm等)之一来进行编译码,而不是以cpr模式进行编译码、或者进行进一步拆分。

在另一种方法jvet-k0450中:以直接模式根据亮度添加cpr(dm,directmode):

——检查覆盖当前色度块的共位的五个位置的亮度块的预测类型。这五个位置按照中心(center,cr),左上(top-right,tl),右上(top-right,tr),左下(bottom-left,bl)和右下(bottom-right,br)的顺序被检查。如果针对所检查的位置中至少之一,在亮度上使用了cpr,则将应用以下步骤。

——根据亮度和色度之间的分辨率差来缩放帧间亮度块的运动矢量(mv)。然后,检查缩放后的mv是否对当前色度块有效,以检查参考样点是否存在于正在被解码的当前图片的dpb副本中。该缩放和检查操作也按cr、tl、tr、bl和br的顺序进行。

如果在缩放之后找到了cpr亮度块,并且其mv对当前色度块有效,则将cpr模式放在候选列表中紧随cclm(crosscomponentlinearmodel,分量间线性模型)模式之后。否则,不将cpr模式添加到该列表中。将cpr模式放入该列表时并不会改变该列表的长度,这意味着传统的帧内预测模式会被移除。此外,与cpr模式相关联的mv只是帧间亮度块的第一个缩放的有效mv。

在标题为“separatecodingtreeforlumachromaininterslices(帧间条带中亮度色度的分离编译码树)”的申请中,用于色度的运动矢量是根据共位亮度块推导的。对于每个色度子块,使用共位的亮度运动矢量。如果共位亮度块是帧内编译码的,则使用默认矢量,默认矢量或是在当前块内找到的第一个运动矢量或是空矢量,如图4所示。

本文描述的各方面的一个目的是当二元树与当前图片参考一起被启用时提高编译码效率。

在上述jvet-k0076现有技术方法中,仅在上述“完全覆盖”情况下才允许进行cpr。这可能在编译码效率方面使得cpr工具子-优化(sub-optimal)。实际上,一小部分共位亮度不使用cpr阻止了编解码器对所考虑的色度块使用cpr。

因此,本文提出的各方面中的一个方面包括:即使某些共位亮度子块没有以cpr模式进行编译码,通过某些策略将块矢量分配给色度块,在这些情形下也允许cpr。

受影响的编解码器模块中的两个模块是图5的运动估计175模块和图6的运动补偿275模块。

在vtm-3.0中,当cpr和二元树被启用时,色度块对每个子块重复使用共位块矢量。一个约束在编码器处被验证:全部共位亮度子块均应使用cpr模式。不兼容的编码器可以创建比特流,而不是在解码器创建未指定的行为,其中共位矢量不可用的情况下不使用矢量。

没有或具有部分亮度块矢量覆盖的色度当前图片参考

在第一实施例中,如果共位亮度块不是cpr编译码的,则使用来自左侧色度子块的亮度矢量;如果左侧色度子块不是cpr编译码的,则使用来自上方色度子块的亮度矢量;如果来自上方色度子块的亮度矢量不可用,则使用默认矢量,如图7所示。可以将默认矢量初始化为(-2×width,0)。根据一种变体,可以使用一些其他默认块矢量值或可以指定一个值。

图8示出了根据第一实施例的色度块矢量推导。共位块矢量对于右下子块不可用,因此色度块矢量被从左子块色度块矢量复制过来。

在图9中,示出了另一个示例,其中在块的开始处使用默认矢量。

在图10中,示出了另一个示例,其中当左侧色度子块矢量不可用时,使用上方色度子块矢量。

在一个变体中,可以从共位亮度块之外获取左侧和上方色度子块,如图11所示。在该变体的实施例中,如果子块均位于相同ctu中,则可以在共位亮度块之外获取子块;否则,数据被视为不可用。

表1:在cpr和二元树被启用时bms2.1上的实施例1的结果。

表1中所示的提出的技术的结果示出在类f和tgm(带有运动的文本和图形,textandgraphicswithmotion)序列上的改进。

取决于亮度分割的色度块矢量推导

在第二实施例中,考虑共位亮度块分割以推导色度块矢量。在某些情况下,对应于相同共位亮度块的许多色度子块可以具有不同的块矢量,如图12所示。

使用与第一实施例中相同的块矢量推导,但是该推导仅被进行一次。然后,对应于一个亮度块的全部色度子块共享相同的块矢量,如图13所示。在本示例中,在共位亮度子块中未找到块矢量,因此选择了来自相邻(左侧)色度子块的块矢量。

如果共位亮度子块之一中有块矢量可用,则如图14所示来选择该矢量。可以仅对一个共位子块位置(例如中心位置)进行检查,或者可以对全部共位子块位置进行检查,直到找到块矢量。

通过对与一个亮度块相对应的全部色度子块使用相同的矢量,我们确保在亮度和色度之间不存在运动不连续性。在图15中示出了根据第二实施例的色度块矢量推导。

色度4×4约束处理

在jvet-l0265中,在仿射编译码的块的情况下,色度分量的子块尺寸被从2×2扩大到4×4。该约束可以扩展到所有其他编译码模式。在这种情况下,需要进行根据多个共位亮度子块来推导色度块矢量,如图16所示。

在这种情况下,提出的推导与若干亮度子块重叠的色度子块的块矢量的解决方案是对所考虑的色度子块的亮度共位矢量块使用默认位置。作为示例,可以考虑由当前色度子块覆盖的亮度区域中的左上亮度子块。

模式融合(harmonization)

取决于分离的树亮度/色度开或关之间的编译码模式,可以优选融合。以上方案可以被用于实现这种融合:

-在第一变体中,以如上述第一和第二实施例中所述的系统化方式推导子块的色度块矢量。在本变体中,对于色度的cpr模式是可用的,而不考虑亮度模式。

-在第二变体中,仅使用亮度的左上子块来推导色度cpr运动矢量。在这种情况下,可以有利地将cpr色度模式有条件地与该子块的亮度模式一起用信号通知。通常,当亮度分量的左上模式不使用cpr编译码模式时,不用信号通知cpr模式。

图18中示出了根据本文描述的一般方面的方法1800的一个实施例。该方法开始于开始框1801并且控制继续进行到框1810,以获得与视频块的共位亮度块矢量相对应的色度块矢量。控制从框1810继续进行至框1820,以按顺序确定所述共位亮度块、左侧色度子块或上方色度子块是否以当前图片参考模式编译码。控制从框1820继续进行到框1830,以在上述确定步骤结果为真的情况下,将当前色度块矢量分别设置为对应的共位亮度块、左侧色度子块矢量或上方色度子块矢量。控制从框1830继续进行至框1840,以使用所述色度块矢量对所述视频块进行编码。

图19中示出了根据本文所描述的一般方面的方法1900的另一实施例。该方法开始于开始框1901,并且控制继续进行到框1910,以获得与视频块的共位亮度块矢量相对应的色度块矢量。控制从框1910继续进行到框1920,以按顺序确定所述并共位亮度块、左侧色度子块或上方色度子块是否以当前图片参考模式编译码。控制从框1920继续进行到框1930,以在上述确定步骤结果为真的情况下,将当前色度块矢量分别设置为对应的共位亮度块、左侧色度子块矢量或上方色度子块矢量。控制从框1930继续进行至框1940,以使用所述色度块矢量对所述视频块进行解码。

图20示出了一种用于使用基于依赖于相邻样点的参数模型的简化编译码模式进行编码、解码、压缩或解压缩的装置2000的一个实施例。该装置包括处理器2010,并且可以通过至少一个端口与存储器2020互连。处理器2010和存储器2020都还可以具有到外部连接的一个或多个其他互连。

处理器2010还被配置为向比特流中插入信息或接收比特流中的信息,或使用上述各方面中的任一种来进行压缩、编码或解码。

本申请描述了多个方面,包括工具,特征,实施例,模型,方法等。这些方面中的多个是专门描述的,以至少示出各个特征,并且通常以听起来受限的方式进行描述。然而,这是出于描述清楚的目的,而不对那些方面的应用或范围进行限制。实际上,所有不同的方面都可以被组合和互换以提供进一步的方面。此外,这些方面也可以与先前申请中所述的方面进行组合和互换。

本申请中描述和设想的方面可以以多种不同的形式被实现。图5,6和17提供了一些实施例,但是也设想了其他实施例。图5、6和17的讨论不对实现方式的广度进行限制。这些方面中的至少一个方面通常涉及视频编码和解码,并且至少一个其他方面通常涉及对生成的或经编码的比特流进行发送。这些和其他方面可以被实现为方法,装置,其上存储有用于根据上述方法中任一种对视频数据进行编码或解码的指令的计算机可读存储介质,和/或其上存储有根据上述方法中任一种所生成的比特流的计算机可读存储介质。

在本申请中,术语“重建的”和“解码的”可以被互换使用,术语“像素”和“样点”可以被互换使用,术语“图像”、“图片”和“帧”可以被互换使用。通常但并非必须地,术语“重建的”用于编码器侧,而“解码的”用于解码器侧。

本文描述了多种方法,并且每种方法包括用于实现所述方法的一个或多个步骤或动作。除非方法的合理运行需要特定的步骤或动作顺序,否则特定步骤和/或动作的顺序和/或使用可以被修改或组合。

本申请中描述的多种方法和其他方面可以被用于修改模块,例如,如图5和图6所示的视频编码器100和解码器200的帧内预测、熵编码、和/或解码模块(160、360、145、330)。此外,本文的各方面不限于vvc或hevc,而是可以被应用于,例如,其他标准和建议以及任何这些标准和建议的扩展(包括vvc和hevc),无论这些标准和协议是预先存在的还是未来开发的。除非另外指出或在技术上被排除,本申请中描述的各方面可以被单独地使用或被以组合的方式使用。

在本申请中使用了多个数值。特定值是出于示例的目的,而上述的各方面并不限于这些特定值。

图5示出了编码器100。可以设想该编码器100的变型,但是为了清楚的目的,以下对编码器100进行了描述,而没有描述所有预期的变型。

在被编码之前,视频序列可以经历预编码处理(101),例如,将色彩变换应用于输入的彩色图片(例如,从rgb4:4:4到ycbcr4:2:0的转换),或者对输入图片分量执行重新映射,以获取对压缩更具弹性的信号分布(诸如,使用颜色分量之一的直方图均衡)。元数据可以与预处理相关联并被附加至比特流。

在编码器100中,如下所述,通过编码器元件对图片进行编码。对待编码的图片进行分割(102),并以例如cu为单位进行处理。使用例如帧内或帧间模式对每个单元进行编码。当单元被以帧内模式编码时,其执行帧内预测(160)。在帧间模式下,运动估计(175)和补偿(170)被执行。编码器决定(105)要使用帧内模式或帧间模式中的哪一个来于对单元进行编码,并且通过例如预测模式标志来指示帧内/帧间决策。例如,通过用原始图像块减去(110)预测块来计算预测残差。

接着,对预测残差进行变换(125)和量化(130)。经量化的变换系数以及运动矢量和其他语法元素被熵编码(145)以输出比特流。编码器可以跳过变换并直接对未变换的残差信号进行量化。编码器可以绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编译码。

编码器对已编码块进行解码,以为进一步的预测提供参考。对经量化的变换系数被去量化(140)并被逆变换(150)以对预测残差进行解码。通过将预测块和已解码预测残差进行组合(155)来重建图像块。将环路滤波器(165)应用于重建图片以执行例如去块/sao(样点自适应偏移)滤波,从而减少编码伪像。经滤波的图像被存储于参考图片缓冲器(180)。

图6示出了视频解码器200的框图。在解码器200中,如下所述,由解码器元件对比特流进行解码。视频解码器200通常执行与图5中所述的编码过程相返的解码过程。编码器100通常还执行视频解码,作为对视频数据进行编码的一部分。

具体地,解码器的输入包括由视频编码器100生成的视频比特流。首先对该比特流进行熵解码(230)以获得变换系数,运动矢量和其他编译码信息。图片分割信息指示图片如何被分割。因此,解码器可以根据已解码的图片分割信息来对图片进行划分(235)。对变换系数进行去量化(240)和逆变换(250)以对预测残差进行解码。通过将预测块和已解码预测残差进行组合(255)以重建图像块。可以根据帧内预测(260)或运动补偿预测(即,帧间预测)(275)来获得(270)预测块。将环路滤波器(265)应用于重建图像。经滤波图像被存储于参考图片缓冲器(280)。

已解码图片可以进一步经历解码后处理(285),例如,逆颜色变换(例如,从ycbcr4:2:0到rgb4:4:4的转换)或进行在预编码处理(101)中执行的重映射过程的逆过程的逆重映射。解码后处理可以使用在预编码处理中推导并在比特流中用信号通知的元数据。

图17示出了其中实现了多个方面和实施例的系统的示例的框图。系统1000可以被实施为以下设备。该设备包括以下描述的多个组件并且被配置为执行本文件中描述的一个或多个方面。这种设备的示例包括但不限于:各种电子设备,例如个人计算机,膝上型计算机,智能电话,平板计算机,数字多媒体机顶盒,数字电视接收器,个人视频记录系统,连接的家用电器以及服务器。系统1000的元件可以被单独或组合地实施在单个集成电路(ic)、多个ic和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件跨多个ic和/或分立组件分布。在各种实施例中,系统1000经由,例如通信总线或通过专用输入和/或输出端口,通信地耦合到一个或多个其他系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文件中描述的一个或多个方面。

系统1000包括至少一个处理器1010。该处理器1010被配置为执行加载在其中的指令,以实现例如本文件中描述的各方面。处理器1010可以包括嵌入式存储器,输入输出接口以及本领域已知的多种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储设备和/或非易失性存储设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于:电可擦可编程只读存储器(eeprom)、只读存储器(rom)、可编程只读存储器(prom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接存储设备(包括可分离和不可分离存储设备)和/或网络可访问存储设备。

系统1000包括编码器/解码器模块1030,其被配置为,例如,对数据进行处理以提供已编码视频或已解码视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的一个或多个模块。众所周知,设备可以包括编码模块和解码模块之一或两者。另外,如本领域技术人员已知的,编码器/解码器模块1030可以被实现为系统1000的分离元件,或者可以被合并到处理器1010内以作为硬件和软件的组合。

要加载到处理器1010或编码器/解码器1030上以执行本文件中描述的各方面的程序代码可以被存储于存储设备1040中,然后被加载到存储器1020上以由处理器1010执行。按照各种实施例,处理器1010、存储器1020、存储设备1040以及编码/解码模块1030中的一个或多个可以在本文件所述的各个过程的执行期间存储多个项目中的一个或多个。这样存储的项目可以包括但不限于:输入视频、已解码视频或已解码视频的一部分、比特流、矩阵、变量以及对等式、公式、运算和运算逻辑的处理的中间或最终结果。

在一些实施例中,处理器1010和/或编码器/解码器模块1030的内部的存储器被用于存储指令并为编码或解码期间需要的处理提供工作存储器。然而,在其他实施例中,处理设备(例如,处理设备可以是处理器1010或编码器/解码器模块1030)外部的存储器被用于这些功能中的一个或多个。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在部分实施例中,外部非易失性闪存被用于存储例如电视的操作系统。在至少一个实施例中,诸如ram的快速外部动态易失性存储器被用作用于视频编码和解码运算的工作存储器。视频编码和解码运算例如mpeg-2(mpeg是指运动图像专家组,mpeg-2也指iso/iec13818,13818-1也被称为h.222,并且13818-2也被称为h.262)、hevc(hevc是指高效视频编译码,也被称为h.265和mpeg-h第2部分)或vvc(通用视频编译码,由联合视频专家组jvet开发的新标准)。

如框1130所示,可以通过多种输入设备来提供到系统1000的元件的输入。这种输入设备包括但不限于:(i)接收例如由广播设备通过空中发送的射频(rf)信号的rf部分、(ii)组件(comp)输入终端(或一组comp输入终端)、(iii)通用串行总线(usb)输入终端,和/或(iv)高清晰度多媒体接口(hdmi)输入终端。在图17中未示出的其他示例包括合成视频。

在各种实施例中,框1130的输入设备具有如本领域中已知的相关联的相应输入处理元件。例如,rf部分可以与适合于下述操作的元件相关联。所述操作包括:(i)选择所需频率(也称为选择信号,或将信号频带限制在一频带内);(ii)对所选信号进行下变频;(iii)再次进行频带限制以将频带限制到较窄的频带以选择(例如)在某些实施例中可以被称为信道的信号频带;(iv)对经下变频和频带限制的信号进行解调;(v)执行纠错;以及(vi)进行解复用以选择所需的数据分组流。各种实施例的rf部分包括一个或多个执行这些功能的元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器,下变频器,解调器,纠错器和解复用器。rf部分可以包括执行这些功能中的多种的调谐器,上述功能包括例如将接收到的信号下变频至较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,rf部分及其相关联的输入处理元件接收通过有线(例如电缆)介质发送的rf信号,并通过滤波,下变频以及再滤波至期望的频带来执行频率选择。各种实施例对上述(及其他)元件的顺序进行了重新布置,移除这些元件中的一些,和/或添加执行类似或不同功能的其他元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各种实施例中,rf部分包括天线。

另外,usb和/或hdmi终端可以包括用于跨usb和/或hdmi连接将系统1000连接至其他电子设备的相应接口处理器。应当理解的是,输入处理的各方面,例如里德-所罗门纠错(reed-solomonerrorcorrection),可以根据需要例如在单独的输入处理ic内或在处理器1010内实现。同样地,usb或hdmi接口处理的各方面可以根据需要在单独的接口ic内或在处理器1010内实现。经解调的,经纠错的和经解复用的流被提供给各种处理元件,包括例如与存储器和存储元件组合运行的处理器1010和编码器/解码器1030,从而根据需要对数据流进行处理用于在输出设备上的呈现。

系统1000的各个元件可以被设置在集成壳体内。在该集成壳体内,通过使用合适的连接器件,例如本领域已知的内部总线,包括ic间(i2c)总线、布线和印刷电路板,各个元件被互连并且在彼此之间传输数据。

系统1000包括经由通信信道1060启用与其他设备的通信的通信接口1050。通信接口1050可以包括但不限于被配置为在通信信道1060上发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实现。

在各种实施例中,使用诸如wi-fi网络,例如ieee802.11(ieee是指电气和电子工程师协会)的无线网络,将数据流传输或以其他方式提供给系统1000。这些实施例的wi-fi信号经由适用于wi-fi通信的通信信道1060和通信接口1050上被接收。这些实施例的通信信道1060通常被连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的访问,以允许流式传输应用以及其他空中通信。其他实施例使用通过输入块1130的hdmi连接来传递数据的机顶盒向系统1000提供流式传输的数据。还有其他实施例使用输入块1130的rf连接向系统1000提供流式传输的数据。如上所述,各种实施例以非流式传输的方式提供数据。另外,各种实施例使用除wi-fi之外的无线网络,例如蜂窝网络或蓝牙网络。

系统1000可以将输出信号提供给各输出设备,包括显示器1100、扬声器1110和其他外围设备1120。各种实施例的显示器1100包括例如触摸屏显示器、有机发光二极管(oled)显示器、曲面显示器和/或可折叠显示器中的一种或多种。显示器1100可以被用于电视,平板电脑,膝上型计算机,手机(移动电话)或其他设备。显示器1100还可以被与其他组件(例如,如在智能电话中)集成在一起,或分离(例如,用于膝上型电脑的外部监视器)。在实施例的各示例中,其他外围设备1120包括独立数字视频光盘(或数字多功能光盘)(dvr,用于两个术语)、磁盘播放器、立体声系统和/或照明系统中的一个或多个。各种实施例使用一个或多个基于系统1000的输出提供功能的外围设备1120。例如,磁盘播放器执行对系统1000的输出进行播放的功能。

在各个实施例中,控制信号通过使用下述信令在系统1000与显示器1100、扬声器1110或其他外围设备1120之间通信。所述信令诸如av.link、消费性电子产品控制(consumerelectronicscontrol,cec)、或者无论有无用户干预的情况下启用设备到设备控制的其他通信协议。输出设备可以经由通过相应接口1070、1080和1090的专用连接,通信地耦合至系统1000。可替换地,输出设备可以通过经由通信接口1050使用通信信道1060被连接至系统1000。显示器1100和扬声器1110可以与系统1000的其他组件被集成在例如电视的电子设备中的单个单元中。在各种实施例中,显示接口1070包括显示驱动器,例如,定时控制器(tcon)芯片。

例如,如果输入1130的rf部分是分离的机顶盒的一部分,则显示器1100和扬声器1110可以可替换地与其他组件中的一个或多个分离。在其中显示器1100和扬声器1110是外部组件的各种实施例中,输出信号可以经由专用输出连接被提供,该专用输出连接包括例如hdmi端口,usb端口或comp输出。

可以通过由处理器1010实现的计算机软件,或者通过硬件,或者通过硬件和软件的组合来实现实施例。作为非限制性示例,可以由一个或多个集成电路来实现实施例。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现。作为非限制性示例,这些数据存储技术包括,例如光存储器设备,磁存储器设备,基于半导体的存储器设备,固定存储器和可移动存储器。作为非限制性示例,处理器1010可以是适合于技术环境的任何类型,并且可以包含微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。

各种实现涉及解码。如本申请中所使用的,“解码”可以包含例如对接收到的已编码序列执行的、以产生适合于显示的最终输出的过程的全部或部分。在各种实施例中,这样的过程包括通常由解码器执行的过程中的一个或多个,例如,熵解码,逆量化,逆变换和差分解码。在各种实施例中,这样的过程还或者可替代地包括由本申请中描述的各种实现的解码器执行的过程。

作为进一步的示例,在一个实施例中,“解码”仅是指熵解码,在另一实施例中,“解码”仅是指差分解码,而在另一实施例中,“解码”是指熵解码和差分解码的组合。基于特定描述的上下文,短语“解码过程”是专门指操作的子集还是广义上指更广泛的解码过程将是显而易见的,并且相信本领域技术人员会很好地理解。

各种实现涉及编码。以与上述关于“解码”的讨论类似的方式,如在本申请中使用的“编码”可以包含例如对输入视频序列执行的、以产生已编码比特流的过程的全部或部分。在各种实施例中,这样的过程包括通常由编码器执行的过程中的一个或多个,例如,分割、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还或者可替换地包括由本申请中描述的各种实现的编码器执行的过程。

作为进一步的示例,在一个实施例中,“编码”仅是指熵编码,在另一实施例中,“编码”仅是指差分编码,而在另一实施例中,“编码”是指差分编码和熵编码的组合。基于特定描述的上下文,短语“编码过程”是专门指操作的子集还是广义上指更广泛的编码过程将是显而易见的,并且相信本领域技术人员会很好地理解。

应该注意的是,本文所使用的语法元素是描述性术语。因此,它们不排除使用其他语法元素名称。

当将附图呈现为流程图时,应当理解的是,其也提供了对应的装置的框图。类似地,当将附图呈现为框图时,应当理解的是,其也提供了对应的方法/过程的流程图。

各种实施例可以参考参数模型或率失真优化。具体地,在编码过程中,通常会给出计算复杂性的约束,因此会考虑比特率和失真之间的平衡或折衷。可以通过率失真优化(ratedistortionoptimization,rdo)度量,或者通过最小均方(leastmeansquare,lms)、绝对误差均值(meanofabsoluteerrors,mae)或其他此类测量来对其进行测量。率失真优化通常被公式化为对率失真函数进行最小化,该函数是率和失真的加权和。有多种解决率失真优化问题的方法。例如,这些方法可以基于对包括所有考虑的模式或编译码参数值的所有编码选项的广泛测试,从而对其编译码成本和在编码和解码后的重建信号的相关失真进行全面评估。还可以使用更快的方法来节省编码复杂性,特别是对于基于预测或预测残差信号而不是重建信号来计算近似失真。也可以使用这两种方法的混合,例如,仅对某些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其他方法仅对可能的编码选项的子集进行评估。更一般而言,许多方法采用多种技术中的任何一种来执行优化,而优化不一定是对编译码成本和相关失真的全面评估。

本文描述的实现方式和方面可以以例如,方法或过程、装置、软件程序、数据流或信号的方式来实现。即使仅在单一形式的实现方式中进行了讨论(例如,仅作为一种方法讨论),所讨论的特征的实现方式也可以以其他形式(例如,设备或程序)来实现。装置可以以例如,适当的硬件、软件和固件来实现。方法可以在例如处理器中实现,该处理器通常指的是处理设备,包括例如,计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、手机、便携式/个人数字助理(“pda”),以及其他有助于终端用户之间的信息通信的设备。

关于“一个实施例”或“一实施例”或“一个实现方式”或“一实现方式”,以及它们的其他变型,是指结合该实施例描述的特定特征、结构、特性等包括在至少一个实施例中。因而,贯穿本申请的各处出现的短语“在一个实施例中”或“在一实施例中”或“在一种实现方式中”或“在一实现方式中”以及任何其他变型的出现不一定全部是指相同的实施例。

另外,本申请可以涉及“确定”各种信息。对信息进行确定可以包括例如对信息进行估计、对信息进行计算、对信息进行预测或从存储器检索信息中的一种或更多种。

进一步地,本申请可以涉及“访问”各种信息。对信息进行访问可以包括以下中的一种或更多种:例如,对信息进行接收、对信息进行检索(例如从存储器中)、对信息进行存储、对信息进行移动、对信息进行复制、对信息进行计算、对信息进行确定,对信息进行预测或对信息进行估计。

此外,本申请可以涉及“接收”各种信息。接收与“访问”一样,是一个广义的术语。对信息进行接收可以包括例如,对信息进行访问或对信息进行检索(例如,从存储器中)中的一个或多个。而且,在以下操作期间通常以某种形式涉及“接收”:诸如对信息进行存储、对信息进行处理、对信息进行发送、对信息进行移动、对信息进行复制、对信息进行擦除、对信息进行计算、对信息进行确定、对信息进行预测或对信息进行估计。

应当理解的是,对以下“/”、“和/或”以及“至少一个”的使用,例如在“a/b”、“a和/或b”和“a和b中的至少一个”的情况下,旨在包含仅选择列出的第一个选项(a)或仅选择列出的第二个选项(b)或两个选项(a和b)都选。作为进一步的示例,在“a、b和/或c”和“a,b和c中至少一个”的情况下,这种短语旨在包含仅选择列出的第一个选项(a)、或仅选择列出的第二个选项(b)、或仅选择列出的第三个选项(c)、或仅选择列出的第一个和第二个选项(a和b)、或仅选择列出的第一个和第三个选项(a和c)、或者仅选择列出的第二个和第三个选项(b和c)、或者选择全部三个选项(a和b和c)。如对于本领域和相关领域的普通技术人员显而易见的那样,这可以被扩展至如列出的项目一样多。

此外,如本文中所使用的,词语“信号”尤其指向对应的解码器指示某些东西。例如,在某些实施例中,编码器用信号发送多个变换、编译码模式或标志中的特定一个。以这种方式,在一实施例中,在编码器侧和解码器侧都使用相同的变换、参数或模式。从而,例如,编码器可以将特定参数发送(显式信令)给解码器,以使得解码器可以使用相同的特定参数。相反地,如果解码器已经具有特定的参数以及其他参数,则可以不用发送就使用信令(隐式信令)以简单地使得解码器知道并选择该特定参数。通过避免传输任何实际功能,在各种实施例中实现了比特节省。应当理解的是,可以以多种方式来完成信令。例如,在各种实施例中,使用一个或多个语法元素、标志等来将信息用信号发送给对应的解码器。尽管前面涉及词语“信号”的动词形式,但词语“信号”在本文中也可以用作名词。

如对于本领域的普通技术人员将显而易见的,实现方式可以产生多个信号,这些信号被格式化为携带可以例如被存储或发送的信息。信息可以包括例如用于执行方法的指令或由所描述的实现方式之一产生的数据。例如,信号可以被格式化为携带所描述的实施例的比特流。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且利用已编码数据流来调制载波。信号所携带的信息可以是例如模拟或数字信息。众所周知,该信号可以通过多种不同的有线或无线链路传输。这种信号可以被存储于处理器可读介质上。

已经描述了各种实施例。这些实施例的特征可以被单独提供或以任何组合的形式提供。此外,实施例可以包括以下以单独或任何组合的形式涵盖多种权利要求类别和种类的特征、设备或方面中的一个或多个:

·初始化在解码器和/或编码器中应用的色度分量的块矢量。

·在解码器和/或编码器中启用二元树和当前图片参考。

·如果未使用当前图片参考对共位亮度块进行编译码,则应用来自相邻子块的亮度矢量。

·从共位亮度块分割推导至少一个色度块矢量。

·确保对与解码器和/或编码器中应用的亮度块相对应的所有色度子块使用相同的矢量。

·包括所描述的语法元素或其变型中的一个或多个的比特流或信号。

·将语法元素插入信令,使解码器以与编码器所使用的方式相对应的方式来确定编译码模式。

·对包括所描述的语法元素或其变型中的一个或多个的比特流或信号进行创建和/或发送和/或接收和/或解码。

·执行根据所描述的实施例中的任一个的(多个)变换方法的电视、机顶盒、手机、平板电脑或其他电子设备。

·执行根据所描述的实施例中的任一个的(多个)变换方法确定并显示(例如,使用监视器、屏幕或其他显示器)所得到的图像的电视,机顶盒,手机,平板电脑或其他电子设备。

·对频道进行调谐(例如使用调谐器)以接收包括已编码图像的信号并执行根据所描述的实施例中的任一个的(多个)变换方法的电视、机顶盒、手机、平板电脑或其他电子设备。

·通过空中接收(例如,使用天线)包括已编码图像的信号并执行(多个)变换方法的电视、机顶盒、手机、平板电脑或其他电子设备。

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