EP3649786A1 - 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
EP3649786A1
EP3649786A1 EP18752538.1A EP18752538A EP3649786A1 EP 3649786 A1 EP3649786 A1 EP 3649786A1 EP 18752538 A EP18752538 A EP 18752538A EP 3649786 A1 EP3649786 A1 EP 3649786A1
Authority
EP
European Patent Office
Prior art keywords
current block
image
zone
coding
decoding
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
EP18752538.1A
Other languages
German (de)
English (en)
Inventor
Joël JUNG
Félix Henry
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 EP3649786A1 publication Critical patent/EP3649786A1/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/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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

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 can be applied to the video coding implemented in the current video codecs AVC (abbreviation of "Advanced Video Coding") and HEVC (abbreviation of "High Efficiency Video Coding") and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), and the corresponding decoding.
  • AVC abbreviation of "Advanced Video Coding”
  • HEVC abbreviation of "High Efficiency Video Coding”
  • MVC 3D-AVC
  • MV-HEVC MV-HEVC
  • 3D-HEVC 3D-HEVC
  • Current video encoders use a block representation of the video sequence.
  • the images are cut into blocks, which can be re-cut, for example recursively as in the HEVC standard.
  • the image parameters associated with this block are coded in the form of bits by means of a coding method adapted implemented by an encoder, such as for example an entropic coder whose purpose is to code 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.
  • 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.
  • the AVC and HEVC coders / decoders are suitable for coding / decoding 2D images coming from the same camera and succeeding one another temporally.
  • Such encoders / decoders are also suitable for coding / decoding:
  • the 3D-HEVC coders / decoders are suitable for coding / decoding 3D images, such as 3D images from different cameras oriented in different views, corresponding texture and depth components, images derived from different images. a 360 ° mono video, etc.
  • the invention therefore aims at an encoder / decoder that proposes to use two different coding / decoding methods for a current image derived from a video content of a given type or format, while making it possible to optimize the coding / coding performance. decoding of the current 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 encoding a block-cut image, said image containing first and second distinct areas.
  • Such a coding method is remarkable in that it implements the following, for at least one current block of the image:
  • coding the current block using a second coding method which includes the following:
  • the current image is a two-dimensional image, it is decided:
  • this image comes from a video comprising temporally succeeding 2D images, to select a first coding method implemented in the encoder, such as a conventional method of AVC or HEVC type;
  • this image has been obtained by projection of a captured stereo video according to a plurality of viewing angles for example covering an angle of 360 °, this image being formed of two image zones corresponding to the eye left and the right eye of the user, to select in the encoder is the first encoding method mentioned above, or a second coding method depending on whether the current block is in the first zone or in the second zone of the 'picture.
  • the invention advantageously makes it possible to apply an adaptive coding to the current image according to the zone of the image to be encoded at the current time, at least one current block of a first zone being coded according to a first coding method, and at least one current block of a second zone of this image being coded according to a second coding method.
  • the second coding method advantageously makes it possible to take advantage of the spatial correlations that exist between the second zone and the first zone of the current image, the value of at least one coding parameter of a block located in the first zone being copied for a current block of the second zone. It is thus not necessary to code the value of such an encoding parameter for the current block. This results in a more efficient image coding because it is more precise, less complex and less expensive in terms of throughput.
  • the second coding method is applied to all the blocks of the second zone of the current image.
  • the coding method implements the following:
  • the coding method is made more flexible. improves coding efficiency.
  • the first and second zones of the image have the same shape, the first zone being situated above the second zone and separated from the latter by a horizontal boundary extending in the middle of the second zone. the image.
  • Such a spatial arrangement of the first and second zones of the current image makes it possible to optimize the coding performances, by precisely pre-defining the location of a block already coded and then decoded from the first zone of the image, as a function of the position. of the current block of the second zone.
  • the invention relates to a device for encoding at least one image cut into blocks, said image containing first and second distinct areas.
  • a coding device is remarkable in that it comprises a processing circuit which is arranged to implement the following, for at least one current block of the image:
  • coding the current block using a second coding method which includes the following:
  • the invention also relates to a method of decoding a data signal representative of a block-cut image that has been encoded, said at least one image containing first and second distinct areas.
  • Such a decoding method is remarkable in that it implements the following, for at least one current block to decode the image:
  • a second decoding method which comprises the following:
  • the second decoding method is applied to all the blocks of the second zone of the current image.
  • the second decoding method is applied to the current block of the second zone if, for the current block, is read in the data signal selection information of the second decoding method, the first method decoding being applied to the current block of the second zone if, for the current block, is read in the data signal selection information of said first decoding method.
  • the first and second zones of the image have the same shape, the first zone being situated above the second zone and separated from the latter by a horizontal boundary extending in the middle of the second zone. the image.
  • the invention relates to a device for decoding a data signal representative of a block-cut image that has been encoded, said at least one image containing first and second distinct areas.
  • Such a decoding device is characterized in that it comprises a processing circuit which is arranged to implement the following, for at least one current block to decode the image:
  • decoding the current block using a second decoding method which comprises the following: starting from the position of the current block in the second zone, identifying a previously decoded block located in the first zone of the image,
  • 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 a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, a digital recording means, for example a key USB or a hard drive.
  • 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 progress of the coding method according to a first embodiment of the invention
  • FIG. 1B represents the progress of the coding method according to a second embodiment of the invention
  • FIG. 2A represents a coding device according to a first embodiment of the invention
  • FIG. 2B represents a coding device according to a second embodiment of the invention
  • FIGS. 3A to 3C each represent examples of distinct zones in the current image to be encoded or decoded
  • FIG. 4 represents an example of a conventional coding method implemented in the coding methods of FIGS. 1A and 1B,
  • FIGS. 5A and 5B each represent two different examples of identifying a reference block in a current image, when applying to the current block a coding or decoding method according to the invention, as set out in FIG. implemented in the coding methods of FIGS. 1A and 1B or in the decoding methods of FIGS. 6A and 6B,
  • FIG. 6A represents the progress of the decoding method according to a first embodiment of the invention
  • FIG. 6B represents the progress of the decoding method according to a second embodiment of the invention
  • FIG. 7A represents a decoding device according to a first embodiment of the invention
  • FIG. 7B represents a decoding device according to a second embodiment of the invention
  • FIG. 8 represents an example of a conventional decoding method implemented in the decoding methods of FIGS. 6A and 6B. Detailed description of the coding part
  • a first embodiment of the invention will now be described, in which 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 implemented in an encoder according to any current or future video coding standards.
  • 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 first embodiment of the invention is represented in the form of an algorithm comprising operations C1 to C6a) or C1 to C6b) as represented in FIG. 1A.
  • the coding method is implemented in a coding device or coder CO shown in FIG. 2A.
  • 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 coding method represented in FIG. 1A applies to any current image IC j that is fixed or part of a sequence of L images ld, IC j , ..., IC L (1 j j L L ) to code.
  • the current image IC j comes from at least one video sequence comprising, by way of non-exhaustive examples:
  • images obtained by projection of a mono 360 ° video images obtained by projection of a stereo video and each comprising at least two representative views of the same scene
  • non-natural images of the "screen content” type such as, for example, images obtained by screen video capture,
  • C1 is, in a manner known per se, the cutting of a current image IC j into a plurality of blocks B ; B 2 , B u , ..., B s (1 ⁇ u S S).
  • the partitioning is implemented by a partitioning device MP_C shown in FIG. 2A, which device is controlled by the processor PROC_C.
  • block means coding unit (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)”.
  • HEVC High Efficiency Video Coding
  • 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 have a size of 64 ⁇ 64 pixels and / or 32 ⁇ 32 and / or 16 ⁇ 16 and / or 8 ⁇ 8 pixels.
  • the last blocks on the left and the last blocks on the bottom may not be square.
  • the blocks can be for example of rectangular size and / or not aligned with each other.
  • C2 is coded for an activateStereoReuse syntax element that is associated with a characteristic of the current image IC j .
  • the activateStereoReuse syntax element is a high-level syntax element of a video sequence that includes the current image IC j .
  • this element can be coded:
  • the activateStereoReuse syntax element is intended to indicate the type of current image format to be encoded.
  • the activateStereoReuse syntax element is coded at the value 1 if the current image to be encoded has been obtained by projection of a stereo video, 360 °, 180 ° or others, and the image current is composed of several views captured at the same time instant and arranged in the current image so as to form a single view (rectangle of pixels).
  • a method of composing such an image uses, for example, the technique called "Frame Packing" (FP).
  • FP Full Packing
  • the activateStereoReuse syntax element is coded to 0 if the current image to be encoded is of 2D type or has been obtained by projection of a mono video, 360 °, 180 ° or others.
  • the coding C2 is for example a entropic coding of type CABAC
  • the current image to be encoded has been obtained by projection of a stereo video, 360 °, 180 ° or other, and that the current image is composed of several views captured at the same time temporal and arranged in the current image so as to form a single view (rectangle of pixels).
  • the coder CO of FIG. 2A selects at C3 a current block to be coded B u of the image IC j .
  • the current block B u of the image IC j is located, for example by determining its coordinates with respect to the first pixel located at the top left of the image IC j , and whose coordinates are ( 0.0). Such a location has the effect of determining whether the current block belongs to a first zone or a second zone of the current image IC j , the first and second zones being distinct. According to the invention, the first and second zones are distinct, in the sense that they do not overlap.
  • the location C4 is implemented by a computing device CAL1_C as represented in FIG. 2A, which device is controlled by the processor PROC_C.
  • a current image IC j comprises a first zone Z1 which extends over the upper half of the image and a second zone Z2 which extends over the lower half of the image.
  • the zones Z1 and Z2 have the same shape and are separated from each other by a horizontal border FH extending in the middle of the image.
  • a current image IC j comprises a first zone Z1 which extends over the left half of the image and a second zone Z2 which extends over the right half of the image. picture.
  • the zones Z1 and Z2 have the same shape and are separated from each other by a vertical border FV extending in the middle of the image.
  • a current image IC j comprises a first zone Z1 which extends over the first left top quarter of the image and a second zone Z2 which extends over the second upper left quarter of the image.
  • the zones Z1 and Z2 have the same shape and are separated from each other by a horizontal border FH extending over a quarter of the image.
  • zones Z1 and Z2 can be inverted.
  • the zones Z1 and Z2 may have the same shape or not.
  • the coding of the current block is carried out at C5a) using a first coding method MC1 .
  • the first coding method MC1 is a conventional method, an example of which is illustrated in FIG. 4.
  • the coding method MC1 is applied to any current block of the zone Z1.
  • such a conventional encoding method MC1 implements a prediction C51 a) of the current block B u by conventional prediction techniques, for example Intra and / or Inter and / or skip and / or Merge, etc.
  • the current block B u is predicted with respect to at least one predictor block according to a prediction mode belonging to one of the prediction techniques which have just been mentioned.
  • the current block B u is predicted with respect to a plurality of candidate predictor blocks.
  • Each of the candidate predictor blocks is a block of pixels that has already been encoded and decoded.
  • an optimal predictor block BP op t is obtained following a putting into competition of said predetermined prediction techniques, according to a predetermined coding performance criterion, for example by minimizing a flow criterion distortion well known to those skilled in the art.
  • the BP op t block is considered as an approximation of the current block B u .
  • the information relating to this prediction is intended to be written, in the form of syntax elements, in a signal or data stream to be transmitted to a decoder.
  • the operations C51 a) and C52a) are implemented by a predictive coding device PRED_C shown in FIG. 2A, which device is controlled by the processor PROC_C.
  • Br u are C53a) encoded in a conventional manner.
  • such an encoding C53a) implements the application C531 a) of a transform to the pixels of the current residue block Br u .
  • 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. 2A, which device is controlled by the processor PROC_C.
  • the coding C53a) further implements a quantization C532a) 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 conventional quantization operation such as, for example, a scalar or vector quantization.
  • the quantization C532a) is implemented by a quantization device MQ_C as represented in FIG. 2A, 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 encoding device
  • the coding C53a) further implements a coding C533a) of the data of the block Bq u of quantized coefficients. Coding C533a) is implemented by the coding device MC_C of FIG. 2A. At the end of the coding C53a), a set of coded data DC U of the current block B u is obtained.
  • coder CO certain information encoded by the coder CO, such as, for example:
  • the stream F optionally contains the value 0/1 of the activateStereoReuse syntax element, if the latter is coded at the image level.
  • the construction of the stream F is implemented by a data signal construction device MCF, as shown in FIG. 2A.
  • the coding of the current block is carried out at C5b) using a second coding method MC2.
  • the second coding method MC2 is applied to any current block located in the second zone Z2.
  • C51 b is used to identify a reference block B ref which has been previously coded and then decoded, and which is located in the first zone Z1 of the current image IC j .
  • the identification C51 b) is implemented by a computing device CAL2_C as represented in FIG. 2A, which device is controlled by the processor PROC_C.
  • FIG. 5A represents an example of such a determination, in the case where the reference block B ' ref which is determined does not overlap with other neighboring reference blocks in the first zone Z1 of the current image IC j which is for example similar to that illustrated in Figure 3A.
  • the neighboring reference blocks are those represented with dots. According to such a configuration, the block B ' ref is then considered as the block B ref identified.
  • FIG. 5B represents another example of such a determination, in the case where the reference block B ' ref which is determined overlaps with other neighboring reference blocks r1, r2, r3, r4 in the first zone Z1 of the current image IC j which is for example similar to that illustrated in Figure 3A.
  • it is determined which of the neighboring reference blocks r1, r2, r3, r4, the one with the most pixels in common with the block B ' ref .
  • the reference block B ' ref is determined in the first zone Z1, as being the block which contains the coordinate pixel where (x c , y c ) are the coordinates of the center of the current block.
  • At least one coding parameter P RCi associated with the reference block B ref is read at C52b).
  • Such a parameter encoding PRCi is stored in an LST2 list of buffer MT_C of the encoder of Figure 2A.
  • the reading C52b) is implemented by a reading device LEC_C as represented in FIG. 2A, which device is controlled by the processor PROC_C.
  • the list LST2 contains a number K of coding parameters PRC-1, PRC 2 ,..., PRC K associated with the reference block B ref identified, among which we find:
  • the type of filtering applied to the block B ref such as, for example, the SAO mode ("Sample Adaptive Offset") used in the HEVC standard,
  • one or more of the aforementioned coding parameters associated with the block B ref can thus be read.
  • coding of a syntax element ES_PRCi which indicates whether the coding parameter PRCi of the reference block B re t is a parameter whose value has been copied or not for the block is coded in C54b).
  • the coding C54b) is for example a entropic coding of CABAC type or else an entropy coding of arithmetic type or Huffman type. This coding is implemented by the coding device MC_C of FIG. 2A.
  • syntax element ES_PRCi is encoded:
  • the encoding parameter PRCi is coded in a conventional manner.
  • ES_PRCi ES_PRC 2 , ... , ES_P RCK which indicate whether each of the encoding parameters PRC-i, PRC 2 , ... , P RCK associated with the reference block B ref is a parameter whose value has been copied or not for the current block.
  • the binary sequence 1 101 means for example that:
  • the MCF device of FIG. 1A With reference to FIG. 1A, the MCF device of FIG.
  • a signal portion F which contains, according to the invention, the value 0/1 of said at least one element of syntax ES_PRC-
  • the signal portion F also contains all the data of the current block which has been coded in a conventional manner.
  • the stream F optionally contains the value 0/1 of the activateStereoReuse syntax element, if the latter is coded at the image level.
  • the data signal F is then transmitted by a communication network (not shown) to a remote terminal. This includes the decoder DO shown in FIG. 7A.
  • the coding operations C1 to C6b) are implemented for each block of the second zone Z2 of the current image IC j .
  • FIG. 1B A second embodiment of the coding method according to the invention will now be described with reference to FIG. 1B.
  • the encoding method is implemented in a coding device or encoder CO 'shown in Figure 2B which comprises elements similar to those of the CO encoder of Figure 2A.
  • a coding device or encoder CO 'shown in Figure 2B which comprises elements similar to those of the CO encoder of Figure 2A.
  • FIG. 2B shows that such similar elements are shown in FIG. 2B with the same references as in FIG. 2A.
  • the first coding method MC1 is applied to any current block located in the first zone Z1, in exactly the same manner as in the first embodiment of FIG. distinguished from that of FIG. 1A in that, with reference to FIG. 1B, in addition to the coding C5b) implemented for the current block located in the second zone Z2, the coding of the block is carried out in C100b) current B u using the first coding method MC1 applied to any block of the first zone Z1 of the current image, such as for example the coding method shown in FIG. 4.
  • Such a coding 100b) is set implemented by the predictive coding device PRED_C, the block coding device MCB_C and the coding device MC_C which are illustrated in Figure 2B.
  • the coding methods MC1 and MC2 applied to the current block, respectively in C5b) and in C100b), are put into competition in C200b), according to a predetermined coding performance criterion, for example by minimizing d a distortion rate criterion well known to those skilled in the art.
  • the competition C200b) is implemented by a computing device CPT as represented in FIG. 2B, which device is controlled by the processor PROC_C.
  • An element of syntax ES_MC op t is then coded in C300b).
  • the coding C300b) is for example a entropic coding CABAC type or even an entropy coding arithmetic type or Huffman. This coding is implemented by the coding device MC_C of FIG. 2B.
  • syntax element ES_MC op t is encoded:
  • the MCF device of FIG. 1B With reference to FIG. 1B, the MCF device of FIG.
  • the signal portion F ' is then transmitted by a communication network (not shown) to a remote terminal.
  • the coding operations C1 to C400b) are implemented for each block of the second zone Z2 of the current image IC j .
  • a first embodiment of the invention will now be described, in which the decoding method according to the invention is used for decoding a signal or data stream representative of an image or a sequence of images that is suitable. to be decoded by a decoder in accordance with any of the current or future video decoding standards.
  • 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 first embodiment of the invention is represented in the form of an algorithm comprising operations D1 to D7a) or D1 to D7b) as represented in FIG. 6A.
  • the decoding method according to the invention is implemented in a decoding device or decoder DO shown in FIG. 7A.
  • 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 decoding method 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:
  • non-natural images of the "screen content” type such as, for example, images obtained by screen video capture,
  • D1 reads, in the data signal F, the coded value 0 or 1 of the activateStereoReuse syntax element which is associated with a characteristic of the current image IC j to decode.
  • the reading D1 is implemented only in the case where this syntax element has been coded at the level of the current image IC j .
  • the activateStereoReuse syntax element that is read takes, for example:
  • the value 0 if the current image to be decoded is of 2D type or has been obtained by projection of a mono video, 360 °, 180 ° or others.
  • the reading D1 is implemented by a PARS_D device for flow analysis, as shown in FIG. 7A, said device being controlled by the processor PROC_D.
  • Such a decoding D2 is implemented by a decoding device
  • MD_D shown in Figure 7A which device is controlled by the PROC_D processor.
  • the decoding is for example a CABAC entropic decoding or an arithmetic or Huffman entropy decoding.
  • the current image to be decoded has been obtained by projection of a stereo video, 360 °, 180 ° or others, and that the current image is composed of several views captured at the same time instant and arranged in the current image so as to form a single view (rectangle of pixels).
  • Such identification D3 is implemented by the PARS_D flow analysis device of FIG. 7A.
  • the blocks B ; B 2 , B u , ..., B s have a square shape and all contain K pixels, with K> 1.
  • the blocks have a size of 64 ⁇ 64 pixels and / or 32 ⁇ 32 and / or 16 ⁇ 16 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 decoder DO of FIG. 7A selects as a current block to be decoded a set of coded data current DC U of the image IC j , associated with a block B u to be decoded.
  • the current block B u to be decoded of the image IC j is located , for example by determining its coordinates with respect to the first reconstructed pixel of the image IC j , located at the top left of this image. last and has coordinates (0,0).
  • the location D5 is implemented by a computing device CAL1_D as shown in FIG. 7A, which device is controlled by the processor PROC D.
  • the current block B u belongs to the first zone Z1 of the image IC j , with reference to FIG. 6A, the current block is decoded with the aid of a first decoding method MD1 which corresponds to the coding method MC1 applied to the coding, in C5a) in FIG. 1 A.
  • the first method of decoding MD1 is a conventional method, an example of which is illustrated in FIG. 8.
  • the decoding method MD1 is applied to any block current of zone Z1.
  • such a conventional decoding method MD1 implements in D61 a) the decoding of prediction information previously read in the signal F, such as the type of prediction Inter, Intra, skip or Merge applied to current block B u , and if necessary, the prediction mode selected, the index of the BP opt- predictor block which was obtained during the prediction C51 a) (fig.4) which has been implemented in the coding.
  • prediction information previously read in the signal F, such as the type of prediction Inter, Intra, skip or Merge applied to current block B u , and if necessary, the prediction mode selected, the index of the BP opt- predictor block which was obtained during the prediction C51 a) (fig.4) which has been implemented in the coding.
  • the predictor block BP op t associated with the decoded index is obtained.
  • the coded data DC U of the current block B u are decoded in D62a). Such decoding is implemented by a block decoding device MDB_D shown in FIG. 7A, which device is controlled by the PROC_D processor.
  • the decoding D62a) implements, in D621 a), a decoding of the DC U data associated with the current block B u to be decoded and which have been coded in C5a) in FIG. 1 A. At the end of such a decoding , is obtained a set of digital information associated with the quantized coefficient block Bq u which has been obtained in C532a) in FIG. 4.
  • the decoding D621 a) is implemented by the decoding device
  • the decoding D62a) further implements a dequantization D622a) of the quantized coefficient block Bq u , according to a conventional dequantization operation which is the inverse operation of the quantization C532a) of FIG. 4.
  • a set of dequantized coefficients current BDq u is then obtained.
  • Such dequantization is for example of scalar or vector type and is implemented by means of a device MQ "1 _D of inverse quantization, as shown in FIG. 7A, which device is controlled by the PROC_D processor.
  • the decoding D62a) further implements the application D623a) of a transform to the set of dequantized coefficients BDq u current obtained in D622a).
  • a transform is an inverse transform from that applied to the C531 encoding a) in FIG. 4, such as, for example, a DCT, DST, DWT, LT or other transform.
  • these transforms are part of a list of transforms LTS1 "1 which is previously stored in the buffer MT_D of the decoder DO of FIG 7A
  • the type of transform to be applied can be determined to the decoder conventionally, by reading, in the data signal F, the index of the transform applied to the coding.
  • the transformation application D623a) is performed by a transform calculation device MTR " 1 _D, as shown in FIG. 7A, which device is controlled by the processor PROC_D.
  • the inverse quantization MQ device 1 1D and the transform calculation MTR device 1 1D are contained in a block decoding device MDB_D shown in FIG. 7A, which device is controlled by the PROC_D processor.
  • the current decoded residue block BDr u is added to the BP opt predictor block obtained in D61 a).
  • the operation D63a) is implemented by a predictive decoding device PRED_D shown in FIG. 7A, which device is controlled by the PROC_D processor.
  • a current decoded block BD U is obtained after the operation D63a).
  • the current decoded block BD U is written in D7a) in a decoded picture ID j .
  • the writing D7a) is implemented by an image reconstruction URI device as represented in FIG. 7A, the URI device being controlled by the PROC_D processor.
  • the current block B u belongs to the second zone Z2 of the image IC j , it is carried out at D6b) at the decoding of the current block using a second decoding method MD2 which corresponds to the coding method MC2 applied to the coding, in C5b) in FIG. 1A.
  • the second decoding method MD2 is applied to any current block to be decoded which is located in the second zone Z2.
  • D61 b is used to identify a reference block B ref that has been previously decoded, and which is located in the first zone Z1 of the image. current IC j being decoded.
  • the identification D61 b) is implemented by a computing device CAL2_D as shown in FIG. 7A, which device is controlled by the processor PROC_D.
  • the identification D61 b) is identical to the identification C51 b) made at the coding with reference to FIG. 1 A.
  • the device PARS_D of FIG. 7A proceeds in D62b) to read, in the signal F, at least one syntax element.
  • ES_PRCi which indicates whether a coding parameter PRCi of the reference block B ref is a parameter whose value has been copied or not for the current block B u .
  • the decoding D63b) is for example a CABAC-type entropic decoding or else an entropy decoding of arithmetic type or of Huffman. This decoding is implemented by the encoding device MD_D of FIG. 7A.
  • the encoding parameter PRCi is used directly as a decoding parameter PRDi of the current block,
  • the encoding parameter PRCi is then decoded using a conventional decoding method.
  • the binary sequence 101 means, for example, that:
  • the type of transform which has been applied to the reference block B ref is not used directly as a decoding parameter of the current block and is decoded in a conventional manner
  • the value of the quantization step used during the coding of the reference block B ref is used directly as a decoding parameter of the current block.
  • at least one decoding parameter PRDi associated with the reference block B ref is stored in a list LST2 of the buffer MT_D of the decoder DO.
  • the list LST2 of the decoder DO of FIG. 7A contains a number K of decoding parameters PRD-1, PRD 2 ,..., PRD K associated with the reference block B ref identified and which are respectively identical to the K coding parameters PRC-i, PRC 2 ,..., PRC K stored in the list LST2 of the coder CO of FIG. 2A. Examples of such parameters have already been described in the coding method of Figure 1A and will not be described again here.
  • the value of the coding parameter PRCi associated with the syntax element ES_PRCi for the current block B u is copied to the D64b).
  • the value of the decoding parameter PRDi decoded in D63b) is assigned to the current block B u .
  • a current decoded block BD U is obtained.
  • the image reconstruction URI device of FIG. 7A proceeds in D7b) to write the current decoded block BD U in a decoded picture ID j .
  • the decoding operations D1 to D7a) are implemented for each block of the first zone Z1 of the current image IC j ,
  • the decoding operations D1 to D7b) are implemented for each block of the second zone Z2 of the current image IC j .
  • the decoding method is implemented in a decoding device or decoder DO 'shown in FIG. 7B which comprises elements similar to those of the decoder DO of FIG. 7A. For reasons of simplification, such similar elements are shown in FIG. 7B with the same references as in FIG. 7A.
  • the first decoding method MD1 is applied to any current block located in the first zone Z1, in exactly the same manner as in the first embodiment of FIG. 6A.
  • the second embodiment differs from that of FIG. 6A in that the second decoding method MD2 is not systematically applied to each current block located in the second zone Z2.
  • the syntax element is read in the signal F 'in D100b).
  • ES_MC op t which indicates which coding method MC1 or MC2 was selected following the competition implemented at the coding in C200b) in FIG. 1B.
  • the reading D100b) is implemented by the device PARS_D of FIG. 7B.
  • the decoding D200b) is for example an entropy decoding type
  • CABAC CABAC or even an entropy decoding arithmetic type or Huffman.
  • This decoding is implemented by the encoding device MD_D of FIG. 7B.
  • the current block is decoded using the second decoding method MD2, in exactly the same way as in D5b) in FIG. 6A. according to the first embodiment.
  • the current block is decoded at D300b) using the first decoding method MD1 which has been applied to each current block of the first zone Z1 of the current image, in exactly the same way as in D5a) in FIG. 6A, according to the first embodiment.
  • the decoding method MD1 is for example the decoding method represented in FIG. 8. Such decoding 300b) is implemented by the decoding device MD_D, the block decoding device MDB_D and the predictive decoding device PRED_D and which are illustrated in Figure 7B. At the end of the application of the first decoding method MD1 or the second decoding method MD2 to the current block, a current decoded block BD U is obtained.
  • the image reconstruction URI device of FIG. 7B proceeds, in D400b), with the writing of the current decoded block BD U in a decoded image ID j .
  • the decoding operations D1 to D7a) are implemented for each block of the first zone Z1 of the current image IC j ,
  • the decoding operations D1 to D400b) are implemented for each block of the second zone Z2 of the current image IC j .

Landscapes

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

Abstract

L'invention concerne le codage d'une image (ICj) découpée en blocs, ladite image contenant des première et deuxième zones distinctes (Z1, Z2). Le codage est caractérisé en ce qu'il met en œuvre ce qui suit, pour au moins un bloc courant (Bu) de l'image: - déterminer (C4) à laquelle des première et deuxième zones appartient le bloc courant, - si le bloc courant appartient à la première zone (Z1), coder (C5a)) le bloc courant à l'aide d'une première méthode de codage (MC1), - si le bloc courant appartient à la deuxième zone (Z2), coder (C5b)) le bloc courant à l'aide d'une deuxième méthode de codage (MC2) qui comprend ce qui suit : - à partir de la position du bloc courant dans la deuxième zone, identifier (C51b)) un bloc (Bref) préalablement codé, puis décodé, situé dans la première zone de l'image, - recopier la valeur d'au moins un paramètre de codage (PRC1) associé au bloc identifié.

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 (abréviation anglaise de « Advanced Vidéo Coding ») et HEVC (abréviation anglaise de « High Efficiency Video Coding»; 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.
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.
Pour chaque type ou format d'image considéré, un codage spécifique est implémenté. Ainsi par exemple, les codeurs/décodeurs AVC et HEVC sont adaptés pour coder/décoder des images 2D issues d'une même caméra et se succédant temporellement. De tels codeurs/décodeurs sont également adaptés pour coder/décoder :
- des images obtenues par projection d'une vidéo stéréo et comportant chacune deux vues représentatives d'une même scène, qui sont destinées à être regardées respectivement par l'œil gauche et l'œil droit de l'utilisateur,
- des images obtenues par projection en deux dimensions d'une vidéo stéréo 360° , etc.... Selon un autre exemple, les codeurs/décodeurs 3D-HEVC sont adaptés pour coder/décoder des images 3D, telles que des images 3D issues de différentes caméras orientées selon des vues différentes, des composantes de texture et de profondeur correspondantes, des images issues d'une vidéo 360° mono, etc....
En proposant ainsi un type bien spécifique de codage/décodage pour un format ou un type d'image considéré, les performances de codage/décodage obtenues par les codeurs/décodeurs actuels ne sont pas satisfaisantes.
L'invention vise donc un codeur/décodeur qui propose d'utiliser deux méthodes de codage/décodage différentes pour une image courante issue d'un contenu vidéo d'un type ou format donné, tout en permettant d'optimiser les performances de codage/décodage de l'image courante.
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'une image découpée en blocs, ladite image contenant des première et deuxième zones distinctes.
Un tel procédé de codage est remarquable en ce qu'il met en œuvre ce qui suit, pour au moins un bloc courant de l'image:
- déterminer à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone, coder le bloc courant à l'aide d'une première méthode de codage,
- si le bloc courant appartient à la deuxième zone, coder le bloc courant à l'aide d'une deuxième méthode de codage qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier un bloc préalablement codé, puis décodé, situé dans la première zone de l'image,
- recopier la valeur d'au moins un paramètre de codage associé au bloc identifié. Une telle disposition permet au sein d'un même encodeur de sélectionner une méthode de codage qui soit la plus adaptée à 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é :
- dans le cas où cette image provient d'une vidéo comprenant des images 2D se succédant temporellement, de sélectionner une première méthode de codage implémentée dans l'encodeur, telle qu'une méthode classique de type AVC ou HEVC ;
- dans le cas où cette image a été obtenue par projection d'une vidéo stéréo capturée selon une pluralité d'angles de vue couvrant par exemple un angle de 360° , cette image étant formée de deux zones d'image correspondant à l'œil gauche et à l'œil droit de l'utilisateur, de sélectionner dans l'encodeur soit la première méthode de codage précitée, soit une deuxième méthode de codage selon que le bloc courant se trouve dans la première zone ou dans la deuxième zone de l'image.
Grâce à l'invention, il est ainsi possible de proposer un codage adaptatif des contenus vidéo qui tienne compte du format de ces derniers. En outre, pour certains types de format de contenu, l'invention permet avantageusement d'appliquer un codage adaptatif à l'image courante selon la zone de l'image à coder à l'instant courant, au moins un bloc courant d'une première zone étant codé selon un première méthode de codage, et au moins un bloc courant d'une deuxième zone de cette image étant codé selon une deuxième méthode de codage.
La deuxième méthode de codage utilisée permet avantageusement de tirer partie des corrélations spatiales qui existent entre la deuxième zone et la première zone de l'image courante, la valeur d'au moins un paramètre de codage d'un bloc situé dans la première zone étant recopiée pour un bloc courant de la deuxième zone. Il n'est ainsi pas nécessaire de coder la valeur d'un tel paramètre de codage pour le bloc courant. Il en résulte un codage de l'image plus performant car plus précis, moins complexe et moins coûteux en débit. Selon un mode de réalisation particulier, la deuxième méthode de codage est appliquée à tous les blocs de la deuxième zone de l'image courante.
Une telle disposition permet d'optimiser la réduction de la complexité et la réduction du coût en débit du codage mis en œuvre à l'encodeur.
Selon un autre mode de réalisation particulier, le procédé de codage met en œuvre ce qui suit :
- coder ledit au moins un bloc courant de la deuxième zone de l'image à l'aide de la première méthode de codage,
- sélectionner la première méthode de codage ou la deuxième méthode de codage conformément à un critère de performance de codage prédéterminé,
- coder une information représentative de ladite sélection.
Compte tenu du fait que les première et deuxième méthodes de codage sont mises en compétition, bien que la deuxième méthode de codage ait été dans un premier temps appliquée à l'encodeur au bloc courant, le procédé de codage est rendu plus flexible, ce qui améliore l'efficacité du codage.
Selon encore un autre mode de réalisation particulier, les première et deuxième zones de l'image ont la même forme, la première zone étant située au-dessus de la deuxième zone et séparée de cette dernière par une frontière horizontale s'étendant au milieu de l'image.
Un tel agencement spatial des première et deuxième zones de l'image courante permet d'optimiser les performances de codage, en prédéfinissant précisément la localisation d'un bloc déjà codé puis décodé de la première zone de l'image, en fonction de la position du bloc courant de la deuxième zone.
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, ladite image contenant des première et deuxième zones distinctes. Un tel dispositif de codage est remarquable en ce qu'il comprend un circuit de traitement qui est agencé pour mettre en œuvre ce qui suit, pour au moins un bloc courant de l'image:
- déterminer à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone, coder le bloc courant à l'aide d'une première méthode de codage,
- si le bloc courant appartient à la deuxième zone, coder le bloc courant à l'aide d'une deuxième méthode de codage qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier un bloc préalablement codé, puis décodé, situé dans la première zone de l'image,
- recopier la valeur d'au moins un paramètre de codage associé au bloc identifié.
De façon correspondante, l'invention concerne aussi un procédé de décodage d'un signal de données représentatif d'une image découpée en blocs qui a été codée, ladite au moins une image contenant des première et deuxième zones distinctes.
Un tel procédé de décodage est remarquable en ce qu'il met en œuvre ce qui suit, pour au moins un bloc courant à décoder de l'image:
- déterminer à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone, décoder le bloc courant à l'aide d'une première méthode de décodage,
- si le bloc courant appartient à la deuxième zone, décoder le bloc courant à l'aide d'une deuxième méthode de décodage qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier un bloc préalablement décodé, situé dans la première zone de l'image,
- affecter au bloc courant au moins un paramètre de décodage associé audit bloc identifié. Selon un mode de réalisation particulier, la deuxième méthode de décodage est appliquée à tous les blocs de la deuxième zone de l'image courante.
Selon un autre mode de réalisation particulier, la deuxième méthode de décodage est appliquée au bloc courant de la deuxième zone si, pour le bloc courant, est lue dans le signal de données une information de sélection de la deuxième méthode de décodage, la première méthode de décodage étant appliquée au bloc courant de la deuxième zone si, pour le bloc courant, est lue dans le signal de données une information de sélection de ladite première méthode de décodage.
Selon encore un autre mode de réalisation particulier, les première et deuxième zones de l'image ont la même forme, la première zone étant située au-dessus de la deuxième zone et séparée de cette dernière par une frontière horizontale s'étendant au milieu 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'une image découpée en blocs qui a été codée, ladite au moins une image contenant des première et deuxième zones distinctes.
Un tel dispositif de décodage est caractérisé en ce qu'il comprend un circuit de traitement qui est agencé pour mettre en œuvre ce qui suit, pour au moins un bloc courant à décoder de l'image:
- déterminer à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone, décoder le bloc courant à l'aide d'une première méthode de décodage,
- si le bloc courant appartient à la deuxième zone, décoder le bloc courant à l'aide d'une deuxième méthode de décodage qui comprend ce qui suit : - à partir de la position du bloc courant dans la deuxième zone, identifier un bloc préalablement décodé, situé dans la première zone de l'image,
- affecter au bloc courant au moins un paramètre de décodage associé audit bloc identifié.
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, ou encore un moyen d'enregistrement magnétique, un moyen d'enregistrement numérique, par exemple une clé USB ou 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 le déroulement du procédé de codage selon un premier mode de réalisation de l'invention,
- la figure 1 B représente le déroulement du procédé de codage selon un deuxième mode de réalisation de l'invention,
- la figure 2A représente un dispositif de codage selon un premier mode de réalisation de l'invention,
- la figure 2B représente un dispositif de codage selon un deuxième mode de réalisation de l'invention,
- les figures 3A à 3C représentent chacune des exemples de zones distinctes dans l'image courante à coder ou à décoder,
- la figure 4 représente un exemple de méthode de codage classique mise en œuvre dans les procédés de codage des figures 1 A et 1 B,
- les figures 5A et 5B représentent chacune deux exemples différents d'identification d'un bloc de référence dans une image courante, lors de l'application au bloc courant d'une méthode de codage ou de décodage selon l'invention, telle que mise en œuvre dans les procédés de codage des figures 1 A et 1 B ou dans les procédés de décodage des figures 6A et 6B,
- la figure 6A représente le déroulement du procédé de décodage selon un premier mode de réalisation de l'invention,
- la figure 6B représente le déroulement du procédé de décodage selon un deuxième mode de réalisation de l'invention,
- la figure 7A représente un dispositif de décodage selon un premier mode de réalisation de l'invention,
- la figure 7B représente un dispositif de décodage selon un deuxième mode de réalisation de l'invention,
- la figure 8 représente un exemple de méthode de décodage classique mise en œuvre dans les procédés de décodage des figures 6A et 6B. Description détaillée de la partie codage
Un premier 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 le premier mode de réalisation de l'invention est représenté sous la forme d'un algorithme comportant des opérations C1 à C6a) ou C1 à C6b) telles que représentées à la figure 1 A.
Selon le premier mode de réalisation de l'invention, le procédé de codage est implémenté dans un dispositif de codage ou codeur CO représenté à la figure 2A.
Comme illustré en figure 2A, 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 ld, 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° mono, - des images obtenues par projection d'une vidéo stéréo et comportant chacune au moins deux vues représentatives d'une même scène,
- des images non naturelles du type « screen Content », telles que par exemple des images obtenues par capture vidéo d'écran,
- 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 ; B2, Bu, ..., Bs (1 <u≤S). Le partitionnement est mis en œuvre par un dispositif de partitionnement MP_C représenté sur la figure 2A, lequel dispositif est piloté par le processeur PROC_C.
Il convient de noter qu'au sens de l'invention, le terme « bloc » signifie unité de codage (de l'anglais « coding unit »). Cette dernière terminologie est notamment utilisée dans la norme HEVC « ISO/IEC/23008-2 Recommandation 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. II 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 . A titre d'exemple non exhaustif, les blocs ont une taille de 64x64 pixels et/ou 32x32 et/ou 16x16 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.
De façon optionnelle, comme représenté en pointillé sur la figure 1 A, il est procédé en C2 au codage d'un élément de syntaxe activateStereoReuse qui est associé à une caractéristique de l'image courante ICj.
L'élément de syntaxe activateStereoReuse 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 activateStereoReuse est destiné à indiquer le type de format d'image courante à coder. Selon un mode de réalisation préféré, l'élément de syntaxe activateStereoReuse est codé à la valeur 1 si l'image courante à coder a été obtenue par projection d'une vidéo stéréo, 360° , 180° ou autres, et que l'image courante est composée de plusieurs vues capturées au même instant temporel et agencées dans l'image courante de façon à former une unique vue (rectangle de pixels). Un procédé de composition d'une telle image utilise par exemple la technique appelée « Frame Packing » (FP). L'élément de syntaxe activateStereoReuse est en revanche codé à la valeur 0 si l'image courante à coder est de type 2D ou bien a été obtenue par projection d'une vidéo mono, 360° , 180° ou autres.
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 2A, lequel dispositif est piloté par le processeur PROC_C.
Un tel codage C2 n'est pas nécessaire dans le cas où le codeur CO opère de façon autonome une distinction entre :
- une image courante à coder de type 2D ou bien obtenue par projection d'une vidéo mono, 360° , 180° ou autres, - et une image courante à coder obtenue par projection d'une vidéo stéréo, 360° , 180° ou autres et composée seltui une technique de type FP.
Dans la suite de la description, on considère que l'image courante à coder a été obtenue par projection d'une vidéo stéréo, 360° , 180° ou autres, et que l'image courante est composée de plusieurs vues capturées au même instant temporel et agencées dans l'image courante de façon à former une unique vue (rectangle de pixels).
En référence à la figure 1 A, le codeur CO de la figure 2A sélectionne en C3 un bloc courant à coder Bu de l'image ICj.
En C4, il est procédé à la localisation du bloc courant Bu de l'image ICj par exemple par détermination de ses coordonnées par rapport au premier pixel situé en haut à gauche de l'image ICj, et qui a pour coordonnées (0,0). Une telle localisation a pour effet de déterminer si le bloc courant appartient à une première zone ou une deuxième zone de l'image courante ICj, les première et deuxième zones étant distinctes. Selon l'invention, les première et deuxième zones sont distinctes, en ce sens qu'elles ne se chevauchent pas.
La localisation C4 est mise en œuvre par un dispositif de calcul CAL1_C tel que représenté à la figure 2A, lequel dispositif est piloté par le processeur PROC_C.
Selon un premier mode de réalisation représenté à la figure 3A, qui est le mode préféré de réalisation, une image courante ICj comprend une première zone Z1 qui s'étend sur la moitié haute de l'image et une deuxième zone Z2 qui s'étend sur la moitié basse de l'image. Les zones Z1 et Z2 ont la même forme et sont séparées l'une de l'autre par une frontière horizontale FH s'étendant au milieu de l'image.
Selon un deuxième mode de réalisation représenté à la figure 3B, une image courante ICj comprend une première zone Z1 qui s'étend sur la moitié gauche de l'image et une deuxième zone Z2 qui s'étend sur la moitié droite de l'image. Les zones Z1 et Z2 ont la même forme et sont séparées l'une de l'autre par une frontière verticale FV s'étendant au milieu de l'image.
Selon un troisième mode de réalisation représenté à la figure 3C, une image courante ICj comprend une première zone Z1 qui s'étend sur le premier quart gauche suprérieur de l'image et une deuxième zone Z2 qui s'étend sur le deuxième quart gauche supérieur de l'image. Les zones Z1 et Z2 ont la même forme et sont séparées l'une de l'autre par une frontière horizontale FH s'étendant sur un quart de l'image.
D'autres configurations sont bien entendu possibles. Par exemple, les zones Z1 et Z2 peuvent être interverties. En outre les zones Z1 et Z2 peuvent avoir la même forme ou non.
Si le bloc courant Bu appartient à la première zone Z1 de l'image ICj, en référence à la figure 1 A, il est procédé en C5a) au codage du bloc courant à l'aide d'une première méthode de codage MC1 . La première méthode de codage MC1 est une méthode classique dont un exemple est illustré à la figure 4. La méthode de codage MC1 est appliquée à tout bloc courant de la zone Z1 .
En référence à la figure 4, une telle méthode de codage classique MC1 met en œuvre une prédiction C51 a) du bloc courant Bu par des techniques de prédiction classiques, par exemple Intra et/ou Inter et/ou skip et/ou Merge, etc.. A cet effet, le bloc courant Bu est prédit par rapport à au moins un bloc prédicteur conformément à un mode de prédiction appartenant à l'une des techniques de prédiction qui viennent d'être mentionnées.
De façon connue en soi, le bloc courant Bu est prédit par rapport à une pluralité de blocs prédicteurs candidats. Chacun des blocs prédicteurs candidats est un bloc de pixels qui a été déjà codé puis décodé.
A l'issue de la prédiction C51 a), un bloc prédicteur optimal BPopt est obtenu suite à une mise en compétition desdits techniques de prédiction prédéterminées, selon un critère de performance de codage prédéterminé, par exemple par minimisation d'un critère débit distorsion bien connu de l'homme du métier. Le bloc BPopt est considéré comme une approximation du bloc courant Bu. Les informations relatives à cette prédiction sont destinées à être inscrites, sous forme d'éléments de syntaxe, dans un signal ou flux de données à transmettre à un décodeur.
II est ensuite procédé classiquement en C52a) à la comparaison des données relatives au bloc courant Bu aux données du bloc prédicteur BPopt. Une telle comparaison consiste à calculer la différence entre le bloc prédicteur obtenu BPopt et le bloc courant Bu. Un ensemble de données, appelé bloc résidu Bru, est alors obtenu.
Les opérations C51 a) et C52a) sont mises en œuvre par un dispositif de codage prédictif PRED_C représenté sur la figure 2A, lequel dispositif est piloté par le processeur PROC_C.
En référence à nouveau à la figure 4, les données du bloc résidu courant
Bru sont codées en C53a) de manière classique.
Selon un exemple de réalisation non limitatif, un tel codage C53a) met en œuvre l'application C531 a) d'une transformée aux pixels du bloc résidu courant Bru.
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 LTS1 , dans la mémoire tampon MT_C du codeur CO de la figure 2A.
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 2A, lequel dispositif est piloté par le processeur PROC_C.
Le codage C53a) met en œuvre en outre une quantification C532a) 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 C532a) est mise en œuvre par un dispositif de quantification MQ_C tel que représenté à la figure 2A, 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 2A, lequel dispositif est piloté par le processeur
PROC C. Le codage C53a) met en œuvre en outre un codage C533a) des données du bloc Bqu de coefficients quantifiés. Le codage C533a) est mis en œuvre par le dispositif de codage MC_C de la figure 2A. A l'issue du codage C53a) 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 C6a) à la construction d'une portion de signal F qui contient classiquement :
- les données codées DCU obtenues en C5a),
- certaines informations encodées par le codeur CO, telles que par exemple :
« le type de prédiction Inter, Intra, skip ou Merge appliqué au bloc courant Bu, 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....
Conformément à l'invention, le flux F contient éventuellement la valeur 0/1 de l'élément de syntaxe activateStereoReuse, si ce dernier est codé au niveau image.
La construction du flux F est mise en œuvre par un dispositif MCF de construction de signal de données, tel que représenté sur la figure 2A.
Si à l'issue de la localisation C4, le bloc courant Bu appartient à la deuxième zone Z2 de l'image ICj, il est procédé en C5b) au codage du bloc courant à l'aide d'une deuxième méthode de codage MC2. Selon le premier mode de réalisation, la deuxième méthode de codage MC2 est appliquée à tout bloc courant situé dans la deuxième zone Z2.
Selon l'invention, en référence à la figure 1 A, il est procédé en C51 b) à l'identification d'un bloc de référence Bref qui a été préalablement codé, puis décodé, et qui est situé dans la première zone Z1 de l'image courante ICj.
L'identification C51 b) est mise en œuvre par un dispositif de calcul CAL2_C tel que représenté à la figure 2A, lequel dispositif est piloté par le processeur PROC_C. Selon un mode de réalisation préféré, si le bloc courant qui a été localisé dans la deuxième zone Z2 a son premier pixel en haut à gauche qui a pour coordonnées (xu, yu) dans l'image courante ICj, alors un bloc de référence B'ref est déterminé dans la première zone Z1 , comme étant le bloc dont le premier pixel pVef en haut à gauche a pour coordonnées (x'ref, yVet), telles que x'ref=xu et yVef=yu-h/2, où h est la hauteur de l'image courante ICj.
La figure 5A représente un exemple d'une telle détermination, dans le cas où le bloc de référence B'ref qui est déterminé ne chevauche pas d'autres blocs de référence voisins dans la première zone Z1 de l'image courante ICj qui est par exemple semblable à celle illustrée sur la figure 3A. Sur la figure 5A, les blocs de référence voisins sont ceux représentés avec des points. Selon une telle configuration, le bloc B'ref est alors considéré comme le bloc Bref identifié.
La figure 5B représente un autre exemple d'une telle détermination, dans le cas où le bloc de référence B'ref qui est déterminé chevauche d'autres blocs de référence voisins r1 , r2, r3, r4 dans la première zone Z1 de l'image courante ICj qui est par exemple semblable à celle illustrée sur la figure 3A. Selon une telle configuration, conformément à un exemple de réalisation, il est déterminé quel est, parmi les blocs de référence voisins r1 , r2, r3, r4, celui qui a le plus de pixels en commun avec le bloc B'ref. Sur la figure 5B, il s'agit du bloc de référence r4 qui est alors considéré comme le bloc Bref identifié.
Bien entendu, il existe d'autres méthodes de sélection du bloc de référence voisin, lorsque le bloc B'ref chevauche des blocs de référence voisins dans la première zone Z1 de l'image courante ICj.
Selon un autre exemple, dans le cas de la figure 5B, il pourrait être déterminé quel est, parmi les blocs de référence voisins r1 , r2, r3, r4, celui qui contient le centre du bloc B'ref.
Selon encore un autre exemple de réalisation, le bloc de référence B'ref est déterminé dans la première zone Z1 , comme étant le bloc qui contient le pixel de coordonnées où (xc, yc) sont les coordonnées du centre du bloc courant.
Le bloc de référence Bref ayant été identifié dans la première zone Z1 , en référence à la figure 1 A, il est procédé en C52b) à la lecture d'au moins un paramètre de codage P RCi associé au bloc de référence Bref. Un tel paramètre de codage PRCi est stocké dans une liste LST2 de la mémoire tampon MT_C du codeur de la figure 2A.
La lecture C52b) est mise en œuvre par un dispositif de lecture LEC_C tel que représenté à la figure 2A, lequel dispositif est piloté par le processeur PROC_C.
A titre d'exemples non exhaustifs, la liste LST2 contient un nombre K de paramètres de codage PRC-i , PRC2, ..., PRCK associés au bloc de référence Bref identifié, parmi lesquels on trouve:
- le type de prédiction intra, inter, skip, merge, etc .. choisi pour prédire le bloc Bref,
- la direction de prédiction intra qui a été sélectionnée si la prédiction intra a été appliquée au bloc Bref lors du codage de ce dernier,
- l'indice du vecteur mouvement si la prédiction appliquée au bloc Bref est de type inter,
- la nullité du résidu de la prédiction appliquée au bloc Bref lors du codage de ce dernier,
- le type de partitionnement appliqué au bloc Bret lors du codage de ce dernier,
- le type de transformation choisi,
- la valeur du pas de quantification choisi,
- le type de filtrage appliqué au bloc Bref, tel que par exemple le mode SAO (« Sample Adaptive Offset ») utilisé dans la norme HEVC,
- etc....
Au cours de la lecture C52b), un ou plusieurs des paramètres de codage précités associés au bloc Bref peuvent ainsi être lus.
En référence à la figure 1 A, il est procédé, en C53b), à la recopie, pour le bloc courant, de la valeur d'un paramètre de codage PRCi lu en C52b). Il n'est ainsi avantageusement pas nécessaire de coder le paramètre de codage PRC-i.
Selon un mode de réalisation, il est procédé en C54b) au codage d'un élément de syntaxe ES_PRCi qui indique si le paramètre de codage PRCi du bloc de référence Bret est un paramètre dont la valeur a été recopiée ou non pour le bloc courant. Le codage C54b) est par exemple un codage entropique de type CABAC ou bien encore un codage entropique de type arithmétique ou de Huffman. Ce codage est mis en œuvre par le dispositif de codage MC_C de la figure 2A.
Par exemple, l'élément de syntaxe ES_PRCi est codé :
- à la valeur 1 pour indiquer que la valeur du paramètre de codage
PRCi a été recopiée pour le bloc courant,
- à la valeur 0 pour indiquer que la valeur du paramètre de codage PRCi n'a pas été recopiée pour le bloc courant et a donc été codée classiquement.
Dans le cas où l'élément de syntaxe ES_PRCi est codé à la valeur 0, le paramètre de codage PRCi est codé de manière classique.
Selon un mode de réalisation, au cours du codage C54b), sont codés K éléments de syntaxe ES_PRCi, ES_PRC2, .. . , ES_P RCK qui indiquent si chacun des paramètres de codage PRC-i, PRC2, .. . , P RCK associés au bloc de référence Bref est un paramètre dont la valeur a été recopiée ou non pour le bloc courant.
Bien entendu, il peut être décidé de ne coder que certains des K éléments de syntaxe ci-dessus. Selon un mode de réalisation, en supposant que l'élément de syntaxe activateStereoReuse a été codé en C2 à la valeur 1 , la séquence binaire 1 101 signifie par exemple que :
- l'élément de syntaxe activateStereoReuse a été codé en C2 à la valeur 1 ,
- la valeur du type de partitionnement qui a été appliqué au bloc de référence Bref a été recopiée pour le bloc courant,
- la valeur du type de transformée qui a été appliqué au bloc de référence Bref n'a pas été recopiée pour le bloc courant, le type de transformée appliquée au bloc courant étant alors codé de manière classique,
- la valeur du pas de quantification utilisé lors du codage du bloc de référence Bref a été recopiée pour le bloc courant.
En référence à la figure 1 A, le dispositif MCF de la figure 2A procède en
C6a) à la construction d'une portion de signal F qui contient, selon l'invention, la valeur 0/1 dudit au moins élément de syntaxe ES_PRC-|. La portion de signal F contient également toutes les données du bloc courant qui ont été codées de manière classique.
Conformément à l'invention, le flux F contient éventuellement la valeur 0/1 de l'élément de syntaxe activateStereoReuse, si ce dernier est codé au niveau image.
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 7A.
Selon le premier mode de réalisation qui vient d'être décrit en référence à la figure l A :
- les opérations de codage C1 à C6a) sont mises en œuvre pour chaque bloc de la première zone Z1 de l'image courante ICj,
- les opérations de codage C1 à C6b) sont mises en œuvre pour chaque bloc de la deuxième zone Z2 de l'image courante ICj.
On va maintenant décrire un deuxième mode de réalisation du procédé de codage selon l'invention, en référence à la figure 1 B.
Selon ce deuxième mode de réalisation de l'invention, le procédé de codage est implémenté dans un dispositif de codage ou codeur CO' représenté à la figure 2B qui comprend des éléments similaires à ceux du codeur CO de la figure 2A. Pour des raisons de simplification, de tels éléments similaires sont repris dans la figure 2B avec les mêmes références que dans la figure 2A.
Selon le deuxième mode de réalisation, la première méthode de codage MC1 est appliquée à tout bloc courant situé dans la première zone Z1 , exactement de la même manière que dans le premier mode de réalisation de la figure 1 A. Ce deuxième mode de réalisation se distingue de celui de la figure 1 A par le fait que, en référence à la figure 1 B, outre le codage C5b) mis en œuvre pour le bloc courant localisé dans la deuxième zone Z2, il est procédé en C100b) au codage du bloc courant Bu à l'aide de la première méthode de codage MC1 appliquée à tout bloc de la première zone Z1 de l'image courante, telle que par exemple la méthode de codage représentée à la figure 4. Un tel codage 100b) est mis en œuvre par le dispositif de codage prédictif PRED_C, le dispositif de codage de blocs MCB_C et le dispositif de codage MC_C qui sont illustrés sur la figure 2B.
En référence à la figure 1 B, les méthodes de codage MC1 et MC2 appliquées au bloc courant, respectivement en C5b) et en C100b) sont mises en compétition en C200b), selon un critère de performance de codage prédéterminé, par exemple par minimisation d'un critère débit distorsion bien connu de l'homme du métier.
La mise en compétition C200b) est mise en œuvre par un dispositif de calcul CPT tel que représenté à la figure 2B, lequel dispositif est piloté par le processeur PROC_C.
A l'issue de la mise en compétition C200b), une méthode de codage optimale MCopt est obtenue, telle que MCopt=MC1 ou MCopt=MC2. Un élément de syntaxe ES_MCopt est alors codé en C300b).
Le codage C300b) est par exemple un codage entropique de type CABAC ou bien encore un codage entropique de type arithmétique ou de Huffman. Ce codage est mis en œuvre par le dispositif de codage MC_C de la figure 2B.
Par exemple, l'élément de syntaxe ES_MCopt est codé :
- à la valeur 0 pour indiquer que le bloc courant Bu de la deuxième zone Z2 est codé en utilisant la première méthode de codage classique MC1 sélectionnée suite à la mise en compétition C200b),
- à la valeur 1 pour indiquer que le bloc courant Bu de la deuxième zone Z2 est codé en utilisant la deuxième méthode de codage MC2 selon l'invention, sélectionnée suite à la mise en compétition C200b).
En référence à la figure 1 B, le dispositif MCF de la figure 2B procède en
C400b) à la construction d'une portion de signal F' qui contient :
- si la première méthode de codage classique MC1 a été sélectionnée suite à la mise en compétition C200b) :
• les données codées DCU obtenues en C100b),
· certaines informations encodées par le codeur CO', telles que par exemple :
o le type de prédiction Inter, Intra, skip ou merge appliqué au bloc courant Bu, et le cas échéant, le mode de prédiction sélectionné, l'indice du bloc prédicteur obtenu,
o le type de partitionnement du bloc courant Bu si ce dernier a été partitionné,
o le type de transformée appliquée aux données du bloc courant Bu,
o etc....
- si la deuxième méthode de codage MC2 selon l'invention a été sélectionnée suite à la mise en compétition C200b) :
« la valeur 0/1 dudit au moins élément de syntaxe
ES_PRd,
• toutes les données du bloc courant qui ont été codées de manière classique.
La portion de signal F' est ensuite transmise par un réseau de communication (non représenté) à un terminal distant. Celui-ci comporte le décodeur DO représenté à la figure 7B.
Selon le deuxième mode de réalisation du procédé de codage qui vient d'être décrit :
- les opérations de codage C1 à C6a) sont mises en œuvre pour chaque bloc de la première zone Z1 de l'image courante ICj,
- les opérations de codage C1 à C400b) sont mises en œuvre pour chaque bloc de la deuxième zone Z2 de l'image courante ICj.
Description détaillée de la partie décodage
Un premier 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 le premier mode de réalisation de l'invention est représenté sous la forme d'un algorithme comportant des opérations D1 à D7a) ou D1 à D7b) telles que représentées à la figure 6A.
Selon ce premier 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 7A.
Comme illustré en figure 7A, selon le premier 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° mono,
- des images obtenues par projection d'une vidéo stéréo et comportant chacune deux vues représentatives d'une même scène, qui sont destinées à être regardées respectivement par l'œil gauche et l'œil droit de l'utilisateur,
- des images non naturelles du type « screen Content », telles que par exemple des images obtenues par capture vidéo d'écran,
- etc .. De façon optionnelle, comme représenté en pointillé sur la figure 6A, il est procédé en D1 à la lecture, dans le signal de données F, de la valeur codée 0 ou 1 de l'élément de syntaxe activateStereoReuse qui est associé à une caractéristique de l'image courante ICj à décoder. La lecture D1 n'est mise en œuvre que dans le cas où cet élément de syntaxe a été codé au niveau de l'image courante ICj.
Selon un mode de réalisation préféré, l'élément de syntaxe activateStereoReuse qui est lu prend par exemple :
- la valeur 1 si l'image courante à coder a été obtenue par projection d'une vidéo stéréo, 360° , 180° ou autres et que l'image courante à décoder a été composée selon la technique FP précitée,
- la valeur 0 si l'image courante à décoder est de type 2D ou bien a été obtenue par projection d'une vidéo mono, 360°, 180° ou autres.
La lecture D1 est mise en œuvre par un dispositif PARS_D d'analyse de flux, tel que représenté à la figure 7A, ledit dispositif étant piloté par le processeur PROC_D.
En cas d'identification, en référence à la figure 6A, il est procédé en D2, au décodage de la valeur codée 0 oui prise par l'élément de syntaxe activateStereoReuse.
Un tel décodage D2 est mis en œuvre par un dispositif de décodage
MD_D représenté sur la figure 7A, 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.
Un tel décodage D2 n'est pas nécessaire dans le cas où le décodeur DO opère de façon autonome une distinction entre :
- une image courante à décoder de type 2D ou bien obtenue par projection d'une vidéo mono, 360° , 180° ou autres,
- et une image courante à décoder obtenue par projection d'une vidéo stéréo, 360° , 180° ou autres et composée seltui une technique de type
FP.
Dans la suite de la description, on considère que l'image courante à décoder a été obtenue par projection d'une vidéo stéréo, 360° , 180° ou autres, et que l'image courante est composée de plusieurs vues capturées au même instant temporel et agencées dans l'image courante de façon à former une unique vue (rectangle de pixels).
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-i , 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 C5a) ou C5b) 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, de façon correspondant à l'ordre de codage mentionné plus haut.
Une telle identification D3 est mise en œuvre par le dispositif PARS_D d'analyse de flux de la figure 7A.
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 ; B2, Bu, ..., Bs ont une forme carrée et contiennent tous K pixels, avec K>1 . A titre d'exemple non exhaustif, les blocs ont une taille de 64x64 pixels et/ou 32x32 et/ou 16x16 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 7A sélectionne comme bloc courant à décoder un ensemble de données codées courant DCU de l'image ICj, associé à un bloc Bu à décoder.
En D5, il est procédé à la localisation du bloc courant Bu à décoder de l'image ICj, par exemple par détermination de ses coordonnées par rapport au premier pixel reconstruit de l'image ICj, situé en haut à gauche de cette dernière et qui a pour coordonnées (0,0).
La localisation D5 est mise en œuvre par un dispositif de calcul CAL1_D tel que représenté à la figure 7A, lequel dispositif est piloté par le processeur PROC D. Si le bloc courant Bu appartient à la première zone Z1 de l'image ICj, en référence à la figure 6A, il est procédé en D6a) au décodage du bloc courant à l'aide d'une première méthode de décodage MD1 qui correspond à la méthode de codage MC1 appliquée au codage, en C5a) sur la figure 1 A. La première méthode de décodage MD1 est une méthode classique dont un exemple est illustré à la figure 8. La méthode de décodage MD1 est appliquée à tout bloc courant de la zone Z1 .
En référence à la figure 8, une telle méthode de décodage classique MD1 met en œuvre en D61 a) le décodage d'informations de prédiction préalablement lues dans le signal F, telles que le type de prédiction Inter, Intra, skip ou Merge appliqué au bloc courant Bu, et le cas échéant, le mode de prédiction sélectionné, l'indice du bloc prédicteur BPopt qui a été obtenu lors de la prédiction C51 a) (fig.4) qui a été mise en œuvre au codage.
A l'issue du décodage D61 a), le bloc prédicteur BPopt associé à l'indice décodé est obtenu.
Les données codées DCU du bloc courant Bu sont décodées en D62a). Un tel décodage est mis en œuvre par un dispositif de décodage de blocs MDB_D représenté sur la figure 7A, lequel dispositif est piloté par le processeur PROC_D.
Le décodage D62a) met en œuvre, en D621 a), un décodage des données DCU associées au bloc courant Bu à décoder et qui ont été codées en C5a) sur la figure 1 A. A l'issue d'un tel décodage, est obtenu un ensemble d'informations numériques associées au bloc de coefficients quantifiés Bqu qui a été obtenu en C532a) sur la figure 4.
Le décodage D621 a) est mis en œuvre par le dispositif de décodage
MD_D représenté sur la figure 7A.
Le décodage D62a) met en œuvre en outre une déquantification D622a) du bloc de coefficients quantifiés Bqu, selon une opération classique de déquantification qui est l'opération inverse de la quantification C532a) de la figure 4. 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 7A, lequel dispositif est piloté par le processeur PROC_D.
Le décodage D62a) met en œuvre en outre l'application D623a) d'une transformée à l'ensemble de coefficients déquantifiés BDqu courant obtenu en D622a). De façon connue en soi, une telle transformée est une transformée inverse de celle appliquée au codage en C531 a) sur la figure 4, telle que par exemple une transformée DCT, DST, DWT, LT ou autres. De façon correspondante au codeur CO de la figure 2A, ces transformées font partie d'une liste de transformées LTS1 "1 qui est stockée préalablement dans la mémoire tampon MT_D du décodeur DO de la figure 7A. 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.
L'application de transformée D623a) est effectuée par un dispositif MTR" 1_D de calcul de transformée, tel que représenté à la figure 7A, 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 7A, lequel dispositif est piloté par le processeur PROC_D.
A l'issue du décodage D62a) des données du bloc courant, est obtenu un bloc résidu décodé courant BDru.
En référence à la figure 8, en D63a), le bloc résidu décodé courant BDru est ajouté au bloc prédicteur BPopt obtenu en D61 a).
L'opération D63a) est mise en œuvre par un dispositif de décodage prédictif PRED_D représenté sur la figure 7A, lequel dispositif est piloté par le processeur PROC_D.
Un bloc décodé courant BDU est obtenu à l'issue de l'opération D63a).
En référence à nouveau à la figure 6A, il est procédé en D7a) à l'écriture du bloc décodé courant BDU dans une image décodée IDj.
L'écriture D7a) est mise en œuvre par un dispositif URI de reconstruction d'image tel que représenté sur la figure 7A, le dispositif URI étant piloté par le processeur PROC_D. En référence à la figure 6A, si à l'issue de la localisation D5, le bloc courant Bu appartient à la deuxième zone Z2 de l'image ICj, il est procédé en D6b) au décodage du bloc courant à l'aide d'une deuxième méthode de décodage MD2 qui correspond à la méthode de codage MC2 appliquée au codage, en C5b) sur la figure 1 A. Selon le premier mode de réalisation, la deuxième méthode de décodage MD2 est appliquée à tout bloc courant à décoder qui est situé dans la deuxième zone Z2.
Selon l'invention, en référence à la figure 6A, il est procédé en D61 b) à l'identification d'un bloc de référence Bref qui a été préalablement décodé, et qui est situé dans la première zone Z1 de l'image courante ICj en cours de décodage.
L'identification D61 b) est mise en œuvre par un dispositif de calcul CAL2_D tel que représenté à la figure 7A, lequel dispositif est piloté par le processeur PROC_D. L'identification D61 b) est identique à l'identification C51 b) réalisée au codage en référence à la figure 1 A.
Selon un mode de réalisation préféré, si le bloc courant qui a été localisé dans la deuxième zone Z2 a son premier pixel en haut à gauche qui a pour coordonnées (xu, yu) dans l'image courante ICj, alors un bloc de référence B'ref est déterminé dans la première zone Z1 , comme étant le bloc dont le premier pixel pVef en haut à gauche a pour coordonnées (x'ref, y'ref), telles que et yVef=yu- h/2, où h est la haute de l'image courante ICj.
Des exemples de détermination du bloc de référence B'ref ont déjà été expliqués en référence aux figures 5A et 5B et ne seront pas à nouveau décrits ici.
Le bloc de référence Bref ayant été identifié dans la première zone Z1 , en référence à la figure 6A, le dispositif PARS_D de la figure 7A procède en D62b) à la lecture, dans le signal F, d'au moins un élément de syntaxe ES_PRCi qui indique si un paramètre de codage PRCi du bloc de référence Bref est un paramètre dont la valeur a été recopiée ou non pour le bloc courant Bu.
II est alors procédé en D63b) au décodage de l'élément de syntaxe
Le décodage D63b) est par exemple un décodage entropique de type CABAC 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 codage MD_D de la figure 7A.
Par exemple :
- si la valeur décodée de l'élément de syntaxe ES_PRCi est égale à 1 , le paramètre de codage PRCi est utilisé directement en tant que paramètre de décodage PRDi du bloc courant,
- si la valeur décodée de l'élément de syntaxe ES_PRCi est égale à 0, le paramètre de codage PRCi est alors décodé à l'aide d'une méthode classique de décodage.
Selon un mode de réalisation, au cours du codage D63b), sont décodés
K éléments de syntaxe ES_PRC1 ; ES_PRC2, ..., ES_PRCK qui indiquent si chacun des paramètres de codage PRC-i , PRC2, ..., PRCK associés au bloc de référence Bref est un paramètre dont la valeur a été recopiée ou non lors du codage du bloc courant.
Bien entendu, il peut être décidé de ne décoder que certains des K éléments de syntaxe ci-dessus si seulement certains des K éléments de syntaxe ont été codés au codage en C54b) (figure 1 A). Selon un mode de réalisation, en supposant que la valeur décodée de l'élément de syntaxe activateStereoReuse qui a été obtenue en D2 a la valeur 1 , la séquence binaire 1 101 signifie par exemple que :
- l'élément de syntaxe activateStereoReuse a été codé en C2 à la valeur 1 ,
- le type de partitionnement qui a été appliqué au bloc de référence Bref est utilisé directement comme paramètre de décodage du bloc courant,
- le type de transformée qui a été appliqué au bloc de référence Bref n'est pas utilisé directement comme paramètre de décodage du bloc courant et est décodé de manière classique,
- la valeur du pas de quantification utilisé lors du codage du bloc de référence Bref est utilisée directement comme paramètre de décodage du bloc courant. En référence à la figure 7A, au moins un paramètre de décodage PRDi associé au bloc de référence Bref est stocké dans une liste LST2 de la mémoire tampon MT_D du décodeur DO.
A titre d'exemple non exhaustif, la liste LST2 du décodeur DO de la figure 7A contient un nombre K de paramètres de décodage PRD-i , PRD2, ..., PRDK associés au bloc de référence Bref identifié et qui sont respectivement identiques aux K paramètres de codage PRC-i , PRC2,..., PRCK stockés dans la liste LST2 du codeur CO de la figure 2A. Des exemples de tels paramètres ont déjà été décrits lors du procédé de codage de la figure 1 A et ne seront pas à nouveau décrits ici.
En référence à la figure 6A, il est procédé, en D64b), à la recopie de la valeur du paramètre de codage PRCi associé à l'élément de syntaxe ES_PRCi , pour le bloc courant Bu. A cet effet, la valeur du paramètre de décodage PRDi décodée en D63b) est affectée au bloc courant Bu.
A l'issue de l'application de la deuxième méthode de décodage MD2 au bloc courant, est obtenu un bloc décodé courant BDU.
Le dispositif URI de reconstruction d'image de la figure 7A procède en D7b) à l'écriture du bloc décodé courant BDU dans une image décodée IDj.
Selon le premier mode de réalisation qui vient d'être décrit en référence à la figure 6A :
- les opérations de décodage D1 à D7a) sont mises en œuvre pour chaque bloc de la première zone Z1 de l'image courante ICj,
- les opérations de décodage D1 à D7b) sont mises en œuvre pour chaque bloc de la deuxième zone Z2 de l'image courante ICj.
On va maintenant décrire un deuxième mode de réalisation du procédé de décodage selon l'invention, en référence à la figure 6B.
Selon ce deuxième mode de réalisation de l'invention, le procédé de décodage est implémenté dans un dispositif de décodage ou décodeur DO' représenté à la figure 7B qui comprend des éléments similaires à ceux du décodeur DO de la figure 7A. Pour des raisons de simplification, de tels éléments similaires sont repris dans la figure 7B avec les mêmes références que dans la figure 7A. Selon le deuxième mode de réalisation, la première méthode de décodage MD1 est appliquée à tout bloc courant situé dans la première zone Z1 , exactement de la même manière que dans le premier mode de réalisation de la figure 6A. Le deuxième mode de réalisation se distingue de celui de la figure 6A par le fait que la deuxième méthode de décodage MD2 n'est pas systématiquement appliquée à chaque bloc courant localisé dans la deuxième zone Z2. A cet effet, une fois que le bloc courant Bu a été localisé dans la deuxième zone Z2 de l'image courante à décoder, il est procédé en D100b) à la lecture, dans le signal F', de l'élément de syntaxe ES_MCopt qui indique quelle méthode de codage MC1 ou MC2 a été sélectionnée suite à la compétition mise en œuvre au codage en C200b) à la figure 1 B. La lecture D100b) est mise en œuvre par le dispositif PARS_D de la figure 7B.
Il est alors procédé en D200b) au décodage de l'élément de syntaxe ES_MCopt.
Le décodage D200b) est par exemple un décodage entropique de type
CABAC 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 codage MD_D de la figure 7B.
Si la valeur décodée de l'élément de syntaxe ES_MCopt est égale à 1 , le bloc courant est décodé à l'aide de la deuxième méthode de décodage MD2, exactement de la même manière qu'en D5b) sur la figure 6A, selon le premier mode de réalisation.
Si la valeur décodée de l'élément de syntaxe ES_MCopt est égale à 0, le bloc courant est décodé en D300b) à l'aide de la première méthode de décodage MD1 qui a été appliquée à chaque bloc courant de la première zone Z1 de l'image courante, exactement de la même manière qu'en D5a) sur la figure 6A, selon le premier mode de réalisation.
La méthode de décodage MD1 est par exemple la méthode de décodage représentée à la figure 8. Un tel décodage 300b) est mis en œuvre par le dispositif de décodage MD_D, le dispositif de décodage de blocs MDB_D et le dispositif de décodage prédictif PRED_D et qui sont illustrés sur la figure 7B. A l'issue de l'application de la première méthode de décodage MD1 ou de la deuxième méthode de décodage MD2 au bloc courant, est obtenu un bloc décodé courant BDU.
Le dispositif URI de reconstruction d'image de la figure 7B procède en D400b) à l'écriture du bloc décodé courant BDU dans une image décodée IDj.
Selon le deuxième mode de réalisation qui vient d'être décrit en référence à la figure 6B :
- les opérations de décodage D1 à D7a) sont mises en œuvre pour chaque bloc de la première zone Z1 de l'image courante ICj,
- les opérations de décodage D1 à D400b) sont mises en œuvre pour chaque bloc de la deuxième zone Z2 de l'image courante ICj.
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'une image (ICj) découpée en blocs, ladite image contenant des première et deuxième zones (Z1 , Z2) distinctes,
ledit procédé de codage étant caractérisé en ce qu'il met en œuvre ce qui suit, pour au moins un bloc courant (Bu) de l'image:
- déterminer (C4) à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone (Z1 ), coder
(C5a)) le bloc courant à l'aide d'une première méthode de codage (MC1 ),
- si le bloc courant appartient à la deuxième zone (Z2), coder (C5b)) le bloc courant à l'aide d'une deuxième méthode de codage (MC2) qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier (C51 b)) un bloc (Bref) préalablement codé, puis décodé, situé dans la première zone de l'image,
- recopier la valeur d'au moins un paramètre de codage (PRC-i) associé au bloc identifié.
2. Procédé de codage selon la revendication 1 , dans lequel la deuxième méthode de codage est appliquée à tous les blocs de la deuxième zone de l'image courante.
3. Procédé de codage selon la revendication 1 , mettant en œuvre ce qui suit :
- coder (C100b)) ledit au moins un bloc courant de la deuxième zone de l'image à l'aide de la première méthode de codage (MC1 ),
- sélectionner (C200b)) la première méthode de codage ou la deuxième méthode de codage conformément à un critère de performance de codage prédéterminé,
- coder (C300b)) une information (ES_MCopt) représentative de ladite sélection.
4. Procédé de codage selon l'une quelconque des revendications 1 à 3, dans lequel les première et deuxième zones de l'image ont la même forme, la première zone étant située au-dessus de la deuxième zone et séparée de cette dernière par une frontière horizontale s'étendant au milieu de l'image.
5. Dispositif de codage (CO) d'au moins une image (ICj) découpée en blocs, ladite image contenant des première et deuxième zones distinctes, caractérisé en ce qu'il comprend un circuit de traitement (CT_C) qui est agencé pour mettre en œuvre ce qui suit, pour au moins un bloc courant de l'image:
- déterminer à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone (Z1 ), coder le bloc courant à l'aide d'une première méthode de codage (MC1 ),
- si le bloc courant appartient à la deuxième zone (Z2), coder le bloc courant à l'aide d'une deuxième méthode de codage (MC2) qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier un bloc (Bref) préalablement codé, puis décodé, situé dans la première zone de l'image,
- recopier la valeur d'au moins un paramètre de codage
(PRC-i) associé au bloc identifié.
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'une image (ICj) découpée en blocs qui a été codée, ladite au moins une image contenant des première et deuxième zones distinctes (Z1 , Z2),
ledit procédé de décodage étant caractérisé en ce qu'il met en œuvre ce qui suit, pour au moins un bloc courant (Bu) à décoder de l'image:
- déterminer (D5) à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone (Z1 ), décoder (D6a)) le bloc courant à l'aide d'une première méthode de décodage (MD1 ),
- si le bloc courant appartient à la deuxième zone (Z2), décoder
(D6b)) le bloc courant à l'aide d'une deuxième méthode de décodage qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier (D61 b)) un bloc préalablement décodé, situé dans la première zone de l'image,
- affecter (D64b)) au bloc courant au moins un paramètre de décodage (PRD-i) associé audit bloc identifié.
9. Procédé de décodage selon la revendication 8, dans lequel la deuxième méthode de décodage est appliquée à tous les blocs de la deuxième zone de l'image courante.
1 0. Procédé de décodage selon la revendication 8, dans lequel la deuxième méthode de décodage est appliquée au bloc courant de la deuxième zone si, pour ledit bloc courant, est lue (D1 00b)) dans le signal de données (F') une information de sélection de ladite deuxième méthode de décodage, la première méthode de décodage étant appliquée au bloc courant de la deuxième zone si, pour ledit bloc courant, est lue dans le signal de données une information de sélection de ladite première méthode de décodage.
1 1 . Procédé de décodage selon l'une quelconque des revendications 8 à 1 0, dans lequel les première et deuxième zones de l'image ont la même forme, la première zone étant située au-dessus de la deuxième zone et séparée de cette dernière par une frontière horizontale s'étendant au milieu de l'image.
12. Dispositif de décodage d'un signal de données (F) représentatif d'une image (ICj) découpée en blocs qui a été codée, ladite au moins une image contenant des première et deuxième zones distinctes, caractérisé en ce qu'il comprend un circuit de traitement (CT_D) qui est agencé pour mettre en œuvre ce qui suit, pour au moins un bloc courant à décoder de l'image:
- déterminer à laquelle des première et deuxième zones appartient le bloc courant,
- si le bloc courant appartient à la première zone (Z1 ), décoder le bloc courant à l'aide d'une première méthode de décodage (MD1 ),
- si le bloc courant appartient à la deuxième zone (Z2), décoder le bloc courant à l'aide d'une deuxième méthode de décodage qui comprend ce qui suit :
- à partir de la position du bloc courant dans la deuxième zone, identifier un bloc préalablement décodé, situé dans la première zone de l'image,
- affecter au bloc courant au moins un paramètre de décodage (PRD-ι) associé audit bloc identifié.
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.
EP18752538.1A 2017-07-05 2018-06-28 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants Pending EP3649786A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1756317A FR3068558A1 (fr) 2017-07-05 2017-07-05 Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
PCT/FR2018/051579 WO2019008253A1 (fr) 2017-07-05 2018-06-28 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
EP3649786A1 true EP3649786A1 (fr) 2020-05-13

Family

ID=59579774

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18752538.1A Pending EP3649786A1 (fr) 2017-07-05 2018-06-28 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Country Status (7)

Country Link
US (1) US11284085B2 (fr)
EP (1) EP3649786A1 (fr)
JP (1) JP7679176B2 (fr)
KR (1) KR102701711B1 (fr)
CN (1) CN111034202B (fr)
FR (1) FR3068558A1 (fr)
WO (1) WO2019008253A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020030183A1 (fr) * 2018-08-10 2020-02-13 Huawei Technologies Co., Ltd. Procédé, dispositif et système de codification avec mode de fusion

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130094A (ja) * 1988-11-10 1990-05-18 Nippon Telegr & Teleph Corp <Ntt> ステレオ動画像の動きベクトル情報符号化方式
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
WO2012007038A1 (fr) 2010-07-15 2012-01-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codage vidéo hybride prenant en charge une synthèse de vues intermédiaires
BR112014011425B1 (pt) * 2011-11-11 2022-08-23 GE Video Compression, LLC. Codificação de multi-visualização eficiente utilizando estimativa e atualização de mapa por profundidade
EP2839660B1 (fr) * 2012-04-16 2020-10-07 Nokia Technologies Oy Appareil, procédé et programme informatique permettant le codage et de décodage de vidéos
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9544612B2 (en) 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
US20140354771A1 (en) * 2013-05-29 2014-12-04 Ati Technologies Ulc Efficient motion estimation for 3d stereo video encoding
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
FR3014278A1 (fr) * 2013-11-29 2015-06-05 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
CN105917650B (zh) 2014-01-03 2019-12-24 微软技术许可有限责任公司 视频和图像编/解码的方法、计算设备及计算机可读介质
WO2015120823A1 (fr) * 2014-02-16 2015-08-20 同济大学 Procédé et dispositif de compression d'image utilisant un espace de stockage de pixel de référence en de multiples formes
CN106233725B (zh) 2014-03-31 2019-08-02 英迪股份有限公司 用于对图像进行解码的装置及其方法
CN105519106B (zh) 2014-06-20 2017-08-04 寰发股份有限公司 用于三维或多视图视频编码中基于深度的块分区模式的编码方法
GB2531001B (en) 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
WO2016056822A1 (fr) 2014-10-08 2016-04-14 엘지전자 주식회사 Procédé et dispositif de codage vidéo 3d
US10638140B2 (en) 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements

Also Published As

Publication number Publication date
FR3068558A1 (fr) 2019-01-04
CN111034202B (zh) 2023-08-22
WO2019008253A1 (fr) 2019-01-10
KR102701711B1 (ko) 2024-08-30
KR20200022492A (ko) 2020-03-03
CN111034202A (zh) 2020-04-17
JP7679176B2 (ja) 2025-05-19
US20200128251A1 (en) 2020-04-23
US11284085B2 (en) 2022-03-22
JP2020526119A (ja) 2020-08-27

Similar Documents

Publication Publication Date Title
EP2870761B1 (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
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
EP3649778B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
WO2015055937A1 (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
WO2015079179A1 (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
EP2716045B1 (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
EP3198876B1 (fr) Génération et codage d&#39;images intégrales résiduelles
EP3180914B1 (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
WO2017037368A2 (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
EP3238449A1 (fr) Procede de codage d&#39;une image numerique, procede de decodage, dispositifs et programmes d&#39;ordinateurs associes
EP3649786A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3529987B1 (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
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
WO2018167419A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP2901698A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3698546A1 (fr) Procédés de codage et de décodage d&#39;un flux de données représentatif d&#39;une vidéo omnidirectionnelle
FR3033115A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
EP2962459A2 (fr) Dérivation de vecteur de mouvement de disparité, codage et décodage vidéo 3d utilisant une telle dérivation
WO2016132074A1 (fr) Codage d&#39;images par quantification vectorielle
FR3098071A1 (fr) Procédé d’encodage et de décodage vidéo faible latence
FR2988960A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants

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: 20200116

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

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

Owner name: ORANGE

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP3 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: 20231010