USPatentGranted
B2

Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs

Granted 26 Oct 2021 · 2 office actions

Assignee: Orange S.A.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Joel Jung, Bappaditya Ray, Felix Henry · Examiner: Li Liu · AU 2666 · TC 2600

Life of the patent

9 dated events
⤢ drag to zoom20182020202220242026202820302032203420362038ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A method of encoding at least one image divided into blocks, implementing: encoding a first syntax element associated with a characteristic of the at least one image; encoding, for a current block to be encoded associated with at least one encoding parameter, the data of the current block; if the first syntax element is encoded according to a first predefined value representing the characteristic of the image, a second syntax element representing the value of the at least one encoding parameter is encoded only if the current block belongs to a predefined zone of the image; if the first syntax element is encoded according to a second predefined value representing the characteristic of the image, the second syntax element is encoded, whether or not the current block belongs to the predefined zone.

Description

17 parts
›CROSS-REFERENCE TO RELATED APPLICATIONS

This Application is a Section 371 National Stage Application of International Application No. PCT/FR2018/050579, filed Mar. 12, 2018, the content of which is incorporated herein by reference in its entirety, and published as WO 2018/167419 on Sep. 20, 2018, not in English.

›FIELD OF THE INVENTION

The present invention pertains generally to the field of image processing, and more precisely to the coding and decoding of parameters of digital images, whether these digital images are fixed or form part of a sequence of digital images.

The coding/decoding of such image parameters applies in particular to images arising from at least one video sequence comprising:

images arising from one and the same camera and following one another temporally (coding/decoding of 2D type), images arising from various cameras oriented according to different views (coding/decoding of 3D type), corresponding components of texture and depth (coding/decoding of 3D type), images obtained by projection of a 360° video, etc . . .

The present invention applies in a similar manner to the coding/decoding of parameters of images of 2D or 3D type.

The invention may in particular, but not exclusively, be applied to the video coding implemented in current AVC and HEVC video coders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc), and to the corresponding decoding.

›BACKGROUND OF THE INVENTION

Current video coders (MPEG, H.264, HEVC, . . . ) use a block-wise representation of the video sequence. The images are split into blocks, which might be re-split, for example in a recursive manner as in the HEVC standard.

For a current block which is to be coded, the image parameters associated with this block are coded in the form of bits with the aid of a suitable coding scheme implemented by a coder, such as for example an entropy coder, the aim of which is to code these parameters without loss.

Such parameters are for example:

the residual coefficients of prediction of the pixels of the current block, the mode of prediction of the current block (Intra prediction, Inter prediction, default prediction carrying out a prediction for which no information is transmitted to the decoder (in English “skip”), information specifying the type of prediction of the current block (orientation, reference image, . . . ), the type of splitting of the current block, the motion information of the current block if necessary, etc.

The bits obtained after entropy coding are written to a data signal which is intended to be transmitted to the decoder.

When dealing for example with residual prediction coefficients, the HEVC standard proposes an indicator called “cbf” (English abbreviation of “Coded Block Flag”) that can take:

either the value 0 which is representative of zero residual coefficients for the current block to be coded, or the value 1 which is representative of at least one non-zero residual coefficient for the current block to be coded.

Once the coded data signal has been received by 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 with the aid of a decoding scheme implemented by a decoder.

The drawback of such an image parameter coding technique is that the resulting binary sequence remains expensive to signal. Thus, it does not make it possible to optimize the reduction in the gain from compression of the coded data. This results in unsatisfactory compression performance.

However, in certain image coding contexts, and for certain image types considered, it turns out that the coding of such parameters does not always turn out to be useful or else turns out to be somewhat ineffective, thus engendering, according to the context, either poor quality image reconstruction, or significant recourse to the calculational resources either at the coder, or at the decoder, or an overly high limitation of the gain in bitrate. For example, in medical imaging, it is not necessarily useful to code one or more coding parameters associated with blocks of the image that are situated at the periphery of the latter. According to another example, in the case of an image obtained by two-dimensional projection of a 360° video, whether this projection is of the Mercator type, equirectangular type, of the CMP (English abbreviation of “Cube Map Projection”) type, etc . . . , it is known to note that such a projection engenders deformations in certain very particular zones of the projected image. For example, as regards an image projected onto a rectangle, it is known in advance that the upper and lower zones of this image contain the most deformations than the remainder of the image. It follows from this that the coding of the parameters associated with the blocks contained in these particular zones is not efficient, additionally engendering a pointless decrease in bitrate gain.

The invention is therefore aimed at optimizing the cost of signaling of the image coding parameters, by implementing a selective coding of these coding parameters which takes account, at a first level, of the characteristic of the image to be coded, and at a second level, of the disposition of the current block to be coded in this image.

›SUBJECT AND SUMMARY OF THE INVENTION · 1 of 2

One of the aims of the invention is to remedy drawbacks of the aforementioned prior art.

To this effect, a subject of the present invention relates to a method for coding at least one image split into blocks, implementing the following:

code a first syntax element associated with a characteristic of said at least one image, for a current block to be coded associated with at least one coding parameter, code the data of the current block.

Such a coding method is noteworthy in that:

if the first syntax element is coded according to a first predefined value representative of the characteristic of the image, a second syntax element representative of the value of said at least one coding parameter is coded only if the current block belongs to a predefined zone of the image, if the first syntax element is coded according to a second predefined value representative of the characteristic of the image, the second syntax element is coded, whether or not the current block belongs to the predefined zone.

Such a provision makes it possible to avoid coding, and then transmitting to the decoder, at least one syntax element representative of a coding parameter of a block, by taking account not only of the fact that such a block is situated in a specific zone of the image, for which the coding of this syntax element is not useful having regard to the current image coding context, but also of a characteristic of the image to be coded in which the current block is situated.

This therefore results in a non-negligible decrease in the signaling cost, to the extent that such a provision is reproducible at the level of the decoder.

According to a particular embodiment, if the current block belongs to the predefined zone of the image, the coding of the second syntax element representative of the value of said at least one coding parameter is implemented as a function of a criterion dependent on the characteristics of the current block.

Such a provision makes it possible furthermore to implement an adaptive coding of at least one syntax element representative of a coding parameter of a block, according to the value of a criterion dependent on the characteristics of the current block, such as for example the size, the value of the residual pixels of this block, the type of transform applied to the residual pixels of this block if the latter has undergone a prediction, etc . . . .

Thus, as a function of the value of this criterion, it is decided to code or to not code this syntax element.

This results in a reduction in the cost of signaling which is optimized, through better adaptation of the coding to the local characteristics of the video signal.

According to another particular embodiment, the characteristic of said at least one image is the type of obtaining of said at least one image.

Such a provision makes it possible to reduce the cost of signaling in a selective manner according to the way in which the scene that the image represents was captured initially.

For example, if the current image is a two-dimensional image, it is decided:

to not code a syntax element representative of a coding parameter of a block of this image, in the case where the latter was obtained by projection of a video captured according to a plurality of viewing angles covering for example an angle of 360° and therefore comprises zones where it is known in advance that the information density per pixel is lower than in other zones of the image, to systematically code a syntax element representative of a coding parameter of a block of this image, in the case where the latter originates from a video comprising 2D images following one another temporally.

According to yet another particular embodiment, the characteristic of said at least one image is the current coding context of the image.

Such a provision makes it possible to reduce the cost of signaling in a selective manner within the framework of certain image coding applications.

According to an exemplary image coding context, in the case of image coding applied to medical imaging, it is decided to apply a coding level of different quality to at least two different zones of the current image in such a way as to:

not code a syntax element representative of a coding parameter of a block of this image, in the case where this block is located at the periphery of the image, code a syntax element representative of a coding parameter of a block of this image, in the case where this block is located at the center of the image.

According to another exemplary coding context, in the case of image coding applied to a televisual stream, it is decided to apply one and the same level of coding quality to each zone of the current image.

The various aforementioned modes or characteristics of embodiment may be added independently or in combination with one another, to the operations implemented in the course of the coding method such as is defined hereinabove.

Correlatively, the invention relates to a device for coding at least one image split into blocks, comprising a processing circuit which is designed to:

code a first syntax element associated with a characteristic of said at least one image, for a current block to be coded associated with at least one coding parameter, code the data of the current block.

Such a coding device is characterized in that the processing circuit is designed to:

if the first syntax element is coded according to a first predefined value representative of the characteristic of the image, code a second syntax element representative of the value of said at least one coding parameter, only if the current block belongs to a predefined zone of the image, if the first syntax element is coded according to a second predefined value representative of the characteristic of the image, code the second syntax element, whether or not the current block belongs to the predefined zone.

In a corresponding manner, the invention also relates to a method for decoding a data signal representative of at least one coded image having been split into blocks, implementing the following:

›SUBJECT AND SUMMARY OF THE INVENTION · 2 of 2

decode a first syntax element contained in said data signal, said first syntax element being associated with a characteristic of said at least one image, for a current block to be decoded associated with at least one coding parameter, decode the data of the current block.

Such a decoding method is noteworthy in that:

if the first syntax element has a first predefined value representative of the characteristic of the image, a second syntax element representative of the value of said at least one coding parameter is decoded only if the current block belongs to a predefined zone of the image, if the first syntax element has a second predefined value representative of the characteristic of the image, the second syntax element is decoded, whether or not the current block belongs to the predefined zone.

According to a particular embodiment, if the current block belongs to the predefined zone of the image, the decoding of the second syntax element representative of the value of said at least one coding parameter is implemented as a function of a criterion dependent on the characteristics of the current block.

According to another particular embodiment, the characteristic of said at least one image is the type of obtaining of said at least one image.

According to yet another particular embodiment, the characteristic of said at least one image is the current decoding context of the image.

The various aforementioned modes or characteristics of embodiment may be added independently or in combination with one another, to the operations implemented in the course of the decoding method such as is defined hereinabove.

Correlatively, the invention relates to a device for decoding a data signal representative of at least one coded image having been split into blocks, comprising a processing circuit which is designed to:

decode a first syntax element contained in the data signal, the first syntax element being associated with a characteristic of said at least one image, for a current block to be decoded associated with at least one coding parameter, decode the data of the current block.

Such a decoding device is noteworthy in that the processing circuit is designed to:

if the first syntax element has a first predefined value representative of the characteristic of the image, decode a second syntax element representative of the value of said at least one coding parameter, only if the current block belongs to a predefined zone of the image, if the first syntax element has a second predefined value representative of the characteristic of the image, decode the second syntax element, whether or not the current block belongs to the predefined zone.

The invention further 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 may use any programming language, and be in the form of source code, object code, or of code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.

Yet another subject of the invention is also aimed at a recording medium readable by a computer, and comprising computer program instructions such as is mentioned hereinabove.

The recording medium may be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, a USB key, or else a magnetic recording means, for example a hard disk.

Moreover, 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 may be in particular downloaded over a network of Internet type.

Alternatively, 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.

›BRIEF DESCRIPTION OF THE DRAWINGS

Other characteristics and advantages will become apparent on reading preferred embodiments described with reference to the figures in which:

FIG. 1A represents the steps of the coding method according to one embodiment of the invention,

FIG. 1B represents an alternative of the coding method of FIG. 1A ,

FIG. 2 represents a coding device according to one embodiment of the invention,

FIG. 3A represents an image split into blocks according to a first embodiment,

FIG. 3B represents an image split into blocks according to a second embodiment,

FIGS. 4A to 4D each represent examples of zones predefined in the current image, in the case of a particular obtaining of the current image,

FIG. 5A represents a current image in a coding/decoding context where the coder/decoder chooses whether or not to apply a different level of coding/decoding quality to at least two zones of the current image,

FIG. 5B represents an exemplary zone predefined in the current image, in the case where the coder/decoder chooses whether or not to apply a different level of coding/decoding quality to at least two zones of the current image,

FIG. 6A represents the steps of the decoding method according to one embodiment of the invention,

FIG. 6B represents an alternative of the decoding method of FIG. 6A ,

FIG. 7 represents a decoding device according to one embodiment of the invention.

›DETAILED DESCRIPTION OF THE CODING PART · 1 of 6

An 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 binary stream close to that obtained by a coding implemented in a coder in accordance with any one of the current or forthcoming video coding standards.

In this embodiment, the coding method according to the invention is for example implemented in a software or hardware manner by modifications of such a coder. The coding method according to the invention is represented in the form of an algorithm comprising operations C 1 to C 9 such as are represented in FIG. 1A .

According to the embodiment of the invention, the coding method according to the invention is implemented in a coding device or coder CO represented in FIG. 2 .

As illustrated in FIG. 2 , the coder CO comprises a memory MEM_C comprising a buffer memory MT_C, a processor PROC_C driven by a computer program PG_C which implements the coding method according to the invention. On initialization, the code instructions of the computer program PG_C are for example loaded into a RAM memory, 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 which is fixed or else forms part of a sequence of L images IC 1 , . . . , IC j , . . . , IC L (1≤j≤L) to be coded.

The current image IC j arises from at least one video sequence comprising, by way of non-exhaustive examples:

images arising from one and the same camera and following one another temporally (coding/decoding of 2D type), images arising from various cameras oriented according to different views (coding/decoding of 3D type), corresponding components of texture and depth, that is to say representative of one and the same scene (coding/decoding of 3D type), images obtained by projection of a 360° video, etc . . .

With reference to FIG. 1A , there is undertaken at C 1 , in a manner known per se, the splitting of a current image IC j into a plurality of blocks B 1 , B 2 , . . . , B u , . . . , B S (1≤u≤S). The partitioning is implemented by a partitioning device MP_C represented in FIG. 2 , which device is driven by the processor PROC_C.

It should be noted that within the meaning of the invention, the term “block” signifies coding unit. The latter terminology is in particular used in the HEVC standard “ISO/IEC/23008-2 Recommendation ITU-T H.265 High Efficiency Video Coding (HEVC)”.

In particular, such a coding unit groups together sets of pixels of rectangular or square shape, also called blocks, macroblocks, or else sets of pixels exhibiting other geometric shapes.

Said blocks B 1 , B 2 , . . . , B u , . . . , B S are intended to be coded according to a predetermined order of traversal, which is for example of the lexicographic type. This signifies that the blocks are coded one after another, from left to right.

Other types of traversal are of course possible. Thus, it is possible to split the image IC j into several sub-images called slices and to apply a splitting of this type to each sub-image independently. It is also possible to code not a succession of rows, as explained hereinabove, but a succession of columns. It is also possible to traverse the rows or columns in one or the opposite direction.

According to an example, the blocks B 1 , B 2 , . . . , B u , . . . , B S have a square shape and all contain K pixels, with K≥1. According to a first embodiment represented in FIG. 3A , the blocks B 1 , B 2 , . . . , B u , . . . , B S are obtained on completion of a single subdivision of the current image IC j into blocks of maximum size. According to this first embodiment, the blocks have a size of for example 64×64 pixels. According to a second embodiment represented in FIG. 3B , the blocks B 1 , B 2 , . . . , B u , . . . , B S are obtained on completion of a subdivision of the current image IC j into blocks of size less than or equal to the aforementioned maximum size. According to this second embodiment, said blocks are for example of size 64×64 and/or 32×32 and/or 16×16 and/or 8×8 pixels.

As a function of the size of the image which is not necessarily a multiple of the size of the blocks, the last blocks on the left and the last blocks at the bottom might not be square. In an alternative embodiment, the blocks may be for example of rectangular size and/or not be aligned with one another.

At C 2 , there is undertaken the coding of a first syntax element ES 1 which is associated with a characteristic of the current image IC j .

The syntax element ES 1 is a high-level syntax element of a video sequence comprising the current image IC j . To this effect, as a function of the coding context, this element may be coded:

at the start of the coding of each image of the video sequence, or just once at the start of the coding of a sequence of images, or just once at the start of the coding of the video sequence.

The syntax element ES 1 is coded at C 2 :

by a first predefined value VCES 1 1 which is representative of a characteristic of a first type of the current image IC j , by a second predefined value VCES 1 2 which is representative of a characteristic of a second type of the current image IC j . According to an example, VCES 1 1 =1 and VCES 1 2 =0.

The coding C 2 is for example an entropy coding of CABAC (“Context Adaptive Binary Arithmetic Coder” in English) type or else an entropy coding of arithmetical or Huffman type. This coding is implemented by a coding device MC_C represented in FIG. 2 , which device is driven by the processor PROC_C.

According to a first embodiment, the characteristic of the image IC j is the type of obtaining of the latter. To this effect:

if the image IC j is for example a 2D image which was obtained by two-dimensional projection of a conventional 360° video, VCES 1 1 =1, if the image IC j is for example a conventional 2D image of fixed type or forming part of a sequence of images following one another temporally, VCES 1 2 =0.

According to a second embodiment, the characteristic of the image IC j is the choice at the coder of whether or not to apply a different level of coding quality to at least two zones of the current image to be coded. To this effect:

›DETAILED DESCRIPTION OF THE CODING PART · 2 of 6

if the current image IC j is coded according to a first coding context, such as for example a medical imaging context, VCES 1 1 =1, thus indicating that the central zone of the current image is coded according to a greater level of quality than that applied to the peripheral zone of the current image,

if the current image IC j is coded according to a second coding context, such as for example a televisual context, VCES 1 2 =0, thus indicating that one and the same level of coding quality is applied to the whole current image.

With reference to FIG. 1A , at C 3 , the coder CO of FIG. 2 selects as current block a first block to be coded B u of the image IC j , such as for example the first block B 1 . The current block B u is associated with at least one coding parameter. By way of non-exhaustive examples, such a coding parameter is:

the mode of prediction (intra prediction, inter prediction, bi-prediction, default prediction carrying out a prediction for which no information is transmitted to the decoder (in English “skip”); the type of prediction (orientation, reference image component, . . . ); the type of subdivision into sub-blocks; the type of transform, for example 4×4 DCT, 8×8 DCT, applied to the current block or to the residual pixels of the current block if the latter has undergone a prediction; the pixel values; the values of residual pixels resulting from a prediction; a filtering of the current image IC j once coded, such as for example that achieved by the “Sample Adaptive Offset” technique of the HEVC standard (technique described in the document Chih-Ming Fu; E. Alshina; A. Alshin; Yu-Wen Huang; Ching-Yeh Chen; Chia-Yang Tsai; Chih-Wei Hsu; Shaw-Min Lei; Jeong-Hoon Park; Woo-Jin Han “ Sample Adaptive Offset in the HEVC Standard ” Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, December 2012); the index of the intra prediction mode from among a list constructed for the current block; the index of the motion vector from among a list constructed for the current block; an indicator of subdivision of the residual block obtained in case of prediction of the current block; an indicator of filtering of the reference pixels that have served to predict the current block; etc . . .

A second syntax element ES 2 is representative of the value of said at least one coding parameter.

At C 4 , the coder CO reads the coded value VCES 1 1 or VCES 1 2 of the syntax element ES 1 .

If at C 4 , the coded value of the syntax element ES 1 is VCES 1 1 and if, at C 5 , the current block B u belongs to a predefined zone of the current image IC j , it is decided at C 6 not to code the syntax element ES 2 . To this effect, the syntax element ES 2 is set to a predefined value. Such an operation is particularly suitable when the information density of the predefined zone of the image is low or very low.

According to a first embodiment, if the syntax element ES 2 is representative of the mode of prediction of the current block B u and if, for example, ES 2 takes:

a first predefined value VES 2 1 indicating an inter prediction of the current block B u , or a second predefined value VES 2 2 indicating an intra prediction of the current block B u ,

it is decided at C 6 to assign ES 2 to, for example, the first predefined value VES 2 1 according to a convention predetermined at the coder CO.

According to a second embodiment, if the syntax element ES 2 is representative of the value of the residual pixels of the current block B u and if, for example, ES 2 takes:

a first predefined value VES 2 1 indicating residual pixels of zero value of the current block B u , or a second predefined value VES 2 2 indicating residual pixels of non-zero value of the current block B u ,

it is decided at C 6 to assign ES 2 to, for example, the first predefined value VES 2 1 according to a convention predetermined at the coder CO.

The predefined values VES 2 1 and VES 2 2 of the second syntax element ES 2 are stored beforehand in a list LTS 1 which is recorded in the buffer memory MT_C of the coder CO of FIG. 2 .

During the coding of the current block B u , only the first or the second embodiment of the syntax element ES 2 is implemented. By way of alternative, the first and second embodiments are implemented.

If at C 4 , the coded value of the syntax element ES 1 is VCES 1 1 and if, at C 5 , the current block B u does not belong to the predefined zone of the current image, the predefined value VES 2 1 or VES 2 2 taken by the second syntax element ES 2 is coded at C 7 . On completion of this coding C 7 , as a function of the current coding context, a coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 is obtained. By way of non-exhaustive example, VCES 2 1 =0 and VCES 2 2 =1.

According to a first embodiment, if the syntax element ES 2 is representative of the mode of prediction of the current block B u and if, for example, ES 2 takes:

a first predefined value VES 2 1 indicating an inter prediction of the current block B u , or a second predefined value VES 2 2 indicating an intra prediction of the current block B u ,

the value VES 2 1 or VES 2 2 is coded as for example the value VCES 2 1 =0 or VCES 2 2 =1, respectively, as a function of the current coding context.

According to a second embodiment, if the syntax element ES 2 is representative of the value of the residual pixels of the current block B u and if, for example, ES 2 takes:

a first predefined value VES 2 1 indicating residual pixels of zero value of the current block B u , or a second predefined value VES 2 2 indicating residual pixels of non-zero value of the current block B u ,

the value VES 2 1 or VES 2 2 of the syntax element ES 2 is systematically coded at C 7 , as for example the value VCES 2 1 =0 or VCES 2 2 =1, respectively, as a function of the current coding context.

Such a coding is for example an entropy coding of CABAC (“Context Adaptive Binary Arithmetic Coder” in English) type or else an entropy coding of arithmetical or Huffman type. This coding is implemented by a coding device MC_C represented in FIG. 2 .

›DETAILED DESCRIPTION OF THE CODING PART · 3 of 6

If at C 4 , the coded value of the syntax element ES 1 is VCES 1 2 , the value VES 2 1 or VES 2 2 of the syntax element ES 2 is systematically coded at C 7 , as for example the value VCES 2 1 =0 or VCES 2 2 =1, respectively, as a function of the current coding context.

According to one embodiment represented in FIG. 4A , for a current image IC j of height H, in the case where:

the current image IC j is for example a 2D image obtained by two-dimensional projection of a 180° or 360° video, the syntax element ES 1 is coded according to the value VCES 1 1 =1, the current image IC k is for example a conventional 2D image of fixed type or forming part of a sequence of images following one another temporally, the syntax element ES 1 is coded according to the value VCES 1 2 =0.

Represented in FIG. 4A is the current image IC k in the guise of 2D image obtained by two-dimensional projection of a 360° video. A first predefined zone, denoted Z 1 , of the current image IC k has a height H 1 such that 0.2 H<H 1 <0.8 H. The blocks contained in the zone Z 1 contain the pixels resulting from the projection into the current image IC k of the pixels closest to the equator of the image captured by a 360° video capture sphere and thus undergoing little deformation. The blocks contained in the remaining predefined zones of the image, denoted Z 2 in FIG. 4A , contain the pixels resulting from the projection into the image IC j of the pixels situated near the poles of the 360° video capture sphere and thus undergoing maximum deformation.

Represented in FIG. 4B is the current image IC j in the guise of 2D image obtained by two-dimensional projection of a 180° video. The predefined zone Z 1 of the current image IC j has a height H 1 such that 0<H 1 <0.8 H. The blocks contained in the zone Z 1 are the blocks containing the pixels resulting from the projection into the current image IC j of the pixels closest to the equator of the image captured by a 180° video capture hemisphere and thus undergoing little deformation. The blocks contained in the predefined zone Z 2 of the image are the blocks containing the pixels resulting from the projection into the image IC j of the pixels situated near the North pole of the 180° video capture sphere and thus undergoing maximum deformation.

Represented in FIG. 4C is the current image IC j in the guise of 2D image obtained by two-dimensional projection of a 180° video. A first predefined zone Z 1 of the current image IC j has a height H 1 such that 0.2 H<H 1 <H. The blocks contained in the zone Z 1 are the blocks containing the pixels resulting from the projection into the image IC j of the pixels closest to the equator of the image captured by a 180° video capture hemisphere and thus undergoing little deformation. The blocks contained in the remaining predefined zone Z 2 of the current image IC j are the blocks containing the pixels resulting from the projection into the image IC j of the pixels situated near the South pole of the 180° video capture sphere and thus undergoing maximum deformation.

Represented in FIG. 4D is the current image IC j in the guise of 2D image obtained by two-dimensional projection of a 360° video. A predefined zone, denoted Z 1 , of the current image IC j has a height H 1 such that 0.2 H<H 1 <0.8 H. The blocks contained in the zone Z 1 are the blocks containing the pixels resulting from the projection into the current image IC j of the pixels closest to the equator of the image captured by a 360° video capture sphere and thus undergoing little deformation. The image IC j furthermore contains two other predefined zones Z 2 situated on either side of the zone Z 1 . A first zone Z 2 1 has a height H 2 1 such that 0.1H<H 2 1 <0.2 H. The blocks contained in the zone Z 2 1 of the current image IC j are the blocks containing the pixels resulting from the projection into the image IC j of the pixels situated nearest the last line before the South pole of the 360° video capture sphere and thus undergoing moderate deformation. A second zone Z 2 2 has a height H 2 2 such that 0.8 H<H 2 2 <0.9 H. The blocks contained in the zone Z 2 2 of the current image IC j are the blocks containing the pixels resulting from the projection into the image IC j of the pixels situated nearest the first line before the North pole of the 360° video capture sphere and thus undergoing moderate deformation. The image IC j furthermore still contains two other predefined zones situated respectively on either side of the zones Z 2 1 and Z 2 2 . A first zone Z 3 1 has a height H 3 1 such that 0<H 3 1 <0.1 H. The blocks contained in the zone Z 3 1 of the current image IC j are the blocks containing the pixels resulting from the projection into the image IC j of the pixels situated nearest the South pole of the 360° video capture sphere and thus undergoing maximum deformation. A second zone Z 3 2 has a height H 3 2 such that 0.9 H<H 3 2 <H. The blocks contained in the zone Z 3 2 of the current image IC j are the blocks containing the pixels resulting from the projection into the image IC j of the pixels situated nearest the North pole of the 360° video capture sphere and thus undergoing maximum deformation.

It is of course possible to define predefined zones of the current image IC j in a different manner. Thus, in the case where the current image IC j is for example a 2D image obtained by projection of CMP type of a 180° or 360° video, one or more specific zones will be predefined as a function of the proximity of the pixels with respect to the edges of the cubes that served for the projection. Alternatively, the zones will be able to be defined by the value of a function dependent on the coordinates of the block in the current image IC j , or on its order of processing among all the blocks of the current image IC j . Thus for example, it is possible to define a zone by the distance from the pixel situated at the center of the image: the pixels whose distance with respect to the center of the image is greater than a threshold define a first zone, the other pixels defining a second zone. Thus, in the case for example of FIG. 4A , if (xc; yc) are the coordinates of the pixel P×C situated at the center of the current image ICj, and (xp; yp) the coordinates of a given pixel P×D of the current block B u , the given pixel P×D belongs to the first zone Z 1 if and only if the square root of the value (xc−xp) 2 +(yc−yp) 2 is greater than a threshold T 1 . Alternatively, the given pixel P×D belongs to the first zone Z 1 if and only if one of the values |xc−xp| or |yc−yp| is greater than a threshold T 2 .

›DETAILED DESCRIPTION OF THE CODING PART · 4 of 6

FIG. 5A represents an exemplary current image IC j , for which the characteristic of the image IC j is the choice at the coder of whether or not to apply a different level of coding quality to at least two zones of the current image.

To this effect:

if the current image IC j is coded according to a first coding context, such as for example a medical imaging context, VCES 1 1 =1 to indicate that a first zone of the current image is coded according to a lower level of coding quality NQ 1 than a level of coding quality NQ 2 applied to a second zone of the current image, if the current image IC j is coded according to a second coding context, such as for example a televisual context, VCES 1 2 =0 to indicate that one and the same level of coding quality NQ is applied to any zone of the current image.

Represented in FIG. 5B is an example of zones predefined in the current image IC j . In this example, the current image IC j comprises:

a first predefined zone Z 1 , such as for example the peripheral zone of the current image IC j , whose information density is low and for which the level of coding quality NQ 1 is applied, at least one second predefined zone Z 2 , such as for example the central zone of the current image IC j , whose information density is higher and for which the level of coding quality NQ 2 is applied.

In a manner similar to the examples given with reference to FIGS. 4A to 4D , it is of course possible to define predefined zones of the current image IC j in a different manner. Thus, for example, if (xc; yc) are the coordinates of the pixel P×C situated at the center of the image, and (xp; yp) the coordinates of a given pixel P×D of the current block B u , the given pixel belongs to the first zone Z 1 if and only if one of the values |xc−xp| or |yc−yp| is greater than a threshold T 3 , where T 3 equals a sixth of the width in terms of number of pixels, of the current image IC j .

Again with reference to FIG. 1A , the data of the current block B u are coded at C 8 .

According to a nonlimiting exemplary embodiment, such a coding C 8 implements the application C 81 of a transform to the data of the current block B u .

In the example described here, by data is meant the pixels of the current block B u .

It should however be noted that by data is also meant the pixels of a predicted block obtained with the aid of a prediction of the current block B u with respect to a predictor block which is selected subsequent to a competition between various predetermined modes of prediction, inter, intra or others, for example by minimization of a distortion bitrate criterion well known to the person skilled in the art.

In a manner known per se, as a function of the context or of the coding standard used, such a transform is for example a transform of DCT (English abbreviation of “Discrete Cosine Transform”) type, DST (English abbreviation of “Discrete Sine Transform”) type, of DWT (English abbreviation of “Discrete Wavelet Transform”) type or else of LT (English abbreviation of “Lapped Transform”) type. These transforms are stored beforehand in a list LTS 2 , in the buffer memory MT_C of the coder CO of FIG. 2 .

On completion of the application of this transform, a current transformed data block Bt u is obtained.

Such an operation is performed by a transform calculation device MTR_C, such as represented in FIG. 2 , which device is driven by the processor PROC_C.

The coding C 8 furthermore implements a quantization C 82 of the data of the transformed block Bt u according to a conventional quantization operation, such as for example a scalar or vector quantization. A block Bq u of quantized coefficients is then obtained.

The quantization C 82 is implemented by a quantization device MQ_C such as represented in FIG. 2 , which device is driven by the processor PROC_C.

The transform calculation device MTR_C and the quantization device MQ_C are contained in a block coding device MCB_C represented in FIG. 2 , which device is driven by the processor PROC_C.

The coding C 8 furthermore implements a coding C 83 of the data of the block Bq u of quantized coefficients. The coding C 83 is implemented by the coding device MC_C of FIG. 2 . On completion of the coding C 83 , a set of coded data DC u of the current block B u is obtained.

With reference to FIG. 1A , there is undertaken at C 9 the construction of a signal or data stream F which contains:

the coded data DC u obtained at C 8 , the coded value VCES 1 1 or VCES 1 2 of the first syntax element ES 1 , optionally the coded value VCES 2 1 or VCES 2 2 of the second syntax element(s) ES 2 according to the predefined zone of the current image IC j in which the current block B u is situated.

The stream construction C 9 is implemented by a data signal construction device MCF, such as represented in FIG. 2 .

The data signal F is thereafter transmitted by a communication network (not represented) to a remote terminal. The latter comprises the decoder DO represented in FIG. 7 .

In a manner known per se, the data signal F can furthermore comprise certain information encoded by the coder CO, such as for example:

the type of prediction (Inter, Intra or others) if the current block B u has been predicted, and if relevant, the prediction mode selected, the index of the predictor block obtained, the type of partitioning of the current block B u if the latter has been partitioned, the type of transform applied to the data of the current block B u , etc . . . .

By way of alternative, the choice to code or not to code said aforementioned certain information is implemented according to the invention, by application of operation C 4 of FIG. 1A .

In a manner known per se, there is thereafter undertaken the decoding (not represented) of the coded data DC u obtained at C 8 . A current decoded block BD u is then reconstructed, such a reconstructed block being the same as the decoded block obtained on completion of the method, which will be described further on in the description, for decoding the image IC j . The decoded block BD u is thus rendered available to be used by the coder CO of FIG. 2 .

›DETAILED DESCRIPTION OF THE CODING PART · 5 of 6

The coding operations C 1 to C 9 which have just been described hereinabove are thereafter implemented for each of the blocks B 1 , B 2 , . . . , B u , . . . , B S to be coded of the current image IC j considered.

A variant of the coding method of FIG. 1A will now be described with reference to FIG. 1B .

This variant differs from the coding method of FIG. 1A only through the fact that:

the coding C 7 of the value VES 2 1 or VES 2 2 of the second syntax element ES 2 is not systematically implemented, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 may be coded even if the current block B u belongs to the predefined zone of the current image IC j .

To this effect, as represented in FIG. 1B , in the case where the current block B u belongs to the predefined zone of the current image IC j , a criterion dependent on the characteristics of the current block is examined at C 50 .

If the criterion is fulfilled, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 is coded at C 7 .

If the criterion is not fulfilled, it is decided at C 60 not to code the value VES 2 1 or VES 2 2 of the second syntax element ES 2 . It is then decided at C 60 to assign ES 2 to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

In the case where the current block B u does not belong to the predefined zone of the current image IC j , a criterion dependent on the characteristics of the current block is examined at C 51 .

If the criterion is fulfilled, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 is coded at C 7 .

If the criterion is not fulfilled, it is decided at C 61 not to code the second syntax element ES 2 . It is then decided at C 61 to assign ES 2 to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

In the case where the coded value of the first syntax element ES 1 is VCES 1 2 , a criterion dependent on the characteristics of the current block is examined at C 52 .

If the criterion is fulfilled, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 is coded at C 7 .

If the criterion is not fulfilled, it is decided at C 62 not to code the second syntax element ES 2 . It is then decided at C 62 to assign ES 2 to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

As a variant, just one or else two of the three operations C 50 , C 51 , C 52 is implemented.

According to an exemplary criterion, in the case where the second syntax element ES 2 is representative of the size of the current block B u , the value VES 2 1 or VES 2 2 of the syntax element ES 2 is compared with a predetermined size value VTP.

In the case for example of the current images represented in FIGS. 4A to 4C , for which the coded value VCES 1 1 of the syntax element ES 1 indicates for example that the current image IC j is for example a 2D image obtained by two-dimensional projection of a 180° or 360° video:

if at C 5 ( FIG. 1B ), the current block B u belongs to the predefined zone Z 1 , and

if at C 50 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 32×32, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 60 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context,

if at C 5 ( FIG. 1B ), the current block B u does not belong to the predefined zone Z 1 , stated otherwise belongs to the predefined zone Z 2 of the current image IC j , and

if at C 51 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 16×16, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 61 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

In the case for example of a current image (not represented), for which the coded value VCES 1 2 of the syntax element ES 1 indicates for example that the current image IC j is for example a conventional 2D image of fixed type or forming part of a sequence of images following one another temporally:

if at C 52 ( FIG. 1B ), it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 8×8, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 62 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

In the case of the current image IC j represented in FIG. 4D , for which the coded value VCES 1 1 of the syntax element ES 1 indicates for example that the current image IC j is for example a 2D image obtained by two-dimensional projection of a 360° video:

if at C 5 ( FIG. 1B ), the current block B u belongs to the predefined zone Z 1 , and

if at C 50 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 32×32, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 60 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context,

if at C 5 ( FIG. 1B ), the current block B u belongs to the predefined zone Z 2 , and

›DETAILED DESCRIPTION OF THE CODING PART · 6 of 6

if at C 51 , it is determined as criterion that the size of the current block is much greater than a predetermined value VTP, for example 16×16, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 61 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context,

if at C 5 ( FIG. 1B ), the current block B u belongs to the predefined zone Z 3 , and

if at C 51 , it is determined as criterion that the size of the current block is much greater than a predetermined value VTP, for example 8×8, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 61 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

In the case for example of the current image IC j represented in FIG. 5B , for which the coded value VCES 1 1 of the syntax element ES 1 indicates for example that at least two zones of the current image IC j are coded according to a different level of coding quality:

if at C 5 ( FIG. 1B ), the current block B u belongs to the predefined zone Z 1 , and

if at C 50 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 32×32, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 60 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context,

if at C 5 ( FIG. 1B ), the current block B u does not belong to the predefined zone Z 1 , stated otherwise belongs to the predefined zone Z 2 of the current image IC j , and

if at C 51 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 16×16, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 , otherwise, it is decided at C 61 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

In the case for example of the current image IC j represented at the bottom right in FIG. 5A , for which the coded value VCES 1 2 of the syntax element ES 1 indicates for example that every zone of the current image IC j is coded according to one and the same level of coding quality:

if at C 52 ( FIG. 1B ), it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 8×8, the value VES 2 1 or VES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is coded at C 7 ,

otherwise, it is decided at C 62 not to code the second syntax element ES 2 , the latter being assigned to the first predefined value VES 2 1 or to the second predefined value VES 2 2 according to the current coding context.

›Detailed Description of the Decoding Part · 1 of 5

An embodiment of the invention will now be described, in which the decoding method according to the invention is used to decode a signal or data stream which is representative of an image or of a sequence of images and which is able to be decoded by a decoder in accordance with any one of the current or forthcoming video decoding standards.

In this embodiment, the decoding method according to the invention is for example implemented in a software or hardware manner by modifications of such a decoder.

The decoding method according to the invention is represented in the form of an algorithm comprising operations D 1 to D 10 such as are represented in FIG. 6A .

According to this embodiment, the decoding method according to the invention is implemented in a decoding device or decoder DO represented in FIG. 7 .

As illustrated in FIG. 7 , according to this embodiment of the invention, the decoder DO comprises a memory MEM_D which itself comprises a buffer memory MT_D, a processor PROC_D driven by a computer program PG_D which implements the decoding method according to the invention. On initialization, the code instructions of the computer program PG_D are for example loaded into a RAM memory denoted RAM_D, before being executed by the processor PROC_D.

The decoding method represented in FIG. 6A applies to any coded current image IC j which is fixed or else forms part of a sequence of L images IC 1 , . . . , IC j , . . . , IC L (1≤j≤L) to be decoded.

The current image IC j to be decoded arises from at least one video sequence comprising, by way of non-exhaustive examples:

images arising from one and the same camera and following one another temporally (coding/decoding of 2D type), images arising from various cameras oriented according to different views (coding/decoding of 3D type), corresponding components of texture and depth, that is to say representative of one and the same scene (coding/decoding of 3D type), images obtained by projection of a 360° video, etc . . .

At D 1 , there is undertaken the identification, in the signal F, of the coded value VCES 1 1 or VCES 1 2 of a first syntax element ES 1 which is associated with a characteristic of the current image IC j to be decoded.

The syntax element ES 1 is a high-level syntax element of a video sequence comprising the current image IC j to be decoded. To this effect, as a function of the decoding context, this element may be decoded:

at the start of the decoding of each image of the video sequence, or just once at the start of the decoding of a sequence of images, or just once at the start of the decoding of the video sequence.

Such an identification D 1 is implemented by a stream analysis device PARS_D, such as represented in FIG. 7 , said device being driven by the processor PROC_D.

At D 2 , the coded value VCES 1 1 or VCES 1 2 taken by the first syntax element ES 1 is decoded.

Such a decoding D 2 is implemented by a decoding device MD_D represented in FIG. 7 , which device is driven by the processor PROC_D.

The decoding is for example an entropy decoding of CABAC type or else an entropy decoding of arithmetical or Huffman type.

According to a first embodiment, the characteristic of the image IC j is the type of obtaining of the latter. To this effect:

if the image IC j is for example a 2D image which was obtained by two-dimensional projection of a conventional 360° video, it is the coded value VCES 1 1 of the syntax element ES 1 which is decoded, if the image IC j is for example a conventional 2D image of fixed type or forming part of a sequence of images following one another temporally, it is the coded value VCES 1 2 of the syntax element ES 1 which is decoded.

According to a second embodiment, the characteristic of the image IC j is the choice at the decoder of whether or not to apply a different level of decoding quality to at least two zones of the current image.

To this effect:

if the current image IC j is decoded according to a first decoding context, such as for example a medical imaging context, the coded value of the syntax element ES 1 identified at D 1 in the signal F is VCES 1 1 =1 to indicate that a first zone of the current image must be decoded according to a lower level of quality NQ 1 than a level of quality NQ 2 applied to a second zone of the current image, if the current image IC j is decoded according to a second decoding context, such as for example a televisual context, the coded value of the syntax element ES 1 identified at D 1 in the signal F is VCES 1 2 =0 to indicate that one and the same level of decoding quality NQ is applied to every zone of the current image IC j .

With reference to FIG. 6A , there is undertaken at D 3 the identification, in the signal F, of the coded data DC 1 , DC 2 , . . . , DC u , DC S (1≤u≤S) associated respectively with the blocks B 1 , B 2 , . . . , B u , . . . , B S coded previously in accordance with the aforementioned lexicographic order, which were obtained on completion of the coding operation C 8 of FIG. 1A . This signifies that the blocks are decoded one after another, from left to right.

Such an identification D 3 is implemented by the stream analysis device PARS_D of FIG. 7 .

Other types of traversal than that which has just been described hereinabove are of course possible and depend on the order of traversal chosen on coding.

According to an example, the blocks B 1 , B 2 , . . . , B u , . . . , B S have a square shape and all contain K pixels, with K≥1. According to a first embodiment represented in FIG. 3A , the blocks B 1 , B 2 , . . . , B u , . . . , B S are obtained on completion of a single subdivision of the current image IC j into blocks of maximum size. According to this first embodiment, the blocks have a size of for example 64×64 pixels. According to a second embodiment, the blocks B 1 , B 2 , . . . , B u , . . . , B S are obtained on completion of a subdivision of the current image IC j into blocks of size less than or equal to the aforementioned maximum size. According to this second embodiment, said blocks are for example of size 64×64 and/or 32×32, and/or 16×16, and/or 8×8 pixels.

›Detailed Description of the Decoding Part · 2 of 5

As a function of the size of the image which is not necessarily a multiple of the size of the blocks, the last blocks on the left and the last blocks at the bottom might not be square. In an alternative embodiment, the blocks may be for example of rectangular size and/or not be aligned with one another.

With reference to FIG. 6A , at D 4 , the decoder DO of FIG. 7 selects as current block to be decoded a first set of coded data DC u of the image IC j , such as for example the first set of coded data DC, associated with the first block B 1 to be decoded. The set of coded data DC u of the current block B u is associated with at least one coding parameter. By way of non-exhaustive examples, such a coding parameter is:

the mode of prediction (intra prediction, inter prediction, bi-prediction, default prediction carrying out a prediction for which no information is transmitted to the decoder (in English “skip”); the type of prediction (orientation, reference image component, . . . ); the type of subdivision into sub-blocks; the type of transform, for example 4×4 DCT, 8×8 DCT, applied to the current block or to the residual pixels of the current block if the latter has undergone a prediction; the pixel values; the values of residual pixels resulting from a prediction; a filtering of the current image IC j once coded, such as for example that achieved by the “Sample Adaptive Offset” technique of the HEVC standard (technique described in the document Chih-Ming Fu; E. Alshina; A. Alshin; Yu-Wen Huang; Ching-Yeh Chen; Chia-Yang Tsai; Chih-Wei Hsu; Shaw-Min Lei; Jeong-Hoon Park; Woo-Jin Han “ Sample Adaptive Offset in the HEVC Standard ” Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, December 2012); the index of the intra prediction mode from among a list constructed for the current block; the index of the motion vector from among a list constructed for the current block; an indicator of subdivision of the residual block obtained in case of prediction of the current block; an indicator of filtering of the reference pixels which have served to predict the current block; etc . . .

A second syntax element ES 2 is representative of the value of said at least one coding parameter.

At D 5 , the decoder DO reads whether one is dealing with the coded value VCES 1 1 or VCES 1 2 of the syntax element ES 1 which was decoded at D 2 .

If at D 5 , one is dealing with the coded value VCES 1 1 of the first syntax element ES 1 and if, at D 6 , the coded data DC u are associated with a current block B u which belongs to a predefined zone of the current image IC j , the syntax element ES 2 is set to a predefined value. Such an operation is particularly suitable when the information density of the predefined zone of the image is low or very low.

Examples of predefined zones of the current image, according to a first embodiment, have already been described with reference to FIGS. 4A to 4D and will therefore not be described again here.

Examples of predefined zones of the current image, according to a second embodiment, have already been described with reference to FIG. 5B and will therefore not be described again here.

According to a first embodiment, if the syntax element ES 2 is representative of the mode of prediction of the current block B u to be decoded and if, for example, ES 2 takes:

a first predefined value VES 2 1 indicating an inter prediction of the current block B u , or a second predefined value VES 2 2 indicating an intra prediction of the current block B u ,

it is decided at D 7 to assign ES 2 to, for example, the first predefined value VES 2 1 according to a convention predetermined at the decoder DO and which is the same as at the coder CO.

According to a second embodiment, if the syntax element ES 2 is representative of the value of the residual pixels of the current block B u and if, for example, ES 2 takes:

a first predefined value VES 2 1 indicating residual pixels of zero value of the current block B u , or a second predefined value VES 2 2 indicating residual pixels of non-zero value of the current block B u to be decoded,

it is decided at D 7 to assign ES 2 , for example to the first predefined value VES 2 1 , according to a convention predetermined at the decoder DO and which is the same as at the coder CO.

To this effect, in a corresponding manner to the coder CO of FIG. 2 , the predefined values VES 2 1 and VES 2 2 of the second syntax element ES 2 are stored beforehand in a list LTS 1 , in the buffer memory MT_D of the decoder DO of FIG. 7 .

During the decoding of the current block B u , only the first or the second embodiment of the syntax element ES 2 is implemented. By way of alternative, the first and second embodiments are implemented.

If at D 5 , one is dealing with the coded value VCES 1 1 of the first syntax element ES 1 and if, at D 6 , the coded data DC u are associated with a current block B u which does not belong to the predefined zone of the current image, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 is decoded at D 8 . If VCES 2 1 =0, on completion of this decoding D 8 , a decoded value VES 2 1 of the second syntax element ES 2 is obtained. If VCES 2 2 =1, on completion of this decoding D 8 , a decoded value VES 2 2 of the second syntax element ES 2 is obtained.

According to a first embodiment, if the syntax element ES 2 is representative of the mode of prediction of the current block B u and if, for example, ES 2 has been coded:

according to a first predefined value VCES 2 1 =0 indicating an inter prediction of the current block B u , or according to a second predefined value VCES 2 2 =1 indicating an intra prediction of the current block B u , the decoding of VCES 2 1 =0 makes it possible to obtain the value VES 2 1 of the second syntax element ES 2 or the decoding of VCES 2 2 =1 makes it possible to obtain the value VES 2 2 of the second syntax element ES 2 .

According to a second embodiment, if the syntax element ES 2 is representative of the value of the residual pixels of the current block B u and if, for example, ES 2 has been coded:

›Detailed Description of the Decoding Part · 3 of 5

according to a first predefined value VCES 2 1 =0 indicating residual pixels of zero value of the current block B u , or according to a second predefined value VCES 2 2 =1 indicating residual pixels of non-zero value of the current block B u , the decoding of VCES 2 1 =0 makes it possible to obtain the value VES 2 1 of the second syntax element ES 2 or the decoding of VCES 2 2 =1 makes it possible to obtain the value VES 2 2 of the second syntax element ES 2 .

Such a decoding is for example an entropy decoding of CABAC (“Context Adaptive Binary Arithmetic Coder” in English) type or else an entropy decoding of arithmetical or Huffman type. This decoding is implemented by the decoding device MD_D represented in FIG. 7 .

If at D 5 , it is the coded value VCES 1 2 of the first syntax element ES 1 which has been decoded, the coded value VCES 2 1 or VCES 2 2 of the syntax element ES 2 is systematically decoded at D 8 .

With reference to FIG. 6A , the data of the current block B u are decoded at D 9 . Such a decoding is implemented by a block decoding device MDB_D represented in FIG. 7 , which device is driven by the processor PROC_D.

The decoding D 9 implements, at D 91 , a decoding of the data DC u associated with the current block B u to be decoded and which have been coded at C 8 in FIG. 1A . On completion of such a decoding, is obtained a set of digital information associated with the block of quantized coefficients Bq u which was obtained at C 52 in FIG. 1A .

The decoding D 91 is implemented by the decoding device MD_D represented in FIG. 7 .

The decoding D 9 furthermore implements a dequantization D 92 of the block of quantized coefficients Bq u , according to a conventional dequantization operation which is the operation inverse to the quantization C 82 of FIG. 1A . A current set of dequantized coefficients BDq u is then obtained. Such a dequantization is for example of scalar or vector type and is implemented by means of an inverse quantization device MQ −1 _D, such as represented in FIG. 7 , which device is driven by the processor PROC_D.

The decoding D 9 furthermore implements the application D 93 of a transform to the current set of dequantized coefficients BDq u which is obtained at D 92 . In a manner known per se, such a transform is a transform inverse to that applied to the coding at C 81 in FIG. 1A , such as for example a DCT, DST, DWT, LT or other transform. In a corresponding manner to the coder CO of FIG. 2 , these transforms form part of a list of transforms LTS 2 −1 which is stored beforehand in the buffer memory MT_D of the decoder DO of FIG. 7 . The type of transform to be applied can be determined at the decoder conventionally, by reading, in the data signal F, the index of the transform applied to the coding. According to the invention, the type of transform to be applied can be determined by the implementation of operation D 5 of FIG. 6A .

The transform application D 93 is performed by a transform calculation device MTR −1 _D, such as represented in FIG. 7 , which device is driven by the processor PROC_D.

The inverse quantization device MQ −1 _D and the transform calculation device MTR −1 _D are contained in a block decoding device MDB_D represented in FIG. 7 , which device is driven by the processor PROC_D.

On completion of the decoding of the data of the current block, a current decoded block BD u is obtained.

In the example described here, by data is meant the pixels of the decoded block BD u .

It should however be noted that by data is also meant the pixels of a current residual block decoded in the case where a prediction of the current block B u was implemented on coding and an inverse prediction is therefore implemented on decoding.

With reference to FIG. 6A , there is undertaken at D 10 the writing of the current decoded block BD u into a decoded image ID j .

The writing D 10 is implemented by an image reconstruction device URI such as represented in FIG. 7 , the device URI being driven by the processor PROC_D.

The decoding method which has just been described hereinabove is implemented for all the coded data of blocks DC 1 , DC 2 , . . . , DC u , . . . , DC S , associated respectively with the blocks B 1 , B 2 , . . . , B u , . . . , B S to be decoded of the current image IC j considered.

A variant of the decoding method of FIG. 6A will now be described with reference to FIG. 6B .

This variant differs from the decoding method of FIG. 6A only through the fact that:

the decoding D 8 of the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 is not systematically implemented, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 may be decoded even if the current block B u belongs to the predefined zone of the current image IC j .

To this effect, as represented in FIG. 6B , in the case where the set of coded data DC u is associated with a current block B u which belongs to the predefined zone of the current image IC j , a criterion dependent on the characteristics of the current block is examined at D 50 .

If the criterion is fulfilled, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 is decoded at D 8 .

If the criterion is not fulfilled, at D 70 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

In the case where the set of coded data DC u is associated with a current block B u which does not belong to the predefined zone of the current image IC j , a criterion dependent on the characteristics of the current block is examined at D 61 .

If the criterion is fulfilled, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 is decoded at D 8 .

If the criterion is not fulfilled, at D 71 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

In the case where it is the coded value VCES 1 2 of the first syntax element ES 1 which was decoded at D 2 , a criterion dependent on the characteristics of the current block is examined at D 62 .

›Detailed Description of the Decoding Part · 4 of 5

If the criterion is fulfilled, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 is decoded at D 8 .

If the criterion is not fulfilled, at D 72 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

As a variant, just one or else two of the three operations D 60 , D 61 , D 62 is implemented.

According to an exemplary criterion, in the case where the second syntax element ES 2 is representative of the size of the current block B u to be decoded, the value VES 2 1 or VES 2 2 of the syntax element ES 2 is compared with a predetermined size value VTP.

In the case for example of the current images represented in FIGS. 4A to 4C , for which the coded value VCES 1 1 of the syntax element ES 1 indicating that the current image IC j is for example a 2D image obtained by two-dimensional projection of a 180° or 360° video is decoded at D 2 :

if at D 6 ( FIG. 6B ), the set of coded data DC u is associated with a current block B u which belongs to a predefined zone Z 1 , and

if at D 60 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 32×32, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 70 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 ,

if at D 6 ( FIG. 6B ), the current block B u does not belong to the predefined zone Z 1 , stated otherwise belongs to the predefined zone Z 2 of the current image IC j , and

if at D 61 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 16×16, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 71 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

In the case for example of a current image (not represented), for which the coded value VCES 1 2 of the syntax element ES 1 indicating that the current image IC j is for example a conventional 2D image of fixed type or forming part of a sequence of images following one another temporally is decoded at D 2 :

if at D 62 ( FIG. 6B ), it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 8×8, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 72 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

In the case of the current image IC j represented in FIG. 4D , for which the coded value VCES 1 1 of the syntax element ES 1 indicating that the current image IC j is for example a 2D image obtained by two-dimensional projection of a 360° video is decoded at D 2 :

if at D 6 ( FIG. 6B ), the set of coded data DC u is associated with a current block B u which belongs to the predefined zone Z 1 , and

if at D 60 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 32×32, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 70 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 ,

if at D 6 ( FIG. 6B ), the current block B u belongs to the predefined zone Z 2 of the current image IC j , and

if at D 61 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 16×16, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 71 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 ,

if at D 6 ( FIG. 6B ), the current block B u belongs to the predefined zone Z 3 , and

if at D 62 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 8×8, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 72 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

In the case for example of a current image represented in FIG. 5B , for which the coded value VCES 1 1 of the syntax element ES 1 indicating that at least two zones of the current image IC j are decoded according to a different level of decoding quality is decoded at D 2 :

if at D 6 ( FIG. 6B ), the set of coded data DC u is associated with a current block B u which belongs to a predefined zone Z 1 , and

if at D 60 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 32×32, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 70 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 ,

›Detailed Description of the Decoding Part · 5 of 5

if at D 6 ( FIG. 6B ), the current block B u does not belong to the predefined zone Z 1 , stated otherwise belongs to the predefined zone Z 2 of the current image IC j , and

if at D 61 , it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 16×16, the value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 71 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

In the case for example of the current image IC j represented at the bottom right in FIG. 5A , for which the coded value VCES 1 2 of the syntax element ES 1 indicating that each zone of the current image IC j is decoded according to one and the same level of decoding quality is decoded at D 2 :

if at D 62 ( FIG. 6B ), it is determined as criterion that the size of the current block is greater than a predetermined value VTP, for example 8×8, the coded value VCES 2 1 or VCES 2 2 of the second syntax element ES 2 representative of the size of the current block B u is decoded at D 8 , otherwise, at D 72 , the syntax element ES 2 is set, as a function of the current decoding context, directly to the predefined value VES 2 1 or VES 2 2 such as stored in the list LTS 1 of the decoder DO of FIG. 7 .

It goes without saying that the embodiments which have been described hereinabove have been given purely by way of wholly nonlimiting indication, and that numerous modifications may be easily made by the person skilled in the art without however departing from the scope of the invention.

Claims

14 · 6 independent · depth 2
1234567891011121314
14 granted claims

Classifications

7 codes
IPC · International Patent Classification
Section H — Electricity
  • H04N19/70
  • H04N19/176
  • H04N19/00
  • H04N19/136
  • H04N19/46
  • H04N19/102
  • H04N19/61

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this patent are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2018Jul 2018Jan 2019Jul 2019Jan 2020Jul 2020Jan 2021Jul 2021Jan 2022USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
3.6 y
1,324 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Li Liu
art unit 2666 · TC 2600
Citations: 17 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Chain of title

⤢ drag to zoom2020202220242026202820302032203420362038Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock

Term & fees

See the term timeline — pendency span, in-force span, the maintenance fees paid and both computed expiry dates.

Log in to unlock

Priority chain

1 priority documents
›Priority documents — 1
TypeDocumentDate
related publicationUS 20200084477 A112 Mar 2020

Worldwide family

12 members · 8 offices
US2EP1JP2KR2CN2WO1BR1FR1
this patentIP5 & PCTother officessolid = grantedhover for detail · click to open
Members
12
DOCDB simple family 58707849
Offices
8
US · EP · JP · KR · CN · WO
Granted
4 of 12
grant date present
Non-English titles
8
shown as filed, never translated
›IP5 & PCT — 10 members
OfficePublicationKindPublishedFiledStatusTitle
USUS-2020084477-A1A112 Mar 202012 Mar 2018publishedMethod for encoding and decoding images, encoding and decoding device, and corresponding computer programs
USthis patentUS-11159826-B2B226 Oct 202112 Mar 2018grantedMethod for encoding and decoding images, encoding and decoding device, and corresponding computer programs
EPEP-3596923-A1A122 Jan 202012 Mar 2018publishedProcédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondantsfr
JPJP-2020511082-AA9 Apr 202012 Mar 2018published画像をエンコーディング及びデコーディングする方法、エンコーディング及びデコーディング装置、並びに、対応するコンピュータプログラムja
JPJP-7096263-B2B25 Jul 202212 Mar 2018granted画像をエンコーディング及びデコーディングする方法、エンコーディング及びデコーディング装置、並びに、対応するコンピュータプログラムja
KRKR-20190126348-AA11 Nov 201912 Mar 2018published영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램ko
KRKR-102498157-B1B18 Feb 202312 Mar 2018granted영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램ko
CNCN-110431844-AA8 Nov 201912 Mar 2018published用于对图像进行编码和解码的方法、编码和解码设备以及相应的计算机程序zh
CNCN-110431844-BB28 Jul 202312 Mar 2018grantedMethod for encoding and decoding an image, encoding and decoding device and corresponding computer recording medium
WOWO-2018167419-A1A120 Sep 201812 Mar 2018publishedMethod for encoding and decoding images, encoding and decoding device, and corresponding computer programs
›Other offices — 2 members
OfficePublicationKindPublishedFiledStatusTitle
BRBR-112019018901-A2A214 Apr 202012 Mar 2018publishedmétodo para codificação e decodificação de imagens, dispositivo de codificação e decodificação e programas de computador correspondentespt
FRFR-3064145-A1A121 Sep 201816 Mar 2017publishedProcede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondantsfr

Validity challenges

See the validity challenges on record — reexaminations, IPRs and PGRs, with their institution decisions and outcomes.

Log in to unlock

Citations

See every patent this one cites and every patent that cites it back — publication, assignee, and how each one was found.

Log in to unlock