METHOD AND DEVICE FOR DERIVING REFERENCE MODE VALUES AND ENCODING AND DECODING INFORMATION REPRESENTING PREDICTION MODES

By deriving three most probable modes for comparison in the HEVC standard, the method enhances encoding efficiency by aligning prediction modes, thus reducing coding costs and improving compression efficiency.

BR122017013108B1Active Publication Date: 2026-07-28CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR122017013108
Authority / Receiving Office
BR · BR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2011-09-12
Filing Date
2012-09-12
Publication Date
2026-07-28
Estimated Expiration
2032-09-12

AI Technical Summary

Technical Problem

The existing HEVC standard faces challenges in efficiently encoding prediction mode information due to the limited use of most likely modes, leading to suboptimal coding efficiency.

Method used

The proposed method and device enhance encoding efficiency by deriving three most probable modes (MPMs) from neighboring prediction modes, allowing for more accurate comparison and selection of encoding processes based on these modes.

Benefits of technology

This approach increases the likelihood of using a more economical encoding process, reducing overall coding cost and improving compression efficiency by aligning the prediction mode with one of the derived most likely modes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000029_0000
    Figure 00000029_0000
  • Figure 00000029_0001
    Figure 00000029_0001
  • Figure 00000030_0000
    Figure 00000030_0000
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

1 / 22 “METHOD AND DEVICE FOR DERIVING REFERENCE MODE VALUES AND ENCODING AND DECODING INFORMATION REPRESENTING PREDICTION MODES” Split application for invention patent no. BR112014005323-5, filed on September 12, 2012. Field of Invention

[0001] The invention relates to a method and a device for encoding or decoding mode values ​​representing prediction modes. Particularly, but not exclusively, the invention relates more specifically to the intra-encoding mode in the High Efficiency Video Coding (HEVC) standard under development. Fundamentals of the Invention

[0002] Video applications are continually moving towards higher resolution. A large amount of video material is already distributed digitally across broadcast channels, digital networks, and packaged media, with continuous evolution towards higher quality and resolution (e.g., higher number of pixels per frame, higher frame rate, greater bit depth, or extended color gamut). This technological evolution places greater pressure on distribution networks that are already struggling to deliver HDTV resolution and data rates economically to the end user. Therefore, any further increase in data rate will put additional pressure on the networks. To address this challenge, ITU-T and ISO / MPEG decided to launch a new video coding standard project in January 2010, called High Efficiency Video Coding (HEVC).

[0003] The HEVC codec model is similar to that of most so-called block-based hybrid transform codecs such as H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC. Video compression algorithms such as those standardized by the ITU, ISO and SMPTE standardization bodies use the spatial and temporal redundancies of images in order to generate bitstreams of data. Petition 870200095992, dated 07 / 31 / 2020, page 17 / 56 2 / 22 data of reduced size compared to these video sequences. Such compressions make the transmission and / or storage of video sequences more efficient. Summary of the Invention

[0004] During video compression in the proposed HEVC encoder, each block of an image being processed is predicted spatially by an “intra” predictor (so-called “intra” encoding mode), or temporally by an “inter” predictor (so-called “inter” encoding mode). Each predictor is a block of pixels emitted from the same image or another image, from which a difference (or “residual”) block is derived. In intra encoding mode, the predictor (intra predictor) used for the current block is a block of pixels constructed from the already encoded information of the current image. By virtue of identifying the predictor block and encoding the residual, it is possible to reduce the amount of information actually to be encoded.

[0005] Coded frames are of two types: temporal predicted frames (either predictor from a reference frame called P frames or predictor from two reference frames called B frames) and non-temporal predicted frames (called intra frames or I frames). In I frames, only intra prediction is considered for the coding blocks. In P frames and B frames, both intra and inter predictions are considered for the coding blocks.

[0006] If “intra” encoding is selected, an information item describing the “intra” predictor used is encoded before being inserted into the bit stream to be sent to a corresponding decoder.

[0007] In the current HEVC model, as well as in previous models such as MPEG-4 AVC / H.264, intra-coding involves deriving an intra-prediction block from reconstructed neighboring samples of the block to be coded (decoded), as schematically illustrated in FIGS. 1A and 1B. Multiple prediction modes are supported, either directional or non-directional. In HEVC, the number of supported modes depends on the size of a coding unit (CU). As of the filing date of this application, the specification is still subject to change, but Petition 870200095992, dated 07 / 31 / 2020, page 18 / 56 3 / 22 Currently the following supported modes are observed: 4 modes for 64x64 CU, 18 modes for 4x4 CU, 35 modes for CU of other sizes (8x8 to 32x32).

[0008] When a CU is encoded in intra mode, its related intra prediction mode must be encoded. With respect to FIG. 1B, when encoding an actual CU 102, the intra encoding mode makes use of two neighboring CUs that have already been encoded, namely the top left CUs 103 and 104.

[0009] FIG. 2 illustrates intra-prediction modes considered in HEVC. Intra-prediction modes include a planar prediction mode identified by a mode prediction value of 0, a DC mode having a mode prediction value of 3, and a number of directional prediction modes identified by mode prediction values ​​4 to 34 to predict directional structures in an image corresponding to different angles. Horizontal prediction mode 2 and vertical prediction mode 1 are also included.

[0010] FIG. 3 is a flowchart for use in explaining how the intra-coding mode is performed in the current HEVC model. In a first step S201, the intra-prediction modes of the neighboring top and left CUs 103 and 104, as illustrated in FIG. 1B, are identified. The two CUs may share the same intra-prediction mode or may have different intra-prediction modes. Consequently, in step S201, one or two intra-prediction modes may be identified. In step S202, two 'most likely modes' (MPMs) are derived from the identified intra-prediction modes. If the prediction modes of the top and left CUs 103 and 104 are different, then two MPMs, MPM0 and MPM1, are set respectively for the minimum and maximum values ​​of the prediction modes of the top and left CUs.If the prediction modes of the top and left CUs 103 and 104 are the same, and if they do not correspond to the planar prediction mode, then MPM0 is set to the planar mode and MPM1 is set to the top or left CU prediction mode. If the prediction modes of the top and left CUs 103 and 104 both correspond to the planar mode, then MPM0 is set to the planar mode and MPM1 is set to the DC mode. MPM0 and MPM1 are thus ordered according to their prediction mode values, with the prediction mode having the lowest mode value being the one that is ranked higher. Petition 870200095992, dated 07 / 31 / 2020, page 19 / 56 4 / 22 is called MPM0 and the prediction mode having the highest mode value is called MPM1. In step S203, the prediction mode of the current encoding unit is then compared with the two MPMs. If the prediction mode of the current encoding unit is equal to either MPM0 or MPM1, then in step S204, a first encoding process (process 1) is applied.

[0011] The first encoding process involves encoding a flag indicating that the current block mode is equal to one of the MPMs, and then encoding the index of the MPM in question (0 if MPM0, 1 if MPM1).

[0012] If, in step S203, it is determined that the prediction mode of the current block is not equal to one of the two MPMs, then in step S205, a second encoding process (process 2) is applied.

[0013] Unlike the first encoding process, the second encoding process involves encoding the mode value of the current block.

[0014] Statistically, process 1 is used more frequently than process 2. Statistically, a prediction mode is more frequently equal to one of its MPMs than different from all MPMs. The entropy coding mechanism benefits from this property, either by using shorter codewords in process 1 than in process 2, or by exploiting the higher probability of being equal to one of the MPMs (arithmetic coding as used in CABAC efficiently exploits probability to improve coding and reduce coding cost). The present invention was formulated to address one or more of the foregoing considerations and desires. It is desirable to improve the coding efficiency of methods for encoding prediction mode information.

[0015] According to a first aspect of the invention, a method is provided for encoding mode information representing a prediction mode related to a current encoding unit by an intra-mode encoding process, a method for encoding a mode value representing a prediction mode related to a current encoding unit to be encoded, the method comprising: deriving first and second reference prediction mode values ​​from the respective prediction modes of at least two encoding units. Petition 870200095992, dated 07 / 31 / 2020, page 20 / 56 5 / 22 neighbors of the current encoding unit, the first and second reference prediction modes being different from each other; and comparing the prediction mode value to be encoded with one or more of the reference prediction mode values; and selecting, based on the comparison, an encoding process, from at least the first and second encoding processes, to apply to the mode value to be encoded; wherein the method further comprises deriving a third reference prediction mode value from the first and second reference prediction mode values, the third reference prediction mode being different from each of the first and second reference prediction mode values; and said comparison comprises comparing the prediction mode value to be encoded with at least one of the first, second, and third reference prediction mode values.

[0016] By deriving three MPMs instead of two for comparison with the current coding block's prediction mode, coding efficiency is improved. This is due to the increased probability that the current coding block's prediction mode will match one of the derived most likely modes. Because this allows a more economical coding process to be used to encode the current coding block's prediction mode, the overall coding cost is reduced.

[0017] According to a second aspect of the invention, a device is provided for encoding mode information representing a prediction mode related to a current encoding unit, the device comprising: a derivation device for deriving first and second reference prediction mode values ​​from the respective prediction modes of at least two encoding units adjacent to the current encoding unit, the first and second reference prediction modes being different from each other; and a comparison device for comparing the prediction mode value to be encoded with one or more of the reference prediction mode values; and a selection device for selecting, based on the comparison, an encoding process, from among at least the first and second encoding processes, to apply to the mode value to be encoded; Petition 870200095992, dated 07 / 31 / 2020, page 21 / 56 6 / 22 where the derivation device is operable to derive a third reference prediction mode value from the first and second reference prediction mode values, the third reference prediction mode being different from each of the first and second reference prediction mode values; and said comparison device is operable to compare the prediction mode value to be encoded with at least one of the first, second, and third reference prediction mode values.

[0018] According to a third aspect of the invention, a method is provided for decoding a mode value representing a prediction mode related to an actual decoding unit to be decoded, the method comprising: deriving the first and second reference prediction mode values ​​from the respective prediction modes of at least two neighboring decoding units of the actual decoding unit, the first and second reference prediction modes being different from each other; and comparing the prediction mode value to be decoded with one or more of the reference prediction mode values; and selecting, based on the comparison, a decoding process, from among at least the first and second decoding processes, to apply to the mode value to be decoded;where the method further comprises deriving a third reference prediction mode value from the first and second reference prediction mode values, the third reference prediction mode being different from each of said first and second reference prediction mode values; and said comparison comprises comparing the prediction mode value to be decoded with at least one of the first, second, and third reference prediction mode values.

[0019] According to a fourth aspect of the invention, a device is provided for decoding a mode value representing a prediction mode related to a current decoding unit to be decoded, the device comprising: a derivation device for deriving the first and second reference prediction mode values ​​from the respective prediction modes of at least two decoding units neighboring the current decoding unit, the first and the Petition 870200095992, dated 07 / 31 / 2020, page 22 / 56 7 / 22 second reference prediction mode being different from each other; and comparison device for comparing the prediction mode value to be encoded with one or more of the reference prediction mode values; and selection device for selecting, based on the comparison, a decoding process, from at least the first and second decoding processes, to apply to the mode value to be decoded; wherein, the derivation device is operable to derive a third reference prediction mode value from the first and second reference prediction mode values, the third reference prediction mode being different from each of the first and second reference prediction mode values; and said comparison device is operable to compare the prediction mode value to be encoded with at least one of the first, second, and third reference prediction mode values.

[0020] According to a further aspect of the invention, a method is provided for deriving reference prediction mode values ​​for encoding or decoding a prediction mode related to an current encoding unit, the method comprising: deriving the first and second reference prediction mode values ​​from the respective prediction modes of at least two encoding units neighboring the current encoding unit, the first and second reference prediction modes being different from each other; and deriving a third reference prediction mode value from the first and second reference prediction mode values, the third reference prediction mode being different from each of the first and second reference prediction mode values; wherein the first, second and third reference prediction mode values ​​are usable in comparison with the prediction mode value to be encoded or decoded.

[0021] In one embodiment, the third reference prediction mode value is set to a mode value corresponding to a planar prediction mode if neither of the first and second reference prediction mode values ​​corresponds to the planar prediction mode.

[0022] In a mode, if one of the first and second mode values Petition 870200095992, dated 07 / 31 / 2020, page 23 / 56 8 / 22 of the reference prediction corresponds to a DC prediction mode, and the other between the first and second reference prediction mode values ​​corresponds to a planar prediction mode; the additional prediction mode value is configured as a predefined prediction mode value.

[0023] In one mode, the predefined prediction mode value is signaled in a slice or image header.

[0024] In one embodiment, the predefined prediction mode value has a small prediction mode value, such as, for example, a prediction mode value less than 5.

[0025] In a modality, the predefined prediction mode value corresponds to a horizontal prediction mode or a vertical prediction mode.

[0026] In one mode, the value of the predefined prediction mode is dependent on the content of the image being encoded.

[0027] In one embodiment, the predefined prediction mode value is adaptively derived based on mode probabilities representative of the probability of occurrence of the respective prediction modes, said mode probabilities being regularly computed.

[0028] In one embodiment, if one of the first and second reference prediction mode values ​​corresponds to a directional prediction mode and the other of the first and second reference prediction mode values ​​corresponds to a planar prediction mode, the third prediction mode value is set as a prediction mode value corresponding to the prediction mode with the next higher angular direction than the direction of the reference prediction mode value considered.

[0029] In one embodiment, at least two neighboring encoding or decoding units comprise the left neighboring encoding or decoding unit or the top neighboring encoding or decoding unit of the current encoding or decoding unit.

[0030] In one modality, the first encoding or decoding process Petition 870200095992, dated 07 / 31 / 2020, page 24 / 56 9 / 22 comprises encoding or decoding the first piece of information indicating a predetermined relationship between the mode value to be encoded or decoded and at least one of the first, second, and third reference mode prediction values, and the second encoding or decoding process comprises encoding or decoding the second piece of information representing the mode value to be encoded or decoded.

[0031] In one embodiment, the first encoding or decoding process is selected when the mode value to be encoded or decoded is equal to at least one of the three reference prediction mode values, and the second encoding or decoding process is selected when the mode value to be encoded or decoded differs from each of the three reference prediction mode values.

[0032] At least parts of the methods according to the invention can be implemented by computer. Consequently, the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment (including unalterable logic support, resident software, microcode, etc.) or an embodiment combining hardware and software aspects that can generally be referred to herein as a “circuit”, “module” or “system”. Furthermore, the present invention can take the form of a computer program product embodied in any tangible means of expression having computer-usable program code embedded in the medium.

[0033] As the present invention can be implemented in software, the present invention can be incorporated as computer-readable code to provide a programmable device on any carrier medium. A tangible carrier medium may comprise a storage medium such as a floppy disk, a CD-ROM, a hard disk drive, a magnetic tape device or a solid-state memory device and the like. The transient carrier medium may include a signal such as an electrical signal, an electronic signal, an optical signal, an acoustic signal, a magnetic signal, or an electromagnetic signal, for example, microwave or RF signal. Brief Description of the Drawings Petition 870200095992, dated 07 / 31 / 2020, page 25 / 56 10 / 22

[0034] The embodiments of the invention will now be described, by way of example only, and with regard to the following drawings in which:

[0035] FIGS. 1A and 1B, discussed earlier, are schematic diagrams for use in explaining how an intra-prediction block is derived in the current HEVC model.

[0036] FIG. 2, also discussed earlier, schematically illustrates the intra-prediction modes in the current HEVC model.

[0037] FIG. 3, also discussed earlier, is a flowchart for use in explaining the intra-coding mode in the current HEVC model.

[0038] FIG. 4 is a flowchart for use in explaining an intra-coding mode principle according to at least one embodiment of the present invention.

[0039] FIG. 5 is a flowchart of steps of a method for deriving a reference prediction mode value according to an embodiment of the present invention.

[0040] FIG. 6 is a flowchart that illustrates steps related to the method in FIG. 5.

[0041] FIG. 7 shows a sequence of images.

[0042] FIG. 8 shows parts of the apparatus suitable for implementing an encoder according to an embodiment of the present invention.

[0043] FIG. 9 shows a block diagram of parts of an encoder according to at least one embodiment of the present invention.

[0044] FIG. 10 illustrates a block diagram of the parts of a decoder.

[0045] Detailed Description of the Invention

[0046] FIG. 4 is a flowchart for use in explaining a principle of an intra-mode coding method incorporating the present invention. The intra-mode coding method according to this flowchart is applicable to any entropy coding mechanisms such as CABAC or CAVLC.

[0047] In FIG. 4, steps S401 and S402 are the same as steps S201 and S202, respectively, in FIG. 3, and the description of these steps is not repeated here.

[0048] In the S403 step, a third most probable mode (MPM2) is derived from Petition 870200095992, dated 07 / 31 / 2020, page 26 / 56 11 / 22 first and second most likely modes MPM0 and MPM1 derived from the prediction modes of the neighboring top and left CUs in step S402.

[0049] FIG. 5 is a flowchart that illustrates in more detail the steps for deriving the third most probable mode MPM2 according to a first embodiment of the invention. In step S501, the first and second most probable mode values ​​MPM0 and MPM1 as derived in step S402 are identified. In step S502, it is checked whether one of the most probable mode values ​​MPM0 and MPM1 corresponds to a planar prediction mode. This step may involve checking both most probable mode values ​​to verify whether they correspond to a planar prediction mode. In an alternative embodiment of the invention, when the most probable mode values ​​MPM0 and MPM1 have been ordered according to their prediction mode values, it may only be necessary to check whether MPM0 corresponds to a planar mode provided that MPM0 corresponds to the lowest order prediction mode.If neither MPM0 nor MPM1 corresponds to a planar prediction mode, the additional most likely MPM2 mode is set to a mode value corresponding to a planar prediction mode in step S506. Since a planar mode is statistically the most frequently used prediction mode, it is useful to include it in the set of MPMs for the subsequent comparison step, as it is more likely to match the prediction mode of the current block.

[0050] If, however, it is determined in step S502 that either of the first and second MPMs, MPM0 or MPM1, corresponds to a planar mode, then it is checked in step S503 whether the other MPM0 or MPM1 corresponds to a DC prediction mode. If it is determined that one of the first and second MPMs, MPM0 or MPM1, corresponds to a planar prediction mode and the other of the first and second MPMs, MPM0 and MPM1, corresponds to a DC prediction mode, the third MPM MPM2 is set as a predefined mode value.

[0051] Practically, prediction modes with a small prediction mode value are used because they are more likely to match the prediction mode of the current block. In the example illustrated in FIG. 5, MPM2 is set to a prediction mode value of 2 corresponding to the vertical prediction mode. Petition 870200095992, dated 07 / 31 / 2020, page 27 / 56 12 / 22

[0052] It can be noted that a prediction mode value of 2, corresponding to horizontal direction prediction, could also be chosen, but the vertical direction is statistically more present in natural images than horizontal structures and is thus more likely to correspond to the current block prediction mode.

[0053] In some embodiments of the invention, the predefined prediction mode may be signaled in the slice or image header, since it may be dependent on the image content, for example, depending on the mode distribution statistics in the image.

[0054] In another embodiment of the invention, the predefined prediction mode can be adaptively derived, based on mode probabilities representative of the probability of occurrence of the respective prediction modes that are regularly computed. In this case, probability tables are defined. Each time a mode is encoded, its probability is updated. When MPM0 and MPM1 are planar and DC, MPM2 is computed as the mode other than planar and DC that has the highest probability value. Then, MPM2 is, in this specific case of planar and DC as the first two MPMs, adaptively computed depending on the image content.

[0055] If, however, it is determined in step S503 that neither of the first MPM, MPM0, nor the second MPM, MPM1, corresponds to a DC prediction mode, and that therefore one of the first and second MPMs, MPM0 or MPM1, corresponds to a directional prediction mode MPM_dir, the third MPM, MPM2, is configured as the directional prediction mode with the upper authorized angular direction closest to the direction of MPM_dir in step S505. With regard to FIG. 6, which illustrates this process in more detail, in step S601, the prediction mode of neighboring encoding units that is not a planar mode is identified. In step S602, it is determined whether the identified prediction mode is DC. If yes, MPM2 is configured in a vertical prediction mode; otherwise, if the identified prediction mode is not DC, MPM2 is configured in the nearest authorized upper angular direction to the (MPM_dir) direction of the m mode in step S604. Petition 870200095992, dated 07 / 31 / 2020, page 28 / 56 13 / 22

[0056] For example, if MPM_dir is equal to 13, with respect to FIG. 2, MPM2 is set to 24 if the current encoding unit is 8x8 to 32x32 in size, or 6 if the current encoding unit is 4x4 in size (in the current HEVC model, in CU 4x4, modes with values ​​higher than 17 are prohibited). Using the nearest upper angular direction has been experimentally shown to be the most effective solution.

[0057] It is appreciated that, in some embodiments of the invention, the order of most probable prediction modes MPM0 and MPM1 can be ordered according to their prediction values ​​before the third most probable prediction mode MPM2 is derived. In alternative embodiments of the invention, step S402 may not include the process of reordering MPM0 and MPM1 according to their prediction mode value, and then MPM0, MPM1 and MPM2 can be ordered according to their prediction mode value after MPM2 has been derived.

[0058] Returning to FIG. 4, it is verified in step S404 whether the prediction mode related to the current coding block is equal to the first MPM, MPM0, the second MPM, MPM1, or the third MPM, MPM2, derived in steps S402 and S403 in order to determine whether coding process 1 or coding process 2 will be applied to encode the prediction mode value of the current coding block. Process 1, which is executed when the current block mode is equal to one of the three MPMs, MPM0, MPM1, or MPM2, is implemented in step S405. In some embodiments of the present invention, step S405 may be the same as step S204 in FIG. 3 and will not be described in detail here.

[0059] Process 2, which is executed when the mode of the current block is different from each of the first MPM, MPM0, the second MPM, MPM1, and the third MPM, MPM2, is implemented in step S406. Step S406 is the same as the corresponding step S205 in FIG. 3, and will not be described in detail here.

