ES2254134T3 - Metodo y aparato para la comunicacion de datos isocronos. - Google Patents
Metodo y aparato para la comunicacion de datos isocronos.Info
- Publication number
- ES2254134T3 ES2254134T3 ES00902626T ES00902626T ES2254134T3 ES 2254134 T3 ES2254134 T3 ES 2254134T3 ES 00902626 T ES00902626 T ES 00902626T ES 00902626 T ES00902626 T ES 00902626T ES 2254134 T3 ES2254134 T3 ES 2254134T3
- Authority
- ES
- Spain
- Prior art keywords
- time
- transmission
- data
- packet
- clock
- 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.)
- Expired - Lifetime
Links
- 238000004891 communication Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims abstract description 95
- 230000001360 synchronised effect Effects 0.000 claims abstract description 20
- 238000012937 correction Methods 0.000 claims abstract description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 230000005236 sound signal Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- 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
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43632—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5649—Cell delay or jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5664—Support of Video, e.g. MPEG
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Enzymes And Modification Thereof (AREA)
Abstract
Método de corrección de errores de temporización cuando se transmiten (6) datos isócronos por una red (1, 2, 3, 4) de comunicaciones basada en paquetes, en el que al menos algunos de los paquetes de datos contienen sellos de tiempo que le indican a un receptor (8) el tiempo en el que deberían procesarse los datos, caracterizado porque el método comprende las etapas de: a) insertar sellos de tiempo de transmisión en paquetes de datos isócronos que se refieren a un tiempo absoluto tal como lo define un reloj (7) de transmisión y que han de transmitirse por una red de transmisión, b) recibir (8) los paquetes de datos y detectar y grabar temporalmente los sellos de tiempo de transmisión en los mismos, c) proporcionar un reloj (9) de receptor que está sincronizado en frecuencia, pero no necesariamente en tiempo absoluto, con el reloj (7) de transmisión, d) almacenar el tiempo absoluto del reloj (9) de receptor cuando se recibe el primer paquete que contiene un sello de tiempo de transmisión, e)sumar (90) un desfase (91) de tiempo dado al tiempo almacenado del reloj de receptor, siendo el desfase mayor o igual que la variación máxima en tiempo entre sucesivos paquetes de datos recibidos, para definir el tiempo de salida del primero de los paquetes de datos recibidos, f) restar (89) el valor del sello de tiempo de transmisión en el primer paquete (87) de datos recibido del sello de tiempo de transmisión en cada paquete (88) de datos recibido posteriormente, y g) sumar (95) la diferencia (89) entre el sello de tiempo de transmisión del presente paquete de datos y el sello de tiempo de transmisión del primer paquete de datos al tiempo de salida del primer paquete de datos para definir el tiempo de salida del presente paquete.
Description
Método y aparato para la comunicación de datos
isócronos.
La invención se refiere a un método de corrección
de errores de temporización cuando se transmiten datos isócronos a
través de una red de comunicación basada en paquetes, en la que al
menos algunos de los paquetes de datos contienen sellos de tiempo
que le indican a un receptor el momento en el que deberían
procesarse los datos, y al aparato para llevar a cabo tal
método.
En los sistemas de comunicación digital, es
habitual dividir en paquetes la información que hay que enviar desde
un dispositivo transmisor a un dispositivo receptor. Tales paquetes
pueden retardarse por una longitud de tiempo finita y variable
mientras atraviesan el sistema de comunicación.
La transmisión de datos isócronos a través de un
sistema de comunicación requiere el mantenimiento de una relación de
temporización precisa entre el dispositivo transmisor y el
dispositivo receptor a fin de preservar la calidad de los servicios
que utilizan el sistema de comunicación. Tales datos isócronos
pueden, por ejemplo, transportar servicios de vídeo o de audio. Si
el sistema de comunicación no mantiene la relación de temporización
entre el dispositivo transmisor y el dispositivo receptor, puede ser
incapaz de proporcionar una calidad aceptable de un servicio de
audio y/o vídeo en el extremo receptor de la transmisión.
Un ejemplo de una aplicación de este tipo es la
transmisión de señales digitales de audio y/o vídeo que se codifican
según normas MPEG (Moving Picture Experts Group). El reloj binario
del decodificador MPEG en el dispositivo de presentación debe
funcionar a la misma velocidad que el reloj binario del dispositivo
que codificó originalmente los datos según la norma MPEG. A fin de
lograr esto, las normas MPEG requieren que el dispositivo
codificador coloque un sello de tiempo, conocido como Referencia del
reloj del programa (PCR – Program Clock Reference) o Referencia del
reloj del sistema (SCR – System Clock Reference), sobre algunos de
los paquetes de datos MPEG. El dispositivo decodificador detecta y
lee los valores PCR y SCR y los utiliza para enviar señales a su
reloj interno a fin de controlar la velocidad del mismo.
Tal relación de temporización puede mantenerse si
el dispositivo transmisor transmite los paquetes de datos a la misma
velocidad a la que se requiere que la aplicación en tiempo real en
el extremo receptor del sistema de comunicación procese dichos
paquetes, y la longitud de tiempo que se retarda cada paquete
durante la transmisión a través del sistema de comunicación es la
misma para cada paquete.
Sin embargo, en los sistemas de comunicación
digital reales, tales como un bus IEEE1394, una red Hiperlan (Red de
área local de radio de alto rendimiento), AMT (Asynchronous Transfer
Mode -Modo de transferencia asíncrono) o un sistema UMTS (Universal
Mobile Telecommunications System– Sistema universal de
telecomunicaciones móviles), la longitud de tiempo que se retarda
cada paquete puede variar de paquete en paquete. En el caso de una
transmisión de datos MPEG codificados, una variación de este tipo en
el retardo de transmisión tiene como resultado el suministro de
señales de conexión erróneas al reloj interno del decodificador.
Un método que se ha propuesto para superar los
efectos de la fluctuación de fase de transmisión es usar una memoria
intermedia en el dispositivo receptor, memoria intermedia en la que
los paquetes recibidos destinados a la aplicación se almacenan
temporalmente. Los paquetes se llevan luego de la memoria intermedia
a la parte de la aplicación del dispositivo receptor, o a la
siguiente etapa en un sistema de comunicación, a una velocidad
determinada por un algoritmo que tiene la cantidad de datos
contenidos en la memoria intermedia como una entrada. En ausencia de
características adicionales, este enfoque presenta desventajas que
pueden incluir el tamaño y, por tanto, el coste de la memoria
intermedia requerida y el nivel de precisión de la velocidad de
salida de datos de la memoria intermedia.
Análogamente, la patente WO 95/14337, concedida a
Codex Corporation, describe un método de suavización adaptativa para
aplicaciones de voz en paquetes. El método comprende monitorizar el
tiempo que un paquete espera en una memoria intermedia y regular el
tiempo en el que se reproducen paquetes de voz futuros. La
monitorización implica crear un histograma de tiempos de espera y
analizar periódicamente el histograma para regular el tiempo de
reproducción. Este enfoque tiene la desventaja de algoritmos de
postprocesamiento y un almacenamiento/mantenimiento de datos
relativamente complejos.
Otro método propuesto, que asegura resolver el
problema de la fluctuación de fase de transmisión, se da a conocer
en la patente estadounidense Nº 5.790.543. Esta publicación da a
conocer el uso de un reloj adicional en el dispositivo receptor que
es independiente del reloj de transmisión, esto es, el reloj del
receptor no está sincronizado con el reloj del transmisor. La
diferencia entre los sellos de tiempo de paquetes sucesivos, que
representa la diferencia en tiempos de llegada esperados de los
paquetes sucesivos, se resta de la diferencia entre los valores del
reloj independiente adicional en los instantes en los que llegaron
los paquetes. A esta última diferencia se hace referencia entonces
como al tiempo real entre llegadas de los paquetes. Se asegura que
el resultado de este proceso de resta representa la fluctuación de
fase incurrida por los paquetes de datos durante la transmisión a
través del sistema de comunicación. Sin embargo, el presente
solicitante cree que este procedimiento no tendrá como resultado una
corrección precisa de ninguna fluctuación de fase en los datos
transmitidos.
Otro método de superación de la fluctuación de
fase de transmisión, cuando en cada dispositivo del sistema de
comunicación está contenido un reloj distinto, es mantener estos
relojes distintos en sincronismo utilizando paquetes trasmitidos a
través del sistema de comunicación. Para lograr esto, un dispositivo
transmisor puede añadir un sello de tiempo adicional a algunos o
todos los paquetes de datos isócronos, el cual representa el valor
futuro del reloj distinto en el dispositivo transmisor transcurrido
un intervalo predeterminado tras el tiempo en el que el paquete de
datos está listo para la transmisión. Tal sello de tiempo puede ser
entonces detectado y leído por el dispositivo receptor. El tiempo
correcto sin fluctuación de fase en el que el paquete de datos
debería entregarse a la aplicación es el tiempo en el que el valor
del sello de tiempo en el paquete es igual al valor del reloj
sincronizado en el dispositivo receptor. El intervalo predeterminado
debe ser tal que el sello de tiempo corresponda a un tiempo no
anterior al tiempo actual en el receptor. Este método puede usarse,
por ejemplo, cuando se transmiten datos isócronos en un bus IEEE1394
empleando el formato Paquete isócrono común (CIP – Common
Isochronous Paquet) definido en la norma IEC1883 e ilustrado en la
figura 1. Cada dispositivo en el bus IEEE1394 contiene un reloj de
24,576 MHz que funciona por libre, totalmente independiente, para el
que un ciclo dura 40,69 ns. Este periodo se conoce como "tic".
Cada dispositivo que es capaz de manejar datos isócronos en el bus
IEEE1394 también contiene un Registro de tiempo de ciclo (CTR –
Cycle Time Register), cuyo formato se muestra en la figura 2, que
contiene una representación en 32 bits del tiempo actual. Este
registro es actualizado cada 40,69 ns por el reloj de 24,576 MHz.
Además, uno de los dispositivos en el bus IEEE1394 es especificado
como el "Maestro de ciclo" por un mecanismo definido en el bus
IEEE1394. Para mantener el sincronismo entre los CTR de todos los
dispositivos en el bus IEEE1394, el Maestro de ciclo transmite un
paquete "Comienzo de ciclo" después de cada 3072 tics de media.
El paquete "Comienzo de ciclo" contiene el valor actual del CTR
en el Maestro de ciclo. La recepción de un paquete de Comienzo de
ciclo por un dispositivo no Maestro de ciclo que contiene un CTR se
interpreta como una orden de escribir el valor contenido en el
paquete de Comienzo de ciclo en el CTR del dispositivo receptor. Los
paquetes de datos isócronos que se transmiten desde un dispositivo
transmisor en el bus IEEE1394 en el formato CIP se etiquetan con un
sello de tiempo. Este sello de tiempo representa la suma de un
desfase fijo y el valor del CTR en el dispositivo transmisor en el
momento en el que el paquete es presentado para la transmisión por
el codificador u otra fuente de datos isócronos. Cuando el
dispositivo receptor recibe un paquete de este tipo, mantiene el
paquete en una memoria intermedia hasta que el valor del sello de
tiempo del paquete es igual al valor del CTR en el dispositivo
receptor. En ese momento, el paquete puede ser procesado por la
aplicación en el dispositivo receptor. Resulta evidente que este
enfoque depende de que los valores absolutos de los CTR sean iguales
en todos los dispositivos capaces de isocronía en el bus IEEE1394 y
también de que el valor del desfase fijo, que se añade a los sellos
de tiempo, sea más grande que el retardo de transmisión total entre
el dispositivo transmisor y el dispositivo receptor. Estas
dependencias se convierten en una desventaja importante cuando se
conectan juntos varios buses IEEE1394 mediante un puente de
comunicación, por ejemplo, según la norma IEEEp1394.1. En este
último ejemplo, aunque los CTR en todos los dispositivos capaces de
isocronía en un bus IEEE1394 particular están sincronizados tanto en
frecuencia, como el valor absoluto según el CTR en el Maestro de
ciclo en ese bus particular, no obstante, los valores absolutos de
los CTR en buses distintos pueden no ser iguales. Además, puede
introducirse un retardo indefinido adicional mientras los paquetes
cruzan el puente entre los buses IEEE1394. Por tanto, se hace
necesario en el puente entre buses, tal como se define en la norma
IEEEp1394.1, detectar los sellos de tiempo CIP en los paquetes de
datos isócronos y modificarlos para reflejar tanto la diferencia
absoluta entre los valores de CTR en lados opuestos del puente, como
el retardo con el que se encuentran los paquetes de datos isócronos
al transmitirse a través del puente a fin de que, cuando los
paquetes de datos isócronos se reciban en el dispositivo receptor,
los sellos de tiempo representen todavía un tiempo en el futuro
según el CTR en el dispositivo receptor. Además, el formato CIP
normalmente incluye dos sellos de tiempo distintos, los cuales
necesitan modificarse ambos de manera similar. Las desventajas de
este enfoque incluyen el retardo adicional inherente en el proceso
de modificación de los sellos de tiempo en los puentes, el efecto
adverso sobre la complejidad y, por tanto, el coste de tales puentes
y el hecho de que incumple el modelo OSI reconocido (figura 3) para
el funcionamiento según buenas prácticas de los sistemas de
comunicaciones según un protocolo de apilamiento que consta de
diferentes capas.
Es un objeto de la invención permitir la
provisión de un método de corrección de errores de temporización
cuando se transmiten datos isócronos por una red de comunicación
basada en paquetes, en la que al menos algunos de los paquetes de
datos contienen sellos de tiempo que le indican a un receptor el
tiempo en el que deberían procesarse los datos, en el que se
mitiguen al menos algunas de las desventajas de los métodos de la
técnica anterior. Otro objeto de la invención es permitir la
provisión de un aparato para llevar a cabo tal método.
La invención proporciona un método de corrección
de errores de temporización cuando se transmiten datos isócronos por
una red de comunicaciones basada en paquetes, en la que al menos
algunos de los paquetes de datos contienen sellos de tiempo que le
indican a un receptor el tiempo en el que deberían procesarse los
datos, comprendiendo el método las etapas de:
a) insertar sellos de tiempo en paquetes de datos
isócronos que se refieren a un tiempo absoluto tal como lo define un
reloj de transmisión y que han de transmitirse a través de una red
de transmisión,
b) recibir los paquetes de datos y detectar y
grabar los sellos de tiempo en los mismos,
c) proporcionar un reloj de receptor que está
sincronizado en frecuencia, pero no necesariamente en tiempo
absoluto, con el reloj de transmisión,
d) almacenar el tiempo absoluto del reloj de
receptor cuando se recibe el primer paquete que contiene un sello de
tiempo,
e) sumar un desfase de tiempo dado al tiempo
almacenado del reloj de receptor, siendo el desfase mayor o igual
que la variación máxima en tiempo entre los sucesivos paquetes de
datos recibidos, para definir el tiempo de salida del primero de los
paquetes de datos recibidos,
f) restar el valor del sello de tiempo en el
primer paquete de datos recibido del sello de tiempo en cada paquete
de datos recibido posteriormente, y
g) sumar la diferencia entre el sello de tiempo
del presente paquete de datos y el sello de tiempo del primer
paquete de datos al tiempo de salida del primer paquete de datos
para definir el tiempo de salida del presente paquete.
Por tanto, el método según la invención no
depende de los valores absolutos de los sellos de tiempo, sino que,
en vez, puede comenzar el procesamiento de paquetes de datos
recibidos un tiempo dado tras dado la recepción del primer paquete,
y el tiempo de procesamiento de cada paquete subsiguiente está
definido por la diferencia entre el sello de tiempo en el paquete
inicial y el sello de tiempo en el presente paquete. Al garantizarse
que la frecuencia de reloj en el receptor está enganchada a la del
reloj en el transmisor y que el tiempo dado es mayor o igual que la
variación máxima en el tiempo entre sucesivos paquetes recibidos,
puede garantizarse que los tiempos de procesamiento de los paquetes
recibidos estén sincronizados con el reloj en el codificador.
Para realizar un método según la invención, un
dispositivo receptor se conecta por medio de un sistema de
comunicación a un dispositivo transmisor. El dispositivo receptor,
que es capaz de recibir y procesar datos isócronos, contiene un
reloj que está sincronizado en frecuencia, pero no necesariamente en
valor absoluto, con un reloj similar en el dispositivo transmisor,
por medio de un sistema de comunicación.
El dispositivo transmisor añade sellos de tiempo
a algunos o todos los paquetes de datos en un flujo de datos
isócronos para la transmisión, por medio del sistema de
comunicación, al dispositivo receptor. Los sellos de tiempo pueden
representar o bien el valor del reloj en el dispositivo transmisor,
o bien la suma del valor del reloj en el dispositivo transmisor y un
desfase constante fijo, que puede ser positivo o negativo. Si se
emplea un desfase fijo de este tipo, la presente invención no
requiere que el valor del desfase se comunique a un dispositivo
receptor.
El dispositivo receptor tiene un medio para
detectar los sellos de tiempo y para registrar el valor de los
mismos. Cuando el primer paquete de datos de un flujo isócrono es
recibido desde el sistema de comunicación por el dispositivo
receptor, el dispositivo receptor registra el tiempo, t_{1}, de su
reloj interno sincronizado y también el valor, T_{1}, del sello de
tiempo en el paquete de datos. Este paquete se coloca entonces en
una memoria intermedia durante un tiempo \Delta, donde \Delta se
elige para que sea mayor que la fluctuación de fase máxima que es
más probable que se produzca en un sistema de comunicación de este
tipo. Tras el tiempo \Delta, el paquete se suministra desde la
memoria intermedia a la siguiente etapa del dispositivo receptor o
sistema de comunicación.
Cuando cada paquete subsiguiente del flujo de
datos es recibido desde el sistema de comunicación por el
dispositivo receptor, el dispositivo receptor detecta y registra el
valor Tn del sello de tiempo del paquete antes de colocar el paquete
en la memoria intermedia. Se da salida al paquete enésimo del flujo
desde la memoria intermedia en un momento definido por t_{1} +
\Delta + (T_{n} – T_{1}).
Por consiguiente, se elimina cualquier
fluctuación de fase que pueda haber sido introducida por el sistema
de comunicación por medio de relacionar cada sello de tiempo
absoluto con el reloj interno del dispositivo receptor, que se
sincroniza por medio del sistema de comunicación con un reloj
interno en el dispositivo transmisor.
El método de la presente invención resulta
particularmente ventajoso para superar la fluctuación de fase en un
sistema de comunicación que utiliza sellos de tiempo que están
relacionados con el valor absoluto de un reloj, en el que el reloj
está sincronizado en frecuencia, pero no necesariamente en valor
absoluto, con un reloj en un dispositivo receptor en el sistema de
comunicación que emplea señales enviadas por el sistema de
comunicación. En particular, el método de la presente invención no
requiere conocimiento del retardo máximo que pueden experimentar los
paquetes de datos que están transmitiéndose a través del sistema de
comunicación. Sin embargo, en común con todos los mecanismos de la
técnica anterior, para la corrección de la fluctuación de fase
requiere un conocimiento de la diferencia entre los retardos máximo
y mínimo experimentados por los paquetes de datos en un flujo
particular. Además, el método según la presente invención no
requiere ninguna modificación en los sellos de tiempo durante la
transmisión de los paquetes de datos, ni al recibirse los paquetes
de datos en un dispositivo receptor. El método de la presente
invención presenta la ventaja de la simplicidad en el sentido de
que sólo requiere que se lleven a cabo una resta y una suma por
paquete para todos los paquetes subsiguientes al primer paquete de
un flujo a fin de superar cualquier fluctuación de fase y de emitir
los paquetes con una temporización sustancialmente correspondiente a
la temporización original con la que se pusieron en cola en el
dispositivo transmisor los paquetes para la transmisión. Además, al
evitar cualquier requisito de modificación de los sellos de tiempo
durante el proceso de transmisión, la presente invención permite
observar el modelo OSI estratificado para el diseño según buenas
prácticas de sistemas de comunicaciones. El método presenta la
ventaja de superar con fiabilidad la fluctuación de fase por medio
de un reloj ya presente que se sincroniza en frecuencia por medio
del sistema de comunicación, y, consiguientemente, puede evitarse la
deriva a largo plazo.
La invención proporciona además un aparato para
corregir errores de temporización cuando se transmiten datos
isócronos a través de una red de comunicación basada en paquetes, en
la que al menos algunos de los paquetes de datos contienen sellos de
tiempo que le indican a un receptor el tiempo en el que deberían
procesarse los datos, comprendiendo el aparato un medio para
insertar sellos de tiempo de transmisión en paquetes de datos
isócronos que se refieren a un tiempo absoluto, tal como es definido
por un reloj de transmisión, y han de transmitirse por una red de
transmisión, un medio para recibir los paquetes de datos y detectar
y grabar temporalmente los sellos de tiempo de transmisión en los
mismos, un reloj de receptor que está sincronizado en frecuencia,
pero no necesariamente en tiempo absoluto, con el reloj de
transmisión, un medio para almacenar el tiempo absoluto del reloj
de receptor cuando se recibe el primer paquete que contiene un sello
de tiempo de transmisión, un medio para sumar un desfase de tiempo
dado al tiempo almacenado del reloj de receptor, siendo el desfase
mayor o igual que la variación máxima en tiempo entre los sucesivos
paquetes de datos recibidos, para definir el tiempo de salida del
primero de los paquetes de datos recibidos, un medio para restar el
valor del sello de tiempo de transmisión en el primer paquete de
datos recibido del sello de tiempo de transmisión en cada paquete
de datos recibido posteriormente, y un medio para sumar la
diferencia entre el sello de tiempo de transmisión del presente
paquete de datos y el sello de tiempo de transmisión del primer
paquete de datos al tiempo de salida del primer paquete de datos
para definir el tiempo de salida del presente paquete.
Tal aparato se construye para llevar a cabo un
método según la invención y permite el uso del método en la
transmisión de datos desde un dispositivo transmisor hasta un
dispositivo receptor de manera isócrona sin requerir que la red de
comunicación funcione de forma isócrona.
Las anteriores y otras características y ventajas
de la invención resultarán evidentes a partir de la siguiente
descripción, a título de ejemplo, de una realización de la invención
con referencia a los dibujos adjuntos, en los que:
la figura 1 muestra formatos de paquete definidos
en las normas IEEE1394 e IEC61883,
la figura 2 muestra el formato del Registro de
tiempo de ciclo,
la figura 3 muestra el modelo ISO estratificado
para sistemas de comunicaciones,
la figura 4 muestra en forma esquemática de
bloques un sistema de comunicación que incluye dos sistemas de buses
IEEE1394 interconectados adecuados para llevar a cabo el método
según la invención,
la figura 5 muestra en forma esquemática de
bloques una fuente de datos codificados según las normas MPEG para
la transmisión por el sistema de comunicación de la figura 4,
la figura 6 muestra en forma esquemática de
bloques un dispositivo transmisor para transmitir datos MPEG por el
sistema de comunicación de la figura 4,
la figura 7 muestra en forma esquemática de
bloques parte de un Maestro de ciclo para el bus IEEE1394, y
la figura 8 muestra en forma esquemática de
bloques un dispositivo receptor para recibir los datos codificados
según MPEG transmitidos por el sistema de comunicación.
La figura 4 muestra en forma esquemática de
bloques una realización del aparato según la presente invención en
la que puede conseguirse un método para corregir errores de
temporización cuando se transmiten datos isócronos a través de una
red de comunicación basada en paquetes. Tal como se muestra en la
figura 4, el sistema de comunicación comprende unos primer y segundo
buses 1 y 2 IEEE1394 que están acoplados por medio de un puente 3 de
transmisión. El reloj de sistema en el bus 1 está sincronizado en
frecuencia con el reloj en el bus 2 por medio de una disposición 4
de enganche en frecuencia. Una fuente 5 de datos codificados según
MPEG está conectada a un dispositivo 6 transmisor que toma los datos
codificados según MPEG y los inserta en paquetes para la transmisión
por el bus 1. Un Maestro 7 de ciclo que sincroniza todos los relojes
en los dispositivos acoplados al bus 1 al reloj en el Maestro de
ciclo está acoplado también al bus 1. Un receptor 8 está acoplado al
bus 2 para recibir los paquetes que contienen los datos codificados
según MPEG y transmitidos por el dispositivo 6 transmisor. Un
Maestro 9 de ciclo adicional está conectado al bus 2 y define los
relojes para todos los dispositivos unidos al bus 2, incluyendo el
receptor 8 para recibir y procesar los paquetes de datos recibidos.
Este Maestro 9 de ciclo está sincronizado en frecuencia a la salida
del Maestro 7 de ciclo, pero no en tiempo absoluto. En la presente
realización, la fuente 5 de datos suministra señales de vídeo o de
audio codificadas según MPEG al dispositivo 6 transmisor, y el
dispositivo receptor incluye un decodificador MPEG. No es esencial
para la invención que los datos se codifiquen según una norma MPEG o
que el dispositivo receptor incluya un decodificador. Por ejemplo,
el dispositivo receptor podría simplemente grabar los datos
codificados según MPEG u otra norma para la reproducción en un
dispositivo adicional que incluya tal decodificador.
La figura 5 muestra una realización de una fuente
de señales codificadas según MPEG que puede utilizarse en el sistema
de comunicación de la figura 4. Comprende una cámara 50 de vídeo
cuya salida se suministra a un codificador 51 MPEG que comprende un
procesador 52, un módulo 53 de sellos de tiempo y un generador 54 de
reloj. La salida del codificador 51 MPEG puede suministrarse
directamente a una salida 56 que está conectada al transmisor 6 o
puede emplearse para producir un original digital de una grabación
en cinta o en disco que se reproducirá por medio de un reproductor
55 de discos o de cintas. Tal como se ha expuesto anteriormente, se
requiere que el codificador 51 MPEG coloque un sello de tiempo
conocido como una Referencia de reloj de programa (PCR) o una
Referencia de reloj de sistema (SCR) sobre cada paquete de datos
MPEG. Este sello de tiempo se detecta en el receptor y se utiliza
para garantizar una decodificación isócrona de la señal codificada
según MPEG. Estos sellos de tiempo PCR y/o SCR MPEG se insertan en
el flujo de datos una duración indefinida antes de cualquier
transmisión que emplee el bus IEEE1394.
Tanto el dispositivo 6 transmisor como el
dispositivo 8 receptor son dispositivos IEEE1394 capaces de
transmisión isócrona y contienen un Registro de tiempos de ciclo
(CTR) que se sincroniza en frecuencia por medio de la recepción de
un paquete de Comienzo de ciclo, tal como se ha descrito
anteriormente, pero no se sincronizan en tiempo absoluto si hay
presente algún puente de transmisión en el sistema de comunicación,
esto es, si una pluralidad de buses IEEE1394 están conectados entre
sí. El CTR en cada dispositivo sigue incrementándose entre la
recepción de paquetes de Comienzo de ciclo por medio de un reloj
local de 24,576 MHz que funciona sin sincronizar. El dispositivo 6
transmisor procesa los datos codificados según MPEG a una velocidad
determinada directa o indirectamente por sellos de tiempo incluidos
en la codificación MPEG. El procesamiento por los dispositivos
transmisores incluye añadir un sello de tiempo adicional, denominado
en lo sucesivo sello de tiempo de transmisión, a cada paquete de
datos codificados según MPEG. El sello de tiempo de transmisión es
igual al valor del CTR del dispositivo transmisor en el instante en
el que el paquete se pone en cola en el dispositivo transmisor para
presentarse al sistema de comunicación para la transmisión al
dispositivo receptor. La adición de este sello de tiempo de
transmisión a cada paquete de datos puede formar parte de la
encapsulación del paquete de datos en un paquete del formato CIP que
puede estar de acuerdo con la norma IEC61883.
La figura 6 muestra en forma esquemática de
bloques un dispositivo transmisor adecuado para llevar a cabo este
proceso. Comprende una entrada 60 a la que está conectada la salida
de la fuente 5 de datos. El flujo de datos de entrada se pasa a un
procesador 61 CIP que encapsula el paquete de datos MPEG en un
paquete de datos en formato CIP. Este se pasa a través de un módulo
62 de sellos de tiempo que inserta el sello de tiempo de transmisión
en la cabecera del paquete de origen, tal como se ilustra en la
figura 1. Estos paquetes se suministran entonces a un procesador
IEEE1394 cuya salida se suministra a través de una memoria 64
intermedia a un terminal 69 de salida que está conectado al bus 1.
El dispositivo 6 transmisor también recibe paquetes de Comienzo de
ciclo del Maestro 7 de ciclo por el bus 1 en la entrada 68. Los
paquetes de Comienzo de ciclo se suministran a un Procesador 67 de
comienzo de ciclo que controla un Registro 65 de tiempos de ciclo en
el dispositivo transmisor. El Registro de tiempos de ciclo, con
todos los otros dispositivos, es cronometrado por un reloj de 24,576
MHz sin sincronizar. La salida del Registro de tiempos de ciclo
produce una señal de reloj que es capaz de añadir un sello de tiempo
a los paquetes de datos, y puesto que el dispositivo transmisor está
subordinado al Maestro de ciclo, este sello de tiempo será válido
para todos los dispositivos conectados al bus 1.
En la figura 7 se muestra una realización del
Maestro de ciclo, y comprende un Registro 70 de tiempos de ciclo
accionado por un reloj 71 de 24,576 MHz. El Registro 70 de tiempos
de ciclo abastece a un Generador 72 de comienzos de ciclo. La salida
del Generador de comienzos de ciclo se suministra a través de una
salida 73 al bus 1. Todos los Registros de tiempos de ciclo esclavos
incluyen un Procesador de comienzos de ciclo que detecta la señal
producida por el Generador 72 de comienzos de ciclo y sincroniza el
Registro de tiempos de ciclo en la unidad esclava, en este caso
particular, el dispositivo 6 transmisor, con el Registro de tiempos
de ciclo en el Maestro 7 de ciclo.
En algún momento tras la adición del sello de
tiempo de transmisión a un paquete dentro del dispositivo 6
transmisor, puede empezar a transmitirse el paquete a través del
sistema de comunicación al dispositivo 8 receptor. Un paquete puede
encontrarse con retardos arbitrarios mientras se transmite a través
del sistema de comunicación, especialmente cuando hay presente
algún puente 3 que conecta buses IEEE1394 distintos. Además de los
retardos arbitrarios encontrados por la transmisión a través de
cualquier puente de transmisión, existen retardos arbitrarios
adicionales encontrados por un retardo de tiempo variable antes de
que un paquete pueda aceptarse en el bus. Este retardo puede diferir
de paquete a paquete hasta una cierta cantidad máxima de fluctuación
de fase, que puede especificarse o calcularse para cualquier
tecnología de comunicación dada. Cuando se utiliza un método según
la presente invención, este sello de tiempo de transmisión que se ha
insertado en los paquetes transmitidos no se modificará
adicionalmente en cualquier etapa posterior en el proceso de
comunicación.
Tal como se ha expuesto anteriormente, las
frecuencias de reloj en los diversos buses interconectados se
sincronizan en frecuencia. Sin embargo, esto no significa que los
Registros de tiempos de ciclo en los dispositivos transmisor y
receptor muestren el mismo tiempo. Como analogía, resultará evidente
que el tiempo en varios sitios en la superficie de la tierra se
incrementa a exactamente la misma velocidad que viene determinada
por la velocidad de rotación de la tierra, pero el tiempo absoluto
en posiciones de longitud diferentes variará, por ejemplo, el tiempo
universal coordinado es una hora diferente del tiempo europeo
central.
En la figura 8 se muestra en forma esquemática de
bloques una realización de un dispositivo receptor adecuado para el
uso como el dispositivo 8 receptor. Tiene una entrada 81 que está
conectada al bus 2. Esta entrada recibe paquetes de Comienzo de
ciclo del Maestro 9 de ciclo que se suministran a un procesador 82
de comienzos de ciclo que se emplea para sincronizar el Registro 83
de tiempos de ciclo del dispositivo 8 receptor con el Registro de
tiempos de ciclo en el Maestro 9 de ciclo. Un reloj 84 de 24,576 MHz
cronometra el Registro 83 de tiempos de ciclo. La entrada 81
también está conectada a un detector 85 de sellos de tiempo que
detecta la presencia de sellos de tiempo de transmisión en la señal
recibida. Por tanto, el detector 85 de sellos de tiempo lee y graba
el valor T_{1} del sello de tiempo de transmisión en el paquete de
datos y coloca el paquete de datos en una memoria 86 intermedia. El
tiempo del primer sello de tiempo en una transmisión se engancha en
un primer enganche 87 de sello de tiempo, y cada sello de tiempo
subsiguiente en el flujo de transmisión se engancha en un segundo
enganche 88 de sello de tiempo. Las salidas de los enganches 87 y 88
se suministran a unas primera y segunda entradas de un circuito 89
restador. Cuando se recibe el primer paquete de un flujo de datos,
el dispositivo receptor lee el tiempo t_{1} de su Registro de
tiempos de ciclo en el instante en el que se recibe el paquete.
Este tiempo se suministra a la primera entrada de un circuito 90
sumador cuya segunda entrada recibe un valor de desfase dado que se
elige para que sea mayor o igual que la mayor fluctuación de fase de
tiempo introducida por el sistema de comunicación entre los varios
paquetes que están recibiéndose. El resultado de la suma se
suministra a un enganche 92 como un valor T_{0}. Para el primer
paquete de una transmisión, este valor T_{0} se suministra a la
primera entrada de un comparador 93 cuya segunda entrada recibe la
salida del Registro 83 de tiempos de ciclo. Por tanto, cuando el
Registro 83 de tiempos de ciclo llega al tiempo t_{0}, entonces el
controlador 94 de salida emitirá desde la memoria 86 intermedia al
primer paquete de datos, y se pasará a la siguiente etapa dentro del
dispositivo receptor.
Cuando el siguiente paquete llega al dispositivo
receptor, el detector 85 de sellos de tiempo detecta el sello de
tiempo y lo engancha en el enganche 88 y pasa el paquete de datos al
interior de la memoria 86 intermedia. El restador 89 resta entonces
el valor T_{1}, que es el sello de tiempo de transmisión del
primer paquete de datos, del valor T_{n}, que es el sello de
tiempo del paquete actual que está recibiéndose. El resultado de
esta resta se suma entonces al tiempo T_{0} y se presenta a la
primera entrada del comparador 93. Por tanto, el tiempo T_{0} +
(T_{n} – T_{1}) es el tiempo al que tiene que llegar el Registro
83 de tiempos de ciclo antes de que el controlador 94 de salida lea
el paquete de la memoria 86 intermedia en las siguientes etapas del
receptor.
Resultará evidente que usando este procedimiento,
el dispositivo receptor suma un tiempo dado al tiempo t_{1} en el
que se detectó el primer sello de tiempo de transmisión tal como fue
fijado por el tiempo en el Registro 83 de tiempos de ciclo en ese
instante y suma un tiempo dado que es suficiente para permitir
cualquier fluctuación de fase en el sistema de comunicación. El
paquete en la memoria 86 intermedia se pasa entonces al resto del
receptor cuando el Registro de tiempos de ciclo alcanza el tiempo
T_{0} que es igual al tiempo t_{1} + \Delta, es decir, el
tiempo registrado por el Registro 83 de tiempos de ciclo en el
instante en el que se detectó el primer sello de tiempo de paquete
más el valor \Delta de desfase. Cuando llega cada sello de tiempo
de transmisión subsiguiente, el valor del primer sello de tiempo de
transmisión se resta del valor del sello de tiempo de transmisión
subsiguiente y se suma al tiempo T_{0} para determinar cuándo se
lee el paquete de la memoria 86 intermedia. Por tanto, no se
requiere en ninguna etapa que el dispositivo receptor modifique
ninguno de los sellos de tiempo de transmisión.
Puesto que el Registro 83 de tiempos de ciclo en
el dispositivo receptor está sincronizado con el Registro de tiempos
de ciclo en el dispositivo transmisor, los paquetes de datos se
pasan en consecuencia a la siguiente etapa dentro del dispositivo
receptor con sustancialmente la misma relación de temporización
entre paquetes que aquella a la que fueron procesados por el
dispositivo transmisor. La diferencia en tiempos absolutos no es
importante. Cualquier información de cabecera CIP u otras cabeceras
de paquete de transmisión pueden eliminarse de los paquetes
recibidos o bien antes o bien después de que los paquetes se
coloquen en la memoria 86 intermedia. La siguiente etapa del
dispositivo receptor puede ser un decodificador 96 MPEG que contenga
un reloj 97 adicional, un circuito 98 decodificador, un detector 99
de sellos de tiempo y un enganche/restador 100. El reloj 97
adicional es el reloj de decodificador y es totalmente independiente
tanto del Registro de tiempos de ciclo, como del reloj de 24,576
MHz sin sincronizar en el dispositivo receptor. El decodificador
MPEG puede usar ahora las PCR o las SCR en los paquetes
sustancialmente sin fluctuación de fase recibidos para sincronizar
por métodos convencionales el reloj de decodificador a
sustancialmente la misma velocidad que el reloj en el codificador
MPEG que codificó los datos originalmente. Por tanto, se permite al
decodificador MPEG decodificar y presentar los datos a un
dispositivo 101 de visualización que también puede formar parte del
dispositivo receptor a sustancialmente la velocidad correcta.
Resultará evidente que es necesario para la
presente invención que los relojes en los buses 1 y 2 estén
enganchados en frecuencia, aunque no tienen que estar enganchados en
tiempo absoluto. Esto requiere que el puente 3 de transmisión
incluya una disposición 4 de enganche en frecuencia que enganche la
frecuencia de los relojes en los dos buses 1 y 2 diferentes. Esto
puede conseguirse de una variedad de maneras. Una es enviar una
ráfaga corta de señales que no contenga información a intervalos de
tiempo definidos con precisión, permitiendo así sincronizar los
relojes en ambos lados del puente de transmisión. Un método
alternativo es enviar un mensaje a través del puente que contenga
información de tiempo. Este mensaje puede enviarse a un intervalo de
tiempo relativamente aleatorio ya que el mensaje hará que los
relojes adopten el mismo tiempo cada vez que se envíe el mensaje a
través del puente de transmisión. La manera en que se sincronizan
los relojes en los buses interconectados no es importante para
implementar la invención. Es simplemente un requisito que los
relojes estén sincronizados así en frecuencia.
Aunque la invención se haya descrito utilizando
el ejemplo de datos MPEG transmitidos utilizando disposiciones de
buses IEEE1394, no está limitada a tal sistema de comunicación. Es
aplicable a la transmisión de cualquier dato isócrono por una red de
transporte de paquetes en la que pueda producirse una fluctuación de
fase. Es aplicable además donde pueda haber un intervalo de tiempo
definido sin precisión entre las funciones de codificación y de
decodificación, lo que significa que un sello de tiempo recibido
puede tener un tiempo anterior que el tiempo real tal como se ha
medido en el dispositivo receptor.
Resultará evidente para el experto en la técnica
que pueden realizarse muchas modificaciones en la realización
descrita, que simplemente es un ejemplo de cómo puede llevarse a
cabo la invención. Por ejemplo, al determinar el tiempo en el que el
receptor debería comenzar a procesar los datos recibidos, sería
posible sumar el tiempo entre llegadas de cada paquete al tiempo de
proceso del paquete anterior. En este caso, en lugar de almacenar el
tiempo de llegada del primer paquete del flujo, es necesario
almacenar el tiempo de llegada del paquete anterior.
A partir de la lectura de la presente
descripción, a los expertos en la técnica les resultarán evidentes
otras modificaciones. Tales modificaciones pueden implicar otras
características que ya sean conocidas en el diseño y uso de
sistemas de comunicación y de las partes componentes de los mismos y
que pueden utilizarse en lugar o además de las características ya
descritas en la presente memoria. Aunque se han formulado
reivindicaciones en esta solicitud de combinaciones particulares de
características, debería entenderse que el alcance de la descripción
de la presente solicitud también incluye cualquier característica
novedosa o cualquier combinación novedosa de características
descrita en la presente memoria ya sea explícita o implícitamente o
cualquier generalización de una o más de aquellas características
que serían obvias para los expertos en la técnica, se refieran o no
a la misma invención tal como se reivindica actualmente en cualquier
reivindicación y mitiguen o no cualquiera o todos los mismos
problemas técnicos que la presente invención. Por la presente
memoria, los solicitantes avisan de que pueden formularse nuevas
reivindicaciones de tales características y/o combinaciones de tales
características durante el proceso de la presente solicitud o de
cualquier solicitud adicional derivada de la misma.
Claims (16)
1. Método de corrección de errores de
temporización cuando se transmiten (6) datos isócronos por una red
(1, 2, 3, 4) de comunicaciones basada en paquetes, en el que al
menos algunos de los paquetes de datos contienen sellos de tiempo
que le indican a un receptor (8) el tiempo en el que deberían
procesarse los datos, caracterizado porque el método
comprende las etapas de:
a) insertar sellos de tiempo de transmisión en
paquetes de datos isócronos que se refieren a un tiempo absoluto tal
como lo define un reloj (7) de transmisión y que han de transmitirse
por una red de transmisión,
b) recibir (8) los paquetes de datos y detectar y
grabar temporalmente los sellos de tiempo de transmisión en los
mismos,
c) proporcionar un reloj (9) de receptor que está
sincronizado en frecuencia, pero no necesariamente en tiempo
absoluto, con el reloj (7) de transmisión,
d) almacenar el tiempo absoluto del reloj (9) de
receptor cuando se recibe el primer paquete que contiene un sello de
tiempo de transmisión,
e) sumar (90) un desfase (91) de tiempo dado al
tiempo almacenado del reloj de receptor, siendo el desfase mayor o
igual que la variación máxima en tiempo entre sucesivos paquetes de
datos recibidos, para definir el tiempo de salida del primero de los
paquetes de datos recibidos,
f) restar (89) el valor del sello de tiempo de
transmisión en el primer paquete (87) de datos recibido del sello de
tiempo de transmisión en cada paquete (88) de datos recibido
posteriormente, y
g) sumar (95) la diferencia (89) entre el sello
de tiempo de transmisión del presente paquete de datos y el sello de
tiempo de transmisión del primer paquete de datos al tiempo de
salida del primer paquete de datos para definir el tiempo de salida
del presente paquete.
2. Método según la reivindicación 1, en el que
los datos son datos codificados según MPEG y los sellos de tiempo de
transmisión son distintos e independientes de cualquier sello de
tiempo MPEG.
3. Método según la reivindicación 2, en el que
los datos se transmiten utilizando el Formato de paquetes isócronos
comunes definido en la norma IEC61883.
4. Método según cualquier reivindicación
anterior, en el que el sistema de comunicación funciona según una
norma IEEE1394.
5. Método según cualquiera de las
reivindicaciones 1 a 3, en el que el sistema de comunicación
funciona en Modo de transferencia asíncrono.
6. Método según cualquiera de las
reivindicaciones 1 a 3, en el que el sistema de comunicación
funciona según una norma del Sistema universal de telecomunicaciones
móviles.
7. Aparato para corregir errores de temporización
cuando se transmiten datos isócronos a través de una red (1, 2, 3,
4) de comunicación basada en paquetes, en el que al menos algunos de
los paquetes de datos contienen sellos de tiempo que le indican a un
receptor (8) el tiempo en el deberían procesarse los datos,
caracterizado porque el aparato comprende un medio (62) para
insertar sellos de tiempo de transmisión en paquetes de datos
isócronos que se refieren a un tiempo absoluto tal como es definido
por un reloj (66) de transmisión, un medio (69) para transmitir los
paquetes de datos por una red (1, 2, 3) de transmisión, un medio (8)
para recibir los paquetes de datos y detectar (85) y grabar (86)
temporalmente los sellos de tiempo de transmisión en el mismo, un
reloj (84) de receptor que está sincronizado en frecuencia, pero no
necesariamente en tiempo absoluto, con el reloj (86) de transmisión,
un medio (87) para almacenar el tiempo absoluto del reloj de
receptor cuando se recibe el primer paquete que contiene un sello de
tiempo de transmisión, un medio (90) para sumar un desfase (91) de
tiempo dado al tiempo almacenado del reloj de receptor, siendo el
desfase mayor o igual que la variación máxima en tiempo entre
sucesivos paquetes de datos recibidos, para definir el tiempo (94)
de salida del primero de los paquetes de datos recibidos, un medio
(89) para restar el valor del sello (87) de tiempo de transmisión en
el primer paquete de datos recibido del sello (88) de tiempo de
transmisión en cada paquete de datos recibido posteriormente, y un
medio (95) para sumar la diferencia (89) entre el sello de tiempo de
transmisión del presente paquete de datos y el sello de tiempo de
transmisión del primer paquete de datos al tiempo de salida del
primer paquete de datos para definir (93) el tiempo (94) de salida
del presente paquete.
8. Aparato según la reivindicación 7, en el que
el medio para insertar los sellos de tiempo de transmisión comprende
un Registro (70) de tiempos de ciclo.
9. Aparato según la reivindicación 8, en el que
una pluralidad de dispositivos (6) transmisores y/o receptores que
contienen cada uno un Registro (70) de tiempos de ciclo están
conectados a un bus (1) IEEE1394 y uno de los Registros de tiempos
de ciclo forma un Maestro (7) de ciclo que transmite un paquete de
Comienzo de ciclo a los otros Registros de tiempos de ciclo para
mantenerlos todos en sincronismo.
10. Aparato según la reivindicación 9, en el que
el sistema de comunicación comprende una pluralidad de buses (1, 2)
IEEE1394 acoplados por al menos un puente (3) de transmisión, en el
que los Maestros (7, 9) de ciclo en cada bus (1, 2) están
sincronizados en frecuencia.
11. Aparato según la reivindicación 10, en el que
el al menos un puente (3) está dispuesto para funcionar según la
norma IEEEp1394.1.
12. Aparato según la reivindicación 7, en el que
el sistema de comunicación emplea un Modo de transferencia
asíncrono.
13. Aparato según la reivindicación 7, en el que
el sistema de comunicación es un Sistema universal de
telecomunicaciones móviles.
14. Aparato según cualquiera de las
reivindicaciones 7 a 13, en el que los datos son señales de audio
y/o de vídeo codificadas según una norma MPEG.
15. Aparato según la reivindicación 14, en el que
el medio de transmisión incluye un codificador (5) MPEG.
16. Aparato según la reivindicación 14 o la
reivindicación 15, en el que el receptor (8) incluye un
decodificador (96) MPEG.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9903144.5A GB9903144D0 (en) | 1998-08-05 | 1999-02-12 | Method and apparatus for communicating isochronous data |
GB9903144 | 1999-02-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2254134T3 true ES2254134T3 (es) | 2006-06-16 |
Family
ID=10847591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES00902626T Expired - Lifetime ES2254134T3 (es) | 1999-02-12 | 2000-01-24 | Metodo y aparato para la comunicacion de datos isocronos. |
Country Status (11)
Country | Link |
---|---|
US (2) | US6661811B1 (es) |
EP (1) | EP1072166B1 (es) |
JP (1) | JP4896293B2 (es) |
KR (1) | KR100605238B1 (es) |
CN (1) | CN1270579C (es) |
AT (1) | ATE313929T1 (es) |
CA (1) | CA2328437C (es) |
DE (1) | DE60024932T2 (es) |
ES (1) | ES2254134T3 (es) |
TW (1) | TW498649B (es) |
WO (1) | WO2000048421A1 (es) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751228B1 (en) * | 1999-03-23 | 2004-06-15 | Yamaha Corporation | Packet handler of audio data by isochronous mode |
ATE302511T1 (de) * | 1999-12-08 | 2005-09-15 | Broadcom Corp | Synchronisierter transport durch nichtsynchrone netzwerke |
FI108489B (fi) * | 1999-12-30 | 2002-01-31 | Nokia Corp | Synkronointi pakettivõlitteisessõ tietoliikennejõrjestelmõssõ |
JP2001230821A (ja) * | 2000-02-16 | 2001-08-24 | Sony Corp | データ中継装置および方法、並びに提供媒体 |
US6898204B2 (en) * | 2000-04-07 | 2005-05-24 | Broadcom Corporation | Method of determining a collision between a plurality of transmitting stations in a frame-based communications network |
US6895009B1 (en) * | 2000-04-07 | 2005-05-17 | Omneon Video Networks | Method of generating timestamps for isochronous data |
US6816492B1 (en) * | 2000-07-31 | 2004-11-09 | Cisco Technology, Inc. | Resequencing packets at output ports without errors using packet timestamps and timestamp floors |
US6888806B1 (en) * | 2000-11-22 | 2005-05-03 | Motorola, Inc. | Method and system for scheduling packets for transmission from a wireless communication platform |
US7142566B1 (en) * | 2001-02-15 | 2006-11-28 | Cisco Systems Canada Co. | Jitterless processing of bitstreams |
WO2002093938A1 (en) * | 2001-05-14 | 2002-11-21 | Koninklijke Philips Electronics N.V. | Mpeg data packet transmission through an atm network with jitter free decoding |
US6836514B2 (en) * | 2001-07-10 | 2004-12-28 | Motorola, Inc. | Method for the detection and recovery of errors in the frame overhead of digital video decoding systems |
US7043651B2 (en) | 2001-09-18 | 2006-05-09 | Nortel Networks Limited | Technique for synchronizing clocks in a network |
JP3932452B2 (ja) * | 2001-09-27 | 2007-06-20 | ソニー株式会社 | 通信装置および方法、並びにプログラム |
KR100782234B1 (ko) * | 2001-10-08 | 2007-12-05 | 엘지전자 주식회사 | 피브이알에서의 방송장애구간 자동처리 방법 |
WO2003043341A1 (en) * | 2001-11-14 | 2003-05-22 | Matsushita Electric Industrial Co., Ltd. | Method for correcting clock frequency, receiving apparatus, reproducing apparatus, and program |
TWI280532B (en) | 2002-01-18 | 2007-05-01 | Semiconductor Energy Lab | Light-emitting device |
US7151945B2 (en) * | 2002-03-29 | 2006-12-19 | Cisco Systems Wireless Networking (Australia) Pty Limited | Method and apparatus for clock synchronization in a wireless network |
GB2387516B (en) * | 2002-04-11 | 2005-03-09 | Cambridge Broadband Ltd | Communication system |
DE10218425A1 (de) * | 2002-04-24 | 2003-11-06 | Grundig Ag I Ins | Verfahren und Vorrichtung zum Synchronisieren eines Empfängers mit einem Sender bei einer Datenübertragung über ein asynchrones Netzwerk |
KR100994940B1 (ko) * | 2002-07-19 | 2010-11-19 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 전송 매체를 통해 송신기로부터 수신기로 데이터 패킷들을 송신하는 방법 및 전송 매체를 통해 상호 결합된 송신기 및 수신기를 포함하는 전송 시스템 |
CN100352225C (zh) * | 2002-07-30 | 2007-11-28 | 雅马哈株式会社 | 有效利用网络资源的数据传输装置 |
JP3702261B2 (ja) * | 2002-09-30 | 2005-10-05 | 株式会社東芝 | タイムスタンプ補正回路および補正方法 |
EP1455472A1 (en) * | 2003-03-07 | 2004-09-08 | STMicroelectronics Limited | Timing control for packet streams |
JP3858002B2 (ja) * | 2003-05-23 | 2006-12-13 | 三洋電機株式会社 | 無線伝送システム |
US8275910B1 (en) | 2003-07-02 | 2012-09-25 | Apple Inc. | Source packet bridge |
US7712004B1 (en) * | 2003-09-30 | 2010-05-04 | Emc Corporation | Method of and system for error checking in a data storage system |
GB2425915B (en) * | 2003-11-19 | 2008-01-02 | Nimcat Networks Inc | Time and data synchronization between networks devices |
JP4694969B2 (ja) * | 2004-01-07 | 2011-06-08 | パナソニック株式会社 | データ受信装置 |
US7525952B1 (en) * | 2004-01-07 | 2009-04-28 | Cisco Technology, Inc. | Method and apparatus for determining the source of user-perceived voice quality degradation in a network telephony environment |
JP2005284600A (ja) * | 2004-03-29 | 2005-10-13 | Toshiba Corp | タイムスタンプ補正装置及びタイムスタンプ補正システム |
DE102004018200A1 (de) * | 2004-04-15 | 2005-11-10 | Deutsche Thomson-Brandt Gmbh | Verfahren zum Verarbeiten einer Folge von Datenpaketen in einer Empfängervorrichtung sowie Empfängervorrichtung |
US7710965B2 (en) * | 2004-11-23 | 2010-05-04 | Broadlogic Network Technologies Inc. | Method and system for multi-program clock recovery and timestamp correction |
US7809131B1 (en) * | 2004-12-23 | 2010-10-05 | Arcsight, Inc. | Adjusting sensor time in a network security system |
CN101156446A (zh) * | 2005-04-08 | 2008-04-02 | 松下电器产业株式会社 | 传输装置 |
KR100757465B1 (ko) * | 2005-07-22 | 2007-09-11 | 삼성전자주식회사 | 시간 정보를 이용하여 아날로그 영상 및 음성신호의 동기제어를 수행하는 a/v 기기 및 그 동기 제어방법 |
CN100428691C (zh) * | 2005-12-22 | 2008-10-22 | 中山大学 | 一种数字家庭网络的时间同步装置及同步方法 |
US7626942B2 (en) * | 2006-11-22 | 2009-12-01 | Spectra Link Corp. | Method of conducting an audio communications session using incorrect timestamps |
JP5079342B2 (ja) * | 2007-01-22 | 2012-11-21 | ルネサスエレクトロニクス株式会社 | マルチプロセッサ装置 |
US8171166B1 (en) * | 2007-06-24 | 2012-05-01 | Arris Group, Inc. | Method and a computer program product for modifying or generating a multiple program transport stream |
US8040923B2 (en) * | 2007-07-05 | 2011-10-18 | Infineon Technologies Ag | Communication methods and apparatuses |
JP5212374B2 (ja) | 2007-09-28 | 2013-06-19 | 富士通株式会社 | エラー判定装置およびエラー判定方法 |
US7860125B2 (en) * | 2008-01-28 | 2010-12-28 | Cisco Techology, Inc. | Flexible time stamping |
GB2477367B8 (en) * | 2008-01-28 | 2016-06-29 | Cisco Tech Inc | Flexible time stamping |
US20090257455A1 (en) * | 2008-04-15 | 2009-10-15 | Tellabs Operations, Inc. | Method and apparatus for synchronizing timing of signal packets |
US8396133B2 (en) | 2009-04-21 | 2013-03-12 | Qualcomm Incorporated | Synchronizing video frames without hardware timestamps |
DK2497211T3 (en) * | 2009-10-29 | 2017-03-06 | ERICSSON TELEFON AB L M (publ) | Method and device for optimizing transport of a synchronization package |
US8514329B2 (en) | 2011-05-31 | 2013-08-20 | Motorola Mobility Llc | Jitter estimation for MPEG receivers |
WO2013099026A1 (ja) * | 2011-12-28 | 2013-07-04 | 富士通株式会社 | ノード装置および時刻同期方法 |
CN102740131B (zh) * | 2012-07-09 | 2015-12-02 | 深圳市香江文化传播有限公司 | 基于实时传输协议的网络电视直播方法及系统 |
EP2882120B1 (en) | 2013-12-06 | 2016-03-09 | ADVA Optical Networking SE | A method and apparatus for mitigation of packet delay variation |
US9680507B2 (en) * | 2014-07-22 | 2017-06-13 | Qualcomm Incorporated | Offset selection for error correction data |
KR102272339B1 (ko) * | 2014-11-17 | 2021-07-02 | 삼성전자주식회사 | 컨텐트들을 표시하는 방법 및 이를 위한 전자 장치 |
CN108227561A (zh) * | 2017-12-08 | 2018-06-29 | 中国航空工业集团公司成都飞机设计研究所 | 一种多余度系统数据采集的时标对齐方法 |
US11927950B2 (en) * | 2018-07-27 | 2024-03-12 | Rockwell Automation Technologies, Inc. | System and method of communicating safety data over high availability industrial control systems |
CN111447026B (zh) * | 2019-01-17 | 2021-09-14 | 华为技术有限公司 | 处理数据的方法和处理数据的装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495482A (en) | 1989-09-29 | 1996-02-27 | Motorola Inc. | Packet transmission system and method utilizing both a data bus and dedicated control lines |
CA2055396C (en) * | 1990-11-14 | 1998-08-18 | Hidetoshi Toyofuku | Delay distortion suppressing system for asynchronous transfer mode (atm) communication system |
US5287182A (en) * | 1992-07-02 | 1994-02-15 | At&T Bell Laboratories | Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks |
US5486864A (en) | 1993-05-13 | 1996-01-23 | Rca Thomson Licensing Corporation | Differential time code method and apparatus as for a compressed video signal |
CA2152609C (en) * | 1993-11-19 | 2000-12-12 | Richard B. Kline | Method for adaptive smoothing delay for packet voice applications |
US5790543A (en) | 1995-09-25 | 1998-08-04 | Bell Atlantic Network Services, Inc. | Apparatus and method for correcting jitter in data packets |
US5640388A (en) | 1995-12-21 | 1997-06-17 | Scientific-Atlanta, Inc. | Method and apparatus for removing jitter and correcting timestamps in a packet stream |
US6160805A (en) * | 1996-09-30 | 2000-12-12 | Motorola, Inc. | Method for synchronizing a session timer |
EP0841833A3 (en) * | 1996-11-06 | 2000-02-09 | Sony Corporation | Data transfer system |
KR100241325B1 (ko) * | 1996-11-06 | 2000-02-01 | 윤종용 | 엠펙-2 디코더의 클럭 복원 장치 및 그 복원 방법 |
US6266384B1 (en) * | 1997-05-19 | 2001-07-24 | Sarnoff Corporation | Method and apparatus for time base recovery and processing |
US6418150B1 (en) * | 1998-02-20 | 2002-07-09 | Apple Computer, Inc. | Method and apparatus for calibrating an IEEE-1394 cycle master |
US6680944B1 (en) * | 1998-03-09 | 2004-01-20 | Sony Corporation | Apparatus for and method of predictive time stamping of isochronous data packets transmitted over an IEEE 1394-1995 serial bus network |
US6335931B1 (en) * | 1998-05-29 | 2002-01-01 | Finisar Corporation | System for synchronizing network data transmission and collection |
US6278710B1 (en) * | 1998-09-10 | 2001-08-21 | Agilent Technologies, Inc. | Enhancements to time synchronization in distributed systems |
US6327274B1 (en) * | 1998-09-15 | 2001-12-04 | Nokia Telecommunications, Inc. | Method for estimating relative skew between clocks in packet networks |
US6259677B1 (en) * | 1998-09-30 | 2001-07-10 | Cisco Technology, Inc. | Clock synchronization and dynamic jitter management for voice over IP and real-time data |
US6449291B1 (en) * | 1998-11-24 | 2002-09-10 | 3Com Corporation | Method and apparatus for time synchronization in a communication system |
US6510150B1 (en) * | 1998-12-21 | 2003-01-21 | Koninklijke Philips Electronics N.V. | Method of MAC synchronization in TDMA-based wireless networks |
US6452950B1 (en) * | 1999-01-14 | 2002-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive jitter buffering |
-
2000
- 2000-01-20 US US09/488,031 patent/US6661811B1/en not_active Expired - Lifetime
- 2000-01-24 AT AT00902626T patent/ATE313929T1/de not_active IP Right Cessation
- 2000-01-24 DE DE60024932T patent/DE60024932T2/de not_active Expired - Lifetime
- 2000-01-24 CA CA002328437A patent/CA2328437C/en not_active Expired - Lifetime
- 2000-01-24 KR KR1020007011319A patent/KR100605238B1/ko active IP Right Grant
- 2000-01-24 WO PCT/EP2000/000512 patent/WO2000048421A1/en active IP Right Grant
- 2000-01-24 EP EP00902626A patent/EP1072166B1/en not_active Expired - Lifetime
- 2000-01-24 CN CNB008005486A patent/CN1270579C/zh not_active Expired - Lifetime
- 2000-01-24 ES ES00902626T patent/ES2254134T3/es not_active Expired - Lifetime
- 2000-01-24 JP JP2000599232A patent/JP4896293B2/ja not_active Expired - Lifetime
- 2000-01-26 TW TW089101310A patent/TW498649B/zh not_active IP Right Cessation
-
2003
- 2003-12-04 US US10/728,266 patent/US7508845B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
DE60024932D1 (de) | 2006-01-26 |
JP4896293B2 (ja) | 2012-03-14 |
KR100605238B1 (ko) | 2006-07-28 |
DE60024932T2 (de) | 2006-08-24 |
ATE313929T1 (de) | 2006-01-15 |
US20040153716A1 (en) | 2004-08-05 |
EP1072166B1 (en) | 2005-12-21 |
JP2003519448A (ja) | 2003-06-17 |
CA2328437C (en) | 2007-09-25 |
EP1072166A1 (en) | 2001-01-31 |
CA2328437A1 (en) | 2000-08-17 |
US7508845B2 (en) | 2009-03-24 |
TW498649B (en) | 2002-08-11 |
CN1300517A (zh) | 2001-06-20 |
KR20010042630A (ko) | 2001-05-25 |
US6661811B1 (en) | 2003-12-09 |
WO2000048421A1 (en) | 2000-08-17 |
CN1270579C (zh) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2254134T3 (es) | Metodo y aparato para la comunicacion de datos isocronos. | |
JP3679808B2 (ja) | 信号処理システム | |
ES2226226T3 (es) | Disposicion de sincronizacion para una señal de video comprimida. | |
KR100358398B1 (ko) | 패킷전송방식 | |
KR100373942B1 (ko) | 신호처리시스템 | |
CN109787703B (zh) | 一种时间戳的修正方法、时钟同步方法及系统 | |
EP1052793B1 (en) | Method and device for synchronisation between two networks | |
JP3516206B2 (ja) | データストリーム処理装置および方法、並びにプログラム格納媒体 | |
WO2019036943A1 (zh) | 一种报文处理的方法和网络设备 | |
JP2000216800A (ja) | デ―タ中継装置および方法、並びに提供媒体 | |
KR20010082637A (ko) | 데이터 중계장치 및 방법, 및 제공매체 | |
KR20060112176A (ko) | 통신 시스템 및 방법, 정보 처리 장치 및 방법 및 프로그램 | |
US20050180732A1 (en) | Transfer apparatus | |
JP3499818B2 (ja) | タイムスタンプのオフセット調整方法及びそれを用いたパケット伝送装置 | |
EP0299265A2 (en) | Receiver synchronization in encoder/decoder | |
KR100817248B1 (ko) | Ieee 1394 버스로 전송되는 mpeg 기록된 데이터를판독하는 방법 및 장치 | |
JP3546799B2 (ja) | データ送受信装置 | |
JP3604895B2 (ja) | 伝送システムにおける受信インターフェース装置 | |
JP2003037574A (ja) | ストリーム送信装置および受信装置、ならびに送受信方法 | |
JPH11215144A (ja) | 時刻情報をもつディジタルデータの再現装置 | |
JPH06350649A (ja) | ブロックデータの伝送方法及び同期方法 | |
JP2001274762A (ja) | 多重化装置 | |
JP3578156B2 (ja) | パケット受信装置 | |
JP2000358006A (ja) | 通信装置、通信方法、および記録媒体 | |
JP2002064521A (ja) | 送信装置および送信方法、並びにプログラム格納媒体 |