Brevet FR2717979A1 — publié le 19950929

FILTRE DE MATRICS DE PIXELS La présente invention concerne un filtre permettant d'effectuer ce que l'on appelle le filtrage demi-pixel d'un bloc d'image selon les normes MPEG. Le fitrage demi-pixel consiste à traiter les pixels d'un bloc d'image, ou matrice de pixels, de manière qu'un pixel donnéc de la matrice soit remplacé par la sonmme de ce pixel, du pixel immédiatement à droite et du pixel immédiatement en- dessous. La matrice filtrée obtenue en traitant ainsi tous les pixels correspond à une matrice décalée vers le bas et vers la10 droite d'un demi-pixel, d'o la dénomination "filtre demi- pixel". Le filtre peut en outre être oommandé pour n'effectuer aucun décalage (aucun filtrage) ou bien un décalage seulement vers la droite ou seulement vers le bas. La figure 1 représente une partie de décodeur MPEG dans lequel on utilise un filtre demi-pixel 10. La sortie du filtre 10 et la sortie d'un circuit de transformée cosinus discrète inverse (DCT-1) 12 sont sommanées par un additionneur 14 pour fournir les pixels d'un bloc d'image reconstruit MBr. Le circuit DCT 12 reçoit des pixels d'un bloc d'image couramment décodé MBc et le filtre 10 reçoit les pixels d'un bloc dit prédicteur MBp cherché dans une image précédkment recons- truite. La position de ce bloc prédicteur dans 1' image précé- denmment reconstruite est trouvée grâce à un vecteur d'estimation de mouvement. Les composantes (horizontale et verticale) de ce vecteur peuvent être non-entières. Le coin supérieur gauche du 5 bloc à traiter est déterminé par les parties entières des compo- santes; le filtre demi-pixel décale ou non le bloc d'un demi- pixel vers la droite ou vers le bas selon que la composante horizontale ou verticale du vecteur est entière ou non. Les blocs d'image traités sont en fait des macroblocs comprenant de façon séparée des pixels de luminanoe Y, et des pixels de chrominance U et V. La figure 2 illustre un exemple de format, noté 4:2:0, d'un macrobloc MB. Ce macrobloc comprend une matrice de lumi- nance Y de 16x16 pixels formée de quatre sous-matrices YO à Y315 de 8x8 pixels, et une matrice de chrominance de 16x8 pixels formée de deux sousmatrices U et V de 8x8 pixels. Un autre format possible est le format noté 4:2:2 o la matrice de chro- minance comprend deux sous-matrices U et V de 16x8 pixels. Un objet de la présente invention est de prévoir un filtre demi-pixel particulièrement simple et rapide. Cet objet est atteint graâce à un filtre de matrices de pixels comprenant: n bus d'entrée pour recevoir des pixels de n colonnes successives de la matrice; n circuits de retard rece- vant respectivement les pixels des n bus d'entrée, ces circuits25 de retard introduisant chacun un retard d'une colonne, d'o il résulte que 2n pixels sont simultanéent transmis sur successi- vement les sorties des n circuits de retard et les n bus d'entrée; et n additionneurs connectés au moins de manière que le i-ème additionneur (i=1,2,...n) reçoive le i-ême des 2n pixels sur une première entrée et le (i+l)ème des 2n pixels sur une deuxième entrée. Selon un mode de réalisation de la présente invention, les n additionneurs sont connectés à un commutateur prévu pour que le i-ème additionneur reçoive: sur sa première entrée l'un parmi les i-ème à (i+n-1)ème des 2n pixels, sur sa deuxième entrée l'un parmi les (i+l)ème à (i+n)ême des 2n pixels, selon qu'un vecteur déterminant la position de la matrice dans une image a une copoesante horizontale respective égale à 0 à n-1 modulo n. Selon un mode de réalisation de la présente inven- tion, la sortie de chacun des n additionneurs est reliée à un additionneur supplémentaire respectif directement et par l'intermédiaire d'un circuit de retard d'au moins un pixel. Selon un mode de réalisation de la présente invention, le retard d'au moins un pixel est d'un pixel si la matrice traitée est une matrice de pixels de luminance et de deux pixels si la matrice traitée est une matrioe de pixels de chrominance. La présente invention vise également un procédé de traitement d'une matrice de pixels cherchée à l'aide d'un vecteur dans une mémoire d'image accessible par un bus de p pixels de large. Le procédé comprend les étapes consistant à écrire par le bus dans une mémoire à double accès successivement toutes les bandes d'image de p pixels de large contenant par- tiellement la matrice; à lire dans la mmoire à double accès par un bus de n pixels de large toutes les bandes d'image de n pixels de large contenant partiellement la matrice; et à fournir ces bandes ligne par ligne à un filtre qui traite en parallèle chaque ligne.25 Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposes plus en détail dans la description suivante de modes de réalisation particu- liers faite à titre non-limitatif à l'aide des figures jointes parmi lesquelles:30 la figure 1, précédemment décrite, représente partiel- lement un décodeur MPEG; la figure 2, précédemment décrite, illustre un macro- bloc d'image du format 4:2:0; la figure 3 représente un mode de réalisation de filtre demi-pixel selon l'invention; les figures 4A et 4B illustrent le fonctionnement du filtre de la figure 3; la figure 5 représente partiellement un autre mode de réalisation de filtre demipixel selon l'invention; la figure 6 représente un filtre selon l'invention précédé d'un circuit d'adaptation de largeur de bus entre une mémoire d'image et le filtre; les figures 7A et 7B sont destinées à illustrer un procédé selon l'invention pour adapter la largeur du bus de la mnémoire d'image à la largeur du bus du filtre; et la figure 8 représente un mode de réalisation de mémoire à double accès utilisé dans le circuit de la figure 6. Un filtre selon l'invention est destiné à traiter des matrices de pixels par bandes de plusieurs pixels de large. La largeur des bandes est choisie de manière à correspondre à la largeur du bus du filtre, la largeur de ce bus devant être égale à la largeur du bus de sortie du circuit DCT 12 (figure 1). Dans l'exemple de la figure 3, le bus du filtre est de 16 bits, oe qui correspond à une largeur de bande de 2 pixels. Les pixels se trouvant dans une colonne de rang pair de l'image (on suppose que le premier rang est 0) sont fournis successive- ment à un bus d'entrée B0 du filtre et les pixels se trouvant dans une colonne de rang impair sont fournis successivement à un bus d'entrée B1. Les bus B0 et B1 ont chacun une largeur d'un pixel, c'est-à-dire de 8 bits. Chacun des bus B0 et B1 est relié à un circuit de retard respectif 20 et 21 introduisant un retard correspondant à une colonne de pixels de la matrice à traiter. Les sorties des circuits de retard 20 et 21 et les bus B0 et B1 sont reliés à deux additionneurs 23 et 24 par 1l'inter- médiaire d'un commutateur 26. Dans une première position, repré- sentée en trait plein, le commutateur 26 relie les deux entrées de l'additionneur 23 respectivement aux sorties des circuits de retard 20 et 21, et relie une première entrée de l'additionneur 24 à la sortie du circuit de retard 21 et une deuxième entrée au bus BO. Dans une deuxième position, représentée en pointillés, le commutateur 26 relie les deux entrées de l'additionneur 24 respectivement aux bus B0 et B1, et relie une première entrée de l'additionneur 23 à la sortie du circuit de retard 21 et une 5 deuxième entrée au bus B0. Un circuit de commande 28 reçoit les composantes du vecteur V déterminant la position du macrobloc à traiter. Chacune des composantes est entière ou non. Si la composante horizontale Vh du vecteur est entière, le circuit de commande 2810 inhibe les additionneurs 23 et 24, de manière que les pixels arrivant sur les bus B0 et B1 soient transmis sans modification aux additionneurs 32 et 33, respectivement. Si la composante verticale du vecteur est entière, le circuit de commande 28 inhibe les additionneurs 32 et 33. 15 La première position du coummutateur 26 est sélec- tionnée par le circuit de commande 28 lorsque la partie entière de la composante horizontale Vh est paire. La deuxième position du commutateur 26 est sélectionnée lorsque la partie entière de la composante horizontale Vh est impaire.20 L'ensemble des éléments 20 à 26 constitue un filtre horizontal 30 du filtre demi- pixel. Le filtre horizontal est destiné à effectuer les sommes deux par deux des pixels des lignes de la matrice et à fournir chaque pixel somme à un filtre vertical décrit ci-dessous.25 La sortie de chacun des additionneurs 23 et 24 est fournie à un additionneur respectif 32 et 33 directement sur une première entrée et sur une deuxième entrée par l'intermédiaire d'un circuit de retard respectif 35 et 36 d'un pixel. L'ensemble des éléments 32 à 36 constitue un filtre vertical 38 destiné à sommer deux par deux les pixels de chaque colonne de la matrice traitée. Les sorties des additionneurs 32 et 33 fournissent une bande filtrée de la matrice traitée, bande de deux pixels de large dans le présent exemple. Dans un macrobloc du type de la figure 2, les pixels de luminance et de chrominance sont traités sépar t. On cammence par traiter la matrice de luminance Y (constituée des sousmatrices Y0 à Y3) qui est normalement de 16x16 pixels. Pour 5 obtenir après le filtrage demi-pixel une matrice qui soit éga- lement de 16x16 pixels, il faut ajouter à la matrice traitée une colonne à droite et une ligne en bas. On fournit donc au filtre une matrice de 17x17 pixels. On opère de la même manière avec chacune des sous-matrices de chrominance U et V qui deviennent alors des sous-matrioes de 9x9 pixels et forment une matrice de chrominance de 18x9 pixels. Par ailleurs, la matrice de chromi- nance comprend de façon alterrnée une ligne de pixels U et une ligne de pixels V. Ainsi, pour effectuer un fitrage vertical correct d'une matrice de chrominance, le délai des circuits de15 retard 35 et 36 doit être choisi de deux pixels, de manière à toujours sommer deux pixels de même nature (U ou V). Caune cela est représenté à la figure 3, le circuit de camnandle 28 fournit un signal Y/UV permettant de sélectionner un pixel de délai dans les circuits 35 et 36 lorsque la matrice20 traitée est une matrice de luminance, et de choisir deux pixels de délai lorsque la matrice traitée est une matrice de chrmi- nance. De même, le signal Y/UV permet de sélectionner dans les circuits 20 et 21 un délai de 17 pixels si la matrice traitée est une matrice de luminance, et un délai de 18 pixels si la25 matrice traitée est une matrice de chrominance. Les circuits de retard 20, 21 et 35, 36 peuvent faci- lement être réalisés avec des bascules. Avantageusement, les circuits 20 et 21 sont des Soires du type premier entré- premier sorti (FIFO) qui sont remplies au fur et à mesure que les pixels arrivent sur les bus B0 et B1 et que l'on camence à vider une fois que le remplissage atteint 17 ou 18 pixels, selon l'état du signal Y/UV. La figure 4A illustre le fonctionnement du filtre horizontal de la figure 3 lorsque la oposante horizontale Vh du vecteur d'estimation de mouvement est paire, par exemple égale à 0 (ce qui veut dire que la matrice à filtrer commence à la colonne de rang 0). La position du commutateur 26 est celle représentée en trait plein à la figure 3. L'arrivée d'une5 colonne de matrice sur un bus B0 ou B1 est représentée par une barre verticale en trait gras. La même colonne retardée par un circuit 20 ou 21 est représentée en dessous en pointillés. Les étapes successives de filtrage sont représentées par des nombres entourés. A une étape 1, on fournit la colonne 0 sur le bus B0 et la colonne 1 sur le bus B1. L'additionneur 23 reçoit les sorties des circuits de retard 20 et 21 qui fournissent des valeurs nulles et en tout cas sans signification. L'additionneaur 24 reçoit la colonne 0 et la sortie sans signification du circuit de retard 21. L'étape 1 est une étape à vide destinée à obtenir les colonnes 0 et 1 retardées; les valeurs fournies par le filtre sont ignorées. A une étape 2, on fournit sur les bus BO et B1 les colonnes 2 et 3 de la matrice. Simultanément, les colonnes O et 1, retardées, sont fournies par les circuits de retard 20 et 21. L'additionneur 23 somme les pixels des colonnes 0 et 1 fournis par les circuits de retard 20 et 21, et 1 'additionneur 24 somme les pixels des colonnes 1 et 2 fournis par les bus BO et B1. A une étape 3, on fournit les colonnes 4 et 5 sur les bus B0 et B1. Simultanément, les circuits de retard 20 et 21 fournissent les colonnes 2 et 3 retardées. L'additionneur 23 somme les pixels des colonnes 2 et 3 retardées, et 1'addition- neur 24 somme les pixels de la colonne 3 retardée et de la colonne 4. On continue ainsi à fournir les colonnes deux par deux, jusqu'à ce que toutes les colonnes de la matrice à traiter sont fournies. Chaque triplet de colonnes (une colonne directe et deux retardées) ainsi traité par le filtre horizontal 30 fournit deux colonnes qui sont traitées simultaéent par le filtre vertical 38. Le filtre vertical 38 remplace dans chaque colonne un pixel par la somme de ce même pixel et du pixel de mêmne nature (luminance, chrominance U ou V) qui le précède.5 La figure 4B illustre le fncctionnement du filtre de la figure 3 dans le cas o la composante horizontale Vh du vecteur d'estimation de mouvement est impaire, par exemple égale à 1 (oe qui veut dire que la matrice à traiter comâenoe à la colonne de rang 1). Le commutateur 26 est dans la position représentée en pointillés à la figure 3. A une étape 1, on fournit sur les bus B0 et B1 la colonne 0, qui n'appartient pas à la matrioe à traiter, et la colonne 1. L'additionneur 23 somme les pixels alors sans signi- fication sortant du circuit de retard 21 et les pixels de la15 colonne 0. L'additionneur 24 saomme les pixels des colonnes 0 et 1. Cette étape 1 est une étape à vide destinée à obtenir la colonne 1 retardée. A une étape 2, on fournit les colonnes 2 et 3 sur les bus B0 et B1. Simultarment, les circuits de retard 20 et 21 fournissent les colonnes 0 et 1. L'additionneur 23 somme les pixels de la colonne 1 fournis par le circuit de retard 21 et de la colonne 2 fournis sur le bus B0. L'additionneur 24 sumne les pixels des colonnes 2 et 3 fournis par les bus B0 et B1. A une étape 3, on fournit sur les bus B0 et B1 les colonnes 4 et 5. L'additionneur 23 somme les pixels de la colonne 3 retardée et de la colonne 4. L'additionneur 24 somme les pixels des colonnes 4 et 5... La figure 5 représente un autre mode de réalisation de filtre horizontal selon 1 'invention, servant à illustrer que ce type de filtre, peut être généralisé pour traiter les matrioes par bandes de plus de deux pixels de large. L'exemple de la figure 5 correspond au traitement de bandes de trois pixels de large. Par rapport au filtre horizontal de la figure 3, le filtre horizontal de la figure 5 comprend un bus d'entrée sup- plémentaire B2 destiné à recevoir des pixels d'une troisième colonne traitée simultanément aux colonnes arrivant sur les bus5 B0 et B1. Le bus B2 est relié à l'entrée d'un troisième circuit de retard d'une colonne 50. Un troisième additionneur 52 est associé aux additionneurs 23 et 24. Le commutateur 26 est sus- ceptible de prendre trois positions sélectionnées par le circuit de commande 28.10 Une première position du commutateur 26, représentée en trait plein, est sélectionnée lorsque la composante Vh du vecteur d'estimation de mouvement est égale à 0 modulo 3. Dans cette position, l'additionneur 23 reçoit les sorties des cir- cuits de retard 20 et 21, l'additionneur 24 reçoit les sorties15 des circuits de retard 21 et 50, et 1 'additionneur 52 reçoit la sortie du circuit de retard 50 et les pixels du bus B0. Une deuxième position, représentée en pointillés, est sélectionnée lorsque la ccmposante Vh est égale à 1 modulo 3. L'additionneur 23 reçoit les sorties des circuits de retard 21 et 50, l'additionneur 24 reçoit la sortie du circuit de retard et les pixels du bus B0, et l'additionneur 52 reçoit les pixels des bus B0 et B1. Une troisième position, représentée en trait d'axe, est sélectionnée lorsque la composante Vh est égale à 2 modulo 3. L'additionneur 23 reçoit la sortie du circuit de retard 50 et les pixels du bus BO, l'additionneur 24 reçoit les pixels des bus B0 et B1, et 1 'additionneur 52 reçoit les pixels des bus B1 et B2. Pour effectuer le filtrage vertical, 1' additionneur 52 est suivi, comme les additionneurs 23 et 24, d'un additionneur (non représenté) associé à un circuit de retard de 1 ou 2 pixels. L'homme du métier pourra, en fonction de ses besoins, réaliser un filtre selon l'invention permettant de traiter une matrice par bandes de n pixels de large. Un filtre selon 1' invention fait correspondre la première colonne d'une matrice à la première colornne d'une bande. La figure 6 représente un filtre 10 selon l'invention associé à un circuit d'adaptation du bus d'une mmnire d'image au bus du filtre 10. La largeur du bus du filtre 10 dépend, comme on l'a précédemment mentionrné, du nombre de colonnes que ce filtre traite en parallèle. Dans l'exemple de la figure 3, le filtre 10 traite deux colonnes en parallèle, ce qui correspond à un bus d'entrée de 16 bits. Par contre, la mnémoire d'image 60 communique par un bus de largeur différente, qui est avantageusement de 64 bits. Cette valeur de 64 bits correspond à une largeur de 8 pixels et donc à la largeur de la matrice de chrominance UV et de chacune15 des sous- matrices de luminance YO à Y3. Ces matrices peuvent donc être stockées dans la mémoire d'image ligne par ligne, o chaque ligne correspond à un mot de 64 bits. Toutefois, comme on l'a précédemment indiqué, les matrices à fournir au filtre 10 sont de 17x17 pixels ou de 18x9 pixels. De plus, ces matrices ne sont pas forcément alignées sur les matrices de chrominance et de luminance stockées dans la mémnoire d'image 60, c'est-à-dire que le premier pixel, de 8 bits, d'une matrice à traiter ne correspond pas forcément aux huit premiers bits d'un mot de 64 bits stocké dans la mémoire d'image 60. Il se pose donc le problme de fournir au filtre 10 un macrobloc prédicteur pouvant être à cheval sur plusieurs macro- blocs stockés dans la mémoire d'image. Ce problème est résolu à l'aide d'un circuit de réorganisation selon 1l'inventicn compre-30 nant une mémoire à double accès 62 disposée entre le bus de la mémnoire 60 et le bus d'entrée du filtre 10. La mémoire à double accès 62 reçoit des adresses d'écriture WA permettant l'écriture dans cette mémoire à partir du bus de la mémoire d' image 60, et reçoit des adresses de il lecture RA permettant de fournir au filtre 10 son contenu. Les adresses WA et RA sont fournies par le circuit de cImnde 28 qui est destiné à conmander la mêmoire 62 selon le procédé décrit ci-après à l'aide d'un exemple. La figure 7A représente partiellement une zone 70 de la mémoire d'image 60 contenant les matrices de luminance Y, et une zone 72 contenant les matrices de dchrominance UV. Les matrices de luminance et de chrominance stockées sont repré- sentées par un quadrillage en trait plein. Les sous-matrices de luminance Y0 à Y3 stockées sont représentées par des poin- tillés. Le bus de 64 bits permet d'accéder à chacune des lignes de 8 pixels délimitée entre deux traits ccnstifs (pleins ou en pointillés). On a représenté en trait gras une matrice de luminance Yp de 17x17 pixels et une matrice de chrominance UVp de 18x9 pixels appartenant à un macrobloc prédicteur qui doit être fourni au filtre 10. Les composantes horizontale et verticale du vecteur d'estimation de mouvement sont par exemple égales à 4 toutes les deux, comme cela est représenté. Ceci veut dire que la première colonne de la matrice Yp correspond à la colonne de rang 4 de la première matrice de luminance stockée dans la zone et que la première ligne de la matrice Yp correspond à la ligne de rang 4 de cette première matrice stockée. Les compo- santes utilisées pour déterminer la position de la matrice de chromninanoe UV sont les parties entières des moitiés des compo- santes du vecteur d'estimation de mouvement. La matrice Yp est à cheval sur trois bandes A, B et C, représentées par des hachures, de 8 pixels de large et de 17 pixels de haut. Ces trois bandes sont telles que chacune de leurs lignes est accessible en totalité par le bus de 64 bits. De même, la matrice de chrominance UV se trouve à cheval sur deux bandes D et E de 8 pixels de large et de 18 pixels de haut. Les bandes A à E sont écrites successivement ligne par ligne dans la mémoire à double accès 62 à des adresses succes- sives. La figure 7B représente l' état de remplissage de la mémoire 62 après cette opération. Dans oette figure, chaque case représente deux colonnes de pixels et chaque rangée de cases correspond à l'une des bandes A à E, c'est-à-dire que les5 rangées ont une largeur de 64 bits (ou 8 pixels). En remplissant ainsi la mémoire 62 par bandes, on la remplit de la totalité du macrobloc à traiter mais aussi de données inutiles qui sont représentées à la figure 7B par des zones blanchies des cases. En effet, dans la rangée A, les quatre premières colonnes10 n'appartiennent pas à la matrice de luminance à traiter et, dans la rangée C, les trois dernières colonnes non plus. De m ime, dans la rangée D, les deux premières colonnes n'appartiennent pas à la matrice de chrominance à traiter et les cinq dernières colonnes de la rangée E non plus. Ainsi, pour fournir les15 matrices de luminanoe et de chrominance au filtre 10, la mémoire à double accès 62 est lue à partir de la troisième case de la rangée A jusqu'à la troisième case de la rangée C, puis à partir de la deuxième case de la rangée D jusqu'à la deuxième case de la rangée E. Les points de départ de ces lectures de la mnmnire 62 sont fournis au circuit de commande 28 par le vecteur d'esti- mation de mouvement V, plus précisénet par la composante hori- zontale de celui-ci. Chacune des cases correspond à deux colonnes de pixels et peut donc être fournie par paires de pixels sur le bus de 16 bits d'entrée du filtre 10. Le filtre traite la paire de colonnes de chaque case selon le procédé décrit en relation avec la figure 4A. Si la composante horizontale du vecteur est impaire, la première colonne de la matrice à traiter se trouve dans la deuxième colonne d'une case, la première colonne de cette case étant vide. La paire de colonnes de chaque case est traitée selon le procédé décrit en relation avec la figure 4B, qui élimine la première colonne, vide, de la première case occupée. La figure 8 représente un exemple de mémoire à double accès 62 ayant un bus d'entrée de 64 bits et un bus de sortie de 16 bits. Elle comprend quatre mémoires FIF0 de 16 bits F0 à F3 dont chacune correspond à une colonne de cases de la figure 7B et reçoit 16 bits correspondants du bus de 64 bits. La sortie de chacune des mémoires FIFO peut être sélectionnée en tant que sortie de la mémoire à double aoccs par un multiplexeur 80. Les mémoires FIFO F0 à F3 sont sélectionnées en écriture simulta- nément par une ligne W. La lecture de ces mémoires FIFO s'effec-10 tue de la manière suivante, à l'aide de lignes respectives R0 à R3. Dans l'exemple de la figure 7B, pour lire la première paire de colnones de luminance, stodcée dans la nmoire F2, les mémoires F0 à F2 sont simultanément sélectionées en lecture et15 le multiplexeur 80 sélectionne la sortie de la mmoire F2. Les paires de colonnes suivantes sont lues en sélectionnant en lecture cycliquement les mémoires F3, F0, F1 et F2, le multi- plexeur 80 sélectionnant cycliquement les sorties de ces mémoires. La dernière colonne de luminance, stockée dans la20 mémoire F2, est lue en sélectionnant simultanment en lecture les mémoires F2 et F3, le multiplexeur 80 sélectionnant la sortie de la mémoire F2. On procède ensuite de manière similaire pour lire les colonnes de chrominanoe, dont la première et la dernière sont stockées dans la m moire F1. Pour lire les première et dernière paires de colonnes, on sélectionne les mémoires FIFO contenant des données non- utilisées afin de libérer l'espace que ces données occupent. De façon générale, pour lire dans n mnmoires FIF) les premières colonnes d'une matrice, on sélectionne simultanément les p premières mémoires FIFO, mais on tient seulement oompte de la sortie de la p-ième qui est celle qui contient la première colonne de la matrice. Pour lire les dernières colonnes de la matrice, on sélectionne simultanément les d dernières mémoires FIFO, mais on tient seulement compte de la sortie de la (n-d+l)ième qui est celle qui contient la dernière colonne. La première colonne de la matrice est, dans la mémoire 62, celle de rang égal à la oomposante horizontale Vh modulo le naombre de colonnes (huit) que l'on transmet en parallèle sur le bus d'entrée de la mémoire 62. La présente invention a été décrite en relation avec des colonnes de matrices. Bien entendu, les colornnes peuvent aussi bien être des colonnes verticales que des colonnes hori- zontales. REVENDICATIONS 1. Filtre de matrices de pixels comprenant: - n bus d'entrée (B0, B1,... ) pour recevoir des pixels de n colonnes successives de la matrice; - n circuits de retard (20, 21) recevant respective- ment les pixels des n bus d'entrée, ces circuits de retard introduisant chacun un retard d'une colonne, d'o il résulte que 2n pixels sont simultanément transmis sur succoessivement les sorties des n circuits de retard et les n bus d'entrée; et - n additionneurs (23, 24) connectés au moins de manière que le i-ème additionneur (i=1,2,...n) reçoive le i- ème des 2n pixels sur une première entrée et le (i+l)ème des 2n pixels sur une deuxième entrée. 2. Filtre selon la revendication 1, caractérisé en ce que les n additionneurs (23, 24) sont connectés à un commutateur (26) prévu pour que le i-ène additionneur reçoive: - sur sa première entrée 1 'un parmi les i-me à (i+n-l)ème des 2n pixels, - sur sa deuxième entrée l'un parmi les (i+l)ème à (i+n)ème des 2n pixels, selon qu'un vecteur déterminant la position de la matrice dans une image a une composante horizontale (Vh) respec- tive égale à 0 à n-1 modulo n. 3. Filtre selon la revendication 1, caractérisé en ce que la sortie de chacun des n additionneurs (23, 24) est reliée à un additionneur supplémentaire respectif (32, 33) directement et par l'intermédiaire d'un circuit de retard (35, 36) d'au moins un pixel. 4. Filtre selon la revendication 3, caractérisé en ce que le retard d'au moins un pixel est d'un pixel si la matrice traitée est une matrice de pixels de luminance (Y) et de deux pixels si la matrice traitée est une matrie de pixels de chro- minance (UV). 5. Procédé de traitement d'une matrice de pixels cherchée à l'aide d'un vecteur de position (V) dans une mnoire d'image (60) accessible par un bus de p pixels de large, carac- térisé en ce qu'il comprend les étapes suivantes:5 - écrire par le bus dans une umoire à double accès (62) successivement toutes les bandes d'image (A-E) de p pixels de large contenant partiellement la matrioe; - lire dans la mémoire à double accès par un bus (BO, B1) de n pixels de large toutes les bandes d' image de n pixels de large contenant partiellement la matrioe; et - fournir ces bandes ligne par ligne à un filtre (10) selon la revendication 1.