IP Library Granted Patent US 8,508,661
Granted Patent B1
US 8,508,661 · App. 12/362,415 · Granted Aug 13, 2013

Enhanced deinterlacing using predictors from motion estimation engine

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,508,661
App. No.
12/362,415
Granted
Aug 13, 2013
Kind
B1
Abstract

An apparatus and method for generating predictors performs motion estimation of a target macroblock in a target field against data segments in reference fields. The same motion estimation engine is used to perform various image processing operations to efficiently use resources of the apparatus. Different reference fields are used depending on modes of operation. In a deinterlacing mode, deinterlacing is performed using directional interpolation, recursive motion compensated deinterlacing, and motion adaptive deinterlacing.

Claims (36)

1. A video deinterlacer for deinterlacing a video sequence, the video sequence including a target input field and reference fields the video deinterlacer comprising:

a motion estimation engine configured to generate a predictor for a target data segment of an interlaced field of a target output frame from the reference fields, the predictor representing a data segment of the reference fields that best matches the target data segment;

an image processor coupled to the motion estimation engine and comprising:

a directional interpolation module configured to generate a first pixel of a deinterlaced field by performing directional interpolation on the interlaced field of the target output frame;

a recursive motion compensation deinterlacing module configured to generate a second pixel of the deinterlaced field of the target output frame by performing motion compensation on the interlaced field of the target output frame using at least the predictor, a location of the second pixel in the deinterlaced field same as a location of the first pixel in the deinterlaced field;

a motion adaptive module configured to generate a third pixel of the deinterlaced field of the target output frame by performing blending based on pixels of the reference fields, a location of the third pixel in the deinterlaced field same as the location of the first and second pixels in the deinterlaced field;

an interleaver configured to generate an intermediate data segment by at least interleaving a pixel of the predictor and the second pixel or the third pixel; and

a blender configured to reduce noise in an output data segment by at least blending the first pixel and a pixel of the intermediate data segment at a location same as the first pixel.

2. The video deinterlacer of claim 1 , wherein the motion estimation engine comprises:

a reference buffer configured to store the reference fields, each reference field comprising reference data segments;

a target buffer configured to store a target data segment of the interlaced field of the target output frame;

a search module coupled to the reference buffer and the target buffer, the search module configured to determine a predictor motion vector between the target data segment and the reference data segment that best matches the target data segment; and

a predictor generator coupled to the search module and the reference buffer, the predictor generated configured to generate the predictor from the predictor motion vector.

3. The video deinterlacer of claim 1 , wherein the image processor further comprises a selector module configured to choose between the second pixel and the third pixel for interleaving with the pixel of the predictor by comparing a recursive motion compensated deinterlacing (RMCD) error and a motion adaptive deinterlacing (MAD) error, the RMCD error representing a difference between the second target pixel and a corresponding pixel in the predictor, the MAD error representing a maximum difference between pixels in adjacent reference fields of the target input field at the same location as the third pixel, and differences between a pixel corresponding to the third pixel in a reference field preceding one of the adjacent reference fields and the target pixels above or below the third pixel.

4. The video deinterlacer of claim 1 , wherein the alpha blending module is configured to blend the first pixels with the intermediate data segment based on weights given to the first pixel and the second or third pixel, the weights determined by an amount of error in the pixel and an amount of noise in the video sequence.

5. The video deinterlacer of claim 1 , wherein the image processor further comprises a scene change detector coupled to the recursive motion compensation module for detecting a change in a scene based on a difference between the predictor and the target data segment of the interlaced field.

6. The video deinterlacer of claim 1 , further comprising a telecine detector for determining whether the target input frame is part of a telecine processed video sequence by comparing pixels of the reference fields with each other and with the corresponding pixels of the target input field.

7. The video deinterlacer of claim 1 , wherein the motion estimation engine is further configured to generate a sub-pel predictor for a target data segment from the reference fields, the sub-pel predictor representing a data segment generated by interpolating the reference fields that best matches the target data segment at a sub-pel level.

8. A method of deinterlacing an interlaced video sequence including interlaced target input frame and reference frames, the method comprising:

generating a predictor for a target data segment of the interlaced field of a target output frame from the reference fields, the predictor representing a data segment of the reference fields that best matches the target data segment;

generating a first pixel of a deinterlaced field by performing directional interpolation on the interlaced field of the target output frame;

generating a second pixel of the deinterlaced field of the target output frame by performing motion compensation on the interlaced field of the target frame using at least the predictor, a location of the second pixel in the deinterlaced field same as a location of the first pixel in the deinterlaced field;

generating a third pixel of the deinterlaced field of the target output frame by performing blending based on pixels of the reference fields, a location of the third pixel in the deinterlaced field same as the location of the first and second pixels in the deinterlaced field;

interleaving the predictor and the second pixel or the third pixel to generate an intermediate data segment; and

reducing noise in an output data segment by blending the first pixel and a pixel of the intermediate data segment at a location same as the first pixel to generate a pixel of an output data segment.

9. The method of claim 8 , further comprising choosing between the second pixel and the third pixel for interleaving with the pixel of the predictor by comparing a recursive motion compensated deinterlacing (RMCD) error and a motion adaptive deinterlacing (MAD) error, the RMCD error representing a difference between the target pixel and a corresponding pixel in the predictor, the MAD error representing a maximum difference between pixels in reference fields adjacent the target input field at the same location as the third pixel, and differences between the pixels above and below the third pixel location in a reference field preceding one of the adjacent reference fields and the corresponding target pixels above or below the third pixel.

10. The method of claim 9 , further comprising blending the first pixel with the second or third pixel with weights given to the first pixel and the second or third pixel determined by the corresponding RMCD error or MAD error.

11. The method of claim 8 , further comprising detecting a scene change based on a difference between the predictor and the target data segment of the target field.

12. The method of claim 8 , further comprising determining whether the target input frame is part of a telecine video sequence by comparing pixels of the second previous reference field and the pixels of the target field and comparing the pixels of the adjacent reference fields.

13. The method of claim 8 , further comprising generating a sub-pel predictor for a target data segment from the reference data of the reference fields, the sub-pel predictor representing a data segment generated by interpolating the reference fields to create the best match for the target data segment at a sub-pel level.

14. A method of deinterlacing an interlaced video sequence including a target frame and reference frames, the method comprising:

generating a deinterlaced field of the target frame from an interlaced target field of the target output frame, an interlaced field of a first previous output frame preceding the target frame, a deinterlaced field of the first previous output frame, an interlaced field of a second previous output frame preceding the first previous output frame, and a first subsequent interlaced field, responsive to a scene change not being detected in the target frame or the first previous output frame; and

generating the deinterlaced field of the target output frame from the interlaced field of the target output frame, the interlaced field of the first subsequent output frame subsequent to the target output frame, an interlaced field of a second subsequent output frame subsequent to the first subsequent output frame, the interlaced field of the first previous output frame, and the deinterlaced field of the first previous output frame, responsive to the scene change being detected in the first previous output frame.

15. The method of claim 14 , further comprising:

generating the deinterlaced field of the target frame from the interlaced field of the target output frame, the interlaced field of the second subsequent output frame, and an interlaced field of a third subsequent output frame subsequent to the second subsequent output frame, responsive to detecting the scene change in the target frame.

16. The method of claim 14 , further comprising performing noise reduction of the interlaced field of the target output frame using the interlaced field and deinterlaced field of the first previous output frame.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
CHANGE OF NAME Recorded Jan 27, 2015
From: ZENVERGE, INC.
To: ZENVERGE, LLC
Reel/Frame 034817/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: ZENVERGE LLC
To: FREESCALE SEMICONDUCTOR INC.
Reel/Frame 034766/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2009
From: MASTERSON, ANTHONY D.; KIPNIS, ALEXANDER N.; HOANG, DZUNG TIEN
To: ZENVERGE, INC.
Reel/Frame 022346/0853 →