WO2014092445A2 - 영상 복호화 방법 및 이를 이용하는 장치 - Google Patents
영상 복호화 방법 및 이를 이용하는 장치 Download PDFInfo
- Publication number
- WO2014092445A2 WO2014092445A2 PCT/KR2013/011450 KR2013011450W WO2014092445A2 WO 2014092445 A2 WO2014092445 A2 WO 2014092445A2 KR 2013011450 W KR2013011450 W KR 2013011450W WO 2014092445 A2 WO2014092445 A2 WO 2014092445A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- layer
- information
- prediction
- current
- picture
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to video compression techniques, and more particularly, to a method and apparatus for performing scalable video coding.
- video quality of the terminal device can be supported and the network environment is diversified, in general, video of general quality may be used in one environment, but higher quality video may be used in another environment. .
- a consumer who purchases video content on a mobile terminal can view the same video content on a larger screen and at a higher resolution through a large display in the home.
- UHD Ultra High Definition
- the quality of the image for example, the image quality, the resolution of the image, the size of the image. It is necessary to provide scalability in the frame rate of video and the like. In addition, various image processing methods associated with such scalability should be discussed.
- An embodiment of the present invention is to provide a layering signaling method and an apparatus using the same, so that only layer having a low layer ID can have layer dependency.
- an embodiment of the present invention is directed to a method for signaling dependency information and an apparatus using the same so that the bitstream extractor may consider dependency when extracting a target layer.
- Another object of the present invention is to provide a method for signaling whether a current slice is an independent slice or a dependent slice, and an apparatus using the same.
- a decoding method of an image for decoding a bitstream including a plurality of layers includes reference information indicating whether a layer having a layer ID smaller than a current layer may become a reference layer of the current layer.
- the reference information may be signaled by being included in a video parameter set extension.
- the reference information is flag information indicating whether a reference layer of the current layer can be used, and the predicting a picture of the current layer may predict the picture of the current layer by referring to a reference layer having the flag information of 1. have.
- the method may include predicting the picture of the current layer without referring to the layer having the value of the flag information equal to zero.
- the method may further include receiving and parsing identification information identifying the reference layer as many as the reference layer.
- the identification information may be a layer ID of the reference layer.
- the identification information may be a difference value between layer IDs of the corresponding reference layer and the previous reference layer.
- Receiving dependency type information indicating a dependency type (type of dependency) of the reference layer and the current layer, and predicting a picture of the current layer comprises: responsive to the dependency type information of the current layer;
- the method may include using at least one of inter-layer motion prediction and inter-layer sample prediction for prediction.
- an apparatus for decoding a bitstream including a plurality of layers may include reference information indicating whether a layer having a layer ID smaller than the current layer may become a reference layer of the current layer.
- a parsing unit configured to receive a signal and identify the reference layer that the current layer may refer to based on the reference information;
- a layering signaling method and an apparatus using the same which enable layer dependency only on a layer having a low layer ID.
- a method for signaling dependency information and an apparatus using the same are provided so that a bitstream extractor may consider dependency when extracting a target layer.
- a method for signaling whether a current slice is an independent slice or a dependent slice and an apparatus using the same are provided.
- FIG. 1 is a block diagram schematically illustrating a video encoding apparatus supporting scalability according to an embodiment of the present invention.
- FIG. 2 is a block diagram schematically illustrating a video decoding apparatus supporting scalability according to an embodiment of the present invention.
- 3 is a diagram for describing inter-layer dependency on spatial scalability.
- 4 is a diagram for explaining inter-layer dependency on multi-view.
- FIG. 5 is a diagram illustrating an example of a bitstream extractor that extracts some bitstreams from an input bitstream having a plurality of layers.
- FIG. 6 is a control block diagram illustrating a video decoding apparatus according to an embodiment of the present invention.
- FIG. 7 is a control flowchart illustrating a method of decoding an image according to an embodiment of the present invention.
- each of the components in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions in the video encoding apparatus / decoding apparatus, each component is a separate hardware or separate software It does not mean that it is implemented.
- two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
- Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
- input signals may be processed for each layer.
- the input signals may differ in at least one of resolution, frame rate, bit-depth, color format, and aspect ratio. Can be.
- scalable coding includes scalable encoding and scalable decoding.
- prediction between layers is performed by using differences between layers, that is, based on scalability, thereby reducing overlapping transmission / processing of information and increasing compression efficiency.
- FIG. 1 is a block diagram schematically illustrating a video encoding apparatus supporting scalability according to an embodiment of the present invention.
- a multi-layer structure composed of two layers will be described as an example for convenience of description.
- the present invention is not limited thereto, and the multi-layer structure to which the present invention is applied may include two or more layers.
- the encoding apparatus 100 includes an encoder 105 for layer 1 and an encoder 135 for layer 0.
- Layer 0 may be a base layer, a reference layer, or a lower layer
- layer 1 may be an enhancement layer, a current layer, or an upper layer.
- the encoding unit 105 of the layer 1 includes a prediction unit 110, a transform / quantization unit 115, a filtering unit 120, a decoded picture buffer (DPB) 125, an entropy coding unit 130, and a MUX (Multiplexer, 165).
- the encoding unit 135 of the layer 0 includes a prediction unit 140, a transform / quantization unit 145, a filtering unit 150, a DPB 155, and an entropy coding unit 160.
- the prediction units 110 and 140 may perform inter prediction and intra prediction on the input image.
- the prediction units 110 and 140 may perform prediction in predetermined processing units.
- the performing unit of prediction may be a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
- the prediction units 110 and 140 may determine whether to apply inter prediction or intra prediction in a CU unit, determine a mode of prediction in a PU unit, and perform prediction in a PU unit or a TU unit. have. Prediction performed includes generation of a prediction block and generation of a residual block (residual signal).
- a prediction block may be generated by performing prediction based on information of at least one picture of a previous picture and / or a subsequent picture of the current picture.
- prediction blocks may be generated by performing prediction based on pixel information in a current picture.
- inter prediction there are a skip mode, a merge mode, a motion vector predictor (MVP) mode method, and the like.
- a reference picture may be selected with respect to a current PU that is a prediction target, and a reference block corresponding to the current PU may be selected within the reference picture.
- the prediction units 110 and 140 may generate a prediction block based on the reference block.
- the prediction block may be generated in integer sample units or may be generated in integer or less pixel units.
- the motion vector may also be expressed in units of integer pixels or units of integer pixels or less.
- motion information that is, information such as an index of a reference picture, a motion vector, and a residual signal
- residuals may not be generated, transformed, quantized, or transmitted.
- the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
- the non-directional mode may include a DC prediction mode and a planner mode (Planar mode).
- a prediction block may be generated after applying a filter to a reference sample.
- the PU may be a block of various sizes / types, for example, in the case of inter prediction, the PU may be a 2N ⁇ 2N block, a 2N ⁇ N block, an N ⁇ 2N block, an N ⁇ N block (N is an integer), or the like.
- the PU In the case of intra prediction, the PU may be a 2N ⁇ 2N block or an N ⁇ N block (where N is an integer).
- the PU of the N ⁇ N block size may be set to apply only in a specific case.
- the NxN block size PU may be used only for the minimum size CU or only for intra prediction.
- PUs such as N ⁇ mN blocks, mN ⁇ N blocks, 2N ⁇ mN blocks, or mN ⁇ 2N blocks (m ⁇ 1) may be further defined and used.
- the prediction unit 110 may perform prediction for layer 1 using the information of the layer 0.
- a method of predicting information of a current layer using information of another layer is referred to as inter-layer prediction for convenience of description.
- Information of the current layer that is predicted using information of another layer may be at least one of texture, motion information, unit information, and predetermined parameters (eg, filtering parameters).
- the information of another layer (ie, used for inter-layer prediction) used for prediction on the current layer may be at least one of texture, motion information, unit information, and predetermined parameters (eg, filtering parameters).
- the current block is a block in the current picture in the current layer (layer 1 in the example of FIG. 1), and may be an encoding target block.
- a reference block belongs to a picture (reference picture) belonging to the same access unit (AU) as the picture to which the current block belongs (the current picture) in the layer (reference layer, layer 0 in the example of FIG. 1) referred to the prediction of the current block.
- AU access unit
- inter-layer prediction is inter-layer motion prediction that predicts motion information of a current layer using motion information of a reference layer.
- the motion information of the current block may be predicted using the motion information of the reference block.
- the estimator 110 may scale and use motion information of a reference layer.
- inter-layer texture prediction may use the texture of the reconstructed reference block as a prediction value for the current block.
- the prediction unit 110 may be scaled by upsampling the texture of the reference block.
- unit (CU, PU, and / or TU) information of a reference layer is derived and used as unit information of a current layer, or based on unit information of a reference layer.
- Unit information can be determined.
- the unit information may include information at each unit level.
- information about a partition (CU, PU and / or TU) may include information on transform, information on prediction, and information on coding.
- information on a PU partition and information on prediction (eg, motion information, information on a prediction mode, etc.) may be included.
- the information about the TU may include information about a TU partition, information on transform (transform coefficient, transform method, etc.).
- inter-layer parameter prediction may reuse a derived parameter of a reference layer in the current layer or derive a parameter for the current layer based on the parameter used in the reference layer.
- the residual of the current layer may be predicted using residual information of another layer, and prediction of the current block may be performed based on this.
- prediction of the current block may be performed using a difference between a reconstructed picture of the current layer and an image of upsampled or downsampled reconstructed picture of the reference layer.
- inter layer syntax prediction may predict or generate a texture of a current block using syntax information of a reference layer.
- the syntax information of the referenced reference layer may include information about an intra prediction mode and motion information.
- Interlayer prediction As an example of interlayer prediction, interlayer texture prediction, interlayer motion prediction, interlayer unit information prediction, interlayer parameter prediction, interlayer residual prediction, interlayer differential prediction, interlayer syntax prediction, and the like have been described. Interlayer prediction applicable to the present invention is not limited thereto.
- inter layer prediction may be applied as an extension of inter prediction for the current layer. That is, the inter prediction of the current block may be performed by including the reference picture derived from the reference layer in reference pictures that can be referred to in inter prediction of the current block.
- the interlayer reference picture may be included in a reference picture list for the current block.
- the prediction unit 110 may perform inter prediction on the current block by using the interlayer reference picture.
- the inter-layer reference picture may be a reference picture configured by sampling the reconstructed picture of the reference layer to correspond to the current layer. Therefore, when the reconstructed picture of the reference layer corresponds to the picture of the current layer, the reconstructed picture of the reference layer may be used as the interlayer reference picture without sampling.
- the widths and heights of the samples are the same in the reconstructed picture of the reference ray and the reconstructed picture of the current layer, and are in the top left, top right, bottom left, bottom right, and top left, top right, and left in the picture of the reference layer. If the offset between the bottom and bottom right is 0, the reconstructed picture of the reference layer may be used as the inter-layer reference picture of the current layer without resampling.
- the reconstructed picture of the reference layer from which the interlayer reference picture is derived may be a picture belonging to the same AU as the current picture to be encoded.
- a position in the reference picture list of the interlayer reference picture may be different in the reference picture lists L0 and L1.
- the inter-layer reference picture may be located after the short-term reference pictures before the current picture in the reference picture list L0, and the inter-layer reference picture may be located at the end of the reference picture list in the reference picture list L1.
- the reference picture list L0 is a reference picture list used for inter prediction of a P slice or a reference picture list used as a first reference picture list in inter prediction of a B slice.
- Reference picture list L1 is a second reference picture list used for inter prediction of B slices.
- the reference picture list L0 may be configured in the order of the short-term reference picture (s) before the current picture, the inter-layer reference picture, the short-term reference picture (s) after the current picture, and the long-term reference picture.
- the reference picture list L1 may be configured in the order of the short-term reference picture (s) after the current picture, the short-term reference picture (s) before the current picture, a long-term reference picture, and an inter-layer reference picture.
- a P slice is a slice in which intra prediction is performed or inter prediction is performed using at most one motion vector and a reference picture index per prediction block.
- a bi-predictive slice is a slice in which intra prediction is performed or prediction is performed using a maximum of two motion vectors and a reference picture index per prediction block.
- an I slice is an slice to which only intra prediction is applied.
- the reference picture list may include a plurality of inter-layer reference pictures derived from a plurality of layers.
- the inter-layer reference pictures may be interlaced in the reference picture lists L0 and L1.
- the reference picture lists L0 and L1 For example, assume that two inter-layer reference pictures, an inter-layer reference picture ILRPi and an inter-layer reference picture ILRPj are included in a reference picture list used for inter prediction of the current block.
- ILRPi may be located after the short-term reference pictures before the current picture
- ILRPj may be located at the end of the list.
- ILRPi may be located at the end of the list
- ILRPj may be located after the short-term reference pictures after the current picture.
- the reference picture list L0 may be configured in the order of the short-term reference picture (s) before the current picture, the inter-layer reference picture ILRPi, the short-term reference picture (s) after the current picture, the long-term reference picture, and the inter-layer reference picture ILRPj. Can be.
- the reference picture list L1 may be configured in the order of the short-term reference picture (s) after the current picture, the inter-layer reference picture ILRPj, the short-term reference picture (s) before the current picture, the long-term reference picture, and the inter-layer reference picture ILRPi.
- one of the two inter-layer reference pictures may be an inter-layer reference picture derived from a scalable layer with respect to resolution, and the other may be an inter-layer reference picture derived from a layer providing another view.
- the reference picture list L0 may be configured in the order of the short-term reference picture (s) before the current picture, the inter-layer reference picture ILRPi, the short-term reference picture (s) after the current picture, and a long-term reference picture.
- the reference picture list L1 may be configured in the order of the short-term reference picture (s) after the current picture, the short-term reference picture (s) before the current picture, a long-term reference picture, and an inter-layer reference picture ILRPi.
- the prediction unit 110 uses only the sample value of the interlayer reference picture or only the motion information (motion vector) of the interlayer reference picture according to the information received from the encoding apparatus. Alternatively, both the sample value and the motion information of the interlayer reference picture may be used.
- the prediction unit 110 may derive the samples of the block specified by the motion vector in the interlayer reference picture as the prediction samples of the current block.
- the motion vector in inter prediction (inter layer prediction) using inter layer reference pictures may be set to a fixed value (eg, 0).
- the prediction unit 110 may use a motion vector specified in the interlayer reference picture as a motion vector predictor for deriving the motion vector of the current block. In addition, the prediction unit 110 may use the motion vector specified in the interlayer reference picture as the motion vector of the current block.
- the prediction unit 110 may present the motion information (motion vector) specified in the interlayer reference picture and the sample of the region corresponding to the current block in the interlayer reference picture. Can be used for prediction of blocks.
- the encoding apparatus may transmit a reference index indicating an interlayer reference picture in the reference picture list to the decoding apparatus, and may include some information (sample information, motion information, or sample information) from the interlayer reference picture.
- Information specifying whether to use motion information that is, information specifying a type of dependency (dependency) regarding inter-layer prediction between two layers may also be transmitted to the decoding apparatus.
- the transform / quantization units 115 and 145 may perform transform on the residual block in transform block units to generate transform coefficients and quantize the transform coefficients.
- the transform block is a block of samples and is a block to which the same transform is applied.
- the transform block can be a transform unit (TU) and can have a quad tree structure.
- the transform / quantization units 115 and 145 may generate a 2D array of transform coefficients by performing transform according to the prediction mode applied to the residual block and the size of the block. For example, if intra prediction is applied to a residual block and the block is a 4x4 residual array, the residual block is transformed using a discrete sine transform (DST), otherwise the residual block is transformed into a discrete cosine transform (DCT). Can be converted using.
- DST discrete sine transform
- DCT discrete cosine transform
- the transform / quantization unit 115 and 145 may quantize the transform coefficients to generate quantized transform coefficients.
- the transform / quantization units 115 and 145 may transfer the quantized transform coefficients to the entropy coding units 130 and 180.
- the transform / quantization unit 145 may rearrange the two-dimensional array of quantized transform coefficients into one-dimensional arrays according to a predetermined scan order and transfer them to the entropy coding units 130 and 180.
- the transform / quantizers 115 and 145 may transfer the reconstructed block generated based on the residual and the predictive block to the filtering units 120 and 150 for inter prediction.
- the transform / quantization units 115 and 145 may skip transform and perform quantization only or omit both transform and quantization as necessary.
- the transform / quantization unit 115 or 165 may omit the transform for a block having a specific prediction method or a specific size block, or a block of a specific size to which a specific prediction block is applied.
- the entropy coding units 130 and 160 may perform entropy encoding on the quantized transform coefficients.
- Entropy encoding may use, for example, an encoding method such as Exponential Golomb, Context-Adaptive Binary Arithmetic Coding (CABAC), or the like.
- CABAC Context-Adaptive Binary Arithmetic Coding
- the filtering units 120 and 150 may apply a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) to the reconstructed picture.
- ALF adaptive loop filter
- SAO sample adaptive offset
- the deblocking filter may remove distortion generated at the boundary between blocks in the reconstructed picture.
- the adaptive loop filter may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the block is filtered through the deblocking filter.
- the SAO restores the offset difference from the original image on a pixel-by-pixel basis to the residual block to which the deblocking filter is applied, and is applied in the form of a band offset and an edge offset.
- the filtering units 120 and 150 may apply only the deblocking filter, only the deblocking filter and the ALF, or may apply only the deblocking filter and the SAO without applying all of the deblocking filter, ALF, and SAO.
- the DPBs 125 and 155 may receive the reconstructed block or the reconstructed picture from the filtering units 120 and 150 and store the received reconstructed picture.
- the DPBs 125 and 155 may provide a reconstruction block or a picture to the prediction units 110 and 140 that perform inter prediction.
- Information output from the entropy coding unit 160 of layer 0 and information output from the entropy coding unit 130 of layer 1 may be multiplexed by the MUX 185 and output as a bitstream.
- the encoding unit 105 of the layer 1 has been described as including the MUX 165.
- the MUX is separate from the encoding unit 105 of the layer 1 and the encoding unit 135 of the layer 0. It may be a device or a module of.
- scalable video coding is performed in a multilayer structure having two layers
- the present invention is not limited thereto.
- the encoding apparatus of FIG. 1 may be applied to a multilayer structure including two or more layers.
- layer 0 and layer 1 of FIG. 1 may be two layers indicating a reference relationship among N layers.
- the encoding apparatus may transmit information indicating a reference relationship between the two layers to the decoding apparatus. For example, when there is a dependency of inter-layer prediction between two layers, the encoding apparatus may transmit direct_dependency_flag [L] [M]. When the value of direct_dependency_flag [L] [M] is 1, the L th layer may be predicted with reference to the M th layer.
- FIG. 2 is a block diagram illustrating an example of interlayer prediction in an encoding apparatus that performs scalable coding according to the present invention.
- the decoding apparatus 200 includes a decoder 210 of layer 1 and a decoder 250 of layer 0.
- Layer 0 may be a base layer, a reference layer, or a lower layer
- layer 1 may be an enhancement layer, a current layer, or an upper layer.
- the decoding unit 210 of the layer 1 includes an entropy decoding unit 215, a reordering unit 220, an inverse quantization unit 225, an inverse transform unit 230, a prediction unit 235, a filtering unit 240, and a memory. can do.
- the decoding unit 250 of the layer 0 includes an entropy decoding unit 255, a reordering unit 260, an inverse quantization unit 265, an inverse transform unit 270, a prediction unit 275, a filtering unit 280, and a memory 285. ) May be included.
- the DEMUX 205 may demultiplex the information for each layer and deliver the information to the decoding device for each layer.
- the entropy decoding units 215 and 255 may perform entropy decoding corresponding to the entropy coding scheme used in the encoding apparatus. For example, when CABAC is used in the encoding apparatus, the entropy decoding units 215 and 255 may also perform entropy decoding using CABAC.
- Information for generating a prediction block among the information decoded by the entropy decoding units 215 and 255 is provided to the prediction units 235 and 275, and a residual value of which entropy decoding is performed by the entropy decoding units 215 and 255. That is, the quantized transform coefficients may be input to the reordering units 220 and 260.
- the reordering units 220 and 260 may rearrange the information of the bitstreams entropy decoded by the entropy decoding units 215 and 255, that is, the quantized transform coefficients, based on the reordering method in the encoding apparatus.
- the reordering units 220 and 260 may rearrange the quantized transform coefficients of the one-dimensional array into the coefficients of the two-dimensional array.
- the reordering units 220 and 260 may generate a two-dimensional array of coefficients (quantized transform coefficients) by performing scanning based on the prediction mode applied to the current block (transform block) and / or the size of the transform block.
- the inverse quantizers 225 and 265 may generate transform coefficients by performing inverse quantization based on the quantization parameter provided by the encoding apparatus and the coefficient values of the rearranged block.
- the inverse transform units 230 and 270 may perform inverse transform on the transform performed by the transform unit of the encoding apparatus.
- the inverse transform units 230 and 270 may perform inverse DCT and / or inverse DST on a discrete cosine transform (DCT) and a discrete sine transform (DST) performed by an encoding apparatus.
- DCT discrete cosine transform
- DST discrete sine transform
- the DCT and / or DST in the encoding apparatus may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size of a current block, and a prediction direction, and the inverse transformers 230 and 270 of the decoding apparatus may perform transform information performed in the encoding apparatus. Inverse transformation may be performed based on.
- the inverse transform units 230 and 270 may apply inverse DCT and inverse DST according to a prediction mode / block size.
- the inverse transformers 230 and 270 may apply an inverse DST to a 4x4 luma block to which intra prediction is applied.
- the inverse transform units 230 and 270 may fixedly use a specific inverse transform method regardless of the prediction mode / block size.
- the inverse transform units 330 and 370 may apply only inverse DST to all transform blocks.
- the inverse transform units 330 and 370 may apply only inverse DCT to all transform blocks.
- the inverse transform units 230 and 270 may generate a residual or residual block by inversely transforming the transform coefficients or the block of the transform coefficients.
- the inverse transformers 230 and 270 may also skip the transformation as needed or in accordance with the manner encoded in the encoding apparatus. For example, the inverse transforms 230 and 270 may omit the transform for a block having a specific prediction method or a specific size or a block of a specific size to which a specific prediction block is applied.
- the prediction units 235 and 275 may perform prediction on the current block based on prediction block generation related information transmitted from the entropy decoding units 215 and 255 and previously decoded blocks and / or picture information provided by the memories 245 and 285.
- a prediction block can be generated.
- the prediction units 235 and 275 may perform intra prediction on the current block based on pixel information in the current picture.
- the prediction units 235 and 275 may perform information on the current block based on information included in at least one of a previous picture or a subsequent picture of the current picture. Inter prediction may be performed. Some or all of the motion information required for inter prediction may be derived from the information received from the encoding apparatus and correspondingly.
- the prediction block may be a reconstruction block.
- the prediction unit 235 of layer 1 may perform inter prediction or intra prediction using only information in layer 1, or may perform inter layer prediction using information of another layer (layer 0).
- Information of the current layer that is predicted using information of another layer may be at least one of texture, motion information, unit information, and predetermined parameters (eg, filtering parameters).
- the information of another layer (ie, used for inter-layer prediction) used for prediction on the current layer may be at least one of texture, motion information, unit information, and predetermined parameters (eg, filtering parameters).
- the current block is a block in the current picture in the current layer (layer 1 in the example of FIG. 2) and may be a decoding target block.
- the reference block belongs to a picture (reference picture) belonging to the same access unit (AU) as the picture (current picture) to which the current block belongs in the layer (reference layer, layer 0 in the example of FIG. 2) referenced in the prediction of the current block.
- AU access unit
- inter-layer prediction is inter-layer motion prediction that predicts motion information of a current layer using motion information of a reference layer.
- the motion information of the current block may be predicted using the motion information of the reference block.
- the estimator 235 may scale and use motion information of a reference layer.
- inter-layer texture prediction may use the texture of the reconstructed reference block as a prediction value for the current block.
- the prediction unit 235 may be scaled by upsampling the texture of the reference block.
- unit (CU, PU, and / or TU) information of a reference layer is derived and used as unit information of a current layer, or based on unit information of a reference layer.
- Unit information can be determined.
- the unit information may include information at each unit level.
- information about a partition (CU, PU and / or TU) may include information on transform, information on prediction, and information on coding.
- information on a PU partition and information on prediction (eg, motion information, information on a prediction mode, etc.) may be included.
- the information about the TU may include information about a TU partition, information on transform (transform coefficient, transform method, etc.).
- inter-layer parameter prediction may reuse a derived parameter of a reference layer in the current layer or derive a parameter for the current layer based on the parameter used in the reference layer.
- the residual of the current layer may be predicted using residual information of another layer, and prediction of the current block may be performed based on this.
- prediction of the current block may be performed using a difference between a reconstructed picture of the current layer and an image of upsampled or downsampled reconstructed picture of the reference layer.
- inter layer syntax prediction may predict or generate a texture of a current block using syntax information of a reference layer.
- the syntax information of the referenced reference layer may include information about an intra prediction mode and motion information.
- Interlayer prediction As an example of interlayer prediction, interlayer texture prediction, interlayer motion prediction, interlayer unit information prediction, interlayer parameter prediction, interlayer residual prediction, interlayer differential prediction, interlayer syntax prediction, and the like have been described. Interlayer prediction applicable to the present invention is not limited thereto.
- inter layer prediction may be applied as an extension of inter prediction for the current layer. That is, the inter prediction of the current block may be performed by including the reference picture derived from the reference layer in reference pictures that can be referred to in inter prediction of the current block.
- the predictor 235 performs interlayer prediction using the interlayer reference picture when the reference picture index received from the encoding apparatus or the reference picture index derived from the neighboring block indicates the interlayer reference picture in the reference picture list. can do. For example, when the reference picture index indicates an interlayer reference picture, the prediction unit 235 may induce a sample value of a region specified by a motion vector in the interlayer reference picture as a prediction block for the current block.
- the interlayer reference picture may be included in a reference picture list for the current block.
- the prediction unit 235 may perform inter prediction on the current block by using the interlayer reference picture.
- the inter-layer reference picture may be a reference picture configured by sampling the reconstructed picture of the reference layer to correspond to the current layer. Therefore, when the reconstructed picture of the reference layer corresponds to the picture of the current layer, the reconstructed picture of the reference layer may be used as the interlayer reference picture without sampling.
- the widths and heights of the samples are the same in the reconstructed picture of the reference ray and the reconstructed picture of the current layer, and are in the top left, top right, bottom left, bottom right, and top left, top right, and left in the picture of the reference layer. If the offset between the bottom and bottom right is 0, the reconstructed picture of the reference layer may be used as the inter-layer reference picture of the current layer without resampling.
- the reconstructed picture of the reference layer from which the interlayer reference picture is derived may be a picture belonging to the same AU as the current picture to be encoded.
- a position in the reference picture list of the interlayer reference picture may be different in the reference picture lists L0 and L1.
- the inter-layer reference picture may be located after the short-term reference pictures before the current picture in the reference picture list L0, and the inter-layer reference picture may be located at the end of the reference picture list in the reference picture list L1.
- the reference picture list L0 is a reference picture list used for inter prediction of a P slice or a reference picture list used as a first reference picture list in inter prediction of a B slice.
- Reference picture list L1 is a second reference picture list used for inter prediction of B slices.
- the reference picture list L0 may be configured in the order of the short-term reference picture (s) before the current picture, the inter-layer reference picture, the short-term reference picture (s) after the current picture, and the long-term reference picture.
- the reference picture list L1 may be configured in the order of the short-term reference picture (s) after the current picture, the short-term reference picture (s) before the current picture, a long-term reference picture, and an inter-layer reference picture.
- a P slice is a slice in which intra prediction is performed or inter prediction is performed using at most one motion vector and a reference picture index per prediction block.
- a bi-predictive slice is a slice in which intra prediction is performed or prediction is performed using a maximum of two motion vectors and a reference picture index per prediction block.
- an I slice is an slice to which only intra prediction is applied.
- the reference picture list may include a plurality of inter-layer reference pictures derived from a plurality of layers.
- the inter-layer reference pictures may be interlaced in the reference picture lists L0 and L1.
- the reference picture lists L0 and L1 For example, assume that two inter-layer reference pictures, an inter-layer reference picture ILRPi and an inter-layer reference picture ILRPj are included in a reference picture list used for inter prediction of the current block.
- ILRPi may be located after the short-term reference pictures before the current picture
- ILRPj may be located at the end of the list.
- ILRPi may be located at the end of the list
- ILRPj may be located after the short-term reference pictures after the current picture.
- the reference picture list L0 may be configured in the order of the short-term reference picture (s) before the current picture, the inter-layer reference picture ILRPi, the short-term reference picture (s) after the current picture, the long-term reference picture, and the inter-layer reference picture ILRPj. Can be.
- the reference picture list L1 may be configured in the order of the short-term reference picture (s) after the current picture, the inter-layer reference picture ILRPj, the short-term reference picture (s) before the current picture, the long-term reference picture, and the inter-layer reference picture ILRPi.
- one of the two inter-layer reference pictures may be an inter-layer reference picture derived from a scalable layer with respect to resolution, and the other may be an inter-layer reference picture derived from a layer providing another view.
- the reference picture list L0 may be configured in the order of the short-term reference picture (s) before the current picture, the inter-layer reference picture ILRPi, the short-term reference picture (s) after the current picture, and a long-term reference picture.
- the reference picture list L1 may be configured in the order of the short-term reference picture (s) after the current picture, the short-term reference picture (s) before the current picture, a long-term reference picture, and an inter-layer reference picture ILRPi.
- the prediction unit 235 uses only the sample value of the interlayer reference picture or only the motion information (motion vector) of the interlayer reference picture according to the information received from the encoding apparatus. Alternatively, both the sample value and the motion information of the interlayer reference picture may be used.
- the prediction unit 235 may derive samples of the block specified by the motion vector in the interlayer reference picture as the prediction sample of the current block.
- the motion vector in inter prediction (inter layer prediction) using inter layer reference pictures may be set to a fixed value (eg, 0).
- the prediction unit 235 may use the motion vector specified in the interlayer reference picture as a motion vector predictor for deriving the motion vector of the current block. Also, the prediction block 235 may use the motion vector specified in the interlayer reference picture as the motion vector of the current block.
- the prediction unit 235 may present the motion information (motion vector) specified in the interlayer reference picture and the sample of the region corresponding to the current block in the interlayer reference picture. Can be used for prediction of blocks.
- the decoding apparatus may receive a reference index indicating the interlayer reference picture in the reference picture list from the encoding apparatus and perform interlayer prediction based on the reference index.
- the decoding apparatus may indicate information (sample information, motion information, sample information, and motion information) to use from the interlayer reference picture, that is, dependency on interlayer prediction between two layers (dependence, dependency).
- Information specifying a type of may also be received from the encoding apparatus.
- the adders 290 and 295 may generate a reconstruction block using the prediction blocks generated by the predictors 235 and 275 and the residual blocks generated by the inverse transformers 230 and 270.
- the adders 290 and 295 can be viewed as separate units (restore block generation unit) for generating the reconstruction block.
- Blocks and / or pictures reconstructed by the adders 290 and 295 may be provided to the filtering units 240 and 280.
- the filtering unit 240 of the layer 1 filters the reconstructed picture by using parameter information transmitted from the predicting unit 235 of the layer 1 and / or the filtering unit 280 of the layer 0. You can also do
- the filtering unit 240 may apply filtering to or between layers using the parameters predicted from the parameters of the filtering applied in the layer 0.
- the memories 245 and 285 may store the reconstructed picture or block to use as a reference picture or reference block.
- the memories 245 and 285 may output the stored reconstructed picture through a predetermined output unit (not shown) or a display (not shown).
- the decoding apparatus is configured to perform reordering, inverse quantization, and inverse transformation in order in one module of the inverse quantization / inverse transformation unit. It can also be configured.
- the decoding apparatus of FIG. 2 may be applied to a multilayer structure including two or more layers.
- layer 0 and layer 1 of FIG. 2 may be two layers indicating a reference relationship among N layers.
- the decoding apparatus may receive information indicating a reference relationship between two layers from the encoding apparatus. For example, if there is a dependency of inter-layer prediction between two layers, the decoding apparatus may receive direct_dependency_flag [L] [M]. When the value of direct_dependency_flag [L] [M] is 1, the L th layer may be predicted with reference to the M th layer.
- the prediction unit of layer 1 may be different from the interlayer prediction unit that performs prediction using information of another layer (layer 0). It may also be regarded as including an inter / intra predictor for performing prediction without using the information of).
- the plurality of layers may have at least one of a resolution, a frame rate, a color format, and a view. Therefore, in order to use information of another layer in inter-layer prediction, upsampling or downsampling for adjusting the resolution may be performed.
- Inter-layer dependency between different layers indicates whether a block / picture of one layer can be decoded with reference to another block / picture of another layer. Therefore, when there is a dependency between the current layer and the reference layer in the multi-layer structure, the current layer may be predicted with reference to the reference layer.
- “Layer” may be representing a coding dimension.
- the coding dimension may be scalability (e.g., spatial scalability, temporal scalability, quality scalability), view (view) and depth coding representation, etc. have.
- Inter-layer dependence may be considered as being applied according to applying inter-layer prediction, but is not limited thereto. For example, however, inter-layer intra prediction, inter-layer motion prediction, inter-layer syntax prediction, inter-layer residual prediction, inter-layer unit prediction, and the like may be included in inter-layer dependency.
- the encoding apparatus may select whether to use inter-layer prediction based on Rate and Distortion (R-D) performance.
- R-D Rate and Distortion
- the decoding apparatus of FIG. 2 may be implemented as various electronic devices capable of playing back, or playing back and displaying an image.
- the decoding device may be implemented in or included in a set-top box, a television, a computer system, a portable telephone, a personal terminal such as a tablet PC, or the like.
- scalable coding In the case of encoding and decoding of a video supporting a plurality of layers in a bitstream, that is, scalable coding, since there is a strong correlation between the plurality of layers, the prediction is performed by using the correlation. Duplicate elements can be removed and the encoding performance of the image can be improved. Performing prediction of the current layer, which is a target of prediction using information of another layer, is referred to as inter-layer prediction in the following.
- Scalable video coding has the same meaning as scalable video coding from a coding point of view and scalable video decoding from a decoding point of view.
- At least one of a resolution, a frame rate, and a color format may be different from each other, and upsampling or downsampling of a layer may be performed to adjust resolution when inter-layer prediction is performed.
- inter-layer dependency between coded blocks / pictures may be designed such that a block / picture of one layer may be decoded with reference to another block / picture of another layer.
- a layer may be named as a representation of an inter-layer dependency, for example, scalability (eg, spatial scalability, temporal scalability, quality scalability), viewpoints, and Depth coding representations and the like.
- Inter-layer dependencies may be considered coding dependencies due to the use of inter-layer prediction techniques.
- the interlayer prediction includes, but is not limited to, interlayer intra prediction, interlayer motion prediction, interlayer syntax prediction, interlayer residual prediction, interlayer unit prediction, and the like.
- FIG. 3 and 4 are diagrams for explaining inter-layer dependency
- FIG. 3 is a diagram for explaining inter-layer dependency on spatial scalability
- FIG. 4 is a diagram for explaining inter-layer dependency on multi-view to be.
- the spatial base layer is coded without the inter-layer dependency of other scalability layers, and for this reason is called a base layer.
- Spatial enhancement layer 1 is coded with reference to the coded block / picture of the spatial base layer.
- Spatial enhancement layer 2 is coded with reference to the coded block / picture of spatial enhancement layer 1.
- Spatial enhancement layer 3 is coded with reference to the coded block / picture of spatial enhancement layer 1.
- the above-described inter layer dependency also applies to multiview coding.
- a coded sequence of time zero / base time is coded without inter layer dependency.
- Viewpoint 1 is coded with reference to the coded block / picture of viewpoint 0.
- Viewpoint 2 is coded with reference to the coded blocks / pictures of viewpoint 0 and viewpoint 1.
- Viewpoint 3 is coded with reference to the coded block / picture of viewpoint 2.
- the inter layer dependency may be signaled as shown in Table 1 in the extension of the video parameter set (VPS).
- num_direct_ref_layers [i] indicates the number of layers referenced by the picture of the i-th layer.
- ref_layer_id [i] [j] represents the j-th layer referenced by the i-th layer.
- vps_max_layers_minus1 of Table 1 is defined in the VPS, and the table is shown in Table 2 below.
- a value obtained by adding 1 to vps_max_num_layers_minus1 indicates the maximum number of layers that may exist in a coded video sequence (CVS).
- vps_extension_flag represents whether or not there is a VPS extension shown in Table 1.
- vps_extension_data_flag represents whether VPS extension data exists.
- vps_extension_data_flag is signaled when vps_extension_flag is 1.
- Ref_layer_id [i] [j] of Table 1 indicates 'nuh_layer_id' of the NAL unit header shown in Table 3 below.
- 'Nuh_layer_id' means a layer id for identifying a layer.
- ref_layer_id [i] [j] indicates nuh_layer_id of the j-th layer referenced by the i-th layer.
- forbidden_zero_bit should be 0 among information included in the NAL unit header.
- nal_unit_type means the data structure of the RBSP included in the corresponding NAL unit. There are a plurality of types according to the data structure of the RBSP.
- nuh_layer_id indicates a syntax element nuh_layer_id value included in a video coding layer (VCL) NAL unit of an i-th layer.
- nuh_layer_id may have a value from 0 to 63, and if layer_id_in_nuh [i] does not exist, nuh_layer_id is inferred to 1.
- layer_id_in_nuh [i] is layer_id_in_nuh [i? Must have a value greater than 1].
- Nuh_layer_id identifying a layer shown in Table 3 is signaled as layer 0 in the case of a base layer having no inter-layer dependency, and a layer referring to the base layer is signaled as a value greater than zero.
- a value specified by nuh_temporal_id_plus1 means an identifier of a temporal layer for a network abstraction layer (NAL) unit.
- the temporal layer refers to a layer of a temporally scalable bitstream composed of VCL NAL units, and the temporal layer has a specific temporal_id value.
- the design of the inter-layer dependency and the signaling of the dependency information can be usefully used for bitstream extraction for processing a given target layer.
- FIG. 5 is a diagram illustrating an example of a bitstream extractor that extracts some bitstreams from an input bitstream having a plurality of layers.
- the bitstream extractor generates a target layer as an output stream by removing a layer larger than a given target layer in the bitstream.
- the layer larger than the target layer may mean a layer having nuh_layer_id larger than the nuh_layer_id of the target layer, and may be a layer having a larger scalability than the target layer or a layer having a larger viewpoint.
- Such a bitstream extractor may perform an operation of extracting a bitstream when all layers having scalability equal to or smaller than the target layer cannot depend on any layer having scalability greater than the target layer.
- a coded picture of layer x with x greater than 0 as layer id will have coding dependencies only for reference pictures present in layer y with y less than x as layer id (that is, 0 ⁇ y ⁇ x). Can be.
- a coded picture of layer x having x greater than 0 as layer id may have coding dependency only on pictures in layer y having y smaller than x as layer id (that is, 0 ⁇ y ⁇ x). .
- inter-layer dependency may be signaled as follows.
- Table 4 Information on interlayer dependencies signaled by the VPS extension is shown in Table 4 below.
- Table 4 is not a syntax variant compared to Table 1.
- the semantics for ref_layer_id [i] [j] can be changed.
- num_direct_ref_layers [i] indicates the number of layers referenced by the picture of the i-th layer. For any possible value of i, num_direct_ref_layers [i] must be less than or equal to i.
- Ref_layer_id [i] [j] in Table 4 represents the j-th layer referenced by the i-th layer. For any possible value of i ref_layer_id [i] [j] must be less than or equal to i. That is, j must be less than or equal to i.
- num_direct_ref_layers [i] indicates the number of layers referenced by the picture of the i-th layer. For any possible value of i, num_direct_ref_layers [i] must be less than or equal to i.
- Delta_ref_layer_id [i] [j] of Table 5 represents a difference value between the current layer (i th layer) identifier (layer id) and the reference layer (j th layer) identifier.
- variable RefLayerId [i] [j] can be calculated as follows.
- RefLayerId [i] [j] i-delta_ref_layer_id [i] [j]
- delta_ref_layer_id [i] [j] is coded as ue (v). That is, according to this option, delta_ref_layer_id [i] [j] may be signaled with a variable number of bits instead of a fixed number of bits.
- the syntax for VPS extension according to this option is shown in Table 6.
- num_direct_ref_layers [i] indicates the number of layers referenced by the picture of the i-th layer. For any possible value of i, num_direct_ref_layers [i] must be less than or equal to i.
- delta_ref_layer_id [i] [j] represents a difference value between the current layer (i th layer) identifier and the reference layer (j th layer) identifier.
- variable RefLayerId [i] [j] can be calculated as follows.
- RefLayerId [i] [j] i-delta_ref_layer_id [i] [j]
- num_direct_ref_layers [i] indicates the number of layers referenced by the picture of the i-th layer. For any possible value of i, num_direct_ref_layers [i] must be less than or equal to i.
- a value obtained by adding 1 to delta_ref_layer_id_minus1 [i] [j] in Table 7 represents a difference between the current layer (i th layer) identifier and the reference layer (j th layer) identifier.
- variable RefLayerId [i] [j] can be calculated as follows.
- RefLayerId [i] [j] i-delta_ref_layer_id_minus1 [i] [j]-1
- delta_ref_layer_id_minus1 [i] [j] is coded as ue (v). That is, according to this option, delta_ref_layer_id_minus1 [i] [j] may be signaled with a variable number of bits instead of a fixed number of bits.
- the syntax for VPS extension according to this option is shown in Table 8.
- num_direct_ref_layers [i] indicates the number of layers referenced by the picture of the i-th layer. For any possible value of i, num_direct_ref_layers [i] must be less than or equal to i.
- a value obtained by adding 1 to delta_ref_layer_id_minus1 [i] [j] represents a difference value between the current layer (i th layer) identifier and the reference layer (j th layer) identifier.
- variable RefLayerId [i] [j] can be calculated as follows.
- RefLayerId [i] [j] i-delta_ref_layer_id_minus1 [i] [j]-1
- the syntax elements of Tables 4 to 8 may be signaled by being included in slice headers for individual pictures rather than VPS extensions. In this case, the number of layers each picture has a dependency and the id of the layer having a dependency may be signaled.
- signaling the inter-layer dependency in the VPS extension as shown in the various options and tables may include several problems as follows.
- the restrictions on interlayer dependencies are so weak that there is a possibility that the i th layer refers to the j th layer that is equal to or greater than i.
- Option 1 signal a map for layer dependencies
- the jth bit of ref_layers_map [i] having a value of 0 indicates that the ith layer has no dependency on the layer whose layer_id is j.
- the jth bit of ref_layers_map [i] has a value of 1 indicates that the ith layer has layer_id. Indicates that there is a dependency on the layer where j is j.
- the layer referenced by the current picture and the layer not referred to are distinguished by distinguishing between 0 and 1 by signaling a map of the dependency without directly signaling the layer of the reference picture referenced by the current picture. Can be identified.
- a flag indicating the independence of the layer that is, signaling whether the layer is an independent layer, and signaling a map of layer dependency for the non-independent dependent layer.
- the syntax for the VPS extension for this option is shown in Table 10.
- layer_dependency_flag [i] when layer_dependency_flag [i] is 0, it indicates that the layer whose layer_id is (i + 1) is an independent layer. Conversely, when layer_dependency_flag [i] is 1, it indicates that the layer with layer_id of (i + 1) is a dependent layer referring to at least one other layer.
- the jth bit of ref_layers_map [i] having a value of 0 indicates that the ith layer has no dependency on the layer whose layer_id is j.
- the jth bit of ref_layers_map [i] has a value of 1 indicates that the ith layer has layer_id. Indicates that there is a dependency on the layer where j is j.
- NumDepLayers is initially set to 0, and NumDepLayers is incremented by one each time the layer has a dependency.
- ref_layers_map [i] is signaled corresponding to the value of the final NumDepLayers, that is, the number of dependent layers.
- Option 3 signal a map indicating layer independence and map for layer dependencies
- layer_dependency_map signals a pattern consisting of 0's and 1's having a number of bits having a length equal to vps_max_layers_minus1. If the i-th bit of layer_dependency_map is 0, this indicates that the layer whose layer_id is (i + 1) is an independent layer. On the contrary, when the i-th bit of layer_dependency_map is 1, the layer whose layer_id is (i + 1) is the dependent layer. Indicates.
- NumDepLayers represents the sum of the number of bits of the layer_dependency_map having a value of 1 and may be expressed as follows.
- the jth bit of ref_layers_map [i] having a value of 0 indicates that the ith layer has no dependency on the layer whose layer_id is j.
- the jth bit of ref_layers_map [i] has a value of 1 indicates that the ith layer has layer_id. Indicates that there is a dependency on the layer where j is j.
- This option is a variation on option 2, where flags for layer independence and maps for layer dependencies are signaled.
- the syntax for VPS extension for this option is shown in Table 12.
- layer_dependency_flag [i] is 0, this means that the layer with layer_id of (i + 1) is an independent layer, whereas 1 means that the layer with layer_id of (i + 1) is a dependent layer that references at least one other layer. do.
- Ref_layers_map [i] signals a pattern consisting of 0's and 1's with the number of bits having a length equal to i.
- the jth bit of ref_layers_map [i] having a value of 0 indicates that the ith layer has no dependency on the layer whose layer_id is j.
- the jth bit of ref_layers_map [i] has a value of 1 indicates that the ith layer has layer_id. Indicates that there is a dependency on the layer where j is j.
- ref_layers_map [i] signals a pattern consisting of 0's and 1's having a number of bits having a length equal to i.
- the jth bit of ref_layers_map [i] having a value of 0 indicates that the ith layer has no dependency on the layer whose layer_id is j.
- the jth bit of ref_layers_map [i] has a value of 1 indicates that the layer_id is i. Indicates that layer_id may refer to a layer having j.
- ref_layers_map [i] has a value of 1, it may indicate that a layer with layer_id of i has a dependency referencing a layer with layer_id of j, and a layer with layer_id of i may have a dependency referencing a layer with layer_id of j It may also indicate what may may be.
- This option is a variation on option 4, where a flag for layer independence and a flag for layer dependency are signaled.
- the syntax for the VPS extension for this option is shown in Table 13.
- layer_dependency_flag [i] is 0, this means that the layer with layer_id of (i + 1) is an independent layer, whereas 1 means that the layer with layer_id of (i + 1) is a dependent layer that references at least one other layer. do.
- ref_layers_flag [i] [j] 0 indicates that the layer with layer_id i does not refer to the layer with layer_id equal to j, whereas ref_layers_flag [i] [j] equals 1 indicates that layer_id equals i.
- layer represents that may refer to a layer whose layer_id is j.
- ref_layers_flag [i] [j] 0 indicates that the layer with layer_id i does not refer to the layer whose layer_id is j.
- ref_layers_flag [i] [j] 1 indicates that the layer whose layer_id is i is layer_id. Denotes a layer that is j.
- ref_layers_flag [i] [j] may be inferred as 0. .
- ref_layers_map [i] has a value of 1, it may indicate that a layer with layer_id of i has a dependency referencing a layer with layer_id of j, and a layer with layer_id of i may have a dependency referencing a layer with layer_id of j It may also indicate what may may be.
- i and j may be indexes for identifying layers in the entire bitstream instead of layer ids. That is, the index may be an index of the current layer and the reference layer, not the layer id specifying the layer. For two layers, a large layer id also has a large layer index. Therefore, i and j identifying a layer when interpreting the syntax may be interpreted as a layer index.
- the flag information indicating whether the layer j depends on the layer i may be signaled by a syntax element such as direct_dependency_flag [i] [j] as well as the above-described ref_layers_flag [i] [j].
- direct_dependency_flag [i] [j] indicates whether the i th layer directly refers to the j th layer. If direct_dependency_flag [i] [j] is 0, the layer indexed by j is a direct reference layer to the layer indexed by i. If direct_dependency_flag [i] [j] is 1, the layer indexed by j indicates that the layer referenced by i may be a direct reference layer.
- a direct reference relationship means that one layer directly references another layer.
- the spatial enhancement layer 3 of FIG. 3 can be seen as a direct reference to the coded block / picture of the spatial enhancement layer 1.
- This option is a variation on option 5, where a flag for layer independence and a flag for layer dependency are signaled.
- the syntax for the VPS extension for this option is shown in Table 14.
- layer_dependency_flag [i] is 0, this means that the layer with layer_id of (i + 1) is an independent layer, whereas 1 means that the layer with layer_id of (i + 1) is a dependent layer that references at least one other layer. do.
- ref_layers_flag [i] [j] 0 indicates that the layer with layer_id i does not refer to the layer with layer_id equal to j, whereas ref_layers_flag [i] [j] equals 1 indicates that layer_id equals i.
- layer represents that may refer to a layer whose layer_id is j.
- ref_layers_flag [i] [j] 0 indicates that the layer with layer_id i does not refer to the layer whose layer_id is j.
- ref_layers_flag [i] [j] 1 indicates that the layer whose layer_id is i is layer_id. Denotes a layer that is j.
- ref_layers_map [i] has a value of 1, it may indicate that a layer with layer_id of i has a dependency referencing a layer with layer_id of j, and a layer with layer_id of i may have a dependency referencing a layer with layer_id of j It may also indicate what may may be.
- the ref_layers_flag is signaled by the number of dependent layers NumDepLayers. According to this option, NumDepLayers is initially set to 0, and NumDepLayers is incremented by one each time the layer has a dependency.
- ref_layers_map [i] is signaled corresponding to the value of the final NumDepLayers, that is, the number of dependent layers.
- direct_dependency_flag [i] [j] may indicate whether the i th layer directly refers to the j th layer.
- direct_dependency_flag [i] [j] 0 indicates that the layer indexed by j is not a direct reference layer to the layer indexed by i;
- direct_dependency_flag [i] [j] 1 indicates that the layer indexed by j is indexed by i Indicates that it can be a direct reference layer to a layer.
- direct_dependency_flag [i] [j] can be inferred to be 0 if there are no values for i and j that may have a value between 0 and the value (vps_max_layers_minus1) signaled as the maximum number of layers. have.
- the decoding apparatus can grasp the dependency of a layer in a bitstream supporting a plurality of layers, and can perform interlayer prediction using the layer dependency.
- FIG. 6 is a control block diagram illustrating a video decoding apparatus according to the present invention.
- the decoding apparatus includes a parser 610 for parsing image information and a predictor 620 for predicting a current layer using image information of the parser 610.
- the parser 610 receives and parses reference information indicating whether a layer having a layer ID smaller than the current layer can be a reference layer of the current layer. That is, the parser 610 receives the reference information and identifies a reference layer that the current layer can refer to based on the reference information.
- the layer ID indicates a layer ID signaled in the NAL unit header, that is, a value identified by the syntax element layer_id_in_nuh [i].
- Reference information may be flag information indicating whether a reference layer of the current layer may be used.
- the flag information may be signaled with a syntax element such as ref_layers_flag [i] [j] or direct_dependency_flag [i] [j], and in accordance with the present invention, the flag information is included in the video parameter set extension to signal the signaling. Can be.
- the predictor 620 predicts a picture of the current layer by referring to a reference layer having a value of flag information 1. If the value of the flag information is 0, the prediction unit predicts the picture of the current layer without referring to the layer having the value of the flag information 0.
- the prediction unit 620 may infer the flag information value to 0 to perform prediction on the current layer without dependency on the reference layer.
- the parsing unit 610 may receive and parse the number of reference layers having a layer ID smaller than the current layer referenced by the current layer, and receive and parse identification information for identifying as many reference layers as the number of reference layers.
- the identification information may be a layer ID of the reference layer or may be a difference between layer IDs of the reference layer and the previous reference layer.
- the parser 610 may receive and parse layer dependency information indicating whether the current layer is a dependent layer referring to at least one other layer.
- the layer dependency information may be dependency flag information indicating whether the current layer is a dependent layer.
- flag information indicating whether a layer having a layer ID smaller than the current layer may become a reference layer of the current layer may be received when the layer dependency flag is 1.
- the parser 610 may receive and parse dependency type information indicating a type of dependency between the reference layer and the current layer.
- direct_dependency_type [i] [j] may indicate a dependency type between a layer having nuh_layer_id equal to layer_id_in_nuh [i] signaled in the VPS extension and a layer having nuh_layer_id equal to layer_id_in_nuh [j].
- the layer with nuh_layer_id equal to layer_id_in_nuh [j] is used for inter-layer sample prediction of the layer with nuh_layer_id equal to layer_id_in_nuh [i] and not used for inter-layer motion prediction. Can be represented.
- a layer with nuh_layer_id equal to layer_id_in_nuh [j] may indicate that it is used for both inter-layer sample prediction and inter-layer motion prediction of the layer with nuh_layer_id equal to layer_id_in_nuh [i]. have.
- the prediction unit 620 may use at least one of inter-layer motion prediction and inter-layer sample prediction for prediction of the current layer in response to the dependency type information.
- FIG. 7 is a control flowchart illustrating a method of decoding an image according to an embodiment of the present invention. A method of decoding an image according to the present embodiment will be described with reference to FIG. 7 as follows.
- the parsing unit which may be implemented by the entropy decoding unit, receives reference information indicating whether a layer having a layer ID smaller than the current layer may be a reference layer of the current layer (S710).
- a reference layer that can be referenced by the current layer is identified (S715).
- Such reference information may be flag information indicating whether a reference layer of the current layer may be used or map information indicating whether the reference layer is a reference layer of the current layer.
- the reference information is a map is described in the description of Tables 9 to 12, and the reference information is flag information is described with reference to Tables 13 to 15.
- the flag information of 1 may mean that a layer having a layer ID smaller than the current layer may be a reference layer of the current layer. That is, a layer having a layer ID smaller than the current layer may or may not be a reference layer of the current layer.
- the parser may receive and parse dependency type information indicating a type of dependency between the reference layer and the current layer (S730).
- the prediction unit may predict the picture of the current layer with reference to the reference layer having the value of flag information 1 corresponding to the flag information and the dependency type information (S740).
- the prediction unit may predict the picture of the current layer without referring to the layer having the value of the flag information 0 (S750).
- a layering signaling method and an apparatus using the same may be provided so that the layer ID may have layer dependency only for a layer having a low layer ID, and the dependency may be taken into consideration when the bitstream extractor extracts a target layer.
- a method for signaling information and an apparatus using the same may be provided.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 따른 복수의 레이어를 포함하는 비트스트림을 디코딩하는 영상의 디코딩 방법은 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신하는 단계와; 상기 참조 정보에 기초하여 상기 현재 레이어가 참조할 수 있는 상기 참조 레이어를 확인하는 단계와; 상기 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 단계를 포함하고, 상기 레이어 ID는 NAL 유닛 헤더에서 시그널링되는 레이어 ID인 것을 특징으로 한다. 이로 인하여, 레이어 ID가 낮은 레이어에 대해서만 레이어 의존성을 가질 수 있도록 하는 레어이 시그널링 방법 및 이를 이용하는 장치가 제공된다.
Description
본 발명은 비디오 압축 기술에 관한 것으로서 더 구체적으로는 스케일러블 비디오 코딩을 수행하는 방법 및 장치에 관한 것이다.
영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가하고 있다.
정보량의 증가로 인해 다양한 성능의 장치와 다양한 환경의 네트워크가 등장하고 있다. 다양한 성능의 장치와 다양한 환경의 네트워크가 등장함에 따라서, 동일한 콘텐츠를 다양한 품질로 이용할 수 있게 되었다.
구체적으로, 단말 장치가 지원할 수 있는 품질의 영상이 다양해지고, 구축된 네트워크 환경이 다양해짐으로써, 어떤 환경에서는 일반적인 품질의 영상을 이용하지만, 또 다른 환경에서는 더 높은 품질의 영상을 이용할 수 있게 된다.
예를 들어, 휴대 단말에서 비디오 콘텐츠를 구매한 소비자가 가정 내 대화면의 디스플레이를 통해 동일한 비디오 콘텐츠를 더 큰 화면과 더 높은 해상도로 감상할 수 있게 되는 것이다.
최근에는 HD(High Definition) 해상도를 가지는 방송이 서비스되면서 많은 사용자들은 이미 고해상도, 고화질의 영상에 익숙해지고 있고, 서비스 제공자와 사용자들은 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)의 서비스에도 관심을 기울이고 있다.
따라서, 다양한 환경에서 사용자가 요구하는 영상 서비스를 품질에 따라서 다양하게 제공하기 위해 고용량 비디오에 대한 고효율의 인코딩/디코딩 방법을 기반으로 영상의 품질, 예컨대 영상의 화질, 영상의 해상도, 영상의 크기, 비디오의 프레임 레이트 등에 스케일러빌러티를 제공하는 것이 필요하다. 또한, 이러한 스케일러빌러티에 수반되는 다양한 영상 처리 방법이 논의되어야 한다.
본 발명의 일 실시예는 레이어 ID가 낮은 레이어에 대해서만 레이어 의존성을 가질 수 있도록 하는 레어이 시그널링 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명의 일 실시예는 비트스트림 추출기가 타겟 레이어를 추출할 때 의존성을 고려할 수 있도록 의존성 정보를 시그널링하는 방법 및 이를 이용하는 장치를 목적으로 한다.
또한, 본 발명에 따른 일 실시예는 현재 슬라이스가 독립적인 슬라이스인지 종속적인 슬라이스인지 여부를 시그널링 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태에 따른 복수의 레이어를 포함하는 비트스트림을 디코딩하는 영상의 디코딩 방법은 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신하는 단계와; 상기 참조 정보에 기초하여 상기 현재 레이어가 참조할 수 있는 상기 참조 레이어를 확인하는 단계와; 상기 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 단계를 포함하고, 상기 레이어 ID는 NAL 유닛 헤더에서 시그널링되는 레이어 ID일 수 있다.
상기 참조 정보는 비디오 파라미터 세트 확장(Video parameter set extension)에 포함되어 시그널링 될 수 있다.
상기 참조 정보는 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 플래그 정보이고, 상기 현재 레이어의 픽쳐를 예측하는 단계는 상기 플래그 정보가 1인 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측할 수 있다.
상기 플래그 정보의 값이 0인 경우, 상기 플래그 정보의 값이 0인 레이어를 참조하지 않고 상기 현재 레이어의 픽쳐를 예측하는 단계를 포함할 수 있다.
상기 현재 레이어가 참조하는 상기 현재 레이어보다 작은 레이어 ID를 갖는 참조 레이어의 개수를 수신하여 파싱하는 단계와; 상기 참조 레이어의 개수만큼의 상기 참조 레이어를 식별하는 식별 정보를 수신하여 파싱하는 단계를 더 포함할 수 있다.
상기 식별 정보는 상기 참조 레이어의 레이어 ID일 수 있다.
상기 식별 정보는 해당 참조 레이어와 이전 참조 레이어의 레이어 ID 차이값일 수 있다.
상기 현재 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인지 여부를 나타내는 레이어 종속성 정보를 수신하여 파싱하는 단계를 더 포함하고, 상기 참조 정보는 상기 레이어 종속성 정보가 상기 현재 레이어가 종속적 레이어인 것을 나타내는 경우 수신될 수 있다.
상기 참조 레이어와 상기 현재 레이어의 의존성 타입(type of dependency)을 나타내는 의존성 타입 정보를 수신하는 단계를 더 포함하고, 상기 현재 레이어의 픽쳐를 예측하는 단계는 상기 의존성 타입 정보에 대응하여 상기 현재 레이어의 예측에 인터 레이어 움직임 예측 및 인터 레이어 샘플 예측 중 적어도 하나를 이용하는 단계를 포함할 수 있다.
본 발명의 다른 실시 형태에 따른 복수의 레이어를 포함하는 비트스트림을 디코딩하는 영상의 디코딩 장치는 상기 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신하고, 상기 참조 정보에 기초하여 상기 현재 레이어가 참조할 수 있는 상기 참조 레이어를 확인하는 파싱부와; 상기 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 예측부를 포함하고, 상기 레이어 ID는 NAL 유닛 헤더에서 시그널링되는 레이어 ID일 수 있다.
본 발명의 일 실시예에 따르면, 레이어 ID가 낮은 레이어에 대해서만 레이어 의존성을 가질 수 있도록 하는 레어이 시그널링 방법 및 이를 이용하는 장치가 제공된다.
또한, 본 발명의 일 실시예에 따르면 비트스트림 추출기가 타겟 레이어를 추출할 때 의존성을 고려할 수 있도록 의존성 정보를 시그널링하는 방법 및 이를 이용하는 장치가 제공된다.
또한, 본 발명의 일 실시예에 따르면 현재 슬라이스가 독립적인 슬라이스인지 종속적인 슬라이스인지 여부를 시그널링 하는 방법 및 이를 이용하는 장치가 제공된다.
도 1은 본 발명의 일 실시예에 따라 스케일러빌러티를 지원하는 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따라 스케일러빌러티를 지원하는 비디오 디코딩 장치를 개략적으로 도시한 블록도이다.
도 3은 공간적 스케일러빌러터에 대한 인터 레이어 의존성을 설명하기 위한 도면이다.
도 4는 다시점에 대한 인터 레이어 의존성을 설명하기 위한 도면이다.
도 5는 복수의 레이어를 갖는 입력된 비트스트림에서 일부 비트스트림을 추출하는 비트스트림 추출기의 일 예를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 도시한 제어 블록도이다.
도 7은 본 발명의 일 실시예에 따른 영상의 디코딩 방법을 설명하기 제어 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
스케일러빌러티를 지원하는 비디오 코딩 방법(이하, ‘스케일러블 코딩’이라 함)에서는 입력 신호들을 레이어 별로 처리할 수 있다. 레이어에 따라서 입력 신호(입력 영상)들은 해상도(resolution), 프레임 레이트(frame rate), 비트 뎁스(bit-depth), 컬러 포맷(color format), 애스팩트 율(aspect ratio) 중 적어도 하나가 상이할 수 있다.
본 명세서에서, 스케일러블 코딩이라 함은 스케일러블 인코딩과 스케일러블 디코딩을 포함한다.
스케일러블 인코딩/디코딩에서는 레이어 간의 차이를 이용하여, 즉 스케일러빌러티에 기반하여, 레이어 간의 예측을 수행함으로써 정보의 중복 전송/처리를 줄이고 압축 효율을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따라 스케일러빌러티를 지원하는 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 1의 예에서는, 설명의 편의를 위해 두 개의 레이어로 구성된 멀티 레이어 구조를 예로서 설명한다. 하지만, 본 발명은 이에 한정되지 않으며, 본 발명이 적용되는 멀티 레이어 구조는 둘 이상의 레이어를 포함할 수 있음에 유의한다.
도 1을 참조하면, 인코딩 장치(100)는 레이어 1에 대한 인코딩부(105)와 레이어 0에 대한 인코딩부(135)를 포함한다.
레이어 0은 베이스 레이어, 참조 레이어 혹은 하위 레이어일 수 있으며, 레이어 1은 인핸스먼트 레이어, 현재 레이어 혹은 상위 레이어일 수 있다.
레이어 1의 인코딩부(105)는 예측부(110), 변환/양자화부(115), 필터링부(120), DPB(Decoded Picture Buffer, 125), 엔트로피 코딩부(130), 및 MUX(Multiplexer, 165)를 포함한다.
레이어 0의 인코딩부(135)는 예측부(140), 변환/양자화부(145), 필터링부(150), DPB(155) 및 엔트로피 코딩부(160)를 포함한다.
예측부(110, 140)는 입력된 영상에 대하여 인터 예측과 인트라 예측을 수행할 수 있다. 예측부(110, 140)는 소정의 처리 단위로 예측을 수행할 수 있다. 예측의 수행 단위는 코딩 유닛(Coding Unit: CU)일 수도 있고, 예측 유닛(Prediction Unit: PU)일 수도 있으며, 변환 유닛(Transform Unit: TU)일 수도 있다.
예컨대, 예측부(110, 140)는 CU 단위로 인터 예측을 적용할 것인지 인트라 예측을 적용할 것인지를 결정하고, PU 단위로 예측의 모드를 결정하며, PU 단위 혹은 TU 단위로 예측을 수행할 수도 있다. 수행되는 예측은 예측 블록의 생성과 레지듀얼 블록(레지듀얼 신호)의 생성을 포함한다.
인터 예측을 통해서는 현재 픽쳐의 이전 픽쳐 및/또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 인트라 예측을 통해서는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측의 모드 또는 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Predictor) 모드 방법 등이 있다. 인터 예측에서는 예측 대상인 현재 PU에 대하여 참조 픽쳐를 선택하고, 참조 픽쳐 내에서 현재 PU에 대응하는 참조 블록을 선택할 수 있다. 예측부(110, 140)는 참조 블록을 기반으로 예측 블록을 생성할 수 있다.
예측 블록은 정수 샘플 단위로 생성될 수도 있고, 정수 이하 픽셀 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 픽셀 단위 혹은 정수 픽셀 이하의 단위로 표현될 수 있다.
인터 예측에 있어서 움직임 정보 즉, 참조 픽쳐의 인덱스, 움직임 벡터, 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다. 스킵 모드가 적용되는 경우에는 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 두 개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래이너 모드(Planar 모드)을 포함할 수 있다. 인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수도 있다.
PU는 다양한 사이즈/형태의 블록일 수 있으며, 예컨대 인터 예측의 경우에 PU는 2N×2N 블록, 2N×N 블록, N×2N 블록, 또는 N×N 블록 (N은 정수) 등일 수 있다. 인트라 예측의 경우에 PU는 2N×2N 블록 또는 N×N 블록 (N은 정수) 등일 수 있다. 이때, N×N 블록 크기의 PU는 특정한 경우에만 적용하도록 설정할 수 있다. 예컨대 최소 크기 CU에 대해서만 NxN 블록 크기의 PU를 이용하도록 정하거나 인트라 예측에 대해서만 이용하도록 정할 수도 있다. 또한, 상술한 크기의 PU 외에, N×mN 블록, mN×N 블록, 2N×mN 블록 또는 mN×2N 블록 (m<1) 등의 PU를 더 정의하여 사용할 수도 있다.
또한, 예측부(110)는 레이어 0의 정보를 이용하여 레이어 1에 대한 예측을 수행할 수 있다. 본 명세서에서는 다른 레이어의 정보를 이용하여 현재 레이어의 정보를 예측하는 방법을, 설명의 편의를 위해, 인터 레이어 예측이라고 한다.
다른 레이어의 정보를 이용하여 예측되는 (즉, 인터 레이어 예측에 의해 예측되는) 현재 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
또한, 현재 레이어에 대한 예측에 이용되는 (즉, 인터 레이어 예측에 이용되는) 다른 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
인터 레이어 예측에 있어서, 현재 블록은 현재 레이어(도 1의 예에서는 레이어 1) 내 현재 픽처 내의 블록으로서, 부호화 대상 블록일 수 있다. 참조 블록은 현재 블록의 예측에 참조되는 레이어(참조 레이어, 도 1의 예에서는 레이어 0)에서 현재 블록이 속하는 픽처(현재 픽처)와 동일한 액세스 유닛(AU: access Unit)에 속하는 픽처(참조 픽처) 내의 블록으로서, 현재 블록에 대응하는 블록일 수 있다.
인터 레이어 예측의 일 예로서, 참조 레이어의 움직임 정보를 이용하여 현재 레이어의 움직임 정보를 예측하는 인터 레이어 움직임 예측이 있다. 인터 레이어 움직임 예측에 의하면, 참조 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다.
인터 레이어 움직임 예측을 적용하는 경우에, 에측부(110)는 참조 레이어의 움직임 정보를 스케일링하여 이용할 수도 있다.
인터 레이어 예측의 또 다른 예로서 인터 레이어 텍스쳐 예측은 복원된 참조 블록의 텍스처를 현재 블록에 대한 예측 값으로 사용할 수 있다. 이때, 예측부(110)는 참조 블록의 텍스처를 업샘플링에 의해 스케일링될 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 유닛 정보 예측에서는 참조 레이어의 유닛(CU, PU 및/또는 TU) 정보를 유도하여 현재 레이어의 유닛 정보로 사용하거나, 참조 레이어의 유닛 정보를 기반으로 현재 레이어의 유닛 정보를 결정할 수 있다.
이때, 유닛 정보는 각 유닛 레벨에서의 정보를 포함할 수 있다. 예컨대, CU 정보의 경우, 파티션(CU, PU 및 또는 TU)에 관한 정보, 변환에 관한 정보, 예측에 대한 정보, 코딩에 대한 정보를 포함할 수 있다. PU 정보의 경우, PU 파티션에 관한 정보, 예측에 관한 정보(예컨대, 움직임 정보, 예측 모드에 관한 정보 등) 등을 포함할 수 있다. TU에 관한 정보는 TU 파티션에 관한 정보, 변환에 관한 정보(변환 계수, 변환 방법 등) 등을 포함할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 파라미터 예측에서는 참조 레이어의 유도된 파라미터를 현재 레이어에서 재사용하거나 참조 레이어에서 사용한 파라미터를 기반으로 현재 레이어에 대한 파라미터를 유도할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 레지듀얼 예측에서는 다른 레이어의 레지듀얼 정보를 이용하여 현재 레이어의 레지듀얼을 예측하고 이를 기반으로 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 차분 예측에서는, 현재 레이어의 복원 픽쳐와 참조 레이어의 복원 픽쳐를 업샘플링 혹은 다운샘플링한 영상들 간의 차분을 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 신택스 예측에서는 참조 레이어의 신택스 정보를 이용하여 현재 블록의 텍스처를 예측하거나 생성할 수 있다. 이때, 참조되는 참조 레이어의 신택스 정보는 인트라 예측 모드에 관한 정보, 움직임 정보를 포함할 수 있다.
상술된 인터 레이어를 이용한 여러 예측 방법은 특정 블록에 대한 예측 시 복 수개가 이용될 수도 있다.
여기서는 인터 레이어 예측의 예로서, 인터 레이어 텍스처 예측, 인터 레이어 움직임 예측, 인터 레이어 유닛 정보 예측, 인터 레이어 파라미터 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 차분 예측, 인터 레이어 신택스 예측 등을 설명하였으나, 본 발명에서 적용할 수 있는 인터 레이어 예측은 이에 한정되지 않는다.
예컨대, 인터 레이어 예측을 현재 레이어에 대한 인터 예측의 확장으로서 적용할 수도 있다. 즉, 참조 레이어로부터 유도된 참조 픽처를 현재 블록의 인터 예측에 참조 가능한 참조 픽처들에 포함시켜서, 현재 블록에 대한 인터 예측을 수행할 수도 있다.
이 경우, 인터 레이어 참조 픽처는 현재 블록에 대한 참조 픽처 리스트에 포함될 수 있다. 예측부(110)는 인터 레이어 참조 픽처를 이용하여 현재 블록에 대한 인터 예측을 수행할 수 있다.
여기서, 인터 레이어 참조 픽처는 참조 레이어의 복원된 픽처를 현재 레이어에 대응하도록 샘플링하여 구성된 참조 픽처일 수 있다. 따라서, 참조 레이어의 복원된 픽처가 현재 레이어의 픽처에 대응하는 경우에는, 샘플링 없이 참조 레이어의 복원된 픽처를 인터 레이어 참조 픽처로 이용할 수 있다. 예컨대, 참조 레이의 복원된 픽처와 현재 레이어의 복원된 픽처에서 샘플들의 폭과 높이가 동일하고, 참조 레이어의 픽처에서 좌상단, 우상단, 좌하단, 우하단과 현재 레이어 의 픽처에서 좌상단, 우상단, 좌하단, 우하단 사이의 오프셋이 0이라면, 참조 레이어의 복원된 픽처를 다시 샘플링하지 않고, 현재 레이어의 인터 레이어 참조 픽처로 사용할 수도 있다.
또한, 인터 레이어 참조 픽처가 유도되는 참조 레이어의 복원 픽처는 부호화 대상인 현재 픽처와 동일한 AU에 속하는 픽처일 수 있다.
인터 레이어 참조 픽처를 참조 픽처 리스트에 포함하여, 현재 블록에 대한 인터 예측을 수행하는 경우에, 인터 레이어 참조 픽처의 참조 픽처 리스트 내 위치는 참조 픽처 리스트 L0과 L1에서 상이할 수 있다. 예컨대, 참조 픽처 리스트 L0에서는 현재 픽처 이전의 단기 참조 픽처들 다음에 인터 레이어 참조 픽처가 위치할 수 있고, 참조 픽처 리스트 L1에서는 참조 픽처 리스트의 마지막에 인터 레이어 참조 픽처가 위치할 수도 있다.
여기서, 참조 픽처 리스트 L0은 P 슬라이스의 인터 예측에 사용되는 참조 픽처 리스트 또는 B 슬라이스의 인터 예측에서 첫 번째 참조 픽처 리스트로 사용되는 참조 픽처 리스트이다. 참조 픽처 리스트 L1은 B 슬라이스의 인터 예측에 사용되는 두 번째 참조 픽처 리스트이다.
따라서, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처의 순서로 구성될 수 있다.
이때, P 슬라이스(predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 1개의 움직임 벡터 및 참조 픽처 인덱스를 이용하여 인터 예측이 수행되는 슬라이스이다. B 슬라이스(bi-predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 두 개의 움직임 벡터와 참조 픽처 인덱스를 이용하여 예측이 수행되는 슬라이스이다. 이와 관련하여, I 슬라이스(intra slice)는 인트라 예측만이 적용된 슬라이스이다.
또한, 인터 레이어 참조 픽처를 포함하는 참조 픽처 리스트를 기반으로 현재 블록에 대한 인터 예측을 수행하는 경우에, 참조 픽처 리스트는 복수의 레이어에서 유도된 복수의 인터 레이어 참조 픽처를 포함할 수 있다.
복수의 인터 레이어 참조 픽처를 포함하는 경우에, 인터 레이어 참조 픽처들은 참조 픽처 리스트 L0과 L1에서 교차 배치될 수도 있다. 예컨대, 두 개의 인터 레이어 참조 픽처, 인터 레이어 참조 픽처 ILRPi와 인터 레이어 참조 픽처 ILRPj가 현재 블록의 인터 예측에 사용되는 참조 픽처 리스트에 포함되는 경우를 가정하자. 이 경우, 참조 픽처 리스트 L0에서 ILRPi는 현재 픽처 이전의 단기 참조 픽처들 다음에 위치하고, ILRPj는 리스트의 마지막에 위치할 수 있다. 또한, 참조 픽처 리스트 L1에서 ILRPi는 리스트의 마지막에 위치하고, ILRPj는 현재 픽처 이후의 단기 참조 픽처들 다음에 위치할 수 있다.
이 경우, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPj의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPj, 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
또한, 두 인터 레이어 참조 픽처들 중 하나는 해상도에 관한 스케일러블 레이어로부터 유도한 인터 레이어 참조 픽처이고, 다른 하나는 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처일 수도 있다. 이 경우, 예컨대, ILRPi가 다른 해상도를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처이고, ILRPj가 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처라면, 뷰(view)를 제외한 스케일러빌러티만을 지원하는 스케일러블 비디오 코딩의 경우 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있고, 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
한편, 인터 레이어 예측에서 인터 레이어 참조 픽처의 정보는 샘플 값만 이용될 수도 있고, 움직임 정보(움직임 벡터)만 이용될 수도 있으며, 샘플 값과 움직임 정보가 모두 이용될 수도 있다. 예측부(110)는 참조 픽처 인덱스가 인터 레이어 참조 픽처를 지시하는 경우에, 인코딩 장치로부터 수신한 정보에 따라서 인터 레이어 참조 픽처의 샘플 값만 이용하거나, 인터 레이어 참조 픽처의 움직임 정보(움직임 벡터)만 이용하거나, 인터 레이어 참조 픽처의 샘플 값과 움직임 정보를 모두 이용할 수 있다.
인터 레이어 참조 픽처의 샘플 값만을 이용하는 경우에, 예측부(110)는 인터 레이어 참조 픽처에서 움직임 벡터가 특정하는 블록의 샘플들을 현재 블록의 예측 샘플로서 유도할 수 있다. 뷰(view)를 고려하지 않는 스케일러블 비디오 코딩의 경우에, 인터 레이어 참조 픽처를 이용하는 인터 예측(인터 레이어 예측)에서의 움직임 벡터는 고정된 값(예컨대, 0)으로 설정될 수 있다.
인터 레이어 참조 픽처의 움직임 정보만을 이용하는 경우에, 예측부(110)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터를 유도하기 위한 움직임 벡터 예측자로 사용할 수 있다. 또한, 예측부(110)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터로 이용할 수도 있다.
인터 레이어 참조 픽처의 샘플과 움직임 정보를 모두 이용하는 경우에, 예측부(110)는 인터 레이어 참조 픽처에서 현재 블록에 대응하는 영역의 샘플과 인터 레이어 참조 픽처에서 특정되는 움직임 정보(움직임 벡터)를 현재 블록의 예측에 이용할 수 있다.
인코딩 장치는 인터 레이어 예측이 적용되는 경우에, 참조 픽처 리스트에서 인터 레이어 참조 픽처를 지시하는 참조 인덱스를 디코딩 장치로 전송할 수 있으며, 인터 레이어 참조 픽처로부터 어떤 정보(샘플 정보, 움직임 정보 또는 샘플 정보와 움직임 정보)를 이용할 것인지를 특정하는 정보, 즉 두 레이어 사이에서 인터 레이어 예측에 관한 디펜던시(의존성, dependency)의 타입(dependency type)을 특정하는 정보도 디코딩 장치로 전송할 수 있다.
변환/양자화부(115, 145)는 변환 블록 단위로 레지듀얼 블록에 대한 변환을 수행하여 변환 계수를 생성하고, 변환 계수를 양자화 할 수 있다.
변환 블록은 샘플들의 사각형 블록으로서 동일한 변환이 적용되는 블록이다. 변환 블록은 변환 유닛(TU)일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다.
변환/양자화부(115, 145)는 레지듀얼 블록에 적용된 예측 모드와 블록의 크기에 따라서 변환을 수행해서 변환 계수들의 2차원 어레이를 생성할 수 있다. 예컨대, 레지듀얼 블록에 인트라 예측이 적용되었고 블록이 4x4의 레지듀얼 배열이라면, 레지듀얼 블록을 DST(Discrete Sine Transform)를 이용하여 변환하고, 그 외의 경우라면 레지듀얼 블록을 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
변환/양자화부(115, 145)는 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다.
변환/양자화부(115, 145)는 양자화된 변환 계수를 엔트로피 코딩부(130, 180)로 전달할 수 있다. 이때, 변환/양자화부(145)는 양자화된 변환 계수의 2차원 어레이를 소정의 스캔 순서에 따라 1차원 어레이로 재정렬하여 엔트로피 코딩부(130, 180)로 전달할 수도 있다. 또한, 변환/양자화부(115, 145)는 인터 예측을 위해, 레지듀얼과 예측 블록을 기반으로 생성된 복원 블록을 변환/양자화하지 않고, 필터링부(120, 150)에 전달할 수 있다.
한편, 변환/양자화부(115, 145)는 필요에 따라서, 변환을 생략(skip)하고 양자화만 수행하거나 변환과 양자화를 모두 생략할 수도 있다. 예컨대, 변환/양자화부(115, 165)는 특정한 예측 방법이 적용되거나 특정 크기를 갖는 블록, 혹은 특정 예측 블록이 적용된 특정한 크기의 블록에 대하여 변환을 생략할 수도 있다.
엔트로피 코딩부(130, 160)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 인코딩 방법을 사용할 수 있다.
필터링부(120, 150)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽쳐에 적용할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
필터링부(120, 150)는 디블록킹 필터, ALF, SAO를 모두 적용하지 않고 디블록킹 필터만 적용하거나 디블록킹 필터와 ALF만 적용하거나 디블록킹 필터와 SAO만을 적용할 수도 있다.
DPB(125, 155)는 필터링부(120, 150)로부터 복원 블록 또는 복원 픽쳐를 전달받아 저장할 수 있다. DPB(125, 155)는 복원 블록 또는 픽쳐를 인터 예측을 수행하는 예측부(110, 140)에 제공할 수 있다.
레이어 0의 엔트로피 코딩부(160)에서 출력되는 정보와 레이어 1의 엔트로피 코딩부(130)에서 출력되는 정보는 MUX(185)에서 멀티플렉싱되어 비트스트림으로 출력될 수 있다.
한편, 여기서는 설명의 편의를 위해, 레이어 1의 인코딩부(105)가 MUX(165)를 포함하는 것으로 설명하였으나, MUX는 레이어 1의 인코딩부(105) 및 레이어 0의 인코딩부(135)와는 별도의 장치 혹은 모듈일 수 있다.
또한, 여기서는 두 개의 레이어로 구성된 멀티 레이어 구조에서 스케일러블 비디오 코딩이 수행되는 것을 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 도 1의 인코딩 장치는 둘 이상의 레이어를 포함하는 멀티 레이어 구조에도 적용될 수 있다. N개의 레이어로 구성된 멀티 레이어 구조에 적용되는 경우에, 도 1의 레이어 0과 레이어 1은 N 개의 레이어 중 참조 관계를 나타내는 두 레이어일 수 있다.
이때, 인코딩 장치는 두 레이어 간의 참조 관계를 나타내는 정보를 디코딩 장치로 전송할 수 있다. 예컨대, 두 레이어 간에 인터 레이어 예측의 의존 관계가 존재하는 경우, 인코딩 장치는 direct_dependency_flag[L][M]을 전송할 수 있다. direct_dependency_flag[L][M]의 값이 1인 경우에 L 번째 레이어는 M 번째 레이어를 참조하여 예측될 수 있다.
도 2는 본 발명에 따라서 스케일러블 코딩을 수행하는 인코딩 장치에서의 인터 레이어 예측에 관한 일 예를 설명하는 블록도이다.
도 2를 참조하면, 디코딩 장치(200)는 레이어 1의 디코딩부(210)와 레이어 0의 디코딩부(250)를 포함한다.
레이어 0은 베이스 레이어, 참조 레이어 혹은 하위 레이어일 수 있으며, 레이어 1은 인핸스먼트 레이어, 현재 레이어 혹은 상위 레이어일 수 있다.
레이어 1의 디코딩부(210)는 엔트로피 디코딩부(215), 재정렬부(220), 역양자화부(225), 역변환부(230), 예측부(235), 필터링부(240), 메모리를 포함할 수 있다.
레이어 0의 디코딩부(250)는 엔트로피 디코딩부(255), 재정렬부(260), 역양자화부(265), 역변환부(270), 예측부(275), 필터링부(280), 메모리(285)를 포함할 수 있다.
인코딩 장치로부터 영상 정보를 포함하는 비트스트림이 전송되면, DEMUX(205)는 레이어별로 정보를 디멀티플렉싱하여 각 레이어별 디코딩 장치로 전달할 수 있다.
엔트로피 디코딩부(215, 255)는 인코딩 장치에서 사용한 엔트로피 코딩 방식에 대응하여 엔트로피 디코딩을 수행할 수 있다. 예컨대, 인코딩 장치에서 CABAC이 사용된 경우에, 엔트로피 디코딩부(215, 255)도 CABAC을 이용하여 엔트로피 디코딩을 수행할 수 있다.
엔트로피 디코딩부(215, 255)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(235, 275)로 제공되고, 엔트로피 디코딩부(215, 255)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(220, 260)로 입력될 수 있다.
재정렬부(220, 260)는 엔트로피 디코딩부(215, 255)에서 엔트로피 디코딩된 비트스트림의 정보, 즉 양자화된 변환 계수를 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다.
예컨대, 재정렬부(220, 260)는 1차원 어레이의 양자화된 변환 계수들을 다시 2차원 어레이의 계수들로 재정렬할 수 있다. 재정렬부(220, 260)는 현재 블록(변환 블록)에 적용된 예측 모드 및/또는 변환 블록의 크기를 기반으로 스캐닝을 수행하여 계수(양자화된 변환 계수)들의 2차원 어레이를 생성할 수 있다.
역양자화부(225, 265)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행하여 변환 계수들을 생성할 수 있다.
역변환부(230, 270)는 변환 계수들에 대하여 인코딩 장치의 변환부가 수행한 변환에 대한 역변환을 수행할 수 있다. 역변환부(230, 270)는 인코딩 장치에서 수행된 DCT(Discrete Cosine Transform) 및 DST(Discrete Sine Transform)에 대해 역DCT 및/또는 역DST를 수행할 수 있다.
인코딩 장치에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(230, 270)는 인코딩 장치에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예컨대, 역변환부(230, 270)은 예측 모드/블록 크기에 따라서 역DCT와 역DST를 적용할 수 있다. 가령, 역변환부(230, 270)은 인트라 예측이 적용된 4x4 루마 블록에 대해서 역DST를 적용할 수도 있다.
또한, 역변환부(230, 270)는 예측 모드/블록 크기에 상관 없이, 특정 역변환 방법을 고정적으로 사용할 수도 있다. 예컨대, 역변환부(330, 370)는 모든 변환 블록에 역DST만을 적용할 수 있다. 또한, 역변환부(330, 370)는 모든 변환 블록에 역DCT만을 적용할 수도 있다.
역변환부(230, 270)는 변환 계수들 혹은 변환 계수의 블록을 역변환하여 레지듀얼 혹은 레지듀얼 블록을 생성할 수 있다.
역변환부(230, 270)는 또한, 필요에 따라서 혹은 인코딩 장치에서 인코딩된 방식에 따라서, 변환을 생략(skip) 할 수도 있다. 예컨대, 역변환(230, 270)는 특정한 예측 방법이 적용되거나 특정 크기를 갖는 블록, 혹은 특정 예측 블록이 적용된 특정한 크기의 블록에 대하여 변환을 생략할 수도 있다.
예측부(235, 275)는 엔트로피 디코딩부(215, 255)로부터 전달된 예측 블록 생성 관련 정보와 메모리(245, 285)에서 제공된 이전에 디코딩된 블록 및/또는 픽쳐 정보를 기초로 현재 블록에 대한 예측 블록을 생성할 수 있다.
현재 블록에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 예측부(235, 275)는 현재 픽쳐 내의 픽셀 정보를 기초로 현재 블록에 대한 인트라 예측을 수행할 수 있다.
현재 블록에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 예측부(235, 275)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 블록에 대한 인터 예측을 수행할 수 있다. 인터 예측에 필요한 움직임 정보의 일부 또는 전부는 인코딩 장치로부터 수신한 정보를 확인하고, 이에 대응하여 유도될 수 있다.
인터 예측의 모드로서 스킵 모드가 적용되는 경우에는 인코딩 장치로부터 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.
한편, 레이어 1의 예측부(235)는 레이어 1 내의 정보만을 이용하여 인터 예측 또는 인트라 예측을 수행할 수도 있고, 다른 레이어(레이어 0)의 정보를 이용하여 인터 레이어 예측을 수행할 수도 있다.
다른 레이어의 정보를 이용하여 예측되는 (즉, 인터 레이어 예측에 의해 예측되는) 현재 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
또한, 현재 레이어에 대한 예측에 이용되는 (즉, 인터 레이어 예측에 이용되는) 다른 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
인터 레이어 예측에 있어서, 현재 블록은 현재 레이어(도 2의 예에서는 레이어 1) 내 현재 픽처 내의 블록으로서, 복호화 대상 블록일 수 있다. 참조 블록은 현재 블록의 예측에 참조되는 레이어(참조 레이어, 도 2의 예에서는 레이어 0)에서 현재 블록이 속하는 픽처(현재 픽처)와 동일한 액세스 유닛(AU: access Unit)에 속하는 픽처(참조 픽처) 내의 블록으로서, 현재 블록에 대응하는 블록일 수 있다.
인터 레이어 예측의 일 예로서, 참조 레이어의 움직임 정보를 이용하여 현재 레이어의 움직임 정보를 예측하는 인터 레이어 움직임 예측이 있다. 인터 레이어 움직임 예측에 의하면, 참조 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다.
인터 레이어 움직임 예측을 적용하는 경우에, 에측부(235)는 참조 레이어의 움직임 정보를 스케일링하여 이용할 수도 있다.
인터 레이어 예측의 또 다른 예로서 인터 레이어 텍스쳐 예측은 복원된 참조 블록의 텍스처를 현재 블록에 대한 예측 값으로 사용할 수 있다. 이때, 예측부(235)는 참조 블록의 텍스처를 업샘플링에 의해 스케일링될 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 유닛 정보 예측에서는 참조 레이어의 유닛(CU, PU 및/또는 TU) 정보를 유도하여 현재 레이어의 유닛 정보로 사용하거나, 참조 레이어의 유닛 정보를 기반으로 현재 레이어의 유닛 정보를 결정할 수 있다.
이때, 유닛 정보는 각 유닛 레벨에서의 정보를 포함할 수 있다. 예컨대, CU 정보의 경우, 파티션(CU, PU 및 또는 TU)에 관한 정보, 변환에 관한 정보, 예측에 대한 정보, 코딩에 대한 정보를 포함할 수 있다. PU 정보의 경우, PU 파티션에 관한 정보, 예측에 관한 정보(예컨대, 움직임 정보, 예측 모드에 관한 정보 등) 등을 포함할 수 있다. TU에 관한 정보는 TU 파티션에 관한 정보, 변환에 관한 정보(변환 계수, 변환 방법 등) 등을 포함할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 파라미터 예측에서는 참조 레이어의 유도된 파라미터를 현재 레이어에서 재사용하거나 참조 레이어에서 사용한 파라미터를 기반으로 현재 레이어에 대한 파라미터를 유도할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 레지듀얼 예측에서는 다른 레이어의 레지듀얼 정보를 이용하여 현재 레이어의 레지듀얼을 예측하고 이를 기반으로 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 차분 예측에서는, 현재 레이어의 복원 픽쳐와 참조 레이어의 복원 픽쳐를 업샘플링 혹은 다운샘플링한 영상들 간의 차분을 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 신택스 예측에서는 참조 레이어의 신택스 정보를 이용하여 현재 블록의 텍스처를 예측하거나 생성할 수 있다. 이때, 참조되는 참조 레이어의 신택스 정보는 인트라 예측 모드에 관한 정보, 움직임 정보를 포함할 수 있다.
상술된 인터 레이어를 이용한 여러 예측 방법은 특정 블록에 대한 예측 시 복 수 개가 이용될 수도 있다.
여기서는 인터 레이어 예측의 예로서, 인터 레이어 텍스처 예측, 인터 레이어 움직임 예측, 인터 레이어 유닛 정보 예측, 인터 레이어 파라미터 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 차분 예측, 인터 레이어 신택스 예측 등을 설명하였으나, 본 발명에서 적용할 수 있는 인터 레이어 예측은 이에 한정되지 않는다.
예컨대, 인터 레이어 예측을 현재 레이어에 대한 인터 예측의 확장으로서 적용할 수도 있다. 즉, 참조 레이어로부터 유도된 참조 픽처를 현재 블록의 인터 예측에 참조 가능한 참조 픽처들에 포함시켜서, 현재 블록에 대한 인터 예측을 수행할 수도 있다.
예측부(235)는 인코딩 장치로부터 수신한 참조 픽처 인덱스 혹은 주변 블록으로부터 유도한 참조 픽처 인덱스가 참조 픽처 리스트 내에서 인터 레이어 참조 픽처를 지시하는 경우에, 인터 레이어 참조 픽처를 이용한 인터 레이어 예측을 수행할 수 있다. 예컨대, 예측부(235)는 참조 픽처 인덱스가 인터 레이어 참조 픽처를 지시하는 경우에, 인터 레이어 참조 픽처에서 움직임 벡터에 의해 특정되는 영역의 샘플 값을 현재 블록에 대한 예측 블록으로 유도할 수 있다.
이 경우, 인터 레이어 참조 픽처는 현재 블록에 대한 참조 픽처 리스트에 포함될 수 있다. 예측부(235)는 인터 레이어 참조 픽처를 이용하여 현재 블록에 대한 인터 예측을 수행할 수 있다.
여기서, 인터 레이어 참조 픽처는 참조 레이어의 복원된 픽처를 현재 레이어에 대응하도록 샘플링하여 구성된 참조 픽처일 수 있다. 따라서, 참조 레이어의 복원된 픽처가 현재 레이어의 픽처에 대응하는 경우에는, 샘플링 없이 참조 레이어의 복원된 픽처를 인터 레이어 참조 픽처로 이용할 수 있다. 예컨대, 참조 레이의 복원된 픽처와 현재 레이어의 복원된 픽처에서 샘플들의 폭과 높이가 동일하고, 참조 레이어의 픽처에서 좌상단, 우상단, 좌하단, 우하단과 현재 레이어 의 픽처에서 좌상단, 우상단, 좌하단, 우하단 사이의 오프셋이 0이라면, 참조 레이어의 복원된 픽처를 다시 샘플링하지 않고, 현재 레이어의 인터 레이어 참조 픽처로 사용할 수도 있다.
또한, 인터 레이어 참조 픽처가 유도되는 참조 레이어의 복원 픽처는 부호화 대상인 현재 픽처와 동일한 AU에 속하는 픽처일 수 있다. 인터 레이어 참조 픽처를 참조 픽처 리스트에 포함하여, 현재 블록에 대한 인터 예측을 수행하는 경우에, 인터 레이어 참조 픽처의 참조 픽처 리스트 내 위치는 참조 픽처 리스트 L0과 L1에서 상이할 수 있다. 예컨대, 참조 픽처 리스트 L0에서는 현재 픽처 이전의 단기 참조 픽처들 다음에 인터 레이어 참조 픽처가 위치할 수 있고, 참조 픽처 리스트 L1에서는 참조 픽처 리스트의 마지막에 인터 레이어 참조 픽처가 위치할 수도 있다.
여기서, 참조 픽처 리스트 L0은 P 슬라이스의 인터 예측에 사용되는 참조 픽처 리스트 또는 B 슬라이스의 인터 예측에서 첫 번째 참조 픽처 리스트로 사용되는 참조 픽처 리스트이다. 참조 픽처 리스트 L1은 B 슬라이스의 인터 예측에 사용되는 두 번째 참조 픽처 리스트이다.
따라서, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처의 순서로 구성될 수 있다.
이때, P 슬라이스(predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 1개의 움직임 벡터 및 참조 픽처 인덱스를 이용하여 인터 예측이 수행되는 슬라이스이다. B 슬라이스(bi-predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 두 개의 움직임 벡터와 참조 픽처 인덱스를 이용하여 예측이 수행되는 슬라이스이다. 이와 관련하여, I 슬라이스(intra slice)는 인트라 예측만이 적용된 슬라이스이다.
또한, 인터 레이어 참조 픽처를 포함하는 참조 픽처 리스트를 기반으로 현재 블록에 대한 인터 예측을 수행하는 경우에, 참조 픽처 리스트는 복수의 레이어에서 유도된 복수의 인터 레이어 참조 픽처를 포함할 수 있다.
복수의 인터 레이어 참조 픽처를 포함하는 경우에, 인터 레이어 참조 픽처들은 참조 픽처 리스트 L0과 L1에서 교차 배치될 수도 있다. 예컨대, 두 개의 인터 레이어 참조 픽처, 인터 레이어 참조 픽처 ILRPi와 인터 레이어 참조 픽처 ILRPj가 현재 블록의 인터 예측에 사용되는 참조 픽처 리스트에 포함되는 경우를 가정하자. 이 경우, 참조 픽처 리스트 L0에서 ILRPi는 현재 픽처 이전의 단기 참조 픽처들 다음에 위치하고, ILRPj는 리스트의 마지막에 위치할 수 있다. 또한, 참조 픽처 리스트 L1에서 ILRPi는 리스트의 마지막에 위치하고, ILRPj는 현재 픽처 이후의 단기 참조 픽처들 다음에 위치할 수 있다.
이 경우, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPj의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPj, 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
또한, 두 인터 레이어 참조 픽처들 중 하나는 해상도에 관한 스케일러블 레이어로부터 유도한 인터 레이어 참조 픽처이고, 다른 하나는 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처일 수도 있다. 이 경우, 예컨대, ILRPi가 다른 해상도를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처이고, ILRPj가 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처라면, 뷰(view)를 제외한 스케일러빌러티만을 지원하는 스케일러블 비디오 코딩의 경우 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있고, 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
한편, 인터 레이어 예측에서 인터 레이어 참조 픽처의 정보는 샘플 값만 이용될 수도 있고, 움직임 정보(움직임 벡터)만 이용될 수도 있으며, 샘플 값과 움직임 정보가 모두 이용될 수도 있다. 예측부(235)는 참조 픽처 인덱스가 인터 레이어 참조 픽처를 지시하는 경우에, 인코딩 장치로부터 수신한 정보에 따라서 인터 레이어 참조 픽처의 샘플 값만 이용하거나, 인터 레이어 참조 픽처의 움직임 정보(움직임 벡터)만 이용하거나, 인터 레이어 참조 픽처의 샘플 값과 움직임 정보를 모두 이용할 수 있다.
인터 레이어 참조 픽처의 샘플 값만을 이용하는 경우에, 예측부(235)는 인터 레이어 참조 픽처에서 움직임 벡터가 특정하는 블록의 샘플들을 현재 블록의 예측 샘플로서 유도할 수 있다. 뷰(view)를 고려하지 않는 스케일러블 비디오 코딩의 경우에, 인터 레이어 참조 픽처를 이용하는 인터 예측(인터 레이어 예측)에서의 움직임 벡터는 고정된 값(예컨대, 0)으로 설정될 수 있다.
인터 레이어 참조 픽처의 움직임 정보만을 이용하는 경우에, 예측부(235)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터를 유도하기 위한 움직임 벡터 예측자로 사용할 수 있다. 또한, 예측브(235)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터로 이용할 수도 있다.
인터 레이어 참조 픽처의 샘플과 움직임 정보를 모두 이용하는 경우에, 예측부(235)는 인터 레이어 참조 픽처에서 현재 블록에 대응하는 영역의 샘플과 인터 레이어 참조 픽처에서 특정되는 움직임 정보(움직임 벡터)를 현재 블록의 예측에 이용할 수 있다.
디코딩 장치는 참조 픽처 리스트에서 인터 레이어 참조 픽처를 지시하는 참조 인덱스를 인코딩 장치로부터 수신하고, 이를 기반으로 인터 레이어 예측을 수행할 수 있다. 또한, 디코딩 장치는 인터 레이어 참조 픽처로부터 어떤 정보(샘플 정보, 움직임 정보, 샘플 정보와 움직임 정보)를 이용할 것인지를 지시하는 정보, 즉 두 레이어 사이에서 인터 레이어 예측에 관한 디펜던시(의존성, dependency)의 타입(dependency type)을 특정하는 정보도 인코딩 장치로부터 수신할 수 있다.
가산기(290, 295)는 예측부(235, 275)에서 생성된 예측 블록과 역변환부(230, 270)에서 생성된 레지듀얼 블록을 이용해 복원 블록을 생성할 수 있다. 이 경우, 가산기(290, 295)를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다.
가산기(290, 295)에서 복원된 블록 및/또는 픽쳐는 필터링부(240, 280)로 제공될 수 있다.
도 2의 예를 참조하면, 레이어 1의 필터링부(240)는 레이어 1의 예측부(235) 및/또는 레이어 0의 필터링부(280)으로부터 전달되는 파라미터 정보를 이용하여 복원된 픽쳐에 대한 필터링을 수행할 수도 있다. 예컨대, 레이어 1에서 필터링부(240)는 레이어 0에서 적용된 필터링의 파라미터로부터 예측된 파라미터를 이용하여 레이어 1에 대한 혹은 레이어 간의 필터링을 적용할 수 있다.
메모리(245, 285)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있다. 메모리(245, 285)는 저장된 복원 픽쳐를 소정의 출력부(미도시) 혹은 디스플레이(미도시)를 통해 출력할 수도 있다.
도 2의 예에서는 재정렬부, 역양자화부, 역변환부 등으로 나누어 설명하였으나, 도 1의 인코딩 장치에서와 같이, 역양자화/역변환부의 한 모듈에서 재정렬, 역양자화, 역변환을 순서대로 수행하도록 디코딩 장치를 구성할 수도 있다.
또한, 여기서는 두 개의 레이어로 구성된 멀티 레이어 구조에서 스케일러블 비디오 디코딩이 수행되는 것을 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 도 2의 디코딩 장치는 둘 이상의 레이어를 포함하는 멀티 레이어 구조에도 적용될 수 있다. N개의 레이어로 구성된 멀티 레이어 구조에 적용되는 경우에, 도 2의 레이어 0과 레이어 1은 N 개의 레이어 중 참조 관계를 나타내는 두 레이어일 수 있다.
이때, 디코딩 장치는 두 레이어 간의 참조 관계를 나타내는 정보를 인코딩 장치로부터 수신할 수 있다. 예컨대, 두 레이어 간에 인터 레이어 예측의 의존 관계가 존재하는 경우, 디코딩 장치는 direct_dependency_flag[L][M]을 수신할 수 있다. direct_dependency_flag[L][M]의 값이 1인 경우에 L 번째 레이어는 M 번째 레이어를 참조하여 예측될 수 있다.
도 1 및 도 2의 예에서는 예측부로 설명하였으나, 발명의 이해를 돕기 위해, 레이어 1의 예측부는 다른 레이어(레이어 0)의 정보를 이용하여 예측을 수행하는 인터 레이어 예측부와 다른 레이어(레이어 0)의 정보를 이용하지 않고 예측을 수행하는 인터/인트라 예측부를 포함하는 것으로 볼 수도 있다.
비트스트림 내 복수의 레이어를 지원하는 비디오의 부호화 및 복호화, 즉 스케일러블 코딩(scalable coding)의 경우, 복수의 레이어 간에는 강한 연관성(correlation)이 존재하기 때문에 이런 연관성을 이용하여 예측을 수행하면 데이터의 중복 요소를 제거할 수 있고 영상의 부호화 성능을 향상시킬 수 있다.
복수의 계층들은 해상도, 프레임 레이트, 컬러 포맷, 뷰(view) 중 적어도 하나가 상이할 수 있다. 따라서, 인터 레이어 예측 시에 다른 레이어의 정보를 이용하기 위해서, 해상도의 조절을 위한 업샘플링 또는 다운샘플링이 수행될 수 있다.
서로 다른 레이어 사이의 인터 레이어 의존성(Inter-layer dependency)은 한 레이어의 블록/픽쳐가 다른 레이어의 다른 블록/픽쳐를 참조하여 디코딩될 수 있는지를 나타낸다. 따라서, 멀티 레이어 구조에서 현재 레이어와 참조 레이어 사이에 의존성이 존재하는 경우에, 현재 레이어는 참조 레이어를 참조하여 예측될 수 있다. “레이어”는 코딩 디멘젼을 나타내는 것(representation)일 수 있다. 코딩 디멘젼(coding dimension)은, 스케일러빌러티(예를 들어, 공간적 스케일러빌러티, 시간적 스케일러빌러티, 화질적 스케일러빌러티), 뷰(시점, view) 및 뎁스(depth) 코딩 레프리젠테이션 등일 수 있다. 인터 레이어 디펜던시는 인터 레이어 예측을 적용함에 따라서 고려되는 것으로 여겨질 수도 있지만, 이에 한정되지는 않는다. 예컨대, 지만, 상술한 인터 레이어 인트라 예측, 인터 레이어 움직임 예측, 인터 레이어 신택스 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 유닛 예측 등이 인터 레이어 디펜던시에 포함될 수도 있다.
특정 레이어에서 픽처를 처리(processing)할 때, 인코딩 장치는 R-D(Rate and Distortion) 퍼포먼스를 기반으로 인터 레이어 예측을 사용할 것인지를 선택할 수 있다.
도 2의 디코딩 장치는 영상을 재생하고, 또는 재생하여 표시할 수 있는 다양한 전자장치로 구현될 수 있다. 예를 들어 디코딩 장치는 셋탑 박스, 텔레비전, 컴퓨터 시스템, 휴대용 전화기, 태블랫 PC와 같은 개인 단말기 등으로 구현되거나 이들 전자장치에 포함될 수 있다.
비트스트림 내 복수의 레이어를 지원하는 비디오의 부호화 및 복호화, 즉 스케일러블 코딩(scalable coding)의 경우, 복수의 레이어 간에는 강한 연관성(correlation)이 존재하기 때문에 이런 연관성을 이용하여 예측을 수행하면 데이터의 중복 요소를 제거할 수 있고 영상의 부호화 성능을 향상시킬 수 있다. 다른 레이어의 정보를 이용하여 예측의 대상이 되는 현재 레이어의 예측을 수행하는 것을 이하에서는 레이어 간 예측(inter-layer prediction)이라고 표현한다. 스케일러블 비디오 코딩은 이하 부호화 관점에서는 스케일러블 비디오 부호화, 복호화 관점에서는 스케일러블 비디오 복호화와 동일한 의미를 가진다.
복수의 계층들은 해상도, 프레임 레이트, 컬러 포맷 중 적어도 하나가 서로 다를 수 있으며, 레이어 간 예측 시 해상도의 조절을 위하여 레이어의 업샘플링 또는 다운샘플링이 수행될 수 있다.
한편, 코딩된 블록/픽쳐 간의 인터 레이어 의존성(Inter-layer dependency)은 한 레이어의 블록/픽쳐가 다른 레이어의 다른 블록/픽쳐를 참조하여 디코딩될 수 있는 것으로 설계될 수 있다. 레이어는 코딩 차원(Inter-layer dependency)의 리프리젠테이션으로 명명될 수 있고, 예를 들어 스케일러빌러티(예를 들어, 공간적 스케일러빌러티, 시간적 스케일러빌러티, 화질적 스케일러빌러티), 시점 및 깊이 코딩 레프리젠테이션 등이 존재할 수 있다. 인터 레이어 의존성은 인터 레이어 예측 기법의 사용으로 인하여 코딩 의존성으로 고려될 수도 있다. 인터 레이어 예측에는 물론 이에 한정되지는 않지만, 상술한 인터 레이어 인트라 예측, 인터 레이어 움직임 예측, 인터 레이어 신택스 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 유닛 예측 등이 있다.
도 3 및 도 4는 인터 레이어 의존성을 설명하기 위한 도면으로, 도 3은 공간적 스케일러빌러터에 대한 인터 레이어 의존성을 설명하기 위한 도면이고, 도 4는 다시점에 대한 인터 레이어 의존성을 설명하기 위한 도면이다.
도 3과 같이, 공간적 베이스 레이어는 다른 스케일러빌러티 레이어의 인터 레이어 의존성 없이 코딩되고, 이러한 이유 때문에 베이스 레이어로 명명된다. 공간적 인핸스먼트 레이어 1은 공간적 베이스 레이어의 코딩된 블록/픽쳐를 참조하여 코딩된다.
공간적 인핸스먼트 레이어 2는 공간적 인핸스먼트 레이어 1의 코딩된 블록/픽쳐를 참조하여 코딩된다.
공간적 인핸스먼트 레이어 3은 공간적 인핸스먼트 레이어 1의 코딩된 블록/픽쳐를 참조하여 코딩된다.
도 4에 도시된 바와 같이, 상술한 인터 레이어 의존성은 다시점 코딩에도 적용된다.
시점 0/베이스 시점의 코딩된 시퀀스는 인터 레이어 의존성 없이 코딩된다. 시점 1은 시점 0의 코딩된 블록/픽쳐를 참조하여 코딩된다. 시점 2는 시점 0 및 시점 1의 코딩된 블록/픽쳐를 참조하여 코딩된다. 시점 3은 시점 2의 코딩된 블록/픽쳐를 참조하여 코딩된다.
이하에서는, 상기와 같은 복수의 레이어를 지원하는 비트스트림에서 레이어 의존성에 대하여 시그널링 하는 방법에 대하여 살펴본다.
인터 레이어 의존성은 비디오 파라미터 세트(Video Parameter Set, VPS)의 확장(extension)에서 표 1과 같이 시그널링 될 수 있다.
표 1을 참조하면, num_direct_ref_layers [i]은 i번째 레이어의 픽쳐가 참조하는 레이어의 개수를 나타낸다.
ref_layer_id [i][j]는 i 번째 레이어가 참조하는 j번째 레이어를 나타낸다.
ref_layer_id [i][j]는 num_direct_ref_layers [i]로 시그널링 되는 값에 대응하여 루프( j = 0; j < num_direct_ref_layers[ i ]; j++)를 돌면서 i번째 레이어가 참조하는 j번째 레이어를 시그널링 한다.
이 때, 표 1의 vps_max_layers_minus1는 VPS에서 정의되며, 이를 표로 나타내면 표 2와 같다.
표 2를 참조하면, vps_max_num_layers_minus1에 1을 더한 값은 CVS(coded video sequence)에 존재할 수 있는 최대 레이어 개수를 나타낸다.
vps_extension_flag는 표 1과 같은 VPS 확장이 존재하는지 여부를 나타낸다.
vps_extension_data_flag는 VPS 확장 데이터가 존재하는지 여부를 나타낸다.
vps_extension_data_flag는 vps_extension_flag가 1인 경우 시그널링 된다.
표 1의 ref_layer_id [i][j]은 아래 표 3과 같은 NAL 유닛 헤더의 ‘nuh_layer_id’를 나타낸다. ‘nuh_layer_id’는 레이어를 식별하기 위한 레이어 id를 의미한다.
즉, ref_layer_id [i][j]는 i번째 레이어가 참조하는 j번째 레이어의 nuh_layer_id 를 가리킨다.
표 3을 참조하면, NAL 유닛 헤더에 포함되어 있는 정보 중 forbidden_zero_bit는 0이 되어야 한다.
nal_unit_type은 해당 NAL 유닛에 포함되어 있는 RBSP의 데이터 구조를 의미하는 것으로 RBSP의 데이터 구조에 따라 복수의 타입이 존재한다.
nuh_layer_id는 i번째 레이어의 VCL(video coding layer) NAL 유닛에 포함되어 있는 신택스 요소 nuh_layer_id 값을 나타낸다. nuh_layer_id는 0부터 63까지의 값을 가질 수 있고, layer_id_in_nuh[ i ]이 존재하지 않는 경우, nuh_layer_id는 1로 유추된다.
i가 0보다 큰 경우, layer_id_in_nuh[ i ]는 layer_id_in_nuh[ i ? 1 ]보다 큰 값을 가져야 한다.
표 3에 도시된 레이어를 식별하는 nuh_layer_id는 인터 레이어 의존성이 존재하지 않는 베이스 레이어의 경우 레이어 0으로 시그널링되고, 베이스 레이어를 참조하는 레이어는 0보다 큰 값으로 시그널링 된다.
nuh_temporal_id_plus1로 특정되는 값은 NAL 유닛(network abstraction layer (NAL) unit)에 대한 시간적 레이어의 식별자를 의미한다. 시간적 레이어는 VCL NAL 유닛으로 구성된 시간적으로 스케일될 수 있는 비트스트림의 레이어를 의미하며, 시간적 레이어는 특정의 temporal_id 값을 갖는다.
인터 레이어 의존성에 대한 디자인 및 의존성 정보에 대한 시그널링은 주어진 타켓 레이어를 처리하기 위한 비트스트림 추출 시 유용하게 사용될 수 있다.
도 5는 복수의 레이어를 갖는 입력된 비트스트림에서 일부 비트스트림을 추출하는 비트스트림 추출기의 일 예를 도시한 도면이다.
도 5에 도시된 바와 같이, 비트스트림 추출기는 비트스트림에서 주어진 타겟 레이어 보다 큰 레이어를 제거함으로써 타겟 레이어를 출력 스트림으로 생성한다.
여기서, 타겟 레이어 보다 큰 레이어라는 것은 타겟 레이어의 nuh_layer_id보타 큰 nuh_layer_id을 갖는 레이어를 의미할 수 있으며, 타겟 레이어보다 큰 스케일러빌러티를 갖는 레이어 또는 다시점의 경우 시점이 큰 레이어일 수 있다.
이러한 비트스트림 추출기는 타겟 레이어와 같거나 작은 스케일러빌러티를 갖는 모든 레이어가 타겟 레이어 보다 큰 스케일러빌러티를 갖는 어떠한 레이어에도 의존성을 가질 수 없을 경우 비트스트림을 추출하는 동작을 수행할 수 있다.
즉, 0보다 큰 x를 레이어 id로 갖는 레이어 x의 코딩된 픽쳐는 x보다 작은 y를 레이어 id로 갖는 레이어 y(다시 말해, 0 ≤ y < x)에 존재하는 참조 픽쳐에 대해서만 코딩 의존성을 가질 수 있다.
현재의 인터 레이어 의존성에 대한 개념 및 시그널링에는 주어진 타켓 레이어를 위하여 비트스트림이 추출될 수 있도록 하는 비트스트림의 특성을 명확하게 적용할 수 있는 어떠한 한정도 존재하지 않는다.
이하에서는, 상술한 비트스트림의 특성을 수용할 수 있는 제한 및 시그널링 방법에 대하여 기술한다. 이를 통하여, 비트스트림 추출이 적절하게 이루어질 수 있도록 하는 방법을 제안한다.
비트스트림이 적절하게 추출될 수 있도록 비트스트림 추출기의 동작에는 아래와 같은 제한이 적용될 수 있다.
제한 1: 레어어 0의 픽쳐는 독립적으로 코딩되어야 한다.
제안 2: 0보다 큰 x를 레이어 id로 갖는 레이어 x의 코딩된 픽쳐는 x보다 작은 y를 레이어 id로 갖는 레이어 y(다시 말해, 0 ≤ y < x) 내의 픽쳐에 대해서만 코딩 의존성을 가질 수 있다.
상기와 같은 제한을 확실하게 하기 위하여, 인터 레이어 의존성은 아래와 같이 시그널링될 수 있다.
옵션 1: ref_layer_id [i][j]의 시멘틱스에 상기와 같은 제한을 반영함
VPS 확장에서 시그널링 되는 인터 레이어 의존성에 대한 정보는 아래 표 4와 같다. 표 4는 표 1과 비교하여 신택스의 변형은 없지만. ref_layer_id [i][j]에 대한 시멘틱스는 변경될 수 있다.
num_direct_ref_layers [i] 는 i번째 레이어의 픽쳐가 참조하는 레이어의 개수를 나타낸다. i의 어떠한 가능한 값에 대하여 num_direct_ref_layers [i]는 i보다 같거나 작아야 한다.
표 4의 ref_layer_id [i][j]는 i 번째 레이어가 참조하는 j번째 레이어를 나타낸다. i의 어떠한 가능한 값에 대하여 ref_layer_id [i][j]는 i보다 같거나 작아야 한다. 즉, j는 i보다 같거나 작아야 한다.
옵션 2: 신택스 요소에 상기와 같은 제한을 반영함
상술한 제한을 적용하기 위하여, 참조 레이어의 식별자를 시그널링 하는 대신 현재 레이어와 참조 레이어 간의 차이값을 시그널링 할 수 있다. 본 옵션에 따른 VPS 확장에 대한 신택스는 표 5와 같다.
num_direct_ref_layers [i] 는 i번째 레이어의 픽쳐가 참조하는 레이어의 개수를 나타낸다. i의 어떠한 가능한 값에 대하여 num_direct_ref_layers [i]는 i보다 같거나 작아야 한다.
표 5의 delta_ref_layer_id [i][j]는 현재 레이어(i 번째 레이어) 식별자(레이어 id)와 참조 레이어(j번째 레이어) 식별자 간의 차이값을 나타낸다.
변수 RefLayerId [i][j]은 아래와 같이 연산될 수 있다.
RefLayerId [i][j] = i - delta_ref_layer_id [i][j]
옵션 3: 신택스 요소에 상기와 같은 제한을 반영함
본 옵션은 옵션 2와 유사하지만, delta_ref_layer_id [i][j]은 ue(v)로 코딩된다. 즉, 본 옵션에 따를 경우, delta_ref_layer_id [i][j]는 고정된 비트수가 아닌 가변적인 비트수로 시그널링 될 수 있다. 본 옵션에 따른 VPS 확장에 대한 신택스는 표 6과 같다.
num_direct_ref_layers [i] 는 i번째 레이어의 픽쳐가 참조하는 레이어의 개수를 나타낸다. i의 어떠한 가능한 값에 대하여 num_direct_ref_layers [i]는 i보다 같거나 작아야 한다.
delta_ref_layer_id [i][j]는 현재 레이어(i 번째 레이어) 식별자와 참조 레이어(j번째 레이어) 식별자 간의 차이값을 나타낸다.
변수 RefLayerId [i][j]은 아래와 같이 연산될 수 있다.
RefLayerId [i][j] = i - delta_ref_layer_id [i][j]
옵션 4: 신택스 요소에 상기와 같은 제한을 반영함
본 옵션에 따르면, 옵션 2와 같이 상술한 제한을 적용하기 위하여, 참조 레이어의 식별자를 시그널링 하는 대신 현재 레이어와 참조 레이어 간의 차이값을 시그널링 할 수 있다. 본 옵션에 따른 VPS 확장에 대한 신택스는 표 7과와 같다.
num_direct_ref_layers [i] 는 i번째 레이어의 픽쳐가 참조하는 레이어의 개수를 나타낸다. i의 어떠한 가능한 값에 대하여 num_direct_ref_layers [i]는 i보다 같거나 작아야 한다.
표 7의 delta_ref_layer_id_minus1 [i][j]에 1을 더한 값은 현재 레이어(i 번째 레이어) 식별자와 참조 레이어(j번째 레이어) 식별자 간의 차이값을 나타낸다.
변수 RefLayerId [i][j]은 아래와 같이 연산될 수 있다.
RefLayerId [i][j] = i - delta_ref_layer_id_minus1 [i][j] - 1
옵션 5: 신택스 요소에 상기와 같은 제한을 반영함
본 옵션은 옵션 4와 유사하지만, delta_ref_layer_id_minus1 [i][j]은 ue(v)로 코딩된다. 즉, 본 옵션에 따를 경우, delta_ref_layer_id_minus1 [i][j] 는 고정된 비트수가 아닌 가변적인 비트수로 시그널링 될 수 있다. 본 옵션에 따른 VPS 확장에 대한 신택스는 표 8과 같다.
num_direct_ref_layers [i] 는 i번째 레이어의 픽쳐가 참조하는 레이어의 개수를 나타낸다. i의 어떠한 가능한 값에 대하여 num_direct_ref_layers [i]는 i보다 같거나 작아야 한다.
delta_ref_layer_id_minus1 [i][j]에 1을 더한 값은 현재 레이어(i 번째 레이어) 식별자와 참조 레이어(j번째 레이어) 식별자 간의 차이값을 나타낸다.
변수 RefLayerId [i][j]은 아래와 같이 연산될 수 있다.
RefLayerId [i][j] = i - delta_ref_layer_id_minus1 [i][j] - 1
상기 표 4 내지 표 8의 신택스 요소들은 VPS 확장이 아닌 개별적인 픽쳐에 대한 슬라이스 헤더에 포함되어 시그널링 될 수도 있다. 이 경우, 각 픽쳐가 의존성을 갖는 레이어의 개수 및 의존성을 갖는 레이어의 id가 시그널링 될 수 있다.
한편, 상기 여러 옵션 및 표와 같이 VPS 확장에서 인터 레이어 의존성을 시그널링하는 것은 다음과 같은 몇 개의 문제점을 포함할 수 있다.
우선, 인터 레이어 의존성에 대한 제한이 너무 약하여, i 번째 레이어가 i보다 같거나 큰 j 번째 레이어를 참조 할 가능성도 존재한다.
또한, 모든 신택스 요소가 고정된 비트수, 즉 6비트로 시그널링 되기 때문에 이는 의존도가 높은 많은 레이어가 존재하여 비트수가 급격히 증가하는 하는 경우, 레이어 의존성 시그널링을 위한 비트수가 부족할 수 있다.
또한, 독립적인 레이어와 독립적이지 않은 레이어를 구분하는데 어려움이 있어, 디코더 입장에서는 i에 대한 루프(i = 1; i <= vps_max_layers_minus1; i++)를 파싱해야만 한다.
이에 이와 같은 문제점을 개선하기 위한 시그널링 개선 방법을 아래에서 여러 옵션을 통하여 설명한다.
옵션 1: 레이어 의존성에 대한 맵을 시그널링
레이어 의존성에 대한 맵을 시그널링 하는 VPS 확장에 대한 신택스는 표 9와 같다.
과 1로 구성된 패턴을 시그널링한다.
ref_layers_map[i]의 j번째 비트가 0의 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 없는 것을 나타내고, ref_layers_map[i]의 j번째 비트가 1 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 있는 것을 나타낸다.
즉, 본 옵션에 따를 경우, 현재 픽쳐가 참조하는 참조 픽쳐의 레이어를 직접적으로 시그널링하지 않고 의존성에 대한 맵을 시그널링 함으로써 0과 1에 대한 구분을 통하여 현재 픽쳐가 참조하는 레이어 및 참조하지 않는 레이어를 식별할 수 있다.
옵션 2: 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 맵을 시그널링
본 옵션에 따를 경우, 레이어의 독립성을 나타내는 플래그, 즉 레이어가 독립적인 레이어인지 여부를 시그널링하고, 독립적이지 않은 종속적인 레이어에 대하여 레이어 의존성에 대한 맵을 시그널링 한다. 본 옵션에 대한 VPS 확장에 대한 신택스는 표 10과 같다.
표 10을 참조하면, layer_dependency_flag[ i ]이 0인 경우 layer_id가 (i+1)인 레이어가 독립적인 레이어인 것을 나타낸다. 반대로, layer_dependency_flag[ i ]이 1인 경우 layer_id가 (i+1)인 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인 것을 나타낸다.
ref_layers_map[i]의 j번째 비트가 0의 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 없는 것을 나타내고, ref_layers_map[i]의 j번째 비트가 1 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 있는 것을 나타낸다.
본 옵션에 따를 경우, 처음에는 NumDepLayers가 0으로 설정되었다가, 레이어가 종속성을 가질 때 마다 NumDepLayers가 하나씩 증가한다.
ref_layers_map[i]은 최종적인 NumDepLayers의 값, 즉 종속적인 레이어의 개수에 대응하여 시그널링 된다.
옵션 3: 레이어가 독립적인지 여부를 나타내는 맵과 레이어 의존성에 대한 맵을 시그널링
본 옵션에서는 레이어가 독립적인지 여부를 플래그가 아닌 맵으로 시그널링한다. 본 옵션에 따른 VPS 확장에 대한 신택스는 표 11과 같다.
표 11을 참조하면, layer_dependency_map은 vps_max_layers_minus1과 같은 길이를 갖는 비트수를 갖는 0과 1로 구성된 패턴을 시그널링 한다. layer_dependency_map의 i번째 비트가 0인 것은 layer_id가 (i+1)인 레이어가 독립적인 레이어인 것을 나타내고, 반대로 layer_dependency_map의 i번째 비트가 1인 것은 layer_id가 (i+1)인 레이어가 종속적인 레이어인 것을 나타낸다.
NumDepLayers은 1 값을 갖는 layer_dependency_map의 비트 개수의 합을 나타내며, 아래와 같이 표현될 수 있다.
ref_layers_map[i]의 j번째 비트가 0의 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 없는 것을 나타내고, ref_layers_map[i]의 j번째 비트가 1 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 있는 것을 나타낸다.
옵션 4: 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 맵을 시그널링
본 옵션은 옵션 2에 대한 변형으로 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 맵이 시그널링 된다. 본 옵션에 대한 VPS 확장에 대한 신택스는 표 12와 같다.
layer_dependency_flag[ i ]가 0이면 layer_id가 (i+1)인 레이어가 독립적인 레이어인 것을 나타내고, 반대로 1이면 layer_id가 (i+1)인 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인 것을 의미한다.
표 12에 따른 ref_layers_map[ i ]는 i와 같은 길이를 갖는 비트수를 갖는 0과 1로 구성된 패턴을 시그널링한다. ref_layers_map[i]의 j번째 비트가 0의 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 없는 것을 나타내고, ref_layers_map[i]의 j번째 비트가 1 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 있는 것을 나타낸다.
또는, ref_layers_map[ i ]는 i와 같은 길이를 갖는 비트수를 갖는 0과 1로 구성된 패턴을 시그널링한다. ref_layers_map[i]의 j번째 비트가 0의 값을 가지는 것은 i번째 레이어가 layer_id가 j인 레이어에 의존성이 없는 것을 나타내고, ref_layers_map[i]의 j번째 비트가 1 값을 가지는 것은 layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조할 수 있음(may)을 나타낸다.
즉, 본 옵션에 따를 경우, 레이어의 의존성을 나타내는 맵에 대하여는 두 가지 해석이 가능하다. ref_layers_map[i]가 1 값을 갖는 경우, layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조하는 의존성이 있다는 것을 나타낼 수도 있고, layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조하는 의존성이 있을 수 있는 것(may)을 나타낼 수도 있다.
옵션 5: 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 플래그를 시그널링
본 옵션은 옵션 4에 대한 변형으로 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 플래그가 시그널링 된다. 본 옵션에 대한 VPS 확장에 대한 신택스는 표 13과 같다.
layer_dependency_flag[ i ]가 0이면 layer_id가 (i+1)인 레이어가 독립적인 레이어인 것을 나타내고, 반대로 1이면 layer_id가 (i+1)인 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인 것을 의미한다.
표 13을 참조하면, ref_layers_flag[ i ][ j ]이 0인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조하지 않는 것을 나타내고, 반대로 ref_layers_flag[ i ][ j ]이 1인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조할 수 있는 것(may)을 나타낸다.
또는, ref_layers_flag[ i ][ j ]이 0인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조하지 않는 것을 나타내고, 반대로 ref_layers_flag[ i ][ j ]이 1인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조하는 것을 나타낸다.
여기서, j는 0보다 같거나 크고 i보다 작은 값을 갖는다.
0부터 최대 레이어 개수로 시그널링 되는 값(vps_max_layers_minus1) 사이의 값을 가질 수 있는 i 및 j에 대하여 ref_layers_flag[ i ][ j ]가 존재하지 않는 경우 ref_layers_flag[ i ][ j ]는 0으로 유추될 수 있다.
즉, 본 옵션에 따르면, 레이어의 의존성을 나타내는 플래그에 대하여는 두 가지 해석이 가능하다. ref_layers_map[i]가 1 값을 갖는 경우, layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조하는 의존성이 있다는 것을 나타낼 수도 있고, layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조하는 의존성이 있을 수 있는 것(may)을 나타낼 수도 있다.
표 13의 경우, layer_dependency_flag에 따라 i 레이어의 종속성 여부가 플래그 정보로 시그널링 되면, 디코딩 장치는 layer_dependency_flag가 1값을 가지는 레이어, 즉 다른 레이어에 종속적인 레이어에 대하여 참조 레이어 플래그 정보를 시그널링한다. 이 경우, i 레이어에 대하여 i보다 작은 j 레이어에 대한 참조성 여부가 시그널링 된다(for( j = 0; j < i; j++ )).
한편, 상기 i 및 j는 레이어 id가 아닌 비트스트림 전체에서 레이어를 식별하는 인덱스 일 수 있다. 즉, 레이어를 특정하는 레이어 id가 아닌 현재 레이어 및 참조 레이어의 인덱스가 될 수 있다. 두 개의 레이어에서, 레이어 id가 크면 레이어 인덱스 역시 크다. 따라서, 상기 신택스에 대한 해석 시 레이어를 식별하는 i 및 j는 레이어 인덱스로 해석 가능하다.
레이어 i에 대한 레이어 j의 의존성 여부를 나타내는 플래그 정보는 상술한 ref_layers_flag[ i ][ j ] 뿐만 아니라, direct_dependency_flag[ i ][ j ]와 같은 신택스 요소로 시그널링 될 수 있다.
direct_dependency_flag[ i ][ j ]는 i번째 레이어가 j번째 레이어를 직접적으로 참조하는지 여부를 나타내는 것으로, direct_dependency_flag[ i ][ j ]가 0이면 j로 인덱스되는 레이어는 i로 인덱스되는 레이어에 직접적인 참조 레이어가 아닌 것을 나타내고, direct_dependency_flag[ i ][ j ]가 1이면 j로 인덱스되는 레이어는 i로 인덱스되는 레이어에 직접적인 참조 레이어가 될 수 있는 것을 나타낸다.
직접적인 참조 관계란, 하나의 레이어가 직접적으로 다른 레이어를 참조하는 것을 의미한다. 예를 들어, 도 3의 공간적 인핸스먼트 레이어 3은 공간적 인핸스먼트 레이어 1의 코딩된 블록/픽쳐를 직접적으로 참조하는 것으로 볼 수 있다.
옵션 6: 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 플래그를 시그널링
본 옵션은 옵션 5에 대한 변형으로 레이어의 독립성에 대한 플래그와 레이어 의존성에 대한 플래그가 시그널링 된다. 본 옵션에 대한 VPS 확장에 대한 신택스는 표 14와 같다.
layer_dependency_flag[ i ]가 0이면 layer_id가 (i+1)인 레이어가 독립적인 레이어인 것을 나타내고, 반대로 1이면 layer_id가 (i+1)인 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인 것을 의미한다.
표 13을 참조하면, ref_layers_flag[ i ][ j ]이 0인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조하지 않는 것을 나타내고, 반대로 ref_layers_flag[ i ][ j ]이 1인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조할 수 있는 것(may)을 나타낸다.
또는, ref_layers_flag[ i ][ j ]이 0인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조하지 않는 것을 나타내고, 반대로 ref_layers_flag[ i ][ j ]이 1인 것은 layer_id가 i인 레이어는 layer_id가 j인 레이어를 참조하는 것을 나타낸다.
즉, 본 옵션에 따르면, 레이어의 의존성을 나타내는 플래그에 대하여는 두 가지 해석이 가능하다. ref_layers_map[i]가 1 값을 갖는 경우, layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조하는 의존성이 있다는 것을 나타낼 수도 있고, layer_id가 i인 레이어가 layer_id가 j인 레이어를 참조하는 의존성이 있을 수 있는 것(may)을 나타낼 수도 있다.
표 14에서는 layer_dependency_flag에 따라 i 레이어의 종속성 여부가 플래그 정보로 시그널링 되면 종속적인 레이어의 개수(NumDepLayers)만큼 ref_layers_flag가 시그널링 된다. 본 옵션에 따를 경우, 처음에는 NumDepLayers가 0으로 설정되었다가, 레이어가 종속성을 가질 때 마다 NumDepLayers가 하나씩 증가한다.
ref_layers_map[i]은 최종적인 NumDepLayers의 값, 즉 종속적인 레이어의 개수에 대응하여 시그널링 된다.
또한, 이 경우에도 표 13과 같이, i 레이어에 대하여 i보다 작은 j 레이어에 대한 참조성 여부가 시그널링 된다(for( j = 0; j < i; j++ )).
옵션 7: 레이어 의존성에 대한 플래그를 시그널링
본 옵션에 따를 경우, 최대 레이어의 개수 내에서, i번째 레이어가 j번째 레이어를 참조하는지 여부를 시그널링 할 수 있다. 본 옵션에 따른 본 옵션에 대한 VPS 확장에 대한 신택스는 표 15와 같다.
표 15를 참조하면, direct_dependency_flag[ i ][ j ]는 i번째 레이어가 j번째 레이어를 직접적으로 참조하는지 여부를 나타낼 수 있다. direct_dependency_flag[ i ][ j ]가 0이면 j로 인덱스되는 레이어는 i로 인덱스되는 레이어에 직접적인 참조 레이어가 아닌 것을 나타내고, direct_dependency_flag[ i ][ j ]가 1이면 j로 인덱스되는 레이어는 i로 인덱스되는 레이어에 직접적인 참조 레이어가 될 수 있는 것을 나타낸다.
여기서, j는 0보다 같거나 크고 i보다 작은 값을 갖는다.
즉, direct_dependency_flag[i][j]이 1이면, i번째 계층 (즉, nuh_layer_id[i]의 layer_id를 가지는 계층)이 j번째 참조 계층(즉, nuh_layer_id[j]의 layer_id를 가지는 계층)을 직접적으로 참조하는 것을 나타낸다.
direct_dependency_flag[i][j] 값이 0부터 최대 레이어 개수로 시그널링 되는 값(vps_max_layers_minus1) 사이의 값을 가질 수 있는 i 및 j에 대하여 존재하지 않는 경우 direct_dependency_flag[i][j]는 0으로 유추될 수 있다.
본 실시예에 따를 경우, 모든 레이어 i에 대하여 i보다 작은 j 레이어에 대한 의존성 여부를 시그널링 할 수 있다.
상기와 같은 옵션을 통하여 본 발명에 따른 디코딩 장치는 복수의 레이어를 지원하는 비트스트림에서 레이어의 종속성을 파악할 수 있고, 이러한 레이어 종속성을 이용하여 인터 레이어 예측을 수행할 수 있다.
도 6은 본 발명에 따른 비디오 디코딩 장치를 도시한 제어 블록도이다.
도시된 바와 같이, 디코딩 장치는 영상 정보를 파싱하는 파싱부(610)와 파싱부(610)의 영상 정보를 이용하여 현재 레이어를 예측하는 예측부(620)를 포함한다.
파싱부(610)는 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신하여 파싱한다. 즉, 파싱부(610)는 참조 정보를 수신하고, 참조 정보에 기초하여 현재 레이어가 참조할 수 있는 참조 레이어를 확인한다.
이 때, 레이어 ID는 NAL 유닛 헤더에서 시그널링되는 레이어 ID, 즉, 신택스 요소 layer_id_in_nuh[ i ]로 식별되는 값을 나타낸다.
참조 정보는 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 플래그 정보일 수 있다.
플래그 정보는 ref_layers_flag[i][j] 또는 direct_dependency_flag[i][j]와 같은 신택스 요소로 시그널링 될 수 있고, 본 발명에 따를 경우 플래그 정보는 비디오 파라미터 세트 확장(Video parameter set extension)에 포함되어 시그널링될 수 있다.
예측부(620)는 플래그 정보의 값이 1인 참조 레이어를 참조하여 현재 레이어의 픽쳐를 예측한다. 만약, 플래그 정보의 값이 0인 경우, 예측부는 상기 플래그 정보의 값이 0인 레이어를 참조하지 않고 현재 레이어의 픽쳐를 예측한다.
또한, 예측부(620)는 플래그 정보가 존재하지 않는 경우, 플래그 정보 값을 0으로 유추하여 참조 레이어에 대한 의존성 없이 현재 레이어에 대한 예측을 수행할 수 있다.
파싱부(610)는 현재 레이어가 참조하는 현재 레이어보다 작은 레이어 ID를 갖는 참조 레이어의 개수를 수신하여 파싱하고, 참조 레이어의 개수만큼의 참조 레이어를 식별하는 식별 정보를 수신하여 파싱할 수 있다.
이 경우, 식별 정보는 참조 레이어의 레이어 ID일 수 있고, 또는 해당 참조 레이어와 이전 참조 레이어의 레이어 ID 차이값일 수도 있다.
또한, 파싱부(610)는 현재 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인지 여부를 나타내는 레이어 종속성 정보를 수신하여 파싱할 수 있다. 레이어 종속성 정보는 현재 레이어가 종속적 레이어인지 여부를 나타내는 종속성 플래그 정보일 수 있다.
이 경우, 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 플래그 정보는 레이어 종속성 플래그가 1인 경우 수신될 수 있다.
또한, 파싱부(610)는 참조 레이어와 현재 레이어의 의존성 타입(type of dependency)을 나타내는 의존성 타입 정보를 수신하여 파싱할 수 있다.
의존성 타입 정보로 direct_dependency_type[ i ][ j ]와 같은 신택스 요소가 시그널링 될 수 있다. direct_dependency_type[ i ][ j ]는 VPS 확장에서 시그널링 되는 layer_id_in_nuh[ i ]와 동일한 nuh_layer_id를 갖는 레이어와 layer_id_in_nuh[ j ]와 동일한 nuh_layer_id를 갖는 레이어 간의 의존성 타입을 나타낼 수 있다.
direct_dependency_type[ i ][ j ]이 1인 경우, layer_id_in_nuh[ j ]와 동일한 nuh_layer_id를 갖는 레이어는 layer_id_in_nuh[ i ]와 동일한 nuh_layer_id를 갖는 레이어의 인터 레이어 움직임 예측에 사용되고, 인터 레이어 샘플 예측에는 사용되지 않는 것을 나타낼 수 있다.
direct_dependency_type[ i ][ j ]이 0인 경우, layer_id_in_nuh[ j ]와 동일한 nuh_layer_id를 갖는 레이어는 layer_id_in_nuh[ i ]와 동일한 nuh_layer_id를 갖는 레이어의 인터 레이어 샘플 예측에 사용되고, 인터 레이어 움직임 예측에는 사용되지 않는 것을 나타낼 수 있다.
direct_dependency_type[ i ][ j ]이 2인 경우, layer_id_in_nuh[ j ]와 동일한 nuh_layer_id를 갖는 레이어는 layer_id_in_nuh[ i ]와 동일한 nuh_layer_id를 갖는 레이어의 인터 레이어 샘플 예측 및 인터 레이어 움직임 예측 모두에 사용되는 것을 나타낼 수 있다.
이러한 의존성 타입 정보가 파싱되면, 예측부(620)는 의존성 타입 정보에 대응하여 현재 레이어의 예측에 인터 레이어 움직임 예측 및 인터 레이어 샘플 예측 중 적어도 하나를 이용할 수 있다.
도 7은 본 발명의 일 실시예에 따른 영상의 디코딩 방법을 설명하기 제어 흐름도이다. 도 7을 참조하여 본 실시예에 따른 영상의 디코딩 방법을 정리하면 다음과 같다.
우선, 엔트로피 디코딩부로 구현될 수 있는 파싱부는 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신한다(S710).
참조 정보에 기초하여 현재 레이어가 참조할 수 있는 참조 레이어가 확인된다(S715).
이러한 참조 정보는 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 플래그 정보일 수 있고, 또는 현재 레이어의 참조 레이어인지를 나타내는 맵 정보 일 수도 있다. 참조 정보가 맵인 것은 표 9 내지 12에 대한 설명에 기재되어 있고, 참조 정보가 플래그 정보인 것은 표 13 내지 15를 참조하여 설명되어 있다.
참조 정보가 플래그 정보인 경우, 플래그 정보가 1인 것은 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 현재 레이어의 참조 레이어가 될 수 있다는 것을 의미할 수 있다. 즉, 현재 레이어보다 작은 레이어 ID를 갖는 레이어는 현재 레이어의 참조 레이어가 될 수도 있고, 되지 않을 수도 있다.
파싱 결과, 플래그 정보가 1이면(S720), 파싱부는 참조 레이어와 현재 레이어의 의존성 타입(type of dependency)을 나타내는 의존성 타입 정보를 수신하여 파싱할 수 있다(S730).
예측부는 상기 플래그 정보 및 의존성 타입 정보에 대응하여, 플래그 정보의 값이 1인 참조 레이어를 참조하여 현재 레이어의 픽쳐를 예측할 수 있다(S740).
반면, 플래그 정보의 값이 0인 경우, 예측부는 플래그 정보의 값이 0인 레이어를 참조하지 않고 현재 레이어의 픽쳐를 예측할 수 있다(S750).
상술한 본 발명에 따르면 레이어 ID가 낮은 레이어에 대해서만 레이어 의존성을 가질 수 있도록 하는 레어이 시그널링 방법 및 이를 이용하는 장치가 제공될 수 있으며, 또한 비트스트림 추출기가 타겟 레이어를 추출할 때 의존성을 고려할 수 있도록 의존성 정보를 시그널링하는 방법 및 이를 이용하는 장치가 제공될 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함할 수 있으므로 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
Claims (18)
- 복수의 레이어를 포함하는 비트스트림을 디코딩하는 영상의 디코딩 방법에 있어서,현재 레이어보다 작은 레이어 ID를 갖는 레이어가 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신하는 단계와;상기 참조 정보에 기초하여 상기 현재 레이어가 참조할 수 있는 상기 참조 레이어를 확인하는 단계와;상기 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 단계를 포함하고,상기 레이어 ID는 NAL 유닛 헤더에서 시그널링되는 레이어 ID인 것을 특징으로 하는 영상의 디코딩 방법.
- 제1항에 있어서,상기 참조 정보는 비디오 파라미터 세트 확장(Video parameter set extension)에 포함되어 시그널링 되는 것을 특징으로 하는 영상의 디코딩 방법.
- 제1항에 있어서,상기 참조 정보는 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 플래그 정보이고,상기 현재 레이어의 픽쳐를 예측하는 단계는 상기 플래그 정보가 1인 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 것을 특징으로 하는 영상의 디코딩 방법.
- 제1항에 있어서,상기 플래그 정보의 값이 0인 경우, 상기 플래그 정보의 값이 0인 레이어를 참조하지 않고 상기 현재 레이어의 픽쳐를 예측하는 단계를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
- 제1항에 있어서,상기 현재 레이어가 참조하는 상기 현재 레이어보다 작은 레이어 ID를 갖는 참조 레이어의 개수를 수신하여 파싱하는 단계와;상기 참조 레이어의 개수만큼의 상기 참조 레이어를 식별하는 식별 정보를 수신하여 파싱하는 단계를 더 포함하는 것을 특징으로 하는 영상의 디코딩 방법.
- 제5항에 있어서,상기 식별 정보는 상기 참조 레이어의 레이어 ID인 것을 특징으로 하는 영상의 디코딩 방법.
- 제5항에 있어서,상기 식별 정보는 해당 참조 레이어와 이전 참조 레이어의 레이어 ID 차이값인 것을 특징으로 하는 영상의 디코딩 방법.
- 제1항에 있어서,상기 현재 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인지 여부를 나타내는 레이어 종속성 정보를 수신하여 파싱하는 단계를 더 포함하고,상기 참조 정보는 상기 레이어 종속성 정보가 상기 현재 레이어가 종속적 레이어인 것을 나타내는 경우 수신되는 것을 특징으로 하는 영상의 디코딩 방법.
- 제1항에 있어서,상기 참조 레이어와 상기 현재 레이어의 의존성 타입(type of dependency)을 나타내는 의존성 타입 정보를 수신하는 단계를 더 포함하고,상기 현재 레이어의 픽쳐를 예측하는 단계는 상기 의존성 타입 정보에 대응하여 상기 현재 레이어의 예측에 인터 레이어 움직임 예측 및 인터 레이어 샘플 예측 중 적어도 하나를 이용하는 단계를 포함하는 것을 특징으로 하는 영상의 디코딩 방법.
- 복수의 레이어를 포함하는 비트스트림을 디코딩하는 영상의 디코딩 장치에 있어서,상기 현재 레이어보다 작은 레이어 ID를 갖는 레이어가 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 참조 정보를 수신하고, 상기 참조 정보에 기초하여 상기 현재 레이어가 참조할 수 있는 상기 참조 레이어를 확인하는 파싱부와;상기 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 예측부를 포함하고,상기 레이어 ID는 NAL 유닛 헤더에서 시그널링되는 레이어 ID인 것을 특징으로 하는 영상의 디코딩 장치.
- 제10항에 있어서,상기 플래그 정보는 비디오 파라미터 세트 확장(Video parameter set extension)에 포함되어 시그널링 되는 것을 특징으로 하는 영상의 디코딩 장치.
- 제10항에 있어서,상기 참조 정보는 상기 현재 레이어의 참조 레이어가 될 수 있는지 여부를 나타내는 플래그 정보이고,상기 예측부는 상기 플래그 정보가 1인 참조 레이어를 참조하여 상기 현재 레이어의 픽쳐를 예측하는 것을 특징으로 하는 영상의 디코딩 장치.
- 제12항에 있어서,상기 플래그 정보의 값이 0인 경우, 상기 예측부는 상기 플래그 정보의 값이 0인 레이어를 참조하지 않고 상기 현재 레이어의 픽쳐를 예측하는 것을 특징으로 하는 영상의 디코딩 장치.
- 제10항에 있어서,상기 파싱부는 상기 현재 레이어가 참조하는 상기 현재 레이어보다 작은 레이어 ID를 갖는 참조 레이어의 개수를 수신하여 파싱하고, 상기 참조 레이어의 개수만큼의 상기 참조 레이어를 식별하는 식별 정보를 수신하여 파싱하는 것을 특징으로 하는 영상의 디코딩 장치.
- 제14항에 있어서,상기 식별 정보는 상기 참조 레이어의 레이어 ID인 것을 특징으로 하는 영상의 디코딩 장치.
- 제14항에 있어서,상기 식별 정보는 해당 참조 레이어와 이전 참조 레이어의 레이어 ID 차이값인 것을 특징으로 하는 영상의 디코딩 장치.
- 제10항에 있어서,상기 파싱부는 상기 현재 레이어가 적어도 하나의 다른 레이어를 참조하는 종속적 레이어인지 여부를 나타내는 레이어 종속성 정보를 수신하여 파싱하고,상기 참조 정보는 상기 레이어 종속성 정보가 상기 현재 레이어가 종속적 레이어인 것을 나타내는 경우 수신되는 것을 특징으로 하는 영상의 디코딩 장치.
- 제10항에 있어서,상기 파싱부는 상기 참조 레이어와 상기 현재 레이어의 의존성 타입(type of dependency)을 나타내는 의존성 타입 정보를 수신하여 파싱하고,상기 예측부는 상기 의존성 타입 정보에 대응하여 상기 현재 레이어의 예측에 인터 레이어 움직임 예측 및 인터 레이어 샘플 예측 중 적어도 하나를 이용하는 것을 특징으로 하는 영상의 디코딩 장치.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261735974P | 2012-12-11 | 2012-12-11 | |
US61/735,974 | 2012-12-11 | ||
US201361753397P | 2013-01-16 | 2013-01-16 | |
US61/753,397 | 2013-01-16 | ||
US201361753920P | 2013-01-17 | 2013-01-17 | |
US61/753,920 | 2013-01-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2014092445A2 true WO2014092445A2 (ko) | 2014-06-19 |
WO2014092445A3 WO2014092445A3 (ko) | 2014-10-23 |
Family
ID=50935059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2013/011450 WO2014092445A2 (ko) | 2012-12-11 | 2013-12-11 | 영상 복호화 방법 및 이를 이용하는 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2014092445A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200413042A1 (en) * | 2012-12-21 | 2020-12-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-Layer Video Stream Encoding and Decoding |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
KR20080092210A (ko) * | 2007-04-11 | 2008-10-15 | 삼성전자주식회사 | 다시점 영상의 부호화, 복호화 방법 및 장치 |
KR20090004659A (ko) * | 2007-07-02 | 2009-01-12 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
KR20120072718A (ko) * | 2010-12-24 | 2012-07-04 | 전자부품연구원 | 액세스 유닛 단위 처리를 이용한 스케일러블 비디오 코딩의 복호화 장치 및 방법 |
US20120183077A1 (en) * | 2011-01-14 | 2012-07-19 | Danny Hong | NAL Unit Header |
-
2013
- 2013-12-11 WO PCT/KR2013/011450 patent/WO2014092445A2/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
KR20080092210A (ko) * | 2007-04-11 | 2008-10-15 | 삼성전자주식회사 | 다시점 영상의 부호화, 복호화 방법 및 장치 |
KR20090004659A (ko) * | 2007-07-02 | 2009-01-12 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
KR20120072718A (ko) * | 2010-12-24 | 2012-07-04 | 전자부품연구원 | 액세스 유닛 단위 처리를 이용한 스케일러블 비디오 코딩의 복호화 장치 및 방법 |
US20120183077A1 (en) * | 2011-01-14 | 2012-07-19 | Danny Hong | NAL Unit Header |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200413042A1 (en) * | 2012-12-21 | 2020-12-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-Layer Video Stream Encoding and Decoding |
Also Published As
Publication number | Publication date |
---|---|
WO2014092445A3 (ko) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014003379A1 (ko) | 영상 디코딩 방법 및 이를 이용하는 장치 | |
WO2014038906A1 (ko) | 영상 복호화 방법 및 이를 이용하는 장치 | |
WO2014104725A1 (ko) | 영상의 부호화/복호화 방법 및 이를 이용하는 장치 | |
WO2020071616A1 (ko) | Cclm에 기반한 인트라 예측 방법 및 그 장치 | |
WO2020036390A1 (ko) | 영상 신호를 처리하기 위한 방법 및 장치 | |
WO2021172912A1 (ko) | 사인 데이터 하이딩 관련 영상 디코딩 방법 및 그 장치 | |
WO2021006632A1 (ko) | 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩 | |
WO2020013541A1 (ko) | 비디오 신호를 처리하기 위한 방법 및 장치 | |
WO2015105385A1 (ko) | 스케일러블 비디오 부호화/복호화 방법 및 장치 | |
WO2015099400A1 (ko) | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 | |
WO2021201549A1 (ko) | 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치 | |
WO2021201551A1 (ko) | 비디오 또는 영상 코딩 시스템에서의 흑백 영상에 대한 크로마 디블록킹 파라미터 정보에 기반한 영상 코딩 방법 | |
WO2021145669A1 (ko) | 영상/비디오 코딩 시스템에서 인터 예측 방법 및 장치 | |
WO2013168952A1 (ko) | 인터 레이어 예측 방법 및 이를 이용하는 장치 | |
WO2015147426A1 (ko) | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 | |
WO2021006697A1 (ko) | 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치 | |
WO2021006698A1 (ko) | 영상 코딩 시스템에서 영상 코딩 방법 및 장치 | |
WO2020213866A1 (ko) | 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩 | |
WO2020032526A1 (ko) | 영상 코딩 시스템에서 컨스트럭티드 어파인 mvp 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
WO2020017786A1 (ko) | 영상 코딩 시스템에서 인트라 예측 정보를 포함한 영상 정보 기반 영상 디코딩 방법 및 그 장치 | |
WO2022182174A1 (ko) | 인트라 예측 모드 도출 기반 인트라 예측 방법 및 장치 | |
WO2021256785A1 (ko) | Poc msb 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2021182802A1 (ko) | 비디오 또는 영상 코딩 시스템에서의 타일과 관련된 정보 및 슬라이스와 관련된 정보에 기반한 영상 코딩 방법 | |
WO2021201628A1 (ko) | 출력 레이어 셋에 기반하여 파라미터 셋의 참조 여부를 결정하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021194229A1 (ko) | 비디오 또는 이미지 코딩 시스템에서 디블록킹 필터 파라미터 정보를 시그널링하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13863599 Country of ref document: EP Kind code of ref document: A2 |