一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于图像压缩的梯度预测器的制作方法

2022-08-10 17:50:35 来源:中国专利 TAG:


1.实施例涉及对图像进行压缩和解压缩。


背景技术:

2.图像压缩/解压缩传统上将图像分段成像素块。在编码(压缩)期间,先前压缩的块的像素可以作为上下文重用于预测当前块的像素。在解码(解压缩)期间,先前解压缩的块的像素可以作为上下文重用于预测当前块的像素。预测器是这样的算法,其将这些上下文样本(通常在其左侧和顶侧与要压缩/解压缩的块接界)视为输入和输出起始值以用于在块中计算在压缩期间和/或在解压缩期间使用的预测值,所述起始值可以稍后通过更多的编码信息来完成和/或被滤波以获得最终重构样本。


技术实现要素:

3.在一般方面中,设备、系统、非暂时性计算机可读介质(在其上存储有能够在计算机系统上执行的计算机可执行程序代码)和/或方法能够按方法执行过程,该方法包括:从图像中选择要压缩的像素的目标块,选择目标块的邻接列,选择目标块的邻接行,基于邻接列的像素的一部分和邻接行的像素的一部分中的至少一个来生成两个或更多个基础值,基于两个或更多个基础值来计算梯度,并且使用所计算的梯度来为目标块指派至少一个预测器。
4.实施方式能够包括以下特征中的一个或多个。例如,该方法能够进一步包括基于目标块和预测器来生成残差。邻接列的选择能够包括选择处理的像素,邻接行的选择能够包括选择处理的像素,邻接列可以是左列或右列之一,并且邻接行可以是上行或下行之一。两个或更多个基础值能够与位于目标块的两个或更多个角部处的基础像素相关联。两个或更多个基础值能够与位于目标块的两个或更多个角部处的基础像素相关联,并且两个或更多个基础值的生成能够包括计算两个或更多个处理的像素的平均值。
5.例如,两个或更多个基础值可以是与位于目标块的每个角部处的基础像素相关联的四个基础值,能够基于来自邻接列的像素的部分和来自邻接行的像素的部分中的至少一个的平均值来计算四个基础值中的三个基础值,并且能够基于三个计算的基础值来内插四个基础值的第四基础值。梯度的计算能够包括使用梯度算法来使用两个或更多个基础值的颜色之间的渐进过渡为列x行矩阵中的每个单元(cell)生成像素值。梯度的计算能够包括使用梯度算法的双线性内插。为目标块指派预测器能够包括将与梯度相关联的像素映射到目标块中的像素,并且基于像素的映射来将与梯度相关联的颜色值指派为目标块的预测值。
附图说明
6.示例实施例将从在下文中给出的详细描述和附图变得被更充分地理解,其中相似的元素由相似的附图标记表示,这些相似的附图标记仅通过图示的方式给出,因此不限制
示例实施例,并且其中:
7.图1a、图1b、图1c和图1d图示根据示例实施方式的用于在nxn像素块的预测中计算预测值的进程。
8.图2a至图2k图示用于处理像素、像素块和/或像素宏块的一些范式(pattern)。
9.图3a图示根据至少一个示例实施例的编码器系统。
10.图3b图示根据至少一个示例实施例的解码器系统。
11.图4a图示根据至少一个示例实施例的编码器系统的流程图。
12.图4b图示根据至少一个示例实施例的解码器系统的流程图。
13.图5图示根据至少一个示例实施例的帧内预测器的框图。
14.图6图示根据至少一个示例实施例的用于指派预测器值的方法的框图。
15.图7图示根据至少一个示例实施例的计算机设备和移动计算机设备的示例。
16.应该注意,这些图旨在图示在某些示例实施例中利用的方法、结构和/或材料的一般特性并且补充在下面提供的书面描述。然而,这些附图未按比例绘制并且可能未精确地反映任何给定实施例的精确结构或性能特性,而且不应该被解释为限定或限制示例实施例所包含的值或性质的范围。例如,为了清楚,可以减小或夸大分子、层、区域和/或结构元素的相对厚度和定位。在各个附图中使用类似或相同的附图标记旨在指示存在类似或相同的元素或特征。
具体实施方式
17.当在解压缩期间生成像素时,在压缩和/或解压缩期间使用接界块(例如,在左侧和/或在上方)作为用于计算预测值的上下文样本的预测器算法可能引起块边缘伪影。块边缘伪影能够在重构图像之后引起块之间可见的边缘。减少或消除这些块边缘伪影可能需要在解压缩期间使用后重构(例如,滤波)过程。示例实施方式能够包括使用包括梯度预测器的预测算法。梯度预测器的使用能够减少或消除块边缘伪影,而无需后重构(例如,滤波)过程(来减少或消除块边缘伪影)。
18.图1a、图1b和图1c图示根据示例实施方式的、用于在nxn像素块的预测中计算预测值的进展。图1d图示对于每个块具有预测值的结果nxn块。
19.对块或宏块进行压缩(或解压缩)能够包括使用帧内预测过程。帧内预测能够在增量代码化中利用像素(例如,空间上靠近的像素)的空间冗余。梯度预测器能够用于确定(或计算)块预测值(例如,预测像素值、外推像素值、代表性像素值和/或类似物)以用于在增量代码化中使用。换句话说,预测值(或预测)可以是用于在使用增量代码化的图像压缩方案中计算残差时使用的预测值(例如,像素值)。例如,残差=实际的(像素值)-预测的(像素值)。此外,预测可以是用于在使用增量代码化的图像解压缩方案中计算重构像素时使用的预测值。例如,重构像素=残差 预测的。
20.如图1a-1d所示,nxn块是示出为像素的目标块105(以白色(无阴影)示出)的8x8块。然而,其他块大小(例如,4x4、16x16等)或列x行(4x4、4x6、4x8、8x12、10x12、8x16和/或类似物)在本公开的范围内。如图1a所示,处理的像素110(在灰色阴影的列c中)可以是在目标块105左侧的先前压缩或解压缩的像素。此外,处理的像素115(在灰色阴影的行r中)可以是位于目标块105上方的先前压缩或解压缩的像素。在处理的像素110与处理的像素115之
间共享一个像素(图示在左上角部中)。在目标块105右侧或下方未图示先前压缩或解压缩的像素,因为(若这些像素存在)这些像素是仍待压缩或解压缩的像素。
21.如图1b所示,处理的像素120(列c中的处理的像素110的一部分和行r中的处理的像素115的一部分)、处理的像素125(其包括列c中的处理的像素110的一部分)和处理的像素130(其包括行r中的处理的像素115的一部分)可以是处理的像素110、115的一部分。处理的像素120、处理的像素125和处理的像素130被图示为在处理的像素110和/或处理的像素115内具有粗边界。能够将处理的像素120、处理的像素125和处理的像素130选择为要在计算像素值时用于形成梯度算法的基础的像素。如图1b所示,能够在nxn块的每个角部处选择三(3)个像素(从而在左上角部中产生总共五(5)个像素)。然而,对其他像素数(例如,一(1)、二(2)、四(4)、五(5)等)的选择在本公开的范围内。
22.现在参考图1b和图1c,基础像素135、基础像素140、基础像素145和基础像素150可以是用于形成梯度算法的基础的像素。梯度算法能够用于确定(例如,计算)目标块105的预测(例如,像素值)。能够基于处理的像素120(示出在图1b中)来确定基础像素135(示出在图1c中)的基础值。生成基础值(例如,两个或更多个基础值)能够包括计算两个或更多个处理的像素的平均值。例如,能够计算处理的像素120的像素值的平均值并且能够将结果值指派给基础像素135。能够基于处理的像素125(示出在图1b中)来确定基础像素140(示出在图1c中)的基础值。例如,能够计算处理的像素125的像素值的平均值并且能够将结果值指派给基础像素140。能够基于处理的像素130(示出在图1b中)来确定基础像素145(示出在图1c中)的基础值。例如,能够计算处理的像素130的像素值的平均值并且能够将结果值指派给基础像素145。基础像素135(示出在图1c中)能够位于处理的像素110和处理的像素115(示出在图1a中)的交叉点(例如,角部)处。基础像素140能够像基础像素135一样在列c的相对端位于处理的像素110内。基础像素145能够像基础像素135一样在行r的相对端位于处理的像素115内。换句话说,基础像素135、140、145能够位于目标块105的角部处,但是未包括在目标块105(示出在图1a中)中。
23.基础像素150(示出在图1c中)位于与基础像素135(在对角线上)相对的目标块105的角部处(但是未包括在目标块105中)。基础像素150的位置不在先前压缩或解压缩的像素内。因此,基础像素150能够使用一些其他算法来指派基础值。能够基于基础像素135、基础像素140和基础像素145来确定基础像素150的基础值。例如,能够计算基础像素135、基础像素140和基础像素145的基础值的外推并且能够将结果值指派给基础像素150。外推可以是基础像素140 基础像素145-基础像素135。例如,能够计算基础像素135、基础像素140和基础像素145的基础值的平均值并且能够将结果值指派给基础像素150。
24.现在参考图1d,(对应于目标块105的)像素的预测块155被图示为具有预测(例如,表示像素值)。换句话说,如上所述,预测块155的像素具有指派的值(例如,表示像素值)以用于在使用增量代码化的图像压缩/解压缩方案中使用。能够基于梯度算法来计算预测。梯度算法能够使用从基础像素135、基础像素140、基础像素145和基础像素150中的至少一个中选择的基础值。梯度算法可以是双线性内插。例如,梯度算法能够具有开始值(例如,颜色)和停止值(例如,颜色)。梯度算法能够具有方向。例如,梯度算法能够从左到右、从右到左、自顶向下、自底向上、从角部到角部和/或诸如此类。梯度算法可以是颜色和方向的组合。例如,梯度算法能够在第一遍中从左到右而在第二遍中自顶向下。能够使用梯度算法来
为预测块155指派预测(例如,像素值)。
25.在一些实施方式中,能够选择用于处理像素、像素块和/或像素宏块的多个范式之一(例如,作为编码器选项)。处理的像素、像素块和/或像素宏块包括能够被选择以用于在预测过程中使用的像素。换句话说,随着像素、像素块和/或像素宏块的处理(例如,编码或压缩)基于所选择的范式进行,范式已被处理(例如,编码或压缩)的像素(示出为灰色阴影)变得可用于在将来预测过程中使用。此外,未处理的像素、像素块和/或像素宏块(以白色(无阴影)示出)不包括能够被选择以用于在预测过程中使用的像素(例如,因为这些像素仍然尚未被编码或压缩)。
26.范式能够确定开始方位(例如,像素或块的位置)以及用于处理像素、像素块和/或像素宏块的次序和/或方向。例如,范式能够在角部(例如,左上、右上、左下或右下)中开始并且能够具有包括水平、垂直、对角线和/或类似的处理遍历流方向。处理遍历流方向能够包括左(例如,水平左)、右(例如,水平右)、向上(例如,水平向上)、向下(例如,水平向下)、组合(例如,对角线向左下)和/或类似物。
27.用于处理像素、像素块和/或像素宏块的范式确定像素被处理(例如,编码或压缩)的次序,其导致哪列(例如,图1a和图1b中的列c)和哪行(例如,图1a和图1b中的行r)包括处理的像素(示出为灰色阴影)。如上面提及的,随着像素的处理完成,能够选择该像素以用于在将来预测过程中使用,然而未处理的像素(以白色(无阴影)示出)可以未被选择用于在预测过程中使用。图1a和图1b能够图示对范式的选择的结果,对所述范式的选择导致左列(列c)和上行(行r),其包括已基于该范式被处理(例如,编码或压缩)并且能够被选择以用于在预测过程中使用的像素。
28.图2a-2k图示用于处理像素、像素块和/或像素宏块的一些范式。图2a-2k图示用于处理像素、像素块和/或像素宏块的十一(11)个范式。然而,其他范式在本公开的范围内。在图2a-2k中,处理的像素、块或宏块在列c(灰色阴影)和行r(灰色阴影)中,而目标像素、块或宏块被以白色(无阴影)示出为4x4块。
29.图2a图示在左上角部中开始并且具有自顶向下且从左到右移动的处理方向的垂直处理流。图2b图示自顶向下且从左到右移动的水平右处理流方向。图2c图示在左上角部中开始并且具有从左到右移动的处理方向的水平向下处理流。图2d图示从左到右移动的对角线向右上和向左下(之字形)处理流方向。图2e图示在左上角部中开始并且具有从左到右移动的处理方向的另一对角线向右上和向左下(之字形)处理流。在图2a-2e中,处理流导致变得可用于在将来预测过程中使用的已被处理(例如,编码或压缩)的像素位于左列c(灰色阴影)和上行r(灰色阴影)中。因此,处理的块(其包括能够被用于预测过程中的像素)是上部和左邻接者,然而未处理的像素(以白色(无阴影)示出)可以未被选择用于在预测过程中使用。因此,预测能够包括使用上部和左邻接者作为上下文。因此,在目标块的预测中计算预测值是如上面关于图1a-1d所描述的。
30.图2f图示在左下角部中开始并且具有自底向顶且从左到右移动的处理方向的垂直处理流。图2g图示在左下角部中开始并且具有从左到右移动的处理方向的对角线向右上处理流。在图2f和图2g中,处理流导致变得可用于在将来预测过程中使用的、已被处理(例如,编码或压缩)的像素位于左列c(灰色阴影)和下行r(灰色阴影)中。因此,处理的块(其包括能够被用在预测过程中的像素)是底部和左邻接者,然而未处理的像素(以白色(无阴影)
示出)可以未被选择用于在预测过程中使用。因此,预测能够包括使用底部和左邻接者作为上下文。在此示例实施方式中,在目标块的预测中计算预测值能够使用与上面在图1a-1d中描述的梯度预测器计算技术类似的梯度预测器计算技术。然而,能够基于与图1a-1d中所述的上部和左邻接者相对的底部和左邻接者中的处理的像素来确定基础值。
31.图2h图示在右上角部中开始并且具有自顶向下且从右到左移动的处理方向的垂直处理流。在图2h中,处理流导致变得可用于在将来预测过程中使用的已被处理(例如,编码或压缩)的像素位于右列c(灰色阴影)和上行r(灰色阴影)中。因此,处理的块(其包括能够被用在预测过程中的像素)是顶部和右邻接者,然而未处理的像素(以白色(无阴影)示出)可以未被选择用于在预测过程中使用。因此,预测能够包括使用顶部和右邻接者作为上下文。在此示例实施方式中,在目标块的预测中计算预测值能够使用与上面在图1a-1d中描述的梯度预测器计算技术类似的梯度预测器计算技术。然而,能够基于与图1a-1d中所述的上部和左邻接者相对的顶部和右邻接者中的处理的像素来确定基础值。
32.图2i图示在右下角部中开始并且具有处理的对角线向左上处理流方向。图2j图示在右下角部中开始并且具有从右到左移动的处理方向的水平向上处理流。图2k图示在右下角部中开始并且具有从右到左移动的处理方向的对角线向左上和向右下(之字形)处理流。在图2i-2k中,处理流导致变得可用于在将来预测过程中使用的、已被处理(例如,编码或压缩)的像素位于右列c(灰色阴影)和下行r(灰色阴影)中,然而未处理的像素(以白色(无阴影)示出)可以未被选择用于在预测过程中使用。因此,处理的块是底部和右邻接者。因此,预测能够包括使用底部和右邻接者作为上下文。在此示例实施方式中,在目标块的预测中计算预测值能够使用与上面在图1a-1d中描述的梯度预测器计算技术类似的梯度预测器计算技术。然而,能够基于与图1a-1d中所述的上部和左邻接者相对的底部和右邻接者中的处理的像素来确定基础值。
33.图2a-2k所示的示例图示导致一(1)行和一(1)列具有处理的块和/或处理的像素的示例处理流。然而,其他处理流能够在本公开的范围内。例如,处理包括水平、垂直、对角线和/或类似物的组合的横向流方向是可能的。这些处理流能够导致在两(2)列和/或两(2)行中具有处理的块和/或处理的像素。例如左列和/或右列同顶行和/或底行的处理的块和/或处理的像素组合是可能的。在示例实施方式中,处理流能够产生左部-顶部-右部的处理的块和/或处理的像素组合。
34.在图3a的示例中,编码器系统300可以是或者包括至少一个计算设备并且应该被理解成实际上表示被配置成执行本文描述的技术的任何计算设备。因此,编码器系统300可以被理解成包括可以被利用来实现本文描述的技术或其不同或将来版本的各种组件。作为示例,编码器系统300被图示为包括至少一个处理器305以及至少一个存储器310(例如,非暂时性计算机可读存储介质)。
35.图3a图示根据至少一个示例实施例的编码器系统。如图3a所示,编码器系统300包括至少一个处理器305、至少一个存储器310、控制器320和编码器325。至少一个处理器305、至少一个存储器310、控制器320和编码器325经由总线315通信地耦合。
36.可以利用至少一个处理器305来执行存储在至少一个存储器310上的指令。因此,至少一个处理器305能够实现本文描述的各种特征和功能或附加或替选特征和功能。至少一个处理器305和至少一个存储器310可以被用于各种其他目的。例如,至少一个存储器310
可以表示各种类型的存储器以及可以用于实现本文描述的模块中的任何一个的相关硬件和软件的示例。
37.至少一个存储器310可以被配置成存储与编码器系统300相关联的数据和/或信息。至少一个存储器310可以是共享资源。例如,编码器系统300可以是更大系统(例如,服务器、个人计算机、移动设备和/或类似物)的元素。因此,至少一个存储器310可以被配置成存储与更大系统内的其他元素(例如,图像/视频服务、web浏览或有线/无线通信)相关联的数据和/或信息。
38.控制器320可以被配置成生成各种控制信号并且将这些控制信号传送到编码器系统300中的各种块。控制器320可以被配置成生成控制信号来实现本文描述的技术。根据示例实施方式,控制器320可以被配置成控制编码器325对图像、图像的序列、视频帧、视频帧的序列和/或类似物进行编码。例如,控制器320可以生成与帧内代码化模式相对应的控制信号。
39.编码器325可以被配置成接收输入图像5(和/或视频流)并且输出压缩(例如,编码)比特10。编码器325可以将视频输入转换成离散视频帧(例如,作为图像)。输入图像5可以被压缩(例如,编码)为压缩图像比特。编码器325可以进一步将每个图像(或离散视频帧)转换成块或宏块(在下文中称为块)的矩阵。例如,可以将图像转换为各自具有许多像素的块的32x32、32x16、16x16、16x8、8x8、4x8、4x4或2x2矩阵。尽管列举了八(8)个示例矩阵,但是示例实施方式不限于此。
40.压缩比特10可以表示编码器系统300的输出。例如,压缩比特10可以表示编码图像(或视频帧)。例如,可以将压缩比特10存储在存储器(例如,至少一个存储器310)中。例如,压缩比特10可以准备好传输到接收设备(未示出)。例如,可以将压缩比特10发送到系统收发器(未示出)以供传输到接收设备。
41.至少一个处理器305可以被配置成执行与控制器320和/或编码器325相关联的计算机指令。至少一个处理器305可以是共享资源。例如,编码器系统300可以是更大系统(例如,移动设备、服务器和/或类似物)的元素。因此,至少一个处理器305可以被配置成执行与更大系统内的其他元素(例如,图像/视频服务、web浏览或有线/无线通信)相关联的计算机指令。
42.图3b图示根据至少一个示例实施例的解码器系统。如图3b所示,解码器系统350包括至少一个处理器355、至少一个存储器360、控制器370和解码器375。至少一个处理器355、至少一个存储器360、控制器370和解码器375经由总线365通信耦合。
43.在图3b的示例中,解码器系统350可以是至少一个计算设备并且应该被理解成实际上表示被配置成执行本文描述的技术的任何计算设备。因此,解码器系统350可以被理解成包括可以被利用来实现本文描述的技术或其不同或将来版本的各种组件。例如,解码器系统350被图示为包括至少一个处理器355以及至少一个存储器360(例如,计算机可读存储介质)。
44.因此,可以利用至少一个处理器355来执行存储在至少一个存储器360上的指令。因此,至少一个处理器355能够实现本文描述的各种特征和功能或者附加或替选特征和功能。至少一个处理器355和至少一个存储器360可以被用于各种其他目的。例如,至少一个存储器360可以被理解成表示各种类型的存储器以及能够用于实现本文描述的模块中的任何
一个的相关硬件和软件的示例。根据示例实施方式,编码器系统300和解码器系统350可以被包括在同一更大系统(例如,个人计算机、移动设备等)中。
45.至少一个存储器360可以被配置成存储与解码器系统350相关联的数据和/或信息。至少一个存储器360可以是共享资源。例如,解码器系统350可以是更大系统(例如,个人计算机、移动设备等)的元素。因此,至少一个存储器360可以被配置成存储与更大系统内的其他元素(例如,web浏览或无线通信)相关联的数据和/或信息。
46.控制器370可以被配置成生成各种控制信号并且将这些控制信号传送到解码器系统350中的各种块。控制器370可以被配置成生成控制信号以便实现本文描述的视频编码/解码技术。根据示例实施方式,控制器370可以被配置成控制解码器375对视频帧进行解码。
47.解码器375可以被配置成接收压缩(例如,编码)比特10作为输入并且输出图像5。压缩(例如,编码)比特10还可以表示压缩视频比特(例如,视频帧)。因此,解码器375可以将压缩比特10的离散视频帧转换成视频流。
48.至少一个处理器355可以被配置成执行与控制器370和/或解码器375相关联的计算机指令。至少一个处理器355可以是共享资源。例如,解码器系统350可以是更大系统(例如,个人计算机、移动设备等)的元素。因此,至少一个处理器355可以被配置成执行与更大系统内的其他元素(例如,web浏览或无线通信)相关联的计算机指令。
49.图4a和图4b分别图示根据至少一个示例实施方式的图3a所示的编码器325和图3b所示的解码器375的流程图。编码器325(在上面描述)包括预测块410、变换块415、量化块420、熵编码块425、逆量化块430、逆变换块435、重构块440和环路滤波块445。编码器325的其他结构变化能够用于对输入图像5进行编码。如图4a所示,虚线表示若干块之间的重构路径,而实线表示若干块之间的前向路径。
50.前述块中的每个可以作为存储在与编码器系统(例如,图3a所示的编码器系统300)相关联的存储器(例如,至少一个存储器310)中并且由与编码器系统相关联的至少一个处理器(例如,至少一个处理器305)执行的软件代码被执行。然而,设想了替选实施方式,诸如作为专用处理器实现的编码器。例如,前述块中的每个(单独和/或相结合地)可以是专用集成电路或asic。例如,可以将asic配置为预测块410、变换块415、量化块420和/或类似物。
51.预测块410可以被配置成利用图像和/或视频帧相干性(例如,与先前编码的像素相比尚未改变的像素)。预测可以包括两种类型。例如,预测可以包括帧内预测和帧间预测。帧内预测涉及相对于图像的邻接的先前代码化的块中的参考样本来预测同一图像的块中的像素值。在帧内预测中,出于减少通过预测变换编解码器的变换(例如,熵编码块425)和熵代码化(例如,熵编码块425)部分来代码化的残差振幅和/或误差的目的,从同一帧内的重构像素预测样本。帧间预测涉及相对于先前代码化的帧(例如,i帧)的数据来预测帧的块中的像素值。
52.预测块410能够被配置成在目标块的预测中使用多种预测模式(帧内预测模式和/或帧间预测模式)。预测块410能够被配置成确定产生了最好压缩结果(例如,最少比特数)的预测模式。在示例实施方式中,使用梯度算法的预测能够具有最好压缩结果。例如,具有很少复杂性(例如,最小颜色变化、最小纹理变化和/或类似物)的图像的一部分可以使用梯度预测技术来具有所希望的压缩结果。具有很少复杂性的图像的一部分能够包括天空、水、
沙子、草、风景和/或类似物。压缩比特10可以包括报头,该报头包括用于对每个像素和/或像素块进行压缩的预测模式的指示。
53.变换块415可以被配置成将来自空间域的像素的值转换为变换域中的变换系数。变换系数可以对应于通常与原始块相同的大小的系数的二维矩阵。换句话说,可以存在和原始块中的像素一样多的变换系数。然而,由于变换,变换系数的一部分可以具有等于零的值。
54.变换块415可以被配置成将残差(来自预测块410)变换成例如频域中的变换系数。通常,变换包括karhunen-lo
è
ve变换(klt)、离散余弦变换(dct)、奇异值分解变换(svd)和不对称离散正弦变换(adst)。
55.量化块420可以被配置成减少每个变换系数中的数据。量化可以涉及将相对大范围内的值映射到相对小范围内的值,从而减少表示量化变换系数所需的数据量。量化块420可以将变换系数转换成离散量子值,这些离散量子值被称为量化变换系数或量化级别。例如,量化块420可以被配置成向与变换系数相关联的数据添加零。例如,编码标准可以在标量量化过程中定义128个量化级别。
56.量化变换系数然后由熵编码块425熵编码。然后将熵编码的系数以及对块进行解码所需的信息—如所用预测的类型、运动矢量和量化器值—作为压缩视频比特10输出。压缩视频比特10可以使用诸如游程长度编码(rle)和零游程代码化的各种技术来格式化。
57.存在图4a中的重构路径以确保编码器325和解码器375两者(在下面关于图4b描述)使用相同的预测模式、预测器和/或参考帧来对压缩比特10(或压缩视频帧比特)进行解码。重构路径执行与在下面更详细地讨论的解码过程期间发生的功能类似的功能,包括在逆量化块430处对量化变换系数进行逆量化和在逆变换块435处对逆量化变换系数进行逆变换以便产生导数残差块(导数残差)。在重构块440处,能够将在预测块410处预测的预测块加入导数残差以创建重构块。然后能够对重构块应用环路滤波块445以减少诸如块伪影的失真。
58.上面关于图4a描述的编码器325包括所示出的块。然而,示例实施方式不限于此。可以基于所使用的不同编码配置和/或技术来添加附加块。此外,上面关于图4a描述的编码器325中示出的每个块可以是基于所使用的不同编码配置和/或技术的可选块。
59.图4b是被配置成对压缩比特10(或压缩视频帧比特)进行解码的解码器375的示意框图。类似于先前讨论的编码器325的重构路径,解码器375包括熵解码块450、逆量化块455、逆变换块460、重构块465、环路滤波块470、预测块475、和解块滤波块480。
60.压缩比特10内的数据元素能够由熵解码块450解码(使用例如上下文自适应二进制算术解码)以产生一组量化变换系数。逆量化块455对量化变换系数进行解量化,并且逆变换块460对解量化变换系数进行逆变换(使用adst)以产生能够与由编码器325中的重构级创建的导数残差完全相同的导数残差。
61.使用从压缩比特10解码的报头信息(例如,包括由编码器使用的至少一种预测模式),解码器375能够使用预测块475来创建与在编码器325中创建的相同的预测块。能够将预测块加入导数残差以由重构块465创建重构块。能够对重构块应用环路滤波块470以减少块伪影。能够对重构块应用解块滤波块480以减少块失真,并且将结果作为图像5输出。
62.上面关于图4b描述的解码器375包括所示出的块。然而,示例实施方式不限于此。
可以基于所使用的不同编码配置和/或技术来添加附加块。此外,上面关于图4b描述的解码器375中示出的每个块可以是基于所使用的不同编码配置和/或技术的可选块。
63.图5图示根据至少一个示例实施例的帧内预测器505的框图。如图5所示,帧内预测器505(模块或块)包括邻接者选择器510(模块或块)、处理的像素选择器515(模块或块)、基础像素计算器520(模块或块)、梯度计算器525(模块或块)和预测器指派器530(模块或块)。在示例实施方式中,帧内预测器505能够被包括在如图4a和图4b所示的预测块410、475中以实现包括梯度预测器的帧内预测算法。
64.邻接者选择器510能够被配置成选择要处理的像素或像素块的邻接者。要处理的像素或像素块(或目标块)可以是要压缩(编码)或解压缩(解码)的像素或像素块。邻接者可以是邻接像素列和/或邻接像素行。像素列能够在像素或像素块左侧或右侧。像素列能够与像素或像素块直接相邻(在左侧或右侧)。像素列能够与像素或像素块间接相邻(在左侧或右侧相隔至少一个像素)。像素行能够位于像素或像素块上方或下方。像素行能够与像素或像素块直接相邻(在上方或在下方)。像素行能够与像素或像素块间接相邻(在上方或在下方相隔至少一个像素)。
65.在上面关于图1a-1d和图2a-2e描述的示例实施方式中,所选列在目标块左侧。此外,所选行在目标块上方。这有时被称为选择作为上邻接者(或上行)和左邻接者(或左列)的处理的块。在上面关于图2f和图2g描述的示例实施方式中,所选列在目标块左侧。此外,所选行在目标块下方。这有时被称为选择作为底部邻接者(或下行)和左邻接者(或左列)的处理的块。在上面关于图2h描述的示例实施方式中,所选列在目标块右侧。此外,所选行在目标块上方。这有时被称为选择作为上邻接者(或上行)和右邻接者(或右列)的处理的块。在上面关于图2i-2k描述的示例实施方式中,所选列在目标块右侧。此外,所选行在目标块下方。这有时被称为选择作为底部邻接者(或下行)和右邻接者(或右列)的处理的块。在上面关于图2i-2k描述的示例实施方式中,所选列在目标块右侧。此外,所选行在目标块下方。这有时被称为选择作为底部和右邻接者的处理的块。
66.处理的像素选择器515能够被配置成从邻接像素列中选择至少一个像素和/或从邻接像素行中选择至少一个像素。例如,至少一个像素能够是选自于(并包括)邻接列的每端。至少一个像素能够是选自于(并包括)邻接行的每端中。在上面关于图1a-1d描述的示例实施方式中,三(3)个像素是选自于(并包括)邻接列的每端并且三(3)个像素是选自于(并包括)邻接行的每端。然而,示例实施方式不限于选择三(3)个像素。所选像素的数目能够基于行和/或列中的像素的数目。换句话说,所选像素可以是行和/或列中的像素的一部分。然而,所选像素可以是行和/或列中的所有像素。所选像素的数目可以是设计选择。
67.基础像素计算器520能够被配置成基于从邻接像素列中选择的至少一个像素和/或从邻接像素行中选择的至少一个像素来计算至少一个基础值。换句话说,基础像素计算器520能够基于邻接列的像素的一部分和邻接行的像素的一部分中的至少一个来生成两个或更多个基础值。在示例实施方式中,计算四(4)个基础值。例如,能够基于从邻接像素列中选择的至少一个像素和/或从邻接像素行中选择的至少一个像素来计算四(4)个基础值中的三(3)个并且能够基于三个计算的基础值来内插第四基础值。
68.基础像素能够位于目标块的两个或更多个角部处。在示例实施方式中,基础像素能够与目标块的每个角部相邻定位。换句话说,基准像素能够位于目标块的角部处,但未包
括在目标块中。第一基础像素(例如,图1c所示的基础像素135)能够位于邻接像素行和邻接像素列的交叉点(例如,角部)处。能够将此基础像素的基础值计算为从与邻接列相交的行的端部上的邻接行选择的像素和从与邻接行相交的邻接列选择的像素的平均值。
69.第二基础像素(例如,图1c所示的基础像素140)能够在邻接列的相对端位于邻接行内。能够将第二基础像素的基础值计算为在邻接列的相对端位于邻接行内的所选像素的平均值。第三基础像素(例如,图1c所示的基础像素145)能够在邻接行的相对端位于邻接列内。能够将第三基础像素的基础值计算为在邻接行的相对端位于邻接列内的所选像素的平均值。前述平均值可以是加权平均值。例如,当计算基础像素的基础值时,靠近与基础像素相关联的角部的所选像素与离角部更远的所选像素比能够被更重地加权。其他加权方案在本公开的范围内。
70.第四基础像素(例如,图1c所示的基础像素150)能够位于与邻接列和邻接行的交叉点相对的目标块的角部处。能够基于第一基础像素、第二基础像素和第三基础像素来确定第四基础像素的基础值。例如,能够计算第一基础像素、第二基础像素和第三基础像素的基础值的外推,并且能够将结果值指派给第四基础像素。外推可以是第二基础像素的基础值 第三基础像素的基础值-第一基础像素的基础值。替选地,能够计算第一基础像素、第二基础像素和第三基础像素的基础值的平均值,并且将结果值指派给第四基础像素的基础值。此平均值可以是加权平均值。例如,当计算第四基准像素的基础值时,第二基准像素的基础值和第三基准像素的基础值与第一基准像素的基础值比能够被更重地加权。其他加权方案在本公开的范围内。
71.梯度计算器525能够被配置成使用梯度算法来计算要指派给目标块的像素的预测器值。在示例实施方式中,梯度算法可以是双线性内插。双线性内插能够基于一些输入值的值来生成二维(2d)矩阵的单元的值。在第一方向上(例如,在行或水平方向上)做线性内插,然后在第二方向上(例如,在列或垂直方向上)做线性内插。能够计算矩阵中的每个单元的结果值的平均值(例如,来自第一方向上的遍的结果值与来自第二方向上的遍的结果值的平均值)。平均值可以是加权平均值。
72.梯度算法或颜色梯度算法能够创建包括沿着直线的两种或更多种颜色之间的渐进过渡的图像。此外,梯度算法或颜色梯度算法能够包括沿着直线的多个像素。因此,梯度算法或颜色梯度算法的双线性内插能够包括使用两种或更多种颜色之间的渐进过渡为矩阵中的每个单元生成像素值。
73.在示例实施方式中,矩阵能够基于目标块。例如,矩阵可以是基于目标块的列中的像素的数目和目标块的行中的像素的数目的cxr矩阵。两种或更多种颜色可以是位于目标块的角部处的四个基础像素的基础值。因此,梯度计算器525能够被配置成使用具有四个基础像素的基础值作为颜色输入的梯度算法来为cxr矩阵中的单元生成颜色值。cxr矩阵是基于目标块。
74.梯度计算器525能够使用其他(线性和非线性)梯度算法。例如,能够使用倾斜梯度算法。倾斜梯度可以是沿着目标块的对角线的度数(例如,45度)。梯度算法能够包括径向梯度、圆锥梯度、歪斜梯度(skew gradient)和/或类似物。实施方式能够包括函数调用。例如,线性梯度函数调用可以是线性梯度(第一颜色、第二颜色、单元数)。其他梯度和其他梯度函数调用在本公开的范围内。
75.预测器指派器530能够被配置成指派预测值以用于在目标块的压缩期间和/或在目标块的解压缩期间使用。在示例实施方式中,预测器指派器530能够被配置成将cxr矩阵的单元映射到目标块中的像素。预测器指派器530能够被进一步配置成基于cxr矩阵的单元(例如,映射像素或被映射像素)到目标中的像素的映射来将cxr矩阵的颜色值指派为目标块的预测值。
76.图6图示根据至少一个示例实施例的、用于指派预测器值的方法的框图。通过执行存储在与装置(例如,如图3a和图3b所示)相关联的存储器(例如,至少一个存储器310、360)中并且由至少一个处理器(例如,至少一个处理器305、355)执行的软件代码,可以执行关于图6描述的步骤。然而,设想了替选实施例,诸如作为专用处理器体现的系统。尽管下述步骤被描述为由处理器执行,但是这些步骤不一定由同一处理器执行。换句话说,至少一个处理器可以执行在下面关于图6描述的步骤。
77.根据示例实施方式,帧内预测能够包括使用包括梯度预测器的预测算法。梯度预测器的使用能够减少或消除块边缘伪影,而无需后重构(例如,滤波)过程(以减少或消除块边缘伪影)。能够在编码器和/或解码器中实现包括梯度预测器的预测算法。例如,能够在如图4a和图4b所示的预测块410、475中在帧内预测过程中实现包括梯度预测器的预测算法。
78.在步骤s605中选择邻接列。例如,选择邻接列能够基于要处理的像素或像素块(或目标块)。要处理的像素或像素块(或目标块)可以是要压缩(编码)或解压缩(解码)的像素或像素块。邻接者可以是邻接像素列。像素列能够在像素或像素块左侧或右侧。像素列能够与像素或像素块直接相邻(在左侧或右侧)。像素列能够与像素或像素块间接相邻(在左侧或右侧相隔至少一个像素)。
79.在步骤s610中选择邻接行。例如,选择邻接行能够基于要处理的像素或像素块(或目标块)。要处理的像素或像素块(或目标块)可以是要压缩(编码)或解压缩(解码)的像素或像素块。邻接者可以是邻接像素行。像素行能够在像素或像素块上方或下方。像素行能够与像素或像素块直接相邻(在上方或在下方)。像素行能够与像素或像素块间接相邻(在上方或在下方相隔至少一个像素)。
80.在步骤s615中选择处理的列像素。例如,能够从邻接像素列中选择至少一个像素。例如,至少一个像素能够是选自于(并包括)邻接列的每端。在上面关于图1a-1d描述的示例实施方式中,三(3)个像素是选自于(并包括)邻接列的每端中。然而,示例实施方式不限于选择三(3)个像素。
81.在步骤s620中选择处理的行像素。例如,能够从邻接像素行中选择至少一个像素。例如,至少一个像素能够是选自于(并包括)邻接行的每端。在上面关于图1a-1d描述的示例实施方式中,三(3)个像素是选自于(并包括)邻接行的每端。然而,示例实施方式不限于选择三(3)个像素。
82.在步骤s625中计算基础像素。例如,基础值能够基于从邻接像素列中选择的至少一个像素和/或从邻接像素行中选择的至少一个像素。在示例实施方式中,计算四(4)个基础值。例如,能够基于从邻接像素列中选择的至少一个像素和/或从邻接像素行中选择的至少一个像素来计算四(4)个基础值中的三(3)个并且能够基于三个计算的基础值来内插第四基础值。
83.在示例实施方式中,基础像素能够与目标块的每个角部相邻定位。换句话说,基准
像素能够位于目标块的角部处,但未包括在目标块中。能够基于所选邻接行像素和所选邻接列像素的接近度来确定四(4)个基础像素的基础值。在上面更详细地描述了确定基础值。
84.在步骤s630中计算梯度。例如,梯度可以是双线性内插(在上面更详细地描述)。梯度算法或颜色梯度算法的双线性内插能够包括使用两种或更多种颜色之间的渐进过渡为cxr矩阵中的每个单元生成像素值。两种或更多种颜色可以是位于目标块的角部处的四个基础像素的基础值。因此,梯度计算能够使用具有四个基础像素的基础值作为颜色输入的梯度算法来为cxr矩阵中的单元生成颜色值。cxr矩阵是基于目标块。
85.在步骤s635中指派预测器。例如,能够将cxr矩阵映射到目标块中的像素。能够基于cxr矩阵的单元到目标块中的像素的映射来将cxr矩阵的颜色值指派为目标块的预测值。
86.图7示出可以与这里描述的技术一起使用的计算机设备700和移动计算机设备750的示例。计算设备700旨在表示各种形式的数字计算机,诸如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片式服务器、大型机和其他适当的计算机。计算设备750旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系及其功能仅意在为示例性的,而不意在限制本文档中描述和/或要求保护的发明的实施方式。
87.计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和高速扩展端口710的高速接口708、以及连接到低速总线714和存储设备706的低速接口712。组件702、704、706、708、710和712中的每个使用各种总线来互连,并且可以被安装在公共主板上或者酌情以其他方式安装。处理器702能够处理用于在计算设备700内执行的指令,包括存储在存储器704中或在存储设备706上以在诸如耦合到高速接口708的显示器716的外部输入/输出设备上显示用于gui的图形信息的指令。在其他实施方式中,可以酌情使用多个处理器和/或多条总线以及多个存储器和多种类型的存储器。另外,可以连接多个计算设备700,其中每个设备提供必要操作的各部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
88.存储器704存储计算设备700内的信息。在一个实施方式中,存储器704是一个或多个易失性存储器部件。在另一实施方式中,存储器704是一个或多个非易失性存储器部件。存储器704还可以是另一形式的计算机可读介质,诸如磁盘或光盘。
89.存储设备706能够为计算设备700提供大容量存储。在一个实施方式中,存储设备706可以是或者包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储器设备或设备的阵列,包括存储区域网络或其他配置中的设备。能够在信息载体中有形地体现计算机程序产品。计算机程序产品还可以包含指令,当被执行时,这些指令执行一种或多种方法,诸如上述方法。信息载体是计算机或机器可读介质,诸如存储器704、存储设备706或处理器702上的存储器。
90.高速控制器708管理计算设备700的带宽密集型操作,然而低速控制器712管理较低带宽密集型操作。功能的这种分配仅是示例性的。在一个实施方式中,高速控制器708耦合到存储器704、显示器716(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口710。在该实施方式中,低速控制器712耦合到存储设备706和低速扩展端口714。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、
扫描仪或诸如交换机或路由器的联网设备。
91.如图所示,可以以许多不同的形式实现计算设备700。例如,它可以被实现为标准服务器720,或者多次实现在一组此类服务器中。它还可以被实现为机架服务器系统724的一部分。另外,它可以被实现在诸如膝上型计算机722的个人计算机中。替选地,来自计算设备700的组件可以与诸如设备750的移动设备(未示出)中的其他组件组合。此类设备中的每个可以包含一个或多个计算设备700、750,并且整个系统可以由彼此通信的多个计算设备700、750组成。
92.计算设备750包括处理器752、存储器764、诸如显示器754的输入/输出设备、通信接口766和收发器768以及其他组件。设备750还可以设有存储设备,诸如微型驱动器或其他设备,以提供附加存储。组件750、752、764、754、766和768中的每个使用各种总线来互连,并且若干组件可以被安装在公共主板上或者酌情以其他方式安装。
93.处理器752能够执行计算设备750内的指令,包括存储在存储器764中的指令。可以将处理器实现为包括单独和多个模拟和数字处理器的芯片的芯片组。例如,处理器可以提供用于设备750的其他组件的协调,诸如对用户界面、由设备750运行的应用和由设备750进行的无线通信的控制。
94.处理器752可以通过耦合到显示器754的控制接口758和显示接口756来与用户进行通信。显示器754可以是例如tft lcd(薄膜晶体管液晶显示器)或oled(有机发光二极管)显示器或其他适当的显示技术。显示接口756可以包括用于驱动显示器754以向用户呈现图形和其他信息的适当电路系统。控制接口758可以接收来自用户的命令并且对它们进行转换以便提交给处理器752。另外,可以提供与处理器752通信的外部接口762,以实现设备750与其他设备的近区域通信。例如,外部接口762可以在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且还可以使用多个接口。
95.存储器764存储计算设备750内的信息。能够将存储器764实现为一个或多个计算机可读介质、一个或多个易失性存储器部件或一个或多个非易失性存储器部件中的一种或多种。还可以提供扩展存储器774并且通过扩展接口772将其连接到设备750,所述扩展接口可以包括例如simm(单列直插存储器模块)卡接口。这种扩展存储器774可以为设备750提供额外的存储空间,或者还可以为设备750存储应用或其他信息。具体地,扩展存储器774可以包括用于实行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器774可以作为设备750的安全模块被提供,并且可以用允许安全使用设备750的指令编程。另外,可以经由simm卡提供安全应用以及附加信息,诸如以不可破解的方式将标识信息放置在simm卡上。
96.如在下面讨论的,存储器可以包括例如闪速存储器和/或nvram存储器。在一个实施方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时,这些指令执行一种或多种方法,例如上述方法。信息载体是可以例如通过收发器768或外部接口762接收的计算机或机器可读介质,诸如存储器764、扩展存储器774或处理器752上的存储器。
97.设备750可以通过通信接口766以无线方式通信,所述通信接口必要时可以包括数字信号处理电路系统。通信接口766可以提供各种模式或协议下的通信,所述各种模式或协议诸如gsm语音呼叫、sms、ems或mms消息传送、cdma、tdma、pdc、wcdma、cdma2000或gprs等。
例如,这种通信可以通过射频收发器768发生。另外,短距离通信可以例如使用蓝牙、wi-fi或其他这种收发器(未示出)来发生。另外,gps(全球定位系统)接收器模块770可以向设备750提供附加导航和位置相关无线数据,这些数据可以由在设备750上运行的应用酌情使用。
98.设备750还可以使用音频编解码器760来可听地通信,所述音频编解码器可以接收来自用户的口语信息并且将其转换为可用的数字信息。音频编解码器760可以同样地为用户生成可听声音,诸如通过例如在设备750的听筒中的扬声器。这种声音可以包括来自语音电话呼叫的声音,可以包括录制声音(例如,语音消息、音乐文件、等)并且还可以包括由在设备750上运行的应用生成的声音。
99.如图所示,可以以许多不同的形式实现计算设备750。例如,它可以被实现为蜂窝电话780。它还可以被实现为智能电话782、个人数字助理或其他类似的移动设备的一部分。
100.在一般方面中,设备、系统、非暂时性计算机可读介质(在其上存储有能够在计算机系统上执行的计算机可执行程序代码)和/或方法能够按方法执行过程,该方法包括:从图像中选择要压缩的像素的目标块,选择目标块的邻接列,选择目标块的邻接行,基于邻接列的像素的一部分和邻接行的像素的一部分中的至少一个来生成两个或更多个基础值,基于两个或更多个基础值来计算梯度,并且使用所计算的梯度来为目标块指派至少一个预测器。
101.实施方式能够包括以下特征中的一个或多个。例如,该方法能够进一步包括基于目标块和预测器来生成残差。邻接列的选择能够包括选择处理的像素,邻接行的选择能够包括选择处理的像素,邻接列可以是左列或右列之一,并且邻接行可以是上行或下行之一。两个或更多个基础值能够与位于目标块的两个或更多个角部处的基础像素相关联。两个或更多个基础值能够与位于目标块的两个或更多个角部处的基础像素相关联,并且两个或更多个基础值的生成能够包括计算两个或更多个处理的像素的平均值。
102.例如,两个或更多个基础值可以是与位于目标块的每个角部处的基础像素相关联的四个基础值,能够基于来自邻接列的像素的部分和来自邻接行的像素的部分中的至少一个的平均值来计算四个基础值中的三个,并且能够基于三个计算的基础值来内插四个基础值的第四基础值。梯度的计算能够包括使用梯度算法来使用两个或更多个基础值的颜色之间的渐进过渡为列x行矩阵中的每个单元生成像素值。梯度的计算能够包括使用梯度算法的双线性内插。为目标块指派预测器能够包括将与梯度相关联的像素映射到目标块中的像素,并且基于像素的映射来将与梯度相关联的颜色值指派为目标块的预测值。
103.虽然示例实施例可以包括各种修改和替选形式,但是其实施例在附图中作为示例被示出并且将在本文中详细地描述。然而,应该理解,不存在将示例实施例限于所公开的特定形式的意图,而相反,示例实施例将涵盖落在权利要求的范围内的所有修改、等同物和替选方案。相似的标号在各图的描述中自始至终指代相似的元素。
104.能够在数字电子电路系统、集成电路系统、专门地设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现这里描述的系统和技术的各种实施方式。这些各种实施方式能够包括一个或多个计算机程序中的实施方式,这些计算机程序在包括至少一个可编程处理器的可编程系统上可执行和/或可解释,所述至少一个可编程处理器可以是专用或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指
令,并且向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。这里描述的系统和技术的各种实施方式能够被实现为和/或在此通常被称为能够组合软件和硬件方面的电路、模块、块或系统。例如,模块可以包括在处理器(例如,形成在硅衬底、gaas衬底等上的处理器)或某个其他可编程数据处理装置上执行的功能/行为/计算机程序指令。
105.以上示例实施例中的一些被描述为描绘为流程图的过程或方法。尽管流程图将操作描述为顺序过程,但是可以并行地、并发地或同时地执行许多操作。另外,可以重新布置操作的次序。过程可以在其操作完成时被终止,但是还可能具有图中未包括的附加步骤。过程可以对应于方法、函数、过程、子例程、子程序等。
106.可以通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实现上面讨论的方法,其中的一些由流程图图示。当用软件、固件、中间件或微码加以实现时,用于执行必要的任务的程序代码或代码段可以被存储在诸如存储介质的机器或计算机可读介质中。处理器可以执行必要的任务。
107.本文公开的特定结构和功能细节仅仅是为了描述示例实施例的目的而描写的。然而,示例实施例被以许多替选形式体现,而不应该被解释为限于仅本文阐述的实施例。
108.应理解,尽管可以在本文中使用术语第一、第二等来描述各种元素,但是这些元素不应该受这些术语限制。这些术语仅用于区分一个元素和另一元素。例如,在不脱离示例实施例的范围的情况下,可能将第一元素称为第二元素,并且类似地,可能将第二元素称为第一元素。如本文所使用的,术语和/或包括一个或多个相关列举的项目的任何和所有组合。
109.应理解,当一个元素被称为连接或耦合到另一元素时,它能够直接连接或耦合到另一元素或者可以存在中间元素。相比之下,当一个元素被称为直接连接或直接耦合到另一元素时,不存在中间元素。应该以相似方式用于描述元素之间的关系的其他单词解释(例如,位于
……
之间对直接位于
……
之间、相邻对直接相邻等)。
110.本文使用的术语仅用于描述特定实施例的目的,而不旨在限制示例实施例。如本文所使用的,除非上下文另外清楚地指示,否则单数形式一、一个和该也旨在包括复数形式。应进一步理解,术语包括、包括有、包含和/或包含有当用在本文中时,指定存在陈述的特征、整数、步骤、操作、元素和/或组件,但是不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组。
111.还应该注意,在一些替选实施方式中,所指出的功能/行为可以不按各图中指出的次序发生。例如,取决于所涉及的功能/行为,相继示出的两个图可以实际上被并发地执行或者可以有时被以相反次序执行。
112.除非另外定义,否则本文使用的所有术语(包括技术和科学术语)都具有与示例实施例所属于的本领域的普通技术人员所通常理解的相同含义。应进一步理解,术语,例如常用词典中定义的术语,应该被解释为具有与其在相关技术的上下文中的含义一致的含义,而不应在理想化或过于正式意义上解释,除非在本文中明确地如此定义。
113.以上示例实施例的各部分和对应的详细描述是按软件或算法和在计算机存储器内对数据比特的操作的符号表示而呈现的。这些描述和表示是本领域的普通技术人员用来向本领域的普通技术人员有效地传达其工作的实质的那些描述和表示。算法像在这里使用该术语那样,并且像它被通常使用那样,被设想为导致期望结果的步骤的自洽序列。步骤是需要对物理量进行物理操纵的步骤。通常,尽管不一定,但是这些量采取能够被存储、转移、
组合、比较和以其他方式操纵的光、电或磁信号的形式。主要出于常见用法的原因,将这些信号称为比特、值、元素、符号、字符、术语、数字等有时已证明是方便的。
114.在以上说明性实施例中,对可以被实现为程序模块或功能过程的操作(例如,形式为流程图)的行为和符号表示的引用包括执行特定任务或者实现特定抽象数据类型并且可以在现有结构元素处使用现有硬件来描述和/或实现的例程、程序、对象、组件、数据结构等。这种现有硬件可以包括一个或多个中央处理单元(cpu)、数字信号处理器(dsp)、专用集成电路、现场可编程门阵列(fpga)计算机等。
115.然而,应了解,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非另外具体地陈述,或者如从讨论显而易见的,诸如处理或计算或计算或确定或显示等的术语是指计算机系统或类似的电子计算设备的动作和过程,所述计算机系统或类似的电子计算设备将被表示为该计算机系统的寄存器或存储器内的物理电子量的数据操纵或变换成被类似地表示为该计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。
116.还注意,示例实施例的软件实现的方面通常被编码在某种形式的非暂时性程序存储介质上或者实现在某种类型的传输介质之上。程序存储介质可以是磁性的(例如,软盘或硬盘驱动器)或光学的(例如,紧致盘只读存储器或cd rom),并且可以是只读的或随机存取的。类似地,传输介质可以是双绞线、同轴电缆、光纤或本领域已知的某个其他合适的传输介质。示例实施例不受任何给定实施方式的这些方面限制。
117.最后,还应该注意,虽然所附权利要求书阐述本文描述的特征的特定组合,但是本公开的范围不限于此后要求保护的特定组合,而是替选地延伸以包含本文公开的特征或实施例的任何组合,而不管此时是否已在所附权利要求书中具体地枚举了该特定组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献