FR3029726A1 - Systeme et procede de raccordement de flux de transport de donnees mpeg - Google Patents

Systeme et procede de raccordement de flux de transport de donnees mpeg Download PDF

Info

Publication number
FR3029726A1
FR3029726A1 FR1555862A FR1555862A FR3029726A1 FR 3029726 A1 FR3029726 A1 FR 3029726A1 FR 1555862 A FR1555862 A FR 1555862A FR 1555862 A FR1555862 A FR 1555862A FR 3029726 A1 FR3029726 A1 FR 3029726A1
Authority
FR
France
Prior art keywords
new content
packets
program clock
live stream
clock reference
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.)
Withdrawn
Application number
FR1555862A
Other languages
English (en)
Inventor
Kirill Bocharnikov
Michael Heitner
Babak Shaikhvand
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Datacasting Corp
Original Assignee
International Datacasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Datacasting Corp filed Critical International Datacasting Corp
Publication of FR3029726A1 publication Critical patent/FR3029726A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Abstract

Le procédé de raccordement d'un flux de transport de données dans un réseau monofréquence pour raccorder un nouveau contenu dans un flux en direct (101), comprend au moins l'une des étapes suivantes : (i) régler une ou plusieurs références d'horloge de programme non réglées en utilisant un module (204) de réglage d'une référence d'horloge de programme, (ii) sélectionner, en utilisant un module (207) de remplacement intelligent de paquets, des paquets à partir du nouveau contenu pour remplacer des paquets dans le flux en direct (101), et (iii) adapter, en utilisant un module (230) d'adaptation de débit, un débit de flux associé au flux en direct (101) au débit de flux associé au nouveau contenu.

Description

