EP3596923A1 - Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants - Google Patents

Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Info

Publication number
EP3596923A1
EP3596923A1 EP18713333.5A EP18713333A EP3596923A1 EP 3596923 A1 EP3596923 A1 EP 3596923A1 EP 18713333 A EP18713333 A EP 18713333A EP 3596923 A1 EP3596923 A1 EP 3596923A1
Authority
EP
European Patent Office
Prior art keywords
image
current block
coding
syntax element
value
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.)
Pending
Application number
EP18713333.5A
Other languages
German (de)
English (en)
Inventor
Félix Henry
Joël JUNG
Bappaditya Ray
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.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP3596923A1 publication Critical patent/EP3596923A1/fr
Pending 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/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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates generally to the field of image processing, and more specifically to coding and decoding of digital image parameters, whether these digital images are fixed or part of a digital image sequence.
  • the coding / decoding of such image parameters applies in particular to images originating from at least one video sequence comprising:
  • the present invention applies similarly to the coding / decoding of 2D or 3D type image parameters.
  • the invention may especially, but not exclusively, apply to video coding implemented in current AVC and HEVC video encoders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), and to corresponding decoding.
  • the image parameters associated with this block are coded in the form of bits using a suitable coding method implemented.
  • an encoder such as for example an entropic encoder whose purpose is to encode these parameters without loss.
  • the bits obtained after entropy coding are written in a data signal which is intended to be transmitted to the decoder.
  • cbf abbreviation for "Coded Block Flag”
  • the decoding is done image by image, and for each image, block by block. For each block, the bits representative of the image parameters associated with the block are read and then decoded using a decoding method implemented by a decoder.
  • this projection is of the Mercator, equirectangular type, of the CMP (abbreviation of "Cube Map Projection") type, etc.
  • CMP abbreviation of "Cube Map Projection”
  • the upper and lower areas of this image contain the most deformations that the rest of the image.
  • the coding of the parameters associated with the blocks contained in these particular zones is not effective, which furthermore leads to an unnecessary decrease in the gain in flow rate.
  • the invention therefore aims at optimizing the signaling cost of the image coding parameters, by implementing a selective coding of these coding parameters which takes into account, at a first level, the characteristic of the image to be coded, and at a second level, the arrangement of the current block to be encoded in this image.
  • One of the aims of the invention is to overcome disadvantages of the state of the art mentioned above.
  • an object of the present invention relates to a method of coding at least one image cut into blocks, implementing the following:
  • a second syntax element representative of the value of said at least one coding parameter is coded only if the current block belongs to a zone predefined image
  • the second syntax element is encoded, whether the current block belongs to the predefined zone or not.
  • Such an arrangement makes it possible to avoid coding, then transmitting to the decoder, at least one syntax element representative of a coding parameter of a block, taking into account not only that such a block is located in a block. specific area of the image, for which the coding of this syntax element is not useful in view of the current image coding context, but also of a characteristic of the image to be coded in which the block is located current.
  • the coding of the second syntax element representative of the value of said at least one coding parameter is implemented according to a dependent criterion. characteristics of the current block.
  • Such an arrangement also makes it possible to implement an adaptive coding of at least one syntax element representative of a coding parameter of a block, according to the value of a criterion depending on the characteristics of the current block, such as by example the size, the value of the residual pixels of this block, the type of transform applied to the residual pixels of this block if the latter has undergone a prediction, etc.
  • a criterion depending on the characteristics of the current block, such as by example the size, the value of the residual pixels of this block, the type of transform applied to the residual pixels of this block if the latter has undergone a prediction, etc.
  • the characteristic of said at least one image is the type of obtaining said at least one image.
  • the current image is a two-dimensional image, it is decided:
  • the characteristic of said at least one image is the current encoding context of the image.
  • coding level of different quality in the case of image coding applied to medical imaging, it is decided to apply to at least two different areas of the current image a coding level of different quality so as to:
  • the invention relates to a device for encoding at least one image cut into blocks, comprising a processing circuit which is arranged for:
  • a current block for a current block to be encoded associated with at least one coding parameter, coding the data of the current block.
  • the first syntax element is encoded according to a first predefined value representative of the characteristic of the image, coding a second syntax element representative of the value of said at least one coding parameter, only if the current block belongs to a zone predefined image,
  • the first syntax element is coded according to a second predefined value representative of the characteristic of the image, coding the second syntax element, whether the current block belongs to the predefined zone or not.
  • the invention also relates to a method of decoding a data signal representative of at least one coded picture having been cut into blocks, implementing the following: decoding a first syntax element contained in said data signal, said first syntax element being associated with a characteristic of said at least one image,
  • a current block for a current block to be decoded associated with at least one coding parameter, to decode the data of the current block.
  • a second syntax element representative of the value of said at least one coding parameter is decoded only if the current block belongs to a predefined zone of the image
  • the second syntax element is decoded, whether the current block belongs to the predefined zone or not.
  • the decoding of the second syntax element representative of the value of said at least one coding parameter is implemented according to a dependent criterion. characteristics of the current block.
  • the characteristic of said at least one image is the type of obtaining said at least one image.
  • the characteristic of said at least one image is the current decoding context of the image.
  • the invention relates to a device for decoding a data signal representative of at least one coded picture having been cut into blocks, comprising a processing circuit which is arranged for:
  • decoding a first syntax element contained in the data signal the first syntax element being associated with a characteristic of said at least one image, for a current block to be decoded associated with at least one coding parameter, to decode the data of the current block.
  • Such a decoding device is remarkable in that the processing circuit is arranged for:
  • the first syntax element has a first predefined value representative of the characteristic of the image, decoding a second syntax element representative of the value of said at least one coding parameter, only if the current block belongs to a predefined zone of the image,
  • the first syntax element has a second predefined value representative of the characteristic of the image, decoding the second syntax element, whether the current block belongs to the predefined zone or not.
  • the invention also relates to a computer program comprising instructions for implementing one of the coding and decoding methods according to the invention, when it is executed on a computer.
  • Such a program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any another desirable form.
  • Still another object of the invention is directed to a computer readable recording medium, and including computer program instructions as mentioned above.
  • the recording medium may be any entity or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, a USB key, or a magnetic recording means, for example a hard disk.
  • such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can be downloaded in particular on an Internet type network.
  • such a recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute the method in question or to be used in the execution of the latter.
  • FIG. 1A represents the steps of the coding method according to one embodiment of the invention
  • FIG. 1B represents an alternative of the coding method of FIG. 1A
  • FIG. 2 represents a coding device according to one embodiment of the invention
  • FIG. 3A represents an image divided into blocks according to a first embodiment
  • FIG. 3B represents an image divided into blocks according to a second embodiment
  • FIGS. 4A to 4D each represent examples of predefined zones in the current image, in the case of a particular obtaining of the current image,
  • FIG. 5A represents a current image in a coding / decoding context where the coder / decoder chooses to apply or not to apply a different level of coding / decoding quality to at least two zones of the current image
  • FIG. 5B represents an example of a predefined zone in the current image, in the case where the coder / decoder chooses to apply or not to apply a different quality of coding / decoding level to at least two zones of the current image,
  • FIG. 6A represents the steps of the decoding method according to one embodiment of the invention.
  • FIG. 6B represents an alternative of the decoding method of FIG. 6A
  • FIG. 7 represents a decoding device according to one embodiment of the invention.
  • the coding method according to the invention is used to code an image or a sequence of images according to a bit stream close to that obtained by a coding set.
  • the coding method according to the invention is used to code an image or a sequence of images according to a bit stream close to that obtained by a coding set.
  • the coding method according to the invention is for example implemented in a software or hardware way by modifications of such an encoder.
  • the coding method according to the invention is represented in the form of an algorithm comprising operations C1 to C9 as represented in FIG. 1A.
  • the coding method according to the invention is implemented in a coding device or coder CO shown in FIG.
  • the coder CO comprises a memory MEM_C comprising a buffer memory MT_C, a processor PROC_C controlled by a computer program PG_C which implements the coding method according to the invention.
  • the code instructions of the computer program PG_C are for example loaded into a RAM, denoted MR_C, before being executed by the processor PROC_C.
  • the encoding method shown in Fig 1 A apply to the entire current image IC j fixed or part of a sequence of L IC-i images, IC j, ..., IC L (1 ⁇ j ⁇ L ) to code.
  • the current image IC j comes from at least one video sequence comprising, by way of non-exhaustive examples:
  • C1 is, in a manner known per se, the cutting of a current image IC j into a plurality of blocks Bi, B 2 , B u , ..., B s (1 ⁇ u ⁇ S).
  • the partitioning is implemented by a partitioning device MP_C shown in FIG. 2, which device is controlled by the processor PROC_C.
  • block means coding unit ("coding unit”).
  • coding unit means coding unit
  • This last terminology is notably used in the standard HEVC "ISO / IEC / 23008-2 Recommendation ITU-T H.265 High Efficiency Video Coding (HEVC)”.
  • such a coding unit groups together sets of pixels of rectangular or square shape, also called blocks, macroblocks, or sets of pixels having other geometrical shapes.
  • Said blocks B ; B 2 , B u , ..., B s are intended to be coded according to a predetermined order of travel, which is for example of the lexicographic type. This means that the blocks are coded one after the other, from left to right.
  • the blocks Bi, B 2 , B u , ..., B s have a square shape and all contain K pixels, with K> 1.
  • the blocks B ; B 2 , B u , ..., B s are obtained at the end of a single subdivision of the current image IC j into blocks of maximum size.
  • the blocks have a size of for example 64 ⁇ 64 pixels.
  • the blocks B ; B 2 , B u , ..., B s are obtained at the end of a subdivision of the current image ICj into blocks of size less than or equal to the maximum size mentioned above.
  • said blocks are, for example, 64 ⁇ 64 and / or 32 ⁇ 32 and / or 16 ⁇ 6 and / or 8 ⁇ 8 pixels.
  • the last blocks on the left and the last blocks on the bottom may not be square.
  • the blocks may be for example of rectangular size and / or not aligned with each other.
  • the syntax element ESi is a high level syntax element of a video sequence including the current image ICj.
  • this element can be coded:
  • VCES1 i which is representative of a characteristic of a first type of the current image ICj
  • VCES1 2 which is representative of a characteristic of a second type of the current image
  • the coding C2 is for example a entropic coding of type CABAC
  • the characteristic of the image ICj is the type of obtaining of the latter.
  • the characteristic of the image ICj is the type of obtaining of the latter.
  • VCES1 1 1
  • VCES1 2 0.
  • the characteristic of the image IC j is the choice of the encoder to apply or not a coding quality level different to at least two areas of the current image to be encoded.
  • the characteristic of the image IC j is the choice of the encoder to apply or not a coding quality level different to at least two areas of the current image to be encoded.
  • VCES1 i 1, which indicates that the central zone of the current image is coded according to a level of higher quality than the one applied to the peripheral zone of the current image,
  • VCES1 2 0 which indicates that a same level of coding quality is applied to the whole current image .
  • the coder CO of FIG. 2 selects as current block a first block to be coded B u of image IC j , such as for example the first block Bi.
  • the current block B u is associated with at least one coding parameter.
  • a coding parameter is:
  • the prediction mode (intra prediction, inter prediction, bi-prediction, prediction by default carrying out a prediction for which no information is transmitted to the decoder (in English "skip");
  • DCT 4x4, DCT 8x8 applied to the current block or to the residual pixels of the current block if the latter has undergone a prediction
  • a filtering of the current image IC j once coded such as for example that practiced by the technique "Sample Adaptive "Offset” of the HEVC standard (described in Chih-Ming Fu, Alshina, Alshin, Yu-Wen Huang, Ching-Yeh Chen, Chia-Yang Tsai, Chih-Wei Hsu, Shaw-Min Lei; Jeong-Hoon Park, Woo-Jin Han “Sample Adaptive Offset in the HEVC Standard” Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, Dec. 2012);
  • the index of the intra prediction mode from a list constructed for the current block
  • a filter indicator of the reference pixels that were used to predict the current block
  • a second element of syntax ES 2 is representative of the value of said at least one coding parameter.
  • the coder CO reads the coded value VCES1 or VCES1 2 of the ES-i syntax element.
  • the coded value of the syntax element ESi is VCES1 i and if, in C5, the current block B u belongs to a predefined zone of the current image IC j , it is decided in C6 not to encode the ES 2 syntax element.
  • the syntax element ES 2 is set to a predefined value. Such an operation is particularly suitable when the information density of the predefined area of the image is low or very low.
  • ES 2 if the element of syntax ES 2 is representative of the prediction mode of the current block B u and that, for example, ES 2 takes:
  • ES 2 is representative of the value of the residual pixels of the current block B u and that, for example, ES 2 takes:
  • the predefined values VES2 and VES2 2 of the second element of syntax ES 2 are previously stored in an LTSi list which is stored in the buffer memory MT_C of the encoder CO of FIG. 2.
  • the coded value of the syntax element ESi is VCES1 i and if, in C5, the current block B u does not belong to the predefined zone of the current image, the predefined value VES2 or VES2 2 taken by the second element of syntax ES 2 is coded in C7. At the end of this coding C7, according to the current coding context, a coded value VCES2i or VCES2 2 of the second syntax element ES 2 is obtained.
  • ES 2 if the element of syntax ES 2 is representative of the prediction mode of the current block B u and that, for example, ES 2 takes:
  • VES2 a first predefined value indicating an inter prediction of the current block B u
  • the syntax element ES 2 is representative of the value of the residual pixels of the current block B u and that, for example, ES 2 takes:
  • VES2 or VES2 2 of the element of syntax ES 2 is systematically coded in C7, for example the value , respectively, depending on the current coding context.
  • Such coding is, for example, entropic coding of CABAC type ("Context Adaptive Binary Arithmetic Coder" in English) or else an entropy coding of arithmetic type or Huffman type.
  • This coding is implemented by an encoding device MC_C represented in FIG. 2.
  • the coded value of the syntax element ESi is VCES1 2
  • the value VES2 or VES2 2 of the syntax element ES 2 is systematically coded at C7, for example the value , respectively, depending on the current coding context.
  • the current image IC j is for example a 2D image obtained by two-dimensional projection of a 180 ° or 330 ° video
  • FIG. 4A shows the current image IC j as a 2D image obtained by two-dimensional projection of a 360 ° video.
  • a first predefined zone, denoted Z1 of the current image IC j has a height H1 such that 0.2H ⁇ H1 ⁇ 0.8H.
  • the blocks contained in the zone Z1 contain the pixels resulting from the projection in the current image IC j of the pixels closest to the equator of the image captured by a 360 ° video capture sphere and thus undergoing little deformation.
  • the blocks contained in the zones predefined remaining image, denoted Z2 in Figure 4A contain the pixels resulting from the projection in the image IC j pixels located near the poles of the sphere of 360 ° video capture and thus undergoing maximum deformation.
  • FIG. 4B shows the current image IC j as an image
  • the predefined zone Z1 of the current image IC j has a height H1 such that 0 ⁇ H1 ⁇ 0.8H.
  • the blocks contained in the zone Z1 are the blocks containing the pixels resulting from the projection in the current image IC j of the pixels closest to the equator of the image captured by a half-sphere of video capture 180 ° and undergoing thus little deformation.
  • the blocks contained in the predefined zone Z2 of the image are the blocks containing the pixels resulting from the projection in the IC image j of the pixels located near the north pole of the 180 ° video capture sphere and thus undergoing maximum deformation.
  • FIG. 4C shows the current image IC j as an image
  • a first predefined zone Z1 of the current image IC j has a height H1 such that 0.2H ⁇ H1 ⁇ H.
  • the blocks contained in the zone Z1 are the blocks containing the pixels resulting from the projection in the image IC j of the pixels closest to the equator of the image captured by a half-sphere of video capture 180 ° and thus undergoing little deformation.
  • the blocks contained in the predefined remaining zone Z2 of the current image IC j are the blocks containing the pixels resulting from the projection in the image IC j of the pixels located near the south pole of the 180 ° video capture sphere and undergoing maximum deformation.
  • FIG. 4D shows the current image IC j as an image
  • a predefined zone, denoted Z1 of the current image IC j has a height H1 such that 0.2H ⁇ H1 ⁇ 0.8H.
  • the blocks contained in the zone Z1 are the blocks containing the pixels resulting from the projection in the current image IC j of the pixels closest to the equator of the image captured by a 360 ° video capture sphere and thus undergoing little deformation.
  • Image IC j also contains two other predefined zones Z2 situated on either side of zone Z1.
  • a first zone Z2 has a height H2 such that 0.1 H ⁇ H2 ⁇ 0.2H.
  • Blocks contained in the zone Z2i of the current image IC j are the blocks containing the pixels resulting from the projection in the image IC j of the pixels located closest to the last line before the south pole of the 360 ° video capture sphere and thus undergoing moderate deformation.
  • a second zone Z2 2 has a height H2 2 such that 0.8H ⁇ H2 2 ⁇ 0.9H.
  • the blocks contained in the zone Z2 2 of the current image IC j are the blocks containing the pixels resulting from the projection in the image IC j of the pixels situated closest to the first line before the north pole of the capture sphere 360 ° video and thus undergoing moderate deformation.
  • Image IC j also contains two other predefined zones situated respectively on either side of zones Z2i and Z2 2 .
  • a first zone Z3i has a height H3i such that 0 ⁇ H3i ⁇ 0.1 H.
  • the blocks contained in the zone Z3i of the current image IC j are the blocks containing the pixels resulting from the projection in the image IC j of the pixels located closest to the south pole of the 360 ° video capture sphere and thus undergoing maximum deformation.
  • a second zone Z3 2 has a height H3 2 such that 0.9H ⁇ H3 2 ⁇ H.
  • the blocks contained in the zone Z3 2 of the current image IC j are the blocks containing the pixels resulting from the projection in the image IC j of the pixels located closest to the north pole of the 360 ° video capture sphere and undergoing thus a maximum deformation.
  • predefined areas of the current image IC j it is of course possible to define predefined areas of the current image IC j differently.
  • the current image IC j is for example a 2D image obtained by CMP projection of a 180 ° or 360 ° video
  • one or more specific areas are predefined as a function of the proximity of the pixels relative to each other. at the edges of the cubes used for projection.
  • the zones may be defined by the value of a function depending on the coordinates of the block in the current image IC j , or of its processing order among all the blocks of the current image IC j .
  • the pixels whose distance from the center of the image is greater than a threshold define a first zone, the other pixels defining a second zone.
  • the given pixel PxD belongs to the first zone Z1 if and only if the square root of the value (xc-xp) 2 + (yc-yp) 2 is greater than a threshold T1.
  • the given pixel PxD belongs to the first zone Z1 if and only if one of the values
  • FIG. 5A represents an example of a current image IC j , for which the characteristic of the image IC j is the choice of the encoder to apply or not a coding quality level different to at least two zones of the current image. .
  • VCES1 i 1 to indicate that a first zone of the current image is coded according to a level of NQ1 coding quality less than a NQ2 coding quality level applied to a second zone of the current image
  • VCES1 2 0 to indicate that a same level of quality of NQ coding is applied to any zone of the image common.
  • FIG. 5B shows an example of predefined zones in the current image IC j .
  • the current image CI j includes:
  • a first predefined zone Z1 such as for example the peripheral zone of the current image IC j , whose information density is low and for which the quality level of coding NQ1 is applied,
  • At least one second predefined zone Z2 such as for example the central zone of the current image IC j , whose information density is higher and for which the quality level of coding NQ2 is applied.
  • the given pixel belongs to the first zone Z1 if and only if one of the values
  • the data of the current block B u are encoded C8.
  • such an encoding C8 implements the application C81 of a transform to the data of the current block B u .
  • data means the pixels of the current block B u .
  • data are also understood to mean the pixels of a predicted block obtained by means of a prediction of the current block B u with respect to a predictor block that is selected following a call for competition.
  • different prediction modes inter, intra or other predetermined, for example by minimizing a distortion rate criterion well known to those skilled in the art.
  • Such a transform is for example a DCT (abbreviation of "Discrete Cosine Transform"), DST (abbreviation of "Discrete Sine Transform”) ), type DWT (abbreviation of "Discrete Wavelet Transform”) or type LT (abbreviation of "Lapped Transform”).
  • DCT abbreviation of "Discrete Cosine Transform”
  • DST abbreviation of "Discrete Sine Transform”
  • type DWT abbreviation of "Discrete Wavelet Transform”
  • type LT abbreviation of "Lapped Transform”
  • Such an operation is performed by a transform calculation device MTR_C, as represented in FIG. 2, which device is controlled by the processor PROC_C.
  • the coding C8 further implements a quantization C82 of the data of the transformed block Bt u according to a conventional quantization operation, such as, for example, a scalar or vector quantization.
  • a block Bq u of quantized coefficients is then obtained.
  • the quantization C82 is implemented by a quantization device MQ_C as represented in FIG. 2, which device is controlled by the processor PROC_C.
  • the transform calculation device MTR_C and the quantization device MQ_C are contained in a block coding device MCB_C shown in FIG. 2, which device is controlled by the processor PROC_C.
  • the coding C8 also implements a coding C83 of the data of the block Bq u of quantized coefficients.
  • the coding C83 is implemented by the coding device MC_C of FIG. 2. At the end of the coding C83 is obtained a coded data set DC U of the current block B u .
  • a signal or data stream F which contains:
  • the stream construction C9 is implemented by a data signal construction device MCF, as shown in FIG. 2.
  • the data signal F is then transmitted by a communication network (not shown) to a remote terminal.
  • the data signal F may furthermore comprise certain information encoded by the coder CO, such as, for example:
  • decoding (not shown) of the coded DC U data obtained at C8 is then carried out.
  • a current decoded block BD U is then reconstructed, such a reconstructed block being the same as the decoded block obtained at the end of the image decoding process IC j which will be described later in the description.
  • the decoded block BD U is thus made available for use by the coder CO of FIG. 2.
  • This variant differs from the coding method of FIG. 1A only in that:
  • the value VES2i or VES2 2 of the second element of syntax ES 2 can be coded even if the current block B u belongs to the predefined zone of the current image IC j .
  • VES2 or VES2 2 of the second element of syntax ES 2 is coded in C7.
  • C60 If the criterion is not fulfilled, it is decided in C60 not to encode the value VES2i or VES2 2 of the second element of syntax ES 2 . It is then decided in C60 to assign ES 2 to the first predefined value VES2 or to the second predefined value VES2 2 according to the current coding context. In the case where the current block B u does not belong to the predefined area of the current image IC j , a criterion dependent on the characteristics of the current block is examined at C51.
  • VES2 or VES2 2 of the second element of syntax ES 2 is coded in C7.
  • C61 If the criterion is not fulfilled, it is decided in C61 not to encode the second element of syntax ES 2 . It is then decided in C61 to assign ES 2 to the first predefined value VES2 or to the second predefined value VES2 2 according to the current coding context.
  • VCES1 2 a criterion depending on the characteristics of the current block is examined in C52.
  • VES2 or VES2 2 of the second element of syntax ES 2 is coded in C7.
  • C62 If the criterion is not fulfilled, it is decided in C62 not to encode the second element of syntax ES 2 . It is then decided in C62 to assign ES 2 to the first predefined value VES2i or to the second predefined value VES2 2 according to the current coding context.
  • the value VES2i or VES2 2 of the element of syntax ES 2 is compared with a value of predetermined size VTP.
  • the current image IC j is for example a 2D image obtained by projection in two dimensions of a 180 ° or 360 ° video:
  • the current block B u does not belong to the predefined zone Z1, in other words belongs to the predefined zone Z2 of the current image ICj, and
  • the current image ICj shown in FIG. 4D for which the coded value VCES1 i of the syntax element ES ⁇ indicates for example that the current image ICj is for example a 2D image obtained by projection in two dimensions of a 360 ° video:
  • the size of the current block is greater than a predetermined value VTP, for example 32x32, the value VES2-I or VES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is coded in C7,
  • C51 it is determined as a criterion that the size of the current block is much greater than a predetermined value VTP, for example 1 6 ⁇ 16, the value VES2-I or VES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is coded in C7, Otherwise, it is decided in C61 not to encode the second element of syntax ES 2 , the latter being assigned to the first predefined value VES2 or to the second predefined value VES2 2 according to the current coding context,
  • the size of the current block is greater than a predetermined value VTP, for example 32x32, the value VES2-I or VES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is coded in C7,
  • the current block B u does not belong to the predefined zone Z1, in other words belongs to the predefined zone Z2 of the current image ICj, and
  • C52 If in C52 (FIG. 1B), it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 8 ⁇ 8, the value VES2 or VES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is coded in C7,
  • the decoding method according to the invention is for example implemented in a software or hardware way by modifications of such a decoder.
  • the decoding method according to the invention is represented in the form of an algorithm comprising operations D1 to D10 as represented in FIG. 6A.
  • the decoding method according to the invention is implemented in a decoding device or decoder DO represented in FIG.
  • the decoder DO comprises a memory MEM_D which itself comprises a buffer memory MT_D, a processor PROC_D controlled by a computer program PG_D which implements the method decoding device according to the invention.
  • the code instructions of the computer program PG_D are for example loaded into a RAM RAM_D noted, before being executed by the PROC_D processor.
  • the decoding method shown in Figure 6A applies to any fixed coded current picture IC j or part of a sequence of L IC-i images, IC j, ..., IC L (1 ⁇ j ⁇ L ) to decode.
  • the current image IC j to be decoded originates from at least one video sequence comprising, as non-exhaustive examples:
  • the coded value VCES1 i or VCES1 2 is identified in the signal F of a first syntax element ES 1 which is associated with a characteristic of the current image ICj to be decoded.
  • the syntax element ES ⁇ is a high-level syntax element of a video sequence comprising the current image ICj to be decoded. For this purpose, depending on the decoding context, this element can be decoded:
  • identification D1 is implemented by a PARS_D flow analysis device, as shown in Figure 7, said device being controlled by the PROC_D processor.
  • Such a decoding D2 is implemented by a decoding device MD_D shown in FIG. 7, which device is controlled by the processor PROC_D.
  • the decoding is for example a CABAC entropic decoding or an arithmetic or Huffman entropy decoding.
  • the characteristic of the image ICj is the type of obtaining of the latter.
  • the characteristic of the image ICj is the type of obtaining of the latter.
  • the image ICj is for example a 2D image which has been obtained by two-dimensional projection of a conventional 360 ° video, it is the coded value VCES1 1 of the syntax element ES ⁇ which is decoded,
  • the image ICj is for example a conventional 2D image of fixed type or part of a sequence of images succeeding each other temporally, it is the coded value VCES1 2 of the syntax element ES1 which is decoded.
  • the characteristic of the image ICj is the choice of the decoder to apply or not a decoding quality level different to at least two areas of the current image. For this purpose:
  • the identification of the coded data Dd, DC 2 ,..., DC U , DCs (1 u u S S) associated with the B blocks is carried out at D3. ; B 2 , B u ,..., B s previously encoded in accordance with the above-mentioned lexicographic order, which were obtained at the end of coding operation C8 of FIG. 1 A. This means that the blocks are decoded one after the other, from left to right.
  • Such identification D3 is implemented by the PARS_D flow analysis device of FIG. 7.
  • the blocks Bi, B 2, B u, ..., B s have a square shape and contain all pixels K, with K> 1.
  • the blocks B ; B 2 , B u , ..., B s are obtained at the end of a single subdivision of the current image ICj into blocks of maximum size.
  • the blocks have a size of for example 64 ⁇ 64 pixels.
  • the blocks B ; B 2 , B u , ..., B s are obtained at the end of a subdivision of the current image ICj into blocks of size less than or equal to the maximum size mentioned above.
  • said blocks are for example of size 64x64, and / or 32x32, and / or 1 6x1 6, and / or 8x8 pixels.
  • the last blocks on the left and the last blocks on the bottom may not be square.
  • the blocks may be for example of rectangular size and / or not aligned with each other.
  • the decoder DO of FIG. 7 selects as current block to be decoded a first set of coded data DC U of the image IC j , such as for example the first set of associated coded data DCi at the first block Bi to be decoded.
  • All encoded data DC U B u current block is associated with at least one encoding parameter.
  • a coding parameter is:
  • the prediction mode (intra prediction, inter prediction, bi-prediction, prediction by default carrying out a prediction for which no information is transmitted to the decoder (in English "skip");
  • DCT 4x4, DCT 8x8 applied to the current block or to the residual pixels of the current block if the latter has undergone a prediction
  • Offset of the HEVC standard (described in Chih-Ming Fu, Alshina, Alshin, Yu-Wen Huang, Ching-Yeh Chen, Chia-Yang Tsai, Chih-Wei Hsu, Shaw-Min Lei; Jeong-Hoon Park, Woo-Jin Han “Sample Adaptive Offset in the HEVC Standard” Published in: IEEE
  • a filter indicator of the reference pixels that were used to predict the current block
  • a second element of syntax ES 2 is representative of the value of said at least one coding parameter.
  • DO decoder reads in the case of the encoded value VCES1 VCESI or i 2 of the syntax element ES 1 which has been decoded by D2.
  • the syntax element ES 2 is set to a predefined value. Such an operation is particularly suitable when the information density of the predefined area of the image is low or very low.
  • ES 2 is representative of the prediction mode of the current block B u to be decoded and that, for example, ES 2 takes:
  • VES2 a first predefined value indicating an inter prediction of the current block B u
  • ES2 2 indicating an intra prediction of the current block B u
  • ES 2 is representative of the value of the residual pixels of the current block B u and that, for example, ES 2 takes:
  • the predefined values VES2 and VES2 2 of the second syntax element ES 2 are previously stored in an LTS-i list in the buffer MT_D of the decoder DO of FIG. 7.
  • ES 2 is representative of the prediction mode of the current block B u and that, for example, ES 2 has been coded:
  • VCES2 0 indicating an inter prediction of the current block B u
  • VCES2 2 1 indicating an intra prediction of the current block B u
  • ES 2 is representative of the value of the remaining pixels of the current block B u and that, for example, ES 2 was coded:
  • VCES2 2 1 indicating residual pixels of non-zero value of the current block B u ,
  • Such a decoding is for example an entropic decoding of type
  • CABAC Context Adaptive Binary Arithmetic Coder
  • entropy decoding of arithmetic type or Huffman. This decoding is implemented by the decoding device MD_D shown in FIG. 7.
  • the coded value VCES2 or VCES2 2 of the ES 2 syntax element is systematically decoded to D8.
  • the data of the current block B u are decoded at D9.
  • Such decoding is implemented by a block decoding device MDB_D shown in FIG. 7, which device is controlled by the PROC_D processor.
  • the decoding D9 implements, in D91, a decoding of the DC U data associated with the current block B u to be decoded and which have been coded in C8 in FIG. 1 A. At the end of such a decoding, is obtained a set of numerical information associated with the quantized coefficient block Bq u that has been obtained in
  • the decoding D91 is implemented by the decoding device
  • the decoding D9 further implements a dequantization D92 of the quantized coefficient block Bq u , according to a conventional dequantization operation which is the inverse operation of the quantization C82 of FIG. 1 A.
  • a set of current dequantized coefficients BDq u is then obtained.
  • Such dequantization is for example of scalar or vector type and is implemented by means of an inverse quantization device MQ "1 _D, as shown in FIG. 7, which device is controlled by the processor PROC_D.
  • the decoding D9 further implements the application D93 of a transform to the set of dequantized coefficients BDq u current obtained in D92.
  • a transform is an inverse transform from that applied to the C81 coding in FIG. 1A, such as, for example, a DCT, DST, DWT, LT or other transform.
  • these transforms are part of a list of LTS transforms 2 "1 which is previously stored in the buffer MT_D of the decoder DO of FIG. 7.
  • the type of transform to be applied can be decoded conventionally, by reading, in the data signal F, the index of the transform applied to the coding According to the invention, the type of transform to be applied can be determined by the implementation of the operation D5 of Figure 6A.
  • the transformation application D93 is performed by a transform calculation device MTR "1 _D, as shown in FIG. 7, which device is controlled by the processor PROC_D.
  • the inverse quantization device MQ "1 _D and the transform calculation device MTR " 1 _D are contained in a block decoding device MDB_D shown in FIG. 7, which device is controlled by the PROC_D processor.
  • a current decoded block BD U is obtained.
  • data are understood to mean the pixels of the decoded block BD U.
  • data are also understood to mean the pixels of a decoded current residue block in the case where a prediction of the block current B u was implemented at the coding and inverse prediction is implemented at decoding.
  • the writing D10 is implemented by an image reconstruction URI device as represented in FIG. 7, the URI device being controlled by the PROC_D processor.
  • the decoding method which has just been described above is implemented for all the coded data of blocks Dd, DC 2 , DC U ,..., DCs respectively associated with the blocks Bi, B 2 , B u ,. .., B s to decode the current image IC j considered.
  • This variant differs from the decoding method of FIG. 6A only in that:
  • VCES2i or VCES2 2 of the second element of syntax ES 2 can be decoded even if the current block B u belongs to the predefined zone of the current image IC j .
  • VCES2 or VCES2 value 2 of the second ES 2 syntax element is decoded at D8.
  • the syntax element ES 2 is set, depending on the context decoding stream, directly to the set value VES2-I or VES2 2 as stored in the list of the decoder LTSI OD of Figure 7.
  • the encoded data set DC U is associated with a current block B u which does not belong to the predefined area of the current image IC j .
  • a criterion depending on the characteristics of the current block is examined in D61. If the criterion is satisfied, the VCES2i or VCES2 2 value of the second ES 2 syntax element is decoded to D8.
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2i or VES2 2 as stored in the LTSi list of the decoder DO of Figure 7.
  • VCES2i or VCES2 2 value of the second ES 2 syntax element is decoded to D8.
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2i or VES2 2 as stored in the LTSi list of the decoder DO of Figure 7.
  • the I-value or VES2 VES2 2 of the syntax element ES 2 is compared with a predetermined size value VTP.
  • the coded data set DC U is associated with a current block B u which belongs to a predefined zone Z1, and
  • the size of the current block is greater than a predetermined value VTP, for example 32x32, the coded value VCES2i or VCES2 2 of the second element of syntax ES 2 representative of the size of the current block
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2i or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7,
  • the current block B u does not belong to the predefined zone Z1, in other words belongs to the predefined zone Z2 of the current image IC j , and
  • D61 If in D61, it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 16 ⁇ 16, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded in D8,
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7.
  • D62 If in D62 (FIG. 6B), it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 8x8, the coded value VCES2 or VCES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is decoded in D8, Otherwise, in D72, the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7.
  • VTP for example 8x8
  • the coded data set DC U is associated with a current block B u which belongs to the predefined zone Z1, and
  • D60 If in D60, it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 32x32, the coded value VCES2i or VCES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is decoded in D8,
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTS 1 of the decoder DO of FIG. 7,
  • the current block B u belongs to the predefined zone Z2 of the current image IC j .
  • D61 If in D61, it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 16 ⁇ 16, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded in D8,
  • the ES 2 syntax element is set, depending on the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the LTSi list of the decoder DO of FIG. 7,
  • D62 If in D62, it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 8x8, the value VCES2 1 or VCES2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded in D8,
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7.
  • the coded data set DC U is associated with a current block B u which belongs to a predefined zone Z1, and
  • D60 If in D60, it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 32x32, the coded value VCES2i or VCES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is decoded in D8,
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7, if in D6 (FIG. 6B), the current block B u does not belong to the predefined zone Z1, in other words belongs to the predefined zone Z2 of the current image ICj, and
  • D61 If in D61, it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 1 6 ⁇ 16, the value VCES 2 1 or VCES 2 2 of the second element of syntax ES 2 representative of the size of the block current B u is decoded in D8,
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7.
  • D62 If in D62 (FIG. 6B), it is determined as a criterion that the size of the current block is greater than a predetermined value VTP, for example 8x8, the coded value VCES2i or VCES2 2 of the second element of syntax ES 2 representative of the size of the current block B u is decoded in D8,
  • the syntax element ES 2 is set, according to the current decoding context, directly to the predefined value VES2 or VES2 2 as stored in the list LTSi of the decoder DO of FIG. 7.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne le codage d'au moins une image (ICj) découpée en blocs, mettant en œuvre ce qui suit : - coder (C2) un premier élément de syntaxe (ES) associé à une caractéristique de ladite au moins une image, - pour un bloc courant à coder associé à au moins un paramètre de codage, coder (C8) les données du bloc courant, ledit procédé de codage étant caractérisé en ce que: - si le premier élément de syntaxe (ES) est codé selon une première valeur prédéfinie (VCES) représentative de la caractéristique de l'image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est codé (C7) uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image, - si le premier élément de syntaxe (ES) est codé selon une deuxième valeur prédéfinie (VCES2) représentative de la caractéristique de l'image, le deuxième élément de syntaxe (ES2) est codé (C7), que le bloc courant appartienne ou non à la zone prédéfinie.

Description

PROCÉDÉ DE CODAGE ET DÉCODAGE D'IMAGES, DISPOSITIF DE CODAGE ET DÉCODAGE ET PROGRAMMES D'ORDINATEUR
CORRESPONDANTS Domaine de l'invention
La présente invention se rapporte de manière générale au domaine du traitement d'images, et plus précisément au codage et au décodage de paramètres d'images numériques, que ces images numériques soient fixes ou fassent partie d'une séquence d'images numériques.
Le codage/décodage de tels paramètres d'image s'applique notamment à des images issues d'au moins une séquence vidéo comprenant :
- des images issues d'une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),
- des composantes de texture et de profondeur correspondantes (codage/décodage de type 3D),
- des images obtenues par projection d'une vidéo 360° ,
- etc...
La présente invention s'applique de manière similaire au codage/décodage de paramètres d'images de type 2D ou 3D.
L'invention peut notamment, mais non exclusivement, s'appliquer au codage vidéo mis en œuvre dans les codeurs vidéo actuels AVC et HEVC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc), et au décodage correspondant.
Arrière-plan de l'invention
Les codeurs vidéo actuels (MPEG, H.264, HEVC, ...) utilisent une représentation par blocs de la séquence vidéo. Les images sont découpées en blocs, lesquels sont susceptibles d'être redécoupés, par exemple de façon récursive comme dans la norme HEVC.
Pour un bloc courant à coder, les paramètres d'image associés à ce bloc sont codés sous forme de bits à l'aide d'une méthode de codage adaptée mise en œuvre par un codeur, tel que par exemple un codeur entropique dont le but est de coder ces paramètres sans perte.
De tels paramètres sont par exemple :
- les coefficients résiduels de prédiction des pixels du bloc courant,
- le mode de prédiction du bloc courant (prédiction Intra, prédiction Inter, prédiction par défaut réalisant une prédiction pour laquelle aucune information n'est transmise au décodeur (« en anglais « skip »)),
- des informations précisant le type de prédiction du bloc courant (orientation, image de référence, ...),
- le type de découpage du bloc courant,
- les informations de mouvement du bloc courant si nécessaire,
- etc.
Les bits obtenus après codage entropique sont inscrits dans un signal de données qui est destiné à être transmis au décodeur.
S'agissant par exemple des coefficients résiduels de prédiction, la norme HEVC propose un indicateur appelé « cbf » (abréviation anglaise de « Coded Block Flag ») pouvant prendre :
- soit la valeur 0 qui est représentative de coefficients résiduels nuls pour le bloc courant à coder,
- soit la valeur 1 qui est représentative d'au moins un coefficient résiduel non nul pour le bloc courant à coder.
Une fois que le signal de données codées a été reçu par le décodeur, le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour chaque bloc, les bits représentatifs des paramètres d'image associés au bloc sont lus, puis décodés à l'aide d'une méthode de décodage mise en œuvre par un décodeur.
L'inconvénient d'une telle technique de codage des paramètres d'image est que la séquence binaire qui en résulte reste coûteuse à signaler. Ainsi, elle ne permet pas d'optimiser la réduction du gain en compression des données codées. Il en résulte des performances de compression qui ne sont pas satisfaisantes. Or, dans certains contextes de codage d'images, et pour certains types d'image considérés, il s'avère que le codage de tels paramètres ne s'avère pas toujours utile ou bien s'avère peu performant, entraînant de ce fait selon le contexte, soit une reconstruction de l'image de mauvaise qualité, soit une sollicitation importante des ressources en calculs aussi bien au codeur, qu'au décodeur, soit une limitation trop élevée du gain en débit. Par exemple, en imagerie médicale, il n'est pas forcément utile de coder un ou plusieurs paramètres de codage associés à des blocs de l'image situés en périphérie de cette dernière. Selon un autre exemple, dans le cas d'une image obtenue par projection en deux dimensions d'une vidéo 360° , que cette projection soit du type Mercator, equirectangulaire, du type CMP (abréviation anglaise de « Cube Map Projection »), etc ., il est connu de constater qu'une telle projection entraîne des déformations dans certaines zones bien particulières de l'image projetée. Par exemple, en ce qui concerne une image projetée sur un rectangle, on sait par avance que les zones supérieure et inférieure de cette image contiennent le plus de déformations que le reste de l'image. Il en résulte que le codage des paramètres associés aux blocs contenus dans ces zones particulières n'est pas efficace, entraînant de surcroit une diminution inutile du gain en débit.
L'invention vise donc à optimiser le coût de signalisation des paramètres de codage d'image, en mettant en œuvre un codage sélectif de ces paramètres de codage qui tienne compte, à un premier niveau, de la caractéristique de l'image à coder, et à un second niveau, de la disposition du bloc courant à coder dans cette image.
Objet et résumé de l'invention
Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité.
A cet effet, un objet de la présente invention concerne un procédé de codage d'au moins une image découpée en blocs, mettant en œuvre ce qui suit :
- coder un premier élément de syntaxe associé à une caractéristique de ladite au moins une image, - pour un bloc courant à coder associé à au moins un paramètre de codage, coder les données du bloc courant.
Un tel procédé de codage est remarquable en ce que:
- si le premier élément de syntaxe est codé selon une première valeur prédéfinie représentative de la caractéristique de l'image, un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est codé uniquement si le bloc courant appartient à une zone prédéfinie de l'image,
- si le premier élément de syntaxe est codé selon une deuxième valeur prédéfinie représentative de la caractéristique de l'image, le deuxième élément de syntaxe est codé, que le bloc courant appartienne ou non à la zone prédéfinie.
Une telle disposition permet d'éviter de coder, puis de transmettre au décodeur, au moins un élément de syntaxe représentatif d'un paramètre de codage d'un bloc, en tenant compte non seulement du fait qu'un tel bloc est situé dans une zone spécifique de l'image, pour laquelle le codage de cet élément de syntaxe n'est pas utile compte tenu du contexte de codage d'image courant, mais également d'une caractéristique de l'image à coder dans laquelle est situé le bloc courant.
II en résulte ainsi une diminution non négligeable du coût de signalisation, dans la mesure où une telle disposition est reproductible au niveau du décodeur.
Selon un mode de réalisation particulier, si le bloc courant appartient à la zone prédéfinie de l'image, le codage du deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction d'un critère dépendant des caractéristiques du bloc courant.
Une telle disposition permet en outre de mettre en œuvre un codage adaptatif d'au moins un élément de syntaxe représentatif d'un paramètre de codage d'un bloc, selon la valeur d'un critère dépendant des caractéristiques du bloc courant, tel que par exemple la taille, la valeur des pixels résiduels de ce bloc, le type de transformée appliquée aux pixels résiduels de ce bloc si ce dernier a subi une prédiction, etc.... Ainsi, en fonction de la valeur de ce critère, il est décidé de coder ou de ne pas coder cet élément de syntaxe.
Il en résulte une réduction du coût de signalisation optimisée, moyennant une meilleure adaptation du codage aux caractéristiques locales du signal vidéo.
Selon un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le type d'obtention de ladite au moins une image.
Une telle disposition permet de réduire le coût de signalisation de façon sélective selon la façon dont a été capturée initialement la scène que représente l'image.
Par exemple, si l'image courante est une image en deux dimensions, il est décidé :
- de ne pas coder un élément de syntaxe représentatif d'un paramètre de codage d'un bloc de cette image, dans le cas où cette dernière a été obtenue par projection d'une vidéo capturée selon une pluralité d'angles de vue couvrant par exemple un angle de 360° et comprend donc des zones où il est connu par avance que la densité d'informations par pixel est plus faible que dans d'autres zones de l'image,
- de coder systématiquement un élément de syntaxe représentatif d'un paramètre de codage d'un bloc de cette image, dans le cas où cette dernière provient d'une vidéo comprenant des images 2D se succédant temporellement.
Selon encore un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le contexte de codage courant de l'image.
Une telle disposition permet de réduire le coût de signalisation de façon sélective dans le cadre de certaines applications de codage d'image.
Selon un exemple de contexte de codage d'image, dans le cas d'un codage d'images appliqué à l'imagerie médicale, il est décidé d'appliquer à au moins deux zones différentes de l'image courante un niveau de codage de qualité différente de façon à :
- ne pas coder un élément de syntaxe représentatif d'un paramètre de codage d'un bloc de cette image, dans le cas où ce bloc est localisé en périphérie de l'image, - de coder un élément de syntaxe représentatif d'un paramètre de codage d'un bloc de cette image, dans le cas où ce bloc est localisé au centre de l'image.
Selon un autre exemple de contexte de codage, dans le cas d'un codage d'images appliqué à un flux télévisuel, il est décidé d'appliquer à chaque zone de l'image courante un même niveau de qualité de codage.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux opérations mises en œuvre au cours du procédé de codage tel que défini ci- dessus.
Corrélativement, l'invention concerne un dispositif de codage d'au moins une image découpée en blocs, comprenant un circuit de traitement qui est agencé pour :
- coder un premier élément de syntaxe associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à coder associé à au moins un paramètre de codage, coder les données du bloc courant.
Un tel dispositif de codage est caractérisé en ce que le circuit de traitement est agencé pour :
- si le premier élément de syntaxe est codé selon une première valeur prédéfinie représentative de la caractéristique de l'image, coder un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie de l'image,
- si le premier élément de syntaxe est codé selon une deuxième valeur prédéfinie représentative de la caractéristique de l'image, coder le deuxième élément de syntaxe, que le bloc courant appartienne ou non à la zone prédéfinie.
De façon correspondante, l'invention concerne aussi un procédé de décodage d'un signal de données représentatif d'au moins une image codée ayant été découpée en blocs, mettant en œuvre ce qui suit : - décoder un premier élément de syntaxe contenu dans ledit signal de données, ledit premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder les données du bloc courant.
Un tel procédé de décodage est remarquable en ce que:
- si le premier élément de syntaxe a une première valeur prédéfinie représentative de la caractéristique de l'image, un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est décodé uniquement si le bloc courant appartient à une zone prédéfinie de l'image,
- si le premier élément de syntaxe a une deuxième valeur prédéfinie représentative de la caractéristique de l'image, le deuxième élément de syntaxe est décodé, que le bloc courant appartienne ou non à la zone prédéfinie.
Selon un mode de réalisation particulier, si le bloc courant appartient à la zone prédéfinie de l'image, le décodage du deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction d'un critère dépendant des caractéristiques du bloc courant.
Selon un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le type d'obtention de ladite au moins une image.
Selon encore un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le contexte de décodage courant de l'image.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux opérations mises en œuvre au cours du procédé de décodage tel que défini ci- dessus.
Corrélativement, l'invention concerne un dispositif de décodage d'un signal de données représentatif d'au moins une image codée ayant été découpée en blocs, comprenant un circuit de traitement qui est agencé pour :
- décoder un premier élément de syntaxe contenu dans le signal de données, le premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image, - pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder les données du bloc courant.
Un tel dispositif de décodage est remarquable en ce que le circuit de traitement est agencé pour :
- si le premier élément de syntaxe a une première valeur prédéfinie représentative de la caractéristique de l'image, décoder un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie de l'image,
- si le premier élément de syntaxe a une deuxième valeur prédéfinie représentative de la caractéristique de l'image, décoder le deuxième élément de syntaxe, que le bloc courant appartienne ou non à la zone prédéfinie.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en œuvre l'un des procédés de codage et de décodage selon l'invention, lorsqu'il est exécuté sur un ordinateur.
Un tel programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
Encore un autre objet de l'invention vise aussi un support d'enregistrement lisible par un ordinateur, et comportant des instructions de programme d'ordinateur tel que mentionné ci-dessus.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, une clé USB, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur.
D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, un tel support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter le procédé en question ou pour être utilisé dans l'exécution de ce dernier.
Brève description des dessins
D'autres caractéristiques et avantages apparaîtront à la lecture de modes de réalisation préférés décrits en référence aux figures dans lesquelles:
- la figure 1 A représente les étapes du procédé de codage selon un mode de réalisation de l'invention,
- la figure 1 B représente une alternative du procédé de codage de la figure 1 A,
- la figure 2 représente un dispositif de codage selon un mode de réalisation de l'invention,
- la figure 3A représente une image découpée en blocs selon un premier mode de réalisation,
- la figure 3B représente une image découpée en blocs selon un deuxième mode de réalisation,
- les figures 4A à 4D représentent chacune des exemples de zones prédéfinies dans l'image courante, dans le cas d'une obtention particulière de l'image courante,
- la figure 5A représente une image courante dans un contexte de codage/décodage où le codeur/décodeur choisit d'appliquer ou non un niveau de qualité de codage/décodage différent à au moins deux zones de l'image courante,
- la figure 5B représente un exemple de zone prédéfinie dans l'image courante, dans le cas où le codeur/décodeur choisit d'appliquer ou non un niveau de qualité de codage/décodage différent à au moins deux zones de l'image courante,
- la figure 6A représente les étapes du procédé de décodage selon un mode de réalisation de l'invention,
- la figure 6B représente une alternative du procédé de décodage de la figure 6A, - la figure 7 représente un dispositif de décodage selon un mode de réalisation de l'invention.
Description détaillée de la partie codage
Un mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de codage selon l'invention est utilisé pour coder une image ou une séquence d'images selon un flux binaire proche de celui qu'on obtient par un codage mis en œuvre dans un codeur conforme à l'une quelconque des normes de codage vidéo actuelles ou à venir.
Dans ce mode de réalisation, le procédé de codage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un tel codeur. Le procédé de codage selon l'invention est représenté sous la forme d'un algorithme comportant des opérations C1 à C9 telles que représentées à la figure 1 A.
Selon le mode de réalisation de l'invention, le procédé de codage selon l'invention est implémenté dans un dispositif de codage ou codeur CO représenté à la figure 2.
Comme illustré en figure 2, le codeur CO comprend une mémoire MEM_C comprenant une mémoire tampon MT_C, un processeur PROC_C piloté par un programme d'ordinateur PG_C qui met en œuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_C sont par exemple chargées dans une mémoire RAM, notée MR_C, avant d'être exécutées par le processeur PROC_C.
Le procédé de codage représenté sur la figure 1 A s'applique à toute image courante ICj fixe ou bien faisant partie d'une séquence de L images IC-i , ICj, ..., ICL (1≤j≤L) à coder.
L'image courante ICj est issue d'au moins une séquence vidéo comprenant, à titre d'exemples non exhaustifs :
- des images issues d'une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D), - des composantes de texture et de profondeur correspondantes, c'est-à-dire représentatives d'une même scène (codage/décodage de type 3D),
- des images obtenues par projection d'une vidéo 360° ,
- etc ..
En référence à la figure 1 A, il est procédé en C1 , de façon connue en soi, au découpage d'une image courante ICj en une pluralité de blocs B-i , B2, Bu, ..., Bs (1 <u≤S). Le partitionnement est mis en œuvre par un dispositif de partitionnement MP_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C.
II convient de noter qu'au sens de l'invention, le terme « bloc » signifie unité de codage (de l'anglais « coding unit »). Cette dernière terminologie est notamment utilisée dans la norme HEVC « ISO/IEC/23008-2 Recommandation ITU-T H.265 High Efficiency Video Coding (HEVC) ».
En particulier, une telle unité de codage regroupe des ensembles de pixels de forme rectangulaire ou carrée, encore appelés blocs, macroblocs, ou bien des ensembles de pixels présentant d'autres formes géométriques.
Lesdits blocs B ; B2, Bu, ..., Bs sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type lexicographique. Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite.
D'autres types de parcours sont bien sûr possibles. Ainsi, il est possible de découper l'image ICj en plusieurs sous-images appelées slices et d'appliquer indépendamment un découpage de ce type sur chaque sous-image. Il est également possible de coder non pas une succession de lignes, comme expliqué ci-dessus, mais une succession de colonnes. Il est également possible de parcourir les lignes ou colonnes dans un sens ou dans l'autre.
Selon un exemple, les blocs B-i , B2, Bu, ..., Bs ont une forme carrée et contiennent tous K pixels, avec K>1 . Selon un premier mode de réalisation représenté sur la figure 3A, les blocs B ; B2, Bu,..., Bs sont obtenus à l'issue d'une unique subdivision de l'image courante ICj en blocs de taille maximale. Selon ce premier mode de réalisation, les blocs ont une taille de par exemple 64x64 pixels. Selon un deuxième mode de réalisation représenté sur la figure 3B, les blocs B ; B2, Bu, ..., Bs sont obtenus à l'issue d'une subdivision de l'image courante ICj en blocs de taille inférieure ou égale à la taille maximale précitée. Selon ce deuxième mode de réalisation, lesdits blocs sont par exemple de taille 64x64 et/ou 32x32 et/ou 1 6x1 6 et/ou 8x8 pixels.
En fonction de la taille de l'image qui n'est pas forcément un multiple de la taille des blocs, les derniers blocs à gauche et les derniers blocs en bas peuvent ne pas être carrés. Dans un mode alternatif de réalisation, les blocs peuvent être par exemple de taille rectangulaire et/ou non alignés les uns avec les autres.
En C2, il est procédé au codage d'un premier élément de syntaxe ES^ qui est associé à une caractéristique de l'image courante ICj.
L'élément de syntaxe ESi est un élément de syntaxe haut niveau d'une séquence vidéo comprenant l'image courante ICj. A cet effet, en fonction du contexte de codage, cet élément peut être codé :
- au début du codage de chaque image de la séquence vidéo, - ou une seule fois au début du codage d'une séquence d'images,
- ou une seule fois au début du codage de la séquence vidéo. L'élément de syntaxe ES^ est codé en C2 :
- par une première valeur prédéfinie VCES1 i qui est représentative d'une caractéristique d'un premier type de l'image courante ICj,
- par une deuxième valeur prédéfinie VCES12 qui est représentative d'une caractéristique d'un deuxième type de l'image courante
ICj. Selon un exemple, VCES1 i=1 et VCES1 2=0.
Le codage C2 est par exemple un codage entropique de type CABAC
("Context Adaptive Binary Arithmetic Coder" en anglais) ou bien encore un codage entropique de type arithmétique ou de Huffman. Ce codage est mis en œuvre par un dispositif de codage MC_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C.
Selon un premier mode de réalisation, la caractéristique de l'image ICj est le type d'obtention de cette dernière. A cet effet :
- si l'image ICj est par exemple une image 2D qui a été obtenue par projection en deux dimensions d'une vidéo 360 ° classique, VCES1 1=1 , - si l'image ICj est par exemple une image 2D classique de type fixe ou faisant partie d'une séquence d'images se succédant temporellement, VCES12=0.
Selon un deuxième mode de réalisation, la caractéristique de l'image ICj est le choix au codeur d'appliquer ou non un niveau de qualité de codage différent à au moins deux zones de l'image courante à coder. A cet effet :
- si l'image courante ICj est codée selon un premier contexte de codage, tel que par exemple un contexte d'imagerie médicale, VCES1 i=1 , ce qui indique que la zone centrale de l'image courante est codée selon un niveau de qualité supérieur à celui appliqué à la zone périphérique de l'image courante,
- si l'image courante ICj est codée selon un deuxième contexte de codage, tel que par exemple un contexte télévisuel, VCES12=0, ce qui indique qu'un même niveau de qualité de codage est appliqué à toute l'image courante.
En référence à la figure 1 A, en C3, le codeur CO de la figure 2 sélectionne comme bloc courant un premier bloc à coder Bu de l'image ICj, tel que par exemple le premier bloc B-i . Le bloc courant Bu est associé à au moins un paramètre de codage. A titre d'exemples non exhaustifs, un tel paramètre de codage est :
· le mode de prédiction (prédiction intra, prédiction inter, bi- prédiction, prédiction par défaut réalisant une prédiction pour laquelle aucune information n'est transmise au décodeur (en anglais « skip ») ;
• le type de prédiction (orientation, composante d'image de référence, ...) ;
• le type de subdivision en sous-blocs ;
• le type de transformée, par exemple DCT 4x4, DCT 8x8, appliqué au bloc courant ou aux pixels résiduels du bloc courant si ce dernier a subi une prédiction ;
· les valeurs de pixels ;
• les valeurs de pixels résiduels résultant d'une prédiction ;
• un filtrage de l'image courante ICj une fois codée, tel que par exemple celui pratiqué par la technique « Sample Adaptive Offset » de la norme HEVC (technique décrite dans le document Chih-Ming Fu ; E. Alshina ; A. Alshin ; Yu-Wen Huang ; Ching-Yeh Chen ; Chia-Yang Tsai ; Chih-Wei Hsu ; Shaw-Min Lei ; Jeong-Hoon Park ; Woo-Jin Han "Sample Adaptive Offset in the HEVC Standard' Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, Dec. 2012 ) ;
• l'index du mode de prédiction intra parmi une liste construite pour le bloc courant ;
• l'index du vecteur de mouvement parmi une liste construite pour le bloc courant ;
• un indicateur de subdivision du bloc résidu obtenu en cas de prédiction du bloc courant ;
• un indicateur de filtrage des pixels de référence qui ont servi à prédire le bloc courant ;
• etc ..
Un deuxième élément de syntaxe ES2 est représentatif de la valeur dudit au moins un paramètre de codage.
En C4, le codeur CO lit la valeur codée VCES1 ou VCES12 de l'élément de syntaxe ES-i.
Si en C4, la valeur codée de l'élément de syntaxe ESi est VCES1 i et si, en C5, le bloc courant Bu appartient à une zone prédéfinie de l'image courante ICj, il est décidé en C6 de ne pas coder l'élément de syntaxe ES2. A cet effet, l'élément de syntaxe ES2 est mis à une valeur prédéfinie. Une telle opération est particulièrement adaptée lorsque la densité d'informations de la zone prédéfinie de l'image est faible ou très faible.
Selon un premier mode de réalisation, si l'élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2i indiquant une prédiction inter du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant une prédiction intra du bloc courant Bu, il est décidé en C6 d'assigner ES2 à, par exemple, la première valeur prédéfinie VES2-I selon une convention prédéterminée au codeur CO.
Selon un deuxième mode de réalisation, si l'élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2i indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu,
il est décidé en C6 d'assigner ES2 à, par exemple, la première valeur prédéfinie VES2-I selon une convention prédéterminée au codeur CO.
Les valeurs prédéfinies VES2 et VES22 du deuxième élément de syntaxe ES2 sont stockées préalablement dans une liste LTSi qui est enregistrée dans la mémoire tampon MT_C du codeur CO de la figure 2.
Lors du codage du bloc courant Bu, seul le premier ou le deuxième mode de réalisation de l'élément de syntaxe ES2 est mis en œuvre. A titre d'alternative, les premier et deuxième modes de réalisation sont mis en œuvre.
Si en C4, la valeur codée de l'élément de syntaxe ESi est VCES1 i et si, en C5, le bloc courant Bu n'appartient pas à la zone prédéfinie de l'image courante, la valeur prédéfinie VES2 ou VES22 prise par le deuxième élément de syntaxe ES2 est codée en C7. A l'issue de ce codage C7, en fonction du contexte de codage courant, une valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 est obtenue. A titre d'exemple non exhaustif, VCES21 =0 et VCES22=1 .
Selon un premier mode de réalisation, si l'élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2 indiquant une prédiction inter du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant une prédiction intra du bloc courant Bu,
la valeur VES2 ou VES22 est codée en par exemple la valeur VCES2 =0 ou VCES22=1 , respectivement, en fonction du contexte de codage courant. Selon un deuxième mode de réalisation, si l'élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2 indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu,
la valeur VES2 ou VES22 de l'élément de syntaxe ES2 est systématiquement codée en C7, en par exemple la valeur , respectivement, en fonction du contexte de codage courant.
Un tel codage est par exemple un codage entropique de type CABAC ("Context Adaptive Binary Arithmetic Coder" en anglais) ou bien encore un codage entropique de type arithmétique ou de Huffman. Ce codage est mis en œuvre par un dispositif de codage MC_C représenté sur la figure 2.
Si en C4, la valeur codée de l'élément de syntaxe ESi est VCES12, la valeur VES2 ou VES22 de l'élément de syntaxe ES2 est systématiquement codée en C7, en par exemple la valeur , respectivement, en fonction du contexte de codage courant.
Selon un mode de réalisation représenté sur la figure 4A, pour une image courante ICj de hauteur H, dans le cas où :
- l'image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d'une vidéo 180° ou 330° , l'élément de syntaxe ESi est codé selon la valeur VCES1 1=1 ,
- l'image courante ICj est par exemple une image 2D classique de type fixe ou faisant partie d'une séquence d'images se succédant temporellement, l'élément de syntaxe ESi est codé selon la valeur VCES12=0.
Sur la figure 4A, est représentée l'image courante ICj en tant qu'image 2D obtenue par projection en deux dimensions d'une vidéo 360° . Une première zone prédéfinie, notée Z1 , de l'image courante ICj a une hauteur H1 telle que 0.2H<H1 <0.8H. Les blocs contenus dans la zone Z1 contiennent les pixels résultant de la projection dans l'image courante ICj des pixels les plus proches de l'équateur de l'image capturée par une sphère de captation vidéo 360° et subissant ainsi peu de déformation. Les blocs contenus dans les zones restantes prédéfinies de l'image, notées Z2 sur la figure 4A, contiennent les pixels résultant de la projection dans l'image ICj des pixels situés près des pôles de la sphère de captation vidéo 360° et subissant ainsi une déformation maximale.
Sur la figure 4B, est représentée l'image courante ICj en tant qu'image
2D obtenue par projection en deux dimensions d'une vidéo 180° . La zone prédéfinie Z1 de l'image courante ICj a une hauteur H1 telle que 0<H1 <0.8H. Les blocs contenus dans la zone Z1 sont les blocs contenant les pixels résultant de la projection dans l'image courante ICj des pixels les plus proches de l'équateur de l'image capturée par une demi-sphère de captation vidéo 180° et subissant ainsi peu de déformation. Les blocs contenus dans la zone prédéfinie Z2 de l'image sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels situés près du pôle nord de la sphère de captation vidéo 180° et subissant ainsi une déformâion maximale.
Sur la figure 4C, est représentée l'image courante ICj en tant qu'image
2D obtenue par projection en deux dimensions d'une vidéo 180° . Une première zone prédéfinie Z1 de l'image courante ICj a une hauteur H1 telle que 0.2H<H1 <H. Les blocs contenus dans la zone Z1 sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels les plus proches de l'équateur de l'image capturée par une demi-sphère de captation vidéo 180° et subissant ainsi peu de déformation. Les blocs contenus dans la zone restante prédéfinie Z2 de l'image courante ICj sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels situés près du pôle sud de la sphère de captation vidéo 180° et subissant ains une déformation maximale.
Sur la figure 4D, est représentée l'image courante ICj en tant qu'image
2D obtenue par projection en deux dimensions d'une vidéo 360° . Une zone prédéfinie, notée Z1 , de l'image courante ICj a une hauteur H1 telle que 0.2H<H1 <0.8H. Les blocs contenus dans la zone Z1 sont les blocs contenant les pixels résultant de la projection dans l'image courante ICj des pixels les plus proches de l'équateur de l'image capturée par une sphère de captation vidéo 360° et subissant ainsi peu de déformation. L'Image ICj contient en outre deux autres zones prédéfinies Z2 situées de part et d'autre de la zone Z1 . Une première zone Z2 a une hauteur H2 telle que 0.1 H<H2 <0.2H. Les blocs contenus dans la zone Z2i de l'image courante ICj sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels situés les plus près de la dernière ligne avant le pôle sud de la sphère de captation vidéo 360° et subissant ainsi une déformation modérée. Une deuxième zone Z22 a une hauteur H22 telle que 0.8H<H22<0.9H. Les blocs contenus dans la zone Z22 de l'image courante ICj sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels situés les plus près de la première ligne avant le pôle nord de la sphère de captation vidéo 360° et subissant ainsi une déformation modérée. L'Image ICj contient en outre encore deux autres zones prédéfinies situées respectivement de part et d'autre des zones Z2i et Z22. Une première zone Z3i a une hauteur H3i telle que 0<H3i<0.1 H. Les blocs contenus dans la zone Z3i de l'image courante ICj sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels situés les plus près du pôle sud de la sphère de captation vidéo 360° et subissant ainsi une déformation maximale. Une deuxième zone Z32 a une hauteur H32 telle que 0.9H<H32<H. Les blocs contenus dans la zone Z32 de l'image courante ICj sont les blocs contenant les pixels résultant de la projection dans l'image ICj des pixels situés les plus près du pôle nord de la sphère de captation vidéo 360° et subissant ainsi une déformation maximale.
II est bien entendu possible de définir des zones prédéfinies de l'image courante ICj de façon différente. Ainsi, dans le cas où l'image courante ICj est par exemple une image 2D obtenue par projection de type CMP d'une vidéo 180° ou 360° , une ou plusieurs zones spécifiques sœont prédéfinies en fonction de la proximité des pixels par rapport aux arêtes des cubes ayant servi à la projection. Alternativement, les zones pourront être définies par la valeur d'une fonction dépendant des coordonnées du bloc dans l'image courante ICj, ou de son ordre de traitement parmi tous les blocs de l'image courante ICj. Ainsi par exemple, on peut définir une zone par la distance à partir du pixel situé au centre de l'image : les pixels dont la distance par rapport au centre de l'image est supérieure à un seuil définissent une première zone, les autres pixels définissant une seconde zone. Ainsi, dans le cas par exemple de la figure 4A, si (xc ; yc) sont les coordonnées du pixel PxC situé au centre de l'image courante ICj, et (xp ; yp) les coordonnées d'un pixel donné PxD du bloc courant Bu, le pixel donné PxD appartient à la première zone Z1 si et seulement si la racine carrée de la valeur (xc-xp)2+(yc-yp)2 est supérieur à un seuil T1 . Alternativement, le pixel donné PxD appartient à la première zone Z1 si et seulement si l'une des valeurs |xc-xp| ou |yc-yp| est supérieur à un seuil T2.
La figure 5A représente un exemple d'image courante ICj, pour laquelle la caractéristique de l'image ICj est le choix au codeur d'appliquer ou non un niveau de qualité de codage différent à au moins deux zones de l'image courante.
A cet effet :
- si l'image courante ICj est codée selon un premier contexte de codage, tel que par exemple un contexte d'imagerie médicale, VCES1 i=1 pour indiquer qu'une première zone de l'image courante est codée selon un niveau de qualité de codage NQ1 inférieur à un niveau de qualité de codage NQ2 appliqué à une deuxième zone de l'image courante,
- si l'image courante ICj est codée selon un deuxième contexte de codage, tel que par exemple un contexte télévisuel, VCES12=0 pour indiquer qu'un même niveau de qualité de codage NQ est appliqué à toute zone de l'image courante.
Sur la figure 5B est représenté un exemple de zones prédéfinies dans l'image courante ICj. Dans cet exemple, l'image courante ICj comprend :
- une première zone prédéfinie Z1 , telle que par exemple la zone périphérique de l'image courante ICj, dont la densité d'informations est faible et pour laquelle le niveau de qualité de codage NQ1 est appliqué,
- au moins une deuxième zone prédéfinie Z2, telle que par exemple la zone centrale de l'image courante ICj, dont la densité d'informations est plus élevée et pour laquelle le niveau de qualité de codage NQ2 est appliqué.
D'une façon similaire aux exemples donnés en référence aux figures 4A à 4D, il est bien entendu possible de définir des zones prédéfinies de l'image courante ICj de manière différente. Ainsi, par exemple, si (xc ; yc) sont les coordonnées du pixel PxC situé au centre de l'image, et (xp ; yp) les coordonnées d'un pixel donné PxD du bloc courant Bu, le pixel donné appartient à la première zone Z1 si et seulement si l'une des valeurs |xc-xp| ou |yc-yp| est supérieur à un seuil T3, où T3 vaut un sixième de la largeur en nombre de pixels, de l'image courante ICj.
En référence à nouveau à la figure 1 A, les données du bloc courant Bu sont codées en C8.
Selon un exemple de réalisation non limitatif, un tel codage C8 met en œuvre l'application C81 d'une transformée aux données du bloc courant Bu.
Dans l'exemple décrit ici, on entend par données, les pixels du bloc courant Bu.
Il convient toutefois de noter qu'on entend également par données, les pixels d'un bloc prédit obtenu à l'aide d'une prédiction du bloc courant Bu par rapport à un bloc prédicteur qui est sélectionné suite à une mise en compétition de différents modes de prédiction inter, intra ou autres prédéterminés, par exemple par minimisation d'un critère débit distorsion bien connu de l'homme du métier.
De façon connue en soi, en fonction du contexte ou de la norme de codage utilisée, une telle transformée est par exemple une transformée de type DCT (abréviation anglaise de « Discrète Cosine Transform »), DST (abréviation anglaise de « Discrète Sine Transform »), de type DWT (abréviation anglaise de « Discrète Wavelet Transform ») ou encore de type LT (abréviation anglaise de « Lapped Transform »). Ces transformées sont stockées préalablement dans une liste LTS2, dans la mémoire tampon MT_C du codeur CO de la figure 2.
A l'issue de l'application de cette transformée, un bloc de données transformé courant Btu est obtenu.
Une telle opération est effectuée par un dispositif MTR_C de calcul de transformée, tel que représenté figure 2, lequel dispositif est piloté par le processeur PROC_C.
Le codage C8 met en œuvre en outre une quantification C82 des données du bloc transformé Btu selon une opération classique de quantification, telle que par exemple une quantification scalaire ou vectorielle. Un bloc Bqu de coefficients quantifiés est alors obtenu. La quantification C82 est mise en œuvre par un dispositif de quantification MQ_C tel que représenté à la figure 2, lequel dispositif est piloté par le processeur PROC_C.
Le dispositif MTR_C de calcul de transformée et le dispositif de quantification MQ_C sont contenus dans un dispositif de codage de blocs MCB_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C.
Le codage C8 met en œuvre en outre un codage C83 des données du bloc Bqu de coefficients quantifiés. Le codage C83 est mis en œuvre par le dispositif de codage MC_C de la figure 2. A l'issue du codage C83 est obtenu un ensemble de données codées DCU du bloc courant Bu.
En référence à la figure 1 A, il est procédé en C9 à la construction d'un signal ou flux de données F qui contient :
- les données codées DCU obtenues en C8,
- la valeur codée VCES1 i ou VCES12 du premier élément de syntaxe ES-i,
- éventuellement la valeur codée VCES2i ou VCES22 du/des deuxième(s) élément(s) de syntaxe ES2 selon la zone prédéfinie de l'image courante ICj dans laquelle est situé le bloc courant Bu.
La construction de flux C9 est mise en œuvre par un dispositif MCF de construction de signal de données, tel que représenté sur la figure 2.
Le signal de données F est ensuite transmis par un réseau de communication (non représenté) à un terminal distant. Celui-ci comporte le décodeur DO représenté à la figure 7.
De façon connue en soi, le signal de données F peut comprendre en outre certaines informations encodées par le codeur CO, telles que par exemple :
- le type de prédiction (Inter, Intra ou autres) si le bloc courant Bu a été prédit, et le cas échéant, le mode de prédiction sélectionné, l'indice du bloc prédicteur obtenu,
- le type de partitionnement du bloc courant Bu si ce dernier a été partitionné, - le type de transformée appliquée aux données du bloc courant
BU!
- etc....
A titre d'alternative, le choix de coder ou de ne pas coder lesdites certaines informations précitées est mis en œuvre selon l'invention, par application de l'opération C4 de la figure 1 A.
De façon connue en soi, il est ensuite procédé au décodage (non représenté) des données codées DCU obtenues en C8. Un bloc décodé courant BDU est alors reconstruit, un tel bloc reconstruit étant le même que le bloc décodé obtenu à l'issue du procédé de décodage de l'image ICj qui sera décrit plus loin dans la description. Le bloc décodé BDU est ainsi rendu disponible pour être utilisé par le codeur CO de la figure 2.
Les opérations de codage C1 à C9 qui viennent d'être décrites ci-dessus sont ensuite mises en œuvre pour chacun des blocs B-i, B2, Bu,..., Bs à coder de l'image courante ICj considérée.
On va maintenant décrire, en référence à la figure 1 B, une variante du procédé de codage de la figure 1 A.
Cette variante se différentie du procédé de codage de la figure 1 A uniquement par le fait que :
- le codage C7 de la valeur VES2 ou VES22 du deuxième élément de syntaxe ES2 n'est pas systématiquement mis en œuvre,
- la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 peut être codée même si le bloc courant Bu appartient à la zone prédéfinie de l'image courante ICj.
A cet effet, comme représenté sur la figure 1 B, dans le cas où le bloc courant Bu appartient à la zone prédéfinie de l'image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en C50.
Si le critère est rempli, la valeur VES2 ou VES22 du deuxième élément de syntaxe ES2 est codée en C7.
Si le critère n'est pas rempli, il est décidé en C60 de ne pas coder la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2. Il est alors décidé en C60 d'assigner ES2 à la première valeur prédéfinie VES2 ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant. Dans le cas où le bloc courant Bu n'appartient pas à la zone prédéfinie de l'image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en C51 .
Si le critère est rempli, la valeur VES2 ou VES22 du deuxième élément de syntaxe ES2 est codée en C7.
Si le critère n'est pas rempli, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2. Il est alors décidé en C61 d'assigner ES2 à la première valeur prédéfinie VES2 ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas où la valeur codée du premier élément de syntaxe ESi est
VCES12, un critère dépendant des caractéristiques du bloc courant est examiné en C52.
Si le critère est rempli, la valeur VES2 ou VES22 du deuxième élément de syntaxe ES2 est codée en C7.
Si le critère n'est pas rempli, il est décidé en C62 de ne pas coder le deuxième élément de syntaxe ES2. Il est alors décidé en C62 d'assigner ES2 à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
En variante, seulement une ou bien deux des trois opérations C50, C51 , C52 est mise en œuvre.
Selon un exemple de critère, dans le cas où le deuxième élément de syntaxe ES2 est représentatif de la taille du bloc courant Bu, la valeur VES2i ou VES22 de l'élément de syntaxe ES2 est comparée à une valeur de taille prédéterminée VTP.
Dans le cas par exemple des images courantes représentées sur les figures 4A à 4C, pour lesquelles la valeur codée VCES1 i de l'élément de syntaxe ES1 indique par exemple que l'image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d'une vidéo 180° ou 360° :
- si en C5 (fig.1 B), le bloc courant Bu appartient à la zone prédéfinie Z1 , et
• si en C50, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C60 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2 ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig. l B), le bloc courant Bu n'appartient pas à la zone prédéfinie Z1 , autrement dit appartient à la zone prédéfinie Z2 de l'image courante ICj, et
• si en C51 , il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 1 6x1 6, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas par exemple d'une image courante (non représentée), pour laquelle la valeur codée VCES1 2 de l'élément de syntaxe ES^ indique par exemple que l'image courante ICj est par exemple une image 2D classique de type fixe ou faisant partie d'une séquence d'images se succédant temporellement :
• si en C52 (fig. l B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VES2 ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C62 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas de l'image courante ICj représentée sur la figure 4D, pour laquelle la valeur codée VCES1 i de l'élément de syntaxe ES^ indique par exemple que l'image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d'une vidéo 360 ° :
- si en C5 (fig.1 B), le bloc courant Bu appartient à la zone prédéfinie Z1 , et
• si en C50, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C60 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1 B), le bloc courant Bu appartient à la zone prédéfinie Z2, et
• si en C51 , il est déterminé comme critère que la taille du bloc courant est bien supérieure à une valeur prédéterminée VTP, par exemple 1 6x1 6, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2 ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1 B), le bloc courant Bu appartient à la zone prédéfinie Z3, et
• si en C51 , il est déterminé comme critère que la taille du bloc courant est bien supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2 ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas par exemple de l'image courante ICj représentée sur la figure 5B, pour laquelle la valeur codée VCES1 i de l'élément de syntaxe ES-\ indique par exemple qu'au moins deux zones de l'image courante ICj sont codées selon un niveau de qualité de codage différent :
- si en C5 (fig.1 B), le bloc courant Bu appartient à la zone prédéfinie Z1 , et
• si en C50, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C60 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2 ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1 B), le bloc courant Bu n'appartient pas à la zone prédéfinie Z1 , autrement dit appartient à la zone prédéfinie Z2 de l'image courante ICj, et
• si en C51 , il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 1 6x1 6, la valeur VES2-I ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas par exemple de l'image courante ICj représentée en bas à droite sur la figure 5A, pour laquelle la valeur codée VCES1 2 de l'élément de syntaxe ES^ indique par exemple que toute zone de l'image courante ICj est codée selon un même niveau de qualité de codage:
• si en C52 (fig.1 B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VES2 ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7,
• sinon, il est décidé en C62 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant. Description détaillée de la partie décodage
Un mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de décodage selon l'invention est utilisé pour décoder un signal ou flux de données représentatif d'une image ou d'une séquence d'images qui est apte à être décodé par un décodeur conforme à l'une quelconque des normes de décodage vidéo actuelles ou à venir.
Dans ce mode de réalisation, le procédé de décodage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un tel décodeur.
Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des opérations D1 à D10 telles que représentées à la figure 6A.
Selon ce mode de réalisation, le procédé de décodage selon l'invention est implémenté dans un dispositif de décodage ou décodeur DO représenté à la figure 7.
Comme illustré en figure 7, selon ce mode de réalisation de l'invention, le décodeur DO comprend une mémoire MEM_D qui comprend elle-même une mémoire tampon MT_D, un processeur PROC_D piloté par un programme d'ordinateur PG_D qui met en œuvre le procédé de décodage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_D sont par exemple chargées dans une mémoire RAM notée RAM_D, avant d'être exécutées par le processeur PROC_D.
Le procédé de décodage représenté sur la figure 6A s'applique à toute image courante ICj codée fixe ou bien faisant partie d'une séquence de L images IC-i , ICj, ..., ICL (1≤j≤L) à décoder.
L'image courante ICj à décoder est issue d'au moins une séquence vidéo comprenant, à titre d'exemples non exhaustifs :
- des images issues d'une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),
- des composantes de texture et de profondeur correspondantes, c'est-à-dire représentatives d'une même scène (codage/décodage de type 3D), - des images obtenues par projection d'une vidéo 360° ,
- etc ..
En D1 , il est procédé à l'identification, dans le signal F, de la valeur codée VCES1 i ou VCES12 d'un premier élément de syntaxe ES1 qui est associé à une caractéristique de l'image courante ICj à décoder.
L'élément de syntaxe ES^ est un élément de syntaxe haut niveau d'une séquence vidéo comprenant l'image courante ICj à décoder. A cet effet, en fonction du contexte de décodage, cet élément peut être décodé :
- au début du décodage de chaque image de la séquence vidéo, - ou une seule fois au début du décodage d'une séquence d'images,
- ou une seule fois au début du décodage de la séquence vidéo. Une telle identification D1 est mise en œuvre par un dispositif PARS_D d'analyse de flux, tel que représenté à la figure 7, ledit dispositif étant piloté par le processeur PROC_D.
En D2, la valeur codée VCESI 1 ou VCES1 2 prise par le premier élément de syntaxe ES^ est décodée.
Un tel décodage D2 est mis en œuvre par un dispositif de décodage MD_D représenté sur la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le décodage est par exemple un décodage entropique de type CABAC ou bien encore un décodage entropique de type arithmétique ou de Huffman.
Selon un premier mode de réalisation, la caractéristique de l'image ICj est le type d'obtention de cette dernière. A cet effet :
- si l'image ICj est par exemple une image 2D qui a été obtenue par projection en deux dimensions d'une vidéo 360 ° classique, c'est la valeur codée VCES1 1 de l'élément de syntaxe ES^ qui est décodée,
- si l'image ICj est par exemple une image 2D classique de type fixe ou faisant partie d'une séquence d'images se succédant temporellement, c'est la valeur codée VCES1 2 de l'élément de syntaxe ES^ qui est décodée.
Selon un deuxième mode de réalisation, la caractéristique de l'image ICj est le choix au décodeur d'appliquer ou non un niveau de qualité de décodage différent à au moins deux zones de l'image courante. A cet effet :
- si l'image courante ICj est décodée selon un premier contexte de décodage, tel que par exemple un contexte d'imagerie médicale, la valeur codée de l'élément de syntaxe ESi identifiée en D1 dans le signal F est VCES1 i=1 pour indiquer qu'une première zone de l'image courante doit être décodée selon un niveau de qualité NQ1 inférieur à un niveau de qualité NQ2 appliqué à une deuxième zone de l'image courante,
- si l'image courante ICj est décodée selon un deuxième contexte de décodage, tel que par exemple un contexte télévisuel, la valeur codée de l'élément de syntaxe ES^ identifiée en D1 dans le signal F est VCES1 2=0 pour indiquer qu'un même niveau de qualité de décodage NQ est appliqué à toute zone de l'image courante ICj.
En référence à la figure 6A, il est procédé en D3 à l'identification, dans le signal F, des données codées Dd , DC2, ... , DCU, DCs (1≤u≤S) associées respectivement aux blocs B ; B2, Bu, ... , Bs codés précédemment conformément à l'ordre lexicographique précité, qui ont été obtenues à l'issue de l'opération de codage C8 de la figure 1 A. Cela signifie que les blocs sont décodés les uns après les autres, de la gauche vers la droite.
Une telle identification D3 est mise en œuvre par le dispositif PARS_D d'analyse de flux de la figure 7.
D'autres types de parcours que celui qui vient d'être décrit ci-dessus sont bien sûr possibles et dépendent de l'ordre de parcours choisi au codage.
Selon un exemple, les blocs B-i , B2, Bu, ... , Bs ont une forme carrée et contiennent tous K pixels, avec K>1 . Selon un premier mode de réalisation représenté sur la figure 3A, les blocs B ; B2, Bu, ... , Bs sont obtenus à l'issue d'une unique subdivision de l'image courante ICj en blocs de taille maximale. Selon ce premier mode de réalisation, les blocs ont une taille de par exemple 64x64 pixels. Selon un deuxième mode de réalisation, les blocs B ; B2, Bu, ..., Bs sont obtenus à l'issue d'une subdivision de l'image courante ICj en blocs de taille inférieure ou égale à la taille maximale précitée. Selon ce deuxième mode de réalisation, lesdits blocs sont par exemple de taille 64x64, et/ou 32x32, et/ou 1 6x1 6, et/ou 8x8 pixels. En fonction de la taille de l'image qui n'est pas forcément un multiple de la taille des blocs, les derniers blocs à gauche et les derniers blocs en bas peuvent ne pas être carrés. Dans un mode alternatif de réalisation, les blocs peuvent être par exemple de taille rectangulaire et/ou non alignés les uns avec les autres.
En référence à la figure 6A, en D4, le décodeur DO de la figure 7 sélectionne comme bloc courant à décoder un premier ensemble de données codées DCU de l'image ICj, tel que par exemple le premier ensemble de données codées DCi associé au premier bloc Bi à décoder. L'ensemble de données codées DCU du bloc courant Bu est associé à au moins un paramètre de codage. A titre d'exemples non exhaustifs, un tel paramètre de codage est :
• le mode de prédiction (prédiction intra, prédiction inter, bi- prédiction, prédiction par défaut réalisant une prédiction pour laquelle aucune information n'est transmise au décodeur (en anglais « skip ») ;
• le type de prédiction (orientation, composante d'image de référence, ...) ;
• le type de subdivision en sous-blocs ;
• le type de transformée, par exemple DCT 4x4, DCT 8x8, appliqué au bloc courant ou aux pixels résiduels du bloc courant si ce dernier a subi une prédiction ;
• les valeurs de pixels ;
• les valeurs de pixels résiduels résultant d'une prédiction ;
• un filtrage de l'image courante ICj une fois codée, tel que par exemple celui pratiqué par la technique « Sample Adaptive
Offset » de la norme HEVC (technique décrite dans le document Chih-Ming Fu ; E. Alshina ; A. Alshin ; Yu-Wen Huang ; Ching-Yeh Chen ; Chia-Yang Tsai ; Chih-Wei Hsu ; Shaw-Min Lei ; Jeong-Hoon Park ; Woo-Jin Han "Sample Adaptive Offset in the HEVC Standard' Published in: IEEE
Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, Dec. 2012 ) ; • l'index du mode de prédiction intra parmi une liste construite pour le bloc courant ;
• l'index du vecteur de mouvement parmi une liste construite pour le bloc courant ;
« un indicateur de subdivision du bloc résidu obtenu en cas de prédiction du bloc courant ;
• un indicateur de filtrage des pixels de référence qui ont servi à prédire le bloc courant ;
• etc ..
Un deuxième élément de syntaxe ES2 est représentatif de la valeur dudit au moins un paramètre de codage.
En D5, le décodeur DO lit s'il s'agit de la valeur codée VCES1 i ou VCESI 2 de l'élément de syntaxe ES1 qui a été décodée en D2.
Si en D5, il s'agit de la valeur codée VCESI 1 du premier élément de syntaxe ES^ et si, en D6, les données codées DCU sont associées à un bloc courant Bu qui appartient à une zone prédéfinie de l'image courante ICj, l'élément de syntaxe ES2 est mis à une valeur prédéfinie. Une telle opération est particulièrement adaptée lorsque la densité d'informations de la zone prédéfinie de l'image est faible ou très faible.
Des exemples de zones prédéfinies de l'image courante, selon un premier mode de réalisation, ont déjà été décrits en référence aux figures 4A à 4D et ne seront donc pas à nouveau décrits ici.
Des exemples de zones prédéfinies de l'image courante, selon un deuxième mode de réalisation, ont déjà été décrits en référence à la figure 5B et ne seront donc pas à nouveau décrits ici.
Selon un premier mode de réalisation, si l'élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu à décoder et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2 indiquant une prédiction inter du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant une prédiction intra du bloc courant Bu, il est décidé en D7 d'assigner ES2 à, par exemple, la première valeur prédéfinie VES2-I selon une convention prédéterminée au décodeur DO qui est la même qu'au codeur CO.
Selon un deuxième mode de réalisation, si l'élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2 indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu à décoder,
il est décidé en D7 d'assigner ES2, par exemple à la première valeur prédéfinie VES2-I , selon une convention prédéterminée au décodeur DO qui est la même qu'au codeur CO.
A cet effet, de façon correspondante au codeur CO de la figure 2, les valeurs prédéfinies VES2 et VES22 du deuxième élément de syntaxe ES2 sont stockées préalablement dans une liste LTS-i, dans la mémoire tampon MT_D du décodeur DO de la figure 7.
Lors du décodage du bloc courant Bu, seul le premier ou le deuxième mode de réalisation de l'élément de syntaxe ES2 est mis en œuvre. A titre d'alternative, les premier et deuxième modes de réalisation sont mis en œuvre.
Si en D5, il s'agit de la valeur codée VCES1 i du premier élément de syntaxe ES1 et si, en D6, les données codées DCU sont associées à un bloc courant Bu qui n'appartient pas à la zone prédéfinie de l'image courante, la valeur codée VCES2 ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8. Si VCES2 =0, à l'issue de ce décodage D8, une valeur décodée VES2i du deuxième élément de syntaxe ES2 est obtenue. Si VCES22=1 , à l'issue de ce décodage D8, une valeur décodée VES22 du deuxième élément de syntaxe ES2 est obtenue.
Selon un premier mode de réalisation, si l'élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu et que, par exemple, ES2 a été codé :
- selon une première valeur prédéfinie VCES2 =0 indiquant une prédiction inter du bloc courant Bu, - ou selon une deuxième valeur prédéfinie VCES22=1 indiquant une prédiction intra du bloc courant Bu,
le décodage de VCES2 =0 permet d'obtenir la valeur VES2 du deuxième élément de syntaxe ES2 ou le décodage de VCES22=1 permet d'obtenir la valeur VES22 du deuxième élément de syntaxe ES2.
Selon un deuxième mode de réalisation, si l'élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 a été codé :
- selon une première valeur prédéfinie indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou selon une deuxième valeur prédéfinie VCES22=1 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu,
le décodage de permet d'obtenir la valeur VES2i du deuxième élément de syntaxe ES2 ou le décodage de VCES22=1 permet d'obtenir la valeur VES22 du deuxième élément de syntaxe ES2.
Un tel décodage est par exemple un décodage entropique de type
CABAC ("Context Adaptive Binary Arithmetic Coder" en anglais) ou bien encore un décodage entropique de type arithmétique ou de Huffman. Ce décodage est mis en œuvre par le dispositif de décodage MD_D représenté sur la figure 7.
Si en D5, c'est la valeur codée VCES12 du premier élément de syntaxe
ESi qui a été décodée, la valeur codée VCES2 ou VCES22 de l'élément de syntaxe ES2 est systématiquement décodée en D8.
En référence à la figure 6A, les données du bloc courant Bu sont décodées en D9. Un tel décodage est mis en œuvre par un dispositif de décodage de blocs MDB_D représenté sur la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le décodage D9 met en œuvre, en D91 , un décodage des données DCU associées au bloc courant Bu à décoder et qui ont été codées en C8 sur la figure 1 A. A l'issue d'un tel décodage, est obtenu un ensemble d'informations numériques associé au bloc de coefficients quantifiés Bqu qui a été obtenu en
C52 sur la figure 1 A.
Le décodage D91 est mise en œuvre par le dispositif de décodage
MD_D représenté sur la figure 7. Le décodage D9 met en œuvre en outre une déquantification D92 du bloc de coefficients quantifiés Bqu, selon une opération classique de déquantification qui est l'opération inverse de la quantification C82 de la figure 1 A. Un ensemble de coefficients déquantifiés courant BDqu est alors obtenu. Une telle déquantification est par exemple de type scalaire ou vectorielle et est mise en œuvre au moyen d'un dispositif MQ"1_D de quantification inverse, tel que représenté à la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le décodage D9 met en œuvre en outre l'application D93 d'une transformée à l'ensemble de coefficients déquantifiés BDqu courant obtenu en D92. De façon connue en soi, une telle transformée est une transformée inverse de celle appliquée au codage en C81 sur la figure 1 A, telle que par exemple une transformée DCT, DST, DWT, LT ou autres. De façon correspondante au codeur CO de la figure 2, ces transformées font partie d'une liste de transformées LTS2 "1 qui est stockée préalablement dans la mémoire tampon MT_D du décodeur DO de la figure 7. Le type de transformée à appliquer peut être déterminé au décodeur classiquement, par lecture, dans le signal de données F, de l'index de la transformée appliquée au codage. Selon l'invention, le type de transformée à appliquer peut être déterminé par la mise en œuvre de l'opération D5 de la figure 6A.
L'application de transformée D93 est effectuée par un dispositif MTR"1_D de calcul de transformée, tel que représenté à la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le dispositif MQ"1_D de quantification inverse et le dispositif MTR"1_D de calcul de transformée sont contenus dans un dispositif de décodage de blocs MDB_D représenté sur la figure 7, lequel dispositif est piloté par le processeur PROC_D.
A l'issue du décodage des données du bloc courant, est obtenu un bloc décodé courant BDU.
Dans l'exemple décrit ici, on entend par données, les pixels du bloc décodé BDU.
Il convient toutefois de noter qu'on entend également par données, les pixels d'un bloc résidu courant décodé dans le cas où une prédiction du bloc courant Bu a été mise en œuvre au codage et qu'une prédiction inverse est donc mise en œuvre au décodage.
En référence à la figure 6A, il est procédé en D10 à l'écriture du bloc décodé courant BDU dans une image décodée IDj.
L'écriture D10 est mise en œuvre par un dispositif URI de reconstruction d'image tel que représenté sur la figure 7, le dispositif URI étant piloté par le processeur PROC_D.
Le procédé de décodage qui vient d'être décrit ci-dessus est mis en œuvre pour toutes les données codées de blocs Dd, DC2, DCU,..., DCs associées respectivement aux blocs B-i , B2, Bu,..., Bs à décoder de l'image courante ICj considérée.
On va maintenant décrire, en référence à la figure 6B, une variante du procédé de décodage de la figure 6A.
Cette variante se différentie du procédé de décodage de la figure 6A uniquement par le fait que :
- le décodage D8 de la valeur VCES2 ou VCES22 du deuxième élément de syntaxe ES2 n'est pas systématiquement mis en œuvre,
- la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 peut être décodée même si le bloc courant Bu appartient à la zone prédéfinie de l'image courante ICj.
A cet effet, comme représenté sur la figure 6B, dans le cas où l'ensemble de données codées DCU est associé à un bloc courant Bu qui appartient à la zone prédéfinie de l'image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en D50.
Si le critère est rempli, la valeur VCES2 ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8.
Si le critère n'est pas rempli, en D70, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2-I ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas où l'ensemble de données codées DCU est associé à un bloc courant Bu qui n'appartient pas à la zone prédéfinie de l'image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en D61 . Si le critère est rempli, la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8.
Si le critère n'est pas rempli, en D71 , l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas où c'est la valeur codée VCES12 du premier élément de syntaxe ESi qui a été décodée en D2, un critère dépendant des caractéristiques du bloc courant est examiné en D62.
Si le critère est rempli, la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8.
Si le critère n'est pas rempli, en D72, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
En variante, seulement une ou bien deux des trois opérations D60, D61 , D62 est mise en œuvre.
Selon un exemple de critère, dans le cas où le deuxième élément de syntaxe ES2 est représentatif de la taille du bloc courant Bu à décoder, la valeur VES2-I ou VES22 de l'élément de syntaxe ES2 est comparée à une valeur de taille prédéterminée VTP.
Dans le cas par exemple des images courantes représentées sur les figures 4A à 4C, pour lesquelles est décodée en D2 la valeur codée VCES1 de l'élément de syntaxe ESi indiquant que l'image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d'une vidéo 180° ou 360° :
- si en D6 (fig.6B), l'ensemble de données codées DCU est associé à un bloc courant Bu qui appartient à une zone prédéfinie Z1 , et
• si en D60, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant
Bu est décodée en D8,
• sinon, en D70, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu n'appartient pas à la zone prédéfinie Z1 , autrement dit appartient à la zone prédéfinie Z2 de l'image courante ICj, et
• si en D61 , il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur VCES21 ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D71 , l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas par exemple d'une image courante (non représentée), pour laquelle est décodée en D2 la valeur codée VCES12 de l'élément de syntaxe ESi indiquant que l'image courante ICj est par exemple une image 2D classique de type fixe ou faisant partie d'une séquence d'images se succédant temporellement :
• si en D62 (fig.6B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur codée VCES2 ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D72, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas de l'image courante ICj représentée sur la figure 4D, pour laquelle est décodée en D2 la valeur codée VCES1 i de l'élément de syntaxe ES1 indiquant que l'image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d'une vidéo 360° :
- si en D6 (fig.6B), l'ensemble de données codées DCU est associé à un bloc courant Bu qui appartient à la zone prédéfinie Z1 , et
• si en D60, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D70, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTS1 du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu appartient à la zone prédéfinie Z2 de l'image courante ICj, et
• si en D61 , il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D71 , l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu appartient à la zone prédéfinie Z3, et
• si en D62, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VCES21 ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D72, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas par exemple d'une image courante représentée sur la figure 5B, pour laquelle est décodée en D2 la valeur codée VCES1 i de l'élément de syntaxe ES-\ indiquant qu'au moins deux zones de l'image courante ICj sont décodées selon un niveau de qualité de décodage différent :
- si en D6 (fig.6B), l'ensemble de données codées DCU est associé à un bloc courant Bu qui appartient à une zone prédéfinie Z1 , et
• si en D60, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D70, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7, - si en D6 (fig.6B), le bloc courant Bu n'appartient pas à la zone prédéfinie Z1 , autrement dit appartient à la zone prédéfinie Z2 de l'image courante ICj, et
• si en D61 , il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 1 6x1 6, la valeur VCES21 ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D71 , l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas par exemple de l'image courante ICj représentée en bas à droite sur la figure 5A, pour laquelle est décodée en D2 la valeur codée VCES12 de l'élément de syntaxe ES-\ indiquant que chaque zone de l'image courante ICj est décodée selon un même niveau de qualité de décodage:
• si en D62 (fig.6B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8,
• sinon, en D72, l'élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2 ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention.

Claims

REVENDICATIONS
1 . Procédé de codage d'au moins une image (ICj) découpée en blocs, mettant en œuvre ce qui suit :
- coder (C2) un premier élément de syntaxe (ES-i ) associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à coder associé à au moins un paramètre de codage, coder (C8) les données du bloc courant,
ledit procédé de codage étant caractérisé en ce que:
- si le premier élément de syntaxe (ES-i ) est codé selon une première valeur prédéfinie (VCESI -i) représentative de la caractéristique de l'image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est codé (C7) uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image,
- si le premier élément de syntaxe (ES-i ) est codé selon une deuxième valeur prédéfinie (VCES12) représentative de la caractéristique de l'image, le deuxième élément de syntaxe (ES2) est codé (C7), que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
2. Procédé de codage selon la revendication 1 , dans lequel si le bloc courant appartient à ladite zone prédéfinie (Z2) de l'image, le codage du deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction (C51 ) d'un critère dépendant des caractéristiques du bloc courant.
3. Procédé de codage selon la revendication 1 ou 2, dans lequel la caractéristique de ladite au moins une image est le type d'obtention de ladite au moins une image.
4. Procédé de codage selon la revendication 1 ou 2, dans lequel la caractéristique de ladite au moins une image est le contexte de codage courant de l'image.
5. Dispositif de codage (CO) d'au moins une image (ICj) découpée en blocs, comprenant un circuit de traitement (CT_C) qui est agencé pour :
- coder un premier élément de syntaxe (ES-i) associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à coder associé à au moins un paramètre de codage, coder les données du bloc courant,
ledit dispositif de codage étant caractérisé en ce que le circuit de traitement est agencé pour :
- si le premier élément de syntaxe (ES-i) est codé selon une première valeur prédéfinie (VCESI -i) représentative de la caractéristique de l'image, coder un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image,
- si le premier élément de syntaxe (ES-i) est codé selon une deuxième valeur prédéfinie représentative (VCES12) de la caractéristique de l'image, coder le deuxième élément de syntaxe, que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
6. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 4, lorsque ledit programme est exécuté sur un ordinateur.
7. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 4, lorsque ledit programme est exécuté par un ordinateur.
8. Procédé de décodage d'un signal de données (F) représentatif d'au moins une image (ICj) codée ayant été découpée en blocs, mettant en œuvre ce qui suit :
- décoder (D2) un premier élément de syntaxe (ES-i) contenu dans ledit signal de données, ledit premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder (D9) les données du bloc courant,
ledit procédé de décodage étant caractérisé en ce que:
- si le premier élément de syntaxe (ES-i) a une première valeur prédéfinie
(VCESI -i) représentative de la caractéristique de l'image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est décodé uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image,
- si le premier élément de syntaxe (ES-i) a une deuxième valeur prédéfinie (VCES12) représentative de la caractéristique de l'image, le deuxième élément de syntaxe (ES2) est décodé, que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
9. Procédé de décodage selon la revendication 8, dans lequel si le bloc courant appartient à ladite zone prédéfinie (Z2) de l'image, le décodage du deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction (D61 ) d'un critère dépendant des caractéristiques du bloc courant.
10. Procédé de décodage selon la revendication 8 ou la revendication 9, dans lequel la caractéristique de ladite au moins une image est le type d'obtention de ladite au moins une image.
1 1 . Procédé de décodage selon la revendication 8 ou la revendication 9, dans lequel la caractéristique de ladite au moins une image est le contexte de décodage courant de l'image.
12. Dispositif de décodage d'un signal de données (F) représentatif d'au moins une image (ICj) codée ayant été découpée en blocs, comprenant un circuit de traitement (CT_D) qui est agencé pour :
- décoder un premier élément de syntaxe (ES-i ) contenu dans ledit signal de données, ledit premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder les données du bloc courant,
ledit dispositif de décodage étant caractérisé en ce que le circuit de traitement est agencé pour :
- si le premier élément de syntaxe (ES-i ) a une première valeur prédéfinie (VCESI -i) représentative de la caractéristique de l'image, décoder un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image,
- si le premier élément de syntaxe (ES-i) a une deuxième valeur prédéfinie (VCES12) représentative de la caractéristique de l'image, décoder le deuxième élément de syntaxe (ES2), que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
13. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 8 à 1 1 , lorsque ledit programme est exécuté sur un ordinateur.
14. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 8 à 1 1 , lorsque ledit programme est exécuté par un ordinateur.
EP18713333.5A 2017-03-16 2018-03-12 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants Pending EP3596923A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1752143A FR3064145A1 (fr) 2017-03-16 2017-03-16 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
PCT/FR2018/050579 WO2018167419A1 (fr) 2017-03-16 2018-03-12 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
EP3596923A1 true EP3596923A1 (fr) 2020-01-22

Family

ID=58707849

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18713333.5A Pending EP3596923A1 (fr) 2017-03-16 2018-03-12 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Country Status (8)

Country Link
US (1) US11159826B2 (fr)
EP (1) EP3596923A1 (fr)
JP (1) JP7096263B2 (fr)
KR (1) KR102498157B1 (fr)
CN (1) CN110431844B (fr)
BR (1) BR112019018901A2 (fr)
FR (1) FR3064145A1 (fr)
WO (1) WO2018167419A1 (fr)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO472897A0 (en) * 1997-01-22 1997-02-20 Canon Information Systems Research Australia Pty Ltd A method for digital image compression
US9667980B2 (en) * 2005-03-01 2017-05-30 Qualcomm Incorporated Content-adaptive background skipping for region-of-interest video coding
CA2624339C (fr) * 2005-10-12 2014-12-02 Thomson Licensing Procede et appareil pour le codage et le decodage video a produit scalaire
JP2009027493A (ja) * 2007-07-20 2009-02-05 Victor Co Of Japan Ltd 画像符号化装置および画像符号化方法
US8355041B2 (en) * 2008-02-14 2013-01-15 Cisco Technology, Inc. Telepresence system for 360 degree video conferencing
US9479786B2 (en) * 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
US9288508B2 (en) * 2011-11-08 2016-03-15 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
KR102001415B1 (ko) * 2012-06-01 2019-07-18 삼성전자주식회사 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
FR3012004A1 (fr) * 2013-10-15 2015-04-17 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR3012714A1 (fr) * 2013-10-25 2015-05-01 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US9918082B2 (en) * 2014-10-20 2018-03-13 Google Llc Continuous prediction domain
EP3029937B1 (fr) * 2014-12-03 2016-11-16 Axis AB Procédé et codeur pour le codage vidéo d'une séquence de trames
GB2548358A (en) * 2016-03-15 2017-09-20 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video
CN115037939B (zh) * 2016-05-27 2024-02-13 松下电器(美国)知识产权公司 编码装置及解码装置
EP3301643A1 (fr) * 2016-09-30 2018-04-04 Thomson Licensing Procédé et appareil de compensation de mouvement rectifiée pour vidéos omnidirectionnelles
CN106412582B (zh) * 2016-10-21 2019-01-29 北京大学深圳研究生院 全景视频感兴趣区域的描述方法和编码方法
JP6660868B2 (ja) * 2016-11-15 2020-03-11 Kddi株式会社 動画像符号化装置及び動画像復号装置並びにプログラム

Also Published As

Publication number Publication date
FR3064145A1 (fr) 2018-09-21
CN110431844B (zh) 2023-07-28
US20200084477A1 (en) 2020-03-12
KR102498157B1 (ko) 2023-02-08
KR20190126348A (ko) 2019-11-11
JP2020511082A (ja) 2020-04-09
WO2018167419A1 (fr) 2018-09-20
CN110431844A (zh) 2019-11-08
US11159826B2 (en) 2021-10-26
JP7096263B2 (ja) 2022-07-05
BR112019018901A2 (pt) 2020-04-14

Similar Documents

Publication Publication Date Title
EP2777269B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3061246B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP2446628A1 (fr) Procédé de codage et de décodage d&#39;images, dispositifs de codage et de décodage, flux de données et programme d&#39;ordinateur correspondants
EP2870761A1 (fr) Procédé de codage video par prediction du partitionnement d&#39;un bloc courant, procédé de décodage, dispositifs de codage et de décodage et programmes d&#39;ordinateur correspondants
EP2932714B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3058737A1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP4344203A2 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d ordinateur correspondants
EP3345391A2 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
WO2018073523A1 (fr) Procédé de codage et de décodage de paramètres d&#39;image, dispositif de codage et de décodage de paramètres d&#39;image et programmes d&#39;ordinateur correspondants
EP3596923A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3409016A1 (fr) Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d&#39;ordinateur correspondants
EP3649786A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR3033115A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
EP3854088A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20191009

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210527

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE