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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 29
- 230000033228 biological regulation Effects 0.000 title claims description 11
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 230000000717 retained effect Effects 0.000 claims description 5
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000001276 controlling effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000009792 diffusion process Methods 0.000 description 2
- 239000000945 filler Substances 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011430 maximum method Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008844 regulatory mechanism Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44004—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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/64707—Control 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/07—Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
- H04J3/076—Bit 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)
- REIVINDICACIONES1. 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. 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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 |
-
2008
- 2008-07-03 FR FR0854516A patent/FR2933562B1/fr not_active Expired - Fee Related
-
2009
- 2009-07-02 WO PCT/EP2009/058344 patent/WO2010000810A1/fr active Application Filing
- 2009-07-02 EP EP09772510.5A patent/EP2311209B1/fr not_active Not-in-force
- 2009-07-02 US US13/002,375 patent/US8560723B2/en active Active
- 2009-07-02 ES ES09772510.5T patent/ES2438094T3/es active Active
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 |