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

基于帧类型的自适应分辨率管理的隐式标识的制作方法

2022-06-12 03:34:14 来源:中国专利 TAG:

基于帧类型的自适应分辨率管理的隐式标识
1.相关申请的交叉引用
2.本技术要求于2019年8月6日提交的、标题为"基于帧类型的自适应分辨率管理的隐式标识(implicit signaling of adaptive resolution management based on frame type)"的美国临时专利申请62/883,484号的优先权,其全部内容通过引用并入本文。
技术领域
3.本发明大体上涉及视频压缩领域。具体地,本发明涉及基于帧类型的自适应分辨率管理的隐式标识。


背景技术:

4.视频编解码器可以包括对数字视频进行压缩或解压缩的电子电路或软件。其可以将未压缩视频转换为压缩格式,反之亦然。在视频压缩的上下文中,对视频进行压缩(和/或执行其某些功能)的装置备通常可以被称为编码器,对视频进行解压缩(和/或执行其某些功能)的装置可以被称为解码器。
5.压缩后数据的格式可以符合标准视频压缩规范。压缩可能是有损的,因为压缩后视频可能会缺少原始视频中存在的一些信息。这样的后果可能包括解压缩后视频可能具有比原始的未压缩视频更低的质量,因为没有足够的信息来准确地重建原始视频。
6.视频质量、用于表示视频的数据量(例如,由比特率决定)、编码算法和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的容易性、随机访问、端对端延迟(例如,延迟时间)等之间可以存在复杂的关系。
7.运动补偿可以包括通过考虑照相机和/或视频中对象的运动来预测视频帧或者给定参考帧(例如先前帧和/或未来帧)的一部分的方法。方法可以对视频数据进行编码和解码,用于视频压缩,例如使用运动图像专家组(mpeg)的高级视频编码(avc)标准(也称为h.264)进行编码和解码。
8.运动补偿可以根据参考图像到当前图像的变换来描述图像。当与当前图像进行比较时,参考图像可以是时间上先前的,和/或,当与当前图像比较时,参考图像可以是来自未来的。


技术实现要素:

