Brevet FR2840712A1 — publié le 20031212

SR 23398 KR/ID PROCEDE D' ALLOCATION DE MEMOIRE DANS UN PROCESSEUR DE TRAITEMENT D' IMAGES La presente invention se rapporte au domaine des processeurs dedies au traitement d' images et plus particulierement a la gestion des memoires internee au processeur necessaires pour ledit traitement d' images. En effet, la mise en muvre d'un processeur de traitement d' image necessite la gestion de l'acces aux donnees a traiter. Dans le cas de codage ou de decodage d' image, certains algorithmes (JBIG, JPEG par exemple) necessitent l'utilisation de plusieurs lignes de l' image pour coder ou decoder un pixel: ces lignes vent appelees le contexte. Les processeurs utilisant un de ces algorithmes de codage et de decodage (appeles aussi >) contiennent done une memoire interne pour stocker le contexte. Au fur et a mesure du traitement de l' image, le contexte evolue car il est different pour chaque pixel. Le processeur doit mettre en muvre egalement des memoires destinees a stocker les donnees en attente d'etre utilisees ou en attente d'etre supprimees de la memoire parce qutelles ne vent plus utilisees. Ces memoires contiennent des donnees organisees en files d'attente d' entree et de sortie. Ces files dattente vent accedees selon le systeme >, appele communement FIFO ( Out >>, traduction en anglais des termes francais). La taille de ces files d'attente conditionne la tenue du debit dans le traitement de l' image. Si elle est trop faible, le processeur sera oblige de s'arreter de temps en temps pour attendre les nouvelles donnees. Ainsi, plus la taille est grande, plus ce type d'evenement est rare. La solution employee en general utilise des memoires differentes pour stocker le contexte et les files d'attente d' entree et de sortie. Chacune de ces memoires a une taille fixee independante de l' image traitee. Cette solution induit une perte d'espace memoire egale a la difference entre la taille de la memoire allouee au contexte et la taille de la memoire effectivement occupee par le contexte. La presente invention propose une solution qui permet de dimensionner la tai l le de la memoire al louee aux files d'attente d' entree et de sortie en fonction de l' image traitee. Pour cela, elle met en place une memoire physique commune pour le contexte et les files d'attente. Au debut du traitement de l' image, la taille de memoire prise par le contexte est specifiee et le processeur attribue la place restante aux files d'attente. Ceci est possible car la taille du contexte est constante pendant tout le traitement de l' image. Ainsi, lesdites files d'attente ont un espace memoire optimise en fonction de l' image. Pour ce faire, la presente invention est du type decrit ci-dessus et elle est remarquable dans son acceptation la plus large, en ce qu'elle concerne un procede d' allocation de memoire dans un processeur de traitement dtimages comprenant une memoire interne d'une taille connue caracterise en ce qu'il comprend les etapes: a) Une etape de specification de la taille de memoire necessaire pour stocker un element caracterisant l' image a traiter; b) Une etape de calcul de la taille restante dans la memoire interne du processeur; c)Une etape d' allocation de ladite taille restante pour stocker les donnees entrantes ou sortantes [FIFO]. De preference, ledit element caracterisant est une ou plusieurs lignes de l' image a traiter. Selon un mode de realisation de ['invention, ladite etape de specification consiste en un envoi par l'utilisateur du processeur de la longueur d'une ligne de l' image a traiter Selon un autre mode de real i sati on de ['invention, ladite etape de specification consiste en la lecture de len-tete de l' image a traiter dans loquel la longueur de la ligne est inscrite. On comprendra mieux la presente invention a l' aide de la description, faite ci-apres a titre purement explicatif, d'un mode de realisation de l' invention. Le procede selon l' invention peut etre utilise lors du codage d'une image en JsIG. Dans ce cas, le calcul du code correspondent a un pixel demande la connaissance des deux lignes precedentes. Ainsi, le processeur utilise pour mettre en muvre le procede comprend une memoire interne utilisee pour stocker les lignes de contexte necessaires ainsi que les files d'attente d' entree et de sortie. La taille totale de la memoire est dimensionnee pour permettre le codage d'images dont la largeur est inferieure a un nombre defini par le constructeur du processeur. Le procede selon l' invention applique a un codage JBIG comporte les etapes suivantes: i) Une etape de specification de la largeur en pixels de l' image par l'utilisateur via une interface entre lui et le processeur; j) Une etape de calcul de la taille allouee aux files d'attente dans la memoire interne du processeur en faisant la difference entre la taille totale de la memoire et la taille necessaire au stockage de deux lignes de l' image; k) Une etape d' allocation de la memoire dune part au contexte, d'autre part aux files d'attente d' entree et de sortie par modification d'un registre d'adressage; l) Une etape d'envoi des informations a coder au processeur et de traitement de l' image, ledit processeur appelant les donnees d' entree a un rythme dependent de la taille de la memoire allouee a la file dattente. Selon un autre mode de realisation, le procede selon l' invention peut etre utilise pour decoder une image. Un decodage d'une image JBIG est decrit ci-apres, mais le procede est utilisable avec de nombreux autres algorithmes de codage. Pour le decodage d'une image JBIG, le procede selon l' invention utilise le fait qu'une image codee en JBIG comporte un en-fete contenant des informations sur l' image parmi lesquelles la largeur en pixels de l' image. Le procede selon l' invention pour un decodage JBIG comprend done les etapes suivantes: m) Une etape d'envoi du fichier JBIG au processeur; n) Une etape de lecture de lten-tete audit fichier et de determination de la largeur de ltimage; o) Une etape de calcul de la taille allouee aux files d'attente dans la memoire interne du processeur en faisant la difference entre la taille totale de la memoire et la taille necessaire au stockage de deux lignes de l' image; p) Une etape d' allocation de la memoire d'une part au contexte, d'autre part aux files d'attente d' entree et de sortie par modification d'un registre d'adressage; q) Une etape de traitement de l' image. D'autre part, si la largeur en pixels de l' image n'est specifiee ni par l'utilisateur ni par lecture de l'en-tete, ni par un autre moyen, l'etape d'allocation de la memoire utilise des informations predefinies par le constructeur du processeur qui vent stockees dans un registre du processeur et qui specifient soit la taille allouee par defaut aux files d'attente d' entree et de sortie, soit la taille allouee par defaut au contexte; lt allocation de la memoire se faisant comme dans les cas decrits precedemment a partir des donnees par defaut. L' invention est decrite dans ce qui precede a titre d'exemple. I1 est entendu que l'homme du metier est a meme de realiser differentes variantes de l' invention sans pour autant sortir du cadre du brevet. REYENDICATIONS 1. Procede d'allocation de memoire dans un processeur de traitement d'images comprenant une memoire interne d'une taille connue, caracterise en ce qu'il comprend les etapes: a) Une etape de specification de la taille de memoire necessaire pour stocker un element caracterisant l' image a traiter; b) Une etape de calcul de la taille restante dans la memoire interne du processeur; c) Une etape d' allocation de la cite taille restante pour stocker les donnees entrantes ou sortantes [FIFO] 2. Procede dallocation de memoire selon la revendication 1, caracterise en ce que ledit element caracterisant est une ou plusieurs lignes de l' image a traiter. 3. Procede d'allocation de memoire selon la revendication 1 ou la revendication 2, caracterise en ce que ladite etape de specification consiste en un envoi par l'utilisateur du processeur de la longueur d'une ligne de l' image a traiter 4. Procede d'allocation de memoire selon la revendication 1 ou la revendication 2, caracterise en ce que ladite etape de specification consiste en la lecture de l'en-tete de l' image a traiter dans loquel la longueur de