CN102779517A - 用于语音ip传输的自适应去抖动缓冲器 - Google Patents

用于语音ip传输的自适应去抖动缓冲器 Download PDF

Info

Publication number
CN102779517A
CN102779517A CN2012102366244A CN201210236624A CN102779517A CN 102779517 A CN102779517 A CN 102779517A CN 2012102366244 A CN2012102366244 A CN 2012102366244A CN 201210236624 A CN201210236624 A CN 201210236624A CN 102779517 A CN102779517 A CN 102779517A
Authority
CN
China
Prior art keywords
time
regular
jitter buffer
grouping
groups
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
CN2012102366244A
Other languages
English (en)
Inventor
P.J.布莱克
R.卡普尔
S.D.斯平多拉
M.亚武兹
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102779517A publication Critical patent/CN102779517A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Dc Digital Transmission (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本发明公开了一种用于分组交换通信的语音IP传输(VoIP)的自适应去抖动缓冲器。本发明所提供的去抖动缓冲器方法和设备避免了下溢的再现,同时平衡了端对端延迟。在一个实例中,去抖动缓冲器在每个话音突峰的开头被重新计算。在另一实例中,话音突峰分组在接收到所有剩余的分组后被压缩。

Description

用于语音IP传输的自适应去抖动缓冲器
本申请是2005年8月30日提交的中国专利申请号为200580036630.3(国际申请号为PCT/US2005/030894)的题为“用于语音IP传输的自适应去抖动缓冲器”的国际申请的分案。
本专利申请要求2004年8月30日提交的标题为“Adaptive De-JitterBuffer For Voice Over IP for Packet Switched Communications”的美国临时申请第60/606,036号的优先权,该临时申请已被转让给其受让人。
技术领域
本发明涉及无线通信系统,并具体涉及用于分组交换通信的语音因特网协议(VoIP)的自适应去抖动缓冲器。本发明适用于可能会丢失分组的任何系统。
背景技术
在通信系统中,可将分组的端对端延迟定义为从该分组在信号源处被生成的时刻到该分组到达其目的地的时刻所经过的时间。在分组交换通信系统中,分组从信号源传播到目的地的延迟可能会取决于包括但不限于信道条件和网络负载的各种工作条件而变化。信道条件是指无线链路的质量。确定无线链路质量的一些因素是信号强度、移动速度和/或物理障碍。
端对端延迟包括在网络和分组所经过的各种元件中引入的延迟。许多因素都能影响端对端延迟。端对端延迟中的变化被称为抖动。抖动会导致在分组不再有用之后才接收到分组。例如,在诸如语音的低等待时间应用中,如果分组被接收到太晚,则它可能会被接收器丢弃。这样的状况导致通信质量的恶化。
附图说明
图1是现有技术通信系统的框图,其中接入终端包括去抖动缓冲器;
图2示出了现有技术的去抖动缓冲器;
图3是示出导致“下溢”的分组的传输、接收和再现的时序图;
图4A和4B是示出两种情形下的最佳去抖动缓冲器长度的计算的时序图;
图5是示出由延迟分组引起的“下溢”的形成过程的时序图;
图6是示出目标去抖动缓冲器长度的计算的流程图;
图7A是示出第一情形下的分组的传输的时序图;
图7B是示出没有采用去抖动缓冲器自适应的分组的接收的时序图;
图7C是示出采用去抖动缓冲器自适应的分组的接收的时序图,其中接收器可以在分组的预期时刻之后接收到该分组。
图8A是示出允许接收器在分组的预期时刻之后接收到该分组的隐式缓冲器自适应的一个实例的流程图;
图8B是自适应去抖动缓冲器的操作模式的状态图;
图9是示出根据另一实例的去抖动缓冲器自适应的应用的时序图;
图10是示出根据一个实例的话音突峰中的语音信息的传输的示图,其中去抖动缓冲器延迟不足以避免数据碰撞;
图11是含有自适应去抖动缓冲器的通信系统的框图;
图12是包括自适应去抖动缓冲器和时间规整单元的接收器的一部分的框图;
图13A示出了包括压缩和扩展阈值的自适应去抖动缓冲器的一个实例;
图13B示出了包括多个压缩和扩展阈值的自适应去抖动缓冲器的一个实例;
图14是示出对具有不同延迟的分组的接收进行时间规整的过程的时序图;
图15是示出以下实例的时序图:i)话音片段的静音部分的压缩;和ii)话音片段的静音部分的扩展;
图16是示出话音信号的时序图,其中话音信号的一些部分会重复;
图17A是示出话音片段的示图,其中被称为RWindowSize的用于重叠相加(add-overlap)操作的参考窗口中的PCM样本的数目被标识,并且其中被称为Segment的目标片段大小或期望的片段大小被标识;
图17B是示出根据一个实例的应用重叠相加操作来压缩话音片段的方法的示图;
图18A是示出多个话音片段的示图,其中被称为RWindowSize的用于重叠相加操作的参考窗口中的PCM样本的数目被标识,并且其中被称为Segment的目标片段大小或期望的片段大小被标识以为扩展当前话音片段作准备;
图18B是示出根据一个实例的应用重叠相加操作来扩展话音样本的方法的示图;
图18C是示出根据可选实例的应用操作来扩展话音样本的方法的示图;
图19是示出对分组进行扩展以便为混合ARQ重传情况下延迟的分组和失序到达的分组的到达留出余地的方法的示图;
图20是示出两个用户之间的会话的时间线的示图;
图21是示出根据一个实例的在话音突峰开头处的增强的流程图;
图22是示出根据可选实例的在话音突峰开头处的增强的示图;
图23是示出话音突峰结尾的增强的示图;
图24是示出根据一个实例的在话音突峰结尾处的增强的流程图;
图25是示出现有技术的去抖动缓冲器和解码器系统的操作的示图,其中去抖动缓冲器以规则的时间间隔向解码器传递分组;
图26是示出根据一个实例的自适应去抖动缓冲器和解码器的操作的示图,其中自适应去抖动缓冲器以不规则的时间间隔向解码器传递分组;
图27是示出根据一个实例的包括自适应去抖动缓冲器和时间规整(time wrap)控制单元的接入终端(AT)的框图;
图28示出了根据一个实例的包括自适应去抖动缓冲器并适于对分组进行时间规整的接收器的一部分;
图29示出了根据另一实例的包括自适应去抖动缓冲器并适于对分组进行时间规整的接收器的可选实例;
图30是示出根据一个实例的包括自适应去抖动缓冲器并适于对分组进行时间规整的接收器的一个实例中的解码器中的调度器的一个实例的流程图;
图31是示出接收器的一个实例中的音频接口单元中的调度器的流程图;
图32示出了在解码器外部计算调度方案的时间规整单元;
图33示出了在解码器中的时间规整单元中计算调度方案的时间规整单元。
具体实施方式
在分组交换系统中,数据被形成为分组并通过网络被路由。每个分组基于分组内(典型为信头中)包含的分配地址而被发送到网络中的目的地。分组的端对端延迟,或者分组在网络内从第一用户或“发送者”传播到第二用户或“接收者”所花费的时间,取决于以下因素而变化:信道条件,网络负载,系统的服务质量(QoS)能力,以及除这些因素之外的竞争资源的其它流。应注意,为了清楚起见,下面的讨论描述支持分组数据通信的扩频通信系统,其包括但不限于码分多址(CDMA)系统、正交频分多址(OFDMA)系统、宽带码分多址(W-CDMA)系统、全球移动通信系统(GSM)、支持诸如802.11(A、B、G)、802.16等的IEEE标准的系统。
在无线通信系统中,每个分组可能会遭受与属于相同流的其它分组所经历的延迟不同的从源到目的地的延迟。延迟中的这种变化被称为“抖动”。抖动对接收器端的应用产生额外的复杂性。如果接收器不校正抖动,则接收到的消息在分组被重新组合时将会失真。一些系统在根据接收到的分组而重建消息时对抖动进行校正。这样的系统包含增加(被称为抖动缓冲器延迟的)等待时间的去抖动缓冲器。当去抖动缓冲器施加固定的较大的去抖动缓冲器延迟时,它可以容纳分组到达时间中的大抖动量;然而,这种使用方式并不高效,因为具有较小延迟的分组也通过使用较大的去抖动缓冲器延迟而被处理,尽管这些分组可能已在之前被处理过。对于这些分组而言,这会导致比通过使用较小的去抖动缓冲器延迟而得到的延迟更大的端对端延迟。
为了防止这种情况,含有去抖动缓冲器的VoIP系统可以试图适应分组延迟中的变化。例如,去抖动缓冲器可以通过分析分组到达的统计数据来检测分组延迟中的变化。许多去抖动缓冲器实现方案根本不使它们的延迟自适应,并且被配置成具有保守的大延迟。在这种情况下,去抖动缓冲器可能会对分组加入过大的延迟,从而使用户的体验处于次优状态。
下面的讨论描述的是通过改变去抖动缓冲器延迟来适应分组延迟行为中的变化的自适应去抖动缓冲器。该去抖动缓冲器利用话音时间规整来增强其跟踪分组的可变延迟的能力。下面的讨论适用于分组化的通信,诸如具有周期性数据传输、低等待时间要求、数据的顺序处理或指定再现速率的通信。特别地,下面的讨论详细描述语音通信,其中数据或者话音和静音源于信号源并被传输到目的地用于再现。原始数据被分组并使用已知的编码方案被编码。在接收器处,为数据的每个分组确定编码方案。在话音通信中,例如,对话音进行的编码的类型不同于对静音进行的编码的类型。这允许通信系统利用包括静音部分的话音的周期性本质。对于话音通信,数据呈现突发性,并且话音内容可能会呈现重复性。由于语音通信的参与者不希望听到延迟,而通信的质量仅允许有限的延迟,所以分组化的话音传输具有低等待时间要求。分组化的话音可能会采取不同的路径来到达接收器,然而,在接收后,分组将以它们的原始顺序被重新编译。因此,接收到的分组化话音被顺序地再现。如果分组在空中传输或者物理层处理过程中被丢失,则该分组无法恢复,但是接收器可以估计或猜测该分组的内容。另外,话音通信的再现速率具有预定的再现速率或范围。如果再现速率在该范围之外,则接收器处的质量会恶化。本讨论的应用的一个实例是将其应用于话音通信。其它应用可包括视频通信、游戏通信或具有与话音通信类似的特性、规范和/或要求的其它通信。例如,视频通信可能会期望使再现加速或减速。本讨论对于这样的应用可能是合乎要求的。如在本文中提供的那样,自适应去抖动缓冲器可以允许接收器实现系统的抖动要求所指定的服务质量。自适应去抖动缓冲器使目标去抖动缓冲器长度(例如,去抖动缓冲器中存储的数据量)适应于在该自适应去抖动缓冲器处接收到的数据的定时和数据量。此外,自适应去抖动缓冲器使用该去抖动缓冲器的状态或大小(例如,自适应去抖动缓冲器中存储的数据的度量)来确定何时进行时间规整对接收到的数据的处理和再现是有益的。例如,如果数据以低速率到达自适应去抖动缓冲器,则自适应去抖动缓冲器将该信息提供给时间规整单元,从而允许时间规整单元扩展接收到的分组。如果自适应去抖动缓冲器中存储的数据超过阈值,则自适应去抖动缓冲器提醒时间规整单元压缩分组以便有效地跟上到来的数据。应注意,时间规整是在可由通信的应用和类型定义的限度内进行的。例如,在话音通信中,时间规整不应该压缩话音(即,提高音高),以免收听者无法理解通信内容。类似地,时间规整不应该将话音扩展出某一范围之外。在理想情况下,时间规整的范围被定义为使得收听者几乎没有不适或完全没有不适。
通信系统
图1是示出数字通信系统50的框图。两个接入终端(AT)52和82经由基站(BS)70进行通信。在AT 52内,发射处理单元64将语音数据发送给编码器60,该编码器60对语音数据进行编码和将其分组化并将经分组的数据发送给低层处理单元58。然后为了实现发射,数据被发送给BS 70。BS 70处理接收到的数据并将数据发射到AT 82,其中数据在低层处理单元88被接收。然后数据被提供给去抖动缓冲器86,该去抖动缓冲器86存储数据以便隐藏或减小抖动的影响。数据从去抖动缓冲器86被发送给解码器84,并接着被发送给接收处理单元92。
为了从AT 82发射,数据/语音从发射处理单元94被提供给编码器90。低层处理单元88处理用于发射到BS 70的数据。为了在AT 52接收来自BS 70的数据,数据在低层处理单元58被接收。然后数据的分组被发送给去抖动缓冲器56,在这里它们被存储直到达到所需的缓冲器长度或延迟为止。一旦达到该长度或延迟,去抖动缓冲器56就开始向解码器54发送数据。解码器54将经分组的数据转换成语音数据分组并将分组发送给接收处理单元62。在本实例中,AT 52的行为与AT82类似。
去抖动缓冲器
存储器或去抖动缓冲器被用在诸如上述的AT中,以便隐藏抖动的影响。在一个实例中,自适应去抖动缓冲器被用于诸如VoIP通信的分组交换通信。去抖动缓冲器具有自适应缓冲存储器并使用话音时间规整来增强其跟踪可变延迟和抖动的能力。在该实例中,使去抖动缓冲器的处理与解码器的处理相协调,其中去抖动缓冲器确定对分组进行时间规整的时机或需要,并指示解码器对分组进行时间规整。解码器通过按照去抖动缓冲器的指示对分组进行压缩或扩展,来对分组进行时间规整。
图2示出了去抖动缓冲器的一个实例。到来的编码分组被累积和存储在缓冲器中。在一个实例中,缓冲器是先进先出(FIFO)缓冲器,其中数据以特定顺序被接收并以相同的顺序被处理;首先被处理的数据是首先被接收的数据。在另一实例中,去抖动缓冲器是记录下一个要处理的分组的有序列表。自适应去抖动缓冲器可以是存储器存储单元,其中去抖动缓冲器的状态是自适应去抖动缓冲器中存储的数据的度量(或分组数量)。由去抖动缓冲器处理的数据可从去抖动缓冲器发送给解码器或其它装置。经编码的分组可以对应于固定量(例如,与8Khz采样速率下的话音数据的160个样本相对应的20msec)的话音数据。在本发明的一个实例中,具有时间规整功能的解码器所产生的样本数目,可以基于分组是否经过了时间规整而变化。当去抖动缓冲器指示解码器/时间规整器对分组进行扩展时,解码器/时间规整器可产生多于160个样本。另一方面,当去抖动缓冲器指示解码器/时间规整器对分组进行压缩时,解码器/时间规整器可产生少于160个样本。应注意,可选系统可以具有不同的再现方案,诸如不同于20ms语音编码的再现方案。
到达去抖动缓冲器的分组可能不会以规则间隔到达。因此去抖动缓冲器的设计目标之一是调整到来的数据的不规则性。在本发明的一个实例中,去抖动缓冲器具有目标去抖动缓冲器长度。目标去抖动缓冲器长度是指在开始再现第一分组之前需要在去抖动缓冲器中累积的数据量。在另一实例中,目标去抖动缓冲器长度可以指去抖动缓冲器中的第一分组在再现之前需要被延迟的时间量。图2示出了目标去抖动缓冲器长度。通过在开始分组的再现之前在去抖动缓冲器中累积足够的分组,去抖动缓冲器能够以规则间隔再现随后的分组,同时将分组被用光的潜在可能性最小化。图2示出了去抖动缓冲器,其中首先接收到去抖动缓冲器中的声码器分组,是被调度为从去抖动缓冲器输出的下一分组。去抖动缓冲器包括充足的分组来实现所需的去抖动缓冲器延迟。这样,去抖动缓冲器使分组所经历的抖动变得平滑并隐藏分组到达接收器的时间的变化。
图3示出了各种情形下的分组的传输、接收和再现的时间线。第一分组PKT1在时刻t0被传输,并在时刻t1被接收,并被再现。随后的分组PKT2、PKT3和PKT4在PKT1之后以20ms的间隔被传输。在没有时间规整的情况下,解码器从第一分组的再现时刻起,以规则的时间间隔(例如,20ms)再现分组。例如,如果解码器以规则的20ms间隔再现分组,则第一个接收到的分组在时刻t1得到再现,并且随后的分组将在时刻t1后的20ms、时刻t1后的40ms、时刻t1后的60ms等时刻得到再现。如图3所示,PKT2(在不采用去抖动缓冲器延迟的情况下)的预期再现时刻为t2=t1+20ms。PKT2在其预期再现时刻t2之前被接收到。另一方面,分组3在其预期再现时刻t3=t2+20ms之后被接收到。这种状况被称为下溢。当再现装置准备好再现分组,而分组却没有存在于去抖动缓冲器中时,就会发生下溢。典型地,下溢会使解码器产生擦除(erasure)并使再现质量恶化。
图3还示出了第二种情形,在该情形中,去抖动缓冲器在第一分组的再现之前引入延迟tdjb。在这种情形下,去抖动缓冲器延迟被加入以便使再现装置每20ms都能够接收到分组(或样本)。在这种情形下,尽管PKT 3在其预期再现时刻t3之后才被接收到,但是去抖动缓冲器延迟的加入使得PKT 3在PKT 2再现之后的20ms得到再现。
现在,PKT 1在时刻t0被发送,在时刻t1被接收,并在时刻t1+tdjb=t1’被再现,而不是像先前那样,在时刻t1被再现。再现装置在PKT1之后以例如20ms的预定间隔再现PKT2,或者在时刻t2’=t1+tdjb+20=t2+tdjb再现PKT 2,并在时刻t3’=t3+tdjb再现PKT 3。将再现延迟tdjb,允许第三分组得到再现而不会导致下溢。因此,如图3所示,去抖动缓冲器延迟的引入可减少下溢并防止话音质量的恶化。
话音由话音突峰和静音段组成。静音段的扩展/压缩对话音质量具有极小的影响或没有影响。这就允许去抖动缓冲器针对每个话音突峰而对第一分组的再现进行不同的延迟。
图4A和4B为不同的话音突峰示出了传输和接收的时间线。应注意,去抖动缓冲器延迟的量被确定以防止下溢。这被称为“最佳去抖动缓冲器延迟”。最佳去抖动缓冲器延迟涉及目标去抖动缓冲器长度。换言之,目标去抖动缓冲器长度被确定成允许足够的数据存储在缓冲器中,以便使分组的再现与再现装置的特性相一致。最佳去抖动缓冲器延迟可通过系统所经历的最大端对端延迟来确定。可选地,最佳去抖动缓冲器延迟可以是基于系统所经历的平均延迟。用于确定最佳去抖动缓冲器延迟的其它方法也可以具体针对给定的标准或系统设计来实现。此外,目标去抖动缓冲器长度被确定以便实现最佳去抖动缓冲器延迟,因此,目标去抖动缓冲器长度可以基于接收的分组速率、分组差错率(PER)或其它工作统计数据来计算。
图4A和4B示出了两个实例的最佳去抖动缓冲器延迟。如图所示,相继的分组的传输和接收之间的时间随时间而变化。由于PKT 3具有从传输到接收最长的延迟,所以使用该差值来确定用于去抖动处理的最佳延迟。
使用具有目标去抖动缓冲器长度的去抖动缓冲器,可以避免至少一些下溢状况。再参考图3,第二种情形避免了(当解码器预期有分组到来并且再现装置准备好再现分组,而没有分组存在于分组存储缓冲器中时发生的)下溢。此处,在t1之后的20ms预定间隔后,PKT 2得到再现,其中t1是PKT 1的再现时刻。尽管将PKT 3调度为在时刻t3再现或者预期PKT 3在时刻t3再现,但是PKT 3直到时刻t3之后才被接收到。换言之,再现装置准备好再现PKT 3,但是该分组并没有存在于存储缓冲器中。由于PKT 3在预期时刻不能用于再现,并且无法得到再现,所以产生了关于PKT 3的大抖动量和下溢。PKT 4在PKT 4的预期再现时刻t4得到再现。应注意,预期时刻t4是根据时刻t3计算的。由于每个分组可能会包含多于一个语音分组,所以由于下溢而引起的分组的丢失会使语音质量恶化。
供考虑的另一种情形涉及如图5所示的“由于延迟分组而引起的下溢”的形成过程,其中分组的传输、接收和预期再现时刻在时间上被示出。在这种情形下,每个分组在其预期再现时刻后的短时间内被接收到。例如,PKT 50的预期再现时刻是t0,但是PKT 50直到t0后的时刻t0’才被接收到。下一分组51预期在时刻t1被接收到,但是它直到t1后的时刻t1’才被接收到。这引起导致“延迟下溢”(即由于延迟分组而引起的下溢)的高百分比的下溢的形成,并因而引起更高的端对端延迟。
显然,将再现延迟较大的量的去抖动缓冲器,在将下溢保持在最少这方面是成功的。然而,这样的去抖动缓冲器将较大的去抖动缓冲器延迟引入到分组的端对端延迟中。较大的端对端延迟会导致保持会话流中的困难。大于100ms的延迟会使收听方认为讲话方还没有结束讲话。因此,要获得良好的质量,在理想情况下既要考虑避免下溢也要考虑减小端对端延迟。由于解决一个问题会恶化另一个问题,所以存在着问题。换言之,较小的端对端延迟通常会导致更多的下溢,而较大的端对端延迟通常会导致更少的下溢。因此,需要平衡这些竞争的目标。具体而言,需要使去抖动缓冲器能够跟踪和避免下溢并同时减小端对端延迟。
去抖动缓冲器目标长度
自适应去抖动缓冲器的设计目标是允许系统以语音分组的特定“下溢率”为目标,同时实现低的端对端延迟。由于感觉到的质量是下溢的百分比的函数,所以以下溢的特定百分比为目标的能力使得语音质量能够得到控制。当存在缺失的分组时,在去抖动缓冲器处会发生分组下溢。当分组被丢失或延迟时,该分组是缺失的分组。当丢失的分组在其到达接收器前被丢弃时(诸如,当它在接入网中的某处(例如,在物理层或前向链路调度器上)被丢弃时)会导致下溢。在这种情形下,通过使用去抖动缓冲器延迟无法校正下溢,因为分组从未到达去抖动缓冲器。可选地,可能会由于被延迟并在其再现时刻之后到达的分组而发生下溢。除了跟踪由于延迟分组而引起的下溢之外,自适应去抖动缓冲器还可以跟踪由于丢失的分组而引起的下溢。
可以通过对下溢进行权衡而得到去抖动缓冲器延迟,来控制由于延迟分组而引起的下溢的数目。表示由于延迟分组而引起的下溢的目标百分比的值被称为“下溢目标”。该值是用于去抖动缓冲器的操作的目标值,并被选择为能够将端对端延迟保持在合理的限度内。在一个实例中,1%(0.01)的值可用作“下溢目标”。另一实例使用0.5%(0.005)的值。为了实现“下溢目标”,可以使去抖动缓冲器延迟自适应。
在本发明的一个实例中,可以使用由于延迟分组而引起的下溢(下文中称为“延迟下溢”)的百分比的经过滤波的值,来使去抖动缓冲器延迟自适应。在每个静音段的结尾(或每个话音突峰的开头)处,去抖动缓冲器延迟如图6所示被更新。如图6所示,算法规定如下内容:
1)If(PERdelay<TARGET_VALUE)thenDEJITTER_DELAY=DEJITTER_DELAY–CONSTANT;
2)If(PERdelay>TARGET_VALUE && PERdelay>=last_PERdelay)thenDEJITTER_DELAY=DEJITTER_DELAY+CONSTANT;
3)Set DEJITTER_DELAY=MAX(MIN_JITTER,DEJITTER_DELAY);AND
4)DEJITTER_DELAY=MIN(MAX_JITTER,DEJITTER_DELAY).(1)
在本实例中,可将初始去抖动缓冲器延迟设置成诸如40ms的常数值。TARGET_VALUE是“延迟下溢”的目标值(例如1%)。PERdelay是在滤波器的参数允许实现TARGET_VALUE的情况下,分组的“延迟下溢”率的经过滤波的值。last_PERdelay是去抖动缓冲器延迟的前一次更新时的PERdelay的值。DEJITTER_DELAY是如上文中定义的目标去抖动缓冲器长度。在本实例中,CONSTANT等于20ms。MIN_JITTER和MAX_JITTER是去抖动缓冲器延迟的最小值和最大值;根据一个实例,这些值分别被设置为20ms和80ms。MIN_JITTER和MAX_JITTER可以基于系统模拟来估计。(MIN_JITTER,MAX_JITTER,CONSTANT)的值可取决于使用去抖动缓冲器的通信系统而被最优化。
PERdelay可以在每个静音段的结尾或在每个话音突峰的开头处被更新,其中PERdelay被如下计算:
PERdelay=PER_CONSTANT×PERdelay+(1-PER_CONSTANT)×Current_PERdelay(2)
PER_CONSTANT是供滤波器用于估计PERdelay的时间常数。该常数的值确定滤波器的存储,并允许实现TARGET_VALUE。Current_PERdelay是在PERdelay的上一次更新和当前更新之间观察到的“延迟下溢”率。
Current_PERdelay被定义为上一次更新和当前更新之间的延迟下溢分组的数目与PERdelay的接收到的分组的总数的比率。
Figure BDA00001865190600121
参考图6,用于计算和更新去抖动缓冲器延迟的处理100通过初始化DEJITTER_DELAY而在步骤101开始。在步骤102,通过比较而将PERdelay与TARGET_VALUE进行比较。如果PERdelay小于TARGET_VALUE,则在步骤104,从DEJITTER_DELAY中减去值CONSTANT。如果在步骤102中PERdelay大于TARGET_VALUE,并且在步骤103中PERdelay大于TARGET_VALUE并大于或等于LAST_PERDELAY,并在步骤103中不小于last_PERdelay,则处理继续进行到决定108。在步骤108,DEJITTER_DELAY被设置成DEJITTER_DELAY加上值CONSTANT。从步骤103继续,如果PERdelay-不大于TARGET_VALUE并且不大于或等于LAST_PERDELAY,则处理继续进行到步骤110。此外,从步骤104继续,在步骤110,DEJITTER_DELAY被设置成等于MIN_JITTER和DEJITTER_DELAY中的最大值。从步骤110,处理继续进行到步骤112,以便在步骤112,将DEJITTER_DELAY设置成等于MAX_JITTER和DEJITTER_DELAY中的最小值。
对延迟的跟踪
去抖动缓冲器可以进入对延迟进行跟踪(而不是对下溢率进行跟踪)的模式。所跟踪的延迟可以是端对端延迟或去抖动缓冲器延迟。在一个实例中,去抖动缓冲器在目标下溢率可以很容易满足时进入“延迟跟踪”模式。这意味着去抖动缓冲器能够在某段时间内实现比目标下溢率低的下溢率。该段时间可以是几百毫秒到几秒中的任何一段时间。
在该模式下,去抖动缓冲器具有目标延迟值。这类似于上述的下溢目标值。可以以类似的方式使用上文中用于确定目标下溢率的等式(1)来计算目标延迟值。当去抖动缓冲器进入确定目标延迟值的该模式时,只要能够维持目标延迟,这就可以允许去抖动缓冲器减小其目标下溢率。
隐式缓冲器自适应
在一些情形下,解码器可能会期待再现还没有接收到的分组。图5中示出了这种情形,其中PKT 50的预期再现时刻是t0,但是PKT 50在该时刻后才被接收到。类似地,PKT 51在其预期再现时刻t1后才被接收到,PKT 52在其预期再现时刻t2后才被接收到,等等。此处应注意,分组相当规则地到达,但是由于PKT 50的接收时刻稍迟于其预期再现时刻,所以它使所有随后的分组也错过了它们的再现时刻。另一方面,如果解码器能够在时刻t0插入擦除并仍能够在时刻t1再现分组PKT 50,则它将使得所有分组都符合它们的再现时刻。通过在擦除之后再现PKT 50而不是已经对PKT 50进行再现,可以有效地使去抖动缓冲器长度自适应。
应注意,在PKT 50的擦除之后再现PKT 50可能会导致不连续,这可以通过使用2005年7月7日提交的标题为“PHASE MATCHING INVOCODERS”的共同未决的申请第11/192,231号中描述的相位匹配技术来消除。
如图7A所示,在分组的接收中可能会存在间隙,诸如PKT 3和PKT 4之间的时间间隙。对于每个分组而言,分组到达时间中的延迟可能是不同的。去抖动缓冲器可以立即采用调整以补偿该延迟,来做出响应。如图所示,PKT 1、PKT 2和PKT 3分别在时刻t1、t2和t3被接收到。在时刻t4,预期将接收到PKT 4,但是PKT 4还没有到达。假定在图7A中,预期每20ms就会接收到分组。在本示例中,PKT 2在PKT1后的20ms被接收到,并且PKT 3在PKT1后的40ms被接收到。PKT4预期在PKT 1后的60ms被接收到,但是直到PKT 1后的80ms才到达。
在图7B中,在接收到的第一个分组PKT 1的再现之前,在去抖动缓冲器处引入初始延迟。此处,传输延迟是Dinit。在这种情况下,PKT1将在时刻Dinit由缓冲器再现,PKT2将在时刻Dinit+20ms由缓冲器再现,PKT3将在时刻Dinit+40ms由缓冲器再现,等等。在图7B中,当PKT4未能在预期时刻Dinit+60ms到达时,擦除可由去抖动缓冲器再现。在对分组进行再现的下一时刻,去抖动缓冲器将试图再现PKT 4。如果PKT 4仍未到达,则可在时刻Dinit+80ms发送另一个擦除。擦除将继续被再现,直到PKT 4到达去抖动缓冲器为止。一旦PKT 4到达去抖动缓冲器,PKT 4就接着被再现。这样的处理会导致延迟,因为直到接收到PKT 4才会对其它分组进行再现。当系统不能够恢复(即,从未接收到)PKT 4时,系统可以对处理进行复位,从而允许再现PKT 4之后的分组而不再现PKT 4。在上述情形下,去抖动缓冲器的端对端延迟具有增加的潜在可能,因为在PKT 4到达之前可能会长时间地继续发送擦除。
相反,根据如图7C所示的实例,如果分组未能到达或者如果分组的接收被延迟,则在PKT 4的预期再现时刻将再现擦除。这类似于上面关于图7B所描述的情形,在该情形下,系统等待PKT 4。在下一再现时刻,如果PKT 4仍未到达而下一分组PKT 5已经到达,则PKT 5得到再现。为了进一步说明,假设PKT 4的接收被延迟并且去抖动缓冲器预期在时刻Dinit+80ms接收到PKT 4。当PKT 4被延迟时,将再现擦除。在时刻Dinit+100ms,如果PKT 4仍未到达,则对PKT 5进行再现而不再现另一擦除。在该第二情形下,立即做出了对延迟的调整并避免了通信网络中过大的端对端延迟。该处理可被称为IBA,因为在再现之前存储在缓冲器中的数据的大小是根据数据的接收而增加和减小的。
隐式缓冲器自适应(IBA)处理200由图8A中的流程图示出。处理200可以实现在自适应去抖动缓冲器内的控制器(诸如输出控制器760或去抖动缓冲器控制器756)中。处理200可以驻留在支持自适应去抖动缓冲器的系统内的其它部分中。在步骤202,在自适应去抖动缓冲器处接收请求以提供用于再现的下一分组。下一分组被标识为具有序列中的索引i的分组,具体为PKT[i]。在步骤204,如果隐式缓冲器自适应(IBA)模式被启用,则处理器继续进行到步骤206以根据IBA模式进行处理;如果IBA模式被禁用,则处理继续进行到步骤226以便不采用IBA模式进行处理。
如果在步骤206接收到PKT[i],则在步骤208,自适应去抖动缓冲器提供PKT[i]以用于再现。IBA模式在步骤210被禁用,并且索引i被增加,即,(i=i+1)。此外,如果在步骤206没有接收到PKT[i]并且如果在步骤214接收到PKT[i+1],则处理继续进行到步骤216以对PKT[i+1]进行再现。IBA模式在步骤218被禁用,并且在步骤220,索引i被增加两次,即,(i=i+2)。
如果在步骤214,PKT[i]和PKT[i+1]都没有接收到,则在步骤222,控制器启动对擦除的再现;并且在步骤224,索引i被增加。应注意,在本实例中,当处于IBA模式中时,控制器总共检查两(2)个分组,来响应诸如在步骤202中接收到的对下一分组的请求。这有效地实现了分组窗口,其中控制器在该分组窗口的范围内搜索接收到的分组。可选实例可以实现不同的窗口大小,例如,搜索三(3)个分组,在该实例中将是分组序号为i、i+1和i+2的分组。
返回到步骤204,如果IBA模式没有被启用,则处理继续进行到步骤226以确定是否接收到PKT[i]。如果接收到,则在步骤228,提供PKT[i]用于再现,并且在步骤230,索引i被增加。如果在步骤226没有接收到PKT[i],则在步骤232,自适应去抖动缓冲器提供擦除以用于再现。由于没有接收到PKT[i]并且擦除取代PKT[i]而得到再现,所以启用IBA模式。
图8B是与IBA模式有关的状态图。当处于普通模式242时,如果自适应去抖动缓冲器提供PKT[i]用于再现,则控制器停留在普通模式。当擦除得到再现时,控制器从普通模式242转换到IBA模式240。一旦处于IBA模式240,控制器就停留在该模式中并继续再现擦除。在再现了PKT[i]或PKT[i+1]之后,控制器从IBA模式240转换到普通模式242。
图9是实现诸如图8A和8B所示的IBA的去抖动缓冲器的一个实例。在本示例中,再现装置从解码器请求用于再现的样本。然后,解码器从去抖动缓冲器请求足够的分组以允许再现装置能够进行不间断的再现。在本示例中,分组传送语音通信,并且再现装置每20ms就再现一样本。可选系统可以通过其它配置将来自去抖动缓冲器的分组化的数据提供给再现装置,并且分组化的数据可以不同于语音通信。
去抖动缓冲器在图9中作为分组的堆叠而被示出。在该示例中,缓冲器首先接收到PKT 49,接着随后接收到PKT 50、PKT 51、PKT 52、PKT 53等。该示例中的分组号指的是分组的顺序。然而,在分组化的系统中,并不能保证将以该顺序接收到分组。为了便于清楚地理解,在该示例中,分组以与传输顺序相同的数字顺序被接收,该顺序也是再现的顺序。为了说明的目的,在图9中,将随后接收到的分组堆在去抖动缓冲器中的先前接收到的分组的上面;例如,PKT 49堆在PKT50的上面,PKT 51堆在PKT 50的上面,等等。去抖动缓冲器中的位于堆叠底部的分组是首先要发送给再现装置的分组。还应注意,在本示例中,未示出目标去抖动缓冲器长度。
在图9中,相对于时间而画出了分组的接收、分组的预期接收时刻以及分组的再现时刻。在每次接收到分组时,都示出了更新后的缓冲器状态。例如,PKT 49在时刻t0被接收到,其中预期在时刻t1对PKT49进行再现。在时刻t0(即PKT49的接收时刻)上方的图的顶部,示出了在接收到PKT 49之后的缓冲器状态。将去抖动缓冲器处接收到的每个分组的接收时刻图示为RECEIVED。就在RECEIVED时刻的下面,图示了ANTICIPATED PLAYBACK时刻。再现时刻被标识为PLAYBACK。
在该实例中,在最初,下一个要再现的分组是PKT 49,它被预期在时刻t0得到再现。预期下一个相继的分组在时刻t1得到再现,等等。第一分组PKT 49在预期再现时刻t0之前被接收到。因此,PKT 49按照预期在时刻t0得到再现。预期下一分组PKT 50在时刻t1得到再现。然而,PKT 50的接收被延迟,并且擦除取代PKT 50而被发送给再现装置。PKT 50的延迟导致了如前所述的下溢。PKT 50在预期再现时刻t1之后并在下一预期再现时刻t2之前被接收到。一旦接收到PKT 50,就将PKT 50存储在去抖动缓冲器中。因此,当在时刻t2接收到下一个对用于再现的分组的请求时,系统在去抖动缓冲器中寻找序号最低的分组;并且PKT 50被提供给再现装置以用于在时刻t2再现。应注意,通过使用IBA,即使没有及时接收到PKT 50以按照预期进行再现,PKT50也能在之后得到再现,并且具有从该点接续下来的剩余的序号的分组也能得到再现。如图所示,随后的分组PKT 51、PKT 52等都被及时地接收和再现以避免更多的擦除。
尽管看上去好像IBA增加了分组的端对端延迟,但这并非实际情况。由于IBA导致更少数目的下溢,所以可以将从上文中的等式1估计的去抖动缓冲器值维持在较小的值。因此,IBA的整体效果将是分组整体的平均端对端延迟的减小。
IBA可以增强具有话音突峰的通信的处理。话音突峰是指语音通信的话音部分,其中语音通信包括符合正常话音模式(speech pattern)的话音部分和静音部分。在话音处理中,声码器为话音生成一种类型的分组并为静音生成另一种类型的分组。话音分组以一种编码速率编码,并且静音以不同的编码速率编码。当在去抖动缓冲器处接收到经编码的分组时,去抖动缓冲器根据编码速率而识别分组类型。去抖动缓冲器假定话音帧是话音突峰的一部分。第一个非静音帧是话音突峰的开头。话音突峰在静音分组被接收到时结束。在不连续的传输中,并非所有的静音分组都被传输,这是因为接收器可能会实现模拟的噪声来占据通信的静音部分。在连续传输中,所有的静音分组都被传输和接收。在一个实例中,去抖动缓冲器根据接收到的分组的类型来调整去抖动缓冲器长度。换言之,系统可以决定减小为通信的静音部分所需的去抖动缓冲器的长度。应注意,IBA方法可以适用于根据预定的定时方案(诸如固定速率等)进行再现的任何通信。
时间规整
话音突峰通常由数据的多个分组构成。在一个实例中,可以将话音突峰的第一分组的再现延迟与去抖动缓冲器延迟相等的长度。去抖动缓冲器延迟可以以各种方式被确定。在一种情形下,去抖动缓冲器延迟可以是基于诸如上文中的等式1的算法而计算的去抖动缓冲器延迟。在另一情形下,去抖动缓冲器延迟可以是接收与去抖动缓冲器延迟的长度相等的语音数据所花费的时间。可选地,可将去抖动缓冲器延迟选择为前述值中的较小值。在该实例中,假设去抖动缓冲器延迟通过使用等式1而被计算为60ms,并且话音突峰的第一个分组在第一时刻ti被接收到。当在第一分组后的50ms接收到话音突峰的下一分组时,自适应去抖动缓冲器数据等于去抖动延迟60ms。换言之,从在自适应去抖动缓冲器处接收到分组到分组的再现所经过的时间为60ms。应注意,可以设置自适应去抖动缓冲器的目标长度以实现60ms延迟。这样的计算确定的是为了满足延迟时间而将要存储的分组的数目。
自适应去抖动缓冲器监视数据对缓冲器的填充和从缓冲器的腾空,并调整缓冲器的输出以便将缓冲器维持在目标延迟长度,即调整数据量以便实现目标延迟时间。当去抖动缓冲器发送话音突峰的第一分组以用于再现时,存在着等于Δ的延迟,其中Δ=MIN(去抖动缓冲器延迟,接收等于去抖动延迟的语音数据所花费的时间)。话音突峰的随后的分组被延迟的时间为Δ加上再现先前分组所花费的时间。因此,一旦已经定义了第一分组的去抖动缓冲器延迟,就隐式地定义了相同话音突峰中的随后分组的去抖动缓冲器延迟。在实践中,去抖动缓冲器延迟的定义可能会需要额外的考虑以便适应诸如图10中所示的情况。
图10示出了话音突峰中的语音信息的传输。话音突峰150在时刻t0被接收,并且话音突峰154在时刻t2被接收。在话音突峰150和话音突峰154之间接收到20ms的静音段152。在接收到之后,自适应去抖动缓冲器可以存储接收到的数据并为每个话音突峰分组的再现确定延迟。在该实例中,话音突峰150在时刻t0在自适应去抖动缓冲器处被接收到,其中自适应去抖动缓冲器延迟时间被计算为80ms。将去抖动缓冲器延迟加到接收时刻上以产生再现时刻。这样,话音突峰150在再现之前被自适应去抖动缓冲器延迟了80ms。话音突峰150在时刻t1开始再现,其中t1=t0+80ms,或者话音突峰150在接收到话音突峰150之后的80ms开始再现;并且话音突峰150在时刻t4完成再现。通过使用诸如等式1的算法来计算上述目标去抖动缓冲器长度,施加给话音突峰154的去抖动缓冲器延迟是40ms。这意味着话音突峰154的第一个分组将在时刻t3得到再现,其中t3=t2+40ms,或者话音突峰154的第一个分组将在接收到话音突峰154之后的40ms得到再现。然而,分组154在时刻t3的再现,与在时刻t4结束再现的话音突峰150的最后一个分组的再现是相冲突的。因此,(为分组154)计算出的40ms的去抖动缓冲器延迟不能使话音突峰150有足够的时间结束再现。为了避免冲突并允许两个分组都正确地得到再现,应该在话音突峰150的最后一个分组已经再现之后才对与话音突峰150之间具有静音段的话音突峰154的第一个分组进行再现。在该实例中,话音突峰150和话音突峰154在时刻t3至t4之间相重叠。因此,再现方法在这种情形下是不理想的。为了防止如本文中所述的分组再现之间的重叠,需要检测前一个话音突峰的最后一个分组被再现的时刻。因此,为分组进行的去抖动缓冲器延迟的计算可以考虑前一个再现分组的再现时间,以便避免重叠或冲突。
如上所述,在一个实例中,去抖动缓冲器延迟是在话音突峰的开头处计算或更新的。然而,将去抖动缓冲器延迟的更新限制到话音突峰的开头,可能是有限制的,因为话音突峰常常在长度上有所变化并且工作条件在话音突峰期间可能会发生变化。考虑图10的实例。因此,需要在话音突峰期间更新去抖动缓冲器延迟。
应注意,合乎需要的是,控制从自适应去抖动缓冲器中流出的数据流以便维持目标延迟长度。这样,如果自适应去抖动缓冲器正在接收具有可变延迟的数据,则从自适应去抖动缓冲器中流出的数据就可以得到调整,以便允许缓冲器填充有足够的数据来满足目标自适应去抖动缓冲器长度。当自适应去抖动缓冲器所接收的分组不充足时,可以使用时间规整来扩展分组以便维持目标延迟长度。类似地,当自适应去抖动缓冲器所接收的分组过多并且正在存储超出目标延迟长度的分组时,可以使用时间规整来压缩分组。自适应去抖动缓冲器可以与解码器配合工作以便对分组进行时间规整,如本文中所述。
图11是包括通过网络元件进行通信的两个接收器的系统的框图。接收器是AT 252和AT 282;如图所示,AT 252和282适于通过BS 270进行通信。在AT 252中,发射处理单元264将语音数据发送给编码器260,编码器260对语音数据进行数字化并将经分组的数据发送给低层处理单元258。然后分组被发送给BS 270。当AT 252接收到来自BS 270的数据时,数据首先在低层处理单元258中被处理,从这里,数据的分组被提供给自适应去抖动缓冲器256。接收到的分组被存储在自适应去抖动缓冲器256中,直到达到目标去抖动缓冲器长度为止。一旦达到了目标去抖动缓冲器长度,自适应去抖动缓冲器256就将数据发送给解码器254。在该示出的实例中,实现时间规整的压缩和扩展可以在解码器254中执行,该解码器254将分组化的数据转换成语音数据并将语音数据发送给接收处理单元262。在本发明的另一实例中,时间压缩和扩展(时间规整)可以在自适应去抖动缓冲器内由(未示出的)控制器执行。AT 282的行为类似于AT 252。AT 282在从发射处理单元294到编码器290到低层处理单元288并最终到BS 270的路径上发送数据。AT 282在从低层处理单元288到自适应去抖动缓冲器286到解码器284到接收处理单元292的路径上接收数据。进一步的处理并未示出,但是可能会影响诸如语音的数据的再现并且可能会涉及音频处理、屏幕显示等。
等式1中给出的去抖动缓冲器等式在话音突峰的开头处计算去抖动缓冲器延迟。去抖动缓冲器延迟可以表示诸如由话音突峰确定的特定分组数目,或者可以表示与(诸如语音数据的)数据的再现等效的预期时刻。此处应注意,去抖动缓冲器具有目标大小,并且这确定了预期在所有时间点处在去抖动缓冲器中看到的所存储的数据量。
由于信道条件和其它工作条件而引起的分组延迟的变化,会导致分组到达自适应去抖动缓冲器的时间的差别。因此,自适应去抖动缓冲器中的数据量(分组数目)可能会小于或大于所计算的去抖动缓冲器延迟值DEJITTER_DELAY。例如,分组可能会以比它们最初在编码器处被生成的速率更慢或更快的速率到达去抖动缓冲器。当分组以慢于预期速率的速率到达去抖动缓冲器时,去抖动缓冲器会开始耗尽,因为到来的分组将不能以相同的速率补充流出的分组。换句话说,如果分组以比编码器处的生成速率更快的速率到达,则去抖动缓冲器的大小会开始增加,因为分组离开去抖动缓冲器的速率无法与它们进入去抖动缓冲器的速率一样快。前一种状况会导致下溢,而后一种状况会由于去抖动缓冲器中更大的缓冲时间而导致较高的端对端延迟。后一种状况是重要的,因为如果分组数据系统的端对端延迟减小(AT移动到负载更小的区域或者用户移动到具有更好信道质量的区域),则合乎需要的是将该延迟减小结合到话音的再现中。端对端延迟是重要的话音质量因素,并且再现延迟的任何减小都会被感觉为会话或话音质量的提高。
为了在去抖动缓冲器中校正DEJITTER_DELAY和实际存在于去抖动缓冲器中的数据量之间的差别,去抖动缓冲器的一个实例采用时间规整。时间规整涉及扩展或压缩话音分组的持续时间。当自适应去抖动缓冲器开始耗尽时,去抖动缓冲器通过扩展话音分组来实现时间规整,并且当自适应去抖动缓冲器变得大于DEJITTER_DELAY时,去抖动缓冲器通过压缩话音分组来实现时间规整。自适应去抖动缓冲器可以与解码器配合工作以便对分组进行时间规整。时间规整提供话音质量的实质性的提高而不会增加端对端延迟。
图12是实现时间规整的自适应去抖动缓冲器的一个实例的框图。物理层处理单元302将数据提供给数据堆栈304。数据堆栈304将分组输出给自适应去抖动缓冲器和控制单元306。前向链路(FL)媒体接入控制(MAC)处理单元300向去抖动处理单元306提供越区切换指示。MAC层实现用于在物理层上(即通过空中)接收和发送数据的协议。MAC层可以包括安全、加密、认证和连接信息。在支持IS-856的系统中,MAC层包含管理控制信道、接入信道以及前向和反向业务信道的规则。目标长度估计器314通过使用等式1中给出的计算而向去抖动缓冲器提供目标去抖动缓冲器长度。对目标长度估计器314的输入包括分组到达信息和当前分组差错率(PER)。应注意,可选配置可以包括位于自适应去抖动缓冲器和控制单元306内的目标长度估计器314。
在一个实例中,自适应去抖动缓冲器和控制单元306还包括控制为再现提供的数据的速率的再现控制。从自适应去抖动缓冲器和控制单元306,分组被发送给不连续发射(DTX)单元308,其中DTX单元308在话音数据未被接收到时向解码器310提供背景噪声信息。应注意,由自适应去抖动缓冲器和控制单元306提供的分组已准备好用于解码处理,并且可被称为声码器分组。解码器310对分组进行解码并将脉冲编码调制(PCM)话音样本提供给时间规整单元312。在可选实例中,可以将时间规整单元312实现在解码器310内。时间规整单元312从自适应去抖动缓冲器和控制单元306接收时间规整指示符。时间规整指示符可以是控制信号、指令信号或标记。在一个实例中,时间规整指示符可以是具有例如压缩、扩展和不进行时间规整的多状态指示符。对于不同的压缩级别和/或不同的扩展级别,可以有不同的值。在一个实例中,时间规整指示符指示时间规整单元312扩展或压缩数据。时间规整指示符指示扩展、压缩或不进行时间规整。可以将时间规整指示符看作是启动时间规整单元312处的操作的控制信号。时间规整指示符可以是规定如何扩展或压缩分组的消息。时间规整指示符可以标识要进行时间规整的分组以及所采取的操作是压缩还是扩展。此外,时间规整指示符可以向时间规整单元312提供对选项的选择。在静音间隔期间,DTX模块将去抖动缓冲器所提供的擦除流修改成擦除和静音帧的流,其中解码器使用该擦除和静音帧的流来重建更准确和更高质量的背景噪声。在可选实例中,时间规整指示符开启和关闭时间规整。在另一实例中,指示符标识用于再现的压缩和扩展的量。时间规整单元312可以修改来自解码器的样本并将样本提供给音频处理316,该音频处理316可以包括接口和转换单元以及音频驱动器和扬声器。
尽管时间规整指示符标识了何时进行压缩或者何时进行扩展,但仍需要确定将对给定分组应用多少时间规整。在一个实施例中,时间规整的量是固定的,其中分组根据话音周期或音高而被进行时间规整。
在一个实施例中,时间规整指示符是作为目标扩展级别或目标压缩级别的百分比来传递的。换言之,时间规整指示符指示压缩给定的百分比或者扩展给定的百分比。
在一种情形下,可能有必要识别到来的数据的已知特性。例如,编码器可以预期已知音调的数据或者具有例如特定长度特性的数据。在这种情况下,由于可以预期特定特性,所以使用时间规整来修改接收到的数据将不是理想的。例如,编码器可以预期到来的数据具有特定的音调长度。然而,如果时间规整被启用,则音调长度可能会通过时间规整而被修改。因此,在这种情形下,不应该启用时间规整。基于音调的通信包括但不限于:文本电话/聋哑人电话装置(TTY/TDD)信息、使用键盘输入的应用或者使用基于音调的通信的其它应用。在这样的通信中,音调载波信息的长度,并且因此,修改音高或音调长度,诸如在再现时的压缩或扩展,会导致该信息的丢失。在使有听力障碍的接收者能够接收的TTY、TDD和其它应用中,解码器也提供这种通信的其带内处理的状态。该指示被用于掩蔽去抖动缓冲器所提供的时间规整指示。如果解码器正在处理具有TTY/TDD信息的分组,则应该禁用时间规整。这可以用2种方式来实现;向去抖动缓冲器控制器提供TTY/TDD状态,或者向时间规整单元提供TTY/TDD状态。如果解码器TTY/TDD状态被提供给去抖动缓冲器控制器,则当声码器指示TTY/TDD的处理时,控制器不应该指示任何扩展或压缩指示。如果解码器TTY/TDD状态被提供给时间规整单元,则这会起到滤波器的作用,并且如果解码器正在处理TTY/TDD信息,则时间规整单元在接收到时间规整指示后不会采取操作。
在如图12所示的系统中,自适应去抖动缓冲器和控制单元306监视到来数据的速率,并且在过多或过少的分组被获得或缓冲时生成时间规整指示符。自适应去抖动缓冲器和控制单元306确定何时进行时间规整以及采取什么操作。图13A示出了通过使用压缩和扩展阈值来做出时间规整决定的自适应去抖动缓冲器的一个实例的操作。自适应去抖动缓冲器累积可能已经以不规则的时间间隔到达的分组。去抖动目标长度估计器314产生目标去抖动缓冲器长度;然后目标去抖动缓冲器长度被施加给去抖动缓冲器。在实践中,自适应去抖动缓冲器和控制单元306使用去抖动缓冲器长度值来做出关于去抖动缓冲器操作的控制决定并控制再现。压缩阈值和扩展阈值分别指示何时触发压缩或扩展。可以将这些阈值指定为去抖动目标长度的一小部分。
如图13A所示,目标去抖动缓冲器长度被给定为LTarget。压缩阈值被给定为TCompress,并且扩展阈值被给定为TExpand。当去抖动缓冲器长度增加到超出压缩阈值TCompress时,去抖动缓冲器向解码器指示分组应该被压缩。
以类似的方式,当去抖动缓冲器长度减小到低于扩展阈值TExpand时,去抖动缓冲器向解码器指示分组应该被扩展并应该以更低的速率被有效地再现。
扩展和压缩阈值之间的操作点避免了下溢以及端对端延迟的过大的增加。因此,目标操作是在TCompress和TExpand之间。在一个实例中,扩展和压缩阈值的值被分别设置成去抖动缓冲器的目标值的50%和100%。尽管在一个实例中,时间规整可以在解码器内部执行,而在可选实例中,该功能可以在解码器外部执行,例如在解码之后执行。然而,在合成信号之前对信号进行时间规整可能会更简单。如果在解码信号之后应用这样的时间规整方法,则将需要估计信号的音高周期。
在某些情形下,例如在W-CDMA系统中,去抖动缓冲器长度可以更大。时间规整阈值发生器可以生成多个压缩和扩展阈值。可以响应于工作条件而计算这些阈值。图13B中示出了多级别阈值。TC1是第一压缩阈值,TC2是第二压缩阈值,并且TC3是第三压缩阈值。图中也示出了表示三个不同的压缩阈值的值的TE1、TE2和TE3。阈值可以基于时间规整的百分比(经历时间规整的分组数目)、压缩分组的百分比、扩展分组的百分比或者这两个值的比率。阈值的数目可以根据需要而变化,换言之,可能会需要更多或更少的阈值。阈值中的每一个涉及不同的压缩或扩展速率,例如,对于要求更细粒度的系统,可以使用更多的阈值,而对于更粗糙的粒度,可以使用更少的阈值。TE1、TE2和TE3等可以是目标延迟长度的函数。可以通过跟踪延迟下溢并基于诸如PER的差错统计数据来改变阈值。
图14示出了采用时间规整和没有采用时间规整的分组的再现。在图14中,PKT 1在时刻t1被传输,PKT 2在时刻t2被发送,等等。分组按照所指示的那样到达接收器,其中PKT 1在t2’到达,并且PKT 2在t2”到达。对于每个分组,将没有使用时间规整的再现时刻作为PLAYBACK WITHOUT WARPING(没有采用规整的再现)给出。相反,将使用时间规整的再现时刻作为PLAYBACK WITH WARPING(采用规整的再现)给出。由于本实例是关于诸如话音通信的实时数据的,所以分组的预期再现时刻具有固定的时间间隔。在再现期间,理想的是每个分组在预期再现时刻之前到达。如果分组的到达对于预期时刻的再现而言过迟,则会对再现质量造成影响。
PKT 1和2被按时接收到,并且它们被再现而没有经历时间规整。PKT 3和PKT 4二者在同一时刻t4’被接收到。两个分组的接收时刻是满足要求的,因为每个分组都是在相关的预期再现时刻(对于PKT 3为t4”,对于PKT 4为t5’)之前接收到的。PKT 3和4被按时再现而没有经历时间规整。当在PKT 5的预期再现时刻之后的时刻t6’接收到PKT 5时,问题发生了。在预期再现时刻,擦除取代PKT 5而得到再现。随后,PKT 5在擦除已经开始再现之后才到达。
在没有采用规整的第一种情形下,PKT 5被丢弃并且PKT 6被接收到并在下一预期再现时刻得到再现。应注意,在这种情况下,PKT 6被及时接收到以用于再现。在第二种情形下,如果PKT 5和PKT 5之后的所有分组被延迟,则每个分组对于预期再现而言会到达得过迟,并会导致一串擦除。在这两种情形下,信息都被丢失,即,在第一种情形下PKT 5被丢弃;在第二种情形下PKT 5和随后的分组被丢失。
可选地,使用IBA技术允许PKT 5在下一预期再现时刻得到再现,其中随后的分组从该点接续下来。IBA防止了数据的丢失,但延迟了分组流。
没有采用时间规整的这种再现会增加通信系统中的整个端对端延迟。如图14所示,分组间的延迟会导致丢失信息或者再现的延迟。
通过实现时间规整,当PKT 5在其预期再现时刻之后到达时,分组被扩展并且可以避免擦除。例如,扩展PKT 4可以使再现以23ms完成而不是20ms。PKT 5在其被接收到时得到再现。这比发送擦除来进行再现的情况(如图14中所述的没有采用时间规整但采用了IBA的再现的可选实例所示)要更快。用扩展PKT 4来代替发送擦除,会使再现质量的恶化更小。因此,时间规整提供了更好的整体再现质量以及等待时间的减小。如图14所示,通过使用时间规整,与不使用时间规整技术的情况相比,PKT5之 后的分组更早地得到了再现。在该具体实例中,当使用时间规整时,PKT 7在时刻t9得到再现,这要早于没有采用时间规整的情况。
应用时间规整以改善再现质量,同时要考虑变化的工作条件以及话音传输中所传输信息的特性的变化。由于具有话音突峰和静音段的话音特性会变化,所以目标去抖动缓冲器延迟长度以及用于每种类型的数据的压缩和扩展阈值可能是不同的。
图15示出了随着话音突峰的不同,由于去抖动延迟的差异而引起的“静音压缩”和“静音扩展”的实例。在图15中,阴影区域120、124和128表示话音突峰,而无阴影的区域122和126表示接收到的信息的静音段。在被接收时,话音突峰120起始于时刻t1并结束于时刻t2。在接收器处,去抖动缓冲器延迟被引入,因此话音突峰120的再现开始于时刻t1’。去抖动缓冲器延迟被标识为时刻t1’与时刻t1之间的差。在被接收时,静音段122起始于时刻t2并结束于时刻t3。静音段122被压缩并被再现为从时刻t2’到t3’的静音段132,这要小于接收到的静音段122的原始持续时间。在信号源处,话音突峰124起始于时刻t3并结束于时刻t4。在接收器处,话音突峰124从时刻t3’到时刻t4’被再现。静音段126(时刻t4到t5)在接收器处进行再现时被扩展为静音段136,其中(t5’–t4’)大于(t5–t4)。当去抖动缓冲器需要更早地再现分组时可以压缩静音段,并且当去抖动缓冲器需要延迟分组的再现时可以扩展静音段。在一个实例中,静音段的压缩或扩展会导致语音质量微小的恶化。因此,可以实现自适应去抖动延迟而不使语音质量恶化。在图15的实例中,自适应去抖动缓冲器压缩和扩展由该自适应去抖动缓冲器识别和控制的静音段。
应注意,如在本文中使用的那样,时间规整是指响应于到达时间和接收到的数据的长度而对再现进行自适应控制。时间规整可以通过在再现时压缩数据、在再现时扩展数据或者在再现时压缩和扩展数据来实现。在一个实例中,使用阈值来触发压缩。在另一实例中,使用阈值来触发扩展。在又一实例中,使用两个触发:一个用于触发压缩,一个用于触发扩展。其它实例可以采用指示时间规整的各种级别(例如,不同速率的快速再现)的多个触发。
也可以在解码器内部执行时间规整。用于执行解码器时间规整的技术被记述在2005年5月5日提交的标题为“Time Warping FramesInside the Vocoder by Modifying the Residual”的共同未决的申请第11/123,467号中。
在一个实例中,时间规整包含用于“融合”话音片段的方法。融合话音片段涉及比较至少两个连续的话音片段中的话音样本,并且如果在所比较的片段之间发现相关性,则生成至少两个连续片段的单一片段。话音的融合是在试图保持话音质量时进行的。保持话音质量并使引入到输出的话音中的瑕疵(诸如是提供给用户的质量恶化的声音,包括“咯嚓声”和“砰响声”)最小化,是通过仔细地选择要融合的分组来实现的。话音片段的选择基于片段的相似性或相关性。话音片段的相似性越接近,产生的话音质量就越好并且引入话音瑕疵的概率就越低。
图16示出了随时间绘出的话音信号。纵轴表示信号的幅度;并且横轴表示时间。应注意,话音信号具有区别性的模式,其中话音信号的一些部分随时间重复。在该实例中,话音信号包括从时刻t1到t2的第一片段,其在t2到t3期间作为第二片段重复。当发现片段的这种重复时,片段中的一个或更多个,诸如从时刻t2到时刻t3的片段,可以被消除而几乎不会对样本的再现质量造成影响或者实际上不会造成影响。
在一个实例中,可以使用如在下文中给出的等式4来找出两个话音片段之间的关系。相关性是两个片段之间的关系的强度的度量。等式4提供了绝对和边界相关因子(从-1到1)作为关系的强度的度量,其中与反映较强关系(即较大的相关性)的较高的正数相比,较低的负数反映较弱的关系,即较小的相关性。如果等式4的应用指示“良好的相似性”,则执行时间规整。如果等式4的应用显示出极弱的相似性,则瑕疵可能会存在于融合的话音片段中。相关性给出如下:
Corr ( d ) = &Sigma; i [ ( x ( i ) - mx ) &times; ( y ( i - d ) - my ) ] &Sigma; i ( x ( i ) - mx ) ^ 2 &Sigma; i ( y ( i - d ) - my ) ^ 2 - - - ( 4 )
在等式4中,x和y表示两个话音片段,m表示在其范围内计算两个片段之间的相关性的窗口,d表示相关性部分,并且i是索引。如果等式4的应用指示可以融合片段而不会引入瑕疵,则可以使用“重叠相加”技术来进行融合。重叠相加技术将被比较的片段结合在一起并从两个分离的话音片段中生成一个话音片段。使用重叠相加的结合,可以基于诸如等式5的等式,其中等式5给出如下:
a ) OutSegment [ i ] = ( Segment 1 ( i ) * ( WindowSize - i ) + ( Segment 2 ( i ) * i ) WindowSize
b ) OutSegment [ i ] = ( Segment 2 ( i ) * ( WindowSize - i ) + ( Segment 1 ( i ) * i ) WindowSize - - - ( 5 )
i=0..WindowSize–1 WindowSize=RWindowSize
合成的样本可以是脉冲编码调制(PCM)样本。每个PCM样本具有定义位长度的预定格式和PCM样本的格式。例如,16位带符号数可以是表示PCM样本的格式。通过应用等式5而产生的重叠相加技术,包括进行加权以提供片段1的第一个PCM样本和片段2的最后一个PCM样本之间的平滑过渡。在等式5中,“RWindowSize”是参考窗口中的PCM样本的数目,并且“OutSegment”是所产生的重叠相加后的片段的大小。“WindowSize”等于参考窗口大小并且“Segment”是目标片段大小。这些变量是取决于采样速率、话音的频率内容以及质量和计算复杂度之间的期望折衷而确定的。
图17A和17B中示出了上述的重叠相加技术。在图17A中,示出了由160个PCM样本组成的话音片段。在该实例中,RWindowSize由PCM样本0-47表示。换言之,PCM样本0-47与大小为WindowSize的参考窗口中的样本的数目相对应。Segment是指目标搜索区域的大小并由PCM样本10-104表示。在该实例中,将PCM样本0-47与样本10-104进行比较,一次比较一个PCM样本,来找出参考样本与目标搜索区域之间的最佳相关性。目标搜索区域内发现最大相关性的位置被称为“偏移”。在偏移点处,可以将RWindowSize与对应于RWindowSize大小的Segment的部分结合。使对应于PCM样本104-160的话音片段保持不变。
在图17B中,以一次比较一个PCM样本的方式将话音片段的第一个RWindowSize样本与话音片段的随后的部分进行比较。发现RWindowSize与目标搜索区域(Segment)内相应长度的样本之间的最大相关性的位置是“偏移”。偏移的长度是从话音片段的开头到发现RWindowSize与Segment之间的最大相关性的点之间的距离。一旦发现最大相关性,就(在偏移点处)将RWindowSize与相应长度的Segment融合。换言之,通过将RWindowSize加到Segment内的相同长度的部分上,来执行重叠相加。这是在如图所示的偏移点处进行的。如图所示,从原始片段中复制剩余的样本。所产生的话音样本是通过将从原始话音片段中复制的剩余样本附加在融合的样本上而构成的,如图所示。所产生的分组比原始片段短偏移的长度更短。该处理被称为话音压缩。压缩的话音片段越少,人检测到任何质量恶化的概率就越低。
当去抖动缓冲器包含较少数目的语音分组时,执行话音扩展。如果去抖动缓冲器具有较少数目的语音分组,则下溢的概率会增加。当发生下溢时,去抖动缓冲器可以将擦除馈送给解码器。然而,这会导致语音质量的恶化。为了防止语音质量的这种恶化,可以延迟去抖动缓冲器中的最后几个分组的再现。这是通过扩展分组来实现的。
话音扩展可以通过重复话音片段的多个PCM样本来实现。重复多个PCM样本同时避免瑕疵或音高平坦(pitch flatness)是通过采用比执行话音时间压缩时更多的PCM话音样本进行工作来实现的。例如,用于实现话音扩展的PCM样本的数目可以是话音时间压缩中使用的PCM样本的数目的两倍。可以从先前再现过的话音分组中获得额外的PCM样本。
图18A示出了话音扩展的一个实例,其中每个分组或话音片段的长度为160个PCM样本并且“预扩展的”话音片段被生成。在该实例中,将两个话音片段(即,“当前”话音片段和“先前”话音片段)进行比较。将当前话音片段的第一个RWindowSize PCM样本选择为参考样本。将这些RWindowSize样本与先前话音分组的Segment进行比较,其中具有最大相关性的点(或偏移)被确定。在偏移点处将RWindowSizePCM样本与先前分组内的相应大小的Segment重叠相加。通过复制并将其余的样本从先前话音片段附加到经过重叠相加的片段上来生成预扩展的话音片段,如图18A所示。则扩展后的话音片段的长度是预扩展片段的长度加上当前话音片段的长度,如图18A所示。在该实例中,PCM样本从话音片段的开头处被偏移。
在另一实例中,如图18B所示扩展当前分组或话音样本。参考样本RWindowSize位于当前话音片段的开头处。将RWindowSize与其余的当前话音分组进行比较直到定位出具有最大相关性的点(偏移)。将参考样本与当前话音片段内被发现具有最大相关性的相应PCM样本重叠相加。然后通过复制开始于分组的开头处并结束于偏移点的PCM样本,将重叠相加后的片段附加到该PCM样本上,并复制和附加来自当前分组的未修改的剩余的PCM样本,来生成扩展后的话音片段。扩展后的话音片段的长度等于偏移加上原始分组的长度的总和。
在另一实例中,如图18C所示扩展话音,其中RWindowSize嵌在当前分组或话音片段内并且不发生在分组的开头处。Roffset是与当前分组的开头到RWindowSize所起始的点之间的距离相对应的话音片段的长度。将RWindowSize与当前分组中在具有最大相关性的点处发现的相应大小的PCM样本重叠相加。然后通过复制开始于原始分组或当前分组的开头处并结束于偏移处的PCM样本,并附加重叠相加后的片段和来自原始分组的剩余的PCM样本,来生成扩展后的话音片段。所产生的扩展后的话音片段的长度是原始分组的长度加上偏移减去Roffset样本(即如上面定义的Roffset中的PCM样本的数目)。
经滤波的时间规整阈值
为了避免压缩和扩展决定的摆动,当自适应去抖动缓冲器中所存储的分组的数目快速变化时,使用变量来估计自适应去抖动缓冲器的状态,即自适应去抖动缓冲器中所存储的分组数目,一个实例在采样窗口上滤波这样的变量。自适应去抖动缓冲器的状态可以指自适应去抖动缓冲器中所存储的分组数目或者用于估计自适应去抖动缓冲器中所存储的数据的任何变量。在支持突发数据传递的称为1xEV-DO的IS-856系统中,向给定接收器传递的分组被时分复用在前向链路上,接收器可能会在一个时刻接收若干分组,在之后的一端时间内没有分组被接收到。这导致在接收器的自适应去抖动缓冲器处接收到脉冲串形式的数据。接收到的数据实际上会经历“集束”(bundling),其中可能会存在两个或更多分组在时间上相互接近地一起到达的情况。这样的集束会很容易导致分组的扩展和压缩之间的摆动,其中自适应去抖动缓冲器响应于接收到的数据的速率和缓冲器的状态而提供时间规整指示。例如,考虑在话音突峰的开头时,去抖动缓冲器的计算出的值(延迟或长度)为40ms的情况。在稍后的时刻,去抖动缓冲器载荷落到扩展阈值以下,从而导致扩展数据分组的决定。紧随该分组的再现之后,集束的三个分组到达了;到达的数据填充了去抖动缓冲器的大小使得压缩阈值被超过。这将导致分组被压缩。由于集束的分组到达之后可能跟随着一段时间内没有分组到达的状态,所以去抖动缓冲器可能会再次被耗尽,从而导致分组被扩展。扩展和压缩之间的这种来回切换会导致要进行时间规整的分组的高百分比。这是不希望有的,因为我们希望将信号信息由于时间规整而被修改的分组的百分比限制到很小的值。
一个实例通过使集束现象可能会对自适应去抖动缓冲器的自适应控制以及数据的时间规整和再现所造成的影响变平滑,来避免这种摆动。该实例使用平均值来确定何时进行时间规整。平均值是通过滤波这种计算中所使用的变量来计算的。在一个实例中,压缩和扩展阈值是通过对去抖动缓冲器的大小进行滤波或求平均来确定的。应注意,缓冲器的大小是指缓冲器的当前状态。
将缓冲器大小的经滤波的值与扩展阈值进行比较,会导致更高数目的下溢,因为通过使用未滤波的值可能已经被扩展的一些分组,在使用经滤波的值的情况下没被扩展。另一方面,将经滤波的值与压缩阈值进行比较,可以用来抑制大部分的摆动(或时间规整控制之间的来回切换)而只有最小的负面影响或实际上没有负面影响。因此,可以以不同的方式对待压缩和扩展阈值。
在一个实例中,对照扩展阈值来检查自适应去抖动缓冲器大小的即时值。相反,对照压缩阈值来检查去抖动缓冲器的经滤波的值。一种配置使用无限脉冲响应(IIR)滤波器来确定自适应去抖动缓冲器的平均大小,其中自适应去抖动缓冲器具有可被周期性(诸如每60ms计算一次)重新计算的经滤波的值。滤波器时间常数可以从集束统计数据中导出并且用于1xEV-DO Rev A的该时间常数的一个实例可以是60msec。使用集束统计数据来导出滤波器时间常数,这是因为它们与去抖动缓冲器的即时大小在工作期间的摆动情况之间具有很强的相关性。
由于缺失分组而引起的扩展
如上文中所述,自适应去抖动缓冲器和用于控制自适应去抖动缓冲器及控制接收到的数据的时间规整的各种方法可以适于具体的系统规范和工作条件。对于实现重复请求方案(诸如混合自动重复请求(H-ARQ)方案)以改善性能的通信系统,这样的重复处理具有关于如何扩展话音分组的暗示。具体而言,H-ARQ会导致分组重新排序(即失序)地到达。考虑图19,其示出了具有一定长度的去抖动缓冲器和给定为目标去抖动缓冲器长度的50%的扩展阈值TExpand。正被再现的当前分组具有序号20,它是PKT 20。去抖动缓冲器包含分别具有序号21、23和24并标为PKT 21、PKT 23和PKT 24的三个分组。当再现装置在再现了PKT 20之后请求下一分组时,扩展阈值不会触发,因为去抖动缓冲器包含足以将缓冲器长度维持在计算出的去抖动缓冲器长度的50%以上的分组。在本实例中,PKT 21因此没有被扩展。如果PKT22直到PKT 21结束再现的时刻还未到达,则这会导致下溢,因为分组是按照顺序再现的,并且因此再现装置不会在PKT 22之前再现PKT23。即使扩展阈值不会触发,一个实例也预期到接收到的分组中的不连续,并选择扩展PKT 21以便为PKT 22的到达留出更多的时间。这样,PKT 21的扩展可以避免分组缺失和擦除。因此,即使去抖动缓冲器长度超出了扩展阈值TExpand,也可以扩展分组。
可以增强应对分组进行扩展的条件。如上文中所述,如果去抖动缓冲器大小低于扩展阈值,则可以扩展分组。在另一种情形下,如果具有下一序号的分组没有存在于去抖动缓冲器中,则可以扩展分组。
如前所述,可以在话音突峰的开头处计算去抖动缓冲器延迟。由于包括但不限于信道条件和负载条件的网络条件可能会在话音突峰期间(特别是在长话音突峰期间)发生变化,所以将一个实例配置成在话音突峰期间改变去抖动缓冲器延迟。这样,可以在话音突峰期间每过CHANGE_JITTER_TIME秒就周期性地重新计算上文中给出的去抖动缓冲器等式。可选地,可以在触发事件(诸如工作条件、负载、空中接口指示的显著变化或者其它事件)发生时重新计算变量。在一个实例中,可以将CHANGE_JITTER_TIME的值设置成0.2秒(200ms)。
时间规整阈值,例如压缩和扩展阈值,可以在话音突峰期间提供关于如何改变取值的引导。正常操作是指当自适应去抖动缓冲器状态在压缩和扩展阈值之间并在目标去抖动缓冲器长度周围时,接收器的操作。每个阈值充当触发。当阈值被达到或违反时,可以取决于阈值而扩展或压缩自适应去抖动缓冲器中的分组。自适应去抖动缓冲器的大小在它接收到分组时可以继续扩展或收缩。自适应去抖动缓冲器大小的这种持续的变化表明在通信期间可能会连续地接近压缩和扩展阈值。通常,系统试图将自适应去抖动缓冲器大小保持在扩展和压缩阈值之间,这被认为是稳定状态。在稳定状态下,自适应去抖动缓冲器的大小不变化;并且分组接收中的变化以及因此产生的自适应去抖动缓冲器大小的变化,可以自动地使压缩/扩展阈值触发并相应地对分组进行压缩/扩展,直到达到新的自适应去抖动缓冲器延迟。在这种情形下,自适应去抖动缓冲器目标延迟长度根据CHANGE_JITTER_TIME而被更新。可以不必要计算去抖动缓冲器的实际大小,因为去抖动缓冲器大小在由于达到时间规整扩展/压缩阈值而引起触发时会自动地变化。在一个实例中,可以将CHANGE_JITTER_TIME的值设置成0.2秒(200ms)。
越区切换预规整
典型地,越区切换伴随着短时间的覆盖损失。当越区切换即将来临时,AT会经历较差的信道条件和增加的分组延迟。一个实例以对话音分组应用时间规整的特殊方式来处理越区切换状况。AT一决定越区切换到新的基站,该信息就被用于控制去抖动缓冲器。在接收到该越区切换信号后,AT进入“预规整”模式。在该模式下,AT扩展分组直到两个条件中的一个被满足为止。在第一种条件下,去抖动缓冲器继续累积分组并且累积起来的扩展产生为PRE_WARPING_EXPANSION的去抖动缓冲器大小。换言之,对分组进行扩展直到达到PRE_WARPING_EXPANSION。可选地,在第二种条件下,时间段WARPING_TIME已被满足。计时器在接收到越区切换信号或中断指示符时开始计时;接收器在WARPING_TIME时停止计时。一旦这两个条件中的一个已被满足,AT就退出预规整模式。在预规整模式期间,除非(稍后描述的)End_Talkspurt条件被满足,否则不压缩任何分组,因为去抖动缓冲器希望累积足够的分组以便以规则的间隔将它们发送给再现装置。在分组以规则间隔(例如20ms)被预期的实例中,可以将PRE_WARPING_EXPANSION的值设置成40ms,并将WARPING_TIME的值设置成等于100个时隙(166ms)。
越区切换仅是中断事件的一种形式。去抖动缓冲器可以实现用于处理越区切换或其它类型的中断的机制。为此,所需的信息是:需要多少去抖动超额量来处理中断(PRE_WARPING_EXPANSION)和去抖动缓冲器将持续工作在这种中断避免模式中多长时间(WARPING_TIME)。
计算延迟下溢的数目
由于上文中提供的自适应去抖动缓冲器等式被设计成以延迟下溢的百分比为目标,所以合乎需要的是准确地测量延迟下溢的数目。当发生下溢时,并不知道该下溢是由于分组延迟引起的还是由于在网络中某处(即,传输路径)被丢弃的分组引起的。因此需要准确地确定下溢的类型。
在一个实例中,对于使用RTP/UDP/IP的通信,每个分组包括RTP序号。序号被用于以接收到的分组的传输顺序来排列接收到的分组。当发生下溢时,引起下溢的分组的RTP序号会存储在诸如存储器阵列的存储器中。如果具有识别出的序号的分组较迟地到达,则将该下溢作为“延迟下溢”而计数。
“延迟下溢率”是下溢的数目与接收到的分组的总数的比率。在每次更新去抖动缓冲器等式时,将下溢的数目和接收到的分组的数目都设置成零。
对话音突峰开头和结尾处的增强
考虑图20,其示出了两个用户之间的会话的时间线。在该图中,纵轴表示时间。每个用户发送话音突峰和静音段,它们然后由另一用户接收。为了清楚起见,带阴影的块段400和410表示用户1的话音突峰(话音片段)。未带阴影的块段405表示用户2的话音突峰。时间线上的话音突峰外部的区域表示用户没有讲话但是可能在听另一用户讲话或在接收静音段的时间。片段400在用户2处得到再现。一旦话音片段400在用户2处结束再现,用户2就在开始讲话之前等待短时间间隔。用户2的第一个话音片段405的开头随后由用户1听到。用户1所感觉到的会话往返行程延迟(RTD)是用户1停止讲话的时刻到用户1听到用户2的话音片段的开头的时刻之间的时间间隙。会话RTD不是单向的端对端延迟,而是用户特定的并且从用户的观点来看是很重要的。例如,如果会话RTD对于用户1而言过大,这将促使用户1再次开始讲话而不等待用户2的话音片段得到再现。这打断了会话流并且会被感觉为会话质量的恶化。
可以以不同的方式改变用户1所体验的会话RTD。在一个实例中,可以改变用户1的话音片段的结尾被再现给用户2的时刻。在第二实例中,改变的是用户2的话音片段的开头被再现给用户1的时刻。应注意,只有话音突峰的开头和结尾的延迟才会影响会话中的语音质量。设计目标是进一步减小在话音突峰开头和结尾处的延迟。
在一个实例中,目标是增强话音突峰的开头。可以通过操作用户1的话音突峰的第一个分组使得收听者用户2比实现默认自适应去抖动缓冲器延迟的情况更早地接收到分组,来实现这种增强。施加给自适应去抖动缓冲器中的分组的延迟可以是默认自适应去抖动缓冲器延迟、计算出的值或者是被选择成使得收听者能够在特定时刻接收到分组的值。在一种情形下,通过在每个接收到的话音突峰的开头处重新计算自适应去抖动缓冲器延迟来改变话音突峰的第一个分组的定时。当减小施加给话音突峰的第一个分组的自适应去抖动缓冲器延迟时,该第一个分组被加快地发送给收听者。当增加施加的延迟时,该第一个分组在较迟的时刻由收听者接收到。用于第一个分组的默认去抖动缓冲器延迟可以小于计算出的去抖动缓冲器延迟并且也可以大于计算出的去抖动缓冲器延迟。在所示出的实例中,通过可以以秒来测量的被称为MAX_BEGINNING_DELAY的值,来限制每个话音突峰的第一个分组的去抖动延迟。该值可以是重新计算的去抖动缓冲器延迟或被设计成使得收听者能够在指定时刻接收到分组的延迟。MAX_BEGINNING_DELAY的值可以小于实际计算的去抖动缓冲器延迟。当MAX_BEGINNING_DELAY小于计算出的去抖动缓冲器延迟并被施加给话音突峰的第一个分组时,话音突峰的随后的分组将被自动地扩展。随后分组的自动扩展会发生,是因为去抖动缓冲器不能以它再现分组的相同速率接收到分组。当去抖动缓冲器再现分组时,去抖动缓冲器的大小发生减小并且扩展阈值被接近。一旦达到扩展阈值,扩展就被触发并且话音突峰中的随后的分组被扩展直到去抖动缓冲器接收到足以超过扩展阈值的到来的分组。通过实现MAX_BEGINNING_DELAY值,收听者更早地接收到了话音突峰的第一个分组,同时随后的分组被扩展。收听者对更早地接收到初始分组感到满意。增强话音突峰的开头具有使下溢的数目发生小量增加的潜在可能;然而,适当的MAX_BEGINNING_DELAY值会减轻这种影响。在一个实例中,MAX_BEGINNING_DELAY的值被计算为实际去抖动目标的一小部分;举例来说,大小为TARGET_DE-JITTER_BUFFERLENGTH的0.7倍的MAX_BEGINNING_DELAY值会导致下溢的微小的增加。在另一实例中,MAX_BEGINNING_DELAY值可以是诸如40ms的固定数字,这在例如支持1xEV-DO RevA的系统中会导致下溢的微小增加。
扩展话音突峰中的随后的分组不会使整体语音质量恶化。这在图20中被示出,其中用户2接收到来自用户1的话音突峰的第一个分组并且初始或“单向延迟”被限制为Td1。如图所示,话音片段400在用户2处被接收到而没有经过任何扩展或压缩,然而,话音片段405在接收时在用户1处被压缩。
图21是示出对话音突峰的开头的增强的流程图。首先在步骤510中确定系统是否处于静音模式。静音模式可以与话音突峰之间的静音段或者去抖动缓冲器没有正在接收分组的时间相对应。如果系统不处于静音模式,则处理结束。如果它处于静音模式,则在步骤520中执行目标去抖动长度估计。然后,在步骤530中确定是否增强系统。根据一个实例,增强指示计算出的目标自适应去抖动长度大于给定值,该给定值在一个实例中被给定为诸如MAX_BEGINNING_DELAY的增强因子;在步骤540中,系统等待等于增强因子或目标长度的一小部分的时间段以开始再现。如果系统不被增强,则在步骤550中,系统等待新目标长度以开始再现。新目标的值可以等于计算出的目标去抖动缓冲器长度或最大去抖动缓冲器长度。
图22也示出了对话音突峰的开头的增强。图中示出的处理580开始于对话音突峰的识别。考虑两种情形:i)采用时间规整;和ii)没有采用时间规整。在该实例中,使用20ms长度的话音分组。可以实现任意长度的话音分组。此处,自适应去抖动缓冲器在再现分组之前等待120ms。该值是自适应目标去抖动缓冲器长度并在步骤582中从自适应去抖动缓冲器目标估计器接收到。在本实例中,120ms等效于在不采用时间规整的情况下接收六(6)个分组,每个分组的长度为20ms。如果在步骤584,时间规整没有被使用,则在120ms内提供了六(6)个分组。因此,在第一种情形下,去抖动缓冲器在接收到六个分组之后将开始再现分组。这在时间上等效于120ms的延迟。在第二种情形下,通过实施时间规整,去抖动缓冲器可以扩展接收到的前四(4)个分组并在接收到四(4)个分组之后开始再现分组。因此,即使这种情况下的80ms的去抖动缓冲器延迟小于估计的120ms的去抖动缓冲器延迟,也可以通过扩展前面几个分组来避免潜在的下溢。换言之,采用时间规整的分组再现可以比没有采用时间规整的分组再现开始得更早。因此,时间规整可以用于增强话音突峰的开头而不会影响下溢的数目。
在另一实例中,可以增强话音突峰的结尾。这是通过压缩话音突峰的最后几个分组,从而减小端对端延迟来实现的。换言之,话音突峰结尾处的延迟被变得更小并且第二用户更快地从第一用户听到了回应。图23中示出了对话音突峰结尾的增强。此处,1/8速率分组指示话音突峰的结尾。这不同于可以用于传输语音数据的全速率(速率1)分组、半速率(速率1/2)分组或四分之一速率(速率1/4)分组。也可以将其它速率的分组用于静音段期间或话音突峰结尾处的传输。在语音通信中实施1/8速率分组作为静音指示符分组,被进一步记述在优先权日期为2005年2月1日、标题为“METHOD FORDISCONTINUOUS TRANSMISSION AND ACCURATEREPRODUCTION OF BACKGROUND NOISE INFORMATION”的共同未决的美国专利申请第11/123,478号中。
如图23所示,在没有采用时间规整的情况下,分组N至分组N+4在100ms中被再现。通过压缩话音突峰的最后几个分组,相同的分组N至分组N+4可以在70ms中得到再现而不是在100ms中得到再现。当实施时间压缩时,话音质量几乎没有恶化或实际上没有恶化。对话音突峰的结尾的增强,假定了接收器知晓对话音突峰结尾的识别,并能在接近结尾时预期到它。
当在一个实例中通过实时传输协议(RTP)发送语音分组时,可以在每个话音突峰的最后一个分组中设置“话音突峰结尾”指示符。当正在提供分组以进行再现时,在去抖动缓冲器中的分组中检查“话音突峰结尾”指示符。如果该指示符被设置在其中一个分组中并且在正被提供以用于再现的当前分组和“话音突峰结尾”分组之间没有缺失的序号,则对正被提供以用于再现的分组以及当前话音突峰的所有将来的分组进行压缩。
在另一实例中,如果系统处于话音突峰中并且1/8速率分组或设置有静音指示符描述(SID)位的分组被传递给再现装置,则系统转换到静音。可以通过检查1/8速率分组的大小而检测到1/8速率分组。SID位被携带在RTP信头中。如果系统处于静音状态,并且既不是1/8速率分组也不是设置有SID位的分组被传递以用于再现时,系统转换到话音突峰状态。应注意,在一个实例中,如本文中提供的自适应去抖动缓冲方法可以在系统处于话音突峰状态时被执行,并且可以在系统处于静音段时被忽略。
应注意,该方法可以正确地丢弃迟到的重复分组。如果重复分组到达,则它将被简单地丢弃,因为分组的第一个实例已在适当的时刻得到再现并且其序号没有被保存在包含“延迟下溢”候选者的阵列中。
当在一个实例中通过RTP发送语音分组时,可以在每个话音突峰的最后一个分组中设置“话音突峰结尾”指示符。当正在提供分组以进行再现时,在去抖动缓冲器中的分组中检查“话音突峰结尾”指示符。如果该指示符被设置在其中一个分组中并且在正被提供以用于再现的当前分组和“话音突峰结尾”分组之间没有缺失的序号,则对正被提供以用于再现的分组以及当前话音突峰的所有将来的分组进行压缩。
图24中示出了根据一个实例的对话音突峰结尾的增强的流程图。新分组开始于步骤600。在步骤605中,如果去抖动缓冲器长度大于或等于压缩阈值,则在步骤635中生成压缩指示并且在步骤600中将结尾提供给新分组。在步骤605中,如果去抖动缓冲器不大于或等于压缩阈值,则在步骤610中确定去抖动缓冲器长度是否小于或等于扩展阈值。如果其小于或等于扩展阈值,则步骤615确定结尾是否等于表示静音段或话音突峰结尾的分组速率。在一个实例中,可以在静音段期间或在话音突峰结尾处,以例如20ms的恒定间隔发送连续的一串1/8速率分组。在图24中,如果在步骤615中确定结尾不等于1/8速率分组,则在步骤620中扩展片段并返回到步骤600中的新分组。步骤625确定结尾是否等于1/8。在步骤625中,如果结尾等于1/8速率,则在步骤635中生成压缩指示。如果它不等于1/8速率,则在步骤630中,再现是正常的,而不采用任何时间规整。
时间规整质量优化器
当许多连续的分组被压缩(或扩展)时,这会显著地使音频加速(或减速)并会导致质量的恶化。可以通过隔开经时间规整的分组,即在经过时间规整的分组后跟随有一些未经过时间规整的分组以后再规整另一分组,来避免这种恶化。
如果将上述隔开经规整的分组的方法应用于扩展,则会使一些本来会经历扩展的分组不经历扩展。这会导致下溢,因为分组的扩展是在去抖动缓冲器耗尽分组时执行的。因此,在一个实例中,可以将上述隔开经规整的分组的方法应用于压缩分组,即在经过压缩的分组后可以跟随有一些未经过压缩的分组,之后才可以压缩另一个分组。典型地,在两个经压缩的分组之间不应被压缩的这种分组的数目可以设置成2或3。
触发时间规整的条件的设置
此处描述的是用于触发语音分组的时间规整(扩展/压缩)的许多条件。以下是用于确定将对分组进行压缩、进行扩展还是既不压缩也不扩展的(伪码形式的)规则的组合集。
图25示出了与解码器功能耦合的常规去抖动缓冲器的实现方案。在图25中,预期分组以20ms间隔到达去抖动缓冲器。在该实例中可以观察到,分组以不规则的间隔到达,即具有抖动。去抖动缓冲器累积分组直到达到特定去抖动缓冲器长度,以便一旦其开始以诸如20ms的规则间隔发送出分组,去抖动缓冲器就不会被耗尽。在到达所需要的去抖动缓冲器长度时,去抖动缓冲器开始以20ms的规则间隔开始再现分组。解码器以规则间隔接收这些分组并将每个分组转换成每分组为20ms的语音。可选实例可以选择其它时间间隔。
作为比较,图26示出了支持时间规整的自适应去抖动缓冲器的实例。此处,分组以不规则的间隔到达自适应去抖动缓冲器。然而在这种情况下,目标去抖动缓冲器长度小得多。这是因为时间规整允许在去抖动缓冲器开始耗尽时扩展分组,从而为自适应去抖动缓冲器得到补充留出了时间。解码器可以在自适应去抖动缓冲器开始耗尽时扩展分组,并在自适应去抖动缓冲器开始累积过多的分组时压缩分组。可以观察到,不均匀传递的语音分组从自适应去抖动缓冲器被输入到解码器和时间规整单元中。由于采用了时间规整,这些分组被允许以不规则的间隔到达,解码器取决于原始分组的到达时间而将每个分组转换成不同长度的语音分组。例如,在该实例中,解码器将每个分组转换成每分组为15-35ms的语音。由于分组因为时间规整而可以更早地得到再现,所以所需的缓冲器大小变得更小,从而在网络中产生更小的等待时间。
图27是示出根据一个实例的AT的框图。自适应去抖动缓冲器706、时间规整控制单元718、接收电路714、处理器722的控制、存储器710、发射电路712、解码器708、H-ARQ控制720、编码器716、话音处理724、话音突峰ID726、差错校正704可以如前面的实施例中所示耦合在一起。另外,它们可以经由图27中所示的通信总线702耦合在一起。
图28示出了一个实例中的分组处理,其中分组由去抖动缓冲器接收并最终由扬声器再现。如图所示,分组在去抖动缓冲器处被接收。去抖动缓冲器在从解码器接收到分组请求后向解码器发送分组和时间规整信息。解码器在从输出驱动器接收到请求后向输出驱动器发送样本。
去抖动缓冲器内的输入控制器保持对到来的分组的跟踪,并且如果在到来的分组中存在差错则给出指示。去抖动缓冲器可以接收具有序号的分组。例如,差错可以在到来分组的序号低于先前分组的序号时,由输入控制器检测到。图28中位于输入控制器内的分类单元对到来的分组进行分类。由分类单元定义的不同的类别可以包括“良好的分组”、“延迟的分组”、“差分组”等。此外,输入控制单元可以对分组进行比较并将该信息发送给去抖动缓冲器控制器。
图28中示出的去抖动缓冲器控制器接收来自去抖动缓冲器的输入和输出控制器的双向输入。去抖动缓冲器控制器接收来自输入控制器的数据,其中这样的数据指示到来数据的特性,诸如接收到的良好分组的数目、接收到的差分组的数目等。去抖动缓冲器可以使用该信息来确定何时需要使去抖动缓冲器收缩或增长,这会产生发送给时间规整控制器的用于压缩或扩展的信号。去抖动缓冲器控制器单元内的分组差错率(PER)单元计算PER延迟。去抖动缓冲器的输出控制器从去抖动缓冲器请求分组。去抖动缓冲器的输出控制器单元还可以指示最后一个被再现的分组。
解码器将分组请求发送给去抖动缓冲器,并在这样的请求后接收来自去抖动缓冲器的分组。解码器内的时间规整控制器单元从去抖动缓冲器的输出控制器接收时间规整控制信息。时间规整控制信息指示将对分组进行压缩、扩展还是使其保持不变。由解码器接收的分组被解码并转换成话音样本;并且在从输出驱动器内的缓冲器接收到请求后,样本被发送给输出驱动器。来自输出驱动器的样本请求由解码器内的输出控制器接收。
相位匹配
如前所述,在分组的预期再现时刻之后接收到分组,会导致擦除取代延迟分组而得到再现。接收到自适应去抖动缓冲器处的擦除或缺失的分组,会导致解码后的话音的不连续。当自适应去抖动缓冲器辨认出潜在的不连续时,自适应去抖动缓冲器可以请求解码器执行相位匹配。如图28所示,自适应去抖动缓冲器750可以包括接收来自输出控制器760的输入的相位匹配控制器。相位匹配控制信息被发送给可以位于解码器762中的相位匹配单元。在一个实例中,相位匹配控制信息可以包括“相位偏移”和“游程长度”(run length)信息。相位偏移是解码器已经解码的分组数目和编码器已经编码的分组数目之间的差。游程长度是指就在当前分组的解码之前,解码器已经解码的连续擦除的数目。
在一个实例中,相位匹配和时间规整都在具有公共控制代码或软件的解码器中实现。在一个实例中,解码器实现波形内插,其中:
a)如果没有使用时间规整和相位匹配,则使用采用160个样本的波形内插(waveform_interpolation)来进行语音编码;
b)如果使用了时间规整并且没有使用相位匹配,则使用采用(160+-N*音高周期)个样本的波形内插解码(waveform_interpolation_decoding)来进行语音编码,其中N可以是1或2;
c)如果没有使用时间规整并且使用了相位匹配,则使用采用(160-Δ)个样本的波形内插解码(waveform_interpolation_decodin)来进行语音编码,其中Δ是相位匹配量。
d)如果使用了相位匹配和时间规整二者,则使用采用(160-Δ+-N*音高周期)个样本的波形内插解码(waveform_interpolation_decoding)来进行语音编码,其中Δ是相位匹配量。
对输出驱动器的时钟输入,确定了该输出驱动器内的缓冲器对数据进行请求的频率。这是系统中的主要时钟并且可以以许多不同的方式实现。系统的主时钟可以通过PCM样本的采样速率导出。例如,如果正在通信的是窄带话音,则系统每秒再现8000个PCM样本(8KHz)。该时钟可以驱动系统的其余部分。一种方法是让音频接口770在需要更多样本时从解码器请求更多样本。另一种方法是让解码器/时间规整单元独立地运行,由于该模块知道先前传递了多少PCM样本,所以它知道接下来何时提供更多的样本。
调度器可以位于解码器762中或音频接口和控制单元810中。当位于音频接口控制单元810中时,调度器基于接收到的PCM样本的数目来确定对分组的下一请求。当调度器位于解码器中时,调度器可以每过t ms就请求分组。例如,解码器调度器可以每2ms就从自适应去抖动缓冲器750请求分组。如果在解码器中没有启用时间规整,或者如果时间规整单元不位于解码器762中,则调度器将与1个分组中的样本数目恰好相对应的一组样本发送给音频接口和控制单元770。例如,在音频接口单元770每过2ms就请求样本的情况下,解码器的输出控制器766发送16个PCM样本(1个分组对应于20ms,即8Khz采样速率下的话音数据的160个样本)。换言之,当时间规整控制器位于解码器外部时,解码器的输出是用于样本转换的普通分组。音频接口单元770将样本的数目转换成在解码器执行时间规整的情况下它会接收到的样本的数目。
在另一种情形下,当时间规整控制器位于解码器内并且时间规整被启用时,在压缩模式下,解码器可以输出更少的样本;并且在扩展模式下,解码器可以输出更多的样本。
图30进一步示出了调度功能由解码器实现的情形。在步骤902,解码器从去抖动缓冲器请求分组。在步骤904,分组被接收。在步骤906中,分组被转换成“N”个样本。在步骤908中,“N”个产生的样本被传递给音频接口控制单元,并且在步骤910中,将下一分组请求调度为N的函数。
图31示出了解码器外部的音频接口和控制单元中的调度。在步骤1002,音频接口单元首先请求一组PCM样本。在步骤1004,接收到所请求的PCM样本,并且在步骤1006中,将下一分组请求调度为N的函数。
时间规整指示符(诸如,不进行时间规整指示符)可以是来自自适应去抖动缓冲器的指令的一部分。图32示出了在解码器外部计算调度方案的例如音频接口和控制单元中的时间规整单元。分组类型、时间规整指示符和要进行的规整量被输入给时间规整单元。
图33示出了在解码器中的时间规整单元中计算调度方案的时间规整单元。对时间规整单元的输入包括分组类型、时间规整指示符和要进行的规整量。规整量和启用信号被输入给时间规整单元的质量优化单元。时间规整信息被输出。
尽管本说明书描述了本发明的特定实例,但是普通技术人员能在不脱离本发明概念的情况下提出本发明的变形。例如,本文中的教导是参照电路交换网络元件进行说明的,但是其等效地适用于分组交换域网络元件。此外,本文的教导不限于认证三元组对,还可适用于包括两个SRES值(一个是通常的格式,一个是本文公开的新格式)的单个三元组。
本领域的专业技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息和信号。例如,上述说明中提到过的数据、指令、命令、信息、信号、比特、符号、及码片都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或光粒子、或以上的结合。
本领域的专业技术人员还可以进一步意识到,结合本文中所公开的实例描述的各种示例的逻辑块、模块、电路、方法及算法,能够以电子硬件、计算机软件、或二者的结合被实现。为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各种示例的组件、程序块、模块、电路、方法及算法。这种功能究竟以硬件还是软件方式来实现,取决于整个系统的特定的应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现决定不应被认为超出了本发明的范围。
结合本文中所公开的实例描述的多种示例的逻辑块、模块和电路可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件、或设计成执行本文所述功能的以上的任意组合来实现或执行。通用处理器可以是微处理器,但是可替换地,处理器也可以是任何常规的处理器、控制器、微控制器、或状态机。处理器也可以被实现为计算器件的组合,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与一个DSP核心的组合、或任意其它此类配置。
结合本文中所公开的实例描述的方法或算法可以直接用硬件、处理器执行的软件模块、或二者的结合来实施。软件模块可置于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动硬盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。可将存储介质连接到处理器,以便处理器可从存储介质读取信息并向存储介质写入信息。可替换地,存储介质可以被集成在处理器中。处理器和存储介质可以置于ASIC中。
对所公开的实例的上述说明,是为了使本领域的任何专业技术人员能够实现或使用本发明。对这些实例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实例中实现。因此,本发明将不会被限制于本文所示的这些实例,而是要符合与本文所公开的原理和新颖特点一致的最宽的范围。