9.一方面,一种解码器包括电路,所述电路被配置成:接收比特流,使用所述比特流并针对当前帧,确定所述当前帧是否可用作参考帧,响应于确定所述当前帧可用作参考帧,设置表征自适应分辨率管理模式不被允许的变量,以及重建所述当前帧的像素数据,其中,所述自适应分辨率管理模式不被允许。
10.另一方面,一种方法包括:接收比特流,使用所述比特流并针对当前帧,确定所述当前帧是否可用作参考帧,响应于确定所述当前帧可用作参考帧,设置表征自适应分辨率管理模式不被允许的变量,以及重建所述当前帧的像素数据,其中,所述自适应分辨率管理
模式不被允许。
11.在此描述的主题的一种或多种变型的细节在下面的附图和具体实施方式中进行阐述。根据具体实施方式和附图以及权利要求,在此描述的主题的其他特征和优点将显而易见。
附图说明
12.为了说明本发明,附图示出了本发明的一个或多个实施例的各个方面。然而,应当理解的是,本发明不限于附图中所示的精确布置和手段,在附图中:
13.图1是说明各种分辨率等级的示例参考帧和示例预测帧的图示;
14.图2是描绘示例参考帧、示例重缩放后考帧和示例后续块预测过程的图示;
15.图3是示出了根据当前主题的一些实施方式的示例过程的过程流程图;
16.图4是示出了根据当前主题的一些实施方式的能够解码比特流的示例解码器的系统框图;
17.图5是示出了根据当前主题的一些实施方式来对视频进行编码的示例过程的过程流程图;
18.图6是示出了根据当前主题的一些实施方式的示例视频编码器的系统框图;以及
19.图7是可以用于实现本文公开的任何一个或多个方法及其任何一个或多个部分的计算系统的框图。
20.附图不一定是按比例绘制的,并且可以用虚线、示意图和局部视图来说明。在某些情况下,可能已经省略了对于理解实施例而言不必要的细节或者使得其他细节难以理解的细节。在图中,相同的附图标记指代相同的元件。
具体实施方式
21.在许多当前最先进的编码器中,分辨率是通过重新编码和重新发送被称为图像组(gop)的整个视频部分来管理的。这需要发送内部帧(i帧),这可能导致额外的成本,因为这些帧负责gop中的大部分比特。
22.本公开描述的实施例涉及自适应分辨率管理(arm),其是一种为视频编码器/解码器提供额外灵活性的技术,从而允许在各种使用情况下节省比特率。通常,arm包括使用分辨率不同于当前帧的参考帧来执行预测。在当前的编码标准中,参考帧具有与预测帧相同的分辨率。在arm中,参考帧的分辨率可能小于或大于被预测帧的分辨率。这种方法可以用于降低视频分辨率,从而降低比特率,或者提高视频分辨率,从而促进视频回放的显示特性。
23.出于本公开的目的,arm可替代地或等效地被称为参考图像重采样(rpr);rpr和arm可以互换使用。
24.当前主题的一些实施方式可以包括在gop内的任何位置对任何数量的帧使用arm,从而消除对i帧重新编码的要求。
25.图1是说明各种分辨率等级的参考帧和预测帧的图示。帧1比参考帧小(分辨率较低),帧2与参考帧大小相同(分辨率相同),而帧3比参考帧更大(分辨率较高)。本公开中使用的“分辨率”是在视频回放、压缩等中使用的图像、帧、子帧和/或其他显示区域或其部分
中的像素数量,较高的像素数量对应于较高的分辨率,而较少的像素数量对应于较低的分辨率。分辨率可以根据面积来测量,例如但不限于通过使用一个或多个长度维度,以定义面积的像素来测量。例如,圆形子帧或其他区域可以具有根据半径定义的分辨率。可替代地或附加地,分辨率可以由像素的总数来定义。
26.作为示例,继续参考图1,其中参考帧和/或子帧具有可以完全根据两个长度参数来定义面积的几何形式,例如但不限于三角形、平行四边形和/或矩形形式,参考帧和/或子帧可以具有分辨率w
×
h,其中w和h可以指示分别描述参考帧和/或子帧的宽度(或底部)和高度尺寸的像素数量。每个预测帧也可以具有分辨率,该分辨率可以类似于参考帧的分辨率来确定;举例来说,帧1可以具有较小的分辨率ws
×
hs,帧2可以具有与参考帧相同的分辨率w
×
h,且帧3可具有较大的分辨率wl
×
hl。较小和较大帧的宽度和高度可以通过将参考宽度和高度乘以任意的重缩放常数(rc)来获得,该重缩放常数也被称为缩放系数和/或常数。在更小帧的情况下,rc可以具有0和1之间的值。在更大帧的情况下,rc可以具有大于1的值;例如,rc可以具有1到4之间的值。其他值也是可能的。一个分辨率维度的重缩放常数可能不同于另一个分辨率维度;例如,重缩放常数rch可以用于重缩放高度,而另一个重缩放常数rcw可以用于重缩放宽度。
27.仍然参考图1,arm可以作为一种模式来实现。在解码期间的某个点激活arm模式的情况下,解码器可能已经接收到分辨率为w
×
h的参考帧,并且可以使用重缩放常数来重缩放预测帧。在一些实施方式中,编码器可以向解码器标识使用哪个重缩放常数。可以在对应于包含当前图像的gop的序列参数集(sps)中和/或对应于当前图像的图像参数集(pps)中执行该标识。例如,但不限于,编码器可以使用诸如pps_pic_width_in_luma_samples、pps_pic_height_in_luma_samples、pps_scaling_win_left_offset、pps_scaling_win_right_offset,pps_scaling_win_top_offset、pps_scaling_win_bottom_offset和/或sps_num_subpics_minus1之类的字段来标识重缩放后参数。
28.进一步参考图1,如上所述的w和h参数可以但不限于分别使用变量currpicscalwinwidthl和currpicscalwinheightl来表示;这些变量可以使用表示参数和变量之间的一个或多个数学关系从如上所述的标识参数中导出。例如,但不限于,currpicscalwinwidthl可以根据以下等式导出:
29.currpicscalwinwidthl=pps_pic_width_in_luma_samples

30.subwidthc*(pps_scaling_win_right_offset pps_scaling_win_left_offset)
31.作为另一个非限制性示例,currpicscalwinheightl可以根据以下等式导出:
32.currpicscalwinwidthl=pps_pic_width_in_luma_samples

