WO2020009460A1 - 잔차신호 재배열 방법 및 영상 복호화 장치 - Google Patents

잔차신호 재배열 방법 및 영상 복호화 장치 Download PDF

Info

Publication number
WO2020009460A1
WO2020009460A1 PCT/KR2019/008102 KR2019008102W WO2020009460A1 WO 2020009460 A1 WO2020009460 A1 WO 2020009460A1 KR 2019008102 W KR2019008102 W KR 2019008102W WO 2020009460 A1 WO2020009460 A1 WO 2020009460A1
Authority
WO
WIPO (PCT)
Prior art keywords
type
residual
rearrangement
transform
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2019/008102
Other languages
English (en)
French (fr)
Inventor
나태영
손세훈
신재섭
이선영
이승호
임정연
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Telecom Co Ltd
Original Assignee
SK Telecom Co Ltd
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
Priority claimed from KR1020190072480A external-priority patent/KR102907495B1/ko
Application filed by SK Telecom Co Ltd filed Critical SK Telecom Co Ltd
Publication of WO2020009460A1 publication Critical patent/WO2020009460A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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

Definitions

  • the present invention relates to encoding and decoding of an image, and more particularly, to a residual signal rearrangement method and an image decoding apparatus that rearranges residual signals to improve encoding and decoding efficiency.
  • moving image data has a larger amount of data than audio data or still image data
  • a large amount of hardware resources including a memory, are required to store or transmit itself without processing for compression.
  • the video data when storing or transmitting video data, the video data is compressed and stored or transmitted using an encoder, and the decoder receives the compressed video data, decompresses, and plays the video data.
  • video compression techniques include H.264 / AVC and HEVC (High Efficiency Video Coding), which improves coding efficiency by about 40% compared to H.264 / AVC.
  • an aspect of the present invention is to encode and decode a residual signal by adaptively rearranging the residual signal according to the characteristics of the current block. Relates to techniques for improving the efficiency of the.
  • a method comprising: decoding from a bitstream a transform type information indicating transform coefficients in a transform block of a current block and a transform type applied to the transform block; Deriving a residual block from the transform coefficients according to the transform type indicated by the transform type information; And rearranging the residual signals in the residual block according to one of the one or more rearrangement types.
  • a decoding unit for decoding transform coefficients in the transform block of the current block and transform type information indicating the transform type applied to the transform block from the bitstream;
  • An inverse transform unit for deriving a residual block from the transform coefficients according to the transform type indicated by the transform type information;
  • control means for rearranging residual signals in the residual block according to any one or more types of rearrangement.
  • the residual signal is rearranged in a form suitable for the conversion type, compression performance for image encoding and decoding may be improved.
  • FIG. 1 is an exemplary block diagram of an image encoding apparatus that may implement techniques of this disclosure.
  • FIG. 2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
  • 3 is a diagram for describing a plurality of intra prediction modes.
  • FIG. 4 is an exemplary block diagram of an image decoding apparatus that may implement techniques of this disclosure.
  • 5 is a view for explaining a waveform of the basis functions of the transform type.
  • FIG. 6 is a diagram for describing a conversion type suitable for energy distribution of residual signals.
  • FIG. 7 is a flowchart illustrating an embodiment of the present invention for rearranging residual signals.
  • FIGS. 8 and 9 are diagrams for describing two examples of the rearrangement type.
  • FIG. 10 is a diagram for describing an example of rearranging residual signals according to the rearrangement types described with reference to FIGS. 8 and 9.
  • 11 is a diagram for describing an example of classifying intra prediction according to a prediction direction.
  • FIG. 14 is a flowchart for explaining an embodiment of rearranging residual signals based on error values of reference blocks.
  • FIG. 15 is a diagram for describing an example of rearranging residual signals using the embodiment described with reference to FIG. 14.
  • FIG. 1 is an exemplary block diagram of an image encoding apparatus that may implement techniques of this disclosure.
  • an image encoding apparatus and subcomponents thereof will be described with reference to FIG. 1.
  • the image encoding apparatus may include a block divider 110, a predictor 120, a subtractor 130, a transformer 140, a quantizer 145, an encoder 150, an inverse quantizer 160, and an inverse transform unit ( 165, an adder 170, a filter unit 180, and a memory 190.
  • Each component of the image encoding apparatus may be implemented in hardware or software, or a combination of hardware and software.
  • the functions of each component may be implemented in software and the microprocessor may be implemented to execute the functions of the software corresponding to each component.
  • One image is composed of a plurality of pictures. Each picture is divided into a plurality of regions, and encoding is performed for each region. For example, one picture is divided into one or more tiles or slices. Here, one or more tiles may be defined as a tile group. Each tile or / slice is divided into one or more coding tree units (CTUs). Each CTU is divided into one or more coding units (CUs) by a tree structure. Information applied to each CU is encoded as the syntax of the CU, and information commonly applied to the CUs included in one CTU is encoded as the syntax of the CTU.
  • CTUs coding tree units
  • information commonly applied to all blocks in one tile is encoded as a syntax of a tile or as a syntax of a tile group in which a plurality of tiles are collected.
  • Information applied to all blocks constituting one picture is It is encoded in a picture parameter set (PPS) or picture header.
  • PPS picture parameter set
  • SPS sequence parameter set
  • VPS video parameter set
  • the block divider 110 determines the size of a coding tree unit (CTU).
  • CTU size Information on the size of the CTU (CTU size) is encoded as a syntax of the SPS or PPS and transmitted to the image decoding apparatus.
  • the block dividing unit 110 After dividing each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, the block dividing unit 110 iteratively divides the CTUs using a tree structure. split (recursively) A leaf node in the tree structure becomes a CU (coding unit) which is a basic unit of coding.
  • CU coding unit
  • the tree structure is QuadTree (QT) in which the parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or BinaryTree in which the parent node is divided into two child nodes. , BT), or a ternary tree (TernaryTree, TT) in which a parent node is divided into three child nodes in a 1: 2: 1 ratio, or a mixture of two or more of these QT structures, BT structures, and TT structures.
  • QTBT QuadTree plus BinaryTree
  • QTBTTT QuadTree plus BinaryTree TernaryTree
  • the BTTT may be collectively referred to as a multiple-type tree (MTT).
  • the CTU may first be divided into a QT structure. Quadtree splitting may be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf nodes allowed in QT.
  • MinQTSize minimum block size
  • the first flag QT_split_flag indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the encoder 150 and signaled to the image decoding apparatus. If the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further divided into one or more of the BT structure or the TT structure.
  • MaxBTSize maximum block size
  • a plurality of division directions there may be a plurality of division directions. For example, there may be two directions in which a block of a corresponding node is divided horizontally and a direction divided vertically.
  • a second flag indicating whether nodes are partitioned
  • a flag indicating additional partitioning direction vertical or horizontal
  • / or partition type Boary or Ternary
  • the CU split flag (split_cu_flag) indicating that the split is performed first and the QT split flag (split_qt_flag) information indicating whether the split type is a QT split are provided by the encoder 150. ) And is signaled to the image decoding apparatus.
  • the CU split flag (split_cu_flag) value is not split, the block of the corresponding node becomes a leaf node in the split tree structure to become a coding unit (CU) which is a basic unit of encoding.
  • split_cu_flag When indicating that the CU split flag (split_cu_flag) value is split, it is distinguished whether the split type is QT or MTT through the QT split flag (split_qt_flag) value. If the partition type is QT, there is no additional information. If the partition type is MTT, additionally, a flag indicating the MTT splitting direction (vertical or horizontal) (mtt_split_cu_vertical_flag) and / or a flag indicating the MTT splitting type (Binary or Ternary) (mtt_split_cu_binary_flag) is encoded by the encoder 150 and signaled to the image decoding apparatus.
  • split_flag split flag indicating whether each node of the BT structure is divided into blocks of a lower layer and split type information indicating a split type are encoded by the encoder 150 and transmitted to the image decoding apparatus. Meanwhile, there may further be a type in which blocks of the corresponding node are further divided into two blocks having an asymmetric shape.
  • the asymmetric form may include a form of dividing a block of a node into two rectangular blocks having a size ratio of 1: 3, or a form of dividing a block of a node in a diagonal direction.
  • the CU may have various sizes depending on the QTBT or QTBTTT splitting from the CTU.
  • a block corresponding to a CU that is, a leaf node of QTBTTT
  • a 'current block' a block corresponding to a CU (that is, a leaf node of QTBTTT) to be encoded or decoded.
  • the prediction unit 120 predicts the current block and generates a prediction block.
  • the predictor 120 includes an intra predictor 122 and an inter predictor 124.
  • current blocks within a picture may each be predictively coded.
  • prediction of the current block uses an intra prediction technique (using data from a picture containing the current block) or an inter prediction technique (using data from a picture coded before a picture containing the current block). Can be performed.
  • Inter prediction includes both unidirectional prediction and bidirectional prediction.
  • the intra predictor 122 predicts pixels in the current block by using pixels (reference pixels) positioned around the current block in the current picture including the current block.
  • the plurality of intra prediction modes may include a non-directional mode including a planar mode and a DC mode and 65 directional modes.
  • the surrounding pixels to be used and the expressions are defined differently for each prediction mode.
  • the intra predictor 122 may determine an intra prediction mode to use to encode the current block.
  • intra prediction unit 122 may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, intra predictor 122 calculates rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. Intra prediction mode may be selected.
  • the intra prediction unit 122 selects one intra prediction mode from among the plurality of intra prediction modes, and predicts the current block by using a neighboring pixel (reference pixel) and an operation formula determined according to the selected intra prediction mode.
  • Information about the selected intra prediction mode is encoded by the encoder 150 and transmitted to the image decoding apparatus.
  • the inter prediction unit 124 generates a prediction block for the current block through a motion compensation process.
  • the block most similar to the current block is searched in the coded and decoded reference picture before the current picture, and a predicted block for the current block is generated using the searched block.
  • a motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • motion estimation is performed on a luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component.
  • the motion information including the information about the reference picture and the motion vector used to predict the current block is encoded by the encoder 150 and transmitted to the image decoding apparatus.
  • the subtractor 130 generates a residual block by subtracting the prediction block generated by the intra predictor 122 or the inter predictor 124 from the current block.
  • the transformer 140 converts the residual signal in the residual block having pixel values of the spatial domain into a transform coefficient of the frequency domain.
  • the transform unit 140 may transform the residual signals in the residual block by using the entire size of the residual block as a conversion unit, or divide the residual block into two subblocks, a transform region and a non-conversion region, Residual signals may be transformed using only blocks as transform units.
  • the transform region subblock may be one of two rectangular blocks having a size ratio of 1: 1 on the horizontal axis (or vertical axis).
  • a flag (cu_sbt_flag), directional (vertical / horizontal) information (cu_sbt_horizontal_flag) and / or position information (cu_sbt_pos_flag) indicating that only a subblock has been converted are encoded by the encoder 150 and signaled to the video decoding apparatus.
  • the size of the transform region subblock may have a size ratio of 1: 3 based on the horizontal axis (or vertical axis).
  • a flag (cu_sbt_quad_flag) for distinguishing the division is additionally encoded by the encoder 150 to decode the image. Signaled to the device.
  • the converter 140 may select one of a plurality of conversion types and convert residual signals.
  • the plurality of transformation types may include cosine-based transformations (eg, DCT-II, DCT-VIII, etc.) and sine-based transformations (eg, DST-VII). Further, the transform unit 140 may skip the transform and output the residual signal of the spatial domain to the quantizer 145 as it is.
  • the quantization unit 145 quantizes the transform coefficients output from the transform unit 140, and outputs the quantized transform coefficients to the encoder 150.
  • the encoder 150 generates a bitstream by encoding the quantized transform coefficients by using a coding scheme such as CABAC (Context-based Adaptive Binary Arithmetic Code).
  • the encoder 150 may encode information such as a CTU size, a CU division flag, a QT division flag, an MTT division direction, and an MTT division type related to block division, so that the image decoding apparatus may divide the block in the same manner as the image encoding apparatus. Make sure
  • the encoder 150 encodes information about a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and intra prediction information (that is, intra prediction mode) according to the prediction type. Information) or inter prediction information (information about a reference picture and a motion vector) is encoded. Also, the encoder 150 may encode syntax elements related to the transform. As an example, the encoding unit 150 may include a transform skip flag indicating whether a transform on the residual signal is skipped, and a transform indicating a transform type used to transform the residual signal among a plurality of transform types when the transform is not skipped. Type information and the like can be encoded.
  • the inverse quantizer 160 inversely quantizes the quantized transform coefficients output from the quantizer 145 to generate transform coefficients.
  • the inverse transformer 165 restores the residual block by converting the transform coefficients output from the inverse quantizer 160 from the frequency domain to the spatial domain.
  • the adder 170 reconstructs the current block by adding the reconstructed residual block and the predicted block generated by the predictor 120.
  • the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next order of blocks.
  • the filter unit 180 filters the reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, and the like caused by block-based prediction and transformation / quantization. Do this.
  • the filter unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.
  • the deblocking filter 180 filters the boundaries between the reconstructed blocks to remove blocking artifacts caused by block-by-block encoding / decoding, and the SAO filter 184 adds an additional block to the deblocking filtered image. Perform filtering.
  • the SAO filter 184 is a filter used to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.
  • the reconstructed blocks filtered through the deblocking filter 182 and the SAO filter 184 are stored in the memory 190.
  • the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
  • the apparatus for encoding an image may further include control means for rearranging residual signals (samples) in the residual block.
  • This control means may be implemented in the same physical configuration (processor or the like) together with the subcomponents represented in FIG. 1 or in a different physical configuration than the subcomponents represented in FIG. Details of the control means will be described later.
  • FIG. 4 is an exemplary block diagram of an image decoding apparatus that may implement techniques of this disclosure.
  • an image decoding apparatus and subcomponents thereof will be described with reference to FIG. 4.
  • the image decoding apparatus may include a decoder 410, an inverse quantizer 420, an inverse transformer 430, a predictor 440, an adder 450, a filter 460, and a memory 470. have.
  • each component of the image decoding apparatus may be implemented in hardware or software, or a combination of hardware and software.
  • the functions of each component may be implemented in software and the microprocessor may be implemented to execute the functions of the software corresponding to each component.
  • the decoder 410 decodes the bitstream received from the image encoding apparatus, extracts information related to block division, determines a current block to be decoded, and includes information on prediction information and residual signal necessary for reconstructing the current block. Extract
  • the decoder 410 extracts information on the CTU size from a Sequence Parameter Set (SPS) or Picture Parameter Set (PPS) to determine the size of the CTU, and divides the picture into a CTU of the determined size.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is partitioned using the tree structure by extracting the partition information for the CTU.
  • a first flag (QT_split_flag) related to splitting of QT is extracted, and each node is divided into four nodes of a lower layer.
  • QT_split_flag For the node corresponding to the leaf node of the QT, a second flag (MTT_split_flag), a splitting direction (vertical / horizontal) and / or a splitting type (binary / ternary) information related to splitting of the MTT is extracted, and the corresponding leaf node is MTT.
  • MTT_split_flag a splitting direction (vertical / horizontal) and / or a splitting type (binary / ternary) information related to splitting of the MTT
  • a CU split flag indicating whether to split a CU is extracted, and when a corresponding block is split, a QT split flag (split_qt_flag) is extracted.
  • a flag indicating the MTT splitting direction (vertical or horizontal) and / or a flag (mtt_split_cu_binary_flag) indicating the MTT splitting type (Binary or Ternary) is additionally extracted.
  • each node may generate zero or more repetitive MTT splits after 0 or more repetitive QT splits.
  • the CTU may directly generate MTT splitting or vice versa.
  • the first flag QT_split_flag related to the splitting of the QT is extracted to divide each node into four nodes of the lower layer. Then, for the node corresponding to the leaf node of the QT, a split flag (split_flag) indicating splitting or splitting direction information indicating whether to be split further by BT is extracted.
  • the decoder 410 determines the current block to be decoded by splitting the tree structure, the decoder 410 extracts information about a prediction type indicating whether the current block is intra predicted or inter predicted.
  • the prediction type information indicates intra prediction
  • the decoder 410 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.
  • the prediction type information indicates inter prediction
  • the decoder 410 extracts a syntax element for inter prediction information, that is, a motion vector and information representing a reference picture to which the motion vector refers.
  • the decoder 410 extracts information about quantized transform coefficients of the current block as information on the residual signal.
  • the decoder 410 extracts syntax elements related to the transform. For example, if the transform skip flag is extracted and the transform skip flag indicates that the transform is not skipped, transform type information or the like may be extracted.
  • the inverse quantizer 420 inverse quantizes the quantized transform coefficients, and the inverse transformer 430 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to generate a residual block for the current block. .
  • the inverse transform may be performed based on the transform related syntax elements extracted by the decoder 410. For example, if the transform skip flag indicates a transform skip, an inverse transform by the inverse transform unit 430 is skipped. In this case, a block that has undergone inverse quantization (a block composed of dequantized transform coefficients) is output as a residual block. If the transform skip flag indicates that the transform is to be performed, the inverse transform unit 430 performs inverse transform according to the transform type indicated by the transform type information.
  • the inverse transform unit 430 generates a residual block by performing an inverse transform using a DCT-II based transform matrix, and generates a residual block based on DST-VII if the transform type indicates DST-VII.
  • a residual block is generated by performing inverse transform using a transform matrix of.
  • the inverse transform unit 430 indicates a flag (cu_sbt_flag) indicating that only a subblock of the transform block has been transformed, and vertical / horizontal information (cu_sbt_horizontal_flag) of the subblock. ) And / or the position information (cu_sbt_pos_flag) of the subblock is extracted, and the residual signals are restored by inversely transforming transform coefficients of the corresponding subblock from the frequency domain to the spatial domain, and a value of "0" as a residual signal for the region not inversely transformed. Fill in to create the last residual block for the current block.
  • the predictor 440 may include an intra predictor 442 and an inter predictor 444.
  • the intra predictor 442 is activated when the prediction type of the current block is intra prediction
  • the inter predictor 444 is activated when the prediction type of the current block is inter prediction.
  • the intra predictor 442 determines the intra prediction mode of the current block among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the decoder 410, and references pixels around the current block according to the intra prediction mode. Predict the current block using
  • the inter prediction unit 444 determines the motion vector of the current block and the reference picture to which the motion vector refers by using syntax elements of the intra prediction mode extracted from the decoder 410, and uses the motion vector and the reference picture. To predict the current block.
  • the adder 450 reconstructs the current block by adding the residual block output from the inverse transformer and the prediction block output from the inter predictor or the intra predictor.
  • the pixels in the reconstructed current block are utilized as reference pixels when intra prediction of a block to be decoded later.
  • the filter unit 460 may include a deblocking filter 462 and a SAO filter 464.
  • the deblocking filter 462 deblocks and filters the boundary between reconstructed blocks in order to remove blocking artifacts caused by block-by-block decoding.
  • the SAO filter 464 performs additional filtering on the reconstructed block after the deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.
  • the reconstructed blocks filtered through the deblocking filter 462 and the SAO filter 464 are stored in the memory 470. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
  • the image decoding apparatus may further include a control means for rearranging the residual signals in the residual block.
  • This control means may be implemented in the same physical configuration (processor or the like) together with the subcomponents represented in FIG. 4 or in a different physical configuration than the subcomponents represented in FIG. Details of the control means will be described later.
  • control means included in the video decoding apparatus corresponds to the above-described control means included in the video encoding apparatus and a configuration corresponding in function thereof.
  • control means included in the video decoding apparatus is referred to as decoding control means, and the control included in the video encoding apparatus.
  • the means is referred to as encoding control means.
  • the HEVC standard (conventional method) performs transformation / inverse transformation using three kinds of transformation types (DCT, DST, and transform skip).
  • DCT transformation / inverse transformation using three kinds of transformation types
  • DST transformation type
  • transform skip transform skip
  • the basis functions represented in Fig. 5A are used to convert the input signal value into a count signal value.
  • the basis functions represented in FIG. 5 (b) are used to convert the input signal value into a count signal value.
  • the conversion can be efficiently processed. That is, when the input signal is similar to the waveform of the basis function, the total amount of the output count signal values may be reduced to improve the compression performance.
  • an input signal to be converted becomes a residual signal after prediction. Accordingly, depending on the shape / shape / waveform of the residual signal (shape / shape / waveforms of the residual signal values), there may be a conversion type among which the conversion can be efficiently processed. An example for explaining this in detail is represented in FIG. 6.
  • a difference value (error value) between a value of encoding / decoding target pixels (a, b, c, d) and a reference sample (circle indicated by hatching) May increase based on the distance from the reference sample.
  • an error value is relatively small as a pixel adjacent to the reference sample has a higher prediction accuracy, and a error value is relatively larger as a pixel farther from the reference sample has a lower prediction accuracy.
  • the difference of the error value is expressed based on the distance from the reference sample, it may be expressed as a straight upward line as shown by the dashed-dotted line in FIG.
  • FIG. 6 (b) An example of comparing the two-dot chain line with the waveforms of the DCT basis functions is shown in FIG. 6 (b), and an example of comparing the two-dot chain line with the waveforms of the DST basis functions is shown in FIG. 6 (c).
  • the two-dot dashed line shows the magnitude of magnitude as distance increases, and the waveform of DCT basis function decreases as the distance increases. As it increases, the size increases. Accordingly, it can be seen that a conversion type suitable for residual signal values whose error value gradually increases is a DST conversion type.
  • a form in which the distribution of residual signal values becomes smaller from the upper left side to the lower right side of the residual block may be appropriate. This is because the conventional method of encoding the transform coefficient is suitable when the coefficient values are distributed in the low frequency region and the coefficient values are not distributed in the high frequency region.
  • the present invention focuses on this characteristic (correlation between the magnitude distribution of the residual signal values and the transform type), and proposes methods for rearranging the residual signals to be a more suitable arrangement for the transform type.
  • the image encoding apparatus may derive a residual block for the current block by differentiating the current block and the prediction block of the current block.
  • the derived residual block may include one or more residual signals (samples).
  • the video encoding apparatus may adjust or rearrange the arrangement or distribution of the residual signals so as to be suitable for the transform type to be applied to the residual block.
  • the rearrangement type may include an exchange type, a move type, and the like, and the move type may include one or more of various types of inversion type and shifting type.
  • the exchange type can be understood as being included in the mobile type or in the same rearrangement as the mobile type. Specific examples of the rearrangement type will be described later.
  • the image encoding apparatus may derive the transform coefficients (transform blocks) by applying the rearranged residual signals to the transform type.
  • the conversion type is a Skip type
  • the conversion coefficients may correspond to residual signals.
  • the video encoding apparatus 150 may include information (transformation type information) and transform coefficients (quantized transform coefficients) indicating a transform type applied to the transform block and signal the image decoding apparatus to the bitstream. .
  • the decoder 410 may decode the transform type information and the transform coefficients from the bitstream (S710).
  • the inverse transform unit 430 inversely transforms the transform coefficients (conversion block) according to the transform type (conversion type indicated by the transform type information) indicated by the transform type information among the transform types (DCT, DST, and Skip). It can be derived (S720).
  • the decoding control means may rearrange the residual signals in the residual block according to one of the one or more rearrangement types (S730).
  • the rearranged residual signals (rearranged residual blocks) may have the same arrangement or distribution as the residual signals before being rearranged in the image encoding apparatus.
  • the rearranged residual block is summed with the prediction block derived from the prediction unit 440 to restore the current block.
  • a method of rearranging the residual signals may include a type (moving type) for exchanging (exchanging type) or moving the residual signals, and in the moving type, the residual signals are inverted or moved.
  • moving type for exchanging type
  • moving type the residual signals are inverted or moved.
  • shift shift There may be types that shift shift. Examples of the type of inverting and moving the residual signals (inverting type) and the type of shifting (shifting type) are shown in FIGS. 8 to 10.
  • the positions of the respective samples are represented using the numbers represented in the respective samples. It was.
  • a horizontal flip (H-flip) (FIG. 8A), which inverts and moves the upper and lower samples based on a horizontal center line (horizontal center axis, dotted line) of the residual block
  • a residual Vertical flip (V-flip) (Fig. 8 (b)) for inverting and shifting the left and right samples with respect to the vertical center line of the block (vertical center axis, dashed line)
  • V-flip Fig. 8 (b)
  • a type that inverts the upper left and lower right samples based on a dotted line (diagonal-up flip (Dup-flip), FIG. 8 (c)), and the lower left sample based on the right downward diagonal line (dashed line) of the residual block.
  • the inversion type may further include an inversion type (N-flip, FIG. 8E) in which the residual signal is not inverted (no change occurs).
  • FIGS. 10A and 10B An example of rearranging the residual signals using the Dup-flip type among various inversion types is illustrated in FIGS. 10A and 10B.
  • the hatched samples represent samples having a relatively large value (relatively high energy) of the residual signal.
  • the values of the residual signals increase in both the horizontal axis direction and the vertical axis direction.
  • the residual signals are rearranged in an energy form suitable for DST.
  • the positions of the respective samples are determined using the numbers represented in the respective samples. Expressed.
  • a horizontal shift (H-shift) for shifting the upper and lower samples with respect to the horizontal center line (horizontal center axis, dashed line) of the residual block, FIG. 9 (a)
  • a vertical shifting type for shifting left and right samples based on a vertical center line (vertical center axis, dotted line) of the residual block.
  • a type for shifting the upper left sample and the lower right sample based on the right diagonal line (dotted line) of the block (diagonal-up shift (Dup-shift), FIG.
  • FIGS. 10C and 10D An example of rearranging the residual signals using the Ddw-shift type among various shifting types is illustrated in FIGS. 10C and 10D.
  • the hatched samples represent samples having a relatively large value (relatively high energy) of the residual signal.
  • the values of the residual signals are increased in the horizontal axis direction so that the residual signals are rearranged in an energy form suitable for DST, and the residual signals are decreased in the vertical axis direction. It can be seen that they are rearranged in energy form suitable for DCT.
  • the distribution or arrangement of the residual signals may vary depending on the prediction mode and / or the prediction direction of the current block.
  • a rearrangement type suitable for a specific conversion type may also vary.
  • the prediction mode may mean whether the prediction mode of the current block is inter prediction or intra prediction
  • the prediction direction may mean an intra prediction direction when the prediction mode of the current block is intra prediction.
  • the distribution form of the residual signals may be divided into three categories ((A), (B) and (C)) according to the intra prediction direction.
  • (A) is a horizontal direct mode (Horizontal intra, up-diagonal intra), in which residual signal values gradually increase from left to right in the residual block.
  • (C) is a vertical intra mode (down-diagonal intra), and the residual signal values may gradually increase from the upper side to the lower side in the residual block.
  • (B) is a diagonal intra mode, and the residual signal values may increase from the upper left to the lower right in the residual block.
  • non-directional mode and inter prediction may be classified into separate categories.
  • the image encoding apparatus determines the distribution or arrangement of the residual signals based on the prediction mode and / or the prediction direction of the current block, determines the rearrangement type suitable for the arrangement and / or transformation type of the residual signals, and then determines the rearrangement.
  • the type can be applied to the residual block to rearrange the residual signals.
  • prediction information about the prediction mode and / or the prediction direction of the current block may be included in the bitstream and signaled from the image encoding apparatus to the image decoding apparatus.
  • the image decoding apparatus may further decode the prediction information from the bitstream in addition to the transform type information and the transform coefficients. Also, the image decoding apparatus may determine one or more rearrangement types that may be applied to the rearrangement of the residual block based on one or more of the transform type information and the prediction information. Specifically, the image decoding apparatus determines the distribution or arrangement of the residual signals based on the prediction mode and / or the prediction direction of the current block, and determines the rearrangement type suitable for the arrangement and / or transformation type of the residual signals. The residual signals may be rearranged by applying the determined rearrangement type to the residual block.
  • the image encoding / decoding apparatus may classify and categorize applicable rearrangement types according to prediction information and / or transform type information in advance.
  • the apparatus for encoding an image selects a category corresponding to the prediction information and / or transform type information of the current block, and information about the rearrangement type applied to the rearrangement among one or more rearrangement types included in the selected category. May be signaled to the video decoding apparatus.
  • the image decoding apparatus selects a category corresponding to the signaled prediction information and / or transform type information among predefined categories, and the signaled rearrangement type information is indicated from one or more rearrangement types included in the selected category.
  • the residual signals may be rearranged.
  • the conversion type is a skip type
  • a form in which the value of the residual signals decreases from the upper left side to the lower right side of the residual block may be suitable.
  • the transform type is the Skip type and the intra prediction direction is the horizontal directivity mode (A)
  • a rearrangement type for exchanging or shifting the residual signals located on the left side and the residual signals located on the right side may be suitable.
  • the transform type is the Skip type and the intra prediction direction is the vertical directing mode (C)
  • a rearrangement type for exchanging or moving the residual signals located above and the residual signals located below the residual block may be suitable.
  • the transform type is the Skip type and the intra prediction direction is the diagonal direction mode (B)
  • a rearrangement type for exchanging or moving the residual signals located at the upper left side of the residual block and the residual signals located at the lower right side may be suitable. Can be.
  • the rearrangement types suitable for the Skip type are shown in Tables 2 to 6 below based on the aforementioned categories.
  • the inversion type and the shifting type of rearrangement types are taken as examples.
  • Dup-flip can be replaced with Ddw-flip or HV-flip for diagonal directional mode (B), and Dup-flip and Ddw-flip for non-directional / inter mode (D). Can be replaced with HV-flip.
  • Dup-flip can be replaced by Ddw-flip or HV-flip in the case of horizontal orientation mode (A) and vertical orientation mode (C), and diagonal orientation mode (B) and non-directional / inter mode (D ), Dup-flip and Ddw-flip can be replaced with HV-flip.
  • N-flips are not included in Tables 2, 4, and 6, but N-flips are included in Tables 3 and 5. Due to such a difference, a difference may occur in a manner of signaling rearrangement type information. A method of signaling rearrangement type information will be described later.
  • the conversion type is the DST type
  • a form in which the value of the residual signals increases from the left to the right direction of the residual block or from the top to the bottom direction may be appropriate.
  • the transform type when the transform type is DST and the intra prediction direction is the horizontal directivity mode (A), a rearrangement type for exchanging or moving the residual signals located above and the residual signals located below the residual block may be suitable.
  • the transform type when the transform type is DST and the intra prediction direction is the vertical direction mode (C), a rearrangement type for exchanging or shifting the residual signals located on the left side and the residual signals located on the right side may be suitable.
  • the rearrangement types suitable for the DST type are shown in Tables 7 to 9 below based on the aforementioned categories.
  • Tables 7 to 9 the inversion type and the shifting type among the rearrangement types are taken as examples.
  • Dup-flip and Ddw-flip can be replaced with HV-flip in the case of non-directional / inter mode (D).
  • all inversion types can be replaced with shifting types in the same manner.
  • N-flips may be added to all categories.
  • N-flip is not included in Table 7 and Table 9, but N-flip is included in Table 8. Due to this difference, a difference may occur in a method of signaling rearrangement type information, which will be described later.
  • the conversion type is a DCT type
  • a form in which the values of the residual signals decrease in a left to right direction or from an upper side to a lower side of the residual block may be suitable.
  • the transform type is DCT and the intra prediction direction is the horizontal directivity mode (A)
  • a rearrangement type for exchanging or shifting the residual signals located on the left side and the residual signals located on the right side may be suitable.
  • the transform type is DCT and the intra prediction direction is the vertical direction mode (C)
  • a rearrangement type for exchanging or moving the residual signals located above and the residual signals located below the residual block may be suitable.
  • the transform type is DCT and the intra prediction direction is a diagonal direction mode (B)
  • a rearrangement type for exchanging or moving the residual signals located at the upper left side of the residual block and the residual signals located at the lower right side may be suitable. have.
  • the rearrangement type used in the present invention may include an exchange type and a move type
  • the move type may include an inversion type and a shifting type.
  • the image decoding apparatus may receive rearrangement type information from the image encoding apparatus (signaling) to determine the rearrangement type applied to the residual block, or the rearrangement type applied to the residual block without providing rearrangement type information.
  • An example in which no rearrangement type information is provided may include a case in which a rearrangement type to be applied to the residual block is previously set in the image encoding / decoding apparatus.
  • the rearrangement type information may not be provided.
  • the rearrangement type information may not be provided.
  • reordering type information examples include: 1) when only reordering type information is signaled, 2) enable information indicating whether reordering is allowed, reordering type information, and whether reordering is applied or not. When the application information is signaled, 3) the enable information and rearrangement type information may be signaled.
  • the rearrangement type information may be formed in various forms such as an index and a flag according to the number of applicable rearrangement type information (one or more rearrangement types).
  • the image encoding apparatus may signal the image decoding apparatus by including information on the rearrangement type applied to the residual block in the bitstream.
  • the image decoding apparatus may decode rearrangement type information and rearrange residual signals according to the rearrangement type indicated by the decoded rearrangement type information among the one or more rearrangement type information.
  • the image encoding apparatus may signal enable information (eg, residual_flipping_enabled_flag) indicating whether rearrangement is allowed.
  • Enable information may be defined and signaled by a high-level syntax.
  • the image encoding apparatus may apply application information (eg, residual_flipping_flag) indicating whether or not the rearrangement is applied to a corresponding residual block (or transform block). Or may be defined and signaled for each conversion block).
  • Application information may be defined in the header position of the corresponding transform block.
  • the image encoding apparatus may signal rearrangement type information (for example, residual_flipping_idx) applied to a corresponding residual block (or transform block).
  • the image decoding apparatus may determine whether the enable information decoded from the bitstream is on / off (S1210). When the enable information is on, the image decoding apparatus may decode application information from the bitstream (S1220). If the application information is on (S1230), the image decoding apparatus may decode rearrangement type information from the bitstream (S1240). The image decoding apparatus may rearrange the residual signals according to the rearrangement type indicated by the rearrangement type information among one or more rearrangement types applicable (S1250).
  • the video encoding apparatus may signal enable information.
  • Enable information may be defined and signaled by a high-level syntax.
  • the image encoding apparatus may signal rearrangement type information applied to the residual block (or transform block).
  • the enable information is on (S1310)
  • the image decoding apparatus may decode the rearrangement type information from the bitstream (S1320).
  • the image decoding apparatus may rearrange the residual signals according to the rearrangement type indicated by the rearrangement type information among one or more rearrangement types applicable (S1330).
  • the applicable rearrangement types may include an N-rearrangement type (eg, N-flip, N-shift) indicating that no rearrangement occurs.
  • N-rearrangement type e.g, N-flip, N-shift
  • the image encoding apparatus signals rearrangement type information indicating the N-rearrangement type, and the image decoding apparatus reconstructs the residual signals when the rearrangement type information indicates the N-rearrangement type. You may not perform the array.
  • the rearrangement type divisions of Tables 3, 5, and 8 include the N-rearrangement type, but the remaining rearrangement type divisions (Tables 2, 4, 6, 7 and 9 do not include the N-rearrangement type. Accordingly, the rearrangement type classification of Tables 3, 5, and 8 may be suitable for the embodiment (c embodiment) in which the application information is not signaled, and in Table 2, Table 4, Table 6, Table 7, and Table 9 The rearrangement type classification may be suitable for the embodiment (b embodiment) in which the application information is signaled.
  • Embodiment 2 corresponds to a method of rearranging residual signals in a residual block by using a correlation between an error value between respective reference blocks and an energy distribution of a residual block in bidirectional prediction of inter prediction. .
  • the image encoding / decoding apparatus In bi-prediction of inter prediction, the image encoding / decoding apparatus generates a prediction block by averaging or weighting the reference blocks (reference block L0 and reference block L1) of each of the bidirectional directions (L1 direction and L0 direction), and The residual block may be generated by differentiating the prediction block.
  • the region having a large error value between the reference block L0 and the reference block L1 corresponds to a region in which the prediction is relatively inaccurate
  • the region having a small error value between the reference block L0 and the reference block L1 is a region with relatively accurate prediction It may correspond to.
  • the image encoding / decoding apparatus can grasp the distribution of the residual signal values in the residual block based on the magnitude of the error value between the reference block L0 and the reference block L1, and use the obtained result to distribute the residual signals suitable for the conversion type. Can be rearranged.
  • additional information signaled from the image encoding apparatus to the image decoding apparatus may not be required to rearrange the residual signals. This is because the image decoding apparatus may also grasp information about each reference block in both directions by itself, and calculate an error value between the two reference blocks to use as a reordering criterion.
  • the unit to be rearranged may be a residual signal or a subblock obtained by (virtually) dividing a residual block or reference blocks.
  • the residual block or reference blocks may be divided into one or more (M ⁇ N) subblocks.
  • the residual block or reference blocks may be divided into a total of four subblocks bisected on the horizontal and vertical axes, respectively.
  • the second embodiment will be described based on the rearrangement of the subblock units.
  • the image encoding apparatus may calculate an error value between the reference block L0 and the reference block L1.
  • the error value may be calculated separately for each subblock, and when there are a plurality of pixels included in a specific subblock, the error value may be an error representative value obtained by averaging or summating error values of each of the pixels.
  • the image encoding apparatus may rearrange subblocks in the residual block based on error values.
  • the subblocks may be rearranged such that the distribution of the subblocks (residual signals) is suitable for the transform type to be applied to the residual block among the transform types DCT, DST, and Skip.
  • the subblocks may be rearranged by sequentially sorting based on each error value and then scanning according to the conversion type to be applied.
  • a method of sequentially ordering subblocks may include a descending order, an ascending order, etc.
  • the method of scanning the aligned subblocks may include horizontal scanning, vertical scanning, diagonal-up scanning, zig-zag scanning, and the like.
  • the image decoding apparatus may determine respective reference blocks in both directions (S1410), and calculate an error value between the reference blocks with respect to each of the subblocks (S1420). In addition, the image decoding apparatus may rearrange the residual signals by rearranging the subblocks based on the calculated error values (S1430).
  • the above-described transform type may serve as a reference for the rearrangement of the subblocks, and the above-described sorting method and scanning method may be used as a method for rearranging the subblocks into a form suitable for the transform type. That is, the selection of the alignment scheme to be applied among the one or more alignment schemes and the selection of the scanning scheme to be applied among the one or more scanning schemes may be determined based on whether or not it is suitable for the conversion type.
  • Table 10 shows the sorting method and the scanning method suitable for a specific conversion type.
  • the descending order alignment method may be suitable, and the diagonal-up or zig-zag scanning method may be suitable.
  • an ascending order alignment method may be suitable, and a horizontal or vertical scanning method may be suitable.
  • the descending order alignment method may be suitable, and the horizontal or vertical scanning method may be suitable.
  • an error block may correspond to a block including error values between two reference blocks.
  • the error block may be divided into one or more subblocks, and an error (representative) value may be calculated for each subblock constituting the error block.
  • the step of sorting the subblocks may be performed on the subblocks included in the error block, and the step of scanning the subblocks corresponds to the sorted order of the subblocks included in the error block. It may be performed on the subblocks included in the residual block.
  • FIG. 15 (a) shows subblocks of an error block before rearrangement
  • FIG. 15 (b) shows subblocks of the rearranged error block.
  • Numbers in parentheses included in each of the subblocks indicate an error (representative) value
  • numbers not represented in parentheses indicate the positions of the subblocks.
  • subblocks before rearrangement may have a higher error value toward the lower side. If the subblocks are sorted before being rearranged using the descending order alignment method and the 'sorted subblocks' are scanned using the diagonal-up scanning method, the rearrangement becomes larger as the error value increases toward the upper left side and becomes smaller toward the lower right side. This can be implemented (Fig. 15 (b)). Accordingly, it can be seen that by sorting and scanning subblocks based on an error value, the subblocks can be rearranged into an array form suitable for a specific transform type (see FIG. 15, a skip type).
  • the aforementioned inversion type and shifting type can be used in the rearrangement manner of Example 2.
  • the image encoding / decoding apparatus determines an inversion type or shifting type to be applied to the residual block based on the error value between the reference blocks and the transform type to be applied (applied), and the residual signal according to the determined type. You can rearrange them.
  • the image encoding / decoding apparatus calculates error values for the upper and lower subblocks based on the center horizontal axis of the residual block and then applies H-flip / H-shift based on the calculated error values. Can be determined.
  • the image encoding / decoding apparatus calculates error values for left and right subblocks based on the central vertical axis of the residual block, and then determines whether to apply V-flip / V-shift based on the calculated error value. Can be.
  • the image encoding / decoding apparatus compares the inversion types / shifting types with respect to the rearrangement results for each of the inversion types / shifting types and compares them with each other. Can be determined.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

잔차신호 재배열 방법 및 영상 복호화 장치를 개시한다. 본 발명의 일 실시예에 의하면, 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 단계; 상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 단계; 및 하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법을 제공한다.

Description

잔차신호 재배열 방법 및 영상 복호화 장치
본 발명은 영상의 부호화 및 복호화에 관한 것으로서, 잔차신호를 재배열하여 부호화 및 복호화의 효율을 향상시킨 잔차신호 재배열 방법 및 영상 복호화 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 잔차신호를 현재블록의 특성에 따라 적응적으로 재배열함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 단계; 상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 단계; 및 하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법을 제공한다.
본 발명의 다른 일 측면은, 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 복호화부; 상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 역변환부; 및 하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 제어수단을 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 잔차신호가 변환타입에 적합한 형태로 재배열되므로, 영상 부호화 및 복호화에 대한 압축 성능이 향상될 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3은 복수의 인트라 예측 모드들을 설명하기 위한 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5는 변환타입의 기저함수들에 대한 파형을 설명하기 위한 도면이다.
도 6은 잔차신호들의 에너지 분포에 적합한 변환타입을 설명하기 위한 도면이다.
도 7은 잔차신호들을 재배열하는 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 8 및 도 9는 재배열 타입의 두 가지 예를 설명하기 위한 도면이다.
도 10은 도 8 및 도 9에서 설명된 재배열 타입에 따라 잔차신호들을 재배열하는 일 예를 설명하기 위한 도면이다.
도 11은 인트라 예측을 예측 방향에 따라 구분하는 일 예를 설명하기 위한 도면이다.
도 12 및 도 13은 재배열 타입 정보를 판단하는 본 발명의 실시예들을 설명하기 위한 순서도이다.
도 14는 참조블록들의 에러 값을 기준으로 잔차신호들을 재배열하는 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 15는 도 14를 통해 설명된 실시예를 이용하여 잔차신호들을 재배열하는 일 예를 설명하기 위한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 타일 또는/슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 타일 내의 모든 블록들에 공통적으로 적용되는 정보는 타일의 신택스로서 부호화되거나 다수 개의 타일을 모아 놓은 타일 그룹의 신택스로서 부호화되며, 하나의 픽처들을 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다.
블록 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다.
블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다.
트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율로 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 둘 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예로서, QTBTTT 구조를 사용하여 블록을 분할하는 경우, 먼저 분할 되었음을 나타내는 CU 분할 플래그(split_cu_flag) 및 분할 타입이 QT 분할인지를 지시하는 QT 분할 플래그(split_qt_flag) 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할되었음을 지시하는 경우, QT 분할 플래그(split_qt_flag) 값을 통해 분할 타입이 QT 혹은 MTT인지를 구분한다. 분할 타입이 QT인 경우에는 더 이상의 추가 정보가 없으며, 분할 타입이 MTT인 경우에는 추가적으로 MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있으며, 또는 잔차블록을 변환 영역 및 비변환 영역인 두 개의 서브블록으로 구분하여, 변환 영역 서브블록만 변환 단위로 사용하여 잔차 신호들을 변환할 수 있다. 여기서, 변환 영역 서브블록은 가로축 (혹은 세로축) 기준 1:1의 크기 비율을 가지는 두 개의 직사각형 블록 중 하나일 수 있다. 이런 경우, 서브블록 만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 위치 정보(cu_sbt_pos_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 또한, 변환 영역 서브블록의 크기는 가로축 (혹은 세로축) 기준 1:3의 크기 비율을 가질 수 있으며, 이런 경우 해당 분할을 구분하는 플래그(cu_sbt_quad_flag)가 추가적으로 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
변환부(140)는 복수의 변환타입 중 하나를 선택하여 잔차 신호들을 변환할 수 있다. 복수의 변환타입은 코사인 기반 변환(예: DCT-II, DCT-VIII 등), 사인 기반 변환(예: DST-VII)을 포함할 수 있다. 더 나아가, 변환부(140)는 변환을 스킵(skip)하고 공간 도메인의 잔차 신호를 그대로 양자화부(145)로 출력할 수도 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(150)로 출력한다.
부호화부(150)는 양자화된 변환 계수들을 CABAC(Context-based Adaptive Binary Arithmetic Code) 등의 부호화 방식을 사용하여 부호화함으로써 비트스트림을 생성한다. 부호화부(150)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 방향, MTT 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
또한, 부호화부(150)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다. 또한, 부호화부(150)는 변환과 관련된 신택스 요소들을 부호화할 수 있다. 일례로서, 부호화부(150)는 잔차신호에 대한 변환이 스킵되는지 여부를 지시하는 변환 스킵 플래그, 변환이 스킵되지 않는 경우 복수의 변환타입 중 잔차신호를 변환하기 위해 사용된 변환타입을 지시하는 변환타입 정보 등을 부호화할 수 있다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 1에는 표현되지 않았으나, 영상 부호화 장치는 잔차블록 내 잔차신호들(샘플들)을 재배열하는 제어수단을 더 포함하여 구성될 수 있다. 이 제어수단은 도 1에 표현된 하위 구성들과 함께 동일한 물리적 구성(프로세서 등)에서 구현되거나, 도 1에 표현된 하위 구성들과는 다른 물리적 구성에서 구현될 수 있다. 제어수단에 대한 상세한 내용은 후술하도록 한다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 복호화부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(410)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, QT 분할 플래그(split_qt_flag)를 추출한다. 분할 타입이 QT가 아니고 MTT인 경우, MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)를 추가적으로 추출한다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다. 또한, 복호화부(410)는 변환과 관련된 신택스 요소들을 추출한다. 예컨대, 변환 스킵 플래그를 추출하고, 변환 스킵 플래그가 변환이 스킵되지 않음을 지시하면 변환타입 정보 등을 추출할 수 있다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다. 역변환은 복호화부(410)에 의해 추출된 변환 관련 신택스 요소들에 기반하여 수행될 수 있다. 예컨대, 변환 스킵 플래그가 변환 스킵을 지시하면, 역변환부(430)에 의한 역변환은 스킵된다. 이 경우, 역양자화 과정을 거친 블록(역양자화된 변환계수들로 구성된 블록)이 잔차블록으로서 출력된다. 변환 스킵 플래그가 변환이 수행됨을 지시하면, 역변환부(430)는 변환타입 정보에 의해 지시되는 변환타입에 따라 역변환을 수행한다. 예컨대, 역변환부(430)는 변환타입이 DCT-II를 지시하면 DCT-II 기반의 변환 매트릭스를 이용하여 역변환을 수행함으로써 잔차블록을 생성하고, 변환 타입이 DST-VII를 지시하면 DST-VII 기반의 변환 매트릭스를 이용하여 역변환을 수행함으로써 잔차블록을 생성한다.
또한, 역변환부(430)는 변환블록의 일부 영역(서브블록)만 역변환하는 경우, 변환블록의 서브블록만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 서브블록의 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 서브블록의 위치 정보(cu_sbt_pos_flag)를 추출하여, 해당 서브블록의 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환함으로써 잔차신호들을 복원하고, 역변환되지 않은 영역에 대해서는 잔차신호로 "0"값을 채움으로써 현재블록에 대한 최종 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 4에는 표현되지 않았으나, 영상 복호화 장치는 잔차블록 내 잔차신호들을 재배열하는 제어수단을 더 포함하여 구성될 수 있다. 이 제어수단은 도 4에 표현된 하위 구성들과 함께 동일한 물리적 구성(프로세서 등)에서 구현되거나, 도 4에 표현된 하위 구성들과는 다른 물리적 구성에서 구현될 수 있다. 제어수단에 대한 상세한 내용은 후술하도록 한다.
한편, 영상 복호화 장치에 포함되는 제어수단은 영상 부호화 장치에 포함되는 전술된 제어수단과 그 기능 측면에서 대응되는 구성에 해당한다. 이하에서는, 영상 복호화 장치에 포함되는 제어수단과 영상 부호화 장치에 포함되는 제어수단을 용이하게 구별하기 위하여, 영상 복호화 장치에 포함되는 제어수단을 복호화 제어수단으로 지칭하며, 영상 부호화 장치에 포함되는 제어수단을 부호화 제어수단으로 지칭하도록 한다.
이하에서는, 잔차블록 내의 잔차신호들을 재정렬 또는 재배열하기 위한 본 발명의 실시예들에 대해 설명하도록 한다.
HEVC 표준(종래 방법)은 세 가지 종류의 변환타입(DCT, DST 및 transform skip)을 이용하여 변환/역변환을 수행한다. 도 5에는 DCT 및 DST에 대한 기저함수(basis function)들이 표현되어 있으며, 기저함수들은 코사인(cosine) 그래프와 사인(sine) 그래프의 주기를 변화시켜 표현되었다.
DCT 변환타입에서는 도 5 (a)에 표현된 기저함수들이 이용되어 입력신호 값이 계수신호 값으로 변환된다. DST 변환타입에서는 도 5 (b)에 표현된 기저함수들이 이용되어 입력신호 값이 계수신호 값으로 변환된다. 변환 대상인 입력신호가 기저함수의 파형과 유사한 모습을 보이면, 변환이 효율적으로 처리될 수 있다. 즉, 입력신호가 기저함수의 파형과 유사한 모습을 보이면, 출력되는 계수신호 값들의 총량이 감소하여 압축 성능이 향상될 수 있다.
비디오 부호화 표준에서, 변환 대상인 입력신호는 예측 이후의 잔차신호가 된다. 따라서, 잔차신호의 모양/모습/파형(잔차신호 값들의 모양/모습/파형)에 따라, 변환타입들 중 변환이 효율적으로 처리될 수 있는 변환타입이 존재할 수 있다. 이를 구체적으로 설명하기 위한 예가 도 6에 표현되어 있다.
도 6 (a)에 표현된 바와 같이, 인트라 예측에서, 부호화/복호화 대상 픽셀들(a, b, c, d) 값과 참조샘플(빗금이 표현된 원) 값 사이의 차이 값(에러 값)은 참조샘플로부터의 거리를 기준으로 증가할 수 있다. 구체적으로, 참조샘플에 인접한 픽셀일수록 예측 정확도가 높아 에러 값이 상대적으로 작으며, 참조샘플에 먼 픽셀일수록 예측 정확도가 낮아 에러 값이 상대적으로 커질 수 있다. 참조샘플과의 거리를 기준으로, 에러 값의 차이를 표현하면, 도 6 (a)의 2점 쇄선과 같이 우상향 직선으로 표현될 수 있다.
2점 쇄선을 DCT 기저함수들의 파형과 비교한 예가 도 6 (b)에 표현되어 있으며, 2점 쇄선을 DST 기저함수들의 파형과 비교한 예가 도 6 (c)에 표현되어 있다. 2점 쇄선은 거리(distance)가 증가할수록 그 크기(magnitude)가 증가하는 양상을 보이며, DCT 기저함수의 파형은 거리가 증가할수록 그 크기가 감소하는 양상을 보이고, DST 기저함수의 파형은 거리가 증가할수록 그 크기가 증가하는 양상을 보인다. 따라서, 에러 값이 점차 증가하는 잔차신호 값들에 적합한 변환타입은 DST 변환타입임을 알 수 있다.
Skip 타입(transform skip)의 경우에는 잔차신호 값들의 분포가 잔차블록의 좌상측으로부터 우하측으로 갈수록 작아지는 형태가 적합할 수 있다. 변환계수를 부호화하는 종래의 방식은 저주파 영역에 계수 값이 많이 분포하고 고주파 영역에 계수 값이 분포하지 않는 경우에 적합하기 때문이다.
본 발명은 이러한 특성(잔차신호 값들의 크기 분포와 변환타입 간의 상관관계)에 착안하여, 변환타입에 더욱 적합한 배열이 되도록 잔차신호들을 재배열하는 방법들을 제안한다.
실시예 1
영상 부호화 장치(감산기, 130)는 현재블록과 이 현재블록의 예측블록을 차분하여 현재블록에 대한 잔차블록을 도출할 수 있다. 도출된 잔차블록에는 하나 이상의 잔차신호(샘플)들이 포함될 수 있다.
영상 부호화 장치(부호화 제어수단)는 잔차블록에 적용될 변환타입에 적합하도록 잔차신호들의 배열 또는 분포를 조정 또는 재배열할 수 있다. 재배열 타입에는 교환타입, 이동타입 등이 포함될 수 있으며, 이동타입에는 다양한 형태의 반전타입 및 시프팅타입 중 하나 이상이 포함될 수 있다. 교환타입은 이동타입에 포함되거나 이동타입과 동일한 재배열 방식으로 이해될 수 있다. 재배열 타입에 대한 구체적인 예는 후술하도록 한다.
영상 부호화 장치(변환부, 140)는 재배열된 잔차신호들을 변환타입에 적용하여 변환계수들(변환블록)을 도출할 수 있다. 변환타입이 Skip 타입인 경우, 변환계수들은 잔차신호들에 해당할 수 있다. 영상 부호화 장치(부호화부, 150)는 변환블록에 적용된 변환타입을 지시하는 정보(변환타입 정보) 및 변환계수들(양자화된 변환계수들)을 비트스트림에 포함시켜 영상 복호화 장치로 시그널링할 수 있다.
복호화부(410)는 변환타입 정보와 변환계수들을 비트스트림으로부터 복호화할 수 있다(S710). 역변환부(430)는 변환타입들(DCT, DST, Skip) 중 변환타입 정보가 지시하는 변환타입(변환타입 정보에 의해 지시되는 변환타입)에 따라 변환계수들(변환블록)을 역변환하여 잔차블록을 도출할 수 있다(S720).
복호화 제어수단은 하나 이상의 재배열 타입 중 어느 하나에 따라, 잔차블록 내의 잔차신호들을 재배열할 수 있다(S730). 재배열된 잔차신호들(재배열된 잔차블록)은 영상 부호화 장치에서 재배열되기 전의 잔차신호들과 동일한 배열 또는 분포를 가질 수 있다. 재배열된 잔차블록이 예측부(440)에서 도출되는 예측블록과 합산됨으로써 현재블록이 복원될 수 있다.
재배열 타입
앞서 언급된 바와 같이, 잔차신호들을 재배열하는 방법(재배열 타입)에는 잔차신호들을 교환하거나(교환타입) 이동시키는 타입(이동타입)이 존재할 수 있으며, 이동타입에는 잔차신호들을 반전 이동시키거나 시프트 이동시키는 타입들이 존재할 수 있다. 잔차신호들을 반전 이동시키는 타입(반전타입)과 시프트 이동시키는 타입(시프팅타입)에 대한 예가 도 8 내지 도 10에 표현되어 있다.
도 8에 표현된 바와 같이, (반전되기 전) 잔차블록(Residual block)이 4x4의 잔차신호(샘플)들로 구성되는 예에서, 각 샘플들에 표현된 숫자들을 이용하여 각 샘플들의 위치를 표현하였다.
반전타입에는, 잔차블록의 수평 중심 직선(수평 중심 축, 점선)을 기준으로 상측 샘플들과 하측 샘플들을 반전 이동시키는 수평 반전타입(horizontal flip(H-flip), 도 8 (a)), 잔차블록의 수직 중심 직선(수직 중심 축, 점선)을 기준으로 좌측 샘플들과 우측 샘플들을 반전 이동시키는 수직 반전타입(vertical flip(V-flip), 도 8 (b)), 잔차블록의 우상향 대각선(점선)을 기준으로 좌상측 샘플들과 우하측 샘플들을 반전 이동시키는 타입(diagonal-up flip(Dup-flip), 도 8 (c)), 잔차블록의 우하향 대각선(점선)을 기준으로 좌하측 샘플들과 우상측 샘플들을 반전 이동시키는 타입(diagonal-down flip(Ddw-flip), 도 8 (d)) 및 잔차블록에 대해 수직 반전과 수평 반전이 모두 적용되는 수평-수직 반전타입(horizontal-vertical flip(HV-flip), 도 8 (f)) 중 하나 이상이 포함될 수 있다. 또한, 반전타입에는 잔차신호가 반전되지 않는(아무런 변화가 발생하지 않는) 반전타입(N-flip, 도 8 (e))이 더 포함될 수도 있다.
다양한 반전타입들 중에서 Dup-flip 타입을 이용하여 잔차신호들을 재배열하는 예가 도 10 (a) 및 (b)에 표현되어 있다. 도 10 (a) 및 (b)에서, 빗금이 표현된 샘플들은 잔차신호의 값이 상대적으로 큰(에너지가 상대적으로 높은) 샘플을 의미한다.
상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 좌상측에 위치하고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 우하측에 위치한 상태에서(도 10 (a)), Dup-flip 반전타입이 적용되면, 상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 우하측으로 반전 이동되고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 좌상측으로 반전 이동될 수 있다(도 10 (b)).
재배열된 잔차블록을 기준으로 보면, 가로축 방향 및 세로축 방향 모두에서 잔차신호들의 값이 증가하게 된다. 따라서, 두 방향 모두에서, 잔차신호들이 DST에 적합한 에너지 형태로 재배열됨을 알 수 있다.
도 9에 표현된 바와 같이, (시프팅되기 전) 잔차블록(Residual block)이 4x4의 잔차신호(샘플)들로 구성되는 예에서, 각 샘플들에 표현된 숫자들을 이용하여 각 샘플들의 위치를 표현하였다.
시프팅타입에는, 잔차블록의 수평 중심 직선(수평 중심 축, 점선)을 기준으로 상측 샘플들과 하측 샘플들을 시프팅 이동시키는 수평 시프팅타입(horizontal shift(H-shift), 도 9 (a)), 잔차블록의 수직 중심 직선(수직 중심 축, 점선)을 기준으로 좌측 샘플들과 우측 샘플들을 시프팅 이동시키는 수직 시프팅타입(vertical shift(V-shift), 도 9 (b)), 잔차블록의 우상향 대각선(점선)을 기준으로 좌상측 샘플들과 우하측 샘플들을 시프팅 이동시키는 타입(diagonal-up shift(Dup-shift), 도 9 (c)), 잔차블록의 우하향 대각선(점선)을 기준으로 좌하측 샘플들과 우상측 샘플들을 시프팅 이동시키는 타입(diagonal-down shift(Ddw-shift), 도 9 (d)) 및 잔차블록에 대해 수직 시프팅과 수평 시프팅이 모두 적용되는 수평-수직 시프팅타입(horizontal-vertical shift(HV-shift), 도 9 (f)) 중 하나 이상이 포함될 수 있다. 또한, 시프팅타입에는 잔차신호가 시프팅 이동되지 않는(아무런 변화가 발생하지 않는) 시프팅타입(N-shift, 도 9 (e))이 더 포함될 수도 있다.
다양한 시프팅타입들 중에서 Ddw-shift 타입을 이용하여 잔차신호들을 재배열하는 예가 도 10 (c) 및 (d)에 표현되어 있다. 도 10 (c) 및 (d)에서, 빗금이 표현된 샘플들은 잔차신호의 값이 상대적으로 큰(에너지가 상대적으로 높은) 샘플을 의미한다.
상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 좌하측에 위치하고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 우상측에 위치한 상태에서(도 10 (c)), Ddw-shift 타입이 적용되면, 상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 우상측으로 시프팅 이동되고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 좌하측으로 시프팅 이동될 수 있다(도 10 (d)).
재배열된 잔차블록을 기준으로 보면, 가로축 방향에서 잔차신호들의 값이 증가하게 되어 잔차신호들이 DST에 적합한 에너지 형태로 재배열됨을 알 수 있고, 세로축 방향에서 잔차신호들의 값이 감소하게 되어 잔차신호들이 DCT에 적합한 에너지 형태로 재배열됨을 알 수 있다.
예측모드 및 예측방향
(재배열되기 전) 잔차신호들의 분포 또는 배열은 현재블록의 예측모드 및/또는 예측방향에 따라 달라질 수 있다. 예측모드 및/또는 예측방향에 따라 잔차신호들의 배열이 달라지면, 특정 변환타입에 적합한 재배열 타입 또한, 달라질 수 있다. 여기서, 예측모드란 현재블록의 예측모드가 인터 예측인지 인트라 예측인지 여부를 의미할 수 있으며, 예측방향이란 현재블록의 예측모드가 인트라 예측인 경우에 인트라 예측방향을 의미할 수 있다.
도 11에 표현된 바와 같이, 현재블록의 예측모드가 인트라 예측인 경우에, 잔차신호들의 분포 형태는 인트라 예측 방향에 따라 세 가지 카테고리((A), (B) 및 (C))로 구분될 수 있다. (A)는 수평 지향 모드(Horizontal intra, up-diagonal intra)로서, 잔차블록 내에서 좌측으로부터 우측으로 갈수록 잔차신호 값들이 점차 증가하는 양상을 보일 수 있다. (C)는 수직 지향 모드(Vertical intra, down-diagonal intra)로서, 잔차블록 내에서 상측으로부터 하측으로 갈수록 잔차신호 값들이 점차 증가하는 양상을 보일 수 있다. (B)는 대각 지향 모드(Diagonal intra)로서, 잔차블록 내에서 좌상측으로부터 우하측으로 갈수록 잔차신호 값들이 증가하는 양상을 보일 수 있다. 인트라 예측인 경우의 비방향성 모드(Non-directional intra) 및 인터 예측(inter)은 별도의 카테고리로 구분될 수 있다.
예측모드와 예측방향에 따라 구분되는 카테고리들을 정리하면, 아래 표 1과 같다.
Figure PCTKR2019008102-appb-img-000001
영상 부호화 장치는 현재블록의 예측모드 및/또는 예측방향을 기준으로 잔차신호들의 분포 또는 배열 형태를 판단하고, 잔차신호들의 배열 형태 및/또는 변환타입에 적합한 재배열 타입을 결정한 후, 결정된 재배열 타입을 잔차블록에 적용하여 잔차신호들을 재배열할 수 있다.
현재블록의 예측모드 및/또는 예측방향에 대한 정보(예측정보)는 비트스트림에 포함되어 영상 부호화 장치로부터 영상 복호화 장치로 시그널링될 수 있다.
영상 복호화 장치는 변환타입 정보와 변환계수들에 더하여, 예측정보를 비트스트림으로부터 더 복호화할 수 있다. 또한, 영상 복호화 장치는 변환타입 정보와 예측정보 중 하나 이상에 근거하여 잔차블록의 재배열에 적용될 수 있는 하나 이상의 재배열 타입들을 결정할 수 있다. 구체적으로, 영상 복호화 장치는 현재블록의 예측모드 및/또는 예측방향을 기준으로 잔차신호들의 분포 또는 배열 형태를 판단하고, 잔차신호들의 배열 형태 및/또는 변환타입에 적합한 재배열 타입을 결정한 후, 결정된 재배열 타입을 잔차블록에 적용하여 잔차신호들을 재배열할 수 있다.
실시형태에 따라, 영상 부호화/복호화 장치는 적용 가능한 재배열 타입들을 예측정보 및/또는 변환타입 정보에 따라 미리 구분하여 카테고리화할 수 있다. 이와 같은 경우, 영상 부호화 장치는 현재블록의 예측정보 및/또는 변환타입 정보에 대응되는 카테고리를 선정하고, 선정된 카테고리에 포함되어 있는 하나 이상의 재배열 타입들 중 재배열에 적용된 재배열 타입에 대한 정보를 영상 복호화 장치로 시그널링할 수 있다. 영상 복호화 장치는 미리 정의된 카테고리들 중 시그널링된 예측정보 및/또는 변환타입 정보에 대응되는 카테고리를 선정하고, 선정된 카테고리에 포함되어 있는 하나 이상의 재배열 타입들 중 시그널링된 재배열 타입 정보가 지시하는 재배열 타입을 잔차블록에 적용하여 잔차신호들을 재배열할 수 있다.
이하에서는, 예측정보 및 변환타입 정보를 이용하여 재배열 타입들을 선정하는 예를 각 변환타입 별로 구분하여 설명하도록 한다.
Skip 타입
전술된 바와 같이, 변환타입이 Skip 타입인 경우에는 잔차블록의 좌상측으로부터 우하측 방향으로 잔차신호들의 값이 감소하는 형태가 적합할 수 있다.
따라서, 변환타입이 Skip 타입이고 인트라 예측방향이 수평 지향 모드(A)이면, 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 또한, 변환타입이 Skip 타입이고 인트라 예측방향이 수직 지향 모드(C)이면, 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 나아가, 변환타입이 Skip 타입이고 인트라 예측방향이 대각 지향 모드(B)이면, 잔차블록의 좌상측에 위치한 잔차신호들과 우하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다.
Skip 타입에 적합한 재배열 타입들을 전술된 카테고리들을 기준으로 구분하면 아래 표 2 내지 표 6과 같다. 표 2 내지 표 6에서는 재배열 타입들 중 반전타입과 시프팅타입을 예로 들었다.
Figure PCTKR2019008102-appb-img-000002
Figure PCTKR2019008102-appb-img-000003
Figure PCTKR2019008102-appb-img-000004
Figure PCTKR2019008102-appb-img-000005
Figure PCTKR2019008102-appb-img-000006
표 2 및 표 3에서, 대각 지향 모드(B)의 경우에 Dup-flip을 Ddw-flip 또는 HV-flip로 대체 가능하며, 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip를 HV-flip로 대체 가능하다. 표 4에서, 수평 지향 모드(A) 및 수직 지향 모드(C)의 경우에 Dup-flip을 Ddw-flip 또는 HV-flip로 대체 가능하며, 대각 지향 모드(B) 및 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip를 HV-flip로 대체 가능하다.
표 2 내지 표 5에서, 모든 반전타입들은 동일한 방식의 시프팅타입들로 대체 가능하다. 표 6에서, 대각 지향 모드(B)의 경우에 Dup-flip을 Ddw-flip으로 대체 가능하며, Dup-shift를 Ddw-shift로 대체 가능하다. 또한, 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip을 HV-flip로 대체 가능하다. 또한, 비방향성/인터 모드(D)의 경우에 모든 반전타입들은 동일한 방식의 시프팅타입들로 대체 가능하다. 나아가, 모든 카테고리에 N-flip이 추가될 수 있다.
한편, 표 2, 표 4 및 표 6에는 N-flip이 포함되어 있지 않으나, 표 3 및 표 5에는 N-flip이 포함되어 있다. 이러한 차이점으로 인하여, 재배열 타입 정보를 시그널링하는 방식에 차이가 발생할 수 있다. 재배열 타입 정보를 시그널링하는 방식에 대해서는 후술하도록 한다.
DST 타입
전술된 바와 같이, 변환타입이 DST 타입인 경우에는 잔차블록의 좌측으로부터 우측 방향으로, 또는 상측으로부터 하측 방향으로 잔차신호들의 값이 증가하는 형태가 적합할 수 있다.
따라서, 변환타입이 DST이고 인트라 예측방향이 수평 지향 모드(A)이면, 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 또한, 변환타입이 DST이고 인트라 예측방향이 수직 지향 모드(C)이면, 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다.
DST 타입에 적합한 재배열 타입들을 전술된 카테고리들을 기준으로 구분하면 아래 표 7 내지 표 9과 같다. 표 7 내지 표 9에서는 재배열 타입들 중 반전타입과 시프팅타입을 예로 들었다.
Figure PCTKR2019008102-appb-img-000007
Figure PCTKR2019008102-appb-img-000008
Figure PCTKR2019008102-appb-img-000009
표 7 내지 표 9에서, 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip을 HV-flip으로 대체 가능하다. 표 7 및 표 8에서, 모든 반전타입들은 동일한 방식의 시프팅타입들로 대체 가능하다. 표 9에서, 모든 카테고리에 N-flip이 추가될 수 있다.
한편, 표 7 및 표 9에는 N-flip이 포함되어 있지 않으나, 표 8에는 N-flip이 포함되어 있다. 이러한 차이점으로 인하여, 재배열 타입 정보를 시그널링하는 방식에 차이가 발생할 수 있으며, 시그널링하는 방식에 대해서는 후술하도록 한다.
DCT 타입
전술된 바와 같이, 변환타입이 DCT 타입인 경우에는 잔차블록의 좌측으로부터 우측 방향으로, 또는 상측으로부터 하측 방향으로 잔차신호들의 값이 감소하는 형태가 적합할 수 있다.
따라서, 변환타입이 DCT이고 인트라 예측방향이 수평 지향 모드(A)이면, 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 또한, 변환타입이 DCT이고 인트라 예측방향이 수직 지향 모드(C)이면, 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 나아가, 변환타입이 DCT이고 인트라 예측방향이 대각 지향 모드(B)이면, 잔차블록의 좌상측에 위치한 잔차신호들과 우하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다.
카테고리들을 기준으로 DCT 타입에 적합한 재배열 타입들을 구분하면, 전술된 표 2 내지 표 6과 같으며, 대체 가능성 또한 표 2 내지 표 6을 통해 설명된 바와 같다.
재배열 타입 정보 시그널링
앞서 설명된 바와 같이, 본 발명에서 이용되는 재배열 타입에는 교환타입, 이동타입이 포함될 수 있으며, 이동타입에는 반전타입과 시프팅타입이 포함될 수 있다.
영상 복호화 장치는 영상 부호화 장치로부터 재배열 타입 정보를 제공(시그널링) 받아 잔차블록에 적용된 재배열 타입을 파악하거나, 재배열 타입 정보의 제공 없이 잔차블록에 적용된 재배열 타입을 파악할 수도 있다.
재배열 타입 정보의 제공이 없는 예에는 잔차블록에 적용될 재배열 타입이 영상 부호화/복호화 장치에 미리 설정된 경우가 포함될 수 있다. 또한, 표 2 내지 표 9를 통해 설명된 예에서, 예측정보 및/또는 변환타입 정보에 의해 선정된 카테고리에 재배열 타입이 하나만 포함되어 있는 경우에도 재배열 타입 정보의 제공이 이루어지지 않을 수 있다. 나아가, 표 7 및 표 9를 통해 설명된 예에서, 대각 지향 모드(B)에 재배열 타입이 정의(포함)되어 있지 않은 경우에도 재배열 타입 정보의 제공이 이루어지지 않을 수 있다.
재배열 타입 정보가 제공되는 예에는, 1) 재배열 타입 정보만이 시그널링되는 경우, 2) 재배열이 허용되는지 여부를 지시하는 인에이블 정보, 재배열 타입 정보 및 재배열이 적용되는지 여부를 지시하는 적용정보가 시그널링되는 경우, 3) 인에이블 정보 및 재배열 타입 정보가 시그널링되는 경우 등이 포함될 수 있다. 재배열 타입 정보는 적용 가능한 재배열 타입 정보들(하나 이상의 재배열 타입들)의 개수에 따라 인덱스, 플래그 등 다양한 형태로 이루어질 수 있다.
a. 재배열 타입 정보만이 시그널링되는 경우
영상 부호화 장치는 잔차블록에 적용된 재배열 타입에 대한 정보를 비트스트림에 포함시켜 영상 복호화 장치로 시그널링할 수 있다. 영상 복호화 장치는 재배열 타입 정보를 복호화하고, 하나 이상의 재배열 타입 정보들 중에서 복호화된 재배열 타입 정보가 지시하는 재배열 타입에 따라 잔차신호들을 재배열할 수 있다.
b. 인에이블 정보, 적용정보 및 재배열 타입 정보가 시그널링되는 경우
영상 부호화 장치는 재배열이 허용되는지 여부를 지시하는 인에이블 정보(예: residual_flipping_enabled_flag)를 시그널링할 수 있다. 인이에블 정보는 High-level syntax로써 정의되어 시그널링될 수 있다. 인에이블 정보가 재배열이 허용됨을 지시하는 경우(on), 영상 부호화 장치는 해당하는 잔차블록(또는 변환블록)에 재배열이 적용되는지 여부를 지시하는 적용정보(예: residual_flipping_flag)를 잔차블록(또는 변환블록) 별로 정의하여 시그널링할 수 있다. 적용정보는 해당하는 변환블록의 헤더 위치에 정의될 수 있다. 적용정보가 on인 경우, 영상 부호화 장치는 해당하는 잔차블록(또는 변환블록)에 적용된 재배열 타입 정보(예: residual_flipping_idx)를 시그널링할 수 있다.
영상 복호화 장치는 비트스트림으로부터 복호화된 인에이블 정보의 on/off 여부를 판단할 수 있다(S1210). 인에이블 정보가 on인 경우, 영상 복호화 장치는 비트스트림으로부터 적용정보를 복호화할 수 있다(S1220). 적용정보가 on인 경우(S1230), 영상 복호화 장치는 비트스트림으로부터 재배열 타입 정보를 복호화할 수 있다(S1240). 영상 복호화 장치는 적용 가능한 하나 이상의 재배열 타입들 중 재배열 타입 정보가 지시하는 재배열 타입에 따라 잔차신호들을 재배열할 수 있다(S1250).
c. 인에이블 정보 및 재배열 타입 정보가 시그널링되는 경우
영상 부호화 장치는 인에이블 정보를 시그널링할 수 있다. 인이에블 정보는 High-level syntax로써 정의되어 시그널링될 수 있다. 인에이블 정보가 on인 경우, 영상 부호화 장치는 잔차블록(또는 변환블록)에 적용된 재배열 타입 정보를 시그널링할 수 있다. 영상 복호화 장치는 인에이블 정보가 on인 경우(S1310), 비트스트림으로부터 재배열 타입 정보를 복호화할 수 있다(S1320). 또한, 영상 복호화 장치는 적용 가능한 하나 이상의 재배열 타입들 중 재배열 타입 정보가 지시하는 재배열 타입에 따라 잔차신호들을 재배열할 수 있다(S1330).
인에이블 정보 및 재배열 타입 정보만이 시그널링되는 경우에, 적용 가능한 재배열 타입들에는 재배열이 발생하지 않음을 나타내는 N-재배열 타입(예: N-flip, N-shift)이 포함될 수 있다. 이와 같은 경우, 영상 부호화 장치는 N-재배열 타입을 지시하는 재배열 타입 정보를 시그널링하고, 영상 복호화 장치는 해당 재배열 타입 정보가 N-재배열 타입을 지시하는 경우에 잔차신호들에 대한 재배열을 수행하지 않을 수 있다.
한편, 본 발명에서 제안하는 재배열 타입 구분들(표 2 내지 표 9) 중 표 3, 표 5 및 표 8의 재배열 타입 구분에는 N-재배열 타입이 포함되어 있으나, 나머지 재배열 타입 구분(표 2, 표 4, 표 6, 표 7 및 표 9)에는 N-재배열 타입이 포함되어 있지 않다. 따라서, 표 3, 표 5 및 표 8의 재배열 타입 구분은 적용정보가 시그널링되지 않는 실시예(c 실시예)에 적합할 수 있으며, 표 2, 표 4, 표 6, 표 7 및 표 9의 재배열 타입 구분은 적용정보가 시그널링되는 실시예(b 실시예)에 적합할 수 있다.
물론, 표 6의 재배열 타입 구분에 N-재배열 타입이 포함되거나 표 9의 재배열 타입 구분에 N-재배열 타입이 포함되는 경우에는 표 6 및 표 9의 재배열 타입 구분 또한 c 실시예에 적합할 수 있다.
실시예 2
실시예 2는 인터 예측의 양방향 예측에서 양방향 각각의 참조블록들 사이의 에러 값과 잔차블록의 에너지 분포 사이에 상관관계가 존재함을 이용하여, 잔차블록 내 잔차신호들을 재배열하는 방법에 해당한다.
인터 예측의 양방향 예측 시, 영상 부호화/복호화 장치는 양방향(L1 방향 및 L0 방향) 각각의 참조블록들(참조블록 L0 및 참조블록 L1)을 평균하거나 가중 연산하여 예측블록을 생성하고, 현재블록과 예측블록을 차분하여 잔차블록을 생성할 수 있다. 이 경우, 참조블록 L0와 참조블록 L1 사이의 에러 값이 큰 영역은 예측이 상대적으로 부정확한 영역에 해당하고, 참조블록 L0와 참조블록 L1 사이의 에러 값이 작은 영역은 예측이 상대적으로 정확한 영역에 해당할 수 있다.
예측이 상대적으로 부정확하게 되면 현재블록과의 차분을 통해 상대적으로 큰 에너지를 가지는 잔차신호 값들이 유도될 수 있으며, 예측이 상대적으로 정확하게 되면 상대적으로 작은 에너지를 가지는 잔차신호 값들이 유도될 수 있다. 결론적으로, 참조블록 L0와 참조블록 L1 사이의 에러 값이 큰 영역은 큰 에너지를 가지는 잔차신호 값들로 귀결되며, 참조블록 L0와 참조블록 L1 사이의 에러 값이 작은 영역은 작은 에너지를 가지는 잔차신호 값들로 귀결될 수 있다.
따라서, 영상 부호화/복호화 장치는 참조블록 L0와 참조블록 L1 사이의 에러 값 크기를 기준으로 잔차블록 내 잔차신호 값들의 분포를 파악할 수 있으며, 파악된 결과를 이용하여 잔차신호들을 변환타입에 적합한 분포로 재배열할 수 있다.
실시예 2의 경우, 잔차신호들을 재배열하기 위해 영상 부호화 장치로부터 영상 복호화 장치로 시그널링되는 추가적인 정보가 요구되지 않을 수 있다. 영상 복호화 장치도 양방향 각각의 참조블록들에 대한 정보를 자체적으로 파악할 수 있고, 두 참조블록들 사이의 에러 값을 계산하여 재배열 기준으로 활용할 수 있기 때문이다.
실시예 2에서, 재배열되는 단위는 잔차신호이거나, 잔차블록 또는 참조블록들을 (가상적으로) 분할한 서브블록일 수 있다. 잔차블록 또는 참조블록들은 하나 이상의(MxN) 서브블록들로 분할될 수 있다. 예를 들어, 잔차블록 또는 참조블록들은 가로축 및 세로축을 기준으로 각각 이등분된 총 4개의 서브블록들로 분할될 수 있다. 이하에서는, 서브블록 단위의 재배열을 중심으로 실시예 2에 대해 설명하도록 한다.
영상 부호화 장치는 참조블록 L0와 참조블록 L1 사이의 에러 값을 산출할 수 있다. 에러 값은 서브블록마다 별도로 산출될 수 있으며, 특정 서브블록에 포함된 픽셀이 복수 개인 경우에 에러 값은 이 픽셀들 각각의 에러 값들을 평균하거나 합산한 에러 대표 값일 수 있다.
영상 부호화 장치는 에러 값들을 기준으로 잔차블록 내 서브블록들을 재배열할 수 있다. 서브블록들은 서브블록들(잔차신호들)의 분포가 변환타입들(DCT, DST, Skip) 중 잔차블록에 적용될 변환타입에 적합하게 되도록 재배열될 수 있다. 예를 들어, 서브블록들은 각각의 에러 값을 기준으로 순차적으로 정렬된 후, 적용될 변환타입에 따라 스캐닝(scanning)됨으로써 재배열될 수 있다. 서브블록들을 순차적으로 정렬하는 방식에는 descending order, ascending order 등이 포함될 수 있으며, 정렬된 서브블록들을 스캐닝하는 방식에는 horizontal scanning, vertical scanning, diagonal-up scanning, zig-zag scanning 등이 포함될 수 있다.
영상 복호화 장치는 양방향 각각의 참조블록들을 결정하고(S1410), 참조블록들 사이의 에러 값을 서브블록들 각각에 대하여 산출할 수 있다(S1420). 또한, 영상 복호화 장치는 산출된 에러 값들을 기준으로 서브블록들을 재배열함으로써 잔차신호들을 재배열할 수 있다(S1430). 전술된 변환타입이 서브블록들의 재배열에 기준으로 작용할 수 있으며, 전술된 정렬 방식과 스캐닝 방식은 서브블록들을 변환타입에 적합한 형태로 재배열하기 위한 방법으로 이용될 수 있다. 즉, 하나 이상의 정렬 방식들 중 적용될 정렬 방식의 선택과, 하나 이상의 스캐닝 방식들 중 적용될 스캐닝 방식의 선택은 변환타입에 적합한지 여부를 기준으로 결정될 수 있다.
아래 표 10은 특정 변환타입에 적합한 정렬 방식과 스캐닝 방식을 나타낸다.
Figure PCTKR2019008102-appb-img-000010
표 10에 표현된 바와 같이, Skip 타입의 경우에는 descending order 정렬 방식이 적합할 수 있으며, diagonal-up 또는 zig-zag 스캐닝 방식이 적합할 수 있다. DST 타입(sine)의 경우에는 ascending order 정렬 방식이 적합할 수 있으며, horizontal 또는 vertical 스캐닝 방식이 적합할 수 있다. DCT 타입(cosine)의 경우에는 descending order 정렬 방식이 적합할 수 있으며, horizontal 또는 vertical 스캐닝 방식이 적합할 수 있다.
실시형태에 따라, 서브블록의 재배열은 가상의 에러블록을 이용하여 구현될 수도 있다. 에러블록이란 두 참조블록들 사이의 에러 값들을 포함하는 블록에 해당할 수 있다. 에러블록은 하나 이상의 서브블록들로 구분될 수 있으며, 에러블록을 구성하는 서브블록들마다 에러 (대표) 값이 산출될 수 있다. 이와 같은 실시형태의 경우, 서브블록들을 정렬하는 과정은 에러블록에 포함된 서브블록들에 대해 수행될 수 있으며, 서브블록들을 스캐닝하는 과정은 에러블록에 포함된 서브블록들의 정렬된 순서에 상응하도록 잔차블록에 포함된 서브블록들에 대해 수행될 수 있다.
에러블록을 이용하여 서브블록의 재배열을 구현하는 일 실시예가 도 15에 표현되어 있다. 도 15 (a)는 재배열되기 전 에러블록의 서브블록들을 나타내며, 도 15 (b)는 재배열된 에러블록의 서브블록들을 나타낸다. 서브블록들 각각에 포함된 괄호 숫자는 에러 (대표) 값을 나타내며, 괄호로 표현되지 않은 숫자는 서브블록들의 위치를 나타낸다.
도 15 (a)에 표현된 바와 같이, 재배열되기 전 서브블록들은 하측으로 갈수록 높은 에러 값을 가질 수 있다. descending order 정렬 방식을 이용하여 재배열되기 전 서브블록들을 정렬하고, diagonal-up 스캐닝 방식을 이용하여 '정렬된 서브블록들'을 스캐닝하면, 에러 값이 좌상측으로 갈수록 커지고 우하측으로 갈수록 작아지는 재배열이 구현될 수 있다(도 15 (b)). 따라서, 에러 값을 기준으로 서브블록들을 정렬하고 스캐닝하면 서브블록들을 특정 변환타입(도 15 기준, Skip 타입)에 적합한 배열 형태로 재배열할 수 있음을 알 수 있다.
실시형태에 따라, 앞서 언급된 반전 타입과 시프팅 타입이 실시예 2의 재배열 방식으로 이용될 수 있다. 이와 같은 실시형태의 경우, 영상 부호화/복호화 장치는 참조블록들 사이의 에러 값 및 적용될(적용된) 변환타입을 기준으로 잔차블록에 적용될 반전 타입 또는 시프팅 타입을 결정하고, 결정된 타입에 따라 잔차신호들을 재배열할 수 있다.
예를 들어, 영상 부호화/복호화 장치는 잔차블록의 중심 가로축을 기준으로 상측 및 하측 서브블록들에 대한 에러 값을 산출한 후, 산출된 에러 값에 근거하여 H-flip/H-shift의 적용 여부를 결정할 수 있다. 또한, 영상 부호화/복호화 장치는 잔차블록의 중심 세로축을 기준으로 좌측 및 우측 서브블록들에 대한 에러 값을 산출한 후, 산출된 에러 값에 근거하여 V-flip/V-shift의 적용 여부를 결정할 수 있다. 나아가, 영상 부호화/복호화 장치는 반전타입들/시프팅타입들 각각에 대한 재배열 결과들을 기준으로 반전타입들/시프팅타입들을 상호 비교하여 '적용될 변환타입'에 가장 적합한 반전타입/시프팅타입을 결정할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2018년 7월 4일에 한국에 출원한 특허출원번호 제10-2018-0077857호 및, 2019년 6월 18일에 한국에 출원한 특허출원번호 제10-2019-0072480호에 대해 우선권을 주장한다.

Claims (20)

  1. 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 단계;
    상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 단계; 및
    하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  2. 제1항에 있어서,
    상기 복호화하는 단계는,
    상기 잔차블록에 적용할 재배열 타입을 지시하는 재배열 타입 정보를 상기 비트스트림으로부터 더 복호화하고,
    상기 재배열하는 단계는,
    상기 하나 이상의 재배열 타입 중 상기 재배열 타입 정보에 의해 지시되는 재배열 타입에 따라, 상기 잔차신호들을 재배열하는 것을 특징으로 하는 잔차신호 재배열 방법.
  3. 제2항에 있어서,
    상기 복호화하는 단계는,
    상기 비트스트림에 포함된 인에이블(enable) 정보가 상기 잔차신호의 재배열이 허용됨을 지시하며, 상기 비트스트림에 포함된 적용정보가 상기 잔차신호의 재배열이 적용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화화는 것을 특징으로 하는 잔차신호 재배열 방법.
  4. 제2항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차신호가 재배열되지 않는 N-재배열 타입을 포함하고,
    상기 복호화화는 단계는,
    상기 비트스트림에 포함된 인에이블 정보가 상기 잔차신호의 재배열이 허용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화하는 것을 특징으로 하는 잔차신호 재배열 방법.
  5. 제1항에 있어서,
    상기 복호화하는 단계는,
    상기 현재블록의 예측모드가 인터 예측인지 인트라 예측인지 여부에 대한 정보를 포함하되, 상기 현재블록의 예측모드가 인트라 예측인 경우에 인트라 예측 방향에 대한 정보를 더 포함하는 예측정보를 더 복호화하고,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입 및 상기 예측정보 중 하나 이상에 근거하여 결정되는 것을 특징으로 하는 잔차신호 재배열 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 변환 스킵(skip) 또는 코사인(cosine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  7. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 사인(sine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  8. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 반전(flipping) 이동시키는 반전 타입(flipping type)을 포함하고,
    상기 반전 타입은,
    수평 반전(horizontal flipping), 수직 반전(vertical flipping), 수평-수직 반전(horizontal-vertical flipping), 우하향 대각선을 기준으로 하는 반전 및 우상향 대각선을 기준으로 하는 반전 중 하나 이상을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  9. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 시프트(shift) 이동시키는 시프팅 타입(shifting type)을 포함하고,
    상기 시프팅 타입은,
    수평 시프트(horizontal shift), 수직 시프트(vertical shift), 수평-수직 시프트(horizontal-vertical shift), 우하향 대각선에 수직인 방향으로 이동시키는 시프트 및 우상향 대각선에 수직인 방향으로 이동시키는 시프트 중 하나 이상을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  10. 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 복호화부;
    상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 역변환부; 및
    하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 제어수단을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  11. 제10항에 있어서,
    상기 복호화부는,
    상기 잔차블록에 적용할 재배열 타입을 지시하는 재배열 타입 정보를 상기 비트스트림으로부터 더 복호화하고,
    상기 제어수단은,
    상기 하나 이상의 재배열 타입 중 상기 재배열 타입 정보에 의해 지시되는 재배열 타입에 따라, 상기 잔차신호들을 재배열하는 것을 특징으로 하는 영상 복호화 장치.
  12. 제11항에 있어서,
    상기 복호화부는,
    상기 비트스트림에 포함된 인에이블(enable) 정보가 상기 잔차신호의 재배열이 허용됨을 지시하며, 상기 비트스트림에 포함된 적용정보가 상기 잔차신호의 재배열이 적용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화화는 것을 특징으로 하는 영상 복호화 장치.
  13. 제11항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차신호가 재배열되지 않는 N-재배열 타입을 포함하고,
    상기 복호화부는,
    상기 비트스트림에 포함된 인에이블 정보가 상기 잔차신호의 재배열이 허용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화하는 것을 특징으로 하는 영상 복호화 장치.
  14. 제10항에 있어서,
    상기 복호화부는,
    상기 현재블록의 예측모드가 인터 예측인지 인트라 예측인지 여부에 대한 정보를 포함하되, 상기 현재블록의 예측모드가 인트라 예측인 경우에 인트라 예측 방향에 대한 정보를 더 포함하는 예측정보를 더 복호화하고,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입 및 상기 예측정보 중 하나 이상에 근거하여 결정되는 것을 특징으로 하는 영상 복호화 장치.
  15. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 변환 스킵(skip) 또는 코사인(cosine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  16. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 사인(sine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  17. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 반전(flipping) 이동시키는 반전 타입(flipping type)을 포함하고,
    상기 반전 타입은,
    수평 반전(horizontal flipping), 수직 반전(vertical flipping), 수평-수직 반전(horizontal-vertical flipping), 우하향 대각선을 기준으로 하는 반전 및 우상향 대각선을 기준으로 하는 반전 중 하나 이상을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  18. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 시프트(shift) 이동시키는 시프팅 타입(shifting type)을 포함하고,
    상기 시프팅 타입은,
    수평 시프트(horizontal shift), 수직 시프트(vertical shift), 수평-수직 시프트(horizontal-vertical shift), 우하향 대각선에 수직인 방향으로 이동시키는 시프트 및 우상향 대각선에 수직인 방향으로 이동시키는 시프트 중 하나 이상을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  19. 하나 이상의 재배열 타입 중 어느 하나에 따라, 현재블록의 잔차블록 내 잔차신호들을 재배열하는 단계;
    상기 잔차신호들이 재배열된 잔차블록을 하나 이상의 변환타입 중 어느 하나에 적용하여, 상기 현재블록의 변환블록 내 변환계수들을 도출하는 단계; 및
    상기 잔차블록에 적용된 변환타입을 지시하는 변환타입 정보 및 상기 변환계수들을 부호화하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  20. 하나 이상의 재배열 타입 중 어느 하나에 따라, 현재블록의 잔차블록 내 잔차신호들을 재배열하는 제어수단;
    상기 잔차신호들이 재배열된 잔차블록을 하나 이상의 변환타입 중 어느 하나에 적용하여, 상기 현재블록의 변환블록 내 변환계수들을 도출하는 변환부; 및
    상기 잔차블록에 적용된 변환타입을 지시하는 변환타입 정보 및 상기 변환계수들을 부호화하는 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치.
PCT/KR2019/008102 2018-07-04 2019-07-03 잔차신호 재배열 방법 및 영상 복호화 장치 Ceased WO2020009460A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0077857 2018-07-04
KR20180077857 2018-07-04
KR1020190072480A KR102907495B1 (ko) 2018-07-04 2019-06-18 잔차신호 재배열 방법 및 영상 복호화 장치
KR10-2019-0072480 2019-06-18

Publications (1)

Publication Number Publication Date
WO2020009460A1 true WO2020009460A1 (ko) 2020-01-09

Family

ID=69059347

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/008102 Ceased WO2020009460A1 (ko) 2018-07-04 2019-07-03 잔차신호 재배열 방법 및 영상 복호화 장치

Country Status (1)

Country Link
WO (1) WO2020009460A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023039856A1 (zh) * 2021-09-17 2023-03-23 Oppo广东移动通信有限公司 一种视频解码、编码方法及设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080090936A (ko) * 2007-04-06 2008-10-09 삼성전자주식회사 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치
KR101379187B1 (ko) * 2008-06-23 2014-04-15 에스케이 텔레콤주식회사 블록 변환을 이용한 인트라 예측 방법 및 장치와 그를이용한 영상 부호화/복호화 방법 및 장치
WO2014176362A1 (en) * 2013-04-23 2014-10-30 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
KR20180001485A (ko) * 2016-06-24 2018-01-04 한국전자통신연구원 변환 기반의 영상 부호화/복호화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080090936A (ko) * 2007-04-06 2008-10-09 삼성전자주식회사 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치
KR101379187B1 (ko) * 2008-06-23 2014-04-15 에스케이 텔레콤주식회사 블록 변환을 이용한 인트라 예측 방법 및 장치와 그를이용한 영상 부호화/복호화 방법 및 장치
WO2014176362A1 (en) * 2013-04-23 2014-10-30 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
KR20180001485A (ko) * 2016-06-24 2018-01-04 한국전자통신연구원 변환 기반의 영상 부호화/복호화 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUNG WON KANG: "Description of SDR video coding technology proposal by ETRI and Sejong University", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 10TH MEETING, vol. 1-39, no. JVET-J0013-v2, 11 April 2018 (2018-04-11), San Diego, US, pages 5 - 7 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023039856A1 (zh) * 2021-09-17 2023-03-23 Oppo广东移动通信有限公司 一种视频解码、编码方法及设备、存储介质

Similar Documents

Publication Publication Date Title
WO2020185004A1 (ko) 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
WO2021025478A1 (ko) 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
WO2017057953A1 (ko) 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
WO2018044088A1 (ko) 비디오 신호 처리 방법 및 장치
WO2012018198A2 (ko) 예측 블록 생성 장치
WO2019147079A1 (ko) 서브블록 기반의 모션 보상을 이용한 비디오 신호 처리 방법 및 장치
WO2020262951A1 (ko) 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
WO2017061671A1 (ko) 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치
WO2020231228A1 (ko) 영상 복호화 장치에서 이용하는 역양자화장치 및 방법
WO2020149630A1 (ko) 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치
WO2019240425A1 (ko) 인터 예측 방법 및 영상 복호화 장치
WO2023038447A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2021060804A1 (ko) 크로마블록의 잔차블록 복원 방법 및 복호화 장치
WO2020190084A1 (ko) 서브블록 단위 복원 방법 및 영상 복호화 장치
WO2022177375A1 (ko) 인트라 예측 신호와 인터 예측 신호의 가중 합을 이용하여 예측 블록을 생성하는 방법 및 이를 이용한 장치
WO2020141856A1 (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
WO2020190077A1 (ko) 예측모드 추정에 기반하는 인트라 예측장치 및 방법
WO2020185027A1 (ko) 데이터 블록에 변환 생략 모드를 효율적으로 적용하기 위한 방법 및 장치
WO2023224290A1 (ko) 인트라 예측에서 성분간 관계 모델 유도를 위한 참조샘플 선택을 위한 방법 및 장치
WO2020242181A1 (ko) 인트라 모드 후보 구성 방법 및 영상 복호화 장치
WO2020122573A1 (ko) 필터링 방법 및 영상 복호화 장치
WO2022186616A1 (ko) 인트라 예측모드 유도를 이용하는 비디오 코딩방법 및 장치
WO2020256510A1 (ko) 코딩 툴들을 제어하는 방법 및 장치
WO2020185058A1 (ko) 차등 부호화를 이용하는 영상 복호화 장치
WO2023219301A1 (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: 19831383

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19831383

Country of ref document: EP

Kind code of ref document: A1