[0060] Using three MPMs instead of two for comparison with the current coding block's prediction mode improves coding efficiency because the probability that the current coding block's prediction mode matches one of the most likely derived modes is increased. This, in turn, increases Petition 870200095992, dated 07 / 31 / 2020, page 29 / 56 14 / 22 the probability that the most economical encoding process 1, which requires fewer bits to signal the prediction mode of the current encoding block, will be used to encode the prediction mode of the current encoding block. Consequently, the overall cost of encoding is reduced. At the same time, the complexity of the overall process is not greatly increased by deriving a large number of MPMs.

[0061] FIG. 7 shows the image encoding structure 100 used in HEVC. According to HEVC and one of its precursors, the original video sequence 1001 is a succession of digital images “i-images”. As is known, a digital image is represented by one or more matrices whose coefficients represent pixels.

[0062] Images 1002 are divided into slices 1003. A slice is a part of the image or the entire image. In HEVC, these slices are divided into non-overlapping Larger Coding Units (LCUs) 1004, usually blocks of size 64 pixels x 64 pixels. Each LCU can be divided into smaller Coding Units (CUs) of variable size 1005 using a quadtree decomposition. Each CU can be further partitioned into a maximum of 2 symmetrical rectangular Partition Units 1006.

[0063] FIG. 8 illustrates a diagram of the apparatus 1000 adapted to implement an encoder according to an embodiment of the present invention or to implement a decoder. The apparatus 1000 is, for example, a microcomputer, a workstation or a lightweight portable device.

[0064] Device 1000 comprises a communication bus 1113 to which the following are preferably connected: - a central processing unit 1111, such as a microprocessor, denoted CPU; - a read-only memory (ROM) 1107 that stores one or more computer programs to implement the invention; - a random access memory (RAM) 1112 that stores executable code of the invention method and provides adapted registers for recording variables and parameters necessary to implement the method of encoding a sequence of digital images and / or the method of decoding a bitstream; and Petition 870200095992, dated 07 / 31 / 2020, page 30 / 56 15 / 22 - a communication interface 1102 connected to a communication network 1103 along which digital data to be processed is transmitted.

[0065] Optionally, device 1000 can also have the following components? - a data storage device 1104 such as a hard disk, capable of containing the programs that implement the invention and data used or produced during the implementation of the invention; - a disk drive 1105 for a disk 1106, the disk drive adapted to read data from disk 1106 or to write data to said disk; - a screen 1109 to display data and / or serve as a graphical user interface, via a keyboard 1110 or any other pointing device.

[0066] The device 1000 can be connected to various peripherals, such as, for example, a digital camera 1100 or a microphone 1108, each being connected to an input / output board (not shown) in order to provide multimedia data to the device 1000.

[0067] The communication bus provides communication and interoperability between the various elements included in or connected to the 1000 device. The bus representation is not limiting and, in particular, the central processing unit is capable of communicating instructions to any element of the 1000 device directly or through another element of the 1000 device.

[0068] The 1106 disc can be replaced by any information medium such as, for example, a rewritable or non-rewritable compact disc (CD-ROM), a ZIP disc or a memory card and, in general terms, by an information storage device that can be read by a microcomputer or by a microprocessor, integrated or not in the device, possibly removable and adapted to store one or more programs whose execution enables the method for encoding a sequence of digital images and / or the method for decoding a bit stream according to the invention to be implemented.

[0069] The executable code can be stored either in read-only memory 1107, on the hard disk 1104 or on a removable digital medium such as, for example Petition 870200095992, dated 07 / 31 / 2020, page 31 / 56 16 / 22 example, a disk 1106 as described previously. According to one variant, the executable code of the programs can be received via the communication network 1103, through the interface 1102, so as to be stored in one of the storage devices of the device 1000 before being executed, such as the hard disk 1104.

[0070] The central processing unit 1111 is adapted to control and direct the execution of instructions or parts of software code of the program or programs according to the invention, instructions that are stored in one of the storage devices mentioned above. At initialization, the program or programs that are stored in non-volatile memory, for example, in the hard disk 1104 or in read-only memory 1107, are transferred to the random access memory 1112, which then contains the executable code of the program or programs, as well as registers to store the variables and parameters necessary to implement the invention.

[0071] In this embodiment, the device is a programmable device that uses software to implement the invention. However, alternatively, the present invention may be implemented in hardware (for example, in the form of an Application-Specific Integrated Circuit or ASIC).

[0072] FIG. 9 illustrates a block diagram of an encoder 1200 according to an embodiment of the invention. The encoder is represented by connected modules, each module being adapted to implement, for example, in the form of programming instructions to be executed by the CPU 1111 of the device 1000, a corresponding step of a method for implementing an embodiment of the invention.

[0073] An original sequence of digital images ío a in 1001 is received as an input by the encoder 1200. Each digital image is represented by a set of samples, known as pixels.

[0074] A 1210 bit stream is emitted by the 1200 encoder.

[0075] Note that in the following description, the term “block” is sometimes used instead of the specific CU and PU terminology used in HEVC. A CU or PU is a block of pixels. Petition 870200095992, dated 07 / 31 / 2020, page 32 / 56 17 / 22

[0076] The input digital images i are divided into blocks by the 1202 module. These blocks are parts of images and can be of varying sizes (e.g., 4x4, 8x8, 16x16, 32x32, 64x64).

[0077] During video compression, each block of an image being processed is spatially predicted by an “intra” predictor module 1203, or temporarily by an “inter” predictor module comprising a motion estimation module 1204 and a motion compensation module 1205. Each predictor is a block of pixels emitted from the same image or from another image, from which a difference (or “residual”) block is derived. By virtue of identifying the predictor block and encoding the residual, it is possible to reduce the amount of information actually to be encoded.

[0078] Coded frames are of two types: temporally predicted frames (either predictor from one reference frame, called P frames, or predictor from two reference frames, called B frames) and non-temporally predicted frames (called intra frames or I frames). In I frames, only intra prediction is considered for coding CUs / PUs. In P frames and B frames, both intra and inter predictions are considered for coding CUs / PUs.

[0079] In the “intra” prediction module 1203, the current block is predicted by means of an “intra” predictor, a block of pixels constructed from the already encoded information of the current image.

[0080] Regarding “inter” encoding, two types of prediction are possible. Monoprediction (type P) consists of predicting the block with respect to a reference block from a single reference image. Biprediction (type B) consists of predicting the block with respect to two reference blocks from one or two reference images. A motion estimate is performed by module 1204 between the current CU or PU and the reference images 1216. This motion estimate is made in such a way as to identify, in one or more of these reference images, one block (type P) or several (type B) blocks of pixels to use them as predictors of this current block. In the case where several block predictors are used (type B), they are merged to generate a single prediction block. The reference images used consist of Petition 870200095992, dated 07 / 31 / 2020, page 33 / 56 18 / 22 images in the video sequence that has already been encoded and then reconstructed (by decoding).

[0081] Generally, the motion estimation performed by module 1204 is a block matching algorithm (BMA).

[0082] The predictor obtained by the algorithm is then subtracted from the current data block to be processed in order to obtain a difference block (residual block). This processing is called “motion compensation” and is performed by module 1205.

[0083] These two encoding types thus provide various texture residuals (the difference between the actual block and the predictor block), which are compared in a 1206 module to select the best encoding mode.

[0084] If “intra” encoding is selected, an information item to describe the “intra” predictor used is encoded by an entropy encoding module 1209 before being inserted into the bit stream 1210. The embodiments of the present invention described above with respect to FIGS. 4 to 6 are applicable to the entropy encoding module 1209 in FIG. 9.

[0085] If module 1206 selects the best encoding mode and chooses “inter” encoding, the motion information is encoded by entropy encoding module 1209 and inserted into bitstream 1210. This motion information is, in particular, composed of one or more motion vectors (indicating the position of the predictor block in the reference images relative to the position of the block to be predicted) and an image index among the reference images.

[0086] The residual obtained according to the encoding mode selected by module 1206 is then transformed by module 1207. The transformation is applied to a Transform Unit (TU), which is included in a CU. A TU can be further divided into smaller TUs 1006 using a so-called Residual QuadTree (RQT) decomposition. In HEVC, generally 2 or 3 levels of decompositions are used and allowed transform sizes are 32x32, 16x16, 8x8, and 4x4. The transform basis is derived from a discrete cosine transform (DCT). Petition 870200095992, dated 07 / 31 / 2020, page 34 / 56 19 / 22

[0087] The transformed residual coefficients are then quantized by a quantization module 1208. The coefficients of the quantized transformed residual are then encoded by means of the entropy encoding module 1209 and then inserted into the compressed bitstream 1210.

[0088] In order to calculate the “intra” predictors or to make an estimate of the movement for the “inter” predictors, the encoder performs a decoding of the already encoded blocks by means of a then-called “decoding” loop 1211-1215. This decoding loop makes it possible to reconstruct the blocks and images from the quantized transformed residuals.

[0089] The quantized transformed residual is dequantized in module 1211 by applying the inverse quantization to that provided by module 1208 and reconstructed in module 1212 by applying the inverse transform to that of module 1207.

[0090] If the residual comes from an “intra” encoding, then in module 1213, the “intra” predictor used is added to that residual in order to recover a reconstructed block corresponding to the original block modified by the losses resulting from a lossy transformation, here quantization operations.

[0091] If the residual, on the other hand, comes from an “inter” encoding, the blocks pointed to by the current motion vectors (these blocks belong to the reference images 1216 referred to by the current image indices) are merged and then added to this decoded residual in module 1214. In this way, the original block, modified by the losses resulting from the quantization operations, is obtained.

[0092] A final 1215 loop filter is applied to the reconstructed signal in order to reduce the effects created by heavy quantization of the obtained residuals and to improve the signal quality. The loop filter comprises two stages, a “deblocking” filter and a linear filter. The deblocking filter smooths the edges between the blocks in order to visually attenuate these high frequencies created by the encoding. The linear filter thus improves the signal using filter coefficients adaptively determined in the encoder. The 1215 module filtering is thus applied to an image when all the pixel blocks of this image have been decoded. Petition 870200095992, dated 07 / 31 / 2020, page 35 / 56 20 / 22

[0093] The filtered images, also called reconstructed images, are then stored as 1216 reference images in order to allow subsequent “inter” predictions to occur during the compression of the following images in the current video sequence.

[0094] In the context of HEVC, it is possible to use multiple 1216 reference images for the estimation and compensation of motion in the current image. In other words, motion estimation is performed on N images. Thus, the best “inter” predictors of the current block, for motion compensation, are selected from some of the multiple reference images. Consequently, two adjacent blocks may have two predictor blocks that come from two distinct reference images. This is, in particular, the reason why, in the compressed bitstream, the index of the reference image (in addition to the motion vector) used for the predictor block is indicated.

[0095] The use of multiple reference images is both a tool to resist errors and a tool to improve the effectiveness of compression. The VCEG group recommends limiting the number of reference images to four.

[0096] FIG. 10 illustrates a block diagram of a decoder 1300 according to an embodiment of the invention. The decoder is represented by connected modules, each module being adapted to implement, for example, in the form of programming instructions to be executed by the CPU 1111 of the device 1000, a corresponding step of a method implementing an embodiment of the invention.

[0097] The decoder 1300 receives as input a bit stream 1301 corresponding to a video sequence 1210 compressed by an HEVC type encoder, such as the one shown in FIG. 9.

[0098] During the decoding process, bit stream 1301 is the first of all to be entropically decoded by a module 1302.

[0099] The residual of the current block is then dequantized by a dequantization module 1303. This reverses the quantization performed by the quantization module 1208 on the encoder 1200. The dequantized data is then reconstructed by a Petition 870200095992, dated 07 / 31 / 2020, pages 36 / 56 21 / 22 inverse transform module 1304 that performs a reverse transform of those performed by transform module 1207 in encoder 1200.

[00100] The decoding of the data in the video sequence is then performed frame by frame and, within a frame, block by block.

[00101] The “inter” or “intra” encoding mode for the current block is extracted from bitstream 1301 and entropically decoded.

[00102] If the current block encoding is of the “intra” type, the predictor number is extracted from the bitstream and entropically decoded. The intra predictor block associated with that index is retrieved from the already decoded data of the current image.

[00103] The residual associated with the current block is recovered from bitstream 1301 and then entropically decoded. Finally, the recovered intra predictor block is added to the thus dequantized residual and reconstructed in a reverse intra prediction module 1305 in order to obtain the decoded block.

[00104] If the current block encoding mode indicates that this block is of the “inter” type, the motion information is extracted from bit stream 1301 by entropy decoding module 1302 and decoded.

[00105] This motion information is used in a reverse motion compensation module 206 in order to determine the “inter” predictor block contained in the reference images 1308 of the decoder 1300. In a manner similar to the encoder, these reference images 1308 are composed of images that precede the image currently being decoded and that are reconstructed from the bitstream (and then pre-decoded).

[00106] The residual associated with the current block is, here too, recovered from bitstream 1301 and then entropically decoded by module 1302. The interdetermined predictor block is then added to the thus dequantized residual reconstructed in reverse motion compensation module 1306 in order to obtain the decoded block.

[00107] At the end of decoding all blocks of the current image, the same loop filter 1307 from filter 1215 provided in the encoder is used to eliminate the effects. Petition 870200095992, dated 07 / 31 / 2020, pp. 37 / 56 22 / 22 block and improve signal quality to obtain 1308 reference images.

[00108] The images thus decoded constitute the output video signal 1309 of the decoder, which can then be displayed and used.

[00109] The methods described above are based on input image block partitions, but more generally, any type of image parts to be encoded or decoded can be considered, in particular, rectangular parts or more generally geometric parts.

[00110] More generally, although the present invention has been described above with respect to specific embodiments, the present invention is not limited to specific embodiments, and modifications will be clear to a person skilled in the art that they are within the scope of the present invention.

[00111] Many additional modifications and variations are suggested to those skilled in the art by referring to the preceding illustrative embodiments, which are given by way of example only and are not intended to limit the scope of the invention, which is determined solely by the appended claims. In particular, the different features of different embodiments may be interchangeable, where appropriate.

[00112] In claims, the word “including” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. The mere fact that different features are cited in mutually different dependent claims does not indicate that a combination of these features cannot be advantageously used. Petition 870200095992, dated 07 / 31 / 2020, page 38 / 56

Claims

1 / 6 CLAIMS 1. A method for deriving a plurality of reference prediction mode values ​​for encoding or decoding a prediction mode related to a current unit, the method being characterized by: deriving (S201, S202, S503, S504, S505) the first, second, and third reference prediction mode values ​​from the respective prediction modes of at least two neighboring units of the current unit, the first, second, and third reference prediction mode values ​​being different from each other, wherein the number of the plurality of reference prediction mode values ​​for encoding or decoding a prediction mode related to a current unit is three;and wherein deriving (S201, S202, S503, S504, S505) the first, second and third reference prediction mode values ​​comprises verifying whether the respective prediction modes of said at least two neighboring units are the same or different and, if they have the same mode and that mode is a planar prediction mode, setting the first, second and third prediction mode values ​​as a mode value corresponding to the planar prediction mode, a mode value corresponding to a DC prediction mode and a mode value corresponding to a vertical prediction mode, respectively, and wherein the first, second and third reference prediction mode values ​​are usable for encoding or decoding the prediction mode value to be encoded or decoded.

2. Method, according to claim 1, characterized in that the third reference prediction mode value is configured as a mode value corresponding to a planar prediction mode if neither of said first and second reference prediction mode values ​​corresponds to the planar prediction mode.

3. Method, according to claim 1, characterized in that if one of the first and second reference prediction mode values ​​corresponds to a DC prediction mode and the other of the first and second reference prediction mode values ​​corresponds to a planar prediction mode, the additional prediction mode value is configured as a predefined prediction mode value.

4. Method according to claim 3, characterized in that the predefined prediction mode value corresponds to either a horizontal prediction mode or a vertical prediction mode.

5. Method according to claim 1, characterized in that at least two neighboring units comprise the left neighboring unit and the top neighboring unit of the current unit.

6. A method according to claim 1, characterized by deriving said first, second, and third reference prediction mode values, comprises: verifying whether the respective prediction modes of said at least two neighboring units satisfy the prescribed conditions and, if so, configuring the first, second, and third prediction mode values ​​as a planar prediction mode, a DC prediction mode, and a vertical prediction mode, respectively.

7. A method according to claim 1, characterized by deriving said first, second, and third reference prediction mode values, comprises: checking whether the respective prediction modes of said at least two neighboring units are the same or different and, if they have different modes, one of which is a planar prediction mode and the other of which is a DC prediction mode, setting the first and second reference prediction mode values ​​as the two different modes respectively and setting the third reference prediction mode value as a vertical prediction mode.

8. A method according to claim 1, characterized by deriving said first, second, and third reference prediction mode values, comprises: checking whether the respective prediction modes of said at least two neighboring units are the same or different and, if they have different modes, setting the first and second reference prediction mode values ​​as the two different modes respectively; and checking whether the first and second prediction mode values ​​include a planar prediction mode and, if not, setting the third reference prediction mode as a planar prediction mode.

9. Method according to claim 1, characterized by deriving said first, second and third reference prediction mode values, the third reference prediction mode value being configured as the directional prediction mode having the nearest authorized upper angular direction relative to one of the first and second reference prediction mode values.

10. A method according to claim 9, characterized by verifying whether the respective prediction modes of said at least two neighboring units satisfy the prescribed conditions and, if so, setting the third reference prediction mode value as the directional prediction mode having the closest authorized upper angular direction relative to one of the first and second reference prediction mode values.

11. Method according to claim 10, characterized in that said prescribed conditions include the condition that the prediction mode of said neighboring unit is a directional prediction mode.

12. Method for encoding a mode value representing a prediction mode related to a current unit to be encoded, the method being characterized by: deriving (S201, S202, S503, S504, S505) first, second and third reference prediction mode values ​​from respective prediction modes of at least two neighboring units of the current unit, the first, second and third reference prediction mode values ​​being different from each other, wherein the number of reference prediction mode values ​​for encoding a prediction mode related to a current unit is three; and using the derived first, second and third prediction mode values ​​to encode the prediction mode value to be encoded, Petition 870220075322, dated 22 / 08 / 2022, p.8 / 28 4 / 6 where deriving (S201, S202, S503, S504, S505) the first, second and third reference prediction mode values ​​comprises checking whether the respective prediction modes of said at least two neighboring units are the same or different and, if they have the same mode and that mode is a planar prediction mode, setting the first, second and third prediction mode values ​​as a mode value corresponding to a planar prediction mode, a mode value corresponding to a DC prediction mode and a mode value corresponding to a vertical prediction mode, respectively.

13. Method according to claim 12, characterized by: comparing the prediction mode value to be encoded with at least one of the first, second, and third reference prediction mode values; and selecting, based on the comparison, an encoding process, from at least the first and second encoding processes, to apply to the mode value to be encoded.

14. Method, according to claim 13, characterized in that the first coding process comprises coding first information indicating a predetermined relationship between the mode value to be coded and at least one of the first, second and third reference prediction mode values, and the second coding process comprises coding second information representing the mode value to be coded.

15. Method, according to claim 13, characterized in that the first encoding process is selected when the mode value to be encoded is equal to at least one of the three reference prediction mode values, and the second encoding process is selected when the mode value to be encoded differs from each of the three reference prediction mode values.

16. Method, according to claim 13, characterized in that the first encoding process further comprises encoding a flag signaling that the mode value of the current unit is equal to one of the reference prediction mode values.

17. Method for decoding a mode value representing a prediction mode related to a current unit to be decoded, the method being characterized by: deriving (S201, S202, S503, S504, S505) the first, second and third reference prediction mode values ​​from the respective prediction modes of at least two neighboring units of the current unit, the first, second and third reference prediction mode values ​​being different from each other, wherein the plurality number of reference prediction mode values ​​for decoding a prediction mode related to a current unit is three; and using the derived prediction mode values ​​to decode the prediction mode value to be decoded;where deriving (S201, S202, S503, S504, S505) the first, second and third reference prediction mode values ​​comprises checking whether the respective prediction modes of said at least two neighboring units are the same or different and, if they have the same mode and that mode is a planar prediction mode, setting the first, second and third prediction mode values ​​as a mode value corresponding to the planar prediction mode, a mode value corresponding to a DC prediction mode and a mode value corresponding to a vertical prediction mode, respectively.

18. Method according to claim 17, characterized by: selecting, based on a flag indicating that the mode value of the current unit is equal to one of the reference prediction mode values, a decoding process, from among at least the first and second decoding processes, to apply to the mode value to be decoded.

19. Method, according to claim 18, characterized in that the first decoding process comprises decoding first information indicating a predetermined relationship between the mode value to be decoded and at least one of the first, second and third reference prediction mode values, and the second decoding process comprises decoding second information representing the mode value to be decoded.

20. Method, according to claim 18, characterized in that the first decoding process is selected when the mode value to be decoded is equal to at least one of the three reference prediction mode values, and the second decoding process is selected when the mode value to be decoded differs from each of the three reference prediction mode values.

21. Device (1000, 1200, 1300) for deriving a plurality of reference prediction mode values ​​for encoding or decoding a prediction mode related to a current unit, the device being characterized by comprising: means for deriving (S201, S202, S503, S504, S505) the first, second and third reference prediction mode values, from the respective prediction modes of at least two neighboring units of the current unit, the first, second and third reference prediction mode values ​​being different from each other, wherein the number of the plurality of reference prediction mode values, for encoding or decoding a prediction mode related to a current unit, is three;and whereby deriving (S201, S202, S503, S504, S505) the first, second and third reference prediction mode values ​​comprises verifying whether the respective prediction modes of said at least two neighboring units are the same or different and, if they have the same mode and that mode is a planar prediction mode, configuring the first, second and third prediction mode values ​​as a mode value corresponding to the planar prediction mode, a mode value corresponding to a DC prediction mode and a mode value corresponding to a vertical prediction mode, respectively, and wherein the first, second and third reference prediction mode values ​​are usable for encoding or decoding the prediction mode value to be encoded or decoded. Petition 870220075322, dated 22 / 08 / 2022, p. 11 / 28;