用于通用OBMC的方法和装置与流程

文档序号:23068576发布日期:2020-11-25 17:56阅读:189来源:国知局
用于通用OBMC的方法和装置与流程

本原理涉及视频压缩领域。



背景技术:

在hevc视频压缩标准(国际电信联盟,itu-th.265高效视频编码)中,图片被划分成所谓的编码树单元(ctu),其尺寸通常为64×64、128×128、或256×256像素。

每个ctu由压缩域中的编码树表示。如图1所示,这是ctu的四叉树划分,其中每个叶称为编码单元(cu)。

然后,为每个cu提供一些帧内或帧间预测参数(预测信息)。为此,将cu在空间上分区成一个或多个预测单元(pu),每个pu均分配有一些预测信息。帧内或帧间编码模式在cu级上分配,见图2。

根据hevc标准,编码单元还遵循“变换树”以递归的方式划分成所谓的变换单元。因此,变换树是编码单元的四叉树划分,并且变换单元是变换树的叶。变换单元封装对应于所考虑的正方形空间区域的每个图片分量的正方形变换块。变换块是单个分量中样本的正方形块,其中应用相同的变换。

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



技术实现要素:

现有技术的这些和其他缺点和不足由至少一个所描述的实施例来解决,这些实施例涉及一种用于编码或解码视频数据块的方法和装置。在至少一个实施例中,提出了使用卷积神经网络来生成分割分区概率的矢量。

根据本文所描述的至少一个一般实施例,提供了一种用于编码视频数据块的方法。该方法包括:将视频编码块的子块周围的水平和垂直的运动矢量对分别与该子块的当前运动矢量进行比较,以检查差异;使用来自具有不同运动矢量的至少一个相邻子块预测和使用所述当前运动矢量的预测的像素,对所述子块的预测的像素进行滤波,以生成所述子块的预测;以及,使用所述滤波后的预测对所述子块进行编码。

根据本文所描述的至少一个一般实施例,提供了一种用于解码视频数据块的方法。该方法包括:将视频编码块的子块周围的水平和垂直的运动矢量对分别与所述子块的当前运动矢量进行比较,以检查差异;使用来自具有不同运动矢量的至少一个相邻子块预测和使用所述当前运动矢量的预测的像素,对所述子块的预测的像素进行滤波,以生成所述子块的预测;以及,使用所述滤波后的预测对所述子块进行解码。

根据本文所描述的另一个一般实施例,提供了一种用于编码视频数据块的装置。该装置包括:存储器,和处理器,配置为:将视频编码块的子块周围的水平和垂直的运动矢量对分别与所述子块的当前运动矢量进行比较,以检查差异;使用来自具有不同运动矢量的至少一个相邻子块预测和使用所述当前运动矢量的预测的像素,对所述子块的预测的像素进行滤波,以生成所述子块的预测;以及,使用所述滤波后的预测对所述子块进行编码。

根据本文所描述的另一个一般实施例,提供了一种用于编码视频数据块的装置。该装置包括:存储器,和处理器,配置为:将视频编码块的子块周围的水平和垂直的运动矢量对分别与所述子块的当前运动矢量进行比较,以检查差异;使用来自具有不同运动矢量的至少一个相邻子块预测和使用所述当前运动矢量的预测的像素,对所述子块的预测的像素进行滤波,以生成所述子块的预测;以及,使用所述滤波后的预测对所述子块进行解码。

根据本文所描述的另一方面,提供了一种非暂时性计算机可读存储介质,其包含根据所描述的方法实施例中任一个的方法或者由所描述的装置实施例中任一个的装置生成的数据内容,以用于使用处理器进行回放。

根据本文所描述的另一方面,提供了一种信号,其包括根据所描述的方法实施例中用于编码视频数据块的任一个的方法生成的或者由所描述的装置实施例中用于编码视频数据块的任一个的装置生成的视频数据,以用于使用处理器进行回放。

