Brevet FR3044507A1 — publié le 20170602

PROCÉDÉ DE CODAGE ET DE DÉCODAGE D'IMAGES, DISPOSITIF DE CODAGE ET DE DÉCODAGE D'IMAGES ET PROGRAMMES D'ORDINATEUR CORRESPONDANTS Domaine de l'invention La présente invention se rapporte de manière générale au domaine du traitement d'images, et plus précisément au codage et au décodage d'images numériques et de séquences d'images numériques. Le codage/décodage d'images numériques s'applique notamment à des images issues d'au moins une séquence vidéo comprenant : - des images issues d'une même caméra et se succédant temporellement (codage/décodage de type 2D), - des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D), - des composantes de texture et de profondeur correspondantes (codage/décodage de type 3D), - etc... La présente invention s'applique de manière similaire au codage/décodage d'images de type 2D ou 3D. L'invention peut notamment, mais non exclusivement, s'appliquer au codage vidéo mis en oeuvre dans les codeurs vidéo actuels AVC et HEVC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc), et au décodage correspondant. Art antérieur Les codeurs vidéo actuels (MPEG, H.264, HEVC, ...) utilisent une représentation par blocs de la séquence vidéo. Les images sont découpées en blocs, lesquels sont susceptibles d'être redécoupés de façon récursive. Puis chaque bloc est codé par prédiction intra-images ou inter-images. Ainsi, certaines images sont codées par prédiction spatiale (prédiction Intra), d'autres images sont également codées par prédiction temporelle (prédiction Inter) par rapport à une ou plusieurs images de référence codées-décodées, à l'aide d'une compensation en mouvement connue par l'homme de l'art. Pour chaque bloc est codé un bloc résidu, encore appelé résidu de 3044507 2 prédiction, correspondant au bloc original diminué d'une prédiction. Les blocs résidus sont transformés à l'aide d'une opération mathématique de transformée, puis quantifiés à l'aide d'une opération mathématique de quantification par exemple de type scalaire. Dans un souci de simplification, 5 l'opération mathématique de transformée sera appelée par la suite `transformée' et l'opération mathématique de quantification sera appelée par la suite 'quantification'. Une liste monodimensionnelle de coefficients est obtenue à l'issue de la quantification. Les coefficients de cette liste sont alors codés sous forme de bits par un 10 codage entropique dont le but est de coder les coefficients sans perte. Les bits obtenus après codage entropique sont inscrits dans un signal flux de données qui est destiné à être transmis au décodeur. De façon connue en soi, un tel signal comprend : - les coefficients quantifiés contenus dans la liste précitée, 15 - des informations représentatives du mode de codage utilisé, en particulier: - le mode de prédiction (prédiction Intra, prédiction Inter, prédiction par défaut réalisant une prédiction pour laquelle aucune information n'est transmise au 20 décodeur (« en anglais « skip »)) ; - des informations précisant le type de prédiction (orientation, image de référence, ...) ; - le type de découpage du bloc ; - les informations de mouvement si nécessaire ; 25 - etc. Une fois que le flux a été reçu par le décodeur, le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour chaque bloc, les éléments correspondants du flux sont lus. La quantification inverse, l'opération de parcours inverse, et la transformée inverse des coefficients des blocs sont 30 effectuées pour produire le résidu de prédiction décodé. Puis, la prédiction du bloc est calculée et le bloc est reconstruit en ajoutant la prédiction au résidu de prédiction décodé. 3044507 3 La technique de codage/décodage classique qui vient d'être décrite permet certes des améliorations des performances de codage. Selon le contexte vidéo, elle permet notamment : - une amélioration de la qualité des images pour un débit donné 5 du réseau utilisé pour transmettre les images, - un réduction du débit de transmission des images pour un critère de qualité d'images préalablement fixé. Dans le domaine du codage vidéo, les transformées en cosinus discrète, DCT (abréviation anglaise de « Discrete Cosine Transform »), ou les 10 transformées en sinus discrète, DST (abréviation anglaise de « Discrete Sine Transform »), sont généralement privilégiées, notamment pour les raisons suivantes : - ce sont des transformées bloc et il est ainsi facile de manipuler les blocs indépendamment les uns des autres, 15 - elles sont efficaces pour compacter l'information dans le domaine fréquentiel, là où l'opération de réduction de débit opère. - elles disposent de méthodes d'implémentation rapides qui requièrent de l'ordre M*log2(M) opérations. Les transformées DCT ou DST précitées sont de type séparables. 20 Une transformée séparable peut s'applique selon deux cas différents. Selon un premier cas, il est procédé à l'application d'une première transformée Al à un bloc résidu x de K pixels qui sont organisés sous forme d'une matrice MxN, où Al est une matrice de données de taille MxM et M, N sont des entiers naturels supérieurs ou égaux à 1. A l'issue de l'application de 25 cette première transformée est obtenu un premier bloc transformé Al.x. Une opération de transposition t est ensuite appliquée sur le bloc transformé Al.x. A l'issue de cette transposition est obtenu un bloc transposé (Al.x)t. Enfin, une deuxième transformée Ac est appliquée sur le bloc transposé 30 (Al.x)t, où Ac est une matrice de données de taille NxN. A l'issue de l'application de cette deuxième transformée est obtenu un deuxième bloc transformé X de K=NxM pixels, tel que : 3044507 4 X = Ac - (Al - x)t Selon un deuxième cas, l'ordre d'application des transformées Al et Ac est inversé. Le deuxième bloc transformé X de K=NxM pixels s'écrit alors de la façon suivante : X= Al - (Ac - xt)t 5 Le bloc transformé X obtenu selon ce deuxième cas est similaire au bloc transformé X obtenu selon le premier cas, à une transposition près. Dans le cas particulier où le bloc résidu x est carré, c'est-à-dire M=N, les matrices Al et Ac ont la même taille. Au décodage, de façon connue en soi, sont appliquées des transformées 10 inverses de celles mentionnées ci-dessus. Ainsi, si la transformée a été appliquée selon le premier cas, la transformée inverse correspondante permet d'obtenir le bloc résidu x à l'aide du calcul suivant : x = Al-1- - (Ac-1- - X)t 15 Ainsi, si la transformée a été appliquée selon le deuxième cas, la transformée inverse correspondante permet d'obtenir le bloc résidu x à l'aide du calcul suivant : x = (Ac-1- . (Al-' . X)t )t 20 AI-1 et Ac-1 représentent les transformées inverses respectives des transformées Al et Ac. Elles permettent d'obtenir les valeurs du bloc résidu x à partir des valeurs du bloc transformé X. Les matrices Al-1 et Ac-1 sont appelées communément matrices inverses de Al et Ac respectivement, dans le cas où les matrices sont choisies orthogonales elles correspondent aux matrices 25 transposées de Al et Ac respectivement. Outre les transformées de type séparable, il existe également des transformées de type non séparable, telles que par exemple la transformée de Karhunen-Loeve (KLT) qui est considérée comme fournissant une décorrélation optimale des données d'un bloc considéré. Les transformées non séparables 30 ont pour avantage de pouvoir exploiter des corrélations entre n'importe quelle 3044507 5 paire (ou plus) de données à l'intérieur d'un bloc considéré, à la différence des transformées de type séparable qui peuvent seulement exploiter les corrélations entre données partageant soit la même ligne, soit la même colonne d'un bloc considéré au travers des transformées qui Al et Ac qui agissent de 5 façon indépendante. Une telle différence rend les transformées de type non séparable plus performantes que les transformées séparables, en particulier du point de vue de la compression de l'énergie et des performances de codage. En revanche, les transformées non séparables sont très complexes en, ce qui les rend difficiles à implémenter dans les codeurs vidéo actuels. C'est la raison 10 pour laquelle les transformées de type DCT ou DST restent actuellement privilégiées, d'autant plus qu'elles peuvent dans certains cas particuliers constituer une bonne approximation de la transformée KLT. Une transformée de type non séparable s'écrit mathématiquement au codage comme la multiplication du bloc résidu x, mis sous la forme d'un vecteur 15 de dimension 1 xK, par une matrice A de taille KxK. Le bloc transformé X obtenu à l'issue de l'application de cette transformée s'écrit alors de la façon suivante : X = A - x Au décodage, la transformée inverse consiste à multiplier le bloc transformé X par la matrice inverse A-1 de A qui peut être la transposée de A, lorsque A est orthogonale. Une telle transformée inverse permet d'obtenir le 20 bloc résidu x suivant : x = A-1 - X Malgré l'utilisation courante des transformées de type DCT et DST dans les codeurs du marché, il est considéré que les performances de codage ne sont actuellement pas optimisées et ont vocation à encore être améliorées, en 25 particulier du point de vue de la minimisation du coût débit/distorsion qui est un critère bien connu de l'homme du métier. Objet et résumé de l'invention Un des buts de l'invention est de remédier à des inconvénients de l'état 30 de la technique précité. 3044507 6 A cet effet, un objet de la présente invention concerne un procédé de codage d'au moins une image découpée en blocs. Un tel procédé de codage est remarquable en ce que, pour un bloc courant à coder de l'image, il met en oeuvre ce qui suit : 5 - au moins une modification de deux données du bloc par une opération de combinaisons linéaires opérant sur les deux données, à l'issue de laquelle est obtenu un bloc modifié, - application aux données du bloc modifié d'une opération de transformée séparable, 10 - codage des données obtenues à la suite de l'application de l'opération de transformée séparable. Une telle disposition permet d'obtenir, moyennant une transformée séparable telle qu'utilisée classiquement dans les normes de codage/décodage actuelles et à venir, un gain en codage amélioré s'approchant de celui obtenu 15 en appliquant directement aux données du bloc une opération de transformée de type KLT, qui est quant à elle non séparable et nécessite de ce fait un nombre de calculs élevé sur les données du bloc. En outre, le gain amélioré selon l'invention est obtenu moyennant une faible complexité calculatoire, grâce au fait que l'opération de combinaisons 20 linéaires s'applique seulement sur certaines données du bloc, préalablement à l'application de l'opération de transformée séparable. Une telle modification permet avantageusement d'adapter les données du bloc dans le domaine spatial, de telle façon que lors de l'application d'une opération de transformée de type séparable aux données du bloc modifié, le gain en codage des données 25 du bloc soit amélioré. Une telle transformée séparable peut être du type trigonométrique, telle que par exemple une transformée DCT, DST ou bien du type non trigonométrique, telle que par exemple une transformée du type RDOT (Rate-Distorsion Optimized Transform), de Hadamard, etc.... 30 Selon un mode de réalisation particulier, l'opération de combinaisons linéaires comprend le calcul d'une première somme pondérée et d'une deuxième somme pondérée des deux données du bloc, les deux données de pondération utilisées dans la première somme pondérée étant égales en valeur 3044507 7 absolue aux deux données de pondération utilisées dans la deuxième somme pondérée. Une telle disposition permet avantageusement de conserver, une fois la modification des données du bloc effectuée, l'énergie du bloc qui a été obtenue 5 avant cette modification. Selon un autre mode de réalisation particulier, les deux données du bloc sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée, ne sont situées ni sur la même ligne, ni sur la même colonne du bloc. Une telle disposition permet d'obtenir le meilleur compromis entre une 10 amélioration significative du gain en codage et une faible complexité de calculs sur les données du bloc. Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de codage tel que défini ci-dessus. 15 L'invention concerne également un dispositif de codage d'au moins une image découpée en blocs. Le dispositif de codage selon l'invention est remarquable en ce qu'il comprend un circuit de traitement qui est agencé pour : - modifier au moins une fois deux données du bloc par une 20 opération de combinaisons linéaires opérant sur les deux données, à l'issue de laquelle est obtenu un bloc modifié, - appliquer aux données du bloc modifié une opération de transformée séparable, - coder les données obtenues à la suite de l'application de 25 l'opération de transformée séparable. Un tel dispositif de codage est notamment apte à mettre en oeuvre le procédé de codage précité. L'invention concerne aussi un procédé de décodage d'un signal de données représentatif d'au moins une image découpée en blocs, mettant en 30 oeuvre, pour un bloc courant à décoder, ce qui suit : - détermination, dans le signal de données, d'un bloc de données codées associé au bloc courant à décoder, 3044507 8 - application d'une opération de transformée séparable aux données codées du bloc déterminé, à l'issue de laquelle est obtenu un bloc de données transformé. Un tel procédé de décodage est remarquable en ce qu'il met en oeuvre 5 une reconstruction du bloc courant au moyen d'au moins une modification de deux données du bloc de données transformé, par une opération de combinaisons linéaires opérant sur les deux données. Selon un mode de réalisation particulier, l'opération de combinaisons linéaires comprend le calcul d'une première somme pondérée et d'une 10 deuxième somme pondérée des deux données du bloc de données transformé, les deux données de pondération utilisées dans la première somme pondérée étant égales en valeur absolue aux deux données de pondération utilisées dans la deuxième somme pondérée. Selon un autre mode de réalisation particulier, les deux données du bloc 15 de données transformé sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée, ne sont situées ni sur la même ligne, ni sur la même colonne du bloc. Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux 20 étapes du procédé de décodage tel que défini ci-dessus. L'invention concerne également un dispositif de décodage d'un signal de données représentatif d'au moins une image découpée en blocs, comprenant un circuit de traitement qui, pour un bloc courant à décoder, est agencé pour : - déterminer, dans le signal de données, un bloc de données 25 codées associé au bloc courant à décoder, - appliquer une opération de transformée séparable aux données codées du bloc déterminé, à l'issue de laquelle est obtenu un bloc de données transformé. Le dispositif de décodage selon l'invention est remarquable en ce que le 30 circuit de traitement est agencé pour reconstruire le bloc courant au moyen d'au moins une modification de deux données du bloc de données transformé, par une opération de combinaisons linéaires opérant sur les deux données. 3044507 9 Un tel dispositif de décodage est notamment apte à mettre en oeuvre le procédé de décodage précité. L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en oeuvre l'un des procédés de codage et de décodage 5 selon l'invention, lorsqu'il est exécuté sur un ordinateur. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. 10 L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre de l'un des procédés de codage ou de décodage selon l'invention, tels que décrits ci-dessus. L'invention vise également un support d'enregistrement lisible par un 15 ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre du procédé de codage ou de décodage selon l'invention, tels que décrits ci-dessus. Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un 20 moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, une clé USB, ou un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via 25 un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter 30 ou pour être utilisé dans l'exécution du procédé de codage ou de décodage précité. 3044507 10 Brève description des dessins D'autres caractéristiques et avantages apparaîtront à la lecture d'un mode de réalisation préféré décrit en référence aux figures dans lesquelles: - la figure 1 représente les étapes du procédé de codage selon 5 l'invention, - la figure 2 représente un mode de réalisation d'un dispositif de codage selon l'invention, - la figure 3 représente un exemple de bloc courant à coder, - la figure 4A représente un premier type d'agencement de 10 données à modifier dans le bloc de la figure 3, - la figure 4B représente un deuxième type d'agencement de données à modifier dans le bloc de la figure 3, - la figure 4C représente un troisième type d'agencement de données à modifier dans le bloc de la figure 3, 15 - la figure 5 représente un mode de réalisation d'un dispositif de décodage selon l'invention, - la figure 6 représente les principales étapes du procédé de décodage selon l'invention. 20 Description détaillée de la partie codage Un mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de codage selon l'invention est utilisé pour coder une image ou une séquence d'images selon un flux binaire proche de celui qu'on obtient par un codage conforme par exemple à la norme HEVC. 25 Dans ce mode de réalisation, le procédé de codage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un codeur initialement conforme à la norme HEVC. Le procédé de codage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes Cl à C7 telles que représentées à la figure 1. 30 Selon le mode de réalisation de l'invention, le procédé de codage selon l'invention est implémenté dans un dispositif de codage CO représenté à la figure 2. Comme illustré en figure 2, un tel dispositif codeur comprend : 3044507 11 - une entrée ENT_C pour recevoir une image courante à coder, - un circuit de traitement CT_C pour mettre en oeuvre le procédé de codage selon l'invention, le circuit de traitement CT_C contenant : - une mémoire MEM_C comprenant une mémoire tampon 5 MT_C, - un processeur PROC_C piloté par un programme d'ordinateur PG_C, - une sortie SOR C pour délivrer un signal ou flux codé contenant les données obtenues à l'issue du codage de l'image courante. 10 A l'initialisation, les instructions de code du programme d'ordinateur PG_C sont par exemple chargées dans une mémoire RAM, MR_C, avant d'être exécutées par le circuit de traitement CT_C. Le procédé de codage représenté sur la figure 1 s'applique à toute image courante ICI fixe ou bien faisant partie d'une séquence de L images IC1, 15 ICI,..., ICI (1 à coder. Au cours d'une étape Cl représentée à la figure 1, il est procédé, de façon connue en soi, au partitionnement d'une image courante ICI en une pluralité de blocs B1, B2, Bi,..., BF (1F), par exemple de taille 4x4 pixels. Une telle étape de partitionnement est mise en oeuvre par un dispositif de 20 partitionnement MP_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C. Il convient de noter qu'au sens de l'invention, le terme « bloc » signifie unité de codage (de l'anglais « coding unit »). Cette dernière terminologie est notamment utilisée dans la norme HEVC « ISO/IEC/23008-2 Recommandation 25 ITU-T H.265 High Efficiency Video Coding (HEVC) ». En particulier, une telle unité de codage regroupe des ensembles de pixels de forme rectangulaire ou carrée, encore appelés blocs ou macroblocs. Une telle unité de codage pourrait, dans une norme future, regrouper également des ensembles de pixels présentant d'autres formes géométriques. 30 Lesdits blocs B1, B2, Bi,..., BF sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type lexicographique. Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite, puis du haut vers le bas. 3044507 12 D'autres types de parcours sont bien sûr possibles. Ainsi, il est possible de découper l'image ICI en plusieurs sous-images appelées slices et d'appliquer indépendamment un découpage de ce type sur chaque sous-image. Il est également possible de coder non pas une succession de lignes, comme 5 expliqué ci-dessus, mais une succession de colonnes. Il est également possible de parcourir les lignes ou colonnes dans un sens ou dans l'autre. Chaque bloc peut par ailleurs être lui-même divisé en sous blocs qui sont eux-mêmes subdivisibles. Au cours d'une étape C2 représentée à la figure 1, le codeur CO 10 sélectionne comme bloc courant un premier bloc à coder 13; de l'image ICI, tel que par exemple le premier bloc B1. Un exemple d'un tel bloc est représenté sur la figure 3. Il contient un nombre P de pixels pi, p2,..., pp, avec P>1. Dans l'exemple représenté sur la figure 3, P=16. 15 Conformément à l'invention, au cours d'une étape C3 représentée à la figure 1, il est procédé à au moins une modification de deux données du bloc 13; par une opération de combinaisons linéaires opérant sur lesdites deux données. L'opération de combinaisons linéaires comprend le calcul d'une première somme pondérée et d'une deuxième somme pondérée appliquées 20 chacune sur lesdites deux données du bloc B. A l'issue de l'étape C3, est obtenu un bloc modifié Bzi.L'étape C3 est mise en oeuvre par un dispositif de calcul CAL1_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C. Dans l'exemple décrit ici, on entend par données, les pixels du bloc 25 courant B. Il convient toutefois de noter qu'on entend également par données, les pixels d'un bloc prédit obtenu à l'aide d'une prédiction du bloc courant 13; par rapport à un bloc prédicteur qui est sélectionné suite à une mise en compétition de différents modes de prédiction inter, intra ou autres prédéterminés, par 30 exemple par minimisation d'un critère débit distorsion bien connu de l'homme du métier. Selon un premier exemple préférentiel tel que représenté sur la figure 4A, les au moins deux données du bloc 13; sur lesquelles s'appliquent la 3044507 13 première somme pondérée et la deuxième somme pondérée ne sont situées ni sur la même ligne, ni sur la même colonne du bloc courant B. Dans l'exemple représenté sur la figure 4A, les deux données du bloc Bi sur lesquelles s'appliquent la première somme pondérée et la deuxième somme 5 pondérée sont par exemple les pixels p7 et p9 entourés par un cercle en trait plein. Selon un deuxième exemple tel que représenté sur la figure 4B, les deux données du bloc courant Bi sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée sont situées sur une même ligne du 10 bloc courant B. Ces deux données peuvent être situées l'une à côté de l'autre ou non. Dans l'exemple représenté sur la figure 4B, les deux données du bloc Bi sur lesquelles s'applique la première somme pondérée sont par exemple les pixels p2 et p4 entourés par un cercle en trait plein. 15 Selon un troisième exemple tel que représenté sur la figure 4C, les deux données du bloc courant Bi sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée sont situées sur une même colonne du bloc courant B. Ces deux données peuvent être situées l'une à côté de l'autre ou non. 20 Dans l'exemple représenté sur la figure 4C, les deux données du bloc Bi sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée sont par exemple les pixels p5 et p13 entourés par un cercle en trait plein. Conformément à l'invention, les deux données de pondération utilisées 25 dans la première somme pondérée sont égales en valeur absolue aux deux données de pondération utilisées dans la deuxième somme pondérée. Le calcul des première et deuxième sommes pondérées utilise une matrice de rotation Gz appartenant à un ensemble EMR comprenant W matrices de rotation Go, G7,..., Gw_i où 0 REVENDICATIONS1. Procédé de codage d'au moins une image (ICI) découpée en blocs, caractérisé en ce que, pour un bloc courant (13;) à coder de ladite image, le procédé met en oeuvre ce qui suit : - au moins une modification (C3) de deux données du bloc par une opération de combinaisons linéaires opérant sur lesdites deux données, à l'issue de laquelle est obtenu un bloc modifié, - application (C4) aux données du bloc modifié d'une opération de transformée séparable, - codage (C6) des données obtenues à la suite de l'application de ladite opération de transformée séparable. 2. Procédé de codage selon la revendication 1, dans lequel ladite opération de combinaisons linéaires comprend le calcul d'une première somme pondérée et d'une deuxième somme pondérée desdites deux données du bloc, les deux données de pondération utilisées dans la première somme pondérée étant égales en valeur absolue aux deux données de pondération utilisées dans la deuxième somme pondérée. 3. Procédé de codage selon la revendication 1 ou la revendication 2, dans lequel les deux données du bloc sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée, ne sont situées ni sur la même ligne, ni sur la même colonne dudit bloc. 4. Dispositif (CO) de codage d'au moins une image (ICI) découpée en blocs, caractérisé en ce qu'il comprend un circuit de traitement (CT_C) qui, pour un bloc courant (13;) à coder de ladite image, est agencé pour : - modifier au moins une fois deux données du bloc par une opération de combinaisons linéaires opérant sur lesdites deux données, à l'issue de laquelle est obtenu un bloc modifié, - appliquer aux données du bloc modifié une opération de transformée séparable, 3044507 36 - coder les données obtenues à la suite de l'application de ladite opération de transformée séparable. 5. Programme d'ordinateur comportant des instructions de code de 5 programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 3, lorsque ledit programme est exécuté sur un ordinateur. 6. Support d'enregistrement lisible par un ordinateur sur lequel est 10 enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 3, lorsque ledit programme est exécuté par un ordinateur. 15 7. Procédé de décodage d'un signal de données (4)) représentatif d'au moins une image (ICI) découpée en blocs, mettant en oeuvre, pour un bloc courant (Bi) à décoder, ce qui suit : - détermination (D3), dans ledit signal de données, d'un bloc de données codées associé au bloc courant à décoder, 20 - application (D5) d'une opération de transformée séparable aux données codées du bloc déterminé, à l'issue de laquelle est obtenu un bloc de données transformé (BDzi), ledit procédé de décodage étant caractérisé en ce qu'il met en oeuvre une reconstruction du bloc courant au moyen d'au moins une modification (D6) de 25 deux données dudit bloc de données transformé, par une opération de combinaisons linéaires opérant sur lesdites deux données. 8. Procédé de décodage selon la revendication 7, dans lequel ladite opération de combinaisons linéaires comprend le calcul d'une première somme 30 pondérée et d'une deuxième somme pondérée desdites deux données du bloc de données transformé, les deux données de pondération utilisées dans la première somme pondérée étant égales en valeur absolue aux deux données de pondération utilisées dans la deuxième somme pondérée. 3044507 37 9. Procédé de décodage selon la revendication 7 ou la revendication 8, dans lequel les deux données du bloc de données transformé sur lesquelles s'appliquent la première somme pondérée et la deuxième somme pondérée, ne 5 sont situées ni sur la même ligne, ni sur la même colonne dudit bloc. 10. Dispositif (DO) de décodage d'un signal de données (4)) représentatif d'au moins une image (ICI) découpée en blocs, comprenant un circuit de traitement (CT_C) qui, pour un bloc courant (13;) à décoder, est agencé pour : 10 - déterminer, dans ledit signal de données, un bloc de données codées associé au bloc courant à décoder, - appliquer une opération de transformée séparable aux données codées du bloc déterminé, à l'issue de laquelle est obtenu un bloc de données transformé, 15 ledit dispositif de décodage étant caractérisé en ce que le circuit de traitement est agencé pour reconstruire le bloc courant au moyen d'au moins une modification de deux données du bloc de données transformé, par une opération de combinaisons linéaires opérant sur lesdites deux données. 20 11. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 7 à 9, lorsque ledit programme est exécuté sur un ordinateur. 25 12. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 7 à 9, lorsque ledit programme est exécuté par un ordinateur. 30