Video-segment identification systems and methods
Summarization segments of an encoded video can be efficiently identified, without the need to decode the encoded video to obtain image data, by analyzing encoded-buffer-size deltas, each indicating an encoded-buffer-size difference between a pair of intra-coded frames of an encoded video.
1. A computer-implemented method for efficiently identifying summarization segments of an encoded video without the need to decode the encoded video to obtain image data, the method comprising:
identifying, by the computer, a sequenced plurality of intra-coded frames of the encoded video;
determining, by the computer, a plurality of encoded-buffer sizes corresponding respectively to the sequenced plurality of intra-coded frames; and
selecting, by the computer, a plurality of summarization segments of the encoded video by, for each of the plurality of summarization segments:
identifying a start of a corresponding summarization segment of the plurality of summarization segments based on a first encoded-buffer-size delta between a first encoded-buffer size of a first target intra-coded frame of the sequenced plurality of intra-coded frames and a minimum encoded-buffer size of a first preceding intra-coded frame among a first plurality of preceding intra-coded frames within a first time-window that precedes the first target intra-coded frame: and
identifying an end of the corresponding summarization segment of the plurality of summarization segments based on a second encoded-buffer-size delta between a second encoded-buffer size of a second target intra-coded frame of the sequenced plurality of intra-coded frames and a maximum encoded-buffer size of a second preceding intra-coded frame among a second plurality of preceding intra-coded frames within a second time-window that precedes the second target intra-coded frame.
2. The method of claim 1 , further comprising automatically generating a video presentation summarizing the encoded video, the video presentation including the plurality of summarization segments.
3. The method of claim 1 , further comprising:
obtaining a second plurality of summarization segments selected from a second encoded video;
scoring the plurality of summarization segments and the second plurality of summarization segments according to a metric associated with encoded-buffer-size deltas;
selecting a first subset of the plurality of summarization segments and a second subset of the second plurality of summarization segments; and
automatically generating a video presentation summarizing the encoded video and the second encoded video, the video presentation including the first selected subset and the second selected subset.
4. The method of claim 1 , wherein identifying the start of the corresponding summarization segment of the plurality of summarization segments comprises:
determining that the start of the corresponding summarization segment of the plurality of summarization segments starts at a timestamp associated with the first target intra-coded frame of the corresponding summarization segment.
5. The method of claim 1 , wherein identifying the start of the corresponding summarization segment of the plurality of summarization segments comprises:
determining that the first encoded-buffer-size delta exceeds a segment-start threshold.
6. The method of claim 1 , wherein identifying the end of the corresponding summarization segment of the plurality of summarization segments comprises:
determining that the second encoded-buffer-size delta exceeds a segment-end threshold.
7. The method of claim 1 , wherein selecting the plurality of summarization segments comprises:
determining that the end of the corresponding summarization segment of the plurality of summarization segments ends at a timestamp associated with the second target intra-coded frame of the corresponding summarization segment.
8. The method of claim 1 , wherein selecting the plurality of summarization segments comprises ensuring that the plurality of summarization segments are separated by at least a minimum time-gap.
9. The method of claim 1 , wherein selecting the plurality of summarization segments comprises ensuring that each of the plurality of summarization segments are at least a minimum duration in length.
10. A computing apparatus for efficiently identifying summarization segments of an encoded video without the need to decode the encoded video to obtain image data, the apparatus comprising a processor and a memory storing instructions that, when executed by the processor, configure the apparatus to:
identify a sequenced plurality of intra-coded frames of the encoded video;
determine a plurality of encoded-buffer sizes corresponding respectively to the sequenced plurality of intra-coded frames, and
select a plurality of summarization segments of the encoded video including, for each of the plurality of summarization segments:
identify a start of a corresponding summarization segment of the plurality of summarization segments based on a first encoded-buffer-size delta between a first encoded-buffer size of a first target intra-coded frame of the sequenced plurality of intra-coded frames and a minimum encoded-buffer size of a first preceding intra-coded frame among a first plurality of preceding intra-coded frames within a first time-window that precedes the first target intra-coded frame; and
identify an end of the corresponding summarization segment of the plurality of summarization segments based on a second encoded-buffer-size delta between a second encoded-buffer size of a second target intra-coded frame of the sequenced plurality of intra-coded frames and a maximum encoded-buffer size of a second preceding intra-coded frame among a second plurality of preceding intra-coded frames within a second time-window that precedes the second target intra-coded frame.
11. The apparatus of claim 10 , wherein the memory stores further instructions that further configure the apparatus to automatically generate a video presentation summarizing the encoded video, the video presentation including the plurality of summarization segments.
12. The apparatus of claim 10 , wherein the memory stores further instructions that further configure the apparatus to:
obtain a second plurality of summarization segments selected from a second encoded video;
score the plurality of summarization segments and the second plurality of summarization segments according to a metric associated with encoded-buffer-size deltas;
select a first subset of the plurality of summarization segments and a second subset of the second plurality of summarization segments; and
automatically generate a video presentation summarizing the encoded video and the second encoded video, the video presentation including the first selected subset and the second selected subset.
13. The apparatus of claim 10 , wherein the instructions that configure the apparatus to select the plurality of summarization segments further comprise instructions configuring the apparatus to:
determine that the start of the corresponding summarization segment of the plurality of summarization segments starts at a timestamp associated with the first target intra-coded frame of the corresponding summarization segment.
14. The apparatus of claim 10 , wherein the instructions that configure the apparatus to identify the start of the corresponding summarization segment of the plurality of summarization segments further comprise instructions configuring the apparatus to:
determine that the first encoded-buffer-size delta exceeds a segment-start threshold.
15. The apparatus of claim 10 , wherein the instructions that configure the apparatus to identify the end of the corresponding summarization segment of the plurality of summarization segments further comprise instructions configuring the apparatus to:
determine that the second encoded-buffer-size delta exceeds a segment-end threshold.
16. A non-transitory computer-readable storage medium having stored thereon instructions including instructions that, when executed by a processor, configure the processor to:
identify a sequenced plurality of intra-coded frames of an encoded video;
determine a plurality of encoded-buffer sizes corresponding respectively to the sequenced plurality of intra-coded frames; and
select a plurality of summarization segments of the encoded video including, for each of the plurality of summarization segments:
identify a start of a corresponding summarization segment of the plurality of summarization segments based on a first encoded-buffer-size delta between a first encoded-buffer size of a first target intra-coded frame of the sequenced plurality of intra-coded frames and a minimum encoded-buffer size of a first preceding intra-coded frame among a first plurality of preceding intra-coded frames within a first time-window that precedes the first target intra-coded frame; and
identify an end of the corresponding summarization segment of the plurality of summarization segments based on a second encoded-buffer-size delta between a second encoded-buffer size of a second target intra-coded frame of the sequenced plurality of intra-coded frames and a maximum encoded-buffer size of a second preceding intra-coded frame among a second plurality of preceding intra-coded frames within a second time-window that precedes the second target intra-coded frame.
17. The non-transitory computer-readable storage medium of claim 16 , having stored thereon further instructions that further configure the processor to automatically generate a video presentation summarizing the encoded video, the video presentation including the plurality of summarization segments.
18. The non-transitory computer-readable storage medium of claim 16 , having stored thereon further instructions that further configure the processor to:
obtain a second plurality of summarization segments selected from a second encoded video;
score the plurality of summarization segments and the second plurality of summarization segments according to a metric associated with encoded-buffer-size deltas;
select a first subset of the plurality of summarization segments and a second subset of the second plurality of summarization segments; and
automatically generate a video presentation summarizing the encoded video and the second encoded video, the video presentation including the first selected subset and the second selected subset.
19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions that configure the processor to select the plurality of summarization segments further comprise instructions configuring the processor to:
determine that the start of the corresponding summarization segment of the plurality of summarization segments starts at a timestamp associated with the first target intra-coded frame of the corresponding summarization segment.
20. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions that configure the processor to identify the start of the corresponding summarization segment of the plurality of summarization segments further comprise instructions configuring the processor to:
determine that the first encoded-buffer-size delta exceeds a segment-start threshold.
21. The non-transitory computer-readable storage medium of claim 19 , wherein the instructions that configure the processor to identify the end of the corresponding summarization segment of the plurality of summarization segments further comprise instructions configuring the processor to:
determine that the second encoded-buffer-size delta exceeds a segment-end threshold.