IP Library Granted Patent US 9,953,401
Granted Patent B2
US 9,953,401 · App. 14/659,782 · Granted Apr 24, 2018

Apparatus and system for determining block averages for film grain simulation

Inventors: Jeffrey Allen Cooper (Rocky Hill, NJ); Joan Llach (Cedex, FR); Cristina Gomila (Cedex, FR)
Assignee: THOMSON Licensing
G06T5/002G06F17/30784G11B27/031H04N5/775H04N9/8715H04N19/423H04N19/44H04N19/46H04N19/467H04N19/85G06T2207/10016G06T2207/20204
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 9,953,401
App. No.
14/659,782
Granted
Apr 24, 2018
Kind
B2
Abstract

The present invention provides apparatuses and systems for determining block averages in film grain simulation including determining block averages during a display process and determining block averages during a decoding process. The apparatuses and systems of the present invention exhibit different characteristics in terms of memory requirements and computational cost. More specifically, the first apparatus and system use no external memory, but require either extra reads of the blocks, or internal memory in the display pipeline, while the second apparatus and system require extra memory bandwidth and extra external memory (e.g., RAM).

Claims (55)

1. An apparatus for determining block averages of a decoded picture in a film grain simulation process, comprising:

a memory storing at least one of control programs, algorithms and film grain patterns each with a program routine; and

a processor for executing said program routines;

said apparatus configured to:

determine a block average for said decoded picture in a display pipeline, avoiding external memory usage for said block average; and

select at least one film grain pattern for combination with said decoded picture, wherein the selecting is based, at least in part, on said determined block average.

2. The apparatus of claim 1 , wherein said apparatus comprises an interface controller.

3. The apparatus of claim 1 , wherein said apparatus is configured to:

compute the block average for one block at a time.

4. The apparatus of claim 1 , wherein said apparatus is configured to:

compute the block average for all the blocks in a row in parallel.

5. The apparatus of claim 1 wherein said apparatus is configured to:

reuse the pixel values used to compute the block average for the film grain simulation process; and,

reuse the pixel values used for the film grain simulation process for a display process.

6. An apparatus for determining block averages of a decoded picture in a film grain simulation process, comprising:

a memory storing at least one of control programs, algorithms and film grain patterns each with a program routine; and

a processor for executing said program routines; said apparatus configured to:

determine a block average for said decoded picture during a decode process;

store said determined block average in an external memory; and

select at least one film grain pattern for combination with said decoded picture, wherein the selecting is based, at least in part, on said determined block average.

7. The apparatus of claim 6 wherein said apparatus is configured to:

decode a set of pixels; and

compute the block average using the set of decoded pixels.

8. The apparatus of claim 7 wherein the decoded set of pixels is a macro-block.

9. The apparatus of claim 8 wherein the macroblock contains 16×16 samples, and 4 block averages are computed for each sample, one per each non-overlapping 8×8 block of said each sample.

10. A system for determining block averages of a decoded picture in a film grain simulation process, comprising:

a video decoder decoding pictures;

a video display and graphics engine displaying pictures; and

an interface controller in communication with said video decoder and said video display and graphics engine, the interface controller comprising a memory storing at least one of control programs, algorithms and film grain patterns each with a program routine; and

a processor executing said program routines;

said interface controller configured to:

determine a block average for said decoded picture in a display pipeline, avoiding external memory usage for said block average; and

select at least one film grain pattern for combination with said decoded picture, wherein the selecting is based, at least in part, on said determined block average.

11. The system of claim 10 , comprising a permanent memory for storing film grain patterns.

12. The system of claim 11 , wherein said selected at least one film grain pattern is obtained from said permanent memory.

13. The system of claim 10 wherein said apparatus is configured to:

decode a set of pixels; and

compute the block average using the set of decoded pixels.

14. The system of claim 13 wherein the decoded set of pixels is a macro-block.

15. The system of claim 14 wherein the macroblock contains 16×16 samples, and 4 block averages are computed for each sample, one per each non-overlapping 8×8 block of said each sample.

16. A system for determining block averages of a decoded picture in a film grain simulation process, comprising:

a video decoder decoding pictures;

a video display and graphics engine displaying pictures; and

an interface controller in communication with said video decoder and said video display and graphics engine, the interface controller comprising a memory storing at least one of control programs, algorithms and film grain patterns each with a program routine: and

a processor executing said program routines;

said interface controller configured to:

determine a block average for said decoded picture during a decode process;

store said determined block average in an external memory; and

select at least one film grain pattern for combination with said decoded picture, wherein the selecting is based, at least in part, on said determined block average.

17. The system of claim 16 wherein said apparatus is configured to:

decode a set of pixels; and

compute the block average using the set of decoded pixels.

18. The system of claim 17 wherein the decoded set of pixels is a macro-block.

19. The system of claim 18 wherein the macroblock contains 16×16 samples, and 4 block averages are computed for each sample, one per each non-overlapping 8×8 block of said each sample.

20. The system of claim 16 , comprising a permanent memory for storing film grain patterns and wherein said selected at least one film grain pattern is obtained from said permanent memory.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: THOMSON LICENSING DTV
To: INTERDIGITAL MADISON PATENT HOLDINGS
Reel/Frame 047105/0607 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2018
From: THOMSON LICENSING
To: THOMSON LICENSING DTV
Reel/Frame 044575/0723 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2017
From: LLACH, JOAN; COOPER, JEFFREY ALLEN; GOMILA, CRISTINA
To: THOMSON LICENSING
Reel/Frame 041968/0435 →
Continuity (3)
Continuation 11252320 · Oct 17, 2005
Provisional Application 60629632 · Oct 18, 2004
Related Publication 20150187387A1 · Jul 2, 2015