IP Library Granted Patent US 7,391,468
Granted Patent B2
US 7,391,468 · App. 10/948,791 · Granted Jun 24, 2008

Telecine conversion detection for progressive scan playback

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 7,391,468
App. No.
10/948,791
Granted
Jun 24, 2008
Kind
B2
Abstract

A moving average filter with a weighting factor calculates a continuously programmable threshold to determine whether fields could be considered identical or not. This decision is used to detect the cadence of a TELECINE encoded video signal. This moving average filter is also used for detecting the presence of still images in the video data stream by detecting total difference in Y (luminance) of the fields and then calculating the average difference in luminance (Y) of the field. This average difference in luminance value indicates a degree of difference between fields. For two frames of data input to the system, each having two fields, a difference is calculated between the luminance values of the two top fields for each frame. From this difference value a maximum absolute difference history is stored, along with the Sum of Absolute Differences (SAD). The programmable threshold is then calculated by summing the saturated SAD history over time. If the present SAD is less than the program threshold, then a low point is detected (e.g., small difference between two fields) and if it follows TELECINE pattern, then the cadence of TELECINE is indicated.

Claims (464)

1. A method of convening an encoded video data at a frame rate expanded by including repeated video fields to a source video data at an original frame rate, comprising:

applying a moving average filter with a weighting factor to calculate a continuously programmable threshold to determine whether fields of successive fields from successive frames of encoded video data could be considered identical or not, and

measuring the total difference in luminance values of the successive fields relative to the continuously programmable threshold in order to detect a characteristic cadence of the encoded video signal,

wherein the moving average filter detects the presence of still images in the encoded video data by detecting total difference in luminance of the successive fields and then calculating the average difference in luminance of the successive fields, where the average difference in luminance value indicates a degree of difference between the successive fields,

wherein the encoded video data comprises TELECINE encoded video data,

wherein for the successive frames, a difference value is calculated between the luminance values of the fields for each successive frame, and from the difference value a maximum absolute difference history is stored, along with a Sum of Absolute Differences (SAD), and

wherein the programmable threshold is then calculated by applying a moving average filter with a weighting factor to a saturated SAD history over time.

2. The method of claim 1 , wherein if a present SAD is less than the program threshold, a low point representing a small difference between the two successive fields, is detected as a portion of the characteristic cadence of TELECINE encoded video.

3. The method of claim 2 , wherein if successive comparisons of the SAD to the programmable threshold for successive frames of video data indicate the characteristic cadence of TELECINE encoded video, then TELECINE encoded video is determined to be detected.

4. The method of claim 3 , wherein if the characteristic cadence of TELECINE is not detected, a further calculation is made to determine whether a still image is present by first calculating a maximum of the maximum absolute difference history (MAXMAX), calculating a saturated_still_SAD as a function of width and height of the frame divided by a proportional number of skipped lines.

5. The method of claim 4 , wherein calculating to determine whether a still image is present further includes calculating a compensated SAD, based upon the moving average of the SAD history and the saturated_still_SAD wherein if the moving average of the saturated SAD history is less than the saturated_still_SAD and the MAXMAX value is less than the compensated SAD plus a predetermined weighting value then a still picture is detected in the data stream.

6. The method of claim 5 , wherein if the characteristic cadence of TELECINE is detected, the TELECINE video data is decoded into source video by combining fields from adjacent frames in a predetermined pattern.

7. The method of claim 6 , wherein the total difference between luminance values of successive fields from successive frames of TELECINE encoded video data is calculated.

8. The method of claim 7 , wherein from the difference in luminance values, a maximum absolute difference history is stored in a first register.

9. The method of claim 8 , wherein absolute differences are summed to produce Sum of Absolute Differences (SAD), which is stored in a second register.

10. The method of claim 9 , wherein the Saturate SAD is calculated by:

Saturate_SAD

=

MIN

(

SAD

,

width

*

height

*

10

2

*

skip

-

lines

)

wherein the term SAD is the sum of absolute differences between adjacent fields or Σ i di and the term

width

*

height

2

*

skip

-

lines

represents the number of pixels compared between two adjacent fields).

11. The method of claim 10 , wherein from the first and second registers, the programmable threshold is calculated by:

program

thre

=

(

6

10

*

N

)

1

=

0

N

-

1

Saturated

SAD

History

[

i

]

.

12. The method of claim 11 , wherein if a SAD for a given pair of frames is higher than the programmable threshold, then a scene change is determined possible, if the characteristic cadence of TELECINE is not detected, wherein a further calculation is made to determine whether a still image is present.

13. The method of claim 12 , wherein calculation of whether a still image is present comprises calculating a maximum of the maximum absolute difference history, or MAXMAX by:

MAXMAX=MAX (Max_Absolute_Diff_History[i]).

14. The method of claim 13 , wherein calculation of whether a still image is present further comprises calculating saturated_still_SAD a function of width and height of each field divided by a predetermined constant times the number of skipped lines in the field as:

saturated

still

detect

SAD

=

width

*

height

4

*

skiplines

.

15. The method of claim 14 wherein calculation of whether a still image is present further comprises calculating compensated SAD by calculating a moving average of the SAD history and then subtracting this value from the saturated_still_SAD and dividing by a predetermined constant (weighting factor) times the saturated_still_SAD as:

Compensate

SAD

=

255

[

saturated_still

_SAD

-

1

2

*

N

i

=

0

N

-

1

Saturated

SAD

History

[

i

]

]

8

*

saturated

still

SAD

]

.

16. The method of claim 15 , wherein a determination of whether a still picture has occurred is made by:

If

(

1

2

*

N

i

=

0

N

-

1

Saturated

SAD

History

[

i

]

<

saturate

still

SAD

&

&

MAXMAX

<

(

80

+

Compensate

SAD

)

)

then still detected

else still not detected,

where the term

(

1

2

*

N

i

=

0

N

-

1

Saturated

SAD

History

[

i

]

<

Saturate

SAD

indicates that on average, the difference between two adjacent fields is small, and the term MAXMAX<(80+Compensate_SAD)) is the maximum of the maximum differential is smaller than the compensated threshold.

17. An apparatus of converting a first encoded video data at a frame rate expanded by including repeated video fields to a source video data at an original frame rate, comprising:

a difference calculating module to calculate a total difference between luminance values of successive fields from successive frames of the encoded video data, and

a comparator for comparing the total difference in luminance values of the successive fields relative to a continuously programmable threshold in order to detect a characteristic cadence of the encoded video signal,

wherein the moving average filter comprises:

a still detection algorithm for detecting the presence of still images in the encoded video data by detecting total difference in luminance of the successive fields; and

a luminance difference detector, for calculating the average difference in luminance of the successive fields, where the average difference in luminance value indicates a degree of difference between the successive fields,

wherein the encoded video data comprises TELECINE encoded video data,

wherein for the successive frames, the comparator calculates a difference value between the luminance values of the fields for each successive frame, and from the difference value a maximum absolute difference history is stored, along with a Sum of Absolute Differences (SAD), and

wherein the comparator calculates the programmable threshold by calculating a moving average to the saturated SAD history over time.

18. The apparatus of claim 17 , wherein if a present SAD is less than the program threshold, a low point representing a small difference between the two successive fields, is detected as a portion of the characteristic cadence of TELECINE encoded video.

19. The apparatus of claim 18 , wherein the comparator performs successive comparisons of the SAD to the programmable threshold for successive frames of video data, and if the comparator indicates the characteristic cadence of TELECINE encoded video, then TELECINE encoded video is detected.

20. The apparatus of claim 19 , wherein if the comparator does not detect the characteristic cadence of TELECINE, the comparator calculates whether a still image is present by first calculating a maximum of the maximum absolute difference history (MAXMAX), calculating a saturated_still_SAD as a function of width and height of the frame divided by a proportional number of skipped lines.

21. The apparatus of claim 20 , wherein the comparator calculates a compensated SAD, based upon the moving average of the SAD history and the saturated_still_SAD, wherein if the moving average of the saturated SAD history is less than the saturated_still_SAD and the MAXMAX value is less than the compensated SAD plus a predetermined weighting value then a still picture is detected in the data stream.

22. The apparatus of claim 21 , wherein if the comparator detects the characteristic cadence of TELECINE, the TELECINE video data is decoded into source video by combining fields from adjacent frames in a predetermined pattern.

23. The apparatus of claim 22 , wherein the comparator further comprises means for calculating a difference in luminance values between two successive fields of video data from two successive frames of video data.

24. The apparatus of claim 23 , further comprising a first register, coupled to the comparator, for storing, from the difference in luminance values, a maximum absolute difference history.

25. The apparatus of claim 24 , further comprising a second register, coupled to the comparator, wherein the comparator sums absolute differences to produce Sum of Absolute Differences (SAD) which is stored in a second register.

26. The apparatus of claim 25 , wherein the comparator calculates Saturate SAD by:

Saturate

SAD

=

MIN

(

SAD

,

weight

*

heigh

*

10

2

*

skip

-

lines

)

wherein the term SAD is the sum of absolute differences between adjacent fields or Σ i di and the term

width

*

heigh

2

*

skip

-

lines

represents the number of pixels compared between two adjacent fields.

27. The apparatus of claim 26 , wherein from the first and second registers, the comparator calculates the programmable threshold by:

program

thre

=

(

6

10

*

N

)

1

=

0

N

-

1

Saturated

SAD

History

[

i

]

.

28. The apparatus of claim 27 , wherein if a SAD for a given pair of frames is higher than the programmable threshold, then the comparator determines a scene change possible, if the characteristic cadence of TELECINE is not detected, wherein the comparator makes a further calculation to determine whether a still image is present.

29. The apparatus of claim 28 , wherein the comparator determines whether a still image is present by calculating a maximum of the maximum absolute difference history, or MAXMAX by:

MAXMAX MAX=(Max_Absolute_Diff_History[ i ]).

30. The apparatus of claim 29 , wherein the comparator determines whether a still image is present by calculating saturated_still_SAD a function of width and height of each field divided by a predetermined constant times the number of skipped lines in the field as:

Saturate

SAD

=

width

*

height

4

*

skiplines

.

31. The apparatus of claim 30 , wherein the comparator determines whether a still image is present by calculating compensated SAD by calculating a moving average of the SAD history for N pixels in a field and then subtracting this value from the saturated_still_SAD and dividing by a predetermined constant (weighting factor) times the saturated_still_SAD as:

Compensate

SAD

=

255

[

saturated_still

_SAD

-

1

2

*

N

i

=

0

N

-

1

Saturated

SAD

History

[

i

]

]

8

*

saturated

still

SAD

]

.

32. The apparatus of claim 31 , wherein the comparator determines whether a still picture has occurred by:

If

(

1

2

*

N

i

=

0

N

-

1

Saturated_SAD

_History

[

i

]

<

Saturate_SAD

&

&

MAXMAX

<

(

80

+

Compensate_SAD

)

)

then still detected

else still not detected

where the term

(

1

2

*

N

i

=

0

N

-

1

Saturated_SAD

_History

[

i

]

<

Saturate_SAD

indicates that on average, the difference between two adjacent fields is small, and the term MAXMAX<(80+Compensate_SAD)) is the maximum of the maximum differential is smaller than the compensated threshold.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: JPMORGAN CHASE BANK, N.A.
To: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; CHIPX, INCORPORATED; ENDWAVE CORPORATION; MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 048746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: MAGNUM SEMICONDUCTOR, INC.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 043207/0637 →
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2017
From: SILICON VALLEY BANK
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 042166/0405 →
SECURITY AGREEMENT Recorded Apr 5, 2017
From: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; MAGNUM SEMICONDUCTOR, INC.; ENDWAVE CORPORATION; CHIPX, INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042166/0431 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2016
From: CAPITAL IP INVESTMENT PARTNERS LLC
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 038440/0565 →
SECURITY AGREEMENT Recorded Apr 6, 2016
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 038366/0098 →
SHORT-FORM PATENT SECURITY AGREEMENT Recorded Oct 31, 2014
From: MAGNUM SEMICONDUCTOR, INC.
To: CAPITAL IP INVESTMENT PARTNERS LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 034114/0102 →
RELEASE OF SECURITY INTEREST Recorded Apr 29, 2013
From: SILICON VALLEY BANK , AS AGENT FOR THE BENEFIT OF THE LENDERS
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 030310/0985 →
RELEASE OF SECURITY INTEREST Recorded Apr 29, 2013
From: SILICON VALLEY BANK
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 030310/0764 →
SECURITY AGREEMENT Recorded Jun 13, 2006
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK AS AGENT FOR THE BENEFIT OF THE LENDERS
Reel/Frame 017766/0605 →
SECURITY AGREEMENT Recorded Jun 12, 2006
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 017766/0005 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2005
From: CIRRUS LOGIC, INC.
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 016680/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2004
From: SHAH, ANUP U.
To: CIRRUS LOGIC, INC.
Reel/Frame 015920/0121 →