Brevet FR2765013A1 — publié le 19981224

PROCEDE D'IMBRICATION DE BALAYAGE DESCRIPTION CONTEXTE DE L'INVENTION Domaine de l'invention La présente invention concerne un procédé d'imbrication de balayage utilisable pour le codage à usages multiples d'images binaires, et plus particulièrement, un procédé d'imbrication de balayage amélioré pour coder de manière sélective une partie ou la totalité des données d'image d'objet selon la présence ou l'absence de données d'échantillonnage exceptionnelles (ESD). Etat de la technique Un procédé d'imbrication de balayage a été utilisé pour coder des images binaires dans diverses applications telles que le réglage de résolution ou la qualité d'image, le codage pour résister à des erreurs de transmission ou le réglage d'un débit de transmission. La figure 1 illustre un concept classique d'un codeur et d'un décodeur. Sur la figure 1, un codeur 11 code des données d'image d'entrée et envoie un courant de bits résultant. Un décodeur 15 extrait les données d'image du courant de bits transmis. Mais, le codeur 11 représenté sur la figure 1 génère un grand nombre de bits, augmentant ainsi la complexité du système. Ce problème devient grave dans le codage à usages multiples d'images binaires. Pour surmonter ce problème, un procédé dit d'imbrication de balayage est utilisé, dans lequel des données de forme sont codées par une opération OU EXCLUSIF sur des lignes de balayage adjacentes. La figure 2 est une vue destinée à illustrer un procédé d'imbrication de balayage classique. Sur la figure 2, le numéro de référence 200 indique des données de forme originales, le numéro de référence 210 indique des données d'image de base et le numéro de référence 220 indique les données d'image destinées à être codées, appelées données d'image d'objet. Les données d'image de base sont constituées de pixels sur des lignes de balayage numérotées paires (ou impaires) parmi les pixels constituant les données de forme originales 200. Les données d'image d'objet 220 sont constituées de pixels sur des lignes de balayage numérotées paires (ou impaires) parmi les pixels constituant les données de forme originales 200 et comportent des données d'échantillons transitionnelles (TSD), ESD et des données d'échantillons prédictives (PSD). Les TSD (numéro de référence 230) sont constituées des pixels marqués par des rectangles dans les données d'image d'objet 220 représentées sur la figure 2, et indiquent que les pixels situés sur une ligne de balayage courante sont les mêmes qu'un seul des pixels correspondants situés sur les lignes de balayage précédente et suivante. Le troisième pixel à partir de la gauche sur la première ligne de balayage des données d'image d'objet 220 par exemple, est différent d'un seul des troisièmes pixels à partir de la gauche sur la première et la deuxième lignes de balayage des données d'image de base 210. Ainsi, la TSD dans ce cas, est à "1" Ceci est obtenu en effectuant une opération OU EXCLUSIF sur le pixel situé sur la ligne de balayage courante avec le pixel correspondant de la ligne précédente, puis, une opération OU EXCLUSIF sur le pixel de la ligne courante avec le pixel correspondant de la ligne suivante et enfin, une opération OU EXCLUSIF sur les résultats des deux OU EXCLUSIFS. Les ESD (numéro de référence 240) sont les pixels encerclés situés dans les données d'image d'objet 220, et indiquent qu'un pixel de la ligne de balayage courante est différent des deux pixels correspondants des lignes de balayage précédente et suivante. Le troisième pixel à partir de la droite de la première ligne de balayage des données d'image d'objet 220 par exemple, est différent des deux troisièmes pixels à partir de la droite de la premiére et de la deuxième lignes de balayage des données d'image de base 210. Ainsi, l'ESD dans ce cas, est à "0" Ceci est obtenu en effectuant une opération OU EXCLUSIF sur le troisième pixel à partir de la droite sur la ligne de balayage courante avec le pixel correspondant de la ligne précédente, puis, une opération OU EXCLUSIF sur le pixel de la ligne courante avec le pixel correspondant de la ligne suivante et enfin, une opération OU EXCLUSIF sur les résultats des deux OU EXCLUSIFS. Les PSD sont l'ensemble des pixels à l'exception des TSD (230) et des ESD (240) dans les données d'image d'objet (220). Dans le procédé d'imbrication de balayage, les données d'image de base sont codées indépendamment des données d'image d'objet. En codant les données d'image d'objet, une valeur de contexte de pixel est obtenue par la condition de voisinage en considérant des pixels adjacents, et les données d'image d'objet sont codées par entropie sur un modèle de probabilité dépendant de la valeur de contexte de pixel. Les ESD sont divisés en données continues et données noncontinues, puis codées. Dans ces dernières, la probabilité de prédiction de pixels du contexte et l'exécution d'occurrences de la valeur des ESD sont codées par entropie. Dans les premières, la probabilité de prédiction du contexte et les segments continus des ESD successifs sont codés. Toutefois, le procédé d'imbrication de balayage classique effectue le codage de TSD et le codage d'ESD en deux étapes séparées, augmentant ainsi la complexité de l'algorithme et rendant la mise en oeuvre difficile. De plus, les performances de codage globales sont diminuées en raison du codage des ESD. EXPOSE DE L'INVENTION Pour résoudre les problèmes ci-dessus, un but de la présente invention consiste à proposer un procédé d'imbrication de balayage amélioré pour coder de manière sélective une partie ou la totalité des données d'image d'objet conformément à la présence ou à l'absence d'ESD. Un autre but de la présente invention consiste à proposer un procédé d'imbrication de balayage amélioré pour augmenter le rendement global de codage en déterminant une direction d'imbrication de balayage optimale. Pour atteindre le premier but ci-dessus, il est proposé un procédé d'imbrication de balayage pour obtenir des données d'image de base et des données d'image d'objet destinées à être codées, comportant TSD, ESD, PSD, par imbrication de balayage de données d'images binaires et coder les données d'image de base obtenues et les données d'image d'objet comportant TSD, ESD et PSP, comprenant les étapes consistant à: (a) recevoir des données d'images binaires; (b) imbrication en balayage les données d'images binaires reçues, (c) obtenir les données d'image de base d'après le résultat d'imbrication en balayage; (d) obtenir les données d'image d'objet d'après le résultat d'imbrication en balayage; (e) coder les données d'image de base; (f) déterminer si les données d'image d'objet comportent des ESD (g) coder les TSD lorsqu'il n'y a pas d'ESD et (h) coder les TSD, ESD et PSD lorsqu'il y a des ESD. Pour atteindre le deuxième but, il est proposé un procédé d'imbrication de balayage pour obtenir des données d'image de base et des données d'image d'objet, comportant TSD, ESD et PSD, par imbrication de balayage de données d'images binaires et coder les données d'image de base obtenues, TSD, ESD, comprenant les étapes consistant à (a') recevoir des données d'images binaires; (b') déterminer une direction d'imbrication de balayage pour les données d'images binaires reçues; (c') imbriquer en balayage les données binaires reçues dans la direction d'imbrication de balayage déterminée, (d') obtenir les données d'image de base d'après le résultat d'imbrication en balayage; (e') obtenir les données d'image d'objet d'après le résultat d'imbrication en balayage; (f) coder les données d'image de base selon un procédé de codage; (g') déterminer si les données d'image d'objet comportent des ESD (h') coder les TSD lorsqu'il n'y a pas d'ESD; et (i') coder les TSD, ESD et PSD lorsqu'il y a des ESD. BREVE DESCRIPTION DES DESSINS Les buts et avantages ci-dessus de la présente invention deviendront plus évidents en décrivant en détail des modes de réalisation préférés de celle-ci en référence aux dessins annexés dans lesquels: la figure 1 illustre un concept classique d'un codeur et décodeur de forme; la figure 2 illustre un procédé d'imbrication de balayage classique; la figure 3 est un organigramme d'un procédé d'imbrication de balayage selon un mode de réalisation de la présente invention; la figure 4 décrit les pixels voisins pour la valeur de contexte du pixel courant la figure 5 est un organigramme d'un procédé d'imbrication de balayage selon un autre mode de réalisation de la présente invention; et la figure 6 est relative à la description, à l'étape 502 représentée sur la figure 5, d'un procédé de détermination de direction d'imbrication de balayage. DESCRIPTION DES MODES DE REALISATION PREFERES Le procédé représenté sur la figure 3 comporte les étapes consistant à: (301) recevoir des données d'images binaires; (302) imbriquer en balayage les données d'images binaires reçues, (303) obtenir les données d'image de base d'après le résultat d'imbrication en balayage, (304) obtenir les données d'image d'objet d'après le résultat d'imbrication en balayage; (305) coder les données d'image de base obtenues à l'étape (303), (306) déterminer si les données d'image d'objet obtenues à l'étape (304) comportent des ESD; (307) coder les TSD lorsqu'il n'y a pas d'ESD ; et (308) coder les TSD, ESD et PSD lorsqu'il y a des ESD. Le procédé d'imbrication de balayage représenté sur la figure 3 va être décrit. A l'étape (301), des données d'images binaires sont reçues. A l'étape (302), les données d'images binaires reçues sont imbriquées en balayage. Aux étapes (303) et (304), les données d'image de base 210 et les données d'image d'objet 220 représentées sur la figure 2 sont obtenues. A l'étape (305), les données d'image de base 210 sont codées. A l'étape (306), il est déterminé si les données d'image d'objet 220 comportent des ESD et le codage est effectué différemment en fonction du résultat. En l'absence d'ESD, une opération OU EXCLUSIF est effectuée sur les donnés de pixels des données d'image de base 210 correspondant aux données de pixels respectives des données d'image d'objet 220. Si le résultat est de "1" seulement, les données de pixels correspondant aux données d'image d'objet 220 sont codées, à l'étape (307). C'est-à-dire qu'en l'absence d'ESD, seules les TSD sont codées. En présence d'ESD, toutes les données de pixels des données d'image d'objet 220 sont codées, à l'étape (308). Lors des étapes (307) et (308), un procédé spécifique de codage de chaque pixel d'objet à coder est exprimé par: Si (c, = = O) Codage par entropie en utilisant P(OIF(C,)) sinon si C = =1 Codage par entropie en utilisant P{1 ïF(C)} (1) F(Cý) = [C1, C2, C3 --, Cn] . (2) Ici, (C,) est le pixel qui est situé en [x,y], F(C,) indique le contexte de C, et P(OIO) est la fonction de densité de probabilité conditionnelle. La figure 4 illustre une relation entre un pixel d'objet à coder et un pixel adjacent. Sur la figure 4, Cxy(401) représente un pixel d'objet courant à coder, et C1-C14 représentent des pixels adjacents. Le numéro de référence 402 indique des pixels des données d'image de base 210 et le numéro de référence 403 indique des pixels des données d'image d'objet 220. Dans l'équation (1), P(OIF(C,)) et P(1IF(C,)) sont des valeurs de probabilité conditionnelle, lorsqu'un pixel correspondant courant est respectivement à "0" et "1". Ici, les informations de probabilité peuvent être constituées au préalable ou renouvelées pendant le codage. Le mode de réalisation du procédé d'imbrication de balayage selon la présente invention représenté sur la figure 5 va être décrit. Une direction de balayage utilisant l'imbrication de balayage peut être fixée à horizontal/vertical ou vertical/horizontal. Un balayage horizontal/vertical est ici un balayage tramé général, tandis qu'un balayage vertical/horizontal modifie l'ordre de balayage du balayage horizontal/vertical. La modification de la direction de balayage donne ici naissance à des modifications de rendement de codage. Dans le mode de réalisation de la figure 5, les nombres de bits générés en fonction des directions de balayage sont comparés, et le codage est effectué dans la direction de balayage générant le plus petit nombre de bits, augmentant ainsi le rendement de codage. Le procédé représenté sur la figure 5 comporte les étapes consistant à: (501) recevoir des données d'images binaires; (502) déterminer une direction d'imbrication de balayage pour les données d'images binaires reçues ; (503) imbriquer en balayage dans la direction déterminée; (504) obtenir les données d'image de base d'après le résultat d'imbrication en balayage; (505) obtenir les données d'image d'objet d'après le résultat d'imbrication en balayage; (506) coder les données d'image de base obtenues à l'étape (504); (507) déterminer si les données d'image d'objet obtenues à l'étape (505) comportent des ESD; (508) coder les TSD seulement lorsqu'il n'y a pas d'ESD; et (509) coder toutes les données des données d'image d'objet (TSD, ESD et PSD) lorsqu'il y a des ESD. Le procédé d'imbrication de balayage représenté sur la figure 5 va être décrit comme suit A l'étape (5qu), des données d'images binaires sont reçues. Les données d'images binaires reçues sont imbriquées par balayage dans une direction de balayage horizontal/vertical ou vertical/horizontal, comme représenté sur la figure 6. Sur la figure 6, le numéro de référence 603 indique une image conformément à un balayage horizontal/vertical et le numéro de référence 604 indique une image conformément à un balayage vertical/horizontal. Dans les deux cas, le numéro de référence 601 indique les données d'image de base et le numéro de référence 602 indique les données d'image d'objet. Les nombres de bits sont calculés d'après les résultats codés respectifs et une direction de balayage convenable est choisie conformément aux équations suivantes, à l'étape (502). si (nombre de bits utilisant un codage vertical/horizontal imbrication de balayage vertical/horizontal sinon, imbrication de balayage horizontal/vertical . . (3) Le procédé de codage est décrit sur la figure 3. Dans un procédé basé sur l'équation (3), la direction de balayage, dont la somme des données imbriquées en balayage est la plus petite est déterminée comme étant la direction d'imbrication de balayage. Nombre de bits codés = nombre de bits des données d'image de base codées + nombre de bits des données d'image d'objet codées. si (nombre de bits utilisant un codage vertical/horizontal imbrication de balayage vertical/horizontal sinon, imbrication de balayage horizontal/vertical ... (4) Dans un procédé basé sur l'équation (4), la direction de balayage dont la somme des données d'image de base imbriquées en balayage est la plus petite est déterminée comme étant une direction d'imbrication de balayage. A l'étape (503), I'imbrication de balayage est effectué dans la direction d'imbrication de balayage déterminée. Les étapes restantes (504) à (509) sont respectivement les mêmes que les étapes (303) à (308) du procédé de la figure 3. Comme décrit ci-dessus, I'algorithme est simplifié et la mise en oeuvre du système est facilitée, en codant les TSD et les ESD avec les PSD dans une structure simple dans le procédé d'imbrication de balayage de la présente invention. Ainsi, les performances de codage globales peuvent être améliorées. De plus, les nombres de bits dépendant de la direction de balayage sont comparés, améliorant ainsi le rendement du codage. Bien que la présente invention ait été illustrée et décrite en référence à des modes de réalisation spécifiques, d'autres modifications et variantes à l'intérieur de l'esprit et de la portée de l'invention apparaîtront aux hommes de l'art. REVENDICATIONS 1. Procédé d'imbrication de balayage pour obtenir des données d'image de base (210) et des données d'image d'objet (220) destinées à être codées, comportant des données d'échantillonnage transitionnel (TSD), des données d'échantillonnage exceptionnelles (ESD) et des données d'échantillonnage prédictives (PSD) par imbrication de balayage de données d'images binaires et coder les données d'image de base obtenues et les données d'image d'objet comportant TSD, ESD et PSP, comprenant les étapes consistant à: (a) recevoir (301) des données d'images binaires (b) imbriquer (302) en balayage les données d'images binaires reçues; (c) obtenir (303) les données d'image de base (210) d'après le résultat d'imbrication en balayage, (d) obtenir (304) les données d'image d'objet (220) d'après le résultat d'imbrication en balayage; (e) coder (305) les données d'image de base (210); (f) déterminer (306) si les données d'image d'objet (220) comportent des ESD (240); (g) coder (307) les TSD (230) lorsqu'il n'y a pas d'ESD (240); et (h) coder (308) les TSD (230), ESD (240) et PSD lorsqu'il y a des ESD. 2. Procédé d'imbrication de balayage pour obtenir des données d'image de base (210) et des données d'image d'objet (220), comportant des données d'échantillonnage transitionnel (TSD), des données d'échantillonnage exceptionnelles (ESD) et des données d'échantillonnage prédictives (PSD) et coder les données d'image de base obtenues, TSD, ESD, comprenant les étapes consistant à: (a') recevoir (501) les données d'images binaires; (b') déterminer (502) une direction d'imbrication de balayage pour les données d'images binaires reçues; (c') imbriquer (503) en balayage les données d'images binaires reçues dans la direction d'imbrication de balayage déterminée; (d') obtenir (504) les données d'image de base (210) d'après le résultat d'imbrication en balayage; (e') obtenir (505) les données d'image d'objet (220) d'après le résultat d'imbrication en balayage; (f) coder (506) les données d'image de base; (g') déterminer (507) si les données d'image d'objet comportent des ESD (240); (h') coder (508) les TSD (230) seulement lorsqu'il n'y a pas d'ESD (240); et (i') coder (509) les TSD (230), ESD (240) et PSD lorsqu'il y a des ESD (240). 3. Procédé d'imbrication de balayage comprenant les étapes consistant à: (a") obtenir des données d'image de base (210) et des données d'image d'objet (220) par imbrication en balayage de données d'images binaires; (b") obtenir des données d'échantillonnage transitionnelles (TSD), des données d'échantillonnage exceptionnelles (ESD) et des données d'échantillonnage prédictives (PSD) s'il y a lieu, pour les données d'image d'objet (220); (c") déterminer si les données d'image d'objet comportent des ESD; et (d") coder les données d'image de base (210) et les TSD (230) lorsqu'il n'y a pas d'ESD (240) et coder les donnés d'image de base (210), les TSD, ESD et PSD lorsqu'il y a des ESD. 4. Procédé d'imbrication de balayage selon la revendication 3, caractérisé en ce que l'étape (a") comprend les étapes secondaires consistant à: (a"1) imbriquer en balayage les données d'images binaires dans un ordre de balayage horizontal/vertical et dans un ordre de balayage vertical/horizontal ; et (a"2) choisir le résultat d'imbrication de balayage dans l'une ou l'autre des directions de balayage produisant le plus petit nombre de bits lors du codage du résultat d'imbrication de balayage. 5. Procédé d'imbrication de balayage selon la revendication 4, caractérisé en ce que, dans l'étape (a"2), les nombres de bits des [TSD] ou [TSD, ESD et PSD] codés, produits par chaque direction de balayage sont comparés. 6. Procédé d'imbrication de balayage selon ia revendication 4, caractérisé en ce que dans l'étape (a"), les nombres de bits des données d'image de base et des [TSD] ou [TSD, ESD et PSD] produits par chaque direction de balayage sont comparés.