None.
1. Field of the Invention
The present invention relates generally to scalable video coding methods and systems. More specifically, the present invention relates to techniques for signaling bit stream ordering in scalable video coding.
2. description of the related Art
This section is intended to provide a background or context. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the claims in this application and is not admitted to be prior art by inclusion in this section.
In general, conventional video coding standards (e.g., MPEG-1, H.261/263/264) incorporate motion estimation and motion compensation to remove temporal redundancies between video frames in multimedia applications and services. Scalable video coding is a desirable feature for many multimedia applications and services used in systems employing decoders with a wide range of processing power, or where the bit rate available to decoders is not constant. Several types of video scalability schemes have been proposed, such as temporal, spatial and quality scalability. These proposed types consist of a base layer and an enhancement layer. The base layer is the minimum amount of data required to decode the video stream, while the enhancement layer is the additional data required to provide an enhanced video signal.
For each type of video scalability scheme, a particular scalability structure is defined. The scalability structure defines the relationship among the pictures of the base layer and the pictures of the enhanced layer. One type of structure is known as fine granularity scalability (FGS), which is part of the proposed scalable extension to the MPEG-4 AVC multimedia standard. The use of FGS primarily targets applications where video is transmitted over heterogeneous networks in real time. Further, FGS enables the bandwidth to be adapted by encoding content once for a range of different bit rates, which enables a video transmission server to change the transmission rate dynamically without in depth knowledge of or parsing of the video stream.
For applications utilizing scalable video coding, it is desirable to encode the video sequence once, and to be capable of extracting a portion of the bit stream in such a way that it is possible to decode the extracted portion while permitting some deterioration (e.g., lower spatial resolution, lower quality). The complexity of the extraction process is significantly impacted by the arrangement of the bit stream in video coding. Often, the bit stream arrangement makes it easy to enable one type of scalability (e.g., quality) but difficult to achieve other types of scalability (e.g., color space).
Current proposals for the H.264/AVC scalable extension have FGS quality enhancement information encoded using a series of iterations: (1) for each FGS plane, (2) for each cycle, (3) for each block, and (4) for each component. This structure makes it possible to easily extract a particular FGS plane or a cycle within the FGS plane because the extractor can count the number of FGS/cycle iterations and discard all data remaining in the slice once the appropriate iteration has been reached. Nevertheless, extracting information for a group of blocks (i.e., a spatial region) or for a particular component (e.g., luminance only) is much more difficult. Such information is considered only by the innermost iterations. As such, it is not possible to discard information from the slice.
Considering the H.264/AVC scalable extension, information from each color component (luminance/chrominance) is not collected together—luminance and chrominance values are interleaved. In some scenarios, e.g. video editing or analysis, removal of the chrominance information is desirable, but the interleaving structure makes this difficult without significantly increasing the complexity of the extraction process. Conventional systems require both luminance and chrominance values to be processed before chrominance values can be discarded.
Thus, there is a need to allow the bit stream in video coding to be tailored to the needs of an application. Further, there is a need to add a syntax element to the scalable video bit stream indicating ordering of data within a layer. Yet further, there is a need for signaling bit stream ordering in scalable video coding.
In general, the present invention relates to scalable video coding and extracting component from the video coding where the ordering of iteration within the encoded bit stream can be dynamically changed. For example, a color component, e.g. luminance, can be extracted from the video coding after the ordering of iteration within the encoded bit stream is changed to reduce the complexity and processing required to do the extraction. The ordering of iterations within the bit stream can be specified by an added syntax element. Changing the order of iteration can improve the ability to extract certain constituent elements of the video coding.
One exemplary embodiment relates to a method of decoding scalable video data having multiple dimensions of scalability. This method can include receiving an indication of an ordering of iteration within a coded bit stream across the multiple dimensions and ordering iterations according to the received indication.
Another exemplary embodiment relates to an decoder that decodes scalable video data having multiple dimensions of scalability. This decoder can include a fine granularity scalability (FGS) enhancement module that decodes information using a series of iterations within a coded bit stream and a processor that receives a syntax element that specifies ordering of iterations in the series of iterations and instructs the FGS enhancement module to decode information using the specified ordering of iterations.
Another exemplary embodiment relates to a module that decodes scalable video data having multiple dimensions of scalability. This module can include means for receiving an indication of an ordering of iteration within a coded bit stream across the multiple dimensions and means for ordering iterations according to the received indication.
Another exemplary embodiment relates to a computer program product utilized in video decoding. This computer program product can include computer code to decode information using a series of iterations within a coded bit stream, computer code to receive a syntax element that specifies ordering of iterations in the series of iterations, and computer code to instruct the decoding of information using the specified ordering of iterations.
The encoder 16 produces an encoded output signal, which in some embodiments can be a compressed signal requiring less bandwidth and/or memory. The encoded output signal is transmitted and eventually decoded by a decoder 32. The decoder 32 can include a processor 34, an inverse DCT module 36, an inverse VLC module 38, and a MPEG-4 AVC decoding module 40.
The processor 18 includes instructions to carry out an FGS quality enhancement. The FGS quality enhancement can be implemented in software using any of a variety of programming languages or, alternatively, it can be implemented in hardware or a combination of software and hardware. The FGS quality enhancement utilizes information encoded using a series of iterations performed in a certain order.
In an alternative embodiment, a finite number of allowable permutations can be determined in advance, with a signal in the bit stream indicating the index of the permutation within the allowable set. Advantageously, the ordering of iterations within bit streams can be designated such that the benefits to different orderings can be realized. The syntax element added to the scalable video bit stream indicates ordering of data within a layer such that the bit stream in video coding can be tailored to the needs of an application. As such, a component from the video coding is extracted after the ordering of iterations is determined, thereby reducing the complexity and processing required to do the extraction. For example, a color component, e.g. luminance, can be extracted from the video coding after the ordering of iteration within the encoded bit stream is changed.
While several embodiments of the invention have been described, it is to be understood that modifications and changes will occur to those skilled in the art to which the invention pertains. Accordingly, the claims appended to this specification are intended to define the invention precisely.