throbber
Case 1:20-cv-01202-UNA Document 1-1 Filed 09/09/20 Page 1 of 17 PageID #: 42
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket