WO2012118358A2 - 변환 계수 스캔 방법 및 그 장치 - Google Patents

변환 계수 스캔 방법 및 그 장치 Download PDF

Info

Publication number
WO2012118358A2
WO2012118358A2 PCT/KR2012/001618 KR2012001618W WO2012118358A2 WO 2012118358 A2 WO2012118358 A2 WO 2012118358A2 KR 2012001618 W KR2012001618 W KR 2012001618W WO 2012118358 A2 WO2012118358 A2 WO 2012118358A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
transform
transform coefficient
scanning
map
Prior art date
Application number
PCT/KR2012/001618
Other languages
English (en)
French (fr)
Other versions
WO2012118358A3 (ko
Inventor
임성창
김휘용
정세윤
김종호
이하현
이진호
최진수
김진웅
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US14/001,204 priority Critical patent/US11102494B2/en
Priority claimed from KR1020120022496A external-priority patent/KR20120100836A/ko
Publication of WO2012118358A2 publication Critical patent/WO2012118358A2/ko
Publication of WO2012118358A3 publication Critical patent/WO2012118358A3/ko
Priority to US17/377,057 priority patent/US11606567B2/en
Priority to US18/108,342 priority patent/US11812038B2/en
Priority to US18/374,527 priority patent/US20240031584A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to image processing, and more particularly, to a transform coefficient scanning method and apparatus thereof.
  • Image compression techniques include inter prediction techniques for predicting pixel values included in a current picture from previous and / or subsequent pictures in time, and intra predicting pixel values included in a current picture using pixel information in the current picture.
  • (intra) prediction technique transformation technique that decomposes the original video signal into the frequency domain signal, inverse transformation technique that restores the signal in the frequency domain to the original image signal, assigns a short code to the high frequency symbol
  • An object of the present invention is to provide an image encoding method and apparatus capable of improving image encoding / decoding efficiency.
  • Another object of the present invention is to provide an image decoding method and apparatus capable of improving image encoding / decoding efficiency.
  • Another object of the present invention is to provide a transform coefficient scanning method and apparatus for improving image encoding / decoding efficiency.
  • An embodiment of the present invention is a transform coefficient scan method.
  • the method may include determining a reference transform block for a decoding target block, deriving a scanning map of the decoding target block using scanning information of the reference transform block, and using the derived scanning map. Performing inverse scanning on a transform coefficient of the decoding object block.
  • a block existing at a position spatially identical to the decoding object block within the reference picture may be determined as the reference transform block.
  • At least one of a reconstructed neighboring block may be determined as the reference transform block, and the reconstructed neighboring block is adjacent to an upper end of the decoding target block.
  • An upper peripheral block, a left peripheral block adjacent to the left side of the decoding object block, an upper right corner block located at the upper right corner of the decoding object block, an upper left corner block located at the upper left corner of the decoding object block, and the decoding object block It may include a lower left corner block located in the lower left corner of the.
  • a block having the same size as the decoding target block may be determined as the reference transform block.
  • step 3 in the determining of the reference transform block, a block having the same depth value as the decoding object block may be determined as the reference transform block.
  • a block having the same encoding parameter as the decoding object block may be determined as a reference transform block, and the encoding parameter is an intra prediction direction and a reference picture list.
  • reference picture list reference picture index
  • motion vector predictor motion information merge
  • transform type It may include at least one of the information.
  • the step of deriving the scanning map comprises: determining a transform coefficient flag value for a position of each transform coefficient in the reference transform block, wherein each angle in the reference transform block is based on the transform coefficient flag. Calculating a flag counter value for a position of a transform coefficient to derive a counter map for the block to be decoded; and at the position of each transform coefficient in the counter map, the flag counter value Allocating the scan indexes in ascending order one by one in ascending order to generate a scanning map, wherein the transform coefficient flag includes a non-zero transform coefficient for each transform coefficient in the reference transform block. zero transform coefficient), and the flag counter indicates that all of the reference transform blocks are overlapped. In this case, it may be the sum of the transform coefficient flag values present at the same position.
  • the determining of the transform coefficient flag value comprises: scaling the reference transform block and scaling the scaled reference transform block. And determining a transform coefficient flag value for the position of each transform coefficient in the counter map derivation step, wherein in the counter map derivation step, the counter map is derived based on a transform coefficient flag of the scaled reference transform block. Can be.
  • the scan index may be allocated based on a zigzag scan order.
  • Another embodiment of the present invention is a video decoding apparatus.
  • the apparatus determines a reference transform block for a decoding object block, derives a scanning map of the decoding object block using scanning information of the reference transform block, and converts the decoding object block using the derived scanning map.
  • a reconstructed image generator configured to perform reversal scanning on coefficients and to generate a reconstructed image based on the inversely scanned transform coefficients.
  • the method may include determining a reference transform block for a decoding target block, deriving a scanning map of the decoding target block using scanning information of the reference transform block, and using the derived scanning map. Performing inverse scanning on the transform coefficients of the decoding object block and generating a reconstructed image based on the inversely scanned transform coefficients.
  • the step of deriving the scanning map comprises: determining a transform coefficient flag value for a position of each transform coefficient in the reference transform block, each of the angles in the reference transform block based on the transform coefficient flag. Calculating a flag counter value for a position of a transform coefficient to derive a counter map for the block to be decoded; and at the position of each transform coefficient in the counter map, the flag counter value Allocating the scan indexes in ascending order one by one in ascending order to generate a scanning map, wherein the transform coefficient flag includes a non-zero transform coefficient for each transform coefficient in the reference transform block. zero transform coefficient), and the flag counter indicates that all of the reference transform blocks are overlapped. If there be a sum of the transform coefficient value of a flag that is present in the same location.
  • determining the transform coefficient flag value comprises: scaling the reference transform block and scaling the scaled reference transform block. And determining a transform coefficient flag value for the position of each transform coefficient in the counter map derivation step, wherein in the counter map derivation step, the counter map is derived based on a transform coefficient flag of the scaled reference transform block. Can be.
  • the scan index may be allocated based on a zigzag scan order.
  • image encoding / decoding efficiency can be improved.
  • the image decoding method According to the image decoding method according to the present invention, the image encoding / decoding efficiency can be improved.
  • image encoding / decoding efficiency can be improved.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a conceptual diagram schematically illustrating an embodiment in which one block is divided into a plurality of lower blocks.
  • FIG. 4 is a flowchart schematically showing an embodiment of a transform coefficient scanning method in an encoder according to the present invention.
  • FIG. 5 is a flowchart schematically illustrating an embodiment of a transform coefficient scan method in a decoder according to the present invention.
  • FIG. 6 is a conceptual diagram schematically illustrating an embodiment of a method of selecting a reference transform block according to the present invention.
  • FIG. 7 is a conceptual diagram schematically showing another embodiment of a method of selecting a reference transform block according to the present invention.
  • FIG. 8 is a conceptual diagram schematically showing still another embodiment of a method of selecting a reference transform block according to the present invention.
  • FIG. 9 is a conceptual diagram schematically showing another embodiment of a method of selecting a reference transform block according to the present invention.
  • FIG. 10 is a conceptual diagram schematically showing still another embodiment of a method of selecting a reference transform block according to the present invention.
  • FIG. 11 is a conceptual diagram schematically showing still another embodiment of a method of selecting a reference transform block according to the present invention.
  • FIG. 12 is a flowchart schematically illustrating an embodiment of a scanning map derivation method for an encoding target block.
  • FIG. 13 is a conceptual diagram schematically illustrating an embodiment of a method of determining a transform coefficient flag value according to the present invention.
  • FIG. 14 is a conceptual diagram schematically showing another embodiment of a method of determining a transform coefficient flag value according to the present invention.
  • 15 is a conceptual diagram schematically illustrating an embodiment of a method for deriving a transform coefficient counter map according to the present invention.
  • 16 is a conceptual diagram schematically illustrating an embodiment of a scanning map generating method according to the present invention.
  • FIG. 17 is a conceptual diagram schematically illustrating an embodiment of a method of scanning / rescanning transform coefficients of an encoding target block using a scanning map.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
  • each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
  • Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
  • the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, and a converter 130. And a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.
  • the image encoding apparatus 100 may encode an input image in an intra mode or an inter mode and output a bitstream. In the intra mode, the switch 115 may be switched to intra, and in the inter mode, the switch 115 may be switched to inter. The image encoding apparatus 100 may generate a prediction block for an input block of an input image and then encode a residual between the input block and the prediction block.
  • the intra predictor 120 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the motion predictor 111 may obtain a motion vector by searching for a region that best matches an input block in the reference image stored in the reference picture buffer 190 during the motion prediction process.
  • the motion compensator 112 may generate a prediction block by performing motion compensation using the motion vector.
  • the subtractor 125 may generate a residual block by the difference between the input block and the generated prediction block.
  • the transform unit 130 may output a transform coefficient by performing a transform on the residual block.
  • the transform coefficient may mean a coefficient value generated by performing transform on the residual block and / or the residual signal.
  • a quantized transform coefficient level generated by applying quantization to a transform coefficient may also be referred to as a transform coefficient.
  • the quantization unit 140 may output the quantized transform coefficient level by quantizing the input transform coefficient according to the quantization parameter.
  • the entropy encoder 150 may output a bit stream by performing entropy encoding based on the values calculated by the quantizer 140 or the encoding parameter values calculated in the encoding process.
  • the entropy encoder 150 may use an encoding method such as exponential golomb, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • CAVLC context-adaptive variable length coding
  • CABAC context-adaptive binary arithmetic coding
  • the image encoding apparatus performs inter prediction encoding, that is, inter prediction encoding
  • the currently encoded image needs to be decoded and stored to be used as a reference image.
  • the quantized coefficients are inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170.
  • the inverse quantized and inverse transformed coefficients are added to the prediction block through the adder 175 and a reconstructed block is generated.
  • the reconstruction block passes through the filter unit 180, and the filter unit 180 applies at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstruction block or the reconstruction picture. can do.
  • the reconstructed block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and an adder ( 255, a filter unit 260, and a reference picture buffer 270.
  • the image decoding apparatus 200 may receive a bitstream output from the encoder and perform decoding in an intra mode or an inter mode, and output a reconstructed image, that is, a reconstructed image.
  • the switch In the intra mode, the switch may be switched to intra, and in the inter mode, the switch may be switched to inter.
  • the image decoding apparatus 200 may obtain a reconstructed residual block from the received bitstream, generate a prediction block, and then add the reconstructed residual block and the prediction block to generate a reconstructed block, that is, a reconstruction block. .
  • the entropy decoder 210 may entropy decode the input bitstream according to a probability distribution to generate symbols including symbols in the form of quantized coefficients.
  • the entropy decoding method is similar to the entropy coding method described above.
  • the entropy decoding method When the entropy decoding method is applied, a small number of bits are allocated to a symbol having a high probability of occurrence and a large number of bits are allocated to a symbol having a low probability of occurrence, whereby the size of the bit string for each symbol is increased. Can be reduced. Therefore, the compression performance of image decoding can be improved through an entropy decoding method.
  • the quantized coefficients are inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficients, a reconstructed residual block may be generated.
  • the intra predictor 240 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the motion compensator 250 may generate a predictive block by performing motion compensation using the reference image stored in the motion vector and the reference picture buffer 270.
  • the reconstructed residual block and the prediction block may be added through the adder 255, and the added block may pass through the filter unit 260.
  • the filter unit 260 may apply at least one or more of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture.
  • the filter unit 260 may output a reconstructed image, that is, a reconstructed image.
  • the reconstructed picture may be stored in the reference picture buffer 270 and used for inter prediction.
  • a block means a unit of image encoding and decoding.
  • a coding or decoding unit refers to a divided unit when the image is divided and encoded or decoded. Therefore, a macroblock, a coding unit (CU), a transform unit (TU), and a transform are used. It may be called a transform block.
  • an encoding / decoding target block may mean a transform unit and / or a transform block. One block may be further divided into smaller sub-blocks.
  • FIG. 3 is a conceptual diagram schematically illustrating an embodiment in which one block is divided into a plurality of lower blocks.
  • One block may be hierarchically divided with depth or depth level information based on a tree structure.
  • Each divided lower block may have a depth value.
  • the depth may represent the number and / or degree of division of the block. Therefore, the depth value may include information about the size of the lower block.
  • the highest node may be called a root node and may have the smallest depth value. At this time, the highest node may have a depth of level 0, and may represent the first block that is not divided.
  • a lower node having a depth of level 1 may represent a block in which the first block is divided once, and a lower node having a depth of level 2 may represent a block in which the first block is divided twice.
  • block a corresponding to node a is a block divided once in the first block and may have a depth of level 1.
  • a leaf node of level 3 may indicate a block in which the first block is divided three times.
  • block d corresponding to node d in 320 of FIG. 3 may be a block divided three times in the first block and may have a depth of level 3.
  • FIG. the leaf node at level 3, which is the lowest node, may have the deepest depth.
  • the encoder may generate transform coefficients by performing transform on the residual block generated after performing inter prediction and intra prediction. If quantization is performed on the transform coefficients, a quantized transform coefficient level may be generated.
  • the encoder may perform scanning before performing entropy encoding on the transform coefficient level in the encoding target block.
  • scanning may refer to a process of sorting the order of transform coefficients in a transform unit and / or a transform block.
  • Generally used scanning methods may include a zigzag scan, a field scan method, and the like.
  • the decoder may perform entropy decoding on the transform coefficient level when decoding an image. Before performing inverse quantization and inverse transformation on the entropy decoded transform coefficient level, the decoder may perform inverse scanning to determine a position in a decoding object block in which the transform coefficient level is to be included.
  • an image of selecting a reference transform block adaptively and performing scanning / descanning on transform coefficients of an encoding / decoding target block using scanning / inverse scanning information of the reference transform block An encoding / decoding method and apparatus may be provided.
  • FIG. 4 is a flowchart schematically showing an embodiment of a transform coefficient scanning method in an encoder according to the present invention.
  • the encoder may select a reference transform block for an encoding target block (S410).
  • the encoder may select a block other than the encoding target block as the reference transform block, and the size of the selected reference transform block may be N * M (N and M are arbitrary natural numbers).
  • the selected reference transform block may include scanning information.
  • the encoder can obtain scanning information from the selected reference transform block.
  • the scanning information may include a position of a non-zero transform coefficient in the selected reference transform block and / or a value of the transform coefficient of the selected reference transform block. Embodiments of the reference transform block selection method will be described later.
  • the encoder may derive a scanning map for the encoding target block by using the scanning information of the reference transform block (S420).
  • One or more reference transform blocks may be selected in the above-described reference transform block selection step.
  • the encoder may derive a scanning map using the scanning information of the selected two or more reference transform blocks.
  • the reference transform block may not be selected. If the selected reference transform block does not exist, the encoder may determine a predetermined fixed scanning map as the scanning map for the encoding target block.
  • the predetermined fixed scanning map may be a scanning map indicating a zigzag scan.
  • the encoder may skip the process of determining the scanning map and perform scanning on the encoding target block by using a predetermined fixed scanning method.
  • the predetermined fixed scanning method may be a zigzag scan.
  • the encoder may perform scanning on transform coefficients of an encoding target block by using the derived scanning map (S430).
  • S430 derived scanning map
  • FIG. 5 is a flowchart schematically illustrating an embodiment of a transform coefficient scan method in a decoder according to the present invention.
  • the decoder may select a reference transform block for a decoding target block (S510).
  • the decoder may select a block other than the decoding target block as a reference transform block, and the size of the selected reference transform block may be N * M (N and M are arbitrary natural numbers).
  • the selected reference transform block may include scanning information.
  • the decoder can obtain scanning information from the selected reference transform block.
  • the scanning information may include a position of a non-zero transform coefficient in the selected reference transform block and / or a value of the transform coefficient of the selected reference transform block.
  • the decoder may select the reference transform block in the same manner as the encoder, and embodiments of the reference transform block selection method will be described later.
  • the decoder may derive a scanning map for the decoding target block by using the scanning information of the reference transform block (S520).
  • One or more reference transform blocks may be selected in the above-described reference transform block selection step.
  • the decoder may derive a scanning map using the scanning information of the selected two or more reference transform blocks.
  • the reference transform block may not be selected. If the selected reference transform block does not exist, the decoder may determine a predetermined fixed scanning map as the scanning map for the decoding target block.
  • the predetermined fixed scanning map may be a scanning map indicating a zigzag scan.
  • the decoder may skip the process of determining the scanning map and perform inverse scanning on the decoding object block using a predetermined fixed scanning method.
  • the predetermined fixed scanning method may be a zigzag scan.
  • the scanning map derivation method for the decoding target block may be the same as the scanning map derivation method in the encoder.
  • a detailed embodiment of a method of deriving a scanning map for a decoding target block using scanning information of a reference transform block will be described later.
  • the decoder may perform inverse scanning on the transform coefficients of the decoding object block by using the derived scanning map (S530).
  • S530 derived scanning map
  • the encoding object block may be interpreted as a decoding object block, and scanning may be interpreted as inverse scanning.
  • FIG. 6 is a conceptual diagram schematically illustrating an embodiment of a method of selecting a reference transform block according to the present invention.
  • the encoder may select a reconstructed neighbor block as a reference transform block for the encoding target block.
  • the reconstructed neighboring block is a block that has already been encoded or decoded, and is a block adjacent to the block to be encoded / decoded, the block located at the upper right corner of the block to be encoded / decoded, and the block to the upper left corner of the block to be encoded / decoded. It may include a block located in the lower left corner of the block and / or encoding / decoding target block.
  • blocks adjacent to the upper end of the encoding target block are referred to as upper peripheral blocks
  • blocks adjacent to the left side of the encoding target block are referred to as left peripheral blocks.
  • the block located at the upper right corner of the encoding target block is called the upper right corner block
  • the block located at the upper left corner of the encoding target block is called the upper left corner block
  • the block located at the lower left corner of the encoding target block is called the lower left corner block.
  • block X represents an encoding target block
  • A, B, C, D, E, F, and G blocks may represent reconstructed neighboring blocks.
  • the encoder includes a left peripheral block (A, B), an upper peripheral block (D), an upper right corner block (E, F), an upper left corner block (G), and a lower left corner block (C). At least one may be selected as a reference transform block.
  • FIG. 7 is a conceptual diagram schematically showing another embodiment of a method of selecting a reference transform block according to the present invention.
  • Block X illustrated in 710 of FIG. 7 represents an encoding target block.
  • the encoder may determine a reference transform block for the encoding target block among blocks in the reference picture.
  • the encoder may select at least one of a block T 722 and a block O 724 in the reference picture as a reference transform block.
  • the block T 722 may be the same position block for the encoding target block
  • the block O 724 may be the same position block for the upper peripheral block.
  • the encoder may select, as a reference transform block, a block T 722 that exists at the same spatial position as the encoding target block among the blocks in the reference picture.
  • Block X shown in FIG. 8 represents a block to be encoded.
  • the encoder may select a block existing at a predetermined relative position to the encoding target block as a reference transform block for the encoding target block.
  • the encoder is configured to encode at least one of a left peripheral block A adjacent to the left side of the encoding target block X and a top peripheral block B adjacent to an upper end of the encoding target block X. Can be selected as a reference transform block for the block.
  • Block X shown in Fig. 9 represents a block to be encoded.
  • the encoder may select a block having the same size as the encoding target block as a reference transform block for the encoding target block.
  • the reference transform block may be selected from among neighbor blocks reconstructed as an example.
  • the blocks having the same size as the encoding target block X are the lower left corner block C, the upper left corner block G, and the upper peripheral block D.
  • the encoder assigns at least one of a lower left corner block C, an upper left corner block G, and an upper peripheral block D having the same size as the encoding target block X to the encoding target block X. Can be determined as a reference transform block.
  • Block X shown in FIG. 10 represents a block to be encoded.
  • the encoder may select a block having the same depth value as the encoding target block as a reference transform block for the encoding target block.
  • the reference transform block may be selected from among neighbor blocks reconstructed as an example.
  • blocks having the same depth value as that of the encoding target block X among the reconstructed neighboring blocks are a lower left corner block C, an upper left corner block G, and an upper peripheral block D.
  • the encoder selects at least one of a lower left corner block C, an upper left corner block G, and an upper peripheral block D having the same depth value as that of the encoding object block X, and the encoding object block X. It may be determined as a reference transform block for.
  • Block X shown in FIG. 11 represents an encoding target block.
  • the encoder may select a block having the same or similar encoding parameter as the encoding target block as a reference transform block for the encoding object block.
  • the reference transform block may be selected from among neighbor blocks reconstructed as an example.
  • the encoding parameter may include information that may be inferred in the encoding or decoding process, as well as information encoded by the encoder and transmitted to the decoder, such as a syntax element, and may be required for encoding or decoding an image. Means.
  • the encoding parameter may be, for example, an intra prediction direction, a block size, a reference picture list, a reference picture index, a motion vector predictor, a motion information merge ( It may include whether to use motion information merge, whether to use a skip mode and / or a transform type.
  • the encoder may determine at least one of the left neighboring block A and the upper neighboring block B as a reference transform block for the encoding target block X.
  • a block having encoding parameters that are the same as or similar to the encoding target block may be determined in various ways.
  • embodiments of a block having the same or similar encoding parameters as the encoding target block will be described.
  • the block to which the reference sample or reference pixel used for intra prediction of the encoding target block belongs is likely to include the same or similar information as the encoding target block. Accordingly, the encoder may select a block to which the reference pixel used for intra prediction of the encoding target block belongs as a reference transform block for the encoding target block.
  • a motion vector predictor and a motion vector predictor index may be used for inter prediction of an encoding target block.
  • the encoder may select, as a reference transform block, a block having the same motion vector predictor as the encoding target block and the same motion vector predictor index as the encoding target block.
  • the selected reference transform block may have the same motion vector as the motion vector of the motion vector predictor for the encoding target block as the motion vector predictor.
  • a reference picture index may be used for inter prediction of an encoding target block.
  • the encoder may select a block having the same reference picture index as the encoding target block as the reference transform block.
  • motion information merge may be used for inter prediction of an encoding target block.
  • the encoder may use at least one of spatial motion information derived from the reconstructed neighboring block and temporal motion information derived from the reference picture as the motion information of the encoding target block.
  • the spatial motion information and the temporal motion information may be called merge candidates.
  • a merge index indicating which candidate among merge candidates is used as motion information of an encoding target block may be used.
  • the encoder may select a block that is the merge target of the encoding target block as a reference transform block for the encoding target block. For example, the encoder may select a block corresponding to the merge candidate indicated by the merge index of the encoding target block, as a reference transform block for the encoding target block.
  • FIG. 12 is a flowchart schematically illustrating an embodiment of a scanning map derivation method for an encoding target block.
  • the encoder may derive the scanning map for the encoding object block by using the scanning information of the reference transform block.
  • the scanning information may include a position of a non-zero transform coefficient in the reference transform block and / or a value of the transform coefficient of the selected reference transform block.
  • the encoder may determine a transform coefficient flag value for the position of each transform coefficient in the reference transform block (S1210).
  • a transform coefficient flag value of 1 may be assigned to a position of the non-zero transform coefficient
  • a transform coefficient flag value of 0 may be assigned to a position of the transform coefficient that is not a non-zero transform coefficient.
  • the transform coefficient flag may indicate whether or not the transform coefficient in the reference transform block is a non-zero transform coefficient.
  • the encoder may scale the reference transform block according to the size of the encoding target block. In this case, the encoder may determine a transform coefficient flag value with respect to the position of each transform coefficient in the scaled reference transform block.
  • the encoder may derive a transform coefficient counter map for a block to be encoded (S1220).
  • the encoder can calculate a flag counter value for the location of each transform coefficient in the reference transform block, and a transform coefficient counter map can be derived from the calculated flag counter value.
  • the flag counter may mean the sum of transform coefficient flag values present at the same position in the plurality of reference transform blocks. That is, the flag counter may mean the sum of the transform coefficient flag values existing at the same position when a plurality of reference transform blocks overlap.
  • the encoder may derive a transform coefficient counter map using the transform coefficient flag value of the scaled reference transform block.
  • the encoder may generate a scanning map for an encoding target block (S1230).
  • the encoder may generate a scanning map by allocating scan indexes in order of a high flag counter value to each transform coefficient position in the counter map based on a zigzag scan order.
  • the scan indexes may be allocated in descending order of the index values starting from zero.
  • a low scan index value may be assigned to a position of a transform coefficient having a high priority of the zigzag scan.
  • a scan index value may be assigned to a plurality of transform coefficient positions having a flag counter value of 0 based on a zigzag scan order.
  • the scan indexes may be allocated in a zigzag scan order, and the index values may be allocated in a low order.
  • the encoder may scan the transform coefficients of the encoding object block in the order in which the assigned scan index values are low. A specific embodiment of the scanning map generation method will be described later.
  • FIG. 13 is a conceptual diagram schematically illustrating an embodiment of a method of determining a transform coefficient flag value according to the present invention.
  • FIG. 13 illustrates a block to be encoded 1310, a left neighboring block 1320, and a top neighboring block 1330.
  • Left peripheral block 1320 and top peripheral block 1330 represent a reference transform block selected by the encoder.
  • the sizes of the encoding object block 1310, the left neighboring block 1320, and the upper neighboring block 1330 are 4 ⁇ 4.
  • the encoder can determine a transform coefficient flag value for the location of each transform coefficient in the reference transform block. For example, a transform coefficient flag value of 1 may be assigned to a position of the non-zero transform coefficient, and a transform coefficient flag value of 0 may be assigned to a position of the transform coefficient that is not a non-zero transform coefficient. In this case, the transform coefficient flag may indicate whether or not the transform coefficient in the reference transform block is a non-zero transform coefficient. In the embodiment of Fig. 13, the number assigned to the position of each transform coefficient in the reference transform block represents an embodiment of the transform coefficient flag value.
  • a transform coefficient flag value of 1 may be assigned to a position where the non-zero transform coefficient exists and a transform coefficient flag value of 0 may be assigned to a position where the non-zero transform coefficient does not exist.
  • a transform coefficient flag value of 1 may be assigned to a position where the non-zero transform coefficient exists and a transform coefficient flag value of 0 may be assigned to a position where the non-zero transform coefficient does not exist.
  • FIG. 14 is a conceptual diagram schematically showing another embodiment of a method of determining a transform coefficient flag value according to the present invention.
  • FIG. 14 illustrates an encoding target block 1410, an upper peripheral block 1420, and an upper peripheral block 1430.
  • Left peripheral block 1420 and top peripheral block 1430 represent a reference transform block selected by the encoder.
  • the sizes of the encoding target block 1410 and the left neighboring block 1420 are 4x4, and the size of the upper neighboring block 1430 is 8x8.
  • the encoder may scale the reference transform block according to the size of the encoding target block. In this case, the encoder may determine a transform coefficient flag value with respect to the position of each transform coefficient in the scaled reference transform block.
  • the size of the upper peripheral block 1430 of the reference transform block may be larger than that of the encoding target block 1410.
  • the encoder may scale the reference transform block according to the size (4 ⁇ 4) of the encoding target block.
  • 1440 of FIG. 14 illustrates a scaled reference transform block.
  • the encoder can determine a transform coefficient flag value for the position of each transform coefficient in the scaled reference transform block 1440.
  • the encoder may group transform coefficient flags existing in the reference transform block 1430 before being scaled into a plurality of groups.
  • each of the groups may correspond to each transform coefficient position in the scaled reference transform block 1440.
  • the transform coefficient flag value of 1 is set to the corresponding transform coefficient position (the transform coefficient position in the scaled reference transform block 1440).
  • a transform coefficient flag value of 0 may be allocated to a transform coefficient position corresponding to the transform coefficient position (the transform coefficient position in the scaled reference transform block 1440).
  • the size of the reference transform block may be smaller than the size of the encoding target block.
  • the encoder may scale the reference transform block according to the size of the encoding target block.
  • each transform coefficient flag existing in the reference transform block before being scaled may correspond to at least one transform coefficient position present in the scaled reference transform block.
  • the encoder may assign a transform coefficient flag in the reference transform block before scaling to a transform coefficient position corresponding to the transform coefficient position (transform coefficient position in the scaled reference transform block). That is, the transform coefficient flag in the reference transform block before scaling may be scaled and allocated to the corresponding position.
  • 15 is a conceptual diagram schematically illustrating an embodiment of a method for deriving a transform coefficient counter map according to the present invention.
  • the size of an encoding target block is 4 ⁇ 4, and the transform coefficient flag values in the reference transform block and each reference transform block are determined in the same manner as in the embodiment of FIG. 13. That is, the encoder selects the left neighboring block and the top neighboring block as reference transform blocks.
  • the transform coefficient flag value of 1 is assigned to the first position, the second position, and the fourth position in the raster scan order for the left peripheral block, and the first position, the two positions for the raster scan order, for the upper peripheral block.
  • a transform coefficient flag value of 1 is assigned to the first and sixth positions.
  • the encoder can calculate a flag counter value for the location of each transform coefficient in the reference transform block, and a transform coefficient counter map can be derived from the calculated flag counter value.
  • the flag counter may mean the sum of transform coefficient flag values present at the same position in the plurality of reference transform blocks. That is, the flag counter may mean the sum of the transform coefficient flag values existing at the same position when a plurality of reference transform blocks overlap.
  • the transform coefficient flag values of the first position and the second position in the left neighboring block in the raster scan order are 1, and the transform coefficient flag of the first position and the second position in the upper neighboring block is 1.
  • the value is also 1.
  • the flag counter values of the first position 1510 and the second position 1520 of the transform coefficient counter map in the raster scan order may be two.
  • the transform coefficient flag value at the fourth position in the left neighboring block is 1 and the transform coefficient flag value at the fourth position in the upper neighboring block is 0 in the raster scan order. Accordingly, the flag counter value of the fourth position 1530 of the transform coefficient counter map in the raster scan order may be one. In addition, the transform coefficient flag value at the sixth position in the left neighboring block is 0 in the raster scan order, and the transform coefficient flag value at the sixth position in the upper neighboring block is 1. Thus, the flag counter value of the sixth position 1540 of the transform coefficient counter map in the raster scan order may be one.
  • the encoder may derive a transform coefficient counter map using the transform coefficient flag value of the scaled reference transform block.
  • 16 is a conceptual diagram schematically illustrating an embodiment of a scanning map generating method according to the present invention.
  • the encoder may generate a scanning map by allocating scan indexes in order of increasing flag counter values to respective transform coefficient positions in the counter map based on the zigzag scan order.
  • the counter map shown in FIG. 15 is used for generating a scanning map.
  • 1610 of FIG. 16 shows a zigzag scan order.
  • the number displayed at the position of each transform coefficient represents a scan index value of a zigzag scan.
  • scanning may be performed in ascending order of the scan index values shown in 1610 of FIG. 16.
  • 1620 of FIG. 16 illustrates a scanning map assigned a scan index, derived in accordance with the present invention.
  • the number displayed at the position of each transform coefficient represents a scan index value.
  • the encoder may allocate a scan index to each transform coefficient position in the counter map in order of the high flag counter value.
  • the scan indexes may be allocated in descending order of the index values starting from zero.
  • a low scan index value may be assigned to a position of a transform coefficient having a high priority of the zigzag scan.
  • a scan index value may be assigned to a plurality of transform coefficient positions having a flag counter value of 0 based on a zigzag scan order. At this time, the scan index may be assigned to each transform coefficient position in the counter map in a zigzag scan order, and the index values may be assigned in the low order.
  • the encoder may scan the transform coefficients of the encoding object block in the order in which the assigned scan index values are low.
  • FIG. 17 is a conceptual diagram schematically illustrating an embodiment of a method of scanning / rescanning transform coefficients of an encoding target block using a scanning map.
  • 1710 of FIG. 17 illustrates two-dimensional transform coefficients of the block to be encoded / decoded
  • 1720 of FIG. 17 illustrates an array of one-dimensional transform coefficients corresponding to the two-dimensional transform coefficients.
  • the scanning map shown at 1620 of FIG. 16 is used for scanning / backscanning.
  • the encoder may scan transform coefficients of an encoding target block in order of decreasing scan index values assigned to the scanning map.
  • the 2D transform coefficients 1710 of the encoding target block may be scanned and encoded in the order of the 1D transform coefficient array shown in 1720 of FIG. 17.
  • the transform coefficient 4 may be scanned first.
  • other transform coefficients may be scanned in the order in which the scan index value assigned to each transform coefficient is low.
  • the decoder may perform entropy decoding on the transform coefficients in the order of the one-dimensional transform coefficient array shown in 1720 of FIG. 17.
  • the decoder may perform inverse scanning on the transform coefficients using the scanning map to allocate the transform coefficients to the two-dimensional decoding target block. For example, the decoder may perform reverse scanning on the decoding object block in order of decreasing scan index values assigned to the scanning map. That is, the decoder may allocate transform coefficients to the two-dimensional decoding target block in the order of the lowest scan index values assigned to the scanning map.
  • the encoder and the decoder may select the reference transform block adaptively using context similarity between the encoding / decoding target block and the reconstructed neighboring block.
  • the encoder and the decoder may improve encoding efficiency by scanning / descanning the transform coefficients in the encoding / decoding target block by using the scanning information of the selected reference transform block.
  • the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and certain steps may occur in a different order or at the same time than other steps described above. Can be. Also, one of ordinary skill in the art appreciates that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps in the flowcharts may be deleted without affecting the scope of the present invention. I can understand.

Landscapes

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

Abstract

본 발명에 따른 변환 계수 스캔 방법은, 복호화 대상 블록에 대한 참조 변환 블록을 결정하는 단계, 참조 변환 블록의 스캐닝 정보를 이용하여 복호화 대상 블록의 스캐닝 맵을 도출하는 단계 및 도출된 스캐닝 맵을 이용하여 복호화 대상 블록의 변환 계수에 대한 역 스캐닝을 수행하는 단계를 포함한다. 본 발명에 의하면 영상 부호화/복호화 효율이 향상될 수 있다.

Description

변환 계수 스캔 방법 및 그 장치
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 변환 계수 스캔 방법 및 그 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축 기술에는 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술, 원 영상 신호를 주파수 영역의 신호로 분해하는 변환 기술, 주파수 영역의 신호를 원 영상 신호로 복원하는 역변환 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 있다.
본 발명의 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 변환 계수 스캔 방법 및 장치를 제공함에 있다.
1. 본 발명의 일 실시 형태는 변환 계수 스캔 방법이다. 상기 방법은 복호화 대상 블록에 대한 참조 변환 블록을 결정하는 단계, 상기 참조 변환 블록의 스캐닝 정보를 이용하여 상기 복호화 대상 블록의 스캐닝 맵(scanning map)을 도출하는 단계 및 상기 도출된 스캐닝 맵을 이용하여 상기 복호화 대상 블록의 변환 계수(transform coefficient)에 대한 역 스캐닝을 수행하는 단계를 포함한다.
2. 1에 있어서, 상기 참조 변환 블록 결정 단계에서는, 참조 픽쳐 내에서, 상기 복호화 대상 블록과 공간적으로 동일한 위치에 존재하는 블록을 상기 참조 변환 블록으로 결정할 수 있다.
3. 1에 있어서, 상기 참조 변환 블록 결정 단계에서는, 복원된 주변 블록(reconstructed neighboring block) 중에서 적어도 하나를 상기 참조 변환 블록으로 결정할 수 있고, 상기 복원된 주변 블록은 상기 복호화 대상 블록의 상단에 인접한 상단 주변 블록, 상기 복호화 대상 블록의 좌측에 인접한 좌측 주변 블록, 상기 복호화 대상 블록의 우측 상단 코너에 위치한 우측 상단 코너 블록, 상기 복호화 대상 블록의 좌측 상단 코너에 위치한 좌측 상단 코너 블록 및 상기 복호화 대상 블록의 좌측 하단 코너에 위치한 좌측 하단 코너 블록을 포함할 수 있다.
4. 3에 있어서, 상기 참조 변환 블록 결정 단계에서는, 상기 복호화 대상 블록과 동일한 크기를 갖는 블록을 참조 변환 블록으로 결정할 수 있다.
5. 3에 있어서, 상기 참조 변환 블록 결정 단계에서는, 상기 복호화 대상 블록과 동일한 깊이(depth) 값을 갖는 블록을 참조 변환 블록으로 결정할 수 있다.
6. 3에 있어서, 상기 참조 변환 블록 결정 단계에서는, 상기 복호화 대상 블록과 동일한 부호화 파라미터를 갖는 블록을 참조 변환 블록으로 결정할 수 있고, 상기 부호화 파라미터는 인트라 예측 방향(intra prediction direction), 참조 픽쳐 리스트(reference picture list), 참조 픽쳐 인덱스(reference picture index), 움직임 벡터 예측기(motion vector predictor), 움직임 정보 머지(motion information merge) 사용 여부, 스킵 모드(skip mode) 사용 여부 및 변환(transform) 종류에 관한 정보 중 적어도 하나를 포함할 수 있다.
7. 1에 있어서, 상기 스캐닝 맵 도출 단계는, 상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 변환 계수 플래그(flag) 값을 결정하는 단계, 상기 변환 계수 플래그를 기반으로 상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 플래그 카운터(flag counter) 값을 계산하여, 상기 복호화 대상 블록에 대한 카운터 맵(counter map)을 도출하는 단계 및 상기 카운터 맵 내의 각 변환 계수의 위치에, 상기 플래그 카운터 값이 높은 순서대로 스캔 인덱스(scan index)를 오름차순으로 하나씩 할당하여, 스캐닝 맵을 생성하는 단계를 더 포함할 수 있고, 상기 변환 계수 플래그는 상기 참조 변환 블록 내의 각 변환 계수가 넌 제로 변환 계수(non-zero transform coefficient)인지 여부를 지시하는 플래그이고, 상기 플래그 카운터는 상기 참조 변환 블록이 모두 오버랩(overlap)되는 경우 동일한 위치에 존재하는 변환 계수 플래그 값의 합일 수 있다.
8. 7에 있어서, 상기 참조 변환 블록의 크기가 상기 복호화 대상 블록의 크기와 다른 경우, 상기 변환 계수 플래그 값 결정 단계는, 상기 참조 변환 블록을 스케일링(scailing)하는 단계 및 상기 스케일링된 참조 변환 블록 내의 각 변환 계수의 위치에 대한, 변환 계수 플래그 값을 결정하는 단계를 더 포함할 수 있고, 상기 카운터 맵 도출 단계에서는, 상기 스케일링된 참조 변환 블록의 변환 계수 플래그를 기반으로 상기 카운터 맵을 도출할 수 있다.
9. 7에 있어서, 상기 스캐닝 맵 생성 단계에서는, 지그재그 스캔(zigzag scan) 순서를 기반으로 상기 스캔 인덱스를 할당할 수 있다.
10. 본 발명의 다른 실시 형태는 영상 복호화 장치이다. 상기 장치는 복호화 대상 블록에 대한 참조 변환 블록을 결정하고, 상기 참조 변환 블록의 스캐닝 정보를 이용하여 상기 복호화 대상 블록의 스캐닝 맵을 도출하고, 상기 도출된 스캐닝 맵을 이용하여 상기 복호화 대상 블록의 변환 계수에 대한 역 스캐닝을 수행하는 역 스캐닝부 및 상기 역 스캐닝된 변환 계수를 기반으로 복원 영상을 생성하는 복원 영상 생성부를 포함한다.
11. 본 발명은 또 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은 복호화 대상 블록에 대한 참조 변환 블록을 결정하는 단계, 상기 참조 변환 블록의 스캐닝 정보를 이용하여 상기 복호화 대상 블록의 스캐닝 맵(scanning map)을 도출하는 단계, 상기 도출된 스캐닝 맵을 이용하여 상기 복호화 대상 블록의 변환 계수(transform coefficient)에 대한 역 스캐닝을 수행하는 단계 및 상기 역 스캐닝된 변환 계수를 기반으로 복원 영상을 생성하는 단계를 포함한다.
12. 11에 있어서, 상기 스캐닝 맵 도출 단계는, 상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 변환 계수 플래그(flag) 값을 결정하는 단계, 상기 변환 계수 플래그를 기반으로 상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 플래그 카운터(flag counter) 값을 계산하여, 상기 복호화 대상 블록에 대한 카운터 맵(counter map)을 도출하는 단계 및 상기 카운터 맵 내의 각 변환 계수의 위치에, 상기 플래그 카운터 값이 높은 순서대로 스캔 인덱스(scan index)를 오름차순으로 하나씩 할당하여, 스캐닝 맵을 생성하는 단계를 더 포함할 수 있고, 상기 변환 계수 플래그는 상기 참조 변환 블록 내의 각 변환 계수가 넌 제로 변환 계수(non-zero transform coefficient)인지 여부를 지시하는 플래그이고, 상기 플래그 카운터는 상기 참조 변환 블록이 모두 오버랩(overlap)되는 경우 동일한 위치에 존재하는 변환 계수 플래그 값의 합일 수 있다.
13. 12에 있어서, 상기 참조 변환 블록의 크기가 상기 복호화 대상 블록의 크기와 다른 경우, 상기 변환 계수 플래그 값 결정 단계는, 상기 참조 변환 블록을 스케일링(scailing)하는 단계 및 상기 스케일링된 참조 변환 블록 내의 각 변환 계수의 위치에 대한, 변환 계수 플래그 값을 결정하는 단계를 더 포함할 수 있고, 상기 카운터 맵 도출 단계에서는, 상기 스케일링된 참조 변환 블록의 변환 계수 플래그를 기반으로 상기 카운터 맵을 도출할 수 있다.
14. 12에 있어서, 상기 스캐닝 맵 생성 단계에서는, 지그재그 스캔(zigzag scan) 순서를 기반으로 상기 스캔 인덱스를 할당할 수 있다.
본 발명에 따른 영상 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 영상 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 변환 계수 스캔 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 블록이 복수의 하위 블록으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명에 따른 부호화기에서의 변환 계수 스캔 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 5는 본 발명에 따른 복호화기에서의 변환 계수 스캔 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 6은 본 발명에 따른 참조 변환 블록 선택 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 7은 본 발명에 따른 참조 변환 블록 선택 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 8은 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다.
도 9는 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다.
도 10은 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다.
도 11은 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다.
도 12는 부호화 대상 블록에 대한 스캐닝 맵 도출 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 13은 본 발명에 따른 변환 계수 플래그 값 결정 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 14는 본 발명에 따른 변환 계수 플래그 값 결정 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 15는 본 발명에 따른 변환 계수 카운터 맵 도출 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 16은 본 발명에 따른 스캐닝 맵 생성 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 17은 스캐닝 맵을 이용하여 부호화 대상 블록의 변환 계수를 스캐닝/역스캐닝하는 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.

도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록 및/또는 잔차 신호에 대한 변환을 수행함으로써 생성된 계수 값을 의미할 수 있다. 이하, 본 명세서에서는 변환 계수에 양자화가 적용되어 생성된, 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수로 불릴 수 있다.
양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 변환 계수 레벨(quantized transform coefficient level)을 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.

도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
이하, 블록(block)은 영상 부호화 및 복호화의 단위를 의미한다. 영상 부호화 및 복호화 시 부호화 혹은 복호화 단위는, 영상을 분할하여 부호화 혹은 복호화할 때 그 분할된 단위를 의미하므로, 매크로블록, 부호화 유닛 (CU: Coding Unit), 변환 유닛(TU: Transform Unit), 변환 블록(transform block) 등으로 불릴 수 있다. 또한 이하, 부호화/복호화 대상 블록(encoding/decoding target block)은 변환 유닛 및/또는 변환 블록을 의미할 수 있다. 하나의 블록은 크기가 더 작은 하위 블록으로 더 분할될 수 있다.

도 3은 하나의 블록이 복수의 하위 블록으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
하나의 블록은 트리 구조(tree structure)를 기초로 깊이(depth or depth level) 정보를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 블록은 깊이 값을 가질 수 있다. 여기서, 깊이(depth)는 블록이 분할된 회수 및/또는 정도를 나타낼 수 있다. 따라서, 깊이 값은 상기 하위 블록의 크기에 관한 정보를 포함할 수도 있다.
도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 블록을 나타낼 수 있다.
레벨 1의 깊이를 갖는 하위 노드는 최초 블록이 한 번 분할된 블록을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 블록이 두 번 분할된 블록을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 블록 a는 최초 블록에서 한 번 분할된 블록이고, 레벨 1의 깊이를 가질 수 있다.
레벨 3의 리프 노드(leaf node)는 최초 블록이 3번 분할된 블록을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 블록 d는 최초 블록에서 세 번 분할된 블록이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.

한편, 상술한 바와 같이 부호화기는 인터 예측 및 인트라 예측을 수행한 후 생성된 잔차 블록에 대해 변환을 수행하여 변환 계수를 생성할 수 있다. 변환 계수에 대해 양자화가 수행되면, 양자화된 변환 계수 레벨이 생성될 수 있다.
양자화된 변환 계수 레벨의 경우, 변환의 특성상 저주파 영역에 넌 제로(non-zero) 변환 계수가 분포할 가능성이 높다. 여기서, 넌 제로 변환 계수(non-zero transform coefficient)는 0이 아닌 값을 갖는 변환 계수 및/또는 0이 아닌 값을 갖는 변환 계수 레벨을 의미할 수 있다. 따라서, 저주파 영역에 존재하는 넌 제로 변환 계수 레벨을 우선적으로 부호화하기 위해, 부호화기는 부호화 대상 블록 내의 변환 계수 레벨에 대한 엔트로피 부호화를 수행하기 전에 스캐닝(scanning)을 수행할 수 있다. 여기서, 스캐닝(scanning)은 변환 유닛 및/또는 변환 블록 내의 변환 계수의 순서를 정렬하는 프로세스를 의미할 수 있다. 일반적으로 사용되는 스캐닝 방법에는 지그재그 스캔, 필드 스캔 방법 등이 있을 수 있다.
복호화기는 영상 복호화 시에 변환 계수 레벨에 대한 엔트로피 복호화를 수행할 수 있다. 엔트로피 복호화된 변환 계수 레벨에 대한 역양자화 및 역변환을 수행하기 전에, 복호화기는 변환 계수 레벨이 포함될 복호화 대상 블록 내의 위치를 결정하기 위해 역스캐닝을 수행할 수 있다.
기존의 스캐닝/역스캐닝 방법에서는, 부호화/복호화 대상 블록과 유사한 특성을 갖는 주변 블록 등의 특성이 충분히 이용되지 않으므로, 부호화 효율 향상에 한계가 있을 수 있다. 따라서, 부호화 효율을 향상시키기 위해, 문맥 적응적으로 참조 변환 블록을 선택하고, 참조 변환 블록의 스캐닝/역스캐닝 정보를 이용하여 부호화/복호화 대상 블록의 변환 계수에 대한 스캐닝/역스캐닝을 수행하는 영상 부호화/복호화 방법 및 장치가 제공될 수 있다.

도 4는 본 발명에 따른 부호화기에서의 변환 계수 스캔 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 4를 참조하면, 부호화기는 부호화 대상 블록에 대한 참조 변환 블록을 선택할 수 있다(S410). 이 때, 부호화기는 부호화 대상 블록 외의 블록을 참조 변환 블록으로 선택할 수 있으며, 선택된 참조 변환 블록의 크기는 N*M(N 및 M은 임의의 자연수)일 수 있다.
선택된 참조 변환 블록은 스캐닝 정보를 포함할 수 있다. 따라서, 부호화기는 선택된 참조 변환 블록으로부터 스캐닝 정보를 획득할 수 있다. 여기서, 스캐닝 정보에는 선택된 참조 변환 블록 내의 넌 제로 변환 계수의 위치 및/또는 선택된 참조 변환 블록의 변환 계수의 값 등이 있을 수 있다. 참조 변환 블록 선택 방법의 실시예들은 후술하기로 한다.
다시 도 4를 참조하면, 부호화기는 참조 변환 블록의 스캐닝 정보를 이용하여, 부호화 대상 블록에 대한 스캐닝 맵(scanning map)을 도출할 수 있다(S420).
상술한 참조 변환 블록 선택 단계에서 선택된 참조 변환 블록은 1개일 수 있으며, 2개 이상일 수도 있다. 2개 이상의 참조 변환 블록이 선택된 경우, 부호화기는 선택된 2개 이상의 참조 변환 블록의 스캐닝 정보를 이용하여 스캐닝 맵을 도출할 수 있다.
상술한 참조 변환 블록 선택 단계에서는 참조 변환 블록이 선택되지 않을 수도 있다. 선택된 참조 변환 블록이 존재하지 않는 경우, 부호화기는 소정의 고정된 스캐닝 맵을 부호화 대상 블록에 대한 스캐닝 맵으로 결정할 수 있다. 여기서, 상기 소정의 고정된 스캐닝 맵은 지그재그 스캔을 나타내는 스캐닝 맵일 수 있다. 또한, 선택된 참조 변환 블록이 존재하지 않는 경우, 부호화기는 스캐닝 맵을 결정하는 과정을 생략하고, 소정의 고정된 스캐닝 방법을 이용하여 부호화 대상 블록에 대한 스캐닝을 수행할 수도 있다. 여기서, 상기 소정의 고정된 스캐닝 방법은 지그재그 스캔일 수 있다.
참조 변환 블록의 스캐닝 정보를 이용하여 부호화 대상 블록에 대한 스캐닝 맵을 도출하는 방법의 구체적인 실시예는 후술하기로 한다.
다시 도 4를 참조하면, 부호화기는 도출된 스캐닝 맵을 이용하여, 부호화 대상 블록의 변환 계수에 대한 스캐닝을 수행할 수 있다(S430). 부호화 대상 블록의 변환 계수에 대한 스캐닝 방법의 실시예는 후술한다.

도 5는 본 발명에 따른 복호화기에서의 변환 계수 스캔 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 5를 참조하면, 복호화기는 복호화 대상 블록에 대한 참조 변환 블록을 선택할 수 있다(S510). 이 때, 복호화기는 복호화 대상 블록 외의 블록을 참조 변환 블록으로 선택할 수 있으며, 선택된 참조 변환 블록의 크기는 N*M(N 및 M은 임의의 자연수)일 수 있다.
선택된 참조 변환 블록은 스캐닝 정보를 포함할 수 있다. 따라서, 복호화기는 선택된 참조 변환 블록으로부터 스캐닝 정보를 획득할 수 있다. 여기서, 스캐닝 정보에는 선택된 참조 변환 블록 내의 넌 제로 변환 계수의 위치 및/또는 선택된 참조 변환 블록의 변환 계수의 값 등이 있을 수 있다. 복호화기는 부호화기와 동일한 방법으로 참조 변환 블록을 선택할 수 있으며, 참조 변환 블록 선택 방법의 실시예들은 후술하기로 한다.
다시 도 5를 참조하면, 복호화기는 참조 변환 블록의 스캐닝 정보를 이용하여, 복호화 대상 블록에 대한 스캐닝 맵(scanning map)을 도출할 수 있다(S520).
상술한 참조 변환 블록 선택 단계에서 선택된 참조 변환 블록은 1개일 수 있으며, 2개 이상일 수도 있다. 2개 이상의 참조 변환 블록이 선택된 경우, 복호화기는 선택된 2개 이상의 참조 변환 블록의 스캐닝 정보를 이용하여 스캐닝 맵을 도출할 수 있다.
상술한 참조 변환 블록 선택 단계에서는 참조 변환 블록이 선택되지 않을 수도 있다. 선택된 참조 변환 블록이 존재하지 않는 경우, 복호화기는 소정의 고정된 스캐닝 맵을 복호화 대상 블록에 대한 스캐닝 맵으로 결정할 수 있다. 여기서, 상기 소정의 고정된 스캐닝 맵은 지그재그 스캔을 나타내는 스캐닝 맵일 수 있다. 또한, 선택된 참조 변환 블록이 존재하지 않는 경우, 복호화기는 스캐닝 맵을 결정하는 과정을 생략하고, 소정의 고정된 스캐닝 방법을 이용하여 복호화 대상 블록에 대한 역스캐닝을 수행할 수도 있다. 여기서, 상기 소정의 고정된 스캐닝 방법은 지그재그 스캔일 수 있다.
복호화 대상 블록에 대한 스캐닝 맵 도출 방법은 부호화기에서의 스캐닝 맵 도출 방법과 동일할 수 있다. 참조 변환 블록의 스캐닝 정보를 이용하여 복호화 대상 블록에 대한 스캐닝 맵을 도출하는 방법의 구체적인 실시예는 후술하기로 한다.
다시 도 5를 참조하면, 복호화기는 도출된 스캐닝 맵을 이용하여, 복호화 대상 블록의 변환 계수에 대한 역스캐닝을 수행할 수 있다(S530). 복호화 대상 블록의 변환 계수에 대한 역스캐닝 방법의 실시예는 후술한다.

이하, 후술되는 실시예들은 편의상 부호화기를 중심으로 서술되지만, 특별한 언급이 없으면 복호화기에도 동일한 방법으로 적용될 수 있다. 이 때, 부호화 대상 블록은 복호화 대상 블록으로 해석될 수 있으며, 스캐닝은 역스캐닝으로 해석될 수 있다.

도 6은 본 발명에 따른 참조 변환 블록 선택 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
부호화기는 복원된 주변 블록(reconstructed neighbor block)을 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다. 여기서, 복원된 주변 블록은 이미 부호화 또는 복호화되어 복원된 블록으로서, 부호화/복호화 대상 블록에 인접한 블록, 부호화/복호화 대상 블록의 우측 상단 코너에 위치한 블록, 부호화/복호화 대상 블록의 좌측 상단 코너에 위치한 블록 및/또는 부호화/복호화 대상 블록의 좌측 하단 코너에 위치한 블록을 포함할 수 있다. 이하, 부호화 대상 블록의 상단에 인접한 블록은 상단 주변 블록, 부호화 대상 블록의 좌측에 인접한 블록은 좌측 주변 블록이라 한다. 또한 부호화 대상 블록의 우측 상단 코너에 위치한 블록은 우측 상단 코너 블록, 부호화 대상 블록의 좌측 상단 코너에 위치한 블록은 좌측 상단 코너 블록, 부호화 대상 블록의 좌측 하단 코너에 위치한 블록은 좌측 하단 코너 블록이라 한다.
도 6의 실시예에서, 블록 X는 부호화 대상 블록을 나타내며, A, B, C, D, E, F, G 블록은 복원된 주변 블록을 나타낼 수 있다. 도 6을 참조하면, 부호화기는 좌측 주변 블록(A, B), 상단 주변 블록(D), 우측 상단 코너 블록(E, F), 좌측 상단 코너 블록(G) 및 좌측 하단 코너 블록(C) 중 적어도 하나를 참조 변환 블록으로 선택할 수 있다.

도 7은 본 발명에 따른 참조 변환 블록 선택 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 7의 710은 부호화 대상 픽쳐 내의 블록을 나타내고, 도 7의 720은 참조 픽쳐 내의 동일 위치 블록을 도시한다. 여기서, 동일 위치 블록은 참조 픽쳐 내에서, 부호화 대상 픽쳐 내의 블록과 공간적으로 동일한 위치에 존재하는 블록을 의미할 수 있다. 도 7의 710에 도시된 블록 X는 부호화 대상 블록을 나타낸다.
부호화기는 참조 픽쳐 내의 블록들 중에서 부호화 대상 블록에 대한 참조 변환 블록을 결정할 수 있다. 도 7을 참조하면, 일례로 부호화기는 참조 픽쳐 내의 블록 T(722) 및 블록 O(724) 중 적어도 하나를 참조 변환 블록으로 선택할 수 있다. 여기서, 블록 T(722)는 부호화 대상 블록에 대한 동일 위치 블록이고, 블록 O(724)는 상단 주변 블록에 대한 동일 위치 블록일 수 있다. 또한, 부호화기는 참조 픽쳐 내의 블록 중에서, 부호화 대상 블록과 공간적으로 동일한 위치에 존재하는 블록 T(722)를 참조 변환 블록으로 선택할 수 있다.

도 8은 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다. 도 8에 도시된 블록 X는 부호화 대상 블록을 나타낸다.
부호화기는 부호화 대상 블록에 대한 소정의 상대적 위치에 존재하는 블록을, 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다. 도 8을 참조하면, 일례로 부호화기는 부호화 대상 블록(X)의 좌측에 인접한 좌측 주변 블록(A) 및 부호화 대상 블록(X)의 상단에 인접한 상단 주변 블록(B) 중 적어도 하나를, 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다.

도 9는 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다. 도 9에 도시된 블록 X는 부호화 대상 블록을 나타낸다.
부호화기는 부호화 대상 블록과 동일한 크기를 갖는 블록을 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다. 이 때, 참조 변환 블록은 일례로 복원된 주변 블록 중에서 선택될 수도 있다.
도 9를 참조하면, 복원된 주변 블록 중에서 부호화 대상 블록(X)과 동일한 크기를 갖는 블록은 좌측 하단 코너 블록(C), 좌측 상단 코너 블록(G) 및 상단 주변 블록(D)이다. 이 때, 부호화기는 부호화 대상 블록(X)과 동일한 크기를 갖는 좌측 하단 코너 블록(C), 좌측 상단 코너 블록(G) 및 상단 주변 블록(D) 중 적어도 하나를, 부호화 대상 블록(X)에 대한 참조 변환 블록으로 결정할 수 있다.

도 10은 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다. 도 10에 도시된 블록 X는 부호화 대상 블록을 나타낸다.
부호화기는 부호화 대상 블록과 동일한 깊이(depth) 값을 갖는 블록을 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다. 이 때, 참조 변환 블록은 일례로 복원된 주변 블록 중에서 선택될 수도 있다.
도 10을 참조하면, 복원된 주변 블록 중에서 부호화 대상 블록(X)과 동일한 깊이 값을 갖는 블록은 좌측 하단 코너 블록(C), 좌측 상단 코너 블록(G) 및 상단 주변 블록(D)이다. 이 때, 부호화기는 부호화 대상 블록(X)과 동일한 깊이 값을 갖는 좌측 하단 코너 블록(C), 좌측 상단 코너 블록(G) 및 상단 주변 블록(D) 중 적어도 하나를, 부호화 대상 블록(X)에 대한 참조 변환 블록으로 결정할 수 있다.

도 11은 본 발명에 따른 참조 변환 블록 선택 방법의 또 다른 실시예를 개략적으로 나타내는 개념도이다. 도 11에 도시된 블록 X는 부호화 대상 블록을 나타낸다.
부호화기는 부호화 대상 블록과 동일하거나 유사한 부호화 파라미터를 갖는 블록을 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다. 이 때, 참조 변환 블록은 일례로 복원된 주변 블록 중에서 선택될 수도 있다. 여기서, 부호화 파라미터는 구문 요소(syntax element)와 같이 부호화기에서 부호화되어 복호화기로 전송되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며, 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어, 인트라 예측 방향(intra prediction direction), 블록 크기, 참조 픽쳐 리스트(reference picture list), 참조 픽쳐 인덱스(reference picture index), 움직임 벡터 예측기(motion vector predictor), 움직임 정보 머지(motion information merge) 사용 여부, 스킵 모드(skip mode) 사용 여부 및/또는 변환(transform) 종류 등을 포함할 수 있다.
도 11의 실시예에서, 복원된 주변 블록 중에서 좌측 주변 블록(A) 및 상단 주변 블록(B)은 부호화 대상 블록(X)과 동일하거나 유사한 부호화 파라미터를 갖는다고 가정한다. 이 때, 부호화기는 좌측 주변 블록(A) 및 상단 주변 블록(B) 중에서 적어도 하나를, 부호화 대상 블록(X)에 대한 참조 변환 블록으로 결정할 수 있다.
부호화 대상 블록과 동일하거나 유사한 부호화 파라미터를 갖는 블록은 다양한 방법으로 결정될 수 있다. 이하, 부호화 대상 블록과 동일하거나 유사한 부호화 파라미터를 갖는 블록의 실시예들이 서술된다.
일례로, 부호화 대상 블록의 인트라 예측에 사용되는 참조 픽셀(reference sample or reference pixel)이 속하는 블록은, 부호화 대상 블록과 동일하거나 유사한 정보를 포함할 가능성이 높다. 따라서, 부호화기는 부호화 대상 블록의 인트라 예측에 사용되는 참조 픽셀이 속하는 블록을, 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다.
또한, 부호화 대상 블록의 인터 예측에는 움직임 벡터 예측기 및 움직임 벡터 예측기 인덱스(motion vector predictor index)가 사용될 수 있다. 이 때 부호화기는, 부호화 대상 블록과 동일한 움직임 벡터 예측기 및 부호화 대상 블록과 동일한 움직임 벡터 예측기 인덱스를 갖는 블록을, 참조 변환 블록으로 선택할 수 있다. 선택된 참조 변환 블록은, 부호화 대상 블록에 대한 움직임 벡터 예측기의 움직임 벡터와 동일한 움직임 벡터를 움직임 벡터 예측기로 가질 수 있다.
또한, 부호화 대상 블록의 인터 예측에는 참조 픽쳐 인덱스가 사용될 수 있다. 이 때, 부호화기는 부호화 대상 블록과 동일한 참조 픽쳐 인덱스를 가지는 블록을, 참조 변환 블록으로 선택할 수 있다.
또한, 부호화 대상 블록의 인터 예측에는 움직임 정보 머지가 사용될 수 있다. 움직임 정보 머지가 사용되는 경우, 부호화기는 복원된 주변 블록으로부터 도출된 공간적(spatial) 움직임 정보 및 참조 픽쳐로부터 도출된 시간적(temporal) 움직임 정보 중 적어도 하나를 부호화 대상 블록의 움직임 정보로 이용할 수 있다. 여기서, 상기 공간적 움직임 정보 및 상기 시간적 움직임 정보는 머지 후보로 불릴 수 있다. 움직임 정보 머지에서는, 머지 후보 중에서 어떤 후보가 부호화 대상 블록의 움직임 정보로 사용되는지를 지시하는 머지 인덱스가 사용될 수 있다.
이 때, 부호화기는 부호화 대상 블록의 머지 대상이 되는 블록을 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다. 예를 들어, 부호화기는 부호화 대상 블록의 머지 인덱스가 지시하는 머지 후보에 해당되는 블록을, 부호화 대상 블록에 대한 참조 변환 블록으로 선택할 수 있다.

도 12는 부호화 대상 블록에 대한 스캐닝 맵 도출 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
상술한 바와 같이, 부호화기는 참조 변환 블록의 스캐닝 정보를 이용하여, 부호화 대상 블록에 대한 스캐닝 맵을 도출할 수 있다. 여기서, 스캐닝 정보에는 참조 변환 블록 내의 넌 제로 변환 계수의 위치 및/또는 선택된 참조 변환 블록의 변환 계수의 값 등이 있을 수 있다.
도 12를 참조하면, 부호화기는 참조 변환 블록 내의 각 변환 계수의 위치에 대한 변환 계수 플래그 값을 결정할 수 있다(S1210).
일례로, 넌 제로 변환 계수의 위치에는 1의 변환 계수 플래그 값이 할당될 수 있고, 넌 제로 변환 계수가 아닌 변환 계수의 위치에는 0의 변환 계수 플래그 값이 할당될 수 있다. 이 때, 상기 변환 계수 플래그는 참조 변환 블록 내의 변환 계수가 넌 제로 변환 계수인지 아닌지 여부를 지시할 수 있다.
또한, 참조 변환 블록과 부호화 대상 블록 간의 크기가 다른 경우, 부호화기는 참조 변환 블록을 부호화 대상 블록의 크기에 맞추어 스케일링할 수 있다. 이 때, 부호화기는 스케일링된 참조 변환 블록 내의 각 변환 계수의 위치에 대해, 변환 계수 플래그 값을 결정할 수 있다.
변환 계수 플래그 값 결정 방법의 구체적인 실시예는 후술하기로 한다.
다시 도 12를 참조하면, 부호화기는 부호화 대상 블록에 대한 변환 계수 카운터 맵을 도출할 수 있다(S1220).
부호화기는 참조 변환 블록 내의 각 변환 계수의 위치에 대한 플래그 카운터(counter) 값을 계산할 수 있고, 상기 계산된 플래그 카운터 값에 의해, 변환 계수 카운터 맵이 도출될 수 있다. 여기서, 플래그 카운터는 복수의 참조 변환 블록 내의 동일한 위치에 존재하는 변환 계수 플래그 값의 합을 의미할 수 있다. 즉, 플래그 카운터는 복수의 참조 변환 블록이 오버랩(overlap)되는 경우, 동일 위치에 존재하는 변환 계수 플래그 값의 합을 의미할 수 있다.
또한, 상술한 바와 같이 참조 변환 블록과 부호화 대상 블록 간의 크기가 서로 다른 경우가 발생할 수도 있다. 이 때, 부호화기는 스케일링된 참조 변환 블록의 변환 계수 플래그 값을 이용하여 변환 계수 카운터 맵을 도출할 수 있다.
변환 계수 카운터 맵 도출 방법의 구체적인 실시예는 후술하기로 한다.
다시 도 12를 참조하면, 부호화기는 부호화 대상 블록에 대한 스캐닝 맵을 생성할 수 있다(S1230).
부호화기는, 지그재그 스캔(zigzag scan) 순서를 기반으로, 카운터 맵 내의 각 변환 계수 위치에 플래그 카운터 값이 높은 순서대로 스캔 인덱스(scan index)를 할당함으로써, 스캐닝 맵(scanning map)을 생성할 수 있다. 이 때, 스캔 인덱스는 0부터 시작하여 인덱스 값이 낮은 순서대로 할당될 수 있다. 또한, 동일한 플래그 카운터 값을 갖는 복수의 위치가 존재하는 경우, 지그재그 스캔의 우선순위가 높은 변환 계수 위치에 낮은 스캔 인덱스 값이 할당될 수 있다.
플래그 카운터 값이 0인 복수의 변환 계수 위치에는 지그재그 스캔 순서를 기반으로 스캔 인덱스 값이 할당될 수 있다. 이 때, 스캔 인덱스는 지그재그 스캔 순서로 할당될 수 있으며, 인덱스 값이 낮은 순서대로 할당될 수 있다.
스캐닝 맵이 생성되면, 부호화기는 할당된 스캔 인덱스 값이 낮은 순서대로 부호화 대상 블록의 변환 계수를 스캐닝할 수 있다. 스캐닝 맵 생성 방법의 구체적인 실시예는 후술한다.

도 13은 본 발명에 따른 변환 계수 플래그 값 결정 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 13은 부호화 대상 블록(1310), 좌측 주변 블록(1320) 및 상단 주변 블록(1330)을 도시한다. 좌측 주변 블록(1320) 및 상단 주변 블록(1330)은 부호화기에 의해 선택된 참조 변환 블록을 나타낸다. 도 13의 실시예에서, 부호화 대상 블록(1310), 좌측 주변 블록(1320) 및 상단 주변 블록(1330)의 크기는 4x4라 가정한다.
상술한 바와 같이, 부호화기는 참조 변환 블록 내의 각 변환 계수의 위치에 대한 변환 계수 플래그 값을 결정할 수 있다. 일례로, 넌 제로 변환 계수의 위치에는 1의 변환 계수 플래그 값이 할당될 수 있고, 넌 제로 변환 계수가 아닌 변환 계수의 위치에는 0의 변환 계수 플래그 값이 할당될 수 있다. 이 때, 상기 변환 계수 플래그는 참조 변환 블록 내의 변환 계수가 넌 제로 변환 계수인지 아닌지 여부를 지시할 수 있다. 도 13의 실시예에서, 참조 변환 블록 내의 각 변환 계수의 위치에 할당된 숫자는 변환 계수 플래그 값의 실시예를 나타낸다.
도 13을 참조하면, 좌측 주변 블록(1320)의 경우, 래스터 스캔(raster scan) 순서상 첫 번째 위치, 두 번째 위치 및 네 번째 위치에 넌 제로 변환 계수가 존재한다. 따라서, 상기 넌 제로 변환 계수가 존재하는 위치에는 1의 변환 계수 플래그 값이 할당되고, 넌 제로 변환 계수가 존재하지 않는 위치에는 0의 변환 계수 플래그 값이 할당될 수 있다.
또한, 상단 주변 블록(1330)의 경우, 래스터 스캔 순서상 첫 번째 위치, 두 번째 위치 및 여섯 번째 위치에 넌 제로 변환 계수가 존재한다. 따라서, 상기 넌 제로 변환 계수가 존재하는 위치에는 1의 변환 계수 플래그 값이 할당되고, 넌 제로 변환 계수가 존재하지 않는 위치에는 0의 변환 계수 플래그 값이 할당될 수 있다.

도 14는 본 발명에 따른 변환 계수 플래그 값 결정 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
도 14는 부호화 대상 블록(1410), 상단 주변 블록(1420) 및 상단 주변 블록(1430)을 도시한다. 좌측 주변 블록(1420) 및 상단 주변 블록(1430)은 부호화기에 의해 선택된 참조 변환 블록을 나타낸다. 도 14의 실시예에서, 부호화 대상 블록(1410) 및 좌측 주변 블록(1420)의 크기는 4x4이고, 상단 주변 블록(1430)의 크기는 8x8이라 가정한다.
상술한 바와 같이, 참조 변환 블록과 부호화 대상 블록 간의 크기가 다른 경우, 부호화기는 참조 변환 블록을 부호화 대상 블록의 크기에 맞추어 스케일링할 수 있다. 이 때, 부호화기는 스케일링된 참조 변환 블록 내의 각 변환 계수의 위치에 대해, 변환 계수 플래그 값을 결정할 수 있다.
도 14를 참조하면, 참조 변환 블록 중에서 상단 주변 블록(1430)의 크기는 부호화 대상 블록(1410)의 크기보다 클 수 있다. 참조 변환 블록의 크기가 부호화 대상 블록의 크기보다 큰 경우, 부호화기는 참조 변환 블록을 부호화 대상 블록의 크기(4x4)에 맞추어 스케일링할 수 있다. 도 14의 1440은 스케일링된 참조 변환 블록을 도시한다.
부호화기는 스케일링된 참조 변환 블록(1440) 내의 각 변환 계수의 위치에 대해, 변환 계수 플래그 값을 결정할 수 있다. 이를 위해, 부호화기는 스케일링되기 전의 참조 변환 블록(1430) 내에 존재하는 변환 계수 플래그를 복수의 그룹으로 그룹화할 수 있다. 여기서, 상기 그룹 각각은 스케일링된 참조 변환 블록(1440) 내의 각 변환 계수 위치에 대응될 수 있다. 이 때, 하나의 특정 그룹에 포함된 변환 계수 플래그 중 적어도 하나의 값이 1이면, 이에 대응되는 변환 계수 위치(스케일링된 참조 변환 블록(1440) 내의 변환 계수 위치)에 1의 변환 계수 플래그 값이 할당될 수 있다. 또한, 하나의 특정 그룹에 포함된 변환 계수 플래그 값이 모두 0이면, 이에 대응되는 변환 계수 위치(스케일링된 참조 변환 블록(1440) 내의 변환 계수 위치)에 0의 변환 계수 플래그 값이 할당될 수 있다.
도 14의 실시예에서와 달리, 참조 변환 블록의 크기가 부호화 대상 블록의 크기보다 작을 수도 있다. 참조 변환 블록의 크기가 부호화 대상 블록의 크기보다 작은 경우, 부호화기는 참조 변환 블록을 부호화 대상 블록의 크기에 맞추어 스케일링할 수 있다. 여기서, 스케일링되기 전의 참조 변환 블록 내에 존재하는 각각의 변환 계수 플래그는, 스케일링된 참조 변환 블록 내에 존재하는 적어도 하나의 변환 계수 위치에 대응될 수 있다. 이 때, 부호화기는 스케일링되기 전의 참조 변환 블록 내 변환 계수 플래그를, 이에 대응하는 변환 계수 위치(스케일링된 참조 변환 블록 내의 변환 계수 위치)에 할당할 수 있다. 즉, 스케일링되기 전의 참조 변환 블록 내 변환 계수 플래그는, 스케일링되어 대응되는 위치에 할당될 수 있다.

도 15는 본 발명에 따른 변환 계수 카운터 맵 도출 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 15의 실시예에서, 부호화 대상 블록의 크기는 4x4이고, 참조 변환 블록 및 각 참조 변환 블록 내의 변환 계수 플래그 값들은 도 13의 실시예에서와 동일하게 결정된다고 가정한다. 즉, 부호화기는 좌측 주변 블록 및 상단 주변 블록을 참조 변환 블록으로 선택한다. 이 때, 좌측 주변 블록의 경우, 래스터 스캔 순서상 첫 번째 위치, 두 번째 위치 및 네 번째 위치에 1의 변환 계수 플래그 값이 할당되고, 상단 주변 블록의 경우, 래스터 스캔 순서상 첫 번째 위치, 두 번째 위치 및 여섯 번째 위치에 1의 변환 계수 플래그 값이 할당된다고 가정한다.
상술한 바와 같이, 부호화기는 참조 변환 블록 내의 각 변환 계수의 위치에 대한 플래그 카운터 값을 계산할 수 있고, 상기 계산된 플래그 카운터 값에 의해 변환 계수 카운터 맵이 도출될 수 있다. 여기서, 플래그 카운터는 복수의 참조 변환 블록 내의 동일한 위치에 존재하는 변환 계수 플래그 값의 합을 의미할 수 있다. 즉, 플래그 카운터는 복수의 참조 변환 블록이 오버랩(overlap)되는 경우, 동일 위치에 존재하는 변환 계수 플래그 값의 합을 의미할 수 있다.
도 15는 본 발명에 따라 도출된 변환 계수 카운터 맵의 실시예를 도시한다. 상술한 바와 같이 도 15의 실시예에서, 래스터 스캔 순서상 좌측 주변 블록에서 첫 번째 위치 및 두 번째 위치의 변환 계수 플래그 값은 1이고, 상단 주변 블록에서 첫 번째 위치 및 두 번째 위치의 변환 계수 플래그 값도 1이다. 따라서, 래스터 스캔 순서상 변환 계수 카운터 맵의 첫 번째 위치(1510) 및 두 번째 위치(1520)의 플래그 카운터 값은 2일 수 있다.
또한, 래스터 스캔 순서상 좌측 주변 블록에서 네 번째 위치의 변환 계수 플래그 값은 1이고, 상단 주변 블록에서 네 번째 위치의 변환 계수 플래그 값은 0이다. 따라서, 래스터 스캔 순서상 변환 계수 카운터 맵의 네 번째 위치(1530)의 플래그 카운터 값은 1일 수 있다. 또한, 래스터 스캔 순서상 좌측 주변 블록에서 여섯 번째 위치의 변환 계수 플래그 값은 0이고, 상단 주변 블록에서 여섯 번째 위치의 변환 계수 플래그 값은 1이다. 따라서, 래스터 스캔 순서상 변환 계수 카운터 맵의 여섯 번째 위치(1540)의 플래그 카운터 값은 1일 수 있다.
한편, 상술한 바와 같이 참조 변환 블록과 부호화 대상 블록 간의 크기가 서로 다른 경우가 발생할 수도 있다. 이 때, 부호화기는 스케일링된 참조 변환 블록의 변환 계수 플래그 값을 이용하여 변환 계수 카운터 맵을 도출할 수 있다.

도 16은 본 발명에 따른 스캐닝 맵 생성 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
상술한 바와 같이 부호화기는 지그재그 스캔 순서를 기반으로 카운터 맵 내의 각 변환 계수 위치에 플래그 카운터 값이 높은 순서대로 스캔 인덱스를 할당하여, 스캐닝 맵을 생성할 수 있다. 도 16의 실시예에서는 도 15에 도시된 카운터 맵이 스캐닝 맵 생성에 사용된다고 가정한다.
도 16의 1610은 지그재그 스캔 순서를 도시한다. 도 16의 1610에서 각 변환 계수의 위치에 표시된 숫자는, 지그재그 스캔의 스캔 인덱스 값을 나타낸다. 지그재그 스캔이 적용되는 경우에는, 상기 도 16의 1610에 표시된 스캔 인덱스 값이 낮은 순서대로 스캐닝이 수행될 수 있다.
도 16의 1620은 본 발명에 따라 도출된, 스캔 인덱스가 할당된 스캐닝 맵을 도시한다. 도 16의 1620에서 각 변환 계수의 위치에 표시된 숫자는 스캔 인덱스 값을 나타낸다.
도 16의 1620을 참조하면, 부호화기는 플래그 카운터 값이 높은 순서대로, 카운터 맵 내의 각 변환 계수 위치에 스캔 인덱스를 할당할 수 있다. 이 때, 스캔 인덱스는 0부터 시작하여 인덱스 값이 낮은 순서대로 할당될 수 있다. 또한, 동일한 플래그 카운터 값을 갖는 복수의 위치가 존재하는 경우, 지그재그 스캔의 우선순위가 높은 변환 계수 위치에 낮은 스캔 인덱스 값이 할당될 수 있다.
플래그 카운터 값이 0인 복수의 변환 계수 위치에는 지그재그 스캔 순서를 기반으로 스캔 인덱스 값이 할당될 수 있다. 이 때, 스캔 인덱스는 지그재그 스캔 순서로 카운터 맵 내의 각 변환 계수 위치에 할당될 수 있으며, 인덱스 값이 낮은 순서대로 할당될 수 있다.
스캐닝 맵이 생성되면, 부호화기는 할당된 스캔 인덱스 값이 낮은 순서대로 부호화 대상 블록의 변환 계수를 스캐닝할 수 있다.

도 17은 스캐닝 맵을 이용하여 부호화 대상 블록의 변환 계수를 스캐닝/역스캐닝하는 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 17의 1710은 부호화/복호화 대상 블록에 대한 2차원 변환 계수를 나타내고, 도 17의 1720은 상기 2차원 변환 계수에 대응하는 1차원 변환 계수 배열을 나타낸다. 도 17의 실시예에서는 스캐닝/역스캐닝을 위해, 도 16의 1620에 도시된 스캐닝 맵이 사용된다고 가정한다.
도 17을 참조하면, 부호화기는 스캐닝 맵에 할당된 스캔 인덱스 값이 낮은 순서대로 부호화 대상 블록의 변환 계수를 스캐닝할 수 있다. 이 때, 부호화 대상 블록의 2차원 변환 계수(1710)는 도 17의 1720에 도시된 1차원 변환 계수 배열의 순서대로 스캐닝되어 부호화될 수 있다.
예를 들어, 도 17에서, 스캔 인덱스 값 0은 변환 계수 4에 할당되므로, 변환 계수 4가 가장 먼저 스캐닝될 수 있다. 또한 다른 변환 계수들도 각 변환 계수에 할당된 스캔 인덱스 값이 낮은 순서대로 스캐닝될 수 있다.
복호화 과정에서 복호화기는, 도 17의 1720에 도시된 1차원 변환 계수 배열의 순서대로, 변환 계수에 대한 엔트로피 복호화를 수행할 수 있다. 변환 계수에 대한 엔트로피 복호화가 수행되면, 복호화기는 스캐닝 맵을 이용하여 변환 계수에 대한 역스캐닝을 수행함으로써, 2차원의 복호화 대상 블록에 변환 계수를 할당할 수 있다. 예를 들어, 복호화기는 스캐닝 맵에 할당된 스캔 인덱스 값이 낮은 순서대로 복호화 대상 블록에 대한 역스캐닝을 수행할 수 있다. 즉, 복호화기는 스캐닝 맵에 할당된 스캔 인덱스 값이 낮은 순서대로, 2차원의 복호화 대상 블록에 변환 계수를 할당할 수 있다.

상술한 실시예들에 의하면, 부호화기 및 복호화기는 부호화/복호화 대상 블록과 복원된 주변 블록 간의 유사성을 이용하여, 문맥 적응적으로 참조 변환 블록을 선택할 수 있다. 이 때, 부호화기 및 복호화기는 선택된 참조 변환 블록의 스캐닝 정보를 이용하여 부호화/복호화 대상 블록 내 변환 계수의 스캐닝/역스캐닝을 수행함으로써, 부호화 효율을 향상시킬 수 있다.

상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (14)

  1. 복호화 대상 블록에 대한 참조 변환 블록을 결정하는 단계;
    상기 참조 변환 블록의 스캐닝 정보를 이용하여 상기 복호화 대상 블록의 스캐닝 맵(scanning map)을 도출하는 단계; 및
    상기 도출된 스캐닝 맵을 이용하여 상기 복호화 대상 블록의 변환 계수(transform coefficient)에 대한 역 스캐닝을 수행하는 단계를 포함하는 변환 계수 스캔 방법.
  2. 청구항 1에 있어서, 상기 참조 변환 블록 결정 단계에서는,
    참조 픽쳐 내에서, 상기 복호화 대상 블록과 공간적으로 동일한 위치에 존재하는 블록을 상기 참조 변환 블록으로 결정하는 것을 특징으로 하는 변환 계수 스캔 방법.
  3. 청구항 1에 있어서, 상기 참조 변환 블록 결정 단계에서는,
    복원된 주변 블록(reconstructed neighboring block) 중에서 적어도 하나를 상기 참조 변환 블록으로 결정하고,
    상기 복원된 주변 블록은 상기 복호화 대상 블록의 상단에 인접한 상단 주변 블록, 상기 복호화 대상 블록의 좌측에 인접한 좌측 주변 블록, 상기 복호화 대상 블록의 우측 상단 코너에 위치한 우측 상단 코너 블록, 상기 복호화 대상 블록의 좌측 상단 코너에 위치한 좌측 상단 코너 블록 및 상기 복호화 대상 블록의 좌측 하단 코너에 위치한 좌측 하단 코너 블록을 포함하는 변환 계수 스캔 방법.
  4. 청구항 3에 있어서, 상기 참조 변환 블록 결정 단계에서는,
    상기 복호화 대상 블록과 동일한 크기를 갖는 블록을 참조 변환 블록으로 결정하는 것을 특징으로 하는 변환 계수 스캔 방법.
  5. 청구항 3에 있어서, 상기 참조 변환 블록 결정 단계에서는,
    상기 복호화 대상 블록과 동일한 깊이(depth) 값을 갖는 블록을 참조 변환 블록으로 결정하는 것을 특징으로 하는 변환 계수 스캔 방법.
  6. 청구항 3에 있어서, 상기 참조 변환 블록 결정 단계에서는,
    상기 복호화 대상 블록과 동일한 부호화 파라미터를 갖는 블록을 참조 변환 블록으로 결정하고,
    상기 부호화 파라미터는 인트라 예측 방향(intra prediction direction), 참조 픽쳐 리스트(reference picture list), 참조 픽쳐 인덱스(reference picture index), 움직임 벡터 예측기(motion vector predictor), 움직임 정보 머지(motion information merge) 사용 여부, 스킵 모드(skip mode) 사용 여부 및 변환(transform) 종류에 관한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 변환 계수 스캔 방법.
  7. 청구항 1에 있어서, 상기 스캐닝 맵 도출 단계는,
    상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 변환 계수 플래그(flag) 값을 결정하는 단계;
    상기 변환 계수 플래그를 기반으로 상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 플래그 카운터(flag counter) 값을 계산하여, 상기 복호화 대상 블록에 대한 카운터 맵(counter map)을 도출하는 단계; 및
    상기 카운터 맵 내의 각 변환 계수의 위치에, 상기 플래그 카운터 값이 높은 순서대로 스캔 인덱스(scan index)를 오름차순으로 하나씩 할당하여, 스캐닝 맵을 생성하는 단계를 더 포함하고,
    상기 변환 계수 플래그는 상기 참조 변환 블록 내의 각 변환 계수가 넌 제로 변환 계수(non-zero transform coefficient)인지 여부를 지시하는 플래그이고, 상기 플래그 카운터는 상기 참조 변환 블록이 모두 오버랩(overlap)되는 경우 동일한 위치에 존재하는 변환 계수 플래그 값의 합인 것을 특징으로 하는 변환 계수 스캔 방법.
  8. 청구항 7에 있어서,
    상기 참조 변환 블록의 크기가 상기 복호화 대상 블록의 크기와 다른 경우,
    상기 변환 계수 플래그 값 결정 단계는,
    상기 참조 변환 블록을 스케일링(scailing)하는 단계; 및
    상기 스케일링된 참조 변환 블록 내의 각 변환 계수의 위치에 대한, 변환 계수 플래그 값을 결정하는 단계를 더 포함하고,
    상기 카운터 맵 도출 단계에서는,
    상기 스케일링된 참조 변환 블록의 변환 계수 플래그를 기반으로 상기 카운터 맵을 도출하는 것을 특징으로 하는 변환 계수 스캔 방법.
  9. 청구항 7에 있어서, 상기 스캐닝 맵 생성 단계에서는,
    지그재그 스캔(zigzag scan) 순서를 기반으로 상기 스캔 인덱스를 할당하는 것을 특징으로 하는 변환 계수 스캔 방법.
  10. 복호화 대상 블록에 대한 참조 변환 블록을 결정하고, 상기 참조 변환 블록의 스캐닝 정보를 이용하여 상기 복호화 대상 블록의 스캐닝 맵을 도출하고, 상기 도출된 스캐닝 맵을 이용하여 상기 복호화 대상 블록의 변환 계수에 대한 역 스캐닝을 수행하는 역 스캐닝부; 및
    상기 역 스캐닝된 변환 계수를 기반으로 복원 영상을 생성하는 복원 영상 생성부를 포함하는 영상 복호화 장치.
  11. 복호화 대상 블록에 대한 참조 변환 블록을 결정하는 단계;
    상기 참조 변환 블록의 스캐닝 정보를 이용하여 상기 복호화 대상 블록의 스캐닝 맵(scanning map)을 도출하는 단계;
    상기 도출된 스캐닝 맵을 이용하여 상기 복호화 대상 블록의 변환 계수(transform coefficient)에 대한 역 스캐닝을 수행하는 단계; 및
    상기 역 스캐닝된 변환 계수를 기반으로 복원 영상을 생성하는 단계를 포함하는 영상 복호화 방법.
  12. 청구항 11에 있어서, 상기 스캐닝 맵 도출 단계는,
    상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 변환 계수 플래그(flag) 값을 결정하는 단계;
    상기 변환 계수 플래그를 기반으로 상기 참조 변환 블록 내의 각 변환 계수의 위치에 대한 플래그 카운터(flag counter) 값을 계산하여, 상기 복호화 대상 블록에 대한 카운터 맵(counter map)을 도출하는 단계; 및
    상기 카운터 맵 내의 각 변환 계수의 위치에, 상기 플래그 카운터 값이 높은 순서대로 스캔 인덱스(scan index)를 오름차순으로 하나씩 할당하여, 스캐닝 맵을 생성하는 단계를 더 포함하고,
    상기 변환 계수 플래그는 상기 참조 변환 블록 내의 각 변환 계수가 넌 제로 변환 계수(non-zero transform coefficient)인지 여부를 지시하는 플래그이고, 상기 플래그 카운터는 상기 참조 변환 블록이 모두 오버랩(overlap)되는 경우 동일한 위치에 존재하는 변환 계수 플래그 값의 합인 것을 특징으로 하는 영상 복호화 방법.
  13. 청구항 12에 있어서,
    상기 참조 변환 블록의 크기가 상기 복호화 대상 블록의 크기와 다른 경우,
    상기 변환 계수 플래그 값 결정 단계는,
    상기 참조 변환 블록을 스케일링(scailing)하는 단계; 및
    상기 스케일링된 참조 변환 블록 내의 각 변환 계수의 위치에 대한, 변환 계수 플래그 값을 결정하는 단계를 더 포함하고,
    상기 카운터 맵 도출 단계에서는,
    상기 스케일링된 참조 변환 블록의 변환 계수 플래그를 기반으로 상기 카운터 맵을 도출하는 것을 특징으로 하는 영상 복호화 방법.
  14. 청구항 12에 있어서, 상기 스캐닝 맵 생성 단계에서는,
    지그재그 스캔(zigzag scan) 순서를 기반으로 상기 스캔 인덱스를 할당하는 것을 특징으로 하는 영상 복호화 방법.
PCT/KR2012/001618 2011-03-03 2012-03-05 변환 계수 스캔 방법 및 그 장치 WO2012118358A2 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/001,204 US11102494B2 (en) 2011-03-03 2012-03-05 Method for scanning transform coefficient and device therefor
US17/377,057 US11606567B2 (en) 2011-03-03 2021-07-15 Method for scanning transform coefficient and device therefor
US18/108,342 US11812038B2 (en) 2011-03-03 2023-02-10 Method for scanning transform coefficient and device therefor
US18/374,527 US20240031584A1 (en) 2011-03-03 2023-09-28 Method for scanning transform coefficient and device therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2011-0019155 2011-03-03
KR20110019155 2011-03-03
KR1020120022496A KR20120100836A (ko) 2011-03-03 2012-03-05 변환 계수 스캔 방법 및 그 장치
KR10-2012-0022496 2012-03-05

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/001,204 A-371-Of-International US11102494B2 (en) 2011-03-03 2012-03-05 Method for scanning transform coefficient and device therefor
US17/377,057 Continuation US11606567B2 (en) 2011-03-03 2021-07-15 Method for scanning transform coefficient and device therefor

Publications (2)

Publication Number Publication Date
WO2012118358A2 true WO2012118358A2 (ko) 2012-09-07
WO2012118358A3 WO2012118358A3 (ko) 2012-12-20

Family

ID=46758401

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/001618 WO2012118358A2 (ko) 2011-03-03 2012-03-05 변환 계수 스캔 방법 및 그 장치

Country Status (2)

Country Link
US (2) US11812038B2 (ko)
WO (1) WO2012118358A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018044087A1 (ko) * 2016-08-31 2018-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN112655216A (zh) * 2018-07-06 2021-04-13 Lg电子株式会社 基于变换的图像编码方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170615A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Moving image decoding device and moving image decoding method
US20100002945A1 (en) * 2002-04-26 2010-01-07 Ntt Docomo, Inc Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program
KR20100035243A (ko) * 2008-09-26 2010-04-05 에스케이 텔레콤주식회사 양자화 계수 결정 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US20110038410A1 (en) * 2006-01-09 2011-02-17 Matthias Narroschke Adaptive coding of a prediction error in hybrid video coding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864637A (en) * 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
KR100468844B1 (ko) * 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
PT2123052E (pt) * 2007-01-18 2011-03-02 Fraunhofer Ges Forschung Corrente de dados de vídeo de qualidade escalonável
CN107105303B (zh) * 2010-11-04 2020-05-15 Ge视频压缩有限责任公司 解码装置和方法、编码装置和方法、存储和传输图像方法
EP2664146A1 (en) * 2011-01-14 2013-11-20 Motorola Mobility LLC Joint spatial and temporal block merge mode for hevc
US11102494B2 (en) 2011-03-03 2021-08-24 Electronics And Telecommunication Research Institute Method for scanning transform coefficient and device therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100002945A1 (en) * 2002-04-26 2010-01-07 Ntt Docomo, Inc Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program
US20110038410A1 (en) * 2006-01-09 2011-02-17 Matthias Narroschke Adaptive coding of a prediction error in hybrid video coding
US20080170615A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Moving image decoding device and moving image decoding method
KR20100035243A (ko) * 2008-09-26 2010-04-05 에스케이 텔레콤주식회사 양자화 계수 결정 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018044087A1 (ko) * 2016-08-31 2018-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11159812B2 (en) 2016-08-31 2021-10-26 Kt Corporation Method and apparatus for processing video signal
US11700389B2 (en) 2016-08-31 2023-07-11 Kt Corporation Method and apparatus for processing video signal
CN112655216A (zh) * 2018-07-06 2021-04-13 Lg电子株式会社 基于变换的图像编码方法及装置
CN112655216B (zh) * 2018-07-06 2023-10-24 Lg电子株式会社 基于变换的图像编码方法及装置
US11973963B2 (en) 2018-07-06 2024-04-30 Lg Electronics Inc. Transform-based image coding method and device

Also Published As

Publication number Publication date
US20240031584A1 (en) 2024-01-25
US11812038B2 (en) 2023-11-07
WO2012118358A3 (ko) 2012-12-20
US20230199200A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US11606567B2 (en) Method for scanning transform coefficient and device therefor
JP7387841B2 (ja) 映像復号化方法
KR20200133320A (ko) 인트라 예측 모드 부호화/복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR20200026863A (ko) 인트라 예측 방법 및 그 장치
KR102175472B1 (ko) 인트라 예측 방법 및 그 장치
JP2015180081A (ja) 映像復号化方法及び装置
KR20130005233A (ko) 영상 정보 부호화 방법 및 복호화 방법
US11812038B2 (en) Method for scanning transform coefficient and device therefor
WO2013005967A2 (ko) 영상 정보 부호화 방법 및 복호화 방법
KR20120034044A (ko) 영상 변환 부호화/복호화 방법 및 장치
WO2013048033A1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
WO2012121575A2 (ko) 인트라 예측 방법 및 그 장치
JP6323185B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR20120100839A (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: 12752389

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 14001204

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12752389

Country of ref document: EP

Kind code of ref document: A2