US20120278496A1 - Startup Bitrate In Adaptive Bitrate Streaming - Google Patents

Startup Bitrate In Adaptive Bitrate Streaming Download PDF

Info

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
Application number
US13/098,236
Other versions
US8516144B2 (en
Inventor
James Kong Hsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CBS Interactive Inc
Original Assignee
CBS Interactive Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CBS Interactive Inc filed Critical CBS Interactive Inc
Priority to US13/098,236 priority Critical patent/US8516144B2/en
Assigned to CBS INTERACTIVE, INC. reassignment CBS INTERACTIVE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HSU, JAMES KONG
Publication of US20120278496A1 publication Critical patent/US20120278496A1/en
Application granted granted Critical
Publication of US8516144B2 publication Critical patent/US8516144B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/4424Monitoring 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding 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

Streaming media at an adaptive bitrate streaming media player. Tracking a bitrate history of the player. Determining a startup bitrate from the bitrate history. Streaming at the determined bitrate. Tracking a bitrate history of the player can include storing tracked bitrates in a cookie accessible by the player; and determining a startup bitrate can include determining a startup bitrate from the cookie. Determining a startup bitrate can include determining an average tracked bitrate over the last N tracked bitrates. The average tracked bitrate can be weighted toward more recent tracked bitrates. Determining a startup bitrate can include determining a maximum startup bitrate. The bitrate history can include the maximum bitrate of the player over the last X sessions; and the maximum startup bitrate can be the lowest maximum bitrate over the last X sessions. The maximum startup bitrate can be the mode among maximum bitrates over the last X sessions.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • 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”).
  • FIELD OF THE TECHNOLOGY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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, 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. Other system memory 130 may be available for use as well. 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. 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 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.
  • 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, 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. In some instances, 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.
  • 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 a processor 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 in FIG. 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 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. 1A illustrates three modules Mod1 162, Mod2 164 and Mod3 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). 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 media streaming system embodiment 1000. The communications between the entities depicted in FIG. 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). 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. Typically, 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.
  • In HLS, 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. 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 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.
  • 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 the determined bitrate 240.

Claims (21)

1. A computer-implemented method for streaming media at an adaptive bitrate streaming media player, the method comprising:
tracking a bitrate history of the player;
determining a startup bitrate from the bitrate history; and
streaming at the determined bitrate.
2. The method of claim 1, wherein:
tracking a bitrate history of the player comprises storing tracked bitrates in a cookie accessible by the player; and
determining a startup bitrate from the bitrate history comprises determining a startup bitrate from at least the cookie accessible by the player.
3. The method of claim 1, wherein determining a startup bitrate from the bitrate history comprises:
determining an average tracked bitrate over the last N tracked bitrates.
4. The method of claim 3, wherein the determined average tracked bitrate is weighted toward more recent tracked bitrates.
5. The method of claim 1, wherein determining a startup bitrate from the bitrate history comprises:
determining a first startup bitrate, and
determining an a maximum startup bitrate.
6. The method of claim 5 wherein:
tracking a bitrate history of the player comprises tracking a the maximum bitrate of the player over the last X sessions; and
determining an a maximum startup bitrate comprises determining the lowest maximum bitrate over the last X sessions; and
streaming at the determined bitrate comprises streaming at the lower of the first startup bitrate and the maximum startup bitrate.
7. The method of claim 5 wherein:
tracking a bitrate history of the player comprises tracking a the maximum bitrate of the player over the last X sessions; and
determining an a maximum startup bitrate comprises determining the mode among maximum bitrates over the last X sessions; and
streaming at the determined bitrate comprises streaming at the lower of the first startup bitrate and the maximum startup bitrate.
8. A computer program product for streaming media at an adaptive bitrate streaming media player, the computer program product comprising:
non-transitory media storing instructions that when executed by a processor are operative to:
track a bitrate history of the player;
determine a startup bitrate from the bitrate history; and
stream at the determined bitrate.
9. The computer program product of claim 8, wherein:
tracking a bitrate history of the player comprises storing tracked bitrates in a cookie accessible by the player; and
determining a startup bitrate from the bitrate history comprises determining a startup bitrate from at least the cookie accessible by the player.
10. The computer program product of claim 8, wherein determining a startup bitrate from the bitrate history comprises:
determining an average tracked bitrate over the last N tracked bitrates.
11. The computer program product of claim 10, wherein the determined average tracked bitrate is weighted toward more recent tracked bitrates.
12. The computer program product of claim 8, wherein determining a startup bitrate from the bitrate history comprises:
determining an a maximum startup bitrate.
13. The computer program product of claim 12 wherein:
tracking a bitrate history of the player comprises tracking a the maximum bitrate of the player over the last X sessions; and
determining an a maximum startup bitrate comprises determining the lowest maximum bitrate over the last X sessions; and
streaming at the determined bitrate comprises streaming at the lower of the first startup bitrate and the maximum startup bitrate.
14. The computer program product of claim 12 wherein:
tracking a bitrate history of the player comprises tracking a the maximum bitrate of the player over the last X sessions; and
determining an a maximum startup bitrate comprises determining the mode among maximum bitrates over the last X sessions; and
streaming at the determined bitrate comprises streaming at the lower of the first startup bitrate and the maximum startup bitrate.
15. A system for processing streaming media at an adaptive bitrate streaming media player, the system comprising:
a processor, and
non-transitory media storing instructions that when executed by a processor are operative to:
track a bitrate history of the player;
determine a startup bitrate from the bitrate history; and
stream at the determined bitrate.
16. The system of claim 15, wherein:
tracking a bitrate history of the player comprises storing tracked bitrates in a cookie accessible by the player; and
determining a startup bitrate from the bitrate history comprises determining a startup bitrate from at least the cookie accessible by the player.
17. The system of claim 15, wherein determining a startup bitrate from the bitrate history comprises:
determining an average tracked bitrate over the last N tracked bitrates.
18. The system of claim 17, wherein the determined average tracked bitrate is weighted toward more recent tracked bitrates.
19. The system of claim 15, wherein determining a startup bitrate from the bitrate history comprises:
determining an a maximum startup bitrate.
20. The system of claim 19 wherein:
tracking a bitrate history of the player comprises tracking a the maximum bitrate of the player over the last X sessions; and
determining an a maximum startup bitrate comprises determining the lowest maximum bitrate over the last X sessions; and
streaming at the determined bitrate comprises streaming at the lower of the first startup bitrate and the maximum startup bitrate.
21. The system of claim 19 wherein:
tracking a bitrate history of the player comprises tracking a the maximum bitrate of the player over the last X sessions; and
determining an a maximum startup bitrate comprises determining the mode among maximum bitrates over the last X sessions; and
streaming at the determined bitrate comprises streaming at the lower of the first startup bitrate and the maximum startup bitrate.
US13/098,236 2011-04-29 2011-04-29 Startup bitrate in adaptive bitrate streaming Active 2031-07-09 US8516144B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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