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

具有全局运动的帧中的选择性运动矢量预测候选的制作方法

2022-02-24 12:08:26 来源:中国专利 TAG:

具有全局运动的帧中的选择性运动矢量预测候选
1.相关申请的交叉引用
2.本技术要求于2019年4月25日提交的、题为“selective motion vector prediction candidates in frames with global motion”的美国临时专利申请第62/838,594号的优先权的权益,该美国临时专利申请在此通过引用整体并入本文。
技术领域
3.本发明总体上涉及视频压缩领域。特别地,本发明针对具有全局运动的帧中的选择性运动矢量预测候选。


背景技术:

4.视频编码解码器可以包括对数字视频进行压缩或解压的电子电路或软件。视频编码解码器可以将未压缩视频转换为经压缩格式,或者可以将经压缩视频解压为未压缩格式。在视频压缩的情况下,对视频进行压缩(和/或执行其某些功能)的设备通常可以被称为编码器,对视频进行解压(和/或执行其某些功能)的设备可以被称为解码器。
5.经压缩数据的格式可以符合标准视频压缩规范。压缩可能是有损的,因为经压缩视频缺失源视频中存在的某些信息。随之而来的后果可能包括:由于没有充足的信息来准确地重构原始视频,因此经解压的视频质量可能低于原始未压缩的视频质量。
6.视频质量、用于表示视频的数据量(例如,由比特率决定)、编码算法和解码算法的复杂性、对数据丢失和错误的敏感性、便于编辑、随机访问、端到端延迟(例如,时延)等之间可能存在复杂的关系。
7.运动补偿可以包括下述方法:该方法在给定参考帧——比如先前帧和/或未来帧——的基础上通过将相机和/或视频中的对象的运动纳入考量来预测视频帧或视频帧的一部分。可以在对视频数据进行编码和解码以用于视频压缩中采用该方法,例如在使用运动图像专家组(mpeg)-2(也称为高级视频编码(avc)和h.264)标准的编码和解码中采用。运动补偿可以根据参考图片至当前图片的变换来描述图片。参考图片可以是时间上先于当前图片的图片,也可以是与当前图片相比将来的照片。当可以从先前传输和/或存储的图像中准确地合成图像时,可以提高压缩效率。


技术实现要素:

8.在一方面中,一种解码器包括电路,该电路配置成:接收比特流;为当前块构建运动矢量候选列表,其中,构建运动矢量候选列表还包括将单个全局运动矢量候选添加至运动矢量候选列表,所述单个全局运动矢量候选基于由当前块利用的全局运动模型来选择;以及使用所述运动矢量候选列表重构当前块的像素数据。
9.在另一方面中,一种方法包括:由解码器接收比特流;为当前块构建运动矢量候选列表,其中,构建运动矢量候选列表还包括将单个全局运动矢量候选添加至运动矢量候选列表,所述单个全局运动矢量候选基于由当前块利用的全局运动模型来选择;以及使用所
述运动矢量候选列表重构当前块的像素数据。
10.在所附附图和以下描述中阐述了本文中描述的主题的一个或更多个变型的细节。从描述和附图以及从权利要求中,本文中描述的主题的其他特征和优点将是明显的。
附图说明
11.出于说明本发明的目的,附图示出了本发明的一个或更多个实施方式的方面。然而,应当理解的是,本发明不限于附图中所示的精确布置和手段,其中:
12.图1是图示了具有全局和局部运动的示例帧的运动矢量的示图;
13.图2图示了可以用于全局运动的三个示例运动模型,包括所述三个示例运动模型的索引值(0、1或2);
14.图3是根据当前主题的一些示例实现方式的过程流程图;
15.图4是根据当前主题的一些示例实现方式的示例解码器的系统框图;
16.图5是根据当前主题的一些示例实现方式的过程流程图;
17.图6是根据当前主题的一些示例实现方式的示例编码器的系统框图;以及
18.图7是计算系统的框图,该计算系统可以用于实施本文所公开方法的任一或多者及其任何一个或多个部分。
19.附图不一定按比例绘制,并且可以通过虚线、图解表示和局部视来图示。在某些情况下,可能已经省略了对于理解实施方式不是必需的或者使其他细节难以察觉的细节。各个图中相同的附图标记表示相同的元件。
具体实施方式
20.视频中的全局运动是指在整个帧中发生的运动。全局运动可能是由相机运动引起的;例如,相机摇摄和缩放会在帧中产生通常会影响整个帧的运动。视频的某些部分中存在的运动可以称为局部运动。局部运动可能由移动场景中的对象——比如在场景中从左向右移动对象——引起。视频可能包含局部运动和全局运动的组合。当前主题的一些实现方式可以提供将全局运动传送给解码器以及使用全局运动矢量来提高压缩效率的有效方法。
21.图1是图示了具有全局运动和局部运动的示例帧100的运动矢量的图。帧100可以包括被图示为方块的多个像素块以及与多个像素块相关联的被图示为箭头的运动矢量。带有指向左上方的箭头的方块(例如,像素块)表示这些块中的运动被视为全局运动,并且带有指向其他方向的箭头的方块(由104指示)表示这些块中的运动被视为局部运动。在图1的图示示例中,许多块具有相同的全局运动。在诸如图片参数集(pps)或序列参数集(sps)之类的标头中用信号发送全局运动,并且使用信号全局运动可以减少块所需的运动矢量信息并且可以实现改进的预测。尽管出于说明性目的,在下面描述的示例涉及的是在块级别确定和/或应用全局运动矢量或局部运动矢量,但可以为帧和/或图片的任何区域确定和/或应用全局运动矢量,所述任何区域包括:由多个块组成的区域;由任何几何形状界定的区域,比如但不限于由几何和/或指数编码定义的区域,其中界定形状的一条或更多条线和/或曲线可以是有角度和/或弯曲的;和/或整个帧和/或图片。尽管在本文中将发信号/用信号发送(signaling)描述为在帧级别和/或帧的标头和/或参数集中执行,但是发信号可以替代地或附加地在子图片级别执行,其中,子图片可以包括如上所述的帧和/或图片的任何
区域。
22.作为示例,仍然参照图1,可以使用具有两个分量mvx、mvy的运动矢量(mv)来描述简单的平移运动,所述运动矢量描述当前帧中的块和/或像素的移位。可以使用仿射运动矢量来描述诸如旋转、缩放和/或扭曲之类的较复杂运动,其中,本公开中使用的“仿射运动矢量”,该矢量描述了在视频图片和/或图片中的一组像素或点所发生的均匀移位,比如图示的一组像素示出了在运动期间,一对象在视频中的视图上移动但其外观形状未改变。一些视频编码和/或解码方法使用四参数仿射模型或六参数仿射模型来进行帧间图片编码中的运动补偿。
23.例如,六参数仿射运动可以描述为:
24.x’=ax by c
25.y’=dx ey f
26.四参数仿射运动可以描述为:
27.x’=ax by c
28.y’=-bx ay f
29.其中,(x,y)和(x’,y’)分别是当前图片和参考图片中的像素位置;a、b、c、d、e和f是仿射运动模型的参数。
30.继续参照图1,用于描述仿射运动的参数可以用信号发送给解码器以在解码器处应用仿射运动补偿。在一些方法中,运动参数可以显式地用信号发送或者通过用信号发送平移控制点运动矢量(cpmv)然后从平移运动矢量得出仿射运动参数。可以利用两个控制点运动矢量(cpmv)来得出用于四参数仿射运动模型的仿射运动参数,并且可以利用三个控制点平移运动矢量(cpmv)来获得用于六参数运动模型的参数。使用控制点运动矢量用信号发送仿射运动参数可以允许使用有效的运动矢量编码方法来用信号发送仿射运动参数。在一些实现方式中,但不限于这些实现方式,平移运动模型可以由索引值0索引,四参数仿射模型可以由索引值1索引,并且六参数仿射模型可以由索引值2索引。
31.在实施方式中,仍然参照图1,pps和/或sps中的sps_affine_enabled_flag可以指定基于仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_enabled_flag等于0,则语法可以约束成使得在后编码视频序列(clvs)中不使用基于仿射模型的运动补偿,并且clvs的编码单元语法中不会存在inter_affine_flag和cu_affine_type_flag。否则(sps_affine_enabled_flag等于1),可以在clvs中使用基于仿射模型的运动补偿。
32.进一步参照图1,pps和/或sps中的sps_affine_type_flag可以指定基于六参数仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_type_flag等于0,则语法可以被约束成使得clvs中不使用基于六参数仿射模型的运动补偿,并且clvs中的编码单元语法中不会存在cu_affine_type_flag。否则(sps_affine_type_flag等于1),可以在clvs中使用基于六参数仿射模型的运动补偿。当不存在时,可以推断sps_affine_type_flag的值等于0。
33.继续参照图1,创建mv预测候选列表可以是在解码器处利用运动补偿的一些压缩方法中所执行的步骤。一些先前的方法可以定义空间运动矢量候选和时间运动矢量候选的使用。在诸如sps或pps之类的标头中用信号发送的全局运动可以指示视频中全局运动的存在。预期这样的全局运动对于帧中的大多数块是共同的。可以通过使用全局运动作为预测
候选来改进运动矢量编码并降低比特率。可以根据用于表示全局运动的运动模型和在帧间编码中使用的运动模型来选择添加至mv预测列表的候选mv。
34.仍然参照图1,可以根据所使用的运动模型使用一个或更多个控制点运动矢量(cpmv)来描述全局运动的一些实现方式。因此,根据所使用的运动模型,一个至三个控制点运动矢量可能可用并且可以用作用于预测的候选。在一些实现方式中,所有可用的cpmv都可以作为预测候选添加至列表。添加所有可用cpmv的一般情况可以增加找到良好运动矢量预测的可能性并提高压缩效率。
[0035][0036][0037]
继续参照图1,创建运动矢量(mv)预测候选列表是在解码器处执行运动补偿中的步骤。一些现有方法(例如,先前的压缩标准)定义空间运动矢量候选和时间运动矢量候选的使用。
[0038]
继续参照图1,可以在诸如sps之类的标头中用信号发送全局运动,该全局运动可以指示视频中全局运动的存在。这种全局运动很可能存在于帧中的许多块中。因此,给定块很可能具有与全局运动相似的运动。可以通过使用全局运动作为预测候选来改进运动矢量编码并降低比特率。候选mv可以添加至mv预测列表,并且可以根据用于表示全局运动的运动模型和在帧间编码中使用的运动模型来选择候选mv。
[0039]
仍然参照图1,根据所使用的运动模型,可以使用一个或更多个控制点运动矢量(cpmv)来描述全局运动。因此,根据所使用的运动模型,一个至三个控制点运动矢量可能可用并且可以用作用于预测的候选。可以通过将一个cpmv选择性地添加至预测候选列表来减少mv预测候选列表。减少列表大小可以降低计算复杂度并提高压缩效率。
[0040]
在一些实现方式中,进一步参照图1,被选定为候选的cpmv可以根据预定义映射,比如为下表1中所示的映射:
[0041][0042][0043]
可以在序列参数集的图片参数集中用信号发送来自全局运动的选择性预测候选的使用,从而降低编码和解码复杂度。
[0044]
仍然参照图1,由于块可能具有与全局运动相似的运动,因此在预测列表中添加全局运动矢量作为第一候选可以减少用信号发送所使用的预测候选和/或可以减少编码运动矢量差所必需的比特。作为另外的非限制性示例,图2图示了可以用于全局运动的三个示例运动模型200,包括所述三个示例运动模型的索引值(0、1或2)。
[0045]
仍然参照图2,pps用于用信号发送可以在序列的图片之间改变的参数。对于图片序列保持相同的参数可以在序列参数集中用信号发送以减小pps的大小并降低视频比特率。示例图片参数集(pps)在表2中示出:
[0046]
[0047]
[0048]
[0049]
[0050][0051]
附加字段可以添加至pps以用信号发送全局运动。在全局运动的情况下,图片序列中全局运动参数的存在可以在sps中用信号发送并且pps可以通过sps id来参考sps。一些解码方法中的sps可以被修改成添加字段来用信号发送sps中全局运动参数的存在。例如,可以将一位字段添加至sps。如果global_motion_present位为1,则在pps中可以预期全局运动相关参数。如果global_motion_present位为0,则pps中不可能存在全局运动参数相关字段。例如,表2的pps可以扩展为包括global_motion_present字段,例如,如表3所示:
[0052][0053]
类似地,pps可以包括用于帧的pps_global_motion_parameters字段,例如如表4所示:
[0054][0055]
更详细地,pps可以包括使用控制点运动矢量表征全局运动参数的字段,例如如表5所示:
[0056]
[0057][0058]
作为进一步的非限制性示例,下表6可以表示示例性sps:
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066][0067]
如上的sps表可以如上所述地扩展成结合如表7中所示的全局运动存在指示符:
[0068][0069]
附加字段可以结合在sps中以反映如在本公开中描述的另外的指示符。
[0070]
在实施方式中,仍然参照图2,pps和/或sps中的sps_affine_enabled_flag可以指定基于仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_enabled_flag等于0,则语法可以约束成使得在后编码视频序列(clvs)中不使用基于仿射模型的运动补偿,并且clvs的编码单元语法中不会存在inter_affine_flag和cu_affine_type_flag。否则(sps_affine_enabled_flag等于1),可以在clvs中使用基于仿射模型的运动补偿。
[0071]
继续参照图2,pps和/或sps中的sps_affine_type_flag可以指定基于六参数仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_type_flag等于0,则语法可以被约束成使得clvs中不使用基于六参数仿射模型的运动补偿,并且clvs中的编码单元语法中不会存在cu_affine_type_flag。否则(sps_affine_type_flag等于1),可以在clvs中使用基于六参数仿射模型的运动补偿。当不存在时,可以推断sps_affine_type_flag的值等于0。
[0072]
仍然参照图2,可以在pps中用信号发送平移cpmv。可以预定义控制点。例如,控制点mv 0可以相对于图片的左上角,mv 1可以相对于右上角,并且mv 3可以相对于图片的左下角。表5图示了用于根据所使用的运动模型用信号发送cpmv数据的示例方法。
[0073]
在示例性实施方式中,仍然参照图2,可以在编码单元、编码树等中用信号发送的
数组amvr_precision_idx可以指定运动矢量差的分辨率amvrshift,该分辨率amvrshift可以被定义为如下所示的表8中所示的非限制性示例。数组索引x0,y0可以指定所考虑的编码块的左上明度样本相对于图片的左上明度样本的位置(x0,y0);当amvr_precision_idx[x0][y0]不存在时,可以推断为等于0。当inter_affine_flag[x0][y0]等于0时,表示与所考虑的块相对应的调制矢量差值的变量mvdl0[x0][y0][0]、mvdl0[x0][y0][1]、mvdl1[x0][y0][0]、mvdl1[x0][y0][1]可以通过amvrshift使下述这些值移位来修改,例如使用
[0074]
mvdl0[x0][y0][0]=mvdl0[x0][y0][0]《《amvrshift;
[0075]
mvdl0[x0][y0][1]=mvdl0[x0][y0][1]《《amvrshift;
[0076]
mvdl1[x0][y0][0]=mvdl1[x0][y0][0]《《amvrshift;以及
[0077]
mvdl1[x0][y0][1]=mvdl1[x0][y0][1]《《amvrshift。
[0078]
其中,inter_affine_flag[x0][y0]等于1,变量mvdcpl0[x0][y0][0][0]、mvdcpl0[x0][y0][0][1]、mvdcpl0[x0][y0][1][0]、mvdcpl0[x0][y0][1][1]、mvdcpl0[x0][y0][2][0]和mvdcpl0[x0][y0][2][1]可以通过移位来修改,例如如下:
[0079]
mvdcpl0[x0][y0][0][0]=mvdcpl0[x0][y0][0][0]《《amvrshift;
[0080]
mvdcpl1[x0][y0][0][1]=mvdcpl1[x0][y0][0][1]《《amvrshift;
[0081]
mvdcpl0[x0][y0][1][0]=mvdcpl0[x0][y0][1][0]《《amvrshift;
[0082]
mvdcpl1[x0][y0][1][1]=mvdcpl1[x0][y0][1][1]《《amvrshift;
[0083]
mvdcpl0[x0][y0][2][0]=mvdcpl0[x0][y0][2][0]《《amvrshift;以及
[0084]
mvdcpl1[x0][y0][2][1]=mvdcpl1[x0][y0][2][1]《《amvrshift。
[0085][0086]
图3是图示了构建运动矢量候选列表的过程300的示例性实施方式的过程流程图,其中包括将单个全局运动矢量候选添加至运动矢量候选列表。
[0087]
在步骤305中,由解码器接收当前块。当前块可以包含在解码器接收的比特流内。比特流可以包括例如在使用数据压缩时作为解码器的输入的比特流中发现的数据。比特流可以包括解码视频所需的信息。接收可以包括从比特流中提取和/或解析块和相关联的信令信息。在一些实现方式中,当前块可以包括编码树单元(ctu)、编码单元(cu)和/或预测单元(pu)。
[0088]
在步骤310中,为当前块构建运动矢量候选列表;构建可以包括将单个全局运动矢量候选添加至运动矢量候选列表。单个全局运动矢量候选可以基于由当前块利用的全局运
动模型来选择。在步骤315中,可以使用运动矢量候选列表来重构当前块的像素数据。
[0089]
图4是图示了能够至少通过构建运动矢量候选列表(包括将单个全局运动矢量候选添加至运动矢量候选列表)来解码比特流428的示例解码器400的系统框图。解码器400可以包括熵解码器处理器404、逆量化和逆变换处理器408、解块滤波器412、帧缓冲器416、运动补偿处理器420和/或帧内预测处理器424。
[0090]
在操作中,仍然参照图4,比特流428可以由解码器400接收并输入至熵解码器处理器404,熵解码器处理器404可以将部分比特流熵解码为量化系数。量化系数可以被提供给逆量化和逆变换处理器408,逆量化和逆变换处理器408可以执行逆量化和逆变换以创建残差信号,该残差信号可以根据处理模式添加至运动补偿处理器420或帧内预测处理器424的输出。运动补偿处理器420和帧内预测处理器424的输出可以包括基于先前解码的块的块预测。预测和残差之和可以由解块滤波器412处理并存储在帧缓冲器416中。
[0091]
图5是图示了根据当前主题的一些方面的可以降低编码复杂度同时增加压缩效率的至少通过构建运动矢量候选列表(包括将单个全局运动矢量候选添加至运动矢量候选列表)来编码视频的示例过程500的过程流程图。在步骤505中,视频帧可以经历初始块分割,例如通过使用可以包括将图片帧分区为ctu和cu的树结构宏块分区方案。在步骤510中,可以确定全局运动。在步骤515中,块可以被编码并且被包括在比特流中。编码可以包括构建运动矢量候选列表,其中包括将单个全局运动矢量候选添加至运动矢量候选列表。编码可以包括利用例如帧间预测模式和帧内预测模式。
[0092]
图6是图示了能够构建运动矢量候选列表(包括将单个全局运动矢量候选添加至运动矢量候选列表)的视频编码器600的示例性实施方式的系统框图。示例视频编码器600可以接收输入视频604,该输入视频604可以根据诸如树结构宏块分区方案(例如,四叉树加二叉树)之类的处理方案进行初始分割和/或划分。树结构宏块分区方案的示例可以包括将图片帧分区为被称为编码树单元(ctu)的大块要素。在一些实现方式中,每个ctu可以被进一步分区为被称为编码单元(cu)的多个子块。该分区的最终结果可以包括可以被称为预测单元(pu)的一组子块。还可以使用变换单元(tu)。
[0093]
仍然参照图6,示例视频编码器600可以包括帧内预测处理器612、运动估算/补偿处理器612(也被称为帧间预测处理器)、变换/量化处理器616、逆量化/逆变换处理器620、环路滤波器624、解码图片缓冲器628、和/或熵编码处理器632,其中,运动估算/补偿处理器612能够构建运动矢量候选列表,其中包括将单个全局运动矢量候选添加至运动矢量候选列表。比特流参数可以输入至熵编码处理器632以包含在输出比特流636中。
[0094]
继续参照图6,在操作中,对于输入视频604的帧的每个块,可以确定是经由帧内图片预测还是使用运动估算/补偿来处理块。块可以被提供给帧内预测处理器608或运动估算/补偿处理器612。在块要经由帧内预测来处理的情况下,帧内预测处理器608可以执行处理以输出预测值。如果适用,在块要经由运动估算/补偿来处理的情况下,运动估算/补偿处理器612可以执行的处理包括构建运动矢量候选列表(包括将单个全局运动矢量候选添加至运动矢量候选列表)。
[0095]
仍然参照图6,可以通过从输入视频中减去预测值来形成残差。残差可以由变换/量化处理器616接收,变换/量化处理器616可以执行变换处理(例如,离散余弦变换(dct))以产生可以被量化的系数。量化系数和任何相关联的信令信息可以被提供给熵编码处理器
632以用于熵编码并包括在输出比特流636中。熵编码处理器632可以支持与编码当前块有关的信令信息的编码。此外,量化系数可以被提供给逆量化/逆变换处理器620,逆量化/逆变换处理器620可以再现像素,像素可以与预测值组合并由环路滤波器624处理,环路滤波器624的输出可以存储在解码图片缓冲器628中以供运动估算/补偿处理器612使用,所述运动估算/补偿处理器612能够构建运动矢量候选列表、包括将单个全局运动矢量候选添加至运动矢量候选列表。
[0096]
进一步参照图6,尽管上面已经详细描述了一些变型,但其他修改或添加也是可能的。例如,在一些实现方式中,当前块可以包括任何对称块(8x8、16x16、32x32、64x64、128x128等)以及任何非对称块(8x4、16x8等)。
[0097]
仍然参照图6,在一些实现方式中,可以实施四叉树加二叉决策树(qtbt)。在qtbt中,在编码树单元层面,可以动态地导出qtbt的分区参数以适应局部特性,而无需传输任何开销。随后,在编码单元级别,联合分类器决策树结构可以消除不必要的迭代并控制错误预测的风险。在一些实现方式中,ltr帧块更新模式可以用作在qtbt的每个叶节点处可用的附加选项。
[0098]
仍然参照图6,在一些实现方式中,可以在比特流的不同层次级别用信号发送附加语法要素。例如,可以通过包括在序列参数集(sps)中编码的启用标志来为整个序列启用标志。此外,可以在编码树单元(ctu)级别对ctu标志进行编码。
[0099]
应当注意的是,本文中描述的任何一个或更多个方面和实施方式可以方便地使用数字电子电路、集成电路、专门设计的专用集成电路(asic)、现场可编程门阵列(fpga)计算机硬件、固件、软件和/或其组合来实现,如在根据本说明书的教导编程的一台或多台机器(例如,用作用于电子文档的用户计算设备的一个或更多个计算设备、一个或更多个服务器设备、比如文档服务器等)中实现和/或实施的,这对计算机领域的普通技术人员而言将是明显的。这些不同的方面或特征可以包括一个或更多个计算机程序和/或软件中的实现方式,这些计算机程序和/或软件能够在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,耦合成从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。适当的软件编码可以由熟练的程序员基于本公开的教导容易地准备,这对于软件领域的普通技术人员而言将是明显的。上面论述的采用软件和/或软件模块的方面和实现方式还可以包括用于辅助实施软件和/或软件模块的机器可执行指令的适当硬件。
[0100]
这样的软件可以是采用机器可读存储介质的计算机程序产品。机器可读存储介质可以是能够存储和/或编码由机器(例如,计算设备)执行的指令序列并且使机器执行本文描述的方法和/或实施方式中的任何一种方法和/或实施方式的任何介质。机器可读存储介质的示例包括但不限于磁盘、光盘(例如cd、cd-r、dvd、dvd-r等)、磁光盘、只读存储器“rom”设备、随机存取存储器“ram”设备、磁卡、光卡、固态存储设备、eprom、eeprom、可编程逻辑设备(pld)和/或其任何组合。如本文中所使用的,机器可读介质意在包括单个介质以及物理上分离的介质的集合,例如,与计算机存储器结合的一个或更多个硬盘驱动器以及光盘的集合。如本文中所使用的,机器可读存储介质不包括暂时形式的信号传输。
[0101]
这样的软件还可以包括作为数据信号在诸如载波的数据载体上承载的信息(例
如,数据)。例如,可以包括作为在数据载体中实施的数据承载信号的机器可执行信息,在数据载体中,该信号对用于由机器(例如,计算设备)执行的指令序列或其一部分进行编码,以及对致使机器执行本文中描述的方法和/或实施方式中的任何一种方法和/或实施方式的任何相关信息(例如,数据结构和数据)进行编码。
[0102]
计算设备的示例包括但不限于电子书阅读设备、计算机工作站、终端计算机、服务器计算机、手持设备(例如,平板计算机、智能手机等)、网络设备、网络路由器、网络交换机、网桥、能够执行指定该机器要采取的动作的指令序列的任何机器、及其任何组合。在一个示例中,计算设备可以包括和/或被包括在信息亭中。
[0103]
图7示出了示例性形式的计算机系统700中的计算设备的一个实施方式的图解表示,可以在计算设备内执行用于使控制系统执行本公开的任何一个或更多个方面和/或方法的一组指令。还预期的是,多个计算设备可以用于实施一组专门配置的指令,以用于使一个或更多个设备执行本公开的任何一个或更多个方面和/或方法。计算机系统700包括经由总线712彼此通信并与其他组件通信的处理器704和存储器708。总线712可以包括若干种类型的总线结构——包括但不限于使用各种总线架构中的任何一种总线架构的存储器总线、存储器控制器、外围总线、局部总线及其任何组合——中的任一种总线结构。
[0104]
存储器708可以包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任何组合。在一个示例中,基本输入/输出系统716(bios)可以存储在存储器708中,基本输入/输出系统716(bios)包括比如在启动期间有助于在计算机系统700内的元件之间传输信息的基本例程。存储器708还可以包括实施本公开的任何一个或更多个方面和/或方法(例如,存储在一个或更多个机器可读介质上的)的指令(例如,软件)720。在另一示例中,存储器708还可以包括任意数量的程序模块,包括但不限于操作系统、一个或更多个应用程序、其他程序模块、程序数据及其任何组合。
[0105]
计算机系统700还可以包括存储设备724。存储设备(例如,存储设备724)的示例包括但不限于硬盘驱动器、磁盘驱动器、光盘驱动器与光学介质的组合、固态存储设备及其任何组合。存储设备724可以通过适当的接口(未示出)连接至总线712。示例接口包括但不限于scsi、高级技术附件(ata)、串行ata、通用串行总线(usb)、ieee 1394(firewire)及其任何组合。在一个示例中,存储设备724(或其一个或更多个组件)可以与计算机系统700可移除地交互(例如,经由外部端口连接器(未示出))。特别地,存储设备724和相关联的机器可读介质728可以提供用于计算机系统700的机器可读指令、数据结构、程序模块和/或其他数据的非易失性和/或易失性存储器。在一个示例中,软件720可以完全或部分驻留在机器可读介质728内。在另一个示例中,软件720可以完全或部分驻留在处理器704内。
[0106]
计算机系统700还可以包括输入设备732。在一个示例中,计算机系统700的用户可以经由输入设备732将命令和/或其他信息输入到计算机系统700中。输入设备732的示例包括但不限于字母数字输入设备(例如,键盘)、定点设备、操纵杆、游戏手柄、音频输入设备(例如,麦克风、语音响应系统等)、光标控制设备(例如,鼠标)、触摸板、光学扫描仪、视频捕获设备(例如,静态相机、摄影机)、触摸屏及其任何组合。输入设备732可以经由多种接口(未示出)中的任一种接口连接至总线712,包括但不限于串行接口、并行接口、游戏端口、usb接口、firewire接口、与总线712的直接接口及其任何组合。输入设备732可以包括触摸屏接口,该触摸屏接口可以是显示器736的一部分或与显示器736分开,这将在下面进一步
论述。输入设备732可以用作用户选择设备,用于在如上所述的图形接口中选择一个或更多个图形表示。
[0107]
用户还可以经由存储设备724(例如,可移动磁盘驱动器、闪存驱动器等)和/或网络接口设备740向计算机系统700输入命令和/或其他信息。诸如网络接口设备740之类的网络接口设备可以用于将计算机系统700连接至各种网络中的一个或更多个网络例如网络744、以及连接至这些网络的一个或更多个远程设备748。网络接口设备的示例包括但不限于网络接口卡(例如,移动网络接口卡、lan卡)、调制解调器及其任何组合。网络的示例包括但不限于广域网(例如,互联网、企业网络)、局域网(例如,与办公室、建筑物、校园或其他相对较小的地理空间相关联的网络)、电话网络、与电话/语音提供商相关联的数据网络(例如,移动通信提供商数据和/或语音网络)、两个计算设备之间的直接连接及其任何组合。网络、比如网络744可以采用有线和/或无线通信模式。通常,可以使用任何网络拓扑。信息(例如,数据、软件720等)可以经由网络接口设备740传送至计算机系统700和/或从计算机系统700传送。
[0108]
计算机系统700还可以包括视频显示适配器752,视频显示适配器752用于将可显示图像传送至诸如显示设备736之类的显示设备。显示设备的示例包括但不限于液晶显示器(lcd)、阴极射线管(crt)、等离子显示器、发光二极管(led)显示器及其任何组合。显示适配器752和显示设备736可以与处理器704结合使用以提供本公开的方面的图形表示。除了显示设备之外,计算机系统700可以包括一个或更多个其他外围输出设备,包括但不限于音频扬声器、打印机及其任何组合。这样的外围输出设备可以经由外围接口756连接至总线712。外围接口的示例包括但不限于串行端口、usb连接、firewire连接、并行连接及其任何组合。
[0109]
以上是对本发明的说明性实施方式的详细描述。在不脱离本发明的精神和范围的情况下,可以进行各种修改和添加。上述各种实施方式中的每个实施方式的特征可以适当地与其他描述的实施方式的特征组合,以便在相关联的新实施方式中提供多种特征组合。此外,尽管以上描述了多个单独的实施方式,但是本文中描述的仅仅是对本发明原理的应用的说明。此外,尽管本文中的特定方法可以被图示和/或描述为以特定顺序执行,但是在实现本文中公开的实施方式的普通技术范围内,顺序是高度可变的。因此,该描述仅意在作为示例,而不以其他方式限制本发明的范围。
[0110]
在上述描述和权利要求书中,诸如
“……
中的至少一个”或
“……
中的一个或更多个”之类的短语可以后跟一连串的要素或特征。术语“和/或”也可能出现在由两个或更多个要素或特征的列表中。除非以明示或暗示的方式与其所使用的上下文相矛盾,否则短语意指所列出的要素或特征中的任何单独的一个要素或特征,或者意指所列举的要素或特征中的任一要素或特征与所列举的其他要素或特征中的任一要素或特征相结合。例如,每个短语“a和b中的至少一个”、“a和b中的一个或更多个”和“a和/或b”均意指“仅a、仅b、或者a和b两者”。对于包含三个或更多个项的列表也适用类似解释。例如,每个短语“a、b和c中的至少一个”、“a、b和c中的一个或更多个”、和“a、b和/或c”均意指“仅a、仅b、仅c、a和b一起、a和c一起、b和c一起、或者a和b和c一起”。此外,在上文和权利要求书中使用术语“基于”意指“至少部分基于”,使得未提及的特征或要素也是允许的。
[0111]
本文中描述的主题可以根据所需的配置体现在系统、设备、方法和/或物品中。前
述说明中所述的实现方式并不代表与本文中描述的主题一致的所有实现方式。相反,这些实现方式只是与所描述的主题相关的方面相一致的一些示例。尽管上文已经详细描述了一些变型,但是其他的修改或添加是可能的。特别地,除了本文中阐述的那些以外,还可以提供进一步的特征和/或变型。例如,上文描述的实现方式可以涉及所公开的特征的各种组合和子组合、以及/或者上文公开的若干进一步特征的组合和子组合。此外,在附图和/或本文中描述的逻辑流并不一定要求所示出的特定顺序、或次序,以达到理想的结果。其他实现方式可能落入所附权利要求的范围内。
再多了解一些

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

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

相关文献