FR2920940A1 - Procede et dispositif de generation d'un flux video - Google Patents

Procede et dispositif de generation d'un flux video Download PDF

Info

Publication number
FR2920940A1
FR2920940A1 FR0706272A FR0706272A FR2920940A1 FR 2920940 A1 FR2920940 A1 FR 2920940A1 FR 0706272 A FR0706272 A FR 0706272A FR 0706272 A FR0706272 A FR 0706272A FR 2920940 A1 FR2920940 A1 FR 2920940A1
Authority
FR
France
Prior art keywords
low resolution
image
block
resolution image
filter
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
FR0706272A
Other languages
English (en)
Other versions
FR2920940B1 (fr
Inventor
Pierre Gronlier
Alexandre Delattre
Jerome Larrieu
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.)
Nintendo European Research and Development SAS
Original Assignee
ACTIMAGINE SOC PAR ACTIONS SIM
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 ACTIMAGINE SOC PAR ACTIONS SIM filed Critical ACTIMAGINE SOC PAR ACTIONS SIM
Priority to FR0706272A priority Critical patent/FR2920940B1/fr
Publication of FR2920940A1 publication Critical patent/FR2920940A1/fr
Application granted granted Critical
Publication of FR2920940B1 publication Critical patent/FR2920940B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

Un procédé et un dispositif de transmission de vidéo où plus particulièrement, la vidéo transmise est une version sous-échantillonnée de la vidéo originale qui est transmise conjointement avec des informations permettant de restituer une vidéo de bonne qualité à la résolution originale.L'invention propose d'appliquer les filtres à des blocs de tailles variables de l'image selon un découpage hiérarchique de l'image. Le découpage hiérarchique va permettre d'adapter la taille du bloc sur lequel va être appliqué le filtre suréchantillonneur au contenu de ce bloc.

Description

La présente invention concerne un procédé et un dispositif de transmission de vidéo. Plus particulièrement, la vidéo transmise est une version sous-échantillonnée de la vidéo originale qui est transmise conjointement avec des informations permettant de restituer une vidéo de bonne qualité à la résolution originale.
Lorsque l'on transmet de la vidéo à destination, par exemple, de terminaux mobiles, ceux-ci sont généralement pourvus d'écrans de petite taille. Les vidéos que l'on souhaite transmettre sont généralement disponibles à une résolution adaptée à une visualisation sur un écran de télévision de grande taille. On dispose donc d'une vidéo à une résolution élevée que l'on va appeler la résolution originale et que l'on souhaite transmettre à un terminal doté d'un écran de résolution inférieure. Il est connu de sous-échantillonner la vidéo originale pour transmettre une vidéo dont la résolution est adaptée à la taille de l'écran prévu pour sa restitution. Par ailleurs, certains de ces terminaux mobiles sont maintenant pourvus d'une interface vidéo permettant de les connecter à un écran extérieur pour la restitution de la vidéo. Dans ce cas, l'écran extérieur est généralement un écran d'une taille normale. On se trouve donc à devoir transmettre une vidéo qui sera généralement restituée sur un écran de basse résolution mais pouvant être également restituée sur un écran de bonne résolution. Si l'on transmet la vidéo originale dans sa pleine résolution, il est nécessaire de la sous-échantillonner au niveau du terminal mobile pour sa restitution sur l'écran de ce terminal. La transmission de la vidéo originale demande une grande bande passante et nécessite un traitement de sous-échantillonnage coûteux pour le terminal. Mais si l'on transmet uniquement la version sous-échantillonnée de la vidéo, il sera par contre nécessaire d'effectuer un sur-échantillonnage lorsque la vidéo est restituée sur un grand écran.
Des méthodes de suréchantillonnage existent, elles sont basées sur l'application d'un filtre de suréchantillonnage à l'image de basse résolution pour obtenir l'image de résolution supérieure. Différents filtres existent pour ce traitement. On peut citer le filtre du plus proche voisin qui donne aux points de l'image suréchantillonnée la valeur du point le plus proche dans l'image sous-échantillonnée, l'interpolation bilinéaire, bicubique, ou de Lanczos. Par ailleurs en traitement du signal, les filtres de Wiener sont usuellement utilisés dans les problèmes d'estimation où l'on dispose d'une connaissance a priori sur le paramètre à estimer.
Ces filtres sont bien connus de l'homme du métier, voir Extrapolation, Interpolation, and Smoothing of Stationary Time Series. New York: Wiley par Norbert Wiener (1949). Ils permettent de calculer une estimation des points de l'image de résolution supérieure à partir des points connus de l'image de résolution inférieure. La qualité de l'image de résolution supérieure obtenue par application de ces filtres à une image de résolution inférieure dépend du filtre utilisé et de la nature de l'image à laquelle le filtre est appliqué. Il est connu du document EP 1 720 358 A2 de partir d'une vidéo de résolution originale, de calculer une version sous-échantillonnée de basse résolution. Ensuite, cette image de basse résolution est découpée régulièrement en blocs de taille fixe. On applique à chacun de ces blocs différents filtres appartenant à un dictionnaire de filtres suréchantillonneurs. On compare l'image suréchantillonnée et l'image originale pour chaque bloc et on choisit le filtre qui donne les meilleurs résultats. Ensuite, l'image de basse résolution est transmise ainsi que pour chaque bloc l'index du filtre donnant le meilleur résultat ainsi qu'un codage des erreurs résiduelles entre le résultat de l'application de ce filtre au bloc sous- échantillonné et le bloc de l'image originale. Ainsi, le terminal récepteur peut décoder uniquement l'image de basse résolution dans le cas d'une restitution sur un écran de basse résolution. Si la restitution a lieu sur un écran de haute résolution, le terminal reconstruit l'image de haute résolution en appliquant les filtres sélectionnés et en faisant une reconstruction impliquant les résidus transmis. Cette méthode implique la transmission d'une grande quantité de données en sus de la vidéo de basse résolution et une reconstruction relativement coûteuse du flux de haute résolution lorsque celui-ci est nécessaire.
L'invention vise à résoudre les problèmes précédents en proposant d'appliquer les filtres à des blocs de tailles variables de l'image selon un découpage hiérarchique de l'image. Le découpage hiérarchique va permettre d'adapter la taille du bloc sur lequel va être appliqué le filtre suréchantillonneur au contenu de ce bloc. De ce fait, les parties de l'image ayant un contenu relativement homogène, c'est-à-dire constituées de basses fréquences, vont constituer de grands blocs tandis que les parties de l'image très découpées, c'est-à-dire constituées de hautes fréquences, vont constituer de nombreux petits blocs. Le nombre moyen de blocs pour lesquels un index de filtre est transmis est plus faible.
Par ailleurs, cette adaptation rend inutile la prise en compte des résidus entre l'image reconstruite et l'image originale. La bande passante nécessaire à la transmission est donc réduite tandis que le calcul de reconstruction de l'image haute résolution par le terminal est allégé.
La présente invention concerne un procédé de génération d'un flux vidéo à partir d'une vidéo originale à une première résolution appelée haute comportant pour chaque image originale de la vidéo originale une étape de sous-échantillonnage de l'image originale pour obtenir une image basse résolution ; une étape d'encodage de l'image basse résolution pour obtenir une image basse résolution encodée ; une étape de décodage de l'image basse résolution encodée pour obtenir une image basse résolution décodée ; une étape de découpage en blocs de l'image basse résolution décodée ; une étape de sélection d'un filtre sur-échantillonneur pour chaque bloc de l'image basse résolution décodée, permettant d'obtenir un bloc correspondant sur-échantillonné, comportant une étape de comparaison du bloc obtenu et du bloc correspondant de l'image originale où l'étape de découpage en blocs de l'image basse résolution décodée est une étape de découpage hiérarchique en blocs dont la taille dépend du contenu de l'image et comportant en outre une étape de multiplexage au sein du flux généré d'une couche de base comprenant l'image basse résolution encodée, et d'une couche d'amélioration comprenant le découpage hiérarchique obtenu et une information relative au filtre sélectionné pour chaque bloc du découpage. Selon un mode de réalisation particulier de l'invention, l'étape de sélection d'un filtre sur-échantillonneur concernant des filtres qui sur-échantillonnent l'image basse résolution selon une direction, le procédé comporte en outre une seconde étape de découpage en blocs de l'image décodée basse résolution sur-échantillonnée selon une direction et une seconde étape de sélection d'un filtre sur-échantillonneur selon l'autre direction pour chaque bloc de l'image sur-échantillonnée selon la première direction, permettant d'obtenir un bloc correspondant sur-échantillonné dans les deux directions, comportant une étape de comparaison du bloc obtenu et du bloc correspondant de l'image originale. Selon un mode de réalisation particulier de l'invention, l'étape de sélection de filtre se fait au moins au sein d'un dictionnaire de filtres fixes. Selon un mode de réalisation particulier de l'invention, l'étape de sélection de filtre comprend également des filtres calculés.
Selon un mode de réalisation particulier de l'invention, les filtres calculés sont des filtres dits de Wiener. Selon un mode de réalisation particulier de l'invention, l'étape de comparaison du bloc obtenu et du bloc correspondant comporte une étape d'optimisation débit distorsion dudit bloc. Selon un mode de réalisation particulier de l'invention, l'information relative au filtre sélectionné est un index dudit filtre dans un dictionnaire de filtres pour un filtre fixe. Selon un mode de réalisation particulier de l'invention, l'information relative au filtre sélectionné est l'ensemble des coefficients calculés pour un filtre calculé. Selon un mode de réalisation particulier de l'invention, plusieurs couches d'amélioration sont calculées correspondant à plusieurs résolutions différentes. Selon un mode de réalisation particulier de l'invention, la ou les couches d'amélioration calculées sont compressées selon un algorithme de compression sans perte. La présente invention concerne également un procédé de restitution d'un flux vidéo reçu, ledit flux vidéo étant généré comme décrit précédemment, comportant une étape de décodage de l'image basse résolution contenue dans la couche de base ; une étape de découpage en blocs de l'image basse résolution décodée selon le découpage hiérarchique correspondant contenu dans la ou l'une des couches d'amélioration reçues ; une étape d'application à chaque bloc obtenu du filtre sur-échantillonneur sélectionné associé et une étape de restitution de l'image sur-échantillonnée obtenue. La présente invention concerne également un flux de données vidéo comportant une couche de base constituée d'images basse résolution encodées et une couche d'amélioration comportant pour chaque image un découpage hiérarchique de l'image en blocs et pour chaque bloc une information relative à un filtre sur-échantillonneur. La présente invention concerne également un dispositif de génération d'un flux vidéo à partir d'une vidéo originale à une première résolution appelée haute comportant pour chaque image originale de la vidéo originale des moyens de sous- échantillonnage de l'image originale pour obtenir une image basse résolution ; des moyens d'encodage de l'image basse résolution pour obtenir une image basse résolution encodée ; des moyens de décodage de l'image basse résolution encodée pour obtenir une image basse résolution décodée ; des moyens de découpage en blocs de l'image basse résolution décodée ; des moyens de sélection d'un filtre sur- échantillonneur pour chaque bloc de l'image basse résolution décodée, permettant d'obtenir un bloc correspondant sur-échantillonné, comportant une étape de comparaison du bloc obtenu et du bloc correspondant de l'image originale ; où les moyens de découpage en blocs de l'image basse résolution décodée sont des moyens de découpage hiérarchique en blocs dont la taille dépend du contenu de l'image ; comportant en outre des moyens de multiplexage au sein du flux généré d'une couche de base comprenant l'image basse résolution encodée, et d'une couche d'amélioration comprenant le découpage hiérarchique obtenu et une information relative au filtre sélectionné pour chaque bloc du découpage.
La présente invention concerne également un dispositif de restitution d'un flux vidéo reçu, ledit flux vidéo étant généré selon le procédé décrit précédemment et comportant des moyens de décodage de l'image basse résolution contenue dans la couche de base ; des moyens de découpage en blocs de l'image basse résolution décodée selon le découpage hiérarchique correspondant contenu dans la ou l'une des couches d'amélioration reçues ; des moyens d'application à chaque bloc obtenu du filtre sur-échantillonneur sélectionné associé et des moyens de restitution de l'image sur-échantillonnée obtenue. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : La Fig. 1 décrit l'algorithme général du procédé de transmission de la vidéo par le serveur selon l'exemple de réalisation de l'invention. La Fig. 2 illustre un découpage hiérarchique.
La Fig. 3 décrit l'algorithme de restitution de la vidéo selon l'exemple de réalisation de l'invention. La présente invention se pose le problème de transmettre une vidéo compressée en vue d'une restitution efficace en plusieurs résolutions. La vidéo est disponible sur un appareil appelé serveur qui dispose de la vidéo dite originale. Le serveur est chargé de compresser et de transmettre cette vidéo à un terminal chargé de la restituer. Le terminal de restitution est capable de restituer cette vidéo dans au moins deux résolutions, une première que l'on qualifie de résolution basse et une autre plus élevée que l'on qualifie de résolution haute.
Les contraintes que l'on cherche à améliorer sont principalement la complexité du décodage de la vidéo par le terminal dans les résolutions envisagées. De manière secondaire, on cherche aussi à améliorer la bande passante nécessaire à la transmission. L'exemple de réalisation se place dans le contexte d'un terminal mobile ayant un petit écran, par exemple en quart de VGA (Video Graphics Array en anglais) ou QVGA soit 320 par 240 pixels, et doté d'une sortie vidéo permettant l'affichage d'une vidéo en mode VGA soit 640 par 480 pixels. Ces résolutions ne représentent qu'un exemple et l'invention peut s'appliquer à d'autres résolutions. La vidéo originale est disponible sur le serveur dans une résolution au moins égale à la résolution haute cle restitution. Le problème est résolu par la transmission d'une vidéo compressée encodée à la résolution basse et constituant ce que l'on appelle une couche de base (base layer en anglais) et des informations d'amélioration sous la forme d'une couche d'amélioration contenant des informations destinées à améliorer la restitution en haute résolution des images de la couche de base.
L'algorithme général du procédé de traitement d'une image de la vidéo par le serveur est illustré Fig. 1. Une image de la vidéo originale est référencée 1.1. Elle est d'abord sous-échantillonnée, par exemple d'un facteur 2 dans l'exemple de réalisation de l'invention pour donner une image sous-échantillonnée référencée 1.2. Cette image sous-échantillonnée 1.2 est alors encodée selon un algorithme classique d'encodage et de compression d'image pour donner l'image encodée 1.3. Cette image encodée est alors décodée pour donnée une image sous-échantillonnée décodée 1.4. Cette image décodée est donc à la résolution basse, elle correspond à l'image telle qu'elle est décodée sur le terminal lors d'une restitution en basse résolution. Cette image est alors suréchantillonnée pour retrouver une image de haute résolution 1.5. Cette étape de suréchantillonnage est effectuée de manière basique. Dans l'exemple de réalisation, il s'agit d'introduire des pixels de valeur nulle entre les pixels connus pour doubler la résolution dans les deux directions. On effectue alors un découpage hiérarchique de cette image suréchantillonnée pour aboutir à un découpage en blocs de cette image. Ce découpage en bloc est dépendant du contenu de l'image. Les blocs sont plus gros dans les parties de l'image en basse fréquence et plus nombreux et petits dans les parties de l'image en haute fréquence. Ce découpage prend en compte l'efficacité de plusieurs filtres suréchantillonneurs et leur efficacité en fonction du contenu du bloc et de la connaissance que l'on a de l'image originale que l'on cherche à reconstituer. Le détail de cette étape est décrit plus en détail plus loin.
Le résultat de cette étape est donc un découpage hiérarchique en blocs dépendant du contenu de l'image et pour chaque bloc de ce découpage hiérarchique l'identifiant du filtre suréchantillonneur permettant la meilleure reconstruction du bloc. On entend ici par meilleure reconstruction le filtre qui permet de minimiser le taux débit sur distorsion calculé par une étape dite de RD optimisation (Rate Distortion Optimization en anglais). Tous les filtres que l'on teste sont soit des filtres fixes disponibles dans un dictionnaire, soit des filtres calculés, par exemple des filtres de Wiener, obtenus à l'issue de l'étape de RD optimisation. Ce découpage hiérarchique et la sélection des filtres sont référencés 1.6, ils constituent les données d'amélioration que l'on va transmettre en sus des images encodées basse résolution. Ces données sont ensuite compressées. Les filtres fixes sont représentés par leur identifiant dans le dictionnaire, les filtres calculés par leurs coefficients, l'ensemble étant, par exemple, compressé par un algorithme de Huffman. Ces données d'amélioration constituent la couche d'amélioration référencée 1.7. Cette couche d'amélioration est ensuite multiplexée avec la couche de base 1.3 pour donner la vidéo transmise 1.8. Le découpage hiérarchique consiste en une opération récursive sur des blocs de pixels de l'image. Ce découpage est illustré Fig. 2. Pour découper un bloc de pixels de l'image référencé 2.1, on va chercher à calculer une valeur sur trois différents découpages possibles. On effectue un premier découpage consistant en un découpage vertical en deux parties du bloc. Ce découpage vertical résulte en deux nouveaux blocs 2.2 et 2.3. On réitère l'opération sur ces deux nouveaux blocs. Une fois évaluée la valeur recherchée sur ces deux sous blocs, on en déduit la valeur pour le découpage vertical. On cherche également à évaluer l'option sans découpage illustrée par l'option 2.3 où l'on évalue la valeur recherchée sur l'ensemble du bloc 2.4 sans nouveau découpage. Enfin, on découpe le bloc de départ 2.1 par un découpage horizontal résultant en deux nouveaux blocs 2.5 et 2.6. Comme pour le découpage vertical, on évalue la valeur recherchée pour les deux sous blocs 2.5 et 2.6 pour en déduire la valeur recherchée pour le découpage horizontal. L'axe de découpage d'un bloc est confondu avec l'axe de la médiatrice des côtés coupés. Ensuite, on teste la meilleure valeur des trois options, découpage vertical, pas de découpage et découpage horizontal. La meilleure valeur devient la valeur du bloc initial 2.1. On obtient ainsi un découpage hiérarchique de l'image de départ en initiant le processus avec l'image entière.
Les découpages représentés découpent un bloc en deux parties égales, c'est une option avantageuse, mais on comprend qu'il est possible de modifier l'algorithme en faisant varier le nombre et la taille respective des sous blocs sans modifier l'algorithme sur le fond. Ce type de découpage va être dépendant du contenu de l'image et donc de chaque bloc par le calcul effectif conduisant à l'évaluation de la valeur recherchée. Dans notre cas, la valeur recherchée va consister en la RD optimisation du bloc. C'est-à-dire que pour chaque bloc on va tester tous les filtres à notre disposition pour déterminer celui qui permet de sur-échantillonner le bloc en s'approchant le plus de l'image originale. On parle de RD optimisation dans le fait que l'on ne cherche pas uniquement le sur-échantillonnage donnant le meilleur résultat ce qui aurait pour effet de favoriser les découpages maximaux, mais que l'on cherche à optimiser le rapport entre le débit obtenu et le résultat. Le débit étant amélioré par un découpage moindre qui entraîne un moindre nombre de filtres à encoder et moins d'informations relatives au découpage. L'évaluation de la qualité d'un filtre se fait en appliquant ce filtre sur le bloc concerné et en comparant le résultat obtenu avec le bloc correspondant dans l'image originale. L'application du découpage hiérarchique couplé à une RD optimisation sélectionnant les filtres sur-échantillonneurs permet un découpage par corrélation spatiale des pixels de l'image. En fait, le découpage va correspondre aux zones de fréquence de l'image. Le découpage va se faire en gros bloc dans les zones de l'image basse fréquence où le signal vidéo est relativement stable et être beaucoup plus fin dans les hautes fréquences où le signal vidéo change rapidement. Ce découpage regroupe des pixels voisins se ressemblant et ayant besoin d'un traitement comparable. De ce fait, on améliore l'efficacité de filtres simples de petites tailles du fait qu'ils vont opérer sur des pixels corrélés. Un bloc de pixels non suffisamment corrélés va être découpé jusqu'à obtenir la corrélation nécessaire. Un bloc de pixels non suffisamment corrélé et non divisé devrait être traité par des filtres plus complexes pour obtenir une qualité comparable. Cette corrélation pouvant être limitée par l'établissement d'un seuil au-delà duquel on stoppe la subdivision, ce seuil est appliqué à la valeur de RD optimisation calculée. D'autre part, ce découpage hiérarchique permettant un découpage s'adaptant précisément aux différentes zones de texture de l'image, on limite l'effet de clignotement obtenu dans la vidéo lorsqu'une même zone d'image est traitée par des filtres différents d'une image à l'autre. La qualité dynamique entre les différentes images est donc également améliorée par l'utilisation de cette méthode de découpage hiérarchique de l'image. Parmi les différents filtres fixes pouvant être utilisés, nous citerons le filtre du plus proche voisin, le filtre bilinéaire, le filtre bicubique et le filtre basé sur Lanczos. Le filtre du plus proche voisin consiste pour chaque pixel interpolé de l'image sur-échantillonnée à lui attribuer la valeur du pixel le plus proche de l'image basse résolution. L'avantage de ce filtre est sa simplicité, il peut donner de bons résultats sur des zones homogènes de l'image.
Le filtre bilinéaire consiste en une moyenne pondérée des pixels voisins de l'image basse résolution du pixel estimé, la taille du voisinage est un bloc 2x2. Ce filtre améliore le résultat du filtre précédent au prix de l'introduction d'un léger flou sur l'image. Le filtre bicubique consiste lui aussi en une moyenne pondérée, mais sur un voisinage 4x4 du pixel. II améliore encore le résultat au prix d'un calcul un peu plus complexe. Le filtre basé sur Lanczos peut consister à effectuer des filtrages de Lanczos sur un voisinage 4x4, 6x6 et 8x8, puis de garder le meilleur résultat sur les trois. Les filtres de Wiener ne sont plus des filtres fixes, sur une zone de l'image, ici le bloc élémentaire du découpage hiérarchique, on cherche à minimiser la moyenne du carré de la différence entre l'image initiale et l'image sur-échantillonnée. On se limitera avantageusement à des coefficients codés en virgule fixe sur 8 bits. Une meilleure précision ne semblant pas améliorer de façon notable le résultat. Ces filtres sont compressés dans le flux généré. Pour les filtres fixes, un dictionnaire des filtres utilisés est établi. Ce dictionnaire est connu du serveur et du terminal. De ce fait, il suffit de transmettre l'identifiant du filtre dans le dictionnaire pour définir ce filtre. Pour des filtres calculés tels que les filtres de Wiener, il faut transmettre les coefficients du filtre. Ces coefficients seront avantageusement compressés par un algorithme de compression sans perte tel que l'algorithme de Huffman ou tout autre algorithme. Selon un mode particulier de réalisation de l'invention, le sur-échantillonnage est effectué en deux passes. Une première passe est effectuée en largeur, par exemple, tandis que la seconde passe est effectuée en hauteur. Dans ce cas, le procédé va être appliqué deux fois.
Une première fois, on génère un premier découpage hiérarchique et une première série de filtres pour les blocs de ce premier découpage. Cette première série de filtres effectue le sur-échantillonnage dans une seule direction. Ensuite, le résultat de ce premier sur-échantillonnage sert de base à un second découpage hiérarchique et à la génération d'une seconde série de filtres pour le sur-échantillonnage dans la seconde direction. On génère donc une couche de base avec les images de la vidéo dans la résolution basse comme dans le premier mode de réalisation. Une première couche d'amélioration est générée par le premier découpage hiérarchique et les filtres associés. Une seconde couche d'amélioration est générée par le second découpage hiérarchique et les filtres associés. Ce mode de réalisation offre l'avantage de pouvoir n'effectuer que le premier sur-échantillonnage dans la première direction en utilisant la couche d'amélioration, le sur-échantillonnage dans la seconde direction étant alors laissé aux soins des circuits de sur-échantillonnage basiques dont sont dotés la plupart des terminaux. Cette option est utilisée dans le cas où la puissance nécessaire au sur- échantillonnage selon le procédé manque pour effectuer les deux dimensions où que l'on souhaite la consacrer à une autre tâche du terminal. Ce mode de réalisation ouvre également la voie à une restitution du flux vidéo dans une résolution intermédiaire entre la résolution basse et la résolution haute, qui correspond à la résolution basse dans une dimension et à la résolution haute dans la seconde dimension. De même, il est possible de générer une pluralité de découpages hiérarchiques et de filtres correspondants adaptés à des résolutions variées. On peut donc multiplier les couches d'amélioration dédiées à de multiples résolutions de restitution. Le flux de données généré contient donc pour chaque image de la vidéo sa version basse résolution encodée ainsi que le découpage hiérarchique codé, par exemple, comme une succession de codes indiquant pour chaque bloc s'il est découpé verticalement, pas découpé ou découpé horizontalement. De plus, pour chaque bloc on trouve un identifiant du filtre fixe associé ou les coefficients du filtre calculé. Ces informations sont avantageusement compressées. Dans le second mode de réalisation, on trouve les deux découpages et les informations des filtres associés. Le flux peut également contenir une pluralité de découpages et de filtres correspondants associés pour une restitution dans des résolutions variées. Le décodage d'un tel flux par un terminal de restitution diffère donc selon la résolution de restitution du flux. Si la restitution est faite dans la résolution basse, la ou les couches d'améliorations sont simplement ignorées.
Le flux vidéo basse résolution est décodé de manière classique et affiché.
Si la restitution est faite dans la résolution haute et que la puissance de calcul nécessaire est disponible la couche d'amélioration est utilisée. Ce mode est illustré Fig. 3. Chaque image du flux vidéo basse résolution est décodée lors d'une étape 3.1. Les blocs correspondants au découpage hiérarchique sont générés lors d'une image 3.2. Les filtres associés à chaque bloc sont alors appliqués pour générer l'image dans la résolution haute lors d'une étape 3.3. Ces deux étapes peuvent être mixées dans une étape regroupant la génération de chaque bloc et l'application immédiate du filtre correspondant. Ensuite, lors d'une étape 3.4, l'image haute résolution générée est restituée par le terminal.

Claims (9)

REVENDICATIONS
1/ Procédé de génération d'un flux vidéo à partir d'une vidéo originale à une première résolution appelée haute comportant pour chaque image originale de la vidéo originale les étapes suivantes : une étape de sous-échantillonnage de l'image originale pour obtenir une image basse résolution ; - une étape d'encodage de l'image basse résolution pour obtenir une image basse résolution encodée ; - une étape de décodage de l'image basse résolution encodée pour obtenir une image basse résolution décodée ; - une étape de découpage en blocs de l'image basse résolution décodée ; - une étape de sélection d'un filtre sur-échantillonneur pour chaque bloc de l'image basse résolution décodée, permettant d'obtenir un bloc correspondant sur-échantillonné, comportant une étape de comparaison du bloc obtenu et du bloc correspondant de l'image originale ; caractérisé en ce que : - l'étape de découpage en blocs de l'image basse résolution décodée est une étape de découpage hiérarchique en blocs dont la taille dépend du contenu de l'image ; et en ce qu'il comporte en outre : - une étape de multiplexage au sein du flux généré d'une couche de base comprenant l'image basse résolution encodée, et d'une couche d'amélioration comprenant le découpage hiérarchique obtenu et une information relative au filtre sélectionné pour chaque bloc du découpage.
2/ Procédé selon la revendication 1, caractérisé en ce que, l'étape de sélection d'un filtre sur-échantillonneur concernant des filtres qui sur-échantillonnent l'image basse résolution selon une direction, le procédé comporte en outre : - Une seconde étape de découpage en blocs de l'image décodée basse résolution sur-échantillonnée selon une direction ; - une seconde étape de sélection d'un filtre sur-échantillonneur selon l'autre direction pour chaque bloc de l'image sur-échantillonnée selon la premièredirection, permettant d'obtenir un bloc correspondant sur-échantillonné dans les deux directions, comportant une étape de comparaison du bloc obtenu et du bloc correspondant de l'image originale.
3/ Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape de sélection de filtre se fait au moins au sein d'un dictionnaire de filtres fixes.
4/ Procédé selon la revendication 3, caractérisé en ce que l'étape de sélection de filtre comprend également des filtres calculés.
5/ Procédé selon la revendication 4, caractérisé en ce que les filtres calculés sont des filtres dits de Wiener.
6/ Procédé selon l'une des revendications 1 à 5, caractérisé en ce que l'étape de 15 comparaison du bloc obtenu et du bloc correspondant comporte une étape d'optimisation débit distorsion dudit bloc.
7/ Procédé selon l'une des revendications 1 à 6, caractérisé en ce que l'information relative au filtre sélectionné soit un index dudit filtre dans un 20 dictionnaire de filtres pour un filtre fixe.
8/ Procédé selon l'une des revendications 1 à 6, caractérisé en ce que l'information relative au filtre sélectionné est l'ensemble des coefficients calculés pour un filtre calculé.
9/ Procédé selon l'une des revendications 1 à 8, caractérisé en ce que plusieurs couches d'amélioration sont calculées correspondant à plusieurs résolutions différentes. 30 10/ Procédé selon l'une des revendications 1 à 9, caractérisé en ce que la ou les couches d'amélioration calculées sont compressées selon un algorithme de compression sans perte. 2511/ Procédé de restitution d'un flux vidéo reçu, ledit flux vidéo étant généré selon l'une des revendications 1 à 10, caractérisé en ce qu'il comporte pour chaque image les étapes suivantes : - une étape de décodage de l'image basse résolution contenue dans la couche de base ; - une étape de découpage en blocs de l'image basse résolution décodée selon le découpage hiérarchique correspondant contenu dans la ou l'une des couches d'amélioration reçues ; - une étape d'application à chaque bloc obtenu du filtre sur-échantillonneur sélectionné associé ; - une étape de restitution de l'image sur-échantillonnée obtenue. 12/ Flux de données vidéo caractérisé en ce qu'il comporte : - une couche de base constituée d'images basse résolution encodées ; 15 - une couche d'amélioration comportant pour chaque image : o un découpage hiérarchique de l'image en blocs o pour chaque bloc une information relative à un filtre sur-échantillonneur. 20 13/ Dispositif de génération d'un flux vidéo à partir d'une vidéo originale à une première résolution appelée haute comportant pour chaque image originale de la vidéo originale : - des moyens de sous-échantillonnage de l'image originale pour obtenir une image basse résolution ; 25 - des moyens d'encodage de l'image basse résolution pour obtenir une image basse résolution encodée ; - des moyens de décodage de l'image basse résolution encodée pour obtenir une image basse résolution décodée ; - des moyens de découpage en blocs de l'image basse résolution décodée ; 30 - des moyens de sélection d'un filtre sur-échantillonneur pour chaque bloc de l'image basse résolution décodée, permettant d'obtenir un bloc correspondant sur-échantillonné, comportant une étape de comparaison du bloc obtenu et du bloc correspondant de l'image originale ; caractérisé en ce que : 10- les moyens de découpage en blocs de l'image basse résolution décodée sont des moyens de découpage hiérarchique en blocs dont la taille dépend du contenu de l'image ; et en ce qu'il comporte en outre : - des moyens de multiplexage au sein du flux généré d'une couche de base comprenant l'image basse résolution encodée, et d'une couche d'amélioration comprenant le découpage hiérarchique obtenu et une information relative au filtre sélectionné pour chaque bloc du découpage. 14/ Dispositif de restitution d'un flux vidéo reçu, ledit flux vidéo étant généré selon l'une des revendications 1 à 10, caractérisé en ce qu'il comporte pour chaque image : - des moyens de décodage de l'image basse résolution contenue dans la couche de base ; - des moyens de découpage en blocs de l'image basse résolution décodée selon le découpage hiérarchique correspondant contenu dans la ou l'une des couches d'amélioration reçues ; - des moyens d'application à chaque bloc obtenu du filtre sur-échantillonneur sélectionné associé ; - des rnoyens de restitution de l'image sur-échantillonnée obtenue.
FR0706272A 2007-09-07 2007-09-07 Procede et dispositif de generation d'un flux video Active FR2920940B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0706272A FR2920940B1 (fr) 2007-09-07 2007-09-07 Procede et dispositif de generation d'un flux video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0706272A FR2920940B1 (fr) 2007-09-07 2007-09-07 Procede et dispositif de generation d'un flux video

Publications (2)

Publication Number Publication Date
FR2920940A1 true FR2920940A1 (fr) 2009-03-13
FR2920940B1 FR2920940B1 (fr) 2010-02-12

Family

ID=39539746

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0706272A Active FR2920940B1 (fr) 2007-09-07 2007-09-07 Procede et dispositif de generation d'un flux video

Country Status (1)

Country Link
FR (1) FR2920940B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142801A1 (fr) * 2010-05-10 2011-11-17 Thomson Licensing Procédés et appareil permettant un codage et un décodage d'intra-bloc interpolatifs et adaptatifs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1720358A2 (fr) * 2005-04-11 2006-11-08 Sharp Kabushiki Kaisha Procédé et dispositif pour le sur-échantillonage adaptatif pour le codage de type échelonnable spatiallement
WO2007080477A2 (fr) * 2006-01-10 2007-07-19 Nokia Corporation Mécanisme de sur-échantillonnage de filtre commuté pour codage vidéo hiérarchique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1720358A2 (fr) * 2005-04-11 2006-11-08 Sharp Kabushiki Kaisha Procédé et dispositif pour le sur-échantillonage adaptatif pour le codage de type échelonnable spatiallement
WO2007080477A2 (fr) * 2006-01-10 2007-07-19 Nokia Corporation Mécanisme de sur-échantillonnage de filtre commuté pour codage vidéo hiérarchique

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KO C C ET AL: "Fast Intermode Decision in H.264/AVC Video Coding", 1 July 2005, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, PAGE(S) 953 - 958, ISSN: 1051-8215, XP011135320 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142801A1 (fr) * 2010-05-10 2011-11-17 Thomson Licensing Procédés et appareil permettant un codage et un décodage d'intra-bloc interpolatifs et adaptatifs

Also Published As

Publication number Publication date
FR2920940B1 (fr) 2010-02-12

Similar Documents

Publication Publication Date Title
EP2446629B1 (fr) Procédés de codage et de décodage d'images, dispositifs de codage et de décodage, et programme d'ordinateur correspondants
EP3318061B1 (fr) Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
EP3707900B1 (fr) Procédé de formation d'une séquence d'images de sortie à partir d'une séquence d'images d'entrée, procédé de reconstruction d'une séquence d'images d'entrée à partir d'une séquence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associés
WO2015059400A1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP2279621B1 (fr) Procédé de codage, de décodage, codeur et décodeur
FR2933565A1 (fr) Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
CN114584805A (zh) 视频传输方法、服务器、终端和视频传输系统
EP3058737A1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
FR2755818A1 (fr) Codage de signal numerique par decomposition en sous-bandes de frequence et quantification vectorielle a etats finis
EP3075155B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP3490255A1 (fr) Compression intelligente de contenus vidéo grainés
FR2670348A1 (fr) Dispositif de codage d'images appartenant a une sequence d'images, a rearrangement des lignes avant transformation mathematique, systeme de transmission d'images, recepteur et procede de codage correspondants.
EP3198876B1 (fr) Génération et codage d'images intégrales résiduelles
FR2628276A1 (fr) Procede de reduction de debit d'une sequence de donnees d'assistance a la reconstitution d'une image electronique a partir d'un signal sous-echantillonne
FR2920940A1 (fr) Procede et dispositif de generation d'un flux video
EP3637765A1 (fr) Optimisation d'un sous-échantillonnage intervenant avant le codage d'images en compression
EP1574068B1 (fr) Procede de codage d'une image par ondelettes et procede de decodage correspondant
FR2927758A1 (fr) Procede et dispositif de codage-decodage d'images video successives selon un flux video principal en pleine resolution et selon un flux video secondaire en qualite reduite
EP3918798A1 (fr) Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
EP3939304A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
EP1679899A1 (fr) Procédé et dispositif de réduction des artefacts d'une image numérique
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d'un signal numerique d'image
EP3272122A1 (fr) Codage d'images par quantification vectorielle

Legal Events

Date Code Title Description
CD Change of name or company name
CD Change of name or company name

Owner name: NINTENDO EUROPEAN RESEARCH & DEVELOPMENT, FR

Effective date: 20121221

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17