Patent application number | Description | Published |
20120093489 | SMOOTH REWIND MEDIA PLAYBACK - Systems and methods for smooth rewind playback of streamed media are provided. The media includes relatively-encoded frames and independently-encoded frames. The method includes receiving a rewind request indicating a rewind speed for rewind playback of the media, selectively dropping relatively-encoded frame(s) based on a receipt constraint and a decoding constraint to form a subset of the media, and receiving frames of the subset. The method further includes selecting, in a reverse order, a selected group of pictures (GOP) included within the subset, and decoding relatively-encoded frame(s) of the GOP in a forward sequential frame order. The method further includes caching relatively-encoded frame(s) of the GOP in the forward sequential frame order, and when caching, dropping and overwriting relatively-encoded frame(s) of the GOP selectively according to a memory constraint and/or a display constraint. The method further includes displaying relatively-encoded frame(s) of the GOP in a reverse sequential frame order. | 04-19-2012 |
20120147973 | LOW-LATENCY VIDEO DECODING - Techniques and tools for reducing latency in video decoding for real-time communication applications that emphasize low delay. For example, a tool such as a video decoder selects a low-latency decoding mode. Based on the selected decoding mode, the tool adjusts output timing determination, picture boundary detection, number of pictures in flight and/or jitter buffer utilization. For low-latency decoding, the tool can use a frame count syntax element to set initial output delay for a decoded picture buffer, and the tool can use auxiliary delimiter syntax elements to detect picture boundaries. To further reduce delay in low-latency decoding, the tool can reduce number of pictures in flight for multi-threaded decoding and reduce or remove jitter buffers. The tool receives encoded data, performs decoding according to the selected decoding mode to reconstruct pictures, and outputs the pictures for display. | 06-14-2012 |
20120154526 | STEREO 3D VIDEO SUPPORT IN COMPUTING DEVICES - Methods are disclosed for supporting stereo 3D video in computing devices. A computing device can receive stereo 3D video data employing a YUV color space and chroma subsampling, and can generate anaglyph video data therefrom. The anaglyph video data can be generated by unpacking the stereo 3D video data to left and right views and combining the left and right views into a single view via matrix transformation. The combining uses transform matrices that correspond to a video pipeline configuration. The transform matrix coefficients can depend on characteristics of the video pipeline components. Modified transform matrix coefficients can be used in response to changes in the video pipeline configuration. Video encoded in stereo 3D video data can be selected to be displayed in stereo 3D, anaglyph or monoscopic form, depending on user input and/or characteristics of video pipeline components. | 06-21-2012 |
20120155550 | AUTO-REGRESSIVE EDGE-DIRECTED INTERPOLATION WITH BACKWARD PROJECTION CONSTRAINT - Techniques and tools for interpolation of image/video content are described. For example, a tool such as a display processing module in a computing device receives pixel values of a low-resolution picture and determines an interpolated pixel value between a set of the pixel values from the low-resolution picture. The tool uses auto-regressive edge-directed interpolation that incorporates a backward projection constraint (AR-EDIBC). As part of the AR-EDIBC, the tool can compute auto-regressive (AR) coefficients then apply the AR coefficients to the set of pixel values to determine the interpolated pixel value. For the backward projection constraint, the tool accounts for effects of projecting interpolated pixel values back to the pixel values of the low-resolution picture. The tool stores the interpolated pixel values and pixel values from the low-resolution picture as part of a high-resolution picture. The tool can adaptively use AR-EDIBC depending on content and other factors. | 06-21-2012 |
20120163470 | IMAGE AND VIDEO DECODING IMPLEMENTATIONS - Efficient operations in image or video decoding. For example, a tool such as an image or video decoder receives and decodes encoded data for a picture in a bitstream. As part of the decoding, the tool adapts a multi-symbol lookup table to use in decoding of symbols then decodes the symbols using the multi-symbol lookup table, producing exactly correct results. The tool can also perform selectively truncated inverse frequency transforms. For a given block, the tool identifies upper horizontal and vertical frequencies among non-zero coefficients for the block and, based on the upper frequency values, selectively applies a simplified inverse frequency transform to transform coefficients for the block without hurting decoding quality. Using restart markers in the bitstream, the tool can organize multiple blocks of the picture as partitions. The tool decodes at least some of the partitions in parallel on a partition-by-partition basis using multiple processing cores. | 06-28-2012 |
20120213286 | LOCAL PICTURE IDENTIFIER AND COMPUTATION OF CO-LOCATED INFORMATION - Video decoding innovations for using local picture identifiers and computing co-located information are described. In one aspect, a decoder identifies reference pictures in a reference picture list of a temporal direct prediction mode macroblock that match reference pictures used by a co-located macroblock using local picture identifiers. In another aspect, a decoder determines whether reference pictures used by blocks are the same by comparing local picture identifiers during calculation of boundary strength. In yet another aspect, a decoder determines a picture type of a picture and based on the picture type selectively skips or simplifies computation of co-located information for use in reconstructing direct prediction mode macroblocks outside the picture. | 08-23-2012 |
20120218442 | GLOBAL ALIGNMENT FOR HIGH-DYNAMIC RANGE IMAGE GENERATION - Techniques and tools for high dynamic range (“HDR”) image generation and rendering are described herein. In several described embodiments, images having distinct exposure levels are aligned. In particular embodiments, the alignment of a reference image to a non-reference image is based at least in part on motion vectors that are determined using covariance computations. Furthermore, in certain embodiments, saturated areas, underexposed areas, and/or moving objects are ignored or substantially ignored during the image alignment process. Moreover, in certain embodiments, a hierarchical pyramid block-based scheme is used to perform local motion estimation between the reference image and the non-reference image. | 08-30-2012 |
20120250772 | MULTI-THREADED IMPLEMENTATIONS OF DEBLOCK FILTERING - Multi-threaded implementations of deblock filtering improve encoding and/or decoding efficiency. For example, a video encoder or decoder partitions a video picture into multiple segments. The encoder/decoder selects between multiple different patterns for splitting operations of deblock filtering into multiple passes. The encoder/decoder organizes the deblock filtering as multiple tasks, where a given task includes the operations of one of the passes for one of the segments. The encoder/decoder then performs the tasks with multiple threads. The performance of the tasks is constrained by task dependencies which, in general, are based at least in part on which lines of the picture are in the respective segments and which deblock filtering operations are in the respective passes. The task dependencies can include a cross-pass, cross-segment dependency between a given pass of a given segment and an adjacent pass of an adjacent segment. | 10-04-2012 |
20130033612 | REDUCED LATENCY VIDEO STABILIZATION - Reduced latency video stabilization methods and tools generate truncated filters for use in the temporal smoothing of global motion transforms representing jittery motion in captured video. The truncated filters comprise future and past tap counts that can be different from each other and are typically less than those of a baseline filter providing a baseline of video stabilization quality. The truncated filter future tap count can be determined experimentally by comparing a smoothed global motion transform set generated by applying a baseline filter to a video segment to those generated by multiple test filter with varying future tap counts, then settings the truncated filter future tap count based on an inflection point on an error-future tap count curve. A similar approach can be used to determine the truncated filter past tap count. | 02-07-2013 |
20130051478 | MEMORY MANAGEMENT FOR VIDEO DECODING - Techniques and tools described herein help manage memory efficiently during video decoding, especially when multiple video clips are concurrently decoded. For example, with clip-adaptive memory usage, a decoder determines first memory usage settings expected to be sufficient for decoding of a video clip. The decoder also determines second memory usage settings known to be sufficient for decoding of the clip. During decoding, memory usage is initially set according to the first settings. Memory usage is adaptively increased during decoding, subject to theoretical limits in the second settings. With adaptive early release of side information, the decoder can release side information memory for a picture earlier than the decoder releases image plane memory for the picture. The decoder can also adapt memory usage for decoded transform coefficients depending on whether the coefficients are for intra-coded blocks or inter-coded blocks, and also exploit the relative sparseness of non-zero coefficient values. | 02-28-2013 |
20130108248 | IMPLEMENTING CHANNEL START AND FILE SEEK FOR DECODER | 05-02-2013 |
20130114741 | SIGNALING OF STATE INFORMATION FOR A DECODED PICTURE BUFFER AND REFERENCE PICTURE LISTS - Innovations for signaling state of a decoded picture buffer (“DPB”) and reference picture lists (“RPLs”). In example implementations, rather than rely on internal state of a decoder to manage and update DPB and RPLs, state information about the DPB and RPLs is explicitly signaled. This permits a decoder to determine which pictures are expected to be available for reference from the signaled state information. For example, an encoder determines state information that identifies which pictures are available for use as reference pictures (optionally considering feedback information from a decoder about which pictures are available). The encoder sets syntax elements that represent the state information. In doing so, the encoder sets identifying information for a long-term reference picture (“LTRP”), where the identifying information is a value of picture order count least significant bits for the LTRB. The encoder then outputs the syntax elements as part of a bitstream. | 05-09-2013 |
20130117270 | CATEGORY-PREFIXED DATA BATCHING OF CODED MEDIA DATA IN MULTIPLE CATEGORIES - Innovations for category-prefixed data batching (“CPDB”) of entropy-coded data or other payload data for coded media data, as well as innovations for corresponding recovery of the entropy-coded data (or other payload data) formatted with CPDB. The CPDB can be used in conjunction with coding/decoding for video content, image content, audio content or another type of content. For example, after receiving coded media data in multiple categories from encoding units, a formatting tool formats payload data with CPDB, generating a batch prefix for a batch of the CPDB-formatted payload data. The batch prefix includes a category identifier and a data quantity indicator. The formatting tool outputs the CPDB-formatted payload data to a bitstream. At the decoder side, a formatting tool receives the CPDB-formatted payload data in a bitstream, recovers the payload data from the CPDB-formatted payload data, and outputs the payload data (e.g., to decoding units). | 05-09-2013 |
20130141642 | ADAPTIVE CONTROL OF DISPLAY REFRESH RATE BASED ON VIDEO FRAME RATE AND POWER EFFICIENCY - A battery operated device, having a display with two or more available refresh rates, has its refresh rate selected so as to match the video frame rate of video data played back on the display. This selection is made by coordinating the resources in the device that are used to process the video from its reception through to its display. | 06-06-2013 |
20130156101 | HARDWARE-ACCELERATED DECODING OF SCALABLE VIDEO BITSTREAMS - In various respects, hardware-accelerated decoding is adapted for decoding of video that has been encoded using scalable video coding. For example, for a given picture to be decoded, a host decoder determines whether a corresponding base picture will be stored for use as a reference picture. If so, the host decoder directs decoding with an accelerator such that the some of the same decoding operations can be used for the given picture and the reference base picture. Or, as another example, the host decoder groups encoded data associated with a given layer representation in buffers. The host decoder provides the encoded data for the layer to the accelerator. The host decoder repeats the process layer-after-layer in the order that layers appear in the bitstream, according to a defined call pattern for an acceleration interface, which helps the accelerator determine the layers with which buffers are associated. | 06-20-2013 |
20130215978 | METADATA ASSISTED VIDEO DECODING - A video decoder is disclosed that uses metadata in order to make optimization decisions. In one embodiment, metadata is used to choose which of multiple available decoder engines should receive a video sequence. In another embodiment, the optimization decisions can be based on length and location metadata information associated with a video sequence. Using such metadata information, a decoder engine can skip start-code scanning to make the decoding process more efficient. Also based on the choice of decoder engine, it can decide whether emulation prevention byte removal shall happen together with start code scanning or not. | 08-22-2013 |
20130265460 | JOINT VIDEO STABILIZATION AND ROLLING SHUTTER CORRECTION ON A GENERIC PLATFORM - In one embodiment, a video processing system | 10-10-2013 |
20130287114 | FRACTIONAL INTERPOLATION FOR HARDWARE-ACCELERATED VIDEO DECODING - Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment. | 10-31-2013 |
20140092992 | SUPPLEMENTAL ENHANCEMENT INFORMATION INCLUDING CONFIDENCE LEVEL AND MIXED CONTENT INFORMATION - This application relates to video encoding and decoding, and specifically to tools and techniques for using and providing supplemental enhancement information in bitstreams. Among other things, the detailed description presents innovations for bitstreams having supplemental enhancement information (SEI). In particular embodiments, the SEI message includes picture source data (e.g., data indicating whether the associated picture is a progressive scan picture or an interlaced scan picture and/or data indicating whether the associated picture is a duplicate picture). The SEI message can also express a confidence level of the encoder's relative confidence in the accuracy of this picture source data. A decoder can use the confidence level indication to determine whether the decoder should separately identify the picture as progressive or interlaced and/or a duplicate picture or honor the picture source scanning information in the SEI as it is. | 04-03-2014 |
20140092998 | FRAME PACKING AND UNPACKING HIGHER-RESOLUTION CHROMA SAMPLING FORMATS - Video frames of a higher-resolution chroma sampling format such as YUV 4:4:4 are packed into video frames of a lower-resolution chroma sampling format such as YUV 4:2:0 for purposes of video encoding. For example, sample values for a frame in YUV 4:4:4 format are packed into two frames in YUV 4:2:0 format. After decoding, the video frames of the lower-resolution chroma sampling format can be unpacked to reconstruct the video frames of the higher-resolution chroma sampling format. In this way, available encoders and decoders operating at the lower-resolution chroma sampling format can be used, while still retaining higher resolution chroma information. In example implementations, frames in YUV 4:4:4 format are packed into frames in YUV 4:2:0 format such that geometric correspondence is maintained between Y, U and V components for the frames in YUV 4:2:0 format. | 04-03-2014 |
20140098887 | REDUCING MEMORY CONSUMPTION DURING VIDEO DECODING - Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment. | 04-10-2014 |
20140098890 | NEIGHBOR DETERMINATION IN VIDEO DECODING - Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment. | 04-10-2014 |
20140112394 | BAND SEPARATION FILTERING / INVERSE FILTERING FOR FRAME PACKING / UNPACKING HIGHER-RESOLUTION CHROMA SAMPLING FORMATS - When packing a video frame of a higher-resolution chroma sampling format such as YUV 4:4:4 into frames of a lower-resolution chroma sampling format such as YUV 4:2:0, a computing device performs wavelet decomposition (or other band separation filtering) on sample values of chroma components of the higher-resolution frame, producing sample values of multiple bands. The device assigns the sample values of the bands to parts of the lower-resolution frames. During corresponding unpacking operations, a computing device assigns parts of the frames of the lower-resolution chroma sampling format to sample values of multiple bands. The device performs wavelet reconstruction (or other inverse band separation filtering) on the sample values of the bands, producing sample values of chroma components of the frame of the higher-resolution chroma sampling format. Band separation filtering can help improve quality of reconstruction when distortion has been introduced during encoding of the chroma components packed into low-resolution frames. | 04-24-2014 |
20140294094 | CUSTOM DATA INDICATING NOMINAL RANGE OF SAMPLES OF MEDIA CONTENT - A media processing tool adds custom data to an elementary media bitstream or media container. The custom data indicates nominal range of samples of media content, but the meaning of the custom data is not defined in the codec format or media container format. For example, the custom data indicates the nominal range is full range or limited range. For playback, a media processing tool parses the custom data and determines an indication of media content type. A rendering engine performs color conversion operations whose logic changes based at least in part on the media content type. In this way, a codec format or media container format can in effect be extended to support full nominal range media content as well as limited nominal range media content, and hence preserve full or correct color fidelity, while maintaining backward compatibility and conformance with the codec format or media container format. | 10-02-2014 |
20140301464 | CONTROL DATA FOR MOTION-CONSTRAINED TILE SET - Control data for a motion-constrained tile set (“MCTS”) indicates that inter-picture prediction processes within a specified set of tiles are constrained to reference only regions within the same set of tiles in previous pictures in decoding (or encoding) order. For example, a video encoder encodes multiple pictures partitioned into tiles to produce encoded data. The encoder outputs the encoded data along with control data (e.g., in a supplemental enhancement information message) that indicates that inter-picture prediction dependencies across tile set boundaries are constrained for a given tile set of one or more of the tiles. A video decoder or other tool receives the encoded data and MCTS control data, and processes the encoded data. Signaling and use of MCTS control data can facilitate region-of-interest decoding and display, transcoding to limit encoded data to a selected set of tiles, loss robustness, parallelism in encoding and/or decoding, and other video processing. | 10-09-2014 |
20140304303 | SYNTAX-AWARE MANIPULATION OF MEDIA FILES IN A CONTAINER FORMAT - A container format processing tool performs syntax-aware manipulation of hierarchically organized syntax elements defined according to a container format in a media file. For example, a container format verifier checks conformance of a media file to a container format, which can help ensure interoperability between diverse sources of media content and playback equipment. Conformance verification can include verification of individual syntax elements, cross-verification, verification that any mandatory syntax elements are present and/or verification of synchronization. Or, a container format “fuzzer” simulates corruption of a media file, which can help test the resilience of playback equipment to errors in the media files. The container format fuzzer can simulate random bit flipping errors, an audio recording failure or incorrect termination of recording. Or, a container format editor can otherwise edit the media file in the container format. | 10-09-2014 |
20140314233 | PROTECTED MEDIA DECODING USING A SECURE OPERATING SYSTEM - Disclosed herein are representative embodiments of tools and techniques for facilitating decoding of protected media information using a secure operating system. According to one exemplary technique, encoded media information that is encrypted is received at a secure process of a secure operating system of a computing system. At least a portion of the encoded media information that is encrypted is decrypted in the secure process. The portion of the encoded media information includes header information. Additionally, the header information is sent from the secure operating system to a software decoder for control of decoding hardware. The software decoder is included in a process for an application. Also, the decoding hardware is securely provided access to the encoded media information for decoding of the encoded media information to produce decoded media information. | 10-23-2014 |
20140369422 | Remultiplexing Bitstreams of Encoded Video for Video Playback - An encoded bitstream is processed without re-encoding so as to recombine multiple packets of each image into contiguous data of one packet for the image. Each packet is assigned a presentation time stamp, corresponding to the display order of its image in the sequence of images. In one embodiment, each intra-frame compressed image also is marked as a recovery point indicating that a decompression processor empties its buffers of data for prior groups of pictures before processing the image. A video editing or other playback application uses the converted bitstream for scrubbing and similar playback operations. | 12-18-2014 |
20140376641 | Picture Referencing Control for Video Decoding Using a Graphics Processor - A video decoder obtains a first set of picture buffering parameters associated with a current picture of an encoded video bitstream. The first set of picture buffering parameters identifies a set of one or more reference pictures for use in decoding the current picture by a graphics processor. The video decoder revises the first set of picture buffering parameters into a second (different) set of picture buffering parameters for use in decoding the current picture by the graphics processor. The second set of picture buffering parameters is transferred to the graphics processor for decoding the current picture. | 12-25-2014 |
20150036010 | GENERIC PLATFORM VIDEO IMAGE STABILIZATION - Video image stabilization provides better performance on a generic platform for computing devices by evaluating available multimedia digital signal processing components, and selecting the available components to utilize according to a hierarchy structure for video stabilization performance for processing parts of the video stabilization. The video stabilization has improved motion vector estimation that employs refinement motion vector searching according to a pyramid block structure relationship starting from a downsampled resolution version of the video frames. The video stabilization also improves global motion transform estimation by performing a random sample consensus approach for processing the local motion vectors, and selection criteria for motion vector reliability. The video stabilization achieves the removal of hand shakiness smoothly by real-time one-pass or off-line two-pass temporal smoothing with error detection and correction. | 02-05-2015 |
20150062353 | AUDIO VIDEO PLAYBACK SYNCHRONIZATION FOR ENCODED MEDIA - Techniques are described for inserting encoded markers into encoded audio-video content. For example, encoded audio-video content can be received and corresponding encoded audio and video markers can be inserted. The encoded audio and video markers can be inserted without changing the overall duration of the encoded audio and video streams and without changing most or all of the properties of the encoded audio and video streams. Corresponding encoded audio and video markers can be inserted at multiple locations (e.g., sync locations) in the encoded audio and video streams. Audio-video synchronization testing can be performed using encoded audio-video content with inserted encoded audio-video markers. | 03-05-2015 |