Feature based hierarchical video segmentation
Granted 10 Dec 2002 · 1 office action
Assignee: Xerox
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Gozde Bozdagi, Robert Bryll, Steven J. Harrington, Hong Heather Yu · Examiner: Nhon Diep · AU 2613 · TC 2600
Life of the application
13 dated eventsAbstract
Systems and methods for detecting robust fade and dissolve and video sequences. The systems and methods use a two step approach to detect both discontinuous cuts and gradual changes in a video sequence. Specifically, an input video signal is first divided into video segments based on the location of the discontinuous cut. A gradual change detector is then applied to the discontinuous cut segments to determine further cuts based on editing characteristics. By using this two part approach, the systems and methods of this invention can robustly detect scene breaks within a video.
Description
8 parts›BACKGROUND OF THE INVENTION
1. Field of Invention
This invention relates generally to video segmentation. More particularly, this invention is directed towards systems and methods that robustly detect fades and/or dissolves in video sequences.
2. Description of Related Art
Major techniques that have been used in video segmentation can be summarized as histogram comparison, pixel-wise intensity comparison, motion-based comparison, compression factor or difference comparison, and edge fraction comparison.
The simplest way to detect whether two frames are significantly different from each other is to compare corresponding pixels in the two frames. The number of pixels in which the difference between that pixel and the spatially corresponding pixel in a second frame is greater than a threshold provides a measure of the distance between the two frames. A major drawback of these methods is their sensitivity to moving objects and movements of the camera. For example, camera panning or a large change in a small area of the frame may yield false detections.
Methods using intensity histograms seem to perform better than these pairwise comparison techniques. There are two basic techniques in this category: global histogram comparison, where a boundary is declared when the difference between histograms of two consecutive frames exceeds a threshold; and local histogram comparison, where a frame is first divided into non-overlapping regions, then the histogram of each individual region is determined. However, these methods can miss cuts when scenes look quite different but have similar distributions.
Motion-based comparison methods are based on the ratio of velocity, i.e., rate of change of motion, to the motion in each frame of the video, and an average interframe correlation coefficient. For motion-based comparison, boundary points are defined as the points where the correlation between frames is low and the ratio of velocity to motion is high.
For a feature-based technique to segment the video, the percentage of edges that enter or exit between the consecutive frames is determined and used to detect the boundaries. However, this technique requires estimating the motion beforehand to align the consecutive frames. The success of the segment detection thus depends on the robustness of the motion estimation technique.
›SUMMARY OF THE INVENTION
While these conventional methods provide reasonable results for discontinuous boundaries, they are not robust in detecting boundaries that are due to dissolves, wipes, fade-ins, fade-outs, and continuous cuts.
Video segmentation is a first step towards automatic annotation of digital video sequences. Segmenting the video source involves detecting boundaries between uninterrupted segments of the video, e.g., scene breaks, by evaluating a function S(I k , I k+1 ) of two consecutive frames I k and I k+1 . Within a video sequence, consecutive frames may differ from each other due to object and/or camera movement, lighting changes, gradual changes, e.g., continuous cuts, or abrupt changes, e.g., camera cuts and/or discontinuous cuts. Any scene change detection method should be sensitive to gradual changes and abrupt changes but should also ignore object and camera movement, as well as lighting changes, as much as possible. One method to achieve this is to perform a large spatial averaging on frame data prior to scene change detection. However, this makes it difficult to detect both the abrupt changes and the gradual changes at the same time.
This invention provides methods and systems that enable feature-based hierarchical video segmentation.
This invention separately provides methods and systems that segment a video.
This invention additionally provides methods and systems that use a two-pass procedure to detect scene breaks in video sequences.
The methods and systems of this invention provide robust systems and methods that detect both continuous and discontinuous cuts simultaneously.
The methods and systems of this invention use a two-pass procedure that detects the camera cuts on low resolution images and detects the gradual changes on high resolution images. For camera cut detection, a histogram comparison technique is used due to its robustness. The gradual changes are detected by examining the frames between the previously-detected discontinuous cuts using an intensity comparison and frame structure technique.
These and other features and advantages of this invention are described in or are apparent from the following detailed description of the preformed embodiments.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional block diagram of one embodiment of a video segmenting system;
FIG. 2 is a functional block diagram showing in greater detail the gradual change detector of FIG. 1;
FIG. 3 illustrates an exemplary pixel location;
FIG. 4 is an exemplary graph of the dissolved/fade function;
FIG. 5 is an exemplary sequence containing several dissolves and zooms;
FIG. 6 is an exemplary flowchart outlining one embodiment of a method for identifying segments as fade-in or fade-out in a video signal according to this invention;
FIG. 7 illustrates an exemplary frame in the middle of a dissolve;
FIG. 8 illustrates exemplary frames of a dissolve;
FIG. 9 is an exemplary graph of the double chromatic difference for a zoom;
FIG. 10 is an exemplary graph of the double chromatic difference for a pan;
FIG. 11 is an exemplary graph of the double chromatic difference for a dissolve;
FIG. 12 is an exemplary flowchart outlining one embodiment of a method for detecting a dissolve in a video signal according to this invention;
FIG. 13 is an exemplary graph of the histogram difference of the original exemplary video sequence;
FIG. 14 illustrates exemplary detected discontinuous cuts in the exemplary video sequence;
FIG. 15 illustrates an exemplary edge count for the frames between the first and second cuts of FIG. 14;
FIG. 16 illustrates an exemplary double chromatic difference for the frames between the first and second cuts of FIG. 14;
FIG. 17 shows the beginning midpoint and end of the detected dissolve segment;
FIG. 18 illustrates an exemplary frame difference plot for a video sequence having dissolves, cuts and global motion;
FIG. 19 is a functional block diagram of a second exemplary embodiment of the gradual change detector according to this invention;
FIG. 20 illustrates an exemplary plot of the variance versus frame number;
FIG. 21 illustrates an exemplary plot of the variance for a video sequence having a dissolve;
FIG. 22 illustrates an exemplary plot of the variance for a video sequence having a dissolve and having local motion;
FIG. 23 is a second exemplary flowchart outlining one embodiment of a method for real-time detection of a dissolve in a video signal according to this invention;
FIG. 24 is a second exemplary flowchart outlining one embodiment of a method for real-time detection of a dissolve in a video signal according to this invention;
FIG. 25 illustrates the detected dissolves and cuts from an exemplary video sequence; and
FIG. 26 illustrates the cuts detected from the sequence shown in FIG. 17 .
›DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS · 1 of 5
FIG. 1 shows a video segmenting system 10 according to this invention. The video segmenting system 10 includes a discontinuous cut detector 20 , a gradual change detector 30 ,a frame capture device 40 , a controller 50 , an I/O interface 55 , a data bus 90 and a memory 60 . The video segmenting system 10 inputs a video signal from a video data source 70 and outputs a segmented video data signal to a segmented video data sink 80 . The segmented video data signal can then be output to, for example, “A Method and System for Real-Time Feature Based Motion Analysis for Key Frame Selection from a Video,” filed Dec. 17, 1998, Ser. No. 09/215,594, incorporated herein by reference in its entirety.
The video image data source 70 can be a video camera or any other video image signal source that is capable of providing a video signal to the video segmenting system 10 . The video segmenting system 10 is connected to the video image data source 70 that provides video image data, over a signal line or link 71 , and to a segmented video data sink 80 that receives the segmented video output by the video segmenting system 10 , over a signal line or link 81 . In general, the video image data source 70 can be any one of a number of different sources, such as a video recorder, a camcorder, a video cassette player/recorder, a digital video disk player/recorder, or any device suitable for storing and/or transmitting electronic video image data, such as a client or server of a network, such as a cable television network, or the Internet, and especially the World Wide Web.
Thus, the video image data source 70 can be any known or later-developed source that is capable of providing analog or digital video image data to the video segmenting system 10 of this invention. Similarly, the segmented video data sink 80 can be any known or later-developed device that is capable of receiving the segmented video data output by the video segmenting system 10 and either storing, transmitting or displaying the segmented video image data. Thus, the segmented video data sink can be either or both of a channel device for transmitting the segmented video data for display or storage, or a storage device for indefinitely storing the segmented video data until there arises a need to display or further transmit the segmented video data.
The links 71 and 81 can be any known structure or apparatus for transmitting the video image data to or from the video segmenting system 10 to a physically remote or physically collocated storage or display device. Thus, the links 71 and 81 can be a hard-wired link, a wireless link, a public switched telephone network, a local or wide area network, an intranet, the Internet, a wireless transmission channel, any other distributed network, or the like. Similarly, the storage device can be any known structural apparatus for storing the segmented video data, such as RAM, a hard drive and disk, a floppy drive and disk, an optical drive and disk, a flash memory or the like.
The video segmenting system 10 receives the video image data input via the I/O interface 55 . A discontinuous cut detector 20 , at the direction of the controller 50 , detects discontinuous cuts using a histogram comparison technique. The histogram comparison technique is described in detail in “Stored Video Handling Techniques,” Y. Tonomura, et al., NTT Review, vol. 5, pp. 82-60, March 1993, herein incorporated by reference in its entirety. However, it should be appreciated that the methods and systems of this invention are not dependent upon this histogram technique. One of ordinary skill in the art will appreciate that any known or later-developed technique can be used to determine the discontinuous cuts in an input video signal and any such technique Will work equally well with the methods and systems of this invention.
As previously mentioned, the histogram techniques seem to perform better than the pairwise comparison techniques. However, the drawback of histogram techniques is that they can miss cuts when scenes look different but have similar distributions.
Although the procedures described above give reasonable results for discontinuous boundaries, they are not robust in detecting boundaries that are due to dissolves, wipes, fade-ins and fade-outs. The systems and methods of this invention combine the discontinuous cut detector 20 with the gradual change detector 30 to robustly detect both continuous and discontinuous cuts simultaneously.
Accordingly, the discontinuous cut detector 20 , in cooperation with the frame capture device 40 , the controller 50 and the memory 60 , detects discontinuous cuts.
However, video segments between discontinuous cuts can contain still frames, frames under the effect of gradual transitions, local motion or global motion, such as pans, zooms, and the like. These effects can be successfully detected by the gradual change detector 30 .
Furthermore, fade-ins, fade-outs and dissolves are common effects that can be seen in any video production. In a fade-out, the intensity of an image decreases and tends to zero over time. In a fade-in, which begins as a blank frame, an image begins to appear over time. In a dissolve, while one image disappears, another image simultaneously appears. Accordingly, these effects can be manipulated to create a smooth transition between different video segments.
FIG. 2 illustrates in greater detail the gradual change detector 30 of FIG. 1 . The gradual change detector 30 comprises an intensity determiner 32 , an edge counter 34 , a fade detector 36 and a dissolve detector 38 . The gradual change detector 30 receives, via the data bus 90 , video segments that occur between the discontinuous cuts detected by the discontinuous cut detector 20 . The intensity determiner 32 determines the intensity of each frame within the discontinuous cut segment.
The edge counter 34 determines the number of edge pixels, i.e., the edge count, in each frame. The edge information within the frame provides information about the structure of the frame. However, the edge count information is insufficient for robust gradual scene break detection.
›DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS · 2 of 5
Accordingly, the fade detector 36 , knowing the intensity value characteristics that correspond to edge information of a fade, labels frames with certain threshold edge information as the first and last frames of the fade. Similarly, the dissolve detector 38 , in addition to using the edge count information, determines edge count maxima on both sides of the frame with the minimum edge count found by the edge counter 34 . The dissolve detector 38 thus determines a double chromatic difference, described in detail below, for all frames between the detected maxima. If the global minimum double chromatic difference is within a certain range, then the segment is a identified as a dissolve.
Detecting gradual changes is based on knowing the characteristics of the gradual changes. Accordingly, to detect gradual changes, the intervals of gradual transitions are extracted and classified. In a fade, the first scene gradually disappears before the second scene gradually appears. In a dissolve, the first scene gradually disappears while, at the same time, the second scene gradually appears. Therefore, with reference to FIG. 3, the intensity within a gradual change at any time (t) can be modeled as E(x,y,t). Specifically, x and y are the coordinates for locating a pixel within a frame, and t indicates the frame in which the pixel occurs. As time t increases, so does the frame number. In particular, the intensity E(x,y,t) for a fade-out at any time t can be modeled as:
E ( x,y,t )= I ( x,y,t 1 )α( t )+ O ( x,y,t 2 )[1−α( t )]+ B ( x,y ). (1)
In contrast, the intensity E(x,y,t) for a fade-in at any time (t) can be modeled as:
E ( x,y,t )= O ( x,y,t 1 )α( t )+ I ( x,y,t 2 )[1−α( t )]+ B ( x,y ); (2)
while the intensity E(x,y,t) for a dissolve at time (t) can be modeled as:
E ( x,y,t )= I ( x,y,t 1 )α( t )+ I ( x,y,t 2 )[1−α( t )]+ B ( x,y ), (3)
where:
α(t) is a video image data signal value obtained from the corresponding gradual change ramp function;
t 1 and t 2 are the starting and ending points of the gradual change;
I(x,y,t) is the intensity of the pixel at the spatial location (x,y) in the frame occurring at time (t);
B(x,y) is the intensity value of the pixel at the spatial location (x,y) of any background image, if used, and
O ( x,y,t 1 )= O ( x,y,t 2 )=0 for all x,y (4)
such that O(x,y,t) shows a black pixel value at the spatial location (x,y) in the frame occurring at time (t).
For example, α(t) can be the decreasing ramp function for a fade-out shown in FIG. 4, with α(t 1 )=1 and α(t 2 )=0. The ramp functions for fade-ins and dissolves are similar with the ramp function corresponding to a weighting of the video image data signal intensity based on the temporal location of the frame within the gradual change. For example, the signal intensity level for a fade-in would tend toward a maximum as the fade-in progresses. For a dissolve, with one image fading-in and another image fading-out, a combination of both weightings are used.
The background image B, if used, is an image common to all frames, e.g., text or a label which exists in all frames within a gradual change, such as a station logo in a news program.
In these equations, it should be appreciated that the function α(t) is a blurring function in a temporal direction. Accordingly, the edge information within a frame provides information about the structure of the frame. For example, the edge count as a function of time will have a local minimum during a gradual change. However, as shown in FIG. 5, the edge count may exhibit the same behavior in the case of a zoom, a pan, or a wipe as for a gradual change. Specifically, in FIG. 5, the frames 600-650 are experiencing a dissolve. In contrast, the frames 700-800 are experiencing a zoom. Clearly, the edge count as these two functions occur is similar. So, in addition to the number of edge pixels, the systems and methods of this invention use the principles behind the generation of gradual changes, e.g., a dissolve and/or a fade, for scene break detection.
During a fade, the beginning or end image is a constant, i.e., a single intensity value, image as indicated in Eqs. 1 and 2. Therefore, the number of edge pixels should be close to 0 in these beginning or end images, i.e., existing edges are only due to the background image B(x,y). Furthermore, the number of edge pixels should gradually increase going away from the minimum based on the characteristics of the fade-in or fade-out.
In Eq. 1, the intensity of a pixel in any frame within the gradual change can be determined. Therefore, at the beginning of a fade-out, the intensity of a pixel can be represented by:
I ( x,y,t 1 )+ B ( x,y ). (5)
At the end of the fade-out, a black screen remains where all pixel values are zero except for the pixel locations where the background image B exists. These pixel values are given by:
O ( x,y,t 2 )+ B ( x,y ). (6)
The same reasoning can be applied to Eqs. 2 and 3. Accordingly, with reference to FIG. 6 . the overall method for detecting a fade comprises:
1) Determine the number of edge pixels between a given pair of discontinuous cuts k i and k i+1 ;
2) Smooth the image of edge pixels to remove or reduce noise;
3) Determine the local minima that are smaller than a given threshold;
4) For each determined local minimum j, find the first local maxima on the left and right hand sides of the determined minimum;
5) Identify the frames corresponding to the located local maxima;
6) Label the identified frames as i 0 and i N ;
7) Determine the change in edge count between i 0 and i N .
FIG. 6 outlines one exemplary embodiment of a method for identifying segments according to this invention. Control begins in step S 100 . In step S 200 , the discontinuous cuts are determined. Then, in step S 300 , the edge counts of the frames between the discontinuous cuts are determined. Next, in step S 400 , a noise filter is applied to smooth the image of edge pixels between the discontinuous cuts. Control then continues to step S 500 .
In step S 500 , the local minima are determined. Next, in step S 600 , the first local maxima on the left-hand side of a current local minimum is determined. Then, in step S 700 , the first local maxima on the right-hand side of the current local minimum is determined. Control then continues to step S 800 .
›DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS · 3 of 5
In step S 800 , a determination is made whether the change in edge count, EC′, is between a first threshold and a second threshold. If the change in edge count EC′ is between the first and second thresholds, control continues to step S 900 . Otherwise, control jumps to step S 1000 . In step S 900 , the segment is identified as a fade-out. Control then jumps to step S 1300 .
In step S 1000 , a determination is made whether the change in edge count EC′ is between a third threshold and a fourth threshold. If the change in edge count EC′ is not between the third and fourth thresholds, control jumps to step S 1200 . Otherwise, control continues to step S 1100 . In step S 1100 , the segment is identified as a fade-in. Control then jumps to step S 1300 .
In step S 1200 , the segment is analyzed to determine if the segment is a dissolve. Then, in step S 1300 , a determination is made whether all local minima have been analyzed. If all local minima have not been analyzed, control jumps back to step S 600 . Otherwise, control continues to step S 1400 where the control routine ends.
Therefore, with reference to FIG. 5, if EC′ i is the change in edge count between frames at t=i and t=i+1, the sum of changes for all frames between i 0 and j is:
Σ iΣ(i 0 ,j] EC′ i /( j−i 0 )ε(α 1 ,α 2 ) (7)
where:
α 1 and α 2 are thresholds;
EC′ is the change in edge count; and
the segment (i 0 , j] denotes a fade-out.
The summation is taken for all frames left of the middle frame from, but not including, the frame i 0 to, and including, the frame j, i.e., the middle frame of the dissolve.
If the summation is between the thresholds α 1 and α 2 , the segment (i 0 , j)is a fade-out. From the middle frame to the right of, but not including, the frame i N on the right hand side of the minimum, the summation is:
Σ iε[j,i N ) EC′ i /( i N −j )ε(α 3 ,α 4 ) (8)
where:
α 3 and α 4 are thresholds; and
segment [j, i N ) denotes a fade-in.
Again, the summation is taken for all frames to the right of the middle frame from, and including, the frame j to, but not including, the frame i N . If the summation is between α 3 and α 4 , then the segment [j, i N ) is a fade-in.
To recover any frame within a dissolve using the beginning and end frames, the methods and systems of this invention assume that the local motion is small. However, the same argument is not valid for zoom or pan. With reference to FIG. 8, to detect a dissolve, a comparison of a pixel in the middle frame, e.g., i k , to a pixel in a frame somewhere in the dissolve, e.g., i d , must be performed. Therefore, with reference to FIG. 7, for a dissolve, there is an I(x,y,i k ) where I ( x , y , i k ) = I ( x , y , i 0 ) + I ( x , y , i N ) 2 ( 9 )
where:
i 0 , i k , and i N show the beginning, the middle and the end of a dissolve, respectively; and
I is the intensity.
Based on this fact, and with reference to FIGS. 9-11 the Double Chromatic Difference (DCD) for a frame not in the middle of the dissolve i d is: DCD i d = ∑ ( x , y ) f ( I ( x , y , i 0 ) + I ( x , y , i N ) 2 - I ( x , y , i d ) ) , ( 10 )
where f is a thresholding function.
FIGS. 9-11 show the plot of the double chromatic difference for a frame i d not in the middle of the sequence. FIG. 9 shows the double chromatic difference for a sequence experiencing a zoom. FIG. 10 shows the double chromatic difference for a sequence experiencing a pan. FIG. 11 shows the double chromatic difference for a sequence experiencing a dissolve.
Thus, with reference to FIG. 12, the overall steps to detect a dissolve are:
1) Determine the edge count between a given pair of discontinuous cuts k i and k i+1 ;
2) Smooth the image of edge pixels to remove or reduce noise;
3) Find the local minima, i.e., the points indicating the middle of a dissolve;
4) For each local minimum j, find the first local maxima on the left and right hand sides of the minimum and label these frames as i 0 and i N ;
5) Compute the double chromatic difference (DCD) for each frame between i 0 and i N .
The frame number of the frame corresponding to the global minimum of the double chromatic difference is:
m DCD Σ( j−n 1 ,j+n 2 ), (11)
where:
n 1 and n 2 are small integer numbers; and
m DCD is the frame number or index of the frame corresponding to the global minimum of the double chromatic difference (DCD). If Eq. 11 is satisfied, then the segment (i 0 , i N ) denotes a dissolve. Otherwise, the segment (i 0 , i N ) it is not a dissolve and this segment could be a zoom, a pan, etc.
Specifically, FIG. 12 illustrates in greater detail one exemplary embodiment of a method for identifying a segment as a dissolve according to this invention.
Beginning in step S 1200 , control continues to step S 1210 where the double chromatic difference for the current labeled frame is determined. Next, in step S 1220 , a determination is made whether the double chromatic difference for all frames has been determined. If the double chromatic difference has not been determined for all frames, control jumps back to step S 1210 . Otherwise, control continues to step S 1230 .
In step S 1230 , a determination is made whether the index of the frame corresponding to the global minima of the double chromatic difference is an element of (j−n 1 , j+n 2 ). If the global minima of double chromatic difference is an element of (j−n 1 , j+n 2 ), control continues to step S 1240 . Otherwise, control jumps to step S 1250 .
In step S 1240 , the segment is identified as a dissolve. Control then jumps to step S 1260 . In contrast, in step S 1250 , the segment is identified as a zoom, pan, etc. Control then continues to step S 1260 where control returns to step S 1300 .
Testing the dissolve detection method reveals the following results. For an exemplary input recorded news program, FIG. 13 illustrates a plot of the average intensity histogram difference for each frame. The sequence contains discontinuous cuts, continuous cuts and global camera motions. FIG. 14 shows the discontinuous cuts detected on the low resolution image which was obtained by decimating the original image by 4 . Specifically, the discontinuous cuts can be seen at frames 200 and 340 . FIG. 15 shows the edge count per frame of the frames lying in the region between the first and second detected discontinuous cuts. FIG. 16 shows the double chromatic difference for the region between the first and second detected discontinuous units. Since the graph resembles the double chromatic difference of FIG. 11, the segment is determined to be a dissolve. Therefore, FIG. 17 shows the frames detected as the beginning frame, the end frame and the midpoint frame of the dissolve of the exemplary sequence.
›DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS · 4 of 5
The above-described methods and apparatus detect gradual changes based on edge count and a double chromatic difference determination. This basic concept can be further developed and optimized so that the gradual changes can be detected in near real-time.
Specifically, video segmentation is the first step toward automatic annotation of digital video sequences and storyboarding. Any robust video segmentor should be sensitive to both sudden and gradual transitions between frames. A simple difference metric and single threshold are not sufficient for detecting these changes simultaneously. FIG. 18 illustrates the frame difference plotted against the number of frames for a video sequence with sudden transitions, e.g., the frame 103 , dissolves, e.g., the frames 60 - 70 , and global motion, e.g., the frames up to the frame 50 . In this case, a single threshold would give many false detections of gradual changes. By modifying the above-described approach to depend on global features in the image, such as an average of all pixel intensities, for example, and deviation, such as the difference of pixels from a mean value, rather than local image features, such as edge count, the analysis rate can be increased. Specifically, experimental results illustrate that the video sequence can be processed at a rate of 17 frames per second using this optimized approach.
FIG. 19 illustrates a second embodiment of the gradual change detector 130 that is optimized to detect gradual changes in real-time. The optimized gradual change detector 130 comprises a histogram comparor 132 , a variance determiner 134 and a segment identifier 136 . The optimized gradual change detector 130 receives, via the data bus 90 , video segments that occur between the discontinuous cuts detected by the discontinuous cut detector 20 . The histogram comparor 132 generates a histogram of all frames within the video segment defined by the detected discontinuous cuts. The variance determiner 134 then determines the rate of increase/decrease of the variance between each frame. Based on this determined rate of increase/decrease of the variance and the histogram values, segment identifier 136 then identifies the segment as a fade or dissolve.
As previously discussed, the intensity E(x,y,t), for a dissolve at time (t) can be modeled as:
E ( x,y,t )= I ( x,y,t 1 )α( t )+ I ( x,y,t 2 )[1−α( t )]+ B ( x,y ), (12)
where
I(x,y,t 1 )=0 in the case of fade-in;
I(x,y,t 2 )=0 in the case of a fade-out; and
t 1 and t 2 are the starting and ending points of the gradual change;
α(t) is a video image data signal value intensity function, i.e., ramp function, based on the temporal location of a frame within the gradual change; and
B(x,y) is the intensity value of the pixel at (x,y) of the background image B. A simple linear representation for the ramp function α(t) can be expressed as:
α( t )=( t−t 2 )/( t 1 −t 2 ), (13)
Combining Eqs. 12 and 13, the quadratic function, for the variance, i.e., intensity deviation, of any frame within a gradual change is:
Variance=( At−B ) 2 +C, (14)
where A, B and C are functions of I(x,y,t 1 ), I(x,y,t 2 ), and B(x,y), respectively, as well as t 1 and t 2 .
FIG. 20 illustrates the variance has a minimum C, which corresponds to the background at time=B/A, corresponding to the point where the intensity distribution of the pixels is almost uniform, i.e., the beginning of fade-in, the end of fade-out, or the middle of dissolve. FIG. 21 shows the variance plot for an exemplary video segment containing a dissolve, where the dissolve occurs between the frames 64 and 83 .
Looking at FIGS. 20 and 21, the gradual change or local minimum can easily be detected using the variance plot. However, as seen in FIG. 22, the variance plot may exhibit a similar behavior in case of global or a strong local motion. For example, in FIG. 22 there is a dissolve between the frames 75 - 97 and a strong local movement between the frames 100 - 130 .
To filter the false gradual change detections corresponding to the local/global motion, the rate of increase or decrease of the variance is determined. If the rate of increase or decrease of the variance curve is greater than a predefined threshold, the histograms of the frames at the beginning and end of the detected region are checked. If the difference between the histograms are also greater than a predefined threshold, the region is marked as a region under the effect of dissolve.
FIG. 23 illustrates an exemplary method of detecting both sudden and gradual transitions between frames simultaneously. Control begins in step S 2000 . In step S 2100 , the histograms of all frames within a gradual change are determined. Next, in step S 2200 , the rate of increase or decrease of the variance is determined for these frames. Then, in step S 2300 , a determination is made whether the rate of increase or decrease of the variance is greater than a predetermined threshold for at least a K number of frames. For example, K was arbitrarily set to 7 in the working model. Seven frames were found to be sufficient to eliminate spurious sudden changes. However, it should be appreciated that any number of frames that maximizes accuracy can be selected. If the rate of increase or decrease of the variance is less than a threshold, control jumps to step S 2700 . Otherwise, control continues to step S 2400 .
In step S 2400 , the difference between the histogram for the frames at the beginning and the end of the detected region is determined. Next, in step S 2500 , a determination is made whether the histogram difference of these end frames is larger than a threshold. If the histogram difference is greater than the threshold, control continues to step S 2600 . Otherwise, control jumps to step S 2700 . In step S 2600 , the segment is labeled as experiencing a dissolve. Control then continues to step S 2700 . In step S 2700 , the control sequence ends.
FIG. 24 illustrates a second exemplary embodiment of the method for detecting gradual transitions between frames simultaneously. Control begins in step S 3000 . In step S 3100 , the variance of each frame is determined. Next, in step S 3200 , the local minimum of the variance is determined. Then, in step S 3300 , the rate of change of variance at the local minimum is determined. Control then continues to step S 3400 .
›DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS · 5 of 5
In step S 3400 , a determination is made whether the rate of change is less than a first threshold. If the rate of change is less than the first threshold, control jumps to step S 4000 . Otherwise, control continues to step S 3500 .
In step S 3500 , the local maximum before the local minimum and the local maximum after the local minimum are determined. Next, in step S 3600 , the histograms at the local maxima are determined. Then, in step S 3700 , the histogram difference between the histograms determined for the local maxima is determined. Control then continues to step S 3800 .
In step S 3800 , a determination is made whether the difference is greater than a second threshold. If the difference is not greater than a second threshold, control jumps to step S 4000 , where the control sequence ends. Otherwise, control continues to step S 3900 . In step S 3900 , the region is identified as experiencing a dissolve/fade. Control then continues to step S 4000 where the control sequence ends.
FIG. 25 shows the dissolves detected from an exemplary video sequence with several sudden changes, global motion and dissolves. FIG. 26 illustrates all the cuts detected from the same sequence to demonstrate the performance of the method.
As shown in FIGS. 1-2 and 19 , the systems and methods for performing feature-based video segmentation are preferably implemented on a programmed general purpose computer. However, the systems and methods for performing feature-based video segmentation can also be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit elements, an ASIC or other integrated circuit, a digital signal processor, a hard wired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, PLA, FPGA or PAL, or the like. In general, any device which is capable of implementing the finite state machine that is in turn capable of implementing the flowcharts shown in FIGS. 6, 12 , 23 and 24 can be used to implement the system for video segmentation.
While this invention has been described in conjunction with preferred embodiments thereof, it is evident that many alternatives, modifications and variations be apparent to those skilled in the art.
Claims as granted
17 claimsLog in to read the claims of this application.
Log in to unlockClassifications
6 codes- G06T7/215
- G06T7/20
- H04N5/14
- H04N5/262
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock