ES2355039T3 - Método y aparato destinados a una memoria temporal supresora de fluctuación en retardos adaptativa. - Google Patents
Método y aparato destinados a una memoria temporal supresora de fluctuación en retardos adaptativa. Download PDFInfo
- Publication number
- ES2355039T3 ES2355039T3 ES05794150T ES05794150T ES2355039T3 ES 2355039 T3 ES2355039 T3 ES 2355039T3 ES 05794150 T ES05794150 T ES 05794150T ES 05794150 T ES05794150 T ES 05794150T ES 2355039 T3 ES2355039 T3 ES 2355039T3
- Authority
- ES
- Spain
- Prior art keywords
- delay
- packets
- voice
- time
- delays
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 43
- 230000015654 memory Effects 0.000 title claims description 445
- 230000001934 delay Effects 0.000 claims description 254
- 238000007906 compression Methods 0.000 claims description 69
- 230000006835 compression Effects 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 46
- 230000003111 delayed effect Effects 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 101100247669 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB1 gene Proteins 0.000 claims description 2
- 101100242901 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB2 gene Proteins 0.000 claims description 2
- 101150025928 Segment-1 gene Proteins 0.000 claims description 2
- 101150082826 Segment-2 gene Proteins 0.000 claims description 2
- 101100242902 Thogoto virus (isolate SiAr 126) Segment 1 gene Proteins 0.000 claims description 2
- 101100194052 Thogoto virus (isolate SiAr 126) Segment 2 gene Proteins 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 57
- 230000001629 suppression Effects 0.000 description 39
- 230000005540 biological transmission Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 23
- 230000006978 adaptation Effects 0.000 description 22
- 239000000523 sample Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000000737 periodic effect Effects 0.000 description 12
- 230000015556 catabolic process Effects 0.000 description 11
- 238000006731 degradation reaction Methods 0.000 description 11
- 230000006872 improvement Effects 0.000 description 11
- 238000012217 deletion Methods 0.000 description 10
- 230000037430 deletion Effects 0.000 description 10
- KSORMZFPXQKUAB-FQEVSTJZSA-N tert-butyl N-[(2S)-1-(1H-indol-3-yl)-3-[3-oxo-3-(pyridin-3-ylmethylamino)propyl]sulfanylpropan-2-yl]carbamate Chemical compound CC(C)(C)OC(=O)N[C@H](CSCCC(=O)NCc1cccnc1)Cc1c[nH]c2ccccc12 KSORMZFPXQKUAB-FQEVSTJZSA-N 0.000 description 10
- URYAFVKLYSEINW-UHFFFAOYSA-N Chlorfenethol Chemical group C=1C=C(Cl)C=CC=1C(O)(C)C1=CC=C(Cl)C=C1 URYAFVKLYSEINW-UHFFFAOYSA-N 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000001850 reproductive effect Effects 0.000 description 4
- 230000003466 anti-cipated effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 206010011878 Deafness Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 208000035742 Air-borne transmission Diseases 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000005557 airborne transmission Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 244000045947 parasite Species 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding 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)
- Time-Division Multiplex Systems (AREA)
- Telephonic Communication Services (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
Un aparato, que comprende: Una unidad de memorización (256) configurada para almacenar paquetes de datos y un primer controlador (254) configurado para comparar un número de paquetes almacenados en la unidad de memorización para un primer umbral de envolvente de tiempo de compresión y un primer umbral de envolvente de tiempo de expansión para la unidad de memorización, estando, además, el primer controlador adaptado para generar una señal de control de envolvente de tiempo que indica la compresión si el número de paquetes memorizados es superior al primer umbral de envolvente de tiempo de compresión y para generar una señal de control de envolvente de tiempo que indica la expansión si el número de paquetes memorizados es superior al primer umbral de envolvente de tiempo de expansión, en donde el primer controlador está configurado para identificar el inicio y el final de una ráfaga de voz, en donde el primer controlador está configurado para identificar una parte final de la ráfaga de voz (510) y comprimir al menos un paquete en la parte final de la ráfaga de voz.
Description
La presente solicitud de patente reivindica prioridad para la solicitud provisional de Estados Unidos nº 60/606.036, titulada ―Memoria temporal supresora de fluctuaciòn en los retardos con el protocolo Voice Over IP para comunicaciones de conmutaciòn de paquetes‖, presentada con fecha 30 de agosto de 2004, asignada a su cesionario.
Antecedentes de la invención
La presente invención se refiere a sistemas de comunicaciones inalámbricas y en particular, a una memoria temporal supresora de fluctuación en los retardos con Protocolo Voice over Internet (VoIP) para comunicaciones de conmutación de paquetes. La invención se aplica a cualquier sistema donde puedan perderse paquetes.
En un sistema de comunicaciones, el retardo ‗extremo a extremo‘ de un paquete se puede definir como el tiempo transcurrido desde su generación en origen a cuando el paquete alcanza su destino. En un sistema de comunicaciones de conmutación de paquetes, el retardo para el desplazamiento de los paquetes desde su origen a su destino puede variar dependiendo de diversas condiciones operativas incluyendo, sin limitación, condiciones de canales y carga de la red. Las condiciones de los canales se refieren a la calidad del enlace inalámbrico. Algunos factores que determinan la calidad del enlace inalámbrico son la intensidad de la señal, la velocidad de un móvil y/o obstrucciones físicas.
El retardo ‗extremo a extremo‘ incluye los retardos introducidos en la red y los diversos elementos a través de los cuales pasa el paquete. Numerosos factores contribuyen al retardo extremo a extremo. La varianza en el retardo extremo a extremo se refiere como una fluctuación en los retardos (jitter). Puede hacer que se reciban paquetes después de que ya no sean útiles. Por ejemplo, en una aplicación de baja latencia, tal como la voz, si un paquete se recibe demasiado tarde, puede eliminarse por el receptor. Dichas condiciones dan lugar a la degradación en la calidad de la comunicación.
El documento WO 00/24144 A (TIERNAN COMMUNICATIONS, INC) de 27 de abril de 2000 (2000-04-27) describe un bucle de enganche de fase (PLL) para sincronizar paquetes que llegan con variaciones de retardo debido al modo de transferencia asíncrona (ATM) o multiplexación asíncrona. El bucle de enganche de fase comprende un circuito de recuperación para controlar la temporización de reloj y una unidad de recuperación de reloj que controla un nivel de memoria temporal del bucle PLL.
El documento US 2004/156397 A1 (HEIKKINEN ARI ET AL) de 12 agosto 2004 (2004-08-12) da a conocer un dispositivo que hace a los datos de voz codificados y en paquetes audibles para un oyente. El dispositivo comprende un decodificador de voz para realizar una operación de envolvente de tiempo para alargar o acortar una duración de una trama de voz.
El documento US-B1-6 496 794 (KLEIDER JOHN ERIC ET AL) de 17 de diciembre de 2002 (2002-12-17) da a conocer un sistema de comunicación que comprende una memoria temporal de capacidad/tamaño variable, una memoria temporal de voz, un bloque de control de la memoria temporal y un módulo de transición de tasa sin solución de continuidad, que pone en correlación los datos de voz previamente codificados a diferentes tasas y trunca o concatena y envuelve los datos de voz.
El documento US 2004/120309 A1 (KURITU ANTTI ET AL) de 24 de junio de 2004 (2004-06-24) describe un método para cambiar el tamaño de una memoria temporal supresora de fluctuación en los retardos, en un sistema de comunicaciones, que comprende una red de paquetes para la memorización temporal intermedia de los paquetes recibidos, que contienen datos de audio para habilitar una compensación de retardos variables de los paquetes recibidos. Además, propone determinar que se cambie un tamaño de la memoria temporal supresora de fluctuación actual.
El documento de E. Moulines y W. Verhelst: ―Técnicas de dominio de tiempos y dominio de frecuencias para modificaciòn prosòdica de la voz‖, Speech Coding y Síntesis, páginas 519–555, XP002366713 da a conocer un modelo de producción de voz, las modificaciones a escala de tiempos y escala de pasos, la Transformada de Fourier de Tiempo Corto (STFT) como una representación gráfica de tiempo-frecuencia para el análisis, la modificación y la síntesis de señales lentamente variables con el tiempo. Además, las características de análisis y síntesis de STFT se definen como magnitudes variables con el tiempo.
La Figura 1 es un diagrama de bloques de un sistema de comunicaciones de la técnica anterior, en donde un terminal de acceso comprende una memoria temporal supresora de fluctuación en los retardos;
La Figura 2 representa una memoria temporal supresora de fluctuación en los retardos de la técnica anterior;
La Figura 3 es un cronograma que ilustra la transmisión, recepción y resolución de paquetes que dan lugar a un
―subdesbordamiento‖;
Las Figuras 4A y 4B son cronogramas que ilustran el cálculo de las duraciones óptimas de una memoria temporal supresora de fluctuación en los retardos en dos entornos;
La Figura 5 es un cronograma que ilustra una ejecuciòn de ―subdesbordamientos‖ que resulta de paquetes retardados;
La Figura 6 es un diagrama de flujos que ilustra el cálculo de la magnitud de la memoria temporal supresora de fluctuación en los retardos objetivo;
La Figura 7A es un cronograma que ilustra la transmisión de paquetes en un primer entorno;
La Figura 7B es un cronograma que ilustra la recepción de paquetes sin adaptación de una memoria temporal supresora de fluctuación en los retardos.
La Figura 7C es un cronograma que ilustra la recepción de paquetes con la adaptación de una memoria temporal supresora de fluctuación en los retardos, en donde el receptor puede recibir un paquete posteriormente a un tiempo previsto para el paquete.
La Figura 8A es un diagrama de flujo que representa un ejemplo de adaptación implícita de memoria temporal, que permite al receptor la recepción de un paquete posteriormente a un tiempo previsto para el paquete.
La Figura 8B es un diagrama de estado de modos de operación para una memoria temporal supresora de fluctuación en los retardos.
La Figura 9 es un cronograma que ilustra la aplicación de la adaptación de una memoria temporal supresora de fluctuación en los retardos, según otro ejemplo de la invención.
La Figura 10 es un diagrama que ilustra la transmisión de información de voz en ráfagas según una realización ejemplo, en donde el retardo una memoria temporal supresora de fluctuación en los retardos no es suficiente para evitar la colisión de datos.
La Figura 11 es un diagrama de bloques de un sistema de comunicaciones que incorpora una memoria temporal supresora de fluctuación en los retardos.
La Figura 12 es un diagrama de bloques de una parte de un receptor que comprende una memoria temporal supresora de una fluctuación en los retardos adaptativa y una unidad de envolvente de tiempo.
La Figura 13A ilustra un ejemplo de una memoria temporal supresora de fluctuación en los retardos que comprende umbrales de compresión y de expansión.
La Figura 13B ilustra un ejemplo de una memoria temporal supresora de fluctuación en los retardos, comprendiendo múltiples umbrales de compresión y de expansión.
La Figura 14 es un cronograma que ilustra una envolvente de tiempo a la recepción de paquetes que tienen varios retardos.
La Figura 15 es un cronograma que ilustra ejemplos: i) compresión de una parte de silencio de un segmento de voz y ii) expansión de una parte de silencio de un segmento de voz.
La Figura 16 es un cronograma que ilustra una señal de voz, en donde se pueden repetir partes de la señal de voz.
La Figura 17A es un diagrama que ilustra un segmento de voz, en donde se identifica el número de muestras de PCM en una ventana de referencia para una operación de adición–solapamiento, referida como RWindowSize y en donde se identifica un objetivo o tamaño de segmento deseado, referido como Segment.
La Figura 17B es un diagrama que ilustra la aplicación de una operación de adición–solapamiento para comprimir el segmento de voz según un ejemplo de realización de la invención.
La Figura 18A es un diagrama que ilustra múltiples segmentos de voz, en donde se identifica el número de muestras de PCM en una ventana de referencia para una operación de adición–solapamiento, referida como RWindowSize y en donde se identifica un objetivo o tamaño de segmento deseado, referido como Segment, en preparación para la expansión de un segmento de voz actual.
La Figura 18B es un diagrama que ilustra la aplicación de una operación de adición–solapamiento para expandir una muestra de voz según un ejemplo de realización de la invención.
La Figura 18C es un diagrama que ilustra la aplicación de una operación para la expansión de una muestra de voz, según un ejemplo alternativo.
La Figura 19 es un diagrama que ilustra la expansión de paquetes para permitir la llegada de paquetes retardados y paquetes que llegan fuera de orden como en el caso de una repetición automática híbrida Hybrid ARQ.
La Figura 20 es un diagrama que ilustra una temporización de una conversación entre dos usuarios.
La Figura 21 es un diagrama de flujo que ilustra la mejora al principio de una ráfaga de voz, de acuerdo con un ejemplo de realización de la invención.
La Figura 22 es un diagrama que ilustra una mejora al principio de una ráfaga de voz, de acuerdo con un ejemplo alternativo.
La Figura 23 es un diagrama que ilustra la mejora funcional del final de la ráfaga de voz.
La Figura 24 es un diagrama de flujo que ilustra una mejora en el final de una ráfaga de voz según un ejemplo de realización de la invención.
La Figura 25 es un diagrama que ilustra la operación de una memoria temporal supresora de fluctuación en los retardos de la técnica anterior y un sistema decodificador, en donde la memoria temporal supresora de fluctuación en los retardos entrega paquetes al decodificador a intervalos de tiempo periódicos.
La Figura 26 es un diagrama que ilustra la operación de una memoria temporal supresora de fluctuación en los retardos adaptativa y un decodificador de acuerdo con un ejemplo de realización, en donde la memoria temporal supresora de fluctuación en los retardos proporciona paquetes al decodificador a intervalos de tiempo desiguales.
La Figura 27 es un diagrama de bloques que ilustra un terminal de acceso (AT) de acuerdo con un ejemplo de realización, que incluye una memoria temporal supresora de fluctuación en los retardos adaptativa y una unidad de control de envolvente de tiempo.
La Figura 28 ilustra una parte de un receptor, que incluye una memoria temporal supresora de fluctuación en los retardos adaptativa y adaptada para paquetes de envolvente de tiempo según un ejemplo de realización.
La Figura 29 ilustra un ejemplo alternativo de un receptor, que comprende una memoria temporal supresora de fluctuación en los retardos adaptativa y estando adaptada para paquetes de envolvente de tiempo de acuerdo con otro ejemplo de realización.
La Figura 30 es un diagrama de flujo que ilustra un ejemplo de un programador de un decodificador en un ejemplo de un receptor, que comprende una memoria temporal supresora de fluctuación en los retardos y adaptado para paquetes de envolvente de tiempo según un ejemplo de realización.
La Figura 31 es un diagrama de flujo que ilustra un programador en una unidad de interfaz de audio en un ejemplo de realización de un receptor.
La Figura 32 ilustra la unidad envolvente de tiempo, en donde la programación se calcula fuera del decodificador.
La Figura 33 ilustra la unidad envolvente de tiempo, en donde la programación se calcula en la unidad de envolvente de tiempo en un decodificador.
En sistemas de conmutación de paquetes, los datos se conforman en paquetes y se encaminan a través de una red. Cada paquete se envía a un destino en la red, sobre la base de una dirección asignada contenida dentro del paquete, normalmente en una cabecera. El retardo extremo a extremo de paquetes o el tiempo que lleva un paquete en desplazarse dentro de la red, desde un primer usuario o ―emisor‖ a un segundo usuario o ―receptor‖ varía dependiendo de las condiciones del canal, carga de la red, capacidades de calidad de servicio (QoS) del sistema y otros flujos que compiten para recursos entre otras cosas. Para mayor claridad, la siguiente descripción da a conocer un sistema de comunicaciones de espectro disperso que soporta comunicaciones de datos en paquetes incluyendo, sin limitación, a los sistemas de Acceso Múltiple por División de Códigos (CDMA), Acceso Múltiple por División de Frecuencias Ortogonal (OFDMA), Acceso Múltiple por División de Códigos de Banda Ancha (W-CDMA), Sistemas Globales para Comunicaciones Móviles (GSM), sistemas que soportan normas de IEEE, tales como 802.11 (A,B,G), 802.16, etc.
En un sistema de comunicaciones inalámbricas, cada paquete puede incurrir en un retardo de origen a destino diferente del experimentado por otros paquetes que pertenecen al mismo flujo. Esta fluctuación en los retardos, conocida como ―jitter‖ en la técnica, crea complicaciones adicionales para las aplicaciones en el lado del receptor. Si el receptor no corrige esta fluctuación en los retardos, el mensaje recibido sufrirá distorsiones cuando se vuelvan a ensamblar los paquetes. Algunos sistemas corrigen la fluctuación en los retardos, cuando reconstruyen mensajes a partir de los paquetes recibidos. Dichos sistemas incorporan una memoria temporal supresora de fluctuación en los retardos que añade un tiempo de espera, referido como un retardo de memoria temporal supresora de fluctuación en los retardos. Cuando la memoria temporal supresora de fluctuación en los retardos aplica un retardo grande fijo para supresión de las fluctuaciones en los retardos, puede admitir una alta magnitud de dicha fluctuación a la llegada de paquetes; sin embargo, este uso no es eficiente puesto que los paquetes que tienen un retardo más pequeño son también procesados utilizando el gran retardo de una memoria temporal supresora de fluctuación en los retardos, aún cuando estos paquetes pudieran haberse procesado con anterioridad. Esto da lugar a retardos extremo a extremo más grandes para estos paquetes que lo que pueda haberse conseguido utilizando el retardo más pequeño de una memoria temporal supresora de fluctuación en los retardos.
Con el fin de evitarlo, los sistemas VoIP que incorporan una memoria temporal supresora de fluctuación en los retardos pueden intentar adaptarse a los cambios en el retardo de paquetes. Por ejemplo, una memoria temporal supresora de fluctuación en los retardos puede detectar cambios en el retardo de paquetes analizando la estadística de llegada de paquetes. Numerosas formas de realización de una memoria temporal supresora de fluctuación en los retardos no adaptan su retardo en absoluto y están configuradas para presentar un retardo conservadoramente grande. En este caso, la memoria temporal supresora de fluctuación en los retardos puede añadir un retardo excesivo a los paquetes que hace sub-óptima la experiencia de un usuario.
La siguiente descripción se refiere a una memoria temporal supresora de fluctuación en los retardos que se adapta a cambios en el comportamiento de retardo de paquetes cambiando su retardo de memoria temporal supresora de fluctuación en los retardos. Esta memoria temporal supresora de fluctuación en los retardos hace uso de la envolvente de tiempo de voz para mejorar su capacidad para el registro de seguimiento de un retardo variable de paquetes. La siguiente descripción es aplicable a comunicaciones en paquetes, tales como las comunicaciones que presentan transmisiones de datos periódicas, requisitos de baja latencia, procesamiento secuencial de datos o una tasa de reproducción designada. En particular, la siguiente descripción detalla una comunicación de voz, en donde los datos, o la voz y silencio, se originan en una fuente y se transmiten a un destino para su reproducción. Los datos originales se empaquetan y codifican utilizando un sistema de codificación conocido. En el receptor, el sistema de codificación se determina para cada paquete de datos. En una comunicación de voz, por ejemplo, el tipo de codificación de voz es diferente del tipo de codificación de silencio. Esto permite al sistema de comunicación beneficiarse de la naturaleza periódica de la voz, que comprende partes de silencio. Para una comunicación de voz, los datos aparecen a ráfagas y el contenido de voz puede parecer repetitivo. La transmisión de voz en paquetes tiene requisitos de baja latencia, puesto que los participantes en una comunicación de voz no desean oír retardos, pero la calidad de la comunicación permite solamente retardos limitados. La voz en paquetes puede tomar diferentes rutas para llegar al receptor; sin embargo, a su recepción, los paquetes se recompilan en su secuencia original. Por lo tanto, la voz en paquetes recibida se reproduce de forma secuencial. Si un paquete se pierde a través de la transmisión en el aire o en un procesamiento de capa física, el paquete no se recupera, pero el receptor puede estimar o hacer conjeturas sobre lo que era el contenido del paquete. Además, la tasa de reproducción de las comunicaciones de voz presenta un alcance o tasa de reproducción predeterminada. Si la reproducción está fuera del alcance, la calidad del receptor resulta degradada. La aplicación a las comunicaciones de voz es un ejemplo de aplicación de la presente descripción. Otras aplicaciones pueden comprender comunicaciones de vídeo, comunicaciones de juegos u otras comunicaciones que presenten características, especificaciones y/o requisitos similares a los de las comunicaciones de voz. Por ejemplo, las comunicaciones de vídeo pueden desear acelerar o desacelerar la reproducción. La presente descripción puede ser conveniente para dicho uso. Según aquí se estipula, una memoria temporal supresora de fluctuación en los retardos puede permitir a un receptor conseguir una calidad de servicio especificada por los requisitos de la fluctuación en los retardos del sistema. La memoria temporal supresora de fluctuación en los retardos adapta una magnitud determinada, por ejemplo, la cantidad de datos almacenados en la memoria temporal supresora de fluctuación en los retardos, para la temporización y cantidad de datos que se reciben en la memoria temporal supresora de fluctuación en los retardos. Además, una memoria temporal supresora de fluctuación en los retardos utiliza el estado operativo o el tamaño de dicha memoria temporal supresora, por ejemplo, medida de datos almacenados en la memoria temporal supresora de fluctuación en los retardos, para determinar cuándo la envolvente de tiempo es beneficiosa para el procesamiento y reproducción de los datos recibidos. Por ejemplo, si los datos llegan en la memoria temporal supresora de fluctuación en los retardos a una velocidad lenta, la memoria temporal supresora de fluctuación en los retardos proporciona esta información a una unidad de envolvente de tiempo, que permite a la unidad envolvente de tiempo la expansión de los paquetes recibidos. Si los datos almacenados en la memoria temporal supresora de fluctuación en los retardos supera un valor umbral, la memoria temporal supresora de fluctuación en los retardos alerta a la unidad envolvente de tiempo para comprimir los paquetes, de modo que se mantenga efectivamente los datos entrantes. Se da a conocer que la envolvente de tiempo está dentro de límites que se pueden definir por la aplicación y tipo de comunicación. Por ejemplo, en las comunicaciones de voz, la envolvente de tiempo no debe comprimir la voz, es decir, aumentar el paso de tono, de modo que el oyente no se capaz de entender la comunicación. De forma similar, la envolvente de tiempo no debe producir la expansión de la voz más allá del margen establecido. En condiciones ideales, se define el alcance de la envolvente de tiempo para permitir que el oyente no sienta ninguna incomodidad.
Sistema de comunicaciones
La Figura 1 es un diagrama de bloques que ilustra un sistema de comunicación digital 50. Dos Terminales de Acceso (ATs) 52 y 82 se comunican a través de la estación base (BS) 70. Dentro de AT 52, la unidad de procesamiento de transmisión 64 transmite datos de voz a un codificador 60, que codifica y empaqueta los datos de voz y envía los datos en paquetes a la unidad de procesamiento de capa inferior 58. Para la transmisión, los datos se envían luego a BS
70. BS 70 procesa los datos recibidos y transmite los datos a AT 82, en donde los datos se reciben en una unidad de procesamiento de capa inferior 88. A continuación, los datos se proporcionan a una memoria temporal supresora de fluctuación en los retardos 86, que almacena los datos de modo que se oculte o reduzca el impacto de la fluctuación en los retardos. Los datos se envían desde la memoria temporal supresora de fluctuación en los retardos 86 al decodificador 84 y a la unidad de procesamiento de la recepción 92.
Para la transmisión desde AT 82, los datos/voz se proporcionan desde la unidad de procesamiento de la transmisión 94 al codificador 90. La unidad de procesamiento de capa inferior 88 procesa los datos para la transmisión a BS 70. Para la recepción de datos desde BS 70 en AT 52, los datos se reciben en la más baja unidad de procesamiento de capas 58. A continuación, se envían paquetes de datos a una memoria temporal supresora de fluctuación en los retardos 56, en donde se almacenan hasta que se alcanza un retardo o magnitud de duración de la memoria temporal requerida. Una vez que se alcanza esta magnitud de duración o retardo, la una memoria temporal supresora de fluctuación en los retardos 56 comienza a enviar datos a un decodificador 54. El decodificador 54 convierte los datos en los paquetes a paquetes de datos de voz y envía los paquetes a la unidad de procesamiento de la recepción 62. En el presente ejemplo, el comportamiento de AT 52 es análogo a AT 82.
Memoria temporal supresora de fluctuación en los retardos
Una memoria temporal supresora de fluctuación en los retardos se utiliza en los terminales de acceso AT, tal como los anteriormente descritos, para ocultar los efectos de la fluctuación en los retardos. En un ejemplo, una memoria temporal supresora de fluctuación en los retardos se utiliza para las comunicaciones de conmutación de paquetes, tales como la comunicación de VoIP. La memoria temporal supresora de fluctuación en los retardos tiene una memoria intermedia adaptativa y utiliza la envolvente de tiempo de la voz para mejorar su capacidad para el seguimiento de la fluctuación y del retardo variable. En este ejemplo, el procesamiento de la memoria temporal supresora de fluctuación en los retardos está coordinado con el del decodificador, en donde la memoria temporal supresora de fluctuación en los retardos identifica una oportunidad o necesidad para la envolvente de tiempo de los paquetes y da instrucciones al decodificador para la envolvente de tiempo de los paquetes. El decodificador envuelve en el tiempo los paquetes comprimiendo o expandiendo los paquetes, siguiendo las instrucciones dadas por la memoria temporal supresora de fluctuación en los retardos.
La Figura 2 ilustra un ejemplo de una memoria temporal supresora de fluctuación en los retardos. Paquetes codificados entrantes se acumulan y almacenan en la memoria temporal intermedia (buffer). En un ejemplo, la memoria temporal es del tipo ‗primero en entrar, primero en salir‘ (FIFO) en donde los datos se reciben en un orden particular y se procesan en ese mismo orden, siendo los primeros datos procesados los primeros datos recibidos. En otro ejemplo de realización, la memoria temporal supresora de fluctuación en los retardos es una lista ordenada que mantiene un seguimiento de qué paquete es el siguiente a procesar. Este memoria temporal supresora de fluctuación en los retardos puede ser una unidad de almacenamiento en memoria, en donde el estado operativo de la memoria temporal supresora de fluctuación en los retardos es una medida de los datos (o del número de paquetes) almacenados en la memoria temporal supresora de fluctuación en los retardos. Los datos procesados por la memoria temporal supresora de fluctuación en los retardos se pueden enviar a un decodificador u otro servicio funcional desde la memoria temporal supresora de fluctuación en los retardos. Los paquetes codificados pueden corresponder a una cantidad fija de datos de voz, v.g., 20 milisegundos que corresponden a 160 muestras de datos de voz, a un régimen de muestro de 8 Khz. En un ejemplo de la presente invención, el número de muestras proporcionadas por el decodificador, con capacidades de envolvente de tiempo, puede variar basándose en si el paquete está, o no, envuelto en el tiempo. Cuando la memoria temporal supresora de fluctuación en los retardos da instrucciones al decodificador/envolvente de tiempo para la expansión de un paquete, el decodificador/envolvente de tiempo puede producir más de 160 muestras. Por el contrario, cuando la memoria temporal supresora de fluctuación en los retardos da instrucciones al decodificador/envolvente de tiempo para comprimir un paquete, la envolvente de tiempo/decodificador puede producir menos de 160 muestras. Se da a conocer que sistemas alternativos pueden tener planes diferentes de reproducción, tal como codificación de voz de 20 ms.
Los paquetes que llegan a la memoria temporal supresora de fluctuación en los retardos no pueden llegar a intervalos periódicos. Uno de los objetivos de diseño de una memoria temporal supresora de fluctuación en los retardos, por lo tanto, es ajustar la irregularidad de los datos entrantes. En un ejemplo de esta invención, una memoria temporal supresora de fluctuación en los retardos tiene una magnitud objetivo de memoria temporal supresora de fluctuación en los retardos. La magnitud de la memoria temporal supresora de fluctuación en los retardos objetivo se refiere a la cantidad requerida de datos a acumularse en la memoria temporal supresora de fluctuación en los retardos, antes de iniciar la reproducción del primer paquete. En otro ejemplo de realización, la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos puede referirse a la cantidad de tiempo que necesita retardarse el primer paquete en la memoria temporal supresora de fluctuación en los retardos antes de que se reproduzca. La magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos se ilustra en la Figura 2. Acumulando suficientes paquetes en la memoria temporal supresora de fluctuación en los retardos, antes de iniciar la reproducción de paquetes, la memoria temporal supresora de fluctuación en los retardos es capaz de reproducir paquetes posteriores, a intervalos periódicos, mientras reduce al mínimo el potencial de ejecución incorrecta de paquetes. La Figura 2 ilustra una memoria temporal supresora de fluctuación en los retardos, en donde el paquete de codificador de voz (vocoder) recibido primero en la memoria temporal supresora de fluctuación en los retardos es el paquete exacto programado para la salida desde la memoria temporal supresora de fluctuación en los retardos. La memoria temporal supresora de fluctuación en los retardos incluye paquetes suficientes para conseguir el retardo requerido de la memoria temporal supresora de fluctuación en los retardos. De esta forma, la memoria temporal supresora de fluctuación en los retardos suaviza la fluctuación en los retardos experimentada por los paquetes y oculta la variación a la hora de llegada de los paquetes al receptor.
La Figura 3 representa calendarios de transmisión, recepción y reproducción para paquetes en varios entornos. El primer paquete PKT 1 se transmite en el tiempo t0 y se reproduce a la recepción en el tiempo t1. Los posteriores paquetes PKT 2, PKT 3 y PKT 4 se transmiten a intervalos de 20 milisegundos después de PKT 1. En ausencia de envolvente de tiempo, los decodificadores reproducen paquetes a intervalos de tiempo periódicos (v.g., 20 ms) desde el tiempo de reproducción del paquete. Por ejemplo, si un decodificador reproduce paquetes a intervalos periódicos de 20 ms, un primer paquete reservado se reproduce en el tiempo t1 y los posteriores paquetes se reproducirán 20 milisegundos después del tiempo t1, 40 milisegundos después del tiempo t1, 60 ms después del tiempo t1, etc. Según se ilustra en la Figura 3, el tiempo de reproducción anticipado (sin retardo de la memoria temporal supresora de fluctuación en los retardos) de PKT 2 es t2 = t1 + 20 ms. PKT 2 se recibe antes de su tiempo de reproducción anticipado, t2. El paquete 3, por otro lado, se recibe después de su tiempo de reproducción previsto t3 + t2 + 20 ms. Esta condición se refiere como un subdesbordamiento. Un subdesbordamiento se produce cuando la utilidad de reproducción está preparada para ejecutar un paquete, pero el paquete no está presente en la memoria temporal supresora de fluctuación en los retardos. Los subdesbordamientos suelen hacer que el decodificador produzca borrados y una degradación de la calidad de reproducción.
La Figura 3 ilustra, además, un segundo entorno, en el que la memoria temporal supresora de fluctuación en los retardos introduce un retardo tdjb antes de la reproducción del primer paquete. En este entorno, el retardo de la memoria temporal supresora de fluctuación en los retardos se añade para permitir que la utilidad de reproducción reciba paquetes (o muestras) cada 20 ms. En este entorno, aún cuando PKT 3 se reciba después de su tiempo de reproducción previsto, t3 la adición del retardo de la memoria temporal supresora de fluctuación en los retardos permite la ejecución de PKT 3 20 ms después de la reproducción de PKT 2.
PKT 1 se envía en el tiempo t0, se recibe en el tiempo t1 y en lugar de reproducirse en el tiempo t1, como se hizo anteriormente, se reproduce ahora en el tiempo t1 + tdjb = t1‘. La utilidad de reproducciòn reproduce PKT 2 en un intervalo predeterminado, p.e., 20 ms, después de PKT 1 o en el momento t2‘=t1 + tdjb + 20 = t2 + tdjb y PKT 3 en el tiempo t3‘=t3+ tdjb. El retardo de la reproducción en tdjb permite que se reproduzca el tercer paquete sin que se cause un subdesbordamiento. De este modo, según se ilustra en la Figura 3, la introducción del retardo de la memoria temporal supresora de fluctuación en los retardos puede reducir los subdesbordamientos y evitar que se degrade la calidad de la voz.
La voz consiste en periodos de ráfagas de voz y periodos de silencio. La expansión/compresión de los periodos de silencio tiene un impacto mínimo o ningún impacto sobre la calidad de la voz. Esto permite a la memoria temporal supresora de fluctuación en los retardos retardar la reproducción del primer paquete de forma diferente para cada ráfaga de voz.
Las Figuras 4A y 4B ilustran los diagramas de tiempos de transmisión y recepción para diferentes ráfagas de voz. Se da a conocer que la magnitud del retardo, de la memoria temporal supresora de fluctuación en los retardos, se determina para impedir la presencia de subdesbordamiento. Esta situaciòn se refiere como ―retardo òptimo de la memoria temporal supresora de fluctuaciòn en los retardos‖. El retardo òptimo de la memoria temporal supresora de fluctuación en los retardos está relacionado con la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos. Dicho de otro modo, la magnitud de la memoria temporal supresora de fluctuación en los retardos se determina para permitir que se almacenen suficientes datos en la memoria temporal, de modo que los paquetes se reproduzcan de forma coherente con las especificaciones de la utilidad de reproducción. El retardo óptimo de la memoria temporal supresora de fluctuación en los retardos se puede determinar por el mayor retardo extremo a extremo experimentado por el sistema. Como alternativa, el retardo óptimo de la memoria temporal supresora de fluctuación en los retardos se puede basar en un retardo medio experimentado por el sistema. Otros métodos para determinar el retardo óptimo de la memoria temporal supresora de fluctuación en los retardos se pueden realizar también de forma específica para un diseño de sistema o criterio dado. Además, la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos se determina en cuanto que efectúe el retardo óptimo de la memoria temporal supresora de fluctuación en los retardos y por lo tanto, la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos se puede calcular sobre la base de las tasas de paquetes recibidas, la denominada tasa de errores de paquetes (PER) u otras estadísticas operativas.
Las Figuras 4A y 4B ilustran retardos óptimos de la memoria temporal supresora de fluctuación en los retardos para dos ejemplos. Según se ilustra, el tiempo entre la transmisión y recepción de paquetes secuenciales varía en el transcurso del tiempo. Puesto que PKT 3 tiene el mayor retardo desde la transmisión a la recepción, esta diferencia se utiliza para determinar un retardo óptimo para el procesamiento de la memoria temporal supresora de fluctuación en los retardos.
La utilización de una memoria temporal supresora de fluctuación en los retardos, con su magnitud objetivo, puede evitar al menos algunas condiciones de subdesbordamiento. Haciendo referencia de nuevo a la Figura 3, el segundo entorno obviaba un subdesbordamiento (que se produce cuando el decodificador esperaba un paquete y la utilidad de reproducción estaba preparada para reproducir un paquete, pero ningún paquete estaba presente en la memoria de almacenamiento de paquetes). En este caso, PKT 2 se reproduce después de un intervalo determinado, 20 ms, posterior a t1, en donde t1 es el tiempo de reproducción de PKT 1. Mientras que PKT 3 está programada o prevista para su reproducción en el tiempo t3, PKT 3 no es recibida hasta después del tiempo t3. Dicho de otro modo, la utilidad de reproducción está preparada para reproducir PKT 3, pero este paquete no está presente en la memoria temporal intermedia. Puesto que PKT 3 no está disponible para su reproducción en el tiempo previsto y no se reproduce, da lugar a que una gran cantidad de fluctuación en los retardos y un subdesbordamiento con respecto a PKT 3. PKT 4 se reproduce en t4, el tiempo de reproducción previsto para PKT 4. Se da a conocer que el tiempo previsto t4 se calcula con respecto al tiempo t3. Puesto que cada paquete puede contener más de un paquete de voz, la pérdida de paquetes debido a un subdesbordamiento degrada la calidad de la voz.
Otro entorno para consideraciòn implica una ejecuciòn de ―subdesbordamiento debido a paquetes retardados‖ según se ilustra en la Figura 5, en donde se representa, en el transcurso del tiempo, el tiempo de transmisión, recepción y reproducción prevista. En este entorno operativo, cada paquete es recibido un tiempo corto después de su hora de reproducción prevista. Por ejemplo, el tiempo de reproducción previsto para PKT 50 es t0, pero PKT 50 no se recibe hasta el tiempo t0 ‘ después de t0. El siguiente paquete, 51, está previsto en el tiempo t1, pero no se recibe hasta el tiempo t1‘, después de t1. Esto produce una ejecución de subdesbordamiento que da lugar a un alto porcentaje de ―subdesbordamiento retardado‖, siendo los subdesbordamientos debidos a un paquete retardado y de este modo, mayores retardos extremo a extremo.
Evidentemente, una memoria temporal supresora de fluctuación en los retardos que retarda la reproducción en una gran cantidad tendrá éxito en el mantenimiento en un mínimo de los subdesbordamientos. Sin embargo, dicha memoria temporal supresora de fluctuación en los retardos introduce un gran retardo de memoria temporal supresora de fluctuación en el retardo extremo a extremo de paquetes. Un gran retardo extremo a extremo puede dar lugar a dificultades en el mantenimiento del flujo de una conversación. Los retardos mayores que 100 ms pueden causar que la parte a la escucha considere que la parte que habla no ha acabado de hablar. Por lo tanto, la buena calidad considera, en condiciones ideales, la evitación de subdesbordamiento y la reducción del retardo extremo a extremo. Existe un problema puesto que la resolución de un problema puede empeorar el otro. Dicho de otro modo, más pequeños retardos extremo a extremo suelen dar lugar a más subdesbordamientos y viceversa. Existe, por lo tanto, una necesidad de equilibrar estos objetivos competidores. Más concretamente, existe una necesidad de que la memoria temporal supresora de fluctuación en los retardos realice un seguimiento y evite los subdesbordamientos al mismo tiempo que reduce el retardo extremo a extremo.
Magnitud objetivo de memoria temporal supresora de fluctuación en los retardos
Un objetivo de diseño de una memoria temporal supresora de fluctuación en los retardos es permitir al sistema
establecer como objetivo una ―tasa de subdesbordamiento‖ particular de los paquetes de voz, mientras que, al mismo
tiempo, consigue menores retardos extremo a extremo. Puesto que la calidad percibida es una función del porcentaje de subdesbordamientos, la capacidad para establecer como objetivo un porcentaje particular de subdesbordamientos permite el control de la calidad de la voz. Los subdesbordamientos de paquetes, en la memoria temporal supresora de fluctuación en los retardos, pueden ocurrir cuando existen paquetes que faltan. Un paquete puede faltar cuando se pierde o retarda. Un paquete perdido produce un subdesbordamiento cuando se elimina antes de que alcance el
5
10
15
20
25
30
35
40
45
servidor, de modo que cuando se elimina en algún lugar en la red de acceso, por ejemplo en la capa física o en el programador de enlaces directos. En este entorno operativo, el subdesbordamiento no se puede corregir utilizando un retardo de memoria temporal supresora de fluctuación en los retardos, porque el paquete nunca llega a la memoria temporal supresora de fluctuación en los retardos. Como alternativa, puede ocurrir un subdesbordamiento como resultado de que se retarde un paquete y llegue después de su tiempo de reproducción. Además del seguimiento de los subdesbordamientos debidos a paquetes retardados, la memoria temporal supresora de fluctuación en los retardos puede registrar también los subdesbordamientos debido a paquetes perdidos.
El número de subdesbordamientos, debido a un paquete retardado, se puede controlar mediante compensaciones de subdesbordamientos para el retardo de la memoria temporal supresora de fluctuación en los retardos. Un valor que representa el porcentaje objetivo de subdesbordamientos debido a paquetes retardados se refiere como ―objetivo de subdesbordamiento‖. Este valor es el valor objetivo para la operaciòn de la memoria temporal supresora de fluctuación en los retardos y se selecciona de modo que mantenga el retardo extremo a extremo dentro de límites razonables. En un ejemplo, se puede utilizar un valor de 1%(0,01) como el valor de ―objetivo de subdesbordamiento‖. Otro ejemplo utiliza un valor de 0,5%(0,005). Para poder conseguir un ―objetivo de subdesbordamiento‖, se puede adaptar el retardo de la memoria temporal supresora de fluctuación en los retardos.
En un ejemplo de la presente invención, el valor filtrado del porcentaje de subdesbordamientos debido a
paquetes retardados (en adelante referidos como ―subdesbordamientos retardados‖) se puede utilizar para adaptar el
retardo de la memoria temporal supresora de fluctuación en los retardos. Al final de cada periodo de silencio (o al comienzo de cada ráfaga de voz), se actualiza el retardo de la memoria temporal supresora de fluctuación en los retardos según se ilustra en la Figura 6. Tal como se representa en la Figura 6, el algoritmo especifica lo siguiente:
1) Si (PERdelay<TARGET_VALUE) entonces
DEJITTER_DELAY=DEJITTER_DELAY–CONSTANT;
2) Si (PERdelay>TARGET_VALUE&&PERdelay>=last_PERdelay) entonces
DEJITTER_DELAY=DEJITTER_DELAY+CONSTANT;
3) Establecer DEJITTER_DELAY=MAX(MIN_JITTER, DEJITTER_DELAY);
Y
4) DEJITTER_DELAY=MIN(MAX_JITTER,DEJITTER_DELAY) (1)
En el presente ejemplo, el retardo inicial de la memoria temporal supresora de fluctuación en los retardos se puede establecer a un valor constante tal como 40 ms. El TARGET_VALUE es un valor objetivo de ―subdesbordamientos retardados‖ (v.g., 1%). PERdelay es un valor filtrado de la tasa de ―subdesbordamiento retardados‖ de paquetes, en donde los parámetros del filtro permiten que se consiga el valor objetivo TARGET_VALUE. El last_PERdelay es el valor de PERdelay en la anterior actualización del retardo de la memoria temporal supresora de fluctuación en los retardos. DEJITTER_DELAY es la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos según se definió anteriormente. En el presente ejemplo, CONSTANT es igual a 20 ms. MIN_JITTER y MAX_JITTER son los valores mínimo y máximo del retardo de la memoria temporal supresora de fluctuación en los retardos; de acuerdo con un ejemplo ilustrativo, estos valores se establecen en 20 ms y 80 ms respectivamente. MIN_JITTER y MAX_JITTER se pueden estimar sobre la base de la simulación del sistema. Los valores (MIN_JITTER, MAX_JITTER, CONSTANT) se pueden optimizar dependiendo del sistema de comunicaciones en el que se despliegue la memoria temporal supresora de fluctuación en los retardos.
PERdelay se puede actualizar al final de cada periodo de silencio o al principio de cada ráfaga de voz, en donde PERdelay se calcula como:
(2)
PER_CONSTANT es la constante de tiempo para el filtro utilizado para estimar PERdelay. El valor para esta constante determina la memoria del filtro y permite que se consiga el valor objetivo TARGET_VALUE. Current_PERdelay es la tasa de ―subdesbordamientos retardados‖ observada entre la última actualizaciòn de PERdelay y la actualización actual.
Current_PERdelay se define como la relación entre el número de paquetes de subdesbordamientos retardados al número total de paquetes recibidos entre la última actualización de PERdelay y la actualización actual.
(3)
Haciendo referencia a la Figura 6, el proceso 100 para calcular y actualizar el retardo de la memoria temporal supresora de fluctuación en los retardos comienza en la etapa 101 inicializando el retardo de DEJITTER_DELAY. Al comparar el PERdelay se compara con el TARGET_VALUE en la etapa 102. Si el PERdelay es menor que el TARGET_VALUE, el valor CONSTANT se sustrae del DEJITTER_DELAY en la etapa 104. Si el PERdelay es mayor que el TARGET_VALUE en la etapa 102 y PERdelay es mayor que TARGET_VALUE y mayor que o igual a LAST_PERDELAY en la etapa 103, no es menor que el último PERdelay en la etapa 102, entonces el procesamiento continúa hasta la decisión 108. El DEJITTER_DELAY se establece al DEJITTER_DELAY más e valor de CONSTANT en la etapa 108. Continuando a partir de la etapa 103, si PERdelay no es mayor que TARGET_VALUE y no es mayor que o igual a LAST_PERDELAY, el procesamiento continúa con la etapa 110. Además, continuando a partir de la etapa 104, el DEJITTER_DELAY se establece igual al máximo de MIN_JITTER y DEJITTER_DELAY en la etapa 110. A partir de la etapa 110, el procesamiento continúa con la etapa 112 para establecer el DEJITTER_DELAY igual al minoritario de MAX_JITTER y DEJITTER_DELAY en la etapa 112.
Retardo en el seguimiento
La memoria temporal supresora de fluctuación en los retardos puede introducir u modo operativo en donde se registra el retardo (en lugar en registrar la tasa de subdesbordamientos). El retardo registrado puede ser el retardo extremo a extremo o el retardo de la memoria temporal supresora de fluctuación en los retardos. En un ejemplo, la memoria temporal supresora de fluctuaciòn en los retardos introduce un modo de ―retardo de registro‖ cuando la tasa de subdesbordamiento objetivo se puede cumplir con facilidad. Esto significa que la memoria temporal supresora de fluctuación en los retardos es capaz de conseguir una más baja tasa de subdesbordamiento que la tasa de subdesbordamiento objetivo durante algún periodo de tiempo. Este periodo de tiempo puede ser cualquiera desde unas pocas centésimas de ms a unos pocos segundos.
De este modo, la memoria temporal supresora de fluctuación en los retardos tiene un valor de retardo objetivo. Esta situación es similar al valor objetivo de subdesbordamiento anteriormente descrito. La ecuación (1) anterior se puede utilizar para establecer el objetivo de una tasa de subdesbordamiento y también se puede utilizar, de forma análoga, para calcular un valor de Retardo Objetivo. Cuando la memoria temporal supresora de fluctuación en los retardos entra en este modo operativo, en donde establece como objetivo un valor de Retardo Objetivo, que puede permitirle reducir la tasas de subdesbordamientos objetivos en tanto que se mantenga el retardo objetivo.
Adaptación implícita de memoria temporal intermedia
En algunas situaciones, el decodificador puede esperar la reproducción de un paquete, que no ha sido todavía recibido. Esta situación se representa en la Figura 5, donde el tiempo de reproducción previsto de PKT 50 es t0, pero PKT 50 se recibe después de este tiempo. De forma similar, PKT 51 se recibe después de su tiempo de reproducción previsto t1, PKT 52 se recibe después del tiempo de reproducción previsto t2 y así sucesivamente. Debe tenerse aquí en cuenta que los paquetes llegan bastante periódicamente, pero puesto que PKT 50 se recibió poco después de su tiempo de reproducción previsto, hizo que todos los paquetes posteriores también incumplieran sus tiempos de reproducción. Si, por otro lado, el decodificador pudiera insertar un borrado en t0 y una reproducción fija de PKT 50 en t1, permitiría a todos los paquetes cumplir sus tiempos de reproducción. Al reproducir PKT 50 después de un borrado en lugar de que se haya reproducido PKT 50, la magnitud de la memoria temporal supresora de fluctuación en los retardos se adapta de forma efectiva.
Se da a conocer que la reproducción de PKT 50 después de su borrado puede causar discontinuidades, que puede eliminarse utilizando una técnica de adaptación de fases descrita en la solicitud co-pendiente número 11/192.231, titulada: ―ADAPTACIÓN DE FASE EN CODIFICADORES DE VOZ‖, presentada el 7 de julio de 2005.
Según se ilustra en la Figura 7A, pueden existir separaciones en la recepción de paquetes, tal como la separación entre PKT 3 y PKT 4. El retardo en la llegada del paquete puede ser diferente para cada paquete. La memoria temporal supresora de fluctuación en los retardos puede dar respuesta inmediata con ajustes para compensar el retardo. Tal como se ilustra, PKT 1, PKT 2 y PKT 3 se reciben en los tiempos t1, t2 y t3 respectivamente. En el tiempo t4, está previsto que se recibirá PKT 4, pero PKT 4 todavía no ha llegado. Se supone, en la Figura 7A, que están previstos la recepción de paquetes cada 20 ms. En la ilustración actual, PKT 2 se recibe 20 ms después de PKT 1 y PKT 3 se recibe 40 ms después de PKT 1. PKT 4 está previsto que se reciba 60 ms después de PKT 1, pero no llega 80 ms después de PKT 1.
En la Figura 7B, se introduce un retardo inicial en la memoria temporal supresora de fluctuación en los retardos antes de la reproducción del primer paquete recibido, PKT 1. En este caso, el retardo inicial es Dimit. En este caso, PKT 1 se reproducirá por la memoria temporal en el instante Dimit, pero PKT 2 en el tiempo Dimit + 20 ms, PKT 3 en Dimit + 40 ms, etc. En la Figura 7B, cuando PKT 4 deja de llegar en el tiempo previsto, Dimit + 60 ms, se puede reproducir un borrado por
5
10
15
20
25
30
35
40
45
la memoria temporal supresora de fluctuación en los retardos. En la siguiente ocasión en que se reproduzca un paquete, la memoria temporal supresora de fluctuación en los retardos buscará reproducir PKT 4. Si todavía no ha llegado PKT 4, se puede enviar otro borrado en el tiempo Dimit + 80 ms. Los borrados continuarán reproduciéndose hasta que PKT 4 llegue a la memoria temporal supresora de fluctuación en los retardos. Una vez que PKT 4 llega a la memoria temporal supresora de fluctuación en los retardos, se reproduce PKT 4. Dicho procesamiento da lugar a un retardo, puesto que ningún otro paquete se reproduce hasta que se reciba PKT 4. Cuando el sistema no es capaz de recuperar, p.e., nunca recibe PKT 4, el sistema puede aplicar una reposición del proceso, que permita la reproducción de paquetes posteriores a PKT 4 sin reproducción de PKT 4. En el entorno operativo anteriormente descrito, el retardo extremo a extremo de la memoria temporal supresora de fluctuación en los retardos tiene el potencial de aumentar cuando se puede seguir enviando órdenes de borrados durante un largo periodo de tiempo antes de que llegue PKT 4.
Por el contrario, según un ejemplo ilustrado en la Figura 7C, si un paquete deja de llegar o si se retarda la recepción del paquete, se reproduce un borrado en el tiempo de reproducción previsto de PKT 4. Este entorno es similar al entorno descrito con respecto a la Figura 7B anterior, en donde el sistema esperaba en PKT 4. En el siguiente momento de reproducción, si PKT 4 todavía no ha llegado, pero ha llegado el siguiente paquete PKT 5, entonces se reproduce PKT 5. Para una ilustración adicional, supóngase que la recepción de PKT 4 se retarda y la memoria temporal supresora de fluctuación en los retardos espera recibir PKT 4 en tiempo Dimit + 80 ms. Cuando se retarda PKT 4, se reproduce un borrado. En el tiempo Dimit + 100 ms, si PKT 4 todavía no ha llegado, en lugar de reproducir otro borrado, se reproduce PKT 5. En este segundo entorno operativo, los ajustes del retardo se realizan de forma inmediata y se evitan los retardos, extremo a extremo, excesivos en la red de comunicaciones. Este proceso se puede referir como IBA, puesto que el tamaño de los datos en la memoria temporal, antes de la reproducción, aumenta y disminuye según la recepción de datos.
El proceso de adaptación de memoria temporal implícita (IBA) 200 se ilustra por un diagrama de flujo en la Figura 8A. El proceso 200 se puede poner en práctica en un controlador dentro de una memoria temporal supresora de fluctuación en los retardos adaptativa, tal como en el controlador de salida 760 o en el controlador de la memoria temporal supresora de fluctuación en los retardos 756. El proceso 200 puede residir en otras partes dentro de un sistema que soporta una memoria temporal supresora de fluctuación en los retardos adaptativa. En la etapa 202, se recibe una petición en la memoria temporal supresora de fluctuación en los retardos adaptativa en los retardos para proporcionar un siguiente paquete para su reproducción. El siguiente paquete se identifica como un paquete que tiene un índice i en una secuencia, concretamente, PKT [i]. En 204, si se habilita un modo de adaptación de memoria temporal implícita (IBA), el procesamiento continúa a 206 para procesar de acuerdo con el modo de IBA y si está habilitado el modo IBA, el procesamiento continúa en 226 para procesar sin el modo IBA.
Si PKT [i] se recibe en 206, entonces la memoria temporal supresora de fluctuación en los retardos adaptativa proporciona PKT [i] para su reproducción en la etapa 208. El modo IBA se inhibe en la etapa 210 y el índice, i, se incrementa, p.e., (i=i+1). Además, si PKT [i] no se recibe en 206 y si PKT [i+1] se recibe en 214, el procesamiento continúa con la etapa 216 para reproducir PKT [i+1]. El modo IBA se inhibe en la etapa 218 y el índice, i, se incrementa dos veces, es decir, (i=1+2) en la etapa 220.
Si en 214 no se recibe PKT [i] y PKT [i+1], entonces el controlador inicia la reproducción de un borrado en la etapa 222; y el índice i se incrementa en la etapa 224. Se da a conocer, en el presente ejemplo, cuando está en el modo IBA, el controlador comprueba hasta dos (2) paquetes en respuesta a una petición de un siguiente paquete, tal como se recibe en la etapa 202. Esto realiza efectivamente una ventana de paquetes a través de la cual el controlador busca los paquetes recibidos. Ejemplos alternativos pueden implantar un tamaño de ventana diferente, p.e., buscar tres (3) paquetes que, en este ejemplo, serían números de secuencia de paquetes, i,i+1 e i+2.
Volviendo a la 204, si no está habilitado el modo IBA, el procesamiento continúa a 226 para determinar si se recibe PKT [i]. Si se recibe, PKT [i] se proporciona para su reproducción en la etapa 228 y el índice, i, se incrementa en la etapa 230. Si no se recibe PKT [i] en 226, la memoria temporal supresora de fluctuación en los retardos proporciona un borrado para su reproducción en la etapa 232. El modo IBA está habilitado, puesto que PKT [i] no fue recibido y en su lugar, se reprodujo un borrado.
La Figura 8B es un diagrama de estados relacionado con el modo IBA. Cuando está en el modo operativo normal 242, si la memoria temporal supresora de fluctuación en los retardos proporciona PKT [i] para su reproducción, el controlador permanece en el modo normal. El controlador efectúa una transición desde el modo normal 242 al modo IBA 240, cuando se reproduce un borrado. Una vez en el modo IBA 240, el controlador permanece allí en la reproducción de un borrado. Las transiciones del controlador, desde IBA modo 240 al modo normal 242 en la reproducción de PKT [i]o PKT [i+1].
La Figura 9 es un ejemplo de una realización en el modo IBA de memoria temporal supresora de fluctuación en los retardos, según se ilustra en las Figuras 8A y 8B. En la presente ilustración, la utilidad de reproducción solicita muestras para la reproducción desde un decodificador. El decodificador solicita, entonces, paquetes, desde la memoria temporal supresora de fluctuación en los retardos, suficientes para permitir una reproducción ininterrumpida por la utilidad de reproducción. En la presente ilustración, los paquetes transportan comunicaciones de voz y la utilidad de reproducción reproduce una muestra cada 20 ms. Sistemas alternativos pueden proporcionar los datos en paquetes desde la memoria temporal supresora de fluctuación en los retardos a la utilidad de reproducción a través de otras configuraciones y los datos en paquetes pueden ser distintos a las comunicaciones de voz.
La memoria temporal supresora de fluctuación en los retardos se ilustra en la Figura 9 como una pila de paquetes. En esta ilustración, la memoria temporal recibe primero PKT 49 y luego recibe posteriormente PKT 50, 51, PKT 52, PKT 53, etc. El número de paquetes, en esta ilustración, se refiere a una secuencia de paquetes. En un sistema en paquetes, sin embargo, no existe ninguna garantía de que los paquetes serán recibidos en este orden. Para mayor claridad de conocimiento, en esta ilustración se reciben paquetes en la misma secuencia numérica que se transmiten, que es también el orden de reproducción. Para fines ilustrativos, en la Figura 9 los paquetes posteriormente recibidos se apilan en la parte superior de los paquetes anteriormente recibidos en la memoria temporal supresora de fluctuación en los retardos, por ejemplo, PKT 49 se aplica en la parte superior de PKT 50, el PKT 51 se apila en la parte superior de PKT 50, etc. El paquete en la parte inferior de la pila en la memoria temporal supresora de fluctuación en los retardos es el primero a enviarse a la utilidad de reproducción. Además, se da a conocer que, en la presente ilustración, no se muestra la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos.
En la Figura 9, la recepción de paquetes, el tiempo de recepción previsto de paquetes y el tiempo de reproducción de paquetes se representan en una gráfica con respecto al tiempo. El estado operativo de la memoria temporal actualizado se ilustra cada vez que se recibe un paquete. Por ejemplo, PKT 49 se recibe en el tiempo t0, en donde está previsto que PKT 49 se reproduzca en el tiempo t1. El estado operativo de la memoria temporal, a la recepción de PKT 49, se ilustra en la parte superior del gráfico por encima del tiempo t0, el tiempo de recepción de PKT
49. El tiempo de recepción para cada paquete recibido en la memoria temporal supresora de fluctuación en los retardos se representa gráficamente como RECEIVED (recibido). El tiempo de ANTICIPATED PLAYBACK se presenta gráficamente por debajo del tiempo RECEIVED. Los tiempos de reproducción se identifican como PLAYBACK.
En este ejemplo, inicialmente el siguiente paquete para reproducción es PKT 49, cuya reproducción está prevista en el tiempo t0. El siguiente paquete secuencial está previsto en el tiempo t1, etc. El primer paquete, PKT 49 se recibe antes del tiempo de reproducción previsto de t0, por lo tanto, PKT 49 se reproduce en el tiempo t0 como estaba previsto. El siguiente paquete, PKT 50, está previsto en el tiempo t1. Sin embargo, se retrasa la recepción de PKT 50 y se envía un borrado a la utilidad de reproducción, en lugar de PKT 50. El retardo de PKT 50 causa un subdesbordamiento, según se describió anteriormente. PKT 50 se recibe después del tiempo de reproducción previsto t1 y antes del siguiente tiempo de reproducción previsto t2. Una vez recibido, PKT 50 se almacena en la memoria temporal supresora de fluctuación en los retardos. Por lo tanto, cuando se recibe una nueva solicitud para que se reproduzca un paquete en el tiempo t2, el sistema busca el más bajo paquete secuencial en la memoria temporal supresora de fluctuación en los retardos y PKT 50 se proporciona a la utilidad reproductora para la reproducción en el tiempo t2. Se da a conocer que, utilizando IBA, aún cuando PKT 50 no se reciba en el tiempo previsto para su reproducción, PKT 50 se reproduce más adelante y el resto de la secuencia se reanuda a partir de ese punto. Según se ilustra, los paquetes posteriores, PKT 51, PKT 52, etc., se reciben y reproducen a tiempo para evitar nuevos borrados.
Aunque pueda parecer que IBA aumenta el retraso extremo a extremo de los paquetes, éste no es realmente el caso. Puesto que IBA da lugar a un más pequeño número de subdesbordamientos, el valor de la memoria temporal supresora de fluctuación en los retardos, según se estima a partir de la Ecuación 1 anterior, se mantiene en un valor más pequeño. Por lo tanto, el efecto global de IBA puede ser una disminución en el retardo medio extremo a extremo de los paquetes en general.
IBA puede mejorar el procesamiento de la comunicación que tenga ráfagas de voz. Una ráfaga de voz se refiere a la parte de la voz de una comunicación de voz, en donde una comunicación de voz comprende partes de voz y de silencio, coherentes con las configuraciones normales de la voz. En el procesamiento de la voz, un codificador vocoder genera un tipo de paquete para la voz y otro tipo para el silencio. Los paquetes de voz se codifican en una tasa de codificación y el silencio se codifica en una tasa de codificación distinta. Cuando se reciben paquetes codificados en la memoria temporal supresora de fluctuación en los retardos, esta memoria temporal supresora de fluctuación en los retardos identifica el tipo de paquete a partir de la tasa de codificación. La memoria temporal supresora de fluctuación en los retardos asume una trama de voz que es parte de una ráfaga de voz. La primera trama de no silencio es el principio de una ráfaga de voz. La ráfaga de voz finaliza cuando se recibe un paquete de silencio. En la transmisión discontinua, no se transmiten todos los paquetes de silencio, puesto que el receptor puede realizar un ruido simulado para tomar en consideración las partes de silencio de la comunicación. En la transmisión continua, la totalidad de los paquetes de silencio son transmitidos y recibidos. En un ejemplo, la memoria temporal supresora de fluctuación en los retardos ajusta la magnitud de la memoria temporal supresora de fluctuación en los retardos según el tipo de paquetes recibidos. Dicho de otro modo, el sistema puede decidir reducir la magnitud de la memoria temporal supresora de fluctuación en los retardos requerida para las partes de silencio de la comunicación. Se da a conocer que los métodos de IBA pueden ser aplicables a cualesquiera comunicaciones donde la reproducción sea conforme a un plan de temporización predeterminado, tal como una tasa fija, etc.
Envolvente de tiempo
Una ráfaga de voz está constituida, en general, por múltiples paquetes de datos. En un ejemplo, la reproducción de un primer paquete de una ráfaga de voz se puede retardar en una magnitud igual a la del retardo de la memoria temporal supresora de fluctuación en los retardos. El retardo de la memoria temporal supresora de fluctuación en los retardos se puede determinar de varias formas. En un entorno operativo, el retardo de la memoria temporal supresora de fluctuación en los retardos puede ser un retardo de la memoria temporal supresora de fluctuación en los retardos calculado, sobre la base de un algoritmo tal como la Ecuación 1 anterior. En otro entorno operativo, el retardo de la memoria temporal supresora de fluctuación en los retardos puede ser el tiempo que tarda para recibir datos de voz igual a la duración del retardo de la memoria temporal supresora de fluctuación en los retardos. Como alternativa, el retardo de la memoria temporal supresora de fluctuación en los retardos se puede seleccionar como el más pequeño de los valores antes citados. En este ejemplo, se supone que el retardo de la memoria temporal supresora de fluctuación en los retardos se calcula como 60 ms utilizando la Ecuación 1 y el primer paquete de una ráfaga de voz se recibe en primer tiempo ti. Cuando se recibe un siguiente paquete de la ráfaga de voz 50 milisegundos después del primer paquete, los datos de memoria temporal supresora de fluctuación en los retardos son iguales al retardo de de-jitter, 60 ms. Dicho de otro modo, el tiempo transcurrido desde la recepción de un paquete, en la memoria temporal supresora de fluctuación en los retardos para reproducción, es de 60 ms. Se da a conocer que la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos se puede establecer para conseguir un retardo de 60 ms. Dicho cálculo determina cuántos paquetes han de almacenarse para poder cumplir el tiempo de retardo.
La memoria temporal supresora de fluctuación en los retardos controla el llenado y vaciado de datos desde la memoria temporal y ajusta la salida de dicha memoria para mantenerla en la duración de retardo objetivo, es decir, la cantidad de datos para conseguir el tiempo del retardo objetivo. Cuando la memoria temporal supresora de fluctuación en los retardos envía el primer paquete de la ráfaga de voz para su reproducción, existe un retardo igual a Δ, donde Δ = MIN (retardo de la memoria temporal supresora de fluctuación en los retardos, tiempo transcurrido para recibir los datos de voz igual al retardo de la memoria temporal supresora de fluctuación en los retardos). Los siguientes paquetes de la ráfaga de voz se retardan en Δ más el tiempo dedicado a la reproducción de los paquetes anteriores. De este modo, el retardo de la memoria temporal supresora de fluctuación en los retardos de los siguientes paquetes de la misma ráfaga de voz se define, de forma implícita, una vez que se ha definido el retardo de la memoria temporal supresora de fluctuación en los retardos para el primer paquete. En la práctica, esta definición del retardo de la memoria temporal supresora de fluctuación en los retardos puede exigir consideraciones adicionales para admitir situaciones tales como las ilustradas en la Figura 10.
La Figura 10 representa la transmisión de información de voz en ráfagas de voz. La ráfaga de voz 150 se recibe en el tiempo t0 y la ráfaga de voz 154 se recibe en el tiempo t2. Existe un periodo de silencio 152 recibido, entre la ráfaga de voz 150 y la ráfaga de voz 154, de 20 ms. A su recepción, la memoria temporal supresora de fluctuación en los retardos puede almacenar los datos recibidos y determinar los retardos para la reproducción de cada ráfaga de voz. En este ejemplo, la ráfaga de voz 150 se recibe en la memoria temporal supresora de fluctuación en los retardos en el tiempo t0, en donde el retardo de la memoria temporal supresora de fluctuación en los retardos se calcula como 80 ms. El retardo de la memoria temporal supresora de fluctuación en los retardos se añade al tiempo de recepción para obtener un tiempo de reproducción. De esta forma, la ráfaga de voz 150 se retarda por la memoria temporal supresora de fluctuación en los retardos en 80 ms antes de su reproducción. La ráfaga de voz 150 inicia la reproducción en el tiempo t1, en donde t1 = t0 + 80 ms, o 80 ms después de que se reciba la ráfaga de voz 150 y se completa la reproducción en el tiempo t4. Utilizando un algoritmo tal como la Ecuación 1 para calcular la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos, como anteriormente, el retardo de la memoria temporal supresora de fluctuación en los retardos aplicado a la ráfaga de voz 154 es de 40 ms. Esto significa que el primer paquete de ráfaga de voz 154 ha de reproducirse en el tiempo t3 en donde t3=t2+40 ms o 40 ms después de que se reciba la ráfaga de voz 154. Sin embargo, la reproducción del paquete 154 en el tiempo t3 entra en conflicto con la reproducción del último paquete de ráfaga de voz 150, que acaba su reproducción en el tiempo t4. Por lo tanto, el retardo de la memoria temporal supresora de fluctuación en los retardos calculado de 40 ms (para el paquete 154) no permite tiempo suficiente para que la ráfaga de voz 150 acabe la reproducción. Para evitar dicho conflicto y permitir que ambos paquetes se reproduzcan de forma correcta, el primer paquete de ráfaga de voz 154 debe reproducirse después de que se haya reproducido el último paquete de ráfaga de voz 150, con un periodo de silencio entre ellos. En este ejemplo, la ráfaga de voz 150 y la ráfaga de voz 154 se solapan desde el tiempo t3 a t4. Por lo tanto, el método de reproducción, en este entorno operativo, no es deseable. Para poder evitar solapamientos entre la reproducción de paquetes, según aquí se describe, existe necesidad de detectar cuándo se reproduce el último paquete de la ráfaga de voz anterior. De este modo, el cálculo del retardo de la memoria temporal supresora de fluctuación en los retardos para un paquete puede considerar la temporización de reproducción de los paquetes anteriormente reproducidos, de modo que se evite cualquier solapamiento o conflicto.
Según se describió anteriormente, en un ejemplo, el retardo de la memoria temporal supresora de fluctuación en los retardos se calcula o se actualiza al principio de una ráfaga de voz. Sin embargo, la restricción de la actualización del retardo de la memoria temporal supresora de fluctuación en los retardos al principio de una ráfaga de voz puede ser limitativa, puesto que las ráfagas de voz suelen variar en magnitud y las condiciones operativas pueden cambiar durante una ráfaga de voz. Considerando el ejemplo representado en la Figura 10 puede existir, por consiguiente, una necesidad de actualizar el retardo de la memoria temporal supresora de fluctuación en los retardos durante una ráfaga de voz.
Se da a conocer que es conveniente controlar el flujo de datos fuera de la memoria temporal supresora de fluctuación en los retardos para mantener la magnitud del retardo objetivo. De esta forma, si la memoria temporal supresora de fluctuación en los retardos está recibiendo datos con retardos variables, los datos fuera de la memoria temporal supresora de fluctuación en los retardos se ajustan para permitir que se rellene la memoria temporal con datos suficientes para cumplir la duración objetivo de la memoria temporal supresora de fluctuación en los retardos adaptativa. Se puede utilizar una envolvente de tiempo para la expansión de los paquetes cuando la memoria temporal supresora de fluctuación en los retardos esté recibiendo paquetes insuficientes para mantener el retardo objetivo. De forma similar, se puede utilizar una envolvente de tiempo para comprimir paquetes cuando la memoria temporal supresora de fluctuación en los retardos está recibiendo demasiados paquetes y está almacenando paquetes por encima de la magnitud del retardo objetivo. La memoria temporal supresora de fluctuación en los retardos puede funcionar en coordinación con un decodificador para paquetes de envolvente de tiempo según aquí se describe.
La Figura 11 es un diagrama de bloques de un sistema que comprende dos receptores que se comunican a través de un elemento de red. Los receptores son AT 252 y AT 282; según se ilustra, los AT 252 y 282 están adaptados para la comunicación a través de una BS 270. En AT 252, la unidad de procesamiento de transmisión 264 transmite datos de voz a un codificador 260 que digitaliza los datos de voz y envía los datos en paquetes a la más baja unidad de procesamiento de capas 258. A continuación, se envían paquetes a BS 270. Cuando AT 252 recibe datos desde BS 270, los datos se procesan primero en la unidad de procesamiento de capa inferior 258 desde la cual se proporcionan paquetes de datos a una memoria temporal supresora de fluctuación en los retardos 256. Los paquetes recibidos se almacenan en la memoria temporal supresora de fluctuación en los retardos 256 hasta que se alcance la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos. Una vez alcanzada la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos, esta memoria temporal supresora de fluctuación en los retardos adaptativa 256 envía datos a un decodificador 254. En el ejemplo ilustrado, se puede realizar las operaciones de compresión y expansión para poner en práctica la envolvente de tiempo en el decodificador 254, que convierte los datos en paquetes en datos de voz y envía los datos de voz a una unidad de procesamiento de recepción 262. En otro ejemplo de esta invención, las operaciones de compresión y expansión del tiempo (envolvente de tiempo) se puede realizar dentro de la memoria temporal supresora de fluctuación en los retardos por un controlador (no representado). El comportamiento de AT 282 es similar al de AT 252. AT 282 transmite datos en una ruta desde la unidad de procesamiento de transmisión 294 al codificador 290 a la unidad de procesamiento de capa inferior 288 y por último, a BS 270. AT 282 recibe datos en una ruta desde la unidad de procesamiento de capa inferior 288 a la memoria temporal supresora de fluctuación en los retardos 286 para el decodificador 284 a la unidad de procesamiento de recepción 292. Además, el procesamiento no se representa pero puede afectar a la reproducción de datos, tales como voz, y puede facturar el procesamiento de audio, visualizaciones en pantalla, etc.
Las ecuaciones de una memoria temporal supresora de fluctuación en los retardos dadas en la Ecuación 1 calculan el retardo de una memoria temporal supresora de fluctuación en los retardos al principio de una ráfaga de voz. El retardo de una memoria temporal supresora de fluctuación en los retardos puede representar un número específico de paquetes, tal como se determina por ráfaga de voz o puede representar un equivalente de tiempo previsto para la reproducción de datos, tales como datos de voz. Hay que resaltar aquí que la memoria temporal supresora de fluctuación en los retardos presenta un tamaño objetivo y esto determina la cantidad de datos que espera la memoria temporal supresora de fluctuación en los retardos que se memoricen en todos los puntos en el tiempo.
La variación en el retardo de paquetes debido a condiciones del canal y otras condiciones operativas, pueden dar lugar a diferencias en el tiempo de llegada de paquetes en la memoria temporal supresora de fluctuación en los retardos. En consecuencia, la cantidad de datos (número de paquetes) en la memoria temporal supresora de fluctuación en los retardos puede ser menor o mayor que el valor calculado del retardo de la memoria temporal supresora de fluctuación en los retardos, DEJITTER_DELAY. Por ejemplo, los paquetes pueden llegar a la memoria temporal supresora de fluctuación en los retardos a una tasa más lenta o más rápida que los paquetes que se generaron en origen en la memoria temporal supresora de fluctuación en los retardos o una tasa más lenta o más rápida que los paquetes que fueron originalmente generados en el codificador. Cuando llegan paquetes a la memoria temporal supresora de fluctuación en los retardos, en una tasa más lenta que la prevista, la memoria temporal supresora de fluctuación en los retardos puede comenzar a suprimir paquetes entrantes porque dichos paquetes no rellenarán los paquetes salientes a la misma tasa. Como alternativa, si llegan paquetes a una tasa más rápida que la tasa de generación en el codificador, la memoria temporal supresora de fluctuación en los retardos puede iniciar su funcionamiento aumentando en tamaño porque los paquetes no están abandonando la memoria temporal supresora de fluctuación en los retardos tan rápido como se introducen. Las condiciones anteriores pueden dar lugar a un subdesbordamiento, mientras que la última condición puede causar retardos de extremo a extremo importantes para mayores tiempos de almacenamiento intermedio en la memoria temporal supresora de fluctuación en los retardos. Esto último es importante porque si el retardo extremo a extremo del sistema de datos en paquetes disminuye (AT se desplaza a un área menos cargada o el usuario se desplazó a un área con mejor calidad del canal), es conveniente incorporar esta reducción del retardo en la reproducción de la voz. El retardo extremo a extremo es un importante factor de calidad de la voz y cualquier reducción en el retardo de reproducción se percibe como un aumento de la calidad de la voz o de la conversación.
Para corregir discrepancias en la memoria temporal supresora de fluctuación en los retardos entre DEJITTER_DELAY y la cantidad de datos realmente presente en la memoria temporal supresora de fluctuación en los retardos, un ejemplo de realización de una memoria temporal supresora de fluctuación en los retardos utiliza la denominada envolvente de tiempo. La envolvente de tiempo implica la expansión o compresión de la duración de un paquete de voz. La memoria temporal supresora de fluctuación en los retardos realiza la envolvente de tiempo mediante la expansión de paquetes de voz, cuando la memoria temporal supresora de fluctuación en los retardos comienza a agotarse y la compresión de los paquetes de voz cuando la memoria temporal supresora de fluctuación en los retardos se hace mayor que DEJITTER_DELAY. La memoria temporal supresora de fluctuación en los retardos puede funcionar en coordinación con un decodificador para la envolvente de tiempo de los paquetes. La envolvente de tiempo proporciona una mejora sustancial en la calidad de la voz sin aumentar el retardo extremo a extremo.
La Figura 12 es un diagrama de bloques de un ejemplo de una memoria temporal supresora de fluctuación en los retardos que pone en práctica la envolvente de tiempo. La unidad de procesamiento de capa física 302 proporciona datos a la pila de datos 304. La pila de datos 304 proporciona a la salida paquetes a la memoria temporal supresora de fluctuación en los retardos y la unidad de control 306. La unidad de procesamiento 300 de Control de Acceso a Medios (MAC) del Enlace Directo (FL) proporciona una indicación de transferencia a la unidad de procesamiento de supresión de fluctuación 306. La capa de MAC pone en práctica protocolos para la recepción y emisión de datos en la capa física, p.e., a través del aire. La capa de MAC puede comprender información sobre seguridad, encriptación, autenticación y conexión. En un sistema que soporta IS-856, la capa de MAC contiene reglas que rigen el canal de control, el canal de acceso así como los canales de tráfico directo e inverso. El dispositivo estimador de la magnitud objetivo 314 proporciona la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos, utilizando los cálculos datos en la Ecuación 1. La entrada al dispositivo estimador de la magnitud objetivo 314 incluye información de llegada de paquetes y la tasa de errores de paquetes actual (PER). Hay que tener en cuenta que configuraciones alternativas pueden incluir el dispositivo estimador de la magnitud objetivo 314 dentro de la memoria temporal supresora de fluctuación en los retardos y la unidad de control 306.
En un ejemplo de realización de la invención, la memoria temporal supresora de fluctuación en los retardos y unidad de control 306 incluye, además, la función de control de la reproducción, que controla la tasa de datos proporcionada para reproducción. Desde la memoria temporal supresora de fluctuación en los retardos y unidad de control 306, se envían paquetes a una unidad de Transmisión Discontinua (DTX) 308, en donde la unidad DTX 308 proporciona información del ruido de fondo al decodificador 310 cuando no se reciben datos de voz. Hay que tener en cuenta que los paquetes proporcionados por la memoria temporal supresora de fluctuación en los retardos y unidad de control 306 están preparados para el procesamiento de decodificar y se pueden referir como paquetes de codificador de voz. El decodificador 310 decodifica los paquetes y proporciona muestras de voz Moduladas por Códigos de Pulsos (PCM) a la unidad de envolvente de tiempo 312. En ejemplos alternativos, la unidad de envolvente de tiempo 312 se puede incorporar en el interior del decodificador 310. La unidad de envolvente de tiempo 312 recibe un indicador de envolvente de tiempo desde la memoria temporal supresora de fluctuación en los retardos y unidad de control 306. El indicador de envolvente de tiempo puede ser una señal de control, una señal de instrucción o un indicador. En un ejemplo de realización, un indicador de envolvente de tiempo puede ser un indicador de multiestado, que presenta, por ejemplo, un dispositivo de compresión, expansión y ninguna envolvente de tiempo. Pueden existir distintos valores para distintos niveles de compresión y/o distintos niveles de expansión. En un ejemplo ilustrativo, el indicador de envolvente de tiempo da instrucciones a la unidad de envolvente de tiempo 312 para la expansión o compresión de datos. El indicador de envolvente de tiempo indica las funciones de expansión, compresión o no envolvente. El indicador de envolvente de tiempo se puede considerar una acción iniciadora de señal de control en la unidad de envolvente de tiempo 312. El indicador de envolvente de tiempo puede ser un mensaje que especifique la forma de realizar la expansión o compresión de los paquetes. El indicador de envolvente de tiempo podrá identificar los paquetes objeto de envolvente de tiempo así como qué acción tomar, expansión o compresión. Asimismo, el indicador de envolvente de tiempo puede proporcionar una elección de opciones para la unidad de envolvente de tiempo 312. Durante un intervalo de silencio, el módulo DTX modifica el flujo de borrados proporcionados por la memoria temporal supresora de fluctuación en los retardos en un flujo de tramas de silencio y borrados que el decodificador utiliza para reconstruir un ruido de fondo de más alta calidad y más precisión. En un ejemplo alternativo, el indicador de envolvente de tiempo activa y desactiva la envolvente de tiempo. En otro ejemplo de realización, el indicador identifica la cantidad de compresión y expansión utilizadas para la reproducción. La unidad de envolvente de tiempo 312 podrá modificar las muestras desde el decodificador y proporcionar las muestras a la unidad de procesamiento de audio 316, que puede comprender una unidad de interfaz y conversión así como un excitador de audio y altavoz.
Aunque el indicador de envolvente de tiempo identifica cuándo realizar una compresión o una expansión, existe necesidad de determinar la magnitud de envolvente de tiempo a aplicar a un paquete dado. En una forma de realización, la magnitud de la envolvente de tiempo es fija, en donde los paquetes son objeto de envolvente de tiempo en función del ciclo de voz o de paso de tono.
En una forma de realización, el indicador de envolvente de tiempo se comunica como un porcentaje de una expansión objetivo o un nivel de compresión objetivo. Dicho de otro modo, el indicador de envolvente de tiempo da instrucciones para la compresión en un porcentaje dado o la expansión en un porcentaje dado.
5
10
15
20
25
30
35
40
45
50
55
En un entorno operativo, puede ser necesario reconocer una característica dada de datos entrantes. Por ejemplo, un codificador puede anticipar datos de un tono conocido o presentar características específicas de longitud, por ejemplo. En esta situación, puesto que se anticipa una característica particular, no sería conveniente modificar los datos recibidos utilizando la envolvente de tiempo. Por ejemplo, un codificador puede esperar que los datos entrantes presenten una longitud de tono. Sin embargo, si se habilita la envolvente de tiempo, la duración del tono se puede modificar por la envolvente de tiempo. Por lo tanto, en este entorno operativo, no debe habilitarse la envolvente de tiempo. Las comunicaciones basadas en tonos incluyen, sin limitación, a la información de dispositivos de telecomunicaciones para sordos, denominados en esta técnica TeleTYpewriter/Telecommunications Device for the Deaf (TTY/TDD), aplicaciones que utilizan entradas por teclado u otras aplicaciones que utilizan comunicaciones basadas en tonos. En dichas comunicaciones, la magnitud de la información de portadora de tonos y por lo tanto, la modificación de las magnitudes del tono o del paso, tal como la compresión o expansión en la reproducción, puede dar lugar a la pérdida de esa información. En TTY, TDD y otras aplicaciones que habilitan la recepción por receptores con incapacidad acústica, el decodificador proporciona, además, el estado operativo de su procesamiento en banda de dicha comunicación. Esta indicación se utiliza para enmascarar las indicaciones de envolvente de tiempo proporcionadas por la memoria temporal supresora de fluctuación en los retardos. Si el decodificador está procesando paquetes con información de TTY/TDD, se debe inhabilitar la envolvente de tiempo. Esta operación se puede realizar en 2 formas: proporcionando el estado operativo de TTY/TDD al controlador de memoria temporal supresora de fluctuación en los retardos o proporcionando el estado de TTY/TDD a la unidad de envolvente de tiempo. Si el estado de TTY/TDD del decodificador se proporciona al controlador de memoria temporal supresora de fluctuación en los retardos, el controlador no debe indicar ninguna información de expansión o compresión cuando el codificador de voz (vocoder) indique el procesamiento de TTY/TDD. Si el estado de TTY/TDD del decodificador se proporciona a la unidad de envolvente de tiempo, esta operación actúa como un filtro y la unidad de envolvente de tiempo no actúa sobre las indicaciones de envolvente de tiempo, si el decodificador está procesando información de TTY/TDD.
En un sistema se ilustra en la Figura 12, la unidad de control y memoria temporal supresora de fluctuación en los retardos 306 controla la tasa de datos entrantes y genera un indicador de envolvente de tiempo, cuando demasiados
o pocos paquetes están disponibles o son memorizados. La memoria temporal supresora de fluctuación en los retardos y unidad de control 306 determina cuando realizar la envolvente de tiempo y qué acción tomar. La Figura 13A representa la operación de un ejemplo de una memoria temporal supresora de fluctuación en los retardos que realiza las determinaciones de envolvente de tiempo, utilizando umbrales de compresión y de expansión. La memoria temporal supresora de fluctuación en los retardos acumula paquetes que pueden haber llegado en intervalos de tiempo irregulares. El dispositivo estimador de la magnitud objetivo de supresión de la fluctuación 314 genera una magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos; a continuación, la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos se aplica a la memoria temporal supresora de fluctuación en los retardos. En la práctica, una memoria temporal supresora de fluctuación en los retardos y unidad de control 306 utiliza el valor de la magnitud de la memoria temporal supresora de fluctuación en los retardos para tomar decisiones de control sobre la operación de la memoria temporal supresora de fluctuación en los retardos y para controlar la reproducción. El umbral de comprensión y el umbral de expansión indican cuándo se dispara la compresión o expansión, respectivamente. Estos umbrales se pueden especificar como una fracción de la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos.
Según se representa en la Figura 13A, la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos se proporciona como Ltarget. El umbral de compresión se proporciona como Tcompress y el umbral de expansión se proporciona como Texpand. Cuando la magnitud de la memoria temporal supresora de fluctuación en los retardos aumenta por encima del umbral de compresión Tcompress, la memoria temporal supresora de fluctuación en los retardos indica al decodificador que se deben comprimir los paquetes.
En una manera similar, cuando la magnitud de la memoria temporal supresora de fluctuación en los retardos se hace inferior al umbral de expansión, Texpand, la memoria temporal supresora de fluctuación en los retardos indica al decodificador que los paquetes deben ser objeto de expansión y reproducirse efectivamente a una tasa más lenta.
Un punto de operación entre los umbrales de expansión y de compresión evita la presencia de subdesbordamiento así como aumentos excesivos en los retardos, extremo a extremo. Por lo tanto, la operación objetivo está comprendida entre TCompress y Texpand. En un ejemplo, los valores para los umbrales de expansión y de compresión se establecen al 50% y 100% de la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos, respectivamente. Aunque en un ejemplo, la envolvente de tiempo se puede realizar en el interior del decodificador, en ejemplos alternativos esta función se puede realizar fuera del decodificador, por ejemplo después de la decodificación. Sin embargo, puede ser más simple realizar la envolvente de tiempo de la señal antes de sintetizarla. Si dichos métodos de envolvente de tiempo tuvieran que aplicarse después de la decodificación de la señal, se necesitaría estimar el periodo de paso de la señal.
En algunos entornos operativos, la magnitud de la memoria temporal supresora de fluctuación en los retardos puede ser mayor, por ejemplo en un sistema de W-CDMA. Un generador de umbrales de envolvente de tiempo puede generar múltiples umbrales de compresión y de expansión. Estos umbrales se pueden calcular en respuesta a
5
10
15
20
25
30
35
40
45
condiciones operativas. Umbrales multiniveles se ilustran en la Figura 13B. TC1 es un primer umbral de compresión, TC2 es un segundo umbral de compresión y TC3 es un tercer umbral de compresión. Además, se ilustran TE1, TE2 y TE3 que representan tres diferentes valores para los umbrales de expansión. Los umbrales pueden estar basados en un porcentaje de envolvente de tiempo (cuántos paquetes obtiene la envolvente de tiempo), en paquetes comprimidos, en un porcentaje de paquetes expandidos o en una relación de estos dos valores. El número de umbrales se puede cambiar cuando se necesite o, dicho de otro modo, se pueden necesitar más o menos umbrales. Cada uno de los umbrales se relaciona con una diferente tasa de compresión o de expansión, por ejemplo, para sistemas que requieran una granularidad más fina, se pueden utilizar más umbrales y para una granularidad más gruesa, se pueden utilizar menos umbrales. Los umbrales TE1, TE2 y TE3, etc., pueden ser una función de la magnitud del retardo objetivo. El umbral se puede cambiar mediante un seguimiento de los subdesbordamientos retardados y sobre la base de la estadística de errores, tal como PER.
La Figura 14 representa la reproducción de paquetes con y sin envolvente de tiempo. En la Figura 14, PKT 1 se transmite en el tiempo t1, PKT 2 se transmite en el tiempo t2 y así sucesivamente. Los paquetes llegan al receptor según se indica, en donde PKT 1 llegan en t2‘ y PKT 2 llega en t2‘‘. Para cada paquete, el tiempo de reproducciòn, sin utilizar envolvente de tiempo, se proporciona como PLAYBACK WITHOUT WARPING. Por el contrario, el tiempo de reproducción utilizando envolvente de tiempo se proporciona como PLAYBACK WITT WARPING. Puesto que el ejemplo presente es para datos en tiempo real, tales como comunicaciones de voz, el tiempo de reproducción de paquetes previsto está en intervalos de tiempo fijos. Durante la reproducción, en condiciones ideales, cada paquete llega antes del tiempo de reproducción previsto. Si un paquete llega demasiado tarde para la reproducción en el tiempo previsto, puede constituir un impacto sobre la calidad de la reproducción.
PKT 1 y PKT 2 se reciben a tiempo y se reproducen, sin envolvente de tiempo. PKT 3 y PKT 4 se reciben ambos al mismo tiempo t4‘. El tiempo de recepciòn para ambos paquetes es satisfactorio, porque cada paquete se recibe antes de los tiempos de reproducción previstos asociados, t4― para PKT 3 y t5‘ para PKT 4. PKT 3 y PKT 4 se reproducen a tiempo sin envolvente de tiempo. Un problema surge cuando PKT 5 se recibe en el tiempo t6‘, después del tiempo de reproducción previsto. Se reproduce una señal de borrado en lugar de PKT 5 en el tiempo de reproducción previsto. PKT 5 llega más tarde, después de que la señal de borrado haya iniciado su reproducción.
En un primer entorno operativo sin envolvente, se elimina PKT 5 y se recibe PKT 6 y se reproduce en el siguiente tiempo de reproducción previsto. Hay que tener en cuenta, en este caso, que PKT 6 se recibió a tiempo para su reproducción. En un segundo entorno operativo, si PKT 5 y todos los paquetes posteriores a PKT 5 son retardados, cada paquete puede llegar demasiado tarde para la reproducción prevista y dar lugar a una cadena de señales de borrado. En ambos entornos, se pierde información, p.e., PKT 5 se elimina en el primer entorno; PKT 5 y los posteriores paquetes se pierden en el segundo entorno.
Como alternativa, se utiliza una técnica de IBA que permite la reproducción de PKT 5 en el siguiente de reproducción previsto, en donde los posteriores paquetes continúan a partir de ese punto. La técnica IBA impide la pérdida de datos pero, sin embargo, retarda el flujo de paquetes.
Dicha reproducción, sin envolvente de tiempo, puede aumentar el retardo extremo a extremo total, en un sistema de comunicaciones. Según se representa en la Figura 14, los retardos inter-paquetes pueden dar lugar a pérdida de información o retardos en la reproducción.
Poniendo en práctica la envolvente de tiempo, cuando PKT 5 llega después de su tiempo de reproducción previsto, los paquetes son objeto de expansión y se puede evitar una señal de borrado. Por ejemplo, la expansión de PKT 4 puede causar que la reproducción sea en 23 ms en lugar de 20 ms. PKT 5 se reproduce cuando se reciba. Esto es antes que se hubiera reproducido si se hubiera emitido una señal de borrado en su lugar (tal como se ilustra en una forma alternativa para la reproducción, sin envolvente de tiempo, pero con IBA según se describe en la Figura 14). La expansión de PKT 4, en lugar de enviar una señal de borrado da lugar a menos degradación de la calidad de la reproducción. De este modo, la envolvente de tiempo proporciona mejor calidad de reproducción global así como una reducción de la latencia. Según se ilustra en la Figura 14, los paquetes posteriores a PKT 5 se reproducen antes utilizando la envolvente de tiempo que si no se utiliza una técnica de envolvente de tiempo. En este ejemplo concreto, PKT 7 se reproduce en el tiempo t9, cuando se utiliza envolvente de tiempo, que es antes que sin envolvente de tiempo.
Una aplicación de la técnica de envolvente de tiempo para mejorar la calidad de la reproducción, mientras se considera las condiciones operativas cambiantes así como los cambios en las características de la información transmitida en la emisión de la voz. Puesto que varían las características de la voz, presentando ráfagas de voz y periodos de silencio, la duración objetivo del retardo de la memoria temporal supresora de fluctuación en los retardos y los umbrales de compresión y de expansión, para cada tipo de datos, pueden ser diferentes.
La Figura 15 representa ejemplos de ―compresiòn de silencio‖ y ―expansiòn de silencio‖ debido a diferencias en el retardo de supresión de la fluctuación desde una ráfaga de voz a otro. En la Figura 15, las zonas sombreadas 120, 124 y 128 representan ráfagas de voz, mientras que las zonas no sombreadas 122 y 126 representan periodos de silencio de la información recibida. Cuando se recibe, la ráfaga de voz 120 comienza en el instante t1 y finaliza en el instante t2. En el
5
15
25
35
45
receptor, se introduce el retardo de la memoria temporal supresora de fluctuación en los retardos y por lo tanto, la reproducción de ráfaga de voz 120 se inicia en el instante t1‘. El retardo de la memoria temporal supresora de fluctuaciòn en los retardos se identifica como la diferencia entre el tiempo t1‘ y el tiempo t1. Cuando se recibe, el periodo de silencio 122 se inicia en el instante t2 y finaliza en el instante t3. El periodo de silencio 122 se comprime y reproduce como periodo de silencio 132 desde el instante t2‘ al t3‘, que es menor que la duración original del periodo de silencio recibido 122. La ráfaga de voz 124 se inicia en el instante t3 y finaliza en el instante t4 en el origen. La ráfaga de voz 104 se reproduce en el receptor desde el instante t3 ‘ al instante t4‘. El periodo de silencio 126 (tiempo t4 a t5) es objeto de expansión en el receptor a la reproducción como periodo de silencio 136, en donde (t5‘ – t4‘) es mayor que (t5 – t4). Un periodo de silencio se puede comprimir cuando la memoria temporal supresora de fluctuación en los retardos necesita reproducir paquetes antes y expandirse cuando una memoria temporal supresora de fluctuación en los retardos necesita retardar la reproducción de los paquetes. En un ejemplo, la compresión o expansión de periodos de silencio causa una degradación insignificante en la calidad de la voz. De este modo, se pueden conseguir retardos de memoria temporal supresora de fluctuación sin degradar la calidad de la voz. En el ejemplo representado en la Figura 15, la memoria temporal supresora de fluctuación en los retardos comprime y expande los periodos de silencio cuando se identifican y controlan por la memoria temporal supresora de fluctuación en los retardos.
Tal como aquí se utiliza, hay que tener en cuenta que la envolvente de tiempo se refiere al control adaptativo de la reproducción en respuesta al tiempo de llegada y duración de los datos recibidos. La envolvente de tiempo se puede poner en práctica utilizando la compresión de datos en la reproducción, la expansión de datos en la reproducción
o utilizando ambas funciones de compresión y expansión de datos en la reproducción. En un ejemplo, se utiliza un umbral para disparar la compresión. En otro ejemplo, se utiliza un umbral para disparar la expansión. En otro ejemplo, se utilizan dos disparadores: uno para la compresión y otro para la expansión. Otros ejemplos de realización pueden emplear múltiples disparadores, indicando varios niveles de envolvente de tiempo, por ejemplo, reproducción rápida a diferentes tasas.
Además, la envolvente de tiempo se puede realizar en el interior del decodificador. Técnicas para realizar la envolvente de tiempo del decodificador se describen en la solicitud co-pendiente número 11/123.467, titulada: ―Tramas de envolvente de tiempo en el interior del vocoder modificando la parte residual‖, presentada el 5 de mayo de 2005.
En un ejemplo de realizaciòn, la envolvente de tiempo incorpora un método para la ―fusiòn‖ de segmentos de voz. La fusión de segmentos de voz implica la comparación de muestras de voz en al menos dos segmentos consecutivos de voz y si se encuentra una correlación entre los segmentos comparados, la creación de un segmento único de al menos dos segmentos consecutivos. La fusión de la voz se realiza mientras se intenta preservar la calidad de la voz. La preservación de la calidad de la voz y la reducción al mínimo de la introducción de elementos perturbadores, tales como sonidos que degradan la calidad para el usuario, incluyendo ―chasquidos‖ y ―parásitos‖ acústicos en la voz de salida se realiza seleccionando con cuidado el segmento objeto de fusión. La selección de segmentos de voz se basa en la similitud de segmentos o en su correlación. Cuanto más próxima sea la similitud de los segmentos de voz, tanta mejor calidad de voz resultará y tanto más baja será la probabilidad de introducir un acto perturbador de voz.
La Figura 16 representa una señal de voz trazada en el transcurso del tiempo. El eje vertical representa la amplitud de la señal y el eje horizontal representa el tiempo. Hay que tener observar que la señal de voz presenta una configuración distintiva, en donde partes de la señal de voz se repiten en el tiempo. En este ejemplo, la señal de voz incluye un primer segmento desde el instante t1 al t2, que se repite como un segundo segmento durante t2 a t3. Cuando se encuentra dicha repetición de un segmento, uno de los segmentos o más, tales como desde el instante t2 al instante t3, se pueden eliminar con poco o prácticamente ningún impacto sobre la calidad de reproducción de la muestra.
En un ejemplo de realización, Ecuación 4, según se proporciona a continuación, se puede utilizar para encontrar una relación entre los datos de segmentos de voz. La correlación es una medida de la magnitud de la relación entre los dos segmentos. La Ecuación 4 proporciona un factor absoluto y de correlación vinculada (desde -1 a +1) como una medida de la magnitud de la relación, en donde un bajo número negativo refleja una relación más débil, es decir, menos correlación que un número positivo alto, que refleja una relación más fuerte, es decir, más correlación. Si la aplicación de la Ecuaciòn 4 indica una ―buena similitud‖, se realiza la envolvente de tiempo. Si la aplicación de la Ecuación 4 indica poca similitud, se pueden presentar elementos perturbadores en un segmento de voz objeto de fusión. La correlación se proporciona como:
En la Ecuación 4, x e y representan los dos segmentos de voz, m representa la ventana sobre la que se calcula la correlación entre los dos segmentos, d representa la parte de correlación e i es un índice. Si la aplicación de la Ecuación 4 indica que se pueden fusionar segmentos sin introducir elementos perturbadores, la fusión se puede realizar utilizando una técnica de ―añadir–solapar‖. Esta técnica combina los segmentos comparados y genera un segmento de voz a partir de los dos segmentos de voz separados. La combinación que utiliza la técnica de añadir – solapar puede estar basada en una ecuación tal como la Ecuación 5 dada a continuación:
Las muestras resultantes pueden ser muestras de Modulación por Códigos de Pulsos (PCM). Cada muestra de PCM presenta un formato predeterminado que define la longitud en bits y el formato de la muestra de PCM. Por ejemplo, un número con signo de 16 bits puede ser el formato para representar una muestra de PCM. La técnica de ‗añadir– solapar‘ producida por la aplicación de la Ecuación 5 incluye la ponderación para proporcionar una transición suave entre
10 la primera muestra de PCM de Segment1 y la última muestra de PCM de Segment2. En la Ecuaciòn 5, ―RWindowSize” es el número de muestras de PCM en una ventana de referencia y ―OutSegment” es el tamaño del segmento de adición– solapamiento resultante. ―WindowSize” es igual al tamaño de la ventana de referencia y ―Segment” es el tamaño del segmento objetivo. Estas variables se determinan dependiendo de la tasa de muestreo, el contenido en frecuencia de la voz y la solución de compromiso deseada entre calidad y complejidad de cálculo.
15 La técnica de ‗añadir–solapar‘, anteriormente descrita, se ilustra en las Figuras 17A y 17B. En la Figura 17A, se representa un segmento de voz constituido por 160 muestras de PCM. En este ejemplo, RWindowSize se representa por las muestras de PCM 0 a 47. Dicho de otro modo, las muestras de PCM 0 a 47 corresponden al número de muestras en la ventana de referencia de tamaño WindowSize. Segment se refiere al tamaño del área de búsqueda objetivo y se representa por las muestras de PCM 10 a 104. En este ejemplo, las muestras de PCM 0 a 47 se comparan con las
20 muestras 10 a 104, con una muestra PCM a la vez, para encontrar la mejor correlación entre las muestras de referencia y el área de búsqueda objetivo. La localización en el interior del área de búsqueda objetivo, donde se encuentra la correlación máxima, se refiere como un ‖offset‖. En el punto de offset, RWindowSize se puede combinar con la parte de Segment correspondiente al tamaño de RWindowSize. El segmento de voz, correspondiente a las muestras de PCM 104 a 160, se deja invariable.
25 En la Figura 17B, las primeras muestras RWindowSize del segmento de voz se comparan con las posteriores partes del segmento de voz, con una muestra PCM a la vez. La localización en donde se encuentra la correlación máxima, entre RWindowSize y una longitud correspondiente de muestras en el interior del área de búsqueda objetivo (Segment), es el denominado ―offset‖. La longitud del offset es la distancia desde el comienzo del segmento de voz al punto de correlación máxima entre RWindowSize y Segment. Una vez encontrada la correlación máxima, se realiza la
30 fusión (en el punto de offset) de RWindowSize con una longitud correspondiente Segment. Dicho de otro modo, la técnica de ‗añadir–solapar‘ se realiza añadiendo RWindowSize a una parte de Segment de la misma longitud. Esta operación se realiza en el punto de offset según se ilustra. El resto de las muestras se copian desde el segmento original según se representa. El segmento de voz resultante consiste en las restantes muestras copiadas, tal como están, desde el segmento de voz original, añadido al segmento fundido según se ilustra. El paquete resultante es más corto que el
35 segmento original en la longitud del offset. Este proceso se refiere como compresión de voz. Cuanto menos se comprima un segmento de voz, tanta más baja será la probabilidad de que una persona pueda detectar cualquier degradación en la calidad.
La expansión de voz se realiza cuando la memoria temporal supresora de fluctuación en los retardos contiene un bajo número de paquetes de voz. La probabilidad de la presencia de un subdesbordamiento se incrementa si la
40 memoria temporal supresora de fluctuación en los retardos presenta un número bajo de paquetes. La memoria temporal supresora de fluctuación en los retardos puede alimentar una señal de borrado al decodificador, cuando se produce un subdesbordamiento. Esta situación, sin embargo, da lugar a la degradación de la calidad de la voz. Con el fin de prevenir dicha degradación en la calidad de la voz, la reproducción de los últimos paquetes, en la memoria temporal supresora de fluctuación en los retardos, se puede retardar. Esta operación se realiza mediante la expansión de los paquetes.
45 La expansión de voz se puede realizar repitiendo múltiples muestras de PCM de un segmento de voz. La repetición de múltiples muestras de PCM, al mismo tiempo que evita los elementos perturbadores o planeidad de pasos, se realiza trabajando con más muestras de voz PCM que cuando se realiza la compresión del tiempo de voz. Por ejemplo, el número de muestras de PCM utilizadas para realizar la expansión de voz puede ser el doble del número de muestras de PCM utilizadas en la compresión del tiempo de voz. Las muestras de PCM adicionales se pueden obtener a
50 partir del anterior paquete de voz reproducido.
La Figura 18A ilustra un ejemplo de expansión de voz, en donde cada paquete o segmento de voz tiene una
19
5
10
15
20
25
30
35
40
45
50
55
longitud de 160 muestras de PCM y se genera un segmento de voz ―pre-expandido‖. En este ejemplo se comparan dos segmentos de voz: un segmento de voz ―actual‖ y un segmento de voz ―anterior‖. Las primeras muestras de PCM RWindowSize del segmento de voz actual se seleccionan como muestras de referencia. Estas muestras RWindowSize se comparan con Segment de un paquete de voz anterior, en donde se determina un punto de correlación máxima (o de offset). Las muestras PCM RWindowSize son objeto de adición–solapamiento con un tamaño correspondiente de Segment dentro del paquete anterior en el punto de offset. Se crea un segmento de voz pre-expandido copiando y añadiendo el resto de las muestras, procedentes del segmento de voz anterior, al segmento añadido–solapado, según se ilustra en la Figura 18A. La longitud del segmento de voz expandido es, entonces, la longitud del segmento preexpandido más la longitud del segmento de voz actual, según se ilustra en la Figura 18A. En este ejemplo, las muestras de PCM son objeto de offset desde el principio de un segmento de voz.
En otro ejemplo de realización, el paquete actual o la muestra de voz se expande según se ilustra en la Figura 18B. Las muestras de referencia, RWindowSize, están situadas al principio del segmento de voz actual. RWindowSize se compara con el resto del paquete de voz actual hasta que se localiza un punto de correlación máxima (offset). Las muestras de referencia son añadidas – solapadas con las correspondientes muestras de PCM encontradas para conseguir una correlación máxima dentro del segmento de voz actual. El segmento de voz expandido se crea, a continuación, copiando las muestras de PCM que comienzan al principio del paquete al punto de offset, añadiéndole el segmento de adición–solapamiento y copiando y añadiendo las restantes muestras PCM, sin modificar, desde el paquete actual. La longitud del segmento de voz expandido es igual a la suma del offset más la longitud del paquete original.
En otro ejemplo de realización, se expande el segmento de voz según se ilustra en la Figura 18C, en donde RWindowSize se incorpora en el interior del paquete actual o segmento de voz y no ocurre al principio del paquete. Roffset es la longitud del segmento de voz correspondiente a la distancia entre el comienzo del paquete actual al punto en el que se inicia RWindowSize. RWindowSize es objeto de adición–solapamiento con el correspondiente tamaño de muestras PCM en el paquete actual encontrado en el punto de correlación máxima. El segmento de voz expandido se crea, a continuación, copiando las muestras PCM que comienzan al principio del paquete original o un paquete actual y que finalizan en el offset y añadiendo el segmento añadido–solapado y las restantes muestras PCM procedentes del paquete original. La longitud del segmento de voz expandido resultante es la longitud del paquete original más el offset y menos las muestras de Roffset, es decir, el número de las muestras PCM en Roffset según se definió anteriormente.
Umbrales de envolvente de tiempo filtrados
Para evitar decisiones oscilantes de compresión y expansión, cuando el número de paquetes almacenados en la memoria temporal supresora de fluctuación en los retardos varía con rapidez, las variables utilizadas para evaluar el estado operativo de la memoria temporal supresora de fluctuación en los retardos, es decir, el número de paquetes almacenados en la memoria temporal supresora de fluctuación en los retardos, en un ejemplo, filtra dichas variables a través de una ventana de muestreo. El estado operativo de la memoria temporal supresora de fluctuación en los retardos puede referirse al número de paquetes almacenados en la memoria temporal supresora de fluctuación o cualesquiera variables utilizadas para evaluar los datos almacenados en la memoria temporal supresora de fluctuación en los retardos. En un sistema que soporta la entrega de datos en ráfagas, IS-856 se refiere como 1xEV-DO, la entrega de paquetes a un receptor dado es multiplexada por división de tiempos en el enlace hacia delante con lo que el receptor puede recibir varios paquetes, en una instancia, seguida por ningún paquete durante algún tiempo. Esto da lugar a la recepción de datos en ráfagas en la memoria temporal supresora de fluctuación en los retardos del receptor. Los datos recibidos están sujetos efectivamente a una agrupaciòn denominada ―bundling‖, en donde pueden existir casos de dos o más paquetes que llegan muy próximos en el tiempo. Dicha operación de agrupación puede resultar fácilmente en oscilaciones entre la expansión y compresión de paquetes, en donde la memoria temporal supresora de fluctuación en los retardos proporciona instrucciones de envolvente de tiempo en respuesta a la tasa de datos recibidos y estado operativo de la memoria temporal intermedia. Por ejemplo, se considera un caso en donde el valor calculado (retardo o duración) de la memoria temporal supresora de fluctuación en los retardos es 40 ms al principio de una ráfaga de voz. En un momento posterior, la carga de la memoria temporal supresora de fluctuación en los retardos se hace inferior al umbral de expansión, dando lugar a una decisión de expansión de un paquete de datos. Inmediatamente después de la reproducción de este paquete, llega una agrupación de tres paquetes; los datos que llegan rellenan el tamaño de la memoria temporal supresora de fluctuación en los retardos, de modo que se supere el umbral de compresión. Esta situación hará que se compriman paquetes. Puesto que la llegada de una agrupación de paquetes puede ir seguida por ninguna llegada de paquetes durante algún tiempo, la memoria temporal supresora de fluctuación en los retardos puede agotarse de nuevo, dando lugar a la expansión de los paquetes. Esta clase de basculamiento entre expansión y compresión puede causar un alto porcentaje de paquetes en envolvente de tiempo. Esto es indeseable puesto que desearíamos restringir el porcentaje de paquetes cuya información de señal haya sido modificada debido a la envolvente de tiempo a un valor pequeño.
Un ejemplo de realización evita dichas oscilaciones suavizando los efectos de la agrupación (bundling) que puedan tener sobre el control adaptativo de la memoria temporal supresora de fluctuación en los retardos y sobre la envolvente de tiempo y la reproducción de datos. Este ejemplo utiliza valores medios al determinar cuando realizar la envolvente de tiempo. Los valores medios se calculan filtrando las variables utilizadas en dichos cálculos. En un ejemplo
5
10
15
20
25
30
35
40
45
50
de realización, los umbrales de compresión y de expansión se determinan filtrando o promediando el tamaño de la memoria temporal supresora de fluctuación en los retardos. Hay que dar a conocer que el tamaño de la memoria temporal se refiere a estado actual de dicha memoria.
Comparando el valor filtrado del tamaño de la memoria temporal con el umbral de expansión puede dar lugar a un mayor número de subdesbordamientos, puesto que algunos paquetes que hubieran sido expandidos utilizando un valor no filtrado, no son expandidos utilizando un valor filtrado. Por el contrario, la comparación de un valor filtrado con el umbral de compresión puede servir para amortiguar la mayor parte de las oscilaciones (o basculamiento entre controles de la envolvente de tiempo) con un mínimo o prácticamente ningún impacto negativo. Por lo tanto, los umbrales de compresión y de expansión se pueden tratar de forma diferente.
En un ejemplo de realización, el valor instantáneo del tamaño de la memoria temporal supresora de fluctuación en los retardos se comprueba con respecto al umbral de expansión. Por el contrario, un valor filtrado de la memoria temporal supresora de fluctuación en los retardos se comprueba con respecto al umbral de compresión. Una configuración utiliza un filtro de Respuesta de Pulso Infinita (IIR) para determinar el tamaño medio de la memoria temporal supresora de fluctuación en los retardos, en donde la memoria temporal supresora de fluctuación en los retardos presenta un valor filtrado que se puede volver a calcular periódicamente, tal como una vez cada 60 ms. La constante de tiempo del filtro se puede derivar de la estadística de la agrupación y un ejemplo de ello corresponde a 1xEV-DO Rev A, que puede ser de 60 milisegundos. Las estadísticas de la agrupación se utilizan para derivar la constante de tiempo de filtro porque presentan una fuerte correlación con respecto a la forma en que el tamaño instantáneo de la memoria temporal supresora de fluctuación en los retardos oscila durante la operación.
Expansión debida a la falta de paquetes
Como se indicó anteriormente, la memoria temporal supresora de fluctuación en los retardos y los diversos métodos para controlar a memoria temporal supresora de fluctuación en los retardos y controlar la envolvente de tiempo de los datos recibidos se pueden adaptar a las especificaciones del sistema específico y a las condiciones operativas. Para los sistemas de comunicaciones que ponen en práctica un sistema de solicitud repetida para mejorar el rendimiento, tal como un sistema de petición repetida automática híbrida (H-ARQ), dicho procesamiento de repetición tiene repercusiones sobre la forma de expansión de un paquete de voz. Concretamente, H-ARQ puede hacer que se vuelvan a solicitar paquetes que han llegado (es decir, fuera de pedido). Con referencia a la Figura 19, que ilustra una memoria temporal supresora de fluctuación en los retardos de una determinada magnitud y el umbral de expansión, Texpand, dado como un 50% de la magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos. El paquete actual, que se reproduce, tiene un número de secuencia 20, PKT 20. La memoria temporal supresora de fluctuación en los retardos contiene tres paquetes que presentan números de secuencias 21, 23 y 24, identificados como PKT 21, PKT 23 y PKT 24, respectivamente. Cuando una utilidad de reproducción solicita el siguiente paquete después de reproducir el PKT 20, el umbral de expansión no se dispara puesto que la memoria temporal supresora de fluctuación en los retardos contiene paquetes suficiente para mantener una magnitud de la memoria temporal superior al 50 % de la magnitud calculada de la memoria temporal supresora de fluctuación en los retardos. En el presente ejemplo, por lo tanto, no se expande PKT 21. Esto puede original un subdesbordamiento si PKT 22 no llega en el momento en que PKT 21 acaba su reproducción, puesto que los paquetes se reproducen en secuencia y por lo tanto, la utilidad reproductora no puede reproducir PKT 23 antes de PKT 22. Aún cuando no se dispare el umbral de expansión, un ejemplo de realización anticipa la discontinuidad en los paquetes recibidos y selecciona la expansión de PKT 21 para permitir más tiempo para la llegada de PKT 22. De esta forma, la expansión de PKT 21 puede evitar un paquete faltante y una señal de borrado. En consecuencia, se puede expandir un paquete incluso si la magnitud de la memoria temporal supresora de fluctuación en los retardos está por encima del umbral de expansión Texpand.
Las condiciones bajo las cuales han de expandirse los paquetes se pueden mejorar. Según se describió anteriormente, un paquete puede ser expandido si el tamaño de la memoria temporal supresora de fluctuación en los retardos es inferior al umbral de expansión. En otro entorno operativo, un paquete se puede expandir si el paquete que tiene el siguiente número de secuencia no está presente en la memoria temporal supresora de fluctuación en los retardos.
Según se indicó anteriormente, el retardo de la memoria temporal supresora de fluctuación en los retardos se puede calcular al principio de una ráfaga de voz. Puesto que las condiciones de la red incluyendo, sin limitación, las condiciones de los canales y las condiciones de la carga, pueden cambiar durante una ráfaga de voz, en particular durante una ráfaga de voz largo, un ejemplo de realización se configura para cambiar el retardo de la memoria temporal supresora de fluctuación en los retardos durante una ráfaga de voz. De este modo, las ecuaciones de la memoria temporal supresora de fluctuación en los retardos, anteriormente proporcionadas, se pueden volver a calcular periódicamente cada CHANGE_JITTER_TIME segundos durante una ráfaga de voz. Como alternativa, las variables se pueden recalcular en un caso de disparo, tal como un cambio significativo en las condiciones operativas, carga, indicaciones de interfaz de aire u otra incidencia. En un ejemplo de realización, el valor de CHANGE_JITTER_TIME puede establecerse en 0,2 segundos (200 ms).
Los umbrales de envolvente de tiempo, por ejemplo, los umbrales de compresión y expansión pueden proporcionar una orientación sobre la forma de cambiar los valores durante ráfaga de voz. La operación normal se refiere a la operación del receptor cuando el estado operativo de la memoria temporal supresora de fluctuación en los retardos está entre los umbrales de compresión y de expansión y en torno a una magnitud objetivo de la memoria temporal supresora de fluctuación en los retardos. Cada umbral actúa como un dispositivo de disparo. Cuando se alcanza o supera un umbral, los paquetes en la memoria temporal supresora de fluctuación en los retardos se pueden expandir o comprimir dependiendo del umbral. El tamaño de la memoria temporal supresora de fluctuación en los retardos puede seguir su expansión o contracción a medida que reciba paquetes. Este cambio constante en el tamaño de la memoria temporal supresora de fluctuación en los retardos indica que los umbrales de expansión y compresión se pueden aproximar continuamente durante la comunicación. En general, el sistema intenta mantener el tamaño de la memoria temporal supresora de fluctuación en los retardos entre los umbrales de expansión y de compresión, lo que se considera un estado estable. En el estado estable, no se cambia el tamaño de la memoria temporal supresora de fluctuación en los retardos; y un cambio en la recepción de paquetes y por lo tanto un cambio en el tamaño de la memoria temporal supresora de fluctuación en los retardos, puede causar automáticamente el disparo del umbral de compresión/expansión y se consiguen comprimir/expandir paquetes, respectivamente, hasta que se alcance el nuevo retardo de la memoria temporal supresora de fluctuación en los retardos. En este entorno operativo, la magnitud del retardo objetivo de la memoria temporal supresora de fluctuación en los retardos se actualiza en función de CHANGE_JITTER_TIME. El tamaño real de la memoria temporal supresora de fluctuación en los retardos puede no calcularse necesariamente, puesto que el tamaño de la memoria temporal supresora de fluctuación en los retardos cambia automáticamente cuando se dispara como resultado de alcanzar uno u otro de los umbrales de expansión/compresión de la envolvente de tiempo. En un ejemplo de realización, el valor de CHANGE_JITTER_TIME puede establecerse en 0,2 segundos (200 ms).
PRE-ENVOLVENTE DE OPERACIONES DE TRANSFERENCIA (HANDOFF)
Las operaciones de transferencia suelen ir acompañadas por la pérdida de cobertura para una pequeña magnitud de tiempo. Cuando la transferencia del servicio (Handoff) es inminente, el AT puede experimentar condiciones de canal deficientes y aumentarse los retardos de los paquetes. Un ejemplo de realización procesa las condiciones de la Handoff de una manera especial, aplicando la envolvente de tiempo a los paquetes de voz. Tan pronto como la AT decide la operación de transferencia, Handoff, a una nueva estación base, esta información se puede utilizar para controlar la memoria temporal supresora de fluctuación en los retardos. A la recepción de esta señal de Handoff, la AT introduce un modo de ―pre-envolvente‖, tal como se ilustra en el modo pre-envolvente 244 representado en la Figura 8B. En este modo, la AT expande paquetes hasta que se cumpla una de dos condiciones. Bajo la primera condición, la memoria temporal supresora de fluctuación en los retardos continúa acumulando paquetes y la expansión acumulativa da lugar a un tamaño de la memoria temporal supresora de fluctuación en los retardos de PRE_WARPING_EXPANSION. Dicho de otro modo, la expansión de paquetes se realiza hasta que se alcance PRE_WARPING_EXPANSION. Como alternativa, bajo una segunda condición, se ha satisfecho un periodo de tiempo WARPING_TIME. Un temporizador arranca a la recepción de una señal de Handoff o un indicador de parada técnica; el temporizador termina su operación en el tiempo WARPING_TIME. Una vez que se haya satisfecho una de estas dos condiciones, la AT sale del modo de pre-envolvente. Durante el modo de pre-envolvente, ningún paquete es comprimido a no ser que se satisfaga la condición de End_Talkspurt (descrita más adelante) porque la memoria temporal supresora de fluctuación en los retardos deseará acumular suficientes paquetes para enviarlos, a intervalos periódicos, a la utilidad reproductora. En un ejemplo de realización en donde se espera la llegada de paquetes a intervalos periódicos, por ejemplo 20 ms, el valor de PRE_WARPING_EXPANSION puede establecerse en 40 ms y el de WARPING_TIME es equivalente a 100 intervalos de tiempo (166 ms).
Las operaciones de transferencia son solamente una forma de casos de parada técnica. La memoria temporal supresora de fluctuación en los retardos puede poner en práctica un mecanismo para gestionar las operaciones de transferencia u otros tipos de paradas técnicas. La información necesaria para ello es cuánto se requiere de excedente de memoria temporal supresora de fluctuación en los retardos para gestionar la parada técnica (PRE_WARPING_EXPANSION) y cuánto tiempo la memoria temporal supresora de fluctuación en los retardos mantendrá la condición de trabajo en este modo de evitación de parada técnica (WARPING_TIME).
MEDICIÓN DE SUBDESBORDAMIENTOS RETARDADOS
Puesto que las ecuaciones de la memoria temporal supresora de fluctuación en los retardos, anteriormente proporcionadas, están concebidas para establecer como objetivo un porcentaje de subdesbordamientos retardados, es conveniente medir, con precisión, el número de subdesbordamientos retardados. Cuando se produce un subdesbordamiento, no se conoce si el subdesbordamiento fue casado debido a un retardo de paquetes o debido a un paquete eliminado en algún lugar en la red, es decir, en la ruta de transmisión. Por lo tanto, existe necesidad de una determinación exacta del tipo de subdesbordamiento.
En un ejemplo de realización, para las comunicaciones que utilizan RTP/UDP/IP, cada paquete incluye un número de secuencia de RTP. Los números de secuencia se utilizan para disponer los paquetes recibidos en el orden en que fueron transmitidos. Cuando se produce un subdesbordamiento, el número de secuencia de RTP del paquete que
5
10
15
20
25
30
35
40
45
50
55
causa el subdesbordamiento se puede memorizar, tal como una disposición matricial de memorias. Si un paquete, con el número de secuencia identificado llega más tarde, este subdesbordamiento se considera como una ―subdesbordamiento retardada‖.
La ―tasa de subdesbordamientos retardados‖ es la relaciòn del número de subdesbordamientos con el número de paquetes recibidos totales. El número de subdesbordamientos y el número de paquetes recibidos se establecen ambos a cero cada vez que se actualizan las ecuaciones de la memoria temporal supresora de fluctuación en los retardos.
Mejora operativa al principio y final de una ráfaga de voz
Haciendo referencia a la Figura 20 que ilustra la temporización de una conversación entre dos usuarios. En esta representación gráfica los ejes verticales representan el tiempo. Cada usuario transmite ráfagas de voz y periodos de silencio, que luego se reciben por el otro usuario. Para mayor claridad, los segmentos de bloques sombreados 400 y 410 representan ráfagas de voz (segmentos de voz) para el Usuario 1. El segmento de bloques no sombreados 405 representa las ráfagas de voz para el Usuario 2. Las áreas fuera de las ráfagas de voz, en la línea de temporización, representan tiempos cuando los usuarios no están hablando, pero pueden estar escuchando al otro usuario o recibiendo un periodo de silencio. El segmento 400 se reproduce en Usuario 2. Una vez que el segmento de voz 400 acaba la reproducción en Usuario 2, el Usuario 2 espera un intervalo de tiempo corto antes de comenzar a hablar. El inicio del primer segmento de voz del Usuario 2 405 es posteriormente oído por el Usuario 1. El Retardo de Ida y Retorno (RTD) percibido por el Usuario 1 es el intervalo de tiempo entre cuando el Usuario 1 deja de hablar al tiempo en que el Usuario 1 escucha el principio del segmento de voz del Usuario 2. El retardo conversacional RTD no es un retardo extremo a extremo unidireccional, sino que es específico del usuario y significativo desde el punto de vista de los usuarios. Por ejemplo, si el RTD conversacional es demasiado grande para el Usuario 1, enviará un mensaje de solicitud al Usuario 1 para comenzar a hablar de nuevo sin esperar a que se reproduzca el segmento de voz del Usuario 2. Esta operación rompe el flujo de conversación y se percibe como una degradación de la calidad conversacional. El RTD conversacional, experimentado por el Usuario 1, se puede cambiar en diferentes formas. En un ejemplo se puede cambiar el momento en el que se reproduce el extremo del segmento de voz del Usuario 1 para el Usuario 2. En un segundo ejemplo, se cambia el momento en el que el inicio del segmento de voz del Usuario 2 se reproduce para el Usuario 1. Obsérvese que los retardos de solamente el principio y final de la ráfaga de voz influyen sobre la calidad de voz en una conversación. Un objetivo de diseño es reducir, además, los retardos al inicio y final de las ráfagas de voz.
En un ejemplo, el objetivo es ampliar el principio de una ráfaga de voz. Esta mejora se puede realizar manipulando el primer paquete de una ráfaga de voz del Usuario 1, de modo que la parte que escucha, Usuario 2, reciba el paquete más pronto que si se hubiera utilizado el retardo de memoria temporal supresora de la fluctuación en los retardos adaptativa por defecto. El retardo aplicado a un paquete en una memoria temporal supresora de la fluctuacion en los retardos puede ser el retardo de la memoria temporal supresora de la fluctuación en los retardos adaptativa por defecto, un valor calculado o un valor seleccionado para dar lugar a que la parte que escucha reciba el paquete en un momento particular. En un ejemplo, la temporización de un primer paquete de una ráfaga de voz se varía recalculando el retardo de la memoria temporal supresora de la fluctuación en los retardos adaptativa al principio de cada ráfaga de voz recibida. Cuando el retardo de la memoria temporal supresora de fluctuación en los retardos adaptativa aplicado al primer paquete de una ráfaga de voz se disminuye y este primer paquete se remite a la parte que escucha. Cuando se incrementa el retardo, el primer paquete se recibe por la parte que escucha en un momento posterior. El retardo de la memoria temporal supresora de la fluctuación en los retardos, por defecto, para un primer paquete puede ser menor que el retardo calculado de la memoria temporal supresora de la fluctuación en los retardos. En el ejemplo ilustrado, el retardo de la memoria temporal supresora de la fluctuación del primer paquete de cada ráfaga de voz está restringida por un valor referido como MAX_BEGINNING_DELAY, que se puede medir en segundos. Este valor puede ser un retardo de memoria temporal supresora de fluctuación de retardos recalculada o un retardo designado para dar lugar a que la parte que escucha reciba el paquete en un momento determinado. El valor de MAX_BEGINNING_DELAY puede ser menor que el retardo real de la memoria temporal supresora de la fluctuación en los retardos calculado. Cuando MAX_BEGINNING_DELAY es menor que el retardo calculado de la memoria temporal supresora de fluctuación en los retardos y se aplica al primer paquete de una ráfaga de voz, los posteriores paquetes de ráfagas de voz serán objeto de expansión automática. La expansión automática de los paquetes posteriores se produce porque una memoria temporal supresora de la fluctuación en los retardos no puede recibir paquetes a la misma velocidad que los reproduce. Puesto que la memoria temporal supresora de la fluctuación en los retardos reproduce paquetes, dicha memoria temporal supresora de la fluctuación en los retardos disminuye en tamaño y se aproxima el umbral de expansión. Una vez que se alcanza el umbral de expansión, se dispara la expansión y los posteriores paquetes en la ráfaga de voz se expanden hasta que la memoria temporal supresora de la fluctuación en los retardos reciba bastantes paquetes entrantes para superar el umbral de expansión. Al realizar un valor de MAX_BEGINNING_DELAY, el primer paquete de la ráfaga de voz se recibe antes por la parte que escucha mientras se expanden los paquetes posteriores. La parte que escucha se satisface por la recepción más rápida del paquete inicial. Ampliar el inicio de una ráfaga de voz tiene el potencial para aumentar el número de subdesbordamientos en una pequeña cantidad; sin embargo, un valor adecuado de MAX_BEGINNING_DELAY mitiga este efecto. En una realización ejemplo, un valor de MAX_BEGINNING_DELAY se calcula como una fracción de la duración objetivo real de la memoria temporal supresora de fluctuación en los retardos; a modo de ejemplo, un valor de 0,7 de MAX_BEGINNING_DELAY de la duración objetivo de la memoria temporal supresora de fluctuación en los retardos puede dar lugar a un aumento significativo en los subdesbordamientos. En otro ejemplo, un valor de MAX_BEGINNING_DELAY puede ser un número fijo tal como 40 ms, que da lugar a un incremento insignificante en subdesbordamientos, tal como, por ejemplo en un sistema que soporta 1xEV-DO Rev A.
La expansión de los paquetes posteriores en una ráfaga de voz no degrada la calidad de voz global. Esta situación se representa en la Figura 20, en donde el Usuario 2 recibe el primer paquete de ráfaga de voz desde el Usuario 1 y el retardo inicial o ―retardo en una sola direcciòn‖ está restringido a un Td1. Según se ilustra, el segmento de voz 400 se recibe en el Usuario 2 sin ninguna expansión ni compresión, mientras que el segmento de voz 405 se comprime en el Usuario 1 en la recepción.
La Figura 21 es un diagrama de flujo que ilustra la ampliación al principio de la ráfaga de voz. Se determina primero en la etapa 510 si el sistema está en el modo de silencio. El modo de silencio puede corresponder a un periodo de silencio entre ráfagas de voz o un momento en que no se están recibiendo paquetes por la memoria temporal supresora de la fluctuación en los retardos. Si el sistema no está en el modo de silencio, finaliza el proceso. Si está en el modo de silencio, la estimación de la duración objetivo de la memoria supresora de fluctuaciones en los retardos se realiza en la etapa 520. A continuación, se determina si el sistema está ampliado en la etapa 530. La ampliación, según un ejemplo, indica la duración objetivo calculada de la memoria temporal supresora de la fluctuación en los retardos adaptativa es mayor que un valor dado que, en un ejemplo, se proporciona como un factor de ampliación tal MAX_BEGINNING_DELAY; el sistema espera un periodo de tiempo igual al factor de mejora o fracción de la duración objetivo para iniciar la reproducción, en la etapa 540. Si no está funcionalmente mejorado el sistema, el sistema espera un nuevo objetivo para iniciar la reproducción, en la etapa 550. El valor del nuevo objetivo puede ser igual a la magnitud calculada de la memoria temporal supresora de la fluctuación en los retardos o el máximo de la duración de la memoria temporal supresora de la fluctuación en los retardos.
La Figura 22 ilustra, además, la mejora al comienzo de una ráfaga de voz. El proceso 580 se ilustra comenzando en la identificación de una ráfaga de voz. Dos marcos operativos se consideran: i) con envolvente de tiempo y ii) sin envolvente de tiempo. En este ejemplo, se utilizan paquetes de voz con una duración de 20 ms. Paquetes de voz, de cualquier duración, se pueden poner en práctica. En este caso, la memoria temporal supresora de fluctuación en los retardos adaptativa espera durante 120 ms antes de reproducir los paquetes. Este valor es la duración objetivo de la memoria temporal supresora de la fluctuación en los retardos adaptativa y se recibe desde un dispositivo estimador del objetivo de la memoria temporal supresora de la fluctuación en los retardos adaptativa, en la etapa 582. En el presente ejemplo, 120 ms es equivalente a recibir seis (6) paquetes, cada uno con una duración de 20 ms, sin envolvente de tiempo. Si la envolvente de tiempo no se utiliza en 584, se proporcionan seis (6) paquetes en 120 ms. En el primer marco operativo, por lo tanto, la memoria temporal supresora de la fluctuación en los retardos comenzará a reproducir paquetes después de la recepción de seis paquetes. Esto es equivalente en el tiempo a 120 ms de retardo. En el segundo marco operativo, con la puesta en práctica de la envolvente de tiempo, la memoria temporal supresora de la fluctuación en los retardos puede expandir los cuatro (4) primeros paquetes recibidos e iniciar la reproducción de los paquetes a la recepción de cuatro (4) paquetes. De este modo, aun cuando el retardo de la memoria temporal supresora de la fluctuación en los retardos de 80 ms, en este caso es menor que el retardo estimado de la la memoria temporal supresora de la fluctuación en los retardos de 120 ms, con lo que se puede evitar potenciales ráfagas de voz expandiendo los primeros paquetes. Dicho de otro modo, la reproducción de paquetes puede iniciarse antes con la envolvente de tiempo que sin la envolvente de tiempo. Por lo tanto, se puede utilizar la envolvente de tiempo para ampliar el principio de una ráfaga de voz sin afectar al número de ráfagas de voz.
En otro ejemplo de realización, se puede mejorar funcionalmente el final de una ráfaga de voz. Esta operación se realiza comprimiendo los últimos paquetes de una ráfaga de voz con lo que se reduce el retardo extremo a extremo. Dicho de otro modo, el retardo en el final de una ráfaga de voz se hace más pequeño y un segundo usuario lo oye con más rapidez desde un primer usuario. La ampliación en el final de una ráfaga de voz se ilustra en la Figura 23. En este caso, un paquete de 1/8 de la tasa indica el final de una ráfaga de voz. Esto difiere de los paquetes de tasa completa (tasa 1), tasa mitad (tasa ½) o tasa de la cuarta parte (tasa ¼), que se pueden utilizar para transmitir datos de voz. Otros paquetes de tasas de transmisión se pueden utilizar también para la transmisión durante los periodos de silencio o al final de las ráfagas de voz. La puesta en práctica de paquetes de tasa 1/8 como paquetes indicadores del silencio en la comunicación de voz se describe, además, en la Solicitud de Patente de Estados Unidos co-pendiente Nº 11/123.478, con fecha de prioridad de 1 de febrero de 2005, titulada "MÉTODO PARA LA TRANSMISIÓN DISCONTINUA Y REPRODUCCIÓN EXACTA DE LA INFORMACIÓN DE RUIDO DE FONDO‖.
Según se ilustra en la Figura 23, sin envolvente de tiempo, los paquetes N a N+4 se reproducen en 100 ms. Comprimiendo los últimos paquetes de la ráfaga de voz, los mismos paquetes N a N+4 inclusive se pueden reproducir en 70 ms en lugar de 100 ms. La calidad de voz puede tener poca o prácticamente ninguna degradación cuando se pone en práctica la compresión de tiempo. La mejora funcional al final de una ráfaga de voz supone que el receptor tiene conocimiento para identificar el final de la ráfaga de voz y prever cuando se está aproximando el final.
Al enviar paquetes de voz a través del Protocolo en Tiempo Real (RTP), en un ejemplo de realización, se puede
5
10
15
20
25
30
35
40
45
50
establecer un indicador del "final de la ráfaga de voz" en el último paquete de cada ráfaga de voz. Cuando se está proporcionando un paquete para su reproducción, los paquetes en la memoria temporal supresora de fluctuación en los retardos se comprueban con respecto al indicador de ―final de la ráfaga de voz‖. Si este indicador se activa en uno solo de los paquetes y no existe ningún número de secuencia que falte entre el paquete actual que se está proporcionando para su reproducción y el paquete de "final de la ráfaga de voz", el paquete que se proporciona para su reproducción será comprimido así como todos los futuros paquetes de la ráfaga de voz actual.
En otro ejemplo de realización, el sistema efectúa una transición a silencio si está en una ráfaga de voz y un paquete de 1/8 de la tasa de transmisión o un paquete con el bit de Descripción de Indicador de Silencio (SID) activado se entrega a la utilidad reproductora. Un paquete de 1/8 tasa de velocidad de transmisión puede detectarse comprobando su tamaño. El bit SID se transporta en la carretera de RTP. El sistema efectúa una transición a ráfaga de voz si está en el modo de silencio y un paquete que sea de 1/8 tasa de trasmisión no tiene el bit SID activado, se entrega para su reproducción. En un ejemplo de realización, se da a conocer que pueden realizarse métodos de memoria temporal supresora de fluctuación en los retardos adaptativa según aquí se presenta, cuando el sistema está en estado de ráfaga de voz y se puede ignorar cuando está en un periodo de silencio.
Se da a conocer que este método puede desechar, de forma correcta, paquetes duplicados que llegaron tarde. Si llega un paquete duplicado, simplemente se descartará desde la primera instancia del paquete que fue ejecutado en el tiempo adecuado y su secuencia no fue memorizada en la disposición matricial que contienen los candidatos de ―subdesbordamientos de retardo‖.
Mientras se envían paquetes de voz a través de RTP en un ejemplo, se puede establecer un indicador de ―final de la ráfaga de voz‖ en el último paquete de cada ráfaga de voz. Cuando se está proporcionando un paquete para su reproducción, los paquetes en la memoria temporal supresora de fluctuación en los retardos se comprueban respecto al indicador de "final de la ráfaga de voz". Si este indicador se activa en uno de los paquetes y no existen números de secuencia faltantes entre el paquete actual que se proporciona para reproducción y el paquete de "final de la ráfaga de voz", se comprime el paquete que se proporciona para la reproducción así como todos los futuros paquetes de la ráfaga de voz actual
En la Figura 24 se representa un diagrama de flujo que ilustra la mejora en el extremo de la ráfaga de voz según un ejemplo de realización. Un nuevo paquete comienza en la etapa 600. En la etapa 605, si la magnitud de memoria temporal supresora de fluctuación en los retardos es mayor o igual al umbral de compresión, se genera una indicación de compresión en la etapa 635 y la cola se proporciona al nuevo paquete en la etapa 600. En la etapa a 605, si la memoria temporal supresora de fluctuación en los retardos no es mayor o igual respecto al umbral de compresión, se determina en la etapa 610 si la magnitud de la memoria temporal supresora de fluctuación en los retardos es más pequeña o igual al umbral de expansión. Si lo es, la etapa 615 determina si la cola de la transmisión es igual a una tasa de paquetes que puede ser representativa de un periodo de silencio o final de la ráfaga de voz. En un ejemplo de realización, un tren continuo de paquetes de 1/8 tasa de transmisión se pueden enviar a intervalos constantes, por ejemplo, 20 ms, durante un periodo de silencio o al final de una ráfaga de voz. En la Figura 24, si se determina en etapa 615 que la cola de la secuencia no es igual a un paquete de 1/8 tasa de transmisión, el segmento se expande en la etapa 620 y retorna al nuevo paquete en la etapa 600. La etapa 625 determina si la cola de la secuencia es igual a 1/8. En la etapa 625, si la cola es igual a 1/8 tasa de transmisión, se genera una indicación de compresión en la etapa 635. Si no es igual a 1/8 tasa de transmisión, en tal caso la reproducción es normal, sin ninguna envolvente de tiempo, en la etapa 630.
Optimizador de calidad de envolvente de tiempo
Cuando se comprimen (o expanden) varios paquetes consecutivos, esta operación puede acelerar (o desacelerar), de forma notable, la señal de audio y causar una degradación en la calidad. Dicha degradación se puede evitar espaciando los paquetes con envolvente de tiempo, es decir, un paquete con envolvente de tiempo es seguido por unos pocos paquetes sin envolvente de tiempo antes de que se realice la envolvente de tiempo.
Si la anterior separación de paquetes con envolvente se aplica a la expansión, puede hacer que no se expandan algunos paquetes que lo hubieran hecho de no ser así. Esta situación operativa puede dar lugar a subdesbordamientos puesto que la expansión de los paquetes se realiza cuando la memoria temporal supresora de fluctuación en los retardos se agota en su contenido de paquetes. De este modo, en un ejemplo de realización, el anterior espaciamiento de paquetes con envolvente se puede aplicar a paquetes comprimidos, es decir, un paquete comprimido puede ir seguido por unos pocos paquetes no comprimidos, antes de que se pueda comprimir otro paquete.El número de dichos paquetes, que no deben comprimirse entre dos paquetes comprimidos, se puede establecer normalmente en 2 o
3.
Conjunto de condiciones para la iniciación de la envolvente de tiempo
A continuación se describen varias condiciones para la iniciación de la envolvente de tiempo (expansión/compresión) de paquetes de voz. Lo que sigue es un conjunto combinado de reglas (en la forma de pseudocódigo) para determinar si un paquete ha de comprimirse, expandirse o ninguna de ambas operaciones.
5
10
15
20
25
30
35
40
45
Si la fase (en pre-envolvente (Handoff Detectada) y no se detecta ningún final de ráfaga de voz) y no se alcanza DEJITTER_TARGET + PRE_WARPING EXPANSION)
Expandir Paquete
End If
Else
Si (Final de la ráfaga de voz detectada)
Comprimir
End If
Else Si (Iniciado umbral compresión)
Comprimir
End If
Else If (Iniciado umbral expansión o siguiente paquete no en cola de espera)
Expandir
End If
End If
End If.
La Figura 25 ilustra la implantación de una memoria temporal supresora de fluctuación tradicional acoplada con una función de decodificador. En la Figura 25, se espera que los paquetes lleguen a la memoria temporal supresora de fluctuación en intervalos de 20 ms. En este ejemplo de realización se observa que los paquetes llegan a intervalos irregulares, es decir, con fluctuación en los retardos. La memoria temporal supresora acumula los paquetes hasta que se alcance una magnitud específica de dicha memoria, de modo que la memoria temporal supresora de fluctuación en los retardos no se agote una vez que comience a enviar paquetes a intervalos periódicos tales como 20 ms. En la magnitud requerida de la memoria temporal supresora de fluctuación, dicha memoria comienza a reproducir los paquetes a intervalos periódicos de 20 ms. Un decodificador recibe estos paquetes a intervalos periódicos y convierte cada paquete en 20 ms de voz por paquete. Ejemplos alternativos pueden elegir otros intervalos de tiempo.
La Figura 26, en comparación, ilustra un ejemplo de una memoria temporal supresora de fluctuación en los retardos adaptativa que soporta la envolvente de tiempo. En este caso, los paquetes llegan a la memoria temporal supresora de fluctuación en los retardos adaptativa a intervalos irregulares. En este caso, sin embargo, la duración objetivo de la memoria temporal supresora de fluctuación en los retardos es mucho menor. Esto es así porque la envolvente de tiempo permite la expansión de los paquetes si la memoria temporal supresora de fluctuación en los retardos comienza a agotarse dejando, de este modo, tiempo para que se recupere la memoria temporal supresora de fluctuación en los retardos adaptativa. El decodificador puede expandir los paquetes si la memoria temporal supresora de fluctuación en los retardos adaptativa comienza a agotar y comprimir paquetes si dicha memoria comienza a acumular demasiados paquetes. Se obseva que una entrega no uniforme de paquetes de voz se introduce en el decodificador y la unidad de envolvente de tiempo desde memoria temporal supresora de fluctuación en los retardos adaptativa. Estos paquetes se dejan llegar a intervalos irregulares porque con la envolvente de tiempo, el decodificador convierte cada paquete en un paquete de voz de magnitud diferente, dependiendo del tiempo de llegada del paquete original. Por ejemplo, en esta forma de realización, el decodificador convierte cada paquete en 15 a 35 ms de voz por paquete. Puesto que los paquetes pueden reproducirse antes debido a la envolvente de tiempo, el tamaño de la memoria supresora requerida es menor, lo que da lugar a menos latencia en la red.
La Figura 27 es un diagrama de bloques que ilustra un AT de acuerdo con un ejemplo. La memoria temporal supresora de fluctuación en los retardos adaptativa 706, la unidad de control de envolvente de tiempo 718, los circuitos de recepción 714, el control de procesador 722; la memoria 710, los circuitos de transmisión 712, el decodificador 708, la unidad de control H-ARQ 720, el codificador 716, la unidad de procesamiento de voz 724, el ID de ráfaga de voz 726 y la correción de errores 704 se pueden acoplar junto según se ilustra en las formas de realización precedentes. Además, se pueden acoplar juntas mediante un bus de comunicaciones 702 representando en la Figura 27.
La Figura 28 ilustra el procesamiento de paquetes en un ejemplo, en donde los paquetes se reciben por una memoria temporal supresora de fluctuación en los retardos y a la larga, se reproducen por un altavoz. Según se ilustra, los paquetes se reciben en la memoria temporal supresora de fluctuación en los retardos. La memoria temporal supresora de fluctuación en los retardos envía paquetes y la información del envolvente de tiempo al decodificador a las peticiones de paquetes desde el decodificador. El decodificador envía muestras al dispositivo excitador de salida al recibir peticiones desde este último.
El controlador de entrada, dentro de la memoria temporal supresora de fluctuación en los retardos, mantiene un registro de los paquetes entrantes e indica si existe un error en dichos paquetes entrantes. La memoria temporal supresora de fluctuación en los retardos puede recibir paquetes que tengan números de secuencia. Un error se puede detectar por el controlador de entrada, por ejemplo, cuando un paquete entrante tiene un número de secuencia que es menor que el número de secuencia de un paquete anterior. Una unidad de clasificación, situada en el interior del controlador de entrada en la Figura 28, clasifica los paquetes entrantes. Diferentes categorías definidas por la unidad de clasificaciòn pueden incluir ―paquetes correctos‖, ―paquetes retardados‖, ―paquetes defectuosos‖, etc. Además, la unidad de control de entrada puede comparar paquetes y enviar esta información al controlador de la memoria temporal supresora de fluctuación en los retardos.
El controlador de memoria temporal supresora de fluctuación en los retardos, ilustrado en la Figura 28, recibe una entrada bidireccional desde el controlador de entrada y de salida de la memoria temporal supresora de fluctuación en los retardos. El controlador de memoria temporal supresora de fluctuación en los retardos recibe datos desde el controlador de entrada, en donde dichos datos indican características de los datos entrantes, tales como el número de paquetes correctos recibidos, el número de paquetes defectuosos recibidos, etc. La memoria temporal supresora de fluctuación en los retardos puede utilizar esta información para determinar cuándo dicha memoria necesita contraerse o crecer, lo que puede dar lugar a una señal transmitida al controlador de envolvente de tiempo para comprimir o expandir. Una unidad de Tasa de Errores de Paquetes (PER), en el interior de la unidad del controlador de la memoria temporal supresora de fluctuación en los retardos calcula el retardo de PER. El controlador de salida de la memoria temporal supresora de fluctuación en los retardos solicita paquetes desde dicha memoria. La unidad del controlador de salida de la memoria temporal supresora de fluctuación en los retardos puede indicar, además, cuál fue el último paquete reproducido.
El decodificador envía peticiones de paquetes a la memoria temporal supresora de fluctuación en los retardos y recibe paquetes desde la memoria temporal supresora de fluctuación en los retardos al recibir dichas peticiones. Una unidad de controlador de envolvente de tiempo, en el interior del decodificador, recibe información de control de envolvente de tiempo desde el controlador de salida de memoria temporal supresora de fluctuación en los retardos. La información de control de envolvente de tiempo indica si los paquetes han de ser comprimidos, expandidos o dejados sin modificar. Los paquetes recibidos por el decodificador se decodifican y convierten a muestras de voz y al recibir la petición de una memoria temporal, dentro un dispositivo excitador de salida, se envían muestras al dispositivo excitador de salida. Las peticiones de muestras, desde el dispositivo excitador de salida, se reciben por un controlador de salida en el interior del decodificador.
Adaptación de fases
Según se indicó anteriormente, la recepción de un paquete después de su tiempo de reproducción previsto puede dar lugar a borrados que se reproducen en lugar del paquete retardado. La recepción de paquetes faltantes o borrados, en la memoria temporal supresora de fluctuación en los retardos adaptativa, puede causar discontinuidades en la voz decodificada. Cuando se reconocen potenciales discontinuidades por la memoria temporal supresora de fluctuación en los retardos adaptativa, esta memoria puede solicitar al decodificador la realización de la adaptación de fases. Según se ilustra en la Figura 28, la memoria temporal supresora de fluctuación en los retardos adaptativa 750 puede comprender un controlador de adaptación de fases que recibe la entrada desde el controlador de salida 760. La información de control de adaptación de fases se envía a una unidad de adaptación de fases, que puede estar situada en el decodificador 762. En un ejemplo, la información de control de adaptación de fases puede incluir la información de ―desplazamiento de fase‖ y ―magnitud ejecutada‖. El desplazamiento de fase es la diferencia entre el número de paquetes que ha decodificado el decodificador y el número de paquetes que ha codificado el codificador. La magnitud ejecutada se refiere al número de borrados consecutivos que el decodificador ha decodificado inmediatamente antes de decodificar el paquete actual.
En un ejemplo, la adaptación de fases y la envolvente de tiempo se ponen en práctica en un decodificador que está provisto de un código de control común o de un programa informático adecuado. En un ejemplo de realización, un decodificador realiza la interpolación de forma de onda, en donde:
a) Si no se utiliza ninguna envolvente de tiempo y ninguna adaptación de fases, la codificación de voz se realiza utilizando la interpolación de formas de onda con 160 muestras;
b) Si se utiliza una envolvente de tiempo y no se realiza la adaptación de fases, la codificación de voz se realiza utilizando la decodificación-interpolación-forma de onda con (160 + N * Periodo del Paso) muestra, donde N puede ser 1 o 2.
c) Si no se utiliza ninguna envolvente de tiempo ni adaptación de fases, la codificación de voz se realiza utilizando la decodificación-interpolación-forma de onda con (160 -Δ) muestras, dond Δ es la magnitud de la adaptaciòn de fases.
d) Si se utiliza la adaptación de fases y la envolvente de tiempo, la codificación de voz se realiza por decodificación-interpolación-forma de onda con (160 -Δ + N * Periodo del Paso) muestras, donde Δ es la magnitud de la adaptación de fases.
Una entrada de señal de reloj al dispositivo excitador de salida determina la frecuencia con la que se solicitan datos por la memoria temporal dentro del dispositivo excitador de salida. Esta es la señal de reloj principal en el sistema y se puede realizar de numerosas formas. La señal de reloj dominante del sistema puede derivarse mediante la tasa de muestreo de las muestras de PCM. Por ejemplo, si se comunica una señal de voz de banda estrecha, el sistema ejecuta 8000 muestras PCM por segundo (8KHz). Esta señal de reloj puede excitar el resto del sistema. Un método consiste en permitir que la interfaz de audio 770 solicite más muestras desde el decodificador cuando se necesiten. Otro método es permitir que el decodificador/envolvente de tiempo se ejecute con independencia y porque este módulo conoce cuántas muestras de PCM fueron anteriormente entregadas y conoce cuándo se proporcionarán más muestras en lo sucesivo.
Un dispositivo programador puede estar situado en el decodificador 762 o en la interfaz de audio y la unidad de control 810. Cuando está situado en la unidad de control de interfaz de audio 810, el dispositivo programador se basa para una siguiente solicitud de paquetes en el número de muestras PCM recibidas. Cuando el dispositivo programador está situado en el interior del decodificador, puede solicitar paquetes cada 1 ms. Por ejemplo, el programador del decodificador puede solicitar paquetes cada 2 ms desde la memoria temporal supresora de fluctuación en los retardos adaptativa 750. Si la envolvente de tiempo no está habilitada en el decodificador o si la unidad de envolvente de tiempo no está situada en el decodificador 762, el dispositivo programador envía un conjunto de muestras a la interfaz de audio y unidad de control 770 que corresponde al número exacto de muestras en 1 paquete. Por ejemplo, en donde la unidad de interfaz de audio 770 solicita muestras cada 2 ms, el control de salida 766 del decodificador envia 16 muestras PCM (1 paquete corresponde a 160 muestras de datos de voz cada 20 ms, a la frecuencia de muestreo de 8 KHz). Dicho de otro modo, cuando el controlador de envolvente de tiempo está fuera del decodificador, la salida del decodificador es un paquete normal para conversión de muestras. La unidad de interfaz de audio 770 convierte el número de muestras en el número de muestras que hubiera recibido si el decodificador realizara la envolvente de tiempo.
En otro entorno operativo, cuando el controlador de envolvente de tiempo está situado en el interior del decodificador, y cuando se habilita la envolvente de tiempo, en el modo de compresión, el decodificador puede proporcionar a la salida menos muestras y en el modo de expansión, el decodificador puede proporcionar a la salida más muestras.
La Figura 30 ilustra, además, un entorno operativo en donde la función de programación se realiza por el decodificador. En la etapa 902, el decodificador solicita un paquete desde la memoria temporal supresora de fluctuación en los retardos. El paquete es recibido en la etapa 904. El paquete se convierte en "N" muestras en la etapa 906. Las "N" muestras generadas se entregan a la unidad de control de interfaz de audio en la etapa 908 y en la etapa 910, la siguiente solicitud de paquete se programa como una función de N.
La Figura 31 ilustra la programación fuera del decodificador, en la interfaz de audio y en la unidad de control. La unidad de interfaz de audio solicita primero un conjunto de muestras PCM en la etapa 1002. Las muestras PCM solicitadas se reciben en la etapa 1004y en etapa 1006, la siguiente solicitud de paquete se programa como una función de N.
El indicador de envolvente de tiempo puede ser una parte de la instrucción de la memoria temporal supresora de fluctuación en los retardos adaptativa y tal como un indicador de no envolvente de tiempo. La Figura 32 ilustra la unidad de envolvente de tiempo donde la programación se calcula fuera del decodificador, por ejemplo en la interfaz de audio y unidad de control. El tipo de paquete, el indicador de envolvente de tiempo y la magnitud de la envolvente ha realizar es introducida en la unidad de envolvente de tiempo.
La Figura 33 representa la unidad de envolvente de tiempo, en donde la programación se calcula en la unidad de envolvente de tiempo en el decodificador. La entrada a la unidad de envolvente de tiempo incluye el tipo de paquete, el indicador de envolvente de tiempo y la magnitud de la envolvente que se va a realizar. La magnitud de la envolvente y la habilitación se introducen en la unidad de optimización de la calidad de la unidad de envolvente de tiempo. La información sobre la envolvente de tiempo está a la salida.
Aunque en esta memoria descriptiva se presentan ejemplos particulares de la presente invención, los expertos en esta materia pueden crear variaciones de la presente invención sin desviarse del concepto inventivo. Por ejemplo, las enseñanzas aquí se refieren a elementos de redes de conmutación de circuitos, pero son igualmente aplicables a los elementos de redes del tipo de conmutación de paquetes. Además, dichas enseñanzas no están limitadas a los pares de tripletes de autenticación, sino que pueden aplicarse al uso de un triplete único incluyendo dos valores SRES (uno del formato habitual y otro del más reciente formato aquí dado a conocer).
Los expertos en la materia entenderán que la información y las señales se pueden representar utilizando cualquiera de una amplia gama de diferentes tecnologías y técnicas. Por ejemplo, los datos, las instrucciones, las órdenes, la información, las señales, los bits, los símbolos y los circuitos integrados, que pueden ser objeto de referencia a través de la anterior descripción, se pueden representar por tensiones, corrientes, ondas electromagnéticas, campos magnéticos o partículas, campos ópticos o partículas o cualquiera de sus combinaciones.
Los expertos en esta materia apreciarán, además, que los diversos bloques lógicos ilustrativos, módulos, circuitos, métodos y algoritmos, descritos en relación con los ejemplos aquí dados a conocer, se pueden realizar como equipos electrónicos, programas informáticos o sus combinaciones. Para ilustrar, de forma clara, esta intercambiabilidad de equipos físicos y de programas informáticos, se han descrito, con anterioridad, componentes, bloques, módulos, circuitos, métodos y algoritmos, generalmente en términos de su funcionalidad. Si dicha funcionalidad se realiza como equipos físicos o programas informáticos dependerá de la aplicación particular y de las limitaciones de diseño impuestas sobre el sistema global. Los expertos podrán realizar la funcionalidad descrita en diversas maneras para dicha aplicación particular pero dichas decisiones de realización no deben interpretarse como que causan una desviación respecto al alcance de protección de la presente invención.
Los diversos bloques lógicos, módulos y circuitos ilustrativos, descritos en relación con las realizaciones ejemplos aquí dadas a conocer, se pueden realizar o poner en práctica con un procesador de uso general, un procesador de señal digital (DSP), un circuito integrado específico de aplicación (ASIC), un array de puertas programables de campo (FPGA)u otro dispositivo lógico programable, puerta discreta o lógica de transistores, componentes de equipos físicos discretos o cualquiera de sus combinaciones concebidas para realizar las funciones descritas en la presente. Un procesador de uso general puede ser un microprocesador pero como alternativa, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador o máquina de estados. Además, un procesador se puede realizar con una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en conjunción con un núcleo de DSP o cualquier otra de dichas configuraciones.
Los métodos o algoritmos descritos en relación con los ejemplos dados a conocer se pueden materializar directamente en equipos físicos, en un módulo de programas informáticos ejecutados por un procesador o en una combinación de ambas realizaciones. Un módulo de programas informáticos puede residir en memoria RAM, memoria instantánea (Flash), memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco extraíble, una memoria CD-ROM o cualquier otra forma de medio de almacenamiento conocido en esta técnica. Un medio de almacenamiento se puede acoplar al procesador, de modo que el procesador pueda leer información desde, y escribir información en, el medio de almacenamiento. En la alternativa, el medio de almacenamiento puede ser integrar con el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC.
Claims (24)
- REIVINDICACIONES1.-Un aparato, que comprende:Una unidad de memorización (256) configurada para almacenar paquetes de datos y un primer controlador(254) configurado para comparar un número de paquetes almacenados en la unidad de memorización para un primer umbral de envolvente de tiempo de compresión y un primer umbral de envolvente de tiempo de expansión para la unidad de memorización, estando, además, el primer controlador adaptado para generar una señal de control de envolvente de tiempo que indica la compresión si el número de paquetes memorizados es superior al primer umbral de envolvente de tiempo de compresión y para generar una señal de control de envolvente de tiempo que indica la expansión si el número de paquetes memorizados es superior al primer umbral de envolvente de tiempo de expansión, en donde el primer controlador está configurado para identificar el inicio y el final de una ráfaga de voz, en donde el primer controlador está configurado para identificar una parte final de la ráfaga de voz (510) y comprimir al menos un paquete en la parte final de la ráfaga de voz.
- 2.-El aparato según la reivindicación 1, en donde el primer controlador está adaptado, además, para comparar el número de paquetes memorizados para un conjunto de umbrales de envolventes de tiempo de compresión y un conjunto de umbrales de envolvente de tiempo de expansión en donde cada uno del conjunto de umbrales de envolvente de tiempo de compresión y cada uno del conjunto de umbrales de envolvente de tiempo de expansión corresponden a porcentajes únicos de un retardo objetivo para la unidad de memorización.
- 3.-El aparato según la reivindicación 1, en donde el primer controlador está configurado, además, para generar la señal de control de envolvente de tiempo para expansión si se recibe un siguiente paquete secuencial después de un tiempo de reproducción previsto para el siguiente paquete secuencial.
- 4.-El aparato según la reivindicación 3, en donde el primer controlador está configurado, además, para promediar un estado de la unidad de memorización a través de una ventana temporal, antes de comparar el número de paquetes memorizados con los umbrales de envolvente de tiempo.
- 5.-El aparato según la reivindicación 4, en donde el primer controlador está configurado, además, para filtrar el número de paquetes memorizados en la unidad de memorización a través de una ventana temporal.
- 6.-El aparato según la reivindicación 5, en donde el primer controlador está configurado, además, para determinar una duración objetivo del retardo y determinar la ventana temporal como una función de la duración del retardo objetivo.
- 7.-El aparato según la reivindicación 6, en donde el primer controlador está configurado, además, para determinar la duración del retardo objetivo como un número objetivo de paquetes a memorizar en la unidad de memorización.
- 8.-El aparato según la reivindicación 4, en donde el primer controlador está configurado, además, para comparar un número medio de paquetes memorizados en la unidad de memorización con los umbrales de la envolvente de tiempo.
- 9.-El aparato según la reivindicación 1, en donde el primer controlador está configurado, además, para generar la señal de control de envolvente de tiempo que es una señal de control multiestado.
- 10.-El aparato según la reivindicación 9, en donde el primer controlador está configurado, además, para determinar una duración de retardo objetivo para la unidad de memorización, en donde la unidad de memorización es una memoria temporal supresora de fluctuación en los retardos adaptativa y en donde la duración objetivo del retardo es un retardo de memoria temporal supresora de fluctuación en los retardos objetivo.
- 11.-El aparato según la reivindicación 1, en donde el primer controlador está adaptado, además, para iniciar la compresión de al menos un paquete cuando un número de paquetes memorizados es superior a la magnitud objetivo del retardo.
- 12.-El aparato según la reivindicación 11, en donde el primer controlador está configurado, además, para mantener una tasa dada de subdesbordamientos debido a paquetes retardados.
- 13. El aparato según la reivindicación 12, en donde el primer controlador está configurado, además, para calcular la duración objetivo del retardo como:Si (PERdelay< TARGET_VALUE) entoncesDEJTTTER_DELAY=DEJITTER_DELAY—CONSTANT; Si(PERdelay>TARGET_VALUE&&PERdelay>=last_PERdelay) EntoncesDEJITTER_DELAY = DEJITTER_DELAY + CONSTANT;Set DEJITTER_DELAY=MAX(MIN_JITTER, DEJITTER_DELAY);y5 DEJITTER DELAY=MIN(MAX_DEJITTER_DELAY),en donde PERdelay es una tasa de subdesbordamientos debido a paquetes retardados, TARGET_VALUE es una tasa objetivo de paquetes retardados, DEJITTER_DELAY es la duración objetivo del retardo de la memoria temporal supresora de la fluctuación en los retardos adaptativa, CONSTANT es un valor predefinido y MAX_JITTER y MIN_JITTER son valores predefinidos que representan, respectivamente, las duraciones objetivo de los retardos máxima10 y mínima.
- 14.-El aparato según la reivindicación 13, en donde el primer controlador está configurado, además, para calcular el valor PERdelay de:PERdelay = PER_CONSTANT x PERdelay + (1 — PER_CONSTANT) x Current_PERdelayen donde PER_CONSTANT es la constante de tiempo para el filtro utilizado para la estimación de PERdelay.15 15.-El aparato según la reivindicación 14, en donde el primer controlador comprende:una unidad de cálculo de errores de paquetes configurada para calcular el Current_PERdelay como una tasa depaquetes retardados, en donde los paquetes retardados se reciben después de un tiempo de reproducción previsto y endonde se calcula el Current_PERdelay.
- 16.-El aparato según la reivindicación 15, en donde la unidad de cálculo de errores de paquetes está20 configurad para calcular el Current_PERdelay como una relación de paquetes retardados a paquetes totales recibidos, incluyendo los paquetes retardados, medida desde una última actualización de PERdelay a una actualización actual y calculada como:
imagen1 - 17.-El aparato según la reivindicación 16, en donde el primer controlador está configurado para identificar 25 una primera parte de paquetes recibidos, en donde la primera parte corresponde a una ráfaga de voz y en donde la ráfaga de voz comprende una pluralidad de paquetes secuenciales.
- 18.-El aparato según la reivindicación 17, en donde el primer controlador está configurado para identificar la primera parte codificando esa primera parte.
- 19.-El aparato según la reivindicación 18, en donde el primer controlador está configurado para determinar un 30 tiempo de reproducción previsto para un primer paquete de la ráfaga de voz y para iniciar la reproducción del primer paquete de la ráfaga de voz antes del tiempo de reproducción previsto.
- 20.-El aparato según la reivindicación 19, estando el primer controlador configurado, además, para iniciar la expansión de posteriores paquetes después de la reproducción del primer paquete.
- 21.-El aparato según la reivindicación 11, en donde el primer controlador está configurado para identificar 35 la parte final de la ráfaga de voz mediante una tasa de codificación de paquetes recibidos.
- 22.-El aparato según la reivindicación 21, en donde el primer controlador está configurado para identificar la parte final de la ráfaga de voz mediante un indicador de silencio.
- 23.-El aparato según la reivindicación 22, en donde el primer controlador está configurado para identificar la parte final de la ráfaga de voz mediante un indicador de final de ráfaga de voz.40 24.-Un método para procesar datos en paquetes, que comprende:almacenar paquetes de datos en una unidad de memorización;determinar una duración objetivo del retardo (100) para la unidad de memorización;evaluar un estado de la unidad de memorización con respecto a la duración objetivo del retardo, en donde el estado de la unidad de memorización es una medida de los datos almacenados en dicha unidad de memorización; iniciar una envolvente de tiempo de al menos un paquete desde la unidad de memorización si el estado de la memorización viola la duración objetivo del retardo; 5 identificar el inicio y el final de una ráfaga de voz; identificar una parte final de la ráfaga de voz (510) y comprimir al menos un paquete en la parte final de la ráfaga de voz. 25.-El método según la reivindicación 24, que comprende: calcular la duración objetivo del retardo como: 10 Si (PERdelay< TARGET_VALUE)(102) entonces DEJITTER_DELAY=DEJITTER_DELAY—CONSTANT(104); Si (PERdelay>TARGET_VALUE&&PERdelay>last_PERdelay)(103) entonces DEJITTER_DELAY=DEJITTER_DELAY+CONSTANT(108); Set DEJITTER_DELAY=MAX(MIN_JITTER,DEJITTER_DELAY)(110); 15 y DEJITTER_DELAY=MIN(MAX_JITTER,DEJITTER_DELAY)(112),en donde PERdelay es una tasa de subdesbordamientos debido a paquetes retardados, TARGET_VALUE es una tasa objetivo de paquetes retardados, el DEJITTER_DELAY es la duración objetivo del retardo de la memoria temporal supresora de fluctuación en retardos adaptativa, CONSTANT es un valor predefinido y MAX_JITTER y20 MIN_JITTER son valores predefinidos, que corresponden, respectivamente, a las duraciones objetivo del retardo máxima y mínima. 26.-El método según la reivindicación 25, que comprende: generar una señal de control de envolvente de tiempo; recibir una pluralidad de paquetes secuenciales y 25 añadir-solapar segmentos en respuesta a la señal de control de envolvente de tiempo. 27.-El método según la reivindicación 26, en donde la operación de añadir-solapar comprende: combinar al menos dos de la pluralidad de segmentos como:
imagen1 en donde OutSegment es un segmento añadido-solapado resultante, Segment1 y Segment2 son los segmentos 30 a añadirse-solaparse, WindowSize corresponde a un primer segmento y RWindowSize corresponde a un segundo segmento. 28.-El método según la reivindicación 27, en donde la operación de añadir-solapar comprende además: identificar un aparte de correlación máxima entre el primer segmento y el segundo segmento. 29.-El método según la reivindicación 28, en donde identificar la parte de correlación máxima entre el primer 35 segmento y el segundo segmento comprende, además: identificar la parte de correlación máxima calculando la correlación máxima como:32imagen1 en donde x representa el primer segmento, y representa el segundo segmento de voz, m representa la ventana de correlación, i es una valor de índice y d representa la parte de correlación. 30.-El método según la reivindicación 24, que comprende, además: establecer una envolvente de tiempo de una pluralidad de paquetes secuenciales; inhibir la envolvente de tiempo para al menos un paquete secuencial, en donde el al menos un paquetesecuencial es posterior a la pluralidad de paquetes secuenciales yhabilitar la envolvente de tiempo subsiguiente a ese al menos un paquete secuencial. - 31.-El método según la reivindicación 24, que comprende, además:calcular una tasa de envolvente de tiempo, en donde la tasa de envolvente de tiempo es un número depaquetes en el envolvente de tiempo a través de una ventana temporal yiniciar la envolvente de tiempo de paquetes como una función de la tasa de envolvente de tiempo.
- 32.-Un medio de almacenamiento legible por ordenador que contiene un conjunto de instrucciones, cuyoconjunto de instrucciones comprende:una rutina de entrada para almacenar paquetes de datos en una unidad de memorización;una rutina del cálculo de la duración objetivo del retardo para determinar una duración objetiva delretardo para la unidad de memorización;una primera rutina para evaluar un estado de la unidad de memorización con respecto a la duración objetivo del retardo, en donde el estado de la unidad de memorización es una medida de los datos almacenados en esa unidad de memorización;una segunda rutina que inicia la envolvente de tiempo de al menos un paquete desde la unidad dememorización si el estado de la memorización viola la duración objetivo del retardo;identificar el inicio y el final de una ráfaga de voz;identificar una parte final de la ráfaga de voz (510) ycomprimir al menos un paquete en la parte final de la ráfaga de voz.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60603604P | 2004-08-30 | 2004-08-30 | |
US606036P | 2004-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2355039T3 true ES2355039T3 (es) | 2011-03-22 |
Family
ID=35700421
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES05794150T Active ES2355039T3 (es) | 2004-08-30 | 2005-08-30 | Método y aparato destinados a una memoria temporal supresora de fluctuación en retardos adaptativa. |
ES10154331T Active ES2405750T3 (es) | 2004-08-30 | 2005-08-30 | Procedimiento y aparato de memoria intermedia de supresión de fluctuación adaptativa |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10154331T Active ES2405750T3 (es) | 2004-08-30 | 2005-08-30 | Procedimiento y aparato de memoria intermedia de supresión de fluctuación adaptativa |
Country Status (17)
Country | Link |
---|---|
US (4) | US7830900B2 (es) |
EP (4) | EP2189978A1 (es) |
JP (4) | JP2008512062A (es) |
KR (4) | KR100938034B1 (es) |
CN (5) | CN102779517A (es) |
AT (1) | ATE488838T1 (es) |
BR (1) | BRPI0514801B1 (es) |
CA (4) | CA2691762C (es) |
DE (1) | DE602005024825D1 (es) |
DK (1) | DK2200024T3 (es) |
ES (2) | ES2355039T3 (es) |
MX (1) | MX2007002483A (es) |
MY (1) | MY149811A (es) |
PL (2) | PL1787290T3 (es) |
PT (1) | PT2200024E (es) |
TW (1) | TWI454101B (es) |
WO (1) | WO2006026635A2 (es) |
Families Citing this family (161)
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 |
EP2189978A1 (en) * | 2004-08-30 | 2010-05-26 | QUALCOMM Incorporated | Adaptive De-Jitter Buffer for voice over IP |
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 |
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 |
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 |
JP4640824B2 (ja) * | 2006-01-30 | 2011-03-02 | 富士通株式会社 | 通信環境の測定方法、受信装置、及びコンピュータプログラム |
JP4573780B2 (ja) * | 2006-02-02 | 2010-11-04 | 富士通株式会社 | パケット記録再生装置 |
US20070201656A1 (en) * | 2006-02-07 | 2007-08-30 | Nokia Corporation | Time-scaling an audio signal |
US20070186146A1 (en) * | 2006-02-07 | 2007-08-09 | Nokia Corporation | Time-scaling an audio signal |
US8832540B2 (en) | 2006-02-07 | 2014-09-09 | Nokia Corporation | Controlling a time-scaling of 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 |
CN101366080B (zh) * | 2006-08-15 | 2011-10-19 | 美国博通公司 | 一种更新解码器的状态的方法和*** |
WO2008022207A2 (en) * | 2006-08-15 | 2008-02-21 | Broadcom Corporation | Time-warping of decoded audio signal after packet loss |
US7573907B2 (en) * | 2006-08-22 | 2009-08-11 | Nokia Corporation | Discontinuous transmission of speech signals |
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 |
EP1892917B1 (en) * | 2006-08-24 | 2009-02-25 | NTT DoCoMo, Inc. | Method and apparatus for seamless 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 |
US8732315B2 (en) | 2006-10-16 | 2014-05-20 | Marvell International Ltd. | Automatic ad-hoc network creation and coalescing using WiFi protected setup |
US8274945B2 (en) * | 2006-10-16 | 2012-09-25 | Qualcomm Incorporated | Method and apparatus for time-warping packets at the sender side |
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 |
US8817740B2 (en) * | 2006-10-31 | 2014-08-26 | Motorola Mobility Llc | Methods and devices of a queue controller for dual mode bidirectional audio communication |
US8792945B2 (en) * | 2006-10-31 | 2014-07-29 | Motorola Mobility Llc | Methods and devices 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 |
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 |
US7961756B1 (en) | 2006-11-21 | 2011-06-14 | Picomobile Networks, Inc. | Integrated multimedia system |
EP2092679A4 (en) * | 2006-12-06 | 2011-10-26 | Ericsson Telefon Ab L M | MEMORY CONTROL BUFFER TRIGGER |
US8111720B2 (en) * | 2007-01-09 | 2012-02-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus to indicate maximum scheduling delay for jitter buffer implementations |
EP2109982B1 (en) * | 2007-01-10 | 2018-08-08 | Qualcomm Incorporated | Content- and link-dependent coding adaptation for multimedia telephony |
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 |
ES2391228T3 (es) | 2007-02-26 | 2012-11-22 | Dolby Laboratories Licensing Corporation | Realce de voz en audio de entretenimiento |
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 |
WO2009006585A1 (en) * | 2007-07-03 | 2009-01-08 | Marvell Semiconductor, Inc. | Location aware ad-hoc gaming |
US8401865B2 (en) * | 2007-07-18 | 2013-03-19 | 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 |
CN101796879B (zh) * | 2007-08-24 | 2012-07-11 | 上海贝尔股份有限公司 | 用于调度资源的方法、网络单元和用户设备 |
KR101418354B1 (ko) * | 2007-10-23 | 2014-07-10 | 삼성전자주식회사 | 음성 통신 시스템에서 플레이아웃 스케줄링 방법 및 장치 |
US8619711B2 (en) * | 2007-12-27 | 2013-12-31 | Kyocera Corporation | Wireless communication apparatus |
US8797850B2 (en) * | 2008-01-10 | 2014-08-05 | Qualcomm Incorporated | System and method to adapt to network congestion |
WO2009093945A1 (en) * | 2008-01-25 | 2009-07-30 | Telefonaktiebolaget Lm Ericsson (Publ) | A simple adaptive jitter buffering algorithm for network nodes |
US8532062B2 (en) * | 2008-02-27 | 2013-09-10 | Kyocera Corporation | Wireless communication apparatus |
WO2009111233A1 (en) | 2008-03-04 | 2009-09-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 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
EP2289065B1 (en) * | 2008-06-10 | 2011-12-07 | 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 |
JP5064564B2 (ja) * | 2008-08-28 | 2012-10-31 | 京セラ株式会社 | 無線端末及び通信端末 |
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 |
US9116749B2 (en) * | 2010-04-05 | 2015-08-25 | Futurewei Technologies, Inc. | Method for dynamic on demand startup of a process or resource |
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 |
US9264872B2 (en) | 2011-06-20 | 2016-02-16 | At&T Intellectual Property I, L.P. | Controlling traffic transmissions to manage cellular radio resource utilization |
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 |
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 |
CN107978325B (zh) * | 2012-03-23 | 2022-01-11 | 杜比实验室特许公司 | 语音通信方法和设备、操作抖动缓冲器的方法和设备 |
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 |
PT3011692T (pt) | 2013-06-21 | 2017-09-22 | Fraunhofer Ges Forschung | Controlo jitter buffer, descodificador de áudio, método e programa de computador |
JP6317436B2 (ja) | 2013-06-21 | 2018-04-25 | フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. | 時間スケーラ、オーディオデコーダ、方法および品質制御を用いるコンピュータプログラム |
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 |
US10129800B2 (en) | 2014-03-26 | 2018-11-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and equipment for management of playback buffers |
CN105207955B (zh) * | 2014-06-30 | 2019-02-05 | 华为技术有限公司 | 数据帧的处理方法和装置 |
US9712287B2 (en) * | 2014-07-31 | 2017-07-18 | Qualcomm Incorporated | System and method of redundancy based packet transmission error recovery |
CN107113283B (zh) * | 2014-10-02 | 2020-06-09 | Jacoti有限公司 | 在低延迟多媒体流式传输环境中处理有问题的模式的方法 |
KR101600284B1 (ko) | 2014-10-17 | 2016-03-07 | 주식회사 이노와이어리스 | 영상 품질 측정 방법 |
CN104410587A (zh) * | 2014-11-13 | 2015-03-11 | 京信通信***(中国)有限公司 | 一种接收缓冲区容量控制方法及装置 |
US9998386B2 (en) * | 2015-05-21 | 2018-06-12 | At&T Mobility Ii Llc | Facilitation of adaptive dejitter buffer |
US9826445B2 (en) | 2015-05-21 | 2017-11-21 | At&T Mobility Ii Llc | Facilitation of adaptive dejitter buffer between mobile devices |
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 | 삼성전자주식회사 | 재생 지연 조절 방법 및 이를 적용한 전자 장치 |
CN106656649B (zh) * | 2016-09-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种实时通话过程中基于测速的通道切换方法、客户端与服务器 |
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 |
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 |
US10812216B2 (en) | 2018-11-05 | 2020-10-20 | XCOM Labs, Inc. | Cooperative multiple-input multiple-output downlink scheduling |
US10432272B1 (en) | 2018-11-05 | 2019-10-01 | XCOM Labs, Inc. | Variable multiple-input multiple-output downlink user equipment |
CA3119325C (en) | 2018-11-27 | 2023-07-04 | XCOM Labs, Inc. | Non-coherent cooperative multiple-input multiple-output communications |
WO2020122782A1 (en) * | 2018-12-12 | 2020-06-18 | 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 |
WO2020217605A1 (ja) * | 2019-04-23 | 2020-10-29 | 株式会社ソシオネクスト | 音声処理装置 |
US10686502B1 (en) | 2019-04-29 | 2020-06-16 | XCOM Labs, Inc. | Downlink user equipment selection |
US10735057B1 (en) | 2019-04-29 | 2020-08-04 | XCOM Labs, Inc. | Uplink 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 |
US11889128B2 (en) | 2021-01-05 | 2024-01-30 | Qualcomm Incorporated | Call audio playback speed adjustment |
WO2022183431A1 (zh) * | 2021-03-04 | 2022-09-09 | 华为技术有限公司 | 数据处理方法和设备 |
US20240089210A1 (en) * | 2021-03-30 | 2024-03-14 | 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 |
US20230283390A1 (en) * | 2022-02-28 | 2023-09-07 | Arris Enterprises Llc | Method of measuring timing holdover performance in an r-phy system |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US89003A (en) * | 1869-04-20 | Improved railway-carriage wheel | ||
US243846A (en) * | 1881-07-05 | David buick | ||
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 (es) | 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 | 可変速度パケット伝送方式 |
JPH05502539A (ja) | 1990-09-19 | 1993-04-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 主データファイル及び制御ファイルが記録された記録担体、その記録方法及び装置、及びその読取装置 |
JP2846443B2 (ja) | 1990-10-09 | 1999-01-13 | 三菱電機株式会社 | パケット組立分解装置 |
JPH04331529A (ja) * | 1991-05-07 | 1992-11-19 | Fujitsu Ltd | ゆらぎ吸収バッファの制御装置 |
CA2483322C (en) | 1991-06-11 | 2008-09-23 | Qualcomm Incorporated | Error masking in a variable rate vocoder |
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 |
WO1996005697A1 (en) * | 1994-08-12 | 1996-02-22 | Sony Corporation | Video signal editing device |
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 | 김광호 | 프로그램 가이드신호 수신기 |
EP0852052B1 (en) | 1995-09-14 | 2001-06-13 | Ericsson Inc. | System for adaptively filtering audio signals to enhance speech intelligibility in noisy environmental conditions |
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 | 音声パケット受信装置及び方法 |
AU6519399A (en) | 1998-10-21 | 2000-05-08 | Tiernan Communications, Inc. | Method and apparatus for de-jittering asynchronous data transfer delay |
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 |
US6311154B1 (en) * | 1998-12-30 | 2001-10-30 | Nokia Mobile Phones Limited | Adaptive windows for analysis-by-synthesis CELP-type speech coding |
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 |
EP1088302B1 (en) | 1999-04-19 | 2008-07-23 | AT & T Corp. | Method for performing packet loss 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 |
JP4218186B2 (ja) * | 1999-05-25 | 2009-02-04 | パナソニック株式会社 | 音声伝送装置 |
US6785230B1 (en) * | 1999-05-25 | 2004-08-31 | Matsushita Electric Industrial Co., Ltd. | Audio transmission apparatus |
JP3506960B2 (ja) * | 1999-08-03 | 2004-03-15 | シャープ株式会社 | パケット処理装置及びパケット処理プログラムを記録した記憶媒体 |
JP4895418B2 (ja) | 1999-08-24 | 2012-03-14 | ソニー株式会社 | 音声再生方法および音声再生装置 |
JP4005359B2 (ja) | 1999-09-14 | 2007-11-07 | 富士通株式会社 | 音声符号化及び音声復号化装置 |
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 |
US6496794B1 (en) | 1999-11-22 | 2002-12-17 | Motorola, Inc. | Method and apparatus for seamless multi-rate speech coding |
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 |
ATE382224T1 (de) | 2000-04-03 | 2008-01-15 | Ericsson Inc | Verfahren und vorrichtung zum effizienten weiterreichen in datenpaketkommunikationssystemen |
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 |
WO2001082293A1 (en) | 2000-04-24 | 2001-11-01 | Qualcomm Incorporated | Method and apparatus for predictively quantizing voiced speech |
US6584438B1 (en) | 2000-04-24 | 2003-06-24 | Qualcomm Incorporated | Frame erasure compensation method in a variable rate speech coder |
US7246057B1 (en) * | 2000-05-31 | 2007-07-17 | Telefonaktiebolaget Lm Ericsson (Publ) | System for handling variations in the reception of a speech signal consisting of packets |
US7016970B2 (en) * | 2000-07-06 | 2006-03-21 | Matsushita Electric Industrial Co., Ltd. | System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client |
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 |
EP1382143B1 (en) | 2001-04-24 | 2007-02-07 | Nokia Corporation | Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder |
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 |
US7394833B2 (en) * | 2003-02-11 | 2008-07-01 | Nokia Corporation | Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification |
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 | データ通信装置及びデータ通信方法 |
CA2536358C (en) | 2003-08-15 | 2011-09-27 | 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株式会社 | 通信端末装置およびバッファ制御方法 |
EP2189978A1 (en) * | 2004-08-30 | 2010-05-26 | QUALCOMM Incorporated | Adaptive De-Jitter Buffer for voice over IP |
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 |
CA2603246C (en) * | 2005-04-01 | 2012-07-17 | Qualcomm Incorporated | Systems, methods, and apparatus for anti-sparseness filtering |
-
2005
- 2005-08-30 EP EP10154337A patent/EP2189978A1/en not_active Withdrawn
- 2005-08-30 DE DE602005024825T patent/DE602005024825D1/de active Active
- 2005-08-30 CN CN2012102366244A patent/CN102779517A/zh active Pending
- 2005-08-30 EP EP10154331A patent/EP2200024B1/en active Active
- 2005-08-30 KR KR1020097002284A patent/KR100938034B1/ko active IP Right Grant
- 2005-08-30 WO PCT/US2005/030894 patent/WO2006026635A2/en active Application Filing
- 2005-08-30 BR BRPI0514801-4A patent/BRPI0514801B1/pt active IP Right Grant
- 2005-08-30 EP EP05794150A patent/EP1787290B1/en active Active
- 2005-08-30 CA CA2691762A patent/CA2691762C/en active Active
- 2005-08-30 KR KR1020077007479A patent/KR100938032B1/ko active IP Right Grant
- 2005-08-30 CA CA2691959A patent/CA2691959C/en active Active
- 2005-08-30 PL PL05794150T patent/PL1787290T3/pl unknown
- 2005-08-30 CN CN2010102036527A patent/CN101873267B/zh active Active
- 2005-08-30 US US11/215,931 patent/US7830900B2/en active Active
- 2005-08-30 CA CA2578737A patent/CA2578737C/en active Active
- 2005-08-30 MX MX2007002483A patent/MX2007002483A/es active IP Right Grant
- 2005-08-30 ES ES05794150T patent/ES2355039T3/es active Active
- 2005-08-30 US US11/216,872 patent/US8331385B2/en active Active
- 2005-08-30 US US11/216,799 patent/US7826441B2/en active Active
- 2005-08-30 DK DK10154331.2T patent/DK2200024T3/da active
- 2005-08-30 CN CN201010202729.9A patent/CN101873266B/zh active Active
- 2005-08-30 TW TW094129711A patent/TWI454101B/zh active
- 2005-08-30 US US11/216,601 patent/US7817677B2/en active Active
- 2005-08-30 PL PL10154331T patent/PL2200024T3/pl unknown
- 2005-08-30 AT AT05794150T patent/ATE488838T1/de not_active IP Right Cessation
- 2005-08-30 CN CN2005800366303A patent/CN101048813B/zh active Active
- 2005-08-30 ES ES10154331T patent/ES2405750T3/es active Active
- 2005-08-30 MY MYPI20054077A patent/MY149811A/en unknown
- 2005-08-30 PT PT101543312T patent/PT2200024E/pt unknown
- 2005-08-30 KR KR1020097002285A patent/KR100964437B1/ko active IP Right Grant
- 2005-08-30 KR KR1020097002283A patent/KR100964436B1/ko active IP Right Grant
- 2005-08-30 EP EP10154334.6A patent/EP2204796B1/en active Active
- 2005-08-30 JP JP2007530289A patent/JP2008512062A/ja not_active Withdrawn
- 2005-08-30 CA CA2691589A patent/CA2691589A1/en not_active Abandoned
- 2005-08-30 CN CN201010203619A patent/CN101867522A/zh active Pending
-
2009
- 2009-10-26 JP JP2009245217A patent/JP4933605B2/ja active Active
-
2010
- 2010-05-12 JP JP2010110176A patent/JP5389729B2/ja active Active
-
2012
- 2012-10-05 JP JP2012223579A patent/JP5591897B2/ja active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2355039T3 (es) | Método y aparato destinados a una memoria temporal supresora de fluctuación en retardos adaptativa. | |
ES2378491T3 (es) | Procedimiento y aparato para modificar una sincronización de reproducción de ráfagas de voz en una frase sin afectar a la inteligibilidad | |
TW200849842A (en) | Method of regulating the transmission jitter within a reception terminal | |
JP2006094499A (ja) | VoIPネットワーク・アプリケーションで遅れて到着するパケットに対応する音声了解度を高める方法および装置 |