1 Domaine de l'invention L'invention concerne un système et un procédé servant à transmettre et à raccorder (« épisser ») des flux de transport de données selon la norme MPEG (acronyme de « Motion Picture Expert Group »).
Objet et description succincte de l'invention La présente invention a pour but de remédier aux inconvénients de l'art antérieur. Ces buts sont atteints grâce à un système de raccordement d'un 10 flux de transport de données dans un réseau monofréquence pour raccorder (« épisser ») un nouveau contenu dans un flux en direct, caractérisé en ce que le système comprend au moins l'un des modules suivants : (i) un module de réglage d'une référence d'horloge de programme, 15 (ii) un module de remplacement intelligent de paquets, et (iii) un module d'adaptation de débit pour adapter un débit de flux associé au flux en direct au débit de flux associé au nouveau contenu. De façon plus particulière, ledit flux en direct comprend une ou plusieurs références d'horloge de programme ; 20 ledit nouveau contenu comprend une ou plusieurs références d'horloge de programme non réglées ; ledit nouveau contenu est raccordé dans ledit flux en direct en un point de jonction dans ledit flux en direct ; ledit flux en direct a une référence d'horloge de programme associée au 25 point de jonction ; et ledit module de réglage d'une référence d'horloge de programme est configuré pour assurer le réglage desdites une ou plusieurs références d'horloge de programme non réglées. Dans ce cas, ledit réglage peut comprendre : 30 l'obtention d'une première desdites une ou plusieurs références d'horloge de programme réglées en remplaçant, à l'aide du module de réglage, une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée au point de jonction ; et 35 le calcul de chaque référence d'horloge de programme réglée suivant immédiatement la première référence d'horloge de programme réglée en 3029726 2 se basant sur un nombre d'octets entre une référence d'horloge de programme non réglée correspondante et une référence d'horloge de programme non réglée précédente. Ledit réglage peut encore comprendre: 5 l'obtention d'une première desdites une ou plusieurs références d'horloge de programme réglées en remplaçant une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée au point de jonction ; le module de réglage d'une référence d'horloge de programme étant configuré de manière à assurer une première initialisation comprenant la mise à zéro d'un compteur d'octets, et l'attribution d'une dernière référence d'horloge de programme disponible à la référence d'horloge de programme associée au point de jonction ; le module de réglage d'une référence d'horloge de programme étant configuré de manière à assurer un fonctionnement comprenant le comptage, en utilisant ledit compteur d'octets, d'un nombre d'octets jusqu'à ce que, soit une référence d'horloge de programme non réglée soit rencontrée dans le nouveau contenu, soit une référence d'horloge de programme soit rencontrée dans le flux en direct ; le module de réglage d'une référence d'horloge de programme étant en outre configuré de telle manière que, si une référence d'horloge de programme non réglée est rencontrée dans le nouveau contenu, une référence d'horloge de programme réglée correspondante est calculée en utilisant ledit nombre d'octets enregistré dans le compteur d'octets ; tandis que si une référence d'horloge de programme est rencontrée dans le flux en direct, ledit module de réglage d'une référence d'horloge de programme est configuré de manière à assurer une deuxième initialisation comprenant une remise à zéro dudit compteur d'octets, et l'attribution de ladite dernière référence d'horloge de programme disponible à la référence d'horloge de programme rencontrée dans le flux en direct ; et le module de réglage d'une référence d'horloge de programme étant en outre configuré de manière à exercer cette fonction pour une pluralité desdites une ou plusieurs références d'horloge de programme non réglées. Le nouveau contenu et le flux en direct comprennent chacun plusieurs types de paquets ; et ledit module de remplacement intelligent de paquet est configuré de manière à sélectionner des paquets du 3029726 3 nouveau contenu pour remplacer des paquets dans le flux en direct, ladite sélection comprenant l'assortiment (en anglais « matching ») du type de paquet à remplacer dans le flux en direct avec le type de paquet dans le nouveau contenu.
5 Avantageusement, ledit module de remplacement intelligent de paquet est configuré de manière à trier lesdits paquets du nouveau contenu en fonction du type desdits paquets et à stocker lesdits paquets triés, dans un tampon de remplacement intelligent de paquet intermédiaire.
10 Le système est adapté pour assurer le remplacement des paquets dans le flux en direct en utilisant les paquets triés et stockés. Selon un aspect de l'invention, une partie dudit flux en direct comprend une première pluralité de paquets et une première pluralité de trames ; ledit nouveau contenu comprend une deuxième pluralité de 15 paquets et une deuxième pluralité de trames ; un compte de trame du flux en direct est associé à ladite partie du flux en direct ; un compte de trame du nouveau contenu est associé audit nouveau contenu ; pour ladite partie dudit flux en direct, si le compte de trame du nouveau contenu est inférieur à une valeur maximale, ledit module d'adaptation de débit est 20 adapté pour remplacer un paquet de ladite première pluralité de paquets par un paquet de la deuxième pluralité de paquets, si le compte de trame du nouveau contenu est supérieur à une valeur maximale, le compte de trame du nouveau contenu est comparé au compte de trame du flux en direct, où, si 25 (1) soit ledit compte de trame du flux en direct est supérieur audit compte de trame du nouveau contenu, (2) soit ledit compte de trame du flux en direct est supérieur audit compte de trame du nouveau contenu plus un premier seuil, les paquets futurs de ladite première pluralité sont remplacés, et si 30 (1) soit ledit compte de trame du flux en direct est inférieur audit compte de trame du nouveau contenu, (2) soit ledit compte de trame du flux en direct est inférieur audit compte de trame du nouveau contenu moins un deuxième seuil, les paquets de ladite première pluralité sont convertis en des paquets sans 35 aucune donnée.
3029726 4 Dans ce cas, le système peut être configuré de telle manière que (1) soit ladite conversion de paquets de ladite pluralité en des paquets sans aucune donnée, 5 (2) soit le remplacement desdits paquets futurs, soit exécuté jusqu'à ce que le compte de trame du flux en direct (1) soit corresponde audit compte de trame du nouveau contenu, (2) soit se situe dans une plage basée sur le compte de trame du nouveau contenu.
10 Le système peut encore être configuré de manière que le remplacement des paquets futurs comprenne (1) soit le remplacement des paquets nuls, (2) soit la conversion en paquets sans aucune donnée. L'invention concerne également un procédé de raccordement 15 d'un flux de transport de données dans un réseau monofréquence pour raccorder (« épisser ») un nouveau contenu dans un flux en direct, caractérisé en ce que le procédé comprend au moins l'une des étapes suivantes : (i) régler une ou plusieurs références d'horloge de programme non réglées 20 en utilisant un module de réglage d'une référence d'horloge de programme, (ii) sélectionner, en utilisant un module de remplacement intelligent de paquets, des paquets à partir du nouveau contenu pour remplacer des paquets dans le flux en direct, et 25 (iii) adapter, en utilisant un module d'adaptation de débit, un débit de flux associé au flux en direct au débit de flux associé au nouveau contenu. Ledit flux en direct comprend une ou plusieurs références d'horloge de programme ; ledit nouveau contenu est raccordé dans ledit flux en direct en un point de 30 jonction dans ledit flux en direct ; et ledit flux en direct a une référence d'horloge de programme associée au point de jonction. Dans ce cas, ladite étape de réglage peut comprendre : l'obtention d'une première desdites une ou plusieurs références d'horloge 35 de programme réglées en remplaçant, à l'aide du module de réglage, une première desdites une ou plusieurs références d'horloge de programme 3029726 5 non réglées par la référence d'horloge de programme associée au point de jonction ; et le calcul de chaque référence d'horloge de programme réglée suivant immédiatement la première référence d'horloge de programme réglée en 5 se basant sur un nombre d'octets entre une référence d'horloge de programme non réglée correspondante et une référence d'horloge de programme non réglée précédente. Ladite étape de réglage peut encore comprendre : l'obtention d'une première desdites une ou plusieurs références d'horloge 10 de programme réglées en remplaçant une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée au point de jonction ; une première initialisation comprenant la mise à zéro d'un compteur d'octets, et l'attribution d'une dernière référence d'horloge de programme 15 disponible à la référence d'horloge de programme associée au point de jonction ; assurer un fonctionnement comprenant le comptage, en utilisant ledit compteur d'octets, d'un nombre d'octets jusqu'à ce que, soit l'on rencontre dans le nouveau contenu une référence d'horloge de programme non 20 réglée, soit l'on rencontre dans le flux en direct une référence d'horloge de programme ; en outre, si l'on rencontre dans le nouveau contenu une référence d'horloge de programme non réglée, on calcule une référence d'horloge de programme réglée correspondante en utilisant ledit nombre d'octets 25 enregistré dans le compteur d'octets ; tandis que si l'on rencontre dans le flux en direct une référence d'horloge de programme, on assure une deuxième initialisation comprenant une remise à zéro dudit compteur d'octets, et l'attribution de ladite dernière référence d'horloge de programme disponible à la référence d'horloge de programme rencontrée 30 dans le flux en direct ; et on exerce cette fonction pour une pluralité desdites une ou plusieurs références d'horloge de programme non réglées. Le nouveau contenu et le flux en direct comprennent chacun plusieurs types de paquets ; et l'étape de sélection comprend l'assortiment du type de paquet à remplacer dans le flux en direct avec le type de 35 paquet dans le nouveau contenu.
3029726 6 Le procédé comprend en outre les étapes consistant à trier lesdits paquets du nouveau contenu en fonction du type desdits paquets et à stocker lesdits paquets triés, dans ledit tampon de remplacement intelligent de paquet intermédiaire.
5 Dans ce cas, le remplacement des paquets dans le flux en direct peut être effectué en utilisant lesdits paquets triés et stockés. Selon un aspect de l'invention, une partie dudit flux en direct comprend une première pluralité de paquets et une première pluralité de trames ; ledit nouveau contenu comprend une deuxième pluralité de 10 paquets et une deuxième pluralité de trames ; un compte de trame du flux en direct est associé à ladite partie du flux en direct ; un compte de trame du nouveau contenu est associé audit nouveau contenu ; pour ladite partie dudit flux en direct, si le compte de trame du nouveau contenu est inférieur à une valeur maximale, on remplace, avec ledit module 15 d'adaptation de débit, un paquet de ladite première pluralité de paquets par un paquet de la deuxième pluralité de paquets, si le compte de trame du nouveau contenu est supérieur à une valeur maximale, on compare le compte de trame du nouveau contenu au compte de trame du flux en direct, où, si 20 (1) soit ledit compte de trame du flux en direct est supérieur audit compte de trame du nouveau contenu, (2) soit ledit compte de trame du flux en direct est supérieur audit compte de trame du nouveau contenu plus un premier seuil, on remplace les paquets futurs de ladite première pluralité, et si 25 (1) soit ledit compte de trame du flux en direct est inférieur audit compte de trame du nouveau contenu, (2) soit ledit compte de trame du flux en direct est inférieur audit compte de trame du nouveau contenu moins un deuxième seuil, on convertit les paquets de ladite première pluralité en des paquets sans 30 aucune donnée. De façon plus particulière, (1) soit ladite conversion de paquets de ladite pluralité en des paquets sans aucune donnée, (2) soit le remplacement desdits paquets futurs, 35 est exécuté jusqu'à ce que le compte de trame du flux en direct (1) soit corresponde audit compte de trame du nouveau contenu, 3029726 7 (2) soit se situe dans une plage basée sur le compte de trame du nouveau contenu. Le remplacement des paquets futurs comprend (1) soit le remplacement des paquets nuls, 5 (2) soit la conversion en paquets sans aucune donnée. Les aspects et modes de réalisation précédents et supplémentaires de cette invention seront évidents à un homme du métier au vu de la description détaillée des divers modes de réalisation ou aspects, qui est faite en référence aux dessins, qui sont décrits brièvement 10 ci-dessous. Brève description des dessins D'autres caractéristiques et avantages de l'invention ressortiront de la description suivante de modes particuliers de réalisation, donnés à 15 titre d'exemples non limitatifs en référence aux dessins annexés, sur lesquels : La FIG 1 illustre un exemple de mode de réalisation de réseau monofréquence. La FIG.
2A illustre un exemple de mode de réalisation d'une 20 unité d'épissure (unité de raccordement). La FIG.
2B illustre un exemple de mode de réalisation d'un module de réglage d'une référence d'horloge de programme (PCR). La FIG.
2C illustre un ordinogramme d'un exemple de mode de réalisation d'épissure d'une diffusion en flux en direct 101 et de nouveau 25 contenu 102. La FIG. 3 illustre un exemple de mode de réalisation de réglage de PCR. La FIG. 4 illustre un deuxième exemple de mode de réalisation de réglage de PCR.
30 La FIG.
5A illustre un exemple de mode de réalisation d'art antérieur d'une technique d'épissure de flux. La FIG.
5B illustre un schéma de l'unité d'épissure 200-1 intégrant le module de remplacement intelligent de paquets 207. La FIG.
5C illustre un exemple de mode de réalisation du 35 module de remplacement intelligent de paquets 207.
302 9 726 8 La FIG.
5D illustre un exemple d'ordinogramme de remplacement intelligent de paquets. La FIG.
5E illustre un exemple d'ordinogramme de sélection de paquets provenant du nouveau contenu aux fins de remplacement de 5 paquets dans la diffusion en flux en direct. La FIG. 6 illustre un exemple de technique de remplacement intelligent de paquets. Les FIG.
7A et 7B illustrent un exemple de mode de réalisation de sélection à l'intention de la technique de remplacement intelligent de 10 paquets. La FIG. 8 illustre un schéma de l'unité d'épissure 200-1 intégrant le module d'adaptation de débit 230. Les FIG. 9 illustre le module d'adaptation de débit 230 de manière plus détaillée.
15 La FIG. 10 illustre un ordinogramme d'ensemble d'un exemple de mode de réalisation d'épissure de la diffusion en flux en direct 101 et du nouveau contenu 102. La FIG. 11 illustre un ordinogramme d'un exemple de mode de réalisation de l'étape 1003 de la FIG. 10.
20 Bien que la présente invention soit sujette à différentes modifications et à autres formes, on a illustré des modes de réalisation ou mises en oeuvre particulières à titre d'exemple dans les dessins et on les décrira en détail ci-après. Cependant, il est entendu que l'invention n'est pas destinée à être limitée aux formes particulières divulguées. L'invention 25 couvre tous les équivalents, modifications, et possibilités correspondant à la portée de l'invention comme définie par les revendications annexées. Description détaillée de modes particuliers de réalisation La FIG. 1 illustre un exemple de configuration de réseau 30 monofréquence 100 (encore désigné « SFN » selon l'expression anglaise « single frequency network »). On fournit le contenu provenant d'une diffusion de données en flux en direct selon la norme MPEG (acronyme de « Motion Picture Expert Group ») comme flux en direct d'entrée 101 à plusieurs unités d'épissure (c'est-à-dire de raccordement) de flux de 35 transport 200-1 à 200-M. À chaque unité d'épissure, on épisse (c'est-à- dire on raccorde) la diffusion en flux en direct 101 avec le nouveau 3029726 9 contenu 102, et on transmet la diffusion en flux en direct épissée (raccordée) de sortie 103 à un des émetteurs 110-1 à 110-M dans le groupement 111. L'émetteur transmet cette diffusion en flux en direct épissée de 5 sortie 103 et le récepteur-décodeur descendant 120 la reçoit et la décode. La diffusion en flux en direct 101 et le nouveau contenu 102 renferment plusieurs types de paquets tels que des paquets vidéo et audio. La FIG.
2A illustre un exemple d'une technique d'épissure de diffusion en flux. On épisse (raccorde) le nouveau contenu 102, tel qu'une 10 diffusion en flux d'annonces publicitaires, à la diffusion en flux en direct 101, dont le résultat est montré. Le nouveau contenu 102 est, par exemple : des données stockées localement sur disque dur dans l'unité d'épissure, ou à distance, ou 15 - une diffusion en flux d'entrée dans l'unité d'épissure et différent de la diffusion en flux en direct 101. Bien qu'on ait présenté ces exemples, un homme du métier est conscient que le nouveau contenu n'est pas limité uniquement à ces exemples de source.
20 Le reste de cette description explique en détail plusieurs modes de réalisation différents afin de résoudre certains défis posés en raison de l'épissure décrite ci-dessus. Réglage d'une référence d'horloge du programme (PCR) Les flux de transport MPEG ou flux de média renferment des 25 références d'horloge du programme (encore appelées « PCR » selon l'expression anglaise « programme dock reference ») encodées dans les données. Cela est effectué par l'encodeur afin d'afficher correctement le média que portent ces flux. Un encodeur crée les PCR qui sont utilisées dans le décodage du flux.
30 Lorsqu'on épisse du nouveau contenu à une diffusion en flux en direct, les PCR dans le nouveau contenu entraînent une discontinuité et, ainsi, les décodeurs sont incapables de décoder correctement le contenu épissé (raccordé). En se référant à la FIG. 1, une solution possible est d'utiliser des 35 horloges matérielles pour récupérer ou estampiller à nouveau les PCR 302 9 726 10 dans les unités d'épissure 200-1 à 200-M. Toutefois, l'utilisation d'horloges matérielles occasionne plusieurs problèmes. Premièrement, puisque les différentes horloges matérielles sur les différentes unités d'épissure sont non-identiques les unes aux autres, 5 ce procédé ne fournira jamais de valeurs identiques aux différentes unités d'épissure. Cela rend une telle mise en oeuvre incompatible avec des réseaux monofréquences (SFN) qui exigent un contenu identique « au bit près » provenant de toutes les unités d'émetteur dans un groupement de sorte qu'un récepteur descendant puisse correctement décoder 10 l'information. Deuxièmement, le recours à une horloge matérielle sur chaque unité d'épissure exige que les horloges matérielles soient de très grande précision, ce qui peut mener à une augmentation sensible du coût global d'une unité d'épissure.
15 De plus, maintenir la précision des horloges matérielles exige que l'on mette à jour et compense pour toute dérive, de façon continue, chaque horloge matérielle dans chaque unité d'épissure. Par conséquent, il est souhaitable de trouver des solutions ne dépendant pas des horloges matérielles dans les unités d'épissure.
20 Les paragraphes suivants décrivent un système et un procédé pour effectuer le réglage des PCR et remédier à ces problèmes. On met en oeuvre le système et le procédé à l'intérieur de chaque unité d'épissure 200-1 à 200-M. La FIG.
2A illustre un schéma de l'unité d'épissure 200-1. L'unité d'épissure 200-1 comprend une unité de 25 stockage 202, une ou plusieurs entrées 201-1 à 201-N, une ou plusieurs sorties 206-1 à 206-K, un module de réglage de PCR 204 et un sous-système de traitement d'épissure 203. Selon un mode de réalisation, la mise en oeuvre d'une ou plusieurs de ces composantes se fait en matériel. Selon un autre mode de réalisation, la mise en oeuvre d'une ou plusieurs 30 de ces composantes se fait par logiciel. Selon un autre mode de réalisation, la mise en oeuvre d'une ou plusieurs de ces composantes se fait en combinant matériel et logiciel. Selon un autre mode de réalisation, la mise en oeuvre de l'unité d'épissure 200-1 s'effectue à l'aide d'un ou plusieurs serveurs.
35 Ces composantes s'interconnectent à l'aide de l'interconnexion 205. L'interconnexion 205 comprend, par exemple, au moins un support 302 9 726 11 de transmission soit filaire, soit sans fil, soit optique. Selon un mode de réalisation, l'interconnexion 205 est, par exemple, un réseau local (LAN), un réseau étendu (WAN) ou un réseau de campus (CAN). Selon un mode de réalisation, on crée l'interconnexion 205 à l'aide d'au moins une 5 technologie de réseau connue d'un homme du métier telle que Bluetooth, Ethernet, TCP/IP, etc. Selon un mode de réalisation, l'interconnexion 205 comprend un ou plusieurs sous-réseaux. On fournit la diffusion en flux en direct 101 à l'unité d'épissure à partir d'une première entrée 201-1 comme l'illustre la FIG.
2A. Le nouveau 10 contenu est stocké dans l'unité de stockage 202 ou provient d'une entrée 201-2 à 201-N différente de l'entrée 201-1. La FIG.
2B illustre le module de réglage de PCR 204 en plus de détail. Ce module effectue le réglage de la PCR du nouveau contenu. Le module de réglage comprend un processeur de réglage 211, un tampon 15 de réglage d'entrée 212 et un tampon de réglage de sortie 213. La FIG.
2C illustre un ordinogramme d'un exemple de mode de réalisation d'épissure de la diffusion en flux en direct 101 et du nouveau contenu 102. À l'étape 2C-01, on stocke initialement dans le tampon de réglage d'entrée 212 la diffusion en flux en direct 101, le nouveau contenu 20 102, et les données liées à la diffusion en flux en direct 101 et le nouveau contenu 102 comprenant au moins une PCR non réglée, comme le montre la FIG.2B. Ensuite, à l'étape 2C-02, on charge la diffusion en flux en direct et le nouveau contenu à partir du tampon de réglage d'entrée 212 et on 25 les fournit au processeur de réglage 211. À l'étape 2C-03, le processeur de réglage 211 règle les PCR non réglées du nouveau contenu 102 comme l'indique les FIG. 3 et 4. On effectue le réglage comme suit : En premier lieu, on calcule le nombre d'octets entre la PCR de la 30 diffusion en flux en direct 101 au point d'épissure (de jonction) 301, PCR(101,1), et la deuxième PCR non réglée du nouveau contenu PCR(102,2) à être épissé. Comme le sait l'homme du métier, on remplace PCR(102,1), qui est la première PCR non réglée du nouveau contenu au point d'épissure, par PCR(101,1). Ensuite, selon un mode de réalisation, 35 on obtient le nombre d'octets en soustrayant l'index de l'octet renfermant 3029726 12 le dernier bit de la PCR(102,1) de l'index de l'octet renfermant le dernier bit de la PCR(102,2). Ensuite, étant donné que les débits de transmission de la diffusion en flux en direct 101 et du nouveau contenu 102 sont les mêmes 5 et sont constants, on règle PCR(102,2) à l'aide de la formule suivante, telle qu'indiquée à la FIG. 3 : PCR(102,2')=PCR(101,1)+((i2-i1)x(fréquence de l'horloge système))/(débit de transmission) où 10 PCR(102,2') est la version réglée de PCR(102,2) PCR(101,1) est la PCR pour le premier flux au point d'épissure i2 est 1(102,2), l'index de l'octet renfermant le dernier bit de PCR(102,2) il est 1(102,1), l'index de l'octet renfermant le dernier bit de PCR(102,1) On doit régler les PCR ultérieures à PCR(102,2), représentées 15 par PCR(102,n+1), pour le nouveau contenu 102. Selon un mode de réalisation, on calcule celles-ci à l'aide de la formule suivante telle qu'illustrée à la FIG. 3: PCR(102,n+1')= PCR(102,n')+((in+i-in) x (fréquence de l'horloge système))/(débit de transmission) 20 où n > 2 PCR(102,n+1') est la version réglée de PCR(102,n+1) PCR(102,n') est la version réglée de PCR(102,n) in+1 est I(102,n+1) est l'index de l'octet renfermant le dernier bit de 25 PCR(102,n+1) in est I(102,n) est l'index de l'octet renfermant le dernier bit de PCR(102,n) Selon un autre mode de réalisation, on remet à zéro et on démarre un compteur d'octets, mis en oeuvre par le processeur de réglage 30 211, par exemple, afin d'enlever l'erreur composée dans le calcul, lorsqu'on reçoit une diffusion en flux en direct. Puis, lorsqu'on trouve une PCR dans le nouveau contenu 102, cette PCR est réglée à l'aide de la dernière PCR de diffusion en flux en direct et de la formule suivante : PCR(nouvelle)=PCR(dernière disponible)+((compteur d'octets) 35 x(fréquence de l'horloge système))/(débit de transmission) 302 9 726 13 Lorsqu'on reçoit une PCR d'une nouvelle diffusion en flux en direct, on remplace la dernière PCR disponible dans la diffusion en flux en direct par cette valeur et on remet le compteur d'octets à zéro et on le redémarre.
5 La FIG. 4 donne un exemple. On reçoit PCR(101,2) et un compteur d'octet est remis à zéro. Puis, lorsqu'on reçoit PCR(102,2), le compteur d'octet affiche N octets reçus. On calcule PCR(102,2') comme suit: PCR(102,2')=PCR(101,2)+(N x(fréquence de l'horloge système))/(débit 10 de transmission) On peut effectuer le même calcul pour PCR(102,3') sauf que cette fois, la dernière PCR disponible serait PCR(101,3). Une fois le réglage de la PCR achevé, à l'étape 2C-04, on envoie alors la diffusion en flux en direct et le nouveau contenu avec les PCR 15 réglées au tampon de réglage de sortie 213. À l'étape 2C-05, on achemine ensuite ces deux flux vers le sous-système de traitement d'épissures 203 de la FIG.
2A où on épisse par la suite la diffusion en flux en direct 101 avec le nouveau contenu 102 renfermant les PCR réglées pour former le flux épissé 103 illustré à la FIG. 20 1. À l'étape 2C-06, on envoie alors le flux épissé 103 à un émetteur correspondant 110-1 à 110-M en passant par une des sorties 206-1 à 206-K comme illustré à la FIG. 1. Chacun des émetteurs 110-1 à 110-M transmet ensuite le flux épissé. La réalisation du réglage de la PCR 25 décrit ci-dessus permet la réception et le décodage corrects par le récepteur 120 descendant. Remplacement intelligent de paquets La FIG.
5A illustre l'épissure (le raccordement) à l'aide d'une technique de l'art antérieur. Dans cette section, on utilise la convention 30 pour nommer les paquets comme suit : x(y,n) est le paquet numéro n de type x du flux y. Par exemple, le deuxième paquet video dans la diffusion en flux en direct est indiqué comme V(101, 2), et le deuxième paquet audio dans le nouveau contenu est indiqué 35 comme A(102,2).
302 9 726 14 Dans le flux épissé de sortie 103 résultant à la FIG.
5A, on observe qu'en utilisant la technique d'épissure de flux de l'art antérieur, comparativement à la diffusion en flux en direct, les paquets vidéo et audio peuvent être échangés à comparer avec la diffusion en flux en direct 5 101. Par exemple, on remplace le paquet V(101,2) par A(102,2) et le paquet A(101,4) par V(102,4). L'homme du métier sait qu'en ce qui concerne les flux de transport MPEG, il y a des indicateurs en place mesurant les distances et le temps entre des sections spécifiques du flux aux fins de détection 10 d'erreur. En modifiant la structure de la diffusion en flux en direct telle que montrée à la FIG.
5A, ces indicateurs deviennent invalides. De plus, la conservation de la structure originale évite la propagation de retard et n'altère pas la performance d'un décodeur descendant. De plus, l'homme de métier sait également qu'il y a des 15 indicateurs pour les réseaux SFN dans le but de déterminer si les flux diffusés par différents émetteurs sont identiques du point de vue structurel. Modifier la structure de la diffusion en flux en direct comme l'indique la FIG.
5A rendrait ces indicateurs invalides. Par conséquent, il est nécessaire de trouver une solution pour 20 régler ce problème. Cette section expose en détail un système et un procédé de remplacement intelligent de paquet afin de résoudre ces problèmes. La FIG.
5B illustre un exemple de mise en oeuvre du système et du procédé de cette section à l'intérieur de l'unité d'épissure 200-1 à l'aide 25 du module de remplacement intelligent de paquet 207. On a décrit les autres composantes à la FIG.
5B. Selon un mode de réalisation, on met en oeuvre le module de remplacement intelligent de paquet 207 en matériel. Selon un autre mode de réalisation, on met en oeuvre le module de remplacement intelligent de paquet 207 par logiciel. Selon un autre mode 30 de réalisation, on met on oeuvre le module de remplacement intelligent de paquet 207 en combinant matériel et logiciel. Selon un autre mode de réalisation, on met en oeuvre le module de remplacement intelligent de paquet 207 à l'aide d'au moins un serveur. Selon un autre mode de réalisation, on couple le module de remplacement intelligent de paquet 35 207 aux autres composantes à l'aide de l'interconnexion 205.
302 9 726 15 La FIG.
5C montre en plus de détail le module de remplacement intelligent de paquet 207. Ce module effectue les opérations nécessaires au remplacement intelligent des paquets. Le module de remplacement intelligent de paquet 207 comprend un processeur de remplacement 5 intelligent de paquet 221, un tampon de remplacement intelligent de paquet d'entrée 222, un tampon de remplacement intelligent de paquet intermédiaire 224 et un tampon de remplacement intelligent de paquet de sortie 223. La FIG.
5D illustre un exemple d'ordinogramme d'une réalisation 10 de remplacement intelligent de paquets. À l'étape 5D-01, on stocke la diffusion en flux en direct d'entrée 101, le nouveau contenu 102 et les données associées au flux d'entrée et le nouveau contenu dans le tampon de remplacement intelligent de paquets d'entrée 222. À l'étape 5D-02, le processeur de remplacement intelligent de 15 paquets sélectionne les paquets du nouveau contenu 102 dans le but de remplacer des paquets de la diffusion en flux en direct 101. À cette étape, on charge les paquets provenant du nouveau contenu 102 à partir du tampon de remplacement intelligent de paquet d'entrée 222 et on les envoie au processeur de remplacement intelligent de paquets 221 aux fins 20 de sélection. Comme le montre la FIG. 6, la section de la diffusion en flux en direct 101 destinée à l'épissure a quatre paquets vidéo et un paquet audio. Ensuite, on devra sélectionner les paquets provenant du nouveau contenu 102 avant le remplacement afin de maintenir la structure originale. De cette manière, la structure du flux résultant 103 est la même 25 que celle de la diffusion en flux en direct 101. Selon un mode de réalisation, on effectue l'étape de sélection 5D-02 telle qu'illustrée dans l'exemple d'ordinogramme de la FIG.
5E. À l'étape 5E-01, le processeur de remplacement intelligent de paquets 221 trie alors le nouveau contenu 102 en paquets vidéo et audio dénotés par 30 102(Video) et 102(Audio) comme le montre la FIG.
7A, et stocke le contenu trié 102(Video) et 102(Audio) dans le tampon de remplacement de paquet intermédiaire 224. À l'étape 5E-02, le processeur de remplacement intelligent de paquets 221 détermine le type de paquet contenu dans la diffusion en flux 35 en direct à l'aide de procédés connus de l'homme du métier.
302 9 726 16 Ensuite, à l'étape 5E-03, le processeur de remplacement intelligent de paquets 221 choisit un paquet approprié à partir du nouveau contenu trié stocké dans le tampon de remplacement de paquets intermédiaire 224 afin de remplacer ce paquet.
5 Par exemple, comme l'illustre la FIG.
7B, si on détermine que le paquet de la diffusion en flux en direct 101 est vidéo, alors on choisit un paquet vidéo à partir des paquets vidéo du nouveau contenu trié. Si on détermine que le paquet de la diffusion en flux en direct est audio, alors on choisit un paquet audio parmi les paquets audio à partir du nouveau 10 contenu trié. Par exemple, le processeur de remplacement intelligent de paquets 221 détermine que V(101,2) est un paquet vidéo. Après, le processeur de remplacement intelligent de paquets 221 choisit le paquet V(102,1) pour remplacer V(101,2). On effectue un procédé semblable pour chaque paquet dans la diffusion en flux en direct 101 comme le 15 montre la FIG.
7B. À l'étape 5D-03, on envoie les résultats de l'étape 5D-02 au sous-système de traitement d'épissure 203 de la FIG.
5B, par exemple, afin de réaliser l'épissure finale. Selon un mode de réalisation, on stocke la diffusion en flux en direct et les paquets sélectionnés à partir du nouveau 20 contenu dans le tampon de remplacement intelligent de paquets de sortie 224 avant de les charger et de les envoyer au sous-système de traitement d'épissure 203. Selon un autre mode de réalisation, le module de remplacement intelligent de paquet 207 fait partie du sous-système de traitement 25 d'épissure 203. Ensuite, en utilisant les résultats, on décharge les paquets sélectionnés depuis le nouveau contenu du tampon de remplacement intelligent de paquets intermédiaire 222 et on effectue l'épissure finale. Selon un mode de réalisation, cette épissure finale comprend le réglage d'au moins une référence d'horloge du programme dans le 30 nouveau contenu. Selon un mode de réalisation, on a recours au système et au procédé décrits à la section précédente pour effectuer ce réglage. L'homme de métier sait qu'il y a de nombreux moyens possibles de mettre en oeuvre le procédé de sélection de la FIG.
5E. Par exemple, le triage pourrait s'effectuer à l'aide de pointeurs aux adresses des paquets 35 vidéo et audio dans le tampon le remplacement intelligent de paquets d'entrée 222.
302 9 72 6 17 L'homme de métier sait également que bien que les réalisations ci-dessus concernent des paquets vidéo et audio, il est possible de généraliser cette approche pour des types de paquets autres que vidéo et audio.
5 Adaptation de débit Comme le montre la FIG. 1, la réalisation d'une épissure exige que le débit du flux de transport du nouveau contenu 102 soit égal à celui de la diffusion en flux en direct 101. L'intégralité du contenu à être inséré doit être présente dans le flux sortant tout en conservant le débit global.
10 Un décalage dans le débit de flux de transport entraîne une différence dans le nombre de paquets transmis dans chaque flux. Par exemple, si le débit de flux de données du nouveau contenu 102 est plus élevé que celui de la diffusion en flux en direct 101, le nombre de paquets transmis dans le flux du nouveau contenu 102 est plus élevé que celui de 15 la diffusion en flux en direct 101 à l'intérieur de la même fenêtre de temps. Il est nécessaire de trouver une solution à ce problème. Le reste de cette description explique en détail un système et un procédé d'adaptation de débit pour résoudre ces problèmes.
20 Un exemple de mise en oeuvre du système et du procédé décrits dans cette section et prévus dans l'unité d'épissure 200-1 est montré à la FIG. 8. Dans la FIG. 8, on achemine la diffusion en flux en direct 101 à l'unité d'épissure 200-1 depuis une première entrée 201-1. Le nouveau contenu provient de l'unité de stockage 202 ou d'une entrée différente de 25 la première entrée 201-1. On fournit ensuite la diffusion en flux en direct 101, le nouveau contenu 102 et les données associées à la diffusion en flux en direct 101 et au nouveau contenu 102 au sous-système de traitement d'épissure 203 qui est modifié pour comprendre le module d'adaptation de débit 230 30 comme le montre la FIG. 8. On a décrit les autres composantes de l'unité d'épissure 200-1 ci-dessus. La FIG. 9 illustre en plus de détails le module d'adaptation de débit 230. Ce module effectue l'adaptation du débit décrite en plus de détails ci-dessous. Le module d'adaptation de débit comprend un 35 processeur d'adaptation de débit 231, un tampon d'adaptation d'entrée 232 et un tampon d'adaptation de sortie 233.
3029726 18 La FIG. 10 montre un exemple d'ordinogramme de réalisation d'épissure de la diffusion en flux en direct 101 et du nouveau contenu 102 incorporant l'adaptation de débit. À l'étape 1001, on stocke initialement la diffusion en flux en direct, le nouveau contenu et les données associées à 5 la diffusion en flux en direct 101 et au nouveau contenu 102 dans le tampon d'adaptation d'entrée 232 comme le montre la FIG. 9. Ensuite, à l'étape 1002, on charge la diffusion en flux en direct et le nouveau contenu à partir du tampon d'adaptation d'entrée 232 et on les fournit au processeur d'adaptation 231.
10 À l'étape 1003, le processeur d'adaptation de débit 231 effectue l'épissure de la diffusion en flux en direct et du nouveau contenu 102 incorporant l'adaptation de débit en conjonction avec le sous-système de traitement d'épissure 203. La FIG. 11 montre un exemple d'ordinogramme de mode de 15 réalisation de l'étape 1003 pour une section de la diffusion en flux en direct 101 qui sera remplacé par le nouveau contenu 102. La section de la diffusion en flux en direct qui sera remplacée comprend une première pluralité de trames et une première pluralité de paquets. Le nouveau contenu 102 comprend une deuxième pluralité de trames et une deuxième 20 pluralité de paquets. Dans un autre mode de réalisation, chacune des premières pluralités de trames comprend une section correspondante de ladite première pluralité de paquets et chacune des deuxièmes pluralités de trames comprend une section correspondante de ladite deuxième pluralité de paquets.
25 À l'étape 1101, on insère un paquet provenant du nouveau contenu 102 à la place d'un paquet dans une section de la diffusion en flux en direct 101 qui est à remplacer. On assortit le type de paquet avant le remplacement. Par exemple, on utilise un paquet vidéo provenant du nouveau contenu 102 pour remplacer un paquet vidéo de la diffusion en 30 flux en direct 101; on utilise un paquet audio du nouveau contenu 102 pour remplacer un paquet audio de la diffusion en flux en direct 101. À l'étape 1102, on incrémente le compteur de trames du nouveau contenu chaque fois qu'on rencontre une nouvelle trame, et on incrémente un compteur de trames de la diffusion en flux en direct chaque 35 fois qu'on rencontre une nouvelle trame dans la section de la diffusion en flux en direct 101 qui est à se faire remplacer.
302 9 726 19 À l'étape 1103, on compare le compteur de trames du nouveau contenu à un nombre maximum X. Selon un mode de réalisation, on détermine X selon des estimations historiques. Si le compteur de trames du nouveau contenu est moins que X, le remplacement de paquets se 5 poursuit. Si le compteur de trames du nouveau contenu est égal à X, à l'étape 1104, on compare le compteur de trames du nouveau contenu au compteur de trames de la diffusion en flux en direct. Si le compteur de trames de la diffusion en flux en direct est plus 10 grand que le compteur de trames du nouveau contenu, ou le compteur de trames de la diffusion en flux en direct est plus grand que le compteur de trames du nouveau contenu plus un premier seuil, c'est à dire : 1C-r] DIRECT> 101 NOUVEAU +01 15 où CTDIREcr est le compteur de trames de la diffusion en flux en direct CTNouvEAu est le compteur de trames du nouveau contenu Al est un premier seuil Dans une réalisation, à l'étape 1105 : on insère les paquets du 20 nouveau contenu 102 en remplaçant les futurs paquets de la diffusion en flux en direct 101 jusqu'à ce que les compteurs de trames soient égaux. Selon un mode de réalisation, à l'étape 1105, on insère les paquets du nouveau contenu 102 en remplaçant des paquets NULS futurs de la diffusion en flux en direct jusqu'au moment où les compteurs de trames 25 sont égaux ou en deçà d'un seuil. Selon un autre mode de réalisation, si l'insertion d'un paquet du nouveau contenu en remplaçant des paquets NULS futurs dans la diffusion en flux en direct n'est pas permise, mais il y a des paquets « sans données » dans le nouveau contenu disponible dans d'autres flux de 30 média, à l'étape 1105, on active un indicateur signifiant que les paquets « sans données » provenant d'autres flux de média devraient être convertis au lieu afin d'accommoder le paquet qui devait être inséré. On incrémente les compteurs de trames en revenant à l'étape 1102 et, à l'étape 1104, on compare les compteurs de trames à nouveau. On effectue l'étape 1105 35 jusqu'au moment où les compteurs de trames sont égaux ou en deçà du premier seuil.
3029726 20 Si le compteur de trames de la diffusion en flux en direct est moins que le compteur de trames du nouveau contenu, selon un mode de réalisation, à l'étape 1106, on convertit les paquets de la diffusion en flux en direct 101 en paquets « aucune charge utile » jusqu'au moment où les 5 compteurs de trames sont égaux. Selon un autre mode de réalisation, on effectue l'étape 1106 si le compteur de trames de la diffusion en flux en direct est moins que le compteur de trames du nouveau contenu moins un deuxième seuil, c'est à dire 10 ICil DIRECT< IC11 NOUVEAU-A2 OÙ KC11 DIRECT est le compteur de trames de la diffusion en flux en direct 101NouvEAu est le compteur de trames du nouveau contenu A2 est un deuxième seuil 15 Selon un mode de réalisation, on accomplit la conversion en paquets « aucune charge utile » en mettant l'indicateur de charge utile à zéro. On effectue cela en activant le deuxième bit du champ de contrôle d'adaptation. Le cheminement de trames de la diffusion en flux en direct 101 se poursuit, mais le cheminement de trames du nouveau contenu 102 20 est arrêté de sorte que l'on ne rencontre aucune nouvelle trame dans le nouveau contenu 102. Ensuite, en revenant à l'étape 1102, le compteur de trames du nouveau contenu demeure inchangé tandis qu'on incrémente le compteur de la diffusion en flux en direct. Puis, à l'étape 1104, on compare les compteurs de trames à nouveau. On effectue 25 l'étape 1106 jusqu'au moment où les compteurs de trames sont égaux ou en deçà du deuxième seuil. Si, à l'étape 1104, le compteur de trames de la diffusion en flux en direct 101 est soit égal au compteur de trames du nouveau contenu 102 soit dans la plage basée sur le compteur de trames du nouveau 30 contenu, c'est à dire : IICTJ NOUVEAU-A25- C11 DIRECTS KC11NOUVEAU+Al où CTDIREcr est le compteur de trames de la diffusion en flux en direct CTNOUVEAU est le compteur de trames du nouveau contenu 35 Al est un premier seuil A2 est un deuxième seuil 3029726 21 à l'étape 1107, on remet le compteur de trames du nouveau contenu et le compteur de trames de la diffusion en flux en direct à zéro et, finalement, on continue à effectuer l'étape 1101. Selon un autre mode de réalisation, le premier seuil et le 5 deuxième seuil sont égaux entre eux. Selon un mode de réalisation, on remplace plus d'une section de la diffusion en flux en direct 101 par le nouveau contenu 102. Puis, dans ce mode de réalisation, on effectue l'étape 1003 pour toutes les sections de la diffusion en flux en direct qui sont à se faire remplacer avec le 10 nouveau contenu 102. Puis, en revenant à la FIG. 10, à l'étape 1004, on stocke le flux de sortie épissé dans le tampon d'adaptation de sortie 233. Bien qu'on ait décrit séparément les algorithmes présentés ci-dessus, y compris ceux se référant aux ordinogrammes précédents, il va 15 de soi que l'on peut associer au moins deux des algorithmes divulgués dans la présente en une quelconque combinaison. N'importe lequel des algorithmes, méthodes, mises en oeuvre ou procédés décrits dans la présente description peut comprendre des instructions en langage machine aux fins d'exécution par : (a) un processeur (b) un contrôleur, ou 20 (c) tout autre dispositif de traitement. On peut réaliser tout algorithme, logiciel ou procédé divulgué dans la présente description par logiciel stocké sur un support tangible non transitoire comme une mémoire flash, un CD-ROM, une disquette, un disque dur, un disque numérique polyvalent (DVD) ou d'autres dispositifs de mémoire, mais l'homme du 25 métier comprendra facilement qu'on peut exécuter autrement l'algorithme en tout ou en partie sur un dispositif autre qu'un contrôleur ou le réaliser en micrologiciel ou en matériel dédié de manière bien connue. Par exemple, l'algorithme peut être mis en oeuvre par un circuit intégré à application spécifique [ASIC], un réseau logique programmable [PLA], un 30 réseau logique programmable par l'utilisateur [FPLA], ou un circuit discret. De plus, un contrôleur, processeur, ou dispositif ou machine informatique peut mettre en oeuvre manuellement plutôt qu'automatiquement, en langage machine, l'ensemble ou certaines des instructions renfermées dans tout ordinogramme représenté dans la présente description. De 35 même, bien qu'on décrive des algorithmes particuliers en référence aux ordinogrammes représentés dans la présente demande, l'homme du 3029726 22 métier comprendra facilement qu'on peut utiliser plusieurs autres méthodes pour mettre en oeuvre les exemples d'instructions en langage machine. Par exemple, on peut changer l'ordre d'exécution des blocs ou certains des blocs décrits peuvent être modifiés, éliminés ou combinés.
5 Il convient de noter que les algorithmes sont illustrés et discutés dans la présente description comme ayant différents modules qui effectuent des fonctions particulières et qui interagissent entre eux. Il devrait être entendu que ces modules ne sont que séparés selon leur fonction aux fins de description et représentent du matériel informatique 10 ou du code de logiciel exécutable qui est stocké sur support lisible par ordinateur aux fins d'exécution à l'aide de matériel informatique approprié. Les diverses fonctions des différents modules et unités peuvent être combinées ou séparées en tant que matériel ou logiciel stocké sur support tangible non transitoire tel que mentionné ci-dessus en des modules de 15 diverses manières et peuvent être utilisées séparément ou en combinaison. Bien que des mises en oeuvre et des applications de la présente invention aient été illustrées, il est entendu que la présente invention ne se limite pas à la construction et aux compositions divulguées dans la 20 présente description et que différents changements, modifications et variations peuvent être apparents à partir des descriptions précédentes sans renoncer à la portée de l'invention telle que définie dans les revendications en annexe.

Claims (20)

  1. REVENDICATIONS1.Système de raccordement d'un flux de transport de données dans un réseau monofréquence pour raccorder un nouveau contenu (102) dans un 5 flux en direct (101), caractérisé en ce que le système comprend au moins l'un des modules suivants : (i) un module (204) de réglage d'une référence d'horloge de programme, (ii) un module (207) de remplacement intelligent de paquets, et (iii) un module (230) d'adaptation de débit pour adapter un débit de flux 10 associé au flux en direct (101) au débit de flux associé au nouveau contenu (102).
  2. 2. Système selon la revendication 1, caractérisé en ce que ledit flux en direct (101) comprend une ou plusieurs références d'horloge de programme ; 15 en ce que ledit nouveau contenu (102) comprend une ou plusieurs références d'horloge de programme non réglées ; en ce que ledit nouveau contenu (102) est raccordé dans ledit flux en direct (101) en un point de jonction (301) dans ledit flux en direct (101) ; en ce que ledit flux en direct (101) a une référence d'horloge de 20 programme associée au point de jonction (301) ; et en ce que ledit module (204) de réglage d'une référence d'horloge de programme est configuré pour assurer le réglage desdites une ou plusieurs références d'horloge de programme non réglées.
  3. 3. Système selon la revendication 2, caractérisé en ce que ledit réglage 25 comprend : l'obtention d'une première desdites une ou plusieurs références d'horloge de programme réglées en remplaçant, à l'aide du module (204) de réglage, une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée 30 au point de jonction (301) ; et le calcul de chaque référence d'horloge de programme réglée suivant immédiatement la première référence d'horloge de programme réglée en se basant sur un nombre d'octets entre une référence d'horloge de programme non réglée correspondante et une référence d'horloge de 35 programme non réglée précédente. 3029726 24
  4. 4. Système selon la revendication 2, caractérisé en ce que ledit réglage comprend en outre : l'obtention d'une première desdites une ou plusieurs références d'horloge de programme réglées en remplaçant une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée au point de jonction (301) ; le module (204) de réglage d'une référence d'horloge de programme étant configuré de manière à assurer une première initialisation comprenant la mise à zéro d'un compteur d'octets, et l'attribution d'une dernière référence d'horloge de programme disponible à la référence d'horloge de programme associée au point de jonction (301) ; le module (204) de réglage d'une référence d'horloge de programme étant configuré de manière à assurer un fonctionnement comprenant le comptage, en utilisant ledit compteur d'octets, d'un nombre d'octets jusqu'à ce que, soit une référence d'horloge de programme non réglée soit rencontrée dans le nouveau contenu (102), soit une référence d'horloge de programme soit rencontrée dans le flux en direct (101) ; le module (204) de réglage d'une référence d'horloge de programme étant en outre configuré de telle manière que, si une référence d'horloge de programme non réglée est rencontrée dans le nouveau contenu (102), une référence d'horloge de programme réglée correspondante est calculée en utilisant ledit nombre d'octets enregistré dans le compteur d'octets ; tandis que si une référence d'horloge de programme est rencontrée dans le flux en direct (101), ledit module de réglage d'une référence d'horloge de programme est configuré de manière à assurer une deuxième initialisation comprenant une remise à zéro dudit compteur d'octets, et l'attribution de ladite dernière référence d'horloge de programme disponible à la référence d'horloge de programme rencontrée dans le flux en direct (101) ; et le module (204) de réglage d'une référence d'horloge de programme étant en outre configuré de manière à exercer cette fonction pour une pluralité desdites une ou plusieurs références d'horloge de programme non réglées.
  5. 5. Système selon la revendication 1, caractérisé en ce que le nouveau contenu (102) et le flux en direct (101) comprennent chacun plusieurs 35 types de paquets ; et ledit module (207) de remplacement intelligent de paquet est configuré de manière à sélectionner des paquets du nouveau 302 9 726 25 contenu (102) pour remplacer des paquets dans le flux en direct (101), ladite sélection comprenant l'assortiment du type de paquet à remplacer dans le flux en direct (101) avec le type de paquet dans le nouveau contenu (102). 5
  6. 6. Système selon la revendication 5, caractérisé en ce que ledit module (207) de remplacement intelligent de paquet est configuré de manière à trier lesdits paquets du nouveau contenu (102) en fonction du type desdits paquets et à stocker lesdits paquets triés, dans un tampon (224) de remplacement intelligent de paquet intermédiaire. 10
  7. 7. Système selon la revendication 6, caractérisé en ce qu'il est adapté pour assurer le remplacement des paquets dans le flux en direct (101) en utilisant les paquets triés et stockés.
  8. 8. Système selon la revendication 1, caractérisé en ce qu'une partie dudit flux en direct (101) comprend une première pluralité de paquets et une 15 première pluralité de trames ; en ce que ledit nouveau contenu (102) comprend une deuxième pluralité de paquets et une deuxième pluralité de trames ; en ce qu'un compte de trame du flux en direct (101) est associé à ladite partie du flux en direct (101) ; en ce qu'un compte de trame du nouveau contenu (102) est associé audit nouveau contenu (102) ; en ce 20 que pour ladite partie dudit flux en direct (101), si le compte de trame du nouveau contenu (101) est inférieur à une valeur maximale, ledit module (230) d'adaptation de débit est adapté pour remplacer un paquet de ladite première pluralité de paquets par un paquet de la deuxième pluralité de paquets, si le compte de trame du nouveau contenu (102) est supérieur à 25 une valeur maximale, le compte de trame du nouveau contenu (102) est comparé au compte de trame du flux en direct (101), où, si (1) soit ledit compte de trame du flux en direct (101) est supérieur audit compte de trame du nouveau contenu (102), (2) soit ledit compte de trame du flux en direct (101) est supérieur audit 30 compte de trame du nouveau contenu (102) plus un premier seuil, les paquets futurs de ladite première pluralité sont remplacés, et si (1) soit ledit compte de trame du flux en direct (101) est inférieur audit compte de trame du nouveau contenu (102), (2) soit ledit compte de trame du flux en direct (101) est inférieur audit 35 compte de trame du nouveau contenu (102) moins un deuxième seuil, 302 9 726 26 les paquets de ladite première pluralité sont convertis en des paquets sans aucune donnée.
  9. 9. Système selon la revendication 8, caractérisé en ce qu'il est configuré de telle manière que 5 (1) soit ladite conversion de paquets de ladite pluralité en des paquets sans aucune donnée, (2) soit le remplacement desdits paquets futurs, soit exécuté jusqu'à ce que le compte de trame du flux en direct (1) soit corresponde audit compte de trame du nouveau contenu (102), 10 (2) soit se situe dans une plage basée sur le compte de trame du nouveau contenu (102).
  10. 10. Système selon la revendication 8, caractérisé en ce qu'il est configuré de manière que le remplacement des paquets futurs comprenne (1) soit le remplacement des paquets nuls, 15 (2) soit la conversion en paquets sans aucune donnée.
  11. 11. Procédé de raccordement d'un flux de transport de données dans un réseau monofréquence pour raccorder un nouveau contenu (102) dans un flux en direct (101), caractérisé en ce que le procédé comprend au moins l'une des étapes suivantes : 20 (I) régler une ou plusieurs références d'horloge de programme non réglées en utilisant un module (204) de réglage d'une référence d'horloge de programme, (ii) sélectionner, en utilisant un module (207) de remplacement intelligent de paquets, des paquets à partir du nouveau contenu (102) pour 25 remplacer des paquets dans le flux en direct (101), et (iii) adapter, en utilisant un module (230) d'adaptation de débit, un débit de flux associé au flux en direct (101) au débit de flux associé au nouveau contenu (102).
  12. 12. Procédé selon la revendication 11, caractérisé en ce que ledit flux en 30 direct (101) comprend une ou plusieurs références d'horloge de programme ; en ce que ledit nouveau contenu (102) est raccordé dans ledit flux en direct (101) en un point de jonction (301) dans ledit flux en direct (101) ; et en ce que ledit flux en direct (101) a une référence d'horloge de programme associée au point de jonction (301). 302 9 726 27
  13. 13.Procédé selon la revendication 12, caractérisé en ce que ladite étape de réglage comprend : l'obtention d'une première desdites une ou plusieurs références d'horloge de programme réglées en remplaçant, à l'aide du module (204) de 5 réglage, une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée au point de jonction (301) ; et le calcul de chaque référence d'horloge de programme réglée suivant immédiatement la première référence d'horloge de programme réglée en 10 se basant sur un nombre d'octets entre une référence d'horloge de programme non réglée correspondante et une référence d'horloge de programme non réglée précédente.
  14. 14. Procédé selon la revendication 12, caractérisé en ce que ladite étape de réglage comprend : 15 l'obtention d'une première desdites une ou plusieurs références d'horloge de programme réglées en remplaçant une première desdites une ou plusieurs références d'horloge de programme non réglées par la référence d'horloge de programme associée au point de jonction (301) ; une première initialisation comprenant la mise à zéro d'un compteur 20 d'octets, et l'attribution d'une dernière référence d'horloge de programme disponible à la référence d'horloge de programme associée au point de jonction (301) ; assurer un fonctionnement comprenant le comptage, en utilisant ledit compteur d'octets, d'un nombre d'octets jusqu'à ce que, soit l'on rencontre 25 dans le nouveau contenu (102) une référence d'horloge de programme non réglée, soit l'on rencontre dans le flux en direct (101) une référence d'horloge de programme ; en outre, si l'on rencontre dans le nouveau contenu (102) une référence d'horloge de programme non réglée, on calcule une référence d'horloge 30 de programme réglée correspondante en utilisant ledit nombre d'octets enregistré dans le compteur d'octets ; tandis que si l'on rencontre dans le flux en direct (101) une référence d'horloge de programme, on assure une deuxième initialisation comprenant une remise à zéro dudit compteur d'octets, et l'attribution de ladite dernière référence d'horloge de 35 programme disponible à la référence d'horloge de programme rencontrée 302 9 726 28 dans le flux en direct (101) ; et on exerce cette fonction pour une pluralité desdites une ou plusieurs références d'horloge de programme non réglées.
  15. 15. Procédé selon la revendication 11, caractérisé en ce que le nouveau contenu (102) et le flux en direct (101) comprennent chacun plusieurs 5 types de paquets ; et l'étape de sélection comprend l'assortiment du type de paquet à remplacer dans le flux en direct (101) avec le type de paquet dans le nouveau contenu (102).
  16. 16. Procédé selon la revendication 15, caractérisé en ce qu'il comprend en outre les étapes consistant à trier lesdits paquets du nouveau contenu 10 (102) en fonction du type desdits paquets et à stocker lesdits paquets triés, dans un tampon (224) de remplacement intelligent de paquet intermédiaire.
  17. 17. Procédé selon la revendication 16, caractérisé en ce que le remplacement des paquets dans le flux en direct (101) est effectué en 15 utilisant lesdits paquets triés et stockés.
  18. 18. Procédé selon la revendication 11, caractérisé en ce que qu'une partie dudit flux en direct (101) comprend une première pluralité de paquets et une première pluralité de trames ; en ce que ledit nouveau contenu (102) comprend une deuxième pluralité de paquets et une deuxième pluralité de 20 trames ; en ce qu'un compte de trame du flux en direct (101) est associé à ladite partie du flux en direct (101) ; en ce qu'un compte de trame du nouveau contenu (102) est associé audit nouveau contenu (102) ; en ce que pour ladite partie dudit flux en direct (101), si le compte de trame du nouveau contenu (102) est inférieur à une valeur maximale, on remplace, 25 avec ledit module (230) d'adaptation de débit, un paquet de ladite première pluralité de paquets par un paquet de la deuxième pluralité de paquets, si le compte de trame du nouveau contenu (102) est supérieur à une valeur maximale, on compare le compte de trame du nouveau contenu (102) au compte de trame du flux en direct (101), où, si 30 (1) soit ledit compte de trame du flux en direct (101) est supérieur audit compte de trame du nouveau contenu (102), (2) soit ledit compte de trame du flux en direct (101) est supérieur audit compte de trame du nouveau contenu (102) plus un premier seuil, on remplace les paquets futurs de ladite première pluralité, et si 35 (1) soit ledit compte de trame du flux en direct (101) est inférieur audit compte de trame du nouveau contenu (102), 302 9 726 29 (2) soit ledit compte de trame du flux en direct (101) est inférieur audit compte de trame du nouveau contenu (102) moins un deuxième seuil, on convertit les paquets de ladite première pluralité en des paquets sans aucune donnée. 5
  19. 19. Procédé selon la revendication 18, caractérisé en ce que (1) soit ladite conversion de paquets de ladite pluralité en des paquets sans aucune donnée, (2) soit le remplacement desdits paquets futurs, est exécuté jusqu'à ce que le compte de trame du flux en direct (101) 10 (1) soit correspond audit compte de trame du nouveau contenu (102), (2) soit se situe dans une plage basée sur le compte de trame du nouveau contenu (102).
  20. 20. Procédé selon la revendication 18, caractérisé en ce que le remplacement des paquets futurs comprend 15 (1) soit le remplacement des paquets nuls, (2) soit la conversion en paquets sans aucune donnée.
FR1555862A 2014-12-08 2015-06-25 Systeme et procede de raccordement de flux de transport de donnees mpeg Withdrawn FR3029726A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462088993P 2014-12-08 2014-12-08
US201462091091P 2014-12-12 2014-12-12
US201562128755P 2015-03-05 2015-03-05

Publications (1)

Publication Number Publication Date
FR3029726A1 true FR3029726A1 (fr) 2016-06-10

Family

ID=56024467

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1555862A Withdrawn FR3029726A1 (fr) 2014-12-08 2015-06-25 Systeme et procede de raccordement de flux de transport de donnees mpeg

Country Status (2)

Country Link
FR (1) FR3029726A1 (fr)
WO (1) WO2016092474A1 (fr)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997046027A1 (fr) * 1996-05-29 1997-12-04 Sarnoff Corporation Maintien de la synchronisation d'une presentation audio et video
US6806909B1 (en) * 1997-03-03 2004-10-19 Koninklijke Philips Electronics N.V. Seamless splicing of MPEG-2 multimedia data streams
US20020191116A1 (en) * 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US7068719B2 (en) * 2001-06-01 2006-06-27 General Instrument Corporation Splicing of digital video transport streams

Also Published As

Publication number Publication date
WO2016092474A1 (fr) 2016-06-16

Similar Documents

Publication Publication Date Title
EP3840473A1 (fr) Procédé et dispositif de détermination d&#39;une topologie d&#39;un réseau de points d accès sans fils
EP3503618B1 (fr) Procédé de régulation de débit
FR2906950A1 (fr) Procede et dispositifs pour adapter le debit de transmission d&#39;un flux de donnees en presence d&#39;interferences.
WO2014078818A1 (fr) Lecture multimédia multidispositif à base d&#39;événements communs
FR2975555A1 (fr) Methode d&#39;adaptation dynamique du debit de reception et recepteur associe
WO2019068982A1 (fr) Signalisation d&#39;une requête d&#39;adaptation d&#39;une session de communication en voix sur ip
EP2947888A1 (fr) Procédé de téléchargement adaptatif de contenus numériques pour plusieurs écrans
FR3029726A1 (fr) Systeme et procede de raccordement de flux de transport de donnees mpeg
EP2856719B1 (fr) Technique de communication dans un réseau de communication centré sur les informations
FR2926937A1 (fr) Procedes de synchronisation d&#39;horloges applicatives dans un reseau de communication synchrone, dispositifs d&#39;emission et de reception, produit programme d&#39;ordinateur et moyen de stockage correspondants.
EP3643024B1 (fr) Émission et réception d&#39;un flux de données
FR3059186A1 (fr) Tampon de gigue adaptatif
EP2497235B1 (fr) Outil de diagnostic pour réseaux à haut débit
WO2020221779A1 (fr) Procedes et dispositifs de mesure de reputation dans un reseau de communication
WO2015197977A1 (fr) Système de traitement distribue d&#39;informations en temps réel
EP3205175B1 (fr) Procédé d&#39;autorisation de demandes de transmission
WO2019002224A1 (fr) Procédé de génération d&#39;un flux de données, passerelle de diffusion, procédé et équipement de sélection d&#39;un flux de données et programme d&#39;ordinateur correspondant
US20230216794A1 (en) Packet buffering with a common time-indexed data store across packet streams
FR3059185A1 (fr) Procede et circuit de dectection de congestion
WO2023083671A1 (fr) Dispositif et procede de gestion de la degradation de performances dans les reseaux tsn hybrides filaire/sans-fil
EP2575307A1 (fr) Technique de distribution d&#39;un contenu dans un reseau de communication
EP2645647A1 (fr) Procédé d&#39;optimisation du débit descendant d&#39;une ligne d&#39;accès asymétrique, dispositif, produit programme d&#39;ordinateur et support de stockage correspondants.
FR3030961A1 (fr) Procede de traitement d&#39;un paquet dans un reseau defini par logiciel
FR3084980A1 (fr) Methode et dispositif de diffusion de video a 360 degres
FR3077697A1 (fr) Procede et dispositif d&#39;envoi de paquets de donnees sur un reseau ip/mpls.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

ST Notification of lapse

Effective date: 20180228