IP Library Granted Patent US 8,498,342
Granted Patent B1
US 8,498,342 · App. 12/511,629 · Granted Jul 30, 2013

Deblocking filtering

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 8,498,342
App. No.
12/511,629
Granted
Jul 30, 2013
Kind
B1
Abstract

This disclosure describes tools capable of generating messages for use in deblocking filtering a video stream, the messages based on prediction parameters extracted from the video stream.

Claims (31)

1. A method comprising:

receiving, from a video stream processor, prediction parameters for blocks of pixels of a decoded video stream;

generating, based on the prediction parameters, messages and a return value, the messages usable for deblocking filtering the decoded video stream, the return value indicating whether deblocking filtering is to be performed for one or more of the blocks of pixels;

writing the messages usable for deblocking filtering the decoded video stream to a message queue of a pixel processor configured to perform the deblocking filtering; and

outputting the return value to the video stream processor effective to indicate to the video stream processor that the messages have been written to the pixel processor.

2. The method of claim 1 , wherein the blocks of pixels are chroma macroblocks or luma macroblocks of the decoded video stream.

3. The method of claim 1 , wherein the decoded video stream comprises blocking artifacts from prior encoding of the decoded video stream, the artifacts reducing a visual quality of video rendered from the decoded video stream, and wherein the messages are usable to reduce or eliminate some or all of the artifacts.

4. The method of claim 1 , further comprising storing the return value until the messages are written to the message queue of the pixel processor.

5. The method of claim 1 , wherein generating the messages comprises calculating loop filter parameters based on properties of the blocks of pixels of the decoded video stream.

6. The method of claim 5 , wherein the blocks of pixels of the decoded video stream share a vertical or horizontal edge with a current block of pixels of the decoded video stream that has not yet been deblocking filtered and for which the messages are usable for deblocking filtering.

7. The method of claim 5 , wherein calculating loop filter parameters calculates boundary strength parameters.

8. The method of claim 7 , wherein calculating boundary strength parameters is based on information about macro block edges of macro blocks neighboring a current macro block of the decoded video stream that has not yet been deblocking filtered and for which the messages are usable for deblocking filtering.

9. The method of claim 5 , wherein the loop filter parameters comprise alpha, beta, and edge threshold values.

10. The method of claim 5 , wherein generating messages comprises calculating the loop filter parameters for those of the blocks of pixels that share a vertical or horizontal edge with a current block of pixels of the decoded video stream that has not yet been deblocking filtered and for which the messages are usable for deblocking filtering.

11. The method of claim 1 , wherein the prediction parameters comprise one or more of picture-level parameters, macro-block-level parameters, macro-block quantized scaled factor parameters, or block-level parameters.

12. A filter operation accelerator comprising:

a filter operation calculation block configured to:

receive, from a video stream processor, prediction parameters for blocks of pixels of a decoded video stream;

generate, based on the prediction parameters, messages and a return value, the messages usable for deblocking filtering the decoded video stream, the return value indicating whether deblocking filtering is to be performed for one or more of the blocks of pixels, and

write the messages usable for deblocking filtering the decoded video stream to a message queue of a pixel processor configured to perform the deblocking filtering; and

an output buffer configured to:

store the return value until the messages are written to the message queue of the pixel processor; and

output the return value to the video stream processor effective to indicate to the video stream processor that the messages have been written to the pixel processor.

13. The filter operation accelerator of claim 12 , wherein the filter operation calculation block is further configured to calculate loop filter parameters based on properties the blocks of pixels of the decoded video stream and provide these loop filter parameters in the messages, and wherein the pixel processor is further configured to deblocking filter the decoded video stream using the loop filter parameters.

14. The filter operation accelerator of claim 13 , wherein the blocks of pixels of the decoded video stream share a vertical or horizontal edge with a current block of pixels of the decoded video stream that has not yet been deblocking filtered and for which the messages are usable for deblocking filtering.

15. The filter operation accelerator of claim 13 , wherein calculating loop filter parameters calculates boundary strength parameters based on information about macro block edges of macro blocks neighboring a current macro block of the decoded video stream that has not yet been deblocking filtered and for which the messages are usable for deblocking filtering.

16. The filter operation accelerator of claim 15 , wherein calculating boundary strength parameters is further based at least in part on intra-coding or frame coding.

17. The filter operation accelerator of claim 13 , wherein the filter operation calculation block is further configured to use lookup tables based on data extracted from the decoded video stream to calculate the loop filter parameters.

18. The filter operation accelerator of claim 13 , wherein generating the messages comprises calculating the loop filter parameters for blocks of pixels that share a vertical or horizontal edge with a current block of pixels of the decoded video stream that has not yet been deblocking filtered and for which the messages are usable for deblocking filtering.

19. The filter operation accelerator of claim 12 , wherein the prediction parameters comprise one or more of picture-level parameters, macro-block-level parameters, macro-block quantized scaled factor parameters, or block-level parameters.

20. The filter operation accelerator of claim 12 , wherein the filter operation accelerator is embodied on a System-on-Chip (SoC).

Assignments (4)
SECURITY INTEREST Recorded Sep 27, 2017
From: SYNAPTICS INCORPORATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 044037/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2017
From: MARVELL INTERNATIONAL LTD.
To: SYNAPTICS INCORPORATED; SYNAPTICS LLC
Reel/Frame 043853/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2010
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 023811/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2009
From: SHA, LI; TSAI, CHING-HAN; CHEN, CHI-KUANG; LUO, YAOJUN; SU, GUAN-MING; ZHOU, YE
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 023090/0357 →