Abstract:
A vide coding server may code a common video sequence into a plurality of coded data streams, each coded data stream representing the video sequence coded using coding parameters tailored for a respective transmission bit rate. The coding may cause a set of transmission units from among the coded data streams to include coded video data from a common point of the video sequence, and a first coded frame of each transmission unit of the set to be a synchronization frame. A manifest file may be built representing an index of transmission units of the respective coded data streams. The coded data streams and manifest file may be stored by the server for delivery to a client device. During download and decode, the chunks may be decoded efficiently even when switching among streams because the first frame in each chunk is a synchronization frame.
Abstract:
Video coding systems and methods protect against banding artifacts in decoded image content. According to the method, a video coder may identify, from content of pixel blocks of a frame of video data, which pixel blocks are likely to exhibit banding artifacts from the video coding/decoding processes. The video coder may assemble regions of the frame that are likely to exhibit banding artifacts based on the identified pixel blocks' locations with respect to each other. The video coder may apply anti-banding processing to pixel blocks within one or more of the identified regions and, thereafter, may code the processed frame by a compression operation.
Abstract:
Methods for organizing media data by automatically segmenting media data into hierarchical layers of scenes are described. The media data may include metadata and content having still image, video or audio data. The metadata may be content-based (e.g., differences between neighboring frames, exposure data, key frame identification data, motion data, or face detection data) or non-content-based (e.g., exposure, focus, location, time) and used to prioritize and/or classify portions of video. The metadata may be generated at the time of image capture or during post-processing. Prioritization information, such as a score for various portions of the image data may be based on the metadata and/or image data. Classification information such as the type or quality of a scene may be determined based on the metadata and/or image data. The classification and prioritization information may be metadata and may be used to organize the media data.
Abstract:
Systems and processes for improved video editing, summarization and navigation based on generation and analysis of metadata are described. The metadata may be content-based (e.g., differences between neighboring frames, exposure data, key frame identification data, motion data, or face detection data) or non-content-based (e.g., exposure, focus, location, time) and used to prioritize and/or classify portions of video. The metadata may be generated at the time of image capture or during post-processing. Prioritization information, such as a score for various portions of the image data may be based on the metadata and/or image data. Classification information such as the type or quality of a scene may be determined based on the metadata and/or image data. The classification and prioritization information may be metadata and may be used to automatically remove undesirable portions of the video, generate suggestions during editing or automatically generate summary video.
Abstract:
A method and system for caching and streaming media content, including predictively delivering and/or acquiring content is provided. In the system, client devices may be communicatively coupled in a network, and may access and share cached content. Video segments making up a media stream may be selectively delivered to the clients such that a complete media stream may be formed from the different segments delivered to the different clients. Video segments may be pushed by the server to the client or requested by the client according to a prioritization scheme, including downloading: partial items on a client's subscription log, lower quality version(s) of content before higher quality version(s), higher bitrate segments before lower bitrate segments, summaries of full-length content, advertisements and splash screens common to multiple video clips.
Abstract:
Techniques disclosed for managing video captured by an imaging device. Methods disclosed capture a video in response to a capture command received at the imaging device. Following a video capture, techniques for classifying the captured video based on feature(s) extracted therefrom, for marking the captured video based on the classification, and for generating a media item from the captured video according to the marking are disclosed. Accordingly, the captured video may be classified as representing a static event, and, as a result, a media item of a still image may be generated. Otherwise, the captured video may be classified as representing a dynamic event, and, as a result, a media item of a video may be generated.
Abstract:
Systems and methods are provided for processing high quality video data, such as data having a higher than standard bit depth, a high dynamic range, or a wide or custom color gamut, to be compatible with conventional encoders and decoders without significant loss of quality. High quality data is encoded into a plurality of layers with a base layer having the standard quality data and one or more higher quality layers. Decoding systems and methods may map the base layer to the dynamic range or color gamut of the enhancement layer, combine the layers, and map the combined layers to a dynamic range or color gamut appropriate for the target display. Each of the standard quality and the high quality data may be encoded as a plurality of tiers of increasing quality and reference lower level tiers as sources of prediction during predictive coding.
Abstract:
Systems and processes for improved video editing, summarization and navigation based on generation and analysis of metadata are described. The metadata may be content-based (e.g., differences between neighboring frames, exposure data, key frame identification data, motion data, or face detection data) or non-content-based (e.g., exposure, focus, location, time) and used to prioritize and/or classify portions of video. The metadata may be generated at the time of image capture or during post-processing. Prioritization information, such as a score for various portions of the image data may be based on the metadata and/or image data. Classification information such as the type or quality of a scene may be determined based on the metadata and/or image data. The classification and prioritization information may be metadata and may be used to automatically remove undesirable portions of the video, generate suggestions during editing or automatically generate summary video.
Abstract:
A method for processing media assets includes, given a first media asset, deriving characteristics from the first media asset, searching for other media assets having characteristics that correlate to the characteristics of the first media asset, when a match is found, deriving content corrections for the first media asset or a matching media asset from the other of the first media asset or the matching media asset, and correcting content of the first media asset or the matching media asset based on the content corrections.
Abstract:
Video coding systems and methods are provided that protect against various artifacts (e.g., banding artifacts) in decoded frame content. The embodiments to protect against introducing artifacts include pre-processing the input video frame, controlling the encoding parameters and/or post-processing the decoded video frame. A method for encoding a frame may include calculating a dark-scene score for the frame based on measured statistics of the frame. The dark-scene score may be compared to a threshold to determine if the banding artifacts may be present in the frame. Based on the comparison, filtering parameters for the frame may be altered to reduce the amount of noise filtered from the frame. The frame may be filtered based on the altered filtering parameters and encoded.