FR2702580A1 - Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant. - Google Patents

Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant. Download PDF

Info

Publication number
FR2702580A1
FR2702580A1 FR9302828A FR9302828A FR2702580A1 FR 2702580 A1 FR2702580 A1 FR 2702580A1 FR 9302828 A FR9302828 A FR 9302828A FR 9302828 A FR9302828 A FR 9302828A FR 2702580 A1 FR2702580 A1 FR 2702580A1
Authority
FR
France
Prior art keywords
matrix
coefficients
size
compressed
predetermined size
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
FR9302828A
Other languages
English (en)
Other versions
FR2702580B1 (fr
Inventor
Blondel Gerard
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to FR9302828A priority Critical patent/FR2702580B1/fr
Publication of FR2702580A1 publication Critical patent/FR2702580A1/fr
Application granted granted Critical
Publication of FR2702580B1 publication Critical patent/FR2702580B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/115Selection of the code volume for a coding unit prior to 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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/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/18Methods 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 set of transform coefficients
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Le procédé de compression de l'invention permet d'obtenir une image compressée dont la taille est sensiblement égale à une taille prédéterminée T tout en étant inférieure ou égale à ladite taille prédéterminée, sans perte de l'information caractéristique principale de l'image numérique initiale. Il est du type connu en ce qu'il utilise le principe de compression communément appelé JPEG. De manière caractéristique il consiste dans un premier temps à trouver par itérations successives la dernière matrice de quantification (Qn ou Qn - 1 ) pour laquelle la taille de l'image compressée est supérieure ou égale à la taille prédéterminée. Dans un deuxième temps, il consiste à effectuer, de manière itérative, un codage à longueur variable, du type codage de HUFFMAN, de toutes les matrices résultant d'une quantification réalisée à partir de la matrice de quantification Qn ou Qn - -1 précitée, en faisant varier à chaque itération le nombre de coefficients codés jusqu'à trouver le nombre de coefficients maximum N qui doivent être codés pour que la taille de l'image compressée obtenue soit inférieure ou égale à la taille prédéterminée.

Description

PROCEDE DE COMPRESSION D'UNE IMAGE NUMERIQUE A UNE TAILLE
PREDETERMINEE, ET PROCEDE DE DECOMPRESSION CORRESPONDANT
La présente invention a pour objet un procédé de compression d'une image numérique à une taille prédéterminée, ainsi que le procédé de décompression correspondant.
Dans de nombreuses applications, il est nécessaire de réduire la taille des images numériques qui sont stockées en mémoire, afin de réduire l'espace mémoire occupé. Cette réduction de taille peut être réalisée par divers procédés connus de compression.
Un procédé connu de compression d'images numériques consiste dans une première étape à effectuer une décomposition de l'image numérique initiale en un ou plusieurs plans, et dans une deuxième étape à effectuer une compression de chaque plan.
S'agissant d'une image numérique couleur, dite image RVB, la première étape est par exemple réalisée, en utilisant une transformation dite LUV, également connue sous le nom de transformation YCrCb, qui permet de décomposer l'image numérique en trois plans indépendants L, U et V. Le plan L est appelé plan luminance et contient toute l'information relative au contraste de l'image numérique initiale, les plans U et V sont encore appelés plans chrominance U et plan chrominance V.
Dans le cas d'une image numérique en noir et blanc, ctest-à-dire composée de pixels codés en niveau de gris, la première étape consistera à transformer l'image numérique initiale en un unique plan luminance L.
Un procédé de compression permettant la réalisation de la deuxième étape précitée est connu sous le nom de JPEG, et a déjà été décrit en vue de sa normalisation, dans un document, référencé CD 10918-1, intitulé "Digital compression and coding of continuous-tone still images" et publié par le comité international ISO/IEC JTC 1/SC2/WG10.
Le procédé de compression JPEG appliqué sur chaque plan
L, U et V permet d'obtenir une image compressée, dont la taille ainsi que la qualité de l'image après décompression dépendent des paramètres du procédé, et notamment de la matrice de quantification utilisée. Le procédé de compression JPEG ne permet donc pas d'obtenir une image compressée de taille prédéterminée. En effet, ce procédé de compression utilise un codage à longueur variable du type codage de HUFFMAN, qui n'est pas déterministe.
Le but que s'est fixé le demandeur est de proposer un procédé de compression d'une image numérique, qui utilise le principe de compression JPEG, mais qui permet d'obtenir une image compressée dont la taille est sensiblement égale à une taille prédéterminée tout en étant inférieure ou égale à ladite taille prédéterminée, sans perte de l'information caractéristique principale de l'image numérique initiale, c'est-à-dire une image compressée dont la taille est fixée avant la compression, et qui après décompression permet de restituer une image dont la qualité visuelle est proche de celle de l'image initiale avant compression.
Cet objectif est atteint par le procédé de compression, de l'invention, d'une image numérique à une taille prédéterminée T, qui est du type connu en ce qu'il comprend les étapes suivantes 1. Décomposer l'image numérique en un ou plusieurs plans 2. Effectuer une compression, du type JPEG, de chaque plan, en effectuant la succession d'étapes suivantes
2.1. Décomposer la matrice représentative du plan en matrice élémentaire M k de dimension (n x n)
2.2. Calculer les matrices DCk résultant d'une transformation DCT respectivement de chaque matrice élémentaire M
2.3. Calculer les matrices DCQk résultant de la quantification respectivement de chaque matrice DCk à partir d'une matrice de quantification donnée
2.4.Effectuer un codage à la longueur, du type codage de
HUFFMAN ou codage arithmétique, des coeffcients de chaque matrice
DCQk à partir d'une lecture zigzag de ces coefficients
De manière caractéristique, le procéde de compression de l'invention consiste à effectuer la succession d'étapes suivantes a) Réaliser les étapes 1 et 2 précitées avec une matrice de quantification initiale O0 b) Si la taille des plans compressés obtenus à l'étape a) est supérieure (respectivement inférieure) à la taille prédéterminée
T, réitérer, pour toutes les matrices DCk obtenues, les étapes 2.3. et 2.4. précitées, en choisissant à chaque itération, une nouvelle matrice de quantification O., telle que la taille des
J plans compressés obtenus soit inférieure (respectivement supérieure) à la taille des plans compressés obtenus avec la matrice de quantification Qj-1 utilisée à l'itération précédente, jusqu'à ce que la matrice de quantification 0n choisie à la énième itération, soit telle que la taille des plans compressés obtenus soit strictement inférieure (respectivement supérieure) à la taille prédéterminée T; c) Réitérer l'étape 2.4, pour toutes les matrices DCQ, qui résultent d'une quantification réalisée à partir de la matrice de quantification Qn 1 (respectivement Qn) en faisant varier à chaque itération le nombre de coefficients codés jusqu'à trouver le nombre de coefficients maximum N qui doivent être codés pour que la taille des plans compressés obtenus soit inférieure ou égale à la taille prédéterminée T.
Le demandeur a constaté que de façon inattendue, à tailles égales,l'image compressée obtenue par le procédé de l'invention permettait d'obtenir par décompression une image de meilleure qualité que celle obtenue à partir d'une image compressée selon le principe JPEG, bien que dans le procédé de l'invention certains coefficients des matrices DC k aient été supprimés lors du codage d'un nombre limité de coefficients. De même pour une qualité d'image restitutée après décompression comparable, le procédé de l'invention permet d'obtenir une image compressée dont la taille est nettement inférieure à celle obtenue par le procédé de compression JPEG.
De préférence, à l'étape b du procédé de compression de l'invention, selon que la taille des plans compressés obtenus à l'étape a) est supérieure ou inférieure à la taille prédéterminée T, la nouvelle matrice Q. est choisie de telle sorte que ses
J coefficients sont soit strictement supérieurs soit strictement inférieurs aux coefficients de la matrice Q; 1 utilisée à
j-I l'itération précédente.
Selon un mode particulier de réalisation, la matrice de quantification Q, est choisie à chaque itération de l'étape b, de
j telle sorte que Q. = Aj.Qo, A. étant un facteur de
j J j multiplication soit strictement croissant, soit strictement décroissant à chaque itération.
Avantageusement, les facteurs de multiplication A.
j correspondent aux éléments d'une suite arithmétique ou géométrique.
De préférence, les matrices élémentaires Mk sont de dimension (8 x 8).
Un autre objet de l'invention est de proposer un procédé de décompression d'une image compressée à partir du procédé de l'invention
Ce procédé de décompression est du type connu en ce qu'il consiste à effectuer la succession d'étapes suivantes 3. Pour chaque plan compressé de l'image,
3.1. Effectuer le décodage du plan compressé, correspondant au codage statistique utilisé lors de l'étape 2.4 du procédé de compression, en sorte de calculer les coefficients de chaque matrice DCQ'k ;
3.2. Effectuer une reconstitution en zigzag de chaque matrice DCQ'k
3.3. Calculer à partir de la matrice de quantification utilisée à l'étape 2.3, chaque matrice DC'k résultant de la déquantification de chaque matrice DCQ'k
3.4.Calculer chaque matrice élémentaire M'k résultant de la transformation DCT inverse respectivement de chaque matrice DC'
3.5. Reconstituer un plan décompressé à partir des matrices élémentaires M'k obtenues; 4. Reconstituer une image décompressée à partir du ou des plans décompressés obtenus en effectuant la transformation inverse, de celle utilisée à l'étape 1 du procédé de compression.
De manière caractéristique selon l'invention, à l'étape 3.1. précitée, on obtient pour chaque matrice DCQ'kun nombre de coefficients correspondant au nombre N trouvé à l'étape c, du procédé de compression de l'invention ; dans ce cas, l'étape 3.2.
est réalisée en effectuant une reconstitution en zigzag de chaque matrice DCQ'k à partir de ces N coefficients et en complétant chaque matrice à l'aide de coefficients nuls ; la matrice de quantification utilisée à l'étape 3.3 est la matrice Qn 1 ou 0n utilisée à l'étape c) du procédé de compression de l'invention.
D'autres caractéristiques et avantages de l'invention ressortiront de la description suivante d'un mode particulier de réalisation du procédé de compression et de décompression de l'invention, donnée en référence aux dessins annexés sur lesquels - - les figures 1 et 2 schématisent les différentes étapes d'un procédé particulier de compression, - la figure 3 est une matrice illustrant le principe de la lecture zigzag, - les figures 4A, 4B, 4C sont des organigrammes pour la mise en oeuvre du procédé de compression particulier illustré aux figures 1 et 2, - et les figures SA et 5B constituent un organigramme du procédé de décompression correspondant.
Le procédé de compression de l'invention a pour but de réduire la taille d'une image numérique à une taille prédéterminée, notamment en vue de son stockage, tout en gardant l'intégrité de l'information de l'image initiale avant compression.
On a représenté à la figure 1 une image numérique 1 de dimension (X * Y) pixels. Cette image est constituée de trois plans distincts R, ir, , et B de dimension (X * Y) pixels. Un pixel de l'image 1 est obtenu par la concaténation des trois pixels correspondants des plans R,'LÉ et B. En pratique les pixels de chaque plan sont codés sur cinq bits.
Chaque plan R,'1fet et B peut être décomposé respectivement en bloc élémentaire Ri,j , #ij et Bij de 16 pixels sur 16 pixels.
S'agissant par exemple d'une image numérique 1 de 512 pixels sur 512 pixels, chaque plan sera constitué de 1024 blocs élémentaires.
On définit, à partir de cette décomposition de chaque plan en blocs élémentaires, des unités minimales de données MDU.
qui sont constituées par les trois blocs élémentaires correspondant R. j .... et B...
1,j 1,j
Chaque unité minimale de données MDUij , répérée par la référence 2 sur la figure 1, est transformée conformément aux différentes étapes illustrées sur cette même figure.
On commence par effectuer une transformation LUV de l'unité minimale de données 2. La transformation LUV est évidement donnée ici à titre d'exemple non limitatif. On pourrait sans pour autant sortir du cadre de l'invention, utiliser une autre transformation connue de l'homme du métier et permettant de décomposer une image numérique initiale en un ou plusieurs plans.
On obtient l'unité minimale de données 3 qui est composée de trois blocs élémentaires Li j X Ui j et V. ., de 16 pixels sur 16 pixels. La transformation LUV est une multiplication matricielle du type
Figure img00060001
Chaque bloc élémentaire de l'unité minimale de données 3 peut être décomposé en quatre matrices élémentaires de dimension (8 x 8). A partir de l'unité minimale de données 3, on effectue un sous-échantillonnage des blocs élémentaires Ui j et V. j. Ce sous-échantillonnage, dit de chrominance, consiste à garder intact le bloc élémentaire Li j , et à ne garder pour chaque bloc élémentaire Ui,j et Vi,j qu'une seule matrice élémentaire sur les quatre.On obtient alors une unité minimale de données 4 constituée des six matrices élémentaires Mo, M1, M2, M3, M4 et M5.
Toute l'information relative au contraste de l'image initiale est contenue dans les blocs élémentaires L. .. Les blocs l,J élémentaires Ui j et V. J contiennent l'information couleur de l'image initiale. Le pouvoir de résolution de l'oeil humain est beaucoup plus faible dans la distinction de la couleur que dans celle du contraste. Par conséquent le sous-échantillonnage de la chrominance permet de diminuer le nombre de données devant être traitées, en ne gardant que les données significatives, c'est-à-dire celles susceptibles de modifer suffisamment les énergies lumineuses perçues par l'oeil humain, compte-tenu de sa sensibilité.
On effectue ensuite une transformation cosinus discret, dite DCT (Discret Cosine Transform) de chaque matrice élémentaire M0 à M5, en sorte d'obtenir respectivement les matrices DCo à DC5 constituant l'unité minimale de données 5.
Supposons que la matrice élémentaire M k et la matrice DC k correspondante sont représentées par les matrices suivantes SOO s S07 S00 S07
Mk = : : DCk = s70 ---------- 577 S70 ~~~~~~~~ 577
Dans ce cas, chaque coefficient S de la matrice DC k est obtenu en fonction des coefficients Syx de la matrice Mk par l'équation suivante
Figure img00070001
Les coefficients de la matrice M k sont obtenus en fonction des coèfficients de la matrice correspondante DCk, par la transformée DCT inverse, à partir de l'équation suivante
Figure img00070002

Dans les deux équations précitées, Cu C v valent 1/#2 lorsque u et v valent 0.Dans le cas contraire Cu et C v valent 1.
Aprés chaque transformation DCT d'une matrice élémentaire Mk donnée, on mémorise la matrice DC correspondante dans un fichier 6 à accés séquentiel.
L'organigramme de la figure 4A est un exemple de mise en oeuvre des étapes qui sont illustrées à la figure 1 qui viennent d'être décrites. Les différentes étapes de cet organigramme sont suffisamment explicites et ne seront donc pas répétées dans la présente description.
Une fois que toutes les unités minimales de données 2 constituant l'image numérique 1 ont été traitées, on obtient un fichier 6 dans lequel toutes les matrices DC, qui ont été successivement calculées, sont rangées séquentiellement par ordre d'unité minimale de données 5.
Le traitement particulier par unité minimale de données qui vient d'être décrit est donné uniquement à titre d'exemple non limitatif. On pourrait concevoir des unités minimales de données formées de blocs élémentaires dont la dimension est plus importante. En outre, un traitement par unité minimale de données n'est pas nécessaire à la réalisation du procédé de compression de l'invention. En effet, tous les blocs élémentaires Li j constituent un plan luminance L. De même, tous les blocs élémentaires U et V. j constituent respectivement des plans chrominances U et V. Il est possible de traiter successivement, et de façon indépendante, chaque plan L , U et V, à partir d'une décomposition de chacun de ces plans en matrice élémentaire Mk de dimension (8 x 8).On obtiendrait dans ce cas les mêmes matrices DCk mais rangées dans un ordre différent dans le fichier 6.
L'intérêt de réaliser le procédé de compression de l'invention à partir d'une décomposition en unités minimales de données sera explicité ultérieurement lors de la description du procédé de décompression correspondant.
L'étape de sous-échantillonnage de la chrominance permet d'améliorer le procédé de compression de l'invention , mais n'est pas nécessaire à la réalisation de ce procédé.
Si l'on se réfère à la figure 2, à partir d'une lecture séquentielle du fichier 6, on réalise une quantification de chaque matrice DCk de dimension (8 x 8) à l'aide d'une matrice de quantification initiale Q de même dimension. L'opération de quantification consiste à effectuer la division de chaque coefficient d'une matrice DCk par le coefficient correspondant de la matrice de quantification. Pour chaque matrice DC k on obtient alors une matrice DCQk de dimension (8 x 8).
Après chaque calcul d'une matrice DCQk, on effectue un codage de HUFFMAN de chaque coefficient de ladite matrice, à partir d'une lecture zigzag de ces coefficients. Le codage de
HUFFMAN est par ailleurs déjà connu de l'homme du métier et ne sera donc pas expliqué dans la présente description. On peut également, à la place du codage de HUFFMAN utiliser un autre codage statistique, tel qu'un codage arithmétique.
La figure 3 illustre le principe de la lecture zigzag appliquée à une matrice DCQk, c'est-à-dire l'ordre particulier dans lequel les coefficents a.. de la matrice sont traités. Le même principe peut être appliqué aux coefficients des matrices DCk notamment au cours de la quantification de ces coefficients.
Au fur et à mesure du codage de HUFFMAN de chaque coefficient d'une matrice DCQk, on mémorise le coefficient codé obtenu dans un fichier 9 à accés séquentiel.
Cette première étape de quantification à partir d'une matrice Q suivie d'un codage de HUFFMAN de tous les coefficients de chaque matrice DCQk obtenue est illustrée à la figure 2 par la première boucle itérative référencée 7, et peut être automatiquement mis en oeuvre à l'aide de la première boucle itérative 8 de l'organigramme de la figure 4B.
Une fois que toutes les matrices DCk du fichier 6 ont été quantifiées puis codées, on obtient un fichier 9 constitué des blocs successifs Hk rangés par ordre d'unité minimale de données.
Dans l'exemple particulier à présent décrit, on suppose que la matrice de quantification initiale QO a été choisie de telle sorte que la taille du fichier 9 qui est obtenue à la première boucle itérative est supérieure à la taille prédéterminée T. Dans ce cas, tant que la taille du fichier 9 est supérieure ou égale à la taille T prédéterminée, on recommence la boucle itérative 7, avec à chaque fois une nouvelle matrice de quantification Qj.
Le calcul de cette nouvelle matrice de quantification Q.
j correspond à la boucle itérative 10 de la figure 2 et est illustré par la boucle itérative 11 de l'organigramme de la figure 4B. Un calcul possible des matrices de quantification O.
j successives consiste par exemple à utiliser un facteur de multiplication A. à chaque itération, de telle sorte que l'on ait
3 Qj = Aj . Qo. Pour obtenir un fichier 9 dont la taille va en
diminuant à chaque itération 10 , il est suffisant mais pas forcément nécessaire que chaque coefficient de la matrice O
j
soit strictement supérieur au coefficient correspondant de la matrice Q; 1 calculée lors de l'itération précédente. Par
conséquent, il est suffisant que les facteurs de multiplications
A forment une suite strictement croissante.Ces facteurs de
j
multiplication peuvent être prédéterminés, ou peuvent être
calculés au fur et à mesure en utilisant par exemple une suite
arithmétique ou une suite géométrique de raison prédéterminée
Les matrices de quantification Qj pourraient également dans un
autre mode particulier de réalisation être prédéterminées. La
boucle itérative 10 consisterait dans ce cas à récupérer dans un
fichier contenant toutes les matrices de quantification prédéterminées, la matrice de quantification Q. suivante.
j
La boucle itérative 10 permet à partir du fichier 6
d'obtenir un fichier 9 dont la taille est décroissante, et de
déterminer la dernière matrice de quantification calculée, pour
laquelle la taille du fichier 9 obtenu est supérieure ou égale
à la taille prédéterminée T. En supposant qu'à la énième boucle
itérative 10, on obtient un fichier 9 dont la taille est
inférieure strictement à la taille prédéterminée T,ladite dernière
matrice de quantification correspond donc à la matrice Qn 1 qui a
été calculée lors de la bouche itérative précédente.
A partir de cette matrice de quantification Qn 1' on
réitère la quantification et le codage de HUFFMAN de chaque matrice
DCk du fichier 6, en sorte d'obtenir le fichier 9 correspondant à
la matrice de quantification un 1' et dont la taille est
supérieure ou égale à la taille prédéterminée T. Ensuite, on
réitère le calcul du fichier 9, jusqu'à obtenir un fichier dont la
taille est inférieure ou égale à la taille prédéterminée, en
décrémentant à chaque itération le nombre N des coefficients de chaque matrice DCk qui sont quantifiés puis codés selon le
principe de HUFFMAN, à partir d'une lecture zigzag.
Ce traitement itératif correspond à la boucle 13 de la
figure 2, et peut être mis en oeuvre automatiquement à l'aide de
l'organigramme de la figure 4C.
Le fichier 9 final obtenu contient, rangés par ordre d'unité minimale de données, les blocs Hk calculés successivement à partir de la quantification et du codage de HUFFMAN des N premiers coefficients de la matrice DCk, pris dans l'ordre de la lecture zigzag. A partir de ce fichier 9, on obtient un fichier final compressé 12, qui sera utilisé lors de la décompression, et qui contient tous les blocs Hk du fichier 9 constituant l'image compressée, ainsi que la matrice Qn 1 et le nombre N de coefficients codés d'un bloc Hk donné.
Au lieu de décrémenter le nombre de coefficents codés à chaque boucle itérative 13, on aurait pu également effectuer le calcul de ce nombre par dichotomie.
Dans l'exemple particulier de réalisation du procédé de compression qui a été décrit, il a été supposé que la matrice initiale Q était telle que la taille du fichier 9 obtenu initialement à la première étape de quantification correspondant à la première mise en oeuvre de la boucle itérative 7, était supérieure à la taille prédéterminée T du fichier que l'on souhaitait obtenir. Dans ce cas, il était nécessaire comme cela a été décrit que la taille des fichiers 9 successifs aille en décroissant à chaque nouvelle itération.Si on choisit une matrice de quantification initiale Qo telle que la taille du premier fichier 9 obtenu soit inférieure à la taille T prédéterminée, il est nécessaire dans ce cas de recommençer la boucle itérative 7, avec à chaque fois une nouvelle matrice de quantification Qj jusqu'à ce que la taille du fichier 9 obtenu soit supérieure à la taille T prédéterminée. Il est donc nécessaire que les matrices Qj soient choisies à chaque itération de telle sorte que la taille des fichiers 9 obtenus aille en croissant. Pour cela il suffit que chaque coefficient de chaque nouvelle matrice Qj soit strictement inférieur au coefficient correspondant de la matrice Q; 1 calculée lors de l'itération précédente.En outre, la dernière matrice de quantification calculée, pour laquelle la taille du fichier 9 obtenu est supérieure ou égale à la taille prédéterminée T, n'est pas dans ce cas la matrice de quantification 0ne1' mais la matrice de quantification Qn Il I1 revient à l'homme du métier d'adapter les organigrammes des figures 4B et 4C, en fonction de la taille du premier fichier 9 qui est obtenu à partir de la matrice de quantification initiale
Pour obtenir une image décompressée à partir du fichier 12, il est nécessaire d'effectuer un décodage de chaque bloc Hk dudit fichier, ce qui permet d'obtenir N coefficients décodés. Ce décodage correspond au codage utilisé lors du procédé de compression, en l'occurence au codage de HUFFMAN.A partir des N coefficients décodés, il est possible pour chaque bloc H k de reconstituer une matrice DCQ'k de dimension (8 x 8), dont les N premiers coefficents, pris dans l'ordre de la lecture zigzag, correspondent aux N coefficents décodés, et dont les (64 - N) coefficents restants sont choisis égaux à zéro.
Une fois qu'une matrice DCQ' k a été calculée, on effectue une déquantification de cette matrice, à l'aide de la matrice 0ne1' en sorte d'obtenir une matrice DC' k de dimension (8 x 8).
L'opération de déquantification d'une matrice DCQ' k consiste à multiplier chaque coefficient de cette matrice par le coefficient correspondant de la matrice Qn-1
Une fois que l'on a obtenu la matrice DC' k, on effectue une transformation DCT inverse de cette matrice, de manière à obtenir une matrice élémentaire M'k de dimension (8 x 8).
L'organigramme de la figure SA illustre un exemple particulier de réalisation de la décompression automatique de chaque bloc Hk du fichier 12, en une matrice élémentaire M'k.
La décompression des blocs Ho, H1, H2 s H3, H4, H5 d'une unité minimale de données du fichier 12 permet d'obtenir une unité minimale de données MOU. j constituée par les matrices correspondantes M'o , M'1, M 2 M'3, 4 et M'
A partir de chaque unité minimale de données MOU. J ainsi constituée, on calcule, conformément à l'organigramme de la figure 5B, le bloc élémentaire de 16 pixels sur 16 pixels de l'image RVB décompressée, en vue de son affichage. Ce bloc élémentaire est constitué par les trois blocs Ri j A(i j et B. .. Les étapes de l'organigramme des figures SA et 5B sont suffisamment explicites et ne seront donc pas répétées dans la présente description.
La réalisation d'une compression suivie d'une décompression, par unité minimale de données, permet de reconstituer et d'afficher l'image RVB compressée, au fur et à mesure que l'on traite chaque bloc Hk du fichier 12.
Des essais comparatifs ont été menés entre le procédé de compression connu sous le nom de JPEG, et le procédé de compression de l'invention. Dans un exemple particulier, on a réalisé la compression JPEG d'une image initiale représentant une photo d'identité de 512 pixels sur 480 pixels avec la matrice de quantification intiale Q suivante
Figure img00130001
Le fichier final après compression obtenu avait une taille de 14 608 octets.Sur la même image initiale, on a appliqué le procédé de compression de l'invention avec les paramètres suivants
Matrice de quantification : Q
T = 15 000 octets (taille prédéterminée)
(8-j) - 0o
= 8
Un fichier final compressé dont la taille était de 14 462 octets a été obtenu après une itération à l'étape b) du procédé, et en codant un nombre maximum de 17 coefficients à l'étape c) du procédé. La matrice finale de quantification choisie était donc
7 -O
8
Après décompression des deux fichiers compressés précités, il a été constaté que l'image restituée à partir du fichier compressé obtenu à l'aide du procédé de l'invention était de meilleure qualité que celle restituée à partir du fichier compressé obtenu par le procédé de compression JPEG.A taille de fichier compressé final comparable, le procédé de compression de l'invention permet d'obtenir une image après décompression de meilleure qualité.
Il est également important de remarquer que dans l'exemple précité, en utilisant le procédé de compression JPEG, on ne pouvait pas connaître à l'avance la taille du fichier final compressé que l'on allait obtenir, et par là-même on ne pouvait pas obtenir de façon certaine, contrairement au procédé de compression de l'invention, un fichier final compressé dont la taille était inférieure ou égale à 15 000 octets.
D'autres essais comparatifs ont été menés faisant apparaître que pour une qualité d'image restituée comparable, la taille du fichier final compressé obtenu par le procédé de compression de l'invention était inférieure en moyenne de 20 % à la taille du fichier final compressé obtenu par le procédé de compression JPEG.
Le procédé de compression et de décompression de l'invention peut être appliqué à la constitution de base de données constituées d'images numériques compressées. Etant donné que l'on maîtrise la taille finale de l'image compressée, celle-ci peut egalement être avantageusement sauvegardée dans une mémoire de taille prédéterminée telle que la mémoire d'une carte à microprocesseur, ou carte à puces.

Claims (4)

REVENDICATIONS
1. Procédé de compression d'une image numérique à une taille prédéterminée T, du type comportant la succession d'étapes suivantes 1) Décomposer l'image numérique en un ou plusieurs plans, 2) Effectuer une compression de chaque plan en effectuant la succession d'étapes suivantes
2 2 Calculer les matrices DCk résultant d'une transformation cosinus discret respectivement de chaque matrice élémentaire
2.1. Décomposer la matrice représentative du plan en matrice élémentaire M k de dimension (n x n),
2.3. Calculer les matrices DCQ, résultant de la quantification respectivement de chaque matrice DCk à partir d'une matrice de quantification donnée,
T, réitérer pour toutes les matrices DCk obtenues les étapes 2.3. et 2.4. précitées, en choisissant à chaque itération, une nouvelle matrice de quantification Qj, telle que la taille des plans compressés obtenus soit inférieure (respectivement supérieure) à la taille des plans compressés obtenus à l'itération précédente avec la matrice de quantification Q;; 1 et jusqu'à ce que la matrice de quantification Qn choisie à la énième itération, soit telle que la taille des plans compressés obtenus soit strictement inférieure (respectivement supérieure) à la taille prédéterminée T c) Réitérer l'étape 2.4, pour toutes les matrices DCQk qui résultent d'une quantification réalisée à partir de la matrice de quantification Qn 1 (respectivement Qn) en faisant varier à chaque itération le nombrevde coefficients codés jusqu'à trouver le nombre de coefficients maximum N qui doivent être codés pour que la taille des plans compressés obtenus soit inférieure ou égale à la taille prédéterminée T.
2.4.Effectuer un codage à longueur variable, du type codage de HUFFMAN ou codage arithmétique, des coeffcients de chaque matrice DCQk à partir d'une lecture zigzag de ces coefficients, caractérisé en ce qu'il consiste à effectuer la succession d'étapes suivantes a) Réaliser les étapes 1 et 2 précitées avec une matrice de quantification initiale 0o b) Si la taille des plans compressés obtenus à l'étape a) est supérieure (respectivement inférieure) à la taille prédéterminée
2. Procédé de compression selon la revendication 1 caractérisé en ce que, selon que la taille des plans compressés obtenus à l'étape a) est supérieure ou inférieure à la taille prédéterminée
T, les coefficients de la matrice Qj choisie à chaque itération de l'étape b, sont soit strictement supérieurs soit strictement inférieurs aux coefficients de la matrice Qj-1 utilisée à l'itération précédente.
j un facteur de multiplication soit strictement croissant, soit strictement décroissant à chaque itération.
j itération de l'étape b, de telle sorte que Qj = Aj.Q0, A. étant
3. Procédé de compression selon la revendication 2 caractérisé en ce que la matrice de quantification Q. est choisie à chaque
4. Procédé de compression selon la revendication 3 caractérisé en ce que les facteurs de multiplication A. correspondent aux j éléments d'une suite arithmétique ou géométrique.
5. Procédé de compression selon l'une quelconque des revendications 1 à 4 caractérisé en ce que les matrices élémentaires Mk sont de dimension (8 x 8).
6. Procédé de décompression d'une image compressée à partir du procédé visé à l'une quelconque des revendications 1 à 5 consistant à effectuer la succession d'étapes suivantes 3) Pour chaque plan compressé de l'image,
3.1. Effectuer le décodage du plan compressé, correspondant au codage statistique utilisé lors de l'étape 2.4 du procédé de compression, en sorte de calculer les coefficients de chaque matrice DCO'k
3.2. Effectuer une reconstitution en zigzag de chaque matrice DCQ'k '
3.3. Calculer à partir de la matrice de quantification utilisée à l'étape 2.3, chaque matrice DC'k résultant de la déquantification de chaque matrice DCQ'k ,
3.4.Calculer chaque matrice élémentaire M'k résultant de la transformation cosinus discret inverse respectivement de chaque matrice DC'k
3.5. Reconstituer un plan décompressé à partir des matrices élémentaires M'k obtenues
4) Reconstituer une image décompressée à partir du ou des plans décompressés obtenus en effectuant la transformation inverse, de celle utilisée à l'étape 1 du procédé de compression, caractérisé en ce qu'on obtient pour chaque matrice DCO'k un nombre de coefficients correspondant au nombre N trouvé à l'étape c) du procédé de compression, en ce que l'étape 3.2. est réalisée en effectuant une reconstitution en zigzag de chaque matrice DCQ'k à partir de ces N coefficients et en complétant chaque matrice à l'aide de coefficients nuls, et en ce que la matrice de quantification utilisée à l'étape 3.3 est la matrice Qn 1 ou Qn utilisée à l'étape c) du procédé de compression.
FR9302828A 1993-03-09 1993-03-09 Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant. Expired - Fee Related FR2702580B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9302828A FR2702580B1 (fr) 1993-03-09 1993-03-09 Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9302828A FR2702580B1 (fr) 1993-03-09 1993-03-09 Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant.

Publications (2)

Publication Number Publication Date
FR2702580A1 true FR2702580A1 (fr) 1994-09-16
FR2702580B1 FR2702580B1 (fr) 1995-06-16

Family

ID=9444877

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9302828A Expired - Fee Related FR2702580B1 (fr) 1993-03-09 1993-03-09 Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant.

Country Status (1)

Country Link
FR (1) FR2702580B1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0712095A3 (fr) * 1994-10-28 1996-10-30 Seiko Epson Corp Procédé et appareil destinés à la compression de données d'image
EP0816951A2 (fr) * 1996-06-28 1998-01-07 Sony Corporation Méthode de conversion des données d'images
WO1998013787A1 (fr) * 1996-09-24 1998-04-02 Colorage, Inc. Compression adaptative de sequences d'image
FR2769161A1 (fr) * 1997-10-01 1999-04-02 Univ Neuchatel Procede de controle du taux de compression d'images numeriques
FR2809248A1 (fr) * 2000-05-19 2001-11-23 Canon Kk Compression de donnees numeriques et codage des donnees compressees pour les proteger contre les erreurs de transmission
EP1170936A2 (fr) * 2000-07-06 2002-01-09 Canon Kabushiki Kaisha Dispositif de communication d'image

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394774A (en) * 1978-12-15 1983-07-19 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
JPH02122763A (ja) * 1988-10-31 1990-05-10 Nec Corp ファクシミリ装置
EP0487282A2 (fr) * 1990-11-19 1992-05-27 Canon Kabushiki Kaisha Appareil de traitement d'images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394774A (en) * 1978-12-15 1983-07-19 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
JPH02122763A (ja) * 1988-10-31 1990-05-10 Nec Corp ファクシミリ装置
EP0487282A2 (fr) * 1990-11-19 1992-05-27 Canon Kabushiki Kaisha Appareil de traitement d'images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 14, no. 354 (E - 958) 31 July 1990 (1990-07-31) *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0712095A3 (fr) * 1994-10-28 1996-10-30 Seiko Epson Corp Procédé et appareil destinés à la compression de données d'image
US5852710A (en) * 1994-10-28 1998-12-22 Seiko Epson Corporation Apparatus and method for storing image data into memory
EP0816951A2 (fr) * 1996-06-28 1998-01-07 Sony Corporation Méthode de conversion des données d'images
EP0816951A3 (fr) * 1996-06-28 1998-08-12 Sony Corporation Méthode de conversion des données d'images
US6108440A (en) * 1996-06-28 2000-08-22 Sony Corporation Image data converting method
WO1998013787A1 (fr) * 1996-09-24 1998-04-02 Colorage, Inc. Compression adaptative de sequences d'image
WO1999018734A1 (fr) * 1997-10-01 1999-04-15 Asulab S.A. Procede de controle du taux de compression d'images numeriques
FR2769161A1 (fr) * 1997-10-01 1999-04-02 Univ Neuchatel Procede de controle du taux de compression d'images numeriques
FR2809248A1 (fr) * 2000-05-19 2001-11-23 Canon Kk Compression de donnees numeriques et codage des donnees compressees pour les proteger contre les erreurs de transmission
US7027656B2 (en) 2000-05-19 2006-04-11 Canon Kabushiki Kaisha Compression of digital data and coding of the compressed data in order to protect them against transmission errors
EP1170936A2 (fr) * 2000-07-06 2002-01-09 Canon Kabushiki Kaisha Dispositif de communication d'image
EP1170936A3 (fr) * 2000-07-06 2003-07-16 Canon Kabushiki Kaisha Dispositif de communication d'image
US6972874B2 (en) 2000-07-06 2005-12-06 Canon Kabushiki Kaisha Image communicating apparatus

Also Published As

Publication number Publication date
FR2702580B1 (fr) 1995-06-16

Similar Documents

Publication Publication Date Title
EP0294357B1 (fr) Procédé de codage de signaux d'image
FR2589020A1 (fr) Procede de codage hybride par transformation pour la transmission de signaux d'image
US20170104999A1 (en) Lossless compression of fragmented image data
FR2627926A1 (fr) Procede et dispositif de codage de signaux video numeriques, et dispositif de decodage correspondant
US9479792B2 (en) Apparatus and method for compression of image data assembled into groups
Chawla et al. Image compression techniques: a review
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
Siddeq et al. A novel 2D image compression algorithm based on two levels DWT and DCT transforms with enhanced minimize-matrix-size algorithm for high resolution structured light 3D surface reconstruction
FR2702580A1 (fr) Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant.
WO2017037368A2 (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
Garg et al. Analysis of image types, compression techniques and performance assessment metrics: A review
FR2825224A1 (fr) Procede et dispositif de compression et ou d'indexation d'images numeriques
FR2792432A1 (fr) Dispositif et procede de transformation de signal numerique
JP7512021B2 (ja) 画像処理方法及びシステム
EP1574068B1 (fr) Procede de codage d'une image par ondelettes et procede de decodage correspondant
FR2597282A1 (fr) Procede de quantification dans un codage par transformation pour la transmission de signaux d'image
Banerjee et al. An efficient dynamic image compression algorithm based on block optimization, byte compression and run-length encoding along Y-axis
EP3685283A1 (fr) Procedes de codage et de decodage d'une image
EP1812903A1 (fr) Procede de codage d'images codees par ondelettes a controle de debit, dispositif de codage et programme d'ordinateur correspondants
WO2009130540A1 (fr) Procédé de codage/décodage vidéo haute définition convenant au flux vidéo en temps réel
EP4078959A1 (fr) Procede d'encodage d'une image numerique en vue de sa compression
WO2018065687A1 (fr) Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes
Gupta et al. Comparative study for Image Forgery Analysis between JPEG and Double JPEG Compression
Huang et al. Interpretable Image/Video Compression by Extracting the Least Context Map
WO2024121109A1 (fr) Procédé et dispositif de codage et décodage d'images

Legal Events

Date Code Title Description
ST Notification of lapse