ES2438094T3 - Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo - Google Patents

Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo Download PDF

Info

Publication number
ES2438094T3
ES2438094T3 ES09772510.5T ES09772510T ES2438094T3 ES 2438094 T3 ES2438094 T3 ES 2438094T3 ES 09772510 T ES09772510 T ES 09772510T ES 2438094 T3 ES2438094 T3 ES 2438094T3
Authority
ES
Spain
Prior art keywords
flow
level
filling
input buffer
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES09772510.5T
Other languages
English (en)
Inventor
Gaël MARTIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Enensys Technologies SA
Original Assignee
Enensys Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enensys Technologies SA filed Critical Enensys Technologies SA
Application granted granted Critical
Publication of ES2438094T3 publication Critical patent/ES2438094T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/07Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
    • H04J3/076Bit and byte stuffing, e.g. SDH/PDH desynchronisers, bit-leaking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Dispositivo de generación de un flujo de datos de salida (3.5) a partir de un flujo de datos de entrada (3.1) quecomprende: - medios para recibir los datos del flujo de entrada bajo la forma de paquetes de datos (2.4), - un buffer de entrada (3.2) para almacenar dichos paquetes de datos a su recepción, - medios para generar el flujo de salida por consumo de los datos almacenados en el buffer de entrada,estando los momentos de recepción de los paquetes de datos del flujo de entrada afectados por unafluctuación, caracterizado porque incorpora medios para cálcular de un nivel filtrado de llenado del buffer deentrada (6.4) que comprenden: - medios para definir un periodo de análisis (6.3) cuya duración sea superior a la fluctuación máxima queafecta el flujo de entrada; - medios para calcular el nivel filtrado de llenado del buffer de entrada, como máximo nivel de llenadoinstantáneo en el periodo de análisis anterior al momento del cálculo.

Description

Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo
La presente invención se refiere a un procedimiento para calcular un nivel filtrado de llenado del buffer de entrada de una pasarela generando un flujo de datos a partir de un flujo de datos recibido resistente a la fluctuación del flujo recibido. Se aplica más particularmente a una pasarela que recibe un flujo de transporte MPEG (Moving Picture Experts Group en inglés) recibido según el protocolo IP (Internet Protocol en inglés) y retransmitido según una interfaz ASI (Asynchronous Serial Interface en inglés).
En los estudios de televisión, los equipos profesionales intercambian tradicionalmente los flujos de datos de televisión digital bajo la forma de flujos de transporte MPEG por la vía de las interfaces serie asincrónas ASI. La importancia adquirida en estos últimos años por las redes de transmisión de datos de la familia IP y la necesidad de transmitir dichos flujos de televisión digital en largas distancias o con destino a múltiples equipos crea la necesidad de transferir los flujos entre estos dos mundos. Han surgido entonces pasarelas que permiten la transferencia de flujo entre el mundo ASI y el mundo IP.
La transmisión de un flujo por la vía de una interfaz ASI se caracteriza por un caudal y una cadencia de transmisión de los datos controlados. El inconveniente reside en la corta distancia y en la limitación de las posibilidades de encaminamiento del flujo. A la inversa, la transmisión de un flujo en una red IP permite alcanzar grandes distancias y realizar encaminamientos de difusión con mayor flexibilidad. El inconveniente es que el caudal no está garantizado, que la transferencia de los paquetes de datos puede sufrir pérdidas: duplicaciones y que la transmisión del flujo está sujeta a la introducción de fluctuación.
Dichas características no resultan molestas para una pasarela ASI hacia IP. En ese caso, se recibe un flujo de datos bien acompasados y con caudal constante que se utiliza para generar un flujo de paquetes IP regular e igualmente bien acompasados que se emite en la red IP. Por el contrario, la concepción de pasarelas IP hacia ASI requiere encarar los problemas de caudal, de cadencia, de pérdida y de fluctuación que pueden afectar el flujo después de su transmisión a través de una red IP para generar a la salida un flujo ASI que debe ser de caudal constante y con una cadencia controlada.
Si bien los problemas de pérdida potencial, de duplicación y de inversión de paquetes están supuestamente resueltos, los métodos conocidos de regulación del caudal del flujo ASI generado se ven afectados por la fluctuación introducida por la red IP.
Este procedimiento permite una regulación fiable del caudal de salida de flujo ASI generado a pesar de la fluctuación del flujo recibido. Además, este procedimiento requiere poco tiempo y recurso de cálculo. Por lo tanto, se puede introducir con poco coste en la pasarela IP hacia ASI. Aunque ha sido desarrollada en el marco de una pasarela para flujos MPEG entre el mundo IP y el mundo ASI, la invención puede aplicarse a toda pasarela que deba generar un flujo con caudal constante a partir de un flujo recibido bajo la forma de paquetes de datos que sufren una fluctuación.
La invención se refiere a un dispositivo de generación de un flujo de datos de salida a partir de un flujo de datos de entrada, siendo los datos del flujo de entrada recibidos bajo la forma de paquetes de datos, que son almacenados a su recepción en un buffer de entrada, estando el flujo de salida generado por consumo de los datos almacenados en el buffer de entrada, y estando los momentos de recepción de los paquetes de datos del flujo de entrada afectados por una fluctuación. Según la invención el dispositivo incorpora medios de cálculo de un nivel filtrado de llenado del buffer de entrada, que comprenden:
-
Medios para definir un período de análisis cuya duración sea superior a la fluctuación máxima que afecta el flujo de entrada;
-
Medios para calcular el nivel filtrado de llenado del buffer de entrada como máximo nivel de llenado instantáneo en el período de análisis que precede el momento del cálculo.
La invención se refiere igualmente a un procedimiento de cálculo de un nivel filtrado de llenado de un buffer de entrada en el seno de un dispositivo de generación de un flujo de datos de salida a partir de un flujo de datos de entrada, siendo los datos del flujo de entrada recibidos bajo la forma de paquetes de datos, que son almacenados a su recepción en un buffer de entrada, estando el flujo de salida generado por consumo de los datos almacenados en el buffer de entrada, y estando los momentos de recepción de los paquetes de datos del flujo de entrada afectados por una fluctuación; el procedimiento comprende una etapa de definición de un período de análisis cuya duración sea superior a la fluctuación máxima que afecta el flujo de entrada; una etapa de cálculo del nivel filtrado de llenado del buffer de entrada como siendo el máximo nivel de llenado instantáneo en el período de análisis que precede el momento del cálculo.
Según un modo particular de realización de la invención, el nivel de llenado instantáneo se obtiene mediante una etapa de cálculo del nivel de llenado instantáneo de un buffer de entrada virtual, realizándose el cálculo a la llegada de cada paquete de datos, sumándose a tal fin la cantidad de datos recibidos y restando la cantidad de datos teóricamente consumidas desde la etapa de cálculo anterior.
Según un modo particular de realización de la invención, el procedimiento comprende además una etapa de memorización del momento asociado al máximo retenido como valor del nivel filtrado de llenado del buffer de entrada.
La invención se refiere igualmente a un procedimiento de regulación del caudal útil del flujo generado por un dispositivo tal como el descrito anteriormente, según el cual la regulación se hace control de un valor de referencia predefinido del nivel filtrado de llenado del buffer de entrada, calculado tal como se describe anteriormente.
La invención se refiere igualmente a un procedimiento de cálculo de la desviación del reloj interno de un dispositivo tal como el descrito anteriormente que comprende una etapa de estimación de la pendiente de la curva del nivel filtrado de llenado calculado tal como se ha descrito anteriormente.
La invención se refiere igualmente a un procedimiento de cálculo de la fluctuación del flujo recibido por un dispositivo tal como el descrito anteriormente que comprende una etapa de cálculo del mínimo del nivel filtrado de llenado del buffer de entrada del dispositivo en el periodo de análisis, obteniéndose el valor de la fluctuación dividiendo por el caudal del flujo la diferencia entre el máximo y el mínimo por el caudal del flujo.
El estado de la técnica (US2002/154640) divulga un dispositivo y un procedimiento de minimización de la fluctuación a través de una memoria buffer.
Las características de la invención mencionadas anteriormente, así como otras, aparecerán con mayor claridad en la descripción siguiente de un ejemplo de realización, realizándose dicha descripción en relación con los dibujos adjuntos, en los cuales:
La Fig.1 ilustra un ejemplo de estructura de difusión de flujo utilizando una pasarela según la invención,
La Fig. 2 ilustra el fenómeno de fluctuación,
La Fig. 3 ilustra un ejemplo de realización de una pasarela según la invención,
La Fig. 4 ilustra la evolución del nivel del buffer de entrada sin fluctuación,
La Fig. 5 ilustra la evolución del nivel del buffer de entrada con fluctuación,
La Fig. 6 ilustra la evolución del nivel del buffer de entrada con fluctuación en un periodo según la invención.
La Fig. 1 ilustra un ejemplo de estructura de difusión de flujo que utiliza una pasarela según la invención. En este ejemplo, se observa una fuente 1.2 que genera un flujo de datos ASI 1.3. Dicha fuente recibe una señal de reloj de referencia para la generación del flujo, por ejemplo el reloj de 10 MHz, emitida por el sistema GPS. El caudal útil del flujo emitido es constante. Se define el caudal útil mediante el caudal de paquetes de datos MPEG en el flujo. El flujo de datos ASI 1.3 se transfiere a continuación en la red IP 1.6 por la pasarela ASI hacia IP 1.4. Dicha pasarela genera un flujo 1.5 de paquetes IP que contienen de 1 a 7 paquetes de datos MPEG TS (Transport Stream en inglés). Los paquetes IP se emiten respetando la cadencia del flujo ASI recibido. Llegado a destino, el flujo IP se transforma nuevamente en un flujo ASI 1.8 por la pasarela IP ASI 1.7.
La red IP 1.6 genera un conjunto de perturbaciones en los datos transportados. Por una parte, la red puede originar pérdida, duplicación así como inversión de paquetes. Estas perturbaciones son ignoradas ya que su solución resulta conocida. Resulta posible, cuando se controla la red IP, como es por ejemplo el caso cuando se utiliza en el interior de un estudio, dimensionar esta red de modo que se asegure que dichas perturbaciones no se van a producir. En efecto, se producen cuando ciertos nudos de encaminamiento se saturan entre la fuente y el destino. En ese caso, se pueden perder paquetes o la saturación puede acarrear decisiones de encaminamiento diferentes para los paquetes, lo que conduce a tiempos de transporte diferentes y por lo tanto a posibles inversiones en el orden de los paquetes transmitidos. En un contexto limitado donde se controla la red, un dimensionamiento amplio de los nudos de encaminamiento y de las uniones permite evitar estos inconvenientes. Cuando no es así, la utilización de protocolos de control tales como RTP permite corregir las duplicaciones y las inversiones de paquetes. También se pueden proteger los paquetes mediante correctores de errores, por ejemplo un código FEC (Forward Error Correction en inglés) que agrega redundancia lo que permite la reconstrucción de eventuales paquetes perdidos. La utilización de dichos mecanismos permite volver a la hipótesis de un flujo sin pérdida, duplicación o inversión de paquetes.
Por otra parte, un retraso se debe al tiempo que los paquetes tardan en atravesar la red. Se puede modelizar dicho retraso como siendo la suma de un tiempo de propagación fijo, idéntico para todos los paquetes, y de un factor de fluctuación que consiste en un retraso aleatorio que afecta a cada paquete independientemente. Todo ello está ilustrado en la Fig. 2. Allí se observa un flujo regular 2.1 que contiene paquetes de datos emitidos con un intervalo de tiempo t. Dicho flujo se transmite entonces mediante una red 2.2 introduciendo fluctuación. Se observa que el paquete de datos 2.4 que tendría que haber sido transmitido en un tiempo t después del paquete anterior, se transmite en efecto en un tiempo t+lt. Aquí lt representa la fluctuación que afecta al paquete 2.4.
El retraso debido al tiempo de propagación fijo, al menos mientras permanezca razonable, no plantea problema alguno. Se analiza en un tiempo de latencia. Por ejemplo, en una red de difusión SFN (Single Frequency Network en inglés), mientras la latencia total de la cadena no exceda de un segundo, dicha latencia no afectara los mecanismos de sincronización entre emisores y no acarreará ninguna consecuencia que amenace el funcionamiento del sistema.
Veremos que no ocurre lo mismo con respecto al fenómeno de fluctuación, en particular para los mecanismos de regulación del caudal útil del flujo generado.
La Fig. 3 ilustra el funcionamiento de la pasarela IP ASI. Recibe a la entrada el flujo 3.1 que es leído en un buffer de entrada 3.2. Dicho flujo de entrada es recibido bajo la forma de paquetes de datos que son almacenados a su recepción en el buffer. Dicho buffer es leído, octeto por octeto 3.3, por el módulo 3.4 de generación de flujo ASI de salida 3.5. El nivel de llenado del buffer de entrada 3.2 está controlado e informaciones de control 3.6 son transmitidas a un módulo de regulación 3.8. Dicho módulo genera parámetros de regulación 3.7 con destino al módulo 3.4 de generación del flujo de salida.
El caudal útil del flujo de salida se define del modo siguiente. La señal ASI es una señal de serie emitida según un reloj bit de 270 MHz. Los datos son transmitidos por paquetes de 8 bits según una codificación 8 bits hacia 10 bits mediante un alfabeto de codificación para otorgar fiabilidad a la transmisión. Se obtiene entonces un caudal de datos de 216 Mbits/s.
Se insertan regularmente palabras de sincronización entre los paquetes TS transmitidos. Se habla de palabras de sincronización inter packet para indicar inter paquetes. Se insertan igualmente palabras de sincronización entre los octetos en el seno de un paquete TS. Se habla entonces de palabras de sincronización inter byte para indicar inter octetos. Estas palabras de sincronización se interpretan como datos de llenado que permiten el ajuste del caudal útil del flujo en función de un caudal total de 216 Mbits/s como ya se ha visto.
Se supone que el caudal del flujo de entrada que define el caudal útil teórico del flujo generado resulta conocido. Se obtiene generalmente a través de informaciones de señalización SFN o también se mide en el transcurso de una etapa de estimación inicial del caudal. Un procedimiento de estimación del caudal que utiliza la invención se describe más adelante.
El flujo generado a la salida de la pasarela utiliza un reloj para acompasar la inserción de los datos útiles en la unión ASI. Dicho reloj se genera mediante un oscilador controlable, por ejemplo un NCO (Numerical Controlled Oscillator en inglés). Se puede utilizar también un VCO (Voltage Control Oscillator en inglés) a partir de un reloj interno y de un valor de ajuste de reloj denominado nco. Según este procedimiento, el caudal útil se define mediante la fórmula:
Caudal = K / nco ;
Dónde K es una constante proporcional a la frecuencia del oscilador interno.
El reloj interno de la pasarela tomado como referencia nunca es perfecto y sufre por lo tanto una desviación con el tiempo. Esta desviación se ve afectada también por condiciones de uso, tales como la temperatura ambiente, el envejecimiento del componente y otras. El mantenimiento del caudal útil del flujo generado requiere por tanto un mecanismo de regulación que puede consistir por ejemplo en uno que le haga depender del caudal de entrada del flujo tal como el conocido bajo el nombre de mecanismo de dependencia PID (Proportionnel, Intégral et Dérivé).
Dicha dependencia PID se efectúa en función del nivel de llenado instantáneo del buffer de entrada. Dicho nivel de llenado del buffer de entrada evoluciona en forma de dientes de sierra, tal como se ilustra en la Fig. 4. En dicha figura, la parte superior 4.1 representa los momentos de recepción de un paquete IP en el tiempo. La parte inferior 4.2 representa la evolución del nivel de llenado del buffer. Cuando se recibe un paquete IP, éste contiene una cierta cantidad de octetos correspondientes a una cantidad de uno a siete paquetes TS, con 188 octetos cada uno. Dichos datos se registran en el buffer, lo que se representa a través de los trazos verticales de la curva
4.2. Entre los momentos de recepción de un paquete IP, los octetos son consumidos regularmente por el módulo de generación del flujo en función del caudal presentado anteriormente. Dicho mecanismo está representado por la disminución oblicua de la curva 4.2. Se define la medida del nivel instantáneo 4.3 del buffer con la medida del nivel justo después de la escritura de un paquete IP. Este nivel denominado instantáneo corresponde por lo tanto al nivel en el vértice del diente de sierra.
La dependencia puede realizarse entonces fijando un nivel enfocado como 4.4 y modificando el valor de ajuste del reloj nco en función del nivel de llenado instantáneo con respecto a dicho nivel fijado como objetivo, que llamaremos en lo sucesivo nivel enfocado. Cuando el nivel de llenado instantáneo es superior al nivel enfocado, se reduce el valor nco lo que tiene por efecto aumentar el caudal útil del flujo generado y por lo tanto el vaciado del buffer. Cuando el nivel de llenado instantáneo es inferior al nivel enfocado, se incrementa el valor de nco lo que tiene por efecto reducir el caudal útil del flujo generado y por lo tanto la llenado del buffer. Se aplica entonces al valor de nco una corrección proporcional al error entre el nivel efectivo y el nivel enfocado de llenado del buffer. De este modo se logra mantener el nivel efectivo de llenado del buffer próximo al nivel enfocado y se obtiene de este modo una dependencia del caudal útil del flujo generado respecto al caudal del flujo recibido.
Este mecanismo funciona correctamente ante la ausencia de fluctuación tal como está ilustrado en la Fig. 4. La introducción de fluctuación en el momento de llegada de los paquetes IP influencia el nivel de llenado del buffer de entrada como está representado en la Fig. 5. En dicha figura, el paquete P7 llega con retraso y por lo tanto sufre una fluctuación. Se observa en la figura que la consecuencia es que la etapa de vaciado del buffer después de la recepción del paquete P6 se prolonga; el nivel del buffer después de la recepción del paquete P7 resulta por lo tanto inferior a lo que hubiera sido si el paquete hubiese sido recibido a tiempo. Se observa en la figura que dicho nivel se encuentra por debajo del nivel enfocado 5.4 cuando tendría que encontrarse por encima. En ese momento, una corrección del caudal resultará falseada y tenderá a reducir el caudal útil del flujo mientras que el nivel de llenado del buffer tiende a aumentar, lo que acentúa el error.
Una posible solución a dicho problema consiste en efectuar la dependencia ya no con respecto al nivel instantáneo de llenado del buffer sino con respecto a un promedio exponencial de dicho nivel. Dicho promedio exponencial Vi se calcula entonces en el momento de la recepción de un paquete IP i como:
Vi = a.Vi + (1- a).Vi-1 ;
dónde vi representa el nivel de llenado instantáneo del buffer después de la recepción del paquete IP i y a un parámetro cuyo valor se debe tomar entre 0 incluido y 1 excluido. Se puede señalar que el valor a =1 correspondería al nivel instantáneo.
Se constata que si el valor a utilizado es muy bajo, es decir próximo a 0 se introduce un error bajo en el cálculo del nivel de llenado del buffer, pero se tarda mucho en converger hacia el valor correspondiente a una recepción sin fluctuación. Inversamente, si a es próximo a 1, se introduce un error importante, pero se converge más pronto. Se observa que la fluctuación introduce una fuerte desviación del promedio exponencial que necesita utilizar valores bajos de a y por lo tanto se obtiene un tiempo de dependencia largo y una gran amplitud de dependencia. El tiempo de convergencia largo introduce igualmente un desfasaje importante.
Otra solución a dicho problema consiste en definir un periodo de tiempo denominado periodo de análisis de una duración superior a la fluctuación máxima del flujo recibido y a considerar como valor del nivel de llenado del buffer, denominado aquí nivel de llenado filtrado, el máximo de dicho nivel durante el periodo de análisis anterior al momento del cálculo. La Fig. 6 ilustra dicha solución. Se vuelve a ver la curva 6.1 que indica los momentos de recepción de los paquetes y la curva 6.2 del nivel de llenado del buffer de entrada. La curva está dibujada durante un periodo de tiempo 6.3 que corresponde al periodo de análisis definido como superior a la fluctuación máxima del flujo recibido. En el momento correspondiente al momento de recepción del paquete 6.5, el valor filtrado de llenado del buffer, utilizado para la regulación de caudal, se define como el máximo nivel de llenado durante el periodo de análisis 6.3, es decir el nivel 6.4. Dicho valor puede ser calculado al final del periodo de análisis o más frecuentemente en cada recepción de paquetes utilizando un periodo de análisis móvil. Se observa que el valor filtrado 6.4 es entonces el valor considerado para el cálculo del nivel filtrado de llenado del buffer tal como ha sido calculado en el momento de la recepción del paquete 6.5. Pero este valor corresponde en realidad al del momento de llegada del paquete 6.6. Dicho método acarrea entonces un ligero desfasaje en el tiempo, ya que se atribuye al momento del final del periodo de análisis un valor que corresponde en realidad a un momento en curso del periodo. Ventajosamente, es posible memorizar, además de dicho valor máximo del nivel de llenado del buffer en el transcurso del periodo el momento correspondiente de modo que se pueda utilizar dicho momento en vez del momento de cálculo en ciertas aplicaciones de este método de cálculo.
Dicho método permite borrar irregularidades de la curva de nivel de llenado del buffer de entrada introducidas por la fluctuación del flujo recibido. Tiene igualmente la ventaja de ser muy simple de implementar y de no requerir muchos recursos. Dicho método permite así efectuar la regulación de caudal útil del flujo saliente en régimen continuo. También se puede utilizar para estimar la desviación del reloj. En ese caso, la variable de ajuste del reloj no se modifica y se mide la evolución del nivel de llenado filtrado del buffer mediante el método del máximo descrito anteriormente. Se puede utilizar entonces una regresión lineal, por ejemplo el método de los mínimos cuadrados, para estimar la pendiente de la curva de evolución del nivel de llenado del buffer y deducir de ello la desviación del reloj. Ventajosamente, dicho procedimiento de estimación de la pendiente de la curva del nivel de llenado del buffer utiliza la memorización del momento asociado al nivel filtrado de llenado retenido. Los puntos entonces retenidos están realmente en la curva de la cual se quiere estimar la pendiente, al contrario que los puntos retenidos al asociar el máximo en el periodo en el momento de finalizar el periodo.
Una medición suplementaria del nivel mínimo de llenado del buffer en el periodo permite medir precisamente la fluctuación del flujo recibido. En efecto, dicha fluctuación corresponde a la diferencia entre el máximo y el mínimo dividido por el caudal.
Igualmente, la invención puede ser ventajosamente utilizada para calcular el caudal del flujo entrante. En este caso, independientemente de la generación del flujo saliente, se calcula un primer valor aproximado del caudal del flujo entrante. Se fija entonces el consumo de los datos del buffer de entrada en función de dicho valor aproximado. No es necesario generar efectivamente el flujo de salida en este caso. Se realiza entonces una estimación de la pendiente de la curva del nivel de llenado del buffer según la invención. Dicha curva sufre una desviación según una pendiente que depende del error entre el caudal real del flujo de entrada y el valor aproximado utilizado para el consumo del buffer. Se afina entonces dicho valor para calcular el caudal preciso del flujo de entrada. Como la generación del flujo de salida, no es necesaria para este cálculo, se puede utilizar un buffer de entrada virtual en lugar del buffer real. En este caso, se mantiene por cálculo el nivel de llenado instantáneo que tendría el buffer real de entrada. A la llegada de cada paquete de datos, resulta suficiente con actualizar dicho valor mediante una etapa de cálculo que consiste en una actualización del nivel instantáneo de llenado del buffer virtual añadiéndole la cantidad de datos recibida y restándole la cantidad de datos consumida en el intervalo de tiempo transcurrido desde la última etapa de cálculo. Se obtiene así un nivel de llenado instantáneo del buffer que puede ser utilizado en la invención para el cálculo del nivel filtrado de llenado del buffer.
La invención puede ser utilizada en cualquier dispositivo que implemente una regulación de caudal entre un flujo entrante y un flujo saliente en la medida en que dichos flujos esten en modo CBR (Constant Bit Rate en inglés), es decir con caudal constante. No se limita por lo tanto al campo del transporte de vídeo MPEG sino que puede aplicarse a todo flujo de datos con caudal constante, vídeo, audio, voz en IP. También puede ser utilizada en el marco de la regulación de los nudos de encaminamiento genéricos cualquiera sea el protocolo de transporte utilizado como ATM u otros.

Claims (7)

  1. REIVINDICACIONES
    1. Dispositivo de generación de un flujo de datos de salida (3.5) a partir de un flujo de datos de entrada (3.1) que comprende:
    -
    medios para recibir los datos del flujo de entrada bajo la forma de paquetes de datos (2.4),
    -
    un buffer de entrada (3.2) para almacenar dichos paquetes de datos a su recepción,
    -
    medios para generar el flujo de salida por consumo de los datos almacenados en el buffer de entrada,
    estando los momentos de recepción de los paquetes de datos del flujo de entrada afectados por una fluctuación, caracterizado porque incorpora medios para cálcular de un nivel filtrado de llenado del buffer de entrada (6.4) que comprenden:
    -
    medios para definir un periodo de análisis (6.3) cuya duración sea superior a la fluctuación máxima que afecta el flujo de entrada;
    -
    medios para calcular el nivel filtrado de llenado del buffer de entrada, como máximo nivel de llenado instantáneo en el periodo de análisis anterior al momento del cálculo.
  2. 2. Procedimiento de cálculo de un nivel filtrado de llenado de un buffer de entrada (6.4) en el seno de un dispositivo de generación de un flujo de datos de salida (3.5) a partir de un flujo de datos de entrada (3.1), siendo los datos del flujo de entrada recibidos bajo la forma de paquetes de datos (2.4), estando dichos paquetes de datos almacenados a su recepción en un buffer de entrada (3.2), estando el flujo de salida generado por consumo de los datos almacenados en el buffer de entrada, y estando los momentos de recepción de los paquetes de datos del flujo de entrada afectados por una fluctuación, caracterizándose el procedimiento porque comprende las etapas siguientes:
    -
    una etapa de definición de un periodo de análisis (6.3) cuya duración sea superior a la fluctuación máxima que afecta el flujo de entrada;
    -
    una etapa de cálculo del nivel filtrado de llenado del buffer de entrada como siendo el máximo nivel de llenado instantáneo en el periodo de análisis anterior al momento del cálculo.
  3. 3.
    Procedimiento según la reivindicación 2, caracterizado porque el nivel de llenado instantáneo se obtiene mediante una etapa de cálculo del nivel de llenado instantáneo de un buffer de entrada virtual, realizándose dicho cálculo a la llegada de cada paquete de datos, sumándose a tal fin la cantidad de datos recibidos y restando la cantidad de datos teóricamente consumida desde la etapa de cálculo anterior.
  4. 4.
    Procedimiento según la reivindicación 2 o 3, caracterizado porque comprende además una etapa de memorización del momento asociado al máximo retenido como valor del nivel filtrado de llenado del buffer de entrada.
  5. 5.
    Procedimiento de regulación del caudal útil del flujo generado por un dispositivo según la reivindicación 1, caracterizado porque la regulación se hace mediante control de un valor enfocado predeterminado, del nivel filtrado de llenado del buffer de entrada calculado según una de las reivindicaciones 2 a 4.
  6. 6.
    Procedimiento de cálculo de la desviación del reloj interno de un dispositivo según la reivindicación 1, caracterizado porque comprende una etapa de estimación de la pendiente de la curva del nivel filtrado de llenado calculada según una de las reivindicaciones 2 a 4.
  7. 7.
    Procedimiento de cálculo de la fluctuación del flujo recibido por un dispositivo según la reivindicación 1, que comprende el cálculo de un primer nivel filtrado de llenado del buffer de entrada según una de las reivindicaciones 2 a 4, caracterizado porque comprende además:
    -
    una etapa de cálculo de un segundo nivel filtrado de llenado del buffer de entrada como siendo el mínimo nivel de llenado instantáneo en el período de análisis anterior al momento del cálculo;
    -
    una etapa de cálculo del valor de la fluctuación obtenida dividiendo por el caudal del flujo la diferencia entre los niveles filtrados primero y segundo.
