IP Library › Granted Patent US 11,301,973
Granted Patent B2
US 11,301,973 · App. 16/834,847 · Granted Apr 12, 2022

Tone mapping method

Inventors: Brian Paul Starkey (Cambridge, GB); Damian Piotr Modrzyk (Katowice, PL); Güney Kayim (Nottingham, GB); Lukas Krasula (Campbell, CA)
Assignees: Arm Limited; Apical Limited
G06T5/009G06T1/60G06T5/20G06T2207/20208
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,301,973
App. No.
16/834,847
Granted
Apr 12, 2022
Kind
B2
Abstract

A method of performing tone mapping in a stream of images (Fr 1 . . . N ) includes, for each image (Fr N ) in the stream: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ); generating, based on the sparse image data, tone mapping parameters of a tone mapping algorithm (TMA) for each position in the image (Fr N ); each position in the image (Fr N ) including the sparsely distributed positions (Pos 1 . . . k ) and a plurality of further positions (PosF 1 . . . j ) in the image (Fr N ); reading the image data values (ID N ) corresponding to the image (Fr N ) to provide image data from each position in the image (Fr N ); and tone mapping the image by mapping the image data from each position in the image (Fr N ) to adjusted image data using the generated tone mapping parameters.

Claims (30)

1. A method of performing tone mapping in a stream of images (Fr 1 . . . N ), the method comprising, for each image (Fr N ) in the stream:

sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N );

generating, based on the sparse image data, tone mapping parameters of a tone mapping algorithm (TMA) for each position in the image (Fr N ); each position in the image (Fr N ) including the sparsely distributed positions (Pos 1 . . . k ) and a plurality of further positions (PosF 1 . . . j ) in the image (Fr N );

reading the image data values (ID N ) corresponding to the image (Fr N ) to provide image data from each position in the image (Fr N ); and

tone mapping the image by mapping the image data from each position in the image (Fr N ) to adjusted image data using the generated tone mapping parameters.

2. The method according to claim 1 , wherein: generating, based on the sparse image data, tone mapping parameters of a tone mapping algorithm (TMA) for each position in the image (Fr N ), comprises:

dividing the image (Fr N ) into a plurality of zones (Zo 1 . . . p ); and

for each zone (Zo 1 . . . p ), using the sparse image data from the one or more sparsely distributed positions within the zone (Zo 1 . . . p ) to generate common tone mapping parameters of the tone mapping algorithm for the sparsely distributed positions (Pos 1 . . . k ) and the further positions (PosF 1 . . . j ) within the zone.

3. The method according to claim 1 , wherein each image (Fr N ) in the stream of images (Fr 1 . . . N ) comprises a plurality of pixels (Px 1 . . . M );

wherein each position in the image comprises a single pixel or a group of pixels; and

wherein the image data values (ID N ) comprise intensity values and/or chrominance values of the one or more pixels.

4. The method according to claim 3 , wherein each pixel (Px 1 . . . M ) includes a plurality of sub-pixels, each sub-pixel having a sub-pixel intensity value; and wherein the intensity value at each position in the image (Fr N ) comprises a weighted average of the plurality of sub-pixel intensity values at said position.

5. The method according to claim 1 further comprising:

generating display line update signals for displaying the image (Fr N ); and

wherein a time period between generating display line update signals for a last line of an image (Fr N-1 ) in the stream and generating display line update signals for a first line of a subsequent image (Fr N ) in the stream defines a vertical blanking interval (VBI);

and wherein: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ), is performed for the image (Fr N ) during the vertical blanking interval (VBI) that precedes: generating display line update signals for displaying the image (Fr N ).

6. The method according to claim 1 wherein: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ), further comprises filtering the sparse image data.

7. The method according to claim 1 further comprising displaying the image (Fr N ).

8. The method according to claim 1 wherein: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ), comprises sparsely reading a memory comprising said data values (ID N ); and/or

wherein reading the image data values (ID N ) corresponding to the image (Fr N ) to provide image data from each position in the image (Fr N ), comprises reading a memory comprising said data values (ID N ).

9. The method according to claim 1 wherein the sparse image data provided by: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ), represents a proper subset of the image data of each image (Fr N ).

10. The method according to claim 1 further comprising storing the sparsely read image data.

11. The method according to claim 1 , wherein the sparse image data from adjacent sparsely distributed positions in the image (Fr N ) corresponds to non-overlapping regions in the image (Fr N ).

12. System comprising a processor and a memory;

wherein the processor is in communication with the memory;

and wherein the memory comprises instructions which when executed on the memory cause the memory to carry out the method according to claim 1 .

13. The system according to claim 12 wherein the memory comprises a direct memory access memory;

and wherein: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ), comprises: storing the sparse image data in the direct random access memory.

14. The system according to claim 12 wherein the memory comprises a frame buffer; and wherein: sparsely reading image data values (ID N ) corresponding to the image (Fr N ) to provide sparse image data from a plurality of sparsely distributed positions (Pos 1 . . . k ) in the image (Fr N ), comprises: storing the sparse image data to the frame buffer.

15. A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon which, when executed by at least one processor, cause the at least one processor to perform the method according to claim 1 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: STARKEY, BRIAN PAUL; MODRZYK, DAMIAN PIOTR
To: ARM LIMITED
Reel/Frame 053072/0139 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: KAYIM, GÜNEY; KRASULA, LUKAS
To: APICAL LIMITED
Reel/Frame 053072/0196 →
Continuity (1)
Related Publication 20210304374A1 · Sep 30, 2021
Cited By (1)
US 12,244,943