掌桥专利:专业的专利平台
掌桥专利
首页

缓存的深度调整方法和装置

文献发布时间:2023-06-19 11:26:00


缓存的深度调整方法和装置

技术领域

本申请涉及终端技术领域,尤其涉及一种缓存的深度调整方法和装置。

背景技术

随着互联网技术的不断发展,终端设备与网络设备之间的音视频等信息可以承载在网际互连协议(internet protocol,IP)网络上进行传输,但是,基于IP传输可能使得终端设备接收的数据包出现丢包、时延或抖动等网络问题,影响了终端设备的音视频通信质量。

可能的方式中,终端设备可以通过控制抖动缓存(jitter buffer,JB)的深度,进而对设置在缓存中的数据包进行处理;例如,终端设备可以基于固定的缓存的深度,解决数据包之间的丢包、时延或抖动等;或者,终端设备可以基于丢包率变化、平均时延和平均抖动、最小时延和平均抖动,动态调整缓存的深度,进而,根据调整后的缓存的深度解决数据包之间的丢包、时延或抖动等。

但是,由于终端设备需要实时获取丢包、时延或抖动等网络参数的变化,使得上述动态调整缓存的深度的方式,计算量大。

发明内容

本申请实施例提供一种缓存的深度调整方法和装置,涉及终端技术领域,终端设备可以将数据包序列号的连续性作为判断条件,使得终端设备不需要实时获取丢包、时延或抖动等网络参数的变化,实现方式简单,而且,对终端设备处理能力的要求不高,这样,当终端设备判断数据包的序列号不连续时,终端设备通过数据包序列号之间的差值动态调整缓存的深度,进而,终端设备对调整深度后的缓存中的数据包按照序列号进行排序,从而有效地降低丢包率、时延或抖动对网络通信质量的影响。

第一方面,本申请实施例提供一种缓存的深度调整方法,该方法包括:终端设备接收第一数据包;终端设备将第一数据包设置在缓存中;终端设备接收第二数据包;当终端设备确定第一数据包的序列号与第二数据包的序列号不连续时,终端设备根据第一数据包的序列号与第二数据包的序列号之间的第一差值,调整缓存的深度;终端设备将第二数据包设置在缓存中;终端设备接收一个或多个第三数据包;终端设备将一个或多个第三数据包设置在调整深度后的缓存中;终端设备对调整深度后的缓存中的数据包按照序列号进行排序;终端设备解析排序后的数据包。这样,终端设备不需要实时获取丢包、时延或抖动等网络参数的变化,实现方式简单,而且,对终端设备处理能力的要求不高,使得当终端设备判断数据包的序列号不连续时,终端设备通过数据包序列号之间的差值动态调整缓存的深度,进而,终端设备对调整深度后的缓存中的数据包按照序列号进行排序,从而有效地降低丢包率、时延或抖动对网络通信质量的影响。

一种可能的实现方式中,终端设备根据第一数据包的序列号与第二数据包的序列 号之间的第一差值,调整缓存的深度,包括:当第一差值小于第一值时,终端设备调整缓存 的深度为第二值;其中,第二值满足下述公式:

一种可能的实现方式中,终端设备根据第一数据包的序列号与第二数据包的序列 号之间的第一差值,调整缓存的深度,包括:当终端设备在预设时间内调整缓存的深度的次 数小于第三值时,终端设备调整缓存的深度为第四值;其中,第四值满足下述公式:

一种可能的实现方式中,该方法还包括:当终端设备确定第一数据包的序列号与第二数据包的序列号不连续,且第一数据包的序列号与第二数据包的序列号之间的第一差值大于或等于第一值时,终端设备保持缓存的深度。这样,终端设备可以避免缓存的深度的频繁调整,使得终端设备不会引入过大的丢包率。

一种可能的实现方式中,终端设备保持缓存的深度之后,还包括:当终端设备接收到连续序列号的数据包时,终端设备恢复缓存的深度为默认深度。这样,终端设备可以减少数据包的解析时延,进一步提升网络质量。

一种可能的实现方式中,该方法还包括:当终端设备确定第一数据包的序列号与第二数据包的序列号不连续,且终端设备在预设时间内调整缓存的深度的次数大于或等于第三值时,终端设备保持缓存的深度。这样,终端设备可以避免缓存的深度的频繁调整,使得终端设备不会引入过大的丢包率。

一种可能的实现方式中,终端设备保持缓存的深度之后,该方法还包括:当终端设备接收到连续序列号的数据包时,终端设备恢复缓存的深度为默认深度。这样,终端设备可以减少数据包的解析时延,进一步提升网络质量。

一种可能的实现方式中,终端设备解析排序后的数据包之后,还包括:终端设备接收第四数据包;终端设备将第四数据包设置在调整深度后的缓存中;终端设备接收第五数据包;当终端设备确定第四数据包的序列号与第五数据包的序列号连续时,终端设备恢复缓存的深度为默认深度。这样,终端设备可以减少数据包的解析时延,进一步提升网络质量。

一种可能的实现方式中,该方法还包括:当终端设备确定第四数据包的序列号与 第五数据包的序列号不连续,且第四数据包的序列号与第五数据包的序列号之间的第二差 值大于第一差值,且第二差值小于或等于第一值时,终端设备调整缓存的深度为第五值;其 中,第五值满足下述公式:

一种可能的实现方式中,该方法还包括:当终端设备确定第四数据包的序列号与第五数据包的序列号不连续,且第四数据包的序列号与第五数据包的序列号之间的第二差值小于或等于第一差值,且第一差值小于或等于第一值时,终端设备保持缓存的深度。这样,终端设备可以避免缓存的深度的频繁调整,使得终端设备不会引入过大的丢包率。

一种可能的实现方式中,当终端设备保持缓存的深度之后,该方法还包括:当终端设备接收到连续序列号的数据包时,终端设备恢复缓存的深度为默认深度。这样,终端设备可以减少数据包的解析时延,进一步提升网络质量。

第二方面,本申请实施例提供一种缓存的深度调整装置,该缓存的深度调整装置可以是终端设备,也可以是终端设备内的部件、芯片或者芯片系统。该缓存的深度调整装置可以包括处理单元和通信单元。当该缓存的深度调整装置是终端设备时,该处理单元可以是处理器,该通信单元可以是通信接口或接口电路。该缓存的深度调整装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。当该缓存的深度调整装置是终端设备内的部件、芯片或者芯片系统时,该处理单元可以是处理器,该通信单元可以是通信接口。例如,通信接口可以为输入/输出接口、管脚或电路等。该处理单元执行存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该终端设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。

示例性的,通信单元,用于接收第一数据包;处理单元,用于将第一数据包设置在缓存中;通信单元,还用于接收第二数据包;当终端设备确定第一数据包的序列号与第二数据包的序列号不连续时,处理单元,还用于根据第一数据包的序列号与第二数据包的序列号之间的第一差值,调整缓存的深度;处理单元,还用于将第二数据包设置在缓存中;通信单元,还用于接收一个或多个第三数据包;处理单元,还用于将一个或多个第三数据包设置在调整深度后的缓存中;处理单元,还用于对调整深度后的缓存中的数据包按照序列号进行排序;处理单元,还用于解析排序后的数据包。

一种可能的实现方式中,处理单元,具体用于当第一差值小于第一值时,调整缓存 的深度为第二值;其中,第二值满足下述公式:

一种可能的实现方式中,处理单元,具体用于当终端设备在预设时间内调整缓存 的深度的次数小于第三值时,调整缓存的深度为第四值;其中,第四值满足下述公式:

一种可能的实现方式中,处理单元,还用于当终端设备确定第一数据包的序列号与第二数据包的序列号不连续,且第一数据包的序列号与第二数据包的序列号之间的第一差值大于或等于第一值时,保持缓存的深度。

一种可能的实现方式中,处理单元,还用于当终端设备接收到连续序列号的数据包时,恢复缓存的深度为默认深度。

一种可能的实现方式中,处理单元,还用于当终端设备确定第一数据包的序列号与第二数据包的序列号不连续,且终端设备在预设时间内调整缓存的深度的次数大于或等于第三值时,保持缓存的深度。

一种可能的实现方式中,处理单元,还用于当终端设备接收到连续序列号的数据包时,恢复缓存的深度为默认深度。

一种可能的实现方式中,通信单元,还用于接收第四数据包;处理单元,还用于将第四数据包设置在调整深度后的缓存中;通信单元,还用于接收第五数据包;处理单元,还用于当终端设备确定第四数据包的序列号与第五数据包的序列号连续时,恢复缓存的深度为默认深度。

一种可能的实现方式中,处理单元,还用于当终端设备确定第四数据包的序列号 与第五数据包的序列号不连续,且第四数据包的序列号与第五数据包的序列号之间的第二 差值大于第一差值,且第二差值小于或等于第一值时,调整缓存的深度为第五值;其中,第 五值满足下述公式:

一种可能的实现方式中,处理单元,还用于当终端设备确定第四数据包的序列号与第五数据包的序列号不连续,且第四数据包的序列号与第五数据包的序列号之间的第二差值小于或等于第一差值,且第一差值小于或等于第一值时,保持缓存的深度。

一种可能的实现方式中,处理单元,还用于当终端设备接收到连续序列号的数据包时,恢复缓存的深度为默认深度。

第三方面,本申请实施例提供一种缓存的深度调整装置,包括处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

第五方面,本申请实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

第六方面,本申请实施例提供一种缓存的深度调整系统,该系统包括:第二方面及第二方面的各种可能的实现方式中描述的装置。

第七方面,本申请提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法;其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。

在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。

应当理解的是,本申请的第二方面至第七方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

附图说明

图1为可能的设计中的一种静态抖动缓存调整方法的示意图;

图2为本申请实施例提供的一种缓存的深度调整方法的流程示意图;

图3为本申请实施例提供的一种保持缓存的深度的示意图;

图4为本申请实施例提供的一种调整缓存的深度的示意图;

图5为本申请实施例提供的一种缓存的深度调整方法的示意图;

图6为本申请实施例提供的一种缓存的深度调整装置的结构示意图;

图7为本申请实施例提供的一种缓存的深度调整装置的硬件结构示意图;

图8为本申请实施例提供的一种芯片的结构示意图。

具体实施方式

为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

随着互联网技术的不断发展,终端设备与网络设备之间的音视频等信息可以承载在网际互连协议(internet protocol,IP)网络上进行传输,这样,使得各种基于IP网络传输而发展起来的各项技术广泛应用,例如,长期演进语音承载(voice over long termevolution,VoLTE)技术或长期演进视频承载(Video over term evolution,ViLTE)技术等。

在网络传输环境不理想的情况下,基于IP传输可能使得终端设备接收的数据包出现丢包、时延或抖动等网络问题,影响了终端设备的网络通信质量;例如,当数据包为音频数据包时,丢包、时延或抖动等网络问题可能影响音视频通信质量。

由于终端设备对抖动缓存的控制能够影响音视频通信质量,因此,为了提高音视频通信质量,终端设备可以通过控制抖动缓存(jitter buffer,JB)的深度解决数据包之间的丢包、时延或抖动等。

可能的方式中,终端设备可以基于静态抖动缓存调整方法解决数据包之间的丢包、时延或抖动等;或者可以理解为,终端设备可以通过固定的缓存的深度解决数据包之间的丢包、时延或抖动等。例如,终端设备根据实际网络环境,在接收端设置固定大小的抖动缓存队列接收数据包,对接收到的数据包进行排序,并将排序后的数据包插入抖动缓存队列的相应位置,然后根据出队定时器以一定时间间隔触发出队,从而减少网络传输中的丢包、时延或抖动等问题;其中,抖动缓存队列在终端设备的缓存中。

以基于VOLTE技术的语音传输场景为例,终端设备与网络设备建立语音通话的过程中,若终端设备与网络设备之间的语音传输协商采用自适应多速率宽带(adaptivemultirate-wideband,AMR-WB)编解码,这样,网络设备端(或者称为发送端)将数据包经过AMR-WB编解码处理后,使得处理后的数据包可以按照序号依次编码打包发送给终端设备端(或者称为接收端),在网络传输数据包正常的情况下,接收端收到的数据包和发送端发送的数据包是一样的,这样,接收端通过对数据包进行解码,从而可以还原发送端发送的信息;其中,网络设备端和终端设备端采用AMR-WB编解码时,网络传输一个数据包的编码打包时长为为20ms,网络传输一个数据包的编码打包时长可以理解为数据包的发送频率,为了便于描述,后续以编码打包时长为例进行示例性说明。

示例性的,图1为可能的设计中的一种静态抖动缓存调整方法的示意图,如图1所示,发送端发送的首数据包的序列号为1,发送端经过语音信息数字化处理后,发送端编码打包后的数据包为(1,2,3,4,5,6,7,8,9,10),接收端数据包为(1,2,4,3,5,6,10,7,8,9),缓存的深度为40ms,终端设备可以解决2个数据包之间的丢包、时延或抖动等,因此,终端设备可以将接收端数据包中的(4,3)调整为(3,4),将(10,7)调整为(7,10),但由于终端设备只能解决2个数据包之间的丢包、时延或抖动等,使得终端设备无法解决数据包(10,8,9)之间的丢包、时延或抖动等,因此,最终的数据包为(1,2,3,4,5,6,7,10,8,9);其中,缓存的深度可以理解为终端设备对数据包的处理能力;在网络传输过程中,发送端发送数据包和接收端接收数据包是存在时延的。

在静态抖动缓存调整方法的基础上,终端设备可以根据不断变化的网络质量状况,通过动态抖动缓存调整方法解决数据包之间的丢包、时延或抖动等问题,从而提高网络传输中的通信质量。

一种可能的方式中,终端设备可以基于平均时延和平均抖动的变化解决数据包之间的丢包、时延或抖动等问题。例如,终端设备统计到达接收网关的多个数据包的时延和抖动,从而计算平均时延和平均抖动,进而,终端设备根据平均时延和平均抖动,计算每个数据包的播放时间,这样,终端设备通过数据包的播放时间对数据包进行排序。

另一种可能的方式中,终端设备可以基于最小时延和平均抖动的变化解决数据包之间的丢包、时延或抖动等问题。例如,终端设备统计到达接收网关的多个数据包的时延和抖动,从而可以得到最小时延和平均抖动,进而,终端设备根据最小时延和平均抖动,计算每个数据包的播放时间,这样,终端设备通过数据包的播放时间对数据包进行排序。

又一种可能的方式中,终端设备可以基于延时因素(delay factor,DF)解决数据包之间的丢包、时延或抖动等问题。例如,在语音传输过程中,终端设备利用媒体传输质量指标获取实际DF,使得终端设备可以根据实际DF和预先确定的目标DF之间的差值确定语音传输过程需要调整的抖动值,这样,终端设备可以根据需要调整的抖动值以及语音传输过程中的时延调整缓存的深度,这样,终端设备可以在调整深度后的缓存中对数据包进行排序,从而提高语音质量。

再一种可能的方式中,终端设备可以基于丢包率解决数据包之间的丢包、时延或抖动等问题。例如,终端设备获取语音传输过程中的允许的丢包率,使得终端设备根据允许的丢包率确定语音传输过程中的需要调整的抖动值,这样,终端设备可以根据需要调整的抖动值以及语音传输过程中的时延调整缓存的深度,进而,终端设备控制了端到端的时延,使得终端设备可以在调整深度后的缓存中对数据包进行排序,从而可以获得良好的基于国际互连协议语音承载(voice over internet protocol,VoIP)技术传输的语音质量。

其中,由于在动态调整缓存的深度的过程中,丢包率成为了一个可控的因素,因此,在基于不同的编解码方式,终端设备可以在语音传输的网络中采用不同的丢包率。例如,对丢包率要求不是很苛刻的编解码(例如,G.711),可以通过适当地增加丢包率以得到较低的网络时延;对丢包率很敏感的编解码(例如,G.723),可以适当地增加网络延时以得到较低的丢包率。

这样,终端设备通过上述固定的缓存的深度解决数据包之间的丢包、时延或抖动等问题;或者,终端设备通过丢包率、时延或抖动等影响现有通信质量的某个参数或组合参数作为判断条件,使得终端设备基于判断条件对缓存的深度进行调整,从而终端设备可以解决数据包之间的丢包、时延或抖动等问题;其中,终端设备对数据包之间的丢包、时延或抖动等问题的处理过程,可以称为缓存过程,该缓存过程可以有效地降低丢包率、时延或抖动对音视频通信质量的影响,因此,当终端设备将缓存处理后的数据包进行解析后,可以很好地还原网络设备发送的信息。

但是,当需要解决的数据包的数量,超过固定的缓存的深度可以解决的数据包数量时,上述基于固定的缓存的深度的方式,无法继续对其他的数据包进行处理,使得整体并不能很好的提升网络传输质量;而且,动态抖动缓存调整的方式虽然考虑了影响网络通信质量的丢包、时延或抖动等网络参数的变化,提高了网络传输质量,但是,终端设备需要实时获取丢包、时延或抖动等网络参数的变化,计算量大,对终端设备处理能力的要求高,操作流程相对复杂。

基于此,本申请实施例提供一种缓存的深度调整方法和装置,涉及终端技术领域,终端设备可以将数据包序列号的连续性作为判断条件,使得终端设备不需要实时获取丢包、时延或抖动等网络参数的变化,实现方式简单,而且,对终端设备处理能力的要求不高,这样,当终端设备判断数据包的序列号不连续时,终端设备通过数据包序列号之间的差值动态调整缓存的深度,进而,终端设备对调整深度后的缓存中的数据包按照序列号进行排序,从而有效地降低丢包率、时延或抖动对网络通信质量的影响。

本申请实施例的方法可以应用于终端设备侧的音视频业务中,也可以应用于以IP传输为基础的业务中,该业务可以包括下述的一种或多种:语音业务、视频业务、数据业务、传真业务或消息业务;本申请实施例的方法也可以应用于以IP传输为基础的网络通信传输中;可以理解,业务的具体内容,也可以根据实际应用场景设定,本申请实施例不作限定。

本申请实施例中的终端设备可以为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。

终端设备可以是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此不作限定。

下面以具体地实施例对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

示例性的,图2为本申请实施例提供的一种缓存的深度调整方法的流程示意图,如图2所示,可以包括以下步骤:

S201:终端设备接收数据包。

本申请实施例中,数据包可以是语音数据包,也可以是视频数据包,这样,终端设备根据数据包,可以实现语音通话或视频通话等;可以理解,数据包的具体内容,可以根据实际应用场景设定,本申请实施例不作限定。

本申请实施例中,终端设备接收数据包的可能的实现方式为:终端设备可以基于指示信息,接收来自网络设备的数据包。例如,在网络设备需要与终端设备建立语音通话的过程中,网络设备可以向终端设备发送指示信息,该指示信息可以指示终端设备接收与语音通话相关的数据包,这样,终端设备根据该指示信息,接收来自网络设备的与语音通话相关的数据包,进而,根据该数据包实现语音通话;可以理解,终端设备接收数据包的实现方式,也可以根据实际应用场景设定,本申请实施例不作限定。

当终端设备接收的数据包为第一数据包和第二数据包时,终端设备可以判断数据包的序列号之间的连续性,从而确定是否对缓存的深度进行调整,即终端设备执行S202。

其中,终端设备接收第一数据包后,终端设备可以将第一数据包设置在缓存中,终端设备接收第二数据包,终端设备可以将第二数据包设置在缓存中,或者,终端设备可以执行S202后,再将第二数据包设置在缓存中,本申请实施例不作限定。

S202:终端设备判断数据包的序列号是否连续。

本申请实施例中,终端设备判断数据包的序列号是否连续,可以理解为,终端设备确定第一数据包的序列号和第二数据包的序列号是否连续,例如,当终端设备确定第一数据包的序列号和第二数据包的序列号连续时,终端设备执行S203;当终端设备确定第一数据包的序列号和第二数据包的序列号不连续时,基于不同的判断条件,终端设备可以执行S204或S205。

S203:终端设备进行普通处理流程。

本申请实施例中,由于终端设备判断第一数据包的序列号和第二数据包的序列号连续,因此,终端设备可以进行普通处理流程,普通处理流程可以理解为终端设备对接收的数据包进行解析,使得终端设备可以还原网络设备端发送的信息,若数据包是音频数据包,终端设备通过解析音频数据包,可以实现语音通话。

可能的情况中,在终端设备进行普通处理流程中,终端设备解析的数据包的序列号不一定是连续的,结合图1,当缓存中的深度为40ms,编码打包时长为20ms时,终端设备可以调整2个数据包的序列号,若3个数据包的序列号需要调整,即图1中的数据包为(10,8,9)时,终端设备无法对数据包(10,8,9)的序列号进行调整,这样,终端设备进行普通处理流程时,终端设备可以将单个数据包丢掉,或者,终端设备可以将单个数据包强制解析,例如,终端设备可以将序列号为10的数据包丢掉,或者,终端设备可以强制解析序列号为10的数据包;其中,若数据包是音频数据包,丢掉单个音频数据包或者强制解析单个音频数据包对语音通话的影响不是很大,用户可能不感知。

由于数据包序列号做为控制因素可能比其他网络质量因素(例如,丢包率、时延或抖动)对网络质量更加敏感,而且,设置在缓存中的数据包的序列号可能发生变化,因此可能会导致终端设备对缓存的深度的频繁调整,因此,为了避免对缓存的深度的频繁调整,在一个抖动缓存周期内,终端设备可以通过设置第一值控制缓存的深度,即终端执行S204;或者,终端设备可以通过设置预设时间控制缓存的深度的调整次数,即终端执行S205。

其中,抖动缓存周期用于表示一个时间,抖动缓存周期与缓存的深度有关,在抖动缓存周期内,终端设备可以解决数据包之间的丢包、时延或抖动等问题。例如,当缓存中的深度为40ms,编码打包时长为20ms时,在40ms内,终端设备可以解决2个数据包之间的丢包、时延或抖动等,因此,抖动缓存周期可以为40ms;当缓存中的深度为200ms,编码打包时长为20ms时,在200ms内,终端设备可以解决10个数据包之间的丢包、时延或抖动等,因此,抖动缓存周期可以为200ms。

可以理解的是,抖动缓存周期的具体值,可以根据系统差异化进行设定,也可以根据实际应用场景设定,本申请实施例不作限定。

S204:终端设备判断数据包序列号之间的差值是否小于第一值。

本申请实施例中,第一值可以根据终端设备可接受的最大时延进行设置,例如,当 网络传输一个数据包的编码打包时长为

可以理解的是,第一值的具体内容,也可以根据实际应用场景设定,本申请实施例不作限定。

本申请实施例中,终端设备判断数据包序列号之间的差值是否小于第一值,可以理解为,在一个抖动缓存周期内,终端设备确定第一数据包的序列号和第二数据包的序列号的第一差值是否小于第一值。

例如,当第一数据包的序列号为i,第二数据包的序列号为j时,终端设备确定第一 数据包的序列号和第二数据包的序列号的第一差值小于第一值,即,

示例性的,图3为本申请实施例提供的一种保持缓存的深度的示意图,如图3所示, 发送端编码打包后的数据包为(1,2,3,4,5,6,7,8,9,10),接收端数据包为(1,11,3,4,5,6, 7,8,9,10),由于发送端和接收端采用AMR-WB编解码,因此,打包时长为20ms,在终端设备侧 可接受的最大时延为200ms时,终端设备可以解决10个数据包之间的丢包、时延或抖动等, 即第一值为10,但由于

S205:终端设备判断在预设时间内调整缓存的深度的次数是否小于第三值。

本申请实施例中,预设时间可以理解为抖动缓存周期,例如,缓存的深度为40ms时,预设时间可以为40ms,缓存的深度为200ms时,预设时间可以为200ms;可以理解,预设时间的具体值,也可以根据实际应用场景设定,本申请实施例不作限定。

本申请实施例中,当第三值为m,在预设时间内调整缓存的深度的次数为n时,终端 设备判断在预设时间内调整缓存的深度的次数小于第三值,这样,终端设备可以逐次调整 缓存的深度,即

其中,m为大于或等于1的整数,m可以根据具体系统进行设定,例如,对于系统性能要求低且网络时延要求不严格的系统,即,可以接受对抖动的深度相对频繁调整的系统,m可以设定为较大的值;对于系统性能要求较高且网络时延要求小的系统,即,不能接受对抖动的深度频繁调整的系统,m可以设定为较小的值;可以理解的是,m的具体值可以根据实际应用场景设定,本申请实施例不作限定。

S206:终端设备调整缓存的深度。

本申请实施例中,当终端设备执行的是S204时,由于终端设备判断第一差值小于 第一值,因此,终端设备动态调整缓存的深度可以理解为,终端设备调整缓存的深度为第二 值;其中,第二值满足下述公式:

例如,当

本申请实施例中,当终端设备执行的是S205时,由于终端设备判断在预设时间内 调整缓存的深度的次数小于第三值,因此,终端设备调整缓存的深度可以理解为,终端设备 调整缓存的深度为第四值;其中,第四值满足下述公式:

例如,当

以缓存的深度为40ms,第二值为200ms为例,示例性的,图4为本申请实施例提供的 一种调整缓存的深度的示意图,如图4所示,发送端编码打包后的数据包为(1,2,3,4,5,6, 7,8,9,10),接收端数据包为(1,10,2,3,4,5,6,7,8,9),若终端设备直接对接收端数据包进 行解析,可能会由于数据包的序列号错乱出现丢包、抖动等网络问题;因此,在终端设备侧 可接受的最大时延为200ms,即第一值为10时,由于

可以理解的是,在深度为40ms的缓存中,接收端收到的首数据包(或者称为第一个 数据包)的序列号为1,第二个数据包的序列号为10,由于第二个数据包与首数据包属于同 一会话,且第一个数据包和第二个数据包之前相隔8个数据包,由于编码打包时长为20ms, 因此,终端设备可以在深度为40ms的基础上增加160ms的缓存的深度,这样,最终缓存的深 度为

结合S204和S206,需要说明的是,终端设备也可以基于终端设备可接受的最大时延,判断缓存中的深度是否可以进行调整;其中,终端设备可接受的最大时延可以理解为业务可接受的时延。例如,当缓存中的深度可以调整时,终端设备可以在业务可接受的时延范围内,根据数据包的序列号调整缓存的深度;当缓存中的深度不可以调整时,终端设备保持缓存的深度。

例如,当终端设备判断可以对缓存中的深度进行调整时,调整后的缓存的深度需 要满足下述公式:

结合图3,当缓存的深度为40ms,Ptime为20ms,终端设备可以接受的最大时延为 200ms时,由于

结合图4,当缓存的深度为40ms,Ptime为20ms,终端设备可以接受的最大时延为 200ms时,由于

可以理解的是,若缓存中的深度比调整后的深度小,终端设备是根据数据包的序列号增大了缓存的深度,从而减少了数据包传输中的乱序、丢包、抖动等网络质量问题。

当终端设备调整缓存的深度后,即终端设备调整深度为第二值或第四值后,终端设备可以将后续接收的数据包,例如,一个或多个第三数据包,设置在深度为第二值或第四值的缓存中,这样,终端设备可以按照抖动缓存工作机制,对设置在深度为第二值或第四值的缓存中的数据包按照序列号进行排序,从而终端设备可以恢复数据包的序列号,从而有效地降低丢包率、时延或抖动对网络通信质量的影响;进一步地,终端设备可以解析排序后的数据包,从而还原网络设备发送的信息。

其中,设置在深度为第二值或第四值的缓存中而进行排序的数据包可以称为一个抖动缓存周期内的数据包,因此,终端设备在一个抖动缓存周期内对数据包按照序列号完成了排序。

其中,终端设备解析排序后的数据包时,排序后的数据包可以是在一个或多个抖动缓存周期内排序后的数据包。

例如,当缓存的深度为200ms时,若终端设备对10个数据包按照序列号完成了排序,接着,终端设备又对后续接收的10个数据包完成了排序,可以知道,这20个数据包都是排序后的数据包,因此,终端设备可以每5个数据包进行解析,或者,终端设备可以每10个数据进行解析,或者,终端设备可以每20个数据包进行解析。

可以理解的是,终端设备解析的数据包数量的具体值,可以根据实际应用场景设定,本申请实施例不作限定。

这样,当终端设备在缓存中观察一个或多个抖动缓存周期后,终端设备可以通过实时了解网络传输过程中的通信质量情况,在判断接收的数据包之间的序列号是否连续的情况下,终端设备可以对缓存的深度重新进行调整,或者,保持缓存的深度为第二值或第四值;因此,终端设备在执行S206后,终端设备可以执行S207;可以理解,抖动缓存周期的具体值,可以根据系统差异化进行设定,也可以根据实际应用场景设定,本申请实施例不作限定。

S207:终端设备接收数据包。

本申请实施例中,S207的内容可以参考S201的内容适应描述,在此不再赘述;与S201不同的是,在S207中,终端设备是将接收的数据包设置在深度为第二值的缓存中,或者,终端设备是将接收的数据包设置在深度为第三值的缓存中。

本申请实施例中,当终端设备接收的数据包为第四数据包和第五数据包时,终端设备可以判断数据包的序列号之间的连续性,即终端设备执行S208。

其中,终端设备接收第四数据包后,终端设备将第四数据包设置在调整深度后的缓存中,终端设备接收第五数据包,终端设备可以将第五数据包设置在调整深度后的缓存中,或者,终端设备可以执行S208后,再将第五数据包设置在调整深度后的缓存中,本申请实施例不作限定。

S208:终端设备判断数据包的序列号是否连续。

本申请实施例中,终端设备判断数据包的序列号是否连续,可以理解为终端设备确定第四数据包的序列号和第五数据包的序列号是否连续;例如,当终端设备确定第四数据包的序列号和第五数据包的序列号连续时,即缓存中的数据包的序列号不再出现乱序、时延或抖动等网络网络,终端设备可以执行S209;当终端设备确定第四数据包的序列号和第五数据包的序列号不连续时,终端设备执行S210。

S209:终端设备恢复默认深度。

本申请实施例中,当终端设备在缓存中观察一个或多个抖动缓存周期后,数据包的序列号恢复正常的序列号,因此,终端设备可以恢复默认深度,这使得在缓存中可以解决的数据包的数量发生了改变,从而可以减少数据包的解析时延,进一步提升网络质量。

例如,发送端和接收端采用的是AMR-WB编解码,因此,打包时长为20ms,当默认深 度为40ms时,第二值或第四值为200ms时,由于

可以理解的是,终端设备执行S209后,终端设备可以执行S203,使得终端设备通过解析数据包,可以还原网络设备发送的信息。

S210:终端设备判断数据包的序列号之间的差值是否增大。

本申请实施例中,当第四数据包的序列号和第五数据包的序列号之间的差值为第二差值时,终端设备判断数据包之间的差值是否增大,可以理解为,终端设备判断第一差值与第二差值之间的差值是否增大。