33.subwidthc*(pps_scaling_win_right_offset pps_scaling_win_left_offset)
34.本领域一般技术人员在阅读了本公开的全部内容后,将会了解可用于导出上述变量的各种替代计算。编码器可替代地或附加地直接,例如但不限于在pps和/或sps中标识一个或多个这样的变量rc、rch和/或rcw。
35.可替代地或附加地,仍然参考图1,如上所述的重缩放常数和/或一组重缩放常数可以使用对所存储的一个和/或多个缩放常数和/或帧和/或块的索引的引用在比特流中标识,所述帧和/或块是使用先前标识和/或使用的一个和/或多个缩放常数来标识的。对存储的缩放常数的索引的引用可以明确地标识和/或从比特流中标识的一个或多个附加参数中
确定。例如但不限于,解码器可以识别包含当前帧的参考帧和/或图像组;在先前已经标识了重缩放常数和/或在这样的图像组中使用了重缩放常数的情况下,被标识的参考帧可应用于当前帧和/或当前图像组等,解码器可以识别该重缩放常数,以便用作当前帧的重缩放常数。
36.在一些实施方式中,继续参考图1,arm操作可以在编码帧的块层面上执行。例如,参考帧可以首先被重缩放,随后可以执行预测,如图2所示。图2是描绘参考帧、重缩放考帧和后续块预测过程的图示。可以对缩放后参考帧(具有缩放后分辨率)而不是原始参考帧执行块预测过程。如上所述,重缩放参考帧可以包括根据被编码器标识的任何参数进行重缩放;例如但不限于,在将与当前画面一起使用的参考帧被标识的情况下,例如通过参考与参考帧相关联的索引值等,可以在预测之前,根据上述任何重缩放方法来重缩放被标识的参考帧。经重缩放的参考帧可以存储在存储器和/或缓冲器中,其可以包括但不限于通过索引识别包含在其中的帧的缓冲器,根据该索引可以执行帧检索;缓冲器可以包括解码图片缓冲器(dcb)和/或由解码器实施的一个或多个附加缓冲器。预测过程可以包括,例如包括运动补偿的图片间预测。
37.基于块的arm的一些实施方式可以实现对每个块应用最佳滤波器的灵活性,而不是对整个帧应用相同的滤波器。在一些实施方式中,skip-arm模式是可能的,使得一些块(例如基于像素的均匀性和比特率成本)可以处于skip-arm模式(使得重缩放不会改变比特率)。skip-arm模式可以是在比特流中标识;例如,但不限于,skip-arm模式可以在pps参数中标识。可替代地或附加地,解码器可以基于由解码器设置和/或在比特流中标识的一个或多个参数来确定skip-arm模式是激活的。在基于块的arm中使用的空间滤波器可以包括但不限于应用双三次插值的双三次空间滤波器、应用双线性插值的双线性空间滤波器、使用lanczos滤波和/或使用sinc滤波器、sinc函数插值和/或信号重建技术等组合的重采样的lanczos滤波器;本领域一般技术人员在阅读了本公开的全部内容后将会了解与本公开一致的可用于插值的各种滤波器。作为非限制性示例,内插滤波器可以包括如上所述的任何滤波器,低通滤波器,其可以通过但不限于上采样过程来使用,其中可以将缩放之前的块和/或帧的像素之间的像素初始化为零,然后用低通滤波器的输出来填充。可替代地或附加地,可以使用任何亮度样本内插滤波过程。亮度样本内插可以包括在半样本内插滤波器索引处计算内插值,该内插值落在未缩放样本阵列的两个连续样本值之间。可以通过从查找表中检索系数和/或权重来执行内插值的计算,但不限于此;查找表的选择可以作为编码单元的运动模型和/或缩放比例量的函数来执行,例如使用如上所述的缩放常数来确定。计算可以包括但不限于执行相邻像素值的加权求和,其中权重是从查找表中检索的。可替换地或附加地,计算值可以被移位;例如,但不限于,值可以移位min(4,位深度-8)、6、max(2,14-位深度)等。本领域一般技术人员在阅读了本公开的全部内容后,将会了解可用于内插滤波器的各种替代或附加实施方式。
38.仍然参考图2,自适应分辨率管理可以允许重新缩放帧和/或帧的区域,以提高压缩效率和/或质量。一个关键的挑战是解码器中重缩放方法的可再现性。取决于所使用的重缩放方法,解码器和编码器可能无法再现相同的缩放后的后帧。在这种情况下,使用重缩放后的帧作为参考帧可能导致预测失配和/或导致编码器和解码器漂移。漂移可能作为编码伪像(质量问题)变得可见。为了避免这些漂移问题,可以利用arm的隐式和显式标识,如本
公开中所述。
39.例如,进一步参考图2,arm的隐式标识可以基于帧类型。例如,在一些实施方式中,解码器和/或编码器可被配置为使得可以用作参考帧的帧不能使用arm来编码;换言之,对于可用作参考帧的帧,arm可能是不允许的。举例来说,如果在图像头中标识的帧类型或分片(slice)类型指示帧可用作参考帧,例如在图像头中标识为i或p类型的帧,那么解码器和/或编码器可以确定无法使用arm对所述帧进行编码,且所有arm相关参数可能不存在于所述帧的图像头中。可以在sps和/或pps中标识上述参数,但不限于此。例如,sps可以将表示为sps_res_change_in_clvs_allowed_flag的参数进行标识,该参数在等于1时,可以指示图像的空间分辨率可能改变。分辨率管理的一个方面可表示分辨率可能会在序列中改变。作为另一个非限制性示例,等于1的gci_no_ref_pic_resampling_constraint_flag可以指定olsinscope中所有图片的sps_ref_pic_resampling_enabled_flag将等于0。gci_no_ref_pic_resampling_constraint_flag等于0时,可不施加这样的约束。在分片头中,sh_slice_type可以指定i、p和b类型之间的分片的编码类型。等于1的ph_non_ref_pic_flag可以指定当前图像从不用作参考图像。等于0的ph_non_ref_pic_flag可以指定当前图像可以或不可以被用作参考图像。
40.图3是示出了自适应分辨率管理的过程300的示例性实施例的过程流程图,该过程300可实现视频编码器/解码器的额外灵活性,从而允许在各种使用情况下节省比特率。
41.在步骤305处,继续参考图3,解码器接收比特流。当前块可以包含在解码器接收的比特流中。比特流可以例如包括当使用数据压缩时在输入到解码器的比特流中找到的数据。比特流可以包括对视频进行解码所需的信息。接收可以包括提取和/或解析比特流中的块以及相关联的标识信息。在一些实施方式中,当前块可以包括编码树单元(ctu)、编码单元(cu)和/或预测单元(pu)。
42.在步骤310处,仍然参考图3,可以使用所述比特流确定当前帧是否可用作参考帧。在一些实施方式中,所述确定所述当前帧是否可用作参考帧包括,确定所述当前帧的类型是否为如上所述的类型i或类型p。作为非限制性示例,在分片头中,sh_slice_type可以指定i、p和b类型之间的分片的编码类型。当前帧的类型可以在比特流中标识。在一些实施方式中,作为非限制性示例,当前帧可以包括分片,被定义为区块中的一组ctu和/或一组整数个的连续区块。
43.仍然参考图3,在步骤315处,响应于所述确定当前帧可用作参考帧,可以设置表征不允许自适应分辨率管理模式的变量。在一些实施方式中,与自适应分辨率管理模式相关联的参数不存在于当前帧的图像头中。作为非限制性示例,sps可以标识sps_res_change_in_clvs_allowed_flag等于1,指定图像的空间分辨率可能改变。基于分片类型的禁用可以基于图像类型在编码器处标识。
44.在步骤340处,进一步参考图3,可以重建当前帧的像素数据。在重建期间,可能不允许自适应分辨率管理模式。在一个实施例中,确定当前帧不可用作参考帧可以导致确定arm可用。例如,sps可以标识sps_res_change_in_clvs_allowed_flag等于1,指定图像的空间分辨率可能改变,例如如上所述。
45.图4是示出了如本公开中所描述的能够实现基于帧类型的自适应分辨率管理的示例解码器400的系统框图。解码器400可以包括熵解码处理器404,逆量化和逆变换处理器
408,解块滤波器412,帧缓冲器416,运动补偿处理器和/或帧内预测处理器424。
46.在操作中,仍然参考图4,比特流428可以由解码器400接收并输入到熵解码处理器404,熵解码处理器404可以将部分比特流熵解码为量化系数。量化系数可以被提供给逆量化和逆变换处理器408,逆量化和逆变换处理器408可以执行逆量化和逆变换以创建残差信号,残差信号可以根据处理模式被添加到运动补偿处理器420或帧内预测处理器424的输出。运动补偿处理器420和帧内预测处理器424的输出可以包括基于先前的解码块的块预测。预测和残差之和可以由解块滤波器412进行处理,并存储到帧缓冲器416中。
47.图5是示出了利用自适应分辨率管理来编码视频的示例性过程500的过程流程图,该过程500可以实现视频编码器和/或解码器的额外灵活性,从而允许在各种使用情况下节省比特率。在步骤505处,视频帧可以经历初始块分割,例如,使用树结构宏块分割方案进行分割,该方案可以包括将图像帧划分为ctu和cu。
48.在步骤510处,可以执行基于块的自适应分辨率管理,包括帧或其部分的分辨率缩放。
49.在515处,块可以被编码并包括在比特流中。例如,编码可以包括利用帧间预测和帧内预测模式。
50.图6是示出了如本公开中所描述的能够实现基于帧类型的自适应分辨率管理的示例视频编码器600的系统框图。示例视频编码器600可以接收输入视频604,输入视频604可以根据诸如树结构宏块分割方案(例如四叉树加二叉树)之类的处理方案进行初始分割或划分。树结构宏块分割方案的示例可以包括将图像帧划分为称为编码树单元(ctu)的大块元素。在一些实施方式中,每个ctu可以被进一步一次或多次地分割成多个称为编码单元(cu)的子块。这种分割的结果可以包括称为预测单元(pu)的一组子块。也可能使用变换单元(tu)。
51.仍然参考图6,示例性视频编码器600可以包括帧内预测处理器608、能够构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表的运动估计/补偿处理器612(还称为帧间预测处理器)、变换/量化处理器616、逆量化/逆变换处理器620、环路滤波器624、解码图片缓冲器628和/或熵编码处理器632。可以将比特流参数输入到熵编码处理器632,以包括在输出比特流636中。
52.在操作时,继续参考图6,对于输入视频604的帧的每个块,可以确定是通过图像内预测还是使用运动估计/补偿来处理该块。可以将块提供给帧内预测处理器608或运动估计/补偿处理器612。如果要通过帧内预测来处理块,则帧内预测处理器608可以执行处理以输出预测因子(predictor)。如果要通过运动估计/补偿来处理块,则如果适用的话,运动估计/补偿处理器612可以执行包括构建运动矢量候选列表的处理,包括将全局运动矢量候选添加到运动矢量候选列表。
53.进一步参考图6,可以通过从输入视频中减去预测因子来形成残差。残差可以由变换/量化处理器616接收,变换/量化处理器616可以执行变换处理(例如,离散余弦变换(dct))以产生可以被量化的系数。可以将量化系数和任何相关联的标识信息提供给熵编码处理器632,以进行熵编码并将包括在输出比特流636中。熵编码处理器632可以支持对有关编码当前块的标识信息进行编码。此外,量化系数可以被提供给逆量化/逆变换处理器620,逆量化/逆变换处理器620可以再现像素,所述像素可与预测因子组合并由环路滤波器624
处理,环路滤波器624的输出可以被存储在解码图片缓冲器628中,以供运动估计/补偿处理器612使用,运动估计/补偿处理器612能够构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表。
54.继续参考图6,尽管上文已经详细描述了一些变型,但是其他修改或添加也是可能的。例如,在一些实施方式中,当前块可以包括任何对称块(8
×
8、16
×
16、32
×
32、64
×
64、128
×
128等)以及任何非对称块(8
×
4、16
×
8等)。
55.在一些实施方式中,仍然参考图6,可以实施四叉树加二进制决策树(qtbt)。对于qtbt,在编码树单元层面,可以动态地推导出qtbt的分割参数以适应局部特征,而无需传输任何开销。随后,在编码单元层面,联合分类器决策树结构可以消除不必要的迭代并控制错误预测的风险。在一些实施方式中,ltr帧块更新模式可以作为在qtbt的每个叶节点上可用的附加选项。
56.在一些实施方式中,仍然参考图6,可以在比特流的不同层次层面标识其他语法元素。例如,可以通过在序列参数集(sps)中包含编码的启用标志来为整个序列启用标志。此外,可以在编码树单元(ctu)层面对ctu标志进行编码。
57.一些实施例可以包括存储指令的非暂时性计算机程序产品(即,物理实现的计算机程序产品),所述指令,当由一个或多个计算系统的一个或多个数据处理器执行时,使得至少一个数据处理器执行本文中的操作。
58.在此公开的一些实施例中,解码器可以包括电路,所述电路被配置成:接收比特流,使用所述比特流并针对当前帧确定所述当前帧是否可用作参考帧,响应于所述确定所述当前帧可用作参考帧,设置表征不允许自适应分辨率管理模式的变量,以及重建所述当前帧的像素数据,其中,所述自适应分辨率管理模式不被允许。
59.在一些实施例中,所述确定所述当前帧是否可用作参考帧可以包括确定所述当前帧的类型是否为类型i。所述确定所述当前帧是否可用作参考帧可以包括确定所述当前帧的类型是否为类型p。所述当前帧的类型可以在所述比特流中标识。所述当前帧可以是分片。与所述自适应分辨率管理模式相关联的参数可以不存在于当前帧的图像头中。所述解码器可以被进一步被配置成从所述比特流解码当前块。当前块可以包括编码树单元。所述当前块可以包括预测单元。所述解码器可以包括,熵解码处理器,被配置成接收比特流并将所述比特流解码为量化系数;逆量化和逆变换处理器,被配置成处理所述量化系数,所述处理所述量化系数包括执行逆离散余弦变换;解块滤波器;帧缓冲器;以及帧内预测处理器。
60.本文公开的一些实施例中包括一种方法,所述方法包括:接收比特流,使用所述比特流并针对当前帧确定所述当前帧是否可用作参考帧,响应于所述确定所述当前帧可用作参考帧,设置表征不允许自适应分辨率管理模式的变量,以及重建所述当前帧的像素数据,其中,所述自适应分辨率管理模式不被允许。
61.在一些实施例中,所述确定所述当前帧是否可用作参考帧可以包括确定所述当前帧的类型是否为类型i。所述确定所述当前帧是否可用作参考帧包括确定所述当前帧的类型是否为类型p。所述当前帧的类型可以在所述比特流中标识。所述当前帧可以是分片。与所述自适应分辨率管理模式相关联的参数可以不存在于当前帧的图像头中。所述方法还可包括从所述比特流解码当前块。所述当前块可以包括编码树单元。所述当前块可以包括预测单元。所述接收、所述确定、所述设置以及所述重建中的至少一者可以是由解码器执行,
所述解码器包括,熵解码处理器,被配置成接收比特流并将所述比特流解码为量化系数;逆量化和逆变换处理器,被配置成处理所述量化系数,所述处理所述量化系数包括执行逆离散余弦变换;解块过滤器;帧缓冲器;以及帧内预测处理器。
62.应当注意的是,本文描述的任何一个或多个方面和实施例可以方便地使用数字电子电路、集成电路、专门设计的专用集成电路(asic)、现场可编程门阵列(fpga)、计算机硬件、固件、软件和/或上述项的组合来实现,如在根据本说明书的教导编程的一个或多个机器(例如,用作电子文档的用户计算设备的一个或多个计算设备、诸如文档服务器之类的一个或多个服务器设备等)中实现和/或实施的,这对于计算机领域的普通技术人员来说是显而易见的。这些各种方面或特征可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序和/或软件中的实现,所述可编程系统包括至少一个可编程处理器,所述至少一个可编程处理器可以是专用的或通用的,其被耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。对于软件领域的普通技术人员来说显而易见的是,熟练的程序员基于本公开的教导可以容易地准备适当的软件编码。上文讨论的采用软件和/或软件模块的方面和实施方式还可以包括用于帮助实现软件和/或软件模块的机器可执行指令的适当硬件。
63.这种软件可以是采用机器可读存储介质的计算机程序产品。机器可读存储介质可以是能够存储和/或编码由机器(例如,计算设备)执行的指令序列并且使得机器执行本文描述的方法和/或实施例中的任何一个的任何介质。机器可读存储介质的示例包括但不限于磁盘、光盘(例如,cd、cd-r、dvd、dvd-r等)、磁光盘、只读存储器“rom”设备、随机存取存储器“ram”设备、磁卡、光卡、固态存储设备、eprom、eeprom、可编程逻辑器件(pld)和/或上述项的任意组合。本文使用的机器可读介质旨在包括单个介质以及物理上分离的介质的集合,例如光盘的集合,或者与计算机存储器结合的一个或多个硬盘驱动器。本文使用的机器可读存储介质不包括信号传输的暂时形式。
64.这种软件还可以包括在诸如载波之类的数据载体上作为数据信号而携带的信息(例如数据)。例如,机器可执行信息可以被包括作为包含在数据载体中的数据承载信号,其中,所述信号对下述项进行编码:由机器(例如,计算设备)执行的指令序列或其部分,以及使机器执行本文描述的方法和/或实施例中的任何一个的任何相关信息(例如,数据结构和数据)。
65.计算设备的示例包括但不限于电子书阅读设备、计算机工作站、终端计算机、服务器计算机、手持设备(例如,平板计算机、智能手机等)、网络设备、网络路由器、网络交换机、网桥、任何能够执行指定其要采取的动作的指令序列的机器,以及上述项的任意组合。在一个示例中,计算设备可以包括和/或被包括在资讯站(kiosk)中。
66.图7示出了计算机系统700的示例形式的计算设备的一个实施例的图解表示,可能在其中执行指令指令集,使控制系统执行本公开的任何一个或多个方面和/或方法。还可以预期的是,多个计算设备可用于实现一组专门配置的指令集,使一个或多个设备执行本公开的任何一个或多个方面和/或方法。计算机系统700包括:处理器704和存储器708,它们通过总线712彼此通信并与其他组件通信。总线712可能包括几种类型的总线结构(总线结构使用多种总线架构中的任一种)中的任一种,包括但不限于:存储器总线、存储器控制器、外
围总线、本地总线及其任意组合。
67.存储器708可包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。在一个示例中,基本输入/输出系统716(basic input/output system,bios)包括:帮助在计算机系统700内的元件之间传输信息的基本例程,例如在启动期间;该基本例程可能存储于存储器708中。存储器708还可包括:(例如,存储于一个或多个机器可读介质的)指令(例如,软件)720;该指令实现本公开的任何一个或多个方面和/或方法。在另一示例中,存储器708还可能包括任意数量的程序模块,包括但不限于:操作系统、一个或多个应用程序、其他程序模块、程序数据及其任意组合。
68.计算机系统700还可能包括存储设备724。存储设备(例如,存储设备724)的示例包括但不限于:硬盘驱动器、磁盘驱动器、与光学介质组合的光盘驱动器、固态存储设备以及其任意组合。存储设备724可以通过适当的接口(未示出)连接至总线712。示例接口包括但不限于:scsi、高级技术附件(advanced technology attachment,ata)、串行ata、通用串行总线(universal serial bus,usb)、ieee 1394(firewire)及其任何组合。在一个示例中,存储设备724(或其一个或多个组件)可能与计算机系统700可移除地交互(例如,通过外部端口连接器(未示出))。特别地,存储设备724和相关联的机器可读介质728可能为计算机系统700提供机器可读指令、数据结构、程序模块和/或其他数据的非易失性和/或易失性存储。在一个示例中,软件720可能完全或部分地驻留在机器可读介质728内。在另一个示例中,软件720可能完全或部分地驻留在处理器704内。
69.计算机系统700还可能包括输入设备732。在一个示例中,计算机系统700的用户可以通过输入设备732,将命令和/或其他信息输入至计算机系统700。输入设备732的示例包括但不限于:字母数字输入设备(例如键盘)、定点设备、操纵杆、游戏手柄、音频输入设备(例如麦克风、语音响应系统等)、光标控制设备(例如鼠标)、触摸板、光学扫描仪、视频捕获设备(例如静态相机、摄像机)、触摸屏以及其任意组合。输入设备732可以通过多种接口(未示出)中的任一种连接至总线712,包括但不限于:串行接口、并行接口、游戏端口、usb接口、firewire接口、连接至总线712的直接接口及其任意组合。输入设备732可能包括触摸屏界面,该界面可能是显示器736的一部分或与显示器736分开,这将在下面进一步讨论。输入设备732可能用作用户选择设备,用于在如上所述的图形界面中选择一个或多个图形表示。
70.用户还可以经由存储设备724(例如,可移动磁盘驱动器、闪存驱动器等)和/或网络接口设备740,向计算机系统700输入命令和/或其他信息。网络接口设备,例如网络接口设备740,可以用于将计算机系统700连接至各种网络中的一个或多个(例如网络744)以及与该网络连接的一个或多个远程设备748。网络接口设备的示例包括但不限于:网络接口卡(例如,移动网络接口卡、lan卡)、调制解调器及其任意组合。网络的示例包括但不限于:广域网(例如互联网、企业网络)、局域网(例如与办公室、建筑物、校园或其他相对较小的地理空间相关联的网络)、电话网络、与电话/语音提供商相关联的数据网络(例如,移动通信提供商数据和/或语音网络)、两个计算设备之间的直接连接及其任意组合。网络,例如网络744,可能采用有线和/或无线通信模式。通常,可以使用任何网络拓扑。可以通过网络接口设备740,将信息(例如,数据、软件720等)传送至计算机系统200和/或从计算机系统700传送出信息(例如,数据、软件720等)。
71.计算机系统700还可以包括:视频显示适配器752,用于将可显示图像传送到显示
设备,例如显示设备736。显示装置的示例包括但不限于:液晶显示器(lcd)、阴极射线管(crt)、等离子显示器、发光二极管(led)显示器及其任意组合。显示适配器752和显示设备736可能与处理器704结合使用,以提供本公开的方面的图形表示。除了显示设备之外,计算机系统700可能包括一个或多个其他外围输出设备,包括但不限于音频扬声器、打印机及其任意组合。这些外围输出设备可能通过外围接口756连接至总线712。外围接口的示例包括但不限于:串行端口、usb连接、firewire连接、并行连接及其任意组合。
72.以上是对本发明的说明性实施例的详细描述。在不脱离本发明的精神和范围的情况下,可以进行各种修改和添加。上述各种实施例中的每一个的特征可以适当地与其他描述的实施例的特征组合,以便在相关联的新实施例中提供多种特征组合。另外,虽然前面描述了多个单独的实施例,但本文所描述的仅仅是对本发明原理的应用的说明。此外,尽管本文中的特定方法可以被图示和/或被描述为以特定顺序执行,但是在实现本文公开的实施例的普通技术范围内,排序是高度可变的。因此,该描述仅旨在作为示例,并不以其他方式限制本发明的范围。
73.在以上描述和权利要求中,诸如“至少一个”或“一个或多个”之类的短语可以出现在元素或特征的组合列表之后。术语“和/或”也可以出现在两个或更多元素或特征的列表中。除非与其所使用的上下文另有隐含或明确矛盾,否则这样的短语旨在表示单独列出的任何元素或特征、或任何列举的元素或特征与任何其他列举的元素或特征的组合。例如,短语“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一起”。此外,以上和权利要求中使用的术语“基于”旨在表示“至少部分基于”,使得未列举的特征或元素也是允许的。
74.取决于期望的配置,本文描述的主题可以体现在系统、设备、方法和/或物品中。前述描述中阐述的实施方式并不代表与此处描述的主题一致的所有实施方式。相反地,它们仅仅是与所描述的主题相关的方面一致的一些示例。尽管上面已经详细描述了一些变体,但其他修改或添加也是可能的。特别地,除了在此阐述的那些之外,还可以提供进一步的特征和/或变化。例如,上述实施方式可涉及所公开特征的各种组合和子组合和/或上述若干进一步特征的组合和子组合。此外,在附图中描绘的和/或本文描述的逻辑流程不一定需要以所示的特定顺序或序列顺序来实现期望的结果。其他实现可能在以下权利要求的范围内。
再多了解一些

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

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

相关文献