IP Library Granted Patent US 8,514,939
Granted Patent B2
US 8,514,939 · App. 11/932,102 · Granted Aug 20, 2013

Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing

Inventors: Xuemin Chen (San Diego, CA); Brian Heng (Irvine, CA)
Assignee: Broadcom Corporation
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,514,939
App. No.
11/932,102
Granted
Aug 20, 2013
Kind
B2
Abstract

Certain aspects of a method and system for motion-compensated picture rate up-conversion (PRUC) of digital video using picture boundary processing may include generating one or more forward motion vectors and one or more backward motion vectors based on extracted picture rate up-conversion (PRUC) data. A cost of performing motion estimation of a particular block along the generated forward motion vectors and the generated backward motion vectors corresponding to the particular block may be calculated. The particular block may be a boundary block. A motion vector with the least cost may be selected and motion compensated to generate a plurality of interpolated pictures.

Claims (41)

1. A method for processing video data, the method comprising:

comparing adjacent motion block vectors between two adjacent pictures to generate a motion vector consistency value;

determining whether motion compensated interpolation is to be performed between the two adjacent pictures based on the generated motion vector consistency value;

responsive to a negative determination to perform motion compensated interpolation, inserting a copy of a previous picture between the two adjacent pictures;

responsive to a positive determination to perform motion compensated interpolation, generating one or more forward motion vectors and one or more backward motion vectors corresponding to a particular block in a boundary region between the two adjacent pictures, based on extracted picture rate up-conversion (PRUC) data;

calculating a cost of performing motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors and said generated one or more backward motion vectors corresponding to said particular block; and

generating a plurality of interpolated pictures in said boundary region between said two adjacent pictures based on a least cost associated with one of the motion vectors.

2. The method according to claim 1 , comprising selecting one of: said generated one or more forward motion vectors when said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors is less than said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more backward motion vectors.

3. The method according to claim 2 , comprising motion compensating said selected said generated one or more forward motion vectors to generate said plurality of interpolated pictures.

4. The method according to claim 1 , comprising selecting one of: said generated one or more backward motion vectors when said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more backward motion vectors is less than said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors.

5. The method according to claim 4 , comprising motion compensating said selected generated one or more backward motion vectors to generate said plurality of interpolated pictures.

6. The method according to claim 1 , comprising motion compensating a generated global motion vector based on single directional motion estimation to generate said plurality of interpolated pictures.

7. The method according to claim 6 , comprising generating a motion vector based on a plurality of blocks adjacent to said particular block in said boundary region when said generated global motion vector is not available.

8. The method according to claim 7 , wherein the adjacent plurality of blocks are located outside the boundary region.

9. The method according to claim 1 , wherein the particular block comprises a block located along an outer edge of pictures associated with the video data.

10. A system for processing video data, the system comprising:

one or more circuits that are operable to compare adjacent motion block vectors between two adjacent pictures to generate a motion vector consistency value;

said one or more circuits are operable to determine whether motion compensated interpolation is to be performed between the two adjacent pictures based on the generated motion vector consistency value;

said one or more circuits are operable to, responsive to a negative determination to perform motion compensated interpolation, insert a copy of a previous picture between the two adjacent pictures;

said one or more circuits are operable to, responsive to a positive determination to perform motion compensated interpolation, generate of one or more forward motion vectors and one or more backward motion vectors corresponding to a particular block in a boundary region between the two adjacent pictures, based on extracted picture rate up-conversion (PRUC) data;

said one or more circuits are operable to calculate of a cost of performing motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors and said generated one or more backward motion vectors corresponding to said particular block; and

said one or more circuits are operable to generate of a plurality of interpolated pictures in said boundary region between said two adjacent pictures based on a least cost associated with one of the motion vectors.

11. The system according to claim 10 , wherein said one or more circuits are operable to select one of: said generated one or more forward motion vectors when said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors is less than said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more backward motion vectors.

12. The system according to claim 11 , wherein said one or more circuits are operable to motion compensate said selected said generated one or more forward motion vectors to generate said plurality of interpolated pictures.

13. The system according to claim 10 , wherein said one or more circuits are operable to select one of: said generated one or more backward motion vectors when said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more backward motion vectors is less than said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors.

14. The system according to claim 13 , wherein said one or more circuits are operable to motion compensate said selected said generated one or more backward motion vectors to generate said plurality of interpolated pictures.

15. The system according to claim 10 , wherein said one or more circuits are operable to motion compensate a generated global motion vector based on single directional motion estimation to generate said plurality of interpolated pictures.

16. The system according to claim 15 , wherein said one or more circuits are operable to generate a motion vector based on a plurality of blocks adjacent to said particular block in said boundary region when said generated global motion vector is not available.

17. A non-transitory machine-readable storage having stored thereon, a computer program having at least one code section for processing video data, the at least one code section being executable by a machine for causing the machine to perform steps comprising:

comparing adjacent motion block vectors between two adjacent pictures to generate a motion vector consistency value;

determining whether motion compensated interpolation is to be performed between the two adjacent pictures based on the generated motion vector consistency value;

responsive to a negative determination to perform motion compensated interpolation, inserting a copy of a previous picture between the two adjacent pictures;

responsive to a positive determination to perform motion compensated interpolation, generating one or more forward motion vectors and one or more backward motion vectors corresponding to a particular block in a boundary region between the two adjacent pictures, based on extracted picture rate up-conversion (PRUC) data;

calculating a cost of performing motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors and said generated one or more backward motion vectors corresponding to said particular block; and

generating a plurality of interpolated pictures in said boundary region between said two adjacent pictures based on a least cost associated with one of the motion vectors.

18. The non-transitory machine-readable storage according to claim 17 , wherein said at least one code section comprises code for selecting one of: said generated one or more forward motion vectors when said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors is less than said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more backward motion vectors.

19. The non-transitory machine-readable storage according to claim 18 , wherein said at least one code section comprises code for motion compensating said selected said generated one or more forward motion vectors to generate said plurality of interpolated pictures.

20. The non-transitory machine-readable storage according to claim 17 , wherein said at least one code section comprises code for selecting one of: said generated one or more backward motion vectors when said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more backward motion vectors is less than said calculated cost of performing said motion estimation of said particular block in said boundary region along said generated one or more forward motion vectors.

21. The non-transitory machine-readable storage according to claim 20 , wherein said at least one code section comprises code for motion compensating said selected said generated one or more backward motion vectors to generate said plurality of interpolated pictures.

22. The non-transitory machine-readable storage according to claim 17 , wherein said at least one code section comprises code for motion compensating a generated global motion vector based on single directional motion estimation to generate said plurality of interpolated pictures.

23. The non-transitory machine-readable storage according to claim 22 , wherein said at least one code section comprises code for generating a motion vector based on a plurality of blocks adjacent to said particular block in said boundary region when said generated global motion vector is not available.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2008
From: CHEN, XUEMIN; HENG, BRIAN
To: BROADCOM CORPORATION
Reel/Frame 020392/0626 →
Continuity (1)
Related Publication 20090110075A1 · Apr 30, 2009