Patent ID: 8238718

Claim:
A method for automatically processing a source video, comprising: using a computing device having a processor to perform the following: clustering video frames in the source video in a transformation invariant manner by determining a probability that a video frame is similar to another video frame, the clustering further comprising: finding video frames that have similar content but are different because of shifting left, right, up or down and because of a different level of zoom; clustering together the video frames having similar content but a different level of zoom so that the clustering takes into account a spatial grouping of pixels within a video frame and not a color or an intensity of the pixels to generate a plurality of clusters such that each of the plurality of clusters contains video frames having similar data; defining a class as clusters of similar data and assigning each video frame in the source video to a class; defining sub-shot boundaries as occurring where there is a change in class between video frames; defining a small segment of the source video as a cliplet; determining a cliplet duration constraint that defines a hard constraint of a minimum and a maximum temporal length of the cliplet; determining editing points of the source video for every cliplet using both the cliplet duration constraint and the sub-shot boundaries such that the minimum and maximum temporal length and the sub-shot boundaries are used when determining where to place the editing points; if no sub-shot boundaries can be found, then determining the editing points using the maximum temporal length of the cliplet alone; using the editing points to designate a beginning point and an ending point of the cliplet; and presenting the cliplet results to a user.