EP3685283A1 - Procedes de codage et de decodage d'une image - Google Patents
Procedes de codage et de decodage d'une imageInfo
- Publication number
- EP3685283A1 EP3685283A1 EP18755720.2A EP18755720A EP3685283A1 EP 3685283 A1 EP3685283 A1 EP 3685283A1 EP 18755720 A EP18755720 A EP 18755720A EP 3685283 A1 EP3685283 A1 EP 3685283A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- transform
- sub
- coefficients
- block
- transforms
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000001131 transforming effect Effects 0.000 claims abstract description 8
- 230000000717 retained effect Effects 0.000 claims abstract description 6
- 230000009466 transformation Effects 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000000844 transformation Methods 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 17
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Definitions
- the field of the invention is that of signal compression, in particular a digital image or a sequence of digital images, divided into blocks of pixels.
- the invention relates more particularly to the transformation of a block of pixels, whether or not a prediction. It finds particular application in a context of competition transformations.
- the encoding / decoding of digital images applies in particular to images from at least one video sequence comprising:
- the present invention applies similarly to the coding / decoding of 2D or 3D type images.
- the invention may notably, but not exclusively, apply to the video coding implemented in the current video codecs AVC (for "Advanced Video Coding” in English) and HEVC (for "High Efficiency Video Coding”). and their future extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, post-HEVC, etc.), and the corresponding decoding.
- AVC Advanced Video Coding
- HEVC High Efficiency Video Coding
- transformations are usually applied to a residual signal, difference between the pixels of the image and the prediction that is made for a given block. Transformations can be implemented as coefficient matrices, using fast algorithms. In both cases they require storing the transform coefficients. The number of coefficients is all the greater as the transformations are large.
- the number of coefficients is also multiplied in the case where the coder / decoder uses several transforms, in a context of competition transforms, for example described in the publication of A. Arrufat et al., Entitled “Rate-distortion optimized transform competition for intra coding in HEVC ", published in the Proceedings of the IEEE Visual Communication on Image Processing Conference in December 2014, held in Valletta, Malta. pp.73.
- the best transform for the current block is selected from several transforms available for encoding, according to a rate-distortion optimization criterion. For example, 5 transforms are proposed for the blocks of size 4x4 and 17 transformed for the blocks of size 8x8.
- trigonometric transforms whose number of coefficients is limited. However, the choice is limited because there are only 16 DCT / DST trigonometric transforms.
- the invention improves the situation.
- the invention particularly aims to overcome these disadvantages of the prior art.
- an object of the invention is to propose a solution that allows the use of a large number of distinct transforms while reducing the amount of storage resources required. 5. Presentation of the invention
- Transforming the current block into a transformed decoded block from the resulting transform by successively applying the vertical sub-transform and then the horizontal sub-transform or the horizontal sub-transform and then the vertical sub-transform;
- the transformation step comprises, for the application of at least one sub-transform of the selected transform:
- the kernel transform reading in a memory the coefficients of at least one distinct sub-transform, called the kernel transform, belonging to the plurality of transforms, the at least one kernel transform comprising a number of lines (Mh ', M'v) of coefficients null less than the number of rows and / or the number of columns of the current block, and the modified use of the coefficients read, their absolute values being retained, the read coefficients being applied to the M h ', respectively Mv', first rows of the block , the Mh-M'h lines respectively following columns of the transformed block being null by construction.
- the kernel transform belonging to the plurality of transforms
- the at least one kernel transform comprising a number of lines (Mh ', M'v) of coefficients null less than the number of rows and / or the number of columns of the current block, and the modified use of the coefficients read, their absolute values being retained, the read coefficients being applied to the M h ', respectively Mv', first rows of the block , the Mh-M
- the invention also relates to a method of encoding at least one digital image, said image being divided into a plurality of blocks of pixels processed in a defined order, said method comprising the following steps, implemented for a current block , comprising a predetermined number (Mv) of lines and a predetermined number (Mh) of columns: Selecting a transform from among a plurality of transforms, a transform expressing itself as a vertical sub-transform of size Mv * Mv and a horizontal sub-transform of size Mh * Mh;
- the transformation step comprises, for the application of at least one sub-transform of the selected transform:
- the kernel transform reading in a memory the coefficients of at least one distinct sub-transform, called the kernel transform, belonging to the plurality of transforms, the at least one kernel transform comprising a number of lines (Mh ', M'v) of coefficients less than the number of rows and / or the number of columns of the current block, and the modified use of the coefficients read, their absolute values being retained, the read coefficients being applied to the Mh ', respectively Mv', first rows of the block, the Mh-M'h lines respectively following columns of the transformed block being null by construction.
- the principle of the invention consists in producing at least two distinct sub-transformations from the coefficients of a single sub-core transform.
- the invention thus proposes producing a system of transforms from separable sub-transforms constructed from one or more core transformations. In this way, the number of transform coefficients to be stored in memory is reduced.
- This principle is applicable to both the encoder and the decoder.
- the at least one core sub-transform comprises a number of lines Mh ', M'v of non-zero coefficients less than the number of lines Mh and / or the number of columns Mv of the current block and the Read coefficients are used for the first Mh lines respectively the first Mv columns of the block.
- the modified use of the coefficients of the core sub-transform comprises a reversal of the lines of the core sub-transform.
- This sub-transformed construction with horizontal patterns, respectively vertical, inverted compared to the representation offered by the core allows, without storage of additional coefficients, to better represent some residual blocks.
- a line vector of the kernel sub-transform comprising decreasing coefficients is transformed into an increasing line vector capable of considering an increasing gradient in the block to be encoded.
- the coding performance is thus improved for this type of block.
- the modified use of the coefficients of the core sub-transform comprises at least one permutation of two coefficients and at least one sign change of a coefficient.
- This sub-transformed construction makes it possible, without storing additional coefficients, to better represent residual blocks with horizontal patterns, respectively vertical, with patterns spatially offset with respect to the representation offered by the core.
- a kernel line vector comprising coefficients capable of representing a contour at a given position will enable the sub-transformed construct, by position exchange, to accurately process contours at another position.
- the coding performance is thus improved for this type of block.
- the invention therefore makes it possible to carry out various transformations from the same core to better adapt to different types of blocks, without increasing the quantity of coefficients to be stored.
- the plurality of transforms comprises:
- the kernel transform comprises only Mh ' ⁇ Mh lines of non-zero coefficients, we only need to store M' 2 coefficients.
- a second vertical sub-transform Avl C which uses the coefficients of the first K core sub-transform with reversal of its lines;
- a first sub-horizontal transformation AhO B of size Mh * Mh which uses, identically, the coefficients of a second core sub-transform K 'of size Mh'xMh with Mh' less than Mh;
- a second horizontal sub-transform Ahl D which uses the coefficients of the second core sub-transform K with rollover of its lines.
- a system is made comprising the following 4 transforms:
- the invention also relates to a device adapted to implement the decoding method according to any one of the particular embodiments defined above.
- This device may of course include the various features relating to the method according to the invention. Thus, the features and advantages of this device are the same as those of the decoding method, and are not detailed further.
- such a device is included in a terminal equipment.
- the invention also relates to a device adapted to implement the coding method according to any one of the particular embodiments defined above.
- This device may of course include the various features relating to the method according to the invention. Thus, the features and advantages of this device are the same as those of the coding method, and are not detailed further.
- such a device is included in a terminal equipment.
- the invention also relates to a user terminal equipment comprising a device for decoding at least one image and / or a coding device for at least one image according to the invention.
- the invention also relates to a computer program comprising instructions for implementing the steps of a method of encoding at least one image as described above, when this program is executed by a processor.
- the invention also relates to a computer program comprising instructions for implementing the steps of a method for decoding at least one image 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, whether or not integrated in the coding or decoding device of at least one image according to the invention, optionally removable, storing a computer program implementing a coding or decoding method, as described above.
- FIG. 1 schematically illustrates a rectangular block x to be processed
- FIGS. 2A and 2B schematically illustrate the matrices of a vertical sub-transform and a horizontal sub-transform applicable to the x block
- FIG. 3 schematically illustrates the transformation of a line of the block x by the horizontal sub-transformant Ah
- Fig. 4 schematically illustrates a horizontal sub-transform A formed from a kernel sub-transform K comprising a lower number of lines
- FIG. 1 schematically illustrates a rectangular block x to be processed
- FIGS. 2A and 2B schematically illustrate the matrices of a vertical sub-transform and a horizontal sub-transform applicable to the x block
- FIG. 3 schematically illustrates the transformation of a line of the block x by the horizontal sub-transformant Ah
- Fig. 4 schematically illustrates a horizontal sub-transform A formed from a kernel sub-transform K comprising a lower number of lines
- FIG. 1 schematically illustrates
- FIG. 5 shows an example of a horizontal sub-transform A and an example of a horizontal sub-transform D deduced from the sub-transform A according to the invention
- FIG. 6 schematically illustrates the transformation of a line of the block x by a horizontal sub-transform formed from a core comprising a lower number of lines
- Fig. 7 shows a numerical example of horizontal sub-transform A
- FIG. 8 presents a numerical example of horizontal sub-transform D deduced from A by a permutation operation of the coefficients with the sign according to the invention
- FIG. 9 shows a numerical example of a core K comprising a number M 'of lines less than the number of lines of the current block
- FIG. 10 shows a numerical example of a core f (K) deduced from K by a subsampling operation from the kernel K according to the invention
- FIG. 11 shows a numerical example of a kernel derived from K by a line reversal operator applied to each of the lines of the kernel K
- FIG. 12 presents a numerical example of a kernel derived from K by a sign exchange reversal operator performed on each of the K kernel lines
- FIG. 13 compares the performance curves of a transform competition coding device according to the invention and according to the prior art
- FIG. 14 describes the steps of a method of coding an image according to an embodiment of the invention
- FIG. 15 describes the steps of a method of decoding an image according to the invention
- Figure 16 schematically illustrates an example of a hardware structure of a coding device of the invention
- Figure 17 schematically illustrates an example of a hardware structure of a decoding device of the invention.
- the general principle of the invention is based on the storage in memory of the coefficients of a kernel sub-transform and on the use of the coefficients of this kernel to apply at least two distinct sub-transforms to a block to be coded or decoded.
- the invention applies both to coding and to decoding an image sequence in a context of competition of transforms.
- each transformation T n is composed of two sub-transformations, vertical and horizontal, named A v , n and Ah, n with n integer between 0 and Nl .Av, n acts on the columns and Ah, n on the lines of a block to transform x.
- the block x is a residual block, resulting from the difference between the current block and its prediction, but the invention is not limited to this particular case and concerns any type block.
- X n denotes the transformed block resulting from the transformation by T n .
- X n is expressed as follows: Xn - Av, n * (Ah, n * X t ) t (i)
- the invocation order of the sub-transforms can be inverted, for example:
- the vertical sub-transform A v , n can be represented as a matrix of size M v rows and M v columns, as illustrated by Figure 2A.
- the horizontal sub-transform Ah, n can be represented as a matrix of size Mh rows and Mh columns, as illustrated by Figure 2B.
- a transformed line L is obtained, as shown in FIG. 3.
- L n , k (ah, n, k, o * lo + a h , n, k, i * k + a h , n, k, 2 * + ... + a h , n, k, Mh- i * I Mh-i + offset)>> Nbit (5)
- At least one sub-transformant K is stored in which the coefficients are stored in memory and the coefficients of this kernel are used to produce at least two distinct sub-transforms, without the necessity of storing in memory additional coefficients.
- this use may comprise a modification of the position and / or the sign of at least one coefficient of the core sub-transform, without changing its absolute value.
- a first sub-transform A of the K kernel by applying all the coefficients of K to the same elements of the block.
- a or a part of A is identical to the kernel K, according to the dimensions of K with respect to the sub-transform A.
- K comprises a number of lines M 'less than the number of lines M of A.
- the transformation is then carried out by A by applying the coefficients of the M' first lines of K to the block. This amounts to constructing the sub-transform illustrated in FIG. 4 for the horizontal sub-transform Ah, n.
- a second sub-transform D of A is further deduced by permutation or change of position of the coefficients of A.
- D depends only on A and is written as a permutation of the values of the matrix A. Its coefficients are used without modification, but to different elements of the block, that is to say, positioned differently.
- An operator f according to the invention may belong to the group comprising:
- the invention saves memory space.
- the sub-transformation Ah presents, in its matrix form, a set of lines (Mh-Mh ' ⁇ 1) containing only zeros.
- Mh-M'h lines of Ah are null and M'h lines are not zero.
- the transformed vectors will have zero-valued components at positions where sub-transformed matrix lines are zero, as shown in Figure 6.
- the kernel K of the transformation only requires the storage of Mh * M'h coefficients. Moreover, only Mh coefficients of Ln will be calculated, the following Mh-M'hs are zero. The application of the sub-transformed Ah is therefore limited to the calculation of M'h frequency coefficients, the other Mh-M'h being null by construction.
- the most significant coefficients of information in video coding are the so-called low frequency coefficients, that is to say corresponding to those from the first lines of the sub-transformations.
- the coefficients carry the details that are useless in low-rate coding because they are often suppressed during the quantization, because they are negligible compared to the first coefficients resulting from the computation of the sub-transform from its first lines.
- TheTo transform is composed of a DCT type 2 horizontal subprocessor and a DCT type 2 vertical subprocessor (of respective 8x8 and 4x4 sizes).
- core subprocess A is presented in relation to Figure 7. It is a matrix that is preferably orthogonal, that is to say, it makes it possible to reconstruct, with a small factor, with a small error, the pixels, if one carries out the transformation of a block followed by the inverse transformation. who is then transposed.
- the transform can be applied directly by reading the coefficients stored for A and by applying them to the elements of the block to be treated, according to the operator f, without having to store its own coefficients.
- the sub-transform A is obtained from a kernel K of dimensions Mh'xMh with Mh ' ⁇ Mh, as illustrated in FIG. 9.
- the sub-transform A can therefore be expressed from the K matrix matrix of dimensions MhxM'h and a zero matrix O of size Mhx (Mh-M'h) which contains only zeros.
- the To transform is composed of a type 2 DCT for rows and columns (8x8 and 4x4 sizes respectively).
- f () and g () are, for example, line-by-line permutation operators.
- the storage required for the transformation of a residual block is as follows: • 64+ 16 coefficients for the transform T0;
- the sub-transform Ah, 1 is restricted to the kernel K1 used in the first embodiment, so that the number of coefficients to be stored becomes:
- the total of coefficients to be stored reaches 120, which is notoriously lower than the prior art.
- the Mv * Mv sub-transform B may also be in the form of a smaller K2 core than in B.
- the K2 kernel consists of the first two lines, which are taken from the kernel K of A. This sampling is done by subsampling K (one column 2 is taken from the first and every other line starting with the first line).
- the To transform is composed of a type 2 DCT for rows and columns (8x8 and 4x4 respectively);
- fl () is a coefficient reversal operator performed on each of the lines of the kernel K.
- the result fl (K) obtained is in the form illustrated in Figure 11.
- f2 () is a reversal operator with a sign exchange of some of the kernel lines K. In this example, it is performed on the second line.
- the result f2 (K) then takes the form illustrated in Figure 12.
- square blocks for example 8 by 8 pixels, are considered. Of course, other sizes are possible.
- the To transform is composed of a type 2 DCT for rows and columns (of respective size 8).
- A is a sub-transformed 8x8 core.
- f () is a permutation function operating line by line.
- the necessary storage is as follows:
- sub-transform A is obtained from a kernel K of smaller dimensions, for example that used in the first embodiment and which comprises 3 lines.
- the coefficients to be stored are therefore limited in this case to those of the 3 rows of the nucleus, ie to 24 coefficients.
- 64 + 24 88 coefficients.
- a transform is formed from a vertical horizontal DCT2 and a sub-transform equal to A or deduced from A by a horizontal vertical operator f respectively.
- a particular example is described here:
- the transformation To consists of a type 2 DCT for rows and columns (of respective size 8).
- A is a sub-transformed 8x8 core.
- An 8-transform system is thus obtained which requires the storage of two sub-transforms (A and B, with A ⁇ B).
- the sub-transformants can express themselves, one or the other or both, in the form of a kernel as seen previously.
- FIG. 13 the impact of the invention on the coding performance under the conditions of the embodiments presented previously in sections 4 and 5 is illustrated. It presents two curves of a measurement of a debit criterion. -distorsion (for "Rate-Distortion” in English) according to the number of transforms in competition (equal to DCT II + 4 or DCT II +8).
- a single stored transformation allows generating four transformations (4th embodiment) it requires only 64 coefficients stored. We see that the feature with the invention notoriously uses less memory, while preserving the rate-distortion compromise that is not significantly increased.
- the rectangular blocks may comprise a different number of pixels than that of the example just described, for example 2, 4, 8, 16, 32, etc., even an odd number.
- a block C to be processed is selected.
- a prediction P of the original block C is determined. It is a prediction block constructed by known means, typically by motion compensation (block from a previously decoded reference image) in the case of a so-called INTER prediction, or INTRA prediction (block constructed from the decoded pixels immediately adjacent to the current block in the ID image).
- the prediction information related to P is encoded in the bit stream TB or compressed file FC. It is assumed here that there are J possible prediction modes ⁇ , M P2,..., M Pj, with nonzero integer J, and that the prediction mode chosen for block C is the MPj mode.
- step E3 the residue x is transformed into a transformed residue block, called RT, by a transform. It is specified that steps E1 and E2 are optional and that step E3 can also be applied to the current block.
- the transformed Tn obtained is applied to the residual block x and the transformed block Xn is obtained.
- the coefficients of the transformed block are stored in memory.
- the coefficients of the horizontal and vertical sub-transforms that make up the transform Tn are stored in memory and the encoder accesses them directly; or
- the coefficients of at least one of the horizontal and vertical sub-transforms that make up the transform Tn are not stored in memory, but are obtained from those of a kernel sub-transform stored in memory.
- the application of the sub-transform is performed by a predetermined operator f which reads the coefficients of the kernel transform, modifies them and applies them directly to the elements of the block as previously described.
- the block Xn is then quantized in E33 in a conventional manner with a given quantization precision, for example called QP (for "Quantization Parameter" in English) in the HEVC standard, then the quantized values are scanned in a predetermined order so as to constitute a one-dimensional vector RQ [i], where the index i varies from 0 to M v xMh-1.
- the index i is called the frequency of the coefficient RQ [i].
- these coefficients are scanned in increasing frequency order, for example along a zigzag path, which is known from the JPEG fixed image coding standard.
- the obtained vector is then encoded in E34 in conventional form using a CABAC type binary code as described in D. Marpe, H. Schwarz, T. Wiegand, "Context-based adaptive binary arithmetic coding in the .264 / AVC standard video compression" IEEE Transactions on Circuits and Systems for Video Technology (Volume: 13, Issue: 7), pp. 620-636, July 2003, in the form of an STR encoded data stream.
- the performance of the TO transform on the residual block x is evaluated according to a rate-distortion criterion.
- a binary coding cost R of the coefficients of X0Q is evaluated.
- An inverse quantization is applied to the quantized transformed residue block XOQ, the inverse transform of TO is applied to it.
- E36 it is checked whether there are any transforms to be tested. If n ⁇ N, then the following transform to be tested is selected, for example Tl. The substeps E31 to E37 are repeated for each transform Tn of the plurality of transforms in competition.
- the one with the best performance is selected in E38.
- the chosen transformation is indicated to the decoder in the form of an identifier, for example an index carried by a binary code commonly carried by a CABAC code.
- T n o the selected transform.
- the coded quantized coefficients corresponding to the transform T n o are obtained, for example by reading the memory where they have been stored, or else by applying again the transform TnO to the residual block x and applying the quantization to obtain Res T Q.
- a set of syntax elements is coded for the current block C, among which are the quantized transformed residual coefficients RQ [i], the signs of these coefficients, the prediction mode M Pk etc.
- entropic coding is used to exploit the distribution of syntax elements to reduce the bit rate.
- the STR bit stream can be directly presented to a decoder or transmitted to it via a telecommunications network in the form of a stream or a file. Once received, it is processed by the decoder, which implements a decoding method of a sequence of images according to the invention.
- the STR data stream has been generated via the coding method presented in connection with FIG. 14.
- the STR data stream is provided as input to a decoding device DEC, which will be described in connection with FIG. .
- the decoding of the stream is done frame by frame. For each image to be decoded, the decoding method realizes the decoding of the block-by-block image. A current image is considered to be decoded.
- a block to be processed is selected from the current image le, called current block.
- the data of the bitstream STR corresponding to the block B c are decoded by entropy decoding to provide syntax elements relating to the coding 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 a plurality of predetermined prediction modes, a group of quantized coefficients of a residue Res'iQ of a prediction of this current block B c and a Tr-ID of a transform to be applied to the residue block.
- the coefficients are traversed in an inverse order to that applied to the encoder and are dequantized at D3, that is to say that a cropping factor (inverse scaling) is applied to them, for example according to HEVC.
- the values obtained are arranged to form a block of coefficients Xc.
- the transform TnO 'to be applied to the residual residue block is identified from the decoded Tr-ID index.
- the coefficients of the sub-transforms that make up the TnO 'transform are obtained by applying an operator f to the coefficients of a transform A, B or a K core stored in memory, as previously described.
- the current block is predicted according to the decoded prediction mode in D1.
- the prediction can be based, in a mode called inter, on previously decoded and reconstructed reference images (IRO, IRI, ...), or, in a mode called intra, from blocks already decoded for example in the same picture.
- IRO, IRI, (7) previously decoded and reconstructed reference images
- intra from blocks already decoded for example in the same picture.
- a predicted block P ' is obtained.
- the predicted block P ' is added to the spatial residue block xc in order to obtain the local reconstructed block Rec which can be filtered in order to eliminate the effects of blocks. It is stored in a memory M l in order to be used for the prediction of the next blocks.
- the reconstructed Rec 'block is added to the current image ICR.
- step D9 it is checked whether all the blocks of the image to be decoded have been decoded and reconstructed. In the negative case, a new current block is identified in DO along a predetermined path of the image to be decoded and the decoding method resumes in step D1 for this block.
- the image Ic R is filtered in D10 and saved in a list of reference images I1 R , I2 R , ... for later use as reference when decoding subsequent images of the image sequence.
- the reference software of the HEVC standard has been modified to put in competition of 5 transformations according to the prior art (in this example, the transformations 4x4, 8x8, 16x16 and 32x32 for square blocks) as presented in the Arrufat publication cited above.
- module and “entity”, used in this document, may correspond either to a software component, or to a hardware component, or to a set of hardware and / or software components, capable of implementing perform the function (s) described for the module or entity concerned.
- FIG. 16 an example of a simplified structure of a device 100 for encoding a digital image according to the invention is now presented.
- the device 100 implements the coding method according to the invention which has just been described in relation to FIG. 14.
- the device 100 comprises a processing unit 110, equipped with a processor ⁇ , and driven by a computer program Pgl 120, stored in a memory 130 and implementing the method according to the invention.
- the code instructions of the computer program Pgi 120 are for example loaded into a RAM memory before being executed by the processor of the processing unit 110.
- the processor of the processing unit 110 sets implement the steps of the method described above, according to the instructions of the computer program 120.
- the device 200 comprises a computing machine dedicated to or configured to:
- the device 100 comprises at least one unit for obtaining a plurality of transforms, a transform expressing itself in the form of a vertical sub-transform and a sub-transform.
- horizontal transform a selection unit of a transform of the plurality of transforms, a transformation unit of the current block into a transformed block, using the selected transform, a block encoding unit processor for producing coded data representative of the transformed block and a unit for inserting the coded data into a bitstream representative of the coded picture.
- the transformation according to the invention comprises, for at least one transform of the majority of transforms and for the application of at least one sub-transform of the selected transform:
- These units are driven by the ⁇ processor of the processing unit 110.
- a device 100 may be integrated with a user terminal TU.
- the device 100 is then arranged to cooperate at least with the following module of the terminal TU: a data transmission / reception module E / R, through which the bit stream TB or the compressed file FC is transmitted in a network telecommunications network, for example a wired network or a wireless network.
- a network telecommunications network for example a wired network or a wireless network.
- FIG. 17 an example of a simplified structure of a device 200 for decoding an image sequence according to the invention is now presented.
- the device 200 implements the decoding method according to the invention which has just been described in its different embodiments.
- the device 200 comprises a processing unit 210, equipped with a processor ⁇ 2, and driven by a computer program Pg2 220, stored in a memory 230 and implementing the method according to the invention.
- the code instructions of the computer program Pgi 220 are for example loaded into a RAM memory before being executed by the processor of the processing unit 210.
- the processor of the processing unit 210 sets implement the steps of the method described above, according to the instructions of the computer program 220.
- the device 200 comprises a computing machine dedicated to or configured to:
- Decoding current block coefficients from encoded data Decoding an index representing an identifier of a transform among a plurality of transforms, a transform expressing itself in the form of a vertical sub-transform of size MvxMv and of a horizontal sub-transform of size MhxMh;
- the device 200 comprises the following units:
- the transformation according to the invention comprises, for at least one transform of the plurality of transforms and for the application of at least one sub-transform of the identified transform:
- the device 200 further comprises a memory or unit M2 for storing the coefficients of the at least one kernel transform.
- the device 200 can be integrated with a user terminal TU. It is then arranged to cooperate at least with the following modules of the terminal TU: a data transmission / reception module E / R, through which the bitstream
- TB or the compressed FC file is received from a telecommunications network, for example a wired network or a wireless network; a display module DISP decoded images.
- the invention that has just been described in its various embodiments applies to any block video compression scheme.
- the encoding and decoding methods described above can be integrated into standard video encoders / decoders such as H.2266, HEVC / H.265, AVC / H.264 or a future Post-HEVC standard, or still in 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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Discrete Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1758789A FR3071690B1 (fr) | 2017-09-22 | 2017-09-22 | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes |
PCT/EP2018/070123 WO2019057368A1 (fr) | 2017-09-22 | 2018-07-25 | Procedes de codage et de decodage d'une image |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3685283A1 true EP3685283A1 (fr) | 2020-07-29 |
Family
ID=60955170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18755720.2A Pending EP3685283A1 (fr) | 2017-09-22 | 2018-07-25 | Procedes de codage et de decodage d'une image |
Country Status (4)
Country | Link |
---|---|
US (2) | US11159794B2 (fr) |
EP (1) | EP3685283A1 (fr) |
FR (1) | FR3071690B1 (fr) |
WO (1) | WO2019057368A1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3071690B1 (fr) * | 2017-09-22 | 2022-09-30 | Bcom | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes |
CN114420066B (zh) * | 2022-01-20 | 2023-04-25 | 海宁奕斯伟集成电路设计有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10863200B2 (en) * | 2014-07-25 | 2020-12-08 | Intel Corporation | Techniques for performing a forward transformation by a video encoder using a forward transform matrix |
CN111226442B (zh) * | 2017-08-04 | 2022-06-21 | Lg电子株式会社 | 配置用于视频压缩的变换的方法及计算机可读存储介质 |
FR3071690B1 (fr) * | 2017-09-22 | 2022-09-30 | Bcom | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes |
-
2017
- 2017-09-22 FR FR1758789A patent/FR3071690B1/fr not_active Expired - Fee Related
-
2018
- 2018-07-25 US US16/638,644 patent/US11159794B2/en active Active
- 2018-07-25 EP EP18755720.2A patent/EP3685283A1/fr active Pending
- 2018-07-25 WO PCT/EP2018/070123 patent/WO2019057368A1/fr unknown
-
2021
- 2021-10-05 US US17/494,299 patent/US11736694B2/en active Active
Non-Patent Citations (1)
Title |
---|
CHEN J ET AL: "Algorithm description of Joint Exploration Test Model 7 (JEM7)", no. G1001_v1; JVET-G1001, 19 August 2017 (2017-08-19), pages 1 - 48, XP030150980, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet/doc_end_user/documents/7_Torino/wg11/JVET-G1001-v1.zip JVET-G1001-v1.docx> [retrieved on 20170819] * |
Also Published As
Publication number | Publication date |
---|---|
WO2019057368A1 (fr) | 2019-03-28 |
US20220030239A1 (en) | 2022-01-27 |
US20210136375A1 (en) | 2021-05-06 |
US11159794B2 (en) | 2021-10-26 |
FR3071690A1 (fr) | 2019-03-29 |
US11736694B2 (en) | 2023-08-22 |
FR3071690B1 (fr) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3061246B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR2932637A1 (fr) | Procede et dispositif de codage d'une sequence d'images | |
WO2015055937A1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
EP3075155B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
WO2016124867A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs, et programmes d'ordinateurs associes | |
EP3449631B1 (fr) | Procede de decodage d'une image numerique, procede de codage, dispositifs, et programmes d'ordinateurs associes | |
EP3685283A1 (fr) | Procedes de codage et de decodage d'une image | |
EP4277274A1 (fr) | Procédés et appareils de codage et décodage en couches | |
EP3180914B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
EP3198876B1 (fr) | Génération et codage d'images intégrales résiduelles | |
WO2017037368A2 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR2927744A1 (fr) | Procede et dispositif de filtrage d'un signal numerique. | |
FR2956789A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
EP3529987A1 (fr) | Procédé de codage et de décodage de paramètres d'image, dispositif de codage et de décodage de paramètres d'image et programmes d'ordinateur correspondants | |
FR3057130B1 (fr) | Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes | |
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 | |
FR3044507A1 (fr) | Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants | |
Švihálek | Metody zpracování plenoptických obrazových dat | |
FR3083042A1 (fr) | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes | |
WO2018178342A1 (fr) | Procede de decodage d'au moins une image numerique, procede de codage, dispositifs, equipement terminal et programmes d'ordnateurs associes | |
FR3035761A1 (fr) | Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants | |
Švihálek | Methods for plenoptic image data processing Metody zpracovánı plenoptických obrazových dat | |
EP3854088A1 (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 | |
WO2020058595A1 (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 | |
WO2009007603A2 (fr) | Procedes et dispositifs de codage et de decodage d'images numeriques tenant compte du type des blocs source, signal et produits programme d'ordinateur correspondants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20200131 |
|
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 |
|
17Q | First examination report despatched |
Effective date: 20210526 |
|
RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: FONDATION B-COM |