EP0668557B1 - Data reorganization circuit and method - Google Patents
Data reorganization circuit and method Download PDFInfo
- Publication number
- EP0668557B1 EP0668557B1 EP95410010A EP95410010A EP0668557B1 EP 0668557 B1 EP0668557 B1 EP 0668557B1 EP 95410010 A EP95410010 A EP 95410010A EP 95410010 A EP95410010 A EP 95410010A EP 0668557 B1 EP0668557 B1 EP 0668557B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- register
- read
- memory
- circuit
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
- G06F7/785—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
Definitions
- the present invention relates to circuits allowing to provide data in a second predetermined order arriving at the circuit in a predetermined first order.
- Such circuits generally use a memory to dual access, i.e. a memory in which you can write using an input bus and a first address bus and in which we can read, practically simultaneously with writes, using an output bus and a second bus addresses.
- An object of the present invention is to provide a dual access memory reorganization circuit, which authorizes the reading of the memory at the precise moment when at less data that can be read is present in the memory.
- the invention allows, according to the data entry and exit orders, read data in memory before it is filled.
- a reorganization process data including the steps of writing data in a dual access memory in a predetermined first order and read the data into memory in a second predetermined order.
- a register is incremented by an increment whose optimal value equals 1 plus the difference between the entry rank of the data and the output rank of this data, and zero if the difference is negative, the actual value of this increment being such that the sum of the increments used until writing of the current data is less than or equal to the sum optimal values of these increments.
- Reading data is allowed only if the content of the register is not zero and the register is decremented on each reading.
- the method comprises the step of prohibiting the writing of data between the time when writing a data packet ends and the instant when the reading of this data packet ends.
- the present invention also relates to a circuit for data reorganization, including dual access memory coupled to a system to write data in a first predetermined order using a first bus and to read these data in a second predetermined order using a second bus.
- a register is connected to the circuit to authorize memory reads only if the contents of the register is not zero. Means are provided to decrement the content of the register each time a data item is read from memory.
- a address decoder on the first bus provides a increment whose optimal value is equal to 1 plus the difference between the input rank of the current data presented on the first bus and the output rank of this data, and zero if the difference is negative, the actual value of this increment being such that the sum of the increments used until writing of the current data is less than or equal to the sum optimal values of these increments.
- a summator adds the increment in the content of the register with each writing.
- the circuit includes a write counter incremented at each writing of a data and reset to zero at the end of each reading of a data packet, and means to inhibit writes as long as the write counter is at its maximum value.
- data to be reorganized are written in a dual-access memory 10 by a write bus DW.
- the write addresses of this data are selected by a bus WA write addresses.
- Data written to memory 10 are read on a DR read bus at selected addresses by an RA read address bus.
- Each writing in memory 10 is validated by a write clock W, and each reading is validated by a reading clock R.
- the write addresses WA and the RA read addresses are supplied by a circuit command 12 which determines the reorganization of the data.
- the write addresses WA are incremented by unit as we write the data and the RA read addresses vary in any fixed manner for determine the reading (or output) order of the data that are written to memory 10.
- the memory 10 is for example intended to contain a data packet and addresses of writing WA and reading RA evolve according to sequences of period equal to the number of data in a packet.
- the problem which the invention aims to solve is the synchronization of the transmission of RA read addresses on the emission of write addresses WA so as to read a given as soon as his exit turn has arrived.
- the invention provides a register 14 which contains the number N of data available for reading in the memory 10, i.e. the number of data that can be read in the correct order. This number N is updated each time writing data into memory 10 by adding to the number N an increment X.
- register 14 is validated by the write signal W and the input of the register 14 receives, via an adder 16, the sum of the output of the register and of the value X (WA) supplied by a decoder 18.
- the decoder 18 associates an X value with each write address WA.
- Each increment X is equal to 1 plus the difference between the input rank of the data currently written and the rank output of this same data. If this difference is negative, the increment X is zero.
- the values of the increments X as defined above are optimal values X opt .
- the sum of the increments used up to the data currently written is less than or equal to the sum of the corresponding optimal increments.
- the total sum of the X increments used for a data packet is equal to the number of data in the packet.
- register 14 The content of register 14 is decremented by one to each reading in memory 10. For this, we supply by example the read signal R at a decrementing input of the register 14.
- Register 14 can be a down counter receiving the read signal R on a decrementing input, the signal W on a load validation input, and the output of the adder 16 on a loading input.
- the control circuit 12 receives the content of the register 14 to determine the activation of control signals RDYW and RDYR.
- the RDYW signal is used to indicate to a circuit of writing, not shown, that the reorganization circuit is ready or not to receive data. If the RDYW signal is activated, the write circuit successively activates the signal writing W as it presents the data on the DW bus.
- the write addresses WA are incremented by the control circuit 12 at the rate of the write signal W.
- the RDYR signal is used to indicate to a read circuit, not shown, that the reorganization circuit is ready or not to provide data.
- the reading circuit successively activates the reading line R as it reads the data on the bus DR.
- the command 12 changes the RA read address to provide the data read in the correct order.
- the succession of addresses RA reading is predefined according to the order in which we want to read the data in memory 10. These addresses are for example stored in a memory addressed by a counter which is incremented by the read signal R.
- the RDYR signal is active when the number N contained in register 14 is not zero. So the RDYR signal is by example provided by an OR gate receiving all the bits of the register 14.
- the RDYW signal is active as soon as a data packet has was extracted from memory 10.
- a 12-1 write counter that counts the number of data written to memory 10.
- the RDYW signal is for example supplied by an RS flip-flop, not shown, set to 0 when the number of data written NW is equal to the number of data of a packet, and set to 1 if the number N of data available in memory 10 is zero and the number of data written NW is equal to the number of data in a packet.
- Activation of the RDYW signal sets the number of data written NW to 0.
- FIG. 2 represents a timing diagram illustrating the operation of the circuit of FIG. 1 using an example of reorganization of packet of eight data 1 to 8.
- the data are to be written according to the succession: 1, 2, 3, 4, 5, 6, 7, 8 and the data must leave memory 10 according to the succession: 2, 1, 4, 3, 5, 8, 6, 7.
- the output ranks of words 1 to 8 are respectively: 2, 1, 4, 3, 5, 7, 8, 6.
- the X values associated with each written data are 0, 2, 0, 2, 1, 0, 0, 3.
- the memory 10 is empty, the number N is zero and the signal RDYW is activated. The write signal W is then successively activated to write the eight data in the memory 10.
- the number N is zero until we write the data 2, i.e. data of input rank 2 and rank output 1.
- the number N is then incremented by 2 and the signal RDYR is activated, which causes successive activations of the read signal R to read data from memory 10 by example, at the frequency of the write signal.
- We first read the data 2 the number N goes to 1, then data 1, the number N goes to 0, causing the RDYR signal to be deactivated.
- the number N is incremented by 3 when writing the data 8, the last data in the package.
- the RDYW signal is deactivated and the RDYR signal is activated.
- the latency time of the reorganization circuit according to the invention that is to say the offset between the end of writing a package and the end of reading it is three read cycles, which corresponds to the maximum value increment X.
- a reorganization circuit according to the invention can be provided for carrying out several reorganizations that we choose thanks to a FCT bus (figure 1) which determines the decoding function of decoder 18 and the function for generating reading addresses RA of the control circuit 12.
- a reorganization circuit according to the invention is particularly useful for filtering in coding or decoding of picture blocks according to MPEG standards.
- the data is processed by this so-called macroblocks corresponding to blocks image size of 16x16 pixels.
- Figure 3 illustrates an example format, noted 4: 2: 0, of an MPEG macroblock.
- This macroblock includes a luminance block formed of four blocks Y0 to Y3 of 8x8 pixels and a chrominance block formed of two blocks U and V of 8x8 pixels.
- Another possible format is the format noted 4: 2: 2 where the chrominance block includes two 8x16 pixel blocks.
- a macroblock of the format 4: 2: 0 consists of a packet of 384 pixels of 8 bits.
- FIG. 4 schematically represents part of MPEG decoder circuit performing macroblock filtering.
- a commonly decoded macroblock MBc is supplied to a circuit inverse discrete cosine transform (DCT) 20.
- DCT inverse discrete cosine transform
- circuit DCT 20 is summed by a adder 22 at the output of a filter 24, called a half-pixel filter, to obtain a reconstructed macroblock MBr.
- the filter 24 receives MBp macroblocks, called predictive macroblocks, from of a previously reconstructed image. Arrival order pixels at filter 24 is different from the output order of pixels of the DCT circuit. Therefore, it is necessary to provide for the output of the filter 24 a reorganization circuit 26 which is advantageously a reorganization circuit according to the invention.
- the write signal W and the signal RDYW are exchanged between the circuit 26 and the filter 24.
- the read signal R and the signal RDYR are exchanged between circuit 26 and DCT circuit 20.
- the data provided by filter 16 and by the DCT circuits are on 16 bits, each corresponding to a pair pixels.
- the DCT circuit provides macroblocks under interlaced or progressive form regardless of whether the predictor macroblocks provided to filter 24 can also be supplied in interlaced or progressive form. So, we have four possible reorganization possibilities which are selected by the FCT bus.
- FIGS. 5A to 5D are intended to illustrate examples of each of these reorganizations. They represent tables of the X increments associated with each pair of pixels of a macroblock written in the memory 10 of the reorganization circuit. These figures are considered to be an integral part of this description.
- FIG. 5A illustrates a reorganization of macroblocks in the case where the macroblocks are supplied by the filter 24 under progressive form and supplied to adder 22 also under progressive form.
- the pairs of pixels supplied by the filter 24 arrive, for example, by columns of 16 pairs of pixels by scanning from top to bottom and from left to right, first the blocks of luminanoe Y then the chrominance blocks U and V. More precisely, the luminance blocks Y arrive by alternating a column of block Y0 and a column of block Y2 then, once the blocks Y0 and Y2 arrived, alternating a column from block Y1 and a column from block Y3.
- the chrominance blocks U and V arrive by alternating a pair of pixels U and a pair of pixels V.
- the pairs of pixels are written in the circuit of reorganization in their order of arrival.
- Pixel pairs are read back, for example, by columns of 8 pairs of pixels from top to bottom and from left to right, so as to supply completely successively blocks Y0, Y1, Y2, Y3, U and V, which is partially illustrated by arrows.
- FIG. 5B represents a reorganization of macroblocks in the case where the macroblocks are supplied in the form progressive by the filter 24 while the adder 22 receives in interlaced form. Pixel pairs are written in the reorganization circuit 26 in the same way as above.
- the pairs of pixels are read in columns of so as to provide the pairs of pixels of odd lines of successive blocks Y0, Y2, Y1, Y3, then the pairs of pixels of even lines of successive blocks Y0, Y2, Y1, Y3.
- Blocks of chrominance are replayed in the same way as in the case of the Figure 5A.
- Figure 5C illustrates a reorganization in the case where the filter 24 provides macroblocks in interleaved form and where they are supplied to the adder 22 in progressive form.
- the pairs of pixels supplied by the filter 24 arrive in columns of 8 pairs of pixels by scanning from top to bottom and from left to right the odd luminanoe blocks (Y0 (1) to Y3 (1)), the even luminance blocks (Y0 (2) to Y3 (2)), the odd chrominance blocks (U (1) and V (1)), and finally the blocks chrominance pairs U (2) and V (2).
- An odd block, affected by (1) contains only the pairs of pixels of odd lines of the corresponding complete block and an even block, assigned with (2), does not contains only the pairs of pixels of even rows of the block complete matching.
- Each of the odd and even blocks (of luminance and chrominance) happens in the same way as the corresponding complete block in Figure 5A, except that each odd or even block contains only 4 pairs of pixels in its columns.
- Pixel pairs are re-read to provide by columns of 8 pairs of pixels successively the blocks complete Y0, Y1, Y2, Y3, U and V.
- the reading order is partially represented by surrounded numbers. For example, for reconstitute the first column of the YO block, we read the first to fourth pairs of pixels alternately in blocks Y0 (1) and Y0 (2). The blocks U and V are reconstructed so similar.
- the latency of the reorganization circuit in this case is 58 read cycles.
- Figure 5D illustrates a reorganization in the case where the filter 24 provides macroblocks in interlaced form which must be supplied to adder 22 in interleaved form.
- the blocks are written in the reorganization circuit according to what has been described in relation to FIG. 5C and are replayed in the same order. In fact, the reorganization circuit is not useful in this case. All X increments are at 1 and the latency is one read cycle.
- a classic solution to avoid this drawback would consist in using a buffer memory preceding the circuit reorganization, the capacity of which corresponds to the number of data written during the latency of the reorganization circuit.
- MPEG processing is particularly suitable for the use of two reorganization circuits according to the invention connected in parallel to process the pixels to be written in continuous flow.
- the first reorganizes the blocks of luminance Y0 to Y3, and the second the chrominance blocks U and V, which is easy to predict because the luminance and chrominance correspond to well differentiated packets (the chrominance pixels are not mixed with the luminance pixels, both in and out).
- the memory used then corresponds to a macroblock and there is no need to increase this memory by adding a buffer memory.
- FIG. 6 represents a particularly embodiment advantage of dual access memory to use in a reorganization circuit according to the invention adapted to a MPEG image processing.
- This memory includes 12 memories 16-word first-in / first-out (FIFO) buffer 16 bits each.
- the DW write bus is connected to all inputs of these FIFO memories and the read bus DR is connected to all the outputs of these FIFO memories.
- the address bus writing WA includes, for example, 12 lines selecting each of the FIFO memories in write mode
- the address bus of RA reading includes, for example, 12 lines selecting each of the FIFO memories in read mode.
- Each of the FIFO memories is intended to contain the pairs of pixels of even rank or pairs of pixels of rank odd of each 8x8 pixel block of a macroblock.
- the pixel pairs can be provided in the correct order in each of the four cases previously described using a particularly simple addressing and a structure of inexpensive dual access memory.
Description
La présente invention concerne les circuits permettant de fournir dans un deuxième ordre prédéterminé des données arrivant au circuit dans un premier ordre prédéterminé.The present invention relates to circuits allowing to provide data in a second predetermined order arriving at the circuit in a predetermined first order.
De tels circuits utilisent généralement une mémoire à double accès, c'est-à-dire une mémoire dans laquelle on peut écrire à l'aide d'un bus d'entrée et un premier bus d'adresses et dans laquelle on peut lire, pratiquement simultanément aux écritures, à l'aide d'un bus de sortie et d'un deuxième bus d'adresses.Such circuits generally use a memory to dual access, i.e. a memory in which you can write using an input bus and a first address bus and in which we can read, practically simultaneously with writes, using an output bus and a second bus addresses.
Dans des circuits de réorganisation de données classiques, on commence par remplir la mémoire selon un premier ordre avant de comnencer à la vider dans un deuxième ordre. En effet, puisque les ordres d'entrée et de sortie des données sont généralement distincts et quelconques, on ne sait pas, au moment où l'on veut lire une donnée, si cette dernière a effectivement été écrite. Ainsi, un inconvénient d'un tel circuit est qu'il présente un retard de réponse, ou temps de latence, égal au nombre de cycles d'écriture qu'il faut pour remplir la mémoire. In classic data reorganization circuits, we start by filling the memory according to a first order before starting to empty it in a second order. In effect, since the data entry and exit orders are generally distinct and arbitrary, we do not know, at the time where we want to read a data, if the latter has effectively been written. So, a disadvantage of such a circuit is that it has a response delay, or latency, equal to number of write cycles it takes to fill memory.
Un objet de la présente invention est de prévoir un circuit de réorganisation de données à mémoire à double accès, qui autorise la lecture de la mémoire à l'instant précis où au moins une donnée qui peut être lue est présente dans la mémoire.An object of the present invention is to provide a dual access memory reorganization circuit, which authorizes the reading of the memory at the precise moment when at less data that can be read is present in the memory.
En atteignant cet objet, l'invention permet, selon les ordres d'entrée et de sortie des données, de lire des données dans la mémoire avant que celle-ci soit remplie.By achieving this object, the invention allows, according to the data entry and exit orders, read data in memory before it is filled.
Cet objet est atteint grâce à un procédé de réorganisation de données, comprenant les étapes d'écrire les données dans une mémoire à double accès dans un premier ordre prédéterminé et de lire les données dans la mémoire dans un deuxième ordre prédéterminé. A chaque écriture d'une donnée courante, un registre est incrémenté d'un incrément dont la valeur optimale est égale à 1 plus la différence entre le rang d'entrée de la donnée et le rang de sortie de cette donnée, et nulle si la différence est négative, la valeur effective de cet incrément étant telle que la somme des incréments utilisés jusqu'à l'écriture de la donnée courante est inférieure ou égale à la somme des valeurs optimales de ces incréments. La lecture des données est autorisée seulement si le contenu du registre est non nul et le registre est décrémenté à chaque lecture.This object is achieved thanks to a reorganization process data, including the steps of writing data in a dual access memory in a predetermined first order and read the data into memory in a second predetermined order. Each time a current data is written, a register is incremented by an increment whose optimal value equals 1 plus the difference between the entry rank of the data and the output rank of this data, and zero if the difference is negative, the actual value of this increment being such that the sum of the increments used until writing of the current data is less than or equal to the sum optimal values of these increments. Reading data is allowed only if the content of the register is not zero and the register is decremented on each reading.
Selon un mode de réalisation de la présente invention, le procédé comprend l'étape d'interdire l'écriture des données entre l'instant où l'écriture d'un paquet de données se termine et l'instant où la lecture de ce paquet de données se termine.According to an embodiment of the present invention, the method comprises the step of prohibiting the writing of data between the time when writing a data packet ends and the instant when the reading of this data packet ends.
La présente invention vise également un circuit de réorganisation de données, comprenant une mémoire à double accès couplée à un système pour écrire des données dans un premier ordre prédéterminé à l'aide d'un premier bus et pour lire ces données dans un deuxième ordre prédéterminé à l'aide d'un deuxième bus. Un registre est connecté au circuit pour autoriser les lectures de la mémoire seulement si le contenu du registre est non nul. Des moyens sont prévus pour décrémenter le contenu du registre à chaque lecture d'une donnée dans la mémoire. Un décodeur des adresses présentes sur le premier bus fournit un incrément dont la valeur optimale est égale à 1 plus la différence entre le rang d'entrée de la donnée courante présentée sur le premier bus et le rang de sortie de cette donnée, et nulle si la différence est négative, la valeur effective de cet incrément étant telle que la somme des incréments utilisés jusqu'à l'écriture de la donnée courante est inférieure ou égale à la somme des valeurs optimales de ces incréments. Un sommateur ajoute l'incrément au contenu du registre à chaque écriture.The present invention also relates to a circuit for data reorganization, including dual access memory coupled to a system to write data in a first predetermined order using a first bus and to read these data in a second predetermined order using a second bus. A register is connected to the circuit to authorize memory reads only if the contents of the register is not zero. Means are provided to decrement the content of the register each time a data item is read from memory. A address decoder on the first bus provides a increment whose optimal value is equal to 1 plus the difference between the input rank of the current data presented on the first bus and the output rank of this data, and zero if the difference is negative, the actual value of this increment being such that the sum of the increments used until writing of the current data is less than or equal to the sum optimal values of these increments. A summator adds the increment in the content of the register with each writing.
Selon un mode de réalisation de la présente invention, le circuit comprend un compteur d'écriture incrémenté à chaque écriture d'une donnée et remis à zéro à la fin de chaque lecture d'un paquet de données, et des moyens pour inhiber les écritures tant que le compteur d'écriture est à sa valeur maximale.According to an embodiment of the present invention, the circuit includes a write counter incremented at each writing of a data and reset to zero at the end of each reading of a data packet, and means to inhibit writes as long as the write counter is at its maximum value.
Ces objets, caractéristiques et avantages ainsi que
d'autres de la présente invention seront exposés dans la description
suivante de modes de réalisation particuliers faite à
titre non-limitatif à l'aide des figures jointes parmi lesquelles
:
A la figure 1, des données à réorganiser sont écrites
dans une mémoire à double accès 10 par un bus d'écriture DW. Les
adresses d'écriture de ces données sont sélectionnées par un bus
d'adresses d'écriture WA. Les données écrites dans la mémoire 10
sont relues sur un bus de lecture DR à des adresses sélectionnées
par un bus d'adresses de lecture RA. Chaque écriture
dans la mémoire 10 est validée par une horloge d'écriture W, et
chaque lecture est validée par une horloge de lecture R.In FIG. 1, data to be reorganized are written
in a dual-
Dans l'exemple de la figure 1, les adresses d'écriture
WA et les adresses de lecture RA sont fournies par un circuit de
commande 12 qui détermine la réorganisation des données. Par
exemple, les adresses d'écriture WA sont incrémentées d'une
unité au fur et à mesure que l'on écrit les données et les
adresses de lecture RA varient de manière fixée quelconque pour
déterminer l'ordre de lecture (ou de sortie) des données qui
sont écrites dans la mémoire 10.In the example in Figure 1, the write addresses
WA and the RA read addresses are supplied by a
Généralement, les données sont réorganisées par
paquets de longueur constante. La mémoire 10 est par exemple
prévue pour contenir un paquet de données et les adresses
d'écriture WA et de lecture RA évoluent selon des suites de
période égale au nombre de données d'un paquet.Generally, the data is reorganized by
packets of constant length. The
Le problème que vise à résoudre l'invention est la synchronisation de l'émission des adresses de lecture RA sur l'émission des adresses d'écriture WA de manière à lire une donnée dès que son tour de sortie est arrivé.The problem which the invention aims to solve is the synchronization of the transmission of RA read addresses on the emission of write addresses WA so as to read a given as soon as his exit turn has arrived.
Pour cela, l'invention prévoit un registre 14 qui
contient le nombre N de données disponibles à la lecture dans la
mémoire 10, c'est-à-dire le nombre de données qui peuvent être
lues dans le bon ordre. Ce nombre N est mis à jour à chaque
écriture d'une donnée dans la mémoire 10 en ajoutant au nombre N
un incrément X. Pour cela, par exemple, le registre 14 est
validé par le signal d'écriture W et l'entrée du registre 14
reçoit, par l'intermédiaire d'un additionneur 16, la somme de la
sortie du registre et de la valeur X(WA) fournie par un décodeur
18. Le décodeur 18 associe une valeur X à chaque adresse d'écriture
WA. Chaque incrément X est égal à 1 plus la différence
entre le rang d'entrée de la donnée couramment écrite et le rang
de sortie de cette même donnée. Si cette différence est négative,
l'incrément X est nul.For this, the invention provides a
Les valeurs des incréments X tels que définis ci-dessus sont des valeurs optimales Xopt. Pour que le circuit fonctionne, il suffit que la somme des incréments utilisés jusqu'à la donnée couramment écrite soit inférieure ou égale à la somme des incréments optimaux correspondants. En tout cas, la somme totale des incréments X utilisés pour un paquet de données est égale au nombre de données du paquet.The values of the increments X as defined above are optimal values X opt . For the circuit to function, it suffices that the sum of the increments used up to the data currently written is less than or equal to the sum of the corresponding optimal increments. In any case, the total sum of the X increments used for a data packet is equal to the number of data in the packet.
Le contenu du registre 14 est décrémenté d'une unité à
chaque lecture dans la mémoire 10. Pour cela, on fournit par
exemple le signal de lecture R à une entrée de décrémentation du
registre 14. Le registre 14 peut être un décompteur recevant le
signal de lecture R sur une entrée de décrémentation, le signal
W sur une entrée de validation de chargement, et la sortie de
l'additionneur 16 sur une entrée de chargement.The content of
Le circuit de commande 12 reçoit le contenu du
registre 14 pour déterminer l'activation de signaux de contrôle
RDYW et RDYR. Le signal RDYW sert à indiquer à un circuit
d'écriture, non représenté, que le circuit de réorganisation est
prêt ou non à recevoir des données. Si le signal RDYW est
activé, le circuit d'écriture active successivement le signal
d'écriture W au fur et à mesure qu'il présente les données sur
le bus DW. Les adresses d'écriture WA sont incrémentées par le
circuit de commande 12 au rythme du signal d'écriture W.The
Le signal RDYR sert à indiquer à un circuit de lecture,
non représenté, que le circuit de réorganisation est prêt
ou non à fournir des données. Lorsque le signal RDYR est actif,
le circuit de lecture active successivement la ligne de lecture
R au fur et à mesure qu'il lit les données présentes sur le bus
DR. A chaque activation du signal de lecture R, le circuit de
commande 12 modifie l'adresse de lecture RA de manière à fournir
les données lues dans le bon ordre. La succession des adresses
de lecture RA est prédéfinie en fonction de l'ordre dans lequel
on veut lire les données dans la mémoire 10. Ces adresses sont
par exemple stockées dans une mémoire adressée par un compteur
qui est incrémenté par le signal de lecture R.The RDYR signal is used to indicate to a read circuit,
not shown, that the reorganization circuit is ready
or not to provide data. When the RDYR signal is active,
the reading circuit successively activates the reading line
R as it reads the data on the bus
DR. Each time the read signal R is activated, the
Le signal RDYR est actif lorsque le nombre N contenu
dans le registre 14 est non nul. Ainsi, le signal RDYR est par
exemple fourni par une porte OU recevant tous les bits du
registre 14.The RDYR signal is active when the number N contained
in
Le signal RDYW est actif dès qu'un paquet de données a
été extrait de la mémoire 10. Pour générer ce signal RDYW, on
utilise, par exemple, un compteur d'écriture 12-1 qui compte le
nombre de données écrites dans la mémoire 10. Le signal RDYW est
par exemple fourni par une bascule RS, non représentée, mise à 0
lorsque le nombre de données écrites NW est égal au nombre de
données d'un paquet, et mise à 1 si le nombre N de données
disponibles dans la mémoire 10 est nul et le nombre de données
écrites NW est égal au nombre de données d'un paquet. L'activation
du signal RDYW met à 0 le nombre de données écrites NW.The RDYW signal is active as soon as a data packet has
was extracted from
La figure 2 représente un chronogramme illustrant le
fonctionnement du circuit de la figure 1 à l'aide d'un exemple
de réorganisation de paquet de huit données 1 à 8. Dans cet
exemple, les données sont à écrire selon la succession :
1, 2, 3, 4, 5, 6, 7, 8
et les données doivent sortir de la mémoire 10 selon la succession
:
2, 1, 4, 3, 5, 8, 6, 7.
Ainsi, les rangs de sortie des mots 1 à 8 sont respectivement :
2, 1, 4, 3, 5, 7, 8, 6.FIG. 2 represents a timing diagram illustrating the operation of the circuit of FIG. 1 using an example of reorganization of packet of eight
1, 2, 3, 4, 5, 6, 7, 8
and the data must leave
2, 1, 4, 3, 5, 8, 6, 7.
Thus, the output ranks of
2, 1, 4, 3, 5, 7, 8, 6.
Les valeurs X associées à chaque donnée écrite sont
0, 2, 0, 2, 1, 0, 0, 3. The X values associated with each written data are
0, 2, 0, 2, 1, 0, 0, 3.
A un instant t0, la mémoire 10 est vide, le nombre N
est nul et le signal RDYW est activé. Le signal d'écriture W est
alors successivement activé pour écrire les huit données dans la
mémoire 10.At an instant t 0 , the
Le nombre N est nul jusqu'au moment où on écrit la
donnée 2, c'est-à-dire la donnée de rang d'entrée 2 et de rang
de sortie 1. Le nombre N est alors incrémenté de 2 et le signal
RDYR est activé, ce qui provoque des activations successives du
signal de lecture R pour lire les données dans la mémoire 10 par
exemple, à la fréquence du signal d'écriture. On lit d'abord la
donnée 2, le nombre N passe à 1, puis la donnée 1, le nombre N
passe à 0 en provoquant la désactivation du signal RDYR.The number N is zero until we write the
Lorsque la donnée 4 est écrite dans la mémoire 10, le
nombre N est incrémenté de 2, cette incrémentation se produisant
dans l'exemple de la figure 2 lorsque le nombre N est devenu nul
après la lecture de la donnée 1. Le signal RDYR est de nouveau
activé et la lecture des données reprend.When
On lit la donnée 4, le nombre N passe à 1, puis on lit
la donnée 3. Entre temps, on a écrit la donnée 5 et le nombre N
a été incrémenté de 1. Au moment de la lecture de la donnée 3,
le nombre N passe à 1, on lit la donnée 5, le nombre N passe à 0
en désactivant le signal RDYR.We read
Le nombre N est incrémenté de 3 à l'écriture de la
donnée 8, la dernière donnée du paquet. Le signal RDYW est
désactivé et le signal RDYR est activé. On lit successivement
les données 8, 6 et 7, le nombre N passant à 2, puis à 1 et
enfin à 0.The number N is incremented by 3 when writing the
data 8, the last data in the package. The RDYW signal is
deactivated and the RDYR signal is activated. We read successively
Lorsqu'on a lu la donnée 7, la mémoire 10 est vide. Le
signal RDYW est de nouveau activé, ce qui permet l'écriture d'un
nouveau paquet de huit données.When
On observe que le temps de latence du circuit de réorganisation selon l'invention, c'est-à-dire le décalage entre la fin de l'écriture d'un paquet et la fin de sa lecture est de trois cycles de lecture, ce qui correspond à la valeur maximale de l'incrément X. We observe that the latency time of the reorganization circuit according to the invention, that is to say the offset between the end of writing a package and the end of reading it is three read cycles, which corresponds to the maximum value increment X.
Bien entendu, un circuit de réorganisation selon
l'invention peut être prévu pour effectuer plusieurs réorganisations
que l'on choisit grâce à un bus FCT (figure 1) qui
détermine la fonction de décodage du décodeur 18 et la fonction
de génération d'adresses de lecture RA du circuit de commande
12.Of course, a reorganization circuit according to
the invention can be provided for carrying out several reorganizations
that we choose thanks to a FCT bus (figure 1) which
determines the decoding function of
Un circuit de réorganisation selon l'invention est particulièrement utile pour effectuer le filtrage dans un codage ou décodage de blocs d'image selon les normes MPEG. Dans de tels circuits de codage ou décodage, les données sont traitées par ce que l'on appelle des macroblocs correspondant à des blocs d'image de 16x16 pixels.A reorganization circuit according to the invention is particularly useful for filtering in coding or decoding of picture blocks according to MPEG standards. In such coding or decoding circuits, the data is processed by this so-called macroblocks corresponding to blocks image size of 16x16 pixels.
La figure 3 illustre un exemple de format, noté 4:2:0, d'un macrobloc MPEG. Ce macrobloc comprend un bloc de luminance formé de quatre blocs Y0 à Y3 de 8x8 pixels et un bloc de chrominance formé de deux blocs U et V de 8x8 pixels. Un autre format possible est le format noté 4:2:2 où le bloc de chrominance comprend deux blocs de 8x16 pixels. Un macrobloc du format 4:2:0 est constitué d'un paquet de 384 pixels de 8 bits.Figure 3 illustrates an example format, noted 4: 2: 0, of an MPEG macroblock. This macroblock includes a luminance block formed of four blocks Y0 to Y3 of 8x8 pixels and a chrominance block formed of two blocks U and V of 8x8 pixels. Another possible format is the format noted 4: 2: 2 where the chrominance block includes two 8x16 pixel blocks. A macroblock of the format 4: 2: 0 consists of a packet of 384 pixels of 8 bits.
La figure 4 représente schématiquement une partie de circuit de décodeur MPEG effectuant le filtrage des macroblocs. Un macrobloc couramment décodé MBc est fourni à un circuit de transformée cosinus discrète (DCT) inverse 20.Figure 4 schematically represents part of MPEG decoder circuit performing macroblock filtering. A commonly decoded macroblock MBc is supplied to a circuit inverse discrete cosine transform (DCT) 20.
La sortie du circuit DCT 20 est sommée par un
additionneur 22 à la sortie d'un filtre 24, dit filtre demi-pixel,
pour obtenir un macrobloc reconstruit MBr. Le filtre 24
reçoit des macroblocs MBp, dits macroblocs prédicteurs, provenant
d'une image précédemment reconstruite. L'ordre d'arrivée
des pixels au filtre 24 est différent de l'ordre de sortie des
pixels du circuit DCT. Par conséquent, il faut prévoir à la
sortie du filtre 24 un circuit de réorganisation 26 qui est
avantageusement un circuit de réorganisation selon l'invention.
Le signal d'écriture W et le signal RDYW sont échangés entre le
circuit 26 et le filtre 24. Le signal de lecture R et le signal
RDYR sont échangés entre le circuit 26 et le circuit DCT 20. The output of
Les données fournies par le filtre 16 et par le
circuit DCT sont sur 16 bits, correspondant chacune à une paire
de pixels.The data provided by
En outre, le circuit DCT fournit des macroblocs sous forme entrelacée ou progressive indépendamment du fait que les macroblocs prédicteurs fournis au filtre 24 peuvent également être fournis sous forme entrelacée ou progressive. Ainsi, on a quatre possibilités de réorganisation possibles qui sont sélectionnées par le bus FCT.In addition, the DCT circuit provides macroblocks under interlaced or progressive form regardless of whether the predictor macroblocks provided to filter 24 can also be supplied in interlaced or progressive form. So, we have four possible reorganization possibilities which are selected by the FCT bus.
Les figures 5A à 5D sont destinées à illustrer des
exemples de chacune de ces réorganisations. Elles représentent
des tableaux des incréments X associés à chaque paire de pixels
d'un macrobloc écrite dans la mémoire 10 du circuit de réorganisation.
On considère que ces figures font partie intégrante de
la présente description.FIGS. 5A to 5D are intended to illustrate
examples of each of these reorganizations. They represent
tables of the X increments associated with each pair of pixels
of a macroblock written in the
La figure 5A illustre une réorganisation de macroblocs
dans le cas où les macroblocs sont fournis par le filtre 24 sous
forme progressive et fournis à l'additionneur 22 également sous
forme progressive.FIG. 5A illustrates a reorganization of macroblocks
in the case where the macroblocks are supplied by the
Les paires de pixels fournis par le filtre 24 arrivent,
par exemple, par colonnes de 16 paires de pixels en balayant
de haut en bas et de gauche à droite, d'abord les blocs de
luminanoe Y puis les blocs de chrominance U et V. Plus précisément,
les blocs de luminance Y arrivent en alternant une colonne
du bloc Y0 et une colonne du bloc Y2 puis, une fois que les
blocs Y0 et Y2 sont arrivés, en alternant une colonne du bloc Y1
et une colonne du bloc Y3. Les blocs de chrominance U et V
arrivent en alternant une paire de pixels U et une paire de
pixels V. Les paires de pixels sont écrites dans le circuit de
réorganisation dans leur ordre d'arrivée.The pairs of pixels supplied by the
Les paires de pixels sont relues, par exemple, par colonnes de 8 paires de pixels de haut en bas et de gauche à droite, de manière à fournir de façon complète successivement les blocs Y0, Y1, Y2, Y3, U et V, ce qui est illustré partiellement par des flèches. Pixel pairs are read back, for example, by columns of 8 pairs of pixels from top to bottom and from left to right, so as to supply completely successively blocks Y0, Y1, Y2, Y3, U and V, which is partially illustrated by arrows.
On constate dans le tableau de la figure 5A que la plus grande valeur de X est 57, ce qui veut dire que la latence du circuit de réorganisation est, dans ce cas, de 57 cycles de lecture sur 192 paires de pixels écrites.It can be seen in the table of FIG. 5A that the greatest value of X is 57, which means that the latency of the reorganization circuit is, in this case, 57 cycles of read on 192 pairs of written pixels.
La figure 5B représente une réorganisation de macroblocs
dans le cas où les macroblocs sont fournis sous forme
progressive par le filtre 24 alors que l'additionneur 22 les
reçoit sous forme entrelacée. Les paires de pixels sont écrites
dans le circuit de réorganisation 26 de la même manière que
ci-dessus.FIG. 5B represents a reorganization of macroblocks
in the case where the macroblocks are supplied in the form
progressive by the
Les paires de pixels sont relues par colonnes de manière à fournir les paires de pixels de lignes impaires des blocs successifs Y0, Y2, Y1, Y3, puis les paires de pixels de lignes paires des blocs successifs Y0, Y2, Y1, Y3. Les blocs de chrominance sont relus de la même manière que dans le cas de la figure 5A.The pairs of pixels are read in columns of so as to provide the pairs of pixels of odd lines of successive blocks Y0, Y2, Y1, Y3, then the pairs of pixels of even lines of successive blocks Y0, Y2, Y1, Y3. Blocks of chrominance are replayed in the same way as in the case of the Figure 5A.
On remarque que la latence dans ce cas est de 64 cycles de lecture.Note that the latency in this case is 64 reading cycles.
La figure 5C illustre une réorganisation dans le cas
où le filtre 24 fournit des macroblocs sous forme entrelacée et
où ils sont fournis à l'additionneur 22 sous forme progressive.Figure 5C illustrates a reorganization in the case
where the
Les paires de pixels fournis par le filtre 24 arrivent
par colonnes de 8 paires de pixels en balayant de haut en
bas et de gauche à droite les blocs de luminanoe impairs (Y0(1)
à Y3(1)), les blocs de luminance pairs (Y0(2) à Y3(2)), les
blocs de chrominance impairs (U(1) et V(1)), et enfin les blocs
de chrominance pairs U(2) et V(2). Un bloc impair, affecté de
(1), ne contient que les paires de pixels de lignes impaires du
bloc complet correspondant et un bloc pair, affecté de (2), ne
contient que les paires de pixels de lignes paires du bloc
complet correspondant. Chacun des blocs impairs et pairs (de
luminance et de chrominance) arrive de la même manière que le
bloc complet correspondant dans la figure 5A, sauf que chaque
bloc impair ou pair ne contient que 4 paires de pixels dans ses
colonnes. The pairs of pixels supplied by the
Les paires de pixels sont relues de manière à fournir par colonnes de 8 paires de pixels successivement les blocs complets Y0, Y1, Y2, Y3, U et V. L'ordre de lecture est partiellement représenté par des nombres entourés. Par exemple, pour reconstituer la première colonne du bloc YO, on lit les première à quatrième paires de pixels de façon alternée dans les blocs Y0(1) et Y0(2). Les blocs U et V sont reconstitués de manière similaire.Pixel pairs are re-read to provide by columns of 8 pairs of pixels successively the blocks complete Y0, Y1, Y2, Y3, U and V. The reading order is partially represented by surrounded numbers. For example, for reconstitute the first column of the YO block, we read the first to fourth pairs of pixels alternately in blocks Y0 (1) and Y0 (2). The blocks U and V are reconstructed so similar.
On remarque que la latence du circuit de réorganisation dans ce cas est de 58 cycles de lecture.Note that the latency of the reorganization circuit in this case is 58 read cycles.
La figure 5D illustre une réorganisation dans le cas
où le filtre 24 fournit des macroblocs sous forme entrelacée qui
doivent être fournis à l'additionneur 22 sous forme entrelacée.Figure 5D illustrates a reorganization in the case
where the
Les blocs sont écrits dans le circuit de réorganisation selon ce qui a été décrit en relation avec la figure 5C et sont relus dans le même ordre. En fait, le circuit de réorganisation n'est pas utile dans ce cas. Tous les incréments X sont à 1 et le temps de latence est d'un cycle de lecture.The blocks are written in the reorganization circuit according to what has been described in relation to FIG. 5C and are replayed in the same order. In fact, the reorganization circuit is not useful in this case. All X increments are at 1 and the latency is one read cycle.
Dans cette application à un circuit de traitement MPEG, comme pour le cas général, le circuit de réorganisation interdit de commencer l'écriture d'un nouveau paquet de données (nouveau macrobloc) tant que le paquet précédent n'a pas été lu. Ainsi, les données ne peuvent pas être fournies en flot continu au circuit de réorganisation.In this application to a processing circuit MPEG, as for the general case, the reorganization circuit forbidden to start writing a new data packet (new macroblock) until the previous package has been read. Thus, data cannot be provided in stream continuous in the reorganization circuit.
Une solution classique pour éviter cet inconvénient consisterait à utiliser une mémoire tampon précédant le circuit de réorganisation, dont la capacité correspond au nombre de données écrites pendant la latence du circuit de réorganisation.A classic solution to avoid this drawback would consist in using a buffer memory preceding the circuit reorganization, the capacity of which corresponds to the number of data written during the latency of the reorganization circuit.
Le traitement MPEG se prête particulièrement bien à l'utilisation de deux circuits de réorganisation selon l'invention connectés en parallèle pour traiter les pixels à écrire en flot continu. Par exemple, le premier réorganise les blocs de luminance Y0 à Y3, et le deuxième les blocs de chrominance U et V, ce qui est facile à prévoir car les blocs de luminance et de chrominance correspondent à des paquets bien différenciés (les pixels de chrominance ne sont pas mélangés aux pixels de luminance, aussi bien en entrée qu'en sortie). La mémoire utilisée correspond alors à un macrobloc et il est inutile d'augmenter cette mémoire par l'adjonction d'une mémoire tampon.MPEG processing is particularly suitable for the use of two reorganization circuits according to the invention connected in parallel to process the pixels to be written in continuous flow. For example, the first reorganizes the blocks of luminance Y0 to Y3, and the second the chrominance blocks U and V, which is easy to predict because the luminance and chrominance correspond to well differentiated packets (the chrominance pixels are not mixed with the luminance pixels, both in and out). The memory used then corresponds to a macroblock and there is no need to increase this memory by adding a buffer memory.
La figure 6 représente un mode de réalisation particulièrement
avantageux d'une mémoire à double accès à utiliser
dans un circuit de réorganisation selon l'invention adapté à un
traitement d'images MPEG. Cette mémoire comprend 12 mémoires
tampon, du type premier-entré/premier-sorti (FIFO), de 16 mots
de 16 bits chacun. Le bus d'écriture DW est relié à toutes les
entrées de ces mémoires FIFO et le bus de lecture DR est relié à
toutes les sorties de ces mémoires FIFO. Le bus d'adresses
d'écriture WA comprend, par exemple, 12 lignes sélectionnant
chacune des mémoires FIFO en écriture, et le bus d'adresses de
lecture RA comprend, par exemple, 12 lignes sélectionnant
chacune des mémoires FIFO en lecture.FIG. 6 represents a particularly embodiment
advantage of dual access memory to use
in a reorganization circuit according to the invention adapted to a
MPEG image processing. This memory includes 12 memories
16-word first-in / first-out (FIFO)
Chacune des mémoires FIFO est destinée à contenir les paires de pixels de rang pair ou les paires de pixels de rang impair de chaque bloc de 8x8 pixels d'un macrobloc. De cette manière, les paires de pixels peuvent être fournis dans le bon ordre dans chacun des quatre cas précédemment décrits en utilisant un adressage particulièrement simple et une structure de mémoire à double accès peu coûteuse.Each of the FIFO memories is intended to contain the pairs of pixels of even rank or pairs of pixels of rank odd of each 8x8 pixel block of a macroblock. Of this way, the pixel pairs can be provided in the correct order in each of the four cases previously described using a particularly simple addressing and a structure of inexpensive dual access memory.
Claims (4)
- A data reorganization process, including the following steps:writing words in a dual-port memory (10) in a first predetermined order;reading-out the words from the memory in a second predetermined order;each time a current word is written, incrementing a register (14) by an increment (X) whose optimum value is equal to 1 plus the difference between the input rank of the word and the output rank of this word, said increment being zero if the difference is negative, the effective value of said increment being such that the sum of the increments that are used until the current word is written is lower than, or equal to, the sum of the optimum values of these used increments;authorizing reading of the words only if the content of the register is non-zero; anddecrementing the register at each read.
- The reorganization process of claim 1, characterized in that it includes the step of inhibiting the writing of words between the time when the writing of a packet of words is ended and the time when the reading of this packet is ended.
- A data reorganization circuit, including a dual-port memory (10) coupled to a system to write words in a first predetermined order with a first bus (DR, WA) and to read said words in a second predetermined order with a second bus (DR, RA), characterized in that it comprises:a register (14) connected to the reorganization circuit to authorize the reading of the memory only if the content of the register is non-zero;circuitry (R) for decrementing the content of the register each time a word is read in the memory;a decoder (18) for decoding addresses present on the first bus to provide an increment (X) whose optimum value is equal to 1 plus the difference between the input rank of the current word provided on the first bus and the output rank of this word, and whose value is zero if the difference is negative, the effective value of this increment being such that the sum of the increments used until the writing of the current word is lower than, or equal to, the sum of the optimal values of these used increments; andan adder (16) for adding the increment to the content of the register at each write.
- The reorganization circuit of claim 3, characterized in that it includes a write counter (12-1) that is incremented each time a word is written, and reset at the end of each reading of a packet of words, and circuitry for inhibiting writing as long as the write counter is at a maximum value.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9402071 | 1994-02-16 | ||
FR9402071A FR2716276B1 (en) | 1994-02-16 | 1994-02-16 | Data reorganization circuit. |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0668557A1 EP0668557A1 (en) | 1995-08-23 |
EP0668557B1 true EP0668557B1 (en) | 2000-07-05 |
Family
ID=9460361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP95410010A Expired - Lifetime EP0668557B1 (en) | 1994-02-16 | 1995-02-15 | Data reorganization circuit and method |
Country Status (5)
Country | Link |
---|---|
US (1) | US5717899A (en) |
EP (1) | EP0668557B1 (en) |
JP (1) | JP2833509B2 (en) |
DE (1) | DE69517718T2 (en) |
FR (1) | FR2716276B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781664A (en) * | 1995-09-11 | 1998-07-14 | National Semiconductor Corporation | Highly efficient method and structure for motion compensation in a video decompression system |
US5938763A (en) * | 1997-08-06 | 1999-08-17 | Zenith Electronics Corporation | System for transposing data from column order to row order |
US6385670B1 (en) * | 1998-06-01 | 2002-05-07 | Advanced Micro Devices, Inc. | Data compression or decompressions during DMA transfer between a source and a destination by independently controlling the incrementing of a source and a destination address registers |
US6891845B2 (en) * | 2001-06-29 | 2005-05-10 | Intel Corporation | Method and apparatus for adapting to a clock rate transition in a communications network using idles |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4516201A (en) * | 1979-10-09 | 1985-05-07 | Burroughs Corporation | Multiplexed data communications using a queue in a controller |
US4393444A (en) * | 1980-11-06 | 1983-07-12 | Rca Corporation | Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories |
US4608633A (en) * | 1983-04-01 | 1986-08-26 | Honeywell Information Systems Inc. | Method for decreasing execution time of numeric instructions |
US4563702A (en) * | 1983-05-27 | 1986-01-07 | M/A-Com Linkabit, Inc. | Video signal scrambling and descrambling systems |
JPS61245256A (en) * | 1985-04-23 | 1986-10-31 | Mitsubishi Electric Corp | Information storing system |
US4803654A (en) * | 1985-06-20 | 1989-02-07 | General Datacomm Industries, Inc. | Circular first-in, first out buffer system for generating input and output addresses for read/write memory independently |
US4807044A (en) * | 1985-12-27 | 1989-02-21 | Canon Kabushiki Kaisha | Image processing apparatus |
DE3620932A1 (en) * | 1986-06-23 | 1988-01-07 | Siemens Ag | ARRANGEMENT FOR PROCESSING IMAGE DATA |
US4847812A (en) * | 1986-09-18 | 1989-07-11 | Advanced Micro Devices | FIFO memory device including circuit for generating flag signals |
US4995005A (en) * | 1986-09-18 | 1991-02-19 | Advanced Micro Devices, Inc. | Memory device which can function as two separate memories or a single memory |
US5293586A (en) * | 1988-09-30 | 1994-03-08 | Hitachi, Ltd. | Data processing system for development of outline fonts |
JP2855633B2 (en) * | 1989-02-03 | 1999-02-10 | ミノルタ株式会社 | Fault diagnosis device for dual port memory in multiprocessor system |
US5206684A (en) * | 1989-03-14 | 1993-04-27 | Minolta Camera Kabushiki Kaisha | Recording apparatus including a memory into which information is written in a particular order and from which memory information is read in the reverse order |
US5117486A (en) * | 1989-04-21 | 1992-05-26 | International Business Machines Corp. | Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor |
US5283763A (en) * | 1989-09-21 | 1994-02-01 | Ncr Corporation | Memory control system and method |
US5206834A (en) * | 1989-10-14 | 1993-04-27 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device performing last in-first out operation and the method for controlling the same |
JPH03224197A (en) * | 1990-01-30 | 1991-10-03 | Toshiba Corp | Multiport ram and information processor |
US5177704A (en) * | 1990-02-26 | 1993-01-05 | Eastman Kodak Company | Matrix transpose memory device |
US5042007A (en) * | 1990-02-26 | 1991-08-20 | Eastman Kodak Company | Apparatus for transposing digital data |
US5440706A (en) * | 1990-07-20 | 1995-08-08 | Matsushita Electric Industrial Co., Ltd. | Data shuffling apparatus possessing reduced memory |
JPH04147493A (en) * | 1990-10-09 | 1992-05-20 | Mitsubishi Electric Corp | Semiconductor memory |
JPH04188243A (en) * | 1990-11-21 | 1992-07-06 | Nippon Steel Corp | Storage device |
US5293540A (en) * | 1991-07-29 | 1994-03-08 | Nview Corporation | Method and apparatus for merging independently generated internal video with external video |
GB2268657B (en) * | 1992-07-03 | 1995-11-08 | Sony Broadcast & Communication | Video memory |
US5455907A (en) * | 1993-09-10 | 1995-10-03 | Compaq Computer Corp. | Buffering digitizer data in a first-in first-out memory |
-
1994
- 1994-02-16 FR FR9402071A patent/FR2716276B1/en not_active Expired - Fee Related
-
1995
- 1995-02-09 JP JP7043650A patent/JP2833509B2/en not_active Expired - Fee Related
- 1995-02-13 US US08/388,022 patent/US5717899A/en not_active Expired - Lifetime
- 1995-02-15 EP EP95410010A patent/EP0668557B1/en not_active Expired - Lifetime
- 1995-02-15 DE DE69517718T patent/DE69517718T2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FR2716276B1 (en) | 1996-05-03 |
DE69517718D1 (en) | 2000-08-10 |
JP2833509B2 (en) | 1998-12-09 |
DE69517718T2 (en) | 2001-02-01 |
FR2716276A1 (en) | 1995-08-18 |
EP0668557A1 (en) | 1995-08-23 |
US5717899A (en) | 1998-02-10 |
JPH07320479A (en) | 1995-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0626653B1 (en) | Image processing system | |
EP0618722B1 (en) | Method and device for decoding compressed images | |
EP0626642B1 (en) | Multitasking processor architecture | |
FR2544898A1 (en) | VIDEO DISPLAY DEVICE ON SCREEN DISPLAY SCREEN OF LINE FRAME BY LINE AND POINT BY POINT | |
FR2650902A1 (en) | COMPUTER WITH INTEGRATED CIRCUIT VIDEO PILOT BY MEMORY LIVING | |
EP0141721A2 (en) | Receiving device in a transmission system for asynchronous video information | |
EP0668557B1 (en) | Data reorganization circuit and method | |
EP0793391B1 (en) | Memory area addressing in an MPEG decoder | |
FR2618282A1 (en) | METHODS AND APPARATUS FOR STORING DIGITAL VIDEO SIGNALS. | |
EP0732857A1 (en) | MPEG decoder with reduced memory capacity | |
EP0716395B1 (en) | A method for decoding compressed images | |
FR2780186A1 (en) | METHOD AND DEVICE FOR DECODING AN IMAGE, COMPRESSED IN PARTICULAR ACCORDING TO MPEG STANDARDS, IN PARTICULAR A BIDIRECTIONAL IMAGE | |
EP0677934A2 (en) | Method for pattern recognition in serial transmission | |
EP0651579A1 (en) | High resolution image processing system | |
EP0632388B1 (en) | Processor system particularly for image processing comprising a variable size memory bus | |
EP0674444B1 (en) | Filter for matrix of pixels | |
EP0431699B1 (en) | Method and arrangement for moving picture decoding | |
FR2614165A1 (en) | ANAMORPHOSIS DEVICE AND SYSTEM PROVIDED WITH SUCH A DEVICE | |
EP0259902A1 (en) | Coding device with differential pulse code modulation, associated decoding device and transmission system comprising at least such a coding or decoding device | |
JPS5843671A (en) | Frame transfer type image pickup element | |
JP3094346B2 (en) | Image memory device | |
FR2761499A1 (en) | Coder and decoder for animated images, with cache memory | |
FR2548502A1 (en) | Terminal generating graphics video signals, with directly addressable topographic memory | |
FR2664999A1 (en) | DATA OUTPUT INPUT DEVICE FOR DISPLAYING INFORMATION AND METHOD IMPLEMENTED BY SUCH A DEVICE. | |
FR2780185A1 (en) | METHOD AND DEVICE FOR PROCESSING IMAGES, IN PARTICULAR ACCORDING TO MPEG STANDARDS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB IT |
|
17P | Request for examination filed |
Effective date: 19960201 |
|
RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: STMICROELECTRONICS S.A. |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
RTI1 | Title (correction) |
Free format text: DATA REORGANIZATION CIRCUIT AND METHOD |
|
17Q | First examination report despatched |
Effective date: 19990906 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB IT |
|
GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 20000706 |
|
REF | Corresponds to: |
Ref document number: 69517718 Country of ref document: DE Date of ref document: 20000810 |
|
ITF | It: translation for a ep patent filed |
Owner name: SOCIETA' ITALIANA BREVETTI S.P.A. |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20040226 Year of fee payment: 10 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050215 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050901 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20060816 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20060830 Year of fee payment: 12 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20070215 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20071030 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20070215 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20070228 |