EP3479572A1 - Procédé de codage intra d'une image numérique et procédé de décodage correspondant - Google Patents

Procédé de codage intra d'une image numérique et procédé de décodage correspondant

Info

Publication number
EP3479572A1
EP3479572A1 EP17742476.9A EP17742476A EP3479572A1 EP 3479572 A1 EP3479572 A1 EP 3479572A1 EP 17742476 A EP17742476 A EP 17742476A EP 3479572 A1 EP3479572 A1 EP 3479572A1
Authority
EP
European Patent Office
Prior art keywords
category
categories
prediction modes
modes
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP17742476.9A
Other languages
German (de)
English (en)
Inventor
Joël JUNG
Félix Henry
Charlène MOUTON
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
B Com SAS
Original Assignee
B Com SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by B Com SAS filed Critical B Com SAS
Publication of EP3479572A1 publication Critical patent/EP3479572A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the field of the invention is that of encoding and decoding images or image sequences, and in particular video streams.
  • the invention relates to the compression of images or image sequences using a block representation of the images.
  • the invention may especially apply to the image or video coding implemented in the current encoders (JPEG, MPEG, H.264, HEVC, etc. and their amendments) or to future ones, and to the corresponding decoding.
  • Images and digital image sequences occupy a lot of space in terms of memory, which requires, when transmitting these images, to compress them in order to avoid congestion problems on the network used for this transmission. Indeed, the usable throughput on this network is generally limited.
  • intra prediction exploits spatial redundancies within an image. To do this, the images are cut into blocks of pixels. Pixel blocks are then predicted using already reconstructed information, corresponding to the previously coded / decoded blocks in the current image according to the order of the blocks in the image.
  • the coding of a current block is carried out using a prediction of the current block, said predicted block, and a prediction residual or "residual block", corresponding to a difference between the current block and the predicted block.
  • the residual block obtained is then transformed, for example using a DCT transform (discrete cosine transform).
  • 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 block residual at the predicted block.
  • the decoding is done image by image, and for each image, block by block. For each block, the corresponding elements of the stream are read. Inverse quantization and inverse transformation of the coefficients of the residual block are performed. Then, the prediction of the block is calculated to obtain the predicted block and the current block is reconstructed by adding the prediction (the predicted block) to the decoded residual block.
  • the HEVC standard it is possible to perform an intra prediction of a current block according to 35 intra prediction modes.
  • the HEVC standard defines two lists of prediction modes: a first list called MPM list (for "Most Probable Mode", in English) comprising the 3 intra prediction modes.
  • MPM list for "Most Probable Mode", in English
  • the most probable for the current block is defined from the prediction modes previously selected during the coding of the neighboring blocks of the current block,
  • a second non-MPM list comprising the remaining 32 remaining intra prediction modes, i.e. intra prediction modes not included in the MPM list.
  • An index is transmitted to the decoder to indicate which MPM or non-MPM list is used to predict the current block.
  • the index of the prediction mode selected in the MPM list is transmitted to the decoder by entropy coding.
  • the index of intra prediction mode selected in the non-MPM list is encoded by a fixed length code of 5 bits.
  • the non-MPM list includes a large number of intra prediction modes, so the cost of coding an index of a prediction mode of this list is high.
  • the reference pixels of the current block correspond to the pixels of the line above the current block and the column to the right of the current block.
  • a current block is then predicted by one of the prediction modes of the list. In the selected category, the best prediction mode is chosen based on a rate-distortion criterion. It is marked with information identifying the category and then the mode in that category.
  • Such a method makes it possible to reduce the computation time of the prediction of a current block, because in certain cases all the intra prediction modes are not tested. It may also allow in some cases to reduce the flow. Indeed, if the category chosen is one that has only one predictor, there is nothing to report.
  • the rate is not reduced, since the signaling is provided based on the set of prediction modes initially available.
  • the invention particularly aims to overcome these disadvantages of the prior art.
  • an object of the invention is to propose a solution that contributes to reducing the signaling cost of a prediction mode selected for a current block among a plurality of candidate modes, without impairing the quality of the prediction. 5. Presentation of the invention
  • the decoder eliminates the categories of prediction modes that are not adapted to the current block and removes from the remaining categories the prediction modes that are common to the eliminated categories. It uses its knowledge of categories not eliminated and updated to interpret in the data stream the coded data signaling the prediction mode chosen by the encoder for the current block.
  • the prediction mode signaling selected for the current block is specific and adapted to the updated categories of prediction modes.
  • the cost of the prediction mode signaling is optimized.
  • the invention also relates to a method of encoding an image in the form of a coded data stream, said image being divided into blocks, a set of at least two prediction modes being available for predicting a block, said block current, said method comprising the following steps: - obtaining at least two categories of prediction modes from the set;
  • the obtaining step comprises reading identification information of said categories in a memory.
  • the obtaining step comprises an analysis of at least one characteristic of a content of blocks already processed and a creation of categories from at least one criterion of grouping of the prediction modes and according to the at least one analyzed characteristic.
  • Categories are created dynamically, based on the content already processed.
  • One advantage is that the categories obtained are adapted to the content of the image.
  • the method comprises, for a category obtained, a step of determining a prediction mode representing this category and the category elimination step comprises an elimination of the prediction mode representing, the elimination of the category being triggered by the elimination of the prediction mode representing it.
  • One advantage is that the entire category is eliminated in one operation.
  • the step of eliminating the category comprises the successive elimination of its prediction modes, the comparison of the number of prediction modes eliminated in the category at a threshold predetermined, the elimination of the category being triggered when the number of eliminated modes is greater than the threshold.
  • One advantage is that the modes of the category are individually tested before making an elimination decision.
  • the method comprises, for a category obtained, said category being associated with a criterion of grouping of prediction modes, a step of analysis of the content of the neighboring blocks already processed intended to provide a characteristic of the content and the elimination step eliminates the category when the characteristic and the grouping criterion are incompatible with each other.
  • One advantage is that the entire category is eliminated when it can be established that it is not adapted to the content to be processed.
  • the invention also relates to a decoding device adapted to implement the decoding method according to any one of the particular embodiments defined above.
  • This decoding device may of course include the various 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 further.
  • such a decoding device is included in a terminal.
  • the invention also relates to a coding device adapted to implement the coding method according to any one of the particular embodiments defined above.
  • This coding device may of course include the various 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 further.
  • such a coding device is included in a terminal or a server.
  • Such terminal equipment or server may comprise a coding device and a decoding device according to the invention.
  • the decoding method or the coding method according to the invention can be implemented in various ways, in particular in hard-wired form or in software form.
  • the decoding method is implemented by a computer program comprising instructions for implementing the steps of a method as described above. , when this program is executed by a processor.
  • These programs can use any programming language. They can be downloaded from a communication network and / or recorded on a computer-readable medium.
  • the invention finally relates to recording media, readable by a processor, integrated or not integrated with the encoding device of a digital image and the decoding device of a digital image according to the invention, possibly removable, respectively memorizing a computer program implementing an encoding method and a computer program implementing a decoding method, as described above.
  • FIG. 1 schematically shows the steps of obtaining, eliminating and updating the categories of prediction modes according to a first embodiment of the invention
  • FIG. 2 schematically shows the steps of obtaining, eliminating and updating the categories of prediction modes according to a first embodiment of the invention
  • Figure 3 schematically shows categories of prediction modes including common modes
  • FIGS. 4A to 4G illustrate examples of categories of prediction modes implemented by the invention
  • FIG. 5 illustrates an example of categories implemented in one embodiment of the invention
  • FIG. 6 schematically shows the steps of a method of coding an image according to the invention
  • FIG. 7 schematically illustrates the steps of a method of decoding an image according to the invention
  • Figure 8 schematically shows an example of a hardware structure of a coding device according to the invention
  • Figure 9 shows schematically an example of a hardware structure of a decoding device according to the invention.
  • the aim of the invention is to improve the cost of signaling a prediction mode used to predict a block of pixels of an image to be encoded.
  • the general principle of the invention is based on the establishment of categories of prediction modes in the initial set of the prediction modes in competition for the coding or the decoding of a current block of a digital image and on the elimination whole categories. Modes of a non-eliminated category that are common to eliminated categories are removed. This principle applies to both the encoder and the decoder.
  • the number of prediction modes available for the coding of a block is reduced and, because the decoder knows how to build identically the same categories, the signaling can be done on the basis of the reduced number of modes. available for the prediction of the current block.
  • the invention is here described in the context of an application to intra prediction modes defined in the HEVC standard.
  • the invention is readily applicable to other compression standards and other modes of prediction.
  • this mode is to linearly interpolate the pixels of the predictor block (or predicted block) from the reference pixels; the reference pixels being constructed from neighboring blocks previously reconstructed,
  • this mode consists in assigning to the pixels of the predictor block the same value corresponding to an average of the reference pixels,
  • the encoder or decoder obtains categories of prediction modes formed from the initial set of available prediction modes.
  • categories may have common prediction modes. These categories were formed using one or more CR grouping criteria of the prediction modes.
  • a grouping criterion is advantageously associated with a value or a range of values of a characteristic of the contents of a block.
  • the prediction modes are grouped on the basis of at least one common characteristic, so that the prediction modes of the same category can be considered as the most suitable for predicting a block having the characteristic value. associated with them.
  • the step E10 for obtaining categories comprises a substep E101 for reading information representative of these categories in a memory MEM, MEMO.
  • this information is a word that concatenates the identifiers of the categories and a category identifier is associated with a memory space storing the identifiers of the prediction modes that it contains.
  • the encoder and by symmetry the decoder systematically obtain the predetermined categories corresponding to a first categorization profile associated for example with a coding profile.
  • the encoder and symmetry decoder can dynamically create categories to the using grouping criteria associated with particular values or ranges of characteristic values from this analysis.
  • the step E10 comprises a substep E102 for obtaining characteristics CC of the content of the blocks already processed and a sub-step E103 for creating at least one category on the basis of at least one criterion grouping CR according to at least one of these characteristics.
  • step E10 can implement substep E101 alone, substeps E102, E103 alone, or all substeps, dynamically constituted categories that complement the previously created one.
  • the prediction modes are grouped according to a criterion associated with a physical characteristic of the content of the image.
  • the physical characteristic considered is the orientation of the prediction mode and the prediction modes having orientations close to each other are grouped together in a first category CV, referred to as vertical, comprising the vertical angular mode A26 ( V) and its neighbors and a second category CH, called horizontal, comprising the horizontal angular mode A10 (H) and its neighbors.
  • These categories are relevant for predicting a block of an image with clear directions, which are rather horizontal for the category CH or rather vertical for the category CV. This is the case for example of an image representing an urban scene with high buildings.
  • the elimination step El i will eliminate one of the two categories on the basis of an elimination criterion based on a main orientation of the block.
  • FIG. 1 Another example of a physical characteristic taken into account for the creation of a category is considered in relation to FIG. It is assumed that the encoder has detected in the content the presence of frank and contrasting contours with respect to the background, often in the horizontal or vertical directions, separated by very homogeneous areas, which corresponds to a text or logo inlay on a surface. real scene.
  • the content of the image being coded thus includes a superposition of virtual elements on a real scene. It creates a first category grouping modes adapted to this type of scene known as "screen content".
  • this CSC category it includes DMM (for "Depth Modeling Mode"), IBC (for "Intra Block Copy"), A10 horizontal angle mode (H), angular mode vertical A26 (V). It creates a second CA category comprising all the angular modes previously mentioned, including the horizontal mode and the vertical mode.
  • the coder obtains in E10 three categories from the angular prediction modes.
  • Category CA1 includes modes A26 (V) and A10 (H), category CA2 modes A2, A6, A14, A22 and category CA3 all others.
  • the category CA1 allows very little finesse for the coding of a direction
  • the category CA2 allows a little more
  • CA3 category is the most accurate. It is understood that these three categories make it possible to adapt to the fineness required to represent the direction of the content of a block.
  • this set of categories will therefore be chosen when it gives the best results, for example according to a rate-distortion criterion.
  • rate-distortion criterion One can expect that it works well for an image whose area contains simple directions (vertical and horizontal), and another area would have much finer directions (finesse in the diagonals).
  • the sub-step E103 for creating categories takes into account a grouping criterion based on a statistical analysis (E102) of the prediction modes used for neighboring blocks already processed (causal context).
  • E102 statistical analysis
  • the most frequently used modes are placed in a first category.
  • a second category includes all modes of the initial set.
  • FIG. 4E other categories are dynamically created by learning, of "machine learning” type, on the predicted modes for already processed blocks of the current image, with respect to causal descriptors. , preferably the most probable.
  • the technique of "machine learning” or ML known to those skilled in the art and for example described in the book entitled “Machine Learning”, by Tom Mitchell, published by McGraw Hill in 1997.
  • This technique allows, following a learning phase, to emit probabilities concerning the selection of modes for the current zone.
  • ML is a known, complex process that we do not detail.
  • the learning is repeated regularly, with a frequency that can vary. For example, to each coding unit (in English) or to each image or group of GoP images (for "Group of Pictures").
  • a first predetermined category C0 ' said by default, which comprises the prediction modes DC, A10 (H), A26 (V) and PL.
  • This category is obtained by the encoder and the decoder in E10. This makes it possible to mitigate a bad prediction resulting from ML learning.
  • the categories can also be constructed hierarchically. Any tree structure can be adopted (binary, ternary, irregular, etc.). This structure simulates a kind of MPM by hierarchical levels.
  • Horizontal mode A10 and vertical mode A26 are defined as the two most probable modes M PM1 and MPM2. They form the top-level category CH1.
  • the second hierarchical category CH2 is derived by taking their neighbors with two jumps MPM 1-2, MPM 1 + 2, MPM2-2 and M PM2-2.
  • the category CH3 level 3 is created by taking the neighbors to a jump of the modes of the previous category: MPM 1-1, MPM 1 + 1, MPM2-1, MPM2 + 1.
  • the category CH1 includes few modes of prediction and brings a low accuracy in terms of angular direction, while the category CH3 offers a greater fineness of orientation.
  • the invention covers different ways of eliminating a category.
  • the elimination step Eli comprises a sub-step El l 1 for determining a mode representing a category.
  • the representative may for example be the median or the average.
  • the angular predictors are therefore ordered, and have a number that designates them.
  • the average therefore designates the central angle of the category.
  • the prediction mode representing a category is an additional prediction mode, in the sense that it is not part of the set of initial prediction modes. It can be obtained for example by calculating an average this time on the predictors themselves, that is to say the value of the pixels used to make the prediction, or any other function of these values.
  • the vertical mode is chosen as the RV representative for the CV category and the horizontal mode as the HR representative for the CH category.
  • Step E1 further comprises a sub-step E112 for eliminating the representative according to an elimination criterion.
  • the representative is tested, eliminated or not based on at least one predictor elimination criterion.
  • Step E113 is to eliminate the entire category once its representative has been eliminated. According to a variant illustrated in FIG. 2, no representative is designated, but the modes of predicting a category during a substep E114 are examined one by one and eliminated by a standard elimination criterion. fashion.
  • CA3 to CA3 categories are heterogeneous. There is no representative for these categories.
  • the modes are reviewed individually to decide on their eventual elimination.
  • the criterion for eliminating the mode corresponds for example to the following rule: "An is eliminated if the blocks of its neighborhood have not selected mode An, An-1 or An + 1.”
  • the category is eliminated if the rate of the modes eliminated in the category is higher than a predetermined threshold TH.
  • a category is eliminated globally if the grouping criterion CR used to constitute it is incompatible with at least one physical characteristic of the content of the neighboring blocks already processed.
  • the CSC category of FIG. 4C groups together prediction modes that have a high probability of being used for blocks derived from depth images or including non-natural content, for example of the computer screen type (for "Screen content” in English) or including overlay (in English). However, it is not adapted to the current block belonging to an area of the image for which an analysis of the neighboring blocks already processed indicates that the content has marked angular characteristics as well as textured areas.
  • the CSC category is then eliminated with all its prediction modes.
  • the elimination of the category C1 implies that the second category C2 contains only two prediction modes.
  • Step E10 therefore consists in reading information representative of these categories in order to access the prediction modes, which are for example stored in a memory accessible to the coder.
  • the category C1 includes the prediction modes DMM, IBC, H (A10), H1 (A9), H + 1 (A1), V (A26) ), Vl (A25), V + 1 (A27);
  • the category C2i comprises the angular prediction modes A34 ... A27;
  • the category C3i comprises the modes of angular prediction A25 ... Ai l;
  • the category C4i comprises the angular prediction modes A9 ... A2;
  • category C5i includes DC, H, V, PL.
  • the non-eliminated categories are updated by removing the prediction modes they have in common with the eliminated categories. This leads us to suppress the A 1 (H + 1), A 25 (V-1), A 26 (V) and A 27 (V + 1) angular modes of category 1.
  • the updated categories are as follows.
  • Category C5i DC, H, V, PL
  • the encoder selects a prediction mode is conventionally selected from the remaining 15. Conventionally, this choice is made on the basis of a rate-distortion or RDO (for Rate Distorsion O in English) which leads to retain the mode that optimizes the bit rate and coding quality.
  • RDO Rate Distorsion O in English
  • the selected mode is indicated in the bit stream. This mode is then reported.
  • the selected prediction mode There are several known ways of signaling the selected prediction mode. According to a first option, it is indexed with respect to the 15 modes and its index is signaled. According to a second option, the category to which it belongs belongs among the remaining three, then its position or index in the category.
  • the category Cl "groups prediction modes that are supposed to be relevant for predicting blocks comprising artificial content of the inlay or screen content type.
  • an elimination criterion based on a structural analysis of the already treated neighborhood of the current block is used. For example, contour detection is carried out by Sobel type filtering, and the directions of these contours are determined, as described in chapters 4 and 5 of AK Jain's book entitled “Fundamentals of Digital Image Processing”. published by Prentice Hall in 1989. If neighboring blocks do not appear to include content of the types in this category, it is eliminated.
  • a first default category CI 2 is set , which contains the prediction modes DC, H, V, PL.
  • Step E10 comprises the dynamic creation E103 of three categories. To do this, she uses a machine learning technique (ML) in E102. The three categories are created taking into account the probability of occurrence of each mode.
  • ML machine learning technique
  • Categories can be, for example:
  • Cl 2 category DC, H, V, PL;
  • Category C2 2 A2 A8 A9;
  • the categories are heterogeneous. We do not define a representative.
  • a first criterion of elimination of the mode is expressed for example in the form of the following rule: An will be eliminated if the blocks of its neighborhood did not select mode An, An-1 or An + 1.
  • a second criterion of elimination of the whole category then applies, if for example 50% of the modes of the category are eliminated by the first criterion. In this case, all the modes of the category are eliminated. In E12, the eliminated modes are removed from the remaining categories.
  • FIG. 6 shows the steps of the method of coding an image sequence Ii,, to be encoded in the form of a stream of coded data STR according to a particular embodiment of the invention.
  • a coding method is implemented by a coding device as described with reference to FIG. 8.
  • An image sequence Ii, I2, to be coded is provided as input to the coding method.
  • the coding method outputs a stream of coded STR or bit stream data, representative of the image sequence provided as input.
  • the coding of the image sequence Ii, I2 is done image by image according to a coding order previously established and known to the decoder.
  • the images may be coded in the time order I1, I2, or in another order, for example I1, I2.
  • an image Ik to be coded of the image sequence I1, I2 is cut into blocks of maximum size.
  • Each block of maximum size can be cut into smaller blocks.
  • a block of maximum size is 32x32 pixels in size.
  • Such a block of maximum size can be subdivided into square or rectangular sub-blocks, for example of size 16x16, 8x8, 4x4, 16x8, 8x16, ....
  • a block b c to code an image Ik is selected according to a direction of travel of the predetermined image Ik.
  • step E10 At least two types of prediction modes for coding the current block B c is obtained.
  • step Eli categories are eliminated according to at least one elimination criterion and in E12, the categories that are not eliminated are updated by eliminating the modes common to the eliminated categories.
  • step E13 a prediction mode for coding the current block b c is selected from the prediction modes of the updated categories, for example the prediction mode providing the best rate / distortion compromise for the current block is selected. .
  • information identifying the selected prediction mode is encoded in a stream of coded data STR for the current block b c .
  • information is encoded in the stream as an idx index encoded by a fixed or variable length code.
  • code information representative of the category to which the prediction mode selected and information representative of a position of the prediction mode in this category.
  • the encoder can advantageously choose the codes to signal the prediction mode selected according to the number of modes of predicting the updated categories rather than the number of prediction modes of the initial set. Signage is therefore made less expensive.
  • a prediction residue RES is calculated from the current block b c and the predictor block P associated with the prediction mode selected during the step E13.
  • the prediction residue RES is obtained by the difference between the current block to be coded b c and the predictor block P.
  • the prediction residue RES is then transformed, for example by a DCT transform, and quantized. Quantified transformed residual coefficients are then obtained.
  • a step E17 the quantized transformed residual coefficients are then coded by an entropy coding module, for example a CABAC coder, described in D. Marpe, H. Schwarz and T. Wiegand, "Context-based adaptive binary arithmetic". coding in the standard video compression H.264 / AVC "IEEE Transactions on Circuits and Systems for Video Technology (Volume: 13, Issue: 7), pages 620 - 636, July 2003, in the form of an STR encoded data stream .
  • a prediction residue RES ' is reconstructed by applying to the quantized transformed coefficients inverse quantization and inverse transformation.
  • a block of pixels REC is reconstructed by adding the reconstructed prediction residue RES 'to the predictor block P associated with the prediction mode selected in the step E13.
  • an image Ik rec is reconstructed from the reconstructed blocks REC of the image and saved in a list of reference images to be used later as a reference when encoding subsequent images of the image sequence.
  • FIG. 7 presents steps of a method of decoding a STR stream of coded data representative of an image sequence Ii,, I N to be decoded according to a particular embodiment of the invention.
  • the data stream STR has been generated via the coding method presented in connection with FIG. 1.
  • the data stream STR is provided at the input of a decoding device DEC, as described in connection with FIG. 9.
  • the decoding method decodes the image-by-image flow. For each image to be decoded, the decoding method proceeds to decode the block-by-block image.
  • an image Ik to be decoded from the image sequence Ii,, IN is cut into blocks of maximum size.
  • Each block of maximum size can be cut into smaller blocks.
  • a block of maximum size is 32x32 pixels in size.
  • Such a block of maximum size can be subdivided into square or rectangular sub-blocks, for example of size 16x16, 8x8, 4x4, 16x8, 8x16, ....
  • a block b c to be decoded of an image I k is selected according to a direction of travel of the predetermined image I k .
  • steps E10 to E12 are performed according to a particular embodiment identical to the embodiment used during the encoding of the data stream STR. They comprise a set of sub-steps that have been described above according to various embodiments of the invention in relation with FIGS. 1 and 2.
  • the data of the data stream STR corresponding to the block b c is decoded by an entropy decoding module to provide, on the one hand, syntax elements relating to the coding mode (or prediction mode) of the block current b c and secondly a group of prediction residual coefficients of the current block b c .
  • the decoded syntax elements include in particular prediction mode information identifying for the current block b c a prediction mode among the prediction modes of the categories of prediction modes updated according to the invention. For example, if we assume that the updated categories are ordered, as well as the prediction modes that constitute them, such information is encoded in the stream as an idx index of the ordered list formed by the modes of prediction remaining.
  • the prediction mode information is encoded as a category identifier and an idx position index in the identified category.
  • a step D21 the prediction residual coefficients of the block b c undergo inverse quantization, then an inverse transformation to deliver a decoded prediction residue RES '.
  • the current block b c is reconstructed from the predictor block P associated with the decoded prediction mode and the prediction residue RES 'associated with the current block b c which has been decoded from the coded data stream STR.
  • the predictor block P has been calculated previously in step E10.
  • a REC reconstructed block for the current block B c is obtained by adding the predictor P block prediction residual decoded RES.
  • step D23 it is checked whether all the blocks of the image to be decoded have been decoded and reconstructed. In the negative case, the decoding method resumes in step E10 by proceeding to the next block according to a predetermined path of the image to be decoded.
  • an image Ik rec is reconstructed from the reconstructed blocks REC and saved in a list of reference images for later use as a reference when decoding subsequent images of the image sequence.
  • the encoding and decoding methods described above can be integrated into standard video encoders / decoders such as H.266, HEVC / H .265, AVC / H.264 or any type of proprietary video encoders / decoders.
  • the coding and decoding methods according to the invention also apply to all types of coders / decoders of still images and more generally of signals using predictive coding using several prediction modes available.
  • the coding and decoding methods have been previously described in the case of spatial block coding (intra coding). These methods are easily applicable to the case of coding a block according to other types of coding modes, inter, for example.
  • the list of prediction modes constructed can thus comprise different types of coding modes (intra, inter, inter-layers, etc.). ⁇ 7.9 Coding device
  • FIG. 8 shows the simplified structure of a coding device 100 adapted to implement the coding method according to any one of the particular embodiments of the invention.
  • the coding device 100 is adapted to encode at least one image in the form of a coded data stream, said image being divided into blocks, at least two prediction modes being available for predicting a block of said image, said current block .
  • the coding device 100 is notably configured to: obtain at least two categories of prediction modes from a set of prediction modes available to predict said current block, a predictor block associated with the available prediction mode, eliminate at least one category by function of at least one criterion of elimination,
  • the steps of the coding method are implemented by computer program instructions.
  • the coding device 100 has the conventional architecture of a computer and notably comprises a memory MEM, a processing unit UT, equipped for example with a microprocessor PROC, and controlled by the computer program PG stored in MEM memory.
  • the computer program PG includes instructions for implementing the steps of the encoding method as described above, when the program is executed by the processor PROC.
  • the code instructions of the computer program PG are for example loaded into a RAM before being executed by the processor PROC.
  • the processor PROC of the processing unit UT implements in particular the steps of the coding method described above, according to the instructions of the computer program PG.
  • the coding method is implemented by functional modules.
  • the coding device COD furthermore comprises:
  • an OBT obtaining module for obtaining at least two categories of prediction modes from a set of prediction modes available for predicting said current block, a predictor block associated with the available prediction mode, an elimination module ELIM for eliminating at least one category based on at least one elimination criterion,
  • Update to update the categories not eliminated, by deleting the prediction modes common with the eliminated categories
  • a selection module SEL for selecting among the updated categories a prediction mode for coding the current block
  • a coding module COD for coding in the data stream, information identifying for said current block said prediction mode selected in the updated categories.
  • the processing unit UT cooperates with the various functional modules described above and the memory MEM in order to implement the steps of the coding method.
  • the various functional modules described above can be in hardware and / or software form.
  • a functional module may include a processor, a memory, and program code instructions for implementing the function corresponding to the module when the code instructions are executed by the processor.
  • a functional module can be implemented by any type of suitable encoding circuits, such as, for example and without limitation microprocessors, signal processing processors (DSP for Digital Signal Processor). , application-specific integrated circuits (ASICs for Application Specifies Integrated Circuit in English), FPGAs for Field Programmable Gate Arrays in English, logic unit wiring.
  • such a device 100 can be integrated with a user terminal equipment ET.
  • the device 100 is then arranged to cooperate at least with the following module of the terminal AND: a memory MEM 1 in which are stored in particular the categories of prediction modes; a data transmission / reception module E / R1, through which the encoded data stream STR is transmitted in a telecommunications network, for example a wired network or a radio network to one or more decoders.
  • FIG. 9 shows the simplified structure of a decoding device 200 adapted to implement the decoding method according to any one of the particular embodiments of the invention.
  • the decoding device 200 is adapted to decode an encoded data stream representative of at least one image, said image being divided into blocks, at least two prediction modes being available for predicting a block, called current block, of the image .
  • the decoding device 200 is notably configured for:
  • the decoding device 200 has the conventional architecture of a computer and notably comprises a memory MEMO, a processing unit UT0, equipped for example with a microprocessor PROCO, and driven by the PGO computer program stored in MEMO memory.
  • the PGO computer program includes instructions for implementing the steps of the decoding method as described above, when the program is executed by the PROCO processor.
  • the code instructions of the computer program PGO are for example loaded into a RAM before being executed by the processor PROCO.
  • the PROCO processor of the processing unit UTO implements in particular the steps of the decoding method described above, according to the instructions of the computer program PGO.
  • the decoding method is implemented by functional modules.
  • the decoding device 200 further comprises:
  • an OBT0 obtaining module for obtaining at least two categories of prediction modes from a set of prediction modes available for predicting said current block, a predictor block associated with the available prediction mode,
  • an elimination module ELIM0 for eliminating at least one category according to at least one elimination criterion
  • a update module MAJ0 for updating the categories that have not been eliminated, by deleting the prediction modes that are common with the eliminated categories
  • a decoding module DC for decoding from the coded data stream, information identifying for said current block, a prediction mode among the updated categories,
  • an RC reconstruction module for reconstructing said current block from the predictor block associated with said identified prediction mode.
  • the processing unit UTO cooperates with the various functional modules described above and the memory MEMO in order to implement the steps of the decoding method.
  • Such a functional module may include a processor, memory, and program code instructions for implementing the function corresponding to the module when the code instructions are executed by the processor.
  • a functional module can implemented by any type of suitable encoding circuits, such as for example and without limitation microprocessors, signal processing processors (DSP for Digital Signal Processor in English), circuits application-specific embedded systems (ASICs for Application Specifies Integrated Circuit in English), FPGAs for Field Programmable Gate Arrays in English, logical unit wiring.
  • such a device 200 can be integrated with an ET terminal equipment.
  • the device 200 is then arranged to cooperate at least with the following module of the terminal AND: a memory MEM2 in which are stored in particular the categories of prediction modes; a data transmission / reception module E / R2, via which the bitstream STR is received from a telecommunications network, for example a wired network or a radio network from an encoder.
  • a telecommunications network for example a wired network or a radio network from an encoder.

Landscapes

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

Abstract

L'invention concerne un procédé de décodage d'un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes: - Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble; - Élimination (E11) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé; - Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée; - Décodage (D20) à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.

Description

PROCÉDÉ DE CODAGE INTRA D'UNE IMAGE NUMÉRIQUE ET
PROCÉDÉ DE DÉCODAGE CORRESPONDANT
1. Domaine de l'invention
Le domaine de l'invention est celui du codage et du décodage d'images ou de séquences d'images, et notamment de flux vidéo.
Plus précisément, l'invention concerne la compression d'images ou de séquences d'images utilisant une représentation par blocs des images.
L'invention peut notamment s'appliquer au codage image ou vidéo mis en œuvre dans les codeurs actuels (JPEG, MPEG, H.264, HEVC, etc et leurs amendements) ou à venir, et au décodage correspondant.
2. Présentation de l'art antérieur
Les images et séquences d'images numériques occupent beaucoup d'espace en termes de mémoire, ce qui nécessite, lorsque l'on transmet ces images, de les compresser afin d'éviter les problèmes d'encombrement sur le réseau utilisé pour cette transmission. En effet, le débit utilisable sur ce réseau est généralement limité.
On connaît déjà de nombreuses techniques de compression de données vidéo. Parmi celles- ci, le standard de compression HEVC ("High Efficiency Video Coding, Coding Tools and Spécification", Matthias Wien, Signais and Communication Technology, 2015) propose de mettre en œuvre une prédiction de pixels d'une image courante par rapport à d'autres pixels appartenant à la même image (prédiction intra) ou à une image précédente ou suivante (prédiction inter).
Plus précisément, la prédiction intra exploite les redondances spatiales au sein d'une image. Pour ce faire, les images sont découpées en blocs de pixels. Les blocs de pixels sont alors prédits à l'aide d'informations déjà reconstruites, correspondant aux blocs précédemment codés/décodés dans l'image courante selon l'ordre de parcours des blocs dans l'image.
Par ailleurs, de manière classique, le codage d'un bloc courant est réalisé à l'aide d'une prédiction du bloc courant, dit bloc prédit, et d'un résidu de prédiction ou « bloc résiduel », correspondant à une différence entre le bloc courant et le bloc prédit. Le bloc résiduel obtenu est alors transformé, par exemple en utilisant une transformée de type DCT (transformée en cosinus discrète). Les coefficients du bloc résiduel transformé sont ensuite quantifiés, puis codés par un codage entropique et transmis au décodeur, qui peut reconstruire le bloc courant en ajoutant ce bloc résiduel au bloc prédit.
Le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour chaque bloc, les éléments correspondants du flux sont lus. La quantification inverse et la transformation inverse des coefficients du bloc résiduel sont effectuées. Puis, la prédiction du bloc est calculée pour obtenir le bloc prédit et le bloc courant est reconstruit en ajoutant la prédiction (le bloc prédit) au bloc résiduel décodé.
Dans le standard HEVC, il est possible d'effectuer une prédiction intra d'un bloc courant selon 35 modes de prédiction intra. Pour coder le mode de prédiction intra sélectionné pour prédire un bloc courant, le standard HEVC définit deux listes de modes de prédiction : - une première liste dite liste MPM (pour « Most Probable Mode », en anglais) comprenant les 3 modes de prédiction intra les plus probables pour le bloc courant, une telle liste MPM est définie à partir des modes de prédiction préalablement sélectionnés lors du codage des blocs voisins du bloc courant,
- une deuxième liste dite liste non-MPM comprenant les 32 autres modes de prédiction intra restants, i.e. les modes de prédiction intra non compris dans la liste MPM .
Un index est transmis au décodeur pour indiquer quelle liste MPM ou non-MPM est utilisée pour prédire le bloc courant. Lorsque le bloc courant est codé par un mode de prédiction intra de la liste MPM, l'index du mode de prédiction sélectionné dans la liste MPM est transmis au décodeur par un codage entropique. Lorsque le bloc courant est codé par un mode de prédiction intra de la liste non-MPM, l'index du mode de prédiction intra sélectionné dans la liste non-MPM est codé par un code de longueur fixe sur 5 bits.
La liste non-MPM comprend un grand nombre de modes de prédiction intra, le coût de codage d'un index d'un mode de prédiction de cette liste est donc élevé.
Le document "Novel Adaptive Algorithm for Intra Prédiction with Compromised Modes Skipping and Signaling Processes in HEVC", L-L. Wang, W-C Siu, IEEE, 2013, décrit une méthode de codage permettant de réduire le nombre de modes de prédiction intra utilisé pour prédire un bloc courant afin d'u ne part de réduire le coût de signalisation d'un mode de prédiction intra et d'autre part de réduire la complexité de sélection d'un mode de prédiction. Une telle méthode crée trois catégories à partir des 35 modes de prédiction intra disponibles, une première comprenant un mode, une deuxième comprenant 19 modes et une troisième comprenant les 35 modes. Elle choisit pour chaque bloc courant la catégorie adaptée en fonction de la valeur de la variance des pixels de référence du bloc courant. Les pixels de référence du bloc courant correspondent aux pixels de la ligne située au-dessus du bloc courant et de la colonne située à droite du bloc courant. Un bloc courant est ensuite prédit par un des modes de prédiction de la liste. Dans la catégorie sélectionnée, le meilleur mode de prédiction est choisi en fonction d'un critère débit-distorsion. Il est signalé à l'aide d'une information identifiant la catégorie, puis le mode dans cette catégorie.
Une telle méthode permet de réduire le temps de calcul de la prédiction d'un bloc courant, car dans certains cas tous les modes de prédictions intra ne sont pas testés. Elle peut aussi permettre dans certains cas de réduire le débit. En effet, si la catégorie choisie est celle qui n'a qu'un prédicteur, il n'y a rien à signaler.
3. Inconvénients de l'art antérieur
Quand la deuxième ou la troisième catégorie est choisie, le débit n'est pas réduit, du fait que la signalisation est prévue sur la base de l'ensemble de modes de prédiction initialement disponibles.
4. Objectifs de l'invention L'invention vient améliorer la situation.
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de proposer une solution qui contribue à diminuer le coût de signalisation d'un mode de prédiction sélectionné pour un bloc courant parmi une pluralité de modes candidats, sans nuire à la qualité de la prédiction. 5. Exposé de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de décodage d'un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes : - Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble ;
Elimination d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
Mise à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; Décodage à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
Avec l'invention, le décodeur élimine les catégories de modes de prédiction non adaptées au bloc courant et il supprime des catégories restantes les modes de prédiction communs avec les catégories éliminées. Il utilise sa connaissance des catégories non éliminées et mises à jour pour interpréter dans le flux de données les données codées signalant le mode de prédiction choisi par l'encodeur pour le bloc courant.
Contrairement à l'art antérieur, qui signale le mode de prédiction sélectionné sur la base des catégories initiales, la signalisation du mode de prédiction sélectionné pour le bloc courant est spécifique et adaptée aux catégories de modes de prédiction mises à jour. Ainsi, le coût de la signalisation du mode de prédiction est optimisé.
L'invention concerne aussi un procédé de codage d'une image sous la forme d'un flux de données codées, ladite image étant divisée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes : - Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble ;
Elimination d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
Mise à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
- Sélection d'un mode de prédiction dans une des catégories mises à jour ; et
Codage en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insertion de l'information codées dans le flux de données codées.
Les différents modes ou caractéristiques de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux caractéristiques du procédé de décodage et/ou du procédé de codage défini ci-dessus.
Selon un aspect de l'invention, l'étape d'obtention comprend la lecture d'informations d'identification desdites catégories dans une mémoire.
Les catégories de modes de prédiction sont prédéterminées. Un avantage est la simplicité de mise en œuvre et des besoins limités en ressources de calcul . Selon un autre aspect de l'invention, l'étape d'obtention comprend une analyse d'au moins une caractéristique d'un contenu de blocs déjà traités et une création des catégories à partir d'au moins un critère de regroupement des modes de prédiction et en fonction de la au moins une caractéristique analysée.
Les catégories sont créées dynamiquement, en fonction du contenu déjà traité. Un avantage est que les catégories obtenues sont adaptées au contenu de l'image.
Selon un autre aspect de l'invention, le procédé comprend, pour une catégorie obtenue, une étape de détermination d'un mode de prédiction représentant cette catégorie et l'étape d'élimination de la catégorie comprend une élimination du mode de prédiction représentant, l'élimination de la catégorie étant déclenchée par l'élimination du mode de prédiction le représentant.
Un avantage est qu'on élimine la catégorie tout entière en une seule opération.
Selon encore un autre aspect de l'invention, pour une catégorie obtenue, l'étape d'élimination de la catégorie comprend l'élimination successive de ses modes de prédiction, la comparaison du nombre de modes de prédiction éliminés dans la catégorie à un seuil prédéterminé, l'élimination de la catégorie étant déclenchée lorsque le nombre de modes éliminés est supérieur au seuil .
Un avantage est qu'on teste individuellement les modes de la catégorie avant de prendre une décision d'élimination.
Selon un autre aspect de l'invention, le procédé comprend, pour une catégorie obtenue, ladite catégorie étant associée à un critère de regroupement de modes de prédiction, une étape d'analyse du contenu des blocs voisins déjà traités destinée à fournir une caractéristique du contenu et l'étape d'élimination élimine la catégorie lorsque la caractéristique et le critère de regroupement sont incompatibles entre eux.
Un avantage est qu'on élimine la catégorie tout entière dès lors qu'on peut établir qu'elle n'est pas adaptée au contenu à traiter.
L'invention concerne également un dispositif de décodage adapté pour mettre en œuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce dispositif de décodage pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de décodage sont les mêmes que ceux du procédé de décodage, et ne sont pas détaillés plus amplement.
Selon un mode particulier de réalisation de l'invention, un tel dispositif de décodage est compris dans un terminal . L'invention concerne également un dispositif de codage adapté pour mettre en œuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce dispositif de codage pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de codage sont les mêmes que ceux du procédé de codage, et ne sont pas détaillés plus amplement.
Selon un mode particulier de réalisation de l'invention, un tel dispositif de codage est compris dans un terminal ou un serveur. Un tel équipement terminal ou serveur peut comprendre un dispositif de codage et un dispositif de décodage selon l'invention.
Le procédé de décodage, respectivement le procédé de codage selon l'invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
Selon un mode particulier de réalisation de l'invention, le procédé de décodage, respectivement le procédé de codage, est mis en œuvre par un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes d'un procédé tel que décrit précédemment, lorsque ce programme est exécuté par un processeur.
Ces programmes peuvent utiliser n'importe quel langage de programmation. Ils peuvent être téléchargés depuis un réseau de communication et/ou enregistrés sur un support lisible par ordinateur.
L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, intégrés ou non au dispositif de codage d'une image numérique et au dispositif de décodage d'une image numérique selon l'invention, éventuellement amovible, mémorisant respectivement un programme d'ordinateur mettant en œuvre un procédé de codage et un programme d'ordinateur mettant en œuvre un procédé de décodage, tels que décrits précédemment.
6. Liste des figures
D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente de façon schématique les étapes d'obtention, d'élimination et de mise à jour des catégories de modes de prédiction selon un premier mode de réalisation de l'invention ; la figure 2 présente de façon schématique les étapes d'obtention, d'élimination et de mise à jour des catégories de modes de prédiction selon un premier mode de réalisation de l'invention ; la figure 3 présente de façon schématique des catégories de modes de prédiction comprenant des modes communs ; les figures 4A à 4G illustrent des exemples de catégories de modes de prédiction mis en œuvre par l'invention ; la figure 5 illustre un exemple de catégories mises en œuvre dans un mode de réalisation de l'invention ; la figure 6 présente de façon schématique les étapes d'un procédé de codage d'une image selon l'invention ; la figure 7 illustre de façon schématique les étapes d'un procédé de décodage d'une image selon l'invention ; la figure 8 présente de façon schématique un exemple de structure matérielle d'un dispositif de codage selon l'invention ; et la figure 9 présente de façon schématique un exemple de structure matérielle d'un dispositif de décodage selon l'invention.
7. Description d'un mode de réalisation particulier de l'invention
7.1 Principe général
L'invention vise à améliorer le coût de la signalisation d'un mode de prédiction utilisé pour prédire un bloc de pixels d'une image à coder.
Les standards de compression actuels proposent un grand nombre de modes de prédiction pour coder un bloc afin de fournir une prédiction la plus proche possible des pixels du bloc à coder. Ainsi, le résidu de prédiction quantifié est faible, voire nul, ce qui permet de réduire le coût de codage du résidu de prédiction. Cependant, le coût de la signalisation d'un mode de prédiction augmente avec le nombre de modes de prédiction possibles.
Or, il apparaît possible de regrouper les modes de prédiction en catégories sur la base d'une ou plusieurs caractéristiques du contenu de l'image qu'ils ont en commun et de prévoir le fait que les modes de prédiction d'une même catégorie ne soient pas adaptés pour prédire le bloc courant. Le principe général de l'invention repose sur l'établissement de catégories de modes de prédiction dans l'ensemble initial des modes de prédiction en compétition pour le codage ou le décodage d'un bloc courant d'une image numérique et sur l'élimination de catégories entières. Les modes d'une catégorie non éliminée et communs à des catégories éliminées sont supprimés. Ce principe s'applique au codeur comme au décodeur.
De cette manière, le nombre de modes de prédiction disponibles pour le codage d'un bloc est réduit et, du fait que le décodeur sait construire à l'identique les mêmes catégories, la signalisation peut se faire sur la base du nombre réduit de modes disponibles pour la prédiction du bloc courant.
L'invention est ici décrite dans le cadre d'une application aux modes de prédiction intra définis dans le standard HEVC. L'invention s'applique aisément à d'autres standards de compression et d'autres modes de prédiction.
On rappelle que le standard HEVC définit 35 modes de prédiction intra :
- un mode PLANAR (mode 0), ce mode consiste à interpoler de façon linéaire les pixels du bloc prédicteur (ou bloc prédit) à partir des pixels de référence; les pixels de référence étant construits à partir des blocs voisins précédemment reconstruits,
- un mode DC (mode 1), ce mode consiste à affecter aux pixels du bloc prédicteur la même valeur correspondant à une moyenne des pixels de référence,
- 33 modes angulaires A2-A34 illustrés par la figure 4A. De tels modes forment un bloc prédicteur par la prolongation des pixels de référence du bloc courant dans l'une des 33 directions associées. En relation avec la Figure 1, on décrit les étapes d'obtention E10 de catégories, d'élimination El i de catégories et de mise à jour E12 de catégories selon l'invention, mises en œuvre dans le procédé de codage selon l'invention décrit en relation avec la figure 6 et dans le procédé de décodage selon l'invention décrit en relation avec la figure 7.
7.2 Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble initial
Au cours de l'étape E10, le codeur ou le décodeur obtiennent des catégories de modes de prédiction formées à partir de l'ensemble initial de modes de prédiction disponibles. Comme illustré par la figure 3, les catégories peuvent avoir des modes de prédiction communs. Ces catégories ont été formées à l'aide d'un ou plusieurs critères de regroupement CR des modes de prédiction. Un critère de regroupement est avantageusement associé à une valeur ou une plage de valeurs d'une caractéristique du contenu d'un bloc. Autrement dit, les modes de prédiction sont regroupés sur la base d'au moins une caractéristique commune, de façon à ce que les modes de prédiction d'une même catégorie puissent être considérés comme les plus adaptés à prédire un bloc présentant la valeur de caractéristique qui leur est associée.
Des catégories peuvent avoir été constituées dans une phase préalable au codage et au décodage et être figées. Dans ce cas, l'étape E10 d'obtention de catégories comprend une sous-étape E101 de lecture d'une information représentative de ces catégories dans une mémoire MEM, MEMO. Par exemple, cette information est un mot qui concatène les identifiants des catégories et un identifiant de catégorie est associé à un espace mémoire stockant les identifiants des modes de prédiction qu'elle contient.
En l'absence d'analyse de caractéristique du contenu de l'image déjà traité, le codeur et par symétrie le décodeur, obtiennent systématiquement les catégories prédéterminées correspondant à un premier profil de catégorisation associé par exemple à un profil de codage.
Lorsqu'il dispose des résultats d'une analyse du contenu des blocs déjà traités, qui lui fournit au fil de l'eau des caractéristiques du contenu de l'image, le codeur et par symétrie le décodeur peuvent créer dynamiquement des catégories à l'aide de critères de regroupement associés à des valeurs particulières ou à des plages de valeurs des caractéristiques issues de cette analyse.
Dans ce cas, l'étape E10 comprend une sous-étape E102 d'obtention de caractéristiques CC du contenu des blocs déjà traités et u ne sous-étape E103 de création d'au moins une catégorie sur la base d'au moins un critère de regroupement CR fonction d'au moins une de ces caractéristiques.
On comprend que l'étape E10 peut mettre en œuvre la sous-étape E101 seule, les sous-étapes E102, E103 seules, ou bien toutes les sous-étapes, les catégories constituées dynamiquement venant compléter celle préalablement créées.
Par exemple, les modes de prédiction sont regroupés selon un critère associé à une caractéristique physique du contenu de l'image. En relation avec la figure 4B, la caractéristique physique considérée est l'orientation du mode de prédiction et les modes de prédiction présentant des orientations proches les unes des autres sont regroupés dans une première catégorie CV, dite verticale, comprenant le mode angulaire vertical A26 (V) et ses voisins et une deuxième catégorie CH, dite horizontale, comprenant le mode angulaire horizontal A10 (H) et ses voisins. Ces catégories sont pertinentes pour prédire un bloc d'une image présente des directions franches, qui sont plutôt horizontales pour la catégorie CH ou plutôt verticales pour la catégorie CV. C'est le cas par exemple d'une image représentant une scène urbaine avec de hauts immeubles.
Avantageusement, pour un bloc courant, l'étape d'élimination El i éliminera une des deux catégories sur la base d'un critère d'élimination basé sur une orientation principale du bloc.
On considère en relation avec la figure 4C, un autre exemple de caractéristique physique prise en compte pour la création d'une catégorie. On suppose que le codeur a détecté dans le contenu la présence de contours francs et contrastés par rapport au fond, souvent dans les directions horizontales ou verticales, séparées par des zones très homogènes, ce qui correspond à une incrustation de texte ou de logo sur une scène réelle. Le contenu de l'image en cours de codage comprend donc une superposition d'éléments virtuels sur une scène réelle. Il crée une première catégorie regroupant des modes adaptés à ce type de scène dite « screen content » . Par exemple, dans cette catégorie CSC, il inclut les modes DMM (pour « Depth Modeling Mode », en anglais), IBC (pour « Intra Block Copy », en anglais), le mode angulaire horizontal A10 (H), le mode angulaire vertical A26 (V). Il crée une deuxième catégorie CA comprenant l'ensemble des modes angulaires précédemment évoqués, dont le mode horizontal et le mode vertical.
En relation avec la figure 4D, le codeur obtient en E10 trois catégories à partir des modes de prédiction angulaires. La catégorie CA1 comprend les modes A26(V) et A10(H), la catégorie CA2 les modes A2, A6, A14, A22 et la catégorie CA3 tous les autres. La catégorie CA1 autorise très peu de finesse pour le codage d'une direction, la catégorie CA2 en permet un peu plus et la catégorie CA3 est la plus précise. On comprend que ces trois catégories permettent de s'adapter à la finesse requise pour représenter la direction du contenu d'un bloc.
Ces catégories ont été créées dans une phase préalable et sont figées. Elles n'ont pas de mode commun.
Une application privilégiée de cet ensemble de catégories est de l'utiliser comme un outil de codage mis en compétition avec d'autres. Cet ensemble de catégories sera donc choisi quand il donnera les meilleurs résultats, par exemple selon un critère débit-distorsion. On peut notamment s'attendre à ce qu'il fonctionne bien pour une image dont une zone donnée contiendrait des directions simples (verticales et horizontales), et dont une autre zone aurait des directions beaucoup plus fines (finesse dans les diagonales).
Selon un mode de réalisation de l'invention, la sous-étape E103 de création de catégories prend en compte un critère de regroupement basé sur une analyse statistique (E102) des modes de prédiction utilisés pour les blocs voisins déjà traités (contexte causal). Avantageusement, les modes les plus fréquemment utilisés sont placés dans u ne première catégorie. Une deuxième catégorie comprend tous les modes de l'ensemble initial.
Selon un autre mode de réalisation, illustré par la figure 4E, D'autres catégories sont créées dynamiquement par apprentissage, de type « Machine Learning » sur les modes prédits pour des blocs déjà traités de l'image courante, par rapport à des descripteurs causaux, de préférence les plus probables. La technique de « machine learning » ou ML, connue de l'homme de métier et par exemple décrite dans l'ouvrage intitulé « Machine Learning », par Tom Mitchell, publié par McGraw Hill en 1997.
Cette technique permet, suite à une phase d'apprentissage, d'émettre des probabilités concernant la sélection des modes pour la zone courante. Le ML est un procédé connu, complexe, que nous ne détaillons pas. On peut donc imaginer de créer 3 autres catégories, en fonction du degré de probabilité d'apparition de chaque mode. Par exemple, on peut comparer les probabilités d'apparition obtenues à un ou plusieurs seuils et regrouper dans une première catégorie ceux qui ont une probabilité d'apparition supérieur à un premier seuil, puis dans une deuxième catégorie ceux qui ont une probabilité d'apparition supérieure à un deuxième seuil inférieur au premier et dans une troisième catégorie ceux qui ont une probabilité d'apparition supérieure à un troisième seuil inférieur au deuxième.
On crée ainsi les catégories suivantes, telles que représentées en relation avec la figure 4E :
· Catégorie 1 Cl' : A2 A8 A9 A10 Ai l
• Catégorie 2 C2' : A10 A3 A4 Ai l A12 A16
• Catégorie 3 C3' : l'ensemble des autres modes angulaires An.
L'apprentissage est répété régulièrement, avec une fréquence qui peut varier. Par exemple, à chaque unité de codage (pour « coding unit », en anglais) ou à chaque image ou à chaque groupe d'images de type GoP (pour « Group of Pictures » en anglais).
Avantageusement, on ajoute à ces trois catégories créées dynamiquement, une première catégorie prédéterminée C0', dite par défaut, qui comprend les modes de prédiction DC, A10 (H), A26 (V) et PL. Cette catégorie est obtenue par le codeur et le décodeur en E10. Ceci permet de pallier une mauvaise prédiction issue de l'apprentissage ML. En relation avec les figures 4F et 4G, les catégories peuvent aussi être construites de manière hiéra rchique. Une structure quelconque d'arbre peut être adoptée (binaire, ternaire, irrégulier, etc). Cette structure simule une sorte de MPM par niveaux hiérarchiques.
Par exemple, on construit les catégories par dichotomie. On définit le mode horizontal A10 et le mode vertical A26 comme les deux modes les plus probables M PM l et MPM2. Ils forment la catégorie de premier niveau hiérarchique CH1. On dérive la deuxième catégorie hiérarchique CH2 en prenant leurs voisins à deux sauts MPM 1-2, MPM 1+2, MPM2-2 et M PM2-2. On crée la catégorie CH3 de niveau 3 en prenant les voisins à un saut des modes de la catégorie précédente : MPM 1-1, MPM 1 + 1, MPM2- 1, MPM2+ 1. La catégorie CH1 comprend peu de modes de prédiction et apporte une précision faible en termes de direction angulaire, alors que la catégorie CH3 offre une plus grande finesse d'orientation.
7.3 Elimination de catégories
L'invention couvre différentes manières d'éliminer une catégorie.
Selon un mode de réalisation de l'invention, décrit en relation avec la figure 1, l'étape Eli d'élimination comprend une sous-étape El l l de détermination d'un mode représentant une catégorie.
Dans le cas d'u n ensemble de modes angulaires, le représentant peut par exemple être le médian ou la moyenne. Les prédicteurs angulaires sont donc ordonnés, et ont un numéro qui les désigne. La moyenne désigne donc l'angle central de la catégorie. Selon une variante, le mode de prédiction représentant une catégorie est un mode de prédiction supplémentaire, au sens où il ne fait pas partie de l'ensemble de modes de prédictions initial. Il peut être par exemple obtenu en calculant une moyenne cette fois sur les prédicteurs eux-mêmes, c'est- à-dire la valeur des pixels utilisés pour faire la prédiction, ou toute autre fonction de ces valeurs. Par exemple, en relation avec la Figure 4B, on choisit le mode vertical comme représentant RV pour la catégorie CV et le mode horizontal comme représentant RH pour la catégorie CH.
L'étape Eli comprend en outre une sous-étape E112 d'élimination du représentant selon un critère d'élimination. Le représentant est testé, éliminé ou non en fonction d'au moins un critère d'élimination de prédicteurs.
L'étape E113 consiste à éliminer la catégorie tout entière dès lors que son représentant a été éliminé. Selon une variante illustrée par la figure 2, on ne désigne pas de représentant, mais on examine un par un les modes de prédiction d'une catégorie au cours d'une sous-étape E114 et on les élimine par un critère standard d'élimination de mode.
Dans l'exemple de la Figure 4E, les catégories CAO à CA3 sont hétérogènes. On ne définit donc pas de représentant pour ces catégories. Les modes sont passés en revue individuellement pour décider de leur élimination éventuelle. Le critère d'élimination du mode correspond par exemple à la règle suivante : « An est éliminé si les blocs de son voisinage n'ont pas sélectionné de mode An, An-1 ou An+ 1. » .
Par conséquent, un certain nombre de modes de chaque catégorie est supposé être éliminé. Un critère d'élimination de la catégorie entière s'applique alors, si par exemple 50% des modes de la catégorie sont supposés être éliminés. Dans ce cas, tous les modes de la catégorie sont éliminés. En particulier, ces mêmes modes disparaissent des autres catégories dans lesquelles ils sont présents.
Dans le cas inverse (moins de 50%), la catégorie est conservée, et tous les modes de la catégorie le sont aussi (même ceux supposés être éliminés).
En E115, la catégorie est éliminée si le taux des modes éliminés dans la catégorie est supérieur à un seuil prédéterminé TH .
Selon encore un autre mode de réalisation, une catégorie est éliminée globalement si le critère de regroupement CR qui a servi à la constituer est incompatible avec au moins une caractéristique physique du contenu des blocs voisins déjà traités. Par exemple, la catégorie CSC de la figure 4C regroupe des modes de prédiction qui ont une forte probabilité d'être utilisés pour des blocs issus d'images de profondeur ou comprenant du contenu non naturel par exemple de type écran d'ordinateur(pour « « screen content », en anglais) ou comprenant des incrustations (pour « overlay », en anglais). En revanche, elle n'est pas adaptée au bloc courant appartenant à une zone de l'image pour laquelle une analyse des blocs voisins déjà traités indique que le contenu présente des caractéristiques angulaires marquées ainsi que des zones texturées. La catégorie CSC est alors éliminée avec tous ses modes de prédiction.
On reprend maintenant l'exemple de la Figure 4D, qui représente des catégories CA1 à CA3 basées sur une caractéristique physique d'orientation du contenu du bloc courant. Lorsque l'analyse du contenu des blocs voisins déjà traités indique qu'on est dans une zone très homogène, alors une grande finesse angulaire n'est pas requise. On peut donc éliminer la catégorie CA3. De même si une technique de gradient par exemple de type Sobel appliquée aux blocs voisins déjà traités ne fait apparaitre aucune direction horizontale ou verticale nette, on peut éliminer la catégorie CAl dont le critère de regroupement des modes est incompatible avec le contenu à traiter.7.4 Mise à jour des catégories non éliminées On a vu que les catégories créées peuvent avoir des modes de prédiction communs.
On notera que, selon l'invention, si un mode de prédiction donné appartient à une première et à une deuxième catégorie, l'élimination de ce mode dans une première catégorie implique son élimination de la deuxième catégorie en E12.
En relation avec la figure 3, l'élimination de la catégorie Cl implique que la deuxième catégorie C2 ne contient plus que deux modes de prédiction.
7.5 Description d'un premier mode de mise en œuvre
Dans cet exemple, illustré par la Figure 5, les catégories de modes de prédiction sont prédéterminées. Autrement dit, leur création a été réalisée dans une phase préalable à l'encodage. L'étape E10 consiste donc à aller lire une information représentative de ces catégories en vue d'accéder aux modes de prédiction, qui sont par exemple stockés dans une mémoire accessible au codeur.
On considère cinq catégories qui sont constituées de la manière suivante, illustrée par la figure 5 : la catégorie Cli comprend les modes de prédiction DMM, IBC, H (A10), H-l (A9), H+ l (Ai l), V (A26), V-l (A25), V+ l (A27) ;
la catégorie C2i comprend les modes de prédiction angulaires A34 ... A27 ;
la catégorie C3i comprend les modes de prédiction angulaire A25 ... Ai l ;
la catégorie C4i comprend les modes de prédiction angulaires A9 ... A2 ;
la catégorie C5i comprend DC, H, V, PL.
On constate que certains modes de prédiction, comme certains modes angulaires sont communs à plusieurs catégories.
Ces catégories, déterminées à l'avance et figées, sont connues par le codeur et par le décodeur. Pour les catégories 2, 3 et 4, composées uniquement de modes angulaires, on détermine en T12 un représentant, qui correspond au mode angulaire médian de chacune d'entre elles. Par exemple, le médian de la catégorie C2" est le mode A30.5. On notera qu'il s'agit d'un mode angulaire supplémentaire, qui ne fait pas partie de la catégorie C2".
On ne détermine pas de représentant pour les autres catégories Cli et C5i, constituées de modes de prédiction de types hétérogènes. En El i, on cherche à éliminer un ou plusieurs catégories. Dans cet exemple de réalisation, la stratégie adoptée consiste à éliminer les modes de prédiction angulaires qui ont une forte probabilité d'être inutiles. On recourt à un critère d'élimination dit statistique, basé sur une analyse statistique des modes de prédiction utilisés par les blocs déjà traités dans un voisinage à la fois spatial et temporel.
Par exemple, pour les catégories C2i, C3i et C4i, on teste le représentant à l'aide d'un critère d'élimination qui s'exprime sous la forme de la règle suivante : « Le mode An est éliminé si aucun des blocs déjà traités de son voisinage n'a sélectionné un des modes du groupe comprenant An, An-
I et An + 1 ».
On suppose que ce critère conduit à l'élimination des représentants des catégories C2" et C3", donc à l'élimination de ces catégories.
En E12, on met à jour les catégories non éliminées en supprimant les modes de prédiction qu'elles ont en commun avec les catégories éliminées. Cela nous amène à su pprimer les modes angulaires Ai l (H + l), A25 (V-l), A26 (V) et A27 (V+l) de la catégorie 1.
Les catégories mises à jour sont les suivantes
- Catégorie Cli : DMM, IBC, H (A10), H-l (A9), V (A26) ;
Catégorie C4i : A9 ... A2 ; et
Catégorie C5i : DC, H, V, PL
On observe qu'il ne reste plus que 15 modes en tout contre 38 initialement.
On notera que dans cet exemple que seules les catégories C2i, C3i, C4i ont des représentants, et sont potentiellement éliminables. Ceci correspond à un cas concret où l'on souhaite éliminer le maximum de modes angulaires inutiles, sans toutefois éliminer les autres modes.
Le codeur choisit ensuite un mode de prédiction est choisi de manière classique parmi les 15 restants. Classiquement, ce choix est fait sur la base d'un critère débit-distorsion ou RDO (pour Rate Distorsion O en anglais) qui conduit à retenir le mode qui optimise le débit et la qualité de codage.
Le mode sélectionné est signalé dans le train binaire. Ce mode est ensuite signalé.
II existe plusieurs manières connues de signaler le mode de prédiction sélectionné. Selon une première option, il est indexé par rapport aux 15 modes et son index est signalé. Selon une deuxième option, on signale la catégorie à laquelle il appartient parmi les trois restantes, puis sa position ou index dans la catégorie.
7.3 Description d'un deuxième mode de mise en œuvre On considère les mêmes catégories prédéterminées que dans le premier mode de mise en œuvre.
La catégorie Cl" regroupe des modes de prédictions supposés pertinents pour prédire des blocs comprenant des contenus artificiels de type incrustation ou screen content.
Au cours de l'étape El i d'élimination de catégorie, on cherche à éliminer cette catégorie 1 lorsqu'elle n'est pas adaptée au contenu du bloc à traiter.
Pour cette catégorie, on utilise un critère d'élimination basé sur une analyse structurelle du voisinage déjà traité du bloc courant. Par exemple, on réalise une détection de contours, par filtrage de type Sobel, puis on détermine les directions de ces contours, comme décrit dans les chapitres 4 et 5 de l'ouvrage de AK Jain, intitulé « Fundamentals of Digital Image Processing », publié par Prentice Hall en 1989. Si les blocs voisins s'avèrent ne pas inclure de contenu des types visés par cette catégorie, elle est éliminée.
On remarque qu'un un fonctionnement similaire pourrait être appliqué à la catégorie C5", qui est quant à elle plus adaptée aux zones homogènes ou dégradés légers.
7.6 Description d'un troisième mode de mise en œuvre
Dans cet exemple (non illustré), on fige une première catégorie par défaut CI2, qui contient les modes de prédiction DC, H, V, PL.
L'étape E10 comprend la création E103 dynamique de trois catégories. Pour ce faire, elle met œuvre une technique de machine learning (ML) en E102. Les trois catégories sont créées en prenant en compte une probabilité d'apparition de chaque mode.
Les catégories peuvent être, par exemple :
Catégorie Cl2 : DC, H, V, PL ;
Catégorie C22 : A2 A8 A9 ;
- Catégorie C32 : A10 A3 A4 Ai l A12 A16 ;
Catégorie C42 : l'ensemble des autres An
Ainsi formées, les catégories sont hétérogènes. On ne définit donc pas de représentant.
En El i, on passe en revue chaque mode de chaque catégorie pour décider si ce mode doit être éliminé. Un premier critère d'élimination du mode s'exprime par exemple sous la forme de la règle suivante : An sera éliminé si les blocs de son voisinage n'ont pas sélectionné de mode An, An-1 ou An+ 1.
Un deuxième critère d'élimination de la catégorie entière s'applique ensuite, si par exemple 50% des modes de la catégorie sont éliminés par le premier critère. Dans ce cas, tous les modes de la catégorie sont éliminés. En E12, les modes éliminés sont supprimés des catégories restantes.
En particulier, ces mêmes modes disparaissent des autres catégories dans lesquelles ils sont présents.
Dans le cas inverse (moins de 50%), la catégorie est conservée, et l'ensemble des modes de la catégorie le sont aussi (même ceux supposés être éliminés).
Par exemple, si 50% des modes des catégories 4 et 2 sont éliminés, seuls les 3 modes de la catégorie 1 et les 6 modes de la catégorie 3 subsistent dans l'ensemble utilisable. Ceci permet de pallier une éventuelle mauvaise prédiction issue du ML. 7.7 Description d'un exemple de mise en œuvre d'un procédé de codage selon l'invention
La figure 6 présente les étapes du procédé de codage d'une séquence d'images Ii, , à coder sous la forme d'un flux de données codées STR selon un mode particulier de réalisation de l'invention. Par exemple, un tel procédé de codage est mis en œuvre par un dispositif de codage tel que décrit en relation avec la figure 8. Une séquence d'images Ii, I2, à coder est fournie en entrée du procédé de codage. Le procédé de codage délivre en sortie un flux de données codées STR ou train binaire, représentatif de la séquence d'images fournie en entrée.
De manière connue, le codage de la séquence d'images Ii, I2, est fait image par image selon un ordre de codage préalablement établi et connu du décodeur. Par exemple, les images peuvent être codées dans l'ordre temporel Ii, I2, OU selon un autre ordre, par exemple Ii, I2, Lors d'une étape E0, une image Ik à coder de la séquence d'images Ii, I2, est découpée en blocs de taille maximale. Chaque bloc de taille maximale pouvant être redécoupé en blocs plus petits. Par exemple, un bloc de taille maximal est de taille 32x32 pixels. Un tel bloc de taille maximal peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 16x16, 8x8, 4x4, 16x8, 8x16, .... Puis, lors de l'étape E0, un bloc bc à coder d'une image Ik est sélectionné selon un sens de parcours de l'image Ik prédéterminé.
Lors d'une étape E10, au moins deux catégories de modes de prédiction pour coder le bloc courant bc sont obtenues. Au cours de l'étape Eli, on élimine des catégories selon au moins un critère d'élimination et en E12, les catégories non éliminées sont mises à jour en supprimant les modes communs avec les catégories éliminées. Ces étapes ont été décrites ci-dessus selon différents modes de réalisation de réalisation de l'invention en relation avec les figures 4A à 4G. Lors d'une étape E13, un mode de prédiction pour coder le bloc courant bc est sélectionné parmi les modes de prédictions des catégories mises à jour, par exemple le mode de prédiction fournissant le meilleur compromis débit/distorsion pour le bloc courant est sélectionné.
Lors d'une étape E14, une information identifiant le mode de prédiction sélectionné est codée dans un flux de données codées STR pour le bloc courant bc. Par exemple, une telle information est codée dans le flux sous la forme d'un index idx codé par un code à longueur fixe ou variable.
Selon une variante, on code une information représentative de la catégorie à laquelle appartient le mode de prédiction sélectionné, puis une information représentative d'une position du mode de prédiction dans cette catégorie. On note qu'avec l'invention, les catégories étant obtenues, éliminées et mises à jour de façon symétrique par le codeur et le décodeur, le codeur peut avantageusement choisir les codes pour signaliser le mode de prédiction sélectionné en fonction du nombre de modes de prédiction des catégories mises à jour plutôt qu'en fonction du nombre de modes de prédiction de l'ensemble initial. La signalisation est donc rendue moins coûteuse. Lors d'une étape E15, un résidu de prédiction RES est calculé à partir du bloc courant bc et du bloc prédicteur P associé au mode de prédiction sélectionné lors de l'étape E13. Le résidu de prédiction RES est obtenu par la différence entre le bloc courant à coder bc et le bloc prédicteur P.
Lors d'une étape E16, de manière connue, le résidu de prédiction RES est ensuite transformé, par exemple par une transformée DCT, et quantifié. Des coefficients de résidus transformés quantifiés sont alors obtenus.
Lors d'une étape E17, les coefficients de résidus transformés quantifiés sont ensuite codés par un module de codage entropique, par exemple un codeur CABAC, décrit dans D. Marpe, H. Schwarz, T. Wiegand, « Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard » IEEE Transactions on Circuits and Systems for Video Technology (Volume: 13 , Issue : 7 ), pages 620 - 636, July 2003 , sous la forme d'un flux de données codées STR. Lors d'une étape E18, un résidu de prédiction RES' est reconstruit en appliquant aux coefficients transformés quantifiés une quantification inverse et une transformation inverse. Lors d'une étape E19, un bloc de pixels REC est reconstruit en ajoutant le résidu de prédiction reconstruit RES' au bloc prédicteur P associé au mode de prédiction sélectionné lors de l'étape E13. Lors d'une étape E20, il est vérifié si tous les blocs de l'image à coder ont été codés. Dans le cas négatif, le procédé de codage reprend à l'étape E10 en procédant au bloc suivant selon un parcours prédéterminé de l'image à coder.
Dans le cas où tous les blocs de l'image ont été traités, lors d'une étape E21, une image Ikrec est reconstruite à partir des blocs reconstruits REC de l'image et sauvegardée dans une liste d'images de référence pour être utilisée ultérieurement comme référence lors du codage des images suivantes de la séquence d'images.
7.8 Procédé de décodage
La figure 7 présente des étapes d'un procédé de décodage d'un flux STR de données codées représentatif d'une séquence d'images Ii, , IN à décoder selon un mode particulier de réalisation de l'invention.
Par exemple, le flux de données STR a été généré via le procédé de codage présenté en relation avec la figure 1. Le flux de données STR est fourni en entrée d'un dispositif de décodage DEC, par tel que décrit en relation avec la figure 9. Le procédé de décodage procède au décodage du flux image par image. Pour chaque image à décoder, le procédé de décodage procède au décodage de l'image bloc par bloc.
Lors d'une étape DO, une image Ik à décoder de la séquence d'images Ii, , ■ IN est découpée en blocs de taille maximale. Chaque bloc de taille maximale pouvant être redécoupé en blocs plus petits. Par exemple, un bloc de taille maximal est de taille 32x32 pixels. Un tel bloc de taille maximal peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 16x16, 8x8, 4x4, 16x8, 8x16, .... Puis, un bloc bc à décoder d'une image Ik est sélectionné selon un sens de parcours de l'image Ik prédéterminé.
Pour un bloc bc d'une image à reconstruire, lors de l'étape E10, des catégories de modes de prédiction sont obtenues. En El i, on élimine des catégories sur la base d'au moins un critère d'élimination et on met à jour en E12 les catégories non éliminées en supprimant les modes de prédiction communs avec les catégories éliminées. Ces étapes E10 à E12 sont réalisées selon un mode particulier de réalisation identique au mode de réalisation utilisé lors du codage du flux de données STR. Elles comprennent un ensemble de sous-étapes qui ont été décrites ci-dessus selon différents modes de réalisation de réalisation de l'invention en relation avec les figures 1 et 2. Lors d'une étape D20, les données du flux de données STR correspondant au bloc bc sont décodées par un module de décodage entropique pour fournir d'une part des éléments de syntaxe relatifs au mode de codage (ou mode de prédiction) du bloc courant bc et d'autre part un groupe de coefficients de résidus de prédiction du bloc courant bc. Les éléments de syntaxe décodés comprennent notamment une information de mode de prédiction identifiant pour le bloc courant bc un mode de prédiction parmi les modes de prédiction des catégories de modes de prédiction mises à jour selon l'invention. Par exemple, si on suppose que les catégories mises à jour sont ordonnées, ainsi que les modes de prédiction qui les constituent, une telle information est codée dans le flux sous la forme d'un index idx de la liste ordonnée formée par les modes de prédiction restants. Selon une variante, l'information de mode de prédiction est codée sous la forme d'un identifiant de catégorie et d'un index idx de position dans la catégorie identifiée.
Lors d'une étape D21, les coefficients de résidus de prédiction du bloc bc subissent une quantification inverse, puis une transformation inverse pour délivrer un résidu de prédiction décodé RES'.
Lors d'une étape D22, le bloc courant bc est reconstruit à partir du bloc prédicteur P associé au mode de prédiction décodé et du résidu de prédiction RES' associé au bloc courant bc qui a été décodé à partir du flux de données codées STR. Le bloc prédicteur P a été calculé précédemment lors de l'étape E10. Un bloc reconstruit REC pour le bloc courant bc est donc obtenu en ajoutant le bloc prédicteur P au résidu de prédiction décodé RES'.
Lors d'une étape D23, il est vérifié si tous les blocs de l'image à décoder ont été décodés et reconstruits. Dans le cas négatif, le procédé de décodage reprend à l'étape E10 en procédant au bloc suivant selon un parcours prédéterminé de l'image à décoder.
Dans le cas où tous les blocs de l'image ont été traités, lors d'une étape D24, une image Ikrec est reconstruite à partir des blocs reconstruits REC et sauvegardée dans une liste d'images de référence pour être utilisée ultérieurement comme référence lors du décodage des images suivantes de la séquence d'images.
Les procédés de codage et de décodage décrits précédemment peuvent être intégrés dans des codeurs/décodeurs vidéo standards tels que H.266, HEVC/H .265, AVC/H.264 ou tout type de codeurs/décodeurs vidéo propriétaires. Les procédés de codage et de décodage selon l'invention s'appliquent également à tous types de codeurs/décodeurs d'images fixes et plus généralement de signaux utilisant un codage prédictif à l'aide de plusieurs modes de prédiction disponibles. Les procédés de codage et de décodage ont été décrits précédemment dans le cas du codage spatial de bloc (codage intra). Ces procédés s'appliquent aisément au cas du codage d'un bloc selon d'autres types de modes de codage, inter par exemple. La liste des modes de prédiction construite peut ainsi comprendre différents types de modes de codage (intra, inter, inter-couches, ...)■ 7.9 Dispositif de codage
La figure 8 présente la structure simplifiée d'un dispositif de codage 100 adapté pour mettre en œuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation de l'invention. Le dispositif de codage 100 est adapté pour coder au moins une image sous la forme d'un flux de données codées, ladite image étant découpée en blocs, au moins deux modes de prédiction étant disponibles pour prédire un bloc de ladite image, dit bloc courant.
Le dispositif de codage 100 est notamment configuré pour : obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible, - éliminer au moins une catégorie en fonction d'au moins un critère d'élimination,
- mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant, - coder dans le flux de données, une information identifiant pour ledit bloc courant ledit mode de prédiction sélectionné dans les catégories mises à jour.
Selon un mode particulier de réalisation de l'invention, les étapes du procédé de codage sont mises en œuvre par des instructions de programme d'ordinateu r. Pour cela, le dispositif de codage 100 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM, une unité de traitement UT, équipée par exemple d'un microprocesseur PROC, et pilotée par le programme d'ordinateur PG stocké en mémoire MEM . Le programme d'ordinateur PG comprend des instructions pour mettre en œuvre les étapes du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC. A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur PROC. Le processeur PROC de l'unité de traitement UT met notamment en œuvre les étapes du procédé de codage décrit ci-dessus, selon les instructions du programme d'ordinateur PG. Selon un autre mode particulier de réalisation de l'invention, le procédé de codage est mis en œuvre par des modules fonctionnels. Pour cela, le dispositif de codage COD comprend en outre:
- un module d'obtention OBT pour obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible, - un module d'élimination ELIM pour éliminer au moins une catégorie en fonction d'au moins un critère d'élimination,
- un module de mise à jour MAJ pour mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- un module de sélection SEL pour sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant,
- un module de codage COD pour coder dans le flux de données, une information identifiant pour ledit bloc courant ledit mode de prédiction sélectionné dans les catégories mises à jour.
L'unité de traitement UT coopère avec les différents modules fonctionnels décrits ci-dessus et la mémoire MEM afin de mettre en œuvre les étapes du procédé de codage. Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une mémoire et des instructions de code de programme pour mettre en œuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par un le processeur. Sous une forme matérielle, un tel module fonctionnel peut mis en œuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits intégrés spécifiques à des applications (ASICs pour Application Spécifie Integrated Circuit en anglais), des circuits FPGA pour Field Programmable Gâte Arrays en anglais, un câblage d'unités logiques. De façon avantageuse, un tel dispositif 100 peut être intégré à un équipement terminal d'utilisateur ET. Le dispositif 100 est alors agencé pour coopérer au moins avec le module suivant du terminal ET : une mémoire MEM 1 dans laquelle sont stockées notamment les catégories de modes de prédiction ; un module E/Rl d'émission/réception de données, par l'intermédiaire duquel le flux de données codées STR est transmis dans un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien à destination d'un ou plusieurs décodeurs.
7.10 Dispositif de décodage
La figure 9 présente la structure simplifiée d'un dispositif de décodage 200 adapté pour mettre en œuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation de l'invention. Le dispositif de décodage 200 est adapté pour décoder un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, au moins deux modes de prédiction étant disponibles pour prédire un bloc, dit bloc courant, de l'image. Le dispositif de décodage 200 est notamment configuré pour:
- obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible,
- éliminer au moins une catégorie en fonction d'au moins un critère d'élimination, mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant,
- d écoder à partir du flux de données codées, une information identifiant pour ledit bloc courant, un mode de prédiction parmi les catégories mises à jour,
- reconstruire ledit bloc courant à partir du bloc prédicteur associé audit mode de prédiction identifié. Selon un mode particulier de réalisation de l'invention, le dispositif de décodage 200 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEMO, une unité de traitement UT0, équipée par exemple d'un microprocesseur PROCO, et pilotée par le programme d'ordinateur PGO stocké en mémoire MEMO. Le programme d'ordinateur PGO comprend des instructions pour mettre en œuvre les étapes du procédé de décodage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROCO.
A l'initialisation, les instructions de code du programme d'ordinateur PGO sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur PROCO. Le processeur PROCO de l'unité de traitement UTO met notamment en œuvre les étapes du procédé de décodage décrit ci- dessus, selon les instructions du programme d'ordinateur PGO.
Selon un autre mode particulier de réalisation de l'invention, le procédé de décodage est mis en œuvre par des modules fonctionnels. Pour cela, le dispositif de décodage 200 comprend en outre :
- un module d'obtention OBT0 pour obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible,
- un module d'élimination ELIM0 pour éliminer au moins une catégorie en fonction d'au moins un critère d'élimination,
- un module de mise à jour MAJ0 pour mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- un module de décodage DC pour décoder à partir du flux de données codées, une information identifiant pour ledit bloc courant, un mode de prédiction parmi les catégories mises à jour,
- un module de reconstruction RC pour reconstruire ledit bloc courant à partir du bloc prédicteur associé audit mode de prédiction identifié.
L'unité de traitement UTO coopère avec les différents modules fonctionnels décrits ci-dessus et la mémoire MEMO afin de mettre en œuvre les étapes du procédé de décodage.
Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une mémoire et des instructions de code de programme pour mettre en œuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par le processeur. Sous une forme matérielle, un tel module fonctionnel peut mis en œuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits intégrés spécifiques à des applications (ASICs pour Application Spécifie Integrated Circuit en anglais), des circuits FPGA pour Field Programmable Gâte Arrays en anglais, un câblage d'unités logiques.
De façon avantageuse, un tel dispositif 200 peut être intégré à un équipement terminal ET. Le dispositif 200 est alors agencé pour coopérer au moins avec le module suivant du terminal ET : une mémoire MEM2 dans laquelle sont stockées notamment les catégories de modes de prédiction ; un module E/R2 d'émission/réception de données, par l'intermédiaire duquel le train binaire STR est reçu d'un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien en provenance d'un codeur.
Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention.

Claims

REVENDICATIONS
1. Procédé de décodage d'un flux de données codées (STR) représentatif d'au moins une image (Ik), ladite image étant découpée en blocs (bc), un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit procédé comprend les étapes suivantes :
- Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble, de façon similaire à un codeur du flux;
- Elimination (Eli) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
- Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
- Décodage (D20) à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
2. Procédé de codage d'une image sous la forme d'un flux de données codées, ladite image étant divisée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit procédé comprend les étapes suivantes :
- Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble, de façon similaire à un décodeur du flux ;
- Elimination (Eli) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
- Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
- Sélection (E13) d'un mode de prédiction dans une des catégories mises à jour ;
- Codage (E14) d'une information identifiant le mode de prédiction sélectionné parmi les modes de prédiction des catégories mises à jour, et insertion de l'information codées dans le flux de données codées.
3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape d'obtention comprend une lecture (E101) d'informations d'identification desdites catégories dans une mémoire. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape d'obtention comprend une analyse (E102) d'au moins une caractéristique d'un contenu de blocs déjà traités et une création (E103) des catégories à partir d'au moins un critère de regroupement des modes de prédiction et en fonction de la au moins une caractéristique analysée.
Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend, pour une catégorie obtenue, une étape de détermination (E121) d'un mode de prédiction représentant cette catégorie et en ce que l'étape d'élimination de la catégorie comprend une élimination (E122) du mode de prédiction représentant, l'élimination de la catégorie étant déclenchée par l'élimination du mode de prédiction le représentant.
Procédé selon l'une des revendications 1 à 4, caractérisé en ce que, pour une catégorie obtenue, l'étape d'élimination (Eli) de la catégorie comprend l'élimination successive de ses modes de prédiction et la comparaison du nombre de modes de prédiction éliminés dans la catégorie à un seuil prédéterminé, l'élimination de la catégorie étant déclenchée lorsque le nombre de modes éliminés est supérieur au seuil.
Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend, pour une catégorie obtenue, ladite catégorie étant associée à un critère de regroupement de modes de prédiction, une étape d'analyse du contenu des blocs voisins déjà traités destinée à fournir une caractéristique du contenu et en ce que l'étape d'élimination élimine la catégorie lorsque la caractéristique et le critère de regroupement sont incompatibles entre eux.
Dispositif (200) de décodage d'un flux de données codées (STR) représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit dispositif est configuré pour :
- Obtenir au moins deux catégories de modes de prédiction à partir de l'ensemble, de façon similaire à un codeur du flux ;
- Eliminer au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
- Mettre à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; et
- Décoder à partir du flux de données une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
9. Dispositif (100) de codage d'une image sous la forme d'un flux de données codées, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que le dispositif est configuré pour :
- Obtenir au moins deux catégories de modes de prédiction à partir de l'ensemble, de façon similaire à un décodeur du flux ;
- Eliminer au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
- Mettre à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
- Sélectionner un mode de prédiction dans une des catégories mises à jour ;
- Coder une information identifiant le mode de prédiction sélectionné parmi les modes de prédiction des catégories mises à jour, et insérer l'information codée dans le flux de données codées.
10. Equipement terminal (ET) comprenant un dispositif (100) de codage d'au moins une image en un flux de données codées selon la revendication 9 et un dispositif (200) de décodage d'un flux de données codées selon la revendication 8.
11. Programme d'ordinateur comprenant des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 7, lorsqu'il est exécuté par un processeur.
EP17742476.9A 2016-06-29 2017-06-19 Procédé de codage intra d'une image numérique et procédé de décodage correspondant Ceased EP3479572A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1656137A FR3053555A1 (fr) 2016-06-29 2016-06-29 Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes
PCT/FR2017/051608 WO2018002474A1 (fr) 2016-06-29 2017-06-19 Procédé de codage intra d'une image numérique et procédé de décodage correspondant

Publications (1)

Publication Number Publication Date
EP3479572A1 true EP3479572A1 (fr) 2019-05-08

Family

ID=56842910

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17742476.9A Ceased EP3479572A1 (fr) 2016-06-29 2017-06-19 Procédé de codage intra d'une image numérique et procédé de décodage correspondant

Country Status (7)

Country Link
US (1) US10812814B2 (fr)
EP (1) EP3479572A1 (fr)
JP (1) JP7059207B2 (fr)
KR (1) KR102415261B1 (fr)
CN (1) CN109417618A (fr)
FR (1) FR3053555A1 (fr)
WO (1) WO2018002474A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245551A1 (fr) * 2018-06-20 2019-12-26 Realnetworks, Inc. Prédiction intra-image dans des systèmes et des procédés de codage vidéo
FR3098073B1 (fr) * 2019-06-25 2021-09-24 Fond B Com Procédé de codage et de décodage d’une image d’une séquence vidéo et dispositif associé
CN111614960B (zh) * 2020-05-25 2022-09-02 绍兴文理学院 按图像内容特征进行帧级划分的快速编解码方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4142563B2 (ja) * 2003-12-12 2008-09-03 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP4763422B2 (ja) * 2004-12-03 2011-08-31 パナソニック株式会社 イントラ予測装置
JP2007189276A (ja) * 2006-01-11 2007-07-26 Victor Co Of Japan Ltd 画像圧縮装置及び画像圧縮プログラム
CN107105257B (zh) * 2007-06-29 2020-08-28 威勒斯媒体国际有限公司 图像编码装置、图像编码方法、图像译码装置、图像译码方法
JP2009111691A (ja) * 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
EP2304963B1 (fr) * 2008-07-01 2015-11-11 Orange Procede et dispositif de codage d'images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants
US8295623B2 (en) * 2008-10-14 2012-10-23 France Telecom Encoding and decoding with elimination of one or more predetermined predictors
HUE047479T2 (hu) * 2009-10-01 2020-04-28 Sk Telecom Co Ltd Eljárás és készülék képek változtatható méretû makroblokkok használatával történõ kódolására/dekódolására
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
US20120243606A1 (en) * 2010-09-24 2012-09-27 Nokia Corporation Methods, apparatuses and computer programs for video coding
US9148667B2 (en) * 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
JP6212890B2 (ja) * 2013-03-22 2017-10-18 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US11722677B2 (en) * 2016-05-06 2023-08-08 Interdigital Madison Patent Holdings, Sas Method and system for decoder-side intra mode derivation for block-based video coding

Also Published As

Publication number Publication date
KR102415261B1 (ko) 2022-06-30
JP2019520005A (ja) 2019-07-11
JP7059207B2 (ja) 2022-04-25
KR20190022495A (ko) 2019-03-06
US20190174138A1 (en) 2019-06-06
FR3053555A1 (fr) 2018-01-05
WO2018002474A1 (fr) 2018-01-04
US10812814B2 (en) 2020-10-20
CN109417618A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
FR2894421A1 (fr) Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
FR2947134A1 (fr) Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants.
EP3314897B1 (fr) Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés
FR3023112A1 (fr) Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
FR2599577A1 (fr) Procede de codage par transformation pour la transmission de signaux d'image.
EP3694209A1 (fr) Procédé de décodage d'images, dispositif de décodage d'images, et programme d'ordinateur correspondant
EP3318061B1 (fr) Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
WO2010149914A1 (fr) Procedes de codage et de decodage d'images, dispositifs de codage et de decodage, et programme d'ordinateur correspondants
EP2279621B1 (fr) Procédé de codage, de décodage, codeur et décodeur
WO2018002474A1 (fr) Procédé de codage intra d'une image numérique et procédé de décodage correspondant
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
EP2652952A1 (fr) Procédés et dispositifs de codage et de décodage d'au moins une image mettant en oeuvre une sélection de pixels à prédire, programme d'ordinateur correspondant
WO2020058594A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
FR2955995A1 (fr) Procede et dispositif de traitement d'une sequence video
FR3030976A1 (fr) Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
FR2907989A1 (fr) Procede et dispositif d'optimisation de la compression d'un flux video
EP2160837B1 (fr) Sélection de fonctions de décodage distribuée au décodeur
EP3815369A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
FR2916931A1 (fr) Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
WO2020161413A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
EP3456045B1 (fr) Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
FR2899744A1 (fr) Procede et dispositif de codage et de decodage d'une image, notamment d'une sequence d'images video, signal correspondant et produit programme d'ordinateur
WO2020260843A1 (fr) Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat
EP3854085A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image

Legal Events

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

Free format text: STATUS: UNKNOWN

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

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

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

Free format text: ORIGINAL CODE: 0009012

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180920

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20201030

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20231123