The present invention relates to a method for decoding a video signal encoded through inter-layer prediction.
Scalable Video Codec (SVC) encodes video into a sequence of pictures with the highest image quality while ensuring that part of the encoded picture sequence (specifically, a partial sequence of frames intermittently selected from the total sequence of frames) can be decoded and used to represent the video with a low image quality. Motion Compensated Temporal Filtering (MCTF) is an encoding scheme that has been suggested for use in the scalable video codec.
Although it is possible to represent low image-quality video by receiving and processing part of a sequence of pictures encoded according to a scalable scheme, there is still a problem in that the image quality is significantly reduced if the bitrate is lowered. One solution to this problem is to provide an auxiliary picture sequence for low bitrates, for example, a sequence of pictures that have a small screen size and/or a low frame rate.
The auxiliary picture sequence is referred to as a base layer, and the main frame sequence is referred to as an enhanced or enhancement layer. Video signals of the base and enhanced layers have redundancy since the same video signal source is encoded into two layers. As illustrated in
The flag “intra_base_flag” is necessary under the condition that it can have a selective value. Specifically, under the condition that the flag “intra_base_flag” can have a selective value of 0 or 1, the decoder requires the flag in order to determine how to reconstruct an image of a current macroblock which has been coded in an intra mode. This indicates that transmission of the flag “intra_base_flag” when the flag must be fixed to either 0 or 1 causes a reduction in the coding gain.
Therefore, the present invention has been made in view of the above problems, and it is an object of the present invention to provide a method for decoding a video signal, which determines specific conditions in which information indicating whether or not inter-layer intra-mode prediction has been performed is unnecessary, thereby eliminating the need for an encoder to transmit the information in the specific conditions.
In accordance with one aspect of the present invention, the above and other objects can be accomplished by the provision of a decoding method, wherein, when an encoded bitstream of a first layer and an encoded bitstream of a second layer are received and decoded into a video signal, pictures of the first layer are predicted from pictures of the second layer, it is determined whether or not inter-layer prediction is constrained under the condition that a target block in the first layer has been coded in an intra mode through prediction from a picture of the second layer, and an operation for checking a flag “intra_base_flag” indicating whether or not image data of the target block has been coded into difference data with reference to before-coding data of residual data, coded in an intra mode, of a corresponding block of a different layer is skipped if it is determined that inter-layer prediction is constrained.
In accordance with another aspect of the present invention, there is provided a decoding method, wherein, when an encoded bitstream of a first layer and an encoded bitstream of a second layer are received and decoded into a video signal, pictures of the first layer are predicted from pictures of the second layer, it is determined whether or not inter-layer prediction is constrained and it is also determined whether or not a block of the second layer corresponding to the target block is in an intra mode under the condition that a target block in the first layer has been coded in an intra mode through prediction from a picture of the second layer, and an operation for checking a flag “intra_base_flag” is skipped if it is determined that inter-layer prediction is constrained and the corresponding block of the second layer is not in an intra mode.
In accordance with still another aspect of the present invention, there is provided a decoding method, wherein, when an encoded bitstream of a first layer and an encoded bitstream of a second layer are received and decoded into a video signal, pictures of the first layer are predicted from pictures of the second layer, it is determined whether or not inter-layer prediction is constrained and it is also determined whether or not a block of the second layer corresponding to the target block is in an intra mode under the condition that a target block in the first layer has been coded in an intra mode through prediction from a picture of the second layer, and an operation for checking a flag “intra_base_flag” is skipped if it is determined that the corresponding block of the second layer is in an intra mode or if it is determined that inter-layer prediction is constrained.
In accordance with yet another aspect of the present invention, there is provided a decoding method, wherein, when an encoded bitstream of a first layer and an encoded bitstream of a second layer are received and decoded into a video signal, pictures of the first layer are predicted from pictures of the second layer, it is determined whether or not a block of the second layer corresponding to the target block is in an intra mode under the condition that a target block in the first layer has been coded in an intra mode through prediction from a picture of the second layer, and an operation for checking a flag “intra_base_flag” is skipped if it is determined that the corresponding block of the second layer is not in an intra mode.
In an embodiment of the present invention, it is determined that inter-layer prediction is unconstrained if the picture of the first layer is a key picture and it is indicated that a residual of the block of the second layer corresponding to the target block is to be reconstructed using reconstructed pixel values of an adjacent inter-mode block rather than using a fixed value for the adjacent inter-mode block (i.e., constrained_intra_pred_flag=0).
In another embodiment of the present invention, when the picture of the first layer is a key picture, it is determined that inter-layer prediction is unconstrained if it is indicated that a residual of the block of the second layer corresponding to the target block is to be reconstructed using reconstructed pixel values of an adjacent inter-mode block rather than using a fixed value for the adjacent inter-mode block (i.e., constrained_intra_pred_flag=0), whereas, when the picture of the first layer is not a key picture, it is determined that inter-layer prediction is unconstrained if it is indicated that the picture of the second layer is always to be decoded (always_decode_base_layer=1).
In another embodiment of the present invention, when it is indicated that the picture of the second layer is always to be decoded (always_decode_base_layer=1), it is determined that inter-layer prediction is unconstrained, whereas, when it is indicated that the picture of the second layer is not to be decoded always (always_decode_base_layer=0), it is determined that inter-layer prediction is unconstrained if the picture of the first layer is a key picture and it is indicated that a residual of the block of the second layer corresponding to the target block is to be reconstructed using reconstructed pixel values of an adjacent inter-mode block rather than using a fixed value for the adjacent inter-mode block (i.e., constrained_intra_pred_flag=0).
The above and other objects, features and other advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
a illustrates how an intra-BL mode macroblock is predicted from an intra-mode block in a lower layer when inter-layer prediction is constrained;
b illustrates how an intra-BL mode macroblock is predicted from an intra or inter-mode block in a lower layer when inter-layer prediction is unconstrained;
a-4c illustrate examples of a syntax of an operation for checking a flag “intra_base_flag” in a decoding procedure in which it is determined whether or not inter-layer prediction is constrained according to an embodiment of the present invention; and
Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
When receiving coding information of the lower layer from the base layer decoder 240, the EL decoder 230 determines whether or not it is necessary to check a flag “intra_base_flag” of a current macroblock of the enhanced layer, which will be described below in detail. In the following description of the embodiments, the term ‘picture’ is used to indicate a frame or a slice, provided that the use of the term is technically feasible. Here, slices are obtained by dividing a frame.
The EL decoder 230 does not check a flag “intra_base_flag” for the current macroblock in the case of constrained inter-layer prediction (also referred to as “single-loop prediction”).
As illustrated in
b shows an example of unconstrained inter-layer prediction (also referred to as “multi-loop prediction”) contrary to the constrained inter-layer prediction of
a illustrates a syntax of the operation for checking the flag “intra_base_flag” based on the procedure described above.
As illustrated in
The EL decoder 230 uses a predetermined function to determine whether inter-layer prediction is constrained or unconstrained. As illustrated in
The reason why whether or not the current picture is a key picture is used as a basis for the determination is that inter-layer prediction is constrained when the current picture is a non-key picture. Thus, when the current picture is a key picture, it is determined whether inter-layer prediction is constrained or unconstrained. The term “key picture” used in scalable coding refers to a picture which uses only a reconstructed quality base picture as a reference picture, and the term “non-key picture” refers to a picture which uses, as a reference picture, a picture reconstructed using an SNR enhancement layer picture and a quality base picture.
When the current picture is a key picture and the corresponding block in the base layer is set to an unconstrained intra prediction mode (i.e., constrained_intra_pred_flag==0), the determination function constrained_inter_layer_pred ( ) in
Accordingly, if the picture including the current macroblock is not a key picture or if the corresponding block in the base layer is set to a constrained intra prediction mode (i.e., constrained_intra_pred_flag==1) indicating that a residual of the corresponding block is to be reconstructed using a fixed value for an adjacent inter-mode block, it is determined that inter-layer prediction is constrained since the value of !constrained_inter_layer_pred( ) is FALSE, so that the flag “intra_base_flag” is not checked as described above.
In other embodiments of the present invention, the EL decoder 230 uses a function for determining whether or not inter-layer prediction is constrained based on different conditions from those described above.
The embodiment of
Even when the current picture is not a key picture, a base layer picture must be decoded before the current picture is decoded if the flag “always_decode_base_flag” is set. Accordingly, prediction of a current macroblock from a corresponding block in the base layer can be allowed even when the corresponding block has been coded in an inter mode. Accordingly, if the flag “always_decode_base_flag” is set under the condition that the current picture is not a key picture, it is determined that inter-layer prediction is unconstrained so that the flag “intra_base_flag” is checked, otherwise it is determined that inter-layer prediction is constrained so that the flag “intra_base_flag” is not checked.
The embodiment of
In the above embodiments, it is determined whether to check the flag “intra_base_flag” depending on the determination as to whether inter-layer prediction is constrained or unconstrained under the condition that “mb_type” is set and “base_id_plus1” is not 0. On the contrary, in another embodiment of the present invention, if the corresponding block in the base layer has been coded in an inter mode under the same condition, the flag “intra_base_flag” is checked or not depending on whether inter-layer prediction is constrained or unconstrained. If the corresponding block has been coded in an intra mode under the same condition, the flag “intra_base_flag” is checked regardless of the determination as to whether inter-layer prediction is constrained or unconstrained. Accordingly, the encoder transmits the flag “intra_base_flag” if the corresponding block in the base layer has been coded in an intra mode.
In this embodiment, if the corresponding block in the base layer has been coded in an inter mode (i.e., intra_base_mb(CurrMbAddr) is FALSE(0)), the flag “intra_base_flag” is checked when inter-layer prediction is unconstrained. If the corresponding block in the base layer has been coded in an inter mode in the case of unconstrained inter-layer prediction (multi-loop coding), the encoder also transmits the flag “intra_base_flag” to indicate whether or not the current macroblock has been predicted from the corresponding block. The EL decoder 230 also checks the flag “intra_base_flag” under the same condition. If it is determined that inter-layer prediction is constrained and the current macroblock has been coded in an inter mode, the encoder does not transmit the flag “intra_base_flag” and the decoder also does not check the flag.
One of the functions suggested in the embodiments of
In another embodiment of the present invention, the decoder determines whether to check the flag “intra_base_flag” (and the encoder determines whether to transmit the flag “intra_base_flag”) depending on whether or not the corresponding block has been coded in an intra mode, without determining whether inter-layer prediction is constrained or unconstrained.
According to the method described above, the decoder determines specific conditions in which it is unnecessary to check a flag indicating whether or not a target macroblock has been coded in an intra mode through prediction from a corresponding block of the base layer, and does not check the flag under the specific conditions, so that the encoder does not need to transmit the flag under the specific conditions.
When the decoder does not check the flag “intra_base_flag” under other specific conditions, not described above, according to the present invention, the encoder also does not transmit the flag “intra_base_flag” under the same conditions, thereby reducing the amount of coded data to be transmitted.
The decoder employing the decoding syntaxes described above can be incorporated into a mobile communication terminal, a media player, or the like.
As is apparent from the above description, a method for decoding a video signal according to the present invention determines conditions in which specific information is unnecessary, so that an encoder does not transmit the specific information in the conditions, thereby increasing the coding efficiency of the video signal.
Although this invention has been described with reference to the preferred embodiments, it will be apparent to those skilled in the art that various improvements, modifications, replacements, and additions can be made in the invention without departing from the scope and spirit of the invention. Thus, it is intended that the invention cover the improvements, modifications, replacements, and additions of the invention, provided they come within the scope of the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0081909 | Sep 2005 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2006/001979 | 5/25/2006 | WO | 00 | 5/22/2008 |
Number | Date | Country | |
---|---|---|---|
60684590 | May 2005 | US | |
60701044 | Jul 2005 | US | |
60706443 | Aug 2005 | US |