IP Library Patent Application 13682751
Patent Application
App. No. 13/682,751

METHOD AND SYSTEM FOR DEBLOCK FILTERING CODED MACROBLOCKS

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 None
App. No.
13/682,751
Abstract

A method and system for deblock filtering coded macroblocks in compliance with the H.264/AVC standard. The method includes deblock filtering three edges of a first sub-block of the macroblock and deblock filtering both vertical edges of a second sub-block that is adjacent to the first sub-block. The method also performs deblock filtering an upper horizontal edge of the second sub-block to provide a deblock filtered first sub-block. The deblock filtering of the upper horizontal edge of the second sub-block is performed immediately after deblock filtering the three edges and the left vertical edge and right vertical edge of the second sub-block. The method also performs storing the deblock filtered first sub-block in an output buffer before performing any further deblock filtering.

Claims (55)

1 . A method for performing deblock filtering of at least one coded macroblock of video data, the method being performed on an electronic system, comprising the steps of:

deblock filtering a left vertical edge of a first sub-block of said macroblock;

deblock filtering a right vertical edge of the first sub-block;

deblock filtering an upper horizontal edge of the first sub-block;

deblock filtering a left vertical edge of a second sub-block of said macroblock;

deblock filtering a right vertical edge of the second sub-block; and

deblock filtering an upper horizontal edge of the second sub-block to provide a deblock filtered first sub-block, wherein the upper horizontal edge of the second sub-block is a lower horizontal edge of the first sub-block and the deblock filtering of the upper horizontal edge of the second sub-block is performed immediately after deblock filtering the left vertical edge, right vertical edge and upper horizontal edge of the first sub-block, and the left vertical edge and right vertical edge of the second sub-block.

2 . The method for performing deblock filtering of claim 1 , further comprising:

deblock filtering a left vertical edge of a third sub-block of said macroblock;

deblock filtering a right vertical edge of the third sub-block; and

deblock filtering an upper horizontal edge of the third sub-block to provide a deblock filtered second sub-block, wherein the upper horizontal edge of the third sub-block is a lower horizontal edge of the second sub-block and the deblock filtering of the upper horizontal edge of the third sub-block is performed immediately after deblock filtering the left vertical edge and right vertical edge of the third sub-block.

3 . The method for performing deblock filtering of claim 2 , wherein the deblock filtering the upper horizontal edge of the second sub-block includes deblock filtering a lower horizontal edge of the first sub-block, and the deblock filtering the upper horizontal edge of the third sub-block includes deblock filtering a lower horizontal edge of the second sub-block.

4 . The method for performing deblock filtering of claim 2 , wherein the method is performed sequentially on sub-blocks of a left column of the macroblock so that at least three sub-blocks in the left column are completely deblock filtered and stored in the output buffer before any other sub-blocks of the macroblock are completely deblock filtered.

5 . The method for performing deblock filtering of claim 1 , further comprising:

deblock filtering a right vertical edge of a third sub-block;

deblock filtering an upper horizontal edge of the third sub-block;

deblock filtering a right vertical edge of a fourth sub-block; and

deblock filtering an upper horizontal edge of the fourth sub-block, wherein a left vertical edge of the third sub-block is the right vertical edge of the first sub-block and a left vertical edge of the fourth sub-block is the right vertical edge of the second sub-block.

6 . The method for performing deblock filtering of claim 5 , wherein the deblock filtering of the right vertical edge of the first sub-block includes deblock filtering the left vertical edge of the third sub-block, and the deblock filtering of the right vertical edge of the second sub-block includes deblock filtering the left vertical edge of the fourth sub-block.

7 . The method for performing deblock filtering of claim 5 , wherein the method is performed sequentially on sub-blocks of an upper row of the macroblock so that at least three sub-blocks in the upper row are completely deblock filtered and stored in the output buffer before any other sub-blocks of the macroblock are completely deblock filtered.

8 . The method for performing deblock filtering of claim 1 , further comprising storing the deblock filtered first sub-block in an output buffer.

9 . The method for performing deblock filtering of claim 1 , wherein each sub-block comprises an array of 16 pixel values.

10 . The method for performing deblock filtering of claim 1 , wherein the method complies with a H.264 Advanced Video Coding standard such that for each sub-block, in the macroblock, the sequence of deblock filtering is: left vertical edge; right vertical edge; upper horizontal edge; and lower horizontal edge.

11 . A method for performing deblock filtering of at least one coded macroblock of video data, the method being performed on an electronic system, the method comprising the steps of:

