Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
HIGH-DYNAMIC RANGE VIDEO TONE MAPPING
Document Type and Number:
WIPO Patent Application WO/2012/076646
Kind Code:
A1
Abstract:
The invention provides a method for tone-mapping a High Dynamic Range (HDR) data video stream provided in MPEG format. The method comprises decoding (302) the HDR data video stream to generate a MPEG frame sequence comprising I-Frames, P-Frames, and B-frames, and provide auxiliary decoding data. The method further comprises: i- applying a tone mapping operation (304) to each received I-Frame to provide a tone- mapped I-Frame, ii- for each received P-frame depending on a reference I-frame, computing (306) the tone-mapped P-frame from the tone-mapped I-Frame previously determined for the reference I-frame, the reference I-Frame, and auxiliary decoding data; iii- for each received B-frame, computing (308) the tone-mapped B-frame from the tone mapped I-frame previously determined for the reference I-frame, the tone mapped P-frame previously determined for the reference P-frame, the reference I frame, and auxiliary decoding data.

Inventors:
EL-MAHDY AHMED HAZEM (EG)
EL-SHISHINY HISHAM EMAD (EG)
Application Number:
PCT/EP2011/072183
Publication Date:
June 14, 2012
Filing Date:
December 08, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
IBM (US)
IBM UK (GB)
EL-MAHDY AHMED HAZEM (EG)
EL-SHISHINY HISHAM EMAD (EG)
International Classes:
H04N7/26; G06T5/00; H04N7/50
Foreign References:
US20060153287A12006-07-13
US20090041376A12009-02-12
EP2009921A22008-12-31
US20080310501A12008-12-18
US20090003718A12009-01-01
Other References:
ZHE WENDY WANG ET AL: "INTERACTIVE TONE MAPPING FOR HIGH DYNAMIC RANGE VIDEO", PROCEEDINGS OF IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (ICASSP), 14-19 MARCH 2010, DALLAS, TEXAS, USA, IEEE, DALLAS, TX, US, 14 March 2010 (2010-03-14), pages 1014 - 1017, XP007916011, ISBN: 978-1-4244-4296-6
REINHARD E ET AL: "Photographic tone reproduction for digital images", ACM TRANSACTIONS ON GRAPHICS: TOG, ACM, US, vol. 21, no. 3, 1 July 2002 (2002-07-01), pages 267 - 276, XP007904044, ISSN: 0730-0301, DOI: 10.1145/566570.566575
R. MANTIUK; G. KRAWCZYK; K. MYSZKOWSKI; H. SEIDEL: "ACM SIGGRAPH 2004 Papers", 2004, ACM, article "Perception-motivated high dynamic range video encoding", pages: 733 - 741
2007; G. SULLIVAN; HAOPING YU; S. SEKIGUCHI; HUIFANG SUN; T. WEDI; S. WITTMANN; YUNG-LYUL LEE; A. SEGALL; T. SUZUKI: "New Standardized Extensions of MPEG4-AVC/H.264 for Professional-Quality Video Applications", IMAGE PROCESSING, 2007. ICIP 2007. IEEE INTERNATIONAL CONFERENCE ON, pages I - 13 - 1,16
G. KRAWCZYK; K. MYSZKOWSKI; H. SEIDEL: "Proceedings of the 21st spring conference on Computer graphics", 2005, ACM, article "Perceptual effects in real-time tone mapping", pages: 195 - 202
N. GOODNIGHT; R. WANG; C. WOOLLEY; G. HUMPHREYS: "Proceedings of the 14th Eurographics workshop on Rendering", 2003, EUROGRAPHICS ASSOCIATION, article "Interactive time-dependent tone mapping using programmable graphics hardware", pages: 26 - 37
J. CARLETTA; H. FIRAS, METHOD FOR REAL-TIME IMPLEMENTABLE LOCAL TONE MAPPING FOR HIGH DYNAMIC RANGE IMAGES
G. SULLIVAN; HAOPING YU; S. SEKIGUCHI; HUIFANG SUN; T. WEDI; S. WITTMANN; YUNG-LYUL LEE; A. SEGALL; T. SUZUKI: "New Standardized Extensions of MPEG4-AVC/H.264 for Professional-Quality Video Applications", IMAGE PROCESSING, 2007. ICIP 2007. IEEE INTERNATIONAL CONFERENCE ON, 2007
ERIK REINHARD; MICHAEL STARK; PETER SHIRLEY; JAMES FERWERDA: "Photographic tone reproduction for digital images, SIGGRAPH '02: Proceedings of the 29th annual conference on Computer graphics and interactive techniques", 2002, ACM PRESS, pages: 267 - 276
Attorney, Agent or Firm:
ROBERTS, Scott (Intellectual Property LawHursley Park, Winchester Hampshire SO21 2JN, GB)
Download PDF:
Claims:
CLAIMS

1. A method for tone-mapping a High Dynamic Range (HDR) data video stream encoded in MPEG format, said encoded High Dynamic Range (HDR) data video stream comprising a frame sequence of Intra-coded frames (I-Frames), Predictive-coded frames (P- Frames), and bidirectionally-predictive-coded frames (B-frames), the method comprising decoding (302) said data video HDR data stream to generate decoded I-frames, auxiliary decoded data related to P-Frames, and auxiliary decoded data related to B-Frames, the method further comprising:

i- applying a tone mapping function (304) to each decoded I-Frame to provide a tone-mapped I-Frame according to a tone mapping operator,

ii- for each P-frame depending on a reference I-frame, computing (306) the tone- mapped P-frame from the tone-mapped I-Frame previously determined for the reference I- frame, the reference I-Frame, and said auxiliary decoding data related to said P-Frame ; and/or

iii- for each B-frame, computing (308) the tone-mapped B-frame from the tone mapped I-frame previously determined for the reference I-frame, the tone mapped P-frame previously determined for the reference P-frame, and said auxiliary decoding data related to said B -Frame.

2. The method of claim 1, wherein said step ii comprises computing (306) the tone- mapped value for the P-frame at a given pixel location (x,y) of said P-Frame from the value Il(x',y') of the tone-mapped I-Frame at a predetermined pixel location (x',y') at said reference I-Frame corresponding to said pixel location (x, y), the value I(x',y') of said reference I frame at said predetermined location (x',y'), and said auxiliary decoding data related to the P-Frame.

3. The method of any preceding claim, wherein step iii comprises computing (308) the tone-mapped value for the B-frame Bl (x,y) at a given pixel location (x,y) of said B-Frame from the value Il(x',y') of the tone mapped I frame at a first predetermined pixel location (x',y') of said reference I-Frame corresponding to said pixel location (x,y), the value Pl(x",y") of the tone mapped P-frame at a second predetermined pixel location (x",y") of said reference P-Frame corresponding to said pixel location (x,y), the value I(x',y') of said reference I frame at said first predetermined location (x',y'), and said auxiliary decoding data related to the B -Frame. 4. The method of any preceding claim method of claim 3, wherein said auxiliary data related to the P-frame and used in step ii comprise a decoded error signal ep for the P-frame and/or said auxiliary data related to each B-frame and used in step iii comprise a decoded error signal et,, said decoding step (302) comprising decoding said error signal ep and/or said error signal eb from the MPEG video data stream using an inverse Discrete Cosine transform function.

5. The method of claim 4, wherein step ii comprises scaling said error signal ep related to the P-Frame by the ratio Ii(x',y')/I(x',y'), and/or step iii comprises scaling said error signal eb related to the B frame by the ratio Ii(x',y')+Pi(x",y"))/(I(x',y')+P(x",y"), where P(x",y") represents the reconstructed value of the reference P-Frame at the second predetermined location.

6. The method of any preceding claim 4 and 5, wherein said tone-mapped value for the P-frame Pl(x,y) at a given pixel location (x,y) is determined according to the following equation :

P1(x,y)=I1(x',y')+ep(x,y)*I1(x',y')/I(x',y').

7. The method of any claim 4 to 6, wherein said tone-mapped value for the B-frame Bl(x,y) at a given pixel location (x,y) is determined according to the following equation :

B1(x,y)=I1(x^y +Pl(x y' +eb(x,y)*(Il(x^y +Pl(x y' ) (I(x^y +P(x y''))·

8. The method of any preceding claim 2 to 7, wherein said auxiliary decoding data further comprise one set of decoded motion vectors for each P-Frame associated with the reference I-Frame, and said step ii comprises determining said predetermined location (x',y') from said set of decoded motion vectors associated with the reference I-frame.

9. The method of any preceding claim 3 to 8, wherein said auxiliary decoding data comprise two sets of decoded motion vectors for each B-Frame associated respectively with the reference I-Frame and the reference P-Frame, and said step iii comprises determining said first predetermined location (x',y') from the set of decoded motion vectors associated with the reference I-Frame and said second predetermined location (x",y") from the set of motion vectors associated with the reference P-Frame.

10. The method of any claim 8 and 9, wherein said sets of motion vectors are produced from the MPEG video data stream, and said decoding step (302) comprises applying a motion compensation function to decode said sets of motion vectors.

11. The method of any preceding claim, wherein said decoding step (302) comprises applying a variable length decoding function to said FIDR video data to provide a sequence of quantized coefficient sets, applying an inverse scan function upon said coefficient sets to provide an inverse scanned video data signal, applying an inverse quantisation function to said inverse scanned video signal, and applying an Inverse Discrete Cosine Transform on the inverse quantized video data signal to provide an inverse quantized video data signal.

12. The method of any preceding claim, wherein it further comprises performing a colour space transformation of each tone-mapped frame obtained according to steps i, ii and iii, and displaying said transformed frames in a displaying device.

13. The method of claim 12, wherein said colour space transformation is performed into the RGB colour space.

14. A computer program comprising instructions for carrying out the steps of the method according to any one of claims 1 to 13, when said computer program is executed on a suitable computer device.

15. A system comprising means adapted to carry out the steps of the method according to any one of claims 1 to 13.

Description:
HIGH-DYNAMIC RANGE VIDEO TONE MAPPING

FIELD OF THE INVENTION

The present invention generally relates to the High Dynamic Range (HDR) image processing and in particular to a system and a method for tone mapping a MPEG HDR video stream.

BACKGROUND OF THE INVENTION

The quality of digital images has dramatically improved over the past few years. The number of pixels in a picture has increased due to improvements in both cameras and displays.

However, with the increase of the number of pixels in a high definition (HD) picture and the improved dynamic information in a high dynamic range (HDR) picture, an increasing amount of data is associated with pictures. This causes concerns as regards the display of such images. For still images, it is known to apply tone mapping techniques that allows reduction of the dynamic range of a picture in a way that attempts to allow the user to observe all details relevant to the human eye. However, for video data consisting of a plurality of frames, existing solutions suffer from a number of limitations.

Indeed, the display of high definition (HD), high dynamic range (HDR) video on

conventional displays (8-bit displays) involves a number of technical difficulties. A HDR video has dynamic range of luminance matching that of the real scene, which is much larger than that displayed on standard, low dynamic range (8-bit) displays. Displaying HDR content on such displays requires compressing the dynamic range, yet still giving a similar visual experience of visualizing the real scene, using a 'tone mapping' operation. One main problem is that high quality tone mapping operators require substantial processing power to sustain the typical frame rate of 60 frames/sec and high image resolution of 1920x1080 for High Definition video.

A first known approach to allow for real-time display of HDR video is not to perform tone- mapping in real time and instead using a pre-tone mapped video stream embedded into the HDR stream. This approach has been described in U.S. Patent 20080310501, U.S. Patent 20090003718, in the article entitled "Perception-motivated high dynamic range video encoding" (ACM SIGGRAPH 2004 Papers; Los Angeles, California: ACM, 2004, pp. 733- 741) by R. Mantiuk, G. Krawczyk, K. Myszkowski, and H. Seidel, and also in the article "New Standardized Extensions of MPEG4-AVC/H.264 for Professional-Quality Video Applications" (Image Processing, 2007. ICIP 2007. IEEE International Conference on, 2007, pp. I - 13-1 - 16) by G. Sullivan, Haoping Yu, S. Sekiguchi, Huifang Sun, T. Wedi, S.

Wittmann, Yung-Lyul Lee, A. Segall, and T. Suzuki. This approach obviates the need for tone mapping and thus displaying HDR video is simply done by decoding the tone-mapped stream. This approach, however, has the major disadvantage of "off-line" tone mapping. That limits the applicability of this approach to pre-recorded videos and therefore does not allow for live TV broadcasting. Moreover, the tone mapping operator is predetermined and cannot be changed.

Another approach to this problem is the one taken in the article "Perceptual effects in realtime tone mapping" (Proceedings of the 21st spring conference on Computer graphics, Budmerice, Slovakia: ACM, 2005, pp. 195-202, by G. Krawczyk, K. Myszkowski, and H. Seidel, and in the article "Interactive time-dependent tone mapping using programmable graphics hardware", Proceedings of the 14th Eurographics workshop on Rendering,

Leuven, Belgium: Eurographics Association, 2003, pp. 26-37, by N. Goodnight, R. Wang, C. Woolley, and G. Humphreys). This approach consists in approximating a particular tone mapping operation and relies on high performance computing such as graphics processing units to perform tone mapping in real-time. However, this approach has the disadvantage of potentially decreasing the tone mapping quality to allow for real time processing, while still requiring high power/high cost underlying hardware for an acceptable quality tone mapping. Further, solutions applying this approach are usually highly tuned for a specific tone mapping operator, making it not possible to change the tone mapping operator to match the intending viewing characteristics (for example emphasizing details rather than having a perceptually pleasing images).

Another existing solution to this problem is the one described in the article "Method for realtime implementable local tone mapping for high dynamic range images" by J. Carletta and H. Firas. This solution builds a custom hardware implementation that performs tone mapping in real-time. However, this solution generally relies on significant approximation of the tone mapping operator to decrease the hardware cost. Also, the hardware is

application/tone mapping specific, increasing the implementation cost as the hardware cannot be used for other functions.

Enable displaying HDR video on conventional displays is therefore highly limited, given existing technologies.

Accordingly, there is a need for an improved method that allows for real-time tone mapping for HDR video stream.

SUMMARY OF THE INVENTION

According to the present invention there is provided a method of tone mapping a High Dynamic Rang video data stream according to the appended independent claim 1, a computer program, a computer readable medium and a system according to appended claims 13 to 15 respectively. Preferred embodiments are defined in the appended dependent claims.

The invention accordingly provides a real-time tone mapping method for High Definition HDR videos that is not bound to a particular tone mapping operator.

The invention allows use of the standard process of MPEG video decoding operation to perform tone mapping as a "by-product" which does not involve significant extra overhead with respect to the decoding process. The various embodiments of the invention rely on the exploitation of temporal redundancies in video which are already identified during the MPEG encoding process, and use that to reduce the tone mapping operation to a mere global addition and scaling operations. As a result, only one full tone mapping operation is performed for a group of frames.

One advantage of the present invention is to speed up the operation of video tone mapping by a factor comparable to the video frame rate (eg 15x speedup for frame rates of 60 frames per second for High Definition video stream). It is still another advantage of the invention to allow selection of any tone mapping operator for the intra-frame tone mapping.

The solution of the present invention can be easily integrated with MPEG video decoding process and other similar video encoding technique, while requiring limited hardware processing power and power requirement.

It is another advantage of the invention to associate the quality of the tone mapping with the quality of the MPEG video compression.

Further advantages of the present invention will become clear to the skilled person upon examination of the drawings and detailed description. It is intended that any additional advantages be incorporated herein.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings in which like references denote similar elements, and in which:

Figure 1 shows a sequence of Frames according to MPEG standard;

Figure 2 schematically illustrates the tone mapping operations performed on the MPEG Frames;

Figure 3 is a high-level flow chart for displaying a High Dynamic Range (HDR) video data stream in accordance with embodiments of the present invention;

Figure 4 shows a system block diagram for tone mapping a High Dynamic Range (HDR), in accordance with embodiments of the present invention; and

Figure 5 illustrates a computer system used for tone mapping an HDR image, in accordance with embodiments of the present invention.

The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. DETAILED DESCRIPTION

Multimedia devices generally implement video coding techniques, such as MPEG-2, ITU-

H.263, MPEG-4, etc. to transmit, receive, store or retrieve digital content. Among these encoding techniques, the MPEG international standard has been extended to compress HDR video stream, as described in "New Standardized Extensions of MPEG4-AVC/H.264 for Professional-Quality Video Applications", Image Processing, 2007. ICIP 2007. IEEE International Conference on, 2007, pp. I - 13-1 - 16, by G. Sullivan, Haoping Yu, S.

Sekiguchi, Huifang Sun, T. Wedi, S. Wittmann, Yung-Lyul Lee, A. Segall, and T. Suzuki,.

An MPEG data stream consists of a video stream that may be packed with an audio stream and other bit streams.

Figure 1 illustrates an exemplary MPEG sequence 100 comprising frames taken at intervals. Frames are designated by the way temporal information is encoded.

MPEG encoding is utilized to generate a frame sequence comprising a plurality of frames having different types. More specifically an MPEG frame sequence comprises logical groups, each comprising three types of frames: I-frame 101, P-frame 102, and B-frames 103.

The I-frame 101 is a compressed version of a single uncompressed frame. It only relies on intra-frame data for encoding, without reference to other types of frame (ie. no temporal encoding of redundancy). Unlike P-frames and B-frames, I-frames do not depend on data in the preceding or the following frames.

The P-frame 102 relies on prediction from an earlier I frame 101. B frames 103 are temporally encoded via a previous I-frame 101 and a next P-frame 102. As shown in figure

I, a typical sequence of frames is as follows: I B B ... B P. In certain MPEG applications, I- frames occur every 15 th frame for HD video stream.

In general, for the frame(s) (P-frames and B-frames) that follow a reference frame (I or P frames), only small portions of these frames are different from the corresponding portions of the respective reference frame. For these referenced frames, only the differences are captured and stored using motion vectors.

To enable backward prediction from a future frame, the encoding device generally reorders the frames from the display order to the bitstream order so that a B-picture is transmitted after the previous and next frame it references.

MPEG video encoding unit performs two main operations. The first operation performed by the MPEG video encoding unit encodes the temporal redundancy of data across the MPEG frames. For a given frame block, the encoder searches for matching two blocks from a previous frame and a next frame. The current frame block is then subtracted from the matched two blocks.

The second MPEG operation is encoding of spatial redundancy inside each frame after the temporal reduction operation. An intra-frame Discrete Cosine Transform (DCT) operation and a motion-compensated inter-frame prediction operation are used in addition to a quantization step is used to encode the spatial redundancy.

In the MPEG encoder, the motion-compensated inter-frame prediction is first determined and combined to the DCT. The motion-compensated prediction is subtracted from the source picture to form a 'prediction error' picture and then the prediction error is transformed with the DCT, the coefficients are quantised and these quantised values encoded using a Variable Length Encoding (VLC). The coded luminance and chrominance prediction error is combined with 'side information' required by the decoder, such as motion vectors and synchronising information, and formed into a bitstream for transmission.

The FIDR data stream (also referred to thereinafter as "bitstream") thus encoded comprises a number of horizontal slices, each including a number of macroblocks. Each macroblock comprises among other information, a quantisation value, motion vectors, luminance and chrominance blocks of quantised DTC coefficients. The tone mapping method according to the various embodiments of the invention allows an efficient display of an HDR video data stream encoded according to MPEG format. The tone-mapping method applies a tone map operator to tone map I-frames, while tone mapping P-frames and B-frames based on the tone mapped frames previously determined for the reference frames (I and P frames), and information resulting from the MPEG decoding of the HDR video data stream.

Figure 2 schematically depicts the phases of the tone mapping method in accordance with the various embodiments of the invention.

When a I-Frame of the HDR bitstream is received, a tone mapped operation is applied to the I-Frame 201 of the input data stream into a tone mapped I-Frame 210, according to a tone mapping technique. The tone-mapped I-Frame is stored in memory to allow differential computation of tone-mapping values for the frames it references (P -Frames or B-Frames).

While the intra-frame involves a full tone mapping operation, it is an advantage of the invention to allow a "differential" tone-mapping of dependent frames (P -Frames and B- Frames) based on additions and scaling operations related to tone-mapped I-Frame values obtained for the I-Frame which serves as a reference frame.

More specifically, when a P-Frame 202 is received which depends on a reference I-Frame, tone mapped values for the P-Frame are computed using addition and scaling function related to the tone-mapped I-Frame 210 obtained for the reference I-Frame and other information related to the MPEG decoding of the bitstream, thereby providing a tone- mapped P-Frame 212. The tone-mapped P-frame values are stored in memory to allow differential computation of tone-mapping values for the frames it references (B-Frames).

When a B-Frame 203 is received which depends on a given I-Frame and P-Frame, tone- mapped values for the B-Frames are differentially computed based on the tone-mapped I- Frame 210 obtained for the reference I-Frame, the tone-mapped P-Frame 212 obtained for the reference P-Frame, and additional information related to the MPEG decoding of the bitstream. This provides a tone-mapped B-Frame 214 without involving an actual tone mapping operation on the frame, thereby saving significant computation time, memory, and power.

Accordingly, the tone mapping method according to the various embodiments of the invention only requires one tone-mapping operation for the Intra-frames. For the frames that follows a reference frame (P -Frames and B-frames), the computation of corresponding tone mapped frames only involves a number of additions and scaling that do not contribute to the complexity of decoding time. The FIDR video data stream can then be transformed into a sequence of frames adapted to be displayed on conventional display devices, with lower computation costs and with an improved speedup.

Figure 3 is a flowchart for displaying an FIDR video data stream encoded in MPEG.

The method starts in step 300 with the reception of a HDR video data stream according to MPEG format. The input video stream may be received from any type of encoding device adapted to encode an original video data stream into MPEG format or from a data store storing video data stream into MPEG format such as hard disks, optical disks, and the like. The encoding device may be a general purpose computer which receives an original video data stream from any type of source such as a satellite receiver, a video camera.

The HDR video data stream in MPEG format comprises variable-length codes which were obtained during the MPEG encoding process.

In step 302, MPEG decoding operations are applied to the HDR bitstream. The MPEG decoding process decodes and stores each received frame which serves as a reference for other frames, such as I or P frames. Each newly reconstructed frame serving as a reference frame, such as an I-Frame or a P-frame, replaces the previously stored reference frame to serve as the new reference for incoming frames. A P-frame or a B-frame that depends on a reference frame is reconstructed using a motion compensation function which is applied on the frame using the neighboring decoded reference frames (I-Frame and/or P-Frame). The frames depending on reference frames (such as P-frames and B-frames) are associated with respective motion vectors which reference blocks in neighboring decoded reference frames (I-frame or P-Frame). The MPEG decoder uses each motion vector to determine a corresponding reference block in each reference frame (I-Frame or P-Frame) so as to access the reference block pointed to by the motion vector. Accordingly, a P-frame is reconstructed from the associated reference I-frame which has been previously decoded and cached in a picture buffer and a B-frame is reconstructed from the two associated reference frames (I- Frame and P-Frame) which have been previously decoded and cached in a picture buffer.

The MPEG decoding step thereby generates I-frame (full values), reconstructed P-Frames and reconstructed B-Frames. It also provides intermediary errors values e p (x,y) for each received P-frame and error values et,(x,y) for each received B-frame, The error signal e p (x,y) represents the error value in a P frame at pixel location (x,y) and the error signal et,(x,y) represents the error value in a B-frame at pixel location (x,y). The errors values for the P and B frames are originally encoded by the MPEG encoder. The MPEG decoder uses an Inverse Discrete Cosine Transform to decode them. Errors are used typically in a motion

compensation operation to reconstruct the original frames of the video data stream, the value of which is therefore an error or a difference between the original pixel value and a temporal reconstructed value that is obtained by using pixel values from other frames to compute a current frame pixel.

More specifically, MPEG decoding step 302 applies a variable-length decoding function to recover the run, level, and length of each variable-length code, according to the MPEG encoding standard used and the frame type. Variable-length codes may be decoded using a table look-up technique or any suitable technique. Step 302 also includes assigning the coefficients from the variable length decoding function into macroblocks (e.g. 8*8 pixels) and applying an inverse quantisation function to multiply each coefficient in a macroblock by the same corresponding quantization constant as used in the quantization phase of the encoding, and rounding the result to the nearest integer. Step 302 also applies an inverse discrete cosine transform (DCT) function to the macroblocks to return the blocks to a time/spatial domain representation, which provides the I-Frame and the error values e(x,y) for P-Frames and B-Frames. For each received P-Frame or B-Frame, MPEG decoding step 302 also uses the associated motion vector(s) to provide reconstructed P-Frames and B-Frames.

In step 304, each I-Frame decoded in step 302 is tone mapped according to any suitable tone mapping technique. In the following description, the I-frame pixel value at location (x,y) will be referred to as I(x,y), while the tone mapped value of the I-frame at a given pixel (x,y) will be referred to as Il(x,y) at pixel location (x, y). The tone-mapped I-Frame II can be generated using a suitable tone mapping operator such as for example the Reinhard et al. photographic tone mapping operator (Erik Reinhard, Michael Stark, Peter Shirley, and James Ferwerda. Photographic tone reproduction for digital images, SIGGRAPH '02: Proceedings of the 29th annual conference on Computer graphics and interactive techniques, pages 267- 276, New York, N. Y., USA, 2002. ACM Press), which is a local adaptive operator incorporating the classical Ansel Adams dodging-and-burning technique (Ansel Adams, The Print, The Ansel Adams Photography Series/Book 3, Little,Brown and Company, tenth edition, 2003, with the collaboration of Robert Balker), that is based on common

photographic principles, to tone map each individual pixel.. Any tone mapping operator can be used as long as tone mapping happens spatially (within one frame). This is generally satisfied by most tone mapping operators. The invention also applies to tone mapping operators for which a time adaptation step may be performed (after the spatial tone mapping) to adapt for luminance changing with time. When such time adaptation relies on a current tone mapped frame and time information, an extra time operator may need to be performed on the frame. However, the overhead of such operations is insignificant compared to the tone mapping operation. An exemplary temporal adaption method is described in "Perceptual effects in real-time tone mapping" {Proceedings of the 21st spring conference on Computer graphics, Budmerice, Slovakia: ACM, 2005, pp. 195-202) by G. Krawczyk, K.

Myszkowski, and H. Seidel.

In step 306, the tone mapped P-Frame Pl(x,y) is differentially computed for a received P- Frame following a reference I-Frame from the value of the tone mapped I-Frame Il(x',y') obtained at a corresponding location (x',y') for the reference I-Frame (according to step 304), and a scaling factor related to the error signal e p (x,y) encoded for the P-frame as obtained in step 302 (using inverse quantisation and discrete cosine transform functions). A motion vector associated with the P-frame can be used to determine the pixel location (x',y') at the reference I-frame corresponding to the pixel location (x,y) at the P-frame. The Motion vector may be provided by the variable length decoding function used during the decoding of the MPEG video data stream.

In step 308, the tone mapped B-Frame value Bl(x,y) at pixel location (x,y) is computed for a received B-Frame depending on a reference I-Frame and a reference P-Frame from the value of the tone-mapped I-Frame Il(x',y') obtained for the reference I-frame at a first

predetermined location (x',y'), the value of tone mapped P-Frame Pl(x",y") obtained for the reference P-frame at a second predetermined location (x",y")), and a scaling factor related to the error signal et,(x,y) encoded for the B-frame as obtained in step 302 (using inverse quantisation and discrete cosine transform functions). The first predetermined location (x',y') is the pixel location at the reference I-frame corresponding to the pixel location (x,y) of the B-frame, and the second predetermined location (x",y") is the pixel location at the reference P-frame corresponding to the pixel location (x,y) of the B-frame. The first predetermined location (χ', y') may be determined using the motion vector associated with the reference I- frame. The second predetermined location (x", y") may be determined from the motion vector associated with the reference P-frame. These two motions vectors can be produced by the video length decoding (VLC) function applied at the beginning of the MPEG decoding of the video data stream (step 302).

In step 310, a color space conversion of the HDR video data stream is performed from the tone mapped I-Frames obtained according to step 304 (Il(x,y)), the tone mapped P frames (Pl(x, y)) obtained according to step 306 and the tone mapped B-Frames (Bl(x,y)) obtained according to step 308. The conversion may be made to the RGB standard color space in which the color of each pixel is represented by three components, namely Red (R), Green (G), and Blue (B). The conversion may be alternatively made to the Luv color space is Luv, wherein L is the luminance component, and u and v are each a chrominance component.

Figure 4 shows a system block diagram representing a displaying system 400 for decoding and tone mapping an HDR video data stream, in accordance with certain embodiments of the invention. The displaying system 400 takes an HDR MPEG stream as an input. It is coupled to a display device for displaying the video data stream based on data extracted from reference I- frames and information extracted from a temporally compressed or encoded frames P-frames and/or B-frames.

The HDR video data stream encoded in MPEG format comprises "slices". Each slice represents a horizontal section of an image frame and comprises a sequence of macroblocks. Each macroblock includes a macroblock header, a motion vector section, and coded blocks of Discrete Cosine Transform (DCT) coefficients. The motion vector section is used to produce the motion vectors for the macroblock.

System 400 comprises a variable length decoding block CI for a first processing of the HDR MPEG stream. The variable length decoding block CI performs standard variable length decoding on the HDR MPEG stream to provide quantized discrete cosine transform (DCT) coefficients (e.g. by using predetermined Huffman table). An inverse scan function (not shown) assigns the coefficients from the variable length decoding block into blocks (e.g. 8*8 blocks)).

The transform block C2 then performs inverse quantization and inverse discrete cosine transform operations. The inverse quantization operation multiplies each coefficient in a block provided from the inverse scan function by the same corresponding quantization constant as used in the quantization procedure during encoding, and rounds the result to the nearest integer. The inverse discrete cosine transform operation is applied to the blocks to return the blocks to a spatial domain representation (forming an image difference block). One of the functions of the inverse DCT operation according to certain embodiments of the invention consists in particular in decoding the errors signals associated respectively with the P and B frames (which were originally encoded by the MPEG encoder).

The encoded motion vectors and error signals are then transmitted to a motion compensation block C3. The Motion Compensation Block C3 is used to decode the errors signals associated respectively with the P and B frames (referred to thereinafter as e p (x,y) and et,(x,y) for P and B frames), the encoded set of motion vectors for each P-frame (associated with the reference I-Frame) and the two sets of encoded motion vectors for each B-frame (associated with the reference I-Frame and P-Frame). In typical MPEG decoders, each motion vector is generally used to retrieve a reference image block that is combined with the output of the inverse discrete cosine transform operation to produce a decoded image block. The Motion

Compensation Block C3 thus provides reconstructed P-Frames and B-Frames. However, in accordance with the embodiments of the invention, the Motion Compensation Block C3 is mainly used to decode the error signals and the motion vectors to supply them to Uni- Differential Tone Mapping Calculation C6 and Bi-Differential Tone Mapping Calculation C7 blocks.

Blocks C2 and C3 are accordingly used to generate I-frames (full values), error signal values e p (x,y) and et,(x,y) for P-Frames and B-frames, and provide decoded motions vectors.

Each decoded I-frame from transform block C2 is fed into a Tone Mapping block C5. The tone mapping block is provided to perform a tone mapping operation on I-Frames according to a suitable tone-mapping technique. The tone mapping operation is performed to map one set of colors to another and approximate the appearance of the HDR video. The values Il(x,y) obtained from the tone mapping block C5 (toned-mapped I-Frame) are fed into the Uni-Differential Tone Mapping Calculation Block C6 and Bi-Differential Tone Mapping Calculation Block C7 for differential computation of tone-mapped values for the P-frames and B-frames it references.

For each decoded P-Frame, the tone mapped I-frame associated with its reference I-Frame (obtained from Block C5), the error value encoded e p (x,y) at the P-frame (obtained from block C2), the P-frame motion vector and the reconstructed P-Frame (received from C3) are used by a Uni-Differential Tone Mapping Calculation block C6 (referred to as "Uni- differential" with respect to the earlier I frame which serves as the reference frame for the P- Frame) to compute tone-mapped values for the P-frame. The Uni-Differential Tone Mapping Calculation block C6 computes values for the tone-mapped P-Frame from the tone-mapped I-frame values according to the following equation:Pi(x,y)=Ii(x',y')+e p (x,y)*Ii(x',y')/I(x',y'), where Pi(x,y) is the tone mapped P-frame pixel value at location (x,y),

e p (x,y)*Ii(x',y')/I(x',y') is the scaling factor, I(x',y') is the I-frame pixel value at location (x',y') in the I frame and e p (x,y) is the error value encoded in P-frame at location (x,y);

Ii(x',y') is the tone mapped value of the reference I-frame previously determined by tone mapping block C5. The location (x',y') is determined by the P-Frame motion vector.

The error signal e p (x,y) is measured as the accumulated absolute differences e p (x,y).

Alternatively, if the error signal e p (x,y) is high (i.e. superior to a predefined threshold), the entire P-frame may be tone mapped fully without approximation.

For each decoded B-Frame, the tone mapped I-frame Il(x,y) previously determined for the reference I-Frame (obtained from C5), the tone mapped P-frame Pl(x,y) previously determined for the reference P-Frame (obtained from C5), the error value et,(x,y) at the B- frame (obtained from block C2), the two motion vectors associated respectively with the reference I-Frame and P-Frame, and the reconstructed reference P-Frame are used by a Bi- Differential Tone Mapping Calculation block C7 (C7 is referred to as bi-differential with respect to the reference I-Frames and P- frames) to compute tone mapping values Bl(x,y) for the B-frame according to the following equation:

B 1 (x,y)=I 1 (x^y +Pl( χ y' +eb( χ ,y)*(Il( χ ^y +Pl( χ y' ) (I( χ ^y')+P( χ y''))

where Bi(x,y) is the tone mapped value of pixel (x,y) at B-frame, Ii(x',y') is the

corresponding pixel at the tone mapped I-frame, Pi(x",y") is the corresponding pixel value at the tone mapped P-frame, and et,(x,y) is the error (pixel) value of the B-frame. The corresponding pixel location (x',y') at reference I-Frame is determined with the motion vector of the B-Frame associated with the reference I-Frame, and the corresponding pixel location (x",y") at reference P-Frame is determined with the motion vector of the B-Frame associated with the reference P-Frame.

Alternatively, if the error signal -measured as the accumulated absolute differences et,(x,y)- is high (i.e. superior to a predefined threshold), the entire B-frame is tone mapped fully (using the tone mapping operator) without approximation, otherwise the tone mapped is computed differentially (ie with approximation). Originally the I-Frames, P-Frames and B-Frames in the MPEG stream are in HSB space, where pixel components represent "hue", "saturation", and "brightness" or luminance. The system 400 comprises a color space transformation block C4 which receives the computed frames (tone-mapped I, P and B-Frames) and transform them back to the RGB space to match the display color space. This provides a tone mapped RGB image that can be displayed.

In an exemplary application of the invention where each frame requires an average of ti time for tone mapping, and t 2 time for video decoding, a tone mapping operation is only required for I-frames in accordance with the embodiments of the invention. For P-Frames and B- frames, the tone mapping only involves a number of additions and scaling that do not contribute to the complexity of decoding time t 2 . Therefore, only time ti is incurred for I- frames and P-frames for the tone mapping operation. If I-frames occur every n frames, the total execution time T a required is therefore T a = ti + 1 2 . As decoding steps are performed in real-time, t 2 is substantially small.

It is an advantage of the invention to speedup the tone mapping operation with respect to existing techniques where tone mapping is done for every frame independently from the others. Indeed, considering time T b =n ti+ 1 2 , where T represents the total execution time when tone mapping is done on each frame, the resulting speedup S is accordingly as follows: S = T b /T a = (nti + 1 2 ) / (ti+t 2 )

Since t 2 is usually « tl therefore Tt,/T a = n. Error values are correlated with rapid scene changes. MPEG encoders usually insert I-Frames at such frames, so that errors are likely to be small. MPEG encoders usually insert an I-Frame every 15 frames. For such example, n=15 (e.g. PAL DVD). 15x speedup can be therefore expected. The main overhead introduced is mainly the tone mapping operation for frame I. Other overheads may include checking for the error threshold, which is negligible.

Figure 5 illustrates a computer system 50 used for transforming a video image from an MPEG HDR image into a color space converted image, in accordance with embodiments of the present invention. The computer system 50 comprises a processor 51, an input device 52 coupled to the processor 51, an output device 53 coupled to the processor 51, and memory devices 54 and 55 each coupled to the processor 51. The processor 51 is a processing unit such as a central processing unit (CPU). The input device 52 may be, inter alia, a keyboard, a mouse, etc. The output device 53 may be, inter alia, a printer, a plotter, a display device (e.g., a computer screen), a magnetic tape, a removable hard disk, a floppy disk, etc. The memory devices 54 and 55 may be, inter alia, a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital video disc (DVD), a dynamic random access memory (DRAM), a read-only memory (ROM), etc. The memory device 55 includes a computer code 57 which is a computer program that comprises computer- executable instructions. The computer code 57 includes an algorithm for transforming the MPEG HDR image into a colour space image. The processor 51 executes the computer code 57. The memory device 54 includes input data 56. The input data 56 includes input required by the computer code 57. The output device 53 displays output from the computer code 57. Either or both memory devices 54 and 55 may be used as a computer usable storage medium (or program storage device) having a computer readable program embodied therein and/or having other data stored therein, wherein the computer readable program comprises the computer code 57. Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system 50 may comprise said computer usable storage medium (or said program storage device).

While figure 5 shows the computer system 50 as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system 50 of figure 5. For example, the memory devices 54 and 55 may be portions of a single memory device rather than separate memory devices.

While particular embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art.