Claims (24)

1.一种用于无线通信系统中的设备,包括:
存储器存储单元,其被配置成存储数据的分组;和
第一控制器,其被配置成将所述存储器存储单元中所存储的分组的数目与用于所述存储器存储单元的第一时间规整阈值进行比较,所述第一控制器进一步适于在所存储的分组的数目小于所述第一时间规整阈值时生成时间规整指示符,其中第一时间规整阈值包括存储在存储器存储单元中的分组的目标延迟长度的第一百分比。
2.如权利要求1所述的设备,其中,所述设备进一步包括:
输入控制器,其被配置成接收分组并将分组存储在所述存储器存储单元中;和
输出控制器,其被连接到所述第一控制器并被配置成从所述第一控制器接收所述时间规整指示符。
3.如权利要求2所述的设备,进一步包括:
用于响应于所述时间规整指示符而对分组进行时间规整的装置,其中,所述输出控制器适于向所述用于对分组进行时间规整的装置提供所述时间规整指示符。
4.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成将所述存储器存储单元中所存储的分组的数目与用于所述存储器存储单元的第二时间规整阈值进行比较,并在所存储的分组的数目超过所述第二时间规整阈值时生成所述时间规整指示符。
5.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成生成所述时间规整指示符的用于分组的扩展的第一值。
6.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成生成所述时间规整指示符的用于分组的压缩的第二值。
7.如权利要求6所述的设备,其中,所述第二值是所述目标延迟长度的第二百分比。
8.如权利要求5所述的设备,其中,所述第一控制器进一步被配置成如果在前一顺序的分组后的第一时间段内没有接收到下一顺序的分组,则生成所述第一值。
9.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成在时间窗口上对所述存储器存储单元中存储的分组数量求平均值。
10.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成在时间窗口上滤波所述存储器存储单元中所存储的分组的数目。
11.如权利要求10所述的设备,其中,所述第一控制器进一步被配置成确定目标去抖动缓冲器延迟长度,并将利用所述目标去抖动缓冲器延迟长度确定所述时间窗口。
12.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成将所述目标去抖动缓冲器延迟长度确定为将被存储在所述存储器存储单元中的分组的目标数目。
13.如权利要求9所述的设备,其中,所述第一控制器还被配置成将所述存储器存储单元中所存储的分组的数目与用于所述存储器存储单元的第二时间规整阈值进行比较,并且在所存储的分组的数目超过所述第二时间规整阈值时生成时间规整指示符;和
所述第一控制器进一步被配置成将所述存储器存储单元中所存储的分组的滤波后的数目与所述第一和第二时间规整阈值进行比较。
14.如权利要求1所述的设备,其中,所述第一控制器进一步被配置成生成所述时间规整指示符作为压缩所述分组、扩展所述分组或者处理所述分组而不进行时间规整的指令。
15.如权利要求1所述的设备,其中,所述存储器存储单元是自适应去抖动缓冲器。
16.一种用于无线通信系统中处理数据的分组的方法,包括:
将数据的分组存储在存储器存储单元中;
将所述存储器存储单元中所存储的分组的数目与第一时间规整阈值进行比较,其中所述第一时间规整阈值包括存储在存储器存储单元中的分组的目标延迟长度的第一百分比;和
当所述存储器存储单元中所存储的分组的数目小于所述第一时间规整阈值时,生成时间规整指示符。
17.如权利要求16所述的方法,进一步包括:
响应于所述时间规整指示符而对至少一个分组进行时间规整。
18.如权利要求16所述的方法,进一步包括:
将所述存储器存储单元中所存储的分组的数目与第二时间规整阈值进行比较;和
当所述存储器存储单元中所存储的分组的数目小于所述第一时间规整阈值时,以第一值生成时间规整指示符,并且当所述存储器存储单元中所存储的分组的数目超过所述第二时间规整阈值时,以第二值生成时间规整指示符。
19.如权利要求16所述的方法,进一步包括:
当所述时间规整指示符是第一值时,扩展至少一个分组;和
当所述时间规整指示符是第二值时,压缩至少一个分组。
20.如权利要求19所述的方法,进一步包括:
接收多个顺序的分组;和
响应于所述时间规整指示符而重叠相加所述顺序的分组的片段。
21.如权利要求20所述的方法,其中,所述重叠相加进一步包括:将多个片段中的至少两个结合为:
a ) OutSegment [ i ] = ( Segment 1 ( i ) * ( WindowSize - i ) + ( Segment 2 ( i ) * i ) WindowSize
b ) OutSegment [ i ] = ( Segment 2 ( i ) * ( WindowSize - i ) + ( Segment 1 ( i ) * i ) WindowSize
i=0到WindowSize–1    WindowSize=RWindowSize
其中,OutSegment是所合成的重叠相加后的片段;
Segment1和Segment2是将被重叠相加的所述多个片段中的所述至少两个;
WindowSize对应于第一片段的窗口大小;并且
RWindowSize对应于第二片段的窗口大小。
22.如权利要求16所述的方法,进一步包括:
通过跟踪延迟分组的数目来确定第一时间规整阈值。
23.如权利要求22所述的方法,其中,延迟分组是在分组的相关预期再现时刻之后接收到的分组。
24.如权利要求16所述的方法,进一步包括:
对至少一个分组进行时间规整;和
再现所述至少一个经过时间规整的分组。
CN2012102366244A 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器 Pending CN102779517A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60603604P 2004-08-30 2004-08-30
US60/606,036 2004-08-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2005800366303A Division CN101048813B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器

Publications (1)

Publication Number Publication Date
CN102779517A true CN102779517A (zh) 2012-11-14

Family

ID=35700421

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201010202729.9A Active CN101873266B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器
CN2012102366244A Pending CN102779517A (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器
CN2005800366303A Active CN101048813B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器
CN2010102036527A Active CN101873267B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器
CN201010203619A Pending CN101867522A (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201010202729.9A Active CN101873266B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2005800366303A Active CN101048813B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器
CN2010102036527A Active CN101873267B (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器
CN201010203619A Pending CN101867522A (zh) 2004-08-30 2005-08-30 用于语音ip传输的自适应去抖动缓冲器

Country Status (17)

Country Link
US (4) US7830900B2 (zh)
EP (4) EP1787290B1 (zh)
JP (4) JP2008512062A (zh)
KR (4) KR100938034B1 (zh)
CN (5) CN101873266B (zh)
AT (1) ATE488838T1 (zh)
BR (1) BRPI0514801B1 (zh)
CA (4) CA2691762C (zh)
DE (1) DE602005024825D1 (zh)
DK (1) DK2200024T3 (zh)
ES (2) ES2355039T3 (zh)
MX (1) MX2007002483A (zh)
MY (1) MY149811A (zh)
PL (2) PL1787290T3 (zh)
PT (1) PT2200024E (zh)
TW (1) TWI454101B (zh)
WO (1) WO2006026635A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207955A (zh) * 2014-06-30 2015-12-30 华为技术有限公司 数据帧的处理方法和装置
CN106656649A (zh) * 2016-09-14 2017-05-10 腾讯科技(深圳)有限公司 一种实时通话过程中基于测速的通道切换方法、客户端与服务器

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8017791B2 (en) * 2003-03-28 2011-09-13 Wayne State University Tri-substituted 2-benzhydryl-5-benzylamino-tetrahydro-pyran-4-ol and 6-benzhydryl-4-benzylamino-tetrahydro-pyran-3-ol analogues, and novel, 3,6-disubstituted pyran derivatives
CA2691762C (en) * 2004-08-30 2012-04-03 Qualcomm Incorporated Method and apparatus for an adaptive de-jitter buffer
US7674096B2 (en) * 2004-09-22 2010-03-09 Sundheim Gregroy S Portable, rotary vane vacuum pump with removable oil reservoir cartridge
US8085678B2 (en) * 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US7672742B2 (en) * 2005-02-16 2010-03-02 Adaptec, Inc. Method and system for reducing audio latency
US20060187970A1 (en) * 2005-02-22 2006-08-24 Minkyu Lee Method and apparatus for handling network jitter in a Voice-over IP communications network using a virtual jitter buffer and time scale modification
US8355907B2 (en) * 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders
US7746847B2 (en) * 2005-09-20 2010-06-29 Intel Corporation Jitter buffer management in a packet-based network
US8102878B2 (en) * 2005-09-29 2012-01-24 Qualcomm Incorporated Video packet shaping for video telephony
US8411662B1 (en) 2005-10-04 2013-04-02 Pico Mobile Networks, Inc. Beacon based proximity services
US8257177B1 (en) 2005-10-04 2012-09-04 PICO Mobile Networks, Inc Proximity based games for mobile communication devices
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control
US8548048B2 (en) * 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US8842555B2 (en) * 2005-10-21 2014-09-23 Qualcomm Incorporated Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
JP4640824B2 (ja) * 2006-01-30 2011-03-02 富士通株式会社 通信環境の測定方法、受信装置、及びコンピュータプログラム
JP4573780B2 (ja) * 2006-02-02 2010-11-04 富士通株式会社 パケット記録再生装置
US8832540B2 (en) 2006-02-07 2014-09-09 Nokia Corporation Controlling a time-scaling of an audio signal
US20070186146A1 (en) * 2006-02-07 2007-08-09 Nokia Corporation Time-scaling an audio signal
US20070201656A1 (en) * 2006-02-07 2007-08-30 Nokia Corporation Time-scaling an audio signal
JP4983054B2 (ja) * 2006-03-10 2012-07-25 富士通株式会社 サーバ装置及び同装置におけるバッファ制御方法
US20070294087A1 (en) * 2006-05-05 2007-12-20 Nokia Corporation Synthesizing comfort noise
US20070263672A1 (en) * 2006-05-09 2007-11-15 Nokia Corporation Adaptive jitter management control in decoder
JP2008005392A (ja) * 2006-06-26 2008-01-10 Kddi Corp 通信端末装置およびバッファ制御方法
US8005094B2 (en) * 2006-06-30 2011-08-23 Agere Systems Inc. Method and apparatus for circuit emulation services over cell and packet networks
US8619623B2 (en) * 2006-08-08 2013-12-31 Marvell World Trade Ltd. Ad-hoc simple configuration
CN101361112B (zh) * 2006-08-15 2012-02-15 美国博通公司 隐藏丢包后解码器状态的更新
EP2054876B1 (en) * 2006-08-15 2011-10-26 Broadcom Corporation Packet loss concealment for sub-band predictive coding based on extrapolation of full-band audio waveform
US7680099B2 (en) * 2006-08-22 2010-03-16 Nokia Corporation Jitter buffer adjustment
US8239190B2 (en) * 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
US7573907B2 (en) * 2006-08-22 2009-08-11 Nokia Corporation Discontinuous transmission of speech signals
DE602006005360D1 (de) * 2006-08-24 2009-04-09 Ntt Docomo Inc Verfahren und Vorrichtung für nahtloses Handover
US7796626B2 (en) * 2006-09-26 2010-09-14 Nokia Corporation Supporting a decoding of frames
KR101347404B1 (ko) * 2006-10-05 2014-01-02 엘지전자 주식회사 무선통신 시스템에서 음성 패킷의 전송 방법
US9135951B2 (en) * 2006-10-10 2015-09-15 Qualcomm Incorporated System and method for dynamic audio buffer management
US8274945B2 (en) * 2006-10-16 2012-09-25 Qualcomm Incorporated Method and apparatus for time-warping packets at the sender side
US8732315B2 (en) 2006-10-16 2014-05-20 Marvell International Ltd. Automatic ad-hoc network creation and coalescing using WiFi protected setup
US8233456B1 (en) 2006-10-16 2012-07-31 Marvell International Ltd. Power save mechanisms for dynamic ad-hoc networks
US8855275B2 (en) * 2006-10-18 2014-10-07 Sony Online Entertainment Llc System and method for regulating overlapping media messages
US9308455B1 (en) 2006-10-25 2016-04-12 Marvell International Ltd. System and method for gaming in an ad-hoc network
US8792945B2 (en) * 2006-10-31 2014-07-29 Motorola Mobility Llc Methods and devices for dual mode bidirectional audio communication
US8817740B2 (en) * 2006-10-31 2014-08-26 Motorola Mobility Llc Methods and devices of a queue controller for dual mode bidirectional audio communication
US7970384B1 (en) 2006-11-21 2011-06-28 Picomobile Networks, Inc. Active phone book enhancements
US7889686B1 (en) 2006-11-21 2011-02-15 Picomobile Networks, Inc. Seamless switching of media streams between different networks
US7961756B1 (en) 2006-11-21 2011-06-14 Picomobile Networks, Inc. Integrated multimedia system
US7978699B1 (en) 2006-11-21 2011-07-12 Picomobile Networks, Inc. Protocol compression with synchronized sequence numbers
US8279884B1 (en) * 2006-11-21 2012-10-02 Pico Mobile Networks, Inc. Integrated adaptive jitter buffer
CN101548500A (zh) * 2006-12-06 2009-09-30 艾利森电话股份有限公司 抖动缓冲器控制
US8111720B2 (en) * 2007-01-09 2012-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus to indicate maximum scheduling delay for jitter buffer implementations
KR20120034084A (ko) * 2007-01-10 2012-04-09 콸콤 인코포레이티드 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조
US7983309B2 (en) * 2007-01-19 2011-07-19 Nokia Corporation Buffering time determination
DE602008001787D1 (de) * 2007-02-12 2010-08-26 Dolby Lab Licensing Corp Verbessertes verhältnis von sprachlichen zu nichtsprachlichen audio-inhalten für ältere oder hörgeschädigte zuhörer
JP5530720B2 (ja) 2007-02-26 2014-06-25 ドルビー ラボラトリーズ ライセンシング コーポレイション エンターテイメントオーディオにおける音声強調方法、装置、およびコンピュータ読取り可能な記録媒体
GB0705329D0 (en) * 2007-03-20 2007-04-25 Skype Ltd Method of transmitting data in a communication system
DE602007004358D1 (de) * 2007-06-13 2010-03-04 Ntt Docomo Inc Verfahren und Vorrichtung zur Durchführung einer nahtlosen Weiterleitung einer mobilen Vorrichtung
US8918051B1 (en) 2007-06-18 2014-12-23 Marvell International Ltd. Method and apparatus for performing a handoff of a data communication session from one network to another network
US8628420B2 (en) * 2007-07-03 2014-01-14 Marvell World Trade Ltd. Location aware ad-hoc gaming
WO2009010831A1 (en) * 2007-07-18 2009-01-22 Nokia Corporation Flexible parameter update in audio/speech coded signals
US20090028300A1 (en) * 2007-07-25 2009-01-29 Mclaughlin Tom Network communication systems including video phones
US8340121B2 (en) 2007-08-22 2012-12-25 Qualcomm Incorporated Method and apparatus for transmission of circuit switched voice over packet switched networks
WO2009026739A1 (en) * 2007-08-24 2009-03-05 Alcatel Shanghai Bell Co., Ltd. Method for scheduling resource, network element and user equipment
KR101418354B1 (ko) * 2007-10-23 2014-07-10 삼성전자주식회사 음성 통신 시스템에서 플레이아웃 스케줄링 방법 및 장치
WO2009084689A1 (ja) * 2007-12-27 2009-07-09 Kyocera Corporation 無線通信装置
US8797850B2 (en) * 2008-01-10 2014-08-05 Qualcomm Incorporated System and method to adapt to network congestion
CN101926134B (zh) * 2008-01-25 2013-06-19 艾利森电话股份有限公司 用于网络节点的简单适配抖动缓冲器算法
US8532062B2 (en) * 2008-02-27 2013-09-10 Kyocera Corporation Wireless communication apparatus
US8649353B2 (en) 2008-03-04 2014-02-11 Interdigital Patent Holdings, Inc. Method and apparatus for accessing a random access channel by selectively using dedicated or contention-based preambles during handover
WO2009109069A1 (en) * 2008-03-07 2009-09-11 Arcsoft (Shanghai) Technology Company, Ltd. Implementing a high quality voip device
US8406715B2 (en) * 2008-03-27 2013-03-26 Panasonic Automotive Systems of America, division of Panasonic Corporation of North America Method and apparatus for dynamically adapting FM tuner sensitivity to a local environment for a single-tuner system
CN101304557B (zh) * 2008-04-25 2012-09-05 华为技术有限公司 一种分组传输控制方法及装置
US8892228B2 (en) * 2008-06-10 2014-11-18 Dolby Laboratories Licensing Corporation Concealing audio artifacts
US8055292B1 (en) * 2008-06-12 2011-11-08 Sprint Spectrum L.P. Method and system for power level adjustment of forward channels
US8488661B2 (en) * 2008-06-13 2013-07-16 Verizon Patent And Licensing Inc. Systems and methods for data streaming
US8670573B2 (en) * 2008-07-07 2014-03-11 Robert Bosch Gmbh Low latency ultra wideband communications headset and operating method therefor
WO2010024350A1 (ja) * 2008-08-28 2010-03-04 京セラ株式会社 無線端末及び通信端末
US20100202302A1 (en) * 2008-09-21 2010-08-12 Research In Motion Limited System and method for reserving and signaling hybrid automatic repeat request identifiers
US8245229B2 (en) * 2008-09-30 2012-08-14 Microsoft Corporation Temporal batching of I/O jobs
US8346995B2 (en) * 2008-09-30 2013-01-01 Microsoft Corporation Balancing usage of hardware devices among clients
US8479214B2 (en) * 2008-09-30 2013-07-02 Microsoft Corporation Hardware throughput saturation detection
US7920475B2 (en) * 2008-12-15 2011-04-05 Verizon Patent And Licensing Inc. System and method for adaptive removal of delay jitter effect and low end-to-end delay
EP2211335A1 (en) * 2009-01-21 2010-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for obtaining a parameter describing a variation of a signal characteristic of a signal
US8611337B2 (en) * 2009-03-31 2013-12-17 Adobe Systems Incorporated Adaptive subscriber buffering policy with persistent delay detection for live audio streams
US9137719B2 (en) * 2009-10-27 2015-09-15 Clearwire Ip Holdings Llc Multi-frequency real-time data stream handoff
CN102668466B (zh) * 2009-12-24 2015-07-22 意大利电信股份公司 通信网络中调度传输的方法和相应的通信节点
US9380401B1 (en) 2010-02-03 2016-06-28 Marvell International Ltd. Signaling schemes allowing discovery of network devices capable of operating in multiple network modes
US9158589B2 (en) 2010-04-05 2015-10-13 Futurewei Technologies, Inc. Method for dynamic migration of a process or services from one control plane processor to another
US8532804B2 (en) * 2010-06-18 2013-09-10 Microsoft Corporation Predictive resampler scheduler algorithm
US8744367B2 (en) 2010-08-31 2014-06-03 At&T Intellectual Property I, L.P. Tail optimization protocol for cellular radio resource allocation
KR101399604B1 (ko) * 2010-09-30 2014-05-28 한국전자통신연구원 지터버퍼 조정장치, 전자장치 및 그 방법
US8527627B2 (en) 2010-12-14 2013-09-03 At&T Intellectual Property I, L.P. Intelligent mobility application profiling with respect to identified communication bursts
KR20120108564A (ko) * 2011-03-24 2012-10-05 삼성전자주식회사 데이터 처리 시스템 및 그 동작 방법
US9177570B2 (en) * 2011-04-15 2015-11-03 St-Ericsson Sa Time scaling of audio frames to adapt audio processing to communications network timing
US9220066B2 (en) 2011-06-20 2015-12-22 At&T Intellectual Property I, L.P. Bundling data transfers and employing tail optimization protocol to manage cellular radio resource utilization
US9264872B2 (en) 2011-06-20 2016-02-16 At&T Intellectual Property I, L.P. Controlling traffic transmissions to manage cellular radio resource utilization
US8797874B2 (en) 2011-09-09 2014-08-05 Futurewei Technologies, Inc. Apparatus and system for packet routing and forwarding in an interior network
GB2520867B (en) 2011-10-25 2016-05-18 Skype Ltd Jitter buffer
CN103325385B (zh) * 2012-03-23 2018-01-26 杜比实验室特许公司 语音通信方法和设备、操作抖动缓冲器的方法和设备
EP2672393A1 (en) * 2012-06-04 2013-12-11 Dialog Semiconductor B.V. Circuit and methods to use an audio interface to program a device within an audio stream
WO2014039843A1 (en) 2012-09-07 2014-03-13 Apple Inc. Adaptive jitter buffer management for networks with varying conditions
US10356143B2 (en) * 2012-10-10 2019-07-16 Samsung Electronics Co., Ltd. Method and apparatus for media data delivery control
CN102970133B (zh) * 2012-11-12 2015-10-14 安徽量子通信技术有限公司 量子网络的语音传输方法和语音终端
KR20140067512A (ko) * 2012-11-26 2014-06-05 삼성전자주식회사 신호 처리 장치 및 그 신호 처리 방법
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
US9526037B2 (en) * 2013-02-04 2016-12-20 Apple Inc. SRVCC handover indication for remote party to voice call
US9420475B2 (en) * 2013-02-08 2016-08-16 Intel Deutschland Gmbh Radio communication devices and methods for controlling a radio communication device
US9565139B2 (en) 2013-03-15 2017-02-07 Comcast Cable Communications, Llc Remote latency adjustment
US9107159B2 (en) 2013-06-07 2015-08-11 Apple Inc. Enhancing jitter buffer performance through radio level feedback
AU2014283256B2 (en) 2013-06-21 2017-09-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Time scaler, audio decoder, method and a computer program using a quality control
KR101953613B1 (ko) 2013-06-21 2019-03-04 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 지터 버퍼 제어부, 오디오 디코더, 방법 및 컴퓨터 프로그램
CN103474083B (zh) * 2013-09-18 2015-11-18 中国人民解放军电子工程学院 基于正交正弦脉冲序列定位标签的语音时间规整方法
GB201318653D0 (en) * 2013-10-22 2013-12-04 Microsoft Corp Adapting a jitter buffer
US9525641B1 (en) * 2014-01-24 2016-12-20 Google Inc. Facilitating buffer wait time determination based on device- or entity-related conditions
US9338259B2 (en) 2014-02-05 2016-05-10 Sergio Ammirata User defined protocol for zero-added-jitter and error free transmission of layer-2 datagrams across lossy packet-switched network links
KR102163269B1 (ko) * 2014-03-04 2020-10-08 삼성전자주식회사 브이오아이피 프레임 전송 방법 및 장치
US20160142840A1 (en) * 2014-03-14 2016-05-19 Qualcomm Incorporated Features and optimizations for personal communication device based public addressing system
EP3123776B1 (en) * 2014-03-26 2019-05-08 Telefonaktiebolaget LM Ericsson (publ) Methods and equipment for management of playback buffers
US9762355B2 (en) * 2014-07-31 2017-09-12 Qualcomm Incorporated System and method of redundancy based packet transmission error recovery
EP3202106B1 (en) 2014-10-02 2018-12-12 Jacoti BVBA Method to handle problematic patterns in a low latency multimedia streaming environment
KR101600284B1 (ko) 2014-10-17 2016-03-07 주식회사 이노와이어리스 영상 품질 측정 방법
CN104410587A (zh) * 2014-11-13 2015-03-11 京信通信系统(中国)有限公司 一种接收缓冲区容量控制方法及装置
US9826445B2 (en) 2015-05-21 2017-11-21 At&T Mobility Ii Llc Facilitation of adaptive dejitter buffer between mobile devices
US9998386B2 (en) 2015-05-21 2018-06-12 At&T Mobility Ii Llc Facilitation of adaptive dejitter buffer
US9788026B2 (en) * 2015-08-25 2017-10-10 Imagine Communications Corp. Converting adaptive bitrate chunks to a streaming format
US10412453B2 (en) * 2015-10-13 2019-09-10 Futurewei Technologies, Inc. Probability weighted DASH based video streaming over an information-centric network
US10204635B1 (en) * 2015-12-01 2019-02-12 Marvell International Ltd. Device and method for processing media samples
US20170187635A1 (en) * 2015-12-28 2017-06-29 Qualcomm Incorporated System and method of jitter buffer management
KR102419595B1 (ko) 2016-01-07 2022-07-11 삼성전자주식회사 재생 지연 조절 방법 및 이를 적용한 전자 장치
CN107945807B (zh) * 2016-10-12 2021-04-13 厦门雅迅网络股份有限公司 基于静音游程的语音识别方法及其系统
JP6919261B2 (ja) 2017-03-24 2021-08-18 ヤマハ株式会社 音データ処理装置、音データ処理方法及びプログラム
US10454811B2 (en) * 2017-04-07 2019-10-22 Qualcomm Incorporated Apparatus and method for de-jitter buffer delay adjustment
US10978096B2 (en) * 2017-04-25 2021-04-13 Qualcomm Incorporated Optimized uplink operation for voice over long-term evolution (VoLte) and voice over new radio (VoNR) listen or silent periods
US10998002B2 (en) * 2017-05-31 2021-05-04 Nxp B.V. Audio time stretching
US10616123B2 (en) * 2017-07-07 2020-04-07 Qualcomm Incorporated Apparatus and method for adaptive de-jitter buffer
US10313416B2 (en) * 2017-07-21 2019-06-04 Nxp B.V. Dynamic latency control
US20190102223A1 (en) * 2017-09-29 2019-04-04 Niall Power System, Apparatus And Method For Real-Time Activated Scheduling In A Queue Management Device
US11456962B2 (en) * 2018-05-16 2022-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Delay-aware resource sharing
US10616304B2 (en) * 2018-05-30 2020-04-07 Qualcomm Incorporated Audio dejittering using delay standard deviation
US11240176B2 (en) 2018-08-21 2022-02-01 At&T Intellectual Property I, L.P. Time-spaced messaging for facilitating network communications
US10812216B2 (en) 2018-11-05 2020-10-20 XCOM Labs, Inc. Cooperative multiple-input multiple-output downlink scheduling
US10659112B1 (en) 2018-11-05 2020-05-19 XCOM Labs, Inc. User equipment assisted multiple-input multiple-output downlink configuration
US10756860B2 (en) 2018-11-05 2020-08-25 XCOM Labs, Inc. Distributed multiple-input multiple-output downlink configuration
US10432272B1 (en) 2018-11-05 2019-10-01 XCOM Labs, Inc. Variable multiple-input multiple-output downlink user equipment
CN113383505B (zh) * 2018-11-19 2024-10-18 诺基亚技术有限公司 用于tsn集成的去抖动缓冲器能力的信令
US11290172B2 (en) 2018-11-27 2022-03-29 XCOM Labs, Inc. Non-coherent cooperative multiple-input multiple-output communications
US11765094B2 (en) * 2018-12-12 2023-09-19 Telefonaktiebolaget Lm Ericsson (Publ) Communication system with de-jitter buffer for reducing jitter
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment
US10896021B2 (en) 2019-02-26 2021-01-19 Nvidia Corporation Dynamically preventing audio underrun using machine learning
JPWO2020217605A1 (zh) * 2019-04-23 2020-10-29
US10735057B1 (en) 2019-04-29 2020-08-04 XCOM Labs, Inc. Uplink user equipment selection
US10686502B1 (en) 2019-04-29 2020-06-16 XCOM Labs, Inc. Downlink user equipment selection
US11411778B2 (en) 2019-07-12 2022-08-09 XCOM Labs, Inc. Time-division duplex multiple input multiple output calibration
US11411779B2 (en) 2020-03-31 2022-08-09 XCOM Labs, Inc. Reference signal channel estimation
CA3175361A1 (en) 2020-04-15 2021-10-21 Tamer Adel Kadous Wireless network multipoint association and diversity
US11889128B2 (en) 2021-01-05 2024-01-30 Qualcomm Incorporated Call audio playback speed adjustment
EP4294023A4 (en) * 2021-03-04 2024-04-10 Huawei Technologies Co., Ltd. DATA PROCESSING METHOD AND DEVICE
WO2022212968A1 (en) * 2021-03-30 2022-10-06 Qualcomm Incorporated Dejitter target delay value based on silence descriptors
DE102021117762B3 (de) * 2021-07-09 2022-08-18 Dfs Deutsche Flugsicherung Gmbh Verfahren zur Jitter-Kompensation bei einem Empfangen von Sprachinhalt über IP basierte Netzwerke und Empfänger hierfür sowie Verfahren und Vorrichtung zum Senden und Empfangen von Sprachinhalt mit Jitter-Kompensation
WO2023164301A2 (en) * 2022-02-28 2023-08-31 Arris Enterprises Llc Method of measuring timing holdover performance in an r-phy system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000024144A1 (en) * 1998-10-21 2000-04-27 Tiernan Communications, Inc. Method and apparatus for de-jittering asynchronous data transfer delay
CN1338096A (zh) * 1998-12-30 2002-02-27 诺基亚移动电话有限公司 用于分析-合成celp型语音编码的自适应窗
US6496794B1 (en) * 1999-11-22 2002-12-17 Motorola, Inc. Method and apparatus for seamless multi-rate speech coding
US20040120309A1 (en) * 2001-04-24 2004-06-24 Antti Kurittu Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder
US20040156397A1 (en) * 2003-02-11 2004-08-12 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification

Family Cites Families (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US243846A (en) * 1881-07-05 David buick
US89003A (en) * 1869-04-20 Improved railway-carriage wheel
US179474A (en) * 1876-07-04 Improvement in the manufacture of gas for illuminating and heating
US152152A (en) * 1874-06-16 Improvement in bob-sleds
US185186A (en) * 1876-12-12 Improvement in mail-bag fastenings
US16711A (en) * 1857-03-03 Pen and pencil holder
US742026A (en) * 1903-07-09 1903-10-20 Isaac Pendleton Henthorn Embryotractor.
JPS5643800A (en) 1979-09-19 1981-04-22 Fujitsu Ltd Multilayer printed board
JPS57158247A (en) 1981-03-24 1982-09-30 Tokuyama Soda Co Ltd Flame retardant polyolefin composition
JPS57159038A (en) 1981-03-25 1982-10-01 Fujitsu Ltd Forming method for v-shaped isolation region
JPS57158247U (zh) * 1981-03-30 1982-10-05
JPS59153346A (ja) * 1983-02-21 1984-09-01 Nec Corp 音声符号化・復号化装置
JPS61156949A (ja) * 1984-12-27 1986-07-16 Matsushita Electric Ind Co Ltd 音声パケツト通信方式
JPS61158949A (ja) 1985-01-07 1986-07-18 Toyo Gosei Kogyo Kk 2−(4′−アミルベンゾイル)安息香酸混合物の製造方法
JPH0650888B2 (ja) * 1985-09-20 1994-06-29 日本電信電話株式会社 音声パケツト通信方式
JPS637297A (ja) 1986-06-24 1988-01-13 辻 賢二 横ミシン刄固定具
BE1000415A7 (nl) 1987-03-18 1988-11-22 Bell Telephone Mfg Asynchroon op basis van tijdsverdeling werkend communicatiesysteem.
JPS6429141A (en) 1987-07-24 1989-01-31 Nec Corp Packet exchange system
JPH01113744A (ja) 1987-10-27 1989-05-02 Ritsutai Shiyashinzou Kk 立体写真像製作方法およびその装置
JP2760810B2 (ja) 1988-09-19 1998-06-04 株式会社日立製作所 音声パケット処理方法
SE462277B (sv) 1988-10-05 1990-05-28 Vme Ind Sweden Ab Hydrauliskt styrsystem
JPH02288441A (ja) * 1989-04-28 1990-11-28 Oki Electric Ind Co Ltd 音声パケット受信回路
GB2243793B (en) * 1990-05-09 1993-08-18 Pall Corp Filter assemblies
JPH04113744A (ja) * 1990-09-04 1992-04-15 Fujitsu Ltd 可変速度パケット伝送方式
BR9105987A (pt) 1990-09-19 1993-02-02 Philips Nv Portador de registro no qual foram registrados um arquivo de dados principais e um arquivo de controle,processo e dispositivo para registrar um arquivo de dados principais e um arquivo de controle num portador de registro,e dispositivo para ter um portador de registro
JP2846443B2 (ja) 1990-10-09 1999-01-13 三菱電機株式会社 パケット組立分解装置
JPH04331529A (ja) * 1991-05-07 1992-11-19 Fujitsu Ltd ゆらぎ吸収バッファの制御装置
DE69232202T2 (de) 1991-06-11 2002-07-25 Qualcomm, Inc. Vocoder mit veraendlicher bitrate
US5283811A (en) * 1991-09-03 1994-02-01 General Electric Company Decision feedback equalization for digital cellular radio
US5371853A (en) * 1991-10-28 1994-12-06 University Of Maryland At College Park Method and system for CELP speech coding and codebook for use therewith
JPH06152648A (ja) * 1992-11-09 1994-05-31 Mitsubishi Electric Corp データ・パケット通信方法
US5317604A (en) * 1992-12-30 1994-05-31 Gte Government Systems Corporation Isochronous interface method
JP3186315B2 (ja) * 1993-02-27 2001-07-11 ソニー株式会社 信号圧縮装置、信号伸張装置、信号送信装置、信号受信装置及び信号送受信装置
US5490479A (en) 1993-05-10 1996-02-13 Shalev; Matti Method and a product resulting from the use of the method for elevating feed storage bins
US5440582A (en) * 1993-05-28 1995-08-08 Motorola, Inc. Method and apparatus for determining signal usability
US5640368A (en) * 1993-07-26 1997-06-17 Exxon Production Research Company Migration velocity analysis using limited-aperture and monte carlo migration
US5440562A (en) 1993-12-27 1995-08-08 Motorola, Inc. Communication through a channel having a variable propagation delay
US5784532A (en) 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
DE69535627T2 (de) * 1994-08-12 2008-07-24 Sony Corp. Editiervorrichtung für videosignale
NL9401696A (nl) 1994-10-14 1996-05-01 Nederland Ptt Bufferuitleesbesturing van ATM ontvanger.
US5602959A (en) 1994-12-05 1997-02-11 Motorola, Inc. Method and apparatus for characterization and reconstruction of speech excitation waveforms
US5699478A (en) 1995-03-10 1997-12-16 Lucent Technologies Inc. Frame erasure compensation technique
US5929921A (en) * 1995-03-16 1999-07-27 Matsushita Electric Industrial Co., Ltd. Video and audio signal multiplex sending apparatus, receiving apparatus and transmitting apparatus
JP3286110B2 (ja) 1995-03-16 2002-05-27 松下電器産業株式会社 音声パケット補間装置
KR0164827B1 (ko) * 1995-03-31 1999-03-20 김광호 프로그램 가이드신호 수신기
PL185513B1 (pl) 1995-09-14 2003-05-30 Ericsson Inc Sposób i urządzenie do selektywnej zmiany ramki sygnału cyfrowego ukształtowanego z wielu kolejnych ramek
JPH09127995A (ja) * 1995-10-26 1997-05-16 Sony Corp 信号復号化方法及び信号復号化装置
US5640388A (en) 1995-12-21 1997-06-17 Scientific-Atlanta, Inc. Method and apparatus for removing jitter and correcting timestamps in a packet stream
JPH09261613A (ja) 1996-03-26 1997-10-03 Mitsubishi Electric Corp データ受信再生装置
US5866187A (en) * 1996-08-28 1999-02-02 Bunge Foods Corporation Baking formulation containing pelletized shortening
KR0185858B1 (ko) * 1996-08-31 1999-05-15 대우전자주식회사 에이티엠망에서의 이디디를 이용한 스톱-앤-고우 큐 서비스방법
US5940479A (en) * 1996-10-01 1999-08-17 Northern Telecom Limited System and method for transmitting aural information between a computer and telephone equipment
JPH10190735A (ja) * 1996-12-27 1998-07-21 Secom Co Ltd 通話システム
JPH10313315A (ja) 1997-05-12 1998-11-24 Mitsubishi Electric Corp 音声セルゆらぎ吸収装置
US6073092A (en) 1997-06-26 2000-06-06 Telogy Networks, Inc. Method for speech coding based on a code excited linear prediction (CELP) model
JP3075246B2 (ja) * 1998-01-26 2000-08-14 日本電気株式会社 音声パケット送受信方法および装置
US6240386B1 (en) 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US6259677B1 (en) * 1998-09-30 2001-07-10 Cisco Technology, Inc. Clock synchronization and dynamic jitter management for voice over IP and real-time data
US6370125B1 (en) 1998-10-08 2002-04-09 Adtran, Inc. Dynamic delay compensation for packet-based voice network
JP2000124947A (ja) 1998-10-13 2000-04-28 Oki Electric Ind Co Ltd 音声パケット受信装置及び方法
US6473399B1 (en) 1998-11-30 2002-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter
US6456964B2 (en) 1998-12-21 2002-09-24 Qualcomm, Incorporated Encoding of periodic speech using prototype waveforms
US6922669B2 (en) 1998-12-29 2005-07-26 Koninklijke Philips Electronics N.V. Knowledge-based strategies applied to N-best lists in automatic speech recognition systems
US6452950B1 (en) * 1999-01-14 2002-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive jitter buffering
US20020101885A1 (en) * 1999-03-15 2002-08-01 Vladimir Pogrebinsky Jitter buffer and methods for control of same
WO2000063885A1 (en) 1999-04-19 2000-10-26 At & T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
JP2000307654A (ja) 1999-04-23 2000-11-02 Canon Inc 音声パケット伝送システム
GB9911737D0 (en) * 1999-05-21 1999-07-21 Philips Electronics Nv Audio signal time scale modification
US6785230B1 (en) 1999-05-25 2004-08-31 Matsushita Electric Industrial Co., Ltd. Audio transmission apparatus
JP4218186B2 (ja) * 1999-05-25 2009-02-04 パナソニック株式会社 音声伝送装置
JP3506960B2 (ja) * 1999-08-03 2004-03-15 シャープ株式会社 パケット処理装置及びパケット処理プログラムを記録した記憶媒体
JP4895418B2 (ja) * 1999-08-24 2012-03-14 ソニー株式会社 音声再生方法および音声再生装置
WO2001020595A1 (en) 1999-09-14 2001-03-22 Fujitsu Limited Voice encoder/decoder
US6377931B1 (en) * 1999-09-28 2002-04-23 Mindspeed Technologies Speech manipulation for continuous speech playback over a packet network
US6859460B1 (en) 1999-10-22 2005-02-22 Cisco Technology, Inc. System and method for providing multimedia jitter buffer adjustment for packet-switched networks
US6665317B1 (en) * 1999-10-29 2003-12-16 Array Telecom Corporation Method, system, and computer program product for managing jitter
US6366880B1 (en) 1999-11-30 2002-04-02 Motorola, Inc. Method and apparatus for suppressing acoustic background noise in a communication system by equaliztion of pre-and post-comb-filtered subband spectral energies
US6693921B1 (en) 1999-11-30 2004-02-17 Mindspeed Technologies, Inc. System for use of packet statistics in de-jitter delay adaption in a packet network
EP1254574A1 (en) 2000-02-08 2002-11-06 Siemens AG Method and system for integrating pbx features in a wireless network
JP3841256B2 (ja) * 2000-02-15 2006-11-01 三菱電機株式会社 通信システム及び通信方法及び送信端末
GB2360178B (en) 2000-03-06 2004-04-14 Mitel Corp Sub-packet insertion for packet loss compensation in Voice Over IP networks
US6813274B1 (en) * 2000-03-21 2004-11-02 Cisco Technology, Inc. Network switch and method for data switching using a crossbar switch fabric with output port groups operating concurrently and independently
AU2001247578A1 (en) 2000-04-03 2001-10-15 Ericsson Inc. Method and apparatus for efficient handover in packet data communication system
US6763375B1 (en) 2000-04-11 2004-07-13 International Business Machines Corporation Method for defining and controlling the overall behavior of a network processor device
US6584438B1 (en) 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
ATE420432T1 (de) 2000-04-24 2009-01-15 Qualcomm Inc Verfahren und vorrichtung zur prädiktiven quantisierung von stimmhaften sprachsignalen
SE518941C2 (sv) 2000-05-31 2002-12-10 Ericsson Telefon Ab L M Anordning och förfarande relaterande till kommunikation av tal
EP1182875A3 (en) * 2000-07-06 2003-11-26 Matsushita Electric Industrial Co., Ltd. Streaming method and corresponding system
CN1119890C (zh) * 2000-09-30 2003-08-27 华为技术有限公司 一种ip语音数据包的抗丢包处理方法
JP4110734B2 (ja) 2000-11-27 2008-07-02 沖電気工業株式会社 音声パケット通信の品質制御装置
US7155518B2 (en) * 2001-01-08 2006-12-26 Interactive People Unplugged Ab Extranet workgroup formation across multiple mobile virtual private networks
JP2002223247A (ja) * 2001-01-25 2002-08-09 Matsushita Electric Ind Co Ltd リアルタイム音声再生装置
US20020133334A1 (en) * 2001-02-02 2002-09-19 Geert Coorman Time scale modification of digitally sampled waveforms in the time domain
US20040204935A1 (en) 2001-02-21 2004-10-14 Krishnasamy Anandakumar Adaptive voice playout in VOP
US7005511B2 (en) 2001-02-26 2006-02-28 The Regents Of The University Of California Fluorescent protein variants and methods for making same
US7212517B2 (en) * 2001-04-09 2007-05-01 Lucent Technologies Inc. Method and apparatus for jitter and frame erasure correction in packetized voice communication systems
JP3644404B2 (ja) * 2001-04-27 2005-04-27 三菱電機株式会社 光加入者線端局装置及びaponシステム及びセル遅延ゆらぎ抑制方法
US7006511B2 (en) 2001-07-17 2006-02-28 Avaya Technology Corp. Dynamic jitter buffering for voice-over-IP and other packet-based communication systems
US7266127B2 (en) 2002-02-08 2007-09-04 Lucent Technologies Inc. Method and system to compensate for the effects of packet delays on speech quality in a Voice-over IP system
US7079486B2 (en) 2002-02-13 2006-07-18 Agere Systems Inc. Adaptive threshold based jitter buffer management for packetized data
US7158572B2 (en) * 2002-02-14 2007-01-02 Tellabs Operations, Inc. Audio enhancement communication techniques
US7126957B1 (en) 2002-03-07 2006-10-24 Utstarcom, Inc. Media flow method for transferring real-time data between asynchronous and synchronous networks
US7263109B2 (en) * 2002-03-11 2007-08-28 Conexant, Inc. Clock skew compensation for a jitter buffer
US20030187663A1 (en) 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
US6944540B2 (en) * 2002-03-28 2005-09-13 Motorola, Inc. Time determination in satellite positioning system receivers and methods therefor
JP3761486B2 (ja) 2002-03-29 2006-03-29 Necインフロンティア株式会社 無線lanシステム、主装置およびプログラム
AU2002307884A1 (en) * 2002-04-22 2003-11-03 Nokia Corporation Method and device for obtaining parameters for parametric speech coding of frames
US7496086B2 (en) * 2002-04-30 2009-02-24 Alcatel-Lucent Usa Inc. Techniques for jitter buffer delay management
US7280510B2 (en) 2002-05-21 2007-10-09 Nortel Networks Limited Controlling reverse channel activity in a wireless communications system
WO2003107591A1 (en) * 2002-06-14 2003-12-24 Nokia Corporation Enhanced error concealment for spatial audio
US20040001494A1 (en) * 2002-07-01 2004-01-01 Zarlink Semiconductor V.N. Inc Architecture for obtaining playback time from a packet sequence number in AAL2 SSCS voice
US7336678B2 (en) * 2002-07-31 2008-02-26 Intel Corporation State-based jitter buffer and method of operation
US8520519B2 (en) 2002-09-20 2013-08-27 Broadcom Corporation External jitter buffer in a packet voice system
JP3796240B2 (ja) 2002-09-30 2006-07-12 三洋電機株式会社 ネットワーク電話機および音声復号化装置
JP4146708B2 (ja) 2002-10-31 2008-09-10 京セラ株式会社 通信システム、無線通信端末、データ配信装置及び通信方法
US6996626B1 (en) * 2002-12-03 2006-02-07 Crystalvoice Communications Continuous bandwidth assessment and feedback for voice-over-internet-protocol (VoIP) comparing packet's voice duration and arrival rate
KR100517237B1 (ko) 2002-12-09 2005-09-27 한국전자통신연구원 직교 주파수 분할 다중화 무선 통신 시스템에서의채널품질 추정과 링크적응 방법 및 그 장치
US7525918B2 (en) * 2003-01-21 2009-04-28 Broadcom Corporation Using RTCP statistics for media system control
JP2004266724A (ja) * 2003-03-04 2004-09-24 Matsushita Electric Ind Co Ltd リアルタイム音声用バッファ制御装置
JP3825007B2 (ja) 2003-03-11 2006-09-20 沖電気工業株式会社 ジッタバッファの制御方法
JP4034217B2 (ja) 2003-03-20 2008-01-16 クボタ松下電工外装株式会社 出隅部材とこれを用いた出隅納め構造
US7551671B2 (en) * 2003-04-16 2009-06-23 General Dynamics Decision Systems, Inc. System and method for transmission of video signals using multiple channels
JP2005057504A (ja) * 2003-08-05 2005-03-03 Matsushita Electric Ind Co Ltd データ通信装置及びデータ通信方法
AU2003253006A1 (en) 2003-08-15 2005-03-07 Research In Motion Uk Limited Apparatus, and an associated method, for preserving service quality levels during hand-off in a radio communication system
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
US7505764B2 (en) 2003-10-28 2009-03-17 Motorola, Inc. Method for retransmitting a speech packet
US7272400B1 (en) 2003-12-19 2007-09-18 Core Mobility, Inc. Load balancing between users of a wireless base station
US7424026B2 (en) * 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
JP4076981B2 (ja) * 2004-08-09 2008-04-16 Kddi株式会社 通信端末装置およびバッファ制御方法
CA2691762C (en) * 2004-08-30 2012-04-03 Qualcomm Incorporated Method and apparatus for an adaptive de-jitter buffer
US8085678B2 (en) * 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
SG124307A1 (en) * 2005-01-20 2006-08-30 St Microelectronics Asia Method and system for lost packet concealment in high quality audio streaming applications
US8102872B2 (en) * 2005-02-01 2012-01-24 Qualcomm Incorporated Method for discontinuous transmission and accurate reproduction of background noise information
US20060187970A1 (en) 2005-02-22 2006-08-24 Minkyu Lee Method and apparatus for handling network jitter in a Voice-over IP communications network using a virtual jitter buffer and time scale modification
US8155965B2 (en) * 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
US8355907B2 (en) 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders
JP5129117B2 (ja) * 2005-04-01 2013-01-23 クゥアルコム・インコーポレイテッド 音声信号の高帯域部分を符号化及び復号する方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000024144A1 (en) * 1998-10-21 2000-04-27 Tiernan Communications, Inc. Method and apparatus for de-jittering asynchronous data transfer delay
CN1338096A (zh) * 1998-12-30 2002-02-27 诺基亚移动电话有限公司 用于分析-合成celp型语音编码的自适应窗
US6496794B1 (en) * 1999-11-22 2002-12-17 Motorola, Inc. Method and apparatus for seamless multi-rate speech coding
US20040120309A1 (en) * 2001-04-24 2004-06-24 Antti Kurittu Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder
US20040156397A1 (en) * 2003-02-11 2004-08-12 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207955A (zh) * 2014-06-30 2015-12-30 华为技术有限公司 数据帧的处理方法和装置
CN105207955B (zh) * 2014-06-30 2019-02-05 华为技术有限公司 数据帧的处理方法和装置
CN106656649A (zh) * 2016-09-14 2017-05-10 腾讯科技(深圳)有限公司 一种实时通话过程中基于测速的通道切换方法、客户端与服务器
CN106656649B (zh) * 2016-09-14 2021-01-01 腾讯科技(深圳)有限公司 一种实时通话过程中基于测速的通道切换方法、客户端与服务器

Also Published As

Publication number Publication date
JP2010136346A (ja) 2010-06-17
JP5389729B2 (ja) 2014-01-15
CA2691762A1 (en) 2006-03-09
EP2200024B1 (en) 2013-03-27
WO2006026635A3 (en) 2006-06-22
CA2691959A1 (en) 2006-03-09
US20060056383A1 (en) 2006-03-16
WO2006026635A2 (en) 2006-03-09
CN101867522A (zh) 2010-10-20
KR20090028641A (ko) 2009-03-18
TW200629816A (en) 2006-08-16
EP2189978A1 (en) 2010-05-26
DK2200024T3 (da) 2013-07-01
PT2200024E (pt) 2013-07-08
ES2355039T3 (es) 2011-03-22
EP2200024A1 (en) 2010-06-23
US8331385B2 (en) 2012-12-11
TWI454101B (zh) 2014-09-21
US20060045138A1 (en) 2006-03-02
BRPI0514801A (pt) 2008-06-24
KR100938034B1 (ko) 2010-01-21
JP2008512062A (ja) 2008-04-17
US7826441B2 (en) 2010-11-02
JP2013031222A (ja) 2013-02-07
JP2010226744A (ja) 2010-10-07
EP1787290B1 (en) 2010-11-17
CN101873267A (zh) 2010-10-27
JP4933605B2 (ja) 2012-05-16
KR20090028640A (ko) 2009-03-18
CA2691589A1 (en) 2006-03-09
US20060045139A1 (en) 2006-03-02
KR20090026818A (ko) 2009-03-13
PL2200024T3 (pl) 2013-08-30
EP2204796A1 (en) 2010-07-07
EP1787290A2 (en) 2007-05-23
EP2204796B1 (en) 2017-07-12
CN101873266B (zh) 2015-11-25
KR100964437B1 (ko) 2010-06-16
CA2691959C (en) 2013-07-30
MY149811A (en) 2013-10-14
CA2691762C (en) 2012-04-03
PL1787290T3 (pl) 2011-04-29
US7830900B2 (en) 2010-11-09
US7817677B2 (en) 2010-10-19
JP5591897B2 (ja) 2014-09-17
CA2578737A1 (en) 2006-03-09
MX2007002483A (es) 2007-05-11
KR100938032B1 (ko) 2010-01-21
CN101873267B (zh) 2012-10-24
CN101873266A (zh) 2010-10-27
KR20070065876A (ko) 2007-06-25
CN101048813A (zh) 2007-10-03
DE602005024825D1 (de) 2010-12-30
CA2578737C (en) 2010-09-21
KR100964436B1 (ko) 2010-06-16
ATE488838T1 (de) 2010-12-15
US20060050743A1 (en) 2006-03-09
BRPI0514801B1 (pt) 2019-06-18
CN101048813B (zh) 2012-08-29
ES2405750T3 (es) 2013-06-03

Similar Documents

Publication Publication Date Title
CN101048813B (zh) 用于语音ip传输的自适应去抖动缓冲器
EP2140635B1 (en) Method and apparatus for modifying playback timing of talkspurts within a sentence without affecting intelligibility
WO2006044930A1 (en) Method and apparatus for managing end-to-end voice over internet protocol media latency

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1177977

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20121114

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1177977

Country of ref document: HK