Abstract:
Video content is protected using a digital rights management (DRM) mechanism, the video content having been previously encrypted and compressed for distribution, and also including metadata such as closed captioning data, which might be encrypted or clear. The video content is obtained by a system of a computing device, the metadata is extracted from the video content and provided to a video decoder, and the video content is provided to a secure DRM component. The secure DRM component decrypts the video content and provides the decrypted video content to a secure decoder component of a video decoder. As part of the decryption, the secure DRM component drops the metadata that was included in the obtained video content. However, the video decoder receives the extracted metadata in a non-protected environment and thus is able to provide the extracted metadata and the decoded video content to a content playback application.
Abstract:
Techniques are described for communicating encoded data using start code emulation prevention. The described techniques include obtaining at least one partially encrypted packet, identifying at least one portion of the packet that is unencrypted, and determining that the identified unencrypted portion(s) emulates a start code. Start code emulation prevention data or emulation prevention bytes (EPBs) may be inserted into only the encrypted portion of the packet. The modified packet may be communicated to another device/storage, along with an indication of which portion(s) of the packet are unencrypted. Upon receiving the packet and indication, the receiving device may identify and remove the EPBs in the identified unencrypted portion(s) of the packet, and decrypt the packet to recover the data. In some aspects, upon identifying the indication, the receiving device may only search for EPBs in the unencrypted portion(s) of the packet, thus yielding a more efficient start code emulation prevention process.
Abstract:
Syntax structures that indicate the completion of coded regions of pictures are described. For example, a syntax structure in an elementary bitstream indicates the completion of a coded region of a picture. The syntax structure can be a type of network abstraction layer unit, a type of supplemental enhancement information message or another syntax structure. For example, a media processing tool such as an encoder can detect completion of a coded region of a picture, then output, in a predefined order in an elementary bitstream, syntax structure(s) that contain the coded region as well as a different syntax structure that indicates the completion of the coded region. Another media processing tool such as a decoder can receive, in a predefined order in an elementary bitstream, syntax structure(s) that contain a coded region of a picture as well as a different syntax structure that indicates the completion of the coded region.
Abstract:
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.
Abstract:
Syntax structures that indicate the completion of coded regions of pictures are described. For example, a syntax structure in an elementary bitstream indicates the completion of a coded region of a picture. The syntax structure can be a type of network abstraction layer unit, a type of supplemental enhancement information message or another syntax structure. For example, a media processing tool such as an encoder can detect completion of a coded region of a picture, then output, in a predefined order in an elementary bitstream, syntax structure(s) that contain the coded region as well as a different syntax structure that indicates the completion of the coded region. Another media processing tool such as a decoder can receive, in a predefined order in an elementary bitstream, syntax structure(s) that contain a coded region of a picture as well as a different syntax structure that indicates the completion of the coded region.
Abstract:
Innovations in encoding and decoding of video pictures in a high-resolution chroma sampling format (such as YUV 4:4:4) using a video encoder and decoder operating on coded pictures in a low-resolution chroma sampling format (such as YUV 4:2:0) are presented. For example, high chroma resolution details are selectively encoded on a region-by-region basis. Or, as another example, coded pictures that contain sample values for low chroma resolution versions of input pictures and coded pictures that contain sample values for high chroma resolution details of the input pictures are encoded as separate sub-sequences of a single sequence of coded pictures, which can facilitate effective motion compensation. In this way, available encoders and decoders operating on coded pictures in the low-resolution chroma sampling format can be effectively used to provide high chroma resolution details.
Abstract:
Techniques and systems for reducing memory usage by a decoder during a format change are disclosed. In a first example technique, discretized memory allocations for new output buffers are sequenced with discretized release operations of previously-allocated memory for previous output buffers in a manner that reduces the amount of in-use memory of a computing device during a format change. In a second example technique, the allocation of new memory for new decoder buffers associated with a new format is conditioned upon the release of previously-allocated memory for decoder buffers associated with a previous format to reduce memory usage during a format change. The first and second techniques, when combined, result in optimized reduction in memory usage by a decoder during a format change.
Abstract:
Aspects extend to methods, systems, and computer program products for video bit stream decoding. Aspects include flexible definition and detection of surface alignment requirements for decoding hardware. Surface alignment requirements can be handled by render cropping (e.g., cropping at a video output device), through adjustment and modification of original syntax values in a video bit stream and relaxed media type negotiation in a software (host) decoder. Resolution changes can be hidden with the aligned surface allocation when applicable. Performance can be improved and power consumption reduced by using hidden resolution changes.
Abstract:
A host decoder and accelerator communicate across an acceleration interface. The host decoder receives at least part of a bitstream for video, and it manages certain decoding operations of the accelerator across the acceleration interface. The accelerator receives data from the host decoder across the acceleration interface, then performs decoding operations. For a given frame, settings based on an uncompressed frame header can be transferred in a different buffer of the acceleration interface than a compressed frame header and compressed frame data. Among other features, the host decoder can assign settings used by the accelerator that override values of bitstream syntax elements, can assign surface index values used by the accelerator to update reference frame buffers, and can handle skipped frames without invoking the accelerator. Among other features, the accelerator can use surface index values to update reference frame buffers, and can handle changes in spatial resolution at non-key frames.
Abstract:
An encoded bitstream of video data can include layers of encoded video data. Such layers can be removed by a device in response to, for example, available bandwidth or device capabilities. The encoded bitstream also includes values for reference count parameters that are used by a video decoder to allocate memory when decoding the video data. If layers of the encoded video data are removed from the encoded bitstream, the values for these reference count parameters are modified. By modifying the values of these parameters, the video decoder allocates a different amount of memory and memory utilization is improved. Such modifications can be made by processing the encoded bitstream without re-encoding the encoded video data.