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

语音内容的自动调平的制作方法

2022-11-12 22:00:38 来源:中国专利 TAG:

语音内容的自动调平
1.相关申请的交叉引用
2.本技术要求于2020年12月17日提交的美国临时申请号63/126,889、于2020年5月29日提交的美国临时申请号63/032,158和于2020年3月27日提交的西班牙专利申请号p202000051的优先权,所述专利申请中的每一个以其全文通过引用并入本文。
技术领域
3.本公开总体上涉及音频信号处理。


背景技术:

4.语音内容是媒体传输与消费的重要组成部分,其中许多内容创作者制作基于语音(speech)的媒体,如播客、有声读物、访谈和讲座。在语音内容的制作中,录音阶段之后通常是编辑和处理阶段,在所述编辑和处理阶段,原始录音经过润色和处理以符合广播行业中人们已经习惯的质量标准,因此通过确保清晰度、响度一致性和正确的音色平衡,保证了通过各种设备获得适当的听觉体验。
5.通常使用模拟或数字处理设备(硬件、软件或两者的组合)来手动执行编辑和处理阶段,其中,熟练的工程师对语音录音应用增益控制、均衡、压缩、降噪、咝音(sibilance)降低和其他类似的处理。这个工作流程非常耗时,因为音响工程师需要考虑录音的整个持续时间以对其进行处理。随着越来越多的语音内容被生成,提供用于自动化和加速编辑和处理阶段的工具同时确保没有处理伪像的专业质量的语音自然度是有价值的。通常应用于语音的过程之一是调平(leveling),其中,对音频应用增益控制(手动或自动)以确保音频保持一致的响度水平,使得语音的柔和部分保持清晰可辨并且语音的响亮部分不会过度响亮。
6.语音内容的调平通常以两种方式完成:通过手动增益调整(例如,控制调音台的音量控制器或在数字音频工作站上绘制增益自动化曲线),或使用动态压缩器,所述动态压缩器中设定了阈值水平(level),并且增益降低会自动应用于水平超过阈值的音频片段。第一种方法通常给出最好的结果,但是很耗时。此外,手动调平方法不能确保输出音频在输入音频的任何响度范围内都符合期望响度范围。使用一个或多个动态压缩器来调平语音内容的第二种方法不如手动方法有效,并且在需要大量增益降低时可能导致质量降级。


技术实现要素:

