`Case 1:20-cv-01202—UNA Document 1-1 Filed 09/09/20 Page 1 of 17 PageID #: 42
`
`
`
`
`
`EXHIBIT 1
`
`EXHIBIT 1
`
`
`
`US008832297B2
`
`(12) United States Patent
`Soroushian et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,832,297 B2
`Sep. 9, 2014
`
`(54)
`
`(75)
`
`(73)
`(*)
`
`(21)
`(22)
`(65)
`
`(60)
`
`(51)
`
`(52)
`
`SYSTEMIS AND METHODS FOR
`PERFORMING MULTIPHASE ADAPTIVE
`BTRATE STREAMING
`
`(58) Field of Classification Search
`USPC .......................................................... 709/231
`See application file for complete search history.
`
`Inventors: Kourosh Soroushian, San Diego, CA
`(US); Auke van der Schaar, Los
`Angeles, CA (US); Jason Braness, San
`Diego, CA (US); William David
`Amidei, San Diego, CA (US)
`Assignee: Sonic IP, Inc., San Diego, CA (US)
`Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 13/339,992
`
`Filed:
`
`Dec. 29, 2011
`
`Prior Publication Data
`US 2013/OOO7297 A1
`Jan. 3, 2013
`
`Related U.S. Application Data
`Provisional application No. 61/502.769, filed on Jun.
`29, 2011.
`
`(2006.01)
`(2006.01)
`(2011.01)
`(2011.01)
`(2011.01)
`
`Int. Cl.
`G06F 15/16
`H04L 29/06
`H4N2L/442
`H4N2L/6587
`H4N2L/845
`U.S. C.
`CPC ............ H04L 65/4084 (2013.01); H04L 65/80
`(2013.01); H04L 65/4092 (2013.01); H04N
`21/.44209 (2013.01); H04N 21/6587 (2013.01);
`H04N 2 1/8456 (2013.01); H04L 65/602
`(2013.01)
`USPC .......................................................... 709/231
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5/2002 Demoney
`6,385,673 B1
`2010. 0235542 A1* 9, 2010 Visharam et al. ............. TO9,246
`2010/030681.0 A1* 12/2010 Brooks et al. ......
`T25,109
`2011/0066673 A1
`3/2011 Outlaw ......................... TO9,203
`
`
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`2013.002834 A1
`
`1, 2013
`
`OTHER PUBLICATIONS
`
`International Search Report and Written Opinion for Application
`PCT/US2011/68156, Report Completed Apr. 7, 2012, 11 pgs.
`
`* cited by examiner
`
`Primary Examiner — Jason Gee
`(74) Attorney, Agent, or Firm — KPPB LLP
`
`ABSTRACT
`(57)
`Multiphase adaptive bitrate streaming systems and methods
`in accordance with embodiments of the invention are dis
`closed. One embodiment of the invention includes a proces
`Sor configured to request portions of files. In addition, the
`processor streams encoded media in a first operational phase
`utilizing a first set of stream Switching conditions. When at
`least one phase transition criterion is satisfied, the client
`application configures the processor to transition to a second
`operational phase utilizing a second set of stream Switching
`conditions.
`
`41 Claims, 6 Drawing Sheets
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 2 of 17 PageID #: 43
`
`52
`
`N Selectiltial Streams and
`Stream Switching
`Conditions
`—E 54
`Measura Streaming
`
`Conditions u1
`
`m switching
`Conditions Mei
`
`Yes.
`
`Switch Streams
`
`80
`
`N
`
`8
`
`62
`
`Phase Transition
`
`Yos-
`
`?
`
`84
`
`N
`
`Adopt New Stream
`Switching conditions
`
`
`
`U.S. Patent
`
`Sep. 9, 2014
`
`Sheet 1 of 6
`
`US 8,832,297 B2
`
`
`
`
`
`
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 3 of 17 PageID #: 44
`
`
`
`U.S. Patent
`
`US 8,832,297 B2
`
`
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 4 of 17 PageID #: 45
`
`
`
`U.S. Patent
`
`Sep. 9, 2014
`
`Sheet 3 of 6
`
`US 8,832,297 B2
`
`
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 5 of 17 PageID #: 46
`
`
`
`U.S. Patent
`
`Sep. 9, 2014
`
`Sheet 4 of 6
`
`US 8,832,297 B2
`
`
`
`- :
`
`50
`
`Select initial StreamS and
`Stream Switching
`8
`Conditions
`
`
`
`Measure Streaming
`Conditions
`
`56
`
`58
`
`u-
`u-
`u-
`
`s
`s
`s
`
`y
`u Stream Switchings
`N Conditions Met? -
`u s
`
`Ys
`
`3
`
`: 3
`
`D
`
`s
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 6 of 17 PageID #: 47
`
`64
`
`No
`
`
`
`-- < Phase Transition? >
`
`-
`
`y
`Complete
`N
`u/
`
`Yes
`
`Switch Streams
`
`Adopt New Stream
`Switching Conditions
`
`:---------------------------------------------------------------------------------------------------------------------------------------------
`
`FIG. 4
`
`
`
`U.S. Patent
`
`Sep. 9, 2014
`
`Sheet 5 of 6
`
`US 8,832,297 B2
`
`8O
`
`--X-XXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXX-
`
`82
`
`No
`
`
`
`Stability > Minimum
`Period?
`
`84
`
`No
`ss s
`
`
`
`ase Duration>
`|- Maximum Phase )
`Duration?
`
`
`
`
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 7 of 17 PageID #: 48
`
`Yes
`
`Transition to Less
`Responsive Phase
`
`N
`/
`Complete )
`N.
`u/
`
`FIG. 6
`
`
`
`U.S. Patent
`
`Sep. 9, 2014
`
`Sheet 6 of 6
`
`US 8,832,297 B2
`
`90
`
`92
`
`Pause Content
`Downloading
`
`Stream Switch?
`
`
`
`Transition to More
`Responsive Phase
`
`
`
`
`
`96
`
`
`
`
`
`- Buffer > Maximums
`s
`>- - - - - - - - - -Yes---
`Buffer Size -
`
`-
`
`^
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 8 of 17 PageID #: 49
`
`No
`N
`/
`Complete )
`u/
`N
`
`
`
`US 8,832,297 B2
`
`1.
`SYSTEMS AND METHODS FOR
`PERFORMING MULTIPHASE ADAPTIVE
`BTRATE STREAMING
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims priority to U.S. Provisional Appli
`cation Ser. No. 61/502,769, entitled “Muliphase Adaptive
`Streaming Algorithm' to Soroushian et al., filed Jun. 29.
`2011, the entirety of which is incorporated herein by refer
`CCC.
`
`FIELD OF THE INVENTION
`
`The present invention generally relates to streaming media
`and more specifically to stream Switching in adaptive bitrate
`streaming systems.
`
`BACKGROUND
`
`The term streaming media describes the playback of media
`on a playback device, where the media is stored on a server
`and continuously sent to the playback device over a network
`during playback. Typically, the playback device stores a Suf
`ficient quantity of media in a buffer at any given time during
`playback to prevent disruption of playback due to the play
`back device completing playback of all the buffered media
`prior to receipt of the next portion of media. Adaptive bit rate
`streaming or adaptive streaming involves detecting the
`present streaming conditions (e.g. the user's network band
`width and CPU capacity) in real time and adjusting the quality
`of the streamed media accordingly. Typically, the Source
`media is encoded at multiple bit rates and the playback device
`or client Switches between streaming the different encodings
`depending on available resources.
`A common goal of adaptive bitrate streaming is to stream
`the highest bitrate stream available given the streaming con
`ditions experienced by the playback device without stalls in
`the playback of media due to underflow. Underflow occurs
`when the playback device receives streaming media at a lower
`data rate than the minimum data rate for playing back the
`stream at the display rate of the playback device. The video
`used in most adaptive bitrate streaming systems is encoded
`using variable bit rate encoding, which is typically most effi
`cient. Even though the bitrate of the stream varies in time, the
`stream is typically described based upon its average bitrate.
`When variable bitrate encoding is used, the maximum bitrate
`of the stream is the rate that ensures that no underflow will
`occur given a certain buffer size. Most playback devices
`accommodate variation in the size of the encoded frames
`using a buffer. In the context of video, the buffering delay
`(which can also be referred to as the seek delay) is the time a
`playback device waits between starting filling the buffer and
`commencing playback to prevent underflow (i.e., a certain
`amount of data is buffered before decoding can start).
`Adaptive streaming solutions typically utilize Hypertext
`Transfer Protocol (HTTP), published by the Internet Engi
`neering Task Force and the World Wide Web Consortium as
`RFC 2616, to stream media between a server and a playback
`device. HTTP is a stateless protocol that enables a playback
`device to requestabyte range within a file. HTTP is described
`as stateless, because the server is not required to record infor
`mation concerning the state of the playback device requesting
`information or the byte ranges requested by the playback
`device in order to respond to requests received from the
`playback device.
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 9 of 17 PageID #: 50
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`In adaptive streaming systems, the Source media is typi
`cally stored on a media server as a top level index file pointing
`to a number of alternate streams that contain the actual video
`and audio data. Each stream is typically stored in one or more
`container files. Different adaptive streaming solutions typi
`cally utilize different index and media containers. The Syn
`chronized Multimedia Integration Language (SMIL) devel
`oped by the World WideWeb Consortium is utilized to create
`indexes in several adaptive streaming Solutions including IIS
`Smooth Streaming developed by Microsoft Corporation of
`Redmond, Wash., and Flash Dynamic Streaming developed
`by Adobe Systems Incorporated of San Jose, Calif. HTTP
`Adaptive Bitrate Streaming developed by Apple Computer
`Incorporated of Cupertino, Calif. implements index files
`using an extended M3U playlist file (M3U8), which is a text
`file containing a list of URIs that typically identify a media
`container file. The most commonly used media container
`formats are the MP4 container format specified in MPEG-4
`Part 14 (i.e. ISO/IEC 14496-14) and the MPEG transport
`stream (TS) container specified in MPEG-2 Part 1 (i.e. ISO/
`IEC Standard 13818-1). The MP4 container format is utilized
`in IIS Smooth Streaming and Flash Dynamic Streaming. The
`TS container is used in HTTP Adaptive Bitrate Streaming.
`
`SUMMARY OF THE INVENTION
`
`Multiphase adaptive bitrate streaming systems in accor
`dance with embodiments of the invention can transition
`between different phases in which different stream switching
`conditions are utilized. One embodiment of the invention
`includes a processor configured, via a client application, to
`request portions of files from a remote server. In addition, the
`client application further configures the processor to com
`mence streaming of the encoded media in a first operational
`phase utilizing a first set of stream Switching conditions by
`requesting portions of the encoded media from one of the
`plurality of alternative streams, and measure streaming con
`ditions. When a first set of stream switching conditions is
`satisfied in the first operational phase, the client application
`configures the processor to request portions of the encoded
`media from another of the plurality of alternative streams and
`when at least one phase transition criterion is satisfied, the
`client application configures the processor to transition to a
`second operational phase utilizing a second set of stream
`Switching conditions. Furthermore, when the second set of
`stream Switching conditions is satisfied in the second opera
`tional phase, the client application configures the processor to
`request portions of the encoded media from another of the
`plurality of alternative streams.
`In a further embodiment, the first set of stream switching
`conditions configure the playback device to respond more
`rapidly to changes in Streaming conditions than when the
`playback device is configured using the second set of stream
`Switching conditions.
`In another embodiment, the second set of stream Switching
`conditions configure the playback device to buffer more con
`tent than when the playback device is configured using the
`first set of stream Switching conditions.
`In a still further embodiment, the client application config
`ures the processor device to progress through a plurality of
`operational phases including the first and second operational
`phases, where a different set of stream Switching conditions
`are utilized during each operational phase.
`In still another embodiment, in at least one of the opera
`tional phases the client application configures the playback
`
`
`
`US 8,832,297 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`3
`device to transition to an operational phase having a larger
`maximum buffer size when at least one phase transition cri
`terion is satisfied.
`In a yet further embodiment, in at least one of the opera
`tional phases the client application configures the playback
`device to transition to an operational phase storing a larger
`amount of content measured in units of time when at least one
`phase transition criterion is satisfied.
`In yet another embodiment, in at least one of the opera
`tional phases the client application configures the playback
`device to transition to an operational phase having a smaller
`maximum buffer size when at least one phase transition cri
`terion is satisfied.
`In a further embodiment again, in at least one of the opera
`tional phases the client application configures the playback
`device to transition to an operational phase storing a smaller
`amount of content measured in units of time when at least one
`phase transition criterion is satisfied.
`In another embodiment again, the client application con
`figures the playback device to transition to the second opera
`tional phase in response to stable streaming conditions for a
`predetermined period of time.
`In a further additional embodiment, the client application
`determines stable streaming conditions by observing a set of
`consecutive measurements and determining that the mini
`mum and maximum observed rates fall within a predeter
`mined range.
`In another additional embodiment, the client application
`determines stable streaming conditions by observing the
`same streaming level for a predetermined amount of time.
`In a still yet further embodiment, the client application
`configures the playback device to transition to the second
`operational phase in response to the time in which the play
`back device is in the first operational phase exceeding a pre
`determined maximum time.
`In still yet another embodiment, the client application con
`figures the playback device to select streams appropriate to
`the second operational phase when the playback device tran
`sitions to the second operational phase in response to the time
`in which the playback device is in the first operational phase
`exceeding a predetermined maximum time.
`In a still further embodiment again, the client application
`further configures the processor so that when at least one
`phase transition criteria is satisfied, the playback device tran
`sitions from the second operational phase to the first opera
`tional phase in which the first set of stream Switching condi
`tions are utilized.
`In still another embodiment again, the client application
`configures the playback device to transition from the second
`operational phase to the first operational phase in response to
`the second set of stream Switching conditions being satisfied
`Such that a stream Switch occurs involving the playback
`device requesting portions of encoded media from a stream
`having a maximum bitrate that is lower than the maximum
`bitrate of the stream from which the playback device was
`requesting portions of the encoded media prior to the stream
`switch.
`In a still further additional embodiment, the client applica
`tion configures the processor to suspend requesting portions
`of encoded media from the stream following the stream
`switch until the amount of buffered media is less than a
`maximum buffer size that forms part of the first set of stream
`Switching conditions.
`In still another additional embodiment, the client applica
`tion configures the processor to suspend requesting portions
`of encoded media from the stream following the stream
`switch until the amount of buffered media measured in units
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 10 of 17 PageID #: 51
`
`50
`
`55
`
`60
`
`65
`
`4
`of time is less than a maximum amount of time that forms part
`of the first set of stream Switching conditions.
`One embodiment of the method of the invention includes:
`commencing streaming of the encoded media in a first opera
`tional phase utilizing a first set of stream Switching conditions
`by requesting portions of the encoded media from one of the
`plurality of alternative streams using a playback device; mea
`Suring streaming conditions using the playback device; when
`the first set of stream Switching conditions is satisfied in the
`first operational phase, requesting portions of the encoded
`media from another of the plurality of alternative streams
`using the playback device; when at least one phase transition
`criterion is satisfied, transitioning the playback device to a
`second operational phase utilizing a second set of stream
`Switching conditions; and when the second set of stream
`Switching conditions is satisfied in the second operational
`phase, requesting portions of the encoded media from another
`of the plurality of alternative streams using the playback
`device.
`Inafurther embodiment of the method of the invention, the
`first set of stream Switching conditions configure the play
`back device to respond more rapidly to changes in streaming
`conditions than when the playback device is configured using
`the second set of stream Switching conditions.
`In another embodiment of the method of the invention, the
`second set of stream Switching conditions configure the play
`back device to buffer more content than when the playback
`device is configured using the first set of stream Switching
`conditions.
`A still further embodiment of the method of the invention,
`also includes progressing the playback device through a plu
`rality of operational phases including the first and second
`operational phases, where a different set of stream Switching
`conditions are utilized during each operational phase.
`Still another embodiment of the method of the invention
`also includes transitioning the playback device to an opera
`tional phase having a larger maximum buffer size when at
`least one phase transition criterion is met.
`A yet further embodiment of the method of the invention
`also includes transitioning the playback device to an opera
`tional phase storing a larger amount of content measured in
`units of time when at least one phase transition criteria is
`satisfied.
`Yet another embodiment of the method of the invention
`also includes transitioning the playback device to an opera
`tional phase having a smaller maximum buffer size when at
`least one phase transition criterion is met.
`A further embodiment again of the method of the invention
`also includes transitioning the playback device to an opera
`tional phase storing a smaller amount of content measured in
`units of time when at least one phase transition criterion is
`satisfied.
`In another embodiment again of the method of the inven
`tion, the playback device transitions to the second operational
`phase in response to stable streaming conditions for a prede
`termined period of time.
`In a further additional embodiment of the method of the
`invention, the playback device transitions to a Subsequent
`operational phase in response to stable streaming conditions
`for a predetermined period of time.
`In another additional embodiment of the method of the
`invention, the playback device determines stable streaming
`conditions by observing a set of consecutive measurements
`and determining that the minimum and maximum observed
`rates fall within a predetermined range.
`
`
`
`5
`In a still yet further embodiment of the method of the
`invention, the playback device determines stable streaming
`conditions by observing the same streaming level for a pre
`determined amount of time.
`In still yet another embodiment of the method of the inven
`tion, the playback device transitions to the second operational
`phase in response to the time in which the playback device is
`in the first operational phase exceeding a predetermined
`maximum time.
`A still further embodiment again of the method of the
`invention also includes selecting streams appropriate to the
`second operational phase using the playback device when the
`playback device transitions to the second operational phase in
`response to the time in which the playback device is in the first
`operational phase exceeding a predetermined maximum
`time.
`Still another embodiment again of the method of the inven
`tion also includes when at least one phase transition criterion
`is satisfied, transitioning the playback device to the first
`operational phase in which the first set of stream Switching
`conditions are utilized.
`A still further additional embodiment of the method of the
`invention also includes transition the playback device from
`the second operational phase to the first operational phase in
`response to the second set of stream Switching conditions
`being satisfied Such that a stream Switch occurs involving the
`playback device requesting portions of encoded media from a
`stream having a maximum bitrate that is lower than the maxi
`mum bitrate of the stream from which the playback device
`was requesting portions of the encoded media prior to the
`stream Switch.
`Still another additional embodiment of the method of the
`invention also includes Suspending requests from the play
`back device for portions of encoded media from the stream
`following the stream switch until the amount of buffered
`media is less than a maximum buffer size that forms part of
`the first set of stream Switching conditions.
`Ayet further embodiment again of the method of the inven
`tion also includes Suspending requests from the playback
`device for portions of encoded media from the stream follow
`ing the stream switch until the amount of buffered media
`measured in units of time is less than a maximum amount of
`time that forms part of the first set of stream Switching con
`ditions.
`Yet another embodiment again of the method of the inven
`tion also includes when at least one phase transition criterion
`is satisfied, transitioning the playback device to the previous
`operational phase in which the corresponding enumeration of
`the set of stream Switching conditions are utilized.
`A yet further additional embodiment of the method of the
`invention also includes transition the playback device from an
`operational phase greater than the first to the previous opera
`tional phase in response to the corresponding enumeration of
`the set of stream Switching conditions being satisfied Such
`that a stream Switch occurs involving the playback device
`requesting portions of encoded media from a stream having a
`maximum bitrate that is lower than the maximum bitrate of
`the stream from which the playback device was requesting
`portions of the encoded media prior to the stream switch.
`Yet another additional embodiment of the method of the
`invention also includes Suspending requests from the play
`back device for portions of encoded media from the stream
`following the stream switch until the amount of buffered
`media is less than a maximum buffer size that forms part of
`the previous set of stream Switching conditions.
`A further additional embodiment again of the method of
`the invention also includes Suspending requests from the
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 11 of 17 PageID #: 52
`
`US 8,832,297 B2
`
`10
`
`15
`
`6
`playback device for portions of encoded media from the
`stream following the stream switch until the amount of buff
`ered media measured in units of time is less than a maximum
`amount of time that forms part of the previous set of stream
`Switching conditions.
`Another further embodiment of the invention includes:
`commencing streaming of the encoded media in a first opera
`tional phase utilizing a first set of stream Switching conditions
`by requesting portions of the encoded media from one of the
`plurality of alternative streams; measuring streaming condi
`tions; when the first set of stream Switching conditions is
`satisfied in the first operational phase, requesting portions of
`the encoded media from another of the plurality of alternative
`streams; when at least one phase transition criterion is satis
`fied, transitioning to a second operational phase utilizing a
`second set of stream Switching conditions; and when the
`second set of stream Switching conditions is satisfied in the
`second operational phase, requesting portions of the encoded
`media from another of the plurality of alternative streams.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a network diagram of a media streaming system in
`accordance with an embodiment of the invention.
`FIG. 2 conceptually illustrates a playback device config
`ured to perform multiphase adaptive bitrate streaming in
`accordance with an embodiment of the invention.
`FIG.3 conceptually illustrates multiple operational phases
`of a playback device configured to perform multiphase adap
`tive bitrate streaming in accordance with an embodiment of
`the invention.
`FIG. 4 is flow chart illustrating a process for performing
`multiphase adaptive bitrate streaming in accordance with an
`embodiment of the invention.
`FIG. 5 conceptually illustrates the operational phases of a
`two phase adaptive bitrate streaming system in accordance
`with an embodiment of the invention.
`FIG. 6 is a flow chart illustrating a process for determining
`when to transition from an operational phase in which a
`playback device's stream Switching decisions are more
`response to variations in streaming conditions to an opera
`tional phase in which the playback device's stream Switching
`decisions are less responsive to variations in streaming con
`ditions in accordance with an embodiment of the invention.
`FIG. 7 is a flow chart illustrating a process for determining
`when to transition from an operational phase in which the
`playback device's stream Switching decisions are less respon
`sive to variations in streaming conditions to an operational
`phase in which a playback device's stream Switching deci
`sions are more response to variations in streaming conditions
`in accordance with an embodiment of the invention.
`
`DETAILED DISCLOSURE OF THE INVENTION
`
`Turning now to the drawings, multiphase adaptive bitrate
`streaming systems and methods in accordance with embodi
`ments of the invention are illustrated. Adaptive bitrate stream
`ing systems typically provide a number of alternative streams
`of video encoded at different maximum bitrates. As streaming
`conditions change, a playback device can Switch between
`streams to prevent disruption in the playback of the content.
`Typically, adaptive bitrate streaming systems define a set of
`conditions that determine whether the playback device con
`tinues requesting content for playback, or whether the play
`back device switches to lower or higher bitrate stream(s).
`These conditions can be referred to as stream Switching con
`ditions. The stream Switching conditions used by the play
`
`
`
`US 8,832,297 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`7
`back device can cause the playback device to react very
`quickly to changes in the streaming conditions and buffer less
`content. Alternatively, the stream Switching conditions
`applied by the playback device may cause the playback
`device to buffer more content and react more slowly to
`streaming condition changes to ride out temporary bandwidth
`fluctuations.
`In many embodiments of the invention, playback devices
`are configured to progress through multiple operational
`phases in which different stream Switching conditions are
`applied by the playback device. These operational phases
`may be discrete phases or can be a continuum in which the
`stream Switching continuously change. A system where the
`playback devices progresses through multiple operational
`phases in which different stream Switching conditions are
`applied by the playback device can be referred to as a mul
`tiphase adaptive bitrate streaming system. In Such a system,
`the same stream Switching conditions or heuristics are not
`applied throughout the duration of the streaming of a particu
`lar piece of content. Instead, the stream Switching conditions
`can change over time based upon a variety of factors includ
`ing (but not limited to) duration of playback of the content,
`time since last stream Switch, duration within an operation
`phase, buffered content and/or the stability of the streaming
`conditions experienced during playback. While the decision
`to Switch between streams is typically dependent upon a
`change in streaming conditions, the decision to Switch
`between phases (i.e. the set of stream Switching conditions to
`apply) can be a function of stability in streaming conditions.
`Multiphase adaptive bitrate streaming systems and methods
`for performing multiphase adaptive bitrate streaming of mul
`timedia content in accordance with embodiments of the
`invention are discussed further below.
`Multiphase Streaming System Architecture
`A multiphase adaptive bitrate streaming system in accor
`dance with an embodiment of the invention is illustrated in
`FIG.1. The multiphase adaptive bitrate streaming system 10
`includes a source encoder 12 configured to encode source
`media as a number of alternative streams. In the illustrated
`embodiment, the source encoder is a server. In other embodi
`ments, the Source encoder can be any processing device
`including a processor and Sufficient resources to perform the
`transcoding of Source media (including but not limited to
`Video, audio, and/or Subtitles). The source encoding server 12
`typically generates atop level index to a plurality of container
`files containing the streams, at least a plurality of which are
`alternative streams. Alternative streams are streams that
`encode the same media content in different ways. In many
`instances, alternative streams encode media content (Such as
`but not limited to video) at different maximum bitrates. In a
`number of embodiments, the alternative streams are encoded
`with different resolutions and/or at different frame rates. The
`top level index file and the container files are uploaded to an
`HTTP server 14. In other embodiments, the server is not an
`HTTP server but is a server configured to implement any
`stateless or stateful protocol including but not limited to an
`RTSP server. Although the source encoding server 12 is
`described above as generating the top level index file, in many
`embodiments the top level index file is dynamically generated
`in response to a request for a specific piece of content by a
`playback device. Systems and methods for encoding Source
`media for adaptive bitrate streaming are disclosed in U.S.
`patent application Ser. No. 13/221,682 entitled “Systems and
`Methods for Adaptive Bitrate Streaming of Media Stored in
`Matroska Container Files Using Hypertext Transfer Proto
`col” to Braness et al., filed Aug. 30, 2011, the disclosure of
`which is incorporated herein by reference in its entirety.
`
`Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 12 of 17 PageID #: 53
`
`50
`
`55
`
`60
`
`65
`
`8
`In the illustrated embodiment, a variety of playback
`devices use HTTP or another appropriate stateless protocol to
`request portions of atop level index file and the container files
`via a network 16 such as the Internet. Prior to a playback
`device performing adaptive bitrate streaming using portions
`of media from alternative streams contained within the con
`tainer files, a bandwidth probe can be performed by the play
`back device to determine available bandwidth. Once the
`bandwidth probe has been completed, the playback device
`can utilize data within the top level index including (but not
`limited to) the maximum bitrate of each of the available
`streams to determine the initial streams from which to com
`mence requesting portions of encoded media as part of an
`adaptive bitrate streaming process.
`Once playback of content from the initial set of streams
`commences, the playback device utilizes the top level index
`to perform adaptive bitrate streaming of the content in
`response to changes in streaming conditions. In a multiphase
`adaptive bitrate streaming system, the playback device can
`progress through a series of operational phases in which the
`playback device responds differently in each phase to
`changes in the streaming conditions. In a number of embodi
`ments, stability in streaming conditions or improving stream
`ing conditions can resultina transition to a phase in which the
`playback device assumes stable operating conditions, buffers
`more content, and is less responsive to fluctuations in stream
`ing condit