Sign In to Follow Application
View All Documents & Correspondence

Methods And Devices For Encoding And Decoding A Data Stream Representing At Least One Image

Abstract: The invention relates to a method for decoding a stream of encoded data representing at least one image that is split into blocks. For at least one block of the image, referred to as the current block, information indicating an encoding mode of the current block is decoded (E42) from the data stream. When the encoding mode of the current block corresponds to a first encoding mode, the decoding (E433) of a prediction residual associated with the current block is performed using a first group of syntax elements, while, when the encoding mode of the current block corresponds to a second encoding mode, decoding (E442) of the prediction residual associated with the current block is performed using a second group of syntax elements, which is a subset of syntax elements of said first group of syntax elements.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
16 March 2021
Publication Number
33/2022
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2025-02-19
Renewal Date

Applicants

ORANGE
78 rue Olivier de Serres 75015 Paris

Inventors

1. HENRY, Félix
Orange Gardens - TGI/OLR/IPL/PATENTS - 44 avenue de la République - CS 50010 92326 Châtillon Cedex
2. PHILIPPE, Pierrick
Orange Gardens - TGI/OLR/IPL/PATENTS - 44 avenue de la République - CS 50010 92326 Châtillon Cedex
3. ABDOLI, Mohsen
Orange Gardens - TGI/OLR/IPL/PATENTS - 44 avenue de la République - CS 50010 92326 Châtillon Cedex
4. CLARE, Gordon
Orange Gardens - TGI/OLR/IPL/PATENTS - 44 avenue de la République - CS 50010 92326 Châtillon Cedex

Specification

METHODS AND DEVICES FOR CODING AND DECODING A DATA FLOW REPRESENTATIVE OF AT LEAST ONE IMAGE

1. Field of the invention

The field of the invention is that of the coding and decoding of images or sequences of images, and in particular of video streams.

More specifically, the invention relates to the compression of images or sequences of images using a block representation of the images.

The invention can in particular be applied to image or video coding implemented in current or future coders (JPEG, MPEG, H.264, HEVC, etc. and their amendments), and to the corresponding decoding.

2. Prior Art

Digital images and sequences of images occupy a lot of space in terms of memory, which requires, when these images are transmitted, to compress them in order to avoid congestion problems on the network used for this transmission.

Many video data compression techniques are already known. Among these, the HEVC compression standard ("High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signais and Communication Technology, 2015) proposes to implement a prediction of pixels of a current image with respect to other pixels belonging to the same image (intra prediction) or to a previous or following image (inter prediction).

More specifically, intra prediction exploits spatial redundancies within an image. To do this, the images are cut into blocks of pixels. The blocks of pixels are then predicted using information already reconstructed, corresponding to the previously coded/decoded blocks in the current image according to the order of traversal of the blocks in the image.

Furthermore, conventionally, the coding of a current block is carried out using a prediction of the current block, called predictor block, and a prediction residue or “residual block”, corresponding to a difference between the current block and the predictor block. The residual block obtained is then transformed, for example by using a transform of the DOT type (transformed into discrete cosines). The coefficients of the transformed residual block are then quantized, then coded by entropy coding and transmitted to the decoder, which can reconstruct the current block by adding this residual block to the predictor block.

The decoding is done frame by frame, and for each frame, block by block. For each block, the corresponding elements of the stream are read. The inverse quantization and the inverse transformation of the coefficients of the residual block are carried out. Then, the prediction of the block is calculated to obtain the predictor block and the current block is reconstructed by adding the prediction (i.e. the predictor block) to the decoded residual block.

In US9253508, a DPCM (Differential Pulse Code Modulation) coding technique for coding blocks in Intra mode is inserted into an HEVC coder. Such a technique consists in predicting a set of pixels of an intra block by another set of pixels of the same block which have been previously reconstructed. In US9253508, a set of pixels of the intra block to be coded corresponds to a line of the block, or a column or a line and a column and the intra prediction used to predict the set of pixels is one of the intra directional predictions defined in the HEVC standard.

However, such a technique is not optimal. Indeed, the reconstruction of a set of pixels of the intra block corresponds either to the addition of a prediction residual in the case of lossless coding, thus offering a fairly low compression rate, or to the addition a prediction residue after inverse transformation and/or inverse quantization of said other set of pixels serving as prediction. Such a technique therefore does not make it possible to predict each pixel of the intra block using a local prediction function and to reconstruct the predicted pixel before predicting a following pixel. Indeed, this technique requires reconstructing a set of pixels (line/column of the block for example) to predict another set of pixels. In other words, at each prediction and reconstruction of a part of the block, several pixels of the block are predicted and reconstructed.

Moreover, in US Pat. No. 9,253,508, it is not described how to make intra-classical prediction modes as defined in the HEVC standard for example and the DPCM prediction mode cohabit.

There is therefore a need for a new coding and decoding method to improve the compression of image or video data.

3. Disclosure of Invention

The invention improves the state of the art. To this end, it concerns a method for decoding a stream of coded data representative of at least one image divided into blocks, the decoding method comprises, for at least one block of the image, called the current block:

- the decoding of information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding code, the decoding of the current block comprising:

- the decoding of a prediction residue associated with the current block using a first group of syntax elements,

- obtaining a prediction of the current block from reconstructed pixels of a previously decoded block,

- the reconstruction of said current block from the prediction obtained and from said decoded prediction residue.

- when the coding mode of the current block corresponds to a second coding mode, the decoding of the current block comprising:

- the decoding of the prediction residue associated with the current block using a second group of syntax elements, said second group being a sub-group of syntax elements of said first group of syntax elements,

- the reconstruction of said current block comprising:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- the reconstruction of said pixel from the prediction of said pixel obtained and the decoded prediction residue using the second group of syntax elements.

Thus, according to the invention, at least some of the syntax elements of an existing coding mode can be used. This makes it possible to pool the processing of data, because the same processing unit can be used, and to reduce the costs of implementation, both at the hardware level (hardware) and at the software level (software).

It should be noted that according to the invention, the first group of syntax elements and the second group of syntax elements are distinct. Indeed, the second group of syntax elements being a subgroup of the first group, it comprises at least one syntax element of said first group. The second group of syntax elements differs from the first group in that it does not include all the syntax elements of the first group. Indeed, the second group of syntax elements comprises a number of syntax elements strictly lower than the number of syntax elements of the first group. Thus the second group of syntax elements is a strict subgroup of the first group of syntax elements.

The invention thus makes it possible to adapt the coding of the prediction residue obtained according to the second mode of coding to the statistics of the coefficients to be coded. Indeed, such a statistic differs from the statistic of the coefficients of the prediction residual obtained according to the first coding mode. Data compression is thus improved.

The invention also relates to a method for coding a stream of coded data representative of at least one image divided into blocks. The coding method comprises, for at least one block of the image, called current block:

- the coding of information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, the coding of the current block comprising:

- obtaining a prediction of the current block from reconstructed pixels of a previously decoded block,

- obtaining a prediction residue associated with the current block obtained from the prediction obtained,

- the coding of said prediction residue associated with the current block using a first group of syntax elements,

- when the coding mode of the current block corresponds to a second coding mode, the coding of the current block comprising:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- obtaining a prediction residual from the prediction obtained for said pixel,

- the coding of a prediction residue associated with the current block comprising the prediction residues associated with the pixels of said current block, using a second group of syntax elements, said second group being a subgroup of syntax elements of said first group of syntax elements.

The invention also relates to a coded data stream representative of at least one image divided into blocks. The coded data stream comprises, for at least one block of the image, called the current block:

- information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, a prediction residue according to the first coding mode coded using a first group of syntax elements, the prediction residue according to the first coding mode being obtained from a prediction of the current block from reconstructed pixels of a previously decoded block,

- when the coding mode of the current block corresponds to a second coding mode, a prediction residue according to the second coding mode coded using

of a second group of syntax elements, said second group being a subgroup e of syntax elements of said first group of syntax elements, said prediction residue according to the second coding mode being obtained by:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- obtaining a prediction residual associated with said pixel from the prediction obtained for said pixel.

Such a data stream can be stored on any recording medium, for example a memory, or transmitted in the form of an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.

According to a particular embodiment of the invention, the first group of syntax elements comprises location syntax elements indicating the location of a first non-zero coefficient of the prediction residual associated with said current block, according to a traversal order determined coefficients of said prediction residual, and said second group of syntax elements does not include said location syntax elements.

During decoding or coding of the prediction residue of the current block according to the first coding mode, the prediction residue is traversed from the first non-zero coefficient of the prediction residue to the last coefficient of the prediction residue according to said order of determined route.

According to the particular embodiment described here, during decoding or coding of the prediction residue of the current block according to the second coding mode, the prediction residue is then traversed from the first coefficient of the prediction residue to the last coefficient of the prediction residual according to said determined traversal order. This particular embodiment of the invention makes it possible to reduce the cost of coding the prediction residual according to the second mode of coding when the first non-zero coefficient corresponds to the first coefficient of the prediction residual.

According to another particular embodiment of the invention, the prediction residue associated with the current block comprising at least one sub-block of coefficients, said first group of syntax elements comprises a sub-block syntax element associated with said at least one sub-block of coefficients, said sub-block syntax element indicating whether at least one coefficient of the sub-block is non-zero, and for each sub-block of coefficients of the prediction residual comprising at least one non-zero coefficient, a significance syntax element for each coefficient of the sub-block, said significance syntax element indicating whether said coefficient is zero or not. According to this other particular embodiment of the invention, the second group of syntax elements comprises a significance syntax element for each coefficient of the prediction residual.

In other words, according to this particular embodiment of the invention, according to the second coding mode, the coefficients of the prediction residue associated with the current block are not grouped together by sub-block and the sub-block syntax element n is not included in the second group of syntax elements.

According to another particular embodiment of the invention, the first group of syntax elements comprises, for each non-zero coefficient of the prediction residual traversed according to a determined traversal order:

- a syntax element indicating whether the absolute value of the coefficient is equal to 1 or not,

- for each coefficient for which the absolute value of the coefficient is not equal to 1, a syntax element indicating whether the absolute value of the coefficient is equal to 2 or not,

- for each coefficient for which the absolute value of the coefficient is equal neither to 1 nor to 2, a syntax element indicating whether the absolute value of the coefficient decreased by 3,

- a syntax element indicating whether the coefficient is positive or negative.

According to this other particular embodiment of the invention, the second group of syntax elements comprises, for each non-zero coefficient of the prediction residual traversed according to a determined traversal order, a syntax element indicating the absolute value of the coefficient, and said syntax element indicating whether the coefficient is positive or negative.

The invention also relates to a decoding device configured to implement the decoding method according to any one of the particular embodiments defined above. This decoding device could of course comprise the different characteristics relating to the decoding method according to the invention. Thus, the characteristics and advantages of this decoding device are the same as those of the decoding method, and are not detailed in greater detail.

The decoding device notably comprises a processor configured for, for at least one block of the image, said current block:

- decode information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, decoding the current block via:

- the decoding of a prediction residue associated with the current block using a first group of syntax elements,

- obtaining a prediction of the current block from reconstructed pixels of a previously decoded block,

- the reconstruction of said current block from the prediction obtained and from said decoded prediction residue.

- when the coding mode of the current block corresponds to a second coding mode, decoding the current block via:

- the decoding of the prediction residue associated with the current block using a second group of syntax elements, said second group being a sub-group of syntax elements of said first group of syntax elements,

- the reconstruction of said current block comprising:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- the reconstruction of said pixel from the prediction of said pixel obtained and the decoded prediction residue using the second group of syntax elements.

According to a particular embodiment of the invention, such a decoding device is included in a terminal.

The invention also relates to an encoding device configured to implement the encoding method according to any one of the particular embodiments defined above. This coding device may of course include the different characteristics relating to the coding method according to the invention. Thus, the characteristics and advantages of this coding device are the same as those of the coding method, and are not detailed in greater detail.

The coding device comprises in particular a processor configured for, for at least one block of the image, called current block:

- coding information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, coding the current block via:

- obtaining a prediction of the current block from reconstructed pixels of a previously decoded block,

- obtaining a prediction residue associated with the current block obtained from the prediction obtained,

- the coding of said prediction residue associated with the current block using a first group of syntax elements,

- when the coding mode of the current block corresponds to a second coding mode, coding the current block via:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- obtaining a prediction residual from the prediction obtained for said pixel,

- the coding of a prediction residue associated with the current block comprising the prediction residues associated with the pixels of said current block, using a second group of syntax elements, said second group being a subgroup of syntax elements of said first group of syntax elements.

According to a particular embodiment of the invention, such an encoding device is included in a terminal, or a server.

The decoding method, respectively the coding method, according to the invention can be implemented in various ways, in particular in wired form or in software form. According to a particular embodiment of the invention, the decoding method, respectively the coding method, is implemented by a computer program. The invention also relates to a computer program comprising instructions for implementing the decoding method or the coding method according to any one of the particular embodiments described previously, when said program is executed by a processor. Such a program can use any programming language. It can be downloaded from a communication network and/or recorded on a computer-readable medium.

This program may 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 partially compiled form, or in any other desirable form.

The invention also relates to a recording medium or information medium readable by a computer, and comprising instructions of a computer program as mentioned above. The recording media mentioned above can be any entity or device capable of storing the program. For example, the support can

include a storage means such as a memory. On the other hand, recording media ment may correspond to 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 in particular be downloaded from an Internet-type network.

Alternatively, the recording media may correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

4. List of Figures

Other characteristics and advantages of the invention will appear more clearly on reading the following description of a particular embodiment, given by way of a simple illustrative and non-limiting example, and the appended drawings, among which:

- Figure 1 shows steps of the coding method according to a particular embodiment of the invention,

- Figure 2 illustrates an example of position of neighboring blocks of a current block to determine an intra prediction mode according to a particular embodiment of the invention,

- Figure 3 illustrates an example of position of the reference pixels used to predict pixels of a current block according to a particular embodiment of the invention,

- Figure 4 shows steps of the decoding method according to a particular embodiment of the invention,

- Figure 5 illustrates an example of a signal comprising coded data representative of at least one block of an image according to a particular embodiment of the invention,

- Figure 6 shows the simplified structure of an encoding device suitable for implementing the encoding method according to any one of the particular embodiments of the invention,

- Figure 7 shows the simplified structure of a decoding device suitable for implementing the decoding method according to any one of the particular embodiments of the invention,

- Figure 8 illustrates the division into sub-blocks of a block of coefficients.

5. Description of an embodiment of the invention

5.1 General principle

The general principle of the invention is to allow the use of part of a group of syntax elements used to code a prediction residue obtained from a coding mode using a prediction of pixels from 'at least one block previously

reconstructed, to code a prediction residue resulting from an intra pixel-based prediction, i.e. a prediction of the pixels of the block to be coded from previously reconstructed pixels of the block to be coded.

The invention thus makes it possible to improve the compression performance of the intra-pixel-based coding mode and to reduce the costs of implementing this new coding mode, in particular by making it possible to reuse part of the syntax elements already used by a other coding mode.

5. 2 Examples of implementation

FIG. 1 presents steps of the coding method according to a particular embodiment of the invention. For example, a sequence of images l is coded; l2, ..., lNb in the form of an STR coded data stream according to a particular embodiment of the invention. For example, such a coding method is implemented by a coding device as described later in relation to FIG. 6.

A sequence of images h , l2, ..., lNb, Nb being the number of images of the sequence to be coded, is supplied as input to the coding method. The coding method outputs a coded data stream STR representative of the sequence of images supplied as input.

In known manner, the coding of the sequence of images h , l2 , ..., lNb is done image by image according to a previously established coding order known to the coder. For example, the images can be coded in the temporal order h , l2, ..., lNb or according to another order, for example I 1 3, I2, , I Nb - During a step E0, an image I , to be coded from the sequence of images, l2, ..., lNb is divided into blocks, for example into blocks of size 32×32, or 64×64 pixels or more. Such a block can be subdivided into square or rectangular sub-blocks, for example of size 16x16, 8x8, 4x4, 16x8, 8x16, ....

During a step E1, a first block or sub-block Xb to be coded of the image I is selected according to a predetermined direction of travel of the image I. For example, it may be the first block in the lexicographical order of browsing the image.

During a step E2, the encoder will choose the coding mode to code the current block Xb. According to the particular embodiment described here, the encoder selects the coding mode for coding the current block Xb from among a first coding mode M1 and a second coding mode M2. Additional coding modes (not described here) may be used. According to the particular embodiment described here, the first coding mode M1 corresponds to the coding of the current block by intra-classic prediction, for example as defined according to the HEVC standard and the second coding mode M2 ​​corresponds to In Loop Residual (ILR) prediction coding.

During step E2, the coder can carry out a rate/distortion optimization to determine the best coding mode for coding the current block. During this rate/distortion optimization, additional coding modes distinct from the first and second coding modes can be tested, for example a coding mode in inter mode. During this bitrate/distortion optimization, the encoder simulates the coding of the current block Xb according to the different coding modes available in order to determine the bitrate and the distortion associated with each coding mode and selects the coding mode offering the best bitrate compromise. /distortion, for example according to the function D+2R, where R represents the bit rate necessary to encode the current block according to the coding mode evaluated, D the distortion measured between the decoded block and the original current block and l a Lagrangian multiplier, for example entered by the user or defined at the encoder.

During a step E20, information indicating the coding mode selected for the current block is coded in the data stream STR.

If the current block Xb is coded according to the first coding mode M1, the method passes to step E21 of coding the block according to M1. If the current block Xb is coded according to the second coding mode M2, the method passes to step E22 of coding the block according to M2.

The step E21 of coding the block according to the first coding mode M1 is described below, according to a particular embodiment of the invention. According to the particular mode described here, the first coding mode corresponds to an intra-classical prediction, such as that defined in the HEVC standard.

During a step E210, a ¾ quantization step is determined. For example, the ¾ quantization step can be set by the user, or calculated using a quantization parameter setting a compromise between compression and quality and entered by the user or defined by the encoder. Thus, such a quantization parameter can be the parameter L, used in the rate-distortion cost function D+1.R, where D represents the distortion introduced by the coding and R the rate used for coding. This function is used to make coding choices. Conventionally, we seek the way of coding the image which minimizes this function.

As a variant, the quantization parameter can be the QP, corresponding to the quantization parameter conventionally used in the AVC or HEVC standards. Thus, in the HEVC standard, the ¾ quantization step is determined by the equation 51=levelScale[ QP%6 ] “(QP/6)) where levelScale[ k ] = { 40, 45, 51 , 57, 64, 72 } for k = 0..5. During a step E21 1 , a prediction of the current block is determined using a conventional intra prediction mode. According to this conventional intra prediction, each predicted pixel is calculated solely from the decoded pixels originating from neighboring blocks (reference pixels) situated above the current block, and to the left of the current block. The way the pixels are predicted from the reference pixels depends on a prediction mode which is transmitted to the decoder, and which is chosen by the encoder from a predetermined set of modes known to the encoder and to the decoder.

Thus, in HEVC, there are 35 possible prediction modes: 33 modes which interpolate the reference pixels in 33 different angular directions, and 2 other modes: the DC mode in which each pixel of the predicted block is produced from the average reference pixels, and PLANAR mode, which performs planar, non-directional interpolation. This so-called "intra-classical prediction" approach is well known and also used in the ITU-T H.264 standard (where there are only 9 different modes) as well as in the experimental JEM software available at the internet address ( https ://i vet .h h i .frau n h of e r .d e/), where there are 67 different prediction modes. In all cases, the conventional intra prediction respects the two aspects mentioned above (prediction of the pixels from neighboring blocks and transmission to the decoder of an optimal prediction mode).

During step E21 1 , the coder therefore chooses one of the prediction modes available from the predetermined list of prediction modes. One way to choose consists for example in evaluating all the prediction modes and in keeping the prediction mode which minimizes a cost function such as, conventionally, the rate-distortion cost.

During a step E212, the prediction mode chosen for the current block is coded from the neighboring blocks of the current block. FIG. 2 illustrates an example of the position of the neighboring blocks Ab and Bb of the current block Xb to encode the prediction mode of the current block Xb.

During step E212, the intra prediction mode chosen for the current block is coded using the intra prediction modes associated with neighboring blocks.

For example, the approach written in the HEVC standard to encode the prediction mode of the current block can be used. In the example of Figure 2, such an approach consists of identifying the intra mA prediction mode associated with block Ab located above the current block, and the intra mB prediction mode associated with block Bb located just to the left of the block running. Depending on the value of mA and mB, a so-called MPM list (for Most Probable Mode), containing 3 intra prediction modes, and a so-called non-MPM list, containing the 32 other prediction modes, are created.

According to the HEVC standard, in order to code the intra prediction mode of the current block, syntax elements are transmitted:

-a binary indicator indicating whether the prediction mode to be coded for the current block is in the MPM list or not,

- if the prediction mode of the current block belongs to the MPM list, an index in the MPM list corresponding to the prediction mode of the current block is coded,

- if the prediction mode of the current block does not belong to the MPM list, an index in the non-MPM list corresponding to the prediction mode of the current block is coded.

During a step E213, the prediction residual R for the current block is constructed.

During step E213, in a conventional manner, a predicted block P is built according to the prediction mode chosen in step E21 1 . Then the prediction residual R is obtained by calculating the difference for each pixel, between the predicted block P and the original current block.

During a step E214, the prediction residue R is transformed into RT.

During step E214, a frequency transform is applied to the residue block R so as to produce the block RT comprising transformed coefficients. The transform may be a DCT type transform for example. It is possible to choose the transform to be used from a predetermined set of AND transforms and to signal the transform used to the decoder.

During a step E215, the transformed residue block RT is quantized using, for example, a scalar quantization of quantization step
This produces the quantized transformed prediction residual block RTQ.

During a step E216, the coefficients of the quantized block RTQ are coded by an entropy coder. It is for example possible to use the entropy coding specified in the HEVC standard. In this case, the coding of the coefficients of the residual RTQ operates as follows.

A traversal order of the coefficients is determined. This traversal order is the same at the encoder and at the decoder. It is for example defined by default within the encoder and the decoder. For example, it is a traversal of the current quantized block RTQ line by line and column by column.

Syntax elements are transmitted to indicate the location of the first non-zero coefficient encountered according to the traversal order. These syntax elements will be called LastX and LastY (indicating the coordinates of said coefficient in the current quantized block RTQ).

The coefficients are then scanned from said first non-zero coefficient to the last coefficient of the current quantized block RTQ. The coefficients of the current quantized block RTQ are grouped into sub-blocks. For example, the coefficients are grouped into sub-blocks of size 4×4 contained in the current quantized block RTQ, as illustrated in FIG. 8 showing a transformed prediction residual block divided into sub-blocks of 4×4 coefficients. Other sizes of sub-blocks are of course possible.

For each sub-block, a coded_sub_block_flag syntax element is passed, indicating whether this sub-block consists entirely of zeros or not. In other words, this syntax element takes the value 0 if all the coefficients of the sub-block are null and the value 1 otherwise (at least one coefficient of the sub-group is different from 0).

For each sub-block that includes at least one non-zero coefficient, a sig_coeff_flag syntax element is transmitted for each coefficient (located after the last coefficient of the sub-block indicated by LastX and LastY according to the determined traversal order), this syntax element indicating whether the coefficient is zero or not. Such a syntax element is not transmitted for the first nonzero coefficient identified by LastX and LastY since the coder already knows that this coefficient is nonzero.

For each non-zero coefficient, a coeff_abs_level_greater1_flag syntax element is passed, indicating whether the coefficient is equal to 1 or not.

For each coefficient that is not zero and not equal to 1 , a syntax element coeff_abs_level_greater2_flag is transmitted, indicating whether the coefficient is equal to 2 or not. For each non-zero coefficient and not equal to 1 and not equal to 2, a coeff_abs_level_remaining syntax element is transmitted, indicating the magnitude of the coefficient decreased by 3. Finally, for each non-zero coefficient, a coeff_sign_flag syntax element is transmitted to indicate whether the coefficient is positive or negative.

So known, the current block is decoded by de-quantizing the coefficients of the quantized block RTQ, then by applying the inverse transform to the de-quantized coefficients to obtain the decoded prediction residue. The prediction is then added to the decoded prediction residue in order to reconstruct the current block and to obtain its decoded version. The decoded version of the current block can then be used subsequently to spatially predict other neighboring blocks of the image or else to predict blocks of other images by inter-image prediction.

The step E22 of coding the block according to the second coding mode M2 ​​is described below, according to a particular embodiment of the invention. According to the particular mode described here, the second coding mode corresponds to coding by ILR prediction.

During a step E220, a local predictor PL for the current block is determined. According to the coding mode described here, the pixels of the current block are predicted by previously reconstructed pixels of a block neighboring the current block or of the current block itself.

Preferably, to predict, pixels are chosen which are as close as possible to the pixel to be predicted. For this reason, it is called a local predictor. The local predictor PL can also be likened to a prediction mode of the current block associated with the second coding mode M2. According to this interpretation, in the particular embodiment described here, the first coding mode uses a first group of intra prediction modes, for example the intra prediction modes defined by the HEVC standard, and the second coding mode, here the ILR mode, uses a second group of prediction modes distinct from the first group of intra prediction modes.

The local predictor PL can be unique or it can be selected from a set of predetermined local predictors (second group of prediction modes).

According to a variant embodiment, 4 local predictors are defined. Thus, if we call X a current pixel to be predicted from the current block, A the pixel located immediately to the left of X, B the pixel located immediately to the left and above X, C the pixel located immediately above X, as illustrated in FIG. 3 showing a current block Xb. 4 local predictors PL1, PL2, PL3, PL4 can be defined as follows:

PL1 (X) = min(A,B) if C > max(A,B)

max(A,B) if C < min(A,B)

A+B-C otherwise

PL2(X) = A

PL3(X) = B

PL4(X) = C

where min(A,B) corresponds to the function returning the smaller value between the value of A and the value of B and max(A,B) corresponds to the function returning the larger value between the value of A and the value of B.

During step E220, it is determined which local predictor PL to use for the current block. In other words, the same local predictor will be used for all pixels of the current block, i.e. the same prediction function. For this, several embodiments are possible. The coding of the current block with each of the predictors can be simulated (similar to an optimization to choose a coding mode for the current block), and the local predictor which optimizes a cost function (for example, which minimizes the function D + A.R, where R is the bitrate used to encode the block, D is the distortion of the decoded block relative to the original block, and l is a user-set parameter) is selected.

Or, in order to limit the complexity of the selection of a local predictor for the current block, an orientation of the texture of the pixels previously coded is analyzed. For example, previously coded pixels in the block that are located above or to the left of the current block are analyzed using a Sobel-like operator. If it is determined that:

- the orientation is horizontal, the local predictor PL2 is selected,

- the orientation is vertical, the local predictor PL3 is selected,

- the orientation is diagonal, the local predictor PL4 is selected,

- if no orientation emerges, the local predictor PL1 is selected.

A syntax element is encoded in the STR data stream to indicate to the decoder which local predictor was used to predict the current block.

During a step E221, a quantization step d2 is determined. For example, the quantization step d2 depends on the same quantization parameter as the quantization step ^ which would be determined in step E210 if the current block were coded according to the first coding mode.

During a step E222, a prediction residue R1 is calculated for the current block. To do this, once the local predictor has been chosen, for each current pixel of the current block:

- the current pixel X of the current block is predicted by the selected local predictor PL, using either pixels outside the block and already reconstructed (and therefore available with their decoded value), or pixels previously reconstructed in the current block, or both, in order to obtain a predicted value PRED. In all cases, the PL predictor uses previously reconstructed pixels. In figure 3, we see that the pixels of the current block located on the first line and/or the first column of the current block will use as reference pixels (to construct the predicted value PRED) pixels outside the block and already reconstructed (pixels in gray in figure 3) and possibly already reconstructed pixels of the current block. For the other pixels of the current block, the reference pixels used to construct the predicted value PRED are located inside the current block;

-the DIFF difference between PRED and X is quantized into a value Q(X), by a scalar quantizer of quantization step d2 , by Q(X) = ScalarQuant(DIFF) = ScalarQuant(¾ , X-PRED), the quantizer scalar being for example a nearest scalar quantifier

neighbor such that: ScalarQuant(A, x) = floor

Q(X) is the quantized residual associated with X. It is computed in the spatial domain, i.e. computed directly from the difference between the predicted value PRED of pixel X and the original value of X. Such a quantized residual Q(X ) for pixel X is stored in a quantized prediction residual block R1 Q, which will be coded later;

the decoded predicted value P1 (X) of X is calculated by adding to the predicted value PRED the de-quantized value of the quantized residue Q(X). The decoded predicted value P1 (X) of X is thus obtained by P1 (X) = PRED + ScalarDequant(¾, Q(X)). For example, the nearest scalar quantization inverse function is given by: ScalarDequant(A, x) = D x x.

The decoded predicted value P1 (X) thus makes it possible to predict any pixels that remain to be processed in the current block. Furthermore, the block P1 comprising the decoded/reconstructed values ​​of the pixels of the current block constitutes the predictor ILR of the current block (as opposed to the conventional intra predictor).

The sub-steps described above are carried out for all the pixels of the current block, in a traversal order which ensures that the pixels used for the prediction chosen from among PL1,..., PL4 are available.

According to a variant embodiment, the order of traversal of the current block is the lexicographic order, i.e. from left to right, and from top to bottom.

According to another embodiment variant, several traversal orders of the current block can be used, for example:

-the lexicographical order, or

-by traversing the first column from top to bottom, then the column just to its right, etc. or,

- by traversing the diagonals one after the other.

According to this other variant, it is possible to simulate the coding cost associated with each of the traversal orders and to choose the best traversal order of the current block in the bit rate/distortion direction, then to encode for the current block information representative of the current block. selected run order.

At the end of step E222, the block of quantified residue R1 Q has been determined. This quantized residue block R1 Q must be coded in order to be transmitted to the decoder. The current block predictor P1 was also determined.

During a step E223, the quantized residue block R1Q is coded in order to transmit it to the decoder. It is possible to use any known approach, such as the method described in HEVC to encode the quantized coefficients of a classical prediction residual.

According to the particular embodiment of the invention described here, the values ​​of the quantized residue block R1 Q are coded using an entropy coder in the STR data stream using at least some of the syntax elements used to encode a prediction residue resulting from the M1 coding mode.

To encode the R1 Q residue, a subgroup of the group of syntax elements used for the RTQ residue is used.

Indeed, the statistic of the R1 Q residual is different from that of the RTQ residual. It is therefore necessary to adapt the entropy coding of the R1 Q prediction residual to this particular statistic in order to maximize the compression. However, by limiting oneself to a syntax which is a subset of the syntax transmitted for an RTQ residue, it is possible to reuse the same software or hardware component, which is of great interest from the point of view of the cost of implementation. .

According to a variant embodiment of the invention, the coding of the residue R1 Q is done by omitting the syntax elements LastX and LastY and by systematically traversing all the coefficients of the block of quantized prediction residue R1 Q.

In this case, the coding of the coefficients of the residual R1Q operates as follows.

A traversal order of the coefficients is determined. The coefficients are scanned from the first coefficient of the quantized residue block R1 Q to the last coefficient of the quantized residue block R1 Q. The rest of the entropy coding of the coefficients is similar to that described in the case of the coding of a residue of prediction transformed from the mode of coding M1.

These coefficients are grouped by sub-blocks, for example sub-blocks of size 4×4 contained in the current quantized residue block R1 Q. Other sizes of sub-blocks are of course possible.

For each sub-block, a coded_sub_block_flag syntax element is passed, indicating whether this sub-block consists entirely of zeros or not. For each sub-block which contains at least one non-zero coefficient, a syntax element sig_coeff_flag is transmitted for each coefficient, this syntax element indicating whether the coefficient is zero or not. For each non-zero coefficient, a coeff_abs_level_greater1_flag syntax element is passed, indicating whether the coefficient is equal to 1 or not. For each coefficient that is not zero and not equal to 1 , a syntax element coeff_abs_level_greater2_flag is transmitted, indicating whether the coefficient is equal to 2 or not. For each non-zero coefficient and not equal to 1 and not equal to 2, a coeff_abs_level_remaining syntax element is transmitted, indicating the magnitude of the coefficient decreased by 3. Finally, for each non-zero coefficient, a coeff_sign_flag syntax element is transmitted to indicate whether the coefficient is positive or negative.

According to another variant of the particular embodiment described here, the coding of the quantized residue R1 Q is done by omitting the syntax elements LastX and LastY and by systematically traversing all the coefficients of the block of quantized residue R1Q, and by omitting the element coded_sub_block_flag. A significance value sig_coeff_flag is therefore systematically coded for each coefficient of the quantized residue block R1 Q.

According to this variant, the coding of the coefficients of the residue R1 Q operates as follows. A traversal order of the coefficients is determined. The coefficients are scanned from said first coefficient of the quantized residual block R1 Q to the last coefficient of the quantized residual block R1 Q according to the determined scanning order. For this purpose, for each coefficient, a syntax element sig_coeff_flag is transmitted, this syntax element indicating whether the coefficient is zero or not. For each non-zero coefficient, a coeff_abs_level_greater1_flag syntax element is passed, indicating whether the coefficient is equal to 1 or not. For each coefficient that is not zero and not equal to 1 , a syntax element coeff_abs_level_greater2_flag is transmitted, indicating whether the coefficient is equal to 2 or not. For each non-zero coefficient and not equal to 1 and not equal to 2, a coeff_abs_level_remaining syntax element is transmitted, indicating the magnitude of the coefficient decreased by 3. Finally, for each non-zero coefficient, a coeff_sign_flag syntax element is transmitted to indicate whether the coefficient is positive or negative.

According to another embodiment variant, the coding of the residue R1 Q is carried out only using the syntax elements coeff_abs_level_remaining and coeff_sign_flag. According to this variant, all the coefficients of the block are systematically scanned and the value of each coefficient is coded. The coding of the coefficients of the residue R1 Q operates as follows. A traversal order of the coefficients is determined. The coefficients are scanned from the first coefficient of the quantized residue block R1 Q to the last coefficient of the quantized residue block R1 Q.

To this end, for each coefficient of the quantized residual block R1 Q, a coeff_abs_level_remaining syntax element is transmitted, indicating the amplitude of the coefficient, and for each non-zero coefficient, a coeff_sign_flag syntax element is transmitted in order to indicate whether the coefficient is positive or negative.

It appears that according to all the embodiment variants described above, the coding of the prediction residue R1Q is carried out from a group of syntax elements which is a strict subset (i.e. not equal) and non-empty of the syntax elements used for the "classic" residue RTQ.

According to a particular embodiment of the invention, it is possible to determine and code an additional prediction residue R2 from the predictor ILR obtained for the current block. The coding of an additional prediction residue R2 is however optional. It is in fact possible to simply code the current block by its predicted version P1 and the quantized residue R1q.

In order to code an additional prediction residue R2 for the current block, the following steps are implemented.

During a step E224, the difference R2 between the predictor P1 and the original current block Xb is calculated in order to constitute an additional residue R2: R2=Xb-P1. The following steps correspond to the standard steps for coding this residue R2.

During a step E225, the residue R2 is transformed using a frequency transform so as to produce the block of coefficients R2T.

The transform can be a DCT type transform for example. It is possible to choose the transformed to be used in a predetermined set of transforms ET2 and to signal the transform used to the decoder. In this case, the set ET2 can be different from the set ET, in order to adapt to the particular statistics of the residue R2.

Claims

1. Method for decoding a stream of coded data representative of at least one image, said image being divided into blocks, the decoding method comprises, for at least one block of the image, said current block:

- the decoding (E42) of information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, the decoding (E43) of the current block comprising:

- the decoding (E433) of a prediction residue associated with the current block using a first group of syntax elements,

- obtaining (E432) a prediction of the current block from reconstructed pixels of a previously decoded block,

- the reconstruction (E436) of said current block from the prediction obtained and of said decoded prediction residue.

- when the coding mode of the current block corresponds to a second coding mode, the decoding (E44) of the current block comprising:

- the decoding (E442) of the prediction residue associated with the current block using a second group of syntax elements, said second group being a sub-group of syntax elements of said first group of syntax elements ,

- the reconstruction (E444) of said current block comprising:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- the reconstruction of said pixel from the prediction of said pixel obtained and the decoded prediction residue using the second group of syntax elements.

2. Method for coding a data stream representative of at least one image, said image being divided into blocks, the coding method comprises, for at least one block of the image, said current block:

- the coding (E20) of information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, the coding (E21) of the current block comprising:

- obtaining (E213) a prediction of the current block from reconstructed pixels of a previously decoded block,

- obtaining (E213) a prediction residue associated with the current block obtained from the prediction obtained,

- the coding (E216) of said prediction residue associated with the current block using a first group of syntax elements,

- when the coding mode of the current block corresponds to a second coding mode, the coding (E22) of the current block comprising:

- for each pixel of the current block:

- obtaining (E222) a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- obtaining (E222) a prediction residual from the prediction obtained for said pixel,

- the coding (E223) of a prediction residue associated with the current block comprising the prediction residues associated with the pixels of said current block, using a second group of syntax elements, said second group being a sub- group of syntax elements of said first group of syntax elements.

3. Method according to any one of claims 1 or 2, in which:

- said first group of syntax elements comprises localization syntax elements indicating the localization of a first non-zero coefficient of the prediction residual associated with said current block, according to a determined traversal order of the coefficients of said prediction residual,

- and said second group of syntax elements does not include said location syntax elements.

4. Method according to any one of claims 1 -3, wherein:

- said prediction residue associated with the current block comprising at least one sub-block of coefficients, said first group of syntax elements comprises:

- a sub-block syntax element associated with said at least one sub-block of coefficients, said sub-block syntax element indicating whether at least one coefficient of the sub-block is non-zero, and

- for each sub-block of coefficients of the prediction residual comprising at least one non-zero coefficient, a significance syntax element for each coefficient of the sub-block, said significance syntax element indicating whether said coefficient is zero or not, and

- said second group of syntax elements comprises a significance syntax element for each coefficient of the prediction residual.

5. A method according to any of claims 1-4, wherein:

- said first group of syntax elements comprises, for each non-zero coefficient of the prediction residual traversed according to a determined traversal order:

- a syntax element indicating whether the absolute value of the coefficient is equal to 1 or not,

- for each coefficient for which the absolute value of the coefficient is not equal to 1, a syntax element indicating whether the absolute value of the coefficient is equal at 2 or not,

- for each coefficient for which the absolute value of the coefficient is equal neither to 1 nor to 2, a syntax element indicating the absolute value of the coefficient reduced by 3,

- a syntax element indicating whether the coefficient is positive or negative, and

- said second group of syntax elements comprises for each non-zero coefficient of the prediction residual traversed according to a determined traversal order:

- a syntax element indicating the absolute value of the coefficient,

- said syntax element indicating whether the coefficient is positive or negative.

6. Device for decoding a stream of coded data representative of at least one image, said image being divided into blocks, the decoding device comprises a processor (PROCO) configured to, for at least one block of the image, says current block:

- decode information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, decoding the current block via:

- the decoding of a prediction residue associated with the current block using a first group of syntax elements,

- obtaining a prediction of the current block from reconstructed pixels of a previously decoded block,

- the reconstruction of said current block from the prediction obtained and from said decoded prediction residue.

- when the coding mode of the current block corresponds to a second coding mode, decoding the current block via:

- the decoding of the prediction residue associated with the current block using a second group of syntax elements, said second group being a sub-group of syntax elements of said first group of syntax elements,

- the reconstruction of said current block comprising:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- the reconstruction of said pixel from the prediction of said pixel obtained and the decoded prediction residue using the second group of syntax elements.

7. Device for coding a data stream representative of at least one image, said image being divided into blocks, the coding device comprises a processor (PROC) configured to, for at least one block of the image, said current block:

- coding information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, coding the current block via:

- obtaining a prediction of the current block from reconstructed pixels of a previously decoded block,

- obtaining a prediction residue associated with the current block obtained from the prediction obtained,

- the coding of said prediction residue associated with the current block using a first group of syntax elements,

- when the coding mode of the current block corresponds to a second coding mode, coding the current block via:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- obtaining a prediction residual from the prediction obtained for said pixel,

- the coding of a prediction residue associated with the current block comprising the prediction residues associated with the pixels of said current block, using a second group of syntax elements, said second group being a subgroup of syntax elements of said first group of syntax elements.

8. Stream of coded data representative of at least one image, said image being divided into blocks, the coded data stream comprises, for at least one block of the image, said current block:

- information indicating a coding mode of the current block,

- when the coding mode of the current block corresponds to a first coding mode, a prediction residue according to the first coding mode coded using a first group of syntax elements, the prediction residue according to the first coding mode being obtained from a prediction of the current block from reconstructed pixels of a previously decoded block,

- when the coding mode of the current block corresponds to a second coding mode, a prediction residue according to the second coding mode coded using a second group of syntax elements, said second group being a sub- group of syntax elements of said first group of syntax elements, said prediction residue according to the second coding mode being obtained by:

- for each pixel of the current block:

- obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to said current block or to a previously decoded block of the image,

- obtaining a prediction residual associated with said pixel from the prediction obtained for said pixel.

9. Data stream according to claim 8, wherein:

- said first group of syntax elements comprises location syntax elements indicating the location of a first non-zero coefficient of said prediction residual associated with the current block according to a traversal order of the determined prediction residual,

- and said second group of syntax elements does not include said location syntax elements.

10. A data stream according to any of claims 8 or 9, wherein:

- said prediction residue comprising at least one sub-block of coefficients, said first group of syntax elements comprises:

- a sub-block syntax element associated with said at least one sub-block of coefficients, said sub-block syntax element indicating whether at least one coefficient of the sub-block is non-zero, and

- for each sub-block of coefficients of the prediction residual comprising at least one non-zero coefficient, a significance syntax element for each coefficient of the sub-block, said significance syntax element indicating whether said coefficient is zero or not, and

- said second group of syntax elements comprises a significance syntax element for each coefficient of the prediction residual.

1 1. A data stream according to any of claims 8-10, wherein:

- said first group of syntax elements comprises, for each non-zero coefficient of the prediction residual traversed according to a determined traversal order:

- a syntax element indicating whether the absolute value of the coefficient is equal to 1 or not,

- for each coefficient for which the absolute value of the coefficient is not equal to 1, a syntax element indicating whether the absolute value of the coefficient is equal to 2 or not,

- for each coefficient for which the absolute value of the coefficient is equal neither to 1 nor to 2, a syntax element indicating the absolute value of the coefficient reduced by 3, - a syntax element indicating whether the coefficient is positive or negative , and

- said second group of syntax elements comprises for each non-zero coefficient of the prediction residual traversed according to a determined traversal order:

- a syntax element indicating the absolute value of the coefficient,

- said syntax element indicating whether the coefficient is positive or negative.

12. Computer program comprising instructions for implementing the decoding method according to any one of claims 1 or 3 to 5 or the coding method according to any one of claims 2 to 5, when said program is executed by a processor.

13. Information carrier readable by a computer, and comprising instructions of a computer program according to claim 12.

Documents

Application Documents

# Name Date
1 202117011089-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [16-03-2021(online)].pdf 2021-03-16
2 202117011089-STATEMENT OF UNDERTAKING (FORM 3) [16-03-2021(online)].pdf 2021-03-16
3 202117011089-PRIORITY DOCUMENTS [16-03-2021(online)].pdf 2021-03-16
4 202117011089-POWER OF AUTHORITY [16-03-2021(online)].pdf 2021-03-16
5 202117011089-FORM 1 [16-03-2021(online)].pdf 2021-03-16
6 202117011089-DRAWINGS [16-03-2021(online)].pdf 2021-03-16
7 202117011089-DECLARATION OF INVENTORSHIP (FORM 5) [16-03-2021(online)].pdf 2021-03-16
8 202117011089-COMPLETE SPECIFICATION [16-03-2021(online)].pdf 2021-03-16
9 202117011089-Verified English translation [24-03-2021(online)].pdf 2021-03-24
10 202117011089-Proof of Right [26-05-2021(online)].pdf 2021-05-26
11 202117011089-Information under section 8(2) [26-05-2021(online)].pdf 2021-05-26
12 202117011089-FORM 3 [26-05-2021(online)].pdf 2021-05-26
13 202117011089.pdf 2021-10-19
14 202117011089-Information under section 8(2) [06-11-2021(online)].pdf 2021-11-06
15 202117011089-FORM 3 [06-11-2021(online)].pdf 2021-11-06
16 202117011089-Information under section 8(2) [03-05-2022(online)].pdf 2022-05-03
17 202117011089-FORM 3 [03-05-2022(online)].pdf 2022-05-03
18 202117011089-FORM 18 [17-06-2022(online)].pdf 2022-06-17
19 202117011089-FER.pdf 2022-09-27
20 202117011089-Retyped Pages under Rule 14(1) [24-03-2023(online)].pdf 2023-03-24
21 202117011089-OTHERS [24-03-2023(online)].pdf 2023-03-24
22 202117011089-Information under section 8(2) [24-03-2023(online)].pdf 2023-03-24
23 202117011089-FORM-26 [24-03-2023(online)].pdf 2023-03-24
24 202117011089-FORM-26 [24-03-2023(online)]-1.pdf 2023-03-24
25 202117011089-FORM 3 [24-03-2023(online)].pdf 2023-03-24
26 202117011089-FER_SER_REPLY [24-03-2023(online)].pdf 2023-03-24
27 202117011089-DRAWING [24-03-2023(online)].pdf 2023-03-24
28 202117011089-2. Marked Copy under Rule 14(2) [24-03-2023(online)].pdf 2023-03-24
29 202117011089-Information under section 8(2) [27-09-2023(online)].pdf 2023-09-27
30 202117011089-US(14)-HearingNotice-(HearingDate-16-07-2024).pdf 2024-06-29
31 202117011089-REQUEST FOR ADJOURNMENT OF HEARING UNDER RULE 129A [08-07-2024(online)].pdf 2024-07-08
32 202117011089-US(14)-ExtendedHearingNotice-(HearingDate-14-08-2024)-1600.pdf 2024-07-16
33 202117011089-REQUEST FOR ADJOURNMENT OF HEARING UNDER RULE 129A [08-08-2024(online)].pdf 2024-08-08
34 202117011089-US(14)-ExtendedHearingNotice-(HearingDate-12-09-2024)-1600.pdf 2024-08-14
35 202117011089-Correspondence to notify the Controller [02-09-2024(online)].pdf 2024-09-02
36 202117011089-Written submissions and relevant documents [27-09-2024(online)].pdf 2024-09-27
37 202117011089-REQUEST FOR CERTIFIED COPY [07-10-2024(online)].pdf 2024-10-07
38 202117011089-PatentCertificate19-02-2025.pdf 2025-02-19
39 202117011089-IntimationOfGrant19-02-2025.pdf 2025-02-19

Search Strategy

1 20180414E_27-09-2022.pdf
2 20171016E_27-09-2022.pdf

ERegister / Renewals

3rd: 21 Apr 2025

From 03/09/2021 - To 03/09/2022

4th: 21 Apr 2025

From 03/09/2022 - To 03/09/2023

5th: 21 Apr 2025

From 03/09/2023 - To 03/09/2024

6th: 21 Apr 2025

From 03/09/2024 - To 03/09/2025

7th: 21 Apr 2025

From 03/09/2025 - To 03/09/2026