Patent application number | Description | Published |
20090252233 | ADAPTIVE ERROR DETECTION FOR MPEG-2 ERROR CONCEALMENT - A decoder which can detect errors in MPEG-2 coefficient blocks can identify syntactically-correct blocks which have out-of-bounds coefficients. The decoder computes coefficient bounds based on quantization scalers and quantization matrices and compares these to coefficient blocks during decoding; if a block has out-of-bounds coefficients, concealment is performed on the block. In a decoder implemented all in software, coefficient bounds checking is performed on iDCT coefficients against upper and lower bounds in a spatial domain. In a decoder which performs iDCT in hardware, DCT coefficients are compared to an upper energy bound. | 10-08-2009 |
20090323820 | Error detection, protection and recovery for video decoding - Error detecting and protection innovations for video decoders are described. For example, in a multithreaded video decoder, a picture extent discovery (PED) task detects an error in a video bitstream which corrupts a picture. The PED task then determines any PED sub-stage which have been completed for the picture, and based on this determination, performs error-handing PED operations. In another example, an entropy decoding (ED) task checks validity on a macroblock-by-macroblock basis using a redundant buffer to avoid overflows. Additionally, error recovery innovations are described which facilitate playback of a video bit stream at an arbitrary position. For example, a video decoder chooses a picture in the bit stream after the arbitrary position at which to begin decoding based on a determination of acceptable recovery time and/or acceptable picture quality. | 12-31-2009 |
20090323826 | Error concealment techniques in video decoding - Error concealment techniques for video decoding are described. For example, a video decoder after finding a corrupted picture in a bit stream, finds a suitable neighbor for the corrupted picture. For example, the video decoder favors pictures with the same parity as the corrupted picture and considers picture order count and picture corruption in choosing a neighbor. The decoder then modifies syntax elements for the encoded video in the bit stream to allow the neighbor to be used in concealing the corruption in the corrupted picture. The modification of syntax elements can depend on the particular video decoder implementation. For example, in a software-only multithreaded video decoder, a task graph is modified, while in a system utilizing video acceleration, syntax elements for reference lists are modified. | 12-31-2009 |
20100128778 | ADJUSTING HARDWARE ACCELERATION FOR VIDEO PLAYBACK BASED ON ERROR DETECTION - Adjustment of hardware acceleration level in a video decoder utilizing hardware acceleration is described. Errors are detected in a bitstream as it is decoded using different levels of error detection based on decoding characteristics. A statistical analysis is performed on the error values as they are detected. In one technique, if the bitstream is categorized as fitting a high error rate state in a bitstream model, then hardware acceleration is dropped. In another technique, error statistics based on run-lengths of good and bad bitstream units are kept, and compared to predetermined thresholds. If the thresholds are exceeded, the hardware acceleration level is dropped. The level is dropped in order to take advantage of superior error handing abilities of software-based decoding over hardware-accelerated decoding. | 05-27-2010 |
20100195721 | 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-05-2010 |
20110013889 | IMPLEMENTING CHANNEL START AND FILE SEEK FOR DECODER - A video bit stream with pictures comprising inter-coded content can be decoded upon receiving a channel start or file seek instruction. Pictures for beginning decoding and display of the bit stream can be selected based at least in part on one or more tuning parameters that set a preference between a latency of beginning to display video and possible defects in the displayed video. In some embodiments, to implement decoding upon a channel start or file seek, one or more types of data are generated for one or more pictures. For example, picture order counts are generated for pictures after a channel start or file seek operation. As another example, a decoder generates a frame number value that triggers re-initialization of a reference picture buffer before decoding after a channel start or file seek operation. | 01-20-2011 |
20110193978 | 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. | 08-11-2011 |
20120099652 | METHOD AND APPARATUS FOR SCALABLE MOTION VECTOR CODING - A method and apparatus for scalable coding of a motion vector generated during motion estimation, in which a generated motion vector field is separated into a base layer and an enhancement layer according to pixel accuracies to obtain a layered structure for a motion vector. In addition, the motion vector field has a layered structure including a base layer composed of motion vectors of blocks larger than or equal to a predetermined size and at least one enhancement layer composed of motion vectors of blocks smaller than a predetermined size. | 04-26-2012 |
20120121025 | BITSTREAM MANIPULATION AND VERIFICATION OF ENCODED DIGITAL MEDIA DATA - Disclosed herein are representative embodiments of methods, apparatus, and systems for manipulating bitstreams of digital media data compressed according to a compression standard. Also disclosed are representative embodiments of methods, apparatus, and systems for evaluating compliance of an encoded bitstream of digital media data with a compression standard. In one exemplary embodiment, a conforming bitstream of compressed digital media data is input. One or more of the parameters in the bitstream are selectively altered into parameters that do not conform to the video compression standard. The selective alteration can be performed such that parameters that would make the bitstream non-decodable if altered are bypassed and left unaltered. A non-conforming bitstream that includes the one or more selectively altered parameters is output. | 05-17-2012 |
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 |
20150178552 | Object Detection Techniques - Object detection techniques are described. In one or more implementations, a plurality of images are received by a computing device. The plurality of images are analyzed by the computing device to detect whether the images include, respectively, a depiction of an object. If an object is found in a first image, the locations, angles and scales for object detection can be further restricted in a second one. If an object is not found in a first one of the image, different portions of a second one of the images are analyzed for object detection. | 06-25-2015 |
20150208084 | INTRA BLOCK COPY PREDICTION WITH ASYMMETRIC PARTITIONS AND ENCODER-SIDE SEARCH PATTERNS, SEARCH RANGES AND APPROACHES TO PARTITIONING - Innovations in intra block copy (“BC”) prediction as well as innovations in encoder-side search patterns and approaches to partitioning. For example, some of the innovations relate to use of asymmetric partitions for intra BC prediction. Other innovations relate to search patterns or approaches that an encoder uses during block vector estimation (for intra BC prediction) or motion estimation. Still other innovations relate to uses of BV search ranges that have a horizontal or vertical bias during BV estimation. | 07-23-2015 |
20150222917 | Data Unit Identification for Compressed Video Streams - Data unit identification for compressed video streams is described. In one or more implementations, a compressed video stream is received at a computing device and a determination is made as to whether prior knowledge is available that relates to the compressed video stream. Responsive to the determination that prior knowledge is available that relates to the compressed video stream, the prior knowledge is employed by the computing device to perform data unit identification for the compressed video stream. In one or more implementations, SIMD instructions are utilized to perform pattern (0x00 00) search in a batch mode. Then a byte-by-byte search is performed to confirm whether the pattern, 0x00 00, found is part of a start code, 0x00 00 01, or not. | 08-06-2015 |
20150237356 | HOST ENCODER FOR HARDWARE-ACCELERATED VIDEO ENCODING - By controlling decisions for high layers of bitstream syntax for encoded video, a host encoder provides consistent behaviors even when used with accelerator hardware from different vendors across different hardware platforms. For example, the host encoder controls high-level behaviors of encoding and sets values of syntax elements for sequence layer and picture layer of an output bitstream (and possibly other layers such as slice-header layer), while using only a small amount of computational resources. An accelerator that includes the accelerator hardware then controls encoding decisions for lower layers of syntax, in a manner consistent with the values of syntax elements set by the host encoder, setting values of syntax elements for the lower layers of syntax, which allows the accelerator some flexibility in making its encoding decisions. | 08-20-2015 |
20150237381 | 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. | 08-20-2015 |
20150269967 | FAST AND SMART VIDEO TRIMMING AT FRAME ACCURACY ON GENERIC PLATFORM - In a computing device that implements an encoder, a method comprises receiving an encoded video sequence with a file container, receiving input to execute a trimming operation to create a frame accurate target segment of one or more desired pictures from the encoded video sequence and trimming to frame accuracy. Trimming to frame accuracy is accomplished by changing the parameter identifications of leading and trailing portions, if supported, or changing the parameters, and using the changed parameters or parameter identifications in re-encoding the leading and trailing portions, while an untouched middle portion between the leading and trailing portions is re-muxed without re-encoding. | 09-24-2015 |
20150288965 | ADAPTIVE QUANTIZATION FOR VIDEO RATE CONTROL - According to a first aspect of the innovations described herein video encoding, such as game video encoding, is improved with a goal to generate substantially constant video quality and the average target bitrate within a desired tolerance, which improves an overall user experience on video playback. An adaptive solution uses intelligent bias on bit allocation and quantization decisions, locally within a frame and globally across different frames, based on a current quality level and within an allowed bitrate variable tolerance. Bit allocation is increased on high complexity frames and redundant bits are avoided, which might have been wasted for static scenes and low complexity aspects. Statistics can be used from the encoding process. The solution can address similar video coding quality problems for video game recording on a variety of gaming platforms. | 10-08-2015 |