根据本文所描述的另一方面,提供了一种计算机程序产品,其包括指令,当计算机执行程序时,该指令使得计算机执行所描述的方法实施例中任一个的方法。

从下面结合附图阅读的示例性实施例的详细描述中,本原理的这些和其他方面、特征和优点将变得明显。

附图说明

图1示出了表示压缩图片的编码树单元和编码树概念的一个示例。

图2示出了将编码树单元划分为编码单元、预测单元、和变换单元的示例。

图3示出了一种标准的通用视频压缩方案。

图4示出了一种标准的通用视频解压缩方案。

图5示出了应用于32×16整个帧间编码单元的现有技术的obmc。

图6示出了用于整个帧间编码单元的现有技术的obmc过程。

图7示出了应用于16×16划分的帧间编码单元的现有技术的obmc。

图8示出了用于划分的帧间编码单元的现有技术的obmc过程。

图9示出了应用于检测为整个编码单元的16×16划分的帧间编码单元的现有技术的obmc。

图10示出了应用于检测为被划分成子块的32×16整个帧间编码单元的现有技术的obmc。

图11示出了用于所有帧间编码单元的所提出的通用obmc过程的一个实施例。

图12示出了在合并atmvp模式下应用于32×16帧间编码单元的所提出的通用obmc的示例。

图13示出了在合并atmvp模式下应用于32×16帧间编码单元的相应现有技术的obmc。

图14示出了针对细编码单元的所提出的obmc过程的示例。

图15示出了用于细编码单元的相应现有技术的obmc过程。

图16示出了用于整个帧间编码单元的所提出的通用obmc过程的示例实施例。

图17示出了用于所有帧间编码单元的所提出的通用obmc过程的示例实施例。

图18示出了用于编码器的所提出的obmc方法的一个实施例。

图19示出了用于解码器的所提出的obmc方法的一个实施例。

图20示出了用于所提出的obmc过程的装置的一个实施例。

具体实现方式

描述了一种用于提高视频信号的熵编码效率的方法。具体而言,描述了一种obmc(overlappedblockmotioncompensation,重叠块运动补偿)的改进方法。

在hevc视频压缩标准中,采用运动补偿的时间预测来利用视频的连续图片之间存在的冗余。

为此,现在来说明将运动矢量与每个预测单元(pu)关联。每个ctu由压缩域中的编码树表示。如图1所示,这是ctu的四叉树划分,其中每个叶称为编码单元(cu)。

然后,为每个cu提供一些帧内或帧间预测参数(预测信息)。为此,将cu在空间上分区成一个或多个预测单元(pu),每个pu均分配有一些预测信息。帧内或帧间编码模式在cu级上分配,见图2。

在hevc中,每个pu恰好分配了一个运动矢量。该运动矢量用于所考虑pu的运动补偿的时间预测。

在由jvet(联合视频探索团队)组开发的联合探索模型(jem)中,cu不再划分为pu或tu,直接将一些运动数据分配给每个cu。在这种新的编解码器设计中,cu可以划分为子cu,并且可以为每个子cu计算运动矢量。

在jem中,对于所有帧间cu,无论其编码模式如何,运动补偿步骤之后是称为重叠块运动补偿obmc的过程,该过程旨在衰减cu之间的运动过渡(某种程度上类似于与区块伪像一起的解块滤波器)。但是,根据cu编码模式,所应用的obmc方法则不相同。存在两种不同的过程,一种用于被划分成较小部分的cu(仿射、fruc等),另一种用于其他cu(整个cu)。

本方法提出对运动补偿帧间预测过程之后就在编码器和解码器侧执行的obmc工具的过程进行通用化。

该方法解决的问题是如何对所有cu的obmc过程进行通用化,以简化设计并提高所考虑视频编解码器的整体压缩性能。

在现有技术方法中,被划分为子部分的cu与未划分的cu(整个cu)不遵循相同的obmc过程。

所提出的方法的基本思想是为所有cu对运动补偿帧间预测之后执行的obmc过程进行通用化。

关于重叠块运动补偿(obmc)来描述平滑处理后的预测操作。obmc在尺寸为4×4像素的子块级进行操作。附图中,完整的块是编码单元(cu),而小正方形是4×4子块。

在每个步骤处,该过程构建两个预测pc和pn,其中预测是用当前cu的运动矢量(pc)和来自相邻子块的运动矢量(pn)补偿的对应子块(利用运动补偿,即使用运动矢量从参考图片中选取的子块)。

然后,使用另一个预测(pn)对当前预测(pc)进行平滑处理,以给出新的当前预测。

例如,如果使用左侧相邻运动矢量获得了pn,则左侧第一列像素将变为pc’=3/4pc+1/4pn,第二列将变为pc’=7/8pc+1/8pn,等。

因此,在附图中,条纹线对应于平滑处理的方向。如果其填充了4×4子块,则意味着对4行/列进行了滤波;如果其仅填充了子块的一半,则意味着仅对2行/列进行了滤波。条纹本身不代表像素的行数/列数。

现有技术的obmc与通用的obmc过程之间的一个主要区别在于,定义要滤波的像素的行数/列数的方式。

在现有技术中,根据当前编码单元的编码模式对所有方向进行先验设置。如果将编码单元划分成子块,则使用每个邻居对2行/列进行滤波,如果将整个编码单元作为一个实体进行处理,则对4行/列进行滤波,除了如果编码单元的面积小于64,则在2行/列上进行滤波。

在通用obmc的实施例中,该数量对于每个方向和每个子块可以是不同的。它是根据两个相对邻居定义的,如果两者都具有与当前子块不同的运动矢量且可用,则根据每个邻居对2行/列进行滤波,如果只有一个可用,则根据该可用邻居对4行/列进行滤波。并且如果都不可用,或者两个运动矢量都等于当前子块运动矢量,则不进行滤波。

例如,在测试水平方向时,如果可能,则从(当前块的)左侧子块和右侧子块中取得左侧mv和右侧mv,并且如果两个mv都与当前子块的当前运动矢量不同,则当前子块的左侧第一列像素将变为pc’=3/4pc+1/4pl,第二列变为pc’=7/8pc+1/8pl,最后一列像素将变为pc’=3/4pc+1/4pr,第三列变为pc’=7/8pc+1/8pr。

此外,在现有技术的obmc中,如果当前cu的面积小于64(4×4、8×4、4×8),则其强制要滤波的像素数为2。

当编码单元不大时,该约束限制了滤波。例如,对于4×4的cu,只有一个子块,如果不使用该标准,则所有行和列将从左侧然后是上方进行滤波,这可能有点过多。如果使用该标准,则将仅对两行和两列进行滤波。

但是,某些面积大于64的cu可能在一个方向上具有4个像素的尺寸(4×16、16×4、4×32、32×4等),如在所提出的通用obmc中那样,可以针对每个方向不同地设置要滤波的像素数,并且可以将该面积标准修改为取决于方向的尺寸标准。如果cu在某个方向上的尺寸小于8,则可以强制在该方向上进行平滑处理的像素数为2,在另一个方向上可以为4,如图14所示。图15示出了现有技术滤波过多。

所提出的实施例包括:

-对所有cu的obmc过程进行通用化,无论其编码模式如何。[编码器/解码器]

-使过程适用于细cu。[编码器/解码器]

-加快某些特定cu的过程。[编码器/解码器]

受影响的编解码器模块是图3的运动补偿170和运动估计175,以及图4的275。

obmc(重叠块运动补偿)旨在减少内部被划分为子块的cu之间的运动过渡。

在现有技术中,obmc过程的第一步在于检测要滤波的cu的种类,是整个的还是划分为子块的。默认情况下,引入的cu被视为整个的。在实际的jem中,使用具有atmvp/stmvp预测因子的合并模式、fruc合并模式、或仿射模式,对划分为子块的cu进行编码。

