EP0944874B1

Significant scene detection and frame filtering for a visual indexing system

Abstract

This record has no abstract on file.

EP0944874B1, drawing sheet 1
Sheet 1 of 37

Term

Term ended

Expired 25 May 2018, 8.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

5 claims: 4 independent, 1 dependent

  1. 1
    A system for detecting significant scenes and selecting keyframes of a source video, comprising:a receiver for receiving the source video as macroblocks including blocks of discrete cosine transform DCT coefficients and frames;a summer calculating a sum for each type of block within a macroblock based on: SUM [ I ] = Σ k , j ABS ( DCT 1 k , j [ I ] − DCT 2 k , j [ I ] ) 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 threshold 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.
  2. 2
    A system for detecting significant scenes ard selecting keyframes of a source video, comprising:a receiver for receiving the source video as macroblocks including blocks of discrete cosine transform DCT coefficients and frames;a summer calculating a sum for each macroblock based on: SUM = Σ k , j Σ I ( DCT 1 k , j , i − DCT 2 k , j , i ) 2 / ABS ( DCT 2 k , j , i ) 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,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 threshold 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.
  3. 3
    A system for detecting significant scenes and selecting keyframes of a source video, comprising:a receiver for receiving the source video as macroblocks including blocks of discrete cosine transform DCT coefficients and frames;a summer calculating a sum for each type of block within a macroblock based on: SUM [ I ] = Σ k , j ( DCT 1 k , j [ I ] − DCT 2 k , j [ I ] ) 2 / ABS ( DCT 2 k , j ) 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 keyname in a frame memory if SUM[i] is greater than the first threshold, incrementing a static scene counter if less than the second threshold 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.
  4. 5
    A system for detecting significant scenes and selecting key frames of a source video, comprising:a receiver for receiving the source video as macroblocks including blocks of discrete cosine transform DCT coefficients and frames;a summer calculating a sum for each type of block within a macroblock based on: SUM = Σ k , j Mbdiff ( MB 1 [ i ] k , j − MB 2 [ i ] k , j ) 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 are macroblocks for a previous and a current video frame, respectively, and Mbdiff is a function that determines the number of blocks which are differed 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 scene threshold, saving the previous frame in frame memory as a keyframe.