FR2917919A1 - Procede et dispositif de transmission d'images. - Google Patents

Procede et dispositif de transmission d'images. Download PDF

Info

Publication number
FR2917919A1
FR2917919A1 FR0755941A FR0755941A FR2917919A1 FR 2917919 A1 FR2917919 A1 FR 2917919A1 FR 0755941 A FR0755941 A FR 0755941A FR 0755941 A FR0755941 A FR 0755941A FR 2917919 A1 FR2917919 A1 FR 2917919A1
Authority
FR
France
Prior art keywords
images
information
network
image
time
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.)
Granted
Application number
FR0755941A
Other languages
English (en)
Other versions
FR2917919B1 (fr
Inventor
Floch Herve Le
Eric Nassor
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0755941A priority Critical patent/FR2917919B1/fr
Priority to US12/137,975 priority patent/US8126049B2/en
Publication of FR2917919A1 publication Critical patent/FR2917919A1/fr
Application granted granted Critical
Publication of FR2917919B1 publication Critical patent/FR2917919B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • 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/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8453Structuring of content, e.g. decomposing content into time segments by locking or enabling a set of features, e.g. optional functionalities in an executable program

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Le procédé de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, comporte :- une étape (805 à 807, 809, 810) de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est supérieure, respectivement inférieure, à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et- une étape (801 à 805, 812 à 816) d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus grande, respectivement petite, quantité d'information que la moyenne des images.Au cours de l'étape de détermination, on détermine une période de variation cyclique de la quantité d'information susceptible d'être envoyée sur le réseau.

Description

La présente invention concerne un procédé et un dispositif de transmission
d'images. Elle s'applique, en particulier, à la transmission d'une vidéo sur un réseau à débit variable. Du fait de la bande passante réseau variable, les images d'une vidéo compressées transmises sur un réseau peuvent arriver à des intervalles de temps non réguliers. De ce fait, les images sont quelquefois affichées avec des décalages temporels pouvant entraîner un effet visuel désagréable : une impression de saccade désagréable est constatée. De plus, la gestion des ressources CPU et mémoire du client est plus facile lorsque les images arrivent à intervalle régulier.
Certaines images d'une vidéo compressée ont des tailles (pour une même qualité visuelle) très différentes. Les images INTRA, sont des exemples classiques dans le cadre d'une compression vidéo de type MPEG. Les images INTRA n'utilisent pas de module de prédiction temporelle (estimation du mouvement par mise en correspondance de blocs). Les images INTRA sont plus difficiles à compresser et leur taille est généralement 4 à 5 fois la taille d'une image INTER (pour une même qualité visuelle). Si la bande passante est trop faible pour assurer la transmission d'une telle image durant l'intervalle de temps entre 2 images, une image INTRA risque d'arriver en retard au client. De ce fait, un effet visuel désagréable pourra se produire.
Un moyen de résoudre ce problème est de disposer d'une mémoire tampon (en anglais buffer ) assez grande au niveau du récepteur de façon à absorber les éventuels retards de transmission. Toutefois, certains clients/récepteurs ne disposent pas de mémoire tampon de taille suffisante pour stocker des données images avant leur affichage. Même si le récepteur dispose d'une mémoire tampon suffisante, il peut arriver des évènements qui vident cette mémoire tampon, comme, par exemple une interruption temporaire de l'envoi de données par le serveur. L'effet de saccade se reproduit alors.
De plus, dans le cas d'un système de transmission à latence très faible, par exemple pour la vidéo conférence, l'utilisation d'une mémoire tampon ne convient pas parce qu'elle introduit nécessairement de la latence, c'est-à-dire un délai entre la réception de l'information représentant l'image et son affichage après décodage. La présente invention vise à remédier à ces inconvénients. D'une manière générale, la présente invention permet de synchroniser l'envoi des images de la vidéo les plus lourdes (typiquement les images INTRA) avec les instants pour lesquels la quantité d'information envoyée selon le protocole réseau (par exemple, TCP ou TFRC) est la plus
grande. A cet effet, selon un premier aspect, la présente invention vise un procédé de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon 15 sensiblement cyclique, qui comporte : - une étape de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est supérieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et 20 - une étape d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus grande quantité d'information que la moyenne des images. Selon un deuxième aspect, la présente invention vise un procédé de transmission d'images sur un réseau dans lequel la quantité d'information 25 susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, qui comporte : - une étape de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est inférieure à sa moyenne, en fonction de la variation 30 passée sensiblement cyclique de ladite quantité d'information et - une étape d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus petite quantité d'information que la moyenne des images. Grâce à chacune de ces dispositions, on limite le risque de Jitter (décalage entre le temps d'affichage théorique et le temps d'affichage réel) pouvant se produire au niveau du client. On améliore donc globalement la qualité des vidéos transmises. Selon des caractéristiques particulières, au cours de l'étape de détermination, on détermine une période de variation cyclique de la quantité d'information susceptible d'être envoyée sur le réseau. Selon des caractéristiques particulières, au cours de l'étape de détermination, on détermine des extrémums de quantité d'information susceptible d'être envoyée sur le réseau. Grâce à chacune de ces dispositions, la détermination de la période de variation sensiblement cyclique est automatique et adaptative. Selon des caractéristiques particulières, au cours de l'étape de détermination, on détermine une quantité d'information conservée dans une mémoire et restant à transmettre sur le réseau. Selon des caractéristiques particulières, au cours de l'étape d'envoi d'images, on sélectionne une image à coder avec un taux de compression plus faible que le taux de compression des images qui l'entourent, la transmission des images étant effectuée dans leur ordre chronologique, de manière à ce que la transmission de l'image codée, sur le réseau, corresponde à un instant pour lequel la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est la plus grande. Selon des caractéristiques particulières, au cours de l'étape d'envoi, on effectue une étape de codage d'au moins une image selon une pluralité de modes de codage représentant la même image par des quantités d'information différentes.
Selon des caractéristiques particulières, au cours de l'étape d'envoi, on effectue une étape de codage de la même succession d'une pluralité d'images en une pluralité de trains binaires, chaque train binaire représentant cette succession d'images avec une image spécifique qui est représentée selon un mode de codage représentant un taux de compression plus faible que les autres images de ladite succession d'images. Selon des caractéristiques particulières, au cours de l'étape d'envoi, on transmet le train binaire pour lequel l'image spécifique correspond à un instant pour lequel la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est la plus grande. Selon des caractéristiques particulières, au cours de l'étape d'envoi, on détermine, pour chaque image d'une pluralité d'images, la position, dans le temps, de sa transmission sur le réseau au cas où cette seule image serait codée avec un mode de codage de plus faible taux de compression que les autres images de ladite pluralité d'images et on sélectionne l'image pour laquelle ladite position correspond à un instant pour lequel la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est la plus grande, afin que l'image sélectionnée soit codée avec ledit mode de codage de plus faible taux de compression. Selon des caractéristiques particulières, au cours de l'étape d'envoi, on estime celle des images de la pluralité d'image qui doit être codée avec un mode de codage de plus faible taux de compression que les autres images de ladite pluralité d'images et on constitue une pluralité de trains binaires en tenant compte de cette image. Grâce à chacune de ces dispositions, on augmente la facilité de mise en oeuvre et l'efficacité du procédé objet de chacun des deux premiers aspects de la présente invention.
Selon un troisième aspect, la présente invention vise un dispositif de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, qui comporte : - un moyen de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est supérieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et - un moyen d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus grande quantité d'information que la moyenne des images. Selon un quatrième aspect, la présente invention vise un dispositif de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, caractérisé en ce qu'il comporte : - un moyen de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est inférieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et - un moyen d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus petite quantité d'information que la moyenne des images.
Selon un cinquième aspect, la présente invention vise un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de transmission d'images tel que succinctement exposé ci-dessus. Selon un cinquième aspect, la présente invention vise un support d'informations lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé de transmission d'images tel que succinctement exposé ci-dessus. Les avantages, buts et caractéristiques de ces dispositifs, de ce programme et de ce support d'information étant similaires à ceux des procédés de transmission d'images objets de la présente invention, tels que succinctement exposés ci-dessus, ils ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif, en regard des dessins annexés, dans lesquels : - la figure 1 représente, schématiquement, une application de la présente invention, - la figure 2 représente, schématiquement, une bande passante cyclique, - la figure 3 illustre, schématiquement, sous forme de signaux un problème que vise à résoudre la présente invention, - la figure 4 représente, schématiquement, sous forme de signaux, différents cas de transmission d'images sur un réseau, - la figure 5 représente, schématiquement, sous forme de signaux un effet de la mise en oeuvre de la présente invention, - la figure 6 représente, sous forme d'un schéma fonctionnel, un premier mode de réalisation mode de réalisation particulier du procédé et du dispositif objets de la présente invention, - la figure 7 illustre, schématiquement, sous forme de signaux, le codage d'un groupe d'images successives, - la figure 8 représente, sous forme d'un schéma fonctionnel, un deuxième mode de réalisation mode de réalisation particulier du procédé et du dispositif objets de la présente invention, - la figure 9 représente, sous forme de signaux, un problème résolu par un troisième mode de réalisation du procédé et du dispositif objets de la présente invention, - la figure 10 représente, sous forme d'un schéma fonctionnel, le troisième mode de réalisation mode de réalisation particulier du procédé et du dispositif objets de la présente invention et - la figure 11 représente, schématiquement, un dispositif objet de la présente invention.
Dans toute la description, on appelle une vidéo , un ensemble d'images numériques successives représentées par un signal. Dans toute la description, on appelle écoulement la transmission de données sur un réseau. Dans toute la description, on appelle paquétisation (en anglais packetization ) la fonction de former des paquets, au sens de la transmission d'information, à partir d'un train binaire, la dépaquétisation (en anglais depacketization ) étant la fonction symétrique.
Dans toute la description, on décrit des modes de réalisation de la présente invention dans lesquels on envoie sur un réseau des images correspondant à une plus grande quantité d'information que la moyenne des images, aux instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est supérieure à sa moyenne. La mise en oeuvre des modes de réalisation de la présente invention dans lesquels on envoie sur un réseau des images correspondant à une plus petite quantité d'information que la moyenne des images, aux instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est inférieure à sa moyenne étant triviale pour l'homme du métier à la lecture de la description qui va suivre, elle n'est pas décrite ci-dessous. On observe, en figure 1, une vidéo 100 qui est acquise pour être transmise, par un terminal émetteur 120 et affichée sur un écran 1104 (voir figure 10) d'un terminal client 130.
Le transport de l'information représentative de la vidéo, sur le réseau (non représenté), peut se faire de différentes manières : - on peut utiliser le protocole TCP qui intègre un contrôle de congestion de type AIMD (acronyme de Additive increase Multiplicative Decrease pour accroissement additif, décroissance multiplicative) - on peut utiliser un transport de vidéo sur RTP (acronyme de Real-Time transport protocol pour protocole de transport temps réel), si un algorithme de contrôle de congestion est implémenté au dessus de RTP. Dans ce cas, des informations spécifiques peuvent être ajoutées dans les messages RTP et des messages spécifiques peuvent être envoyés sur RTCP (acronyme de RTP control protocol pour protocole de contrôle de RTP), la partie contrôle de RTP. Différents algorithmes de contrôle de congestion peuvent être implémentés, par exemple AIMD ou TFRC, - on peut utiliser un transport de vidéo sur DCCP (acronyme de Datagram Congestion Control Protocol pour protocole de contrôle de congestion temporelle), un protocole qui permet d'avoir plusieurs types de contrôle de congestion, par exemple AIMD et TFRC.
La vidéo est d'abord compressée, par un codeur 101, par exemple conforme à une norme MPEG (acronyme de moving picture experts group pour groupe d'experts en images animées), pour former un train binaire 102. Le train binaire 102 est découpé en paquets, par une fonction 103 dite de paquétisation . Les paquets sont mémorisés dans une mémoire tampon, ou buffer 104. Simultanément, dans une boucle d'asservissement fermée, l'écoulement de paquets est mesuré par une fonction 106 et le réseau est analysé par une fonction 107 qui commande un module de contrôle d'écoulement 105, afin de limiter l'écoulement des paquets vers une carte réseau 109. Le module 108 adapte le taux de compression de l'algorithme de compression vidéo 101 pour que le train binaire obtenu corresponde aux possibilités de transmission du réseau.
L'écoulement de paquets se fait en fonction des pertes et des délais estimés entre le serveur 120 et le client 130. Ainsi, l'écoulement des paquets se fait de façon plus rapide lorsque les pertes seront nulles ou faibles et lorsque les délais de transmission sont courts. En cas de pertes de paquets, la vitesse d'écoulement est diminuée. Lorsque le nombre de paquets envoyés dans un intervalle de temps donné augmente, le protocole considère que la bande passante disponible sur le réseau est plus importante. Le module de contrôle d'écoulement 105 est aussi appelé le contrôle de congestion . On peut donc assimiler la vitesse d'écoulement des paquets en sortie du module de contrôle d'écoulement 105, à une bande passante du réseau estimée par ce module 105. Dans le cadre d'un contrôle de congestion sur RTP, les paquets RTCP retournés par le client 130 sont analysés pour en déduire une vitesse d'écoulement des paquets et donc une bande passante. Dans le cadre de la transmission de données sur réseau IP (acronyme de Internet Protocol pour protocole internet), des protocoles de régulation de débit (aussi appelé algorithme de contrôle de congestion) sont utilisés pour éviter la congestion du réseau. Ces protocoles limitent l'envoi de données sur le réseau. Des protocoles connus sont par exemple TCP (acronyme de transmission control protocol pour protocole de contrôle de transmission) ou TFRC (acronyme de TCP friendly rate control pour contrôle de débit compatible avec TCP). Ces protocoles permettent d'envoyer plus de données lorsque les pertes sont faibles et les délais de transmission sont courts et limitent l'envoi de données lorsque les pertes apparaissent ou les délais de transmission augmentent. Ces protocoles fonctionnent généralement en augmentant la quantité d'information transmise jusqu'à ce qu'une perte soit constatée ce qui entraîne une division de la bande passante. Ces protocoles peuvent se comporter de façon stationnaire. Dans ce cas, les instants temporels pour lesquels la quantité d'information envoyée sera grande sont prédictibles. Du côté client 130, les paquets envoyés sont reçus par une mémoire tampon de réception. Les paquets reçus sont ensuite transformés pour reconstituer le train binaire vidéo compressé, par une fonction de dépaquetisation 111 et une mémoire tampon 112, avant d'être décompressés par une fonction de décodage 113, mis en mémoire tampon 114 et affichés sur la base d'un signal de sortie 115. Le signal de sortie 115 représente les différentes images de la vidéo à afficher au cours du temps. Dans la représentation des signaux utilisée dans les figures, les traits larges représentent schématiquement des images INTRA et les traits fins représentent des images INTER. Le client 130 renvoie des informations au serveur 120 pour que le serveur 120 régule la transmission des paquets sur le réseau, par l'intermédiaire de ses fonctions 105, 106 et 107.
Ces paquets renvoyés sont les paquets RTCP, dans le cas de mise en oeuvre de RTP, et des paquets d'ARQ (acronyme de Automatic RepeatreQuest pour requête de répétition automatique) dans le cas de la mise en oeuvre de TCP ou de DCCP. Nous supposons ici que la vidéo est traitée par le client 130 en temps réel. Dès que l'information représentative d'une image arrive, elle est traitée, par les fonctions 111 et 113 pour être affichée. De cette façon, les délais entre l'affichage de l'image et son acquisition sont réduits au minimum.
La figure 2 montre un exemple de comportement du module d'écoulement 105. Cette figure 2 représente grossièrement le comportement d'un algorithme de type TCP. Toutefois, l'invention s'applique aussi, notamment, à tout type de module de contrôle de congestion de débit qui présente un comportement pseudo-périodique en mode stationnaire. Dans l'exemple représenté, la bande passante 200 instantanée estimée B(t) est affichée en fonction du temps t. Comme précisé précédemment, nous assimilons la bande passante instantanée au nombre de paquets écoulés dans un intervalle de temps donné. La bande passante augmente de façon additive et décroît brutalement à intervalles de temps relativement réguliers. L'augmentation se fait lorsque le serveur 120 ne constate pas d'erreurs de transmission de paquets : il teste alors l'envoi d'un taux plus élevé de paquets. Le serveur 120 et fait décroître le taux de paquets par intervalle de temps lorsque des pertes ou des délais sont constatés. Si le réseau est stable, le comportement de la bande passante 200 peut devenir relativement stationnaire sur un certain intervalle de temps. Le comportement totalement périodique présenté sur la figure ne se produit, pour TCP, que dans le cas où le flux TCP se trouve en présence de flux UDP sans contrôle de congestion.
Si on note B la bande passante disponible, P la taille d'un paquet, Rtt le temps de communication aller retour entre le serveur et le client, la période T est alors donnée par la formule : T = B * Rtt2 / 2 * P. Dans le cas où plusieurs flux TCP se trouvent en concurrence sur le réseau, chacun des serveurs essaye d'augmenter sa bande passante de manière additive jusqu'à ce qu'une erreur se produise lorsque le réseau supprime un paquet, aléatoirement. La probabilité d'erreur pour un flux est donc liée à la proportion de bande passante occupée. Pour évaluer cette probabilité pour un flux on peut, par exemple, mesurer la bande passante moyenne Bmoy occupée pendant plusieurs cycles précédents et la comparer à la bande passante courante Bcurr. En première approximation, on peut estimer que la probabilité d'avoir une erreur, et donc une baisse de la bande passante, est plus importante si Bcurr > Bmoy. En supposant le nombre de flux TCP constants, on peut approximer de manière plus précise la probabilité d'erreur Pr sur une courte durée t par 5 exemple avec la formule : Pr = Bcurr * 2 * P * t / Bmoy2 * Rtt2 La présente invention utilise ces périodes où une certaine stationnarité est détectée. La figure 3 illustre le problème de la transmission et de la 10 synchronisation des images de la vidéo au moment de la réception. En une ligne 300, on a représenté l'acquisition des images d'une vidéo le long d'un axe temporel. Les traits en gras représentent les images qui seront compressées en mode INTRA, les traits fins représentent les images qui seront compressées en mode INTER. Dans cet exemple, les images sont acquises toutes les 40 ms. 15 Après compression et paquétisation, les images sont transmises les unes après les autres, comme représenté en 301. Sur une ligne 302, on a représenté, sur un axe temporel les images lorsqu'elles sont reçues par le client 130, de façon symbolique. Les lignes pointillées 303 représentent les instants d'affichage théoriques des images. On voit que les images doivent être reçues 20 suffisamment tôt, avant l'instant d'affichage, pour qu'après dépaquétisation et décompression, elles soient affichées à l'instant théorique. On voit en 304 une image INTRA qui arrive avec un certain retard, ce qui empêche son affichage à temps. Comme cette image arrive en retard, les ressources du client sont mobilisées et le décodage de l'image INTER suivante, qui arrive pourtant à 25 temps, peut ne pas se faire suffisamment tôt, comme illustré sur la figure en 305, pour qu'elle soit affichée à l'instant théorique correspondant. La figure 4 illustre un autre problème liée aux protocoles de type TCP ou TFRC. On a représenté schématiquement sur la figure 4, le comportement d'un protocole de ce genre. La bande passante B(t) 30 correspondant au nombre de paquets envoyés est représentée en fonction du temps t. On observe que la bande passante B(t) augmente tant qu'aucune perte de paquet n'est détectée, puis chute lorsqu'une perte est détectée, par exemple par le serveur 120. L'intervalle de temps entre deux images étant de 40 ms sur cet exemple, l'image compressée doit être envoyée pendant cet intervalle de temps. Pour la première image INTRA 400, la bande passante disponible étant basse, cette image doit être très fortement compressée pour être envoyée suffisamment vite. En plus, du fait qu'une image INTRA est moins efficacement compressée, la bande passante basse pénalise doublement la qualité de cette image. Toujours dans cet exemple, en 401, l'image INTRA est transmise au moment où la bande passante est à son maximum. De ce fait, le taux de compression est moins fort et la qualité de l'image envoyée est supérieure. Dans cet exemple, la qualité des images transmises risque de varier fortement puisque certaines images doivent être très fortement compressées et d'autres beaucoup moins. L'impression visuelle qui en résulte est donc désagréable puisque la qualité d'image varie fortement d'un moment à l'autre.
Dans la suite de la description, on expose une méthode pour remédier aux problèmes exposés dans les figures précédentes (retard à l'affichage, forte variation de la qualité des images à deux instants différents) . Cette méthode est particulièrement applicable lorsque la durée entre deux images est relativement faible par rapport à la durée d'une oscillation de l'algorithme de contrôle de congestion. Comme indiqué dans la description de la figure 2, la durée d'oscillation dépend de la bande passante du réseau. En pratique, avec les réseaux haut débit récents (fonctionnant à 100Mb/s et plus), la période d'un flux, TCP par exemple, devient importante par rapport la durée entre deux images d'une vidéo. Par exemple, avec un débit de 100Mb/s, un RTT à 10 ms et avec une taille de paquet de 1500 octets, on obtient une période de 0,5 seconde si la vidéo est à 60 images par seconde, la durée entre deux images est de 17 ms, ce qui est faible par rapport à la période d'oscillation. La figure 5 décrit, sous forme de signaux, des effets de la mise en oeuvre de la présente invention. L'objectif est de synchroniser l'envoi des images représentées par une plus grande quantité d'information avec des instants où la bande passante est la plus élevée. Dans des modes de réalisation, pour atteindre cet objectif, on effectue les étapes principales suivantes : - détection d'un régime stationnaire d'évolution de la bande passante, - prédiction des pics de la bande passante et - modification des instants de compression des images d'une vidéo en mode INTRA de façon à ce que leurs transmissions correspondent aux pics de la bande passante. Ces étapes sont illustrées en figure 5, par leurs relations avec les signaux et bandes passantes mises en oeuvre. La courbe 500 représente un régime stationnaire de la bande passante. La période T de ce régime est mesurable et les pics de bande passante sont donc prévisibles. En deuxième ligne, la vidéo encodée est représentée symboliquement avec des traits plus épais pour les images codées en mode INTRA. On observe que, à l'instant 501, l'image encodée en mode INTRA par l'encodeur vidéo est envoyée sensiblement au moment du pic de bande passante. En revanche, à l'instant 502, la transmission d'une image INTRA coïncide, selon le modèle prédictif, avec le minimum de la bande passante de transmission. Pour une qualité vidéo constante, l'image INTRA transmise à partir de l'instant 502 risque alors d'arriver trop tard et provoquer un décalage temporel en arrivant après l'instant théorique d'utilisation de cette image, 506. Conformément à la présente invention, au lieu de coder en mode INTRA l'image transmise à l'instant 502, on code en mode INTRA une image transmise pendant le pic de bande passante. En figure 5, il s'agit de l'image précédente, ainsi codée en mode INTRA et transmise à partir de l'instant 503. La transmission de l'image codée en mode INTRA coïncide ainsi avec le pic de la bande passante. De ce fait, l'image a une probabilité plus forte d'arriver à temps et d'être affichée au bon moment 506. La figure 6 décrit, sous une forme hybride représentant des fonctions et des signaux mis en oeuvre par ces fonctions, un mode de réalisation particulier du procédé objet de la présente invention. Une vidéo 600 transmise à un encodeur de type MPEG 601 est encodée. Cette vidéo est encodée sous plusieurs formes 613, 614, 615 dans lesquelles la position de l'image codée en mode INTRA diffère. Nous rappelons sur la figure 7 une structure de groupe d'images 700, connu sous le nom de group of pictures , ou GOP . Un GOP est composée d'une image INTRA et d'images codées en INTER (images P ou images B dans la terminologie MPEG). En figure 7, le groupe d'images comporte sept images, notées 12 et P3 à P8, les images dont la référence commence par P étant codées en mode INTER et les images dont la référence commence par la lettre I étant codées en mode INTRA. L'image INTRA 12 est codée indépendamment des autres images alors que les images INTER P3 à P8 sont codées par référence avec une (images P ) ou plusieurs (images B )autres images du GOP. En figure 7, aucune image B n'est représentée. Dans la forme de codage 615, les images 1 et 2 d'un groupe d'images sont codées en INTER, l'image 3 en INTRA et les images 4 et 5 en INTER. Dans la forme de codage 614, les images 1 , 2 et 3 sont codées en mode INTER, l'image 4 en mode INTRA et l'image 5 à nouveau en mode INTER. Dans le forme de codage 613, l'image 1 est codées en mode INTER, l'image 2 en mode INTRA et les images 3 , 4 et 5 en mode INTER. Dans chacune des formes de codage, l'image suivante, d'indice 6 , est codée en mode INTER en prenant l'image 5 correspondante comme image de prédiction. Trois trains binaires 602 sont donc construits lorsqu'on arrive à la fin d'un GOP, puis paquétisés en 603 et insérés dans la mémoire tampon 604. Dans des variantes préférentielles, lorsque l'image à encoder se situe loin d'une image INTRA, un seul train binaire 602 est créé, paquétisé en 603 et inséré dans une mémoire tampon 604. Simultanément, cette mémoire tampon 604 est vidée à une vitesse dictée par le module de contrôle d'écoulement 605. Ce module 605 implémente, par exemple, un protocole TCP ou TFRC et peut prendre en compte le module 606 d'analyse du réseau à travers les paquets RTCP par exemple.
La mesure d'écoulement est effectuée en 607, avant envoi des images sur le réseau, par l'intermédiaire d'une carte réseau 608, et est analysée en 609. Si un régime stationnaire est détecté en 610 et 611, un algorithme 612 choisit, dans la mémoire tampon 604, les paquets correspondants au train binaire tel que la transmission de l'image INTRA du train binaire corresponde au pic de la bande passante, comme illustré à l'instant 503, en figure 5. Si plusieurs trains binaires sont disponibles, celui dont l'image INTRA coïncide le mieux avec le pic de bande passante du modèle de la bande passante est sélectionné. Coïncider avec le pic de la bande passante veut dire que la transmission de l'image INTRA se termine avant que la bande passante rechute et le plus près possible de cette chute. Pour se faire, le régime stationnaire est donc analysé en 611 et la bande passante moyenne est calculée pour savoir le temps d'écoulement de chacune des images des trains binaires 616, 617 et 618 correspondants aux formes de codage respectivement 613, 614 et 615. Par exemple, le train binaire qui coïncide le mieux est le train binaire 616. Il est alors extrait de la mémoire tampon 604, pour être transmis, alors que les trains binaires 617 et 618 sont supprimés de la mémoire tampon 604. La figure 8 décrit, schématiquement, un autre mode de réalisation particulier du procédé objet de la présente invention, dans lequel au lieu de générer plusieurs trains binaires au niveau de l'encodeur vidéo, un seul train binaire est généré. Une vidéo 800 est envoyée à un encodeur vidéo 801 de type MPEG, qui forme un train binaire 802, qui est ensuite mis en forme de paquets par la fonction 803, paquets stockés en mémoire tampon 804. Les fonctions 805 à 810 sont respectivement similaires aux fonctions 605 à 610. Ainsi, comme décrit en regard de la figure 6, la vitesse d'écoulement des paquets est analysée en 807 et 809, pour détecter si un régime stationnaire de l'algorithme de contrôle d'écoulement existe. Le paramètre principal de ce régime stationnaire est la période entre deux pics de la bande passante. Si un régime stationnaire est établi, cette période est stable, comme représenté en 811. Dans le cas où un régime stationnaire est détecté, la structure des GOPs de l'encodeur vidéo est analysée en 812. Si une fin de GOP, qui correspond à l'encodage d'une nouvelle image en mode INTRA, est bientôt prévue, les blocs fonctionnels 813 à 817 sont utilisés pour voir si la modification de la position de l'image INTRA pour la synchroniser avec le pic du régime stationnaire est possible. A cette fin, une variable i est initialisée à 0, par la fonction 813. En 814, on suppose que l'index de l'image courante est n, plusieurs valeurs pour le choix de l'image INTRA sont testées en incrémentant la valeur de la variable i, en 817. La valeur de i telle que l'image d'indice (n+i) corresponde au pic de la bande passante est sélectionnée en 816. A cet effet, les blocs fonctionnels 815 et 816 effectuent un test pour déterminer si l'instant de transmission de l'image (n+i) coïncidera avec un pic de la bande passante. De manière simple, on peut, en première approximation, se contenter d'évaluer si l'envoi de l'image n+i se trouve dans une phase en dessous ou au dessus de la bande passante moyenne. Dans le premier cas, on retarde la création de l'image codée en mode INTRA et, dans le deuxième cas, on accepte la création de l'image codée en mode INTRA. Dans le premier cas, la valeur courante de i est conservée et le choix de l'index de l'image pour un encodage en mode INTRA est (n+i). Dans le deuxième cas, une valeur incrémentée de i est testée. L'encodage MPEG, par l'encodeur 801, se fait alors en codant en mode INTRA l'image d'indice n+i. On note que le choix de la valeur i peut se faire en prenant en compte le niveau de remplissage de la mémoire tampon 804. En effet, si la mémoire tampon 804 est partiellement remplie et ne peut-être vidée rapidement, on prend en compte le temps d'écoulement des données conservée dans la mémoire tampon 804 et le délai temporel dû au remplissage de la mémoire tampon 804. Dans ce cas, l'évolution de la bande passante, représentée en 811, demande de modéliser plus fidèlement le régime stationnaire. Le module de contrôle d'écoulement 805 évalue la vitesse d'écoulement des données conservées dans la mémoire tampon en fonction des paramètres du modèle et de la vitesse de remplissage de la mémoire tampon 804 par les modules d'encodage MPEG 801 et de paquétisation 803. En fonction de ces paramètres, les modules de mesure et d'analyse d'écoulement 807 et 809 définissent les instants auxquels l'image INTRA (n+i) sera appréhendée par le module de contrôle d'écoulement 805. On note que le premier mode de réalisation, illustré en figure 6 présente l'avantage de choisir le type d'image INTRA juste avant sa transmission sur le réseau. De ce fait, le choix de l'image codée en INTRA est forcément optimal en termes de synchronisation de la transmission de l'image codée en INTRA avec le pic de la bande passante. En revanche, ce choix n'est pas toujours optimal en termes de qualité de compression, comme exposé en regard de la figure 9. Sur cette figure 9, lorsque la fin d'un GOP approche, dans le mode de réalisation décrit en regard de la figure 6, plusieurs trains binaires différents sont générés. Les images f2 à f4 sont encodées sous deux formes de trains binaires. Dans la première forme, l'image f2 est codée en INTRA 900 alors qu'il s'agit d'une image codée en INTER 901 dans la deuxième forme. Il en est de même pour l'image f3 qui est codée en INTRA et en INTER. De ce fait, l'image f4 diffère légèrement en termes de qualité dans les différents trains binaires. Lorsque l'image f5 902 est encodée, on utilise comme référence, pour le module d'estimation du mouvement, l'image compressée/décompressée précédente d'un des deux trains binaires, respectivement 903 ou 904. Si l'image du train binaire 901 est choisie comme image de référence, l'image f5 est optimisée en fonction du train binaire 901. Si le train binaire transmis est le train binaire 900, une légère erreur, connue sous le nom de drift peut apparaître à partir de l'image f5, lors du décodage et de la visualisation sur le client vidéo. A l'inverse, le mode de réalisation illustré en figure 8 est optimal en termes de compression vidéo puisqu'un seul train binaire est généré. Cependant, ce mode de réalisation peut ne pas être optimal en termes de synchronisation avec le pic de la bande passante. En effet, du fait que la mémoire tampon 804 peut ne pas être vide et que les vitesses d'écoulement et de remplissage doivent être modélisés en fonction du modèle 811 et de la taille estimée des images compressées par l'encodeur 801, une petite erreur peut apparaître quant au choix de l'image INTRA.
Un troisième mode de réalisation est destiné à pallier aux légers inconvénients des modes de réalisation illustrés en figures 6 et 8. Ce troisième mode de réalisation est décrit sur la figure 10, qui combine des aspects des deux premiers modes de réalisation. Comme nous l'avons précisé au préalable, dans le mode de réalisation décrit en figure 6, trois trains binaires sont générés, au moins sur certaines parties de la vidéo, c'est-à-dire au moins à proximité de la fin d'un GOP. Préférentiellement, ensuite, un seul train binaire est construit. Ce train binaire commun est la suite d'un seul des trois trains binaires générés à proximité de la fin du GOP (images f5 à f9 sur la figure 9). De ce fait, si le choix du train binaire 612 n'est pas celui servant de référence au train binaire commun, un léger drift apparaîtra à la visualisation de la séquence vidéo décodée. En théorie, la probabilité que le train binaire servant de référence au train binaire commun soit choisi est de 1/3. Le mode de réalisation illustré en figure 10 vise à augmenter cette probabilité en appliquant au mode de réalisation illustré en figure 6, le choix, pour référence du train binaire commun, du train binaire généré dont la probabilité d'être choisi est la plus élevée. Les fonctions 1003 à 1010 sont similaires aux fonctions 603 à 610 illustrées en figure 6. Une vidéo 1000 est transmise à un encodeur de type MPEG 1001 qui l'encode, c'est-à-dire la compresse, pour former un train binaire 1002 stocké dans une mémoire tampon 1004. Comme dans le mode de réalisation décrit en regard de la figure 6, lorsqu'une fin d'un GOP est détectée, trois trains binaires différents sont générés. Ces trois trains binaires 1016, 1017 et 1018 correspondent à trois positions différentes de l'image codée en INTRA. Lorsque l'on ré-encode la vidéo sous forme d'un seul train binaire, le train binaire commun 1019 fait référence à l'un des trois trains binaires. Dans ce cas, en 1015, le fonctionnement du deuxième mode de réalisation (voir figure 8) est simulé pour estimer, parmi ces trois trains binaires, lequel a la plus forte probabilité d'être celui dont l'image INTRA sera synchronisée avec un pic de bande passante modélisée. C'est ce train binaire qui sert de référence à l'encodage des prochaines images de la vidéo. Si par exemple, le train binaire 1018 est choisi comme étant celui pour lequel l'image INTRA coïncide le mieux au pic de bande passante, alors trois trains binaires sont générés mais lorsque la partie commune 1019 de la vidéo est compressée, elle prend le train binaire choisi 1018 comme train binaire de référence. L'algorithme est ensuite le même que celui décrit en regard de la figure 6 avec, en 1012, le choix du train binaire qui effectue la transmission de l'image INTRA la mieux synchronisée avec le pic de bande passante étant effectué. Du fait du test 1015, la probabilité de choisir le train binaire qui ne sert pas de référence au train binaire commun est plus faible. Comme représenté en figure 11 un dispositif mettant en oeuvre l'invention est par exemple un micro-ordinateur 120 connecté à différents périphériques, par exemple une caméra numérique 1107 (ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention. Le dispositif 120 pourrait aussi être une caméra numérique reliée a un réseau par exemple une caméra de vidéo surveillance. Le dispositif 120 comporte une interface de communication 1112 reliée à un réseau 1113 apte à transmettre des données numériques à traiter ou, inversement, à transmettre des données traitées par le dispositif. Le dispositif 120 comporte, de manière optionnelle, un moyen de stockage 1108 tel que par exemple un disque dur, un lecteur 1109 de disque 1110. Ce disque 1110 peut être une disquette, un CD-ROM, ou un DVD-ROM, par exemple. Le moyen de stockage 1108 peut contenir des données traitées selon l'invention ainsi que chaque programme participant à la mise en oeuvre du procédé objet de la présente invention, programme qui, une fois lu par le dispositif 120, est stocké par le moyen de stockage 1108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre le procédé objet de la présente invention, est stocké en mémoire morte 1102 (appelée ROM , acronyme de read only memory pour mémoire morte, en figure 11). En variante, le programme est reçu pour être stocké de façon identique à celle décrite précédemment, par l'intermédiaire du réseau de communication 1113.
Le dispositif 120 est, optionnellement, relié à un microphone 1111. Les données à traiter selon l'invention sont, dans ce cas, du signal audio ou comportent du signal audio. Ce même dispositif 120 possède, de manière optionnelle, un écran 1104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 1114 ou de tout autre moyen (souris par exemple). L'unité centrale 1100 (appelée CPU , acronyme de central processing unit pour unité de traitement centrale, en figure 11) exécute les instructions relatives à la mise en oeuvre du procédé objet de la présente invention, instructions stockées dans la mémoire morte 1102 ou par le moyen de stockage 1108. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 1102, sont transférés dans la mémoire vive RAM 1103 qui contient, alors, le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de codage, de transmission et respectivement de décodage. Le bus de communication 1101 permet la communication entre les différents éléments inclus dans le micro-ordinateur 120 ou reliés à lui. La représentation du bus 1101 n'est pas limitative et notamment l'unité centrale 1100 est susceptible de communiquer des instructions à tout élément du micro- ordinateur 120, directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 120.

Claims (14)

REVENDICATIONS
1 - Procédé de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, caractérisé en ce qu'il comporte : - une étape (605 à 607, 609, 610, 805 à 807, 809, 810, 1005 à 1007, 1009, 1010) de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est supérieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et - une étape (601 à 605, 801 à 805, 812 à 816, 1001 à 1005) d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus grande quantité d'information que la moyenne des images.
2 - Procédé de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, caractérisé en ce qu'il comporte : - une étape (605 à 607, 609, 610, 805 à 807, 809, 810, 1005 à 1007, 1009, 1010) de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est inférieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et - une étape (601 à 605, 801 à 805, 812 à 816, 1001 à 1005) d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus petite quantité d'information que la moyenne des images.
3 ù Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce que, au cours de l'étape (605 à 607, 609, 610, 805 à 807, 809, 810, 1005 à1007, 1009, 1010) de détermination, on détermine une période de variation cyclique de la quantité d'information susceptible d'être envoyée sur le réseau.
4 ù Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que, au cours de l'étape (605 à 607, 609, 610, 805 à 807, 809, 810, 1005 à 1007, 1009, 1010) de détermination, on détermine des extrémums de quantité d'information susceptible d'être envoyée sur le réseau.
5 ù Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, au cours de l'étape (605 à 607, 609, 610, 805 à 807, 809, 810, 1005 à 1007, 1009, 1010) de détermination, on détermine une quantité d'information conservée dans une mémoire et restant à transmettre sur le réseau.
6 ù Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que, au cours de l'étape (601 à 605, 1001 à 1005) d'envoi d'images, on sélectionne une image à coder avec un taux de compression plus faible que le taux de compression des images qui l'entourent, la transmission des images étant effectuée dans leur ordre chronologique, de manière à ce que la transmission de l'image codée, sur le réseau, corresponde à un instant pour lequel la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est la plus grande.
7 ù Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que, au cours de l'étape (801 à 805, 812 à 816) d'envoi, on effectue une étape de codage d'au moins une image selon une pluralité de modes de codage représentant la même image par des quantités d'information différentes.
8 ù Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que, au cours de l'étape (801 à 805, 812 à 816) d'envoi, on effectue une étape de codage de la même succession d'une pluralité d'images en une pluralité de trains binaires, chaque train binaire représentant cette succession d'images avec une image spécifique qui est représentée selon un mode de codage représentant un taux de compression plus faible que les autres images de ladite succession d'images.
9 ù Procédé selon la revendication 8, caractérisé en ce que, au cours de l'étape (801 à 805, 812 à 816) d'envoi, on transmet le train binaire pour lequel l'imagespécifique correspond à un instant pour lequel la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est la plus grande.
10 û Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que, au cours de l'étape (601 à 605, 801 à 805, 812 à 816, 1001 à 1005) d'envoi, on détermine, pour chaque image d'une pluralité d'images, la position, dans le temps, de sa transmission sur le réseau au cas où cette seule image serait codée avec un mode de codage de plus faible taux de compression que les autres images de ladite pluralité d'images et on sélectionne l'image pour laquelle ladite position correspond à un instant pour lequel la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est la plus grande, afin que l'image sélectionnée soit codée avec ledit mode de codage de plus faible taux de compression.
11 û Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que, au cours de l'étape (601 à 605, 801 à 805, 812 à 816, 1001 à 1005) d'envoi, on estime celle des images de la pluralité d'image qui doit être codée avec un mode de codage de plus faible taux de compression que les autres images de ladite pluralité d'images et on constitue une pluralité de trains binaires en tenant compte de cette image.
12 -Dispositif de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, caractérisé en ce qu'il comporte : - un moyen (1100 à 1103) de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est supérieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et - un moyen (1100 à 1103) d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus grande quantité d'information que la moyenne des images.
13 û Dispositif de transmission d'images sur un réseau dans lequel la quantité d'information susceptible d'être envoyée par unité de temps varie de façon sensiblement cyclique, caractérisé en ce qu'il comporte :-un moyen (1100 à 1103) de détermination d'instants pour lesquels la quantité d'information susceptible d'être envoyée par unité de temps sur le réseau est inférieure à sa moyenne, en fonction de la variation passée sensiblement cyclique de ladite quantité d'information et - un moyen (1100 à 1103) d'envoi sur ledit réseau, aux dits instants, d'images correspondant à une plus petite quantité d'information que la moyenne des images.
14 - Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de transmission d'images selon l'une quelconque des revendications 1 à 11. - Support (1110) d'informations lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du 15 procédé de transmission d'images selon l'une quelconque des revendications 1 à 11.
FR0755941A 2007-06-21 2007-06-21 Procede et dispositif de transmission d'images. Expired - Fee Related FR2917919B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0755941A FR2917919B1 (fr) 2007-06-21 2007-06-21 Procede et dispositif de transmission d'images.
US12/137,975 US8126049B2 (en) 2007-06-21 2008-06-12 Method and a device for transmitting images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0755941A FR2917919B1 (fr) 2007-06-21 2007-06-21 Procede et dispositif de transmission d'images.

Publications (2)

Publication Number Publication Date
FR2917919A1 true FR2917919A1 (fr) 2008-12-26
FR2917919B1 FR2917919B1 (fr) 2010-06-11

Family

ID=38988064

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0755941A Expired - Fee Related FR2917919B1 (fr) 2007-06-21 2007-06-21 Procede et dispositif de transmission d'images.

Country Status (2)

Country Link
US (1) US8126049B2 (fr)
FR (1) FR2917919B1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2923118B1 (fr) * 2007-10-30 2016-04-01 Canon Kk Procede, dispositif et programme d'ordinateur pour la gestion de la quantite de donnees emises par un dispositif d'emission
US9568985B2 (en) 2012-11-23 2017-02-14 Mediatek Inc. Data processing apparatus with adaptive compression algorithm selection based on visibility of compression artifacts for data communication over camera interface and related data processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999000984A1 (fr) * 1997-06-26 1999-01-07 Citrix Systems, Inc. Systeme d'acheminement adaptatif de donnes video/audio sur un reseau
FR2811098A1 (fr) * 2000-07-03 2002-01-04 Canon Res Ct France Sa Procede et dispositif de transfert d'un document electronique dans un reseau de communication
US20040190515A1 (en) * 2003-03-24 2004-09-30 International Business Machines Corporation System and method for providing multiplexing and remultiplexing of MPEG-2 streams
WO2006047324A1 (fr) * 2004-10-22 2006-05-04 Hewlett-Packard Development Company, L.P. Procedes et systemes utilisant des informations relatives a une trame de donnees video pour decider de l'envoi de la trame

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
US7260826B2 (en) * 2000-05-31 2007-08-21 Microsoft Corporation Resource allocation in multi-stream IP network for optimized quality of service
US6829442B2 (en) * 2000-12-19 2004-12-07 Lite Cycles, Inc. High speed optical receiver
FR2854753B1 (fr) 2003-05-07 2006-03-17 Canon Kk Procede de distribution de documents numeriques multi-resolutions
FR2875030B1 (fr) 2004-09-08 2006-11-24 Canon Kk Procede de visualisation d'une sequence de partage de donnees et dispositif de partage correspondant
US7961618B1 (en) * 2006-06-30 2011-06-14 Nextel Communications Inc. System, method and computer-readable medium for on-demand dynamic bandwidth allocation in a network of antennas for multiple base transceiver stations
US8310920B2 (en) * 2007-03-02 2012-11-13 Saratoga Data Systems, Inc. Method and system for accelerating transmission of data between network devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999000984A1 (fr) * 1997-06-26 1999-01-07 Citrix Systems, Inc. Systeme d'acheminement adaptatif de donnes video/audio sur un reseau
FR2811098A1 (fr) * 2000-07-03 2002-01-04 Canon Res Ct France Sa Procede et dispositif de transfert d'un document electronique dans un reseau de communication
US20040190515A1 (en) * 2003-03-24 2004-09-30 International Business Machines Corporation System and method for providing multiplexing and remultiplexing of MPEG-2 streams
WO2006047324A1 (fr) * 2004-10-22 2006-05-04 Hewlett-Packard Development Company, L.P. Procedes et systemes utilisant des informations relatives a une trame de donnees video pour decider de l'envoi de la trame

Also Published As

Publication number Publication date
US20080317117A1 (en) 2008-12-25
US8126049B2 (en) 2012-02-28
FR2917919B1 (fr) 2010-06-11

Similar Documents

Publication Publication Date Title
FR2916600A1 (fr) Procede et dispositif de transmission de donnees
FR2922391A1 (fr) Procede et dispositif de transmission de donnees
FR2908585A1 (fr) Procede et dispositif de transmission de donnees video.
EP3503618B1 (fr) Procédé de régulation de débit
FR2975555A1 (fr) Methode d'adaptation dynamique du debit de reception et recepteur associe
FR2948249A1 (fr) Procedes et dispositifs d'estimation d'un niveau d'utilisation d'un reseau de communication et d'adaptation d'un niveau d'abonnements a des groupes multipoints
FR2932938A1 (fr) Procede et dispositif de transmission de donnees
FR2883692A1 (fr) Procede d'envoi de commande a un serveur de flux de donnees numeriques et appareil implementant le procede
FR2849733A1 (fr) Dispositif et procede d'ajustement de debit d'un flux de contenus et produits associes
EP3167617B1 (fr) Procédé et dispositif d'enregistrement à distance de programmes vidéo
FR2946820A1 (fr) Procede de transmission de donnees et dispositif associe.
FR2944938A1 (fr) Procede et dispositif de correction d'erreurs.
FR2928807A1 (fr) Procede de transmission sur un reseau de communication d'un signal video pre-encode
FR2917919A1 (fr) Procede et dispositif de transmission d'images.
FR2834178A1 (fr) Procede de decodage de signaux video codes
EP2559218B1 (fr) Reception d'un contenu numerique en mode truque
FR2987213A1 (fr) Systeme video pour representer des donnees d'image et son procede d'application
EP2680603A1 (fr) Technique de traitement pour proposer un contenu temps réel à des entités clientes
Stensen Evaluating QoS and QoE Dimensions in Adaptive Video Streaming
JP5643242B2 (ja) メディアプレイヤパラメタ推定装置及び方法及びプログラム
FR2941110A1 (fr) Procede et dispositif de prediction d'un etat de pertes d'un reseau de communication
Ahsan et al. DASHing towards hollywood
FR3075543B1 (fr) Procede de telechargement de chaine pour le zapping d'une chaine numerique en fonction du comportement utilisateur
WO2020234030A1 (fr) Restitution d'un contenu en arrière-plan ou sous forme d'incrustation dans le cadre d'un téléchargement progressif adaptatif de type has
EP2302926B1 (fr) Technique de supervision d'une qualité d'une insertion d'un deuxième contenu lors d'une diffusion d'un premier contenu

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140228