ES09772510.5T 2008-07-03 2009-07-02 Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo Active ES2438094T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0854516A FR2933562B1 (fr) 2008-07-03 2008-07-03 Dispositif de generation de flux, procede de calcul d'un niveau de remplissage d'un tampon d'entree au sein du dispositif et procede de regulation de flux
FR0854516 2008-07-03
PCT/EP2009/058344 WO2010000810A1 (fr) 2008-07-03 2009-07-02 Dispositif de génération de flux, procédé de calcul d'un niveau de remplissage d'un tampon d'entrée au sein du dispositif et procédé de régulation de flux

Publications (1)

Publication Number Publication Date
ES2438094T3 true ES2438094T3 (es) 2014-01-15

Family

ID=39832394

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09772510.5T Active ES2438094T3 (es) 2008-07-03 2009-07-02 Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo

Country Status (5)

Country Link
US (1) US8560723B2 (es)
EP (1) EP2311209B1 (es)
ES (1) ES2438094T3 (es)
FR (1) FR2933562B1 (es)
WO (1) WO2010000810A1 (es)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9410943D0 (en) * 1994-06-01 1994-07-20 Newbridge Networks Corp Clock recovery unit
US6721328B1 (en) * 1999-11-19 2004-04-13 Adc Telecommunications, Inc. Adaptive clock recovery for circuit emulation service
AU2001221712A1 (en) * 2000-12-21 2002-07-01 Nokia Corporation Fifo buffer with output rate adjusting
US7006510B2 (en) * 2001-01-17 2006-02-28 Optibase Ltd. Method of clock mismatch and drift compensation for packet networks
CN1320805C (zh) * 2003-09-17 2007-06-06 上海贝尔阿尔卡特股份有限公司 一种分组交换网络自适应抖动缓冲区调整方法
JP4337707B2 (ja) * 2004-10-27 2009-09-30 ソニー株式会社 情報再生装置、バッファ制御方法およびプログラム
US9219917B2 (en) * 2005-01-19 2015-12-22 Thomson Licensing Method and apparatus for real time parallel encoding
US8295344B2 (en) * 2007-10-22 2012-10-23 Broadcom Corporation Adaptive rate control for encoding of variable frame rate video sources

