ES2452365T3 - Un algoritmo simple de puesta en memoria intermedia de fluctuación de fase adaptable para nodos de red - Google Patents
Un algoritmo simple de puesta en memoria intermedia de fluctuación de fase adaptable para nodos de red Download PDFInfo
- Publication number
- ES2452365T3 ES2452365T3 ES08705362.5T ES08705362T ES2452365T3 ES 2452365 T3 ES2452365 T3 ES 2452365T3 ES 08705362 T ES08705362 T ES 08705362T ES 2452365 T3 ES2452365 T3 ES 2452365T3
- Authority
- ES
- Spain
- Prior art keywords
- tjit
- buffer
- jitter buffer
- phase jitter
- packets
- 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
Classifications
-
- 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/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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un método, en un nudo de red, que comprende una memoria intermedia de fluctuación de fase adaptable, deajuste dinámico del retardo de la memoria intermedia de dicha memoria intermedia de fluctuación de fase adaptablecuando recibe paquetes de flujo de medios de un flujo de medios procedente de una red de paquetes conmutados,en donde dicho método comprende los siguientes pasos: - insertar (3:3) los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase, - adaptar iterativamente (B) la memoria intermedia de fluctuación de fase en un intervalo, Trepin, cuando dichoflujo de medios está en una emisión de medios o de palabras, de modo que un tiempo de protección defluctuación de fase, Tjit se actualiza sobre la base de la variación, Nmax-Nmin del número de paquetes, N,pendientes en la memoria intermedia de fluctuación de fase, en donde Tjit es un valor objetivo actual del retardode puesta en memoria intermedia máximo de dicha memoria intermedia de fluctuación de fase, en donde cadaiteración es ejecutada: - actualizando (5:5, 5:7) un valor mínimo, Nmin, y un valor máximo, Nmax, de N, en donde N es monitorizado en unintervalo de monitorización, ADAPT_INT, ADAPT_INT, que define un número de iteraciones predeterminado, - calculando (5:8) un nuevo valor objetivo, Tj, sobre la base de la variación de N, en donde Tj es un indicador de laadaptación requerida de Tjit, de modo que: Tj >= (Nmax - Nmin) * Trepiny - ajustando (5:15, 5:16) Tjit con el valor Tj en el caso de que el número de iteraciones desde el último ajuste de Tjitsea igual a ADAPT_INT.
Description
Un algoritmo simple de puesta en memoria intermedia de fluctuación de fase adaptable para nodos de red
Campo técnico
La presente invención se refiere generalmente a un método simple de adaptación del retardo de una memoria 5 intermedia de fluctuación de fase de acuerdo con la variación del número de paquetes pendientes en la memoria intermedia.
Cuando un flujo de medios en un servicio de medios, tal como por ejemplo un servicio telefónico, es recibido por un nodo de red, tal como por ejemplo una pasarela de medios, procedente de una interfaz en la que el retardo del
10 transporte tiende a variar en un amplio intervalo, se requerirá una memoria intermedia de fluctuación de fase en la entrada del nodo de red con el fin de garantizar una velocidad continua y constante de la restitución procedente del nodo de red hacia otra interfaz, lo que puede requerir una variación muy limitada en la temporización de la salida.
Los principios generales de puesta en memoria intermedia de fluctuación de fase en un nodo de red están descritos con referencia a la figura 1. Se ha de entender que solamente se muestran en la figura las partes que son esenciales
15 para la comprensión de la puesta en memoria intermedia de fluctuación de fase, en tanto que otras partes necesarias para las funciones de procesamiento de la voz, tales como los codificadores y decodificadores del habla, han sido omitidas por motivos de simplificación. Por los mismos motivos, la figura solamente describe cómo se ejecuta la transmisión de medios en una dirección, es decir en el enlace ascendente, y se omite la transmisión en el enlace descendente, lo que completa una conversación bidireccional.
20 En la figura 1, una fuente de voz 100, que está configurada para entregar datos en tiempo real en un flujo de medios, a uno o más usuarios, genera paquetes con un intervalo de tiempo constante, Trepin 102. A medida que los paquetes son encaminados a través de una red 101 de paquetes conmutados, en el flujo de medios se introducirá un retardo de transporte que no es constante. En la figura este fenómeno, denominado fluctuación de fase, está ilustrado como paquetes, que abandonan la red 101 a intervalos irregulares 103. Como varios paquetes pueden
25 llegar a un nodo intermedio 104 de la red a intervalos de tiempo muy cortos, esto es en ráfagas, seguidos por un intervalo de tiempo en el que no llega paquete alguno, puede ser muy difícil de predecir y tratar el patrón con el que los paquetes llegan al nodo de red.
Una forma común de mantener controlada la fluctuación de fase es poner en práctica una memoria intermedia 105 de fluctuación de fase en el nodo de red intermedio 104. Además del retardo de transporte, causado por la red, la 30 memoria intermedia 105 de fluctuación de fase introducirá otro retardo que puede ser identificado como un tiempo Tjit 106 de protección de la fluctuación de fase, a medida que los paquetes llegan al nodo de red son puestos en memoria intermedia 107 en la memoria intermedia de fluctuación de fase antes de que sean restituidos 108 procedentes del nodo de red con un intervalo constante recuperado, Trepout 109, que es equivalente al Trepin. Los paquetes pueden ahora ser reenviados a una o más entidades terminales (no mostradas) por medio de otra red de
35 transporte 110, típicamente una red de circuitos conmutados, que no tolera la fluctuación de fase.
Si Tjit 106 es una constante prefijada, la puesta en memoria intermedia de fluctuación de fase se denomina puesta en memoria intermedia estática, y de este modo, todos los paquetes puestos en memoria intermedia experimentarán el mismo retardo de puesta en memoria intermedia de fluctuación de fase. Si por otra parte se permite a Tjit cambiar sobre la base de algún tipo de análisis del comportamiento del retardo en la entrada del nodo de red, el método de
40 puesta en memoria intermedia se denomina en cambio una puesta en memoria intermedia de fluctuación de fase adaptable.
Con el fin de evitar retardos más largos de lo absolutamente necesario, se prefiere la puesta en memoria intermedia de fluctuación de fase adaptable a la puesta en memoria intermedia estática. Con el fin de operar apropiadamente, una memoria intermedia de fluctuación de fase que permite una puesta en memoria intermedia estática tiene que ser
45 dimensionada para el peor caso de variación del retardo, y de este modo, el retardo causado por la puesta en memoria intermedia estática será típicamente mucho mayor que el requerido para la puesta en memoria intermedia dinámica, especialmente cuando el peor caso es relativamente poco frecuente.
Los algoritmos de puesta en memoria intermedia de fluctuación de fase adaptables están desarrollados usualmente para recibir extremos de terminales o de clientes, que típicamente están asignados a un único usuario final. No
50 obstante, en los nodos de red una unidad de procesamiento es típicamente compartida por decenas o incluso centenas de usuarios concurrentes, o de casos de flujos. En tal situación, la simplicidad del algoritmo de puesta en memoria intermedia será un asunto vital, con el fin de que el operador mantenga bajos los costes del procesamiento por canal.
Cuando se dimensionan memorias intermedias de la red, usualmente ay un compromiso entre la simplicidad y la
55 calidad perceptible que tiene que ser tenido en consideración. Esto significa que el algoritmo de puesta en memoria intermedia aplicado en un nodo de red debería ser lo más sencillo posible, pero lo suficientemente bueno en calidad, sin que la calidad tenga que alcanzar el nivel de calidad que es necesario en un típico terminal de usuario final. Una restitución escalonable requiere una función más bien compleja en los nodos de red, en comparación con la que es requerida en los terminales de usuario final. En nodos de red, la aceleración, o la igualación, es usualmente hecha mediante el salto de paquetes, o tramas, en tanto que el retardamiento se realiza insertando tramas, es decir paquetes de ocultación de errores.
En el documento EP 1.146.678 A1, se describe una memoria intermedia de fluctuación de fase autoadaptable y un método para poner en memoria intermedia un flujo de datos en su recepción. El método es ejecutado por un receptor. El flujo de datos es enviado por un emisor y transferido en una red sin conexiones en paquetes encapsulados en tramas. El método de puesta en memoria intermedia comprende los pasos de almacenar los paquetes en una memoria intermedia de un tamaño específico, B-S. Cuando el receptor ha recibido al menos uno de los paquetes, se mide su retardo (fluctuación de fase) y se compara con algún valor predefinido. Dependiendo del resultado de esa comparación, el tamaño B-S de la memoria intermedia será adaptado dinámicamente de un modo tal para optimizar la transferencia de los paquetes de acuerdo con algunos criterios predefinidos.
El documento EP 1.104.958 A2 describe un algoritmo de ajuste de la memoria intermedia de fluctuación de fase. Un controlador de la memoria intermedia de fluctuación de fase permite que la profundidad de la memoria intermedia de fluctuación de fase sea ajustada dinámicamente de acuerdo con la fluctuación de fase variable de la secuencia actual. El controlador de la memoria intermedia de fluctuación de fase mantiene una memoria oculta de valores de fluctuación de fase previos. Esta memoria oculta contiene unos valores promediados exponencialmente que representan el comportamiento a largo plazo de las características específicas de la fluctuación de fase del destino, es decir una memoria característica de fluctuación de fase. Estos valores se usan para iniciar la profundidad de la memoria intermedia de fluctuación de fase. La memoria oculta de fluctuación de fase impide que la profundidad de la memoria intermedia sea iniciada con un valor arbitrario que no tenga en cuenta las características específicas de fluctuación de fase del destino.
El documento US 2007/0064679 A1 describe una gestión de la memoria intermedia de fluctuación de fase en una red basada en paquetes. El método implica la transmisión de paquetes que representan una sesión. Se fijan para la sesión un valor de retardo de fluctuación de fase mínimo y máximo. El valor de retardo de fluctuación de fase mínimo está basado en el tiempo empleado por un algoritmo de detección de tonos para detectar el final de un suceso DTMF, y el valor de retardo de fluctuación de fase máximo está basado en el retardo de la red al que ha sido sometido el primer paquete. Los paquetes transmitidos son restituidos de la memoria intermedia de fluctuación de fase, sobre la base de un criterio predefinido. Los paquetes son restituidos de la memoria intermedia de fluctuación de fase sobre la base de los valores de retardo de fluctuación de fase mínimo y máximo.
DEEPAK SHARMA: “VoP (voz en paquete)”, IEEE POTENTIAL, vol 21, nº 4 se refiere a Voz sobre Paquete, VoP. VoP está asociada con el retardo, lo que causa dos problemas, superposición del eco y superposición del parlante. VoP está también asociada con la fluctuación de fase, una temporización interpaquetes variable causada por la red que atraviesa un paquete. La retirada de la fluctuación de fase requiere recoger paquetes y mantenerlos el tiempo suficiente para permitir que el paquete más lento llegue a tiempo para ser cursado en la secuencia correcta, lo que causa un retardo adicional. La minimización del retardo y la retirada de la fluctuación de fase han generado diversos esquemas para adaptar el tamaño de la memoria intermedia de fluctuación de fase para ajustarse a los requerimientos de variación de tiempo de la retirada de la fluctuación de fase de la red. Esta adaptación tiene el objeto de minimizar el tamaño y el retardo de la memoria intermedia de fluctuación de fase, mientras que al mismo tiempo se impide el flujo bajo de la memoria intermedia causado por la fluctuación de fase. El documento JP 2007
150.914 A describe un dispositivo de la estación base y un método de ajuste del retardo de la memoria intermedia. El dispositivo de la estación base incluye una porción transceptora que recibe paquetes de voz uno por uno, almacena los paquetes de voz recibidos en una memoria intermedia de fluctuación de fase y reproduce los paquetes de voz uno por uno de la memoria intermedia de fluctuación de fase en unos intervalos de tiempo predeterminados, en el orden de almacenamiento en la memoria intermedia de fluctuación de fase, y una porción de ajuste del paquete de almacenamiento que ajusta el almacenamiento en la memoria intermedia de fluctuación de fase en respuesta a la magnitud de las fluctuaciones de fase de la temporización de recepción de cada paquete que va a ser recibido por la porción transceptora y el contenido de los paquetes de voz que van a ser almacenados en la memoria intermedia de fluctuación de fase.
El documento WO 00/42.749 A1 se refiere a una puesta en memoria intermedia de fluctuación de fase adaptable. En un sistema de comunicación por paquetes se determina el tiempo de retardo que se necesita en una memoria intermedia de fluctuación de fase, lo que permite una alimentación de datos uniforme en una aplicación sin excesivos retardos por unos métodos y aparatos que varían el tamaño de la memoria intermedia de fluctuación de fase sobre la base de una variación estimada del retardo en la transmisión de paquetes deducido de los tiempos de llegada de los paquetes almacenados. Una memoria intermedia de variaciones almacena las variaciones de los tiempos de llegada de los paquetes almacenados, y la variación estimada del retardo en la transmisión de paquetes se deduce de las variaciones almacenadas. El tamaño de la memoria intermedia de fluctuación de fase puede cambiar preferiblemente durante períodos de transmisión discontinua de paquetes.
El documento US 2007/0211704 A1 describe un método y un aparato para ajustar dinámicamente el retardo de restitución de las señales de audio, que principalmente incluye tres partes de ajuste dinámico, es decir el retardo de restitución, la longitud del silencio, y el tamaño de la memoria intermedia de fluctuación de fase. El tiempo del retardo de restitución se ajusta en tiempo real de acuerdo con la distribución de probabilidades del número de paquetes puestos en memoria intermedia en una memoria intermedia de fluctuación de fase. Se hace una detección de voz para detectar el silencio dentro de un paquete de voz. Ajustando dinámicamente la longitud del silencio en los paquetes de voz, se reduce el efecto de la variación de la red en la calidad de la voz.
Compendio
El objeto de la presente invención es tratar al menos algunos de los problemas antes esbozados. En particular, es un objeto proporcionar un retardo adaptable de una memoria intermedia de fluctuación de fase que puede ser ajustada de forma adaptable de acuerdo con la variación del número de paquetes pendientes en la memoria intermedia.
De acuerdo con un primer aspecto se proporciona un método de ajuste dinámico del retardo de la memoria intermedia de una memoria intermedia de fluctuación de fase adaptable de un nodo de red que recibe paquetes de un flujo de medios procedente de una red de paquetes conmutados, en donde el método comprende los siguientes pasos:
- -
- insertar los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase, y
- -
- ejecutar un procedimiento de puesta en memoria intermedia de fluctuación de fase una vez cada Trepin, en donde Trepin es igual al intervalo de restitución de la memoria intermedia de fluctuación de fase, en donde un tiempo de protección de la fluctuación de fase, Tjit, que define un valor objetivo actual para el retardo de la puesta en memoria intermedia de fluctuación de fase máximo, que está siendo actualizado sobre la base de la variación del número de paquetes pendientes, es N, en la memoria intermedia de fluctuación de fase.
El procedimiento de puesta en memoria intermedia de fluctuación de fase puede comprender los siguientes pasos iniciales:
- -
- determinar si dicho flujo de medios está actualmente en un período de silencio o si el paquete recibido más recientemente es un paquete de habla o un SID, y
- -
- ejecutar un procedimiento de adaptación para actualizar Tjit durante una emisión de palabras en el caso de que el paquete recibido más recientemente sea un paquete de habla, o
- -
- ejecutar un procedimiento de adaptación para actualizar Tjit durante un período de silencio en el caso de que dicho flujo de medios esté actualmente en un período de silencio o en el caso de que el paquete recibido más recientemente sea un SID.
El procedimiento de adaptación para ajustar Tjit durante una emisión de palabras o una emisión de medios puede comprender los siguientes pasos:
- -
- monitorizar N, con el fin de actualizar el valor mínimo de N, Nmin y el valor máximo de N, Nmax, registrados en un intervalo de adaptación ADAPT_INT, en donde ADAPT_INT define un número predeterminado de iteraciones del procedimiento de adaptación,
- -
- definir un valor objetivo actualizado, Tj de Tjit sobre la base de la variación de N, de modo que:
Tj = (Nmax – Nmin) * Trepin
en donde Tj es un indicador del ajuste requerido de Tij, y
- -
- ajustar Tij en el caso de que el número de iteraciones del procedimiento de adaptación desde el último ajuste de Tij en el que sea igual a ADAPT_INT.
Además, el paso de ajuste puede comprender los siguientes pasos:
- -
- incrementar Tjit de acuerdo con Tij en el caso de que la variación de N sea mayor que la que el Tij actual puede tratar, o
- -
- disminuir Tij de acuerdo con Tj, en el caso de que el Tjit actual esté dimensionado para una variación de N mayor que la variación actual.
Además, el paso de ajuste puede también comprender los siguientes pasos:
- -
- actualizar instantáneamente Tjit para igualar a Tj, mediante la ejecución de un ataque rápido, en el caso de que Tj supere Tjit, o
- -
- disminuir gradualmente Tjit hacia el Tij actual, mediante un deterioro lento, y
- -
- abandonar gradualmente el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tij corresponda a la variación actual de N en el caso de que el tiempo de retardo máximo de la memoria intermedia presente, N*Trepin supere un umbral predeterminado, catchUpLimit.
El catchUpLimit puede ser definido como:
catchUpLimit = Tj + Trepi
en el caso de que Tij no haya sido actualizado y que el Tj actual supere al Tjit actual, o como:
catchUpLimit = Tjit + Trepin
de otro modo.
Si durante un período de silencio, o en el caso de que el paquete recibido más recientemente sea un SID, el procedimiento de adaptación para adaptar Tij puede comprender los siguientes pasos:
- -
- actualizar Tij en el caso de que el número de iteraciones del procedimiento de adaptación durante una emisión de palabras desde la última adaptación de Tij ejecutada por dicho procedimiento supere un límite de adaptación de período de silencio predeterminado, DTXLimit,
- -
- definir un valor objetivo actualizado, Tj para Tjit,
- -
- sobre la base de la variación de N, de modo que:
Tj = (Nmax – Nmin) * Trepin
en donde Tj es un indicador del ajuste requerido de Tjit, en donde Nmax es el valor máximo y Nmin es el valor mínimo de N que han sido medidos en un intervalo de adaptación ADAPT_INT, en donde ADAPT_INT define un número predeterminado de iteraciones del procedimiento de adaptación, e
- -
- incrementar Tjit de acuerdo con Tj en el caso de que la variación de N sea mayor de la que Tjit puede tratar.
El paso de ajuste puede además comprender los siguientes pasos:
- -
- actualizar instantáneamente Tjit para igualar a Tj, mediante la ejecución de un ataque rápido, en caso de que Tj supere a Tjit, y
- -
- abandonar gradualmente el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tij corresponda a la variación actual de N en el caso de que el tiempo de retardo máximo de la memoria intermedia presente, N*Trepin supere un umbral predeterminado, catchUpLimit, en donde catchUpLimit puede ser definido como:
catchUpLimit = Tjit + Trepin
El flujo de medios puede ser por ejemplo un flujo de audio, o un flujo de vídeo.
De acuerdo con otro aspecto, también se dispone un nodo que comprende una memoria intermedia de fluctuación de fase adaptable para recibir paquetes de un flujo de medios procedente de una red de paquetes conmutados, en donde el nodo, que está adaptado para ajustar dinámicamente el retardo de la memoria intermedia, comprende:
- -
- una unidad receptora para recibir los paquetes que llegan al nodo, y
- -
- una unidad de puesta en memoria intermedia para insertar los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase, y para ejecutar un procedimiento de puesta en memoria intermedia de fluctuación de fase una vez cada Trepin, en donde Trepin es igual al intervalo de restitución de la memoria intermedia de fluctuación de fase, en donde un tiempo de protección de fluctuación de fase, Tjit que define un valor objetivo actual para el retardo de puesta en memoria intermedia máximo que está siendo actualizado sobre la base de la variación del número de paquetes pendientes, es N en la memoria intermedia de fluctuación de fase.
La unidad de puesta en memoria intermedia puede ser adaptada para ejecutar los siguientes pasos:
- -
- determinar si dicho flujo de medios está actualmente en un período de silencio o si el paquete recibido más recientemente es un paquete de palabras o un SID, y
- -
- ejecutar un procedimiento de adaptación para actualizar Tij durante una emisión de palabras en el caso de que el paquete recibido más recientemente sea un paquete de habla, o
- -
- ejecutar un procedimiento de adaptación para actualizar Tjit durante un período en el caso de que dicho flujo de medios esté actualmente en un período de silencio o en el caso en el que el paquete recibido más recientemente sea un SID.
En el caso de que la unidad de puesta en memoria intermedia esté ejecutando un procedimiento de adaptación para actualizar Tjit durante una emisión de palabras o una emisión de medios, la unidad de puesta en memoria intermedia puede además ser adaptada para ejecutar los siguientes pasos:
- -
- monitorizar N, con el fin de actualizar el valor mínimo de N, Nmin y el valor máximo de N, Nmax registrados en un intervalo de adaptación, ADAPT_IN,
- -
- definir un valor objetivo actualizado, Tj para Tjit sobre la base de la variación de N, de modo que:
Tj = (Nmax – Nmin) * Trepin
en donde Tj es un indicador del ajuste requerido de Tjit, y
- -
- ajustar Tjit en el caso de que el número de iteraciones del procedimiento de adaptación desde el último ajuste de Tjit sea igual a ADAPT_INT.
Cuando se ejecuta el paso de ajuste, la unidad de puesta en memoria intermedia puede además ser adaptada para
ejecutar los siguientes pasos:
- -
- incrementar Tjit de acuerdo con Tj en el caso en el que la variación de N sea mayor de la que el Tjit actual puede
tratar, o disminuir Tjit de acuerdo con Tj en el caso de que el Tjit actual esté dimensionado para una variación de
N mayor que la variación actual.
Además, cuando se ejecuta el paso de ajuste, la unidad de puesta en memoria intermedia puede además ser
adaptada para incluir también los siguientes pasos:
- -
- actualizar instantáneamente Tjit para igualar a Tj, mediante la ejecución de ataque rápido, en el caso de que Tj exceda a Tjit, o
- -
- disminuir gradualmente Tjit hacia el Tj actual, mediante un deterioro lento, y
- -
- abandonar gradualmente el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tjit corresponda a la variación actual de N en el caso en el que el tiempo de retardo máximo presente N*Trepin supere un umbral predeterminado, catchUpLimit.
La unidad de puesta en memoria intermedia puede ser adaptada para definir catchUpLimit como: catchUpLimit = Tj + Trepin
en el caso en el que Tjit no haya sido actualizado y que el Tj actual supere al Tjit actual, o como: catchUpLimit = Tjit + Trepin
de otro modo.
Si durante un período de silencio o si el paquete recibido más recientemente es un SID, dicha unidad de puesta en
memoria intermedia puede en cambio ser además adaptada para ejecutar los siguientes pasos:
- -
- actualizar Tjit en el caso en el que el número de iteraciones del procedimiento de adaptación durante una emisión de palabras desde la última adaptación de Tjit ejecutada por dicho procedimiento supere un límite de
adaptación del período de silencio predeterminado, DTXLimit,
- -
- definir un valor objetivo actualizado, Tj para Tjit,
- -
- sobre la base de la variación de N, de modo que: Tj = (Nmax – Nmin) * Trepin
- -
- en donde Tj es un indicador del ajuste requerido de Tjit en donde Nmax es el valor máximo y Nmin es el valor mínimo de N que ha sido medido en un intervalo de adaptación ADAPT_INT, en donde ADAPT_INT define un número de iteraciones predeterminado del procedimiento de adaptación, e
- -
- incrementar Tjit de acuerdo con Tj en el caso de que la variación de N sea mayor que la que el Tjit actual puede tratar.
Durante el paso de ajuste, la unidad de puesta en memoria intermedia puede además ser adaptada para ejecutar los siguientes pasos:
- -
- actualizar instantáneamente Tjit para igualar a Tj en el caso de que Tj supere a Tjit, y
- -
- abandonar gradualmente el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada
hasta que Tjit corresponda a la variación actual de N en el caso de que el tiempo de retardo máximo presente
N*Trepin supere un umbral predeterminado, catchUpLimit.
Breve descripción de los dibujos
A continuación se describe con más detalle la presente invención por medio de unas realizaciones a modo de ejemplo y con referencia a los dibujos que se acompañan, en los que:
- -
- la Figura 1 ilustra una visión general de los principios de la puesta en memoria intermedia de fluctuación de fase, de acuerdo con la técnica anterior,
- -
- la Figura 2a-d ilustra las posibles variaciones de un nivel de memoria intermedia de fluctuación de fase para la operación de una memoria intermedia de acuerdo con la invención reivindicada,
- -
- la Figura 3 ilustra los principios generales de recepción de paquetes y de temporización, de acuerdo con una realización,
- -
- la Figura 4 ilustra el algoritmo general de puesta en memoria intermedia de fluctuación de fase, de acuerdo con una realización,
- -
- la Figura 5 ilustra un procedimiento de adaptación para ser operable durante una emisión de palabras o una emisión de medios, de acuerdo con una realización,
- -
- la Figura 6 ilustra un procedimiento de adaptación para ser operable durante, o en el comienzo de un período de silencio, de acuerdo con una realización,
- -
- la Figura 7 ilustra un procedimiento para adaptar gradualmente el retardo de memoria intermedia a menor, de acuerdo con una realización,
- -
- la Figura 8 ilustra un nodo de red típico, que comprende una memoria intermedia de fluctuación de fase
adaptable adaptada para operar de acuerdo con el algoritmo de puesta en memoria intermedia de fluctuación de
fase, de acuerdo con una realización,
- -
- la Figura 9a ilustra un funcionamiento a modo de ejemplo de un algoritmo de puesta en memoria intermedia de fluctuación de fase, de acuerdo con una realización con la DTX inhabilitada,
- -
- la Figura 9b ilustra otro funcionamiento a modo de ejemplo de un algoritmo de puesta en memoria intermedia de fluctuación de fase, de acuerdo con otra realización con la DTX habilitada.
Descripción detallada
Descrita brevemente, la presente invención se refiere a un algoritmo simple de puesta en memoria intermedia de fluctuación de fase adaptable, y más específicamente, a un modo de adaptación del retardo de una memoria intermedia de fluctuación de fase sobre la base de la variación del número de paquetes pendientes en la memoria intermedia.
Un nodo de red, por ejemplo una pasarela de medios, recibe paquetes, transmitidos procedente de una fuente de generación de flujos en tiempo real, y encaminados a través de una red de paquetes conmutados que introduce un retardo de transporte no predicho, es decir una fluctuación de fase en el flujo de paquetes. Con objeto de ser capaz de hacer frente a la fluctuación de fase, que de este modo permite una restitución con un retardo constante procedente del nodo de red, y con el fin de mantener bajo el retardo introducido por la puesta en memoria intermedia, el nodo está provisto de una memoria intermedia de fluctuación de fase adaptable. Para tal memoria intermedia de fluctuación de fase, que típicamente trata un considerable número de usuarios concurrentes, para operar con un buen funcionamiento es deseable un algoritmo simple de puesta en memoria intermedia.
El retardo causado por la memoria intermedia de fluctuación de fase se determina por el tiempo de protección de la fluctuación de fase, Tjit. Tjit es un parámetro que, si es optimizado, permite a la memoria intermedia tratar un diverso número de paquetes pendientes en la memoria intermedia, es decir poner en memoria intermedia los paquetes que llegan, sin tener que abandonar algunos paquetes, excepto cuando los paquetes son deliberadamente abandonados, es decir durante una igualación, que es realizada con el fin de ajustar el retardo de acuerdo con la actual situación de la fluctuación de fase.
El retardo total procedente de la fuente a la restitución es la suma del retardo de transporte y del retardo introducido por la puesta en memoria intermedia, es decir cuanto más largo ha sido el retardo de transporte, más corto será el retardo de puesta en memoria intermedia, y viceversa. Tjit definirá un valor objetivo máximo para el retardo de puesta en memoria intermedia máximo. Esto significa que el retardo de puesta en memoria intermedia experimentado se aproximará a Tjit solamente cuando el retardo de transporte esté en su mínimo. El retardo de puesta en memoria intermedia debería ser mantenido lo más constante posible, y al mismo tiempo lo más pequeño posible. Estos requerimientos son contradictorios y requieren un compromiso.
Adaptando continuamente Tjit sobre la base de la variación del número de paquetes pendientes en la memoria intermedia de fluctuación de fase será posible adaptar el retardo de la memoria intermedia de fluctuación de fase al comportamiento de la fluctuación de fase, experimentado en la entrada del nodo de red, y a los requerimientos mencionados antes.
De acuerdo con una realización de la invención reivindicada, el número de paquetes pendientes, N en la memoria intermedia de fluctuación de fase, será continuamente monitorizado, y el máximo y el mínimo de los valores monitorizados, es decir Nmax y Nmin, respectivamente, se usarán para determinar la variación del número de paquetes pendientes.
Durante una emisión de palabras, que transporta paquetes de habla, o de una emisión de medios, que transporta paquetes de medios, por ejemplo vídeo, la variación del número de paquetes pendientes será registrada en un cierto intervalo de adaptación corto, definida como ADAPT_INT, en donde ADAPT_IN es un parámetro de sintonización predeterminado, que indica el intervalo mínimo con el cual Tjit será actualizado. Durante una emisión de palabras o una emisión de medios será ejecutado un procedimiento de adaptación a intervalos regulares, en donde un contador se incrementa en cada iteración. Una vez que el contador se hace igual a ADAPT_INT, Tjit será adaptado en consecuencia. Después de una adaptación de Tjit, el contenido de la memoria intermedia de fluctuación de fase será ajustado mediante una igualación, es decir abandonando un paquete procedente de la memoria intermedia de fluctuación de fase, si es necesario. Como los paquetes tienen que ser entregados procedentes de la memoria intermedia de fluctuación de fase y el nodo de red a una velocidad continua, el procedimiento de adaptación será seguido, bien extrayendo y procesando un paquete, o generando un paquete de ocultación.
Otro parámetro, Tj que da una indicación de un nuevo valor objetivo de Tjit, es decir una indicación de si Tjit debería ser adaptado a menor o a mayor, según la variación esperada de N, puede expresarse como:
Tj = (Nmax – Nmin) * Trepin (1)
en donde Trepin es el intervalo de repetición nominal con el que los paquetes son transmitidos procedentes de la fuente, que son iguales al intervalo de repetición nominal, Trepout con el que los paquetes son entregados procedente de la memoria intermedia de fluctuación de fase y el nodo de red.
A continuación se describen con referencia a las Figuras 2a-d diferentes situaciones de una memoria intermedia de fluctuación de fase adaptable y los efectos en una memoria intermedia mediante el algoritmo de puesta en memoria intermedia de fluctuación de fase adaptable de acuerdo con una realización. Las Figuras 2a y 2b ilustran una situación típica, en donde la Figura 2a muestra el número mínimo, Nmin de paquetes pendientes en la memoria intermedia de fluctuación de fase, mientras que la Figura 2b muestra el número máximo, Nmax de paquetes pendientes, registrados en un intervalo de tiempo definido como ADAPT_INT*Trepin.
En la situación descrita en las Figuras 2a y 2b, la variación del número de paquetes pendientes es más bien alta. Tal situación puede ser expresada como:
Tj > Tjit (2)
Obviamente, la variación de paquetes pendientes da lugar a un Tj que supera el tiempo de protección de fluctuación de fase presente, Tjit, es decir Tj indica que Tjit tiene que ser incrementado con el fin de que la memoria intermedia de fluctuación de fase sea capaz de tratar la variación actual de la fluctuación de fase.
Las Figuras 2c y 2d por otra parte muestran una situación con una baja variación del número de paquetes pendientes en la memoria intermedia de fluctuación de fase. La situación puede en cambio ser descrita como:
Tj < Tjit (3)
En esta situación, el Tjit presente tiene un valor que permite a la memoria intermedia tratar en consecuencia todos los paquetes que llegan, pero exagera el retardo presente, y como consecuencia, el retardo puede, y será disminuido acelerando, es decir abandonando paquetes/tramas de vez en cuando. Obviamente, también Tjit será adaptado a menor.
Cuando el retardo de transporte en la entrada del nodo de red es largo, el número de paquetes en la memoria intermedia de fluctuación de fase disminuye gradualmente. Si un paquete es retrasado más de lo que el valor actual de Tjit tolera, el número de paquetes pendientes puede incluso llegar a cero. Una situación que ilustra un largo retardo de transporte está ilustrada en las Figuras 2a y 2c. Si la memoria intermedia ha llegado a estar vacía, cuando un paquete tiene que ser restituido durante una emisión de palabras o una emisión de medios, se insertará una ocultación de errores en la memoria intermedia, lo que permite al nodo restituir continuamente algo con una velocidad constante. Efectivamente, esto se denomina una disminución de la velocidad de la restitución.
En una situación subsiguiente típica, el retardo del transporte ocasionalmente tiende a acortarse durante un período de tiempo limitado, de modo que el tiempo entre llegadas en la entrada de la memoria intermedia llega a hacerse menor que el intervalo de repetición nominal, Trepin de los paquetes en la fuente. El hecho de que el intervalo de restitución en la salida de la memoria intermedia de fluctuación de fase tenga que ser constante, es decir igual a Trepin, con el fin de proporcionar un habla de buena calidad a una o más entidades terminales, puede llevar a una situación en la que el número de paquetes pendientes en la memoria intermedia de fluctuación de fase se incremente gradualmente. Tal situación está ilustrada con las Figuras 2b y 2d.
Si ocurre un pico de retardo sin dar como resultado la pérdida de algún paquete, los paquetes en su camino hacia la memoria intermedia llegarán eventualmente, bien en una ráfaga o en un corto espacio de tiempo entre llegadas, y el número de paquetes pendientes, N, en la memoria intermedia de fluctuación de fase puede incluso superar un límite superior previamente fijado. Esto significa que desde ahora en el tiempo de protección de fluctuación de fase efectivo, o el valor objetivo de Tjit, es decir Tj, puede haberse incrementado hasta un nivel por encima del valor actual de Tjit indicado en la Figura 2b.
Si ocurren de forma intermitente grandes picos de retardo y ráfagas, que son causa de que aumente el nivel de la memoria intermedia de fluctuación de fase por encima del valor de Tjit actual, el algoritmo de la memoria intermedia de fluctuación de fase propuesto ajustará Tjit de modo que se incremente inmediatamente con el fin de cumplir la diferencia monitorizada de Nmax y Nmin, y el valor presente de Tj. Tal situación es típicamente denominada un ataque rápido.
Si no hay más picos de retardo largos, y las subsiguientes ráfagas son de una naturaleza decreciente, la variación del número de paquetes pendientes en la memoria intermedia gradualmente se hará pequeña nuevamente. No obstante, Tjit permanecerá a un nivel relativamente alto, como se muestra en la Figura 2d. En tal situación, el algoritmo de puesta en memoria intermedia empezará a saltar y a abandonar el paquete más antiguo procedente de la memoria intermedia a una cierta velocidad relajada hasta que Tjit haya alcanzado nuevamente un nivel que corresponde a Tj. Esto se denomina efectivamente una aceleración incorporada de la restitución, y también se denomina un deterioro lento o una igualación de la adaptación. En consecuencia, el algoritmo de adaptación descrito tiene un ataque rápido, pero un deterioro lento.
Un mecanismo de puesta en memoria intermedia de fluctuación de fase adaptable, especialmente adaptado para operar en un nodo de red, de acuerdo con la presente realización, depende de un simple algoritmo de adaptación. Los principios generales de tal algoritmo se explicarán ahora con más detalle con referencia a las Figuras 3 a 7.
Los paquetes que llegan al nudo de red serán tratados por la memoria intermedia de fluctuación de fase a un intervalo regular, Trepin, y, de este modo, se requerirá una temporización apropiada de la entrada de la memoria intermedia de fluctuación de fase. A continuación se describirá con referencia a la Figura 3 cómo se puede conseguir esto en una situación para tratar los paquetes de voz que llegan, transmitidos desde una fuente de voz.
El diagrama de bloques de la Figura 3 muestra los principios generales de la recepción de paquetes y la temporización en la memoria intermedia de fluctuación de fase. De acuerdo con la figura, los paquetes son puestos en la memoria intermedia de fluctuación de fase a medida que llegan procedentes de una red de transporte, típicamente con un retardo variable, y un mecanismo de puesta en memoria intermedia de fluctuación de fase adaptable, indicado como A en la figura, será ejecutado sobre una base regular, es decir con el intervalo de tiempo Trepin, que típicamente puede ser por ejemplo 20 ms.
En un primer paso 3:1, comienza la puesta en memoria intermedia iniciando variables que se necesitarán durante la subsiguiente adaptación del tiempo de protección Tjit de la memoria intermedia de fluctuación de fase. N, que indica el número de paquetes actualmente pendientes en la memoria intermedia, Nmax, y dos contadores, cntr1 y cntr2, se restablecen. Durante la iniciación realizada en el paso 3:1, Nmin también es fijado en un valor predefinido, MAX_VAL, el cual ha sido escogido con un valor suficientemente alto, de modo que en ningún caso será superado por el número de paquetes pendientes, N, en la memoria intermedia de fluctuación de fase. MAX_VAL podría por lo tanto ser fijado en 1.000, o en el entero positivo máximo de una unidad de procesamiento, por ejemplo 32.767.
Con el fin de proporcionar una temporización apropiada durante la recepción de paquetes, se puede definir un intervalo de tiempo T como:
T = currT – prevT (4)
en donde currT representa el tiempo actual dado por el ordenador principal y prevT representa el tiempo previo en el que se ejecutó el algoritmo A de la memoria intermedia de fluctuación de fase. En el paso 3:1, prevT se fija igual a currT, mientras que el parámetro del intervalo de tiempo, T es restablecido. Tjit también se fija en un valor de iniciación adecuado, que está comprendido entre Tjitmin y Tjitmax, que es un intervalo de adaptación aceptable especificado para Tjit. Tjitmin y Tjitmax son típicamente unos parámetros de configuración que se escogen dependiendo de la interfaz de entrada de la memoria intermedia. Un valor típico de Tjitmin puede ser por ejemplo 20 ms, mientras que Tjitmax puede ser fijado en 200 ms. Un valor de iniciación adecuado para Tjit puede entonces ser deducido como:
Tij = (Tjitmin + Tjitmax)/2 (5)
En tanto que no ha transcurrido el período de tiempo Trepin, lo que es continuamente comprobado en un paso 3:5, los paquetes que llegan al nodo de red serán puestos en la memoria intermedia de fluctuación de fase, como está indicado con un paso 3:2, y otro paso 3:3. En un paso subsiguiente 3:4, el contador N se incrementa en 1, y la temporización T de la memoria intermedia se actualiza en otro paso 3:6, antes de que se repita el bucle de tratamiento de los paquetes que llegan, que comienza de nuevo en el paso 3:2.
No obstante, una vez que Trepin ha transcurrido, se ejecutará un procedimiento, A, adaptado para realizar la puesta en memoria intermedia de fluctuación de fase. Después de la ejecución del procedimiento A de puesta en memoria intermedia de fluctuación de fase, se restablecerá la temporización de la memoria intermedia fijando prevT en currT, como está indicado en un paso 3:7, y se repetirá el procedimiento para poner los paquetes que llegan en la memoria intermedia de fluctuación de fase, que comienza en el paso 3:2.
Como está indicado en el paso 3.5, se ejecutará un procedimiento de puesta en memoria intermedia de fluctuación de fase una vez cada Trepin. A continuación se describirá con más detalle un ejemplo de tal puesta en memoria intermedia de fluctuación de fase de acuerdo con una realización, con referencia al diagrama de bloques de la Figura 4.
Si está permitida la transmisión discontinua de voz (DTX), se debería determinar primero si la voz recibida está dentro de un período de silencio, o si el paquete recibido más recientemente es un descriptor de silencio, es decir un SID. La última comprobación es acompañada por la observación del paquete recibido más recientemente en la memoria intermedia de fluctuación de fase, en donde se accede al contenido más importante desde la memoria intermedia sin realmente extraer todavía ningún paquete procedente de la memoria intermedia. En este caso, el contenido relevante será el tipo de trama, es decir SID o habla. Si se cumple cualquiera de estas condiciones, el diagrama de bloques se ramificará hacia C. El procedimiento definido por C se describirá más adelante con más detalle con referencia a la Figura 6.
No obstante, si no se cumple ninguna de estas condiciones, o si la DTX está inhabilitada, el diagrama de bloques se ramificará en cambio hacia B, y se ejecutará un procedimiento de adaptación de la memoria intermedia de fluctuación de fase para tratar una emisión de palabras. Un ejemplo de tal procedimiento de acuerdo con una realización se describirá más adelante con más detalle, esta vez con referencia a la Figura 5.
Si se ha identificado una emisión de palabras en marcha en el paso inicial 4:1 del procedimiento A de puesta en memoria intermedia de fluctuación de fase, el diagrama de bloques se ramificará hacia B, en donde se ejecutará un procedimiento de adaptación, adaptado para tratar una emisión de palabras. Cuando ha terminado el procedimiento B, que da lugar a un Tjit actualizado, se determina primero si la memoria intermedia de fluctuación de fase está vacía
- o no, como está indicado con un paso 4:2.
Si se ha considerado que la memoria intermedia está vacía, todavía algo debe ser entregado desde ella, y, de este modo, se inserta una ocultación de errores en la memoria intermedia, como se indica en un próximo paso 4:3, antes de que el procedimiento sea terminado en un paso final 4:4. No obstante, si actualmente hay uno o más paquetes en la memoria intermedia de fluctuación de fase, en cambio se determina si la emisión de palabras está en su comienzo
- o no. Esta comprobación se hace en un subsiguiente paso 4:5. Si se ha considerado que la emisión de palabras no está en su comienzo, se extrae de la memoria intermedia el paquete más antiguo, como está indicado en un paso 4:7, consecuentemente, N es disminuido en uno, como está indicado en el paso 4:8, y el paquete de habla más antiguo se procesa en consecuencia en otro paso 4:9, antes de que la rama termine en el paso 4:4.
No obstante, si se ha considerado que la emisión de palabras está en su comienzo en el paso 4:5, el siguiente paso es para determinar si el paquete más antiguo en la memoria intermedia de fluctuación de fase ha sido puesto en memoria intermedia el tiempo suficiente para ser procesado, es decir más tiempo o el mismo que Tjit. Esto se hace en otro paso 4:6. Antes de que haya ocurrido esto, nada será extraído de la memoria intermedia de fluctuación de fase y un ruido confortable será en cambio insertado en la memoria intermedia, como está indicado en el paso 4:17.
Durante un período de silencio, paquetes o tramas SID, son transmitidos procedente de una fuente de transmisión con una velocidad inferior que durante una emisión de palabras y el procedimiento tiene que comprobar cuándo una trama SID tiene que ser procesada, o cuándo no hay nada que extraer de la memoria intermedia de fluctuación de fase.
Cuando en lugar de haber sido Tjit adaptado en el procedimiento de adaptación C, es primeramente comprobado una vez más, si el habla está en un período de silencio o no, como está indicado en un siguiente paso 4:10. Esto será necesario, ya que la ramificación hacia C se hace también cuando el paquete más antiguo está todavía en la emisión de palabras, pero el más nuevo paquete observado es ya un SID. Si se ha considerado que el habla no está en un período de silencio, el paquete más antiguo será extraído y procesado, al igual que en el caso de ráfaga de palabras, como está indicado en los pasos 4:7–4:9. Semejante al caso de ráfaga de palabras, el procedimiento de puesta en memoria intermedia de fluctuación de fase se termina a continuación en el paso final 4:4, y el algoritmo continúa tratando los paquetes que llegan al nodo de red, que comienza en el paso 3:7 de restablecimiento del temporizador de la Figura 3.
Si en lugar de ser considerado en el paso 4:10 que el habla está en un período de silencio, todavía ha de ser entregado algo procedente de la memoria intermedia de fluctuación de fase del nodo de red con una velocidad de paquetes constante de Trepin. En tal caso, el siguiente paso, ejecutado en un paso 4:11, tendrá que ser comprobado si es el momento de extraer un SID de la memoria intermedia o no. Esta comprobación está basada en un intervalo de tramas de SID conocido, por ejemplo cada 8ª trama podría ser un SID durante un período de silencio. Si todavía no es el momento para que un SID sea extraído, en su lugar se insertará un ruido confortable en la salida de la memoria intermedia con el fin de mantener la velocidad de salida constante también cuando se ha reducido la velocidad de entrada durante el período de silencio. Las características del ruido confortable son actualizadas por las tramas SID, y el ruido confortable se inserta en el paso 4:17.
Si en cambio se ha considerado en el paso 4:11 que es el momento de extraer un SID de la memoria intermedia de fluctuación de fase, pero se considera que la memoria intermedia de fluctuación de fase está vacía en un siguiente paso 4:12, se generará una ocultación de SID en un subsiguiente paso 4:13, en lugar de ejecutar un procesamiento del SID. No obstante, si hay ciertamente uno o más paquetes pendientes en la memoria intermedia de fluctuación de fase, el paquete más antiguo será en cambio extraído de la memoria intermedia de fluctuación de fase, como está indicado en un subsiguiente paso 4:14, N es entonces disminuido en 1 en un subsiguiente paso 4:15, y un SID es procesado en un siguiente paso 4:16.
Durante los períodos de silencio, un ruido confortable será siempre insertado en la salida, independientemente de si un SID ha sido extraído o no. Subsiguiente a una ocultación de SID, ejecutada en el paso 4:13, y a un procesamiento de SID, ejecutado en el paso 4:16, se insertará por consiguiente un ruido confortable en la memoria intermedia de fluctuación de fase en el subsiguiente paso 4:17.
A continuación, la rama se termina en el paso final 4:4 y el algoritmo continúa el tratamiento de los paquetes que llegan poniéndolos en la memoria intermedia de fluctuación de fase en del nodo de red, como está indicado con el bucle de la Figura 3.
A continuación se describe con más detalle el procedimiento de adaptación que ha de ser ejecutado durante una emisión de palabras, denominado B en la Figura 4, con referencia a un diagrama de bloques de la Figura 5.
En un primer paso 5:1 se ha determinado si actualmente hay más paquetes pendientes en la memoria intermedia de fluctuación de fase que los que pueden ser tratados por la memoria intermedia, es decir si:
N*Trepin > Tjitmax (6)
Si el tiempo de protección N*Trepin de fluctuación de fase requerido supera el tiempo de protección de fluctuación de fase máximo Tjitmax, el paquete más antiguo será extraído de la memoria intermedia de fluctuación de fase, como está indicado en un siguiente paso 5:2 y, por lo tanto, N es disminuido en 1 en un subsiguiente paso 5:3. Este procedimiento se repetirá iterativamente en tanto que el tiempo de protección de fluctuación de fase requerido supere Tjitmax. Si es necesario, cualquiera de los dos parámetros Nmax y Nmin, usado cuando continuamente se deduce la variación del número de paquetes pendientes, es actualizado a continuación en los subsiguientes respectivos pasos 5:4 y 5:5 o en los pasos 5:6 y 5:7.
En un siguiente paso 5:8, se deduce Tj sobre la base de los parámetros actualizados Nmax y Nmin. El Tj presente, definido por la ecuación (1) se usará cuando se adapte Tjit en el final del intervalo de adaptación, ADAPT_INT. ADAPT_INT es un parámetro de sintonización, el cual, sobre la base de experimentos, puede ser fijado en por ejemplo 16. Con un Trepin que está fijado en 20 ms, ADAPT_INT fijado en 16, corresponderá a un período de adaptación, ADAPT_INT*Trepin, que es igual a 320 ms. Además, un contador, denominado cntr1, que tiene el objeto de mantener un seguimiento de cuándo se ha alcanzado el intervalo de adaptación ADAPT_INT, es decir cuándo es el momento de adaptar Tjit, se incrementa también en 1 en el paso 5:8.
En un subsiguiente paso 5:9, el Tj actualizado es comparado con el Tjit actual, y según el resultado de tal comparación, se fijará una variable denominada catchUpLimit, que indica el nivel objetivo tolerable mayor actualmente del retardo de puesta en memoria intermedia de fluctuación de fase. La variable catchUpLimit se usará más tarde en el procedimiento D de igualación con el fin de determinar si un paquete ha de ser extraído de la memoria intermedia de fluctuación de fase para acelerar, es decir igualar, la restitución de la memoria intermedia de fluctuación de fase como resultado del Tjit actualizado.
Si se ha considerado en el paso 5:9 que Tj supera a Tjit, es decir que Tjit es actualmente demasiado pequeño y debería ser incrementado con el fin de impedir el flujo bajo de la memoria intermedia con la fluctuación de fase en aumento actualmente experimentada, se fijará catchUpLimit, sobre la base del Tj actual como está indicado en el paso 5:10, mientras que catchUpLimit se fijará en cambio, basándose en Tjit, como está indicado en otro paso 5:11, si el valor actual de Tjit se considera que es adecuado, o incluso demasiado alto, lo que causa un retardo de la memoria intermedia con la fluctuación de fase innecesariamente alto.
En un siguiente paso 5:12 se determina si una emisión de palabras ha durado lo suficiente para que cntr1 haya alcanzado ADAPT_INT o no, es decir si es el momento de adaptar Tjit. Si ADAPT_INT no ha expirado todavía, el procedimiento continúa ejecutando el procedimiento de igualación, indicado como D en la Figura 5, sobre la base del presente catchUpLimit. El procedimiento de igualación se fija para adaptar gradualmente el retardo de la memoria intermedia de fluctuación de fase menor mediante la igualación, es decir mediante la extracción del paquete más antiguo de la memoria intermedia de fluctuación de fase, siempre que sea pertinente. Subsiguiente a la ejecución del procedimiento D de igualación, el procedimiento de adaptación B será terminado en un paso final 5:13. El procedimiento de igualación D se describirá con más detalle con referencia a la Figura 7.
No obstante, si se considera en el paso 5:12 que ADPT_INT ha expirado, el tiempo de protección de fluctuación de fase Tjit se adaptará en consecuencia antes de que se ejecute el procedimiento D de igualación. En un paso 5:14 Tj es una vez más comparado con Tjit. Si se considera que Tj supera a Tjit se ejecutará un ataque rápido, es decir Tjit será incrementado hasta el valor actual de Tj instantáneamente en un siguiente paso 5:15.
Si, por otra parte, Tjit no supera a Tj, esto es una indicación de que Tjit debería ser disminuido y, por lo tanto, en cambio se ejecutará un deterioro lento, es decir Tjit será adaptado disminuyendo gradualmente Tjit hacia Tj, como está indicado en otro paso 5:16.
Durante un lento deterioro, la adaptación, es decir la disminución de Tjit hacia abajo está relajada por las ecuaciones
(7) y (8). Tjit está limitado de modo que nunca disminuya Tjitmin. Tal adaptación de Tjit puede ser expresada como:
Tjit = max(Tjit-d,Tjitmin) (7)
en donde el parámetro d es un paso de disminución adaptable de Tjit, que se puede definir como:
d = max(int(Tjit–Tj)/m),1 (8)
m es una constante de relajación empírica y un parámetro de sintonización, en donde el valor por defecto, que está basado en experimentos, puede ser fijado por ejemplo en 10.
Después de un ataque rápido y de un deterioro lento, el procesamiento continúa con un subsiguiente paso 5:17, en el que se fija un catchUpLimit, basado en el Tjit recientemente actualizado. Además, el contador de intervalos de adaptación contr1 es restablecido en 0, Nmin es iniciado en el valor actual de Nmax, y Nmax es también restablecido en 0 con el fin de preparar el procedimiento de adaptación para una nueva iteración, que comenzará un nuevo intervalo de adaptación.
Después de la adaptación de Tjit, ejecutada en el paso 5:15 o 5:16, y a las iniciaciones para el próximo período de adaptación, ejecutadas en el subsiguiente paso 5:17, también esta rama continúa hacia el procedimiento de igualación, D, en donde el catchUpLimit actualizado se usará para determinar si se requiere una igualación. Después de haber ejecutado el procedimiento de igualación, terminará el procedimiento de adaptación B en el paso 5:13, y el algoritmo de la memoria intermedia de fluctuación de fase continúa con el procedimiento A de puesta en memoria intermedia de la Figura 4.
Si en cambio, se identificó un período de silencio en el paso 4:1 de la Figura 4, el procedimiento de fluctuación de fase continuará ramificándose hacia un procedimiento de adaptación C, el cual está configurado para adaptar Tjit durante o en el comienzo de un período de silencio. A continuación se describirá con más detalle un ejemplo de tal procedimiento de acuerdo con una realización con referencia al esquema de bloques de la Figura 6.
En un primer paso 6:1 el procedimiento de adaptación determina si ha pasado un tiempo suficiente desde el final del intervalo de adaptación previo, ADAPT_INT. Debido a que en cualquier momento puede comenzar un período de silencio, usualmente antes de la expiración del intervalo de adaptación actual, primeramente se determina si ha expirado un período de tiempo adecuadamente largo desde la última adaptación de Tjit, comparando primero el valor actual de cntr1 con un parámetro, denominado DTSLimit. DTXLimit es una constante predefinida, y un parámetro de sintonización escogido para ser menor que ADAPT_INT. Un típico valor por defecto de DTXLimit puede ser por ejemplo 2.
Si se ha considerado en el paso 6 que cntr1 todavía no ha superado DTXLimit, entonces no ha pasado un tiempo suficiente desde que ocurrió el final de la adaptación previa de Tjit, y no se realizará una adaptación de Tjit. En cambio, Nmin se fija en MAX_VAL en el paso 6:2.
No obstante, si se ha considerado en el paso 6:1 que cntr1 supera DTXLimit, se determina que se requerirá una adaptación de Tjit. Inicialmente, en consecuencia se calculará un Tj actual en consecuencia, sobre la base de la variación de N, obtenido de los Nmax y Nmin actualizados, como se indica en un siguiente paso 6:3. En un subsiguiente paso 6:4, el Tj actualizado es comparado con el Tjit actual, y si parece que ya durante este intervalo de adaptación prematuro en el frente de un período de silencio, el valor objetivo actual de Tj indica que Tjit necesitaría ser incrementado, Tjit es incrementado, y fija Tjit en el actual valor de Tj en un subsiguiente paso 6:5, que de este modo ejecuta un ataque rápido, en respuesta a la variación recientemente experimentada de N, y del valor actual de Tjit.
En un siguiente paso 6:6, Nmin es iniciado en el valor actual de Nmax, que prepara el próximo intervalo de adaptación, que arranca a partir del comienzo de la próxima emisión de palabras. También en un subsiguiente paso 6:7, Nmax y cntr1 son restablecidos en 0, que prepara un próximo intervalo de adaptación.
A continuación, se fija un nuevo catchUpLimt sobre la base del Tjit actualizado en un paso 6:8, antes de la ejecución del procedimiento de igualación D. Una vez que se ha ejecutado el procedimiento de igualación, el procedimiento de adaptación C termina en un paso final 6:9, y el algoritmo de adaptación de fluctuación de fase continúa ejecutando el procedimiento A de puesta en memoria intermedia de fluctuación de fase de la Figura 4.
El principal objeto del procedimiento de igualación D es adaptar el retardo actual de la memoria intermedia de fluctuación de fase a menor mediante una igualación gradual, es decir abandonando el paquete más antiguo de la memoria intermedia en situaciones en las que innecesariamente hay muchos paquetes pendientes en la memoria intermedia de fluctuación de fase, es decir Tjit es innecesariamente grande, basado en el catchUpLimit variable, que fue fijado en el procedimiento de adaptación B o C.
A continuación se describirá con más detalle con referencia al esquema de bloques de la Figura 7 un procedimiento de igualación para adaptar el retardo de la memoria intermedia mediante la igualación de modo gradual, de acuerdo con una realización.
En un primer paso 7:1 se ha determinado si el actual tiempo de puesta en memoria intermedia es mayor que el esperado, basado en el catchUpLimit variable. Si el retardo de puesta en memoria intermedia más largo por el momento, es decir el retardo de puesta en memoria intermedia del paquete más antiguo, definido como N*Trepin no supera el actual catchUpLimit, entonces no se necesitará una igualación en la memoria intermedia de fluctuación de fase, y, de este modo, el procedimiento D de igualación termina en un paso final 7:4. La velocidad de una igualación gradual será controlada por el contador cntr2, y, de este modo, el cntr2 será disminuido en 1, antes de dejar el procedimiento de igualación, como está indicado con el paso 7:3, a menos que cntr2 haya alcanzado ya 0, como está indicado en un paso precedente 7:2.
No obstante, si se considera en el paso 7:1 que el retardo de puesta en memoria intermedia del paquete más antiguo supera actualmente el presente catchUpLimit, se determina que se requerirá una igualación. El contador cntr2 asegurará que, en tanto que este estado siga siendo válido, el paquete más antiguo en la memoria intermedia de fluctuación de fase será abandonado a la velocidad de cada iteración k-ésima, como está indicado en un paso 7:6, que de este modo completa el deterioro lento que fue comenzado disminuyendo Tjit en el paso 5:16. k es un parámetro de sintonización prefijado, que define un período mínimo de igualación. El valor del parámetro k es típicamente escogido sobre la base de experimentos. Un valor típico de k puede ser 8, que corresponde a una velocidad máxima de igualación de 20 ms / 160 ms, si Trepin es 20 ms.
Cada vez que se ha considerado que cntr2 se hace igual a k en el paso 7:6, se ejecutará una igualación gradual, en donde el paquete más antiguo en la memoria intermedia de fluctuación de fase será extraído y desechado de la memoria intermedia. Esto se ilustra con otro paso 7:7. Después de una extracción del paquete más antiguo, N es actualizado, es decir disminuido en 1, y cntr2 es restablecido en 0, con el fin de indicar que se ha realizado una igualación, en un próximo paso 7:8. A continuación se determina si el intervalo de adaptación, ADAPT_INT, ha terminado concurrentemente con el actual período de igualación, es decir, si cntr1 se hace igual a 0. Esto se verifica en un paso 7:9. Si éste es el caso, el procedimiento D de igualación será terminado en el paso 7:4. No obstante, si cntr1 excede de 0, Nmax y Nmin, deben ser actualizados, es decir disminuidos en 1, con el fin de tener en cuenta que el paquete más antiguo acaba de ser abandonado procedente de la memoria intermedia de fluctuación de fase. Este procedimiento está indicado con los pasos 7:10 -7:13. Después de la ejecución del procedimiento D de igualación, el procedimiento vuelve al respectivo procedimiento de adaptación B o C.
Aunque la realización antes descrita presentada con referencia a las Figuras 3-7 se refiere a un método de puesta en memoria intermedia para poner en memoria intermedia los paquetes de habla transmitidos en una ráfaga de habla, el método puede ser aplicable también para tratar otros tipos de medios sensibles a la fluctuación de fase, tales como por ejemplo el vídeo, entregados por medio de paquetes, distintos de los paquetes de habla, en este documento denominados paquetes de medios. Se ha de entender que en lugar de ser entregados en una ráfaga de habla, los paquetes de medios que llegan a la memoria intermedia son entregados en una ráfaga de medios. No obstante, como el período de silencio, así como el SID, es definido solamente para habla, se tienen que hacer algunas adaptaciones del método cuando tienen que ser tratados paquetes de medios, entregados en una emisión de medios. Manteniendo la rama de emisión de palabras / emisión de medios, B de la Figura 4 activada durante una sesión de generación de flujo, que entrega una ráfaga de medios, mientras la rama del período de silencio, C es desactivada, el método descrito puede ser adaptado también para la puesta en memoria intermedia de cosas distintas al habla.
Un nodo de red típico, que comprende una memoria intermedia de fluctuación de fase adaptable adaptada para operar de acuerdo con el algoritmo de memoria intermedia de fluctuación de fase descrito en este documento se describirá ahora con referencia al diagrama de bloques de la Figura 8. El Nodo de Red 800 de la Figura 8 comprende una Unidad Receptora 801, que recibe los paquetes que llegan procedentes de una red de paquetes conmutados (no mostrada) a la que está conectado el nodo. Una Unidad de Puesta en Memoria Intermedia 802 está adaptada para ejecutar el método para el ajuste dinámico del retardo de la memoria intermedia, que ha sido descrito anteriormente. La Unidad de Puesta en Memoria Intermedia controla la inserción de paquetes en una Memoria Intermedia de Fluctuación de Fase Adaptable 803, por medio de la Unidad Receptora 801, y la extracción de paquetes de la Memoria Intermedia de Fluctuación de Fase Adaptable 803, por medio de una Unidad de Transmisión 804. Una vez que un paquete ha sido extraído a la unidad de transmisión 804 procedente de la Memoria Intermedia de Fluctuación de Fase Adaptable 803, el paquete es transmitido a una red receptora (no mostrada). Una realización a modo de ejemplo del algoritmo de puesta en memoria intermedia de fluctuación de fase descrito, ilustrado con el retardo en ms como una función del índice de tramas, se muestra en las Figuras 9a y 9b, en donde la Figura 9a ilustra una simulación con transmisión discontinua de habla, es decir la DTX inhabilitada, mientras que la Figura 9b ilustra una simulación con la DTX habilitada.
Ambas simulaciones fueron ejecutadas con el mismo fichero de muestras de audio y se usó el mismo perfil de retardo de transporte. En ambas figuras, la línea delgada representa el retardo del transporte de entrada, mientras que la línea gruesa ilustra el retardo total, que incluye el retardo de la memoria intermedia en la restitución. Cada ocasión en la que la línea gruesa se aparta del eje x indica un flujo bajo de la memoria intermedia, causado por un punto de interferencia de retardo.
La presente invención se refiere a una memoria intermedia de fluctuación de fase adaptable de complejidad limitada, dispuesta en un nodo de red. La memoria intermedia de fluctuación de fase adaptable no requiere acceso a información de marca temporal, es decir no se requiere acceso a la capa IP. En lugar de depender de la información de marca temporal, la memoria intermedia de fluctuación de fase está adaptada a tratar directamente paquetes/tramas de habla codificados. La variación monitorizada del número de paquetes en la memoria intermedia de fluctuación de fase se usa para estimar el tiempo de protección de fluctuación de fase, Tjit. Añadiendo paquetes de ocultación de errores o quitando de la memoria intermedia de fluctuación de fase los paquetes de voz más antiguos, de acuerdo con el Tjit actualizado, el retardo de la memoria intermedia de fluctuación de fase experimentado será adaptable a la presente velocidad de llegada de paquetes en la entrada del nodo de red.
Mientras que la invención ha sido descrita con referencia a realizaciones a modo de ejemplo específicas, la descripción se entiende solamente de forma general para ilustrar el concepto de la invención y no debería ser tomada como una limitación del alcance de la invención, la cual está definida por las reivindicaciones anejas.
Lista de abreviaturas
DTX Transmisión discontinua
SID Descriptor de inserción de silencios
Claims (14)
- REIVINDICACIONES1. Un método, en un nudo de red, que comprende una memoria intermedia de fluctuación de fase adaptable, de ajuste dinámico del retardo de la memoria intermedia de dicha memoria intermedia de fluctuación de fase adaptable cuando recibe paquetes de flujo de medios de un flujo de medios procedente de una red de paquetes conmutados, en donde dicho método comprende los siguientes pasos:
- -
- insertar (3:3) los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase,
- -
- adaptar iterativamente (B) la memoria intermedia de fluctuación de fase en un intervalo, Trepin, cuando dicho flujo de medios está en una emisión de medios o de palabras, de modo que un tiempo de protección de fluctuación de fase, Tjit se actualiza sobre la base de la variación, Nmax–Nmin del número de paquetes, N, pendientes en la memoria intermedia de fluctuación de fase, en donde Tjit es un valor objetivo actual del retardo de puesta en memoria intermedia máximo de dicha memoria intermedia de fluctuación de fase, en donde cada iteración es ejecutada:
- -
- actualizando (5:5, 5:7) un valor mínimo, Nmin, y un valor máximo, Nmax, de N, en donde N es monitorizado en un intervalo de monitorización, ADAPT_INT, ADAPT_INT, que define un número de iteraciones predeterminado,
- -
- calculando (5:8) un nuevo valor objetivo, Tj, sobre la base de la variación de N, en donde Tj es un indicador de la adaptación requerida de Tjit, de modo que:
Tj = (Nmax - Nmin) * Trepiny- -
- ajustando (5:15, 5:16) Tjit con el valor Tj en el caso de que el número de iteraciones desde el último ajuste de Tjit sea igual a ADAPT_INT.
- 2. Un método de acuerdo con la reivindicación 1, en donde dicho paso de ajuste comprende el siguiente paso:
- -
- incrementar (5:15) Tjit de acuerdo con Tj en el caso de que N sea mayor de lo que el Tjit actual puede tratar, o
- -
- disminuir (5:16) Tjit de acuerdo con Tj, en el caso de que el Tjit actual esté dimensionado para una variación de N mayor que la variación actual.
- 3. Un método de acuerdo con la reivindicación 1 o 2, en donde dicho paso de ajuste comprende los siguientes pasos:
- -
- actualizar instantáneamente (5:15) Tjit para igualar a Tj, mediante la ejecución de un ataque rápido, en el caso de que Tj supere a Tjit, o
- -
- disminuir gradualmente (5:16) Tjit hacia el Tj actual, mediante un deterioro lento, y
- -
- abandonar gradualmente (7:7) el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tjit se corresponda con la variación actual de N en el caso de que el tiempo de retardo máximo presente de la memoria intermedia, N*Trepin supere un umbral predeterminado, catchUpLimit.
- 4. Un método de acuerdo con la reivindicación 3, en donde catchUpLimit se define como:catchUpLimit = Tj + Trepinen el caso de que Tjit no haya sido actualizado y de que el Tj actual supere el Tjit actual, o como:catchUpLimit = Tjit + Trepinen otro caso.
- 5. Un método, en un nodo de red que comprende una memoria intermedia de fluctuación de fase adaptable, de ajuste dinámico del retardo de la memoria intermedia de dicha memoria intermedia de fluctuación de fase adaptable cuando recibe paquetes de un flujo de medios de un flujo de medios procedente de una red de paquetes conmutados, en donde dicho método comprende los siguientes pasos para ser ejecutados durante un período de silencio o en el caso de que el paquete recibido más recientemente sea un SID:
- -
- insertar (3:3) los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase,
- -
- adaptar iterativamente (C) la memoria intermedia de fluctuación de fase en un intervalo, Trepin, de modo que un tiempo de protección de fluctuación de fase, Tjit, esté siendo actualizado sobre la base de la variación, Nmax– Nmin, del número de paquetes, N, pendientes en la memoria intermedia de fluctuación de fase en el caso de que el número de iteraciones durante una emisión de palabras desde la última adaptación de Tjit supere un límite de adaptación del período de silencio predeterminado, DTXLimit, en donde Tjit es un valor objetivo actual para el retardo máximo de puesta en memoria intermedia de dicha memoria intermedia de fluctuación de fase, en donde dicha iteración es ejecutada:
- -
- calculando (6:3) un valor objetivo actualizado, Tj para Tjit sobre la base de la variación de N, en donde Tj es un indicador de la adaptación requerida de Tjit, de modo que:
Tj = (Nmax - Nmin) * Trepine- -
- incrementando (6:5) Tjit con el valor calculado de Tj en el caso de que la variación de N sea mayor de la que el Tjit puede tratar.
- 6. Un método de acuerdo con la reivindicación 5, en donde dicho paso de ajuste comprende los siguientes pasos:
- -
- actualizar instantáneamente (6:5) Tjit para igualar a Tj, mediante la ejecución de un ataque rápido, en caso de que Tj supere a Tjit, y
- -
- abandonar gradualmente (7:7) el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tjit corresponda a la variación actual de N, en el caso de que el tiempo de retardo presente de la memoria intermedia, N*Trepin supere un umbral predeterminado, catchUpLimit.
-
- 7.
- Un método de acuerdo con la reivindicación 6, en donde catchUpLimit se define como:
catchUpLimit = Tj + Trepin -
- 8.
- Un método de acuerdo con cualquiera de las anteriores reivindicaciones, en donde dicho flujo de medios es cualquiera de un audio o de un vídeo.
-
- 9.
- Un nodo de red (800) que comprende una memoria intermedia de fluctuación de fase adaptable (803) para recibir paquetes de un flujo de medios procedente de una red de paquetes conmutados, en donde dicho nodo está adaptado para ajustar dinámicamente el retardo de la memoria intermedia de dicha memoria intermedia, en donde el nodo comprende además:
- -
- una unidad receptora (801) adaptada para recibir los paquetes que llegan al nodo,
- -
- una unidad de puesta en memoria intermedia (802) adaptada para insertar los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase (803), y para adaptar iterativamente la memoria intermedia de fluctuación de fase en un intervalo Trepin cuando dicho flujo de medios está en una emisión de medios o de palabras, de modo que se actualice un tiempo de protección de fluctuación de fase, Tjit, sobre la base de la variación Nmax–Nmin del número de paquetes, N, pendientes en la memoria intermedia de fluctuación de fase, en donde Tjit es un valor objetivo actual para el retardo máximo de puesta en memoria intermedia para dicha memoria intermedia de fluctuación de fase, en donde dicha unidad de puesta en memoria intermedia está adaptada para ejecutar cada iteración:
- -
- actualizando un valor mínimo, Nmin, y un valor máximo, Nmax, de N, monitorizando N en un intervalo de adaptación ADAPT_INT, ADAPT_INT que define un número predeterminado de iteraciones del procedimiento de adaptación,
- -
- calculando un valor objetivo, Tj, sobre la base de la variación de N, en donde Tj es un indicador de la adaptación requerida de Tjit, de modo que:
Tj = (Nmax - Nmin) * Trepiny- -
- ajustando Tjit de acuerdo con Tj en el caso de que el número de iteraciones desde el último ajuste de Tjit sea igual a ADAPT_INT.
- 10. Un nodo (800) de acuerdo con la reivindicación 9, en donde cuando se ejecuta dicho paso de ajuste, la unidad de memoria intermedia de fluctuación de fase (802) está además adaptada para ejecutar los siguientes pasos:
- -
- incrementar Tjit de acuerdo con Tj en el caso de que la variación de N sea mayor de lo que el Tjit actual puede tratar, o
- -
- disminuir Tjit de acuerdo con Tj en el caso de que el Tjit actual esté dimensionado para una variación de N mayor que la variación actual.
- 11. Un nodo (800) de acuerdo con la reivindicación 9 o 10, en donde dicha unidad (802) de puesta en memoria intermedia está además adaptada para ejecutar los siguientes pasos cuando se ejecuta el paso de ajuste:
- -
- actualizar instantáneamente Tjit para igualar a Tj mediante la ejecución de un ataque rápido, en caso de que Tj supere a Tjit, o
- -
- disminuir gradualmente Tjit hacia el Tj actual, mediante la realización de un deterioro lento, y
- -
- abandonar gradualmente el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tjit corresponda a la variación actual de N en el caso de que el tiempo de retardo máximo de la memoria intermedia, N*Trepin supere un umbral predeterminado, catchUpLimit.
- 12. Un nodo de acuerdo con la reivindicación 11, en donde dicha unidad (802) de puesta en memoria intermedia está adaptada para definir catchUpLimit como:catchUpLimit = Tj + Trepinen el caso de que Tjit no haya sido actualizado y de que el Tj actual supere al Tjit actual, o como:catchUpLimit = Tjit + Trepinen otro caso.
- 13. Un nodo de red (800) que comprende una memoria intermedia de fluctuación de fase adaptable (803) para recibir paquetes de un flujo de medios procedente de una red de paquetes conmutados, en donde dicho nodo está adaptado para ajustar dinámicamente el retardo de la memoria intermedia de dicha memoria intermedia, en donde el nodo comprende además:
- -
- una unidad receptora (801) adaptada para recibir los paquetes que llegan al nodo,
- -
- una unidad de puesta en memoria intermedia (802) adaptada para insertar los paquetes que llegan al nodo de red en la memoria intermedia de fluctuación de fase, y para adaptar iterativamente la memoria intermedia de fluctuación de fase en un intervalo Trepin, de modo que un tiempo de protección de fluctuación de fase, Tjit, es adaptado sobre la base de la variación Nmax–Nmin del número de paquetes, N, pendientes en la memoria intermedia de fluctuación de fase, en el caso de que el número de iteraciones durante una emisión de palabras desde la última adaptación de Tjit supere un límite predeterminado de adaptación del período de silencio, DTXLimit, en donde Tjit es un valor objetivo actual para el retardo de puesta en memoria intermedia máximo para dicha memoria intermedia de fluctuación de fase, en donde cada iteración es ejecutada:
- -
- calculando un valor objetivo actualizado, Tj para Tjit, sobre la base de la variación de N, en donde Tj es un indicador de la adaptación requerida de Tjit, de modo que:
Tj = (Nmax - Nmin) * Trepine- -
- incrementando Tjit con el valor calculado de Tj en el caso de que la variación de N sea mayor que la que el Tj actual puede tratar.
- 14. Un nodo (800) de acuerdo con la reivindicación 13, en donde durante dicho paso de ajuste, la unidad de puesta en memoria intermedia (802) está además adaptada para ejecutar los siguientes pasos:
- -
- actualizar instantáneamente Tjit para igualar a Tj, mediante la ejecución de un ataque rápido, en el caso de que Tj supere a Tjit, y
- -
- abandonar gradualmente el paquete más antiguo procedente de la memoria intermedia a una velocidad relajada hasta que Tjit corresponda a la variación actual de N, en el caso de que el presente retardo de la memoria intermedia, N*Trepin supere un umbral predeterminado, catchUpLimit.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2008/050090 WO2009093945A1 (en) | 2008-01-25 | 2008-01-25 | A simple adaptive jitter buffering algorithm for network nodes |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2452365T3 true ES2452365T3 (es) | 2014-04-01 |
Family
ID=40901321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES08705362.5T Active ES2452365T3 (es) | 2008-01-25 | 2008-01-25 | Un algoritmo simple de puesta en memoria intermedia de fluctuación de fase adaptable para nodos de red |
Country Status (7)
Country | Link |
---|---|
US (1) | US8254376B2 (es) |
EP (1) | EP2235894B1 (es) |
JP (1) | JP5153891B2 (es) |
CN (1) | CN101926134B (es) |
BR (1) | BRPI0821979B1 (es) |
ES (1) | ES2452365T3 (es) |
WO (1) | WO2009093945A1 (es) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8611337B2 (en) * | 2009-03-31 | 2013-12-17 | Adobe Systems Incorporated | Adaptive subscriber buffering policy with persistent delay detection for live audio streams |
US20120008573A1 (en) * | 2010-07-08 | 2012-01-12 | Apple Inc. | Radio resource signaling during network congestion in a mobile wireless device |
US20120154678A1 (en) * | 2010-12-20 | 2012-06-21 | Kuo-Lung Chang | Receiving device, screen frame transmission system and method |
CN102739503B (zh) * | 2011-04-01 | 2014-12-03 | 华平信息技术股份有限公司 | VoIP去抖动缓冲区的处理方法 |
US9191413B2 (en) * | 2011-11-01 | 2015-11-17 | T-Mobile Usa, Inc. | Synchronizing video and audio over heterogeneous transports |
JP6163741B2 (ja) * | 2012-11-30 | 2017-07-19 | ヤマハ株式会社 | ネットワーク受信用バッファのバッファサイズ決定方法及び装置並びにネットワークセッションシステム |
TWI507022B (zh) * | 2012-12-05 | 2015-11-01 | Ind Tech Res Inst | 多媒體串流的緩存輸出方法以及多媒體串流緩存模組 |
CN103036808B (zh) * | 2012-12-13 | 2015-04-29 | 四川九洲电器集团有限责任公司 | 一种去除网络抖动的方法及系统 |
GB201318653D0 (en) | 2013-10-22 | 2013-12-04 | Microsoft Corp | Adapting a jitter buffer |
US10779035B2 (en) * | 2014-01-09 | 2020-09-15 | Samsung Electronics Co., Ltd. | Method and apparatus of transmitting media data related information in multimedia transmission system |
CN105099795A (zh) | 2014-04-15 | 2015-11-25 | 杜比实验室特许公司 | 抖动缓冲器水平估计 |
CN105099949A (zh) | 2014-04-16 | 2015-11-25 | 杜比实验室特许公司 | 基于对延迟抖动和对话动态的监视的抖动缓冲器控制 |
WO2016144226A1 (en) * | 2015-03-06 | 2016-09-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-user packet transmission, clustering and/or scheduling in a wireless local area network |
CN105486915A (zh) * | 2015-12-30 | 2016-04-13 | 深圳市科陆电源技术有限公司 | 一种测量漏电流的系统及其方法 |
GB201614356D0 (en) * | 2016-08-23 | 2016-10-05 | Microsoft Technology Licensing Llc | Media buffering |
CN106656649B (zh) * | 2016-09-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种实时通话过程中基于测速的通道切换方法、客户端与服务器 |
KR102532645B1 (ko) * | 2016-09-20 | 2023-05-15 | 삼성전자 주식회사 | 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치 |
US10616123B2 (en) * | 2017-07-07 | 2020-04-07 | Qualcomm Incorporated | Apparatus and method for adaptive de-jitter buffer |
CN110351201B (zh) * | 2018-04-04 | 2021-09-14 | 华为技术有限公司 | 一种数据处理方法及装置 |
US20240089210A1 (en) * | 2021-03-30 | 2024-03-14 | Qualcomm Incorporated | Dejitter target delay value based on silence descriptors |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6452950B1 (en) * | 1999-01-14 | 2002-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive jitter buffering |
JP4218186B2 (ja) * | 1999-05-25 | 2009-02-04 | パナソニック株式会社 | 音声伝送装置 |
US6683889B1 (en) * | 1999-11-15 | 2004-01-27 | Siemens Information & Communication Networks, Inc. | Apparatus and method for adaptive jitter buffers |
US6747999B1 (en) * | 1999-11-15 | 2004-06-08 | Siemens Information And Communication Networks, Inc. | Jitter buffer adjustment algorithm |
JP3397191B2 (ja) * | 1999-12-03 | 2003-04-14 | 日本電気株式会社 | 遅延ゆらぎ吸収装置、遅延ゆらぎ吸収方法 |
ATE349113T1 (de) * | 2000-04-14 | 2007-01-15 | Cit Alcatel | Selbstanpassender zitterspufferspeicher |
US6862298B1 (en) * | 2000-07-28 | 2005-03-01 | Crystalvoice Communications, Inc. | Adaptive jitter buffer for internet telephony |
US7006511B2 (en) * | 2001-07-17 | 2006-02-28 | Avaya Technology Corp. | Dynamic jitter buffering for voice-over-IP and other packet-based communication systems |
CN1320805C (zh) * | 2003-09-17 | 2007-06-06 | 上海贝尔阿尔卡特股份有限公司 | 一种分组交换网络自适应抖动缓冲区调整方法 |
US7573894B2 (en) * | 2004-02-17 | 2009-08-11 | Mitel Networks Corporation | Method of dynamic adaptation for jitter buffering in packet networks |
US7359324B1 (en) * | 2004-03-09 | 2008-04-15 | Nortel Networks Limited | Adaptive jitter buffer control |
ATE488838T1 (de) * | 2004-08-30 | 2010-12-15 | Qualcomm Inc | Verfahren und vorrichtung für einen adaptiven de- jitter-puffer |
US7746847B2 (en) * | 2005-09-20 | 2010-06-29 | Intel Corporation | Jitter buffer management in a packet-based network |
JP2007150914A (ja) * | 2005-11-29 | 2007-06-14 | Kyocera Corp | 通信装置、バッファ遅延調整方法、及びプログラム |
TWI305101B (en) * | 2006-03-10 | 2009-01-01 | Ind Tech Res Inst | Method and apparatus for dynamically adjusting playout delay |
US7680099B2 (en) * | 2006-08-22 | 2010-03-16 | Nokia Corporation | Jitter buffer adjustment |
-
2008
- 2008-01-25 JP JP2010544260A patent/JP5153891B2/ja not_active Expired - Fee Related
- 2008-01-25 WO PCT/SE2008/050090 patent/WO2009093945A1/en active Application Filing
- 2008-01-25 US US12/811,667 patent/US8254376B2/en not_active Expired - Fee Related
- 2008-01-25 EP EP08705362.5A patent/EP2235894B1/en not_active Not-in-force
- 2008-01-25 CN CN2008801253679A patent/CN101926134B/zh active Active
- 2008-01-25 ES ES08705362.5T patent/ES2452365T3/es active Active
- 2008-01-25 BR BRPI0821979-6A patent/BRPI0821979B1/pt active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
BRPI0821979A2 (pt) | 2015-06-23 |
WO2009093945A1 (en) | 2009-07-30 |
EP2235894B1 (en) | 2014-01-22 |
JP2011510594A (ja) | 2011-03-31 |
CN101926134A (zh) | 2010-12-22 |
US20100296525A1 (en) | 2010-11-25 |
EP2235894A4 (en) | 2012-12-05 |
CN101926134B (zh) | 2013-06-19 |
US8254376B2 (en) | 2012-08-28 |
EP2235894A1 (en) | 2010-10-06 |
JP5153891B2 (ja) | 2013-02-27 |
BRPI0821979B1 (pt) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2452365T3 (es) | Un algoritmo simple de puesta en memoria intermedia de fluctuación de fase adaptable para nodos de red | |
EP2936770B1 (en) | Apparatus and methods for controlling jitter buffer | |
US9386128B2 (en) | Delay based active queue management for uplink traffic in user equipment | |
US8385212B2 (en) | Method and apparatus for finding latency floor in packet networks | |
TWI429227B (zh) | 廣播網路之封包佇列損失之暫態分析技術 | |
US20110103377A1 (en) | Implementing a High Quality VOIP Device | |
EP1517466A2 (en) | A self-adaptive jitter buffer adjustment method for packet-switched network | |
US20090010155A1 (en) | Network communication control methods and systems | |
US9860184B2 (en) | Fast friendly start for a data flow | |
TW200849842A (en) | Method of regulating the transmission jitter within a reception terminal | |
CN108933786B (zh) | 用于改善无线数字通信系统接收方密文语音质量的方法 | |
CN102292943A (zh) | 分组通信系统中的接收节点和用于管理分组通信系统中的接收节点中的缓冲器的方法 | |
US9603051B2 (en) | Systems and methods for push-to-talk voice communication over voice over internet protocol networks | |
US20080291833A1 (en) | Method for buffer control for network device | |
JP4629593B2 (ja) | パケット送信装置及びパケット伝送システム | |
JP4577220B2 (ja) | トークンバケットによるトラヒック制御装置、方法及びプログラム | |
US7646836B1 (en) | Dynamic clock rate matching across an asynchronous network | |
US10382155B2 (en) | Data processing | |
JP2008124967A (ja) | イーサoamスイッチ装置 | |
JP4973452B2 (ja) | WiMAXスケジューラーの待ち時間カウントを使用した無効データ除去 | |
US7983309B2 (en) | Buffering time determination | |
WO2020259381A1 (zh) | 对lte系统消息的mib消息的处理方法、装置、基站及存储介质 | |
CN112217734B (zh) | 一种语音信息的同步方法和通信系统 | |
JP2007241030A (ja) | サーバ装置及び同装置におけるバッファ制御方法 | |
GB2356537A (en) | Silence suppression/insertion buffer management |