FR2867633A1 - Encoded data transcoding method, involves obtaining quantization table compatible with JPEG format based on quantization step related to data encoded based on another format and inscribing table in data encoded based on JPEG format - Google Patents

Encoded data transcoding method, involves obtaining quantization table compatible with JPEG format based on quantization step related to data encoded based on another format and inscribing table in data encoded based on JPEG format Download PDF

Info

Publication number
FR2867633A1
FR2867633A1 FR0402484A FR0402484A FR2867633A1 FR 2867633 A1 FR2867633 A1 FR 2867633A1 FR 0402484 A FR0402484 A FR 0402484A FR 0402484 A FR0402484 A FR 0402484A FR 2867633 A1 FR2867633 A1 FR 2867633A1
Authority
FR
France
Prior art keywords
format
quantization step
quantization
compatible
data
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
FR0402484A
Other languages
French (fr)
Other versions
FR2867633B1 (en
Inventor
Christophe Gisquet
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0402484A priority Critical patent/FR2867633B1/en
Publication of FR2867633A1 publication Critical patent/FR2867633A1/en
Application granted granted Critical
Publication of FR2867633B1 publication Critical patent/FR2867633B1/en
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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

The method involves entropy decoding a data encoded according to a format using a decoder to obtain quantified coefficients. A quantization table compatible with a JPEG format is obtained according to a quantization step related to the data encoded according to the former format. The quantified coefficients are encoded into data that is encoded according to the JPEG format. The table is inscribed in data encoded based on JPEG format. Independent claims are also included for the following: (A) a method of encoding an image defined by image data into encoded data according to a format (B) a device for transcoding data encoded according to a format into data encoded according to another format (C) an information storage medium having instructions of a computer program for performing a method of transcoding encoded data (D) a computer program having instructions to perform a method of transcoding encoded data.

Description

1 2867633 51 2867633 5

L'invention se rapporte aux procédés et aux dispositifs de codage et de transcodage de données représentant de préférence une image.  The invention relates to methods and devices for encoding and transcoding data, preferably representing an image.

Pour son enregistrement et sa transmission au moyen d'appareils électroniques, une image est classiquement représentée sous forme numérique par un ensemble de données. Selon un mode de représentation courant, l'image est divisée en pixels et les données (ci-après données d'image) correspondent aux valeurs attribuées à chaque pixel selon un système de représentation conventionnel.  For its recording and transmission by means of electronic devices, an image is conventionally represented in digital form by a set of data. According to a current representation mode, the image is divided into pixels and the data (hereinafter image data) correspond to the values assigned to each pixel according to a conventional representation system.

Ainsi, pour une représentation en noir et blanc, chaque donnée décrit la valeur de luminance du pixel considéré. Pour une image couleur, on associe habituellement un triplet de données à chaque pixel. Le triplet de données correspond aux trois composantes de la couleur dans le système utilisé. Il s'agit par exemple des valeurs respectives de rouge, vert et bleu dans le système RGB. D'autres systèmes de couleurs, comme le système YCrCb, sont également utilisés.  Thus, for a black-and-white representation, each datum describes the luminance value of the pixel in question. For a color image, a triplet of data is usually associated with each pixel. The data triplet corresponds to the three components of the color in the system used. These are for example the respective values of red, green and blue in the RGB system. Other color systems, such as the YCrCb system, are also used.

Lors du codage d'une valeur sous forme numérique, éventuellement dans d'autres types de représentation que celle décrite ci-dessus, il est naturellement important de déterminer avec quelle précision on souhaite coder la valeur. On utilise couramment le pas de quantification comme indicateur de cette précision. Le pas de quantification correspond à l'étendue dans le domaine des valeurs qui correspondra à une unité après quantification, c'est-à-dire après passage de la donnée brute à la donnée quantifiée (i.e. exprimée sous forme d'un nombre entier).  When encoding a value in digital form, possibly in other types of representation than that described above, it is naturally important to determine how accurately it is desired to code the value. The quantization step is commonly used as an indicator of this accuracy. The quantization step corresponds to the range in the range of the values which will correspond to a unit after quantization, that is to say after passing from the raw data to the quantized data (ie expressed as an integer) .

2 2867633 Pour une plage de valeurs donnée, le pas de quantification détermine ainsi l'intervalle correspondant dans le domaine quantifié, et donc le nombre de bits nécessaires au codage de la plage de valeurs.  For a given range of values, the quantization step thus determines the corresponding interval in the quantized domain, and thus the number of bits necessary for encoding the range of values.

Parmi les formats de compression d'image couramment utilisés, certains formats, tels que les formats du type JPEG, sont basés sur le schéma général suivant: transformation spatio-fréquentielle des données d'image en données fréquentielles, quantification des données fréquentielles pour obtenir des coefficients entiers (données quantifiées), codage entropique des données quantifiées.  Among the commonly used image compression formats, some formats, such as JPEG-type formats, are based on the following general schema: spatio-frequency transformation of image data into frequency data, quantization of frequency data to obtain data integer coefficients (quantized data), entropy coding of the quantized data.

Comme indiqué ci-dessus, l'étape de quantification réalise la conversion d'une donnée fréquentielle en un nombre entier. Du fait que les valeurs que peut prendre la donnée fréquentielle s'étendent en général sur une plage continue, la conversion en un nombre entier entraîne une perte d'information. C'est pourquoi on dit généralement que l'étape de quantification est réalisée avec pertes.  As indicated above, the quantization step realizes the conversion of a frequency data into an integer. Since the values that can be taken by the frequency data generally extend over a continuous range, conversion to an integer results in loss of information. This is why it is generally said that the quantization step is performed with losses.

En dépit de l'utilisation de plusieurs types de format pour le codage des images numériques, on souhaite naturellement pouvoir échanger ces images, quel que soit leur format. Pour ce faire, il est donc fréquemment nécessaire de recourir à un transcodage de l'image numérique d'un premier format dans un second format.  In spite of the use of several types of format for the coding of digital images, it is naturally desirable to be able to exchange these images, whatever their format. To do this, it is therefore frequently necessary to use a transcoding of the digital image of a first format in a second format.

De plus, le transcodage du premier format vers le second format permet éventuellement de traiter une image qui a été codée selon le premier format au moyen de logiciels adaptés au traitement des images codées selon le second format.  In addition, the transcoding of the first format to the second format optionally makes it possible to process an image that has been coded according to the first format by means of software adapted to the processing of the coded images in the second format.

Même s'il est en principe toujours possible de décoder les données codées au premier format en données d'image afin de les coder dans le second format, cette solution a un coût calculatoire élevé et est de ce fait notamment consommatrice de temps; de plus, elle induit en général des pertes d'informations importantes.  Although it is in principle always possible to decode the coded data in the first format into image data in order to code them in the second format, this solution has a high computational cost and is therefore particularly time consuming; moreover, it generally induces significant loss of information.

Afin de résoudre au moins un de ces problèmes, l'invention propose un procédé de transcodage de données codées selon un premier format en données codées selon un second format, caractérisé en ce qu'il comprend les étapes suivantes: 3 2867633 - décodage entropique des données codées selon le premier format au moyen d'un décodeur adapté au premier format pour obtenir des coefficients quantifiés; - obtention d'une table de quantification compatible avec le second 5 format en fonction d'au moins un paramètre relatif aux données codées selon le premier format; - codage entropique par le codeur adapté au second format des coefficients quantifiés en données codées selon le second format; - inscription de la table de quantification obtenue dans les données 10 codées selon le second format.  In order to solve at least one of these problems, the invention proposes a method of transcoding coded data according to a first format into coded data according to a second format, characterized in that it comprises the following steps: 2864333 - entropy decoding of coded data according to the first format by means of a decoder adapted to the first format to obtain quantized coefficients; obtaining a quantization table compatible with the second format as a function of at least one parameter relating to the data coded according to the first format; entropy coding by the coder adapted to the second format of the quantized coefficients into coded data according to the second format; registering the quantization table obtained in the coded data according to the second format.

Du fait que le transcodage a lieu dans le domaine fréquentiel, sans nécessiter de transformation spatio-fréquentielle inverse, le coût calculatoire est réduit. De plus, l'utilisation d'un pas de quantification compatible avec le second format permet de passer du premier format au second format sans perte supplémentaire d'informations.  Since transcoding takes place in the frequency domain, without requiring inverse spatio-frequency transformation, computational cost is reduced. In addition, the use of a quantization step compatible with the second format makes it possible to switch from the first format to the second format without additional loss of information.

On peut ainsi obtenir un transcodage sans perte d'un premier format avec pertes à un second format avec pertes.  Thus lossless transcoding from a first lossy format to a second lossy format can be achieved.

Ledit au moins un paramètre est par exemple un pas de quantification relatif au premier format.  Said at least one parameter is for example a quantization step relative to the first format.

Le pas de quantification relatif au premier format peut dans ce cas être entier et ainsi compatible avec certains seconds formats, tel le format JPEG.  The quantization step relative to the first format may in this case be integer and thus compatible with certain second formats, such as the JPEG format.

Le pas de quantification relatif au premier format peut de plus être pair et ainsi compatible avec le second format lorsque certaines composantes utilisent un pas de quantification moitié du pas de quantification susmentionné.  The quantization step relative to the first format may also be even and thus compatible with the second format when certain components use a quantization step half of the aforementioned quantization step.

Le premier format est en général différent du second format.  The first format is usually different from the second format.

L'invention propose aussi un procédé de codage d'une image définie par des données d'image en données codées selon un premier format, caractérisé en ce qu'il comporte les étapes suivantes: - détermination d'un pas de quantification compatible avec un second 30 format différent du premier format; - transformation spatio-fréquentielle des données d'image en données fréquentielles; - quantification en fonction du pas de quantification compatible des données fréquentielles en coefficients quantifiés; 4 2867633 - codage au moyen d'un codeur adapté au premier format des coefficients quantifiés en données codées.  The invention also proposes a method of coding an image defined by image data into coded data in a first format, characterized in that it comprises the following steps: determining a quantization step compatible with a second format different from the first format; - spatio-frequency transformation of the image data into frequency data; quantization according to the compatible quantization step of the frequency data into quantized coefficients; 2867633 - coding by means of an encoder adapted to the first format of the coefficients quantized into coded data.

Les données ainsi codées pourront ainsi être transcodées sans perte vers le second format puisque le pas de quantification compatible avec le second format permettra l'utilisation directe des données quantifiées lors du transcodage, sans nécessiter une déquantification et une nouvelle quantification.  The data thus coded can thus be transcoded without loss to the second format since the quantization step compatible with the second format will allow the direct use of the quantized data during transcoding, without the need for dequantization and new quantification.

Selon une possibilité de mise ne oeuvre, l'étape de détermination d'un pas de quantification compatible comprend les étapes de: - réception d'un pas de quantification souhaité ; - obtention du pas de quantification compatible à partir du pas de quantification souhaité.  According to an implementation possibility, the step of determining a compatible quantization step comprises the steps of: receiving a desired quantization step; obtaining the compatible quantization step from the desired quantization step.

Dans ce cas, l'étape d'obtention du pas de quantification compatible peut comporter les étapes suivantes: - vérification que le pas de quantification souhaité est compatible; - en cas de vérification négative, réception d'un autre pas de quantification souhaité ; - en cas de vérification positive, définition du pas de quantification compatible comme étant égal au pas de quantification souhaité.  In this case, the step of obtaining the compatible quantization step may include the following steps: - verification that the desired quantization step is compatible; in case of negative verification, reception of another desired quantization step; in case of positive verification, definition of the compatible quantization step as being equal to the desired quantization step.

Les étapes de vérification et de réception d'un autre pas de 20 quantification souhaité peuvent être répétées tant que ledit autre pas de quantification souhaité n'est pas compatible.  The steps of checking and receiving another desired quantization step may be repeated as long as said other desired quantization step is not compatible.

L'étape d'obtention du pas de quantification compatible est par exemple une étape d'obtention d'un pas de quantification entier.  The step of obtaining the compatible quantization step is for example a step of obtaining an entire quantization step.

Dans ce cas, l'étape d'obtention du pas de quantification compatible 25 peut être réalisé par les étapes suivantes: - calcul de la partie entière du pas de quantification souhaité ; - définition du pas de quantification compatible comme étant égal à ladite partie entière.  In this case, the step of obtaining the compatible quantization step can be performed by the following steps: calculating the integer part of the desired quantization step; the definition of the compatible quantization step being equal to said integer part.

Ces solutions pour l'obtention d'un pas de quantification compatible 30 sont pratiques à mettre en oeuvre.  These solutions for obtaining a compatible quantization step are practical to implement.

L'étape d'obtention du pas de quantification compatible peut de plus être une étape d'obtention d'un pas de quantification pair.  The step of obtaining the compatible quantization step may furthermore be a step of obtaining an even quantization step.

Selon des possibilités de réalisation, le codage est un codage entropique et le second format est un format JPEG.  According to embodiments, the coding is an entropy coding and the second format is a JPEG format.

2867633 L'invention propose également un dispositif de transcodage de données codées selon un premier format en données codées selon un second format, caractérisé en ce qu'il comprend un décodeur adapté au premier format pour décodage entropique des données codées selon le premier format en coefficients quantifiés, des moyens pour obtenir une table de quantification compatible avec le second format en fonction d'au moins un paramètre relatif aux données codées selon le premier format, un codeur adapté au second format pour codage entropique des coefficients quantifiés en données codées selon le second format et des moyens pour inscrire la table de quantification obtenue dans les données codées selon le second format.  The invention also proposes a device for transcoding coded data according to a first format into coded data according to a second format, characterized in that it comprises a decoder adapted to the first format for entropic decoding of the coded data according to the first coefficient format. quantized, means for obtaining a quantization table compatible with the second format as a function of at least one parameter relating to the data encoded according to the first format, an encoder adapted to the second format for entropic coding of the quantized coefficients into coded data according to the second format and means for registering the quantization table obtained in the coded data according to the second format.

L'invention propose en outre un dispositif de codage d'une image définie par des données d'image en données codées selon un premier format, caractérisé en ce qu'il comprend des moyens de détermination d'un pas de quantification compatible avec un second format différent du premier format, des moyens pour transformation spatio-fréquentielle des données d'image en données fréquentielles, des moyens de quantification en fonction du pas de quantification compatible des données fréquentielles en coefficients quantifiés, et un codeur adapté au premier format pour codage des coefficients quantifiés en données codées.  The invention further proposes a device for coding an image defined by image data into coded data in a first format, characterized in that it comprises means for determining a quantization step compatible with a second a format different from the first format, means for spatio-frequency transformation of the image data into frequency data, quantization means as a function of the quantization step compatible with the frequency data into quantized coefficients, and an encoder adapted to the first format for encoding data. Quantized coefficients in coded data.

Les modes de mise en oeuvre possibles de ces dispositifs sont similaires à ceux proposés pour les procédés décrits auparavant, avec des avantages similaires.  The possible modes of implementation of these devices are similar to those proposed for the previously described methods, with similar advantages.

L'invention propose également un moyen de stockage d'informations qui peut être lu par un ordinateur ou un microprocesseur, contenant des instructions d'un programme d'ordinateur pour exécuter les étapes des procédés évoqués précédemment.  The invention also provides an information storage means that can be read by a computer or a microprocessor, containing instructions from a computer program for performing the steps of the aforementioned methods.

Dans le même ordre d'idée, l'invention propose un moyen de stockage d'informations partiellement ou totalement amovible, qui peut être lu par un ordinateur ou un microprocesseur, contenant des instructions d'un programme d'ordinateur pour exécuter les étapes des procédés ci-dessus.  In the same vein, the invention proposes a partially or completely removable information storage means, which can be read by a computer or a microprocessor, containing instructions from a computer program for executing the steps of processes above.

Enfin, l'invention propose un programme d'ordinateur qui peut être chargé dans un appareil programmable, caractérisé en ce qu'il comprend des séquences d'instructions ou des portions de code logiciel pour mettre en oeuvre 6 2867633 les étapes des procédés précédemment décrits, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.  Finally, the invention proposes a computer program that can be loaded into a programmable apparatus, characterized in that it comprises instruction sequences or portions of software code for implementing the steps of the previously described methods. , when this computer program is loaded and executed by the programmable device.

D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description qui suit, faite en référence aux dessins annexés, dans 5 lesquels: - la figure 1 représente un appareil pouvant mettre en oeuvre l'invention; - la figure 2 est l'organigramme d'un procédé de codage conforme aux enseignements de l'invention; - la figure 3 est l'organigramme d'un procédé possible pour l'obtention de pas de quantification; - la figure 4 est l'organigramme d'un procédé de transcodage conforme aux enseignements de l'invention; - la figure 5 illustre un premier exemple d'obtention d'une table de 15 quantification à partir d'informations de quantification; - la figure 6 illustre un second exemple d'obtention d'une table de quantification; - la figure 7 illustre un troisième exemple d'obtention d'une table de quantification.  Other features and advantages of the invention will become apparent in the light of the description which follows, made with reference to the accompanying drawings, in which: - Figure 1 shows an apparatus that can implement the invention; FIG. 2 is the flowchart of a coding method according to the teachings of the invention; FIG. 3 is the flowchart of a possible method for obtaining quantization steps; FIG. 4 is the flowchart of a transcoding method according to the teachings of the invention; FIG. 5 illustrates a first example of obtaining a quantization table from quantization information; FIG. 6 illustrates a second example of obtaining a quantization table; FIG. 7 illustrates a third example of obtaining a quantization table.

La figure 1 présente les éléments principaux d'un appareil programmable pouvant mettre en oeuvre les procédés de codage et de transcodage proposés par l'invention.  FIG. 1 shows the main elements of a programmable device that can implement the coding and transcoding methods proposed by the invention.

L'appareil de la figure 1 peut donc constituer un dispositif de codage d'une image définie par des données d'image en données codées selon un 25 premier format.  The apparatus of FIG. 1 can thus constitute a coding device of an image defined by coded data data in a first format.

Dans une autre utilisation, l'appareil de la figure 1 peut constituer un dispositif de transcodage de données codées selon un premier format de compression vers un second format de compression.  In another use, the apparatus of FIG. 1 may constitute a device for transcoding coded data in a first compression format to a second compression format.

L'appareil de la figure 1 donné à titre d'exemple est un micro- ordinateur 10 connecté à différents périphériques tel qu'un appareil photographique numérique 107 (ou un scanner, ou une caméra numérique, ou tout moyen d'acquisition ou de stockage d'images) relié à une carte graphique et fournissant un appareil de traitement de données numériques. L'appareil pourrait en variante être une station de travail.  The exemplary apparatus of FIG. 1 is a microcomputer 10 connected to different peripherals such as a digital still camera 107 (or a scanner, or a digital camera, or any means of acquisition or storage of images) connected to a graphics card and providing a digital data processing apparatus. The apparatus could alternatively be a workstation.

7 2867633 L'appareil 10 comporte un bus de communication 101 auquel sont reliés: une unité centrale de traitement ou CPU 100 (microprocesseur), une mémoire morte 102 (ou ROM), pouvant comporter un ou 5 plusieurs programmes d'ordinateur, - une mémoire vive 103 (ou RAM) adaptée à stocker des variables, paramètres et données traitées au cours de l'exécution des différents algorithmes mentionnés dans la suite, ainsi qu'éventuellement de manière temporaire les instructions du ou des programmes d'ordinateur permettant de mettre en oeuvre ces algorithmes, - un écran 104 permettant de visualiser des données ou ce qu'elles représentent (par exemple une image) et/ou de servir d'interface graphique avec l'utilisateur, qui pourra interagir avec le ou les programmes selon l'invention à l'aide d'un clavier 114 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris ou un crayon optique, - un disque dur 108 pouvant mémoriser le ou les programmes mentionnés dans la suite, - un lecteur de disquette 109 apte à recevoir une disquette 110 et à y lire ou à y écrire des données numériques traitées ou à traiter selon l'invention, - une interface de communication 112 reliée à un réseau de communication distribué 113, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données numériques telles que celles mentionnées dans la suite.  The apparatus 10 comprises a communication bus 101 to which are connected: a central processing unit or CPU 100 (microprocessor), a read-only memory 102 (or ROM), which may comprise one or more computer programs, -a RAM 103 (or RAM) adapted to store variables, parameters and data processed during the execution of the various algorithms mentioned in the following, as well as possibly temporarily the instructions of the computer program or programs to put implement these algorithms, - a screen 104 for viewing data or what they represent (for example an image) and / or to act as a graphical interface with the user, who can interact with the program or programs according to the invention using a keyboard 114 or any other means such as a pointing device, such as for example a mouse or an optical pencil, - a hard disk 108 that can store the program or programs mentio In the following, a floppy disk drive 109 capable of receiving a floppy disk 110 and reading or writing digital data processed or to be processed according to the invention, a communication interface 112 connected to a distributed communication network. 113, for example the Internet network, the interface being able to transmit and receive digital data such as those mentioned below.

Le bus de communication 101 permet la communication et l'interopérabilité entre les différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du micro-ordinateur 10 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 10.  The communication bus 101 allows communication and interoperability between the various elements included in the microcomputer 10 or connected to it. The representation of the bus is not limiting and, in particular, the central unit is able to communicate instructions to any element of the microcomputer 10 directly or via another element of the microcomputer 10.

Le code exécutable (i.e. la séquence d'instructions) du programme ou de chaque programme permettant à l'appareil programmable 10 de mettre en oeuvre les procédés de codage et de transcodage selon l'invention décrits ci-après peut être stocké, par exemple, dans le disque dur 108 ou en mémoire morte 102 comme représenté sur la figure 1.  The executable code (ie the instruction sequence) of the program or of each program allowing the programmable apparatus 10 to implement the encoding and transcoding methods according to the invention described hereinafter can be stored, for example, in the hard disk 108 or in the read only memory 102 as shown in FIG. 1.

8 2867633 Pour son exécution, le code exécutable peut être transféré du disque dur 108 à la mémoire vive 103.  For execution, the executable code can be transferred from the hard disk 108 to the RAM 103.

Selon une variante, la disquette 110 peut contenir des données ainsi que le code exécutable du ou des programmes précités qui, une fois lu par l'appareil 10, sera stocké dans le disque dur 108 ou temporairement en mémoire vive 103.  According to one variant, the diskette 110 may contain data as well as the executable code of the aforementioned program or programs which, once read by the apparatus 10, will be stored in the hard disk 108 or temporarily in the random access memory 103.

En seconde variante, le code exécutable du ou des programmes pourra être reçu par l'intermédiaire du réseau de communication 113, via l'interface 112, pour être stocké de façon identique à celle décrite précédemment.  In the second variant, the executable code of the program or programs may be received via the communication network 113, via the interface 112, to be stored in a manner identical to that described above.

Les disquettes peuvent être remplacées par tout support d'informations tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De manière générale, un moyen de stockage d'informations, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre des procédés de codage et de transcodage selon l'invention. De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 10, telle que la mémoire vive 103, avant d'être exécutés.  Floppies can be replaced by any information carrier such as, for example, a compact disc (CD-ROM) or a memory card. Generally speaking, computer-readable or microprocessor-readable information storage means, whether or not integrated into the device, possibly removable, is adapted to store one or more programs whose execution allows the implementation of the coding and transcoding methods according to the invention. In a more general manner, the program or programs may be loaded into one of the storage means of the apparatus 10, such as the random access memory 103, before being executed.

L'unité centrale 100 va commander et diriger l'exécution des instructions ou portions de codes logiciels du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 108 ou dans la mémoire morte 102 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 108 ou la mémoire morte 102, sont transférés dans la mémoire vive 103 qui contiendra alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention.  The central unit 100 will control and direct the execution of the instructions or portions of software codes of the program or programs according to the invention, instructions which are stored in the hard disk 108 or in the read-only memory 102 or else in the other elements of aforementioned storage. When powering on, the program or programs that are stored in a non-volatile memory, for example the hard disk 108 or the read-only memory 102, are transferred into the random access memory 103 which will then contain the executable code of the program or programs according to the invention, as well as registers for storing the variables and parameters necessary for the implementation of the invention.

Il convient de noter que l'appareil comportant le dispositif selon l'invention peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).  It should be noted that the apparatus comprising the device according to the invention may also be a programmed apparatus. This device then contains the code of the computer program or programs for example frozen in a specific application integrated circuit (ASIC).

La figure 2 représente les étapes principales d'un procédé de codage d'une image numérique tel que proposé par l'invention.  FIG. 2 represents the main steps of a coding method of a digital image as proposed by the invention.

9 2867633 Ce procédé de codage est par exemple appliqué à une image numérique en couleurs représentée, avant codage, par un ensemble de données d'image brutes stockées, par exemple, au sein d'un fichier source sur un support d'informations.  This coding method is for example applied to a color digital image represented, before encoding, by a set of raw image data stored, for example, within a source file on an information medium.

Les données d'image sont divisées en trois ensembles principaux de données qui correspondent chacun à une composante. Pour chaque composante, les données d'image définissent la valeur de la composante pour tous les pixels de l'image.  The image data is divided into three main sets of data each corresponding to a component. For each component, the image data defines the value of the component for all pixels in the image.

Les composantes utilisées dépendent du système de représentation de la couleur choisi, par exemple le système RVB (composantes rouge, verte et bleue) ou le système YCrCb (luminance et deux composantes de chrominance) utilisé dans la suite de la description.  The components used depend on the representation system of the chosen color, for example the RGB system (red, green and blue components) or the YCrCb system (luminance and two chrominance components) used in the following description.

Les données d'image brutes peuvent donc être décrites par la formule d1, où c est la composante concernée et i, j les coordonnées du point dans l'image.  The raw image data can therefore be described by the formula d1, where c is the component concerned and i, j the coordinates of the point in the image.

Le procédé de codage de la figure 2 commence par une étape E201 de détermination des pas de quantification qui seront utilisés lors des étapes ultérieures du codage. Un mode de réalisation possible pour cette étape E201 est donné dans la suite en référence à la figure 3.  The coding method of FIG. 2 begins with a step E201 for determining the quantization steps that will be used during the subsequent coding steps. One possible embodiment for this step E201 is given hereinafter with reference to FIG.

Dans l'exemple décrit ici, l'étape E201 de détermination des pas de quantification permet d'obtenir un pas de quantification py qui sera appliqué aux données relatives à la composante de luminance Y et un pas de quantification Pcr,cb qui sera appliqué aux données relatives aux composantes de chrominance Cr et Cb.  In the example described here, the step E201 for determining the quantization steps makes it possible to obtain a quantization step py that will be applied to the data relating to the luminance component Y and a quantization step Pcr, cb that will be applied to the data relating to chrominance components Cr and Cb.

Comme il sera décrit en détail dans la suite, l'étape E201 génère des pas de quantification py, PCr,Cb entiers afin que les données codées obtenues (selon le format résultant du codage décrit ici) puissent être transcodées sans perte dans un second format, par exemple un format du type JPEG, selon le procédé de transcodage décrit plus loin.  As will be described in detail in the following, step E201 generates quantization steps py, PCr, Cb in order that the coded data obtained (according to the format resulting from the coding described here) can be transcoded without loss in a second format. , for example a format of the JPEG type, according to the transcoding method described below.

Dans ce sens, on obtient au moyen de l'étape E201 des pas de quantification compatibles avec un second format de codage, différent du format obtenu par le codage décrit ici (dénommé dans la suite premier format de codage).  In this sense, step E201 provides quantization steps compatible with a second coding format, different from the format obtained by the coding described here (hereinafter referred to as the first coding format).

2867633 En variante, l'étape E201 pourrait ne générer qu'un seul pas de quantification p applicable à l'ensemble des composantes Y, Cr et Cb.  Alternatively, the step E201 could generate only one quantization step p applicable to all the components Y, Cr and Cb.

Selon une autre variante, on pourrait obtenir à l'étape E201 un pas de quantification py relatif à la composante de luminance Y et utiliser pour les composantes Cr et Cb un pas de quantification égal à PCr,cb = py/2. Dans ce cas, l'étape E201 est de préférence réalisée de manière telle qu'elle génère un pas de quantification py pair afin que le pas de quantification per,cb soit entier et qu'ainsi les données codées obtenues puissent être transcodées sans perte dans un second format de codage comme cela sera décrit dans la suite.  According to another variant, it would be possible to obtain at step E201 a quantization step py relative to the luminance component Y and to use for the components Cr and Cb a quantization step equal to PCr, cb = py / 2. In this case, the step E201 is preferably carried out in such a way that it generates a quantization step py even so that the quantization step per, cb is whole and that the coded data obtained can be transcoded without loss in a second encoding format as will be described later.

Naturellement, le nombre de pas de quantification utilisés pour le codage peut être plus important. On peut par exemple utiliser des pas de quantification spécifiques pour chaque fréquence spatiale (c'est-à-dire définir pour tout couple i,j un pas pci'j applicable à la valeur (y;1).. quel que soit le bloc k,l considéré voir ci-dessous).  Of course, the number of quantization steps used for coding may be larger. For example, it is possible to use specific quantization steps for each spatial frequency (i.e. to define for any pair i, j a pitch pci'j applicable to the value (y; 1). Regardless of the block k, l considered see below).

Dans tous les cas, les pas de quantification utilisés (qu'ils soient tous égaux ou non) peuvent être structurés en une table de quantification. Dans le cas général, la table de quantification relative à la composante c est une matrice avec pour éléments les pas pcij (i représentant l'indice de ligne, j l'indice de colonne).  In all cases, the quantization steps used (whether they are all equal or not) can be structured into a quantization table. In the general case, the quantization table relating to the component c is a matrix with for elements the steps pcij (i representing the line index, j the column index).

A l'étape E202, on récupère dans le fichier source les informations qui décrivent la structure du fichier quant aux composantes qui le constituent. On peut alors diviser le fichier en composantes Y, Cr, Cb et traiter ces composantes l'une après l'autre.  In step E202, the information file describing the structure of the file as to the constituent components thereof is retrieved from the source file. We can then divide the file into Y, Cr, Cb components and process these components one after the other.

A l'étape E203, on initialise la boucle du procédé qui permet de 25 parcourir l'ensemble des composantes: on considère donc la première composante, par exemple la composante de luminance Y. A l'étape E204, on procède à une division des données brutes relatives à la composante en cours de traitement en un certain nombre de blocs. Les blocs considérés sont, par exemple, des ensembles de n x n pixels (en pratique souvent 8x8 pixels) qui correspondent donc chacun à un carré (dans le cas, général un rectangle) dans l'image à coder.  In step E203, the loop of the method is started which makes it possible to traverse all the components: the first component, for example the luminance component Y, is therefore considered. In step E204, a division of the components is carried out. raw data for the component being processed in a number of blocks. The blocks considered are, for example, sets of n x n pixels (in practice often 8x8 pixels) which therefore each correspond to a square (in the case, a general rectangle) in the image to be encoded.

On peut représenter ces blocs par la formule: Bk,l Ldi j JnkSi<n(k+1), nl5j<n(l+1) 11 2867633 L'étape E205 est une étape d'initialisation de la boucle du procédé qui permet de parcourir l'ensemble des blocs définis à l'étape E204 dans la composante considérée. Pour ce faire, on procède de préférence à un ordonnancement des blocs (par exemple selon l'ordre de balayage vidéo "raster scan order" en anglais) et l'on considère le premier bloc selon cet ordre.  These blocks can be represented by the formula: ## EQU1 ## Step E205 is a step of initializing the loop of the method which allows to go through all the blocks defined in step E204 in the component under consideration. To do this, the block scheduling is preferably carried out (for example according to the "raster scan order" video scanning order) and the first block is considered in this order.

A l'étape E206, on procède à la transformation en cosinus discrète (parfois dénommée selon l'acronyme DCT de l'anglais "Discrete Cosinus Transform") du bloc Bk 1 considéré. On réalise ainsi une transformation spatio- fréquentielle des données d'image du bloc, par laquelle on obtient un ensemble Vk l des valeurs brutes, également organisé sous forme de blocs, qui décrivent le bloc Bk,1 dans le domaine fréquentiel. On parle alors de coefficients DCT, ou parfois de données fréquentielles. Par fréquentiel, on entend naturellement ici le domaine spatio-fréquentiel. On peut éventuellement procéder au réordonnancement des valeurs brutes par un parcours selon un balayage zigzag ("zigzag scan" en anglais) sur le bloc.  In step E206, the discrete cosine transformation (sometimes called by the acronym DCT of the English "Discrete Cosine Transform") of the Bk 1 block considered is carried out. A spatio-frequency transformation of the image data of the block is thus carried out, whereby a set Vk 1 of the raw values, also organized in the form of blocks, is obtained which describe the block Bk, 1 in the frequency domain. We then speak of DCT coefficients, or sometimes of frequency data. Frequency is naturally understood here as the spatio-frequency domain. One can possibly reordering the raw values by a course according to a zigzag scan ("zigzag scan" in English) on the block.

Dans tous les cas, on peut écrire de manière simplifiée: Vk = DCT(Bk,, )É Dans d'autres modes de réalisation, on pourrait utiliser d'autres transformations spatio-fréquentielles, comme une transformation en ondelettes 20 discrète (ou DWT de l'anglais "Discrete Wavelet Transform").  In any case, one can write in a simplified way: Vk = DCT (Bk ,,) In other embodiments, one could use other spatio-frequency transformations, such as a discrete wavelet transformation (or DWT). of the English "Discrete Wavelet Transform").

On procède alors à l'étape E207 à la quantification de l'ensemble des valeurs du bloc, c'est-à-dire que l'on calcule pour chaque valeur (m).. du bloc Vk 1 le nombre entier de pas de quantification qui correspondent à cette valeur.  Step E207 is then used to quantize all the values of the block, that is to say that for each value (m) of the block Vk 1 the whole number of steps of quantification that correspond to this value.

Ce nombre entier est généralement dénommé coefficient DCT quantifié.  This integer is generally referred to as quantized DCT coefficient.

On utilise pour ce faire le pas de quantification relatif à la donnée traitée (dans le cas présent, relatif à la composante dont fait partie la valeur traitée) tel que défini à l'étape E201.  To do this, the quantization step relative to the processed data (in this case, relating to the component of which the processed value is part) as defined in step E201 is used.

On peut ainsi, par exemple, exprimer les coefficients DCT quantifiés  It is thus possible, for example, to express the quantized DCT coefficients

PCPC

par la formule: (Cc,r)i j = Int où la fonction Int est la fonction partie 12 2867633 entière et pc le pas de quantification à considérer (ici py ou per,cb selon la composante considérée).  by the formula: (Cc, r) i j = Int where the function Int is the function part 12 2867633 integer and pc the quantization step to be considered (here py or per, cb according to the component considered).

Selon la variante dans laquelle on utilise une table de quantification[pHo<,<n,0<. , la formule plus générale d'obtention du coefficient (c1) l. sera:  According to the variant in which a quantization table [pHo <, <n, 0 <is used. , the more general formula for obtaining the coefficient (c1) l. will be:

JJ

(Ck 1)11 = Int Comme on l'a indiqué auparavant, cette étape est nécessairement réalisée avec une perte d'informations. Par exemple, dans le cas décrit ci-dessus, on obtient le même coefficient DCT quantifié y pour toute valeur fréquentielle v telle que: yp, _<v<(y+1).p,.  (Ck 1) 11 = Int As previously indicated, this step is necessarily performed with a loss of information. For example, in the case described above, the same quantized DCT coefficient y is obtained for any frequency value v such that: yp, _ <v <(y + 1) .p ,.

Une fois la quantification de l'ensemble des valeurs du bloc réalisée, on dispose d'un ensemble Ck,1 de coefficients entiers (coefficients DCT quantifiés) et on peut donc passer à l'étape E208 de codage entropique de cet 15 ensemble (ou bloc) de coefficients Ck,1.  Once the quantification of all the values of the block has been performed, a set Ck, 1 of integer coefficients (quantized DCT coefficients) is available, and it is therefore possible to proceed to the entropy coding step E208 of this set (or block) of coefficients Ck, 1.

On peut remarquer que l'exemple décrit ici utilise une quantification scalaire, mais que l'invention s'applique de manière générale à tous types de quantification vectorielle. Dans tous les cas, les dictionnaires utilisés sont compatibles avec un second format de codage, différent du format de codage obtenu par le procédé décrit ici. Par exemple, les composantes des vecteurs du dictionnaire sont entiers afin de pouvoir être convertis en une table de quantification selon un second format, par exemple du type JPEG.  It may be noted that the example described here uses scalar quantization, but that the invention applies generally to all types of vector quantization. In all cases, the dictionaries used are compatible with a second coding format, different from the coding format obtained by the method described here. For example, the components of the dictionary vectors are integers in order to be converted into a quantization table according to a second format, for example of the JPEG type.

Le codage entropique de l'étape E208 est réalisé conformément à un format de codage spécifique (premier format de codage) par un codeur adapté à ce format spécifique. II peut s'agir par exemple d'un codeur de type Huffman ou d'un codeur arithmétique.  The entropy encoding of step E208 is performed according to a specific encoding format (first encoding format) by an encoder adapted to that specific format. It may be for example a Huffman encoder or an arithmetic encoder.

Le codage entropique des coefficients du bloc (k, I) considéré permet d'obtenir un ensemble 8k,l de données codées compressées (8k 1).. relatives à ce bloc.  The entropic coding of the coefficients of the block (k, I) considered makes it possible to obtain a set 8k, 1 of compressed coded data (8k 1) relating to this block.

13 2867633 On peut résumer mathématiquement cette étape E208 de codage entropique par la formule générale: 8k, = F(CC1,) où F représente la fonction de codage entropique utilisée par le premier format de codage.  Mathematically this entropy coding step E208 can be mathematically summarized by the general formula: 8k, = F (CC1,) where F represents the entropy coding function used by the first coding format.

On passe alors à l'étape E209 au cours de laquelle on détermine si le bloc qui vient d'être traité est le dernier bloc pour la composante courante (au sens de l'ordonnancement décrit plus haut à propos de l'étape E204).  We then go to step E209 in the course of which it is determined whether the block that has just been processed is the last block for the current component (in the sense of the ordering described above with regard to step E204).

Si ce n'est pas le cas, on passe au bloc suivant (étape E210) dont le traitement commence à l'étape E206 décrite ci-dessus.  If this is not the case, we move on to the next block (step E210) whose processing starts in step E206 described above.

Si l'on détermine à l'étape E209 que le dernier bloc relatif à la composante courante a été traité, on passe alors à l'étape E211 au cours de laquelle on détermine si la composante courante est la dernière composante (ici par exemple la composante Cb).  If it is determined in step E209 that the last block relating to the current component has been processed, then step E211 in which it is determined whether the current component is the last component (here for example the component Cb).

Si c'est le cas, on met naturellement fin au procédé de codage (étape E213).  If this is the case, the coding method is naturally terminated (step E213).

Dans le cas contraire, on passe au cours de l'étape E212 à la composante suivante (par exemple, de la composante Y à la composante Cr, ou de la composante Cr à la composante Cb) dont le traitement commence à l'étape E204 par la division en blocs des données relatives à cette nouvelle composante.  In the opposite case, step E212 is passed to the next component (for example, from the component Y to the component Cr, or from the component Cr to the component Cb) whose treatment starts at step E204 by the division into blocks of data relating to this new component.

Lorsque l'on arrive à la fin du procédé de codage à l'étape E213 déjà mentionnée ci-dessus, un ensemble de données codées compressées 67,, est disponible pour toutes les composantes c et pour tous les blocs (k,l) dans chaque composante.  When reaching the end of the coding process in step E213 already mentioned above, a set of compressed coded data 67 ,, is available for all components c and for all blocks (k, l) in each component.

La réunion de toutes les données compressées est sauvegardée, par exemple sur le disque dur 108 de la figure 1, et forme ainsi un fichier compressé 25 représentatif de l'image selon le premier format de codage.  The meeting of all the compressed data is saved, for example on the hard disk 108 of FIG. 1, and thus forms a compressed file representative of the image according to the first coding format.

Ce fichier contient en outre des informations relatives à la quantification utilisée dans l'étape de quantification E207. Ces informations sont, par exemple, les pas de quantification py et PCr,Cb mentionnés ci-dessus. Dans les variantes décrites plus haut, on pourrait ne sauvegarder qu'une seule information de quantification comme le pas de quantification py, ou toute la ou les tables de quantification considérée(s).  This file also contains information relating to the quantization used in the quantization step E207. This information is, for example, the quantization steps py and PCr, Cb mentioned above. In the variants described above, it would be possible to save only one quantization information such as the quantization step py, or all the quantization table (s) considered.

Dans une solution alternative, on pourrait sauvegarder en tant qu'information de quantification un ou plusieurs paramètre(s) à partir desquels il 14 2867633 est possible de générer toutes les informations de quantification (pas de quantification, table de quantification) nécessaires au décodage ultérieur du fichier.  In an alternative solution, one could save as quantization information one or more parameters from which it is possible to generate all the quantization information (quantization step, quantization table) necessary for subsequent decoding. of the file.

Dans le cas de l'utilisation de dictionnaires de vecteurs pour la 5 quantification, les informations sauvegardées pourraient être par exemple des valeurs permettant de reconstruire les dictionnaires.  In the case of using vector dictionaries for quantization, the saved information could be, for example, values for reconstructing the dictionaries.

Grâce à la taille réduite du fichier, son utilisation comme représentation de l'image est notamment avantageuse pour le stockage de l'image, par exemple sur le disque dur 108, ou sa transmission par exemple au moyen de l'interface de communication 112.  Due to the small size of the file, its use as a representation of the image is particularly advantageous for the storage of the image, for example on the hard disk 108, or its transmission for example by means of the communication interface 112.

De plus, comme expliqué en détail dans la suite, ce fichier pourra êtretranscodé dans un second format sans perte d'informations supplémentaire grâce à l'étape E201 de détermination de pas de quantification compatibles avec ce second format.  In addition, as explained in detail later, this file can be retranscoded in a second format without additional loss of information through the step E201 determining quantization steps compatible with this second format.

La figure 3 représente un exemple de procédé de mise en oeuvre de l'étape E201 de détermination des pas de quantification.  FIG. 3 represents an exemplary method for implementing step E201 for determining the quantization steps.

Ce procédé commence par l'étape E301 au cours de laquelle on initialise le pas de quantification courant, c'est-à-dire que l'on considère le premier pas de quantification à obtenir. Dans le cas mentionné plus haut, il s'agit par exemple du pas de quantification py.  This method begins with step E301 in which the current quantization step is initialized, that is to say that the first quantization step to be obtained is considered. In the case mentioned above, it is for example the quantization step py.

On passe ensuite à l'étape E302 où l'unité centrale reçoit, par lecture sur une entrée standard, une valeur brute (en général une valeur souhaitée par l'utilisateur) pe pour le pas de quantification considéré. La lecture sur une entrée standard est, par exemple, la lecture sur le bus de communication 101 d'une valeur entrée par l'utilisateur au moyen du clavier 114.  Then step E302 where the CPU receives, by reading on a standard input, a raw value (usually a value desired by the user) pe for the quantization step considered. The reading on a standard input is, for example, the reading on the communication bus 101 of a value entered by the user by means of the keyboard 114.

En variante, la valeur souhaitée pe pour le pas de quantification pourrait être lue sur un support d'informations, comme le disque dur 108, ou reçue d'un ordinateur distant par l'interface de communication 112.  Alternatively, the desired value p for the quantization step could be read on an information carrier, such as the hard disk 108, or received from a remote computer by the communication interface 112.

L'étape suivante E302 d'obtention d'un pas de quantification souhaité (ou pas de quantification brut) pe est suivie d'une étape E303 de vérification de la validité de ce pas de quantification souhaité pe. La validité, c'est-à-dire ici la conformité à certains critères, est non seulement vérifiée à l'égard du codage dont la présente étape fait partie (premier format), mais également pour un second format de codage dans lequel on souhaite que les données codées 2867633 puissent être transcodées sans perte. Dans le cas où le pas souhaité pe est valide (ou conforme), on peut ainsi dire qu'il est compatible avec le second format de codage.  The following step E302 for obtaining a desired quantization step (or no raw quantization) pe is followed by a step E303 for verifying the validity of this desired quantization step e. The validity, that is to say compliance with certain criteria, is not only verified with respect to the coding of which this step is part (first format), but also for a second coding format in which it is desired that the coded data 2867633 can be transcoded without loss. In the case where the desired step pe is valid (or conform), it can be said that it is compatible with the second coding format.

Dans l'exemple décrit ici, même si le format du codage en cours (premier format de codage) n'impose pas un pas de quantification entier, l'étape E303 vérifie si le pas de quantification souhaité pe est entier. Selon la variante mentionnée plus haut, on peut même vérifier si le pas souhaité pe est pair.  In the example described here, even if the format of the current coding (first coding format) does not impose an entire quantization step, step E303 verifies whether the desired quantization step pe is integer. According to the variant mentioned above, it can even be verified whether the desired pitch pe is even.

Si l'on détermine à l'étape E303 que le pas souhaité (pas brut) pe est valide, on procède alors à l'étape E304 au stockage du pas souhaité pe, en tant que pas de quantification pc pour la composante courante c, dans la mémoire vive 103 (ou alternativement dans le disque dur 108).  If it is determined in step E303 that the desired step (not raw) pe is valid, then step E304 is used to store the desired step pe, as quantization step pc for the current component c, in the RAM 103 (or alternatively in the hard disk 108).

Si au contraire, le pas souhaité pe n'est pas déterminé comme valide à l'étape E303, on passe à l'étape E305 de modification du pas souhaité pe. Par exemple, on applique au pas souhaité (ou pas brut) Pe une fonction dont le résultat sera un pas de quantification valide. Dans l'exemple donné ici, on peut utiliser la fonction partie entière pour modifier le pas souhaité Pe en pas valide pc: pc = l nt(pe).  If on the contrary, the desired step pe is not determined as valid in step E303, step E305 for modifying the desired step pe is carried out. For example, we apply to the desired step (or not raw) a function whose result will be a valid quantization step. In the example given here, we can use the integer function to modify the desired step Pe in valid pc: pc = l nt (pe).

En variante, l'étape E305 de modification du pas souhaité pe pourrait consister à répéter en boucle les étapes suivantes: - d'affichage d'un message indiquant que le pas de quantification n'est pas valide au moyen de l'écran 104, - d'entrée d'un nouveau pas de quantification souhaité, par exemple au moyen du clavier 114 (étape équivalente à l'étape E302), de vérification de la validité du nouveau pas de quantification 25 souhaité (étape équivalente à l'étape E303), tant que le pas de quantification nouvellement entré ne correspond pas à un pas de quantification valide, c'est-à-dire conforme à des critères relatifs non seulement au premier format de codage, mais également au second format de codage.  As a variant, the step E305 for modifying the desired step pe could consist in repeating the following steps in a loop: to display a message indicating that the quantization step is not valid by means of the screen 104, inputting a new desired quantization step, for example by means of the keyboard 114 (step equivalent to step E302), checking the validity of the new quantization step 25 desired (step equivalent to step E303 ), as long as the newly entered quantization step does not correspond to a valid quantization step, that is to say conforms to criteria relating not only to the first coding format, but also to the second coding format.

Dans tous les cas, lorsque le pas de quantification a été modifié à l'étape E305 de manière à être valide (c'est-à-dire notamment compatible avec le second format de codage différent du codage en cours), il est sauvegardé dans 16 2867633 une mémoire ou un support d'informations selon un procédé identique à celui de l'étape E304.  In any case, when the quantization step has been modified in step E305 so as to be valid (that is to say in particular compatible with the second coding format different from the current coding), it is saved in 2867633 a memory or an information carrier according to a method identical to that of step E304.

L'étape E305 tant comme d'ailleurs l'étape E304 sont suivies d'une étape E306 au cours de laquelle on détermine si le pas qui vient d'être obtenu et 5 sauvegardé était le dernier pas de quantification à considérer.  Step E305 as well as step E304 are followed by step E306 in which it is determined whether the step just obtained and saved was the last quantization step to be considered.

Si c'est le cas (c'est-à-dire, dans l'exemple précisément décrit ici, si le pas pu,v a été déterminé et sauvegardé), le procédé d'obtention des pas de quantification (résumé à l'étape E201 de la figure 2) est terminé et l'on peut donc passer à l'étape E202 de la figure 2 comme déjà décrit auparavant.  If it is the case (that is to say, in the example precisely described here, if the step pu, will be determined and saved), the process of obtaining quantization steps (summary at step E201 of FIG. 2) is completed and it is therefore possible to proceed to step E202 of FIG. 2 as already described previously.

A l'inverse, si le pas de quantification traité n'est pas le dernier pas de quantification à déterminer, on passe à l'étape E307 au cours de laquelle on considère le pas de quantification suivant. Dans l'exemple décrit ici, cette étape permet de passer de la détermination du pas de quantification py pour la composante de luminance à la détermination du pas de quantification per,cb pour les composantes de chrominance.  Conversely, if the quantization step being processed is not the last quantization step to be determined, step E307 in which the next quantization step is considered is carried out. In the example described here, this step makes it possible to go from the determination of the quantization step py for the luminance component to the determination of the quantization step per, cb for the chrominance components.

L'étape E307 est suivie de l'étape E302 précédemment décrite au cours de laquelle l'unité centrale 101 reçoit une valeur du pas souhaité pour la nouvelle composante considérée.  Step E307 is followed by step E302 described above during which CPU 101 receives a value of the desired step for the new component considered.

La figure 4 représente les étapes principales d'un procédé de 20 transcodage conforme à l'invention.  Figure 4 shows the main steps of a transcoding method according to the invention.

Le procédé de transcodage commence par une étape E401 de réception de données compressées codées selon le premier format, par exemple sous forme d'un fichier. Le fichier est en général organisé comme une suite de bits ou flux binaire ("bitstream" en anglais) qui décrit sous forme numérique les données compressées (8k,) I. . Les données à transcoder sont, par exemple, lues sur un support d'information, tel que le disque dur 108 ou un disquette 110 inséré dans le lecteur de disquette 109, ou reçues d'un ordinateur distant au moyen de l'interface de communication 112.  The transcoding method starts with a step E401 for receiving coded compressed data in the first format, for example in the form of a file. The file is generally organized as a sequence of bits or bitstream which describes in digital form the compressed data (8k,) I.. The data to be transcoded are, for example, read on an information carrier, such as the hard disk 108 or a diskette 110 inserted into the diskette drive 109, or received from a remote computer by means of the communication interface. 112.

A l'étape E402, des informations relatives à la quantification sont extraites du fichier des données codées selon le premier format. Ces informations sont, par exemple, un pas de quantification unique, un ensemble de pas de quantification, une table de quantification ou de manière générale un ou plusieurs paramètre(s) avec le(s)quel(s) on peut générer l'ensemble des pas de quantification impliqués dans le codage.  In step E402, quantization information is extracted from the encoded data file in the first format. This information is, for example, a single quantization step, a set of quantization steps, a quantization table or generally one or more parameter (s) with which one can generate the set. quantization steps involved in the coding.

Ces informations de quantification déterminent donc avec quel pas de quantification les données du fichier (c'est-à-dire les données du flux binaire reçu) ont été quantifiées lors du codage de ces données selon le premier format.  This quantization information therefore determines with which quantization step the data of the file (i.e. the data of the received bitstream) has been quantized when encoding these data according to the first format.

A l'étape E403, le codeur selon un second format de codage est initialisé. Le codeur selon le second format est par exemple réalisé sous la forme d'un logiciel stocké sur le disque dur 108 et dans la mémoire vive 101 lors de son exécution. Dans l'exemple décrit, le second format de codage est un codage selon la norme JPEG.  In step E403, the coder according to a second coding format is initialized. The encoder according to the second format is for example made in the form of software stored on the hard disk 108 and in the RAM 101 during its execution. In the example described, the second coding format is a coding according to the JPEG standard.

Une fois les informations de quantification extraites et le codeur initialisé, on peut procéder au transcodage composante par composante, et bloc par bloc dans chaque composante, comme expliqué à présent.  Once the quantization information is retrieved and the encoder initialized, component-by-component transcoding and block-by-block transcoding can be performed in each component as now explained.

A l'étape E404, on prend en compte les diverses composantes à considérer, en fonction de la structure du fichier de données au premier format, et l'on fixe un ordre de traitement des diverses composantes (par exemple dans l'ordre des composantes Y, Cr, Cb).  In step E404, the various components to be considered are taken into account, according to the structure of the data file in the first format, and a processing order of the various components is fixed (for example in the order of the components Y, Cr, Cb).

On commence donc par le traitement d'une première composante (initialisation de l'étape E405), par exemple la composante de luminance Y. On passe ensuite à l'étape E406 où les données de la composante courante c sont divisées en blocs. Comme précédemment, on référencera les blocs par leur position (k,l) dans l'image qu'ils représentent et on dénotera 8k,1 le bloc de données codées compressées de position (k,l) dans la composante c. Les blocs sont également ordonnancés à l'étape E406, par exemple 25 selon l'ordre de balayage vidéo précédemment mentionné.  We therefore start with the processing of a first component (initialization of step E405), for example the luminance component Y. We then proceed to step E406 where the data of the current component c are divided into blocks. As before, the blocks will be referenced by their position (k, l) in the image they represent and denote 8k, 1 the block of coded compressed position data (k, l) in the component c. The blocks are also scheduled in step E406, for example in the previously mentioned video scan order.

On peut alors passer à l'étape E407 où l'on initialise le bloc courant à considérer au premier bloc, par exemple dans l'ordre du balayage zigzag.  We can then go to step E407 where we initialize the current block to consider the first block, for example in the order of zigzag scanning.

L'étape suivante E408 prévoit un décodage entropique du bloc courant. Ce décodage entropique est naturellement réalisé dans le cadre du premier format de codage et consiste à inverser le codage entropique selon le premier format (c'est-à-dire la fonction F décrite plus haut).  The next step E408 provides an entropy decoding of the current block. This entropy decoding is naturally done within the framework of the first coding format and consists of inverting the entropy encoding according to the first format (ie the function F described above).

Le résultat du décodage entropique pour le bloc courant est un bloc de coefficients Ck,, . Ce bloc est d'ailleurs identique au bloc de coefficients DCT quantifiés qui a eu pour résultat le bloc 8k,, lors de son codage puisque l'étape de codage entropique (voir étape E208 décrite ci-dessus) est une étape sans perte. Ceci est lié au fait que la fonction de codage entropique F est bijective.  The result of the entropy decoding for the current block is a block of coefficients Ck ,,. This block is moreover identical to the quantized DCT coefficient block which resulted in the block 8k ,, during its coding since the entropy encoding step (see step E208 described above) is a lossless step. This is related to the fact that the entropy coding function F is bijective.

On peut donc écrire en résumé que le bloc de coefficients Ck,1 est 5 obtenu par la formule: Ck! = F-' (S5,) où F-' est la fonction de décodage entropique selon le premier format de codage, inverse de la fonction F de codage entropique selon le premier format de codage déjà mentionnée.  It can therefore be written in summary that the block of coefficients Ck, 1 is obtained by the formula: Ck! = F- '(S5,) where F-' is the entropy decoding function according to the first coding format, inverse of the entropy coding function F according to the first coding format already mentioned.

Une fois le décodage entropique du bloc (k,l) courant réalisé, on passe à l'étape E409 où l'on détermine si le bloc courant est le dernier bloc de la composante à traiter (au sens de l'ordonnancement défini à l'étape E406).  Once the entropic decoding of the current block (k, l) has been carried out, step E409 is made in which it is determined whether the current block is the last block of the component to be processed (in the sense of the scheduling defined in FIG. step E406).

Dans la négative, on passe à l'étape E410 où le bloc suivant devient le bloc courant, puis à l'étape E408 de décodage entropique du bloc courant précédemment décrite.  If not, go to step E410 where the next block becomes the current block and then to the entropy decoding step E408 of the previously described current block.

Si, par contre, il est déterminé à l'étape E409 que le bloc courant est le dernier bloc de la composante courante, on passe à l'étape E411 d'initialisation du codeur JPEG pour la composante courante.  If, on the other hand, it is determined in step E409 that the current block is the last block of the current component, the initialization step of the JPEG coder for the current component is carried out.

On peut remarquer qu'à l'étape E411, le décodage entropique des données codées compressées (ô:).,. a été réalisé pour l'ensemble des blocs de la composante courante c.  It may be noted that in step E411, the entropy decoding of the compressed coded data (δ:).,. was done for all the blocks of the current component c.

L'étape d'initialisation E411 est suivie d'une étape E412 d'obtention et d'inscription de la table de quantification relative au second format de codage.  The initialization step E411 is followed by a step E412 for obtaining and registering the quantization table relating to the second coding format.

La table de quantification est obtenue à partir des informations de quantification extraites lors de l'étape E402, relatives au premier format de codage. Divers exemples d'obtention d'une table de quantification à partir d'informations de quantification sont donnés dans la suite de la description en référence aux figures 5 à 7.  The quantization table is obtained from the quantization information extracted in step E402 relating to the first coding format. Various examples of obtaining a quantization table from quantization information are given in the following description with reference to FIGS. 5 to 7.

Les informations de quantification sont avantageusement compatibles avec le second format, comme cela a par exemple été décrit plus haut en 30 référence au procédé de codage de la figure 2.  The quantization information is advantageously compatible with the second format, as has been described above with reference to the coding method of FIG.

Grâce à la compatibilité ou conformité au second format des informations de quantification relatives au premier format, les pas de 19 2867633 quantification utilisés pour le codage selon le premier format sont également utilisables en ce qui concerne le codage selon le second format. Grâce à leur compatibilité, ils pourront en effet être utilisés tels quels lors de l'étape de quantification inverse effectuée à date ultérieure pour décoder les données codées selon le second format.  Because of the compatibility or conformance to the second format of the quantization information relating to the first format, the quantization steps used for encoding according to the first format are also usable with respect to the second format encoding. Thanks to their compatibility, they can indeed be used as such during the reverse quantization step performed at a later date to decode the coded data according to the second format.

Dans l'exemple décrit en détail ici, les pas de quantification extraits étant entiers (c'est-à-dire compatibles avec le format JPEG) bien que le premier format de codage ne le requiert pas, ils peuvent être utilisés directement dans la table de quantification JPEG construite à l'étape E412.  In the example described in detail here, the extracted quantization steps being integer (that is to say compatible with the JPEG format) although the first coding format does not require it, they can be used directly in the table JPEG quantization method constructed in step E412.

De plus, puisque les pas de quantification n'ont pas à être modifiés, les coefficients DCT quantifiés peuvent être utilisés tels quels. Au contraire, s'il était nécessaire de modifier les pas de quantification, les coefficients DCT quantifiés devraient également être modifiés afin que le produit des coefficients DCT quantifiés par le pas de quantification applicable demeure constant ou varie le moins possible, au risque de créer de nouvelles pertes d'informations.  In addition, since the quantization steps do not have to be modified, the quantized DCT coefficients can be used as is. On the contrary, if it were necessary to modify the quantization steps, the quantized DCT coefficients should also be modified so that the product of the DCT coefficients quantized by the applicable quantization step remains constant or varies as little as possible, at the risk of creating new information losses.

L'étape suivante E413 de codage selon le second format, ici selon le standard JPEG, peut donc être appliquée aux coefficients (Ck,l).. obtenus lors du décodage entropique de l'étape E408, ce qui permet d'éviter toute perte d'informations.  The next coding step E413 according to the second format, here according to the JPEG standard, can therefore be applied to the coefficients (Ck, 1) obtained during the entropy decoding of the step E408, which makes it possible to avoid any loss. information.

Si l'on désigne par C l'ensemble des coefficients DCT quantifiés dans la composante courante c (c'est-à-dire C = tCk,lk<k<m,o<l<m si m est le nombre de blocs dans l'image dans chaque direction) et par G la fonction de codage de type Huffman selon le second format de codage (ici JPEG), les données codées selon le second type de codage dans la composante courante c forment donc un ensemble Ac que l'on peut écrire de manière générale: D = G(C) . Le codage au moyen de la fonction G étant réalisé sans perte et appliqué aux coefficients quantifiés obtenus sans perte à l'étape de décodage entropique E408 à partir des données codées selon le premier format de codage, le transcodage du premier format au second format proposé ici est réalisé sans perte.  If we denote by C the set of quantized DCT coefficients in the current component c (that is, C = tCk, lk <k <m, o <l <m if m is the number of blocks in the image in each direction) and by G the Huffman coding function according to the second coding format (here JPEG), the coded data according to the second coding type in the current component c therefore form a set Ac that the we can write in a general way: D = G (C). The coding by means of the function G being performed without loss and applied to the quantized coefficients obtained without loss in the entropy decoding step E408 from the data coded according to the first coding format, the transcoding of the first format to the second format proposed here is realized without loss.

2867633 On peut remarquer, par ailleurs, que le codage réalisé à l'étape E413 peut être un codage adaptatif puisque tous les blocs de la composante courante sont déjà décodés à l'étape E411 comme on le notait précédemment.  It may be noted, moreover, that the coding performed in step E413 may be an adaptive coding since all the blocks of the current component have already been decoded in step E411 as previously noted.

Lorsque toutes les données relatives à la composante courante ont été codées selon le second format de codage au moyen de la fonction G, on passe à l'étape E414 où l'on détermine si la composante courante c est la dernière composante à traiter (composante Cb dans l'exemple décrit plus particulièrement ici).  When all the data relating to the current component has been encoded according to the second coding format by means of the function G, step E414 is made in which it is determined whether the current component c is the last component to be processed (component Cb in the example described more particularly here).

Dans la négative, on incrémente la composante courante (étape E415) 10 et l'on retourne à l'étape E406 de division et d'ordonnancement des blocs pour la composante courante.  If not, the current component (step E415) is incremented and the block division and blocking step E406 for the current component is returned.

Dans l'affirmative, le codage selon le second format de codage a été réalisé pour toutes les composantes et l'on met naturellement fin au procédé de transcodage à l'étape E416.  If so, the coding according to the second coding format has been carried out for all the components and the transcoding method in step E416 is naturally terminated.

La figure 5 illustre un premier exemple d'obtention d'une table de quantification pour le second format.  Figure 5 illustrates a first example of obtaining a quantization table for the second format.

Dans ce premier exemple, la table de quantification Tc est obtenue à partir d'un pas de quantification p stocké comme un paramètre dans le fichier des données codées au premier format et valable pour toutes les composantes et dans chaque composante, pour toutes les fréquences. Ce paramètre est donc naturellement lu dans la suite de bits reçue ("bitstream"), puis utilisé comme indiqué ci-après.  In this first example, the quantization table Tc is obtained from a quantization step p stored as a parameter in the data file coded in the first format and valid for all components and in each component, for all frequencies. This parameter is therefore naturally read in the bit sequence received ("bitstream") and then used as indicated below.

On rappelle que chaque valeur de la table de quantification est un pas de quantification relatif à certains coefficients particuliers, en général les coefficients d'une fréquence spatiale donnée dans une composante donnée. Dans le cas du premier exemple, on obtient donc simplement la table de quantification Tc relative à une composante par remplissage de cette table avec la valeur p, comme indiqué à la figure 5.  It is recalled that each value of the quantization table is a quantization step relative to certain particular coefficients, in general the coefficients of a given spatial frequency in a given component. In the case of the first example, we thus simply obtain the quantization table Tc relating to a component by filling this table with the value p, as indicated in FIG.

Le pas de quantification p étant valable pour toutes les composantes 30 dans le cas présent (voir ci-dessus), on peut soit utiliser la table Tc pour toutes les composantes (association de la table de même index à toutes les composantes selon la norme JPEG), soit définir une table identique à la table Tc 21 2867633 pour chaque composante (association d'une table d'index spécifique pour chaque composante).  Since the quantization step p is valid for all the components 30 in the present case (see above), it is possible to use the table Tc for all the components (association of the table of the same index to all the components according to the JPEG standard). ), or define a table identical to the Tc 21 table 2867633 for each component (association of a specific index table for each component).

On peut remarquer que, si le paramètre p est choisi entier, la table de quantification et les pas de quantification ainsi obtenus pourront être utilisés pour le codage au second format (codage JPEG), c'est-à-dire qu'ils constituent une table de quantification et des pas de quantification compatibles avec le second format de codage.  It may be noted that, if the parameter p is chosen to be integer, the quantization table and the quantization steps thus obtained can be used for coding in the second format (JPEG coding), that is to say that they constitute a quantization table and quantization steps compatible with the second encoding format.

La figure 6 illustre un second exemple d'obtention d'une table de quantification pour le second format.  Figure 6 illustrates a second example of obtaining a quantization table for the second format.

Dans cet exemple, le paramètre q reçu avec les données codées selon le premier format de codage définit le pas de quantification pour la composante de luminance Y, et ce pour tous les coefficients (c'est-à-dire quelle que soit la fréquence spatiale considérée). Par ailleurs, dans ce second exemple, le pas de quantification des composantes de chrominance Cr et Cb est défini comme étant égal à la moitié du paramètre q (cette définition peut par exemple faire partie de la définition du premier format considéré ici).  In this example, the parameter q received with the data coded according to the first coding format defines the quantization step for the luminance component Y, and this for all the coefficients (that is to say whatever the spatial frequency considered). Moreover, in this second example, the quantization step of the chrominance components Cr and Cb is defined as being equal to half of the parameter q (this definition can for example be part of the definition of the first format considered here).

L'obtention d'une table de quantification va donc ici être réalisée par le remplissage avec le paramètre q d'une table de quantification Ty relative à la composante de luminance Y et le remplissage avec la valeur (q/2) d'une table de 20 quantification Tc,,cb relative aux composantes de chrominance Cr et Cb, comme illustré sur la figure 6.  The obtaining of a quantization table will therefore be carried out here by filling with the parameter q of a quantization table Ty relating to the luminance component Y and the filling with the value (q / 2) of a table the quantization Tc ,, cb relating to chrominance components Cr and Cb, as illustrated in FIG. 6.

Si le pas de quantification q relatif au codage de la composante de luminance selon le premier format a été choisi pair (comme indiqué dans l'un des cas évoqués plus haut), c'est-à-dire compatible avec le second format au sens de ce second exemple, la table de quantification Tcr.cb est composée de pas de quantification entiers et peut donc être utilisée telle quelle comme une table de quantification pour le second format de codage (ici JPEG) avec les avantages qui en découlent comme déjà indiqué.  If the quantization step q relating to the coding of the luminance component according to the first format has been chosen even (as indicated in one of the cases mentioned above), that is to say compatible with the second format in the sense in this second example, the quantization table Tcr.cb is composed of integer quantization steps and can therefore be used as such as a quantization table for the second coding format (here JPEG) with the advantages that result as already indicated .

La figure 7 présente un troisième exemple d'obtention d'une table de 30 quantification pour le second format.  Figure 7 shows a third example of obtaining a quantization table for the second format.

Les informations de quantification du premier format de codage présentes dans le fichier à transcoder sont par exemple définies par le paramètre R et, pour chaque composante c, par le paramètre qc.  The quantization information of the first encoding format present in the file to be transcoded is for example defined by the parameter R and, for each component c, by the parameter qc.

22 2867633 Selon le premier format de codage considéré dans ce troisième exemple, ces paramètres définissent les pas de quantification pci ' relatifs au codage selon le premier format de la manière suivante: p''' = I nt(q.R'i)É Bien qu'ils dépendent de la composante et de la fréquence spatiale auxquelles ils s'appliquent, les pas de quantification ainsi définis sont compatibles avec le second format considéré ici (standard JPEG) car ils sont entiers.  According to the first coding format considered in this third example, these parameters define the quantization pitches pci 'relative to the coding according to the first format as follows: p' '' = I nt (q.R'i) É Although they depend on the component and the spatial frequency to which they apply, the quantization steps thus defined are compatible with the second format considered here (standard JPEG) because they are integers.

Comme indiqué à la figure 7, on obtiendra donc les tables de 10 quantification T,, et Tcr,cb par remplissage avec les pas de quantification déjà utilisés pour le codage selon le premier format puisqu'ils sont compatibles avec le second format.  As indicated in FIG. 7, the quantization tables T 1 and Tcr, c b will therefore be obtained by filling with the quantization steps already used for coding according to the first format since they are compatible with the second format.

Claims (4)

23 2867633 Revendications23 2867633 Claims 1. Procédé de transcodage de données codées selon un premier format en données codées selon un second format, caractérisé en ce qu'il 5 comprend les étapes suivantes: - décodage entropique (E408) des données codées selon le premier format au moyen d'un décodeur adapté au premier format pour obtenir des coefficients quantifiés; - obtention (E402) d'une table de quantification (Tc; Ty, Tcr,cb) compatible avec le second format en fonction d'au moins un paramètre (p; q; R, qr, gcr,cb) relatif aux données codées selon le premier format; - codage entropique (E413) par le codeur adapté au second format des coefficients quantifiés en données codées selon le second format; - inscription (E412) de la table de quantification obtenue (Tc; Ty, Tcr, cb) dans les données codées selon le second format.  A method of transcoding coded data according to a first format into coded data in a second format, characterized in that it comprises the following steps: entropy decoding (E408) of the coded data according to the first format by means of a decoder adapted to the first format to obtain quantized coefficients; obtaining (E402) a quantization table (Tc; Ty, Tcr, cb) compatible with the second format as a function of at least one parameter (p; q; R, qr, gcr, cb) relative to the coded data; according to the first format; entropy coding (E413) by the coder adapted to the second format of the quantized coefficients into coded data according to the second format; - registering (E412) the obtained quantization table (Tc; Ty, Tcr, cb) in the coded data according to the second format. 2. Procédé de transcodage selon la revendication 1, caractérisé en ce que ledit au moins un paramètre est un pas de quantification relatif au premier format.  2. transcoding method according to claim 1, characterized in that said at least one parameter is a quantization step relative to the first format. 3. Procédé de transcodage selon la revendication 2, caractérisé en ce que le pas de quantification relatif au premier format est entier.  3. Transcoding method according to claim 2, characterized in that the quantization step relative to the first format is integer. 4. Procédé de transcodage selon la revendication 2, caractérisé en ce 25 que le pas de quantification relatif au premier format est pair.  4. Transcoding method according to claim 2, characterized in that the quantization step relative to the first format is even. 5. Procédé de transcodage selon l'une des revendications 1 à 4, caractérisé en ce que le premier format est différent du second format.  5. transcoding method according to one of claims 1 to 4, characterized in that the first format is different from the second format. 6. Procédé de transcodage selon l'une des revendications 1 à 5, caractérisé en ce que le second format est un format JPEG.  6. Transcoding method according to one of claims 1 to 5, characterized in that the second format is a JPEG format. 24 2867633 7. Procédé de codage d'une image définie par des données d'image en données codées selon un premier format, caractérisé en ce qu'il comporte les étapes suivantes: - détermination d'un pas de quantification (E201) compatible avec un 5 second format différent du premier format; transformation spatio-fréquentielle (E206) des données d'image en données fréquentielles; - quantification (E207) en fonction du pas de quantification compatible des données fréquentielles en coefficients quantifiés; - codage (E208) au moyen d'un codeur adapté au premier format des coefficients quantifiés en données codées.  7. Method for coding an image defined by image data into coded data according to a first format, characterized in that it comprises the following steps: determination of a quantization step (E201) compatible with a second format different from the first format; spatio-frequency transformation (E206) of the image data into frequency data; quantization (E207) as a function of the compatible quantization step of the frequency data into quantized coefficients; coding (E208) by means of an encoder adapted to the first format of the coefficients quantized into coded data. 8. Procédé de codage selon la revendication 7, caractérisé en ce que l'étape de détermination d'un pas de quantification compatible comprend les 15 étapes de: - réception (E302) d'un pas de quantification souhaité ; - obtention du pas de quantification compatible à partir du pas de quantification souhaité.  8. Coding method according to claim 7, characterized in that the step of determining a compatible quantization step comprises the steps of: - receiving (E302) a desired quantization step; obtaining the compatible quantization step from the desired quantization step. 9. Procédé de codage selon la revendication 8, caractérisé en ce que l'étape d'obtention du pas de quantification compatible comporte les étapes suivantes: - vérification (E303) que le pas de quantification souhaité est compatible; - en cas de vérification négative, réception (E305) d'un autre pas de quantification souhaité ; - en cas de vérification positive, définition (E304) du pas de quantification compatible comme étant égal au pas de quantification souhaité.  9. Encoding method according to claim 8, characterized in that the step of obtaining the compatible quantization step comprises the following steps: checking (E303) that the desired quantization step is compatible; in case of negative verification, receiving (E305) another desired quantization step; in case of positive verification, definition (E304) of the compatible quantization step being equal to the desired quantization step. 10. Procédé selon la revendication 9, caractérisé en ce que les étapes de vérification et de réception d'un autre pas de quantification souhaité sont répétées tant que ledit autre pas de quantification souhaité n'est pas compatible.  The method of claim 9, characterized in that the steps of verifying and receiving another desired quantization step are repeated as long as said other desired quantization step is not compatible. 2867633 11. Procédé selon la revendication 8, caractérisé en ce que l'étape d'obtention du pas de quantification compatible est une étape d'obtention d'un pas de quantification entier.  The method of claim 8, characterized in that the step of obtaining the compatible quantization step is a step of obtaining an entire quantization step. 12. Procédé selon la revendication 11, caractérisé en ce que l'étape d'obtention du pas de quantification compatible comprend les étapes suivantes: - calcul de la partie entière du pas de quantification souhaité ; - définition du pas de quantification compatible comme étant égal à ladite partie entière.  12. The method as claimed in claim 11, characterized in that the step of obtaining the compatible quantization step comprises the following steps: calculating the integer part of the desired quantization step; the definition of the compatible quantization step being equal to said integer part. 13. Procédé selon la revendication 8, caractérisé en ce que l'étape d'obtention du pas de quantification compatible est une étape d'obtention d'un pas de quantification pair.  13. The method of claim 8, characterized in that the step of obtaining the compatible quantization step is a step of obtaining an even quantization step. 14. Procédé selon l'une des revendications 8 à 13, caractérisé en ce que le codage est un codage entropique.  14. Method according to one of claims 8 to 13, characterized in that the coding is an entropy coding. 15. Procédé de codage selon l'une des revendications 8 à 14, caractérisé en ce que le second format est un format JPEG.  15. Encoding method according to one of claims 8 to 14, characterized in that the second format is a JPEG format. 16. Dispositif de transcodage de données codées selon un premier format en données codées selon un second format, caractérisé en ce qu'il comprend: un décodeur adapté au premier format pour décodage entropique 25 des données codées selon le premier format en coefficients quantifiés; - des moyens pour obtenir une table de quantification (Tc; Ty, Tcr,cb) compatible avec le second format en fonction d'au moins un paramètre (p; q; R, qr, gcr,cb) relatif aux données codées selon le premier format; - un codeur adapté au second format pour codage entropique des 30 coefficients quantifiés en données codées selon le second format; - des moyens pour inscrire la table de quantification obtenue (Tc; Ty, Tcr,cb) dans les données codées selon le second format.  16. Device for transcoding coded data according to a first format into coded data according to a second format, characterized in that it comprises: a decoder adapted to the first format for entropy decoding data coded according to the first quantized coefficient format; means for obtaining a quantization table (Tc; Ty, Tcr, cb) compatible with the second format as a function of at least one parameter (p; q; R, qr, gcr, cb) relative to the data coded according to the first format; an encoder adapted to the second format for entropic coding of the quantized coefficients into coded data according to the second format; means for registering the obtained quantization table (Tc, Ty, Tcr, cb) in the coded data according to the second format. 26 2867633 17. Dispositif de transcodage selon la revendication 16, caractérisé en ce que ledit au moins un paramètre est un pas de quantification relatif au premier format.  26. Transcoding device according to claim 16, characterized in that said at least one parameter is a quantization step relative to the first format. 18. Dispositif de transcodage selon la revendication 17, caractérisé en ce que le pas de quantification relatif au premier format est entier.  18. transcoding device according to claim 17, characterized in that the quantization step relative to the first format is integer. 19. Dispositif de transcodage selon la revendication 17, caractérisé en ce que le pas de quantification relatif au premier format est pair.  19. transcoding device according to claim 17, characterized in that the quantization step relative to the first format is even. 20. Dispositif de transcodage selon l'une des revendications 16 à 19, caractérisé en ce que le premier format est différent du second format.  20. transcoding device according to one of claims 16 to 19, characterized in that the first format is different from the second format. 21. Dispositif de transcodage selon l'une des revendications 16 à 20, 15 caractérisé en ce que le second format est un format JPEG.  21. transcoding device according to one of claims 16 to 20, characterized in that the second format is a JPEG format. 22. Dispositif de codage d'une image définie par des données d'image en données codées selon un premier format, caractérisé en ce qu'il comprend: - des moyens de détermination d'un pas de quantification compatible avec un second format différent du premier format; - des moyens pour transformation spatio-fréquentielle des données d'image en données fréquentielles; - des moyens de quantification en fonction du pas de quantification compatible des données fréquentielles en coefficients quantifiés; - un codeur adapté au premier format pour codage des coefficients quantifiés en données codées.  22. Device for encoding an image defined by image data into coded data in a first format, characterized in that it comprises: means for determining a quantization step compatible with a second format different from the first format; means for spatio-frequency transformation of the image data into frequency data; quantization means as a function of the quantization step compatible with the frequency data in quantized coefficients; an encoder adapted to the first format for coding the quantized coefficients into coded data. 23. Dispositif de codage selon la revendication 22, caractérisé en ce que les moyens de détermination d'un pas de quantification compatible 30 comprennent: - des moyens de réception d'un pas de quantification souhaité ; - des moyens d'obtention du pas de quantification compatible à partir du pas de quantification souhaité.  23. Encoding device according to claim 22, characterized in that the means for determining a compatible quantization step include: means for receiving a desired quantization step; means for obtaining the compatible quantization step from the desired quantization step. 24. Dispositif de codage selon la revendication 23, caractérisé en ce que les moyens d'obtention du pas de quantification compatible génère un pas de quantification entier.  24. Encoding device according to claim 23, characterized in that the means for obtaining the compatible quantization step generates an entire quantization step. 25. Dispositif de codage selon la revendication 23, caractérisé en ce que les moyens d'obtention du pas de quantification compatible génère un pas de quantification pair.  25. Encoding device according to claim 23, characterized in that the means for obtaining the compatible quantization step generates an even quantization step. 26. Dispositif de codage selon l'une des revendications 22 à 25, 10 caractérisé en ce que le second format est un format JPEG.  26. Encoding device according to one of claims 22 to 25, characterized in that the second format is a JPEG format. 27. Moyen de stockage d'informations qui peut être lu par un ordinateur ou un microprocesseur, contenant des instructions d'un programme d'ordinateur pour exécuter les étapes du procédé selon l'une des revendications 1 à 15.  An information storage medium that can be read by a computer or a microprocessor, containing instructions from a computer program for performing the steps of the method according to one of claims 1 to 15. 28. Moyen de stockage d'informations partiellement ou totalement amovible, qui peut être lu par un ordinateur ou un microprocesseur, contenant des instructions d'un programme d'ordinateur pour exécuter les étapes du  28. Partially or fully removable information storage medium, which can be read by a computer or a microprocessor, containing instructions from a computer program for performing the steps of procédé selon l'une des revendications 1 à 15.  process according to one of claims 1 to 15. 29. Programme d'ordinateur qui peut être chargé dans un appareil programmable, caractérisé en ce qu'il comprend des séquences d'instructions ou des portions de code logiciel pour mettre en oeuvre les étapes du procédé selon l'une des revendications 1 à 15, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.  29. Computer program that can be loaded into a programmable device, characterized in that it comprises instruction sequences or portions of software code to implement the steps of the method according to one of claims 1 to 15 , when this computer program is loaded and executed by the programmable device.
FR0402484A 2004-03-10 2004-03-10 METHODS AND DEVICES FOR ENCODING AND TRANSCODING DATA Expired - Fee Related FR2867633B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0402484A FR2867633B1 (en) 2004-03-10 2004-03-10 METHODS AND DEVICES FOR ENCODING AND TRANSCODING DATA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0402484A FR2867633B1 (en) 2004-03-10 2004-03-10 METHODS AND DEVICES FOR ENCODING AND TRANSCODING DATA

Publications (2)

Publication Number Publication Date
FR2867633A1 true FR2867633A1 (en) 2005-09-16
FR2867633B1 FR2867633B1 (en) 2006-07-14

Family

ID=34896425

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0402484A Expired - Fee Related FR2867633B1 (en) 2004-03-10 2004-03-10 METHODS AND DEVICES FOR ENCODING AND TRANSCODING DATA

Country Status (1)

Country Link
FR (1) FR2867633B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351568B1 (en) * 1998-03-20 2002-02-26 Canon Kabushiki Kaisha Image transform and significance bit-plane compression and decompression
EP1195993A2 (en) * 2000-10-03 2002-04-10 Matsushita Electric Corporation of America Transcoding of video signal
US20020110193A1 (en) * 2000-12-08 2002-08-15 Samsung Electronics Co., Ltd. Transcoding method and apparatus therefor
US20030044076A1 (en) * 2001-08-24 2003-03-06 International Business Machines Corporation Managing image storage size

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351568B1 (en) * 1998-03-20 2002-02-26 Canon Kabushiki Kaisha Image transform and significance bit-plane compression and decompression
EP1195993A2 (en) * 2000-10-03 2002-04-10 Matsushita Electric Corporation of America Transcoding of video signal
US20020110193A1 (en) * 2000-12-08 2002-08-15 Samsung Electronics Co., Ltd. Transcoding method and apparatus therefor
US20030044076A1 (en) * 2001-08-24 2003-03-06 International Business Machines Corporation Managing image storage size

Also Published As

Publication number Publication date
FR2867633B1 (en) 2006-07-14

Similar Documents

Publication Publication Date Title
EP2991351B1 (en) Procedure for decoding of images
EP2991350B1 (en) Method for decoding images
US11893007B2 (en) Embedding codebooks for resource optimization
EP2724536A1 (en) Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
EP3061246A1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
FR2867633A1 (en) Encoded data transcoding method, involves obtaining quantization table compatible with JPEG format based on quantization step related to data encoded based on another format and inscribing table in data encoded based on JPEG format
EP3520416B1 (en) Method for encoding an image and associated decoding method, devices, terminal equipment and computer programs
Hofer et al. Progressive JPEGs in the Wild: Implications for Information Hiding and Forensics
WO2017129880A1 (en) Method for encoding and decoding data, device for encoding and decoding data, and corresponding computer programs
WO2008049628A1 (en) Method and device for optimizing the compression of a video stream
FR2835665A1 (en) CODING AND DECODING OF DIGITAL SIGNALS
FR2957744A1 (en) METHOD FOR PROCESSING A VIDEO SEQUENCE AND ASSOCIATED DEVICE
FR2831379A1 (en) Method for copying compressed digital data on information support, e.g. CD or DVD, includes compressing data in successive fragments with basic layer and partially suppressed improvement layer
WO2024121109A1 (en) Method and device for coding and decoding images
WO2020002795A1 (en) Methods and devices for coding and decoding a data stream representing at least one image
FR2853749A1 (en) Digital video signal processing method for e.g. camcorder, involves applying geometric transformation to decoded signal, and modifying geometrical order in which transcoded signal is displayed on support after decompression
FR2787222A1 (en) Method of geometrically transforming a digital compressed image in computer communication network by transmitting a compressed image file that is performed by selection device
FR2850825A1 (en) Transcoded and compressed digital image signal forming method, involves decoding data block pertaining to original compressed digital signal, and coding transformed data to obtain transcoded compressed image signal
FR2867924A1 (en) Coded image data decoding process, involves decoding intermediate data of blocks if verification of criteria is positive, by obtaining, for each block, image data related to intermediate data if verification of another criteria is positive
FR2872650A1 (en) Digital signal compression process for medical imaging, involves obtaining current prediction of digital sample by linear combination of previous digital sample and previously calculated estimation of previous digital sample
FR2851109A1 (en) Model parameters determination method for estimating image sequence distortion, involves assigning current image sequence of model parameters with reference image sequence selected based on representation information
FR2804821A1 (en) Image digital signal compression having acquisition and coding sub assembly selection extracting context signals /optimising coding parameters choosing best parameter set.
FR2936388A1 (en) Original video sequence transcoding method, involves creating upper layer coded along format and having resolution same as resolution of layer of original video sequence, and modifying upper layer using data of lower layer
FR2924563A1 (en) Digital signal encoding method for telecommunication system, involves encoding current sample using code formed from information representing statistical distribution, to obtain encoded current sample
FR2927486A1 (en) Signal e.g. image signal, coding method for signal processing method, involves coding histogram signal based on coding type selected among coding type of each of occurrences associated to digital values and substitution type of histogram

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128