应用于这两种cu的以下obmc过程则是不同的。

根据现有技术,对于整个cu,运动过渡发生在上方和左侧的边界上(下方和右侧尚未进行编码/解码),因此对于这些cu,obmc仅应用于如图5所示的上方的行和左侧的列的4×4子块,其是应用于32×16整个帧间编码的编码单元的现有技术的obmc。

pc表示使用当前cu的运动补偿并使用该当前cu的运动矢量获得的当前4×4子块预测,而pn(其中n在上方(t)或左侧(l))表示使用相邻的4×4子块运动矢量获得的相应的4×4子块预测。只有相邻的4×4子块的运动矢量与当前运动矢量不同时,才存在pn,并且obmc可以应用于当前4×4子块。

对于每个4×4子块,然后使用可用的预测pn对当前预测pc进行滤波以平滑运动过渡。

使用pn的加权因子{1/4,1/8,1/16,1/32}和pc的加权因子{3/4,7/8,15/16,31/32}将pn的4行和/或列的像素添加到当前预测pc。

如果当前cu面积小于64(4×4、8×4、和4×8的cu),则使用两个第一加权因子仅对前两行/列的像素进行滤波。

由于对几个像素依次进行了几次滤波,因此在第一个4×4子块中,结果取决于不同邻居的使用顺序。在这一点上,obmc从左侧然后是上方进行滤波,这意味着pc变为:

-对于第一个4×4子块:pc---pl--->pc’---pt--->pc”

-对于第一列的其他子块:pc---pl--->pc’

-对于第一行的其他子块:pc---pt--->pc”

整个cu的完整obmc过程如图6所示。

根据现有技术,对于划分为子块的cu,运动过渡发生在每个子块之间和上方和左侧的边界处,因此对于这些cu,在每个4×4子块上应用obmc,如图7所示,其中示出了应用于32×16整个帧间编码的编码单元的现有技术的obmc。

在这种情况下,pn可以从4个不同的邻居获得,即,上方(t)、左侧(l)、下方(b)和右侧(r)的相邻子块(如果可用的话)(来自因果cu或来自当前cu,具有不同于当前运动矢量的运动矢量)。

对于每个4×4子块,然后使用所有可用的预测pn对当前预测pc进行滤波以平滑运动过渡。

每个子块的前两行或前两列像素分别是当前预测pc和来自上方或左侧的相邻子块的pn的加权和。每个子块的最后两行或最后两列像素分别使用来自下方或右侧的相邻子块的pn。此处使用的加权因子对于pn为{1/4,1/8},对于pc为{3/4,7/8}。

由于几乎对所有像素都依次进行了几次滤波,因此结果取决于不同邻居的使用顺序。在这一点上,obmc从左侧、上方、然后是右侧、下方进行滤波,这意味着pc变为:

-对于除最后一行和最后一列以外的所有4×4子块:

pc---pl--->pc’---pt--->pc”---pr--->pc”’---pb--->pc””

-对于除最后一个4×4子块以外的最后一行4×4子块:

pc---pl--->pc’---pt--->pc”---pr--->pc”’

-对于除最后一个4×4子块以外的最后一列4×4子块:

pc---pl--->pc’---pt--->pc”---pb--->pc””

-对于最后一个4×4子块:pc---pl--->pc’---pt--->pc”

这些划分为子块的cu的obmc过程如图8所示。

该工具的主要局限性在于,需要检测要处理的cu是否划分为子块,并将其默认为是整个的。

实际上,当添加新的编码模式时,将其默认为是整个的。在这种情况下,如果将cu划分为多个子块,则会出现下面在图9中所示的分类错误。

并且,如果划分为子块的cu没有得到很好的分类,则仅对第一行和第一列的子块进行滤波,但具有如图9中所示的四行/列像素,而不是图7的结果。

以相同的方式,如果整个cu被分类为划分成子块,则将处理所有子块。由于当前cu内的所有运动矢量都具有相同的值,因此obmc将仅对第一行和第一列的子块进行滤波,但是仅对两行/两列像素进行平滑处理,如下图10所示,而不是图5的正确结果

因此,当cu没有得到很好的分类时,随后的obmc过程将是不同的,结果也将不同。

每次修改现有工具并从一个类别转到另一个类别或添加新工具时,都必须修改obmc以正确地对cu进行分类,否则将导致次优过程。

以下段落描述了该方法中提出的通用obmc过程。

所提出的解决方案无需对cu进行分类即可获得与现有技术obmc相同的结果,并且不受cu面积的限制。

所提出的方法基于用于被划分成子块的cu的现有技术的obmc过程,其中考虑所有周围邻居。

在所提出的通用obmc过程中,四个相邻子块成对地检查,左右和上下,即水平和垂直,但仍依次使用以对当前预测进行平滑处理。

对于当前编码单元的每个4×4子块和每个方向,取得两个相邻运动矢量(如果可用,即,如果它们具有与当前子块的运动矢量不同的运动矢量)。

如果两个相邻运动矢量都可用,则沿该测试方向要滤波的像素的数量被设置为2。即,前两行或前两列将使用第一邻居进行滤波,后两行或后两列将使用第二邻居进行滤波。如果只有一个相邻运动矢量可用,则将其设置为4个像素。也就是说,将使用该邻居对4行/列进行滤波。如果都不可用,则obmc仍然不适用。

然后使用可用的相邻运动矢量及其关联的pn和与现有技术obmc相同的加权因子对子块进行平滑处理({1/4,1/8,1/16,1/32}用于pn,{3/4,7/8,15/16,31/32}用于pc)。从被测试的邻居到其相对的邻居来应用这些权重;对于左侧,则从左到右,对于上方,则从上到下,对于右侧,则从右到左。

在提出的解决方案中,按照方向对(左右和上下)来研究邻居。这允许将要平滑处理的像素的行数或列数选择为2或4,而不是根据cu编码模式先验地设置该数量。

obmc过程通过对当前预测进行滤波来平滑运动过渡,因此,此处描述的所提出的解决方案对编码单元的每个子块的当前预测稍微进行修改。

此外,需重点注意的是,该解决方案允许单独选择每个方向上的平滑行/列的数量,并且它们可以不同。与图13中的现有技术obmc相比,这允许更好地适应cu中的运动过渡,如图12中所示的以合并atmvp/stmvp模式编码的cu。

在该示例中,右侧的8×16分区被完全平滑处理,就好像它是使用通用obmc过程的独立cu一样,而现有技术的obmc则不是这样。

对于如图5所示的整个cu,以及对于如图7所示的完全划分为子块的cu(仿射,fruc),通用obmc过程的输出与现有技术obmc的输出相同。

对于未完全划分为子块的cu,可以观察到结果中的唯一差异,如图12所示的使用合并atmvp/stmvp模式编码的cu。

在现有技术obmc中,当cu的面积小于64时,仅对两行/列像素进行滤波。

这个概念也可以在新提出的obmc过程中通用化。

对于每对邻居,如果cu的相应尺寸(水平宽度或垂直高度)小于8,则要滤波的像素的数量被强制为2。然后可以沿着2行和4列像素对细cu进行滤波,反之亦然,如图14所示。

与现有技术的obmc相比,该通用标准还允许更好地适应运动过渡,现有技术的obmc对于小于64的cu(4×4、8×4、和4×8),仅对2个像素进行滤波,对于较大的cu(4×16、16×4、4×32、32×4……),对4个像素进行滤波,其中整个宽度或高度都进行平滑处理,如图15所示。

所提出的通用obmc的复杂度高于现有技术obmc的复杂度,这是因为其检查所有cu的所有子块的4个邻居,而在现有技术obmc中仅检查被划分为子块的cu。

为了加快通用obmc的过程,可以使用与现有技术obmc中使用的相同的分类种类。

此处使用的分类将整个cu(而不是被划分为子块的cu)隔离出来,并且将引入的cu默认为被划分成多个子块(而不是整个子块)。这种反向分类限制了与不良检测相关的错误,虽然仍然可以观察到图9中的错误,但是图10中的错误不再出现。此外,在添加新的编码模式时,则默认将其视为划分成多个子块,并且如果使用整个cu,则出现图10所示的不良分类,此处不会生成不同的obmc结果。因此,当编码模式从整个的变为划分的时,必须修改obmc,但是当从划分的变为整个的时,或者当添加新的编码模式时,obmc的结果是相同的,只是可以通过通知obmc来降低复杂度。

分类后,整个cu进入简化的且更快的obmc过程,在该过程中,仅使用每对中的第一个邻居来仅对第一行和第一列的子块进行滤波(始终将相对的邻居视为不可用)。

用于被分类为整个的cu的obmc过程将变成如图16所示的那样,其他cu的obmc过程仍然如图11所示。

在一个优选实施例中,使用了obmc的所提出的三个改进方案:通用过程、针对细cu的通用标准、和针对整个cu的简化版本。

整个cu的过程在图16中进行了描述,其他cu的过程则在图11中进行了描述,附加的细cu管理如图17所示。

关于重叠块运动补偿(obmc)来描述平滑处理后的预测操作,但是可以使其对其他预测方法通用。

在每个步骤处,该过程构建两个预测pc和pn,其中预测是用当前cu的运动矢量(pc)和来自相邻子块的运动矢量(pn)补偿的对应子块(利用运动补偿,即使用运动矢量从参考图片中选取的子块)。

然后,使用另一个预测(pn)对当前预测(pc)进行平滑处理,以给出新的当前预测。

现有技术的obmc与通用的obmc过程之间的一个主要区别在于,定义要滤波的像素的行数/列数的方式。

在现有技术中,根据当前编码单元的编码模式对所有方向进行先验设置。如果将编码单元划分成子块,则使用每个邻居对2行/列进行滤波,如果将整个编码单元作为一个实体进行处理,则对4行/列进行滤波,除非编码单元的面积小于64,则在2行/列上进行滤波。

在通用obmc的实施例中,该数量对于每个方向和每个子块可以是不同的。它是根据两个相对邻居定义的,如果两者都具有与当前子块不同的运动矢量且可用,则根据每个邻居对2行/列进行滤波,如果只有一个可用,则根据该可用邻居对4行/列进行滤波。

此外,在现有技术的obmc中,如果当前cu的面积小于64(4×4、8×4、4×8),则其强制要滤波的像素数为2。

当编码单元不大时,该约束限制了滤波。例如,对于4×4的cu,只有一个子块,如果不使用该标准,则所有行和列将从左侧然后是上方进行滤波,这可能有点过多。如果使用该标准,则将仅对两行和两列进行滤波。

但是,某些面积大于64的cu可以在一个方向上具有4个像素的尺寸(4×16、16×4、4×32、32×4等),如在所提出的通用obmc中那样,可以针对每个方向不同地设置要滤波的像素数,并且可以根据该方向将该面积标准修改为尺寸标准。如果cu在某个方向上的尺寸小于8,则强制在该方向上进行平滑处理的像素数为2,在另一个方向上可以为4,如图14所示。图15示出了现有技术滤波过多。

通过不为每个obmc4xs频带计算照明补偿(ic)参数,而是从相邻的4×4子块继承ic参数,可以减轻obmc设计的负担。为此,将当前图片的ic参数与运动场信息一起以4×4子块分辨率存储。

上述实施例关于编码器或编码操作进行了描述。解码器将以与rdo过程或任何其他类型的分割实施例产生的分割的相同方式,简单地理解使用所描述的实施例在编码器处生成的分割。

图18示出了用于编码视频数据块的方法1800的一个实施例。该方法在开始框1801开始,并且行进到框1810,比较子块周围的水平和垂直的运动矢量对。该子块可以是要编码的较大块的一部分。该方法将相邻子块的运动矢量与该子块的当前运动矢量进行比较。控制从框1810行进到框1820,使用该子块的当前预测和具有与该子块的当前运动矢量不同的运动矢量的子块的相邻预测对该子块的预测进行滤波,以生成该当前子块的平滑处理后的预测。控制从框1820行进到框1830,使用该子块的平滑处理后的预测来对该子块进行编码。

图19示出了用于编码视频数据块的方法1900的一个实施例。该方法在开始框1901开始,并且行进到框1910,比较子块周围的水平和垂直的运动矢量对。该子块可以是要解码的较大块的一部分。该方法将相邻子块的运动矢量与该子块的当前运动矢量进行比较。控制从框1910行进到框1920,使用该子块的当前预测和具有与该子块的当前运动矢量不同的运动矢量的子块的相邻预测对该子块的预测进行滤波,以生成该当前子块的平滑处理后的预测。控制从框1920行进到框1930,使用该子块的平滑处理后的预测来对该子块进行解码。

图20示出了用于编码或解码视频数据块的装置2000的一个实施例。该装置包括处理器2010,其具有输入和输出端口,并且与同样具有输入和输出端口的存储器2020信号连接。该装置可以执行前述方法实施例中的任一个或其任何变型。

附图中所示的各种元件的功能可以使用专用硬件来提供,也可以使用与适当软件相关联的能够执行软件的硬件来提供。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器或多个单独的处理器来提供,其中一些可以共享。此外,术语“处理器”或“控制器”的明确使用不应解释为专门指代能够执行软件的硬件,而是可以隐含地包括但不限于数字信号处理器(“dsp”)硬件、存储软件的只读存储器(“rom”)、随机存取存储器(“ram”)和非易失性存储器。

也可以包括其他常规的和/或定制的硬件。类似地,图中所示的任何开关仅是概念上的。其功能可以通过程序逻辑的操作、专用逻辑、程序控制和专用逻辑的交互、或者甚至手动来实现,特定技术可由实施者选择,如根据上下文更具体理解的。

本描述说明了本构思。因此,将理解,本领域技术人员将能够设计出尽管未在此明确描述或示出,但体现本构思且包含在其精神和范围内的各种布置。

在此叙述的所有示例和条件语言旨在用于教学目的,以帮助读者理解本原理和发明人为促进本领域而贡献的概念,并且应解释为不限于此类具体叙述的示例和条件。

此外,在此叙述原理、方面、本原理的实施例、以及其具体示例的所有陈述旨在涵盖其结构和功能上的等同物。另外,旨在这样的等同物包括当前已知的等同物以及将来开发的等同物,即,所开发的执行相同功能的任何元件,无论结构如何。

因此,例如,本领域技术人员将理解,在此示出的框图表示体现本原理的说明性电路的概念视图。类似地,将理解,任何流程表、流程图、状态转换图、伪代码等都表示可以实质上在计算机可读介质中表示的并由计算机或处理器执行的各种过程,无论这样的计算机或处理器是否明确示出。

在本文的权利要求中,表示为用于执行特定功能的部件的任何元件旨在涵盖执行该功能的任何方式,例如包括,a)执行该功能的电路元件组合;或b)任何形式的软件,因此包括固件、微代码等等,与执行该软件的适当电路组合以实现该功能。由这样的权利要求所限定的本原理在于以下事实:由各种所叙述的部件提供的功能以权利要求要求的方式被组合和集合在一起。由此认为,可以提供这些功能的任何部件都等同于在此所示的部件。

说明书中对本原理的“一个实施例”或“实施例”以及其他变型的引用是指结合实施例描述的特定特征、结构、特性等包括在本原理的至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型不一定都指同一个实施例。

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