FR2702862A1 - An apparatus and method for processing image data capable of processing high speed image data. - Google Patents
An apparatus and method for processing image data capable of processing high speed image data. Download PDFInfo
- Publication number
- FR2702862A1 FR2702862A1 FR9403206A FR9403206A FR2702862A1 FR 2702862 A1 FR2702862 A1 FR 2702862A1 FR 9403206 A FR9403206 A FR 9403206A FR 9403206 A FR9403206 A FR 9403206A FR 2702862 A1 FR2702862 A1 FR 2702862A1
- Authority
- FR
- France
- Prior art keywords
- data
- pixel
- image
- processing
- code
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Dram (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Memory System (AREA)
Abstract
L'invention concerne les techniques de compression décompression de données d'image. Un appareil de compression/décompression d'image conforme à une norme internationale comprend une unité de commande (2), une unité de traitement de pixels (3) pour la transformation en cosinus discrète et la quantification, une mémoire tampon d'intervalle d'image (51), une unité de prédiction de mouvement (41), un bus de données de pixel (PB) et un bus de code (CB). Un processeur de commande d'ensemble qui est incorporé dans l'unité de commande effectue une commande pipeline pour la compression/décompression d'image, permettant ainsi d'obtenir une de fonctionnement élevée. Application à la transmission d'images de télévision.Techniques for compressing decompressing image data are disclosed. An image compression / decompression apparatus according to an international standard comprises a control unit (2), a pixel processing unit (3) for discrete cosine transformation and quantization, an interval buffer memory. image (51), a motion prediction unit (41), a pixel data bus (PB) and a code bus (CB). An assembly control processor which is incorporated in the control unit performs pipeline control for image compression / decompression, thereby achieving high operation. Application to the transmission of television images.
Description
APPAREIL ET PROCEDE DE TRAITEMENT DE DONNEESAPPARATUS AND METHOD FOR PROCESSING DATA
D'IMAGE CAPABLES DE TRAITER DES DONNEES D'IMAGE IMAGE CAPABLE OF PROCESSING IMAGE DATA
A VITESSE ELEVEEHIGH SPEED
La présente invention concerne de façon générale un appareil de traitement de données d'image et un procédé de traitement d'image Elle concerne plus particulièrement un appareil et un procédé de traitement de données d'image au moyen desquels on peut effectivement effectuer une compression et/ou une décompression de données d'image The present invention generally relates to an image data processing apparatus and an image processing method. More particularly, it relates to an image data processing apparatus and method by means of which compression and / or decompression of image data
avec une vitesse élevée.with a high speed.
Des normes internationales pour la compression et la décompression de données d'image ont été préparées par les organismes International Organization for Standardization, que l'on désigne ci-après par "ISO"; International standards for the compression and decompression of image data have been prepared by the International Organization for Standardization, hereinafter referred to as "ISO";
Comité Consultatif Internationna Télégraphique et Télépho- International Telegraph and Telephone Consultative Committee
nique, appelé ci-après CCITT", encore connu actuellement sous l'appellation I Tu-T; et International Electrical Committee, que l'on appelle ci-après "IEC" Parmi les normes internationales, la norme JPEG a été préparée par le Joint Photographic Expert Group of ISO and CCITT, et "CCITT", still known today as I Tu-T, and International Electrical Committee, hereinafter referred to as "IEC". Among the international standards, the JPEG standard was prepared by the Joint Photographic Expert Group of ISO and CCITT, and
elle définit des algorithmes de compression et de décom- it defines compression and decompression algorithms
pression pour des images fixes en couleurs D'autre part, une norme MPEG est en cours de préparation par le Moving Picture Expert Group of ISO and IEC, et elle définit des algorithmes de compression et de décompression pour des images animées en couleurs De plus, une norme H 261 est actuellement en cours de préparation par le CCITT, et elle définit un algorithme de compression et de décompression convenant pour la vidéoconférence et la visiophonie La figure 69 est un schéma synoptique montrant des processus principaux dans un algorithme de compression d'image qui est recommandé par la norme internationale En se référant à la figure 69, on note qu'un processus de compression d'image comprend fondamentalement un codage prédictif, une On the other hand, an MPEG standard is being prepared by the Moving Picture Expert Group of ISO and IEC, and it defines compression and decompression algorithms for animated color images. an H 261 standard is currently being prepared by the CCITT, and it defines a compression and decompression algorithm suitable for videoconferencing and video telephony. Figure 69 is a block diagram showing main processes in an image compression algorithm which is recommended by the international standard Referring to Fig. 69, it is noted that an image compression process basically comprises a predictive coding, a
transformation orthogonale et un codage à longueur varia- orthogonal transformation and variable length coding
ble Comme on peut le voir sur la figure 69, chacune des normes JPEG, MPEG et H 261 comprend, dans le traitement de compression d'image, une transformation en cosinus discrète (encore appelées "DCT"), une quantification et un As can be seen in FIG. 69, each of the JPEG, MPEG and H 261 standards includes, in image compression processing, a discrete cosine transform (also called "DCT"), a quantization and a quantization.
codage de Huffman.Huffman coding.
La spécification JPEG pour le traitement d'une image fixe en couleurs comprend, à titre de système de base, une transformation en cosinus discrète adaptative, une quantification, une modulation par impulsions et codage de type différentiel (MIC à) et un codage de Huffman, par exemple La spécification JPEG comprend, à titre de système développé, une transformation en cosinus discrète adaptative, un codage hiérarchique, un codage The JPEG specification for processing a color still image includes, as a base system, adaptive discrete cosine transformation, quantization, pulse-code modulation (PCM) and Huffman coding. for example, the JPEG specification includes, as a developed system, an adaptive discrete cosine transform, a hierarchical coding, a coding
arithmétique et un codage de Huffman adaptatif. arithmetic and adaptive Huffman coding.
La spécification MPEG pour l'accumulation d'images mobiles comprend une compensation de mouvement/ prédiction inter-trame, une transformation en cosinus discète, une quantification et un codage de Huffman La The MPEG specification for mobile image accumulation includes inter-frame motion / prediction compensation, discus cosine transformation, Huffman La quantization and coding.
spécication H 261 pour la visiophonie et la vidéoconfé- H 261 specification for videophone and videoconfu-
rence comprend une compensation de mouvement/prédiction inter-trame, une transformation en cosinus discrète, une includes inter-frame motion / prediction compensation, discrete cosine transformation,
quantification et un codage de Huffman. Quantization and Huffman coding.
Un circuit intégré complexe pour la compression d'image conformément à la norme internationale précitée a A complex integrated circuit for image compression in accordance with the aforementioned international standard has
été développé et il est par exemple décrit sommairement been developed and it is for example briefly described
dans un article intitulé "LSI for Image Processing",dans Journal of the Institute of Television Engineers of Japan, Vol 46, N O 3, pages 253- 260, 1992 On note que la présente invention est applicable de façon générale à un appareil de compression de données d'image, à un appareil de décompression de données d'image et à un processeur de données d'image pour la compression et/ou la décompression d'image conformément aux normes internationales décrites ci-dessus. La figure 70 est un schéma synoptique d'un in an article entitled "LSI for Image Processing", in Journal of the Institute of Television Engineers of Japan, Vol 46, No. 3, pages 253-260, 1992 It is noted that the present invention is generally applicable to a compression apparatus image data, an image data decompression apparatus and an image data processor for compression and / or image decompression according to the international standards described above. Figure 70 is a block diagram of a
appareil de compression/décompression d'image classique. conventional image compression / decompression apparatus.
En se référant à la figure 70, on note que l'appareil de compression/décompression d'image comprend un processeur de signal numérique (encore appelé DSP pour "digital signal processor") 900 pour le traitement de données d'image, une mémoire de données d'image 907, une mémoire de données de code 908, une mémoire de visualisation 909 et une mémoire de travail 910 Le processeur de signal numérique 900 est connecté aux mémoires 907 à 910 par Referring to FIG. 70, it will be noted that the image compression / decompression device comprises a digital signal processor (DSP) 900 for image data processing, a memory image data 907, a code data memory 908, a display memory 909 and a working memory 910 The digital signal processor 900 is connected to the memories 907 to 910 by
l'intermédiaire d'un bus interne 940. via an internal bus 940.
La figure 71 est un schéma synoptique du proces- Figure 71 is a block diagram of the process
seur de signal numérique 900 qui est représenté sur la figure 70 En se référant à la figure 71, on note que le processeur de signal numérique 900 comprend une mémoire d'instructions 901, une unité de commande par programme 902, une mémoire de données 903, une unité de traitement de données 904 et une interface externe 905 Un bus de Digital signal processor 900 shown in FIG. 70. Referring to FIG. 71, digital signal processor 900 includes instruction memory 901, program control unit 902, data memory 903, and digital signal processor 900. , a data processing unit 904 and an external interface 905 A bus of
système 941 connecte ensemble l'unité de commande parpro- system 941 connects the parpro-
granme 902, la mémoire de données 903, l'unité de traitement de 902, the data memory 903, the processing unit of
données 904 et l'interface externe 905 Pendant le fonc- data 904 and the external interface 905 During the
tionnement, un code d'instruction enregistré (ou program- tion, a registered instruction code (or program
mé) dans la mémoire d'instructions 901 est lu et il est appliqué à l'unité de commande par programme 902 L'unité de commande par programme 902 décode le code d'instruction appliqué et elle produit divers signaux de commande Sous l'effet des signaux de commande qui proviennent de l'unité de commande par programme 902, l'unité de traitement de m) in the instruction memory 901 is read and is applied to the program control unit 902 The program control unit 902 decodes the instruction code applied and produces various control signals Under the effect control signals from the program control unit 902, the processing unit of
données 904 reçoit des données externes par l'intermé- data 904 receives external data through
diaire de l'interface externe 905 et de la mémoire de données 903, et elle accomplit son opération Le résultat de l'opération est enregistré dans la mémoire de données 903 ou bien il est émis par l'intermédiaire de l'interface externe 905 De cette manière, un processus est accompli dans le processeur de signal numérique 900 conformément au code d'instruction qui est enregistré dans la mémoire The result of the operation is stored in the data memory 903 or it is transmitted via the external interface 905 of the external interface 905 and the data memory 903. this way, a process is performed in the digital signal processor 900 according to the instruction code which is stored in the memory
d'instructions 901.901.
On décrira une opération de compression de données d'image en se référant aux figures 70 et il On suppose ici que les données d'image à comprimer sont enregistrées dans une mémoire de données d'image 907 En An image data compression operation will be described with reference to Figs. 70 and it is assumed here that the image data to be compressed is stored in an image data memory 907.
premier lieu, les données d'image qui sont été enregis- first, the image data that has been recorded
trées dans la mémoire de données d'image 907 sont trans- stored in the image data memory 907 are trans-
férées vers la mémoire de données 903 dans le processeur de signal numérique 900 Le format des données d'image enregistrées dans la mémoire de données 903 est converti to the data memory 903 in the digital signal processor 900 The format of the image data stored in the data memory 903 is converted
par l'unité de traitement de données 904 Dans la conver- by the data processing unit 904 In the conversion
sion, des données sous-échantillonnées de signal de diffé- sion, subsampled data of difference signal
rence de couleurs, ou des données en format RGB, par exem- color, or data in RGB format, for example
ple, sont converties en données en format YUV Les données converties sont enregistrées temporairement dans la mémoire de données 903 Le processeur de signal numérique 900 transfère vers la mémoire de données d'image 907 les données converties qui sont présentes dans la mémoire de The converted data is temporarily stored in the data memory 903. The digital signal processor 900 transfers to the image data memory 907 the converted data that is present in the memory of the data memory.
données 903.903 data.
Ensuite, le processeur de signal numérique 900 détermine un mode de compression d'image en utilisant les données enregistrées dans la mémoire de données d'image 907 En ce qui concerne les modes de compression d'image, on connaît un mode de compression inter-trame, un mode de compression intra-trame, etc Dans le mode de compression inter-trame, un traitement tel qu'une prédiction (ou une Then, the digital signal processor 900 determines an image compression mode using the data recorded in the image data memory 907. With regard to the image compression modes, there is known a mode of compression of the image. frame, an intra-frame compression mode, etc. In the inter-frame compression mode, a processing such as a prediction (or a
détection) de mouvement devient quelquefois nécessaire. detection) sometimes becomes necessary.
Des données d'évaluation pour déterminer le mode de compression et des données d'évaluation pour la détection de mouvement sont obtenues en effectuant par exemple une sommation de valeurs absolues de différences de données d'image Lorsqu'une telle opération est effectuée, le processeur de signal numérique 900 transfère les données enregistrées dans la mémoire de données d'image 907 vers la mémoire de données 903, d'une manière similaire à celle de la conversion de format, et l'unité de traitement de données 904 traite les données enregistrées dans la Evaluation data for determining the compression mode and evaluation data for the motion detection are obtained by performing for example summation of absolute values of image data differences. When such an operation is performed, the processor digital signal 900 transfers the data recorded in the image data memory 907 to the data memory 903, in a manner similar to that of the format conversion, and the data processing unit 904 processes the recorded data. in the
mémoire de données 903.data memory 903.
Sur la base des données d'évaluation qui sont Based on the evaluation data that is
obtenues par l'opération mentionnée ci-dessus, le proces- obtained by the operation mentioned above, the process
seur de signal numérique 900 détermine le mode de compres- digital signal 900 determines the compression mode.
sion en se référant à des données de table pour la déter- by referring to table data for the purpose of determining
mination de mode qui sont enregistrées dans la mémoire de mode that are stored in the memory of
travail 910 et/ou en effectuant une opération de compa- 910 and / or by performing a comparison operation
raison des données d'évaluation.because of the evaluation data.
Après la détermination du mode de compression, le processeur de signal numérique 900 effectue un codage After determining the compression mode, the digital signal processor 900 performs a coding
par transformation des données d'image qui sont enregis- by transforming the image data that is recorded
trées dans la mémoire de données d'image 907 Le codage par transformation est représenté par exemple par la transformation en cosinus discrète Le processeur de signal numérique 900 transfère vers la mémoire interne 903 les données qui sont enregistrées dans la mémoire de données d'image 907, et ensuite l'unité de traitement de données 904 effectue la transformation en cosinus discrète Les données traitées sont conservées dans la The transformation coding is represented for example by the discrete cosine transformation. The digital signal processor 900 transfers to the internal memory 903 the data which is stored in the image data memory 907. , and then the data processing unit 904 performs the discrete cosine transformation. The processed data is stored in the
mémoire de données 903.data memory 903.
En outre, le processeur de signal numérique 900 In addition, the 900 digital signal processor
effectue un codage à longueur variable (ou codage entro- performs variable length coding (or coding
pique) Le codage à longueur variable est connu à titre de conversion de code utilisant par exemple le code de Huffman Le processeur de signal numérique 900 accomplit pique) Variable length coding is known as code conversion using eg Huffman code 900 digital signal processor fulfills
un codage à longueur variable des données qui sont enre- a variable length coding of the data that is recorded
gistrées dans la mémoire de données 903, en se référant à une table de conversion de code qui est enregistrée dans la mémoire de travail 910 Après conversion de code, les données traitées sont transférées de la mémoire de données 903 vers la mémoire de données de code 908 et elles sont stored in the data memory 903, with reference to a code conversion table which is stored in the working memory 910 After code conversion, the processed data is transferred from the data memory 903 to the code data memory 908 and they are
enregistrées dans cette dernière.recorded in the latter.
Le traitement de données d'image pour la com- Image data processing for the com-
pression d'image est accompli de la manière décrite ci- image pressure is accomplished as described above.
dessus, et le traitement de données d'image pour la décom- above, and the image data processing for the decom-
pression d'image est également effectué d'une manière similaire Plus précisément, les données à décomprimer sont tout d'abord appliquées à la mémoire de données 903 image pressure is also performed in a similar manner More specifically, the data to be decompressed is first applied to the data memory 903
dans le processeur de signal numérique 900, et des traite- in the digital signal processor 900, and processors
ments de décompression d'image sont accomplis par l'unité image decompression is performed by the unit
de traitement de données 904 sur les données enregistrées. data processing 904 on the recorded data.
Comme décrit ci-dessus, dans l'appareil de As described above, in the apparatus of
compression/décompression d'image classique, une compres- compression / decompression of a conventional image, a compres-
sion et une décompression de données d'image sont effec- image data are decompressed and decompressed.
tuées par un processeur de signal numérique 900 ayant une killed by a 900 digital signal processor having a
seule unité de traitement de données 904, et par consé- only data processing unit 904, and consequently
quent le traitement des données prend beaucoup de temps. Data processing takes a lot of time.
En outre, du fait que le processeur de signal numérique 900 n'a qu'un seul accès d'entrée/sortie (c'est-à-dire l'interface externe 905) pour les données, le transfert de données ne peut pas être effectué efficacement dans l'appareil de compression/décompression d'image traitant Further, because the digital signal processor 900 has only one input / output port (i.e. the external interface 905) for the data, the data transfer can not be performed efficiently in the image compression / decompression device
une grande quantité de données d'image. a large amount of image data.
Un but de la présente invention est de procurer un appareil et un procédé de traitement de données d'image An object of the present invention is to provide an apparatus and method for processing image data
convenant pour un traitement rapide. suitable for fast treatment.
Un autre but de la présente invention est de procurer un appareil et un procédé de traitement de données d'image par lesquels on puisse effectuer une Another object of the present invention is to provide an apparatus and method for image data processing by which
compression de données d'image avec une vitesse élevée. image data compression with high speed.
Un but supplémentaire de la présente invention est de procurer un appareil et un procédé de traitement de données d'image par lesquels on puisse effectuer une A further object of the present invention is to provide an apparatus and method for image data processing by which
décompression de données d'image avec une vitesse élevée. decompression of image data with high speed.
Un autre but supplémentaire de la présente invention est de procurer un appareil de traitement de Another additional object of the present invention is to provide a treatment apparatus for
données d'image qui puisse accomplir des traitement prédé- image data that can perform predefined processing
terminés pour la compression de données d'image et/ou la décompression de données d'image et le transfert de terminated for image data compression and / or image data decompression and image transfer.
données d'image en parallèle, avec une vitesse élevée. image data in parallel, with a high speed.
Un autre but supplémentaire de la présente invention est de procurer un appareil de traitement de données d'image capable de commander séparément l'accès à Another additional object of the present invention is to provide an image data processing apparatus capable of separately controlling access to
plusieurs unités de mémoire.several memory units.
Un autre but supplémentaire de la présente invention est de procurer un appareil de traitement de données d'image qui puisse simplifier la détermination concernant la sélection d'un code à longueur variable ou Another additional object of the present invention is to provide an image data processing apparatus which can simplify the determination concerning the selection of a variable length code or
d'un code à longueur fixe.a fixed length code.
Un autre but supplémentaire de la présente invention est de procurer un appareil de traitement de données d'image qui puisse simplifier la détermination dans la sélection de données de plage et de données de Another additional object of the present invention is to provide an image data processing apparatus which can simplify the determination in the selection of range and data data.
niveau, ou de données décodées.level, or decoded data.
Un autre but supplémentaire de la présente invention est de procurer un appareil de traitement de données d'image qui puisse accéder, en une courte durée, à Another additional object of the present invention is to provide an image data processing apparatus which can access, in a short time,
des données de pixel d'une zone désirée sur l'écran. pixel data of a desired area on the screen.
Un autre but supplémentaire de la présente invention est de procurer un procédé de traitement de données d'image dans lequel on puisse réduire le nombre de Another additional object of the present invention is to provide an image data processing method in which the number of images can be reduced.
transferts de données de pixel.pixel data transfers.
Conformément à un aspect de la présente inven- In accordance with one aspect of the present invention,
tion, l'appareil de traitement de données d'image comprend un processeur de commande pour commander un traitement pipeline d'un ensemble de processus pour la compression de données d'image et/ou la décompression de données d'image, et un processeur d'image pour accomplir un processus the image data processing apparatus comprises a control processor for controlling pipeline processing of a set of processes for image data compression and / or image data decompression, and a processor image to complete a process
prédéterminé parmi l'ensemble de processus, sous la dépen- predetermined among the set of processes, under the
dance d'un signal de commande qui est appliqué par le of a control signal which is applied by the
processeur de commande.control processor.
Avec la structure décrite ci-dessus, le proces- With the structure described above, the process
seur de commande commande le traitement pipeline d'un ensemble de processus prédéterminés pour la compression de données d'image et/ou la décompression de données d'image, de façon que des données d'image puissent être traitées The controller controls pipeline processing of a set of predetermined processes for image data compression and / or image data decompression so that image data can be processed.
avec une vitesse élevée.with a high speed.
Un appareil de traitement de données d' image conforme à un autre aspect de la présente invention An image data processing apparatus according to another aspect of the present invention
comprend un processeur de commande qui est destiné à com- includes a control processor which is intended to com-
mander l'exécution en paralléle de processus prédéterminés order parallel execution of predetermined processes
pour la compression de données d'image et/ou la décompres- for image data compression and / or decompression
sion de données d'image et le transfert de données image data and data transfer
d'image, et un ensemble de circuits de commande d'exécu- image, and a set of control circuits for executing
tion, chacun d'eux commandant individuellement l'exécution des processus prédéterminés et le transfert de données d'image, sous la dépendance d'un signal de commande qui each of them individually controlling the execution of the predetermined processes and the transfer of image data, under the control of a control signal which
est appliqué par le processeur de commande. is applied by the command processor.
Avec la structure décrite ci-dessus, le proces- With the structure described above, the process
seur de commande commande l'exécution en parallèle d'un ensemble de processus prédéterminés pour la compression de données d'image et/ou la décompression de données d'image et le transfert de données d'image Sous l'effet d'un signal de commande provenant du processeur de commande, un ensemble de circuits de commande d'exécution commandent individuellement l'exécution de ces opérations, de façon que des données d'image puissent être traitées avec une The controller controls the execution in parallel of a set of predetermined processes for image data compression and / or image data decompression and image data transfer under the effect of a signal. from the control processor, a set of execution control circuits individually control the execution of these operations, so that image data can be processed with a
vitesse élevée.high speed.
L'appareil de traitement de données d'image conforme à encore un autre aspect de la présente invention est capable d'accéder à une première unité de mémoire dans laquelle sont enregistrêes des données de table pour la conversion, à une seconde unité de mémoire dans laquelle sont enregistrées des données à traiter, à une troisième unité de mémoire dans laquelle sont enregistrées des données d'image pour la visualisation et à une quatrième unité de mémoire dans laquelle sont enregistrées des données d'image converties, et il comprend un premier circuit d'accès pour accéder à la première unité de mémoire, un second circuit d'acces pour accéder à la seconde unité de mémoire, un troisième circuit d'acces pour accéder à la troisième unité de mémoire, un quatrième circuit d'accès pour accéder à la quatrième unité de memoire, et un circuit de commande d'accès pour commander individuellement le démarrage de l'accès aux premier à The image data processing apparatus according to yet another aspect of the present invention is capable of accessing a first memory unit in which table data for the conversion is stored at a second memory unit in a second memory unit. which are recorded data to be processed, a third memory unit in which image data is recorded for display and a fourth memory unit in which converted image data is recorded, and includes a first circuit access for accessing the first memory unit, a second access circuit for accessing the second memory unit, a third access circuit for accessing the third memory unit, a fourth access circuit for accessing the second memory unit, a second access circuit for accessing the second memory unit, a third access circuit for accessing the third memory unit, a fourth access circuit for accessing to the fourth memory unit, and an access control circuit for individually controlling the start of access to the first to
quatrième circuits d'accès.fourth access circuits.
Dans la structure décrite ci-dessus, le circuit de commande d'accès commande individuellement le démarrage de l'accès aux premier à quatrième circuits d'accès Par conséquent, il est possible d'accéder individuellement aux In the structure described above, the access control circuit individually controls the start of access to the first to fourth access circuits. Therefore, it is possible to access individually the
première à quatrième unités de mémoire, les données utili- first to fourth memory units, the data used
sées pour le traitement de données d'image peuvent être transférées avec une vitesse élevée et par conséquent des données d'image peuvent être traitées avec une vitesse élevée. L'appareil de traitement de données d'image conforme à encore un autre aspect de la présente invention Data processing can be transferred with high speed and therefore image data can be processed at a high speed. The image data processing apparatus according to yet another aspect of the present invention
comprend une unité de mémoire qui est destinée à enregis- includes a memory unit which is intended to record
trer un code à longueur variable correspondant à la combi- a variable length code corresponding to the combination
naison de données de plage et de données de niveau, des range data and level data,
données de longueur de code correspondantes et un indica- corresponding code length data and an indica-
teur de traitement de code à longueur fixe; un circuit de lecture pour lire le code à longueur variable, ses données de longueur de code et l'indicateur de traitement de code à longueur fixe correspondant à des données de plage appliquées et à des données de niveau appliquées; un circuit de codage à longueur fixe pour effectuer un codage conformément à une règle prédéterminée sur les données de plage appliquées et sur les données de niveau appliquées, et pour produire un code à longueur fixe correspondant; un circuit de sélection fonctionnant sous la dépendance de l'indicateur de traitement de code à longueur fixe qui est émis par le circuit de lecture, de façon à sélectionner le code à longueur variable ou le code à longueur fixe; et un fixed-length code processor; a read circuit for reading the variable length code, its code length data and the fixed length code processing indicator corresponding to applied range data and applied level data; a fixed length coding circuit for encoding according to a predetermined rule on the applied range data and the applied level data, and producing a corresponding fixed length code; a selection circuit operating under the control of the fixed-length code processing indicator which is output from the read circuit, so as to select the variable length code or the fixed length code; and one
circuit de couplage de codes pour coupler succes- code coupling circuit for coupling succes-
sivement des codes émis par le circuit de sélection. the codes issued by the selection circuit.
Dans la structure décrite ci-dessus, le circuit de sélection sélectionne soit le code à longueur variable, soit le code à longueur fixe, sous la dépendance de l'indicateur de traitement de code à longueur fixe qui est In the structure described above, the selection circuit selects either the variable length code or the fixed length code, in dependence on the fixed length code processing indicator which is
fourni par le circuit de lecture, de façon qu'une détermi- provided by the reading circuit, so that a determination
nation conformément au programme puisse être notablement simplifiée, et que des données d'image puissent être nation in accordance with the program can be significantly simplified, and that image data can be
traitées avec une vitesse élevée. processed with a high speed.
L'appareil de traitement de données d'image conforme à un autre aspect supplémentaire de la présente invention comprend une unité de mémoire qui est destinée à enregistrer des données de plage et des données de niveau The image data processing apparatus according to another further aspect of the present invention comprises a memory unit which is intended to record range data and level data.
correspondant au code à longueur variable, et un indica- corresponding to the variable length code, and a
teur de code à longueur fixe; un circuit d'extraction pour code driver with fixed length; an extraction circuit for
extraire un code à longueur variable d'un train de codes à lon- extract a variable length code from a long code stream
gueurvaidaheappihrué-comprenant des codes à longueur variable eur comprenant gu comprenant comprenant--comprenant--comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant comprenant
couplés; un circuit de lecture pour lire, en correspon- coupled; a reading circuit for reading, corresponding to
dance avec le code à longueur variable qui est extrait par le circuit d'extraction, les données de plage et les données de niveau correspondantes, et l'indicateur de traitement de code à longueur fixe, dans l'unité de mémoire; un circuit de décodage à longueur fixe pour il décoder le code à longueur fixe qui est extrait par le dance with the variable length code that is retrieved by the extraction circuit, the range data and the corresponding level data, and the fixed-length code processing indicator, in the memory unit; a fixed-length decoding circuit for decoding the fixed-length code which is extracted by the
circuit d'extraction, conformément à une règle prédéter- extraction circuit, in accordance with a pre-determined rule
minée, pour fournir des données décodées correspondantes; et un circuit de sélection pour sélectionner, sous la dépendance de l'indicateur de longueur fixe qui est émis par le circuit de lecture, les données de plage et les mined, to provide corresponding decoded data; and a selection circuit for selecting, in response to the fixed length indicator which is output from the read circuit, the range data and the
données de niveau, ou les données de code. level data, or code data.
Dans la structure décrite ci-dessus, le circuit de sélection sélectionne soit les données de plage et les données de niveau, soit les données décodées, sous la dépendance de l'indicateur de traitement à longueur fixe qui est fourni par le circuit de lecture, de façon que la In the structure described above, the selection circuit selects either the range data and the level data, or the decoded data, depending on the fixed-length processing indicator that is provided by the read circuit, so that the
détermination conformément au programme puisse être nota- determination in accordance with the program may be
blement simplifiée, et que des données d'image puissent simplified, and that image data can be
être traitées avec une vitesse élevée. be treated with a high speed.
L'appareil de traitement de données d'image conforme à un autre aspect supplémentaire de la présente invention comprend N (n > 2) réseaux de cellules de mémoire pour enregistrer des données d'image pour définir des pixels sur l'écran, les N réseaux de cellules de mémoire fournissant N données de pixel, avec chaque donnée enregistrée dans l'un correspondant des N réseaux de cellules de mémoire, sous l'effet de l'application d'un signal d'adresse de ligne et d'un signal d'adresse de colonne, les N données de pixel définissant un ensemble de pixels disposés dans la direction verticale sur l'écran, et l'appareil comprenant en outre un circuit de génération de signal d'adresse pour émettre en série des signaux d'adresse de colonne pour définir des données de pixel The image data processing apparatus according to another further aspect of the present invention comprises N (n> 2) memory cell arrays for storing image data to define pixels on the screen, the N memory cell arrays providing N pixel data, with each data recorded in a corresponding one of the N memory cell arrays, under the effect of the application of a line address signal and a signal column address, the N pixel data defining a set of pixels arranged in the vertical direction on the screen, and the apparatus further comprising an address signal generating circuit for serially transmitting signals of column address to define pixel data
concernant les pixels disposés dans la direction horizon- concerning the pixels arranged in the horizontal direction
tale de l'écran, sous l'effet d'un signal d'horloge série. screen, under the effect of a serial clock signal.
Dans la structure décrite ci-dessus, N données de pixel qui sont lues dans N réseaux de cellules de mémoire sous la dépendance d'un signal d'adresse de ligne et d'un signal d'adresse de colonne, définissent un ensemble de pixels disposés dans la direction verticale sur l'écran Du fait que le circuit de génération de signal d'adresse émet en série des signaux d'adresse de colonne sous l'effet d'un signal d'horloge série, on peut accéder en une courte durée à des données de pixel d'une zone désirée sur l'écran On peut donc traiter des données In the structure described above, N pixel data read in N memory cell arrays under the control of a line address signal and a column address signal define a set of pixels. arranged in the vertical direction on the screen Since the address signal generation circuit sends column address signals in series under the effect of a serial clock signal, it can be accessed in a short time. duration to pixel data of a desired area on the screen so we can process data
d'image avec une vitesse élevée.image with high speed.
L'appareil de traitement de données d'image conforme à un autre aspect supplémentaire de la présente invention comprend N (n t 2) réseaux de cellules de mémoire pour enregistrer des données de pixel pour définir des pixels sur l'écran, les N réseaux de cellules de mémoire fournissant N données de pixels, avec chaque donnée enregistrée dans l'un correspondant des N réseaux de cellules de mémoire, sous l'effet de l'application d'un signal d'adresse de ligne et d'un signal d'adresse de colonne, les N données de pixel définissant un ensemble de pixels disposés dans la direction horizontale sur l'écran, et l'appareil comprend en outre un circuit de génération de signal d'adresse pour émettre en série des signaux d'adresse de colonne pour définir des données de pixel concernant des pixels qui sont disposés dans la direction verticale sur l'écran, sous la dépendance d'un The image data processing apparatus according to another further aspect of the present invention comprises N (nt 2) memory cell arrays for storing pixel data for defining pixels on the screen, the N gratings. memory cells providing N pixel data, with each data recorded in a corresponding one of the N memory cell arrays, under the effect of the application of a line address signal and a signal of column address, the N pixel data defining a set of pixels arranged in the horizontal direction on the screen, and the apparatus further comprises an address signal generating circuit for serially transmitting column for defining pixel data relating to pixels that are arranged in the vertical direction on the screen, dependent on a
signal d'horloge série.serial clock signal.
Dans la structure décrite ci-dessus, N données de pixel qui sont lues dans N réseaux de cellules de mémoire sous la dépendance d'un signal d'adresse de ligne In the structure described above, N pixel data read in N memory cell arrays in response to a line address signal
et d'un signal d'adresse de colonne, définissent un ensem- and a column address signal, define a set of
ble de pixels disposés dans la direction horizontale sur l'écran Du fait que le circuit de génération de signal d'adresse émet en série des signaux d'adresse de colonne sous l'effet d'un signal d'horloge série, on peut accéder en une courte durée à des données de pixel d'une zone désirée sur l'écran On peut donc traiter des données The fact that the address signal generation circuit sends column address signals in series under the effect of a serial clock signal can be accessed by the plurality of pixels arranged in the horizontal direction on the screen. in a short time to pixel data of a desired area on the screen so we can process data
d'image avec une vitesse élevée.image with high speed.
L'appareil de traitement de données d'image conforme à un autre aspect supplémentaire de l'invention comprend une première unité de mémoire de données de pixel qui est destinée à enregistrer des données de pixel à comprimer; un premier bus de données de pixel pour trans- férer des données de pixel enregistrées dans la première unité de mémoire de données de pixel; un processeur de pixels qui reçoit des données de pixel transférées par le premier bus de données de pixel et qui extrait des données The image data processing apparatus according to another further aspect of the invention comprises a first pixel data memory unit which is for recording pixel data to be compressed; a first pixel data bus for transferring pixel data recorded in the first pixel data memory unit; a pixel processor that receives pixel data transferred by the first pixel data bus and extracts data
de référence pour la prédiction de mouvement, par l'utili- reference for motion prediction, by using
sation des données de pixel transférées, et comportant des premier et second ports de données pour fournir les données de référence pour la prédiction de mouvement; un second bus de données de pixel pour transférer les données de référence pour la prédiction de mouvement qui sont émises par le second port de données du processeur de pixels; une seconde unité de mémoire de données de pixel qui est destinée à enregistrer des données de référence pour la prédiction du mouvement qui sont transférées par le second bus de données; une unité de prédiction de mouvement pour effectuer une prédiction de mouvement en utilisant les données de référence pour la prédiction qui sont enregistrées dans la seconde unité de mémoire de données de pixel et qui sont transférées par le second bus de données de pixel, pour générer un vecteur de mouvement; et un processeur de commande pipeline pour commander le traitement pipeline des premier et second bus de données sation of the transferred pixel data, and having first and second data ports for providing the reference data for the motion prediction; a second pixel data bus for transferring the motion prediction reference data output from the second pixel processor data port; a second pixel data memory unit for storing motion prediction reference data that is transferred by the second data bus; a motion prediction unit for performing a motion prediction using the reference data for the prediction which is recorded in the second pixel data memory unit and which is transferred by the second pixel data bus, to generate a motion vector; and a pipeline control processor for controlling the pipeline processing of the first and second data buses
de pixel, du processeur de pixels et de l'unité de prédic- the pixel processor, the pixel processor and the prediction unit.
tion de mouvement.movement.
Dans la structure décrite ci-dessus, le proces- In the structure described above, the process
seur de pixels fournit les données de référence pour la prédiction de mouvement par l'intermédiaire des premier et second ports de données, ces données sont respectivement enregistrées dans les première et seconde unités de mémoire de données de pixel, les données de référence pour la prédiction de mouvement qui sont enregistrées dans la pixel generator provides the reference data for motion prediction via the first and second data ports, these data are respectively recorded in the first and second pixel data memory units, the reference data for the prediction of movement that are recorded in the
seconde unité de mémoire de données de pixel sont trans- second pixel data memory unit are trans-
férées vers l'unité de prédiction de mouvement par le second bus de données de pixel, et l'unité de prédiction de mouvement effectue une prédiction de mouvement et elle referenced to the motion prediction unit by the second pixel data bus, and the motion prediction unit performs a motion prediction and
génère un vecteur de mouvement.generates a motion vector.
Il en résulte que des données peuvent être transférées efficacement avec la quantité de données divisée efficacement, la quantité de données transférées par un chemin pouvant être réduite de façon que la vitesse pratique de transfert de données puisse être améliorée, et que des données d'image puissent être traitées avec une As a result, data can be effectively transferred with the amount of data effectively divided, the amount of data transferred by a path can be reduced so that the practical speed of data transfer can be improved, and image data can be improved. can be treated with a
vitesse élevée.high speed.
Le procédé de traitement de données d'image conforme à un autre aspect supplémentaire de la présente invention code un ensemble de données de macro-blocs définissant des pixels qui forment un plan d'image, par un traitement pipeline, et ce procédé comprend les étapes qui consistent à effectuer une transformation en cosinus discrète et une quantification des données de macro-blocs pour générer un code de pixel, à effectuer un codage à longueur variable sur le code de pixel qui est généré dans The image data processing method according to another further aspect of the present invention encodes a set of macroblock data defining pixels which form an image plane, by pipeline processing, and this method comprises the steps which comprises performing a discrete cosine transform and quantizing the macroblock data to generate a pixel code, performing variable length coding on the pixel code that is generated in
l'étape précitée, pour générer un code à longueur varia- the aforementioned step, to generate a variable length code.
ble, et à coupler le code à longueur variable généré à l'étape précédente, pour produire un train de codes à longueur variable Avec le procédé ci-dessus, tous les traitements de l'ensemble de données de macro-blocs peuvent être effectués en un mode pipeline, ce qui fait que la compression des données d'image peut être effectuée ble, and to couple the variable length code generated in the previous step, to produce a variable length code stream. With the above method, all of the processing of the macroblock data set can be performed in accordance with the present invention. a pipeline mode, so compression of the image data can be performed
avec une vitesse élevée.with a high speed.
Le procédé de traitement de données d'image conforme à un autre aspect supplémentaire de la présente invention décode un train de codes à longueur variable, comprenant un ensemble de codes à longueur variable définissant des pixels formant un plan d'image, par un traitement pipeline, et ce procédé comprend les étapes qui consistent à extraire le code à longueur variable du train de code à longueur variable, à effectuer un décodage à longueur variable sur le code à longueur variable qui est extrait par l'étape précédente, pour générer un code de pixel, et à effectuer une quantification inverse et une transformation en cosinus discrète inverse du code de pixel qui est généré à l'étape précédente, pour générer des données de macro-blocs définissant des pixels qui The image data processing method according to another further aspect of the present invention decodes a variable length code train, comprising a set of variable length codes defining pixels forming an image plane, by pipeline processing and said method comprises the steps of extracting the variable length code from the variable length code stream, performing variable length decoding on the variable length code that is retrieved by the preceding step, to generate a code of pixel, and performing inverse quantization and inverse discrete cosine transform of the pixel code that is generated in the preceding step, to generate macroblock data defining pixels that
forment le plan d'image.form the image plane.
Avec le procédé ci-dessus, un train de codes à longueur variable comprenant un ensemble de codes à longueur variable peut être décodé par un traitement pipeline, et par conséquent des données d'image peuvent With the above method, a variable length code train comprising a set of variable length codes can be decoded by pipeline processing, and hence image data can be
être décomprimées avec une vitesse élevée. Le procédé de traitement de données d'image conforme à un autre mode de be decompressed with a high speed. The method of processing image data according to another mode of
réalisation supplémentaire de la présente invention est destiné à projeter des premières données de pixels dans une unité de mémoire qui enregistre un ensemble de ces premières données de pixel, définissant des pixels de l'écran, et ce procédé comprend une première étape consistant à déterminer un ensemble de secondes données de pixels mutuellement adjacentes, de façon bidimensionnelle, et incluses dans une zone rectangulaire, parmi les premières données de pixels, une seconde étape consistant à appliquer une adresse de l'unité de mémoire aux secondes données de pixel, en considérant les secondes données de pixel comme un seul élément de données, et une troisième étape consistant à transférer les secondes données à partir de l'unité de mémoire, ou vers celle-ci, en utilisant l'adresse des secondes données de pixel Par conséquent, dans le procédé de traitement de données d'image mentionné ci-dessus, un ensemble de secondes données de pixel mutuellement adjacentes, de façon bidimensionnelle, et incluses dans une zone rectangulaire, sont considérées comme un seul élément de données et sont transférées en appliquant une seule adresse, ce qui permet de réduire le nombre de transferts pour transférer les premières données de pixel dans la zone rectangulaire Il est donc possible de traiter les données d'image avec une Yet another embodiment of the present invention is for projecting first pixel data into a memory unit that records a set of these first pixel data, defining pixels of the screen, and this method comprises a first step of determining a set of second data mutually adjacent pixels, bidimensionally, and included in a rectangular area, among the first pixel data, a second step of applying an address of the memory unit to the second pixel data, considering the second pixel data as a single data element, and a third step of transferring the second data from or to the memory unit using the address of the second pixel data. the image data processing method mentioned above, a set of second pixel data two-dimensionally adjacent, and included in a rectangular area, are considered as a single data item and are transferred by applying a single address, thereby reducing the number of transfers to transfer the first pixel data to the area It is therefore possible to process the image data with a
vitesse élevée.high speed.
Le procédé de traitement de données d'image conforme à un autre mode de réalisation supplémentaire de l'invention est destiné à projeter les premières et secondes données de pixel de différence de couleur, dans une unité de mémoire qui enregistre ces premières et secondes données de pixel de différence de couleur, mutuellement liées, pour définir des pixels sur un écran, et ce procédé comprend une première étape qui consiste à projeter alternativement dans l'unité de mémoire des unités de transfert des premières et secondes données de pixel de différence de couleur, et une seconde étape qui consiste à transférer les premières et secondes données de pixel de différence de couleur vers l'unité de mémoire, ou à partir de celle-ci, en travaillant sur l'unité de transfert. Par conséquent, dans le procédé de traitement de données d'image décrit ci-dessus, des premières et secondes données de pixel de différence de couleur corrélées sont alternativement projetées en travaillant sur l'unité de transfert, et des premières et secondes données de différence de couleur sont transférées en travaillant sur cette unité Par conséquent, en générant une seule adresse, on peut transférer des premières et secondes données de pixel de différence de couleur d'une zone déterminée Il en résulte que l'on peut traiter des The image data processing method according to another further embodiment of the invention is for projecting the first and second color difference pixel data into a memory unit which records these first and second data of the color difference pixel. color difference pixel, mutually linked, for defining pixels on a screen, and this method comprises a first step of alternately projecting in the memory unit transfer units of the first and second color difference pixel data; and a second step of transferring the first and second color difference pixel data to or from the memory unit while working on the transfer unit. Therefore, in the image data processing method described above, first and second correlated color difference pixel data are alternately projected while working on the transfer unit, and first and second difference data. In this way, by generating a single address, it is possible to transfer first and second color difference pixel data of a given area. As a result, it is possible to process
données d'image avec une vitesse élevée. image data with high speed.
Le procédé de traitement de données d'image conforme à un autre aspect supplémentaire de la présente invention est destiné à projeter des premières et secondes données de pixel de différence de couleur, dans une unité de mémoire qui enregistre ces premières et secondes données de pixel de différence de couleur liées les unes aux autres, pour définir des pixels sur un écran, et ce procédé comprend une première étape qui consiste à projeter dans l'unité de mémoire des troisièmes données de pixel de différence de couleur contenant le même nombre des premières et secondes données de pixel de différence de couleur, sous la forme d'un seul bloc de données, et une seconde étape qui consiste à transférer les troisièmes données de pixel de différence de couleur, sous la forme d'un seul bloc de données, à partir de l'unité de mémoire The image data processing method according to another further aspect of the present invention is for projecting first and second color difference pixel data into a memory unit which records these first and second pixel data of the present invention. color difference related to each other, for defining pixels on a screen, and this method comprises a first step of projecting into the memory unit third color difference pixel data containing the same number of first and second second color difference pixel data, as a single block of data, and a second step of transferring the third color difference pixel data, as a single data block, to from the memory unit
ou vers celle-ci.or towards it.
Par conséquent, dans le procédé de traitement de données d'image décrit ci-dessus, les troisièmes données de pixel de différence de couleur, comprenant le même Therefore, in the image data processing method described above, the third color difference pixel data, including the same
nombre des première et seconde données de pixel de diffé- number of the first and second pixel data of different
rence de couleur mutuellement corrélées, sont projetées dans l'unité de mémoire sous la forme d'un seul bloc de données, et les troisièmes données de pixel de différence de couleur sont transférées sous la forme d'un seul bloc de données Par conséquent, en générant une seule adresse, on peut transférer les premières et secondes données de pixel de différence de couleur d'une zone déterminée On peut donc traiter des données d'image avec une vitesse élevée. Ces buts, caractéristiques, aspects et avantages de la présente invention, ainsi que d'autres, ressortiront The color difference pixel is projected into the memory unit as a single block of data, and the third color difference pixel data is transferred as a single data block. by generating a single address, the first and second color difference pixel data of a given area can be transferred. Thus, image data can be processed with a high speed. These and other objects, features, aspects and advantages of the present invention will become apparent
davantage de la description de modes de réalisation further from the description of embodiments
présentée ci-après La suite de la description se réfère presented below The rest of the description refers to
aux dessins annexés dans lesquels:in the accompanying drawings in which:
La figure 1 est un schéma synoptique d'un appa- Figure 1 is a block diagram of a
reil de compression/décompression d'image montrant un compression / decompression image showing a
premier mode de réalisation de la présente invention. first embodiment of the present invention.
La figure 2 est un schéma synoptique montrant Figure 2 is a block diagram showing
des traitements pour la compression d'image dans l'appa- treatments for image compression in the
reil de compression/décompression d'image qui est repré- compression / decompression image which is
senté sur la figure 1.shown in Figure 1.
La figure 3 est un schéma synoptique montrant des traitements pour la décompression d'image par l'appa- Fig. 3 is a block diagram showing treatments for image decompression by the appa-
reil de compression/décompression d'image qui est repré- compression / decompression image which is
senté sur la figure 1.shown in Figure 1.
La figure 4 est un schéma synoptique d'un appa- FIG. 4 is a block diagram of a device
reil de compression/décompression d'image, montrant un compression / decompression image, showing a
second mode de réalisation de la présente invention. second embodiment of the present invention.
La figure 5 est un schéma synoptique d'un appa- Figure 5 is a block diagram of a
reil de compression/décompression d'image montrant un compression / decompression image showing a
troisième mode de réalisation de la présente invention. third embodiment of the present invention.
La figure 6 est un schéma synoptique d'un appa- Figure 6 is a block diagram of a
reil de compression/décompression d'image montrant un compression / decompression image showing a
quatrième mode de réalisation de la présente invention. fourth embodiment of the present invention.
La figure 7 est un schéma synoptique d'un appa- Figure 7 is a block diagram of a
reil de compression/décompression d'image montrant un compression / decompression image showing a
cinquième mode de réalisation de la présente invention. fifth embodiment of the present invention.
La figure 8 est un schéma synoptique d'un appa- FIG. 8 is a block diagram of an apparatus
reil de compression/décompression d'image montrant un compression / decompression image showing a
sixième mode de réalisation de la présente invention. sixth embodiment of the present invention.
La figure 9 est un schéma synoptique montrant un Figure 9 is a block diagram showing a
exemple d'une unité de commande.example of a control unit.
La figure 10 est un schéma synoptique montrant Figure 10 is a block diagram showing
un autre exemple de l'unité de commande. another example of the control unit.
La figure 11 est un diagramme temporel montrant un traitement pipeline qui est accompli sous la commande d'un processeur de commande d'ensemble qui est représenté Fig. 11 is a time chart showing a pipeline processing which is performed under the control of an ensemble control processor which is shown
sur la figure 9.in Figure 9.
La figure 12 montre des opérations parallèles dans une seule période T 1 O qui est représentée sur la Figure 12 shows parallel operations in a single period T 1 O which is represented on the
figure 11.figure 11.
La figure 13 est un schéma synoptique d'un processeur de commande d'ensemble qui est représenté sur Fig. 13 is a block diagram of an overall control processor which is shown in FIG.
la figure 9.Figure 9.
La figure 14 est un schéma synoptique d'une unité de commande de prédiction de mouvement qui est Fig. 14 is a block diagram of a motion prediction control unit which is
représentée sur la figure 9.shown in Figure 9.
La figure 15 est un schéma synoptique d'une unité de conversion de format d'image qui est représentée Fig. 15 is a block diagram of an image format conversion unit which is shown
sur la figure 9.in Figure 9.
La figure 16 est un schéma synoptique d'une unité de commande de transfert de données d'image qui est Fig. 16 is a block diagram of an image data transfer control unit which is
représentée sur la figure 9.shown in Figure 9.
La figure 17 est un schéma synoptique d'une unité de transfert d'instruction qui est représentée sur Fig. 17 is a block diagram of an instruction transfer unit which is represented on
la figure 9.Figure 9.
La figure 18 est un schéma synoptique montrant Figure 18 is a block diagram showing
un exemple d'une unité de traitement de pixels. an example of a pixel processing unit.
La figure 19 est un schéma synoptique détaillé de l'unité de traitement de pixels qui est représentée sur Fig. 19 is a detailed block diagram of the pixel processing unit which is represented on
la figure 18.Figure 18.
La figure 20 est un schéma synoptique montrant Figure 20 is a block diagram showing
un autre exemple de l'unité de traitement de pixels. another example of the pixel processing unit.
* La figure 21 est un schéma synoptique détaillé de l'unité de traitement de pixels qui est représentée surFig. 21 is a detailed block diagram of the pixel processing unit which is shown on
la figure 20.Figure 20.
La figure 22 est un organigramme montrant une opération de codage (prédiction intra-intervalle d'image) dans l'unité de traitement de pixels qui est représentée Fig. 22 is a flowchart showing a coding operation (intra-interval picture prediction) in the pixel processing unit which is shown
sur la figure-19.in figure-19.
La figure 23 est un organigramme montrant une opération de décodage (prédiction intra-intervalle d'image) dans l'unité de traitement de pixels qui est représentée Fig. 23 is a flow chart showing a decoding operation (intra-interval image prediction) in the pixel processing unit which is shown
sur la figure 19.in Figure 19.
La figure 24 est un organigramme d'une opéra- Figure 24 is a flowchart of an operation
tion de codage (prédiction bidirectionnelle) dans l'unité de traitement de pixels qui est représentée sur la figure coding scheme (bidirectional prediction) in the pixel processing unit shown in FIG.
19.19.
La figure 25 est un organigramme d'une opération de décodage (prédiction bidirectionnelle) dans l'unité de Fig. 25 is a flowchart of a decoding operation (bidirectional prediction) in the unit of
traitement de pixels qui est représentée sur la figure 19. pixel processing which is shown in Figure 19.
La figure 26 est un diagramme temporel montrant un traitement pipeline pour le codage dans l'unité de Fig. 26 is a time chart showing pipeline processing for coding in the unit of
traitement de pixels qui est représentée sur la figure 19. pixel processing which is shown in Figure 19.
La figure 27 est un diagramme temporel montrant un traitement pipeline dans la prédiction intra-intervalle d'image dans l'unité de traitement de pixels qui est Fig. 27 is a time chart showing pipeline processing in intra-slot image prediction in the pixel processing unit which is
représentée sur la figure 19.shown in Figure 19.
La figure 28 est un diagramme temporel montrant un traitement pipeline dans le traitement unidirectionnel dans l'unité de traitement de pixels qui est représentée Fig. 28 is a time chart showing a pipeline processing in the unidirectional processing in the pixel processing unit which is shown
sur la figure 19.in Figure 19.
La figure 29 est un diagramme temporel montrant un traitement pipeline dans la prédiction bidirectionnelle dans l'unité de traitement de pixels qui est représentée Fig. 29 is a time chart showing a pipeline processing in the bidirectional prediction in the pixel processing unit which is shown
sur la figure 19.in Figure 19.
La figure 30 est un schéma synoptique montrant une première structure de système pour un traitement à Fig. 30 is a block diagram showing a first system structure for a processing
longueur variable.variable length.
La figure 31 est un organigramme du codage à longueur variable dans la première structure de système Fig. 31 is a flowchart of the variable length coding in the first system structure
qui est représentée sur la figure 30. which is shown in FIG.
La figure 32 est un organigramme du décodage à longueur variable dans la première structure de système Fig. 32 is a flowchart of variable length decoding in the first system structure
qui est représentée sur la figure 30. which is shown in FIG.
La figure 33 montre une structure de mémoire de données d'une mémoire de table pour le codage à longueur Fig. 33 shows a data memory structure of a table memory for length coding
variable qui est représenté sur la figure 30. variable which is shown in Figure 30.
La figure 34 montre une structure de mémoire de données d'une mémoire de table pour le décodage à longueur Fig. 34 shows a data memory structure of a table memory for decoding at length
variable qui est représenté sur la figure 30. variable which is shown in Figure 30.
La figure 35 est un organigramme montrant un processus pour la génération d'un train de codes à Fig. 35 is a flowchart showing a process for generating a code train to
longueur variable.variable length.
La figure 36 est un schéma synoptique montrant Figure 36 is a block diagram showing
un premier exemple d'un processeur à longueur variable. a first example of a variable length processor.
La figure 37 est un schéma synoptique montrant un second exemple du processeur à longueur variable. La figure 38 est un schéma synoptique montrant Fig. 37 is a block diagram showing a second example of the variable length processor. Figure 38 is a block diagram showing
un troisième exemple du processeur à longueur variable. a third example of the variable length processor.
La figure 39 est un schéma synoptique montrant une seconde structure de système pour le traitement à Fig. 39 is a block diagram showing a second system structure for processing at
longueur variable.variable length.
La figure 40 est un schéma synoptique du proces- Figure 40 is a block diagram of the process
seur à longueur variable qui est représenté sur la figure 39. variable length which is shown in Figure 39.
La figure 41 est un schéma synoptique du généra- Figure 41 is a synoptic diagram of the general
teur d'adresse qui est représenté sur la figure 40. addressed in FIG. 40.
La figure 42 est un organigramme du codage à longueur variable dans le générateur d'adresse qui est Fig. 42 is a flowchart of the variable length coding in the address generator which is
représenté sur la figure 41.shown in Figure 41.
La figure 43 est un organigramme du décodage à longueur variable dans le générateur d'adresse qui est Fig. 43 is a flowchart of variable length decoding in the address generator which is
représenté sur la figure 41.shown in Figure 41.
La figure 44 est un schéma synoptique du circuit de génération/séparation de train de codes à longueur Fig. 44 is a block diagram of the code train generation / separation circuit at length
variable qui est représenté sur la figure 40. variable which is shown in Figure 40.
La figure 45 est un organigramme du codage à longueur variable dans le circuit de génération/séparation de train de codes à longueur variable qui est représenté Fig. 45 is a flowchart of the variable length coding in the variable length code train generation / separation circuit which is shown
sur la figure 44.in figure 44.
La figure 46 est un organigramme du décodage à longueur variable dans le circuit de génération/séparation de train de codes à longueur variable qui est représenté Fig. 46 is a variable length decoding flowchart in the variable length code train generation / separation circuit which is shown
sur la figure 44.in figure 44.
La figure 47 est un schéma synoptique d'un Figure 47 is a block diagram of a
circuit d'interface externe de la figure 40. external interface circuit of FIG. 40.
La figure 48 est un organigramme du codage à longueur variable dans le circuit d'interface externe qui Fig. 48 is a flowchart of the variable length coding in the external interface circuit which
est représenté sur la figure 47.is shown in Figure 47.
La figure 49 est un organigramme du décodage à longueur variable dans le circuit d'interface externe qui est représenté sur la figure 47. La figure 50 est une table de code à longueur variable par groupe qui est utilisé dans le processeur à Fig. 49 is a flowchart of variable length decoding in the external interface circuit which is shown in Fig. 47. Fig. 50 is a group variable length code table which is used in the processor to
longueur variable qui est représenté sur la figure 39. variable length which is shown in Figure 39.
La figure 51 montre le format des données enre- Figure 51 shows the format of the data recorded
gistrées dans la mémoire de table pour le codage à stored in the table memory for coding at
longueur variable qui est représenté sur la figure 39. variable length which is shown in Figure 39.
La figure 52 montre le format de données à coder Figure 52 shows the data format to code
dans le codage à longueur variable. in variable length coding.
La figure 53 montre la structure de base du réseau de cellules de mémoire dans une mémoire tampon de trame. La figure 54 est un schéma synoptique d'une Fig. 53 shows the basic structure of the memory cell array in a frame buffer. Figure 54 is a block diagram of a
mémoire tampon de trame.frame buffer.
La figure 55 montre une structure de système de la mémoire tampon de trame employant des mémoires vives dynamiques. La figure 56 montre une disposition de pixels Fig. 55 shows a frame structure of the frame buffer employing dynamic random access memories. Figure 56 shows a pixel layout
faisant apparaître la relation entre des données enregis- showing the relationship between recorded data
trées dans la mémoire tampon de trame qui est représentée in the frame buffer which is shown
sur la figure 55 et les pixels sur l'écran. in Figure 55 and the pixels on the screen.
La figure 57 représente une disposition de pixels faisant apparaître la relation entre des données enregistrées dans la mémoire tampon de trame qui est Fig. 57 shows a pixel arrangement showing the relationship between data stored in the frame buffer which is
représentée sur la figure 60 et les pixels sur l'écran. shown in Figure 60 and the pixels on the screen.
La figure 58 montre une disposition de pixels qui illustre l'adressage par une unité de commande de mémoire vive dynamique qui est représentée sur la figure 55. La figure 59 est un diagramme temporel montrant une opération de lecture d'une mémoire tampon de trame sous la commande de l'unité de commande de mémoire vive Fig. 58 shows a pixel arrangement that illustrates addressing by a dynamic random access memory controller which is shown in Fig. 55. Fig. 59 is a time chart showing a read operation of a frame buffer under control of the RAM control unit
dynamique qui est représentée sur la figure 55. dynamic which is shown in Figure 55.
La figure 60 montre une structure de système d'une mémoire tampon de trame employant des mémoires vives dynamiques synchrones. La figure 61 est un diagramme temporel montrant une opération de lecture de la mémoire vive dynamique synchrone. La figure 62 montre un exemple de fonctionnement du générateur d'adresse qui est représenté sur la figure 60. La figure 64 est un diagramme temporel montrant un autre exemple de fonctionnement du générateur d'adresse Fig. 60 shows a system structure of a frame buffer employing synchronous dynamic random access memories. Fig. 61 is a timing diagram showing a read operation of the synchronous dynamic random access memory. Fig. 62 shows an exemplary operation of the address generator which is shown in Fig. 60. Fig. 64 is a timing diagram showing another example of operation of the address generator.
qui est représenté sur la figure 60. which is shown in Figure 60.
La figure 65 est un diagramme temporel montrant encore un autre exemple de fonctionnement du générateur Figure 65 is a timing diagram showing yet another example of generator operation
d'adresse qui est représenté sur la figure 60. address that is shown in Figure 60.
La figure 66 est un schéma synoptique du généra- Figure 66 is a block diagram of the general
teur d'adresse qui est représenté sur la figure 60. addressed in Figure 60.
La figure 67 montre la correspondance adresse- Figure 67 shows the correspondence address-
page et fait apparaître la relation entre des pages et des adresses de ligne et de colonne qui sont fournies par le page and brings up the relationship between pages and row and column addresses that are provided by the
générateur d'adresse représenté sur la figure 66. address generator shown in Figure 66.
La figure 68 montre la correspondance page-pixel et fait apparaître la relation entre des pages qui sont Figure 68 shows the page-pixel mapping and shows the relationship between pages that are
représentées sur la figure 67 et les pixels sur l'écran. shown in Fig. 67 and the pixels on the screen.
La figure 69 est un schéma synoptique montrant des traitements principaux conformes à un algorithme de compression d'image qui est recommandé par une norme Fig. 69 is a block diagram showing main processing according to an image compression algorithm which is recommended by a standard
internationale.International.
La figure 70 est un schéma synoptique d'un appa- Figure 70 is a block diagram of a
reil de compression/décompression d'image classique. image compression / decompression image classic.
La figure 71 est un schéma synoptique du proces- Figure 71 is a block diagram of the process
seur de signal numérique qui est représenté sur la figure digital signal which is shown in the figure
70.70.
La figure 72 est une illustration d'un premier procédé de projection dans une mémoire tampon de trame de Fig. 72 is an illustration of a first method of projecting into a frame buffer of
données de pixel sur l'écran.pixel data on the screen.
La figure 73 est une première illustration du transfert d'une zone de données comprenant 8 pixels dans la direction horizontale et 8 pixels dans la direction verticale. La figure 74 est une seconde illustration montrant le transfert d'une zone de données comprenant 8 pixels dans la direction horizontale et 8 pixels dans la Fig. 73 is a first illustration of the transfer of a data area comprising 8 pixels in the horizontal direction and 8 pixels in the vertical direction. Fig. 74 is a second illustration showing the transfer of a data area comprising 8 pixels in the horizontal direction and 8 pixels in the
direction verticale.vertical direction.
La figure 75 est une troisième illustration montrant le transfert d'une zone de données comprenant 8 pixels dans la direction horizontale et 8 pixels dans la Fig. 75 is a third illustration showing the transfer of a data area comprising 8 pixels in the horizontal direction and 8 pixels in the
direction verticale.vertical direction.
La figure 76 est une quatrième illustration du transfert d'une zone de données comprenant 8 pixels dans la direction horizontale et 8 pixels dans la direction verticale. La figure 77 est une illustration d'un second procédé de projection dans la mémoire tampon de trame de Fig. 76 is a fourth illustration of the transfer of a data area comprising 8 pixels in the horizontal direction and 8 pixels in the vertical direction. Fig. 77 is an illustration of a second method of projecting into the frame buffer of
données de pixel sur l'écran.pixel data on the screen.
La figure 78 montre un premier procédé de projection dans une mémoire tampon de trame de premières Figure 78 shows a first method of projecting into a raw frame buffer
et secondes données de pixel de différence de couleur. and second color difference pixel data.
La figure 79 montre un second procédé de projec- Figure 79 shows a second method of projection.
tion dans une mémoire tampon de trame de premières et in a frame buffer of raw and
secondes données de pixel de différence de couleur. second color difference pixel data.
La figure 80 montre un troisième procédé de projection dans une mémoire tampon de trame de premières Fig. 80 shows a third method of projecting into a raw frame buffer
et secondes données de pixel de différence de couleur. and second color difference pixel data.
La figure 81 montre un quatrième procédé de projection dans une mémoire tampon de trame de premières Figure 81 shows a fourth method of projecting into a raw frame buffer
et secondes données de pixel de différence de couleur. and second color difference pixel data.
La figure 82 montre le fonctionnement du proces- Figure 82 shows how the process works.
seur de commande d'ensemble, au moment du codage avec set command, at the time of coding with
prédiction bidirectionnelle.bidirectional prediction.
La figure 83 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un septième mode de réalisation de la présente invention. La figure 84 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 83 is a block diagram of an image compression / decompression apparatus showing a seventh embodiment of the present invention. Fig. 84 is a block diagram of an image compression / decompression apparatus showing a
huitième mode de réalisation de la présente invention. eighth embodiment of the present invention.
La figure 85 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 85 is a block diagram of an image compression / decompression apparatus showing a
neuvième mode de réalisation de la présente invention. ninth embodiment of the present invention.
La figure 86 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 86 is a block diagram of an image compression / decompression apparatus showing a
dixième mode de réalisation de la présente invention. tenth embodiment of the present invention.
La figure 87 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 87 is a block diagram of an image compression / decompression apparatus showing a
onzième mode de réalisation de la présente invention. eleventh embodiment of the present invention.
La figure 88 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 88 is a block diagram of an image compression / decompression apparatus showing a
douzième mode de réalisation de la présente invention. twelfth embodiment of the present invention.
La figure 89 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 89 is a block diagram of an image compression / decompression apparatus showing a
treizième mode de réalisation de la présente invention. thirteenth embodiment of the present invention.
La figure 90 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 90 is a block diagram of an image compression / decompression apparatus showing a
quatorzième mode de réalisation de la présente invention. fourteenth embodiment of the present invention.
La figure 91 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un Fig. 91 is a block diagram of an image compression / decompression apparatus showing a
quinzième mode de réalisation de la présente invention. fifteenth embodiment of the present invention.
La figure 92 est un schéma synoptique montrant Figure 92 is a block diagram showing
un exemple supplémentaire de l'unité de commande. an additional example of the control unit.
La figure 93 est un schéma synoptique montrant un exemple supplémentaire de l'unité de traitement de pixels. La figure 94 est un premier schéma synoptique détaillé de l'unité de traitement de pixels qui est Fig. 93 is a block diagram showing a further example of the pixel processing unit. Fig. 94 is a first detailed block diagram of the pixel processing unit which is
représentée sur la figure 93.shown in Figure 93.
La figure 95 est un second schéma synoptique détaillé de l'unité de traitement de pixels qui est représentée sur la figure 18. On décrira dans ce qui suit des appareils de compression/décompression d'image (ou un système de compression/décompression d'image) montrant des premier à Fig. 95 is a second detailed block diagram of the pixel processing unit shown in Fig. 18. Described below are image compression / decompression devices (or a compression / decompression system of image) showing first to
quinzième modes de réalisation de la présente invention. fifteenth embodiments of the present invention.
On décrira tout d'abord la structure générale, ou de système, de ces modes de réalisation et on décrira We will first describe the general or system structure of these embodiments and describe
ensuite les structures internes du système. then the internal structures of the system.
1 Structure générale ( 1) Premier mode de réalisation 1 General structure (1) First embodiment
La figure 1 est un schéma synoptique d'un appa- Figure 1 is a block diagram of a
reil de compression/décompression d'image 101 montrant un premier mode de réalisation de la présente invention En se référant à la figure 1, on note que l'appareil de compression/décompression d'image 101 comprend un circuit d'interface (I/F) d'hôte 1 pour l'échange d'information avec un ordinateur hôte 93; une unité de commande 2 comprenant deux processeurs (non représentés); une unité de traitement de pixels 3 pour la transformation en cosinus discrète et la quantification; une unité de préict Lon FIG. 1 shows that the image compression / decompression apparatus 101 comprises an interface circuit (I / I). F) host 1 for the exchange of information with a host computer 93; a control unit 2 comprising two processors (not shown); a pixel processing unit 3 for discrete cosine transformation and quantization; a Lon preict unit
(ou de détection) de mouvement 41;une mémoire tampon d'intr- (or detection) of movement 41, a buffer memory of
valle d'image 51 pour enregistrer des données d'image à traiter; une mémoire tampon 6 pour enregistrer des données de code; une mémoire de travail 7 pour enregistrer des données de table nécessaires pour diverses conversions; et picture frame 51 for recording image data to be processed; a buffer memory 6 for storing code data; a working memory 7 for storing table data needed for various conversions; and
une mémoire d'entrée/sortie 81 pour enregistrer des don- an input / output memory 81 for recording data.
nées d'image provenant d'une caméra de télévision 91 et/ou image from a television camera 91 and / or
pour fournir des données d'image enregistrées à un appa- to provide recorded image data to a device
reil de visualisation (tube cathodique) 92. viewing eye (cathode ray tube) 92.
Un bus d'hôte HB a une largeur de bus de 24 bits (ce qui est désigné sur la figure par " 24 b") et il est destiné au transfert de données entre chacun des éléments comprenant le circuit d'interface d'hôte 1, l'unité de commande 2, l'unité de traitement de pixels 3, la mémoire tampon 6 et la mémoire de travail 7 Le bus de données de pixel PB a une largeur de bus de 32 bits ( 32 b) et il est incorporé pour le transfert de données entre chacun des éléments comprenant l'unité de commande 2, l'unité de traitement de pixels 3, l'unité de prédiction de mouvement 41 et la mémoire tampon d'intervalle d'image 571 Unbus de données de code CB a une largeur de bus de 16 bits ( 16 b) et il est incorporé pour le transfert de données de code entre l'unité de commande 2, l'unité de traitement de pixels 3 et la mémoire tampon 6 Un bus d'entrée/sortie IOB a une largeur de bus de 24 bits ( 24 b) et il est incorporé pour le transfert de données entre l'unité de commande 2 et la An HB host bus has a bus width of 24 bits (which is designated in the figure as "24 b") and is intended for data transfer between each of the elements comprising the host interface circuit 1 , the control unit 2, the pixel processing unit 3, the buffer memory 6 and the working memory 7 The pixel data bus PB has a 32-bit bus width (32 b) and is embedded therein for the transfer of data between each of the elements comprising the control unit 2, the pixel processing unit 3, the motion prediction unit 41 and the image slot buffer 571 Unbus of code data CB has a 16-bit bus width (16b) and is embedded for the transfer of code data between the control unit 2, the pixel processing unit 3 and the buffer memory 6 An input bus / IOB output has a bus width of 24 bits (24 b) and is embedded for data transfer between control unit 2 and the
mémoire d'entrée/sortie 81.input / output memory 81.
Le circuit d'interface d'hôte 1 comprend un circuit logique qui est constitué par un dispositif logique programmable tel qu'un circuit logique à haut The host interface circuit 1 comprises a logic circuit which is constituted by a programmable logic device such as a high-level logic circuit.
niveau d'intégration (discret) d'usage général, un dispo- general level of (discrete) integration, a
sitif du type PLD ou un réseau de portes programmable du type FPGA La mémoire tampon d'interva Jle d 1 image 51 est incorporée PLD-type or FPGA-type programmable gate array The image buffer Jle d 1 image 51 is incorporated
essentiellement pour enregistrer temporairement des don- essentially to temporarily save data
nées d'image à comprimer et des données d'image à consul- images to be compressed and image data to
ter En ce qui concerne la mémoire tampon d'iiterva Ule d'image 51, on utilise une mémoire ayant une grande capacité telle qu'une With regard to the image memory buffer 51, a memory having a large capacity such as
mémoire vive statique (ou SRAM), une mémoire vive dynami- Static RAM (or SRAM), a dynamic random access memory
que (ou DRAM), une mémoire vive dynamique synchrone et une (or DRAM), a synchronous dynamic random access memory and a
mémoire vive dynamique prévue pour la fonction d'anté- dynamic random access memory provided for the function of
mémoire.memory.
La mémoire tampon 6 est incorporée pour enregis- The buffer memory 6 is incorporated for recording
trer temporairement des données de plage/niveau et des données de train de bits qui sont obtenues par le codage d'images La mémoire tampon 6 est constituée par une mémoire du type premier entré, premier sorti (PEPS) On peut cependant utiliser si nécessaire une mémoire vive temporarily store range / level data and bit stream data that are obtained by the image coding Buffer 6 is constituted by a first-in, first-out (FIFO) memory. RAM
dynamique ou une mémoire vive statique. dynamic or a static RAM.
La mémoire de travail 7 est incorporée pour enregistrer des données de table de transformation en cosinus discrète/transformation en cosinus discrète The working memory 7 is incorporated to record discrete cosine transform table / discrete cosine transformation data.
inverse, des données de table de quantification/quantifi- inverse, quantization / quantization table data
cation inverse, des données de table de Huffman pour un reverse cation, Huffman table data for a
traitement à longueur variable, un programme (micropro- variable-length treatment, a program (micropro-
gramme) pour le traitement dans l'unité de commande 2 et l'unité de traitement de pixels 3, des données pour gram) for the processing in the control unit 2 and the pixel processing unit 3, data for
l'initialisation, etc La mémoire de travail 7 est consti- initialization, etc. The working memory 7 is constituted
tuée par des mémoires vives statiques. killed by static memories.
La mémoire d'entrée/sortie 81 est incorporée pour enregistrer des données d'image pour la caméra de télévision 91 et/ou l'appareil de visualisation 92 La mémoire d'entrée/sortie 81 est constituée par des mémoires The input / output memory 81 is incorporated to record image data for the television camera 91 and / or the display apparatus 92 The input / output memory 81 is constituted by memories
vives vidéo.vivid video.
L'unité de commande 2 comprend un microproces- The control unit 2 comprises a microprocessor
seur (non représenté) pour la commande d'ensemble et un processeur (non représenté) pour le traitement à longueur seur (not shown) for the overall control and a processor (not shown) for processing at length
variable Le processeur pour la commande d'ensemble com- variable The processor for the overall set command
mande le traitement pipeline de la transformation en cosinus dicrète, la quantification et le codage à longueur mandates pipeline processing of the cosine transformation dicrete, quantization and length coding
variable pour la compression d'image, ainsi que le traite- variable for image compression, as well as
ment pipeline de décodage à longueur variable, la quanti- variable-length decoding pipeline, the quan-
fication inverse et la transformation en cosinus discrète inverse fication and discrete cosine transformation
inverse pour la décompression d'image. reverse for image decompression.
L'unité de traitement de pixels 13 effectue un traitement de pixels tel que la transformation en cosinus discrète et la quantification en compression d'image, et The pixel processing unit 13 performs pixel processing such as discrete cosine transformation and image compression quantization, and
elle effectue un traitement de pixels tel que la quantifi- it performs pixel processing such as the quantization
cation inverse et la transformation en cosinus discrète reverse cation and discrete cosine transformation
inverse en décompression d'image.reverse in image decompression.
L'unité de prédiction de mouvement 41 effectue un traitement de détection de mouvement tel que des prédictions inter-intervalles d'image unidirectionnelles The motion prediction unit 41 performs motion detection processing such as unidirectional image inter-interval predictions.
et bidirectionnelles.and bidirectional.
La figure 2 est un schéma qui montre des traite- Figure 2 is a diagram showing
ments effectués en compression d'image dans l'appareil de compression/décompression d'image 101 qui est représenté sur la figure 1 La figure 2 montre à titre d'exemple un image compression apparatus in the image compression / decompression apparatus 101 shown in Fig. 1 Fig. 2 shows by way of example a
procédé de codage qui est spécifié dans la norme MPEG. encoding method that is specified in the MPEG standard.
En se référant à la figure 2, on note que des données d'image ID à comprimer sont appliquées par l'intermédiaire d'un soustracteur 921 et d'un commutateur 922 à un processeur de transformation en cosinus discrète 923 Après la transformation en cosinus discrète, une Referring to Fig. 2, it is noted that ID image data to be compressed is applied via a subtracter 921 and a switch 922 to a discrete cosine transform processor 923 After the cosine transformation discreet, a
quantification est effectuée par un quantificateur 924. quantization is performed by a quantizer 924.
Les données quantifiées sont appliquées à un codeur à longueur variable 925 et elles sont soumises à un codage à longueur variable, et les données codées sont fournies sous la forme de données d'image comprimées VD par l'intermédiaire d'un tampon 926 D'autre part, les données quantifiées sont également appliquées à un quantificateur inverse et à un processeur de transformation en cosinus discrète inverse, et une quantification inverse et une The quantized data is applied to a variable length encoder 925 and is variable length coded, and the encoded data is provided as compressed VD image data via a 926 D 'buffer. on the other hand, the quantized data is also applied to an inverse quantizer and an inverse discrete cosine transform processor, and inverse quantization and
transformation en cosinus discrète inverse pour la prédic- inverse discrete cosine transform for prediction
tion de mouvement sont effectuées Les données de sortie du processeur de transformation en cosinus discrète The output data of the discrete cosine transform processor are
inverse sont appliquées à un additionneur 929. inverse are applied to an adder 929.
Les données d'image ID sont également appliquées à un prédicteur de mouvement 930, et les données prédites sont appliquées à l'additionneur 929 Les données de The ID image data is also applied to a motion predictor 930, and the predicted data is applied to the adder 929.
sortie de l'additionneur 929 sont appliquées au soustrac- the output of the adder 929 are applied to the subtraction
teur 921 et au prédicteur de mouvement 930 par l'intermé- 921 and the motion predictor 930 through
diaire d'un commutateur 931 Grâce à l'action de commuta- 931 Through the switching action of a
tion des commutateurs 922 et 931, la compression d'image est effectuée en prenant en considération la prédiction de mouvement. La figure 3 est un schéma montrant un traitement de décompression d'image qui est effectué par l'appareil de compression/décompression d'image 101 représenté sur la figure 1 En se référant à la figure 3, on note que des données en code à longueur variable VD sont appliquées à un décodeur à longueur variable 912 par l'intermédiaire d'un tampon 911 Après décodage à longueur variable, les données de code sont appliquées à un quantificateur inverse 913 et elles sont soumises à une quantification inverse Après quantification inverse, une transformation In the case of switches 922 and 931, image compression is performed taking motion prediction into consideration. Fig. 3 is a diagram showing an image decompression processing which is performed by the image compression / decompression apparatus 101 shown in Fig. 1 Referring to Fig. 3, it is noted that Variable length VD are applied to a variable length decoder 912 via a buffer 911 After variable length decoding, the code data is applied to a reverse quantizer 913 and they are subjected to inverse quantization After inverse quantization, a transformation
en cosinus discrète inverse est effectuée par un proces- in discrete inverse cosine is performed by a process
seur de transformation en cosinus discrète inverse 914, et les données traitées sont appliquées à un additionneur 915 L'additionneur 915 effectue une addition des données de sortie, comprenant les données qui ont été soumises à la prédiction de mouvement, et il fournit des données In this embodiment, the adder 915 performs an addition of the output data, including the data that has been subjected to the motion prediction, and provides data.
d'image décomprimées ID.uncompressed image ID.
Les traitements qui sont représentés sur les figures 2 et 3 sont spécifiésfondamentalement dans la The treatments that are shown in Figures 2 and 3 are specified in the main
norme MPEG Ces traitements de compression et de décom- MPEG standard These compression and decompression
pression d'image sont accomplis effectivement sous une image pressure are actually accomplished under a
commande de traitement pipeline, que l'on décrira ulté- pipeline processing control, which will be described later
rieurement, dans l'appareil de compression/décompression later, in the compression / decompression device
d'image 101 qui est représenté sur la figure 1. 101 which is shown in Figure 1.
( 2) Second mode de réalisation(2) Second embodiment
La figure 4 est un schéma synoptique d'un appa- FIG. 4 is a block diagram of a device
reil de compression/décompression d'image 102 montrant un second mode de réalisation de la présente invention En comparaison avec l'appareil de compression/décompression d'image 101 qui est représenté sur la figure 1, l'unité de prédiction de mouvement 41 est éliminée dans l'appareil de compression/décompression d'image 102 qui est représenté Image compression / decompression element 102 showing a second embodiment of the present invention In comparison with the image compression / decompression apparatus 101 shown in FIG. 1, the motion prediction unit 41 is removed in the image compression / decompression apparatus 102 which is shown
sur la figure 4 Plus précisément, dans le mode de réali- in Figure 4 More precisely, in the embodiment of
sation qui est représenté sur la figure 4, on peut effec- tion shown in Figure 4, it is possible to
tuer le décodage d'images animées aussi bien que le codage et le décodage d'images fixes Le décodage d'images animées est un processus inverse du codage Il ne comprend cependant pas la prédiction de mouvement et, à la place, un décodage de mouvement est ajouté et ce décodage génère une image prédite, sous l'effet de la réception d'un vecteur de mouvement. ( 3) Troisième mode de réalisation kill motion picture decoding as well as still picture encoding and decoding Motion picture decoding is an inverse process of coding It does not, however, include motion prediction and, instead, motion decoding is added and this decoding generates a predicted image, under the effect of receiving a motion vector. (3) Third embodiment
La figure 5 est un schéma synoptique d'un appa- Figure 5 is a block diagram of a
reil de compression/décompression d'image 103 montrant un troisième mode de réalisation de la présente invention En se référant à la figure 5, on note qu'en comparaison avec l'appareil de compression/décompression d'image 101 qui est représenté sur la figure 1, l'appareil de compression/ décompression d'image 103 comprend une mémoire d'entrée/ FIG. 5 illustrates a third embodiment of the present invention. Referring to FIG. 5, it is noted that in comparison with the image compression / decompression apparatus 101 which is shown in FIG. FIG. 1, the image compression / decompression device 103 comprises an input memory /
sortie 82 qui est connectée au bus de données de pixel PB. output 82 which is connected to the pixel data bus PB.
Plus précisément, la mémoire d'entrée/sortie 82 est connectée à l'unité de commande 2 par l'intermédiaire du bus de données de pixel PB Par conséquent, dans l'unité de commande 2, la mémoire d'entrée/sortie 82 et la mémoire tampon d'intervalle d'image 51 emploient un espace d'adresse commun, et par conséquent on peut réduire le nombre de circuits d'interface d'entrée/sortie (port d'entrée/ More specifically, the input / output memory 82 is connected to the control unit 2 via the pixel data bus PB Therefore, in the control unit 2, the input / output memory 82 and the picture slot buffer 51 use a common address space, and therefore the number of input / output interface circuits can be reduced (input port /
sortie) de l'unité de commande 2.output) of the control unit 2.
( 4) Quatrième mode de réalisation (4) Fourth embodiment
La figure 6 est un schéma synoptique d'un appa- Figure 6 is a block diagram of a
reil de compression/décompression d'image 104 montrant un quatrième mode de réalisation de la présente invention En se référant à la figure 6 on note qu'en comparaison avec le premier appareil de compression/décompression d'image 101, l'appareil de compression/décompression d'image 104 FIG. 6 shows a fourth embodiment of the present invention. Referring to FIG. 6, in comparison with the first image compression / decompression apparatus 101, the compression apparatus / image decompression 104
comprend une unité de prédiction de mouvement bidirection- includes a bidirectional motion prediction unit
nelle 42 qui peut effectuer en parallèle (ou simultané- 42 which can perform in parallel (or simultaneously
ment) une prédiction de mouvement dans les directions avant et arrière Plus précisément, l'unité de prédiction de mouvement directionnelle 42 comprend une unité de prédiction de mouvement 43 pour la prédiction de mouvement dans la direction avant, et une unité de prédiction de mouvement 44 pour la prédiction de mouvement dans la direction arrière Les unités de prédiction de mouvement In particular, the directional motion prediction unit 42 comprises a motion prediction unit 43 for the forward motion prediction, and a motion prediction unit 44. for motion prediction in the backward direction Motion prediction units
43 et 44 sont connectées au bus de données de pixel PB. 43 and 44 are connected to the pixel data bus PB.
Du fait que la prédiction de mouvement dans les Because the prediction of movement in
directions avant et arrière peut être effectuée en paral- forward and reverse directions can be performed in parallel
lèle ou simultanément, en utilisant deux unités de prédic- or simultaneously, using two prediction units
tion de mouvement 43 et 44, la prédiction de mouvement bidirectionnelle peut être accomplie effectivement en une 43 and 44, the bidirectional motion prediction can be effectively accomplished in one
courte durée.short duration.
( 5) Cinquième mode de réalisation (5) Fifth embodiment
La figure 7 est un schéma synoptique d'un appa- Figure 7 is a block diagram of a
reil de compression/décompression d'image 105 montrant un compression / decompression image 105 showing a
cinquième mode de réalisation de la présente invention. fifth embodiment of the present invention.
En comparaison avec l'appareil de compression/ décompression d'image 101 qui est représenté sur la figure 1, l'appareil de compression/décompression d'image 105 comporte une unité de prédiction de mouvement 45 capable d'effectuer simultanément une prédiction de mouvement bidirectionnelle, et deux mémoires tampons d'intervalle d'image 52 et 53, chacune d'elles étant connectée au bus de données de pixel PB L'unité de prédiction de mouvement peut effectuer une prédiction dans les deux directions In comparison with the image compression / decompression apparatus 101 shown in FIG. 1, the image compression / decompression apparatus 105 includes a motion prediction unit 45 capable of simultaneously performing a motion prediction. bidirectional, and two image interval buffers 52 and 53, each of which is connected to the pixel data bus PB The motion prediction unit can make a prediction in both directions
simultanément, et par conséquent une prédiction bidirec- simultaneously, and therefore a bidirectional prediction
tionnelle peut être accomplie au cours d'une durée néces- can be accomplished over a period of time
saire pour la prédiction en direction avant ou en direc- for prediction in the forward direction or in direc-
tion arrière L'unité de prédiction de mouvement 45 rearward motion The motion prediction unit 45
comporte deux ports d'entrée/sortie, dont l'un est connec- has two input / output ports, one of which is connected
té au bus de données de pixel PB et l'autre est connecté à to the PB pixel data bus and the other is connected to
la mémoire tampon d'intervalle d'image 53 par l'intermé- the image gap buffer 53 through the
diaire d'un bus local LB 1 L'une des deux mémoires tampons d'intervalle d'image 52 et 53 est utilisée à titre de mémoire 1 of the LB local bus 1 One of the two image slot buffers 52 and 53 is used as a memory
d'intervajle d&imagepourla prédiction en mouvement en direc- of image intervajle for the moving prediction in direc-
tion avant, tandis que l'autre mémoire tampon d'intervalle d'image est utilisée à titre de mémoire d'intervalle d'image pour la prédiction de mouvement en direction arrière Des données d'image de référence sont transférées forward, while the other image slot buffer is used as image slot memory for forward motion prediction. Reference image data is transferred.
vers le bus de données de pixel PD et le bus local LB 1. to the PD pixel data bus and the LB local bus 1.
Des données d'image de modèle et des données de vecteur de mouvement sont transférées de l'unité de prédiction de Model image data and motion vector data are transferred from the prediction unit of
mouvement 45 vers l'unité de commande 2 par l'intermé- movement 45 to the control unit 2 through
*diaire d'un second bus local LB 2.* Diary of a second local bus LB 2.
( 6) Sixième mode de réalisation(6) Sixth embodiment
La figure 8 est un schéma synoptique d'un appa- FIG. 8 is a block diagram of an apparatus
reil de compression/décompression d'image 106 montrant un sixième mode de réalisation de la présente invention En comparaison avec l'appareil de compression/décompression d'image 101 qui est représenté sur la figure 1, l'appareil de compression/décompression d'image 106 comprend une unité de prédiction de mouvement 46 ayant deux ports d'entrée/sortie Le premier port d'entrée/sortie de l'unité de prédiction de mouvement 46 est connecté au bus de données de pixel PB et son second port d'entrée/sortie est connecté à l'unité de commande 2 par l'intermédiaire d'un bus local LB 3 L'unité de prédiction de mouvement 46 applique directement à l'unité de commande 2, par le bus local LB 3, les données de vecteur de mouvement qui sont obtenues par la prédiction de mouvement Du fait que les données de vecteur de mouvement sont constituées par des signaux à 8 bits, le bus local LB 3 a une largeur de bus de 8 bits Du fait que les données de vecteur de mouvement sont directement appliquées à l'unité de commande 2 par In comparison with the image compression / decompression apparatus 101 shown in FIG. 1, the compression / decompression apparatus 106 exhibits a sixth embodiment of the present invention. Fig. 106 includes a motion prediction unit 46 having two input / output ports. The first input / output port of the motion prediction unit 46 is connected to the pixel data bus PB and its second port of input / output is connected to the control unit 2 via a local bus LB 3 The motion prediction unit 46 directly applies to the control unit 2, via the local bus LB 3, the data Motion vector data obtained by motion prediction Because the motion vector data is 8-bit signals, the LB 3 local bus has an 8-bit bus width. of movement are dir applied to the control unit 2 by
l'intermédiaire du bus local LB 3, il est possible d'amé- the local bus LB 3, it is possible to
liorer le traitement parallèle dans l'appareil de compres- to improve parallel processing in the compres-
sion/décompression d'image 106, et il en résulte que la compression/décompression d'image peut être effectuée plus image decompression / decompression 106, and as a result image compression / decompression can be performed more than
efficacement à une vitesse plus élevée. effectively at a higher speed.
Les appareils de compression/décompression d'image 102 à 106 qui sont représentés sur les figures 4 à 8 accomplissent fondamentalement la même opération que l'appareil de compression/décompression d'image 101 qui est représenté sur la figure 1 Plus précisément, dans chacun des second à sixième modes de réalisation, la compression/décompression d'image qui est représentée sur les figures 2 et 3 est accomplie sous une commande de traitement pipeline Par conséquent, on note que la compression/décompression d'image peut être accomplie The image compression / decompression apparatuses 102 to 106 which are shown in FIGS. 4 to 8 basically accomplish the same operation as the image compression / decompression apparatus 101 which is shown in FIG. from second to sixth embodiments, the image compression / decompression shown in Figs. 2 and 3 is accomplished under pipeline processing control. Therefore, it is noted that image compression / decompression can be accomplished.
efficacement avec une vitesse élevée On décrira ultérieu- effectively with a high speed will be described later
rement en détail le traitement pipeline, en se référant in detail the pipeline treatment, referring to
aux figures 11 et 12.Figures 11 and 12.
On décrira de façon spécifique dans ce qui suit le transfert de données d'image dans le codage d'image, en ce qui concerne le transfert de données par le bus de Specifically, hereinafter, the image data transfer in the image coding will be described with respect to the data transfer by the data bus.
données de pixel PB dans l'appareil de compression/décom- PB pixel data in the compression / decompression apparatus
pression d'image 106 du sixième mode de réalisation, et le volume de transfert de données d'image pour le traitement image pressure 106 of the sixth embodiment, and the image data transfer volume for processing
de données d'image d'un macro-bloc. of image data of a macro-block.
On suppose que les données d'image à coder ont déjà été enregistrées dans la mémoire tampon d'intervalle d'image 51 Le volume de transfert de données est calculé avec l'hypothèse selon laquelle le format d'image est 4:2:0, l'étendue de détection de mouvement est de + 16 pixels, et la structure est une structure d'intervalle d'image. Chaque unité effectue des opérations d'entrée et de sortie de données d'image en relation avec le bus de It is assumed that the image data to be encoded has already been recorded in the image interval buffer 51 The data transfer volume is calculated with the assumption that the image format is 4: 2: 0 , the motion detection range is +16 pixels, and the structure is an image gap structure. Each unit performs image data input and output operations in connection with the bus of
données de pixel PB sous la commande de l'unité de com- PB pixel data under control of the communication unit
mande 2 L'unité de commande 2 définit les conditions command 2 The control unit 2 defines the conditions
temporelles du fonctionnement de chaque unité. time of operation of each unit.
En premier lieu, des données d'image d'original sont transférées de l'unité de commande 2 vers la mémoire tampon d'intervalle d'image 51 par l'intermédiaire du bus de données de pixel PB A ce moment, le volume de données First, original image data is transferred from the control unit 2 to the image interval buffer 51 via the pixel data bus PB. data
d'image à transférer est de 384 pixels. image to transfer is 384 pixels.
Ensuite, la composante de luminance d'image de référence (image reproduite), dans l'étendue de recherche Next, the reference image luminance component (reproduced image), in the search scope
de mouvement, est transférée de la mémoire tampon d'inter- of movement, is transferred from the buffer memory
valle d'image 51 vers l'unité de prédiction de mouvement 46 par l'intermédiaire du bus de données de pixels PB pour la prédiction de mouvement A ce moment, le volume de données d'image à transférer est de 768 pixels pour un intervalle d'image de référence Par conséquent, dans la image value 51 to the motion prediction unit 46 via the pixel data bus PB for the motion prediction At this time, the image data volume to be transferred is 768 pixels for an interval of reference image Therefore, in the
prédiction bidirectionnelle, il est nécessaire de trans- bidirectional prediction, it is necessary to trans-
férer 1536 pixels, c'est-à-dire deux plans d'images. to make 1536 pixels, that is to say two shots of images.
Ensuite, la composante de luminance de l'image à coder est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de commande 2 par l'intermédiaire Then, the luminance component of the image to be encoded is transferred from the image interval buffer 51 to the control unit 2 via
du bus de données de pixel PB pour la prédiction de mouve- of the PB pixel data bus for the motion prediction
ment Ensuite, la composante de luminance est transférée de l'unité de commande 2 vers l'unité de prédiction de mouvement 46 par le bus local LB 3 A ce moment, le volume Then, the luminance component is transferred from the control unit 2 to the motion prediction unit 46 by the local bus LB 3.
de données d'image qui est transféré est de 256 pixels. of image data that is transferred is 256 pixels.
La prédiction de mouvement est accomplie et la prédiction inter-trame doit être effectuée conformément au mode de codage déterminé en utilisant les résultats, et les données de l'image prédite (image reproduite) sont transférées de la mémoire tampon d'intervae d'image 51 vers l'unité de traitement de pixels 3 par l'intermédiaire du bus de données de pixel PB pour le codage A ce moment, le volume de données d'image à transférer est de 451 pixels pour un plan d'image prédite Par conséquent, pour la prédiction bidirectionnelle, on doit transférer 902 pixels The motion prediction is accomplished and the inter-frame prediction must be performed in accordance with the determined encoding mode using the results, and the data of the predicted image (reproduced image) is transferred from the image intervae buffer. 51 to the pixel processing unit 3 via the pixel data bus PB for encoding At this time, the image data volume to be transferred is 451 pixels for a predicted image plane Therefore , for the bidirectional prediction, we must transfer 902 pixels
pour deux plans d'images.for two shots of images.
Ensuite, les données d'image à coder sont trans- Then, the image data to be encoded is trans-
férées de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 3, par l'intermédiaire du bus de données de pixels PB A ce moment, le volume de from the image interval buffer 51 to the pixel processing unit 3, via the pixel data bus PB.
données d'image qui est transféré est de 384 pixels. image data that is transferred is 384 pixels.
Après la fin du codage, les données de l'image à reproduire, en ce qui concerne l'ige à codage Xifza-intervalle d'imge et l'image avec prédiction unidirectionnelle, sont transférées de l'unité de traitement de pixels 3 vers la mémoire tampon d'intervalle d'image 51 par l'intermédiaire du bus de données de pixel PB A ce moment, le volume de données d'image qui est transféré est de 384 pixels. After the end of the coding, the data of the image to be reproduced, with respect to the Xifza coding interval and the unidirectional prediction image, are transferred from the pixel processing unit 3 to the image interval buffer 51 via the pixel data bus PB At this time, the image data volume that is transferred is 384 pixels.
Le volume de transfert de données décrit ci- The volume of data transfer described above
dessus devient maximal au moment de la prédiction bidirec- it becomes maximal at the time of bidirectional prediction
tionnelle, dans laquelle tous les transferts de données sont accomplis, à l'exception du transfert des données in which all data transfers are performed, with the exception of the transfer of data
d'image à reproduire, et ce volume s'élève à 3462 pixels. image to reproduce, and this volume is 3462 pixels.
Dans ces conditions, si l'on agrandit l'étendue de recherche de mouvement dans le but d'améliorer la qualité de l'image, le volume de transfert de données d'image de la composante de luminance de l'image de référence dans l'étendue de recherche de mouvement augmente Par exemple, si l'étendue de recherche de mouvement est agrandie jusqu'à + 32 pixels, il devient nécessaire de transférer 1280 pixels au moment de la prédiction unidirectionnelle et 2560 pixels au moment de Under these conditions, if the motion search range is enlarged in order to improve the quality of the image, the image data transfer volume of the luminance component of the reference image in for example, if the motion search range is enlarged to + 32 pixels, it becomes necessary to transfer 1280 pixels at the time of the unidirectional prediction and 2560 pixels at the time of
la prédiction bidirectionnelle.bidirectional prediction.
En ce qui concerne des données d'image numéri- With regard to digital image data,
ques, il existe différents formats de données en fonction de la quantité de données de composante de différence de couleur des données d'image Ainsi, il existe des formats 4:4:4 dans lesquels la quantité de données de l'image d'origine est conservée, un format 4:2:2 dans lequel la composante de différence de couleur est réduite à la moitié, et un format 4:2:0 dans lequel la composante de There are different data formats depending on the amount of color difference component data of the image data. Thus, there are 4: 4: 4 formats in which the amount of data from the original image is preserved, a 4: 2: 2 format in which the color difference component is reduced to half, and a 4: 2: 0 format in which the component of
différence de couleur est réduite au quart Par consé- difference in color is reduced to one quarter
quent, lorsqu'on change le format d'image à manipuler, il se produit une augmentation du volume de transfert de données d'image, à l'exception du volume de transfert de données d'image lié à la prédiction de mouvement Par exemple, si on utilise le format 4:4:4, le volume des données qui sont manipulées dans le transfert de données d'image d'origine, le transfert de données d'image à coder vers l'unité de traitement de pixels et le transfert de données d'image à reproduire, sera de 768 pixels, tandis que pour le transfert de données d'image de prédiction, il faudra transférer presque deux fois plus de pixels, c'est- à-dire que 867 pixels doivent être transférés pour chaque when changing the image format to be manipulated, there is an increase in the image data transfer volume, with the exception of the image data transfer volume related to the motion prediction For example , if the 4: 4: 4 format is used, the volume of data that is manipulated in the original image data transfer, the image data transfer to be encoded to the pixel processing unit, and the transfer of image data to be reproduced, will be 768 pixels, while for the transfer of prediction image data, it will transfer almost twice as many pixels, that is to say that 867 pixels must be transferred for each
plan d'image de l'image de référence prédite. image plane of the predicted reference image.
Comme décrit ci-dessus, si le nombre de pixels de l'image à traiter est augmenté, comme dans le cas d'une image de haute définition, le temps nécessaire pour le traitement d'un macro-bloc augmente Si l'horloge de système est fixe, le volume de transfert de données que l'on peut traiter dans un cycle de l'horloge de système est limité par les performances du matériel, lorsque le volume de transfert de données pour le traitement d'un macro-bloc augmente Par conséquent, pour transférer les données décrites ci-dessus, le nombre de cycles de As described above, if the number of pixels of the image to be processed is increased, as in the case of a high definition image, the time required for the processing of a macroblock increases. system is fixed, the volume of data transfer that can be processed in one cycle of the system clock is limited by the hardware performance, when the data transfer volume for the processing of a macro-block increases Therefore, to transfer the data described above, the number of cycles of
l'horloge de système augmente.the system clock increases.
Comme décrit ci-dessus, si le volume de trans- As described above, if the volume of trans-
fert de données est très élevé et augmente encore lors- data is very high and increases further when
qu'on a besoin d'un plus grand nombre de pixels et d'une meilleure qualité d'image, le processus de transfert de données limite la vitesse de traitement de l'ensemble de l'appareil si le traitement pipeline est effectué en Because more pixels are needed and image quality is better, the data transfer process limits the processing speed of the entire device if pipeline processing is performed.
utilisant pour unité le codage correspondant à un macro- using as unit the coding corresponding to a macro-
bloc, du fait que le nombre de cycles nécessaires pour le block, since the number of cycles required for the
transfert de données pour effectuer le codage est supé- data transfer to perform the coding is superior
rieur au nombre de cycles nécessaires pour l'opération de codage ellemême On décrira dans ce qui suit un appareil the number of cycles required for the coding operation itself A description will be given in the following
de compression/décompression d'image qui améliore l'effi- compression / decompression of images which improves the
cacité du transfert de données et dans lequel la vitesse de traitement globale n'est pas limitée par la vitesse de cacity of the data transfer and in which the overall processing speed is not limited by the speed of
transfert de données.data transfer.
( 7) Septième mode de réalisation La figure 83 est un schéma synoptique d'un appareil de compression/décompression d'image 107 conforme (7) Seventh Embodiment Fig. 83 is a block diagram of an image compression / decompression apparatus 107 in accordance with Figs.
à un septième mode de réalisation de la présente inven- to a seventh embodiment of the present invention
tion Sur la figure 83, les parties qui correspondent à celles du sixième mode de réalisation représenté sur la figure 8 sont désignées par les mêmes caractères de réfé- In Fig. 83, parts corresponding to those of the sixth embodiment shown in Fig. 8 are designated by the same reference characters.
rence et leur description n'est pas répétée. and their description is not repeated.
En se référant à la figure 83, on note que le bus de données de pixel PB a une largeur de données de 32 bits et il est incorporé pour le transfert de données entre l'unité de commande 23, l'unité de traitement de Referring to Fig. 83, it is noted that the pixel data bus PB has a data width of 32 bits and is incorporated for data transfer between the control unit 23, the
pixels 33 et la mémoire tampon d'intervalle d'image 51. pixels 33 and the frame interval buffer 51.
Le bus de données local LDB a une largeur de données de 32 bits et il est incorporé pour le transfert de données entre l'unité de traitement de pixels 33, l'unité de prédiction de mouvement 47 et la mémoire locale 56. The local data bus LDB has a data width of 32 bits and is embedded for data transfer between the pixel processing unit 33, the motion prediction unit 47 and the local memory 56.
La mémoire locale 56 est incorporée pour enre- Local memory 56 is incorporated to record
gistrer temporairement une composante de luminance des données d'image reproduites qui sont utilisées pour la prédiction de mouvement et sont transférées à partir de l'unité de traitement de pixels 33 On utilise pour la mémoire locale 56 une mémoire ayant une plus grande capacité, telle qu'une mémoire vive statique (SRAM), une mémoire vive dynamique (DRAM), une mémoire vive dynamique synchrone et une mémoire vive dynamique prévue pour une temporarily store a luminance component of the reproduced image data which is used for the motion prediction and is transferred from the pixel processing unit 33 A memory having a larger capacity such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (RAM) and dynamic random access memory (RAM)
fonction d'antémémoire.cache function.
Un microprocesseur (non représenté) pour la commande d'ensemble, qui est incorporé dans l'unité de commande 23, commande le transfert de données d'image A microprocessor (not shown) for the overall control, which is incorporated in the control unit 23, controls the transfer of image data
entre l'unité de commande 23, la mémoire tampon d'inter- between the control unit 23, the buffer memory of
valle d'image 51 et l'unité de traitement de pixels 33, et il commande le transfert de données d'image entre l'unité de traitement de pixels 23, l'unité de prédiction de the image processing unit 51 and the pixel processing unit 33, and controls the image data transfer between the pixel processing unit 23, the image processing unit 23,
mouvement 47 et la mémoire locale 56. movement 47 and local memory 56.
L'unité de traitement de pixels 33 comporte un nouveau port de sortie de données P 2 pour les données d'image, en plus du port d'entrée/sortie de données Pl qui est connecté au bus de données de pixel PB L'unité de prédiction de mouvement 47 et la mémoire locale 56, nouvellement incorporée, sont connectées au port de sortie de données P 2 par l'intermédiaire du bus de données local The pixel processing unit 33 has a new data output port P 2 for the image data, in addition to the data input / output port P1 which is connected to the pixel data bus PB The unit motion prediction 47 and the newly incorporated local memory 56 are connected to the data output port P 2 via the local data bus
LDB Le port de sortie de données P 2 de l'unité de traite- LDB The data output port P 2 of the processing unit
ment de pixel 33, l'unité de prédiction de mouvement 47 et pixel 33, the motion prediction unit 47 and
la mémoire locale 56 sont commandés par l'unité de com- local memory 56 are controlled by the communication unit
mande 23, et ils accomplissent le transfert de données mande 23, and they complete the data transfer
d'image par l'intermédiaire du bus de données local 61. image via the local data bus 61.
L'unité de commande 23 commande également les conditions The control unit 23 also controls the conditions
temporelles de chaque transfert.of each transfer.
Les données d'image qui sont manipulées par le bus de données local LDB sont les données de référence pour la prédiction de mouvement qui sont extraites de données d'image transférées par l'unité de traitement de pixels 33 à partir de la mémoire tampon d'intervalle d'image 51, par l'intermédiaire du bus de données de pixel The image data that is manipulated by the local data bus LDB is the reference data for motion prediction that is extracted from image data transferred by the pixel processing unit 33 from the buffer memory. picture interval 51, via the pixel data bus
PB (données comprenant au moins une information représen- PB (data comprising at least one information representative
tative de données de luminance parmi les données d'image, que l'on appelle ci-après composante de luminance) Les données de référence sont transférées du port d'entrée/ sortie de données Pl vers la mémoire tampon d'intervalle d'image 51 par l'intermédiaire du bus de données de pixel of luminance data among the image data, hereinafter luminance component). The reference data is transferred from the data input / output port P1 to the image interval buffer 51 through the pixel data bus
PB et elles sont enregistrées dans cette mémoire. PB and they are saved in this memory.
Un bus local dédié LB 4 ayant une largeur de 8 A dedicated local bus LB 4 having a width of 8
bits, est incorporé entre l'unité de prédiction de mouve- bits, is incorporated between the motion prediction unit
ment 47 et l'unité de commande 23 Les données d'image qui font l'objet de la détection de mouvement sont transférées de l'unité de commande 23 vers l'unité de prédiction de mouvement 47 Les données de vecteur de mouvement qui indiquent le résultat de la détection de mouvement sont transférées de l'unité de prédiction de mouvement 47 vers l'unité de commande 23 L'unité de commande 23, la mémoire tampon d'intervalle d'image 51 et l'unité de traitement de pixel 33, qui sont connectées au bus de données de pixel PB, génèrent une image prédite et codent l'image prédite, sur la base des données de vecteur de mouvement L'unité de traitement de pixels 33 fournit des données d'image 47 and the control unit 23 The image data that is the subject of the motion detection is transferred from the control unit 23 to the motion prediction unit 47 The motion vector data which indicates the result of the motion detection is transferred from the motion prediction unit 47 to the control unit 23 The control unit 23, the image interval buffer 51 and the pixel processing unit 33, which are connected to the pixel data bus PB, generate a predicted image and encode the predicted image, based on the motion vector data. The pixel processing unit 33 provides image data.
codée au bus de code CB.coded to the CB code bus.
On décrira en se référant à la figure 83 le transfert de données d'image dans le codage d'image et le volume de transfert de données d'image dans le traitement d'un macro-bloc de données d'image On suppose ici que les données d'image à coder ont déjà été enregistrées dans la With reference to FIG. 83, the image data transfer in the image coding and the image data transfer volume in the processing of a macro-block of image data will be described. the image data to be encoded have already been recorded in the
mémoire tampon d'intervalle d'image 51, et que la compo- image interval buffer 51, and the component
sante de luminance de l'image de référence (image repro- the luminance of the reference image (image reproduced
duite), nécessaire pour la détection de mouvement, a déjà été enregistrée dans la mémoire locale 56 Le volume de transfert est calculé en considérant que le format d'image est 4:2:0, que l'étendue de détection d'image est de + 16 pixels et que la structure est une structure d'intervalle d'image. Premièrement, des données d'image d'origine sont transférées à partir de l'unité de commande 23 vers duite), necessary for motion detection, has already been saved in local memory 56 The transfer volume is calculated assuming that the image format is 4: 2: 0, that the image detection range is of +16 pixels and the structure is an image interval structure. First, original image data is transferred from the control unit 23 to
la mémoire tampon d'intervalle d'image 51 par l'intermé- the image slot buffer 51 through the
diaire du bus de données de pixel PB A ce moment, le volume de données d'image qui sont transférées est de 384 of the PB pixel data bus At this time, the amount of image data that is transferred is 384
pixels.pixels.
Ensuite, pour la prédiction de mouvement, la composante de luminance de l'image sur laquelle porte la prédiction de mouvement est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de commande 23 par l'intermédiaire du bus de données de pixel PB La composante de luminance est également transférée vers l'unité de détection de mouvement 47 par l'intermédiaire du bus local LB 4 A ce moment, le volume de données Then, for the motion prediction, the luminance component of the image to which the motion prediction relates is transferred from the image interval buffer 51 to the control unit 23 via the image bus. PB pixel data The luminance component is also transferred to the motion detection unit 47 via the local bus LB 4 At this time, the data volume
d'image qui sont transférées est de 256 pixels. image that are transferred is 256 pixels.
Lorsque la prédiction de mouvement est accomplie When motion prediction is accomplished
et 2 a prédiction it Ei-ntea d'image doit être accomplie conf or- and 2 has prediction it Ei-ntea of image must be accomplished conf or-
mément au mode de codage déterminé, sur la base des résul- according to the particular coding method, on the basis of the results
tats de la prédiction de mouvement, l'image prédite (à states of the motion prediction, the predicted image (at
reproduire) est transférée de la mémoire tampon d'inter- reproduce) is transferred from the inter-
valle d'image 51 vers l'unité de traitement de pixels 33 par l'intermédiaire du bus de données de pixel PB, pour le codage A ce moment, le volume de données d'image qui sont transférées est de 451 pixels pour un plan de l'image prédite On donc transférer 902 pixels pour la prédiction image range 51 to the pixel processing unit 33 via the pixel data bus PB, for coding At this time, the volume of image data that is transferred is 451 pixels for one plane of the predicted image So we transfer 902 pixels for the prediction
bidirectionnelle.bidirectional.
Ensuite, des données d'image à coder sont trans- Next, image data to be encoded is transmitted
férées de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 33 par l'intermédiaire du bus de données de pixel PB A ce moment, le volume de from the image interval buffer 51 to the pixel processing unit 33 via the pixel data bus PB At this time, the volume of
données d'image qui sont transférées est de 384 pixels. Image data that is transferred is 384 pixels.
En parallèle avec les quatre transferts de données d'image mentionnés cidessus, la composante de In parallel with the four image data transfers mentioned above, the
luminance de l'image dans l'étendue de recherche de mouve- luminance of the image in the motion search range.
ment pour la prédiction de mouvement est transférée de la mémoire locale 56 vers l'unité de détection de mouvement 47 par l'intermédiaire du bus de données local LDB A ce moment, le volume de données d'image transférées est de 768 pixels pour un plan de l'image de référence Par conséquent, pour la prédiction bidirectionnelle, il est nécessaire de transférer 1536 pixels correspondant à deux plans. Après la fin du codage, en ce qui concerne une image pour le codage intra-interrvalle d'image et une image pour la The motion prediction unit 47 is transferred from the local memory 56 to the motion detection unit 47 via the local data bus LDB. At this time, the volume of image data transferred is 768 pixels per second. reference image plane Therefore, for bidirectional prediction, it is necessary to transfer 1536 pixels corresponding to two planes. After the end of the coding, with regard to an image for intra-interrupter image coding and an image for the
prédiction unidirectionnelle, des données d'image à repro- unidirectional prediction, reproduction image data
duire sont transférées de l'unité de traitement de pixels 33 vers la mémoire tampon d'intervalle d'image 51 par are transferred from the pixel processing unit 33 to the image interval buffer 51 by
l'intermédiaire du bus de données de pixel PB Simultané- via the PB Simultaneous pixel data bus
ment, la composante de luminance de l'image à reproduire the luminance component of the image to be reproduced
est transférée vers la mémoire locale 56 par l'intermé- is transferred to local memory 56 via
diaire du bus de données local LDB. LDB local data bus.
A ce moment, l'unité de commande 23 produit un signal de commande de sortie pour commander le port Pl connecté au bus de données de pixel PB, en synchronisme avec l'émission des données d'image à reproduire par l'unité de traitement de pixels 33, à partir de la mémoire de sortie d'image de reproduction interne (par exemple la mémoire d'image 335 représentée sur la figure 19, que l'on décrira ultérieurement) Simultanément, pendant que des données de luminance sont émises par la mémoire de sortie d'image de reproduction, l'unité de commande 23 produit un signal de commande de sortie pour commander le port P 2 qui At this time, the control unit 23 produces an output control signal to control the port P1 connected to the pixel data bus PB, in synchronism with the transmission of the image data to be reproduced by the processing unit. of pixels 33, from the internal reproduction image output memory (for example the image memory 335 shown in Fig. 19, which will be described later) simultaneously, while luminance data is output by the reproduction image output memory, the control unit 23 produces an output control signal for controlling the port P 2 which
est connecté au bus de données local LDB. is connected to the local LDB data bus.
Dans l'unité de traitement de pixels 33, des données d'image sont émises par la mémoire de sortie d'image de reproduction conformément à une instruction provenant de l'unité de commande 23, ou conformément à un programme de séquence qui est enregistré dans une mémoire interne (par exemple une mémoire interne dans une unité de In the pixel processing unit 33, image data is output from the reproduction image output memory according to an instruction from the control unit 23, or according to a sequence program which is recorded. in an internal memory (for example an internal memory in a unit of
commande 319 représentée sur la figure 19, que l'on décri- 319 shown in FIG. 19, which is described in FIG.
ra ultérieurement) A ce moment, sous l'effet d'un signal ra later) At that moment, under the effect of a signal
de commande de sortie qui est produit par l'unité de com- output control that is produced by the communication unit
mande 23, le port Pl connecté au bus de données de pixel Mande 23, the port Pl connected to the pixel data bus
PB fournit des données d'image d'un macro-bloc Simultané- PB provides image data of a Simultaneous macro-block
ment, le port P 2 connecté au bus de données local LDB fournit seulement la composante de luminance des données the port P 2 connected to the local data bus LDB only provides the luminance component of the data
d'image d'un macro-bloc, sous l'effet du signal de com- image of a macro-block, under the effect of the signal of com-
mande de sortie qui est fourni par l'unité de commande 23. output control which is provided by the control unit 23.
Dans le transfert d'images à reproduire, qui est décrit ci-dessus, le volume de données d'image qui sont transférées sur le bus de données de pixel PB est de 384 pixels, tandis que sur le bus de données local LDB le In the image transfer to be reproduced, which is described above, the volume of image data that is transferred on the pixel data bus PB is 384 pixels, while on the local data bus LDB the
volume est de 256 pixels.volume is 256 pixels.
Comme décrit ci-dessus, l'unité de traitement de As described above, the treatment unit of
pixels 33 qui est destinée à générer une image à repro- pixels 33 which is intended to generate a reproduction image
duire, est conçue de façon à avoir une fonction d'émission duire, is designed to have an emission function
de données vers deux bus de données, et l'image à repro- data to two data buses, and the reproduction image
duire est émise vers le bus de données local LDB en synchronisme avec l'émission de l'image à reproduire vers le bus de données de pixel PB Par conséquent, la mémoire de sortie d'image de reproduction (non représentée) dans l'unité de traitement de pixels 33 peut être commandée de façon commune, et des données peuvent être transférées vers chacun des ports connectés à la sortie de la mémoire interne au moyen d'un seul bit du signal de commande de sortie Il en résulte que la commande du transfert de données, vue de l'unité de commande 23, est facilitée, et sauf pour le transfert de l'image de reproduction, les bus sont divisés par l'unité de commande 23, permettant ainsi it is transmitted to the local data bus LDB in synchronism with the transmission of the image to be reproduced to the pixel data bus PB Therefore, the reproduction image output memory (not shown) in the unit The pixel processing unit 33 may be commonly controlled, and data may be transferred to each of the ports connected to the output of the internal memory by means of a single bit of the output control signal. data transfer, view of the control unit 23, is facilitated, and except for the transfer of the reproduction image, the buses are divided by the control unit 23, thus allowing
un transfert de données en parallèle. a parallel data transfer.
Le volume de transfert de données à ce moment The volume of data transfer at this time
devient maximal dans le cas de la prédiction bidirection- becomes maximal in the case of bidirectional prediction-
nelle, et il est de 1926 pixels sur le bus de données de pixels PB et de 1536 pixels sur le bus de données local LDB Par conséquent, en utilisant deux bus de données divisés, le volume de données qui sont transférées par un bus peut être réduit en comparaison avec le sixième mode de réalisation, la vitesse pratique de transfert de données est améliorée, et la vitesse de traitement dans l'appareil de compression/décompression d'image peut être augmentée. ( 8) Huitième mode de réalisation La figure 84 est un schéma synoptique d'un appareil de compression/décompression d'image 108 montrant and 1926 pixels on the PB pixel data bus and 1536 pixels on the LDB local data bus. Therefore, by using two divided data buses, the volume of data that is transferred by a bus can be reduced in comparison with the sixth embodiment, the practical data transfer rate is improved, and the processing speed in the image compression / decompression apparatus can be increased. (8) Eighth Embodiment FIG. 84 is a block diagram of an image compression / decompression apparatus 108 showing
un huitième mode de réalisation de la présente invention. an eighth embodiment of the present invention.
Sur la figure 84, les parties qui correspondent à celles de l'appareil de compression/décompression d'image qui est représenté sur la figure 83 sont désignées par les mêmes In Fig. 84, the parts corresponding to those of the image compression / decompression apparatus shown in Fig. 83 are designated by the same
caractères de référence et leur description n'est pas reference characters and their description is not
répétée.repeated.
L'unité de traitement de pixels 34 comprend deux ports de sortie de données d'image P 4 et P 5, nouvellement incorporés Trois bus de données, c'est-à-dire le bus de données de pixel PB et deux bus de données locaux LDB 1 et LDB 2, sont incorporés à titre de bus de données d'image. L'opération de commande de sortie des ports respectifs P 3 à P 5 est effectuée par un signal de commande de sortie qui The pixel processing unit 34 comprises two newly incorporated image data output ports P 4 and P 5. Three data buses, i.e. the pixel data bus PB and two data buses. local LDB 1 and LDB 2, are incorporated as image data bus. The output control operation of the respective ports P 3 to P 5 is effected by an output control signal which
est fourni par une unité de commande de système (par exem- is provided by a system controller (e.g.
ple une unité de commande de système 114 représentée sur la figure 13, que l'on décrira ultérieurement) qui est incluse dans un processeur de commande de traitement pipeline (par exemple le processeur de commande d'ensemble a system control unit 114 shown in Fig. 13, which will be described later) which is included in a pipeline processing control processor (e.g., the overall control processor).
Il représenté sur la figure 9, que l'on décrira ultérieu- It is represented in FIG. 9, which will be described later.
rement), dans l'unité de commande 24. in the control unit 24.
Lorsque la fonction de l'appareil est élargie et l'étendue de détection de mouvement est agrandie jusqu'à + 64 pixels, des données d'image s'élevant jusqu'à 2304 pixels doivent être transférées, même au moment d'une When the camera function is enlarged and the motion detection range is enlarged to +64 pixels, image data up to 2304 pixels must be transferred even when
prédiction unidirectionnelle On présentera la description unidirectional prediction We will present the description
qui suit en supposant que l'étendue de la détection de mouvement est agrandie jusqu'à + 64 pixels et qu'une prédiction unidirectionnelle esteffectuée Dans le sixième mode de réalisation qui est représentée sur la figure 8, le volume de transfert de données d'image est which follows assuming that the range of the motion detection is enlarged to +64 pixels and unidirectional prediction is performed. In the sixth embodiment which is shown in FIG. 8, the data transfer volume of FIG. picture is
augmenté jusqu'à 4230 pixels lorsque l'étendue de détec- increased to 4230 pixels when the detection range
tion de mouvement est agrandie Le processus dans le huitième mode de réalisation est le suivant Dans le The process in the eighth embodiment is as follows.
huitième mode de réalisation, pour la prédiction de mouve- eighth embodiment, for predicting movement
ment, la composante de luminance de l'image dans l'étendue de recherche de mouvement est divisée en deux, et elle est transférée par l'utilisation de deux bus de données Plus précisément, 1280 pixels sont transférés de la mémoire locale 56 a vers l'unité de prédiction 47 a par le bus de données local LDB 1, tandis que 1280 pixels sont transférés de la mémoire locale 56 b vers l'unité de prédiction de mouvement 47 b par le bus de données local LDB 2 A ce moment, des données qui se trouvent dans la partie de jonction des données doivent être transférées vers les deux bus de données LDB 1 et LDB 2 Par conséquent, bien que le volume des données qui sont transférées par un bus de The luminance component of the image in the motion search range is divided into two, and is transferred by the use of two data buses. More precisely, 1280 pixels are transferred from the local memory 56 a to the prediction unit 47a by the local data bus LDB 1, while 1280 pixels are transferred from the local memory 56b to the motion prediction unit 47b by the local data bus LDB 2 At that moment, data in the data join part must be transferred to both data buses LDB 1 and LDB 2 Therefore, although the volume of data that is transferred by a data bus
données soit de 2384 pixels, le volume de données trans- data of 2384 pixels, the volume of trans-
férées par deux bus de données sera au total de 2560 pixels En d'autres termes, le volume de données est augmenté des données de pixel d'un macro-bloc ( 256 pixels) Ceci est destiné à permettre la reconnaissance de la jonction entre des éléments respectifs des données de two data buses will be 2560 pixels in total. In other words, the data volume is increased by the pixel data of a macro-block (256 pixels). This is intended to allow recognition of the junction between respective elements of the data of
référence divisées.divided reference.
Dans ce cas, lorsque l'image à reproduire est transférée, les données d'image de reproduction sont transférées de l'unité de traitement de pixels 34 vers la mémoire tampon d'intervalle d'image 51 par l'intermédiaire du bus de données de pixel PB, et simultanément l'image de reproduction est transférée vers les mémoires locales 56 a et 56 b par l'intermédiaire des bus de données locaux LDB 1 In this case, when the image to be reproduced is transferred, the reproduction image data is transferred from the pixel processing unit 34 to the image interval buffer 51 via the data bus. PB pixel, and simultaneously the reproduction image is transferred to the local memories 56a and 56b via the LDB local data buses 1
et LDB 2.and LDB 2.
Le volume de transfert de données à ce moment est de 1926 pixels sur le bus de données de pixel PB et de 1280 pixels sur chacun des bus de données locaux LDB 1 et LDB 2 Plus précisément, le volume des données qui sont transférées sur un bus peut être réduit du fait que le bus The data transfer volume at this time is 1926 pixels on the pixel data bus PB and 1280 pixels on each of the local data buses LDB 1 and LDB 2 More precisely, the volume of data that is transferred on a bus can be reduced because the bus
de données d'image est divisé en trois, la vitesse prati- image data is divided into three, the
que de transfert de données est augmentée jusqu'à plus du double de celle du sixième mode de réalisation, et il est possible d'améliorer le septième mode de réalisation de that data transfer is increased to more than double that of the sixth embodiment, and it is possible to improve the seventh embodiment of
l'appareil de compression/décompression d'image. the image compression / decompression device.
( 9) Neuvième mode de réalisation La figure 85 est un schéma synoptique d'un appareil de compression/décompression d'image conforme à (9) Ninth Embodiment Fig. 85 is a block diagram of an image compression / decompression apparatus according to
un neuvième mode de réalisation de la présente invention. a ninth embodiment of the present invention.
Sur la figure 85, les parties qui correspondent à celles de l'appareil de compression/décompression d'image qui est représenté sur la figure 84 sont désignées par les mêmes In Fig. 85, the parts corresponding to those of the image compression / decompression apparatus shown in Fig. 84 are designated by the same
caractères de référence et leur description n'est pas reference characters and their description is not
répétée. En se référant à la figure 85, on note que le neuvième mode de réalisation utilise un bus d'adresse commun AB pour les mémoires locales 56 c et 56 d Le bus d'adresse AB est connecté à l'unité de commande 25 et des repeated. Referring to FIG. 85, it will be noted that the ninth embodiment uses a common address bus AB for the local memories 56c and 56d. The address bus AB is connected to the control unit 25 and
signaux d'adresse sont émis par l'unité de commande 25. address signals are emitted by the control unit 25.
Lorsque l'étendue de la recherche de mouvement est fixée à + 32 pixels dans la prédiction de mouvement When the motion search range is set to + 32 pixels in motion prediction
bidirectionnelle, à titre de fonction deveinppée de l'appa- bidirectional, as the function of the appa-
reil de compression/décompression d'image, il devient nécessaire de transférer 1280 pixels pour 1 plan de l'image prédite Dans ce qui suit, on décrira le transfert compression / decompression image, it becomes necessary to transfer 1280 pixels for 1 plane of the predicted image In what follows, we describe the transfer
de données d'image en supposant que la recherche du mouve- image data assuming that the search for the motion
ment est effectuée sur l'étendue de + 32 pixels et qu'une is performed over the range of + 32 pixels and that
prédiction bidirectionnelle est effectuée. bidirectional prediction is performed.
On décrira tout d'abord le transfert de données dans le cas d'images pour le codage intra-interval De d'image Par exemple, lorsque des données d'image à reproduire qui sont enregistrées dans la mémoire locale 56 d sont plus récentes (apparues plus tard),en comparaison avec les données d'image pour la reproduction qui sont enregistrées dans la Data transfer will first be described in the case of images for intra-interval coding. For example, when image data to be reproduced that is stored in local memory 56d are newer ( appeared later), in comparison with the image data for reproduction that is recorded in the
mémoire locale 56 c, ou lorsque les données d'image initia- local memory 56c, or when the initial image data
les doivent être codées (les données ne sont pas enregis- they must be coded (the data are not recorded
trées dans l'une ou l'autre des mémoires locales 56 c et 56 d), le transfert de données est accompli d'une manière similaire à celle du septième mode de réalisation, en utilisant l'unité de commande 25, la mémoire tampon d'intervalle d'image 51, l'unité de traitement de pixels 34, l'unité de prédiction de mouvement 47 a, la mémoire locale 56 c, le bus de données de pixels PB et le bus de données local LDB 1 Le signal de luminance de l'image à reproduire est enregistré dans la mémoire locale 56 c pour être utilisé à titre de données dtimage de référence pour in one of the local memories 56c and 56d), the data transfer is performed in a manner similar to that of the seventh embodiment, using the control unit 25, the buffer memory image interval 51, the pixel processing unit 34, the motion prediction unit 47a, the local memory 56c, the pixel data bus PB and the local data bus LDB 1 The signal the luminance of the image to be reproduced is stored in the local memory 56c to be used as reference data for
la prédiction de mouvement A ce moment, l'unité de com- motion prediction At this point, the unity of com-
mande 25 commande l'écriture de données en sélectionnant la mémoire locale 56 c au moyen d'un signal de sélection de puce, et elle applique un signal de commande de sortie au port de sortie P 4 du côté du bus de données local LDB 1 de Mande 25 controls the writing of data by selecting the local memory 56c by means of a chip selection signal, and it applies an output control signal to the output port P 4 on the side of the local data bus LDB 1 of
l'unité de traitement de pixels 34. the pixel processing unit 34.
On va maintenant décrire le transfert de données de l'image pour la prédiction unidirectionnelle Si les données d'image de reproduction qui sont enregistrées dans la mémoire locale 56 c sont plus récentes (apparues plus tard) que les données d'image de reproduction qui sont enregistrées dans la mémoire locale 56 d, par exemple, les données d'image de reproduction qui sont enregistrées dans la mémoire locale 56 c sont utilisées à titre de données d'image de référence pour la prédiction en direction The image data transfer for unidirectional prediction will now be described. If the reproduction image data which is recorded in local memory 56c is newer (later appeared) than the reproduction image data which are stored in the local memory 56 d, for example, the reproduction image data which is stored in the local memory 56c is used as the reference image data for the direction prediction.
avant, et les données d'image dans l'étendue de la recher- before, and the image data in the scope of the search
che de prédiction de mouvement sont transférées en utili- movement prediction are transferred using
sant l'unité de prédiction de mouvement 47 a, la mémoire locale 56 c et le bus de données local LDB 1 A ce moment, seulement lorsque le signal de luminance de l'image à reproduire dans l'étendue de la recherche de prédiction de mouvement doit être transféré, l'unité de commande 25 commande l'émission des données par la sélection de la mémoire locale 56 c au moyen du signal de sélection de puce, et elle applique un signal de commande d'entrée au port d'entrée du côté du bus de données local LDB 1 de the motion prediction unit 47a, the local memory 56c and the local data bus LDB 1 At this time, only when the luminance signal of the image to be reproduced in the range of the prediction search of movement must be transferred, the control unit 25 controls the transmission of the data by the selection of the local memory 56c by means of the chip selection signal, and it applies an input control signal to the input port on the side of the local data bus LDB 1 of
l'unité de prédiction de mouvement 47 a. the motion prediction unit 47 a.
En ce qui concerne un transfert d'image autre que celui envisagé cidessus (par exemple un transfert d'image d'origine, un transfert d'image à coder pour la prédiction de mouvement, un transfert d'image pour la prédiction en avant, un transfert d'image à coder et un With regard to an image transfer other than that envisaged above (for example an original image transfer, an image transfer to be encoded for the motion prediction, an image transfer for forward prediction, an image transfer to code and a
transfert d'image à reproduire), des données sont trans- transfer of image to be reproduced), data is transmitted
férées d'une manière similaire à celle du septième mode de réalisation, en utilisant l'unité de commande 25, la in a manner similar to that of the seventh embodiment, using the control unit 25, the
mémoire tampon d'intervalle d'image 51, l'unité de traite- image interval buffer 51, the processing unit
ment de pixels 34, la mémoire locale 56 d, le bus de don- pixels 34, the local memory 56 d, the data bus
nées de pixel PB et le bus de données local LDB 2. PB and the LDB local data bus 2.
A ce moment, le volume de transfert de données sur le bus de données de pixel PD aura la valeur maximale At this time, the data transfer volume on the PD pixel data bus will have the maximum value
de 1926 pixels au moment de la prédiction bidirection- of 1926 pixels at the time of bidirectional prediction.
nelle, et le volume de transfert de données sur les bus de données locaux LDB 1 et LDB 2 aura la valeur maximale de 1280 pixels pour chaque bus Le signal de luminance de l'image à reproduire est enregistré ici dans la mémoire locale 56 d, à titre de données d'image de référence pour and the data transfer volume on the local data buses LDB 1 and LDB 2 will have the maximum value of 1280 pixels for each bus The luminance signal of the image to be reproduced is recorded here in the local memory 56 d, as reference image data for
la prédiction de mouvement A ce moment, l'unité de com- motion prediction At this point, the unity of com-
mande 25 commande l'écriture de données en sélectionnant la mémoire locale 56 d sur la base du signal de sélection de puce, seulement lorsque le signal de luminance de l'image à reproduire est transféré, et elle applique un signal de sortie au port de sortie P 5 du côté du bus de Mande 25 controls the writing of data by selecting the local memory 56 d on the basis of the chip selection signal, only when the luminance signal of the image to be reproduced is transferred, and it applies an output signal to the port of exit P 5 on the bus side of
données local LDB 2 de l'unité de traitement de pixels 34. local data LDB 2 of the pixel processing unit 34.
L'adressage de la mémoire locale 56 d est effectué ici d'une manière similaire à l'adressage de la mémoire locale 56 c. On va maintenant décrire le transfert de données de l'image pour la prédiction bidirectionnelle Lorsque les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 d sont plus récentes (apparues plus tard) que les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 c, par exemple, The addressing of the local memory 56 d is performed here in a manner similar to the addressing of the local memory 56 c. The transfer of image data for bidirectional prediction will now be described When the data of the image to be reproduced which are recorded in the local memory 56d are newer (appeared later) than the data of the image to be reproduced. reproduce that are saved in local memory 56c, for example,
les données d'image pour la reproduction qui sont enregis- the image data for reproduction which is recorded
trées dans la mémoire locale 56 sont utilisées à titre de données d'image de référence pour la prédiction en avant, et le transfert d'image dans l'étendue de la recherche de prédiction de mouvement est effectué par l'unité de prédiction de mouvement 47 a, la mémoire locale 56 c et le bus de données local LDB 1 Simultanément, l'image à reproduire qui est enregistrée dans la mémoire locale 56 b in the local memory 56 are used as reference image data for the forward prediction, and the image transfer in the motion prediction search range is performed by the motion prediction unit 47a, the local memory 56c and the local data bus LDB 1 Simultaneously, the image to be reproduced which is stored in the local memory 56b
est utilisée à titre d'image de référence pour la prédic- is used as a reference image for the prediction
tion en arrière, et le transfert d'image dans l'étendue de la recherche de prédiction de mouvement est effectué en utilisant l'unité de prédiction de mouvement 47 b, la mémoire locale 56 d et le bus de données local LDB 2 A ce moment, l'unité de commande 25 sélectionne les mémoires locales 56 c et 56 d au moyen du signal de sélection de puce, seulement lorsque le signal de luminance de l'image à reproduire dans l'étendue de la recherche de prédiction de mouvement doit être transféré, de façon que la commande de sortie de données commune soit effectuée en appliquant le même signal d'adresse, en utilisant un bus d'adresse commun AB L'unité de commande 25 applique également un signal de commande d'entrée au port d'entrée du côté des backward motion, and the image transfer in the range of the motion prediction search is performed using the motion prediction unit 47b, the local memory 56d, and the local data bus LDB 2A. moment, the control unit 25 selects the local memories 56c and 56d by means of the chip selection signal, only when the luminance signal of the image to be reproduced in the range of the motion prediction search must be transferred, so that the common data output control is performed by applying the same address signal, using a common address bus AB The control unit 25 also applies an input control signal to the port entrance on the side of
bus de données locaux LDB 1 et LDB 2 des unités de prédic- local data bus LDB 1 and LDB 2 of the prediction units
tion de mouvement respectives 47 a et 47 b. movement respectively 47a and 47b.
En ce qui concerne des transferts d'image autres que ceux envisagés cidessus (par exemple le transfert de l'image d'origine, le transfert de l'image à coder pour la prédiction de mouvement, le transfert d'image pour la With regard to image transfers other than those envisaged above (for example the transfer of the original image, the transfer of the image to be coded for the motion prediction, the image transfer for the
prédiction en avant, le transfert d'image pour la prédic- forward prediction, image transfer for the prediction
tion en arrière et le transfert d'image à coder), les données d'image sont transférées d'une manière similaire à celle du septième mode de réalisation, en utilisant l'unité de commande 25, la mémoire tampon d'intervalle d'image 51, l'unité de traitement de pixels 34 et le bus back and image transfer to be encoded), the image data is transferred in a manner similar to that of the seventh embodiment, using the control unit 25, the interval buffer of image 51, the pixel processing unit 34 and the bus
de données de pixel PB.PB pixel data.
Ainsi, l'étendue de la recherche de mouvement en avant et l'étendue de la recherche de mouvement en arrière, par rapport à un macro-bloc, qui est l'objet sur lequel porte la prédiction de mouvement, correspondent à la même étendue sur l'écran réel Par conséquent, en adressant de façon commune les mémoires locales 56 c et 56 d, il devient possible de transférer les données dans l'étendue de la recherche de prédiction de mouvement, dans Thus, the extent of the forward motion search and the extent of the backward motion search, relative to a macroblock, which is the object on which the motion prediction relates, correspond to the same extent. on the real screen Therefore, by common addressing local memories 56c and 56d, it becomes possible to transfer the data in the range of motion prediction search, in
les deux directions, en utilisant une adresse commune. both directions, using a common address.
Plus précisément, à l'exception du signal de sélection de puce des mémoires locales 56 c et 56 d, le matériel lié à la commande de mémoire et à la génération d'adresse peut être utilisé en commun par les mémoires locales 56 c et 56 d Par conséquent, en comparaison avec un exemple dans lequel des générateurs d'adresses sont incorporés pour des mémoires respectives, il est possible de réduire le volume de Specifically, with the exception of the chip selection signal of the local memories 56c and 56d, the hardware related to the memory control and the address generation can be used in common by the local memories 56c and 56 d Therefore, in comparison with an example in which address generators are incorporated for respective memories, it is possible to reduce the volume of
matériel sans augmenter le volume de transfert de données. hardware without increasing the volume of data transfer.
( 10) Dixième mode de réalisation La figure 86 est un schéma synoptique d'un appareil de compression/décompression d'image montrant un dixième mode de réalisation de la présente invention Sur la figure 86, les parties correspondant à celles de l'appareil de compression/décompression d'image qui est représenté sur la figure 85 sont désignées par les mêmes (10) Tenth Embodiment Fig. 86 is a block diagram of an image compression / decompression apparatus showing a tenth embodiment of the present invention. In Fig. 86, the parts corresponding to those of the apparatus of Figs. image compression / decompression shown in Fig. 85 are designated by the same
caractères de référence et leur description n'est pas reference characters and their description is not
répétée. En se référant à la figure 86 on note que dans le dixième mode de réalisation, l'unité de traitement de pixels 34 représentée sur la figure 85 est divisée en deux repeated. Referring to Fig. 86, it will be noted that in the tenth embodiment, the pixel processing unit 34 shown in Fig. 85 is divided into two parts.
unités de traitement de pixels 34 a et 34 b. pixel processing units 34a and 34b.
Lorsque la recherche de mouvement doit être effectuée dans l'étendue de + 32 pixels pour la prédiction de mouvement bidirectionnelle, à titre de fonction élargie de l'appareil de compression/décompression d'image, il est nécessaire de transférer 1280 pixels pour un plan d'image prédite Dans ce qui suit, on décrira le transfert de données d'image en supposant que la recherche de mouvement est effectuée dans l'étendue de + 32 pixels et qu'une When motion search is to be performed in the range of + 32 pixels for bidirectional motion prediction, as an expanded function of the image compression / decompression device, it is necessary to transfer 1280 pixels for a plane. predicted image In the following, we describe the image data transfer assuming that motion search is performed in the range of + 32 pixels and that
prédiction bidirectionnelle est effectuée. bidirectional prediction is performed.
On décrira tout d'abord le transfert de données de l'image pour le odage intra-intervalle d'Image Lorsque les nnées de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 b sont plus récentes (apparues plus tard) First of all, the image data transfer will be described for the Image Intra-Interval Imaging When the images to be reproduced which are recorded in the local memory 56b are newer (appeared later)
que les données de l'image à reproduire qui sont enregis- that the image data to be reproduced that is recorded
trées dans la mémoire locale 56 c, par exemple, ou lorsque les données d'image initiales doivent être codées (les données ne sont pas enregistrées dans l'une ou l'autre des mémoires locales 56 c ou 56 d), le transfert de données est accompli d'une manière similaire à celle du septième mode de réalisation, en utilisant l'unité de commande 26, la in the local memory 56c, for example, or when the initial image data is to be encoded (the data is not recorded in either of the local memories 56c or 56d), the transfer of data is accomplished in a manner similar to that of the seventh embodiment, using the control unit 26, the
mémoire tampon d'intervalle d'image 51, l'unité de traite- image interval buffer 51, the processing unit
ment de pixels 34, l'unité de prédiction de mouvement 47 a, la mémoire locale 56 c, le bus de données de pixel PB et le bus de données local LDB 1 Le signal de luminance de l'image à reproduire est enregistré dans la mémoire locale pixels 34, the motion prediction unit 47a, the local memory 56c, the pixel data bus PB and the local data bus LDB 1. The luminance signal of the image to be reproduced is recorded in FIG. local memory
56 c pour être utilisé à titre de données d'image de réfé- 56 c to be used as reference image data
rence pour la prédiction de mouvement A ce moment, l'unité de commande 26 commande l'écriture des données en sélectionnant la mémoire locale 56 c par un signal de For the moment, the control unit 26 controls the writing of the data by selecting the local memory 56 c by a signal of
sélection de puce, seulement lorsque le signal de lumi- chip selection, only when the light signal
nance de l'image à reproduire est transféré L'unité de commande 36 applique un signal de sortie au port de sortie P 2 a du côté du bus de données local L Dl B 1 de l'unité de The control unit 36 applies an output signal to the output port P 2a on the side of the local data bus L D1 B 1 of the control unit.
traitement de pixels 34 a.pixel processing 34 a.
On va maintenant décrire le transfert de données d'image pour la prédiction unidirectionnelle Lorsque les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 c sont plus récentes (apparues plus tard) que les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 b, par exemple, les données d'image pour la reproduction qui sont enregistrées dans la mémoire locale 56 c sont utilisées à titre de données d'image de référence pour la prédiction en avant, et le transfert d'image dans l'étendue de la recherche de prédiction de mouvement est effectué en utilisant l'unité de prédiction 47 a, la mémoire locale 56 c et le bus de données local LDB 1 A ce moment, l'unité de commande 26 commande l'émission des données en sélectionnant la mémoire locale 56 c, sur la base du signal de sélection de puce, seulement lorsque le signal de luminance de l'image à reproduire dans l'étendue de la recherche de prédiction de mouvement est transféré L'unité de commande 26 appli- que un signal de commande d'entrée au port d'entrée du côté du bus de données local LDB 1 de l'unité de prédiction The transfer of image data for unidirectional prediction will now be described When the data of the image to be reproduced which are recorded in local memory 56 c are newer (later appeared) than the data of the image to be reproduced which are stored in local memory 56b, for example, the reproduction image data which is stored in local memory 56c is used as the reference image data for forward prediction, and the transfer in the range of the motion prediction search is performed using the prediction unit 47a, the local memory 56c and the local data bus LDB 1 At this time, the control unit 26 controls the transmission of the data by selecting the local memory 56c, based on the chip selection signal, only when the luminance signal of the image to be reproduced in the scope of the prediction search d This motion is transferred. The control unit 26 applies an input control signal to the input port on the side of the local data bus LDB 1 of the prediction unit.
de mouvement 47 a.movement 47 a.
Pour un transfert d'image autre que ceux envisa- For image transfer other than those envisaged
gés ci-dessus (transfert de l'image d'origine, transfert de l'image à coder pour la prédiction de mouvement, above (transfer of the original image, transfer of the image to be encoded for the motion prediction,
transfert de l'image pour la prédiction en avant, trans- transfer of the image for forward prediction, trans-
fert de l'image à coder et transfert de l'image à repro- of the image to be encoded and transfer of the image to
duire), les données sont transférées d'une manière simi- the data are transferred in a similar way.
laire à celle du septième mode de réalisation, en utili- to that of the seventh embodiment, using
sant l'unité de commande 26, la mémoire tampon d'inter- the control unit 26, the buffer memory of
valle d'image 51, l'unité de traitement de pixels 34 b, la mémoire locale 56 d, le bus de données de pixel PB et le bus de données local LDB 2 Le signal de luminance de l'image à reproduire est enregistré dans la mémoire locale 56 d pour être utilisé à titre d'image de référence pour la prédiction de mouvement A ce moment, l'unité de commande 26 commande l'écriture des données en sélectionnant la mémoire locale 56 c sur la base du signal de sélection de puce, seulement lorsque le signal de luminance de l'image image value 51, the pixel processing unit 34b, the local memory 56d, the pixel data bus PB and the local data bus LDB 2 The luminance signal of the image to be reproduced is recorded in local memory 56 d to be used as a reference image for motion prediction At this time, control unit 26 controls the writing of data by selecting local memory 56c based on the selection signal chip, only when the luminance signal of the image
à reproduire est transféré.to reproduce is transferred.
L'unité de commande 26 applique un signal de sortie au port de sortie P 2 b du côté du bus de données The control unit 26 applies an output signal to the output port P 2b on the data bus side
* local LDB 2 de l'unité de traitement de pixels 34 b.local LDB 2 of the pixel processing unit 34 b.
L'adressage de la mémoire locale 56 b est effectué ici d'une manière similaire à l'adressage de la mémoire locale 56 c. On va maintenant décrire le transfert de données de l'image pour la prédiction bidirectionnelle Lorsque les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 b sont plus récentes (apparues plus tard) que les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 c, par exemple, les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 c sont utilisées à titre de données d'image de référence pour la prédiction en avant, et l'image dans l'étendue de la recherche de prédiction de The addressing of the local memory 56b is performed here in a manner similar to the addressing of the local memory 56c. The transfer of image data for bidirectional prediction will now be described When the image data to be reproduced that is recorded in local memory 56b are newer (later appeared) than the data of the image to be reproduced. reproducing which are stored in local memory 56c, for example, the image data to be reproduced which is stored in local memory 56c is used as reference image data for forward prediction, and image in the scope of the search for prediction of
mouvement est transférée en utilisant l'unité de prédic- movement is transferred using the prediction unit
tion de mouvement 47 a, la mémoire locale 56 c et le bus de données local LDB 1 A ce moment, les données de l'image à reproduire qui sont enregistrées dans la mémoire locale 56 d sont utilisées à titre de données d'image de référence pour la prédiction en arrière, et l'image dans l'étendue de la recherche de prédiction de mouvement est transférée en utilisant l'unité de prédiction de mouvement 47 b, la mémoire locale 56 b et le bus de données local LDB 2 A ce moment, l'unité de commande 26 sélectionne la mémoire locale 56 c ou 56 d avec le signal de sélection de puce, seulement lorsque le signal de luminance de l'image à reproduire dans l'étendue de la recherche de prédiction de mouvement est transféré, de façon que l'émission des données soit commandée en commun par l'application de la même adresse, en utilisant un bus d'adresse commun AB En 47a, the local memory 56c and the local data bus LDB 1 At this time, the data of the image to be reproduced which is recorded in the local memory 56d are used as image data. reference for the backward prediction, and the image in the range of the motion prediction search is transferred using the motion prediction unit 47b, the local memory 56b and the local data bus LDB 2A at this time, the control unit 26 selects the local memory 56c or 56d with the chip selection signal, only when the luminance signal of the image to be reproduced in the range of the motion prediction search is transferred, so that the transmission of the data is jointly controlled by the application of the same address, using a common address bus AB En
outre, l'unité de commande 26 applique un signal de com- in addition, the control unit 26 applies a signal of com-
mande d'entrée d'une partie d'entrée du côté des bus de données locaux LDB 1 et LDB 2 des unités de prédiction de input side of the input side of the local data bus LDB 1 and LDB 2 of the prediction units of
mouvement 47 a et 47 b.movement 47 a and 47 b.
En ce qui concerne un transfert d'image autre que celui décrit ci-dessus (transfert d'image d'origine-, With regard to an image transfer other than that described above (original image transfer),
transfert de l'image à coder pour la prédiction de mouve- transfer of the image to be coded for the motion prediction
ment, transfert d'image pour la prédiction en avant, Image transfer for forward prediction,
transfert d'image pour la prédiction en arrière et trans- image transfer for backward and forward prediction
fert d'image à coder), les données d'image sont transfé- image to be encoded), the image data is transferred
rées de la manière qui est représentée sur la figure 7, en utilisant l'unité de commande 26, la mémoire tampon d'intervalle d'image 51, l'unité de traitement de pixels 34 a ou 34 b et le bus de données de pixel PB A ce moment, l'image est transférée macro-bloc par macro-bloc, en utilisant alternativement deux unités de traitement de pixels 34 a et 34 b, et dans l'unité de traitement 34 a ou as shown in FIG. 7, using the control unit 26, the image interval buffer 51, the pixel processing unit 34a or 34b, and the data bus of FIG. At this moment, the image is transferred macro-block by macroblock, alternatively using two pixel processing units 34a and 34b, and in the processing unit 34a or
34 b le codage de deux macro-blocs est accompli en utili- 34 b the coding of two macroblocks is accomplished using
sant le temps correspondant au traitement de deux macro- the time corresponding to the treatment of two macro-
blocs. lorsque le codage pr&dictif inter-initervae d'image doit être effectué, le volume de traitement dans le cas de la prédiction bidirectionnelle est de façon générale très élevé Dans le mode de réalisation présent, au moment de la prédiction bidirectionnelle, les données d'image sont transférées alternativement vers deux unités de traitement de pixels 34 a et 34 b, macro-bloc par macro-bloc, de façon qu'une unité de traitement de pixels 34 a ou 34 b puisse disposer pratiquement du temps de traitement de deux macro-blocs Par conséquent, en comparaison avec le neuvième mode de réalisation, on peut augmenter le temps de fonctionnement pratique de l'unité de traitement de blocks. when the predictive coding inter-initervae image must be performed, the processing volume in the case of bidirectional prediction is generally very high In the present embodiment, at the time of the bidirectional prediction, the image data are transferred alternately to two pixel processing units 34a and 34b, macroblock by macroblock, so that a pixel processing unit 34a or 34b can have substantially two macro processing time. Therefore, in comparison with the ninth embodiment, the practical operating time of the processing unit can be increased.
pixels 34 a et 34 b pour la prédiction bidirectionnelle. pixels 34a and 34b for bidirectional prediction.
( 11) Onzième mode de réalisation La figure 87 est un schéma synoptique d'un appareil de compression/décompression d'image 111, montrant un onzième mode de réalisation de la présente invention Dans l'appareil de compression/décompression d'image qui est représenté sur la figure 87, l'unité de prédiction de mouvement 47 b qui est connectée au bus de (11) Eleventh Embodiment Fig. 87 is a block diagram of an image compression / decompression apparatus 111, showing an eleventh embodiment of the present invention in the image compression / decompression apparatus which is represented in FIG. 87, the motion prediction unit 47b which is connected to the bus of
données local LDB 2 du huitième mode de réalisation, repré- local data LDB 2 of the eighth embodiment,
senté sur la figure 84, est éliminée. 84, is eliminated.
Dans cet exemple, un transfert de données autre que le transfert de l'image d'origine de l'unité de commande 27 vers la mémoire tampon d'intervalle d'image 51 est effectué avec les données d'image d'original divisées en composante de luminance et en composante de différence In this example, a data transfer other than the transfer of the original image from the control unit 27 to the image interval buffer 51 is performed with the original image data divided into luminance component and difference component
de couleurs, de la manière suivante. of colors, as follows.
En ce qui concerne la composante de luminance, pour l'image destinée au codage intra-intervale d'image, l'image à coder est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 35. L'image à reproduire est transférée de la mémoire tampon With regard to the luminance component, for the image intended for intra-interval image coding, the image to be encoded is transferred from the image interval buffer 51 to the pixel processing unit 35. The image to be reproduced is transferred from the buffer
d'intervalle d'image 51 vers la mémoire locale 56 a. interval of image 51 to local memory 56 a.
Pour l'image destinée au codage prédictif unidirectionnel, du côté de la prédiction de mouvement, les données d'image dans l'étendue de la recherche de mouvement sont transférées de la mémoire locale 56 a vers l'unité de prédiction de mouvement 47, et les données d'image à coder sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de commande 27 Du For the image intended for unidirectional predictive coding, on the motion prediction side, the image data in the motion search range is transferred from the local memory 56a to the motion prediction unit 47, and the image data to be encoded is transferred from the image interval buffer 51 to the control unit 27.
côté du codage, les données d'image prédites sont transfé- coding side, the predicted image data is transferred
rées de la mémoire tampon 51 vers l'unité de traitement de pixels 35, et les données d'image à coder sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité from the buffer 51 to the pixel processing unit 35, and the image data to be encoded is transferred from the image interval buffer 51 to the unit
de traitement de pixels 35 Les données d'image à repro- Pixel processing 35 The reproduction image data is
duire sont transférées vers la mémoire tampon d'intervalle are transferred to the interval buffer
d'image 51 et la mémoire locale 56 a. image 51 and local memory 56 a.
En ce qui l'image pour le codage prédictif bidirectionnel, du côté de la prédiction de mouvement, les In the image for bidirectional predictive coding, on the motion prediction side,
données d'image dans l'étendue de la recherche de mouve- image data in the scope of motion research
ment de deux intervalles d'image sont transférées de la mémoire locale 56 a vers l'unité de prédiction de mouvement 47, et les données d'image à coder sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de prédiction 47 par l'intermédiaire de l'unité de commande 27 Du côté du codage, deux intervalles de données d'image prédits sont transférés de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 35, et l'image à coder est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de two image intervals are transferred from the local memory 56a to the motion prediction unit 47, and the image data to be encoded is transferred from the image interval buffer 51 to the unit. prediction 47 through the control unit 27 On the coding side, two predicted image data intervals are transferred from the image interval buffer 51 to the pixel processing unit 35, and the image to be encoded is transferred from the image interval buffer 51 to the image processing unit 51.
pixels 35.pixels 35.
En ce qui concerne la composante de différence de couleur,pour l'image detinée au codage intra-interva Uie d'image, les données d'image à coder sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 35 Les données d'image à reproduire sont trans- With regard to the color difference component, for the image that is mapped to the intra-image coding Uie, the image data to be encoded is transferred from the image interval buffer 51 to the unit. The image data to be reproduced is trans-
férées vers la mémoire locale 56 e. to local memory 56 e.
En ce qui concerne l'image pour le codage prédictif unidirectionnel, les données d'image à coder sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 35, et les données d'image prédites sont transférées de la mémoire locale 56 e vers l'unité de traitement de pixels 35 Les données d'image à reproduire sont transférées vers la mémoire With respect to the image for unidirectional predictive coding, the image data to be encoded is transferred from the image interval buffer 51 to the pixel processing unit 35, and the predicted image data are transferred from the local memory 56 e to the pixel processing unit 35 The image data to be reproduced are transferred to the memory
locale 56 e.local 56 e.
En quiconcernel'imagepourle codage prédictif bidirectionnel, le signal de différence de couleur de l'image à coder est transféré de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 35, et deux intervalles de données d'image prédits sont transférés de la mémoire locale 56 e vers l'unité de In the case of bidirectional predictive coding, the color difference signal of the image to be encoded is transferred from the image interval buffer 51 to the pixel processing unit 35, and two data intervals of predicted images are transferred from 56 th local memory to the unit of
traitement de pixels 35 Lesestizmations du volume de trans- pixel processing 35 Lesestizmations of the volume of trans-
fert d'image de bus de données respectifs en prédiction bidirectionnelle, dans laquelle le volume de transfert de données devient le maximum, sont les suivantes pour l'image de format 4:4:4 ayant une composante de différence respective data bus image in bidirectional prediction, in which the data transfer volume becomes the maximum, are as follows for the 4: 4: 4 format image having a difference component
de couleur concordante.concordant color.
Dans l'appareil de compression/décompression d'image du sixième mode de réalisation, représenté sur la In the image compression / decompression apparatus of the sixth embodiment, shown in FIG.
figure 8, le volume de transfert de données qui est trans- figure 8, the volume of data transfer that is trans-
féré sur le bus de données de pixel PD pour le format checked on the PD pixel data bus for the format
mentionné ci-dessus est au total de 4806 pixels. mentioned above is a total of 4806 pixels.
Cependant, dans l'appareil de compression/ décompression d'image du onzième mode de réalisation qui est représenté sur la figure 87, pour le format 4:4:4 mentionné ci-dessus, 768 pixels de données d'image d'origine, 578 pixels de la composante de luminance de deux intervalles de données d'image préditeset 768 pixels pour les données d'image à coder, sont transférés sur le bus de données de pixel PD, et par conséquent le volume total de transfert de données est réduit à 2114 pixels seulement. Sur le bus de données local LDB 1, lorsque l'étendue de recherche de mouvement est de + 16 pixels, le volume sera de 768 pixels pour un plan de données d'image prédites, et par conséquent le volume de transfert de données sera de 1536 pixels pour les deux plans de données However, in the image compression / decompression apparatus of the eleventh embodiment shown in Fig. 87, for the 4: 4: 4 format mentioned above, 768 pixels of original image data, 578 pixels of the luminance component of two predicted image data intervals and 768 pixels for the image data to be encoded are transferred onto the PD pixel data bus, and therefore the total data transfer volume is reduced. at 2114 pixels only. On the LDB local data bus 1, when the motion search range is +16 pixels, the volume will be 768 pixels for a predicted image data plane, and therefore the data transfer volume will be 1536 pixels for both data plans
d'image prédites.predicted images.
Sur le bus local LB 5, seulement 578 pixels de composante de luminance des données d'image prédites de On the local bus LB 5, only 578 pixels of luminance component of the predicted image data of
deux plans sont transférés pour les composantes de diffé- two plans are transferred for the components of
rence de couleur respectives Cb et Cr, et par conséquent le volume de transfert de données est au total de 1156 pixels. En codant séparément des composantes respectives des données d'image et en prévoyant un bus supplémentaire LB 5 pour les composantes de différence de couleur, on peut réduire le volume de transfert de données sur le bus de données de pixel PB En outre, du fait que c'est une moyenne du volume de transfert de données pour des bus de données respectifs qui intervient, le volume de données respectively Cb and Cr, and therefore the data transfer volume is a total of 1156 pixels. By separately encoding respective components of the image data and providing an additional bus LB for the color difference components, the data transfer volume on the pixel data bus PB can be reduced. it is an average of the volume of data transfer for respective data buses that intervenes, the volume of data
que transfère un bus de données est réduit Par consé- transfer of a data bus is reduced.
quent, en comparaison avec le sixième mode de réalisation représenté sur la figure 8, la vitesse de transfert de données est améliorée dans un rapport qui est pratiquement compared to the sixth embodiment shown in FIG. 8, the data transfer rate is improved in a ratio which is substantially
de 2,2 fois, et il en résulte qu'il est possible d'augmen- 2.2 times, and as a result it is possible to increase
ter la vitesse de traitement dans l'appareil de compres- the processing speed in the compres-
sion/décompression d'image.image decompression / decompression.
( 12) Douzième mode de réalisation La figure 88 est un schéma synoptique d'un appareil de compression/décompression d'image 112 montrant (12) Twelfth Embodiment Fig. 88 is a block diagram of an image compression / decompression apparatus 112 showing
un douzième mode de réalisation de la présente invention. a twelfth embodiment of the present invention.
Le douzième mode de réalisation qui est représenté sur la figure 88 est obtenu en divisant l'unité de traitement de pixels 35 du onzième mode de réalisation représenté sur la figure 87, en deux unités de traitement de pixels 35 a et The twelfth embodiment shown in Fig. 88 is obtained by dividing the pixel processing unit 35 of the eleventh embodiment shown in Fig. 87 into two pixel processing units 35a.
b, auxquelles sont respectivement attribués le traite- b, to which the
ment de la composante de luminance et le traitement de la of the luminance component and the processing of the
composante de différence de couleur. color difference component.
Par conséquent, dans le douzième mode de réali- Therefore, in the twelfth mode of
sation, le traitement est accompli pour des composantes respectives par les unités de traitement de pixels 35 a et b, le volume de traitement dans une unité de traitement de pixels peut être réduit et il en résulte que l'on peut améliorer la vitesse de traitement dans l'appareil de In this case, processing is performed for respective components by the pixel processing units a and b, the processing volume in a pixel processing unit can be reduced, and the result is that the processing speed can be improved. in the apparatus of
compression/décompression d'image.compression / decompression of image.
( 13) Treizième mode de réalisation La figure 89 est un schéma synoptique d'un appareil de compression/décompression d'image 113, montrant un treizième mode de réalisation de la présente invention En plus des structures des onzième et douzième modes de réalisation, le treizième mode de réalisation comprend une structure qui peut accepter le développement (13) Thirteenth Embodiment Fig. 89 is a block diagram of an image compression / decompression apparatus 113, showing a thirteenth embodiment of the present invention. In addition to the structures of the eleventh and twelfth embodiments, the thirteenth embodiment includes a structure that can accept the development
de l'étendue de la recherche de mouvement Plus précisé- of the extent of movement search More precise-
ment, la composante de luminance nécessaire minimale est extraite séparément par un ensemble d'unités de traitement de pixels 36 a et 36 b,à partir des données d'image qui sont transférées depuis la mémoire tampon d'intervalle d'image 51, à titre de données de référence pour la the minimum required luminance component is extracted separately by a set of pixel processing units 36a and 36b from the image data which is transferred from the image interval buffer 51 to reference data for the
prédiction de mouvement Les données extraites sont enre- motion prediction The extracted data are recorded
gistrées dans des mémoires locales 56 a et 56 b par l'inter- registered in local memories 56a and 56b through
médiaire de bus de données locaux respectifs LDB 1 et LDB 2. local data bus LDB 1 and LDB 2.
D'autre part, l'unité de traitement de pixel 35 b extrait une composante de différence de couleur, qui n'est pas utilisée pour la prédiction de mouvement, à partir des données d'image qui sont transférées depuis la mémoire On the other hand, the pixel processing unit 35b extracts a color difference component, which is not used for motion prediction, from the image data that is transferred from the memory
tampon d'intervalle d'image 51 La composante de diffé- image interval buffer 51 The difference component
rence de couleur qui est extraite est enregistrée dans la The color difference that is extracted is recorded in the
mémoire locale 56 e par l'intermédiaire du bus local LB 5. Local memory 56 th via the local bus LB 5.
Dans la structure décrite ci-dessus, le volume de trans- In the structure described above, the volume of trans-
fert de données sur le bus de données de pixel PB serait de 768 pixels de données d'image d'origine, 578 pixels de composante de luminance des deux plans des données d'image Data inference on the PB pixel data bus would be 768 pixels of original image data, 578 pixels of luminance component of the two planes of image data
prédites et 768 pixels de données d'image à coder, c'est- predicted and 768 pixels of image data to be encoded, that is,
à-dire un total de 2114 pixels.ie a total of 2114 pixels.
Si l'étendue de la recherche de mouvement est de + 32 pixels, des données correspondant à 1280 pixels sont transférées sur chacun des bus de données locaux LDB 1 et If the extent of the motion search is + 32 pixels, data corresponding to 1280 pixels are transferred to each of the local data buses LDB 1 and
LDB 2.LDB 2.
En outre, 578 pixels de composante de luminance In addition, 578 pixels of luminance component
des deux plans des données d'image prédites sont trans- both planes of the predicted image data are trans-
férés pour les composantes de différence de couleur respectives Cb et Cr, sur le bus de données local LB 5, et par conséquent des données représentant un total de 1156 for the respective color difference components Cb and Cr, on the local data bus LB 5, and therefore data representing a total of 1156
pixels sont transférées.pixels are transferred.
Avec la structure décrite ci-dessus, lorsque l'étendue de la recherche de mouvement est augmentée et le format 4:4:4 est sélectionné pour le format d'image à With the structure described above, when the range of motion search is increased and the 4: 4: 4 format is selected for the image format to
manipuler, il est possible de réduire le volume de trans- manipulate, it is possible to reduce the volume of trans-
fert de données sur le bus de données de pixel PB, et le volume de transfert de données peut effectivement être data on the PB pixel data bus, and the volume of data transfer can actually be
divisé par les bus respectifs.divided by the respective buses.
( 14) Quatorzième mode de réalisation La figure 90 est un schéma synoptique d'un appareil de compression/décompression d'image 114 montrant (14) Fourteenth Embodiment Fig. 90 is a block diagram of an image compression / decompression apparatus 114 showing
un quatorzième mode de réalisation de la présente inven- a fourteenth embodiment of the present invention;
tion Dans le quatorzième mode de réalisation, un amplifi- In the fourteenth embodiment, an amplification
cateur-séparateur à trois états bidirectionnel, 800, à 32 bits, est ajouté pour connecter le bus de données de pixel PB et le bus de données local LDB On peut utiliser l'unité de traitement de pixels 37 qui ne comporte pas le second port de sortie de données connecté au bus de 800-bit, 32-bit, two-way, three-state divider-divider is added to connect the pixel data bus PB and the local data bus LDB. The pixel processing unit 37 which does not include the second port can be used. data output connected to the bus of
données local LDB, comme représenté sur la figure 90. local data LDB, as shown in FIG.
L'unité de commande 29 commande également les opérations de l'amplificateur-séparateur à trois états bidirectionnel 80, de l'unité de prédiction de mouvement 47 et de la mémoire locale 56 Les données d'image de référence pour The control unit 29 also controls the operations of bidirectional tri-state amplifier 80, motion prediction unit 47 and local memory 56.
la prédiction de mouvement sont transférées par l'intermé- motion prediction are transferred through the
diaire du bus de données local LDB Les conditions tempo- the local LDB data bus.
relles de transfert à ce moment sont également commandées par l'unité de commande 21 L'amplificateur-séparateur à trois états bidirectionnel 80 est capable d'effectuer At this point, the transfer units 21 are also controlled by the control unit 21. The bidirectional tri-state amplifier 80 is capable of performing
simultanément la lecture de données et l'émission de don- simultaneously reading data and issuing data.
nées qui ont été enregistrées, en synchronisme avec un which have been recorded, in synchronism with a
signal d'horloge qui provient de l'unité de commande 29. clock signal from the control unit 29.
En se référant à la figure 90, on décrira le transfert de données d'image dans le codage d'image et le volume de transfert de données d'image dans le traitement d'un macro-bloc de données d'image On suppose que les données d'image à coder ont déjà été enregistrées dans la Referring to Fig. 90, the image data transfer in image coding and image data transfer volume in the processing of a macro image data block will be described. the image data to be encoded have already been recorded in the
mémoire tampon d'intervalle d'image 51, et que la compo- image interval buffer 51, and the component
sante de luminance de l'image de référence (image à the luminance of the reference image (image
reproduire) qui est nécessaire pour la détection de mouve- reproduce) which is necessary for the detection of movement
ment a également déjà été enregistrée dans la mémoire has already been stored in memory
locale 56 On calcule le volume de transfert en considé- Local 56 The transfer volume is calculated based on
rant que le format d'image est 4:2:0, que l'étendue de that the aspect ratio is 4: 2: 0, that the range of
détection de mouvement est de + 16 pixels et que la struc- motion detection is +16 pixels and that the structure
ture est la structure d'intervalle d'image. ture is the image interval structure.
En premier lieu, les données d'image d'origine sont transférées de l'unité de commande 21 vers la mémoire tampon d'intervalle d'image 51 par l'intermédiaire du bus de données de pixel PB A ce moment, le volume de données First, the original image data is transferred from the control unit 21 to the image interval buffer 51 via the pixel data bus PB. data
d'image qui sont transférées est de 384 pixels. image that are transferred is 384 pixels.
Ensuite, la composante de luminance de l'image pour la prédiction de mouvement est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de commande 29 par l'intermédiaire du bus de données de pixel PB et ensuite vers l'unité de prédiction de mouvement 47 par l'intermédiaire d'un bus local dédié LB 4, pour la Then, the luminance component of the image for the motion prediction is transferred from the image interval buffer 51 to the control unit 29 via the pixel data bus PB and then to the control unit. motion prediction unit 47 via a dedicated local bus LB 4, for the
prédiction de mouvement A ce moment, le volume des don- prediction of motion At this time, the volume of
nées d'image qui sont transférées est de 256 pixels. Lorsque la prédiction de mouvement est accomplie et la prédictioniter-inbrva Ule d'image dait être effectuée sur la base du mode de codage déterminé utilisant le résultat, l'image prédite (image à reproduire) est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixel 37 par l'intermédiaire du bus de données de pixel PB pour le codage A ce moment, le volume des données d'image qui sont transférées est de 451 pixels pour un plan de l'image prédite Par conséquent, on doit The number of images that are transferred is 256 pixels. When the motion prediction is completed and the prediction-inbrva Ule of image has to be performed on the basis of the determined encoding mode using the result, the predicted image (image to be reproduced) is transferred from the buffer memory. Fig. 51 to the pixel processing unit 37 via the pixel data bus PB for coding At this time, the volume of the image data that is transferred is 451 pixels for one plane of the predicted image Therefore, one has to
transférer 902 pixels de données au moment de la prédic- transfer 902 pixels of data at the time of the prediction
tion bidirectionnelle.bidirectional.
Ensuite, l'image à coder est transférée de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 37 par l'intermédiaire du bus de données de pixel PB A ce moment, le volume des données Then, the image to be encoded is transferred from the image interval buffer 51 to the pixel processing unit 37 via the pixel data bus PB. At this time, the data volume
d'image qui sont transférées est de 384 pixels. image that are transferred is 384 pixels.
En parallèle avec les quatre processus de transfert de données d'image précités, la composante de In parallel with the four aforementioned image data transfer processes, the component of
luminance de l'image dans l'étendue de recherche de mouve- luminance of the image in the motion search range.
ment est transférée de la mémoire locale 56 vers l'unité de prédiction de mouvement 47 par l'intermédiaire du bus de données local LDB pour la prédiction de mouvement A ce moment, le volume des données d'image qui sont transférées It is transferred from the local memory 56 to the motion prediction unit 47 via the local data bus LDB for the motion prediction. At this time, the volume of the image data that is transferred
est de 768 pixels pour un plan de l'image de référence. is 768 pixels for a plane of the reference image.
Par conséquent, au moment de la prédiction bidirection- Therefore, at the time of bidirectional prediction,
nelle, il est nécessaire de transférer 1536 pixels de it is necessary to transfer 1536 pixels of
données pour les deux plans.data for both plans.
Après la fin du codage, en ce qui concerne l'image pour le codage intraintervalle d' image et l'image pour la prédiction unidirectionnelle, les données de l'image à reproduire sont transférées de l'unité de traitement de pixels 37 vers la mémoire tampon d'intervalle d'image 51 After the end of the coding, with regard to the image for the intraintervalle image coding and the image for the unidirectional prediction, the data of the image to be reproduced is transferred from the pixel processing unit 37 to the image interval buffer 51
par l'intermédiaire du bus de données de pixel PB Simul- via the PB Simul-
tanément, les données de l'image à reproduire sont trans- at the same time, the data of the image to be reproduced are trans-
férées vers l'amplificateur-séparateur à trois états bidirectionnel 80 En outre, l'image à reproduire est transférée de l'amplificateur- séparateur à trois états In addition, the image to be reproduced is transferred from the tri-state separator amplifier.
bidirectionnel 80 vers la mémoire locale 56 par l'intermé- bidirectional 80 to local memory 56 via
diaire du bus de données local LDB avec un retard d'un cycle du système L'unité de commande 29 commande le transfert de données vers la mémoire locale 56 par l'intermédiaire de l'amplificateur-séparateur à trois états bidirectionnel 80 seulement lorsque la composante de The control unit 29 controls the transfer of data to the local memory 56 through the bidirectional tri-state amplifier 80 only when the local data bus LDB is delayed by one cycle of the system. component of
luminance de l'image à reproduire est en cours de trans- luminance of the image to be reproduced is being trans-
fert A ce moment, le volume des données d'image qui sont transférées est de 384 pixels sur le bus de données de At this time, the volume of image data that is transferred is 384 pixels on the data bus of
pixel PB et de 256 pixels sur le bus de données local LDB. PB pixel and 256 pixels on the LDB local data bus.
Comme décrit ci-dessus, du fait que l'unité de commande 29 comprend une unité de commande de système (non représentée) qui commande le transfert de données vers la As described above, since the control unit 29 comprises a system control unit (not shown) which controls the transfer of data to the
mémoire locale 56 par l'intermédiaire de l'amplificateur- local memory 56 via the amplifier-
séparateur à trois états bidirectionnel 80, seulement lorsque la composante de luminance de l'image à reproduire est en cours de transfert, il devient inutile que l'unité de traitement de pixels 37 comporte un second port de sortie de données qui est directement connecté au bus de données local LDB, et les bus peuvent être divisés d'une manière similaire à celle du septième mode de réalisation représenté sur la figure 83, ce qui permet le traitement bidirectional three-state separator 80, only when the luminance component of the image to be reproduced is being transferred, it becomes unnecessary for the pixel processing unit 37 to include a second data output port which is directly connected to the LDB local data bus, and the buses can be divided in a manner similar to that of the seventh embodiment shown in Figure 83, which allows the processing
en parallèle du transfert de données. in parallel with the data transfer.
A ce moment, le volume de transfert de données At this moment, the volume of data transfer
équivaut à celui du septième mode de réalisation repré- equivalent to that of the seventh embodiment
senté sur la figure 83, et il devient le maximum au moment de la prédiction bidirectionnelle Plus précisément, 1926 pixels de données sont transférés sur le bus de données de pixel PB et 1536 pixels de données sont transférés sur le bus de données local LDB Par conséquent, en divisant les 83, and it becomes the maximum at the time of the bidirectional prediction. More precisely, 1926 pixels of data are transferred on the pixel data bus PB and 1536 pixels of data are transferred on the local data bus LDB. , by dividing the
bus, on peut réduire le volume des données qui sont trans- bus, we can reduce the volume of data that is trans-
férées sur un seul bus, on peut améliorer notablement la vitesse de transfert de données, et on peut améliorer la vitesse de traitement dans l'appareil de compression/ on a single bus, the speed of data transfer can be significantly improved, and the processing speed in the compression apparatus can be improved /
décompression d'image.image decompression.
( 15) Quinzième mode de réalisation La figure 91 est un schéma synoptique d'un appareil de compression/décompression d'image 115, montrant un quinzième mode de réalisation de la présente (15) Fifteenth Embodiment Fig. 91 is a block diagram of an image compression / decompression apparatus 115, showing a fifteenth embodiment of the present invention.
invention Le quinzième mode de réalisation a une struc- The fifteenth embodiment has a structure
ture dans laquelle des données de train de bits sont introduites/émises par l'intermédiaire d'une mémoire tampon 6 et d'un appareil de communication externe 94 Les données de train de bits qui sont obtenues par codage de données d'image au moyen d'un processeur à longueur variable (non représenté) qui est inclus dans l'unité de wherein bitstream data is input / output via a buffer memory 6 and an external communication apparatus 94 The bitstream data which is obtained by encoding image data by means of a variable length processor (not shown) which is included in the unit of
commande 23, et des données de plage/niveau sont temporai- command 23, and range / level data is temporally
rement enregistrées dans la mémoire tampon 6 Par consé- stored in the buffer memory 6
quent, il est possible de transférer seulement les données de train de bits sans passer par l'ordinateur hôte 93, ce it is possible to transfer only bit stream data without passing through the host computer 93, which
qui permet d'améliorer la vitesse de transfert. which improves the transfer speed.
Plus précisément, l'ordinateur hôte 93 est fortement chargé du fait que de nombreux processus divers tels que la commande d'instruction, en plus du processus de transfert de données, ont lieu dans l'ordinateur hôte 93 Avec l'appareil de communication 94 à l'extérieur de l'appareil de compression/décompression d'image 215, on Specifically, the host computer 93 is heavily loaded because many diverse processes such as command control, in addition to the data transfer process, take place in the host computer 93 With the communication apparatus 94 outside the image compression / decompression apparatus 215,
peut transférer des données vers l'appareil de communica- can transfer data to the communica-
tion 94 à partir de la mémoire tampon 6 sans passer par l'ordinateur hôte 63, et par conséquent on peut transférer des données avec une vitesse élevée, indépendamment de la 94 from the buffer 6 without passing through the host computer 63, and therefore data can be transferred at a high speed, independently of the
charge de l'ordinateur hôte 93.load of the host computer 93.
2 Unité de commande ( 1) Unité de commande 21 (premier exemple) La figure 9 est un schéma synoptique montrant un exemple d'une unité de commande L'unité de commande 21 qui est représentée sur la figure 9 est applicable à l'unité de commande 2 qui est représentée sur les figures 2 Control unit (1) Control unit 21 (first example) Fig. 9 is a block diagram showing an example of a control unit The control unit 21 which is shown in Fig. 9 is applicable to the unit 2 which is shown in the figures
1, 5, 6, 7 et 8.1, 5, 6, 7 and 8.
En se référant à la figure 9, on note que l'unité de commande 21 comprend un processeur 11 pour la commande d'ensemble, comprenant la commande du traitement pipeline, un processeur 12 pour le codage et le décodage à longueur variable, une unité de commande 13 pour une unité Referring to FIG. 9, it is noted that the control unit 21 comprises a processor 11 for the overall control, comprising the control of the pipeline processing, a processor 12 for coding and variable length decoding, a unit order 13 for one unit
de prédiction de mouvement (par exemple l'unité de prédic- motion prediction (eg the prediction unit
tion 41 qui est représentée sur la figure 1), une unité de conversion de format d'image 14 pour convertir le format d'image, une unité de commande de transfert de données d'image 15, une unité de transfert d'instruction 16 pour une unité de traitement de pixels (par exemple l'unité 3 qui est représentée sur la figure 1), un port principal 17 connecté à un bus d'hôte (bus HB représenté sur la figure 1), un port de mémoire vive vidéo (VRAM) 19 connecté à un bus d'entrée/sortie (bus IOB représenté sur la figure 1), et un port de données de code 20 connecté à un bus de données de code (bus de code CB représenté sur la figure 41 which is shown in FIG. 1), an image format conversion unit 14 for converting the image format, an image data transfer control unit 15, an instruction transfer unit 16 for a pixel processing unit (e.g. unit 3 shown in Fig. 1), a main port 17 connected to a host bus (bus HB shown in Fig. 1), a video RAM port (VRAM) 19 connected to an input / output bus (IOB bus shown in FIG. 1), and a code data port 20 connected to a code data bus (code bus CB shown in FIG.
1).1).
Sur la figure 9, de façon générale, le symbole de référence "DT" désigne un signal de données, "ADR" désigne un signal d'adresse et "Sc" désigne un signal de commande. Les unités respectives 12 à 16 sont connectées In Fig. 9, generally, the reference symbol "DT" designates a data signal, "ADR" designates an address signal, and "Sc" designates a control signal. The respective units 12 to 16 are connected
au processeur de commande d'ensemble Il par l'intermé- to the overall control processor Il through
diaire de bus et elles reçoivent des instructions qui proviennent du processeur de commande d'ensemble 11 Les bus and receive instructions from the overall control processor.
unités 12 à 16 effectuent un traitement de façon mutuelle- units 12 to 16 perform a treatment in a mutually
ment indépendante, conformément à l'instruction appliquée. independently, in accordance with the instruction applied.
L'unité de commande 13, l'unité de conversion de format 14 et l'unité de commande de transfert de données d'image 15 sont connectées à des bus pour des données de pixel, et le transfert de données de pixel est effectué sous la commande de l'unité de commande de transfert de The control unit 13, the format conversion unit 14 and the image data transfer control unit 15 are connected to buses for pixel data, and the pixel data transfer is performed under the control of the transfer control unit of
données d'image 15.image data 15.
Le port principal 17 est connecté au processeur de commande d'ensemble 11 et au processeur à longueur variable 12 Lorsque des données sont transférées entre le The main port 17 is connected to the set control processor 11 and the variable length processor 12 When data is transferred between the
processeur d'ensemble 11, le processeur à longueur varia- processor 11, the variable length processor
ble 12, la mémoire tampon 6 et la mémoire de travail 7 représentés sur la figure 1, les données sont transférées 12, the buffer memory 6 and the working memory 7 shown in FIG. 1, the data are transferred
par l'intermédiaire du port principal 17. through the main port 17.
Le port de données d'image 18 est connecté à l'unité de commande de transfert de données d'image 15 Le The image data port 18 is connected to the image data transfer control unit 15.
transfert de données entre l'unité de commande de trans- transfer of data between the transmission control unit
fert de données 15 et la mémoire tampon d'intervalle d'image 51 qui sont représentées sur la figure 1 est effectué par l'intermédiaire du port de données d'image data feed 15 and the image slot buffer 51 shown in Fig. 1 is performed through the image data port
18 Lorsque la destination de la mémoire tampon d'inter- 18 When the destination of the inter-
valle d'image 15 est l'unité de prédiction de mouvement 41 ou l'unité de traitement de pixel 3, le port de données d'image 18 fournit un signal de commande qui indique si image level 15 is the motion prediction unit 41 or the pixel processing unit 3, the image data port 18 provides a control signal which indicates whether
les données sont valides ou non.the data is valid or not.
Le port VRAM 19 est connecté à l'unité de conversion de format d'image 14 Le transfert de données entre l'unité de conversion de format d'image 14 et la mémoire d'entrée/sortie 81 qui sont représentées sur la The VRAM port 19 is connected to the picture format conversion unit 14 The data transfer between the picture format conversion unit 14 and the input / output memory 81 which are represented on the picture.
figure 1 est accompli par l'intermédiaire du port VRAM 19. Figure 1 is accomplished through the port VRAM 19.
On décrira le processus de compression d'image en se référant aux figures 1 et 9 On suppose que des données d'image à comprimer ont été enregistrées dans la mémoire tampon d'intervalle d'image 51 qui est représentée The image compression process will be described with reference to FIGS. 1 and 9. It is assumed that image data to be compressed has been recorded in the image interval buffer 51 which is shown
sur la figure 1 En premier lieu, le processeur de com- in Figure 1 In the first place, the communication processor
mande d'ensemble 11 transfère des données d'image de la mémoire tampon d'intervalle d'image 51 vers l'unité de conversion de format d'image 14, en appliquant une instruction de transfert de données d'image à l'unité de commande de transfert de données d'image 15 Le processeur de commande d'ensemble 11 est informé de la fin du trans- fert de données par l'unité de commande de transfert de Set-up 11 transfers image data from the image slot buffer 51 to the image format conversion unit 14, applying an image data transfer instruction to the unit. The overall control processor 11 is informed of the end of the data transfer by the transfer control unit of the data transfer control unit.
données d'image 15.image data 15.
Ensuite, le processeur de commande d'ensemble 11 applique une instruction de conversion de format d'image à l'unité de conversion de format d'image 14 L'unité de conversion de format d'image 14 effectue des opérations pour convertir le format de l'image Plus précisément, un sous-échantillonnage de signaux de différence de couleur et une conversion faisant passer du format RGB au format YUV sont effectués dans l'unité de conversion de format d'image 14 La fin du transfert de données est signalée au Then, the set control processor 11 applies an image format conversion instruction to the image format conversion unit 14 The image format conversion unit 14 performs operations to convert the format More precisely, a subsampling of color difference signals and a conversion from RGB to YUV format are performed in the image format conversion unit 14 The end of the data transfer is signaled the
processeur de commande d'ensemble 11 par l'unité de com- overall control processor 11 by the communication unit
mande de transfert de données d'image 15. image data transfer command 15.
Dans le but d'accomplir des traitements pour la prédiction de mouvement et la détermination du mode de codage, le processeur de commande d'ensemble 11 transfère des données d'image pour la prédiction de mouvement de la mémoire tampon d'intervalle d'image 51 vers l'unité de commande de prédiction 13 Ce transfert de données est accompli en appliquant une instruction de transfert de données d'image à l'unité de commande de transfert de données d'image 15, à partir du processeur de commande d'ensemble 11 Le processeur de commande d'ensemble 11 est informé de la fin du transfert de données par l'unité de In order to perform processing for motion prediction and coding mode determination, the set control processor 11 transfers image data for the motion interval buffer frame motion prediction. 51 to the prediction control unit 13 This data transfer is accomplished by applying an image data transfer instruction to the image data transfer control unit 15, from the control processor of the 11 The set control processor 11 is informed of the end of the data transfer by the control unit.
commande de transfert de données d'image 15. image data transfer control 15.
Le processeur de commande d'ensemble 11 applique une instruction de souséchantillonnage de données à l'unité de commande de prédiction de mouvement 13, lorsque c'est nécessaire, grâce à quoi l'unité de commande de prédiction de mouvement 13 effectue un sous-échantillonnage des données d'image qui font l'objet de la prédiction de mouvement Le processeur de commande d'ensemble 11 est informé de la fin du sous- échantillonnage des données par The set control processor 11 applies a data downsampling instruction to the motion prediction control unit 13 when necessary, whereby the motion prediction control unit 13 performs a sub-sampling operation. sampling the image data that is the subject of the motion prediction The overall control processor 11 is informed of the end of the subsampling of the data by
l'unité de commande 13.the control unit 13.
Ensuite, le processeur de commande d'ensemble 11 applique une instruction d'opération d'évaluation de mode pour le codage intoea- interva Ie d'image à l'unité de commande de Then, the set control processor 11 applies a mode evaluation operation instruction for the image intoe-interva Ie coding to the control unit of the controller.
prédiction de mouvement 13 L'unité de commande 13 effec- prediction of movement 13 The control unit 13 performs
tue une opération pour des valeurs évaluées dans le mode de codage intra-intervalle d'image sur les données qui fot l'objet de kills an operation for values evaluated in the image intra-interval coding mode on the data that fetched the object of
la prédiction de mouvement (données qui ont été sous- motion prediction (data that has been sub-
échantillonnées en fonction des besoins) Le processus de commande d'ensemble 11 est informé de la fin de cette sampled according to need) The overall ordering process 11 is informed of the end of this
opération par l'unité de commande 13. operation by the control unit 13.
En outre, le processeur de commande d'ensemble 11 applique une instruction de transfert de données à l'unité de commande de transfert de données d'image 15, et l'unité de commande de transfert de données d'image 15 transfère vers l'unité de prédiction de mouvement 41 des données d'image dans la zone de recherche de mouvement, à partir de la mémoire tampon d'intervalle d'image 51 Le processeur de commande d'ensemble 11 est informé de la fin Further, the set control processor 11 applies a data transfer instruction to the image data transfer control unit 15, and the image data transfer control unit 15 transfers to the image data transfer control unit 15, and the image data transfer control unit 15 transfers to the image data transfer control unit 15. motion prediction unit 41 of the image data in the motion search area, from the image interval buffer 51 The overall control processor 11 is informed of the end
du transfert de données par l'unité de commande de trans- data transfer by the transmission control unit.
fert de données d'image 15.image data 15.
Ensuite, le processeur de commande d'ensemble 11 applique une instruction de transfert de données pour la prédiction de mouvement à l'unité de commande 13 de l'unité de prédiction de mouvement, et l'unité de commande Then, the set control processor 11 applies a data transfer instruction for the motion prediction to the control unit 13 of the motion prediction unit, and the control unit
13 transfère les données à détecter (données sous-échan- 13 transfers the data to be detected (under-
tillonnées en fonction des besoins) vers l'unité de prédiction de mouvement 41 Le processeur de commande d'ensemble est informé de la fin du transfert de données par l'unité de commande de transfert de données d'image 15. Après que les données d'image pour la recherche et les données d'image pour la prédiction de mouvement ont été transférées, l'unité de prédiction de mouvement 41 commence la prédiction de mouvement, et au bout d'un certain temps elle génère le résultat de la prédiction de mouvement, c'est-à-dire les données évaluées pour le mode as required) to the motion prediction unit 41 The overall control processor is informed of the end of the data transfer by the image data transfer control unit 15. After the image for the search and the image data for the motion prediction has been transferred, the motion prediction unit 41 starts the motion prediction, and after a while it generates the result of the prediction movement, that is, the data evaluated for the mode
de codage inter-intervalle d'image.inter-interval coding.
Après l'écoulement d'une certaine durée, le processeur de commande d'ensemble 11 applique à l'unité de commande de prédiction de mouvement 13 une instruction pour recevoir le résultat de la prédiction de mouvement, et l'unité de commande 13 reçoit à partir de l'unité de prédiction de mouvement 14 des données qui indiquent le résultat de la prédiction de mouvement Le processeur de After the lapse of a certain duration, the set control processor 11 applies to the motion prediction control unit 13 an instruction to receive the result of the motion prediction, and the control unit 13 receives from the motion prediction unit 14 data that indicate the result of the motion prediction The
commande d'ensemble 11 est informé de la fin de la récep- general order 11 is informed of the end of the
tion de données par l'unité de commande 13. data transmission by the control unit 13.
Ensuite, le processeur de commande d'ensemble il détermine le mode de codage sur la base des données de valeurs émaluées du mode de codage intra-intervalle d'image, qui sont Then, the set control processor determines the encoding mode on the basis of the value data of the intra-interval image coding mode, which are
obtenues par l'opération effectuée dans l'unité de com- obtained by the operation carried out in the com-
mande de prédiction de mouvement 13, et sur la base des données de valeurs évaluées pourlemode de coageinter-ixtrerva T Ie d'image, quisontobtenues par l'opération qui est effectuée 13, and on the basis of the evaluated value data for the interlayer mode, which is obtained by the operation which is carried out
dans l'unité de prédiction de mouvement 41 La détermina- in the motion prediction unit 41 The determination
tion du mode de codage est effectuée en faisant référence à des données de table de détermination de mode de codage qui sont enregistrées dans la mémoire tampon 6, ou en encoding mode is performed by reference to encoding mode determination table data which is stored in the buffer memory 6, or
comparant les données évaluées.comparing the evaluated data.
Après la détermination du mode de codage, un codage de source, c'est-àdire une transformation en cosinus discrète et une quantification, est accompli En premier lieu, le processeur de commande d'ensemble 11 applique une instruction de transfert de données d'image à l'unité de commande de transfert de données d'image 15, et l'unité de commande de transfert de données d'image 15 transfère vers l'unité de traitement de pixels 3 des After determining the coding mode, a source coding, i.e. discrete cosine transformation and quantization, is performed. First, the set control processor 11 applies a data transfer instruction of image to the image data transfer control unit 15, and the image data transfer control unit 15 transfers to the pixel processing unit 3
données à coder provenant de la mémoire tampon d'inter- data to be encoded from the interworking buffer
valle d'image 51 Le processeur de commande d'ensemble Il est informé de la fin du transfert de données par l'unité image valle 51 The overall control processor It is informed of the end of the data transfer by the unit
de commande de transfert de données d'image 15. for controlling image data transfer 15.
Ensuite, le processeur de commande d'ensemble 11 applique une instruction de codage de source à l'unité de traitement de pixels 3, par l'intermédiaire d'une unité de transfert d'instruction 16 pour l'unité de traitement de pixels L'unité de traitement de pixels 3 effectue le codage de source, c'est-à-dire la transformation en cosinus discrète et la quantification, sous la dépendance de l'instruction de codage de source Le processeur de Next, the set control processor 11 applies a source encoding instruction to the pixel processing unit 3 via an instruction transfer unit 16 for the pixel processing unit L. pixel processing unit 3 performs the source coding, i.e. discrete cosine transformation and quantization, under the control of the source coding instruction.
commande d'ensemble 11 est informé de la fin de l'opéra- overall order 11 is informed of the end of the
tion par l'unité de traitement de pixels 3, par l'inter- by the pixel processing unit 3, through the
médiaire de l'unité de transfert d'instruction 16. of the Instruction Transfer Unit 16.
Après le codage de source, c'est-à-dire la transformation en cosinus discrète et la quantification, After source coding, ie discrete cosine transformation and quantization,
un codage à longueur variable est effectué Plus précisé- Variable length coding is performed
ment, le processeur de commande d'ensemble 11 applique à l'unité de traitement de pixels 3, par l'intermédiaire de l'unité de transfert d'instruction 16, une instruction qui demande le transfert des données traitées Sous l'effet de cette instruction, l'unité de traitement de pixels 3 transfère les données traitées vers le processeur à longueur variable 12 Le processeur de commande d'ensemble Il est informé de la fin du transfert de données par l'unité de traitement de pixels 3, par l'intermédiaire de The set control processor 11 applies to the pixel processing unit 3 via the instruction transfer unit 16 an instruction which requests the transfer of the processed data. this instruction, the pixel processing unit 3 transfers the processed data to the variable length processor 12 The overall control processor It is informed of the end of the data transfer by the pixel processing unit 3, by intermediary
l'unité de transfert d'instruction 16. the instruction transfer unit 16.
Pour effectuer le codage à longueur variable, To perform variable length coding,
c'est-à-dire le codage entropique, le processeur de com- that is to say the entropy coding, the comm processor
mande d'ensemble Il applique une instruction de codage entropique au processeur à longueur variable 12 Le processeur à longueur variable 12 effectue le codage entropique Dans le codage entropique, une conversion de The variable-length processor 12 performs the entropy coding in the entropy coding.
code, employant le code de Huffman ou autre, est effectuée. code, using the Huffman code or whatever, is performed.
Plus précisément, le processeur à longueur variable 12 effectue la conversion de code des données obtenues par le codage de source, en se référant à des données de table de conversion de code qui sont enregistrées dans la mémoire de travail 7 Le processeur de commande 11 est informé de la fin du codage entropique par le processeur à Specifically, the variable length processor 12 performs the code conversion of the data obtained by the source coding, with reference to code conversion table data that is stored in the working memory 7. The control processor 11 is informed of the end of the entropy coding by the processor to
longueur variable 12.variable length 12.
Après la fin du codage entropique, le processeur de commande d'ensemble 11 applique au processeur à After the end of the entropy coding, the set control processor 11 applies to the processor at
longueur variable 12 une instruction qui demande le trans- variable length 12 an instruction that requires the trans-
fert des données traitées Le processeur à longueur varia- processing of the processed data The variable length processor
ble 12 transfère les données traitées vers la mémoire tampon 6 Le processeur de commande d'ensemble Il est ble 12 transfers the processed data to buffer 6 The set command processor It is
informé de la fin du transfert de données par le proces- informed of the end of the data transfer by the
seur à longueur variable 12.variable length 12.
Comme on peut le voir d'après la description As can be seen from the description
faite ci-dessus, la compression des données d'image peut être effectuée indépendamment dans diverses unités de traitement 13, 14, 15 et 16 dans l'unité de commande 21, ainsi que dans le processeur à longueur variable 12, sous la commande d'ensemble du processeur de commande 11 Plus précisément, la conversion de format d'image par l'unité above, the compression of the image data can be performed independently in various processing units 13, 14, 15 and 16 in the control unit 21, as well as in the variable length processor 12, under the control of whole of the control processor 11 More precisely, the conversion of image format by the unit
de conversion de format d'image, la prédiction de mouve- image format conversion, motion prediction,
ment et l'opération pour le codage de la valeur évaluée pour le mode, par l'unité de prédiction de mouvement 41 et l'unité de commande d'unité de prédiction de mouvement 13, le transfert de données d'image par l'unité de commande de transfert de données d'image 15, le codage de source par l'unité de traitement de pixels 13 et le codage entropique par le processeur à longueur variable 12, peuvent être effectués en parallèle et indépendamment les uns des and the operation for encoding the evaluated value for the mode, by the motion prediction unit 41 and the motion prediction unit control unit 13, the image data transfer by the image data transfer control unit 15, the source coding by the pixel processing unit 13 and the entropy coding by the variable length processor 12, can be performed in parallel and independently of each other.
autres Par conséquent, le processeur de commande d'ensem- Therefore, the overall control processor
ble 11 accomplit les processus décrits ci-dessus pour chaque macro-bloc de données de l'image, sous la commande du traitement pipeline On décrira en détail le traitement pipeline des processus décrits ci-dessus, en se référant It performs the processes described above for each macro-block of image data, under the control of the pipeline processing. The pipeline processing of the processes described above will be described in detail with reference to
ultérieurement aux figures 11 et 12 Le traitement pipe- subsequent to Figures 11 and 12.
* line permet de réaliser une compression d'image très efficace. La décompression d'image est également accomplie d'une manière similaire à la compression d'image, et* line enables very efficient image compression. Image decompression is also performed in a manner similar to image compression, and
divers processus dans l'unité de commande 21 sont accom- various processes in the control unit 21 are accom-
plis indépendamment les uns des autres, sous la commande d'ensemble du processeur de commande d'ensemble 11 Dans la décompression d'image, des données de code enregistrées dans la mémoire tampon 6 font l'objet d'une conversion inverse, et finalement les données d'image décomprimées folds independently of each other, under the overall control of the set control processor 11 In the image decompression, code data stored in the buffer memory 6 are reverse converted, and finally the decompressed image data
sont transférées par l'intermédiaire de l'unité de conver- are transferred via the conver-
sion de format d'image 14 vers la mémoire d'entrée/sortie image format 14 to the input / output memory
81 qui est représentée sur la figure 1. 81 which is shown in Figure 1.
( 2) Unité de commande 22 (second exemple) La figure 10 est un schéma synoptique montrant (2) Control unit 22 (second example) Figure 10 is a block diagram showing
un autre exemple de l'unité de commande L'unité de com- another example of the control unit
mande 22 qui est représentée sur la figure 10 est appli- 22 which is shown in FIG.
cable à l'unité de commande 22 qui est représentée sur la figure 4 En comparaison avec l'unité de commande 21 qui est représentée sur la figure 9, l'unité de commande d'unité de prédiction de mouvement 13 est éliminée de l'unité de commande 22 Plus précisément, l'appareil de compression/décompression d'image 102 qui est représenté sur la figure 4 n'exige pas une prédiction de mouvement et, de façon correspondante, l'unité de commande d'unité de prédiction de mouvement est éliminée de l'unité de cable to the control unit 22 which is shown in FIG. 4 In comparison with the control unit 21 which is shown in FIG. 9, the motion prediction unit control unit 13 is eliminated from the More specifically, the image compression / decompression apparatus 102 shown in FIG. 4 does not require a motion prediction and, correspondingly, the prediction unit control unit. movement is eliminated from the unit of
commande 22.order 22.
On note qu'à l'exception de la prédiction de mouvement, l'unité de commande 22 qui est représentée sur la figure 10 fonctionne de manière similaire à l'unité de commande 21 qui est représentée sur la figure 9 Par conséquent, on peut obtenir des avantages similaires à ceux de l'unité de commande 21 qui est représentée sur la figure 9, c'est-à-dire que diverses unités internes de l'unité de commande 22 peuvent fonctionner indépendamment les unes des autres et en parallèle les unes par rapport aux autres, et la compression des données d'image peut être effectuée efficacement sous la commande du traitement pipeline. ( 3) Traitement pipeline Le processeur de commande d'ensemble Il qui est représenté sur les figures 9 et 10 accomplit de la façon suivante le traitement pipeline dans l'appareil de It is noted that with the exception of motion prediction, the control unit 22 shown in Fig. 10 functions similarly to the control unit 21 shown in Fig. 9. obtain similar advantages to those of the control unit 21 which is shown in FIG. 9, that is to say that various internal units of the control unit 22 can operate independently of each other and in parallel with the compared to each other, and compression of the image data can be effected efficiently under the control of pipeline processing. (3) Pipeline Processing The set control processor 11 shown in FIGS. 9 and 10 accomplishes the pipeline processing in the apparatus of FIG.
compression/décompression d'image.compression / decompression of image.
La figure 11 est un diagramme temporel montrant le traitement pipeline qui est accompli sous la commande du processeur de commande d'ensemble 11 représenté sur la figure 9 Sur la 11, l'abscisse représente le temps et l'ordonnée représente des étapes de processus pour la compression d'image Dans la compression d'image, une trame de données à traiter est divisée en un certain nombre de macro-blocs MB, et des processus pour la compression d'image sont effectués sur chaque macro-bloc de données Dans l'exemple qui est représenté sur la figure 11, on traite des données de dix macro-blocs MB 1 à Fig. 11 is a time chart showing the pipeline processing that is performed under the control of the set control processor 11 shown in Fig. 9 On Fig. 11, the abscissa represents time and the ordinate represents process steps for In image compression, a data frame to be processed is divided into a number of macroblocks MB, and processes for image compression are performed on each macroblock of data. example which is represented in FIG. 11, data of ten macroblocks MB 1 to
MB 10.MB 10.
En se référant à la figure 11, on décrira à titre d'exemple le traitement d'un macro-bloc de données MBI Premièrement, pendant la période Tl, les données RGB du macro-bloc de données MB 1 sont transférées de la mémoire d'entrée/sortie 81 représentée sur la figure 1 vers l'unité de commande 2 (étape Si) Pendant la période T 2, les données RGB sont converties en données YUV par Referring to FIG. 11, the processing of an MBI macroblock will be described by way of example. Firstly, during the period T1, the RGB data of the macroblock of data MB 1 are transferred from the data memory. input / output 81 shown in FIG. 1 to the control unit 2 (step S1) During the period T 2, the RGB data is converted into YUV data by
l'unité de conversion de format d'image 14 qui est repré- the image format conversion unit 14 which is
sentée sur la figure 9 (étape 52). shown in Figure 9 (step 52).
Pendant la période T 3, les données YUV sont transférées vers la mémoiretampon d'intervalle d'image 51, et les données d'image qui font l'objet de la recherche During the period T 3, the YUV data is transferred to the memory and image slot buffer 51, and the image data that is being searched
sont transférées vers l'unité de commande 2 Simultané- are transferred to the control unit 2 Simultan-
ment, les données d'image qui font l'objet de la recherche sont transférées vers l'unité de prédiction de mouvement 41 par l'intermédiaire du bus de données de pixel PB (étape 53). The image data being searched is transferred to the motion prediction unit 41 via the pixel data bus PB (step 53).
Pendant la période T 4, la prédiction de mouve- During the period T 4, the prediction of movement
ment est effectuée par l'unité de prédiction de mouvement 41 (étape 54) Pendant la période T 5, le mode de codage This is done by the motion prediction unit 41 (step 54). During the period T 5, the coding mode
est déterminé par l'unité de commande 2 (étape 55). is determined by the control unit 2 (step 55).
Pendant la période T 6, les données d'image à coder sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de traitement de pixels 3, tandis que les données d'image de référence sont transférées vers l'unité de traitement de pixels 3 par l'intermédiaire du During the period T 6, the image data to be encoded is transferred from the image interval buffer 51 to the pixel processing unit 3, while the reference image data is transferred to the image processing buffer 51. pixel processing unit 3 through the
bus de données de pixel PB (étape 56). PB pixel data bus (step 56).
Pendant la période T 7, le traitement d'image pour le codage, c'est-àdire la transformation en cosinus discrète et la quantification, est effectué par l'unité de traitement de pixels 3 (étape 57) Pendant la période T 8, les données traitées, c'est-à-dire les données de plage/ niveausont transférées vers la mémoire tampon 6 par During the period T 7, the image processing for the coding, ie the discrete cosine transformation and the quantization, is performed by the pixel processing unit 3 (step 57). During the period T 8, the processed data, i.e. the range / level data are transferred to the buffer memory 6 by
l'intermédiaire du bus de code CB (étape 58). via the CB code bus (step 58).
Pendant la période T 9, le codage à longueur During the period T 9, the length coding
variable est effectué par le processeur à longueur varia- variable is performed by the variable length processor.
ble 12 qui est représenté sur la figure 9 (étape 59). 12 which is shown in FIG. 9 (step 59).
Pendant la période T 10, les données traitées, c'est-à-dire les données de code à longueur variable, sont transférées par l'intermédiaire du bus de code CB vers la mémoire During the period T 10, the processed data, i.e. the variable length code data, is transferred via the code bus CB to the memory
tampon 6 (étape 510).buffer 6 (step 510).
Comme décrit ci-dessus, dans l'appareil de compression/décompression d'image 101, un traitement pipeline est accompli sous la commande du processeur de commande d'ensemble 11 Par conséquent, comme représenté sur la figure 11, des processus correspondants sont successivement accomplis au cours des périodes T 2 à T 10 sur d'autres macro-blocs de données MB 2 à MB 10, de la même As described above, in the image compression / decompression apparatus 101, pipeline processing is accomplished under the control of the ensemble control processor 11 Therefore, as shown in Fig. 11, corresponding processes are successively during periods T 2 to T 10 on other macro-blocks of data MB 2 to MB 10, of the same
manière que sur le macro-bloc de données MB 1. only on the macro-block of data MB 1.
La figure 12 montre le fonctionnement en paral- Figure 12 shows the operation in parallel
lèle dans une période T 10 qui est représentée sur la figure 11 Plus précisément, la figure 11 montre l'état de fonctionnement dans la période T 10 de diverses unités internes dans l'unité de commande 21 et l'appareil de compression/décompression d'image 101 qui est représenté sur les figures 1 et 9 En se référant à la figure 12, on note que pendant la période T 10, le bus d'entrée/sortie IOB transfère des données RGB du dixième macro-bloc MB 10 (étape SI représentée sur la figure 11) Le bus de données Figure 11 shows the operating state in the period T 10 of various internal units in the control unit 21 and the compression / decompression apparatus of the control unit 21, which is shown in FIG. 11. Fig. 101 which is shown in Figs. 1 and 9 Referring to Fig. 12, it is noted that during the period T 10, the input / output bus IOB transfers RGB data of the tenth macroblock MB 10 (step 10). SI shown in Fig. 11) The data bus
de pixel PB transfère des données des huitième et cinquiè- Pixel PB transfers data from the eighth and fifth
me macro-blocs MB 8 et MB 5 (étapes 53 et 56) Le bus de code CB transfère des données des troisième et premier MB 8 and MB 5 macro-blocks (steps 53 and 56) The CB code bus transfers data of the third and first
macro-blocs MB 3 et MB 1 (étapes 58 et 510). macroblocks MB 3 and MB 1 (steps 58 and 510).
Le processeur de commande d'ensemble 11 commande le transfert de données RGB du dixième macro-bloc MB 10 (étape 53), et en parallèle avec ceci, il détermine le mode de codage du sixième macro-bloc MB 6 (étape 55) De plus, le processeur de commande d'ensemble 11 effectue une The set control processor 11 controls the RGB data transfer of the tenth macroblock MB (step 53), and in parallel thereto, it determines the coding mode of the sixth macroblock MB 6 (step 55). Moreover, the set control processor 11 performs a
commande de séquence de macro-blocs MB 1 à MB 10, c'est-à- macroblock sequence control MB 1 to MB 10, i.e.
dire une commande pour le traitement pipeline. say a command for pipeline processing.
Le processeur à longueur variable 12 effectue un codage à longueur variable sur le second macro-bloc MB 2 (étape 59) L'unité de transfert d'instruction 16 effectue une commande de traitement d'image du quatrième macro-bloc The variable length processor 12 performs variable length coding on the second macroblock MB 2 (step 59). The instruction transfer unit 16 performs an image processing control of the fourth macroblock.
MB 4 (étape 57).MB 4 (step 57).
L'unité de commande d'unité de prédiction de mouvement 13 effectue une prédiction de mouvement pour le septième macro-bloc MB 7 (étape 54) L'unité de commande de transfert de données d'image 15 commande le transfert de données des huitième et cinquième macro-blocs MB 8 et MB 5 The motion prediction unit control unit 13 performs a motion prediction for the seventh macro block MB 7 (step 54). The image data transfer control unit 15 controls the data transfer of the eighth and fifth macroblocks MB 8 and MB 5
(étape 58).(step 58).
L'unité de conversion de format d'image 14 effectue une conversion de format (de RGB à YUV) sur le neuvième macro-bloc MB 9 (étape 52) L'unité de traitement The image format conversion unit 14 performs a format conversion (from RGB to YUV) on the ninth macroblock MB 9 (step 52). The processing unit
de pixels 3 effectue un traitement d'image sur le quatriè- pixels 3 performs image processing on the fourth
me macro-bloc MB 4 (étape 57) L'unité de prédiction de mouvement 4 effectue une prédiction pour le septième MB 4 macro-block (step 57) The motion prediction unit 4 makes a prediction for the seventh
macro-bloc MB 7 (étape 54).macro-block MB 7 (step 54).
( 4) Structure d'unités internes respectives (i) Processeur de commande d'ensemble Il (figure 13) (4) Structure of respective internal units (i) Ensemble control processor II (FIG. 13)
La figure 13 est un schéma synoptique du proces- Figure 13 is a block diagram of the process
seur de commande d'ensemble 11 qui est représenté sur la figure 9 En se référant à la figure 13, on note que le processeur de commande d'ensemble 11 comprend une mémoire d'instructions 111, une unité de commande de programme 112, une unité de commande de séquence/unité de traitement d'adresse 113, une unité de commande de système 114, un groupe de registres d'opérations 115 et une unité de traitement de données 116 Sur cette figure, le symbole de référence "DT" désigne des données, "ADR désigne un signal d'adresse, "ID" désigne des données d'instruction, "S Sc" désigne un signal de commande d'état et "Sc" désigne The overall control driver 11 shown in FIG. 9 Referring to FIG. 13, the overall control processor 11 includes an instruction memory 111, a program control Sequence control unit / address processing unit 113, a system control unit 114, a group of operation registers 115 and a data processing unit 116 In this figure, the reference symbol "DT" designates "ADR" means an address signal, "ID" means instructional data, "S Sc" means a status control signal and "Sc" means
un signal de commande.a control signal.
(ii) Unité de commande de prédiction de mouve- (ii) motion prediction control unit
ment 13 (figure 14) La figure 14 est un schéma synoptique de l'unité 13 (Figure 14) Figure 14 is a block diagram of the unit
de commande de prédiction de mouvement 13 qui est repré- motion prediction control 13 which is
sentée sur la figure 9 En se référant à la figure 14, on note que l'unité de commande de prédiction de mouvement 13 FIG. 9 Referring to FIG. 14, it will be noted that the motion prediction control unit 13
comprend une unité de commande de mode/conditions tempo- includes a mode / time control unit
relles 131 pour l'unité de prédiction de mouvement, une unité de commande d'ensemble 132, un processeur de données de vecteur 133, un processeur 134 pour les données d'image, pour la détection de mouvement, et une unité de 131 for the motion prediction unit, an ensemble control unit 132, a vector data processor 133, a processor 134 for the image data, for the motion detection, and a unit of
traitement d'évaluation 135 pour le mode de codage intra- evaluation processing 135 for the intra-coding mode.
intervalle d'image.picture interval.
L'unité de commande de mode/conditions tempo- The mode control unit / time conditions
relles 131 produit un signal de commande Smc pour l'unité de prédiction de mouvement 41 Le processeur de données de vecteur 133 produit également un signal de commande Smc pour l'unité de prédiction de mouvement 41 Le processeur de données de vecteur 133 reçoit à partir de l'unité de prédiction de mouvement 41 des données Dmr indiquant les résultats de la détection de mouvement Le processeur 134 Roles 131 produces a control signal Smc for the motion prediction unit 41 The vector data processor 133 also produces a control signal Smc for the motion prediction unit 41 The vector data processor 133 receives from of the motion prediction unit 41 of the Dmr data indicating the results of the motion detection The processor 134
pour les données d'image concernant la détection de mouve- for image data relating to motion detection.
ment produit un signal de commande Smc pour des données d'image Dmi qui font l'objet de la détection de mouvement, produces a control signal Smc for image data Dmi which is the object of the motion detection,
et pour l'unité de prédiction de mouvement 41 Le proces- and for the motion prediction unit 41 The process
seur 134 pour les données d'image pour la détection de mouvement applique des données de pixel PD à l'unité de 134 for the image data for motion detection applies PD pixel data to the
traitement d'évaluation 135, pour le mode de codage intra- evaluation processing 135, for the intra-coding mode
trame. (iii) Unité de conversion de format d'image 14 (figure 15) La figure 15 est un schéma synoptique de l'unité de conversion de format d'image 14 qui est représentée sur la figure 9 En se référant à la figure 15, on note que l'unité de conversion de format d'image 14 comprend une unité de commande d'ensemble 14, une unité de commande de mémoire vive vidéo (VRAM) 142, un convertisseur de couleur frame. (iii) Image Format Conversion Unit 14 (Fig. 15) Fig. 15 is a block diagram of the image format conversion unit 14 shown in Fig. 9 Referring to Fig. 15, it is noted that the image format conversion unit 14 comprises an assembly control unit 14, a video random access control unit (VRAM) 142, a color converter
143, un filtre UV 144 et une mémoire d'image 145. 143, a UV filter 144 and an image memory 145.
L'unité de commande d'ensemble 141 reçoit des données DT et un signal d'adresse ADR par l'intermédiaire d'un bus de données principal MB L'unité de commande VRAM 142 est connectée au port VRAM 19 La mémoire d'image 145 reçoit des données de pixel PD par l'intermédiaire du bus de données de pixel interne IPB et elle fournit des The set control unit 141 receives DT data and an address signal ADR via a main data bus MB The VRAM control unit 142 is connected to the VRAM port 19 The image memory 145 receives PD pixel data via the IPB internal pixel data bus and provides
données enregistrées.recorded data.
(iv) Unité de commande de transfert de données d'image 15 (figure 16) La figure 16 est un schéma synoptique de l'unité de commande de transfert d'image 15 qui est représentée sur la figure 9 En se référant à la figure 16, on note que l'unité de commande de transfert de données d'image 15 comprend une unité de commande d'ensemble 151, une unité de commande de mémoire de données d'image 152, une unité de commande de transfert de données d'image 153 et une unité de commande de transfert de bus de données de pixel 154. Sur la figure 16, le symbole de référence "Simc" désigne un signal de commande de mémoire de données d'image, "Sptc" désigne un signal de commande de transfert de données d'image pour l'unité de traitement de pixel 3, et "Smtc" désigne un signal de commande de transfert de données d'image pour l'unité de prédiction de mouvement (iv) Image Data Transfer Control Unit 15 (Fig. 16) Fig. 16 is a block diagram of the image transfer control unit 15 shown in Fig. 9 Referring to Fig. 16, it is noted that the image data transfer control unit 15 comprises an assembly control unit 151, an image data memory control unit 152, a data transfer control unit 153 and a pixel data bus transfer control unit 154. In Fig. 16, the reference symbol "Simc" designates an image data memory control signal, "Sptc" designates a signal of image data transfer control for the pixel processing unit 3, and "Smtc" means an image data transfer control signal for the motion prediction unit
41.41.
(v) Unité de transfert d'instruction 16 (figure 17) La figure 17 est un schéma synoptique de l'unité de transfert d'instruction 16 qui est représentée sur la figure 9 En se référant à la figure 17, on note que l'unité de transfert d'instruction 16 pour l'unité de traitement de pixel 3 comprend une unité de commande (v) Instruction transfer unit 16 (Fig. 17) Fig. 17 is a block diagram of the instruction transfer unit 16 which is shown in Fig. 9 Referring to Fig. 17, it is noted that instruction transfer unit 16 for the pixel processing unit 3 comprises a control unit
d'ensemble 161, une unité de commande de transfert d'ins- set 161, an instruction transfer control unit
truction 162 et une unité de surveillance d'état 163. truction 162 and a state monitoring unit 163.
L'unité de commande de transfert d'instruction 162 produit un signal de commande Spc pour l'unité de traitement de pixel 3 L'unité de surveillance d'état 163 reçoit le signal d'état Sps qui provient de l'unité de traitement de pixel 3 L'unité de commande d'ensemble 161 reçoit les données DT et le signal d'adresse ADR par l'intermédiaire The instruction transfer control unit 162 produces a control signal Spc for the pixel processing unit 3 The status monitoring unit 163 receives the status signal Sps that originates from the processing unit 3 The set control unit 161 receives the data DT and the address signal ADR via
d'un bus de données principal MB.of a main data bus MB.
De cette manière, les unités internes 13, 14, 15 In this way, the internal units 13, 14, 15
et 16 qui sont représentées sur les figures 14 à 17 reçoi- and 16 which are shown in Figures 14 to 17 received
vent respectivement des signaux demandant le démarrage de processus respectifs, provenant du processeur de commande d'ensemble 11 qui est représenté sur la figure 13, et elles renvoient vers le processeur de commande d'ensemble Il des signaux de commande indiquant la fin de processus respectively, signals requesting the start of respective processes, from the set control processor 11 shown in Fig. 13, and send back to the set control processor 11 control signals indicating the end of the process
respectifs, lorsque les processus respectifs sont termi- respective processes, when the respective processes are terminated
nés Ainsi, on note que les unités internes 13, 14, 15 et 16 accomplissent des processus respectifs indépendamment les unes des autres sous la dépendance de signaux de démarrage de processus provenant du processeur de commande Thus, it is noted that the internal units 13, 14, 15 and 16 perform respective processes independently of each other in dependence on process start signals from the control processor.
d'ensemble 11 Par conséquent, sous la commande du proces- 11 Therefore, under the control of the
seur de commande d'ensemble 11, le traitement de données pour la compression d'image et la décompression d'image set command 11, data processing for image compression and image decompression
peut être effectivement accompli d'une manière pipeline. can be effectively accomplished in a pipeline manner.
( 5) Unité de commande 200 (troisième exemple) La figure 92 est un schéma synoptique montrant (5) Control Unit 200 (Third Example) Figure 92 is a block diagram showing
encore un exemple supplémentaire de l'unité de commande. yet another example of the control unit.
L'unité de commande 200 qui est représentée sur la figure The control unit 200 which is shown in the figure
92 est applicable à l'unité de commande qui est repré- 92 is applicable to the control unit which is
sentée sur les figures 1, 5 à 8 et 84 à 91. shown in Figures 1, 5 to 8 and 84 to 91.
En se référant à la figure 92, on note que l'unité de commande 200 comprend une partie d'interface d'hôte 201 connectée à un bus d'hôte HB; une partie de commande d'ensemble 202 pour effectuer diverses commandes comprenant une commande de traitement pipeline; une partie d'entrée/sortie vidéo 203 connectée à un bus d'entrée/ sortie IOB; un processeur principal 204 qui exécute des programmes écrits sous la forme de macro-codes; une partie de commande de mémoire d'intervalle d'image 205; une partie de commande d'unité de prédiction de mouvement 206 pour commander une mémoire d'intervalle d'image pour la prédiction de mouvement; une partie de commande de données de code 207 qui manipule des données de code qui sont échangées avec l'unité de traitement de pixels; une partie de traitement de paramètres 208; et un processeur à longueur variable 209 pour le codage/décodage à longueur Referring to Figure 92, it is noted that the controller 200 includes a host interface portion 201 connected to a host bus HB; an assembly control part 202 for performing various commands including a pipeline processing command; a video input / output portion 203 connected to an input / output bus IOB; a main processor 204 which executes programs written in the form of macro-codes; an image gap memory control portion 205; a motion prediction unit control portion 206 for controlling an image gap memory for motion prediction; a code data control portion 207 that manipulates code data that is exchanged with the pixel processing unit; a parameter processing part 208; and a variable length processor 209 for length coding / decoding
variable.variable.
En outre, l'unité de commande 200 comprend, à titre de bus internes, un premier bus interne 210 connecté entre la partie d'entrée/sortie vidéo 203 et la partie de commande de mémoire d'intervalle ddmage 205; un secoid bus interne 2 U 1 connecté entre chacun des éléments comprenant la partie de commande de mémoire d'interva Jle d'image 205, la partie de commande d'unité de prédiction de mouvement 206 et la partie de traitement de paramètre 208; un troisième bus interne 212 connecté entre la partie de commande d'unité de prédiction de mouvement 212 et la partie de commande de mnmoire d'intervalle d'image 205;un quatrième bus interne connecté entre la partie de commande de données de code 207 et le processeur à longueur variable 209; et un bus principal Further, the control unit 200 includes, as internal buses, a first internal bus 210 connected between the video input / output portion 203 and the dimming interval memory control portion 205; a 2 U 1 internal bus secoid connected between each of the elements including the interva memory control portion Jle 205, the motion prediction unit control portion 206 and the parameter processing portion 208; a third internal bus 212 connected between the motion prediction unit control portion 212 and the image slot memory control portion 205; a fourth internal bus connected between the code data control portion 207 and the variable length processor 209; and a main bus
214 connecté à tous les blocs.214 connected to all the blocks.
On va maintenant décrire la structure et le We will now describe the structure and the
fonctionnement de divers blocs.functioning of various blocks.
La partie d'interface d'hôte 201 est une partie de commande qui commande le transfert de données entre un ordinateur hôte externe et l'unité de commande 200 Les données qui sont reçues/émises par l'intermédiaire de la partie d'interface d'hôte 201 sont transférées par le bus principal 214 qui est connecté à chaque bloc dans l'unité The host interface portion 201 is a control portion that controls the transfer of data between an external host computer and the control unit 200. The data that is received / transmitted via the interface portion of the host 201 are transferred by the main bus 214 which is connected to each block in the unit
de commande 200.200.
La partie de commande d'ensemble 202 est un bloc The overall control part 202 is a block
qui commande essentiellement diverses conditions tempo- which essentially controls various temporary conditions
relles de fonctionnement et divers traitements pipelines dans l'unité de commande 200 Au moment du codage d'une image, la partie de commande d'ensemble 202 génère une impulsion de synchronisation interne au niveau de chaque pixel ou de chaque macro-bloc, sur la base d'une horloge de base et d'un signal de synchronisation, elle commande des paramètres principaux dans le codage, elle transfère des données, etc. La partie d'entrée/sortie vidéo 203 comporte une interface avec la mémoire d'entrée/sortie 81 qui est représentée sur la figure 83, par exemple, et dans l'unité de commande 200 elle est connectée à la partie de commande de mémoire d'intervalle d'image 205 par le premier bus In the encoding of an image, the set control portion 202 generates an internal sync pulse at each pixel or macroblock, at the time of image encoding. the base of a basic clock and a synchronization signal, it controls the main parameters in the coding, it transfers data, etc. The video input / output portion 203 has an interface with the input / output memory 81 which is shown in Fig. 83, for example, and in the control unit 200 it is connected to the memory control portion. image interval 205 by the first bus
interne 210.internal 210.
Le processeur principal 204 est un bloc qui est essentiellement chargé du traitement adaptatif dans le The main processor 204 is a block which is essentially responsible for the adaptive processing in the
codage, dont les détails seront décrits ultérieurement. coding, the details of which will be described later.
S'il y a un conflit avec la partie d'interface d'hôte 201, If there is a conflict with the host interface part 201,
le processeur principal 204 sera le maître du bus princi- the main processor 204 will be the master of the main bus
pal 214, et il accomplit le transfert de données de regis- pal 214, and performs the transfer of data from registers
tre/mémoire dans chaque bloc.be / memory in each block.
La partie de commande de mémoire dinterva Je d'image 205 comprend, à titre d'interface externe, une interface à 32 bits, qui fonctionne à la manière d'un maître d'un bus de données de pixel à 32 bits (par exemple le bus de données de pixel PB de la figure 83), entre la mémoire tampon d'intervalle d'image (par exemple la mémoire tampon d'intervalle d'image 51 qui est représentée sur la figure 83) et l'unité de traitement de pixels (par exemple l'unité de traitement de pixels 33 qui est représentée sur la figure 83) La prtie de ommande de mémoire d' intervalle d'image 205 est connectée, dans l'unité de commande 200, à la partie d'entrée/sortie vidéo 203 par l'intermédiaire du The image interposer memory control portion 205 includes, as an external interface, a 32-bit interface, which operates in the manner of a master of a 32-bit pixel data bus (e.g. the pixel data bus PB of Fig. 83) between the image gap buffer (for example, the image slot buffer 51 shown in Fig. 83) and the processing unit of pixels (e.g., the pixel processing unit 33 shown in Fig. 83) The image gap memory command part 205 is connected in the control unit 200 to the part of video input / output 203 through the
premier bus interne 210, à la partie de commande de para- first internal bus 210, to the control part of para-
mètres 208 et à la partie de commande d'unité de prédic- meters 208 and to the prediction unit control part
tion de mouvement 206 par l'intermédiaire du second bus interne 211, et en outre à une autre interface de la partie de commande d'unité de prédiction de mouvement 206 movement 206 through the second internal bus 211, and further to another interface of the motion prediction unit control portion 206
par l'intermédiaire du troisième bus interne 212. via the third internal bus 212.
La partie de commande d'unité de prédiction de mouvement 206 comprend, à titre d'interfaces externes, une interface qui applique un signal de commande à l'unité de prédiction de mouvement (par exemple l'unité de prédiction de mouvement 47 représentée sur la figure 83), et une interface qui applique un signal de commande, comprenant une adresse, à la mémoire locale (par exemple la mémoire locale 56 qui est représentée sur la figure 83) La partie de commande d'unité de prédiction de mouvement 206 comprend en outre une interface avec le bus local (par exemple le bus local LB 4 qui est représenté sur la figure 83), pour transférer des paramètres tels qu'un vecteur de mouvement et des données de modèle (données d'image) vers The motion prediction unit control portion 206 includes, as external interfaces, an interface that applies a control signal to the motion prediction unit (e.g., the motion prediction unit 47 shown in FIG. Fig. 83), and an interface that applies a control signal, including an address, to the local memory (e.g. local memory 56 shown in Fig. 83). The motion prediction unit control portion 206 further comprises an interface with the local bus (for example the local bus LB 4 which is shown in Fig. 83), for transferring parameters such as a motion vector and model data (image data) to
l'unité de prédiction de mouvement et à partir de celle- the motion prediction unit and from that
ci En outre, la partie de commande d'unité de prédiction de mouvement 206 est connectée, dans l'unité de commande , à la partie de commande de mémoire d'intervalle d'image 205 et à la partie de commande de paramètres 208, par l'intermédiaire du second bus interne 211, et à la partie de commande de mémoire d'intervalle d'image 205 par In addition, the motion prediction unit control portion 206 is connected in the control unit to the image gap memory control portion 205 and the parameter control portion 208. through the second internal bus 211, and the image gap memory control portion 205 through
l'intermédiaire du troisième bus interne 212. via the third internal bus 212.
La partie de commande de données de code 207 comporte une interface qui est connectée à un bus de code (par exemple le bus de code CB représenté sur la figure The code data control part 207 has an interface which is connected to a code bus (for example the code bus CB shown in FIG.
83) qui est destiné à être connecté à l'unité de traite- 83) which is intended to be connected to the treatment unit.
ment de pixels (par exemple l'unité de traitement de pixels 33 qui est représentée sur la figure 83) et à la mémoire tampon (par exemple la mémoire tampon 6 qui est représentée sur la figure 83) La partie de commande de pixels (e.g., the pixel processing unit 33 shown in Fig. 83) and the buffer memory (e.g., the buffer memory 6 shown in Fig. 83).
données de code 207 est connectée, dans l'unité de com- code data 207 is connected in the communication unit
mande 200, au processeur à longueur variable 209 par 200, to the variable length processor 209 by
l'intermédiaire du quatrième bus interne 213. via the fourth internal bus 213.
La partie de traitement de paramètres 208 est connectée à la partie de commande de mémoire d'intervalle d 'image 205 The parameter processing portion 208 is connected to the image interval memory control portion 205
et à la partie de commande d'unité de prédiction de mouve- and the motion prediction unit control part
ment 206 par l'intermédiaire du second bus interne 211. 206 through the second internal bus 211.
Des données de modèle sont transmises de la partie de commande de mémoire d'intervalle d'image 205 à la partie de traitement de paramètres 208 par l'intermédiaire du second bus interne 211, et la partie de traitement de paramètres 208 extrait des paramètres liés au modèle La Model data is transmitted from the image interval memory control portion 205 to the parameter processing portion 208 through the second internal bus 211, and the parameter processing portion 208 extracts related parameters. to the model
partie de traitement de paramètres 208 comprend un regis- parameter processing part 208 includes a regis-
tre qui conserve le résultat de l'opération qui est effec- which retains the result of the operation which is
tuée Le résultat de l'opération conservé dans le régistre peut être transféré (lu) par l'intermédiaire du bus principal 214 (fonctionnement en esclave). Le processeur à longueur variable 209 est connecté à la partie de commande de données de code 207 par l'intermédiaire du quatrième bus interne 213 Le codage à longueur variable des données du type plage/ niveau ou d'un index de quantification provenant de la partie de commande de données de code 207, est effectué dans le processeur à longueur variable 209 Les données de train de bits qui sont produites dans le processeur à longueur variable 209 sont transférées vers la mémoire tampon d'intervalle d'image (par exemple la mémoire tampon d'intervalle d'image 51 qui est représentée sur la figure 83). On décrira en détail, en se référant aux figures 83 et 92, le contenu de processus qui sont accomplis dans des blocs respectifs de l'unité de commande 200 pendant le The result of the operation stored in the register can be transferred (read) via the main bus 214 (slave operation). The variable length processor 209 is connected to the code data control portion 207 via the fourth internal bus 213 The variable length coding of the range / level type data or a quantization index from the part code data control 207 is performed in the variable length processor 209 The bit stream data that is produced in the variable length processor 209 is transferred to the image slot buffer (e.g. image slot buffer 51 which is shown in Fig. 83). Detailed will be described, with reference to Figs. 83 and 92, the contents of processes that are performed in respective blocks of the control unit 200 during the
codage d'image.image coding.
L'unité de commande 23 a la fonction de com- The control unit 23 has the function of com-
mander l'unité de traitement de pixels 33 et l'unité de prédiction de mouvement 47 pour effectuer le codage Par conséquent, les quatre types de commande de données to cause the pixel processing unit 33 and the motion prediction unit 47 to perform the coding. Therefore, the four types of data control
suivants sont essentiellement accomplis. following are essentially accomplished.
( 1) Lecture de données d'origine et enregistre- (1) Reading of original data and recording
ment des données dans la mémoire tampon d'intervalle data in the interval buffer
d'image 51.picture 51.
( 2) Lecture de données de modèle pour la prédic- (2) Reading of model data for prediction
tion de mouvement et activation de l'unité de prédiction movement and activation of the prediction unit
de mouvement 47.of movement 47.
( 3) Lecture et détermination des résultats de la prédiction de mouvement, et activation de l'unité de (3) Reading and determining the results of the motion prediction, and activating the unit of
traitement de pixels 33.pixel processing 33.
( 4) Lecture et traitement à longueur variable de données de code (index de quantification, plage/niveau), (4) Reading and variable length processing of code data (quantization index, range / level),
et écriture dans la mémoire tampon 6. and write to the buffer 6.
On décrira les quatre types de commande de données en se référant aux opérations de blocs respectifs. (i) Lecture de données d'origine et écriture des données dans la mémoire tampon d'intervalle d'image 51 (projection). Les données d'origine qui sont enregistrées dans une mémoire d'entrée/sortie externe (les données d'image d'origine à coder) sont segmentées sur la base de ce que l'on appelle un macro-bloc et elles sont transférées vers The four types of data control will be described with reference to the respective block operations. (i) Read original data and write data to the image interval buffer 51 (projection). The original data that is stored in an external input / output memory (the original image data to be encoded) is segmented on the basis of what is called a macro-block and is transferred to
la partie d'entrée/sortie vidéo 203. the video input / output part 203.
La partie d'entrée/sortie vidéo 203 contient un circuit de conversion du format RGB au format YUV et un The video input / output portion 203 contains a conversion circuit from RGB format to YUV format and a
circuit de filtre, et la conversion de format est accom- filter circuit, and the format conversion is accom-
plie ici (par exemple RGB -* YUV, 4:2:2 -> 4:2:0, etc). fold here (eg RGB - * YUV, 4: 2: 2 -> 4: 2: 0, etc.).
Les données traitées sont transférées par le premier bus The processed data is transferred by the first bus
interne 210 vers la partie de commande de mémoire d'inter- internal 210 to the memory control portion of
valle d'image 205 La partie de commande de mémoire d'intervalle d'image 205 projette (écrit) les données transférées, avec un format approprié pour le codage ultérieur, dans la mémoire tampon d'intervalle d'image 51 qui est commandée par la partie de commande de mémoire d'intervalle d'image 205 On décrira ultérieurement en The image interval memory control portion 205 projects (writes) the transferred data, with a format suitable for subsequent encoding, into the image interval buffer 51 which is controlled by the picture interval memory control portion 205 will be described later in
détail le procédé de projection qui est employé ici. detail the projection process that is used here.
La génération d'une adresse pour la mémoire tampon d'intervalle d'image 51 est accomplie par la partie The generation of an address for the frame interval buffer 51 is accomplished by the party
de commande de mémoire d'intervalle d'image 205 La com- image interval memory control device 205
mande de la mémoire tampon d'intervalle d'image 51 et les conditions temporelles du transfert de données à partir de la partie d'entrée/sortie vidéo 203 sont régies par la of the image slot buffer 51 and the time conditions of the data transfer from the video input / output portion 203 are governed by the
partie de commande d'ensemble 202.set control part 202.
(ii) Lecture de données de modèle pour la (ii) Reading of model data for the
prédiction de mouvement et commande de l'unité de prédic- motion prediction and command of the prediction unit
tion de mouvement Pour effectuer la prédiction de mouvement d'un macrobloc à coder, la partie de commande de mémoire Motion To perform the motion prediction of a macroblock to be encoded, the memory control portion
d'intervalle d'image 205 lit les données d'image corres- interval 205 reads the image data corresponding to
pondant au macro-bloc dans la mémoire tampon d'intervalle spanning at the macro-block in the interval buffer
d'image 51 Ces données sont appelées données de modèle. This data is called model data.
La partie de commande de mémoire d'intervalle d'image 205 transfère les données de modèle vers la partie de commande d'unité de prédiction de mouvement 206 et la partie de The image gap memory control portion 205 transfers the model data to the motion prediction unit control portion 206 and the portion of
traitement de paramètres 208.parameter processing 208.
La partie de commande d'unité de prédiction de mouvement 206 transfère les données de modèle vers l'unité de prédiction de mouvement 47 par l'intermédiaire du bus local LB 4 et, simultanément, elle transfère des données de fenêtre de recherche, correspondant aux données de modèle, vers la mémoire locale 56 par l'intermédiaire du bus de données local LDB En outre, la partie de commande d'unité de prédiction de mouvement 206 active l'opération de The motion prediction unit control part 206 transfers the model data to the motion prediction unit 47 via the local bus LB 4 and, simultaneously, it transfers search window data corresponding to the model data, to the local memory 56 via the local data bus LDB Further, the motion prediction unit control part 206 activates the operation of
prédiction de mouvement des données de modèle en appli- prediction of movement of the model data into application
quant à l'unité de prédiction de mouvement 47, à titre d'information d'entrée, un signal de commande tel qu'une the motion prediction unit 47, as input information, a control signal such as a
commande d'activation.activation command.
En outre, la partie de commande de mémoire de trame 205 transfère les données de modèle vers la partie de commande d'unité de prédiction de mouvement 206 par In addition, the frame memory control portion 205 transfers the pattern data to the motion prediction unit control portion 206 by
l'intermédiaire du second bus interne 111 et, simultané- via the second internal bus 111 and simultaneously
ment, elle les transfère vers la partie de traitement de paramètres 208 La partie de traitement de paramètres 208 it transfers them to the parameter processing part 208 The parameter processing part 208
extrait des caractéristiques de données de modèle confor- extracted from the model data characteristics in accordance with
mément à une opération prédéterminée, et ces caractéristi- to a predetermined operation, and these characteristics
ques sont utilisées ultérieurement pour la détermination du codage ou autre Les paramètres qui sont calculés ici are used later to determine the coding or other parameters that are calculated here
comprennent la variance (uniquement du signal de lumi- include the variance (only of the light signal
nance) de chaque bloc (dans un intervalle de trame/inter- each block (in a frame / inter-
valle d'image d'un bloc) du modèle pour le calcul d'activité, la valeur moyenne et la valeur de variance du signal de luminance du macro-bloc de modèle, etc, qui frame size) of the model for the activity calculation, the average value and the variance value of the luminance signal of the model macro-block, etc., which
exigent des opérations sur des pixels. require operations on pixels.
(iii) Lecture du résultat de la prédiction de mouvement et activation de l'unité de traitement de pixels Après plusieurs cycles de macro-bloc à partir de l'activation de l'unité de prédiction de mouvement, le résultat de la prédiction de mouvement, c'est-à-dire divers modes de prédiction de mouvement, des vecteurs de mouvement en arrière dans les directions horizontale et verticale et des fonctions évaluées les concernant, est prélevé dans la partie de commande d'unité de prédiction (iii) Reading the result of the motion prediction and activation of the pixel processing unit After several macro-block cycles from the activation of the motion prediction unit, the result of the motion prediction , i.e., various motion prediction modes, motion vectors backward in the horizontal and vertical directions, and evaluated functions thereof are taken from the prediction unit control portion
de mouvement 206 par l'intermédiaire du bus local LB 4. movement 206 via the local bus LB 4.
La partie de commande d'unité de prédiction de mouvement 206 détermine le mode de prédiction et le vecteur de mouvement par l'utilisation de la fonction d'évaluation précitée Le vecteur de mouvement déterminé est transféré vers la partie de commande de mémoire d'intervalle d'image 205 par l'intermédiaire du bus interne 212 La partie de commande de mémoire d'intervalle d'image 205 calcule une adresse de l'image prédite sur la The motion prediction unit control portion 206 determines the prediction mode and the motion vector by use of the aforesaid evaluation function. The determined motion vector is transferred to the interval memory control portion. image 205 through the internal bus 212 The image gap memory control portion 205 calculates an address of the predicted image on the
base du vecteur de mouvement d'entrée La partie de com- base of the input motion vector The game part
mande de mémoire d'intervalle d'image 205 commande la mémoire tampon d'intervalle d'image 51 et l'unité de traitement de pixels 33 sur la base de l'adresse calculée, et elle transfère vers l'unité de traitement de pixels 33 les données d'image prédites correspondant au vecteur de mouvement. En outre, la partie de commande de mémoire d'intervalle d'image 205 émet les données de modèle vers l'unité de traitement de pixels 33 d'une manière similaire à celle décrite ci-dessus (du fait que le pipeline est Image interval memory command 205 controls the image interval buffer 51 and the pixel processing unit 33 based on the calculated address, and transfers to the pixel processing unit. The predicted image data corresponding to the motion vector. Further, the image gap memory control portion 205 transmits the pattern data to the pixel processing unit 33 in a manner similar to that described above (because the pipeline is
différent de celui des données de modèle mentionnées ci- different from the model data mentioned above.
dessus, il est nécessaire d'effectuer à nouveau le trans- above, it is necessary to carry out the trans-
fert), et en activant l'unité de traitement de pixels 33, elle fait en sorte que l'unité de traitement de pixels 33 effectue la transformation en cosinus discrète et les fer), and by activating the pixel processing unit 33, it causes the pixel processing unit 33 to perform the discrete cosine transform and the
processus suivants L'ordre pour l'activation et les para- following processes The order for activation and para-
mètres nécessaires pour le codage dans l'unité de traite- meters required for coding in the treatment unit.
ment de pixels 33 (par exemple la moitié par instruction de filtre) sont placés ici dans un registre déterminé dans l'unité de traitement de pixels 33, par l'intermédiaire de la partie de commande de données de code 205 ou de la pixels (e.g. half by filter instruction) are placed here in a determined register in the pixel processing unit 33, via the code data control part 205 or the
partie d'interface d'hôte 201, en utilisant le même pipe- host interface part 201, using the same pipe-
line L'unité de traitement de pixels 303 est conçue de façon à pouvoir être conditionnée à partir des deux ports précités. (iv) Lecture et traitement à longueur variable des données de code, et écriture dans la mémoire tampon Les données traitées dans l'unité de traitement line The pixel processing unit 303 is designed so that it can be packaged from the two aforementioned ports. (iv) Reading and variable length processing of the code data, and writing to the buffer data processed in the processing unit
de pixels 33 (c'est-à-dire les données qui ont été soumi- pixels 33 (ie the data that was submitted to
ses au filtrage, à la transformation en cosinus discrète, à la quantification, ou autre) sont écrites temporairement dans la mémoire tampon 6 par l'intermédiaire du bus de code CB, ou bien elles sont transférées directement vers la partie de commande de données de code 207 de l'unité de commande 23, par la commande qui est exercée par la partie de commande d'ensemble 202 Le format de données à ce moment correspond soit à l'index de quantification (données après quantification) soit aux données de plage/ niveau (l'index de quantification précité converti en plage/niveau). La partie de commande de données de code 207 filtering, discrete cosine transformation, quantization, or the like) are written temporarily to the buffer memory 6 via the code bus CB, or they are transferred directly to the data control portion of code 207 of the control unit 23, by the command that is exerted by the set control part 202 The data format at this time corresponds either to the quantization index (data after quantization) or to the range data / level (the aforementioned quantization index converted to a range / level). The code data control part 207
reçoit les données à un moment arbitraire et elle trans- receives the data at an arbitrary time and trans-
fère ces données vers le processeur à longueur variable 209 par l'intermédiaire du quatrième bus interne 213 Le processeur à longueur variable 209 effectue ce que l'on appelle un codage de Huffman sur les données, conformément à un micro-programme, et il écrit le résultat dans une mémoire tampon externe 6 Au moment de la conversion de code, correspondant par exemple au codage de Huffman, il est possible d'accéder à des données de table qui sont to the variable-length processor 209 via the fourth internal bus 213 The variable-length processor 209 performs so-called Huffman coding on the data, in accordance with a micro-program, and writes the result in an external buffer 6 At the time of the code conversion, corresponding for example to the Huffman coding, it is possible to access table data which are
enregistrées dans la mémoire de travail 7. saved in working memory 7.
On décrira dans ce qui suit la manière selon laquelle le processeur principal 204 participe au codage In what follows, the manner in which the main processor 204 participates in coding will be described below.
dans le traitement décrit ci-dessus. in the treatment described above.
Lorsqu'une détermination autre que la détermina- Where a determination other than the determination
tion qui est effectuée dans la partie de commande d'unité de prédiction de mouvement 206 doit être accomplie, par exemple lorsqu'un utilisateur désire utiliser son propre procédé de détermination, le processus se déroule de la manière suivante Le processeur principal 204 accède à un registre dans lequel sont mémorisés des vecteurs et des valeurs évaluées pour divers modes de prédiction dans la partie de commande d'unité de prédiction de mouvement 206, par l'intermédiaire du bus principal 214 Lesvecteurs et les valeurs évaluées sont traités uniquement sous la forme de macro-codes et ils sont retournés au registre d'origine en une durée prédéterminée Il en résulte qu'un traitement If the user wishes to use his own determination method, the process proceeds in the following manner. The main processor 204 accesses a control unit that is performed in the motion prediction unit control part 206. register in which vectors and evaluated values are stored for various prediction modes in the motion prediction unit control part 206, via the main bus 214 The vectors and evaluated values are processed only in the form of macro-codes and they are returned to the original register in a predetermined time.
adaptatif tel qu'une détermination devient possible. adaptive as a determination becomes possible.
Le processeur principal 204 traite essentielle- The main processor 204 essentially deals with
ment des couches situées à un niveau supérieur à celui de la couche de macro-bloc (conformément à la norme MPEG 1/2) En d'autres termes, le processeur principal 204 est responsable de processus qui sont accomplis au niveau GOP/image/tranche Par exemple, le processeur principal 204 fixe des paramètres de codage de l'image suivante sur la base de la quantité de codes utilisés dans le codage de l'image précédente Le processeur principal 204 prend également en charge des modes exceptionnels tels que la commande de cadence, le rafraîchissement synchrone, la commande interne forcée, etc Les processus principaux dans la couche de macro-bloc comprennent la quantification adaptative qui est effectuée sur la base de l'activité In other words, the main processor 204 is responsible for processes that are performed at the GOP / image / level. For example, the main processor 204 sets encoding parameters of the next image based on the amount of codes used in the encoding of the previous image. The main processor 204 also supports exceptional modes such as the command. of cadence, synchronous refresh, forced internal control, etc. The main processes in the macro-block layer include adaptive quantization that is performed on the basis of activity
calculée.calculated.
Comme décrit ci-dessus, le processeur principal 204 est capable d'accéder à un registre ou une mémoire dans chaque unité de l'unité de commande 23, de façon qu'il puisse se référer aux registres ou à la mémoire, accomplir un certain processus tel qu'une opération et As described above, the main processor 204 is able to access a register or memory in each unit of the control unit 23, so that it can refer to the registers or the memory, accomplish some process such as an operation and
réécrire le contenu du registre ou de la mémoire, à condi- rewrite the contents of the register or memory, provided that
tion que ces opérations soient achevées au cours d'une étape de processus acceptable prédéterminée Ceci procure that these operations are completed during a predetermined acceptable process step.
un degré de liberté plus élevé dans le codage. a higher degree of freedom in the coding.
Comme on peut le voir d'après la description de As can be seen from the description of
l'opération de codage ci-dessus, le codage est accompli indépendamment dans chacune des unités de traitement sous l'effet d'une commande en mode pipeline qui est exercée par la partie de commande d'ensemble 202 dans l'unité de commande 23 En d'autres termes, les quatre opérations de commande de données mentionnées ci-dessus sont accomplies indépendamment les unes des autres et en parallèle les unes par rapport aux autres Le décodage d'images peut être accompli d'une manière similaire au codage, par un fonctionnement parallèle de blocs respectifs dans l'unité In the above coding operation, the coding is performed independently in each of the processing units by pipeline control which is exerted by the set control part 202 in the control unit 23. In other words, the four data control operations mentioned above are performed independently of one another and in parallel with each other. The decoding of images can be accomplished in a manner similar to the coding, by parallel operation of respective blocks in the unit
de commande 23, sous l'effet d'une commande en mode pipe- command 23, under the effect of a command in pipe-mode
line qui est exercée par la partie de commande d'ensemble 202. 3 Unité de traitement de pixels ( 1) Unité de traitement de pixels 31 (figures 18 et 19) La figure 18 est un schéma synoptique montrant un exemple de l'unité de traitement de pixels L'unité de traitement de pixels 31 qui est représentée sur la figure 18 est utilisée par exemple pour l'unité de traitement de line which is exerted by the set control portion 202. 3 Pixel processing unit (1) Pixel processing unit 31 (Figs. 18 and 19) Fig. 18 is a block diagram showing an example of the unit of The pixel processing unit 31 shown in FIG. 18 is used, for example, for the image processing unit.
pixels 3 représentée sur la figure 1. pixels 3 shown in FIG.
En se référant à la figure 18, on note que l'unité de traitement de pixels 31 comprend un circuit d'interface (I/F) d'hôte 311, un groupe de mémoires locales 312, une unité de traitement de transformation en cosinus discrète/transformation en cosinus discrète inverse (ou DCT/IDCT) 313, un quantificateur 314, un Referring to Fig. 18, it is noted that the pixel processing unit 31 comprises a host interface circuit (I / F) 311, a local memory group 312, a cosine transformation processing unit Discrete / inverse discrete cosine transformation (or DCT / IDCT) 313, a quantizer 314, a
filtre 315, un bus de sélecteur 316, un circuit d'inter- filter 315, a selector bus 316, an inter-
face de bus de données de code 317, un circuit d'interface de bus de pixel 318 et une unité de commande 319. Le circuit d'interface d'hôte 311 est incorporé code data bus face 317, a pixel bus interface circuit 318 and a control unit 319. The host interface circuit 311 is embedded
pour échanger des données avec le processeur hôte, c'est- to exchange data with the host processor, that is,
à-dire entre l'unité de commande 2 et l'unité de traite- between the control unit 2 and the treatment unit
ment de pixels 311 Le circuit d'interface de bus de pixel pixel number 311 The pixel bus interface circuit
318 est incorporé pour l'entrée/sortie de données d'image. 318 is incorporated for the input / output of image data.
Le circuit d'interface de bus de données de code 317 est The code data bus interface circuit 317 is
incorporé pour l'entrée/sortie de données de code. embedded for the input / output of code data.
L'unité de traitement DCT/IDCT 313 accomplit une opération de transformation en cosinus discrète (ou DCT) et une opération de transformation en cosinus discrète inverse Le quantificateur 314 est incorporé pour la The DCT / IDCT processing unit 313 performs a discrete cosine transform (DCT) operation and an inverse discrete cosine transform operation. The quantizer 314 is incorporated for the first time.
quantification Le filtre 315 est incorporé pour la géné- quantification The filter 315 is incorporated for the gen-
ration de données d'image de référence pour la prédiction de mouvement Le bus de sélecteur 316 est incorporé pour transférer des données internes de l'unité de traitement de pixels 31 L'unité de commande 319 est incorporée pour la commande d'ensemble de l'unité de traitement de pixels 31. La figure 19 est un schéma synoptique plus détaillé de l'unité de traitement de pixels 31 qui est représentée sur la figure 18 Le groupe de mémoires locales 312 qui est représenté sur la figure 18 comprend des mémoires d'image 331 à 335 représentées sur la figure 19, des mémoires de données 341 et 342, une mémoire de données de code 343 et une mémoire de paramètres 344 Le bus de sélecteur 316 qui est représenté sur la figure 18 reference image data ration for motion prediction The selector bus 316 is incorporated to transfer internal data of the pixel processing unit 31 The control unit 319 is incorporated for the overall control of the pixel processing unit 31. Fig. 19 is a more detailed block diagram of the pixel processing unit 31 shown in Fig. 18. The local memory group 312 shown in Fig. 18 includes memory memories. 331 to 335 shown in Fig. 19, data memories 341 and 342, a code data memory 343 and a parameter memory 344 The selector bus 316 shown in Fig. 18
comprend des bus de sélecteur SB 1 à SB 5 qui sont repré- comprises selector bus SB 1 to SB 5 which are
sentés sur la figure 19.shown in Figure 19.
La mémoire d'image 331 est incorporée pour enre- The image memory 331 is incorporated to record
gistrer des données d'image à comprimer Les mémoires d'image 332 et 333 enregistrent des données d'image de référence d'intervalles d'image précédents et suivants La mémoire d'image 334 enregistre les données d'image de référence traitées, qui ont été filtrées La mémoire d'image 335 enregistre des données d'image à décoder La mémoire de données de code 343 enregistre des données de code quantifiées La mémoire de paramètres 344 enregistre des données de table pour une opération, comme une matrice store image data to be compressed The image memories 332 and 333 record reference image data from previous and next image intervals. The image memory 334 stores the processed reference image data, which The image memory 335 records image data to be decoded. The code data memory 343 records quantized code data. The parameter memory 344 stores table data for an operation, such as a matrix.
de quantification.of quantification.
Le bus de sélecteur SB 1 a une largeur de bus de 12 bits et il transfère des données d'image de référence filtrées Le bus de sélecteur SB 2 a une largeur de bus de 12 bits et il transfère des données de différence après calcul de différence et après transformation en cosinus discrète inverse Le bus de sélecteur SB 3 a une largeur de bus de 12 bits et il est incorporé pour transférer un The SB 1 selector bus has a 12-bit bus width and it transfers filtered reference picture data. The SB 2 selector bus has a 12-bit bus width and it transfers difference data after difference calculation. and after inverse discrete cosine transformation The selector bus SB 3 has a bus width of 12 bits and is incorporated to transfer a
facteur de transformation en cosinus directe après trans- direct cosine transformation factor after trans-
formation en cosinus directe et après quantification inverse Le bus de sélecteur SB 4 a une largeur de bus de 12 bits et il est incorporé pour transférer des données de code après quantification inverse et après développement des zéros Le bus de sélecteur SB 5 a une largeur de bus de 16 bits et il est incorporé pour transférer des données de paramètres. ( 2) Unité de traitement de pixels 32 (figures 20 et 21) La figure 20 est un schéma synoptique montrant Direct cosine formation and after inverse quantization The selector bus SB 4 has a bus width of 12 bits and is incorporated to transfer code data after inverse quantization and after development of the zeros. The selector bus SB 5 has a width of 16-bit bus and it is embedded to transfer parameter data. (2) Pixel processing unit 32 (Figs. 20 and 21) Fig. 20 is a block diagram showing
un autre exemple de l'unité de traitement de pixels. another example of the pixel processing unit.
L'unité de traitement de pixels 32 qui est représentée sur la figure 20 peut également être utilisée par exemple pour l'unité de traitement de pixels 3 qui est représentée sur The pixel processing unit 32 shown in FIG. 20 can also be used, for example, for the pixel processing unit 3 which is shown in FIG.
la figure 1.Figure 1.
En se référant à la figure 20, on note qu'en comparaison avec l'unité de traitement de pixels 31 qui est représentée sur la figure 19, l'unité de traitement de pixels 32 comprend en outre une unité de traitement programmable 320 L'unité de traitement programmable 320 est connectée au bus de sélecteur 326 et elle est capable d'effectuer diverses autres opérations conformément à des programmes qui sont enregistrés dans cette unité. Par exemple, l'unité de traitement programmable 320 accomplit des opérations fréquemment utilisées telles que l'addition, la soustraction, la sommation de valeurs absolues de différence, l'accumulation de valeurs absolues de différence, la sommation de carrés de différence, l'accumulation de carrés de différence, la multiplication, Referring to Fig. 20, it will be noted that in comparison with the pixel processing unit 31 shown in Fig. 19, the pixel processing unit 32 further comprises a programmable processing unit 320 L '. programmable processing unit 320 is connected to selector bus 326 and is capable of performing various other operations in accordance with programs that are registered in this unit. For example, the programmable processing unit 320 performs frequently used operations such as addition, subtraction, summation of difference absolute values, accumulation of difference absolute values, summation of difference squares, accumulation of difference squares, multiplication,
etc, conformément à des programmes enregistrés. etc., according to recorded programs.
La figure 21 est un schéma synoptique plus détaillé de l'unité de traitement de pixels 32 qui est représentée sur la figure 20 Comme représenté sur la figure 21, l'unité de traitement programmable 320 ajoutée est connectée au bus de sélecteur SB 1 à SB 5 De plus, l'unité de traitement programmable 320 est connectée à la Fig. 21 is a more detailed block diagram of the pixel processing unit 32 shown in Fig. 20. As shown in Fig. 21, the added programmable processing unit 320 is connected to the selector bus SB 1 to SB In addition, the programmable processing unit 320 is connected to the
*mémoire de paramètres 344.* parameter memory 344.
( 3) Fonctionnement des unités de traitement de pixels 31 et 32 On décrira le fonctionnement de l'unité de traitement de pixels 31 en se référant à la figure 19 On décrira à titre d'exemple une opération de codage d'image animée du type à accumulation, conformément à la norme MPEG. Le circuit d'interface de bus de pixel 318 reçoit des données d'image à coder provenant de la mémoire d'intervalle d'image 51 représentée sur la figure 1, et il (3) Operation of the Pixel Processing Units 31 and 32 The operation of the pixel processing unit 31 will be described with reference to Fig. 19. An example of a motion picture coding operation of the type will be described by way of example. with accumulation, according to the MPEG standard. The pixel bus interface circuit 318 receives image data to be encoded from the frame interval memory 51 shown in FIG.
applique les données à la mémoire d'image 331 par l'inter- apply the data to image memory 331 through
médiaire du bus de pixel interne IPB 2 Si une prédiction mediator of the IPB internal pixel bus 2 If a prediction
de mouvement est nécessaire, des données d'image de réfé- movement is required, reference image data
rence sont appliquées à la mémoire d'image 332 dans le cas are applied to the image memory 332 in the case
de la prédiction en avant D'autre part, dans la prédic- prediction on the other hand, in the prediction
tion bidirectionnelle, les données d'image de référence de l'intervalle d'image précédent et de l'intervalle d'image suivant sont transférées vers les mémoires d'image 332 et 333. Dans la prédiction en avant, les données qui sont enregistrées dans la mémoire d'image 332 sont appli- quées au filtre 315 Le filtre 315 effectue un filtrage et les données de référence traitées sont écrites dans la bidirectional data, the reference image data of the previous image interval and the next image interval are transferred to the image memories 332 and 333. In the forward prediction, the data that is recorded in the image memory 332 are applied to the filter 315 The filter 315 performs a filtering and the processed reference data is written into the
mémoire d'image 334.image memory 334.
Dans le cas de la prédiction bidirectionnelle, In the case of bidirectional prediction,
des données d'image de référence en avant qui sont enre- forward reference image data which is recorded
gistrées dans la mémoire d'image 332 sont appliquées au filtre 315, tandis que des données d'image de référence en arrière qui sont enregistrées dans la mémoire d'image 333 sont également appliquées au filtre 315 Dans le filtre 315, un filtrage et une interpolation sont effectués sur stored in the image memory 332 are applied to the filter 315, while backward reference image data which is stored in the image memory 333 is also applied to the filter 315. In the filter 315, a filter and a interpolation are performed on
les données d'image de référence appliquées, et les don- the reference image data applied, and the data
nées d'image de référence générées sont écrites dans la generated reference image are written in the
mémoire d'image 334.image memory 334.
Un générateur de différence 310 transfère vers le bus de sélecteur SB 2 des données d'image à coder qui A difference generator 310 transfers to the selector bus SB 2 image data to be encoded which
sont enregistrées dans la mémoire d'image 331 Le généra- are stored in the image memory 331 The general
teur de différence 310 applique au bus de sélecteur SB 2, en fonction des besoins, des données de différence entre les données d'image à coder et les données d'image de référence qui sont enregistrées dans la mémoire d'image 334. L'unité de traitement DCT/IDCT 313 accomplit une opération de transformation en cosinus discrète sur les données d'image ou les données de différence qui sont appliquées par l'intermédiaire du bus de sélecteur SB 2 dans le codage, et elle transfère par le bus de sélecteur SB 3 le facteur de transformation en cosinus inverse qui est généré Lorsqu'une opération de bouclage pour le codage et le décodage est effectuée, l'unité de traitement DCT/IDCT 313 accomplit une opération de transformation en cosinus discrète inverse sur le facteur de transformation en cosinus discrète qui est appliqué par l'intermédiaire du bus de sélecteur SB 3, et elle génère des données d'image ou des données de différence Les données générées sont transférées par le bus de sélecteur SB 2. Difference converter 310 applies to the selector bus SB 2, as needed, difference data between the image data to be encoded and the reference image data which is stored in the image memory 334. The DCT / IDCT processing unit 313 performs a discrete cosine transform operation on the image data or difference data that is applied via the selector bus SB 2 in the encoding, and it transfers over the bus selector SB 3 the inverse cosine transform factor that is generated When a loopback operation for coding and decoding is performed, the DCT / IDCT processing unit 313 performs a reverse discrete cosine transform operation on the discrete cosine transformation which is applied via the selector bus SB 3, and generates image data or difference data. have transferred via selector bus SB 2.
Le quantificateur 314 effectue une quantifica- The quantizer 314 performs a quantization
tion sur le facteur DCT qui est appliqué par le bus de sélecteur SB 3, en se référant à la mémoire de paramètres 344 Les données de code qui sont obtenues sous l'effet de la quantification sont transférées par le bus de sélecteur on the DCT factor which is applied by the selector bus SB 3, with reference to the parameter memory 344 The code data which is obtained under the effect of the quantization are transferred by the selector bus
SB 4 vers la mémoire de données de code 343 Dans l'opéra- SB 4 to the code data memory 343 In the operation
tion de bouclage pour le codage et le décodage, le quanti- loopback for coding and decoding, quantum-
ficateur 314 accomplit une quantification inverse des données de code qui sont appliquées par l'intermédiaire du bus de sélecteur SB 4 Le facteur DCT qui est obtenu sous l'effet de la quantification inverse est transféré par le The indicator 314 performs an inverse quantization of the code data that is applied via the selector bus SB 4. The DCT factor that is obtained under the effect of the inverse quantization is transferred by the
bus de sélecteur SB 3.selector bus SB 3.
Dans le codage, le circuit d'interface de bus de données de code 317 reçoit par l'intermédiaire du bus de sélecteur SB 5 des données de code qui sont enregistrées dans la mémoire de données de code 343 Le circuit d'interface de bus de données de code 314 fournit, sans modification, les données de code reçues à un bus de données de code externe, c'est-à-dire le bus de code CD qui est représenté sur la figure 1 Dans certains cas, les données sont converties en code de plage/niveau par le circuit d'interface de bus de données de code 317 et elles sont émises vers le bus de code CB Dans le décodage, le circuit d'interface de bus de données de code 317 effectue une quantification inverse sur les données de code qui sont appliquées par l'intermédiaire du bus de sélecteur SB 4 Le facteur de transformation en cosinus discrète qui est obtenu sous l'effet de la quantification inverse est In the coding, the code data bus interface circuit 317 receives code data from the SB selector bus 5 which is stored in the code data memory 343. The bus interface interface circuit 315 is code data 314 provides, without modification, the received code data to an external code data bus, i.e. the CD code bus shown in Fig. 1 In some cases, the data is converted in code range / level by the code data bus interface circuit 317 and are transmitted to the code bus CB In the decoding, the code data bus interface circuit 317 performs inverse quantization on the code data that is applied via the selector bus SB 4 The discrete cosine transform factor that is obtained under the effect of the inverse quantization is
transféré par le bus de sélecteur SB 3. transferred via the selector bus SB 3.
Dans le processus de décodage d'image de référence pour le codage et le décodage, le décodeur d'image 310 fournit des données d'image de référence qui sont appliquées par l'intermédiaire du bus de sélecteur SB 1, et les données du résultat de l'addition de données de différence décodées, si une prédiction de mouvement est nécessaire, et les données sont enregistrées dans la mémoire d'image 335 D'autre part, si la prédiction de mouvement n'est pas nécessaire, les données d'image décodées sont émises sans modification et elles sont In the reference picture decoding process for encoding and decoding, the picture decoder 310 provides reference picture data which is applied via the selector bus SB 1, and the result data. the addition of decoded difference data, if a motion prediction is required, and the data is stored in the image memory 335 On the other hand, if the motion prediction is not necessary, the data of decoded images are issued without modification and they are
enregistrées dans la mémoire d'image 335. stored in the image memory 335.
Le circuit d'interface d'hôte 331 reçoit des ordres de fonctionnement pour l'unité de traitement de pixels 31 et des paramètres tels qu'une matrice de quantification, par l'intermédiaire du bus d'hôte HB représenté sur la figure 1 D'autre part, le circuit d'interface d'hôte 311 fournit à l'extérieur des données qui sont enregistrées dans les mémoires internes 331 à 335 et 341 à 344, ainsi que des données qui sont enregistrées The host interface circuit 331 receives operation commands for the pixel processing unit 31 and parameters such as a quantization matrix, via the host bus HB shown in FIG. on the other hand, the host interface circuit 311 provides externally data which is stored in the internal memories 331 to 335 and 341 to 344, as well as data which is recorded.
dans des registres internes.in internal registers.
( 4) Séquence d'opérations dans l'unité de traitement de pixels (figures 22 à 25) (i) Séquence pour le codage d'image prédite intra-intervalle d'image, conformément à la norme MPEG La figure 22 est un organigramme du codage dans l'unité de traitement de pixels 31 qui est représentée sur la figure 19 En se référant à la figure 22, on note que les données d'image qui sont enregistrées dans la mémoire d'image 331 sont appliquées au générateur de différence 310 Les données appliquées ne sont absolument pas traitées dans ce cas, et elles sont appliquées à l'unité de traitement DCT/IDCT 313 par l'intermédiaire du bus de sélecteur SB 2 Après le traitement de transformation en cosinus discrète dans l'unité de traitement 313, des (4) Sequence of operations in the pixel processing unit (Figs. 22-25) (i) Sequence for intra-image predicted image coding in accordance with MPEG Fig. 22 is a flowchart coding in the pixel processing unit 31 shown in Fig. 19 Referring to Fig. 22, it is noted that the image data which is stored in the image memory 331 is applied to the difference generator 310 The applied data are not processed in this case at all, and they are applied to the DCT / IDCT processing unit 313 via the selector bus SB 2 After the discrete cosine transform processing in the control unit. treatment 313,
données indiquant le résultat du traitement sont appli- data indicating the result of the treatment are applied
quées au quantificateur 314 par l'intermédiaire du bus de quantizer 314 via the bus of
sélecteur SB 3.selector SB 3.
Le quantificateur 314 effectue la quantification The quantizer 314 performs the quantization
en se référant à la mémoire de paramètres 344 par l'inter- referring to the parameter memory 344 through
médiaire du bus de sélecteur SB 5 Des données indiquant le résultat de la quantification, c'est-à-dire des données de code, sont appliquées à la mémoire de données de code 343 The data of the quantization result, i.e., code data, are applied to the code data memory 343.
et elles sont enregistrées dans cette dernière Les don- and they are recorded in the latter.
nées enregistrées dans la mémoire de données de code 343 sont appliquées au bus de code externe CB (figure 1) par l'intermédiaire du bus de sélecteur SB 4 et du circuit The outputs stored in the code data memory 343 are applied to the external code bus CB (FIG. 1) via the selector bus SB 4 and the circuit.
d'interface de bus de données de code 317. code data bus interface 317.
La figure 23 est un organigramme pour le déco- Figure 23 is a flowchart for deco-
dage dans l'unité de traitement de pixels 31 qui est représentée sur la figure 19 En se référant à la figure in the pixel processing unit 31 shown in Fig. 19 Referring to FIG.
23, on note que les données à décoder, qui sont enregis- 23, we note that the data to be decoded, which are recorded
trées dans la mémoire de données de code 343, sont appli- stored in the code data memory 343, are applied to
quées au quantificateur 314 par l'intermédiaire du bus de quantizer 314 via the bus of
sélecteur SB 4 Le quantificateur 314 effectue une quanti- selector SB 4 The quantizer 314 performs a quanti-
fication inverse, en se référant à la mémoire de paramè- reverse, referring to the parameter memory.
tres 344 par l'intermédiaire du bus de sélecteur SB 5 Des données indiquant le résultat de la quantification inverse sont appliquées à l'unité de traitement DCT/IDCT 313 par 344 via the selector bus SB 5 Data indicating the result of the inverse quantization are applied to the DCT / IDCT processing unit 313 by
l'intermédiaire du bus de sélecteur SB 3. via the selector bus SB 3.
L'unité de traitement 313 effectue une opération de transformation en cosinus discrète inverse sur les données appliquées Des données indiquant le résultat de The processing unit 313 performs a reverse discrete cosine transform operation on the applied data Data indicating the result of
l'opération sont appliquées au décodeur 310 par l'intermé- the operation are applied to the decoder 310 via the
diaire du bus de sélecteur SB 2 Le décodeur 310 effectue une opération de limitation sur les données appliquées, et les données traitées sont appliquées à la mémoire d'image The decoder 310 performs a limiting operation on the applied data, and the processed data is applied to the image memory.
335 pour être enregistrées dans cette dernière. 335 to be registered in the latter.
(ii) Séquence pour le codage avec prédiction bidirectionnelle conformément à la norme MPEG En se référant à la figure 24, on note que dans le codage, les données d'image de la direction avant qui sont enregistrées dans la mémoire d'image 332 et les (ii) Sequence for bidirectional prediction coding according to the MPEG standard Referring to Fig. 24, it is noted that in the coding, the forward direction image data which is stored in the image memory 332 and the
données d'image de la direction arrière qui sont enregis- rear direction image data that is recorded
trées dans la mémoire d'image 333, sont appliquées au filtre 315 Le filtre 315 accomplit un traitement de génération d'image avec précision 1/2 et d'interpolation de pixel sur les données appliquées Les données traitées sont appliquées à la mémoire d'image 334 et elles sont enregistrées dans cette dernière Les données qui sont enregistrées dans la mémoire d'image 334 sont appliquées au générateur de différence 310 par l'intermédiaire du bus de sélecteur SB 1 D'autre part, les données d'image à coder qui sont enregistrées dans la mémoire d'image 331 The filter 315 performs a 1/2 image processing and pixel interpolation on the applied data. The processed data is applied to the memory of the data store. image 334 and they are recorded in the latter The data which is stored in the image memory 334 is applied to the difference generator 310 via the selector bus SB 1 On the other hand, the image data to be encoded which are saved in the image memory 331
sont également appliquées au générateur de différence 310. are also applied to the difference generator 310.
Le générateur de différence 310 effectue une opération de The difference generator 310 performs an operation of
calcul de différence de pixel sur les données appliquées. pixel difference calculation on the applied data.
L'unité de traitement DCT/IDCT 313 reçoit les The DCT / IDCT processing unit 313 receives the
données de différence provenant du générateur de diffé- difference data from the difference generator
rence 310 par l'intermédiaire du bus de sélecteur SB 2. 310 via the selector bus SB 2.
L'unité de traitement 313 effectue une opération de trans- The processing unit 313 performs a transaction operation.
formation en cosinus discrète sur les données reçues, et des données représentatives du résultat de l'opération sont appliquées au quantificateur 314 par l'intermédiaire du bus de sélecteur SB 3 Le quantificateur 314 effectue une quantification des données appliquées en se référant à la mémoire de paramètres 344 par l'intermédiaire du bus de sélecteur SB 5 Les données représentatives du résultat de la quantification sont appliquées à la mémoire de données de code 343 par l'intermédiaire du bus de sélecteur SB 4, discrete cosine formation on the received data, and data representative of the result of the operation are applied to the quantizer 314 via the selector bus SB 3 The quantizer 314 quantizes the applied data with reference to the memory of parameters 344 via the SB selector bus 5 The data representative of the quantization result are applied to the code data memory 343 via the selector bus SB 4,
et elles sont enregistrées dans cette dernière. and they are recorded in the latter.
( 5) Traitement pipeline (figures 26) 29) La figure 26 est un diagramme temporel montrant le traitement pipeline pour le codage dans l'unité de traitement de pixels 31 qui est représentée sur la figure 19 En se référant à la figure 26, on note que dans la période de fonctionnement A, des données d'écriture pour la mémoire d'image 331 sont transférées par le bus de pixel interne IPB 2 Dans la période de fonctionnement B, des données d'écriture pour la mémoire d'image 332 sont transférées par le bus de pixel interne IPB 2 Dans la période de fonctionnement C, des données d'écriture pour la mémoire d'image 333 sont transférées par le bus de (5) Pipeline Processing (Figs. 26) 29) Fig. 26 is a time chart showing the pipeline processing for coding in the pixel processing unit 31 which is shown in Fig. 19 Referring to Fig. 26, note that in the operating period A, write data for the image memory 331 is transferred by the internal pixel bus IPB 2 In the operating period B, write data for the image memory 332 are transferred by the internal pixel bus IPB 2 In the operating period C, write data for the image memory 333 is transferred by the data bus.
pixel interne IPB 2.internal pixel IPB 2.
Dans la période de fonctionnement D, le filtre 315 est en action Dans la période de fonctionnement E, la transformation en cosinus discrète et la quantification sont effectuées par l'unité de traitement DCT/IDC 313 et le quantificateur 314 Dans la période de fonctionnement F, la quantification inverse et la transformation en cosinus discrète inverse, ainsi que le décodage, sont effectués par l'unité de traitement 313, le quantificateur In the operating period D, the filter 315 is in operation In the operating period E, the discrete cosine transformation and the quantization are performed by the DCT / IDC processing unit 313 and the quantizer 314 In the operating period F , inverse quantization and inverse discrete cosine transformation, as well as decoding, are performed by the processing unit 313, the quantizer
314 et le décodeur d'image 310.314 and the picture decoder 310.
Dans la période de fonctionnement G, l'opération de lecture dans la mémoire d'image 335 est effectuée Dans In the operating period G, the read operation in the image memory 335 is performed in
la période de fonctionnement H, les opérations de combi- the operating period H, the combined operations
naison plage/niveau et de sortie sont effectuées par le range / level and output are performed by the
circuit d'interface de bus de données de code 317. code data bus interface circuit 317.
Les processus qui sont représentés sur la figure The processes that are represented in the figure
26 sont successivement accomplis macro-bloc par macro- 26 are successively completed macro-block by macro-
bloc Plus précisément, bien que le traitement de données d'image d'un seul macro-bloc soit représenté sur la figure 26, un traitement pipeline est effectué pour un certain nombre de macro-blocs On décrira dans ce qui suit le block More precisely, although the image data processing of a single macroblock is shown in FIG. 26, a pipeline processing is performed for a certain number of macroblocks.
traitement pipeline pour un ensemble de macro-blocs. pipeline processing for a set of macroblocks.
La figure 27 est un diagramme temporel montrant le traitement pipeline dans la prédiction intra-trame En se référant à la figure 27, on note que le suffixe O désigne le traitement de données du 0-ième macro-bloc, et Fig. 27 is a time chart showing the pipeline processing in intra-frame prediction. Referring to Fig. 27, it is noted that the suffix O designates the data processing of the 0-th macro-block, and
que le suffixe 1 désigne le traitement du 1 er macro-bloc. the suffix 1 designates the processing of the first macroblock.
La figure 28 est un diagramme temporel montrant Figure 28 is a time chart showing
le traitement pipeline dans le cas de la prédiction uni- pipeline processing in the case of the single prediction
directionnelle La figure 29 est un diagramme temporel directional Figure 29 is a temporal diagram
montrant le traitement pipeline dans le cas de la prédic- showing pipeline processing in the case of prediction
tion bidirectionnelle Comme on peut le voir sur les figures 27 à 29, le traitement de données pour un ensemble de macro-blocs est effectué sous la commande du traitement pipeline dans l'unité de traitement de pixels 3, et le traitement de données peut être accompli efficacement en relation avec le traitement dans l'unité de traitement de pixels 3 En d'autres termes, on obtient une unité de traitement de pixels qui permet une transformation en cosinus discrète As can be seen in FIGS. 27 to 29, the data processing for a set of macroblocks is performed under the control of the pipeline processing in the pixel processing unit 3, and the data processing can be performed. accomplished effectively in connection with the processing in the pixel processing unit 3 In other words, there is obtained a pixel processing unit which allows discrete cosine transformation
et une quantification efficaces et rapide. and efficient and fast quantification.
( 6) Unité de traitement de pixels 33 La figure 93 est un schéma synoptique montrant encore un autre exemple de l'unité de traitement de (6) Pixel processing unit 33 Fig. 93 is a block diagram showing yet another example of the processing unit of
pixels L'unité de traitement de pixels 33 qui est repré- pixels The pixel processing unit 33 which is
sentée sur la figure 93 peut être utilisée pour l'unité de traitement de pixels qui est représentée par exemple sur 93 may be used for the pixel processing unit which is represented for example on
les figures 83 à 89 et la figure 91. Figures 83 to 89 and Figure 91.
En se référant à la figure 93, on note que l'unité de traitement de pixels 33 diffère de l'unité de traitement de pixels 31 représentée sur la figure 18 par le fait qu'elle comprend deux jeux de circuits d'interface de bus de pixel 318 a et 318 b A l'exception de ce point, elle est identique à l'unité de traitement de pixels 31 représentée sur la figure 18 Par conséquent, les parties correspondantes sont désignées par les mêmes symboles de Referring to Fig. 93, it is noted that the pixel processing unit 33 differs from the pixel processing unit 31 shown in Fig. 18 in that it comprises two sets of bus interface circuits. 318a and 318b except for this point, it is identical to the pixel processing unit 31 shown in FIG. 18 Therefore, the corresponding parts are designated by the same symbols of
référence et leur description n'est pas répétée. reference and their description is not repeated.
La figure 94 est un schéma synoptique plus détaillé de l'unité de traitement de pixels 33 qui est représentée sur la figure 93 En se référant à la figure 94, on note que chacun des bus de pixel IPB 2 a et IPB 2 b a Fig. 94 is a more detailed block diagram of the pixel processing unit 33 shown in Fig. 93 Referring to Fig. 94, it is noted that each of the IPB 2a and IPB 2b pixel buses has
une largeur de bus de 32 bits et est connecté respective- a bus width of 32 bits and is connected respectively
ment à des circuits d'interface de bus de pixel dédiés to dedicated pixel bus interface circuits
318 a et 318 b et à des mémoires d'image 331 à 333 et 335. 318a and 318b and to image memories 331 to 333 and 335.
A l'exception de ces points, elle est identique à l'unité de traitement de pixels 31 qui est représentée sur la figure 19 Par conséquent, les parties correspondantes sont désignées par les mêmes symboles de référence et leur With the exception of these points, it is identical to the pixel processing unit 31 which is shown in FIG. 19. Consequently, the corresponding parts are designated by the same reference symbols and their
description n'est pas répétée.description is not repeated.
On va maintenant décrire le fonctionnement de l'unité de traitement 33 En se référant à la figure 94, on décrira à titre d'exemple de fonctionnement le codage The operation of the processing unit 33 will now be described. Referring to FIG. 94, the coding will be described by way of example of operation.
d'une image animée conformément à la norme MPEG. a moving picture in accordance with the MPEG standard.
Dans la norme MPEG, on utilise la prédiction en In the MPEG standard, the prediction in
avant, la prédiction en arrière et la prédiction bidirec- before, backward prediction and bidirectional prediction
tionnelle, et des données de prédiction doivent être transférées à partir de l'extérieur conformément au type de prédiction Le transfert des données pour la prédiction est effectué par l'intermédiaire du circuit d'interface de bus de pixel 318 a ou 318 b Des données d'image à coder sont également transférées par l'intermédiaire du circuit d'interface de bus de pixel 318 a ou 318 b La compression d'image est accomplie dans le filtre 325, l'unité de traitement DCT/IDCT 313, le quantificateur 314 et le générateur de différence et décodeur d'image 310, et les données sont fournies par l'intermédiaire du circuit d'interface de bus de données de code 317 D'autre part, l'image qui est décodée de façon locale dans l'unité de traitement de pixels 33 est transférée vers des unités externes séparées par les circuits d'interface de pixel 318 a et 318 b Les premières données décodées de façon locale qui sont transférées sont utilisées à titre de données d'entrée pour l'unité de prédiction de mouvement 47 représentée sur la figure 87, par exemple Les autres données décodées de façon locale qui sont transférées sont utilisées à titre de données d'image prédites pour le and the prediction data must be transferred from the outside according to the prediction type. The data transfer for the prediction is performed via the pixel bus interface circuit 318a or 318b. image to be coded are also transferred via the pixel bus interface circuit 318a or 318b Image compression is accomplished in the filter 325, the DCT / IDCT processing unit 313, the quantizer 314 and the difference generator and picture decoder 310, and the data is provided via the code data bus interface circuit 317. On the other hand, the picture which is decoded locally in the picture. pixel processing unit 33 is transferred to external units separated by pixel interface circuits 318a and 318b The first locally decoded data that is transferred is used as data The other locally decoded data that is transferred is used as predicted image data for the motion prediction unit 47 shown in FIG.
traitement de l'intervalle d'image suivant. processing of the next image interval.
Comme décrit ci-dessus, l'unité de traitement de pixels 33 qui est représentée sur la figure 94 permet le transfert de données d'image décodées de façon locale vers un ensemble d'unités externes, de façon simultanée, et elle permet également le transfert de données d'image prédites à partir d'un port, pendant que des données d'image de référence sont transférées de l'unité de prédiction de mouvement vers la mémoire locale par l'autre port Le port de transfert de l'image prédite n'est pas As described above, the pixel processing unit 33 shown in Fig. 94 permits the transfer of locally decoded image data to a set of external units simultaneously, and also allows the transfer of decoded picture data locally to a set of external units simultaneously. transferring predicted image data from one port, while reference image data is transferred from the motion prediction unit to the local memory by the other port The image transfer port predicted is not
limité à un seul, mais l'image prédite peut être transfé- limited to one, but the predicted image can be transferred
rée par un port ou l'autre Par conséquent, on peut changer aisément la structure du système et le procédé de Therefore, one can easily change the structure of the system and the method of
transfert de données.data transfer.
La figure 95 est un schéma synoptique montrant un autre exemple de l'unité de traitement de pixels 33 qui est représentée sur la figure 93 L'unité de traitement de Fig. 95 is a block diagram showing another example of the pixel processing unit 33 shown in Fig. 93. The processing unit of FIG.
pixels 33 qui est représentée sur la figure 95 peut égale- pixels 33 which is shown in Figure 95 may also
ment être utilisée pour l'unité de traitement de pixels be used for the pixel processing unit
qui est représentée sur les figures 83 à 89 et 91. which is shown in Figures 83 to 89 and 91.
En se référant à la figure 95, on note qu'en comparaison avec l'unité de traitement de pixels 33 qui Referring to Figure 95, it is noted that compared to the pixel processing unit 33 which
est représentée sur la figure 94, dans l'unité de traite- shown in FIG. 94, in the treatment unit
ment de pixels 33 a le bus de pixel IPB 2 est connecté à deux circuits d'interface de bus de pixel 318 a et 318 b, et un bus interne est utilisé en commun pour le transfert de données de pixel A l'exception de ces points, elle est identique à l'unité de traitement de pixels 33 qui est The pixel bus 33 to the pixel bus IPB 2 is connected to two pixel bus interface circuits 318a and 318b, and an internal bus is used in common for the pixel data transfer. points it is identical to the pixel processing unit 33 which is
représentée sur la figure 94 La description n'est donc shown in Figure 94 The description is not
pas répétée.not repeated.
On décrira dans ce qui suit le fonctionnement de l'unité de traitement de pixels 33 a En se référant à la figure 95, on note que le bus de pixel interne IPB 2 est utilisé en commun Par conséquent, lorsque des données The operation of the pixel processing unit 33 will be described in the following. Referring to Fig. 95, it is noted that the IPB internal pixel bus 2 is used in common.
décodées de façon locale doivent être transférées simulta- decoded locally must be transferred simultaneously
nément vers deux circuits d'interface de bus de pixel 318 a et 318 b, une opération similaire à celle de l'unité de traitement de pixels 33 représentée sur la figure 94 est accomplie. Dans la structure décrite ci-dessus, l'unité de traitement de pixels 33 a peut transférer simultanément vers plusieurs unités externes des données qui sont décodées de façon locale En outre, pendant que des données d'image de référence sont transférées de la mémoire locale vers l'unité de prédiction de mouvement, des données peuvent être transférées vers l'unité de traitement de pixels 35 par un autre port En outre, du fait que le bus de pixel IPB 2 est utilisé en commun, il est possible de réduire l'aire de circuit, et cette configuration se prête donc à l'obtention d'un degré Natively to two pixel bus interface circuits 318a and 318b, an operation similar to that of the pixel processing unit 33 shown in Fig. 94 is accomplished. In the structure described above, the pixel processing unit 33a can simultaneously transfer data that are locally decoded to a plurality of external units. In addition, while reference image data is transferred from the local memory. to the motion prediction unit, data can be transferred to the pixel processing unit 35 through another port. In addition, since the IPB pixel bus 2 is used in common, it is possible to reduce the number of pixels. circuit area, and this configuration is therefore suitable for obtaining a degree
d'intrégration plus élevé.higher integration.
4 Processeur à longueur variable Deux structuresde système sont proposées dans ce qui suit, et on décrira des processeurs pour réaliser des 4 Variable length processor Two system structures are proposed in the following, and processors will be described to realize
structures de système respectives.respective system structures.
( 1) Première structure de système (figures 30 à ) La figure 30 est un schéma synoptique montrant une première structure de système pour le traitement à longueur variable Le processeur à longueur variable ayant la structure de système qui est représentée sur la figure peut être appliqué par exemple au processeur à longueur (1) First system structure (Figs. 30a) Fig. 30 is a block diagram showing a first system structure for variable length processing The variable length processor having the system structure shown in the figure can be applied for example to the processor to length
variable 12 qui est représenté sur la figure 9. variable 12 which is shown in FIG.
En se référant à la figure 30, on note que la première structure de système comprend une mémoire de table 401 pour le codage à longueur variable, une mémoire de table 402 pour le décodage à longueur variable, une mémoire d'entrée de train de codesà longueur variable 403, une mémoirede sortie de train de codesà longueur variable 404, une mémoire d'entrée 405 pour des données à coder, et une mémoire de sortie 406 pour des données à coder Le Referring to FIG. 30, it will be noted that the first system structure comprises a table memory 401 for variable length coding, a table memory 402 for variable length decoding, a code train input memory. variable length 403, a variable length code stream output memory 404, an input memory 405 for data to be encoded, and an output memory 406 for data to be encoded.
processeur à longueur variable 121 est connecté aux mémoi- variable length processor 121 is connected to the memory
res 401 à 406 par l'intermédiaire d'une ligne bus BU. res 401 to 406 via a BU bus line.
La figure 31 est un organigramme du codage à Figure 31 is a flowchart of the coding to
longueur variable dans la première structure de système. variable length in the first system structure.
On décrira des traitements pour le codage à longueur variable en se référant à la figure 31 A l'étape 431, des données à coder sur lesquelles porte la conversion sont appliquées de la mémoire d'entrée 405 pour les données à coder, à une mémoire interne dans le processeur à longueur variable 121 Les données à coder sont définies ici par la Processes for variable length coding will be described with reference to Fig. 31. In step 431, data to be coded to which the conversion is applied are applied from the input memory 405 for the data to be coded to a memory. internal to the variable length processor 121 The data to be encoded is defined here by the
combinaison de "PLAGE" et de "NIVEAU" Dans la description combination of "BEACH" and "LEVEL" In the description
qui suit, les données à coder seront représentées par (RN, LV) Les données appliquées à coder sont transmises au générateur d'adresse (non représenté) dans le processeur à longueur variable 121, et un code à longueur variable et sa longueur de code sont obtenus par référence à la following, the data to be encoded will be represented by (RN, LV) The applied data to be encoded is transmitted to the address generator (not shown) in the variable length processor 121, and a variable length code and its code length are obtained by reference to the
mémoire de table 411 pour le codage à longueur variable. table memory 411 for variable length coding.
Le code à longueur variable et la longueur de code sont enregistrés dans la mémoire interne dans le processeur à The variable length code and the code length are stored in the internal memory in the processor.
longueur variable 121.variable length 121.
A l'étape 433, on détermine si le code à longueur variable qui est obtenu est ou non un code de changement de code (ESCAPE) Lorsqu'un code de changement de code est obtenu, un code à longueur fixe est généré à l'étape 434 en couplant le code de changement de code et les données (RN, LV) Après la génération du code à longueur fixe, la séquence passe à l'étape 435 D'autre part, si le code de changement de code, c'est-à- dire le code " 000001 " n'est pas obtenu à l'étape 433, la séquence In step 433, it is determined whether or not the variable length code that is obtained is a code change code (ESCAPE) When a code change code is obtained, a fixed length code is generated at the same time. step 434 by coupling the code change code and the data (RN, LV) After the generation of the fixed length code, the sequence proceeds to step 435 On the other hand, if the code change code, c ' that is, the code "000001" is not obtained in step 433, the sequence
passe à l'étape 435.go to step 435.
A l'étape 435, un train de codes à longueur variable est généré en couplantdes données de codes à longueur variable Après la génération du train de codes à longueur variable, le train de codes à longueur variable In step 435, a variable length code stream is generated by coupling variable length code data. After generating the variable length code stream, the variable length code stream
est émis à l'étape 436.is issued at step 436.
La figure 32 est un organigramme du décodage à Fig. 32 is a flowchart of decoding at
longueur variable dans la première structure de système. variable length in the first system structure.
On décrira des traitements pour le décodage à longueur We will describe treatments for decoding at length
variable en se référant à la figure 32. variable with reference to Figure 32.
En premier lieu, à l'étape 441, un train de codes à longueur variable est appliqué par la mémoire d'entrée de train de codes à longueur variable 403, repré- sentée sur la figure 30, au processeur à longueur variable 121 Le processeur à longueur variable 121 extrait le code First, in step 441, a variable length code train is applied by the variable length code train input memory 403, shown in FIG. 30, to the variable length processor 121. variable length 121 extract code
à longueur variable de tête à l'étape 442 Plus précisé- at variable length of head at step 442
ment, sur la base de la longueur de code du code à longueur variable immédiatement précédent, la tête du code à longueur variable suivant est reconnue, et des données à 14 bits, c'est-à-dire la longueur de code maximale du code à longueur variable, sont extraites à partir de la tête du based on the code length of the immediately preceding variable length code, the head of the following variable length code is recognized, and 14-bit data, i.e., the maximum code length of the code variable length, are extracted from the head of the
code à longueur variable suivant.next variable length code.
Ensuite, à l'étape 443, un code à longueur variable et la longueur de code, c'est-à-dire les données (RN, LV), sont obtenus par référence à la mémoire de table 402, pour le décodage Plus précisément, des données à 14 bits, c'est-à-dire la longueur maximale du code à longueur variable, partant de la tête du code à longueur variable obtenu, sont appliquées à un générateur d'adresse, non représenté, et un signal d'adresse pour la référence à la mémoire de table 402 pour le décodage, est généré par le générateur d'adresse En utilisant le signal d'adresse, on se réfère à la mémoire de table 402 pour le décodage, grâce à quoi on obtient le code à longueur variable et sa Then, in step 443, a variable length code and the code length, i.e. the data (RN, LV), are obtained by reference to the table memory 402, for the decoding More precisely , 14-bit data, i.e. the maximum length of the variable length code, starting from the head of the resulting variable length code, are applied to an address generator, not shown, and a signal d address for reference to table memory 402 for decoding, is generated by the address generator Using the address signal, reference is made to table memory 402 for decoding, whereby we obtain the variable length code and its
longueur de code.code length.
A l'étape 444, on détermine si le code de changement de code '0000001 " est obtenu ou non Si le code de changement de code est obtenu à l'étape 445, 16 bits de données faisant suite au code de changement de code In step 444, it is determined whether the code change code '0000001' is obtained or not. If the code change code is obtained in step 445, 16 bits of data following the code change code
" 000001 " sont extraits pour les données décodées (RN, LV). "000001" are extracted for the decoded data (RN, LV).
Après l'opération de l'étape 445, la séquence passe à l'étape 446 Si le code de changement de code n'est pas After the operation of step 445, the sequence proceeds to step 446 If the code change code is not
obtenu à l'étape 444, la séquence passe à l'étape 446. obtained in step 444, the sequence proceeds to step 446.
A l'étape 446, les données décodées (RN, LV) At step 446, the decoded data (RN, LV)
sont émises.are issued.
On va maintenant décrire la structure d'enregis- We will now describe the record structure
trement de données pour les données enregistrées dans la mémoire de table 401 pour le codage à longueur variable et les données enregistrées dans la mémoire de table 402 pour le décodage à longueur variable, qui sont représentées sur data for data stored in table memory 401 for variable length coding and data stored in table memory 402 for variable length decoding, which are represented on
la figure 30 La figure 33 montre la structure d'enregis- Figure 30 Figure 33 shows the record structure
trement de données de la mémoire de table 401 pour le codage à longueur variable Comme on peut le voir sur la figure 33, la mémoire de table 401 pour le codage à longueur variable fournit le codage à longueur variable enregistré VC et la longueur de code CL par référence aux données (RN, LV) Les données de plage RN ont une longueur de 6 bits Les données de niveau LV ont une longueur de 10 bits Le code à longueur variable a une longueur de 14 bits Les données de longueur de code CL ont une longueur Data from table memory 401 for variable length coding As can be seen in Fig. 33, table memory 401 for variable length coding provides VC registered variable length coding and CL code length. by reference to the data (RN, LV) The range data RN has a length of 6 bits The LV level data has a length of 10 bits The variable length code has a length of 14 bits The code length data CL have been a length
de 4 bits.of 4 bits.
La figure 34 montre la structure d'enregistre- Figure 34 shows the record structure
ment de données de la mémoire de table 402 pour le déco- table 402 memory data for the deco-
dage à longueur variable Comme on peut le voir sur la figure 34, la mémoire de table 402 pour le décodage à longueur variable fournit les données de niveau LV, les données de plage RN et les données de longueur de code CL, en se référant au code à longueur variable VC Les données As can be seen in Fig. 34, table memory 402 for variable length decoding provides the LV level data, the range data RN, and the code length data CL, with reference to FIG. variable length code VC The data
de longueur de code CL ont une longueur de 4 bits. CL code lengths are 4 bits in length.
Les données d'entrée VC qui sont utilisées pour se référer à la mémoire de table 402 pour le décodage à longueur variable ont une longueur, en bits, qui est égale The VC input data that is used to refer to the table memory 402 for variable length decoding has a length, in bits, that is equal
à la longueur de code maximale du code à longueur varia- at the maximum code length of the variable length code
ble Par conséquent, lorsqu'il y a un code qui est plus court que la longueur de code maximale dans les bits Therefore, when there is a code that is shorter than the maximum code length in the bits
supérieurs des données d'entrée VC, le résultat du déco- of the VC input data, the result of the deco-
dage des bits supérieurs est émis en priorité, quelle que soit la configuration des bits inférieurs Par exemple, les mêmes données 416 et 418 seraient obtenues quelles que soient les données d'entrée 415 et 417 représentées sur la figure 34 qui sont utilisées pour la référence à la For example, the same data 416 and 418 would be obtained regardless of the input data 415 and 417 shown in FIG. 34 which are used for the reference. to the
mémoire de table 402.table memory 402.
On va maintenant décrire un procédé de généra- tion du train de codes à longueur variable La figure 35 A method of generating the variable length code train will now be described.
est un organigramme qui montre le processus pour la géné- is a flow chart that shows the process for gener-
ration du train de codes à longueur variable On suppose que six registres 421 à 426 sont préparés pour générer un train de codes à longueur variable On suppose également que le processeur à longueur variable a une largeur de traitement de données de N bits On suppose ainsi que les Variable length code train generation It is assumed that six registers 421 to 426 are prepared to generate a variable length code train. It is also assumed that the variable length processor has a data processing width of N bits. the
registres 421 à 426 ont chacun une largeur de N bits. registers 421 to 426 each have a width of N bits.
En se référant à la figure 35, on suppose que le registre 421 contient un code à longueur variable VC 1 et que le registre 422 contient la longueur de code k du code à longueur variable VC 1 On suppose que le registre 523 contient un code à longueur variable VC 2 et que le registre 424 contient la longueur de code j du code à longueur variable VC 2 On suppose également que le registre 425 contient un code à longueur variable VC 3 et que le registre 426 contient la longueur de code m du code Referring to Fig. 35, it is assumed that register 421 contains a variable length code VC 1 and that register 422 contains the code length k of variable length code VC 1. It is assumed that register 523 contains a code to variable length VC 2 and that the register 424 contains the code length j of the variable length code VC 2 It is also assumed that the register 425 contains a variable length code VC 3 and that the register 426 contains the code length m of the code
à longueur variable VC 3.variable length VC 3.
Premièrement, le code à longueur variable VC 1 qui est contenu dans le registre 421 est appliqué au First, the variable length code VC 1 that is contained in the register 421 is applied to the
registre 426 Le registre 426 enregistre des bits respec- register 426 Register 426 records bits corresponding to
tifs du code à longueur variable VC 1, dans l'ordre, en partant du bit de plus fort poids (ou MSB) En d'autres termes, le registre 426 contient le code à longueur variable VC 1 de k bits, à partir du bit de plus fort poids. A l'étape 427, la longueur de code j du code à longueur variable VC 2 est comparée avec (n k) Si j C (n-k), le code à longueur variable VC 2 qui est contenu dans le registre 423 est appliqué au registre 426 Le registre 426 contient le code à longueur variable VC 2 après le code à longueur variable VC 1 On effectue une opération dans le registre 426 en décalant le code à longueur variable VC 2 de k bits du côté du bit de moindre poids (ou LSB), et ensuite en accumulant des bits corres- pondants des codes à longueur variable VC 1 et VC 2, ou en effectuant une opération OU entre ces bits Il en résulte que le registre 86 contient ensuite des données à (k+j) bits couplées, c'est-à-dire un train de codes à longueur In other words, the register 426 contains the variable length code VC 1 of k bits, starting from the highest-order bit (or MSB). bit of highest weight. In step 427, the code length j of the variable length code VC 2 is compared with (nk) If j C (nk), the variable length code VC 2 which is contained in the register 423 is applied to the register 426 The register 426 contains the variable length code VC 2 after the variable length code VC 1. An operation is performed in the register 426 by shifting the variable length code VC 2 from k bits to the least significant bit (LSB) side. , and then by accumulating corresponding bits of the variable length codes VC 1 and VC 2, or by performing an OR operation between these bits. As a result, the register 86 then contains coupled (k + j) bit data, that is to say a string of codes at length
variable (VC 1 + VC 2).variable (VC 1 + VC 2).
A ce stade, il reste toujours de la place pour (n-k-j) bits dans le registre 426, et par conséquent le registre 426 est ensuite utilisé pour contenir le code à At this stage, there is still room for (n-k-j) bits in register 426, and hence register 426 is then used to hold the code to
longueur variable VC 3.variable length VC 3.
A l'étape 427, lorsque j >(n-k), sur le code à longueur variable VC 2 dans le registre 423, seules les données correspondant à (n-k) bits sont contenues dans le registre 426 Plus précisément, le code à longueur variable VC 2 est décalé de k bits et une accumulation ou une opération OU est effectuée entre les codes à longueur variable VC 1 et VC 2 Il en résulte que le registre 426 est rempli avec k bits du code à longueur variable VC 1 et par une partie du code à longueur variable VC 2 qui comprend In step 427, when j> (nk), on the variable length code VC 2 in the register 423, only the data corresponding to (nk) bits are contained in the register 426 More precisely, the variable length code VC 2 is shifted by k bits and an accumulation or OR operation is performed between the variable length codes VC 1 and VC 2. As a result, the register 426 is filled with k bits of the variable length code VC 1 and part of the variable length code VC 2 which includes
(n-k) bits.(n-k) bits.
A l'étape 428, les données qui ont été intro- At step 428, the data that was introduced
duites dans le registre 426 sont émises Après l'émission des données, le code à longueur variable VC 2 ayant (j+k-n) in the register 426 are issued After the transmission of the data, the variable length code VC 2 having (j + k-n)
bits qui reste dans le registre 423 est appliqué au regis- which remains in register 423 is applied to the regis-
tre 426 Le registre 426 contient les données appliquées, c'est-à- dire les bits restants du code à longueur variable VC 2, dans l'ordre à partir du côté du bit de plus fort poids. De cette manière, le registre 426 est rempli par The register 426 contains the applied data, i.e. the remaining bits of the variable length code VC 2, in order from the most significant bit side. In this way, the register 426 is filled by
des codes à longueur variable qui sont appliqués succes- variable length codes that are applied successively
sivement, et N bits de données qui ont été introduits sont successivement émis sous la forme du train de codes à longueur variable Le train de codes à longueur variable est segmenté en effectuant de façon répétée un décalage de données, une opération logique, un comptage de la longueur de code du code à longueur variable et une détermination, sily, and N data bits that have been input are successively output as the variable length code train The variable length code train is segmented by repetitively performing a data shift, a logic operation, a the code length of the variable length code and a determination,
comme dans les processus décrits ci-dessus, pour la géné- as in the processes described above, for the gen-
ration du train de codes à longueur variable. ration of the variable length code train.
( 2) Processeur à longueur variable (circuit spécialisé: figure 36) La figure 36 est un schéma synoptique montrant un premier exemple du processeur à longueur variable En se référant à la figure 36, on note que le processeur à longueur variable 120 comprend un registre d'adresse 451, une mémoire morte 452 et un circuit de traitement de sortie 453 Ces circuits internes 451, 452 et 453 sont (2) Variable length processor (dedicated circuit: Fig. 36) Fig. 36 is a block diagram showing a first example of the variable length processor Referring to Fig. 36, it is noted that the variable length processor 120 includes a register address 451, a read-only memory 452 and an output processing circuit 453. These internal circuits 451, 452 and 453 are
constitués par des circuits spécialisés. constituted by specialized circuits.
( 3) Processeur à longueur variable (processeur de signal numérique: figure 37) La figure 37 est un schéma synoptique montrant un second exemple du processeur à longueur variable Le processeur à longueur variable 123 est constitué par un processeur de signal numérique En se référant à la figure 37, on note que le processeur à longueur variable 123 comprend un circuit d'interface externe 461, une unité arithmétique et logique (UAL) 462, un circuit de décalage 463, une mémoire 464, une mémoire d'instructions 465 et un (3) Variable length processor (digital signal processor: Figure 37) Figure 37 is a block diagram showing a second example of the variable length processor The variable length processor 123 is constituted by a digital signal processor Referring to FIG. 37 shows that the variable length processor 123 comprises an external interface circuit 461, an arithmetic and logic unit (UAL) 462, an offset circuit 463, a memory 464, an instruction memory 465 and a
circuit de commande 466.control circuit 466.
( 4) Processeur à longueur variable (microproces- (4) Variable length processor (microprocessors)
seur universel: figure 38) La figure 38 est un schéma synoptique montrant un troisième exemple du processeur à longueur variable Le processeur à longueur variable 124 est constitué par un microprocesseur universel En se référant à la figure 38, on note que le processeur à longueur variable 124 comprend une unité d'exécution (EU) 471 qui comprend un groupe de registres 473; une unité d'interface de bus 472 qui comprend un groupe de registres à repositionnement 474; Figure 38 is a block diagram showing a third example of the variable length processor The variable length processor 124 is constituted by a universal microprocessor Referring to Figure 38, it is noted that the variable length processor 124 comprises an execution unit (EU) 471 which comprises a group of registers 473; a bus interface unit 472 which includes a repositioning register group 474;
une unité arithmétique et logique 475; un registre d'indi- an arithmetic and logical unit 475; a register of indi-
cateurs 476; une unité d'interface de bus 477; une file d'attente d'instructions 478; et un circuit de commande/ 476; a bus interface unit 477; an instruction queue 478; and a control circuit /
synchronisation 479.synchronization 479.
Les processeurs à longueur variable 122, 123 et 124 qui sont représentés respectivement sur les figures 36, 37 et 38 ont tous la première structure de système qui est représentée sur la figure 30, et les processus de la première structure de système, décrits ci-dessus, sont accomplis. ( 5) Seconde structure de système (figure 39) La figure 39 est un schéma synoptique montrant une seconde structure de système pour le traitement à The variable length processors 122, 123 and 124 which are respectively shown in Figs. 36, 37 and 38 all have the first system structure shown in Fig. 30, and the processes of the first system structure, described above. above, are accomplished. (5) Second system structure (Fig. 39) Fig. 39 is a block diagram showing a second system structure for processing
longueur variable La structure de système qui est repré- variable length The system structure that is
sentée sur la figure 39 est mise en oeuvre par exemple dans l'appareil de compression/décompression d'image qui shown in FIG. 39 is implemented for example in the image compression / decompression apparatus which
est représenté sur la figure 1.is shown in Figure 1.
En se référant à la figure 39, on note que la mémoire de travail 7 comprend une mémoire de table 481 pour le codage à longueur variable, et une mémoire de Referring to Fig. 39, it is noted that the working memory 7 comprises a table memory 481 for variable length coding, and a memory of
table 482 pour le décodage à longueur variable Ces mémoi- table 482 for variable length decoding
res de table 481 et 482 sont connectées au processeur à 481 and 482 are connected to the processor at
longueur variable 125 par des bus 491 et 492. variable length 125 by buses 491 and 492.
La mémoire tampon 6 comprend une mémoire d'entrée 483 pour un train de codes à longueur variable, une mémoire de sortie 484 pour un train de codes à The buffer memory 6 comprises an input memory 483 for a variable length code train, an output memory 484 for a code train to be used.
longueur variable, une mémoire d'entrée 485 pour des don- variable length, an input memory 485 for data
nées à coder, et une mémoire de sortie 486 pour des don- to be encoded, and an output memory 486 for data
nées à coder La mémoire d'entrée 483 et la mémoire de sortie 484 pour des trains de codes sont connectées au processeur à longueur variable 125 par l'intermédiaire de bus 493 et 495 La mémoire d'entrée et la mémoire de The input memory 483 and the output memory 484 for code streams are connected to the variable length processor 125 via buses 493 and 495. The input memory and the memory
sortie pour les trains de codes sont connectées au proces- output for the code trains are connected to the process
seur à longueur variable 125 et au circuit d'interface variable length 125 and the interface circuit
d'hôte 1 par un bus 494.of host 1 by a bus 494.
La mémoire d'entrée 485 pour les données à coder et la mémoire de sortie 486 pour les données à coder sont connectées au processeur à longueur variable 125 par l'intermédiaire de bus 496 et 498 La mémoire d'entrée 485 et la mémoire de sortie 486 sont connectées au processeur à longueur variable 125 et à l'unité de traitement de The input memory 485 for the data to be encoded and the output memory 486 for the data to be encoded are connected to the variable length processor 125 via buses 496 and 498. The input memory 485 and the output memory 486 are connected to the variable length processor 125 and the processing unit of
pixels 3 par le bus 497.pixels 3 by bus 497.
( 6) Processeur à longueur variable (figure 40) (6) Variable length processor (Figure 40)
La figure 40 est un schéma synoptique du proces- Figure 40 is a block diagram of the process
seur à longueur variable 125 qui est représenté sur la variable length 125 which is represented on the
figure 39 Le processeur à longueur variable 125 repré- FIG. 39 The variable length processor 125 represents
senté sur la figure 40 est donc applicable par exemple au processeur à longueur variable 120 qui est représenté sur 40 is therefore applicable for example to the variable length processor 120 which is shown in FIG.
la figure 9.Figure 9.
En se référant à la figure 40, on note que le processeur à longueur variable 125 comprend une unité de commande 501, un générateur d'adresse 502, un circuit Referring to Fig. 40, it is noted that the variable length processor 125 comprises a control unit 501, an address generator 502, a circuit
d'interface externe 503, une unité de traitement de don- external interface 503, a data processing unit
nées 504, un circuit de génération/séparation de train de codes à longueur variable 505, un circuit d'interface externe 506, des circuits d'interface externes 507 et une mémoire de données 508 Ces circuits internes 501 à 508 sont connectés par un premier bus interne 509 D'autre part, le circuit d'interface externe 503 et le circuit de 504, a variable-length code train generation / separation circuit 505, an external interface circuit 506, external interface circuits 507 and a data memory 508. These internal circuits 501 to 508 are connected by a first one. On the other hand, the external interface circuit 503 and the
génération/séparation de train de codes à longueur varia- generation / separation of variable length code trains
ble 505 sont connectés par un second bus interne 510. 505 are connected by a second internal bus 510.
Le circuit d'interface externe 503 est connecté à un port principal 17 représenté sur la figure 9 par des bus 491 et 492 Le circuit d'interface externe 506 est connecté au port de données de code 20 représenté sur la The external interface circuit 503 is connected to a main port 17 shown in Fig. 9 by buses 491 and 492. The external interface circuit 506 is connected to the code data port 20 shown in FIG.
figure 9 par des bus 493, 494 et 495. FIG. 9 by buses 493, 494 and 495.
(i) Générateur d'adresse (figure 41) (i) Address Generator (Figure 41)
La figure 41 est un schéma synoptique du géné- Figure 41 is a block diagram of the gen-
rateur d'adresse 502 qui est représenté sur la figure 40. address editor 502 shown in FIG. 40.
En se référant à la figure 41, on note que le générateur d'adresse 502 comprend un registre de valeur limite positive 502, un registre de valeur limite négative 521, un registre de mode PE 522, un registre de page 523, des registres d'adresse 524 et 525, un décodeur de changement de code 526, un codeur de changement de code 527, un registre de changement de code 528, un registre de données 529, un circuit sélecteur 530, un circuit limiteur 531, un codeur à priorité 532, un circuit de décalage 533, un registre d'adresse externe 534, des registres pipelines 561, 562, 563 et un circuit OU (circuit destiné à produire une somme logique) 564 Les registres 520 à 525 sont connectés à un premier bus interne 509 Le sélecteur 530 est connecté à des premier et second bus internes 509 et 510 Le registre de données 529 et le registre d'adresse externe 534 sont connectés au circuit d'interface externe Referring to Fig. 41, it will be noted that the address generator 502 includes a positive limit value register 502, a negative limit register 521, a PE mode register 522, a page register 523, datalogue registers address 524 and 525, a code change decoder 526, a code change encoder 527, a code change register 528, a data register 529, a selector circuit 530, a limiter circuit 531, a priority encoder 532, an offset circuit 533, an external address register 534, pipeline registers 561, 562, 563 and an OR circuit (circuit for generating a logic sum) 564 Registers 520 to 525 are connected to a first internal bus The selector 530 is connected to first and second internal buses 509 and 510. The data register 529 and the external address register 534 are connected to the external interface circuit.
503 qui est représenté sur la figure 40. 503 which is shown in Figure 40.
La figure 42 est un organigramme du codage à longueur variable dans le générateur d'adresse 502 qui est représenté sur la figure 41 On décrira ultérieurement en Fig. 42 is a flowchart of the variable length coding in the address generator 502 shown in Fig. 41.
détail les traitements qui sont effectués dans le généra- detail the treatments that are carried out in the general
teur d'adresse 502, et on ne décrira ci-dessous que le address 502, and it will be described below only
fonctionnement de base.basic operation.
En se référant à la figure 42, on note qu'à l'étape 601 des données déterminées sont placées dans les Referring to FIG. 42, it is noted that in step 601 specific data are placed in the
* registres 520 à 523 qui sont représentés sur la figure 41.registers 520 to 523 which are shown in FIG.
A l'étape 602, des données à coder (RN, LV) sont appli- In step 602, data to be encoded (RN, LV) is applied.
quées au registre d'adresse 525 Les données à coder (RN, address register 525 The data to be coded (RN,
LV) ont un total de 16 bits, parmi lesquels 10 bits supé- LV) have a total of 16 bits, of which 10 bits
rieurs définissent les données de niveau LV et les 6 bits inférieurs définissent les données de plage RN Après l'étape 602, les traitements des étapes 603 à 605 et 606 à The first step is to define the level data LV and the lower 6 bits define the range data RN. After step 602, the processes of steps 603 to 605 and 606 to
607 sont effectués en parallèle.607 are performed in parallel.
A l'étape 603, les données qui sont contenues dans le registre d'adresse 525 sont appliquées au circuit limiteur 531 Le circuit limiteur 531 limite les 10 bits In step 603, the data contained in the address register 525 is applied to the limiting circuit 531. The limiting circuit 531 limits the 10 bits.
supérieurs des données appliquées, c'est-à-dire les don- applied data, that is, the data
nées de niveau LV, dans une plage qui est spécifiée par le registre de valeur limite positive 520 et le registre de valeur limite négative 521 Du fait de la limitation, on obtient des données à coder ayant un total de 12 bits, c'est-à-dire 6 bits de données de niveau LV et 6 bits de LV level, within a range that is specified by the positive limit register 520 and the negative limit register 521 Because of the limitation, data to be coded having a total of 12 bits is obtained. ie 6 bits of LV level data and 6 bits of
données de plage RN.RN range data.
Les données à coder ayant 12 bits sont appli- The data to be coded with 12 bits is
quées au circuit OU 564, une opération OU est effectuée to the OR circuit 564, an OR operation is performed
entre les données appliquées et les données qui provien- between the applied data and the data that
nent du registre de page 523, et des données couplées à 20 bits sont générées (étape 604) Les données générées sont enregistrées dans le registre d'adresse externe 534 (étape 605). A l'étape 606, les données à coder qui se trouvent dans le registre 525 sont appliquées au codeur de changement de code 527 et ce dernier génère un code à longueur fixe Plus précisément, il y a exécution d'un processus pour générer un code à longueur fixe lorsque les données à coder sont codées sous la forme d'un code à longueur fixe A l'étape 607, le code à longueur fixe qui est généré est enregistré dans le registre de changement The data is generated from the page register 523, and 20-bit coupled data is generated (step 604). The generated data is recorded in the external address register 534 (step 605). At step 606, the data to be encoded in the register 525 is applied to the code change encoder 527 and the latter generates a fixed length code. More precisely, a process is executed to generate a code. fixed length when the data to be encoded is encoded as a fixed length code In step 607, the fixed length code that is generated is stored in the change register
de code 528.of code 528.
La figure 43 est un organigramme du décodage à longueur variable dans le générateur d'adresse 502 qui est représenté sur la figure 41 On décrira des processus de Fig. 43 is a variable length decoding flowchart in the address generator 502 shown in Fig. 41.
base pour le décodage à longueur variable. basis for variable length decoding.
En se référant à la figure 43, on note qu'à l'étape 611 des données déterminées sont placées dans les registres 520 et 523 A l'étape 512, un train de codes à longueur variable à décoder est appliqué au registre d'adresse 524 Le registre 524 conserve 22 bits du train de codes à longueur variable appliqué, en partant du premier bit, dans l'ordre à partir du côté du bit de plus fort poids Après l'étape 512, les processus des étapes 613 à 616 et des étapes 617 et 618 sont accomplis en parallèle. A l'étape 613, les données conservées dans le registre d'adresse 524, c'est-à-dire le train de codes à longueur variable, sont appliquées au codeur à priorité 532 Le codeur à priorité 532 calcule le nombre SN de " O " continus, à partir du bit de plus fort poids des données Referring to Fig. 43, it is noted that in step 611 determined data is placed in the registers 520 and 523. At step 512, a variable length code train to be decoded is applied to the address register. Register 524 retains 22 bits of the variable length code stream applied, starting from the first bit, in order from the most significant bit side. After step 512, the processes of steps 613 through 616 and steps 617 and 618 are performed in parallel. In step 613, the data held in the address register 524, i.e. the variable length code stream, is applied to the priority encoder 532. The priority encoder 532 calculates the number SN of O "continuous, from the most significant bit of the data
appliquées.applied.
A l'étape 614, les données contenues dans le registre d'adresse 524 sont appliquées au circuit de décalage 533 Sous l'effet du nombre SN qui est calculé à l'étape 61, le circuit de décalage 533 extrait 6 bits de données qui sont au-dessous du (SN+ 1)-ième bit à partir du bit de plus fort poids des données appliquées Les données In step 614, the data contained in the address register 524 is applied to the shift circuit 533. Under the effect of the number SN which is calculated in the step 61, the shift circuit 533 extracts 6 bits of data which are below the (SN + 1) -th bit from the most significant bit of the applied data.
extraites sont appliquées au circuit OU 564. extracted are applied to the OR circuit 564.
A l'étape 615, le circuit OU 564 fournit une somme logique et 20 bits de données sont générés Les données qui sont générées sont enregistrées dans le In step 615, the OR circuit 564 provides a logical sum and 20 bits of data are generated. The data that is generated is recorded in the
registre d'adresse externe 534 (étape 616). external address register 534 (step 616).
D'autre part, à l'étape 617, les données conser- On the other hand, at step 617, the data held by
vées dans le registre d'adresse 524 sont appliquées au in the address register 524 are applied to the
décodeur de changement de code 526 Le décodeur de change- code change decoder 526 The currency decoder
ment de code 526 effectue un décodage, concernant le fait que les données appliquées consistent en un code à coding 526 performs a decoding, concerning the fact that the applied data consists of a code
longueur fixe, en utilisant le code de changement de code. fixed length, using the code change code.
Les données décodées sont enregistrées dans le registre de The decoded data is recorded in the register of
changement de code 528 (étape 618). code change 528 (step 618).
(ii) Circuit de génération/séparation de train de codes à longueur variable (figure 44) La figure 44 est un schéma synoptique du circuit de génération/séparation de train de codes à longueur variable 505 qui est représenté sur la figure 40 En se référant à la figure 44, on note que le circuit de (ii) Variable length code train generation / separation circuit (Fig. 44) Fig. 44 is a block diagram of the variable length code train generation / separation circuit 505 shown in Fig. 40 Referring in figure 44, we note that the circuit of
génération/séparation de train de codes à longueur varia- generation / separation of variable length code trains
ble 505 comprend un registre de bus 536, un circuit de décalage circulaire (ou BSFT) 537, un additionneur 538, un registre de longueur de code 539, un registre de sortie de code 540, un registre d'entrée de code 541, des circuits PEPS 542 et 543 et une unité de commande 544 Le registre 505 comprises a bus register 536, a circular shift circuit (or BSFT) 537, an adder 538, a code length register 539, a code output register 540, a code input register 541, PEPS circuits 542 and 543 and a control unit 544 The register
de bus 536 est connecté au premier bus interne 509. bus 536 is connected to the first internal bus 509.
L'additionneur 538 est connecté au second bus interne 510. The adder 538 is connected to the second internal bus 510.
Les circuits PEPS 502 et 503 sont connectés à un circuit d'interface externe 506 (que l'on décrira ultérieurement) représenté sur la figure 47, par l'intermédiaire de lignes PEPS circuits 502 and 503 are connected to an external interface circuit 506 (to be described later) shown in FIG. 47 through lines
de signal 42 a à 43 c.signal 42a to 43c.
La figure 45 est un organigramme du codage à longueur variable dans le circuit de génération/séparation Fig. 45 is a flowchart of the variable length coding in the generation / separation circuit
de train de codes à longueur variable 505 qui est repré- variable-length code train 505 which is
senté sur la figure 44 On décrira le fonctionnement de base du codage à longueur variable en se référant à la Figure 44 The basic operation of variable length coding will be described with reference to FIG.
figure 45.figure 45.
A l'étape 621, un code à longueur variable VC est appliqué au registre de bus 536 par l'intermédiaire du bus interne 509 Les données de longueur de code CL du In step 621, a variable length code VC is applied to the bus register 536 via the internal bus 509. The code length data CL of the
code à longueur variable VC sont appliquées à l'addition- variable length code VC are applied to the addition-
neur 538 par l'intermédiaire du second bus interne 510. neur 538 via the second internal bus 510.
A l'étape 622, le circuit de décalage circulaire 537 couple un ancien code à longueur variable VC', qui a déjà été appliqué en entrée, avec le nouveau code à longueur variable VC qui est appliqué au moment présent, et il génère un train de codes à longueur variable VCT A l'étape 623, l'additionneur 538 additionne la longueur de code CL du nouveau code à longueur variable à la somme de At step 622, the circular shift circuit 537 couples an old variable length code VC ', which has already been inputted, with the new variable length code VC being applied at the present time, and it generates a train In step 623, the adder 538 adds the code length CL of the new variable length code to the sum of
longueurs de code CLS qui est la somme accumulée. lengths of CLS code which is the accumulated sum.
A l'étape 624, on détermine si la somme de longueurs de code CLS dépasse ou non 8 bits Si CLS > 8, In step 624, it is determined whether or not the sum of CLS code lengths exceeds 8 bits if CLS> 8,
la séquence passe à l'étape 625.the sequence goes to step 625.
A l'étape 625, 8 bits de données à partir du premier bit du train de codes à longueur variable VCT sont appliqués au circuit PEPS 542 et sont enregistrés dans celui-ci A l'étape 626, une nouvelle longueur de code est In step 625, 8 data bits from the first bit of the variable length code train VCT are applied to the FIFO circuit 542 and are recorded therein. In step 626, a new code length is
calculée par une soustraction, c'est-à-dire CLS = CLS 8. calculated by subtraction, that is, CLS = CLS 8.
Après l'étape 626, la séquence retourne à l'étape 624. A l'étape 624, si CLS < 8, cette opération de After step 626, the sequence returns to step 624. In step 624, if CLS <8, this operation of
codage est terminée.coding is complete.
La figure 46 est un organigramme du décodage à longueur variable dans le circuit de génération/séparation Fig. 46 is a flowchart of variable length decoding in the generation / separation circuit
de train de codes à longueur variable 505 qui est repré- variable-length code train 505 which is
senté sur la figure 44 En se référant à la figure 46, on shown in Figure 44 Referring to Figure 46,
note qu'à l'étape 631 un train de codes à longueur varia- notes that at step 631 a string of codes with varying lengths
ble VCT est appliqué sur le premier bus interne 509 A l'étape 632, la longueur de code CL du premier code à longueur variable VC qui est inclus dans le train de codes à longueur variable VCT est appliquée à l'additionneur 538 par l'intermédiaire du second bus interne 510 A l'étape 633, l'additionneur 538 additionne la nouvelle longueur de VCT is applied to the first internal bus 509 In step 632, the code length CL of the first variable length code VC which is included in the variable length code string VCT is applied to the adder 538 by the intermediate of the second internal bus 510 In step 633, the adder 538 adds the new length of
code CL à la somme des anciennes longueurs de code CLS. CL code to the sum of the old lengths of CLS code.
A l'étape 634, on détermine si la somme de longueurs de code CLS dépasse ou non 8 bits Si CLS > 8, In step 634, it is determined whether or not the sum of CLS code lengths exceeds 8 bits if CLS> 8,
la séquence passe à l'étape 635.the sequence proceeds to step 635.
A l'étape 635, un mot de données est appliqué à partir de la mémoire d'entrée de train de codes à longueur variable 483, et ce mot est couplé au train de codes à longueur variable présent A l'étape 636, les 8 premiers bits de données sont éliminés du train de codes à longueur variable qui est couplé A l'étape 637, une nouvelle somme In step 635, a data word is applied from the variable length code stream input memory 483, and this word is coupled to the variable length code train present in step 636, the 8 first bits of data are removed from the variable length code stream which is coupled to step 637, a new sum
de longueurs de code CLS est obtenue en effectuant l'opé- lengths of CLS code is obtained by performing the operation
ration CLS = CLS 8 Après l'étape 637, le processus ration CLS = CLS 8 After step 637, the process
retourne à l'étape 634.returns to step 634.
A l'étape 634, lorsque CLS< 8, le processus de At step 634, when CLS <8, the process of
décodage est terminé.decoding is complete.
(iii) Circuit d'interface externe 606 (figure 47) La figure 47 est un schéma synoptique du circuit d'interface externe 506 qui est représenté sur la figure En se référant à la figure 47, on note que le circuit d'interface externe 506 comprend une unité de commande 505 ayant la fonction d'accès direct en mémoire (DMA), des compteurs d'accès de lecture 546 et 549, des compteurs d'accès d'écriture 547 et 548, des soustracteurs 565 et (iii) External Interface Circuit 606 (Fig. 47) Fig. 47 is a block diagram of the external interface circuit 506 shown in Fig. With reference to Fig. 47, it is noted that the external interface circuit 506 comprises a control unit 505 having the direct memory access function (DMA), read access counters 546 and 549, write access counters 547 and 548, subtracters 565 and
566, des comparateurs 550 et 558, des registres de géné- 566, comparators 550 and 558, gen-
ration d'indicateurs 551 à 554, un registre de données d'écriture 556, un registre de données de lecture 557 et 551 to 554, a write data register 556, a read data register 557, and
un sélecteur 555.a selector 555.
L'unité de commande 545 est connectée aux cir- The control unit 545 is connected to the circuits
cuits PEPS 542 et 543 représentés sur la figure 44 par PEPS 542 and 543 shown in FIG. 44 by
l'intermédiaire de lignes de signal 42 b, 42 c, 43 b et 43 c. via signal lines 42b, 42c, 43b and 43c.
Le registre 556 est connecté au circuit PEPS 542 repré- The register 556 is connected to the PEPS circuit 542 represented
senté sur la figure 44 par la ligne de signal 42 a Le registre 557 est connecté au circuit PEPS 543 représenté sur la figure 44 par la ligne de signal 43 a Les compteurs 546 et 547 sont connectés à la mémoire d'entrée de train de codes à longueur variable 438 et à la mémoire de sortie de train de codes à longueur variable 484, représentées 44 is connected to the PEPS circuit 543 shown in Fig. 44 by the signal line 43a. The counters 546 and 547 are connected to the code train input memory. variable length 438 and the variable length code train output memory 484, shown
sur la figure 39, par la ligne de signal 493 Les comp- in Fig. 39, by the signal line 493.
teurs 548 et 549 sont connectés à la mémoire d'entrée de train de codes à longueur variable 438, à la mémoire de sortie de train de codes à longueur variable 484 et au circuit d'interface d'hte l par l'intermédiaire de la ligne de signal 494 Le sélecteur 555 est connecté à la mémoire d'entrée de train de codes à longueur variable 483 et à la mémoire de sortie de train de codes à longueur variable 484, représentées sur la figure 39, par la ligne de signal 548 and 549 are connected to the variable length code stream input memory 438, the variable length code stream output memory 484 and the host interface circuit via the The selector 555 is connected to the variable length code train input memory 483 and the variable length code train output memory 484, shown in FIG. 39, by the signal line.
495.495.
Le compteur 546 compte le nombre d'accès de lecture à la mémoire d'entrée de train de codes à longueur variable 483 qui est représentée sur la figure 39 Le compteur 547 compte le nombre d'accès d'écriture à la mémoire de sortie de train de codes à longueur variable 484 qui est représentée sur la figure 39 Le compteur 548 compte le nombre d'accès d'écriture à la mémoire d'entrée de train de codes à longueur variable 483 à partir d'autres circuits Le compteur 549 compte le nombre d'accès de lecture à la mémoire de sortie de train de The counter 546 counts the number of read accesses to the variable length code stream input memory 483 shown in Fig. 39. The counter 547 counts the number of write accesses to the output memory of Variable length code train 484 shown in Fig. 39 Counter 548 counts the number of write accesses to the variable length code train input memory 483 from other circuits Counter 549 counts the number of read accesses to the train output memory of
codes à longueur variable 484 à partir d'autres circuits. variable length codes 484 from other circuits.
Le registre d'indicateur 551 produit un indica- Indicator register 551 produces an indica-
teur d'état plein qui indique l'état plein de la mémoire d'entrée de train de codes à longueur variable 483, et il conserve l'indicateur Le registre 552 produit et conserve un indicateur d'état vide qui indique l'état videde la mémoire d'entrée de train de codes à longueur variable 483 Le registre 553 produit et conserve un indicateur d'état plein qui indique l'état plein de la mémoire de solid State Indicator that indicates the full state of the variable-length code train input memory 483, and retains the flag. The register 552 generates and maintains an empty status flag which indicates the blank state. Variable length code train input memory 483 Register 553 generates and maintains a solid state flag which indicates the full state of the memory of the memory.
sortie de train de codes à longueur variable 484 Le comp- Variable length code train output 484
teur 554 produit et conserve un indicateur d'état vide qui indique l'état vide de la mémoire de sortie de train de 554 produces and maintains an empty status flag which indicates the empty state of the train output memory.
codes à longueur variable 484.variable length codes 484.
Le comparateur 550 produit un indicateur d'état plein FF 1 qui indique l'état plein de la mémoire d'entrée The comparator 550 produces a full status indicator FF 1 which indicates the full state of the input memory
de train de codes à longueur variable 483, ou un indica- variable-length code train 483, or an indica-
teur d'état vide EF 1 qui indique l'état vide de cette mémoire Le comparateur 558 produit un indicateur d'état plein FF 2 qui indique l'état plein de la mémoire de sortie de train de codes à longueur variable 84, ou un indicateur empty state meter EF 1 which indicates the empty state of this memory The comparator 558 produces a solid state flag FF 2 which indicates the full state of the variable length code stream output memory 84, or a indicator
d'état vide EF 2 qui indique l'état vide de cette mémoire. Empty state counter EF 2 which indicates the empty state of this memory.
La figure 48 est un organigramme du codage à longueur variable dans le circuit d'interface externe 506 Fig. 48 is a flowchart of the variable length coding in the external interface circuit 506
qui est représenté sur la figure 47 On décrira le fonc- which is shown in Figure 47 will describe the function
tionnement de base du codage à longueur variable en se basic coding of variable length
référant à la figure 48.referring to Figure 48.
A l'étape 641, on détecte si la mémoire de sortie de train de codes à longueur variable 484 est vide ou non En d'autres termes, on détecte s'il existe ou non In step 641, it is detected whether the variable-length code stream output memory 484 is empty or not. In other words, it is detected whether or not it exists.
un indicateur d'état vide EF 2 qui est fourni par le compa- an empty status indicator EF 2 which is provided by the comparison
rateur 558 Si l'indicateur d'état vide EF 2 n'est pas détecté, la séquence passe à l'étape 642 Si l'indicateur 558 If the empty status indicator EF 2 is not detected, the sequence proceeds to step 642 If the indicator
d'état vide EF 2 est détecté, le processus est terminé. blank state EF 2 is detected, the process is complete.
A l'étape 642, on détecte si la mémoire de sortie de train de codes à longueur variable 484 est At step 642, it is detected whether the variable-length code train output memory 484 is
pleine ou non En d'autres termes, on détecte si le compa- full or not In other words, it is detected whether the
rateur 558 fournit ou non un indicateur d'état plein FF 2. controller 558 or not provides a full status flag FF 2.
Si l'indicateur d'état plein FF 2 n'est pas détecté, la séquence passe à l'étape 643 Lorsque l'indicateur d'état If the full status flag FF 2 is not detected, the sequence proceeds to step 643 When the status indicator
plein FF 2 est détecté, le processus est terminé. full FF 2 is detected, the process is complete.
A l'étape 643, un mot des données enregistrées dans la mémoire de sortie de train de codes à longueur variable 484 est lu et enregistré dans la mémoire de sortie de train de codes à longueur variable externe A l'étape 644, le contenu du compteur d'accès d'écriture 547 est incrémenté Après l'étape 644, la séquence retourne à In step 643, a word of the data stored in the variable length code stream output memory 484 is read and stored in the external variable length code stream output memory. At step 644, the contents of the write access counter 547 is incremented After step 644, the sequence returns to
l'étape 641.step 641.
La figure 49 est un organigramme du décodage à longueur variable dans le circuit d'interface externe 506 qui est représenté sur la figure 47 En se référant à la figure 49, on note qu'à l'étape 5651 on détecte si la mémoire d'entrée de train de codes à longueur variable 483 est pleine ou non En d'autres termes, on détecte si le comparateur 550 fournit ou non un indicateur d'état plein FF 1 Si l'indicateur d'état plein FF 1 n'est pas détecté, la séquence passe à l'étape 652 Si l'indicateur d'état Fig. 49 is a variable length decoding flowchart in the external interface circuit 506 shown in Fig. 47. Referring to Fig. 49, it is noted that in step 5651 it is detected whether the memory of Variable length code train input 483 is full or not In other words, it is detected whether or not the comparator 550 provides a full status flag FF 1 If the full status flag FF 1 is not detected, the sequence goes to step 652 If the status indicator
plein FF 1 est détecté, le processus est terminé. full FF 1 is detected, the process is complete.
A l'étape 652, on détecte si la mémoire d'entrée At step 652, it is detected whether the input memory
de train de codes à longueur variable 483 est vide ou non. Variable length code train 483 is empty or not.
En d'autres termes, on détecte si le comparateur 550 In other words, it is detected whether the comparator 550
produit ou non un indicateur d'état vide EF 1 Si l'indica- produced or not an empty status indicator EF 1 If the indica-
teur d'état vide EF 1 n'est pas détecté, la séquence passe à l'étape 653 Si l'indicateur d'état vide EFI est Empty state meter EF 1 is not detected, the sequence proceeds to step 653 If the empty state flag EFI is
détecté, le processus est terminé. detected, the process is complete.
A l'étape 653, un mot des données enregistrées dans la mémoire d'entrée de train de codes à longueur variable externe est lu et enregistré dans la mémoire d'entrée de train de codes à longueur variable 483 A l'étape 654, le compteur d'accès de lecture 446 pour la mémoire d'entrée de train de codes à longueur variable externe est incrémenté Après l'étape 654, la séquence In step 653, a word of the data recorded in the external variable length code stream input memory is read and stored in the variable length code stream input memory 483. At step 654, the read access counter 446 for external variable length code train input memory is incremented After step 654, the sequence
retourne à l'étape 651.returns to step 651.
(iv) Description détaillée du codage/décodage à (iv) Detailed description of the coding / decoding
longueur variable On va maintenant décrire de façon plus détaillée le codage/décodage à longueur variable dans le processeur à longueur variable 125 qui est représenté sur la figure 39. La figure 50 est une table de code à longueur variable qui est utilisée dans des processus qui sont accomplis dans le processeur à longueur variable 125 qui est représenté sur la figure 39 En se référant à la figure 50, on note que quatre colonnes du côté gauche de la table de code à longueur variable correspondent à la variable length Variable length coding / decoding will now be described in more detail in the variable length processor 125 shown in FIG. 39. FIG. 50 is a variable length code table which is used in processes which are performed in the variable length processor 125 which is shown in Fig. 39 Referring to Fig. 50, it is noted that four columns on the left side of the variable length code table correspond to the
table de code à longueur variable conforme à la recomman- variable length code table in accordance with the
dation H 261 du CCITT Plus précisément, les données de plage (longueur de plage zéro) RN, les données de niveau (facteur) LV, la longueur de code CL et le code à longueur variable VC qui sont spécifiés dans la recommandation H 261 sont indiqués dans les quatre colonnes du côté In particular, the range data (zero span length) RN, the level (factor) data LV, the code length CL, and the variable length code VC that are specified in Recommendation H 261 are indicated in the four columns on the side
gauche D'autre part, trois colonnes du côté droit repré- On the other hand, three columns on the right side represent
sentent une table de code à longueur variable qui est groupée Plus précisément, conformément au nombre de 'O" continus à partir du premier bit du code à longueur variable VC, le code à longueur variable VC et la longueur de code CL sont divisés en un total de neuf groupes GRO à GR 8. Par exemple, le groupe GRO contient un code à longueur variable VC dont le premier bit n'est pas " O " Le groupe GR 1 contient un code à longueur variable VC dans lequel seul le premier bit est " O " Le groupe GR 2 contient un code à longueur variable VC dans lequel les deux premiers bits sont "'" De façon similaire, le groupe GR 8 contient un code à longueur variable VC qui comprend 8 "Q O à partir du premier bit du code à longueur variable VC. Les codes à longueur variable VC groupés et les longueurs de code CL sont utilisés dans les opérations accomplies dans le processeur à longueur variable 125, que l'on sense a variable length code table which is grouped More precisely, in accordance with the number of continuous 'O' from the first bit of the variable length code VC, the variable length code VC and the code length CL are divided into one total of nine groups GRO to GR 8. For example, the group GRO contains a variable length code VC whose first bit is not "O" The group GR 1 contains a variable length code VC in which only the first bit is "O" The group GR 2 contains a variable length code VC in which the first two bits are "'" Similarly, the group GR 8 contains a variable length code VC which comprises 8 "QO from the first bit variable length code VC. The grouped variable length codes VC and the lengths of code CL are used in the operations performed in the variable length processor 125, which is
décrira ultérieurement.will describe later.
Pour commencer, on décrira le codage à longueur variable Fondamentalement, le codage à longueur variable est accompli conformément à l'organigramme représenté sur la figure 31, que l'on a déjà décrit Premièrement, des données à coder, c'est-à-dire des données (RN, LV) sont To begin, we will describe the variable length coding Basically, the variable length coding is performed in accordance with the flowchart shown in Figure 31, which has already been described First, data to be coded, that is, say data (RN, LV) are
introduites dans la mémoire de données 538 dans le proces- entered in the data memory 538 in the process
seur variable 125 représenté sur la figure 40, à partir de la mémoire d'entrée 425 pour des données à coder, qui est représentée sur la figure 39 Les données d'entrée sont appliquées au générateur d'adresse 502 qui génère une adresse de mémoire de table pour la conversion de codage à longueur variable En parallèle avec la génération de l'adresse de table, le décodeur de changement de code 526 qui est représenté sur la figure 41 génère un code à variable 40 shown in Fig. 40, from input memory 425 for data to be encoded, which is shown in Fig. 39 Input data is applied to address generator 502 which generates a memory address In parallel with the generation of the table address, the code change decoder 526 shown in FIG. 41 generates a code for the variable length coding conversion.
longueur fixe en utilisant un code de changement de code. fixed length using a code change code.
Le code à longueur fixe qui est généré est appliqué au registre de changement de code 528 et il est conservé dans ce dernier On décrira ultérieurement de façon plus The fixed length code that is generated is applied to the code change register 528 and is stored therein.
détaillée le fonctionnement du générateur d'adresse 502. detailed operation of the address generator 502.
En utilisant l'adresse de table qui est générée par le générateur d'adresse 502, on fait référence à la mémoire de table de codage à longueur variable 481 et on lit le code à longueur variable VC, la longueur de code CL Using the table address that is generated by the address generator 502, reference is made to the variable length coding table memory 481 and reads the variable length code VC, the code length CL
et l'indicateur de changement de code ESF qui sont enre- and the ESF code change indicator that are registered.
gistrés Le code à longueur variable VC et la longueur de code CL sont appliqués au registre de données 529 qui est représenté sur la figure 41 et ils sont conservés dans ce dernier. Après la fin de l'accès à la mémoire de table 481 pour le codage à longueur variable, les données du registre de changement de code 528 ou du registre de don- nées 529 sont fournies au circuit de génération/séparation The variable length code VC and the code length CL are applied to the data register 529 shown in Fig. 41 and are stored in the latter. After the end of the access to the table memory 481 for variable length coding, the data of the code change register 528 or the data register 529 are provided to the generation / separation circuit.
de codes à longueur variable 505 La sélection est effec- of variable length codes 505 The selection is made
tuée par le circuit sélecteur 530 Plus précisément, parmi les données qui sont conservées dans les deux registres killed by the selector circuit 530 More precisely, among the data that are kept in the two registers
528 et 529, le sélecteur 530 émet sélectivement les don- 528 and 529, the selector 530 selectively transmits the data
nées de l'un des registres, sous la dépendance du bit de from one of the registers, depending on the bit of
plus fort poids (MSB).higher weight (MSB).
Plus précisément, comme représenté sur la figure 51, la mémoire de table 481 pour le codage à longueur variable conserve un indicateur de changement de code ESF qui indique si les données à coder se trouvent ou non dans la plage applicable du code de changement de code, en ce qui concerne le bit de plus fort poids Par conséquent, Specifically, as shown in Fig. 51, table memory 481 for variable length coding retains an ESF code change flag which indicates whether the data to be encoded is within the applicable range of the code change code. , with regard to the most significant bit Therefore,
si le bit de plus fort poids des données qui sont appli- if the most significant bit of the data that is applied
quées au registre de données 529, c'est-à-dire l'indica- data register 529, that is to say, the indica-
teur ESF, indique l'application du code de changement de code, le sélecteur 530 émet sélectivement les données qui ont été conservées dans le registre de données 529 Il en résulte qu'en se référant seulement à la mémoire de table 481 pour le codage à longueur variable, on peut déterminer With the ESF, indicating the application of the code change code, the selector 530 selectively transmits the data that has been stored in the data register 529. As a result, referring only to the table memory 481 for coding to variable length, we can determine
s'il est nécessaire ou non d'appliquer le code de change- whether or not it is necessary to apply the exchange code
ment de code aux données à coder, et une détermination conformément à un programme n'est pas nécessaire dans ce but. De plus, dans le générateur d'adresse 502 qui est représenté sur la figure 41, l'accès à la mémoire de code to the data to be encoded, and a program-based determination is not necessary for this purpose. In addition, in the address generator 502 shown in Fig. 41, access to the memory of
table 481 pour le codage à longueur variable et la généra- table 481 for variable length coding and general
tion du code à longueur fixe en utilisant le code de changement de code peuvent être accomplis en parallèle, c'est-à-dire simultanément Par conséquent, on peut éviter une augmentation du temps de traitement résultant de l'accès à la mémoire de table 481 pour le codage à Fixed-length code using the code change code can be performed in parallel, i.e. simultaneously. Therefore, an increase in the processing time resulting from access to the table memory can be avoided. 481 for coding at
longueur variable.variable length.
Le code à longueur variable VC qui est obtenu par référence à la mémoire de table 481 pour le codage à The variable length code VC which is obtained by reference to the table memory 481 for the coding to
longueur variable est transféré vers le circuit de généra- variable length is transferred to the circuit of genera-
tion/séparation de train de codes à longueur variable 505 par l'intermédiaire du premier bus interne 509 qui est représenté sur la figure 41 D'autre part, sa longueur de code CL est transférée vers le circuit de génération/ séparation de train de codes à longueur variable 505 par le second bus interne 510 Le circuit de génération/ séparation de train de codes à longueur variable 505 génère un train de codes à longueur variable VCT à partir du code à longueur variable VC qui est appliqué et de sa longueur de code CL On décrira ultérieurement l'opération de génération du train de codes à longueur variable Le train de codes à longueur variable VCT qui est généré est appliqué à la mémoire de sortie de train de codes à longueur variable 484 représentée sur la figure 39, par l'intermédiaire du circuit d'interface externe 506 De Variable length code train 505 is separated by means of the first internal bus 509 shown in Fig. 41. On the other hand, its code length CL is transferred to the code train generation / separation circuit. variable-length code bus 505 by the second internal bus 510 The variable-length code train generating / separating circuit 505 generates a variable-length code train VCT from the variable length code VC that is applied and its code length. CL The generation operation of the variable length code train will be described later. The variable length code train VCT generated is applied to the variable length code train output memory 484 shown in FIG. intermediate of the external interface circuit 506
cette manière, le codage à longueur variable est achevé. this way, the variable length coding is completed.
On va maintenant décrire le décodage à longueur variable Premièrement, un train de codes à longueur variable est appliqué au circuit de génération/séparation de train de codes à longueur variable 505 à partir de la mémoire d'entrée de train de codes à longueur variable 483 représentée sur la figure 39, par l'intermédiaire du circuit d'interface externe 506 Le circuit de génération/ séparation de train de codes à longueur variable 505 effectue la segmentation d'un code à longueur variable sur lequel porte le décodage, à partir du train de codes à longueur variable appliqué, et il décale les bits du code à longueur variable vers le côté du bit de plus fort poids Le code à longueur variable décalé est transféré vers le générateur d'adresse 502 par l'intermédiaire du premier bus interne 509 On présentera ultérieurement une Variable length decoding will now be described. First, a variable length code train is applied to the variable length code train generation / separation circuit 505 from the variable length code train input memory 483. shown in Fig. 39 through the external interface circuit 506 The variable length code train generating / separating circuit 505 performs the segmentation of a variable length code to which the decoding relates, from the variable length code string applied, and shifts the bits of the variable length code to the side of the most significant bit The offset variable length code is transferred to the address generator 502 via the first internal bus 509 We will present later
description détaillée du circuit de génération/séparation detailed description of the generation / separation circuit
de train de codes à longueur variable 505. of variable length code train 505.
Le générateur d'adresse 502 génère une adresse de table pour une référence à la mémoire de table 482 pour le décodage à longueur variable, qui est représentée sur la figure 39, sous l'effet du code à longueur variable qui est appliqué L'adresse de table qui est générée est appliquée à la mémoire de table 482 pour le décodage à Address generator 502 generates a table address for a reference to table memory 482 for variable length decoding, which is shown in Fig. 39, as a result of the variable length code being applied. of table that is generated is applied to the table memory 482 for the decoding to
longueur variable, par l'intermédiaire du circuit d'inter- variable length, through the circuit of inter-
face externe 503 Il en résulte que le code à longueur variable décodé, les données de longueur de code et l'indicateur de changement de code ESF sont conservés dans le registre de données 529 qui est représenté sur la figure 41 A ce moment, en parallèle avec ce processus, un code à longueur variable est appliqué au codeur de code de changement de code, et le décodage du code à longueur fixe utilisant le code de changement de code est accompli Des données indiquant le résultat sont appliquées au registre de changement de code 528 et elles sont conservées dans ce dernier. Comme dans le codage à longueur variable, la mémoire de table 482 pour le décodage variable contient un indicateur de changement de code ESF Par conséquent, à la fin de l'accès à la mémoire de table 482, l'indicateur de changement de code ESF est contenu dans le bit de plus fort poids (MSB) du registre de données 529 Sous l'effet de l'indicateur de changement de code ESF, les données qui sont contenues dans le registre de changement de code 528 ou celles qui sont contenues dans le registre de données 529 sont émises sélectivement par l'intermédiaire du sélecteur 530 Les données émises sont appliquées à la mémoire de données 508 qui est représentée sur la figure As a result, the decoded variable length code, the code length data and the ESF code change indicator are stored in the data register 529 shown in FIG. 41 at this time in parallel. with this process, variable length code is applied to the code change code encoder, and decoding of the fixed length code using the code change code is accomplished Data indicating the result is applied to the code change register 528 and they are kept in the latter. As in the variable length coding, the table memory 482 for the variable decoding contains an ESF code changing flag. Therefore, at the end of the access to the table memory 482, the code change flag ESF is contained in the most significant bit (MSB) of the data register 529 Under the effect of the code change flag ESF, the data that is contained in the code change register 528 or that which is contained in the data register 529 is selectively transmitted via the selector 530 The transmitted data is applied to the data memory 508 shown in FIG.
40.40.
D'autre part, les données de longueur de code sont transférées vers le circuit de génération/séparation On the other hand, the code length data is transferred to the generation / separation circuit
de train de codes à longueur variable 505 par l'intermé- of variable length code train 505 through
diaire du second bus interne 510 Le circuit de généra- of the second internal bus 510 The circuit of genera-
tion/séparation de train de codes à longueur variable 505 effectue la segmentation du code à longueur variable suivant en utilisant les données de longueur de code qui sont appliquées Les données indiquant le résultat du décodage, qui sont appliquées à la mémoire de données 508, sont émises vers la mémoire de sortie 486 pour les données à coder, par l'intermédiaire du circuit d'interface externe 506 Le décodage à longueur variable est ainsi achevé. On va maintenant décrire de façon plus détaillée le fonctionnement du circuit de génération d'adresse 502 Variable length code train separation / separation 505 performs the segmentation of the next variable length code using the applied code length data. The data indicating the result of the decoding, which is applied to the data memory 508, are transmitted to the output memory 486 for the data to be encoded, via the external interface circuit 506 Variable length decoding is thus completed. The operation of the address generating circuit 502 will now be described in greater detail.
qui est représenté sur la figure 41. which is shown in Figure 41.
La figure 52 montre un format des données à coder en codage à longueur variable En se référant à la figure 52, on note que les données à coder comprennent des données de niveau LV à 10 bits et des données de plage RN à 6 bits Les données à coder ont donc une longueur totale Fig. 52 shows a format of the data to be coded in variable length coding. Referring to Fig. 52, it is noted that the data to be encoded comprises 10-bit LV level data and 6-bit NR range data. to encode so have a total length
de 16 bits.16 bits.
En considérant maintenant les quatre colonnes du côté gauche de la table de code à longueur variable qui est représentée sur la figure 50, on note que les données de niveau LV (qui sont définies comme des données de valeur absolue dans la recommandation H 261), ont une Turning now to the four columns on the left side of the variable length code table shown in Figure 50, it is noted that LV level data (which is defined as absolute value data in Recommendation H 261), they have a
valeur qui est comprise dans la plage de -15 à + 15. value that is in the range of -15 to +15.
Conformément à la recommandation H 261, les données qui se trouvent à l'extérieur de cette plage sont représentées dans un code de changement de code (ESCAPE) Ceci signifie que le nombre de bits nécessaires pour représenter les données de niveau LV est de 5 bits, et qu'une combinaison de données de plage et de données de niveau peut être représentée par un total de 11 bits, en association avec In accordance with Recommendation H 261, data outside this range is represented in a code change code (ESCAPE) This means that the number of bits required to represent the LV level data is 5 bits , and that a combination of range data and level data can be represented by a total of 11 bits, in association with
les données de niveau RN.RN level data.
Les données de niveau LV qui ne sont pas infé- LV level data that is not inferior
rieures à + 15 et ne sont pas supérieures à -15 sont respectivement limitées à + 16 et -16, et par conséquent des adresses comprenant des données de niveau + 16 et -16 than +15 and not greater than -15 are respectively limited to +16 and -16, and therefore addresses with +16 and -16 level data
désignent des codes de changement de code Avec ce traite- designate code change codes With this
ment, un total de 11 bits devient suffisant pour l'adresse permettant d'accéder à la mémoire de table pour le codage à longueur variable, et par conséquent la mémoire de table pour le codage à longueur variable peut être réalisée dans a total of 11 bits becomes sufficient for the address to access the table memory for the variable length coding, and therefore the table memory for the variable length coding can be realized in
la plage de 2 K mots d'espace d'adresse. the range of 2 K words of address space.
De cette manière, le générateur d'adresse 502 peut effectuer la génération d'adresse en travaillant avec une seule voie Par conséquent, le limiteur 531 qui est représenté sur la figure 41 limite dans la plage de + 16 à -16 10 bits de données de niveau LV des données qui sont conservées dans le registre d'adresse 525 Il en résulte qu'une valeur positive + 16 est fixée dans le registre de valeur limite positive 520, tandis qu'une valeur négative -16 est fixée dans le registre de valeur limite négative 521 qui sont représentés sur la figure 41 Le limiteur 531 effectue l'opération de limitation mentionnée ci-dessus en se référant aux données qui sont conservées dans les In this manner, the address generator 502 can perform address generation by working with a single channel. Therefore, the limiter 531 shown in FIG. 41 limits in the range of +16 to -16 bits of data. The result is that a positive value + 16 is set in the positive limit value register 520, while a negative value -16 is set in the control register. Negative limit value 521 shown in Fig. 41 Limiter 531 performs the limiting operation mentioned above with reference to the data stored in
registres 520 et 521.registers 520 and 521.
Sous l'effet de la limitation des données de Due to the limitation of data from
niveau, on obtient un total de 11 bits de données combi- level, we obtain a total of 11 bits of combined data.
nées, et en utilisant ces données on génère une adresse pour faire référence à la mémoire de table 481 pour le and using this data an address is generated to refer to the table memory 481 for the
codage à longueur variable.variable length coding.
On va maintenant décrire le décodage dans le circuit de génération d'adresse 502 qui est représenté sur The decoding will now be described in the address generation circuit 502 which is shown on
la figure 41.Figure 41.
Comme représenté dans la table de code à longueur variable de la figure 50, les codes à longueur variable VC sont divisés en un total de neuf groupes GRO à GR 8 Dans chaque groupe, 6 bits sont nécessaires pour définir chaque code à longueur variable Par conséquent, pour réaliser une table de décodage pour le code à longueur variable, 4 bits pour désigner un total de 9 groupes et 6 bits pour désigner un code dans chaque groupe sont nécessaires Plus précisément, un total de 10 bits est nécessaire à titre d'adresse relative à la table pour le décodage du code à longueur variable Le circuit de génération d'adresse 502 qui est représenté sur la figure 41 peut générer 10 bits d'adresse de table par une seule voie. Plus précisément, le code à longueur variable à décoder est appliqué au générateur d'adresse 524 et il est enregistré dans celui-ci Les données qui sont conservées par le générateur d'adresse 524 sont appliquées au codeur à priorité 532, et le nombre de " O " continus à partir du As shown in the variable length code table of Fig. 50, variable length codes VC are divided into a total of nine groups GRO to GR 8. In each group, 6 bits are required to define each variable length code. , to make a decoding table for the variable length code, 4 bits to designate a total of 9 groups and 6 bits to designate a code in each group are required Specifically, a total of 10 bits is required as an address The address generation circuit 502 shown in FIG. 41 can generate 10 table address bits by a single channel. More specifically, the variable length code to be decoded is applied to the address generator 524 and is stored therein. The data that is held by the address generator 524 is applied to the priority encoder 532, and the number of "O" continuous from
premier bit des données appliquées est compté Par consé- first bit of the applied data is counted accordingly.
quent, on détermine celui des groupes GRO à GR 8 repré- determine which of the groups GRO to GR 8 represents
sentés sur la figure 50 auxquels les données appartien- shown in Figure 50 to which the data belong
nent, et le numéro du groupe est représenté par 4 bits de données D'autre part, 6 bits de données qui suivent les " O " continus sont segmentés Les données de numéro de The number of the group is represented by 4 data bits On the other hand, 6 data bits that follow the continuous "O" are segmented.
groupe à 4 bits et les données segmentées à 6 bits consti- 4-bit group and the 6-bit segmented data
tuent une adresse de table d'un total de 10 bits, et l'adresse de table est appliquée au registre d'adresse kill a table address of a total of 10 bits, and the table address is applied to the address register
externe 534 et elle est conservée dans ce dernier. external 534 and it is kept in the latter.
De cette manière, en utilisant le générateur d'adresse 502 qui est représenté sur la figure 41, on peut réduire l'espace d'adresse pour la mémoire de table 481 pour le codage à longueur variable, et pour la mémoire de table 482 pour le décodage à longueur variable, et de plus In this way, using the address generator 502 shown in Fig. 41, the address space for the table memory 481 for variable length coding, and for the table memory 482 can be reduced for variable length decoding, and moreover
ces processus peuvent être effectués par une série d'opé- these processes can be carried out through a series of
rations. On va maintenant décrire l'opération de codage dans le circuit de génération/séparation de train de codes à longueur variable 505 qui est représenté sur la figure rations. The encoding operation will now be described in the variable length code train generation / separation circuit 505 shown in FIG.
44 Le registre de sortie de code 540 comprend des regis- 44 The code output register 540 includes registers
tres à décalage parallèles 40 a à 40 e, comprenant chacun 8 bits Dans l'état initial, le registre de sortie de code 540, le registre de longueur de code 539 et le circuit PEPS 542 contiennent chacun des données " O " Le circuit de décalage circulaire 537 ayant 40 bits ( 40 b) décale les données d'entrée vers le côté droit, conformément à la longueur de code qui est conservée dans le registre de 40 to 40 e, each comprising 8 bits In the initial state, the code output register 540, the code length register 539 and the PEPS circuit 542 each contain data "O". 40-bit circular offset 537 (40b) shifts the input data to the right side, according to the code length that is stored in the
longueur de code 539.code length 539.
A titre d'exemple, des données " 001010 " sont appliquées au registre de bus 536 à titre de premier code à longueur variable codé, tandis que la longueur de code " 6 " est appliquée à un additionneur 538 à 5 bits A ce stade, du fait que la valeur dans le registre de longueur For example, "001010" data is applied to the bus register 536 as the first coded variable length code, while code length "6" is applied to a 5-bit adder 538 at this stage, because the value in the length register
de code 539 est " O ", les données contenues dans le regis- code 539 is "O", the data contained in the regis-
tre de bus 536 traversent sans changement le circuit de décalage circulaire 537, et elles sont appliquées au registre de longueur de code 539 Dans l'additionneur 538, les données d'entrée " 6 " sont additionnées aux données " O " présentes dans le registre de longueur de code 539, et les données " 6 " résultantes sont décrites dans le registre de Bus 536 traverses the circular shift circuit 537 without change and is applied to the code length register 539. In the adder 538, the input data "6" is added to the "O" data present in the register. code length 539, and the resulting "6" data is described in the
longueur de code 539.code length 539.
Ensuite, pour un code à longueur variable codé Then, for a coded variable length code
suivant, des données " 00001000 " sont appliquées au regis- following, "00001000" data is applied to the regis-
tre de bus 536, et une longueur de code " 8 " est appliquée à l'additionneur 538 Du fait que les données dans le registre de longueur de code 539 sont égales à " 6 ", les données du registre de bus 536 sont décalées de 6 bits vers le côté droit par le circuit de décalage circulaire 537, et les données décalées sont appliquées au registre de longueur de code 539 Par conséquent, les données qui sont conservées dans le registre de longueur de code 539 comprennent le premier code à longueur variable dans les 6 premiers bits, et elles comprennent le code à longueur 536, and a code length "8" is applied to the adder 538 Since the data in the code length register 539 is equal to "6", the data of the bus register 536 is shifted by 6 bits to the right side by the circular shift circuit 537, and the shifted data is applied to the code length register 539 Therefore, the data that is stored in the code length register 539 includes the first variable length code in the first 6 bits, and they include the length code
variable suivant au 7-ième bit et aux bits suivants. following variable at the 7th bit and following bits.
L'additionneur 38 additionne les données d'entrée " 8 " aux données " 6 " dans le registre de longueur de code 539, et il applique le résultat de l'addition, c'est-à-dire " 14 " au registre de longueur de code 539. A ce stade, du fait que le registre 40 a dans le registre de sortie de code 540 est rempli avec le code à longueur variable " 00101000 ", les données présentes dans le registre de données 40 a sont appliquées au circuit PEPS 542 Ensuite, les données présentes dans le registre 40 b The adder 38 adds the input data "8" to the data "6" in the code length register 539, and applies the result of the addition, i.e., "14" to the data register. code length 539. At this stage, since the register 40a in the code output register 540 is filled with the variable length code "00101000", the data present in the data register 40a is applied to the circuit PEPS 542 Next, the data present in the register 40 b
sont transférées vers le registre 40 a En outre, les don- are transferred to register 40. In addition,
nées présentes dans le registre 40 c sont transférées vers le registre 40 b Des opérations similaires sont répétées et les données du dernier registre 40 e sont transférées vers le registre 40 d Après ce processus de transfert, la longueur de code des données appliquées au circuit PEPS 542, c'est-à-dire " 8 ", est soustraite des données dans le registre de longueur de code 539 Plus précisément, dans cet exemple, du fait que le registre 539 contient les données " 14 ", le résultat de la soustraction sera " 6 " In the register 40c are transferred to the register 40b Similar operations are repeated and the data of the last register 40e are transferred to the register 40d After this transfer process, the code length of the data applied to the FIFO circuit 542, i.e. "8", is subtracted from the data in the code length register 539 More specifically, in this example, because the register 539 contains the data "14", the result of the subtraction will be "6"
(= 14 8).(= 14 8).
Il en résulte que les données dans le registre de longueur de code 539 indiquent maintenant le nombre de As a result, the data in the code length register 539 now indicates the number of
bits du code à longueur variable " 0011000 " qui est enre- bits of the variable length code "0011000" which is
gistré dans le registre 40 a, et lorsque le code à longueur variable suivant est appliqué en entrée, le code à longueur variable d'entrée est décalé vers le côté droit du nombre de bits du code à longueur variable qui est enregistré dans le registre 40 a Ainsi, à la suite du code à longueur variable qui a déjà été enregistré, le code à longueur variable suivant est enregistré dans le registre de sortie de code 40 De cette manière, en utilisant le code à longueur variable et sa longueur de code, on peut stored in the register 40a, and when the next variable length code is inputted, the input variable length code is shifted to the right side of the number of bits of the variable length code which is registered in the register 40 Thus, following the variable length code which has already been registered, the following variable length code is recorded in the code output register 40. In this way, using the variable length code and its code length, we can
générer un train de codes à longueur variable sans effec- generate a string of variable length codes without
tuer une détermination au moyen d'un logiciel. kill a determination by means of software.
On va maintenant décrire l'opération de décodage dans le circuit de génération/séparation de train de codes à longueur variable Comme le registre de sortie de code The decoding operation in the variable length code train generation / separation circuit will now be described as the code output register.
540, le registre d'entrée de code 541 comprend des regis- 540, the code entry register 541 includes registers
tres à décalage parallèle 4 la à 4 le ayant 8 bits Dans l'état initial, le registre d'entrée de code 541 et le registre de longueur de code 539 contiennent tous deux des données " 0 " Le circuit de décalage circulaire 537 ayant bits, décale les données d'entrée vers le côté gauche, 4 In the initial state, the code input register 541 and the code length register 539 both contain data "0". The circular offset circuit 537 has bits , shifts the input data to the left side,
sur une distance correspondant à la valeur qui est conte- over a distance corresponding to the value that is
nue dans le registre de longueur de code 539. naked in the code length register 539.
Premièrement, le premier train de codes à longueur variable est introduit successivement dans les registres 4 la à 4 le par l'intermédiaire du circuit PEPS First, the first variable length code train is successively introduced into the registers 4a through 4c through the FIFO circuit.
543 Lorsqu'un code à longueur variable doit être segmen- 543 Where a variable length code is to be segmented
té, les données contenues dans le registre d'entrée de code 541 sont appliquées au registre de bus 536 par l'intermédiaire du circuit de décalage circulaire 537 A ce stade, du fait que les données dans le registre de longueur de code 539 sont " O ", les données présentes dans In this case, the data contained in the code input register 541 is applied to the bus register 536 via the circular shift circuit 537 at this point because the data in the code length register 539 is " O ", the data present in
le registre d'entrée de code 541 traversent sans change- the code entry register 541 pass through without changing-
ment le circuit de décalage circulaire 537, et elles sont appliquées au registre de bus 536 En décodant les données qui sont contenues dans le registre de bus 536, on obtient les données " 6 " pour la longueur de code correspondante, et les données de longueur de code sont appliquées à l'additionneur 538 L'additionneur 538 additionne les données d'entrée " 6 " aux données " O " dans le registre de longueur de code 539, et les données " 6 " indiquant le résultat sont appliquées au registre de longueur de code The decoding of the data contained in the bus register 536 results in the data "6" for the corresponding code length, and the length data. The adder 538 adds the input data "6" to the "O" data in the code length register 539, and the "6" data indicating the result is applied to the code register. code length
539 et elles sont conservées dans ce dernier. 539 and they are kept in the latter.
Lorsque le code à longueur variable suivant doit être segmenté, les données présentes dans le registre d'entrée de code 541 sont appliquées au registre de bus When the next variable length code is to be segmented, the data present in the code input register 541 is applied to the bus register
536 en passant par le circuit de décalage circulaire 537. 536 through the circular shift circuit 537.
Du fait que les données dans le registre de longueur de code 539 sont " 6 ", les données présentes dans le registre d'entrée de code 541 sont décalées de 6 bits vers la gauche par le circuit de décalage circulaire 537, et les données décalées sont appliquées au registre de bus 536. Plus précisément, à la suite du code à longueur variable déjà décodé, le code à longueur variable suivant est obtenu dans une position décalée vers le côté gauche Sous l'effet du décodage des données dans le registre de bus 536, on obtient les données " 8 " pour leur longueur de code, et les données de longueur de code sont appliquées à Since the data in the code length register 539 is "6", the data present in the code input register 541 is shifted 6 bits to the left by the circular shift circuit 537, and the shifted data are applied to the bus register 536. More precisely, following the already decoded variable length code, the following variable length code is obtained in a position shifted to the left side Under the effect of the decoding of the data in the register of 536, data "8" is obtained for their code length, and the code length data is applied to
l'additionneur 538.the adder 538.
L'additionneur 538 additionne les données d'entrée 8 " aux données " 6 " dans le registre de longueur de code 539, et il applique au registre de longueur de code 539 les données " 14 " qui indiquent le résultat A ce stade, le contenu du registre 41 a a été entièrement décodé, et par conséquent les données présentes dans le The adder 538 adds the input data 8 "to the data" 6 "in the code length register 539, and applies to the code length register 539 the data" 14 "which indicates the result. The contents of register 41 have been fully decoded, and therefore the data present in the
registre 40 b sont transférées vers le registre 40 a. register 40b are transferred to the register 40a.
Ensuite, les données présentes dans le registre 40 c sont Then, the data present in register 40c are
transférées vers le registre 40 b En répétant des opéra- transferred to the register 40 b By repeating
tions similaires, les données présentes dans le registre similar information, the data in the register
e sont finalement transférées vers le registre 40 d. e are finally transferred to the register 40 d.
Le train de codes à longueur variable suivant est appliqué au registre vide 40 e à partir du circuit PEPS 543. Du fait que le décodage de 8 bits a été achevé, les données présentes dans le registre de longueur de code 539 sont " 6 " Par conséquent, lorsque le code à longueur variable suivant est segmenté, le code à longueur variable suivant qui suit le code à longueur variable déjà décodé, The following variable length code train is applied to the empty register 40 e from the FIFO circuit 543. Because the 8-bit decoding has been completed, the data in the code length register 539 is "6". therefore, when the next variable length code is segmented, the next variable length code that follows the already decoded variable length code,
est obtenu dans une position décalée vers le côté gauche. is obtained in a position shifted to the left side.
De cette manière, en utilisant la longueur de code du code à longueur variable qui est décodé, le code à longueur variable suivant qui doit être décodé peut être segmenté en étant décalé vers le côté gauche à partir du train de codes à longueur variable, sans effectuer une In this way, by using the code length of the variable length code that is decoded, the next variable length code to be decoded can be segmented by being shifted to the left side from the variable length code stream without perform a
détermination avec un logiciel.determination with software.
On va maintenant décrire le codage à longueur variable dans le circuit d'interface externe 506 qui est Variable length coding will now be described in the external interface circuit 506 which is
représenté sur la figure 47.shown in Figure 47.
En se référant à la figure 47, on note que l'unité de commande 545, ayant une fonction d'accès direct en mémoire (DMA), commande des circuits internes dans le circuit d'interface externe 506 Les compteurs 548 et 549 reçoivent un signal d'activation pour des opérations d'accès (lecture et écriture) à la mémoire d'entrée de train de codes à longueur variable 483 et à la mémoire de sortie de train de codes à longueur variable 484, à partir du circuit d'interface d'hôte 1, par l'intermédiaire de la ligne de signal 494 Par conséquent, le compteur 548 compte le nombre d'accès d'écriture que l'ordinateur hôte effectue dans la mémoire d'entrée de train de codes à longueur variable 483 D'autre part, le compteur 548 compte le nombre d'accès de lecture à la mémoire d'entrée de train decodes à longueur variable 483, à partir du circuit d'interface externe 506 Le compteur 547 compte le nombre d'accès d'écriture à la mémoire de sortie de train de codes à longueur variable 484 à partir du circuit Referring to Fig. 47, it is noted that the control unit 545, having a direct memory access function (DMA), controls internal circuits in the external interface circuit 506. The counters 548 and 549 receive a activation signal for access operations (read and write) to the variable length code train input memory 483 and the variable length code train output memory 484 from the circuit Host interface 1, through signal line 494 Therefore, counter 548 counts the number of write accesses that the host computer makes in the variable-length code train input memory. On the other hand, the counter 548 counts the read access number to the variable length decode train input memory 483, from the external interface circuit 506. The counter 547 counts the number of access d writing to the outgoing code train output memory r variable 484 from the circuit
d'interface externe 506.external interface 506.
Les données de sortie des compteurs 546 et 548 The output data of counters 546 and 548
sont appliquées au soustracteur 565 dans lequel une sous- are applied to subtractor 565 in which a subset
traction est effectuée Les données qui indiquent le résultat de la soustraction représentent donc le nombre de mots des données enregistrées dans la mémoire d'entrée de train de codes à longueur variable 483 Les données émises par le soustracteur 565 sont appliquées au comparateur 550. Le comparateur 550 reçoit les données de nombre de mots à l'état plein de la mémoire d'entrée de train de The data which indicates the result of the subtraction thus represent the number of words of the data recorded in the variable-length code stream input memory 483. The data transmitted by the subtractor 565 is applied to the comparator 550. The comparator 550 receives the data of number of words in the full state of the train input memory of
* codes à longueur variable 483 D'autre part, le compara-* codes with variable length 483 On the other hand, the comparison
teur 550 reçoit les données de nombre de mots indiquant l'état vide de la mémoire d'entrée de train de codes à longueur variable 483 Le comparateur 550 compare les données de sortie du soustracteur 565 avec les données qui proviennent des registres 551 et 552, et il produit les The comparator 550 compares the output data of the subtractor 565 with the data that originates from the registers 551 and 552, the data of the number of words indicating the empty state of the variable-length code stream input memory 483. and he produces the
indicateurs FFI et EFI.FFI and EFI indicators.
Si les données de sortie du soustracteur 565, c'est-à-dire les données de différence, sont égales au nombre de mots indiquant l'état plein, qui est enregistré dans le registre 551, le comparateur 550 produit un indicateur d'état plein FF 1 D'autre part, si les données de sortie du soustracteur 565 sont égales au nombre de mots indiquant l'état vide, qui est conservé dans le registre 552, le comparateur 550 produit l'indicateur d'état vide EFI De façon similaire, dans la mémoire de sortie de train de codes à longueur variable 484 qui est If the output data of the subtractor 565, i.e. the difference data, is equal to the number of words indicating the full state, which is registered in the register 551, the comparator 550 produces a status indicator On the other hand, if the output data of the subtractor 565 is equal to the number of words indicating the empty state, which is kept in the register 552, the comparator 550 produces the empty state flag EFI. similar, in the variable-length code train output memory 484 which is
représentée sur la figure 39, l'opération qui est effec- shown in FIG. 39, the operation which is effected
tuée est la même que dans la mémoire d'entrée 483, et le comparateur 558 émet l'indicateur d'état plein FF 2 ou is the same as in the input memory 483, and the comparator 558 transmits the full status flag FF 2 or
l'indicateur d'état vide EF 2.the empty status indicator EF 2.
L'unité de commande 545 commande le transfert de données entre les circuits PEPS 542 et 543, la mémoire de sortie de train de codes à longueur variable 484 et la mémoire d'entrée de train de codes à longueur variable 483, sur la base du signal de sortie d'indicateur 42 b provenant du circuit PEPS 542 représenté sur la figure 44, du signal de sortie d'indicateur 43 b provenant du circuit PEPS 543, ainsi que des indicateurs FF 1, EF 1, FF 2 et EF 2 provenant des comparateurs 550 et 558 La commande du The control unit 545 controls the data transfer between the PEPS circuits 542 and 543, the variable length code train output memory 484 and the variable length code train input memory 483, based on the an indicator output signal 42b from PEPS circuit 542 shown in FIG. 44, indicator output signal 43b from PEPS circuit 543, and FF 1, EF 1, FF 2 and EF 2 indicators from comparators 550 and 558 The control of the
transfert de données est effectuée de la manière suivante. data transfer is performed as follows.
Lorsque le codage à longueur variable est effec- When variable length coding is effected
tué, des données sont transférées entre le circuit PEPS 542 et la mémoire de sortie de train de codes à longueur variable 484 A ce moment, dans le circuit de génération/ séparation de train de codes à longueur variable 505, le transfert de données est commandé de façon à ne pas placer le circuit PEPS 542 dans l'état de manque de données, c'est-à-dire de façon à empêcher une opération de lecture sans l'enregistrement de données De plus, les données sont transférées de façon à éviter un excès de données dans la mémoire de sortie de train de codes à longueur killed, data is transferred between the FIFO circuit 542 and the variable-length code train output memory 484 At this time, in the variable-length code train generation / separation circuit 505, the data transfer is commanded so as not to place the FIFO circuit 542 in the data miss state, i.e. so as to prevent a read operation without the data logging In addition, the data is transferred to avoid excess data in the code train output memory at length
variable 484, c'est-à-dire de façon à empêcher une opéra- variable 484, that is to say, to prevent an operation
tion d'écriture dans la mémoire de sortie de train de codes à longueur variable 484 lorsque des données valides in the variable-length code train output memory 484 when valid data
sont déjà enregistrées dans cette mémoire. are already stored in this memory.
Dans le décodage à longueur variable, des don- In variable length decoding, data
nées sont transférées entre le circuit PEPS 543 et la mémoire d'entrée de train de codes à longueur variable 483 A ce moment, le transfert de données est commandé de façon à éviter un excès de données dans le circuit PEPS 543 et à éviter un manque de données dans la mémoire de The data transfer is transferred between the PEPS circuit 543 and the variable-length code train input memory 483. At this time, the data transfer is controlled so as to avoid an excess of data in the FIFO circuit 543 and to avoid a lack of data. of data in the memory of
sortie de train de codes à longueur variable 484. Variable length code train output 484.
Mémoire tampon d'intervalle d'image ( 1) Structure de système (figures 53 et 54) La figure 53 montre une structure de base d'un réseau de cellules de mémoire dans la mémoire tampon d'intervalle d'image La mémoire tampon d'intervalle d'image 51 qui est représentée sur la figure 1 a par Image Interval Buffer (1) System Structure (Figures 53 and 54) Figure 53 shows a basic structure of an array of memory cells in the image gap buffer. picture interval 51 which is shown in FIG.
exemple la structure de la figure 53. example the structure of Figure 53.
En se référant à la figure 53, on note que la mémoire tampon d'intervalle d'image 54 (ou 55) comprend un total de 32 plans de réseaux de cellules de mémoire 701 à 732 (ou 801 à 832) Lorsqu'une adresse de ligne RA et une adresse de colonne CA sont appliquées, un bit de données est lu (ou écrit) dans chacun des réseaux de cellules de mémoire 70 1 à 732 Par exemple, lorsqu'une adresse de ligne R Al et une adresse de colonne C Al sont appliquées, 32 bits de données au total sont lus dans les réseaux de Referring to Fig. 53, it is noted that the image interval buffer 54 (or 55) comprises a total of 32 memory cell network plans 701 to 732 (or 801 to 832) when an address RA line and a CA column address are applied, a data bit is read (or written) in each of the memory cell arrays 70 1 to 732 For example, when a line address R Al and a column address C Al are applied, 32 bits of data in total are read in the networks of
cellules de mémoire 701 à 732.memory cells 701 to 732.
De façon générale, 8 bits de données sont néces- In general, 8 bits of data are needed
saires pour représenter un pixel Par conséquent, le total de 32 bits de données permet de représenter quatre pixels PC 1 à PC 4 (voir la figure 53) En d'autres termes, en appliquant une adresse de ligne RA et une adresse de colonne CA, on peut manipuler des données pour quatre Thus, the total of 32 data bits makes it possible to represent four pixels PC 1 to PC 4 (see FIG. 53). In other words, by applying a row address RA and a column address CA , we can manipulate data for four
pixels PC 1 à PC 4.PC pixels 1 to PC 4.
La figure 54 est un schéma synoptique de la mémoire tampon d'intervalle d'image En se référant à la figure 54, on note que la mémoire tampon d'intervalle d'image 54 (ou 55) comprend un circuit de commande 741 et des réseaux de cellules de mémoire 701 à 732 (ou 801 à 832) Dans le cas de mémoires vives dynamique synchrones, chacun des réseaux de cellules de mémoire 701 à 732 est divisé en deux blocs BK 1 et BK 2 Un amplificateur de lecture 742 et un amplificateur-séparateur d'entrée/sortie 743 sont incorporés en correspondance avec chacun des Fig. 54 is a block diagram of the image gap buffer. Referring to Fig. 54, it is noted that the image gap buffer 54 (or 55) comprises a control circuit 741 and memory cell networks 701 to 732 (or 801 to 832) In the case of synchronous dynamic random access memories, each of the memory cell arrays 701 to 732 is divided into two blocks BK 1 and BK 2. A sense amplifier 742 and a second one. input / output amplifier-splitter 743 are incorporated in correspondence with each of the
réseaux de cellules de mémoire 701 à 732. networks of memory cells 701 to 732.
Par conséquent, 32 bits de données PD 1 à PD 32 sont écrits et lus dans les réseaux de cellules de mémoire Therefore, 32 data bits PD 1 to PD 32 are written and read in the memory cell arrays
701 à 732.701 to 732.
Le circuit de commande 741 reçoit un signal d'adresse ADR et un signal de commande Sc, et il génère un signal de commande pour accéder aux réseaux de cellules de The control circuit 741 receives an address signal ADR and a control signal Sc, and generates a control signal for accessing the cell networks of
mémoire 701 à 732.memory 701 to 732.
( 2) Un exemple employant des mémoires vives dynamiques (premier exemple: figure 55) La figure 55 montre une structure de système d'une mémoire tampon d'intervalle d'image 54 qui utilise des mémoires vives dynamiques (ou DRAM) En se référant à la figure 55, on note que la mémoire tampon d'intervalle d'image 54 comprend un réseau de cellules de mémoire DRAM 701 à 732, comprenant un total de 32 plans La mémoire tampon d'intervalle d'image 54 reçoit un signal d'adresse ADR provenant de l'unité de commande de mémoire vive (2) An example employing dynamic random access memories (first example: FIG. 55) FIG. 55 shows a system structure of an image interval buffer 54 that uses dynamic random access memories (or DRAMs) Referring in FIG. 55, it is noted that the image interval buffer 54 comprises an array of DRAM memory cells 701 to 732, comprising a total of 32 frames. ADR address from the RAM control unit
dynamique 740 par l'intermédiaire d'un bus d'adresse AB. dynamic 740 via an AB address bus.
La mémoire tampon d'intervalle d'image 54 est connectée au bus de données de pixel PD, et des données sont reçues/ The image interval buffer 54 is connected to the pixel data bus PD, and data is received /
émises par l'intermédiaire du bus de données de pixel PB. transmitted via the PB pixel data bus.
L'unité de commande de mémoire vive dynamique The dynamic random access control unit
742 est incorporée dans une unité de commande de l'appa- 742 is incorporated in a control unit of the appa-
reil de compression/décompression d'image qui est repré- compression / decompression image which is
senté sur la figure 1, à titre d'exemple Plus précisé- shown in Figure 1, as an example.
ment, l'unité de commande de mémoire vive dynamique 743 est incorporée dans le processeur de commande d'ensemble The dynamic random access control unit 743 is incorporated into the overall control processor.
11 qui est représenté sur la figure 9. 11 which is shown in Figure 9.
La figure 56 montre une configuration de pixels indiquant la relation entre des données enregistrées dans Figure 56 shows a pixel pattern indicating the relationship between data recorded in
la mémoire tampon d'intervalle d'image 54 qui est repré- the image interval buffer 54 which is
sentée sur la figure 55, et les pixels sur l'écran Comme décrit cidessus, en appliquant une adresse de ligne RA et une adresse de colonne CA à la mémoire tampon d'intervalle shown in Fig. 55, and the pixels on the screen as described above, by applying a row address RA and a column address CA to the interval buffer
d'image 54, on peut accéder à 32 bits de données repré- 54, 32 bits of data can be accessed.
sentant quatre pixels Dans la structure de système qui est représentée sur la figure 55, avec une adresse de ligne et une adresse de colonne, on peut définir quatre In the system structure shown in Figure 55, with a row address and a column address, it is possible to define four
pixels (par exemple PCO PC 3) dans la direction horizon- pixels (eg PCO PC 3) in the horizontal direction
tale sur l'écran SCN, comme représenté sur la figure 56. tale on the SCN screen, as shown in Figure 56.
La figure 58 montre une configuration de pixels Figure 58 shows a pixel configuration
pour la description du signal d'adressage par l'unité de for the description of the addressing signal by the unit of
commande de mémoire vive dynamique 740 qui est représentée sur la figure 55 En se référant à la figure 58, on note que l'adresse de colonne de la mémoire tampon d'intervalle dynamic random access control 740 shown in Fig. 55 Referring to Fig. 58, it is noted that the column address of the interval buffer
d'image 54 désigne des pixels dans la direction horizon- image 54 designates pixels in the horizontal direction
tale de l'écran SCN D'autre part, le signal d'adresse de ligne désigne des pixels dans la direction verticale de l'écran SCN Sur la figure 58, le symbole de référence O On the other hand, the line address signal designates pixels in the vertical direction of the SCN screen. In Figure 58, the reference symbol O
représente un pixel.represents a pixel.
Le processeur de commande d'ensemble Il qui est représenté sur la figure 55 produit un signal d'adresse de ligne RA et un signal d'adresse de colonne CA conformément The set control processor 11 shown in Fig. 55 produces a line address signal RA and a column address signal CA according to
à un microprogramme qui est enregistré dans ce processeur. to a firmware that is registered in this processor.
Les signaux d'adresse de ligne et de colonne RA et CA sont appliqués à titre de signal d'adresse ADR au bus d'adresse AB Le signal d'adresse ADR est appliqué à la mémoire tampon d'intervalle d'image 54 par l'intermédiaire du bus d'adresse AB Simultanément, l'unité de commande de mémoire vive dynamique 740 produit un signal de commande The row and column address signals RA and CA are applied as an address signal ADR to the address bus AB The address signal ADR is applied to the frame buffer 54 by intermediate AB address bus Simultaneously, the dynamic random access memory controller 740 produces a control signal
pour commander la mémoire tampon d'intervalle d'image 54. for controlling the image interval buffer 54.
Dans une opération d'écriture de données, le processeur de commande d'ensemble 11 applique des données à enregistrer dans la mémoire tampon d'intervalle d'image 54, par l'intermédiaire du bus de données de pixel PD Dans une opération de lecture de données, le processeur de commande d'ensemble 11 reçoit des données qui sont enregistrées dans la mémoire tampon d'intervalle d'image 54, par In a data write operation, the set control processor 11 applies data to be recorded in the image slot buffer 54 via the pixel data bus PD in a read operation. data, the ensemble control processor 11 receives data which is recorded in the image interval buffer 54, by
l'intermédiaire du bus de données de pixel PB. via the PB pixel data bus.
La figure 59 est un diagramme temporel montrant Figure 59 is a time chart showing
une opération de lecture dans la mémoire tampon d'inter- a read operation in the inter-
valle d'image 54, sous la commande de l'unité de commande de mémoire vive dynamique 740 qui est représentée sur la figure 55 En se référant à la figure 59, on note qu'après l'application du signal d'adresse de ligne RA 1, le signal Fig. 54, under the control of the dynamic random access control unit 740 shown in Fig. 55 Referring to Fig. 59, it is noted that after the application of the line address signal RA 1, the signal
d'activation d'adresse de ligne /RAS passe au niveau bas. line / RAS activation key goes low.
Après l'application du premier signal d'adresse de colonne CAI, le signal d'activation d'adresse de colonne/CAS passe au niveau bas Dans une opération de lecture, un signal de validation d'écriture /WE au niveau haut est appliqué Par conséquent, les données enregistrées P Dl sont lues dans la cellule de mémoire (non représenté) qui est désignée par le signal d'adresse R Ai et C Al Après la lecture des After applying the first column address signal CAI, the column address / CAS enable signal goes low In a read operation, a high level write enable signal / WE is applied Therefore, the recorded data P D1 are read from the memory cell (not shown) which is designated by the address signal R A 1 and C Al.
données PD 1, le signal /CAS passe au niveau haut. PD 1 data, the signal / CAS goes high.
Après l'application du signal d'adresse de colonne suivant CA 2, le signal /CAS passe à nouveau au niveau bas Par conséquent, les données PD 2 sont lues dans la cellule de mémoire qui est désignée par les signaux After the application of the next column address signal CA 2, the signal / CAS goes back to the low level. Therefore, the PD 2 data is read in the memory cell which is designated by the signals.
d'adresse R Ai et CA 2 En répétant des opérations simi- address R Ai and CA 2 By repeating similar operations
laires, les données PD 1, PD 2, qui sont désignées par les signaux d'adresse de colonne C Al, CA 2, sont successivement émises par une ligne qui est désignée par PD 1, PD 2, which are designated by the column address signals C A1, CA 2, are successively transmitted by a line which is designated by
le signal d'adresse de ligne RA 1.the line address signal RA 1.
En se référant à la figure 58, on note qu'un macro-bloc 750 est constitué par un total de 64 (= 8 x 8), c'est-à-dire 8 dans la direction horizontale et 8 dans la direction verticale sur l'écran SCN Par conséquent, les données de pixel dans le macro-bloc 750 peuvent être désignées par des signaux d'adresse de ligne R Ai à RA 8 et Referring to FIG. 58, it is noted that a macroblock 750 is constituted by a total of 64 (= 8 × 8), that is 8 in the horizontal direction and 8 in the vertical direction. As a result, the pixel data in the macro block 750 can be designated by line address signals R A 1 to RA 8 and
des signaux d'adresse de colonne CA 4 et CA 5. CA 4 and CA 5 column address signals.
Ainsi, le processeur de commande d'ensemble 11 qui est représenté sur la figure 5 produit des signaux d'adresse de ligne et de colonne conformément à un Thus, the set control processor 11 shown in Fig. 5 produces line and column address signals in accordance with a
programme enregistré, de la manière suivante Première- recorded program, as follows first-
ment, après l'émission du signal d'adresse de ligne R Ai, les signaux d'adresse de colonne CA 4 et CA 5 sont émis Par conséquent, on peut accéder à la première ligne de données de pixel dans le macro-bloc 750 (par exemple pour une opération de lecture) Ensuite, après l'application du signal d'adresse de ligne RA 2, les signaux d'adresse de colonne CA 4 et CA 5 sont appliqués successivement On peut After the transmission of the line address signal R A 1, the column address signals CA 4 and CA 5 are transmitted. Accordingly, the first line of pixel data can be accessed in the macro block 750. (For example for a read operation) Next, after the application of the line address signal RA 2, the column address signals CA 4 and CA 5 are successively applied.
donc accéder à la seconde ligne de données dans le macro- so access the second line of data in the macro-
bloc 750 Une opération similaire est répétée jusqu'à la block 750 A similar operation is repeated until the
huitième ligne du macro-bloc 750.eighth line of the macro-block 750.
Par conséquent, pour accéder à la mémoire tampon d'intervalle d'image 54 pour tous les pixels dans le macro-bloc 750, il faut un total de 8 applications Therefore, to access the image interval buffer 54 for all the pixels in the macro block 750, a total of 8 applications is required
d'adresses de ligne R Ai à RA 8 et un total de 16 applica- number of line addresses R Ai to RA 8 and a total of 16 applications
tions d'adresses de colonne CA.CA column address statements.
Dans un certain exemple, l'application d'une adresse de ligne RA demande 90 ns et deux applications des adresses de colonne CA et le transfert de données demandent ns Dans ce cas, la désignation d'un macro-bloc exige In one example, the application of an RA line address requests 90 ns and two applications of the AC column addresses and the data transfer request ns In this case, the designation of a macro-block requires
1680 ns (= ( 90 + 120) x 8).1680 ns (= (90 + 120) x 8).
D'autre part, lorsqu'un vecteur de mouvement doit être détecté dans l'unité de prédiction de mouvement, un macro-bloc 751 tel que celui qui est représenté sur la figure 58 est nécessaire Plus précisément, les données de pixel qui sont incluses dans le macro-bloc 751 sont désignées par des adresses de ligne RA 11 à RA 18 et des adresses de colonne C Al à CA 3 Les données de pixel qui sont enregistrées dans les zones 752 et 753 ne sont pas nécessaires, et elles sont rejetées après avoir été obtenues, pour accéder aux données concernant des pixels On the other hand, when a motion vector is to be detected in the motion prediction unit, a macroblock 751 such as that shown in Fig. 58 is required. Specifically, the pixel data that is included in the macro block 751 are designated by row addresses RA 11 to RA 18 and column addresses C A1 to CA 3 Pixel data that is recorded in areas 752 and 753 are not required, and are discarded after being obtained, to access pixel data
dans le macro-bloc 751.in the macro block 751.
Ainsi, pour accéder à des données de pixel dans le macro-bloc 751, un total de 8 applications d'adresses de ligne RA et un total de 24 applications d'adresses de colonne CA sont nécessaires Il en résulte qu'un total de Thus, to access pixel data in the macro block 751, a total of 8 RA line address applications and a total of 24 AC column address applications are required. As a result, a total of
2160 ns est nécessaire pour l'accès. 2160 ns is required for access.
( 3) Un exemple employant des mémoires vives dynamiques synchrones (second, troisième et quatrième (3) An example using synchronous dynamic random access memories (second, third and fourth
exemples)examples)
Dans ce qui suit, on décrira trois exemples (second, troisième et quatrième exemples) employant des In what follows, we will describe three examples (second, third and fourth examples) using
mémoires vives dynamiques synchrones (encore appelées ci- synchronous dynamic random access memories (also called
après "SDRAM") pour la mémoire tampon d'intervalle d'image. La figure 60 montre une structure de système de la mémoire tampon d'intervalle d'image 55 employant des mémoires SDRAM En se référant à la figure 60, on note que la mémoire tampon d'intervalle d'image 55 est constituée par des mémoires SDRAM comprenant des réseaux de cellules de mémoire 801 à 832 qui sont divisés en un total de 32 plans Le processeur de commande d'ensemble 11 comprend un générateur d'adresse 804 pour générer un signal d'adresse ADR pour l'accès à la mémoire tampon d'intervalle d'image Le générateur d'adresse 804 applique un signal d'adresse de ligne RA et le signal d'adresse de colonne CA, à titre de signal d'adresse ADR, à la mémoire tampon d'intervalle d'image 55 par l'intermédiaire du bus d'adresse AB Les données sur lesquelles porte l'accès sont appliquées à la mémoire tampon d'intervalle d'image par l'intermédiaire du bus de données de pixel PB Le processeur de commande d'ensemble applique un signal d'horloge de système 4 sc au générateur d'adresse 840, pour after "SDRAM") for the image interval buffer. Fig. 60 shows a system structure of the image gap buffer 55 employing SDRAM memories. Referring to Fig. 60, it is noted that the image interval buffer 55 is constituted by SDRAM memories. comprising memory cell arrays 801 to 832 which are divided into a total of 32 planes The set control processor 11 comprises an address generator 804 for generating an ADR address signal for access to the buffer memory The address generator 804 applies a line address signal RA and the column address signal CA, as an address signal ADR, to the frame interval buffer Via the address bus AB The data to which the access relates is applied to the image slot buffer via the pixel data bus PB The set control processor applies a system clock signal 4 sc at g nérateur address 840 for
générer le signal d'adresse ADR.generate the ADR address signal.
Au cours du fonctionnement, le processeur de commande d'ensemble 11 active le générateur d'adresse 840 conformément à un programme enregistré Sous l'effet du signal d'horloge de système 4 fsc, le générateur d'adresse 840 produit un signal d'adresse ADR pour accéder à la mémoire SDRAM dans la mémoire tampon d'intervalle d'image Le générateur d'adresse 840 génère un signal d'adresse de ligne RA et un signal d'adresse de colonne CA des trois During operation, the set control processor 11 activates the address generator 840 according to a registered program. Under the effect of the system clock signal 4 fsc, the address generator 840 generates a signal of ADR address for accessing the SDRAM in the image slot buffer The address generator 840 generates a row address signal RA and a column address signal CA of the three
manières différentes décrites ci-dessous (second, troisiè- different ways described below (second, third,
me et quatrième exemples).me and fourth examples).
La figure 61 est un diagramme temporel montrant une opération de base (dans cet exemple une opération de lecture) de la mémoire SDRAM En se référant à la figure Fig. 61 is a time chart showing a basic operation (in this example a read operation) of the SDRAM memory. Referring to Fig.
61, on note que la mémoire DRAM fonctionne sous la dépen- 61, it is noted that the DRAM memory functions under the
dance du signal d'horloge de système 4 sc qui est appliqué par le processeur de commande d'ensemble 11 Le signal d'adresse de ligne R Ai est admis sous l'effet de la transition descendante du signal/RAS, et ensuite le signal d'adresse de colonne C Al est admis sous l'effet de la transition descendante du signal /CAS Sous l'effet du signal d'horloge de système 4 Wsc, le générateur d'adresse 840 produit successivement des signaux d'adresse de colonne C Al à CA 8, en partant du signal d'adresse de colonne C Al Ces signaux d'adresse sont appliqués à la mémoire tampon d'intervalle d'image 55 par l'intermédiaire 4 rd system clock signal which is applied by the set control processor 11 The line address signal R Ai is admitted under the effect of the signal / RAS downlink transition, and then the signal Column address address C Al is admitted under the effect of the downlink transition of the signal / CAS. Under the effect of the system clock signal 4 Wsc, the address generator 840 successively produces column address signals. C Al CA 8, starting from the column address signal C Al These address signals are applied to the image interval buffer 55 via
du bus d'adresse AD.AD address bus.
Par conséquent, dans l'opération de lecture de données, les données enregistrées PD 1 à PD 8 sont lues dans Therefore, in the data read operation, the stored data PD 1 to PD 8 are read from
le réseau de cellules de mémoire dans la mémoire SDRAM. the network of memory cells in the SDRAM memory.
Plus précisément, dans cet exemple représenté sur la figure 61, 8 signaux d'adresse de colonne sont générés, en partant du signal d'adresse de colonne C Al, de façon que 8 éléments de données PD 1 à PD 8 soient lus dans la ligne qui Specifically, in this example shown in Fig. 61, 8 column address signals are generated, starting from the column address signal C A1, so that 8 data elements PD 1 to PD 8 are read in the line that
est désignée par le signal d'adresse de ligne RA 1. is designated by the line address signal RA 1.
(i) Second exemple (figures 62 et 63) La figure 62 montre une configuration de pixels (i) Second Example (Figures 62 and 63) Figure 62 shows a pixel configuration
pour la description de l'adressage par le générateur for the description of the addressing by the generator
d'adresse 840 qui est représenté sur la figure 60 (second exemple) Comme représenté sur la figure 62, les pixels dans la direction horizontale sur l'écran SCN sont désignés par le signal d'adresse de colonne CA, tandis que les pixels dans la direction verticale sont désignés par 840, which is shown in Fig. 60 (second example). As shown in Fig. 62, the pixels in the horizontal direction on the SCN screen are designated by the column address signal CA, while the pixels in FIG. the vertical direction are designated by
le signal d'adresse de ligne RA.the line address signal RA.
Dans cet exemple également, avec un signal d'adresse de ligne RA et un signal d'adresse de colonne CA, 32 bits de données au total sont lus dans la mémoire tampon d'intervalle d'image 55 qui est représentée sur la figure 60 Quatre pixels peuvent donc être représentés par 32 bits de données De plus, dans le second exemple qui est représenté sur la figure 62, quatre pixels dans la direction verticale (par exemple PC O PC 3) peuvent être représentés par 32 bits de données, comme représenté sur Also in this example, with a line address signal RA and a column address signal CA, a total of 32 data bits are read in the frame buffer 55 which is shown in FIG. Four pixels can therefore be represented by 32 bits of data Moreover, in the second example shown in FIG. 62, four pixels in the vertical direction (for example PC O PC 3) can be represented by 32 bits of data, such as represented on
la figure 57.Figure 57.
A titre d'exemple, le macro-bloc 860 contient un By way of example, macroblock 860 contains a
total de 64 pixels, c'est-à-dire 8 pixels dans la direc- total of 64 pixels, that is to say 8 pixels in the direction
tion horizontale et 8 pixels dans la direction verticale. horizontally and 8 pixels in the vertical direction.
A titre d'exemple, l'adressage des données de pixel du macro-bloc 860 dans la lecture est effectué de la manière suivante. Après l'application d'une adresse de ligne RA 4, une adresse de colonne C Al est appliquée Le générateur d'adresse 840 qui est représenté sur la figure 60 génère successivement des adresses de colonne C Al à CA 8, en partant de l'adresse de colonne C Al, sous la dépendance du signal d'horloge de système 4 sc Par conséquent, à partir d'une ligne qui est désignée par l'adresse de ligne RA 4, la première moitié des données qui sont désignées par les By way of example, the addressing of the pixel data of the macroblock 860 in the reading is done in the following manner. After the application of a line address RA 4, a column address C A1 is applied. The address generator 840 shown in FIG. 60 successively generates column addresses C A1 to CA 8, starting from Therefore, from a line designated by the line address RA 4, the first half of the data which is designated
adresses de colonne C Al à CA 8 est lue en succession. column addresses C Al to CA 8 is read in succession.
Ensuite, après l'application de l'adresse de ligne RA 5, une adresse de colonne C Al est appliquée Sous l'effet du signal d'horloge de système 4 fsc, le générateur d'adresse 840 produit successivement les signaux d'adresse de colonne C Al à CA 8 Par conséquent, la seconde moitié Then, after the application of the line address RA 5, a column address C A1 is applied. Under the effect of the system clock signal 4 fsc, the address generator 840 successively produces the address signals. of column C Al to CA 8 Therefore, the second half
des pixels dans le macro-bloc 860 peut être lue. pixels in the macroblock 860 can be read.
La figure 63 est un diagramme temporel montrant le fonctionnement du générateur d'adresse 840 qui est représenté sur la figure 60 Pour réaliser l'adressage de la manière qui est représentée sur la figure 62, le générateur d'adresse 840 représenté sur la figure 60 fonctionne de la manière qui est représentée sur la figure 63. En se référant à la figure 63, on note que sous l'effet de la transition descendante du signal/RAS, le signal d'adresse de ligne RA 4 est admis, et ensuite sous l'effet de la transition descendante du signal/CAS, le signal d'adresse de colonne C Al est admis Le générateur d'adresse 840 (non représenté) produit successivement des signaux d'adresse de colonne C Al à CA 8, en partant du signal d'adresse de colonne C Al qui a été admis Ces signaux d'adresse RA 4 et C Al à CA 8 sont appliqués à la mémoire tampon d'intervalle d'image 55 par l'intermédiaire Fig. 63 is a timing diagram showing the operation of the address generator 840 shown in Fig. 60. To perform the addressing in the manner shown in Fig. 62, the address generator 840 shown in Fig. 60 operates in the manner shown in Fig. 63. Referring to Fig. 63, it is noted that under the effect of the downlink transition of the signal / RAS, the line address signal RA 4 is admitted, and then under the effect of the downward transition of the signal / CAS, the column address signal C A1 is admitted. The address generator 840 (not shown) successively produces column address signals C Al to CA 8, starting from the column address signal C A1 which has been admitted These address signals RA 4 and C A1 to CA 8 are applied to the image interval buffer 55 via
du bus d'adresse AB qui est représenté sur la figure 60. AB address bus which is shown in Figure 60.
Il en résulte que dans l'opération de lecture, les données enregistrées PD 1, PD 2, sont successivement émises par As a result, in the read operation, the recorded data PD 1, PD 2, are successively transmitted by
la mémoire tampon d'intervalle d'image 55. the image interval buffer 55.
Comme décrit ci-dessus, du fait que la mémoire tampon d'intervalle d'image 55 comprend un total de 32 plans, un bit de données est lu dans chacun des réseaux de As described above, since the image interval buffer 55 comprises a total of 32 clips, one data bit is read in each of the plurality of picture frames.
cellules de mémoire 801 à 832 Ainsi, un élément de don- memory cells 801 to 832 Thus, a data element
nées PD 1 représenté sur la figure 63 correspond à 32 bits de données Par conséquent, on note qu'avec un élément de données PD 1, on peut représenter quatre pixels dans la direction verticale sur l'écran SCN représenté sur la PD 1 represented in FIG. 63 corresponds to 32 bits of data. Therefore, it should be noted that with a data element PD 1, it is possible to represent four pixels in the vertical direction on the screen SCN represented on FIG.
figure 62.Figure 62.
Ensuite, sous l'effet de la transition descen- Then, under the effect of the
dante du signal/RAS, le signal d'adresse de ligne RA 5 est admis, et sous l'effet de la transition descendante du signal, the line address signal RA 5 is admitted, and under the effect of the downward transition of the
signal/CAS le signal d'adresse de colonne CAI est admis. signal / CAS the CAI column address signal is allowed.
Le générateur d'adresse 804 produit successivement des signaux d'adresse C Al à CA 8 (non représentés), en partant du signal d'adresse de colonne C Al Par conséquent, les données PD 11 à PD 18 qui sont destinées à représenter des pixels dans la seconde moitié du macro-bloc 860 sont lues successivement. De cette manière, seulement deux signaux d'adresse de ligne (c'est-à-dire RA 4 et RA 5) et seulement deux signaux d'adresse de colonne (deux fois le signal C Al) sont nécessaires pour les pixels dans un macro-bloc 860, et le temps nécessaire pour l'adressage peut être réduit en comparaison avec l'exemple qui est représenté The address generator 804 successively produces AC address signals A1 to CA8 (not shown), starting from the column address signal C A1. Therefore, the data PD 11 to PD 18 which are intended to represent pixels in the second half of the macro-block 860 are read successively. In this way, only two line address signals (i.e. RA 4 and RA 5) and only two column address signals (twice the C A1 signal) are required for the pixels in a macro-block 860, and the time required for addressing can be reduced in comparison with the example which is shown
sur la figure 58.in Figure 58.
Par exemple, si 25 ns sont nécessaires pour For example, if 25 ns are needed for
l'application d'une adresse de ligne et 200 ns sont néces- application of a line address and 200 ns are required.
saires pour l'application d'une adresse de colonne CA et pour le transfert de données, un adressage nécessite un For the application of a CA column address and for data transfer, addressing requires
total de 450 ns.total of 450 ns.
Une autre zone de pixels 862 qui apparaît sur la figure 62 représente la zone de pixels qui est traitée dans l'unité de prédiction de mouvement Pour lire des données des pixels dans la zone 862, on applique un signal d'adresse de ligne RA 1, et on applique ensuite un signal d'adresse de colonne CA 11 Par conséquent, à partir de la ligne qui est désignée par l'adresse de ligne RA 1, les données des pixels dans le premier tiers de la zone de pixels 862 sont lues successivement En appliquant successivement des signaux d'adresse de ligne RA 2 et RA 3, on peut effectuer la lecture des zones restantes dans la zone Another pixel area 862 shown in Fig. 62 represents the area of pixels that is processed in the motion prediction unit. To read pixel data in area 862, a line address signal RA 1 is applied. , and then a column address signal CA 11 is applied. Therefore, from the line designated by the line address RA 1, the pixel data in the first third of the pixel area 862 is read. successively By successively applying line address signals RA 2 and RA 3, it is possible to read the remaining zones in the zone
de pixels 862.862 pixels.
(ii) Troisième exemple (figure 64) La figure 64 est un diagramme temporel montrant un autre exemple du fonctionnement du générateur d'adresse 840 qui est représenté sur la figure 60 En se référant à (ii) Third Example (Fig. 64) Fig. 64 is a timing diagram showing another example of the operation of the address generator 840 shown in Fig. 60 Referring to
la figure 64, on note que dans cet exemple, après l'admis- Figure 64, we note that in this example, after the admission
sion du signal d'adresse de ligne R Ai et du signal d'adresse de colonne C Al, sous l'effet du signal d'horloge de système 4 sc, le signal d'adresse de colonne CA (non of the line address signal R Ai and the column address signal C A1 under the effect of the system clock signal 4 sc, the column address signal CA (no
représenté) est généré par le générateur d'adresse 840. represented) is generated by the address generator 840.
Ainsi, deux signaux d'adresse de colonne CAI et CA 2 doivent être appliqués à la mémoire tampon d'intervalle d'image 55 Par conséquent, à partir de la ligne qui est désignée par l'adresse de ligne RA 1, 32 bits de données PD 1 désignées par l'adresse de colonne C Al et 32 bits de données PD 2 désignées par l'adresse de colonne CA 2 sont lus. Du fait que les données PD 1 et PD 2 comprennent chacune 32 bits de données, 8 pixels dans la direction Thus, two column address signals CA1 and CA2 must be applied to the image slot buffer 55 Therefore, from the line that is designated by the line address RA 1, 32 bits of PD 1 data designated by the column address C Al and 32 bits PD 2 data designated by the column address CA 2 are read. Since the data PD 1 and PD 2 each comprise 32 data bits, 8 pixels in the direction
horizontale peuvent être représentés sur l'écran SCN. horizontal can be represented on the SCN screen.
(iii) Quatrième exemple (figure 65) La figure 65 montre une configuration de pixels (iii) Fourth Example (Figure 65) Figure 65 shows a pixel configuration
pour la description d'encore un autre exemple d'adressage for the description of yet another example of addressing
par le générateur d'adresse 840 qui est représenté sur la figure 60 En se référant à la figure 65, on note que des données pour les pixels dans la direction horizontale sur l'écran SCN sont désignées par le signal d'adresse de ligne, tandis que des données des pixels dans la direction verticale sont désignées par le signal d'adresse de colonne Par exemple, pour désigner des données de pixel du macro-bloc 863, un signal d'adresse de ligne RA 4 est appliqué, et ensuite un signal d'adresse de colonne C Al est appliqué Le générateur d'adresse 840 génère des adresses de colonnes C Al à CA 8 en partant du signal d'adresse de colonne C Al Il en résulte que les données des pixels dans la moitié gauche du macro-bloc 863 sont lues. Ensuite, après l'application du signal d'adresse de ligne RA 5, un signal d'adresse de colonne C Al est appliqué Le générateur d'adresse 840 génère les signaux by the address generator 840 shown in Fig. 60 Referring to Fig. 65, it is noted that data for the pixels in the horizontal direction on the screen SCN are designated by the line address signal, while data of pixels in the vertical direction are designated by the column address signal. For example, to designate pixel data of macroblock 863, a line address signal RA 4 is applied, and then a Column address signal C Al is applied. The address generator 840 generates column addresses C A1 to CA 8 starting from the column address signal C A1. As a result, the data of the pixels in the left half of the macro-block 863 are read. Then, after the application of the line address signal RA 5, a column address signal C A1 is applied. The address generator 840 generates the signals.
d'adresse de colonne C Al à CA 8 Par conséquent, les don- column address C Al to CA 8 Therefore, the data
nées des pixels de la moitié droite du macro-bloc 863 sont pixels from the right half of macro block 863 are
lues.read.
Dans le traitement qui est effectué dans l'unité de prédiction de mouvement, un adressage similaire est In the processing that is performed in the motion prediction unit, a similar addressing is
accompli pour les pixels dans la zone de pixels 865. accomplished for the pixels in the pixel area 865.
De cette manière, en utilisant la mémoire tampon d'intervalle d'image 55 qui emploie des mémoires SDRAM, comme représenté dans les second, troisième et quatrième exemples ci-dessus, on peut réduire le temps nécessaire In this way, by using the image interval buffer 55 which uses SDRAM memories, as shown in the second, third and fourth examples above, the time needed can be reduced.
pour l'adressage.for addressing.
( 4) Générateur d'adresse (figure 66) (4) Address Generator (Figure 66)
La figure 66 est un schéma synoptique du géné- Figure 66 is a block diagram of the gen-
rateur d'adresse 840 qui est représenté sur la figure 60. address generator 840 shown in FIG.
En se référant à la figure 66, on note que le générateur d'adresse 840 comprend un registre d'adresse initiale verticale 841, un registre de taille d'intervalle d'image 842, un registre de taille de page 843, un registre d'adresse initiale horizontale 844, un registre de taille horizontale 845, des registres 846 et 847, un compteur Referring to Fig. 66, it is noted that the address generator 840 includes a vertical initial address register 841, an image interval size register 842, a page size register 843, horizontal initial address 844, a horizontal size register 845, registers 846 and 847, a counter
horizontal 848, un circuit d'incrémentation 849, un cir- horizontal 848, an incrementing circuit 849, a cir-
cuit de détection d'extrémité droite 850, un circuit de commande de sortie 451, des sélecteurs 852 et 853, un cured 850, an output control circuit 451, selectors 852 and 853, an
additionneur 854 et un sélecteur 855. adder 854 and a selector 855.
On suppose que les registres 841 et 845 contien- It is assumed that registers 841 and 845 contain
nent respectivement des données initiales L'adresse initiale qui est contenue dans le registre 841 est émise sous la forme d'une adresse de ligne, par l'intermédiaire du sélecteur 852, de l'additionneur 854 et du sélecteur 855 D'autre part, l'adresse initiale est appliquée aux registres 846 et 847 par l'intermédiaire du sélecteur 852 et de l'additionneur 854, et elle est conservée dans ces The initial address which is contained in the register 841 is transmitted in the form of a line address via the selector 852, the adder 854 and the selector 855. On the other hand, the initial address is applied to the registers 846 and 847 via the selector 852 and the adder 854, and is retained in these
registres.registers.
L'adresse initiale horizontale qui est conservée dans le registre 844 est appliquée au circuit de commande de sortie 851 pour la commande de largeur (nombre de bits), par l'intermédiaire du circuit d'incrémentation 849 Le circuit de commande de sortie 851 fournit une adresse de colonne qui est émise par l'intermédiaire du The horizontal initial address that is retained in the register 844 is applied to the output control circuit 851 for the width control (number of bits), via the incrementing circuit 849. The output control circuit 851 provides a column address that is issued through the
sélecteur 855.selector 855.
Le circuit d'incrémentation 859 incrémente une adresse horizontale qui provient du registre d'adresse initiale horizontale 844 tous les 8 cycles du signal d'horloge de système 4 sc Lorsque l'adresse horizontale dépasse la taille de page, le circuit d'incrémentation 949 The incrementing circuit 859 increments a horizontal address that comes from the horizontal initial address register 844 every 8 cycles of the system clock signal 4 sc. When the horizontal address exceeds the page size, the incrementing circuit 949
incrémente l'adresse de ligne.increments the line address.
Les données du registre 847 et des données " 1 " sont appliquées à l'additionneur 854, le résultat de l'addition est fourni sous la forme d'une adresse de ligne The data of the register 847 and the data "1" are applied to the adder 854, the result of the addition is provided in the form of a line address
et le résultat est également appliqué au registre 847. and the result is also applied to register 847.
Lorsque l'extrémité droite des données trans- When the right end of the trans-
férées est détectée par le circuit de détection d'extré- is detected by the end detection circuit.
mité droite 850, les données qui sont conservées dans le registre 846 et les données de taille d'intervalle d'image sont appliquées à l'additionneur 454 par l'intermédiaire mite 850, the data that is retained in register 846 and the image slot size data is applied to adder 454 via
des sélecteurs 852 et 853 Les données indiquant le résul- selectors 852 and 853 The data indicating the result of
tat de l'addition sont émises sous la forme d'une adresse de ligne par le sélecteur 855, et elles sont également addition status are issued as a line address by the selector 855, and they are also
appliquées aux registres 846 et 847. applied to registers 846 and 847.
La figure 67 montre la correspondance adresse- Figure 67 shows the correspondence address-
page, faisant apparaître la relation entre les adresses de ligne et de colonne qui sont fournies par le générateur d'adresse 840 représenté surla figure 6, et les pages. page, showing the relationship between the row and column addresses that are provided by the address generator 840 shown in FIG. 6, and the pages.
D'autre part, la figure 86 montre la correspondance page- On the other hand, Figure 86 shows the correspondence page-
pixels, faisant apparaître la relation entre la page qui est représentée sur la figure 67 et les pixels sur l'écran La mémoire tampon d'intervalle d'image 55 qui est représentée sur la figure 60 enregistre des données de la pixels, showing the relationship between the page that is shown in Fig. 67 and the pixels on the screen The image interval buffer 55 that is shown in Fig. 60 records data from the
manière qui est représentée sur la figure 67 Le généra- which is shown in Figure 67.
teur d'adresse 840 attribue les données enregistrées dans la mémoire tampon d'intervalle d'image 55 de la manière qui est représentée sur la figure 68 Le générateur d'adresse 840 qui est représenté sur la figure 66 génère le signal d'adresse de ligne RA et le signal d'adresse de The address generator 840 allocates the data recorded in the image interval buffer 55 in the manner shown in Fig. 68. The address generator 840 shown in Fig. 66 generates the address signal. line RA and the address signal from
colonne CA de façon que l'adressage de la manière repré- AC column so that the addressing in the manner
sentée sur les figures 67 et 68 puisse être effectué. 67 and 68 can be performed.
( 5) Procédé de projection On décrira dans ce qui suit un procédé de projection de chaque donnée de pixel de l'écran dans la mémoire tampon d'intervalle d'image Les procédés décrits ci-dessous peuvent être appliqués à la mémoire tampon d'intervalle d'image 51 qui est représentée sur la figure (5) Projection Method A method of projecting each pixel data of the screen into the image gap buffer will be described in the following. The methods described below can be applied to the buffer memory. picture interval 51 which is shown in the figure
1.1.
On décrira tout d'abord un procédé de projection We will first describe a projection process
qui permet de réduire le nombre de transferts de données. which reduces the number of data transfers.
La figure 52 est un premier schéma synoptique qui illustre le procédé de projection de données de pixel de l'écran Fig. 52 is a first block diagram which illustrates the method of projecting pixel data of the screen
dans la mémoire tampon d'intervalle d'image En se réfé- in the frame interval buffer Referring to
rant à la figure 72, on note qu'une zone de données 862 ayant deux pixels dans les directions de la longueur et de la largeur, est traitée comme une unité, et une adresse de FIG. 72 shows that a data area 862 having two pixels in the length and width directions is treated as a unit, and a
la mémoire tampon d'intervalle d'image lui est attribuée. the image slot buffer is assigned to it.
Plus précisément, en correspondance avec une adresse spécifiée par le signal d'adresse de ligne RA et le signal d'adresse de colonne CA, des données de quatre pixels qui sont inclus dans la zone de données 861 sont enregistrées dans la mémoire tampon d'intervalle d'image, ou bien en désignant l'adresse, les données sont lues dans la mémoire More specifically, in correspondence with an address specified by the line address signal RA and the column address signal CA, data of four pixels which are included in the data area 861 are recorded in the buffer memory of image interval, or by designating the address, the data is read from the memory
tampon d'intervalle d'image et les données sont transfé- image slot buffer and the data is transferred
rées vers chacun des blocs et à partir de ceux-ci par l'intermédiaire du bus de données de pixel Par exemple, en se référant à la figure 72, on note que lorsqu'une zone de données 862 comprenant 8 pixels dans la direction horizontale et 8 pixels dans la direction verticale, qui est utilisée pour la détection de vecteur de mouvement, est transférée, en utilisant la zone de données 861 à titre d'unité de transfert, toutes les données de pixel dans la zone de données 862 peuvent être transférées par (direction horizontale) x 5 (direction verticale) = 25 opérations de transfert En comparaison avec l'exemple de la figure 58 dans lequel une zone de données consistant en quatre pixels dans la direction horizontale est utilisée à titre d'unité de transfert, le nombre de transferts peut être réduit de deux, et la zone de données 863 qui n'a pas to each of the blocks and from them via the pixel data bus. For example, referring to Fig. 72, it will be noted that when a data area 862 comprises 8 pixels in the horizontal direction and 8 pixels in the vertical direction, which is used for motion vector detection, is transferred, using the data area 861 as a transfer unit, all the pixel data in the data area 862 can be transferred by (horizontal direction) x 5 (vertical direction) = 25 transfer operations Compared with the example of Fig. 58 in which a data area consisting of four pixels in the horizontal direction is used as a transfer unit , the number of transfers can be reduced by two, and the data area 863 that does not
besoin d'être transférée peut être réduite Par consé- need to be transferred can be reduced accordingly.
quent, en utilisant le procédé de projection décrit ci- using the projection method described above.
dessus, il est possible de réduire le nombre de trans- above, it is possible to reduce the number of trans-
ferts, et de transférer des données d'image avec une ferts, and to transfer image data with a
vitesse élevée.high speed.
On va maintenant décrire le transfert d'une zone We will now describe the transfer of an area
de données comprenant 8 pixels dans la direction horizon- of data comprising 8 pixels in the horizontal direction
tale et 8 pixels dans la direction verticale, en utilisant le procédé de projection décrit ci-dessus Les figures 73 and 8 pixels in the vertical direction, using the projection method described above.
à 76 sont des première à quatrième illustrations du trans- at 76 are first to fourth illustrations of the trans-
fert de la zone de données comprenant 8 pixels en direc- of the data area with 8 pixels in
tion horizontale et 8 pixels en direction verticale. horizontally and 8 pixels vertically.
Lorsqu'une zone de données 864 qui comprend 8 pixels dans la direction horizontale et 8 pixels dans la direction verticale doit être transférée, il y a quatre manières différentes, représentées sur les figures 73 à 76, en When a data area 864 which comprises 8 pixels in the horizontal direction and 8 pixels in the vertical direction is to be transferred, there are four different ways, shown in Figs.
fonction de la position de la zone de données 864. function of the position of the data area 864.
Dans l'exemple qui est représenté sur la figure 73, lorsque chaque donnée de pixel dans la zone de données 864 doit être transférée en utilisant une zone de données qui comprend deux pixels dans les directions horizontale et verticale, à titre d'unité de transfert, le nombre de transferts nécessaire est de 4 (direction horizontale) x 4 (direction verticale) = 16 Dans l'exemple des figures 74 et 75, le nombre de transferts nécessaire est de 20 Dans In the example shown in Fig. 73, when each pixel data in the data area 864 is to be transferred using a data area that includes two pixels in the horizontal and vertical directions, as a transfer unit. the number of transfers required is 4 (horizontal direction) x 4 (vertical direction) = 16 In the example of FIGS. 74 and 75, the number of transfers required is 20 In
l'exemple de la figure 76, 25 transferts sont nécessaires. In the example of Figure 76, 25 transfers are required.
Par conséquent, le nombre moyen de transferts nécessaires pour transférer la zone de données 864 est de 20,25 En comparaison avec le transfert par l'utilisation de quatre pixels dans la direction horizontale, à titre d'unité de transfert, qui est représenté sur la figure 58, le nombre Therefore, the average number of transfers required to transfer the data area 864 is 20.25 compared with the transfer by the use of four pixels in the horizontal direction, as a transfer unit, which is represented on Figure 58, the number
de transferts peut être réduit d'environ deux. transfers can be reduced by about two.
On va maintenant décrire un procédé de projec- We will now describe a method of projection
tion dans lequel une zone de données comprenant quatre pixels dans la direction horizontale et deux pixels dans la direction verticale est considérée comme un élément de données et une adresse lui est attribuée La figure 77 est une seconde illustration montrant le procédé de projection des données d'image de l'écran dans la mémoire tampon d'intervalle d'image Comme représenté sur la figure 77, une adresse de la mémoire tampon d'intervalle d'image est appliquée à la zone de données 865 comprenant quatre pixels dans la direction horizontale et deux pixels dans la direction verticale, que l'on considère comme un wherein a data area comprising four pixels in the horizontal direction and two pixels in the vertical direction is considered as a data item and an address is assigned to it. Fig. 77 is a second illustration showing the method of projecting the data of image of the screen in the image gap buffer As shown in Fig. 77, an address of the image gap buffer is applied to the data area 865 comprising four pixels in the horizontal direction and two pixels in the vertical direction, which is considered a
élément de données A ce moment, lorsqu'une zone de don- data element At this point, when a data area
nées 866 comprenant 9 pixels dans la direction horizontale born 866 with 9 pixels in the horizontal direction
et 9 pixels dans la direction verticale doit être trans- and 9 pixels in the vertical direction must be trans-
férée en utilisant la zone de données 865 à titre d'unité checked using data area 865 as a unit
de transfert, le nombre de transferts de données néces- transfer rate, the number of data transfers required
saires est de 3 (direction horizontale) x 5 (direction verticale) = 15 En comparaison avec l'exemple représenté saires is 3 (horizontal direction) x 5 (vertical direction) = 15 Compared with the example shown
sur la figure 58, dans lequel une zone de données compre- in Fig. 58, wherein a data area comprises
nant 8 pixels dans la direction horizontale est utilisée à titre d'unité de transfert, le nombre de transferts peut être réduit de trois, et la zone 867 qui ne nécessite pas 8 pixels in the horizontal direction is used as a transfer unit, the number of transfers can be reduced by three, and the 867 area that does not require
un transfert de données peut être réduite. a data transfer can be reduced.
On va maintenant décrire un premier procédé de projection d'une première et d'une seconde images de différence de couleur dans la mémoire d'intervalle d'image La figure 78 est une illustration du premier procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon d'intervalle d'image On appelle ici premières données de pixel de différence de couleur les données de pixel de différence de couleur Cb qui ont été converties du format RGB au format YUV, et on appelle secondes données de pixel A first method of projecting a first and a second color difference image into the image gap memory will now be described. FIG. 78 is an illustration of the first method of projecting the first and second pixel data. difference in color in the image gap buffer Here, the first color difference pixel data is called the color difference pixel data Cb which has been converted from RGB format to YUV format, and is called second data. of pixel
de différence de couleur les données de pixel de diffé- of color difference the pixel data of different
rence de couleur Cr qui ont été converties de façon simi- of Cr color which have been converted in a similar way
laire Sur la figure 78, la zone de données 868 comprenant quatre pixels dans la direction horizontale est considérée comme un élément de données, et une adresse de la mémoire In Fig. 78, the data area 868 comprising four pixels in the horizontal direction is considered as a data item, and an address of the memory
tampon d'intervalle d'image lui est attribuée Les premiè- image slot buffer is assigned to it The first
res données de pixel de différence de couleur 873 et les secondes données de pixel de différence de couleur 869 sont projetées alternativement, quatre pixels par quatre pixels dans la direction horizontale Les première données de pixel de différence de couleur 873 et les secondes 873 color difference pixel data and the second color difference pixel data 869 are projected alternatively, four pixels by four pixels in the horizontal direction The first color difference pixel data 873 and the second
données de pixel de différence de couleur 869 sont mutuel- color difference pixel data 869 are mutually
lement corrélées Par exemple, dans la détection de vecteur de mouvement, les premières et secondes données de pixel de différence de couleur 873 et 869 doivent être traitées simultanément, ce qui fait que le transfert de For example, in motion vector detection, the first and second color difference pixel data 873 and 869 must be processed simultaneously, so that the transfer of
données est effectué simultanément Par conséquent, lors- data is carried out simultaneously Therefore, when
que la première zone de données de pixel de différence de couleur 872 et la seconde zone de données de pixel de différence de couleur 870 doivent être transférées à titre de zone de transfert, il est nécessaire de transférer chacune des données dans la zone de données 871 Dans ce cas, du fait que la première zone de données de pixel de différence de couleur 872 et la seconde zone de données de that the first color difference pixel data area 872 and the second color difference pixel data area 870 are to be transferred as the transfer area, it is necessary to transfer each of the data into the data area 871 In this case, because the first color difference pixel data area 872 and the second data area of
pixel de différence de couleur 870 sont projetées alter- 870 color difference pixels are projected alter-
nativement, les données de pixel de différence de couleur de la zone de données 871 peuvent être respectivement transférées par une opération de génération d'adresse, ce qui fait que le temps nécessaire pour le calcul pour la génération d'adresse peut être réduit, et les données natively, the color difference pixel data of the data area 871 can be respectively transferred by an address generation operation, so that the time required for the calculation for the address generation can be reduced, and the data
d'image peuvent être traitées avec une vitesse élevée. image can be processed with high speed.
on va maintenant décrire un second procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon d'intervalle d'image La figure 79 est une illustration du second procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon a second method of projecting the first and second color difference pixel data into the image gap buffer will now be described. Fig. 79 is an illustration of the second method of projecting the first and second difference pixel data. color in the buffer
d'intervalle d'image Sur la figure 69, une zone de don- In Fig. 69, a data area
nées 874 comprenant deux pixels dans la direction horizon- born 874 with two pixels in the horizontal direction
tale et deux pixels dans la direction verticale est traitée comme un élément de données et est projetée Les premières données de pixel de différence de couleur 875 et les secondes données de pixel de différence de couleur 879 sont projetées alternativement, deux pixels par deux pixels dans la direction horizontale Dans cet exemple, lorsque la première zone de données de pixel de différence de couleur 878 et la seconde zone de données de pixel de différence de couleur 876 doivent être transférées, tale and two pixels in the vertical direction is treated as a data element and is projected The first color difference pixel data 875 and the second color difference pixel data 879 are projected alternately, two pixels by two pixels in the horizontal direction In this example, when the first color difference pixel data area 878 and the second color difference pixel data area 876 are to be transferred,
chacune des données dans la zone de données 877 est trans- each of the data in data area 877 is trans-
férée en utilisant la zone de données 874 à titre d'unité searched using data area 874 as a unit
de transfert Par conséquent, il est possible de trans- Therefore, it is possible to transfer
férer des données par une seule opération de génération d'adresse et par un plus petit nombre de transferts de données. On va maintenant décrire un troisième procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon d'intervalle de trame. La figure 80 est une illustration du troisième procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon d'intervalle de trame Dans l'exemple de la figure 80, une zone de données comprenant quatre pixels dans la direction horizontale est considérée comme un élément de données, et une adresse lui est attribuée Les premières données de pixel de différence de couleur et les secondes données de data by a single address generation operation and a smaller number of data transfers. A third method of projecting the first and second color difference pixel data into the frame interval buffer will now be described. Fig. 80 is an illustration of the third method of projecting the first and second color difference pixel data into the frame interval buffer. In the example of Fig. 80, a data area comprising four pixels in the direction horizontal is considered a data element, and an address is assigned to it The first color difference pixel data and the second data of
pixel de différence de couleur sont disposées en alter- color difference pixels are arranged alternately
nance, deux pixels par deux pixels, dans la direction horizontale Par conséquent, dans la zone de données de quatre pixels dans la direction horizontale, à laquelle une adresse est attribuée, on trouve deux pixels des premières données de pixel de différence de couleur 880 et deux pixels des secondes données de pixel de différence de couleur 881 Lorsque la première zone de données de pixel de différence de couleur 884 et la seconde zone de données Thus, in the data area of four pixels in the horizontal direction, to which an address is assigned, there are two pixels of the first color difference pixel data 880 and two pixels of the second color difference pixel data 881 When the first color difference pixel data area 884 and the second data area
* de pixel de différence de couleur 882 doivent être trans-* color difference pixel 882 must be trans-
férées, il suffit de transférer chacune des données dans you have to transfer each of the data into
la zone de données 883, par une seule opération de généra- data area 883, by a single operation of general
tion d'adresse A ce moment, le nombre de transferts At this time, the number of transfers
serait de 5 (direction horizontale) x 9 (direction verti- would be 5 (horizontal direction) x 9 (vertical direction
cale) = 45 Lorsque les premières données de pixel de différence de couleur et les secondes données de pixel de différence de couleur sont projetées séparément dans la mémoire tampon d'intervalle d'image et sont transférées en utilisant une zone de données qui comprend quatre pixels hold) = 45 When the first color difference pixel data and the second color difference pixel data are projected separately into the image gap buffer and are transferred using a data area that includes four pixels
dans la direction horizontale, à titre d'unité de trans- in the horizontal direction, as a unit of trans-
fert, d'une manière similaire à celle décrite ci-dessus, le nombre de transferts de données nécessaires pour les premières et secondes données de pixel de différence de couleur, comme représenté sur la figure 80, est de 54, et par conséquent avec le troisième procédé de projection il in a manner similar to that described above, the number of data transfers required for the first and second color difference pixel data, as shown in FIG. 80, is 54, and therefore with the third projection process
est possible de réduire de neuf le nombre de transferts. It is possible to reduce the number of transfers by nine.
On va maintenant décrire un quatrième procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon d'intervalle d'image La figure 81 est une illustration du quatrième procédé de projection des premières et secondes données de pixel de différence de couleur dans la mémoire tampon d'intervalle d'image Comme représenté sur la figure 81, une zone de données constituée par quatre pixels dans la direction horizontale et deux pixels dans la direction verticale est considérée comme un élément de données, et une adresse lui est attribuée pour la projection dans la mémoire tampon d'intervalle d'image Les premières données de pixel de différence de couleur et les secondes données A fourth method for projecting the first and second color difference pixel data into the image gap buffer will now be described. FIG. 81 is an illustration of the fourth method of projecting the first and second difference pixel data. in the image gap buffer As shown in FIG. 81, a data area consisting of four pixels in the horizontal direction and two pixels in the vertical direction is considered a data element, and an address is is assigned for projection into the image gap buffer The first color difference pixel data and the second data
de pixel de différence de couleur sont projetées alterna- color difference pixels are projected alternately
tivement, deux pixels par deux pixels dans la direction horizontale Par conséquent, dans la zone de données qui est projetée comme un seul élément de données, on trouve les premières données de pixel de différence de couleur 885, comprenant deux pixels dans la direction horizontale et deux pixels dans la direction verticale, ainsi que les secondes données de pixel de différence de couleur 886, comprenant deux pixels dans la direction horizontale et deux pixels dans la direction verticale Lorsque les premières données de pixel de différence de couleur 889 et les secondes données de pixel de différence de couleur 887 doivent être transférées, il faut transférer chacune des données dans la zone de données 888 en utilisant à titre d'unité de transfert la zone de données comprenant 4 pixels dans la direction horizontale et 2 pixels dans la Accordingly, in the data area which is projected as a single data element, there is found the first color difference pixel data 885, comprising two pixels in the horizontal direction and two pixels in the vertical direction, as well as the second color difference pixel data 886, comprising two pixels in the horizontal direction and two pixels in the vertical direction When the first color difference pixel data 889 and the second color data color difference pixel 887 are to be transferred, each of the data in the data area 888 must be transferred using as the transfer unit the data area comprising 4 pixels in the horizontal direction and 2 pixels in the
direction verticale A ce moment, du fait que les premiè- vertical direction at this time, since the first
res données de pixel de différence de couleur et les secondes données de pixel de différence de couleur sont disposées en alternance, on peut transférer des données par une seule opération de génération d'adresse, et du fait qu'une zone de données rectangulaire est utilisée à titre d'unité de transfert, il est possible de réduire le the color difference pixel data and the second color difference pixel data are alternately arranged, data can be transferred by a single address generation operation, and a rectangular data area is used. as a transfer unit, it is possible to reduce the
nombre de transferts.number of transfers.
On va maintenant envisager les effets des premier à quatrième procédés de projection des premières et secondes données de pixel de différence de couleur dans We will now consider the effects of the first to fourth projection methods of the first and second color difference pixel data in
la mémoire tampon d'intervalle d'image, décrits ci-dessus. the image gap buffer, described above.
On décrira à titre d'exemple une opération qui est effec- An example of an operation that will be carried out is
tuée dans le processeur de commande d'ensemble représenté killed in the overall command processor shown
sur la figure 9 dans le codage par prédiction bidirec- in Figure 9 in bidirectional prediction coding
tionnelle La figure 82 montre l'opération qui est effec- Figure 82 shows the operation that is carried out
tuée dans le processeur de commande d'ensemble dans le killed in the overall command processor in the
codage par prédiction bidirectionnelle. bidirectional prediction coding.
En se référant à la figure 82, on note qu'à l'étape 891, dans le processus d'écriture d'image d'entrée, la première adresse est générée La génération d'adresse est effectuée pour les données de pixel de luminance Y, les premières données de pixel de différence Referring to Fig. 82, it is noted that in step 891, in the input image write process, the first address is generated. Address generation is performed for the luminance pixel data. Y, the first difference pixel data
de couleur Cb et les secondes données de pixel de diffé- Cb color and the second pixel data of different
rence de couleur Cr Les données sont transférées ici de l'unité de commande 2 vers la mémoire tampon d'intervalle d'image 51 dans l'appareil de traitement de données The data is transferred here from the control unit 2 to the image interval buffer 51 in the data processing apparatus.
d'image qui est représenté sur la figure 1. image which is shown in Figure 1.
A l'étape 892, la seconde opération de généra- At step 892, the second general operation
tion d'adresse est accomplie au cours de la lecture pour la prédiction de mouvement Ce processus est accompli pour les données de pixel de luminance Y, et les données sont transférées de la mémoire tampon d'intervalle d'image 51 This process is accomplished for the luminance pixel data Y, and the data is transferred from the image interval buffer 51
vers l'unité de commande 2.to the control unit 2.
Ensuite, à l'étape 893, une troisième opération de génération d'adresse est accomplie au cours de la lecture pour l'étendue de recherche de mouvement Le processus est effectué ici pour les données de pixel de luminance Y, et les données sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de prédiction Then, in step 893, a third address generation operation is performed during the reading for the motion search range. The process is performed here for the luminance pixel data Y, and the data is transferred. from the image interval buffer 51 to the prediction unit
de mouvement 41.of movement 41.
Ensuite, à l'étape 894, le mode de codage est déterminé Ensuite, à l'étape 895, la quatrième opération de génération d'adresse est accomplie au cours de la Then, in step 894, the coding mode is determined. Next, in step 895, the fourth address generation operation is performed during the
lecture pour l'image avec prédiction en avant Le proces- reading for the image with forward prediction The process
sus est accompli ici pour trois données de pixel diffé- is accomplished here for three different pixel data.
rentes Y, Cb et Cr, et les données sont transférées de la mémoire tampon d'intervalle d'image 51 vers l'unité de Y, Cb and Cr, and the data is transferred from the image interval buffer 51 to the
traitement de pixels 3.pixel processing 3.
A l'étape 869, la cinquième opération de généra- At step 869, the fifth operation of general
tion d'adresse est accomplie au cours de la lecture pour l'image avec prédiction en arrière Le processus est effectué ici sur trois données de pixel Y, Cb et Cr, et address is accomplished during playback for the image with backward prediction The process is performed here on three pixel data Y, Cb and Cr, and
les données sont transférées de la mémoire tampon d'inter- the data is transferred from the buffer memory
valle d'image 51 vers l'unité de traitement de pixels 3. image range 51 to the pixel processing unit 3.
Le tableau ci-dessous montre le résultat de la comparaison entre des modes de réalisation employant les premier à quatrième procédés de projection représentés sur les figures 78 à 81, et un exemple comparatif, en relation avec le nombre d'opérations effectuées dans le processeur de commande d'ensemble décrit ci-dessus Dans l'exemple comparatif, trois types de données de pixel Y, Cb et Cr The table below shows the result of the comparison between embodiments using the first to fourth projection methods shown in FIGS. 78 to 81, and a comparative example, in relation to the number of operations performed in the processor of FIGS. set command described above In the comparative example, three types of pixel data Y, Cb and Cr
sont projetés séparément dans la mémoire tampon d'inter- are projected separately in the inter-
valle d'image 51, et des adresses sont générées pour chacune des données de pixel Le caractère de référence C dans le Tableau 1 ci-dessous désigne de façon générale les premières et secondes données de pixel de différence de image value 51, and addresses are generated for each of the pixel data. The reference character C in Table 1 below generally refers to the first and second difference pixel data of each pixel.
couleur Cb et Cr.color Cb and Cr.
Tableau 1Table 1
Contenu du transfert Exemple cc paratif Mode de réalisation Composante Nombre Ccxposante Nombre d'opérations d'opérations écriture de l'image Y, Cb, Cr 3 Y, C 2 d'entrée lecture de l'image Y 1 Y 1 pour la prédiction de mouvement lecture de l'étendue Y 1 Y 1 de recherche de mouvement lecture de l'image Y, Cb, Cr 3 Y, C 2 pour la prédiction en avant lecture de l'image Y, Cb, Cr 3 Y, C 2 pour la prédiction en arrière lecture de l'image Y, Cb, Cr 3 Y, C 2 à coder total 14 10 Comme on peut le voir d'après le tableau, le nombre d'opérations de génération d'adresse est réduit de quatre dans les modes de réalisation Plus précisément, dans le processus de génération d'adresse de l'exemple comparatif, il est nécessaire d'effectuer des opérations sur chaque type parmi les trois types différents de données de pixel Y, Cb et Cr, et de placer des données respectives dans les registres de l'unité de commande de transfert de données d'image 15 qui est représentée sur la figure 9 D'autre part, dans le mode de réalisation décrit ci-dessus, du fait que des adresses sont générées de façon collective pour les premières données de pixel de différence de couleur Cb et pour les secondes données de pixel de différence de couleur Cr, on peut réduire de quatre le nombre total d'opérations et on peut réduire le temps nécessaire pour placer les données dans les regis- tres Dans le processeur de commande d'ensemble, divers processus tels que la commande du volume de code, diverses déterminations liées au codage et d'autres opérations spécifiques de l'utilisateur, doivent être accomplis Par conséquent, si le nombre d'opérations est augmenté par ces diverses opérations, la réduction du calcul d'adresse qui est décrite ci-dessus a un effet important sur le codage Transfer Content Example cc parative Embodiment Component Number Ccxposante Number of operations of operations write image Y, Cb, Cr 3 Y, C 2 input read image Y 1 Y 1 for the prediction of motion reading Y 1 Y 1 movement search reading image Y, Cb, Cr 3 Y, C 2 for forward prediction of image Y, Cb, Cr 3 Y, C 2 for the backward reading prediction of the image Y, Cb, Cr 3 Y, C 2 to be encoded total 14 As can be seen from the table, the number of address generation operations is reduced by four in Embodiments More precisely, in the address generation process of the comparative example, it is necessary to perform operations on each of the three different types of pixel data Y, Cb and Cr, and to place respective data in the registers of the image data transfer control unit 15 which is shown in FIG. On the other hand, in the embodiment described above, because addresses are collectively generated for the first color difference pixel data Cb and for the second color difference pixel data Cr The total number of operations can be reduced by four and the time required to place the data in the registers can be reduced. In the set control processor, various processes such as code volume control, various determinations related to the coding and other specific operations of the user, must be accomplished Therefore, if the number of operations is increased by these various operations, the reduction of the address calculation that is described above has a significant effect on coding
en temps réel.in real time.
Bien que l'on ait décrit et illustré en détail la présente invention, il est clair que ceci n'a été fait qu'à titre d'illustration et d'exemple et ne doit pas être considéré de façon limitative, l'esprit et le cadre de la présente invention n'étant limités que par les termes des Although the present invention has been described and illustrated in detail, it is clear that this has been done by way of illustration and example only and should not be construed as limiting, the spirit and the scope of the present invention being limited only by the terms of the
revendications annexées.appended claims.
Claims (28)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9408222A FR2707780B1 (en) | 1993-03-19 | 1994-07-04 | Image data processing apparatus and method capable of processing image data at high speed. |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6033593 | 1993-03-19 | ||
JP30171693 | 1993-12-01 | ||
JP2093794A JPH07240844A (en) | 1993-03-19 | 1994-02-18 | Image data processing unit and image data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2702862A1 true FR2702862A1 (en) | 1994-09-23 |
FR2702862B1 FR2702862B1 (en) | 1996-06-28 |
Family
ID=27283230
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9403206A Expired - Fee Related FR2702862B1 (en) | 1993-03-19 | 1994-03-18 | Image data processing apparatus and method capable of processing image data at high speed. |
FR9408221A Expired - Fee Related FR2707779B1 (en) | 1993-03-19 | 1994-07-04 | Image data processing apparatus and method capable of processing image data at high speed. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9408221A Expired - Fee Related FR2707779B1 (en) | 1993-03-19 | 1994-07-04 | Image data processing apparatus and method capable of processing image data at high speed. |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH07240844A (en) |
DE (1) | DE4408522C2 (en) |
FR (2) | FR2702862B1 (en) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3220598B2 (en) * | 1994-08-31 | 2001-10-22 | 三菱電機株式会社 | Variable length code table and variable length coding device |
US6330644B1 (en) * | 1994-10-27 | 2001-12-11 | Canon Kabushiki Kaisha | Signal processor with a plurality of kinds of processors and a shared memory accessed through a versatile control means |
DE4441295A1 (en) * | 1994-11-21 | 1996-05-23 | Sican Gmbh | Method and circuit arrangement for addressing components of digital image data organized in blocks in a memory with page addressing |
DE19524688C1 (en) * | 1995-07-06 | 1997-01-23 | Siemens Ag | Method for decoding and encoding a compressed video data stream with reduced memory requirements |
DE19524808A1 (en) * | 1995-07-07 | 1997-01-09 | Thomson Brandt Gmbh | Process, encoder and decoder for resynchronization to a faulty data stream |
KR0185646B1 (en) * | 1996-01-06 | 1999-05-01 | 김광호 | Image compression data quantity control circuit and method of image compression apparatus |
EP0793389B1 (en) * | 1996-02-27 | 2001-08-16 | STMicroelectronics S.r.l. | Memory reduction in the MPEG-2 main profile main level decoder |
US6028635A (en) | 1996-12-03 | 2000-02-22 | Stmicroelectronics, Inc. | Reducing the memory required for decompression by storing compressed information using DCT based techniques |
JP4054503B2 (en) | 2000-01-06 | 2008-02-27 | キヤノン株式会社 | Image processing device |
WO2005015805A2 (en) * | 2003-08-08 | 2005-02-17 | Visionflow, Inc. | Software and hardware partitioning for multi-standard video compression and decompression |
KR100604986B1 (en) * | 2004-07-26 | 2006-07-28 | 삼성전자주식회사 | Variable length coding method with 4 stage pipeline and variable length coder using the same |
WO2006013690A1 (en) * | 2004-08-04 | 2006-02-09 | Matsushita Electric Industrial Co., Ltd. | Image decoding device |
JP4678717B2 (en) * | 2004-12-27 | 2011-04-27 | ルネサスエレクトロニクス株式会社 | Semiconductor device and method for designing semiconductor device |
JP2008141276A (en) * | 2006-11-30 | 2008-06-19 | Sanyo Electric Co Ltd | Tv signal processing circuit |
JP5556082B2 (en) * | 2009-08-07 | 2014-07-23 | 富士通株式会社 | Memory controller, image processing system, and memory access control method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3545106A1 (en) * | 1985-12-19 | 1987-06-25 | Ruge I | Circuit for image data reduction, pattern recognition and so forth |
US4800441A (en) * | 1986-02-28 | 1989-01-24 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
EP0503956A2 (en) * | 1991-03-15 | 1992-09-16 | C-Cube Microsystems | Decompression of video signal |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0422299B1 (en) * | 1989-10-12 | 1994-09-07 | International Business Machines Corporation | Memory with page mode |
-
1994
- 1994-02-18 JP JP2093794A patent/JPH07240844A/en active Pending
- 1994-03-14 DE DE19944408522 patent/DE4408522C2/en not_active Expired - Fee Related
- 1994-03-18 FR FR9403206A patent/FR2702862B1/en not_active Expired - Fee Related
- 1994-07-04 FR FR9408221A patent/FR2707779B1/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3545106A1 (en) * | 1985-12-19 | 1987-06-25 | Ruge I | Circuit for image data reduction, pattern recognition and so forth |
US4800441A (en) * | 1986-02-28 | 1989-01-24 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
EP0503956A2 (en) * | 1991-03-15 | 1992-09-16 | C-Cube Microsystems | Decompression of video signal |
Non-Patent Citations (4)
Title |
---|
AONO K ET AL: "A video digital signal processor with a vector-pipeline architecture", IEEE JOURNAL OF SOLID-STATE CIRCUITS, DEC. 1992, USA, VOL. 27, NR. 12, PAGE(S) 1886 - 1894, ISSN 0018-9200 * |
CURRENT K W ET AL: "Unified forward and inverse discrete cosine transform architecture and proposed VLSI implementation", INTERNATIONAL JOURNAL OF ELECTRONICS, AUG. 1990, UK, VOL. 69, NR. 2, PAGE(S) 233 - 246, ISSN 0020-7217 * |
SLAWECKI D ET AL: "DCT/IDCT processor design for high data rate image coding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, JUNE 1992, USA, VOL. 2, NR. 2, PAGE(S) 135 - 146, ISSN 1051-8215 * |
TSAI Y T: "Real-time architecture for error-tolerant color picture compression", DIGITAL IMAGE PROCESSING APPLICATIONS, LOS ANGELES, CA, USA, 17-20 JAN. 1989, ISSN 0277-786X, PROCEEDINGS OF THE SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, 1989, USA, PAGE(S) 140 - 147 * |
Also Published As
Publication number | Publication date |
---|---|
DE4408522C2 (en) | 1996-12-05 |
DE4408522A1 (en) | 1994-09-22 |
FR2707779A1 (en) | 1995-01-20 |
JPH07240844A (en) | 1995-09-12 |
FR2707779B1 (en) | 1997-04-30 |
FR2702862B1 (en) | 1996-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2702862A1 (en) | An apparatus and method for processing image data capable of processing high speed image data. | |
CN1223175C (en) | Digital camera device and recording method thereof | |
FR2760580A1 (en) | MPEG encoding and decoding system for multimedia | |
EP0558377B1 (en) | Videocodec, especially for videophone | |
US8660177B2 (en) | Parallel entropy coding | |
US20090220003A1 (en) | Method of compressing video data and a media player for implementing the method | |
EP0248729A1 (en) | Monodimensional cosine transform calculators and image coding and decoding devices using such calculators | |
FR2932637A1 (en) | METHOD AND DEVICE FOR ENCODING AN IMAGE SEQUENCE | |
FR2627926A1 (en) | METHOD AND DEVICE FOR ENCODING DIGITAL VIDEO SIGNALS, AND CORRESPONDING DECODING DEVICE | |
JP3403168B2 (en) | Image processing method, image processing apparatus capable of using the method, and television receiver | |
CN100559882C (en) | Image processor and method | |
CN101443808B (en) | Memory organizational scheme and controller architecture for image and video processing | |
EP1045592A2 (en) | Image processing method, image processing apparatus and data storage media | |
WO2017037368A2 (en) | Method of coding and decoding images, device for coding and decoding images and computer programmes corresponding thereto | |
EP0967576A1 (en) | Memory addressing in an MPEG decoder | |
FR2728092A1 (en) | METHOD FOR DECODING COMPRESSED IMAGES | |
EP0666652B1 (en) | Shifting stage for decoder of digital variable length codes | |
EP4354868A1 (en) | Media data processing method and related device | |
EP0747856B1 (en) | MPEG decoder | |
JP4103276B2 (en) | Image recording apparatus and method | |
FR2707780A1 (en) | Apparatus and method of processing image data which are capable of processing image data at high speed | |
JP2001231046A (en) | Digital camera system and image transfer method used in it | |
JP3403169B2 (en) | Image reproducing method, image reproducing apparatus and television receiver that can use this method | |
JP3403166B2 (en) | Image reproducing method, image reproducing apparatus and television receiver that can use this method | |
JP3403167B2 (en) | Image processing method, image processing apparatus capable of using the method, and television receiver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |