← Back to Patent Explorer
US6137544A Expired / Lapsed US ⏱️ 0.0 years remaining

Significant scene detection and frame filtering for a visual indexing system

Assignee: Pendragon Wireless LLC
•
Filing: 1997-06-02
•
Granted: 2000-10-24
•
Expires: 2017-06-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A video indexing system analyzes contents of source video and develops a visual table of contents using selected images. A system for detecting significant scenes detects video cuts from one scene to another, and static scenes based on DCT coefficients and macroblocks. A keyframe filtering process filters out less desired frames including, for example, unicolor frames, or those frames having a same object as a primary focus or one primary focuses. Commercials may also be detected and frames of commercials eliminated.

Inventors

  • 👤 Nevenka Dimitrova
  • 👤 Thomas McGee
  • 👤 Jan Hermanus Elenbaas

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 23:02
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/40; H04N21/45; H04N21/458; G; G06; G06V; G06V20/00; G06V20/40; G06F; G06F16/00; G06F16/70; G06F16/71; G06F16/78; G06F16/783; G06F16/7847; G06F16/785; G06F16/7864; H04N19/00; H04N19/10; H04N19/169; H04N19/179; H04N19/85; H04N19/87; H04N21/80; H04N21/81; H04N21/812

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 221 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each type of block within a macroblock based on: ##EQU6## where: k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, DCT1 k ,j and DCT2 k ,j are DCT coefficients for the specified macroblock for a previous and a current frame, respectively, and ABS is an absolute value function; a threshold calculator calculating a first threshold and a second threshold; a first comparator for comparing each SUM[i] to the first and second thresholds and saving the current frame as a keyframe in a frame memory if SUM[i] is greater than the first threshold, incrementing a static scene counter if less than the second and saving the previous frame in a temporary memory, and resetting the static scene counter otherwise; and a second comparator for comparing the static scene counter to a predetermined number and transferring the most previous video frame saved in the temporary memory to the frame memory as a keyframe.
Claim 2
Independent Claim 221 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each type of block within a macroblock based on: ##EQU6## where: k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, DCT1 k ,j and DCT2 k ,j are DCT coefficients for the specified macroblock for a previous and a current frame, respectively, and ABS is an absolute value function; a threshold calculator calculating a first threshold and a second threshold; a first comparator for comparing each SUM[i] to the first and second thresholds and saving the current frame as a keyframe in a frame memory if SUM[i] is greater than the first threshold, incrementing a static scene counter if less than the second and saving the previous frame in a temporary memory, and resetting the static scene counter otherwise; and a second comparator for comparing the static scene counter to a predetermined number and transferring the most previous video frame saved in the temporary memory to the frame memory as a keyframe.
Claim 3
Dependent Claim 17 words
A system as recited in claim 1, wherein the first threshold ##EQU7## and the second threshold ##EQU8##
Claim 4
Independent Claim 218 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each macroblock based on: ##EQU9## k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, DCT1 k ,j,i and DCT2 k ,j,i are DCT coefficients for the specified macroblock and block for a previous and a current video frame, respectively, and ABS is an absolute value function; a threshold calculator calculating a first threshold and a second threshold; a first comparator for comparing each SUM to the first and second thresholds and saving the current frame as a keyframe in a frame memory if SUM is greater than the first threshold, incrementing a static scene counter if less than the second and saving the previous frame in a temporary memory, and resetting the static scene counter otherwise; and a second comparator for comparing the static scene counter to a predetermined number and transferring the most previous video frame saved in the temporary memory to the frame memory as a keyframe.
Claim 5
Independent Claim 218 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each macroblock based on: ##EQU9## k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, DCT1 k ,j,i and DCT2 k ,j,i are DCT coefficients for the specified macroblock and block for a previous and a current video frame, respectively, and ABS is an absolute value function; a threshold calculator calculating a first threshold and a second threshold; a first comparator for comparing each SUM to the first and second thresholds and saving the current frame as a keyframe in a frame memory if SUM is greater than the first threshold, incrementing a static scene counter if less than the second and saving the previous frame in a temporary memory, and resetting the static scene counter otherwise; and a second comparator for comparing the static scene counter to a predetermined number and transferring the most previous video frame saved in the temporary memory to the frame memory as a keyframe.
Claim 6
Dependent Claim 17 words
A system as recited in claim 3, wherein the first threshold ##EQU10## and the second threshold ##EQU11##
Claim 7
Independent Claim 221 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each type of block within a macroblock based on: ##EQU12## where: k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, DCT1 k ,j and DCT2 k ,j are DCT coefficients for the specified macroblock for a previous and a current frame, respectively, and ABS is an absolute value function; a threshold calculator calculating a first threshold and a second threshold; a first comparator for comparing each SUM[i] to the first and second thresholds and saving the current frame as a keyframe in a frame memory if SUM[i] is greater than the first threshold, incrementing a static scene counter if less than the second and saving the previous frame in a temporary memory, and resetting the static scene counter otherwise; and a second comparator for comparing the static scene counter to a predetermined number and transferring the most previous video frame saved in the temporary memory to the frame memory as a keyframe.
Claim 8
Independent Claim 221 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each type of block within a macroblock based on: ##EQU12## where: k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, DCT1 k ,j and DCT2 k ,j are DCT coefficients for the specified macroblock for a previous and a current frame, respectively, and ABS is an absolute value function; a threshold calculator calculating a first threshold and a second threshold; a first comparator for comparing each SUM[i] to the first and second thresholds and saving the current frame as a keyframe in a frame memory if SUM[i] is greater than the first threshold, incrementing a static scene counter if less than the second and saving the previous frame in a temporary memory, and resetting the static scene counter otherwise; and a second comparator for comparing the static scene counter to a predetermined number and transferring the most previous video frame saved in the temporary memory to the frame memory as a keyframe.
Claim 9
Dependent Claim 17 words
A system as recited in claim 5, wherein the first threshold ##EQU13## and the second threshold ##EQU14##
Claim 10
Independent Claim 394 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each type of block within a macroblock based on: ##EQU15## where: k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, MB1k,j and MB2 k ,j macroblocks for a previous and a current video frame, respectively, and Mbdiff is a function that determines the number of blocks which are different from each other between two macroblocks, and outputs a first value if this difference is higher than a certain threshold and a second value otherwise; said summer comprising: a subsum calculator calculating a subsum for each block, where subsum[i] j ,k =ABS(DCT1[i] j ,k -DCT2[i] j ,k) and DCT1 k ,j and DCT2 k ,j are DCT coefficients for the specified macroblock; a subsum comparator comparing each subsum to a first predetermined subsum threshold and if greater than the first predetermined subsum threshold, incrementing a first block counter and comparing each subsum to a second predetermined subsum threshold and if less than the second predetermined subsum threshold, incrementing a second block counter; a block comparator comparing the first block counter and if above a first predetermined block threshold, incrementing a first macroblock counter and resetting the first block counter for analysis of a next macroblock, and comparing the second block counter and if above a second predetermined block threshold, incrementing a second macroblock counter and resetting the second block counter for analysis of a next macroblock; a macroblock comparator for comparing the first macroblock counter and if the first macroblock counter is above a first predetermined frame threshold, saving the current frame in frame memory and resetting the first macroblock counter for analysis of a next frame, and comparing the second macroblock counter and if the second macroblock counter is above a second predetermined frame threshold, setting a frame counter and resetting the second macroblock counter; and a frame comparator comparing the frame counter to a predetermined scene threshold and if greater than the predetermined threshold, saving the previous frame in frame memory as a keyframe.
Claim 11
Independent Claim 394 words
A system for detecting significant scenes and selecting keyframes of source video, comprising: a receiver for receiving source video as macroblocks including blocks of DCT coefficients and frames; a summer calculating a sum for each type of block within a macroblock based on: ##EQU15## where: k is the number of macroblocks in width of a frame, k=1 to Frame-width/16, j is the number of macroblocks in height of a frame, j=1 to Frame-height/16, I is the number of blocks in a macroblock, I=1 to number of blocks in macroblock, MB1k,j and MB2 k ,j macroblocks for a previous and a current video frame, respectively, and Mbdiff is a function that determines the number of blocks which are different from each other between two macroblocks, and outputs a first value if this difference is higher than a certain threshold and a second value otherwise; said summer comprising: a subsum calculator calculating a subsum for each block, where subsum[i] j ,k =ABS(DCT1[i] j ,k -DCT2[i] j ,k) and DCT1 k ,j and DCT2 k ,j are DCT coefficients for the specified macroblock; a subsum comparator comparing each subsum to a first predetermined subsum threshold and if greater than the first predetermined subsum threshold, incrementing a first block counter and comparing each subsum to a second predetermined subsum threshold and if less than the second predetermined subsum threshold, incrementing a second block counter; a block comparator comparing the first block counter and if above a first predetermined block threshold, incrementing a first macroblock counter and resetting the first block counter for analysis of a next macroblock, and comparing the second block counter and if above a second predetermined block threshold, incrementing a second macroblock counter and resetting the second block counter for analysis of a next macroblock; a macroblock comparator for comparing the first macroblock counter and if the first macroblock counter is above a first predetermined frame threshold, saving the current frame in frame memory and resetting the first macroblock counter for analysis of a next frame, and comparing the second macroblock counter and if the second macroblock counter is above a second predetermined frame threshold, setting a frame counter and resetting the second macroblock counter; and a frame comparator comparing the frame counter to a predetermined scene threshold and if greater than the predetermined threshold, saving the previous frame in frame memory as a keyframe.
Claim 12
Dependent Claim 25 words
A system as recited in claim 7, wherein: the first predetermined subsum threshold is th1 is 0.3*subsum[i], and the second predetermined subsum threshold is 0.02*subsum[i].
Claim 13
Independent Claim 136 words
A system for filtering frames from a video source, comprising: a receiver receiving frames in a frame memory and macroblocks comprising blocks of DCT coefficients in a temporary memory; a block signature creator for creating a block signature for each block; a region grower for detecting regions of each frame and a respective size; a centroid determiner for determining a centroid of each region; a region signature creator for assigning each region one of the block signatures of the blocks within the region, the respective size, and the centroid; a frame signature creator for creating a frame signature for a first frame, based on the region signatures; and a frame comparator for comparing the first frame to a second frame to determine a frame difference and saving or discarding the frame based on the frame difference.
Claim 14
Independent Claim 136 words
A system for filtering frames from a video source, comprising: a receiver receiving frames in a frame memory and macroblocks comprising blocks of DCT coefficients in a temporary memory; a block signature creator for creating a block signature for each block; a region grower for detecting regions of each frame and a respective size; a centroid determiner for determining a centroid of each region; a region signature creator for assigning each region one of the block signatures of the blocks within the region, the respective size, and the centroid; a frame signature creator for creating a frame signature for a first frame, based on the region signatures; and a frame comparator for comparing the first frame to a second frame to determine a frame difference and saving or discarding the frame based on the frame difference.
Claim 15
Dependent Claim 37 words
A system as recited in claim 9, further comprising an object filter for filtering frames out of frame memory which have a same object as a primary focus or one of the primary focuses of the frame.
Claim 16
Dependent Claim 36 words
A system as recited in claim 9, wherein: each block comprises DCT coefficients including a DC value; and the block signature comprises a DC signature representative of an interval within which the respective DC value falls.
Claim 17
Dependent Claim 41 words
A system as recited in claim 11, further comprising a unicolor filter for detecting unicolor frames which counts the number of blocks having the same DC signature and if the number is greater than a prespecified count, filtering out the frame.
Claim 18
Dependent Claim 20 words
A system as recited in claim 9, further comprising a region filterer for filtering out regions not meeting prespecified criteria.
Claim 19
Dependent Claim 45 words
A system as recited in claim 9, wherein: each block comprises DCT coefficients including a DC value; and the block signature comprises an AC signature of bits such that a prespecified number of bits represents whether a corresponding AC value is above a prespecified value.
Claim 20
Dependent Claim 44 words
A system as recited in claim 9, further comprising a unicolor filter for comparing the corresponding size of each region within the frame to a prespecified number and if the corresponding size is greater than the prespecified number, discarding the frame from frame memory.
Claim 21
Dependent Claim 72 words
A system as recited in claim 9, wherein said frame comparator comprises: a region orderer which orders the regions based on prespecified criteria; a frame difference calculator which calculates a difference between a current frame and a previous frame based on region size; and a difference comparator which compares the difference to a prespecified frame count and if less than the prespecified frame count, filters the current frame from the frame memory.
Claim 22
Dependent Claim 52 words
A system as recited in claim 10, wherein said object filter comprises: a distance calculator for comparing centers of regions to retrieve a center distance; and a center distance comparator for filtering the current frame from the frame memory if the center distance is less than or equal to a prespecified value.
Claim 23
Dependent Claim 194 words
A system as recited in claim 14, further comprising an object filter for filtering frames out of frame memory which have a same object as a primary focus or one of the primary focuses of the frame, said object filter comprising: a DC comparator which compares the DC signatures of corresponding blocks of a current frame and a previous frame to determine if the DC signatures match; an AC comparator which compares the AC signatures of corresponding blocks, each AC value at a time, of the current frame and the previous frame, and counting the number of AC values that match as an AC counter; a block counter for incrementing a block counter if the DC signatures match and the AC count is greater than a prespecified value and filtering out the current frame from frame memory if otherwise; a macroblock counter for incrementing a macroblock counter if the block counter is greater than a prespecified value after all blocks in a macroblock have been checked; and a macroblock comparator for comparing the macroblock counter and if the macroblock counter is greater than a prespecified value, filtering out the current frame from frame memory.
Claim 24
Dependent Claim 122 words
A system as recited in claim 9, further comprising: a time stamper for associating time stamp for each frame based on a relative time; a minute density computer for computing a minute density of keyframes in a first time period, based on respective time stamps; a period density computer for computing a period density of keyframes in a second time period where the first time period is less than the second time period, based on respective time stamps; and a density comparator for comparing the minute density to a prespecified value based on the period density and if a time stamp of a last frame of a scene is greater than a prespecified time amount, discarding keyframes within the first time period.

References Cited (Backward Citations)

US5245436A Cited
US5493345A Cited
US5801765A Cited
US5724100A Cited
US5767923A Cited
US5915038A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-10-24 2004-04-24 2004-10-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-10-24 2008-04-24 2008-10-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-10-24 2012-04-24 2012-10-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag