US20120278496A1 - Startup Bitrate In Adaptive Bitrate Streaming - Google Patents
Startup Bitrate In Adaptive Bitrate Streaming Download PDFInfo
- Publication number
- US20120278496A1 US20120278496A1 US13/098,236 US201113098236A US2012278496A1 US 20120278496 A1 US20120278496 A1 US 20120278496A1 US 201113098236 A US201113098236 A US 201113098236A US 2012278496 A1 US2012278496 A1 US 2012278496A1
- Authority
- US
- United States
- Prior art keywords
- bitrate
- startup
- determining
- player
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003044 adaptive effect Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 15
- 235000014510 cooky Nutrition 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 8
- 238000005516 engineering process Methods 0.000 description 26
- 230000015654 memory Effects 0.000 description 20
- 238000003860 storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101150110972 ME1 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4381—Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Definitions
- on-line media relates to on-line audio media and audiovisual media, hereinafter “on-line media.”
- the technology relates to decreasing the time from a play request to playing of streaming media transported under HTTP Live Streaming (HLS) and similar protocols.
- HLS HTTP Live Streaming
- FIG. 1A illustrates an example system implementation
- FIG. 1B illustrates an example media streaming system implementation
- FIG. 2 illustrates methods of the technology.
- an exemplary system 100 includes a general-purpose computing device 100 , including a processing unit (CPU or processor) 120 and a system bus 110 that couples various system components including the system memory 130 such as read-only memory (ROM) 140 and random-access memory (RAM) 150 to the processor 120 .
- the system 100 can include a cache 122 of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor 120 .
- the system 100 copies data from the memory 130 and/or the storage device 160 to the cache 122 for quick access by the processor 120 . In this way, the cache 122 provides a performance boost that avoids processor 120 delays while waiting for data.
- These and other modules can control or be configured to control the processor 120 to perform various actions.
- the memory 130 can include multiple different types of memory with different performance characteristics. It can be appreciated that the disclosure may operate on a computing device 100 with more than one processor 120 or on a group or cluster of computing devices networked together to provide greater processing capability.
- the processor 120 can include any general-purpose processor and a hardware module or software module, such as module 1 162 , module 2 164 , and module 3 166 stored in storage device 160 , configured to control the processor 120 as well as a special-purpose processor where software instructions are incorporated into the actual processor design.
- the processor 120 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc.
- a multi-core processor may be symmetric or asymmetric.
- the system bus 110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- a basic input/output (BIOS) stored in ROM 140 or the like may provide the basic routine that helps to transfer information between elements within the computing device 100 , such as during start-up.
- the computing device 100 further includes storage devices 160 , such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive or the like.
- the storage device 160 can include software modules 162 , 164 , 166 for controlling the processor 120 . Other hardware or software modules are contemplated.
- the storage device 160 is connected to the system bus 110 by a drive interface.
- the drives and the associated computer readable storage media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing device 100 .
- a hardware module that performs a particular function includes the software component stored in a non-transitory computer-readable medium in connection with the necessary hardware components, such as the processor 120 , bus 110 , display 170 , and so forth, to carry out the function.
- the basic components are known to those of skill in the art and appropriate variations are contemplated depending on the type of device, such as whether the device 100 is a small, handheld computing device, a desktop computer, or a computer server.
- Non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
- an input device 190 represents any number of input mechanisms, such as a microphone for speech, a touchsensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth.
- An output device 170 can also be one or more of a number of output mechanisms known to those of skill in the art.
- multimodal systems enable a user to provide multiple types of input to communicate with the computing device 100 .
- the communications interface 180 generally governs and manages the user input and system output. There is no restriction on operating on any particular hardware arrangement, and therefore, the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
- the illustrative system embodiment is presented as including individual functional blocks, including functional blocks labeled as a “processor” or processor 120 .
- the functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software and hardware, such as a processor 120 , that is purpose-built to operate as equivalent to software executing on a general-purpose processor.
- the functions of one or more processors presented in FIG. 1A may be provided by a single shared processor or multiple processors.
- Illustrative embodiments may include microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) 140 for storing software performing the operations discussed below, and random access memory (RAM) 150 for storing results.
- DSP digital signal processor
- ROM read-only memory
- RAM random access memory
- VLSI Very large scale integration
- the logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations, or procedures (generally “instructions”) running on a programmable circuit within a general use computer, (2) a sequence of computer implemented steps, operations, or procedures running on a specific-use programmable circuit; and/or (3) interconnected machine modules or program engines within the programmable circuits.
- the system 100 shown in FIG. 1A can practice all or part of the recited methods, can be a part of the recited systems, and/or can operate according to instructions in the recited non-transitory computer-readable storage media.
- Such logical operations can be implemented as modules configured to control the processor 120 to perform particular functions according to the programming of the module. For example, FIG.
- Mod 1 162 illustrates three modules Mod 1 162 , Mod 2 164 and Mod 3 166 which are modules configured to control the processor 120 . These modules may be stored on the storage device 160 and loaded into RAM 150 or memory 130 at runtime, or may be stored as would be known in the art in other computer-readable memory locations.
- Content delivery describes the delivery of media “content” such as audio or video or computer software and games over a delivery medium such as broadcasting or the Internet.
- Content delivery has two parts: delivery of finished content for digital distribution, with its accompanying metadata; and delivery of the end product to the end-user.
- Streaming media is media that is received by and presented to an end-user while being delivered by a streaming provider.
- the name refers to the delivery method of the medium rather than to the medium itself.
- the distinction is usually applied to media that are distributed over telecommunications networks, e.g., “on-line,” as most other delivery systems are either inherently streaming (e.g., radio, television) or inherently non-streaming (e.g., books, video cassettes, audio CDs).
- on-line media and on-line streaming will be referred to as “media” and “streaming.”
- the verb ‘to stream’ is also derived from this term, meaning to deliver media in this manner.
- Internet television is a commonly streamed medium.
- Adaptive Bitrate Streaming (or Adaptive Streaming) is a technique used in streaming media. While other streaming technologies utilize protocols such Real Time Streaming Protocol (RTSP), adaptive streaming is primarily based on HTTP to work over networks such as the Internet. Adaptive streaming technology can detect a playback device bandwidth and other factors in real time and adjust the quality of a video stream accordingly. It typically involves the use of an encoder that encodes a single source video at multiple bit rates. The player switches between streaming the different bitrates depending on available resources. Post-production houses, content delivery networks, and studios use adaptive bit rate technology to provide higher quality video using less manpower and fewer resources.
- RTSP Real Time Streaming Protocol
- HTTP-based streaming has the advantage of not requiring firewall ports being opened outside of the normal ports used by web browsers. HTTP-based streaming also allows video fragments to be cached by browsers, proxies, and CDNs. Apple's implementation of HTTP streaming, Http Live Streaming (HLS) is provided as part of their Quick-Time X, and iPhone software systems. Apple's newly released iPad also employs HLS. HLS works by breaking down streams into multiple small HTTP-based file downloads that load at variable adaptive rates. HTTP adaptive bit rate streaming is based on HTTP progressive download, but contrary to the previous approach, here the files are very small, so that they can be compared to the streaming of packets, much like the case of using RTSP and RTP.
- HLS Http Live Streaming
- Smooth Streaming is an Internet Information Services (IIS) media services extension that enables adaptive streaming of media to clients over HTTP.
- IIS Internet Information Services
- the format specification is based on the ISO Base Media File Format and standardized by Microsoft as the Protected Interoperable File Format.
- Microsoft provides Smooth Streaming Client software development kits for Silver-light and Windows Phone 7.
- IIS Media Services 4.0 released in November 2010, introduced a feature which enables Smooth Streaming H.264/AAC videos, both live and on-demand, to be dynamically repackaged into the HLS format and delivered to iOS devices without the need for re-encoding.
- Octoshape's technology supports adaptive bitrate streaming using formats like Flash, Windows and HLS.
- Ocotoshape's technology selects bit rates on startup, but rarely makes use of the rate shifting technology during a viewing session.
- FIG. 1B illustrates an example media streaming system embodiment 1000 .
- the communications between the entities depicted in FIG. 1B can occur via one or more wired or wireless networks.
- the devices can communicate directly, via the World Wide Web, or via an application programming interface (API).
- a playback device 1002 such as a tablet device, smartphone, desktop or portable computer, set-top box, Internet-enabled television, media center PC, or any other suitable device, first makes a request to a media server 1004 for playback of media content, such as an episode of Star Trek.
- the media server 1004 resides in a network, such as the Internet, but can reside entirely or partially in any of the playback devices or a local network, for example.
- the media server 1004 receives the request and generates or fetches a manifest file 1006 to send to the playback device 1002 in response to the request.
- Example formats for the manifest file 1006 include the m3u and m3u8 formats.
- An m3u8 file is a specific variation of an m3u encoded using UTF-8 Unicode characters.
- the m3u file format was initially used in the WINAMP Media Player for only audio files, but has since become a de facto playlist standard on many media devices for local and/or streaming media, including music and other media types. Many media devices employ variations of the m3u file format, any of which can be used according to the principles set forth herein.
- a manifest file can include links to media files as relative or absolute paths to a location on a local file system, or as a network address, such as a Uniform Resource Identifier (URI) path.
- URI Uniform Resource Identifier
- the m3u8 format is used herein as a non-limiting example to illustrate the principles of manifest files.
- bitrate (sometimes written “bit rate,” “data rate”) is the number of bits conveyed or processed per unit of time.
- the bit rate is quantified using the bits per second (bit/s or bps) unit, often in conjunction with an SI prefix such as kilo- (kbit/s or kbps), mega- (Mbit/s or Mbps), giga- (Gbit/s or Gbps) or tera- (Tbit/s or Tbps).
- SI prefix such as kilo- (kbit/s or kbps), mega- (Mbit/s or Mbps), giga- (Gbit/s or Gbps) or tera- (Tbit/s or Tbps).
- 1 kbit/s is traditionally defined as 1,000 bit/s, not 1,024 bit/s, etc.
- bit rate can refer to the number of bits used per unit of playback time to represent a continuous medium such as audio or video after source coding (data compression).
- the encoding bit rate of a multimedia file is the size of a multimedia file in bytes divided by the playback time of the recording (in seconds), multiplied by eight.
- the encoding bit rate is the goodput that is required to avoid interrupts.
- Goodput or data transfer rate refers to the achieved average net bit rate that is delivered to the application layer, exclusive of all protocol overhead, data packets retransmissions, etc.
- the goodput corresponds to the achieved file transfer rate.
- the file transfer rate in bit/s can be calculated as the file size (in bytes), divided by the file transfer time (in seconds), and multiplied by eight.
- the typical starting bitrate for adaptive bitrate streaming is the lowest bitrate in the dynamic profile set. This means that each playback device starts playing at the lowest bitrate. The playback device then switches to a higher bitrate as conditions allow. However, the time that it takes to switch to a higher bitrate from the initial bitrate can be as long as fifteen (15) seconds.
- the technology can track the bitrate history 210 of the player over time. Tracking the bitrate history of the player can include one or more of: updating the history; sampling the bitrate either periodically or aperiodically. It can also include tracking the bitrate on player startup; tracking the bitrate on a per session basis; and averaging the bitrate over a period. For example, where the bitrate is averaged over a period, the periods can be every fifteen (15) seconds for the first minute of play, and then every minute thereafter with just the average over each period tracked.
- Tracked bitrate values can be stored in a cookie on the player device. Bitrate tracking can be performed by the player, or can be performed elsewhere, e.g., in a Content Management System (CMS). In a player such as the player disclosed in the '210 application, the player can obtain the bitrate history from the player skin. Bitrate history can also be user dependent.
- CMS Content Management System
- the technology can determine a starting bitrate from the bitrate history 220 .
- the technology can use the most recent bitrate as the startup bitrate.
- the technology can apply a function to a plurality of rates to determine the startup bitrate.
- the function can be the average bitrate over the last N tracked bitrates, over the last X time period, or a combination of both.
- the average can be weighted, e.g., to give more weight to more recent bitrates.
- the function can be the statistical mode among tracked bitrates.
- the function can be related to the maximum bitrate in each of the last N sessions, e.g., the lowest max bitrate over the last five (5) sessions. In some implementations, other factors can be used in determining the startup bitrate including the nature of the player hardware, the duration of the content to be streamed, . . . .
- the starting bitrate can be capped, e.g., to account for users who change location between a higher bandwidth environment and a lower bandwidth environment.
- a higher bandwidth environment can be a home at 5 Mbps or an office at 20 Mbps; while a lower bandwidth environment can be a public space such as WiFi in a coffee shop at 1.5 Mbps or lower.
- the technology can determine a first bitrate as described above, and then compare the first determined bitrate with the cap, using the lower of the two. The same approach can be used for minimum starting bitrate.
- the technology can determine if streaming according to the determined bitrate is enabled 230 .
- a bitrate memory enabled flag can be used to indicate if streaming according to the determined bitrate is enabled. While shown as following the determine bitrate from bitrate history 220 step, determining if the bitrate memory flag is enabled can be a precondition to any other step of the technology. If the bitrate memory enabled flag (when used) is set, the technology can initiate streaming according to the determined bitrate 240 .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- The present application claims the benefit of co-pending U.S. Provisional Patent Applications 62/377,210, filed Aug. 26, 2010, the disclosure of which is hereby incorporated herein in the entirety be reference (hereinafter “the '210 application”).
- The technology disclosed herein relates to on-line audio media and audiovisual media, hereinafter “on-line media.” In exemplary embodiments, the technology relates to decreasing the time from a play request to playing of streaming media transported under HTTP Live Streaming (HLS) and similar protocols.
- In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure, and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
-
FIG. 1A illustrates an example system implementation; -
FIG. 1B illustrates an example media streaming system implementation; -
FIG. 2 illustrates methods of the technology. - Reference will now be made in detail to implementations of the technology. Each example is provided by way of explanation of the technology only, not as a limitation of the technology. It will be apparent to those skilled in the art that various modifications and variations can be made in the present technology without departing from the scope or spirit of the technology. For instance, features described as part of one implementation can be used on another implementation to yield a still further implementation. Thus, it is intended that the present technology cover such modifications and variations that come within the scope of the technology.
- With reference to
FIG. 1A , anexemplary system 100 includes a general-purpose computing device 100, including a processing unit (CPU or processor) 120 and asystem bus 110 that couples various system components including thesystem memory 130 such as read-only memory (ROM) 140 and random-access memory (RAM) 150 to theprocessor 120. Thesystem 100 can include acache 122 of high-speed memory connected directly with, in close proximity to, or integrated as part of theprocessor 120. Thesystem 100 copies data from thememory 130 and/or thestorage device 160 to thecache 122 for quick access by theprocessor 120. In this way, thecache 122 provides a performance boost that avoidsprocessor 120 delays while waiting for data. These and other modules can control or be configured to control theprocessor 120 to perform various actions.Other system memory 130 may be available for use as well. Thememory 130 can include multiple different types of memory with different performance characteristics. It can be appreciated that the disclosure may operate on acomputing device 100 with more than oneprocessor 120 or on a group or cluster of computing devices networked together to provide greater processing capability. Theprocessor 120 can include any general-purpose processor and a hardware module or software module, such asmodule 1 162,module 2 164, andmodule 3 166 stored instorage device 160, configured to control theprocessor 120 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Theprocessor 120 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric. - The
system bus 110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. A basic input/output (BIOS) stored inROM 140 or the like, may provide the basic routine that helps to transfer information between elements within thecomputing device 100, such as during start-up. Thecomputing device 100 further includesstorage devices 160, such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive or the like. Thestorage device 160 can includesoftware modules processor 120. Other hardware or software modules are contemplated. Thestorage device 160 is connected to thesystem bus 110 by a drive interface. The drives and the associated computer readable storage media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for thecomputing device 100. In one aspect, a hardware module that performs a particular function includes the software component stored in a non-transitory computer-readable medium in connection with the necessary hardware components, such as theprocessor 120,bus 110,display 170, and so forth, to carry out the function. The basic components are known to those of skill in the art and appropriate variations are contemplated depending on the type of device, such as whether thedevice 100 is a small, handheld computing device, a desktop computer, or a computer server. - Although some implementations employ the
hard disk 160, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAMs) 150, read only memory (ROM) 140, a cable or wireless signal containing a bit stream and the like, may also be used in the exemplary operating environment. Non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se. - To enable user interaction with the
computing device 100, aninput device 190 represents any number of input mechanisms, such as a microphone for speech, a touchsensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. Anoutput device 170 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with thecomputing device 100. Thecommunications interface 180 generally governs and manages the user input and system output. There is no restriction on operating on any particular hardware arrangement, and therefore, the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed. - For clarity of explanation, the illustrative system embodiment is presented as including individual functional blocks, including functional blocks labeled as a “processor” or
processor 120. The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software and hardware, such as aprocessor 120, that is purpose-built to operate as equivalent to software executing on a general-purpose processor. For example the functions of one or more processors presented inFIG. 1A may be provided by a single shared processor or multiple processors. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Illustrative embodiments may include microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) 140 for storing software performing the operations discussed below, and random access memory (RAM) 150 for storing results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry, in combination with a general purpose DSP circuit, may also be provided. - The logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations, or procedures (generally “instructions”) running on a programmable circuit within a general use computer, (2) a sequence of computer implemented steps, operations, or procedures running on a specific-use programmable circuit; and/or (3) interconnected machine modules or program engines within the programmable circuits. The
system 100 shown inFIG. 1A can practice all or part of the recited methods, can be a part of the recited systems, and/or can operate according to instructions in the recited non-transitory computer-readable storage media. Such logical operations can be implemented as modules configured to control theprocessor 120 to perform particular functions according to the programming of the module. For example,FIG. 1A illustrates threemodules Mod1 162, Mod2 164 andMod3 166 which are modules configured to control theprocessor 120. These modules may be stored on thestorage device 160 and loaded intoRAM 150 ormemory 130 at runtime, or may be stored as would be known in the art in other computer-readable memory locations. - Content delivery describes the delivery of media “content” such as audio or video or computer software and games over a delivery medium such as broadcasting or the Internet. Content delivery has two parts: delivery of finished content for digital distribution, with its accompanying metadata; and delivery of the end product to the end-user.
- Streaming media is media that is received by and presented to an end-user while being delivered by a streaming provider. The name refers to the delivery method of the medium rather than to the medium itself. The distinction is usually applied to media that are distributed over telecommunications networks, e.g., “on-line,” as most other delivery systems are either inherently streaming (e.g., radio, television) or inherently non-streaming (e.g., books, video cassettes, audio CDs). Hereinafter, on-line media and on-line streaming will be referred to as “media” and “streaming.” The verb ‘to stream’ is also derived from this term, meaning to deliver media in this manner. Internet television is a commonly streamed medium.
- Adaptive Bitrate Streaming (or Adaptive Streaming) is a technique used in streaming media. While other streaming technologies utilize protocols such Real Time Streaming Protocol (RTSP), adaptive streaming is primarily based on HTTP to work over networks such as the Internet. Adaptive streaming technology can detect a playback device bandwidth and other factors in real time and adjust the quality of a video stream accordingly. It typically involves the use of an encoder that encodes a single source video at multiple bit rates. The player switches between streaming the different bitrates depending on available resources. Post-production houses, content delivery networks, and studios use adaptive bit rate technology to provide higher quality video using less manpower and fewer resources.
- Versions of adaptive bit rate streaming are used by Adobe Systems, Apple, Microsoft, and Octoshape. Both Adobe Flash Player and Flash Media Server support adaptive bit-rate streaming over the traditional RTMP protocol, as well as HTTP, similar to the HTTP-based solutions from Apple and Microsoft. HTTP-based streaming has the advantage of not requiring firewall ports being opened outside of the normal ports used by web browsers. HTTP-based streaming also allows video fragments to be cached by browsers, proxies, and CDNs. Apple's implementation of HTTP streaming, Http Live Streaming (HLS) is provided as part of their Quick-Time X, and iPhone software systems. Apple's newly released iPad also employs HLS. HLS works by breaking down streams into multiple small HTTP-based file downloads that load at variable adaptive rates. HTTP adaptive bit rate streaming is based on HTTP progressive download, but contrary to the previous approach, here the files are very small, so that they can be compared to the streaming of packets, much like the case of using RTSP and RTP.
- Smooth Streaming is an Internet Information Services (IIS) media services extension that enables adaptive streaming of media to clients over HTTP. The format specification is based on the ISO Base Media File Format and standardized by Microsoft as the Protected Interoperable File Format. Microsoft provides Smooth Streaming Client software development kits for Silver-light and Windows Phone 7. IIS Media Services 4.0, released in November 2010, introduced a feature which enables Smooth Streaming H.264/AAC videos, both live and on-demand, to be dynamically repackaged into the HLS format and delivered to iOS devices without the need for re-encoding. Octoshape's technology supports adaptive bitrate streaming using formats like Flash, Windows and HLS. Ocotoshape's technology selects bit rates on startup, but rarely makes use of the rate shifting technology during a viewing session.
- Having disclosed some components of a computing system, the disclosure now turns to
FIG. 1B , which illustrates an example mediastreaming system embodiment 1000. The communications between the entities depicted inFIG. 1B can occur via one or more wired or wireless networks. Further, the devices can communicate directly, via the World Wide Web, or via an application programming interface (API). Aplayback device 1002, such as a tablet device, smartphone, desktop or portable computer, set-top box, Internet-enabled television, media center PC, or any other suitable device, first makes a request to amedia server 1004 for playback of media content, such as an episode of Star Trek. Typically, themedia server 1004 resides in a network, such as the Internet, but can reside entirely or partially in any of the playback devices or a local network, for example. - In HLS, the
media server 1004 receives the request and generates or fetches amanifest file 1006 to send to theplayback device 1002 in response to the request. Example formats for themanifest file 1006 include the m3u and m3u8 formats. An m3u8 file is a specific variation of an m3u encoded using UTF-8 Unicode characters. The m3u file format was initially used in the WINAMP Media Player for only audio files, but has since become a de facto playlist standard on many media devices for local and/or streaming media, including music and other media types. Many media devices employ variations of the m3u file format, any of which can be used according to the principles set forth herein. A manifest file can include links to media files as relative or absolute paths to a location on a local file system, or as a network address, such as a Uniform Resource Identifier (URI) path. The m3u8 format is used herein as a non-limiting example to illustrate the principles of manifest files. - In telecommunications and computing, bitrate (sometimes written “bit rate,” “data rate”) is the number of bits conveyed or processed per unit of time. The bit rate is quantified using the bits per second (bit/s or bps) unit, often in conjunction with an SI prefix such as kilo- (kbit/s or kbps), mega- (Mbit/s or Mbps), giga- (Gbit/s or Gbps) or tera- (Tbit/s or Tbps). Note that, unlike many other computer-related units, 1 kbit/s is traditionally defined as 1,000 bit/s, not 1,024 bit/s, etc.
- In digital multimedia, bit rate can refer to the number of bits used per unit of playback time to represent a continuous medium such as audio or video after source coding (data compression). The encoding bit rate of a multimedia file is the size of a multimedia file in bytes divided by the playback time of the recording (in seconds), multiplied by eight. In case of real time streaming multimedia, the encoding bit rate is the goodput that is required to avoid interrupts.
- Goodput or data transfer rate refers to the achieved average net bit rate that is delivered to the application layer, exclusive of all protocol overhead, data packets retransmissions, etc. For example, in the case of file transfer, the goodput corresponds to the achieved file transfer rate. The file transfer rate in bit/s can be calculated as the file size (in bytes), divided by the file transfer time (in seconds), and multiplied by eight.
- By default the typical starting bitrate for adaptive bitrate streaming is the lowest bitrate in the dynamic profile set. This means that each playback device starts playing at the lowest bitrate. The playback device then switches to a higher bitrate as conditions allow. However, the time that it takes to switch to a higher bitrate from the initial bitrate can be as long as fifteen (15) seconds.
- One problem with this approach is that under the initial bitrate, some playback devices will be playing a lower quality video than what the current bandwidth to that device allows. Users have a finite tolerance for slow streaming and will abandon streams that are perceived slow. This consequence is avoidable where the bandwith to support a higher bitrate is available. Conversely, it is important to start playback devices with consistently lower communications bandwidths with a starting video bitrate that will stream properly for those devices.
- Referring to
FIG. 2 ,methods 200 of the technology are illustrated. In such methods, the technology can track thebitrate history 210 of the player over time. Tracking the bitrate history of the player can include one or more of: updating the history; sampling the bitrate either periodically or aperiodically. It can also include tracking the bitrate on player startup; tracking the bitrate on a per session basis; and averaging the bitrate over a period. For example, where the bitrate is averaged over a period, the periods can be every fifteen (15) seconds for the first minute of play, and then every minute thereafter with just the average over each period tracked. - Tracked bitrate values can be stored in a cookie on the player device. Bitrate tracking can be performed by the player, or can be performed elsewhere, e.g., in a Content Management System (CMS). In a player such as the player disclosed in the '210 application, the player can obtain the bitrate history from the player skin. Bitrate history can also be user dependent.
- With the bitrate history available, the technology can determine a starting bitrate from the
bitrate history 220. The technology can use the most recent bitrate as the startup bitrate. The technology can apply a function to a plurality of rates to determine the startup bitrate. For example, the function can be the average bitrate over the last N tracked bitrates, over the last X time period, or a combination of both. The average can be weighted, e.g., to give more weight to more recent bitrates. The function can be the statistical mode among tracked bitrates. The function can be related to the maximum bitrate in each of the last N sessions, e.g., the lowest max bitrate over the last five (5) sessions. In some implementations, other factors can be used in determining the startup bitrate including the nature of the player hardware, the duration of the content to be streamed, . . . . - The starting bitrate can be capped, e.g., to account for users who change location between a higher bandwidth environment and a lower bandwidth environment. For example, a higher bandwidth environment can be a home at 5 Mbps or an office at 20 Mbps; while a lower bandwidth environment can be a public space such as WiFi in a coffee shop at 1.5 Mbps or lower. In implementations where a capped startup bitrate is used, the technology can determine a first bitrate as described above, and then compare the first determined bitrate with the cap, using the lower of the two. The same approach can be used for minimum starting bitrate.
- The technology can determine if streaming according to the determined bitrate is enabled 230. A bitrate memory enabled flag can be used to indicate if streaming according to the determined bitrate is enabled. While shown as following the determine bitrate from
bitrate history 220 step, determining if the bitrate memory flag is enabled can be a precondition to any other step of the technology. If the bitrate memory enabled flag (when used) is set, the technology can initiate streaming according to thedetermined bitrate 240.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/098,236 US8516144B2 (en) | 2011-04-29 | 2011-04-29 | Startup bitrate in adaptive bitrate streaming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/098,236 US8516144B2 (en) | 2011-04-29 | 2011-04-29 | Startup bitrate in adaptive bitrate streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120278496A1 true US20120278496A1 (en) | 2012-11-01 |
US8516144B2 US8516144B2 (en) | 2013-08-20 |
Family
ID=47068844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/098,236 Active 2031-07-09 US8516144B2 (en) | 2011-04-29 | 2011-04-29 | Startup bitrate in adaptive bitrate streaming |
Country Status (1)
Country | Link |
---|---|
US (1) | US8516144B2 (en) |
Cited By (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130058480A1 (en) * | 2011-09-01 | 2013-03-07 | Rovi Corp. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US20130064288A1 (en) * | 2010-05-17 | 2013-03-14 | Anatoly Adolf Fradis | Secured content distribution |
US20130097220A1 (en) * | 2011-10-14 | 2013-04-18 | Bally Gaming, Inc. | Streaming bitrate control and management |
CN103248962A (en) * | 2013-04-23 | 2013-08-14 | 华为技术有限公司 | Method, equipment and system for obtaining streaming media data |
US20140164482A1 (en) * | 2012-12-11 | 2014-06-12 | Morega Systems Inc. | Video server with bookmark processing and methods for use therewith |
WO2014134309A1 (en) * | 2013-03-01 | 2014-09-04 | Intel IP Corporation | Link-aware streaming adaptation |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
US20140380376A1 (en) * | 2013-03-15 | 2014-12-25 | General Instrument Corporation | Method and apparatus for streaming video |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US20150172344A1 (en) * | 2013-12-17 | 2015-06-18 | Electronics And Telecommunications Research Institute | Method and system for generating bandwidth adaptive segment file for http based multimedia streaming service |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9124773B2 (en) | 2009-12-04 | 2015-09-01 | Sonic Ip, Inc. | Elementary bitstream cryptographic material transport systems and methods |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
US9184920B2 (en) | 2006-03-14 | 2015-11-10 | Sonic Ip, Inc. | Federated digital rights management scheme including trusted systems |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9197685B2 (en) | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9201922B2 (en) | 2009-01-07 | 2015-12-01 | Sonic Ip, Inc. | Singular, collective and automated creation of a media guide for online content |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US9369687B2 (en) | 2003-12-08 | 2016-06-14 | Sonic Ip, Inc. | Multimedia distribution system for multimedia files with interleaved media chunks of varying types |
US20160173553A1 (en) * | 2014-12-12 | 2016-06-16 | Arris Enterprises, Inc. | Throttling content download in adaptive http live streaming |
US9613042B1 (en) * | 2012-04-09 | 2017-04-04 | Conviva Inc. | Dynamic generation of video manifest files |
WO2017062655A1 (en) * | 2015-10-06 | 2017-04-13 | Kodiak Networks, Inc. | System and method for media encoding scheme (mes) selection |
US9804668B2 (en) | 2012-07-18 | 2017-10-31 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
US9813470B2 (en) | 2014-04-07 | 2017-11-07 | Ericsson Ab | Unicast ABR streaming |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US10032485B2 (en) | 2003-12-08 | 2018-07-24 | Divx, Llc | Multimedia distribution system |
US10057105B2 (en) | 2004-11-23 | 2018-08-21 | Kodiak Networks, Inc. | Architecture framework to realize push-to-X services using cloudbased storage services |
US10110342B2 (en) | 2015-10-06 | 2018-10-23 | Kodiak Networks Inc. | System and method for tuning PTT over LTE according to QoS parameters |
US10116691B2 (en) | 2004-11-23 | 2018-10-30 | Kodiak Networks, Inc. | VoIP denial-of-service protection mechanisms from attack |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10154074B1 (en) | 2006-11-15 | 2018-12-11 | Conviva Inc. | Remediation of the impact of detected synchronized data requests in a content delivery network |
US10178043B1 (en) | 2014-12-08 | 2019-01-08 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
US10182096B1 (en) | 2012-09-05 | 2019-01-15 | Conviva Inc. | Virtual resource locator |
US10277669B1 (en) * | 2016-06-06 | 2019-04-30 | Amazon Technologies, Inc. | Communication channel between device and CDN during playback |
US10277928B1 (en) * | 2015-10-06 | 2019-04-30 | Amazon Technologies, Inc. | Dynamic manifests for media content playback |
US10284633B1 (en) * | 2015-11-11 | 2019-05-07 | Berryville Holdings, LLC | Systems and methods for implementing an on-demand computing network environment utilizing a bridge device |
US10305955B1 (en) | 2014-12-08 | 2019-05-28 | Conviva Inc. | Streaming decision in the cloud |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US20190394534A1 (en) * | 2018-06-21 | 2019-12-26 | Dish Network L.L.C. | User device control of transmission parameters |
US10591984B2 (en) | 2012-07-18 | 2020-03-17 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
US20200177652A1 (en) * | 2018-12-03 | 2020-06-04 | At&T Intellectual Property I, L.P. | Video streaming at mobile edge |
US10708587B2 (en) | 2011-08-30 | 2020-07-07 | Divx, Llc | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
US10721285B2 (en) | 2016-03-30 | 2020-07-21 | Divx, Llc | Systems and methods for quick start-up of playback |
US10735815B1 (en) | 2014-12-08 | 2020-08-04 | Conviva Inc. | Per-viewer engagement-based video optimization |
US10771855B1 (en) | 2017-04-10 | 2020-09-08 | Amazon Technologies, Inc. | Deep characterization of content playback systems |
EP3721599A1 (en) * | 2017-12-08 | 2020-10-14 | Sling Media Pvt Ltd. | Systems and methods for selecting an initial streaming bitrate |
US10873615B1 (en) | 2012-09-05 | 2020-12-22 | Conviva Inc. | Source assignment based on network partitioning |
US10902883B2 (en) | 2007-11-16 | 2021-01-26 | Divx, Llc | Systems and methods for playing back multimedia files incorporating reduced index structures |
US10931982B2 (en) | 2011-08-30 | 2021-02-23 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
WO2022002003A1 (en) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | Information determining method and device |
US11457054B2 (en) | 2011-08-30 | 2022-09-27 | Divx, Llc | Selection of resolutions for seamless resolution switching of multimedia content |
EP4047937A4 (en) * | 2019-10-17 | 2022-12-14 | Beijing Dajia Internet Information Technology Co., Ltd. | Initial bit rate determining method and apparatus, electronic device and storage medium |
US11962825B1 (en) | 2022-09-27 | 2024-04-16 | Amazon Technologies, Inc. | Content adjustment system for reduced latency |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110064129A1 (en) * | 2009-09-16 | 2011-03-17 | Broadcom Corporation | Video capture and generation at variable frame rates |
US8812662B2 (en) | 2011-06-29 | 2014-08-19 | Sonic Ip, Inc. | Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content |
US9252916B2 (en) | 2012-02-13 | 2016-02-02 | Affirmed Networks, Inc. | Mobile video delivery |
US9014027B2 (en) * | 2012-02-29 | 2015-04-21 | Cisco Technology, Inc. | Multi-interface adaptive bit rate session management |
US9936267B2 (en) | 2012-08-31 | 2018-04-03 | Divx Cf Holdings Llc | System and method for decreasing an initial buffering period of an adaptive streaming system |
US9654528B1 (en) | 2013-03-11 | 2017-05-16 | Google Inc. | Dynamic bitrate selection for streaming media |
US9923942B2 (en) | 2014-08-29 | 2018-03-20 | The Nielsen Company (Us), Llc | Using messaging associated with adaptive bitrate streaming to perform media monitoring for mobile platforms |
WO2017092805A1 (en) * | 2015-12-02 | 2017-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Data rate adaptation for multicast delivery of streamed content |
EP3747174B1 (en) | 2018-02-02 | 2023-06-07 | Microsoft Technology Licensing, LLC | Estimating bandwidth savings for adaptive bit rate streaming |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019178A1 (en) * | 2007-07-10 | 2009-01-15 | Melnyk Miguel A | Adaptive bitrate management for streaming media over packet networks |
US20090254657A1 (en) * | 2007-07-10 | 2009-10-08 | Melnyk Miguel A | Adaptive Bitrate Management for Streaming Media Over Packet Networks |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290351B2 (en) | 2001-04-03 | 2012-10-16 | Prime Research Alliance E., Inc. | Alternative advertising in prerecorded media |
DE10044051A1 (en) | 2000-09-01 | 2002-03-14 | Deutsche Telekom Ag | Method of financing advertising for multimedia content |
US7831469B2 (en) | 2003-04-03 | 2010-11-09 | International Business Machines Corporation | Verifying audio output at a client device |
US7437375B2 (en) | 2004-08-17 | 2008-10-14 | Symantec Operating Corporation | System and method for communicating file system events using a publish-subscribe model |
US8473617B2 (en) | 2004-12-31 | 2013-06-25 | Sony Corporation | Media client architecture for networked communication devices |
US8176534B2 (en) | 2005-12-30 | 2012-05-08 | General Instrument Corporation | Method and apparatus for provisioning a device to access digital rights management (DRM) services in a universal plug and play (UPnP) network |
US7421067B2 (en) | 2006-04-19 | 2008-09-02 | Emotive Communications, Inc. | System and methodology for peer-to-peer voice communication employing a pushed interactive multimedia announcement |
US8566503B2 (en) | 2006-08-25 | 2013-10-22 | Qnx Software Systems Limited | Multimedia filesystem having unified representation of content on diverse multimedia devices |
US8863083B2 (en) | 2006-10-10 | 2014-10-14 | Sap Ag | Presenting user interfaces based on messages |
US20080144604A1 (en) | 2006-12-14 | 2008-06-19 | Adobe Systems Incorporated | Interface-neutral communication architecture |
GB2470007A (en) | 2009-05-05 | 2010-11-10 | Aurix Ltd | Analysing non-deterministic results of a search query |
EP2430607A4 (en) | 2009-05-08 | 2013-04-17 | Univ Washington | ADVERTISING DURING ACCELERATED MULTIMEDIA REPRODUCTION |
US9479737B2 (en) | 2009-08-06 | 2016-10-25 | Echostar Technologies L.L.C. | Systems and methods for event programming via a remote media player |
US9026567B2 (en) | 2010-05-14 | 2015-05-05 | 2236008 Ontario Inc. | Publish-subscribe system |
US20120054045A1 (en) | 2010-08-26 | 2012-03-01 | Cbs Interactive, Inc. | Managing Media Playback |
-
2011
- 2011-04-29 US US13/098,236 patent/US8516144B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019178A1 (en) * | 2007-07-10 | 2009-01-15 | Melnyk Miguel A | Adaptive bitrate management for streaming media over packet networks |
US20090254657A1 (en) * | 2007-07-10 | 2009-10-08 | Melnyk Miguel A | Adaptive Bitrate Management for Streaming Media Over Packet Networks |
US7987285B2 (en) * | 2007-07-10 | 2011-07-26 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
US7991904B2 (en) * | 2007-07-10 | 2011-08-02 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
Cited By (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10032485B2 (en) | 2003-12-08 | 2018-07-24 | Divx, Llc | Multimedia distribution system |
US11355159B2 (en) | 2003-12-08 | 2022-06-07 | Divx, Llc | Multimedia distribution system |
US11159746B2 (en) | 2003-12-08 | 2021-10-26 | Divx, Llc | Multimedia distribution system for multimedia files with packed frames |
US10257443B2 (en) | 2003-12-08 | 2019-04-09 | Divx, Llc | Multimedia distribution system for multimedia files with interleaved media chunks of varying types |
US11735228B2 (en) | 2003-12-08 | 2023-08-22 | Divx, Llc | Multimedia distribution system |
US11017816B2 (en) | 2003-12-08 | 2021-05-25 | Divx, Llc | Multimedia distribution system |
US9369687B2 (en) | 2003-12-08 | 2016-06-14 | Sonic Ip, Inc. | Multimedia distribution system for multimedia files with interleaved media chunks of varying types |
US11509839B2 (en) | 2003-12-08 | 2022-11-22 | Divx, Llc | Multimedia distribution system for multimedia files with packed frames |
US11012641B2 (en) | 2003-12-08 | 2021-05-18 | Divx, Llc | Multimedia distribution system for multimedia files with interleaved media chunks of varying types |
US11297263B2 (en) | 2003-12-08 | 2022-04-05 | Divx, Llc | Multimedia distribution system for multimedia files with packed frames |
US11735227B2 (en) | 2003-12-08 | 2023-08-22 | Divx, Llc | Multimedia distribution system |
US10116691B2 (en) | 2004-11-23 | 2018-10-30 | Kodiak Networks, Inc. | VoIP denial-of-service protection mechanisms from attack |
US10057105B2 (en) | 2004-11-23 | 2018-08-21 | Kodiak Networks, Inc. | Architecture framework to realize push-to-X services using cloudbased storage services |
US9184920B2 (en) | 2006-03-14 | 2015-11-10 | Sonic Ip, Inc. | Federated digital rights management scheme including trusted systems |
US10878065B2 (en) | 2006-03-14 | 2020-12-29 | Divx, Llc | Federated digital rights management scheme including trusted systems |
US11886545B2 (en) | 2006-03-14 | 2024-01-30 | Divx, Llc | Federated digital rights management scheme including trusted systems |
US9798863B2 (en) | 2006-03-14 | 2017-10-24 | Sonic Ip, Inc. | Federated digital rights management scheme including trusted systems |
US10154074B1 (en) | 2006-11-15 | 2018-12-11 | Conviva Inc. | Remediation of the impact of detected synchronized data requests in a content delivery network |
US11495266B2 (en) | 2007-11-16 | 2022-11-08 | Divx, Llc | Systems and methods for playing back multimedia files incorporating reduced index structures |
US10902883B2 (en) | 2007-11-16 | 2021-01-26 | Divx, Llc | Systems and methods for playing back multimedia files incorporating reduced index structures |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
US10437896B2 (en) | 2009-01-07 | 2019-10-08 | Divx, Llc | Singular, collective, and automated creation of a media guide for online content |
US9672286B2 (en) | 2009-01-07 | 2017-06-06 | Sonic Ip, Inc. | Singular, collective and automated creation of a media guide for online content |
US9201922B2 (en) | 2009-01-07 | 2015-12-01 | Sonic Ip, Inc. | Singular, collective and automated creation of a media guide for online content |
US9124773B2 (en) | 2009-12-04 | 2015-09-01 | Sonic Ip, Inc. | Elementary bitstream cryptographic material transport systems and methods |
US10484749B2 (en) | 2009-12-04 | 2019-11-19 | Divx, Llc | Systems and methods for secure playback of encrypted elementary bitstreams |
US12184943B2 (en) | 2009-12-04 | 2024-12-31 | Divx, Llc | Systems and methods for secure playback of encrypted elementary bitstreams |
US9706259B2 (en) | 2009-12-04 | 2017-07-11 | Sonic Ip, Inc. | Elementary bitstream cryptographic material transport systems and methods |
US11102553B2 (en) | 2009-12-04 | 2021-08-24 | Divx, Llc | Systems and methods for secure playback of encrypted elementary bitstreams |
US10212486B2 (en) | 2009-12-04 | 2019-02-19 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
US20130064288A1 (en) * | 2010-05-17 | 2013-03-14 | Anatoly Adolf Fradis | Secured content distribution |
US9025659B2 (en) | 2011-01-05 | 2015-05-05 | Sonic Ip, Inc. | Systems and methods for encoding media including subtitles for adaptive bitrate streaming |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
US11638033B2 (en) | 2011-01-05 | 2023-04-25 | Divx, Llc | Systems and methods for performing adaptive bitrate streaming |
US12262051B2 (en) | 2011-01-05 | 2025-03-25 | Divx, Llc | Systems and methods for performing adaptive bitrate streaming |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
US9210481B2 (en) | 2011-01-05 | 2015-12-08 | Sonic Ip, Inc. | Systems and methods for performing smooth visual search of media encoded for adaptive bitrate streaming via hypertext transfer protocol using trick play streams |
US12250404B2 (en) | 2011-01-05 | 2025-03-11 | Divx, Llc | Systems and methods for performing adaptive bitrate streaming |
US9883204B2 (en) | 2011-01-05 | 2018-01-30 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
US10368096B2 (en) | 2011-01-05 | 2019-07-30 | Divx, Llc | Adaptive streaming systems and methods for performing trick play |
US10382785B2 (en) | 2011-01-05 | 2019-08-13 | Divx, Llc | Systems and methods of encoding trick play streams for use in adaptive streaming |
US10931982B2 (en) | 2011-08-30 | 2021-02-23 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
US11611785B2 (en) | 2011-08-30 | 2023-03-21 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
US10708587B2 (en) | 2011-08-30 | 2020-07-07 | Divx, Llc | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
US11457054B2 (en) | 2011-08-30 | 2022-09-27 | Divx, Llc | Selection of resolutions for seamless resolution switching of multimedia content |
US10856020B2 (en) | 2011-09-01 | 2020-12-01 | Divx, Llc | Systems and methods for distributing content using a common set of encryption keys |
US9621522B2 (en) | 2011-09-01 | 2017-04-11 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8918636B2 (en) | 2011-09-01 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for protecting alternative streams in adaptive bitrate streaming systems |
US11178435B2 (en) | 2011-09-01 | 2021-11-16 | Divx, Llc | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US11683542B2 (en) | 2011-09-01 | 2023-06-20 | Divx, Llc | Systems and methods for distributing content using a common set of encryption keys |
US10687095B2 (en) | 2011-09-01 | 2020-06-16 | Divx, Llc | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US10225588B2 (en) | 2011-09-01 | 2019-03-05 | Divx, Llc | Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys |
US9667684B2 (en) | 2011-09-01 | 2017-05-30 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US10244272B2 (en) | 2011-09-01 | 2019-03-26 | Divx, Llc | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8964977B2 (en) * | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US12244878B2 (en) | 2011-09-01 | 2025-03-04 | Divx, Llc | Systems and methods for distributing content using a common set of encryption keys |
US20130058480A1 (en) * | 2011-09-01 | 2013-03-07 | Rovi Corp. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US10341698B2 (en) | 2011-09-01 | 2019-07-02 | Divx, Llc | Systems and methods for distributing content using a common set of encryption keys |
US9247311B2 (en) | 2011-09-01 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US20130097220A1 (en) * | 2011-10-14 | 2013-04-18 | Bally Gaming, Inc. | Streaming bitrate control and management |
US10289811B2 (en) | 2012-01-06 | 2019-05-14 | Divx, Llc | Systems and methods for enabling playback of digital content using status associable electronic tickets and ticket tokens representing grant of access rights |
US11526582B2 (en) | 2012-01-06 | 2022-12-13 | Divx, Llc | Systems and methods for enabling playback of digital content using status associable electronic tickets and ticket tokens representing grant of access rights |
US9626490B2 (en) | 2012-01-06 | 2017-04-18 | Sonic Ip, Inc. | Systems and methods for enabling playback of digital content using electronic tickets and ticket tokens representing grant of access rights |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
US9613042B1 (en) * | 2012-04-09 | 2017-04-04 | Conviva Inc. | Dynamic generation of video manifest files |
US10148716B1 (en) | 2012-04-09 | 2018-12-04 | Conviva Inc. | Dynamic generation of video manifest files |
US9197685B2 (en) | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
US10591984B2 (en) | 2012-07-18 | 2020-03-17 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
US9804668B2 (en) | 2012-07-18 | 2017-10-31 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
US10848540B1 (en) | 2012-09-05 | 2020-11-24 | Conviva Inc. | Virtual resource locator |
US10182096B1 (en) | 2012-09-05 | 2019-01-15 | Conviva Inc. | Virtual resource locator |
US10873615B1 (en) | 2012-09-05 | 2020-12-22 | Conviva Inc. | Source assignment based on network partitioning |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US20140164482A1 (en) * | 2012-12-11 | 2014-06-12 | Morega Systems Inc. | Video server with bookmark processing and methods for use therewith |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
USRE49990E1 (en) | 2012-12-31 | 2024-05-28 | Divx, Llc | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US12177281B2 (en) | 2012-12-31 | 2024-12-24 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
USRE48761E1 (en) | 2012-12-31 | 2021-09-28 | Divx, Llc | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US10805368B2 (en) | 2012-12-31 | 2020-10-13 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US11438394B2 (en) | 2012-12-31 | 2022-09-06 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US10225299B2 (en) | 2012-12-31 | 2019-03-05 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US11785066B2 (en) | 2012-12-31 | 2023-10-10 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
WO2014134309A1 (en) * | 2013-03-01 | 2014-09-04 | Intel IP Corporation | Link-aware streaming adaptation |
US10721715B2 (en) | 2013-03-01 | 2020-07-21 | Apple Inc. | Link-aware streaming adaptation |
EP2962435A4 (en) * | 2013-03-01 | 2016-08-03 | Intel Ip Corp | Link-aware streaming adaptation |
CN104956631A (en) * | 2013-03-01 | 2015-09-30 | 英特尔Ip公司 | Link-aware streaming adaptation |
CN108494454A (en) * | 2013-03-01 | 2018-09-04 | 英特尔Ip公司 | Link-aware steaming transfer is adaptive |
US11849112B2 (en) | 2013-03-15 | 2023-12-19 | Divx, Llc | Systems, methods, and media for distributed transcoding video data |
US9191725B2 (en) * | 2013-03-15 | 2015-11-17 | Arris Technology, Inc. | Method and apparatus for streaming video |
US10715806B2 (en) | 2013-03-15 | 2020-07-14 | Divx, Llc | Systems, methods, and media for transcoding video data |
US10264255B2 (en) | 2013-03-15 | 2019-04-16 | Divx, Llc | Systems, methods, and media for transcoding video data |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US20140380376A1 (en) * | 2013-03-15 | 2014-12-25 | General Instrument Corporation | Method and apparatus for streaming video |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
JP2016516323A (en) * | 2013-04-23 | 2016-06-02 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | Method, device, and system for obtaining streaming media data |
CN103248962A (en) * | 2013-04-23 | 2013-08-14 | 华为技术有限公司 | Method, equipment and system for obtaining streaming media data |
EP2942970A4 (en) * | 2013-04-23 | 2016-04-20 | Huawei Tech Co Ltd | Streaming media data obtaining method, device, and system |
US10116572B2 (en) | 2013-04-23 | 2018-10-30 | Huawei Technologies Co., Ltd. | Method, device, and system for acquiring streaming media data |
US10462537B2 (en) | 2013-05-30 | 2019-10-29 | Divx, Llc | Network video streaming with trick play based on separate trick play files |
US9712890B2 (en) | 2013-05-30 | 2017-07-18 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US20150172344A1 (en) * | 2013-12-17 | 2015-06-18 | Electronics And Telecommunications Research Institute | Method and system for generating bandwidth adaptive segment file for http based multimedia streaming service |
US9838452B2 (en) * | 2013-12-17 | 2017-12-05 | Electronics And Telecommunications Research Institute | Method and system for generating bandwidth adaptive segment file for HTTP based multimedia streaming service |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US10321168B2 (en) | 2014-04-05 | 2019-06-11 | Divx, Llc | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US11711552B2 (en) | 2014-04-05 | 2023-07-25 | Divx, Llc | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9813470B2 (en) | 2014-04-07 | 2017-11-07 | Ericsson Ab | Unicast ABR streaming |
US10178043B1 (en) | 2014-12-08 | 2019-01-08 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
US11805296B2 (en) | 2014-12-08 | 2023-10-31 | Conviva Inc. | Per-viewer engagement-based video optimization |
US10887363B1 (en) | 2014-12-08 | 2021-01-05 | Conviva Inc. | Streaming decision in the cloud |
US10305955B1 (en) | 2014-12-08 | 2019-05-28 | Conviva Inc. | Streaming decision in the cloud |
US10848436B1 (en) | 2014-12-08 | 2020-11-24 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
US10735815B1 (en) | 2014-12-08 | 2020-08-04 | Conviva Inc. | Per-viewer engagement-based video optimization |
US20160173553A1 (en) * | 2014-12-12 | 2016-06-16 | Arris Enterprises, Inc. | Throttling content download in adaptive http live streaming |
US11778014B2 (en) * | 2014-12-12 | 2023-10-03 | Arris Enterprises Llc | Throttling content download in adaptive HTTP live streaming |
US10277928B1 (en) * | 2015-10-06 | 2019-04-30 | Amazon Technologies, Inc. | Dynamic manifests for media content playback |
US10110342B2 (en) | 2015-10-06 | 2018-10-23 | Kodiak Networks Inc. | System and method for tuning PTT over LTE according to QoS parameters |
WO2017062655A1 (en) * | 2015-10-06 | 2017-04-13 | Kodiak Networks, Inc. | System and method for media encoding scheme (mes) selection |
US10218460B2 (en) | 2015-10-06 | 2019-02-26 | Kodiak Networks, Inc. | System and method for improved push-to-talk communication performance |
US10129307B2 (en) | 2015-10-06 | 2018-11-13 | Kodiak Networks Inc. | PTT network with radio condition aware media packet aggregation scheme |
US10230777B2 (en) | 2015-10-06 | 2019-03-12 | Kodiak Networks Inc. | System and method for media encoding scheme (MES) selection |
US11616830B1 (en) * | 2015-11-11 | 2023-03-28 | Cyber Ip Holdings, Llc | Systems and methods for implementing an on-demand computing network environment utilizing a bridge device |
US12047437B1 (en) * | 2015-11-11 | 2024-07-23 | Cyber Ip Holdings, Llc | Systems and methods for implementing an on-demand computing network environment utilizing a bridge device |
US10284633B1 (en) * | 2015-11-11 | 2019-05-07 | Berryville Holdings, LLC | Systems and methods for implementing an on-demand computing network environment utilizing a bridge device |
US10979490B1 (en) * | 2015-11-11 | 2021-04-13 | Berryville Holdings, LLC | Systems and methods for implementing an on-demand computing network environment utilizing a bridge device |
US12041113B2 (en) | 2016-03-30 | 2024-07-16 | Divx, Llc | Systems and methods for quick start-up of playback |
US10721285B2 (en) | 2016-03-30 | 2020-07-21 | Divx, Llc | Systems and methods for quick start-up of playback |
US10277669B1 (en) * | 2016-06-06 | 2019-04-30 | Amazon Technologies, Inc. | Communication channel between device and CDN during playback |
US10595070B2 (en) | 2016-06-15 | 2020-03-17 | Divx, Llc | Systems and methods for encoding video content |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US12126849B2 (en) | 2016-06-15 | 2024-10-22 | Divx, Llc | Systems and methods for encoding video content |
US11729451B2 (en) | 2016-06-15 | 2023-08-15 | Divx, Llc | Systems and methods for encoding video content |
US11483609B2 (en) | 2016-06-15 | 2022-10-25 | Divx, Llc | Systems and methods for encoding video content |
US11343300B2 (en) | 2017-02-17 | 2022-05-24 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US10771855B1 (en) | 2017-04-10 | 2020-09-08 | Amazon Technologies, Inc. | Deep characterization of content playback systems |
EP3721599A1 (en) * | 2017-12-08 | 2020-10-14 | Sling Media Pvt Ltd. | Systems and methods for selecting an initial streaming bitrate |
US11962869B2 (en) | 2018-06-21 | 2024-04-16 | Dish Network L.L.C. | User device control of transmission parameters |
US11659252B2 (en) | 2018-06-21 | 2023-05-23 | Dish Network L.L.C. | User device control of transmission parameters |
US20190394534A1 (en) * | 2018-06-21 | 2019-12-26 | Dish Network L.L.C. | User device control of transmission parameters |
US11463782B2 (en) * | 2018-06-21 | 2022-10-04 | Dish Network L.L.C. | User device control of transmission parameters |
US20200177652A1 (en) * | 2018-12-03 | 2020-06-04 | At&T Intellectual Property I, L.P. | Video streaming at mobile edge |
US11128682B2 (en) * | 2018-12-03 | 2021-09-21 | At&T Intellectual Property I, L.P. | Video streaming at mobile edge |
EP4047937A4 (en) * | 2019-10-17 | 2022-12-14 | Beijing Dajia Internet Information Technology Co., Ltd. | Initial bit rate determining method and apparatus, electronic device and storage medium |
WO2022002003A1 (en) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | Information determining method and device |
US11962825B1 (en) | 2022-09-27 | 2024-04-16 | Amazon Technologies, Inc. | Content adjustment system for reduced latency |
Also Published As
Publication number | Publication date |
---|---|
US8516144B2 (en) | 2013-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516144B2 (en) | Startup bitrate in adaptive bitrate streaming | |
KR102110627B1 (en) | Methods and devices for bandwidth allocation in adaptive bitrate streaming | |
CA3031584C (en) | Client feedback enhanced methods and devices for efficient adaptive bitrate streaming | |
TWI623226B (en) | Directory limit based system and method for storing media segments | |
JP6014870B2 (en) | Method and system for real-time transmax conversion of streaming media content | |
US8965960B2 (en) | Client device with video player and client-side proxy and methods for use therewith | |
US9060207B2 (en) | Adaptive video streaming over a content delivery network | |
US9635080B2 (en) | Contextually aware client buffer thresholds | |
US9516078B2 (en) | System and method for providing intelligent chunk duration | |
US9386331B2 (en) | Optimizing video clarity | |
US9015779B2 (en) | Streaming video server with segment length control and methods for use therewith | |
CA2988320C (en) | Http live streaming (hls) video client synchronization | |
US8510460B2 (en) | Reduced video player start-up latency in HTTP live streaming and similar protocols | |
US20150172161A1 (en) | Real-time processing capability based quality adaptation | |
US20150256600A1 (en) | Systems and methods for media format substitution | |
US10673907B2 (en) | Systems and methods for providing DLNA streaming to client devices | |
US9338204B2 (en) | Prioritized side channel delivery for download and store media | |
US9294821B2 (en) | Scrubbing noise remover and methods for use therewith | |
Lazic et al. | One Implementation of adaptive streaming over HTTP on Android DTV platform | |
KR20160113270A (en) | Signaling and handling of forensic marking for adaptive streaming | |
EP3292698A1 (en) | Http live streaming (hls) video client synchronization | |
CN115604248A (en) | File transmission method and device | |
WEIWEI | An experimental study of video uploading from mobile devices with HTTP streaming | |
FR3074591A1 (en) | METHOD FOR MANAGING THE CONNECTIONS OF AN ELECTRONIC DEVICE. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CBS INTERACTIVE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HSU, JAMES KONG;REEL/FRAME:026204/0533 Effective date: 20110429 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |