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 method, comprising:
receiving a plurality of intra-coded frames of an encoded video;
determining a start of a summarization segment for the encoded video as a first intra-coded frame of the plurality of intra-coded frames based on a first buffer-size delta between a first buffer size of the first intra-coded frame and a minimum buffer size of an intra-coded frame from a first set of the plurality of intra-coded frames exceeding a first threshold; and
determining an end of the summarization segment as a second intra-coded frame of the plurality of intra-coded frames based on a second buffer-size delta between a second buffer size of the second intra-coded frame and a maximum buffer size of a second set of the plurality of intra-coded frames exceeding a second threshold.
2. The method of claim 1 , further comprising:
selecting the first set of the plurality of intra-coded frames from the plurality of intra-coded frames that precede the first intra-coded frame.
3. The method of claim 1 , further comprising:
selecting the first set of the plurality of intra-coded frames from the plurality of intra-coded frames that are within a time window that precedes the first intra-coded frame.
4. The method of claim 1 , further comprising:
selecting the second set of the plurality of intra-coded frames from the plurality of intra-coded frames that precede the second intra-coded frame.
5. The method of claim 1 , further comprising:
selecting the second set of the plurality of intra-coded frames from the plurality of intra-coded frames that are within a time window that precedes the second intra-coded frame.
6. The method of claim 1 , wherein determining the start of the summarization segment for the encoded video as the first intra-coded frame comprises:
determining that the first buffer-size delta exceeds a segment start threshold.
7. The method of claim 1 , wherein determining the end of the summarization segment for the encoded video as the second intra-coded frame comprises:
determining that the second buffer-size delta exceeds a segment end threshold.
8. The method of claim 1 , further comprising:
generating a video presentation of the encoded video that includes the summarization segment.
9. The method of claim 1 , wherein determining the start of the summarization segment for the encoded video as the first intra-coded frame comprises:
determining that a time duration between the first intra-coded frame and an end of a previous summarization segment exceeds a minimum duration.
10. The method of claim 1 , wherein determining the end of the summarization segment for the encoded video as the second intra-coded frame comprises:
determining that a time duration between the first intra-coded frame and the second intra-coded frame exceeds a minimum duration.
11. The method of claim 1 , wherein determining the start of the summarization segment for the encoded video as the first intra-coded frame comprises:
selecting the first intra-coded frame from the plurality of intra-coded frames;
determining the first encoded-buffer size of the first intra-coded frame;
determining a minimum buffer size of an intra-coded frame from the first set of the plurality of intra-coded frames;
determining the first buffer-size delta between the first encoded-buffer size and the minimum buffer size; and
identifying the first intra-coded frame as a start frame of the summarization segment in response to the first buffer-size delta exceeding a segment start threshold.
12. The method of claim 1 , wherein determining the end of the summarization segment for the encoded video as the second intra-coded frame comprises:
selecting the second intra-coded frame from the plurality of intra-coded frames;
determining the second encoded-buffer size of the second intra-coded frame;
determining a maximum buffer size of an intra-coded frame from the second set of the plurality of intra-coded frames;
determining the second buffer-size delta between the second encoded-buffer size and the maximum buffer size; and
identifying the second intra-coded frame as an end frame of the summarization segment in response to the second buffer-size delta exceeding a segment end threshold.
13. A non-transitory computer-readable storage medium having stored thereon instructions that when executed by a processor, cause the processor to perform actions, the actions comprising:
receiving a plurality of intra-coded frames of an encoded video;
selecting a first intra-coded frame from the plurality of intra-coded frames;
determining a first encoded-buffer size of the first intra-coded frame;
determining a minimum buffer size of an intra-coded frame from a first set of the plurality of intra-coded frames;
determining a first delta between the first encoded-buffer size and the minimum buffer size;
identifying the first intra-coded frame as a start frame of a summarization segment for the plurality of intra-coded frames in response to the first delta exceeding a first threshold;
selecting a second intra-coded frame from the plurality of intra-coded frames;
determining a second encoded-buffer size of the second intra-coded frame;
determining a maximum buffer size of an intra-coded frame from a second set of the plurality of intra-coded frames;
determining a second delta between the second encoded-buffer size and the maximum buffer size; and
identifying the second intra-coded frame as an end frame of the summarization segment in response to the second delta exceeding a second threshold.
14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that, when executed by the processor, cause the processor to perform further actions, the further actions comprising:
selecting the first set of the plurality of intra-coded frames as intra-coded frames from the plurality of intra-coded frames that precede the first intra-coded frame; and
selecting the second set of the plurality of intra-coded frames as intra-coded frames from the plurality of intra-coded frames that precede the second intra-coded frame.
15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that, when executed by the processor, cause the processor to perform further actions, the further actions comprising:
selecting the first set of the plurality of intra-coded frames from the plurality of intra-coded frames that are within a first time window that precedes the first intra-coded frame; and
selecting the second set of the plurality of intra-coded frames from the plurality of intra-coded frames that are within a second time window that precedes the second intra-coded frame.
16. The non-transitory computer-readable storage medium of claim 13 , wherein identifying the first intra-coded frame as the start frame of the summarization segment comprises:
determining that a time duration between the first intra-coded frame and an end of a previous summarization segment exceeds a minimum duration.
17. The non-transitory computer-readable storage medium of claim 13 , wherein identifying the second intra-coded frame as the end frame of the summarization segment comprises:
determining that a time duration between the first intra-coded frame and the second intra-coded frame exceeds a minimum duration.
18. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that, when executed by the processor, cause the processor to perform further actions, the further actions comprising:
generating a video presentation of the encoded video that includes the summarization segment.
19. A computer, comprising:
a non-transitory memory that stores computer instructions; and
a processor communicatively coupled to the non-transitory memory that, in operation, executes the computer instructions to cause the processor to:
obtain a plurality of intra-coded frames of an encoded video;
select a first intra-coded frame from the plurality of intra-coded frames as a start frame of a summarization segment for the encoded video; and
for each respective intra-coded frame of the plurality of intra-coded frames after the first intra-coded frame:
determine a delta between an encoded-buffer size of the respective intra-coded frame and a maximum buffer size of an intra-coded frame from a set of the plurality of intra-coded frames that precede the respective intra-coded frame; and
identify the respective intra-coded frame as an end frame of the summarization segment in response to the delta exceeding a segment end threshold.
20. The computer of claim 19 , wherein the processor selects the first intra-coded frame as the start of the summarization segment by executing the computer instructions to further cause the processor to:
determine a second delta between an encoded-buffer size of the first intra-coded frame and a minimum buffer size of an intra-coded frame from a set of the plurality of intra-coded frames that precede the first intra-coded frame; and
identify the first intra-coded frame as the start frame of the summarization segment in response to the second delta exceeding a segment start threshold.