CN115102931B - 自适应调整音频延迟的方法及电子设备 - Google Patents

自适应调整音频延迟的方法及电子设备 Download PDF

Info

Publication number
CN115102931B
CN115102931B CN202210555529.4A CN202210555529A CN115102931B CN 115102931 B CN115102931 B CN 115102931B CN 202210555529 A CN202210555529 A CN 202210555529A CN 115102931 B CN115102931 B CN 115102931B
Authority
CN
China
Prior art keywords
audio
buffer queue
delay threshold
audio delay
interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210555529.4A
Other languages
English (en)
Other versions
CN115102931A (zh
Inventor
瞿伟
赵登
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210555529.4A priority Critical patent/CN115102931B/zh
Publication of CN115102931A publication Critical patent/CN115102931A/zh
Application granted granted Critical
Publication of CN115102931B publication Critical patent/CN115102931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供一种自适应调整音频延迟的方法及电子设备。该方法包括:将音频帧放入音频缓冲队列;实时调整音频延迟阈值;根据调整后的音频延迟阈值,调整所述音频缓冲队列被划分成的多个音频变速区间;根据所述音频缓冲队列的当前长度与所述多个音频变速区间的关系,对所述音频缓冲队列中的音频帧进行变速播放处理。根据实施例的技术方案可提升弱网等环境下的音频质量和稳定性。

Description

自适应调整音频延迟的方法及电子设备
技术领域
本申请涉及音频处理及云计算技术领域,具体而言,涉及一种自适应调整音频延迟的方法和装置、媒体播放方法、语音通信方法和电子设备以及计算机可读介质。
背景技术
随着互联网技术的广泛应用,目前基于网络的音频应用,诸如网络电话、语音聊天、互联网音乐等,已成为人们日常工作和生活的一部分。音频的延迟是影响音频体验最为重要的因素之一。然而,网络环境有时并不通畅,这在很大程度上会影响用户体验。
因此,需要改进和完善音频延迟调整的方法,进一步提升用户体验。
发明内容
本申请旨在提供一种自适应调整音频延迟的方法和装置及电子设备,随着音频延迟阈值的实时调整而自适应调整多个音频变速区间,可提升弱网等环境下的音频质量和稳定性。
本申请的其该用户特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提供一种自适应调整音频延迟的方法,包括:将音频帧放入音频缓冲队列;实时调整音频延迟阈值;根据调整后的音频延迟阈值,调整所述音频缓冲队列被划分成的多个音频变速区间;根据所述音频缓冲队列的当前长度与所述多个音频变速区间的关系,对所述音频缓冲队列中的音频帧进行变速播放处理。
根据本申请的另一方面,提供一种利用前述方法的媒体播放方法或语音通信方法。
根据本申请的另一方面,提供一种自适应调整音频延迟的装置,包括:音频缓冲队列模块,用于将音频帧放入音频缓冲队列;延迟调整模块,用于实时调整音频延迟阈值;变速区间调整模块,用于根据调整后的音频延迟阈值,调整所述音频缓冲队列被划分成的多个音频变速区间;变速处理模块,用于根据所述音频缓冲队列的当前长度与所述多个音频变速区间的关系,对所述音频缓冲队列中的音频帧进行变速播放处理。
根据本申请的另一方面,提供一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机程序;当所述处理器执行所述计算机程序时实现前述的方法。
根据本申请的另一方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现前述的方法。
根据本申请的另一方面,提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现前述的方法。
根据一些实施例,将音频缓冲队列划分为多个音频变速区间,并随着音频延迟阈值的实时调整而自适应调整多个音频变速区间,从而可提升弱网等环境下的音频质量和稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本申请技术方案的一种应用场景的示意图。
图2示出根据本申请示例实施例的自适应调整音频延迟的方法流程图。
图3示出根据示例实施例的实时调整音频延迟阈值的方法流程图。
图4示出根据本申请示例实施例的调整所述音频缓冲队列被划分成的多个音频变速区间的示意图。
图5示出根据示例实施例的基于场景检测的自适应调整云桌面音频延迟的方法流程图。
图6示出根据本申请示例实施例的自适应调整音频延迟的装置框图。
图7示出根据本申请示例实施例的电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以理解的是,本文所描述的实施例可以与其它实施例相结合。
在描述本申请实施例之前,对本申请实施例涉及到的一些术语进行解释说明。
云桌面:有时也称为远程桌面或虚拟桌面,是一种运用云计算方式,通过传输协议,将计算和存储放在云端,远程提供虚拟桌面的服务。对于云桌面,数据在云端进行处理,本地终端仅作为一个人机交互的接口。
音频延迟:指预期音频播放时间与实际音频播放时间之间的时间延迟,一般以秒或者毫秒作为单位。
音频延迟阈值:指音频延迟最大警示值,延迟超过阈值之后的音频帧需要进行丢弃处理。
网络抖动:由于数据包的大小、网络路由的路径选择等因素,数据包的延迟时间难以保证一致,数据包延迟的差异一般称之为抖动。
变速区间:指需要对音频帧进行变速处理的音频延迟区间,例如可以划分为1倍速播放区间、小于1倍速播放区间和/或大于1倍速播放区间。根据实际情况,可以划分为多个速度不同的变速区间,每个变速区间的播放速度则可归类为倍速、原速和慢速中的一种。
传统的音频延迟调整方案中,多采用固定音频延迟,并且没有针对具体场景进行区分。例如,一种方案是设定固定的音频延迟目标,在任何场景都按照此延迟对音频帧进行变速或者丢弃处理。另一种方案是提供多档音频延迟调整策略,使用者按照自身需求进行手动调整。第一种方案无法适应各种不同的网络环境。而且,不同的场景对音频质量和延迟有不同的偏好,采用统一的标准很难满足复杂的需求。第二种方案虽然提供了多档策略,但需要使用者手动对音频延迟进行调节,对于欠缺相关知识和经验的使用者而言,这很不友好。这些方案无法按照网络的实时抖动自动进行延迟调整,弱网和复杂网络环境表现较差,导致在网络抖动较大、较长时间没有音频帧传入的时候,出现频繁的卡顿和断音。
为此,本申请提出一种自适应调整音频延迟的方法,通过将音频缓冲队列划分为多个音频变速区间并自适应调整,可提升弱网等环境下的音频质量和稳定性。
下面将参照实施例对本申请的技术方案及其优点进行详细说明。
图1示出本申请技术方案的一种应用场景的示意图。
云计算技术是对计算架构的一次革命,基于云计算技术发展的桌面服务也称为云桌面。随着云计算飞速发展形成的规模效应,云桌面以其部署简单、维护便捷、即开即用、高可用性和高安全性等优点,正在成为政企用户和个人用户的重要选择。云桌面具有集中管理、安全可靠、节约成本、绿色节能等优势。用户可以突破时间、地点、终端、应用的限制,随时随地接入到云端桌面办公。
云桌面作为一个拥有复杂使用场景的应用环境,也对音频处理提出了新的要求。本地终端作为人机交互的接口,对音频的体验带来了很大挑战。音频延迟是影响音频体验最为重要的因素之一。
根据本申请技术方案的音频延迟调整方法可应用于云桌面应用场景,根据网络抖动动态对延迟进行调整,从而在云桌面复杂的使用场景中达到较好的效果。易于理解,云桌面应用仅是本申请技术方案可应用的场景之一,而不是对本申请的限制。
如图1所示,在一种云计算虚拟化的云计算场景中,整个系统包括远程客户端(云桌面)101及云计算中心105。云计算中心105可包括多个服务器A和B,并基于多个服务器A和B提供多个虚拟机服务,同时为远程客户提供云桌面。
云桌面是典型的云计算应用,主要是在云端通过虚拟机部署用户所需的操作系统及应用软件,然后通过远程云桌面方式将服务端虚拟机的桌面传送到客户端。在客户端,云桌面可以基于专用软件或硬件,也可以基于浏览器。
将服务端虚拟机的桌面远程传送到客户端时,常用做法是把屏幕的更新通过一帧帧编码的图片传送到客户端,传输数据可采用较高压缩比的压缩算法(例如,LZ77等)进行压缩。
同时,客户端的键盘、鼠标、触控笔、触摸屏等外设输入设备的操作可以通过网络重定向到服务端虚拟机,服务端虚拟机接收输入以更新屏幕信息。通常的做法是,在客户端获取鼠标、键盘等的操作,再把这些操作的消息通过网络发送到虚拟机,虚拟机再把更新的桌面图像传输到远程客户端进行显示。
此外,云桌面可使用本地麦克风或扬声器进行语音通话或音频播放。
本质上,云桌面是一种将个人计算机桌面与底层硬件资源分离的技术,用户可以通过云桌面获得与使用本地计算机桌面相近的体验。
参见图1,用户可以通过客户端101操作云计算中心105提供的虚拟机的云桌面。
在云桌面上,用户可以点击文字编辑软件图标,运行虚拟机上的文字编辑软件,并在本地客户端上通过云桌面进行文字编辑,通过鼠标或键盘滚动界面,倍速浏览编辑内容。
此外,用户可以点击播放器图标,运行云桌面上的播放器软件来播放视频或音频,并在本地客户端上通过云桌面观看该视频,以及/或者通过本地扬声器或耳机收听该音频。
易于理解,图1所示应用场景和架构是示意性的,用于使读者更容易理解本申请的技术方案。下面描述的根据本申请实施例的技术方案可应用于其他音频场景。
图2示出根据本申请示例实施例的自适应调整音频延迟的方法流程图。
根据示例实施例,将音频缓冲队列划分为多个音频变速区间并自适应调整,可提升弱网等环境下的音频质量和稳定性。根据示例实施例的方法可用于云桌面音频播放,也可应用于其他音频播放场景。
参见图2,在S201,将音频帧放入音频缓冲队列。
根据一些实施例,本地客户端从网络包中解析出音频帧,并将音频帧送入解码器。本地客户端音频解码完成之后,将音频帧放入音频缓冲队列,以待后续进行播放处理。
在S203,根据网络抖动情况,实时调整音频延迟阈值。
根据一些实施例,可根据场景类型预先设置音频延迟阈值上限和音频延迟阈值下限,并将音频延迟阈值的初始值预先设置为音频延迟阈值上限。此后,可在音频处理过程中实时调整音频延迟阈值。
根据一些实施例,在云桌面客户端应用中,可通过云桌面虚拟化传输协议的报文确定场景类型。
根据一些实施例,将音频场景分为通话场景和媒体播放场景。针对不同场景设置不同的音频延迟阈值和音频变速区间,在通话场景中尽量降低延迟而减少音质损失,在媒体播放场景中尽量保证音质且降低延迟,从而满足用户不同使用需求,提升用户体验。
例如,本地云桌面客户端在通话音频模式下,音频延迟阈值上限Pmax可设置为通话模式阈值上限Pvoice_max,下限Pmin可设置为通话模式阈值下限Pvoice_min。在媒体音频模式下,音频延迟阈值上限Pmax可设置为每天模式阈值上限Pmedia_max,下限Pmin可设置为媒体模式阈值下限Pvoice_min。假定音频延迟阈值为P,则音频延迟阈值P的初始值可设为上限Pmax
根据一些实施例,将音频缓冲队列中音频帧的数量与每帧时长的乘积实时计算为音频延迟。
根据示例实施例,对音频缓冲队列放入的每一音频帧,实时计算音频延迟,并将实时计算得到的音频延迟与音频延迟阈值对比。
根据示例实施例,统计当前音频帧之前预定时间段T内音频延迟超过音频延迟阈值的统计值。该统计值可以为次数或次数占比。如果该统计值超过统计阈值,则增加音频延迟阈值;如果统计值小于统计阈值,则减少音频延迟阈值。该统计阈值可按照实际情况或场景等因素设置。增加或减少的量可以根据情况采用预先设定的固定值,或是预定比例的量,本申请对此不做特别限制。
这样,根据网络抖动,实时调整音频延迟阈值,可在音频稳定性和音频延迟之间保持平衡,提升用户体验。
一般来说,缓冲区(即,音频延迟阈值)设置得大一些,可以增加系统的稳定性,缓解因数据传输或处理过程中的速度差异而导致的爆音现象。而把缓冲区设置得小一写,则会提升系统的响应时间,减少音频延迟。本申请根据网络抖动,实时调整音频延迟阈值,在稳定性和音频延迟之间保持平衡。
易于理解,音频延迟阈值的调整受到上限和下限的限制。根据一些实施例,音频延迟阈值不大于音频延迟阈值上限,且不小于音频延迟阈值下限。
在S205,根据调整后的音频延迟阈值,调整音频缓冲队列被划分成的多个音频变速区间。
根据示例实施例,可预先根据场景类型将音频缓冲队列划分为多个音频变速区间,并设置各变速区间的下限及上限。音频缓冲队列可以划分为多个速度不同的变速区间,并按音频变速总体可以归为倍速、原速和慢速。易于理解,最后一个变速区间的上限初始值可对应于音频延迟阈值的初始值。根据一些实施例,多个音频变速区间的划分可基于应用场景类型而有所不同。
此外,可根据场景类型设置个变速区间的播放处理速率。
此后,可在音频处理过程中可根据调整后的音频延迟阈值调整音频变速区间。
根据示例实施例,可将调整后的音频延迟阈值与调整前的音频延迟阈值的比值作为调整因子,然后将各音频变速区间的上限和下限按调整因子进行缩放。即,将各音频变速区间的上限和下限乘以一个系数,该系数为调整后的音频延迟阈值与调整前的音频延迟阈值的比值。
这样,根据示例实施例,将音频缓冲队列划分为多个音频变速区间,并随着音频延迟阈值的实时调整而自适应调整多个音频变速区间,从而可提升弱网等环境下的音频质量和稳定性。
根据一些实施例,多个音频变速区间依次包括第一变速区间、第二变速区间和第三变速区间,第一变速区间的第一处理速率低于一倍速,第二变速区间的第二处理速率等于一倍速,第三变速区间的第三处理速率高于一倍速,第三变速区间的上限对应于音频延迟阈值。在初始化阶段,第三变速区间的上限对应于音频延迟阈值的初始值,例如音频延迟阈值上限。在音频处理过程中,第三变速区间的上限始终对应于调整后的音频延迟阈值。
在S207,根据音频缓冲队列的当前长度与多个音频变速区间的关系,对音频缓冲队列中的音频帧进行变速播放处理。
根据示例实施例,当音频缓冲队列的当前长度位于某一变速区间时,则可以该变速区间对应的处理速率对音频缓冲队列中的音频帧进行变速播放处理。总体上,各变速区间对应的播放处理速率可为倍速、原速和慢速中的一种,倍速为大于一倍速的速率,慢速为小于一倍速的速率,原速则为一倍速的速率。
由于受到网络波动影响,音频延迟有时候过高,则可使用较高的速度播放,以便快速减小延迟。有时音频延迟合理,则采用原速播放。有时音频延迟过小,而过小的延迟可能会导致抗抖动能力下降,则可使用慢速播放。
根据示例实施例,多个音频变速区间依次包括第一变速区间(慢速区间)、第二变速区间(原速区间)和第三变速区间(倍速区间)。当音频缓冲队列的当前长度位于第一变速区间时,则以第一处理速率(慢速)对音频缓冲队列中的音频帧进行变速播放处理。在音频延迟(即,对应的音频缓冲队列长度或缓冲长度)增加至原速区间后,则可恢复到以原速进行播放处理。
当音频缓冲队列的当前长度位于第二变速区间(原速),则以一倍速(原速)对音频缓冲队列中的音频帧进行变速播放处理。
当音频缓冲队列的当前长度位于第三变速区间(倍速),则以第三处理速率(倍速)对音频缓冲队列中的音频帧进行变速播放处理。在音频延迟(即,对应的音频缓冲队列长度或缓冲长度)减小至原速区间后,则可恢复到以原速进行播放处理。
音频变速可采用多种处理方案,实际中可根据不同的需求采用不同的变速处理方式,例如TSM(时长规整:Time-Scale Modification)、OLA(重叠相加:Overlap-and-Add)以及WSOLA(波形相似性重叠相加:Waveform Similarity Overlap-Add)等。
根据示例实施例,当音频帧超出音频延迟阈值时,例如超出第三变速区间的上限是,则可丢弃该音频帧。
根据示例实施例,在初始播放音频时,可在音频缓冲队列的当前长度至少填满第一变速区间后,以一倍速对音频缓冲队列中的音频帧进行播放处理。
根据本申请实施例的技术方案,通过将音频缓冲队列划分为多个音频变速区间并随着音频延迟阈值的实时调整而自适应调整,从而可提升弱网等环境下的音频质量和稳定性。
根据一些实施例,可综合应用场景和网络抖动计算音频延迟阈值、音频变速区间和音频变速速率,达到优化的音频延迟调整效果。
根据本申请实施例的技术方案可应用于媒体播放或语音通信。因此,易于理解,本申请的一些实施例还提供媒体播放方法及语音通信方法,其中可应用根据本申请实施例的方法。
图3示出根据示例实施例的实时调整音频延迟阈值的方法流程图。
参见图3,在S301,统计当前音频帧之前预定时间段T内音频延迟超过音频延迟阈值的统计值。
根据示例实施例,针对音频缓冲队列放入的每一音频帧,实时计算音频延迟,并将实时计算得到的音频延迟与音频延迟阈值对比。例如,可将音频缓冲队列中音频帧的数量c与每帧时长t的乘积实时计算为音频延迟L,即L=c*t。
根据示例实施例,统计当前音频帧之前预定时间段T内音频延迟超过音频延迟阈值的统计值。该统计值可以为次数或次数占比。该统计阈值可按照实际情况或场景等因素设置。
在S303,判断前述统计值是否超过统计阈值。如果超过统计阈值,则转到S305,如果未超过统计阈值,则转到S307。
在S305,增加音频延迟阈值。
根据示例实施例,可按P=min(Pold+delta,Pmax)增加音频延迟阈值。其中,P为调整后的音频延迟阈值;Pold为调整前的音频延迟阈值;delta为调整步长,可以根据情况采用预先设定的固定值,或是预定比例的量;Pmax为音频延迟阈值上限。
在S307,减少音频延迟阈值。
根据示例实施例,可按P=max(Pold- delta,Pmin)减少音频延迟阈值。P为调整后的音频延迟阈值;Pold为调整前的音频延迟阈值;Pmin为音频延迟阈值下限。
图4示出根据本申请示例实施例的调整音频缓冲队列被划分成的多个音频变速区间的示意图。
参见图4,根据示例实施例,本地客户端将音频缓冲队列预先划分为三个变速区间,分别为慢速、原速和倍速。
慢速区间为(0,Blow),播放处理速率为Vlow。原速区间为(Blow,Bhigh),保持一倍速播放。倍速区间为(Bhigh,P),播放处理速率为Vhigh。Blow和Bhigh代表音频帧的数量,P在这里可代表音频延迟阈值的初始值对应的音频帧数量。变速区间的范围可根据应用场景不同而不同,播放处理速率也可根据场景不同而不同。
慢速区间的在通话音频模式下可设为第一通话速率Vlow_voice,在媒体音频模式下设为第一媒体速率Vlow_media。原速区间保持一倍速。倍速区间在通话音频模式下可设为第三通话速率Vhigh_voice,在媒体音频模式下可设为第三媒体速率Vhigh_media
在播放过程中,可将调整后的音频延迟阈值与调整前的音频延迟阈值的比值作为调整因子,将各音频变速区间的上限和下限乘以该调整因子,从而计算出新的音频变速区间。例如,慢速区间调整为(0, Blow*P/Pold),原速区间调整为(Blow*P/Pold, Bhigh*P/Pold),倍速区间调整为(Bhigh*P/Pold, P)。Blow为慢速区间的上限且未原速区间的下限;Bhigh为原速区间的上限为为倍速区间的下限;P为调整后的音频延迟阈值且在这里对应倍速区间的上限;Pold为调整前的音频延迟阈值。
图5示出根据示例实施例的基于场景检测的自适应调整云桌面音频延迟的方法流程图。
根据图5所示实施例,云端自动检测使用场景并下发到云桌面客户端。客户端根据从桌面协议数据报中提取的场景信息,自动设置音频延迟阈值、调整策略和变速区间,简单方便,过程对用户透明,可提升用户体验。
按照使用场景,可将音频分为媒体音频和通话音频两种模式。云端可对用户当前的使用场景进行检测。例如,在云桌面内检测是否有应用请求使用音频输入/输出设备。如果检测到有麦克风请求,说明用户可能打开了音视频会议软件或者通话软件,则切换为通话音频模式。除此之外,切换为媒体音频模式。云端可通过云桌面虚拟化传输协议(如spice或其他一些自行开发的私有协议)在场景切换时通知客户端当前的场景类型。场景信息可只在场景切换时通知一次。然后,云端根据应用情况将音频帧数据传输到客户端。音频帧可包含音频数据格式、音频数据长度、音频数据时长、音频数据时间戳等,不同格式音频帧可能有所不同,本申请对此不做限制。客户端可对接收到的数据进行相应处理。
参见图5,在S501,从桌面传输协议获取场景信息。
根据示例实施例,本地云桌面客户端可从云桌面虚拟化传输协议的报文中提取云端发送的场景信息,从而确定场景类型。
在S503,从网络数据包获取音频帧,送入解码器。
根据示例实施例,本地云桌面客户端从网络接收到音频数据包后,解析出音频帧,并将音频帧送入解码器。
在S505,根据应用场景,设置音频延迟阈值、音频变速区间、音频变速速率。
根据示例实施例,在通话音频模式下,音频延迟阈值上限Pmax可设置为通话模式阈值上限Pvoice_max,下限Pmin可设置为通话模式阈值下限Pvoice_min。在媒体音频模式下,音频延迟阈值上限Pmax可设置为每天模式阈值上限Pmedia_max,下限Pmin可设置为媒体模式阈值下限Pvoice_min。假定音频延迟阈值为P,则音频延迟阈值P的初始值可设为上限Pmax
根据示例实施例,本地客户端可将音频缓冲队列预先划分为三个变速区间,分别为慢速、原速和倍速。慢速区间为(0,Blow),播放处理速率为Vlow。原速区间为(Blow,Bhigh),保持一倍速播放。倍速区间为(Bhigh,P),播放处理速率为Vhigh。Blow和Bhigh代表音频帧的数量,P在这里可代表音频延迟阈值的初始值对应的音频帧数量。各变速区间上限和下限的初始值可根据经验、或模拟结果设置,也可根据不同场景设置不同的值。
根据示例实施例,慢速区间的在通话音频模式下可设为第一通话速率Vlow_voice,在媒体音频模式下设为第一媒体速率Vlow_media。原速区间保持一倍速。倍速区间在通话音频模式下可设为第三通话速率Vhigh_voice,在媒体音频模式下可设为第三媒体速率Vhigh_media
这样,将检测到的云桌面场景作为音频延迟阈值计算和音频变速区间计算的考虑因素,根据不同场景的需求尽量做到音频延迟和音质的平衡。
易于理解,以上参数的设置仅是示例性的,并不是对本申请技术方案的限制。
在S507,解码后的音频帧放入音频缓冲队列。
根据示例实施例,本地云桌面客户端完成音频解码之后,将音频帧送入音频缓冲队列。
在S509,根据网络抖动情况,实时调整音频延迟阈值和音频变速区间。
针对音频缓冲队列放入的每一音频帧,实时计算音频延迟,并将实时计算得到的音频延迟与音频延迟阈值对比。例如,可将音频缓冲队列中音频帧的数量c与每帧时长t的乘积实时计算为音频延迟L,即L=c*t。
统计当前音频帧之前预定时间段T内音频延迟超过音频延迟阈值的统计值。该统计值可以为次数或次数占比。该统计阈值可按照实际情况或场景等因素设置。
如果该统计值超过统计阈值,可按P=min(Pold+delta,Pmax)增加音频延迟阈值。其中,P为调整后的音频延迟阈值;Pold为调整前的音频延迟阈值;delta为调整步长,可以根据情况采用预先设定的固定值,或是预定比例的量;Pmax为音频延迟阈值上限。
如果该统计值小于统计阈值,可按P=max(Pold- delta,Pmin)减少音频延迟阈值。P为调整后的音频延迟阈值;Pold为调整前的音频延迟阈值;Pmin为音频延迟阈值下限。
将调整后的音频延迟阈值与调整前的音频延迟阈值的比值作为调整因子,将各音频变速区间的上限和下限乘以该调整因子,从而计算出新的音频变速区间。例如,慢速区间调整为(0, Blow*P/Pold),原速区间调整为(Blow*P/Pold, Bhigh*P/Pold),倍速区间调整为(Bhigh*P/Pold, P)。Blow为慢速区间的上限且未原速区间的下限;Bhigh为原速区间的上限为为倍速区间的下限;P为调整后的音频延迟阈值且在这里对应倍速区间的上限;Pold为调整前的音频延迟阈值。
这样,根据实施例,根据场景设置音频延迟阈值、调整策略和变速区间,满足复杂使用条件下的音质和延迟需求。
在S511,对音频缓冲队列中的音频帧进行变速播放处理。
根据示例实施例,当音频缓冲队列的当前长度位于某一变速区间时,则可以该变速区间对应的处理速率对音频缓冲队列中的音频帧进行变速播放处理,参见前面所说明的,此处不再赘述。
根据示例实施例,当音频帧超出音频延迟阈值时,可丢弃该音频帧。
图6示出根据本申请示例实施例的自适应调整音频延迟的装置框图。
如图6所示,根据实施例的自适应调整音频延迟的装置包括音频缓冲队列模块601、延迟调整模块603、变速区间调整模块605及变速处理模块607。
音频缓冲队列模块601用于将音频帧放入音频缓冲队列。本地客户端音频解码完成之后,音频缓冲队列模块601将音频帧放入音频缓冲队列,以待后续进行播放处理。
延迟调整模块603用于实时调整音频延迟阈值。延迟调整模块603可针对音频缓冲队列放入的每一音频帧,实时计算音频延迟,并将实时计算得到的音频延迟与音频延迟阈值对比。同时,统计当前音频帧之前预定时间段T内音频延迟超过音频延迟阈值的统计值。该统计值可以为次数或次数占比。
如果该统计值超过统计阈值,延迟调整模块603可增加音频延迟阈值。如果统计值小于统计阈值,延迟调整模块603可减少音频延迟阈值。
变速区间调整模块605用于根据调整后的音频延迟阈值,调整音频缓冲队列被划分成的多个音频变速区间。根据示例实施例,变速区间调整模块605可将调整后的音频延迟阈值与调整前的音频延迟阈值的比值作为调整因子,然后将各音频变速区间的上限和下限按调整因子进行缩放。
变速处理模块607用于根据音频缓冲队列的当前长度与多个音频变速区间的关系,对音频缓冲队列中的音频帧进行变速播放处理。根据示例实施例,当音频缓冲队列的当前长度位于某一变速区间时,变速处理模块607则相应以该变速区间对应的处理速率对音频缓冲队列中的音频帧进行变速播放处理。
根据该实施例的装置可执行与前面描述的方法类似的功能,其他功能可参见前面的描述,此处不再赘述。
图7示出根据本申请示例实施例的电子设备的框图。
如图7所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。电子设备12可以是高速工业通信系统中的设备。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture ,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备12典型地包括多种机器系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的机器系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性机器系统存储介质。
具有一组(至少一个)指令模块42的指令/实用工具40,可以存储在例如系统存储器28中,这样的指令模块42包括——但不限于——操作系统、一个或者多个应用指令、其它指令模块以及指令数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。指令模块42通常执行本申请所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如音频输入设备、音频输出设备、键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、(Redundant Arrays of Inexpensive Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的指令,从而执行各种功能应用以及数据处理,例如实现本申请任意实施例所提供的方法。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例进行了详细描述和解释。应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
通过对示例实施例的描述,本领域技术人员易于理解,根据本申请实施例的技术方案至少具有以下优点中的一个或多个。
根据一些实施例,将音频缓冲队列划分为多个音频变速区间,并随着音频延迟阈值的实时调整而自适应调整多个音频变速区间,从而可提升弱网等环境下的音频质量和稳定性。
根据本申请的一些实施例,根据网络抖动,实时调整音频延迟阈值,在音频稳定性和音频延迟之间保持平衡,提升用户体验。
根据本申请的一些实施例,根据场景设置音频延迟阈值、调整策略和变速区间,满足复杂使用条件下的音质和延迟需求。
根据一些实施例,将音频场景分为通话场景和媒体播放场景。针对不同场景设置不同的音频延迟阈值和音频变速区间,在通话场景中尽量降低延迟而减少音质损失,在媒体播放场景中尽量保证音质且降低延迟,从而满足用户不同使用需求,提升用户体验。
根据一些实施例,云端自动检测使用场景并下发到云桌面客户端。客户端根据从桌面协议数据报中提取的场景信息,自动设置音频延迟阈值、调整策略和变速区间,简单方便,过程对用户透明,可提升用户体验。
根据一些实施例,综合应用场景和网络抖动计算音频延迟阈值、音频变速区间和音频变速速率,达到优化的音频延迟调整效果。
根据一些实施例,将检测到的云桌面场景作为音频延迟阈值计算和音频变速区间计算的考虑因素,根据不同场景的需求做到音频延迟和音质的平衡。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附条款的精神和范围内的各种修改和等效设置。

Claims (10)

1.一种自适应调整音频延迟的方法,其特征在于,包括:
根据场景类型预先设置音频延迟阈值上限和音频延迟阈值下限,将音频延迟阈值的初始值预先设置为所述音频延迟阈值上限,其中所述音频延迟阈值表示音频延迟最大警示值,延迟超过所述音频延迟阈值之后的音频帧进行丢弃处理;
根据所述场景类型预先将音频缓冲队列划分为多个音频变速区间,其中最后一个变速区间的上限初始值对应于音频延迟阈值的初始值;
根据所述场景类型设置各个音频变速区间的播放处理速率;
将音频帧放入所述音频缓冲队列;
实时调整所述音频延迟阈值,所述音频延迟阈值不大于音频延迟阈值上限,且不小于音频延迟阈值下限;
根据调整后的音频延迟阈值,调整所述音频缓冲队列被划分成的多个音频变速区间,包括:
对音频缓冲队列放入的每一音频帧,实时计算音频延迟;
将实时计算得到的音频延迟与所述音频延迟阈值对比;
统计当前音频帧之前预定时间段内音频延迟超过所述音频延迟阈值的统计值;
如果所述统计值超过统计阈值,则增加所述音频延迟阈值;
如果所述统计值小于统计阈值,则减少所述音频延迟阈值;
根据所述音频缓冲队列的当前长度与所述多个音频变速区间的关系,对所述音频缓冲队列中的音频帧进行变速播放处理。
2.如权利要求1所述的方法,其特征在于,所述实时计算音频延迟,包括:
将音频缓冲队列中音频帧的数量与每帧时长的乘积作为所述音频延迟。
3.如权利要求1所述的方法,其特征在于,所述根据调整后的音频延迟阈值,调整所述音频缓冲队列被划分成的多个音频变速区间,包括:
将调整后的音频延迟阈值与调整前的音频延迟阈值的比值作为调整因子;
将各音频变速区间的上限和下限按所述调整因子进行缩放。
4.如权利要求1所述的方法,其特征在于,所述多个音频变速区间依次包括第一变速区间、第二变速区间和第三变速区间,所述第一变速区间的第一处理速率低于一倍速,所述第二变速区间的第二处理速率等于一倍速,所述第三变速区间的第三处理速率高于一倍速,所述第三变速区间的上限对应于所述音频延迟阈值。
5.如权利要求1所述的方法,其特征在于,根据所述音频缓冲队列的当前长度与所述多个音频变速区间的关系,对所述音频缓冲队列中的音频帧进行变速播放处理,包括:
如果所述音频缓冲队列的当前长度位于第一变速区间,则以第一处理速率对所述音频缓冲队列中的音频帧进行变速播放处理;
如果所述音频缓冲队列的当前长度位于第二变速区间,则以一倍速对所述音频缓冲队列中的音频帧进行变速播放处理;
如果所述音频缓冲队列的当前长度位于第三变速区间,则以第三处理速率对所述音频缓冲队列中的音频帧进行变速播放处理。
6.如权利要求5所述的方法,其特征在于,根据所述音频缓冲队列的当前长度与所述多个音频变速区间的关系,对所述音频缓冲队列中的音频帧进行变速播放处理,还包括:
将超出所述第三变速区间的上限的音频帧丢弃。
7.如权利要求5所述的方法,其特征在于,还包括:
初始播放音频时,在所述音频缓冲队列的当前长度至少填满所述第一变速区间后,以一倍速对所述音频缓冲队列中的音频帧进行播放处理。
8.如权利要求1所述的方法,其特征在于,所述方法应用于云桌面客户端,所述方法还包括:
通过云桌面虚拟化传输协议的报文确定所述场景类型。
9.如权利要求1所述的方法,其特征在于,所述场景类型包括通话音频模式或媒体音频模式。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机程序;
当所述处理器执行所述计算机程序时实现如权利要求1-9中任一项所述的方法。
CN202210555529.4A 2022-05-20 2022-05-20 自适应调整音频延迟的方法及电子设备 Active CN115102931B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210555529.4A CN115102931B (zh) 2022-05-20 2022-05-20 自适应调整音频延迟的方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210555529.4A CN115102931B (zh) 2022-05-20 2022-05-20 自适应调整音频延迟的方法及电子设备

Publications (2)

Publication Number Publication Date
CN115102931A CN115102931A (zh) 2022-09-23
CN115102931B true CN115102931B (zh) 2023-12-19

Family

ID=83289332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210555529.4A Active CN115102931B (zh) 2022-05-20 2022-05-20 自适应调整音频延迟的方法及电子设备

Country Status (1)

Country Link
CN (1) CN115102931B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245496A (zh) * 2015-08-26 2016-01-13 广州市百果园网络科技有限公司 一种播放音频数据的方法和装置
WO2016119560A1 (zh) * 2015-01-29 2016-08-04 中国移动通信集团公司 音频传输的自适应方法及装置
CN108449617A (zh) * 2018-02-11 2018-08-24 浙江大华技术股份有限公司 一种控制音视频同步的方法及装置
CN109257610A (zh) * 2018-09-28 2019-01-22 北京北斗方圆电子科技有限公司 用于互联网远程教育的媒体低延时通信方法及系统
CN109963184A (zh) * 2017-12-14 2019-07-02 阿里巴巴集团控股有限公司 一种音视频网络播放的方法、装置以及电子设备
CN110058837A (zh) * 2019-04-22 2019-07-26 维沃移动通信有限公司 一种音频输出方法及终端
CN110493636A (zh) * 2019-08-30 2019-11-22 母国标 音视频调节方法、装置、终端设备及存储介质
CN111372138A (zh) * 2018-12-26 2020-07-03 杭州登虹科技有限公司 一种播放器端的直播低延迟技术方案
CN113473229A (zh) * 2021-06-25 2021-10-01 荣耀终端有限公司 一种动态调节丢帧阈值的方法及相关设备
EP3923271A2 (en) * 2021-06-22 2021-12-15 Guangzhou Xiaopeng Motors Technology Co., Ltd. Voice control method, vehicle, server and storage medium
CN113900619A (zh) * 2019-09-27 2022-01-07 北京西山居互动娱乐科技有限公司 一种音频数据处理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2761840A4 (en) * 2011-09-29 2015-06-10 Avvasi Inc SYSTEMS AND METHODS FOR THE DISTRIBUTION OF MULTIMEDIA SERVICES
CN105898185A (zh) * 2014-11-19 2016-08-24 杜比实验室特许公司 调节视频会议系统中的空间一致性
WO2020123424A1 (en) * 2018-12-13 2020-06-18 Dolby Laboratories Licensing Corporation Dual-ended media intelligence

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016119560A1 (zh) * 2015-01-29 2016-08-04 中国移动通信集团公司 音频传输的自适应方法及装置
CN105989844A (zh) * 2015-01-29 2016-10-05 中国移动通信集团公司 一种音频传输的自适应方法及装置
CN105245496A (zh) * 2015-08-26 2016-01-13 广州市百果园网络科技有限公司 一种播放音频数据的方法和装置
CN109963184A (zh) * 2017-12-14 2019-07-02 阿里巴巴集团控股有限公司 一种音视频网络播放的方法、装置以及电子设备
CN108449617A (zh) * 2018-02-11 2018-08-24 浙江大华技术股份有限公司 一种控制音视频同步的方法及装置
CN109257610A (zh) * 2018-09-28 2019-01-22 北京北斗方圆电子科技有限公司 用于互联网远程教育的媒体低延时通信方法及系统
CN111372138A (zh) * 2018-12-26 2020-07-03 杭州登虹科技有限公司 一种播放器端的直播低延迟技术方案
CN110058837A (zh) * 2019-04-22 2019-07-26 维沃移动通信有限公司 一种音频输出方法及终端
CN110493636A (zh) * 2019-08-30 2019-11-22 母国标 音视频调节方法、装置、终端设备及存储介质
CN113900619A (zh) * 2019-09-27 2022-01-07 北京西山居互动娱乐科技有限公司 一种音频数据处理方法及装置
EP3923271A2 (en) * 2021-06-22 2021-12-15 Guangzhou Xiaopeng Motors Technology Co., Ltd. Voice control method, vehicle, server and storage medium
CN113473229A (zh) * 2021-06-25 2021-10-01 荣耀终端有限公司 一种动态调节丢帧阈值的方法及相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自适应多速率编码语音实时传输系统的设计与实现;谢军,易清明,周德华;电声技术(05);全文 *

Also Published As

Publication number Publication date
CN115102931A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
US10067937B2 (en) Determining delay for language translation in video communication
CN108079578B (zh) 一种基于云游戏的码率调整方法、装置及存储介质
WO2016015670A1 (zh) 一种音频流解码方法及装置
US20070011343A1 (en) Reducing startup latencies in IP-based A/V stream distribution
CN107396171A (zh) 网络直播方法、装置和存储介质
CN101785007A (zh) 同步数据流的方法
US10432543B2 (en) Dual jitter buffers
CN105099795A (zh) 抖动缓冲器水平估计
WO2019071808A1 (zh) 视频画面显示的方法、装置、系统、终端设备及存储介质
US9325853B1 (en) Equalization of silence audio levels in packet media conferencing systems
CN115102931B (zh) 自适应调整音频延迟的方法及电子设备
CN112423074B (zh) 音视频同步处理方法、装置、电子设备及存储介质
CN109427342A (zh) 用于防止语音延迟的语音数据处理装置及方法
TWI632816B (zh) 具有能源節約的連續資料遞送技術
WO2023165320A1 (zh) 播放参数配置方法及装置
CN112433697B (zh) 一种资源展示方法、装置、电子设备及存储介质
WO2023284498A1 (zh) 视频播放方法、装置及存储介质
CN111951821B (zh) 通话方法和装置
CN114242067A (zh) 语音识别方法、装置、设备和存储介质
JP2022095689A (ja) 音声データノイズ低減方法、装置、機器、記憶媒体及びプログラム
EP3149912B1 (en) Communication device and data processing method
CN114302180A (zh) 视频单帧播放方法、设备、服务器、系统及存储介质
CN114710687B (zh) 音视频同步方法、装置、设备及存储介质
JP7318123B2 (ja) 適応的バッファを使用してビデオコンテンツをストリーミングするための方法、システム、および媒体
CN116033235B (zh) 数据传输方法、数字人生产设备以及数字人显示设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant