FR3095094A1 - Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes - Google Patents

Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes Download PDF

Info

Publication number
FR3095094A1
FR3095094A1 FR1903803A FR1903803A FR3095094A1 FR 3095094 A1 FR3095094 A1 FR 3095094A1 FR 1903803 A FR1903803 A FR 1903803A FR 1903803 A FR1903803 A FR 1903803A FR 3095094 A1 FR3095094 A1 FR 3095094A1
Authority
FR
France
Prior art keywords
sequence
bits
receivers
receiver
fragments
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.)
Ceased
Application number
FR1903803A
Other languages
English (en)
Inventor
Sarah Kamel
Michèle WIGGER
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.)
Institut Mines Telecom IMT
Original Assignee
Institut Mines Telecom IMT
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 Institut Mines Telecom IMT filed Critical Institut Mines Telecom IMT
Priority to FR1903803A priority Critical patent/FR3095094A1/fr
Publication of FR3095094A1 publication Critical patent/FR3095094A1/fr
Ceased 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de multidiffusion et un procédé d'obtention de fragments de fichiers manquants à une pluralité de récepteurs de manière à optimiser les débits et temps de transmission à travers un réseau de communication. Les fragments de fichiers manquants pour chaque récepteur sont régroupés ou répartis en blocs en tenant compte de la capacité de décodage de chaque récepteur puis combinés par addition binaire (XOR) et codés par application d'un code polaire avant d'être émis sur le canal de transmission. En réception, les récepteurs disposant d'une mémoire cache font usage des données contenues dans leur mémoire de manière à déterminer des bits gelés (frozen bits) utilisés pour décoder les bits reçus. Figure pour l' abré g é : Figure 2.

Description

PROCEDES DE MULTI-DIFFUSION ET D'OBTENTION DE CONTENUS NUMERIQUES DANS UN RESEAU, DISPOSITIF ET SYSTEME ASSOCIES
Domaine technique de l'invention
La présente invention se situe dans le domaine des communications numériques et concerne plus particulièrement une technique de codage et de décodage pour la transmission de données numériques à une pluralité de récepteurs dans un réseau de communication.
Elle trouve une application privilégiée pour la multidiffusion (multicasten anglais) de contenus numériques, en particulier dans des réseaux radio-mobiles de type 4G ou 5G.
Par la suite, on désignera de manière générale parcontenu numériquetoute séquence d'éléments binaires sélectionnés parmi l'ensemble {0, 1}. Cette séquence est généralement structurée sous la forme de fichiers ou de fragments de fichiers selon un format donné (e.g .mpeg, mp4, jpeg,etc). De préférence, la nature des contenus numériques est de type audio et/ou vidéo.
Par la suite, on désignera de manière générale parr écepteurtout type de nœud du réseau adapté à communiquer avec d'autres nœuds du réseau et destiné à recevoir des contenus numériques d'un ou plusieurs nœuds du réseau (i.e.nœud source ou serveur). Un récepteur peut être constitué par un terminal d'un utilisateur, tel qu'une tablette, un téléphone portable, un ordinateur ou tout autre objet connecté au réseau de communication.
Arrière-plan technique
Stockage préalable (caching, prefetching)
Pour diffuser efficacement des contenus numériques à une pluralité de récepteurs dans un réseau de communication, il est connu de stocker temporairement tout ou partie de ces contenus dans des mémoires temporaires dites mémoires caches des récepteurs. Cette opération de stockage est connue sous le nom decachingen anglais.
Par la suite, on désignera parm émoire cacheou antémémoire, toute mémoire destinée à stocker temporairement tout type de données numériques, tels que des fichiers ou fragments de fichiers de données.
De manière connue, les mémoires caches sont utilisées pour stocker préalablement, au plus près des utilisateurs, des fichiers populaires (i.e.susceptibles d'être demandés ultérieurement par ces utilisateurs).
Par anticipation, les contenus numériques sont avantageusement stockés dans les mémoires caches d'une pluralité de récepteurs, de préférence lorsque le trafic est minimal au sein du réseau, de manière à limiter les risques de saturation du réseau pendant des périodes de pointe (i.e.lorsque le réseau est fortement sollicité).
Dans la mesure où une partie des contenus numériques a été préalablement stockée localement au niveau des récepteurs, il ne reste qu'à transmettre les contenus numériques manquants de chacun des fichiers requis par les utilisateurs au moment où ceux-ci souhaitent disposer de l'intégralité de ces fichiers.
Par la suite, cette étape de transmission des contenus numériques manquants sera désignée par étape delivraison(i.e. deliveryen anglais). Cette étape est exécutée en réponse à une requête d'un utilisateur émise à partir d'un terminal (e.g .téléphone portable) et à n'importe quel moment, par exemple pendant une période où le trafic est relativement élevé à travers le réseau.
Cette étape de stockage préalable ditepr é -stockageest mise en œuvre au moyen d'algorithmes intelligents de pré-extraction de données connus adaptés à aller chercher par anticipation (prefetchingen anglais) auprès d'un ou plusieurs nœuds sources, des fragments de fichiers à stocker dans les mémoires caches des récepteurs avant de recevoir une requête d'un utilisateur pour l'obtention des fragments manquants.
Ces algorithmes, qualifiés deprefetchingen anglais, sont tels que ceux décrits, par exemple, par M.A. Maddah-Ali et U. Niesen dans un article intitulé" Fundamental limits of caching ",publié dansIEEE Transactions on Information Theory,2014. Ce type d'algorithme se distingue notamment en ce qu'il permet de diversifier les contenus numériques pré-stockés à travers les terminaux (e.g .tablettes, téléphones portables, ordinateurs) d'utilisateurs ou de groupes d'utilisateurs, tout en augmentant considérablement les gains en termes de débit ou de temps de transmission en comparaison avec les algorithmes deprefetchingtraditionnels, selon lesquels tous les récepteurs obtiennent dans leur mémoires caches un même contenu numérique.
La présente invention concerne plus particulièrement la phase de livraison, lors de laquelle les utilisateurs des récepteurs Rirequièrent les fichiers Wi, en supposant que leurs mémoires caches respectives ont déjà été préalablement alimentées en fragments de fichiers par au moins un nœud source T, lors de l'étape deprefetchingexécutée selon un algorithme connu.
Autrement dit, dans le cadre de la présente invention, on fait l'hypothèse qu'il existe au sein du réseau plusieurs récepteurs Ricomprenant chacun une mémoire cache Mi, dans laquelle ont été préalablement stockés des fragments de fichiers Wi j.
Combinaison de fragments de fichiers : X-OR
Afin d'optimiser le nombre de paquets de données transmis dans le réseau, il est connu de combiner au sein d’un même paquet de données plusieurs fragments de fichiers destinés respectivement à différents récepteurs, ce même paquet étant transmis à l’ensemble des récepteurs requérant les fragments manquants d’un même fichier.
De manière classique, la combinaison des fragments de fichiers consiste en une addition binaire de l’ensemble des fragments à transmettre, en utilisant l’opérateur logique OU exclusif (X-OR :eXclusive ORen anglais) désigné par le symbole . L’application cet opérateur X-OR constitue une opération de codage.
Selon le scénario de l'art antérieur illustré à lafigure 1, on suppose que, lors de l’étape préalable decachingouprefetching, un émetteur T (ou nœud source), tel qu'une station de base radio-mobile 4G ou 5G, a découpé les fichiers W1, W2, W3en une pluralité depfragments (e.g .p=3) notés respectivement {W1 1, W1 2, W1 3}, {W2 1, W2 2, W2 3}, {W3 1, W3 2, W3 3} et distribué certains de ces fragments de fichiers dans les mémoires caches M1, M2, M3respectives de trois récepteurs R1, R2, R3. Chaque fragment de fichier est noté Wk l, où le sous-indicekdésigne le kèmerécepteur Rket le sur-indicelidentifie un fragment parmi l'ensemble depfragments du fichier Wkrésultant du découpage de ce fichier.
Par exemple, on suppose que les fragments de sur-indice l=1(i.e.W1 1 , W2 1 , W3 1 ) sont envoyés aux récepteurs R1et R2, que les fragments de sur-indice l=2(i.e.W1 2 , W2 2 , W3 3 ) sont envoyés aux récepteurs R2et R3et que les fragments de sur-indice l=3(i.e.W1 3 , W2 3 , W3 3 ) sont envoyés aux récepteurs R1et R3.
A cet effet, chacun des trois récepteurs R1, R2, R3émet préalablement une requête à destination du nœud source T pour requérir la connaissance complète d’un fichier particulier,e.g .W1, W2, W3respectivement.
Par exemple, le premier récepteur R1requiert le fichier complet W1(i.e.le fragment manquant W1 2), le deuxième récepteur R2requiert le fichier complet W2(i.e.le fragment manquant W2 3) et le troisième récepteur R3requiert le fichier complet W3(i.e.le fragment manquant W2 3). Ainsi, l’envoi, par le nœud source T, d’un unique paquet contenant la combinaison des fragments de fichiers manquants W1 2, W2 3, W3 1notée W1 2 W2 3 W3 1permet simultanément :
au premier récepteur R1disposant préalablement dans sa mémoire cache M1des fragments {W 1 1 , W2 1, W3 1;W 1 3 , W1 3, W1 3} d’obtenir, à partir de ces fragments et de ladite combinaison, le fragment manquantW 1 2 et ainsi reconstituer le ficher W1dans son intégralité (W1 1| W1 2| W1 3);
au deuxième récepteur R2disposant préalablement dans sa mémoire cache M2des fragments {W1 1,W 2 1 , W3 1; W1 2,W 2 2 , W3 2} d’obtenir, à partir de ces fragments et de ladite combinaison, le fragment manquantW 2 3 et ainsi reconstituer le ficher W2dans son intégralité (W2 1| W2 2| W2 3); et
au troisième récepteur R3disposant préalablement dans sa mémoire cache M3des fragments {W1 2, W2 2,W 3 2 ; W1 3, W2 3,W 3 3 } d’obtenir, à partir de ces fragments et de ladite combinaison, le fragment manquantW 3 1 et ainsi reconstituer le ficher W3dans son intégralité (W3 1| W3 2| W3 3).
Cette technique de multidiffusion codée, communément désignéecoded multicastingen anglais, a été décrite, par exemple, par M. A. Maddah-Ali et U. Niesen, dans leur article intitulé"Fundamental limits of caching"et publié dans la revueIEEE Transactions on Information Theory,vol. 60, no. 5, pp. 2856-2867, May 2014. Dans les prototypes actuels, l'application de l'opérateur X-OR permet, lors de l'étape de livraison, de combiner des fragments de contenus numériques pour offrir la possibilité de multidiffusion (i.e.envoi d'une même séquence de bits utiles à plusieurs récepteurs). Toutefois, les inventrices ont démontré, lors de leurs travaux, que ces prototypes présentent des limitations en termes de performances de transmission, (débits faibles ou temps de transmission relativement élevé). Les inventrices ont identifié que cet inconvénient est principalement dû au fait que la façon dont les fragments de fichiers sont combinés ne tient pas compte de la façon dont les fragments sont ensuite transmis sur le canal de propagation.
Codage de canal
Dans un réseau de communication radio-mobile, il est bien connu que tous les récepteurs ne sont pas équivalents en termes de capacité de réception, étant donné notamment que les conditions de canal peuvent varier en fonction du récepteur considéré. De ce fait, il existe des récepteurs faibles, qui limitent naturellement le débit de réception de tous les autres récepteurs, créant ainsi un goulot d'étranglement pour des transmissions utilisant des techniques de codage/décodage de canal conventionnelles.
En matière de communication sans fil, notamment radio-mobile selon le standard 4G ou 5G, lecodage de canalest communément utilisé pour protéger les informations émises contre des erreurs de transmission pouvant être causées par la présence de bruit et/ou d’interférences sur le canal de transmission du récepteur concerné ou par une puissance du signal reçu insuffisante.
De manière connue, un codeur de canal est mis en œuvre par le nœud source ou émetteur (e.g .station de base 4G ou 5G) de manière à coder l’information à transmettre sur le canal de transmission. Un décodeur de canal est mis en œuvre par le récepteur (e.g .terminal mobile) de manière à mitiger les erreurs de transmission et récupérer avec fiabilité l’information émise par l'émetteur après transmission sur le canal bruité.
Au cours des dernières décennies, plusieurs codes de canal à haute performance ont été développés pour transmettre des données de manière fiable et à des débits approchant la limite théorique imposée par la capacité de transmission du canal selon le théorème de Shannon. En particulier, les turbo-codes ont été exploités dans les standards de communication radio-mobile de troisième et quatrième générations (3G, 4G) tandis que les codes LDPC (Low Density Parity Check) ont été adoptés dans le standard Wi-Fi (e.g .IEEE 802.11 a/b/g) et dans les standards de communication par satellite.
Plus récemment sont apparus les codes polaires, ditsPolar Codesen anglais, offrant de bonnes performances de correction d’erreurs pour la réception de messages courts. Les inventrices ont constaté, au cours de leurs travaux de recherche, que les codes polaires n’ont pas encore été appliqués spécifiquement dans le cadre de la phase de livraison de contenus numériques (e.g .fragments de fichiers manquants lors de la phase de livraison), notamment dans des réseaux radio-mobiles.
Un problème technique visé par la présente invention est de fournir un procédé de multi-diffusion qui, lors de l'étape de livraison, permet de transmettre les fichiers ou les fragments de fichiers manquants à chacun des récepteurs, de manière à minimiser le temps de livraison à travers le réseau de communication ou de manière équivalente à maximiser le débit de transmission pour l'ensemble des récepteurs.
En réponse à ce problème, les inventrices proposent un procédé de multi-diffusion et un procédé d'obtention de fragments de fichiers mettant en œuvre une technique de codage/décodage améliorée qui tient compte des limitations liées aux différents récepteurs (e.g .conditions de canal de transmission), lors du codage du contenu numérique à transmettre aux récepteurs.
Selon l’approche suivie par les inventrices, il s'agit d’envoyer un même paquet de données numériques (i.e.une même séquence de bits codés) simultanément à différents récepteurs, de sorte que ce paquet puisse être décodé sans erreur par les récepteurs plus faibles, sans provoquer de limitation en termes de débit ou temps de transmission auprès des autres récepteurs.
La technique de codage proposée dans le cadre de la présente invention fait en sorte que les récepteurs les plus faibles ne créent pas de goulot d'étranglement en termes de débit binaire (Mbit/s) ou de manière équivalente ne créent pas des ralentissements de transmission, en particulier vis-à-vis des récepteurs les plus forts. Selon l'invention, chaque récepteur peut être servi à un débit adapté aux conditions de canal qui lui sont propres.
De manière générale, le termecodagepourra se référer à la manière de combiner plusieurs fragments de fichiers destinés à des récepteurs différents et/ou au codage de canal tel que défini ci-avant.
Ainsi, un objet de la présente invention est un procédé de multidiffusion de fragments manquants de fichiers numériques à un ensemble de récepteurs comprenant une pluralité de récepteurs faibles comprenant chacun une mémoire cache dans laquelle sont stockés un ou plusieurs fragments de fichiers numériques pré-stockés, les fragments manquants de fichiers destinés à être diffusés n'étant pas préalablement stockés dans la mémoire cache des récepteurs respectifs (i.e.de tous les récepteurs faibles) requérant ces fichiers.
Le procédé comprenant les étapes suivantes :
sélection d'un sous-ensemble de récepteurs faibles ;
pour chaque récepteur dudit sous-ensemble, identification d'au moins un fragment d'un fichier requis par ledit chaque récepteur et tel que ledit au moins un fragment est présent dans la mémoire cache de tous les autres récepteurs faibles appartenant audit sous-ensemble ;
pour chaque récepteur dudit sous-ensemble et pour chacun dudit au moins un fragment de fichier identifié lors de l'étape précédente, regroupement/répartition dudit au moins un fragment du fichier en une pluralité de blocs b de taille miégale à la capacité de décodage dudit récepteur ;
combinaison des blocs issus de l'étape c) de manière à fournir une séquence de bits combinés WG,b;
codage d'une séquence de bits à transmettre comprenant la séquence de bits combinés WG,b, par application d'une technique de codage, de manière à fournir une séquence de bits codés Wc; et
envoi de ladite séquence de bits codés Wcà un ensemble de récepteurs comprenant le sous-ensemble de récepteurs faibles.
Ainsi, le regroupement ou la répartition des fragments de fichiers tient compte de la capacité de décodage mide chaque récepteur Ri, cette capacité étant directement liée aux conditions de canal entre l'émetteur et le récepteur. Ceci permet avantageusement d'éviter aux récepteurs disposant des capacités de décodage les plus faibles de limiter le débit de transmission de tous les autres récepteurs, en évitant ainsi un goulot d'étranglement dans des réseaux de communication utilisant des techniques de codage/décodage conventionnelles (e.g .réseaux radio-mobiles de type 4G).
Par ailleurs, le procédé selon l'invention permet, par l'envoi d'une unique séquence de bits codée, de servir simultanément l'ensemble des récepteurs concernés évitant l'envoi de séquences multiples différentes propres à chaque récepteur. En réduisant le nombre de paquets transmis, le procédé selon l'invention contribue à optimiser les ressources du réseau (e.g .réduction de la signalisation,etc).
Selon une caractéristique de l'invention, chacun desdits blocs obtenus lors de l'étape c) est rempli par des bits "0" lors d'une étape de remplissage de sorte que la taille du bloc soit égale à la capacité de décodage maximale mGdes récepteurs faibles du sous-ensemble.
Ainsi, les blocs dans lequels sont regroupés un ou plusieurs fragments de fichiers ont tous la même taille et peuvent être facilement combinés entre eux lors de l'étape de combinaison d).
Selon une autre caractéristique de l'invention, l'étape de combinaison est mise en œuvre par application de l'opérateur logique OU exclusif (X-OR).
De manière avantageuse, l'opérateur OU exclusif est relativement simple à mettre en œuvre et nécessite une puissance de calcul modérée permettant ainsi d'optimiser l'architecture des émetteurs et des récepteurs associés.
Selon une autre caractéristique de l'invention, la technique de codage utilisée lors de l'étape de codage est une technique de codage polaire configurée pour recevoir en entrée les bits de ladite séquence de bits à transmettre.
A cet égard, les inventrices ont constaté que la sélection d'un code polaire parmi l'ensemble des codes utilisés pour mettre en œuvre un codage de canal existants pour coder la séquence de bits à transmettre à travers le canal de transmission est particulièrement efficace en termes de débits, dès lors que la séquence de bits à transmettre tient compte de la capacité de décodage de chacun des récepteurs comme décrit ci-avant. L'utilisation de codes polaires facilite l'envoi simultané de bits destinés à un ensemble de récepteurs faibles et de bits destinés à des récepteurs plus forts.
Ainsi, l'application d'un code polaire classique sur une séquence de bits construite de manière à prendre en compte la capacité de décodage de chaque récepteur du sous-ensemble comme décrit ci-avant est particulièrement avantageuse pour accroître les débits de transmission et par conséquent réduire le temps nécessaire pour permettre aux récepteurs de récupérer les fragments de fichiers manquants à travers le réseau.
Selon une autre caractéristique de l'invention, l'étape de codage comprend une sous-étape d'ordonnancement, lors de laquelle les bits de la séquence de bits à transmettre sont agencés par ordre croissant de leur probabilité d'erreur avant l'application de la technique de codage.
Ainsi, lors du codage de canal, le premier bit de la séquence de bits à transmettre est codé par le bit le plus fiable du code de canal, le deuxième bit de la séquence de bits à transmettre est codé par le deuxième bit le plus fiable du code de canal. Autrement dit, avant d'émettre, les bits du code de canal sont agencés par ordre croissant de leur paramètre Z (ou par probabilité d'erreur croissante) de manière à être envoyés dans cet ordre sur le canal de transmission.
Cette caractéristique est particulièrement avantageuse lorsque la technique de codage est basée sur un code polaire pour tenir compte des propriétés du canal. De cette façon, les récepteurs les plus faibles pourront bien décoder les bits qui leur sont dédiés.
Selon une autre caractéristique de l'invention, le procédé comprend en outre les étapes suivantes :
- sélection d'au moins un récepteur fort parmi ledit ensemble de récepteurs, ledit au moins un récepteur fort ne disposant pas de mémoire cache et requérant un fragment de fichier Wj,b(G) contenu dans les mémoires cache de récepteurs faibles du sous-ensemble G, de préférence, ledit récepteur fort ayant une capacité de décodage mjsupérieure à la capacité de décodage maximale mGdes récepteurs faibles (mj>mG);
- concaténation de la séquence de bits combinés WG,b avec le fragment de fichier Wj,b(G) de manière à former la séquence de données à transmettre destinée à être codée lors de l'étape de codage.
Selon cette particularité de l'invention, le procédé permet de servir également les récepteurs forts (i.e. ne disposant pas de mémoire cache) en incluant dans la séquence de bits à coder des fragments de fichiers destinés à ces récepteurs.
Un autre objet de l'invention est un procédé d'obtention (ou de lecture) d'au moins un fragment de fichier à partir d'une séquence de bits reçue Ykcorrespondant à la séquence de bits codés Wcémise par un émetteur conformément au procédé de multidiffusion tel que décrit ci-dessus et transmise à travers un canal de transmission.
Le procédé d'obtention comprend en outre, pour chaque récepteur faible Rkappartenant au sous-ensemble G, les étapes suivantes:
réception de ladite séquence de bits reçue Yk;
combinaison des fragments de fichiers destinés aux autres récepteurs faibles appartenant au sous-ensemble G, ces fragments étant stockés dans la mémoire cache Mkdu récepteur faible Rkde manière à obtenir une séquence combinée Wk,b,XOR(G);
sélection des mkpremiers bits de ladite séquence combinée Wk,b,XOR(G), de manière à former une séquence combinée d'information Wk,b,XOR,data, les bits restant de la séquence combinée formant une séquence de bits gelés Wk,b,XOR,frozen ;
décodage de canal des mkpremiers bits de la séquence de bits reçue en utilisant la séquence de bits gelés Wk,b,XOR,frozen de manière à former une séquence de bits décodés Xk, le décodage étant basé sur un code utilisé par l'émetteur T lors de l'étape de codage ;
combinaison de la séquence combinée d'information Wk,b,XOR,dataet de la séquence de bits décodée Xkde manière à obtenir les fragments de fichiers Wk,b(G\{k}) requis par le récepteur Rk.
Un autre objet de l'invention est un procédé de communication mis en œuvre dans un réseau comprenant une pluralité de nœuds de communication, le procédé comprenant les étapes du procédé de multidiffusion et les étapes du procédé d'obtention tels que décrits ci-dessus.
Un autre objet de l'invention est un dispositif de traitement de l’information comprenant des moyens pour mettre en œuvre les étapes du procédé de multidiffusion et/ou les étapes du procédé d'obtention tels que décrits ci-dessus.
Un autre objet de l'invention est un système de multidiffusion comprenant au moins un serveur configuré pour mettre en œuvre les étapes du procédé de multidiffusion tel que décrit ci-dessus et une pluralité de dispositifs clients configurés pour mettre en œuvre les étapes du procédé d'obtention tel que décrit ci-dessus.
L’invention concerne également un programme d’ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé de multidiffusion et/ou du procédé d'obtention selon l’invention tels que décrits ci-dessus, lorsque ledit programme est exécuté sur un ordinateur ou tout autre dispositif équivalent.
L’invention concerne également un moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé de multidiffusion et/ou du procédé d'obtention selon l’invention.
Dans un mode particulier de réalisation, des étapes du procédé de multidiffusion et/ou du procédé d'obtention précité(s) sont déterminées par des instructions de programmes d'ordinateur.
En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre par un microprocesseur, ce programme comprenant des instructions adaptées à la mise en œuvre des étapes du procédé de multidiffusion et/ou du procédé d'obtention tels que mentionnés ci-dessus.
Ce programme peut utiliser n'importe quel langage de programmation et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations ou moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un microprocesseur, et comprenant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé multidiffusion et/ou des étapes du procédé d'obtention tels que décrits ci-dessus.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comprendre un moyen de stockage, tel qu'une ROM, par exemple une ROM de microcircuit, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur, ou encore une mémoire flash.
D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur une plateforme de stockage d’un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Le support d'informations et le programme d'ordinateur précités présentent des caractéristiques et avantages analogues au procédé qu'ils mettent en œuvre.
Brève description des figures
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, en relation avec les dessins annexés, donnés à titre d'exemples non limitatifs.
La figure 1 illustre un scenario mettant en œuvre un procédé de multidiffusion codée connu de l’art antérieur.
La figure 2 illustre un scenario de multidiffusion codée dans lequel est mise en œuvre la présente invention.
La figure 3 illustre un exemple de combinaison de fragments de fichiers à destination de deux récepteurs faibles selon un premier mode de réalisation du procédé de multidiffusion selon l'invention.
La figure 4 illustre un exemple de combinaison de fragments de fichiers à destination de deux récepteurs faibles et d'un récepteur fort selon un deuxième mode de réalisation du procédé de multidiffusion selon l'invention.
La figure 5 illustre de manière schématique un exemple de mise en œuvre du codage de canal par l'émetteur et du décodage de canal par le récepteur après transmission sur le canal de transmission selon un mode de réalisation de l'invention.
La figure 6 illustre un mode de réalisation particulier du procédé de multidiffusion de l'invention.
La figure 7 illustre un exemple de mise en œuvre du procédé de multidiffusion de l'invention dans un réseau comprenant une pluralité de récepteurs faibles et une pluralité de récepteurs forts.
La figure 8 illustre un mode de réalisation particulier du procédé d'obtention de fragments de fichiers par un récepteur faible selon l'invention.
La figure 9 illustre un exemple de mise en œuvre du procédé d'obtention de fragments de fichiers par un récepteur faible selon l'invention, dans un réseau comprenant une pluralité de récepteurs faibles et une pluralité de récepteurs forts.
La figure 10 illustre de manière schématique les séquences de bits obtenues lors de l'exécution du procédé d'obtention selon l'exemple illustré à la figure 9.
La figure 11 illustre les résultats de performances obtenus grâce à l'invention en comparaison avec ceux obtenus par une technique de l'art antérieur.
La figure 12 est un bloc-diagramme schématique d'un dispositif de traitement de l’information pour la mise en œuvre d'un ou plusieurs modes de réalisation de l'invention.
Description détaillée de l'invention
Selon un aspect de l'invention, il s'agit de regrouper (ou répartir) les fragments de fichiers manquants à transmettre à un ensemble de récepteurs, en tenant compte de la capacité de décodage propre à chacun de ces récepteurs, avant de les combiner, par exemple, par l'application de l'opérateur X-OR.
Selon une particularité de l'invention, l'application d'une technique de codage de canal basée sur des codes polaires pour coder la séquence de bits préalablement combinés est particulièrement simple par rapport à d'autres techniques de codage de canal pour obtenir les meilleurs débits de transmission.
L'invention va être maintenant décrite dans le cadre de la multidiffusion de fragments de fichiers à une pluralité de récepteurs sur un réseau de communication de préférence radio-mobile, selon différents modes et variantes de réalisation donnés à titre d'exemple dans le cadre du scénario illustré sur lafigure 2.
De manière générale, on considère une communication, selon laquelle un unique émetteur T envoie du contenu numérique à une pluralité de récepteurs R1,...RKoù K désigne un entier naturel tel que K>2. L'objectif de cette communication est de fournir les fragments de fichiers manquants aux différents récepteurs, de sorte que les récepteurs R1,...,RKobtiennent la connaissance complète des fichiers W1,...,WKrespectivement.
Pour des raisons de simplicité, l'invention est décrite uniquement pour un unique nœud source mais bien évidemment, l'invention s'applique également dans le cas où plusieurs nœuds sources sont destinés à diffuser des contenus numériques. Dans ce cas, un module de coordination pourra être fourni de manière à coordonner les émissions simultanées des différents nœuds sources à destination des récepteurs. Parmi l'ensemble des K récepteurs, un sous-ensemble de L récepteurs désignés R1,...,RLdisposent d'une mémoire cache M1,...,MLdédiée à la communication, où L désigne un entier naturel tel que L≤K. Par la suite, ces récepteurs sont dénommésr écepteurs faibles.
On suppose que les mémoires caches M1,...,MLde ces L récepteurs faibles R1,...,RLont été préalablement alimentées en fragments de fichiers par un nœud source ou émetteur T, lors d'une étape deprefetchingtelle que décrite précédemment.
A cet effet, l'émetteur T a préalablement découpé chaque fichier Wkde taille Fkcontenu dans une base de données 1, en un nombre entierpde fragments, tel que Wk=[Wk 1,...,Wk p], où chaque fragment de fichier Wk l (avec 1≤l≤p) est constitué par Δk=Fk/p éléments binaires (ou bits appartenant à l'ensemble {0,1}). Autrement dit, chaque fichier Wkest découpé enpfragments de taille Δk.
L'émetteur T a la connaissance des fragments de fichiers envoyés à chaque récepteur lors de l'étape deprefetching. Cette connaissance est stockée, par exemple sous la forme d'une table dans la base de données 1 associant à chaque récepteur (e.g .R1, R2) les fragments de fichiers comme illustré sur la figure 2 que l'émetteur lui a précédemment envoyés. Cette table peut être mise à jour à chaque nouvel envoi de fragments de fichiers par l'émetteur T.
De manière générale, on suppose que parmi les K-L récepteurs restants, il existe des récepteurs désignés RL+1,...,RKqui ne disposent pas de mémoire cache. Par la suite, on dénommera ces récepteurs parr écepteurs forts.
Dans l'exemple de lafigure 2(cas particulier simplifié où L=2 et K=3), le récepteur R3est fort contrairement à R1et R2qui sont des récepteurs faibles disposant d'une mémoire cache M1et M2respectivement.
De manière générale, on suppose que l'émetteur T et l'ensemble des récepteurs R1,...,RKsont configurés pour obtenir des informations relatives à l'état de leur canal de transmission utilisé pour la diffusion des contenus numériques. Pour chacun des récepteurs, ces informations incluent notamment la capacité Ckd'un canal de communication entre l'émetteur T et le récepteur Rkconsidéré.
Ainsi, pour une communication mettant en œuvre un codage de canal, le récepteur Rkest capable de décoder tout ensemble de mk< n×Ckbits, oùnest un entier naturel non nul désignant la longueur du code de canal utilisé pour coder les informations transmises sur le canal de transmission.
Ces informations dites de canal sont obtenues de manière conventionnelle, par exemple pendant une phase de signalisation préalable, lors de laquelle l’émetteur envoie un signal de référence dit "pilot signal" en anglais. Ayant connaissance de ce signal de référence et en fonction du signal reçu, chaque récepteur Rk(faible ou fort) est adapté à estimer la capacité associée à son propre canal de transmission. Il envoie alors cette information sur un lien en voie de retour à l’émetteur. Sur réception de ces informations, l'émetteur T les stocke dans une mémoire, par exemple dans la base de données 1, de manière à maintenir à jour les capacités de décodage de chacun des récepteurs.
Selon l'exemple simplifié de la figure 2, le système de communication mis en œuvre pour la multidiffusion de fragments de fichiers comprend deux récepteurs faibles R1, R2, un récepteur fort R'3,i.e.L=2 et K=3, au moins un nœud d'émission T et au moins un réseau de communication (non illustré).
On suppose que les trois fichiers W1, W2, W3(i.e.k={1; 2; 3}) destinés respectivement aux trois récepteurs R1, R2, R'3sont préalablement découpés chacun en trois fragments (i.e.p=3: l={1, 2, 3}),i.e.: W1=[W1 1,W1 2,W1 3] ; W2=[W2 1,W2 2,W2 3] ; W3=[W3 1,W3 2,W3 3].
Comme décrit ci-avant, ces fragments sont stockés dans la base de données 1. Ils sont ensuite distribués aux récepteurs R1et R2, par exemple, de sorte que les fragments de sur-indice l=1(i.e.W1 1 , W2 1 , W3 1 ) sont envoyés au récepteur R1, les fragments de sur-indice l=2(i.e.W1 2 , W2 2 , W3 2 ) sont envoyés aux récepteur R2et les fragments de sur-indice l=3(i.e. W1 3 , W2 3 , W3 3 ) sont envoyés aux récepteurs R1et R2. Dans ce contexte, on suppose que :
- le premier récepteur R1ayant requis le fragment de fichier W1 2, dispose d'une capacité de décodage m1et comprend dans sa mémoire cache M1les fragments de fichiers {W1 1, W2 1, W3 1 ; W1 3, W2 3, W3 3} ;
- le deuxième récepteur R2ayant requis le fragment de fichier W2 1, dispose d'une capacité de décodage m2et comprend dans sa mémoire cache M2les fragments de fichier W1 2, W2 2, W3 3; W1 3, W2 3, W3 3}; et
- le troisième récepteur R'3ayant requis le fragment de fichier W3 2, dispose d'une capacité de décodage m3mais ne comprend aucune mémoire cache (i.e.récepteur fort).
Les capacités de décodage m1, m2, m3sont préalablement déterminées comme décrit ci-avant et associées respectivement aux récepteurs R1, R2, R'3dans la base de données 1.
Un mode de réalisation particulier du procédé de multidiffusion selon l'invention va être maintenant décrit en référence à lafigure 6.
Lors d'une étape de sélection E1, l'émetteur T sélectionne un groupe ou sous-ensemble G de récepteurs parmi l'ensemble des L récepteurs disposant d'une mémoire cache (i.e.sous-ensemble de récepteurs faibles). D'après l'exemple de lafigure 2, le groupe G est constitué par l'ensemble des récepteurs faibles R1et R2.
Lors d'une étaped'identification E3, le nœud source T identifie, pour chaque récepteur Riappartenant au groupe ou sous-ensemble G, les fragments du fichier Wiqui sont stockés dans les mémoires caches Mλde tous les autres récepteurs du sous-ensemble G (i.e.G\{i}).
Selon l'exemple détaillé illustré sur lafigure 7, cet ensemble de fragments est désigné par Wi(G\{i}), tel que Wi(G\{i})λ G\{i}Mλ, où désigne l'opérateur ensembliste "intersection". Ainsi, selon le scénario de lafigure 2, le nœud source T est adapté à identifier que pour le premier récepteur R1, le fragment W1 2du fichier W1est stocké dans la mémoire cache M2du deuxième récepteur R2et que pour le deuxième récepteur R2, le fragment W2 1du fichier W2est stocké dans la mémoire cache M1du premier récepteur R1. Cette étape d'identification E3 servira avantageusement à récupérer les fragments de fichiers manquants lors l'étape de décodage qui sera décrite ultérieurement.
Lors d'une étape de regroupement (ou répartition) E5, le nœud source T est adapté à regrouper (ou répartir) les ensembles de fragments de fichiers Wi(G\{i}) préalablement identifiés lors de l'étape d'identification E3. Le regroupement (ou la répartition) des fragments de fichier est effectuée par le nœud source T en tenant compte de la capacité de décodage mide chacun des récepteurs Ri, ce qui permet avantageusement de maximiser les débits de transmission ou de manière équivalente de minimiser le temps de transmission pour l'acquisition des fragments de fichiers manquants par les différents récepteurs.
Selon l'exemple détaillé de lafigure 7, les fragments de fichiers de chaque ensemble Wi(G\{i}) destinés au récepteur Risont regroupés (ou répartis) au sein de biblocs de fragments de fichiers. La représentation binaire d'un bloc est désignée par Wi,j(G\{i}), où 1≤j≤bide sorte que Wi(G\{i})={Wi,1(G\{i}),...,Wi,b i(G\{i})}. Ainsi, Wi, 1 (G\{i}) est la représentation binaire du bloc n°1de l'ensemble Wi(G\{i}), tandis que Wi, b (G\{i}) est la représentation binaire du bloc n°bde l'ensemble Wi(G\{i}) et Wi, bi (G\{i}) est la représentation binaire du bloc n°b i de l'ensemble Wi(G\{i}).
Par exemple, le nombre de blocs biest calculé en divisant le nombre de fragments dans l’ensemble Wi(G\{i}) associé au fichier Wistockés dans toutes les mémoires caches des récepteurs de G\{i} par le nombre qi=miide fragments du fichier Wique le récepteur Ripeut décoder de façon fiable pendant la durée d’un mot de code, le résultat de cette division étant arrondi à l'entier supérieur le plus proche. Ainsi, chacun des ensembles de fragments de fichiers Wi(G\{i}) est assemblé en blocs de taille égale au nombre de bits maximal mique chaque récepteur Ripeut décoder pendant la durée d’un mot de code, ce qui permet avantageusement de tenir compte par la suite des conditions du canal entre l'émetteur T et le récepteur Rinotamment lors de l'étape de codage de canal décrite ci-après.
Par exemple, si l'ensemble Wi(G\{i}) comprend 10 000 fragments de fichiers, l'étape de regroupement E5 permet d'assembler (ou de répartir) ces fragments en 10 blocs de 1000 fragments chacun, en supposant que le récepteur Ripeut décoder au maximum 1000 fragments par unité de temps de référence sans faire d'erreur.
Le regroupement des ensembles de fragments en blocs par le nœud source T va être maintenant décrit de manière détaillée en référence aux figures 3 et 4 selon le scénario de la figure 2.
Lafigure 3illustre un premier mode de réalisation, selon lequel les fragments de fichiers destinés aux deux récepteurs faibles R1et R2sont combinés sans tenir compte du récepteur fort R3(e.g .absence de récepteurs forts). Par exemple, l'ensemble des fragments de fichiers destinés au premier récepteur R1(i.e.W1(G\{1}) est réparti en 3 blocs de taille égale à m1, tandis que l'ensemble des fragments de fichiers destinés au deuxième récepteur R2(i.e.W2(G\{2}) est réparti en 2 blocs de taille égale à m2>m1. La capacité maximale de décodage des récepteurs du sous-ensemble G est égale à mg(i.e.mg=Max{m1, m2}). Dans cet exemple particulier, on considère que mg=m2.
Selon la représentation particulière de lafigure 3, le fragment de fichier W1 2appartenant à l'ensemble de fragments de fichiers W1(G\{1}) destiné au premier récepteur R1est inclus intégralement dans l'un des trois blocs représentés, chacun de ces blocs étant destiné à recevoir un ou plusieurs fragments de fichiers de l'ensemble W1(G\{1}). De même, le fragment de fichier W2 1appartenant à l'ensemble de fragments de fichiers W2(G\{2}) destinés au deuxième récepteur R2est inclus intégralement dans un des deux blocs représentés, chacun de ces blocs étant destiné à recevoir un ou plusieurs fragments de fichiers de l'ensemble W2(G\{2}.
Selon l'exemple ci-dessus, un bloc contient un fragment de fichier. Toutefois, on pourra considérer d'autres façons de répartir les fragments de fichiers à travers les blocs, en particulier en faisant en sorte que les blocs comprennent une pluralité de fragments de fichiers.
Dans le scénario décrit en référence à lafigure 2, seul un fichier manquant a été identifié pour chacun des récepteurs R1, R2, R'3pour des raisons de simplicité de description. Toutefois en pratique, il est prévu de fournir simultanément plusieurs fragments de fichiers manquants à un récepteur respectif ou à plusieurs récepteurs ayant requis ces fragments. Dans ce cas (non illustré), on considérera que chacun des ensembles de fragments de fichiers W1(G\{1}), W2(G\{2}) et W3(G\{2}) et de manière générale, l'ensemble de fragments de fichiers Wi(G\{i}) destinés au récepteur Ricomprend une pluralité de fragments de fichiers, chacun de ces fragments de fichiers pouvant être regroupés (ou répartis) dans un ou plusieurs blocs b de taille milors de l'étape E5.
Lafigure 4illustre un premier mode de réalisation selon lequel les fragments de fichiers W1 2, W2 1destinés respectivement aux deux récepteurs faibles R1et R2sont combinés en tenant compte du récepteur fort R'3. Le récepteur fort R'3dispose d'une capacité de décodage m3supérieure à la capacité de décodage maximale des récepteurs faibles (i.e.m3>Max(m1, m2)=m2, oùMax()désigne la fonction qui fournit en sortie la valeur maximale de ses arguments d'entrée).
De manière générale, lors de l'étape de regroupement (ou de répartition) E5, l’ensemble de fragments de fichiers Wi(G\{i}) sont regroupés (ou répartis) dans un ensemble de biblocs de fragments de fichiers, chaque bloc b ayant pour représentation binaire Wi,b(G\{i}) tel que 1≤ b ≤bi. Par exemple, chacun des blocs comprend qi(qi=mii) fragments de fichiers.
Ainsi, pour chaque récepteur Ri, la répartition des fragments de fichiers dans chacun des blocs tient compte avantageusement de la capacité de décodage mide chaque récepteur Ri.
Le nœud source T est adapté pour identifier le plus volumineux bloc bGde données (i.e.bloc de fragments de fichier) à transmettre à destination des récepteurs du sous-ensemble G, tel que bG=Max(bλ) avec 1≤λ≤L.
Lors d'une étape de remplissage E6 (i.e paddingen anglais) selon lafigure 6, le nœud source T complète les représentations binaires des blocs Wi,b(G\{i}) en y insérant des bits nuls "0", de telle sorte que la taille de chaque bloc b soit égale au nombre de bits que les récepteurs appartenant au sous-ensemble G sont capables de décoder sur un mot de code de canal, cette taille étant égale à mG=Max(mλ) avec 1≤λ≤L. Ainsi, à l'issue de l'étape de remplissage E6, tous les blocs b[1,...,bi] ont une même taille égale à mG. Cette étape de remplissage permet avantageusement de préparer l'étape de combinaison des représentations binaires des blocs b telle que décrite ci-après.
Lors d'une étape de combinaison E7, les blocs de taille mGaprès avoir été éventuellement complétés par des bits nuls (i.e."0") lors de l'étape de remplissage E6 sont combinés bit par bit en appliquant l'opérateur X-OR tel que décrit ci-avant. Par exemple, on notera WG,b= i G \{i}Wi,b(G\{i}) la séquence de bits combinés résultant de l'étape de combinaison E7.
D'après l'exemple de lafigure 7, le procédé de multidiffusion selon l'invention est adapté pour servir également des récepteurs forts, tel que le récepteur R'3selon le scénario de la figure 2, de manière à lui fournir le fragment de fichier manquant W3 2.
Ainsi, dans ce mode de réalisation particulier, le nœud source T sélectionne, lors d'une étape de sélection E8, un récepteur Rjparmi les récepteurs ne disposant pas de mémoire cache (e.g .L+1≤j≤K). De préférence, ce récepteur fort Rja une capacité de décodage mjsupérieure à celle de n'importe quel des récepteurs faibles,i.e.appartenant à l'ensemble G (i.e.mj> mG). Par exemple, le récepteur Rjsélectionné est tel qu'il requiert des fragments d'un fichier Wjstockés dans les mémoires caches de tous les récepteurs faibles appartenant à l'ensemble G, ces fragments étant désignés par l'ensemble Wj(G). On suppore qu'au moins une partie de ces fragments n'a pas encore été envoyée audit récepteur Rj.
Par exemple, pour chaque bloc b[1,...,bG], on désignera par Wj,b(G) tel que Wj,b(G)λ [1,...,L]Mλ≠, l'ensemble des fragments de fichiers (non vide) requis par le récepteur fort Rjet contenus dans les mémoires caches des récepteurs du sous-ensemble G. Si plus de mj-mGbits de Wj(G) n'ont pas encore été envoyés au récepteur Rj, le nœud source sélectionne les zbprochains fragments de Wj,b(G) tels que zb *Δk≤mj-mG.
Lors d'une étape de concaténation E8.1, le nœud source T est adapté à concaténer, pour chaque bloc b[1,...,bG], la séquence binaire WG,bobtenue à l'issue de l'étape de combinaison E7 et la séquence binaire Wj,b(G) de taille mj-mGsélectionnée parmi l'ensemble Wj(G) de manière à obtenir la séquence concaténée WG,b,final=[WG,b|Wj,b(G)] dans laquelle les séquences binaires WG,bet Wj,b(G) sont mises bout à bout. Par la suite, le symbole | désignera l'opération de concaténation de deux séquences binaires.
Lors d'une étape de codage de canal E9, le nœud source T est adapté à appliquer une technique de codage de canal basée de préférence sur un code polaire (i.e. Polar Codeen anglais). En effet, une particularité de l'invention réside précisément dans la sélection des codes polaires parmi l'ensemble des codes existants pour coder la séquence de bits combinés WG,bà l'issue de l'étape de combinaison E7 et en particulier pour coder la séquence concaténée WG,b,finalà l'issue de l'étape de concaténation E8.1 dans le cas il est prévu de servir un ou plusieurs récepteurs forts.
En effet, les inventrices ont constaté, lors de leurs travaux de recherche, d'une part que les solutions de l'art antérieur appliquent un codage de canal indépendamment de la manière dont les paquets envoyés sur le réseau ont été créés ou obtenus et d'autre part que les codes polaires n'ont pour l'instant pas encore été exploités dans le cadre de la multidiffusion de fragments de fichiers à travers un réseau, notamment un réseau radio-mobile.
Selon une particularité de l'invention, un code polaire est appliqué à une séquence de bits finale contenant des blocs de fragments de fichiers destinés à être transmis à l'ensemble des récepteurs. Cette séquence de bits finale, désignée WG,bou WG,b,finalen fonction du cas de figure considéré, a été formée en tenant compte de la capacité de décodage mide chacun des récepteurs Ricomme décrit ci-avant. Ainsi, le codage polaire est appliqué sur une séquence de bits particulière qui a été obtenue par combinaison des fragments de fichiers à destination des récepteurs faibles et éventuellement des récepteurs forts, cette séquence ayant la particularité de tenir compte des conditions de canal pour chacun des récepteurs de manière à optimiser les débits de réception des fragments de fichier.
Selon le premier mode de réalisation tel que décrit en référence à lafigure 3, la séquence finale WG,b,finalcorrespond à la séquence de bits WG,bobtenue par regroupement (ou répartition), remplissage puis combinaison (X-OR) des fragments de fichiers incluant notamment W1 2, W2 1destinés respectivement aux premier R1et deuxième R2récepteurs.
Selon l'exemple détaillé de lafigure 7, la séquence finale WG,b,finalcorrespond à la séquence de bits obtenue par concaténation de la séquence de bits WG,b et de la séquence de bits Wj,b(G), de sorte que WG,final=[WG,b| Wj,b(G)].
Comme illustré sur lafigure 5, le nœud source (ou émetteur) T est configuré pour mettre en œuvre un dispositif de codage de canal 20 de manière à coder la séquence de bits à émettre telle que décrite ci-dessus. Chaque récepteur Riest configuré pour mettre en œuvre un dispositif de décodage de canal 40 de manière à décoder la séquences de bits reçue de l'émetteur T après transmission à travers le canal. Par exemple, le dispositif de codage 20 et le dispositif de décodage 40 sont configurés pour appliquer une technique de codage et décodage basée sur le même code polaire, ce code pouvant être sélectionné parmi une liste de codes préinstallés.
Selon une particularité de l'invention, le dispositif de codage de canal 20 est configuré de telle sorte que le premier bit de la séquence finale WG,b,finalest codé par le premier bit le plus fiable dans le code polaire u1tandis que le second bit de la séquence concaténée WG,b,finalest codé par le second bit le plus fiable dans le code polaire u2, et ainsi de suite pour lesm j bits de la séquence fournis en entrée du codeur, où l'indice j indique le récepteur fort choisi lors de l’étape E8 décrite auparavant.
Si aucun récepteur fort n’a été choisi lors de l’étape E8, la séquence concaténée WG,b,finalest de longueur mGbits. Pour déterminer la fiabilité des bits (ou bits variés) du codage de canal, on peut se baser sur des algorithmes standards, qui ordonnent les bits par exemple par ordre croissant de leur paramètre Z. Par exemple, l’ordonnancement des bits d’entrées du code polaire peut être stocké sous la forme d'une base de données 4 dans une mémoire du récepteur.
Ainsi, selon l'exemple de lafigure 5, les bits d'information de la séquence finale WG,b,finalsont agencés par ordre croissant de probabilités d'erreur au moyen d'un module d'ordonnancement 20.1 adapté à fournir en entrée du codeur de canal 20.3 une séquence de bits u1, u2, u3, u4, u5ordonnés par ordre croissant de leur erreur de probabilité. Par exemple, les probabilités d'erreur auxquelles le module d'ordonnancement a accès sont stockées sous la forme d'une base de données 2.
De manière générale, le code utilisé pour le codage de canal a une taille optimale égale àn, oùndésigne un entier naturel non nul. Le codeur de canal 20.3 dispose au total denentrées et par conséquent est capable de coder au plusnbits simultanément.
Dans l'exemple de lafigure 5, on suppose que le codeur de canal 20.3 est configuré avec un code de taille n=8 mais que seuls m3=5 bits d'informations sont codés, où 5=n × C3,selon le scénario de la figure 2. De manière générale, on rappelle qu'un récepteur Rkpeut décoder mkbits simultanément de façon fiable,i.e.avec probabilité d’erreur très faible.
Lors de l'étape de codage de canal E9, le codeur de canal 20.3 de l'émetteur T applique un code polaire à la séquence de bits ordonnés {u1, u2, u3, u4, u5} de manière à obtenir une séquence de bits codés par codage polaire {x1, x2, x3, x4, x5,x6 ,x7,x8}. Dans cet exemple, les trois derniers bits u6, u7, u8de la séquence ordonnée fournie en entrée du codeur de canal 20.3 sont fixés à une valeur de référence, connue par tout le monde, en générale fixée à “0”. Seuls les cinq premiers bits u1, u2, u3, u4, u5 sont des bits d'information tandis que les trois derniers bits u6, u7, u8 sont des bits gelés (ditsfrozen bitsen anglais), par exemple de valeur égale à "0".
Ainsi, pour communiquer avec un récepteur de capacité Ck, les bits sont répartis en deux groupes : i) un groupe de mk<n*Ckbits d'information destinés à être décodés par le récepteur et ii) un groupe de n-mkbits gelés, fixés par défaut à une valeur connue par tout le monde (typiquement “0”).
Lors d'une étape d'émission E11, l'émetteur T envoie à travers le réseau la séquence de bits codés {x1, x2, x3, x4, x5,x6,x7,x8} à l'ensemble des récepteurs, par exemple, dans un même paquet de données transmis à travers un réseau 4G ou 5G. Le nombre et la valeur des bits gelés peuvent être également transmis par l'émetteur T aux récepteurs, par exemple lors de cette étape d'émission E11 ou bien peuvent être calculés par chaque récepteur comme décrit ci-après.
En pratique, l'émetteur envoie les données sous la forme d'un paquet comprenant une entête et un champs de données. Le champ de données comprend la séquences de bits codés. L'entête comprend des indices permettant d'identifier les blocs de fragments de fichiers codés et les récepteurs auxquels ils sont destinés.
Par exemple, l'entête comprend les indices i appartenant à l'ensemble {i1,…,it} désignant les récepteurs faibles du sous-ensemble G pour lesquels bi≥b, les indices {di,b,1,...,di,b,qi} associés à ces récepteurs des blocs des fragments de fichiers codés dans le champ de données du paquet. L'entête comprend en outre les indices désignant les récepteurs forts Rj, tel que L+1≤j≤K, ainsi que les indices {dj,b,1,...,dj,b,zb} associés à leurs blocs des fragments de fichiers codés dans le champ de données du paquet.
Selon l'exemple de la figure 7, l'émetteur T envoie, lors de l'étape d'émission E13, les fragments du fichier Wjrestants à destination des récepteurs forts Rjoù L+1≤j≤K.
Après transmission sur le canal Ci, la séquence de bits codés est reçue par le récepteur Ri. On suppose que la séquence reçue est Yi={y1, y2, y3, y4, y5,y6,y7,y8} et que le récepteur connaît le nombre et la valeur des bits gelés. Dans l'exemple de la figure 5, le récepteur détermine que les trois derniers bits de la séquence reçue sont des bits nuls (i.e.y6=y7=y8=0).
Le procédé de décodage mis en œuvre par un récepteur faible va maintenant être décrit selon un mode de réalisation particulier tel qu'illustré à lafigure 9.
Lors d'une étape de réception E20, le récepteur Rkreçoit un paquet de données correspondant au paquet émis par l'émetteur T après transmission sur le canal. Le paquet reçu comprend un entête et un champ de données, comme pour le paquet émis tel que décrit ci-dessus. Le champ de données du paquet reçu comprend la séquence Yi.
Sur réception du paquet, chaque récepteur faible Rk(1≤k≤L) détermine lors d'une étape de test E21 si ce paquet le concerne. A cet effet, le récepteur Rkextrait les indices des récepteurs du sous-ensemble G, les indices des récepteurs forts Rj(L+1≤j≤K) et les indices de blocs de fragments de fichiers associés à ces récepteurs,i.e.respectivement {di,b,1, ..., di,b,qi} et {dj,b,1,...,dj,b,zb} tels que définis précédemment. Si le récepteur Rkn'appartient pas au groupe G, le paquet reçu est ignoré. Sinon, il procède aux étapes suivantes.
Lors d'une première étape d'extraction E22, le récepteur Rkextrait de sa mémoire cache Mk, les blocs des fragments de fichiers désignés Wj,b(G) et destinés aux récepteurs forts Rj. Plus précisément, il extrait les fragments de fichiers associés aux indices dj,b,1,...,dj,b,zb.
Lors d'une deuxième étape d'extraction E23, le récepteur Rkextrait de sa mémoire cache Mk, les blocs des fragments de fichiers désignés Wi,b(G\{i}), pour tout indice i tel que le récepteur Riappartenant à G\{k} et pour tout indice b appartenant à l'ensemble {1,…, bi},i.e., tous les contenus numériques de sa propre mémoire cache qui sont exclusivement stockés aussi dans les mémoires caches de |G|-1 autres récepteurs appartenant au groupe G. Pour chaque indice i, les fragments de fichiers spécifiques à retirer sont désignés par les indices {di,b,1,...,di,b,qi}.
On notera que les première et deuxième étapes d'extraction E22 et E23 peuvent être exécutées simultanément ou bien séquentiellement dans n'importe quel ordre.
Par exemple, dans le cadre du scénario de lafigure 2, le premier récepteur R1extrait de sa mémoire cache M1les fragments W1 1, W2 1, W3 1, W1 3, W2 3, W3 3tandis que le deuxième récepteur R2extrait de sa mémoire cache M2les fragments W1 2, W2 2, W3 2, W1 3, W2 3, W3 3.
Lors d'une étape de combinaison E24, les fragments de fichiers extraits à l'issue de la deuxième étape d'extraction E23 sont combinés par addition binaire en appliquant l'opérateur OU exclusif (X-OR), de manière à obtenir une séquence de bits combinés Wk,b,XOR(G)=i G\{k}Wi,b(G\{k}).
A cet effet, ces blocs sont préalablement complétés lors d'une sous-étape de remplissage (non illustrée) par des bits nuls "0", de sorte que chacun de ces blocs soit de taille égale à la capacité de décodage maximale des récepteurs faibles appartenant au groupe G, cette capacité étant désignée mG=Max(mi)i Get pouvant être transmise à l'ensemble des récepteurs, par exemple dans l'entête du paquet.
Lors d'une étape de sélection E26, le récepteur Rksélectionne les mkpremiers bits de la séquence combinée de manière à former une séquence combinée d'information Wk,b,XOR,data, les bits restant de la séquence combinée formant une séquence de bits gelés Wk,b,XOR,frozen .Ainsi, la séquence de bits combinés Wk,b,XOR(G) est divisée en deux sous-ensembles de bits en fonction de la capacité de décodage mkdu récepteur Rk: un premier sous-ensemble de bits d'information Wk,b,XOR,datacomprenant les mkpremiers bits de la séquence de bits combinés Wk,b,XOR(G) et deuxième sous-ensemble de bits gelés (frozen bits) noté Wk,b,XOR , frozencomprenant les bits restants de la séquence de bits combinés Wk,b,XOR(G).
Le deuxième sous-ensemble Wk,b,XOR , frozenest ensuite concaténé à la séquence Wj,b(G) de manière à former une séquence finale de bits gelés : WF=[Wk,b,XOR , frozen| Wj,b(G)] qui servira à décoder la séquence de bits reçus comme décrit ci-dessous.
Lors d'une étape de décodage de canal E28, le premier sous-ensemble Wk,b,XOR,dataest décodé par le décodeur de canal 40 du récepteur Rken utilisant le même code (de préférence polaire) que celui utilisé par l'émetteur lors de l'étape de codage E9 et la séquence finale de bits gelés WF. A l'issue de l'étape de décodage de canal E28, une séquence binaire décodée Xkest fournie en sortie du décodeur de canal du récepteur Rk.
Lors d'une étape de combinaison E30, le récepteur Rkcombine la séquence binaire décodée Xket la séquence combinée d'information Wk,b,XOR,dataen appliquant l'opérateur OU exclusif (X-OR), ce qui a pour effet d'obtenir les fragments de fichiers requis par le récepteur Rkdénotés Wk,b(G\{k})=Xk Wk,b,XOR,data(G).
Lafigure 10illustre de manière schématique les différentes séquences binaires formées successivement lors du décodage selon le procédé décrit ci-avant pour l'obtention des fragments de fichiers Wk,b(G\{k}) requis par le récepteur Rken utilisant la séquence de bits reçus Yk, les fragments de fichiers Wi,b(G\{k}) contenus dans la mémoire cache Mk.
Lafigure 11illustre le débit en Mbit/s mesuré en fonction de la taille de la mémoire cache des récepteurs obtenu par le procédé selon l'invention utilisant un codage polaire en comparaison avec un procédé de codage classique. Les mesures ont été réalisées dans un système de diffusion comprenant 20 récepteurs où le canal de transmission vers chaque récepteur Rkest un canal binaire symétrique (BSC :Binary Symmetric Channelen anglais) avec une probabilité de croisement (crossover probabilityen anglais) égale à δk. Les mesures ont été effectuées dans le cas où le système comprend 10 récepteurs disposent d'une mémoire cache et ont une même probabilité de croisement δ=0,2431 tandis que les 10 autres récepteurs ne disposent pas de mémoire cache et ont une même probabilité de croisement δ'=0,0311. Ces résultats montrent notamment que pour une taille de mémoire cache donnée, le débit des données reçues selon le procédé de codage/décode selon l'invention est systématiquement plus élevé qu'avec le procédé de codage/décodage classique.
Le procédé de multidiffusion selon l'invention est mis en œuvre sur un dispositif d'émission appartenant à un réseau de communication tel qu'un réseau radiofréquence de type Wi-Fi (IEEE 802.11) ou un radio-mobile de type 4G ou 5G, et adapté à transmettre des données numériques.
De préférence, le dispositif d'émission est constitué par un point d'accès radio ou une station de base relié à un serveur de fichiers comprenant des moyens de stockage des fichiers destinés à être diffusés.
Le procédé d'obtention selon l'invention est mis en œuvre sur un dispositif de réception appartenant audit réseau de communication et à adapter à recevoir et décoder les fragments de fichiers émis par le dispositif d'émission.
De préférence, le dispositif de réception est constitué par un terminal mobile sélectionné parmi un ordinateur portable, un téléphone portable de typesmartphone, une tablette, un objet connecté ou tout autre dispositif comprenant des moyens de réception, des moyens de stockage et des moyens de traitement pour décoder la séquence de bits reçue en provenance du dispositif d'émission.
Dans le cas où le réseau de communication comprend une pluralité de nœuds de communication selon une architecture de type pair à pair (oupeer - to-peeren anglais), où chaque nœud du réseau peut jouer tour à tour le rôle d'émetteur et de récepteur. Dans ce cas, chaque nœud est adapté à mettre en œuvre les étapes du procédé de multidiffusion lorsqu'il joue le rôle d'émetteur et les étapes du procédé d'obtention lorsqu'il joue le rôle de récepteur.
Lafigure 12est un bloc-diagramme schématique d'un dispositif de traitement de l’information 4.0 pour la mise en œuvre d'un ou plusieurs modes de réalisation de l'invention. Le dispositif 4.0 de traitement de l’information peut être un périphérique tel qu'un micro-ordinateur, un poste de travail ou d'un terminal mobile de télécommunication. Le dispositif 4.0 comporte un bus de communication connecté à:
- une unité centrale de traitement 4.1, tel qu'un microprocesseur, notée CPU ;
- une mémoire à accès aléatoire 4.2, notée RAM, pour mémoriser le code exécutable du procédé de réalisation de l'invention ainsi que les registres adaptés à enregistrer des variables et des paramètres nécessaires pour la mise en œuvre du procédé de multidiffusion et/ou du procédé d'obtention selon des modes de réalisation de l'invention, la capacité de mémoire de celui-ci peut être complété par une mémoire RAM optionnelle connectée à un port d'extension, par exemple ;
- une mémoire morte 4.3, notée ROM, pour stocker des programmes informatiques pour la mise en œuvre des modes de réalisation de l'invention ;
- une interface réseau 4.4 est normalement connectée à un réseau de communication sur lequel des données numériques à traiter sont transmis ou reçus. L'interface réseau 4.4 peut être une seule interface réseau, ou composée d'un ensemble d'interfaces réseau différentes (par exemple filaire et sans fil, interfaces ou différents types d'interfaces filaires ou sans fil). Des paquets de données sont envoyés sur l'interface réseau pour la transmission ou sont lues à partir de l'interface de réseau pour la réception sous le contrôle de l'application logiciel exécuté dans le processeur 4.1 ;
- une interface utilisateur 4.5 pour recevoir des entrées d'un utilisateur ou pour afficher des informations à un utilisateur ;
- un support de stockage optionnel 4.6 noté HD ;
- un module d’entrée/sortie 4.7 pour la réception / l'envoi de données depuis / vers des périphériques externes tels que disque dur, support de stockage amovible ou autres.
Le code exécutable peut être stocké dans une mémoire morte 4.3, sur le support de stockage 4.6 ou sur un support amovible numérique tel que par exemple un disque. Selon une variante, le code exécutable des programmes peuvent être reçu au moyen d'un réseau de communication, via l'interface réseau 4.4, afin d'être stocké dans l'un des moyens de stockage du dispositif de communication 4.0, tel que le support de stockage 4.6, avant d'être exécuté.
L'unité centrale de traitement 4.1 est adaptée pour commander et diriger l'exécution des instructions ou des portions de code logiciel du programme ou des programmes selon l'un des modes de réalisation de l'invention, instructions qui sont stockées dans l'un des moyens de stockage précités. Après la mise sous tension, le CPU 4.1 est capable d'exécuter des instructions stockées dans la mémoire RAM principale 4.2, relatives à une application logicielle, après que ces instructions aient été chargées de la ROM par exemple. Un tel logiciel, lorsqu'il est exécuté par le processeur 4.1, provoque les étapes des organigrammes présentés dans les figures 6, 7, 8 ou 9 pour être exécutées.
Dans ce mode de réalisation, l'appareil est un appareil programmable qui utilise un logiciel pour mettre en œuvre l'invention. Toutefois, à titre subsidiaire, la présente invention peut être mise en œuvre dans le matériel (par exemple, sous la forme d'un circuit intégré spécifique ou ASIC).
Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l’invention pourra appliquer des modifications dans la description précédente.
Bien que la présente invention ait été décrite ci-dessus en référence à des modes de réalisation spécifiques, la présente invention n'est pas limitée aux modes de réalisation spécifiques, et les modifications qui se trouvent dans le champ d'application de la présente invention seront évidentes pour une personne versée dans l'art.

Claims (12)

  1. Procédé de multidiffusion de fragments manquants (Wk p; W1 2, W2 2, W3 2) de fichiers numériques (Wk ; W1, W2, W3) à un ensemble de récepteurs comprenant une pluralité de récepteurs faibles (Ri; R1,...,RL; R1, R2, R3) comprenant chacun une mémoire cache (Mi; M1,...,ML; M1, M2, M3) dans laquelle sont stockés un ou plusieurs fragments de fichiers numériques pré-stockés (W1 1, W2 1, W3 1W1 3, W2 3, W3 3; W1 2, W2 2, W3 2, W1 3, W2 3, W3 3), les fragments manquants (Wk p; W1 2, W2 1, W3 2) de fichiers destinés à être diffusés n'étant pas préalablement stockés dans la mémoire cache des récepteurs respectifs (Ri; R1,...,RL; R1, R2) requérant ces fichiers, ledit procédé étant caractérisé en ce qu'il comprenant les étapes suivantes :
    1. sélection (E1) d'un sous-ensemble (G) de récepteurs faibles ;
    2. pour chaque récepteur (Ri; R1, R2) dudit sous-ensemble (G), identification (E3) d'au moins un fragment (Wi p; W1 2; W2 1) d'un fichier (Wi; W1; W2) requis par ledit chaque récepteur et tel que ledit au moins un fragment (W1 2; W2 1) est présent dans la mémoire cache (M1; M2) de tous les autres récepteurs faibles (R1, R2) appartenant audit sous-ensemble (G);
    3. pour chaque récepteur (Ri; R1, R2) dudit sous-ensemble (G) et pour chacun dudit au moins un fragment de fichier (Wi p; W1 2; W2 1) identifié lors de l'étape précédente, regroupement/répartition (E5) dudit au moins un fragment du fichier en une pluralité de blocs b de taille miégale à la capacité de décodage dudit récepteur (Ri; R1, R2) ;
    4. combinaison (E7) des blocs issus de l'étape c) de manière à fournir une séquence de bits combinés WG,b;
    5. codage (E9) d'une séquence de bits à transmettre comprenant la séquence de bits combinés WG,b, par application d'une technique de codage, de manière à fournir une séquence de bits codés Wc; et
    6. envoi (E11) de ladite séquence de bits codés Wcà un ensemble de récepteurs comprenant le sous-ensemble (G) de récepteurs faibles.
  2. Procédé selon la revendication 1, caractérisé en ce que chacun desdits blocs obtenus lors de l'étape c) est rempli par des bits "0" lors d'une étape de remplissage (E4) de sorte que la taille du bloc soit égale à la capacité de décodage maximale mGdes récepteurs faibles du sous-ensemble G.
  3. Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce que l'étape de combinaison (E7) est mise en œuvre par application de l'opérateur logique OU exclusif (X-OR).
  4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la technique de codage utilisée lors de l'étape de codage (E9) est une technique de codage polaire configurée pour recevoir en entrée les bits de ladite séquence de bits à transmettre.
  5. Procédé selon la revendication 4, caractérisé en ce que l'étape de codage (E9) comprend une sous-étape d'ordonnancement (E9.1), lors de laquelle les bits de la séquence de bits à transmettre sont agencés par ordre croissant de leur probabilité d'erreur avant l'application de la technique de codage.
  6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comprend en outre les étapes suivantes :
    - sélection (E8) d'au moins un récepteur fort (Rj) parmi ledit ensemble de récepteurs (R1,...,RK), ledit au moins un récepteur fort ne disposant pas de mémoire cache et requérant un fragment de fichier Wj,b(G) contenu dans les mémoires cache de récepteurs faibles (R1,...,RL) du sous-ensemble G;
    - concaténation (E8.1) de la séquence de bits combinés WG,b avec le fragment de fichier Wj,b(G) de manière à former la séquence de données à transmettre destinée à être codée lors de l'étape de codage (E9).
  7. Procédé d'obtention d'au moins un fragment de fichier à partir d'une séquence de bits reçue (Yk) correspondant à la séquence de bits codés (Wc) émise par un émetteur conformément au procédé de multidiffusion selon l'une quelconque des revendications 1 à 6 et transmise à travers un canal de transmission, ledit procédé d'obtention étant caractérisé en ce qu'il comprend, pour chaque récepteur faible Rkappartenant au sous-ensemble G, les étapes suivantes:
    réception (E20) de ladite séquence de bits reçue (Yk) ;
    combinaison (E24) des fragments de fichiers destinés aux autres récepteurs faibles appartenant au sous-ensemble G, ces fragments étant stockés dans la mémoire cache Mkdu récepteur faible Rkde manière à obtenir une séquence combinée Wk,b,XOR(G);
    sélection (E26) des mkpremiers bits de ladite séquence combinée Wk,b,XOR(G), de manière à former une séquence combinée d'information Wk,b,XOR,data, les bits restant de la séquence combinée formant une séquence de bits gelés Wk,b,XOR,frozen ;
    décodage de canal (E28) des mkpremiers bits de la séquence de bits reçue en utilisant la séquence de bits gelés Wk,b,XOR,frozen de manière à former une séquence de bits décodés Xk, le décodage étant basé sur un code utilisé par l'émetteur T lors de l'étape de codage (E9) ;
    combinaison (E30) de la séquence combinée d'information Wk,b,XOR,dataet de la séquence de bits décodée Xkde manière à obtenir les fragments de fichiers Wk,b(G\{k}) requis par le récepteur Rk.
  8. Procédé de communication mis en œuvre dans un réseau comprenant une pluralité de nœuds de communication, ledit procédé étant caractérisé en ce qu'il comprend les étapes du procédé de multidiffusion selon l'une quelconque des revendications 1 à 6 et/ou les étapes du procédé d'obtention selon la revendication 7.
  9. Dispositif de traitement de l’information comprenant des moyens pour mettre en œuvre les étapes du procédé de multidiffusion selon l'une quelconque des revendications 1 à 6 et/ou les étapes du procédé d'obtention selon la revendication 7.
  10. Système de multidiffusion caractérisé en ce qu'il comprend au moins un serveur configuré pour mettre en œuvre les étapes du procédé de multidiffusion selon l'une quelconque des revendications 1 à 6 et une pluralité de dispositifs clients configurés pour mettre en œuvre les étapes du procédé d'obtention selon la revendication 7.
  11. Programme d’ordinateur comprenant des instructions adaptées à mettre en œuvre chacune des étapes du procédé de multidiffusion selon l’une quelconque des revendications 1 à 6 et/ou les étapes du procédé d'obtention selon la revendication 7, lorsque ledit programme est exécuté sur un ordinateur.
  12. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé de multidiffusion selon l'une quelconque des revendications 1 à 6 et/ou les étapes du procédé d'obtention selon la revendication 7.
FR1903803A 2019-04-09 2019-04-09 Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes Ceased FR3095094A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1903803A FR3095094A1 (fr) 2019-04-09 2019-04-09 Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1903803A FR3095094A1 (fr) 2019-04-09 2019-04-09 Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes
FR1903803 2019-04-09

Publications (1)

Publication Number Publication Date
FR3095094A1 true FR3095094A1 (fr) 2020-10-16

Family

ID=67810784

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1903803A Ceased FR3095094A1 (fr) 2019-04-09 2019-04-09 Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes

Country Status (1)

Country Link
FR (1) FR3095094A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289218A1 (en) * 2016-03-29 2017-10-05 Alcatel-Lucent Usa Inc. Channel-Aware Caching-Aided Coded Multicast
US20180054716A1 (en) * 2016-08-16 2018-02-22 Research & Business Foundation Sungkyunkwan University Method and apparatus for index-coded multicast transmission in a wireless communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289218A1 (en) * 2016-03-29 2017-10-05 Alcatel-Lucent Usa Inc. Channel-Aware Caching-Aided Coded Multicast
US20180054716A1 (en) * 2016-08-16 2018-02-22 Research & Business Foundation Sungkyunkwan University Method and apparatus for index-coded multicast transmission in a wireless communication system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
APOSTOLOS DESTOUNIS ET AL: "Adaptive Coded Caching for Fair Delivery over Fading Channels", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 7 February 2018 (2018-02-07), XP080856134 *
FADLALLAH YASSER ET AL: "Coding for Caching in 5G Networks", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 55, no. 2, 1 February 2017 (2017-02-01), pages 106 - 113, XP011640280, ISSN: 0163-6804, [retrieved on 20170202], DOI: 10.1109/MCOM.2017.1600449CM *
M. A. MADDAH-ALIU. NIESEN: "Fundamental limits of caching", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 60, no. 5, May 2014 (2014-05-01), pages 2856 - 2867, XP011545810, doi:10.1109/TIT.2014.2306938

Similar Documents

Publication Publication Date Title
EP1972092B1 (fr) Procede et systeme de distribution de contenu multimedia
US9332051B2 (en) Media manifest file generation for adaptive streaming cost management
EP2700226B1 (fr) Procedes et appareils de production et de traitement de representations de scenes multimedias
EP2225882A2 (fr) Procede de codage d&#39;un flux video echelonnable a destination d&#39;utilisateurs de differents profils
EP3072303B1 (fr) Diffusion adaptative de contenus multimedia
FR3021489A1 (fr) Procede de telechargement adaptatif de contenus numeriques pour plusieurs ecrans
FR2879387A1 (fr) Procede de transmission a debit binaire variable a travers un canal de transmission.
EP3780632B1 (fr) Systeme de distribution d&#39;un contenu audiovisuel
FR3095094A1 (fr) Procedes de multi-diffusion et d&#39;obtention de contenus numeriques dans un reseau, dispositif et systeme associes
EP3231190B1 (fr) Procédé et dispositifs permettant une transmission d&#39;un flux de données selon un mode de transmission multipoint
EP3229483A1 (fr) Extraction de flux video
EP4092993A1 (fr) Téléchargement progressif adaptatif d&#39;un contenu diffusé en temps réel sur un réseau de radiocommunication mobile, programme d ordinateur et terminal lecteur de flux multimédia associés
FR3081274A1 (fr) Gestion du telechargement progressif adaptatif d&#39;un contenu numerique au sein d&#39;un terminal de restitution d&#39;un reseau de communication local.
EP3675505B1 (fr) Procede et systeme de distribution d&#39;un contenu audiovisuel
FR2923970A1 (fr) Procede et dispositif de formation, de transfert et de reception de paquets de transport encapsulant des donnees representatives d&#39;une sequence d&#39;images
FR2988959A1 (fr) Procede de tatouage avec streaming adaptatif
EP3675425B1 (fr) Module elementaire d&#39;un systeme de distribution d&#39;un contenu audiovisuel
FR3055762A1 (fr) Procede et dispositif d&#39;encodage d&#39;un contenu audiovisuel destine a etre diffuse par telechargements successifs de morceaux de donnees
EP4564823A1 (fr) Passerelle pour encodage local de contenus de télévision numérique terrestre en segments de contenus adaptatifs sur http (has)
FR3111502A1 (fr) Procédé de gestion de la lecture d’un contenu numérique au sein d’un terminal lecteur de contenus multimédias connecté à un dispositif de restitution
FR3128084A1 (fr) procédé de gestion de la lecture d’un contenu multimédia.
EP4734527A1 (fr) Procédé de gestion de l accès, par un dispositif de lecture, à des contenus segmentés
WO2005009047A2 (fr) Methode d&#39;insertion de marques de synchronisation dans un flux video, compatible avec un chiffrage par blocs
FR3147677A1 (fr) procédé de gestion de l’accès à un contenu multimédia et de la lecture de ce contenu.
WO2023052703A1 (fr) Procédé de gestion de la restitution d&#39;un contenu audio

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20201016

RX Complete rejection

Effective date: 20210412