US 12,262,051 B2
Systems and methods for performing adaptive bitrate streaming
Jason Braness, San Diego, CA (US); Auke Sjoerd van der Schaar, Los Angeles, CA (US); and Kourosh Soroushian, San Diego, CA (US)
Assigned to DIVX, LLC, San Diego, CA (US)
Filed by DIVX, LLC, San Diego, CA (US)
Filed on Apr. 14, 2023, as Appl. No. 18/301,075.
Application 18/301,075 is a continuation of application No. 17/240,827, filed on Apr. 26, 2021, granted, now 11,638,033.
Application 17/240,827 is a continuation of application No. 16/525,073, filed on Jul. 29, 2019, granted, now 10,992,955, issued on Apr. 27, 2021.
Application 16/525,073 is a continuation of application No. 16/155,840, filed on Oct. 9, 2018, granted, now 10,368,096, issued on Jul. 30, 2019.
Application 16/155,840 is a continuation of application No. 15/881,351, filed on Jan. 26, 2018, abandoned.
Application 15/881,351 is a continuation of application No. 15/005,990, filed on Jan. 25, 2016, granted, now 9,883,204, issued on Jan. 30, 2018.
Application 15/005,990 is a continuation of application No. 13/221,794, filed on Aug. 30, 2011, granted, now 9,247,312, issued on Jan. 26, 2016.
Claims priority of provisional application 61/430,110, filed on Jan. 5, 2011.
Prior Publication US 2023/0300372 A1, Sep. 21, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04N 21/2387 (2011.01); G11B 27/00 (2006.01); G11B 27/11 (2006.01); G11B 27/32 (2006.01); H04L 65/612 (2022.01); H04L 65/613 (2022.01); H04L 65/70 (2022.01); H04N 19/172 (2014.01); H04N 19/177 (2014.01); H04N 19/40 (2014.01); H04N 19/593 (2014.01); H04N 21/2343 (2011.01); H04N 21/262 (2011.01); H04N 21/2662 (2011.01); H04N 21/426 (2011.01); H04N 21/435 (2011.01); H04N 21/44 (2011.01); H04N 21/442 (2011.01); H04N 21/6587 (2011.01); H04N 21/845 (2011.01); H04N 21/8543 (2011.01); H04N 21/854 (2011.01)
CPC H04N 19/593 (2014.11) [G11B 27/005 (2013.01); G11B 27/11 (2013.01); G11B 27/322 (2013.01); H04L 65/612 (2022.05); H04L 65/613 (2022.05); H04L 65/70 (2022.05); H04N 19/172 (2014.11); H04N 19/177 (2014.11); H04N 19/40 (2014.11); H04N 21/234345 (2013.01); H04N 21/23439 (2013.01); H04N 21/2387 (2013.01); H04N 21/26258 (2013.01); H04N 21/2662 (2013.01); H04N 21/42607 (2013.01); H04N 21/435 (2013.01); H04N 21/44004 (2013.01); H04N 21/44008 (2013.01); H04N 21/44209 (2013.01); H04N 21/6587 (2013.01); H04N 21/8455 (2013.01); H04N 21/8456 (2013.01); H04N 21/8543 (2013.01); H04N 21/85406 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A server system, configured to:
generate a top level index file that includes:
references to container files that each include one of a plurality of alternative streams, where:
the plurality of alternative streams are streams that encode a source video in different ways and at different bitrates;
each of the plurality of alternative streams is capable of being used during normal playback; and
each container file contains:
a plurality of encoded portions of the source video, where the plurality of encoded portions of the source video form an encoding of the entire source video; and
an index that points to each of the plurality of portions of encoded source video in the container file,
wherein each portion of encoded source video from the plurality of portions of encoded source video commences with an intra frame starting with a closed group of pictures (GOP);
references to a container file that includes a separate trick play stream capable of being used during visual search in either a forward or reverse direction at a rate that is faster than a normal playback rate, where:
the container file that contains the separate trick play stream contains an index and frames from throughout the source video, where:
each of the frames of encoded video of the trick play stream is an intra frame; and
entries in the index of the container file containing the trick play stream comprise locations of each frame in the container file; and
provide the top level index file in response to a request from a playback device.