WO2015052064A1 - Method for coding and decoding floating data of an image block and associated devices - Google Patents

Method for coding and decoding floating data of an image block and associated devices Download PDF

Info

Publication number
WO2015052064A1
WO2015052064A1 PCT/EP2014/071112 EP2014071112W WO2015052064A1 WO 2015052064 A1 WO2015052064 A1 WO 2015052064A1 EP 2014071112 W EP2014071112 W EP 2014071112W WO 2015052064 A1 WO2015052064 A1 WO 2015052064A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
image
prediction
coding
residual error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2014/071112
Other languages
French (fr)
Inventor
Dominique Thoreau
Mikael LE PENDU
Yannick Olivier
Christine Guillemot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR1452220A external-priority patent/FR3010605A1/en
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of WO2015052064A1 publication Critical patent/WO2015052064A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers

Definitions

  • the invention relates to the general domain of image coding. More specifically, the invention relates to a method for coding to a coded data signal an image block whose data are represented by floating values and a method for decoding a stream of coded data representative of an image block whose data are represented by floating values. The invention also relates to methods for coding and decoding a sequence of images and devices implementing these methods.
  • Intra-image prediction is used to improve the compression of a sequence of images. It comprises, for a current image block, the generation of a prediction image block and the coding of a difference, also called residual image block, between the current image block and the prediction image block. The more the prediction image block is correlated with the current image block, the lower the number of bits required to code the current image block and therefore the more efficient the compression.
  • Examples of such methods include those defined by the MPEG-4 AVC/H.264 standard described in the ISO/I EC 14496-10 document, or those defined by the HEVC (High Efficiency Video Coding) standard described in the document (B. Bross, W.J. Han, G. J. Sullivan, J. R. Ohm, T. Wiegand JCTVC-K1003, "High Efficiency Video Coding (HEVC) text specification draft 9," Oct 201 2.).
  • HEVC High Efficiency Video Coding
  • C p is one of the R, G or B components of a pixel, with M and E representing mantissa and exponent respectively.
  • RGBE with E meaning exponent
  • OpenEXR RGB half float cf K. Myszkowski, R Mantiuk, G Krawczyk “High Dynamic Range video,” Synthesis Lectures on Computer Graphics and Animation, Morgan & Claypool Publishers 2008
  • RGBE with E meaning exponent
  • OpenEXR RGB half float cf K. Myszkowski, R Mantiuk, G Krawczyk “High Dynamic Range video,” Synthesis Lectures on Computer Graphics and Animation, Morgan & Claypool Publishers 2008
  • a mantissa comprising Nm bits which enables the mantissa values to extend between 0 and 2 Nm -1 , and
  • the values expressed with a floating representation composed of 1 sign bit, Nm mantissa bits and Ne exponent bits can vary from 0 to:
  • the invention relates to a method for coding, to a coded data signal, an image block whose image data are represented by floating values.
  • Each floating value being expressed by a mantissa and an exponent, the method is characterised in that it comprises the following steps:
  • said exponent value thus determined is coded without loss.
  • said exponent value is predicted by a prediction value and the difference between the prediction value and the exponent value is coded.
  • the prediction value is defined from a causal neighbouring area formed of at least one image block previously processed by said method.
  • the causal neighbourhood is formed of a block belonging to the image to which the block to be coded belongs and/or of at least one block belonging to at least one other image different from the image to which the image block to be coded belongs.
  • the method comprises a step of selecting a coding mode for the image block to be coded from a set of coding modes during which step the coding mode selected is that which minimises a compromise between a minimum reconstruction error for this image block coded and then decoded according to this coding mode and a minimum coding cost taking into account the coding cost according to this mode of coding the exponent's unique value and the cost of coding the mantissas of the floating values representing the image data of the prediction residual error block.
  • the invention also relates to a method for decoding a coded data signal representative of an image block whose data are represented by floating values. Each floating value being expressed by a mantissa and an exponent, the method is characterised in that it comprises the following steps:
  • the invention relates to a coded data signal representative of an image block whose data are represented by floating values.
  • Each item of floating data being expressed by a mantissa and an exponent, the signal is characterised in that it comprises at least one item of coded data describing a single exponent value for floating values and at least one other item of coded data describing the mantissas of floating values representing the image data of the prediction error block of the image block.
  • the invention relates to a device for coding, to a coded data signal, an image block whose image data are represented by floating values.
  • a device for coding to a coded data signal, an image block whose image data are represented by floating values.
  • Each floating value being expressed by a mantissa and an exponent, the device is characterised in that it comprises the following means for:
  • the invention relates to a device for decoding a coded data signal representative of an image block whose data are represented by floating values.
  • a coded data signal representative of an image block whose data are represented by floating values.
  • Each floating value being expressed by a mantissa and an exponent, the device is characterised in that it comprises the following means for:
  • - Fig. 1 depicts an example of the definition of an image block according to the HEVC standard
  • Fig. 2 depicts a diagram showing the steps of a method for coding an image block whose image data are represented by floating values
  • Fig. 3 depicts a diagram showing the steps of a method for coding an exponent value
  • Fig. 4 depicts an example of the causal neighbourhood of an image block
  • Fig. 5 depicts a diagram showing the steps of an embodiment of the method for decoding a coded data signal
  • FIG. 6 depicts an example of the internal architecture of a device. 5. Detailed description of the invention
  • the invention relates to a method for coding an image block B c ⁇ whose data are represented by floating values to a coded data signal F, a method for decoding a coded data signal F representative of an image block B c whose data are represented by floating values and a coded data signal F representative of a prediction error block relative to an image block B c whose data are represented by floating values.
  • An image block is from an image which itself may be from a sequence of images.
  • An image block comprises pixels or image points with each of which at least one item of image data represented by one (or several) floating value(s) is associated.
  • An item of image data is, for example, an item of luminance data or an item of chrominance data.
  • image block hereafter includes any set of image data to which a transform is possibly applied. Though it is usual to use square- or rectangular-shaped blocks, the invention is in no way limited to these shapes and indeed any shape may be used.
  • an image block may be a macroblock to which a DCT (Discrete Cosinus Transform) or any other transform such as wavelet decomposition is applied.
  • an image block in the sense of the invention, corresponds to a Transform Unit (TU).
  • TU Transform Unit
  • the HEVC standard defines a recursive partitioning of an image into prediction units (PU) and each PU can in turn be decomposed into several transform units TU.
  • Each unit TU is then encoded by applying a suitable transform.
  • a unit PU can thus be encoded using various transforms depending on the partitioning of this PU into TUs.
  • each TU is an image block in the sense of the invention.
  • a Coding Unit CU is subdivided into 4 CUs and one of these CUs is subdivided into 4 PUs.
  • a PU can then be encoded either by applying a single TU transform to this PU, for example an 8x8 DCT, or by applying a TU transform to each half of this PU, for example by applying a TU transform twice to each half of this PU, for example by applying a 4x8 or 8x4 DCT twice, or by applying a TU transform to each quarter of this PU, for example by applying a TU transform four times to each quarter of this PU, for example by applying a 4x4 DCT four times.
  • the steps for determining and coding the exponent and the coding of the mantissas of the floating values representing the image data of the image block to be coded are executed by the colour component of this space.
  • motion data comprises the motion vectors and possibly the reference image indexes enabling a reference image to be identified in the reconstructed image sequence. It can also comprise an item of information indicating the type of interpolation that must be applied to a reference image block to derive a prediction block.
  • prediction block includes any set of image data used to predict an image block.
  • a prediction block is obtained from an image block of the same image as the image to which the image block that it predicts belongs (spatial prediction or intra-image prediction) or from one or several image blocks belonging to one (mono-directional prediction) or several (bi-directional prediction) different images (temporal prediction or inter-image prediction) of the image to which the image block that it predicts belongs.
  • residual error block includes any set of image data obtained after extraction of other data. This term is synonymous with the term “residues”.
  • prediction residual error block therefore includes any set of image data obtained by subtracting a prediction block from an image block that it predicts.
  • a transform may be applied to a residual error block.
  • a DCT Discrete Cosine Transform
  • Such transforms "transform" data of a residual error block, for example luminance and/or chrominance residual data, into a "block of transformed data” also called “block of frequency data” or "block of coefficients".
  • the block of coefficients generally comprises a low- frequency coefficient known under the name of direct current coefficient or DC coefficient and high-frequency coefficients known under the name of AC coefficients.
  • the method for coding an image block B c comprises the following steps:
  • a coded data signal F is obtained.
  • This stream comprises an item of coded data Ec describing a unique exponent value relative to the floating values which represent the image data of this prediction residual error block and an item of coded data Ec describing the mantissas of the floating values of the image data of this prediction residual error block.
  • This item of coded data Ec is composed of several items of information, each describing the mantissa of a floating value of an item of data of this block.
  • the exponent value Exp res represents the maximum value of pixel exponents of the prediction residual error block B res .
  • Exp ns ar gmax ⁇ ex P res ' ) ⁇ where exp res (i, j) is the exponent value for a pixel of indices i and j of the prediction residual error block B res .
  • the invention is not limited to a particular determination of this exponent but extends to any possible approach such as the exponent mean or median value, to give just a few of examples.
  • the exponent value Exp res is coded without loss.
  • the exponent value is coded using Fixed Length Coding
  • This embodiment is particularly advantageous due to its simplicity of implementation into an image sequence coding scheme, since it is sufficient to transmit the Fixed Length Code to the decoder so that this decoder can find the exponent value Exp res associated with the prediction residual error block
  • the exponent value Exp res is coded by Variable Length Coding (VLC), using a Huffman-type coder or any other entropic coder well known to those skilled in the art, including, notably, those used in standards such as H264/AVC.
  • VLC Variable Length Coding
  • step 40 shown in Fig. 3, the exponent value Exp res is predicted (step 41 ) by a prediction value Exp pred , a so-called difference value denoted Exp diff is then calculated (step 42) by extracting the prediction value Exp pred from the exponent value Exp res , and this difference ExV d iff is coded (step 43) giving rise to an item of coded data Ec added to the coded data signal F.
  • the difference Exp diff is coded without loss.
  • this difference is coded using Fixed Length Coding (FLC).
  • FLC Fixed Length Coding
  • this difference Exp diff is coded via the intermediary of a Variable Length Coder (VLC), a Huffman-type coder or any other entropic coder well known to those skilled in the art, including, notably, those used in standards such as H264/AVC.
  • VLC Variable Length Coder
  • Huffman-type coder Huffman-type coder
  • any other entropic coder well known to those skilled in the art, including, notably, those used in standards such as H264/AVC.
  • the prediction value Exp pred is defined from a block that belongs to an image, called a reference image, other than the image to which image block B c belongs.
  • this block is co-located with the image block B c , that is to say located in the same spatial position.
  • the reference image block is designated by a motion vector which, in a coding/decoding scheme, is transmitted to the decoder.
  • the prediction value Exp pred is defined from a causal neighbourhood V res formed of at least one block B? es previously processed by the method.
  • Each block B? es corresponds to a prediction residual error block of an image block and is thus associated with a unique exponent value Exp ⁇ x determined, for example, according to step 30.
  • a neighbourhood is qualified as causal when it is formed of available data blocks.
  • a neighbourhood is causal if the decoder is able to form this neighbourhood from data that it has previously decoded.
  • the decoder is capable of obtaining the block(s) B? es as well as its/their associated values which are required to form the neighbourhood V res .
  • the use of a neighbourhood is particularly advantageous in a context of transmitting the signal F between a coder and a decoder, because the decoder is then able to obtain a prediction value of the exponent value without any data being transmitted by the coder, as soon as the coder and decoder have the same rule for obtaining this prediction value.
  • the causal neighbourhood V res is formed of at least one block belonging to the image to which the block to be processed belongs.
  • Fig. 4 illustrates an example of a causal neighbourhood.
  • the neighbourhood is formed by three blocks denoted B es , 5r es , 5 r 3 es with which the exponent values Exp es , Exp? es , Exp? es are associated respectively.
  • a causal neighbouring area V res is formed of at least one block belonging to at least one other image different to the image to which the image block to be coded belongs.
  • This other image may be a reference image used for the estimation of motion data in a coding scheme or an image pointed to by a motion vector.
  • At least one of the blocks which belongs to the reference image is co-located with the image block Be, that is to say located in the same spatial position.
  • At least one of the blocks which belongs to the reference image is designated by a motion vector which, in a coding/decoding scheme, is transmitted to the decoder.
  • the prediction value Exp pred is defined from the prediction residual error.
  • the prediction value Exp pred is defined from a median-type predictor defined by the following equation:
  • Exp P red median(Exp? es ) pour n E ⁇ 1, ... , N] where N is a prediction residual error block number.
  • the prediction value Exp pred is defined from a mean-type predictor defined by the following equation:
  • the prediction value Exp pred is defined from a maximum-type predictor defined by the following equation:
  • the prediction value Exp pred is defined from a set of reconstructed data.
  • these data are reconstructed by a decoder and form what is commonly called a causal zone.
  • the prediction value Exp pred is defined from a median-type predictor defined by the following equation:
  • Exp pred median ( ⁇ Exp n ⁇ pou r n E ⁇ 1, ... , N]
  • Exp n median xp" (i, j) ⁇ i e ⁇ l ,..., L ⁇ ei j e ⁇ ,. ,., ⁇ ⁇ and where L and M are dimensions of a block of index n and exp" (i, j) is the exponent value for a pixel (i,j) belonging to a block n of the neighbourhood used to predict the exponent. This block n was previously reconstructed.
  • the prediction value Exp pred is defined from a maximum-type predictor defined by the following equation:
  • Exppred arg maX ⁇ P" V ur fi £ ⁇ l, ...,JV ⁇
  • Exp n arg max ⁇ exp"( , j) ⁇ i e ⁇ l,..., h ⁇ et j ⁇ ⁇ l,..., ⁇ and where L and M are dimensions of a block of index n and exp" (i, j) is the exponent value for a pixel (i,j) belonging to a block n of the neighbourhood used to predict the exponent. This block n was previously reconstructed.
  • this set of reconstructed data may be formed of pixels used to construct a prediction block.
  • the invention is not limited to a particular set of reconstructed data.
  • step 41 used to define the prediction value Exp pred , can be combined with each other to obtain a spatial prediction or a temporal prediction or a spatio- temporal prediction.
  • the invention is not limited to a particular type of method for coding the mantissas M res of the floating values representing the image data of the prediction residual error block B res , nor is it limited to any known coding method using, for example, a transform such as a DCT, DST (Discrete Sinus Transform) or wavelet, nor those using DPCM-type coding (Differential pulse- code modulation) (" Differential pulse-code modulation from ⁇ available at: httpi /qps-tscupces/GTAV/Torres/Teaching/IVC-Notes/dpcm enqlish.pdf) nor that used in the H264 standard ("Advanced video coding for generic audiovisual services" available at: http://www.itu.int/rec/T-REC-H.264-201304- I) known as I PCM (Intra Pulse Code Modulation), to give just a few of examples. It is also well known that these various coders use quantisers
  • Fig. 5 represents a method for decoding a coded data signal F representative of an image block whose data are represented by floating values.
  • the method comprises the following steps: - decoding (51 ) from the coded data signal F an exponent value relative to a prediction residual error block relative to the image block;
  • the floating values representing the data of the prediction residual error blocks to be decoded are obtained, for example, using equation (1 ).
  • the exponent value of the prediction residual error block is obtained by decoding an item of coded data Ec from the coded data signal F.
  • the Ec data are decoded according to either a fixed- or variable-length code.
  • the Ec data represent the exponent value of the prediction residual error block.
  • the Ec data represent a value called the difference value which corresponds to the difference Exp diff between the exponent value Exp res of the image block which was coded and a prediction value Exp pred of this exponent value.
  • the prediction value Exp pred is then obtained from a causal neighbourhood in a manner identical to step 41 described above.
  • the exponent value Exp res is then decoded (reconstructed) by summing this prediction value Exp pred with the decoded item of Ec data
  • the mantissas of floating values representing the image data of the prediction residual error block are a set of integer values which is coded, according to the invention, by a coding method which uses, for example, a transform.
  • a decoding method which is the inverse of this coding method is then used to decode the coded data of signal F in order to find the mantissas of these floating values.
  • the invention is not limited to a particular method for decoding integral data.
  • each image is divided into image blocks, each image block is coded according to one of the methods described in relation to Fig. 2 to 4 and the coded data signal comprises as many items of data (Ec, Mc) as it does image blocks to be coded.
  • the coded data signal F can then be decoded according to one of the methods described in relation to Fig. 5, with the aim of decoding (reconstructing) an image and possibly a sequence of images.
  • the method for coding an image block B c also comprises a step (step 60) of selecting a coding mode for the residual error block from a set of coding modes.
  • the set of coding modes may include several methods to determine a unique exponent value for the floating values representing the image data of the prediction residual error block (step 30) and/or several predictors of this unique exponent value (step 41 ) and/or several coders to code the difference between this unique exponent value and a prediction value (step 43) and/or several coders to code the mantissas of the floating values representing the image data of the prediction residual error block (step 50).
  • a coding mode in the set may also be a combination of one of these specific coders and predictors.
  • a prediction residual error block is coded according to one of the coding modes i of the set and a coding cost Csti is then determined.
  • the coding cost Csti takes into account the cost of coding MB ⁇ sj the mantissas of the floating values representing the image data of the prediction residual error block, the cost of coding Exp d c ff i the difference ExV d iff calculated by extracting the prediction value Exp pred from the exponent value Exp res and the cost of coding Hdr cst i the syntax elements which enable the decoder to decode the image block B c , such as an index to designate a specific prediction mode or a motion vector.
  • the coding cost Cst j relative to a coding mode i of the image block B c is given by:
  • the adjustment of parameter A, called Lagrangian is widely known.
  • the best choice of coding mode, of index (i opt ) is made by selecting the mode which leads to the best compromise between a minimum coding cost for the exponent value and the mantissas of floating values representing the image data of the prediction residual error image, and a minimum reconstruction error of the image block.
  • the optimal coding cost is defined by:
  • the metric sse rec i is a square error calculated between the image block B c and the coded/decoded block according to a coding mode (i).
  • the modules shown are functional units that may or may not correspond to physically distinguishable units.
  • these modules or some of them can be grouped together in a single component or circuit, or constitute functions of the same software.
  • some modules may be composed of separate physical entities.
  • the prediction and/or coding devices compatible with the invention can be implemented according to a purely hardware embodiment, for example in the form of a dedicated component (for example in an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array) or VLSI (Very Large Scale Integration)) or of several electronic components integrated into a device or even in the form of a mixture of hardware elements and software elements.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • VLSI Very Large Scale Integration
  • Fig. 6 describes an example of the internal architecture of a device configured to implement at least one of the methods for coding an image block which are described in relation to Fig. 2, 3 and 4, and at least one of the methods for decoding a coded data signal which are described in relation to Fig. 5.
  • Device 600 comprises the following elements, interconnected by a digital address and data bus 601 :
  • a calculation unit 603 (also called a central processing unit);
  • the calculation unit 603 can be implemented by a (possibly dedicated) microprocessor, a (possibly also dedicated) microcontroller, etc.
  • the memory 605 can be implemented in a volatile and/or non-volatile form such as a RAM (random access memory), a hard disc, an EPROM (erasable programmable ROM), etc.
  • means 603, 604 and possibly 605 cooperate with each other in order to determine a unique exponent value for the floating values representing the image data of a residual error block which is from an image block to be coded, in order to code said exponent value thus determined and in order to code the mantissas of the floating values representing the image data of the residual error block by spatial and/or temporal prediction.
  • means 603, 604 and possibly 605 then cooperate with each other in order to decode an exponent value from the coded data signal for a residual error block relative to an image block to be decoded, in order to decode the mantissas of the floating values representing the image data of the residual error block from the coded data signal by spatial and/or temporal prediction and in order to reconstruct the floating values representing the image data of the residual error block to be decoded from said exponent value and said mantissas thus decoded.
  • the two embodiments above may also be combined so that the device 600 is designed both to code and decode a residual error block relative to an image block to be coded.
  • the devices described above are also designed to code and decode an image and/or a sequence of images.
  • Information regarding image data, image sequence data and/or image block data are possibly received via the interface 604 and connection 602 or these data can be obtained from the memory 605.
  • the data signal F may be saved in the memory 605 and/or transmitted to an item of remote equipment via the interface 604 and connection 602.
  • the invention is not limited to the embodiment examples mentioned above. In particular, those skilled in the art may apply any variant to the stated embodiments and combine them to benefit from their various advantages.
  • the invention is in no way limited by the mode of coding the mantissas.
  • the invention can be used with a DCT, a DST, a Hadarmard transform or a wavelet transform.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention relates to a method and device for coding, to a coded data signal, an image block whose image data are represented by floating values. Each floating value being expressed by a mantissa and an exponent, the method is characterised in that it comprises the following steps: - determining (10) a prediction block (Bpred) for the image block to be coded; - determining (20) a prediction residual error block (Bres) by extracting said prediction block from the image block to be coded; - determining (30) a unique exponent value (Expres) for the floating values representing the image data of the prediction residual error block (Bres), - coding (40) said exponent value thus determined (Expres) for the prediction residual error block (Bres), and - coding (50) the mantissas (Mres) of the floating values representing the image data of the prediction residual error block (Bres) by spatial and/or temporal prediction. The invention also relates to a method and device for decoding the coded data signal.

Description

METHOD FOR CODING AND DECODING FLOATING DATA OF AN IMAGE BLOCK AND ASSOCIATED DEVICES
1. Domain of the invention
The invention relates to the general domain of image coding. More specifically, the invention relates to a method for coding to a coded data signal an image block whose data are represented by floating values and a method for decoding a stream of coded data representative of an image block whose data are represented by floating values. The invention also relates to methods for coding and decoding a sequence of images and devices implementing these methods.
2. Prior art
This section is intended to introduce various aspects of the prior art which may be linked to various aspects of the invention which are described and/or claimed below. This section is useful since it provides readers with basic information which will facilitate a better understanding of the various aspects of the invention. However, this information is to be used for this purpose only, and must in no way be considered as a summary of the prior art recognised by the inventor.
Traditional methods for coding sequences of images are designed to code integral data.
These methods use temporal prediction or inter-image prediction and/or spatial prediction or intra-image prediction. Intra-image prediction (or inter-image prediction) is used to improve the compression of a sequence of images. It comprises, for a current image block, the generation of a prediction image block and the coding of a difference, also called residual image block, between the current image block and the prediction image block. The more the prediction image block is correlated with the current image block, the lower the number of bits required to code the current image block and therefore the more efficient the compression.
Examples of such methods include those defined by the MPEG-4 AVC/H.264 standard described in the ISO/I EC 14496-10 document, or those defined by the HEVC (High Efficiency Video Coding) standard described in the document (B. Bross, W.J. Han, G. J. Sullivan, J. R. Ohm, T. Wiegand JCTVC-K1003, "High Efficiency Video Coding (HEVC) text specification draft 9," Oct 201 2.).
Historically, standards such as AVC and HEVC are used to compress images and videos based on pixels whose components are initially coded on 8 bits. Each of the components in the set of pixels in these images is therefore represented with the same dynamic range and by definition these components are thus said to have the same exponent in a virtually floating representation. The same applies to prediction residual error which has an additional sign bit.
However, these methods are not suitable for encoding or decoding sequences of images whose data are represented by floating values as defined in general by the following equation :
Cp = M. 2E (1 )
where Cp is one of the R, G or B components of a pixel, with M and E representing mantissa and exponent respectively.
Representations such as RGBE (with E meaning exponent) or OpenEXR RGB half float (cf K. Myszkowski, R Mantiuk, G Krawczyk "High Dynamic Range video," Synthesis Lectures on Computer Graphics and Animation, Morgan & Claypool Publishers 2008) comprise components which are coded with 5 bits of mantissa and 1 0 bits of exponent for the OpenEXR format and 8 bits of mantissa and 1 0 bits of exponent for the RGBE format.
More generally, however, floating data are expressed by:
• a mantissa comprising Nm bits which enables the mantissa values to extend between 0 and 2Nm-1 , and
· an exponent of Ne bits which enables the exponent values to extend between 0 et 2Ne-1
Thus, the values expressed with a floating representation composed of 1 sign bit, Nm mantissa bits and Ne exponent bits can vary from 0 to:
(2A,m - l) x 2(2"i-1) .
It can be seen that the higher the floating value, the greater the quantisation of this value. Take as an example the case of a floating value expressed in the RGBE format (Ne = 8, Nm = 8). An exponent of value equal to 1 08 can be used to represent component values comprised between 0 and 0.000243187 with a quantisation step of 2.£~128 = 9.53674E-07. Similarly, an exponent of value equal to 148 can be used to represent component values comprised between 0 and 267386880 with a quantisation step of 1048576.
This representation of image data by floating value shows that the quantisation of a component of an image changes with the amplitude of this component. Since this change follows a logarithmic scale, it is possible to represent a significant dynamic range of an image component with a restricted number of bits, admittedly at the cost of a variation of the quantisation in the linear domain.
3. Summary of the invention
It is sought to improve the coding of images composed of pixels coded by floating values through a predictive-type coding method.
For this purpose, the invention relates to a method for coding, to a coded data signal, an image block whose image data are represented by floating values. Each floating value being expressed by a mantissa and an exponent, the method is characterised in that it comprises the following steps:
- determining a unique exponent value for the floating values representing the image data of a prediction residual error block determined by extracting a prediction block from the image block;
- coding said exponent value thus determined for the prediction residual error block, and
- coding the mantissas of the floating values representing the image data of the prediction residual error block by spatial and/or temporal prediction.
According to an embodiment, said exponent value thus determined is coded without loss.
According to an embodiment, said exponent value is predicted by a prediction value and the difference between the prediction value and the exponent value is coded.
According to an embodiment, the prediction value is defined from a causal neighbouring area formed of at least one image block previously processed by said method. According to an embodiment, the causal neighbourhood is formed of a block belonging to the image to which the block to be coded belongs and/or of at least one block belonging to at least one other image different from the image to which the image block to be coded belongs.
According to an embodiment, the method comprises a step of selecting a coding mode for the image block to be coded from a set of coding modes during which step the coding mode selected is that which minimises a compromise between a minimum reconstruction error for this image block coded and then decoded according to this coding mode and a minimum coding cost taking into account the coding cost according to this mode of coding the exponent's unique value and the cost of coding the mantissas of the floating values representing the image data of the prediction residual error block.
The invention also relates to a method for decoding a coded data signal representative of an image block whose data are represented by floating values. Each floating value being expressed by a mantissa and an exponent, the method is characterised in that it comprises the following steps:
- decoding from the coded data signal an exponent value relative to a prediction residual error block relative to the image block;
- decoding from the coded data signal the mantissas of the floating values representing the data of the prediction residual error block by spatial and/or temporal prediction;
- reconstructing the floating values representing the image data of the prediction residual error block from said exponent value and said mantissas thus decoded;
- determining a prediction block for the image block; and
- reconstructing the floating values representing the image data of the image block from the prediction residual error block and the prediction block.
According to another of its aspects, the invention relates to a coded data signal representative of an image block whose data are represented by floating values. Each item of floating data being expressed by a mantissa and an exponent, the signal is characterised in that it comprises at least one item of coded data describing a single exponent value for floating values and at least one other item of coded data describing the mantissas of floating values representing the image data of the prediction error block of the image block.
According to another of its aspects, the invention relates to a device for coding, to a coded data signal, an image block whose image data are represented by floating values. Each floating value being expressed by a mantissa and an exponent, the device is characterised in that it comprises the following means for:
- determining a unique exponent value for the floating values representing the image data of a prediction residual error block determined by extracting a prediction block from the image block;
- coding said exponent value thus determined for the prediction residual error block, and
- coding the mantissas of the floating values representing the image data of the prediction residual error block by spatial and/or temporal prediction.
According to another of its aspects, the invention relates to a device for decoding a coded data signal representative of an image block whose data are represented by floating values. Each floating value being expressed by a mantissa and an exponent, the device is characterised in that it comprises the following means for:
- decoding from the coded data signal an exponent value relative to a prediction residual error block relative to the image block;
- decoding from the coded data signal the mantissas of the floating values representing the data of the prediction residual error block by spatial and/or temporal prediction;
- reconstructing the floating values representing the image data of the prediction residual error block from said exponent value and said mantissas thus decoded;
- determining a prediction block for the image block; and
- reconstructing the floating values representing the image data of the image block from the prediction residual error block and the prediction block.
4. List of figures The invention will be better understood and illustrated by means of non-restrictive embodiments and advantageous implementations, with reference to the accompanying drawings, wherein:
- Fig. 1 depicts an example of the definition of an image block according to the HEVC standard;
- Fig. 2 depicts a diagram showing the steps of a method for coding an image block whose image data are represented by floating values;
- Fig. 3 depicts a diagram showing the steps of a method for coding an exponent value;
- Fig. 4 depicts an example of the causal neighbourhood of an image block;
- Fig. 5 depicts a diagram showing the steps of an embodiment of the method for decoding a coded data signal; and
- Fig. 6 depicts an example of the internal architecture of a device. 5. Detailed description of the invention
The invention relates to a method for coding an image block Bc {whose data are represented by floating values to a coded data signal F, a method for decoding a coded data signal F representative of an image block Bc whose data are represented by floating values and a coded data signal F representative of a prediction error block relative to an image block Bc whose data are represented by floating values.
An image block is from an image which itself may be from a sequence of images. An image block comprises pixels or image points with each of which at least one item of image data represented by one (or several) floating value(s) is associated. An item of image data is, for example, an item of luminance data or an item of chrominance data.
The term "image block" hereafter includes any set of image data to which a transform is possibly applied. Though it is usual to use square- or rectangular-shaped blocks, the invention is in no way limited to these shapes and indeed any shape may be used.
Furthermore, an image block may be a macroblock to which a DCT (Discrete Cosinus Transform) or any other transform such as wavelet decomposition is applied. In the case of the HEVC standard, an image block, in the sense of the invention, corresponds to a Transform Unit (TU). In fact, as illustrated in Fig. 1 , the HEVC standard defines a recursive partitioning of an image into prediction units (PU) and each PU can in turn be decomposed into several transform units TU. Each unit TU is then encoded by applying a suitable transform. A unit PU can thus be encoded using various transforms depending on the partitioning of this PU into TUs. In this case, each TU is an image block in the sense of the invention. According to the example in Fig. 1 , a Coding Unit CU is subdivided into 4 CUs and one of these CUs is subdivided into 4 PUs. In this example, a PU can then be encoded either by applying a single TU transform to this PU, for example an 8x8 DCT, or by applying a TU transform to each half of this PU, for example by applying a TU transform twice to each half of this PU, for example by applying a 4x8 or 8x4 DCT twice, or by applying a TU transform to each quarter of this PU, for example by applying a TU transform four times to each quarter of this PU, for example by applying a 4x4 DCT four times.
Since the floating values representing the image data of the image block to be coded are defined in a space of at least one colour component, the steps for determining and coding the exponent and the coding of the mantissas of the floating values representing the image data of the image block to be coded are executed by the colour component of this space.
Hereafter, the term "motion data" is to be understood in the widest sense. It comprises the motion vectors and possibly the reference image indexes enabling a reference image to be identified in the reconstructed image sequence. It can also comprise an item of information indicating the type of interpolation that must be applied to a reference image block to derive a prediction block.
The term "prediction block" includes any set of image data used to predict an image block. A prediction block is obtained from an image block of the same image as the image to which the image block that it predicts belongs (spatial prediction or intra-image prediction) or from one or several image blocks belonging to one (mono-directional prediction) or several (bi-directional prediction) different images (temporal prediction or inter-image prediction) of the image to which the image block that it predicts belongs. The term "residual error block" includes any set of image data obtained after extraction of other data. This term is synonymous with the term "residues".
The term "prediction residual error block" therefore includes any set of image data obtained by subtracting a prediction block from an image block that it predicts.
A transform may be applied to a residual error block. A DCT (Discrete Cosine Transform) is an example of such a transform described in chapter 3.4.2.2 of the book by I. E. Richardson entitled "H.264 and MPEG-4 video compression" published by J. Wiley & Sons in September 2003. The wavelet transform described in chapter 3.4.2.3 of the book by I. E. Richardson and the Hadamard transform are other examples. Such transforms "transform" data of a residual error block, for example luminance and/or chrominance residual data, into a "block of transformed data" also called "block of frequency data" or "block of coefficients". The block of coefficients generally comprises a low- frequency coefficient known under the name of direct current coefficient or DC coefficient and high-frequency coefficients known under the name of AC coefficients.
According to the invention, illustrated in Fig. 2, the method for coding an image block Bc comprises the following steps:
- determining (10) a prediction block Bpred for the image block to be coded;
- determining (20) a prediction residual error block Bres by extracting said prediction block from the image block to be coded;
- determining (30) a unique exponent value Expres for the floating values representing the image data of the prediction residual error block Bres,
- coding (40) said exponent value thus determined Expres for the prediction residual error block Bres, and
- coding (50) the mantissas Mres of the floating values representing the image data of the prediction residual error block Bres by spatial and/or temporal prediction.
At the end of the method, a coded data signal F, illustrated in Fig. 2, is obtained. This stream comprises an item of coded data Ec describing a unique exponent value relative to the floating values which represent the image data of this prediction residual error block and an item of coded data Ec describing the mantissas of the floating values of the image data of this prediction residual error block. This item of coded data Ec is composed of several items of information, each describing the mantissa of a floating value of an item of data of this block.
According to a preferred embodiment of step 30, the exponent value Expres represents the maximum value of pixel exponents of the prediction residual error block Bres.
In mathematical terms, the unique exponent value Expres is given by the following equation:
Exp ns = argmax{exPres ' )} where expres(i, j) is the exponent value for a pixel of indices i and j of the prediction residual error block Bres.
The invention is not limited to a particular determination of this exponent but extends to any possible approach such as the exponent mean or median value, to give just a few of examples.
According to an embodiment of step 40, the exponent value Expres is coded without loss.
For example, the exponent value is coded using Fixed Length Coding
(FLC).
This embodiment is particularly advantageous due to its simplicity of implementation into an image sequence coding scheme, since it is sufficient to transmit the Fixed Length Code to the decoder so that this decoder can find the exponent value Expres associated with the prediction residual error block
Bres.
As a variant, the exponent value Expres is coded by Variable Length Coding (VLC), using a Huffman-type coder or any other entropic coder well known to those skilled in the art, including, notably, those used in standards such as H264/AVC.
According to an embodiment of step 40, shown in Fig. 3, the exponent value Expres is predicted (step 41 ) by a prediction value Exppred, a so-called difference value denoted Expdiff is then calculated (step 42) by extracting the prediction value Exppred from the exponent value Expres, and this difference ExVdiff is coded (step 43) giving rise to an item of coded data Ec added to the coded data signal F.
According to an embodiment of step 43, the difference Expdiff is coded without loss.
For example, this difference is coded using Fixed Length Coding (FLC).
Preferably, this difference Expdiff is coded via the intermediary of a Variable Length Coder (VLC), a Huffman-type coder or any other entropic coder well known to those skilled in the art, including, notably, those used in standards such as H264/AVC.
It is particularly advantageous to combine a prediction with a variable length coder to code the calculated difference between exponent values Expres and Exppred because the length of the code used, which corresponds to a coding cost denoted Exp£c ff , depends on the dynamic range of this difference, which is statistically always lower than the dynamic range of the unique exponent value Expres. Moreover, coding will be all the more efficient since the predictor is efficient.
According to an embodiment of step 41 , the prediction value Exppred is defined from a block that belongs to an image, called a reference image, other than the image to which image block Bc belongs.
According to a variant of this embodiment, this block is co-located with the image block Bc, that is to say located in the same spatial position.
According to a variant of this embodiment, the reference image block is designated by a motion vector which, in a coding/decoding scheme, is transmitted to the decoder.
According to an embodiment of step 41 , the prediction value Exppred is defined from a causal neighbourhood Vres formed of at least one block B?es previously processed by the method. Each block B?es corresponds to a prediction residual error block of an image block and is thus associated with a unique exponent value Exp^x determined, for example, according to step 30. A neighbourhood is qualified as causal when it is formed of available data blocks. Thus, in a coding/decoding scheme, a neighbourhood is causal if the decoder is able to form this neighbourhood from data that it has previously decoded. In this case, the decoder is capable of obtaining the block(s) B?es as well as its/their associated values which are required to form the neighbourhood Vres . The use of a neighbourhood is particularly advantageous in a context of transmitting the signal F between a coder and a decoder, because the decoder is then able to obtain a prediction value of the exponent value without any data being transmitted by the coder, as soon as the coder and decoder have the same rule for obtaining this prediction value.
According to a variant of step 41 , the causal neighbourhood Vres is formed of at least one block belonging to the image to which the block to be processed belongs.
Fig. 4 illustrates an example of a causal neighbourhood. In this example, the neighbourhood is formed by three blocks denoted B es, 5res, 5r 3 es with which the exponent values Exp es, Exp?es, Exp?es are associated respectively.
According to an embodiment of step 41 , a causal neighbouring area Vres is formed of at least one block belonging to at least one other image different to the image to which the image block to be coded belongs. This other image may be a reference image used for the estimation of motion data in a coding scheme or an image pointed to by a motion vector.
According to a variant of this embodiment, at least one of the blocks which belongs to the reference image is co-located with the image block Be, that is to say located in the same spatial position.
According to another variant of this embodiment, at least one of the blocks which belongs to the reference image is designated by a motion vector which, in a coding/decoding scheme, is transmitted to the decoder.
According to an embodiment of step 41 , the prediction value Exppred is defined from the prediction residual error.
According to a variant of this embodiment, the prediction value Exppred is defined from a median-type predictor defined by the following equation:
ExpPred = median(Exp?es) pour n E {1, ... , N] where N is a prediction residual error block number.
According to a variant of this embodiment, the prediction value Exppred is defined from a mean-type predictor defined by the following equation:
N n=l
According to a variant of this embodiment, the prediction value Exppred is defined from a maximum-type predictor defined by the following equation:
ExPpred = ar§ iEXP
According to an embodiment of step 41 , the prediction value Exppred is defined from a set of reconstructed data. Thus, in a coding/decoding scheme, these data are reconstructed by a decoder and form what is commonly called a causal zone.
According to a variant of this embodiment, the prediction value Exppred is defined from a median-type predictor defined by the following equation:
Exppred = median (^ Expn ^ pou r n E {1, ... , N] where Expn = median xp" (i, j)} i e {l ,..., L}ei j e {Ι,. ,., Μ } and where L and M are dimensions of a block of index n and exp" (i, j) is the exponent value for a pixel (i,j) belonging to a block n of the neighbourhood used to predict the exponent. This block n was previously reconstructed.
According to a variant of this embodiment, the prediction value Exppred is defined from a maximum-type predictor defined by the following equation:
Exppred = arg maX ^P") V ur fi £ {l, ...,JV} where Expn = arg max {exp"( , j)} i e {l,..., h}et j≡ {l,..., } and where L and M are dimensions of a block of index n and exp" (i, j) is the exponent value for a pixel (i,j) belonging to a block n of the neighbourhood used to predict the exponent. This block n was previously reconstructed.
According to a variant of this embodiment, the prediction value Exppred is defined from a mean-type predictor defined by the following equation: N n=l
1 L M
where £φ" = ∑ ∑ exp and where L and M are dimensions of a block of index n and exp" (i, j) is the exponent value for a pixel (i,j) belonging to a block n of the neighbourhood used to predict the exponent. This block n was previously reconstructed.
According to a variant, this set of reconstructed data may be formed of pixels used to construct a prediction block. The invention is not limited to a particular set of reconstructed data.
It may be noted that these various embodiments and variants of step 41 , used to define the prediction value Exppred , can be combined with each other to obtain a spatial prediction or a temporal prediction or a spatio- temporal prediction.
The invention is not limited to a particular type of method for coding the mantissas Mres of the floating values representing the image data of the prediction residual error block Bres, nor is it limited to any known coding method using, for example, a transform such as a DCT, DST (Discrete Sinus Transform) or wavelet, nor those using DPCM-type coding (Differential pulse- code modulation) (" Differential pulse-code modulation from ΗΗ available at: httpi /qps-tscupces/GTAV/Torres/Teaching/IVC-Notes/dpcm enqlish.pdf) nor that used in the H264 standard ("Advanced video coding for generic audiovisual services" available at: http://www.itu.int/rec/T-REC-H.264-201304- I) known as I PCM (Intra Pulse Code Modulation), to give just a few of examples. It is also well known that these various coders use quantisers and entropic coders.
Fig. 5 represents a method for decoding a coded data signal F representative of an image block whose data are represented by floating values.
The method comprises the following steps: - decoding (51 ) from the coded data signal F an exponent value relative to a prediction residual error block relative to the image block;
- decoding (52) from the coded data signal F the mantissas of the floating values representing the data of the prediction residual error block by spatial and/or temporal prediction;
- reconstructing (53) the floating values representing the image data of the prediction residual error block from said exponent value and said mantissas thus decoded;
- determining (54) a prediction block for the image block; and
- reconstructing (55) the floating values representing the image data of the image block from the prediction residual error block and the prediction block.
The floating values representing the data of the prediction residual error blocks to be decoded are obtained, for example, using equation (1 ).
According to an embodiment of step 51 , the exponent value of the prediction residual error block is obtained by decoding an item of coded data Ec from the coded data signal F. The Ec data are decoded according to either a fixed- or variable-length code.
According to an embodiment of step 51 , the Ec data represent the exponent value of the prediction residual error block.
According to another embodiment of step 51 , the Ec data represent a value called the difference value which corresponds to the difference Expdiff between the exponent value Expres of the image block which was coded and a prediction value Exppred of this exponent value. The prediction value Exppred is then obtained from a causal neighbourhood in a manner identical to step 41 described above. The exponent value Expres is then decoded (reconstructed) by summing this prediction value Exppred with the decoded item of Ec data
(difference Expdiff).
The mantissas of floating values representing the image data of the prediction residual error block are a set of integer values which is coded, according to the invention, by a coding method which uses, for example, a transform. A decoding method which is the inverse of this coding method is then used to decode the coded data of signal F in order to find the mantissas of these floating values. The invention is not limited to a particular method for decoding integral data.
The previously described methods for coding and decoding an image block can be used to code and decode an image which may belong to a sequence of images. In this case, each image is divided into image blocks, each image block is coded according to one of the methods described in relation to Fig. 2 to 4 and the coded data signal comprises as many items of data (Ec, Mc) as it does image blocks to be coded. The coded data signal F can then be decoded according to one of the methods described in relation to Fig. 5, with the aim of decoding (reconstructing) an image and possibly a sequence of images.
According to a variant of the invention, the method for coding an image block Bc also comprises a step (step 60) of selecting a coding mode for the residual error block from a set of coding modes.
The set of coding modes may include several methods to determine a unique exponent value for the floating values representing the image data of the prediction residual error block (step 30) and/or several predictors of this unique exponent value (step 41 ) and/or several coders to code the difference between this unique exponent value and a prediction value (step 43) and/or several coders to code the mantissas of the floating values representing the image data of the prediction residual error block (step 50). A coding mode in the set may also be a combination of one of these specific coders and predictors.
During step 60, a prediction residual error block is coded according to one of the coding modes i of the set and a coding cost Csti is then determined.
According to an embodiment relative to the case where the exponent value is predicted, the coding cost Csti takes into account the cost of coding MB^sj the mantissas of the floating values representing the image data of the prediction residual error block, the cost of coding Expd c ff i the difference ExVdiff calculated by extracting the prediction value Exppred from the exponent value Expres and the cost of coding Hdrcst i the syntax elements which enable the decoder to decode the image block Bc, such as an index to designate a specific prediction mode or a motion vector.
In mathematical terms, the coding cost Cst j relative to a coding mode i of the image block Bc is given by:
Figure imgf000018_0001
where sse[ec is a metric quantising a reconstruction error for image block Be and Bfst = MBr c s i + Expd c ff i + Hdrcst i, with value A being adjusted to have the best compromise between bitrate and distortion. The adjustment of parameter A, called Lagrangian, is widely known. In principle, the best choice of coding mode, of index (iopt), is made by selecting the mode which leads to the best compromise between a minimum coding cost for the exponent value and the mantissas of floating values representing the image data of the prediction residual error image, and a minimum reconstruction error of the image block.
In mathematical terms, the optimal coding cost is defined by:
(iopt) = argmin (Csti)
(0
According to an embodiment, the metric sserec i is a square error calculated between the image block Bc and the coded/decoded block according to a coding mode (i).
In Fig. 2, 3 and 5, the modules shown are functional units that may or may not correspond to physically distinguishable units. For example, these modules or some of them can be grouped together in a single component or circuit, or constitute functions of the same software. On the contrary, some modules may be composed of separate physical entities. The prediction and/or coding devices compatible with the invention can be implemented according to a purely hardware embodiment, for example in the form of a dedicated component (for example in an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array) or VLSI (Very Large Scale Integration)) or of several electronic components integrated into a device or even in the form of a mixture of hardware elements and software elements.
Fig. 6 describes an example of the internal architecture of a device configured to implement at least one of the methods for coding an image block which are described in relation to Fig. 2, 3 and 4, and at least one of the methods for decoding a coded data signal which are described in relation to Fig. 5.
Device 600 comprises the following elements, interconnected by a digital address and data bus 601 :
- A calculation unit 603 (also called a central processing unit);
- A memory 605;
- A network interface 604, for interconnections between device 600 and other remote devices connected via a connection 602;
The calculation unit 603 can be implemented by a (possibly dedicated) microprocessor, a (possibly also dedicated) microcontroller, etc. The memory 605 can be implemented in a volatile and/or non-volatile form such as a RAM (random access memory), a hard disc, an EPROM (erasable programmable ROM), etc.
According to an embodiment, means 603, 604 and possibly 605 cooperate with each other in order to determine a unique exponent value for the floating values representing the image data of a residual error block which is from an image block to be coded, in order to code said exponent value thus determined and in order to code the mantissas of the floating values representing the image data of the residual error block by spatial and/or temporal prediction.
According to an embodiment, means 603, 604 and possibly 605 then cooperate with each other in order to decode an exponent value from the coded data signal for a residual error block relative to an image block to be decoded, in order to decode the mantissas of the floating values representing the image data of the residual error block from the coded data signal by spatial and/or temporal prediction and in order to reconstruct the floating values representing the image data of the residual error block to be decoded from said exponent value and said mantissas thus decoded.
The two embodiments above may also be combined so that the device 600 is designed both to code and decode a residual error block relative to an image block to be coded.
The devices described above are also designed to code and decode an image and/or a sequence of images. Information regarding image data, image sequence data and/or image block data are possibly received via the interface 604 and connection 602 or these data can be obtained from the memory 605.
The data signal F may be saved in the memory 605 and/or transmitted to an item of remote equipment via the interface 604 and connection 602.
Naturally, the invention is not limited to the embodiment examples mentioned above. In particular, those skilled in the art may apply any variant to the stated embodiments and combine them to benefit from their various advantages. The invention is in no way limited by the mode of coding the mantissas. Notably, the invention can be used with a DCT, a DST, a Hadarmard transform or a wavelet transform.

Claims

Claims
1 . Method for coding, to a coded data signal, an image block whose image data are represented by floating values, each item of floating data being expressed by a mantissa and an exponent, characterised in that it comprises the following steps:
- determining (30) a unique exponent value {Expres) for the floating values representing the image data of a prediction residual error block (Bres) determined by extracting a prediction block from the image block; - coding (40) said exponent value thus determined {Expres) for the prediction residual error block (Bres), and
- coding (50) the mantissas (Mres) of the floating values representing the image data of the prediction residual error block (Bres) by spatial and/or temporal prediction.
2. Method according to claim 1 , wherein said exponent value thus determined is coded without loss.
3. Method according to claim 1 or 2, wherein said exponent value is predicted by a prediction value and the difference between the prediction value and the exponent value is coded.
4. Method according to claim 3, wherein the prediction value is defined from a causal neighbourhood formed of at least one image block previously processed by said method.
5. Method according to claim 4, wherein the causal neighbourhood is formed of a block belonging to the image to which the block to be coded belongs and/or of at least one block belonging to at least one other image different to the image to which the image block to be coded belongs.
6. Method according to one of the previous claims, which comprises a step of selecting a coding mode for the image block to be coded from a set of coding modes during which the coding mode selected is that which minimises a compromise between a minimum reconstruction error of this image block which is coded and then decoded according to this coding mode and a minimum coding cost taking into account the coding cost according to this mode of coding the unique value of the exponent and the cost of coding the mantissas of the floating values representing the image data of the prediction residual error block.
7. Method for decoding a coded data signal representative of an image block whose data are represented by floating values, each floating value being expressed by a mantissa and an exponent, characterised in that it comprises the following steps:
- decoding (51 ) from the coded data signal an exponent value relative to a prediction residual error block relative to the image block;
- decoding (52) from the coded data signal F the mantissas of the floating values representing the data of the prediction residual error block by spatial and/or temporal prediction;
- reconstructing (53) the floating values representing the image data of the prediction residual error block from said exponent value and said mantissas thus decoded;
- determining (54) a prediction block for the image block; and
- reconstructing (55) the floating values representing the image data of the image block from the prediction residual error block and the prediction block.
8. Coded data signal representative of an image block whose data are represented by floating values, each item of floating data being expressed by a mantissa and an exponent, characterised in that it comprises at least one item of coded data describing a single exponent value for floating values and at least one other item of coded data describing the mantissas of floating values representing the image data of a prediction error block of the image block.
9. Device for coding, to a coded data signal, an image block whose image data are represented by floating values, each floating value being expressed by a mantissa and an exponent, characterised in that it comprises a processor configured to:
- determine (30) a unique exponent value {Expres) for the floating values representing the image data of a prediction residual error block (Bres) determined by extracting a prediction block from the image block;
- code (40) said exponent value thus determined {Expres) for the prediction residual error block (Bres), and
- code (50) the mantissas (Mres) of the floating values representing the image data of the prediction residual error block (Bres) by spatial and/or temporal prediction.
10. Device for decoding a coded data signal representative of an image block whose data are represented by floating values, each floating value being expressed by a mantissa and an exponent, characterised in that it comprises a processor configured to:
- decode (51 ) from the coded data signal an exponent value relative to a prediction residual error block relative to the image block;
- decode (52) from the coded data signal F the mantissas of the floating values representing the data of the prediction residual error block by spatial and/or temporal prediction;
- reconstruct (53) the floating values representing the image data of the prediction residual error block from said exponent value and said mantissas thus decoded;
- determine (54) a prediction block for the image block; and
- reconstruct (55) the floating values representing the image data of the image block from the prediction residual error block and the prediction block.
PCT/EP2014/071112 2013-10-07 2014-10-02 Method for coding and decoding floating data of an image block and associated devices Ceased WO2015052064A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR1359689 2013-10-07
FR1359689 2013-10-07
FR1452220 2014-03-18
FR1452220A FR3010605A1 (en) 2014-03-18 2014-03-18 METHOD FOR ENCODING AND DECODING FLOATING DATA OF AN IMAGE BLOCK AND ASSOCIATED DEVICES

Publications (1)

Publication Number Publication Date
WO2015052064A1 true WO2015052064A1 (en) 2015-04-16

Family

ID=51688039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/071112 Ceased WO2015052064A1 (en) 2013-10-07 2014-10-02 Method for coding and decoding floating data of an image block and associated devices

Country Status (1)

Country Link
WO (1) WO2015052064A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020258057A1 (en) * 2019-06-25 2020-12-30 深圳市大疆创新科技有限公司 Video processing method, apparatus and device
KR20210064332A (en) * 2018-12-29 2021-06-02 후아웨이 테크놀러지 컴퍼니 리미티드 Encoders, decoders and countermeasures using compact MV storage

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099295A1 (en) * 2009-10-23 2011-04-28 Samplify Systems, Inc. Block floating point compression of signal data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099295A1 (en) * 2009-10-23 2011-04-28 Samplify Systems, Inc. Block floating point compression of signal data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FADOUA GUEZZI MESSAOUD ET AL: "On-chip compression for HDR image sensors", DESIGN AND ARCHITECTURES FOR SIGNAL AND IMAGE PROCESSING (DASIP), 2010 CONFERENCE ON, IEEE, 26 October 2010 (2010-10-26), pages 176 - 182, XP031889490, ISBN: 978-1-4244-8734-9, DOI: 10.1109/DASIP.2010.5706262 *
SCHWARZ H ET AL: "LAGRANGIAN CODER CONTROL AND COMPARISON OF MPEG-4 AND H-26L VIDEO CODECS", ITG-FACHBERICHTE,, no. 170, 28 January 2002 (2002-01-28), pages 301 - 308, XP008004829, ISSN: 0932-6022 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210064332A (en) * 2018-12-29 2021-06-02 후아웨이 테크놀러지 컴퍼니 리미티드 Encoders, decoders and countermeasures using compact MV storage
CN114885166A (en) * 2018-12-29 2022-08-09 华为技术有限公司 Encoder, decoder and corresponding methods using compressed MV storage
CN115209144A (en) * 2018-12-29 2022-10-18 华为技术有限公司 Encoder, decoder and corresponding methods using compressed MV storage
CN115426494A (en) * 2018-12-29 2022-12-02 华为技术有限公司 Encoder, decoder and corresponding methods using compressed MV storage
US11818357B2 (en) 2018-12-29 2023-11-14 Huawei Technologies Co., Ltd. Encoder, a decoder and corresponding methods using compact MV storage
CN115209144B (en) * 2018-12-29 2024-01-02 华为技术有限公司 Encoders, decoders and corresponding methods using compressed MV storage
CN114885166B (en) * 2018-12-29 2024-04-12 华为技术有限公司 Encoder, decoder and corresponding methods using compressed MV storage
CN115426494B (en) * 2018-12-29 2024-05-17 华为技术有限公司 Encoder, decoder and corresponding methods using compressed MV storage
KR102808828B1 (en) * 2018-12-29 2025-05-15 후아웨이 테크놀러지 컴퍼니 리미티드 Encoder, decoder and corresponding method using compact MV storage
US12348732B2 (en) 2018-12-29 2025-07-01 Huawei Technologies Co., Ltd. Encoder, a decoder and corresponding methods using compact MV storage
WO2020258057A1 (en) * 2019-06-25 2020-12-30 深圳市大疆创新科技有限公司 Video processing method, apparatus and device

Similar Documents

Publication Publication Date Title
KR102426721B1 (en) Methods of determination for chroma quantization parameter and apparatuses for using the same
US10116942B2 (en) Method and apparatus for decoding a video using an intra prediction
KR101830352B1 (en) Method and Apparatus Video Encoding and Decoding using Skip Mode
JP5922244B2 (en) Sample adaptive offset merged with adaptive loop filter in video coding
KR101713295B1 (en) Video encoding apparatus for performing intra-prediction based on directionality of neighboring block, video decoding apparatus and video decoding method for performing the same
CN103404144B (en) Quantized Pulse Code Modulation in Video Decoding
CN103891293B (en) Method and apparatus for the adaptive loop filter of chromatic component
US20120269263A1 (en) Method for coding and method for reconstruction of a block of an image
KR101973563B1 (en) Methods and apparatus for video transform encoding/decoding
KR101681301B1 (en) Method and Apparatus for Encoding/Decoding of Video Data Capable of Skipping Filtering Mode
KR20160078318A (en) Method and Apparatus for Video Encoding/Decoding
WO2016073283A1 (en) Techniques in backwards compatible multi-layer compression of hdr video
KR101911587B1 (en) Apparatus and method for video coding/decoding using adaptive intra prediction
KR100809603B1 (en) Pixel-based image encoding and decoding apparatus and method
KR102020953B1 (en) Image Reencoding Method based on Decoding Data of Image of Camera and System thereof
KR101431463B1 (en) Lossless video coding / decoding method and apparatus
US20150365701A1 (en) Method for encoding and decoding image block, encoder and decoder
KR20140048806A (en) Apparatus and method for inter-layer prediction based on spatial resolution
Xie Image and Video Compression
KR20140129420A (en) Method for intra-prediction using residual transform, and apparatus thereof
KR20140129419A (en) Method for intra-prediction using residual transform, and apparatus thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14781848

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14781848

Country of ref document: EP

Kind code of ref document: A1