Also Published As

Publication number Publication date
US20110185080A1 (en) 2011-07-28
US8560723B2 (en) 2013-10-15
FR2933562B1 (fr) 2012-12-14
WO2010000810A1 (fr) 2010-01-07
EP2311209B1 (fr) 2013-09-04
EP2311209A1 (fr) 2011-04-20
FR2933562A1 (fr) 2010-01-08

Similar Documents

Publication Publication Date Title
Luan et al. Impact of network dynamics on user's video quality: Analytical framework and QoS provision
US7376141B2 (en) Method and system for encapsulating variable-size packets
ES2621240T3 (es) Procesado de datos multimedia
US6633540B1 (en) Real-time traffic shaper with keep-alive property for best-effort traffic
ES2376942T3 (es) PLANIFICACIÓN DE CALIDAD DE SERVICIO (QoS) SENSIBLE A LATENCIA DE PAQUETES INTEGRADA QUE USA EQUIDAD PROPORCIONAL Y PUESTA EN COLA EQUITATIVA PONDERADA PARA SERVICIOS DE PAQUETES MULTIMEDIA INTEGRADOS INAL�?MBRICOS.
US7830796B2 (en) Method and apparatus for traffic shaping
ES2275481T3 (es) Una memoria tampon autoadaptiva de fluctuacion.
CN1878049B (zh) 通过使用纠错包控制传输速率的方法及其通信设备
ES2201024T3 (es) Plataforma de ip para sistemas avanzados de acceso multipunto.
KR20050004239A (ko) 셀들의 캡슐화를 위한 방법 및 시스템
CN114095453A (zh) 调度数据包的方法和相关装置
Wang et al. Mobile edge computing-enabled channel-aware video streaming for 4G LTE
Alam et al. Traffic shaping for MPEG video transmission over the next generation internet
ES2438094T3 (es) Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo
Kalman et al. RD optimized media streaming enhanced with adaptive media playout
US10587518B2 (en) Identifying network conditions
WO2022105686A1 (zh) 报文处理方法以及相关装置
Jung et al. Resource-aware and quality-fair video-streaming using multiple adaptive TCP connections
Zhu et al. Cloud-assisted streaming for low-latency applications
EP4447405A1 (en) Message scheduling method, network device, storage medium, and computer program product
CN115883457B (zh) 一种通信方法以及路由设备
Zhao et al. A rate adaptive algorithm for HTTP streaming
Dán et al. Comparison of shaping and buffering for video transmission
Sehgal et al. Fast distortion-buffer optimized streaming of multimedia
Winstein et al. Congestion Control for Interactive Real-Time Flows on Today’s Internet