Segment based encoding of video
First Claim
Patent Images
1. A computer-implemented method for encoding a compressed video bitstream, comprising:
- receiving a compressed video bitstream in which key frames occur nominally a first time duration apart, wherein a key frame is encoded without depending on another frame in the compressed video bitstream;
building a dependency map for the compressed video bitstream, wherein the dependency map identifies the key frames;
segmenting, using the dependency map, the compressed video bitstream in segments, wherein at least some segments have overlapping frames;
providing segments of the compressed video bitstream corresponding to a nominal time duration to multiple encoding nodes, wherein each segment includes at least one key frame, and wherein at least some segments include video frames that occur temporally before or after the at least one key frame in a display order;
indicating, to the multiple encoding nodes, a number of frames to skip from encoding at beginning of each segment and a number of frames to skip encoding at end of each segment, such that at least some segments include frames that are not to be encoded by a corresponding encoding node; and
encoding, by each encoding nodes, the corresponding segment of compressed video bitstream such that key frames in resulting encoded video bitstream occur a second time duration apart.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed video encoding system splits an input video into video segments. The video segments are encoded using multiple video encoding nodes. Prior to the process of splitting the sequence into video segments, the video is analyzed to generate a dependency map. Intelligent segmentation is performed using the dependency map so that each video segment includes all the video frames from which other video frames within that segment have been encoded in the input video. For example, picture headers are inspected to determine the temporal distance of the farthest past and future reference frames used for encoding frames of a video.
89 Citations
20 Claims
-
1. A computer-implemented method for encoding a compressed video bitstream, comprising:
-
receiving a compressed video bitstream in which key frames occur nominally a first time duration apart, wherein a key frame is encoded without depending on another frame in the compressed video bitstream; building a dependency map for the compressed video bitstream, wherein the dependency map identifies the key frames; segmenting, using the dependency map, the compressed video bitstream in segments, wherein at least some segments have overlapping frames; providing segments of the compressed video bitstream corresponding to a nominal time duration to multiple encoding nodes, wherein each segment includes at least one key frame, and wherein at least some segments include video frames that occur temporally before or after the at least one key frame in a display order; indicating, to the multiple encoding nodes, a number of frames to skip from encoding at beginning of each segment and a number of frames to skip encoding at end of each segment, such that at least some segments include frames that are not to be encoded by a corresponding encoding node; and encoding, by each encoding nodes, the corresponding segment of compressed video bitstream such that key frames in resulting encoded video bitstream occur a second time duration apart. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium storing instructions that, upon execution, cause at least one computer processor to perform a method, the instructions comprising instructions for:
-
instructions for receiving a compressed video bitstream in which key frames occur nominally a first time duration apart, wherein a key frame is encoded without depending on another frame in the compressed video bitstream; instructions for building a dependency map for the compressed video bitstream, wherein the dependency map identifies the key frames; instructions for segmenting, using the dependency map, the compressed video bitstream in segments, wherein at least some segments have overlapping frames; instructions for providing segments of the compressed video bitstream corresponding to a nominal time duration to multiple encoding nodes, wherein each segment includes at least one key frame, and wherein at least some segments include video frames that occur temporally before or after the at least one key frame in a display order, and wherein at least some segments include frames that are not to be encoded by a corresponding encoding node; instructions for indicating, to the multiple encoding nodes, a number of frames to skip from encoding at beginning of each segment and a number of frames to skip encoding at end of each segment, such that at least some segments include frames that are not to be encoded by a corresponding encoding node; instructions for encoding, by each encoding nodes, the corresponding segment of compressed video bitstream such that key frames in resulting encoded video bitstream occur a second time duration apart. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer system, comprising:
-
at least one processor; at least one memory comprising instructions configured to cause the at least one processor to perform a method, comprising; receiving a compressed video bitstream in which key frames occur nominally a first time duration apart, wherein a key frame is encoded without depending on another frame in the compressed video bitstream; building a dependency map for the compressed video bitstream, wherein the dependency map identifies the key frames; segmenting, using the dependency map, the compressed video bitstream in segments, wherein at least some segments have overlapping frames; providing segments of the compressed video bitstream corresponding to a nominal time duration to multiple encoding nodes, wherein each segment includes at least one key frame, and wherein at least some segments include video frames that occur temporally before or after the at least one key frame in a display order, and wherein at least some segments include frames that are not to be encoded by a corresponding encoding node; indicating, to the multiple encoding nodes, a number of frames to skip from encoding at beginning of each segment and a number of frames to skip encoding at end of each segment, such that at least some segments include frames that are not to be encoded by a corresponding encoding node; and encoding, by each encoding nodes, the corresponding segment of compressed video bitstream such that key frames in resulting encoded video bitstream occur a second time duration apart. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification