WO2015053525A1 - Method for encoding/decoding image and device using same - Google Patents
Method for encoding/decoding image and device using same Download PDFInfo
- Publication number
- WO2015053525A1 WO2015053525A1 PCT/KR2014/009409 KR2014009409W WO2015053525A1 WO 2015053525 A1 WO2015053525 A1 WO 2015053525A1 KR 2014009409 W KR2014009409 W KR 2014009409W WO 2015053525 A1 WO2015053525 A1 WO 2015053525A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- picture
- layer
- output
- target
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
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 encoding and decoding processing, and more particularly, to a video encoding / decoding method and apparatus for supporting bitstream random access.
- an inter prediction technique for predicting pixel values included in a current picture from a previous and / or subsequent picture in time, and predicting pixel values included in a current picture using pixel information in the current picture.
- An intra prediction technique an entropy encoding technique of allocating a short code to a symbol with a high frequency of appearance and a long code to a symbol with a low frequency of appearance may be used.
- Video compression technology is a technology that provides a constant network bandwidth under a limited operating environment of hardware without considering a fluid network environment.
- a new compression technique is required to compress image data applied to a network environment in which bandwidth changes frequently, and a scalable video encoding / decoding method may be used for this purpose.
- the present invention provides a method for enabling decoding from an arbitrary point in a bitstream and an apparatus using the same.
- an embodiment of the present invention includes an intra-random access point (IRAP) picture and a non-intra-random random access point picture (IRAP) picture or only an IRAP picture in an AU (access unit) at a random access point.
- IRAP intra-random access point
- IRAP non-intra-random random access point picture
- the bitstream may be gradually decoded from a random access point.
- a method of decoding a bitstream including a plurality of layers may include: setting a parameter for decoding the bitstream from a time point when the random access occurs when random access occurs; And decoding the picture to be decoded, and setting the parameter comprises setting an initialization flag indicating whether or not the picture to be decoded can be normally decoded and output when the random access occurs.
- Steps Setting a flag variable (NoRaslOutputFlag) indicating whether the decoding target picture is used as a random access point; If the decoding target picture is an IRAP picture, the flag variable is 1, the initialization flag for the decoding target picture is 0, and the initialization flag for all the reference layers of the target layer is 1, for the target layer And resetting the initialization flag to 1.
- NoRaslOutputFlag a flag variable indicating whether the decoding target picture is used as a random access point
- the setting of the initialization flag may be set to 1 for a base layer of the access unit in which the random access has occurred and to 0 for a layer higher than the base layer.
- the setting of the flag variable NoRaslOutputFlag may include setting the flag variable to 1 when the decoding target picture is an IDR picture or a BLA picture or an IRAP picture and is the first picture of the target layer of the corresponding bitstream.
- the setting of the flag variable may include: an initialization flag set to a layer to which the target picture belongs, an initial flag set to 0, and an initialization flag for all reference layers of the layer to which the target picture belongs to 1
- the flag variable may be set to one.
- the method may further include performing motion prediction and motion compensation on the decoding target picture by using a reference picture in a reference picture list generated based on the reference picture set.
- the determining of whether to output the decoding target picture may include determining that the decoding target picture is not output when the decoding target picture is an IRAP picture and the initialization flag value of the target layer is 0.
- the determining of whether to output the decoding target picture includes determining that an output target picture belonging to the output layer is not output in an access unit to which the target layer belongs, rather than an output layer to which the target layer belongs. And the target layer is used as a reference of the output layer so that the decoded picture is used as a reference picture of the output target picture and the flag information indicating whether or not to output a picture signaled in the slice header is decoded with 1 is decoded. In the case of the highest picture among the pictures, it may be determined to output the decoding target picture.
- the determining of whether to output the decoding target picture includes determining that an output target picture belonging to the output layer is not output in an access unit to which the target layer belongs, rather than an output layer to which the target layer belongs.
- the target layer is used as a reference of the output layer such that the decoding target picture is used as a reference picture of the output target picture, the initialization flag value for the target layer is 1, and the decoding target picture is signaled in a slice header.
- flag information indicating whether to output a picture is output is the highest picture among decoded pictures of 1, it may be determined that the decoding target picture is output.
- the first access unit picture outputting step comprises: the bitstream being the highest layer to the highest layer. And output an output picture of the output layer when the base layer is an intra random access point (IRAP) picture from the base layer to an nth (0 ⁇ n) layer and an output layer belongs to the base layer to the nth layer.
- the output layer is included in the top layer from the n + 1 th layer, the decoded picture of the n th layer may be output.
- the output picture of the output layer is output.
- a decoded picture of the k th layer or a picture determined to be output may be output.
- the calculating of the POC may include setting the POC of the decoding target picture to 0 when the picture of the base layer of the same access unit is an IDR picture, and when the picture of the base layer is the BLA picture or the first CRA picture of the bitstream, POC_MSB of the decoding target picture may be set to zero.
- a decoding apparatus of a bitstream when a random access occurs, includes setting parameters for decoding the bitstream from a time point when the random access occurs, and decoding a picture to be decoded.
- a prediction unit which decodes a signal, and when the random access occurs, the prediction unit sets an initialization flag indicating whether a target picture to be decoded can be decoded and output normally, and the decoding target picture is randomly accessed.
- NoRaslOutputFlag a flag variable indicating whether or not it is used as a point, wherein the decoding target picture is an IRAP picture, the flag variable is 1, the initialization flag for the decoding target picture is 0, and all of the target layers If the initialization flag for the reference layer is 1, the The initialization flag for the layer may be reset to one.
- a method and an apparatus using the same are provided so that decoding is possible from any point in the bitstream.
- an intra random access point (IRAP) picture and a non-intra random random access point picture (IRAP) are present in an access unit (AU) at a random access point, or an IRAP picture
- AU access unit
- IRAP picture a non-intra random random access point picture
- FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment.
- FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment.
- FIG. 3 is a conceptual diagram schematically illustrating an embodiment of a scalable video coding structure using multiple layers to which the present invention can be applied.
- FIG. 4 is a diagram for describing a method of gradually decoding a bitstream according to the present invention.
- FIG. 5 is a diagram illustrating a bitstream structure including a randomly accessible point of time according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating a bitstream structure including randomly accessible viewpoints according to another embodiment of the present invention.
- FIG. 7 is a diagram illustrating a bitstream structure including randomly accessible viewpoints according to another embodiment of the present invention.
- FIG. 8 is a diagram illustrating a bitstream structure including a randomly accessible time point according to another embodiment of the present invention.
- FIG. 9 is a control flowchart illustrating a method of decoding an image according to an embodiment of the present invention.
- FIG. 10 is a diagram for describing a method of setting a decoding parameter according to an embodiment of the present invention.
- 11 is a control flowchart illustrating a decoding method of an inter-layer video according to an embodiment of the present invention.
- first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
- the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
- each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
- each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
- Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
- the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
- the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
- FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment.
- a scalable video encoding / decoding method or apparatus may be implemented by an extension of a general video encoding / decoding method or apparatus that does not provide scalability, and the block diagram of FIG. 1 is scalable.
- An embodiment of an image encoding apparatus that may be the basis of a video encoding apparatus is illustrated.
- the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, and a converter 130. And a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference image buffer 190.
- the image encoding apparatus 100 may perform encoding in an intra mode or an inter mode on an input image and output a bit stream.
- Intra prediction means intra prediction and inter prediction means inter prediction.
- the switch 115 is switched to intra, and in the inter mode, the switch 115 is switched to inter.
- the image encoding apparatus 100 may generate a prediction block for an input block of an input image and then encode a difference between the input block and the prediction block.
- the intra predictor 120 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
- the motion predictor 111 may obtain a motion vector by searching for a region that best matches an input block in the reference image stored in the reference image buffer 190 during the motion prediction process.
- the motion compensator 112 may generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the reference image buffer 190.
- the subtractor 125 may generate a residual block by the difference between the input block and the generated prediction block.
- the transform unit 130 may output a transform coefficient by performing transform on the residual block.
- the quantization unit 140 may output the quantized coefficient by quantizing the input transform coefficient according to the quantization parameter.
- the entropy encoding unit 150 entropy encodes a symbol according to a probability distribution based on values calculated by the quantization unit 140 or encoding parameter values calculated in the encoding process, thereby generating a bit stream. You can print
- the entropy encoding method is a method of receiving a symbol having various values and expressing it in a decodable column while removing statistical redundancy.
- the symbol means a syntax element, a coding parameter, a residual signal value, or the like that is to be encoded / decoded.
- the encoding parameter is a parameter necessary for encoding and decoding, and may include information that may be inferred in the encoding or decoding process as well as information encoded by the encoding apparatus and transmitted to the decoding apparatus, such as syntax elements. This means the information you need to do.
- Coding parameters may be, for example, intra / inter prediction modes, moving / motion vectors, reference picture indexes, coding block patterns, presence or absence of residual signals, transform coefficients, quantized transform coefficients, quantization parameters, block sizes, block partitioning information, or the like. May include statistics.
- the residual signal may mean a difference between the original signal and the prediction signal, and a signal in which the difference between the original signal and the prediction signal is transformed or a signal in which the difference between the original signal and the prediction signal is converted and quantized It may mean.
- the residual signal may be referred to as a residual block in block units.
- the entropy encoder 150 may store a table for performing entropy encoding, such as a variable length coding (VLC) table, and the entropy encoder 150 may store the stored variable length encoding. Entropy encoding may be performed using the (VLC) table. In addition, the entropy encoder 150 derives a binarization method of a target symbol and a probability model of a target symbol / bin, and then performs entropy encoding using the derived binarization method or a probability model. You may.
- VLC variable length coding
- CABAC context-adaptive binary arithmetic coding
- the quantized coefficients may be inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170.
- the inverse quantized and inverse transformed coefficients are added to the prediction block through the adder 175 and a reconstruction block can be generated.
- the reconstruction block passes through the filter unit 180, and the filter unit 180 applies at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstruction block or the reconstruction picture. can do.
- the reconstructed block that has passed through the filter unit 180 may be stored in the reference image buffer 190.
- FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment.
- a scalable video encoding / decoding method or apparatus may be implemented by extension of a general video encoding / decoding method or apparatus that does not provide scalability
- the block diagram of FIG. 2 is scalable video decoding.
- An embodiment of an image decoding apparatus that may be the basis of an apparatus is shown.
- the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and a filter. 260 and a reference picture buffer 270.
- the image decoding apparatus 200 may receive a bitstream output from the encoding apparatus, perform decoding in an intra mode or an inter mode, and output a reconstructed image, that is, a reconstructed image.
- the switch In the intra mode, the switch may be switched to intra, and in the inter mode, the switch may be switched to inter.
- the image decoding apparatus 200 may generate a reconstructed block, that is, a reconstructed block by obtaining a residual block reconstructed from the received bitstream, generating a prediction block, and adding the reconstructed residual block and the prediction block.
- the entropy decoder 210 may entropy decode the input bitstream according to a probability distribution to generate symbols including symbols in the form of quantized coefficients.
- the entropy decoding method is a method of generating each symbol by receiving a binary string.
- the entropy decoding method is similar to the entropy coding method described above.
- the quantized coefficients are inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficients, a reconstructed residual block may be generated.
- the intra predictor 240 may generate a predictive block by performing spatial prediction using pixel values of an already encoded block around the current block.
- the motion compensator 250 may generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the reference image buffer 270.
- the reconstructed residual block and the prediction block are added through the adder 255, and the added block passes through the filter unit 260.
- the filter unit 260 may apply at least one or more of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture.
- the filter unit 260 outputs a reconstructed image, that is, a reconstructed image.
- the reconstructed picture may be stored in the reference picture buffer 270 to be used for inter prediction.
- components directly related to the decoding of an image in the reference image buffer 270 for example, an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, and motion compensation.
- the unit 250, the filter unit 260, and the like may be distinguished from other components and expressed as a decoder or a decoder.
- the image decoding apparatus 200 may further include a parsing unit (not shown) which parses information related to an encoded image included in a bitstream.
- the parser may include the entropy decoder 210 or may be included in the entropy decoder 210. Such a parser may also be implemented as one component of the decoder.
- FIG. 3 is a conceptual diagram schematically illustrating an embodiment of a scalable video coding structure using multiple layers to which the present invention can be applied.
- a group of pictures represents a picture group, that is, a group of pictures.
- a transmission medium In order to transmit image data, a transmission medium is required, and its performance varies depending on the transmission medium according to various network environments.
- a scalable video coding method may be provided for application to such various transmission media or network environments.
- the scalable video coding method is a coding method that improves encoding / decoding performance by removing inter-layer redundancy by using texture information, motion information, and residual signals between layers.
- the scalable video coding method may provide various scalability in terms of spatial, temporal, and image quality according to ambient conditions such as a transmission bit rate, a transmission error rate, and a system resource.
- Scalable video coding may be performed using multiple layers structure to provide a bitstream applicable to various network situations.
- the scalable video coding structure may include a base layer that compresses and processes image data by using a general image encoding method, and compresses the image data by using the encoding information of the base layer and a general image encoding method together. May include an enhancement layer for processing.
- a layer is an image and a bit divided based on spatial (eg, image size), temporal (eg, coding order, image output order, frame rate), image quality, complexity, and the like.
- the base layer may mean a lower layer, a reference layer or a base layer
- the enhancement layer may mean an upper layer and an enhancement layer.
- the plurality of layers may have a dependency between each other.
- the base layer may be defined as a standard definition (SD), a frame rate of 15 Hz, and a 1 Mbps bit rate
- the first enhancement layer may be a high definition (HD), a frame rate of 30 Hz, and a 3.9 Mbps bit rate
- the second enhancement layer may be defined as 4K-UHD (ultra high definition), a frame rate of 60 Hz, and a bit rate of 27.2 Mbps.
- the format, frame rate, bit rate, etc. are exemplary and may be determined differently as necessary.
- the number of hierarchies used is not limited to this embodiment and may be determined differently according to a situation.
- the frame rate of the first enhancement layer HD may be reduced and transmitted at 15 Hz or less.
- the scalable video coding method can provide temporal, spatial and image quality scalability by the method described above in the embodiment of FIG. 3.
- encoding and decoding video supporting a plurality of layers in a bitstream that is, scalable coding
- 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 to be predicted 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.
- SVC scalable video coding / decoding
- the bitstream may support at least one scalability, for example, spatial, image quality, and view scalability, and thus, a video having at least one or more hierarchical structures may be encoded / decoded to allow random access.
- at least one scalability for example, spatial, image quality, and view scalability
- the number of layers may be one or more, and the lowest layer may be referred to as a base layer.
- a case where the number of layers is three will be described as an example.
- the present invention can be applied without being limited to the number of layers.
- the upper layer and the lower layer may be encoded / decoded in a single loop or multiple loops.
- the decoding apparatus may decode the bitstream from the random access point generated in the encoding apparatus.
- the base layer included in an access unit (AU) at random access time is encoded as an intra random access point (IRAP) picture, and upper layers are non-IRAP picture (hereinafter referred to as non-IRAP picture) or IRAP pictures. Can be encoded by.
- An access unit refers to a set of NAL units or pictures that can be displayed at the same time.
- the bitstream can be decoded from this time point.
- a problem may occur that the bitstream cannot be decoded from that time.
- the present invention proposes a method for enabling decoding of a bitstream from a corresponding point of time even when a picture of a layer corresponding to a random access point includes a picture that is not accessible randomly.
- FIG. 4 is a diagram for describing a method of gradually decoding a bitstream according to the present invention.
- each layer may include an IRAP picture and a non-IRAP picture.
- the picture of the first layer (layer 0) among the pictures included in the AU A is an IRAP picture, but the pictures of the second layer (layer 1) and the third layer (layer 2) are non-IRAP pictures.
- the picture of the second layer (layer 1) among the pictures included in the AU B is an IRAP picture, but the pictures of the first layer (layer 0) and the third layer (layer 2) are non-IRAP pictures.
- the picture of the third layer (layer 2) of the pictures included in the AU C is an IRAP picture, but the pictures of the first layer (layer 0) and the second layer (layer 1) are non-IRAP pictures.
- the bitstream may be encoded / decoded so as to be displayed gradually from the lower layer normally decoded to the final highest layer.
- 5 to 8 illustrate a bitstream structure including a randomly accessible view point according to an embodiment of the present invention.
- one IRAP picture is included in the AU as shown in FIG. 4, and the IRAP pictures are sequentially included in order from the lowest lower layer to the higher layer.
- a first layer (layer 0) is decoded from AU A
- a first layer (layer 0) and a second layer (layer 1) are decoded from AU B
- all layers from AU C. (layer 0, layer 1, layer 2) may be decoded.
- the pictures of the first layer (layer 0) and the second layer (layer 1) of the pictures included in the AU A are IRAP pictures, and in the case of the next AU B, the pictures of the second layer (layer 1) Only an IRAP picture.
- the first layer (layer 0) and the second layer (layer 1) are decoded from AU A, and from AU C to the third layer (layer 2), that is, all layers (layer 0, layer 1, layer 2) may be decoded.
- the picture of the first layer (layer 0) among the pictures included in the AU A is an IRAP picture
- the pictures of the second layer (layer 1) and the third layer (layer 2) are non-IRAP pictures.
- pictures of the first layer (layer 0) and the second layer (layer 1) of the pictures included in the AU B are IRAP pictures
- the second layer (layer 1) and the third of the pictures included in the AU C are included.
- the picture of the layer (layer 2) is an IRAP picture.
- the first layer (layer 0) is decoded from AU A
- the first layer (layer 0) and the second layer (layer 1) are decoded from AU B, as shown in FIG.
- Layers (layer 0, layer 1, layer 2) may be decoded.
- the first layer (layer 0) is decoded from AU A
- the second layer (layer 1) is a picture because the picture of the second layer (layer 1) is a non-IRAP picture and is not an IRAP picture. Cannot be decrypted.
- the pictures of the third layer (layer 2) referring to the second layer (layer 1) may not be normally output. Accordingly, the first layer (layer 0) and the second layer (layer1) can be decoded from AU C, and then all layers (layer 0) from AU D including the IRAP picture in the second layer (layer 1). , layer 1, layer 2) may be decoded.
- the present invention provides an encoding and decoding method capable of random access from AU A in a bitstream having the structure of FIGS. 5 to 8.
- the encoding and decoding method of the present invention is not limited to the bitstream structure of FIGS. 5 to 8.
- the encoding / decoding process from the corresponding AU is described below when the base layer is an IRAP picture and the AU in which the upper layer is present is the first AU of the bitstream.
- a method of decoding a bitstream from a randomly accessible point of time receives a bitstream up to nth layer, decodes nth layer, and then decodes the layer up to (n + k) th layer (where k> 0). The same may be applied to the case of starting input reception, that is, in case of layer-switching.
- 9 is a control flowchart illustrating a method of decoding an image according to an embodiment of the present invention. 9 may be equally applied to an image encoding method as well as an image decoding method.
- the apparatus for decoding an image may set parameters necessary for decoding (S910).
- parameters necessary for decoding may be initialized or reset in the following order.
- the order of (4) and (5) does not change. Specifically, the initialization process for (5) should be performed after (3) and (4), and the initialization process of (5) may be performed only when NoRaslOutputFlag is '1' in (3) or (4). have.
- the flag value, FirstPicInLayerDecodedFlag, of all possible higher layers can be initialized to '0'. have.
- an initialization flag (for example, named LayerInitialisedFlag) that indicates whether the layer is an IRAP picture and all reference layers in that layer are normally initialized so that the decoded picture of that layer can be used as the output of the decoder. It can be set as That is, the initialization flag indicates whether the target picture to be decoded can be normally decoded and output.
- the value can be reset according to whether the flag variable and the reference layer referenced by the layer are normally decoded as described below.
- NoRaslOutputFlag can be set to '1'.
- NoRaslOutputFlag is a flag variable indicating whether the corresponding IRAP picture is used as a random access point.
- NoRaslOutputFlag may be set to '1'.
- the flag variable is set to 1.
- LayerInitialisedFlag [n] may be set to '1'.
- the flag variable is 1
- the initialization flag set for the decoding target picture is 0, and the initialization flags for all the reference layers of the layer to which the decoding target picture belongs are 1, initialization for the target layer.
- the flag is reset from 0 to 1.
- the decoding apparatus calculates a POC, which is an identifier of a picture to be currently encoded / decoded, so that a value increases according to the output order (S920).
- the Picture Order Counter is an identifier for identifying pictures in a layer having the same nuh_layer_id in a coded video stream.
- the value may increase as the output order from the DPB becomes late. have. That is, the POC is a display order in which pictures may be output from the DPB and displayed, and the POC of the IDR picture may have a value of '0'.
- All pictures in the same AU may have the same POC value.
- the POC value may be calculated by the following conventional method.
- POC_LSB value may be signaled in the slice header of the picture, and the MaxPOCLSB value indicating the maximum LSB may be signaled in the sequence parameter set.
- POC_MSB is the POC_MSB (hereinafter referred to as prevPOCMSB) and POC_LSB (hereinafter referred to as prevPOCLSB) of the picture closest to the current picture among temporal_id '0' indicating an identifier of a temporal sublayer previously encoded / decoded. And POC_LSB of the picture to be currently encoded / decoded.
- the POC value of an IDR picture can always be assumed to be '0', if the CRA picture is the first picture of the bitstream or for a BLA picture, the POC_MSB value of the picture is assumed to be '0' and the POC_LSB value is defined in the slice header. May be signaled. If the CRA picture is not the first picture of the bitstream, the POC value may be calculated in the same way as the non-IRAP picture.
- the POC value may be the same.
- flag information such as poc_reset_flag may be signaled in the slice header.
- the decoding apparatus may set POC values of all pictures in the AU including the slice to '0'.
- the decoding apparatus calculates an original POC value (POC 1) calculated by a conventional method of a current encoding / decoding target picture, and POC values of reference layers existing in the decoded picture buffer of the corresponding layer including the picture. It decreases by 1 and sets the POC value of the current target picture to '0'.
- decoding of pictures included in the corresponding AU may be performed in the following order.
- the initial POC value of the target picture to be currently encoded / decoded may be set as follows.
- the POC value may be set to '0'.
- the POC_MSB value is 0 and the POC value may be set to the POC_LSB value signaled in the slice header.
- the general POC configuration method using the POC_LSB value signaled in the slice header (as described above, the current picture among previously encoded / decoded temporal_id '0')
- the POC value ('POC1') may be set according to POC_MSB (named prevPOCMSB) and POC_LSB (named prevPOCLSB) and POC_LSB value of a picture to be currently encoded / decoded.
- the POC value of the picture including the slice having poc_reset_flag of '1' may be set to '0'.
- the picture of the base layer (layer 0) is an IRAP picture and is the first picture of the coded bitstream.
- decoding of pictures included in a corresponding AU may be performed in the following order.
- the initial POC value of the target picture to be currently encoded / decoded may be set as follows.
- the POC value may be set to '0'.
- the POC_MSB value is 0 and the POC value may be set to the POC_LSB value signaled in the slice header.
- the POC value ('POC1') can be set using one of the following methods: Can be.
- the POC value 'POC1' may be set according to the conventional POC setting method described above using the POC_LSB value signaled in the slice header.
- both prevPOCMSB and prevPOCLSB values may be set to '0'.
- the POC_MSB value of the current decoding target picture may be set to '0'.
- the POC value ('POC1') of the picture to be currently decoded is set to the POC_LSB value signaled in the slice header of the current picture.
- the POC value of the current decoding target picture may be set to '0' without being calculated.
- the POC value of the picture including the slice having poc_reset_flag of '1' may be set to '0'.
- the apparatus for decoding an image configures a reference picture set and performs reference picture marking for inter prediction of the current sub / decoding target picture (S930).
- the POC value or the POC_LSB value of the slice reference pictures of the picture may be calculated as follows.
- POC values of short-term reference pictures are calculated using a delta_POC value indicating each short-term reference picture signaled in the corresponding slice header and a 'POC1' value, which is a POC value of the current picture. do.
- the delta_POC value may be a difference between the POC of the current picture and the i-th short-term reference picture or a difference between the (i + 1) th short-term reference picture and the i-th short-term reference picture.
- a long-term reference picture is referred to using a POC_LSB value for each long-term reference picture, a value for calculating a POC_MSB value (delta_poc_msb_cycle_lt), and a 'POC1' value, which is a POC value of the current picture.
- the POC_LSB or POC value of the pictures is calculated.
- delta_poc_msb_cycle_lt may be signaled in the corresponding slice header.
- the POC_LSB is signaled for the long-term reference picture, and only the POC_LSB value signaled identifies the long-term POC.
- a value (delta_poc_msb_cycle_lt) for calculating the POC_MSB value is additionally signaled, thereby identifying the POC of each reference picture. Do it.
- POC values or POC_LSB values of slice reference pictures of the picture may be calculated as follows.
- POC values of short-term reference pictures are calculated using a delta_POC value indicating each short-term reference picture signaled in the corresponding slice header and a '0' value, which is a POC value of the current picture. do.
- the delta_POC value may be a difference between the POC of the current picture and the i-th short-term reference picture or a difference between the (i + 1) th short-term reference picture and the i-th short-term reference picture.
- a value for calculating a POC_LSB value and a POC_MSB value for each long-term reference picture (delta_poc_msb_cycle_lt), a '0' value that is a POC value of the current picture, and a slice header of the current picture
- the POC_LSB value or the POC value of the long term reference pictures is calculated using the POC_LSB value signaled at.
- delta_poc_msb_cycle_lt may be signaled in the slice header of the corresponding long-term reference picture.
- the POC_LSB is signaled for the long-term reference picture, and only the POC_LSB value signaled identifies the long-term POC.
- a value (delta_poc_msb_cycle_lt) for calculating the POC_MSB value is additionally signaled, thereby identifying the POC of each reference picture. Do it.
- the POC value or POC_LSB value of the reference pictures signaled to the slice header of the picture including the slice having poc_reset_flag '1' matches the POC value of the pictures existing in the DPB. Can be adjusted using the 'POC1' value of the current picture.
- a reference picture set may be configured and the shape of the reference picture may be displayed according to the presence or absence of the reference picture in the DPB.
- the image decoding apparatus may generate a virtual reference picture for a picture included in the reference picture set but not present in the DPB (S940).
- the POC values of the generated virtual pictures have the POC values of the respective reference pictures calculated in step S920.
- the PicOutputFlag value indicating whether the virtual reference picture is output in the DPB is set to '0', and the virtual reference picture generated thereby is not output.
- the generated virtual reference pictures may be represented as short-term reference pictures or long-term reference pictures as content signaled in the reference picture set. Specifically, the short-term reference picture referenced by the current picture and before the current picture in display order, the short-term reference picture referenced by the current picture and displayed in the display order after the current picture, the long-term reference picture referenced by the current picture, and pictures after the current picture. It may be indicated as a short-term reference picture referenced by, a long-term reference picture referenced by pictures after the current picture.
- the image decoding apparatus may determine whether to output the current encoding / decoding target picture (S950).
- PicOutputFlag which indicates whether to output the decoded picture, can be set in the following order. If the PicOutputFlag value is '1', the decoded picture buffer is exported to the decoder output, and if it is '0', the decoded picture buffer is output to the decoder output. You can not send.
- the RASL picture is a leading picture in which the encoding / decoding order is later than the IRAP picture closest to the current picture among the IRAP pictures decoded / decoded before the current picture, but the display order is first, and before the IRAP picture.
- the PicOutputFlag may be set to '0'.
- the PicOutputFlag value may be set by one of the following methods.
- the PicOutputFlag value may be set to a pic_output_flag value signaled in the slice header.
- the PicOutputFlag value may be set to a pic_output_flag value signaled in the slice header when the corresponding layer is an output layer, and set to '0' when the corresponding layer is not an output layer.
- PicOutputFlag may be set to zero.
- the layer is not an output layer, and there is a layer whose immediate upper layer is the IRAP picture and among the lower reference layers of the upper layer, the layerInitialisedFlag value is '0', and the upper layer of the layer is the output layer.
- PicOutputFlag of the layer may be set to a pic_output_flag value signaled in the slice header.
- the PicOutputFlag value of the corresponding layer may be set to '0'.
- the layer is not an output layer, and there is no picture corresponding to the output layer within the same AU, and the layer is either a direct reference picture (a picture of a layer directly referenced by the layer) or an indirect reference picture of the output layer picture.
- a layer required for encoding / decoding a layer directly referenced by the corresponding layer), and a picture that is a direct or indirect reference picture of an output layer picture and a pic_output_flag value signaled in the slice header is '1'
- the PicOutputFlag value of the picture may be set to '1'. Otherwise, PicOutputFlag value may be set to '0'.
- the layer is not an output layer, and there is no picture corresponding to the output layer within the same AU, and the layer is either a direct reference picture (a picture of a layer directly referenced by the layer) or an indirect reference picture of the output layer picture.
- Layer required when encoding / decoding a layer directly referenced by the corresponding layer) the picture is a direct or indirect reference picture of an output layer picture
- the LayerInitializedFlag value is '1'
- the pic_output_flag value signaled in the slice header is In the case of the highest picture among the decoded pictures that are '1' (ie, the picture having the highest nuh_layer_id value), the PicOutputFlag value of the picture may be set to '1'. Otherwise, PicOutputFlag value may be set to '0'.
- the decoding apparatus may control the output of the pictures in the decoded picture buffer so that not only the set PicOutputFlag value but also the same result as described.
- the image decoding apparatus When it is determined whether to output the picture, the image decoding apparatus performs motion prediction and motion compensation on the current sub / decoding target image by using the reference picture in the reference picture list (S960).
- motion prediction and motion compensation may be performed on the current sub / decoded target image using a reference picture in the reference picture list using a conventional inter-picture prediction method.
- the decoding apparatus may perform the decoding process for steps S910 to S970 for each layer. After the decoding process in the first AU is finished, pictures having a PicOutputFlag of 1 among the layers in the first AU may be output.
- the decoded picture of the layer And decoded pictures of the n th layer if the n + 1 th layer to the top layer are included in the output layer.
- the decoding apparatus may decode the bitstream by repeatedly performing the above process up to the AU where the picture of the highest layer is decoded.
- FIG. 10 is a diagram for describing a method of setting a decoding parameter according to an embodiment of the present invention.
- the decoding apparatus may set the initialization flag to 1 for the base layer and the initialization flag to 0 for the layer higher than the base layer (S1110).
- the initialization flag (LayerInitialisedFlag) is used in the bitstream when the base layer included in the AU at the randomly accessible point is decoded from the randomly accessible point as the bitstream whose IRAP picture (ie, IDR picture, BLA picture, or CRA picture) is decoded from the randomly accessible point.
- this layer is an IRAP picture, and all reference layers of the layer are normally initialized to indicate whether a decoded picture of the layer can be used as an output of the decoder.
- the normalization of the reference layers may mean that the picture may be normally decoded and output from the decoder.
- the decoding apparatus may set a flag variable (NoRaslOutputFlag) indicating whether the picture is used as a random access point.
- a flag variable NoRaslOutputFlag
- the decoding apparatus may set the flag variable to 1 when the target picture is an IDR picture or a BLA picture or an IRAP picture and the first picture of the corresponding layer (nuh_layer_id is the same layer as the current encoding and decoding target picture) in the corresponding bitstream. If the target picture is an IRAP picture, the initialization flag set in the layer to which the target picture belongs is 0, and the initialization flag for all reference layers of the layer to which the target picture belongs is 1, the flag variable may be set to 1 (S1020).
- the decoding apparatus determines whether the initialization flag set for the target picture is 0 and the initialization flag for all reference layers of the layer to which the target picture belongs is 1. If it is determined that the initialization flag for the target picture is 0 and the initialization flag for all reference layers of the layer to which the target picture belongs is 1, the initialization flag for the target layer may be set from 0 to 1 (S1030).
- step S1010 may be changed to 1.
- decoding of the target picture may be performed as in the remaining steps of FIG. 9, and a picture of a higher layer may be gradually output depending on whether the decoded picture is output.
- FIG. 11 is a control flowchart illustrating a decoding method of an inter-layer video according to an embodiment of the present invention. A method of finally decoding a bitstream by decoding an image for each access unit and applying the same to a plurality of layers will be described with reference to FIG. 11.
- the decoding apparatus sets parameters for decoding as shown in steps S910 and 10 of FIG. 9 and decodes pictures included in the first access unit (S1110).
- the decoding process of the picture may correspond to steps S910 to S970 of FIG. 9, and overlapping description is omitted.
- the decoding apparatus may determine whether to individually output the pictures included in the first access unit (S1120).
- the decoding apparatus determines whether to individually output the pictures, when the initialization flag value of the target layer to which the decoding target picture belongs is 0, the decoding apparatus may determine that the target picture is not output.
- the decoding apparatus determines that the target layer to which the decoding target picture belongs is not the output layer, and there is no output target picture belonging to the output layer in the access unit to which the target layer belongs, that is, the output target picture is not output.
- the target picture is the highest picture among decoded pictures having flag information indicating whether or not the picture signaled in the slice header is output is 1, It may be determined to output the target picture.
- the decoding apparatus determines that the target layer to which the decoding target picture belongs is not the output layer, and there is no output target picture belonging to the output layer in the access unit to which the target layer belongs, that is, the output target picture is not output.
- the layer is used as a reference of the output layer
- the target picture is used as the reference picture of the output picture
- the initialization flag value for the target layer is 1
- the flag information indicating whether the target picture is outputted in the picture signaled in the slice header is 1
- the target picture may be determined to be output.
- the decoding apparatus may decode the pictures included in the second access unit, which is the next access unit (S1130), and determine whether to output each of them separately (S1140).
- the method of determining whether to output pictures included in the second access unit is the same as the method of determining whether to output pictures included in the first access unit.
- the decoding apparatus may output a picture determined to be output in correspondence with an output time point of each picture.
- the decoding apparatus individually determines whether to output the pictures included in the access unit, and outputs pictures that can be output, and sequentially determines whether to output the pictures of the next access unit, and then decodes normally. Output pictures of a layer that can be output. Through this process, pictures of a higher layer may be gradually decoded and output.
- an intra-random access point (IRAP) picture and a non-intra-random random access point picture (IRAP) picture or only an IRAP picture exist in an access unit (AU) at a random access point.
- IRAP intra-random access point
- AU access unit
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 영상의 부호화 및 복호화 처리에 관한 것으로서, 보다 상세하게는 비트스트림 임의 접근을 지원하는 영상의 부/복호화 방법 및 그 장치에 관한 것이다.The present invention relates to video encoding and decoding processing, and more particularly, to a video encoding / decoding method and apparatus for supporting bitstream random access.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.Recently, as broadcasting services having high definition (HD) resolution have been expanded not only in Korea but also in the world, many users are accustomed to high resolution and high quality images, and many organizations are accelerating the development of next generation video equipment. In addition, as interest in Ultra High Definition (UHD), which has four times the resolution of HDTV, is increasing along with HDTV, a compression technology for higher resolution and higher quality images is required.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.For image compression, an inter prediction technique for predicting pixel values included in a current picture from a previous and / or subsequent picture in time, and predicting pixel values included in a current picture using pixel information in the current picture. An intra prediction technique, an entropy encoding technique of allocating a short code to a symbol with a high frequency of appearance and a long code to a symbol with a low frequency of appearance may be used.
영상 압축 기술에는 유동적인 네트워크 환경을 고려하지 않고 하드웨어의 제한적인 동작 환경하에서 일정한 네트워크 대역폭을 제공하는 기술이 있다. 그러나 수시로 대역폭이 변화하는 네트워크 환경에 적용되는 영상 데이터를 압축하기 위해서는 새로운 압축 기술이 요구되고, 이를 위해 스케일러블(scalable) 비디오 부호화/복호화 방법이 사용될 수 있다. Video compression technology is a technology that provides a constant network bandwidth under a limited operating environment of hardware without considering a fluid network environment. However, a new compression technique is required to compress image data applied to a network environment in which bandwidth changes frequently, and a scalable video encoding / decoding method may be used for this purpose.
본 발명은 비트스트림의 임의 시점부터 복호화가 가능하도록 하는 방법 및 이를 이용하는 장치를 제공한다.The present invention provides a method for enabling decoding from an arbitrary point in a bitstream and an apparatus using the same.
구체적으로, 본 발명의 일 실시예는 임의 접근 시점의 AU(access unit) 내에 IRAP(intra random access point) 픽처와 IRAP가 아닌 픽처(non- intra random access point picture)가 존재하거나, IRAP 픽처만 존재하지만 NAL 유닛 타입이 두 개 이상인 경우에 임의 접근 가능 시점부터 점진적으로 비트스트림을 복호화 가능하도록 한다. In detail, an embodiment of the present invention includes an intra-random access point (IRAP) picture and a non-intra-random random access point picture (IRAP) picture or only an IRAP picture in an AU (access unit) at a random access point. However, when there are two or more NAL unit types, the bitstream may be gradually decoded from a random access point.
본 발명의 일 실시예에 따른 복수의 계층을 포함하는 비트스트림의 복호화 방법은 임의 접근이 발생된 경우, 상기 임의 접근이 발생된 시점부터 상기 비트스트림을 복호화 하기 위한 파라미터를 설정하는 단계와; 복호화 대상 픽처의 복호화를 수행하는 단계를 포함하고, 상기 파라미터를 설정하는 단계는, 상기 임의 접근이 발생한 경우, 복호화 대상이 되는 대상 픽처가 정상적으로 복호되어 출력될 수 있는지 여부를 나타내는 초기화 플래그를 설정하는 단계와; 상기 복호화 대상 픽처가 임의 접근 포인트로 사용되었는지 여부를 나타내는 플래그 변수(NoRaslOutputFlag)를 설정하는 단계와; 상기 복호화 대상 픽처가 IRAP 픽처이고, 상기 플래그 변수가 1이고, 상기 복호화 대상 픽처에 대한 상기 초기화 플래그가 0이고, 상기 대상 계층의 모든 참조 계층에 대한 상기 초기화 플래그가 1이면, 상기 대상 계층에 대한 상기 초기화 플래그를 1로 재설정하는 단계를 포함할 수 있다. According to an embodiment of the present invention, a method of decoding a bitstream including a plurality of layers may include: setting a parameter for decoding the bitstream from a time point when the random access occurs when random access occurs; And decoding the picture to be decoded, and setting the parameter comprises setting an initialization flag indicating whether or not the picture to be decoded can be normally decoded and output when the random access occurs. Steps; Setting a flag variable (NoRaslOutputFlag) indicating whether the decoding target picture is used as a random access point; If the decoding target picture is an IRAP picture, the flag variable is 1, the initialization flag for the decoding target picture is 0, and the initialization flag for all the reference layers of the target layer is 1, for the target layer And resetting the initialization flag to 1.
상기 초기화 플래그를 설정하는 단계는, 상기 임의 접근이 발생한 억세스 유닛의 기본 계층에 대하여 1로 설정하고, 상기 기본 계층보다 상위의 계층에 대하여 0으로 설정할 수 있다. The setting of the initialization flag may be set to 1 for a base layer of the access unit in which the random access has occurred and to 0 for a layer higher than the base layer.
상기 플래그 변수(NoRaslOutputFlag)를 설정하는 단계는, 상기 복호화 대상 픽처가 IDR 픽처 또는 BLA 픽처이거나, 혹은 IRAP 픽처이면서 해당 비트스트림의 대상 계층의 첫번째 픽처인 경우, 상기 플래그 변수를 1로 설정할 수 있다. The setting of the flag variable NoRaslOutputFlag may include setting the flag variable to 1 when the decoding target picture is an IDR picture or a BLA picture or an IRAP picture and is the first picture of the target layer of the corresponding bitstream.
상기 플래그 변수(NoRaslOutputFlag)를 설정하는 단계는, 상기 대상 픽처가 IRAP 픽처이고, 상기 대상 픽처가 속하는 계층에 설정된 초기화 플래그가 0이고, 상기 대상 픽처가 속하는 계층의 모든 참조 계층에 대한 초기화 플래그가 1이면, 상기 플래그 변수를 1로 설정할 수 있다. The setting of the flag variable (NoRaslOutputFlag) may include: an initialization flag set to a layer to which the target picture belongs, an initial flag set to 0, and an initialization flag for all reference layers of the layer to which the target picture belongs to 1 In this case, the flag variable may be set to one.
상기 복호화 대상 픽처의 식별자인 POC를 계산하는 단계와; 상기 복호화 대상 픽처의 화면 간 예측을 위하여 참조 픽처 집합을 구성하고 참조 픽처 형태를 표시하는 단계와; 상기 초기화 플래그에 기초하여 상기 복호화 대상 픽처의 출력 여부를 결정하는 단계와; 상기 참조 픽처 집합에 기초하여 생성된 참조 픽처 리스트 내의 참조 픽처를 이용하여 상기 복호화 대상 픽처에 대한 움직임 예측 및 움직임 보상을 수행하는 단계를 더 포함할 수 있다. Calculating a POC that is an identifier of the decoding target picture; Constructing a reference picture set and displaying a reference picture type for inter prediction of the picture to be decoded; Determining whether to output the decoding target picture based on the initialization flag; The method may further include performing motion prediction and motion compensation on the decoding target picture by using a reference picture in a reference picture list generated based on the reference picture set.
상기 복호화 대상 픽처의 출력 여부를 결정하는 단계는, 상기 복호화 대상 픽처가 IRAP 픽처이고, 상기 대상 계층의 상기 초기화 플래그 값이 0인 경우, 상기 복호화 대상 픽처를 출력하지 않는 것으로 결정할 수 있다. The determining of whether to output the decoding target picture may include determining that the decoding target picture is not output when the decoding target picture is an IRAP picture and the initialization flag value of the target layer is 0.
상기 복호화 대상 픽처의 출력 여부를 결정하는 단계는, 상기 대상 계층이 출력의 대상이 되는 출력 계층이 아니고, 상기 대상 계층이 속하는 억세스 유닛 내에 상기 출력 계층에 속하는 출력 대상 픽처가 출력되지 않는 것으로 결정되고, 상기 대상 계층이 상기 출력 계층의 참조로 사용되어 상기 복호화 대상 픽처가 상기 출력 대상 픽처의 참조 픽처로 사용되고, 상기 복호화 대상 픽처가 슬라이스 헤더에서 시그널링 되는 픽쳐 출력 여부를 나타내는 플래그 정보가 1인 복호화된 픽처들 중 가장 상위 픽처인 경우, 상기 복호화 대상 픽처를 출력하는 것으로 결정할 수 있다. The determining of whether to output the decoding target picture includes determining that an output target picture belonging to the output layer is not output in an access unit to which the target layer belongs, rather than an output layer to which the target layer belongs. And the target layer is used as a reference of the output layer so that the decoded picture is used as a reference picture of the output target picture and the flag information indicating whether or not to output a picture signaled in the slice header is decoded with 1 is decoded. In the case of the highest picture among the pictures, it may be determined to output the decoding target picture.
상기 복호화 대상 픽처의 출력 여부를 결정하는 단계는, 상기 대상 계층이 출력의 대상이 되는 출력 계층이 아니고, 상기 대상 계층이 속하는 억세스 유닛 내에 상기 출력 계층에 속하는 출력 대상 픽처가 출력되지 않는 것으로 결정되고, 상기 대상 계층이 상기 출력 계층의 참조로 사용되어 상기 복호화 대상 픽처가 상기 출력 대상 픽처의 참조 픽처로 사용되고, 상기 대상 계층에 대한 상기 초기화 플래그 값이 1이고, 상기 복호화 대상 픽처가 슬라이스 헤더에서 시그널링 되는 픽쳐 출력 여부를 나타내는 플래그 정보가 1인 복호화된 픽처들 중 가장 상위 픽처인 경우, 상기 복호화 대상 픽처를 출력하는 것으로 결정할 수 있다. The determining of whether to output the decoding target picture includes determining that an output target picture belonging to the output layer is not output in an access unit to which the target layer belongs, rather than an output layer to which the target layer belongs. The target layer is used as a reference of the output layer such that the decoding target picture is used as a reference picture of the output target picture, the initialization flag value for the target layer is 1, and the decoding target picture is signaled in a slice header. When flag information indicating whether to output a picture is output is the highest picture among decoded pictures of 1, it may be determined that the decoding target picture is output.
상기 임의 접근이 발생된 시점에 대응하는 제1 억세스 유닛에 포함되어 있는 픽처들을 복호화 하는 단계와; 상기 제1 억세스 유닛에 포함되어 있는 픽처들의 개별적인 출력 여부를 결정하는 단계와; 상기 제1 억세스 유닛 다음의 제2 억세스 유닛에 포함되어 있는 픽처들을 복호화 하는 단계와; 상기 제1 억세스 유닛 다음의 제2 억세스 유닛에 포함되어 있는 픽처들의 개별적인 출력 여부를 결정하는 단계를 더 포함할 수 있다. Decoding pictures included in a first access unit corresponding to a time point at which the random access occurs; Determining whether to individually output pictures included in the first access unit; Decoding pictures included in a second access unit after the first access unit; The method may further include determining whether to individually output pictures included in the second access unit next to the first access unit.
상기 제1 억세스 유닛에 포함되어 있는 픽쳐 중 출력되는 것으로 결정된 픽처를 출력하는 제 1 억세스 유닛 픽처 출력 단계를 더 포함하고, 상기 제 1 억세스 유닛 픽처 출력 단계는, 상기 비트스트림이 기본 계층부터 최상위 계층을 포함하고, 상기 기본 계층부터 n번째(0≤n) 계층까지 IRAP(intra random access point) 픽처이고, 출력 계층이 상기 기본 계층 내지 상기 n번째 계층에 속하는 경우, 상기 출력 계층의 출력 픽처를 출력하고, 상기 출력 계층이 n+1번째 계층부터 상기 최상위 계층에 포함되어 있는 경우, n번째 계층의 복호된 픽처를 출력할 수 있다. And outputting a first access unit picture outputting a picture determined to be output among the pictures included in the first access unit, wherein the first access unit picture outputting step comprises: the bitstream being the highest layer to the highest layer. And output an output picture of the output layer when the base layer is an intra random access point (IRAP) picture from the base layer to an nth (0 ≦ n) layer and an output layer belongs to the base layer to the nth layer. When the output layer is included in the top layer from the n + 1 th layer, the decoded picture of the n th layer may be output.
상기 제2 억세스 유닛에 포함되어 있는 픽쳐 중 출력되는 것으로 결정된 픽처를 출력하는 제 2 억세스 유닛 픽처 출력 단계를 더 포함하고, 상기 제 2 억세스 유닛 픽처 출력 단계는, 상기 제2 억세스 유닛에 포함되는 상기 n+1번째 계층부터 k번째 계층에 (n+1≤k) IRAP 픽처가 포함되고, 상기 기본 계층부터 k번째 계층까지 출력 계층이 포함되어 있는 경우, 상기 출력 계층의 출력 픽처를 출력하고, 상기 출력 계층이 k+1번째 계층부터 상기 최상위 계층에 포함되어 있는 경우, k번째 계층의 복호된 픽처 또는 출력되는 것으로 결정된 픽처를 출력할 수 있다. And a second access unit picture outputting step of outputting a picture determined to be output among the pictures included in the second access unit, wherein the second access unit picture outputting step is performed by the second access unit. If the (n + 1≤k) IRAP picture is included in the n + 1 th layer to the k th layer, and the output layer is included in the k th layer from the base layer, the output picture of the output layer is output. When the output layer is included in the highest layer from the k + 1 th layer, a decoded picture of the k th layer or a picture determined to be output may be output.
상기 POC를 계산하는 단계는 동일한 억세스 유닛의 기본 계층의 픽처가 IDR 픽처인 경우 상기 복호 대상 픽처의 POC는 0으로 설정하고, 상기 기본 계층의 픽처가 BLA 픽처 또는 비트스트림의 첫번째 CRA 픽처인 경우, 상기 복호 대상 픽처의 POC_MSB는 0으로 설정될 수 있다.The calculating of the POC may include setting the POC of the decoding target picture to 0 when the picture of the base layer of the same access unit is an IDR picture, and when the picture of the base layer is the BLA picture or the first CRA picture of the bitstream, POC_MSB of the decoding target picture may be set to zero.
본 발명의 다른 실시예에 따른 복수의 계층을 포함하는 비트스트림의 복호화 장치는 임의 접근이 발생된 경우, 상기 임의 접근이 발생된 시점부터 상기 비트스트림을 복호화 하기 위한 파라미터를 설정하고, 복호화 대상 픽처의 복호화를 수행하는 예측부를 포함하고, 상기 예측부는 상기 임의 접근이 발생한 경우, 복호화 대상이 되는 대상 픽처가 정상적으로 복호되어 출력될 수 있는지 여부를 나타내는 초기화 플래그를 설정하고, 상기 복호화 대상 픽처가 임의 접근 포인트로 사용되었는지 여부를 나타내는 플래그 변수(NoRaslOutputFlag)를 설정하고, 상기 복호화 대상 픽처가 IRAP 픽처이고, 상기 플래그 변수가 1이고, 상기 복호화 대상 픽처에 대한 상기 초기화 플래그가 0이고, 상기 대상 계층의 모든 참조 계층에 대한 상기 초기화 플래그가 1이면, 상기 대상 계층에 대한 상기 초기화 플래그를 1로 재설정할 수 있다. According to another embodiment of the present invention, when a random access occurs, a decoding apparatus of a bitstream includes setting parameters for decoding the bitstream from a time point when the random access occurs, and decoding a picture to be decoded. A prediction unit which decodes a signal, and when the random access occurs, the prediction unit sets an initialization flag indicating whether a target picture to be decoded can be decoded and output normally, and the decoding target picture is randomly accessed. Set a flag variable (NoRaslOutputFlag) indicating whether or not it is used as a point, wherein the decoding target picture is an IRAP picture, the flag variable is 1, the initialization flag for the decoding target picture is 0, and all of the target layers If the initialization flag for the reference layer is 1, the The initialization flag for the layer may be reset to one.
본 발명의 일 실시예에 따르면, 비트스트림의 임의 시점부터 복호화가 가능하도록 하는 방법 및 이를 이용하는 장치가 제공된다.According to an embodiment of the present invention, a method and an apparatus using the same are provided so that decoding is possible from any point in the bitstream.
구체적으로, 본 발명의 일 실시예에 따르면, 임의 접근 시점의 AU(access unit) 내에 IRAP(intra random access point) 픽처와 IRAP가 아닌 픽처(non- intra random access point picture)가 존재하거나, IRAP 픽처만 존재하지만 NAL 유닛 타입이 두 개 이상인 경우에 임의 접근 가능 시점부터 점진적으로 비트스트림을 복호화할 수 있는 방법 및 이를 이용하는 장치가 제공된다.Specifically, according to one embodiment of the present invention, an intra random access point (IRAP) picture and a non-intra random random access point picture (IRAP) are present in an access unit (AU) at a random access point, or an IRAP picture There is provided a method and an apparatus using the same that can gradually decode a bitstream from a randomly accessible point of time when only two NAL unit types exist.
도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment.
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다.3 is a conceptual diagram schematically illustrating an embodiment of a scalable video coding structure using multiple layers to which the present invention can be applied.
도 4는 본 발명에 따라 점진적으로 비트스트림을 복호화 하는 방법을 설명하기 위한 도면이다.4 is a diagram for describing a method of gradually decoding a bitstream according to the present invention.
도 5는 본 발명의 일 실시예에 따라 임의 접근 가능 시점을 포함하는 비트스트림 구조를 도시한 도면이다. 5 is a diagram illustrating a bitstream structure including a randomly accessible point of time according to an embodiment of the present invention.
도 6은 본 발명의 다른 실시예에 따라 임의 접근 가능 시점을 포함하는 비트스트림 구조를 도시한 도면이다.6 is a diagram illustrating a bitstream structure including randomly accessible viewpoints according to another embodiment of the present invention.
도 7은 본 발명의 또 다른 실시예에 따라 임의 접근 가능 시점을 포함하는 비트스트림 구조를 도시한 도면이다.7 is a diagram illustrating a bitstream structure including randomly accessible viewpoints according to another embodiment of the present invention.
도 8은 본 발명의 또 다른 실시예에 따라 임의 접근 가능 시점을 포함하는 비트스트림 구조를 도시한 도면이다.8 is a diagram illustrating a bitstream structure including a randomly accessible time point according to another embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 영상의 복호화 방법을 설명하기 위한 제어 흐름도이다. 9 is a control flowchart illustrating a method of decoding an image according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 복호화 파라미터의 설정 방법을 설명하기 위한 도면이다. 10 is a diagram for describing a method of setting a decoding parameter according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 계층 간 영상의 복호화 방법을 설명하기 위한 제어 흐름도이다. 11 is a control flowchart illustrating a decoding method of an inter-layer video according to an embodiment of the present invention.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described concretely with reference to drawings. In describing the embodiments of the present specification, when it is determined that a detailed description of a related well-known configuration or function may obscure the gist of the present specification, the detailed description thereof will be omitted.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다. When a component is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may exist in between. Should be. In addition, the description "include" a specific configuration in the present invention does not exclude a configuration other than the configuration, it means that additional configuration may be included in the scope of the technical spirit of the present invention or the present invention.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.In addition, the components shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit. In other words, each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function. Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.In addition, some of the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance. The present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 스케일러블(scalable) 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티(scalability)를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장(extension)에 의해 구현될 수 있으며, 도 1의 블록도는 스케일러블 비디오 부호화 장치의 기초가 될 수 있는 영상 부호화 장치의 일 실시예를 나타낸다.1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment. A scalable video encoding / decoding method or apparatus may be implemented by an extension of a general video encoding / decoding method or apparatus that does not provide scalability, and the block diagram of FIG. 1 is scalable. An embodiment of an image encoding apparatus that may be the basis of a video encoding apparatus is illustrated.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.Referring to FIG. 1, the
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환된다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.The
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.In the intra mode, the
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터와 참조 영상 버퍼(190)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. In the inter mode, the
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. The
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 복호 가능한 2진수의 열로 표현하는 방법이다. The
여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.Here, the symbol means a syntax element, a coding parameter, a residual signal value, or the like that is to be encoded / decoded. The encoding parameter is a parameter necessary for encoding and decoding, and may include information that may be inferred in the encoding or decoding process as well as information encoded by the encoding apparatus and transmitted to the decoding apparatus, such as syntax elements. This means the information you need to do. Coding parameters may be, for example, intra / inter prediction modes, moving / motion vectors, reference picture indexes, coding block patterns, presence or absence of residual signals, transform coefficients, quantized transform coefficients, quantization parameters, block sizes, block partitioning information, or the like. May include statistics. In addition, the residual signal may mean a difference between the original signal and the prediction signal, and a signal in which the difference between the original signal and the prediction signal is transformed or a signal in which the difference between the original signal and the prediction signal is converted and quantized It may mean. The residual signal may be referred to as a residual block in block units.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. When entropy encoding is applied, a small number of bits are allocated to a symbol having a high probability of occurrence and a large number of bits are allocated to a symbol having a low probability of occurrence, whereby the size of the bit string for the symbols to be encoded is increased. Can be reduced. Therefore, compression performance of image encoding may be increased through entropy encoding.
엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(150)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.For entropy coding, coding methods such as exponential golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC) may be used. For example, the
양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다. The quantized coefficients may be inversely quantized by the
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.The reconstruction block passes through the
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 1에서 상술한 바와 같이 스케일러블 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 복호화 장치의 기초가 될 수 있는 영상 복호화 장치의 일 실시예를 나타낸다.2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment. As described above with reference to FIG. 1, a scalable video encoding / decoding method or apparatus may be implemented by extension of a general video encoding / decoding method or apparatus that does not provide scalability, and the block diagram of FIG. 2 is scalable video decoding. An embodiment of an image decoding apparatus that may be the basis of an apparatus is shown.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.2, the
영상 복호화 장치(200)는 부호화 장치에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 복원된 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.The
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.The
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔여 블록(residual block)이 생성될 수 있다. The quantized coefficients are inversely quantized by the
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. In the intra mode, the
복원된 잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.The reconstructed residual block and the prediction block are added through the
상기 영상 복호화 장치(200)에 포함되어 있는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270) 중 영상의 복호화에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 등을 다른 구성요소와 구분하여 복호화부 또는 디코딩부로 표현할 수 있다. The
또한, 영상 복호화 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 도시하지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 복호화부(210)를 포함할 수도 있고, 엔트로피 복호화부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.Also, the
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다. 도 3에서 GOP(Group of Picture)는 픽쳐군 즉, 픽쳐의 그룹을 나타낸다.3 is a conceptual diagram schematically illustrating an embodiment of a scalable video coding structure using multiple layers to which the present invention can be applied. In FIG. 3, a group of pictures (GOP) represents a picture group, that is, a group of pictures.
영상 데이터를 전송하기 위해서는 전송 매체가 필요하며, 그 성능은 다양한 네트워크 환경에 따라 전송 매체별로 차이가 있다. 이러한 다양한 전송 매체 또는 네트워크 환경에의 적용을 위해 스케일러블 비디오 코딩 방법이 제공될 수 있다.In order to transmit image data, a transmission medium is required, and its performance varies depending on the transmission medium according to various network environments. A scalable video coding method may be provided for application to such various transmission media or network environments.
스케일러블 비디오 코딩 방법은 계층(layer) 간의 텍스쳐 정보, 움직임 정보, 잔여 신호 등을 활용하여 계층간 중복성을 제거하여 부호화/복호화 성능을 높이는 코딩 방법이다. 스케일러블 비디오 코딩 방법은, 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라, 공간적, 시간적, 화질적 관점에서 다양한 스케일러빌리티를 제공할 수 있다.The scalable video coding method is a coding method that improves encoding / decoding performance by removing inter-layer redundancy by using texture information, motion information, and residual signals between layers. The scalable video coding method may provide various scalability in terms of spatial, temporal, and image quality according to ambient conditions such as a transmission bit rate, a transmission error rate, and a system resource.
스케일러블 비디오 코딩은, 다양한 네트워크 상황에 적용 가능한 비트스트림을 제공할 수 있도록, 복수 계층(multiple layers) 구조를 사용하여 수행될 수 있다. 예를 들어 스케일러블 비디오 코딩 구조는, 일반적인 영상 부호화 방법을 이용하여 영상 데이터를 압축하여 처리하는 기본 계층을 포함할 수 있고, 기본 계층의 부호화 정보 및 일반적인 영상 부호화 방법을 함께 사용하여 영상 데이터를 압축 처리하는 향상 계층을 포함할 수 있다.Scalable video coding may be performed using multiple layers structure to provide a bitstream applicable to various network situations. For example, the scalable video coding structure may include a base layer that compresses and processes image data by using a general image encoding method, and compresses the image data by using the encoding information of the base layer and a general image encoding method together. May include an enhancement layer for processing.
여기서, 계층(layer)은 공간(spatial, 예를 들어, 영상 크기), 시간(temporal, 예를 들어, 부호화 순서, 영상 출력 순서, 프레임 레이트), 화질, 복잡도 등을 기준으로 구분되는 영상 및 비트스트림(bitstream)의 집합을 의미한다. 또한 기본 계층은 하위 계층, 참조 계층 또는 Base layer, 향상 계층은 상위 계층, Enhancement layer를 의미할 수 있다. 또한 복수의 계층들은 서로 간에 종속성을 가질 수도 있다.In this case, a layer is an image and a bit divided based on spatial (eg, image size), temporal (eg, coding order, image output order, frame rate), image quality, complexity, and the like. Means a set of bitstreams. In addition, the base layer may mean a lower layer, a reference layer or a base layer, and the enhancement layer may mean an upper layer and an enhancement layer. In addition, the plurality of layers may have a dependency between each other.
도 3을 참조하면, 예를 들어 기본 계층은 SD(standard definition), 15Hz의 프레임율, 1Mbps 비트율로 정의될 수 있고, 제1 향상 계층은 HD(high definition), 30Hz의 프레임율, 3.9Mbps 비트율로 정의될 수 있으며, 제2 향상 계층은 4K-UHD(ultra high definition), 60Hz의 프레임율, 27.2Mbps 비트율로 정의될 수 있다. 상기 포맷(format), 프레임율, 비트율 등은 하나의 실시예로서, 필요에 따라 달리 정해질 수 있다. 또한 사용되는 계층의 수도 본 실시예에 한정되지 않고 상황에 따라 달리 정해질 수 있다. Referring to FIG. 3, for example, the base layer may be defined as a standard definition (SD), a frame rate of 15 Hz, and a 1 Mbps bit rate, and the first enhancement layer may be a high definition (HD), a frame rate of 30 Hz, and a 3.9 Mbps bit rate. The second enhancement layer may be defined as 4K-UHD (ultra high definition), a frame rate of 60 Hz, and a bit rate of 27.2 Mbps. The format, frame rate, bit rate, etc. are exemplary and may be determined differently as necessary. In addition, the number of hierarchies used is not limited to this embodiment and may be determined differently according to a situation.
예를 들어, 전송 대역폭이 4Mbps라면 상기 제1향상계층 HD의 프레임 레이트를 줄여서 15Hz이하로 전송할 수 있다. 스케일러블 비디오 코딩 방법은 상기 도 3의 실시예에서 상술한 방법에 의해 시간적, 공간적, 화질적 스케일러빌리티를 제공할 수 있다.For example, if the transmission bandwidth is 4 Mbps, the frame rate of the first enhancement layer HD may be reduced and transmitted at 15 Hz or less. The scalable video coding method can provide temporal, spatial and image quality scalability by the method described above in the embodiment of FIG. 3.
비트스트림 내 복수의 계층을 지원하는 비디오의 부호화 및 복호화, 즉 스케일러블 코딩(scalable coding)의 경우, 복수의 계층간에는 강한 연관성(correlation)이 존재하기 때문에 이런 연관성을 이용하여 예측을 수행하면 데이터의 중복 요소를 제거할 수 있고 영상의 부호화 성능을 향상시킬 수 있다. 다른 계층의 정보를 이용하여 예측의 대상이 되는 현재 레이어의 예측을 수행하는 것을 이하에서는 계층간 예측(inter-layer prediction)이라고 표현한다. 스케일러블 비디오 코딩은 이하 부호화 관점에서는 스케일러블 비디오 부호화, 복호화 관점에서는 스케일러블 비디오 복호화와 동일한 의미를 가진다. In the case of encoding and decoding 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 to be predicted 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.
스케일러블 영상 부/복호화(SVC: scalable video coding)에서의 임의 접근에 대하여 설명하기 위하여 하기와 같은 점이 고려될 수 있다.The following points may be considered to describe arbitrary approaches in scalable video coding / decoding (SVC).
비트스트림은 적어도 하나 이상의 스케일러빌리티, 예를 들어, 공간, 화질, 시점 스케일러빌리티를 지원할 수 있으며, 이와 같이 적어도 하나 이상의 계층 구조를 갖는 비디오가 임의 접근이 가능하도록 부/복호화될 수 있다.The bitstream may support at least one scalability, for example, spatial, image quality, and view scalability, and thus, a video having at least one or more hierarchical structures may be encoded / decoded to allow random access.
계층의 개수는 하나 이상의 복수 개일 수 있으며, 최하위 계층을 기본 계층이라고 할 수 있다. 이하에서는, 예시적으로 계층의 개수가 3개 인 경우에 대하여 설명한다. 물론 본 발명은 계층의 개수에 한정되지 않고 적용될 수 있다.The number of layers may be one or more, and the lowest layer may be referred to as a base layer. Hereinafter, a case where the number of layers is three will be described as an example. Of course, the present invention can be applied without being limited to the number of layers.
상위 계층 및 하위 계층은 단일 루프(single loop) 또는 다중 루프(multiple loop)의 방법으로 부/복호화될 수 있다.The upper layer and the lower layer may be encoded / decoded in a single loop or multiple loops.
부호화 장치에서 비트스트림의 임의 접근 가능 시점(random access point)이 생성되는 경우, 복호화 장치는 부호화 장치에서 생성된 임의 접근 가능 시점부터 비트스트림의 복호화를 수행할 수 있다.When a random access point of the bitstream is generated in the encoding apparatus, the decoding apparatus may decode the bitstream from the random access point generated in the encoding apparatus.
임의 접근 가능 시점의 억세스 유닛(access unit, AU) 내에 포함된 기본 계층은 IRAP(intra random access point) 픽처로 부호화되고 상위 계층들은 IRAP 픽처가 아닌 픽처(이하, non-IRAP 픽처) 혹은 IRAP 픽처들로 부호화될 수 있다. 억세스 유닛은 동일 시점에 디스플레이될 수 있는(having same output time) NAL 유닛들 또는 픽처들의 집합을 의미한다. The base layer included in an access unit (AU) at random access time is encoded as an intra random access point (IRAP) picture, and upper layers are non-IRAP picture (hereinafter referred to as non-IRAP picture) or IRAP pictures. Can be encoded by. An access unit refers to a set of NAL units or pictures that can be displayed at the same time.
한편, 임의 접근 시점에 해당하는 계층의 모든 픽처들이 임의 접근이 가능한 방식으로 부호화된 경우에만 해당 시점부터 비트스트림의 복호화가 가능하였다. 다시 말해 임의 접근 가능 시점에 해당하는 계층들 가운데 임의 접근이 불가능한 픽처가 포함된 경우에는 해당 시점부터 비트스트림의 복호화가 불가능한 문제가 발생할 수 있다.On the other hand, when all pictures of a layer corresponding to a random access time point are encoded in a random access manner, the bitstream can be decoded from this time point. In other words, when a picture that cannot be randomly accessed is included among layers corresponding to a randomly accessible time, a problem may occur that the bitstream cannot be decoded from that time.
본 발명은 임의 접근 시점에 해당하는 계층의 픽처에 임의 접근이 불가능한 픽처가 포함된 경우에도 해당 시점부터 비트스트림의 복호화가 가능하도록 하는 방법을 제안한다. The present invention proposes a method for enabling decoding of a bitstream from a corresponding point of time even when a picture of a layer corresponding to a random access point includes a picture that is not accessible randomly.
도 4는 본 발명에 따라 점진적으로 비트스트림을 복호화 하는 방법을 설명하기 위한 도면이다.4 is a diagram for describing a method of gradually decoding a bitstream according to the present invention.
도시된 바와 같이, 세 개의 계층(layer 0, layer 1, layer 2)이 존재하고, 각 계층은 IRAP 픽처와 non-IRAP 픽처를 포함할 수 있다. As shown, there are three layers (
AU A에 포함되어 있는 픽처 중 제1 계층(layer 0)의 픽처는 IRAP 픽처이지만, 제2 계층(layer 1) 및 제3 계층(layer 2)의 픽처는 non-IRAP 픽처이다. 한편, AU B에 포함되어 있는 픽처 중 제2 계층(layer 1)의 픽처는 IRAP 픽처이지만, 제1 계층(layer 0) 및 제3 계층(layer 2)의 픽처는 non-IRAP 픽처이다. 또한, AU C에 포함되어 있는 픽처 중 제3 계층(layer 2)의 픽처는 IRAP 픽처이지만, 제1 계층(layer 0) 및 제2 계층(layer 1)의 픽처는 non-IRAP 픽처이다.The picture of the first layer (layer 0) among the pictures included in the AU A is an IRAP picture, but the pictures of the second layer (layer 1) and the third layer (layer 2) are non-IRAP pictures. Meanwhile, the picture of the second layer (layer 1) among the pictures included in the AU B is an IRAP picture, but the pictures of the first layer (layer 0) and the third layer (layer 2) are non-IRAP pictures. The picture of the third layer (layer 2) of the pictures included in the AU C is an IRAP picture, but the pictures of the first layer (layer 0) and the second layer (layer 1) are non-IRAP pictures.
본 발명의 경우, 디스플레이되는 영역은 도 4에 표시된 바와 같이, 정상적으로 복호되는 하위 계층부터 점진적으로 디스플레이되어 최종적으로 목표하는 최상위 계층까지 디스플레이할 수 있도록 비트스트림을 부/복호화 할수 있다.In the case of the present invention, as shown in FIG. 4, the bitstream may be encoded / decoded so as to be displayed gradually from the lower layer normally decoded to the final highest layer.
도 5 내지 도 8은 본 발명의 일 실시예에 따라 임의 접근 가능 시점을 포함하는 비트스트림 구조를 도시한 도면이다. 5 to 8 illustrate a bitstream structure including a randomly accessible view point according to an embodiment of the present invention.
도 5의 경우, 도 4와 같이 AU에 각각 하나의 IRAP 픽처를 포함하고 있으며, 가장 낮은 하위 계층으로부터 상위 계층까지 시간적으로 순차적으로 IRAP 픽처를 포함하고 있다. 도 5의 비트스트스림의 경우, AU A에서부터 제1 계층(layer 0)이 디코딩되고, AU B부터 제1 계층(layer 0) 및 제2 계층(layer 1)이 디코딩되며, AU C에서부터 모든 계층(layer 0, layer 1, layer 2)이 디코딩될 수 있다. In the case of FIG. 5, one IRAP picture is included in the AU as shown in FIG. 4, and the IRAP pictures are sequentially included in order from the lowest lower layer to the higher layer. In the bitstream of FIG. 5, a first layer (layer 0) is decoded from AU A, a first layer (layer 0) and a second layer (layer 1) are decoded from AU B, and all layers from AU C. (
도 6의 경우, AU A에 포함되어 있는 픽처 중 제1 계층(layer 0)과 제2 계층(layer 1)의 픽처가 IRAP 픽처이고, 다음 AU B의 경우, 제2 계층(layer 1)의 픽처 만이 IRAP 픽처이다. In the case of FIG. 6, the pictures of the first layer (layer 0) and the second layer (layer 1) of the pictures included in the AU A are IRAP pictures, and in the case of the next AU B, the pictures of the second layer (layer 1) Only an IRAP picture.
도 6의 비트스트스림의 경우, AU A에서부터 제1 계층(layer 0)과 제2 계층(layer 1)이 디코딩되며, AU C에서부터 제3 계층(layer 2)까지, 즉 모든 계층(layer 0, layer 1, layer 2)이 디코딩될 수 있다.In the case of the bitstream of FIG. 6, the first layer (layer 0) and the second layer (layer 1) are decoded from AU A, and from AU C to the third layer (layer 2), that is, all layers (
도 7의 경우, AU A에 포함되어 있는 픽처 중 제1 계층(layer 0)의 픽처가 IRAP 픽처이고, 제2 계층(layer 1) 및 제3 계층(layer 2)의 픽처는 non-IRAP 픽처이다. 한편, AU B에 포함되어 있는 픽처 중 제1 계층(layer 0) 및 제2 계층(layer 1)의 픽처가 IRAP 픽처이고, AU C에 포함되어 있는 픽처 중 제2 계층(layer 1)과 제3 계층(layer 2)의 픽처가 IRAP 픽처이다. In the case of FIG. 7, the picture of the first layer (layer 0) among the pictures included in the AU A is an IRAP picture, and the pictures of the second layer (layer 1) and the third layer (layer 2) are non-IRAP pictures. . Meanwhile, pictures of the first layer (layer 0) and the second layer (layer 1) of the pictures included in the AU B are IRAP pictures, and the second layer (layer 1) and the third of the pictures included in the AU C are included. The picture of the layer (layer 2) is an IRAP picture.
도 7의 경우, 도 5와 같이, AU A에서부터 제1 계층(layer 0)이 디코딩되고, AU B부터 제1 계층(layer 0) 및 제2 계층(layer 1)이 디코딩되며, AU C에서부터 모든 계층(layer 0, layer 1, layer 2)이 디코딩될 수 있다.In the case of FIG. 7, the first layer (layer 0) is decoded from AU A, the first layer (layer 0) and the second layer (layer 1) are decoded from AU B, as shown in FIG. Layers (
도 8의 경우, AU A에 포함되어 있는 픽처 중 제1 계층(layer 0)의 픽처만이IRAP 픽처이고, 제2 계층(layer 1) 및 제3 계층(layer 2)의 픽처는 non-IRAP 픽처이다. 한편, AU B에 포함되어 있는 픽처 중 제1 계층(layer 0) 및 제3 계층(layer 2)의 픽처가 IRAP 픽처이고, AU C에 포함되어 있는 픽처 중 제2 계층(layer 1)의 픽처만이 IRAP 픽처이다. AU D에는 제3 계층(layer 2)의 픽처만이 IRAP 픽처이다.In the case of FIG. 8, only pictures of a first layer (layer 0) among pictures included in AU A are IRAP pictures, and pictures of a second layer (layer 1) and a third layer (layer 2) are non-IRAP pictures. to be. Meanwhile, the pictures of the first layer (layer 0) and the third layer (layer 2) of the pictures included in the AU B are IRAP pictures, and only the pictures of the second layer (layer 1) of the pictures included in the AU C are included. This is an IRAP picture. In the AU D, only pictures of the third layer (layer 2) are IRAP pictures.
도 8의 경우, AU A에서부터 제1 계층(layer 0)이 디코딩되고, AU B에서는 제2 계층(layer 1)의 픽처가 non-IRAP 픽처로서 IRAP 픽처가 아니기 때문에 제2 계층(layer 1)은 복호화 될 수 없다. 이 경우, 제2 계층(layer 1)을 참조하는 제3 계층(layer 2)의 픽처들은 정상적으로 출력되지 않을 수 있다. 따라서, AU C부터 제1계층(layer 0) 및 제 2계층(layer1)이 디코딩 될 수 있거, 그런 후, 제2 계층(layer 1)에 IRAP 픽처를 포함하는 AU D부터 모든 모든 계층(layer 0, layer 1, layer 2)이 디코딩될 수 있다. In the case of FIG. 8, the first layer (layer 0) is decoded from AU A, and in AU B, the second layer (layer 1) is a picture because the picture of the second layer (layer 1) is a non-IRAP picture and is not an IRAP picture. Cannot be decrypted. In this case, the pictures of the third layer (layer 2) referring to the second layer (layer 1) may not be normally output. Accordingly, the first layer (layer 0) and the second layer (layer1) can be decoded from AU C, and then all layers (layer 0) from AU D including the IRAP picture in the second layer (layer 1). ,
본 발명은 도 5 내지 도 8의 구조를 가지는 비트스트림에서 AU A 부터의 임의 접근이 가능한 부호화 및 복호화 방법을 제공한다. 다만, 본 발명의 부호화 및 복호화 방법은 도 5 내지 도 8의 비트스트림 구조에 한정적으로 적용되는 것은 아니다. The present invention provides an encoding and decoding method capable of random access from AU A in a bitstream having the structure of FIGS. 5 to 8. However, the encoding and decoding method of the present invention is not limited to the bitstream structure of FIGS. 5 to 8.
임의 접근 가능 시점부터 비트스트림을 복호화하는 경우, 기본 계층이 IRAP 픽처이고 상위 계층이 존재하는 AU가 비트스트림의 첫 번째 AU인 경우 해당 AU부터의 부/복호화 과정은 이하 기술된다. When decoding the bitstream from the random access point, the encoding / decoding process from the corresponding AU is described below when the base layer is an IRAP picture and the AU in which the upper layer is present is the first AU of the bitstream.
본 발명은 임의 접근 가능 시점부터 비트스트림을 복호화하는 방법은 n번째 계층까지의 비트스트림을 입력 받아 n번째까지의 계층을 복호화하다가 (n+k)번째 계층(이때 k>0)까지의 계층을 입력 받기 시작한 경우, 즉, 계층 전환(layer-switching)의 경우에도 적용될 수 있다.According to the present invention, a method of decoding a bitstream from a randomly accessible point of time receives a bitstream up to nth layer, decodes nth layer, and then decodes the layer up to (n + k) th layer (where k> 0). The same may be applied to the case of starting input reception, that is, in case of layer-switching.
임의 접근 가능 시점부터 점진적 복호화(layer-wise startup)를 시작하는 경우, 비트스트림의 구조는 n번째 계층이 n+1번째 계층보다 (0<=n<=62) IRAP 픽처 주기가 짧을 수 있다. When the layer-wise startup is started from the randomly accessible point of view, the structure of the bitstream may have a shorter IRAP picture period in which the nth layer is (0 <= n <= 62) than the n + 1th layer.
도 9는 본 발명의 일 실시예에 따른 영상의 복호화 방법을 설명하기 위한 제어 흐름도이다. 도 9를 통해 설명되는 발명의 내용은 영상의 복호화 방법뿐만 아니라 영상의 부호화 방법에도 동일하게 적용될 수 있다. 9 is a control flowchart illustrating a method of decoding an image according to an embodiment of the present invention. 9 may be equally applied to an image encoding method as well as an image decoding method.
우선, 영상의 복호화 장치는 복호화에 필요한 파라미터들을 설정 할 수 있다(S910).First, the apparatus for decoding an image may set parameters necessary for decoding (S910).
임의 접근 가능 시점부터 비트스트림을 복호화하는 경우에 다음과 같은 순서로 복호화에 필요한 파라미터들을 초기화하거나 재설정 할 수 있다. (4)와 (5)의 순서는 바뀌지 않는다. 구체적으로, (5)에 대한 초기화 과정은 (3) 및 (4) 이후에 수행되어야 하며, (3) 또는 (4)에서 NoRaslOutputFlag가 ‘1’인 경우에만 (5)의 초기화 과정이 수행될 수 있다.When decoding a bitstream from a random access point, parameters necessary for decoding may be initialized or reset in the following order. The order of (4) and (5) does not change. Specifically, the initialization process for (5) should be performed after (3) and (4), and the initialization process of (5) may be performed only when NoRaslOutputFlag is '1' in (3) or (4). have.
(1) 임의 접근 가능 시점의 AU에 포함되는 기본 계층이 IRAP 픽처, 즉, IDR(instantaneous decoding refresh) 픽처, BLA(broken link access) 픽처 또는 CRA(clean random access) 픽처인 경우, 임의 접근 가능 시점의 AU에 포함되는 모든 픽처가 비트스트림 내에 포함된 각 계층의 첫 번째 픽처임을 알리는 플래그, 예를 들어, FirstPicInLayerDecodedFlag와 같은 플래그는 다음과 같이 초기화 될 수 있다.(1) When the base layer included in the AU at the randomly accessible time point is an IRAP picture, that is, an instantaneous decoding refresh (IDR) picture, a broken link access (BLA) picture, or a clean random access (CRA) picture, the random access time point A flag indicating that all pictures included in the AU of are the first pictures of each layer included in the bitstream, for example, a flag such as FirstPicInLayerDecodedFlag may be initialized as follows.
현재 부/복호화 대상 픽처가 IRAP 픽처이며 임의 접근 가능 시점의 AU에 포함되어 있는 기본 계층(nuh_layer_id =0)의 픽처인 경우에 가능한 모든 상위 계층의 상기 플래그 값, FirstPicInLayerDecodedFlag를 ‘0’으로 초기화할 수 있다. When the current sub / decoding target picture is an IRAP picture and is a picture of a base layer (nuh_layer_id = 0) included in an AU at random access time, the flag value, FirstPicInLayerDecodedFlag, of all possible higher layers can be initialized to '0'. have.
즉, 예를 들어, 최대 가능한 상위 계층의 수가 63인 경우, 즉nuh_layer_id=63인 경우에 0<i<=63에 대해 FirstPicInLayerDecodedFlag[i]는 0으로 설정될 수 있다. That is, for example, FirstPicInLayerDecodedFlag [i] may be set to 0 for 0 <i <= 63 when the maximum possible number of upper layers is 63, that is, when nuh_layer_id = 63.
(2) 임의 접근 가능 시점의 AU에 포함되는 기본 계층이 IRAP 픽처 (즉, IDR 픽처, BLA 픽처 또는 CRA 픽처)인 비트스트림을 해당 임의 접근 가능 시점부터 복호화를 하는 경우, 비트스트림 내에 포함된 계층들 가운데 해당 계층이 IRAP 픽처며 해당 계층의 모든 참조 계층들이 정상적으로 초기화되어 해당 계층의 복호된 픽처가 복호화기의 출력으로 사용될 수 있는지 여부를 알려주는 초기화 플래그(예를 들어, LayerInitialisedFlag라고 명명)는 다음과 같이 설정 될 수 있다. 즉 초기화 플래그는 복호화 대상이 되는 대상 픽처가 정상적으로 복호되어 출력될 수 있는지 여부를 나타낸다. (2) When decoding a bitstream whose base layer included in the AU at random access time is an IRAP picture (ie, an IDR picture, a BLA picture, or a CRA picture) from the random access time, the layer included in the bitstream Among these, an initialization flag (for example, named LayerInitialisedFlag) that indicates whether the layer is an IRAP picture and all reference layers in that layer are normally initialized so that the decoded picture of that layer can be used as the output of the decoder. It can be set as That is, the initialization flag indicates whether the target picture to be decoded can be normally decoded and output.
현재 부호화, 복호화 대상 픽처가 IRAP 픽처이고 임의 접근 가능 시점의 AU에 포함되어 있는 기본 계층(nuh_layer_id=0)의 픽처인 경우에 LayerInitialisedFlag[0]를 1로 설정하고, 나머지 계층(1<=i<=63)에 대하여 LayerInitialisedFlag[i]를 0으로 설정 할 수 있다.If the current encoding / decoding target picture is an IRAP picture and is a picture of the base layer (nuh_layer_id = 0) included in the AU at random access time, LayerInitialisedFlag [0] is set to 1, and the remaining layers (1 <= i < For Layer 63), LayerInitialisedFlag [i] may be set to 0.
초기화 플래그는 비트스트림 복호화의 시작 시점에 개별적인 계층에 대하여 0 또는 1로 설정된 후, 아래 설명과 같이 플래그 변수와 해당 계층이 참조하는 참조 계층의 정상적인 복호화 여부에 따라 그 값이 재설정될 수 있다. After the initialization flag is set to 0 or 1 for an individual layer at the start of bitstream decoding, the value can be reset according to whether the flag variable and the reference layer referenced by the layer are normally decoded as described below.
(3) 현재 부호화, 복호화 대상 픽처가 IDR 픽처, BLA 픽처 혹은 IRAP 픽처이면서 해당 비트스트림에서 해당 계층(nuh_layer_id가 현재 부호화, 복호화 대상 픽처와 동일한 계층)의 첫 번째 픽처인 경우(CRA 픽처인 경우도 포함)에 NoRaslOutputFlag를 ‘1’로 설정할 수 있다. NoRaslOutputFlag는 해당 IRAP 픽처가 임의 접근 포인트로 사용되었는지 여부를 나타내는 플래그 변수이다. (3) When the current encoding / decoding target picture is an IDR picture, a BLA picture or an IRAP picture, and the first picture of the corresponding layer (nuh_layer_id is the same layer as the current encoding / decoding target picture) in the corresponding bitstream (even if it is a CRA picture). NoRaslOutputFlag can be set to '1'. NoRaslOutputFlag is a flag variable indicating whether the corresponding IRAP picture is used as a random access point.
(4) 복호화 순서상 임의 접근 가능 시점 이후에 복호화되는 AU에 속해 있는 현재 부호화, 복호화 대상 픽처가 IRAP(IDR, BLA 혹은 CRA) 픽처이고 nuh_layer_id=n 이며 LayerInitialisedFlag[n]가 0이고 현재 부호화, 복호화 대상 픽처가 포함된 계층의 모든 하위 참조 계층들이 정상적으로 초기화된(즉, LayerInitialisedFlag[RefLayerId[n][j]]=1, 이때 RefLayerId[n][j]는 n번째 상위계층(nuh_layer_id=n)인 현재 부/복호화 대상 픽처의 j번째 참조 계층의 nuh_layer_id 들을 의미함)경우, NoRaslOutputFlag는 ‘1’로 설정될 수 있다.(4) The current encoding or decoding target picture belonging to the AU decoded after the random access point in decoding order is an IRAP (IDR, BLA or CRA) picture, nuh_layer_id = n, and LayerInitialisedFlag [n] is 0, and the current encoding and decoding is performed. All lower reference layers of the layer containing the target picture are correctly initialized (i.e., LayerInitialisedFlag [RefLayerId [n] [j]] = 1, where RefLayerId [n] [j] is the nth higher layer (nuh_layer_id = n). In the case of the nuh_layer_ids of the j th reference layer of the current decoding / decoding target picture), NoRaslOutputFlag may be set to '1'.
즉, 복호화 대상 픽처가 IRAP 픽처이고, 복호화 대상 픽처가 속하는 계층에 설정된 초기화 플래그가 0이고, 복호화 대상 픽처가 속하는 계층의 모든 참조 계층에 대한 초기화 플래그가 1이면 플래그 변수는 1로 설정된다. That is, if the decoding target picture is an IRAP picture, the initialization flag set in the layer to which the decoding target picture belongs is 0, and the initialization flag for all reference layers of the layer to which the decoding target picture belongs is 1, the flag variable is set to 1.
(5) 현재 부호화, 복호화 대상 픽처가 n번째 상위 계층(nuh_layer_id=n)이고 IRAP 픽처이며 NoRaslOutputFlag가 ‘1’이고 기본 계층(nuh_layer_id=0)의 픽처가 아니고 현재 부호화, 복호화 대상 픽처의 LayerInitialisedFlag[n]가 0인 경우에, 현재 부호화, 복호화 대상 픽처가 포함된 계층의 모든 하위 참조 계층들이 정상적으로 초기화되었다면(즉, LayerInitialisedFlag[RefLayerId[n][j]가 1이고, 이때 RefLayerId[n][j]는 n번째 상위 계층(nuh_layer_id=n)인 현재 부/복호화 대상 픽처의 j번째 참조 계층의 nuh_layer_id 들을 의미함) LayerInitialisedFlag[n]는 ‘1’ 로 설정될 수 있다.(5) The current encoded and decoded picture is the nth upper layer (nuh_layer_id = n), the IRAP picture, the NoRaslOutputFlag is '1', the picture is not a picture of the base layer (nuh_layer_id = 0), and the LayerInitialisedFlag [n of the current encoded and decoded picture. ] Is 0, if all the lower reference layers of the layer containing the current encoding and decoding target picture are normally initialized (that is, LayerInitialisedFlag [RefLayerId [n] [j] is 1, where RefLayerId [n] [j] is 1). Denotes nuh_layer_ids of the j-th reference layer of the current sub / decoding target picture, which is the nth upper layer (nuh_layer_id = n). LayerInitialisedFlag [n] may be set to '1'.
즉, 복호화 대상 픽처가 IRAP 픽처이고, 플래그 변수가 1이고, 복호화 대상 픽처에 설정된 초기화 플래그가 0이고, 복호화 대상 픽처가 속하는 계층의 모든 참조 계층에 대한 초기화 플래그가 1이면, 대상 계층에 대한 초기화 플래그는 0에서 1로 재설정된다. That is, if the decoding target picture is an IRAP picture, the flag variable is 1, the initialization flag set for the decoding target picture is 0, and the initialization flags for all the reference layers of the layer to which the decoding target picture belongs are 1, initialization for the target layer. The flag is reset from 0 to 1.
복호화 장치는 현재 부/복호하고자하는 픽처의 식별자인 POC를 출력 순서에 따라 값이 증가하도록 계산한다(S920).The decoding apparatus calculates a POC, which is an identifier of a picture to be currently encoded / decoded, so that a value increases according to the output order (S920).
픽처 오더 카운터(Picture Order Count, POC)는 부호화된 비디오 비트스트림(coded video stream)에서 동일한 nuh_layer_id를 가지는 계층 내의 픽처들을 식별하기 위한 식별자로, DPB에서 출력되는 순서가 늦을 수록 그 값이 증가할 수 있다. 즉, POC는 픽처가 DPB로부터 출력되어 디스플레이될 수 있는 디스플레이 순서(display order)며, IDR 픽처의 POC는 그 값이 ‘0’이 될 수 있다.The Picture Order Counter (POC) is an identifier for identifying pictures in a layer having the same nuh_layer_id in a coded video stream. The value may increase as the output order from the DPB becomes late. have. That is, the POC is a display order in which pictures may be output from the DPB and displayed, and the POC of the IDR picture may have a value of '0'.
동일한 AU 내의 모든 픽처들은 동일한 POC 값을 가질 수 있다.All pictures in the same AU may have the same POC value.
동일 AU 내에 IRAP 픽처와 non-IRAP 픽처가 같이 존재하지 않거나, IRAP 픽처들만 존재하고 IRAP 픽처들의 NAL 유닛 타입들이 동일한 경우에는 아래와 같은 통상의 방법으로 POC 값이 계산될 수 있다.If the IRAP picture and the non-IRAP picture do not exist together in the same AU, or only the IRAP pictures exist and the NAL unit types of the IRAP pictures are the same, the POC value may be calculated by the following conventional method.
POC 값은 POC_MSB(most significant bit)와 POC_LSB(least significant bit)로 구성되며, 전체 POC는 MSB와 LSB의 합으로 계산될 수 있다(POC = POC_MSB + POC_LSB). 이 때 POC_LSB 값은 해당 픽처의 슬라이스 헤더에서 시그널링되며, 최대 LSB를 나타내는 MaxPOCLSB 값은 시퀀스 파라미터 세트(sequence parameter set)에서 시그널링 될 수 있다.The POC value consists of POC_MSB (most significant bit) and POC_LSB (least significant bit), and the total POC can be calculated as the sum of the MSB and LSB (POC = POC_MSB + POC_LSB). In this case, the POC_LSB value may be signaled in the slice header of the picture, and the MaxPOCLSB value indicating the maximum LSB may be signaled in the sequence parameter set.
Non-IRAP 픽처의 경우 POC_MSB는 이전에 부호화/복호화된 시간적 서브 레이어의 식별자를 나타내는 temporal_id가 ‘0’인 픽처들 가운데 현재 픽처와 가까운 픽처의 POC_MSB(이하, prevPOCMSB라고 표현함), POC_LSB(이하, prevPOCLSB라고 표현함)와 현재 부/복호화하고자 하는 픽처의 POC_LSB값으로 계산될 수 있다.For non-IRAP pictures, POC_MSB is the POC_MSB (hereinafter referred to as prevPOCMSB) and POC_LSB (hereinafter referred to as prevPOCLSB) of the picture closest to the current picture among temporal_id '0' indicating an identifier of a temporal sublayer previously encoded / decoded. And POC_LSB of the picture to be currently encoded / decoded.
IDR 픽처의 POC 값은 항상 ‘0’으로 가정될 수 있으며, CRA 픽처가 비트스트림의 가장 처음 픽처인 경우 혹은 BLA 픽처의 경우, 픽처의 POC_MSB 값은 ‘0’으로 가정되고 POC_LSB 값은 슬라이스 헤더에서 시그널링될 수 있다. CRA 픽처가 비트스트림의 가장 처음 픽처가 아닌 경우는 non-IRAP 픽처와 동일하게 POC값이 계산될 수 있다.The POC value of an IDR picture can always be assumed to be '0', if the CRA picture is the first picture of the bitstream or for a BLA picture, the POC_MSB value of the picture is assumed to be '0' and the POC_LSB value is defined in the slice header. May be signaled. If the CRA picture is not the first picture of the bitstream, the POC value may be calculated in the same way as the non-IRAP picture.
동일한 AU 내에 IRAP 픽처와 Non-IRAP 픽처가 동시에 존재하거나, IRAP 픽처만 존재하지만 IRAP 픽처들의 NAL 유닛 타입이 두 개 이상인 경우에는 POC값을 동일하게 할 수 있다. 이를 위하여 슬라이스 헤더에 poc_reset_flag과 같은 플래그 정보를 시그널링할 수 있다. 복호화 장치는 poc_reset_flag 값이 ‘1’인 경우에는 해당 슬라이스를 포함하는 AU 내의 모든 픽처들의 POC값을 ‘0’으로 설정할 수 있다. 이때, 복호화 장치는 현재 부호화/복호화 대상 픽처의 통상의 방법으로 계산된 원래 POC 값(POC 1)을 계산하고, 해당 픽처가 포함된 해당 계층의 복호픽처버퍼에 존재하는 참조 계층들의 POC값들을 POC 1만큼 감소시키고, 현재 대상 픽처의 POC값을 ‘0’으로 설정할 수 있다.In the same AU, when the IRAP picture and the non-IRAP picture exist at the same time or only the IRAP picture exists but the NAL unit types of the IRAP pictures are two or more, the POC value may be the same. To this end, flag information such as poc_reset_flag may be signaled in the slice header. When the poc_reset_flag value is '1', the decoding apparatus may set POC values of all pictures in the AU including the slice to '0'. In this case, the decoding apparatus calculates an original POC value (POC 1) calculated by a conventional method of a current encoding / decoding target picture, and POC values of reference layers existing in the decoded picture buffer of the corresponding layer including the picture. It decreases by 1 and sets the POC value of the current target picture to '0'.
이하, 픽처의 POC 계산에 대하여 두 경우로 구분하여 구체적으로 설명하면 다음과같다.Hereinafter, the POC calculation of the picture will be described in detail in two cases.
제1 경우The first case
해당 AU가 절체되지 않고, 즉 임의 접근 시점으로 사용되지 않아 이전에 부호화된 AU들을 포함하는 비트스트림이 복호화되는 경우, 해당 AU에 포함되는 픽처들의 복호화 과정은 다음과 같은 순서로 진행될 수 있다.If a bitstream including previously encoded AUs is decoded because the corresponding AU is not switched, that is, is not used as a random access time point, decoding of pictures included in the corresponding AU may be performed in the following order.
(a) 현재 부/복호화하고자 하는 대상 픽처의 초기 POC 값은 다음과 같이 설정될 수 있다.(a) The initial POC value of the target picture to be currently encoded / decoded may be set as follows.
해당 픽처가 IDR 픽처인 경우 POC값은 ‘0’로 설정될수 있다.If the picture is an IDR picture, the POC value may be set to '0'.
해당 픽처가 BLA 픽처이거나, 비트스트림의 해당 계층의 첫 번째 픽처로서 CRA 픽처인 경우, POC_MSB 값은 0 이고 POC 값은 해당 슬라이스 헤더에서 시그널링되는 POC_LSB 값으로 설정될 수 있다.When the picture is a BLA picture or a CRA picture as the first picture of the layer of the bitstream, the POC_MSB value is 0 and the POC value may be set to the POC_LSB value signaled in the slice header.
해당 픽처가 CRA 픽처이거나 Non-IRAP 픽처인 경우, 슬라이스 헤더에 시그널링된 POC_LSB 값을 이용하여 일반적인 POC 설정 방식(상술한 바와 같이, 이전에 부호화/복호화된 temporal_id가 ‘0’인 픽처들 가운데 현재 픽처와 가까운 픽처의 POC_MSB(prevPOCMSB라고 명명)와 POC_LSB(prevPOCLSB라고 명명), 그리고 현재 부/복호화하고자 하는 픽처의 POC_LSB값으로 계산할 수 있다)에 따라 POC값(‘POC1’)이 설정될 수 있다.If the picture is a CRA picture or a non-IRAP picture, the general POC configuration method using the POC_LSB value signaled in the slice header (as described above, the current picture among previously encoded / decoded temporal_id '0') The POC value ('POC1') may be set according to POC_MSB (named prevPOCMSB) and POC_LSB (named prevPOCLSB) and POC_LSB value of a picture to be currently encoded / decoded.
(b) poc_reset_flag가 ‘1’인 슬라이스를 포함하는 픽처에 대하여, DPB 내에 픽처들이 존재하는 경우 DPB 내의 모든 픽처들의 POC 값은 ‘POC1’값 만큼 감소시킬 수 있다.(b) With respect to a picture including a slice having a poc_reset_flag of '1', when there are pictures in a DPB, POC values of all pictures in a DPB may be reduced by a value of 'POC1'.
(c) poc_reset_flag가 ‘1’인 슬라이스를 포함하는 픽처의 POC 값은 ‘0’으로 설정될 수 있다.(c) The POC value of the picture including the slice having poc_reset_flag of '1' may be set to '0'.
제2 경우The second case
해당 AU가 절체되어 임의 접근 시점으로 사용되는 경우, 즉, 비트스트림의 첫 번째 AU로써 복호되는 경우 예를 들어, 기본 계층(layer 0)의 픽처가 IRAP 픽처이고 부호화된 비트스트림의 첫 번째 픽처인 경우이거나, BLA 픽처인 경우, 해당 AU에 포함되는 픽처들의 복호화 과정은 다음과 같은 순서로 진행될 수 있다.When the AU is switched and used as a random access point, that is, decoded as the first AU of the bitstream. For example, the picture of the base layer (layer 0) is an IRAP picture and is the first picture of the coded bitstream. In the case of a BLA picture or a BLA picture, decoding of pictures included in a corresponding AU may be performed in the following order.
(a) 현재 부/복호화하고자 하는 대상 픽처의 초기 POC값은 다음과 같이 설정될 수 있다.(a) The initial POC value of the target picture to be currently encoded / decoded may be set as follows.
해당 픽처가 IDR 픽처인 경우 POC값은 ‘0’로 설정될 수 있다.If the picture is an IDR picture, the POC value may be set to '0'.
해당 픽처가 BLA 픽처이거나, 비트스트림의 해당 계층의 첫 번째 픽처이며 CRA 픽처인 경우, POC_MSB 값은 0 이고 POC 값은 해당 슬라이스 헤더에서 시그널링되는 POC_LSB 값으로 설정될 수 있다.If the picture is a BLA picture or the first picture of the corresponding layer of the bitstream and is a CRA picture, the POC_MSB value is 0 and the POC value may be set to the POC_LSB value signaled in the slice header.
해당 픽처가 Non-IRAP 픽처인 경우(예를 들어, 현재 계층의 nuh_layer_id=i 이며, FirstPicInLayerDecodedFlag[i]=0인 경우), POC값(‘POC1’)은 아래의 방법 중 하나를 이용하여 설정될 수 있다. If the picture is a non-IRAP picture (for example, nuh_layer_id = i of the current layer and FirstPicInLayerDecodedFlag [i] = 0), the POC value ('POC1') can be set using one of the following methods: Can be.
(a-1) 슬라이스 헤더에 시그널링 된 POC_LSB 값을 이용하여 상술된 통상적인 POC 설정 방식에 따라 POC값(‘POC1’)이 설정될 수 있다. 이때, 현재 AU가 임의 접근 시점으로 사용됨에 따라, 이전에 부호화/복호화된 temporal_id가 ‘0’인 픽처들이 존재하지 않으므로 prevPOCMSB와 prevPOCLSB 값은 모두 ‘0’으로 설정될 수 있다. (a-1) The POC value 'POC1' may be set according to the conventional POC setting method described above using the POC_LSB value signaled in the slice header. In this case, as the current AU is used as a random access time point, since there are no pictures having the previously encoded / decoded temporal_id of '0', both prevPOCMSB and prevPOCLSB values may be set to '0'.
(a-2) 동일 AU의 기본 계층에 BLA 혹은 CRA 픽처가 존재하는 경우, 현재 복호화 대상 픽처의 POC_MSB 값은 ‘0’으로 설정될 수 있다. 이 경우, 현재 복호화하고자 하는 픽처의 POC 값(‘POC1’)은 현재 픽처의 슬라이스 헤더에서 시그널링되는 POC_LSB값으로 설정된다. (a-2) When a BLA or CRA picture exists in the base layer of the same AU, the POC_MSB value of the current decoding target picture may be set to '0'. In this case, the POC value ('POC1') of the picture to be currently decoded is set to the POC_LSB value signaled in the slice header of the current picture.
(a-3) 현재 복호 대상픽처의 POC 값은 계산되지 않을 수 있다.(a-3) The POC value of the current decoding target picture may not be calculated.
(a-4) 동일 AU의 기본 계층에 IDR 픽처가 존재하는 경우, 현재 복호 대상 픽처의 POC 값은 계산되지 않고 ‘0’으로 설정될 수 있다. (a-4) When an IDR picture exists in the base layer of the same AU, the POC value of the current decoding target picture may be set to '0' without being calculated.
(b) 현재 복호 대상 픽처의 POC 값이 계산된 경우, poc_reset_flag가 ‘1’인 슬라이스를 포함하는 픽처에 대하여, DPB 내에 픽처들이 존재하는 경우 DPB 내의 모든 픽처들의 POC 값은 ‘POC1’값 만큼 감소시킬 수 있다.(b) When the POC value of the current decoding target picture is calculated, for a picture including a slice whose poc_reset_flag is '1', when there are pictures in the DPB, the POC values of all pictures in the DPB are reduced by 'POC1' value. You can.
(c) poc_reset_flag가 ‘1’인 슬라이스를 포함하는 픽처의 POC 값은 ‘0’으로 설정될 수 있다.(c) The POC value of the picture including the slice having poc_reset_flag of '1' may be set to '0'.
다음으로, 영상의 복호화 장치는 현재 부/복호화 대상 픽처의 화면 간 예측을 위하여 참조 픽처 집합(reference picture set)을 구성하고 참조 픽처 형태 표시(reference picture marking)를 수행한다(S930).Next, the apparatus for decoding an image configures a reference picture set and performs reference picture marking for inter prediction of the current sub / decoding target picture (S930).
POC를 초기화 하는 poc_reset_flag가 ‘0’인 경우, 해당 픽처의 슬라이스 참조 픽처들의 POC 값 혹은 POC_LSB 값은 다음과 같이 계산될 수 있다.When poc_reset_flag for initializing a POC is '0', the POC value or the POC_LSB value of the slice reference pictures of the picture may be calculated as follows.
(1) 단기 참조 픽처(short-term reference picture)들의 경우 해당 슬라이스 헤더에 시그널링 되는 각 단기 참조 픽처를 나타내는 delta_POC 값과 현재 픽처의 POC 값인 ‘POC1’값을 이용하여 단기 참조 픽처들의 POC 값이 계산된다.(1) For short-term reference pictures, POC values of short-term reference pictures are calculated using a delta_POC value indicating each short-term reference picture signaled in the corresponding slice header and a 'POC1' value, which is a POC value of the current picture. do.
이때 delta_POC 값은 현재 픽처와 i번째 단기 참조 픽처의 POC 차이 값이거나, (i+1)번째 단기 참조 픽처와 i번째 단기 참조 픽처의 차이값일 수 있다.In this case, the delta_POC value may be a difference between the POC of the current picture and the i-th short-term reference picture or a difference between the (i + 1) th short-term reference picture and the i-th short-term reference picture.
(2) 장기 참조 픽처(long-term reference picture)들의 경우, 각 장기 참조 픽처에 대한 POC_LSB 값, POC_MSB 값을 계산하기 위한 값(delta_poc_msb_cycle_lt), 현재 픽처의 POC 값인 ‘POC1’값을 이용하여 장기 참조 픽처들의 POC_LSB 혹은 POC 값이 계산된다. delta_poc_msb_cycle_lt는 해당 슬라이스 헤더에서 시그널링 될 수 있다. (2) In the case of long-term reference pictures, a long-term reference picture is referred to using a POC_LSB value for each long-term reference picture, a value for calculating a POC_MSB value (delta_poc_msb_cycle_lt), and a 'POC1' value, which is a POC value of the current picture. The POC_LSB or POC value of the pictures is calculated. delta_poc_msb_cycle_lt may be signaled in the corresponding slice header.
장기 참조 픽처에 대하여는 기본적으로 POC_LSB만 시그널링되고, 시그널링되는 POC_LSB 값만 가지고 장기 POC를 식별한다. 다만, 복수의 참조 픽처 중 해당 장기 참조 픽처의 POC_LSB와 동일한 POC_LSB값을 갖는 참조 픽처가 존재하는 경우 POC_MSB값을 계산하기 위한 값(delta_poc_msb_cycle_lt)이 추가로 시그널링되며, 이를 통하여 각 참조 픽처들의 POC를 식별할 수 있도록 한다.Basically, only the POC_LSB is signaled for the long-term reference picture, and only the POC_LSB value signaled identifies the long-term POC. However, when there is a reference picture having the same POC_LSB value as the POC_LSB of the corresponding long-term reference picture among the plurality of reference pictures, a value (delta_poc_msb_cycle_lt) for calculating the POC_MSB value is additionally signaled, thereby identifying the POC of each reference picture. Do it.
한편, poc_reset_flag가 ‘1’인 경우, 해당 픽처의 슬라이스 참조 픽처들의 POC 값 혹은 POC_LSB 값은 다음과 같이 계산할 수 있다. Meanwhile, when poc_reset_flag is '1', POC values or POC_LSB values of slice reference pictures of the picture may be calculated as follows.
(1) 단기 참조 픽처(short-term reference picture)들의 경우 해당 슬라이스 헤더에 시그널링 되는 각 단기 참조 픽처를 나타내는 delta_POC 값과 현재 픽처의 POC 값인 ‘0’값을 이용하여 단기 참조 픽처들의 POC 값을 계산한다.(1) In the case of short-term reference pictures, POC values of short-term reference pictures are calculated using a delta_POC value indicating each short-term reference picture signaled in the corresponding slice header and a '0' value, which is a POC value of the current picture. do.
이때 delta_POC 값은 현재 픽처와 i번째 단기 참조 픽처의 POC 차이 값이거나, (i+1)번째 단기 참조 픽처와 i번째 단기 참조 픽처의 차이값일 수 있다.In this case, the delta_POC value may be a difference between the POC of the current picture and the i-th short-term reference picture or a difference between the (i + 1) th short-term reference picture and the i-th short-term reference picture.
(2) 장기 참조 픽처(long-term reference picture)들의 경우 각 장기 참조 픽처에 대한 POC_LSB 값 및 POC_MSB 값을 계산하기 위한 값(delta_poc_msb_cycle_lt)과 현재 픽처의 POC 값인 ‘0’값과 현재 픽처의 슬라이스 헤더에서 시그널링되는 POC_LSB값을 이용하여 장기 참조 픽처들의 POC_LSB값 혹은 POC 값을 계산한다. delta_poc_msb_cycle_lt는 해당 장기 참조 픽처의 슬라이스 헤더에서 시그널링 될 수 있다. (2) In the case of long-term reference pictures, a value for calculating a POC_LSB value and a POC_MSB value for each long-term reference picture (delta_poc_msb_cycle_lt), a '0' value that is a POC value of the current picture, and a slice header of the current picture The POC_LSB value or the POC value of the long term reference pictures is calculated using the POC_LSB value signaled at. delta_poc_msb_cycle_lt may be signaled in the slice header of the corresponding long-term reference picture.
장기 참조 픽처에 대하여는 기본적으로 POC_LSB만 시그널링되고, 시그널링되는 POC_LSB 값만 가지고 장기 POC를 식별한다. 다만, 복수의 참조 픽처 중 해당 장기 참조 픽처의 POC_LSB와 동일한 POC_LSB값을 갖는 참조 픽처가 존재하는 경우 POC_MSB값을 계산하기 위한 값(delta_poc_msb_cycle_lt)이 추가로 시그널링되며, 이를 통하여 각 참조 픽처들의 POC를 식별할 수 있도록 한다.Basically, only the POC_LSB is signaled for the long-term reference picture, and only the POC_LSB value signaled identifies the long-term POC. However, when there is a reference picture having the same POC_LSB value as the POC_LSB of the corresponding long-term reference picture among the plurality of reference pictures, a value (delta_poc_msb_cycle_lt) for calculating the POC_MSB value is additionally signaled, thereby identifying the POC of each reference picture. Do it.
이와 같이, poc_reset_flag가 ‘1’이면, poc_reset_flag가 ‘1’인 슬라이스를 포함하는 픽처의 슬라이스 헤더에 시그널링되는 참조 픽처들의 POC값 혹은 POC_LSB 값을, DPB에 존재하는 픽처들의 POC 값을 감소시킨 것과 일치하도록 현재 픽처의 ‘POC1’값을 사용하여 조정할 수 있다.As such, when poc_reset_flag is '1', the POC value or POC_LSB value of the reference pictures signaled to the slice header of the picture including the slice having poc_reset_flag '1' matches the POC value of the pictures existing in the DPB. Can be adjusted using the 'POC1' value of the current picture.
참조 픽처의 POC가 계산되면, 참조 픽처 집합이 구성되고 DPB 내의 참조 픽쳐의 존재 여부에 따라 참조 픽처의 형태가 표시될 수 있다.When the POC of the reference picture is calculated, a reference picture set may be configured and the shape of the reference picture may be displayed according to the presence or absence of the reference picture in the DPB.
영상 복호화 장치는 참조 픽처 집합에 포함되지만, DPB 내에 존재하지 않는 픽처를 위한 가상 참조 픽처를 생성할 수 있다(S940). The image decoding apparatus may generate a virtual reference picture for a picture included in the reference picture set but not present in the DPB (S940).
nuh_layer_id =0 이며 현재 부호화/복호화 대상 픽처가 IRAP 픽처고 NoRaslOutputFlag =1인 경우이거나, 혹은 nuh_layer_id>0 (이 경우, 현재 부호화/복호화 대상 픽처가 FirstPicInLayerDecodedFlag[nuh_layer_id]=1인 IRAP 픽처고 NoRaslOutputFlag = 1 이거나, 또는 FirstPicInLayerDecodedFlag[nuh_layer_id]= 0)인 경우, 현재 부호화/복호화 대상 픽처의 참조픽처 집합에 포함된 픽처들(즉, 단계 S930에서 구성된 참조픽처들) 가운데 현재 복호픽처버퍼에 존재하지 않는 픽처들을 가상으로 생성하여 복호픽처버퍼에 저장할 수 있다.nuh_layer_id = 0 and the current encoded / decoded picture is an IRAP picture and NoRaslOutputFlag = 1, or nuh_layer_id> 0 (in this case, the IRAP picture with FirstPicInLayerDecodedFlag [nuh_layer_id] = 1 and NoRaslOutputFlag = 1 Or, if FirstPicInLayerDecodedFlag [nuh_layer_id] = 0), virtualizes the pictures that are not present in the current decoded picture buffer among the pictures included in the reference picture set of the current encoding / decoding target picture (that is, the reference pictures configured in step S930). Can be created and stored in the decoded picture buffer.
생성되는 가상 픽처들의 POC 값은 단계 S920에서 계산된 각 참조 픽처들의 POC값을 가진다. 가상 참조 픽처에 대하여 DPB에서 출력되는지 여부를 알려주는 PicOutputFlag 값은 ‘0’으로 설정되고, 이로 인하여 생성된 가상 참조픽처는 출력되지 않는다.The POC values of the generated virtual pictures have the POC values of the respective reference pictures calculated in step S920. The PicOutputFlag value indicating whether the virtual reference picture is output in the DPB is set to '0', and the virtual reference picture generated thereby is not output.
생성된 가상 참조 픽처들은 참조픽처 집합에 시그널링된 내용 대로 단기 참조 픽처 혹은 장기 참조 픽처로 표시될 수 있다. 구체적으로, 현재 픽처가 참조하며 디스플레이 순서 상 현재 픽처 이전의 단기 참조 픽처, 현재 픽처가 참조하며 디스플레이 순서상 현재 픽처 이후의 단기 참조 픽처, 현재 픽처가 참조하는 장기 참조 픽처, 현재 픽처 이후의 픽처들에 의해 참조되는 단기 참조 픽처, 현재 픽처 이후의 픽처들에 의해 참조되는 장기 참조 픽처로 표시될 수 있다.The generated virtual reference pictures may be represented as short-term reference pictures or long-term reference pictures as content signaled in the reference picture set. Specifically, the short-term reference picture referenced by the current picture and before the current picture in display order, the short-term reference picture referenced by the current picture and displayed in the display order after the current picture, the long-term reference picture referenced by the current picture, and pictures after the current picture. It may be indicated as a short-term reference picture referenced by, a long-term reference picture referenced by pictures after the current picture.
다음으로, 영상 복호화 장치는 현재 부/복호화 대상 픽처의 출력 여부를 결정할 수 있다(S950). 복호화된 픽처의 출력 여부를 나타내는 PicOutputFlag는 다음 순서로 설정할 수 있으며, PicOutputFlag 값이 ‘1’인 경우 복호픽처버퍼에서 복호화기 출력으로 내보내며, ‘0’인 경우 복호픽처버퍼에서 복호화기 출력으로 내보내지 않을 수 있다.Next, the image decoding apparatus may determine whether to output the current encoding / decoding target picture (S950). PicOutputFlag, which indicates whether to output the decoded picture, can be set in the following order.If the PicOutputFlag value is '1', the decoded picture buffer is exported to the decoder output, and if it is '0', the decoded picture buffer is output to the decoder output. You can not send.
(1) 만약 현재 픽처가 RASL (random access skipped leading) 픽처이고, 현재 픽처 이전에 부/복호화된 IRAP 픽처들 가운데 현재 픽처와 가장 가까운 IRAP 픽처의 NoRaslOutputFlag 값이 ‘1’인 경우에 PicOutputFlag 는 ‘0’으로 설정할 수 있다.(1) If the current picture is a RASL (random access skipped leading) picture and the NoRaslOutputFlag value of the IRAP picture closest to the current picture among the sub-decoded / decoded IRAP pictures before the current picture is '1', PicOutputFlag is '0'. Can be set to '.
이때, RASL 픽처는 현재 픽처 이전에 부/복호화된 IRAP 픽처들 가운데 현재 픽처와 가장 가까운 IRAP 픽처보다 부/복호화순서는 늦지만 디스플레이 순서는 먼저인 리딩 픽처(leading picture)이며, 해당 IRAP 픽처 이전에 부/복호화된 픽처를 참조픽처로 사용하여 부/복호화한 픽처를 의미한다.In this case, the RASL picture is a leading picture in which the encoding / decoding order is later than the IRAP picture closest to the current picture among the IRAP pictures decoded / decoded before the current picture, but the display order is first, and before the IRAP picture. A picture decoded / decoded using a sub / decoded picture as a reference picture.
(2) 상기 (1)의 조건을 만족하지 않고, 해당 픽처의 nuh_layer_id 값이 n이며 LayerInitialisedFlag[n] = 0 인 경우에는 PicOutputFlag는 ‘0’으로 설정할 수 있다.(2) If the nuh_layer_id value of the picture is n and LayerInitialisedFlag [n] = 0 is not satisfied, the PicOutputFlag may be set to '0'.
(3) 상기 (1)과 (2)의 조건을 만족하지 않는다면, PicOutputFlag 값은 다음의 방법 중 한가지 방법에 의해 설정될 수 있다.(3) If the conditions of (1) and (2) above are not satisfied, the PicOutputFlag value may be set by one of the following methods.
a. PicOutputFlag 값은 슬라이스 헤더에서 시그널링되는 pic_output_flag 값으로 설정될 수 있다. a. The PicOutputFlag value may be set to a pic_output_flag value signaled in the slice header.
b. PicOutputFlag 값은 해당 계층이 출력 계층(output layer)인 경우에는 슬라이스 헤더에서 시그널링되는 pic_output_flag 값으로 설정되고, 출력 계층이 아닌 경우에는 ‘0’으로 설정될 수 있다.b. The PicOutputFlag value may be set to a pic_output_flag value signaled in the slice header when the corresponding layer is an output layer, and set to '0' when the corresponding layer is not an output layer.
c. 해당 계층이 출력 계층이 아니며, 해당 계층의 바로 상위 계층이 IRAP 픽처고 상위 계층의 하위 참조 계층들의 LayerInitialisedFlag 값이 모두 ‘1’인 경우, PicOutputFlag은 0으로 설정될 수 있다.c. If the layer is not the output layer, and the immediate upper layer of the layer is an IRAP picture and the LayerInitialisedFlag values of the lower reference layers of the upper layer are all '1', PicOutputFlag may be set to zero.
d. 해당 계층이 출력 계층이 아니며, 해당 계층의 바로 상위 계층이 IRAP 픽처고 상위 계층의 하위 참조 계층들 가운데 LayerInitialisedFlag 값이 ‘0’인 값을 가지는 계층이 존재하고, 해당 계층의 상위 계층들 가운데 출력 계층이 존재하는 경우, 해당 계층의 PicOutputFlag는 슬라이스 헤더에 시그널링 되는 pic_output_flag 값으로 설정될 수 있다. 이때 해당 계층과 가까운 하위 계층 가운데 출력 계층이 아니지만 PicOutputFlag 값이 ‘1’인 계층이 있으면 해당 계층의 PicOutputFlag 값은 ‘0’으로 설정될 수 있다.d. The layer is not an output layer, and there is a layer whose immediate upper layer is the IRAP picture and among the lower reference layers of the upper layer, the layerInitialisedFlag value is '0', and the upper layer of the layer is the output layer. If present, PicOutputFlag of the layer may be set to a pic_output_flag value signaled in the slice header. At this time, if there is a layer having a PicOutputFlag value of '1' among the lower layers close to the corresponding layer, the PicOutputFlag value of the corresponding layer may be set to '0'.
e. 해당 계층이 출력 계층이 아니며, 동일 AU 내에서 출력 계층에 해당하는 픽처가 존재하지 않고, 해당 계층이 출력 계층 픽처의 직접 참조 픽처(해당 계층이 직접적으로 참조하는 계층의 픽처) 혹은 간접 참조 픽처(해당 계층이 직접적으로 참조하는 계층을 부호화/복호화시 필요로 하는 계층)이며, 해당 픽처가 출력 계층 픽처의 직접 혹은 간접 참조픽처인 픽처이면서 슬라이스 헤더에서 시그널링 되는 pic_output_flag 값이 ‘1’인 복호된 픽처들 가운데 가장 상위의 픽처(즉, nuh_layer_id 값이 가장 큰 값을 가지는 픽처)인 경우, 해당 픽처의 PicOutputFlag 값은 ‘1’로 설정될 수 있다. 그렇지 않은 경우 PicOutputFlag 값은 ‘0’으로 설정될 수 있다.e. The layer is not an output layer, and there is no picture corresponding to the output layer within the same AU, and the layer is either a direct reference picture (a picture of a layer directly referenced by the layer) or an indirect reference picture of the output layer picture. A layer required for encoding / decoding a layer directly referenced by the corresponding layer), and a picture that is a direct or indirect reference picture of an output layer picture and a pic_output_flag value signaled in the slice header is '1' In the case of the highest picture (ie, the picture having the highest nuh_layer_id value) among the pictures, the PicOutputFlag value of the picture may be set to '1'. Otherwise, PicOutputFlag value may be set to '0'.
f. 해당 계층이 출력 계층이 아니며, 동일 AU 내에서 출력 계층에 해당하는 픽처가 존재하지 않고, 해당 계층이 출력 계층 픽처의 직접 참조 픽처(해당 계층이 직접적으로 참조하는 계층의 픽처) 혹은 간접 참조 픽처(해당 계층이 직접적으로 참조하는 계층을 부/복호화시 필요로 하는 계층)이며, 해당 픽처가 출력 계층 픽처의 직접 혹은 간접 참조 픽처인 픽처이면서 LayerInitializedFlag 값이 ‘1’이며 슬라이스 헤더에서 시그널링 되는 pic_output_flag 값이 ‘1’인 복호된 픽처들 가운데 가장 상위의 픽처(즉, nuh_layer_id 값이 가장 큰 값을 가지는 픽처)인 경우, 해당 픽처의 PicOutputFlag 값은 ‘1’로 설정될 수 있다. 그렇지 않은 경우 PicOutputFlag 값은 ‘0’으로 설정될 수 있다.f. The layer is not an output layer, and there is no picture corresponding to the output layer within the same AU, and the layer is either a direct reference picture (a picture of a layer directly referenced by the layer) or an indirect reference picture of the output layer picture. Layer required when encoding / decoding a layer directly referenced by the corresponding layer), the picture is a direct or indirect reference picture of an output layer picture, the LayerInitializedFlag value is '1', and the pic_output_flag value signaled in the slice header is In the case of the highest picture among the decoded pictures that are '1' (ie, the picture having the highest nuh_layer_id value), the PicOutputFlag value of the picture may be set to '1'. Otherwise, PicOutputFlag value may be set to '0'.
복호화 장치는 상술된 c, d, e, f의 경우, 설정된 PicOutputFlag 값에 의해서만 아니라 기술된 내용과 동일한 결과를 낼 수 있도록 복호픽처버퍼내의 픽처들의 출력을 제어할 수 있다.In the case of c, d, e, and f described above, the decoding apparatus may control the output of the pictures in the decoded picture buffer so that not only the set PicOutputFlag value but also the same result as described.
픽처의 출력 여부가 결정되면, 영상 복호화 장치는 참조 픽처 리스트 내의 참조 픽처를 이용하여 현재 부/복호화 대상 영상에 대한 움직임 예측 및 움직임 보상을 수행한다(S960).When it is determined whether to output the picture, the image decoding apparatus performs motion prediction and motion compensation on the current sub / decoding target image by using the reference picture in the reference picture list (S960).
본 단계에서는 통상적인 화면 간 예측 방법으로 참조 픽처 리스트 내의 참조픽처를 이용하여 현재 부/복호화 대상 영상에 대한 움직임 예측 및 움직임 보상이 수행될 수 있다. In this step, motion prediction and motion compensation may be performed on the current sub / decoded target image using a reference picture in the reference picture list using a conventional inter-picture prediction method.
참조 픽처를 이용한 화면 간 예측이 수행되면, 복호화에 필요한 파라미터가 재설정될 수 있다(S970). 영상 복호화 장치는 현재 부/복호화 대상 픽처가 포함된 계층, 예를 들어, nuh_layer_id = i인 계층의 FirstPicInLayerDecodedFlag[i]가 0인 경우, FirstPicInLayerDecodedFlag[i]를 1로 설정할 수 있다. When inter prediction using the reference picture is performed, a parameter required for decoding may be reset (S970). The image decoding apparatus may set FirstPicInLayerDecodedFlag [i] to 1 when FirstPicInLayerDecodedFlag [i] of the layer including the current sub / decoding target picture, for example, a layer where nuh_layer_id = i is 0.
복호화 장치는 상기 단계 S910 내지 단계 S970에 대한 복호화 과정을 계층별로 수행할 수 있다. 첫 번째 AU내의 복호 과정이 끝나면, 첫 번째 AU 내의 계층들 가운데 PicOutputFlag가 1인 픽처들을 출력할 수 있다. The decoding apparatus may perform the decoding process for steps S910 to S970 for each layer. After the decoding process in the first AU is finished, pictures having a PicOutputFlag of 1 among the layers in the first AU may be output.
예를 들어, 기본 계층부터 n번째 계층까지 IRAP 픽처들로 이루어진 경우 원래 출력하고자 했던 계층(output layer)이 기본 계층부터 n번째 계층에 (0 <=n) 포함되어 있는 경우에는 해당 계층의 복호픽처들를 출력하고, 만약 n+1번째 계층부터 최상위 계층까지 출력계층에 포함되어 있는 경우에는 n번째 계층의 복호픽처를 출력할 수 있다.For example, if the base layer consists of IRAP pictures from the nth layer, and the output layer is originally included in the base layer to the nth layer (0 <= n), the decoded picture of the layer And decoded pictures of the n th layer if the n + 1 th layer to the top layer are included in the output layer.
그런 후, 다음 AU들을 복호화하는 과정에서 n+1번째 계층부터 k번째 계층까지 (n+1<=k) IRAP 픽처가 포함되어 있는 AU를 복호화한 경우, 해당 AU 내의 0번째부터 k번째 계층까지의 복호 픽처들가운데 원래 출력하고자 했던 계층(output layer)이 기본 계층부터 k번째 계층에 포함되어 있는 경우에는 해당 계층의 복호픽처들을 출력하고, 만약 k+1번째 계층부터 최상위 계층까지 출력 계층에 포함되어 있는 경우에는 k번째 계층의 복호픽처 혹은 PicOutputFlag가 1인 픽처를 출력할 수 있다.Then, when decoding the AU including the (n + 1 <= k) IRAP picture from the n + 1 th layer to the k th layer in decoding the next AUs, from the 0 th to the k th layer within the AU If the layer to be originally output is included in the kth layer from the base layer among the decoded pictures of the decoded pictures, the decoded pictures of the corresponding layer are output, and if the k + 1th layer to the top layer are included in the output layer In this case, a decoded picture of the k-th layer or a picture having PicOutputFlag of 1 can be output.
복호화 장치는 위와 같은 과정을 최상위 계층의 픽처가 복호되는 AU까지 반복하여 수행함으로써 비트스트림을 복호화할 수 있다. The decoding apparatus may decode the bitstream by repeatedly performing the above process up to the AU where the picture of the highest layer is decoded.
도 10은 본 발명의 일 실시예에 따른 복호화 파라미터의 설정 방법을 설명하기 위한 도면이다.10 is a diagram for describing a method of setting a decoding parameter according to an embodiment of the present invention.
비트스트림에서 첫 임의 접근이 발생한 경우, 복호화 장치는 기본 계층에 대하여 초기화 플래그를 1로, 기본 계층보다 상위의 계층에 대하여 초기화 플래그를 0으로 설정할 수 있다(S1110). When the first random access occurs in the bitstream, the decoding apparatus may set the initialization flag to 1 for the base layer and the initialization flag to 0 for the layer higher than the base layer (S1110).
초기화 플래그(LayerInitialisedFlag)는 임의 접근 가능 시점의 AU에 포함되는 기본 계층이 IRAP 픽처 (즉, IDR 픽처, BLA 픽처 또는 CRA 픽처)인 비트스트림을 해당 임의 접근 가능 시점부터 복호화를 하는 경우, 비트스트림 내에 포함된 계층들 가운데 해당 계층이 IRAP 픽처이며 해당 계층의 모든 참조 계층들이 정상적으로 초기화되어 해당 계층의 복호된 픽처가 복호화기의 출력으로 사용될 수 있는지 여부를 나타낸다. 참조 계층들이 정상적으로 초기화 되었다는 것은 픽처가 정상적으로 복호화 되어 복호화부로부터 출력될 수 있는 것을 의미할 수 있다. The initialization flag (LayerInitialisedFlag) is used in the bitstream when the base layer included in the AU at the randomly accessible point is decoded from the randomly accessible point as the bitstream whose IRAP picture (ie, IDR picture, BLA picture, or CRA picture) is decoded from the randomly accessible point. Among the layers included, this layer is an IRAP picture, and all reference layers of the layer are normally initialized to indicate whether a decoded picture of the layer can be used as an output of the decoder. The normalization of the reference layers may mean that the picture may be normally decoded and output from the decoder.
복호화 장치는 해당계층의 복호된 픽처가 복호화기의 출력으로 사용될 수 있는지 여부를 알려주는 초기화 플래그를 비트스트림 복호화 전에 설정할 수 있으며, 현재 부/복호화 대상 픽처가 IRAP 픽처이며 임의 접근 가능 시점의 AU에 포함되어 있는 기본 계층(nuh_layer_id=0)의 픽처인 경우에 초기화 플래그LayerInitialisedFlag[0]를 1로 설정하고, 나머지 계층(1<=i<=63)에 대한 초기화 플래그 LayerInitialisedFlag[i]를 0으로 초기화 할 수 있다.The decoding apparatus may set an initialization flag indicating whether a decoded picture of a corresponding layer can be used as an output of the decoder before bitstream decoding, and the current sub / decoding target picture is an IRAP picture and is assigned to the AU at the time of random access. If the picture is in the base layer (nuh_layer_id = 0), the initialization flag LayerInitialisedFlag [0] is set to 1, and the initialization flag LayerInitialisedFlag [i] for the remaining layers (1 <= i <= 63) is initialized to 0. can do.
복호화 장치는 초기화 플래그를 설정한 후, 픽처가 임의 접근 포인트로 사용되었는지 여부를 나타내는 플래그 변수(NoRaslOutputFlag)를 설정할 수 있다.After setting the initialization flag, the decoding apparatus may set a flag variable (NoRaslOutputFlag) indicating whether the picture is used as a random access point.
복호화 장치는 대상 픽처가 IDR 픽처 또는 BLA 픽처 또는 혹은 IRAP 픽처이면서 해당 비트스트림에서 해당 계층(nuh_layer_id가 현재 부호화, 복호화 대상 픽처와 동일한 계층)의 첫 번째 픽처인 경우 플래그 변수를 1로 설정할 수 있고, 대상 픽처가 IRAP 픽처이고 대상 픽처가 속하는 계층에 설정된 초기화 플래그가 0이고 대상 픽처가 속하는 계층의 모든 참조 계층에 대한 초기화 플래그가 1이면, 플래그 변수를 1로 설정할 수 있다(S1020).The decoding apparatus may set the flag variable to 1 when the target picture is an IDR picture or a BLA picture or an IRAP picture and the first picture of the corresponding layer (nuh_layer_id is the same layer as the current encoding and decoding target picture) in the corresponding bitstream. If the target picture is an IRAP picture, the initialization flag set in the layer to which the target picture belongs is 0, and the initialization flag for all reference layers of the layer to which the target picture belongs is 1, the flag variable may be set to 1 (S1020).
대상 픽처가 IRAP 픽처이고, 대상 픽처에 대한 플래그 변수가 1로 정해지면, 복호화 장치는 대상 픽처에 설정된 초기화 플래그가 0이고, 대상 픽처가 속하는 계층의 모든 참조 계층에 대한 초기화 플래그가 1인지 여부를 판단하고, 판단 결과 대상 픽처에 대한 초기화 플래그가 0이고, 대상 픽처가 속하는 계층의 모든 참조 계층에 대한 초기화 플래그가 1이면, 대상 계층에 대한 초기화 플래그를 0에서 1로 설정할 수 있다(S1030).If the target picture is an IRAP picture, and the flag variable for the target picture is set to 1, the decoding apparatus determines whether the initialization flag set for the target picture is 0 and the initialization flag for all reference layers of the layer to which the target picture belongs is 1. If it is determined that the initialization flag for the target picture is 0 and the initialization flag for all reference layers of the layer to which the target picture belongs is 1, the initialization flag for the target layer may be set from 0 to 1 (S1030).
즉, 대상 픽처가 속하는 계층이 정상적으로 복호화 될 수 있는 조건이 만족되면 단계 S1010에서 0으로 설정되었던 초기화 플래그는 1로 변경될 수 있다. That is, if the condition that the layer to which the target picture belongs is normally decoded is satisfied, the initialization flag set to 0 in step S1010 may be changed to 1.
이러한 초기화 플래그가 설정되면 도 9의 나머지 단계와 같이 대상 픽처에 대한 복호화가 수행되고 복호화가된 픽처의 출력 여부에 따라 점차적으로 높은 계층의 픽처가 출력될 수 있다.When the initialization flag is set, decoding of the target picture may be performed as in the remaining steps of FIG. 9, and a picture of a higher layer may be gradually output depending on whether the decoded picture is output.
도 11은 본 발명의 일 실시예에 따른 계층 간 영상의 복호화 방법을 설명하기 위한 제어 흐름도이다. 도 11을 참조하여, 억세스 유닛 별로 영상을 복호화 하고, 이를 복수의 계층에 적용하여 최종적으로 비트스트림을 복호화 하는 방법을 설명한다. 11 is a control flowchart illustrating a decoding method of an inter-layer video according to an embodiment of the present invention. A method of finally decoding a bitstream by decoding an image for each access unit and applying the same to a plurality of layers will be described with reference to FIG. 11.
임의 접근이 발생하면 복호화 장치는 도 9의 단계 S910 및 도 10과 같이 복호화를 위한 파라미터를 설정하고, 제1 억세스 유닛에 포함되어 있는 픽처들 복호화한다(S1110). 픽처의 복호화 과정은 도 9의 단계 S910 내지 단계 S970에 대응될 수 있으며, 중복되는 설명은 생략한다. When a random access occurs, the decoding apparatus sets parameters for decoding as shown in steps S910 and 10 of FIG. 9 and decodes pictures included in the first access unit (S1110). The decoding process of the picture may correspond to steps S910 to S970 of FIG. 9, and overlapping description is omitted.
제1 억세스 유닛에 포함되어 있는 픽처들의 복호화가 완료되면, 복호화 장치는 제1 억세스 유닛에 포함되어 있는 픽처들의 개별적인 출력 여부를 결정할 수 있다(S1120).When decoding of the pictures included in the first access unit is completed, the decoding apparatus may determine whether to individually output the pictures included in the first access unit (S1120).
복호화 장치는 픽처들의 개별적인 출력 여부를 결정할 때, 복호화 대상 픽처가 속하는 대상 계층의 초기화 플래그 값이 0인 경우 대상 픽처는 출력되지 않는 것으로 결정할 수 있다. When the decoding apparatus determines whether to individually output the pictures, when the initialization flag value of the target layer to which the decoding target picture belongs is 0, the decoding apparatus may determine that the target picture is not output.
또한, 복호화 장치는 복호화 대상 픽처가 속하는 대상 계층이 출력 계층이 아니고, 대상 계층이 속하는 억세스 유닛 내에 출력 계층에 속하는 출력 대상 픽처가 존재하지 않고, 즉 출력 대상 픽처가 출력되지 않는 것으로 결정되고, 대상 계층이 출력 계층의 참조로 사용되어 대상 픽처가 상기 출력 픽처의 참조 픽처로 사용되고, 대상 픽처가 슬라이스 헤더에서 시그널링 되는 픽쳐 출력 여부를 나타내는 플래그 정보가 1인 복호화된 픽처들 중 가장 상위 픽처인 경우, 대상 픽처를 출력하는 것으로 결정할 수 있다. In addition, the decoding apparatus determines that the target layer to which the decoding target picture belongs is not the output layer, and there is no output target picture belonging to the output layer in the access unit to which the target layer belongs, that is, the output target picture is not output. When a layer is used as a reference of an output layer and a target picture is used as a reference picture of the output picture, and the target picture is the highest picture among decoded pictures having flag information indicating whether or not the picture signaled in the slice header is output is 1, It may be determined to output the target picture.
또한, 복호화 장치는 복호화 대상 픽처가 속하는 대상 계층이 출력 계층이 아니고, 대상 계층이 속하는 억세스 유닛 내에 출력 계층에 속하는 출력 대상 픽처가 존재하지 않고, 즉 출력 대상 픽처가 출력되지 않는 것으로 결정되고, 대상 계층이 출력 계층의 참조로 사용되어 대상 픽처가 상기 출력 픽처의 참조 픽처로 사용되고, 대상 계층에 대한 초기화 플래그 값이 1이고, 대상 픽처가 슬라이스 헤더에서 시그널링 되는 픽쳐 출력 여부를 나타내는 플래그 정보가 1인 복호화된 픽처들 중 가장 상위 픽처인 경우, 대상 픽처는 출력되는 것으로 결정할 수 있다. In addition, the decoding apparatus determines that the target layer to which the decoding target picture belongs is not the output layer, and there is no output target picture belonging to the output layer in the access unit to which the target layer belongs, that is, the output target picture is not output. The layer is used as a reference of the output layer, the target picture is used as the reference picture of the output picture, the initialization flag value for the target layer is 1, and the flag information indicating whether the target picture is outputted in the picture signaled in the slice header is 1 In the case of the highest picture among the decoded pictures, the target picture may be determined to be output.
제1 억세스 유닛에 대한 출력 결정 과정이 완료되면, 복호화 장치는 다음 억세스 유닛인 제2 억세스 유닛에 포함되어 있는 픽처들 복호화 하고(S1130)의 개별적인 출력 여부를 결정할 수 있다(S1140).When the output determination process for the first access unit is completed, the decoding apparatus may decode the pictures included in the second access unit, which is the next access unit (S1130), and determine whether to output each of them separately (S1140).
제2 억세스 유닛에 포함되어 있는 픽처들의 출력 여부를 결정하는 방법은 제1 억세스 유닛에 포함되어 있는 픽처들의 출력 여부를 결정하는 방법과 동일하다. The method of determining whether to output pictures included in the second access unit is the same as the method of determining whether to output pictures included in the first access unit.
복호화 장치는 각 픽처들의 출력 시점에 대응하여 출력되는 것으로 결정된 픽처를 출력할 수 있다. The decoding apparatus may output a picture determined to be output in correspondence with an output time point of each picture.
이와 같이, 복호화 장치는 임의 접근이 발생하면, 억세스 유닛에 포함되어 있는 픽처들의 출력 여부를 개별적으로 결정하여 출력 가능한 픽처들을 출력하고, 순차적으로 다음 억세스 유닛의 픽처의 출력 여부를 결정하여 정상적으로 복호화 및 출력될 수 있는 계층의 픽처들을 출력한다. 이러한 과정을 통하여 점차적으로 더 높은 계층의 픽처들이 복호화 및 출력될 수 있다.As described above, when random access occurs, the decoding apparatus individually determines whether to output the pictures included in the access unit, and outputs pictures that can be output, and sequentially determines whether to output the pictures of the next access unit, and then decodes normally. Output pictures of a layer that can be output. Through this process, pictures of a higher layer may be gradually decoded and output.
이와 같이, 본 발명에 따를 경우, 임의 접근 시점의 AU(access unit) 내에 IRAP(intra random access point) 픽처와 IRAP이 아닌 픽처(non- intra random access point picture)가 존재하거나 IRAP 픽처만 존재하고, NAL 유닛 타입이 두 개 이상인 경우에 해당 시점부터 비트스트림을 복호화할 수 있는 방법 및 이를 이용하는 장치가 제공된다.As described above, according to the present invention, an intra-random access point (IRAP) picture and a non-intra-random random access point picture (IRAP) picture or only an IRAP picture exist in an access unit (AU) at a random access point. Provided are methods for decoding a bitstream from a corresponding time point when two or more NAL unit types are provided, and an apparatus using the same.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiment, the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and any steps may occur in a different order or at the same time than the other steps described above. have. Also, one of ordinary skill in the art appreciates that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps in the flowcharts may be deleted without affecting the scope of the present invention. I can understand.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.The above-described embodiments include examples of various aspects. Although not all possible combinations may be described to represent the various aspects, one of ordinary skill in the art will recognize that other combinations are possible. Accordingly, the invention is intended to embrace all other replacements, modifications and variations that fall within the scope of the following claims.
Claims (20)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201480064335.8A CN105765978B (en) | 2013-10-11 | 2014-10-07 | Method for encoding/decoding images and apparatus using the same |
| US15/027,101 US10142638B2 (en) | 2013-10-11 | 2014-10-07 | Method for encoding/decoding image and device using same |
| US16/157,217 US10306244B2 (en) | 2013-10-11 | 2018-10-11 | Method for encoding/decoding image and device using same |
Applications Claiming Priority (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20130121357 | 2013-10-11 | ||
| KR10-2013-0121430 | 2013-10-11 | ||
| KR10-2013-0121357 | 2013-10-11 | ||
| KR20130121430 | 2013-10-11 | ||
| KR10-2014-0031880 | 2014-03-18 | ||
| KR20140031880A KR20150042683A (en) | 2013-10-11 | 2014-03-18 | Method and apparatus for video encoding and decoding for layer-wise start-up |
| KR1020140132543A KR102246634B1 (en) | 2013-10-11 | 2014-10-01 | Video encoding and decoding method and apparatus using the same |
| KR10-2014-0132543 | 2014-10-01 | ||
| KR10-2014-0134240 | 2014-10-06 | ||
| KR1020140134240A KR102257754B1 (en) | 2013-10-11 | 2014-10-06 | Video encoding and decoding method and apparatus using the same |
Related Child Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/027,101 A-371-Of-International US10142638B2 (en) | 2013-10-11 | 2014-10-07 | Method for encoding/decoding image and device using same |
| US16/157,217 Continuation US10306244B2 (en) | 2013-10-11 | 2018-10-11 | Method for encoding/decoding image and device using same |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015053525A1 true WO2015053525A1 (en) | 2015-04-16 |
Family
ID=52813303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2014/009409 Ceased WO2015053525A1 (en) | 2013-10-11 | 2014-10-07 | Method for encoding/decoding image and device using same |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2015053525A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003063500A1 (en) * | 2002-01-22 | 2003-07-31 | Microsoft Corporation | Methods and systems for encoding and decoding video data to enable random access and splicing |
| JP2003319340A (en) * | 2002-04-26 | 2003-11-07 | Sony Corp | Encoding device and method, decoding device and method, recording medium, and program |
| US20050021814A1 (en) * | 2003-06-19 | 2005-01-27 | Nokia Corporation | Stream switching based on gradual decoder refresh |
| KR20080114500A (en) * | 2007-06-25 | 2008-12-31 | 한국전자통신연구원 | A Multiview Video Coding System, a Decoding System, and a Bitstream Extraction System to Support Primary View Decoding and View Random Access |
| US20130077687A1 (en) * | 2011-09-23 | 2013-03-28 | Ye-Kui Wang | Coding reference pictures for a reference picture set |
-
2014
- 2014-10-07 WO PCT/KR2014/009409 patent/WO2015053525A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003063500A1 (en) * | 2002-01-22 | 2003-07-31 | Microsoft Corporation | Methods and systems for encoding and decoding video data to enable random access and splicing |
| JP2003319340A (en) * | 2002-04-26 | 2003-11-07 | Sony Corp | Encoding device and method, decoding device and method, recording medium, and program |
| US20050021814A1 (en) * | 2003-06-19 | 2005-01-27 | Nokia Corporation | Stream switching based on gradual decoder refresh |
| KR20080114500A (en) * | 2007-06-25 | 2008-12-31 | 한국전자통신연구원 | A Multiview Video Coding System, a Decoding System, and a Bitstream Extraction System to Support Primary View Decoding and View Random Access |
| US20130077687A1 (en) * | 2011-09-23 | 2013-03-28 | Ye-Kui Wang | Coding reference pictures for a reference picture set |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020071830A1 (en) | Image coding method using history-based motion information, and device therefor | |
| WO2014042460A1 (en) | Method and apparatus for encoding/decoding images | |
| WO2015009036A1 (en) | Method and apparatus for predicting inter-layer based on temporal sub-layer information | |
| WO2013157826A1 (en) | Image information decoding method, image decoding method, and device using same | |
| WO2014163241A1 (en) | Method and apparatus for processing video | |
| WO2013157797A1 (en) | Method and device for coding multi-layer video, and method and device for decoding multi-layer video | |
| WO2015002460A1 (en) | Method for encoding and decoding video including plurality of layers | |
| WO2015012600A1 (en) | Method and apparatus for encoding/decoding image | |
| WO2014084656A1 (en) | Method and device for encoding/ decoding image supporting plurality of layers | |
| WO2015194913A1 (en) | Method for encoding/decoding image and device using same | |
| WO2013162249A1 (en) | Video-encoding method, video-decoding method, and apparatus implementing same | |
| WO2021201515A1 (en) | Image encoding/decoding method and device for signaling hls, and computer-readable recording medium in which bitstream is stored | |
| WO2014007550A1 (en) | Method and apparatus for coding video having temporal scalability, and method and apparatus for decoding video having temporal scalability | |
| WO2014051372A1 (en) | Image decoding method and apparatus using same | |
| WO2014038905A2 (en) | Image decoding method and apparatus using same | |
| WO2021201617A1 (en) | Image encoding/decoding method and apparatus based on subpicture information aligned between layers, and recording medium storing bitstream | |
| WO2021107622A1 (en) | Image/video coding method and apparatus | |
| WO2021246791A1 (en) | Method and apparatus for processing high level syntax in image/video coding system | |
| WO2021201542A1 (en) | Video encoding/decoding method and apparatus for signaling dpb parameter, and computer-readable recording medium storing bitstream | |
| WO2021201514A1 (en) | Image encoding/decoding method and device for signaling hrd parameters, and computer-readable recording medium in which bitstream is stored | |
| WO2021201510A1 (en) | Image encoding/decoding method and device for signaling dpb-related information and ptl-related information, and computer-readable recording medium in which bitstream is stored | |
| WO2015053525A1 (en) | Method for encoding/decoding image and device using same | |
| WO2021251744A1 (en) | Image encoding/decoding method and device for signaling aps identifier, and computer-readable recording medium in which bitstream is stored | |
| WO2021201664A1 (en) | Method and apparatus for encoding/decoding image, on basis of available slice type information for gdr or irap picture, and recording medium storing bitstream | |
| WO2017069591A1 (en) | Method and device for filtering image in image coding system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14852402 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15027101 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14852402 Country of ref document: EP Kind code of ref document: A1 |