当第二差值大于第一差值,且第二差值小于或等于第一值时,可以认为,终端设备判断数据包之间的差值增大,因此,终端设备执行S206,进而终端设备调整缓存的深度;其中,终端设备可以根据第二值或第四值满足的公式计算调整后的缓存的深度,不同之处在于,终端设备使用第二差值替代第一差值。

当第二差值小于或等于第一差值,且第一差值小于或等于第一值时,可以认为,终端设备判断数据包之间的差值没有增大,因此,终端设备执行S211。

其中,在终端设备执行S206时,终端设备调整缓存的深度为第五值,第五值满足下 述公式:

例如,当

需要说明的是,终端设备在观察一个或多个抖动周期后,当第二差值大于第一差值时,可以认为网络传输质量有进一步地恶化;当第一差值小于或等于第一值时,可以认为网络传输质量有进一步地改善。

S211:终端设备保持缓存的深度。

本申请实施例中,由于终端设备保持缓存的深度,因此,终端设备可以将后续接收的数据包设置在当前的缓存中,并对当前的缓存中的数据包按照序列号进行排序,进而,终端设备对排序后的数据包进行解析;其中,排序后的数据包可以是基于当前的缓存的深度而进行了多次排序后的数据包。

可以理解的是,当终端设备观察一个或多个抖动缓存周期后,若终端设备接收的是连续序列号的数据包时,终端设备可以认为网络传输质量进行了改善,因此,终端设备可以恢复默认深度,例如,默认深度为40ms,这样,终端设备将多个数据包可以设置在默认深度的缓存中,即终端设备执行S211后,终端设备可以执行S209;可以理解,抖动缓存周期的具体值,可以根据系统差异化进行设定,也可以根据实际应用场景设定,本申请实施例不作限定;默认深度的具体值,也可以根据实际应用场景设定,本申请实施例不作限定。

可以理解的是,在网络传输质量改善后,若缓存的深度为200ms,默认深度为40ms,终端设备是根据数据包的序列号减小了缓存的深度,从而提高了传输速率,减少了时延。

以默认深度为40ms,第二值为200ms为例,示例性的,图5为本申请实施例提供的一种缓存的深度调整方法的示意图,如图5所示,发送端编码打包后的数据包为(21,22,23,24,25,26,27,28,29,30),终端设备将数据包(21,22,23,24,25,26,27,28,29,30)设置在深度为200ms的缓存中,由于终端设备判断缓存中的数据包的序列号是连续的,因此,终端设备恢复默认深度为40ms,这样,最终数据包为(21,22,23,24,25,26,27,28,29,30);其中,由于发送端和接收端采用AMR-WB编解码,因此,打包时长为20ms;在网络传输过程中,发送端发送数据包和接收端接收数据包是存在时延的。

综上所述,在本申请实施例中,当基于IP网络传输中丢包、时延或抖动等网络质量问题,基于数据包在传输过程中的丢包、时延或抖动,终端设备可以根据数据包的序列号的连续性,使得数据传输在网络传输质量情况有波动情况下,可以根据网络传输质量情况自适应地调整缓存的深度,从而为用户提供较好的业务体验;而且,由于终端设备可以自适应地调整缓存的深度,因此,不但能够解决缓存的深度太小,无法处理网络抖动和/或时延而导致的丢包率过大的问题,而且也能够解决缓存的深度过大而导致的网络时延过大,影响网络传输质量的问题,使得终端设备可以在解决网络时延和/或抖动的同时,又可以保证数据包的传输质量。

需要说明的是,与静态抖动缓存调整方法相比,本申请实施例的方法,在网络传输质量较差时,可以自适应地调整缓存的深度,在网络传输质量较好时,保持缓存的深度,或者,恢复缓存的默认深度,这使得终端设备没有引入额外的时延;与动态抖动缓存调整方法相比,本申请实施例的方法不用考虑丢包率、抖动和时延等因素的计算,只需要考虑传输数据包的序列号或编码打包时长等参数,实现方式相对简单。

需要说明的是,本申请实施例的方法是在终端设备对数据包进行解析之前进行的,通过判断数据包的序列号是否连续,并基于第一值控制缓存的深度,或者,基于预设时间控制缓存的深度的调整次数,进而,终端设备直接对缓存的深度进行实时调整和控制,从而解决数据包之间的乱序、丢包或抖动等网络质量问题;而且,当网络传输质量恢复稳定后,再次恢复缓存的默认深度,或保持缓存的深度,从而减少时延等,均衡地处理了网络质量问题,实现了对缓存的深度自适应调整,这对于改善通信质量来说属于预防性控制,而动态抖动缓存调整方法是在计算丢包率、时延或抖动后,通过判断网络质量出现网络问题才做出调整,相对而言有一定的滞后性。

上面结合图2-图5,对本申请实施例的方法进行了说明,下面对本申请实施例提供的执行上述方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的缓存的深度调整装置可以执行上述缓存的深度调整方法中的步骤。

示例性的,图6为本申请实施例提供的一种缓存的深度调整装置的结构示意图,如图6所示,该装置60可以为终端设备,也可以为应用于终端设备中的芯片或芯片系统;该装置60包括:处理单元601和通信单元602;其中,处理单元601用于支持缓存的深度调整装置执行信息处理的步骤,通信单元602用于支持缓存的深度调整装置执行信息发送或接收的步骤。

示例性的,通信单元602,用于接收第一数据包;处理单元601,用于将第一数据包设置在缓存中;通信单元602,还用于接收第二数据包;当终端设备确定第一数据包的序列号与第二数据包的序列号不连续时,处理单元601,还用于根据第一数据包的序列号与第二数据包的序列号之间的第一差值,调整缓存的深度;处理单元601,还用于将第二数据包设置在缓存中;通信单元602,还用于接收一个或多个第三数据包;处理单元601,还用于将一个或多个第三数据包设置在调整深度后的缓存中;处理单元601,还用于对调整深度后的缓存中的数据包按照序列号进行排序;处理单元601,还用于解析排序后的数据包。

一种可能的实现方式中,处理单元601,具体用于当第一差值小于第一值时,调整 缓存的深度为第二值;其中,第二值满足下述公式:

一种可能的实现方式中,处理单元601,具体用于当终端设备在预设时间内调整缓 存的深度的次数小于第三值时,调整缓存的深度为第四值;其中,第四值满足下述公式:

一种可能的实现方式中,处理单元601,还用于当终端设备确定第一数据包的序列号与第二数据包的序列号不连续,且第一数据包的序列号与第二数据包的序列号之间的第一差值大于或等于第一值时,保持缓存的深度。

一种可能的实现方式中,处理单元601,还用于当终端设备接收到连续序列号的数据包时,恢复缓存的深度为默认深度。

一种可能的实现方式中,处理单元601,还用于当终端设备确定第一数据包的序列号与第二数据包的序列号不连续,且终端设备在预设时间内调整缓存的深度的次数大于或等于第三值时,保持缓存的深度。

一种可能的实现方式中,处理单元601,还用于当终端设备接收到连续序列号的数据包时,恢复缓存的深度为默认深度。

一种可能的实现方式中,通信单元602,还用于接收第四数据包;处理单元601,还用于将第四数据包设置在调整深度后的缓存中;通信单元602,还用于接收第五数据包;处理单元601,还用于当终端设备确定第四数据包的序列号与第五数据包的序列号连续时,恢复缓存的深度为默认深度。

一种可能的实现方式中,处理单元601,还用于当终端设备确定第四数据包的序列 号与第五数据包的序列号不连续,且第四数据包的序列号与第五数据包的序列号之间的第 二差值大于第一差值,且第二差值小于或等于第一值时,调整缓存的深度为第五值;其中, 第五值满足下述公式:

一种可能的实现方式中,处理单元601,还用于当终端设备确定第四数据包的序列号与第五数据包的序列号不连续,且第四数据包的序列号与第五数据包的序列号之间的第二差值小于或等于第一差值,且第一差值小于或等于第一值时,保持缓存的深度。

一种可能的实现方式中,处理单元601,还用于当终端设备接收到连续序列号的数据包时,恢复缓存的深度为默认深度。

在一种可能的实施例中,缓存的深度调整装置还可以包括:存储单元603。处理单元601、通信单元602、存储单元603通过通信总线相连。

存储单元603可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。

存储单元603可以独立存在,通过通信总线与缓存的深度调整装置具有的处理单元601相连;存储单元603也可以和处理单元601集成在一起。

缓存的深度调整装置可以用于缓存的深度调整设备、电路、硬件组件或者芯片中。

示例性的,图7为本申请实施例提供的一种缓存的深度调整装置的硬件结构示意图,如图7所示,该缓存的深度调整装置包括处理器71,通信线路74以及至少一个通信接口(图7中示例性的以通信接口73为例进行说明)。

处理器71可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。

通信线路74可包括在上述组件之间传送信息的电路。

通信接口73,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。

可能的,该缓存的深度调整装置还可以包括存储器72。

存储器72可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器72可以是独立存在,通过通信线路74与处理器71相连接。存储器72也可以和处理器71集成在一起。

其中,存储器72用于存储执行本申请方案的计算机执行指令,并由处理器71来控制执行。处理器71用于执行存储器72中存储的计算机执行指令,从而实现本申请实施例所提供的方法。

可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。

在具体实现中,作为一种实施例,处理器71可以包括一个或多个CPU,例如,图7中的CPU0和CPU1。

在具体实现中,作为一种实施例,缓存的深度调整装置可以包括多个处理器,例如,图7中的处理器71和处理器75。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

示例性的,图8为本申请实施例提供的一种芯片的结构示意图。芯片80包括一个或两个以上(包括两个)处理器810和通信接口830。

在一些实施方式中,存储器840存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。

本申请实施例中,存储器840可以包括只读存储器和随机存取存储器,并向处理器810提供指令和数据。存储器840的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。

本申请实施例中,存储器840、通信接口830以及存储器840通过总线系统820耦合在一起。其中,总线系统820除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图8中将各种总线都标为总线系统820。

上述本申请实施例描述的方法可以应用于处理器810中,或者由处理器810实现。处理器810可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器810中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器810可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器810可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。

结合本申请实施例的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electrically erasableprogrammable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器840,处理器810读取存储器840中的信息,结合其硬件完成上述方法的步骤。

在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。

计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。

本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。

作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。

上述的组合也应包括在计算机可读介质的范围内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 缓存的深度调整方法和装置
  • 深度信息产生器、深度信息产生方法及深度调整装置
技术分类

06120112920039