FR2774244A1 - Procede de conversion de la representation d'une image video entre deux systemes de codage - Google Patents

Procede de conversion de la representation d'une image video entre deux systemes de codage Download PDF

Info

Publication number
FR2774244A1
FR2774244A1 FR9800954A FR9800954A FR2774244A1 FR 2774244 A1 FR2774244 A1 FR 2774244A1 FR 9800954 A FR9800954 A FR 9800954A FR 9800954 A FR9800954 A FR 9800954A FR 2774244 A1 FR2774244 A1 FR 2774244A1
Authority
FR
France
Prior art keywords
parameters
parameter
values
bits
sep
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
FR9800954A
Other languages
English (en)
Other versions
FR2774244B1 (fr
Inventor
Andrzej Wozniak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Priority to FR9800954A priority Critical patent/FR2774244B1/fr
Priority to US09/235,294 priority patent/US6323872B1/en
Publication of FR2774244A1 publication Critical patent/FR2774244A1/fr
Application granted granted Critical
Publication of FR2774244B1 publication Critical patent/FR2774244B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

La présente invention concerne un procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage à l'aide de deux ensembles de paramètres respectifs dont chaque ensemble de paramètres est déduit de l'autre par une transformation matricielle, caractérisé en ce qu'il comporte :- une étape consistant à sélectionner, pour chaque paramètre de l'ensemble à convertir du premier système au second système de codage, une décomposition (11A, 11B, 11C; 12A, 12B, 12C) dans les paramètres du second système de codage et représentative de la valeur du paramètre dans la transformation matricielle,- une étape consistant à additionner les décompositions de chacun des paramètres à convertir.

Description

Procédé de conversion de la représentation d'une image vidéo entre
deux systèmes de codage
La présente invention concerne un procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage.
L'invention concerne plus particulièrement un procédé permettant de réaliser la conversion de la représentation d'une image vidéo entre deux systèmes de codage dont les deux ensembles de paramètres respectifs se déduisent l'un de l'autre par une transformation matricielle.
L'invention peut s'appliquer, par exemple, pour la conversion d'images entre les standards RGB et YCrCb.
Lorsqu'une image est envoyée sur un réseau du type, par exemple,
INTERNET, L'image peut être compressée par un algorithme selon la norme
ITU H261. L'image est codée selon le système de codage YCrCb définie dans la recommandation 601 de la C.C.I.R. (Y = luminance, Cr = différence entre la composante rouge et la luminance, Cb = différence entre la composante bleue et la luminance). Lorsque l'image est récupérée sous un système d'exploitation du type, par exemple, "WINDOWS", L'image est codée selon le standard RGB (R =Rouge, G = Vert , B = Bleu). Les deux ensembles de paramètres des deux systèmes de codages se déduisent l'un de l'autre par une transformation matricielle. Ainsi, la conversion des paramètres d'un système de codage à l'autre nécessite, pour chaque pixel de l'image, un nombre d'opérations de calcul qui sont très coûteuses en temps machine.
Un premier but de l'invention est de proposer un procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage, réduisant le nombre d'opérations de traitement lors de la conversion de l'image.
Ce but est atteint par le fait que le procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage à l'aide de deux ensembles de paramètres respectifs dont chaque ensemble de paramètres est déduit de l'autre par une transformation matricielle, caractérisé en ce qu'il comporte:
- une étape consistant à sélectionner, pour chaque paramètre de l'ensemble à convertir du premier système au second système de codage, une décomposition dans les paramètres du second système de codage et représentative de la valeur du paramètre dans la transformation matricielle
- une étape consistant à additionner les décompositions de chacun des paramètres à convertir.
Selon une autre particularité, chacun des paramètres des deux systèmes de codage ont des plages de valeurs autorisées, le procédé de conversion comportant une étape consistant à écrêter les valeurs des paramètres à convertir etlou les valeurs des paramètres convertis qui sont en-dehors des plages de valeurs autorisées correspondantes.
Selon une autre particularité, chaque décomposition dans les paramètres du second système de codage est sélectionnée par adressage à l'aide de la valeur entrée du paramètre concerné dans une table de conversion mémorisée.
Selon une autre particularité, I'opération d'addition est suivie d'une étape de décadrage et de réorganisation du résultat.
Selon une autre particularité, les décompositions dans les paramètres du second système de codage sont constituées de mots ayant la même taille en bits, les valeurs des paramètres du second système de codage de la décomposition étant située sur des plages de bits adjacentes et étant séparées éventuellement par au moins un bit de protection contre la propagation de la retenue résultant des additions.
Selon une autre particularité, les valeurs des paramètres du second système de codage de la décomposition ont des tailles en bits supérieures aux tailles des valeurs codées à l'issue de la conversion aussi bien sur les poids faibles pour augmenter la précision des calculs que sur les poids forts pour accommoder le débordement. L'étape qui consiste à additionner les décompositions de chacun des paramètres à convertir est suivie d'une étape consistant à extraire les plages de bits représentatives des valeurs des paramètres du second système de codage, pour éliminer les bits de précision, les bits de retenue et les bits de débordement.
Selon une autre particularité, le procédé de conversion de la représentation d'image vidéo entre deux systèmes de codage est utilisé pour la conversion d'image du standard RGB vers le standard YCrCb et inversement.
Selon une autre particularité, le procédé de conversion de la représentation d'image vidéo entre deux systèmes de codage comporte une étape d'écrêtage des valeurs des paramètres de la décomposition constituant le paramètre converti, L'étape d'écrêtage consistant à remplacer les valeurs qui sont inférieures à la limite inférieure de la plage de valeurs autorisées par la valeur limite inférieure, et à remplacer les valeurs qui sont supérieures à la limite supérieure de la plage de valeurs autorisées par la valeur limite supérieure.
Selon une autre particularité, L'étape d'écrêtage est réalisée soit directement dans les tables de conversion soit par un programme.
Selon une autre particularité, chaque décomposition est constituée d'un mot de 32 bits, chaque table de conversion associée à un paramètre à convertir (R, G, B), respectivement (Y, Cr, Cb) comportant au moins 256 mots ou décompositions correspondant aux valeurs possibles des paramètres à convertir.
Selon une autre particularité, pour la conversion des paramètres (R,
G, B) en paramètres (Y, Cr, Cb), les décompositions des paramètres (R, G,
B) comportent chacune une première plage de N1 bits représentative de la valeur correspondante du paramètre (Y) ou luminance, une deuxième plage de N2 bits représentative de la valeur correspondante du paramètre (Cb), ou différence entre la luminance et la chrominance bleue et une troisième plage de N3 bits représentative de la valeur correspondante du paramètre (Cr), ou différence entre la luminance et la chrominance rouge.
Selon une autre particularité, toutes les plages comportent des bits supplémentaires pour augmenter la précision.
Selon une autre particularité, pour la conversion des paramètres (Y,
Cr, Cb) en paramètres (R, G, B) les décompositions des paramètres (Y, Cr, Cb) comportent une plage de M1 bits représentative de la valeur correspondante du paramètre (R) ou couleur rouge, une plage de M2 bits représentative de la valeur correspondante du paramètre (B), ou couleur bleue, et une plage de M3 bits représentative de la valeur correspondante du paramètre (G), ou couleur verte, chacune des plages de bits représentatives des valeurs des paramètres R et B comportant i bit prévu pour la protection contre la propagation de la retenue, toutes les plages possédant au moins 1 bit d'augmentation de précisioin et 1 bit de débordement.
D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description d'un exemple non limitatif, ci-après faite en référence aux dessins annexés dans lesquels:
- la figure 1A représente schématiquement et partiellement le procédé de conversion de la représentation d'une image vidéo du système de codage RGB vers le système de codage YCrCb,
- la figure 1B représente schématiquement et partiellement une étape d'extraction du procédé de conversion du système de codage RGB vers le système de codage YCrCb,
- la figure 2A représente schématiquement et partiellement le procédé de conversion de la représentation d'une image vidéo du système de codage YCrCb vers le système de codage RGB,
- la figure 2B représente schématiquement et partiellement une étape d'extraction du procédé de conversion du système de codage YCrCb vers le système de codage RGB.
L'invention va à présent être décrite en référence aux figures 1A et 1B. Le procédé de conversion de la représentation d'une image vidéo d'un premier système de codage vers un second système de codage consiste, selon l'invention, à remplacer les opérations de conversion matricielle des paramètres de l'image, par une sélection, pour chaque paramètre à convertir du premier au second système de codage, d'une décomposition exprimée en fonction des paramètres du second système de codage. La décomposition est représentative de la valeur du paramètre du premier système de codage à convertir dans le second système de codage. Chaque décomposition comporte trois plages représentatives de chacune des composantes de la valeur du paramètre selon le second système de codage. Les décompositions de chacun des paramètres à convertir sont ensuite additionnées. Le procédé selon l'invention peut comporter des extractions des valeurs des paramètres constituant les décompositions. De même, le procédé peut comporter une étape consistant à écrêter les valeurs des paramètres à convertir etlou des valeurs converties qui sont en-dehors des plages des valeurs autorisées pour ces paramètres. Un exemple de réalisation nullement limitatif de l'invention va à présent être décrit dans son application à la conversion d'image entre les standards RGB et YCrCb.
A un facteur d'échelle près, la transformation matricielle qui exprime les paramètres (Y = luminance, Cr = différence entre la composante rouge et la luminance, Cb = différence entre la composante bleue et la luminance) en fonction des paramètres (R = rouge, G = vert, B = bleu) est donnée par la formule:
Figure img00050001
<tb> Y <SEP> 16 <SEP> 1 <SEP> 65.738 <SEP> 129.057 <SEP> 25.0641 <SEP> R
<tb> Cb <SEP> = <SEP> <SEP> 128 <SEP> + <SEP> <SEP> x <SEP> <SEP> -37.945 <SEP> <SEP> - <SEP> 74.494 <SEP> 112.439 <SEP> xG <SEP>
<tb> Cr <SEP> 128 <SEP> 256 <SEP> 112.439- <SEP> 94.154-18.285 <SEP> B
<tb>
Ce qui revient à exprimer la valeur de Y, par exemple, par l'équation
Y = 65.738/256 X R + 129.057/256 X G + 25.064/256 X B + 16. 256 étant un facteur d'échelle qui correspond au fait que les paramètres R, G et B ont des valeurs autorisées ou exploitables qui sont comprises entre 0 et 255. Le paramètre Y a des valeurs exploitables ou autorisées qui sont comprises entre 16 et 235, tandis que les paramètres Cb et Cr ont des valeurs autorisées ou exploitables qui sont comprises entre 16 et 240. Les décompositions sont calculées avec une précision absolue et ensuite arrondies au plus proche en tenant compte des bits de précision. Le procédé selon l'invention consiste, pour chaque paramètre à convertir du premier (R,
G, B) système de codage au second (Y, Cr, Cb) système de codage, à sélectionner une décomposition (11A, 11B, 11C) sur par exemple, 32 bits qui exprime la valeur d'un paramètre du premier système de codage (R, G,
B) en fonction des paramètres (Y, Cr, Cb) du second système de codage.
Chaque décomposition est représentative de la valeur du paramètre à convertir. Chaque décomposition (11A, 11B, liC) dans les paramètres du second système de codage peut être sélectionnée, par exemple, dans une table respective (1A, 1B, 1C) de conversion associée au paramètre concerné. Les décompositions (11A, Il B, 11 C) des paramètres respectifs (R, G, B), qui constituent les tables respectives (1A, lB, 1C) de conversion, sont données par la transformation matricielle qui exprime les paramètres (Y, Cr, Cb) en fonction des paramètres (R, G, B). Chaque décomposition (11A, llB, liC) peut être constituée d'un mot de, par exemple, 32 bits.
Chaque table (1A, 1B, 1C) de conversion associée à un paramètre respectif à convertir (R, G, B) peut comporter, par exemple, 256 mots de 32 bits ou décompositions correspondant à 256 valeurs possibles de paramètre à convertir. Ainsi, chaque décomposition (11A, 11 B, 11 C) de chaque paramètre (R, G, B) à convertir est sélectionnée comme étant celle la plus proche ou égale à la valeur du paramètre à convertir. La table de conversion (1A) pour la conversion des paramètres (R) en paramètres (Y, Cr, Cb), la répartition des 32 bits de chaque décomposition peut être effectuée de façon qu'une plage de 12 bits soit représentative de la valeur correspondante du paramètre Y, une plage de 10 bits soit représentative de la valeur correspondante du paramètre Cb et les 10 bits restants soient représentatifs de la valeur correspondante du paramètre Cr. Chaque table de conversion (i B, 1C) pour la conversion des paramètres (G, respectivement B) en paramètres (Y, Cr, Cb) sera constituée selon le même principe. La plage de bits (bits 12 à 21) représentative de la valeur du paramètre Cb est située entre les plages de bits représentatives respectivement des valeurs des paramètres Y qui se termine au bit 11 et Cr qui commence au bit 22 (figure 1A). La plage de bits représentative de la valeur du paramètre Y est constituée des bits 0 à 11 de plus faible poids de la décomposition (bit O à bit 11, figure 1A). La plage de bits représentative de la valeur du paramètre Cr correspond aux bits de plus grand poids de la décomposition (bit 22 à bit 31 de la figure 1A). Les paramètres d'entrée à convertir qui sont valides, c'est-à-dire les paramètres compris dans des plages de valeurs autorisées, ne posent aucun problème de débordement, c'est-à-dire pour toutes les valeurs comprises entre 0 et 255, les coefficients sont choisis de telle façon que le résultat ne génère jamais de retenue. Ainsi pour la conversion RGB o YCbCr, Y est exprimée par la formule dans laquelle toutes les valeurs sont positives et dont la somme est comprise entre 16 et 235 s'exprime de la façon suivante:
Figure img00070001
<tb> <SEP> 65.738 <SEP> 129.057 <SEP> 25.064 <SEP>
<tb> Y <SEP> = <SEP> # <SEP> xR <SEP> # <SEP> +# <SEP> xG <SEP> #+# <SEP> x <SEP> B <SEP> + <SEP> 16#
<tb> <SEP> 256 <SEP> 256 <SEP> 256
<tb> <SEP> 37.945 <SEP> 74.494 <SEP> 112 <SEP>
<tb> Cb <SEP> = <SEP> #- <SEP> <SEP> x <SEP> R# <SEP> <SEP> + <SEP> #- <SEP> x <SEP> G#+# <SEP> x <SEP> G <SEP> + <SEP> 128#
<tb> <SEP> 256 <SEP> 256 <SEP> 256
<tb> avec 16 # Cb < 240.
Figure img00070002
<SEP> 112.439 <SEP> 94.154 <SEP> 18.285
<tb> Cr <SEP> = <SEP> # <SEP> x <SEP> R# <SEP> +#- <SEP> x <SEP> G# <SEP> + <SEP> #- <SEP> x <SEP> B+ <SEP> 128# <SEP>
<tb> <SEP> 256 <SEP> 256 <SEP> 256
<tb>
Toutefois, les valeurs négatives impliquent une retenue qui viendrait perturber la plage suivante située à gauche. Dans le cas de cette conversion, on peut trouver une décomposition de la constante 128, par exemple en 48 pour le terme associé à R et 80 pour le terme associé à G de telle façon que toutes les plages soient strictement positives.
Figure img00080001
<tb>
<SEP> 37.945 <SEP> 74.494 <SEP> 112.439
<tb> Cb= <SEP> - <SEP> x <SEP> R <SEP> + <SEP> 48#+#- <SEP> x <SEP> G+ <SEP> 80#+# <SEP> x <SEP> B# <SEP>
<tb> <SEP> 256 <SEP> 256 <SEP> 256
<tb>
De même, pour Cr, on décompose la constante 128 en 100 pour le terme associé à G et 28 pour celui associé à B.
Figure img00080002
<tb>
<SEP> 112.439 <SEP> 94.154 <SEP> 18.285
<tb> Cr <SEP> =# <SEP> x <SEP> R <SEP> #+ <SEP> #- <SEP> <SEP> x <SEP> G+100#+ <SEP> #- <SEP> x <SEP> B+28 <SEP> #
<tb> <SEP> 256 <SEP> 256 <SEP> 256
<tb>
Ainsi avec cette décomposition des constantes, aucun bit de séparation ou de débordement n'est nécessaire.
Chaque plage de bits représentative de la valeur d'un paramètre de décomposition peut comporter jusqu'à 4 bits, par exemple, deux bits (4) de précision constituant les deux bits de plus faible poids de la plage de bits concernée. Ainsi, les valeurs des paramètres (Y, Cr, Cb) des décompositions sont définies avec une résolution de 10 bits au cours de la conversion.
Chacune des décompositions (11A, 11B, 11C) de chacun des paramètres (R, G, B) à convertir sont ensuite additionnées et ainsi les plages de bits représentatives des mêmes paramètres (Y, Cr, Cb) s'additionnent entre elles. La somme (21) des décompositions (11A, Il B, 11C) a le même format que les décompositions. Le procédé de conversion selon l'invention se poursuit par une étape consistant à extraire les plages de bits représentatives des valeurs des paramètres (Y, Cr, Cb) vers les bits de plus faible poids, pour éliminer les bits (4) de précision. Ainsi, pour exprimer la valeur finale de Y, le procédé sélectionne les bits 4 à 11 de la somme et ignore les quatre premiers bits de poids faible. Pour exprimer la composante Cb, le procédé sélectionne les bits 14 à 21 de la somme et pour exprimer la composante Cr, le programme, qui met en oeuvre le procédé, sélectionne les bits 24 à 31. Le résultat (31) obtenu est un mot de 24 bits dont les bits 0 à 7 sont représentatifs du paramètre Y, les bits 8 à 15 sont représentatifs du paramètre Cb et les bits 16 à 23 sont représentatifs du paramètre Cr. En effet, le format de 8 bits des paramètres (Y, Cr, Cb) est le format sous lequel le codage est exploitable dans les réseaux de type "INTERNET'. Le procédé de conversion peut comporter une étape consistant à écrêter les valeurs des paramètres à convertir (R, G, B) qui sont en-dehors des plages correspondantes de valeurs autorisées. L'ecrêtage peut consister à étendre les tableaux de décompositions pour des valeurs en-dehors de paramètres à convertir et calculer la valeur des plages correspondantes à partir des valeurs ecrêtées. L'écrêtage peut consister à remplacer les valeurs qui sont inférieures à la limite inférieure de la plage de valeurs par la valeur limite inférieure autorisée, et à remplacer les valeurs qui sont supérieures à la limite supérieure de la plage de valeurs autorisées par la valeur limite supérieure.
A un facteur d'échelle près, la transformation matricielle qui exprime les paramètres (R, G, B) en fonction des paramètres (Y, Cr, Cb) est donnée par:
Figure img00090001
<tb> R <SEP> 1 <SEP> <SEP> 298.082 <SEP> 0 <SEP> 408.583 <SEP> Y <SEP> - <SEP> 16
<tb> G <SEP> = <SEP> x <SEP> <SEP> 298.082 <SEP> -100.291 <SEP> -208.120 <SEP> : <SEP> Cb <SEP> - <SEP> 128 <SEP>
<tb> B <SEP> 256 <SEP> 298.082 <SEP> 516.411 <SEP> 0 <SEP> Or <SEP> 128 <SEP>
<tb>
Les plages de valeurs autorisées pour ces paramètres sont bien sûr les mêmes que celles indiquées ci-dessus.
Les figures 2A et 2B illustrent la conversion des paramètres (Y, Cr, Cb) en paramètres (R, G, B). Cette conversion est sensiblement identique à celle qui consiste à convertir les paramètres (R, G, B) en paramètres (Y, Cr, Cb) et qui est décrite cidessus en liaison aux figures 1A et lB. Ainsi, chacun des paramètres (Y), respectivement (Cr), respectivement (Cb) est exprimé dans une décomposition respective (12A, 12B, 12C) de 32 bits en fonction des paramètres (R, G, B), laquelle décomposition est représentative de la valeur du paramètre concerné (Y), respectivement (Cr), respectivement (Cb). Ces décompositions sont sélectionnées dans des tables (2A, 2B, 2C) de sélection associées à chacun des paramètres à convertir (Y), respectivement (Cr), respectivement (Cb). Les décompositions (12A, 12B, 12C) des paramètres (Y, Cr, Cb), qui sont organisées en tables (2A, 2B, 2C) de conversion de 256 mots de 32 bits, sont données par la transformation matricielle ci-dessus qui exprime les paramètres (R, G, B) en fonction des paramètres (Y, Cr, Cb). Ces tables peuvent avoir la même taille que les tables de la figure 1A. Pour cette conversion des paramètres (Y, Cr, Cb) en paramètres (R, G, B) la répartition des 32 bits de chaque décomposition (12A, 12B, 12C) est effectuée de façon qu'une première plage (121A, 121 B, 121 C) de 11 bits est représentative de la valeur de la décomposition correspondante du paramètre R, une seconde (122A, 122B, 122C) plage de 11 bits (bits 11 à 21) est représentative de la décomposition correspondante du paramètre B et les 10 bits restants (bits 22 à 31) (123A, 123B, 123C) constituant une troisième plage sont représentatifs de la valeur correspondante du paramètre G. La plage de bits représentative de la valeur du paramètre B est située, par exemple, entre les plages de bits représentatives respectivement des valeurs des paramètres R et G, et plus précisément entre les bits 11 et 21 (figure 1C). La plage de bits représentative de la valeur du paramètre R est constituée, par exemple, par des bits de plus faible poids de la décomposition (bits O à bit 10, figure 2A) et donc la plage de bits représentative de la valeur du paramètre G constitue les bits de plus grand poids de la décomposition (bits 22 à bit 31, figure 2A).
Le bit de plus grand poids de la première plage (121A) de 11 bits qui est représentative de la valeur du paramètre R peut être un bit (3) de retenue (bit 10, figure 2B), qui est prévu pour constituer une protection contre la propagation de la retenue. De même, le bit de plus grand poids de la seconde plage de 11 bits qui est représentative de la valeur du paramètre B peut être un bit (3) de retenue (bit 21, figure 2B), qui est également prévu pour constituer une protection contre la propagation de la retenue. Ces deux bits (3) de retenue constituent chacun une isolation respectivement entre les plages de bits des paramètres R et B et entre les plages de bits de paramètres B et G. Ces bits de retenue empêchent ainsi que, lors de l'addition des trois décompositions, la valeur de la somme des parties représentatives du paramètre R ne perturbe les bits de plus faible poids de la plage B et que la valeur du paramètre B ne perturbe les bits de plus faible poids du paramètre G. Ces deux bits (3) de retenue sont prévus pour les paramètres R et B car dans les lignes correspondantes de la matrice de conversion des paramètres (R, G, B) vers les paramètres (Y, Cr, Cb), seules deux valeurs de coefficients de la matrice sont non nuls. Ainsi, un seul bit (3) de protection contre la propagation de la retenue s'avère nécessaire. Pour la plage de bits représentative du paramètre G, aucun bit de retenue n'est prévu car la plage de bits représentative de G constitue les bits de plus grand poids de la décomposition de 32 bits. II ne se pose donc aucun problème de propagation de la retenue pour le paramètre G. En mettant la plage G sur le poids faible, il aurait fallu 2 bits de retenue. Comme précédemment, les paramètres d'entrée à convertir qui sont valides, c'est-àdire les paramètres compris dans des plages autorisées, ne posent aucun problème de débordement. Comme l'espace YCbCr est plus compact que l'espace RGB, il existe des combinaisons de valeurs YCbCr illégales et cela même pour des valeurs YCbCr appartenant aux plages de valeurs autorisées. Ces valeurs qui ne peuvent pas être obtenues de la conversion inverse (RGB o YCbCr) provoquent un débordement, c'est-à-dire un résultat inférieur à O ou supérieur à 255. Les plages R, G et B possèdent un bit de débordement situé sur le poids fort entre le bit de la retenue et le bit le plus significatif du résultat. En examinant ce bit, on peut déterminer le débordement et ecrêter le résultat. Chaque plage de bits représentative de la valeur d'un paramètre de décomposition peut comporter, par exemple, un bit de précision (4, figure 2B) constituant le bit de plus faible poids de la plage de bits concernée. Ainsi, les valeurs des paramètres (R, G, B) des décompositions sont définies avec une résolution de 9 bits au cours de la conversion. De la même façon que précédemment, les décompositions (12A, 12B, 12C) de tous les paramètres (R, G, B) à convertir sont ensuite additionnées et ainsi les plages de bits représentatives des mêmes paramètres (R, G, B) s'additionnent entre elles. La somme (22) des décompositions (12A, 12B, 12C) a le format d'un mot de 32 bits dont les bits 10 et 21 sont des bits (3) de retenue. Les plages de bits représentatives des valeurs des paramètres (R, G, B) sont ensuite décalées vers les bits de plus faible poids (figure 2B), pour éliminer les bits (4) de précision, les bits (3) de retenue et les bits (5) de débordement. De plus, au cours de cette opération de décalage, les plages de bits correspondant aux paramètres (R, G, B) peuvent être décalés de façon que la plage de bits représentative de la valeur du paramètre G soit située entre les plages de bits représentatives respectivement des valeurs des paramètres B et R. La plage de bits représentative de la valeur du paramètre R est constituée des huit bits 1 à 8 de faible poids de la somme (22) des décompositions et la plage de bits représentative de la valeur du paramètre B est constituée des huit bits 12 à 19 de poids moyen de la somme (22) des décompositions. La plage de bits représentative de la valeur du paramètre G de la décomposition est constituée par les huit bits 23 à 30 de plus grand poids de la somme. Le résultat (32) obtenu est un mot de 24 bits dont les bits O à 7 sont représentatifs du paramètre R, les bits 8 à 15 sont représentatifs du paramètre G et les bits 16 à 23 sont représentatifs du paramètre B. Le format de 8 bits des paramètres (R, G, B) est celui exploitable, par exemple, pour le système d'exploitation "WINDOWS". De plus, pour des valeurs de
YCbCr inférieures à zéro ou supérieures à 255, les tables (2A, 2B, 2C) de conversion peuvent être étendues de façon à adapter le procédé de conversion à des coefficients en excès.
Bien sûr, I'invention, n'est pas limitée au mode de réalisation illustratif décrit ci-dessus. En particulier, le procédé peut être appliqué à des représentations plus grandes. De même, I'ordre des plages choisi pour expliciter l'invention peut être modifié sans sortir du cadre de l'invention.
Ainsi et à titre d'exemple, les formats des tables de conversion et des décompositions des paramètres peuvent être différents de ceux décrits cidessus, sans sortir du cadre de l'invention. II est par exemple possible de prévoir des tables de conversion plus grandes qui permettent de traiter des valeurs longues et signées, mais au détriment de la consommation mémoire.
On conçoit ainsi que l'on a un procédé de conversion de la représentation d'une image vidéo d'un premier système de codage vers un second système de codage réduisant le nombre d'opérations de traitement lors de la conversion de l'image et économisant ainsi du temps machine.
D'autres modifications à la portée de l'homme de métier font également partie de l'esprit de l'invention.

Claims (13)

  1. - une étape consistant à additionner les décompositions de chacun des paramètres à convertir.
    - une étape consistant à sélectionner, pour chaque paramètre de l'ensemble à convertir du premier système au second système de codage, une décomposition (11A, 11B, 11C; 12A, 12B, 12C) dans les paramètres du second système de codage et représentative de la valeur du paramètre dans la transformation matricielle,
    1. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage à l'aide de deux ensembles de paramètres respectifs dont chaque ensemble de paramètres est déduit de l'autre par une transformation matricielle, caractérisé en ce qu'il comporte:
    REVENDICATIONS
  2. 2. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 1, caractérisé en ce que chacun des paramètres des deux systèmes de codage ont des plages de valeurs autorisées, le procédé de conversion comportant une étape consistant à écrêter les valeurs des paramètres à convertir et/ou les valeurs des paramètres convertis qui sont en-dehors des plages de valeurs autorisées correspondantes.
  3. 3. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 2, caractérisé en ce que chaque décomposition (liA, 11B, 11C; 12A, 12B, 12C) dans les paramètres du second système de codage est sélectionnée par adressage à l'aide de la valeur entrée du paramètre concerné dans une table (lA, 1B, 1C; 2A, 2B, 2C) de conversion mémorisée.
  4. 4. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'opération d'addition est suivie d'une étape de décadrage et de réorganisation du résultat.
  5. 5. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les décompositions (liA, 11B, 11C; 12A, 12B, 12C) dans les paramètres du second système de codage sont constituées de mots ayant la même taille en bits, les valeurs des paramétres du second système de codage de la décomposition étant située sur des plages de bits adjacentes et étant séparées éventuellement par au moins un bit (3) de protection contre la propagation de la retenue résultant de la décomposition etlou des additions.
  6. 6. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 5, caractérisé en ce que les valeurs des paramètres du second système de codage de la décomposition ont des tailles en bits supérieures aux tailles des valeurs codées à l'issue de la conversion aussi bien sur les poids faibles pour augmenter la précision des calculs que sur les poids forts pour accommoder les débordements, L'étape consistant à additionner les décompositions de chacun des paramètres à convertir étant suivie d'une étape consistant à extraire les plages de bits représentatives des valeurs des paramètres du second système de codage, pour éliminer les bits (4) de précision, les bits (3) de retenue et les bits (5) de débordement.
  7. 7. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 1, caractérisé en ce qu'il est utilisé pour la conversion d'image du standard RGB vers le standard
    YCrCb et inversement.
  8. 8. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 2, caractérisé en ce qu'il comporte une étape d'écrêtage des valeurs des paramètres de la décomposition constituant le paramètre converti, L'étape d'écrêtage consistant à remplacer les valeurs qui sont inférieures à la limite inférieure de la plage de valeurs autorisées par la valeur limite inférieure, et à remplacer les valeurs qui sont supérieures à la limite supérieure de la plage de valeurs autorisées par la valeur limite supérieure.
  9. 9. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 7, caractérisé en ce que l'étape d'écrêtage est réalisée soit directement dans les tables (1A, 1B, 1C; 2A, 2B, 2C) de conversion soit par un programme.
  10. 10. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon l'une quelconque des revendications 7 à 9, caractérisé en ce que chaque décomposition (11A, i lB, 11C; 12A, 12B, 12C) est constituée d'un mot de 32 bits, chaque table de conversion associée à un paramètre à convertir (R, G, B), respectivement (Y, Cr, Cb) comportant au moins 256 mots ou décompositions correspondant aux valeurs possibles des paramètres à convertir.
  11. 11. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 10, caractérisé en ce que, pour la conversion des paramètres (R, G, B) en paramètres (Y, Cr, Cb), les décompositions des paramètres (R, G, B) comportent chacune une première plage de NI bits représentative de la valeur correspondante du paramètre Y ou luminance, une deuxième plage de N2 bits représentative de la valeur correspondante du paramètre Cb, ou différence entre la luminance et la chrominance bleue et une troisième plage de N3 bits représentative de la valeur correspondante du paramètre Cr, ou différence entre la luminance et la chrominance rouge.
  12. 12. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication il, caractérisé en ce que toutes les plages comportent des bits supplémentaires pour augmenter la précision.
  13. 13. Procédé de conversion de la représentation d'une image vidéo entre deux systèmes de codage selon la revendication 10 ou 11 ou 12, caractérisé en ce que, pour la conversion des paramètres (Y, Cr, Cb) en paramètres (R, G, B) les décompositions des paramètres (Y, Cr, Cb) comportent une plage de M1 bits représentative de la valeur correspondante du paramètre R ou couleur rouge, une plage de M2 bits représentative de la valeur correspondante du paramètre B, ou couleur bleue, et une plage de
    M3 bits représentative de la valeur correspondante du paramètre G, ou couleur verte, chacune des plages de bits représentatives des valeurs des paramètres R et B comportant 1 bit prévu pour la protection contre la propagation de la retenue, toutes les plages possédant au moins 1 bit d'augmentation de précision et 1 bit de débordement.
FR9800954A 1998-01-23 1998-01-23 Procede de conversion de la representation d'une image video entre deux systemes de codage Expired - Fee Related FR2774244B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9800954A FR2774244B1 (fr) 1998-01-23 1998-01-23 Procede de conversion de la representation d'une image video entre deux systemes de codage
US09/235,294 US6323872B1 (en) 1998-01-23 1999-01-22 Process for converting the representation of a video image between two coding systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9800954A FR2774244B1 (fr) 1998-01-23 1998-01-23 Procede de conversion de la representation d'une image video entre deux systemes de codage

Publications (2)

Publication Number Publication Date
FR2774244A1 true FR2774244A1 (fr) 1999-07-30
FR2774244B1 FR2774244B1 (fr) 2000-02-25

Family

ID=9522302

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9800954A Expired - Fee Related FR2774244B1 (fr) 1998-01-23 1998-01-23 Procede de conversion de la representation d'une image video entre deux systemes de codage

Country Status (2)

Country Link
US (1) US6323872B1 (fr)
FR (1) FR2774244B1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186360A (ja) * 1999-12-27 2001-07-06 Canon Inc 画像通信装置およびその方法
US7433085B2 (en) * 2003-04-15 2008-10-07 Lexmark International, Inc. Intelligent hardware for detecting color value of an image
US20070016081A1 (en) * 2005-07-12 2007-01-18 Globalmedia Group, Llc Chroma-photon staining

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2670593A1 (fr) * 1990-12-12 1992-06-19 Ricoh Kk Procede permettant de realiser la conversion entre deux espaces de couleurs dans un microprocesseur de 32 bits.
EP0551773A1 (fr) * 1992-01-06 1993-07-21 Canon Kabushiki Kaisha Procédé d'expression de couleur et appareil de traitement d'images
EP0680223A1 (fr) * 1994-04-22 1995-11-02 Winbond Electronics Corporation Méthode et appareil pour la conversion en espace de couleurs

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9001429D0 (en) * 1990-01-22 1990-03-21 British Broadcasting Corp Improvements in television
US5124688A (en) * 1990-05-07 1992-06-23 Mass Microsystems Method and apparatus for converting digital YUV video signals to RGB video signals
US5504821A (en) * 1993-03-31 1996-04-02 Matsushita Electric Industrial Co., Ltd. Color converting apparatus for performing a three-dimensional color conversion of a colored picture in a color space with a small capacity of memory
JPH0746628A (ja) * 1993-06-29 1995-02-14 Toshiba Corp 画像信号符号化装置及び画像信号復号化装置
US5510852A (en) * 1994-04-28 1996-04-23 Winbond Electronics, Corp. Method and apparatus using symmetrical coding look-up tables for color space conversion
US5841422A (en) * 1996-12-10 1998-11-24 Winbond Electronics Corp. Method and apparatus for reducing the number of matrix operations when converting RGB color space signals to YCbCr color space signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2670593A1 (fr) * 1990-12-12 1992-06-19 Ricoh Kk Procede permettant de realiser la conversion entre deux espaces de couleurs dans un microprocesseur de 32 bits.
EP0551773A1 (fr) * 1992-01-06 1993-07-21 Canon Kabushiki Kaisha Procédé d'expression de couleur et appareil de traitement d'images
EP0680223A1 (fr) * 1994-04-22 1995-11-02 Winbond Electronics Corporation Méthode et appareil pour la conversion en espace de couleurs

Also Published As

Publication number Publication date
FR2774244B1 (fr) 2000-02-25
US6323872B1 (en) 2001-11-27

Similar Documents

Publication Publication Date Title
US5341441A (en) Method and apparatus for coding image information, and method of creating code books
JP4468490B2 (ja) 効率的なルックアップテーブルに基づく視覚的に無損失の画像圧縮方式
Jassim et al. Five modulus method for image compression
JPH06223172A (ja) 画像処理方法および画像処理装置
US20040052429A1 (en) Background suppression and color adjustmet method
JPH03192876A (ja) 画像符号化装置
EP0924925A1 (fr) Procédé et appareil pour la conversion réversible de couleurs
GB2533109A (en) Encoder, decoder and method for data
US7382489B2 (en) Efficient interpolation technique using programmable node spacing
US20020008709A1 (en) Color conversion device and method capable of improving color reproduction
US20040056835A1 (en) Scan color conversion method
JP2014519727A (ja) デジタル病理画像におけるカラー画素データの効率的な表現及び処理方法
FR2774244A1 (fr) Procede de conversion de la representation d&#39;une image video entre deux systemes de codage
JP5887809B2 (ja) 画像処理装置及びプログラム
US6915019B2 (en) Method for combining vector-quantization decoding with color transform or halftoning or both
Wang et al. Hierarchy-oriented searching algorithms using alternative duplicate codewords for vector quantization mechanism
JPH08251420A (ja) カラー画像処理装置
JP5453519B2 (ja) 特に画像,映像,及び/又は音声のデジタルファイルを処理する方法
Poolakkachalil et al. Symbols Frequency based Image Coding for Compression
EP1553754B1 (fr) Procédé et dispositif d&#39;établissement de trames par diffusion d&#39;erreur et limitation d&#39;encre par matrices de valeurs de seuils
Mukherjee et al. Lossy image compression using SVD coding, compressive autoencoders, and prediction error-vector quantization
JP4515107B2 (ja) 走査された文書の上のページ背景検知および中立性
Bensaali et al. An efficient architecture for color space conversion using distributed arithmetic
Kuo et al. An improved vector quantization method for image compression
Dabass et al. Lossy color image compression technique using reduced bit plane-quaternion svd

Legal Events

Date Code Title Description
TP Transmission of property
PLFP Fee payment

Year of fee payment: 19

ST Notification of lapse

Effective date: 20170929