FR2737324A1 - Uniform alteration of scale of digital image - inserts interpolated data when enlarging image only when there is space to insert it smoothly into image data - Google Patents
Uniform alteration of scale of digital image - inserts interpolated data when enlarging image only when there is space to insert it smoothly into image data Download PDFInfo
- Publication number
- FR2737324A1 FR2737324A1 FR9509086A FR9509086A FR2737324A1 FR 2737324 A1 FR2737324 A1 FR 2737324A1 FR 9509086 A FR9509086 A FR 9509086A FR 9509086 A FR9509086 A FR 9509086A FR 2737324 A1 FR2737324 A1 FR 2737324A1
- Authority
- FR
- France
- Prior art keywords
- data
- sum
- image data
- original
- memory
- 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
- 230000004075 alteration Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 35
- 230000003213 activating effect Effects 0.000 claims 1
- 230000004048 modification Effects 0.000 description 22
- 238000012986 modification Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000009467 reduction Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
Description
PROCEDE ET DISPOSITIF POUR CHANGER L'ECHELLE D'UNE IMAGE
NUMERIQUE DE FAÇON UNIFORME
L'invention concerne un procédé et un dispositif de traitement d'image et plus particulièrement un procédé et un dispositif permettant de changer l'échelle d'une image numérique de façon uniforme.METHOD AND DEVICE FOR CHANGING THE SCALE OF AN IMAGE
DIGITAL UNIFORM
The invention relates to an image processing method and device and more particularly to a method and a device for uniformly changing the scale of a digital image.
L'aptitude de combiner des images numériques est essentielle dans les applications multimédia à calculateur. The ability to combine digital images is essential in multimedia computer applications.
Habituellement, on prétraite une image numérique avant qu'elle puisse être combinée avec une autre image numérique.Usually, a digital image is preprocessed before it can be combined with another digital image.
On accomplit habituellement le prétraitement en augmentant la taille de l'image numérique (ce que l'on désignera par la suite par agrandissement), ou en réduisant la taille de l'image numérique (ce que l'on désignera par la suite par réduction), en découpant une partie sélectionnée d'image numérique et en la décalant vers un autre emplacement, etc.The preprocessing is usually accomplished by increasing the size of the digital image (which will be referred to hereinafter by enlargement), or by reducing the size of the digital image (which will be designated hereinafter by reduction ), by cutting out a selected part of the digital image and shifting it to another location, etc.
L'agrandissement et la réduction des images numériques sont habituellement accomplis à l'aide d'un ordinateur programmé à cet effet. L'agrandissement est effectué par interpolation linéaire sur chaque couple de lignes de balayage de l'image numérique pour obtenir au moins une ligne de balayage interpolée qui est insérée entre les deux lignes et en effectuant une interpolation linéaire sur chaque couple de données de pixel dans chaque ligne de balayage, de façon à obtenir au moins une donnée de pixel interpolé qu'on insère entre les pixels du couple. On effectue la réduction en supprimant certaines des lignes de balayage d'une image numérique et en supprimant certaines des données de pixel de chacune des lignes de balayage retenues. The enlargement and reduction of digital images are usually accomplished using a computer programmed for this purpose. The enlargement is carried out by linear interpolation on each pair of scanning lines of the digital image to obtain at least one interpolated scanning line which is inserted between the two lines and by performing a linear interpolation on each pair of pixel data in each scan line, so as to obtain at least one interpolated pixel data item which is inserted between the pixels of the pair. Reduction is accomplished by deleting some of the scan lines from a digital image and deleting some of the pixel data from each of the selected scan lines.
Lors de l'agrandissement des images numériques, l'interpolation linéaire des données d'image d'origine par l'ordinateur est relativement lente. Pour cette raison, on a créé divers matériels dédiés, tels que ceux décrits dans la publication du brevet européen n" O 079 542 A2 et dans la publication du brevet britannique GB 2 226 471 A, pour permettre l'agrandissement en temps réel des images numériques. When enlarging digital images, linear interpolation of the original image data by the computer is relatively slow. For this reason, various dedicated materials have been created, such as those described in the publication of European patent No. 0 079 542 A2 and in the publication of British patent GB 2 226 471 A, to allow the enlargement in real time of the images. digital.
L'un des inconvénients des dispositifs à matériel dédié est qu'ils ne sont capables d'agrandir les images numériques que de façon limitée. Lorsqu'on agrandit une image numérique ayant (N) lignes de balayage, le nombre total de lignes de balayage à interpoler doit être un multiple de (N-l) de façon à permettre l'insertion d'un nombre égal de lignes de balayage interpolées dans chaque couple de lignes de balayage d'origine de l'image numérique d'origine, de façon à garantir l'uniformité. La même chose est vraie lorsqu'on agrandit une ligne de balayage ayant (N') données de pixel.En conséquence, un dispositif classique d'agrandissement est incapable d'agrandir uniformément une image numérique ayant (N) lignes de balayage (ou (N') données de pixel par ligne de balayage) si le nombre total de lignes de balayage interpolées (ou le nombre total de données de pixel interpolées par ligne de balayage) n'est pas un multiple de (N-l) (ou (N'-1)) respectivement. De plus, le dispositif classique d'agrandissement n'est capable que d'agrandir une image numérique à la fois dans les directions horizontale et verticale, et il est incapable de réduire une image numérique dans l'une ou l'autre des directions horizontale et verticale. One of the disadvantages of dedicated hardware devices is that they are only able to magnify digital images to a limited extent. When enlarging a digital image having (N) scan lines, the total number of scan lines to be interpolated must be a multiple of (Nl) so as to allow the insertion of an equal number of interpolated scan lines into each pair of original scan lines of the original digital image, so as to ensure uniformity. The same is true when enlarging a scan line having (N ') pixel data; therefore, a conventional magnifier is unable to uniformly enlarge a digital image having (N) scan lines (or ( N ') pixel data per scan line) if the total number of interpolated scan lines (or the total number of interpolated pixel data per scan line) is not a multiple of (Nl) (or (N' -1)) respectively. In addition, the conventional enlargement device is only capable of enlarging a digital image in both the horizontal and vertical directions, and it is unable to reduce a digital image in either of the horizontal directions. and vertical.
En conséquence, un but de l'invention est de fournir un procédé et un dispositif permettant de changer l'échelle d'une image numérique de façon uniforme. Consequently, an object of the invention is to provide a method and a device making it possible to change the scale of a digital image in a uniform manner.
Un but particulier de la présente invention est de fournir un procédé et un dispositif permettant d'agrandir de façon uniforme une image numérique dans au moins une des directions horizontale et verticale, même lorsque le nombre total de lignes de balayage interpolées ou le nombre de données de pixel interpolées par ligne de balayage n'est pas un multiple du nombre original de lignes de balayage moins 1, ou du nombre original de données de pixel par ligne de balayage moins 1. A particular object of the present invention is to provide a method and a device for uniformly enlarging a digital image in at least one of the horizontal and vertical directions, even when the total number of interpolated scanning lines or the number of data pixel interpolated per scan line is not a multiple of the original number of scan lines minus 1, or the original number of pixel data per scan line minus 1.
Un autre but recherché par l'invention est de fournir un procédé et un dispositif qui peuvent également réduire de façon uniforme une image numérique dans l'une quelconque des directions horizontale et verticale. Another object sought by the invention is to provide a method and a device which can also uniformly reduce a digital image in any of the horizontal and vertical directions.
Suivant un aspect de l'invention, un procédé de traitement d'une image numérique d'origine, pour obtenir une image numérique souhaitée à échelle modifiée de façon uniforme - l'image numérique d'origine ayant (N) données d'image successives et l'image numérique souhaitée ayant (M) données d'image désirées successives, (M) étant supérieur à (N) - comprend les étapes suivantes : on prévoit un interpolateur linéaire ; on commande l'interpolateur linéaire de façon à effectuer une interpolation linéaire de la (n)i*" et de la (n+l) données d'image d'origine de façon à produire une donnée d'image interpolée résiduelle qui est insérée entre les données d'origine lorsque la division de (M-N) par (N-l) laisse un reste (S) et lorsque (n) est un nombre minimum qui remplit la condition (n+l)*(S) 2 (s)*(N), où (s) varie de 1 à (S). According to one aspect of the invention, a method of processing an original digital image, to obtain a desired digital image on a uniformly modified scale - the original digital image having (N) successive image data. and the desired digital image having (M) successive desired image data, (M) being greater than (N) - comprises the following steps: a linear interpolator is provided; the linear interpolator is controlled so as to perform a linear interpolation of the (n) i * "and the (n + l) original image data so as to produce a residual interpolated image data which is inserted between the original data when the division of (MN) by (Nl) leaves a remainder (S) and when (n) is a minimum number which fulfills the condition (n + l) * (S) 2 (s) * (N), where (s) varies from 1 to (S).
Suivant un autre aspect de l'invention, un procédé pour traiter une image numérique d'origine de façon à obtenir une image numérique désirée à échelle modifiée de façon uniforme, dans laquelle l'image numérique d'origine a (N) données d'image successives et l'image numérique désirée a (M) données d'image successives, (M) étant inférieur à (N), comprend les étapes suivantes
(I-1) on mémorise les données d'image d'origine dans une mémoire
(I-2) on prévoit un générateur d'adresse qui commande la mémoire de façon à fournir en sortie une première donnée d'image d'origine
(I-3) on mémorise un nombre (U), qui est le reste de la division de (N) par (M), dans un registre de données
(I-4) on ajoute le nombre (U) au nombre mémorisé dans le registre de données pour obtenir une somme
(1-5) on compare la somme avec (M)
(1-6) on active le générateur d'adresse pour commander la mémoire de façon qu'elle fournisse en sortie une autre donnée d'image d'origine, décalée d'une donnée d'image d'origine immédiatement précédente fournie par la mémoire d'un nombre (V) égal au quotient de la division de (N) par le nombre (M) lorsque la somme est inférieure à (M), et par le nombre (V+1) lorsque la somme est au moins égale à (M)
(I-7) lorsque la somme est au moins égale à (M), on soustrait le nombre (M) de la somme et on mémorise la différence dans le registre de données ; et, lorsque la somme est inférieure à (M), on mémorise la somme dans le registre de données ; et
(I-8) on répète les étapes (I-4) à (I-7) jusqu'à ce que (M) données d'image d'origine aient été fournies à la sortie de la mémoire.According to another aspect of the invention, a method for processing an original digital image so as to obtain a desired digital image on a uniformly modified scale, in which the original digital image has (N) data successive image and the desired digital image has (M) successive image data, (M) being less than (N), comprises the following steps
(I-1) the original image data is stored in a memory
(I-2) an address generator is provided which controls the memory so as to output a first original image data
(I-3) a number (U), which is the remainder of the division of (N) by (M), is stored in a data register
(I-4) we add the number (U) to the number stored in the data register to obtain a sum
(1-5) we compare the sum with (M)
(1-6) the address generator is activated to control the memory so that it outputs another original image data, offset from an immediately preceding original image data supplied by the memory of a number (V) equal to the quotient of the division of (N) by the number (M) when the sum is less than (M), and by the number (V + 1) when the sum is at least equal to (M)
(I-7) when the sum is at least equal to (M), the number (M) is subtracted from the sum and the difference is stored in the data register; and, when the sum is less than (M), the sum is stored in the data register; and
(I-8) repeating steps (I-4) to (I-7) until (M) original image data has been supplied to the memory output.
Suivant encore un autre aspect de l'invention, un dispositif de traitement d'une image numérique d'origine de façon à obtenir une image numérique souhaitée à échelle modifiée de façon uniforme, l'image numérique d'origine ayant (N) données d'image successives et l'image numérique désirée ayant (M) données d'image successives et le nombre (M) étant supérieur à (N), comprend : un interpolateur linéaire ; des moyens de contrôle, reliés à l'interpolateur linéaire, pour commander l'interpolateur linéaire de façon à réaliser une interpolation linéaire entre les (n)i'' et (n+l)i'D' données d'image d'origine de façon à produire une donnée d'image interpolée résiduelle insérée entre elles lorsque la division de (M-N) par (N-l) fournit un reste (S) et lorsque (n) est un nombre minimum qui remplit la condition (n+l)*(S) > (s)*(N), où (s) varie de 1 à (S). According to yet another aspect of the invention, a device for processing an original digital image so as to obtain a desired digital image on a uniformly modified scale, the original digital image having (N) data d successive image and the desired digital image having (M) successive image data and the number (M) being greater than (N), comprises: a linear interpolator; control means, connected to the linear interpolator, for controlling the linear interpolator so as to perform a linear interpolation between the (n) i '' and (n + l) i'D 'original image data so as to produce a residual interpolated image data inserted between them when the division of (MN) by (Nl) provides a remainder (S) and when (n) is a minimum number which fulfills the condition (n + l) * (S)> (s) * (N), where (s) varies from 1 to (S).
Suivant un autre aspect encore de l'invention, un dispositif pour traiter une image numérique d'origine de façon à obtenir une image numérique souhaitée à échelle modifiée de façon uniforme, l'image numérique d'origine ayant (N) données d'image successives d'origine alors que l'image numérique souhaitée a (M) données d'image successives et (M) étant inférieur à (N), comprend
une mémoire de stockage des données d'image d'origaine
un générateur d'adresse, relié à la mémoire, pour commander la mémoire de façon à fournir une première donnée parmi les données d'image d'origine ;
des moyens de génération d'un nombre (U) qui est le reste de la division de (N) par (M)
un registre de données
des moyens additionneurs reliés aux moyens de génération et au registre de données, prévus pour additionner (U) et le nombre stocké dans le registre de données de façon à obtenir une somme ; et
des moyens de calcul, reliés aux moyens additionneurs, au générateur d'adresse et au registre de données, destinés à comparer la somme avec le nombre (M) et à activer le générateur d'adresse de façon à commander la mémoire de façon qu'elle fournisse en sortie une autre donnée d'image d'origine qui est décalée de la donnée d'image d'origine immédiatement précédente apparue en sortie de la mémoire d'un nombre (V) égal au quotient de la division de (N) par (M) lorsque la somme est inférieure à (M) et d'un nombre (V+1) lorsque la somme est au moins égale au nombre (M) les moyens de calcul mémorisant la différence entre le nombre (M) et la somme dans le registre de données lorsque la somme est au moins égale à (M) et mémorisant la somme dans le registre de données lorsque la somme est inférieure à (M). According to yet another aspect of the invention, a device for processing an original digital image so as to obtain a desired digital image on a uniformly modified scale, the original digital image having (N) image data successive original while the desired digital image has (M) successive image data and (M) being less than (N), comprises
a memory for storing the original image data
an address generator, connected to the memory, for controlling the memory so as to supply a first datum among the original image data;
means for generating a number (U) which is the remainder of the division of (N) by (M)
a data register
adding means connected to the generating means and to the data register, provided for adding (U) and the number stored in the data register so as to obtain a sum; and
calculation means, connected to the adding means, to the address generator and to the data register, intended to compare the sum with the number (M) and to activate the address generator so as to control the memory so that it supplies as output another original image data which is offset from the immediately preceding original image data which appeared in memory output by a number (V) equal to the quotient of the division of (N) by (M) when the sum is less than (M) and by a number (V + 1) when the sum is at least equal to the number (M) the calculation means memorizing the difference between the number (M) and the sum in the data register when the sum is at least equal to (M) and storing the sum in the data register when the sum is less than (M).
D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit d'un mode avantageux de réalisation. La description se réfère aux dessins qui l'accompagnent, dans lesquels
la figure 1 est un synoptique de principe d'un mode de réalisation avantageux d'un dispositif de changement d'échelle suivant l'invention
la figure 2 est un synoptique simplifié d'un additionneur bilinéaire utilisable dans le mode de réalisation avantageux
la figure 3 est un synoptique simplifié d'un contrôleur de modification d'échelle utilisable dans le mode de réalisation avantageux
la figure 4 est un synoptique simplifié d'un répartiteur de résidu du contrôleur de changement d'échelle ;;
la figure 5 est un synoptique simplifié d'un générateur de série alpha du contrôleur de modification d'échelle
la figure 6 est un synoptique simplifié d'un générateur d'adresse du contrôleur de modification d'échelle ;
la figure 7 est un chronogramme montrant l'opération d'agrandissement par le mode avantageux de réalisation, lorsque N=5 et aN=2
la figure 8 est un chronogramme montrant l'opération d'agrandissement par le mode avantageux de réalisation lorsque N=5 et N=6 ; et
la figure 9 est un chronogramme montrant l'opération de réduction par le mode avantageux de réalisation lorsque
N=5 et N=2. Other characteristics and advantages of the invention will appear better on reading the following description of an advantageous embodiment. The description refers to the accompanying drawings, in which
Figure 1 is a block diagram of an advantageous embodiment of a scale change device according to the invention
Figure 2 is a simplified block diagram of a bilinear adder usable in the advantageous embodiment
FIG. 3 is a simplified block diagram of a scale modification controller usable in the advantageous embodiment
Figure 4 is a simplified block diagram of a residue distributor of the scale change controller;
Figure 5 is a simplified block diagram of an alpha series generator of the scale modification controller
FIG. 6 is a simplified block diagram of an address generator of the scale modification controller;
FIG. 7 is a timing diagram showing the enlargement operation by the advantageous embodiment, when N = 5 and aN = 2
FIG. 8 is a timing diagram showing the enlargement operation by the advantageous embodiment when N = 5 and N = 6; and
FIG. 9 is a timing diagram showing the reduction operation by the advantageous embodiment when
N = 5 and N = 2.
Le mode avantageux de réalisation montré en figure 1, destiné à modifier de façon uniforme l'échelle d'une image numérique, comporte une unité de modification d'échelle verticale et une unité de modification d'échelle horizontale. L'unité de modification d'échelle verticale est capable d'agrandir et de réduire une image numérique dans la direction verticale. Elle comporte une mémoire de ligne 3, un tampon de ligne 4, un additionneur bilinéaire 5 et un contrôleur de modification d'échelle verticale 6. L'unité de modification d'échelle horizontale permet d'agrandir ou de réduire une image numérique dans la direction horizontale.
Elle comporte un registre de point 7, un tampon de point 8, un additionneur bilinéaire 9 et un contrôleur de modification d'échelle horizontale 10.The advantageous embodiment shown in FIG. 1, intended to uniformly modify the scale of a digital image, comprises a vertical scale modification unit and a horizontal scale modification unit. The vertical scaling unit is capable of enlarging and reducing a digital image in the vertical direction. It comprises a line memory 3, a line buffer 4, a bilinear adder 5 and a vertical scale modification controller 6. The horizontal scale modification unit makes it possible to enlarge or reduce a digital image in the horizontal direction.
It includes a point register 7, a point buffer 8, a bilinear adder 9 and a horizontal scale modification controller 10.
Lors de la mise en oeuvre, on mémorise initialement une image numérique à traiter dans une mémoire d'image 2. During implementation, a digital image to be processed is initially stored in an image memory 2.
L'image numérique peut provenir d'un décodeur d'image ou d'un système de saisie d'image. Le contrôleur de modification d'échelle verticale 6 commande la mémoire d'image 2 de façon à fournir une ligne de balayage sélectionnée de l'image numérique à la mémoire de ligne 3. Le contrôleur de modification d'échelle verticale 6 commande de plus le tampon de ligne 4 de façon à mémoriser une ligne de balayage antérieure provenant de la mémoire de ligne 3. L'additionneur bilinéaire 5 reçoit les données de ligne de balayage à partir de la mémoire de ligne 3 et du tampon de ligne 4. I1 effectue une interpolation bilinéaire en appliquant une paire de coefficients de pondération a, 1-a provenant du contrôleur de modification d'échelle verticale 6.The digital image can come from an image decoder or an image capture system. The vertical scale modification controller 6 controls the image memory 2 so as to supply a selected scan line of the digital image to the line memory 3. The vertical scale modification controller 6 also controls the line buffer 4 so as to store an earlier scan line from line memory 3. Bilinear adder 5 receives scan line data from line memory 3 and line buffer 4. I1 performs a bilinear interpolation by applying a pair of weighting coefficients a, 1-a coming from the vertical scale modification controller 6.
La figure 2 est un synoptique de l'additionneur bilinéaire 5. Tel qu'il est représenté, une donnée de ligne de balayage provenant du tampon de ligne 4, qui correspond à une (n)'" ligne de balayage de l'image numérique dans la mémoire d'image 2, est multipliée par le coefficient l-a, alors que la donnée de ligne de balayage provenant de la mémoire de ligne 3, qui correspond à une (n+l)i'" ligne de balayage de l'image numérique dans la mémoire d'image 2, est multipliée par le coefficient a. Les produits résultants sont additionnés pour fournir une ligne de balayage interpolée lorsque le coefficient a est une fraction, c'est-àdire est compris entre O et 1. Le fonctionnement de l'additionneur bilinéaire 5 sera décrit davantage par la suite. FIG. 2 is a block diagram of the bilinear adder 5. As shown, a scan line data item coming from the line buffer 4, which corresponds to a (n) '"scan line of the digital image in the image memory 2, is multiplied by the coefficient la, while the scan line data coming from the line memory 3, which corresponds to a (n + l) i '"scan line of the image numeric in the image memory 2, is multiplied by the coefficient a. The resulting products are added to provide an interpolated scanning line when the coefficient a is a fraction, that is to say between 0 and 1. The operation of the bilinear adder 5 will be described later on.
La figure 3 montre un contrôleur de modification d'échelle verticale 6 qui comporte un jeu de registres programmables 30 comprenant un premier registre 30a pour mémoriser le nombre (N) de lignes de balayage d'origine de l'image numérique dans la mémoire d'image 2, un second registre 30b pour mémoriser le nombre (aN) de lignes de balayage à interpoler ou à supprimer et un troisième registre 30c pour mémoriser un fanion INC/DEC 38 destiné à indiquer si on doit effectuer un agrandissement ou une réduction de l'image numérique en direction verticale. Le contrôleur de modification d'échelle verticale 6 comporte également des premier, second et troisième circuits de calcul 31, 32 et 33 qui lisent le contenu des premier, second et troisième registres 30a, 30b et 30c.Le premier circuit de calcul 31 fournit en sortie le quotient T de la division de (N) par (N-l), alors que le second circuit de calcul 32 fournit le reste S de la division de (N) par (N-l). Le quotient T correspond au nombre minimum de lignes de balayage interpolées à insérer entre les deux lignes de chaque paire de lignes de balayage d'origine de l'image numérique stockée dans la mémoire d'image 2 et le reste S correspond au nombre total de lignes de balayage interpolées résiduelles à répartir uniformément parmi les lignes de balayage d'origine de l'image numérique stockée dans la mémoire d'image 2 lorsque l'image numérique est agrandie.Le troisième circuit de calcul 33 fournit le reste U de la division de (N) par (N-N). Le reste U correspond au nombre total de lignes de balayage résiduelles à supprimer dans l'image numérique stockée dans la mémoire d'image 2 lorsqu'on réduit l'image numérique. FIG. 3 shows a vertical scale modification controller 6 which comprises a set of programmable registers 30 comprising a first register 30a for storing the number (N) of original scan lines of the digital image in the memory of image 2, a second register 30b for memorizing the number (aN) of scanning lines to be interpolated or to be deleted and a third register 30c for memorizing an INC / DEC flag 38 intended to indicate whether an enlargement or reduction of the image is to be carried out digital image in vertical direction. The vertical scale modification controller 6 also comprises first, second and third calculation circuits 31, 32 and 33 which read the content of the first, second and third registers 30a, 30b and 30c. The first calculation circuit 31 provides output the quotient T of the division of (N) by (Nl), while the second calculation circuit 32 provides the remainder S of the division of (N) by (Nl). The quotient T corresponds to the minimum number of interpolated scanning lines to be inserted between the two lines of each pair of original scanning lines of the digital image stored in the image memory 2 and the remainder S corresponds to the total number of residual interpolated scan lines to be distributed uniformly among the original scan lines of the digital image stored in the image memory 2 when the digital image is enlarged. The third calculation circuit 33 provides the remainder U of the division from (N) by (NN). The remainder U corresponds to the total number of residual scanning lines to be deleted in the digital image stored in the image memory 2 when the digital image is reduced.
Un sélecteur à deux entrées 34 a une première entrée qui reçoit le reste U provenant du troisième circuit de calcul 33 et une seconde entrée qui reçoit le reste S provenant du second circuit de calcul 32. Le sélecteur 34 a également une entrée de commande qui reçoit le fanion
INC/DEC 38 provenant du troisième registre 30c. La sortie 42 du sélecteur 34 attaque un répartiteur de résidu 35. Le répartiteur de résidu 35 reçoit également le quotient T provenant du premier circuit de calcul 31. I1 a une entrée de commande qui reçoit le fanion INC/DEC 38 provenant du troisième registre 30c et une sortie de commande 39 reliée à un générateur de série de a 36 et à un générateur d'adresse 37.Le répartiteur de résidu 35 détermine si une étape d'interpolation résiduelle est à effectuer au cours de l'agrandissement de l'image numérique et si une ligne de balayage résiduelle doit être supprimée en cas de réduction de l'image numérique. Le générateur de série de a 36 reçoit le quotient T provenant du premier circuit de calcul 31 et le fanion INC/DEC 38 provenant du troisième registre 30c.A two-input selector 34 has a first input which receives the remainder U from the third computing circuit 33 and a second input which receives the remainder S from the second computing circuit 32. The selector 34 also has a control input which receives the pennant
INC / DEC 38 from the third register 30c. The output 42 of the selector 34 drives a residue distributor 35. The residue distributor 35 also receives the quotient T coming from the first calculation circuit 31. I1 has a control input which receives the INC / DEC flag 38 coming from the third register 30c and a control output 39 connected to a series generator of a 36 and to an address generator 37. The residue distributor 35 determines whether a residual interpolation step is to be carried out during the enlargement of the image. digital and whether a residual scan line should be deleted when the digital image is reduced. The series generator of a 36 receives the quotient T coming from the first calculation circuit 31 and the flag INC / DEC 38 coming from the third register 30c.
Il génère les coefficients a, l-a pour l'additionneur bilinéaire 5 et un signal de commande de mémorisation pour le tampon de ligne 4 (figure 1). Le générateur d'adresse 37 reçoit également le quotient T provenant du premier circuit de calcul 31 et le fanion INC/DEC 38 provenant du troisième registre 30c, et il fournit une donnée d'adresse de ligne à la mémoire d'image 2.It generates the coefficients a, l-a for the bilinear adder 5 and a storage control signal for the line buffer 4 (FIG. 1). The address generator 37 also receives the quotient T coming from the first calculation circuit 31 and the INC / DEC flag 38 coming from the third register 30c, and it supplies line address data to the image memory 2.
La figure 4 montre que le répartiteur de résidu 35 comprend un circuit de calcul 40 qui fournit à sa sortie la différence entre (N) et (N) et un sélecteur à deux entrées 41 dont la première entrée reçoit la sortie du circuit de calcul 40 et la seconde entrée reçoit le nombre (N) provenant du premier registre 30a. I1 comporte une entrée de commande qui reçoit le fanion INC/DEC 38 provenant du troisième registre 30c. Un registre de données médian 56 reçoit la sortie 42 du sélecteur 34 (figure 3). Sa sortie est reliée à l'une des entrées d'un additionneur à deux entrées 43. L'autre entrée de l'additionneur 43 reçoit la sortie 42 du sélecteur 34.La sortie de l'additionneur 43 et la sortie du sélecteur 41 constituent les entrées d'un circuit de calcul 44 qui soustrait la seconde de la première et qui fournit un signal de validation sur sa sortie de commande 39 lorsque la sortie de l'additionneur 43 est supérieure ou égale à la sortie du sélecteur 41. Un sélecteur à deux entrées 45 a une première entrée qui reçoit la sortie de l'additionneur 43, une seconde entrée qui reçoit la différence entre les sorties de l'additionneur 43 et du sélecteur 41, provenant du circuit de calcul 44, une entrée de commande reliée à la sortie de commande du circuit de calcul 44 et une sortie qui est reliée au registre de données médian 56. FIG. 4 shows that the residue distributor 35 includes a calculating circuit 40 which supplies at its output the difference between (N) and (N) and a selector with two inputs 41 whose first input receives the output of the calculating circuit 40 and the second entry receives the number (N) from the first register 30a. I1 has a control input which receives the INC / DEC flag 38 from the third register 30c. A median data register 56 receives the output 42 of the selector 34 (FIG. 3). Its output is connected to one of the inputs of a two-input adder 43. The other input of the adder 43 receives the output 42 of the selector 34. The output of the adder 43 and the output of the selector 41 constitute the inputs of a calculation circuit 44 which subtracts the second from the first and which supplies a validation signal on its control output 39 when the output of the adder 43 is greater than or equal to the output of the selector 41. A selector with two inputs 45 has a first input which receives the output of the adder 43, a second input which receives the difference between the outputs of the adder 43 and of the selector 41, coming from the calculation circuit 44, a control input connected to the control output of the calculation circuit 44 and an output which is connected to the median data register 56.
Un circuit de modification d'horloge 46 reçoit l'horloge de ligne d'entrée d'origine et la modifie en fonction du signal sur la sortie de commande 39 et du quotient T provenant du premier circuit de calcul 31. A clock modification circuit 46 receives the original input line clock and modifies it as a function of the signal on the control output 39 and of the quotient T coming from the first calculation circuit 31.
Lorsque la sortie de commande 39 est à l'état logique haut, le circuit de modification d'horloge 46 fournit sur sa sortie une horloge divisée par (T+2) dont la durée est (T+2) fois celle de l'horloge de ligne d'entrée d'origine et, lorsque la sortie de commande 39 est à l'état logique bas, le circuit de modification d'horloge 46 fournit en sortie une horloge divisée par (T+1) dont la durée est (T+1) fois celle de l'horloge de ligne d'entrée d'origine. La sortie du circuit de modification d'horloge 46 et l'horloge de ligne d'entrée d'origine constituent les entrées d'un sélecteur 47. Le fanion INC/DEC 38 provenant du troisième registre 30c constitue l'entrée de commande du sélecteur 47. Le registre de données médian 56 a une broche de chargement LD qui reçoit un signal d'horloge mH1 provenant du sélecteur 47.When the control output 39 is in the high logic state, the clock modification circuit 46 provides on its output a clock divided by (T + 2) whose duration is (T + 2) times that of the clock original input line and, when the control output 39 is in the low logic state, the clock modification circuit 46 provides at output a clock divided by (T + 1) whose duration is (T +1) times that of the original input line clock. The output of the clock modification circuit 46 and the original input line clock constitute the inputs of a selector 47. The INC / DEC flag 38 coming from the third register 30c constitutes the control input of the selector 47. The middle data register 56 has a loading pin LD which receives a clock signal mH1 coming from the selector 47.
Le générateur de série de a (figure 5) comporte un générateur de coefficients 363 relié à la sortie de commande du circuit de calcul 44 et qui reçoit l'horloge de ligne d'entrée d'origine et le coefficient T provenant du premier circuit de calcul 31. Lorsque la sortie de commande 39 est à l'état logique haut, le générateur de coefficients 363 fournit successivement des coefficients a égaux à 1, 1/(T+2), 2/(T+2), . . . . . . (T+1)/(T+2) respectivement, au cours de (T+2) périodes de ligne successives ; lorsque la sortie de commande 39 est à l'état logique bas, le générateur de coefficients 363 fournit successivement des coefficients a égaux à 1, l/(T+l), 2/(T+1), (T)/(T+1) respectivement au cours de (T+1) périodes de ligne successives. Un sélecteur 364 a une première entrée qui est en permanence à 1, une seconde entrée qui reçoit la sortie du générateur de coefficients 363 et une entrée de commande qui reçoit le fanion INC/DEC 38. La sortie du sélecteur 364 constitue le coefficient a et est appliqué à l'une des entrées d'un circuit soustracteur 365. L'autre entrée du circuit soustracteur 365 est en permanence à 1. L'une des sorties du circuit soustracteur 365 est le coefficient l-a. The series generator of a (FIG. 5) comprises a coefficient generator 363 connected to the control output of the calculation circuit 44 and which receives the original input line clock and the coefficient T coming from the first circuit calculation 31. When the command output 39 is in the high logic state, the coefficient generator 363 successively supplies coefficients a equal to 1, 1 / (T + 2), 2 / (T + 2),. . . . . . (T + 1) / (T + 2) respectively, during (T + 2) successive line periods; when the control output 39 is in the low logic state, the coefficient generator 363 successively supplies coefficients a equal to 1, l / (T + l), 2 / (T + 1), (T) / (T +1) respectively during (T + 1) successive line periods. A selector 364 has a first input which is permanently at 1, a second input which receives the output of the coefficient generator 363 and a control input which receives the INC / DEC flag 38. The output of selector 364 constitutes the coefficient a and is applied to one of the inputs of a subtractor circuit 365. The other input of the subtractor circuit 365 is permanently at 1. One of the outputs of the subtractor circuit 365 is the coefficient la.
L'autre sortie du circuit soustracteur 365 est le circuit de commande de mémorisation du tampon de ligne 4 (figure 1). Le circuit soustracteur 365 génère le signal de commande de mémorisation lorsque le coefficient l-a est nul, c'est-àdire lorsque a = 1.The other output of the subtractor circuit 365 is the line buffer storage control circuit 4 (FIG. 1). The subtractor circuit 365 generates the storage control signal when the coefficient l-a is zero, that is to say when a = 1.
La figure 6 montre que le générateur d'adresse 37 comprend un circuit de calcul 371 qui fournit en sortie le quotient V de la division de (N) par ( N-N ) . Le quotient V correspond à un nombre de décalages entre deux lignes de balayage sélectionnées d'image numérique dans la mémoire d'image 2 lorsque l'image numérique est à réduire. Le quotient V et la sortie de commande 39 constituent les entrées de l'additionneur 372. La sortie de l'additionneur 372 constitue l'une des entrées d'un sélecteur 373. L'autre entrée du sélecteur 373 est fixée à 1. Le fanion INC/DEC 38 est utilisé comme entrée de commande du sélecteur 373. Le sélecteur 373 génère un nombre de décalages qui est appliqué à un additionneur 374. La sortie de l'additionneur 374 est reliée à un registre d'adresse 375.La sortie du registre d'adresse 375 constitue la donnée d'adresse de ligne et, à son tour, est reçue par l'additionneur 374. Le registre d'adresse 375 a une entrée "départ" destinée à prépositionner une adresse de ligne qui est celle de la première des lignes de balayage d'origine mémorisées dans la mémoire d'image 2. Le registre d'adresse 375 a également une broche de chargement LD pour commander le stockage d'une nouvelle adresse dans le registre. FIG. 6 shows that the address generator 37 includes a calculation circuit 371 which outputs the quotient V of the division of (N) by (N-N). The quotient V corresponds to a number of offsets between two selected scanning lines of digital image in the image memory 2 when the digital image is to be reduced. The quotient V and the control output 39 constitute the inputs of the adder 372. The output of the adder 372 constitutes one of the inputs of a selector 373. The other input of the selector 373 is fixed at 1. The INC / DEC flag 38 is used as control input for selector 373. Selector 373 generates a number of offsets which is applied to an adder 374. The output of adder 374 is connected to an address register 375. of the address register 375 constitutes the line address data and, in turn, is received by the adder 374. The address register 375 has an "outgoing" entry intended to preposition a line address which is that of the first of the original scan lines stored in the image memory 2. The address register 375 also has a loading pin LD for controlling the storage of a new address in the register.
Un circuit de verrouillage 376 (réseau de bascules) échantillonne le signal à la sortie de commande 39, à la cadence de l'horloge de ligne d'entrée d'origine. Un circuit de modification d'horloge 377 reçoit l'horloge de ligne d'entrée d'origine et la modifie en fonction de la sortie du circuit de verrouillage 376 et du quotient T provenant du premier circuit de calcul 31. Lorsque la sortie du circuit de verrouillage 376 est à l'état logique haut, le circuit de modification d'horloge 377 fournit une horloge divisée par (T+2) qui a une durée de (T+2) fois l'horloge de ligne d'entrée d'origine. Lorsque la sortie du circuit de verrouillage 376 est à l'état logique bas, le circuit de modification d'horloge 377 fournit en sortie une horloge divisée par (T+1) dont la durée est (T+1) fois celle de l'horloge de ligne d'entrée d'origine.Un sélecteur 378 reçoit l'horloge de ligne d'entrée d'origine et la sortie du circuit de modification d'horloge 377. I1 est commandé par le fanion INC/DEC 38 de façon à fournir en sortie l'une des entrées, sous forme d'une entrée d'horloge mH2 qui est reçue par le registre d'adresse 375 sur la broche de chargement
LD.A latch circuit 376 (latch network) samples the signal at control output 39, at the rate of the original input line clock. A clock modification circuit 377 receives the original input line clock and modifies it as a function of the output of the latch circuit 376 and of the quotient T coming from the first calculation circuit 31. When the output of the circuit 376 is in logic high state, the clock modification circuit 377 provides a clock divided by (T + 2) which has a duration of (T + 2) times the input line clock of origin. When the output of the latch circuit 376 is in the low logic state, the clock modification circuit 377 provides as output a clock divided by (T + 1) whose duration is (T + 1) times that of the original input line clock. A selector 378 receives the original input line clock and the output of the clock modification circuit 377. I1 is controlled by the INC / DEC flag 38 so as to output one of the inputs, in the form of a clock input mH2 which is received by the address register 375 on the loading pin
LD.
Le fonctionnement de l'unité de changement d'échelle verticale est le suivant
A. Pour faciliter l'explication de l'opération d'agrandissement par le mode de réalisation avantageux, on donnera un exemple dans lequel une image numérique d'origine ayant cinq lignes de balayage d'origine est agrandie de façon à obtenir une image numérique souhaitée ayant sept lignes de balayage.The operation of the vertical scale change unit is as follows
A. To facilitate the explanation of the enlargement operation by the advantageous embodiment, an example will be given in which an original digital image having five original scanning lines is enlarged so as to obtain a digital image desired having seven scan lines.
Le jeu de registres de programme 30 (figure 3) est programmé initialement en mémorisant le nombre "5" dans le premier registre 30a, le nombre "2" dans le second registre 30b et un "1" logique dans le troisième registre 30c. Le nombre "5" correspond au nombre (N) de lignes de balayage d'origine de l'image numérique d'origine dans la mémoire d'image 2. Le nombre "2" correspond au nombre total (N) de lignes de balayage à interpoler. Le "1" logique dans le troisième registre 30c indique qu'on doit agrandir l'image numérique d'origine. The set of program registers 30 (FIG. 3) is initially programmed by storing the number "5" in the first register 30a, the number "2" in the second register 30b and a logic "1" in the third register 30c. The number "5" corresponds to the number (N) of original scan lines of the original digital image in the image memory 2. The number "2" corresponds to the total number (N) of scan lines to interpolate. The logic "1" in the third register 30c indicates that the original digital image must be enlarged.
Le premier circuit de calcul 31 fournit en sortie le quotient T de la division de (N) par (N-l). Puisque (N) est inférieur à (N-l), le quotient T est 0. Le second circuit de calcul 32 fournit en sortie le reste S de la division de (N) par (N-l). Dans l'exemple, le reste S est égal à 2. La sortie du troisième circuit de calcul 33 est inutilisée, puisque le sélecteur 34 fournit la sortie du second circuit de calcul 32 au répartiteur de résidu 35 lors d'une opération d'agrandissement. The first calculation circuit 31 supplies the quotient T as the division of (N) by (N-1). Since (N) is less than (N-1), the quotient T is 0. The second calculation circuit 32 provides as an output the remainder S of the division of (N) by (N-1). In the example, the remainder S is equal to 2. The output of the third calculation circuit 33 is unused, since the selector 34 supplies the output of the second calculation circuit 32 to the residue distributor 35 during an enlargement operation .
Le registre d'adresse 375 du générateur d'adresse 37 (figure 1 et figures 3 à 7) fixe initialement l'adresse de ligne d'une première ligne de balayage d'origine mémorisée dans la mémoire d'image 2 et commande la mémoire d'image 2 de façon à fournir la première ligne de balayage d'origine à la mémoire de ligne 3 au cours d'un signal d'horloge de ligne de départ. Au même instant, le reste S est mémorisé dans le registre de données médian 56 et l'additionneur 43 ajoute le reste S au contenu du registre de données médian 56. Puisque la sortie de l'additionneur 43, qui est égale à 4 dans le cas présent, est inférieure à (N), qui est égal à 5, la sortie de commande 39 du circuit de calcul 44 est à l'état logique bas.Le sélecteur 45 fournit la sortie de l'additionneur 43 au registre de données médian 56 et l'entrée d'horloge mHl fournie au registre de données médian 56 est l'horloge divisée par (T+1), qui est la même que l'horloge de ligne d'entrée d'origine puisque T est égal à 0. The address register 375 of the address generator 37 (FIG. 1 and FIGS. 3 to 7) initially fixes the line address of a first original scan line stored in the image memory 2 and controls the memory. frame 2 so as to provide the first original scan line to the line memory 3 during a start line clock signal. At the same time, the remainder S is stored in the middle data register 56 and the adder 43 adds the rest S to the content of the middle data register 56. Since the output of the adder 43, which is equal to 4 in the case, is less than (N), which is equal to 5, the control output 39 of the calculation circuit 44 is in the low logic state. The selector 45 provides the output of the adder 43 to the median data register 56 and the clock input mHl supplied to the middle data register 56 is the clock divided by (T + 1), which is the same as the original input line clock since T is equal to 0 .
Etant donné que la sortie de commande 39 est au niveau logique bas et que le quotient T est égal à 0, le générateur de coefficients 363 fournit le nombre "1" au sélecteur 364. Etant donné que le fanion INC/DEC 38 est un "1" logique, le sélecteur 364 choisit la sortie du générateur de coefficients 363 en tant que coefficient de pondération a. Puisque le coefficient est égal à 1, le coefficient 1-a est égal à O et le signal de commande de mémorisation généré commande le tampon de ligne 4 de façon à mémoriser la première des lignes de balayage d'origine, provenant de la mémoire de ligne 3. La sortie de l'additionneur bilinéaire 5 est alors la première des lignes de balayage d'origine. Since the command output 39 is at the low logic level and the quotient T is equal to 0, the coefficient generator 363 supplies the number "1" to the selector 364. Since the INC / DEC flag 38 is a " 1 "logic, the selector 364 chooses the output of the coefficient generator 363 as the weighting coefficient a. Since the coefficient is equal to 1, the coefficient 1-a is equal to O and the storage command signal generated controls the line buffer 4 so as to memorize the first of the original scanning lines, coming from the memory of line 3. The output of the bilinear adder 5 is then the first of the original scanning lines.
Le sélecteur 373 fournit un nombre de décalages égal à 1 à l'additionneur 374. L'additionneur 374 incrémente alors la sortie du registre d'adresse 375 d'une unité lorsque l'impulsion d'horloge suivante mH2 arrive et commande ainsi la mémoire d'image 2 de façon à fournir la seconde ligne de balayage d'origine à la mémoire de ligne 3. The selector 373 provides a number of shifts equal to 1 to the adder 374. The adder 374 then increments the output of the address register 375 by one unit when the next clock pulse mH2 arrives and thus controls the memory 2 to provide the second original scan line to line 3 memory.
Lorsque l'impulsion d'horloge suivante mH1 arrive, le registre de données médian 56 mémorise la sortie précédente de l'additionneur 43, qui est le nombre "4". A ce moment là, la sortie de l'additionneur 43, maintenant égale à 6, est supérieure à (N), qui est égal à 5, de sorte que la sortie de commande 39 du circuit de calcul 44 est au niveau logique haut. Le sélecteur 45 fournit la différence entre les sorties de l'additionneur 43 et du sélecteur 41 au registre de données médian 56 et l'entrée d'horloge mHl du registre de données médian 56 est maintenant l'horloge divisée par (T+2), dont la durée est deux fois la durée de l'horloge de ligne d'entrée d'origine. When the next clock pulse mH1 arrives, the middle data register 56 stores the previous output of the adder 43, which is the number "4". At this time, the output of the adder 43, now equal to 6, is greater than (N), which is equal to 5, so that the control output 39 of the calculation circuit 44 is at the high logic level. The selector 45 provides the difference between the outputs of the adder 43 and of the selector 41 to the middle data register 56 and the clock input mHl of the middle data register 56 is now the clock divided by (T + 2) , whose duration is twice the duration of the original input line clock.
Maintenant que la sortie de commande 39 est à l'état logique haut, le générateur de coefficients 363 fournit successivement deux sorties, 1 et , au cours d'une impulsion d'horloge mHl, c'est-à-dire deux périodes d'horloge de ligne d'entrée d'origine consécutives. Au cours de la première période d'horloge de ligne d'entrée d'origine, l'additionneur bilinéaire 55 fournit la seconde ligne de balayage d'origine ; en même temps, cette dernière est mémorisée dans le tampon de ligne 4 puisque le coefficient a est égal à 1. Au cours de la seconde période d'horloge de ligne d'entrée d'origine, le contenu du registre d'adresse 375 est incrémenté d'une unité à réception de l'impulsion suivante mH2 de façon à commander la mémoire d'image 2 et à fournir la troisième ligne de balayage d'origine à la mémoire de ligne 3.A ce moment, la sortie du générateur de coefficients 363 est égale à . Le coefficient a est égal à et le coefficient l-a est égal à 4. Aucun signal de commande de mémorisation n'est généré. La seconde ligne de balayage d'origine reste dans le tampon de ligne 4. La sortie de l'additionneur bilinéaire 5 est à ce moment là l'interpole linéaire entre la seconde et la troisième ligne de balayage d'origine. Now that the control output 39 is in the high logic state, the coefficient generator 363 successively supplies two outputs, 1 and, during a clock pulse mHl, that is to say two periods of consecutive original input line clock. During the first original input line clock period, the bilinear adder 55 provides the second original scan line; at the same time, the latter is stored in line buffer 4 since the coefficient a is equal to 1. During the second original input line clock period, the content of address register 375 is incremented by one on receipt of the next pulse mH2 so as to control the image memory 2 and to supply the third original scan line to the line memory 3. At this time, the output of the generator coefficients 363 equals. The coefficient a is equal to and the coefficient l-a is equal to 4. No storage command signal is generated. The second original scan line remains in the line buffer 4. The output of the bilinear adder 5 is at this time the linear interpolation between the second and the third original scan line.
Le contenu du registre de données médian 56 est mis à jour et passe à 1, qui est la différence entre la sortie de l'additionneur 43 et (N), lorsque l'impulsion d'horloge suivante mHl arrive. La sortie de l'additionneur 43 est égale à 3, qui est inférieur à (N), de sorte que la sortie de commande 39 est au niveau logique bas. Le sélecteur 45 fournit la sortie de l'additionneur 43 au registre de données médian 56. L'entrée d'horloge mHî fournie au registre de données médian 56 est l'horloge divisée par (T+1) et le coefficient a provenant du générateur de série de a est égal à 1. La sortie de l'additionneur bilinéaire 5 est constituée par la troisième ligne de balayage d'origine et, puisque le coefficient a est égal à 1, la troisième ligne de balayage d'origine est mémorisée dans le tampon de ligne 4. The content of the median data register 56 is updated and goes to 1, which is the difference between the output of the adder 43 and (N), when the next clock pulse mH1 arrives. The output of the adder 43 is equal to 3, which is less than (N), so that the control output 39 is at the low logic level. The selector 45 provides the output of the adder 43 to the median data register 56. The clock input mHî supplied to the median data register 56 is the clock divided by (T + 1) and the coefficient a from the generator of series of a is equal to 1. The output of the bilinear adder 5 is constituted by the third original scan line and, since the coefficient a is equal to 1, the third original scan line is stored in line buffer 4.
Les étapes ultérieures sont similaires aux précédentes jusqu'à ce que la cinquième ligne de balayage d'origine apparaisse en sortie de l'additionneur bilinéaire 5. The subsequent steps are similar to the previous ones until the fifth original scan line appears at the output of the bilinear adder 5.
La figure 7 est un chronogramme qui montre l'opération d'agrandissement suivant le mode avantageux de réalisation dans cet exemple, c'est-à-dire pour N=5 et aN=2. FIG. 7 is a timing diagram which shows the enlargement operation according to the advantageous embodiment in this example, that is to say for N = 5 and aN = 2.
On a aussi montré que le contrôleur de modification d'échelle verticale commande l'additionneur bilinéaire 5 de façon à effectuer une interpolation bilinéaire de la (n)iêno ligne de balayage d'origine, qui est mémorisée dans le tampon de ligne 4 et de la (n+l)1êee ligne de balayage d'origine, qui est stockée dans la mémoire de ligne 3, de façon à produire une ligne de balayage interpolée résiduelle qui est insérée entre la (n)iêoee et la (n+i)ièle lignes de balayage d'origine, lorsque la division de (N) par (N-l) fournit un reste (S) et lorsque (n) est un nombre minimum qui remplit la condition (n+l)*(S) 2 (s)*(N), où (s) peut aller de 1 à (S). It has also been shown that the vertical scale modification controller controls the bilinear adder 5 so as to perform a bilinear interpolation of the (n) iêno original scan line, which is stored in the line buffer 4 and the (n + 1) 1st original scan line, which is stored in the line memory 3, so as to produce a residual interpolated scan line which is inserted between the (n) iêoee and the (n + i) ith original scan lines, when the division of (N) by (Nl) provides a remainder (S) and when (n) is a minimum number which fulfills the condition (n + l) * (S) 2 (s ) * (N), where (s) can range from 1 to (S).
Dans l'exemple précédent, le quotient (T) de la division de (N) par (N-l) est 0. Si le quotient T est différent de zéro, c'est-à-dire si (N) est supérieur ou égal à (N-l), le contrôleur de changement d'échelle verticale 6 commande l'additionneur bilinéaire 5 pour effectuer une interpolation bilinéaire entre les (n)iêle et (n+l)i~ lignes de balayage d'origine, afin de fournir un nombre supplémentaire T de lignes de balayage interpolées successives qui sont insérées entre les (n)'é" et (n+i)ièle lignes de balayage d'origine. In the previous example, the quotient (T) of the division of (N) by (Nl) is 0. If the quotient T is different from zero, that is to say if (N) is greater than or equal to (Nl), the vertical scale change controller 6 controls the bilinear adder 5 to perform a bilinear interpolation between the (n) island and (n + l) i ~ original scan lines, in order to provide a number additional T of successive interpolated scan lines which are inserted between the (n) 'é "and (n + i) th original scan lines.
La figure 8 montre, à titre d'exemple, un chronogramme d'une opération d'agrandissement effectuée à l'aide du mode de réalisation avantageux, lorsque N=5 et aN=6. Dans cet exemple, le quotient T est égal à 1 et le reste S est égal à 2. Une ligne de balayage interpolée additionnelle est insérée dans chaque intervalle entre les (n)iê-e et (n+l)i^ lignes de balayage d'origine. FIG. 8 shows, by way of example, a timing diagram of an enlargement operation carried out using the advantageous embodiment, when N = 5 and aN = 6. In this example, the quotient T is equal to 1 and the remainder S is equal to 2. An additional interpolated scan line is inserted in each interval between the (n) iê-e and (n + l) i ^ scan lines of origin.
B. Pour faciliter l'explication de l'opération de réduction par le mode de réalisation avantageux, on donnera un exemple avec une image numérique d'origine ayant cinq lignes de balayage d'origine qui est réduite de façon à obtenir une image numérique souhaitée ayant trois lignes de balayage. B. To facilitate the explanation of the reduction operation by the advantageous embodiment, an example will be given with an original digital image having five original scan lines which is reduced so as to obtain a desired digital image having three scan lines.
La figure 3 montre que le jeu de registres programmables 30 est programmé initialement en mémorisant le nombre "5" dans le premier registre 30a, le nombre "2" dans le second registre 30b et un "0" logique dans le troisième registre 30c. Le nombre "5" correspond au nombre (N) de lignes de balayage d'origine de l'image numérique d'origine dans la mémoire d'image 2. Le nombre "2" correspond au nombre total (aN) de lignes de balayage à supprimer. Le "O" logique dans le troisième registre 30c indique qu'on doit effectuer une réduction de l'image numérique d'origine. FIG. 3 shows that the set of programmable registers 30 is initially programmed by storing the number "5" in the first register 30a, the number "2" in the second register 30b and a logic "0" in the third register 30c. The number "5" corresponds to the number (N) of original scan lines of the original digital image in the image memory 2. The number "2" corresponds to the total number (aN) of scan lines to delete. The logic "O" in the third register 30c indicates that a reduction of the original digital image must be carried out.
Les sorties des premier et second circuits de calcul 31, 32 sont sans effet au cours de l'opération de réduction. The outputs of the first and second calculation circuits 31, 32 have no effect during the reduction operation.
Le troisième circuit de calcul 33 fournit sur sa sortie le reste U de la division de (N) par (N-N), (N-N) étant le nombre de lignes de balayage d'origine à conserver. Dans l'exemple, le reste U est égal à 2. Le sélecteur 34 admet la sortie du troisième circuit de calcul 33 au répartiteur de résidu 35.The third calculation circuit 33 provides on its output the remainder U of the division of (N) by (N-N), (N-N) being the number of original scan lines to be kept. In the example, the remainder U is equal to 2. The selector 34 admits the output of the third calculation circuit 33 to the residue distributor 35.
La figure 1, les figures 3 à 6 et la figure 9 montrent que le registre d'adresse 375 du générateur d'adresse 37 fournit initialement l'adresse de ligne de la première ligne de balayage d'origine mémorisée dans la mémoire d'image 2 et commande la mémoire d'image 2 de façon à fournir la première ligne de balayage d'origine à la mémoire de ligne 3 au cours d'un signal de ligne de départ. FIG. 1, FIGS. 3 to 6 and FIG. 9 show that the address register 375 of the address generator 37 initially supplies the line address of the first original scan line stored in the image memory 2 and controls the image memory 2 so as to supply the first original scan line to the line memory 3 during a start line signal.
Simultanément, le reste U est mémorisé dans le registre de données médian 56 et l'additionneur 43 ajoute le reste U au contenu du registre de données médian 56. Le circuit de calcul 44 soustrait le nombre (N-N) provenant du sélecteur 41 de la sortie de l'additionneur 43. Puisque la sortie de l'additionneur 43, qui est à ce moment là égale à 4, est supérieure au nombre (N-aN), qui est égal à 3, la sortie de commande 39 du circuit de calcul 44 est à l'état logique haut. Le sélecteur 45 applique la différence entre les sorties de l'additionneur 43 et du sélecteur 41 au registre de données médian 56. Le signal d'horloge de ligne d'origine est fourni au registre de données médian 56 par l'intermédiaire du sélecteur 47.Simultaneously, the remainder U is stored in the middle data register 56 and the adder 43 adds the rest U to the content of the middle data register 56. The calculation circuit 44 subtracts the number (NN) coming from the selector 41 from the output of the adder 43. Since the output of the adder 43, which is then equal to 4, is greater than the number (N-aN), which is equal to 3, the control output 39 of the calculation circuit 44 is in the high logic state. The selector 45 applies the difference between the outputs of the adder 43 and of the selector 41 to the median data register 56. The original line clock signal is supplied to the median data register 56 via the selector 47 .
Comme on le voit sur les figures 3 et 5, puisqu'un "0" logique est mémorisé dans le troisième registre 30c, le sélecteur 364 maintient le coefficient a à 1. Le coefficient l-a est donc égal à O et le signal de commande de mémorisation est toujours généré de façon à activer le tampon de ligne 4 qui mémorisera de façon continue une ligne de balayage d'origine provenant de la mémoire de ligne 3. De plus, la sortie de l'additionneur bilinéaire 5 est toujours la sortie de la mémoire de ligne 3. As seen in FIGS. 3 and 5, since a logic "0" is stored in the third register 30c, the selector 364 maintains the coefficient a at 1. The coefficient la is therefore equal to O and the control signal from storage is always generated so as to activate the line buffer 4 which will continuously store an original scan line coming from the line memory 3. In addition, the output of the bilinear adder 5 is always the output of the line memory 3.
Le circuit de calcul 371 (figure 6) fournit sur sa sortie le quotient V de la division de (N) par (N-N). Dans l'exemple, le quotient V est égal à 1. L'additionneur 372 génère la somme du quotient V et de l'état logique de la sortie de commande 39, qui est alors à l'état logique haut. The calculation circuit 371 (FIG. 6) supplies on its output the quotient V of the division of (N) by (N-N). In the example, the quotient V is equal to 1. The adder 372 generates the sum of the quotient V and the logic state of the control output 39, which is then in the high logic state.
Le sélecteur 373 choisit la sortie de l'additionneur 372, qui est égale à 2, et la transmet à l'additionneur 374. La sortie du registre d'adresse 375 est donc incrémentée de deux unités lorsque l'impulsion suivante mH2 arrive, ce qui commande la mémoire d'image 2 de façon que la troisième ligne de balayage d'origine soit fournie à la mémoire de ligne 3.The selector 373 chooses the output of the adder 372, which is equal to 2, and transmits it to the adder 374. The output of the address register 375 is therefore incremented by two units when the next pulse mH2 arrives, this which controls the image memory 2 so that the third original scan line is supplied to the line memory 3.
En se reportant de nouveau à la figure 4, on voit que le registre de données médian 56 mémorise le nombre "1", qui est la différence antérieure calculée par le circuit de calcul 44, lorsque l'impulsion d'horloge de ligne suivante arrive. A cet instant, la sortie de l'additionneur 43, qui est égale à 3, est égale à la sortie du sélecteur 41. La sortie de commande 39 du circuit de calcul 44 est au niveau logique haut et le sélecteur 45 fournit la différence entre les sorties de l'additionneur 43 et du sélecteur 41 au registre de données médian 56. Referring again to FIG. 4, it can be seen that the median data register 56 stores the number "1", which is the previous difference calculated by the calculation circuit 44, when the next line clock pulse arrives . At this instant, the output of the adder 43, which is equal to 3, is equal to the output of the selector 41. The control output 39 of the calculation circuit 44 is at the high logic level and the selector 45 provides the difference between the outputs of the adder 43 and of the selector 41 to the median data register 56.
En revenant à la figure 6, on voit que l'additionneur 362 génère une fois de plus la somme du quotient V et de l'état logique courant de la sortie de commande 39. La sortie de l'additionneur 372, qui est égale à 2, est transmise à l'additionneur 374 par l'intermédiaire du sélecteur 373. Donc la sortie du registre d'adresse 375 est de nouveau incrémentée de deux unités lorsque l'impulsion suivante mH2 arrive et commande la mémoire d'image 2 de façon que la cinquième ligne de balayage d'origine soit fournie à la mémoire de ligne 3. La figure 9 est un chronogramme qui montre l'opération de réduction par le mode avantageux de réalisation pour cet exemple, c'est-à-dire pour N=5 et aN=2. Returning to FIG. 6, it can be seen that the adder 362 once again generates the sum of the quotient V and of the current logic state of the control output 39. The output of the adder 372, which is equal to 2, is transmitted to the adder 374 via the selector 373. Thus the output of the address register 375 is again incremented by two units when the next pulse mH2 arrives and controls the image memory 2 so the fifth original scan line is supplied to the line memory 3. FIG. 9 is a timing diagram which shows the reduction operation by the advantageous embodiment for this example, that is to say for N = 5 and aN = 2.
Ce qui précède montre que le générateur d'adresse 37 commande la mémoire d'image 2 pour ne fournir en sortie que des lignes de balayage d'origine sélectionnées. Les lignes de balayage d'origine qui n'apparaissent pas à la sortie de la mémoire d'image 2 sont rejetées. On notera que la ligne de balayage d'origine apparaissant en sortie de la mémoire d'image 2 est décalée d'une ligne de balayage d'origine précédente apparue en sortie de la mémoire 2 du nombre V lorsque la sortie de l'additionneur 43 est inférieure à la différence (N-N) et décalée du nombre (V+1) lorsque la sortie de l'additionneur 43 est au moins égale à la différence (N-N). The above shows that the address generator 37 controls the image memory 2 so as to output only selected original scanning lines. The original scan lines which do not appear at the output of the image memory 2 are rejected. It will be noted that the original scanning line appearing at the output of the image memory 2 is offset from a previous original scanning line appearing at the output of the memory 2 by the number V when the output of the adder 43 is less than the difference (NN) and offset by the number (V + 1) when the output of the adder 43 is at least equal to the difference (NN).
La structure et le fonctionnement de l'unité de changement d'échelle horizontale est le suivant. The structure and operation of the horizontal scale change unit is as follows.
La sortie de l'additionneur bilinéaire 5 est reçue par le registre de point 7. Le contrôleur de changement d'échelle horizontale 10 commande le tampon de point 8 pour mémoriser une donnée de pixel antérieure provenant du registre de point 7. L'additionneur bilinéaire 9 reçoit les données de pixel provenant du registre de point 7 et du tampon de point 8 et il effectue une interpolation bilinéaire, avec une paire de coefficients de pondération a, l-a provenant du contrôleur de changement d'échelle horizontale 10. La structure de l'additionneur bilinéaire 9 est similaire à celle de l'additionneur bilinéaire 5 montrée en figure 2.Mais, dans l'additionneur bilinéaire 9, la donnée de pixel provenant du tampon de point 8, qui correspond à une (n' )iêoee donnée de pixel des données de ligne de balayage provenant de l'additionneur bilinéaire 5, est multipliée par le coefficient l-a. La donnée de pixel provenant du registre de point 7, qui correspond à une (n+i)iêae donnée de pixel des données de ligne de balayage provenant de l'additionneur bilinéaire 5, est multipliée par le coefficient a. Le registre de point 7 est donc équivalent à la mémoire de ligne 3 de l'unité de changement d'échelle verticale, alors que le tampon de point 8 est équivalent au tampon de ligne 4 de l'unité de changement d'échelle verticale. The output of the bilinear adder 5 is received by the point register 7. The horizontal scale change controller 10 controls the point buffer 8 to store an earlier pixel data item coming from the point register 7. The bilinear adder 9 receives the pixel data coming from the point register 7 and from the point buffer 8 and it performs a bilinear interpolation, with a pair of weighting coefficients a, the coming from the horizontal scale change controller 10. The structure of the the bilinear adder 9 is similar to that of the bilinear adder 5 shown in FIG. 2. But, in the bilinear adder 9, the pixel data coming from the point buffer 8, which corresponds to a (n ') iêoee given by pixel of the scan line data from the bilinear adder 5, is multiplied by the coefficient la. The pixel data coming from the point register 7, which corresponds to a (n + i) th pixel data of the scanning line data coming from the bilinear adder 5, is multiplied by the coefficient a. The point register 7 is therefore equivalent to the line memory 3 of the vertical scale change unit, while the point buffer 8 is equivalent to the line buffer 4 of the vertical scale change unit.
La structure du contrôleur de changement d'échelle horizontale 10 est similaire à celle du contrôleur de changement d'échelle verticale 6 montrée sur les figures 3 à 6. The structure of the horizontal scale change controller 10 is similar to that of the vertical scale change controller 6 shown in FIGS. 3 to 6.
Il existe des différences mineures entre les contrôleurs 6 et 10. Par exemple, le premier registre du jeu de registres programmables du contrôleur de changement d'échelle horizontale 10 est utilisé pour mémoriser le nombre (N') de données de pixel par ligne de balayage d'origine de l'image numérique dans la mémoire d'image 2. Le second registre est utilisé pour mémoriser le nombre (aN') de données de pixel à interpoler ou à supprimer par ligne de balayage. Le troisième registre mémorise un fanion INC/DEC qui est utilisé pour indiquer si on doit agrandir ou réduire l'image numérique en direction horizontale. L'entrée d'horloge du générateur d'adresse, le générateur de série de a et le répartiteur de résidu est constituée par l'horloge de pixel d'origine.La sortie d'adresse du registre d'adresse du contrôleur de changement d'échelle horizontale 10 est une adresse de point qui est utilisée pour commander la mémoire de ligne 3 et le tampon de ligne 4. Ainsi, lors d'un agrandissement dans la direction horizontale, toutes les données de pixel des (n)ième et (n+i)iêae lignes de balayage d'origine, ainsi que les lignes de balayage interpolées entre elles, s'il y en a, traversent l'additionneur bilinéaire 5. En cas de réduction dans les directions horizontale et verticale, seules les données de pixel sélectionnées appartenant aux lignes de balayage d'origine sélectionnées traversent l'additionneur bilinéaire 5.There are minor differences between controllers 6 and 10. For example, the first register in the programmable register set of the horizontal scaling controller 10 is used to store the number (N ') of pixel data per scan line. source of the digital image in the image memory 2. The second register is used to store the number (aN ′) of pixel data to be interpolated or to be deleted per scan line. The third register stores an INC / DEC flag which is used to indicate whether the digital image should be enlarged or reduced in the horizontal direction. The clock input of the address generator, the series generator of a and the residual distributor is constituted by the original pixel clock. The address output of the address register of the change controller d the horizontal scale 10 is a point address which is used to control the line memory 3 and the line buffer 4. Thus, when enlarged in the horizontal direction, all the pixel data of (n) th and ( n + i) the original scanning lines, as well as the interpolated scanning lines between them, if there are any, cross the bilinear adder 5. In the case of reduction in the horizontal and vertical directions, only the data of selected pixels belonging to the selected original scan lines pass through the bilinear adder 5.
Etant donné que le dispositif de l'invention est constitué par un matériel dédié, il est possible d'effectuer un agrandissement en temps réel d'images numériques. De plus, on peut effectuer un changement d'échelle uniforme d'une image numérique ayant (N) lignes de balayage (ou (N') données de pixel par ligne de balayage) même si le nombre total de lignes de balayage interpolées (ou le nombre de données de pixel interpolées dans chaque ligne de balayage) n'est pas un multiple de (N-l) (ou respectivement de (N'1)). De plus, le dispositif de changement d'échelle de l'invention est utilisable pour agrandir ou réduire une image numérique de façon sélective dans l'une quelconque des directions horizontale et verticale. Given that the device of the invention consists of dedicated hardware, it is possible to carry out an enlargement in real time of digital images. In addition, a uniform scaling of a digital image with (N) scan lines (or (N ') pixel data per scan line) can be performed even if the total number of interpolated scan lines (or the number of pixel data interpolated in each scan line) is not a multiple of (Nl) (or respectively (N'1)). In addition, the scaling device of the invention can be used to selectively enlarge or reduce a digital image in any of the horizontal and vertical directions.
Claims (35)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9509086A FR2737324B1 (en) | 1995-07-26 | 1995-07-26 | METHOD AND DEVICE FOR CHANGING THE SCALE OF A DIGITAL IMAGE IN A UNIFORM WAY |
FR9609098A FR2737325A1 (en) | 1995-07-26 | 1996-07-19 | Digital image scale uniform alteration circuit for image scaling system - has vertical and horizontal scaling controllers, with the vertical controller using sweep line storage and buffers which can have horizontal points added |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9509086A FR2737324B1 (en) | 1995-07-26 | 1995-07-26 | METHOD AND DEVICE FOR CHANGING THE SCALE OF A DIGITAL IMAGE IN A UNIFORM WAY |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2737324A1 true FR2737324A1 (en) | 1997-01-31 |
FR2737324B1 FR2737324B1 (en) | 1997-09-26 |
Family
ID=9481402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9509086A Expired - Fee Related FR2737324B1 (en) | 1995-07-26 | 1995-07-26 | METHOD AND DEVICE FOR CHANGING THE SCALE OF A DIGITAL IMAGE IN A UNIFORM WAY |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2737324B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0367418A2 (en) * | 1988-10-31 | 1990-05-09 | International Business Machines Corporation | Display system interpolators |
WO1990016035A2 (en) * | 1989-06-16 | 1990-12-27 | Eastman Kodak Company | Digital image interpolator |
EP0477884A2 (en) * | 1990-09-26 | 1992-04-01 | Matsushita Electric Industrial Co., Ltd. | Horizontal line interpolation circuit and image pickup apparatus including it |
EP0574245A2 (en) * | 1992-06-11 | 1993-12-15 | International Business Machines Corporation | Method and apparatus for variable expansion and variable shrinkage of an image |
-
1995
- 1995-07-26 FR FR9509086A patent/FR2737324B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0367418A2 (en) * | 1988-10-31 | 1990-05-09 | International Business Machines Corporation | Display system interpolators |
WO1990016035A2 (en) * | 1989-06-16 | 1990-12-27 | Eastman Kodak Company | Digital image interpolator |
EP0477884A2 (en) * | 1990-09-26 | 1992-04-01 | Matsushita Electric Industrial Co., Ltd. | Horizontal line interpolation circuit and image pickup apparatus including it |
EP0574245A2 (en) * | 1992-06-11 | 1993-12-15 | International Business Machines Corporation | Method and apparatus for variable expansion and variable shrinkage of an image |
Non-Patent Citations (2)
Title |
---|
HASAN S M R: "A novel LSI architecture for image scaling", PROCEEDINGS OF TENCON 87: 1987 IEEE REGION 10 CONFERENCE 'COMPUTERS AND COMMUNICATIONS TECHNOLOGY TOWARD 2000' (CAT. NO.87CH2423-2), SEOUL, SOUTH KOREA, 25-28 AUG. 1987, 1987, NEW YORK, NY, USA, IEEE, USA, pages 110 - 114 vol.1 * |
WEIMAN C F R: "Continuous anti-aliased rotation and zoom of raster images", SIGGRAPH 1980 CONFERENCE PROCEEDINGS. SEVENTH ANNUAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES, SEATTLE, WA, USA, 14-18 JULY 1980, vol. 14, no. 3, ISSN 0097-8930, COMPUTER GRAPHICS, JULY 1980, USA, pages 286 - 293 * |
Also Published As
Publication number | Publication date |
---|---|
FR2737324B1 (en) | 1997-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0492702B1 (en) | Correlation device | |
FR2547144A1 (en) | ||
EP0368731B1 (en) | Process and circuit for image representation signal filtration | |
EP0858066A1 (en) | Method and device for converting the digital image rate | |
EP0441692B1 (en) | Control process for a matrix screen comprising two independent parts and device to carry it out | |
FR2617307A1 (en) | MICROCALCULATOR COMPRISING PERFECTED ADDRESSING POSSIBILITIES | |
EP0443921B1 (en) | Method of processing digital control data associated to an HD-MAC video signal | |
EP1746486B1 (en) | Process for detecting movement of an entity fitted with an image sensor and a device for implementing it | |
FR2543721A1 (en) | DEVICE FOR GENERATING IMAGES ON A SCREEN IN A COMPUTER-CONTROLLED VISUALIZATION SYSTEM | |
FR2737324A1 (en) | Uniform alteration of scale of digital image - inserts interpolated data when enlarging image only when there is space to insert it smoothly into image data | |
FR2771229A1 (en) | Decoder architecture | |
EP0005672B1 (en) | Device for television titling apparatus | |
FR2860376A1 (en) | METHOD AND DEVICE FOR ENLARGING A VIDEO IMAGE | |
FR2535561A1 (en) | VIDEO SIGNAL PROCESSING SYSTEM | |
FR2737325A1 (en) | Digital image scale uniform alteration circuit for image scaling system - has vertical and horizontal scaling controllers, with the vertical controller using sweep line storage and buffers which can have horizontal points added | |
EP0619552A1 (en) | Object motion estimation device and process in animated successive pictures subdivided in bidimensional image element blocs | |
EP0476592A2 (en) | Address generator for the data storage of a processor | |
FR2498035A1 (en) | METHOD AND DEVICE FOR SYNCHRONIZING MESSAGES | |
EP0410909B1 (en) | Apparatus for converting a line scan into a stripe-wise vertical sawtooth scan | |
EP0400734B1 (en) | Programmable binary signal delay device and application to an error correcting code device | |
EP0640910B1 (en) | Control process for a first in - first out circuit and device to carry it out | |
FR2818483A1 (en) | CONVERGENCE CORRECTION DEVICE AND METHOD | |
EP0615374B1 (en) | Process and apparatus for echo processing between two mutually coupled transmission paths | |
FR2695773A1 (en) | Frequency division counting circuit and synthesizer equipped with such a circuit. | |
CA2359198C (en) | Arithmetic unit for carrying out a cryptographic protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20090331 |