CN105099949A - 基于对延迟抖动和对话动态的监视的抖动缓冲器控制 - Google Patents

基于对延迟抖动和对话动态的监视的抖动缓冲器控制 Download PDF

Info

Publication number
CN105099949A
CN105099949A CN201410152754.9A CN201410152754A CN105099949A CN 105099949 A CN105099949 A CN 105099949A CN 201410152754 A CN201410152754 A CN 201410152754A CN 105099949 A CN105099949 A CN 105099949A
Authority
CN
China
Prior art keywords
dialogue
data
wobble buffer
instruction
network jitter
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.)
Pending
Application number
CN201410152754.9A
Other languages
English (en)
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Priority to CN201410152754.9A priority Critical patent/CN105099949A/zh
Priority to EP15718706.3A priority patent/EP3132551B1/en
Priority to ES19171996T priority patent/ES2967189T3/es
Priority to EP23206649.8A priority patent/EP4293670A3/en
Priority to EP19171996.2A priority patent/EP3550743B1/en
Priority to US15/302,945 priority patent/US10742531B2/en
Priority to PCT/US2015/025078 priority patent/WO2015160617A1/en
Publication of CN105099949A publication Critical patent/CN105099949A/zh
Priority to US16/988,571 priority patent/US11632318B2/en
Priority to US18/301,795 priority patent/US20230254231A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Environmental & Geological Engineering (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephone Function (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一些实现涉及对在与对话分析片段相对应的时间间隔期间接收的音频分组进行分析以确定网络抖动动态数据和对话交互性数据。网络抖动动态数据可以提供中继音频数据分组的网络中的抖动的指示。对话交互性数据可以提供由音频数据表示的对话的参与者之间的交互性的指示。可以根据网络抖动动态数据和对话交互性数据控制抖动缓冲器大小。时间间隔可以包括多个谈话突峰。

Description

基于对延迟抖动和对话动态的监视的抖动缓冲器控制
技术领域
本公开内容涉及音频信号处理。具体地,本公开内容涉及对远程通信的音频信号的处理,包括但不限于对电话会议或视频会议的音频信号的处理。
背景技术
分组网络上的语音传输会遭遇延迟变化,通常称为抖动。例如,可以根据到达间隔时间(IAT)变化或分组延迟变化(PDV)来测量抖动。可以根据相邻分组的接收时间差来测量IAT变化。例如,可以参照来自数据或“锚”分组接收时间的时间间隔来测量PDV。在基于因特网协议(IP)的网络中,固定延迟可以归因于由于材料和距离导致的算法、处理和传播延迟,而可变延迟是由于IP网络信息业务量的波动、因特网上不同的传输路径等引起的。
VoIP(网络电话)接收机通常依赖“抖动缓冲器”来对抗抖动的负面影响。通过引入接收音频数据的分组的时刻与再现该分组的时刻之间的附加延迟,抖动缓冲器旨在将到达分组的不均匀流转换成规则的分组流,使得延迟变化不会对终端用户造成可感知的音质下降。语音通信对于延迟非常敏感。例如,根据ITU推荐G.114,对于正常的对话,单向延迟应当保持低于150ms,超过400ms被认为不可接受。因此,由抖动缓冲器添加的附加延迟需要足够小以避免造成可感知的音质下降。不幸的是,当分组由于网络延迟而比预期晚到达时,小的抖动缓冲器会导致更频繁的分组丢失。
发明内容
根据本文中所描述的一些实现,方法可以涉及接收音频数据。音频数据可以包括在时间间隔期间在实际分组达到时间接收到的音频分组,该时间间隔可以对应于对话分析片段。对话分析片段可以包括多个谈话突峰(talkspurt)。该方法可以涉及分析对话分析片段的音频数据以确定网络抖动动态数据和对话交互性数据。网络抖动动态数据可以提供中继音频数据分组的网络中的抖动的指示。对话交互性数据可以提供由音频数据表示的对话的参与者之间的交互性的指示。该方法可以涉及根据网络抖动动态数据和对话交互性数据两者控制抖动缓冲器大小。
分析音频数据以确定网络抖动动态数据可以涉及至少部分地基于实际分组到达时间确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。确定PDV可以涉及将预期分组到达时间与实际分组到达时间进行比较。
根据一些实现,分析音频数据可以涉及确定分组延迟时间的百分位范围。确定网络抖动动态数据可以涉及确定对应于第一百分位范围的第一分组延迟时间与第二百分位范围的第二分组延迟时间之间的差的分组延迟的百分位间距范围(inter-percentilerange)。在一些示例中,分析音频数据可以涉及根据分组延迟变化的次序统计确定分组延迟时间的范围。分组延迟时间的范围可以包括最短分组延迟时间、中间分组延迟时间和最长分组延迟时间。确定网络抖动动态数据可以包括确定最大分组延迟时间之一与中间分组延迟时间之一之间的差。在一些实现中,分析音频数据以确定网络抖动动态数据可以包括确定延迟尖峰出现概率和/或延迟尖峰强度。
在一些示例中,分析音频数据以确定对话交互性数据可以涉及确定其间可能仅单个对话参与者在讲话的单向谈话时间、其间可能有两个或更多个对话参与者在讲话的双向谈话时间、以及其间可能没有对话参与者讲话的相互静默时间。分析音频数据以确定对话交互性数据可以涉及讲话者交替率或讲话者中断率中的至少之一。
一些方法可以涉及接收讲话者静音指示和/或演讲指示。确定对话交互性数据可以涉及根据讲话者静音指示或演讲指示中的至少之一来确定对话交互性。
在一些实现中,分析音频数据以确定对话交互性数据可以涉及确定对话交互性度量(CIM)。CIM例如可以基于启发式规则和/或对话相对熵。
例如,CIM可以至少部分地基于启发式规则,启发式规则涉及对讲话者交替率的阈值、其间可能仅单个对话参与者在讲话的单向谈话时间的阈值、其间可能有两个或更多个对话参与者在讲话的双向谈话时间的阈值、和/或其间可能没有对话参与者在讲话的相互静默时间的阈值的应用。
在一些实现中,CIM可以至少部分地基于对话相对熵。可以至少部分地根据对话状态的概率来确定对话相对熵。对话状态可以包括其间可能仅单个对话参与者在讲话的单向谈话时间的概率、其间可能有两个或更多个对话参与者在讲话的双向谈话时间的概率、以及其间可能没有对话参与者在讲话的相互静默时间的概率。
根据一些实现,确定对话交互性数据可以涉及分析仅单个对话参与者的对话活动。例如,分析单个对话参与者的对话活动可以涉及确定单个对话参与者是否在谈话。控制抖动缓冲器大小可以涉及:当单个对话参与者在谈话时,将抖动缓冲器设置成相对较小的大小,以及当单个对话参与者没有谈话时,将抖动缓冲器设置成相对较大的大小。
在一些实现中,控制抖动缓冲器大小可以涉及当网络抖动动态数据指示大于网络抖动的阈值量时将抖动缓冲器设置成相对较大的大小。例如,控制抖动缓冲器大小可以涉及:当网络抖动动态数据指示大于网络抖动的阈值量时或当对话交互性数据指示小于第一对话参与者的对话参与的阈值量时,将第一对话参与者的抖动缓冲器设置成相对较大的大小。
根据一些实现,控制抖动缓冲器大小可以涉及:当网络抖动动态数据指示小于网络抖动的阈值量时或当对话交互性数据指示至少对话交互性的阈值量时,将抖动缓冲器设置成相对较小的大小。在一些示例中,控制抖动缓冲器大小可以涉及:当网络抖动动态数据指示小于网络抖动的阈值量时或当对话交互性数据指示至少第一对话参与者的对话参与的阈值量时,将第一对话参与者的抖动缓冲器设置成相对较小的大小。在一些示例中,控制抖动缓冲器大小可以涉及给网络抖动动态数据分配相对较小的权重以及给对话交互性数据分配相对较大的权重。
根据一些实现,控制抖动缓冲器大小可以涉及根据至少三个抖动缓冲器控制模式之一来设置抖动缓冲器大小。例如,抖动缓冲器控制模式可以包括峰值模式、低丢失模式和正常模式。在一些这种实现中,每个抖动缓冲器控制模式可以对应于抖动缓冲器大小。然而,在一些示例中,每个抖动缓冲器控制模式可以对应于抖动缓冲器大小的范围。
抖动缓冲器控制模式中至少之一可以对应于至少指示网络抖动的阈值量的网络抖动动态数据以及至少指示对话交互性的阈值量的对话交互性数据。抖动缓冲器控制模式中至少之一可以对应于至少指示网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。抖动缓冲器控制模式中至少之一可以对应于指示小于网络抖动的阈值量的网络抖动动态数据以及至少指示对话交互性的阈值量的对话交互性数据。抖动缓冲器控制模式中至少之一可以对应于指示小于网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。
根据一些实现,本文中所公开的这些方法和/或其他方法可以经由存储有软件的一个或更多个非暂态介质来实现。软件可以包括用于控制一个或更多个装置至少部分地执行这种方法的指令。
本公开内容的至少一些方面可以经由设备来实现。例如,一个或更多个装置能够至少部分地执行本文中所公开的方法。在一些实现中,设备可以包括接口***、可以包括抖动缓冲器的存储器***、以及逻辑***。逻辑***能够经由接口***接收音频数据。音频数据可以包括在可以对应于对话分析分段的时间间隔期间在实际分组到达时间接收到的音频分组。
接口***可以包括网路接口、逻辑***与存储器***之间的接口、和/或外部装置接口。逻辑***可以包括通用单芯片处理器或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、或分立的硬件部件中的至少之一。
逻辑***能够分析对话分析片段的音频数据以确定网络抖动动态数据和对话交互性数据。网络抖动动态数据可以提供对中继音频数据分组的网络中的抖动的指示。对话交互性数据可以提供由音频数据表示的对话的参与者之间的交互性的指示。逻辑***能够根据网络抖动动态数据和对话交互性数据来控制抖动缓冲器大小。时间间隔可以对应于包括多个谈话突峰的对话分析片段。
在一些实现中,分析音频数据以确定网络抖动动态数据可以涉及通过将预期分组到达时间与实际分组到达时间进行比较来确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。在一些示例中,分析音频数据以确定网络抖动动态数据可以涉及确定延迟尖峰出现概率或延迟尖峰强度中的至少之一。
根据一些实现,分析音频数据以确定对话交互性数据可以涉及确定其间可能仅单个对话参与者在讲话的单向谈话时间、其间可能有两个或更多个对话参与者在讲话的双向谈话时间、以及其间可能没有对话参与者在讲话的相互静默时间。分析音频数据以确定对话交互性数据可以涉及基于启发式规则或对话相对熵中至少之一来确定对话交互性度量(CIM)。
在附图和下面的描述中阐述了本说明书中所描述的主题的一个或更多个实现的细节。根据该描述、附图和权利要求,其他特征、方面和优点将变得明显。注意,可能没有按比例绘制下面的附图的相对尺寸。
附图说明
图1A是示意性地示出可以应用本申请的实施方式的语音通信***的示例的图;
图1B是示意性地示出可以实现本申请的方面的语音通信***的另一示例的图;
图2是示出本文所提供的一些抖动缓冲器控制方法的块的流程图;
图3提供了两方对话模式的示例,该两方对话模式提供了对话状态的一些示例;
图4是示出本文所提供的一些抖动缓冲器控制方法的块的流程图;
图5是提供能够实现本公开内容的各个方面的设备的部件示例的框图;以及
图6是提供音频处理设备的部件示例的框图。
各个图中的相似的附图标记和名称指示相似的元素。
具体实施方式
下面的描述针对用于描述本公开内容的一些创新方面的某些实现,以及可以实现这些创新方面的上下文的示例。然而,可以以各种不同的方式来应用本文中的教示。例如,尽管就音频数据处理的具体示例描述了各种实现,但是本文中的教示可广泛应用于其他已知的音频数据处理实现以及在未来可能引入的音频数据处理实现。
此外,所描述的实施方式可以以各种硬件、软件、固件等来实现。例如,本申请的各方面可以被实施为***、装置(例如蜂窝电话、便携式媒体播放器、个人计算机、服务器、电视机顶盒、数字录像机、或其他媒体播放器)、方法或计算机程序产品。因此,本申请的各方面可以采取以下形式:硬件实施方式、软件实施方式(包括固件、驻留软件、微代码等)或组合软件方面与硬件方面的实施方式。在本文中这种实施方式可以称为“电路”、“模块”或“***”。此外,本申请的各方面可以采取体现为一个或更多个非暂态介质的计算机程序产品的形式,该非暂态介质上体现有计算机可读程序代码。这种非暂态介质例如可以包括硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储装置、磁存储装置、或前述各项的任何适当组合。因此,本公开内容的教示不意在限制图中示出的和/或本文所描述的实现,而是具有广泛的可应用性。
在本文中同义地使用术语“块”和“分组”。因此,“音频块”或“音频数据块”可以具有与“音频分组”或“音频数据分组”相同的含义。
如本文中所使用的,术语“缓冲器”可以指代用于暂时存储数据的物理存储器装置的区域,或指代“指向”物理存储器中的位置的逻辑数据缓冲器或虚拟数据缓冲器。“抖动缓冲器”通常将指代用于存储所接收的音频帧的逻辑缓冲器或物理缓冲器。尽管抖动缓冲器通常将用于暂时存储解码处理之前的编码音频数据,但是依赖于具体实现,抖动缓冲器可以存储各种形式的音频分组或音频帧。因此,贯穿本说明书,术语“抖动缓冲器”应当被理解为包括实际存储(或指向)音频帧的抖动缓冲器以及实际存储(或指向)各种形式的分组(块)的抖动缓冲器,随后各种形式的分组(块)在被播放或被反馈到部件用于进一步处理之前被解码成音频帧。尽管通常在音频数据的再现或“回放”之前执行解码,但不总是结合缓冲过程明确地讨论解码处理。因此,本文中所使用的术语“帧”应当广义地被理解为包括已经从分组解码的帧、仍然编码在分组中的帧、本身包括一个或更多个帧的分组、或者编码在分组中的多于一个帧或已经从分组中解码的帧。换言之,在本申请的上下文中,涉及帧的处理也可以被理解为涉及分组的处理或同时涉及包含在分组中的多于一个帧的处理。
在本申请的上下文中,表达“同时”(等)的含义包括但不限于精确的字面含义,并且应当被理解为“在预定粒度的相同的时间间隙/时间间隔内”。在本申请中,例如,预定粒度可以是两个相继发送的帧/分组之间的时间间隙(这种时间间隙称为帧间隙),或用于检查分组到达的网络探测速率、或处理时间粒度,但不限于此。例如,可以由帧时段/间隙例如20ms对到达时间进行量化。替代地或附加地,可以将时间表示为对应于整数分组数量。类似地,在本申请的上下文,当涉及具体时间点时,依赖于上下文,其也可以表示预定粒度的时间间隙。此外,当涉及针对某个帧的应当被理解为时间点的具体时间ti(i为整数)时,为了清楚起见,假设其指示在发射机侧该帧开始的时间点,或者指示在接收机侧开始接收该帧的时间点。
如上面所提到的,抖动缓冲器可以通过暂时存储所接收的音频数据分组(在本文中也称为“音频分组”)对抗网络不稳定性的负面影响,音频数据分组可以对应于语音数据。在一些实现中,抖动缓冲器可以在音频分组被提供至解码器并且随后例如由通信终端的扬声器再现之前存储音频分组。
确定适当的抖动缓冲器大小可能是充满挑战的。太小的抖动缓冲器可以尤其在例如由增加的网络活动造成的延迟尖峰的时间期间造成音频分组的不可接受的数量下降。然而,太长的抖动缓冲器可以导致可感知的延迟。某些对话如两个或更多个人之间的交互性对话可能要求相对较低的延迟,以便避免激怒对话中的参与者。然而,其他对话中的参与者如主要是单向对话的演讲通常较容忍初始延迟。
因此,在本文中所描述的一些实现中,可以控制抖动缓冲器大小,以便不同地对待这两种类型的对话。一些这种实现提供能够基于与长期网络抖动上下文相对应的网络抖动动态数据来控制抖动缓冲器的大小的上下文感知的抖动缓冲器管理。
图1A是示意性地示出可以应用本申请的实施方式的语音通信***的示例的图。如图1A中所示,对话参与者A操作通信终端A,对话参与者B操作通信终端B。类似本文中所示出和描述的其他通信终端,通信终端A和B例如可以包括电话、个人计算机、移动电子装置(例如,蜂窝电话、智能手机、平板电脑等)等。通信终端A和B可以包括诸如下面(例如,参照图5和图6)要描述的那些部件。
在语音通信会话如电话会议期间,对话参与者A和对话参与者B可以经由他们的通信终端A和B彼此谈话。在该示例中,通信终端A和B能够经由数据链路103通信。数据链路103可以实现为点到点连接如通信网络等。
在该示例中,通信终端A和B能够对由一个或更多个麦克风捕获的音频信号的音频块执行VAD(语音活动检测)。如果在音频块中检测到存在语音,则可以由通信终端的逻辑***对音频块进行相应处理(例如,施加适合于语音数据的增益),并且可以经由数据链路103将音频块发送至另一对话参与者的通信终端。如果确定音频块中不存在语音,则可以由通信终端的逻辑***对音频块进行相应的处理(例如,施加适合于非语音数据的增益),并且经由数据链路103将音频块发送至另一对话参与者的通信终端。
在该示例中,通信终端A和B能够向其他对话参与者的通信终端指示静默时间。如本文中所使用的,“静默时间”是其间对话参与者没有讲话的时间。在“静默时间”期间,对话参与者的通信终端可以检测非话音声音,如环境噪声。可以处理与这种声音相对应的音频数据,并且可以将该音频数据发送至一个或更多个其他通信终端。在一些实现中,可以通过发送静默时间元数据(例如,通过设置相应的标志或位)来指示静默时间,而在其他实现中,可以通过在与音频块相对应的时间周期期间什么也不发送来指示静默时间。在一些实现中,静默时间元数据可以对应于通信终端的“静音”控制的对话参与者的激活。
在本实现中,通信终端A和B能够建立和控制抖动缓冲器,抖动缓冲器在图1A和图1B中表示为“JB”。在此,通信终端A和B能够接收例如编码音频数据作为音频块,并且将它们作为条目存储在抖动缓冲器中。条目可以对应于时间,例如,接收到音频块的时间。抖动缓冲器中的音频块可以被解码和/或以其他方式被处理以用于由通信终端的一个或更多个扬声器再现。接收到静默时间元数据或什么也没接收到可以产生抖动缓冲器中的相应空条目。通信终端A和B能够如本文中所示和所描述的控制抖动缓冲器大小。
图1B是示意性地示出可以实现本申请的方面的语音通信***的另一示例的图。在该示例中,可以在对话参与者A、B和C之间进行语音会议。
如图1B所示,对话参与者A操作通信终端A,对话参与者B操作通信终端B,对话参与者C操作通信终端C。在语音会议会话期间,对话参与者A、对话参与者B和通信参与者C可以分别通过其通信终端A、B和C彼此谈话。从会话参与者A、B和C的角度来看,图1B中示出的通信终端能够提供与图1A中示出的这些功能基本相同的功能。虽然在图1B中示出了三个通信终端,但是其他实现可以涉及更多或更少通信终端。
然而,在图1B中示出的示例中,通信终端A、B和C被配置成通过公共的数据链路113或分离的数据链路113与另一装置通信,在该示例中另一装置为服务器。数据链路113可以实现为点到点连接或通信网络。例如,通信终端A、B和C能够如上面所描述的对由通信终端捕获的音频信号的音频块执行VAD和适当的处理。
在该实现中,通信终端A、B和C能够向服务器指示静默时间。在一些实现中,可以通过发送静默时间元数据(例如,通常设置相应的标志或位)来指示静默时间,然而,在其他实现中,可以通过在与音频块相对应的时段期间什么也不发送来指示静默时间。通信终端A、B和C能够使所发送的音频分组包括“时间戳”或类似的时间元数据,指示音频分组的传输时间。
在该实现中,服务器也能够建立和控制抖动缓冲器。在图1B中示出的示例中,服务器已经建立了与通信终端A、B和C中的每个相对应的抖动缓冲器JBA、JIB和JBC。例如,服务器能够如本文中所公开的控制抖动缓冲器大小。在该实现中,服务器能够接收由通信终端A、B和C发送的音频块,并且能够将它们存储为抖动缓冲器JBA、JIB和JBC中的与音频块的时间相对应的条目。例如,服务器能够将音频块存储为抖动缓冲器JBA、JIB和JBC中的与音频块的时间戳相对应的条目。接收静默时间元数据(或什么也不接收)可以产生抖动缓冲器中的相应空条目。
在该示例中,服务器也能够将来自抖动缓冲器JBA、JIB和JBC中的每个的对应于相同时间的音频块混合成混合音频块。混合音频块的副本可以被发送至通信终端A、B和C中的每个。服务器可以使混合音频块中的每个包括一种或更多种时间戳。在一些实例中,例如,通信终端A和B可以将音频分组发送至服务器。服务器可以在将混合分组发送至通信终端C之前将音频分组(在时域或频域中)混合。服务器是否执行这种混合可以依赖于各种因素,诸如带宽、服务器是否被配置用于混合、通信终端C期望单信道还是多信道等。
在该示例中通信终端A、B和C能够建立和控制抖动缓冲器。通信终端A、B和C可以从服务器接收混合音频块,并且可以将它们存储到与混合音频块的时间相对应的条目。例如,抖动缓冲器条目可以对应于接收到音频块的时间。在每个通信终端中,抖动缓冲器中的音频块可以由通信终端的扬声器***解码和再现。通信终端A、B和C能够如本文中所公开的控制抖动缓冲器大小。
抖动缓冲器可以用于将到达的音频分组的不均匀的流转换成规则的音频分组流,使得延迟变化对于对话参与者不造成可感知的质量下降。确定适当的抖动缓冲器水平通常包括平均缓冲器延迟与分组丢失率之间的权衡。已经提出了很多基于统计的抖动缓冲器管理(JBM)算法,如美国专利公布No.2009/0003369中公开的基于分组间隔延迟变化(IPDV)的JBM算法以及S.B.Moon、J.Kurose和D.Towsley,PacketAudioPlayoutDelayAdjustment:PerformanceBoundsandAlgorithms,MultimediaSystems(1998)6:17-28中所公开的基于直方图的JBM算法。
然而,本文中所公开的实现提供抖动缓冲器控制的替选方法。本文中所公开的一些实现涉及分析音频数据以确定用于上下文感知的抖动缓冲器控制的网络抖动动态数据和对话交互性数据。
图2是示出本文中所提供的一些抖动缓冲器控制方法的块的流程图。方法200例如可以(至少部分地)由服务器或被配置用于与通信终端如上面参照图1B描述的终端通信的另一这中装置执行。然而,本文中所提供的一些方法可以(至少部分地)由通信终端执行。至于本文中所描述的其他方法,方法200的块不一定以所指示的顺序执行。而且,方法200的一些实现(以及本文中所公开的其他方法)可以包括比所指示的或所描述的块更多或更少的块。
在该示例中,方法200开始于块205,块205涉及在与对话分析片段相对应的时间间隔期间接收音频数据。在该示例中,音频数据括在实际分组到达时间接收的音频分组。时间间隔例如可以是包括多个谈话突峰的长期或短期时间间隔。如本文中所使用的,术语“谈话突峰”对应于对话的“相互静默时间”之间的话音的连续的(或基本连续的)片段。尽管对应于相互静默时间的音频分组可以包括背景噪声等,在本文中术语“相互静默时间”用于意指其间没有对话参与者在讲话的时间。在一些实现中,分组或帧长度可以大约几十毫秒(例如,20ms),并且对话分析片段可以大约几十秒例如20秒。
在此,块210涉及分析对话分析片段的音频数据以确定网络抖动动态数据和对话交互性数据。网络抖动动态数据例如可以提供中继音频数据分组的网络中的抖动的指示。对话交互性数据可以提供由音频数据表示的对话的参与者之间的交互性的指示。在该实现中,块215涉及根据网络抖动动态数据和对话交互性数据两者控制抖动缓冲器大小。
分析音频数据以确定网络抖动动态数据可以涉及至少部分地基于实际分组到达时间来确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。网络抖动动态数据例如可以包括分组延迟的百分位间距范围、延迟尖峰概率和/或延迟尖峰密度。例如,在一些实现中,可以将设定数量的分组的PDV确定为实际分组到达时间与预期分组到达时间之间的差。
例如,考虑由M个谈话突峰和N个音频分组组成的对话分析片段。在该讨论中,下面的变量表示下面所阐述的相应的量:
表示第k个谈话突峰中的第i个分组的发送器时间戳;
表示第k个谈话突峰中的第i个分组的接收器时间戳;
nk:第k个谈话突峰中接收的分组的数量;
表示第k个谈话突峰中的第i个分组的回放时间戳;以及
表示回放延迟。
在一些实现中,可以根据回放时间戳是否指示音频分组的再现/回放时间比音频分组的到达时间早,来作出晚到达的指示。例如,可以以二进制形式来表示音频分组的晚到达的指示,使得晚到达的指示为1或0,例如,如下:
(等式1)
在等式1中,表示第k个谈话突峰中的第i个分组的晚到达指示。然而,在替选实现中,可以使用更细粒度的晚到达指示。例如,晚到达指示可以根据两个或更多个时间阈值来指示晚的程度。
在一些这种实现中,可以根据包括已经接收到的过去w个音频分组的时间窗口确定分组延迟变化,例如,如下:
(等式2)
在等式2中,表示第i个音频分组的分组延迟,表示在第i个音频分组(w+1)个分组之前接收到的音频分组的分组延迟,表示下一个接收到的音频分组的分组延迟,等等。例如可以根据PDV或IAT确定分组延迟。在本文中w的值还可以指代“分析窗口长度”。w的选择确定相应的算法可以多快地适应延迟变化。因此,w的值遭受准确度与响应性之间的权衡。在一些实现中,w可以在200至1000的范围内。
根据一些实现,所接收的音频分组例如可以根据分组延迟变化的次序统计而被分类到分组延迟时间的范围内。例如,上面提及的分组延迟变化的次序统计可以被表示为ΔD1,ΔD2,...ΔDw,其中,ΔD1≤ΔD2≤...≤ΔDw。在该示例中,ΔD1表示最小延迟,ΔDw表示最大延迟。
因此,这种范围包括最短分组延迟时间、中间分组延迟时间和最长分组延迟时间。确定网络抖动动态数据可以涉及确定延迟时间之间的差,例如最大分组延迟时间之一与中间分组延迟时间之一之间的差。
一些这种实现涉及确定分组延迟时间的百分位范围。在一些这种实现中,确定网络抖动动态数据可以涉及确定与第一百分位范围的第一分组延迟时间(例如,对于最大分组延迟时间之一)与第二百分位范围的第二分组延迟时间(例如,对于中间分组延迟时间之一)之间的差相对应的分组延迟的百分位间距范围。
在一些实现中,可以如下确定百分位间距范围:
ΔDr-ΔDκ(等式3)
在一些实现中,可以选择r,使得ΔDr表示最大分组延迟时间之一,而可以选择k,使得ΔDκ表示分组延迟时间的中间处或附近的延迟时间。在一个示例中,可以如下确定r和k:
r=round(0.995×w),κ=round(0.5×w)(等式4和等式5)
在等式4和等式5中,“round”表示舍入成整数的处理。在一些实现中,可以根据基于涉及在不同类型的实际网络上传输的音频分组的实验的经验数据,确定r和κ的值。
确定网络抖动动态数据可以涉及例如基于具有超过阈值的延迟的分组数量以及这些分组的延迟量来确定延迟尖峰强度,和/或确定延迟尖峰出现概率。例如,在一些实现中,可以如下确定延迟尖峰出现概率:
p = Σ i w I n i w (等式6)
在等式6中,p表示延迟尖峰出现概率,表示延迟尖峰指示符。在一些示例中,可以如下确定等式6的延迟尖峰指示符:
(等式7)
在等式7中,ξth表示延迟尖峰阈值。在一些实现中,延迟尖峰阈值可以在5到20个分组间隔的范围内,例如10个分组间隔。例如,如果分组之间的预期时间间隔是20ms,则10个分组的延迟尖峰阈值将对应于200ms。
一些实现可以涉及在时间间隔期间确定平均延迟尖峰强度。在一些示例中,可以如下确定平均延迟尖峰强度:
λ = Σ i = 1 w I n i Δ d n i Σ i = 1 w I n i (等式8)
在等式8中,λ表示w个音频分组的分析窗口长度的平均延迟尖峰强度。
一些实现可以涉及组合多于一种类型的网络抖动动态数据。例如,一些尖峰模式检测(PMD)实现可以涉及组合多于一种类型的网络抖动动态数据,以便检测网络抖动的峰值模式。在一些示例中,PMD将涉及在包括多个谈话突峰的对话分析片段期间的“长期”峰值模式检测。
在一些示例中,PMD可以至少部分地基于百分位间距范围(IPR)计算(例如,如上所述的)、延迟尖峰强度和/或延迟尖峰出现概率。在一个示例中,如下确定PMD:
(等式9)
在等式9中,IPR_th表示次序统计的百分位间距范围的阈值,p_th表示延迟尖峰出现概率的阈值,λ_th表示平均延迟尖峰强度的阈值。在一些实现中,IPR_th可以在5至9的范围内,例如7。在一些示例中,p_th可以在0.03至0.07的范围内,例如0.05,λ_th可以在10至20的范围内,例如15。因此,在等式9示出的示例中,峰值模式检测过程将产生与“是”或“否”确定相对应的二进制值。然而,在替选实现中,可以确定相对更细粒度的峰值模式检测值。例如,在一些实现中,两个或更多个PMD值的范围可以对应于网路抖动的变化程度。
如上面所指出的,本文中描述的各种实现涉及根据网络抖动动态数据和对话交互性数据两者控制抖动缓冲器大小。前述谈论主要集中在了确定各种类型的网路抖动动态数据。下面是确定对话交互性数据的各种示例。
在一些实现中,确定对话交互性数据可以涉及确定对话状态。图3提供了两方对话模型的示例,该模式提供对话状态的一些示例。
在图3中,水平时间轴t上方的阴影区域指示其间对话参与者“A”在谈话的时间,而时间轴下方的阴影区域指示其间对话参与者“B”在谈话的时间。标记有状态A和状态B的区域指示其间单个对话参与者在讲话的“单向谈话”时间。
标记有状态D的区域指示其间对话参与者A和对话参与者B均在讲话的“双向谈话”时间。在一些实例中,对话可以包括三个或更多个参与者。因此,如本文中所使用的,“双向谈话”时间是指其间至少两个对话参与者在讲话的时间。
图3的状态M对应于其间对话参与者A和对话参与者B均未在讲话的相互静默时间。鉴于对话有时可能包括三个或更多个参与者这一事实,如本文中所使用的,“相互静默时间”指示其间没有对话参与者在讲话的时间。
然而,确定对话交互性数据可以涉及确定其他类型的对话状态。在一些实现中,确定对话交互性数据可以涉及确定讲话者交替率或讲话者中断率中的至少之一。例如可以由状态A/状态D/状态B的序列来推断对话参与者“A”被对话参与者“B”成功中断。例如可以由状态A/状态D/状态A的序列来确定对话参与者“A”的不成功的中断。一些实现可以涉及发送或接收讲话者静音指示或演讲指示,例如,作为与音频分组相关联的元数据。例如,讲话者静音指示或演讲指示可以对应于来自对话参与者的输入的接收,如按压“静音”按钮、输入与讲话者静音指示或演讲指示相对应的代码(例如,经由键盘或小键盘)等。确定对话交互性数据可以至少部分地基于讲话者静音指示和/或演讲指示。
在一些实现中,分析音频数据以确定对话交互性数据可以涉及确定与对话交互性程度相对应的对话交互性度量(CIM)。在一些实现中,CIM可以基于启发式规则和/或对话相对熵。
在一些示例中,CIM可以至少部分地基于启发式规则,该启发式规则涉及应用讲话者交替率的阈值、其间单个对话参与者在讲话的单向谈话时间的阈值、其间两个或更多个对话参与者在讲话的双向谈话时间的阈值、和/或其间没有对话参与者在讲话的相互静默时间的阈值中的至少之一。对于启发式规则,对话交互性的程度可以基于与单向谈话时间相对应的分组的数量、与相互静默时间相对应的分组的数量、与双向谈话时间相对应的分组的数量和/或在包括多个谈话突峰的对话分析片段内讲话者改变的次数(在本文中可以称为“讲话者交替”)。
在一个这种示例中,CIM可以如下基于启发式规则:
(等式10)
在等式10的示例中,CIM(k)表示第k个对话分析片段中的对话交互性度量,thresh_ST表示单向谈话时间的阈值,thresh_MS表示相互静默时间的阈值,thresh_SAR表示讲话者交替的阈值。在一些实现中,thresh_ST可以在8到12的范围内,例如10。在一些示例中,thresh_MS可以在0.7到0.9的范围内(例如,0.8),thresh_SAR可以在0.003到0.007的范围内(例如,0.005)。
在等式10示出的示例中,对话交互性度量可以是可以被认为与“交互性”确定或“非交互性”确定相对应的二进制值。然而,在替选的实现中,可以确定对话交互性的相对更细粒度值。例如,在一些实现中,两个或更多个CIM值的范围可以对应于对话交互性的变化程度。
在一些实现,其中CIM至少部分地基于对话相对熵,对话相对熵可以至少部分地基于对话状态的概率。在一些示例中,对话状态可以对应于单向谈话时间的概率、双向谈话时间的概率以及相互静默时间的概率。在一个这种示例中,可以如下确定涉及对话参与者A和对话参与者B的对话的相对熵:
E ( k ) = Σ I = { A , B , M , D } - P I ( k ) log 2 ( P I ( k ) Q I ( k ) ) (等式11)
在等式11中,E(k)表示基于第k个对话分析片段中的基于对话相对熵的CIM,PI(k)表示第k个对话分析片段中的对话状态的概率。在该示例中,PA(k)表示对话参与者A的单向谈话时间的概率,PB(k)表示对话参与者B的单向谈话时间的概率,PM(k)表示其间没有对话参与者在讲话的相互静默时间的概率,PD(k)表示其间对话参与者两者均在讲话的双向谈话时间的概率。
在等式11中,QI(k)表示与演讲模式相对应的每个状态的概率。确定演讲模式的概率可以至少部分地基于特定对话参与者正在讲话的时间的相对量、相对于其他对话参与者的谈话突峰的对话参与者的谈话突峰的相对长度等。如上所指出的,一些实现可以涉及发送或接收讲话者静音指示或演讲指示,例如与音频分组相关联的元数据。因此,确定演讲模式的概率可以至少部分地基于讲话者静音指示和/或演讲指示。
在一些示例中,根据网络抖动动态数据和对话交互性数据控制抖动缓冲器大小(图2的块215)可以涉及当网络抖动动态数据指示大于网络抖动的阈值量时和/或当对话交互性数据指示小于对话交互性的阈值量时,将抖动缓冲器设置成相对较大的大小。块215可以涉及当网络抖动动态数据指示小于网络抖动的阈值量时和/或当对话交互性数据指示至少对话交互性的阈值量时,将抖动缓冲器设置成相对较小的大小。在一些示例中,块215可以涉及当网络抖动动态数据指示大于网络抖动的阈值量时和/或当对话交互性数据指示小于由第一对话参与者进行的对话参与的阈值量时,将抖动缓冲器设置成相对较大的大小。在一些示例中,块215可以涉及当网络抖动动态数据指示小于网络抖动的阈值量时和/或当对话交互性数据指示至少由第一对话参与者进行的对话参与的阈值量时,将第一对话参与者的抖动缓冲器设置成相对较小的大小。
然而,依赖于实现,网络抖动动态数据和对话交互性数据可以或可以不在抖动缓冲器大小的确定中给定相等的权重。在一些实现中,例如,根据网络抖动动态数据和对话交互性数据两者控制抖动缓冲器大小可以涉及给网络抖动动态数据分配相对较小的权重以及给对话交互性数据分配相对较大的权重。例如,如果对话交互性数据指示对话处于演讲模式的概率高,可以确定相对大的抖动缓冲器大小。一些实现涉及根据至少三种抖动缓冲器控制模式之一控制抖动缓冲器大小,例如如下所述。抖动缓冲器控制模式中的每种模式可以对应于一个抖动缓冲器大小(或大小范围)。在一些实现中,“小”抖动缓冲器大小可以在几十毫秒的范围内,例如,5ms、10ms、25ms、30ms、35ms、40ms、45ms、50ms、55ms等。在一些示例中,“大”抖动缓冲器大小可以在几百毫秒的范围内,例如,500ms、600ms、700ms、800ms、900ms、1000ms、1100ms、1200ms、1300ms、1400ms、1500ms等。在一些实现中,抖动缓冲器大小可以固定的,直到网络抖动动态数据和/或对话交互性数据指示抖动缓冲器控制模式的变化。然而,在其他实现中,抖动缓冲器大小可以例如如下面所述在单个抖动缓冲器控制模式的操作期间在大小范围内自适应地变化。
图4是示出本文中所提供的一些抖动缓冲器控制方法的块的流程图。方法400例如可以(至少部分地)由服务器或被配置成用于与通信终端通信的另一这种装置如上面参照图1B描述的装置执行。然而,本文中所提供的一些方法可以(至少部分地)由通信终端执行。至于本文中所描述的其他方法,方法400的块不一定以指示的顺序执行。而且,方法400的一些实现可以包括比所示出或描述的更多或更少的块。
在此,方法400开始于块405,块405涉及接收对话分析片段的音频分组。在块410中,执行对话交互性分析,其可以是长期对话交互性分析。如本文中所使用的,“长期”时间间隔包括至少多个谈话突峰。如果在块415中确定对话交互性分析指示演讲模式,则处理继续至块440,在块440中确定长延迟/低丢失(相对大)的抖动缓冲器模式。在该示例中,长延迟/低丢失模式对应于抖动缓冲器大小,或至少对应于抖动缓冲器大小范围。因此,在该示例中,对于抖动缓冲器大小(或至少抖动缓冲大小范围),不一定要确定峰值模式检测。然而,抖动缓冲器大小可以在长延迟/低丢失模式期间自适应地变化。在一些实现中,在长延迟/低丢失模式期间,可以调整能够控制分组丢失率与抖动缓冲器延迟之间的权衡的参数,以增加缓冲器延迟的代价来降低分组丢失。
然而,如果在块415中确定对话交互性分析不指示演讲模式,处理继续到峰值模式检测模块440,其涉及分析对话分析片段的音频分组以确定网络抖动动态数据。在该示例中,块425涉及基于在块420中确定的网路抖动动态数据确定是否存在峰值模式(对应于高的网络抖动)。
如果在块425中确定网络抖动动态数据指示峰值模式,则过程继续至块435,在块435中确定峰值模式抖动缓冲器大小(或大小范围)。峰值模式抖动缓冲器大小可以是相对大的抖动缓冲器大小。在一些实现中,峰值模式抖动缓冲器大小可以是与对应于块440的长延迟/低丢失抖动缓冲器大小相同的大小,而在其他实现中,峰值模式抖动缓冲器大小可以小于对应于块440的抖动缓冲器大小。然而,抖动缓冲器大小可以在峰值模式期间自适应地变化。在一些实现中,在峰值模式期间,最大谈话突峰开始延迟将增加。在一些示例中,可以在峰值模式期间实现抖动缓冲器控制的不对称的“起音”过程和“衰减”过程。例如,在一些峰值模式实现中,抖动缓冲器控制的“起音”过程能够允许抖动缓冲器大小响应于瞬间尖峰抖动而快速增加。在一些峰值模式示例中,可以控制抖动缓冲器大小以当衰减尖峰之后存在衰减的分组的突发达到时降低分组丢失率。
如果在块425中确定网络抖动动态数据不指示峰值模式,则过程继续至块430,在块430中确定“正常模式”抖动缓冲器大小(或大小范围)。在该示例中,“正常模式”抖动缓冲器大小范围小于峰值模式抖动缓冲器大小范围,并且小于长延迟/低丢失抖动缓冲器大小范围。然而,抖动缓冲器大小可以在正常模式期间自适应地变化。例如,抖动缓冲器大小可以根据本领域技术人员已知的方法自适应地变化。可以在正在进行的基础上执行方法400,使得可以在块430、435或440中确定抖动缓冲器大小之后接收和分析附加音频分组。
在一些实现中,控制抖动缓冲器大小可以涉及根据至少三种抖动缓冲器控制模式之一设置抖动缓冲器大小。抖动缓冲器控制模式中的每个可以对应于抖动缓冲器大小(或大小范围)。在下面的表1中示出了一个示例:
表1
在该示例中,抖动缓冲器大小(或大小范围)中的最大者对应于指示大于网络抖动的阈值量的网络抖动动态数据(“为峰值模式”)以及指示小于对话交互性的阈值量的对话交互性数据(“为演讲模式”)。在此,设置与“为演讲模式”相对应的位,以及设置与“为峰值模式”相对应的位。在该实现中,最大的抖动缓冲器大小对应于长延迟/低丢失模式。在一些实现中,当网络抖动动态数据指示大于网络抖动的阈值量时以及当对话交互性数据指示小于由单个对话参与者进行的对话参与的阈值量时,将指示该模式。在一些示例中,当网络抖动动态数据指示大于网络抖动的阈值量时以及当对话交互性数据指示小于由除了一个对话参与者以外的所有对话参与者或者除了阈值数量的对话参与者以外的所有对话参与者进行的对话参与的阈值量时,将指示该模式。在一些示例中,最大抖动缓冲器大小可以在几百毫秒的范围内,例如,500ms、600ms、700ms、800ms、900ms、1000ms、1100ms、1200ms、1300ms、1400ms、1500ms等。在一些实现中,抖动缓冲器大小可以固定在最大抖动缓冲器大小,直到网络抖动动态数据和/或对话交互性数据指示变化。然而,在其他实现中,抖动缓冲器大小可以根据例如上述长延迟/低丢失模式的参数在大小范围内自适应地变化。
在该实现中,抖动缓冲器大小(或大小范围)中的最大者或第二大者对应于指示小于网络抖动的阈值量的网络抖动动态数据以及指示至少对话交互性的阈值量的对话交互性数据。在此,将“为演讲模式”设置成1,而将“为峰值模式”设置成0。在一些实现中,当网络抖动动态数据指示小于网络抖动的阈值量时以及当对话交互性数据指示小于由单个对话参与者进行的对话参与的阈值量时,将指示该模式。在一些示例中,当网络抖动动态数据指示小于网络抖动的阈值量时以及当对话交互性数据指示小于由除了一个对话参与者以外的所有对话参与者或者除了阈值数量的对话参与者以外的所有对话参与者进行的对话参与的阈值量时,将指示该模式。在该实现中,最大抖动缓冲器大小对应于长延迟/低丢失模式,该模式涉及至少三种抖动缓冲器大小(或大小范围)中的最大者。然而,在替选实现中,该情况可以对应于至少四种抖动缓冲器大小(或大小范围)中的第二大者,或两种抖动缓冲器大小(或大小范围)中的较大者。
在该示例中,抖动缓冲器大小中的第二小者对应于指示大于网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。在此,将“为演讲模式”设置成0,而将“为峰值模式”设置成1。在一些实现中,当网络抖动动态数据指示大于网络抖动的阈值量时以及当对话交互性数据指示大于由单个对话参与者进行的对话参与的阈值量时,将指示该模式。在一些示例中,当网络抖动动态数据指示大于网络抖动的阈值量时以及当对话交互性数据指示大于由阈值数量的对话参与者进行的对话参与的阈值量时,将指示该模式。在该示例中,抖动缓冲器大小中的第二小者对应于峰值模式抖动缓冲器大小。然而,在一些替选实现中,峰值模式抖动缓冲器大小可以是与对应于长延迟/低丢失模式的抖动缓冲器相同的大小。如上面所指出的,在一些实现中,在峰值模式期间抖动缓冲器大小可以是可变的。在一些实现中,在峰值模式期间,最大谈话突峰开始延迟将增加。
在一些示例中,可以在峰值模式期间实现抖动缓冲器控制的不对称的“起音”和“衰减”过程。如本文中所使用的,术语“起音”可以对应于对衰减的尖峰的响应(例如,通过增加抖动缓冲器大小),“衰减”可以对应于非起音过程,如在起音过程之后返回较低的抖动缓冲器大小。例如,对于起音过程和衰减过程应用不对称的平滑参数可以涉及如果PDV或IAT大于当前抖动缓冲器大小则应用起音平滑参数。在一些实现中,对于起音过程和衰减过程应用不对称的平滑参数可以涉及如果PDV或IAT不大于当前抖动缓冲器大小则应用衰减平滑参数。在一些峰值模式实现中,抖动缓冲器控制的“起音”过程能够允许抖动缓冲器大小响应于瞬间尖峰抖动而快速增加。可以控制抖动缓冲器大小以在衰减尖峰之后存在衰减的分组的突发达到时降低分组丢失率。
在该实现中,抖动缓冲器大小的最小者对应于指示小于网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。在一些实现中,当网络抖动动态数据指示小于网络抖动的阈值量时以及当对话交互性数据指示大于由单个对话参与者进行的对话参与的阈值量时,将指示该模式。在一些示例中,当网络抖动动态数据指示小于网络抖动的阈值量时以及当对话交互性数据指示大于由阈值数量的对话参与者进行的对话参与的阈值量时,将指示该模式。在此,将“为演讲模式”设置成0,而将“为峰值模式”设置成0,指示抖动缓冲器控制的“正常模式”以及相应的正常模式抖动缓冲器大小范围。在该示例中,正常模式抖动缓冲器大小范围小于峰值模式抖动缓冲器大小范围,并且小于长延迟/低丢失抖动缓冲器大小范围。在一些实现中,正常模式抖动缓冲器大小范围可以在几十毫秒的范围内,例如,25ms、30ms、35ms、40ms、45ms、50ms、55ms等。然而,抖动缓冲器大小可以在正常模式期间自适应地变化。例如,抖动缓冲器大小可以根据本领域技术人员已知的方法自适应地变化。
尽管可以在可以便于多个通信终端之间的通信的装置如服务器中实现本公开内容的各个方面,但是也可以(至少部分地)在单个通信终端中实现一些方面。在一些这种示例中,确定对话交互性数据可以涉及分析仅单个对话参与者的对话活动。因为这种实现可以涉及分析正在使用特定通信终端的对话参与者的对话活动,该单个对话参与者可以被称为“本地”或“近端”对话参与者。
在一些这种现中,分析单个对话参与者的对话活动可以涉及确定单个对话参与者是否正在谈话。控制抖动缓冲器大小可以涉及当单个对话参与者正在谈话时将抖动缓冲器设置成相对较小的大小(或大小范围)以及当单个对话参与者没有在谈话时将抖动缓冲器设置成相对较大的大小(或大小范围)。
当近端对话参与者正在谈话时将抖动缓冲器设置成相对较小的大小(或大小范围)能够允许其他“远端”对话参与者快速中断和/或响应近端对话参与者。当近端对话参与者没有在谈话时,该情况指示另外的对话参与者有可能正在谈话或者是相互静默时间。在这种情况下,近端对话参与者的抖动缓冲器长度可以被设置成相对较大的大小(或大小范围),因为较长延迟将会是可接受的。
根据一些这种实施方式,近端对话参与者的谈话突峰长度分布的统计可以用于控制抖动缓冲器算法。例如,如果近端对话参与者的谈话突峰倾向于相对较长,这可以指示近端通信参与者正在进行演讲。
图5是提供能够实现本公开内容的各个方面的设备的部件示例的框图。设备500例如可以是通信终端、服务器等(或可以是其一部分)。在一些示例中,该设备可以以另外的装置的部件来实现。例如,在一些实现中,设备500可以是线卡。
在该示例中,设备500包括接口***505、存储器***510和逻辑***515。逻辑***515和/或存储器***510能够在存储器***510中建立一个或更多个抖动缓冲器。接口***505可以包括网络接口、逻辑***与存储器***之间的接口、和/或外部装置接口(如通用串行总线(USB)接口)。逻辑***515例如可以包括通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、和/或离散硬件部件。
在该示例中,逻辑***515能够经由接口***接收音频数据。音频数据可以包括在与对话分析片段相对应的时间间隔期间在实际分组到达时间接收的音频分组。时间间隔可以是包括多个谈话突峰的长期时间间隔。逻辑***515能够分析音频数据以确定网络抖动动态数据和对话交互性数据,并且根据网络抖动动态数据和对话交互性数据控制抖动缓冲器大小。
分析音频数据以确定网络抖动动态数据可以涉及通过将预期分组到达时间与实际分组到达时间进行比较来确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。分析音频数据以确定网络抖动动态数据可以涉及确定延迟尖峰出现概率或延迟尖峰强度中的至少之一。
分析音频数据以确定对话交互性数据涉及确定单向谈话时间、双向谈话时间以及相互静默时间。在一些实现中,分析音频数据以确定对话交互性数据可以涉及基于启发式规则和/或对话相对熵来确定对话交互性度量(CIM)。
图6是提供音频处理设备的部件示例的框图。在该示例中,装置600包括接口***605。接口***605可以包括网络接口如无线网络接口。替代地或附加地,接口***605可以包括通用串行总线(USB)接口或另外的这种接口。
装置600包括逻辑***610。逻辑***610可以包括处理器如通用单芯片或多芯片处理器。逻辑***610可以包括数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、或离散硬件部件、或其组合。逻辑***610可以被配置成控制装置600的其他部件。例如,逻辑***610能够控制存储器***615中的一个或更多个抖动缓冲器的大小。虽然图6中未示出装置600的部件之间的接口,但是逻辑***610可以被配置有用于与其他部件通信的接口。其他部件可以适当地被配置成或可以不被配置成彼此通信。
逻辑***610可以被配置成执行音频数据分析和抖动缓冲器控制功能,包括但不限于本文中所描述的功能。在一些这种实现中,逻辑***610可以被配置成(至少部分地)根据一个或更多个非暂态介质中存储的软件进行操作。非暂态介质可以包括与逻辑***610相关联的存储器如随机存取存储器(RAM)和/或只读存储器(ROM)。非暂态介质可以包括存储器***615的存储器。存储器***615可以包括一个或更多个适当类型的非暂态存储介质,如闪存、硬盘驱动器等。
逻辑***610可以被配置成经由接口***605接收多帧编码音频数据,并且对编码音频数据进行解码。替代地或附加地,逻辑***610可以被配置成经由存储器***615与逻辑***610之间的接口接收多帧编码音频数据。逻辑***610可以被配置成根据解码音频数据控制扬声器(或多个扬声器)620。
依赖于装置600的表现形式,显示***630可以包括一个或更多个适当类型的显示器。例如,显示***630可以包括液晶显示器、等离子显示器、双稳态显示器等。
用户输入***635可以包括被配置成接收来自用户的输入的一个或更多个装置。在一些实现中,用户输入***635可以包括将显示***630的显示重叠的触摸屏。用户输入***635可以包括鼠标、跟踪球、姿势检测***、操纵杆、在显示***630上呈现的一个或更多个GUI和/或菜单、按钮、键盘、开关等。在一些实现中,用户输入***635可以包括麦克风625:用户可以经由麦克风625为装置600提供语音命令。逻辑***可以被配置用于话音识别以及用于根据这种语音命令控制装置600的至少一些操作。
电力***640可以包括一个或更多个适当的能量存储装置,如镍镉电池或锂离子电池。电力***640可以被配置成从电气插座接收电力。
本公开内容中所描述的实现的各种修改对本领域普通技术人员来说是明显的。在不偏离本公开内容的精神或范围的情况下,本文中所定义的总体原理可以应用于其他实现。从而,权利要求不意在限制本文中示出的实现,而是要与符合本公开内容的最宽范围、本文中所公开的原理和新颖的特征一致。

Claims (44)

1.一种方法,包括:
接收音频数据,所述音频数据包括在与对话分析片段相对应的时间间隔期间在实际分组到达时间接收到的音频分组;
分析所述对话分析片段的所述音频数据以确定网络抖动动态数据和对话交互性数据,其中所述网络抖动动态数据提供中继所述音频数据分组的网络中的抖动的指示,并且其中所述对话交互性数据提供由所述音频数据表示的对话的参与者之间的交互性的指示;以及
根据所述网络抖动动态数据和所述对话交互性数据两者控制抖动缓冲器大小。
2.根据权利要求1所述的方法,其中,所述对话分析片段包括多个谈话突峰。
3.根据权利要求1或2所述的方法,其中,分析所述音频数据以确定所述网络抖动动态数据涉及:至少部分地基于所述实际分组到达时间来确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。
4.根据权利要求3所述的方法,其中,确定PDV涉及将预期分组到达时间与所述实际分组到达时间进行比较。
5.根据权利要求1至4中任一项所述的方法,其中分析所述音频数据涉及确定分组延迟时间的百分位范围,并且其中确定所述网络抖动动态数据涉及确定对应于第一百分位范围的第一分组延迟时间与第二百分位范围的第二分组延迟时间之间的差的分组延迟的百分位间距范围。
6.根据权利要求1至5中任一项所述的方法,其中分析所述音频数据涉及根据分组延迟变化的次序统计确定分组延迟时间范围,所述分组延迟时间范围包括最短分组延迟时间、中间分组延迟时间和最长分组延迟时间,并且其中确定所述网络抖动动态数据涉及确定所述最长分组延迟时间之一与所述中间分组延迟时间之一间的差。
7.根据权利要求1至6中任一项所述的方法,其中,分析所述音频数据以确定所述网络抖动动态数据涉及:确定延迟尖峰出现概率或延迟尖峰强度中的至少之一。
8.根据权利要求1至7中任一项所述的方法,其中,分析所述音频数据以确定所述对话交互性数据涉及:确定单向谈话时间、双向谈话时间和相互静默时间,其中在所述单向谈话时间期间仅单个对话参与者在讲话,在所述双向谈话时间期间有两个或更多个对话参与者在讲话,在所述相互静默时间期间没有对话参与者在讲话。
9.根据权利要求1至8中任一项所述的方法,其中,分析所述音频数据以确定所述对话交互性数据涉及:确定讲话者交替率或讲话者中断率中的至少之一。
10.根据权利要求1至9中任一项所述的方法,还包括接收讲话者静音指示或演讲指示中的至少之一,其中,确定所述对话交互性数据涉及根据所述讲话者静音指示或所述演讲指示中的至少之一来确定对话交互性。
11.根据权利要求1至10中任一项所述的方法,其中,分析所述音频数据以确定所述对话交互性数据涉及:确定对话交互性度量(CIM)。
12.根据权利要求11所述的方法,其中,所述CIM基于启发式规则或对话相对熵中的至少之一。
13.根据权利要求12所述的方法,其中,所述CIM至少部分地基于启发式规则,所述启发式规则涉及讲话者交替率的阈值、单向谈话时间的阈值、双向谈话时间的阈值或相互静默时间的阈值中的至少之一的应用,其中在所述单向谈话时间期间仅单个对话参与者在讲话,在所述双向谈话时间期间有两个或更多个对话参与者在讲话,在所述相互静默时间期间没有对话参与者在讲话。
14.根据权利要求12或13所述的方法,其中所述CIM至少部分地基于对话相对熵,并且其中所述对话相对熵至少部分地基于对话状态的概率。
15.根据权利要求14所述的方法,其中,所述对话状态包括单向谈话时间的概率、双向谈话时间的概率以及相互静默时间的概率,其中在所述单向谈话时间期间仅单个对话参与者在讲话,在所述双向谈话时间期间有两个或更多个对话参与者在讲话,在所述相互静默时间期间没有对话参与者在讲话。
16.根据权利要求1至15中任一项所述的方法,其中,确定所述对话交互性数据涉及:仅分析单个对话参与者的对话活动。
17.根据权利要求16所述的方法,其中分析所述单个对话参与者的所述对话活动涉及确定所述单个对话参与者是否在谈话,并且其中控制所述抖动缓冲器大小涉及:当所述单个对话参与者在谈话时,将所述抖动缓冲器设置成相对较小的大小,当所述单个对话参与者没有在谈话时,将所述抖动缓冲器设置成相对较大的大小。
18.根据权利要求1至17中任一项所述的方法,其中,控制所述抖动缓冲器大小涉及:当所述网络抖动动态数据指示大于网络抖动的阈值量时,将抖动缓冲器设置成相对较大的大小。
19.根据权利要求1至17中任一项所述的方法,其中,控制所述抖动缓冲器大小涉及:当所述网络抖动动态数据指示大于网络抖动的阈值量或者当所述对话交互性数据指示小于第一对话参与者的对话参与的阈值量时,将所述第一对话参与者的抖动缓冲器设置成相对较大的大小。
20.根据权利要求1至17中任一项所述的方法,其中,控制所述抖动缓冲器大小涉及:当所述网络抖动动态数据指示小于网络抖动的阈值量或者当所述对话交互性数据指示至少对话交互性的阈值量时,将所述抖动缓冲器设置成相对较小的大小。
21.根据权利要求1至17中任一项所述的方法,其中,控制所述抖动缓冲器大小涉及:当所述网络抖动动态数据指示小于网络抖动的阈值量或者当所述对话交互性数据指示至少第一对话参与者的对话参与的阈值量时,将所述第一对话参与者的抖动缓冲器设置成相对较小的大小。
22.根据权利要求1至21中任一项所述的方法,其中,控制所述抖动缓冲器大小涉及:给所述网络抖动动态数据分配相对较小的权重,以及给所述对话交互性数据分配相对较大的权重。
23.根据权利要求1至22中任一项所述的方法,其中,控制所述抖动缓冲器大小涉及:根据至少三个抖动缓冲器控制模式之一设置抖动缓冲器大小。
24.根据权利要求23所述的方法,其中,每个抖动缓冲器控制模式对应于抖动缓冲器大小。
25.根据权利要求23所述的方法,其中,每个抖动缓冲器控制模式对应于抖动缓冲器大小的范围。
26.根据权利要求23所述的方法,其中,所述抖动缓冲器控制模式包括峰值模式、低丢失模式和正常模式。
27.根据权利要求23至26中任一项所述的方法,其中,所述抖动缓冲器控制模式之一对应于指示大于网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。
28.根据权利要求23至27中任一项所述的方法,其中,所述抖动缓冲器控制模式之一对应于指示大于网络抖动的阈值量的网络抖动动态数据以及指示至少对话交互性的阈值量的对话交互性数据。
29.根据权利要求23至28中任一项所述的方法,其中,所述抖动缓冲器控制模式之一对应于指示大于网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。
30.根据权利要求23至29中任一项所述的方法,其中,所述抖动缓冲器控制模式之一对应于指示小于网络抖动的阈值量的网络抖动动态数据以及指示小于对话交互性的阈值量的对话交互性数据。
31.一种存储有软件的非暂态介质,所述软件包括用于控制设备进行以下操作的指令:
接收音频数据,所述音频数据包括在与对话分析片段相对应的时间间隔期间在实际分组到达时间接收到的音频分组;
分析所述音频数据以确定网络抖动动态数据和对话交互性数据,其中所述网络抖动动态数据提供中继所述音频数据分组的网络中的抖动的指示,并且其中所述对话交互性数据提供由所述音频数据表示的对话的参与者之间的交互性的指示;以及
根据所述网络抖动动态数据和所述对话交互性数据控制抖动缓冲器大小。
32.根据权利要求31所述的非暂态介质,其中,所述对话分析片段包括多个谈话突峰。
33.根据权利要求31或32所述的非暂态介质,其中,分析所述音频数据以确定所述网络抖动动态数据涉及:通过将预期分组到达时间与所述实际分组到达时间进行比较来确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。
34.根据权利要求31至33中任一项所述的非暂态介质,其中,分析所述音频数据以确定所述网络抖动动态数据涉及:确定延迟尖峰出现概率或延迟尖峰强度中的至少之一。
35.根据权利要求31至34中任一项所述的非暂态介质,其中,分析所述音频数据以确定所述对话交互性数据涉及确定单向谈话时间、双向谈话时间和相互静默时间,其中在所述单向谈话时间期间仅单个对话参与者在讲话,在所述双向谈话时间期间有两个或更多个对话参与者在讲话,在所述相互静默时间期间没有对话参与者在讲话。
36.根据权利要求31至35中任一项所述的非暂态介质,其中,分析所述音频数据以确定所述对话交互性数据涉及:基于启发式规则或对话相对熵中的至少之一来确定对话交互性度量(CIM)。
37.一种设备,包括:
接口***;
存储器***,其包括抖动缓冲器;以及
逻辑***,其能够:
经由所述接口***接收音频数据,所述音频数据包括在与对话分析片段相对应的时间间隔期间在实际分组到达时间接收到的音频分组;
分析所述音频数据以确定网络抖动动态数据和对话交互性数据,其中所述网络抖动动态数据提供中继所述音频数据分组的网络中的抖动的指示,并且其中所述对话交互性数据提供由所述音频数据表示的对话的参与者之间的交互性的指示;以及
根据所述网络抖动动态数据和所述对话交互性数据控制抖动缓冲器大小。
38.根据权利要求37所述的设备,其中,所述对话分析片段包括多个谈话突峰。
39.根据权利要求37或38所述的设备,其中,分析所述音频数据以确定所述网络抖动动态数据涉及:通过将预期分组到达时间与所述实际分组到达时间进行比较来确定分组延迟变化(PDV)或到达间隔时间(IAT)变化中的至少之一。
40.根据权利要求37至39中任一项所述的设备,其中,分析所述音频数据以确定所述网络抖动动态数据涉及:确定延迟尖峰出现概率或延迟尖峰强度中的至少之一。
41.根据权利要求37至40中任一项所述的设备,其中,分析所述音频数据以确定所述对话交互性数据涉及确定单向谈话时间、双向谈话时间和相互静默时间,其中,在所述单向谈话时间期间仅单个对话参与者在讲话,在所述双向谈话时间期间有两个或更多个对话参与者在讲话,在所述相互静默时间期间没有对话参与者在讲话。
42.根据权利要求37至41中任一项所述的设备,其中,分析所述音频数据以确定所述对话交互性数据涉及:基于启发式规则或对话相对熵中的至少之一来确定对话交互性度量(CIM)。
43.根据权利要求37至42中任一项所述的设备,其中,所述接口***包括网络接口、所述逻辑***与所述存储器***之间的接口或者外部装置接口中的至少之一。
44.根据权利要求37至43中任一项所述的设备,其中,所述逻辑***包括通用单芯片处理器或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、或者分立的硬件部件中的至少之一。
CN201410152754.9A 2014-04-16 2014-04-16 基于对延迟抖动和对话动态的监视的抖动缓冲器控制 Pending CN105099949A (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201410152754.9A CN105099949A (zh) 2014-04-16 2014-04-16 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
EP15718706.3A EP3132551B1 (en) 2014-04-16 2015-04-09 Jitter buffer control based on monitoring of delay jitter and conversational dynamics
ES19171996T ES2967189T3 (es) 2014-04-16 2015-04-09 Control de memoria intermedia de fluctuación basado en monitorización de la fluctuación de retardo y la dinámica conversacional
EP23206649.8A EP4293670A3 (en) 2014-04-16 2015-04-09 Jitter buffer control based on monitoring of delay jitter and conversational dynamics
EP19171996.2A EP3550743B1 (en) 2014-04-16 2015-04-09 Jitter buffer control based on monitoring of delay jitter and conversational dynamics
US15/302,945 US10742531B2 (en) 2014-04-16 2015-04-09 Jitter buffer control based on monitoring of delay jitter and conversational dynamics
PCT/US2015/025078 WO2015160617A1 (en) 2014-04-16 2015-04-09 Jitter buffer control based on monitoring of delay jitter and conversational dynamics
US16/988,571 US11632318B2 (en) 2014-04-16 2020-08-07 Jitter buffer control based on monitoring of delay jitter and conversational dynamics
US18/301,795 US20230254231A1 (en) 2014-04-16 2023-04-17 Jitter buffer control based on monitoring of delay jitter and conversational dynamics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410152754.9A CN105099949A (zh) 2014-04-16 2014-04-16 基于对延迟抖动和对话动态的监视的抖动缓冲器控制

Publications (1)

Publication Number Publication Date
CN105099949A true CN105099949A (zh) 2015-11-25

Family

ID=54324440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410152754.9A Pending CN105099949A (zh) 2014-04-16 2014-04-16 基于对延迟抖动和对话动态的监视的抖动缓冲器控制

Country Status (5)

Country Link
US (3) US10742531B2 (zh)
EP (3) EP3550743B1 (zh)
CN (1) CN105099949A (zh)
ES (1) ES2967189T3 (zh)
WO (1) WO2015160617A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554019A (zh) * 2016-01-08 2016-05-04 全时云商务服务股份有限公司 一种音频去抖动***和方法
CN105939289A (zh) * 2015-12-21 2016-09-14 小米科技有限责任公司 网络抖动处理方法、装置和终端设备
CN111327657A (zh) * 2018-12-14 2020-06-23 诺基亚通信公司 数据缓冲的方法、设备和计算机可读介质
CN111492638A (zh) * 2017-12-22 2020-08-04 英国电讯有限公司 管理流式音频通信会话
CN113162812A (zh) * 2020-01-07 2021-07-23 阿里巴巴集团控股有限公司 语音处理方法、直播的语音播放方法、装置、设备及***
CN113300901A (zh) * 2020-08-27 2021-08-24 阿里巴巴集团控股有限公司 一种数据流监控方法、装置、电子设备以及存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099795A (zh) * 2014-04-15 2015-11-25 杜比实验室特许公司 抖动缓冲器水平估计
US9749205B2 (en) 2014-06-27 2017-08-29 Agora Lab, Inc. Systems and methods for visualizing a call over network
FR3024582A1 (fr) * 2014-07-29 2016-02-05 Orange Gestion de la perte de trame dans un contexte de transition fd/lpd
US10439951B2 (en) 2016-03-17 2019-10-08 Dolby Laboratories Licensing Corporation Jitter buffer apparatus and method
US10454811B2 (en) 2017-04-07 2019-10-22 Qualcomm Incorporated Apparatus and method for de-jitter buffer delay adjustment
CN113766073B (zh) * 2017-09-29 2024-04-16 杜比实验室特许公司 会议***中的啸叫检测
US11343301B2 (en) * 2017-11-30 2022-05-24 Goto Group, Inc. Managing jitter buffer length for improved audio quality
CN110351201B (zh) * 2018-04-04 2021-09-14 华为技术有限公司 一种数据处理方法及装置
US11062727B2 (en) * 2018-06-13 2021-07-13 Ceva D.S.P Ltd. System and method for voice activity detection
US10735120B1 (en) * 2019-03-20 2020-08-04 Qualcomm Incorporated Reducing end-to-end delay for audio communication
CN110113270B (zh) * 2019-04-11 2021-04-23 北京达佳互联信息技术有限公司 网络通信的抖动控制方法、装置、终端及存储介质
US20210312920A1 (en) * 2020-04-02 2021-10-07 Soundhound, Inc. Multi-modal audio processing for voice-controlled devices
CN111580777B (zh) * 2020-05-06 2024-03-08 北京达佳互联信息技术有限公司 音频处理方法、装置、电子设备及存储介质
US20230300090A1 (en) * 2020-07-20 2023-09-21 Google Llc Adaptive resizing of audio jitter buffer based on current network conditions
JP2022107993A (ja) * 2021-01-12 2022-07-25 ヤマハ株式会社 信号処理方法、信号処理装置、および信号処理プログラム

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6683889B1 (en) 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
GB2356523A (en) 1999-11-19 2001-05-23 Mitel Corp Dynamic adaptation voice audio jitter control method
SE517156C2 (sv) 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
US6775301B1 (en) 2000-03-08 2004-08-10 3Com Corporation System and method for compensating for channel jitter
SE518941C2 (sv) * 2000-05-31 2002-12-10 Ericsson Telefon Ab L M Anordning och förfarande relaterande till kommunikation av tal
US7697447B2 (en) 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
US7319703B2 (en) * 2001-09-04 2008-01-15 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
US7170901B1 (en) 2001-10-25 2007-01-30 Lsi Logic Corporation Integer based adaptive algorithm for de-jitter buffer control
US20030112758A1 (en) 2001-12-03 2003-06-19 Pang Jon Laurent Methods and systems for managing variable delays in packet transmission
US20030115320A1 (en) * 2001-12-19 2003-06-19 Yarroll Lamonte H.P. Method for tuning voice playback ratio to optimize call quality
US7079486B2 (en) 2002-02-13 2006-07-18 Agere Systems Inc. Adaptive threshold based jitter buffer management for packetized data
US7269141B2 (en) * 2002-09-24 2007-09-11 Accton Technology Corporation Duplex aware adaptive playout method and communications device
US7333476B2 (en) * 2002-12-23 2008-02-19 Broadcom Corporation System and method for operating a packet voice far-end echo cancellation system
US7359324B1 (en) 2004-03-09 2008-04-15 Nortel Networks Limited Adaptive jitter buffer control
US7170545B2 (en) 2004-04-27 2007-01-30 Polycom, Inc. Method and apparatus for inserting variable audio delay to minimize latency in video conferencing
JP4462996B2 (ja) 2004-04-27 2010-05-12 富士通株式会社 パケット受信方法及びパケット受信装置
US7675873B2 (en) * 2004-12-14 2010-03-09 Alcatel Lucent Enhanced IP-voice conferencing
US7746847B2 (en) 2005-09-20 2010-06-29 Intel Corporation Jitter buffer management in a packet-based network
TWI305101B (en) 2006-03-10 2009-01-01 Ind Tech Res Inst Method and apparatus for dynamically adjusting playout delay
CN101548500A (zh) 2006-12-06 2009-09-30 艾利森电话股份有限公司 抖动缓冲器控制
US8619642B2 (en) * 2007-03-27 2013-12-31 Cisco Technology, Inc. Controlling a jitter buffer
US7733893B2 (en) 2007-06-29 2010-06-08 Global Ip Solutions (Gips) Ab Method and receiver for determining a jitter buffer level
US7852882B2 (en) 2008-01-24 2010-12-14 Broadcom Corporation Jitter buffer adaptation based on audio content
CN101926134B (zh) 2008-01-25 2013-06-19 艾利森电话股份有限公司 用于网络节点的简单适配抖动缓冲器算法
WO2009113926A1 (en) 2008-03-13 2009-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Method for manually optimizing jitter, delay and synch levels in audio-video transmission
WO2009128753A1 (en) 2008-04-17 2009-10-22 Telefonaktiebolaget Lm Ericsson (Publ) Coversational interactivity measurement and estimation for real-time media
JP5083097B2 (ja) 2008-07-30 2012-11-28 日本電気株式会社 ジッターバッファ制御方法と通信装置
US20100265834A1 (en) * 2009-04-17 2010-10-21 Avaya Inc. Variable latency jitter buffer based upon conversational dynamics
US8848525B2 (en) 2009-06-10 2014-09-30 Genband Us Llc Methods, systems, and computer readable media for providing adaptive jitter buffer management based on packet statistics for media gateway
JP5443918B2 (ja) * 2009-09-18 2014-03-19 株式会社ソニー・コンピュータエンタテインメント 端末装置、音声出力方法および情報処理システム
US8693355B2 (en) 2010-06-21 2014-04-08 Motorola Solutions, Inc. Jitter buffer management for power savings in a wireless communication device
US8437026B2 (en) * 2010-07-14 2013-05-07 Dialogic Corporation Compensation for facsimile transmission in a packet switched network
KR101399604B1 (ko) * 2010-09-30 2014-05-28 한국전자통신연구원 지터버퍼 조정장치, 전자장치 및 그 방법
US20120203491A1 (en) 2011-02-03 2012-08-09 Nokia Corporation Method and apparatus for providing context-aware control of sensors and sensor data
US9787416B2 (en) * 2012-09-07 2017-10-10 Apple Inc. Adaptive jitter buffer management for networks with varying conditions
CN103888381A (zh) * 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
CN103888630A (zh) * 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制声学回声消除的方法和音频处理装置
SG11201510459YA (en) 2013-06-21 2016-01-28 Fraunhofer Ges Forschung Jitter buffer control, audio decoder, method and computer program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939289A (zh) * 2015-12-21 2016-09-14 小米科技有限责任公司 网络抖动处理方法、装置和终端设备
US10129161B2 (en) 2015-12-21 2018-11-13 Xiaomi Inc. Method and apparatus for handling network jitter
CN105939289B (zh) * 2015-12-21 2019-03-12 小米科技有限责任公司 网络抖动处理方法、装置和终端设备
CN105554019A (zh) * 2016-01-08 2016-05-04 全时云商务服务股份有限公司 一种音频去抖动***和方法
CN105554019B (zh) * 2016-01-08 2018-07-24 全时云商务服务股份有限公司 一种音频去抖动***和方法
CN111492638A (zh) * 2017-12-22 2020-08-04 英国电讯有限公司 管理流式音频通信会话
CN111492638B (zh) * 2017-12-22 2022-05-31 英国电讯有限公司 管理多个用户设备之间的流式音频通信会话的方法和装置
US11363083B2 (en) 2017-12-22 2022-06-14 British Telecommunications Public Limited Company Managing streamed audio communication sessions
CN111327657A (zh) * 2018-12-14 2020-06-23 诺基亚通信公司 数据缓冲的方法、设备和计算机可读介质
CN113162812A (zh) * 2020-01-07 2021-07-23 阿里巴巴集团控股有限公司 语音处理方法、直播的语音播放方法、装置、设备及***
CN113300901A (zh) * 2020-08-27 2021-08-24 阿里巴巴集团控股有限公司 一种数据流监控方法、装置、电子设备以及存储介质
CN113300901B (zh) * 2020-08-27 2024-03-12 阿里巴巴集团控股有限公司 一种数据流监控方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
EP4293670A2 (en) 2023-12-20
US20230254231A1 (en) 2023-08-10
ES2967189T3 (es) 2024-04-29
US10742531B2 (en) 2020-08-11
EP4293670A3 (en) 2024-03-20
US20170034026A1 (en) 2017-02-02
US20210029009A1 (en) 2021-01-28
EP3132551B1 (en) 2019-05-01
EP3550743B1 (en) 2023-11-01
US11632318B2 (en) 2023-04-18
WO2015160617A1 (en) 2015-10-22
EP3132551A1 (en) 2017-02-22
EP3550743A1 (en) 2019-10-09

Similar Documents

Publication Publication Date Title
CN105099949A (zh) 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
EP3132579B1 (en) Jitter buffer level estimation
CN102572369B (zh) 语音音量提示的方法、语音音量提示终端及视频通信***
EP3155795B1 (en) In-service monitoring of voice quality in teleconferencing
CN108028764A (zh) 用于使用个人通信设备的虚拟会议***的方法和***
CN114616606A (zh) 具有改进的目的地回放的多设备会议
CN103841275B (zh) 基于QoS的交互音频体验质量评测平台及评测方法
US20170208105A1 (en) Replaying content of a virtual meeting
CN107534589A (zh) 去抖动缓冲器更新
CN110324565A (zh) 音频输出方法、装置、会议主机、存储介质及电子装置
CN107113283B (zh) 在低延迟多媒体流式传输环境中处理有问题的模式的方法
US10439951B2 (en) Jitter buffer apparatus and method
CN104168218B (zh) 抖动缓冲方法及装置
CN103354588A (zh) 录放音采样率的确定方法、装置及***
CN103794216A (zh) 一种语音混音处理方法及装置
US20230031866A1 (en) System and method for remote audio recording
CN113261300B (zh) 音频发送、播放的方法及智能电视
Qiao et al. A new buffer algorithm for speech quality improvement in VoIP systems
CN108924465A (zh) 视频会议发言人终端的确定方法、装置、设备和存储介质
CN113613125B (zh) 音频同步控制方法、装置及音频设备、***
CN107852414A (zh) 用于使用个人通信设备的虚拟会议***的方法和***
TWI237481B (en) Duplex aware adaptive playout method and communications device
Li Simulator for adaptive multimedia transmission over wireless networks
Yeo Finding perceptually optimal operating points of a real time interactive video-conferencing system
Norlund Voice over IP in PDC Packet Data Network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151125

WD01 Invention patent application deemed withdrawn after publication