FR2621146A1 - Systeme de codage d'image - Google Patents
Systeme de codage d'image Download PDFInfo
- Publication number
- FR2621146A1 FR2621146A1 FR8812454A FR8812454A FR2621146A1 FR 2621146 A1 FR2621146 A1 FR 2621146A1 FR 8812454 A FR8812454 A FR 8812454A FR 8812454 A FR8812454 A FR 8812454A FR 2621146 A1 FR2621146 A1 FR 2621146A1
- Authority
- FR
- France
- Prior art keywords
- transform
- prediction
- blocks
- coefficients
- block
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Ce système de codage d'image effectue la prédiction en 15 de valeurs d'éléments d'image à l'intérieur d'un bloc possédant une pluralité d'éléments d'image et en lesquels une image originale est divisée, une transformée de sinus discret en 18 en fonction des signaux d'erreurs de prédiction afin d'obtenir un coefficient de transformée, une quantification en 21 du coefficient de transformée afin de coder des index quantifiés, une quantification inverse en 25 des index quantifiés afin de reproduire le coefficient de transformée, une transformée de sinus discret inverse en 16 du coefficient reproduit afin de reproduire le signal d'erreurs de prédiction, et une addition à celui-ci de la valeur prédite de l'élément d'image afin de reproduire les valeurs d'éléments d'image à l'intérieur du bloc pour employer ceci lors de la prédiction du bloc suivant à coder, grâce à quoi le bloc peut voir sa taille minimiser tout en simplifiant les opérations de transformée requises.
Description
SYSTEME DE CODAGE D'IMAGE
La présente invention concerne un système de codage d'image en général et, en particulier, un système qui supprime toute redondance dans les données d'image d'une image originale afin de comprimer et de coder les données. De façon générale, on a déjà suggéré divers types de systèmes de codage d'image dans lesquels les redondances de données d'image sont éliminées pour comprimer les données, et, en tant qu'exemple typique de l'un deux, on a largement utilisé le système d'un type appelé "transformée de cosinus discret" (auquel on se
référera par la suite en tant que "TCD" simplement).
Dans le système de codage TCD, chaque image est divisée en blocs carrés et la TCD est réalisée de façon bidimensionnelle pour chaque bloc de façon à éliminer les redondances à l'intérieur des blocs, les blocs devant être d'une taille suffisamment grande pour rendre négligeables toutes redondances entre les blocs restant après la transformée. Ordinairement, la taille de bloc qui peut satisfaire cette condition est, de façon notable, aussi grande que 16x16 éléments d'image, et il s'est présenté l'inconvénient que, même si on prend des mesures pour réaliser une opération de transformée très efficace en utilisant un algorithme à haute vitesse, cela a nécessité une longue durée pour exécuter cette opération de transformée de même qu'un agrandissement du matériel nécessaire à cet effet. D'autre part. dans le brevet US N' 4.394.774 on a suggéré un système dans lequel on tache de raccourcir le temps de l'opération de transformée en prévoyant des mémoires pour deux blocs, appelées mémoire de transport, entre les transformateurs matriciels qui effectuent la TCD bidimensionnelle, de sorte que les données pour un bloc après la transformée de colonne par exemple seront mémorisées en permanence dans la mémoire de transport pendant que les données sont recueillies en permanence du côté de la transformée de rangée, afin qu'ils ne subissent aucun retard. Bien que, selon ce système connu, la vitesse de l'opération de transformée puisse être augmentée pour améliorer éventuellement la vitesse de codage, il reste encore un problème, à savoir que la quantité de mémoire doublée a encore pour conséquence un matériel de grande dimensidn, ce qui ne
permet pas à la taille du système d'être minimisée.
En conséquence, le but principal de la présente invention est de fournir un système de codage d'image qui puisse permettre à la taille de blocs d'image d'être plus petite, à l'opération de transformée d'être plus simple et éventuellement au matériel d'être simplifié, afin de
minimiser la taille du système tout entier.
Selon la présente invention, ce but peut être atteint au moyen d'un système de codage d'image pour soumettre une image originale à une transformée orthogonale afin de supprimer toute redondance de l'image originale et coder le coefficient de transformée orthogonale ainsi obtenu, qui comporte des moyens de prédiction pour prédire les valeurs d'éléments d'image à l'intérieur de chacun des blocs respectivement possédant une pluralité d'éléments d'image, l'image originale étant divisée en lesdits blocs, pour obtenir lesdites valeurs de prédiction, puis pour obtenir des signaux d'erreur de prédiction relatifs à toute différence entre les valeurs prédites et les valeurs vraies, des moyens de transformée de sinus discret pour effectuer une transformée de sinus discret en fonction des signaux d'erreur de prédiction obtenus pour obtenir des coefficients de transformée, des moyens de quantification pour quantifier les coefficients de transformée obtenus afin d'obtenir des index quantifiés, des moyens de codage pour coder les index quantifiés obtenus, des moyens de quantification inverse pour quantifier de manière inverse les index quantifiés pour reproduire les coefficients de transformée, des moyens de transformée de sinus discret inverse pour effectuer une transformée de sinus discret inverse en fonction des coefficients de transformée reproduits pour reproduire les coefficients de transformée, et des moyens de reproduction pour reproduire les valeurs d'éléments d'image à l'intérieur du bloc en ajoutant les signaux
d'erreur de prédiction reproduits aux valeurs prédites.
D'autres buts et avantages de la présente invention
seront éclaircis dans la description qui suit de
l'invention décrite de façon détaillée avec référence aux réalisations préférées montrées dans les dessins
d'accompagnement.
La figure 1 est un schéma synoptique global d'un système de codage d'image selon la présente invention; la figure 2 est un schéma explicatif du balayage de blocs effectué par le système de la figure 1; la figure 3 est un schéma pour expliquer le traitement pipe-line du système de la figure 1; la figure 4 est un schéma pour expliquer l'opération de prédiction sur les blocs du système de la figure 1; la figure 5 est un schéma expliquant l'analyse de bloc et les valeurs limites dans le système de la figure les figures 6a à 6c sont des schémas expliquant l'opération de prédiction d'un autre aspect de la présente invention effectuée sur les blocs du système de la figure 1; la figure 7 est un schéma synoptique du circuit des moyens de prédiction dans le système de la figure 1; la figure 8 est un schéma expliquant l'agencement de mémoire de transformée du système de la figure 1; la figure 9 est un schéma synoptique'du circuit de la mémoire de transoformée du système de la figure 1; les figures 10 à 13 sont des schémas expliquant les transformées matricielles effectuées dans le système de la figure 1; la figure 14 est un schéma synoptique du circuit d'un transformateur de colonne du système de la figure 1; la figure 15 est un schéma expliquant l'addition cumulative effectuée dans le système de la figure 1; la figure 16 est un schéma synoptique du circuit d'un transformateur de colonne du système de la figure 1; la figure 17 est un schéma synoptique du circuit des moyens d'arrondissement du système de la figure 1; la figure 18 est un schéma synoptique du circuit des moyens de quantification du système de la figure 1; la figure 19 est un schéma synoptique du circuit d'une autre mémoire de transformée du système de la figure i; la figure 20 est un schéma montrant quelques détails d'une mémoire vive ou RAM utilisée pour une autre mémoire de transformée dans le système de la figure 1; la figure 21 est un schéma synoptique montrant les moyens de prédiction dans une autre réalisation du système de codage d'image suivant la présente invention; les figures 22A et 22B montrent deux parties complémentaires d'un chronogramme du système de la figure 21; la figure 23 est un schéma expliquant le balayage de blocs effectué dans le système de la figure 21; les figures 24 à 26 sont des schémas expliquant l'opération de prédiction sur les blocs du système de la figure 21; les figures 27 et 28 montrent l'une et l'autre un schéma synoptique d'une autre réalisation du système selon la présente invention; les figures 29 et 30 montrent l'une et l'autre un schéma expliquant la théorie du système de la figure 28; la figure 31 montre un schéma synoptique d'encore une autre réalisation de la présente invention; la figure 32 est un schéma expliquant la théorie du système de la figure 31; la figure 33 montre un schéma synoptique d'encore une autre réalisation du système selon la présente invention; la figure 34 est un schéma expliquant la théorie du système de la figure 33; les figures 35 et 36 sont des schémas expliquant le fonctionnement des mémoires du système de la figure 33; la figure 37 est un schéma synoptique montrant encore une autre réalisation du système selon la présente invention; la figure 38 est un schéma expliquant la théorie du système montré en figure 37; la figure 39 est un schéma synoptique montrant encore une autre réalisation du système selon la présente
invention;.
la figure 40 est un diagramme expliquant le fonctionnement des mémoires dans le système de la figure 39; la figure 41 montre un schéma synoptique du circuit d'encore une autre réalisation du système selon la présente invention; et les figures 42 et 43 sont des diagrammes expliquant la quantification effectuée dans le système de
la figure 41.
Bien que la présente invention soit décrite, ci-
après, avec référence aux modes de réalisation respectifs montrés dans les dessins, on doit comprendre qu'il n'entre pas dans les intentions de la Demanderesse de limiter l'invention seulement aux modes de réalisation représentés mais plutôt d'inclure toutes modifications, altérations et agencements équivalents entrant dans le
cadre de l'invention.
En se référant à la figure 1, le système de codage d'image selon la présente invention comporte une mémoire 11 de trame ou d'image dans laquelle un signal d'image numérisé est fourni de l'extérieur, une mémoire 12 de valeur limite du côté supérieur et une mémoire 13 de valeur limite du côte gauche étant agencées en relation avec cette mémoire de trame 11. et ces mémoires 12 et 13 présentent respectivement une capacité mémoire pour une rangée latérale et une colonne verticale de la mémoire de trame 11. Ces mémoires 11 à 13 sont commandées par des moyens 14 de commande de mémoires en fonction de la chronologie des lectures et des écritures d'adresses. En outre, les moyens 14 de commande de mémoires reçoivent des moyens 28 de commande de chronologie une sortie faisant en sorte d'asservir le fonctionnement du circuit tout entier à un signal d'horloge CLK élaboré en tant que référence, cette sortie étant fournie à tous les moyens respectifs. Des moyens de prédiction 15 sont connectés aux mémoires respectives 11 à 13 pour effectuer une prédiction par extrapolation fondée sur les niveaux de mémoires respectifs afin de produire en tant que sortie un signal d'erreur de prédiction par extrapolation signifiant une différence entre la valeur prédite et la valeur vraie d'un élément d'image, formant ainsi des moyens de prédiction par extrapolation bidimensionnelle, ces moyens de prédiction 15 agissant également pour reproduire les valeurs de limite en ajoutant à la valeur prédite un signal reçu d'un transformateur inverse 16 décrit plus loin, ce signal servant à reproduire l'erreur de prédiction. Dans les valeurs de limite reproduites, celles qui concerne les parties de limite en relation avec un bloc adjacent sont mémorisées dans les mémoires 12 et 13 de valeur de limite afin d'être utilisées pour
la prédiction suivante.
Les signaux d'erreur de prédiction des moyens 15 de prédiction sont fournis en parallèle en sortie de ceux-ci pour chaque élément d'image et sont transformés afin d'être en série par un convertisseur 17 parallèle/série qui est formé de 16 registres à décalage prévus de préférence pour une entrée et une sortie parallèles et pour être commutés par deux jeux de multiplexeurs,de façon à fournir à un transformateur 18 matriciel de l'étage suivant les données pour 16 éléments d'image dans chaque bloc de 4x4 éléments d'image séquentiellement et en série respectivement à paútir du bit le moins significatif. Ce transformateur matriciel 18 est agencé comme un transformateur pour effectuer la transformée de sinus discret, et comprend un transformateur de rangée 19 et un transformateur de colonne 20. Le fonctionnement.de ce transformateur matriciel 18 peut s'effectuer à une vitesse élevée grâce au procédé de découpage en tranches de bit. Dans ce cas, la matrice est différente de celle de la transformée connue de sinus discret 4x4 mais présente la propriété d'être orthogonale afin d'être très proche de la transformée de sinus discret de sorte que le fonctionnement peut être simplifie dans un sens par une
transformée orthogonale en entier.
La sortie du transformateur matriciel 18 est fournie à des moyens 21 de quantification qui comportent des moyens 22 pour arrondir tout coefficient de transformée de sinus discret qui est inférieur à un niveau seuil prédéterminé afin de le considérer comme nul, et des moyens 23 pour arrondir à l'unité inférieure la plage dynamique des données, et ces moyens 21 de quantification fournissent en sortie des données d'image comprimées, lesquelles données sont soumises dans un codeur 24 à un codage de longueur variable au moyen du code de Huffman ou équivalent et sont fournies en sortie
du codeur 24 à un chemin de communication ou une mémoire.
Dans ce codage,tout autre procédé autre que le code de
Huffman peut être utilisé.
Les données de- sortie des moyens de quantification 21 sont également fournies À à des moyens 25 de quantification inverse o on effectue l'opération inverse de celle des moyens de quantification 21 de façon à multiplier le signal de données d'image comprimées par une largeur de pas de quantification et à y ajouter un niveau seuil pour retrouver l'état précédant la quantification. La sortie des moyens 25 de quantification inverse est fournie au transformateur inverse 16 déjà cité, o la sortie est transformée en inverse avec le même agencement que le transformateur matriciel 18 puisque la matrice inverse de celle de la transformée de sinus discret et de la transformée orthogonale en entier déjà citée est une matrice transposée de la matrice transformée originale. La sortie ainsi transformée en inverse est soumise dans des moyens 26 de normalisation à une correction au moyen d'un facteur de normalisation de 1/[-47 pour la transformée orthogonale en entier. Dans ces moyens de normalisation 26, il est fait en sorte que le niveau soit -f47 fois plus grand que l'original chaque fois qu'une transformée orthogonale en entier est effectuée, l'opération est exécutée deux fois pour les transformées matricielles dans le transformateur matriciel 18 et deux fois pour les transformées dans le transformateur inverse 16 et, tant que la précision des opérations est suffisamment élevée, on s'attend à ce que la sortie du transformateur inverse 16 soit (T14-7)4=1472 fois plus grande que le signal d'erreur de prédiction par extrapolation qui a été fourni au transformateur matriciel 18. En pratique, cependant, une opération d'arrondissement est effectuée dans le transformateur matriciel 18 et le transformateur inverse 16, la sortie n'est donc pas aussi grande que 1472, et il est possible de rendre la sortie de la même grandeur que celle obtenue quand on effectue la transformée de sinus discret principale de la formule (3-7). On peut donc utiliser pour les moyens de normalisation 26 un multiplicateur
série quelconque d'usage général.
La sortie des moyens de normalisation 26 est convertie, dans un convertisseur 27 série/parallèle, en données parallèles qui sont destinées à être fournies au moyen de prédiction 15 déjà cité en tant que signal pour reproduire les erreurs de prédiction à partir des valeurs de limite en relation avec le bloc suivant. Dans le mode de réalisation montré en figure 1, l'agencement est réalisé de telle façon qu'un commutateur 30 permet d'obtenir une commutation entre un fonctionnement en système de codage pour obtenir des codes de longueurs variables tels que le code Huffman ou équivalent en codant l'image originale et un fonctionnement en système de décodage pour obtenir une image reproduite en décodant les codes de longueurs variables obtenus. Pour le fonctionnement en système de codage, le commutateur 30 est connecté du côté du codeur 24 de sorte que l'index quantifié fournit en sortie des moyens de quantification 21 soit codé dans le codeur 24 et que le code de longueur variable ainsi obtenu soit fourni au chemin de communication ou à la mémoire. D'autre part, pour le fonctionnement en système de décodage, le commutateur 30 est connecté du côté du décodeur 29 de sorte que le code de longueur variable provenant du chemin de communication ou de la mémoire soit décodé dans le décodeur 29 pour reproduire l'index quantifié, que l'index quantifié ainsi reproduit soit transformé de manière inverse dans le transformateur inverse 16 pour reproduire les erreurs prédites, et que les erreurs prédites ainsi reproduites soient traitées par les moyens de normalisation 26 et le convertisseur 27 série/parallèle et additionnées à la valeur prédite dans les moyens de prédiction 15 pour
obtenir le signal d'image reproduit.
Le fonctionnement de la présente invention va maintenant être décrit. Tout d'abord, en ce qui concerne la prédiction par extrapolation, dans ce mode de réalisation de la présente invention, une valeur moyenne simple des valeurs d'éléments d'image du c6té supérieur et du côté gauche est prise pour les éléments d'image à prédire, comme montré sur la figure 4, cette valeur moyenne simple est étendue à l'ensemble du bloc 4x4, et des valeurs de prédiction sont obtenues séquentiellement à partir de X1,1 en utilisant quatre valeurs de limite du
côté supérieur et quatre valeurs de limite du côté gauche.
C'est pourquoi, on peut faire fonctionner les moyens de prédiction du moment que le codage a été achevé pour les côtés supérieur et gauche du bloc et que les valeurs de limite ont été obtenues. Dans ce cas, il est donc possible de réaliser le système tout entier sous la forme d'un pipeline en effectuant les quatre traitements de prédiction par extrapolation bidimensionnelle, de transformées, de quantification et de transformée inverse pour chaque bloc, spécifiquement, sous la forme d'un
balayage en diagonale.
On va maintenant expliquer l'agencement du balayage de bloc et du traitement en pipe-line. En se référant à la figure 2, les traitements sont à effectuer en fonction du bloc "1" dans l'ordre d'une prédiction par extrapolation P, d'une transformée P, d'une quantification Q et d'une transformée inverse p-1. Aucun traitement ne peut être effectué pour le bloc "2" suivant sauf si la transformée inverse -1 du bloc 1 est achevée
(dans la figure 3, temps perdu = perte 1 = 3 cycles).
Ensuite, le bloc 2 est traité, puis le bloc 3 est traité, et à ce moment, comme la valeur de limite supérieure a déjà été obtenue au cours du traitement du bloc 1, la prédiction peut être amorcée au temps 5T dans la figure 3 o le processus de prédiction pour le bloc 2 a été terminé. Pour le bloc "4", la prédiction ne peut pas être amorcée avant l'achèvement de la transformée inverse du bloc 2 (dans la figure 3, temps perdu = perte 2 = 2 cycles). Quant aux blocs "5" et "6", ils peuvent être traités en continu. Pour le bloc "7", sa prédiction ne peut être effectuée avant l'achèvement de la transformée
inverse du bloc 4 (perte de temps = perte 3 = 1 cycle).
Quant aux blocs "8" et les suivants, leur traitement peut être effectué sans l'apparition d'aucune perte de temps
mais avec le matériel effectivement utilisé pleinement.
Dans la figure 2, les blocs hachurés sont des blocs imaginaires. représentant la perte de temps mentionnée
plus haut.
Dans la présente réalisation, plusieurs étages du pipe-line sont constitués par les quatre étapes de l'extrapolation P, de la transformée t, de la quantification Q et de la transformée inverse 9-t. Ainsi, on traite l'image entière, comme montré dans la figure 2, en balayant séquentiellement, dans la direction longitudinale de l'image, les blocs d'image le long de sections en forme de bandes de quatre blocs chacune, et ce balayage se poursuit jusqu'à ce que le dernier bloc dans le coin inférieur droit de l'image soit quantifié, afin de coder l'image toute entière. Bien que dans cette
réalisation le nombre d'étages pour le processus en pipe-
line soit de quatre, on peut augmenter le nombre d'étages en effectuant un balayage utilisant un processus divisé de manière plus fine, et, dans ce cas, si le nombre d'étages du processus en pipe-line est égal à Np, alors le balayage sera effectué en balayagant séquentiellement, dans la direction longitudinale de l'image, des sections en forme de bandes de Np blocs. Dans la figure 3, la référence P désigne la prédiction par extrapolation bidimensionnelle, désigne la transformée, Q désigne la quantification et 9-t désigne la transformée inverse,-et les numéros de bloc de la figure 2 sont pris comme ordonnées. On va maintenant détailler les processus respectifs intervenant dans chaque cycle T, ainsi que les agencements de moyens nécessaires au bon déroulement de ceux-ci. En se référant maintenant à la figure 7, la prédiction par extrapolation bidimensionnelle est effectuée par les moyens de prédiction 15 déjà cités, la mémoire de trame 11, les mémoires 12 et 13 de valeur de limite du côté supérieur et du côté gauche, les moyens 14 de commande de mémoire et la mémoire 17 de conversion parallèle/série. Les valeurs de limite pour la prédiction des blocs respectifs sont fournies dans les mémoires 12 et 13 de valeurs de limite du côté supérieur et du-côté gauche, et les données d'image pour la rangée de l'extrémité supérieure de même que les données d'image pour la colonne de l'extrémité gauche de l'image sont reçues en entrée en tant que niveau initial. Les multiplexeurs MUX1 et MUX2 sont ici positionnés du côté de leur borne (1), et les données d'image de niveau initial sont reçues à partir de la mémoire de trame 11 en tant qu'entrée, comme le montre la figure 5. Les mémoires 12 et 13 sont respectivement une mémoire de la longueur d'une rangée et de la longueur d'une colonne de l'image entière, et la partie de mémoire correspondant à leur position verticale ou latérale relative au bloc respectif
est utilisée pour la prédiction de blocs.
On doit comprendre ici que quand il est effectué une prédiction sur le bloc central "Z" dans la figure 2, par exemple, le niveau de prédiction du côté inférieur d'un bloc adjacent "X" et le niveau de prédiction du bord droit d'un autre bloc adjacent "Y", qui ont tous les deux déjà été déterminés par le traitement de ces blocs, sont placés dans des positions correspondantes dans les mémoires 12 et 13 par rapport au bloc Z. Puis, les signaux établis parmi les signaux d'erreur de prédiction pour le côté inférieur du bloc X et le bord droit du bloc Y peuvent être fournis à leur tour en sortie du transformateur inverse 16. En pratique, le traitement de prédiction est effectué pour les éléments d'image séquentiellement et dans l'ordre désigné par les numéros attribués aux petits cercles respectifs représentant les éléments dans la figure 4. Lors de la prédiction du bloc Z, par conséquent, le niveau de prédiction du côté inférieur du bloc X est lu dans la mémoire 12 et fourni à un verrou Ll dans la figure 7. Le multiplexeur MUX4 est commuté vers la position (2) afin d'ajouter l'erreur de prédiction provenant du transformateur inverse 16 au niveau de prédiction dans le verrou Ll, la somme résultante étant fournie à un verrou L2. Le niveau ainsi obtenu dans le verrou L2 est un niveau rétabli, il s'agit de la somme du niveau de prédiction et de son erreur, qui représentent la valeur de limite supérieure X0,1 dans la figure 4. Quand à la valeur X1,0 de limite du côté gauche, ce niveau est lu dans la mémoire 13 à une étape suivant la lecture dans la mémoire 12, un multiplexeur MUX5 est commuté vers sa position (2), le niveau de prédiction est additionné avec les données provenant du transformateur inverse 16, et on obtient la valeur X1,0. A ce moment, le
multiplexeur MUX3 doit avoir été commuté sur la positior.
(2). A l'étape suivante, X0,1 et X1,0 sont additionnés par un additionneur ADD3, et la somme est divisée par 2 avec arrondissement du bit de point faible et fourni en sortie au verrou L3. A l'étape suivante, la sortie du verrou L3 est soustraite dans un additionneur ADD4 de l'image originale du bloc Z, et la différence est fournie en sortie en tant que signal d'erreur de prédiction aux mémoires 17a et 17b de conversion parallèle/série. Le niveau de prédiction en tant que sortie du verrou L3 est écrit dans la mémoire 13 de valeur de limite du côté gauche et est également fournit à un verrou L4. Ce niveau dans le verrou L4 est écrit dans la mémoire 12 de valeur de limite du côté supérieur à l'étape suivante afin d'être utilisé pour la prédiction d'un autre élément d'image 2. Quand aux éléments d'image (2), (3) et (4), leur prédiction peut être rendue possible en repositionnant le multiplexeur MUX3 du côté (1), en additionnant les. niveaux dans la mémoire 12 à ceux provenant du transformateur inverse 16 afin de reproduire X0,2, X0,3 et X0,4, respectivement, et en les additionnant séquentiellement aux niveaux dans le verrou L3, c'est-à-dire, les niveaux de prédiction de l'élément d'image précédent. Lors de la prédiction de l'élément d'image suivant (5), le niveau de prédiction X1,1 est destiné à être utilisé tel quel, de sorte que le multiplexeur MUX4 sera commuté du côté (1), "0" sera fourni à l'additionneur ADD1 et Xl,1 sera fourni tel quel au verrou L2. Puisque l'élément d'image (5) est disposé au bord du côté gauche, la mémoire 13 de valeur de limite du côté gauche a reçu le niveau de prédiction du côté droit du bloc Y et. dans le présent exemple, le niveau rétabli de l'erreur de prédiction provenant du transformateur inverse 16 est également additionné avec celui-ci, le multiplexeur MUX5 étant positionné du côté (2) pour reproduire.. X2,0. Le multiplexeur MUX5 est positionné du côté (1) seulement quand le bloc Z se trouve dans le traitement d'un bloc au bord gauche de l'image, et à ce moment, "0" est fourni à l'additionneur ADD2. La cause en est que, quand le bloc se trouve au bord gauche, le niveau dans la mémoire 13 de valeur limite du côté gauche représente la valeur vraie de limite. Ensuite, le multiplexeur MUX3 est positionné du côté (2) afin d'additionner à "0" le niveau Xi,1 se trouvant dans le verrou L2;afin d'obtenir X2,1, qui est fourni au verrou L3. La prédiction des éléments d'image suivants (6) à (8) est effectuée de la même manière que celle pour les éléments (2) à (4) mais, puisqu'aucune erreur de prédiction n'est présente pour être additionnée avec les données provenant du transformateur inverse 16, le multiplexeur MUX4 est positionné du côté (1) pour recevoir en entrée "0". Le multiplexeur MUX4 est également positionné du côté (1) au cours de la prédiction de l'élément du bord supérieur de l'image puisque le niveau provenant de la mémoire 12 de valeur de limite du côté supérieur représente la valeur vraie de limite. Une fois que les opérations déjà citées ont été répétées jusqu'au dernier élément d'image (16), la mémoire 12 a reçu les entrées X4,1, X4,2, X4,3 et X4,4 alors que la mémoire 13 à reçu X1,4. X2,4, X3,4 et X4,4, et la mémoire 17a de conversion parallèle/série a reçu
l'erreur de prédiction du bloc Z, {Ym,n} (m,n=1, 2, 3, 4).
Au cours de la prédiction du bloc Z, la mémoire 17b de conversion parallèle/série a fourni en sortie a8 transformateur matriciel 18 une erreur de prédiction pour le bloc Z-1 qui a été traité un temps T plus tôt. A l'achèvement de la prédiction du bloc Z, le multiplexeur MUX6 est positionné du côté (2) après le prochain temps T, le contenu de la mémoire 17a de conversion parallèle/ série, qui représente ici l'erreur de prédiction pour le bloc Z, est fourni au transformateur matriciel 18 et en même temps les erreurs de prédiction du bloc adjacent Z+1 sont fournies à la mémoire 17b de conversion parallèle/ série.De cette manière, les erreurs de prédiction respectives pour les blocs respectifs sont fournies séquentiellement au transformateur matriciel 18. Pour les mémoires 17a et 17b de conversion parallèle/série, des mémoires du même agencement peuvent être utilisées.
Il est préférable ici que les mémoires de conversion parallèle/série soient d'un agencement du type décrit dans les figures 8 et 9, parmi lesquelles la
figure 8 montre un agencement préféré de réseau de bit.
Dans les mémoires 17a et 17b de conversion parllèle/série, les registres à décalage Sl à S16 sont prévus pour une entrée et une sortie parallèles, de sorte qu'ils peuvent être verrouillés en parallèle respectivement par un signal de verrouillage et décalés vers le bas de 1 bit respectivement par un signal de décalage. Le bit de poids le plus faible ou LSB des sorties série des registres à décalage sont à nouveau fournis dans les registres à décalage en tant que bit de poids le plus fort ou MSB d'entrée de rotation. En conséquence, les mémoires 17a et 17b de conversion parallèle/série connectées au moyen du multiplexeur MUX6 aux moyens de prédiction 15 se remplissent avec les erreurs de prédiction en recevant le même nombre de signaux de verrouillage que le nombre d'éléments d'image dans le bloc, ici 4x4=16, et elles sont connectées au moyen d'un multiplexeur MUX7 au transformateur matriciel 18 pendant le temps T suivant de ?' sorte que, si le bloc comporte 4x4 éléments, les données série leurs seront fournies par paquets de 16 bits. Ces mémoires peuvent ainsi fournir des sorties de façon répétitive à la réception répétée des signaux de décalage, et, avec ces sorties, un processus en tranches de bits est rendu possible à l'étage suivant du transformateur
matriciel 18.
Bien que dans ce qui précède, la prédiction par extrapolation ait été décrite comme étant effectuée de la manière montrée en figure 4, on peut également adopter la prédiction à trois niveaux montrée dans les figures 6a à 6c. Dans ce cas, le bloc suivant peut être prédit au moyen des blocs supérieur, droit, supérieur droit et supérieur gauche comme montré dans les dessins, de sorte que l'on peut réaliser un balayage de blocs en diagonale en particulier et que le traitement peut s'effectuer en pipeline, et le processus de prédiction peut ne pas être
limité seulement à celui de la figure 4.
Dans le transformateur matriciel 18, on utilise une transformée orthogonale en entier de sorte que le caractère orthogonal peut être maintenu seulement en utilisant des entiers plus petits et on peut obtenir de bonnes performances de codage par transformée. Le fonctionnement est ici assuré de manière très efficace par un circuit multiplicateur en relation avec le procédé de découpage en tranches de bits et avec une table en mémoire morte. Plus spécifiquement, la transformée de sinus discret bidimensionnelle est, comme on le sait, la combinaison en continu de transformée unidirectionnelle utilisée deux fois (transformées matricielles) et ceci peut être effectué de la même manière par une transformée orthogonale en réseau. Dans la présente invention, la transformée de rangée et la transformée de colonne sont définies comme suit: Transformée de rangée - Ym,n t ROWCm,1; et Transformée de colonne Cm,l iCOL Yk,l o k et 1 sont les numéros d'ondes de la transformée de sinus discret et sont numérotées successivement, l'onde
fondamentale étant une fonction sinus numérotée "1".
Leurs valeurs transformées sont représentées par une combinaison linéaire de ces ondes de base. Ensuite, la transformée de rangée est effectuée dans le transformateur de rangée 19 en fonction des rangées respectives m=1, 2, 3, 4. C'est-à-dire qu'il s'agit de la transformée unidimensionnelle pour chaque rangée de{ Ym,nj Les valeurs transformées { Cm,l} sont représentées par la formule suivante: Cm, liZ 1pl,nYm, n n=!- En ce qui concerne le traitement de {Cm,l}, celui-ci peut être effectué en même temps pour m=1, 2, 3, 4 mais successivement pour les numéros d'ondes 1=1, 2, 3, 4. Par conséquent, dans le transformateur de colonne 20 de l'étage suivant la transformée de colonne est exécutée par la formule: I Yk,l=z k,n Cm,l m=z En utilisant le transformateur de colonne 20 qui effectue la transformée sur les nombres d'ondes k=1, 2, 3, 4 en même temps, on peut avoir {Yk,l} successivement pour 1=1, 2, 3, 4 de sorte que, quand on obtient Cn,l' avec 1=1' parmi Cm,l (1=1, 2, 3, 4), on peut effectuer immédiatement la transformée de colonne afin d'obtenir Yk, l'. Cet aspect de la fransformée de colonne est montré dans les figures 10 & 13, dans lesquelles les données d'erreurs de prédiction avant d'être transformées sont montrées dans un plan m--n, les erreurs de prédiction pour chaque rangée horizontale de bloc respectif étant montrées par des lignes épaisses, et des données identiques sont employées aux étapes respectives des figures 10 à 13. En outre, dans ces dessins, les données au moment o la transformée de rangée a été achevée sont représentées par m-l. Plus concrètement, quatre transformées de rangée pour m=1, 2, 3, 4 avec 1=1 parmi Cm,l sont effectuées en même temps. En ce qui concerne les rangées respectives, les opérations nécessaires portent sur les signaux d'erreurs de prédiction et ceux
de l'onde numéro 1 de la transformée de sinus discret.
Comme dans le présent mode de réalisation une transformée orthogonale en entier est utilisée, les transformées Cm,l=Pl Ym,l =(3 5 7 8) Ym'l Ym,2 Ym,2 Ym,3. Ym,3 "Ym,4) Ym,4 sont effectuées simultanément aux positions respectives de m=l, 2, 3, 4. C'est-à-dire, de façon plus générale, Cm,À=1 Ym,11 Ym, 2 Ym3 3 (1) Ym,4
'
ici, l 1=(3 5 7 8), 2=(7 7 0- 7), ip3=(8 - 3 - 7 5) et
4=(5 - 8 7 - 3).
A l'achèvement de la transformée de rangée, les sorties Cm,l (1=1, 2, 3, 4) sont fournies au transformateur de colonne 20. Comme représenté dans le haut des figures 10 à 13, le transformateur de colonne 20 réalise la transformée de colonne en effectuant quatre transformées simultanément en fonction de l'onde numéro K
pour les entrées effectives de Cm,l (1=1, 2, 3, 4). C'est-
à-dire que, pour 1=1, les transformées Yk,1=,pk.Cm,1 seront effectuées en. fonction de chaque valeur de k=1, 2, 3, 4. C'est-à-dire, de façon plus générale, Yk,l= k. Cm, 1 et l'on obtient les valeurs transformées Yk,l (k, l=1, 2, 3, 4). En effectuant les transformées successivement comme montré plus haut, il n'est pas nécessaire d'arranger les données respectives des rangées et des colonnes contrairement au système connu dans lequel les opérations de rangée et de colonne sont répétées deux fois, et l'on peut se passer d'un matériel excessif. En outre, en utilisant la transformée orthogonale en entier, les valeurs respectives du coefficient de transformée 1 peuvent être représentées par quatre bits, de sorte qu'il n'est pas nécessaire d'effectuer cette opération sur des coefficients en nombre réel, le traitement opérationnel peut ainsi être remarquablement simplifié et éventuellement on peut facilement réaliser une
simplification du matériel.
En se référant maintenant au fonctionnement en tranche de bit déjà cité, les données dans les convertisseurs 17a et 17b parallèle/série, c'est-àdire, les signaux Ym,n d'erreurs de prédiction sont comme indiqués dans la formule suivante, s'ils sont représentés en tant que complément à 2 de B+1 bit: 0 0 1 1 B-l B-i BEB Ym,n-20Ym,n+2!ylm,n+... +2B 2 yB m,n+2 Y m,n B-' bb BE = Z 2 Y m,n-2 Y m,n..... (2) b=l Ici, le B (bit de poids le plus fort) est un bit de code, et Ym,n représente les bits respectifs. A ce moment, les sorties des mémoires 17a et 17b de conversion parallèle/ série sont fournies simultanément et en série au transformateur de rangée 19 successivement pour les 16 éléments d'image à partir du bit I(b=0) et, comme il est nécessaire que des données identiques soient fournies quatre fois en fonction de la valeur de 1 comme montré dans les figures 10 à 13, on doit effectuer quatre fois la sortie en série de ces données en utilisant la fonction de rotation des mémoires 17a et 17b de conversion parallèle/série. Par conséquent, en substituant la formule (2) à la formule (1), on obtient: Cbm,l= lybm,ll (quandb=0 à B-1) |ybm,2. !ybm,3 b y m,4! Cç = YBm,=yBm,1(quandb=B) YBm,2 yBm,34 Y m,4) Et en les combinant ensemble: B-l-b 1bl b!,, Bbz1C m,l-CBm,1= %vl<Ybm,'- iJYbml b=1Ym,2 n Y2m, 2 ybm 3 Ybm,3 kybm,4 \ybm,4 Puisque que dans cette formule la valeur de Ym,n (n=l, 2, 3, 4) sera toujours égale à 1 ou 0, la valeur de f ybm,1] |ybm,2 2 !yb3 [,ybm,4 est calculée à l'avance et la table de mémoire morte placée dans les mémoires est préparée pour les valeurs respectives pour 1=1, 2, 3, 4, grâce à quoi l'opération peut être effectuée par addition cumulative de chaque partie de b=0 à B=1 de la tranche de bit. Dans ce cas, l'opération est une soustraction pour le bit B de rang le plus élevé, mais un signal d'horloge est engendré seulement en ce qui concerne le bit de poids le plus élevé et une table en mémoire morte est permutée par un complément pris à l'avance. En variante, la table en mémoire morte est maintenue telle qu'elle est, alors qu'il est prévu des moyens de complément à deux, qui entrent en fonction à l'apparition du bit de poids le plus fort, et des compléments de la sortie de la table en mémoire morte sont prélevés. La mémoire morte est nécessaire pour chaque valeur (1, 2, 3, 4) de 1, de façon à être utilisée pour quatre rangées (m=l, 2, 3, 4). En outre, parmi les valeurs 1 Ybm, l' Ybm,2 ybm,3 %ybm,4 la plus grande en valeur absolue sera pour 1=1 et, quand Ym,n seront tous égal à 1, sa valeur sera égale à 3+5+7+8=23. Même quand la partie de code est prise en compte, tous les produits partiels peuvent être
représentés par l'expression de complément à 2 de 6 bits.
La mémoire morte nécessaire pour le transformateur de rangée 19 contient 7 bits au total comportant 4 bits d'entrée en tant qu'adresse, 2 bits pour modifier la valeur 1 et 1 bit de permutation en ce qui concerne la table de complément destinée à 8tre utilisée avec le bit de poids le plus fort, et sa sortie peut être obtenue à partir de 6 bits. On doit comprendre qu'une table de mémoire morte destinée à être utilisée avec le bit de poids le plus fort n'est pas nécessaire grace à l'utilisation des moyens de complément à deux tel que
décrit plus haut.
La figure 14 montre en détail un matériel pour le transformateur de rangée 19, et un agencement pour la seule première rangée m=1 est montré de façon spécifique, les agencements pour les autres rangées m=2 à 4 seront les mêmes que celui de la première rangee. Ce transformateur de rangée 19 comporte, en plus d'une mémoire morte ou ROM 19a, un verrou DI pour la synchronisation, un additionneur complet FAa pour une addition 7 bits, un verrou D2 pour l'addition cumulative, et un registre à décalage SR. Avec un tel agencement, en particulier, la sortie du verrou D2 pour l'addition cumulative est décalée de 1 bit vers un ordre plus bas à partir d'une sortie du verrou Dl. c'est-à-dire, amenée à se décaler à droite, et est fournie à un additionneur complet FAa avec la sortie du verrou D1. En conséquence, la somme du produit partiel en tranche de bit de l'opération de somme du produit matriciel, qui représente
la sortie de la ROM, est additionnée de façon cumulative.
Ce mode opérationnel est tel que montré dans la figure 15, au cours duquel les signaux d'entrée fournis de façon séquentielle à partir du bit 0 par les mémoires 17a et 17b de conversion parallèle/série sont successivement additionnés en tant que sorties de ROM respectivement de 6 bits. Dans le dessin, les sorties subséquentes sont montrées comme se décalant progressivement vers le haut mais, en pratique, la somme cumulée précédemment est décalée vers la droite et additionnée à une nouvelle sortie de ROM. Bien qu'il soit représenté qu'on ajoute "1" aux trois bits de poids inférieur, ceci est fait dans le but de l'arrondissement, et on ajoute 7 pour couper 4 bits ultérieurement. Cette opération est réalisée au moyen d'un circuit de commande et en utilisant la ligne de signaux U/D reliée à l'entrée de retenue de l'additionneur complet FAa. Les données employées en pratique ici sont les bits représentés respectivement par un petit cercle, ceci étant élaboré afin d'être fourni en tant que sortie série au moment o une addition en tranche du bit 4 est effectuée. Au moment o le bit de poids le plus fort ou MSB est finalement additionné, le registre à décalage SR dans la figure 14 reçoit les entrées parallèles de 6 bits, qui sont ensuite fournies séquentiellement en série. Dans le registre à décalage SF, d'autre part, le bit de rang le plus bas du verrou D2 est fourni en sortie depuis le moment de l'addition de la somme du produit partiel du bit 4, les 6 bits d'ordre supérieur dans les signaux du verrou D2 sont reçus en parallèle au moyen des signaux S/L à l'achèvement de l'addition du MSB, et ensuite, les 6 bits reçus sont fournis en sortie en série. Le registre à décalage SR est donc réalisé comme un registre unique qui fournit à ses sorties les données série. Un signal CLR fourni au verrou D2 est utilisé quand une sortie de la tranche de bit O est reçue avec un signal rendant la valeur de ce verrou D2 égale à 0, de telle sorte que le calcul est effectué séquentiellement en fonction de 1 et ce signal particulier met le verrou D2 à 0 à chaque fois que la valeur de 1 est modifiée et que la table en ROM est échangée. La figure 16 montre les détails du transformateur de colonne 20, dans laquelle, également, seul l'agencement de la première colonne k=1 est montrée spécifiquement, les autres colonnes k=2 à 4 ayant le même agencement que la première colonne, de sorte que les signaux Cm,l transformés dans la direction horizontale sont fournis à partir du transformateur de rangée 19 au transformateur de colonne 20 en tant que ses entrées,
concurremment de 1 à 4 pour m et séquentiellement pour 1.
Dans ce transformateur de colonne 20, le contenu des ROM varie en fonction de.. la valeur des numéros d'onde k élaborée simultanément, le transformateur 20 se
distinguant par là même du transformateur de rangée 19.
de sorte que la table en ROM de 41 devra être utilisée pour k=1 alors que la table en ROM de 4k devra être employée pour k=k'. Dans le cas présent, la ROM 20a peut être celle qui ajoute à son entrée de 4 bits un signal MSB de 1 bit afin de fournir en sortie une adresse de 5 bits et une sortie de 6 bits. Le verrou Dl', l'additionneur complet FAb, le verrou D2' et le registre à décalage SR' peuvent posséder la même structure que celle des organes correspondants du transformateur de rangée 19. Ensuite, les sorties de 10 bits sont fournies en même temps à partir du transformateur de rangée 19 aux transformateurs de colonne respectifs, les numéros d'onde k=1 à 4 étant transformés, moment auquel l'opération d'arrondi à l'unité inférieure de 4 bits est également exécutée dans le transformateur de colonne 20 de la même manière que dans le transformateur de rangée 19, et les sorties sont délivrées en série sous la forme de { Yl,1} 1=1, 2, 3, 4. Puisque 1 bit d'ordre inférieur du MSB est uniquement étendu dans le code et ne possède pas de signification, le MSB est arrondi et une sortie transformée de 10 bits sera délivrée. Plus concrètement, cette opération peut être réalisée en éliminant une impulsion de décalage du registre à décalage SR' du
dernier étage.
Les moyens de quantification 21 comportent les moyens d'arrondissement 22 montrée à la figure 17 et moyens d'arrondissement à l'unité inférieure 23 montrés à la figure 18, et on utilise en pratique quatre jeux de ces moyens 22 et 23. Ici, la quantification est d'un processus effectué au moyen de la formule suivante, le niveau seuil étant Th et la largeur de pas L: Qk,l=sk,l(lYk,ll-Th)/L Qk,l étant le coefficient de transformée des bloc; respectifs après la quantification, Yk,l étant le coefficient de transformée des blocs respectifs après la
transformée, et sk,l étant les codes de Yk,l de +1 ou -1.
En modifiant la formule ci-dessus, on obtient: Qk,l=(Yk,l-sk,lTh)/L=(Yk,lsk,lTh).A/2P.... (3) Dans les moyens d'arrondissement 22, d'abord, une opération est effectuée en fonction de Yk,l dans la formule ci-dessus. L'entrée Yk,l est le coefficient de transformée que l'on peut obtenir à partir du transformateur matriciel 18, les données en série de 10 bits étant délivrées à un registre à décalage SRa dans les moyens d'arrondissement 22 et ensuite à un verrou L1 en parallèle. Le bit d'ordre le plus élevé MSB1 du verrou L1 représente sk,l, et ce bit est utilisé pour déterminer l'addition ou la soustraction de la valeur Th (le complément de Th est prélevé dans un moyen 22a de complément a 2). Si ce MSB1 est 1, sk,l=-1, et le sélecteur 6 bits S1 est positionné du côté (1), tandis que si MSB1 est à 0, sk,l=l et le sélecteur Si est positionné du côté (2), de façon à prélever le complément de la valeur Th pour l'addition. La valeur du verrou Ll et la sortie du sélecteur S1 sont additionnées dans un additionneur complet FAc, leur somme est chargée dans un verrou L2 et ensuite dans un registre à décalage SR2, et des sorties série sont fournies en sortie. Si, à ce moment, le bit d'ordre le plus élevé MSB2 du verrou L2 diffère de MSB1, cela signifie que la valeur absolue de Yk,l est plus petite que Th, cette valeur est par 2^ conséquent arrondie et le registre à décalage SR2 est mis à O par la sortie d'un circuit NON OU exclusif EXNOR N. Les bascules D1 et D2 sont prévues pour faire en sorte de préserver MSB1 et MSB2, de sorte que leurs sorties sont délivrées au circuit NON OU exclusif EXNOR N. Dans le circuit 23 d'arrondissement à l'unité inférieure, qui effectue l'opération correspondant à la dernière moitié de la formule (3) citée plus haut, la largeur de pas L est utilisée pour effectuer la quantification, au cours de laquelle une opération de division par la largeur de pas L est réalisée en exécutant une multiplication par la valeur entière A avec A=2r/L puis une division par 2P. Au cours de la multiplication par A, on utilise un procédé d'addition cumulative de la sortie A provenant de la ROM 23a afin d'obtenir la valeur A à partir de la valeur L (la ROM étant une table en ROM dans laquelle a été calculée à l'avance la valeur A en fonction de L) et on utilise également les produits des bits de tranche respectifs (1 ou 0) de Yk,l. C'est-à-dire que l'agencement est conçu de telle manière qu'un produit partiel est préparé par un sélecteur S2 qui sélectionne 0 si Yk,l=0 ou la valeur A si Yk,l=l, le sélecteur S2 étant connecté à une des bornes d'entrée de l'additionneur complet FAd, et les sorties du sélecteur S2 sont additionnées de façon cumulative dans l'additionneur complet FAd et un verrou D qui reçoit les sorties de l'additionneur complet FAd et les retourne au moyen d'un décalage à droite de 1 bit à
l'autre borne d'entrée de l'additionneur complet FAd.
Dans ce cas, Yk,l représente un complément à 2 de sorte que, à la réception du MSB en entrée, qu'il soit nécessaire qu'un sélecteur S3 soit positionné du côté du sélecteur S2, et le complément à 2 de A en tant que produit partiel est délivré en sortie des moyens de
complément 23b et ce produit est, de plus, divisé par 2.
Ici, P=7 et Yk,l sont respectivement représentés en 10 bits, de sorte que les produits partiels de A au moyen de l'additionneur complet FAd et du verrou D soient additionnés 10 fois. A l'achèvement de l'opération, ses bits d'ordre supérieur sont délivrés a un registre à décalage SRa afin d'être fournis en sortie en série. En effectuant cette opération, les 6 bits d'ordre supérieur de Yk,lxA sont prélevés, alors que les 7 bits d'ordre inférieur sont arrondis. Si l'entrée de retenue de l'additionneur complet FAd est mis à 1 au cours de l'addition cumulative des 6 bits d'ordre inférieur, il est possible d'arrondir les 7 bits d'ordre inférieur et d'arrondir à l'unité inférieure les données quantifiées Qk,1. D'autre part, dans les moyens 25 de quantification inverse représentés à la figure 1, l'opération inverse de celle décrite avec référence aux figures 17 et 18 est effectuée. Pour la quantification inverse, d'abord, Qk,l sont multipliés par L, la valeur arrondie de Th leur est additionnée, et l'opération de quantification inverse peut être exécutée en utilisant les moyens 23 d'arrondissement à l'unité inférieure représentés à la figure 18 et les moyens 22 d'arrondissement représentés
figure 17 utilisés en tant que moyens de quantification.
Le transformateur inverse 16 possède le même agencement que les transformateurs 19 et 20 de rangée et de colonne du transformateur matriciel 18 et, puisque l'on emploie ici la matrice inverse P(transposée) de la matrice orthogonale >, la transformée inverse peut être réalisée par une opération totalement inverse de celle du transformateur matriciel 18, la seule différence résidant dans les données de la table en ROM par rapport au transformateur matriciel 18. Les données en sortie sont soumises ici à un arrondissement à l'unité inférieure pour 3 bits, une opération pour arrondir tous MSB non nécessaires est effectuée, puis les données sont
délivrées aux moyens de normalisation 26.
Les moyens de normalisation 26 servent à corriger le coefficient de normalisation de 1/4-147 comme il en a déjà été question et, en utilisant le fait que le coefficient de correction pour restaurer le même niveau du niveau de signal comme le signal d'erreurs de prédiction est 214/1472 3/4, à multiplier toutes les sorties de transformée inverse par 3/4. Puisque dans ce cas les sorties du transformateur inverse 16 sont en série de bits et simultanées pour 4 éléments d'image, la normalisation peut être réalisée par des matériels connus tels que quatre multiplicateurs série (opération de triplement) et des moyens pour arrondir les 2 bits
d'ordre inférieur (opération de division par 4).
Le convertisseur 27 série/parallèle comporte des registres d'entrée série et de sortie parallèles pour effectuer une opération inverse de celle du convertisseur 17 parallèle/série, qui sont agencée comme montré figure 19. Les entrées série des moyens de normalisation 26 font en forte qu'une paire de sélecteurs Sa et Sb soient actionnés respectivement en fonction de la valeur de m, de sorte que les données série seront délivrées en sortie pour chaque rangée, comme passées à travers l'une ou l'autre des mémoires vives S/P ou RAM S/P 27A et 27B. A l'achèvement des entrées, les sélecteurs Sa et Sb sont commutés pour être positionnes tous les deux, par exemple, du côté de leur borne (2) afin de délivrer des entrées supplémentaires au RAM S/P 27B. Ensuite, les données sont fournies, en sortie de l'autre RAM S/P 27A tout en étant décalées en parallèle, aux moyens de prédiction 15 dans l'ordre des éléments d'image, et seuls ceux qui sont nécessaires sont utilisés. En pratique, les données nécessaires pour la prédiction sont les valeurs respectives de 4, 8, 12, 13, 14, 15 et 16 qui sont les limites en ce qui concerne le bloc suivant parmi les 16 éléments, et les données de cette partie seulement peuvent être accumulées. La figure 20 montre un agencement des RAM S/P 27A et 27B, qui comporte les registres Rgl à Rgl6 pour l'entrée série et la sortie parallèle, de même qu'un sélecteur S. Bien que dans le mode de réalisation vu plus haut l'image originale soit faite de 8 bits-et que les nombres de bits adéquats soient montrés sur des lignes de connexion respectives dans les figures 1, 7, 10 et 16 à 19, le nombre de bits est également destiné à varier en fonction du taux de compression de données et n'est pas limité à celui illustré. En outre, bien que le nombre de blocs ait été décrit comme étant 4x4, le codage de la transformée de sinus discret de prédiction par extrapolation selon la présente invention peut être
utilisé sur des blocs de divers tailles ou nombres.
Selon une particularité supplémentaire de la présente invention, le système de codage d'image peut être simplifié en établissant de façon adéquate la valeur initiale au moment du traitement de prédiction. La figure 21 montre des moyens de prédiction 35 sous un autre aspect qui peuvent prendre la place des moyens de prédiction 15 de la figure 7, les éléments équivalents à ceux montrés dans les figures 7 ou 1 étant désignés par les mêmes numéros de référence ou symboles. Les figures 22A et 22B montrent un chronogramme illustrant le fonctionnement des parties respectives des moyens de prédiction 35 de la figure 21, dans laquelle la forme d'onde a désigne le signal d'horloge CLK provenant d'un générateur d'horloge externe et de fréquence double de celle du cycle de base;k désigne le signal d'adresse FMADR de la mémoire de trame 11; c désigne la sortie de données FMDATA de la mémoire de trame 11; d désigne le niveau d'adresse de lecture UMRDADR de la mémoire 12 de valeur de limite du côté supérieur; e désigne le niveau de lecture RMRD de la mémoire 12; f désigne le niveau d'adresse d'écriture de la mémoire 12; g désigne le signal d'écriture UMWR de la mémoire 12; h désigne le niveau d'adresse LMADR de la mémoire 13 de valeur de limite du côté gauche; i désigne la valeur du bus de données de la mémoire 13 de valeur de limite du côté gauche; 1 à p, s, u et w désignent les signaux de déclenchement des verrous L1 à L5, L8, L6. L7;et q, r, v et x désignent les signaux de chronologie de commutation
des multiplexeurs MUX3, MUX4, MUX8 et MUX9.
En décrivant maintenant le fonctionnement de la présente invention avec référence aux figures 23 à 26, on s'apprête à mesurer le bloc B00 du coin supérieur gauche, cette opération est simplifiée du moment que des valeurs initiales fixées ont été reçues en tant que niveau initial des quatre entrées des mémoires 12 et 13 des valeurs de limite du côté supérieur et du côté gauche correspondant au bloc B, et, par conséquent, les multiplexeurs MUX1 et MUX2 sont positionnés du côté (2) afin d'être initialisés et sont ensuite positionnés de nouveau du côté (1). A ce moment, les niveaux de prédiction du bloc précédent sont lus initialement à partir de la mémoire 12 de valeur de limite du côté supérieur et délivrés au verrou L1 et sont lus à partir de la mémoire 13 de valeur de limite du côté gauche et délivrés au verrou L5, respectivement, et ensuite, les sorties du verrou L1 et du multiplexeur MUX4 sont additionnées ensemble et maintenues par le verrou L2. Au cours de la prédiction des éléments d'image 1 à 4, les niveaux lus dans la mémoire 12 de valeur de limite du côté supérieur sont les niveaux de prédiction pour le côté inférieur du bloc Bm-l,n, qui sont reproduits au moyen de l'addition à ceux-ci des niveaux restitués des erreurs de prédiction, et le multiplexeur MUX4 est positionné du côté (2i. Sauf à cette occasion, le multiplexeur MUX4 est maintenu du côté (1) pour faire en sorte qu'un 0 en entrée soit délivré à une des bornes d'un additionneur ADD1. Le multiplexeur MUX6 - est également normalement maintenu du côté (1). La sortie du verrou L5 est délivrée au moyen d'un autre multiplexeur MUX9, également normalement du côté (1), à l'additionneur ADD2, et le niveau restitué de l'erreur de prédiction provenant d'une borne C de dispositif est de même délivré
à l'additionneur ADD2 afin d'être additionné à la sortie.
Les données dans la mémoire 13 de valeur de limite du côté gauche sont lues en sortie de celle-ci seulement lorsqu'on exécute la prédiction des éléments d'image 1, 5, 9 et 13. Au moment de la prédiction d'autres éléments, le multiplexeur MUX3 est positionné du côté (1) et les sortiesde l'additionneur ADD2 sont ouvertes. Les niveaux de prédiction reproduits avec le multiplexeur MUX3 positionné du côté (2) sont soumis à une addition dans un additionneur ADD3 avec la sortie du verrou L2, une opération de division par 2 est effectuée en arrondissant les bits d'ordre inférieur, et ensuite, le résultat est maintenu par le verrou L3 ayant les valeurs de prédiction Xm,n. Ces niveaux dans le verrou L3 sont destinés à être utilisés à nouveau pour la prédiction des éléments d'image disposés immédiatement sous les éléments traités jusqu'à présent, et sont écrits dans la mémoire 12 de valeur de limite du côté supérieur afin d'y être préservés. Le verrou L4 peut être utilisé pour la synchronisation, et le niveau dans le verrou L3 peut être
écrit après avoir été maintenu pendant 1 cycle, c'est-à-
dire pendant 2 impulsions d'horloge. Quand les autres éléments d'image 4, 8, 12 et 16 ont été prédits, leurs niveaux de prédiction X1,4, X2,4, X3,4 et X4,4 sont nécessaires pour la prédiction d'un bloc adjacent du côté droit et sont écrits dans la mémoire 13 de valeur de limite du côté gauche afin d'y être maintenus jusqu'à ce que le bloc adjacent du côté droit soit en cours de prédiction. Le contenu du verrou L3 est soustrait dans un soustracteur SUB du contenu de la mémoire de trame 11 et est maintenu dans un verrou L8 en tant que sortie
d'erreurs de prédiction.
Au moment o l'élément d'image 1 a été prédit de la manière citée plus haut et o les niveaux de prédiction X1,1 sont maintenus dans le verrou L3, les données nécessaires pour prédire la position du prochain élément d'image sont représentées par ces niveaux de prédiction X1,1 de même que X02 (niveaus reproduits du contenu des positions correspondantes dans la mémoire 12 de valeur de limite du côté supérieur). A ce moment, les niveaux sont lus respectivement à chaque cycle, tel que montré dans la figure 22, f, et les niveaux reproduits X02 sont, par conséquent, déjà maintenus dans le verrou L2. En conséquence, au prochain cycle, le multiplexeur MUX3 est positionné du côté (1) afin que la moitié de la somme des niveaux des verrous L2 et L3 soit maintenue à nouveau dans le verrou L3, et les niveaux de prédiction X1,2 de l'élément d'image 2 sont reproduits. Les niveaux de prédiction supplémentaires X1,3 et X1,4 sont préparés de la même façon, et ces niveaux de prédiction X1,1, X1,2, X1,3 et X1,4 sont tous écrits au moyen du verrou L4 dans la mémoire 12 de valeur de limite du côté supérieur, les niveaux de prédiction X1,4 étant également écrits dans la
mémoire 13 de valeur de limite du côté gauche.
En ce qui concerne la prédiction de l'élément d'image 5, les niveaux de prédiction du bord droit du bloc du côté gauche sont lus en sortie de la mémoire 13 de valeur de limite du côté gauche, le niveau d'erreurs de prédiction restitué à partir de la borne C de dispositif est additionné à ceux-ci pour reproduire X20, et simultanément les niveaux de prédiction X1,1 précédemment maintenus dans la mémoire 12 de limite du côté supérieur sont lus en sortie de celle-ci pour être maintenus dans le verrou Ll. Les niveaux de prédiction X1, 1 sont transférés au verrou L2 au prochain cycle, au cours duquel le multiplexeur MUX4 est positionné du côté (1) afin d'ajouter 0 au niveau Xl,1, qui sont alors maintenus par le verrou L3, et les niveaux de prédiction
X2,1 sont préparés.
La prédiction du bloc est exécutée de façon
répétitive de la même manière que ci-dessus.
De plus, le fonctionnement en ce qui concerne le premier bloc BOO du coin supérieur gauche, de même que celui concernant les blocs BOn et BmO respectivement du côté supérieur et gauche de l'image (voir figure 23) est en partie différent du fonctionnement normal. Par conséquent, dans le présent mode de réalisation, des moyens 49 de détection d'adresse détectent de façon préliminaire si l'opération concerne ces trois blocs ou si elle concerne les blocs ordinaires, puis les données sont délivrés à des moyens 28 de génération d'un signal de chronologie pour faire varier la chronologie. Tout d'abord, la prédiction pour le bloc BOO peut être la même que celle concernant les blocs ordinaires, et les valeurs initiales sont fournies seulement à des parties des mémoires 12 et 13 de valeur de limite du côté supérieur
et du côté gauche, ces parties correspondant au bloc BOO.
D'autre part, il est nécessaire pour le bloc BOO de maintenir les niveaux de prédiction X1,4 et X4,1, en même temps, et il est prévu des signaux de déclenchement pour les verrous L6 et L7, tel que montré dans la figure 22, u et m. De plus, au cours de la prédiction du bloc BOO, les multiplexeurs MUX4 et MUX7 sont toujours placés
respectivement du côté (1) et du côté (2).
En ce qui concerne le bloc BOn du côté supérieur, les niveaux de prédiction maintenus dans le verrou L6 parmi ceux pour les blocs adjacents du côté gauche sont utilisés en tant que niveaux de prédiction du côté supérieur. Par conséquent, comme dans la figure 22, v, le multiplexeur MUX8 est positionné du côté (2) et un signal de déclenchement est fourni au verrou L6 afin d'y maintenir les niveaux de prédiction X1,4 pour la prédiction du bloc adjacent du côté droit, au cours de laquelle il n'est pas nécessaire que le multiplexeur MUX4 reproduise le côté supérieur et il est donc maintenu côté (1), alors que les autres verrous L1 à L5 sont dans l'état montré figure 21. En outre, en ce qui concerne le bloc du côté gauche, les niveaux dans le verrou L7 sont lus en sortie comme dans la figure 22, w, au moment de la chronologie de lecture de la mémoire 13 de valeur limite du côté gauche, et les niveaux dans le verrou L7 sont délivrés en sortie pour maintenir les niveaux de prédiction X4,4. Le multiplexeur MUX7 est positionné du côté (2). La raison en est que les valeurs de limite du côté gauche ne peuvent pas être reproduites, de même que
pour le bloc BOO.
Comme on le comprendra à partir de la figure 22, le fonctionnement décrit ci-dessus fait en sorte que les erreurs de prédiction pour chaque bloc soient délivrées séquentiellement en sortie pour achever la prédiction, et d'autres agencements de codage peuvent être ceux montrés
en figure 1.
Selon encore une autre particularité de la présente invention, il peut être fourni un système de codage
d'image qui permette à un motif agencé de façon bi-
dimensionnelle de coefficients significatifs d'être directement codé en codes de longueurs variables,afin d'empêcher toute détérioration dans l'efficacité du codage due à un agencement indésirable des coefficients significatifs, et de maintenir également le taux de compression à un niveau élevé. En se référant à la figure 27, ce système comporte des moyens 101 de discrimination de coefficients qui comparent avec le niveau seuil Th établi à l'avance un train de signaux de coefficients {Yij} qui sont obtenus en soumettant les signaux d'éléments d'image correspondant à un des blocs divisés à une transformée orthogonale, de sorte que les composantes du signal supérieur au niveau seuil seront discriminées en tant que coefficients significatifs alors que celles qui sont inférieures à Th seront des coefficients sans signification. En ce qui concerne les coefficients significatifs, leur valeur sera passée en tant que telle, alors que les coefficients non significatifs seront arrondis afin de devenir égal à 0. Les coefficients significatifs sont délivrés à travers des moyens de commande 102 et des moyens de quantification 103 à un codeur de longueurs variables 104 o les codes de longueur variable correspondant aux index quantifiés sont assignés, et les signaux CA d'amplitude comprimés sont fournis en sortie. Au même moment, les informations de position, désignant quelles positions dans le train {Yij} de signaux de coefficients sont occupés par les coefficients significatifs, sont mémorisés dans une mémoire de motif 105. Comme les informations sur toutes les composantes du train{Yij} de signaux de coefficients sont ainsi mémorisées dans la mémoire de motif 105, on mémorise le motif agencé de façon bi-dimensionnelle des coefficients significatifs compris dans le train {Yij} de coefficients de transformée qui sont destinés à être codés. C'est-à-dire que, dans la mémoire de motif 105, un motif de disposition, montrant quelles positions dans la matrice sont occupées par les coefficients significatifs ou non significatifs, est destiné à être mémorisé, sans
relation avec la valeur des coefficients significatifs.
Dans un codeur 106 de longueurs variables, il est prévue une table dans laquelle le motif de disposition de l'information binaire dans la. matrice et les codes de longueurs variables sont disposés pour correspondre les uns aux autres selon une relation bi-univoque, de sorte que, quand le motif de disposition des coefficients significatifs correspondant à un bloc de l'image originale est mémorisé dans la mémoire de motif 105, le motif sera comparé avec la table afin d'obtenir les codes de longueurs variables correspondants. C'est-à-dire que, si le train {Yij} de coefficients de transformée correspond à une matrice 4x4, 16 composantes sont mises en oeuvre qui représentent les informations binaires des coefficients soit significatifs, soit non significatifs, et il existe ainsi éventuellement 216 parties du motif de disposition. En conséquence, le codeur 106 de longueur variable mémorise dans la table 21b motifs de disposition, les contenus de la table sont parcourus pour localiser un des motifs qui corresponde à celui mémorisé dans la mémoire de motifs 105, et les codes de motifs comprimés
sont obtenus en tant que codes de longueurs variables.
En se référant ensuite à la figure 28, il est prévu un système qui est capable de réduire la capacité de mémoire contrairement au mode de réalisation de la figure 27. Dans la réalisation de la figure 27, les codes de longueurs variables sont assignés à tous les motifs de disposition des coefficients significatifs en relation avec les blocs à coder, et, dans le cas o le train {Yij} de coefficients de transformée correspond à une matrice 4x4, la table déjà citée du codeur 106 de longueurs variables doit avoir 216 paires de motifs de disposition et de codes de longueurs variables, et la capacité de la mémoire doit donc être relativement grande. Dans la réalisation de la figure 28, par conséquent, le train {Yij} de coefficients de transformée est divisé en deux zones Z1 et Z2, comme il apparaitra clairement si l'on se réfère également à la figure 29, et la table de motifs de disposition est prévue pour chacune de ces zones Z1 et Z2.Si l'on suppose que le train {Yij} de coefficients de transformée représente, par exemple, une matrice 4x4, les zones ZI et Z2 comportent chacune 8 éléments, la paire de motifs et les codes de longueurs variables seront alors 28 dans les tables respectives, et le nombre de paires sera égal seulement à 28x2=29 au total pour les deux zones, grâce à quoi il est possible de minimiser la capacité mémoire dans une large mesure et il est possible de diminuer le temps nécessaire pour effectuer la recherche dans les tables. Dans ce cas, la relation correspondante entre les motifs de disposition et les codes de longueurs variables sera comme il est montré, par exemple, à la figure 30. Dans les motifs de disposition montrés ici, "0" désigne un coefficient non significatif, tandis que "1" désigne un coefficient significatif, et ceux- ci sont agencés de telle sorte que, si la première zone Z1 comporte des coefficients non significatifs pour toutes les composantes, le code de longueurs variables sera "000", et si le coefficient significatif est présent seulement au coin supérieur
gauche, le code de longueurs variables sera "101".
Naturellement, la longueur du code de longueur variable varie en fonction de la position des coefficients significatifs, et un coefficient de 8 chiffres permet aux
motifs de disposition d'être aisément codés.
Dans la présente invention, les informations de position divisées au moment o elles passent à travers les moyens de commande 112 seront séparées au moyen du sélecteur 117, en composantes correspondant aux zones respectives Z1 et Z2, et les composantes séparées sont mémorisées respectivement dans chaque mémoire de motif 115A et 115B pour chacune des zones Z1 et Z2. Ces informations de position mémorisées dans les mémoires A et 115B de motif sont codées respectivement dans les codeurs 116A et 116B de longueurs variables en fonction de chacune des zones Z1 et Z2, et, par conséquent, les codes CP1 et CP2 de.-motif comprimé sont obtenus en tant que codes de longueurs variables pour chacune des zones Z1 et Z2. Ici, les mémoires de motif 115A et 115B de même que les codeurs de longueurs variables 116A et 116B sont prévus en un agencement en deux séries, mais ils peuvent être prévus en une seule série seulement. Dans le cas de la série unique, ils peuvent être employés de la façon courante afin d'utiliser la table de motif, en considérant l'aspect de division des zones Z1 et Z2 et en utilisant les mémoires de motif 115A et 115B respectivement pendant une période de temps décalée pour l'une par rapport à l'autre en ce qui concerne les deux zones Z1 et Z2. Bien que dans ce qui précède le train de signaux {Yij} ait été représenté par une matrice 4x4, il est possible d'augmenter la taille de la matrice, et dans ce cas le nombre de zones de division est augmenté afin que les codes de longueurs variables puissent être
assignés aux motifs sans agrandir la table de motif.
Dans le cas o le train { Yij} de signaux de coefficients correspondant à l'image réelle est, en pratique, divisé en deux zones, telle que celle représentée à la figure 29, il arrive souvent que la deuxième zone Z2 comporte un coefficient non significatif. En conséquence, comme il est montré figure 32, quatre composantes a à d dans la zone Z1, et disposées le long de la limite par rapport à l'autre zone Z2, sont inspectées et, si toutes ces composantes représentent des coefficients non significatifs, les composantes de l'autre zone Z2 sont considérées comme étant toutes représentées par des coefficients non significatifs, et l'on effectue aucun codage pour cette zone Z2, de sorte
que l'efficacité de la compression puisse être augmentée.
Par conséquent, comme il est montré en exemple dans la figure 31, un autre mode de réalisation utilise, contrairement à la réalisation de la figure 28, un circuit 128 NON OU NOR est ajouté à la mémoire de motif A correspondant à la première zone Zl afin de réaliser la fonction NON ou NOT de la somme logique des composantes de limite a à d dans la première zone Z1 détectée. Dans le cas o même une seule des composantes a à d est représentée par le coefficient significatif "H'", alors le niveau de sortie du circuit NOR 128 sera "L" mais, si toutes les composantes a à d sont représentées par le coefficient non significatif "L", alors le niveau de sortie du circuit NOR sera "H". Il est donc possible * 51 de détecter au moyen du niveau de sortie du circuit NOR 128 si oui ou non le coefficient significatif est compris dans les composantes de limite a à d dans la zone Z1, de sorte que, si les moyens de commande 122 sont commandés par la sortie du circuit NOR 128, le codage du bloc de l'image originale peut être achevé sans effectuer aucun codage par rapport à la deuxième zone Z2 dans le cas o des composantes de limite a à d dans la première zone Zi
sont représentées par des coefficients non significatifs.
Dans l'exemple de la figure 31, les autres agencements sont les mêmes que ceux de la figure 29, et les éléments ayant la même fonction sont désignés par les mêmes numéros de référence que ceux utilisés dans la figure 29
sauf qu'il leur est ajouté 10.
Selon une autre particularité de la présente invention, on a réalisé un système qui peut réduire toute distorsion engendrée lorsqu'une quelconque variation dans le niveau d'ombrage ou de gradation de l'image originale est relativement graduelle, en raison du fait que les blocs correspondant à des coefficients non significatifs seulement persistent et que les erreurs de prédiction par extrapolation sont traitées. Comme on l'appréciera sur la figure 33 montrant un mode de réalisation de cette particularité, les composantes respectives du train{ Yij} de signaux de coefficients, obtenues par transformée orthogonale du train de signaux d'erreur, qui représentent la différence entre le train de signaux d'éléments d'image correspondant au bloc de l'image originale et du train de signaux de prédiction de la prédiction par extrapolation, sont comparées au niveau seuil Th dans des moyens de discrimination de coefficient 201 de sorte que, si les composantes sont à un niveau supérieur à celui du niveau seuil Th, elles seront discriminées en tant que coefficient significatif mais, si elles sont inférieures à Th, elles seront discriminées en tant que coefficient non significatif. Le niveau seuil Th est rendu variable en fonction de toute condition spécifique. En se référant maintenant au principe de base pour établir le niveau seuil Th déjà cité avec référence à la figure 34 montrant certain blocs des éléments d'image, les blocs hachurés montrés ici sont ceux qui ont déjà été codés. En supposant à présent que le bloc E est l'objet suivant à coder, on va se référer aux blocs B et C qui sont adjacents à ce-bloc E; En ce qui concerne ces blocs B et C, que oui ou non les composantes de ces blocs B et C comportent le coefficient significatif, la référence est établie par ce moyen pour le niveau seuil, et le bloc contenant le coefficient significatif est considéré comme un bloc significatif alors que tout bloc constitué uniquement par des coefficients non significatifs est considéré comme bloc non significatif. Quand ces deux blocs sont des blocs non significatifs, le niveau seuil Th est abaissé à un niveau prédéterminé, contrairement au
cas o le bloc précédent, ici le bloc B, a déjà été codé.
Quand le niveau seuil Th est abaissé, la fréquence d'apparition des coefficients non significatifs diminue dans les moyens 201 de discrimination de coefficient, et il est possible de freiner la génération continue de blocs non significatis. Au cours de ce traitement de l'abaissement arbitraire du niveau seuil Th, d'autre part, la fréquence d'apparition des blocs significatifs augmente de sorte que l'efficacité de la compression diminue. Par conséquent, si les blocs B et C adjacents au bloc E destiné à être codé ici sont tous les deux des blocs significatifs, le niveau seuil Th est élevé à un niveau prédéterminé par rapport au cas o le bloc précédent, c'est-à-dire le bloc B, a déjà été codé. Si a ce moment l'un ou l'autre des blocs B et C est
significatif, le niveau seuil Th est maintenu égal à lui-
même. Puisque le niveau seuil Th est ainsi ajusté en fonction des blocs B et C adjacents au bloc E à coder, il devient possible d'atteindre une relation optimale entre le degré de distorsion et l'efficacité de compression, en établissant, de manière adéquate, l'étendue de l'ajustage du niveau seuil Th afin d'empêcher que les blocs non significatifs persistent et que l'efficacité de la compression diminue de manière exagérée. Il est également possible d'obtenir le même effet en ajustant le niveau seuil Th en fonction des informations sur les blocs voisins A et D, et non plus seulement sur les blocs B et
C immédiatement adjacents au bloc E à coder.
En se référant à nouveau à la figure 33, le niveau seuil Th est ajusté, plus concrètement, aux moyens de la
mémoire 207 et des moyens 208 d'établissement de seuil.
C'est-à-dire que, grâce aux moyens 201 de discrimination de coefficient et aux moyens de commande 202, on effectue la discrimination si oui ou non les coefficients significatifs sont inclus dans le bloc, et la mémoire 207 est destinée à mémoriser ce bloc en tant que bloc non significatif si aucun coefficient significatif n'est inclus dans le bloc ou en tant que bloc significatif même si seulement un coefficient significatif est présent. Par conséquent, dans la mémoire 207 sont mémorisées les informations de position concernant les blocs disposés de façon adjacente au bloc particulier à coder, les informations de position étant illustrées aux moyens des adresses mémoires dans la mémoire 207, de même que par les informations relatives au fait que oui ou non les
blocs sont des blocs significatifs ou non significatifs.
En ce qui concerne les moyens 208 d'établissement de seuil, les informations nécessaires seront lues dans la mémoire 207 suivant la position du bloc à coder, et le niveau seuil Th pour les moyens 201 de discrimination de coefficient est établi, grâce à quoi sont délivrés en sortie le code CA d'amplitude comprimée correspondant à l'information de luminance, le code CRL de longueur de passage comprimé (communément appelé dans la technique
2 6 2 1 1 4 6
anglo-saxonne compressed run-length-code) et ainsi de suite, le code- CRL étant délivré au moyen d'un compteur 205. Au moment o le codage d'un bloc est achevé, les informations sur le caractère significatif ou non significatif du bloc particulier sont mémorisées dans la
mémoire 207, et le codage se poursuit au bloc suivant.
Si la mémoire 207 est destinée à mémoriser les informations respectives sur tous les blocs de l'image originale, alors la capacité de stockage de mémoire 207 doit être suffisamment grande à cet effet. Dans la présente réalisation, également, les blocs sont divisés selon la même formation en matrice que dans la réalisation déjà citée. On supposera ici que le bloc à coder est le bloc E disposé à la ligne M et à la colonne N tel que montré figure 34. La mémoire 207 est dimensionnée afin d'être capable de mémoriser les informations de discrimination pour les blocs d'une ligne, de sorte que les informations sur la ligne M sont mémorisées à partir d'une adresse 1 jusqu'à une adresse (N-1), et les informations de la ligne (M-1) sont mémorisées à une adresse M et suivantes (voir figures 35 et 36). Ainsi, les informations sur les blocs A à D montrés figure 34 sont mémorisées sur la mémoire 207, comme montré figure 35, de l'adresse (N-2) à l'adresse (N+1). Après l'achèvement du codage du bloc E avec les informations nécessaires utilisées de cette façon, les informations à l'adresse N sont réécrites en remplaçant les informations provenant du bloc C par celles provenant du bloc E, tel que montré figure 36, de façon à contribuer au codage du bloc suivant. En renouvelant séquentiellement les informations ainsi stockées, il devient donc possible d'obtenir séquentiellement les informations d'établissement du niveau seuil Th F rapport à l'image tout entière uniquement au moyen de la mémoire 207 qui est capable de stocker des informations
pour une ligne.
Dans la réalisation de la figure 33, tous les autres agencements sont les mêmes que ceux montrés à la figure 27 par exemple, et les mêmes éléments que ceux de la figure 27 sont désignés par les mêmes numéros de référence que ceux employés en figure 27 sauf que l'on y
a ajouté 100.
En se référant maintenant à la figure 37, un autre
mode de réalisation du système de codage d'image e.
illustré, dans lequel le niveau de seuil déjà cité est rendu plus bas pour les composantes de fréquence basse que pour les composantes de fréquence haute, et la largeur du pas de quantification est également rendue plus petite pour les composantes de fréquence basse que pour les composantes de fréquence élevée, de sorte que la fréquence d'apparition des blocs non significatifs peut être réduite. Dans ce cas, les composantes du train {Yij} de signaux de coefficient obtenues de la même manière que dans la réalisation de la figure 27 sont comparées avec le niveau seuil établ par les moyens 301 de discrimination de coefficient pour la discrimination de la composante supérieure au niveau seuil pour être le coefficient significatif et toute autre composante inférieure au niveau seuil pour être le coefficient non significatif. En établissant le niveau seuil, le coefficient de transformée Yij correspondant à la composante de fréquence basse dans le train { Yij} de coefficients de transformée (dans la figure 38, Yll et les coefficients de transformée adjacents à Y11) est délivré à des moyens de commande 302, puis le niveau seuil "t" est sélectionné par un sélecteur 307. Le niveau seuil est ici établi avec la relation Th>t. Par conséquent, il apparaît plus souvent que les composantes de fréquence inférieures soient discriminées afin d'être les coefficients significatifs. Les moyens de commande délivrent leur sortie également au moyen de quantification 303, la largeur du pas de quantification des moyens de quantification 303 étant ici établie par un autre sélecteur 308 qui, de façon similaire au sélecteur 307 déjà cité, sélectionne une largeur d de pas de quantification pour les composantes de fréquence basse dans le train {Yjj} de coefficients de transformée et sélectionne une largeur D de pas de quantification pour les composantes de fréquence élevée, et la relation D>d est satisfaite. En conséquence, les composantes de fréquence basse permettent une quantification plus précise. Comme on l'a vu plus' haut, le train { Yij} de coefficients de transformée est séparé en coefficients significatif et non significatif, les coefficients significatifs sont quantifiés avec le même agencement que dans la figure 33 puis sont délivrés en sortie d'un codeur 304 de longueur variable en tant que code CA d'amplitude comprimée correspondant à la valeur quantifiée, alors que les coefficients non significatifs sont comptés dans un compteur 305 en fonction de leur longueur de passage et délivrés ensuite en sortie d'un autre codeur de longueur variable 306 en tant que code CRL de longueur de passage comprimé. Puisque le niveau seuil est établi pour être égal à Th>t et la largeur du pas de quantification à D>d, la persistance des blocs non significatifs est ici empêchée même dans une zone de variation légère d'ombrage, cette zone mettant en jeu des composantes de fréquence beaucoup plus basse, grace à quoi toute accumulation de prédiction d'erreurs peut être empêchée et le niveau d'ombrage dans le bloc peut être précisément reproduit, de sorte que toute génération de distorsion causée par des variations abruptes dans le niveau d'ombrage aux parties limites des blocs peut être réduites. Selon une particularité supplémentaire de la présente invention, il est réalisé un système qui minimise la capacité de mémorisation au moyen de l'utilisation commune d'une liste de code unique pour les deux codeurs de longueurs variables, lors de l'exécution de la discrimination des coefficients significatifs et non significatifs, les blocs étant divisés comme montré dans la Ligure 29 en première et deuxième zones. En se référant à la figure 39 montrant une réalisation de cette particularité, le présent mode de réalisation est comparable à celui de la figure 31 sauf qu'il est prévu une liste 407 de codes de codeurs de longueurs variables en relation avec une paire de codeurs 406a et 406b de longueurs variables, les autres agencements étant essentiellement les mêmes et utilisant les mêmes éléments que ceux de la figure 31 qui sont désignés par les mêmes numéros de référence que ceux employés dans la figure 31 sauf qu'il leur est ajouté 280. Dans le présent exemple, les mémoires de motifs 405A et 405B mémorisent les motifs de disposition des coefficients significatifsrespectivement dans la première et dans la deuxième zones, et délivrent en sortie des index qui correspondent, de
façon bi-univoque, aux motifs de disposition respectifs.
Les codeurs de longueurs variables 406A et 406B se réfèrent à la liste 407 de codes de codeurs de longueurs variables compte tenu des index de motifs de la première et de la deuxième zones reçus à partir des mémoires de motifs 405A et 405B et délivrent à leurs sorties les signaux CP1 et CP2 de codes de longueurs variables correspondant aux index de motifs. Dans le présent exemple, il est tenu compte du fait que la probabilité d'apparition des index de motifs des première et deuxième zones présente des similitudes dans la distribution par rapport à des résultats de simulation informatisée, comme le montre la figure 40, et le coût du matériel peut être réduit au moyen de la liste 407 de codes de codeurs de
longueurs variables commune aux deux zones.
En se référant à un procédé de préparation de la liste de codes commune aux première et deuxième zones, la probabilité d'apparition Pl(Si) ou P2(Si) des index de motifs est calculée pour chaque zone, un poids est donné à la probabilité en fonction de la fréquence de codage des zones respectives, et la liste de codes peut être préparée au moyen de la formule suivante fondée sur la probabilité d'apparition calculée: P1+2(Si) =wl.Pl(Si)+w2P2(Si) o le suffixe "i" est l'index de motif, et les index de motifs sont supposés arrangés selon la séquence de confirmation de leur apparition, tandis que wl et w2 sont des coefficients pondéraux qui sont établis ici pour
satisfaire à la condition wl>w2.
Selon une autre particularité de la présente invention, il est réalisé un système de codage d'image dans lequel les moyens de quantification permettent à la multiplication d'être effectuée par addition cumulative des entrées série telle quelle, sans transformer les entrées série en entrées parallèles, de sorte que ces moyens peuvent voir leur structure simplifiée. En se référant à la figure 41, il est illustré un matériel selon la présente invention, comportant des moyens 501 d'addition cumulative, des moyens 502 d'inversion de bits et des moyens 503 d'addition à décalage. Dans l'exemple présent, une entrée série de bits est prévue vers une partie de commutation d'un commutateur Si en synchronisme avec un signal d'horloge CLK. Au commutateur SI lui-même sont délivrées une entrée provenant du verrou DI, mémorisant le nombre. inverse A=1/Th du niveau seuil Th, de même qu'une valeur zéro, de sorte que, si l'entrée série est "1", la valeur A sera sélectionnée, alors que la valeur "0" sera sélectionnée si l'entrée série est nulle. La sortie ainsi sélectionnée du commutateur S1, de même qu'une valeur d'inversion de bits pour tous les bits de la sortie sélectionnée qui sont inversés par le circuit 511 d'inversion de bits, sont délivrés à un commutateur S2, qui reçoit un signal MSB, de sorte que le commutateur S2 sélectionne la valeur d'inversion de bits du circuit 511 si le signal de MSB est à "1" ou sélectionne la sortie du commutateur S2 si le signal de MSB est à "0". Le signal de MSB employé ici est un signal tel qu'il soit à "1" seulement si le bit MSB de l'entrée série de bits est à "1" mais soit "0" dans tous les
autres cas.
La sortie ainsi sélectionnée du commutateur S2 est délivrée à un additionneur complet FAe 512, o la somme de la sortie du commutateur S2 et de la sortie du verrou 513 est obtenue, tandis que le signal de MSB est délivré à l'additionneur complet FAe 512. D'abord, le verrou 513 est mis à zéro par un signal d'horloge CLK avant que l'entrée série de bits soit reçue, afin d'être à "0". Ensuite, l'additionneur complet FAe 512 reçoit la valeur A si l'entrée série de bits est à "1" ou la valeur zéro si l'entrée particulière est à "0", moment auquel le contenu du verrou 513 sera la sortie de la valeur zéro ou A de l'additionneur complet FAe 512 en fonction du signal MSB. Puis, la sortie de l'additionneur complet FAe 512 peut être maintenue par le verrou 513 en fonction du
signal d'horloge CLK.
A la réception d'une deuxième entrée série de bits, cette dernière est délivrée à l'additionneur complet FAe 512 et il est fait en sorte que la sortie du verrou 513 soit décalée à ce moment de 1 bit vers la droite de sorte que, si la sortie du verrou 513 est Do, la sortie de l'additionneur complet FAe 512 soit Do/2. En supposant ici que tous les numéros de bits de l'entrée série de bits soient N, le numéro de bit du verrou Dl est N, la i-ième entrée de série de bits est Di, et la sortie du verrou 513 maintenant les résultats des calculs de l'additionneur complet FAe 512 est Do, le résultat de l'opération ci-dessus étant représenté comme suit: Di=bi..A+(Di-1/2) (quand i=l à M-1) Do=O Si le signal de MSB est à "1", l'entrée de l'additionneur complet FAe 512 sera (DM-1)/2 et (-A-i) de sorte que: DM=-bM.A+(DM-1)/2 en résolvant ceci, on obtient: DM=1/2 {E-1 bi.A.21i-lbM.A.2 -1 i-1 M-1 i-1 M-1 =1/(2M-1).A.{Z bi.2 -bM.2} i-1 puis que dans ce qui précède, M-1 i-l bM.2M-1} { E bi.2 i-1 est la valeur I elle-même représentant l'entrée série de bits avec le numéro en complément à 2, on obtient l'équation suivante:
DM=1/(2H-1).A.I
En d'autres termes, la sortie du verrou 513 après réception de toutes les entrées série de bits est le
quotient de A.I divisé par (2H-l).
Ensuite, la valeur absolue provenant des moyens 501 d'addition cumulative est obtenue au moyen 502 d'inversion de bits. Dans le présent exemple, le traitement suivant est effectué non pas au moyen -de l'expression du complément à 2 mais au moyen de la somme du code et de la valeur absolue de sorte que, comme le signal MSB parmi toutes les sorties de bits des moyens 501 d'addition cumulative est un bit de code, le signal peut être délivré en sortie des moyens particuliers en tant que code Q représentant le résultat de la quantification. La sortie du bit M-1 provenant du verrou 513 est délivrée directement, au moyen du circuit 514 d'inversion de bits, à un commutateur S3 des moyens 502 d'inversion de bits. Dans ce cas, l'entrée du circuit 514 d'inversion de bits est le quotient du produit A.I divise par (2H-1) toute erreur impliquée sera au maximum environ 1/(2M-1) et pourra être d'un niveau négligeable si la valeur de M est grande. Dans le présent mode de réalisation, tous les bits sont donc simplement inversés pour obtenir un nombre négatif. En outre, le commutateur S3 reçoit les entrées de (1/2H-1).A.I et -(1/2H-1).A.I), et le commutateur S3 sélectionne -(1/2m-1).A.I si le signal MSB est à "1" ou (1/2H-1).A.I si le signal est à "0". La valeur A est le nombre inverse du niveau seuil Th et est un nombre positif, et le signal de MSB est le code lui-même de A.I. En conséquence, la sortie des moyens
d'inversion de bits 502 sera l(1/2H-1).lA.II.
Dans les moyens 503 d'addition à décalage, le commutateur S4 sélectionne le signal de décalage si le signal de la composante basse fréquence détectée est à "1", c'est-à-dire que la sortie des moyens d'inversion de bits 502 est la composante basse fréquence, mais sélectionne la valeur zéro si la sortie est autre. Le signal de décalage employé ici sera, par exemple, 1/2 ou équivalent. Puis, un additionneur Af 515 additionne la sortie du commutateur S4 à la sortie des moyens 502 d'inversion de bits, et cet additionneur Af 515 délivre en sortie soit
*(1/2-).{(A.II.1/2)
pour les composantes basse fréquence, soit
(1/2H-1).A. III)
pour les composantes haute fréquence, en tant que valeur absolue de Q. Puis, le code de Q est délivré séparément en sortie et, en tirant partie du fait que A=1/Th, on obtient soit 8=(1/2H-1).sgn(I).{ II/Th+l/2} pour les composantes basse fréquence, soit 8=(1/2H-1).sgn(I).(lII/Th) pour les composantes haute fréquence, en fonction éventuellement de l'entrée série de bits, dans une expression numérique du code plus la valeur absolue. On doit comprendre que, bien que ce traitement soit similaire à l'arrondissement du bit M-1 au cours de la quantification, le traitement dans les moyens 502 d'inversion de bits pour les nombres négatifs est un traitement d'approximation, de sorte que la quantification suivant la présente réalisation soit en pratique telle que montré figure 42 pour les composantes basse fréquence ou telle que montré figure 43 pour les
composantes haute fréquence.
Claims (19)
1. Système de codage d'image pour soumettre une image originale à une transformée orthogonale afin de supprimer toute redondance dans l'image originale et coder les coefficients de transformée orthogonale ainsi obtenus, caractérisé en ce qu'il comprend des moyens de prédiction (15) pour prédire les valeurs d'éléments d'image à l'intérieur de chaque bloc comportant une pluralité d'éléments d'image et dans lesquels blocs l'image originale est divisée afin d'obtenir des valeurs de prédiction de même que des signaux d'erreurs de prédiction en fonction de la différence entre les valeurs de prédiction et les valeurs vraies; des moyens (18) de transformée de sinus discret pour effectuer une transformée de sinus discret en fonction des signaux d'erreurs de prédiction obtenus afin d'obtenir des coefficients de transformée; des moyens de quantification (21) pour quantifier les coefficients de transformée obtenus afin d'obtenir des index quantifiés; des moyens de codage (24) pour coder les index quantifiés obtenus; des moyens (25) de quantification inverse pour quantifier de manière inverse les index quantifiés afin de reproduire les coefficients de transformée; des moyens (16) de transformée de sinus discret inverse pour effectuer une transformée de sinus discret inverse en fonction des coefficients de transformée reproduits afin de reproduire les coefficients de transformée; et des moyens de reproduction pour reproduire les valeurs d'éléments d'image à l'intérieur des blocs en additionnant les signaux d'erreurs de prédiction
reproduits aux valeurs de prédiction.
2. Système selon la revendication 1, caractérisé par le fait que lesdits moyens (15) de prédiction obtiennent lesdites valeurs de prédiction en utilisant les valeurs des éléments d'image d'autres blocs adjacents auxdits blocs en cours de codage, lesdits autres blocs
ayant déjà été codés et reproduits.
3. Système selon la revendication 1, caractérisé par le fait que lesdits moyens (15) de prédiction utilisent une valeur initiale pour ladite prédiction desdites valeurs d'éléments d'image desdits blocs les plus proches qui ont déjà été codés et reproduits, par le
codage du bloc du bord supérieur et du bord gauche.
4. Système selon la revendication 1, caractérisé par le fait que les moyens (18) de transformée de sinus discret et les moyens (16) de transformée de sinus discret inverse effectuent respectivement ladite transformée de sinus discret et ladite transformée de
sinus discret inverse de façon bi-dimensionnelle.
5. Système selon la revendication 4, caractérisé par le fait que les moyens (18) de transformée de sinus discret comporte une mémoire pour stocker lesdits signaux d'erreurs de prédiction en fonction d'un desdits blocs, un transformateur de rangées (19) comportant des additionneurs cumulatifs correspondant en nombre aux rangées d'une matrice de transformées et capable d'obtenir une transformée unidimensionnelle correspondant au numéro d'onde qui est une permutation de la rangée dans la matrice, et un transformateur de colonnes (20) comportant des additionneurs cumulatifs correspondant en nombre aux colonnes de ladite matrice et ayant différentes composantes de rangées, et ladite transformée de sinus discret bi-dimensionnelle est effectuée en
lisant lesdits signaux d'erreurs de prédiction da-
ladite mémoire séquentiellement le nombre de fols correspondant au nombre desdites colonnes dans le bloc et en permutant, à chaque fois, la rangée dans la matrice du
transformateur de rangées (19).
6. Système selon la revendication 4, caractérisé par le fait que lesdits moyens (18) de transformée de sinus discret et lesdits moyens (16) de transformée de sinus discret inverse comportent respectivement une pluralité de transformateurs de rangées pour effectuer une transformée de sinus discret unidimensionnelle, une pluralité de transformateurs de colonnes du même agencement que celui des transformateurs de rangées, et des moyens pour effectuer l'échange rangées-colonnes en permutant les directions de cumul dans les directions verticale et horizontale pour chaque bloc, de sorte que ladite transformée de sinus discret bidimensionnelle et
ladite transformée de sinus discret inverse bi-
dimensionnelle soient effectuées en fournissant les données sur chaque rangée auxdits transformateurs en
parallèle et de manière séquentielle.
7. Système selon la revendication 1, caractérisé par le fait que les moyens (18) de transformée de sinus discret utilisent en tant que ladite transformée de sinus discret une transformée orthogonale en entier réalisant une approximation de la transformée de sinus discret en maintenant une relation orthogonale et possédant un
nombre entier de composantes de matrice de transformées.
8. Système selon la revendication 7, caractérisé par le fait que ladite transformée orthogonale en entier correspond à une matrice transformée:
1 3 5 7 8
'147 7 7 0 -7
8 -3 -7 5
-8 7 -3
9. Système selon la revendication 1, caractérisé par le fait que lesdits moyens de quantification (21) comparent lesdits coefficients de transformée avec une valeur seuil prédéterminée, et quantifient les coefficients de transformée qui sont supérieurs à ladite valeur seuil seulement en tant que coefficients significatifs, tandis que les autres coefficients de transformée inférieurs à la valeur seuil sont arrondis pour être égals à zéro en tant que coefficients non significatifs.
10. Système selon la revendication 9, caractérisé par le fait que les moyens de quantification (21) établissent de façon variable ladite valeur seuil en fonction de la discrimination desdits coefficients significatifs ou non significatifs pour une pluralité
desdits blocs adjacents audit bloc en cours de codage.
11. Système selon la revendication 9, caractérisé par le fait que lesdits moyens de quantification (21) établissent ladite valeur seuil afin qu'elle soit inférieure pour la quantification desdits coefficients de transformée correspondant à des composantes basse fréquence, dans un train de coefficients de transformée, à celle des coefficients correspondant à des composantes
haute fréquence dans ledit train.
12. Système selon la revendication 9, caractérisé par le fait que lesdits moyens de quantification (21) quantifient lesdits * coefficients de transformée, correspondant aux composantes basse fréquence dans un train de ces coefficients, avec une largeur de pas de quantification établie pour être plus faible que pour les coefficients correspondant aux composantes basse
fréquence dans ledit train.
13. Système selon la revendication 1, caractérisé par le fait que lesdits moyens de quantification (21) sont prévus pour avoir un signal d'entrée représenté par un complément à "'2" et un signal de sortie représenté par
une valeur absolue.
14. Système selon la revendication 9, caractérisé par le fait que lesdits moyens de codage (24) codent lesdits index quantifiés desdits coefficients significatifs et les positions dans lesdits blocs des
coefficients significatifs.
15. Système selon la revendication 14, caractérisé par le fait que les moyens de codage (24) effectuent ledit codage desdites positions dans ledit bloc desdits coefficients significatifs en assignant un code de longueur variable à ces positions en fonction de tables correspondant aux motifs de positions respectifs desdits coefficients significatifs dans chacun desdits blocs en
relation bi-univoque.
16. Système selon la revendication 15, caractérisé par le fait que lesdits moyens de codage (24) effectuent ledit codage en divisant chacun desdits blocs en au moins deux zones, et en divisant lesdits motifs de disposition desdits coefficients significatifs correspondant
également en au moins deux groupes.
17. Système selon la revendication 16, caractérisé par le fait que des moyens de codage (24) codent lesdits motifs de disposition desdits coefficients significatifs en un train desdits coefficients de transformée à l'intérieur de chacune desdites zones divisées avec référence à une table de codes de longueurs variables
commune aux zones respectives.
18. Système selon la revendication 1, caractérisé par le fait que lesdits moyens de prédiction (15), de transformée de sinus discret (18), de quantification (21), de quantification inverse (25), de transformée de sinus discret inverse (16) et de reproduction fonctionnent en un agencement en pipe-line, lesdits blocs étant balayés séquentiellement en diagonale pour leur traitement de pipe-line.
19. Système selon la revendication 1, caractérisé par le fait que lesdits moyens de prédiction (15), de transformée de sinus discret (18), de quantification (21), de quantification inverse (25), de transformée de sinus discret inverse (16) et de reproduction sont agencés pour un traitement en pipe-line desdits blocs, ledit traitement en pipe-line étant effectué séquenciellement en fonction de chacun desdits blocs prélevés dans les zones respectives de ladite image originale, et étant poursuivi pour les blocs dans d'autres zones jusqu'à ce que lesdites valeurs d'éléments d'image dans les blocs d'une des zones soient reproduites et que ladite prédiction d'un des blocs suivants à coder devienne possible.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24045487 | 1987-09-24 | ||
| JP62240453A JPH0628444B2 (ja) | 1987-09-24 | 1987-09-24 | 画像符号化方式 |
| JP62240455A JPH0693753B2 (ja) | 1987-09-24 | 1987-09-24 | 画像変換符号化装置 |
| JP28800387A JP2839142B2 (ja) | 1987-11-14 | 1987-11-14 | 画像符号化方式 |
| JP63073664A JPH01245763A (ja) | 1988-03-28 | 1988-03-28 | ブロック予測方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2621146A1 true FR2621146A1 (fr) | 1989-03-31 |
| FR2621146B1 FR2621146B1 (fr) | 1995-04-07 |
Family
ID=27524455
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR8812454A Granted FR2621146A1 (fr) | 1987-09-24 | 1988-09-23 | Systeme de codage d'image |
Country Status (3)
| Country | Link |
|---|---|
| DE (1) | DE3832476A1 (fr) |
| FR (1) | FR2621146A1 (fr) |
| GB (1) | GB2210229B (fr) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1990013971A1 (fr) * | 1989-04-29 | 1990-11-15 | Deutsche Thomson-Brandt Gmbh | Systeme de traitement de signaux numeriques |
| EP0385317A3 (fr) * | 1989-02-28 | 1992-04-15 | Canon Kabushiki Kaisha | Dispositif de traitement de signal |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5305399A (en) * | 1990-04-19 | 1994-04-19 | Ricoh Corporation | Two dimensional shift-array for use in image compression VLSI |
| CN104322064A (zh) | 2012-04-16 | 2015-01-28 | 韩国电子通信研究院 | 编码方法和解码方法以及使用其的设备 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4215375A (en) * | 1978-02-23 | 1980-07-29 | Nippon Electric Company, Ltd. | Digital facsimile transmission system for screened pictures |
| US4533957A (en) * | 1982-08-26 | 1985-08-06 | Nec Corporation | Method of processing picture signal to increase average run length and apparatus therefor |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3545106A1 (de) * | 1985-12-19 | 1987-06-25 | Ruge I | Schaltung zur bilddatenreduktion, mustererkennung, etc. |
-
1988
- 1988-09-15 GB GB8821600A patent/GB2210229B/en not_active Expired
- 1988-09-23 FR FR8812454A patent/FR2621146A1/fr active Granted
- 1988-09-23 DE DE19883832476 patent/DE3832476A1/de active Granted
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4215375A (en) * | 1978-02-23 | 1980-07-29 | Nippon Electric Company, Ltd. | Digital facsimile transmission system for screened pictures |
| US4533957A (en) * | 1982-08-26 | 1985-08-06 | Nec Corporation | Method of processing picture signal to increase average run length and apparatus therefor |
Non-Patent Citations (2)
| Title |
|---|
| DENSHI TSUSHIN GAKKAI RONBUNSHI vol. 69-B, no. 7, Juillet 1986, pages 686 - 697 * |
| INT. SEMINAR ON DIGITAL COMMUNICATIONS Mars 1984, ZURICH pages 25 - 31 H. LOHSCHELLER 'adaptive transform coding for still picture communication' * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0385317A3 (fr) * | 1989-02-28 | 1992-04-15 | Canon Kabushiki Kaisha | Dispositif de traitement de signal |
| EP0674438A3 (fr) * | 1989-02-28 | 1995-12-20 | Canon Kk | Dispositif de traitement de signal. |
| WO1990013971A1 (fr) * | 1989-04-29 | 1990-11-15 | Deutsche Thomson-Brandt Gmbh | Systeme de traitement de signaux numeriques |
Also Published As
| Publication number | Publication date |
|---|---|
| GB8821600D0 (en) | 1988-10-12 |
| DE3832476C2 (fr) | 1992-01-16 |
| GB2210229B (en) | 1991-11-20 |
| DE3832476A1 (de) | 1989-04-13 |
| FR2621146B1 (fr) | 1995-04-07 |
| GB2210229A (en) | 1989-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0484259B1 (fr) | Procédé de codage binaire à taux de basculement des éléments binaires sensiblement uniforme, et procédés d'incrémentation et de décrémentation correspondants | |
| US5054103A (en) | Picture encoding system | |
| FR2599872A1 (fr) | Dispositifs de calcul de transformees cosinus mono-dimensionnelles, et dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul | |
| US5561618A (en) | Method and apparatus for performing a fast Hadamard transform | |
| EP0204603B1 (fr) | Circuit de calcul rapide de la transformée en cosinus, directe ou inverse, d'un signal discret | |
| FR2724791A1 (fr) | Appareil de compression de donnees utilisant des ondes elementaires implantees reversibles | |
| FR2486334A1 (fr) | Procede pour numeriser un signal video discret dans le temps avec utilisation d'une transformation d'image | |
| FR2693607A1 (fr) | Décodeur pour des données codées en code de Huffman et procédé. | |
| EP0595710A1 (fr) | Procédé et dispositif de segmentation en sous-bandes et de reconstruction d'un signal numérique, et dispositif correspondant | |
| US5506801A (en) | High-performance ultra-low power VLSI analog processor for data compression | |
| FR2627337A1 (fr) | Procede de codage et procede de decodage a longueur variable, dispositif de codage et dispositif de decodage pour la mise en oeuvre de ce proced | |
| FR2511214A1 (fr) | Dispositif pour accomplir une soustraction binaire d'un premier et d'un second nombre | |
| EP0259231B1 (fr) | Dispositif de détermination de la transformée numérique d'un signal | |
| US6121905A (en) | Method and apparatus for decoding JPEG symbols | |
| EP0490799A1 (fr) | Dispositif et procédé de codage des images et système de transmission et récepteur correspondants | |
| FR2621146A1 (fr) | Systeme de codage d'image | |
| FR2613559A1 (fr) | Appareil de modulation par impulsions codees differentielle et son procede de fonctionnement | |
| WO1989010042A1 (fr) | Procede de codage et de decodage d'informations, par blocs, et dispositifs de codage et de decodage, pour la mise en oeuvre de ce procede | |
| FR2746243A1 (fr) | Procede pour fournir une representation d'une scene optique par transformation de walsh-hadamard et capteur d'image mettant en oeuvre ce procede | |
| EP0063990B1 (fr) | Procédé de transmission d'une image à débit réduit; système de transmission pour la mise en oeuvre de ce procédé | |
| FR2488474A1 (fr) | Procede et dispositif pour obtenir un signal video couleur numerique | |
| EP0438340B1 (fr) | Procédé et appareil de compression de données | |
| KR100207428B1 (ko) | 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법 | |
| FR2582883A1 (fr) | Arrangement de circuits et procede pour convertir des valeurs de signal numerique en un signal analogique. | |
| FR2648978A2 (fr) | Procede de codage d'une suite d'images, par une transformation et une pluralite de codes a longueur variable, et dispositifs pour la mise en oeuvre de ce procede |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |