FR2930387A1 - Procede de traitement d'un flux de donnees codes - Google Patents

Procede de traitement d'un flux de donnees codes Download PDF

Info

Publication number
FR2930387A1
FR2930387A1 FR0852614A FR0852614A FR2930387A1 FR 2930387 A1 FR2930387 A1 FR 2930387A1 FR 0852614 A FR0852614 A FR 0852614A FR 0852614 A FR0852614 A FR 0852614A FR 2930387 A1 FR2930387 A1 FR 2930387A1
Authority
FR
France
Prior art keywords
image
packets
current image
complexity
packet
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
FR0852614A
Other languages
English (en)
Other versions
FR2930387B1 (fr
Inventor
Floch Herve Le
Frederic Maze
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 FR0852614A priority Critical patent/FR2930387B1/fr
Priority to US12/425,196 priority patent/US8311128B2/en
Publication of FR2930387A1 publication Critical patent/FR2930387A1/fr
Application granted granted Critical
Publication of FR2930387B1 publication Critical patent/FR2930387B1/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/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • 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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • 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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

Un procédé de traitement d'un flux de données codées d'une image courante sur un dispositif de réception, le flux de données étant organisé en paquets (1), comporte une étape de détection d'un paquet perdu.Il comporte en outre :- une étape d'estimation (S4, S5, S7), avant le décodage de l'image courante, d'un critère d'importance du paquet perdu, le critère d'importance étant déterminé à partir d'au moins une image précédente décodée; et- une étape de demande de retransmission (S10) du paquet perdu en fonction dudit critère d'importance estimé.Utilisation notamment pour améliorer la transmission d'une vidéo.

Description

La présente invention concerne un procédé et un dispositif de traitement d'un flux de données. Plus particulièrement, elle concerne le traitement d'un flux de données codées d'une image sur un dispositif de réception. Lorsqu'un flux de données est transmis entre un dispositif d'émission et un ou plusieurs dispositifs de réception, à travers un réseau, des données du flux de données sont susceptibles d'être perdues. Dans le cas d'un réseau de communication à commutation de paquets, le flux de données est découpé en paquets réseau. Lors de la transmission du flux de données ainsi découpé, des paquets réseau peuvent se perdre. Le dispositif de réception est apte à détecter les paquets réseau perdus lors de la transmission du flux de données. Une fois que le dispositif de réception connaît les paquets réseau perdus, il demande au dispositif d'émission la retransmission des paquets réseau perdus. Si le nombre de ces paquets réseau perdus à retransmettre est important, le réseau peut être encombré. Une solution permettant d'éviter l'encombrement ("congestion" en anglais) du réseau, consiste à demander la retransmission de certains paquets réseau perdus au lieu de demander la retransmission de tous les paquets réseau. Les paquets réseau perdus à demander sont déterminés en fonction de l'importance du paquet réseau. L'importance d'un paquet réseau est évaluée en fonction de l'impact visuel d'un paquet réseau perdu sur une image. :30 L'impact visuel est fonction de la quantité de données perdues, c'est-à-dire que si un premier paquet perdu contient une quantité supérieure de données qu'un second paquet perdu, l'impact visuel du premier paquet perdu sur l'image est supérieur à l'impact visuel du second paquet perdu. Ainsi, le premier paquet perdu est considéré plus important que le second paquet perdu. Ainsi, un paquet perdu contenant une quantité de données élevée est considéré important car sa perte risque de provoquer un impact visuel important sur l'image à décoder, et ainsi de dégrader la qualité de l'image. Par exemple, la figure 1 représente les paquets réseau 1 correspondant à une image vidéo 2. Chaque paquet réseau 10, 11 comporte les données nécessaires pour le décodage d'une partie de l'image 2. Lors du codage de l'image vidéo 2, l'image 2 a été découpée en plusieurs parties 20, 21 et chaque partie a été compressée selon un algorithme de compression. Ainsi, une première partie d'image 20 (nommé par exemple "slice" en langage MPEG) est compressée et forme un premier paquet réseau 10, et une seconde partie d'image 21 est compressée et forme un second paquet réseau 11. Les tailles des paquets réseau 10, 11 sont souvent quasi similaires.
Néanmoins, la surface du premier paquet réseau 10 sur l'image présente une valeur supérieure à la surface du second paquet réseau 11. Par conséquent, si les premier et second paquets 10, 11 sont perdus, l'impact visuel du premier paquet réseau 10 sur l'image 20 est supérieur à l'impact visuel du second paquet réseau 11. C'est-à-dire que le 2.0 premier paquet réseau 10 est considéré plus important que le second paquet réseau 11. Le dispositif de réception connaît l'importance de chaque paquet correspondant à une image, seulement une fois que l'image a été décodée. Ainsi, une fois que l'importance des paquets est connue, le dispositif 25 de réception peut demander la retransmission des paquets considérés importants pour avoir une qualité d'image acceptable. Néanmoins, le fait de décoder l'image avant de demander la retransmission des paquets considérés importants, provoque un délai non négligeable entre la réception des paquets et la demande de retransmission :30 des paquets perdus, et peut avoir des conséquences très importantes sur certaines applications vidéo.
La présente invention a pour but de résoudre les limitations précitées et de proposer un procédé de traitement d'un flux de données codées d'une image courante et un dispositif associé à ce procédé, permettant de déterminer l'importance d'un paquet à sa réception sur un dispositif de réception, afin de prendre une décision sur la demande de retransmission, avec un délai faible entre la réception des paquets et cette prise de décision. A cet effet, la présente invention vise selon un premier aspect, un procédé de traitement d'un flux de données codées d'une image courante sur un dispositif de réception, le flux de données étant organisé en paquets, comportant une étape de détection d'un paquet perdu. Selon l'invention, le procédé de traitement comporte : - une étape d'estimation, avant décodage de ladite image courante, d'un critère d'importance dudit paquet perdu, ledit critère d'importance étant déterminé à partir d'au moins une image précédente décodée; et - une étape de demande de retransmission du paquet perdu en fonction du critère d'importance estimé. Ainsi, en déterminant un critère d'importance d'un paquet à partir des images précédentes, l'impact visuel d'un paquet perdu sur une image courante peut être estimé sans attendre le décodage de l'image.
Par conséquent, la décision de demander la retransmission du paquet perdu est prise sans introduire de délai important entre la détection d'un paquet perdu et la demande de retransmission du paquet. Par ailleurs, le dispositif de réception peut recevoir des paquets réseau depuis un dispositif d'émission quelconque, sans être exigeant sur les caractéristiques de celui-ci, le dispositif de réception étant apte à calculer l'importance des paquets réseau perdus et à déterminer en fonction de cette importance, les paquets réseau perdus pour lesquels il doit demander la retransmission. Du fait de ne pas demander la retransmission des paquets réseau perdus qui n'ont pas beaucoup d'importance pour la qualité de l'image, la bande passante du réseau est utilisée de façon efficace et le réseau n'est pas encombré.
Selon un mode de réalisation, l'étape d'estimation du critère d'importance comporte une étape d'estimation de la surface d'une partie d'image courante correspondant aux données contenues dans le paquet perdu. Ainsi, le dispositif de réception estime la surface de la partie de l'image courante qui aurait dû être occupée par les données contenues dans le paquet perdu après décodage. Par conséquent, cette partie d'image courante ne peut pas être décodée. En pratique, à l'étape de demande de retransmission, le paquet perdu est demandé lorsque la surface de la partie d'image courante estimée est supérieure à une valeur de seuil de discrimination. Ainsi, lorsque le paquet perdu contient des données correspondant au décodage d'une partie d'image de surface de valeur supérieure à une valeur de seuil de discrimination, il est considéré important pour la qualité de l'image, c'est-à-dire que l'impact visuel du paquet perdu sur l'image est élevé. Par conséquent, le dispositif de réception demande la retransmission du paquet perdu. Au contraire, si le paquet perdu contient des données correspondant au décodage d'une surface d'image de valeur inférieure à la valeur de seuil de discrimination, le paquet perdu est considéré peu important pour la qualité de l'image, c'est-à-dire que l'impact visuel du paquet perdu sur l'image n'est pas élevé. Par conséquent, le dispositif de réception ne demande pas la retransmission du paquet perdu. Ainsi, le réseau n'est pas encombré inutilement avec des paquets peu importants.
Selon une mise en oeuvre pratique de l'invention, la surface d'image est estimée à partir des informations des paquets de l'image courante et des informations d'une image précédente décodée. Par conséquent, la surface d'image occupée par les données contenues dans chaque paquet perdu est estimée à partir d'une image décodée précédemmen°, avant le décodage de l'image courante. En pratique, l'image est divisée en blocs, et l'étape d'estimation de la surface comporte les sous-étapes suivantes: - estimation du nombre de données contenues dans les paquets perdus détectés ; - estimation d'une complexité des blocs de ladite image courante ; et - estimation du nombre de blocs d'image courante correspondant à chaque paquet à partir du nombre estimé de données contenues dans les paquets perdus, du nombre des données contenues dans des paquets reçus, et de la complexité estimée des blocs de l'image courante. Ainsi, à partir des tailles des paquets (taille estimée dans le cas d'un pacluet perdu et taille connue par le dispositif de réception dans le cas d'un pacluet reçu) et du nombre de données contenues dans chaque bloc d'image, la surface occupée par chaque paquet sur l'image à décoder ou image courante (ou nombre de blocs correspondant à chaque paquet) est estimée. Par conséquent, à partir de ces informations, le dispositif de réception est apte à générer une représentation de la surface de la partie d'image correspondant à chaque paquet (reçu et perdu) sur l'image à décoder. A partir des étapes ci-dessus, le dispositif de réception connaît la surface d'un paquet en nombre de blocs. Ainsi, plus la complexité des blocs est élevée, moins le nombre de blocs correspondant à un même paquet est élevé.
Au contraire, plus la complexité des blocs est faible, plus le nombre de blocs correspondant à un même paquet est élevé. Selon une caractéristique préférée, l'étape d'estimation de la complexité des blocs de l'image courante comporte les étapes suivantes : - stockage des vecteurs de mouvement de chaque bloc de l'image précédente ; - mesure d'une complexité des blocs de l'image précédente ; et - prédiction de la complexité de chaque bloc de l'image courante à partir des vecteurs de mouvement stockés et de la complexité mesurée de chaque bloc de l'image précédente.
Par conséquent, la complexité des blocs de l'image courante est prédite à parti- de la complexité des blocs de l'image précédente et de ses vecteurs de mouvement sans nécessité le décodage de l'image courante.
Selon un autre mode de réalisation, l'étape d'estimation du critère d'importance comporte une étape d'estimation d'un type d'image courante correspondant aux données contenues dans ledit paquet perdu. Ainsi, le dispositif de réception estime le type d'image de laquelle est issu le paquet perdu. La perte de données due à la perte d'un paquet perdu est en effet différente en fonction du type de cette image. Selon la norme MPEG, les images peuvent être INTRA, INTER de type P et INTER de type B. Les images INTRA (ou de type I) sont des images dans lesquelles le codage est réalisé sans référence, c'est-à-dire qu'il ne dépend pas d'autres images. Les images INTER de type P (ou image de type P) sont codées en fonction d'une image de référence en tenant compte du mouvement entre l'image de référence et l'image à coder. Les images INTER de type B (ou image de type B) sont codées en fonction de deux images de référence.
Les images de référence utilisées pour le codage des images INTER (de type P et de type B) sont en général des images de type I ou P. Les images de type B sont rarement employées comme images de référence. Ainsi, les images de type I sont les images considérées les plus importantes. Les images de type P ont une importance inférieure aux images de type I, et les images de type B sont celles considérées les moins importantes. Selon une caractéristique préférée, l'étape d'estimation d'un type d'image courante comporte une étape de mesure du nombre de paquets correspondant à limage courante.
Le nombre de paquets d'une même image est représentatif du type d'image. Selon une autre caractéristique préférée, à l'étape de demande de retransmission, le paquet perdu est demandé lorsque le nombre de paquets mesuré est supérieur à une valeur de seuil de discrimination.
Lorsque le nombre de paquets d'une image est supérieur à la valeur de seuil de discrimination, le dispositif de réception considère que le paquet perdu est important et demande sa retransmission.
La présente invention concerne selon un deuxième aspect un dispositif de traitement d'un flux de données codées d'une image courante sur un dispositif de réception, le flux de données étant organisé en paquets, le dispositif de traitement comportant des moyens de détection d'un paquet perdu.
Selon l'invention, le dispositif comporte : - des moyens d'estimation, avant le décodage de ladite image courante, d'un critère d'importance dudit paquet perdu, ledit critère d'importance étant déterminé à partir d'au moins une image précédente décodée; et - des moyens de demande de retransmission dudit paquet perdu en fonction du critère d'importance estimé. La présente invention concerne selon un troisième aspect un système de télécommunications comprenant plusieurs dispositifs terminaux reliés à travers un réseau de télécommunications, comprenant au moins un dispositif terminal équipé d'un dispositif tel que succinctement décrit ci-dessus. La présente invention concerne selon un quatrième aspect un moyen de stockage d'informations pouvant être lues par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, adapté à mettre en oeuvre un procédé tel que succinctement décrit ci-dessus, lorsque les informations stockées sont lues par l'ordinateur ou le microprocesseur. Dans un mode particulier de réalisation, ce moyen de stockage est partiellement ou totalement amovible. La présente invention concerne selon un cinquième aspect un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, comportant des séquences d'instructions pour mettre en oeuvre un procédé tel que succinctement décrit ci-dessus, lorsque ce produit programme d'ordinateur est chargé dans et exécuté par l'appareil programmable. :30 Les avantages du dispositif de traitement de données, ainsi que les caractéristiques particulières et avantages du système de télécommunications, du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de traitement de données, ils ne sont pas répétés ici. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après.
Aux dessins annexés, donnés à titre d'exemples non limitatifs : - la figure 1 représente schématiquement une image et des paquets réseau ; - la figure 2 représente schématiquement le contexte de la présente invention ; - la figure 3 représente schématiquement un mode particulier de réalisation d'un appareil susceptible de mettre en oeuvre la présente invention ; - la figure 4 est un organigramme représentant un premier mode de réalisation du procédé conforme à l'invention ; - la figure 5 est un organigramme représentant une partie du mode de réalisation de la figure 4 ; - la figure 6 est un organigramme représentant des étapes de la figure 5 ; - la figure 7 est un organigramme représentant des étapes de la figure 5 ; - la figure 8 est un organigramme représentant un second mode de réalisation du procédé conforme à l'invention ; et - la figure 9 est un schéma représentant le nombre de paquets d'une image en fonction du type d'image. On décrit tout d'abord, en référence à la figure 2, le contexte dans lequel se situe l'invention. Le contexte général de l'invention est la transmission d'un flux de données codées à travers un réseau de communication entre un dispositif d'émission ou serveur et au moins un dispositif de réception ou client. Le flux de données 1 a est par exemple un flux de données vidéo. Ce flux de données vidéo 1 a est transmis par un serveur 3 et reçu par un client 4 où la vidéo est affichée.
Des données la, (ici des données vidéo) à transmettre à travers le réseau de communication sont codées par un codeur 30 afin de former un flux de données codées 1 b. Dans le mode particulier de réalisation décrit ici, ce flux de données codées 1 b est un train binaire codé. Par exemple, la norme utilisée pour le codage est une norme MPEG, par exemple MPEG-1, MPEG-2 ou MPEG-4. Ici, ce train binaire codé 1 b représente des données vidéo. Bien entendu, le train binaire codé pourrait représenter d'autres types de données, par exemple des données audio. Des paquets réseau sont formés par un paquétiseur ("packetizer" en anglais) 31 à partir du train binaire codé lb. Ces paquets réseau sont stockés dans une mémoire tampon 32. Dans le mode de réalisation décrit, le réseau de communication est 15 un réseau de communication à commutation de paquets. Le protocole utilisé pour le transport des données dans ce type de réseau est par exemple le protocole RTP (de l'anglais "Real-time Transport Protocoî'). Ainsi, les paquets réseau sont de type RTP. Dans chaque paquet réseau, on distingue notamment deux parties. 20 Une première partie correspond à des données représentant le début d'un paquet ou un en-tête réseau, par exemple un en-tête RTP. Une seconde partie correspond aux données utiles (ou charge utile) du paquet réseau, comportant les données du flux de données codées. L'en-tête réseau comporte des informations concernant par exemple le numéro du paquet réseau indiquant 25 l'indice du paquet réseau dans l'ordre d'émission ou numéro de séquence du paquet, un marqueur indiquant qu'un paquet est le dernier composant d'une image, etc. Des moyens d'analyse 33 du réseau analysent l'état du réseau en continue afin d'adapter l'écoulement des paquets vers le réseau de manière 30 optimale et ainsi utiliser la bande passante du réseau efficacement et sans encombrer le réseau.
Un module ordonnanceur 34 ou module de contrôle de l'écoulement adapte la vitesse d'écoulement des paquets en fonction du nombre de paquets perdus et du délai estimé pour la transmission entre le serveur 3 et le client 4. En effet, l'écoulement des paquets est réalisé à une vitesse rapide lorsque le nombre de paquets perdus est faible ou nul, et lorsque le délai de transmission est court. Si le nombre de paquets perdus est élevé, la vitesse d'écoulement est diminuée. Les moyens d'analyse du réseau 33 analysent des paquets réseau retournés par le client ou paquets RTCP (de l'anglais "Real-time Transport Coritrol Protocol'. A partir de cette analyse, la vitesse d'écoulement des paquets est déduite, et par conséquent la bande passante B(t) est estimée. Cette information sur la vitesse d'écoulement des paquets ou bande passante B(t) est transmisse au module de contrôle de l'écoulement 34.
Les paquets RTCP proviennent des clients 4 et contiennent des informations relatives aux pertes de paquets entre le serveur et le client. Par exemple, un paquet RTCP peut contenir un ou plusieurs numéros de séquence de paquets perdus. Ainsi, en fonction de l'analyse du réseau, le contrôle de l'encombrement du réseau est assuré en adaptant la vitesse d'écoulement des paquets 1. Une carte réseau 36 est chargée de transmettre les paquets réseau sur le réseau de communication. Les paquets réseau sont adaptés au préalable au format utilisé pour le réseau. Par exemple, dans le cas d'un réseau IP (de l'anglais "Internet Protocol"), les paquets sont formés sous forme de paquet UDP (de l'anglais "User Datagram Protocol'), ainsi que sous forme de paquets IP. En fonction de la vitesse d'écoulement des paquets et de l'état de remplissage de la mémoire tampon 32, la vitesse de codage est contrôlée par des moyens de contrôle de débit 37 afin de ralentir ou accélérer la formation du train binaire lb et des paquets réseau. Ainsi, lorsque la mémoire tampon 32 n'a plus d'espace libre, le codeur 30 attend que des paquets stockés dans la mérnoire tampon soient acheminés vers la carte réseau 36.
Des moyens de mesure de l'écoulement 35 sont adaptés à mesurer la vitesse d'écoulement des paquets réseau vers la carte réseau 36. Cette mesure B'(t) est transmise aux moyens de contrôle de débit 37. Ainsi, si la bande passante disponible est réduite soudainement, la carte réseau transmet les paquets au réseau plus lentement. Cette nouvelle valeur de la vitesse d'écoulement ou de bande passante B'(t) est mesurée par les moyens de mesure d'écoulement 35 et transmise aux moyens de contrôle de débit 37. Les moyens de contrôle de débit 37 vont ainsi agir sur le codeur 30 afin de ralentir ou accélérer la formation du train binaire 1 b. On notera que lorsque la valeur de la bande passante disponible est constante, la valeur de bande passante B(t) estimée par les moyens d'analyse de réseau 33 est similaire à la bande passante B'(t) mesurée par les moyens de mesure de l'écoulement 35.
Un client 4 récupère les paquets réseau du réseau de communication et: les stocke dans une première mémoire tampon 40. Le client 4 analyse le numéro de séquence de chaque paquet réseau. Le numéro de séquence d'un paquet se trouve, comme indiqué ci-dessus, dans l'en-tête réseau du paquet.
Ainsi, à l'aide des numéros de séquence, le client 4 identifie les paquets réseau perdus. Les paquets sont "dé-paquétisés" par un dé-paquétiseur 41 ("depacketizer" en anglais). Le fait de "dé-paquétiser" un paquet consiste à enlever l'en-tête de paquet et assembler les données utiles ou charge utile des paquets réseau pour former à nouveau un train binaire, lequel est stocké dans une deuxième mémoire tampon 42. Le train binaire stocké est ensuite décodé par un décodeur 43 et des images sont obtenues. Ces images sont stockées dans une troisième mémoire tampon 44.
Si des paquets réseau sont perdus, un module correcteur d'erreurs 45 met en oeuvre des méthodes d'interpolation afin de récupérer les données manquantes dans une image.
Ces méthodes de correction d'images peuvent être par exemple de type INTRA, lorsque l'interpolation mise en oeuvre est spatiale; et de type INTER, lorsque l'interpolation mise en oeuvre est temporelle. Une fois les méthodes de correction d'erreurs appliquées à l'image, celle-ci est affichée dans des moyens d'affichage 46. D'autre part, un module de détection de pertes 47 analyse les paquets stockés dans la première mémoire tampon 40 afin de détecter s'il y a eu des paquets perdus lors de la transmission à travers le réseau. Comme décrit ci-dessus, la perte d'un paquet réseau est détectée à travers l'analyse des numéros de séquence des paquets. Lorsque des paquets réseau perdus sont détectés, des moyens de demande de retransmission 48 émettent une demande de retransmission de ces paquets perdus. L'émission de cette demande de retransmission consiste à, par exemple, émettre des paquets RTCP 49.
La figure 3 illustre un dispositif mettant en oeuvre un procédé de traitement d'un flux de données codées conforme à l'invention, dans un mode particulier de réalisation. Ce dispositif est par exemple un lecteur multimédia 310. Le dispositif 310 comporte une interface de communication 312 reliée à un réseau 313 apte à recevoir des données numériques à traiter par le dispositif dans le cadre de la mise en oeuvre de l'invention. Le dispositif 310 comporte également un moyen de stockage 308 tel que par exemple un disque dur. Il comporte aussi un lecteur 309 de disque 305. Ce disque 305 peut être une disquette. un CD-ROM, ou un DVD-ROM, une carte mémoire ou un périphérique USES, par exemple. Le disque 305 comme le disque 308 peut contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par le dispositif 310, sera stocké dans le disque dur 308. Selon une variante, le ou les programmes permettant au dispositif de mettre en oeuvre l'invention, pourront être stocké en mémoire morte 302 (appelée ROM ou "Read Only Memory"). En seconde variante, le ou les programmes pourront être reçus pour être stockés de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 313. Ce même dispositif possède un écran 304 permettant de visualiser les données traitées ou de servir d'interface avec l'utilisateur qui peut ainsi sélectionner d'autres données à traiter, à l'aide du clavier 214 ou de tout autre moyen (souris molette ou stylet par exemple). L'unité centrale 300 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 302 ou dans les autres éléments de stockage. Par exemple, l'unité centrale réalise les étapes illustrées en figure 4 et décrites plus loin. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 302, sont transférés dans la mémoire vive RAM ("Random Access Memory') 303 qui contiendra 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 totalement ou partiellement amovible, mémorise un programme mettant en oeuvre le procédé de traitement de données selon l'invention.
L'unité centrale 300 comporte des moyens d'un dispositif de traitement d'un flux de données codées adapté à mettre en oeuvre le procédé de traitement de données conforme à l'invention et qui sera décrit ci-dessous. En particulier, l'unité centrale 300 comporte des moyens d'estimation d'un critère d'importance, des moyens de demande de retransmission, des moyens d'estimation d'une surface d'image, des moyens d'estimation du nombre de données contenues dans un paquet perdu, des moyens d'estimation, de mesure, et de prédiction d'une complexité, des moyens d'estimation du nombre de blocs d'image correspondant à un paquet, des moyens de mesure de la variance, des moyens d'estimation du type d'image et des moyens de mesure du nombre de paquets correspondant à une image. Un dispositif comportant ces moyens est adapté à mettre en oeuvre le procédé de traitement de données codées décrit plus loin.
Le bus de communication 301 permet la communication entre les différents éléments inclus dans le dispositif 310 ou reliés à lui. La représentation du bus 301 n'est pas limitative et notamment l'unité centrale 300 est susceptible de communiquer des instructions à tout élément du dispositif 310 directement ou par l'intermédiaire d'un autre élément du dispositif 310. Le dispositif 310 comporte en outre un codec 306, par exemple sous la forme d'une puce standard, utilisée par l'unité centrale 300 de manière classique à travers le bus 301. On va décrire en référence à la figure 4 un premier mode de réalisation de l'invention. Des paquets réseau 1 arrivent au client lors d'une étape de réception S1 et sont stockés dans la première mémoire tampon 40. Une étape d'extraction S2 d'une référence de temps (plus connu par son terme anglais "timestamp") des paquets reçus est mise en oeuvre. Le timestamp est extrait de l'en-tête de paquet.
Le timestamp représente un instant temporel pris en référence à une horloge interne du serveur vidéo. Les paquets comportant la même valeur de timestamp font partie de la même image. Une fois que les paquets réseau 1 appartenant à une même image (ce qui revient à dire, les paquets réseau du même timestamp) ont été reçus, un tableau T est construit comportant pour chaque paquet réseau reçu le numéro de séquence et la taille du paquet. Ce tableau comporte également le numéro de séquence des paquets perdus et une estimation de leur taille. Lors d'une étape d'estimation S3, la taille des paquets perdus est estimée à partir des tailles des paquets 1 reçus. Selon un mode de réalisation, la taille d'un paquet réseau perdu est estimée comme la moyenne des tailles du paquet réseau de numéro de séquence inferieur le plus proche et de celui de numéro de séquence supérieur le plus proche. Si le paquet réseau perdu est le dernier paquet réseau, c'est-à-dire qu'il n'existe pas de paquet réseau de numéro de séquence supérieur, on :30 attribue la taille du paquet réseau 1 reçu (du même timestamp) de numéro de séquence le plus proche.
15 D'autre part, on estime la complexité c(t+A) de l'image à décoder ou image courante I(t+A), cette image courante I(t+A) étant divisée en blocs ou macroblocs. L'estimation de la complexité des macroblocs de l'image courante sera décrite ci-dessous. Ici, on suppose que l'on connaît l'estimation de la complexité de chaque macrobloc de l'image courante I(t+A) ou carte de complexité de l'image courante c(t+A). A partir de la complexité de chaque macrobloc de l'image courante I(t+A), le nombre de données contenues dans chaque macrobloc de l'image courante est calculé à une étape d'estimation S4 du nombre de données. Ainsi, à cette étape d'estimation S4, une image C(t+A) comportant le nombre de données de chaque macrobloc est obtenue. Dans cet exemple, le nombre de données est exprimé en octets. Dans le mode de réalisation décrit, la taille de l'image courante I(t+A), ou taille de l'image formée par les paquets réseau reçus avec un timestamp (t+A), est calculée à partir du tableau T comportant la taille des paquets reçus et perdus. Ainsi, la taille de l'image CT est calculée par la formule suivante : Cr = 1, Taille paquet(i) Dans cette formule, n correspond au premier numéro de séquence 20 des paquets réseau 1 et k au nombre de paquets réseau appartenant à l'image courante I(t+A). D'autre part, la quantité de données, ici la quantité de bits dans un macrobloc, est calculé selon la suivante formule connu de l'homme du métier: H~9~= = C lä. , 25 dans laquelle, 6 est la variance du macrobloc d'indice i et q son pas de quantification. La quantité de bits de chaque macrobloc présente une relation linaire avec la variance au carré 62, égale à sa complexité (c;=62) dans ce rnode de mise en oeuvre. Le coefficient de linéarité a est fonction du pas de quantification q. 30 Le coefficient de linéarité a peut être calculé de la façon suivante : __ i=1
Dans cette formule, I est le nombre de macroblocs par lequel l'image est divisée.
Ainsi : c_ a= , Ici A partir de ce coefficient de linéarité et de la complexité de chaque macrobloc, le nornbre de bits de chaque macrobloc est estimé selon la formule suivante : C, = a.c, 10 Ainsi, on obtient une carte C(t+A) représentant le nombre de bits pour chaque macrobloc de l'image courante.
Afin d'estimer la surface de l'image courante occupée pour chaque paquet, on utilise l'équation suivante:
1C, = 8.size(J) 15 dans laquelle "size(j)" représente la taille du paquet réseau 1 de numéro de séquence j (en octets), m correspond à l'indice du dernier macrobloc utilisé lors du calcul pour le paquet précédant (paquet (j-1)), et z correspond à l'indice du dernier macrobloc utilisé lors du calcul pour le paquet courant (paquet j).
20 L'opérande "size(j)" est multiplié par 8 car le nombre de données des macroblocs sont exprimés en bits.
Ainsi, dans cet exemple, le calcul de la surface occupée par chaque paquet 1, correspond à calculer le nombre de macroblocs correspondant à un paquet réseau, c'est-à-dire la valeur de l'indice z. Ceci est mis en oeuvre lors 25 d'une étape de calcul S5.
Ainsi, afin de calculer la surface occupée par chaque paquet réseau 1, on sélectionne un premier paquet réseau 1 lors d'une étape de sélection S6 et on multiplie sa taille par 8 lors de l'étape de calcul S5. On sélectionne un5 premier macrobloc m et on vérifie si le nombre de bits C(m) du macrobloc m est supérieur ou égal à 8*size(j). Si cela n'est pas le cas, on sélectionne un deuxième macrobloc m+1 et on vérifie si la somme des nombres de bits des macroblocs m et m+1 (C(m) + C(m+1)) est supérieure ou égale à 8*size(j). On continue ainsi ce processus jusqu'à ce que l'on trouve la valeur de l'indice z pour laquelle la somme des nombres de bits des macroblocs (C(m)+C(m+1)+ ...+C(m+z)) est la plus proche de 8*size(j). On peut ainsi calculer le nombre de macroblocs associés à un paquet réseau 1. Une fois que l'on connaît la surface d'un paquet, on met en oeuvre une étape de placement S7 du paquet dans une reconstruction l'(t+A) de l'image courante dans laquelle la surface et la position de chaque paquet réseau sont représentées. Les étapes de sélection S6 d'un paquet réseau 1, estimation de la surface du paquet S5 (ou calcul de l'indice z), étape de placement du paquet S7 dans l'image l'(t+A) sont répétées pour chaque paquet réseau de l'image courante I(t+A) ou de l'image du même timestamp (t+A). Lors d'une seconde étape de sélection S8 chaque paquet perdu est sélectionné, et on procède ensuite à une étape de prise de décision S9, dans laquelle on prend la décision de demander ou pas la retransmission du paquet perdu selon un critère d'importance. Ainsi, lors de cette étape de prise de décision S9, l'image l'(t+A) contenant l'estimation de la surface et la position de chaque paquet réseau 1 est employée afin de connaître la surface du paquet réseau sélectionné. Lorsque la surface estimée correspondant au paquet réseau sélectionné est supérieure à une valeur de seuil de discrimination, le paquet perdu sélectionné est considéré comme important selon le critère d'importance et est demandé au serveur 3 lors d'une étape de demande de retransmission S10. Au contraire, lorsque la surface estimée est inférieure à la valeur de seuil de discrimination, le paquet perdu sélectionné est considéré comme peu important selon le critère d'importance et n'est pas demandé.
La seconde étape de sélection S8 et l'étape de prise de décision S9 sont répétées pour chaque paquet réseau perdu de l'image courante I(t+A) ou de l'image du même timestamp (t+A). Dans cet exemple, le seuil de discrimination correspond à un pourcentage de la surface de l'image courante de valeur 20%. Ainsi, lorsqu'un paquet réseau perdu occupe une surface supérieure au 20% de la surface de l'image courante, le paquet réseau perdu est demandé au serveur 3, et lorsque le paquet réseau perdu occupe une surface égale ou inférieure au 20% de la surface de l'image courante, le paquet réseau perdu n'est pas demandé au serveur 3. Bien entendu, dans d'autres modes de réalisation, la valeur de seuil peut avoir des vakeurs différentes. On va décrire à l'aide de la figure 5 l'estimation de la complexité c(t+A) de l'image courante utilisée dans le mode de réalisation de la figure 4.
Comme il a été décrit précédemment, des paquets réseau 1 sont reçus lors d'une étape de réception S1 et stockés dans une mémoire tampon 40. Lors d'une étape d'extraction S2, des informations concernant les paquets réseau 1 reçus sont extraites de l'en-tête des paquets réseau et sont stockées. Ces informations sont le numéro de séquence des paquets et leur timestamp. Dans cet exemple, cinq paquets réseau 10, 11, 12, 13, 14 sont reçus. Ces paquets réseau appartiennent à une même image à décoder ou image courante I(t+A), et par conséquent, ils ont le même timestamp (t+A). A partir de leur numéro de séquence, les paquets perdus sont détectés lors d'une étape de détection S11. Comme décrit ci-dessus, chaque paquet réseau stocké dans la première mérnoire tampon 40 est "dé-paquétisé" lors d'une étape de "dépaquétisation" S41, c'est-à-dire que l'en-tête de paquet est enlevé et un train binaire 1c est formé avec la charge utile des paquets réseau 1. Le train binaire 1c est stocké dans une seconde mémoire tampon 42. Une partie du train binaire 1c stocké est décodée afin d'obtenir une image I(t).
Cette image I(t) est décodée à partir de la charge utile des paquets réseau reçus avec un timestamp de valeur t. En effet, il existe un retard entre la réception des paquets réseau 1 et l'étape de décodage S43. Ce retard est notamment dû aux temps d'accès en écriture et lecture des mémoires tampon 40, 42 et/ou au nombre de paquets réseau que l'on stocke dans les mémoires tampon 40, 42 avant d'effectuer la de-paquétisation ou le décodage. Ainsi, en même temps que des paquets réseau 10-14 appartenant à l'image courante I(t+A) sont reçus à l'étape de réception S1 par le client 4, l'image précédente I(t) est décodée à l'étape de décodage S43. Le temps écoulé entre la réception des paquets réseau appartenant à ;limage précédente et la réception des paquets réseau appartenant à l'image courante est représenté par A. La valeur de ce temps A peut être plus ou moins importante. Par exemple, le temps A peut présenter une valeur de 10 secondes dans une application de traitement à la volée (plus connu par son nom anglais "streaming"), c'est-à-dire, lorsqu'une vidéo est visualisée en temps réel par un client, ou plusieurs dizaines de millisecondes dans une visioconférence. En même temps que le décodage de l'image précédente I(t) est effectué, une étape de stockage S12 des vecteurs de mouvement associés à l'image précédente I(t) est mise en oeuvre. Cette étape de stockage S12 des vecteurs de mouvement sera décrite plus en détails à l'aide de la figure 7. Un vecteur de mouvement est associé à chaque macrobloc de l'image précédente I(t).
Les vecteurs de mouvement sont calculés par le codeur 30 lors du codage d'une image et sont calculés de façon différente en fonction du type d'image. Par exemple, si l'image codée est une image de type P, les vecteurs de mouvement représentent le mouvement des macroblocs de l'image par rapport à une image codée précédemment.
Ensuite, en fonction du type d'image, des vecteurs de mouvement sont estimés entre l'image précédente I(t) et l'image courante I(t+A) lors d'une étape d'estimation des vecteurs S13.
D'autre part, une étape de calcul de la complexité S14 des macroblocs de l'image précédente I(t) décodée est mise en oeuvre. Dans ce mode de réalisation, la mesure de la complexité des blocs comporte une étape de mesure de la variance de la luminance des pixels contenus dans ces blocs. Bien entendu, la complexité peut être calculée par d'autres méthodes. Ainsi, ce calcul de la complexité de chaque macrobloc permet de reconstruire une image ou carte c(t) représentant les complexités des macroblocs de l'image précédente I(t). La carie c(t) représentant les complexités de l'image précédente I(t) et les vecteurs de mouvement estimés lors de l'étape d'estimation S13 des vecteurs, sont employés afin d'estimer une image de complexité c(t+A) de l'image courante I(t+0).
Ainsi, lors d'une étape de projection S15, la valeur de la complexité de chaque macrobloc est projetée en fonction du vecteur de mouvement associé au macrobloc, c'est-à-dire suivant le sens du mouvement du vecteur de mouvement. On obtient ainsi une carte de complexité projetée cp(t+A). Dans cette carte de complexité projetée cp(t+A), les valeurs de complexité sont irrégulièrement reparties. Afin d'éviter cette répartition irrégulière des valeurs de complexité, une étape d'interpolation S16 est mise en oeuvre. On obtient ainsi la carte de complexité c(t+O) de l'image courante I(t+i\), qui est employée dans le procédé décrit à la figure 4.
La figure 6 représente les étapes de projection S15 et d'interpolation S16 d'une façon plus détaillée. Une image ou carte de complexité c(t) de l'image précédente I(t) et une image ou carte des vecteurs de mouvement V(t, t+0) sont représentées sur la figure 6. La carte de vecteurs de mouvement V(t, t+ï) représente le mouvement de chaque macrobloc entre l'image à l'instant t (image précédente I(t)) et l'image à l'instant H-A (image courante I(t-FA)).
L'étape de projection S15 consiste à projeter la valeur de la complexité des rnacroblocs selon la direction des vecteurs de mouvement associés aux macroblocs respectivement. Par exemple, pour le macrobloc situé selon les coordonnées (x, y), la valeur de la complexité associée est c(x, y) et le vecteur de mouvement associé est v(x, y) . La projection consiste à calculer une nouvelle position (x,') de la complexité pour le macrobloc, située en (x, y), selon la formule : ( 1, I)=(x,y)+(Y,y) Par exemple, sur la carte de complexité projetée cp(t+A), les macroblocs ml, m2, m3 de complexité cl, c2 et c3 sont représentés. Ces macroblocs projetés ml , m2, m3 ne coïncident pas avec la division en macroblocs de la carte de complexité projetée cp(t+A). Ainsi, pour reconstruire une carte de complexité projetée régulière cpr(t+A), un algorithme de résolution de conflits est mis en oeuvre lors d'une étape de résolution de conflits S151. Dans ce mode de réalisation, l'algorithme de résolution de conflits consiste à : - lorsque le centre du macrobloc projeté ml, m2, m3 est situé à l'intérieur d'un macrobloc régulier mi, la complexité du macrobloc projeté ml, m2, m3 est attribuée au macrobloc régulier mi (tel est le cas du macrobloc ml projeté de valeur de complexité cl) ; et - lorsque plusieurs centres de macroblocs projetés ml , m2, m3 sont situés à l'intérieur du même macrobloc régulier mi, la moyenne des complexités des macroblocs projetés ml , m2, m3 est attribuée au macrobloc régulier mi (tel est le cas des macroblocs projetés m2 et m3 de valeurs de complexité c2 et c3 respectivement). A l'aide de cet algorithme une carte de complexité régulière cpr(t+A) est obtenue. Dans cette carte de complexité cpr(t+A) certains macroblocs n'ont pas de complexité associée. Afin de résoudre cela, l'étape d'interpolation S16 est mise en oeuvre, et une carte de complexité c(t+A) est obtenue. Cette carte de complexité est la carte de complexité c(t+A) estimée et associée à l'image courante I(t+A).
Par exemple, l'étape d'interpolation S16 peut être mise en oeuvre au moyen d'un filtrage médian. L'application du filtrage médian consiste à attribuer une valeur de complexité à un macrobloc qui n'a pas de complexité associée, à partir de la valeur médiane des complexités d'un masque.
Par exemple, un masque M est situé centré sur un macrobloc mc qui n'a pas de valeur de complexité attribuée. Les valeurs des complexités de macroblocs adjacents au macrobloc mc sont a, b, c, d, f, g, h et i. Si ces valeurs sont classées selon l'ordre suivant : c, f, h, i, g, b, d, a, g, la valeur située au milieu de la liste (c'est-à-dire g ou b) est attribuée au macrobloc mc.
Bien entendu, d'autres méthodes d'interpolation peuvent être employées. La figure 7 décrit plus en détail l'étape d'estimation des vecteurs S12 de la figure 5. La figure 7 représente schématiquement un groupe d'images GOP (de l'anglais "Group Of Pictures"). Ce GOP comporte des images INTRA (12, 111), INTER de type P (P5, P8) et INTER de type B (B1, B3, B4, B6, B7, B9, B10). On va décrire par exemple, l'estimation des vecteurs de mouvement de l'image P5 (image INTER de type P). Comme indiqué ci-dessus, cette image est décodée et des vecteurs de mouvement sont extraits lors d'une étape d'extraction S121 et stockés lors d'une étape de stockage S122. L'image P5 utilise l'image 12 comme image de référence, c'est-à-dire que les vecteurs de mouvement V52 associés à l'image P5 pointent vers l'image 12. A partir des vecteurs de mouvement stockés à l'étape S122, on effectue une étape d'extrapolation S123 des vecteurs de mouvement entre l'instant t et l'instant t+A, correspondant respectivement à l'image courante I(t+A) et à l'image précédente 1(t). Ainsi, si par exemple on connaît le vecteur entre l'image P5 (t= 5) et l'image 12 (t= 2) et on doit extrapoler le vecteur V57 entre l'instant t= 5 et l'instant t= 7, il faut inverser le sens du vecteur V52 et multiplier son module par un facteur 2/3.
Cette même méthode est appliquée pour les images INTER de type B. Pour les images INTRA, la méthode est légèrement différente. En effet, ces images ne comportent pas de vecteurs de mouvement car leur codage est effectué sans aucune prédiction temporelle. Il faut alors créer ces vecteurs de mouvement. Pour cela, on met en oeuvre une seconde étape d'extraction S124 des vecteurs de mouvement de l'image INTER de type P précédente, ici l'image P8. Ces vecteurs de mouvement ont été stockés lors de l'étape de stockage S122.
Lors d'une étape de création S125 des vecteurs associés aux macroblocs, on déduit les vecteurs de mouvement de l'image INTRA 111 par rapport à l'image P8, à partir de ces vecteurs de mouvement extraits. Par exemple, si le vecteur de mouvement associé au macrobloc situé aux coordonnées (x, y) de l'image P8 est v(x, y) , pointe vers l'image P5, ce vecteur de mouvement est inversé afin d'obtenir une position (x,,y,) sur l'image 111. Cette position est calculée comme suit : (xi •)= (x, y)-v(x,Y) Ainsi, le vecteur de mouvement est associé au macrobloc de l'image 111 auquel cette position appartient. Si plusieurs vecteurs pointent vers le même macrobloc, le vecteur associé au macrobloc est calculé en réalisant une moyenne des vecteurs. Une fois que l'on a déduit les vecteurs de mouvement de l'image 111, s'il existe des macroblocs sans vecteur de mouvement associé, une méthode d'interpolation est mise en oeuvre afin d'obtenir un vecteur de mouvement associé à chaque macrobloc de l'image 111. Une méthode d'interpolation est par exemple un filtrage médian. A partir des vecteurs de mouvement, on effectue une étape d'extrapolation S126 (analogue à l'étape d'extrapolation S123) des vecteurs de mouvement entre l'instant t et l'instant t+A, correspondant respectivement à :30 l'image courante I(t+A) et à l'image précédente I(t).
Avec ces vecteurs de mouvement extrapolés, on obtient la carte de vecteurs de mouvement V(t, t+A) dans laquelle un vecteur de mouvement est associé à chaque macrobloc de l'image précédente I(t). Cette carte de vecteurs de mouvement V(t, t+0) est employée afin de calculer la carte de complexité de l'image courante I(t+A) comme décrit à l'aide des figures 5 et 6. On va décrire ensuite, à l'aide de la figure 8, un second mode de réalisation du procédé de traitement conforme à l'invention. Comme pour le premier mode de réalisation décrit, les paquets 1 sont reçus par le client 4 lors d'une étape de réception S1 et stockés dans une mémoire tampon 40. Pour chaque paquet 1 reçu, le numéro de séquence et le timestamp sont extraits lors d'une étape d'extraction S2. Lors d'une étape de comptabilisation S20, le nombre des paquets du même timestamp est comptabilisé. Selon un mode de réalisation, la comptabilisation des paquets réseau 1 reçus est arrêtée lorsqu'un paquet réseau 1 de tirnestamp différent est reçu. D'autres modes de réalisation de la mise en oeuvre de l'arrêt de comptabilisation sont possibles, par exemple, lorsque le nombre de paquets réseau 1 reçus est supérieur à une valeur prédéterminée. D'autre part, les paquets réseau stockés dans la mémoire tampon 40 sont dé-paquétisés lors d'une étape de dé-paquétisation S41 afin de former un train binaire 1c. Le train binaire 1c est stocké dans une seconde mémoire tampon 42, duquel la partie correspondant à une image I(t) est décodée lors de l'étape de décodage S43, pour ensuite être affichée lors d'une étape d'affichage S46. Cette image I(t) est décodée à partir des paquets reçus comportant un timestamp de valeur t, et sera appelée image précédente I(t). Une étape d'analyse du type d'image S21 est mise en oeuvre. :30 Comme décrit ci-dessus, l'image peut être INTRA ou INTER (de type P ou de type B).
Une image est divisée en tranches (plus connu pour son terme anglais "slice"). En général, une slice correspond à la charge utile d'un paquet réseau. Ainsi, le nombre de slices contenues dans l'image précédente I(t) est extrait lors d'une seconde étape d'extraction S22.
Dans un autre mode de réalisation, le décodeur est informé du nombre des paquets réseau correspondant à l'image précédente I(t). A partir du type d'image et du nombre de slices de l'image (paramètres connus dans les étapes précédentes), un graphe comme celui de la figure 9 peut être construit.
Ce graphe représente sur l'axe en abscisses le type d'image pour un certain nombre d'images décodées, et sur l'axe en ordonnées le nombre de slices contenues dans chaque image. Dans cet exemple, les images ont été regroupées par leur type. Ainsi, un premier groupe GB correspond aux images INTER de type B, un second groupe Gp aux images INTER de type P et un troisième groupe G, aux images INTRA. Ici, deux valeurs de seuil de discrimination ont été établies. Une première valeur de seuil Thr(P, I) est déterminée comme la moyenne entre le nombre de slices associées à l'image I (parmi les images 19, 110, 112 et 118) ayant le nombre de slices le moins élevé et le nombre de slices associées à l'image P (parmi les images P3, P6 et P15) ayant le nombre de slices le plus élevé. Une seconde valeur de seuil Thr (B, P) est déterminée comme la moyenne entre le nombre de slices associées à l'image P (parmi les images P3. P6 et P15) ayant le nombre de slices le moins élevé et le nombre de slices associées à l'image B (parmi les images B13, B14, B17 et B16) ayant le nombre de slices le plus élevé. Bien entendu, le nombre d'images employées pour la réalisation de ce graphe est variable. On revient à la figure 8, dans laquelle le graphe réalisé est employé afin de déterminer le type de l'image courante I(t+A) et par conséquent l'importance des paquets perdus appartenant à cette image courante I(t+A).
Lors d'une étape de détermination S23, le type de l'image courante I(t+A) est déterminé à partir des valeurs de seuil de discrimination Thr(P, I), Thr(B, P) calculées et du nombre de paquets du même timestamp comptabilisés à l'étape de comptabilisation S20.
Dans cet exemple, lorsque le nombre de paquets comptabilisés est inferieur à la seconde valeur de seuil de discrimination Thr(B, P), l'image courante I(t+A) est de type B. Lorsque le nombre de paquets comptabilisés est supérieur à la seconde valeur de seuil de discrimination Thr(B, P) et inférieur à la première valeur de seuil Thr(P, I), l'image courante I(t+A) est de type P. Enfin, lorsque le nombre de paquets comptabilisés est supérieur à la première valeur de seuil Thr(P, I), l'image courante I(t+A) est de type I. Ainsi, à partir du type d'image courante I(t+A), l'importance du paquet perdu peut être déterminée lors d'une étape de détermination de l'importance S9'. Selon l'importance du paquet réseau perdu, une étape de demande de retransmission S10' est mise en oeuvre ou pas. Dans un mode de réalisation, l'étape de demande de retransmission S10' est mise en oeuvre lorsque le nombre de paquets mesuré est supérieur à la seconde valeur cle seuil de discrimination Thr(B, P), c'est-à-dire lorsque les paquets réseau perdus appartiennent à une image de type P ou de type I. Dans d'autres modes de réalisation, l'étape de demande de retransmission S10' est mise en oeuvre lorsque le nombre de paquets mesuré est supérieur à la première valeur de seuil de discrimination Thr(P, I), c'est-à-dire lorsque les paquets réseau perdus appartiennent à une image de type I. On notera que lors du calcul des valeurs de seuil du graphe de la figure 9, si le nombre de slices associées à l'image de type I ayant le moins de slices est inférieur au nombre de slices associées à l'image de type P ayant le plus de slices, la première valeur seuil Thr(P, I) ne peut pas être calculée. Le même raisonnement s'applique pour la seconde valeur de seuil Thr(B, P). Ainsi, si par exemple, seulement la seconde valeur de seuil Thr(B, P) peut être établie, les paquets appartenant à des images de type différent que le type B sont considérés importants. Si par exemple, aucune des valeurs de seuil ne peut être établie, tous les paquets sont considérés importants. Ainsi, grâce à l'invention, il est possible de demander la retransmission des paquets perdus importants pour avoir une bonne qualité d'image, sans avoir à décoder l'image courante. Par conséquent, il n'existe pas de délais importants entre la détection d'un paquet perdu et la demande de retransmission du paquet perdu. Par ailleurs, le réseau de communications n'est pas encombré par la retransmission de paquets perdu qui ne sont pas importants.
Bien entendu, de nombreuses modifications peuvent être apportées à l'exemple de réalisation décrit précédemment sans sortir du cadre de l'invention. Par exemple, il est possible de détecter les zones d'images dans lesquelles les algorithmes de correction d'erreurs sont efficaces et celles dans lesquelles ils sont au moins efficaces.
Ainsi, l'importance d'un paquet perdu est estimée en fonction de la surface d'image correspondante au paquet perdu et de la zone d'image dans laquelle se situe le paquet perdu. Par exemple, lorsqu'un paquet perdu tombe dans une zone d'image où l'algorithme n'est pas efficace, le paquet est considéré important et on 2.0 demande la retransmission. Au contraire, lorsque le paquet perdu tombe dans une zone d'image où l'algorithme est efficace, le paquet est considéré peu important et sa retransmission n'est pas demandée.

Claims (20)

  1. REVENDICATIONS1. Procédé de traitement d'un flux de données codées (la) d'une image courante (I(t+0)) sur un dispositif de réception, ledit flux de données (la) étant organisé en paquets (1), comportant une étape de détection (S11) d'un paquet perdu, caractérisé en ce qu'il comporte : - une étape d'estimation (S4, S5, S7), avant le décodage (S43) de ladite image courante (I(t+A)), d'un critère d'importance dudit paquet perdu, ledit critère d'importance étant déterminé à partir d'au moins une image précédente décodée; et - une étape de demande de retransmission (S10, S10') dudit paquet perdu en fonction dudit critère d'importance estimé.
  2. 2. Procédé de traitement conforme à la revendication 1, caractérisé en ce que l'étape d'estimation dudit critère d'importance comporte une étape d'estimation de la surface (S5) d'une partie d'image courante correspondant aux données contenues dans ledit paquet perdu.
  3. 3. Procédé de traitement conforme à la revendication 2, caractérisé en ce qu'à l'étape de demande de retransmission (S10), le paquet perdu est demandé lorsqu'à ladite surface de ladite partie d'image courante (I(t+0)) estimée est supérieure à une valeur de seuil de discrimination.
  4. 4. Procédé de traitement conforme à l'une des revendications 2 ou 3, caractérisé en ce que ladite surface de ladite partie d'image courante (I(t+A)) est estimée à partir des informations des paquets de l'image courante (I(t+A)) à décoder et des informations d'une image précédente Mt)) décodée.
  5. 5. Procédé de traitement conforme à l'une des revendications 2 à 4, l'image étant divisée en blocs, l'étape d'estimation de la surface (S5) comporte les suivantes sous-étapes: - estimation du nombre de données contenues dans les paquets perclus détectés ; - estimation (S14, S15, S16) d'une complexité c(t+A) des blocs de ladite image courante (I(t+A)) ; et 29 - estimation (S5) du nombre de blocs d'image courante (I(t+0)) correspondant à chaque paquet à partir du nombre estimé de données contenues dans les paquets perdus, du nombre des données contenues dans des paquets reçus, et de la complexité (c(t+A)) estimée des blocs de l'image courante (I(t+L)).
  6. 6. Procédé conforme à la revendication 5, caractérisé en ce que ladite étape d'estimation de la complexité (c(t+A)) des blocs de l'image courante (I(t+,A)) comporte les étapes suivantes : - stockage (S12) d'un vecteur de mouvement de chaque bloc de ladite image précédente Mt)) ; - mesure d'une complexité (c(t)) des blocs de l'image précédente Mt)) ; et - prédiction (S15, S16) de la complexité (c(t+A)) de chaque bloc de l'image courante à partir dudit vecteur de mouvement stocké et de ladite complexité (c(t)) de chaque bloc de l'image précédente Mt)) mesurée.
  7. 7. Procédé conforme à la revendication 6, caractérisé en ce que la mesure de la complexité (c(t)) des blocs comporte une étape de mesure de la variance de la luminance des pixels contenus dans lesdits blocs respectivement.
  8. 8. Procédé de traitement conforme à la revendication 1, caractérisé en ce que l'étape d'estimation dudit critère d'importance comporte une étape d'estimation (S23) d'un type d'image correspondant aux données contenues dans ledit paquet perdu.
  9. 9. Procédé de traitement conforme à la revendication 8, caractérisé en ce que ladite étape d'estimation (S23) d'un type d'image courante comporte une étape de mesure (S20) du nombre de paquets correspondant à l'image courante (I(t+A)).
  10. 10. Procédé de traitement conforme à l'une des revendications 8 ou 9, caractérisé en ce qu'à ladite étape de demande de retransmission (S10'), le paquet perdu est demandé lorsque le nombre de paquets mesuré est supérieur à une valeur de seuil de discrimination (Thr(B, P), Thr(P, I)).
  11. 11. Dispositif de traitement d'un flux de données (1 b) codées d'une image courante (I(t+A)) sur un dispositif de réception, ledit flux de données (1 b) étant organisé en paquets (1), comportant des moyens de détection (300) d'un paquet perdu, caractérisé en ce qu'il comporte : - des rnoyens d'estimation (300, 302, 303), avant le décodage de ladite image courante, d'un critère d'importance dudit paquet perdu, ledit critère d'importance étant déterminé à partir d'au moins une image précédente décodée; et - des moyens de demande de retransmission (300, 302, 303) dudit paquet perdu en fonction dudit critère d'importance estimé.
  12. 12. Dispositif de traitement conforme à la revendication 11, caractérisé en ce que lesdits moyens d'estimation dudit critère d'importance comportent des moyens d'estimation de la surface d'une partie d'image correspondant aux données contenues dans ledit paquet perdu.
  13. 13. Dispositif de traitement conforme à la revendication 12, l'image étant divisée en blocs, les moyens d'estimation de la surface comportent : - des rnoyens d'estimation (300, 302, 303) du nombre de données contenues dans les paquets perdus détectés ; - des moyens d'estimation (300, 302, 303) d'une complexité (c(t+A)) des blocs de ladite image courante ; et - des moyens d'estimation (300, 302, 303) du nombre de blocs d'image courante (I(t+0)) correspondant à chaque paquet à partir du nombre estimé de données contenues dans les paquets perdus, du nombre des données contenues dans des paquets reçus, et de la complexité (c(t+A)) estimée des blocs de l'image courante.
  14. 14. Dispositif conforme à la revendication 13, caractérisé en ce que lesdits moyens d'estimation de la complexité (c(t+i)) des blocs d'image courante (I(t+A)) comportent : - des moyens de stockage (302, 303) d'un vecteur de mouvement de chaque bloc de ladite image précédente Mt)) ; - des moyens de mesure (300, 302, 303) d'une complexité (c(t)) des blocs de l'image précédente I(t) ; et - des moyens de prédiction (300, 302, 303) de la complexité de chaque bloc de l'image courante à partir dudit vecteur de mouvement stocké et de ladite complexité de chaque bloc de l'image précédente Mt)) mesurée.
  15. 15. Dispositif conforme à la revendication 14, caractérisé en ce que lesdits moyens de mesure de la complexité (c(t)) des blocs comportent des moyens de mesure de la variance de la luminance des pixels contenus dans lesdits blocs respectivement.
  16. 16. Dispositif de traitement conforme à l'une des revendications 14 ou 14, caractérisé en ce que les moyens d'estimation (300, 302, 303) dudit critère d'importance comportent des moyens d'estimation d'un type d'image courante (I(t+A)) correspondant aux données contenues dans ledit paquet perdu.
  17. 17. Dispositif de traitement conforme à la revendication 16, caractérisé en ce que lesdits moyens d'estimation (300, 302, 303) d'un type d'image courante (I(t+0)) comportent des moyens de mesure du nombre de paquets correspondant à l'image courante (I(t+A)).
  18. 18. Moyen de stockage d'informations pouvant être lues par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il est adapté à mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 10, lorsque lesdites informations sont lues par ledit ordinateur ou ledit microprocesseur.
  19. 19. Moyen de stockage d'informations selon la revendication 18, caractérisé en ce qu'il est partiellement ou totalement amovible.
  20. 20. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 10, lorsque ledit produit programme d'ordinateur est chargé dans et exécuté par ledit appareil programmable.
FR0852614A 2008-04-17 2008-04-17 Procede de traitement d'un flux de donnees codes Expired - Fee Related FR2930387B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0852614A FR2930387B1 (fr) 2008-04-17 2008-04-17 Procede de traitement d'un flux de donnees codes
US12/425,196 US8311128B2 (en) 2008-04-17 2009-04-16 Method of processing a coded data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0852614A FR2930387B1 (fr) 2008-04-17 2008-04-17 Procede de traitement d'un flux de donnees codes

Publications (2)

Publication Number Publication Date
FR2930387A1 true FR2930387A1 (fr) 2009-10-23
FR2930387B1 FR2930387B1 (fr) 2010-09-24

Family

ID=40111068

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0852614A Expired - Fee Related FR2930387B1 (fr) 2008-04-17 2008-04-17 Procede de traitement d'un flux de donnees codes

Country Status (2)

Country Link
US (1) US8311128B2 (fr)
FR (1) FR2930387B1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2915342A1 (fr) * 2007-04-20 2008-10-24 Canon Kk Procede et dispositif de codage video
FR2920632A1 (fr) * 2007-08-31 2009-03-06 Canon Kk Procede et dispositif de decodage de sequences video avec masquage d'erreurs
WO2009027094A1 (fr) * 2007-08-31 2009-03-05 Canon Kabushiki Kaisha Projection par compenstion de mouvement de résidus de prédiction pour dissimulation d'erreur
EP2375614B1 (fr) * 2010-04-09 2014-05-07 Alcatel Lucent Procédé de diffusion d'un contenu multimédia
GB2505912B (en) * 2012-09-14 2015-10-07 Canon Kk Method and device for generating a description file, and corresponding streaming method
CN107872675B (zh) * 2016-09-26 2020-06-16 联芯科技有限公司 基于h.264的视频数据的修复方法和传输的数据端
WO2019192870A1 (fr) 2018-04-05 2019-10-10 Canon Kabushiki Kaisha Procédé et appareil pour encapsuler des images ou des séquences d'images avec des informations propriétaires dans un fichier
CN115380487A (zh) * 2020-07-14 2022-11-22 华为技术有限公司 数据传输方法、发送设备及接收设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680322A (en) * 1994-05-30 1997-10-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for dynamic image data transmission
GB2347038A (en) * 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US20060182178A1 (en) * 2005-01-26 2006-08-17 Kenji Oi Moving picture data transmission apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104757A (en) * 1998-05-15 2000-08-15 North Carolina State University System and method of error control for interactive low-bit rate video transmission
EP1130839B1 (fr) * 2000-03-02 2005-06-08 Matsushita Electric Industrial Co., Ltd. Procédé et appareil pour la retransmission de trames de donées vidéo avec niveaux de priorité
FR2812502B1 (fr) * 2000-07-25 2002-12-20 Canon Kk Insertion et extraction de message dans des donnees numeriques
FR2816153B1 (fr) * 2000-10-27 2002-12-20 Canon Kk Procede de controle prealable de la detectabilite d'un signal de marquage
FR2838584A1 (fr) * 2002-04-16 2003-10-17 Koninkl Philips Electronics Nv Systeme de transmission avec controle de congestion au niveau du recepteur pour decider d'eventuelles demandes de retransmission
US20030206549A1 (en) * 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
KR20050040448A (ko) * 2003-10-28 2005-05-03 삼성전자주식회사 에러 검출 기능을 가진 비디오 디코딩방법과 이를 위한 장치
JP4688566B2 (ja) * 2005-05-10 2011-05-25 富士通東芝モバイルコミュニケーションズ株式会社 送信機及び受信機
FR2897741B1 (fr) * 2006-02-17 2008-11-07 Canon Kk Procede et dispositif de generation de donnees representatives d'un degre d'importance de blocs de donnees et procede et dispositif de transmission d'une sequence video encodee
FR2898757A1 (fr) * 2006-03-14 2007-09-21 Canon Kk Procede et dispositif d'adaptation d'une frequence temporelle d'une sequence d'images video
FR2908585B1 (fr) * 2006-11-15 2008-12-26 Canon Kk Procede et dispositif de transmission de donnees video.
FR2910211A1 (fr) * 2006-12-19 2008-06-20 Canon Kk Procedes et dispositifs pour re-synchroniser un flux video endommage.

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680322A (en) * 1994-05-30 1997-10-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for dynamic image data transmission
GB2347038A (en) * 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US20060182178A1 (en) * 2005-01-26 2006-08-17 Kenji Oi Moving picture data transmission apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
N. FEAMSTER: "Adaptive Delivery of Real-Time Streaming Video", MASTER THESIS, 23 May 2001 (2001-05-23), MIT, Cambridge, MA, USA, XP002510357 *
SUCHITRA RAMAN ET AL: "ITP: An Image Transport Protocol for the Internet", IEEE / ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 10, no. 3, 1 June 2002 (2002-06-01), XP011077169, ISSN: 1063-6692 *

Also Published As

Publication number Publication date
US8311128B2 (en) 2012-11-13
US20090262836A1 (en) 2009-10-22
FR2930387B1 (fr) 2010-09-24

Similar Documents

Publication Publication Date Title
FR2930387A1 (fr) Procede de traitement d'un flux de donnees codes
USRE48748E1 (en) Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
JP5172440B2 (ja) 映像品質推定装置、方法およびプログラム
JP5427238B2 (ja) ビデオストリームの品質値を判定する方法及びシステム
FR2840495A1 (fr) Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
FR2837330A1 (fr) Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
FR2908585A1 (fr) Procede et dispositif de transmission de donnees video.
FR2902266A1 (fr) Procede et dispositif de repartition de la bande passante de communication
FR2897741A1 (fr) Procede et dispositif de generation de donnees representatives d'un degre d'importance de blocs de donnees et procede et dispositif de transmission d'une sequence video encodee
FR2975555A1 (fr) Methode d'adaptation dynamique du debit de reception et recepteur associe
FR2963190A1 (fr) Procede et dispositif de codage d'une sequence d'images
FR2944938A1 (fr) Procede et dispositif de correction d'erreurs.
FR2959636A1 (fr) Procede d'acces a une partie spatio-temporelle d'une sequence video d'images
EP2947888A1 (fr) Procédé de téléchargement adaptatif de contenus numériques pour plusieurs écrans
WO2017187044A1 (fr) Procédé de composition contextuelle d'une représentation vidéo intermédiaire
US9258623B2 (en) Method and device for quality assessment of encrypted streaming media flows
FR2919779A1 (fr) Procede et dispositif de codage avec perte d'un signal numerique
EP3840335B1 (fr) Réception d'un contenu numérique en mode truque
WO2020170869A1 (fr) Dispositif d'estimation d'engagement, procédé d'estimation d'engagement et programme
FR3000350A1 (fr) Procede et dispositif de transmission d'une sequence d'images, procede et dispositif de reception, programme d'ordinateur et support d'enregistrement correspondants.
FR2934453A1 (fr) Procede et dispositif de masquage d'erreurs
FR2941110A1 (fr) Procede et dispositif de prediction d'un etat de pertes d'un reseau de communication
FR3109489A1 (fr) Préparation de contenus numériques accessibles en téléchargement progressif adaptatif et encodés selon une méthode d’encodage à débit variable, en fonction d’une charge réseau
FR3107383A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
FR2832581A1 (fr) Procede et dispositif de determination d'au moins un parametre de codage de donnees multimedia

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231