7.公开了用于语音内容的自动调平的实施方式。
8.在实施例中,一种方法包括:使用一个或多个处理器来接收包括语音内容和非语音内容的音频录音的帧;对于每一帧:使用所述一个或多个处理器来确定语音概率;使用所述一个或多个处理器来分析所述帧的感知响度;使用所述一个或多个处理器来获得所述帧的目标响度范围;使用所述一个或多个处理器基于所述目标响度范围和所述感知响度分析来计算要应用于所述帧的增益,其中,所述增益包括逐帧变化并且基于所述语音概率进行
缩放的动态增益;以及使用所述一个或多个处理器将所述增益应用于所述帧,使得所述音频录音中的语音内容的所得响度范围符合于所述目标响度范围内。
9.本文公开的其他实施方式涉及系统、装置和计算机可读介质。下文的附图和描述中阐述了所公开的实施方式的细节。根据本说明书、附图和权利要求,其他特征、目的和优点是显而易见的。
10.本文公开的特定实施方式提供了以下优点中的一个或多个。语音内容的响度通过应用时变增益自动调平,使得语音的柔和部分提升并且响亮部分衰减。所述结果的质量与手动调平方法相当,其优点在于输出语音内容的水平在输入语音内容的任何响度范围内都符合期望响度范围。另外,当需要大量增益降低时,输出语音内容没有明显的降级。
附图说明
11.在附图中,为了便于描述,示出了示意性元件的特定布置或排序,如那些表示设备、单元、指令块和数据元件的示意性元件。然而,本领域技术人员应当理解,附图中示意性元件的特定排序或布置并不意味着需要特定处理次序或顺序,或者处理分离。进一步地,在附图中包括示意性元件并不意味着在所有实施例中都需要这种元件,或者在一些实施方式中,由这种元件表示的特征可以不包括在其他元件中或与其他元件组合。
12.进一步地,在使用如实线或虚线或箭头等连接元件来说明两个或更多个其他示意性元件之间的连接、关系或关联的附图中,不存在任何这种连接元件并不意味着不能存在连接、关系或关联。换句话说,元件之间的一些连接、关系或关联没有在附图中示出,以免混淆本公开。另外,为了便于说明,使用单个连接元件来表示元件之间的多种连接、关系或关联。例如,在连接元件表示信号、数据或指令的通信的情况下,本领域技术人员应该理解,这种元件表示可能需要的一个或多个信号路径,以影响通信。
13.图1是根据实施例的用于语音内容的自动调平的系统的框图。
14.图2是根据实施例的图示了瞬时响度、整体响度和目标动态范围边界的示例的曲线图。
15.图3是根据实施例的用于语音内容的自动调平的过程的流程图。
16.图4是根据实施例的用于实施图1至图3的系统和方法的示例设备架构的框图。
17.各附图中使用的相同附图标记指示相同的元件。
具体实施方式
18.在以下详细说明中,阐述了许多具体细节以提供对所描述的各种实施例的全面理解。对于本领域普通技术人员而言将明显的是,可以在没有这些具体细节的情况下实施所描述的不同实施方式。在其他实例中,并未详细描述熟知方法、程序、部件以及电路以免不必要地模糊实施例的方面。下文描述了几个特征,每个特征可以彼此独立使用或者与其他特征的任何组合一起使用。
19.命名法
20.如本文所使用的,术语“包括”及其变体应被理解为意思是“包括但不限于”的开放式术语。除非上下文另外明确指出,否则术语“或”应被理解为“和/或”。术语“基于”应被理解为“至少部分地基于”。术语“一个示例实施方式”和“示例实施方式”应被理解为“至少一
个示例实施方式”。术语“另一个实施方式”应被理解为“至少一个其他实施方式”。术语“确定(determined、determines或determining)”应被理解为获得、接收、计算、估算、估计、预测或得到。另外,在以下描述和权利要求中,除非另外定义,否则本文所使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
21.系统概述
22.本公开描述了用于通过应用时变增益来自动调平语音内容的响度从而使语音的柔和部分提升并且响亮部分衰减的方法。在示例性实施例中,有六个部分。第一部分是包括用于将增益修改为语音存在概率的函数的话音(voice)活动检测器(vad)。vad特别有助于适配增益以避免柔和非语音部分的不必要提升。第二部分是用于使一些调平参数自动化的可选的信噪比(snr)估计器。第三部分是包括用于根据发声者(speaker)身份来分割内容的可选的发声者分割聚类(sd,speaker diarization)。然后,调平过程被独立地应用于各个发声者的分段,这对于多发声者内容特别有用。第四部分是包括用于在调平处理之前或之后使背景噪声衰减的可选的去噪模块。第五部分是响度分析阶段,所述响度分析阶段提取长期和短期时间尺度的响度信息,包括整体响度、瞬时响度和响度范围。
23.在离线情况的实施例中,整个录音是可用的并且因此前瞻量是无限的,因为算法基于整个录音进行局部决策以确保录音中的所有可用信息均被使用。在实施例中,所提取的信息被保存为元数据以用于后续的增益处理阶段。在实时情况的实施例中,长期信息以在线方式更新。
24.第六部分利用来自其他部分的分析信息来估计音频录音的每一帧的增益,以使响度处于目标范围内。根据vad/snr输出调整增益,以避免提升非语音内容。
25.图1是根据实施例的自动化语音调平系统100的框图。系统100包括可选的去噪单元101、vad单元102、可选的发声者分割聚类103、可选的snr估计单元104、响度分析器105、动态增益分析器106、静态增益分析器107、调平单元108和可选的去噪单元109。系统100对音频输入文件或音频输入流的帧进行操作。在一些实施例中,音频输入的每一帧包括与相邻帧有x%重叠(例如,50%重叠)的n ms音频(例如,85ms)。在其他实施例中,可以使用任何合适的开窗函数(windowing function)。
26.参考图1的顶部,在一些实施例中,可选的去噪单元101将音频输入文件或音频输入流的帧作为输入,并从所述帧中去除背景噪声。在vad的鲁棒性对低snr语音内容敏感的情况下,如所示出的,优选将去噪单元101应用于vad 102之前的帧。这还将允许响度分析器105进行更相关的响度分析。在一些实施例中,可选的snr估计单元104产生对整个音频录音的snr估计。在其他实施例中,可选的snr估计单元104使用由可选的发声者分割聚类单元103提供的信息来适配每个发声者。snr估计用于驱动一些参数,以确保在存在噪声的情况下调平单元108的鲁棒操作,所述鲁棒操作包括以下中的任一项:调整所应用的调平量,使得调平随着snr的降低而减少,从而避免背景噪声的过度幅度调制;当snr指示纯净语音时,通过以增加语音与非语音之间的区分的方式对语音概率进行后处理来调整vad的灵敏度;以及调整目标响度范围,使得仅当信号足够纯净时才会实现较小动态范围。
27.去噪后的帧随后被输入到被配置成对语音内容与非语音内容进行区分的vad 102。在一些实施例中,vad 102返回所述帧包含语音的概率。在一些实施例中,由vad 102输出的概率是0.0至1.0范围内的实数,其中,0.0表示所述帧不包含语音并且1.0表示所述帧
肯定包含语音。在一些实施例中,这些输出值被解释为帧包含语音的可能性。在一些实施例中,vad输出值通过移动平均、一阶递归滤波器或任何其他合适的滤波器跨帧平滑。在一些实施例中,如果输出值分别小于或大于阈值,则输出值被转换成二进制值0或1(或布尔值)。在一些实施例中,vad输出值存储在存储器中或写入文件中,以供下文描述的调平单元108后续使用。在一些实施例中,vad输出值在录音过程期间实时计算,并且被存储以供调平单元108阶段以后使用,从而避免了附加的vad通过。在一些实施例中,通过对各种类型的语音内容进行训练的深度神经网络(例如,递归神经网络(rnn)、长短期记忆(lstm))来计算语音概率。
28.在一些实施例中,语音与非语音之间的区分基于对帧的宽带能量水平应用阈值,使得能量低于阈值的帧被视为非语音帧或背景噪声。替代性地,帧的能量水平可以是受限的带的而不是宽带的,例如仅考虑语音的典型频率范围(例如,100hz至4khz)。
29.vad 102的输出被输入到可选的发声者分割聚类单元103中。对于多发声者内容,发声者分割聚类有助于独立地对每个发声者应用调平。发声者分割聚类不仅对每个发声者的响度动态进行控制,而且允许使调平参数适配每个发声者的录音条件的不同snr。在一些实施例中,发声者分割聚类单元103输出每个发声者积极主导的时间索引。属于发声者的分段被视为整体,并且调平过程被独立地应用于每个发声者。
30.响度分析器105接收具有可选的发声者分割聚类单元103的发声者自适应信息的vad/snr(每个经识别的发声者的单独的去噪帧流和每一帧的语音概率),并分析录音中的内容随时间的响度。对整个录音进行分析,并且计算瞬时响度并将其存储在存储器或文件中。瞬时响度m(n)是以响度单位满标度(lufs)表示的量,并且表示音频的400ms片段的感知响度。变量n指的是音频的第n帧。在一些实施例中,瞬时响度在录音过程期间实时计算,并由调平单元108存储以供以后使用,从而避免了附加的响度分析阶段。
31.还计算整体响度i,所述整体响度表示整个文件的响度,如以下文献中描述的:algorithms to measure audio programme loudness and true-peak audio level,international telecommunications union-radiocommunication sector[音频程序响度和音频真峰值水平的测量算法,国际电信联盟-无线电通信部门](itu-r)bs.1770-4(2015年10月)。可以使用替代的响度度量,如br.j..moore,br.r..glasberg,and t.baer,“a model for the prediction of thresholds,loudness,and partial loudness,”j.audio eng.soc.,vol.45,no.4,pp.224-240,(1997april.)[br.j..moore、br.r..glasberg和t.baer,用于预测阈值、响度和部分响度的模型,音频工程学会杂志,第45卷,第4期,第224-240页,(1997年4月)]中描述的响度度量,或zwicker,e.,fasti,h.,widmann,u.,kurakata,k.,kuwano,s.,&namba,s.(1991).program for calculating loudness according to din 45631(iso 532b).journal of the acoustical society of japan(e),12(1),39-42[zwicker,e.、fasti,h.、widmann,u.、kurakata,k.、kuwano,s.和namba,s.(1991),根据din 45631(iso 532b)计算响度的程序,日本声学学会杂志(e),12(1),39-42]中描述的响度度量。
[0032]
在zwicker等人的文献中,对部分响度进行估计,这是在存在噪声的情况下对响度的估计。还设想了可以添加一些场景分割,并且一次一个场景地执行整体响度。在一些实施例中,响度度量强调特定频带中的能量,例如包含语音频率的频带,并且可以像测量此频带
中的能量一样简单。
[0033]
动态增益分析器106和静态增益分析器107随时间分别计算动态和静态增益并将其应用于内容,使得音频录音中的语音内容的所得响度范围符合期望目标响度范围。更具体地,静态增益分析器107确定静态增益gs,所述静态增益跨帧恒定并且用于将整体响度调整到目标响度t(例如,-23lufs)。动态增益分析器106确定动态增益gd,所述动态增益可以逐帧变化并且用于将响度范围调整到期望目标响度范围δl。
[0034]
在一些实施例中,响度范围以分贝表示并且通常在3db与6db之间。瞬时响度m(n)根据其局部最小值和最大值进行分割,其中,每个片段包括局部最大值与下一个局部最小值之间或者局部最小值与下一个局部最大值之间的所有帧。然后基于值m(nk)为每个片段nk定义以db为单位的目标动态增益锚点gd(nk),如等式[1]所示:
[0035]cd
(nk)=i δl/2-m(nk)若m(nk)>i δl/2
ꢀꢀ
[1]
[0036]
gd(nk)=(i-δl/2-m(nk))
·
c(nk)若m(nk)<i-δl/2
[0037]
gd(nk)=0否则
[0038]
以上等式[1]中的因子c(nk)是取决于由vad 102在帧nk处输出的vad值的权重。c(nk)的目的是避免提升非语音部分。在一些实施例中,c(nk)是帧nk处的语音概率。在其他实施例中,c(nk)是语音概率的非线性函数,如语音概率的平方根,或语音概率的s型函数,其中,前者对应于给予vad输出更接近1的帧更高的权重,而后者对应于语音概率的软阈值。在一些实施例中,可选的snr估计104可以用于控制确定c(nk)的语音概率的非线性函数的参数。例如,当使用s型函数将c(nk)的值向值0和1压缩时,snr可以控制压缩量。当信号有噪声时,使用由vad 102确定的语音概率,而当语音纯净时,vad检测变得更具区分性,使得语音部分用完全调平处理。
[0039]
在一些实施例中,动态增益被计算为每一帧的响度与整体响度之间的距离的连续函数。例如,动态增益可以被计算为将m(n)映射到范围[i-δl/2,i δl/2]的连续函数。一个示例是由等式[2]给出的s型函数:
[0040][0041]
其中,增益gd(nk)被应用于nk与n
k 1
之间的音频帧。
[0042]
在一些实施例中,增益锚点的向量gd(n)随时间平滑地适配,以避免相邻样本帧的突然变化(不连续)。当接收到新的增益锚值时,在定义的时间量内通过先前增益锚值与新的增益锚值之间的线性插值来计算平滑增益,如等式[3]所示:
[0043][0044]
其中,τ是时间常数,表示内插的增益值达到新的目标增益值gd需要多少秒。τ的典型值在目标增益大于当前增益的情况(起音或提升条件)下为0.1秒,并且在目标增益小于当前增益的情况(例如,释放或衰减条件)下为0.25秒。
[0045]
在一些实施例中,针对线性增益值而不是db值计算线性插值。在一些实施例中,线性插值由具有指数时间常数的一阶递归滤波器代替。如果给定了目标整体响度,则可以应用额外的增益因子,即静态增益gs=t-i。可以通过将动态增益乘以0.0与1.0之间的因子来缩放调平量,其中,1.0对应于完全效果,0.0对应于没有调平,并且中间值对应于调平的中
间量。这个量可以由snr估计来控制,使得随着snr估计的降低,比例因子线性降低,以减少由噪声内容的过度调平引起的潜在假象。
[0046]
在一些实施例中,增益被宽带应用于信号。在其他实施例中,增益被应用于特定频带,例如包含语音频率的频带。调平单元108通过将每一帧的样本值乘以对应的线性增益值来将平滑增益应用于音频。在一些实施例中,应用了对最大增益提升量和最大增益衰减量的限制。对于提升和衰减,最大增益的典型值在10db与20db之间。在残余噪声由于调平过程而被大大放大的情况下,可以在之后添加可选的snr去噪单元109。由可选的snr估计单元104输出的snr估计还可以用于确定输入音频与经处理音频之间的干/湿混合比。
[0047]
图2是根据实施例的图示了瞬时响度、整体响度增益和目标响度范围的示例的曲线图。注意,目标响度范围是i δl/2与i-δl/2之间的区域,其中整体响度是响度范围的中心。在实施例中,目标响度范围(例如,6db)是由用户设置的输入参数。在音频被流式传输的实施例中,目标响度范围可以由广播员设置并被包括在音频流的元数据中。
[0048]
示例过程
[0049]
图3是根据实施例的用于语音内容的自动调平的过程300的流程图。过程300可以使用图4所示的设备架构来实施。
[0050]
过程300开始于将包含语音内容和非语音内容的音频录音划分成帧(301)。对于每一帧,过程300对语音内容与非语音内容进行区分(302)。例如,vad计算指示帧是否包括语音内容的语音概率,并且snr估计器给出全局估计和局部时变估计两者。
[0051]
然后,过程300分析帧的感知响度(303)并获得帧的目标响度范围(304)。
[0052]
然后,过程300基于目标响度范围、感知响度分析以及帧是包括语音还是非语音来确定增益(305),并将增益应用于帧中的语音内容(306),使得音频录音中的语音内容的所得响度范围符合目标响度范围。例如,可以计算静态增益和动态增益。由vad输出的语音概率和snr信息可以用于缩放动态增益,以避免提升非语音内容,如参考图1所述。
[0053]
在一些实施例中,增益包括应用于所有帧的静态增益和逐帧变化的动态增益,并且动态增益被计算为每一帧的响度与整体响度之间的距离的连续函数。
[0054]
在一些实施例中,期望响度范围内的帧相对于整体响度的动态增益是统一的,并且应用于期望响度范围之外的帧的动态增益被计算为帧的响度值与期望响度范围的最近边界之间的差。
[0055]
在一些实施例中,静态增益是整体响度与目标响度之间的差。
[0056]
在一些实施例中,应用于帧的增益是静态增益与动态增益之和。
[0057]
在一些实施例中,动态增益乘以0.0与1.0之间的系数。
[0058]
在一些实施例中,系数是snr的函数。
[0059]
在一些实施例中,为每一帧计算语音的概率,并且用语音概率的函数来缩放动态增益。
[0060]
在一些实施例中,语音概率由神经网络计算。
[0061]
在一些实施例中,语音概率是每一帧的宽带能量水平的函数。
[0062]
在一些实施例中,语音概率是特定频带中的每一帧的能量水平的函数。
[0063]
在一些实施例中,可以通过s型函数来修改语音概率,并且s型函数的参数可以手动固定或者基于所估计的snr自动适配。
[0064]
在一些实施例中,在预定义的持续时间内通过线性插值来随时间平滑增益。
[0065]
在一些实施例中,通过将当前值的一部分与先前值的一部分相加来随时间平滑增益。
[0066]
在一些实施例中,在录音时间计算每一帧的响度并进行存储。
[0067]
在一些实施例中,响度信息是从已经根据音频预先计算的元数据中读取的。
[0068]
在一些实施例中,在录音时间计算语音概率并进行存储。
[0069]
在一些实施例中,响度是瞬时响度。
[0070]
在一些实施例中,频带中的能量被用作水平量度。
[0071]
在一些实施例中,增益被应用于信号的特定频带。
[0072]
在一些实施例中,由增益提供的提升或衰减受限于预定义最大值。
[0073]
在一些实施例中,语音内容可以包含具有不同snr的多个发声者,并且发声者分割聚类(例如,发声者分割聚类103)用于在snr估计之前根据发声者身份来分割内容,其中,属于每个发声者的分段与属于其他发声者的分段被分开处理。
[0074]
在一些实施例中,使用上述技术对音频录音进行预处理,并且所得调平增益被包括在被流式传输到一个或多个解码设备的比特流中的元数据或语音内容帧中,其中,解码器从元数据中提取增益,并且解码器将增益应用于语音内容的帧。
[0075]
示例系统架构
[0076]
图4示出了适合于实施本公开的示例实施例的示例系统400的框图。系统400包括能够播放音频的任何设备,包括但不限于:智能电话、平板计算机、可穿戴计算机、车载计算机、游戏控制台、环绕系统、信息亭。
[0077]
如所示出的,系统400包括中央处理单元(cpu)401,所述中央处理单元能够根据存储在例如只读存储器(rom)402中的程序或者从例如存储单元408加载到随机存取存储器(ram)403的程序来执行各种进程。在ram 403中,还根据需要存储cpu 401执行各种进程时所需的数据。cpu 401、rom 402和ram 403经由总线404相互连接。输入/输出(i/o)接口405也连接到总线404。
[0078]
以下部件连接到i/o接口405:输入单元406,所述输入单元可以包括键盘、鼠标等;输出单元407,所述输出单元可以包括如液晶显示器(lcd)等显示器以及一个或多个扬声器(speaker);存储单元408,所述存储单元包括硬盘或另一种合适的存储设备;以及通信单元409,所述通信单元包括如网卡(例如,有线或无线)等网络接口卡。
[0079]
在一些实施方式中,输入单元406包括位于不同位置(取决于主机设备)的一个或多个麦克风,所述一个或多个麦克风使得能够捕获各种格式(例如,单声道、立体声、空间、沉浸式和其他合适的格式)的音频信号。
[0080]
在一些实施方式中,输出单元407包括具有各种数量的扬声器的系统。如图4所图示的,输出单元407(取决于主机设备的能力)可以渲染各种格式(例如,单声道、立体声、沉浸式、双耳和其他合适的格式)的音频信号。
[0081]
通信单元409被配置成(例如,经由网络)与其他设备通信。根据需要,驱动器410也连接到i/o接口405。根据需要,如磁盘、光盘、磁光盘、闪存驱动器或其他合适的可移动介质等可移动介质411被安装在驱动器410上,使得从中读取的计算机程序被安装到存储单元408中。本领域技术人员将理解,尽管系统400被描述为包括上文所描述的部件,但是在实际
应用中,可以添加、移除和/或替换这些部件中的一些部件,并且所有这些修改或变更都落入本公开的范围内。
[0082]
根据本公开的示例实施例,上文所描述的过程可以实施为计算机软件程序或者在计算机可读存储介质上实施。例如,本公开的实施例包括计算机程序产品,所述计算机程序产品包括有形地体现在机器可读介质上的计算机程序,计算机程序包括用于执行方法的程序代码。在这种实施例中,如图4所示,计算机程序可以经由通信单元809从网络下载和安装,和/或从可移动介质411安装。
[0083]
通常,本公开的各种示例实施例可以在硬件或专用电路(例如,控制电路)、软件、逻辑或其任何组合中实施。例如,上文所讨论的单元可以由控制电路(例如,与图4的其他部件组合的cpu)执行,因此,控制电路可以执行本公开中描述的动作。一些方面可以以硬件来实施,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件(例如,控制电路)来实施。尽管本公开的示例实施例的各个方面被图示和描述为框图、流程图或使用一些其他图形表示,应当理解,本文所描述的框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器、或其他计算设备、或其某种组合来实施,作为非限制性示例。
[0084]
另外,流程图中所示的各个框可以被视为方法步骤、和/或由计算机程序代码的操作产生的操作、和/或被构造为执行相关联的(多个)功能的多个耦接逻辑电路元件。例如,本公开的实施例包括计算机程序产品,所述计算机程序产品包括有形地体现在机器可读介质上的计算机程序,计算机程序包含被配置成执行上文所描述的方法的程序代码。
[0085]
在本公开的上下文中,机器可读介质可以是可以包含或存储用于由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以是非暂态的并且可以包括但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或前述的任何合适的组合。机器可读存储介质的更具体的示例将包括具有一条或多条导线的电连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式致密盘只读存储器(cd-rom)、光存储设备、磁存储设备、或者前述各项的任何合适的组合。
[0086]
用于执行本公开的方法的计算机程序代码可以用一种或多种编程语言的任何组合来编写。这些计算机程序代码可以被提供给通用计算机、专用计算机或具有控制电路的其他可编程数据处理装置的处理器,使得程序代码在由计算机的处理器或其他可编程数据处理装置执行时,实施流程图和/或框图中指定的功能/操作。程序代码可以完全在计算机上执行,部分在计算机上执行,作为独立的软件包,部分在计算机上执行,并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行,或者分布在一个或多个远程计算机和/或服务器上。
[0087]
虽然本文档包含许多具体实施方式细节,但是这些细节不应被解释为对可能要求的事物的范围的限制,而是被解释为对可能特定于特定实施例的特征的描述。在单独的实施例的上下文中在本说明书中所描述的某些特征还可以按组合形式实施在单一实施例中。相反,在单一实施例的上下文中描述的各种特征也可以被单独地或以任何适合的子组合的方式实施在多个实施例中。此外,尽管特征在上文可以被描述为以某些组合起作用并且甚
至最初如此声明,但是在一些情况下可以从组合中去除要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。在附图中描绘的逻辑流程不需要所示出的特定顺序或者有序顺序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以删除步骤,并且可以向所描述的系统添加其他部件,或者从所描述的系统中去除其他部件。因此,其他实施方式在以下权利要求的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献