WO2013109127A1 - 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치 - Google Patents

양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치 Download PDF

Info

Publication number
WO2013109127A1
WO2013109127A1 PCT/KR2013/000493 KR2013000493W WO2013109127A1 WO 2013109127 A1 WO2013109127 A1 WO 2013109127A1 KR 2013000493 W KR2013000493 W KR 2013000493W WO 2013109127 A1 WO2013109127 A1 WO 2013109127A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization matrix
matrix
quantization
value
scaling
Prior art date
Application number
PCT/KR2013/000493
Other languages
English (en)
French (fr)
Inventor
임성창
김휘용
이진호
최진수
김진웅
Original Assignee
한국전자통신연구원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to EP21163746.7A priority Critical patent/EP3855744A1/en
Priority to US14/373,270 priority patent/US9866839B2/en
Priority to EP13738659.5A priority patent/EP2806640A4/en
Priority to BR112014017500-4A priority patent/BR112014017500B1/pt
Priority to JP2014553264A priority patent/JP5886446B2/ja
Priority to CN201380014811.0A priority patent/CN104170382B/zh
Priority to BR122020017515-0A priority patent/BR122020017515B1/pt
Priority to BR122020017523-0A priority patent/BR122020017523B1/pt
Publication of WO2013109127A1 publication Critical patent/WO2013109127A1/ko
Priority to US15/792,086 priority patent/US10306228B2/en
Priority to US16/376,492 priority patent/US10708595B2/en
Priority to US16/885,955 priority patent/US11252411B2/en
Priority to US17/565,968 priority patent/US11736696B2/en
Priority to US17/565,976 priority patent/US11778189B2/en
Priority to US18/451,596 priority patent/US20230396769A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present invention relates to an image encoding and decoding technique, and more particularly, to a method and apparatus for encoding / decoding a quantization matrix.
  • Ultra High Definition which has four times the resolution of HDTV, has been increasing, and a compression technology for higher resolution and higher quality images is required.
  • pixel information of the current picture may be encoded by prediction.
  • prediction For example, an inter prediction technique for predicting a pixel value included in a current picture from a previous and / or subsequent picture in time, and an intra predicting pixel value included in a current picture using pixel information in the current picture. Prediction techniques may be applied.
  • An object of the present invention is to provide a method and apparatus for limiting quantization matrix encoding / decoding based on the size of a usable transform block.
  • Another object of the present invention is to provide an encoding / decoding method and apparatus which can mix and use a basic quantization matrix and a non-basic quantization matrix according to a size of a transform block or a type of a quantization matrix in a sequence, a picture, or a slice. .
  • Another object of the present invention is to provide an encoding / decoding method and apparatus using a basic quantization matrix based on a reference quantization matrix identifier.
  • Another object of the present invention is to provide an encoding / decoding method and apparatus for improving coding efficiency by performing quantization matrix prediction only when a reference quantization matrix exists.
  • Another object of the present invention is to provide an encoding / decoding method and apparatus for performing quantization matrix prediction from a quantization matrix having the same size as the quantization matrix at the time of encoding / decoding.
  • an object of the present invention is to provide a method and apparatus for performing prediction encoding / decoding based on the first coefficient in a quantization matrix.
  • One embodiment of the present invention is a quantization matrix coding method, comprising: determining and quantizing a quantization matrix to be used for quantization, determining a prediction method of a quantization matrix used for quantization, and determining information about the quantization matrix according to the determined prediction method.
  • the method may include encoding, and the prediction method may be any one of an inter prediction coefficient coefficient in a quantization matrix and a copy of a quantization matrix.
  • a decoding method of a quantization matrix comprising: determining a prediction method of a quantization matrix used for inverse quantization and decoding a quantization matrix to be used for inverse quantization according to the determined prediction method, wherein the prediction of the quantization matrix is performed.
  • the method may be any one of an inter prediction coefficient coefficient in the quantization matrix and a copy of the quantization matrix.
  • the coding efficiency can be improved and the complexity of the calculation can be reduced by limiting the quantization matrix coding by the size of the available transform block.
  • the coding efficiency is improved, and the degree of freedom in selecting a quantization matrix in the encoder is improved. Can be increased.
  • the encoder can increase the degree of freedom of quantization matrix selection.
  • the encoding efficiency is improved, the computational complexity is reduced, and the quantization of the encoder is performed by predicting encoding / decoding DC matrix coefficients or performing quantization matrix prediction from a quantization matrix having the same quantization matrix size at the time of encoding / decoding. It is possible to increase the degree of freedom of matrix selection.
  • encoding / decoding of the first coefficient in the quantization matrix is performed using frequently generated coefficient values, thereby improving coding efficiency and reducing computational complexity.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • 3 is a conceptual diagram schematically illustrating an embodiment in which one unit is divided into a plurality of sub-units.
  • FIG. 4 is a flowchart schematically illustrating an image encoding method according to the present invention.
  • FIG. 5 is a flowchart schematically illustrating an example of an operation of a decoder for decoding information about a quantization matrix and performing decoding by using the same.
  • FIG. 6 is a flowchart schematically illustrating an example of a method of performing inverse quantization according to the present invention.
  • FIG. 7 is a diagram schematically illustrating an example of a method of performing inverse quantization by obtaining information of a quantization matrix when a quantization matrix exists in a parameter set.
  • FIG. 8 is a diagram schematically illustrating another example of a method of obtaining inverse quantization by obtaining information of a quantization matrix when a quantization matrix exists in a parameter set.
  • first and second may be used to describe various configurations, but the configurations are not limited by the terms. The terms are used to distinguish one configuration from another.
  • first configuration may be referred to as the second configuration, and similarly, the second configuration may also be referred to as the first configuration.
  • each component shown in the embodiments of the present invention are independently shown 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 listed as a component for convenience of description, and at least two of the components may form one component, or one component may be divided into a plurality of components to perform a function.
  • the integrated and separated embodiments of each component are also included in the scope of the present invention without departing from the spirit of the present 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.
  • a unit means a unit of image encoding and decoding.
  • a coding unit or decoding unit in image encoding / decoding refers to a divided unit when a single image is divided into subdivided units to be encoded or decoded.
  • a block, macro block, coding unit or prediction unit or transform unit or transform unit or coding block or prediction block or transform block Can be called.
  • One unit may be divided into smaller sub-units.
  • a transform unit is a basic unit or unit unit in performing encoding / decoding of a residual block such as transform, inverse transform, quantization, inverse quantization, and transform coefficient encoding / decoding. Can be divided into many smaller conversion units. In addition, it may be used in the same meaning as the transform block, and a form including syntax elements related to the transform block for the luminance and chrominance signals may be referred to as a transform unit.
  • the quantization matrix refers to a matrix used in the quantization or inverse quantization process to improve the subjective or objective image quality of an image. Quantization matrices are also called scaling lists.
  • the quantization matrix used for quantization / dequantization may be transmitted in a bitstream, or a default matrix already held by the encoder and / or the decoder may be used.
  • the information on the quantization matrix to be transmitted may be collectively transmitted for each quantization matrix size or transform block size to which the quantization matrix is applied through a sequence parameter set (SPS) or a picture parameter set (PPS).
  • SPS sequence parameter set
  • PPS picture parameter set
  • 4x4 quantization matrices for a 4x4 transform block can be transmitted
  • 8x8 matrices for an 8x8 transform block
  • 16x16 matrices for a 16x16 transform block
  • 32x32 matrices for a 32x32 transform block can be transmitted. .
  • the quantization matrix applied to the current block may be obtained by (1) copying quantization matrices of the same size, or (2) may be generated by prediction from previous matrix coefficients in the quantization matrix.
  • the matrix of the same size may be a quantization matrix previously encoded, decoded, or used, a reference quantization matrix, or a basic quantization matrix. Alternatively, it may be selectively determined from a combination including at least two of a quantization matrix, a reference quantization matrix, and a basic quantization matrix previously encoded or decoded or used.
  • a parameter set corresponds to header information among structures in a bitstream, and has a meaning of a sequence parameter set, a picture parameter set, an adaptation parameter set, and the like.
  • the quantization parameter is a value used in quantization and inverse quantization, and the quantization parameter may be a value mapped to a quantization step size.
  • the base matrix may mean a predetermined quantization matrix predefined in the encoder and / or the decoder, and the base quantization matrix described below may be used in the same meaning as the base matrix.
  • a non-default matrix may mean a quantization matrix that is not defined in the encoder and / or decoder in advance, but is transmitted from the encoder to the decoder, that is, transmitted / received by the user, and will be described later in this specification.
  • the non-base quantization matrix to be used may be used in the same sense as the non-base matrix.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • 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 encode an input image in an intra mode or an inter mode and output a bitstream.
  • Intra prediction means intra prediction and inter prediction means inter prediction.
  • the switch 115 may be switched to intra, and in the inter mode, the switch 115 may be 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 input image may mean an original picture.
  • 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.
  • the motion vector is a two-dimensional vector used for inter prediction and may represent an offset between the current block and a block in the reference picture.
  • 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 a transform on the residual block.
  • the quantization unit 140 may output the quantized coefficient by quantizing the input transform coefficient using at least one of a quantization parameter and a quantization matrix.
  • the quantization matrix may be input to the encoder, and the input quantization matrix may be determined to be used in the encoder.
  • the entropy encoder 150 may output a bit stream by performing entropy encoding based on values calculated by the quantizer 140 or encoding parameter values calculated in the encoding process.
  • entropy encoding When entropy encoding is applied, a small number of bits are assigned to a symbol having a high probability of occurrence and a large number of bits are assigned to a symbol having a low probability of occurrence, thereby representing bits for encoding symbols. The size of the heat can be reduced. Therefore, compression performance of image encoding may be increased through entropy encoding.
  • the entropy encoding unit 150 may use an encoding method such as an exponential-Golomb code, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • an encoding method such as an exponential-Golomb code, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • the image encoding apparatus Since the image encoding apparatus according to the embodiment of FIG. 1 performs inter prediction encoding, that is, inter prediction encoding, the currently encoded image needs to be decoded and stored to be used as a reference image. Accordingly, the quantized coefficients are inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170. The inverse quantized and inverse transformed coefficients become reconstructed residual blocks, added with predictor blocks through adder 175, and reconstructed blocks are 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 reconstructed block or reconstructed picture. can do.
  • the filter unit 180 may be called an in-loop filter.
  • the deblocking filter can remove block distortion generated at the boundary between blocks.
  • SAO can add an appropriate offset to the pixel value to compensate for coding errors.
  • the ALF may perform filtering based on a value obtained by comparing the reconstructed image with the original image.
  • 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 of the present invention.
  • 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 an adder ( 255, a filter unit 260, and a reference image buffer 270.
  • the image decoding apparatus 200 may receive a bitstream output from the encoder and 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 obtain a reconstructed residual block from the received bitstream, generate a prediction block, and then add the reconstructed residual block and the prediction block to generate a reconstructed block, that is, a reconstruction 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 similar to the entropy coding method described above.
  • the quantized coefficients are inversely quantized using the quantization parameter in the inverse quantization unit 220 and inversely transformed in the inverse transform unit 230.
  • a reconstructed residual block may be generated.
  • the quantization matrix used for inverse quantization is also called a scaling list.
  • the inverse quantization unit 220 may generate a dequantized coefficient by applying a quantization matrix to the quantized coefficient.
  • the inverse quantization unit 220 may perform inverse quantization in response to the quantization applied by the encoder.
  • the inverse quantization unit 220 may perform inverse quantization by inversely applying a quantization matrix applied by an encoder to quantized coefficients.
  • the quantization matrix used for inverse quantization in the image decoding apparatus 200 may be received from the bitstream, or a basic matrix already held by the encoder and / or the decoder may be used. Information of the quantization matrix to be transmitted may be collectively received for each quantization matrix size or transform block size to which the quantization matrix is applied through a sequence parameter set or a picture parameter set. For example, 4x4 quantization matrices for a 4x4 transform block may be received, 8x8 matrices for an 8x8 transform block, 16x16 matrices for a 16x16 transform block, and 32x32 matrices for a 32x32 transform block may be received.
  • the intra predictor 240 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already decoded 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 may be added through the adder 255, and the added block may pass 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 may output a reconstructed image, that is, a reconstructed image.
  • the reconstructed picture may be stored in the reference picture buffer 270 and used for inter prediction.
  • the block division information may include information about a depth of a unit.
  • the depth information may indicate the number and / or degree of division of the unit.
  • 3 is a conceptual diagram schematically illustrating an embodiment in which one unit is divided into a plurality of sub-units.
  • One unit or block may be hierarchically divided with depth information based on a tree structure.
  • Each divided subunit may have depth information. Since the depth information indicates the number and / or degree of division of the unit, the depth information may include information about the size of the sub-unit.
  • the highest node may be called a root node and may have the smallest depth value. At this time, the highest node may have a depth of level 0 and may represent the first unit that is not divided.
  • a lower node having a depth of level 1 may indicate a unit in which the first unit is divided once, and a lower node having a depth of level 2 may indicate a unit in which the first unit is divided twice.
  • unit 320 corresponding to node a in 320 of FIG. 3 may be a unit divided once in an initial unit and may have a depth of level 1.
  • a leaf node of level 3 may indicate a unit in which the first unit is divided three times.
  • the unit d corresponding to the node d in 320 of FIG. 3 may be a unit divided three times in the first unit and may have a depth of level 3.
  • FIG. the leaf node at level 3, which is the lowest node, may have the deepest depth.
  • the quantization matrix for all transforms is encoded / decoded without considering the minimum and maximum sizes of the transforms that can be used.
  • the quantization matrix is uniformly applied without using the base matrix and the non-base matrix for each transform size or quantization matrix type within a sequence, picture, or slice, there is a disadvantage in that the encoder has a low degree of freedom in selecting a quantization matrix.
  • the base matrix which does not need to be coded / decoded, must be coded and sent, a coding efficiency decreases.
  • the application of the quantization matrix has not only low degree of freedom and low coding efficiency, but also high complexity.
  • FIG. 4 is a flowchart schematically illustrating an image encoding method according to the present invention.
  • the encoder determines and encodes information about a transform unit size of a current sequence or picture (S410).
  • the size information of the transform unit means at least one or more of the minimum size and the maximum size of the transform unit.
  • the encoder may determine the minimum size and the maximum size of the transform unit when encoding an image.
  • the encoder may determine a minimum size of a square transform unit as a 4x4 block or a maximum size as a 32x32 block.
  • the encoder may determine the minimum size and the maximum size of the square transform unit as 4x4 blocks and 32x32 blocks, respectively.
  • the encoding may be performed according to the minimum size and the maximum size of the square transform unit.
  • the encoder may entropy encode the determined transform unit size information in the bitstream. For example, the encoder may encode the determined transform unit size information into a parameter set in the bitstream.
  • the transform unit size information means information regarding at least one of the minimum size and the maximum size of the transform unit. Accordingly, the encoder may encode information on the minimum size and the maximum size of the transform unit as bit transform information as transform unit size information. In this case, the maximum size of the transform unit may be specified using a difference value from the minimum size of the transform unit.
  • Table 1 schematically shows an example of transform unit size information entropy coded in a sequence parameter set of a bitstream.
  • the value obtained by subtracting 2 from Log2MinTrafoSize may be specified using log2_min_transform_block_size_minus2.
  • the difference between Log2MaxTrafoSize and Log2MinTrafoSize may be specified using log2_diff_max_min_transform_block_size.
  • the encoder may encode log2_min_transform_block_size_minus2 and log2_diff_max_min_transform_block_size, which are syntax elements, into a bitstream and transmit the encoded elements to the decoder.
  • the encoder may encode values indicated by log2_min_transform_block_size_minus2 and log2_diff_max_min_transform_block_size to be transmitted as a bitstream.
  • the encoder may encode the quantization matrix information (S420).
  • the coder includes (1) information on whether a quantization matrix is used, (2) information on whether a quantization matrix is present, (3) whether or not a quantization matrix is encoded, and whether a basic matrix is used, (4) a quantization matrix prediction encoding method and type, Encode quantization matrix information including at least one of (5) a reference quantization matrix identifier or (6) a difference value between a quantization matrix coefficient value previously encoded and a quantization matrix coefficient value to be encoded in the quantization matrix.
  • the encoder may encode the quantization matrix information based on the information about the size of the transform unit.
  • the quantization matrix information indicates the method determined or used by the encoder.
  • the encoder may determine whether to use the quantization matrix and then encode information about whether the quantization matrix is used in the parameter set. Accordingly, the information on whether to use the encoded quantization matrix indicates whether to use the quantization matrix determined by the encoder.
  • Table 2 shows an example of encoding information on whether a quantization matrix is used in a sequence parameter.
  • the coder can code scaling_list_enabled_flag, that is, whether to use the quantization matrix, in a sequence parameter set and transmit the encoded code to the decoder.
  • scaling_list_enabled_flag indicates that the quantization matrix is used for dequantization / scaling of transform coefficients for the entire sequence. If the value of scaling_list_enabled_flag is 0, quantization is used for dequantization / scaling of transform coefficients. You can indicate that no matrix is used.
  • the syntax may mean a syntax element.
  • the coder After determining whether the quantization matrix is present or not, the coder can encode information about whether the quantization matrix is present or not into a parameter set.
  • Table 3 shows an example of encoding presence or absence information of a quantization matrix into a parameter set.
  • the encoder may encode aps_scaling_list_data_present_flag, that is, information about the presence or absence of a quantization matrix, in a parameter set.
  • aps_scaling_list_data_present_flag that is, information about the presence or absence of a quantization matrix
  • Table 3 exemplifies a case in which the presence or absence information of the quantization matrix is encoded in the adaptive parameter set, the present invention is not limited thereto, and the encoder may encode the presence or absence information of the quantization matrix in another parameter set.
  • sps_scaling_list_data_present_flag indicating the presence or absence of a quantization matrix in a sequence
  • pps_scaling_list_data_present_flag indicating the presence or absence of a quantization matrix in a picture
  • sps_scaling_list_data_present_fla_present_flag indicating the presence or absence of a quantization matrix in a picture
  • pps_scaling_list_data_present_flag is 0, a quantization matrix corresponding to a sequence may be used for quantization / dequantization. That is, when a quantization matrix is transmitted in several parameter sets and no quantization scheme exists in some parameter sets, the quantization matrix present in the active or active parameter set may be used in quantization / dequantization.
  • the above content may also be applied to a content for encoding / decoding information about the presence or absence of a quantization matrix in embodiments to be described later.
  • the encoder may encode information about whether the quantization matrix is encoded and whether or not to use the base matrix into a parameter set.
  • Table 4 shows an example of encoding information on whether a quantization matrix is encoded and whether a default matrix is used in a parameter set.
  • the coder can code use_default_scaling_list_flag, that is, information about whether the quantization matrix is encoded and whether the default matrix is used, to the adaptive parameter set. If the value of use_default_scaling_list_flag is 1, the quantization matrix is not encoded, and all quantization matrix coefficient values are determined to be equal to a predetermined default matrix coefficient value at the encoder and / or the decoder. If the value of use_default_scaling_list_flag is 0, the quantization matrix is encoded, and the encoder and / or decoder do not use the predetermined default matrix.
  • the information of the quantization matrix may be determined in consideration of the size of the transform unit or the size of the transform block, the coding mode, and the color component.
  • the information of the quantization matrix may indicate whether the information is about the luminance component (Y, luma) or the chrominance component (Cb, Cr, chroma).
  • the encoder determines at least one of encoding, quantum matrix, and predictive encoding method of the quantization matrix using SizeID corresponding to the size of the quantization matrix and MatrixID corresponding to the type of each quantization matrix.
  • SizeID may be interpreted as information of the quantization matrix corresponding to the size of the transform unit or information of the quantization matrix corresponding to the size of the transform block.
  • SizeID used herein is the same as sizeID, sizeId
  • MatrixID is the same as matrixID, matrixId.
  • the encoder may use a table stored in the encoder and / or the decoder.
  • Table 5 shows an example of a table used to indicate the size of a transform block or the size of a quantization matrix corresponding to the transform block.
  • the SizeID value specifies the size of the transform unit, the size of the transform block, or the size of the quantization matrix.
  • Table 6 shows an example of a table of quantization matrix types mapped to coding modes and color components of blocks in which a quantization matrix is used.
  • the MatrixID value may indicate the type of the quantization matrix specifying the coding mode and the color component in which the quantization matrix is used.
  • the encoding mode may mean a prediction mode.
  • Tables 7 and 8 are examples of basic quantization matrix tables used to specify a basic quantization matrix based on SizeID and MatrixID determined in Tables 5 and 6.
  • each value in the table means a value specified by ScalingList [SizeID] [MatrixID] [i].
  • Table 7 shows the default quantization matrix with a value of SizeID 0 (4x4 block), and Table 8 shows the default quantization matrix with values of SizeID 1 (8x8 block), 2 (16x16 block), and 3 (32x32 block). will be.
  • SizeID and MatrixID are as specified by Tables 5 and 6.
  • i specifies each coefficient position in the quantization matrix.
  • the unspecified coefficient is the 8x8 block value.
  • the example of Table 8 also shows the example of specifying the basic quantization matrix in 8x8 block units.
  • the quantization matrix coefficients for the 16x16 block or the 32x32 block may be derived by interpolation from a quantization matrix stored in units of 8x8 blocks or derived in a predetermined manner.
  • the quantization matrix coefficient of the DC position may use a separate value without using the interpolated value.
  • the quantization matrix is not used in consideration of the minimum and maximum sizes of the available transform units, the quantization matrixes for transform units of all sizes must be encoded. Therefore, coding efficiency may be lowered, and computational complexity may increase.
  • the encoder may encode information about the quantization matrix in consideration of the size of the transform unit. For example, the encoder may restrict SizeID according to the minimum size and the maximum size of the transform unit size information.
  • the encoder may perform at least one of encoding a quantization matrix, encoding information indicating whether to use a basic matrix, and encoding information indicating a type of a prediction encoding method using the constrained SizeID.
  • Table 9 shows an example of a syntax structure used when encoding a quantization matrix by restricting SizeID.
  • the encoder restricts SizeID according to the minimum and maximum sizes of the transform unit size information so that at least one or more of a quantization matrix, whether a base matrix is used, and a predictive encoding method for specific transform unit sizes only.
  • the encoding of the information may be performed.
  • Log2MinTrafoSize 3 and the value of Log2MaxTrafoSize is 4, at least one of encoding of a quantization matrix corresponding to an 8x8 transform unit to a 16x16 transform unit, encoding of information on whether or not to use a base matrix, and encoding information on a type of a prediction encoding method One or more can be done.
  • SizeID may be constrained according to a difference between a maximum size and a minimum size among transform unit size information, and encoding may be performed on at least one or more pieces of information among a quantization matrix, whether a basic matrix is used, and a type of a prediction encoding method.
  • Table 10 schematically illustrates an example of a syntax structure used when encoding information about a quantization matrix by restricting SizeID according to a difference between a maximum size and a minimum size among transform unit size information.
  • SizeID is constrained according to the difference between the maximum size and the minimum size among the transform unit size information.
  • the coder restricts SizeID according to the difference between the maximum size and the minimum size of the transform unit size information to encode at least one or more information of a quantization matrix, whether a base matrix is used, and a type of predictive encoding method only for a specific transform unit size range. Can be.
  • a difference value between Log2MaxTrafoSize and Log2MinTrafoSize is a difference value between the maximum size and the minimum size of the transform unit and may be the same as log2_diff_max_min_transform_block_size.
  • Log2MinTrafoSize-2 may be the same as log2_min_transform_block_size_minus2.
  • use_default_scaling_list_flag may not be encoded.
  • the encoder has a low freedom of selecting a quantization matrix. For example, in order to use a base matrix for transform blocks of a certain size in a slice and to use non-base matrices for transform blocks of a certain size, encoding efficiency is reduced because the base matrix must be encoded and transmitted to the decoder. Degrades.
  • the coder can code whether a quantization matrix is encoded and whether the base matrix is used in the parameter set according to SizeID. have.
  • Table 11 shows an example of a syntax structure that can be applied when encoding quantization matrix information according to SizeID.
  • the coder can code sid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information specifying whether to encode a quantization matrix according to SizeID and whether to use a default matrix, into an adaptation parameter set.
  • SizeID a quantization matrix according to SizeID
  • MatrixID indicates a specific quantization matrix type as shown in Table 6.
  • sid_use_default_scaling_list_flag [SizeID] [MatrixID] 1, the quantization matrix corresponding to SizeID is not encoded, and the quantization matrix coefficient value corresponding to SizeID is equal to the default matrix coefficient value predetermined in the encoder and / or decoder. Can be determined. If the value of sid_use_default_scaling_list_flag [SizeID] [MatrixID] is 0, the quantization matrix corresponding to SizeID is encoded, and a default matrix predetermined by the encoder and / or the decoder may not be used in the quantization matrix corresponding to SizeID.
  • use_default_scaling_list_flag may not be encoded.
  • the encoder may encode whether the quantization matrix is encoded and whether the base matrix is used in the parameter set according to MatrixID.
  • Table 12 schematically shows an example of syntax that may be applied when encoding quantization matrix information using MatrixID.
  • the coder can code mid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information about whether to encode a quantization matrix according to MatrixID and whether to use a default matrix, into an adaptation parameter set.
  • mid_use_default_scaling_list_flag [SizeID] [MatrixID] 1, the quantization matrix corresponding to MatrixID is not encoded, and the quantization matrix coefficient value corresponding to MatrixID is equal to the default matrix coefficient value predetermined in the encoder and / or decoder. Can be determined. If the value of mid_use_default_scaling_list_flag [SizeID] [MatrixID] is 0, the quantization matrix corresponding to MatrixID is encoded, and the encoder and / or decoder do not use the predetermined default matrix as the quantization matrix corresponding to MatrixID.
  • use_default_scaling_list_flag may not be encoded.
  • the encoder may encode whether the quantization matrix is encoded and whether the base matrix is used in the parameter set.
  • Table 13 schematically shows an example of syntax that may be applied when encoding quantization matrix information using SizeID and MatrixID.
  • the coder can encode sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information about whether a quantization matrix is encoded and whether a default matrix is used, to an adaptation parameter set.
  • sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID] the quantization matrix corresponding to SizeID and MatrixID is not encoded, and the coefficient values of the quantization matrix corresponding to SizeID and MatrixID are pre-determined by the encoder and / or decoder. It can be determined to be equal to the coefficient value of.
  • use_default_scaling_list_flag may not be encoded.
  • the encoder may encode whether the quantization matrix is encoded and whether the default matrix is used in the parameter set in a manner different from the example of Table 13.
  • SizeID may be constrained according to a minimum size and a maximum size of transform unit size information to perform at least one of quantization matrix encoding, basic matrix availability encoding, or prediction encoding method type encoding.
  • Table 14 schematically illustrates another example of syntax that may be applied when encoding quantization matrix information using SizeID and MatrixID.
  • use_default_scaling_list_flag may not be encoded.
  • the encoder may restrict the SizeID according to the difference between the maximum size and the minimum size among the size information of the transform unit, and perform encoding on at least one or more information among quantization matrices, whether or not the base matrix is used, and the type of prediction encoding method. have.
  • Table 15 schematically illustrates another example of syntax that may be applied when encoding quantization matrix information using SizeID and MatrixID.
  • the difference value between Log2MaxTrafoSize specifying the maximum size of the transform unit and Log2MinTrafoSize specifying the minimum size of the transform unit is equal to log2_diff_max_min_transform_block_size as the difference value between the maximum size and the minimum size of the transform unit.
  • Log2MinTrafoSize-2 is the same as log2_min_transform_block_size_minus2.
  • the encoder may encode whether the quantization matrix is encoded and whether the default matrix is used based on SizeID and MatrixID constrained by Log2MaxTrafoSize-Log2MinTrafoSize + 1 in the parameter set.
  • use_default_scaling_list_flag may not be coded.
  • information about whether the quantization matrix information exists or is updated in the encoding target parameter set may be encoded in the parameter set and used for encoding / decoding.
  • Table 16 schematically shows an example of syntax that can be used when encoding information about a present part and the like in quantization matrix information.
  • the encoder may specify whether quantization matrix information is present in the encoding target parameter by using the syntax element scaling_list_update_flag [SizeID] [MatrixID].
  • scaling_list_update_flag [SizeID] [MatrixID] when the value of scaling_list_update_flag [SizeID] [MatrixID] is 1, it may indicate that quantization matrix information corresponding to SizeID and MatrixID exists.
  • the value of scaling_list_update_flag [SizeID] [MatrixID] is 1, it indicates that SizeID and MatrixID are updated and that previously encoded quantization matrix information is updated with quantization matrix information corresponding to SizeID and MatrixID in the encoding target parameter set. It may be. In this case, updating may mean replacing previously encoded quantization matrix information with quantization matrix information in the encoding target parameter set.
  • scaling_list_update_flag [SizeID] [MatrixID] is 0, this may indicate that quantization matrix information corresponding to SizeID and MatrixID does not exist.
  • scaling_list_update_flag [SizeID] [MatrixID] is 0, it may be indicated that the coding matrix information is not updated.
  • scaling_list_update_flag [SizeID] [MatrixID] is 0, since the quantization matrix information corresponding to SizeID and MatrixID does not exist in the parameter set and the quantization matrix information is not encoded, the quantized transform corresponding to SizeID and MatrixID is decoded by the decoder. It is not known which quantization matrix information should be used for transform coefficients to perform inverse quantization. Therefore, if scaling_list_update_flag [SizeID] [MatrixID] is 0, since there is no quantization matrix information corresponding to SizeID and MatrixID, the quantization matrix corresponding to SizeID and MatrixID means using a default matrix, or using a quantization matrix. It can mean not to do it.
  • scaling_list_update_flag [SizeID] [MatrixID] is encoded according to SizeID and MatrixID
  • scaling_list_update_flag [SizeID] [MatrixID] has a value of 1
  • the coder uses the quantization matrix, whether the default matrix is used, and predictive encoding. At least one or more types of information may be encoded.
  • scaling_list_update_flag [SizeID] [MatrixID] When the value of scaling_list_update_flag [SizeID] [MatrixID] is 0, at least one or more pieces of information among quantization matrices, whether or not the base matrix is used, and the type of prediction encoding method are not encoded. That is, the unnecessary quantization matrix may not be encoded by using scaling_list_update_flag [SizeID] [MatrixID].
  • scaling_list_update_flag [SizeID] [MatrixID] alone does not mix base and non-base matrices by transform size or quantization matrix type in a sequence, picture, or slice. have.
  • the coder can encode sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information specifying whether to encode a quantization matrix according to SizeID and MatrixID and whether to use a default matrix in a parameter set.
  • sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID] if the value of sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID] is 1, the quantization matrix corresponding to SizeID and MatrixID is not encoded, and the quantization matrix coefficient values corresponding to SizeID and MatrixID are encoded by the encoder and / or the decoder. It may be determined to be equal to a predetermined default matrix coefficient value.
  • use_default_scaling_list_flag may not be encoded.
  • the encoder may encode whether the quantization matrix is encoded and whether the base matrix is used in the parameter set according to SizeID and MatrixID.
  • the encoder may use scaling_list_update_flag [SizeID] [MatrixID] as information for indicating whether to update the quantization matrix information with quantization matrix information corresponding to SizeID and MatrixID in the encoding target parameter.
  • Table 17 schematically illustrates an example of a syntax structure that may be used when encoding quantization matrix information according to SizeID and MatrixID as described above.
  • the quantization matrix corresponding to the previously encoded SizeID and MatrixID is not updated with the quantization matrix corresponding to the SizeID and MatrixID in the encoding target parameter, and the encoder and the decoder use the quantization matrix corresponding to the previously encoded SizeID and MatrixID. .
  • the quantization matrix corresponding to SizeID and MatrixID is not encoded, and the quantization matrix coefficient value is encoded and / or decoded. It is determined to be equal to a predetermined default matrix coefficient value.
  • the quantization matrix corresponding to the previously encoded SizeID and MatrixID is updated with the quantization matrix corresponding to SizeID and MatrixID in the encoding object parameter.
  • use_default_scaling_list_flag may not be coded.
  • the encoder may also determine the type of the method of predictively encoding the quantization matrix, and then encode the information about the method of predictive encoding of the quantization matrix into a parameter set.
  • Tables 18 and 19 schematically show syntax examples that can be applied when encoding a method of predicting and coding a quantization matrix into a parameter set.
  • the encoder may encode pred_mode_flag, that is, information specifying a method of predictively encoding a quantization matrix, into an adaptation parameter set.
  • Scaling_list_pred_mode_flag which will be described later in this specification, may be interpreted to have the same meaning as pred_mode_flag.
  • the encoder may encode the quantization matrix into differential pulse code modulation (DPCM) and exponential-Golomb code. If the value of pred_mode_flag is 0, the encoder may determine that the coefficient values of the quantization matrix have the same values as the previously encoded quantization matrix coefficient values. In this case, coefficient values of the quantization matrix and previously encoded quantization matrix coefficient values may be values in different quantization matrices.
  • DPCM differential pulse code modulation
  • exponential-Golomb code the encoder may determine that the coefficient values of the quantization matrix have the same values as the previously encoded quantization matrix coefficient values. In this case, coefficient values of the quantization matrix and previously encoded quantization matrix coefficient values may be values in different quantization matrices.
  • the encoder may encode the reference quantization matrix identifier of the encoding quantization matrix into the parameter set.
  • the encoder may encode pred_matrix_id_delta, that is, the reference quantization matrix identifier of the quantization matrix to be encoded, into an adaptation parameter set.
  • Scaling_list_pred_matrix_id_delta which will be described later in this specification, may be interpreted to have the same meaning as pred_matrix_id_delta.
  • the encoder and the decoder may determine the value of RefMatrixID indicating the reference quantization matrix of the quantization matrix to be encoded using pred_matrix_id_delta and Equation 1.
  • RefMatrixID MatrixID-(1 + pred_matrix_id_delta)
  • the encoder may encode a difference value between a coefficient value of a previously encoded quantization matrix and a coefficient value of a quantization matrix to be encoded into a parameter set.
  • the previously encoded quantization matrix coefficient value may be a coefficient value in the quantization matrix to be encoded. That is, the previously encoded quantization matrix coefficient values and the coefficient values of the encoding target quantization matrix may be values in the same quantization matrix.
  • the encoder may encode delta_coef, which is a difference value between the coefficient value of the previously encoded quantization matrix and the coefficient value of the encoding target quantization matrix, into the adaptive parameter set.
  • Delta_coef to be described later in the present specification may be interpreted as the same meaning as scaling_list_delta_coef.
  • the coder can use a combination of a basic quantization matrix and a non-basic quantization matrix in a sequence, picture, or slice using the following method, and can prevent unnecessary quantization matrix transmission.
  • the encoder uses the reference quantization matrix identifier of the quantization matrix to be encoded to determine whether to use the default matrix. Can be encoded into a parameter set.
  • the encoder may encode pred_matrix_id_delta, that is, the reference quantization matrix identifier of the quantization matrix to be encoded, in a parameter set.
  • the encoder and the decoder may determine a RefMatrixID indicating the reference quantization matrix or the base matrix of the quantization matrix to be encoded using pred_matrix_id_delta and Equation 2, and determine whether to use the default matrix.
  • RefMatrixID MatrixID-pred_matrix_id_delta
  • Equation 2 if the RefMatrixID value is equal to the MatrixID value, the quantization matrix coefficient values corresponding to SizeID and RefMatrixID are determined to be equal to the coefficient values of the predetermined default matrix in the encoder and / or the decoder.
  • the default matrix means a default matrix specified by SizeID and RefMatrixID.
  • the coder may determine a quantization matrix corresponding to RefMatrixID as a reference quantization matrix of the quantization matrix to be encoded. In this case, the encoder may determine the coefficient value of the quantization matrix to be encoded equal to the coefficient value of the reference quantization matrix.
  • the size of the quantization matrix corresponding to SizeID is included in the minimum size and the maximum size of the transform unit available in the decoder, it may be determined whether to use the reference quantization matrix and the default matrix of the quantization matrix to be encoded using the above method. If the size of the quantization matrix corresponding to SizeID is not included in the range of the minimum size and the maximum size of the transform unit available in the decoder, the encoding method for the quantization matrix corresponding to SizeID may not be determined to be the same as the base matrix. .
  • the determining process is performed when encoding information on at least one of a quantization matrix, whether a base matrix is used, and a type of a prediction encoding method, according to a difference between SizeID and a maximum size of a transform unit and a minimum size of a transform unit. Can be.
  • the coder may encode information about whether the quantization matrix is used in the parameter set.
  • Table 20 schematically illustrates an example of encoding information on whether to use a quantization matrix in a parameter set.
  • the encoder may encode scaling_list_enable_flag, that is, information about whether to use a quantization matrix, in a parameter set.
  • a quantization matrix such as a base matrix or a non-base matrix may be used for quantization / dequantization, and conversely, if the value of scaling_list_enable_flag is 0, a quantization matrix is not used for quantization / dequantization. Or a quantization matrix with all coefficient values equal. At this time, all the coefficient values may be 16.
  • the encoder may encode a difference between the coefficient value of the previously encoded quantization matrix and the coefficient value of the quantization matrix to be encoded into the parameter set.
  • the coefficient value of the previously encoded quantization matrix may be a coefficient value in the encoding target quantization matrix. That is, the previously encoded quantization matrix coefficient values and the coefficient values of the encoding target quantization matrix may be values in the same quantization matrix.
  • Table 21 schematically illustrates an example of a syntax structure that may be used when encoding quantization matrix information by using a difference between a coefficient value of a previously encoded quantization matrix and a coefficient value of a quantization matrix to be encoded.
  • delta_coef which is the difference between the previously encoded quantization matrix coefficient value and the encoding target quantization matrix coefficient value, is encoded in the parameter set.
  • the coefficient of the quantization matrix can be calculated using Equation 3.
  • Nextcoef (nextcoef + delta_coef + 256)% 256
  • the coefficient value of that quantization matrix is the coefficient of the predetermined default matrix in the encoder and / or decoder. Can be determined equal to the value.
  • the corresponding quantization matrix may be used as the base matrix.
  • the specific value may be 0.
  • the default matrix may be a default matrix corresponding to SizeID and MatrixID. Therefore, if the coefficient value nextcoef of the quantization matrix is equal to 0 and corresponds to the first value of the quantization matrix, the encoding of the quantization matrix difference value for the corresponding quantization matrix may be stopped.
  • the encoder may encode a difference between the coefficient value of the previously encoded quantization matrix and the coefficient value of the quantization matrix to be encoded into the parameter set.
  • the coefficient value of the previously encoded quantization matrix may be a coefficient value in the encoding target quantization matrix. That is, the previously encoded quantization matrix coefficient values and the coefficient values of the encoding target quantization matrix may be values in the same quantization matrix.
  • Table 22 briefly illustrates an example of a syntax structure for a case where a difference between a coefficient value of a previously encoded quantization matrix and a coefficient value of a quantization matrix to be encoded is used.
  • delta_coef which is a difference value between the coefficient value of the previously encoded quantization matrix and the coefficient value of the encoding target quantization matrix, is encoded in the parameter set.
  • the quantization matrix coefficient value nextcoef calculated using Equation 3 is equal to a specific value and is the first value of the quantization matrix, then the coefficient value of the corresponding quantization matrix is the coefficient value of the predetermined default matrix in the encoder and / or decoder. The same may be determined as
  • nextcoef is equal to (1) a specific value and (2) is the first value of the quantization matrix
  • the corresponding quantization matrix can be used as the default matrix.
  • the specific value may be 0, and the quantization matrix coefficient value calculated according to Equation 3 may be a quantization matrix coefficient value of 4x4 and 8x8 or a transform size.
  • the first value of the quantization matrix may be a value using scaling_list_dc_coef_minus8, and the specific value may be a value corresponding to scaling_list_dc_coef_minus8 + 8.
  • scaling_list_dc_coef_minus8 may mean a first value of a quantization matrix having a size of 16x16 or a quantization matrix having a size of 32x32. That is, scaling_list_dc_coef_minus8 may mean the coefficient value of the quantization matrix with respect to the DC matrix coefficient, and may mean the DC matrix coefficient.
  • the DC matrix coefficient is present in a quantization matrix used for inverse quantization and may mean a quantization matrix coefficient for a DC transform coefficient in a transform block.
  • scaling_list_dc_coef_minus8 [sizeID-2] may mean a 16x16 quantization matrix or a coefficient value of a quantization matrix for DC coefficients in a transformation when sizeID is 2.
  • scaling_list_dc_coef_minus8 [sizeID-2] [matrixID] may mean a coefficient value of a quantization matrix for a DC coefficient in a 32x32 sized quantization matrix or a transformation when sizeID is 3.
  • the aforementioned basic matrix may mean a basic matrix corresponding to SizeID and MatrixID. As described above, if the coefficient value nextcoef of the quantization matrix is equal to 0 and the first value of the quantization matrix, encoding of the quantization matrix difference value for the corresponding quantization matrix may be stopped.
  • scaling_list_dc_coef_minus8 which is the coefficient value of the quantization matrix with respect to DC matrix coefficients, and whether to use the default matrix can be different according to the size or transform size of the quantization matrix.
  • a method of encoding / decoding a quantization matrix using a coefficient value of a quantization matrix to determine whether or not to use a base matrix has a disadvantage in that a complexity of encoding / decoding processes for coefficient values of the quantization matrix is increased.
  • the following provides a method of determining whether to use a default matrix by using an identifier (reference quantization matrix identifier) for a reference quantization matrix in image encoding / decoding. Therefore, using the following method can reduce the complexity of the calculation when coding / decoding the quantization matrix.
  • Tables 23 and 24 briefly illustrate examples of syntax structures that can be applied when using an identifier for a reference quantization matrix.
  • the encoder may encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the coder can code scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, into a parameter set. For example, if the quantization matrix does not exist and the quantization matrices are determined as the basic quantization matrix, the value of scaling_list_present_flag may be encoded as 0. If the encoded quantization matrix exists, the value of scaling_list_present_flag may be encoded as 1.
  • the encoder may determine a type of a prediction encoding method for the quantization matrix, and encode information on the determined prediction encoding method of the quantization matrix into a parameter set.
  • the parameter set in which the information about the prediction encoding method of the quantization matrix is encoded may be an adaptive parameter set.
  • the coder can code scaling_list_pred_mode_flag, that is, information specifying the predictive coding method of the quantization matrix, into a parameter set. For example, when the quantization matrix is scanned and coded by DPCM and an exponential-Golomb code to predict-code coefficients of the quantization matrix, the coder encodes the value of scaling_list_pred_mode_flag as 1. In addition, when determining that the reference quantization matrix and the encoding target quantization matrix have the same value for inter-quantization prediction, or when the coefficient value of the encoding quantization matrix is determined to be the same as the default matrix coefficient value, the coder determines the value of scaling_list_pred_mode_flag. Can be encoded as 0.
  • determining to have the same value may mean using a prediction method of a quantization matrix that copies coefficient values of a specific quantization matrix to coefficient values of a quantization matrix to be encoded.
  • the encoder determines whether to use the reference quantization matrix identifier and the default matrix of the quantization matrix to be encoded. Can be encoded in a parameter set.
  • the parameter set may be an adaptation parameter set.
  • Scaling_list_pred_matrix_id_delta which is a reference quantization matrix identifier of, may be encoded in a parameter set.
  • the encoder may determine the value of scaling_list_pred_matrix_id_delta, which is a quantization matrix identifier, using matrixID indicating the quantization matrix to be encoded, RefMatrixID indicating the reference quantization matrix or the base matrix, and Equation 4.
  • scaling_list_pred_matrix_id_delta matrixID-RefMatrixID
  • the encoder encodes the value of scaling_list_pred_matrix_id_delta as 0, so that the RefMatrixID value and the matrixID value are the same.
  • the default matrix may mean a default matrix corresponding to sizeID and matrixID.
  • the coder encodes the scaling_list_pred_matrix_id_delta value to a non-zero value to obtain a RefMatrixID value. You can make sure that the and matrixID values are not the same. At this point, the scaling_list_pred_matrix_id_delta value may be a positive integer value.
  • the coder encodes the coefficient values of the quantization matrix previously encoded in the quantization matrix and the quantization target to be coded.
  • the difference between coefficient values of the matrix can be encoded in the parameter set.
  • the parameter set in which the difference value is encoded may be an adaptive parameter set.
  • the encoder may encode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, into a parameter set.
  • the encoder may encode scaling_list_delta_coef, that is, a difference value between the coefficient value of the quantization matrix previously encoded and the coefficient value of the encoding target quantization matrix, in the quantization matrix.
  • Tables 23 and 24 illustrate the case where the quantization matrix information is encoded into the adaptive parameter set.
  • the encoder may include another parameter set (a parameter set including at least one of a sequence parameter set and a picture parameter set). Quantization matrix information may be encoded.
  • encoding efficiency may be improved when encoding / decoding a quantization matrix by performing quantization matrix encoding / decoding differently depending on whether a reference quantization matrix exists or not.
  • Tables 25 and 26 simply show examples of syntax structures that can be applied when the quantization matrix coding / decoding is different depending on the presence or absence of the reference quantization matrix.
  • the encoder may encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the coder can code scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, into a parameter set. For example, when the quantization matrix does not exist and all quantization matrices are determined as the basic quantization matrix, the value of scaling_list_present_flag may be encoded as 0, and when the encoded quantization matrix exists, the value of scaling_list_present_flag may be encoded as 1. .
  • the coder may encode the predictive encoding method information of the quantization matrix into a parameter set when matrixID is greater than zero.
  • the parameter set in which the prediction encoding method information of the quantization matrix is encoded may be an adaptive parameter set.
  • the encoder can encode scaling_list_pred_mode_flag, that is, information that specifies a prediction encoding method of a quantization matrix, into a parameter set only when matrixID is larger than zero.
  • scaling_list_pred_mode_flag When the quantization matrix is scanned and coded by DPCM and an exponential-Golomb code to predict-code coefficients in the quantization matrix, the coder encodes the value of scaling_list_pred_mode_flag as 1.
  • the encoder encodes the value of scaling_list_pred_mode_flag as 0. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying a reference quantization matrix coefficient value to an encoding target quantization matrix coefficient value is used.
  • scaling_list_pred_mode_flag When matrixID is 0, as in the example of Table 23, the value of scaling_list_pred_mode_flag is TRUE, and the encoder can scan the quantization matrix and encode the DPCM and the exponential-Golomb code without encoding scaling_list_pred_mode_flag.
  • the prediction encoding method of the quantization matrix is a method of determining the same as the reference quantization matrix for prediction between quantization matrices.
  • the encoder may encode the reference quantization matrix identifier of the quantization matrix to be encoded into the parameter set.
  • the parameter set in which the reference quantization matrix identifier is encoded may be an adaptive parameter set.
  • the coder sets the scaling_list_pred_matrix_id_delta, that is, the reference quantization matrix identifier of the encoding quantization matrix, only when matrixID is greater than 0.
  • the encoder and the decoder may determine the value of scaling_list_pred_matrix_id_delta, which is a quantization matrix identifier, using matrixID indicating the quantization matrix to be encoded, RefMatrixID indicating the reference quantization matrix, and Equation 5.
  • scaling_list_pred_matrix_id_delta matrixID-(RefMatrixID + 1)
  • the encoder may determine RefMatrixID by encoding scaling_list_pred_matrix_id_delta, which is a reference quantization matrix identifier, and determine the encoding quantization matrix coefficient value to be equal to the reference quantization matrix coefficient value only when matrixID is greater than zero.
  • Determining the coefficient value of the encoding quantization matrix to be the same as the coefficient value of the reference quantization matrix determines the reference quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the encoding quantization matrix, and determines the coefficient value of the reference quantization matrix as the encoding target quantization. It may mean a method of predicting a quantization matrix copied to a coefficient value of the matrix.
  • the coder encodes the coefficient values of the quantization matrix previously encoded in the quantization matrix and the quantization target to be coded.
  • the difference between coefficient values of the matrix can be encoded in the parameter set.
  • the parameter set in which the difference value is encoded may be an adaptive parameter set.
  • the coder can code the DC matrix coefficient scaling_list_dc_coef_minus8 into the parameter set.
  • the coder can code scaling_list_delta_coef, that is, a difference value between the coefficient value of the quantization matrix previously encoded and the coefficient value of the quantization matrix to be encoded, into the parameter set.
  • the encoder may encode whether to use the default matrix by using scaling_list_delta_coef used to calculate scaling_list_dc_coef_minus8 or nextCoef. That is, the coder can instruct the decoder to use the default matrix by encoding scaling_list_dc_coef_minus8 as -8, and can code the scaling_list_delta_coef so that the first nextCoef value is 0 to instruct the decoder to use the default matrix.
  • the encoding / decoding method of the quantization matrix that determines the use of the base matrix using coefficient values of the quantization matrix has a disadvantage of increasing the complexity of the encoding / decoding process for the coefficient values of the quantization matrix.
  • coding efficiency is deteriorated.
  • encoding / decoding of the quantization matrix may be performed differently according to whether a reference quantization matrix exists or the like, thereby improving encoding efficiency when encoding or decoding the quantization matrix.
  • Tables 27 and 28 briefly show examples of syntax structures applicable when using an identifier of a reference quantization matrix.
  • the encoder may first encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the coder can code scaling_list_present_flag, that is, information specifying whether a quantization matrix is present in the bitstream, into a parameter set. For example, when the quantization matrix does not exist and all quantization matrices are determined as the default quantization matrix, the coder can code the value of scaling_list_present_flag to 0. When the coded quantization matrix is present, the coder can set the value of scaling_list_present_flag to 1. Can be encoded.
  • the encoder may encode information about the predictive encoding method for the quantization matrix into a parameter set.
  • the parameter set in which information about the prediction encoding method is encoded may be an adaptive parameter set.
  • the coder can code scaling_list_pred_mode_flag, that is, information about a method of predictive encoding of a quantization matrix, into a parameter set. For example, when the quantization matrix is scanned and coded by DPCM and an exponential-Golomb code to predict-code coefficients in the quantization matrix, the coder may encode a value of scaling_list_pred_mode_flag as 1. If the reference quantization matrix and the encoding target quantization matrix are determined to have the same value for inter-quantization prediction, or the encoding quantization matrix coefficient value is determined to be equal to the default matrix coefficient value, the coder encodes the value of scaling_list_pred_mode_flag as 0. can do. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying coefficient values of a specific quantization matrix into encoding target quantization matrix coefficient values is used.
  • the predictive coding method of the quantization matrix is a method of determining the quantization matrix to be equal to the reference quantization matrix or the base matrix for inter-quantization prediction.
  • the encoder determines the reference quantization matrix identifier and the base matrix of the quantization matrix to be encoded. Whether or not to use can be encoded in a parameter set.
  • the parameter set for encoding the reference quantization matrix identifier and the default matrix may be an adaptation parameter set.
  • the encoder when the coefficient value of the quantization matrix to be encoded is determined to be the same as the coefficient value of the reference quantization matrix, or when the coefficient value of the encoding quantization matrix is determined to be the same as the coefficient value of the base matrix, the encoder has a matrixID. Only when it is larger than 0, scaling_list_pred_matrix_id_delta, which is a reference quantization matrix identifier for the encoding target quantization matrix, may be encoded in the parameter set.
  • the encoder may determine scaling_list_pred_matrix_id_delta, which is a quantization matrix identifier, using matrixID indicating the quantization matrix to be encoded, RefMatrixID indicating the reference quantization matrix or the base matrix, and Equation 6.
  • scaling_list_pred_matrix_id_delta matrixID-RefMatrixID
  • the encoder may encode the value of scaling_list_pred_matrix_id_delta to 0 so that the RefMatrixID value and the matrixID value are the same.
  • the default matrix means a default matrix corresponding to sizeID and matrixID.
  • the encoder may encode the scaling_list_pred_matrix_id_delta value to a non-zero value so that the RefMatrixID value and the matrixID value are not equal.
  • scaling_list_pred_mode_flag if the value of scaling_list_pred_mode_flag is 0, this indicates a method in which the predictive encoding method of the quantization matrix determines the quantization matrix in the same manner as the reference quantization matrix or the base matrix. In this case quantization matrix prediction is possible from previously coded quantization matrices or base matrices having the same sizeID.
  • matrixID it means the first quantization matrix for each sizeID. If scaling_list_pred_mode_flag is 0 and matrixID is 0, there is no reference quantization matrix having the same sizeID value for the first quantization matrix for each sizeID. Therefore, quantization matrix prediction cannot be performed for the first quantization matrix for each sizeID by the same method as matrix copying.
  • the encoder may infer the scaling_list_pred_matrix_id_delta value as 0 without encoding the scaling_list_pred_matrix_id_delta. If the value of scaling_list_pred_matrix_id_delta is 0, the RefMatrixID value is the same as the matrixID value. Therefore, the coefficient value of the quantization matrix to be encoded corresponding to the sizeID and the matrixID may be determined to be equal to a predetermined default matrix coefficient value at the encoder and / or the decoder.
  • the default matrix may mean a default matrix corresponding to sizeID and matrixID.
  • the coder encodes the coefficient values of the quantization matrix previously encoded in the quantization matrix and the quantization target to be coded.
  • the difference between coefficient values of the matrix can be encoded in the parameter set.
  • the parameter set in which the difference value is encoded may be an adaptive parameter set.
  • the encoder may encode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, in the parameter set.
  • the scaling_list_delta_coef which is a difference value between the coefficient value of the quantization matrix previously encoded and the coefficient value of the encoding quantization matrix in the quantization matrix, may be encoded in the parameter set, as in the example of Table 28.
  • the present invention provides a method of predicting DC matrix coefficients from peripheral AC coefficients by using a high correlation between the peripheral coefficients without predicting the constant from 8. Through this, according to the present invention, the coding efficiency can be improved.
  • Tables 29 and 30 briefly illustrate an example of a syntax structure applied when a DC matrix coefficient is predicted using a correlation between neighboring coefficients.
  • the encoding / decoding order of the quantization matrix and the reconstruction order of the quantization matrix are matched.
  • memory space for storing DC matrix coefficients can be saved.
  • only the syntax element scaling_list_delta_coef may be used without using various syntax elements.
  • the encoder can first encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the encoder may encode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, in a parameter set. For example, in the case where no quantization matrix exists and all quantization matrices are determined as the basic quantization matrix, the coder encodes the value of scaling_list_present_flag to 0, and when the coded quantization matrix exists, the coder sets the value of scaling_list_present_flag to 1 Can be encoded.
  • the coder can code information about the predictive coding method of the quantization matrix into a parameter set.
  • the parameter set encoded by the prediction encoding method may be an adaptive parameter set.
  • scaling_list_pred_mode_flag that is, information on the prediction encoding method of the quantization matrix
  • the coder may encode a value of scaling_list_pred_mode_flag as 1.
  • the encoder may encode the value of scaling_list_pred_mode_flag as 0. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying coefficient values of the reference quantization matrix to coefficient values of the quantization matrix to be encoded is used.
  • the encoder may encode the reference quantization matrix identifier of the encoding quantization matrix into the parameter set.
  • the parameter set encoding the reference quantization matrix identifier may be an adaptive parameter set.
  • the encoder may encode scaling_list_pred_matrix_id_delta, that is, the reference quantization matrix identifier of the encoding quantization matrix, into a parameter set.
  • the encoder may determine scaling_list_pred_matrix_id_delta, which is a quantization matrix identifier, by using matrixID representing a quantization matrix to be encoded, RefMatrixID indicating a reference quantization matrix, and Equation 7 below.
  • scaling_list_pred_matrix_id_delta matrixID-(RefMatrixID + 1)
  • Determining the coefficient value of the encoding quantization matrix to be the same as the coefficient value of the reference quantization matrix means that the reference quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the encoding quantization matrix, and the coefficient value of the reference quantization matrix is encoded. This may mean that a quantization matrix prediction method of copying the coefficient values of the matrix is used.
  • the coder encodes coefficient values and encoding of the quantization matrix previously encoded in the quantization matrix.
  • the difference value between the coefficient values of the target quantization matrix can be encoded in the parameter set.
  • the parameter set encoding the difference value may be an adaptive parameter set.
  • the coder can code scaling_list_delta_coef, that is, the difference value between the quantization matrix coefficient value previously encoded and the encoding target quantization matrix coefficient value in the quantization matrix, into the parameter set.
  • the encoder may encode whether to use the default matrix by using scaling_list_delta_coef used to calculate nextCoef. For example, the encoder may instruct scaling to use the default matrix by encoding scaling_list_delta_coef so that the value of the first nextCoef is zero.
  • the coder may code scaling_list_dc_coef_res, that is, a difference value between quantization matrix coefficient values corresponding to DC matrix coefficients, into a parameter set.
  • the value of scaling_list_dc_coef_res for a 16x16 or 32x32 quantization matrix that separately encodes coefficients of a DC matrix may be calculated using a difference between a DC matrix coefficient value and a matrix coefficient present at a DC position.
  • the encoding / decoding method of the quantization matrix that determines the use of the base matrix using coefficient values of the quantization matrix has a disadvantage of increasing the complexity of the encoding / decoding process for the coefficient values of the quantization matrix.
  • conventionally when the quantization matrix is transmitted, all coefficients and DC matrix coefficients in the matrix are encoded / decoded. In this case, since the DC matrix coefficients are not predictively encoded / decoded, there is a limitation in improving coding efficiency.
  • whether or not to use a default matrix is determined by using an identifier of a reference quantization matrix in image encoding / decoding. Therefore, it is possible to reduce computational complexity when encoding / decoding a quantization matrix.
  • encoding efficiency may be improved.
  • the coding efficiency can be improved because the coefficients of the DC matrix are predicted from the peripheral AC coefficients by using a high correlation between the peripheral coefficients without predicting the coefficients from the constant 8.
  • Tables 31 and 32 schematically show examples of syntax structures that can be used when all of the above features are applied.
  • the encoding / decoding order of the quantization matrix and the restoration order of the quantization matrix are made identical. Thus, memory space for storing DC matrix coefficients can be saved.
  • only the syntax element scaling_list_delta_coef may be used without using various syntax elements.
  • the encoder may encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the encoder may encode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, in a parameter set. For example, when the quantization matrix does not exist and all quantization matrices are determined as the basic quantization matrix, the coder may encode the value of scaling_list_present_flag as 0. When the coded quantization matrix exists, the coder may determine the value of scaling_list_present_flag. Can be coded as 1.
  • the coder can code information about the prediction coding method of the quantization matrix into a parameter set.
  • the parameter set for encoding the predictive encoding method may be an adaptive parameter set.
  • the coder can code scaling_list_pred_mode_flag, that is, information specifying the predictive coding method of the quantization matrix, into a parameter set. For example, when the quantization matrix is scanned and coded by DPCM and an exponential-Golomb code to predict-code coefficients in the quantization matrix, the coder encodes the value of scaling_list_pred_mode_flag as 1. In addition, when determining that the reference quantization matrix and the encoding target quantization matrix have the same value for inter-quantization prediction, or when the encoding target quantization matrix coefficient value is determined to be equal to the default matrix coefficient value, the coder sets the value of scaling_list_pred_mode_flag to 0. Encode by. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying coefficient values of a specific quantization matrix into coefficient values of a quantization matrix to be encoded is applied.
  • the encoder determines whether the reference quantization matrix identifier and the base matrix of the quantization matrix to be encoded are used in the parameter set. Can be encoded.
  • the parameter set on which encoding is performed may be an adaptive parameter set.
  • Scaling_list_pred_matrix_id_delta which is a quantization matrix identifier, can be encoded in a parameter set.
  • the encoder and the decoder may determine the value of scaling_list_pred_matrix_id_delta, which is a quantization matrix identifier, by using matrixID indicating a quantization matrix to be encoded, RefMatrixID indicating a reference quantization matrix or a basic matrix, and Equation 8.
  • scaling_list_pred_matrix_id_delta matrixID-RefMatrixID
  • the encoder may encode the value of scaling_list_pred_matrix_id_delta to 0 so that the RefMatrixID value and the matrixID value are the same.
  • the default matrix means a default matrix corresponding to sizeID and matrixID.
  • the encoder may encode the scaling_list_pred_matrix_id_delta value to a non-zero value so that the RefMatrixID value and the matrixID value are not equal.
  • the coder encodes the coefficient values of the quantization matrix previously encoded in the quantization matrix and the quantization target to be coded.
  • the difference between coefficient values of the matrix can be encoded in the parameter set.
  • the parameter set in which the difference value is encoded may be an adaptive parameter set.
  • scaling_list_delta_coef which is a difference value between a quantization matrix coefficient value previously encoded and a quantization matrix coefficient value to be encoded in the quantization matrix, may be encoded in the parameter set.
  • the coder may encode scaling_list_dc_coef_res, that is, a difference value between coefficient values of a quantization matrix corresponding to coefficients of a DC matrix, into a parameter set.
  • the scaling_list_dc_coef_res value for a 16x16 quantization matrix or a 32x32 quantization matrix that separately encodes DC matrix coefficients may be calculated using a difference between the DC matrix coefficient value and the coefficient of the matrix present at the DC position.
  • the quantization matrix is predicted from the quantization matrix having the same size as that of the quantization matrix at the time of encoding / decoding, the encoding efficiency and the degree of freedom of quantization matrix prediction can be increased.
  • Tables 33 and 34 schematically show examples of syntax structures that can be used when prediction of a quantization matrix is performed from a quantization matrix having the same size as the size of the quantization matrix at the time of encoding / decoding.
  • the encoder can first encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the coder can code scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, into a parameter set. For example, when the quantization matrix does not exist and all quantization matrices are determined as the default quantization matrix, the coder can code the value of scaling_list_present_flag to 0. If the coded quantization matrix is present, the coder can set the value of scaling_list_present_flag to 1. Can be encoded.
  • the coder can code information about the prediction coding method of the quantization matrix into a parameter set.
  • the parameter set encoded by the prediction encoding method may be an adaptive parameter set.
  • the encoder may encode scaling_list_pred_mode_flag, that is, information about a prediction encoding method of a quantization matrix, as in the example of Table 33 or Table 34 in a parameter set.
  • the coder may encode a value of scaling_list_pred_mode_flag as 1, and reference quantization for prediction between quantization matrices.
  • the encoder may encode the value of scaling_list_pred_mode_flag as 0. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying coefficient values of the reference quantization matrix to coefficient values of the quantization matrix to be encoded is used.
  • the encoder may encode the reference quantization matrix identifier of the quantization matrix to be encoded into the parameter set.
  • identification information (identifier) of the reference quantization matrix at least one of information specifying the size of the reference quantization matrix of the encoding target quantization matrix and information specifying the reference quantization matrix may be encoded in the parameter set.
  • the parameter set in which the identifier or the identification information is encoded may be an adaptation parameter set.
  • scaling_list_pred_size_matrix_id_delta which is identification information about the reference quantization matrix, of the encoding quantization matrix into a parameter set.
  • a value of scaling_list_pred_size_matrix_id_delta which is identification information of the quantization matrix, may be determined using RefSizeID, which is the size of the reference quantization matrix of the encoding target quantization matrix, RefMatrixID, which indicates the reference quantization matrix, and Equation 9.
  • scaling_list_pred_size_matrix_id_delta 6 * (RefSizeID-sizeID) + (RefMatrixID% 6)
  • the coder sets scaling_list_pred_size_id_delta and scaling_list_pred_size_matrix_id_delta, which are identification information about the reference quantization matrix, of the encoding quantization matrix. Can be encoded into a set.
  • scaling_list_pred_size_id_delta may be determined using RefSizeID and Equation 10
  • the value of scaling_list_pred_matrix_id_delta may be determined using RefMatrixID indicating the reference quantization matrix of the quantization matrix to be encoded and Equation 11.
  • scaling_list_pred_size_id_delta sizeID-RefSizeID
  • scaling_list_pred_matrix_id_delta matrixID-RefMatrixID
  • Determining the coefficient value of the quantization matrix to be encoded equal to the coefficient value of the reference quantization matrix means that the reference quantization matrix corresponding to RefSizeID and RefMatrixID is determined as the reference quantization matrix of the encoding quantization matrix, and the coefficient value of the reference quantization matrix is encoded. It may mean that a quantization matrix prediction method is used to copy the coefficient values of the target quantization matrix.
  • scaling_list_pred_size_matrix_id_delta can have a value between 0 and 17
  • scaling_list_pred_size_id_delta can have a value between 0 and 2
  • scaling_list_pred_matrix_id_delta can have a value between 0 and 5. You can limit it.
  • the encoder may not perform the prediction of the quantization matrix from the quantization matrix having a larger size than the quantization matrix to be encoded.
  • the DC matrix coefficients and the AC matrix coefficients may be divided and predicted according to the size of the quantization matrix.
  • DC matrix coefficients and AC matrix coefficients may be divided and predicted for a quantization matrix having an 8 ⁇ 8 size, and DC matrix coefficients and AC matrix coefficients may be predicted together for the remaining quantization matrixes.
  • the encoder determines a value corresponding to a DC matrix coefficient position in a quantization matrix having a size of 8x8 as the DC matrix coefficient of the matrix to be encoded, The value can be predicted.
  • the coder may also predict the DC matrix coefficients of the quantization matrix.
  • the predictive encoding method of the quantization matrix is a method of encoding the DPCM and the exponential-Golomb code by scanning to predict the coefficients in the quantization matrix
  • the quantization matrix coefficient values previously encoded in the quantization matrix and the encoding target quantization matrix The difference value of the coefficient value can be encoded in the parameter set.
  • the parameter set may be an adaptation parameter set.
  • Table 35 shows an example of a syntax structure that can be applied when predicting coefficients in a quantization matrix using previously encoded quantization matrix coefficient values in the quantization matrix.
  • the encoder may encode scaling_list_dc_coef_minus8, that is, coefficient information of the DC matrix, into the parameter set.
  • the coder may code scaling_list_delta_coef, that is, the difference value between the coefficient value of the quantization matrix previously encoded and the coefficient value of the quantization matrix to be encoded, into the parameter set.
  • the encoder may encode information indicating whether to use the default matrix by using scaling_list_delta_coef used to derive a value of scaling_list_dc_coef_minus8 or nextCoef. For example, the encoder may instruct the decoder to use the default matrix by encoding the value of scaling_list_dc_coef_minus8 as ⁇ 8, and may instruct the decoder to use the default matrix by encoding scaling_list_delta_coef so that the first nextCoef value is zero.
  • the encoding / decoding method of the quantization matrix which determines whether the base matrix is used using the coefficient value of the quantization matrix, has the disadvantage of increasing the complexity of the encoding / decoding process for the coefficient value of the quantization matrix.
  • coding efficiency is deteriorated.
  • copying of the quantization matrix is performed by using the size of the quantization matrix during quantization and inverse quantization rather than the size of the quantization matrix during encoding / decoding. Since the quantization matrix is copied from a limited number of quantization matrices, there is a limitation in improving the coding efficiency when the quantization matrix is encoded / decoded.
  • whether or not to use a default matrix may be determined using an identifier of a reference quantization matrix in image encoding / decoding. Therefore, it is possible to reduce the computational complexity when encoding / decoding a quantization matrix.
  • the quantization matrix is predicted from the quantization matrix having the same size as the quantization matrix at the time of encoding / decoding, the coding efficiency can be improved and the degree of freedom in the prediction of the quantization matrix can be increased.
  • Tables 36 and 37 briefly illustrate examples of syntax structures that may be applied to the case of performing prediction by using an identifier of a reference quantization matrix and using a quantization matrix having the same size when encoding / decoding.
  • the encoder can first encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the encoder can code scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, into a parameter set. For example, when the quantization matrix does not exist and all quantization matrices are determined as the basic quantization matrix, the encoder encodes the value of scaling_list_present_flag as 0, and when the coded quantization matrix exists, the encoder encodes the value of scaling_list_present_flag as 1. .
  • the coder After determining the type of prediction coding method for the quantization matrix, the coder can code information about the prediction coding method of the quantization matrix into a parameter set.
  • the parameter set in which the information about the predictive encoding method is encoded may be an adaptive parameter set.
  • the coder can code scaling_list_pred_mode_flag, that is, information specifying the predictive coding method of the quantization matrix, into a parameter set. For example, when the quantization matrix is scanned and coded by DPCM and an exponential-Golomb code to predict-code coefficients in the quantization matrix, the coder may encode a value of scaling_list_pred_mode_flag as 1. Further, when determining that the reference quantization matrix and the encoding target quantization matrix have the same value for prediction between quantization matrices or when the coefficient value of the encoding quantization matrix is determined to be the same as the coefficient value of the base matrix, the coder determines the value of scaling_list_pred_mode_flag. Can be encoded as 0. Determining to have the same value may mean using a quantization matrix prediction method of copying coefficient values of a specific quantization matrix into coefficient values of a quantization matrix to be encoded.
  • the encoder may encode the reference quantization matrix identifier of the quantization matrix to be encoded into the parameter set.
  • identification information (identifier) of the reference quantization matrix at least one of information specifying the size of the reference quantization matrix of the encoding target quantization matrix and information specifying the reference quantization matrix may be encoded in the parameter set.
  • the parameter set in which the identifier or the identification information is encoded may be an adaptation parameter set.
  • the encoder Scaling_list_pred_size_matrix_id_delta that is, information for identifying a reference quantization matrix of an encoding target quantization matrix, may be encoded in a parameter set.
  • the encoder may determine scaling_list_pred_size_matrix_id_delta, which is identification information of the quantization matrix, using RefSizeID, RefMatrixID indicating a reference quantization matrix or a base matrix, and Equation 12.
  • scaling_list_pred_size_matrix_id_delta 6 * (RefSizeID-sizeID) + (RefMatrixID% 6)
  • Scaling_list_pred_size_id_delta and scaling_list_pred_size_matrix_id_delta which are identification information about the reference quantization matrix of the quantization matrix, may be encoded in the parameter set.
  • the encoder may derive the value of scaling_list_pred_size_id_delta using RefSizeID and Equation 13, and may derive the value of scaling_list_pred_matrix_id_delta using RefMatrixID indicating the reference quantization matrix or the base matrix of the quantization matrix to be encoded and Equation 14.
  • scaling_list_pred_size_id_delta sizeID-RefSizeID
  • scaling_list_pred_matrix_id_delta matrixID-RefMatrixID
  • the encoder may encode the value of scaling_list_pred_matrix_id_delta to 0 so that the RefMatrixID value and the matrixID value are the same.
  • the default matrix means a default matrix corresponding to sizeID and matrixID.
  • the encoder may encode the scaling_list_pred_matrix_id_delta value to a non-zero value so that the RefMatrixID value and the matrixID value are not equal.
  • scaling_list_pred_size_matrix_id_delta may have a value between 0 and 17
  • scaling_list_pred_size_id_delta may have a value between 0 and 2
  • scaling_list_pred_matrix_id_delta may be restricted to have a value between 0 and 5.
  • prediction of the quantization matrix may not be performed from the quantization matrix having a larger size than the quantization matrix to be encoded.
  • the prediction method may be changed in consideration of the size of the matrix. For example, when predicting from a quantization matrix having a size of 8x8, the encoder determines a value corresponding to a DC coefficient position in a quantization matrix having a size of 8x8 as a DC matrix coefficient and predicts a value at that position, In the case of predicting from a quantization matrix having a size of 32 ⁇ 32, the coder may also predict the DC matrix coefficients.
  • the coder may determine the coefficient values of the quantization matrix previously encoded in the quantization matrix.
  • a difference value between coefficient values of the quantization matrix to be encoded may be encoded in a parameter set.
  • the parameter set in which the difference value is encoded may be an adaptive parameter set.
  • Table 38 shows an example of a syntax structure that can be applied when predicting coefficients in a quantization matrix by using previously encoded quantization matrix coefficient values in the quantization matrix.
  • the encoder may encode scaling_list_dc_coef_minus8, that is, information specifying coefficients of the DC matrix, into the parameter set. .
  • the encoder may encode scaling_list_delta_coef, that is, a difference value between coefficient values of a quantization matrix previously encoded in the quantization matrix and coefficient values of the quantization matrix to be encoded, into a parameter set.
  • quantization matrix coefficients are encoded without considering coefficient values that frequently occur when encoding / decoding first coefficients in a quantization matrix. Therefore, in the case of conventional quantization matrix coding / decoding, there is a limit in improving the coding efficiency.
  • the predictive encoding / decoding of the first coefficient in the quantization matrix may be performed using frequently occurring coefficient values.
  • the first coefficient value or DC matrix coefficient value of the base matrix is defined as 16 or the first coefficient value or DC matrix coefficient value of the non-base matrix is distributed based on 16, encoding /
  • the first coefficient value or DC matrix coefficient value in the decoding target quantization matrix may also be encoded / decoded by predicting from the constant 16. Therefore, according to the present invention, the coding efficiency can be improved.
  • Tables 39 and 40 schematically show examples of syntax structures that can be applied when considering the first coefficient in the quantization matrix.
  • the encoder can first encode information indicating the presence or absence of a quantization matrix into a parameter set.
  • the encoder can encode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, into a parameter set. For example, if the quantization matrix does not exist and all quantization matrices are determined as the default quantization matrix, the coder can code the value of scaling_list_present_flag to 0. If the coded quantization matrix is present, the coder can set the value of scaling_list_present_flag to 1. Can be encoded.
  • scaling_list_present_flag that is, information indicating whether a quantization matrix is present in the bitstream
  • the coder can code information about the prediction coding method of the quantization matrix into a parameter set.
  • the parameter set in which the information about the predictive encoding method is supplemented may be an adaptive parameter set.
  • scaling_list_pred_mode_flag that is, information about a prediction encoding method of a quantization matrix
  • the coder may encode a value of scaling_list_pred_mode_flag as 1.
  • the encoder may encode the value of scaling_list_pred_mode_flag as 0. Determining to have the same value may mean using a quantization matrix prediction method of copying coefficient values of the reference quantization matrix into coefficient values of the quantization matrix to be encoded.
  • the encoder may encode the reference quantization matrix identifier of the quantization matrix to be encoded into the parameter set.
  • the parameter set encoding the reference quantization matrix identifier may be an adaptive parameter set.
  • the encoder may encode scaling_list_pred_matrix_id_delta, that is, the reference quantization matrix identifier of the encoding quantization matrix, into a parameter set.
  • the coder may determine scaling_list_pred_matrix_id_delta, which is a quantization matrix identifier, by using matrixID representing a quantization matrix to be encoded, RefMatrixID indicating a reference quantization matrix, and Equation 15.
  • scaling_list_pred_matrix_id_delta matrixID-(RefMatrixID + 1)
  • Determining the encoding quantization matrix coefficient value equal to the reference quantization matrix coefficient value means that the reference quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the encoding quantization matrix, and the coefficient value of the reference quantization matrix is It may mean that a quantization matrix prediction method of copying coefficient values is applied.
  • the coder encodes the coefficient values of the quantization matrix previously encoded in the quantization matrix and the quantization target to be coded.
  • the difference between coefficient values of the matrix can be encoded in the parameter set.
  • the parameter set in which the difference value is encoded may be an adaptive parameter set.
  • the encoder may encode scaling_list_delta_coef, which is a difference value between the coefficient value of a quantization matrix previously encoded and the coefficient value of the encoding target quantization matrix, in the quantization matrix.
  • the encoder may determine whether to use the default matrix by using scaling_list_delta_coef used to calculate scaling_list_dc_coef_minus16 or nextCoef. That is, the scaling_list_dc_coef_minus16 value may be encoded to -16 to instruct the decoder to use the default matrix, and the scaling_list_delta_coef may be coded to have the first nextCoef value of 0 to instruct the decoder to use the default matrix.
  • the encoder may set nextCoef to 16, and the value of scaling_list_dc_coef_minus16 may mean the coefficient of the DC matrix calculated with the prediction value of 16. .
  • the encoder may instruct the decoder to use the default matrix by encoding the value of scaling_list_dc_coef_minus16 as ⁇ 16.
  • FIG. 5 is a flowchart schematically illustrating an example of an operation of a decoder for decoding information about a quantization matrix and performing decoding by using the same.
  • the decoder decodes the size information of the transform unit and determines the size of the transform unit based on the decoded information (S510).
  • the decoder entropy decodes information about the size of the transform unit from the received bitstream.
  • the decoder can decode information about the size of the transform unit from the parameter set in the bitstream.
  • the decoder may decode information about the minimum size and the maximum size of the transform unit from the bitstream.
  • the decoder can decode the horizontal or vertical minimum size of the square transform unit to which the Log2 function is applied by using the syntax element of log2_min_transform_block_size_minus2 in the bitstream, and the decoder can also decode the syntax element of log2_diff_max_min_transform_block_size in the bitstream. By using, it is possible to decode the difference value between the horizontal or vertical maximum size and the horizontal or vertical minimum size of the square transformation unit to which the Log2 function is applied.
  • the decoder may determine the minimum size and the maximum size of the decoded transform unit.
  • the maximum size of the transform unit may be determined using a difference value between the decoded maximum size and the minimum size and the decoded minimum size.
  • the decoder can calculate Log2MinTrafoSize by adding 2 to the decoded log2_min_transform_block_size_minus2, and then determine the calculated value using 1 ⁇ Log2MinTrafoSize as the horizontal or vertical minimum size of the square transform unit.
  • the decoder may calculate Log2MaxTrafoSize by adding 2 to the decoded log2_diff_max_min_transform_block_size and the decoded log2_min_transform_block_size_minus2, and then determine the calculated value using 1 ⁇ Log2MaxTrafoSize as the horizontal or vertical maximum size of the square transform unit.
  • the minimum size of the transform unit may mean a value calculated using Log2MinTrafoSize or 1 ⁇ Log2MinTrafoSize
  • the maximum size of the transform unit may mean a value calculated using Log2MaxTrafoSize or 1 ⁇ Log2MaxTrafoSize.
  • the decoder decodes the quantization matrix information (S520).
  • the decoder includes (1) whether or not a quantization matrix is used, (2) whether or not a quantization matrix is present, (3) whether or not a quantization matrix is decoded and whether or not a base matrix is used, (4) a kind of quantization matrix prediction decoding method, and (5 Decode quantization matrix information including information on at least one of a reference quantization matrix identifier or (6) a difference value between a coefficient value of a quantization matrix previously decoded in the quantization matrix and a coefficient value of a quantization matrix to be decoded. Can be.
  • the quantization matrix information may depend on the size of the transform unit.
  • the decoder may first determine whether to use the quantization matrix by decoding information on whether the quantization matrix is used or not in a parameter set. As in the example of Table 2, the decoder can decode scaling_list_enabled_flag, that is, information on whether to use a quantization matrix, in a sequence parameter set. If the value of scaling_list_enabled_flag is 1, the decoder can use the quantization matrix in dequantization / scaling of transform coefficients for the entire sequence. If the value of scaling_list_enabled_flag is 0, the decoder dequantizes / scales transform coefficients. You can not use the quantization matrix in.
  • scaling_list_enabled_flag that is, information on whether to use a quantization matrix, in a sequence parameter set. If the value of scaling_list_enabled_flag is 1, the decoder can use the quantization matrix in dequantization / scaling of transform coefficients for the entire sequence. If the value of scaling_list_enabled_flag is
  • the decoder may decode information about the presence or absence of a quantization matrix in a parameter set and determine whether there is a quantization matrix.
  • the decoder can decode aps_scaling_list_data_present_flag, that is, information on the presence or absence of a quantization matrix, in an adaptation parameter set. For example, if the value of aps_scaling_list_data_present_flag is 1, the quantization matrix exists in the adaptation parameter set. If the value of aps_scaling_list_data_present_flag is 0, this means that the quantization matrix does not exist in the adaptation parameter set.
  • scaling_list_enabled_flag 1 and aps_scaling_list_data_present_flag is 0, this may mean that the default matrix is used for dequantization.
  • the decoder may decode the presence or absence information of the quantization matrix in another parameter set.
  • the decoder may determine whether to decode the quantization matrix and whether to use the default matrix by decoding information on whether the quantization matrix is decoded and whether the base matrix is used in the parameter set.
  • the decoder can decode use_default_scaling_list_flag, that is, information about whether the quantization matrix is decoded and whether the default matrix is used, from the adaptation parameter set. For example, if the value of use_default_scaling_list_flag is 1, the quantization matrix is not decoded, and the coefficient values of all quantization matrices may be determined to be the same as the coefficient values of the default quantization matrix predetermined in the encoder and / or the decoder. If the value of use_default_scaling_list_flag is 0, the quantization matrix is decoded, and a default matrix predetermined in the encoder and / or the decoder may not be used.
  • the decoder may determine at least one of decoding a quantization matrix, using a base matrix, or performing prediction decoding using SizeID and MatrixID.
  • the SizeID value specifies a quantization matrix according to the size of the transform unit or the size of the quantization matrix using a table, and the MatrixID value corresponds to the coding mode and color component in which the quantization matrix is used.
  • the type of quantization matrix can be specified.
  • the basic quantization matrix may be indicated using Tables 7 and 8.
  • information of a quantization matrix can be decoded in consideration of the size of a transform unit.
  • Table 9 shows, for example, at least one of quantization matrix decoding, basic matrix use decoding, or predictive decoding method type decoding by restricting SizeID corresponding to each transform unit size according to the minimum and maximum sizes of transform unit size information. To perform.
  • SizeID is constrained according to the minimum and maximum sizes of the size information of the transform unit, so that at least one of the use of a quantization matrix or a base matrix or a type of predictive decoding method only for transform units of a specific size. Decryption of information can be performed.
  • the decoder decodes the quantization matrix corresponding to transform units ranging from 8x8 size to 16x16 size.
  • at least one of decoding on whether the base matrix is used and decoding on the type of prediction decoding method may be performed.
  • the decoder restricts SizeID according to the difference between the maximum size and the minimum size of the transform unit to decode the quantization matrix, decode the information on whether the base matrix is used, and decode the information on the type of the predictive decoding method. At least one or more may be performed.
  • the decoder constrains SizeID according to the difference between the maximum and minimum sizes of the transform unit, as in the example of Table 10, so that only the transform units of a specific size (i.e., only for the specific sizes of the transform unit) At least one of decoding, decoding of information on whether to use the base matrix, and decoding of information on the type of the predictive decoding method may be performed.
  • At least one of decoding information about whether to use or decoding information about a type of a prediction decoding method may be performed.
  • a difference value between Log2MaxTrafoSize and Log2MinTrafoSize may be specified by log2_diff_max_min_transform_block_size as a difference value between the maximum size and the minimum size of the transform unit.
  • Log2MinTrafoSize-2 is the same as log2_min_transform_block_size_minus2.
  • use_default_scaling_list_flag may not be decrypted.
  • the degree of freedom in selecting the quantization matrix in the encoder becomes low.
  • encoding efficiency may be deteriorated because the base matrix must be encoded and sent.
  • a base matrix and a non-base matrix may be used in combination by size of a transform block or by type of a quantization matrix in a sequence, a picture, or a slice.
  • the decoder may decode whether the quantization matrix is decoded and whether the base matrix is used in the parameter set according to SizeID.
  • the decoder can decode sid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information specifying whether to decode a quantization matrix and use a default matrix, according to SizeID from an adaptation parameter set. For example, if the value of sid_use_default_scaling_list_flag [SizeID] [MatrixID] is 1, the decoder does not decode the quantization matrix corresponding to SizeID, and the coefficient values of the quantization matrix corresponding to SizeID are predetermined in the encoder and / or decoder.
  • the decoder decodes the quantization matrix corresponding to SizeID, and does not use the default matrix predetermined in the encoder and / or decoder as the quantization matrix corresponding to SizeID.
  • the decoder may decode whether the quantization matrix is decoded and whether the base matrix is used in the parameter set instead of SizeID.
  • the decoder can decode mid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information specifying whether to decode the quantization matrix and whether to use the default matrix, according to MatrixID. For example, if the value of mid_use_default_scaling_list_flag [SizeID] [MatrixID] is 1, the decoder does not decode the quantization matrix corresponding to MatrixID, and the coefficient value of the quantization matrix corresponding to MatrixID is the default matrix predetermined in the encoder and / or decoder. It can be determined to be equal to the coefficient value of.
  • the decoder decodes the quantization matrix corresponding to MatrixID, and does not use the default matrix predetermined in the encoder and / or decoder as the quantization matrix corresponding to MatrixID.
  • use_default_scaling_list_flag may not be decrypted.
  • the decoder may consider both SizeID and MatrixID, and may decode information about whether to decode a quantization matrix and whether to use a basic matrix from a parameter set according to SizeID and MatrixID. .
  • the decoder can decode sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID], that is, information specifying whether to decode the quantization matrix and use the default matrix according to SizeID and MatrixID from the adaptive parameter set. For example, if the value of sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID] is 1, the decoder does not decode the quantization matrix corresponding to SizeID and MatrixID, and the coefficient values of the quantization matrix corresponding to SizeID and MatrixID are transmitted to the encoder and / or decoder. It may be determined to be equal to a coefficient value of a predetermined base matrix.
  • the decoder decodes the quantization matrix corresponding to SizeID and MatrixID and does not use the default matrix predetermined in the encoder and / or decoder as the quantization matrix corresponding to SizeID and MatrixID. .
  • the decoder constrains SizeID according to the minimum and maximum sizes of the transform unit to decode the quantization matrix, decode the information on whether the base matrix is used, and decode the information on the type of the predictive decoding method. Perform at least one or more of decryption.
  • the decoder may decode information about whether the quantization matrix is decoded and information about whether or not the base matrix is used according to SizeID and MatrixID from the parameter set.
  • use_default_scaling_list_flag may not be decrypted.
  • the decoder constrains SizeID according to the difference between the maximum size and the minimum size of the size information of the transform unit to decode the quantization matrix, decode the information on whether or not to use the base matrix, and type of predictive decoding method. At least one or more of the decoding of the information may be performed.
  • the difference value between Log2MaxTrafoSize and Log2MinTrafoSize specifies the difference value between the maximum size and the minimum size of the transform unit, and is equal to log2_diff_max_min_transform_block_size
  • Log2MinTrafoSize-2 is equal to log2_min_transform_block_size_minus2.
  • the decoder may decode information about whether to decode the quantization matrix and whether to use the default matrix according to SizeID and MatrixID from a parameter set.
  • use_default_scaling_list_flag may not be decrypted.
  • the decoder may determine whether the quantization matrix information exists in the decoding object parameter set or whether to update the quantization matrix based on scaling_list_update_flag [SizeID] [MatrixID] in the parameter set. For example, scaling_list_update_flag [SizeID] [MatrixID] having a value of 1 indicates that quantization matrix information specified by SizeID and MatrixID exists in the decoding object parameter set, or corresponds to SizeID and MatrixID, Instructs to update the information with quantization matrix information corresponding to SizeID and MatrixID in the decoding object parameter set.
  • updating the information of the quantization matrix may mean replacing the information of the previously decoded quantization matrix with the quantization matrix information in the decoding object parameter set.
  • scaling_list_update_flag [SizeID] [MatrixID] having a value of 0 indicates that quantization matrix information corresponding to SizeID and MatrixID does not exist in the decoding object parameter set or does not update information of a previously decoded quantization matrix.
  • scaling_list_update_flag [SizeID] [MatrixID] is 0, since the quantization matrix information corresponding to SizeID and MatrixID does not exist in the parameter set and the quantization matrix information is not decoded, the decoder is specified by SizeID and MatrixID. It is not possible to know what quantization matrix information should be used for dequantization of coefficients of the quantization matrix.
  • scaling_list_update_flag [SizeID] [MatrixID] is 0, since the quantization matrix information corresponding to SizeID and MatrixID does not exist in the decoding target parameter set, the default matrix is used as the quantization matrix corresponding to SizeID and MatrixID or the quantization matrix is used. May not be indicated.
  • scaling_list_update_flag [SizeID] [MatrixID] is decoded according to SizeID and MatrixID corresponding to each transform unit size
  • the decoder decodes the quantization matrix and performs At least one of decoding information about whether to use or decoding information about a type of a prediction decoding method may be performed. If the value of scaling_list_update_flag [SizeID] [MatrixID] is 0, the decoder does not perform at least one of decoding the quantization matrix, decoding information on whether the base matrix is used, and decoding information on the type of prediction decoding method. . That is, the decoder may not decode the unnecessary quantization matrix as indicated by scaling_list_update_flag [SizeID] [MatrixID].
  • scaling_list_update_flag [SizeID] [MatrixID] is used to select a quantization matrix because the base matrix and non-base matrix cannot be used by the size of the transform block in the sequence, the picture or the slice, or the type of the quantization matrix.
  • SizeID and MatrixID the decoder can decode sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID], which is information about whether to decode the quantization matrix and whether to use the default matrix, in the parameter set.
  • sid_mid_use_default_scaling_list_flag [SizeID] [MatrixID] the decoder does not decode the quantization matrix specified by SizeID and MatrixID, and the coefficient values of the quantization matrix corresponding to SizeID and MatrixID are transmitted to the encoder and / or decoder. It is determined to be equal to the coefficient value of a predetermined base matrix.
  • the decoder decodes the quantization matrix specified by SizeID and MatrixID, and does not use the default matrix predetermined in the encoder and / or decoder as the quantization matrix corresponding to SizeID and MatrixID. Do not.
  • use_default_scaling_list_flag may not be decoded.
  • the decoder can decode whether the quantization matrix is decoded or whether the base matrix is used in the parameter set according to SizeID and MatrixID.
  • scaling_list_update_flag [SizeID] [MatrixID] on whether to update with quantization matrix information corresponding to SizeID and MatrixID may be used in the decoding object parameter.
  • the decoder decodes the quantization matrix corresponding to SizeID and MatrixID, and previously decoded SizeID and MatrixID. Instead of updating the quantization matrix corresponding to the quantization matrix corresponding to SizeID and MatrixID in the decoding object parameter, the quantization matrix corresponding to the previously decoded SizeID and MatrixID is used.
  • the decoder decodes the quantization matrix corresponding to SizeID and MatrixID, and previously decoded SizeID and MatrixID.
  • the quantization matrix corresponding to is updated with the quantization matrix corresponding to SizeID and MatrixID in the decoding object parameter.
  • the decoder does not decode the quantization matrix corresponding to SizeID and MatrixID, and decodes the coefficient value of the quantization matrix. It is determined to be equal to the coefficient value of the base matrix predetermined in the encoder and / or decoder, and is transferred without updating the previously decoded quantization matrix corresponding to SizeID and MatrixID to the quantization matrix corresponding to SizeID and MatrixID in the decoding object parameter.
  • a quantization matrix corresponding to the decoded SizeID and MatrixID is used.
  • the decoder does not decode the quantization matrix corresponding to SizeID and MatrixID and counts the coefficient value of the quantization matrix. Is determined to be equal to the coefficient value of the base matrix predetermined in the encoder and / or decoder, and updates the quantization matrix corresponding to the previously decoded SizeID and MatrixID to the quantization matrix corresponding to SizeID and MatrixID in the decoding object parameter.
  • the decoder may determine information about a type of the prediction decoding method for the quantization matrix by decoding information on the method of predicting and decoding the quantization matrix in a parameter set.
  • the decoder can decode pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, from an adaptation parameter set. For example, if the value of pred_mode_flag is 1, the decoder can decode the quantization matrix with exponential-Golomb code and inverse differential pulse code modulation (DPCM). If the value of pred_mode_flag is 0, the decoder can decode the coefficients of the quantization matrix previously. Determine the same value as the coefficient value of the decoded quantization matrix. In this case, the coefficient of the quantization matrix and the previously decoded quantization matrix coefficient values may be values in different quantization matrices, and the previously decoded quantization matrix may mean a reference quantization matrix.
  • pred_mode_flag that is, information about a method of predicting and
  • the decoder may decode the reference quantization matrix identifier of the decoding quantization matrix from the parameter set. As in the example of Table 18, the decoder may decode pred_matrix_id_delta, that is, the reference quantization matrix identifier of the decoding quantization matrix, from the adaptation parameter set. In this case, the decoder may determine RefMatrixID indicating the reference quantization matrix of the decoding target quantization matrix using pred_matrix_id_delta and Equation 16.
  • RefMatrixID MatrixID-(1 + pred_matrix_id_delta)
  • the decoder decodes a difference value between a coefficient value of a previously decoded quantization matrix and a coefficient value of a decoding target quantization matrix from a parameter set. can do.
  • the coefficient value of the previously decoded quantization matrix may be a coefficient value in the decoding target quantization matrix.
  • delta_coef which is the difference between the coefficient value of the previously decoded quantization matrix and the coefficient value of the decoding target quantization matrix, may be decoded from the adaptation parameter set.
  • the following method can be used to mix the basic quantization matrix and the non-basic quantization matrix in the sequence or picture or slice, it is possible to prevent receiving unnecessary quantization matrix.
  • the decoder may determine a reference quantization matrix identifier of the quantization matrix to be decoded from the parameter set. It can be decoded whether or not to use the base matrix using.
  • the decoder can decode pred_matrix_id_delta, that is, the reference quantization matrix identifier of the decoding quantization matrix, from the parameter set.
  • the decoder may determine the information RefMatrixID for specifying the reference quantization matrix or the base matrix of the decoding target quantization matrix and whether to use the default matrix using pred_matrix_id_delta and Equation 17.
  • RefMatrixID MatrixID-pred_matrix_id_delta
  • the coefficient value of the quantization matrix corresponding to SizeID and RefMatrixID is determined to be equal to the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • the default matrix means a default matrix corresponding to SizeID and RefMatrixID.
  • the quantization matrix corresponding to the RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the decoding quantization matrix is determined to be the same as the coefficient value of the reference quantization matrix.
  • the size of the quantization matrix corresponding to SizeID is included in the minimum size and the maximum size of the transform unit available in the decoder, it may be determined whether to use the reference quantization matrix and the default matrix of the decoding quantization matrix using the above method. If the size of the quantization matrix corresponding to SizeID is not included in the minimum size and the maximum size of the transform unit available in the decoder, the quantization matrix corresponding to SizeID may not be determined to be the same as the base matrix. The determining may be performed when SizeID is performed at least one of quantization matrix decoding, base matrix decoding, or prediction decoding method type decoding according to a difference between the maximum size and the minimum size of the transform unit size information. .
  • the decoder may also determine whether to use the quantization matrix and then decode information about whether the quantization matrix is used from the parameter set.
  • the decoder can decode scaling_list_enable_flag, which is information on whether to use a quantization matrix, in a parameter set. If the value of scaling_list_enable_flag is 1, the decoder can use a quantization matrix such as a base matrix or a non-base matrix for dequantization. If the value of scaling_list_enable_flag is 0, the decoder does not use a quantization matrix for dequantization or all coefficient values. This same quantization matrix can be used. At this time, all the coefficient values may be 16.
  • the decoder decodes the difference value between the coefficient value of the previously decoded quantization matrix and the coefficient value of the quantization matrix to be decoded from the parameter set. can do.
  • the coefficient value of the previously decoded quantization matrix may be a coefficient value in the decoding quantization matrix. That is, the previously decoded quantization matrix coefficient value and the coefficient value of the decoding target quantization matrix may be values in the same quantization matrix.
  • the decoder may decode delta_coef, which is a difference value between the coefficient value of the previously decoded quantization matrix and the coefficient value of the decoding target quantization matrix, in the parameter set. If, as in the example of Table 21, the coefficient value nextcoef of the quantization matrix is equal to (1) the specified value and (2) the first value of the quantization matrix using Equation 18, then the coefficient value of the quantization matrix is the encoder and / or the decoding. It may be determined to be equal to the coefficient value of the basic matrix predetermined in advance.
  • nextcoef (nextcoef + delta_coef + 256)% 256
  • the decoder may use the quantization matrix as the base matrix.
  • the specific value may be 0.
  • the default matrix may mean a default matrix specified by SizeID and MatrixID. Accordingly, if the quantization matrix coefficient value nextcoef is equal to 0 and the first value of the quantization matrix, the decoder may stop decoding the quantization matrix difference value for the corresponding quantization matrix.
  • the decoder can decode the difference value between the previously decoded quantization matrix coefficient value and the decoding target quantization matrix coefficient value in the parameter set.
  • the coefficient value of the previously decoded quantization matrix may be a coefficient value in the decoding quantization matrix. That is, the previously decoded quantization matrix coefficient value and the coefficient value of the decoding target quantization matrix may be values in the same quantization matrix.
  • the decoder may decode delta_coef, which is a difference value between the coefficient value of the previously decoded quantization matrix and the coefficient value of the decoding target quantization matrix, in the parameter set. For example, as shown in the example in Table 22, if the quantization matrix coefficient value nextcoef calculated using Equation 18, i.e. (nextcoef + delta_coef + 256)% 256 is equal to a certain value and is the first value of the quantization matrix, then the decoder The coefficient value may be determined to be equal to the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • nextcoef is (1) equal to a specific value and (2) the first value of the quantization matrix
  • the decoder can use the quantization matrix as the default matrix.
  • the specific value may be 0, and the coefficient value of the quantization matrix calculated as (nextcoef + delta_coef + 256)% 256 may be a coefficient value of a quantization matrix having a size of 4x4 or 8x8.
  • the first value of the quantization matrix may be a value using scaling_list_dc_coef_minus8, and a specific value may be a value corresponding to scaling_list_dc_coef_minus8 + 8.
  • scaling_list_dc_coef_minus8 may mean the first value of a quantization matrix having a size of 16x16 or 32x32, which may mean a DC matrix coefficient value.
  • scaling_list_dc_coef_minus8 [sizeID-2] [matrixID] may correspond to a DC matrix coefficient value of 16 ⁇ 16 size.
  • 16x16 may be the size of a transform block corresponding to the quantization matrix.
  • scaling_list_dc_coef_minus8 [sizeID-2] [matrixID] may correspond to a DC matrix coefficient value in a 32x32 quantization matrix.
  • 32x32 may be the size of a transform block corresponding to the quantization matrix.
  • the default matrix may mean a default matrix corresponding to SizeID and MatrixID.
  • the decoder may stop decoding the difference value (difference of coefficient values) of the quantization matrix for the corresponding quantization matrix.
  • the decoder may perform different decoding on whether to decode scaling_list_dc_coef_minus8, which is a DC matrix coefficient value, and whether to use a default matrix, according to the size or transform size of the quantization matrix.
  • a method of encoding / decoding a quantization matrix using a coefficient value of a quantization matrix to determine whether or not to use a base matrix has a disadvantage in that a complexity of encoding / decoding processes for quantization matrix coefficient values is increased.
  • the present invention can determine whether or not to use a default matrix by using a reference quantization matrix identifier in image encoding / decoding. Therefore, the complexity of the calculation can be reduced in the encoding / decoding process of the quantization matrix.
  • the decoder may decode information indicating the presence or absence of a quantization matrix in a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, from a parameter set. For example, if the value of scaling_list_present_flag is 0, this means that the quantization matrix does not exist. The quantization matrix is determined as the default quantization matrix. If the value of scaling_list_present_flag is 1, it means that the encoded quantization matrix exists.
  • the decoder may determine the type of the predictive decoding method of the quantization matrix by decoding information on the predictive decoding method of the quantization matrix from the parameter set.
  • the parameter set for decoding the information about the predictive decoding method may be an adaptive parameter set.
  • the decoder can decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, from a parameter set. For example, when scaling_list_pred_mode_flag is 1, the decoder decodes the quantization matrix by using an exponential-Golomb code and inverse DPCM and scanning to predict and decode coefficients in the quantization matrix.
  • Inter-quantization matrix prediction is performed by determining to have the same value as the coefficient value of the reference quantization matrix or by determining the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the base matrix.
  • determining to have the same value may mean applying a prediction method of a quantization matrix that copies coefficient values of a specific quantization matrix to coefficient values of a decoding target quantization matrix.
  • the decoder may determine whether to use the reference quantization matrix identifier and the base matrix of the quantization matrix to be decoded. Decrypt from the set.
  • the parameter set for decoding the information may be an adaptation parameter set.
  • the decoder can decode scaling_list_pred_matrix_id_delta, that is, information specifying whether to use the reference quantization matrix identifier of the decoding target quantization matrix and the base matrix from the parameter set.
  • the decoder may determine RefMatrixID indicating the reference quantization matrix or the base matrix of the decoding quantization matrix using scaling_list_pred_matrix_id_delta and Equation 19.
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta
  • the coefficient value of the decoding target quantization matrix corresponding to the sizeID and the matrixID may be determined to be the same as the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • the default matrix may be a default matrix corresponding to sizeID and matrixID. Referring to Equation 19, when the scaling_list_pred_matrix_id_delta value is 0, it means that the RefMatrixID value and the matrixID value are the same.
  • the decoder may determine the quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the decoding quantization matrix, and determine the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the reference quantization matrix. have. Determining the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the reference quantization matrix means that the reference quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the reference quantization matrix is decoded. It may mean that the prediction method of the quantization matrix is copied to the coefficient value of the matrix. At this point, the scaling_list_pred_matrix_id_delta value may be a positive integer value.
  • the decoder may determine the coefficient value of the quantization matrix previously decoded in the quantization matrix and the quantization matrix to be decoded.
  • the difference value between the coefficient values of can be decoded from the parameter set.
  • the parameter set at which the decoder decodes the difference value may be an adaptive parameter set.
  • the decoder can decode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, from the parameter set. Also, as in the example of Table 24, the decoder may decode scaling_list_delta_coef, that is, the difference between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the quantization matrix to be decoded, from the parameter set.
  • Tables 23 and 24 illustrate the case where the quantization matrix information is decoded in the adaptive parameter set.
  • the decoder includes a parameter set including at least one of another parameter set (sequence parameter set and picture parameter set). ) May decode the quantization matrix information.
  • coding efficiency may be reduced because unnecessary information is encoded / decoded when the quantization matrix is predicted.
  • the quantization matrix encoding / decoding may be performed differently according to the presence or absence of the reference quantization matrix, the coding efficiency may be improved when the quantization matrix is encoded / decoded.
  • the decoder may decode information representing the presence or absence of a quantization matrix from a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix exists in a bitstream from a parameter set. For example, if the value of scaling_list_present_flag is 0, this means that there is no quantization matrix and all quantization matrices are determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it means that the encoded quantization matrix is present.
  • the decoder may decode information about a method of predicting and decoding a quantization matrix from a parameter set and determine a type of a method of predicting and decoding a quantization matrix.
  • the parameter set for decoding the information about the predictive decoding method may be an adaptive parameter set.
  • the decoder can decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, when matrixID is greater than 0, as in the example of Table 25.
  • scaling_list_pred_mode_flag has a value of 1
  • the decoder can decode the coefficients in the quantization matrix by decoding the quantization matrix using an exponential-Golomb code, inverse DPCM, and scan
  • scaling_list_pred_mode_flag has a value of 0.
  • the decoder may determine the coefficient value of the decoding quantization matrix to have the same value as the coefficient value of the reference quantization matrix to perform inter-quantization matrix prediction.
  • determining to have the same value may mean applying a prediction method of the quantization matrix that copies the coefficient value of the reference quantization matrix to the coefficient value of the decoding target quantization matrix.
  • the prediction decoding method of the decoded quantization matrix is a method of performing inter-quantization prediction by determining the quantization matrix to be the same as the reference quantization matrix.
  • the decoder sets a reference quantization matrix identifier of the decoding quantization matrix to a parameter set.
  • the parameter set for decoding the reference quantization matrix identifier may be an adaptation parameter set.
  • the decoder may decode scaling_list_pred_matrix_id_delta, that is, the reference quantization matrix identifier of the decoding quantization matrix, from the parameter set.
  • RefMatrixID indicating the reference quantization matrix of the decoding target quantization matrix may be determined using scaling_list_pred_matrix_id_delta and Equation 20.
  • RefMatrixID matrixID-(1 + scaling_list_pred_matrix_id_delta)
  • matrixID having a value of 0 indicates the first quantization matrix for each sizeID.
  • the prediction of the quantization matrix is possible only from a previously decoded quantization matrix having the same sizeID, and since the first quantization matrix for each sizeID does not have a reference quantization matrix having the same sizeID value, the quantization matrix prediction of the quantization matrix is performed in the same manner as the matrix copying. It can't be done.
  • the decoder decodes scaling_list_pred_matrix_id_delta, which is a reference quantization matrix identifier, and determines the quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the decoding quantization matrix, and uses the coefficient value of the decoding quantization matrix as the reference quantization matrix. It can be determined equal to the coefficient value of. Determining the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the reference quantization matrix means that the reference quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the reference quantization matrix is decoded. It may mean that the prediction method of the quantization matrix is copied to the coefficient value of the matrix.
  • the decoder may determine a coefficient value and a decoding target of a quantization matrix previously decoded in the quantization matrix.
  • the difference value between the coefficient values of the quantization matrix can be decoded from the parameter set.
  • the parameter set for decoding the difference value may be an adaptive parameter set.
  • the decoder can decode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, from the parameter set. Also, as in the example of Table 26, the decoder may decode scaling_list_delta_coef, that is, a difference value between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the quantization matrix to be decoded, from the parameter set.
  • the decoder may determine whether to use the default matrix by using scaling_list_delta_coef used to calculate scaling_list_dc_coef_minus8 or nextCoef. For example, if scaling_list_dc_coef_minus8 is decoded to -8, the decoder can determine the corresponding quantization matrix as the base matrix. If the first nextCoef value calculated by decoding scaling_list_delta_coef is 0, the decoder can determine the quantization matrix as the base matrix. have.
  • the encoding / decoding method of the quantization matrix which determines whether the base matrix is used using the coefficient values of the quantization matrix, has the disadvantage of increasing the complexity of the encoding / decoding process for the coefficient values of the quantization matrix. .
  • coding efficiency is reduced because unnecessary information is encoded / decoded during quantization matrix prediction.
  • it is possible to determine whether to use a base matrix by using a reference quantization matrix identifier in image encoding / decoding, thereby reducing computational complexity when encoding / decoding a quantization matrix, and encoding a quantization matrix according to whether a reference quantization matrix exists. Since / decoding can be performed differently, encoding efficiency can be improved when encoding / decoding a quantization matrix.
  • the decoder may first decode information indicating the presence or absence of a quantization matrix from a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, from a parameter set. For example, if the value of scaling_list_present_flag is 0, the quantization matrix does not exist, and all quantization matrices are determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it is determined that the encoded quantization matrix exists.
  • the decoder may decode information about a method of predicting and decoding a quantization matrix from a parameter set to determine a type of a method of predicting and decoding a quantization matrix.
  • the parameter set for decoding information on the prediction decoding method may be an adaptive parameter set.
  • the decoder may decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, as in the example of Table 27 from a parameter set. For example, if scaling_list_pred_mode_flag is 1, the decoder predicts and decodes the coefficients in the quantization matrix by decoding the quantization matrix using an exponential-Golomb code, inverse DPCM, and scan.
  • the inter-quantization matrix prediction may be performed by determining to have the same value as the coefficient value of the reference quantization matrix or by determining the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the base matrix.
  • determining to have the same value may mean that a quantization matrix prediction method of copying coefficient values of a specific quantization matrix into coefficient values of a decoding target quantization matrix is applied.
  • the decoding method is a method of determining the same as a reference quantization matrix or a base matrix for inter-quantization prediction.
  • matrixID is greater than 0
  • the decoder determines that the reference quantization matrix identifier and the base matrix of the decoding quantization matrix Whether or not to use can be decoded from the parameter set.
  • the parameter set in which the reference quantization matrix identifier and the basic matrix are decoded may be an adaptive parameter set.
  • the decoder may decode scaling_list_pred_matrix_id_delta, that is, information about whether to use the reference quantization matrix identifier and the base matrix of the quantization matrix to be decoded, from the parameter set.
  • RefMatrixID indicating a reference quantization matrix or a base matrix of the decoding quantization matrix may be determined using scaling_list_pred_matrix_id_delta and Equation 21.
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta
  • the coefficient value of the quantization matrix to be decoded corresponding to the sizeID and the matrixID is determined to be the same as the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • the default matrix means a default matrix corresponding to sizeID and matrixID. According to Equation 21, when the scaling_list_pred_matrix_id_delta value is 0, it means that the RefMatrixID value and the matrixID value are the same.
  • the quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the decoding quantization matrix is determined to be the same as the reference quantization matrix coefficient value.
  • Determining the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the reference quantization matrix means that the reference quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the reference quantization matrix is decoded. It may mean that a quantization matrix prediction method of copying the coefficient values of the matrix is applied.
  • the prediction decoding method of the quantization matrix is a method of determining the quantization matrix to be the same as the previously decoded quantization matrix, and the prediction of the quantization matrix is performed from a previously decoded quantization matrix having the same sizeID. It becomes possible.
  • the decoder infers the value of scaling_list_pred_matrix_id_delta to 0 without decoding scaling_list_pred_matrix_id_delta. If the value of scaling_list_pred_matrix_id_delta is 0, the RefMatrixID value is equal to the matrixID value.
  • the coefficient value of the quantization matrix to be decoded corresponding to sizeID and matrixID is determined to be equal to the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • the default matrix means a default matrix corresponding to sizeID and matrixID.
  • the decoder may decode the coefficient values of the quantization matrix previously decoded in the quantization matrix and the object to be decoded.
  • the difference value between the coefficient values of the quantization matrix can be decoded from the parameter set.
  • the parameter set for decoding the difference value may be an adaptive parameter set.
  • the decoder can decode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, from the parameter set.
  • the decoder may decode scaling_list_delta_coef, which is a difference value between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the decoding target quantization matrix, from the parameter set.
  • the conventional quantization matrix encoding / decoding encodes / decodes all coefficients and DC matrix coefficients in the matrix during transmission of the quantization matrix, since the encoding is not performed because the prediction matrix is not encoded / decoded on the DC matrix coefficients.
  • prediction encoding / decoding of DC matrix coefficients in a quantization matrix can be performed, thereby improving coding efficiency.
  • the embodiments of Tables 29 and 30 can improve the coding efficiency by predicting the DC matrix coefficients from the surrounding AC coefficients using a high correlation between the peripheral coefficients without predicting the DC matrix coefficients from the constant 8.
  • the embodiments of Tables 29 and 30 by matching the encoding / decoding order of the quantization matrix with the reconstruction order of the quantization matrix, it is possible to save memory space for storing DC matrix coefficients.
  • the embodiments of Tables 29 and 30 may use a syntax element of scaling_list_delta_coef without using various syntax elements when indicating whether to use a default matrix.
  • the decoder may decode information indicating the presence or absence of a quantization matrix in a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, from a parameter set. At this time, if the value of scaling_list_present_flag is 0, the quantization matrix does not exist and all quantization matrices are determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it is determined that the encoded quantization matrix exists.
  • the decoder may determine the type of the predictive decoding method of the quantization matrix by decoding information on the predictive decoding method of the quantization matrix from the parameter set.
  • the parameter set for decoding the information about the decoding prediction method may be an adaptive parameter set.
  • the decoder may decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, as in the example of Table 29 from a parameter set. For example, if scaling_list_pred_mode_flag is 1, the decoder can predict and decode coefficients in the quantization matrix using exponential-Golomb code, inverse DPCM, and scan. If scaling_list_pred_mode_flag is 0, the decoder refers to coefficient values of quantization matrix to be decoded.
  • the inter-quantization matrix prediction may be performed by determining to have the same value as the coefficient value of the quantization matrix. Here, determining to have the same value may mean applying a prediction method of the quantization matrix that copies the coefficient value of the reference quantization matrix to the coefficient value of the decoding target quantization matrix.
  • the decoder may decode the reference quantization matrix identifier of the quantization matrix to be decoded in the parameter set.
  • the parameter set for decoding the reference quantization matrix identifier may be an adaptation parameter set.
  • the decoder may decode scaling_list_pred_matrix_id_delta, that is, a reference quantization matrix identifier of a decoding target quantization matrix, from a parameter set.
  • RefMatrixID indicating the reference quantization matrix of the decoding quantization matrix may be determined using scaling_list_pred_matrix_id_delta and Equation 22.
  • RefMatrixID matrixID-(1 + scaling_list_pred_matrix_id_delta)
  • the decoder may determine the quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the decoding target quantization matrix, and determine the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the reference quantization matrix. Determining the coefficient value of the decoding quantization matrix equal to the reference quantization matrix coefficient value includes determining a reference quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the decoding quantization matrix, and determining the coefficient value of the reference quantization matrix as the decoding quantization matrix. It may mean that the quantization matrix prediction method of copying the coefficient value of the to is applied.
  • the decoder may determine the coefficient values of the quantization matrix previously decoded in the quantization matrix and the object to be decoded.
  • the difference value between the coefficient values of the quantization matrix can be decoded from the parameter set.
  • the parameter set from which the difference value is decoded may be an adaptive parameter set.
  • the decoder may decode scaling_list_delta_coef, that is, the difference between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the decoding target quantization matrix, from the parameter set.
  • the decoder may determine whether to use the default matrix by using scaling_list_delta_coef used to calculate nextCoef. That is, when the first nextCoef value calculated by decoding scaling_list_delta_coef is 0, the decoder may determine the corresponding quantization matrix as the default matrix.
  • the decoder can decode scaling_list_dc_coef_res, that is, the difference between coefficient values of the quantization matrix corresponding to the DC matrix coefficients, from the parameter set.
  • the DC matrix coefficients may be calculated using the sum of the scaling_list_dc_coef_res value and the matrix coefficients present at the DC position as shown in Equation 23.
  • ScalingFactor [2] means a 16x16 quantization matrix
  • ScalingFactor [3] means a 32x32 quantization matrix
  • ScalingFactor [2] [matrixID] [0] [0] refers to DC matrix coefficients in the quantization matrix of size 16x16 corresponding to matrixID
  • ScalingFactor [3] [matrixID] [0] [0] corresponds to matrixID.
  • the encoding / decoding method of the quantization matrix that determines the use of the base matrix using coefficient values of the quantization matrix has a disadvantage of increasing the complexity of the encoding / decoding process for the coefficient values of the quantization matrix.
  • all coefficients and DC matrix coefficients in the matrix are encoded / decoded.
  • there is a limitation in improving coding efficiency because the prediction matrix is not encoded or decoded with respect to the DC matrix coefficients.
  • the DC matrix coefficients of the matrix may be predicted from the peripheral AC coefficients by using a high correlation between the peripheral coefficients rather than predicted from the constant 8, thereby improving the coding efficiency.
  • the encoding / decoding order of the quantization matrix and the reconstruction order of the quantization matrix can be matched, thereby saving memory space for storing DC matrix coefficients.
  • a syntax element of scaling_list_delta_coef may be used without indicating various syntax elements when indicating whether to use a default matrix.
  • the decoder may decode information representing the presence or absence of a quantization matrix from a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, from a parameter set. At this time, if the value of scaling_list_present_flag is 0, the quantization matrix does not exist and all quantization matrices are determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it is determined that the encoded quantization matrix exists.
  • the decoder may determine the type of the predictive decoding method for the quantization matrix by decoding information about the predictive decoding method of the quantization matrix from the parameter set.
  • the parameter set for decoding the information about the predictive decoding method may be an adaptive parameter set.
  • the decoder can decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, as in the example of Table 31, in a parameter set.
  • scaling_list_pred_mode_flag that is, information about a method of predicting and decoding a quantization matrix, as in the example of Table 31, in a parameter set.
  • the quantization matrix can be decoded using exponential-Golomb code and inverse DPCM and scan to predict and decode coefficients in the quantization matrix.
  • the quantization matrix is For prediction, the coefficient value of the decoding quantization matrix may be determined to have the same value as the coefficient value of the reference quantization matrix, or the coefficient value of the decoding quantization matrix may be determined to be the same as the coefficient value of the base matrix. In this case, the determination to have the same value may mean that a quantization matrix prediction method of copying a specific quantization matrix coefficient value to a decoding target quantization matrix coefficient value is applied.
  • the decoder determines whether to use the reference quantization matrix identifier and the base matrix of the quantization matrix to be decoded.
  • the decoded parameter set may be an adaptive parameter set.
  • the decoder may decode scaling_list_pred_matrix_id_delta, that is, information about whether to use a reference quantization matrix identifier and a base matrix of a quantization matrix to be decoded, from a parameter set.
  • RefMatrixID indicating a reference quantization matrix or a base matrix of the quantization matrix to be decoded is determined using scaling_list_pred_matrix_id_delta and Equation 24.
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta
  • the coefficient value of the decoding target quantization matrix corresponding to the sizeID and the matrixID may be determined to be the same as the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • the default matrix means a default matrix corresponding to sizeID and matrixID.
  • the scaling_list_pred_matrix_id_delta value is 0 in Equation 24, it means that the RefMatrixID value and the matrixID value are the same.
  • the decoder can determine the coefficient values of the previously decoded quantization matrix in the quantization matrix. And a difference value between the coefficient value of the quantization matrix to be decoded may be decoded in the parameter set.
  • the parameter set for decoding the difference value may be an adaptive parameter set.
  • the decoder may decode scaling_list_delta_coef, that is, a difference value between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the quantization matrix to be decoded, in the parameter set.
  • the decoder can decode scaling_list_dc_coef_res, which is a difference between coefficient values of a quantization matrix corresponding to DC matrix coefficients, into a parameter set.
  • the DC matrix coefficients can be calculated using the sum of the scaling_list_dc_coef_res value and the coefficients of the matrix present at the DC position as shown in Equation 25. .
  • ScalingFactor [2] means a 16x16 quantization matrix
  • ScalingFactor [3] means a 32x32 quantization matrix
  • ScalingFactor [2] [matrixID] [0] [0] means the DC matrix coefficients in the 16x16 quantization matrix corresponding to the corresponding matrixID
  • ScalingFactor [3] [matrixID] [0] [0] corresponds to the corresponding matrixID.
  • the conventional quantization matrix encoding / decoding performs quantization matrix copy using the size of the quantization matrix during quantization and inverse quantization, not the size of the quantization matrix during encoding / decoding. Therefore, since the quantization matrix can only be copied from a limited number of quantization matrices, there is a limitation in encoding encoding efficiency of the quantization matrix. In the present invention, since the quantization matrix may be predicted from the quantization matrix having the same size as that of the quantization matrix during encoding / decoding, the encoding efficiency and the degree of freedom of prediction of the quantization matrix may be increased.
  • the decoder may decode information representing the presence or absence of a quantization matrix from a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, from a parameter set. For example, if the value of scaling_list_present_flag is 0, the quantization matrix does not exist, and all quantization matrices are determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it is determined that the encoded quantization matrix exists.
  • the decoder may determine the type of the predictive decoding method of the quantization matrix by decoding information on the predictive decoding method of the quantization matrix in a parameter set.
  • the parameter set for decoding the information about the predictive decoding method may be an adaptive parameter set.
  • the decoder can decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, from a parameter set. For example, if the value of scaling_list_pred_mode_flag is 1, the quantization matrix is decoded using exponential-Golomb code, inverse DPCM and scan to predict and decode coefficients in the quantization matrix. If the value of scaling_list_pred_mode_flag is 0, decoding is performed for inter-quantization matrix prediction. The target quantization matrix coefficient value is determined to have the same value as the reference quantization matrix coefficient value. In this case, determining to have the same value may mean that the quantization matrix prediction method of copying the reference quantization matrix coefficient value to the decoding target quantization matrix coefficient value is applied.
  • the decoder may decode the reference quantization matrix identifier of the quantization matrix to be decoded from the parameter set.
  • the reference quantization matrix identification information may include at least one of the size of the reference quantization matrix of the decoding target quantization matrix and the reference quantization matrix.
  • the parameter set for decoding the reference quantization matrix identifier may be an adaptation parameter set.
  • the decoder may decode scaling_list_pred_size_matrix_id_delta, that is, reference quantization matrix identification information of the decoding target quantization matrix, from a parameter set.
  • RefSizeID which is the size of the reference quantization matrix of the decoding quantization matrix
  • RefMatrixID indicating the reference quantization matrix
  • RefSizeID sizeID-(scaling_list_pred_size_matrix_id_delta / 6)
  • RefMatrixID scaling_list_pred_size_matrix_id_delta% 6
  • the decoder may decode scaling_list_pred_size_id_delta and scaling_list_pred_size_matrix_id_delta, which are identification information about a reference quantization matrix, of a decoding target quantization matrix from a parameter set.
  • RefSizeID may be determined using the value of scaling_list_pred_size_id_delta and Equation 27, and RefMatrixID indicating the reference quantization matrix of the decoding quantization matrix may be determined using scaling_list_pred_matrix_id_delta and Equation 28.
  • RefSizeID sizeID-scaling_list_pred_size_id_delta
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta
  • the coefficient value of the quantization matrix to be decoded may be equally determined from the coefficient value of the reference quantization matrix whose sizeID is equal to RefSizeID and the matrixID is RefMatrixID. That is, the decoder can copy the reference quantization matrix to the decoding target quantization matrix. Determining the coefficient value of the decoding quantization matrix to be the same as the reference quantization matrix coefficient value means that the reference quantization matrix corresponding to RefSizeID and RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the reference quantization matrix is decoded. It may mean that the prediction method of the quantization matrix is copied to the coefficient value of the quantization matrix.
  • scaling_list_pred_size_matrix_id_delta value may be restricted to values within a specific range.
  • scaling_list_pred_size_matrix_id_delta may have a value between 0 and 17
  • scaling_list_pred_size_id_delta has a value between 0 and 2
  • scaling_list_pred_matrix_id_delta may have a value between 0 and 5.
  • the decoder may not predict the decoding target quantization matrix from the quantization matrix having a larger size than the decoding target quantization matrix.
  • the decoder determines a value corresponding to the DC matrix coefficient position in the quantization matrix having a size of 8x8 as the DC matrix coefficient. Predict the value of the location.
  • the decoder may also predict the DC matrix coefficients.
  • the decoder may calculate coefficient values of the quantization matrix previously decoded in the quantization matrix. And the difference value between the coefficient value of the quantization matrix to be decoded can be decoded from the parameter set.
  • the parameter set for decoding the difference value may be an adaptive parameter set.
  • the decoder can decode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, in the parameter set.
  • the decoder may decode scaling_list_delta_coef, that is, the difference between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the quantization matrix to be decoded, from the parameter set.
  • the decoder may determine whether to use the default matrix by using scaling_list_delta_coef used to calculate scaling_list_dc_coef_minus8 or nextCoef. That is, if the value of scaling_list_dc_coef_minus8 is decoded to -8, the corresponding quantization matrix may be determined as the base matrix. If the first nextCoef value calculated by decoding scaling_list_delta_coef is 0, the corresponding quantization matrix may be determined as the default matrix.
  • the complexity of encoding / decoding the coefficient values of the matrix is increased. Since the quantization matrix copy is performed using the size of the quantization matrix and the inverse quantization, not the size of the quantization matrix during decoding, the quantization matrix is copied from a limited number of quantization matrices. In the present invention, it is possible to determine whether or not to use a base matrix using a reference quantization matrix identifier, thereby reducing computational complexity when encoding / decoding a quantization matrix. In the present invention, since the quantization matrix can be predicted from the quantization matrix having the same size as that of the quantization matrix at the time of encoding / decoding, the coding efficiency can be improved and the degree of freedom of quantization matrix prediction can be increased.
  • the decoder may decode information indicating the presence or absence of a quantization matrix in a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, as in the examples of Tables 36 and 37, from a parameter set. For example, if the value of scaling_list_present_flag is 0, the quantization matrix does not exist and all quantization matrices may be determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it may be determined that the encoded quantization matrix exists.
  • the predictive decoding method information of the quantization matrix may be decoded in a parameter set to determine the type of the predictive decoding method of the quantization matrix.
  • the parameter set may be an adaptation parameter set.
  • the decoder can decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, in a parameter set. If the value of scaling_list_pred_mode_flag is 1, the decoder can decode the quantization matrix using exponential-Golomb code, inverse DPCM, and scan to predict and decode the coefficients in the quantization matrix. If scaling_list_pred_mode_flag is 0, the decoder is between quantization matrices. For prediction, the decoding target quantization matrix coefficient value may be determined to have the same value as the reference quantization matrix coefficient value, or the decoding target quantization matrix coefficient value may be determined to be equal to the basic matrix coefficient value. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying a specific quantization matrix coefficient value to a decoding target quantization matrix coefficient value is applied.
  • the decoder determines whether a reference quantization matrix identifier and a base matrix of the quantization matrix to be decoded are used. Can be decoded in a parameter set.
  • the reference quantization matrix identification information may include at least one of a reference quantization matrix size and a reference quantization matrix of the decoding target quantization matrix.
  • the parameter set to be complexed may be an adaptation parameter set.
  • the decoder can decode scaling_list_pred_size_matrix_id_delta, that is, information about whether to use a reference quantization matrix identifier and a base matrix of the quantization matrix to be decoded, from a parameter set.
  • RefSizeID and RefMatrixID indicating the reference quantization matrix may be determined using scaling_list_pred_size_matrix_id_delta and Equation 29.
  • RefSizeID sizeID-(scaling_list_pred_size_matrix_id_delta / 6)
  • RefMatrixID scaling_list_pred_size_matrix_id_delta% 6
  • the decoder may decode scaling_list_pred_size_id_delta and scaling_list_pred_size_matrix_id_delta, that are information about whether to use the reference quantization matrix identifier and the base matrix of the quantization matrix to be decoded, from the parameter set.
  • RefSizeID may be determined using scaling_list_pred_size_id_delta and Equation 30
  • RefMatrixID indicating a reference quantization matrix or a base matrix of the decoding quantization matrix may be determined using scaling_list_pred_matrix_id_delta and Equation 31.
  • RefSizeID sizeID-scaling_list_pred_size_id_delta
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta
  • the coefficient value of the decoding target quantization matrix corresponding to the sizeID and the matrixID may be determined to be the same as the coefficient value of the base matrix predetermined in the encoder and / or the decoder.
  • the default matrix means a default matrix corresponding to sizeID and matrixID.
  • the scaling_list_pred_matrix_id_delta value is 0 in Equation 31, it means that the RefMatrixID value and the matrixID value are the same.
  • the quantization matrix corresponding to RefSizeID and RefMatrixID may be determined as a reference quantization matrix of the decoding quantization matrix, and the decoding quantization matrix coefficient value may be determined to be the same as the reference quantization matrix coefficient value. Determining the decoding quantization matrix coefficient value equal to the reference quantization matrix coefficient value means that the reference quantization matrix corresponding to RefSizeID and RefMatrixID is determined as the reference quantization matrix of the decoding quantization matrix, and the coefficient value of the reference quantization matrix is decoded. It may mean that a quantization matrix prediction method of copying the coefficient values of the matrix is applied.
  • scaling_list_pred_size_matrix_id_delta value, scaling_list_pred_size_id_delta value, and scaling_list_pred_matrix_id_delta value may be limited to the measured range.
  • scaling_list_pred_size_matrix_id_delta may have a value between 0 and 17
  • scaling_list_pred_size_id_delta has a value between 0 and 2
  • scaling_list_pred_matrix_id_delta may have a value between 0 and 5.
  • the decoder may not predict from the quantization matrix having a larger size than the decoding target quantization matrix.
  • the decoder may determine a value corresponding to a DC matrix coefficient position in a quantization matrix having an 8x8 size as a DC matrix coefficient and predict the value of the position.
  • the decoder can also predict the DC matrix coefficients.
  • the decoder may calculate coefficient values of the quantization matrix previously decoded in the quantization matrix. And a difference value between the coefficient value of the quantization matrix to be decoded may be decoded in the parameter set.
  • the parameter set for decoding the difference value may be an adaptive parameter set.
  • the decoder can decode scaling_list_dc_coef_minus8, which is a DC matrix coefficient, from the parameter set.
  • the decoder may decode scaling_list_delta_coef, that is, the difference value between the coefficient value of the quantization matrix previously decoded in the quantization matrix and the coefficient value of the decoding target quantization matrix, in the parameter set.
  • the coefficients of the quantization matrix are encoded without considering the coefficient values that frequently occur during the encoding / decoding of the first coefficient in the quantization matrix.
  • the encoding efficiency can be improved because the prediction encoding / decoding of the first coefficient in the quantization matrix can be performed using frequently occurring coefficient values. If the first coefficient value or DC matrix coefficient value of the base matrix is defined as 16, or the first coefficient value or DC matrix coefficient value of the non-base matrix is distributed based on 16, the first coefficient value in the encoding / decoding quantization matrix Encoding / decoding the first coefficient value or the DC matrix coefficient value from the constant 16 may help to improve encoding efficiency.
  • the decoder may decode information representing the presence or absence of a quantization matrix from a parameter set.
  • the decoder can decode scaling_list_present_flag, that is, information indicating whether a quantization matrix is present in the bitstream, from a parameter set. For example, if the value of scaling_list_present_flag is 0, the quantization matrix does not exist and all quantization matrices may be determined as the basic quantization matrix. If the value of scaling_list_present_flag is 1, it may be determined that the encoded quantization matrix exists.
  • the decoder may determine the type of the prediction decoding method for the quantization matrix by decoding the information on the prediction decoding method of the quantization matrix from the parameter set.
  • the parameter set for decoding the information about the prediction encoding method may be an adaptive parameter set.
  • the decoder can decode scaling_list_pred_mode_flag, that is, information about a method of predicting and decoding a quantization matrix, from a parameter set. If the value of scaling_list_pred_mode_flag is 1, the decoder decodes the quantization matrix using exponential-Golomb code, inverse DPCM, and scan to predict and decode the coefficients in the quantization matrix. If scaling_list_pred_mode_flag is 0, the decoder decodes the interquantization matrix prediction. For example, the coefficient value of the quantization matrix to be decoded may be determined to have the same value as that of the reference quantization matrix. In this case, determining to have the same value may mean that a quantization matrix prediction method of copying coefficient values of the reference quantization matrix to coefficient values of the decoding target quantization matrix is applied.
  • the decoder may decode the reference quantization matrix identifier of the decoding quantization matrix from the parameter set.
  • the parameter set for decoding the reference quantization matrix identifier may be an adaptation parameter set.
  • the decoder may decode scaling_list_pred_matrix_id_delta, that is, the reference quantization matrix identifier of the decoding quantization matrix, in the parameter set.
  • RefMatrixID indicating the reference quantization matrix of the decoding target quantization matrix may be determined using scaling_list_pred_matrix_id_delta and Equation 32.
  • RefMatrixID matrixID-(1 + scaling_list_pred_matrix_id_delta)
  • the decoder may determine the quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the decoding target quantization matrix, and determine the coefficient value of the decoding quantization matrix to be the same as the coefficient value of the reference quantization matrix. Determining the decoding quantization matrix coefficient value equal to the reference quantization matrix coefficient value includes determining a reference quantization matrix corresponding to RefMatrixID as the reference quantization matrix of the decoding quantization matrix, and determining the coefficient value of the reference quantization matrix as the reference quantization matrix. It may mean that a quantization matrix prediction method of copying coefficient values is applied.
  • the decoder can determine the coefficient values of the previously decoded quantization matrix in the quantization matrix. And the difference value between the coefficient value of the quantization matrix to be decoded can be decoded from the parameter set.
  • the parameter set from which the difference value is decoded may be an adaptive parameter set.
  • the decoder can decode scaling_list_delta_coef, that is, the difference between the quantization matrix coefficient value previously decoded in the quantization matrix and the quantization matrix coefficient value to be decoded, from the parameter set.
  • scaling_list_dc_coef_minus16 which is the coefficient value of the quantization matrix corresponding to the DC matrix coefficients, from the parameter set.
  • a value of scaling_list_dc_coef_minus16 means a DC matrix coefficient calculated by using a prediction value of 16.
  • the decoder may determine whether to use the default matrix by using scaling_list_delta_coef used to calculate scaling_list_dc_coef_minus16 or nextCoef. For example, if the value of scaling_list_dc_coef_minus16 is decoded to -16, the corresponding quantization matrix may be determined as the base matrix. If the first nextCoef value calculated by decoding scaling_list_delta_coef is 0, the corresponding quantization matrix may be determined as the base matrix.
  • nextCoef may be set to 16, and the value of scaling_list_dc_coef_minus16 may mean a DC matrix coefficient calculated with a prediction value of 16, and the value of scaling_list_dc_coef_minus16 is-.
  • the decoder may determine the corresponding quantization matrix as a base matrix.
  • Tables 18 and 19 Tables 20 and 21, Tables 23 and 24, Tables 25 and 26, Tables 27 and 28, Tables 29 and 30, and Tables
  • the syntax of the syntax structure according to the present invention is divided into two tables in the examples of 31 and 32, the examples of Table 33 and 34, the examples of Table 36 and 38, the examples of Table 37 and 38, and the examples of Table 39 and 40. Although examples have been described, this is for convenience of description, and the present invention is not limited thereto.
  • scaling_list_pred_mode_flag indicates a prediction method of the quantization matrix. If the value of scaling_list_pred_mode_flag is 0, the quantization matrix is obtained by copying the matrix. When scaling_list_pred_mode_flag is 1, the matrix coefficient is transferred in the quantization matrix. A quantization matrix is obtained by predicting the matrix coefficients.
  • scaling_list_pred_mode_flag 1
  • the quantization matrix syntax that is, the syntax of the scaling list (scaling_list) is called to obtain a quantization matrix, but this can be solved in one syntax.
  • configuring two or more syntax structures into one syntax structure having the same meaning does not change the content of the present invention, but falls within the scope of the technical idea of the present invention.
  • Table 41 configures the example of Table 23 and Table 24 by one syntax structure.
  • the quantization matrix information of Table 41 may encode quantization matrix information in a parameter set including at least one of a sequence parameter set and a picture parameter set in an encoder, and the sequence parameter set and picture parameter in a decoder. Quantization matrix information may be decoded in a parameter set including at least one of the set.
  • the encoder may indicate the prediction mode of the matrix through scaling_list_pred_mode_flag as shown in Table 41. For example, when copying between quantization matrices is performed, the value of scaling_list_pred_mode_flag is determined and encoded as 0. When coefficient predictive coding of the matrix is performed in the quantization matrix, scaling_list_pred_mode_flag is determined as 1 and encoded.
  • Copying a quantization matrix means that the basic quantization matrix is used as the encoding target quantization matrix or the reference quantization matrix is used as the encoding target quantization matrix as described above.
  • the method of predicting the coefficients of the matrix means a method of predictively encoding the coefficients in the quantization matrix.
  • the value of scaling_list_pred_matrix_id_delta may be determined as 0 and encoded. That is, the current encoding target quantization matrix is inferred among the basic quantization matrices.
  • the basic quantization matrix can be specified by Tables 7 and 8.
  • scaling_list_pred_matrix_id_delta When the current encoding target quantization matrix is determined from the reference quantization matrix, the value of scaling_list_pred_matrix_id_delta may be determined as a non-zero value and encoded. That is, the current encoding target quantization matrix (ScalingList) is determined from the reference quantization matrix as shown in Equation 33.
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta [sizeID] [matrixID]
  • ScalingList [sizeID] [matrixID] [i] ScalingList [sizeID] [RefMatrixId] [i]
  • the scaling_list_pred_matrix_id_delta value is specified by sizeID and matrixID, and the index i specifies the position of the coefficient in the quantization matrix.
  • inverse quantization may be performed by decoding the syntax elements of Table 41 from the bitstream and thereby reconstructing the image.
  • the decoder may determine the prediction mode of the matrix according to the received scaling_list_pred_mode_flag. For example, when the value of scaling_list_pred_mode_flag is 0, interquantization matrix copying is performed. When the value of scaling_list_pred_mode_flag is 1, matrix coefficients can be predicted in the quantization matrix. This allows the decoder to obtain a (de) quantization matrix to be used for inverse quantization.
  • a quantization matrix both the encoding target quantization matrix and the decoding target quantization matrix applied to the inverse quantization may be referred to as a quantization matrix, but this is for convenience of description.
  • An inverse relationship may be established between a matrix applied to quantization and a matrix applied to inverse quantization, and a quantization matrix used for inverse quantization may be referred to as a scaling list.
  • Copying the quantization matrix means determining the base quantization matrix as the decoding target quantization matrix or the reference quantization matrix as the decoding target quantization matrix as described above.
  • the method of predicting the coefficients of the matrix means a method of predicting and decoding the coefficients in the quantization matrix.
  • the decoder specifies a reference quantization matrix or a basic quantization matrix used to derive the current decoding target quantization matrix.
  • the decoder may determine the decoding target quantization matrix as a basic quantization matrix. That is, the current decoding target quantization matrix may be estimated among the basic quantization matrices.
  • the basic quantization matrix can be specified by Tables 7 and 8.
  • the decoder may determine the current decoding target quantization matrix from the reference quantization matrix. That is, the current decoding target quantization matrix (ScalingList) may be determined from the reference quantization matrix as shown in Equation 34.
  • RefMatrixID matrixID-scaling_list_pred_matrix_id_delta [sizeID] [matrixID]
  • ScalingList [sizeID] [matrixID] [i] ScalingList [sizeID] [RefMatrixId] [i]
  • the scaling_list_pred_matrix_id_delta value is specified by sizeID and matrixID, and the index i specifies the position of the coefficient in the quantization matrix.
  • the 16x16 quantization matrix and the 32x32 quantization matrix are downsampled into an 8x8 quantization matrix when being encoded, the 16x16 quantization matrix is upsampled or interpolated by the 8x8 quantization matrix. And a 32x32 quantization matrix.
  • the DC matrix coefficients may be replaced with values derived from separately signaled values such as scaling_list_dc_coef_minus8 without using the interpolated values.
  • FIG. 6 is a flowchart schematically illustrating an example of a method of performing inverse quantization according to the present invention.
  • the decoder may acquire an identifier indicating whether a quantization matrix exists in a parameter set (S610).
  • the information indicating whether the quantization matrix exists in the parameter set may be scaling_list_present_flag in the examples of the aforementioned tables.
  • the existence of the quantization matrix in the parameter set includes information on the quantization matrix (eg, scaling_list_pred_mode_flag, scaling_list_pred_matrix_id_delta, scaling_list_dc_coef_minus8, scaling_list_delta_coef, etc.) in the parameter set.
  • scaling_list_enable_flag which is an identifier indicating whether a quantization matrix is used, may be obtained before obtaining an identifier indicating whether a quantization matrix exists.
  • an identifier indicating whether the quantization matrix exists can be obtained.
  • the parameter set may be a sequence parameter set or a picture parameter set for transmitting information of a quantization matrix.
  • the decoder may determine whether a quantization matrix exists in the parameter set based on the identifier (S620). For example, if the value of scaling_list_present_flag is 1, the decoder determines that a quantization matrix exists in the parameter set. If the value of scaling_list_present_flag is 0, the decoder may determine that there is no quantization matrix in the parameter set.
  • the decoder does not use a quantization matrix in inverse quantization, or in quantization the quantization matrix has the same value as all 16 matrix coefficients in inverse quantization.
  • a flat matrix may be used or it may be determined that all quantization matrices are basic quantization matrices in inverse magnetization (S630).
  • the decoder may acquire information of the quantization matrix according to the size or type of the quantization matrix (S640).
  • the types of quantization matrices include quantization matrices for inverse quantization of transform coefficients for intra-screen residual blocks, quantization matrices for transform coefficients for inter-screen residual blocks, and inverse quantization of transform coefficients for luma blocks. At least one or a combination of one or more of the quantization matrix, the quantization matrix for inverse quantization of the transform coefficients for the chroma block.
  • the decoder may perform inverse quantization using the obtained quantization matrix (S650). If the decoder does not have a quantization matrix in the parameter set, the decoder performs inverse quantization without using a quantization matrix as determined in step S630, or in the inverse quantization, a quantization matrix (flat matrix) having the same values as all 16 matrix coefficients. ) Or inverse quantization so that all quantization matrices can be used as the base quantization matrix. Predicting the coefficients of the quantization matrix or using the default quantization matrix is the same as described above in the embodiments. If a quantization matrix exists in the parameter set, the decoder can obtain the quantization matrix and use it for inverse quantization. As described above with reference to FIG. 2, the decoder may reconstruct an image based on the dequantized signal.
  • an identifier indicating whether a quantization matrix is present is transmitted from an encoder, but this is only an example of the present invention. As described above, when transmitting information about a quantization matrix, information on whether there is a quantization matrix may not be transmitted separately.
  • 7 is a diagram schematically illustrating an example of a method of performing inverse quantization by obtaining information of a quantization matrix when a quantization matrix exists in a parameter set.
  • 7 may be (1) steps corresponding to S640 and S650 of FIG. 6, and (2) a separate identifier indicating the presence of a quantization matrix is not transmitted, but a quantization matrix is present in the parameter set and It may be a method in the case of performing inverse quantization by acquiring a quantization matrix when the information on the information is transmitted from the encoder.
  • the method of (1) and (2) is the same except for the difference of whether or not the existence of the quantization matrix is transmitted by a separate identifier.
  • the quantization matrix information may decode the quantization matrix information in a parameter set including at least one of a sequence parameter set and a picture parameter set in the decoder.
  • the decoder when dequantization is performed without decoding, the quantization matrix that the decoder already has can be used.
  • the quantization matrix already included in the decoder may be a basic quantization matrix.
  • the decoder may determine a prediction method of the quantization matrix (S710).
  • the presence of the quantization matrix in the parameter set includes the presence of information (eg, scaling_list_pred_mode_flag, scaling_list_pred_matrix_id_delta, scaling_list_dc_coef_minus8, scaling_list_delta_coef, etc.) in the parameter set.
  • the prediction method of the quantization matrix may be determined according to the value of the syntax element pred_mode_flag transmitted from the encoder.
  • pred_mode_flag may be represented by scaling_list_pred_mode_flag, as in the above examples.
  • the prediction method of the quantization matrix indicated by pred_mode_flag is either (1) using the quantization matrix that the decoder already has, or (2) inverse DPCM between the quantization matrix coefficient values in the quantization matrix by transmitting the quantization matrix value. It can be one.
  • pred_mode_flag For example, if the value of pred_mode_flag is 0, the decoder uses the quantization matrix (already decoded quantization matrix (reference matrix) or the base matrix) that it already has. If the value of pred_mode_flag is 1, the decoder uses the information in the quantization matrix The coefficients can be predictively decoded.
  • the decoder may obtain identification information of the quantization matrix (S720).
  • the identification information of the quantization matrix is information for identifying a quantization matrix that the decoder already has, and may correspond to scaling_list_pred_matrix_id_delta, pred_matrix_id_delta, and the like of the above-described examples.
  • the decoder may determine whether the quantization matrix specified by the identification information is the same as the current decoding target quantization matrix (S730).
  • pred_matrix_id_delta specifies the reference quantization matrix used to derive the quantization matrix. To clarify that it is for a quantization matrix, pred_matrix_id_delta may be represented by scaling_list_pred_matrix_id_delta as in the previous examples.
  • scaling_list_pred_matrix_id_delta value is 0, a basic quantization matrix specified by the quantization matrix information (SizeID, MatrixID) can be used as the decoding quantization matrix.
  • scaling_list_pred_matrix_id_delta matrixID-RefMatrixID is established between matrixID specifying the decoding quantization matrix (type of) and RefMatrixID specifying the reference quantization matrix.
  • the target quantization matrix can be derived from the reference quantization matrix already decoded.
  • the decoder uses the quantization matrix identification information to determine the quantization matrix to be used for inverse quantization. It may be (S740). In this case, the decoder may determine the quantization matrix to be used for inverse quantization, as in the examples of the above-described tables based on the quantization matrix identification information scaling_list_pred_matrix_id_delta.
  • the decoder may use a basic quantization matrix that the decoder already has.
  • the basic quantization matrix may be determined using Tables 7 and 8.
  • the decoder can initialize the coefficient values of the quantization matrix (S760). For example, the decoder can initialize by setting the coefficient nextcoef of the quantization matrix to a constant value.
  • the constant set at initialization may be either 8 or 16 as in the examples of the tables described above.
  • the decoder may decode a difference value between coefficients in the quantization matrix transmitted from the encoder (S770).
  • the difference value between coefficients in the quantization matrix may be specified by a syntax element such as delta_coef, and delta_coef may be referred to as scaling_list_delta_coef to clarify that it is for a quantization matrix, as in the examples of the aforementioned tables.
  • the decoder can derive the coefficient value of the quantization matrix (S780).
  • the decoder may derive the coefficient value of the decoding target quantization matrix (current quantization matrix) by adding the difference value between coefficients in the quantization matrix to the coefficients of the previously decoded quantization matrix.
  • the decoder determines whether a quantization matrix is derived (S790). If the coefficients of the quantization matrix are not all decoded, the decoder returns to step S770 and proceeds to a later step.
  • the decoder may perform inverse quantization using the obtained quantization matrix (S650).
  • DC matrix coefficients may be first derived for a quantization matrix having a predetermined size as in the above-described embodiments.
  • FIG. 8 is a diagram schematically illustrating another example of a method of obtaining inverse quantization by obtaining information of a quantization matrix when a quantization matrix exists in a parameter set.
  • FIG. 8 may be (1) steps corresponding to S640 and S650 of FIG. 6, and (2) a separate identifier indicating whether there is a quantization matrix is not transmitted, but the quantization matrix is present in the parameter set and It may be a method in the case of performing inverse quantization by acquiring a quantization matrix when the information on the information is transmitted from the encoder.
  • the method of (1) and (2) is the same except for the difference of whether or not the existence of the quantization matrix is transmitted by a separate identifier.
  • the decoder in order to prevent unnecessary quantization matrix transmission, when the first value of the quantization matrix to be decoded is a specific value, the decoder does not decode the quantization matrix to be decoded and decodes the default quantization that the decoder already has during dequantization. You can use matrices.
  • the decoder may determine a prediction method of the quantization matrix (S810).
  • the presence of the quantization matrix in the parameter set includes the presence of information about the quantization matrix in the parameter set.
  • the decoder may acquire identification information of the quantization matrix (S820).
  • the identification information of the quantization matrix is information for identifying a quantization matrix that the decoder already has, and may correspond to scaling_list_pred_matrix_id_delta, pred_matrix_id_delta, and the like of the above-described examples.
  • the decoder may determine the quantization matrix to be used for inverse quantization using the quantization matrix identification information (S830).
  • the decoder may determine the quantization matrix as indicated by identification information such as scaling_list_pred_matrix_id_delta and pred_matrix_id_delta.
  • the decoder can initialize the coefficient values of the quantization matrix (S840). For example, the decoder can initialize by setting the coefficient nextcoef of the quantization matrix to a constant value.
  • the constant set at initialization may be either 8 or 16 as in the examples of the tables described above.
  • the decoder may decode a difference value between coefficients in the quantization matrix transmitted from the encoder (S850).
  • the difference value between the coefficients in the quantization matrix may be specified by a syntax element such as delta_coef.
  • the decoder can derive the coefficient value of the quantization matrix (S860).
  • the decoder may derive the coefficient value of the decoding target quantization matrix (current quantization matrix) by adding the difference value between coefficients in the quantization matrix to the coefficients of the previously decoded quantization matrix.
  • the decoder may determine whether the derived coefficient is the first coefficient value of the quantization matrix and is equal to a specific value (S870). In this case, the specific value may be 0.
  • the decoder may determine to use a basic quantization matrix that the decoder already has for inverse quantization (S880).
  • the decoder checks whether all difference values of the quantization matrix coefficients are decoded (S890). If not all decoded, the decoder may proceed with the following steps from step S850.
  • the decoder may perform inverse quantization using the obtained quantization matrix (S650).
  • quantization matrix information means information capable of deriving a quantization matrix or a quantization matrix.
  • the information capable of deriving a quantization matrix may mean whether a basic matrix is used, a type of prediction encoding / decoding method, a reference quantization matrix identifier, a reference quantization matrix, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 양자화 행렬의 부호화 방법, 복호화 방법과 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 양자화 행렬의 부호화 방법은 양자화에 사용할 양자화 행렬을 결정하고 양자화하는 단계, 상기 양자화에 사용한 양자화 행렬의 예측 방식을 결정하는 단계 및 상기 결정된 예측 방식에 따라서 양자화 행렬의 정보를 부호화하는 단계를 포함하며, 상기 예측 방식은, 양자화 행렬 내의 계수 간 예측 방식과 양자화 행렬의 복사 중 어느 하나일 수 있다.

Description

양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
본 발명은 영상 부호화 및 복호화 기술에 관한 것으로서, 더 구체적으로는 양자화 행렬을 부호화/복호화하는 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며, 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다.
HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 현재 픽처의 픽셀 정보를 예측에 의해 부호화할 수 있다. 예컨대, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽처 내의 픽셀 정보를 이용하여 현재 픽처에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술이 적용될 수 있다.
또한, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술을 적용하여, 부호화 효율을 높이고 전송되는 정보량을 줄일 수 있다.
이때, 예측에 의해 생성된 잔차 블록에 대한 변환 계수의 양자화를 더 효과적으로 수행할 방법이 문제된다.
본 발명은 사용 가능한 변환 블록의 크기를 기반으로 양자화 행렬 부호화/복호화를 제한하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 또한, 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 블록의 크기 혹은 양자화 행렬의 종류 별로 기본 양자화 행렬과 비-기본 양자화 행렬을 혼용해서 사용할 수 있는 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 또한, 참조 양자화 행렬 식별자에 기반하여 기본 양자화 행렬을 사용하는 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 참조 양자화 행렬이 존재할 경우에만 양자화 행렬 예측을 수행함으로써 부호화 효율을 높이는 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 DC 행렬 계수를 효과적으로 예측 부호화/복호화하는 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
아울러, 본 발명은 양자화 행렬 내 첫 번째 계수를 기반으로 예측 부호화/복호화를 수행하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태는 양자화 행렬 부호화 방법으로서, 양자화에 사용할 양자화 행렬을 결정하고 양자화하는 단계, 상기 양자화에 사용한 양자화 행렬의 예측 방식을 결정하는 단계 및 상기 결정된 예측 방식에 따라서 양자화 행렬의 정보를 부호화하는 단계를 포함하며, 상기 예측 방식은, 양자화 행렬 내의 계수 간 예측 방식과 양자화 행렬의 복사 중 어느 하나일 수 있다.
본 발명의 양자화 행렬의 복호화 방법으로서, 역양자화에 사용되는 양자화 행렬의 예측 방식을 결정하는 단계 및 상기 결정된 예측 방식에 따라서 역양자화에 사용할 양자화 행렬을 복호화하는 단계를 포함하며, 상기 양자화 행렬의 예측 방식은 양자화 행렬 내의 계수 간 예측 방식과 양자화 행렬의 복사 중 어느 하나일 수 있다.
본 발명에 의하면, 사용 가능한 변환 블록의 크기에 의해 양자화 행렬 부호화를 제한함으로써 부호화 효율을 향상시키고, 계산의 복잡도를 감소시킬 수 있다.
본 발명에 의하면, 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 블록의 크기 혹은 양자화 행렬의 종류 별로 기본 양자화 행렬과 비-기본 양자화 행렬을 혼용해서 사용함으로써, 부호화 효율을 향상시키고, 부호화기에서 양자화 행렬 선택의 자유도를 증가시킬 수 있다.
본 발명에 의하면, 참조 양자화 행렬 식별자를 이용하여 기본 양자화 행렬 사용 여부를 부호화/복호화 하거나, 참조 양자화 행렬이 존재할 경우에만 양자화 행렬 예측을 수행함으로써, 부호화 효율을 향상시키고, 계산의 복잡도를 감소시키며, 부호화기에서 양자화 행렬 선택의 자유도를 증가시킬 수 있다.
본 발명에 의하면, DC 행렬 계수를 예측 부호화/복호화하거나, 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행함으로써 부호화 효율을 향상시키고, 계산의 복잡도를 감소시키며, 부호화기의 양자화 행렬 선택의 자유도를 증가시킬 수 있다.
또한, 본 발명에 의하면, 자주 발생하는 계수 값을 이용하여 양자화 행렬 내 첫 번째 계수의 부호화/복호화를 수행함으로써 부호화 효율을 향상시키고, 계산의 복잡도를 감소시킬 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명에 따른 영상 부호화 방법을 개략적으로 설명하는 순서도이다.
도 5는 양자화 행렬에 대한 정보를 복호화하고 이를 이용하여 복호화를 수행하는 복호화기 동작의 일 예를 개략적으로 설명하는 순서도이다.
도 6은 본 발명에 따라서 역양자화를 수행하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 7은 파라미터 세트에 양자화 행렬이 존재하는 경우 양자화 행렬의 정보를 획득하여 역양자화를 수행하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 8은 파라미터 세트에 양자화 행렬이 존재하는 경우 양자화 행렬의 정보를 획득하여 역양자화를 수행하는 방법의 다른 예를 개략적으로 설명하는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
우선, 설명의 편의를 도모하고 발명을 이해를 돕기 위해, 본 명세서에서 사용되는 용어들에 대하여 간략하게 설명한다.
유닛(unit)은 영상 부호화 및 복호화의 단위를 의미한다. 다시 말하면, 영상 부호화/복호화에 있어서 부호화 단위 혹은 복호화 단위라 함은, 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말한다. 블록(block), 매크로 블록, 부호화 유닛(coding unit) 또는 예측 유닛(prediction unit) 또는 변환 유닛(transform unit) 또는 부호화 블록(coding block) 또는 예측 블록(prediction block) 또는 변환 블록(transform block) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 분할될 수 있다.
변환 유닛(transform unit)은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화/복호화와 같이 잔차 블록(residual block)의 부호화/복호화를 수행함에 있어 기본 유닛 혹은 단위 유닛이며, 하나의 변환 유닛은 분할되어 크기가 다수의 작은 변환 유닛으로 분할될 수 있다. 또한, 변환 블록과 동일한 의미로 사용될 수 있으며, 휘도와 색차 신호에 대한 변환 블록에 관련된 구문 요소(syntax element)가 포함된 형태를 변환 유닛이라 지칭할 수도 있다.
양자화 행렬(quantization matrix)은 영상의 주관적 화질 혹은 객관적 화질을 향상시키기 위해서 양자화 혹은 역양자화 과정에서 이용되는 행렬을 의미한다. 양자화 행렬은 스케일링 리스트(scaling list)라고도 불린다.
양자화/역양자화에 사용되는 양자화 행렬은 비트스트림(bitstream)으로 전송될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬(default matrix)이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트(SPS: sequence parameter set) 또는 픽처 파라미터 세트(PPS: picture parameter set)을 통해 양자화 행렬의 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 전송될 수 있다. 예컨대, 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 전송되고, 8x8 변환 블록을 위한 8x8 행렬들이 전송되고, 16x16 변환 블록을 위한 16x16 행렬들이 전송되고, 32x32 변환 블록을 위한 32x32 행렬들이 전송될 수 있다.
현재 블록에 적용되는 양자화 행렬은 (1) 동일한 크기의 양자화 행렬을 복사하여 획득될 수도 있고, (2) 양자화 행렬 내 이전 행렬 계수(matrix coefficient)로부터 예측에 의해 생성될 수도 있다. 동일한 크기의 행렬은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬일 수도 있고, 참조 양자화 행렬일 수도 있으며 기본 양자화 행렬일 수도 있다. 혹은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬, 참조 양자화 행렬, 기본 양자화 행렬 중 적어도 둘을 포함하는 조합으로부터 선택적으로 결정될 수도 있다.
파라미터 세트(parameter set)는 비트스트림 내의 구조 중 헤더 정보에 해당하며, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 적응 파라미터 세트(adaptation parameter set) 등을 통칭하는 의미를 가진다.
양자화 매개변수(quantization parameter)는 양자화 및 역양자화에서 사용되는 값으로서, 양자화 매개변수는 양자화 스텝 크기(step size)에 매핑된 값일 수 있다.
기본 행렬은 부호화기 및/혹은 복호화기에서 미리 정의되어 있는 소정의 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 기본 양자화 행렬은 기본 행렬과 동일한 의미로 사용될 수 있다. 비-기본 행렬(non-default matrix)은 부호화기 및/혹은 복호화기에서 미리 정의되지 않고, 부호화기에서 복호화기로 전송되는 즉, 사용자에 의해서 전송/수신되는 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 비-기본 양자화 행렬은 비-기본 행렬과 동일한 의미로 사용될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 매개변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 이때, 양자화 행렬은 부호화기에 입력되어질 수 있으며, 입력되어진 양자화 행렬이 부호화기에서 사용되기로 결정될 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.
양자화된 계수는 역양자화부(220)에서 양자화 매개변수를 이용해서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다.
역양자화에 사용되는 양자화 행렬은 스케일링 리스트라고도 불린다. 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용하여 역양자화된 계수를 생성할 수 있다.
이때 역양자화부(220)는 부호화기에서 적용된 양자화에 대응하여 역양자화를 수행할 수 있다. 예컨대, 역양자화부(220)는 부호화기에서 적용된 양자화 행렬을 양자화된 계수에 역으로 적용하여 역양자화를 수행할 수 있다.
영상 복호화 장치(200)에서 역양자화에 사용되는 양자화 행렬은 비트스트림으로부터 수신될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트를 통해 양자화 행렬 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 수신될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 수신되고, 8x8 변환 블록을 위한 8x8 행렬들이 수신되고, 16x16 변환 블록을 위한 16x16 행렬들이 수신되고, 32x32 변환 블록을 위한 32x32 행렬들이 수신될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
한편, 블록 분할 정보에는 유닛의 깊이(depth)에 관한 정보가 포함될 수 있다. 깊이 정보는 유닛이 분할되는 회수 및/또는 정도를 나타낼 수 있다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
하나의 유닛 혹은 블록은 트리 구조(tree structure)를 기초로 깊이 정보를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 상기 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 상기 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.
도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 유닛을 나타낼 수 있다.
레벨 1의 깊이를 갖는 하위 노드는 최초 유닛이 한 번 분할된 유닛을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 유닛이 두 번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 유닛 a는 최초 유닛에서 한 번 분할된 유닛이고, 레벨 1의 깊이를 가질 수 있다.
레벨 3의 리프 노드(leaf node)는 최초 유닛이 3번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 유닛 d는 최초 유닛에서 세 번 분할된 유닛이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.

지금까지 개략적인 부호화/복호화 방법을 설명하였다. 부호화/복호화 과정의 양자화 및 역양자화 과정에서 이용되는 양자화 행렬 부호화/복호화 방법은, 부호화/복호화의 다른 과정과 마찬가지로 부호화 효율에 큰 영향을 미친다. 따라서, 부호화 효율을 고려하여 양자화/역양자화의 개선을 도모할 필요가 있다.
구체적으로, 종래에는 사용 가능한 변환의 최소 크기와 최대 크기를 고려하지 않고, 모든 변환에 대한 양자화 행렬을 부호화/복호화했다. 또한, 종래에는 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 크기 혹은 양자화 행렬 종류 별로 기본 행렬과 비 기본 행렬을 혼용해서 사용하지 않고 일률적으로 양자화 행렬을 적용하기 때문에 부호화기에서 양자화 행렬 선택의 자유도가 낮은 단점이 있고, 부호화/복호화하지 않아도 되는 기본 행렬을 부호화해서 보내야 하기 때문에 부호화 효율이 저하되는 단점이 있다.
이처럼 종래의 방법에 의하면, 양자화 행렬의 적용에 있어서 자유도가 낮고 부호화 효율도 높지 않았을 뿐만 아니라 복잡도도 높았다.
따라서, 양자화/역양자화에 있어서 부호화 효율을 높이고 복잡도를 줄이기 위해 양자화 행렬을 효과적으로 사용하는 방법을 고려할 필요가 있다.
도 4는 본 발명에 따른 영상 부호화 방법을 개략적으로 설명하는 순서도이다.
도 4를 참조하면, 부호화기는 현재 시퀀스 혹은 픽처의 변환 유닛 크기에 관한 정보를 결정하고 부호화한다(S410).
변환 유닛의 크기 정보는 변환 유닛의 최소 크기와 최대 크기 중 적어도 하나 이상을 의미한다. 부호화기는 영상 부호화시 변환 유닛의 최소 크기와 최대 크기를 결정할 수 있다.
예컨대, 부호화기는 정방형(square) 변환 유닛의 최소 크기를 4x4 블록으로 결정하거나, 최대 크기를 32x32 블록으로 결정할 수 있다. 또한, 부호화기는 정방형 변환 유닛의 최소 크기와 최대 크기를 각각 4x4 블록과 32x32 블록으로 결정할 수도 있다. 정방형 변환 유닛의 최소 크기 및 최대 크기에 따라서 부호화를 수행할 수 있다.
부호화기는 결정된 변환 유닛 크기 정보를 비트스트림에 엔트로피 부호화할 수 있다. 예컨대, 부호화기는 결정된 변환 유닛 크기 정보를 비트스트림 내의 파라미터 세트에 부호화할 수 있다.
상술한 바와 같이 변환 유닛 크기 정보는 변환 유닛의 최소 크기와 최대 크기 중 적어도 하나 이상에 관한 정보를 의미한다. 따라서, 부호화기는 변환 유닛 크기 정보로서 변환 유닛의 최소 크기와 최대 크기에 관한 정보를 비트스트림에 부호화할 수 있다. 이때, 변환 유닛의 최대 크기는 변환 유닛의 최소 크기와의 차이값을 이용하여 특정될 수 있다.
표 1은 비트스트림의 시퀀스 파라미터 세트에 엔트로피 부호화된 변환 유닛 크기 정보의 예를 개략적으로 나타낸 것이다.
<표 1>
Figure PCTKR2013000493-appb-I000001
표 1에서 예시한 구문 요소와 같이, 정방형 변환 유닛의 최소 가로 혹은 세로 크기에 대해 Log2 함수를 적용하여 Log2MinTrafoSize을 계산한 후, Log2MinTrafoSize에 2를 감산한 값을 log2_min_transform_block_size_minus2을 이용하여 특정할 수 있다. 또한, 정방형 변환 유닛의 최대 가로 혹은 세로 크기에 Log2 함수를 적용하여 Log2MaxTrafoSize을 계산한 후, Log2MaxTrafoSize와 Log2MinTrafoSize의 차이 값을 log2_diff_max_min_transform_block_size를 이용하여 특정할 수 있다. 부호화기는 구문 요소인 log2_min_transform_block_size_minus2와 log2_diff_max_min_transform_block_size 를 비트스트림에 부호화하여 복호화기로 전송할 수 있다. 다시 말하면, 부호화기는 log2_min_transform_block_size_minus2와 log2_diff_max_min_transform_block_size 가 지시하는 값을 부호화하여 비트스트림으로 전송할 수 있다.
부호화기는 양자화 행렬 정보를 부호화할 수 있다(S420). 부호화기는 (1) 양자화 행렬의 사용 여부 정보, (2) 양자화 행렬의 존재(present) 유무 정보, (3) 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부, (4) 양자화 행렬 예측 부호화 방법과 종류, (5) 참조 양자화 행렬 식별자, 혹은 (6) 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차이 값 중 적어도 하나 이상을 포함하는 양자화 행렬 정보를 부호화한다.
이때, 부호화기는 변환 유닛의 크기에 관한 정보를 기반으로 양자화 행렬 정보를 부호화할 수도 있다.
이하, 도면과 표를 참조하여 양자화 행렬 정보의 부호화 방법에 관하여 구체적으로 설명한다.

양자화 행렬 정보는 부호화기에서 결정된 혹은 사용된 방법을 지시하게 된다. 예컨대, 부호화기는 양자화 행렬의 사용 여부에 대해 결정한 후, 양자화 행렬 사용 여부 정보를 파라미터 세트에 부호화할 수 있다. 따라서, 부호화된 양자화 행렬 사용 여부 정보는 부호화기가 결정한 양자화 행렬 사용 여부를 지시하게 된다.
표 2는 양자화 행렬의 사용 여부 정보를 시퀀스 파라미터에 부호화한 예를 나타낸 것이다.
<표 2>
Figure PCTKR2013000493-appb-I000002
표 2의 신택스 예와 같이, 부호화기는 양자화 행렬 사용 여부 정보인 scaling_list_enabled_flag를 시퀀스 파라미터 세트에 부호화하여 복호화기로 전송할 수 있다. 이때, scaling_list_enabled_flag의 값이 1이면 시퀀스 전체에 대한 변환 계수의 역양자화(dequantization)/스케일링(scaling)에서 양자화 행렬을 사용한다는 것을 지시하며, scaling_list_enabled_flag의 값이 0이면 변환 계수의 역양자화/스케일링에서 양자화 행렬을 사용하지 않는다는 것을 지시할 수 있다. 여기서, 신택스는 구문 요소를 의미할 수 있다.
부호화기는 양자화 행렬의 존재 유무에 대해 결정한 후, 양자화 행렬의 존재 유무 정보를 파라미터 세트에 부호화할 수 있다.
표 3은 양자화 행렬의 존재 유무 정보를 파라미터 세트에 부호화하는 예를 나타낸 것이다.
<표 3>
Figure PCTKR2013000493-appb-I000003
표 3의 신택스 예와 같이, 부호화기는 양자화 행렬의 존재 유무 정보인 aps_scaling_list_data_present_flag를 파라미터 세트에 부호화할 수 있다. 표 3에서는 양자화 행렬의 존재 유무 정보를 적응 파라미터 세트에 부호화하는 경우를 예시하였으나, 본 발명은 이에 한정하지 않으며, 부호화기는 다른 파라미터 세트에 양자화 행렬의 존재 유무 정보를 부호화할 수도 있다.
표 3에서, aps_scaling_list_data_present_flag의 값이 1이면 적응 파라미터 세트에 양자화 행렬이 존재하는 것을 지시하며, aps_scaling_list_data_present_flag의 값이 0이면 적응 파라미터 세트에 양자화 행렬이 존재하지 않는 것을 지시한다. 만약, scaling_list_enabled_flag가 1이고 aps_scaling_list_data_present_flag가 0이면 기본 행렬이 역양자화 시에 사용되는 것을 의미할 수 있다. 또한, 양자화 행렬의 존재 유무 정보는 서로 다른 파라미터 세트에 존재할 수 있고, 예를 들어 시퀀스에서 양자화 행렬의 존재 유무를 나타내는 sps_scaling_list_data_present_flag와 픽처에서 양자화 행렬의 존재 유무를 나타내는 pps_scaling_list_data_present_flag가 사용되는 경우, sps_scaling_list_data_present_flag가 1이고 pps_scaling_list_data_present_flag가 0이면 시퀀스에 해당하는 양자화 행렬이 양자화/역양자화 시에 사용될 수 있다. 즉, 여러 파라미터 세트에서 양자화 행렬이 전송되고 일부 파라미터 세트에 양자화 행려이 존재하지 않는 경우, 존재하거나 활성화(active)된 파라미터 세트에 존재하는 양자화 행렬을 양자화/역양자화 시에 사용될 수 있다. 상기 내용은 후술될 실시예 중 양자화 행렬의 존재 유무 정보를 부호화/복호화하는 내용에도 적용될 수 있다.

부호화기는 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 결정한 후, 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부에 관한 정보를 파라미터 세트에 부호화할 수 있다.
표 4는 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부에 관한 정보를 파라미터 세트에 부호화하는 일 예를 나타낸 것이다.
<표 4>
Figure PCTKR2013000493-appb-I000004
부호화기는 표 4의 예와 같이, 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부 정보인 use_default_scaling_list_flag를 적응 파라미터 세트에 부호화할 수 있다. use_default_scaling_list_flag의 값이 1이면 양자화 행렬이 부호화되지 않고, 모든 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한다. use_default_scaling_list_flag의 값이 0이면 양자화 행렬이 부호화되고, 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬을 사용하지 않는다.
표 4에서는 use_default_scaling_list_flag를 적응 파라미터 세트에 부호화하는 경우를 설명하였으나, 이는 설명의 편의를 위한 일 예로서, use_default_scaling_list_flag는 그 외의 파라미터 세트에 부호화 될 수도 있다.

양자화 행렬의 정보는 변환 유닛의 크기 혹은 변환 블록의 크기 및 부호화 모드 및 색 성분을 고려하여 결정될 수 있다. 또한, 양자화 행렬의 정보는 해당 정보가 휘도 성분(Y, luma)에 대한 것인지 색차 성분(Cb, Cr, chroma)에 대한 것인지도 지시할 수 있다.
예컨대, 부호화기는 양자화 행렬의 크기에 대응하는 정보인 SizeID와 각 양자화 행렬 종류에 대응하는 정보인 MatrixID을 이용하여 양자화 행렬의 부호화, 기본 행렬 사용 여부, 예측 부호화 방법 중 적어도 하나 이상을 결정한다. 이때, SizeID는 변환 유닛의 크기에 대응하는 양자화 행렬의 정보 혹은 변환 블록의 크기에 대응하는 양자화 행렬의 정보로 해석될 수도 있다. 그리고, 본 명세서에서 사용되는 SizeID는 sizeID, sizeId와 동일하며, MatrixID는 matrixID, matrixId와 동일하다.
이때, 부호화기는 부호화기 및/혹은 복호화기에 저장된 테이블을 이용할 수도 있다.
표 5는 변환 블록의 크기 혹은 변환 블록에 대응하는 양자화 행렬의 크기를 지시하는데 이용되는 테이블의 일 예를 나타낸 것이다.
<표 5>
Figure PCTKR2013000493-appb-I000005
표 5의 예에서, SizeID 값은 변환 유닛의 크기, 변환 블록의 크기 혹은 양자화 행렬의 크기를 특정한다.
표 6은 양자화 행렬이 사용되는 블록의 부호화 모드 및 색 성분에 매핑하는 양자화 행렬 종류에 대한 테이블의 일 예를 나타낸 것이다.
<표 6>
Figure PCTKR2013000493-appb-I000006
표 6의 예에서 MatrixID 값은 양자화 행렬이 사용되는 부호화 모드(coding mode) 및 색 성분(color component)를 특정하는 양자화 행렬의 종류를 나타내는 것일 수 있다. 이때, 부호화 모드는 예측 모드(prediction mode)를 의미할 수 있다.
표 7과 표 8은 표 5 및 표 6에서 결정되는 SizeID와 MatrixID를 기반으로 기본 양자화 행렬을 특정하는데 이용되는 기본 양자화 행렬 테이블의 일 예이다. 여기서, 테이블 내의 각 값은 ScalingList[SizeID][MatrixID][i]에 의해 특정되어지는 값을 의미한다.
<표 7>
Figure PCTKR2013000493-appb-I000007
<표 8>
Figure PCTKR2013000493-appb-I000008
표 7은 SizeID의 값이 0(4x4 블록)인 기본 양자화 행렬에 대한 것이며, 표 8은 SizeID의 값이 1(8x8 블록), 2(16x16 블록), 3(32x32 블록)인 기본 양자화 행렬에 대한 것이다. 표 7과 표 8에서 SizeID와 MatrixID의 값은 표 5 및 표 6에 의해 특정되는 바와 같다.
표 7과 표 8에서 i는 양자화 행렬 내 각 계수 위치를 특정한다. 양자화 행렬의 경우, 16x16 블록 또는 32x32 블록에 대한 양자화 행렬의 경우에 16x16 블록 및 32x32 블록 전체에 대해 양자화 행렬 값을 특정하지 않고 8x8 블록에 대해서만 양자화 행렬 계수를 특정한 후 특정되지 않은 계수는 8x8 블록 값에 기반하여 유도하여 사용할 수도 있다. 표 8의 예도 8x8 블록 단위로 기본 양자화 행렬을 특정하는 예를 나타내고 있다. 16x16 블록 또는 32x32 블록에 대한 양자화 행렬의 계수(quantization matrix coefficient)는 8x8 블록 단위로 저장된 양자화 행렬로부터 보간되어 유도되거나 소정의 방식으로 유도될 수 있다. 8x8 양자화 행렬로부터 16x16 또는 32x32 양자화 행렬을 보간을 통해 유도하는 경우, DC 위치의 양자화 행렬 계수는 보간된 값을 사용하지 않고 별도의 값을 사용할 수 있다.

한편, 사용 가능한 변환 유닛의 최소 크기와 최대 크기를 고려하여 양자화 행렬을사용하지 않으면, 모든 크기의 변환 유닛에 대한 양자화 행렬을 부호화해야 한다. 따라서, 부호화 효율이 저하되며, 계산 복잡도가 증가할 수 있다.
따라서, 부호화기는 변환 유닛의 크기를 고려하여 양자화 행렬에 대한 정보를 부호화할 수 있다. 예컨대, 부호화기는 SizeID를 변환 유닛 크기 정보 중 최소 크기와 최대 크기에 따라 제약할 수 있다.
부호화기는 제약된 SizeID를 이용하여 양자화 행렬의 부호화, 기본 행렬 사용 여부를 지시하는 정보의 부호화, 예측 부호화 방법의 종류를 지시하는 정보의 부호화 중 적어도 하나 이상을 수행할 수 있다.
표 9은 SizeID를 제약하여 양자화 행렬의 부호화를 수행하는 경우에 이용되는 신택스 구조의 일 예를 나타낸 것이다.
<표 9>
Figure PCTKR2013000493-appb-I000009
표 9의 예와 같이, 부호화기는 SizeID를 변환 유닛 크기 정보 중 최소 크기와 최대 크기에 따라 제약하여, 특정한 변환 유닛 크기들에 대해서만 양자화 행렬, 기본 행렬 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상에 대한 정보의 부호화를 수행할 수 있다.
예컨대, Log2MinTrafoSize의 값이 3이고 Log2MaxTrafoSize의 값이 4이면, 8x8 변환 유닛부터 16x16 변환 유닛에 해당하는 양자화 행렬의 부호화, 기본 행렬의 사용 여부 정보의 부호화, 예측 부호화 방법 종류에 관한 정보의 부호화 중 적어도 하나 이상을 수행할 수 있다.
한편, 표 9의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

또한, SizeID를 변환 유닛 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 제약하여 양자화 행렬, 기본 행렬 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상의 정보에 대한 부호화를 수행할 수 있다.
표 10은 SizeID를 변환 유닛 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 제약하여 양자화 행렬에 관한 정보들을 부호화하는 경우에 이용되는 신택스 구조의 일 예를 개략적으로 나타낸 것이다.
<표 10>
Figure PCTKR2013000493-appb-I000010
표 10의 신택스 예에서는 변환 유닛 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 SizeID를 제약한다. 부호화기는 변환 유닛 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 SizeID를 제약하여 특정 변환 유닛 크기 범위에 대해서만 양자화 행렬, 기본 행렬의 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상의 정보를 부호화할 수 있다.
표 10의 예에서, Log2MinTrafoSize의 값이 3이고 Log2MaxTrafoSize의 값이 4이면, 8x8 변환 유닛부터 16x16 변환 유닛에 해당하는 양자화 행렬의 부호화, 기본 행렬의 사용 여부에 대한 부호화, 예측 부호화 방법의 종류에 대한 부호화 중 적어도 하나 이상이 수행될 수 있다.
이때, Log2MaxTrafoSize와 Log2MinTrafoSize의 차이 값은 변환 유닛의 최대 크기와 최소 크기의 차이 값으로, log2_diff_max_min_transform_block_size와 동일할 수 있다. 그리고, Log2MinTrafoSize-2는 log2_min_transform_block_size_minus2와 동일할 수 있다.
표 10의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

한편, 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 블록(유닛)의 크기 혹은 양자화 행렬 종류 별로 기본 행렬과 비-기본 행렬을 혼용해서 사용하지 못하면, 부호화기에서 양자화 행렬 선택의 자유도가 낮아지게 된다. 예를 들어, 슬라이스 내 특정 크기의 변환 블록에 대해서 기본 행렬을 사용하고, 다른 특정 크기의 변환 블록에 대해서 비-기본 행렬을 사용하기 위해서는, 기본 행렬을 부호화해서 복호화기에도 전송해야 하기 때문에 부호화 효율이 저하된다.
시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 크기 혹은 양자화 행렬 종류 별로 기본 행렬과 비-기본 행렬을 혼용해서 사용하기 위해서, 부호화기는 SizeID에 따라 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부를 파라미터 세트에 부호화할 수 있다.
표 11은 SizeID에 따라서 양자화 행렬 정보를 부호화하는 경우에 적용될 수 있는 신택스 구조의 일 예를 나타낸 것이다.
<표 11>
Figure PCTKR2013000493-appb-I000011
표 11의 예와 같이, 부호화기는 SizeID에 따른 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 특정하는 정보인 sid_use_default_scaling_list_flag[SizeID][MatrixID]를 적응 파라미터 세트에 부호화할 수 있다. MatrixID는 표 6에서와 같이 특정 양자화 행렬 종류를 지시한다.
이때, sid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면 SizeID에 해당하는 양자화 행렬이 부호화되지 않고, SizeID에 해당하는 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정될 수 있다. sid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 SizeID에 해당하는 양자화 행렬이 부호화되고, 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬을 SizeID에 해당하는 양자화 행렬에서 사용하지 않을 수 있다.
표 11의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

또한, 부호화기는 MatrixID에 따라 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 파라미터 세트에 부호화할 수 있다.
표 12는 MatrixID를 이용하여 양자화 행렬 정보를 부호화하는 경우에 적용될 수 있는 신택스의 예를 개략적으로 나타낸 것이다.
<표 12>
Figure PCTKR2013000493-appb-I000012
표 12의 예와 같이, 부호화기는 MatrixID에 따른 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부 정보인 mid_use_default_scaling_list_flag[SizeID][MatrixID]를 적응 파라미터 세트에 부호화할 수 있다.
이때, mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면 MatrixID에 해당하는 양자화 행렬이 부호화되지 않고, MatrixID에 해당하는 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정될 수 있다. mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 MatrixID에 해당하는 양자화 행렬이 부호화되고, 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬을 MatrixID에 해당하는 양자화 행렬로서 사용하지 않는다.
표 12의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

또한, SizeID와 MatrixID에 따라, 부호화기는 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 파라미터 세트에 부호화할 수 있다.
표 13은 SizeID와 MatrixID를 이용하여 양자화 행렬 정보를 부호화하는 경우에 적용될 수 있는 신택스의 예를 개략적으로 나타낸 것이다.
<표 13>
Figure PCTKR2013000493-appb-I000013
표 13의 예와 같이, SizeID와 MatrixID에 따라서, 부호화기는 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부에 관한 정보인 sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]를 적응 파라미터 세트에 부호화할 수 있다.
이때, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면 SizeID와 MatrixID에 해당하는 양자화 행렬이 부호화되지 않고, SizeID와 MatrixID에 해당하는 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬의 계수 값과 동일하게 결정될 수 있다.
sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 SizeID와 MatrixID에 해당하는 양자화 행렬이 부호화되고, 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬을 SizeID와 MatrixID에 해당하는 양자화 행렬로서 사용하지 않는다.
표 13의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

한편, 부호화기가 SizeID와 MatrixID에 따라서, 표 13의 예와는 다른 방법으로 양자화 행렬의 부호화 여부 및 기본 행렬 사용 여부를 파라미터 세트에 부호화할 수도 있다. SizeID를 변환 유닛 크기 정보 중 최소 크기와 최대 크기에 따라 제약하여 양자화 행렬 부호화 혹은 기본 행렬 사용 여부 부호화 혹은 예측 부호화 방법 종류 부호화 중 적어도 하나 이상을 수행할 수 있다.
표 14는 SizeID와 MatrixID를 이용하여 양자화 행렬 정보를 부호화하는 경우에 적용될 수 있는 신택스의 다른 예를 개략적으로 나타낸 것이다.
<표 14>
Figure PCTKR2013000493-appb-I000014
표 14의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

또한, 부호화기는 SizeID를 변환 유닛의 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 제약하여 양자화 행렬, 기본 행렬의 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상의 정보에 대한 부호화를 수행할 수도 있다.
표 15는 SizeID와 MatrixID를 이용하여 양자화 행렬 정보를 부호화하는 경우에 적용될 수 있는 신택스의 또 다른 예를 개략적으로 나타낸 것이다.
<표 15>
Figure PCTKR2013000493-appb-I000015
표 15의 예에서, 변환 유닛의 최대 크기를 특정하는 Log2MaxTrafoSize와 변환 유닛의 최소 크기를 특정하는 Log2MinTrafoSize 사이의 차이 값은 변환 유닛의 최대 크기와 최소 크기의 차이 값으로 log2_diff_max_min_transform_block_size와 동일하다. Log2MinTrafoSize-2는 log2_min_transform_block_size_minus2와 동일하다.
표 15의 예에서, 부호화기는 Log2MaxTrafoSize-Log2MinTrafoSize+1에 의해 제약되는 SizeID와 MatrixID를 기반으로 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 파라미터 세트에 부호화할 수 있다.
표 15의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

한편, 양자화 행렬 정보가 부호화 대상 파라미터 세트에 존재하는지 혹은 업데이트할지에 관한 정보를 파라미터 세트에 부호화하여 부호화/복호화에 이용할 수도 있다.
표 16은 양자화 행렬 정보에 존부(present) 등에 관한 정보를 부호화하는 경우에 이용할 수 있는 신택스의 일 예를 개략적으로 나타낸 것이다.
<표 16>
Figure PCTKR2013000493-appb-I000016
표 16에서 부호화기는 신택스 요소 scaling_list_update_flag[SizeID][MatrixID]를 이용하여 부호화 대상 파라미터에 양자화 행렬 정보가 존재하는지를 특정할 수 있다.
예컨대, scaling_list_update_flag[SizeID][MatrixID]의 값이 1이면, SizeID와 MatrixID에 해당하는 양자화 행렬 정보가 존재한다는 것을 지시할 수 있다. 혹은 scaling_list_update_flag[SizeID][MatrixID]의 값이 1이면 SizeID와 MatrixID에 해당하고 이전에 부호화된 양자화 행렬 정보를 부호화 대상 파라미터 세트 내의 SizeID와 MatrixID에 해당하는 양자화 행렬 정보로 업데이트(update)하는 것을 지시할 수도 있다. 이때, 업데이트한다는 것은 이전에 부호화된 양자화 행렬 정보를 부호화 대상 파라미터 세트 내의 양자화 행렬 정보로 대체한다는 것을 의미할 수 있다.
scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면, SizeID와 MatrixID에 해당하는 양자화 행렬 정보가 존재하지 않는다는 것을 지시할 수 있다. 혹은 scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면, 부호화 행렬 정보를 업데이트하지 않는 것을 지시할 수도 있다.
scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면, 파라미터 세트에 SizeID와 MatrixID에 해당하는 양자화 행렬 정보가 존재하지 않고 양자화 행렬 정보가 부호화되지 않았으므로, 복호화기에서는 SizeID와 MatrixID에 해당하는 양자화된 변환계수(transform coefficient)에 대해 어떤 양자화 행렬 정보를 사용해서 역양자화를 수행해야 하는지 알 수 없다. 따라서, scaling_list_update_flag[SizeID][MatrixID]가 0이면, SizeID와 MatrixID에 해당하는 양자화 행렬 정보가 존재하지 않으므로, SizeID와 MatrixID에 해당하는 양자화 행렬은 기본 행렬을 사용하는 것을 의미하거나, 혹은 양자화 행렬을 사용하지 않는 것을 의미할 수 있다.
표 16의 예에서, scaling_list_update_flag[SizeID][MatrixID]는 SizeID와 MatrixID에 따라 부호화되기 때문에, scaling_list_update_flag[SizeID][MatrixID]의 값이 1인 경우에 부호화기는 양자화 행렬, 기본 행렬의 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상의 정보를 부호화할 수 있다.
scaling_list_update_flag[SizeID][MatrixID]의 값이 0인 경우에는 양자화 행렬, 기본 행렬의 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상의 정보를 부호화하지 않는다. 즉, scaling_list_update_flag[SizeID][MatrixID]를 이용하여, 불필요한 양자화 행렬을 부호화하지 않을 수 있다.
scaling_list_update_flag[SizeID][MatrixID]만을 이용해서는 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 크기 혹은 양자화 행렬 종류 별로 기본 행렬과 비-기본 행렬을 혼용해서 사용하지 못 하기 때문에 부호화기에서 양자화 행렬 선택의 자유도가 낮은 단점이 있다.
따라서, 부호화기는 SizeID와 MatrixID에 따른 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 특정하는 정보인 sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]를 파라미터 세트에 부호화할 수 있다.
예컨대, 표 16의 예에서 sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면 SizeID와 MatrixID에 해당하는 양자화 행렬이 부호화되지 않고, SizeID와 MatrixID에 해당하는 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정될 수 있다. sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 SizeID와 MatrixID에 해당하는 양자화 행렬이 부호화되고, 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬을 SizeID와 MatrixID에 해당하는 양자화 행렬에서 사용하지 않게 된다.
표 16의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

또한, 부호화기는 SizeID와 MatrixID에 따라 양자화 행렬의 부호화 여부 및 기본 행렬의 사용 여부를 파라미터 세트에 부호화할 수 있다. 이와 함께, 부호화기는 양자화 행렬 정보를 SizeID와 MatrixID에 대응하는 양자화 행렬 정보로 업데이트 할지를 지시하기 위한 정보로서 scaling_list_update_flag[SizeID][MatrixID]를 부호화 대상 파라미터 내에서 이용할 수도 있다.
표 17은 상술한 바와 같이 SizeID와 MatrixID에 따라 양자화 행렬 정보를 부호화하는 경우에 이용될 수 있는 신택스 구조의 예를 개략적으로 나타낸 것이다.
<표 17>
Figure PCTKR2013000493-appb-I000017
표 17의 예에서, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이고, scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화 된다. 이전에 부호화된 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트 되지 않으며, 이전에 부호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 그대로 이용한다.
또한, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이고, scaling_list_update_flag[SizeID][MatrixID]의 값이 1이면 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화되고, 이전에 부호화된 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트된다.
또한, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이고, scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화되지 않고, 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정된다. 이전에 부호화된 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트되지 않으며, 부호화기와 복호화기는 이전에 부호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 이용하게 된다.
또한, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이고, scaling_list_update_flag[SizeID][MatrixID]의 값도 1이면 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화되지 않고, 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정된다. 이전에 부호화된 SizeID와 MatrixID에 해당하는 양자화 행렬은 부호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트된다.
표 17의 예에서, use_default_scaling_list_flag는 부호화되지 않을 수 있다.

부호화기는 또한, 양자화 행렬을 예측 부호화하는 방법의 종류를 결정한 후, 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다.
표 18과 표 19는 양자화 행렬을 예측 부호화하는 방법을 파라미터 세트에 부호화하는 경우에 적용될 수 있는 신택스 예를 개략적으로 나타낸 것이다.
<표 18>
Figure PCTKR2013000493-appb-I000018
<표 19>
Figure PCTKR2013000493-appb-I000019
표 18의 예와 같이, 부호화기는 양자화 행렬을 예측 부호화하는 방법을 특정하는 정보인 pred_mode_flag를 적응 파라미터 세트에 부호화할 수 있다. 본 명세서에서 후술될 scaling_list_pred_mode_flag는 pred_mode_flag와 동일한 의미로 해석될 수 있다.
예컨대, 표 18의 예에서, pred_mode_flag의 값이 1이면 부호화기는 양자화 행렬을 DPCM(Differential Pulse Code Modulation)과 지수-골롬 코드로 부호화할 수 있다. pred_mode_flag의 값이 0이면 부호화기는 양자화 행렬의 계수 값들이 이전에 부호화된 양자화 행렬 계수 값들과 동일한 값을 가지도록 결정할 수 있다. 이때, 양자화 행렬의 계수 값들과 이전에 부호화된 양자화 행렬 계수 값들은 서로 다른 양자화 행렬 내의 값일 수 있다.
양자화 행렬의 예측 부호화 방법이 부호화 대상 양자화 행렬을 이전에 부호화된 양자화 행렬과 동일하게 결정하는 방법이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에 부호화할 수 있다.
따라서, 표 18의 예와 같이, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 pred_matrix_id_delta를 적응 파라미터 세트에 부호화할 수 있다.
본 명세서에서 후술될 scaling_list_pred_matrix_id_delta는 pred_matrix_id_delta와 동일한 의미로 해석될 수 있다. 이때, 부호화기와 복호화기는 pred_matrix_id_delta와 수식 1을 이용해서 부호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID의 값을 결정할 수 있다.
<수식 1>
RefMatrixID = MatrixID - ( 1 + pred_matrix_id_delta )
양자화 행렬의 예측 부호화 방법이 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 이전에 부호화된 양자화 행렬 계수 값은 부호화 대상 양자화 행렬 내의 계수 값일 수 있다. 즉, 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬의 계수 값은 동일한 양자화 행렬 내의 값들일 수 있다.
따라서, 표 19의 예와 같이, 부호화기는 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 delta_coef를 적응 파라미터 세트에 부호화할 수 있다. 본 명세서에서 후술될 delta_coef는 scaling_list_delta_coef와 동일한 의미로 해석될 수 있다.

부호화기는 아래의 방법을 이용해서 시퀀스 혹은 픽처 혹은 슬라이스 내에서 기본 양자화 행렬 및 비-기본 양자화 행렬을 혼용해서 사용할 수 있으며, 불필요한 양자화 행렬 전송을 방지할 수 있다.
양자화 행렬의 예측 부호화 방법이 부호화기가 이미 가지고 있는 이전에 부호화된 양자화 행렬과 동일하게 결정하는 방법(pred_mode_flag=0)이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 이용하여 기본 행렬의 사용 여부를 파라미터 세트에 부호화할 수 있다.
예컨대, 표 18의 예와 같이, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 pred_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 이때, 부호화기와 복호화기는 pred_matrix_id_delta와 수식 2를 이용해서 부호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID을 결정하고 기본 행렬의 사용 여부를 결정할 수 있다.
<수식 2>
RefMatrixID = MatrixID - pred_matrix_id_delta
수식 2에서, RefMatrixID 값이 MatrixID 값과 동일하면, SizeID와 RefMatrixID에 해당하는 양자화 행렬 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬의 계수 값과 동일하게 결정된다. 이때, 기본 행렬은 SizeID 및 RefMatrixID에 의해 특정되는 기본 행렬을 의미한다.
또한, pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 MatrixID 값은 동일하게 된다. RefMatrixID 값이 MatrixID 값과 동일하지 않으면, 부호화기는 RefMatrixID에 해당하는 양자화 행렬을 부호화 대상 양자화 행렬의 참조 양자화 행렬로 결정할 수 있다. 이 경우, 부호화기는 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정할 수 있다.
SizeID에 해당하는 양자화 행렬의 크기가 복호화기에서 사용 가능한 변환 유닛의 최소 크기와 최대 크기에 포함되면, 상기 방법을 이용하여 부호화 대상 양자화 행렬의 참조 양자화 행렬 및 기본 행렬 사용 여부를 결정할 수 있다. SizeID에 해당하는 양자화 행렬의 크기가 복호화기에서 사용 가능한 변환 유닛의 최소 크기와 최대 크기의 범위에 포함되지 않으면, SizeID에 해당하는 양자화 행렬에 대한 부호화 방법을 기본 행렬과 동일하게 결정하지 않을 수 있다. SizeID와 변환 유닛의 최대 크기와 변환 유닛의 최소 크기 사이의 차이 값에 따라 양자화 행렬, 기본 행렬의 사용 여부, 예측 부호화 방법의 종류 중 적어도 하나 이상에 대한 정보를 부호화할 때 상기 결정하는 과정이 수행될 수 있다.

부호화기는 양자화 행렬의 사용 여부를 결정한 후, 양자화 행렬의 사용 여부에 관한 정보를 파라미터 세트에 부호화할 수 있다.
표 20은 양자화 행렬의 사용 여부에 관한 정보를 파라미터 세트에 부호화하는 일 예를 개략적으로 나타낸 것이다.
<표 20>
Figure PCTKR2013000493-appb-I000020
표 20의 예와 같이, 부호화기는 양자화 행렬의 사용 여부에 관한 정보인 scaling_list_enable_flag를 파라미터 세트에 부호화할 수 있다.
표 20의 예에서, scaling_list_enable_flag의 값이 1이면 양자화/역양자화에서 기본 행렬 혹은 비-기본 행렬 등의 양자화 행렬이 사용될 수 있으며, 반대로 scaling_list_enable_flag의 값이 0이면 양자화/역양자화에서 양자화 행렬이 사용되지 않거나 혹은 모든 계수 값이 동일한 양자화 행렬이 사용될 수 있다. 이때, 모든 계수 값은 16일 수 있다.

또한, 양자화 행렬의 예측 부호화 방법이 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이를 파라미터 세트에 부호화할 수 있다. 이때, 이전에 부호화된 양자화 행렬의 계수 값은 부호화 대상 양자화 행렬 내의 계수 값일 수 있다. 즉, 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬의 계수 값은 동일한 양자화 행렬 내의 값들일 수 있다.
표 21은 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이를 이용하여 양자화 행렬 정보를 부호화하는 경우에 이용할 수 있는 신택스 구조의 일 예를 개략적으로 나타낸 것이다.
<표 21>
Figure PCTKR2013000493-appb-I000021
표 21의 예에서는 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차이 값인 delta_coef가 파라미터 세트에 부호화된다.
표 21의 예에서는, 수식 3을 이용하여 양자화 행렬의 계수를 산출할 수 있다.
<수식 3>
Nextcoef = (nextcoef+delta_coef+256)%256
수식 3을 이용해 계산된 양자화 행렬 계수 값 nextcoef가 (1) 특정 값과 같고 (2) 양자화 행렬의 첫 번째 값이라면, 해당 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬의 계수 값과 동일하게 결정될 수 있다.
즉, nextcoef의 값이 (1) 특정 값과 같고 (2) 양자화 행렬의 첫 번째 값이라면 해당 양자화 행렬이 기본 행렬로 사용될 수 있다.
이때, 특정 값은 0일 수 있다. 그리고, 기본 행렬은 SizeID와 MatrixID에 해당하는 기본 행렬일 수 있다. 따라서, 양자화 행렬의 계수 값 nextcoef이 0와 같고 양자화 행렬의 첫 번째 값에 해당한다면 해당 양자화 행렬에 대한 양자화 행렬 차이 값의 부호화를 중지할 수 있다.

양자화 행렬의 예측 부호화 방법이 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이를 파라미터 세트에 부호화할 수 있다. 이때, 이전에 부호화된 양자화 행렬의 계수 값은 부호화 대상 양자화 행렬 내의 계수 값일 수 있다. 즉, 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬의 계수 값은 동일한 양자화 행렬 내의 값들일 수 있다.
표 22는 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상인 양자화 행렬의 계수 값 사이의 차이를 이용하는 경우에 대한 신택스 구조의 일 예를 간단히 나타낸 것이다.
<표 22>
Figure PCTKR2013000493-appb-I000022
표 22의 예에서는, 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 delta_coef를 파라미터 세트에 부호화한다. 표 22의 예에서, 수식 3을 이용해 계산된 양자화 행렬 계수 값 nextcoef가 특정 값과 같고 양자화 행렬의 첫 번째 값이라면 해당 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬의 계수 값과 동일하게 결정될 수 있다.
즉, nextcoef가 (1) 특정 값과 같고 (2) 양자화 행렬의 첫 번째 값이라면 해당 양자화 행렬을 기본 행렬로 사용할 수 있다. 이때, 특정 값은 0일 수 있으며, 수식 3에 따라서 계산된 양자화 행렬 계수 값은 4x4와 8x8 의 양자화 행렬 크기 혹은 변환 크기의 양자화 행렬 계수 값일 수 있다.
또한, 양자화 행렬의 첫 번째 값은 scaling_list_dc_coef_minus8 을 이용하는 값일 수 있으며, 특정 값은 scaling_list_dc_coef_minus8 + 8에 해당하는 값일 수도 있다.
이때, scaling_list_dc_coef_minus8 은 16x16 크기를 갖는 양자화 행렬 또는 32x32 크기를 갖는 양자화 행렬의 첫 번째 값을 의미할 수 있다. 즉, scaling_list_dc_coef_minus8는 DC 행렬 계수에 대한 양자화 행렬의 계수 값을 의미할 수 있으며, DC 행렬 계수를 의미할 수 있다. 본 명세서에서 DC 행렬 계수는 역양자화 시 사용하는 양자화 행렬 내에 존재하며, 변환 블록 내 DC 변환 계수에 대한 양자화 행렬 계수를 의미할 수 있다.
예컨대, scaling_list_dc_coef_minus8[sizeID - 2][matrixID]은 sizeID가 2일 때는, 16x16 크기의 양자화 행렬 혹은 변환에서 DC 계수에 대한 양자화 행렬의 계수 값을 의미할 수 있다. scaling_list_dc_coef_minus8[sizeID - 2][matrixID]은 sizeID가 3일 때, 32x32 크기의 양자화 행렬 혹은 변환에서 DC 계수에 대한 양자화 행렬의 계수 값을 의미할 수 있다.
또한, 앞서 설명한 기본 행렬은 SizeID와 MatrixID에 해당하는 기본 행렬을 의미할 수 있다. 상술한 바와 같이, 양자화 행렬의 계수 값 nextcoef이 0와 같고 양자화 행렬의 첫 번째 값이라면 해당 양자화 행렬에 대한 양자화 행렬 차이 값의 부호화를 중지할 수 있다.
이 방법을 이용하면 양자화 행렬의 크기 혹은 변환 크기에 따라, DC 행렬 계수에 대한 양자화 행렬의 계수 값인 scaling_list_dc_coef_minus8에 대한 부호화 여부 및 기본 행렬의 사용 여부에 대한 부호화를 다르게 할 수 있다.

한편, 양자화 행렬의 계수 값을 이용해 기본 행렬 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬의 계수 값에 대한 부호화/복호화 과정의 복잡도가 증가하는 단점이 있다.
아래는 영상 부호화/복호화에 있어서 참조 양자화 행렬에 대한 식별자(참조 양자화 행렬 식별자)를 이용하여 기본 행렬(dafault matrix)의 사용 여부를 결정하는 방법을 제공한다. 따라서, 아래의 방법을 이용하면 양자화 행렬의 부호화/복호화 시 계산의 복잡도를 감소시킬 수 있다.
표 23과 표 24는 참조 양자화 행렬에 대한 식별자를 이용하는 경우에 적용할 수 있는 신택스 구조의 일 예를 간단히 나타낸 것이다.
<표 23>
Figure PCTKR2013000493-appb-I000023
<표 24>
Figure PCTKR2013000493-appb-I000024
일단, 부호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 23의 예와 같이, 부호화기는 양자화 행렬의 비트스트림 내 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 양자화 행렬들을 기본 양자화 행렬로 결정하면 scaling_list_present_flag의 값을 0으로 부호화할 수 있고, 부호화된 양자화 행렬이 존재하면 scaling_list_present_flag의 값을 1로 부호화할 수 있다.
부호화기는 양자화 행렬에 대한 예측 부호화 방법의 종류를 결정하고, 결정된 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 양자화 행렬의 예측 부호화 방법에 관한 정보가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 23의 예와 같이, 부호화기는 양자화 행렬의 예측 부호화 방법을 특정하는 정보인 scaling_list_pred_mode_flag 를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬의 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화한다. 또한, 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우 혹은 부호화 대상 양자화 행렬의 계수 값을 기본 행렬 계수 값과 동일하게 결정하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화할 수 있다.
이때, 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 사용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측에 있어서 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법인 경우에, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부를 파라미터 세트에 부호화할 수 있다. 이때, 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 23의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우 혹은 부호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다.
이때, 부호화기는 부호화 대상 양자화 행렬을 지시하는 matrixID와 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID 그리고 수식 4를 이용해서 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta의 값을 결정할 수 있다.
<수식 4>
scaling_list_pred_matrix_id_delta = matrixID - RefMatrixID
부호화 대상 양자화 행렬의 계수 값이 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬의 계수 값과 동일하게 결정된 경우, 부호화기는 scaling_list_pred_matrix_id_delta의 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하게 한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미할 수 있다.
부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한 경우(즉 이전에 부호화된 양자화 행렬 계수 값과 동일하게 결정하는 경우), 부호화기는 scaling_list_pred_matrix_id_delta 값을 0이 아닌 값으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하지 않도록 할 수 있다. 이때, scaling_list_pred_matrix_id_delta 값은 양의 정수 값일 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이 값이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 24의 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID=2) 혹은 32x32 (sizeID=3)일 경우, 부호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트에 부호화할 수 있다.
표 24의 예와 같이, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다. 표 23과 24에서에서는 양자화 행렬 정보를 적응 파라미터 세트에 부호화하는 경우를 예시하였으나, 본 발명은 이에 한정하지 않으며, 부호화기는 다른 파라미터 세트(시퀀스 파라미터 세트, 픽처 파라미터 세트 중 적어도 하나를 포함하는 파라미터 세트)에 양자화 행렬 정보를 부호화할 수도 있다.

상술한 바와 같이, 종래의 양자화 행렬 부호화/복호화에서는 양자화 행렬의 예측 시 불필요한 정보를 부호화/복호화하기 때문에 부호화 효율이 저하되는 단점이 있다.
본 발명에서는 참조 양자화 행렬의 존재 유무에 따라 양자화 행렬 부호화/복호화를 달리 수행하여 양자화 행렬 부호화/복호화 시 부호화 효율을 향상시킬 수 있다.
표 25 및 표 26은 참조 양자화 행렬의 존재 유무에 따라 양자화 행렬 부호화/복호화를 달리하는 경우에 적용할 수 있는 신택스 구조의 일 예를 간단히 나타낸 것이다.
<표 25>
Figure PCTKR2013000493-appb-I000025
<표 26>
Figure PCTKR2013000493-appb-I000026
우선, 부호화기는 양자화 행렬 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 25의 예와 같이, 부호화기는 양자화 행렬의 비트스트림 내 존재 유무를 지시하는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하는 경우에는 scaling_list_present_flag의 값을 0으로 부호화할 수 있고, 부호화된 양자화 행렬이 존재하는 경우에는 scaling_list_present_flag의 값을 1로 부호화할 수 있다.
부호화기는 양자화 행렬의 예측 부호화 방법 종류에 대해 결정한 후, matrixID가 0보다 클 경우에 양자화 행렬의 예측 부호화 방법 정보를 파라미터 세트에 부호화할 수 있다. 이때, 양자화 행렬의 예측 부호화 방법 정보가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 25의 예와 같이, 부호화기는 양자화 행렬의 예측 부호화 방법을 특정하는 정보인 scaling_list_pred_mode_flag 를 matrixID가 0보다 클 경우에만 파라미터 세트에 부호화할 수 있다. 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화한다. 또한, 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화한다. 이때, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬 계수 값을 부호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
matrixID가 0인 경우에는 표 23의 예와 같이, scaling_list_pred_mode_flag의 값이 참(TRUE)이 되어 부호화기는 scaling_list_pred_mode_flag를 부호화하지 않고, 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 동일하게 결정하는 방법이며 matrixID가 0보다 클 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에 부호화할 수 있다. 이때, 참조 양자화 행렬 식별자가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 25의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 matrixID가 0보다 클 경우에만 파라미터 세트에 부호화할 수 있다. 이때, 부호화기와 복호화기는 부호화 대상 양자화 행렬을 지시하는 matrixID와 참조 양자화 행렬을 지시하는 RefMatrixID 그리고 수식 5를 이용해서 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta의 값을 결정할 수 있다.
<수식 5>
scaling_list_pred_matrix_id_delta = matrixID - (RefMatrixID + 1)
matrixID의 값이 0인 경우는 각 sizeID 별로 첫 번째 양자화 행렬을 지시한다. 양자화 행렬의 예측이 동일한 sizeID를 가지는 이전에 부호화된 양자화 행렬로부터만 가능하므로, sizeID 별 첫 번째 양자화 행렬에 대해서는 동일한 sizeID 값을 가지는 참조 양자화 행렬이 존재하지 않는다. 따라서, 행렬 복사에 의한 양자화 행렬의 예측을 수행할 수 없다. 결국, matrixID가 0보다 큰 경우에만 부호화기는 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 부호화하여 RefMatrixID을 결정하고, 부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정할 수 있다.
부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정하는 것은 RefMatrixID에 대응하는 참조 양자화 행렬을 부호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이값이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 26의 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 부호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트에 부호화할 수 있다.
표 26의 예와 같이, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다.
또한 부호화기는 scaling_list_dc_coef_minus8 혹은 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 부호화할 수 있다. 즉, 부호화기는 scaling_list_dc_coef_minus8의 값을 -8로 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수 있으며, 첫 번째 nextCoef 값이 0이 되게 scaling_list_delta_coef를 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수 있다.

한편, 양자화 행렬의 계수 값을 이용해 기본 행렬 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬의 계수 값에 대한 부호화/복호화 과정의 복잡도를 증가시키는 단점이 있다. 또한, 양자화 행렬 예측 시 불필요한 정보를 부호화/복호화 하기 때문에 부호화 효율이 저하되는 단점이 있다.
본 발명에서는 영상 부호화/복호화에서 참조 양자화 행렬의 식별자를 이용하여 기본 행렬의 사용 여부를 결정하기 때문에 양자화 행렬의 부호화/복호화 시 계산 복잡도를 감소시킬 수 있다. 또한, 본 발명에서는 참조 양자화 행렬의 존재 유무에 따라 양자화 행렬의 부호화/복호화를 달리 수행하여 양자화 행렬의 부호화/복호화 시 부호화 효율을 향상시킬 수 있다.
표 27과 표 28은 참조 양자화 행렬의 식별자를 이용하는 경우에 적용 가능한 신택스 구조의 일 예를 간단히 나타낸 것이다.
<표 27>
Figure PCTKR2013000493-appb-I000027
<표 28>
Figure PCTKR2013000493-appb-I000028
부호화기는 우선 양자화 행렬 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 27의 예와 같이, 부호화기는 양자화 행렬의 비트스트림 내 존재 유무를 특정하는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하는 경우에 부호화기는 scaling_list_present_flag의 값을 0으로 부호화할 수 있고, 부호화된 양자화 행렬이 존재하는 경우에 부호화기는 scaling_list_present_flag의 값을 1로 부호화할 수 있다.
부호화기는 양자화 행렬에 대한 예측 부호화 방법의 종류를 결정한 후, 양자화 행렬의 예측 부호화 방법에 대한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 예측 부호화 방법에 대한 정보가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 27의 예와 같이, 부호화기는 양자화 행렬의 예측 부호화 방법에 대한 정보인 scaling_list_pred_mode_flag 를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화할 수 있다. 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우 혹은 부호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화 할 수 있다. 이때, 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법이며 matrixID가 0보다 클 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬 사용 여부를 파라미터 세트에 부호화할 수 있다. 이때, 참조 양자화 행렬 식별자와 기본 행렬 사용 여부를 부호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 27의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우 혹은 부호화 대상 양자화 행렬의 계수 값을 기본 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 matrixID가 0보다 클 경우에만 부호화 대상 양자화 행렬에 대한 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다.
이때, 부호화기는 부호화 대상 양자화 행렬을 지시하는 matrixID와 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID 그리고 수식 6을 이용해서 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 결정할 수 있다.
<수식 6>
scaling_list_pred_matrix_id_delta = matrixID - RefMatrixID
부호화 대상 양자화 행렬의 계수 값이 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정된 경우, 부호화기는 scaling_list_pred_matrix_id_delta의 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하게 할 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.
부호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬 계수 값과 동일하게 결정된 경우, 부호화기는 scaling_list_pred_matrix_id_delta 값을 0이 아닌 값으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하지 않게 할 수 있다.
또한, scaling_list_pred_mode_flag의 값이 0이면 양자화 행렬의 예측 부호화 방법이 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법을 나타낸다. 이 경우 양자화 행렬 예측은 동일한 sizeID를 가지는 이전에 부호화된 양자화 행렬 혹은 기본 행렬로부터 가능하다.
matrixID가 0이면 각 sizeID 별로 첫 번째 양자화 행렬을 의미하므로, scaling_list_pred_mode_flag의 값이 0이고 matrixID가 0이면, sizeID 별 첫 번째 양자화 행렬에 대해서는 동일한 sizeID 값을 가지는 참조 양자화 행렬이 존재하지 않는다. 따라서, sizeID 별 첫 번째 양자화 행렬에 대해서는 행렬 복사와 같은 방법의 양자화 행렬 예측을 수행할 수 없다.
이런 경우에 부호화기는 scaling_list_pred_matrix_id_delta를 부호화하지 않고 scaling_list_pred_matrix_id_delta 값을 0으로 유추할 수 있다. scaling_list_pred_matrix_id_delta의 값이 0이면 RefMatrixID 값이 matrixID 값과 동일하기 때문에, sizeID와 matrixID에 해당하는 부호화 대상 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정될 수 있다. 여기서, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이 값이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 28의 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 부호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트에 부호화할 수 있다.
양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef는 표 28의 예와 같이, 파라미터 세트에 부호화될 수 있다.

종래의 양자화 행렬 부호화/복호화는 양자화 행렬 전송 시 행렬 내의 전체 계수들과 DC 행렬 계수를 부호화/복호화하는데, 이때 DC 행렬 계수에 대해 예측 부호화/복호화를 하지 않기 때문에 부호화 효율의 향상에 한계가 있다.
이와 달리 양자화 행렬 내 DC 행렬 계수의 예측 부호화/복호화를 수행하면, 부호화 효율을 향상시킬 수 있다.
여기서 본 발명은 DC 행렬 계수를 상수 8로부터 예측하지 않고, 주변 계수 간의 높은 상관도를 이용하여 주변 AC 계수들로부터 예측하는 방법을 제공한다. 이를 통해서 본 발명에 의하면 부호화 효율을 향상시킬 수 있다.
표 29와 표 30은 DC 행렬 계수를 주변 계수 간의 상관도를 이용하여 예측하는 경우에 적용되는 신택스 구조의 일 예를 간단히 나타낸 것이다.
<표 29>
Figure PCTKR2013000493-appb-I000029
<표 30>
Figure PCTKR2013000493-appb-I000030
표 29 및 표 30에 따른 실시예에서는 양자화 행렬의 부호화/복호화 순서와 양자화 행렬의 복원 순서를 일치시킨다. 따라서, DC 행렬 계수를 저장해야 할 메모리 공간을 절약할 수 있다. 또한, 표 29 및 표 30에 따른 실시예에서는 기본 행렬의 사용 여부를 지시할 때, 여러 신택스 요소를 이용하지 않고 신택스 요소 scaling_list_delta_coef만을 이용할 수 있다.
부호화기는 우선 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 28의 예와 같이, 부호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬이 기본 양자화 행렬로 결정되는 경우에, 부호화기는 scaling_list_present_flag의 값을 0으로 부호화하고, 부호화된 양자화 행렬이 존재하는 경우에, 부호화기는 scaling_list_present_flag의 값을 1로 부호화할 수 있다.
양자화 행렬의 예측 부호화 방법 종류에 대해 결정한 후, 부호화기는 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 예측 부호화 방법이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 29의 예와 같이, 양자화 행렬의 예측 부호화 방법 정보인 scaling_list_pred_mode_flag 를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화할 수 있다. 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정되는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화할 수 있다. 이때, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 동일하게 양자화 행렬을 결정하는 방법이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에 부호화할 수 있다. 이때, 참조 양자화 행렬 식별자를 부호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 29의 예와 같이, 부호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬의 계수 값과 동일하게 결정된 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 이때, 부호화 대상 양자화 행렬을 의미하는 matrixID와 참조 양자화 행렬을 지시하는 RefMatrixID 그리고, 아래의 수식 7을 이용해서 부호화기는 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 결정할 수 있다.
<수식 7>
scaling_list_pred_matrix_id_delta = matrixID - (RefMatrixID + 1)
부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 부호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법인 경우에, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이값을 부호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 30의 예와 같이, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다.
이때, 부호화기는 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 부호화할 수 있다. 예컨대, 부호화기는 첫 번째 nextCoef의 값이 0이 되게 scaling_list_delta_coef를 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수 있다.
부호화기는 표 30의 예와 같이, DC 행렬 계수에 해당하는 양자화 행렬 계수 값의 차이 값인 scaling_list_dc_coef_res를 파라미터 세트에 부호화할 수 있다. 이때, scaling_list_dc_coef_res는 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3) 양자화 행렬이고 기본 행렬을 사용하지 않을 경우 (useDefaultScalingMatrixFlag =0)에 부호화될 수 있다.
표 30의 예에서 DC 행렬의 계수를 별도로 부호화하는 16x16 혹은 32x32 양자화 행렬에 대한 scaling_list_dc_coef_res의 값은 DC 행렬 계수 값과 DC 위치에 존재하는 행렬 계수와의 차이를 이용해서 계산될 수 있다.

한편, 양자화 행렬의 계수 값을 이용해 기본 행렬 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬의 계수 값에 대한 부호화/복호화 과정의 복잡도를 증가시키는 단점이 있다. 또한, 종래에는 양자화 행렬의 전송 시에 행렬 내의 전체 계수들과 DC 행렬 계수를 부호화/복호화하는데, 이때 DC 행렬 계수에 대해서는 예측 부호화/복호화하지 않기 때문에 부호화 효율의 향상에 한계가 있다.
본 발명에서는 영상 부호화/복호화에서 참조 양자화 행렬의 식별자를 이용하여 기본 행렬 사용 여부를 결정한다. 따라서, 양자화 행렬의 부호화/복호화 시 계산 복잡도를 감소시킬 수 있다. 또한, 본 발명에서는 양자화 행렬 내 DC 행렬 계수에 대한 예측 부호화/복호화를 수행하기 때문에 부호화 효율을 향상시킬 수 있다. 뿐만 아니라, DC 행렬의 계수를 상수 8로부터 예측하지 않고, 주변 계수 간의 높은 상관도를 이용하여 주변 AC 계수들로부터 예측하기 때문에 부호화 효율을 향상시킬 수 있다.
표 31 및 표 32는 상술한 특징들을 모두 적용하는 경우에 이용될 수 있는 신택스 구조의 일 예를 개략적으로 나타낸 것이다.
<표 31>
Figure PCTKR2013000493-appb-I000031
<표 32>
Figure PCTKR2013000493-appb-I000032
표 31 및 표 32의 실시예에서는 양자화 행렬의 부호화/복호화 순서와 양자화 행렬의 복원 순서를 일치시킨다. 따라서, DC 행렬 계수를 저장해야 할 메모리 공간을 절약할 수 있다. 또한 표 31 및 표 32의 실시예에서는 기본 행렬의 사용 여부를 지시할 때, 여러 신택스 요소를 이용하지 않고 신택스 요소 scaling_list_delta_coef만을 이용할 수 있다.
우선 부호화기는 양자화 행렬 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 31의 예와 같이, 부호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하는 경우에, 부호화기는 scaling_list_present_flag의 값을 0으로 부호화할 수 있고, 부호화된 양자화 행렬이 존재하는 경우에, 부호화기는 scaling_list_present_flag의 값을 1로 부호화할 수 있다.
양자화 행렬에 대한 예측 부호화 방법의 종류를 결정한 후, 부호화기는 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 예측 부호화 방법을 부호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 31의 예와 같이, 부호화기는 양자화 행렬의 예측 부호화 방법을 특정하는 정보인 scaling_list_pred_mode_flag 를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화한다. 또한, 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우 혹은 부호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화한다. 이때, 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬 사용 여부를 파라미터 세트에 부호화할 수 있다. 이때, 부호화가 수행되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 31의 예와 같이, 부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한 경우 혹은 부호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다.
이때, 부호화 대상 양자화 행렬을 의미하는 matrixID와 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID와 그리고 수식 8을 이용해서 부호화기 및 복호화기는 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta의 값을 결정할 수 있다.
<수식 8>
scaling_list_pred_matrix_id_delta = matrixID - RefMatrixID
부호화 대상 양자화 행렬 계수 값이 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정된 경우, 부호화기는 scaling_list_pred_matrix_id_delta의 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하게 할 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.
부호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬 계수 값과 동일하게 결정된 경우, 부호화기는 scaling_list_pred_matrix_id_delta의 값을 0이 아닌 값으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하지 않게 할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이 값이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 32의 예와 같이, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다.
부호화기는 표 32의 예와 같이, DC 행렬의 계수에 해당하는 양자화 행렬의 계수 값의 차이 값인 scaling_list_dc_coef_res를 파라미터 세트에 부호화할 수 있다. 이때, scaling_list_dc_coef_res는 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID=2) 혹은 32x32 (sizeID=3)이고, 기본 행렬을 사용하지 않을 경우 (useDefaultScalingMatrixFlag = 0)에 부호화될 수 있다.
DC 행렬 계수를 별도로 부호화하는 16x16 양자화 행렬 혹은 32x32 양자화 행렬에 대한 scaling_list_dc_coef_res 값은 DC 행렬 계수 값과 DC 위치에 존재하는 행렬의 계수와의 차이를 이용해서 계산될 수 있다.

한편, 종래의 양자화 행렬 부호화/복호화에서는 부호화/복호화를 할 때의 양자화 행렬의 크기가 아니라 양자화와 역양자화를 할 때의 양자화 행렬의 크기를 이용하여 양자화 행렬의 복사를 수행하기 때문에, 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하게 된다. 따라서, 양자화 행렬 부호화/복호화 시 부호화 효율의 향상에 한계가 있다.
본 발명에서는 부호화/복호화를 할 때의 양자화 행렬의 크기와 동일한 양자화 행렬로부터 양자화 행렬의 예측을 수행하기 때문에 부호화 효율의 향상 및 양자화 행렬 예측의 자유도를 증가시킬 수 있다.
표 33과 표 34는 부호화/복호화를 할 때의 양자화 행렬의 크기와 동일한 양자화 행렬로부터 양자화 행렬의 예측을 수행하는 경우에 이용할 수 있는 신택스 구조의 일 예들을 개략적으로 나타낸 것이다.
<표 33>
Figure PCTKR2013000493-appb-I000033
<표 34>
Figure PCTKR2013000493-appb-I000034
부호화기는 우선 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 33 또는 표 34의 예와 같이, 부호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하는 경우, 부호화기는 scaling_list_present_flag의 값을 0으로 부호화 할 수 있고, 부호화된 양자화 행렬이 존재하는 경우, 부호화기는 scaling_list_present_flag의 값을 1로 부호화 할 수 있다.
양자화 행렬에 대한 예측 부호화 방법의 종류를 결정한 후, 부호화기는 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 예측 부호화 방법이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다. 예를 들어, 부호화기는 표 33 혹은 표 34의 예와 같이, 양자화 행렬의 예측 부호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트에 부호화할 수 있다. 구체적인 예로서, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화할 수 있으며, 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화 할 수 있다. 이때, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
또한, 양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 양자화 행렬을 동일하게 결정하는 방법이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에 부호화할 수 있다. 이때, 참조 양자화 행렬의 식별 정보(식별자)로서 부호화 대상 양자화 행렬의 참조 양자화 행렬의 크기를 특정하는 정보와 참조 양자화 행렬을 특정하는 정보 중 적어도 하나가 파라미터 세트에 부호화되도록 할 수도 있다. 식별자 혹은 식별 정보가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대, 표 33의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬에 관한 식별 정보인 scaling_list_pred_size_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다. 이때, 부호화 대상 양자화 행렬의 참조 양자화 행렬의 크기인 RefSizeID와 참조 양자화 행렬을 지시하는 RefMatrixID 그리고 수식 9를 이용해서 양자화 행렬의 식별 정보인 scaling_list_pred_size_matrix_id_delta의 값이 결정될 수 있다.
<수식 9>
scaling_list_pred_size_matrix_id_delta = 6 * (RefSizeID - sizeID ) + (RefMatrixID % 6)
또 다른 예로 표 34의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬에 관한 식별 정보인 scaling_list_pred_size_id_delta와 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 이때, RefSizeID와 수식 10을 이용해서 scaling_list_pred_size_id_delta의 값이 결정될 수 있고, 부호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID와 수식 11을 이용해서 scaling_list_pred_matrix_id_delta의 값이 결정될 수 있다.
<수식 10>
scaling_list_pred_size_id_delta = sizeID - RefSizeID
<수식 11>
scaling_list_pred_matrix_id_delta = matrixID - RefMatrixID
부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한다는 것은 RefSizeID와 RefMatrixID에 해당하는 참조 양자화 행렬을 부호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
따라서, 표 33 또는 표 34의 예를 통해 동일한 sizeID를 가지는 양자화 행렬로부터의 양자화 행렬 예측만 허용하지 않고, 부호화/복호화 시의 행렬 크기는 동일하지만 다른 sizeID를 가지는 양자화 행렬로부터 양자화 행렬을 예측할 수 있게 된다.
또한, 표 33의 예 또는 표 34의 예에서, 신택스 요소들의 값의 범위가 특정한 값으로 제한될 수도 있다. 예를 들어, 표 33 또는 표 34의 예에서 scaling_list_pred_size_matrix_id_delta는 0부터 17 사이의 값을 가질 수 있고, scaling_list_pred_size_id_delta는 0부터 2 사이의 값을 가질 수 있으며, scaling_list_pred_matrix_id_delta 는 0부터 5 사이의 값을 가질 수 있도록 제한할 수 있다.
또한, 표 33 또는 표 34의 실시예에서 부호화기는 부호화 대상 양자화 행렬보다 더 큰 크기를 가지는 양자화 행렬로부터는 양자화 행렬의 예측을 수행하지 않을 수 있다.
더 나아가, 양자화 행렬의 크기별로 DC 행렬 계수와 AC 행렬 계수를 나누어 예측하도록 할 수도 있다. 예컨대, 8x8 크기를 가지는 양자화 행렬에 대해서는 DC 행렬 계수와 AC 행렬 계수를 나누어 예측하고 나머지 크기의 양자화 행렬에 대해서는 DC 행렬 계수와 AC 행렬 계수를 함께 예측할 수 있다. 다시 말하면, 8x8의 크기를 가지는 양자화 행렬부터 예측을 수행하는 경우, 부호화기는 8x8의 크기를 가지는 양자화 행렬 내 DC 행렬 계수 위치에 해당하는 값을 부호화 대상 행렬의 DC 행렬 계수로 판단하여, 해당 위치의 값을 예측할 수 있다. 16x16 혹은 32x32의 크기를 가지는 양자화 행렬로부터 예측을 수행하는 경우, 부호화기는 양자화 행렬의 DC 행렬 계수도 함께 예측할 수 있다.

한편, 양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 35는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값을 이용하여 양자화 행렬 내 계수를 예측하는 경우에 적용될 수 있는 신택스 구조의 일 예를 나타낸 것이다.
<표 35>
Figure PCTKR2013000493-appb-I000035
표 35의 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID=2) 혹은 32x32 (sizeID=3)일 경우, 부호화기는 DC 행렬의 계수 정보인 scaling_list_dc_coef_minus8를 파라미터 세트에 부호화할 수 있다.
표 35의 예와 같이, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다.
또한, 부호화기는 scaling_list_dc_coef_minus8 혹은 nextCoef의 값을 유도하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 지시하는 정보를 부호화할 수 있다. 예컨대, 부호화기는 scaling_list_dc_coef_minus8의 값을 -8로 부호화하여 기본 행렬 사용을 복호화기에 지시할 수 있으며, 첫 번째 nextCoef 값이 0이 되게 scaling_list_delta_coef를 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수 있다.

다시 말하지만, 양자화 행렬의 계수 값을 이용해 기본 행렬 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬의 계수 값에 대한 부호화/복호화 과정의 복잡도를 증가시키는 단점이 있다. 또한, 양자화 행렬 예측 시 불필요한 정보를 부호화/복호화 하기 때문에 부호화 효율이 저하되는 단점이 있다. 또한, 부호화/복호화 시의 양자화 행렬의 크기가 아닌 양자화와 역양자화 시의 양자화 행렬의 크기를 이용하여 양자화 행렬의 복사를 수행한다. 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하므로 양자화 행렬 부호화/복호화 시 부호화 효율의 향상에 한계가 있다.
본 발명에서는 영상 부호화/복호화에서 참조 양자화 행렬의 식별자를 이용하여 기본 행렬의 사용 여부를 결정할 수 있다. 따라서, 양자화 행렬 부호화/복호화 시 계산 복잡도를 감소시킬 수 있다. 또한, 부호화/복호화 시의 양자화 행렬의 크기와 동일한 양자화 행렬로부터 양자화 행렬의 예측을 수행하기 때문에 부호화 효율을 향상시키고 양자화 행렬의 예측에 있어 자유도를 증가시킬 수 있다.
표 36 및 표 37은 참조 양자화 행렬의 식별자를 이용하고 부호화/복호화 시의 동일한 크기의 양자화 행렬을 이용하여 예측을 수행하는 경우에 적용될 수 있는 신택스 구조의 일 예들을 간단히 나타낸 것이다.
<표 36>
Figure PCTKR2013000493-appb-I000036
<표 37>
Figure PCTKR2013000493-appb-I000037
부호화기는 우선 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 36 혹은 표 37의 예와 같이, 부호화기는 양자화 행렬의 비트스트림 내 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하는 경우, 부호화기는 scaling_list_present_flag의 값을 0으로 부호화하고, 부호화된 양자화 행렬이 존재하는 경우, 부호화기는 scaling_list_present_flag의 값을 1로 부호화한다.
양자화 행렬에 대한 예측 부호화 방법의 종류를 결정한 후, 부호화기는 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 예측 부호화 방밥에 관한 정보가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 36 또는 표 37의 예와 같이, 부호화기는 양자화 행렬의 예측 부호화 방법을 특정하는 정보인 scaling_list_pred_mode_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화할 수 있다. 또한, 양자화 행렬 간의 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우 혹은 부호화 대상 양자화 행렬의 계수 값을 기본 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화할 수 있다. 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에 부호화할 수 있다. 이때, 참조 양자화 행렬의 식별 정보(식별자)로서 부호화 대상 양자화 행렬의 참조 양자화 행렬의 크기를 특정하는 정보와 참조 양자화 행렬을 특정하는 정보 중 적어도 하나가 파라미터 세트에 부호화되도록 할 수도 있다. 그리고, 식별자 또는 식별 정보가 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대, 표 36의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우 혹은 부호화 대상 양자화 행렬의 계수 값을 기본 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬을 식별하는 정보인 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 이때, 부호화기는 RefSizeID와 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID 그리고 수식 12를 이용해서 양자화 행렬의 식별 정보인 scaling_list_pred_size_matrix_id_delta를 결정할 수 있다.
<수식 12>
scaling_list_pred_size_matrix_id_delta = 6 * (RefSizeID - sizeID ) + (RefMatrixID % 6)
다른 예로 표 37과 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우 혹은 부호화 대상 양자화 행렬의 계수 값을 기본 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬에 대한 식별 정보인 scaling_list_pred_size_id_delta와 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 이때, 부호화기는 RefSizeID와 수식 13을 이용해서 scaling_list_pred_size_id_delta의 값을 유도할 수 있고, 부호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID와 수식 14를 이용해서 scaling_list_pred_matrix_id_delta의 값을 유도할 수 있다.
<수식 13>
scaling_list_pred_size_id_delta = sizeID - RefSizeID
<수식 14>
scaling_list_pred_matrix_id_delta = matrixID - RefMatrixID
부호화 대상 양자화 행렬의 계수 값을 부호화기 및/혹은 복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화기는 scaling_list_pred_matrix_id_delta의 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하도록 할 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.
부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 scaling_list_pred_matrix_id_delta의 값을 0이 아닌 값으로 부호화하여, RefMatrixID 값과 matrixID 값이 동일하지 않게 할 수 있다.
따라서, 표 36 또는 표 37의 예를 통해, 동일한 sizeID를 가지는 양자화 행렬로부터의 양자화 행렬 예측뿐만 아니라, 부호화/복호화 시의 행렬 크기는 동일하지만 다른 sizeID를 가지는 양자화 행렬로부터 양자화 행렬을 예측할 수 있게 된다.
또한, 표 36 또는 표 37의 예에서, scaling_list_pred_size_matrix_id_delta, scaling_list_pred_size_id_delta, scaling_list_pred_matrix_id_delta 값의 범위를 제한할 수도 있다. 예를 들어, scaling_list_pred_size_matrix_id_delta는 0부터 17 사이의 값을 가질 수 있고, scaling_list_pred_size_id_delta는 0부터 2 사이의 값을 가질 수 있고, scaling_list_pred_matrix_id_delta 는 0부터 5 사이의 값을 가질 수 있도록 제한할 수도 있다.
더 나아가, 부호화 대상 양자화 행렬보다 더 큰 크기를 가지는 양자화 행렬로부터는 양자화 행렬의 예측을 수행하지 않도록 할 수도 있다.
양자화 행렬의 예측에 있어서, 행렬의 크기를 고려하여 예측의 방법을 달리할 수도 있다. 예컨대, 8x8의 크기를 가지는 양자화 행렬로부터 예측하는 경우에, 부호화기는 8x8의 크기를 가지는 양자화 행렬 내 DC 계수 위치에 해당하는 값을 DC 행렬 계수로 판단하여, 해당 위치의 값을 예측하고, 16x16 혹은 32x32의 크기를 가지는 양자화 행렬로부터 예측하는 경우에, 부호화기는 DC 행렬 계수도 함께 예측할 수 있다.

한편, 양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법인 경우, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이 값이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 38는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값을 이용하여 양자화 행렬 내 계수를 예측하는 경우에 적용될 수 있는 신택스 구조의 일 예를 나타낸 것이다.
<표 38>
Figure PCTKR2013000493-appb-I000038
표 38의 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID=2) 혹은 32x32 (sizeID=3)일 경우, 부호화기는 DC 행렬의 계수를 특정하는 정보인 scaling_list_dc_coef_minus8를 파라미터 세트에 부호화할 수 있다.
부호화기는 표 38의 예와 같이, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수도 있다.

종래의 양자화 행렬 부호화/복호화에서는 양자화 행렬 내 첫 번째 계수의 부호화/복호화 시 자주 발생하는 계수 값을 고려하지 않고, 양자화 행렬 계수를 부호화하였다. 따라서, 종래의 양자화 행렬 부호화/복호화의 경우, 부호화 효율의 향상에는 한계가 있다.
본 발명에서는 자주 발생하는 계수 값을 이용하여 양자화 행렬 내 첫 번째 계수의 예측 부호화/복호화를 수행할 수 있다. 또한, 본 발명에서는 기본 행렬의 첫 번째 계수 값 혹은 DC 행렬 계수 값은 16으로 정의되어 있거나 비-기본 행렬의 첫 번째 계수 값 혹은 DC 행렬 계수 값이 16을 기준으로 분포가 되어 있는 경우, 부호화/복호화 대상 양자화 행렬 내의 첫 번째 계수 값 혹은 DC 행렬 계수 값도 상수 16으로부터 예측하여 부호화/복호화 할 수 있다. 따라서, 본 발명에 따르면 부호화 효율을 향상시킬 수 있다.
표 39 및 표 40은 양자화 행렬 내 첫 번째 계수를 고려하는 경우에 적용할 수 있는 신택스 구조의 일 예를 개략적으로 나타낸 것이다.
<표 39>
Figure PCTKR2013000493-appb-I000039
<표 40>
Figure PCTKR2013000493-appb-I000040
부호화기는 우선 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에 부호화할 수 있다.
표 39의 예와 같이, 부호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하는 경우, 부호화기는 scaling_list_present_flag의 값을 0으로 부호화할 수 있고, 부호화된 양자화 행렬이 존재하는 경우, 부호화기는 scaling_list_present_flag의 값을 1로 부호화할 수 있다.
양자화 행렬에 대한 예측 부호화 방법의 종류를 결정한 후, 부호화기는 양자화 행렬의 예측 부호화 방법에 관한 정보를 파라미터 세트에 부호화할 수 있다. 이때, 예측 부호화 방법에 관한 정보가 부보화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 39의 예와 같이, 양자화 행렬의 예측 부호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트에 부호화할 수 있다. 예컨대, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM과 지수-골롬 코드로 부호화하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 1로 부호화할 수 있다. 또한, 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 부호화 대상 양자화 행렬이 동일한 값을 가지도록 결정하는 경우, 부호화기는 scaling_list_pred_mode_flag의 값을 0으로 부호화할 수 있다. 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 사용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬과 동일하게 결정하는 방법이면, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에 부호화할 수 있다. 이때, 참조 양자화 행렬 식별자를 부호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 39의 예와 같이, 부호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한 경우, 부호화기는 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다. 이때, 부호화기는 부호화 대상 양자화 행렬을 의미하는 matrixID와 참조 양자화 행렬을 지시하는 RefMatrixID와 수식 15를 이용하여 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 결정할 수 있다.
<수식 15>
scaling_list_pred_matrix_id_delta = matrixID - (RefMatrixID + 1)
부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 부호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 부호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔을 통해 DPCM과 지수-골롬 코드로 부호화하는 방법이면, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에 부호화할 수 있다. 이때, 차이 값이 부호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 40의 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16 (sizeID=2) 혹은 32x32 (sizeID=3)일 경우, 부호화기는 DC 행렬의 계수에 해당하는 양자화 행렬의 계수 값인 scaling_list_dc_coef_minus16를 파라미터 세트에 부호화할 수 있다. 이때, scaling_list_dc_coef_minus16의 값은 예측 값을 16으로 하여 계산된 DC 행렬의 계수를 나타낸다.
표 40의 예와 같이, 부호화기는 양자화 행렬 내에서 이전에 부호화된 양자화 행렬의 계수 값과 부호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다. 부호화기는 표 40의 예와 같이 ‘nextCoef = 16’ 즉, 첫 번째 계수 값에 대한 예측 값을 16으로 설정할 수 있다.
또한, 부호화기는 scaling_list_dc_coef_minus16 혹은 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 결정할 수 있다. 즉, scaling_list_dc_coef_minus16의 값을 -16으로 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수 있으며, 첫 번째 nextCoef 값이 0이 되게 scaling_list_delta_coef를 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수도 있다.
표 39 및 표 40의 예뿐만 아니라 상기 표들 그리고 이후 표들의 실시예에서, 부호화기는 nextCoef는 16으로 설정할 수 있고, scaling_list_dc_coef_minus16의 값은 예측 값을 16으로 하여 계산된 DC 행렬의 계수를 의미할 수 있다. 또한, 상기 표들 그리고 이후 표들의 실시예에서 부호화기는 scaling_list_dc_coef_minus16의 값을 -16으로 부호화하여 기본 행렬의 사용을 복호화기에 지시할 수도 있다.

지금까지는 양자화 행렬 정보를 부호화하여 시그널링하는 부호화기의 동작에 관한 예들을 설명하였다. 이하, 상술한 표의 예들을 이용하여 복호화기에서 양자화 행렬 정보를 복호화하고 양자화 행렬을 획득하는 예들에 대하여 설명한다.

도 5는 양자화 행렬에 대한 정보를 복호화하고 이를 이용하여 복호화를 수행하는 복호화기 동작의 일 예를 개략적으로 설명하는 순서도이다.
도 5를 참조하면, 복호화기는 변환 유닛의 크기 정보를 복호화하고 복호화한 정보를 기반으로 변환 유닛의 크기를 결정한다(S510).
복호화기는 수신한 비트스트림으로부터 변환 유닛의 크기에 관한 정보를 엔트로피 복호화(entropy decoding)한다. 복호화기는 비트스트림 내의 파라미터 세트로부터 변환 유닛의 크기에 관한 정보를 복호화할 수 있다.
예컨대, 복호화기는 비트스트림으로부터 변환 유닛의 최소 크기와 최대 크기에 관한 정보를 복호화할 수 있다.
표 1의 예와 같이, 복호화기는 비트스트림 내의 log2_min_transform_block_size_minus2의 신택스 요소를 이용하여 Log2 함수가 적용된 정방형 변환 유닛의 가로 혹은 세로 방향 최소 크기를 복호화할 수 있다, 또한, 복호화기는 비트스트림 내의 log2_diff_max_min_transform_block_size의 신택스 요소를 이용하여 Log2 함수가 적용된 정방형 변환 유닛의 가로 혹은 세로 방향 최대 크기와 가로 혹은 세로 방향 최소 크기의 차이 값을 복호화할 수도 있다.
복호화기는 상기 복호화된 변환 유닛의 최소 크기와 최대 크기를 결정할 수 있다. 이때, 변환 유닛의 최대 크기는 복호화된 최대 크기와 최소 크기의 차이 값과 복호화된 최소 크기를 이용하여 결정할 수도 있다.
예를 들어, 복호화기는 복호화된 log2_min_transform_block_size_minus2에 2를 가산하여 Log2MinTrafoSize을 계산한 후, 1 << Log2MinTrafoSize를 이용해서 계산된 값을 정방형 변환 유닛의 가로 혹은 세로 방향 최소 크기로 결정할 수 있다. 복호화기는 복호화된 log2_diff_max_min_transform_block_size의 값 그리고 복호화된 log2_min_transform_block_size_minus2에 2를 가산한 값으로 Log2MaxTrafoSize를 계산한 후, 1 << Log2MaxTrafoSize를 이용해서 계산된 값을 정방형 변환 유닛의 가로 혹은 세로 방향 최대 크기로 결정할 수 있다.
여기서, 변환 유닛의 최소 크기는 Log2MinTrafoSize 혹은 1 << Log2MinTrafoSize을 이용해서 계산된 값을 의미할 수 있고, 변환 유닛의 최대 크기는 Log2MaxTrafoSize 혹은 1 << Log2MaxTrafoSize을 이용해서 계산된 값을 의미할 수 있다.
복호화기는 양자화 행렬 정보를 복호화한다(S520). 복호화기는 (1) 양자화 행렬의 사용 여부, (2) 양자화 행렬의 존재(present) 유무, (3) 양자화 행렬의 복호화 여부 및 기본 행렬 사용 여부, (4) 양자화 행렬 예측 복호화 방법의 종류, (5) 참조 양자화 행렬 식별자, 혹은 (6) 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값의 차이 값 중 적어도 하나 이상에 관한 정보를 포함하는 양자화 행렬 정보를 복호화할 수 있다. 이때, 양자화 행렬 정보는 변환 유닛의 크기에 의존적일 수 있다.
복호화기는 우선 양자화 행렬의 사용 여부에 관한 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 사용 여부에 대해 결정할 수 있다. 표 2의 예와 같이, 복호화기는 양자화 행렬의 사용 여부에 관한 정보인 scaling_list_enabled_flag를 시퀀스 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_enabled_flag의 값이 1이면 복호화기는 시퀀스 전체에 대한 변환 계수의 역양자화(dequantization)/스케일링(scaling)에서 양자화 행렬을 사용할 수 있으며, scaling_list_enabled_flag의 값이 0이면 복호화기는 변환 계수의 역양자화/스케일링에서 양자화 행렬을 사용하지 않을 수 있다.
복호화기는 양자화 행렬의 존재 유무에 관한 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 존재 유무에 대해 결정할 수 있다. 표 3의 예와 같이, 복호화기는 양자화 행렬의 존재 유무에 관한 정보인 aps_scaling_list_data_present_flag를 적응 파라미터 세트에서 복호화할 수 있다. 예를 들어, aps_scaling_list_data_present_flag의 값이 1이면 적응 파라미터 세트에 양자화 행렬이 존재하는 것을 의미하며, aps_scaling_list_data_present_flag의 값이 0이면 적응 파라미터 세트에 양자화 행렬이 존재하지 않는 것을 의미한다. 만약, scaling_list_enabled_flag가 1이고 aps_scaling_list_data_present_flag가 0이면 기본 행렬이 역양자화 시에 사용되는 것을 의미할 수 있다. 또한, 양자화 행렬의 존재 유무 정보를 적응 파라미터 세트에 복호화하는 경우를 예시하였으나, 본 발명은 이에 한정하지 않으며, 복호화기는 다른 파라미터 세트에 양자화 행렬의 존재 유무 정보를 복호화할 수도 있다.
복호화기는 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부에 관한 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 복호화 여부 및 기본 행렬 사용 여부에 대해 결정할 수 있다. 표 4의 예와 같이, 복호화기는 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부에 관한 정보인 use_default_scaling_list_flag를 적응 파라미터 세트에서 복호화할 수 있다. 예를 들어, use_default_scaling_list_flag의 값이 1이면 양자화 행렬이 복호화되지 않고, 모든 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 양자화 행렬의 계수 값과 동일하게 결정될 수 있다. use_default_scaling_list_flag의 값이 0이면 양자화 행렬이 복호화되고, 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬은 사용되지 않을 수 있다.

복호화기는 SizeID와 MatrixID을 이용하여 양자화 행렬의 복호화를 할 것인지, 기본 행렬을 사용할 것인지, 예측 복호화를 수행할 것인지 중에서 적어도 하나 이상을 결정할 수 있다.
표 5 및 표 6의 예와 같이, SizeID 값은 테이블을 이용하여 변환 유닛의 크기 혹은 양자화 행렬의 크기에 따른 양자화 행렬을 특정하고, MatrixID 값은 양자화 행렬이 사용되는 부호화 모드 및 색 성분에 대응하는 양자화 행렬의 종류를 특정할 수 있다.
한편, 기본 양자화 행렬은 표 7 및 표 8을 이용하여 지시될 수 있다.

사용 가능한 변환 유닛의 최소 크기와 최대 크기를 고려하지 않으면, 모든 크기의 변환 유닛에 대한 양자화 행렬을 복호화 해야 하기 때문에 부호화 효율이 저하되며, 계산 복잡도가 증가하게 된다.
본 발명에 의하면 변환 유닛의 크기를 고려하여 양자화 행렬의 정보를 복호화할 수 있다.
표 9는 일례로, 상기 각 변환 유닛 크기에 해당하는 SizeID를 변환 유닛 크기 정보 중 최소 크기와 최대 크기에 따라 제약하여 양자화 행렬 복호화 혹은 기본 행렬 사용 여부 복호화 혹은 예측 복호화 방법 종류 복호화 중 적어도 하나 이상을 수행한다.
표 9의 예와 같이, SizeID를 변환 유닛의 크기 정보 중 최소 크기와 최대 크기에 따라 제약하여, 특정 크기의 변환 유닛들에 대해서만 양자화 행렬 혹은 기본 행렬 사용 여부 혹은 예측 복호화 방법의 종류 중 적어도 하나 이상의 정보에 대한 복호화를 수행할 수 있다.
예컨대, 변환 유닛의 최소 크기를 특정하는 Log2MinTrafoSize의 값이 3이고 변환 유닛의 최대 크기를 특정하는 Log2MaxTrafoSize의 값이 4이면, 복호화기는 8x8 크기부터 16x16 크기까지의 변환 유닛들에 대응하는 양자화 행렬의 복호화 혹은 기본 행렬 사용 여부의 복호화, 예측 복호화 방법의 종류에 대한 복호화 중 적어도 하나 이상을 수행할 수 있다.
한편, 표 9의 예에서, use_default_scaling_list_flag는 복호화되지 않을 수 있다.

또한, 위와 달리 복호화기는 SizeID를 변환 유닛의 최대 크기와 최소 크기의 차이 값에 따라 제약하여 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 대한 정보의 복호화 중 적어도 하나 이상을 수행할 수도 있다.
복호화기는 표 10의 예와 같이, SizeID를 변환 유닛의 최대 크기와 최소 크기의 차이 값에 따라 제약하여, 특정 크기의 변환 유닛들에 대해서만(즉, 변환 유닛의 특정 크기들에 대해서만) 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 관한 정보의 복호화 중 적어도 하나 이상을 수행할 수 있다.
예컨대, 변환 유닛의 최소 크기를 특정하는 Log2MinTrafoSize의 값이 3이고 변환 유닛의 최대 크기를 특정하는 Log2MaxTrafoSize가 4이면, 8x8 크기부터 16x16 크기까지의 변환 유닛들에 해당하는 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 관한 정보의 복호화 중 적어도 하나 이상을 수행할 수 있다.
이때, Log2MaxTrafoSize와 Log2MinTrafoSize의 차이 값은 변환 유닛의 최대 크기와 최소 크기의 차이 값으로서 log2_diff_max_min_transform_block_size에 의해 특정될 수 있다. 그리고, Log2MinTrafoSize-2는 log2_min_transform_block_size_minus2와 동일하다.
표 10의 예에서, use_default_scaling_list_flag는 복호화되지 않을 수 있다.

한편, 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 블록의 크기 별로 혹은 양자화 행렬의 종류 별로 기본 행렬과 비-기본 행렬을 혼용해서 사용하지 못 하면, 부호화기에서 양자화 행렬을 선택함에 있어서 자유도가 낮아지게 된다. 예를 들어, 슬라이스 내 특정 변환 크기에 대해서는 기본 행렬을 사용하고, 다른 특정 변환 크기에 대해서는 비-기본 행렬을 사용하기 위해서는 기본 행렬을 부호화해서 보내야 하기 때문에 부호화 효율이 저하될 수 있다.
본 발명에서는 시퀀스 혹은 픽처 혹은 슬라이스 내에서 변환 블록의 크기별로 혹은 양자화 행렬의 종류별로 기본 행렬과 비-기본 행렬을 혼용해서 사용할 수 있다.
예컨대, 복호화기는 SizeID에 따라 양자화 행렬의 복호화 여부 및 기본 행렬 사용 여부를 파라미터 세트에서 복호화할 수 있다. 표 11의 예와 같이, 복호화기는 SizeID에 따라서 양자화 행렬의 복호화 여부와 기본 행렬의 사용 여부를 특정하는 정보인 sid_use_default_scaling_list_flag[SizeID][MatrixID]를 적응 파라미터 세트(adaptation parameter set)로부터 복호화할 수 있다. 예를 들어, sid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면, 복호화기는 SizeID에 대응하는 양자화 행렬을 복호화하지 않으며, SizeID에 해당하는 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다. sid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면, 복호화기는 SizeID에 대응하는 양자화 행렬을 복호화하고, 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬을 SizeID에 해당하는 양자화 행렬로서 사용하지 않는다.
한편, 표 11의 예에서 use_default_scaling_list_flag는 복호화되지 않을 수 있다.

또한, 복호화기는 SizeID 대신, MatrixID에 따라 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부를 파라미터 세트에서 복호화할 수도 있다.
표 12의 예와 같이, 복호화기는 MatrixID에 따라서 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부를 특정하는 정보인 mid_use_default_scaling_list_flag[SizeID][MatrixID]를 적응 파라미터 세트로부터 복호화 할 수 있다. 예를 들어, mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면 복호화기는 MatrixID에 대응하는 양자화 행렬을 복호화 하지 않으며, MatrixID에 해당하는 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다. mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 복호화기는 MatrixID에 해당하는 양자화 행렬을 복호화하고, 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬을 MatrixID에 해당하는 양자화 행렬로서 사용하지 않는다.
표 12의 예에서, use_default_scaling_list_flag는 복호화되지 않을 수 있다.

또한, 복호화기는 SizeID 만을 고려하거나 또는 MatrixID 만을 고려하는 대신, SizeID와 MatrixID를 모두 고려하여, SizeID 및 MatrixID에 따라서 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부에 관한 정보를 파라미터 세트로부터 복호화할 수도 있다.
표 13의 예와 같이, 복호화기는 SizeID와 MatrixID에 따라 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부를 특정하는 정보인 sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]를 적응 파라미터 세트로부터 복호화 할 수 있다. 예를 들어, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면, 복호화기는 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 하지 않고, SizeID와 MatrixID에 해당하는 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다. sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 복호화기는 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 하고, 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬을 SizeID와 MatrixID에 해당하는 양자화 행렬로서 사용하지 않는다.
표 13의 예에서, use_default_scaling_list_flag는 복호화 되지 않을 수 있다.

한편, 표 14의 예와 같이, 복호화기는 SizeID를 변환 유닛의 최소 크기와 최대 크기에 따라 제약하여 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 관한 정보의 복호화 중 적어도 하나 이상을 수행한다. 또한, 복호화기는 SizeID와 MatrixID에 따라서 양자화 행렬의 복호화 여부에 관한 정보 및 기본 행렬의 사용 여부에 관한 정보를 파라미터 세트로부터 복호화할 수 있다.
표 14의 예에서, use_default_scaling_list_flag는 복호화되지 않을 수 있다.

표 15의 예와 같이, 복호화기는 SizeID를 변환 유닛의 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 제약하여 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 관한 정보의 복호화 중 적어도 하나 이상을 수행할 수 있다. 예를 들어, Log2MaxTrafoSize와 Log2MinTrafoSize의 차이 값은 변환 유닛의 최대 크기와 최소 크기의 차이 값을 특정함으로 log2_diff_max_min_transform_block_size와 동일하고, Log2MinTrafoSize-2는 log2_min_transform_block_size_minus2와 동일하다. 또한, 복호화기는 SizeID와 MatrixID에 따라 양자화 행렬의 복호화 여부 및 기본 행렬 사용 여부에 관한 정보를 파라미터 세트로부터 복호화할 수 있다.
표 15의 예에서, use_default_scaling_list_flag는 복호화되지 않을 수 있다.

또한, 표 16의 예와 같이, 복호화기는 양자화 행렬 정보가 복호화 대상 파라미터 세트에 존재하는지 혹은 양자화 행렬을 업데이트할지를 파라미터 세트 내scaling_list_update_flag[SizeID][MatrixID]를 기반으로 결정할 수 있다. 예컨대, 1의 값을 가지는 scaling_list_update_flag[SizeID][MatrixID]는 SizeID 및 MatrixID에 의해 특정되는 양자화 행렬 정보가 복호화 대상 파라미터 세트에 존재하는 것을 지시거나, SizeID 및 MatrixID에 대응하고 이전에 복호화된 양자화 행렬의 정보를 복호화 대상 파라미터 세트 내의 SizeID 및 MatrixID에 대응하는 양자화 행렬 정보로 업데이트(update)할 것을 지시한다. 이때, 양자화 행렬의 정보를 업데이트 한다는 것은 이전에 복호화된 양자화 행렬의 정보를 복호화 대상 파라미터 세트 내의 양자화 행렬 정보로 대체한다는 것을 의미할 수 있다. 또한, 0의 값을 가지는 scaling_list_update_flag[SizeID][MatrixID]는 SizeID 및 MatrixID에 대응하는 양자화 행렬 정보가 복호화 대상 파라미터 세트 내에 존재하지 않거나 혹은 이전에 복호화된 양자화 행렬의 정보를 업데이트하지 않는 것을 지시한다. 예를 들어, scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면, 파라미터 세트에 SizeID 및 MatrixID에 대응하는 양자화 행렬 정보가 존재하지 않고 양자화 행렬 정보도 복호화 되지 않았으므로, 복호화기는 SizeID 및 MatrixID에 의해 특정되는 양자화 행렬의 계수의 역양자화에 어떤 양자화 행렬 정보를 사용해야 하는지 알 수 없게 된다. 따라서, scaling_list_update_flag[SizeID][MatrixID]의 값이 0이면, SizeID 및 MatrixID에 해당하는 양자화 행렬 정보가 복호화 대상 파라미터 세트에 존재하지 않으므로, SizeID 및 MatrixID에 대응하는 양자화 행렬로서 기본 행렬을 사용하거나 양자화 행렬을 사용하지 않는 것이 지시될 수 있다.
이때, scaling_list_update_flag[SizeID][MatrixID]는 각 변환 유닛 크기에 해당하는 SizeID와 MatrixID에 따라 복호화되기 때문에, scaling_list_update_flag[SizeID][MatrixID]의 값이 1인 경우에 복호화기는 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 관한 정보의 복호화 중 적어도 하나 이상을 수행할 수 있다. scaling_list_update_flag[SizeID][MatrixID]의 값이 0인 경우에 복호화기는 양자화 행렬의 복호화, 기본 행렬의 사용 여부에 관한 정보의 복호화, 예측 복호화 방법의 종류에 관한 정보의 복호화 중 적어도 하나 이상을 수행하지 않는다. 즉, 복호화기는 scaling_list_update_flag[SizeID][MatrixID]이 지시하는 바에 따라서, 불필요한 양자화 행렬을 복호화하지 않을 수 있다.
한편, scaling_list_update_flag[SizeID][MatrixID]만을 이용해서는 시퀀스 혹은 픽처 혹은 슬라이스 내 변환 블록의 크기별로 혹은 양자화 행렬의 종류별로 기본 행렬과 비-기본 행렬을 혼용해서 사용하지 못 하기 때문에 양자화 행렬을 선택하는 자유도가 낮은 단점이 있다. 따라서, SizeID와 MatrixID에 기반하여, 복호화기는 양자화 행렬의 복호화 여부 및 기본 행렬의 사용 여부에 관한 정보인 sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]를 파라미터 세트에서 복호화 할 수 있다. 예를 들어, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이면 복호화기는 SizeID 및 MatrixID에 의해 특정되는 양자화 행렬을 복호화 하지 않고, SizeID 및 MatrixID에 대응하는 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정된다. sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이면 복호화기는 SizeID와 MatrixID에 의해 특정되는 양자화 행렬을 복호화 하고, 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬을 SizeID와 MatrixID에 해당하는 양자화 행렬로서 사용하지 않는다.
표 16의 예에서, use_default_scaling_list_flag는 복호화 되지 않을 수 있다.

또한, 복호화기는 표 17의 예와 같이, SizeID와 MatrixID에 따라 양자화 행렬의 복호화 여부, 기본 행렬의 사용 여부를 파라미터 세트에서 복호화할 수 있다. 또한, SizeID와 MatrixID에 해당하는 양자화 행렬 정보로 업데이트할지에 대한 scaling_list_update_flag[SizeID][MatrixID]가 복호화 대상 파라미터 내에서 이용될 수 있다.
예컨대, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이고 scaling_list_update_flag[SizeID][MatrixID]의 값이 0인 경우에, 복호화기는 SizeID와 MatrixID에 대응하는 양자화 행렬을 복호화 하며, 이전에 복호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트하지 않고 이전에 복호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 이용한다.
또한, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 0이고 scaling_list_update_flag[SizeID][MatrixID]의 값이 1인 경우에, 복호화기는 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화하고, 이전에 복호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트한다.
또한, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이고 scaling_list_update_flag[SizeID][MatrixID]의 값이 0인 경우에, 복호화기는 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 하지 않고, 양자화 행렬의 계수 값을 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정하며, 이전에 복호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트하지 않고 이전에 복호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 이용한다.
또한, sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]의 값이 1이고, scaling_list_update_flag[SizeID][MatrixID]의 값이 1인 경우에, 복호화기는 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 하지 않고, 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정하며, 이전에 복호화된 SizeID와 MatrixID에 해당하는 양자화 행렬을 복호화 대상 파라미터 내의 SizeID와 MatrixID에 해당하는 양자화 행렬로 업데이트한다.
표 17의 예에서, use_default_scaling_list_flag는 복호화되지 않을 수 있다.

또한, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트에서 복호화하여 양자화 행렬에 대한 예측 복호화 방법의 종류에 대해 결정할 수 있다. 표 18의 예에서와 같이, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보인 pred_mode_flag를 적응 파라미터 세트로부터 복호화할 수 있다. 예를 들어, pred_mode_flag의 값이 1이면 복호화기는 양자화 행렬을 지수-골롬 코드와 역 DPCM(Inverse Differential Pulse Code Modulation)으로 복호화 할 수 있으며, pred_mode_flag의 값이 0이면 복호화기는 양자화 행렬의 계수를 이전에 복호화된 양자화 행렬의 계수 값과 동일한 값으로 결정한다. 이때, 양자화 행렬의 계수와 이전에 복호화된 양자화 행렬 계수 값들은 서로 다른 양자화 행렬 내의 값일 수 있으며, 이전에 복호화된 양자화 행렬은 참조 양자화 행렬을 의미할 수 있다.
양자화 행렬의 예측 복호화 방법이 양자화 행렬을 이전에 복호화된 양자화 행렬과 동일하게 결정하는 방법인 경우에, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트로부터 복호화할 수 있다. 표 18의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 pred_matrix_id_delta를 적응 파라미터 세트에서 복호화할 수 있다. 이때, 복호화기는 pred_matrix_id_delta와 수식 16을 이용해서 복호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID을 결정할 수 있다.
<수식 16>
RefMatrixID = MatrixID - ( 1 + pred_matrix_id_delta )
양자화 행렬의 예측 복호화 방법이 지수-골롬 코드와 역 DPCM으로 복호화하는 방법인 경우에, 복호화기는 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 이전에 복호화된 양자화 행렬의 계수 값은 복호화 대상 양자화 행렬 내의 계수 값일 수 있다. 표 19의 예와 같이, 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값의 차이 값인 delta_coef는 적응 파라미터 세트로부터 복호화될 수 있다.

한편, 아래의 방법을 이용해서 시퀀스 혹은 픽처 혹은 슬라이스 내에서 기본 양자화 행렬 및 비-기본 양자화 행렬을 혼용해서 사용할 수 있으며, 불필요한 양자화 행렬을 수신하는 것을 방지할 수 있다.
예컨대, 양자화 행렬의 예측 복호화 방법이 복호화기가 이미 가지고 있는 이전에 복호화된 양자화 행렬과 동일하게 양자화 행렬을 결정하는 방법(pred_mode_flag=0)이면, 복호화기는 파라미터 세트로부터 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 이용하여 기본 행렬의 사용 여부를 복호화할 수 있다.
표 18의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 pred_matrix_id_delta를 파라미터 세트로부터 복호화할 수 있다. 이때, 복호화기는 pred_matrix_id_delta와 수식 17을 이용해서, 복호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 특정하는 정보 RefMatrixID의 결정 및 기본 행렬 사용 여부의 결정을 수행할 수 있다.
<수식 17>
RefMatrixID = MatrixID - pred_matrix_id_delta
예컨대, RefMatrixID 값이 MatrixID 값과 동일하면, SizeID와 RefMatrixID에 해당하는 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정된다. 이때, 기본 행렬은 SizeID와 RefMatrixID에 해당하는 기본 행렬을 의미한다. 그리고, pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 MatrixID 값이 동일하게 된다. RefMatrixID 값이 MatrixID 값과 동일하지 않으면, RefMatrixID에 해당하는 양자화 행렬이 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정되고, 복호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬의 계수 값과 동일하게 결정된다.
SizeID에 해당하는 양자화 행렬의 크기가 복호화기에서 사용 가능한 변환 유닛의 최소 크기와 최대 크기에 포함되면, 상기 방법을 이용하여 복호화 대상 양자화 행렬의 참조 양자화 행렬 및 기본 행렬 사용 여부를 결정할 수 있다. SizeID에 해당하는 양자화 행렬의 크기가 복호화기에서 사용 가능한 변환 유닛의 최소 크기와 최대 크기에 포함되지 않으면, SizeID에 해당하는 양자화 행렬에 대해 기본 행렬과 동일하게 결정하지 않을 수 있다. SizeID를 변환 유닛 크기 정보 중 최대 크기와 최소 크기의 차이 값에 따라 양자화 행렬 복호화 혹은 기본 행렬 사용 여부 복호화 혹은 예측 복호화 방법 종류 복호화 중 적어도 하나 이상을 수행하는 경우에 상기 결정하는 과정이 수행될 수 있다.

복호화기는 또한, 양자화 행렬의 사용 여부를 결정한 후, 양자화 행렬의 사용 여부에 관한 정보를 파라미터 세트로부터 복호화할 수 있다.
표 20의 예와 같이, 복호화기는 양자화 행렬의 사용 여부 정보인 scaling_list_enable_flag를 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_enable_flag의 값이 1이면 복호화기는 역양자화에서 기본 행렬 혹은 비-기본 행렬 등의 양자화 행렬을 사용할 수 있으며, scaling_list_enable_flag의 값이 0이면 복호화기는 역양자화에서 양자화 행렬을 사용하지 않거나 혹은 모든 계수 값이 동일한 양자화 행렬을 사용할 수 있다. 이때, 모든 계수 값은 16일 수 있다.

또한, 양자화 행렬의 예측 복호화 방법이 역 DPCM과 지수-골롬 코드로 복호화하는 방법이면, 복호화기는 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이전에 복호화된 양자화 행렬의 계수 값은 복호화 대상 양자화 행렬 내 계수 값일 수 있다. 즉, 이전에 복호화된 양자화 행렬 계수 값과 복호화 대상 양자화 행렬의 계수 값은 동일한 양자화 행렬 내의 값들일 수 있다.
표 21의 예와 같이, 복호화기는 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 delta_coef를 파라미터 세트에서 복호화할 수 있다. 만약, 표 21의 예와 같이, 수식 18를 이용해 양자화 행렬의 계수 값 nextcoef가 (1) 특정 값과 같고 (2) 양자화 행렬의 첫 번째 값이라면, 해당 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다.
<수식 18>
nextcoef = ( nextcoef + delta_coef + 256 ) % 256
즉, 양자화 행렬의 계수 nextcoef가 (1) 특정 값과 같고 (2) 양자화 행렬의 첫 번째 값이라면, 복호화기는 해당 양자화 행렬을 기본 행렬로 사용할 수 있다. 이때, 특정 값은 0일 수 있다. 여기서, 기본 행렬은 SizeID와 MatrixID에 의해 특정되는 기본 행렬을 의미할 수 있다. 따라서, 양자화 행렬 계수 값 nextcoef이 0와 같고 양자화 행렬의 첫 번째 값이라면, 복호화기는 해당 양자화 행렬에 대한 양자화 행렬 차이 값의 복호화를 중지할 수 있다.

한편, 양자화 행렬의 예측 복호화 방법이 역 DPCM과 지수-골롬 코드로 복호화하는 방법인 경우, 복호화기는 이전에 복호화된 양자화 행렬 계수 값과 복호화 대상 양자화 행렬 계수 값의 차이 값을 파라미터 세트에서 복호화할 수 있다. 이전에 복호화된 양자화 행렬의 계수 값은 복호화 대상 양자화 행렬 내 계수 값일 수 있다. 즉, 이전에 복호화된 양자화 행렬 계수 값과 복호화 대상 양자화 행렬의 계수 값은 동일한 양자화 행렬 내의 값들일 수 있다.
표 22의 예와 같이, 복호화기는 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 delta_coef를 파라미터 세트에서 복호화할 수 있다. 예컨대, 표 22의 예와 같이, 수식 18 즉, ( nextcoef + delta_coef + 256 ) % 256을 이용해 계산된 양자화 행렬 계수 값 nextcoef가 특정 값과 같고 양자화 행렬의 첫 번째 값이라면, 복호화기는 해당 양자화 행렬의 계수 값을 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정할 수 있다. 즉, nextcoef가 (1) 특정 값과 같고 (2) 양자화 행렬의 첫 번째 값이라면 복호화기는 해당 양자화 행렬을 기본 행렬로 사용할 수 있다. 이때, 특정 값은 0일 수 있으며, ( nextcoef + delta_coef + 256 ) % 256 로 계산된 양자화 행렬의 계수 값은 4x4 또는 8x8의 크기를 갖는 양자화 행렬의 계수 값일 수 있다.
또한, 양자화 행렬의 첫 번째 값은 scaling_list_dc_coef_minus8 을 이용하는 값일 수 있으며, 특정 값은 scaling_list_dc_coef_minus8 + 8에 해당하는 값일 수 있다.
scaling_list_dc_coef_minus8은 16x16 또는 32x32 크기를 갖는 양자화 행렬의 첫 번째 값을 의미할 수 있는데, 이는 DC 행렬 계수 값을 의미할 수 있다.
sizeID가 2인 경우에 scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ]은 16x16 크기의 DC 행렬 계수 값에 해당할 수 있다. 이때, 16x16은 양자화 행렬에 대응하는 변환 블록의 크기일 수 있다. SizeID가 3인 경우에 scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ]은 32x32 크기의 양자화 행렬에서 DC 행렬 계수 값에 해당할 수 있다. 이때, 32x32는 양자화 행렬에 대응하는 변환 블록의 크기일 수도 있다. 각 경우에, 기본 행렬은 SizeID와 MatrixID에 해당되는 기본 행렬을 의미할 수 있다. 따라서, 양자화 행렬의 계수 값 nextcoef이 0와 같고 양자화 행렬의 첫 번째 값이라면, 복호화기는 해당 양자화 행렬에 대한 양자화 행렬의 차이 값(계수 값의 차이)에 대한 복호화를 중지할 수 있다.
복호화기는 이 방법을 이용하여 양자화 행렬의 크기 혹은 변환 크기에 따라, DC 행렬 계수 값인 scaling_list_dc_coef_minus8의 복호화 여부 및 기본 행렬의 사용 여부에 대한 복호화를 다르게 수행 할 수 있다.

한편, 양자화 행렬의 계수 값을 이용해 기본 행렬의 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬 계수 값에 대한 부호화/복호화 과정의 복잡도가 증가하는 단점이 있다. 이에 비해, 본 발명은 영상 부호화/복호화에서 참조 양자화 행렬 식별자를 이용하여 기본 행렬의 사용 여부를 결정할 수 있다. 따라서, 양자화 행렬의 부호화/복호화 과정에서 계산의 복잡도를 감소시킬 수 있다.
우선 복호화기는 양자화 행렬 존재 유무를 나타내는 정보를 파라미터 세트에서 복호화할 수 있다. 표 23의 예와 같이, 복호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않는다는 것을 의미하며 양자화 행렬이 기본 양자화 행렬로 결정되며, scaling_list_present_flag 값이 1이면 부호화된 양자화 행렬이 존재한다는 것을 의미한다.
복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트로부터 복호화하여 양자화 행렬의 예측 복호화 방법의 종류에 대해 결정할 수 있다. 이때, 예측 복호화 방법에 관한 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다. 표 23의 예와 같이, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_pred_mode_flag의 값이 1이면 복호화기는 양자화 행렬을 지수-골롬 코드와 역 DPCM과 스캔을 이용하여 복호화하여 양자화 행렬 내 계수를 예측 복호화하며, scaling_list_pred_mode_flag의 값이 0이면 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일한 값을 가지도록 결정하거나 혹은 복호화 대상 양자화 행렬의 계수 값을 기본 행렬의 계수 값과 동일하게 결정하여 양자화 행렬 간 예측을 수행한다. 여기서, 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 적용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 복호화 방법이 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하여 양자화 행렬 간 예측을 수행하는 방법이면, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부를 파라미터 세트로부터 복호화할 수 있다. 이때, 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
즉, 복호화기는 표 23의 예와 같이, 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부를 특정하는 정보인 scaling_list_pred_matrix_id_delta를 파라미터 세트로부터 복호화 할 수 있다. 이때, 복호화기는 scaling_list_pred_matrix_id_delta와 수식 19를 이용하여 복호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID을 결정할 수 있다.
<수식 19>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta
RefMatrixID 값이 matrixID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬의 계수 값이 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다. 여기서, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬일 수 있다. 수식 19를 참조하면, scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값이 동일하다는 것을 의미한다.
RefMatrixID 값이 matrixID 값과 동일하지 않으면, 복호화기는 RefMatrixID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정할 수 있다. 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 적용한다는 것을 의미할 수 있다. 이때, scaling_list_pred_matrix_id_delta 값은 양의 정수 값일 수 있다.
양자화 행렬의 예측 복호화 방법이 지수-골롬 코드와 역 DPCM과 스캔을 이용하여 양자화 행렬 내 계수를 예측 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 복호화기가 차이값을 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 24의 예와 같이, 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 복호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트로부터 복호화할 수 있다. 또한, 복호화기는 표 24의 예와 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트로부터 복호화할 수 있다. 표 23과 24에서에서는 양자화 행렬 정보를 적응 파라미터 세트에서 복호화하는 경우를 예시하였으나, 본 발명은 이에 한정하지 않으며, 복호화기는 다른 파라미터 세트(시퀀스 파라미터 세트, 픽처 파라미터 세트 중 적어도 하나를 포함하는 파라미터 세트)에서 양자화 행렬 정보를 복호화할 수도 있다.

부호화기의 예에서 설명한 바와 같이, 종래의 양자화 행렬 부호화/복호화에서는 양자화 행렬의 예측 시 불필요한 정보를 부호화/복호화 하기 때문에 부호화 효율이 저하될 수 있다. 본 발명에서는 참조 양자화 행렬의 존재 유무에 따라 양자화 행렬 부호화/복호화를 달리 수행할 수 있으므로 양자화 행렬의 부호화/복호화 시 부호화 효율을 향상시킬 수 있다.
구체적으로 복호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트로부터 복호화할 수 있다. 복호화기는 표 25의 예와 같이, 양자화 행렬의 비트스트림 내 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 예를 들어, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않으며 모든 양자화 행렬이 기본 양자화 행렬로 결정되는 것을 의미하며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재하는 것을 의미한다.
또한, 복호화기는 matrixID가 0보다 클 경우에 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트로부터 복호화하여 양자화 행렬의 예측 복호화 방법의 종류에 대해 결정할 수 있다. 이때, 예측 복호화 방법에 관한 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예를 들어, 복호화기는 표 25의 예와 같이, matrixID가 0보다 클 경우에 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트로부터 복호화할 수 있다. 표 25의 예에서는, scaling_list_pred_mode_flag의 값이 1인 경우, 복호화기는 양자화 행렬을 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화함으로써 양자화 행렬 내 계수를 예측 복호화 할 수 있으며, scaling_list_pred_mode_flag의 값이 0인 경우, 복호화기는 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일한 값을 가지도록 결정하여 양자화 행렬 간 예측을 수행할 수 있다. 여기서, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 적용한다는 것을 의미할 수 있다.
또한, 표 25의 예에서 matrixID가 0인 경우에는, scaling_list_pred_mode_flag의 값이 참(TRUE)이 되므로, 복호화기는 scaling_list_pred_mode_flag를 복호화하지 않고, 양자화 행렬을 역 DPCM과 지수-골롬 코드를 이용해서 스캔함으로써 복호화 할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬을 참조 양자화 행렬과 동일하게 결정하여 양자화 행렬 간 예측을 수행하는 방법이며 matrixID가 0보다 클 경우, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트로부터 복호화할 수 있다. 이때, 참조 양자화 행렬 식별자를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대, 복호화기는 표 25와 같이, matrixID가 0보다 큰 경우에 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_pred_matrix_id_delta와 수식 20을 이용해서 복호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID이 결정될 수 있다.
<수식 20>
RefMatrixID = matrixID - ( 1 + scaling_list_pred_matrix_id_delta)
표 25의 예에서, 0의 값을 갖는 matrixID는 각 sizeID 별로 첫 번째 양자화 행렬을 지시한다. 양자화 행렬의 예측은 동일한 sizeID를 가지는 이전에 복호화된 양자화 행렬로부터만 가능하고, sizeID 별로 첫 번째 양자화 행렬은 동일한 sizeID 값을 가지는 참조 양자화 행렬이 존재하지 않기 때문에 행렬 복사와 같은 방법의 양자화 행렬 예측을 수행할 수 없다. 따라서, matrixID가 0보다 큰 경우에 복호화기는 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 복호화하여 RefMatrixID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정할 수 있다. 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 지수-골롬 코드, 역 DPCM, 스캔을 이용하여 양자화 행렬 내 계수를 예측 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 차이값을 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대 표 26의 예와 같이, 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 복호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트로부터 복호화할 수 있다. 또한, 복호화기는 표 26의 예와 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트로부터 복호화할 수 있다.
또한 복호화기는 scaling_list_dc_coef_minus8 혹은 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 결정할 수 있다. 예를 들어, scaling_list_dc_coef_minus8의 값이 -8로 복호화되면 복호화기는 해당 양자화 행렬을 기본 행렬로 결정할 수 있으며, scaling_list_delta_coef를 복호화하여 계산된 첫 번째 nextCoef 값이 0면 복호화기는 해당 양자화 행렬을 기본 행렬로 결정할 수 있다.

부호화기의 예에서 설명한 바와 같이, 양자화 행렬의 계수 값을 이용해 기본 행렬의 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬의 계수 값에 대한 부호화/복호화 과정의 복잡도를 증가시키는 단점이 있다. 또한, 양자화 행렬 예측 시 불필요한 정보를 부호화/복호화 하기 때문에 부호화 효율이 저하된다. 본 발명에서는 영상 부호화/복호화에서 참조 양자화 행렬 식별자를 이용하여 기본 행렬의 사용 여부를 결정할 수 있으므로 양자화 행렬 부호화/복호화 시 계산 복잡도를 감소시킬 수 있고, 참조 양자화 행렬의 존재 유무에 따라 양자화 행렬의 부호화/복호화를 달리 수행할 수 있으므로 양자화 행렬의 부호화/복호화 시 부호화 효율을 향상시킬 수 있다.
구체적으로 복호화기는 우선 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트로부터 복호화할 수 있다. 복호화기는 표 27의 예와 같이, 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않고 모든 양자화 행렬이 기본 양자화 행렬로 결정되며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재한다고 결정된다.
또한, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트로부터 복호화하여 양자화 행렬의 예측 복호화 방법의 종류에 대해 결정할 수 있다. 이때, 예측 복호화 방법에 대한 정보가 복호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
구체적으로, 복호화기는 표 27의 예와 같이, 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_pred_mode_flag의 값이 1이면 복호화기는 양자화 행렬을 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화함으로써 양자화 행렬 내 계수를 예측 복호화하며, scaling_list_pred_mode_flag의 값이 0이면 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일한 값을 가지도록 결정하거나 혹은 복호화 대상 양자화 행렬의 계수 값을 기본 행렬의 계수 값과 동일하게 결정하여 양자화 행렬 간 예측을 수행할 수 있다. 여기서, 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법이며 matrixID가 0보다 큰 경우, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부를 파라미터 세트로부터 복호화할 수 있다. 이때, 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부가 복호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
이 경우, 표 27의 예와 같이, 복호화부는 matrixID가 0보다 큰 경우에 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부에 관한 정보인 scaling_list_pred_matrix_id_delta를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_pred_matrix_id_delta와 수식 21을 이용하여 복호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID이 결정될 수 있다.
<수식 21>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta
RefMatrixID 값이 matrixID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정된다. 여기서, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 수식 21에 의하면, scaling_list_pred_matrix_id_delta 값이 0인 경우는, RefMatrixID 값과 matrixID 값이 동일한 것을 의미한다.
RefMatrixID 값이 matrixID 값과 동일하지 않으면, RefMatrixID에 해당하는 양자화 행렬이 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정되고, 복호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬 계수 값과 동일한 것으로 결정된다. 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
이때, scaling_list_pred_mode_flag의 값이 0이면 양자화 행렬의 예측 복호화 방법이 양자화 행렬을 이전에 복호화된 양자화 행렬과 동일하게 결정하는 방법이라는 것을 나타내며, 양자화 행렬의 예측은 동일한 sizeID를 가지는 이전에 복호화된 양자화 행렬로부터 가능하게 된다.
한편, matrixID의 값이 0이면 각 sizeID 별로 첫 번째 양자화 행렬을 지시하는데, scaling_list_pred_mode_flag 값이 0이고 matrixID의 값이 0이면, sizeID 별로 첫 번째 양자화 행렬은 동일한 sizeID 값을 가지는 참조 양자화 행렬이 존재하지 않기 때문에 행렬 복사와 같은 방법의 양자화 행렬 예측이 수행될 수 없다. 따라서, 이런 경우에 복호화기는 scaling_list_pred_matrix_id_delta를 복호화하지 않고 scaling_list_pred_matrix_id_delta의 값을 0으로 유추한다. scaling_list_pred_matrix_id_delta의 값이 0이면 RefMatrixID 값이 matrixID 값과 동일하기 때문에, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정된다. 여기서, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.
복호화된 양자화 행렬의 예측 복호화 방법이 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 양자화 행렬 내 계수를 예측 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 차이 값을 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대, 표 28의 예와 같이, 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 복호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트로부터 복호화 할 수 있다. 표 28의 예와 같이, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트로부터 복호화할 수 있다.

부호화기의 예에서 설명한 바와 같이, 종래의 양자화 행렬 부호화/복호화는 양자화 행렬의 전송 시 행렬 내의 전체 계수들과 DC 행렬 계수를 부호화/복호화하는데, 이때 DC 행렬 계수에 대해 예측 부호화/복호화하지 않기 때문에 부호화 효율 향상에 한계가 있다. 본 발명에서는 양자화 행렬 내 DC 행렬 계수의 예측 부호화/복호화를 수행할 수 있으며, 이를 통해 부호화 효율을 향상시킬 수 있다. 예컨대, 표 29 및 표 30의 실시예는 DC 행렬 계수를 상수 8로부터 예측하지 않고, 주변 계수 간의 높은 상관도를 이용하여 주변 AC 계수들로부터 예측함으로써 부호화 효율을 향상시킬 수 있다. 또한, 표 29 및 표 30의 실시예는 양자화 행렬의 부호화/복호화 순서와 양자화 행렬의 복원 순서를 일치시킴으로써, DC 행렬 계수를 저장해야 할 메모리 공간을 절약할 수 있다. 또한, 표 29 및 표 30의 실시예는 기본 행렬의 사용 여부를 지시할 때, 여러 신택스 요소를 이용하지 않고 scaling_list_delta_coef의 신택스 요소를 이용할 수 있다.
구체적으로 복호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에서 복호화할 수 있다. 예컨대, 표 29의 예와 같이, 복호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않고 모든 양자화 행렬을 기본 양자화 행렬로 결정하며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재하는 것으로 결정된다.
복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트로부터 복호화하여 양자화 행렬의 예측 복호화 방법의 종류에 대해 결정할 수 있다. 이때, 복호화 예측 방법에 관한 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
구체적으로, 복호화기는 표 29의 예와 같이, 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_pred_mode_flag의 값이 1이면 복호화기는 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 양자화 행렬 내 계수를 예측 복호화할 수 있으며, scaling_list_pred_mode_flag의 값이 0이면 복호화기는 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일한 값을 가지도록 결정하여 양자화 행렬 간 예측을 수행할 수 있다. 여기서, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬과 동일하게 결정하는 방법이면, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트에서 복호화할 수 있다. 이때, 참조 양자화 행렬 식별자를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
구체적으로 복호화기는 표 29의 예와 같이, 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_pred_matrix_id_delta와 수식 22를 이용해서 복호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID이 결정될 수 있다.
<수식 22>
RefMatrixID = matrixID - ( 1 + scaling_list_pred_matrix_id_delta)
복호화기는 RefMatrixID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정할 수 있다. 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정하는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 양자화 행렬 내 계수를 예측 복호화는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 차이값이 복호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대, 복호화기는 표 30과 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트로부터 복호화할 수 있다. 이때, 복호화기는 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 결정할 수 있다. 즉, scaling_list_delta_coef를 복호화하여 계산된 첫 번째 nextCoef 값이 0인 경우, 복호화기는 해당 양자화 행렬을 기본 행렬로 결정할 수 있다.
또한 복호화기는 표 30의 예와 같이, DC 행렬 계수에 해당하는 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_dc_coef_res를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_dc_coef_res는 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)이고 기본 행렬을 사용하지 않을 경우 (useDefaultScalingMatrixFlag =0)에 복호화될 수 있다.
DC 행렬 계수를 별도로 복호화하는 16x16 혹은 32x32 크기의 양자화 행렬에 대하여, DC 행렬 계수는 수식 23과 같이 scaling_list_dc_coef_res 값과 DC 위치에 존재하는 행렬 계수와의 합을 이용해서 계산될 수 있다.
<수식 23>
ScalingFactor[ 2 ][ matrixID ][ 0 ][ 0 ] = scaling_list_dc_coef_res[ 0 ][ matrixID ] + ScalingFactor[ 2 ][ matrixID ][ 0 ][ 0 ] with matrixID=0..5
ScalingFactor[ 3 ][ matrixID ][ 0 ][ 0 ] = scaling_list_dc_coef_res[ 1 ][ matrixID ] + ScalingFactor[ 3 ][ matrixID ][ 0 ][ 0 ] with matrixID=0..1
수식 23에서 ScalingFactor[2]는 16x16 크기의 양자화 행렬, ScalingFactor[3]은 32x32 크기의 양자화 행렬을 의미한다. 또한, ScalingFactor[2][matrixID][0][0]는 matrixID에 대응하는 16x16 크기의 양자화 행렬 내 DC 행렬 계수를 의미하고, ScalingFactor[3][matrixID][0][0]는 matrixID에 대응하는 32x32 양자화 행렬 내 DC 행렬 계수를 의미한다.

한편, 양자화 행렬의 계수 값을 이용해 기본 행렬 사용 유무를 결정하는 양자화 행렬의 부호화/복호화 방법은 양자화 행렬의 계수 값에 대한 부호화/복호화 과정의 복잡도를 증가시키는 단점이 있다. 또한, 양자화 행렬의 전송 시 행렬 내의 전체 계수들과 DC 행렬 계수를 부호화/복호화 하는데, 이때 DC 행렬 계수에 대해 예측 부호화/복호화하지 않기 때문에 부호화 효율 향상에 한계가 있다.
본 발명에서는 영상 부호화/복호화에서 참조 양자화 행렬 식별자를 이용하여 기본 행렬의 사용 여부를 결정하기 때문에 양자화 행렬의 부호화/복호화 시 복잡도를 감소시킬 수 있고, 양자화 행렬 내 DC 행렬 계수에 대한 예측 부호화/복호화를 수행하기 때문에 부호화 효율을 향상시킬 수 있다. 예를 들어, 표 31 및 표 32의 예에서는 행렬의 DC 행렬 계수를 상수 8로부터 예측하지 않고, 주변 계수 간의 높은 상관도를 이용하여 주변 AC 계수들로부터 예측할 수 있으므로 부호화 효율을 향상시킬 수 있다. 또한, 표 31 및 표 32의 예에서는 양자화 행렬의 부호화/복호화 순서와 양자화 행렬의 복원 순서를 일치시킬 수 있으므로, DC 행렬 계수를 저장하는 메모리 공간을 절약할 수 있다. 또한, 표 31 및 표 32의 예에서는 기본 행렬의 사용 여부를 지시할 때, 여러 신택스 요소를 이용하지 않고 scaling_list_delta_coef의 신택스 요소를 이용할 수 있다.
구체적으로 복호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트로부터 복호화할 수 있다. 표 31의 예와 같이, 복호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않고 모든 양자화 행렬이 기본 양자화 행렬로 결정되며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재하는 것으로 결정된다.
복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트로부터 복호화하여 양자화 행렬에 대한 예측 복호화 방법의 종류를 결정할 수 있다. 이때, 예측 복호화 방법에 관한 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예들 들어 복호화기는 표 31의 예와 같이, 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트에서 복호화할 수 있다. 표 31의 예에서, scaling_list_pred_mode_flag의 값이 1이면 양자화 행렬 내 계수를 예측 복호화하기 위해 양자화 행렬이 지수-골롬 코드와 역 DPCM과 스캔을 이용하여 복호화될 수 있으며, scaling_list_pred_mode_flag의 값이 0이면 양자화 행렬 간 예측을 위해 복호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬의 계수 값과 동일한 값을 가지도록 결정되거나 혹은 복호화 대상 양자화 행렬의 계수 값이 기본 행렬의 계수 값과 동일하게 결정될 수 있다. 이때, 동일한 값을 가지도록 결정된다는 것은 특정 양자화 행렬 계수 값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 양자화 행렬 간 예측 방법이면, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부를 파라미터 세트로부터 복호화할 수 있다. 이때, 복호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
구체적으로, 복호화기는 표 31의 예와 같이, 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부에 관한 정보인 scaling_list_pred_matrix_id_delta를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_pred_matrix_id_delta와 수식 24를 이용하여 복호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID을 결정한다.
<수식 24>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta
RefMatrixID 값이 matrixID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 그리고, 수식 24에서 scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값은 동일한 것을 의미한다. RefMatrixID 값이 matrixID 값과 동일하지 않으면, RefMatrixID에 해당하는 양자화 행렬이 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정되고, 복호화 대상 양자화 행렬의 계수 값이 참조 양자화 행렬의 계수 값과 동일하게 결정될 수 있다. 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬 내 계수를 예측 복호화하기 위해 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에서 복호화할 수 있다. 이때, 차이 값을 복호화 하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
또한, 복호화기는 표 32의 예와 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에서 복호화할 수 있다. 표 32의 예와 같이 복호화기는, DC 행렬 계수에 해당하는 양자화 행렬의 계수 값의 차이 값인 scaling_list_dc_coef_res를 파라미터 세트에 복호화할 수 있다. 이때, scaling_list_dc_coef_res는 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3) 양자화 행렬이고 기본 행렬을 사용하지 않을 경우 (useDefaultScalingMatrixFlag =0)에 복호화될 수 있다.
DC 행렬 계수를 별도로 복호화하는 16x16 크기의 양자화 행렬 혹은 32x32 크기의 양자화 행렬에 대하여, DC 행렬 계수는 수식 25와 같이 scaling_list_dc_coef_res 값과 DC 위치에 존재하는 행렬의 계수와의 합을 이용해서 계산될 수 있다.
<수식 25>
ScalingFactor[ 2 ][ matrixID ][ 0 ][ 0 ] = scaling_list_dc_coef_res[ 0 ][ matrixID ] + ScalingFactor[ 2 ][ matrixID ][ 0 ][ 0 ] with matrixID=0..5
ScalingFactor[ 3 ][ matrixID ][ 0 ][ 0 ] = scaling_list_dc_coef_res[ 1 ][ matrixID ] + ScalingFactor[ 3 ][ matrixID ][ 0 ][ 0 ] with matrixID=0..1
수식 25에서 ScalingFactor[ 2 ]는 16x16 양자화 행렬, ScalingFactor[ 3 ]은 32x32 양자화 행렬을 의미한다. 또한, ScalingFactor[ 2 ][ matrixID ][ 0 ][ 0 ]는 해당 matrixID에 대응하는 16x16 양자화 행렬 내 DC 행렬 계수를 의미하고, ScalingFactor[ 3 ][ matrixID ][ 0 ][ 0 ]는 해당 matrixID에 대응하는 32x32 양자화 행렬 내 DC 행렬 계수를 의미한다.

부호화기에 대한 예에서 설명한 바와 같이, 종래의 양자화 행렬 부호화/복호화에서는 부호화/복호화 시 양자화 행렬의 크기가 아니라 양자화와 역양자화 시 양자화 행렬의 크기를 이용하여 양자화 행렬 복사를 수행한다. 따라서, 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사할 수 밖에 없으므로 양자화 행렬의 부호화부호화 효율에 한계가 있다. 본 발명에서는 부호화/복호화 시 양자화 행렬의 크기와 동일한 양자화 행렬로부터 양자화 행렬의 예측을 수행할 수 있으므로 부호화 효율의 향상 및 양자화 행렬의 예측 자유도를 증가시킬 수 있다.
구체적으로 복호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트로부터 복호화할 수 있다. 표 33 및 표 34의 예와 같이, 복호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않고 모든 양자화 행렬이 기본 양자화 행렬로 결정되며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재하는 것으로 결정된다.
또한, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 예측 복호화 방법의 종류를 결정할 수 있다. 이때, 예측 복호화 방법에 관한 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
구체적으로 표 33 및 표 34의 예와 같이, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트로부터 복호화할 수 있다. 예를 들어, scaling_list_pred_mode_flag의 값이 1이면 양자화 행렬 내 계수를 예측 복호화하기 위해 양자화 행렬이 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화되며, scaling_list_pred_mode_flag의 값이 0이면 양자화 행렬 간 예측을 위해 복호화 대상 양자화 행렬 계수 값이 참조 양자화 행렬 계수 값과 동일한 값을 가지도록 결정된다. 이때, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬 계수 값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬과 동일하게 결정하는 방법이면, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트로부터 복호화할 수 있다. 이때, 참조 양자화 행렬 식별 정보(식별자)는 복호화 대상 양자화 행렬의 참조 양자화 행렬의 크기와 참조 양자화 행렬 중 최소 하나 이상을 포함할 수 있다. 그리고, 참조 양자화 행렬 식별자를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예를 들어, 표 33의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별 정보인 scaling_list_pred_size_matrix_id_delta를 파라미터 세트로부터 복호화할 수 있다. 이때 scaling_list_pred_size_matrix_id_delta와 수식 26을 이용해서 복호화 대상 양자화 행렬의 참조 양자화 행렬의 크기인 RefSizeID와 참조 양자화 행렬을 지시하는 RefMatrixID가 결정될 수 있다.
<수식 26>
RefSizeID = sizeID - (scaling_list_pred_size_matrix_id_delta / 6)
RefMatrixID = scaling_list_pred_size_matrix_id_delta % 6
또한, 표 34의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬에 대한 식별 정보인 scaling_list_pred_size_id_delta와 scaling_list_pred_size_matrix_id_delta 를 파라미터 세트로부터 복호화 할 수 있다. 이때 scaling_list_pred_size_id_delta의 값과 수식 27을 이용하여 RefSizeID가 결정될 수 있으며, scaling_list_pred_matrix_id_delta와 수식 28를 이용해서 복호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID가 결정될 수 있다.
<수식 27>
RefSizeID = sizeID - scaling_list_pred_size_id_delta
<수식 28>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta
복호화 대상 양자화 행렬의 계수 값은 sizeID가 RefSizeID와 같고 matrixID가 RefMatrixID와 같은 참조 양자화 행렬의 계수 값으로부터 동일하게 결정될 수 있다. 즉, 복호화기는 참조 양자화 행렬을 복호화 대상 양자화 행렬로 복사할 수 있다. 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다는 것은 RefSizeID와 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬의 예측 방법을 적용한다는 것을 의미할 수 있다.
표 33 및 표 34의 예를 통해, 동일한 sizeID를 가지는 양자화 행렬로부터 양자화 행렬을 예측하는 것뿐만 아니라, 부호화/복호화 시 행렬의 크기는 동일하지만 다른 sizeID를 가지는 양자화 행렬로부터도 양자화 행렬을 예측하는 것이 가능하게 된다.
또한, 표 33 및 표 34의 예에서, scaling_list_pred_size_matrix_id_delta 값, scaling_list_pred_size_id_delta 값, scaling_list_pred_matrix_id_delta 값이 특정 범위 내의 값으로 제약될 수도 있다. 예를 들어, scaling_list_pred_size_matrix_id_delta는 0부터 17 사이의 값을 가지고, scaling_list_pred_size_id_delta는 0부터 2 사이의 값을 가지고, scaling_list_pred_matrix_id_delta 는 0부터 5 사이의 값을 가지도록 할 수도 있다.
또한, 표 33 및 표 34의 예에서 복호화기는 복호화 대상 양자화 행렬보다 더 큰 크기의 양자화 행렬로부터는 복호화 대상 양자화 행렬을 예측하지 않을 수 있다.
또한, 표 33 및 표 34의 예에서 복호화 대상 양자화 행렬을 8x8 크기 양자화 행렬부터 예측할 때, 복호화기는 8x8의 크기를 가지는 양자화 행렬 내 DC 행렬 계수 위치에 해당하는 값을 DC 행렬 계수로 판단하여, 해당 위치의 값을 예측할 수 있다. 그리고, 16x16 혹은 32x32의 크기를 가지는 양자화 행렬로부터 복호화 대상 양자화 행렬을 예측할 때, 복호화기는 DC 행렬 계수도 함께 예측할 수 있다.

한편, 양자화 행렬의 예측 복호화 방법이 양자화 행렬 내 계수를 예측 복호화하기 위해 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 차이값을 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
구체적으로 표 35의 예와 같이, 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 복호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트에서 복호화할 수 있다.
또한, 복호화기는 표 35의 예와 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트로부터 복호화할 수 있다.
또한, 복호화기는 scaling_list_dc_coef_minus8 혹은 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 기본 행렬의 사용 여부를 결정할 수 있다. 즉, scaling_list_dc_coef_minus8의 값이 -8로 복호화되면 해당 양자화 행렬이 기본 행렬로 결정될 수 있으며, scaling_list_delta_coef를 복호화하여 계산된 첫 번째 nextCoef 값이 0면 해당 양자화 행렬이 기본 행렬로 결정될 수 있다.


부호화기의 예에서 설명한 바와 같이, 종래의 양자화 행렬 부호화/복호화에서는 양자화 행렬의 계수 값을 이용해 기본 행렬의 사용 유무를 결정하기 때문에 행렬의 계수 값을 부호화/복호화하는 과정의 복잡도가 증가하며, 부호화/복호화 시 양자화 행렬의 크기가 아닌 양자화와 역양자화 시 양자화 행렬의 크기를 이용하여 양자화 행렬 복사를 수행하기 때문에, 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하게 된다. 본 발명에서는 참조 양자화 행렬 식별자를 이용하여 기본 행렬의 사용 여부를 결정할 수 있으므로 양자화 행렬 부호화/복호화 시 계산 복잡도를 감소시킬 수 있다. 또한, 본 발명에서는 부호화/복호화 시 양자화 행렬의 크기와 동일한 양자화 행렬로부터 양자화 행렬의 예측을 수행할 수 있으므로 부호화 효율의 향상 및 양자화 행렬 예측의 자유도를 증가시킬 수 있다.
구체적으로 복호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트에서 복호화할 수 있다. 복호화기는 표 36 및 표 37의 예와 같이, 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않고 모든 양자화 행렬이 기본 양자화 행렬로 결정될 수 있으며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재하는 것으로 결정될 수 있다.
양자화 행렬의 예측 복호화 방법 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 예측 복호화 방법 종류에 대해 결정할 수 있다. 이때, 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 36 및 표 37의 예와 같이, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_pred_mode_flag의 값이 1이면 복호화기는 양자화 행렬 내 계수를 예측 복호화하기 위해 양자화 행렬을 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화할 수 있으며, scaling_list_pred_mode_flag의 값이 0이면 복호화기는 양자화 행렬 간 예측을 위해 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일한 값을 가지도록 결정하거나 혹은 복호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정할 수 있다. 이때, 동일한 값을 가지도록 결정한다는 것은 특정 양자화 행렬 계수 값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬 혹은 기본 행렬과 동일하게 결정하는 방법이면, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부를 파라미터 세트에서 복호화할 수 있다. 이때, 참조 양자화 행렬 식별 정보(식별자)는 복호화 대상 양자화 행렬의 참조 양자화 행렬 크기와 참조 양자화 행렬 중 최소 하나 이상을 포함할 수 있다. 그리고, 복화화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
예컨대, 표 36의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부에 관한 정보인 scaling_list_pred_size_matrix_id_delta 를 파라미터 세트로부터 복호화할 수 있다. 이때 scaling_list_pred_size_matrix_id_delta와 수식 29를 이용하여 RefSizeID와 참조 양자화 행렬을 지시하는 RefMatrixID이 결정될 수 있다.
<수식 29>
RefSizeID = sizeID - (scaling_list_pred_size_matrix_id_delta / 6)
RefMatrixID = scaling_list_pred_size_matrix_id_delta % 6
또한 표 37의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자와 기본 행렬의 사용 여부에 관한 정보인 scaling_list_pred_size_id_delta와 scaling_list_pred_size_matrix_id_delta 를 파라미터 세트로부터 복호화할 수도 있다. 이때 scaling_list_pred_size_id_delta 값과 수식 30을 이용하여 RefSizeID를 결정하고, scaling_list_pred_matrix_id_delta와 수식 31를 이용하여 복호화 대상 양자화 행렬의 참조 양자화 행렬 혹은 기본 행렬을 지시하는 RefMatrixID을 결정할 수 있다.
<수식 30>
RefSizeID = sizeID - scaling_list_pred_size_id_delta
<수식 31>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta
RefMatrixID 값이 matrixID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬의 계수 값은 부호화기 및/혹은 복호화기에 미리 정해져 있는 기본 행렬의 계수 값과 동일하게 결정될 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 그리고, 수식 31에서 scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값은 동일한 것을 의미한다.
RefMatrixID 값이 matrixID 값과 동일하지 않으면, RefSizeID와 RefMatrixID에 해당하는 양자화 행렬이 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정되고, 복호화 대상 양자화 행렬 계수 값이 참조 양자화 행렬 계수 값과 동일하게 결정될 수 있다. 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다는 것은 RefSizeID와 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
따라서, 표 36 또는 표 37의 예를 통해 동일한 sizeID를 가지는 양자화 행렬로부터의 양자화 행렬 예측뿐만 아니라, 부호화/복호화 시 행렬의 크기는 동일하지만 다른 sizeID를 가지는 양자화 행렬로부터 양자화 행렬의 예측을 수행하는 것이 허용된다.
또한, 표 36 또는 표 37의 예에서 scaling_list_pred_size_matrix_id_delta 값, scaling_list_pred_size_id_delta 값, scaling_list_pred_matrix_id_delta 값은 측정한 범위로 제한될 수 있다. 예를 들어, scaling_list_pred_size_matrix_id_delta는 0부터 17 사이의 값을 가지고, scaling_list_pred_size_id_delta는 0부터 2 사이의 값을 가지고, scaling_list_pred_matrix_id_delta 는 0부터 5 사이의 값을 가지도록 할 수 있다.
또한, 표 36 또는 표 37의 예에서 복호화기는 복호화 대상 양자화 행렬보다 더 큰 크기를 가지는 양자화 행렬로부터는 예측하지 않을 수 있다.
또한, 8x8 크기 양자화 행렬부터 예측할 때, 복호화기는 8x8 크기를 가지는 양자화 행렬 내 DC 행렬 계수 위치에 해당하는 값을 DC 행렬 계수로 판단하여, 해당 위치의 값을 예측할 수 있다. 그리고, 16x16 크기의 양자화 행렬 혹은 32x32 크기의 양자화 행렬로부터 예측할 때는 복호화기는 DC 행렬 계수도 함께 예측할 수 있다.

한편, 양자화 행렬의 예측 복호화 방법이 양자화 행렬 내 계수를 예측 복호화하기 위해 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트에서 복호화할 수 있다. 이때, 차이 값을 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 38의 예와 같이, 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, 복호화기는 DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트로부터 복호화할 수 있다.
표 38의 예와 같이, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값인 scaling_list_delta_coef를 파라미터 세트에서 복호화할 수 있다.

부호화기에 관한 예에서 설명한 바와 같이, 종래의 양자화 행렬 부호화/복호화에서는 양자화 행렬 내 첫 번째 계수의 부호화/복호화 시 자주 발생하는 계수 값을 고려하지 않고, 양자화 행렬의 계수를 부호화하기 때문에 부호화 효율 향상에 한계가 있다. 본 발명에서는 자주 발생하는 계수 값을 이용하여 양자화 행렬 내 첫 번째 계수의 예측 부호화/복호화를 수행할 수 있으므로 부호화 효율을 향상시킬 수 있다. 기본 행렬의 첫 번째 계수 값 혹은 DC 행렬 계수 값은 16으로 정의되어 있거나 비-기본 행렬의 첫 번째 계수 값 혹은 DC 행렬 계수 값이 16을 기준으로 분포가 되어 있다면, 부호화/복호화 대상 양자화 행렬 내의 첫 번째 계수 값 혹은 DC 행렬 계수 값도 상수 16으로부터 예측하여 부호화/복호화하는 것이 부호화 효율 향상에 도움될 수 있다.
구체적으로 복호화기는 양자화 행렬의 존재 유무를 나타내는 정보를 파라미터 세트로부터 복호화할 수 있다. 표 39의 예와 같이, 복호화기는 비트스트림 내 양자화 행렬의 존재 유무를 나타내는 정보인 scaling_list_present_flag를 파라미터 세트로부터 복호화할 수 있다. 예컨대, scaling_list_present_flag의 값이 0이면 양자화 행렬이 존재하지 않고 모든 양자화 행렬이 기본 양자화 행렬로 결정될 수 있으며, scaling_list_present_flag의 값이 1이면 부호화된 양자화 행렬이 존재하는 것으로 결정될 수 있다.
또한, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보를 파라미터 세트로부터 복호화하여 양자화 행렬에 관한 예측 복호화 방법의 종류를 결정할 수 있다. 이때, 예측 부호화 방법에 관한 정보를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 39의 예와 같이, 복호화기는 양자화 행렬의 예측 복호화 방법에 관한 정보인 scaling_list_pred_mode_flag를 파라미터 세트로부터 복호화할 수 있다. 이때, scaling_list_pred_mode_flag의 값이 1이면 복호화기는 양자화 행렬 내 계수를 예측 복호화하기 위해 양자화 행렬을 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화하며, scaling_list_pred_mode_flag의 값이 0이면 복호화기는 양자화 행렬 간 예측을 위해 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일한 값을 가지도록 결정할 수 있다. 이때, 동일한 값을 가지도록 결정한다는 것은 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 양자화 행렬을 참조 양자화 행렬과 동일하게 결정하는 방법이면, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자를 파라미터 세트로부터 복호화할 수 있다. 이때, 참조 양자화 행렬 식별자를 복호화하는 파라미터 세트는 적응 파라미터 세트일 수 있다.
또한, 표 39의 예와 같이, 복호화기는 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_matrix_id_delta를 파라미터 세트에서 복호화할 수도 있다. 이때, scaling_list_pred_matrix_id_delta와 수식 32을 이용해서 복호화 대상 양자화 행렬의 참조 양자화 행렬을 지시하는 RefMatrixID가 결정될 수 있다.
<수식 32>
RefMatrixID = matrixID - ( 1 + scaling_list_pred_matrix_id_delta)
복호화기는 RefMatrixID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬의 계수 값을 참조 양자화 행렬의 계수 값과 동일하게 결정할 수 있다. 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다는 것은 RefMatrixID에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬의 계수 값을 복호화 대상 양자화 행렬의 계수 값으로 복사하는 양자화 행렬 예측 방법을 적용한다는 것을 의미할 수 있다.
복호화된 양자화 행렬의 예측 복호화 방법이 양자화 행렬 내 계수를 예측 복호화하기 위해 지수-골롬 코드, 역 DPCM 그리고 스캔을 이용하여 복호화하는 방법이면, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬의 계수 값과 복호화 대상 양자화 행렬의 계수 값 사이의 차이 값을 파라미터 세트로부터 복호화할 수 있다. 이때, 차이값이 복호화되는 파라미터 세트는 적응 파라미터 세트일 수 있다.
표 40의 예와 같이, 복호화기는 양자화 행렬 내에서 이전에 복호화된 양자화 행렬 계수 값과 복호화 대상 양자화 행렬 계수 값의 차이 값인 scaling_list_delta_coef를 파라미터 세트로부터 복호화할 수 있다. 이때, 복호화기는 nextCoef = 16와 같이 첫 번째 계수 값에 대한 예측 값을 16으로 설정할 수도 있다.
또한 표 40과 같이, 복호화기는, 복호화 대상 양자화 행렬의 크기가 16x16 (sizeID = 2) 혹은 32x32 (sizeID = 3)일 경우, DC 행렬 계수에 해당하는 양자화 행렬의 계수 값인 scaling_list_dc_coef_minus16를 파라미터 세트로부터 복호화할 수 있다. scaling_list_dc_coef_minus16의 값은 예측 값을 16으로 하여 계산된 DC 행렬 계수를 의미한다.
또한 scaling_list_dc_coef_minus16 혹은 nextCoef를 계산하는데 사용되는 scaling_list_delta_coef를 이용하여 복호화기는 기본 행렬 사용 여부를 결정할 수 있다. 예컨대, scaling_list_dc_coef_minus16의 값이 -16로 복호화되면 해당 양자화 행렬이 기본 행렬로 결정될 수 있으며, scaling_list_delta_coef를 복호화하여 계산된 첫 번째 nextCoef 값이 0면 해당 양자화 행렬이 기본 행렬로 결정될 수 있다.
표 39 및 표 40의 예뿐만 아니라 상기 표들의 예들에서도, nextCoef는 16으로 설정될 수 있고, scaling_list_dc_coef_minus16의 값은 예측 값을 16으로 하여 계산된 DC 행렬 계수를 의미할 수 있으며, scaling_list_dc_coef_minus16의 값이 -16로 복호화되면 복호화기는 해당 양자화 행렬을 기본 행렬로 결정할 수 있다.

지금까지 표와 도면을 이용하여, 본 발명에 따른 양자화 행렬 정보의 부호화/복호화 및 전송/수신에 관한 실시예들을 설명하였다.
앞서 표 18과 표 19의 예, 표 20과 표 21의 예, 표 23과 표 24의 예, 표 25와 표 26의 예, 표 27과 표 28의 예, 표 29와 표 30의 예, 표 31과 표 32의 예, 표 33과 표 34의 예, 표 36과 표 38의 예, 표 37과 표 38의 예, 표 39와 표 40의 예 등에서 두 개의 표로 나누어 본 발명에 따른 신택스 구조의 예들을 설명하기도 하였으나, 이는 설명의 편의를 위한 것으로서, 본 발명은 이에 한정되지 않는다.
예컨대, 상기 신택스 구조의 예들에서 scaling_list_pred_mode_flag는 양자화 행렬의 예측 방식을 지시하는데, scaling_list_pred_mode_flag의 값이 0이면 행렬의 복사에 의해 양자화 행렬을 획득하고, scaling_list_pred_mode_flag의 값이 1이면 행렬 계수를 양자화 행렬 내에서 이전 행렬 계수로부터 예측하여 양자화 행렬을 획득한다.
표 23 및 표 24의 경우를 예로서 설명하면, scaling_list_pred_mode_flag 의 값이 1인 경우에 양자화 행렬 신택스 즉, 스케일링 리스트(scaling_list)의 신택스를 호출하여 양자화 행렬을 획득하지만, 이를 하나의 신택스에서 해결할 수 있다. 두 개 이상의 신택스 구조를 동일한 의미의 한 개의 신택스 구조로 구성하는 것은 발명의 내용을 변경하는 것이 아니며, 본 발명의 기술적 사상의 범위 내에 있음에 유의하여야 한다.
표 41은 표 23 및 표 24의 예를 하나의 신택스 구조로 구성한 것이다. 표 23 및 표 24와 마찬가지로 표 41의 양자화 행렬 정보는 부호화기에서 시퀀스 파라미터 세트, 픽처 파라미터 세트 중 적어도 하나를 포함하는 파라미터 세트에 양자화 행렬 정보를 부호화할 수 있고, 복호화기에서 시퀀스 파라미터 세트, 픽처 파라미터 세트 중 적어도 하나를 포함하는 파라미터 세트에서 양자화 행렬 정보를 복호화할 수 있다.
<표 41>
Figure PCTKR2013000493-appb-I000041
언급한 바와 같이, 표 23 및 표 24의 예와 표 41의 예는 신택스 구조가 2개이냐 1개이냐라는 형식적인 면 외에는 동일하다.
부호화기는 표 41과 같이, scaling_list_pred_mode_flag를 통해 행렬의 예측 모드를 지시할 수 있다. 예를 들어, 양자화 행렬 간 복사가 수행되면 scaling_list_pred_mode_flag의 값은 0으로 결정되어 부호화되고, 양자화 행렬 내에서 행렬의 계수 예측 부호화가 수행되면 scaling_list_pred_mode_flag의 값은 1로 결정되어 부호화된다. 양자화 행렬의 복사는 상술한 바와 같이 기본 양자화 행렬을 부호화 대상 양자화 행렬로 하거나 참조 양자화 행렬을 부호화 대상 양자화 행렬로 하는 것을 의미한다. 행렬의 계수를 예측하는 방법은 상술한 바와 같이, 양자화 행렬 내 계수를 예측 부호화하는 방법을 의미한다.
양자화 행렬의 복사가 수행되는 경우(scaling_list_pred_mode_flag == 0), scaling_list_pred_matrix_id_delta가 전송된다. 앞서 설명한 바와 같이, scaling_list_pred_matrix_id_delta는 현재 부호화 대상 양자화 행렬을 유도하는데 이용되는 참조 양자화 행렬 혹은 기본 양자화 행렬을 특정한다.
예컨대, 부호화 대상 양자화 행렬이 기본 양자화 행렬로 결정된 경우, scaling_list_pred_matrix_id_delta의 값은 0으로 결정되어 부호화될 수 있다. 즉, 현재 부호화 대상 양자화 행렬이 기본 양자화 행렬들 중에서 추정(infer)된 경우이다. 기본 양자화 행렬은 표 7 및 표 8에 의해 특정될 수 있다.
현재 부호화 대상 양자화 행렬은 참조 양자화 행렬로부터 결정된 경우, scaling_list_pred_matrix_id_delta의 값은 0이 아닌 값으로 결정되어 부호화될 수 있다. 즉, 현재 부호화 대상 양자화 행렬(ScalingList)이 수식 33과 같이 참조 양자화 행렬로부터 결정된 경우이다.
<수식 33>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta[ sizeID ][ matrixID ]
ScalingList[ sizeID ][ matrixID ][ i ] = ScalingList[ sizeID ][ RefMatrixId ][ i ]
수식 33에서, scaling_list_pred_matrix_id_delta 값은 sizeID와 matrixID에 의해 특정되며, 인덱스 i는 양자화 행렬 내 계수의 위치를 특정한다.
양자화 행렬 내 예측 부호화가 수행되는 경우(scaling_list_pred_mode_flag == 1)에는 4x4 크기의 양자화 행렬에 대한 행렬 계수들, 8x8 크기의 양자화 행렬에 대한 행렬 계수들, DC 행렬 계수를 포함한 16x16 크기의 양자화 행렬에 대한 행렬 계수들, DC 행렬 계수를 포함한 32x32 크기의 양자화 행렬에 대한 행렬 계수들이 부호화될 수 있다. 이때, 부호화되는 전체 행렬 계수의 개수는 coefNum = Min(64, (1 << (4 + (sizeId << 1))))를 이용하여 계산될 수 있다. 이때, 16x16 크기의 양자화 행렬과 32x32 크기의 양자화 행렬은 부호화될 때 8x8 크기의 양자화 행렬로 다운샘플링(downsampling)되어 부호화될 수 있다.
복호화기의 경우, 표 41의 신택스 요소들을 비트스트림으로부터 복호화하여 역양자화를 수행하고 이를 통해 영상을 복원할 수 있다.
복호화기는 표 41과 같이, 수신된 scaling_list_pred_mode_flag가 지시하는 바에 따라서 행렬의 예측 모드를 결정할 수 있다. 예컨대, scaling_list_pred_mode_flag의 값이 0이면 양자화 행렬 간 복사를 수행하고, scaling_list_pred_mode_flag의 값이 1이면 양자화 행렬 내에서 행렬 계수를 예측할 수 있다. 복호화기는 이를 통해 역양자화에 사용할 (역)양자화 행렬을 획득할 수 있다. 본 명세서에서는 양자화의 경우에 적용되는 부호화 대상 양자화 행렬과 역양자화에 적용되는 복호화 대상 양자화 행렬을 모두 양자화 행렬이라고 칭하기도 하고 있으나, 이는 설명의 편의를 위한 것임에 유의한다. 양자화에 적용되는 행렬과 역영자화에 적용되는 행렬 사이에는 역의 관계가 성립할 수 있으며, 역양자화에 사용되는 양자화 행렬을 스케일링 리스트라고 칭할 수도 있다.
양자화 행렬의 복사는 상술한 바와 같이 기본 양자화 행렬을 복호화 대상 양자화 행렬로 결정하거나 참조 양자화 행렬을 복호화 대상 양자화 행렬로 결정하는 것을 의미한다. 행렬의 계수를 예측하는 방법은 상술한 바와 같이, 양자화 행렬 내 계수를 예측 복호화하는 방법을 의미한다.
양자화 행렬의 복사가 수행되는 경우(scaling_list_pred_mode_flag == 0), 복호화기는 현재 복호화 대상 양자화 행렬을 유도하는데 이용되는 참조 양자화 행렬 혹은 기본 양자화 행렬을 특정한다.
예컨대, scaling_list_pred_matrix_id_delta의 값이 0이면, 복호화기는 복호화 대상 양자화 행렬을 기본 양자화 행렬로 결정될 수 있다. 즉, 현재 복호화 대상 양자화 행렬은 기본 양자화 행렬들 중에서 추정(infer)될 수 있다. 기본 양자화 행렬은 표 7 및 표 8에 의해 특정될 수 있다.
scaling_list_pred_matrix_id_delta의 값이 0이 아니면, 복호화기는 현재 복호화 대상 양자화 행렬을 참조 양자화 행렬로부터 결정할 수 있다. 즉, 현재 복호화 대상 양자화 행렬(ScalingList)은 수식 34와 같이 참조 양자화 행렬로부터 결정될 수 있다.
<수식 34>
RefMatrixID = matrixID - scaling_list_pred_matrix_id_delta[ sizeID ][ matrixID ]
ScalingList[ sizeID ][ matrixID ][ i ] = ScalingList[ sizeID ][ RefMatrixId ][ i ]
수식 34에서, scaling_list_pred_matrix_id_delta 값은 sizeID와 matrixID에 의해 특정되며, 인덱스 i는 양자화 행렬 내 계수의 위치를 특정한다.
양자화 행렬 내 예측 복호화가 수행되는 경우(scaling_list_pred_mode_flag == 1)에, 복호화기는 4x4 크기의 양자화 행렬에 대한 행렬 계수들, 8x8 크기의 양자화 행렬에 대한 행렬 계수들, DC 행렬 계수를 포함한 16x16 크기의 양자화 행렬에 대한 행렬 계수들, DC 행렬 계수를 포함한 32x32 크기의 양자화 행렬에 대한 행렬 계수들을 복호화할 수 있다. 이때, 복호화되는 전체 행렬 계수의 개수는 coefNum = Min(64, (1 << (4 + (sizeId << 1))))를 이용하여 계산될 수 있다. 이때, 16x16 크기의 양자화 행렬과 32x32 크기의 양자화 행렬은 부호화될 때 8x8 크기의 양자화 행렬로 다운샘플링되었기 때문에, 8x8 크기의 양자화 행렬을 업샘플링(upsampling) 혹은 보간(interpolation)하여 16x16 크기의 양자화 행렬과 32x32 크기의 양자화 행렬로 복원할 수 있다. 또한 업샘플링 혹은 보간을 적용하는 경우에도 DC 행렬 계수는 보간된 값을 사용하지 않고 scaling_list_dc_coef_minus8와 같이 별도로 시그널링 된 값으로부터 유도된 값으로 대체하여 사용할 수 있다.

지금까지 표들을 이용하여 신택스 구조의 예와 이를 이용하는 부호화 및 복호화의예들을 설명하였다. 상술한 예들에서는 동일한 신택스 구조를 이용하여 부호화의 예와 복호화의 예를 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대 상술한 신택스 구조의 표들은 부호화에만 이용될 수도 있고, 복호화에만 이용될 수도 있다.

도 6은 본 발명에 따라서 역양자화를 수행하는 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 6을 참조하면, 복호화기는 파라미터 세트에 양자화 행렬이 존재하는지를 지시하는 식별자를 획득할 수 있다(S610). 양자화 행렬이 파라미터 세트 내에 존재하는지를 지시하는 정보는 상술한 표들의 예들에서 scaling_list_present_flag일 수 있다.
이때, 파라미터 세트에 양자화 행렬이 존재한다는 것은 파라미터 세트에 양자화 행렬에 대한 정보(예컨대, scaling_list_pred_mode_flag, scaling_list_pred_matrix_id_delta, scaling_list_dc_coef_minus8, scaling_list_delta_coef 등)가 존재하는 것을 포함한다. 이때, 양자화 행렬이 존재하는지를 지시하는 식별자를 획득하기 앞서 양자화 행렬을 사용하는지를 지시하는 식별자인 scaling_list_enable_flag를 획득할 수 있다. scaling_list_enable_flag를 획득해서 양자화 행렬을 사용하는 경우, 양자화 행렬이 존재하는지를 지시하는 식별자를 획득할 수 있다.
이때, 파라미터 세트는 양자화 행렬의 정보를 전송하는 시퀀스 파라미터 세트 혹은 픽처 파라미터 세트일 수 있다.
복호화기는 상기 식별자를 기반으로 파라미터 세트에 양자화 행렬이 존재하는지를 판단할 수 있다(S620). 예컨대, scaling_list_present_flag의 값이 1이면, 복호화기는 파라미터 세트에 양자화 행렬이 존재한다고 판단하고, scaling_list_present_flag의 값이 0이면, 복호화기는 파라미터 세트에 양자화 행렬이 존재하지 않는다고 판단할 수 있다.
파라미터 세트에 양자화 행렬이 존재하지 않는 경우(파라미터 세트에 양자화 행렬이 존재하지 않는다고 판단한 경우), 복호화기는 역양자화에서 양자화 행렬을 사용하지 않거나, 역양자화에서 행렬 계수들의 값이 모두 16으로 동일한 양자화 행렬(flat matrix)을 사용하거나, 역영자화에서 모든 양자화 행렬을 기본 양자화 행렬로 하도록 결정할 수 있다(S630).
파라미터 세트에 양자화 행렬이 존재하는 경우(파라미터 세트에 양자화 행렬이 존재한다고 판단한 경우), 복호화기는 양자화 행렬의 크기 또는 종류별로 양자화 행렬의 정보를 획득할 수 있다(S640). 이때, 양자화 행렬의 종류로서는 화면 내 잔차 블록에 대한 변환 계수의 역양자화용 양자화 행렬, 화면 간 잔차 블록에 대한 변환 계수의 역양자화용 양자화 행렬, 휘도 성분(luma) 블록에 대한 변환 계수의 역양자화용 양자화 행렬, 색차 성분(chroma) 블록에 대한 변환 계수의 역양자화용 양자화 행렬 등 중 적어도 하나 이상이거나 하나 이상의 조합일 수 있다.
복호화기는 획득한 양자화 행렬을 이용하여 역양자화를 수행할 수 있다(S650). 복호화기는 파라미터 세트에 양자화 행렬이 존재하지 않는 경우에는 S630 단계에서 결정한 바에 따라 복호화기는 양자화 행렬을 사용하지 않고 역양자화를 수행하거나, 역양자화에서 행렬 계수들의 값이 모두 16으로 동일한 양자화 행렬(flat matrix)을 사용하거나, 역영자화에서 모든 양자화 행렬을 기본 양자화 행렬로 사용하도록 역양자화할 수 있다. 양자화 행렬의 계수를 예측하거나 기본 양자화 행렬을 사용하는 것에 대해서는 앞서 실시예들에서 설명한 바와 같다. 파라미터 세트에 양자화 행렬이 존재하는 경우에, 복호화기는 해당 양자화 행렬을 획득하여 역양자화에 이용할 수 있다. 복호화기는 도 2에서 설명한 바와 같이 역양자화된 신호를 기반으로 영상을 복원할 수 있다.
한편, 도 6에서는 양자화 행렬의 존부를 지시하는 식별자가 부호화기로부터 전송되는 것으로 설명하였으나, 이는 발명의 일 예일뿐이다. 앞서 설명한 바와 같이, 양자화 행렬에 관한 정보를 전송하는 경우에는 양자화 행렬의 존부에 관한 정보를 별도로 전송하지 않을 수 있다.
도 7은 파라미터 세트에 양자화 행렬이 존재하는 경우 양자화 행렬의 정보를 획득하여 역양자화를 수행하는 방법의 일 예를 개략적으로 설명하는 도면이다. 도 7은 (1) 도 6의 S640 및 S650에 대응하는 단계들일 수도 있고, (2) 양자화 행렬의 존부를 지시하는 별도의 식별자가 전송되지는 않지만, 양자화 행렬이 파라미터 세트에 존재하고 양자화 행렬에 대한 정보가 부호화기로부터 전송되는 경우에 양자화 행렬을 획득하여 역양자화를 수행하는 경우의 방법일 수도 있다. 다만, 양자화 행렬의 존부가 별도의 식별자로 전송되는지 안 되는지에 관한 차이를 제외하면, (1)과 (2)의 방법은 동일하다. 도 7에서 양자화 행렬 정보는 복호화기에서 시퀀스 파라미터 세트, 픽처 파라미터 세트 중 적어도 하나를 포함하는 파라미터 세트에서 양자화 행렬 정보를 복호화할 수 있다.
도 7의 예에서는, 양자화 행렬의 부호화/복호화 시 복잡도를 감소시키기 위하여, 복호화 대상 양자화 행렬의 예측을 위한 참조 양자화 행렬 식별자 값이 복호화 대상 양자화 행렬의 식별자 값과 동일한 경우, 복호화기는 복호화 대상 양자화 행렬을 복호화하지 않고 역양자화시 복호화기가 이미 가지고 있는 양자화 행렬을 사용할 수 있다. 이때 복호화기가 이미 가지고 있는 양자화 행렬은 기본 양자화 행렬일 수 있다.
구체적으로 도 7을 참조하면, 파라미터 세트 내에 양자화 행렬이 존재하는 경우에 복호화기는 양자화 행렬의 예측 방식을 결정할 수 있다(S710). 파라미터 세트에 양자화 행렬이 존재한다는 것은 파라미터 세트에 양자화 행렬에 대한 정보(예컨대, scaling_list_pred_mode_flag, scaling_list_pred_matrix_id_delta, scaling_list_dc_coef_minus8, scaling_list_delta_coef 등)가 존재하는 것을 포함한다.
상술한 예들을 참조하면, 부호화기로부터 전송된 신택스 요소 pred_mode_flag의 값에 따라서 양자화 행렬의 예측 방식이 결정될 수 있다. 양자화 행렬에 대한 예측 방식임을 명확하게 하기 위해 pred_mode_flag는 앞선 예들과 마찬가지로, scaling_list_pred_mode_flag으로 표시될 수도 있다. pred_mode_flag가 지시하는 양자화 행렬의 예측 방식은 (1) 복호화기가 이미 가지고 있는 양자화 행렬을 그대로 사용하는 방식과 (2) 양자화 행렬의 값을 전송하여 양자화 행렬 내 양자화 행렬 계수 값 간의 역 DPCM하는 방식 중 어느 하나일 수 있다.
예컨대, pred_mode_flag의 값이 0이면 복호화기는 이미 가지고 있는 양자화 행렬(이미 복호화된 양자화 행렬(참조 행렬) 또는 기본 행렬)을 이용하고, pred_mode_flag의 값이 1이면 복호화기는 전송된 정보를 기반으로 양자화 행렬 내의 계수를 예측 복호화할 수 있다.
양자화 행렬 예측 방식이 복호화기가 이미 가지고 있는 양자화 행렬을 그대로 사용하는 방식인 경우, 복호화기는 양자화 행렬의 식별 정보를 획득할 수 있다(S720). 양자화 행렬의 식별 정보는 복호화기가 이미 가지고 있는 양자화 행렬을 식별할 수 있는 정보로서, 앞서 설명한 예들의 scaling_list_pred_matrix_id_delta, pred_matrix_id_delta 등에 해당할 수 있다.
복호화기는 식별 정보에 의해 특정되는 양자화 행렬이 현재 복호화 대상 양자화 행렬과 동일한지를 판단할 수 있다(S730). pred_matrix_id_delta는 양자화 행렬을 유도하는데 이용되는 참조 양자화 행렬을 특정한다. 양자화 행렬에 대한 것임을 명확하게 하기 위해 pred_matrix_id_delta는 앞선 예들에서와 마찬가지로 scaling_list_pred_matrix_id_delta로 표시될 수도 있다.
scaling_list_pred_matrix_id_delta 값이 0이면 복호화 대상 양자화 행렬로서 양자화 행렬 정보(SizeID, MatrixID)가 특정하는 기본 양자화 행렬을 사용할 수 있다.
scaling_list_pred_matrix_id_delta의 값이 0이 아닌 경우에, 앞선 예들을 참조하면, 복호화 대상 양자화 행렬(의 종류)를 특정하는 matrixID와 참조 양자화 행렬을 특정하는 RefMatrixID 사이에는 scaling_list_pred_matrix_id_delta = matrixID - RefMatrixID의 관계가 성립하므로, 복호화 대상 양자화 행렬을 이미 복호화된 참조 양자화 행렬로부터 유도할 수 있다.
양자화 행렬 식별 정보가 특정하는 양자화 행렬이 복호화 대상 양자화 행렬과 동일하지 않은 경우(!scaling_list_pred_matrix_id_delta==0 혹은 matrixID != RefMatrixID), 복호화기는 양자화 행렬 식별 정보를 이용하여 역양자화시에 사용할 양자화 행렬을 결정할 수 있다(S740). 이 경우, 복호화기는 양자화 행렬을 양자화 행렬 식별 정보 scaling_list_pred_matrix_id_delta를 기반으로 앞서 설명한 표들의 예들과 같이 역양자화시에 사용할 양자화 행렬을 결정할 수 있다.
양자화 행렬 식별 정보가 특정하는 양자화 행렬이 복호화 대상 양자화 행렬과 동일한 경우(scaling_list_pred_matrix_id_delta==0 혹은 matrixID == RefMatrixID), 복호화기는 이미 가지고 있는 기본 양자화 행렬을 이용할 수 있다. 이때, 기본 양자화 행렬은 표 7과 표 8을 이용하여 결정될 수 있다.
S710에서 양자화 행렬 계수 값 간의 역 DPCM 방식을 사용하는 것으로 결정한 경우에, 복호화기는 양자화 행렬의 계수 값을 초기화 할 수 있다(S760). 예컨대, 복호화기는 양자화 행렬의 계수(nextcoef)를 상수 값으로 설정함으로써 초기화를 할 수 있다. 초기화 시에 설정되는 상수는 앞서 설명한 표들의 예들에서와 같이 8 또는 16 중 어느 하나일 수 있다.
복호화기는 부호화기로부터 전송된 양자화 행렬 내의 계수 간 차이값을 복호화할 수 있다(S770). 양자화 행렬 내의 계수 간 차이 값은, 예컨대 delta_coef와 같은 신택스 요소에 의해 특정될 수 있으며, 양자화 행렬에 대한 것임을 명확하게 하기 위해 delta_coef는 앞서 설명한 표들의 예들과 같이 scaling_list_delta_coef라고 할 수도 있다.
복호화기는 양자화 행렬의 계수값을 유도할 수 있다(S780). 복호화기는 양자화 행렬 내의 계수 간 차이값을 이전에 복호화된 양자화 행렬의 계수에 더하여 복호화 대상 양자화 행렬(현재 양자화 행렬)의 계수값을 유도할 수 있다. 예컨대, 복호화기는 상술한 수식들과 같이 nextcoef = (nextcoef = delta_coef + 256) % 256의 관계를 이용하여 현재 양자화 행렬의 계수 값을 유도할 수 있다.
복호화기는 양자화 행렬을 유도하였는지를 판단한다(S790). 양자화 행렬의 계수들이 모두 복호화되지는 않은 경우, 복호화기는 S770 단계로 돌아가 이후의 단계를 진행한다.
복호화기는 획득한 양자화 행렬을 이용하여 역양자화를 수행할 수 있다(S650).
한편, 양자화 행렬의 계수 값을 유도할 때, 도 7의 예에서는 구별하지 않았으나, 앞서 설명한 실시예들에서와 같이, 소정 크기의 양자화 행렬에 대해서는 DC 행렬 계수들을 먼저 유도할 수도 있다.
도 8은 파라미터 세트에 양자화 행렬이 존재하는 경우 양자화 행렬의 정보를 획득하여 역양자화를 수행하는 방법의 다른 예를 개략적으로 설명하는 도면이다. 도 8은 (1) 도 6의 S640 및 S650에 대응하는 단계들일 수도 있고, (2) 양자화 행렬의 존부를 지시하는 별도의 식별자가 전송되지는 않지만, 양자화 행렬이 파라미터 세트에 존재하고 양자화 행렬에 대한 정보가 부호화기로부터 전송되는 경우에 양자화 행렬을 획득하여 역양자화를 수행하는 경우의 방법일 수도 있다. 다만, 양자화 행렬의 존부가 별도의 식별자로 전송되는지 안 되는지에 관한 차이를 제외하면, (1)과 (2)의 방법은 동일하다.
도 8의 예에서는 불필요한 양자화 행렬 전송을 방지하기 위하여, 복호화 대상 양자화 행렬의 첫 번째 값이 특정한 값인 경우, 복호화기는 복호화 대상 양자화 행렬을 복호화하지 않고 역양자화시 복호화기가 이미 가지고 있는 기본(default) 양자화 행렬을 사용할 수 있다.
구체적으로 도 8을 참조하면, 파라미터 세트 내에 양자화 행렬이 존재하는 경우에 복호화기는 양자화 행렬의 예측 방식을 결정할 수 있다(S810). 파라미터 세트에 양자화 행렬이 존재한다는 것은 파라미터 세트에 양자화 행렬에 대한 정보가 존재하는 것을 포함한다.
양자화 행렬 예측 방식이 복호화기가 이미 가지고 있는 양자화 행렬을 그대로 사용하는 방식인 경우, 복호화기는 양자화 행렬의 식별 정보를 획득할 수 있다(S820).
양자화 행렬의 식별 정보는 복호화기가 이미 가지고 있는 양자화 행렬을 식별할 수 있는 정보로서, 앞서 설명한 예들의 scaling_list_pred_matrix_id_delta, pred_matrix_id_delta 등에 해당할 수 있다.
복호화기는 양자화 행렬 식별 정보를 이용하여 역양자화시에 사용할 양자화 행렬을 결정할 수 있다(S830). 복호화기는 scaling_list_pred_matrix_id_delta, pred_matrix_id_delta 등의 식별정보가 지시하는 바에 따라서 양자화 행렬을 결정할 수 있다.
S810에서 양자화 행렬 계수 값 간의 역 DPCM 방식을 사용하는 것으로 결정한 경우에, 복호화기는 양자화 행렬의 계수 값을 초기화 할 수 있다(S840). 예컨대, 복호화기는 양자화 행렬의 계수(nextcoef)를 상수 값으로 설정함으로써 초기화를 할 수 있다. 초기화 시에 설정되는 상수는 앞서 설명한 표들의 예들에서와 같이 8 또는 16 중 어느 하나일 수 있다.
복호화기는 부호화기로부터 전송된 양자화 행렬 내의 계수 간 차이값을 복호화할 수 있다(S850). 양자화 행렬 내의 계수 간 차이 값은, 예컨대 delta_coef와 같은 신택스 요소에 의해 특정될 수 있다.
복호화기는 양자화 행렬의 계수값을 유도할 수 있다(S860). 복호화기는 양자화 행렬 내의 계수 간 차이값을 이전에 복호화된 양자화 행렬의 계수에 더하여 복호화 대상 양자화 행렬(현재 양자화 행렬)의 계수값을 유도할 수 있다. 예컨대, 복호화기는 상술한 수식들과 같이 nextcoef = (nextcoef = delta_coef + 256) % 256의 관계를 이용하여 현재 양자화 행렬의 계수 값을 유도할 수 있다.
복호화기는 유도한 계수가 양자화 행렬의 첫 번째 계수 값이며 특정 값과 동일한지를 판단할 수 있다(S870). 이때, 특정 값은 0일 수 있다.
복호화기는 유도한 계수가 양자화 행렬의 첫 번째 계수 값이며 특정 값과 동일한 경우, 복호화기가 이미 가지고 있는 기본 양자화 행렬을 역양자화에 이용하도록 결정할 수 있다(S880).
복호화기는 유도한 계수가 양자화 행렬의 첫 번째 계수 값이며 특정 값과 동일한 경우가 아니면, 양자화 행렬 계수에 대한 차이값이 모두 복호화 되었는지 확인한다(S890). 모두 복호화되지 않은 경우에, 복호화기는 S850 단계부터 이하의 단계를 진행할 수 있다.
복호화기는 획득한 양자화 행렬을 이용하여 역양자화를 수행할 수 있다(S650).

상술한 실시예에서, 양자화 행렬 정보란 양자화 행렬 혹은 양자화 행렬을 유도할 수 있는 정보를 의미한다. 이때, 양자화 행렬을 유도할 수 있는 정보는 기본 행렬 사용 여부 혹은 예측 부호화/복호화 방법 종류 혹은 참조 양자화 행렬 식별자 혹은 참조 양자화 행렬 등을 의미할 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다.

Claims (15)

  1. 양자화에 사용할 양자화 행렬을 결정하고 양자화하는 단계;
    상기 양자화에 사용한 양자화 행렬의 예측 방식을 결정하는 단계; 및
    상기 결정된 예측 방식에 따라서 양자화 행렬의 정보를 부호화하는 단계를 포함하며,
    상기 예측 방식은, 양자화 행렬 내의 계수 간 예측 방식과 양자화 행렬의 복사 중 어느 하나인 것을 특징으로 하는 양자화 행렬 부호화 방법.
  2. 제1항에 있어서, 상기 양자화 행렬의 예측 방식이 양자화 행렬의 복사인 경우에, 상기 양자화 행렬의 정보를 부호화하는 단계에서는
    양자화 행렬의 복사에 사용된 참조 행렬을 식별하는 식별 정보를 부호화하는 것을 특징으로 하는 양자화 행렬 부호화 방법.
  3. 제2항에 있어서, 상기 양자화 행렬의 복사에 사용된 참조 행렬이 기본 행렬로 결정되는 경우에,
    상기 식별 정보는 부호화 대상 양자화 행렬(MatrixID)과 참조 행렬(RefMatrixID)이 동일하다는 것을 지시하는 것을 특징으로 하는 양자화 행렬 부호화 방법.
  4. 제2항에 있어서, 상기 양자화 행렬의 복사에 사용된 참조 양자화 행렬이 기본 행렬로 결정되는 경우에,
    상기 기본 행렬은 양자화 행렬의 크기와 종류에 의해 특정되며, 복호화기에서 미리 정해져 있는 양자화 행렬인 것을 특징으로 하는 양자화 행렬 부호화 방법.
  5. 제2항에 있어서, 상기 식별 정보는 상기 부호화 대상 양자화 행렬(MatrixID)과 상기 참조 행렬(RefMatrixID) 사이의 차이를 지시하는 정보인 것을 특징으로 하는 양자화 행렬 부호화 방법.
  6. 제2항에 있어서,
    상기 식별 정보는 부호화 대상 양자화 행렬이 참조 행렬인 것을 지시하는 것을 특징으로 하는 양자화 행렬 부호화 방법.
  7. 제1항에 있어서, 상기 양자화 행렬의 예측 방식이 양자화 행렬의 복사인 경우에, 상기 양자화 행렬의 정보를 부호화하는 단계에서는, 양자화 행렬의 복사에 사용된 행렬을 식별하는 식별 정보를 부호화하며,
    상기 식별 정보는 상기 양자화 행렬의 복사에 사용된 양자화 행렬이 참조 행렬인지 기본 행렬인지를 하나의 신택스로 지시하는 것을 특징으로 하는 양자화 행렬 부호화 방법.
  8. 제1항에 있어서, 상기 양자화 행렬의 예측 방식이 양자화 행렬 내의 계수 간 예측 방식인 경우에,
    상기 양자화 행렬의 정보를 부호화하는 단계에서는 부호화 대상 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수를 이용하여 양자화 행렬 계수 사이의 차이값을 부호화하는 것을 특징으로 하는 양자화 행렬 부호화 방법.
  9. 역양자화에 사용되는 양자화 행렬의 예측 방식을 결정하는 단계; 및
    상기 결정된 예측 방식에 따라서 역양자화에 사용할 양자화 행렬을 복호화하는 단계를 포함하며,
    상기 양자화 행렬의 예측 방식은 양자화 행렬 내의 계수 간 예측 방식과 양자화 행렬의 복사 중 어느 하나인 것을 특징으로 하는 양자화 행렬 복호화 방법.
  10. 제9항에 있어서, 상기 양자화 행렬의 예측 방식을 결정하는 단계에서는
    부호화기로부터 수신되는 플래그 정보에 기반해서 양자화 행렬의 예측 방식을 결정하는 것을 특징으로 하는 양자화 행렬 복호화 방법.
  11. 제9항에 있어서, 상기 양자화 행렬의 예측 방식이 양자화 행렬의 복사인 경우에,
    상기 양자화 행렬의 복호화하는 단계에서는,
    식별 정보에 기반해서, 역양자화에 사용할 복호화 대상 양자화 행렬(MatrixID)을 결정하며,
    상기 식별 정보는 양자화 행렬의 복사에 사용되는 참조 행렬(RefMatrixID)을 식별하는 정보인 것을 특징으로 양자화 행렬 복호화 방법.
  12. 제11항에 있어서, 상기 식별 정보가 복호화 대상 양자화 행렬(MatrixID)과 참조 행렬(RefMatrixID)이 동일하다는 것을 지시하는 경우에,
    상기 양자화 행렬의 복호화 단계에서는 역양자화에 사용할 복호화 대상 양자화 행렬(MatrixID)을 기본 행렬로 결정하며,
    상기 기본 행렬은 복호화기에서 미리 정해져 있는 양자화 행렬로서 양자화 행렬의 크기와 종류에 의해 특정되는 것을 특징으로 하는 양자화 행렬 복호화 방법.
  13. 제11항에 있어서, 상기 식별 정보는 상기 복호화 대상 양자화 행렬(MatrixID)과 상기 참조 행렬(RefMatrixID) 사이의 차이를 지시하는 정보인 것을 특징으로 하는 양자화 행렬 복호화 방법.
  14. 제9항에 있어서, 상기 양자화 행렬의 예측 방식을 결정하는 단계에서, 상기 양자화 행렬의 예측 방식을 양자화 행렬 내의 계수 간 예측 방식으로 결정하는 경우에, 상기 양자화 행렬을 복호화하는 단계에서는 복호화 대상 양자화 행렬 내에서 이전에 복호화된 양자화 행렬 계수를 이용하여 양자화 행렬 계수 사이의 차이값을 복호화하고, 상기 복호화된 차이값을 기반으로 양자화 행렬의 계수를 복호화하는 것을 특징으로 하는 양자화 행렬 복호화 방법.
  15. 제9항에 있어서, 상기 양자화 행렬의 예측 방식이 양자화 행렬의 복사인 경우에, 상기 양자화 행렬을 복호화하는 단계에서는, 양자화 행렬의 복사에 사용된 행렬을 식별하는 식별 정보를 복호화하며,
    상기 식별 정보는 상기 양자화 행렬의 복사에 사용된 양자화 행렬이 참조 행렬인지 기본 행렬인지를 하나의 신택스로 지시하는 것을 특징으로 하는 양자화 행렬 복호화 방법.
PCT/KR2013/000493 2012-01-20 2013-01-21 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치 WO2013109127A1 (ko)

Priority Applications (14)

Application Number Priority Date Filing Date Title
EP21163746.7A EP3855744A1 (en) 2012-01-20 2013-01-21 Method for encoding and decoding quantized matrix and apparatus using same
US14/373,270 US9866839B2 (en) 2012-01-20 2013-01-21 Method for encoding and decoding quantized matrix and apparatus using same
EP13738659.5A EP2806640A4 (en) 2012-01-20 2013-01-21 PROCESS FOR CODING AND DECODING A QUANTIZED MATRIX AND DEVICE THEREFOR
BR112014017500-4A BR112014017500B1 (pt) 2012-01-20 2013-01-21 Método de decodificação de vídeo
JP2014553264A JP5886446B2 (ja) 2012-01-20 2013-01-21 量子化行列の符号化方法及び復号化方法、並びにそれを利用する装置
CN201380014811.0A CN104170382B (zh) 2012-01-20 2013-01-21 用于编码和解码量化矩阵的方法和使用其的设备
BR122020017515-0A BR122020017515B1 (pt) 2012-01-20 2013-01-21 Método de decodificação de vídeo
BR122020017523-0A BR122020017523B1 (pt) 2012-01-20 2013-02-21 Aparelho de decodificação de vídeo
US15/792,086 US10306228B2 (en) 2012-01-20 2017-10-24 Method for encoding and decoding quantized matrix and apparatus using same
US16/376,492 US10708595B2 (en) 2012-01-20 2019-04-05 Method for encoding and decoding quantized matrix and apparatus using same
US16/885,955 US11252411B2 (en) 2012-01-20 2020-05-28 Method for encoding and decoding quantized matrix and apparatus using same
US17/565,968 US11736696B2 (en) 2012-01-20 2021-12-30 Method for encoding and decoding quantized matrix and apparatus using same
US17/565,976 US11778189B2 (en) 2012-01-20 2021-12-30 Method for encoding and decoding quantized matrix and apparatus using same
US18/451,596 US20230396769A1 (en) 2012-01-20 2023-08-17 Method for encoding and decoding quantized matrix and apparatus using same

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
KR20120006564 2012-01-20
KR10-2012-0006564 2012-01-20
KR10-2012-0011672 2012-02-06
KR20120011672 2012-02-06
KR10-2012-0013462 2012-02-09
KR20120013462 2012-02-09
KR20120013996 2012-02-10
KR10-2012-0013996 2012-02-10
KR10-2012-0038971 2012-04-16
KR20120038971 2012-04-16
KR10-2013-0006736 2013-01-21
KR1020130006736A KR101627085B1 (ko) 2012-01-20 2013-01-21 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/373,270 A-371-Of-International US9866839B2 (en) 2012-01-20 2013-01-21 Method for encoding and decoding quantized matrix and apparatus using same
US15/792,086 Continuation US10306228B2 (en) 2012-01-20 2017-10-24 Method for encoding and decoding quantized matrix and apparatus using same

Publications (1)

Publication Number Publication Date
WO2013109127A1 true WO2013109127A1 (ko) 2013-07-25

Family

ID=48995992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/000493 WO2013109127A1 (ko) 2012-01-20 2013-01-21 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Country Status (7)

Country Link
US (7) US9866839B2 (ko)
EP (2) EP3855744A1 (ko)
JP (11) JP5886446B2 (ko)
KR (10) KR101627085B1 (ko)
CN (7) CN104170382B (ko)
BR (3) BR122020017515B1 (ko)
WO (1) WO2013109127A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006632A1 (ko) * 2019-07-08 2021-01-14 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
CN113711606A (zh) * 2019-04-15 2021-11-26 Lg 电子株式会社 基于缩放列表数据的信令的视频或图像编译
CN114342398A (zh) * 2019-08-20 2022-04-12 北京字节跳动网络技术有限公司 默认缩放矩阵和用户定义缩放矩阵的使用

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005076614A1 (en) 2004-01-30 2005-08-18 Matsushita Electric Industrial Co., Ltd. Moving picture coding method and moving picture decoding method
CN104170382B (zh) 2012-01-20 2018-08-03 韩国电子通信研究院 用于编码和解码量化矩阵的方法和使用其的设备
AU2015258162B2 (en) * 2012-02-29 2017-01-12 Sony Corporation Image Processing Device and Method
US9838682B2 (en) * 2012-02-29 2017-12-05 Sony Corporation Image processing device and method with a scalable quantization matrix
US9510019B2 (en) 2012-08-09 2016-11-29 Google Inc. Two-step quantization and coding method and apparatus
US9253483B2 (en) 2012-09-25 2016-02-02 Google Technology Holdings LLC Signaling of scaling list
WO2014051962A1 (en) * 2012-09-25 2014-04-03 Motorola Mobility Llc Signaling of scaling list
WO2016103542A1 (ja) 2014-12-26 2016-06-30 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置および復号装置
TWI561060B (en) * 2015-01-15 2016-12-01 Mstar Semiconductor Inc Signal processing apparatus and signal processing method including quantization or inverse-quantization process
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
JP6962325B2 (ja) * 2016-08-24 2021-11-05 ソニーグループ株式会社 画像処理装置、画像処理方法、及びプログラム
US10827173B2 (en) 2017-11-13 2020-11-03 Electronics And Telecommunications Research Institute Method and apparatus for quantization
JP7334726B2 (ja) * 2018-03-28 2023-08-29 ソニーグループ株式会社 画像処理装置及び画像処理方法
US11509889B2 (en) 2018-06-27 2022-11-22 Kt Corporation Method and apparatus for processing video signal
MX2020012688A (es) 2018-06-27 2021-02-15 Kt Corp Metodo y aparato para procesar se?ales de video.
KR102462910B1 (ko) 2018-11-12 2022-11-04 한국전자통신연구원 배치 정규화 레이어의 웨이트들에 대한 양자화 방법 및 그 장치
JP2020098986A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
CN113228651A (zh) * 2018-12-26 2021-08-06 韩国电子通信研究院 量化矩阵编码/解码方法和装置以及存储比特流的记录介质
CN111699694B (zh) * 2019-01-15 2022-07-08 Lg电子株式会社 使用变换跳过标志的图像编码方法和装置
JP2020150338A (ja) 2019-03-11 2020-09-17 キヤノン株式会社 画像復号装置、画像復号方法、及びプログラム
JP7267785B2 (ja) 2019-03-11 2023-05-02 キヤノン株式会社 画像復号装置、画像復号方法、及びプログラム
WO2020192633A1 (en) * 2019-03-25 2020-10-01 Mediatek Inc. Method and apparatus of the quantization matrix computation and representation for video coding
KR20210130235A (ko) * 2019-04-15 2021-10-29 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
WO2020213865A1 (ko) * 2019-04-15 2020-10-22 엘지전자 주식회사 스케일링 리스트 기반 비디오 또는 영상 코딩
KR20200133185A (ko) * 2019-05-15 2020-11-26 현대자동차주식회사 영상 복호화 장치에서 이용하는 역양자화장치 및 방법
WO2020251332A1 (ko) 2019-06-14 2020-12-17 한국전자통신연구원 양자화 행렬 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
TW202106017A (zh) * 2019-06-21 2021-02-01 法商內數位Vc控股法國公司 用於視訊編碼及解碼的單一索引量化矩陣設計
KR20220024972A (ko) * 2019-07-06 2022-03-03 미디어텍 인크. 양자화 행렬들의 시그널링
CN114270858A (zh) * 2019-08-14 2022-04-01 交互数字Vc控股法国有限公司 用于视频编码和解码的量化矩阵预测
CA3152831A1 (en) 2019-08-29 2021-03-04 Lg Electronics Inc. Image encoding and decoding using adaptive loop and cross-component filtering
JP2021048532A (ja) * 2019-09-19 2021-03-25 キヤノン株式会社 画像符号化装置、画像復号装置及びそれらの制御方法及びプログラム
US12052414B2 (en) * 2019-09-23 2024-07-30 Lg Electronics Inc. Image encoding/decoding method and apparatus using quantization matrix, and method for transmitting bitstream
CN111050171B (zh) 2019-12-18 2022-10-11 腾讯科技(深圳)有限公司 视频解码方法、装置、设备及存储介质
CN111147858B (zh) * 2019-12-31 2024-02-27 腾讯科技(深圳)有限公司 视频解码方法、装置、设备及存储介质
US11451779B2 (en) * 2020-03-05 2022-09-20 Qualcomm Incorporated Scaling list signalling for video coding
US11316541B2 (en) 2020-09-25 2022-04-26 Samsung Electronics Co., Ltd. Low-density parity-check (LDCP) decoder of reconstruction-computation-quantization (RCQ) approach for a storage device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940003199A (ko) * 1992-07-24 1994-02-21 강진구 적응 양자화 기능을 갖는 영상압축 및 신장방법과 그 장치
US20080205528A1 (en) * 2003-01-14 2008-08-28 Samsung Electronics Co., Ltd. Method and apparatus for encoding and/or decoding moving pictures
US20100086028A1 (en) * 2007-04-16 2010-04-08 Kabushiki Kaisha Toshiba Video encoding and decoding method and apparatus
US20100316120A1 (en) * 2009-06-15 2010-12-16 Kiyofumi Abe Moving picture coding device and broadcast wave recording device
US20110150082A1 (en) * 2004-01-30 2011-06-23 Jiuhuai Lu Moving picture coding method and moving picture decoding method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4973961A (en) 1990-02-12 1990-11-27 At&T Bell Laboratories Method and apparatus for carry-over control in arithmetic entropy coding
FI973873A (fi) 1997-10-02 1999-04-03 Nokia Mobile Phones Ltd Puhekoodaus
US7373009B2 (en) * 2005-02-09 2008-05-13 Lsi Corporation Method and apparatus for efficient transmission and decoding of quantization matrices
US7991236B2 (en) * 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
KR101669873B1 (ko) * 2009-10-16 2016-10-27 삼성전자주식회사 삼차원 메쉬 압축장치 및 방법
JP5328629B2 (ja) 2009-12-17 2013-10-30 株式会社メガチップス エンコーダおよび画像変換装置
US9167252B2 (en) * 2010-12-01 2015-10-20 Texas Instruments Incorporated Quantization matrix compression in video coding
MX2013008980A (es) * 2011-02-10 2013-11-01 Sony Corp Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
CN104170382B (zh) * 2012-01-20 2018-08-03 韩国电子通信研究院 用于编码和解码量化矩阵的方法和使用其的设备
US9838682B2 (en) 2012-02-29 2017-12-05 Sony Corporation Image processing device and method with a scalable quantization matrix

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940003199A (ko) * 1992-07-24 1994-02-21 강진구 적응 양자화 기능을 갖는 영상압축 및 신장방법과 그 장치
US20080205528A1 (en) * 2003-01-14 2008-08-28 Samsung Electronics Co., Ltd. Method and apparatus for encoding and/or decoding moving pictures
US20110150082A1 (en) * 2004-01-30 2011-06-23 Jiuhuai Lu Moving picture coding method and moving picture decoding method
US20100086028A1 (en) * 2007-04-16 2010-04-08 Kabushiki Kaisha Toshiba Video encoding and decoding method and apparatus
US20100316120A1 (en) * 2009-06-15 2010-12-16 Kiyofumi Abe Moving picture coding device and broadcast wave recording device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113711606A (zh) * 2019-04-15 2021-11-26 Lg 电子株式会社 基于缩放列表数据的信令的视频或图像编译
WO2021006632A1 (ko) * 2019-07-08 2021-01-14 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
US11528477B2 (en) 2019-07-08 2022-12-13 Lg Electronics Inc. Scaling list parameter-based video or image coding
US11889062B2 (en) 2019-07-08 2024-01-30 Lg Electronics Inc. Scaling list parameter-based video or image coding
CN114342398A (zh) * 2019-08-20 2022-04-12 北京字节跳动网络技术有限公司 默认缩放矩阵和用户定义缩放矩阵的使用
US12096013B2 (en) 2019-08-20 2024-09-17 Beijing Bytedance Network Technology Co., Ltd. Signaling for transform skip mode

Also Published As

Publication number Publication date
JP2016136732A (ja) 2016-07-28
US10306228B2 (en) 2019-05-28
US20150334396A1 (en) 2015-11-19
KR20210124171A (ko) 2021-10-14
US20200296376A1 (en) 2020-09-17
JP2019054540A (ja) 2019-04-04
US20230396769A1 (en) 2023-12-07
JP6163574B2 (ja) 2017-07-12
JP2019054541A (ja) 2019-04-04
JP6445623B2 (ja) 2018-12-26
JP6163575B2 (ja) 2017-07-12
JP6736642B2 (ja) 2020-08-05
CN108924571A (zh) 2018-11-30
CN108924570B (zh) 2021-08-24
CN108683916A (zh) 2018-10-19
CN108683916B (zh) 2021-09-07
KR20140092288A (ko) 2014-07-23
EP2806640A1 (en) 2014-11-26
JP6738882B2 (ja) 2020-08-12
KR20240027661A (ko) 2024-03-04
JP2017200216A (ja) 2017-11-02
BR122020017523B1 (pt) 2022-11-22
BR112014017500B1 (pt) 2022-11-16
BR112014017500A8 (pt) 2017-07-04
KR20140092286A (ko) 2014-07-23
KR101998390B1 (ko) 2019-07-09
US11736696B2 (en) 2023-08-22
CN109194967B (zh) 2021-09-07
CN109194958A (zh) 2019-01-11
BR112014017500A2 (pt) 2017-06-13
KR101875206B1 (ko) 2018-08-02
US9866839B2 (en) 2018-01-09
KR102115318B1 (ko) 2020-05-26
US10708595B2 (en) 2020-07-07
KR101627085B1 (ko) 2016-06-03
KR20200057693A (ko) 2020-05-26
JP2016129356A (ja) 2016-07-14
US11252411B2 (en) 2022-02-15
JP2020182234A (ja) 2020-11-05
EP2806640A4 (en) 2016-04-27
JP2016129355A (ja) 2016-07-14
CN109194967A (zh) 2019-01-11
KR102020838B1 (ko) 2019-09-11
CN108924571B (zh) 2021-09-07
CN104170382A (zh) 2014-11-26
EP3855744A1 (en) 2021-07-28
US20180048905A1 (en) 2018-02-15
KR20180079274A (ko) 2018-07-10
KR101527442B1 (ko) 2015-06-11
CN107580230B (zh) 2021-08-20
BR122020017515B1 (pt) 2022-11-22
JP7003191B2 (ja) 2022-01-20
JP2022061985A (ja) 2022-04-19
JP5886446B2 (ja) 2016-03-16
CN107580230A (zh) 2018-01-12
JP6163576B2 (ja) 2017-07-12
CN104170382B (zh) 2018-08-03
JP2019062551A (ja) 2019-04-18
KR20180078213A (ko) 2018-07-09
KR20140092287A (ko) 2014-07-23
KR101971077B1 (ko) 2019-04-22
CN108924570A (zh) 2018-11-30
KR20130086012A (ko) 2013-07-30
JP2015504289A (ja) 2015-02-05
JP2023139264A (ja) 2023-10-03
US20190238850A1 (en) 2019-08-01
JP6720278B2 (ja) 2020-07-08
US20220124333A1 (en) 2022-04-21
US11778189B2 (en) 2023-10-03
KR102313195B1 (ko) 2021-10-15
CN109194958B (zh) 2021-08-20
US20220132126A1 (en) 2022-04-28
KR20180078212A (ko) 2018-07-09

Similar Documents

Publication Publication Date Title
KR102020838B1 (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
KR20230035009A (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

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: 13738659

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014553264

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14373270

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2013738659

Country of ref document: EP

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014017500

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014017500

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140716