METHOD AND APPARATUS FOR SEGMENTING DATA
First Claim
1. A method of coding a live video stream, the video stream comprising a plurality of blocks, including a first block and a second block temporally following the first block, the method comprising:
- (a) determining if a duration of a remaining portion of the first block is greater than or equal to a target duration;
(b) if the duration of the remaining portion of the first block is greater than or equal to the target duration, generating a media segment temporally spanning the target duration;
(c) if the duration of the remaining portion of the first block is less than the target duration, generating a media segment spanning the remaining portion of the first block;
(d) updating a set of media segment identifiers to be published with an identifier of the generated media segment;
(e) repeating (a)-(d) until no portion of the first block remains;
(f) generating a further media segment from a temporally beginning portion of the second block, the further media segment temporally spanning no more than a difference between the target duration and a duration of a temporally last of the media segments generated from the first block; and
(g) updating the set of media identifiers to be published with the identifier of the generated further media segment.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system is provided for segmenting blocks of video data into chunks for consumption by player devices to create a new block to improve overall chunk creation. In one embodiment, issues that occur at the PCP block boundaries are handled by creating two chunks, one from the tail of content from the previous block and the other from the start of the new block, with the sums of the two chunks approximately equal to the target duration, improving manifest and chunk cadence creation. In another embodiment, chunks are created when the sink 104 requests a new manifest regardless of whether a proxy chunk timer pulling data from the PCP block has expired or not.
59 Citations
20 Claims
-
1. A method of coding a live video stream, the video stream comprising a plurality of blocks, including a first block and a second block temporally following the first block, the method comprising:
-
(a) determining if a duration of a remaining portion of the first block is greater than or equal to a target duration; (b) if the duration of the remaining portion of the first block is greater than or equal to the target duration, generating a media segment temporally spanning the target duration; (c) if the duration of the remaining portion of the first block is less than the target duration, generating a media segment spanning the remaining portion of the first block; (d) updating a set of media segment identifiers to be published with an identifier of the generated media segment; (e) repeating (a)-(d) until no portion of the first block remains; (f) generating a further media segment from a temporally beginning portion of the second block, the further media segment temporally spanning no more than a difference between the target duration and a duration of a temporally last of the media segments generated from the first block; and (g) updating the set of media identifiers to be published with the identifier of the generated further media segment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for coding a live video stream, the video stream comprising a plurality of blocks, including a first block and a second block temporally following the first block, the apparatus comprising:
-
a processor; a memory, communicatively coupled to the processor, the memory storing processor instructions including processor instructions for; (a) determining if a duration of a remaining portion of the first block is greater than or equal to a target duration; (b) if the duration of the remaining portion of the first block is greater than or equal to the target duration, generating a media segment temporally spanning the target duration; (c) if the duration of the remaining portion of the first block is less than the target duration, generating a media segment spanning the remaining portion of the first block; (d) updating a set of media segment identifiers to be published with an identifier of the generated media segment; (e) repeating (a)-(d) until no portion of the first block remains; (f) generating a further media segment from a temporally beginning portion of the second block, the further media segment temporally spanning no more than a difference between the target duration and a duration of a temporally last of the media segments generated from the first block; and (g) updating the set of media identifiers to be published with the identifier of the generated further media segment. - View Dependent Claims (8, 9, 10, 12, 13, 14, 15, 16)
-
-
17. An apparatus for coding a live video stream, the video stream comprising a plurality of blocks, including a first block and a second block temporally following the first block, the apparatus comprising:
-
means for determining if a duration of a remaining portion of the first block is greater than or equal to a target duration, generating a media segment temporally spanning the target duration if the duration of the remaining portion of the first block is greater than or equal to the target duration, generating a media segment spanning the remaining portion of the first block if the duration of the remaining portion of the first block is less than the target duration, and updating a set of media segment identifiers to be published with an identifier of the generated media segment until no portion of the first block remains; means for generating a further media segment from a temporally beginning portion of the second block, the further media segment temporally spanning no more than a difference between the target duration and a duration of a temporally last of the media segments generated from the first block; and means for updating the set of media identifiers to be published with the identifier of the generated further media segment. - View Dependent Claims (18, 19, 20)
-
Specification