Patent classifications
H04N21/64769
Class-based intelligent multiplexing over unmanaged networks
Switched digital television programming for video-on-demand and other interactive television services are combined utilizing class-based, multi-dimensional decision logic to simultaneously optimize video quality and audio uniformity while minimizing latency during user interactions with the system over an unmanaged network. For example, a method of adapting content-stream bandwidth includes generating a content stream for transmission over an unmanaged network with varying capacity; sending the content stream, via the unmanaged network, toward a client device; monitoring the capacity of the unmanaged network; determining whether an aggregate bandwidth of an upcoming portion of the content stream fits the capacity, wherein the upcoming portion of the content stream corresponds to a respective frame time and includes video content and user-interface data; and, in response to a determination that the aggregate bandwidth does not fit the capacity, reducing a size of the upcoming portion of the content stream.
VIDEO COMPLEXITY DETECTION FOR NETWORK TRAFFIC MANAGEMENT
Aspects of the subject disclosure may include, for example, a method in which a processing system obtains encoded video content, and transmits the encoded video content over a network for presentation at a communication device by a video player executing on the communication device. The encoded video content is decoded in a decoding process by a decoder of an operating system of the communication device to generate decoded video content; the decoded video content is analyzed by a complexity analyzer of the operating system to generate a video complexity report. The method also includes receiving the video complexity report over the network from the communication device, and adjusting a data rate for the encoded video content, based at least in part on the video complexity report, to generate adjusted video content for transmission to the communication device. Other embodiments are disclosed.
Dynamic programming across multiple streams
Various implementations disclosed herein enable a more efficient allocation of one or more shared network resources (e.g., bandwidth, memory, processor time, etc.) amongst a number of client devices based on media content data complexity and client device resource constraints in order to better manage perceptual playback quality of adaptive streaming content. In some implementations, a method includes aligning sequences of one or more temporal segments; and, selecting segment representations for each temporal segment based on a combination of the sequence alignment and perceptual quality level values associated with available segment representations, such that a combination of resulting perceptual quality levels satisfies a joint quality criterion. Each sequence is associated with one of a number of client devices sharing a network resource. The one or more temporal segments of each sequence are used to provide segment representations of media content data to one of the client devices.
RS-DVR systems and methods for unavailable bitrate signaling and edge recording
A remote storage digital video recorder (RS-DVR) system is disclosed. The RS-DVR system includes a network interface to communicate data between the RS-DVR system and a subscriber system via a network, a file system module coupled to the network interface, an ingest agent coupled to the file system module to receive encoded media segments that represent media content files encoded at a plurality of different bitrates; and a storage architecture coupled to the file system to store the encoded media segments, resulting in stored media segments. The RS-DVR carries out a number of functions and operations to service multiple subscribers and associated subscriber systems, such as various storage device management operations, file structure techniques, assignment of recorded media to subscribers, file system indexing, and supporting shared and per-subscriber content rights.
Method and Apparatus for Distributed Broadcast Production
This disclosure describes methods and systems for managing video frame rate at a video production site. A video processor of a first video production site may process received video frames received via a network with dynamic transmission properties. A frame rate controller may monitor at an output buffer of the site, an average rate of processed video frames received from the video processor, and may detect that the average rate of processed video frames received from the video processor has decreased to a level below a predefined output frame rate for transmitting processed video frames to a third video production site. The frame rate controller may increase a rate of video frames being provided to the video processor, to a level above the predefined output frame rate to restore the average rate of processed video frames received from the video processor, to the predefined output frame rate.
Low latency visually lossless switching between different compression ratios
Systems and methods for low-delay video streaming featuring multiple video compression ratios. One embodiment of the system includes: a real-time video encoder (RT-VE) that receives an incoming high-definition uncompressed video (HD-UV), processes the incoming HD-UV according to first and second compression ratios, and sends the processed video over a resource reservation communication link to a real-time video decoder (RT-VD). The compression delay added by the RT-VE is below the duration of a single video frame, and the RT-VD converts the processed video into an outgoing HD-UV. Wherein on-the-fly switches between the first and second compression ratios, while continuing to receive the incoming HD-UV uninterruptedly, are both visually lossless switches and maintain a total delay between corresponding frames of the incoming HD-UV and the outgoing HD-UV that is below duration of two video frames.
SELECTION AND ALIGNMENT OF VIDEO SEGMENTS FOR ADAPTIVE STREAMING
Disclosed herein are system, apparatus, article of manufacture, method, and/or computer program product embodiments for selection and alignment of video segments for adaptive streaming. An embodiment operates by receiving one or more variant segments, the one or more variant segments including a first variant segment having a first bitrate and a second variant segment having a second bitrate for decoding and playback and generating a first packetized elementary stream (PES) collection based on the first variant segment and a second PES collection based on the second variant segment. The embodiment further operates by storing the generated first PES collection and second PES collection in a processing buffer; and determining a first out-of-tolerance splicing location and associated first out-of-tolerance offset between the first PES collection and the second PES collection based on a maximum tolerance offset.
Adaptive streaming aware network node, client and method with priority marking
In adaptive streaming, video segments are available in one or more quality levels, and each video segment is delivered to the client (103) in a quality level specified in a request received from that client (103). In order to reduce the risk for buffer underrun, an adaptive streaming aware network node (101) comprises: —session monitoring means (111) for collecting buffer fill information indicative for a buffer volume at the client (101) occupied by a video session; —priority calculation means (112) for determining a priority level for video segments of the session in function of the buffer fill information; and —video segment marking means (113) for marking video segments of the session with the priority level.
Adaptive bit rate for data transmission
An adaptive bit rate system for use in transmitting data at adaptable bit rates. The bit rate may be adjusted according to historical behaviors and/or past operational settings, such as but not limited to adjusting a requested bit rate to a different bit rate depending the historical behavior.
Handling disruption in content streams received at a player from a content retransmitter
A player receives encoded content of a first resolution level from a content retransmitter and monitors bandwidth of the communication connection utilized to receive the content. When the bandwidth changes with respect to various threshold values corresponding to various resolution levels, the player signals the content retransmitter to increase or decrease the encoding resolution for future portions. The player also locates related substitute content. When the player signals the content retransmitter to decrease the resolution below a minimum, the player plays the substitute content instead of the received content. Subsequently when the bandwidth is again such that player signals the content retransmitter to increase the resolution to the minimum or above, the player plays the received content instead of the substitute content. In various implementations, the player may obtain substitute content prior to or at the time the player determines to play substitute content.