deblock filtering three edges of a first sub-block of the macroblock;

deblock filtering both vertical edges of a second sub-block that is adjacent to the first sub-block;

deblock filtering an upper horizontal edge of the second sub-block to provide a deblock filtered first sub-block, wherein the deblock filtering of the upper horizontal edge of the second sub-block is performed immediately after deblock filtering the three edges and the left vertical edge and right vertical edge of the second sub-block; and

storing the deblock filtered first sub-block in an output buffer before performing any further deblock filtering.

12 . The method for performing deblock filtering of claim 11 , further comprising:

deblock filtering a left vertical edge of a third sub-block of said macroblock;

deblock filtering a right vertical edge of the third sub-block; and

deblock filtering an upper horizontal edge of the third sub-block to provide a deblock filtered second sub-block, wherein the upper horizontal edge of the third sub-block is a lower horizontal edge of the second sub-block and the deblock filtering of the upper horizontal edge of the third sub-block is performed immediately after deblock filtering the left vertical edge and right vertical edge of the third sub-block.

13 . The method for performing deblock filtering of claim 12 , wherein the method is performed sequentially on sub-blocks of a left column of the macroblock so that at least three sub-blocks in the left column are completely deblock filtered and stored in the output buffer before any other sub-blocks of the macroblock are completely deblock filtered.

14 . The method for performing deblock filtering as claimed in claim 11 , wherein the method further includes the steps of:

deblock filtering a right vertical edge of a third sub-block;

deblock filtering an upper horizontal edge of the third sub-block;

deblock filtering a right vertical edge of a fourth sub-block; and

deblock filtering an upper horizontal edge of the fourth sub-block, wherein a left vertical edge of the third sub-block is the right vertical edge of the first sub-block and a left vertical edge of the fourth sub-block is the right vertical edge of the second sub-block.

15 . The method for performing deblock filtering of claim 11 , wherein the method is sequentially performed on a luminance and associated chrominance macroblocks.

16 . A system for deblock filtering coded macroblocks of video data, the system comprising an input buffer for storing the macroblocks, a deblocking filter coupled to the input buffer; a controller coupled to the deblocking filter; and an output buffer coupled to the deblocking filter, wherein in operation the controller controls the deblocking filter by performing the steps of:

deblock filtering three edges of a first sub-block of the macroblock;

deblock filtering both vertical edges of a second sub-block that is adjacent to the first sub-block;

deblock filtering an upper horizontal edge of the second sub-block to provide a deblock filtered first sub-block, wherein the deblock filtering of the upper horizontal edge of the second sub-block is performed immediately after deblock filtering the three edges and the left vertical edge and right vertical edge of the second sub-block; and

storing the deblock filtered first sub-block in an output buffer before performing any further deblock filtering.

17 . The system for processing coded macroblocks of claim 16 , wherein the controller controls the deblocking filter to perform the steps of:

deblock filtering a left vertical edge of a third sub-block of said macroblock;

deblock filtering a right vertical edge of the third sub-block; and

deblock filtering an upper horizontal edge of the third sub-block to provide a deblock filtered second sub-block, wherein the upper horizontal edge of the third sub-block is a lower horizontal edge of the second sub-block and the deblock filtering of the upper horizontal edge of the third sub-block is performed immediately after deblock filtering the left vertical edge and right vertical edge of the third sub-block.

18 . The system for processing coded macroblocks of claim 16 , wherein the controller controls the deblocking filter to perform the steps of:

deblock filtering a right vertical edge of a third sub-block;

deblock filtering an upper horizontal edge of the third sub-block;

deblock filtering a right vertical edge of a fourth sub-block; and

deblock filtering an upper horizontal edge of the fourth sub-block, wherein a left vertical edge of the third sub-block is the right vertical edge of the first sub-block and a left vertical edge of the fourth sub-block is the right vertical edge of the second sub-block.

19 . The system for processing coded macroblocks of 16 , wherein the deblocking filter includes a luminance and chrominance filter.

20 . The system for processing coded macroblocks of claim 16 , wherein the system performs deblock filtering in compliance with a H.264 Advanced Video Coding standard such that for each sub-block, in the macroblock, the sequence of deblock filtering is: left vertical edge; right vertical edge; upper horizontal edge; and lower horizontal edge.

Assignments (18)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
PATENT RELEASE Recorded Jan 14, 2016
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037494/0312 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0685 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0671 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Apr 22, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030258/0523 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Apr 22, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030258/0558 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Apr 22, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 030258/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2012
From: HE, YEDONG
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 029340/0881 →