FR2787669A1 - Procede d'adressage pour la memorisation de blocs d'image - Google Patents

Procede d'adressage pour la memorisation de blocs d'image Download PDF

Info

Publication number
FR2787669A1
FR2787669A1 FR9816221A FR9816221A FR2787669A1 FR 2787669 A1 FR2787669 A1 FR 2787669A1 FR 9816221 A FR9816221 A FR 9816221A FR 9816221 A FR9816221 A FR 9816221A FR 2787669 A1 FR2787669 A1 FR 2787669A1
Authority
FR
France
Prior art keywords
blocks
image
block
memory
stored
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
Application number
FR9816221A
Other languages
English (en)
Other versions
FR2787669B1 (fr
Inventor
Alain Sorin
Frederic Plissonneau
Jean Marc Allard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technicolor SA
Original Assignee
Thomson Multimedia SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Multimedia SA filed Critical Thomson Multimedia SA
Priority to FR9816221A priority Critical patent/FR2787669B1/fr
Priority to DE69931017T priority patent/DE69931017T2/de
Priority to EP99403116A priority patent/EP1014716B1/fr
Priority to ES99403116T priority patent/ES2262297T3/es
Priority to CNB991263723A priority patent/CN1154048C/zh
Priority to JP36330699A priority patent/JP4435918B2/ja
Priority to US09/469,117 priority patent/US6631164B1/en
Publication of FR2787669A1 publication Critical patent/FR2787669A1/fr
Application granted granted Critical
Publication of FR2787669B1 publication Critical patent/FR2787669B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Image Input (AREA)
  • Memory System (AREA)

Abstract

Le procédé de mémorisation, dans des pages d'une mémoire, de blocs d'image (h, v) (1, 2) constitués de v lignes de h pixels, pour la lecture de blocs d'image (H, V) (9, 10, 11) constitués de V lignes de H pixels, est caractérisé en ce que le décalage horizontal DI , I+a , en nombre de blocs (h, v), de la frontière d'une page correspondant à une rangée quelconque I de l'image par rapport à la frontière d'une page correspondant à une rangée I + a est égal à : DI, I+a = a D, a entier positif inférieur à RM = INT [(V - 2)/v] + 2, (INT correspondant à la partie entière de la division)la valeur D, qui correspond au décalage entre deux rangées successives étant choisie telle que : D>=(BM -1), avec BM = INT [(H - 2)/h]+ 2, Les applications concernent par exemple l'estimation de mouvement et la compression de mouvement.

Description

L'invention concerne un procédé d'adressage pour la
mémorisation de données dans des mémoires de type SDRAM.
Les traitements numériques vidéo nécessitent de pouvoir stocker en mémoire des images vidéo. Deux types de mémoires sont couramment utilisés: - des mémoires statiques à accès aléatoire ou Static Random Access Memory en anglais (SRAM). Les zones de ces mémoires sont
directement accessibles à partir du bus d'adresse.
- des mémoires dynamiques à accès aléatoire, Dynamic Random Access Memory (DRAM) en anglais, ou, si elles sont synchrones,
Synchronous Dynamic Random Access Memory (SDRAM).
La mémoire dynamique est répartie en pages et un accès à une nouvelle page correspondant à un changement de page nécessite un temps accès appelé "time penalty" en anglais. L'adresse mémoire est composée d'une première partie appelée adresse page ou "row address" et d'une deuxième partie appelée adresse case ou "column address". Les termes anglais ici mentionnés sont les termes couramment utilisés dans les fiches
techniques de composants de type DRAM ou SDRAM.
Des applications de traitement vidéo, de plus en plus courantes, nécessitent d'accéder à des blocs d'images, c'est à dire à un ensemble de
pixels d'une image.
C'est le cas par exemple de la compression de données vidéo numérique selon la norme MPEG, acronyme de l'appellation anglaise Motion Picture Expert Group, o la taille élémentaire de codage est un bloc d'image constituant un macrobloc. Lors de l'estimation de mouvement, un macrobloc d'image courant est comparé à des macroblocs d'image reconstruite et mémorisés dans une mémoire de type SDRAM pour déterminer le macrobloc reconstruit permettant la meilleure corrélation avec le macrobloc
d'image courant.
Dans la norme MPEG, les macroblocs sont des ensembles constitués de quatre blocs de 8 x 8 éléments de données de luminance et,
2 2787669
par exemple pour le format 4: 2: 0, de deux blocs de 8 x 8 éléments de données de chrominance, issus d'une section de 16 x 16 éléments de la
composante de luminance de l'image.
En fait, les calculs d'estimation de mouvement sont effectués sur les seules valeurs de luminance. Les blocs considérés sont alors les seuls blocs de luminance de taille globale 16 x 16. Ces blocs sont mémorisés sous la forme de blocs de 16 pixels x 8 lignes, les blocs luminance de taille globale 16 x 16 étant préalablement séparés en deux blocs de 16 pixels x 8 lignes. Ces blocs correspondent à un premier bloc de la trame supérieure (upper block en anglais) et un deuxième bloc de la trame inférieure (lower block en anglais) en mode image regroupant deux trames (frame picture) ou bien à un premier bloc regroupant les 8 premières lignes (upper block) et un deuxième bloc regroupant les 8 lignes suivantes (lower block) d'une même trame en mode trame (field picture). Ces blocs luminance de 16 pixels x 8 lignes sont appelés, par la suite, demi macroblocs de luminance ou demi macroblocs pour indiquer qu'ils regroupent 2 blocs de luminance de 8 pixels x 8 lignes, le terme macrobloc de luminance étant utilisé pour désigner, dans
la norme MPEG, les 4 blocs de luminance.
Il est généralement nécessaire de récupérer, de la mémoire, des blocs d'image de taille supérieure à ces blocs de 16 pixels x 8 lignes. La
taille des blocs récupérés est en fait définie par l'application.
Par exemple, le calcul des vecteurs mouvement se fait avec une résolution d'un demi pixel nécessitant de traiter des blocs d'image ayant une ligne et une colonne supplémentaire, c'est à dire de dimension 17 pixels x 9
lignes.
Un autre exemple concerne les fenêtres de recherche dans l'image reconstruite, dans lesquelles s'effectue la corrélation des blocs, et qui ont des dimensions plus ou moins importantes selon les procédés utilisés pour l'estimation de mouvement. Pour un procédé désignant, dans une première étape, un emplacement d'une fenêtre de recherche à partir d'un vecteur mouvement, il est généralement nécessaire, dans une deuxième étape, d'affiner la recherche pour effectuer un ajustement local, cet affinage se faisant sur une fenêtre de petite dimension. Dans un exemple, ces fenêtres de recherche ont une dimension de 24 x 12, correspondant à une
3 2787669
excursion horizontale de + 4 et une excursion verticale de + 2 pour des blocs
de 16 x 8 pixels.
Le temps d'accès à l'ensemble d'un bloc de taille supérieure n'est généralement pas optimisé, nécessitant l'accès à plusieurs pages de la mémoire SDRAM pour lire ou écrire les valeurs de pixels constituant ce bloc. La figure 1 représente des macroblocs de luminance de taille 16 x 16, un premier macrobloc 16 x 16 de luminance 1 et un dernier macrobloc 16 x 16 de luminance 2 d'une même rangée horizontale, c'est à dire d'une succession horizontale de macroblocs sur une largeur d'image. Dans le cas général, une rangée de macroblocs correspond à une tranche (ou slice en anglais), telle que définie dans la norme MPEG. Par la suite, le terme rangée sera plus particulièrement utilisé pour définir une succession de blocs ou de demi macroblocs sur une largeur d'image, le terme tranche étant réservé aux
macroblocs.
Sur l'axe des abscisses sont indiqués les numéros de pixels et sur l'axe des ordonnées sont indiqués les numéros de lignes. 16 lignes vidéo sur une largeur d'image de 720 pixels correspondent à 45 macroblocs de 16
pixels (720:16).
Les demi macroblocs sont mémorisés à la suite les uns des
autres selon un balayage de type télévision, comme indiqué ci-après.
La figure 2 représente des pages mémoires 4, 5, 6, 8 telles qu'elles sont successivement adressées lors de la mémorisation des demi macroblocs. Comme indiqué précédemment, les macroblocs 16 x 16 sont mémorisés après séparation en deux parties, les blocs supérieurs ou "upper
blocks" et les blocs inférieurs ou "lower blocks".
Si les blocs supérieurs correspondent à une trame et les blocs inférieurs à la trame suivante, c'est à dire en mode image, les blocs supérieurs sont mémorisés à la suite dans un espace mémoire et les blocs inférieurs à la suite dans un autre espace mémoire, chaque espace mémoire
correspondant ainsi à une trame.
Si les blocs supérieurs et inférieurs correspondent à une même trame, c'est à dire en mode trame, ils sont mémorisés à la suite, c'est à dire d'abord les blocs supérieurs d'une rangée (de demi macroblocs) puis les
4 -2787669
blocs inférieurs correspondant à la rangée suivante. La trame suivante est
mémorisée dans un autre espace mémoire.
Le procédé de mémorisation est décrit pour le mode trame et peut être généralisé sans difficulté au mode image. Il est appliqué à chacun des espaces mémoire, pris séparément, en considérant, pour chacun d'eux, les
seuls demi-macroblocs qui y sont mémorisés.
Une page 4 peut mémoriser, dans notre exemple, 8 demi macroblocs MB référencés 3. La mémorisation des 8 demi macroblocs MB suivants est effectuée dans la page suivante 5 et ainsi de suite. Il y a donc, tous les 8 demi macroblocs, un changement ou saut de page 7 appelé "page miss" dans la littérature technique. Le demi macrobloc n 45 qui correspond à la fin de la première rangée est mémorisé en milieu d'une page référencée 6, plus exactement comme 5ième demi macrobloc parmi les 8 demi
macroblocs de la page.
Le demi macrobloc suivant, qui correspond au demi macrobloc en début de la deuxième rangée de la trame est mémorisé en début d'une nouvelle page 8 dans la mémoire, la mémorisation en début de page d'un demi macrobloc de début de rangée étant la solution la plus simple pour
gérer les adresses.
La figure 3 montre les inconvénients d'un tel art antérieur.
L'espace mémoire est représenté de manière schématique en fonction de la taille des demi macroblocs 13 mémorisés. Les traits 12 représentés en gras correspondent aux frontières de pages, pages de dimension 8 blocs de 16 x 8 pixels. Trois pages complètes superposées sont représentées correspondant à des groupes de demi macroblocs superposés de trois rangées successives dans la trame. Devant accéder à des blocs d'image de dimension supérieure à celle des demi macroblocs mémorisés, il est nécessaire d'accéder à plusieurs pages pour lire un bloc d'image. Ainsi, I'accès au bloc de 17 lignes x 9 pixels référencé 9 nécessite 4 changements de page, I'accès au bloc 10 de même dimension, 2 changements de page et l'accès au bloc 11 de dimension 24 lignes x 12 pixels, 6 changements de page. Il est tenu compte, dans ce calcul, du premier changement de page
qu'il est nécessaire d'effectuer, simplement pour accéder au bloc.
2787669
Dans cette configuration, le nombre maximum de changements de page pour un bloc de dimension 17 x 9 est 4, le nombre maximum de
changements de page pour un bloc de dimension 24 x 12 est 6.
Le dispositif d'écriture/lecture de la mémoire doit être configuré de manière à tenir compte du nombre maximum de changements de page possible. Ainsi, plus ce nombre est important, plus les temps d'accès, même
pour un accès à une seule page, sont importants.
Ces changements de page ou plus exactement ce nombre maximum de changements de page possible nécessite une configuration du système qui pénalise le temps accès aux données mémorisées et qui diminue donc la bande passante du bus mémoire, bande passante qui correspond au nombre de pixels accessible dans une durée donnée. Un changement de page nécessite un certain nombre de cycles d'horloge,
réduisant par là-même le temps accès.
L'invention a pour but de pallier les inconvénients précités.
A cet effet, I'invention a pour objet un procédé de mémorisation de données vidéo numériques d'une image, I'image étant découpée en blocs d'image (h, v) constitués de v lignes de h pixels, I'ensemble des blocs sur une largeur d'image constituant une rangée, les données étant mémorisées par blocs d'images successifs selon un ordre correspondant à un balayage de type télévision, dans des pages successives d'une mémoire vive dynamique à accès aléatoire, pour la lecture de blocs d'image (H, V) constitués de V lignes de H pixels, caractérisé en ce que le décalage horizontal DI, I+a, en nombre de blocs (h, v), de la frontière d'une page correspondant à une rangée quelconque I de l'image par rapport à la frontière d'une page correspondant à une rangée I + a est égal à: Dj, i+a = a D, V a entier positif inférieur à RM = INT [(V - 2) / v] + 2, (INT correspondant à la partie entière de la division) la valeur D, qui correspond au décalage entre deux rangées successives, étant choisie telle que: D> (BM-1), avec BM = INT [(H - 2) / h] + 2, Selon un mode particulier de mise en oeuvre, le procédé est caractérisé en ce que le décalage est obtenu en laissant vides, dans la page
6 2787669
mémorisant les derniers blocs d'une rangée, des espaces mémoire
correspondant à un ou plusieurs blocs (h, v).
L'invention concerne également un procédé d'estimation de mouvement mémorisant des blocs (h, v) de dimensions h, v pour obtenir une image reconstruite dans une mémoire et réalisant une comparaison d'un bloc d'une image courante à des blocs (H, V) de dimension H, V de l'image reconstruite mémorisée, caractérisé en ce que les blocs (h, v) sont mémorisés dans les pages d'une mémoire de type SDRAM selon un des
procédés précédemment décrits.
L'invention concerne également un procédé de corrélation effectuant une mémorisation de blocs d'image (h, v) de dimensions h, v pour obtenir une image reconstruite dans une mémoire, une lecture d'une fenêtre de recherche (H, V) de l'image reconstruite de dimension H, V pour réaliser une corrélation d'un bloc d'une image courante avec un bloc d'image se trouvant dans la fenêtre de recherche, caractérisé en ce que les blocs (h, v) sont mémorisés dans les pages d'une mémoire de type SDRAM selon un
des procédés précédemment décrits.
L'invention concerne aussi un procédé de prédiction d'un bloc d'image dans une image reconstruite effectuant une mémorisation de blocs d'image (h, v) de dimension h, v pour obtenir une image reconstruite, une prédiction à partir d'un vecteur mouvement pour définir un bloc de dimension (H, V) dans l'image reconstruite, une lecture de ce bloc (H, V), caractérisé en ce que les blocs (h, v) sont mémorisés dans les pages d'une mémoire de
type SDRAM selon un des procédés précédemment décrits.
Grâce à l'invention, le nombre de changements de pages maximum est limité et en conséquence la bande passante est améliorée. Le temps accès à un bloc de pixels est optimisé. Le fait de minimiser le temps d'utilisation du bus mémoire, du fait de la diminution du temps de transfert global est particulièrement avantageux, la bande passante étant une limitation importante dans la performance des dispositifs à accès mémoire
mis en oeuvre aujourd'hui.
7 2787669
Les caractéristiques et avantages de la présente invention
ressortiront mieux de la description suivante, donnée à titre d'exemple et en
référence aux figures annexées o: - la figure 1 représente un premier et dernier macrobloc d'une tranche de macroblocs d'une image, - la figure 2 représente la mémorisation de demi macroblocs dans une mémoire, selon l'art antérieur, - la figure 3 représente des blocs à lire dans une mémoire, configurée selon l'art antérieur, - la figure 4 représente une configuration de l'espace mémoire selon l'invention, - la figure 5 représente des blocs à lire dans une mémoire configurée selon l'invention, - la figure 6 représente la mémorisation de demi macroblocs dans
une mémoire selon l'invention.
La figure 4 représente une configuration de l'espace mémoire
selon l'invention.
La dimension des pages est, en reprenant l'exemple donné précédemment, de 8 demi macroblocs de 16 x 8 pixels. D'une rangée de demi macroblocs à celle de dessous, les frontières verticales 14 des pages, représentées en traits gras et correspondant aux sauts de pages, sont décalées d'un espace égal à 2 demi macroblocs (ou à deux macroblocs puisque la largeur est la même). Ainsi, les demi macroblocs d'une trame se trouvant en dessous du premier et deuxième demi macrobloc d'une page
appartiennent à une autre page.
La figure 5 est à rapprocher de la figure 3 et représente les mêmes blocs d'image 9, 10, 11 dans la mémoire. Grâce au décalage des frontières des pages, I'accès au bloc de 17 lignes x 9 pixels référencé 9 nécessite 3 changements de page au lieu de 4, I'accès au bloc 10 de même dimension, 2 changements de page et l'accès au bloc 11 de dimension 24
lignes x 12 pixels, 4 changements de page au lieu de 6.
Dans cette configuration, le nombre maximum de changements de page pour un bloc de dimension 17 x 9 est 3, le nombre maximum de
8 2787669
changements de page pour un bloc de dimension 24 x 12 est 4. Ainsi, grâce à cette configuration, le nombre de changements de pages peut être réduit de deux, soit un gain de 12 cycles d'horloges mémoire dans notre application. Le décalage réalisé est en fait fonction des dimensions des blocs
d'image à lire, relativement à celles des blocs mémorisés.
Les blocs mémorisés sont de dimension h, v, c'est à dire
constitués de v lignes de h pixels et sont appelés blocs (h, v).
Les blocs à lire sont des blocs de dimension H, V, c'est à dire
constitués de V lignes de H pixels et sont appelés blocs (H, V).
Le nombre maximum de rangées de blocs, dans la mémoire, sur lesquelles peut être réparti un bloc (H, V) de dimension verticale V est: RM = INT [(V- 2)/v] + 2
INT (de INTeger) représente la partie entière de la division.
Le nombre maximum de blocs, en horizontal, sur lesquels peut être réparti un bloc (H, V) de dimension horizontale H est: BM = INT [(H - 2) / h] + 2 Les contraintes à observer sur le décalage D horizontal (en nombre de blocs mémorisés) des pages constituant la mémoire sont, entre deux rangées de blocs successives:
D > (BM - 1)
Par exemple, pour le bloc (H, V) référencé 9 ou 10, réparti, en vertical, au maximum sur deux rangées successives (RM = 2) et dont la dimension H est comprise entre 1 et h+1, c'est à dire un bloc réparti en horizontal sur 2 blocs (h, v) au maximum (BM = 2), le décalage D est pris
égal à 1.
Lorsque un bloc (H, V) peut être réparti sur plusieurs rangées, la contrainte est généralisée au nombre maximum de rangées RM calculées pour ce bloc: Soit D la valeur du décalage choisi entre deux rangées successives, cette valeur satisfaisant l'inégalité:
D > (BM - 1)
9 2787669
Soit a une variable entière pouvant évoluer entre 1 et RM-1, la contrainte peut alors s'écrire:
D,+a = a D, V a, RM> a > 1.
avec Dl I+a le décalage entre une rangée quelconque I et une rangée I + a. Par exemple, pour le bloc (H, V) référencé 11, réparti, en vertical, sur trois rangées successives au maximum (RM = 3) et dont la dimension H est comprise entre h+2 et 2h+1, c'est à dire un bloc réparti en horizontal sur 3 blocs (h, v) au maximum (BM =3), le décalage DI, 1.1 est égal à 2 et le
décalage D, 1+2 est égal à 4.
Pour réaliser un tel décalage, des zones non utilisées sont créées dans l'espace mémoire. La figure 6, qui est à rapprocher de la figure 2 représente, sur une ligne continue, une succession de pages mémoire 4, 5, 6, 8 telles qu'elles sont adressées lors de la mémorisation des demi macroblocs. Lorsqu'on arrive au dernier demi macrobloc de la première rangée, qui se trouve être le cinquième demi macrobloc mémorisé dans la page référencée 6, une zone mémoire 15 de dimension correspondant à un demi macrobloc est laissée vide afin d'enregistrer le premier et deuxième demi macroblocs de la rangée suivante au septième et huitième emplacement de demi macrobloc dans la page. Ainsi la page suivante 8 enregistre le troisième demi macrobloc de cette rangée suivante. Le demi macrobloc se trouvant, dans la trame, au dessus de ce premier demi macrobloc dans la page 8, a, quant à lui, été mémorisé comme troisième
demi macrobloc dans la page correspondante 3 de la rangée supérieure.
Un décalage de trois demi macroblocs correspondrait à aucun espace mémoire laissé libre, un décalage d'un seul demi macrobloc
correspondrait à deux espaces mémoire de dimension le demi macrobloc.
D'une manière générale, le nombre de demi macroblocs mémorisés dans la première page de la rangée suivante, la rangée précédente commençant par une nouvelle page, correspond à ce décalage,
un nombre de 8 demi macroblocs correspondant à aucun décalage.
La description a été faite à partir des demi macroblocs
mémorisés. Il s'agit bien sûr d'un exemple de réalisation. et les demi
2787669
macroblocs peuvent être remplacés par tout type de blocs d'image, de toute
dimension, sans que le procédé sorte du domaine de l'invention.
La mémorisation a été décrite au niveau des trames d'une image.
Elle peut être effectuée au niveau de l'image complète, par exemple issue d'un balayage progressif. Le découpage en blocs d'image se fait alors à partir de l'image complète et les blocs d'image sont mémorisés dans un seul
espace mémoire.
Les applications de la présente invention concernent par exemple l'accès à un bloc prédit, à partir d'un vecteur mouvement, dans une image reconstruite, I'accès aux fenêtres de recherche pour la corrélation avec un
bloc courant lors du calcul de l'estimation de mouvement.
Les blocs mémorisés peuvent être des blocs luminance faisant partie des macroblocs définis dans la norme MPEG. Il peut également s'agir des seuls blocs de chrominance ou de l'ensemble des blocs luminance et chrominance. L'invention peut également s'appliquer à la mémorisation des blocs reconstruits dans un décodeur MPEG. Les blocs prédits à lire dans la mémoire et définis par les vecteurs mouvement, sont généralement de dimension supérieure aux blocs mémorisés, par exemple lorsque le vecteur mouvement à une précision au demi-pixel près. Ces blocs lus sont ensuite
redimensionnés par interpolation pour le calcul du bloc d'image courant.
11 2787669

Claims (7)

REVENDICATIONS
1 Procédé de mémorisation de données vidéo numériques d'une image, I'image étant découpée en blocs d'image (h, v) (1, 2) constitués de v lignes de h pixels, I'ensemble des blocs sur une largeur d'image constituant une rangée, les données étant mémorisées par blocs d'images successifs (3, 13) selon un ordre correspondant à un balayage de type télévision, dans des pages successives (4, 5, 6, 8) d'une mémoire vive dynamique à accès aléatoire, pour la lecture de blocs d'image (H, V) (9, 10, 11) constitués de V lignes de H pixels, caractérisé en ce que le décalage horizontal DI, +a, en nombre de blocs (h, v), de la frontière d'une page correspondant à une rangée quelconque I de l'image par rapport a la frontière d'une page correspondant à une rangée I + a est égal à: D, I+.a = a D, V a entier positif inférieur à RM = INT [(V - 2) / v] + 2, (INT correspondant à la partie entière de la division) la valeur D, qui correspond au décalage entre deux rangées successives étant choisie telle que: D> (BM-1), avec BM = INT [(H - 2) / h] + 2, 2 Procédé selon la revendication 1, caractérisé en ce que le décalage est obtenu en laissant vides, dans la page mémorisant les derniers blocs d'une rangée (6), des espaces mémoire (15) correspondant à un ou
plusieurs blocs (h, v).
3 Procédé selon la revendication 1 ou 2, caractérisé en ce que les
blocs (h, v) sont partie des macroblocs définis dans la norme MPEG.
4 Procédé selon l'une des revendications précédentes,
caractérisé en ce l'image est une trame paire ou impaire.
Procédé d'estimation de mouvement mémorisant des blocs (h, v) de dimensions h, v pour obtenir une image reconstruite dans une mémoire et réalisant une comparaison d'un bloc d'une image courante à des blocs (H, V) de dimension H, V de l'image reconstruite mémorisée, caractérisé en ce
12 2787669
que les blocs (h, v) sont mémorisés dans les pages d'une mémoire de type
SDRAM selon le procédé de la revendication 1 ou 2.
6 Procédé de corrélation effectuant une mémorisation de blocs d'image (h, v) de dimensions h, v pour obtenir une image reconstruite dans une mémoire, une lecture d'une fenêtre de recherche (H, V) de l'image reconstruite de dimension H, V pour réaliser une corrélation d'un bloc d'une image courante avec un bloc d'image se trouvant dans la fenêtre de recherche, caractérisé en ce que les blocs (h, v) sont mémorisés dans les pages d'une mémoire de type SDRAM selon le procédé de la revendication
1 ou2.
7 Procédé de prédiction d'un bloc d'image dans une image reconstruite effectuant une mémorisation de blocs d'image (h, v) de dimension h, v pour obtenir une image reconstruite, une prédiction à partir d'un vecteur mouvement pour définir un bloc de dimension (H, V) dans l'image reconstruite, une lecture de ce bloc (H, V), caractérisé en ce que les blocs (h, v) sont mémorisés dans les pages d'une mémoire de type SDRAM
selon le procédé de la revendication 1 ou 2.
FR9816221A 1998-12-22 1998-12-22 Procede d'adressage pour la memorisation de blocs d'image Expired - Fee Related FR2787669B1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FR9816221A FR2787669B1 (fr) 1998-12-22 1998-12-22 Procede d'adressage pour la memorisation de blocs d'image
EP99403116A EP1014716B1 (fr) 1998-12-22 1999-12-10 Procédé d'adressage pour la mémorisation de blocs d'image
ES99403116T ES2262297T3 (es) 1998-12-22 1999-12-10 Proceso de direccionamiento para almacenamiento en memoria de bloques de imagen.
DE69931017T DE69931017T2 (de) 1998-12-22 1999-12-10 Addressierungsverfahren zur Speicherung eines Blockenbildes
CNB991263723A CN1154048C (zh) 1998-12-22 1999-12-17 寻址处理方法
JP36330699A JP4435918B2 (ja) 1998-12-22 1999-12-21 画像ブロックを蓄積するためのアドレッシング処理方法
US09/469,117 US6631164B1 (en) 1998-12-22 1999-12-21 Addressing process for the storage of image blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9816221A FR2787669B1 (fr) 1998-12-22 1998-12-22 Procede d'adressage pour la memorisation de blocs d'image

Publications (2)

Publication Number Publication Date
FR2787669A1 true FR2787669A1 (fr) 2000-06-23
FR2787669B1 FR2787669B1 (fr) 2001-03-02

Family

ID=9534309

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9816221A Expired - Fee Related FR2787669B1 (fr) 1998-12-22 1998-12-22 Procede d'adressage pour la memorisation de blocs d'image

Country Status (7)

Country Link
US (1) US6631164B1 (fr)
EP (1) EP1014716B1 (fr)
JP (1) JP4435918B2 (fr)
CN (1) CN1154048C (fr)
DE (1) DE69931017T2 (fr)
ES (1) ES2262297T3 (fr)
FR (1) FR2787669B1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471298B1 (en) * 2000-06-26 2008-12-30 S3 Graphics Co., Ltd. Fetching pixel data with reduced memory bandwidth requirement
CN100403276C (zh) * 2002-08-26 2008-07-16 联发科技股份有限公司 存储器存取方法
US20080158601A1 (en) * 2006-12-29 2008-07-03 Steven Tu Image memory tiling
US9286696B2 (en) * 2013-04-08 2016-03-15 Broadcom Corporation Compression within a set of images
CN117499664B (zh) * 2023-12-29 2024-03-19 南京博润类脑智能技术有限公司 一种基于比特替换的图像数据嵌入和提取方法、装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4441295A1 (de) * 1994-11-21 1996-05-23 Sican Gmbh Verfahren und Schaltungsanordnung zur Adressierung von Komponenten blockweise organisierter digitaler Bilddaten in einem Speicher mit Page-Adressierung
US5675387A (en) * 1994-08-15 1997-10-07 General Instrument Corporation Of Delaware Method and apparatus for efficient addressing of DRAM in a video decompression processor
EP0849953A2 (fr) * 1996-12-20 1998-06-24 Lsi Logic Corporation Système et méthode pour compenser le déplacement avec un format tuile oblique de mémorisation pour efficacité améliorée
US5815209A (en) * 1993-11-09 1998-09-29 Matsushita Electric Industrial Co., Ltd. Encoding method, an encoding apparatus, a decoding method and a decoding apparatus for a moving picture

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774206A (en) * 1995-05-10 1998-06-30 Cagent Technologies, Inc. Process for controlling an MPEG decoder
US5872577A (en) * 1996-02-28 1999-02-16 U.S. Philips Corporation Device for decoding signals of the MPEG-type
US5912676A (en) * 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
JPH10191236A (ja) * 1996-12-25 1998-07-21 Nec Corp 画像処理装置及び画像データメモリ配置方法
US5883679A (en) * 1997-02-20 1999-03-16 C-Cube Microsystems, Inc. Scanning scheme for images stored in dynamic random access memory
US6088047A (en) * 1997-12-30 2000-07-11 Sony Corporation Motion compensated digital video decoding with buffered picture storage memory map
US6104416A (en) * 1997-11-18 2000-08-15 Stmicroelectronics, Inc. Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815209A (en) * 1993-11-09 1998-09-29 Matsushita Electric Industrial Co., Ltd. Encoding method, an encoding apparatus, a decoding method and a decoding apparatus for a moving picture
US5675387A (en) * 1994-08-15 1997-10-07 General Instrument Corporation Of Delaware Method and apparatus for efficient addressing of DRAM in a video decompression processor
DE4441295A1 (de) * 1994-11-21 1996-05-23 Sican Gmbh Verfahren und Schaltungsanordnung zur Adressierung von Komponenten blockweise organisierter digitaler Bilddaten in einem Speicher mit Page-Adressierung
EP0849953A2 (fr) * 1996-12-20 1998-06-24 Lsi Logic Corporation Système et méthode pour compenser le déplacement avec un format tuile oblique de mémorisation pour efficacité améliorée

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WINZKER M ET AL: "ARCHITECTURE AND MEMORY REQUIREMENTS FOR STAND-ALONE AND HIERARCHICAL MPEG2 HDTV-DECODERS WITH SYNCHRONOUS DRAMS", 1995 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), SEATTLE, APR. 30 - MAY 3, 1995, vol. 1, 30 April 1995 (1995-04-30), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 609 - 612, XP000583293, ISBN: 0-7803-2571-0 *

Also Published As

Publication number Publication date
EP1014716A1 (fr) 2000-06-28
EP1014716B1 (fr) 2006-04-26
US6631164B1 (en) 2003-10-07
DE69931017T2 (de) 2006-09-14
CN1258044A (zh) 2000-06-28
DE69931017D1 (de) 2006-06-01
ES2262297T3 (es) 2006-11-16
FR2787669B1 (fr) 2001-03-02
CN1154048C (zh) 2004-06-16
JP2000236506A (ja) 2000-08-29
JP4435918B2 (ja) 2010-03-24

Similar Documents

Publication Publication Date Title
US6295089B1 (en) Unsampled hd MPEG video and half-pel motion compensation
EP1313325B1 (fr) Filtres d'interpolation de pixels pour un processeur de décompression
EP0675652B1 (fr) Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit
FR2552606A1 (fr) Signal de television de haute definition pour systeme de conversion des standards film-television
EP2095643A2 (fr) Procede de decodage d'un bloc d'une image video
FR2462076A1 (fr) Compensateur de la chute hors limites d'un signal video et procede de formation d'un signal de remplacement dans le cas d'une telle chute hors limites
JPH11112885A (ja) カメラ
FR2611103A1 (fr) Detection d'inversion d'entrelacement pour un generateur de signaux video a image dans l'image
US6538688B1 (en) Method and apparatus for performing an automated inverse telecine process
US6850569B2 (en) Effective motion estimation for hierarchical search
FR2613570A1 (fr) Correcteur d'inversion d'entrelacement pour un generateur de signaux video a image dans l'image
JP2009164725A (ja) 画像記録装置および画像再生装置
EP0732857A1 (fr) Décodeur MPEG à capacité mémoire réduite
EP0717372A1 (fr) Procédé de sélection de vecteurs de mouvement et dispositif de traitement d'images mettant en oeuvre ledit procédé
FR2787669A1 (fr) Procede d'adressage pour la memorisation de blocs d'image
EP1718065A1 (fr) Methode et appareil pour le traitement de données d'images
FR2703802A1 (fr) Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image.
FR2728092A1 (fr) Procede pour le decodage d'images comprimees
US8325813B2 (en) Moving image coding apparatus
FR2662283A1 (fr) Procede de correction d'images issues de capteur provoquant un bruit periodique, et dispositif de mise en óoeuvre.
EP0674444B1 (fr) Filtre de matrices de pixels
EP1714498B1 (fr) Procede de recherche de la directon de prediction en codage video intra-image
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
EP0321357B1 (fr) Procédé de sous-échantillonnage dans l'axe du mouvement d'une séquence d'images électroniques
EP0431699B1 (fr) Procédé et dispositif de décodage d'images animées

Legal Events

Date Code Title Description
ST Notification of lapse