WO2012173315A1 - 인트라 예측 모드 부호화/복호화 방법 및 장치 - Google Patents

인트라 예측 모드 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2012173315A1
WO2012173315A1 PCT/KR2011/009358 KR2011009358W WO2012173315A1 WO 2012173315 A1 WO2012173315 A1 WO 2012173315A1 KR 2011009358 W KR2011009358 W KR 2011009358W WO 2012173315 A1 WO2012173315 A1 WO 2012173315A1
Authority
WO
WIPO (PCT)
Prior art keywords
index
current
mpm
mode
prediction mode
Prior art date
Application number
PCT/KR2011/009358
Other languages
English (en)
French (fr)
Inventor
박준영
박승욱
임재현
김정선
최영희
전병문
전용준
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020137033462A priority Critical patent/KR101876173B1/ko
Priority to US14/126,916 priority patent/US9762900B2/en
Publication of WO2012173315A1 publication Critical patent/WO2012173315A1/ko

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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present invention relates to image processing, and more particularly, to an intra prediction mode encoding / decoding method and apparatus.
  • the demand for high resolution and high quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various fields.
  • the higher the resolution and the higher quality of the image data the more information or bit rate is transmitted than the existing image data. Therefore, the image data can be transmitted by using a medium such as a conventional wired / wireless broadband line or by using a conventional storage medium.
  • the transmission cost and the storage cost are increased. High efficiency image compression techniques can be used to solve these problems.
  • Image compression technology includes an inter prediction technique for predicting pixel values included in a current picture from before and / or after a current picture, and for predicting pixel values included in a current picture by using pixel information in the current picture.
  • 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 an intra prediction mode encoding method and apparatus capable of improving image encoding / decoding efficiency.
  • Another technical problem of the present invention is to provide an intra prediction mode decoding method and apparatus for improving image encoding / decoding efficiency.
  • One embodiment of the present invention is an image decoding method for performing prediction on a current block in an intra mode.
  • the method may include generating a current table index using a code number and MPM index information and applying an index mapping table to the current table index to derive a current prediction mode.
  • the MPM index information includes the number of MPM candidates and a value of the index of the MPM candidate, wherein the index of the MPM candidate is an index assigned to the MPM candidate in the index mapping table.
  • the current prediction mode is an intra prediction mode of a current prediction unit, and the current table index is an index assigned to the current prediction mode in the index mapping table.
  • the method may further comprise converting the codeword received from the encoder to the code number using an inverse VLC table.
  • the number of entries in the index mapping table may be equal to the number of intra prediction modes that the current prediction unit may have.
  • the index value of the MPM candidate may be derived by applying an inverse index mapping table to the mode value of the MPM candidate.
  • the number of MPM candidates may be a predetermined fixed value.
  • the predetermined fixed value may be 2, 3 or 4.
  • the method may further comprise updating the index mapping table based on the frequency of occurrence of the current table index.
  • the index mapping table may be updated for a prediction unit in which one of the MPM candidates is selected as an intra prediction mode.
  • the device generates a current table index by using a code number and MPM index information, and derives a current prediction mode by applying an index mapping table to the current table index.
  • An entropy decoder and a predictor configured to perform intra prediction on the current block using the derived current prediction mode, wherein the MPM index information includes the number of MPM candidates and the value of the index of the MPM candidates.
  • the index of the MPM candidate is an index assigned to the MPM candidate in the index mapping table
  • the current prediction mode is an intra prediction mode of the current prediction unit
  • the current table index is the current prediction in the index mapping table. The index assigned to the mode.
  • the method may include generating a current table index using a code number and MPM index information and applying an index mapping table to the current table index to derive a current prediction mode.
  • the MPM index information includes the number of MPM candidates and a value of the index of the MPM candidate, wherein the index of the MPM candidate is an index assigned to the MPM candidate in the index mapping table.
  • the current prediction mode is an intra prediction mode of a current prediction unit, and the current table index is an index assigned to the current prediction mode in the index mapping table.
  • the method may further comprise converting the codeword received from the encoder to the code number using an inverse VLC table.
  • the number of entries in the index mapping table may be equal to the number of intra prediction modes that the current prediction unit may have.
  • the index value of the MPM candidate may be derived by applying an inverse index mapping table to the mode value of the MPM candidate.
  • the number of MPM candidates may be a predetermined fixed value.
  • the predetermined fixed value may be 2, 3 or 4.
  • the method may further comprise updating the index mapping table based on the frequency of occurrence of the current table index.
  • the index mapping table may be updated for a prediction unit in which one of the MPM candidates is selected as an intra prediction mode.
  • image encoding / decoding efficiency can be improved.
  • image decoding method and apparatus According to the image decoding method and apparatus according to the present invention, image encoding / decoding efficiency can be improved.
  • image encoding / decoding efficiency may be improved.
  • image encoding / decoding efficiency can be improved.
  • FIG. 1 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram schematically illustrating a prediction unit according to an embodiment of the present invention.
  • FIG. 3 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a conceptual diagram schematically illustrating a prediction unit of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 5 is a conceptual diagram schematically showing an embodiment of an MPM derivation method.
  • FIG. 6 is a conceptual diagram schematically illustrating an embodiment of a remaining mode used for transmission of intra prediction mode information.
  • FIG. 7 is a conceptual diagram schematically illustrating a configuration of an index mapping table used for entropy decoding.
  • FIG. 8 is a conceptual diagram illustrating an embodiment of an intra prediction mode encoding method using MPM.
  • FIG. 9 is a conceptual diagram illustrating an embodiment of an intra prediction mode decoding method using MPM.
  • FIG. 10 is a conceptual diagram illustrating another embodiment of an intra prediction mode encoding method using MPM.
  • 11 is a flowchart illustrating an embodiment of a method of converting a current table index into a code number.
  • FIG. 12 is a conceptual diagram illustrating another embodiment of an intra prediction mode decoding method using MPM.
  • FIG. 13 is a flow diagram illustrating one embodiment of a method for converting a code number into a current table index.
  • FIG. 14 is a flowchart schematically illustrating an intra prediction mode encoding method according to an embodiment of the present invention.
  • 15 is a flowchart schematically illustrating an intra prediction mode decoding method according to an embodiment of the present invention.
  • each of the components in the drawings described in the present invention are shown independently for the convenience of the description of the different characteristic functions in the image encoding / decoding apparatus, each component is implemented by separate hardware or separate software It does not mean to be.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • 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 within the scope of the present invention.
  • the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a realigner 125, and an entropy encoder 130. , An inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
  • the picture dividing unit 105 may divide the input picture into at least one processing unit.
  • the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU).
  • the predictor 110 may include an inter predictor that performs inter prediction and an intra predictor that performs intra prediction.
  • the prediction unit 110 may generate a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105.
  • the processing unit of the picture in the prediction unit 110 may be a coding unit, a transformation unit, or a prediction unit.
  • the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the details are determined.
  • the method of prediction and the prediction mode are determined in units of prediction units, and the performance of prediction may be performed in units of transform units.
  • the residual value (residual block) between the generated prediction block and the original block may be input to the converter 115.
  • prediction mode information and motion vector information used for prediction may be encoded by the entropy encoder 130 together with the residual value and transmitted to the decoder.
  • the transformer 115 performs a transform on the residual block in transform units and generates transform coefficients.
  • the transform unit in the transform unit 115 may be a transform unit and may have a quad tree structure. In this case, the size of the transform unit may be determined within a range of a predetermined maximum and minimum size.
  • the transform unit 115 may transform the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the quantization unit 120 may generate quantization coefficients by quantizing the residual values transformed by the transformation unit 115.
  • the value calculated by the quantization unit 120 may be provided to the inverse quantization unit 135 and the reordering unit 125.
  • the reordering unit 125 rearranges the quantization coefficients provided from the quantization unit 120. By rearranging the quantization coefficients, the efficiency of encoding in the entropy encoder 130 may be increased.
  • the reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method.
  • the reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
  • the entropy encoder 130 may perform entropy encoding on the quantized coefficients rearranged by the reordering unit 125.
  • the entropy encoder 130 may include quantization coefficient information, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, and motion vector of the coding unit received from the reordering unit 125 and the prediction unit 110.
  • Various information such as information, reference picture information, interpolation information of a block, and filtering information can be encoded.
  • Entropy encoding may use encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoder 130 may store a table for performing entropy coding, such as a variable length coding (VLC) table, and the entropy encoder 130. ) May perform entropy encoding using the stored VLC table.
  • VLC variable length coding
  • the entropy encoder 130 converts a symbol into a bin and binarizes the symbol, and then performs an arithmetic encoding on the bin according to the occurrence probability of the bin to generate a bitstream. You can also create
  • a low value index and a corresponding short codeword are assigned to a symbol having a high probability of occurrence, and a high value index is assigned to a symbol having a low probability of occurrence.
  • Corresponding long codewords may be assigned. Accordingly, the bit amount of the symbols to be encoded may be reduced, and image compression performance may be improved by entropy encoding.
  • the inverse quantization unit 135 may inverse quantize the quantized values in the quantization unit 120, and the inverse transformer 140 may inversely transform the inverse quantized values in the inverse quantization unit 135.
  • the residual value generated by the inverse quantization unit 135 and the inverse transformer 140 may be combined with the prediction block predicted by the prediction unit 110 to generate a reconstructed block.
  • the filter unit 145 may apply a deblocking filter and / or an adaptive loop filter (ALF) to the reconstructed picture.
  • ALF adaptive loop filter
  • the deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture.
  • the adaptive loop filter may perform filtering based on a value obtained by comparing a reconstructed image with an original image after the block is filtered through a deblocking filter. ALF may be performed only when high efficiency is applied.
  • the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
  • the memory 150 may store the reconstructed block or the picture calculated by the filter unit 145.
  • the reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction.
  • a coding unit is a unit in which coding / decoding of a picture is performed and may be divided with a depth based on a quad tree structure.
  • the coding unit may have various sizes, such as 64x64, 32x32, 16x16, and 8x8.
  • the encoder may transmit information about a largest coding unit (LCU) and a minimum coding unit (SCU) to the decoder.
  • Information (depth information) regarding the number of splittable times together with information about the maximum coding unit and / or the minimum coding unit may be transmitted to the decoder.
  • Information on whether the coding unit is split based on the quad tree structure may be transmitted from the encoder to the decoder through flag information such as a split flag.
  • One coding unit may be divided into a plurality of prediction units.
  • a prediction mode may be determined in units of prediction units, and prediction may be performed in units of prediction units.
  • a prediction mode may be determined in units of prediction units, and intra prediction may be performed in units of transform units.
  • the predictor 200 may include an inter predictor 210 and an intra predictor 220.
  • the inter prediction unit 210 may generate a prediction block by performing prediction based on information of at least one picture of a previous picture or a subsequent picture of the current picture.
  • the intra predictor 220 may generate a prediction block by performing prediction based on pixel information in the current picture.
  • the inter prediction unit 210 may select a reference picture with respect to the prediction unit and select a reference block having the same size as the prediction unit in integer pixel sample units. Subsequently, the inter prediction unit 210 is most similar to the current prediction unit in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit, so that the residual signal is minimized and the size of the motion vector to be encoded is also minimized. Can generate a predictive block.
  • the motion vector may be expressed in units of integer pixels or less, for example, in units of 1/4 pixels for luma pixels and in units of 1/8 pixels for chroma pixels.
  • Information about the index and the motion vector of the reference picture selected by the inter prediction unit 210 may be encoded and transmitted to the decoder.
  • the image decoder 300 includes an entropy decoder 310, a reordering unit 315, an inverse quantizer 320, an inverse transformer 325, a predictor 330, and a filter 335. And a memory 340.
  • the input bit stream may be decoded according to a procedure in which image information is processed by the image encoder.
  • the entropy decoding unit 310 may perform entropy decoding on the input bitstream, and the entropy decoding method is similar to the entropy encoding method described above.
  • VLC variable length coding
  • the entropy decoder 310 may also be identical to the VLC table used in the encoder. Entropy decoding can be performed by implementing a VLC table. Even when CABAC is used to perform entropy encoding in the image encoder, the entropy decoder 310 may perform entropy decoding using CABAC correspondingly.
  • a low value index and a corresponding short codeword are assigned to a symbol having a high probability of occurrence, and a high value index is assigned to a symbol having a low probability of occurrence.
  • Corresponding long codewords may be assigned. Accordingly, the bit amount of the symbols to be encoded may be reduced, and image compression performance may be improved by entropy encoding.
  • Information for generating a prediction block among the information decoded by the entropy decoder 310 may be provided to the predictor 330, and a residual value of which entropy decoding is performed by the entropy decoder may be input to the reordering unit 315.
  • the reordering unit 315 may reorder the bit stream deentropy decoded by the entropy decoding unit 310 based on a method of reordering the image encoder.
  • the reordering unit 315 may reorder the coefficients expressed in the form of a one-dimensional vector by restoring the coefficients in the form of a two-dimensional block.
  • the reordering unit 315 may be realigned by receiving information related to coefficient scanning performed by the encoder and performing reverse scanning based on the scanning order performed by the corresponding encoder.
  • the inverse quantization unit 320 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
  • the inverse transform unit 325 may perform inverse DCT and / or inverse DST on DCT and DST performed by the transform unit of the encoder with respect to the quantization result performed by the image encoder.
  • the inverse transform may be performed based on a transmission unit determined by the encoder or a division unit of an image.
  • the DCT and / or DST may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size and a prediction direction of the current block, and the inverse transformer 325 of the decoder is performed by the transformer of the encoder.
  • Inverse transformation may be performed based on the transformation information.
  • the prediction unit 330 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 310 and the previously decoded block and / or picture information provided by the memory 340.
  • the reconstruction block may be generated using the prediction block generated by the predictor 330 and the residual block provided by the inverse transform unit 325.
  • the reconstructed block and / or picture may be provided to the filter unit 335.
  • the filter unit 335 may apply deblocking filtering, sample adaptive offset (SAO), and / or adaptive loop filtering (ALF) to the reconstructed block and / or picture.
  • deblocking filtering sample adaptive offset (SAO)
  • ALF adaptive loop filtering
  • the memory 340 may store the reconstructed picture or block to use as a reference picture or reference block, and may provide the reconstructed picture to the output unit.
  • FIG. 4 is a conceptual diagram schematically illustrating a prediction unit of an image decoding apparatus according to an embodiment of the present invention.
  • the predictor 400 may include an intra predictor 410 and an inter predictor 420.
  • the intra prediction unit 410 may generate a prediction block based on pixel information in the current picture when the prediction mode for the corresponding prediction unit is an intra prediction mode (intra prediction mode).
  • the inter prediction unit 420 may include information necessary for inter prediction of the current prediction unit provided by the image encoder, eg, a motion vector, Inter-prediction of the current prediction unit may be performed based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit by using information about the reference picture index.
  • the motion information may be derived in response to the skip flag, the merge flag, and the like of the coding unit received from the encoder.
  • a "picture” or a “picture” can represent the same meaning as a “picture” according to the configuration or expression of the invention, the “picture” may be described as a “picture” or a “picture”.
  • inter prediction and inter prediction have the same meaning
  • intra prediction and intra prediction have the same meaning.
  • the intra predictor may generate a prediction block for the current block by performing prediction based on pixel information in the current picture.
  • the intra prediction mode there may be a vertical, horizontal, DC, angular mode, etc. according to the position and prediction method of reference pixels used for pixel value prediction of the current block.
  • the prediction In the vertical mode, the prediction may be performed in the vertical direction using the pixel values of the adjacent blocks, and in the horizontal mode, the prediction may be performed in the horizontal direction using the pixel values of the adjacent blocks.
  • the prediction block In the DC mode, the prediction block may be generated by an average of pixel values in the current block.
  • the angular mode prediction may be performed according to a predetermined angle and / or direction for each mode.
  • the intra prediction mode information may be transmitted as a value indicating the prediction mode itself, a method of transmitting the intra prediction mode information using the mode value predicted for the intra prediction mode may be provided to increase the transmission efficiency.
  • MPM Most Probable Mode
  • the current prediction unit means a unit on which the current prediction is performed.
  • A is a neighboring prediction unit adjacent to the top of the current prediction unit and B is a neighboring prediction unit adjacent to the left of the current prediction unit.
  • the prediction unit A, the prediction unit B, and the current prediction unit may be the same size as shown in the embodiment of FIG. 5, but may have different sizes.
  • the encoder and the decoder may construct the MPM candidate list using the prediction mode (mode A) of the prediction unit A and the prediction mode (mode B) of the prediction unit B.
  • mode A and mode B are the same, the number of MPM candidates may be one, and when the mode A and mode B are different, the number of MPM candidates may be two.
  • the number of MPM candidates is not limited to one or two as in the embodiment of FIG. 5, and may be three or more.
  • the encoder and decoder may use a fixed number of MPM candidates.
  • the number of entries of the MPM candidate list that is, the number of MPM candidates in the MPM candidate list may always be a fixed value.
  • the number of fixed MPM candidates may be two, and may be three or four or more.
  • the remaining MPM candidates may be one.
  • the DC mode, the planar mode, or other predetermined prediction mode may be filled.
  • the intra prediction mode of the current prediction unit may be the same prediction mode as any one of the MPM candidates.
  • Information on whether any of the MPM candidates have the same prediction mode as the current prediction unit may be transmitted from the encoder to the decoder through a predetermined flag.
  • the flag may be prev_intra_luma_pred_flag, and when the flag is 1, there may be a candidate having the same prediction mode as the current prediction unit among MPM candidates.
  • the encoder may not transmit additional additional information to the decoder.
  • the decoder cannot know which prediction mode of the MPM candidates is the same as the prediction mode of the MPM candidates. Therefore, at this time, the encoder may transmit an index indicating to the decoder the prediction mode of the current prediction unit is the same as the prediction mode of which MPM candidate.
  • the decoder may determine the prediction mode of the current prediction unit using the index. For example, the index may be mpm_idx.
  • Intra prediction mode information of the current unit may be transmitted to the decoder using a remaining mode.
  • the encoder and the decoder may use not only MPM but also Most Probable Remaining Mode (MPRM) in performing intra prediction mode encoding / decoding.
  • MPRM Most Probable Remaining Mode
  • the encoder and the decoder may generate an MPRM list including the MPRM candidates using intra prediction modes except the MPM candidates.
  • the coder may provide information on whether or not the MPRM candidates have the same prediction mode as the current prediction unit through a predetermined flag. Can be sent to the decoder.
  • the flag may be mprm_pred_flag.
  • the encoder may transmit an index to the decoder indicating the prediction mode of which MPRM candidate the prediction mode of the current prediction unit is the same.
  • the index may be mprm_idx.
  • the encoder may transmit the intra prediction mode information of the current unit to the decoder using a remaining mode.
  • Embodiments described below may be applied not only when the MPM is used but also when the MPM and the MPRM are used together.
  • FIG. 6 is a conceptual diagram schematically illustrating an embodiment of a remaining mode used for transmission of intra prediction mode information.
  • the prediction mode of the MPM is 1 and the number of MPM candidates is one.
  • the prediction mode of the current prediction unit is referred to as the current prediction mode
  • the mode value of the current prediction mode is referred to as a current mode value.
  • the encoder may transmit information on the current prediction mode among the prediction modes except for the MPM candidates to the decoder. At this time, the encoder transmits prediction mode information using the current mode value if the mode values of all the MPM candidates are larger than the current mode value, and if the MPM candidate having a mode value smaller than the current mode value exists, the encoder is smaller than the current mode value.
  • the prediction mode information may be transmitted using a value obtained by subtracting the number of MPMs having the mode value from the current mode value. In this case, the prediction mode in which the number of MPMs having a mode value smaller than the current mode value is subtracted from the current mode value may be called a remaining mode.
  • 610 of FIG. 6 indicates an intra prediction mode that a current prediction unit may have. Since the prediction mode value of the MPM is 1, the prediction mode that the current prediction unit may have may be one of the remaining prediction modes except for the prediction mode having the mode value of 1, as in 620 of FIG. 6. At this time, for example, when the current mode value is 2, the mode value of the current remaining mode may be 1 as in 630 of FIG. In addition, when the current mode value is 0, the mode value of the current remaining mode may be 0.
  • the decoder may recognize that there is no candidate having the same prediction mode as the current prediction unit among MPM candidates through flag information such as prev_intra_luma_pred_flag and the like.
  • the decoder may obtain the actual prediction mode value of the current prediction unit by using the remaining mode and the MPM.
  • the mode values of the MPMs are mode1, mode2,... , modeN is assumed.
  • modeX it is assumed that the smaller the X value, the smaller mode value is assigned.
  • X is from 1 to N-1, if the mode value of the remaining mode is greater than or equal to modeX-(X-1) and less than mode (X + 1) -X, then X is added to the mode value of the remaining mode.
  • the value may be the current prediction mode.
  • the mode value of the remaining mode is greater than or equal to modeN-(N-1)
  • the value of N added to the mode value of the remaining mode may be the current prediction mode.
  • the mode value of the remaining mode received by the decoder may be 1. Since the mode value of the MPM is 1 and the number of MPM candidates is 1, the decoder can obtain the current mode value 2 by adding 1 to the mode value of the remaining mode.
  • FIG. 7 is a conceptual diagram schematically illustrating a configuration of an index mapping table used for entropy decoding.
  • Entropy encoding and decoding may be used for encoding and decoding information requiring high coding efficiency, such as DCT coefficients, motion vectors, and prediction modes. Symbols input during entropy encoding and decoding may be converted into consecutive codewords, and the length of the codeword may be variable.
  • LCEC Low Complexity Entropy Coding
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • a short codeword may be allocated to a symbol having a high occurrence probability, and a long codeword may be allocated to a symbol having a low occurrence probability. Accordingly, the bit amount of the symbols to be encoded and decoded may be reduced, and image compression performance may be improved by entropy encoding and decoding.
  • a predetermined VLC table may be used, and the VLC table may be configured based on the occurrence probability of each symbol.
  • the entropy decoding process is schematically described from the decoder's point of view.
  • the decoder may obtain a code number from the codeword in the input bit stream using the corresponding VLC table.
  • the code number may also be called a codeword index.
  • the decoder may obtain a value of a syntax element by using a code number and an index mapping table corresponding thereto.
  • the index mapping table may also be called a sorting table.
  • the index mapping table may be used to adaptively adjust the value of a syntax element assigned to each code number according to the frequency of occurrence. In an embodiment, when the currently input code number is A and A is greater than 0, the probability of occurrence of a symbol corresponding to code number A increases, so that the value of the syntax element corresponding to code number A and the code number A-1 The values of the syntax elements corresponding to may be swapped with each other. That is, the index mapping table may be updated according to the currently input code number.
  • FIG. 7 illustrates an embodiment of an index mapping table indicating a mapping relationship between code numbers and corresponding intra prediction modes.
  • the maximum value of the code number may be predetermined to a predetermined value.
  • the encoder may store an inverse index mapping table corresponding to the index mapping table.
  • the intra prediction mode of the current prediction unit may be zero.
  • the prediction mode 0 assigned to the code number 3 and the prediction mode 9 assigned to the code number 2 may be swapped with each other.
  • prediction mode 9 may be mapped to code number 3 and prediction mode 0 may be mapped to code number 2.
  • FIG. 8 is a conceptual diagram illustrating an embodiment of an intra prediction mode encoding method using MPM.
  • FIG. 8 illustrates an embodiment in which no candidate having the same prediction mode as the current prediction unit is present among the MPM candidates, for example, when prev_intra_luma_pred_flag is zero.
  • the encoder may derive a remaining mode corresponding to the current prediction mode from the current prediction mode information and the prediction mode information of the MPM candidate.
  • the current prediction mode information may include a mode value of the current prediction mode
  • the prediction mode information of the MPM candidate may include the number of MPM candidates and a mode value of each MPM candidate.
  • the remaining mode corresponding to the current prediction mode is called a current remaining mode.
  • the current remaining mode may be two. Since the mode value of the MPM candidate is smaller than the mode value of the current prediction mode, the current remaining mode may be a value obtained by subtracting 1 from the mode value of the current prediction mode. As another example, if the number of MPM candidates is 2, the mode values of the MPM candidates are 1 and 2, and the current prediction mode is 3, the current remaining mode may be 1. Since the mode values of the two MPM candidates are smaller than the mode value of the current prediction mode, the current remaining mode may be a value obtained by subtracting 2 from the mode value of the current prediction mode.
  • the encoder may generate a code number using a current remaining mode and an inverse index mapping table corresponding to the current remaining mode.
  • the code number may also be referred to as a codeword index and may indicate a ranking of a current remaining mode in the inverse index mapping table. Therefore, the code number in this case can also be called a table index.
  • the number of prediction modes that the current prediction unit may have may vary depending on the size of the current prediction unit.
  • the number of remaining modes that the current prediction unit can have varies according to the number of MPM candidates. Since the number of entries in the inverse index mapping table is the same as the number of remaining modes that the current prediction unit can have, the inverse index mapping table used may also change when the number of remaining modes that the current prediction unit can have varies. have. Therefore, in the above-described embodiment, the encoder may store a plurality of inverse index mapping tables. The encoder may select and use one inverse index mapping table among the predetermined plurality of inverse index mapping tables from information on the size of the current prediction unit and the number of MPM candidates.
  • the encoder may convert the code number into a codeword using the VLC table, and the codeword may be transmitted to the decoder.
  • FIG. 9 is a conceptual diagram illustrating an embodiment of an intra prediction mode decoding method using MPM.
  • FIG. 9 illustrates an embodiment in which no candidate having the same prediction mode as the current prediction unit exists among the MPM candidates, for example, when prev_intra_luma_pred_flag is zero. In this case, the remaining mode for the current prediction unit may be parsed.
  • the decoder may convert a codeword received from an encoder into a code number using an inverse VLC table.
  • the code number may also be referred to as a codeword index and may indicate a ranking of a current remaining mode in an index mapping table used for decoding. Therefore, the code number in this case can also be called a table index.
  • the decoder may generate a remaining mode by using an index mapping table corresponding to the code number and the current code number.
  • the decoder may store a plurality of index mapping tables.
  • the decoder may select and use one index mapping table among the predetermined plurality of index mapping tables from information on the size of the current prediction unit and the number of MPM candidates.
  • the number of entries in the index mapping table may be equal to the number of remaining modes that the current prediction unit may have.
  • the decoder may derive the current prediction mode from the current remaining mode information and the prediction mode information of the MPM candidate.
  • the current remaining mode information may include a mode value of the current remaining mode
  • the prediction mode information of the MPM candidate may include the number of MPM candidates and a mode value of each MPM candidate.
  • the current prediction mode may be three. Since the mode value of the MPM candidate is the same as the mode value of the current remaining mode, the current prediction mode may be 1 plus the mode value of the current remaining mode.
  • the mode values of the MPM candidates are 1 and 2, and the current remaining mode is 1, the mode value of the current remaining mode is 2 to 1, which is the larger of the mode values of the MPM candidates. (Number of MPM candidates-1) is equal to the subtracted value. Therefore, the decoder can obtain the mode value 3 of the current prediction mode by adding 2 (the number of MPM candidates) to the mode value of the current remaining mode.
  • mapping table the inverse index mapping table and the index mapping table are collectively called a mapping table.
  • the inverse index mapping table may be directly applied to the remaining mode.
  • the direct remaining mode may be generated when the index mapping table is applied to the code number. Therefore, the number of entries in the mapping table is equal to the number of remaining modes that the current prediction unit may have. Since the number of remaining modes may vary depending on the number of MPM candidates, in the above-described embodiment of FIG. 8, the encoder may have a disadvantage of using different inverse index mapping tables according to the number of MPM candidates. In the embodiment of FIG. 9, the decoder may have a disadvantage that different index mapping tables are used according to the number of MPM candidates. However, when a fixed number of MPM candidates are always used, the above-described problem may not occur.
  • the remaining mode may not be transmitted when there is a candidate having the same prediction mode as the current prediction unit among the MPM candidates.
  • the mapping table since the mapping table may not be updated, the distribution of the intra prediction mode may not be sufficiently reflected in the mapping table.
  • the mapping table is updated according to the current remaining mode, not the actual prediction mode of the current prediction unit. Therefore, since the mapping table reflects the distribution of the remaining mode instead of the actual intra prediction mode, the characteristics of the current contents may not be directly reflected in the mapping table.
  • an intra prediction mode encoding / decoding method may be provided to more directly reflect the actual prediction mode of the current prediction unit and the characteristics of the content.
  • FIG. 10 is a conceptual diagram illustrating another embodiment of an intra prediction mode encoding method using MPM.
  • FIG. 10 illustrates an embodiment in which no candidate having the same prediction mode as the current prediction unit exists among the MPM candidates, for example, when prev_intra_luma_pred_flag is zero.
  • the encoder may generate a table index for the current prediction mode by applying an inverse index mapping table directly to the prediction mode of the current prediction unit.
  • the table index in this case may indicate the ranking of the current prediction mode in the inverse index mapping table.
  • the number of entries in the inverse index mapping table may be equal to the number of prediction modes that the current prediction unit may have, not the number of remaining modes.
  • the table index for the current prediction mode is called a current table index.
  • the current table index may mean an index assigned to the current prediction mode in the inverse index mapping table.
  • the index of the MPM candidate means an index assigned to the MPM candidate in the inverse index mapping table, and may also be referred to as an MPM index.
  • the encoder may derive the code number from the current table index information and the index information of the MPM candidate.
  • the current table index information may include a value of a current table index
  • the index information of an MPM candidate may include a number of MPM candidates and an index value of an MPM candidate.
  • the code number may also be called a codeword index. Details of the conversion process from the current table index to the code number will be described later.
  • the encoder may convert the code number into a codeword using the VLC table, and the codeword may be transmitted to the decoder.
  • FIG. 11 is a flowchart illustrating an embodiment of a method of converting a current table index into a code number. In the embodiment of FIG. 11, it is assumed that the maximum number of MPM candidates is two.
  • the encoder may determine whether the number of MPM candidates is one (S1110).
  • the encoder may determine whether the table index of the current prediction mode is smaller than the index of the MPM candidates (S1120). If the current table index is smaller than the index of the MPM candidate, the code number may have the same value as the current table index (S1130). If the current table index is not smaller than the index of the MPM candidate, the code number may have a value obtained by subtracting 1 from the value of the current table index (S1140).
  • the encoder may determine whether the table index of the current prediction mode is smaller than the smaller of the indexes of the MPM candidates (S1150). If the current table index is smaller than the smaller of the MPM candidate indexes, the code number may have the same value as the current table index (S1160).
  • the encoder may determine whether the table index of the current prediction mode is smaller than the larger of the indexes of the MPM candidate (S1170). If the current table index is smaller than the larger of the MPM candidates, the code number may have a value of 1 subtracted from the value of the current table index (S1180). If the current table index is not smaller than the larger of the MPM candidates, the code number may have a value of 2 subtracted from the value of the current table index (S1190).
  • the code number may be 2. Since the index value of the MPM candidate is smaller than the value of the current table index, the code number may be 1 minus the current table index value. As another example, if the number of MPM candidates is 2, the index values of the MPM candidates are 1 and 2, and the current table index value is 3, the code number may be 1. Since the index values of the two MPM candidates are both smaller than the value of the current table index, the code number may be 2 minus the current table index value.
  • the conversion process from the current table index to the code number described above is similar to the conversion process from the current prediction mode to the remaining mode in the embodiment of FIG. 8.
  • 12 is a conceptual diagram illustrating another embodiment of an intra prediction mode decoding method using MPM. 12 illustrates an embodiment in which no candidate having the same prediction mode as the current prediction unit is present among the MPM candidates, for example, when prev_intra_luma_pred_flag is zero.
  • a decoder may convert a codeword received from an encoder into a code number using an inverse VLC table.
  • the code number may also be called a codeword index.
  • the decoder may generate a current table index from the code number and the index information of the MPM candidate.
  • the index information of the MPM candidate may include the number of MPM candidates and the value of the index of the MPM candidate.
  • the index of the MPM candidate means an index assigned to the MPM candidate in the index mapping table used for decoding.
  • the current table index may indicate a ranking of the current prediction mode in the index mapping table used for decoding.
  • the current table index may mean an index assigned to the current prediction mode in the index mapping table.
  • the current prediction mode may be output. Details of the conversion process from the code number to the current table index will be described later.
  • the decoder may derive the current prediction mode using the current table index and the index mapping table.
  • the index mapping table may not be directly applied to the code number, but may be applied to the current table index created using the index information of the MPM candidate.
  • the number of entries in the index mapping table may be equal to the number of intra prediction modes that the current prediction unit may have, not the number of remaining modes.
  • the decoder In order to perform the conversion from the above code number to the current table index, the decoder needs to find the index value of the MPM candidate.
  • an input may be one of the indexes including the current table index
  • an output may be one of intra prediction modes including the current prediction mode. Therefore, the decoder can find the index value of the MPM by inputting one possible index value into the index mapping table and searching the index having the mode value of the MPM as an output.
  • the decoder may store an inverse index mapping table.
  • an input may be one of intra prediction modes, and an output may be one of indexes including the current table index.
  • the decoder can directly apply the inverse index mapping table to the mode value of the MPM to obtain the index value of the MPM without additional calculation.
  • FIG. 13 is a flow diagram illustrating one embodiment of a method for converting a code number into a current table index. In the embodiment of FIG. 13, it is assumed that the maximum number of MPM candidates is two.
  • the decoder may determine whether the number of MPM candidates is one (S1310).
  • the decoder may determine whether the current code number is smaller than the index of the MPM candidates (S1320). If the code number is smaller than the index of the MPM candidate, the current table index may have the same value as the code number (S1330). If the code number is not smaller than the index of the MPM candidate, the current table index may have a value in which 1 is added to the value of the code number (S1340).
  • the decoder may determine whether the current code number is smaller than the smaller of the indices of the MPM candidates (S1350). If the code number is smaller than the smaller of the indexes of the MPM candidate, the current table index may have the same value as the code number (S1360).
  • the decoder may determine whether the current code number is smaller than the subtracted 1 from the larger of the indexes of the MPM candidate (S1370). If the code number is smaller than the subtracted 1 from the larger ones of the MPM candidates, the current table index may have a value of 1 added to the value of the code number (S1380). If the code number is not smaller than the subtracted 1 from the larger ones of the MPM candidates, the current table index may have a value of 2 added to the value of the code number (S1390).
  • the current table index may be three. Since the current code number is not smaller than the index value of the MPM candidate, the current table index may have a value obtained by adding 1 to the current code number.
  • the conversion process from the above code number to the current table index is similar to the conversion process from the remaining mode to the current prediction mode in the embodiment of FIG. 9.
  • the code number may be represented as preCodeNum
  • the current table index may be represented as codeNum.
  • the decoder can derive preCodeNum from the codeword using the inverse VLC table, and can derive codeNum from preCodeNum using the number of MPMs and the index value of the MPM.
  • the decoder can derive the current prediction mode from codeNum through the index mapping table.
  • the index value of the MPM corresponding to the mode value of the MPM in the index mapping table is codeNum-Ori_Prev1.
  • codeNum-Ori_Prev1 is input to the index mapping table, the mode value of the MPM may be output.
  • preCodeNum is smaller than codeNum-Ori_Prev1, the preCodeNum value may be assigned to codeNum as it is. If preCodeNum is greater than or equal to codeNum-Ori_Prev1, a value of preCodeNum + 1 may be assigned to codeNum.
  • index values of the MPM corresponding to the mode values of the MPM in the index mapping table are codeNum-Ori_Prev1 and codeNum-Ori_Prev2.
  • mode values of the MPM may be output.
  • codeNum-Ori_Prev1 is smaller than codeNum-Ori_Prev2.
  • preCodeNum is smaller than codeNum-Ori_Prev1, the preCodeNum value may be assigned to codeNum as it is. If preCodeNum is greater than or equal to codeNum-Ori_Prev1 and less than codeNum-Ori_Prev2-1, a value of preCodeNum + 1 may be assigned to codeNum. If preCodeNum is greater than or equal to codeNum-Ori_Prev2 ⁇ 1, a value of preCodeNum + 2 may be assigned to codeNum.
  • index values of the MPMs corresponding to the mode values of the MPMs in the index mapping table are codeNum-Ori_Prev1, codeNum-Ori_Prev2,... , assume codeNum-Ori_PrevN. At this time, codeNum-Ori_Prev1 and codeNum-Ori_Prev2,.
  • mode values of the MPM may be output. It is assumed that codeNum-Ori_PrevX is sorted in ascending order of MPM index values assigned thereto. In other words, it is assumed that the larger the value of X, the larger MPM index values are allocated.
  • preCodeNum is smaller than codeNum-Ori_Prev1, the preCodeNum value may be assigned to codeNum as it is. If preCodeNum is greater than or equal to codeNum-Ori_Prev1 and less than codeNum-Ori_Prev2-1, a value of preCodeNum + 1 may be assigned to codeNum. When preCodeNum is greater than or equal to codeNum-Ori_Prev2-1 and less than codeNum-Ori_Prev3-2, a value of preCodeNum + 2 may be assigned to codeNum.
  • preCodeNum when X has a value from 1 to N-1, preCodeNum is greater than or equal to codeNum-Ori_PrevX-(X-1) and codeNum-Ori_Prev (X + 1)-X. If small, the value of preCodeNum + X can be assigned to codeNum. Also, when X is N, when preCodeNum is greater than or equal to codeNum-Ori_PrevN-(N-1), a value of preCodeNum + N may be assigned to codeNum.
  • Inputs for the processing may include a position of a current block in the current picture, a size of a current prediction unit, an intra prediction mode of a previously reconstructed neighboring block, an index mapping table, an inverse index mapping table, and the like.
  • the output may be the current intra prediction mode, updated index mapping table, and updated inverse index mapping table for the current prediction unit. This can be represented as follows.
  • intraModeTable may represent an index mapping table and invIntraModeTable may represent an inverse index mapping table.
  • the decoder may derive the neighboring blocks used for MPM candidate derivation and derive the intra prediction mode of each derived neighboring block. This can be represented as follows.
  • the decoder may derive the MPM candidates using the intra prediction mode of the neighboring blocks, which may be represented as follows.
  • candIntraPredModeN may represent an MPM candidate.
  • the decoder may derive the MPM candidate list and the number of MPM candidates included in the list using the derived MPM candidates. This can be represented as follows.
  • candModeList may represent an MPM candidate list and NumMPMCand may represent the number of MPM candidates.
  • the decoder may derive the index value of the MPM according to the number of prediction modes that the current prediction unit may have.
  • the decoder may use an inverse index mapping table to derive an index value of the MPM, and construct an MPM index list using the derived index values of the MPM. This can be represented as follows.
  • intraPredModeNum represents the number of prediction modes that a current prediction unit can have.
  • the condition for intraPredModeNum is not limited to 3 and / or 17, for example, 18 instead of 3 and 18 may be used instead of 3, respectively.
  • the decoder may derive the current prediction mode from the MPM.
  • the decoder may derive the current table index from the code number.
  • the decoder may derive the current prediction mode by applying the index mapping table to the derived current table index.
  • a separate index mapping table may not be applied. This may be represented as follows, where rem_intra_luma_pred_mode may correspond to the code number and rank_intra_luma_pred_mode may correspond to the current table index.
  • condition for intraPredModeNum is not limited to 3, but 4 may be used instead of 3, for example.
  • the decoder may update the index mapping table and the reverse index mapping table. This can be represented as follows.
  • condition for intraPredModeNum is not limited to 3, but 4 may be used instead of 3, for example.
  • the parsing process for deriving the code number can be expressed as follows.
  • the portions marked with strikethrough are portions related to the use of the index mapping table and represent portions not used in the parsing process.
  • the decoder derives the current table index from the code number and then applies the index mapping table to the current table index, so that the index mapping table may not be used in the parsing process.
  • the index mapping table and the inverse index mapping table may be used.
  • an embodiment of the source code for the index mapping table and the reverse index mapping table may be represented as follows.
  • g_auiIntraModeTableD17 represents an index mapping table
  • g_auiIntraModeTableE17 represents an inverse index mapping table.
  • the numbers included in each list represent the mode values of the prediction mode.
  • the prediction modes included in each list may be assigned an index of the index mapping table.
  • an index of N-1 may be allocated to the N th prediction mode in the list.
  • index 2 may be allocated to the prediction mode 9.
  • an embodiment of the source code for the index mapping table and the reverse index mapping table can be represented as follows.
  • g_auiIntraModeTableD34 represents an index mapping table
  • g_auiIntraModeTableE34 represents an inverse index mapping table.
  • the numbers included in each list represent the mode values of the prediction mode.
  • the prediction modes included in each list may be assigned an index of the index mapping table.
  • an index of N-1 may be allocated to the N th prediction mode in the list.
  • index 3 may be allocated to the prediction mode 30.
  • the VLC table may also be used.
  • the VLC table may be configured using a Huffman code.
  • an embodiment of the source code for the VLC table can be represented as follows.
  • the upper list may be used when the number of MPM candidates is 1, and the lower list may be used when the number of MPM candidates is 2.
  • the first component in each list in each huff17_2 and lengthHuff17_2 may be a component for indicating the MPM flag.
  • the MPM flag may be a flag indicating whether a candidate having the same prediction mode as the current prediction unit exists among the MPM candidates, for example, may be prev_intra_luma_pred_flag. When the MPM flag value is 1, information about a remaining mode may not be transmitted.
  • the second to last components in each list in each huff17_2 and lengthHuff17_2 may indicate that the MPM flag value is 0, and may indicate what value the code number to be transmitted has. In this case, since the renumbering mode of the current prediction unit may be reflected in the code number, it may also be referred to as a rank of the remaining mode.
  • components in huff17_2 may represent a Huffman binary number represented by a decimal number
  • components in lengthHuff17_2 may represent a Huffman binary length.
  • the length of the Huffman binary number may indicate a length including a bit (1 bit) for indicating the MPM flag.
  • the encoder and / or decoder may refer to the N + 2th component in each list in huff17_2 and lengthHuff17_2. This is because the first components in the list are components for indicating the MPM flag, and the second components are components for indicating the case where the code number is zero.
  • the encoder and / or decoder may refer to the third component in the top list in huff17_2 and lengthHuff17_2. Since the third component is 5 in huff17_2 and the third component in lengthHuff17_2 is 4, the codeword corresponding to code number 1 may be '0101'. In this case, '0' located in the first bit may indicate the MPM flag, and '101' located in the remaining three bits may indicate a code number, that is, a rank of the remaining mode.
  • an embodiment of the source code for the VLC table may be represented as follows.
  • components in huff34_2 may represent a Huffman binary number represented by a decimal number
  • components in lengthHuff34_2 may represent a Huffman binary length.
  • the encoder and the decoder may use a fixed number of MPM candidates. Assuming that the number of prediction modes that a current prediction unit can have is 18 and the number of MPM candidates is always fixed at 2, an embodiment of the source code for the VLC table may be represented as follows.
  • const UInt huff17_2 [18] ⁇ 1, 7, 4, 1, 12, 10, 7, 6, 5, 4, 1, 0, 26, 23, 22, 55, 54, 0 ⁇ ;
  • huff17_2 and lengthHuff17_2 may each have only one list.
  • the method of mapping a codeword and a code number through the code is the same as the method described above.
  • the encoder and / or decoder may refer to the third component in the lists in huff17_2 and lengthHuff17_2. Since the third component in huff17_2, that is, huff17_2 [2] is 4 and the third component in lengthHuff17_2, that is, lengthHuff17_2 [2], is 4, the codeword corresponding to code number 1 may be '0100'. In this case, '0' located in the first bit may represent the MPM flag, and '100' located in the remaining three bits may represent a code number, that is, a rank of the remaining mode.
  • an embodiment of the source code for the VLC table may be represented as follows.
  • const UInt huff34_2 [35] ⁇ 1, 1, 4, 0, 12, 3, 28, 21, 5, 4, 63, 60, 58, 53, 47, 46, 45, 41, 40, 125, 124, 123, 119, 118, 111, 110, 109, 108, 105, 104, 89, 88, 245, 244, 0 ⁇ ;
  • huff17_2 and lengthHuff17_2 may each have only one list.
  • the method of mapping a codeword and a code number through the code is the same as the method described above.
  • the inverse index mapping table may be directly applied to the actual prediction mode of the current prediction unit.
  • the actual prediction mode of the direct current prediction unit is applied. Can be obtained.
  • the mapping table may be updated according to the actual prediction mode of the current prediction unit. Therefore, the mapping table may reflect the distribution of the actual intra prediction mode rather than the remaining mode.
  • the number of entries in the index mapping table and the reverse index mapping table is equal to the number of remaining modes that the current prediction unit may have. Therefore, in this case, different mapping tables should be used according to the number of MPMs.
  • the number of entries of the index mapping table and the reverse index mapping table is equal to the number of actual prediction modes that the current prediction unit may have. Since the number of actual prediction modes that a current prediction unit can have is constant regardless of the number of MPMs, the encoder and the decoder do not need to use different mapping tables according to the number of MPMs. Therefore, memory can be saved and the characteristics of the contents can be reflected more quickly in the mapping table, so that the amount of bits transmitted from the encoder to the decoder can be reduced. However, as described above in the embodiment of FIG. 12, the decoder may use a separate inverse index mapping table to derive the index value of the MPM.
  • Table 1 below is an embodiment schematically showing the number of mapping tables required by the decoder and the number of entries in each mapping table according to the decoding method of the intra prediction mode.
  • the number of MPM candidates may be one or two
  • the number of prediction modes that a current prediction unit may have is assumed to be 17 or 34.
  • the number of prediction modes that a current prediction unit may have is not limited to the following embodiments and may vary depending on implementation and needs. For example, the number of prediction modes may be 18 instead of 17 and 35 instead of 34.
  • the number of entries in each mapping table in Table 1 may also vary.
  • two index mapping tables may be required in the intra prediction mode decoding method according to the embodiment of FIG. 9.
  • one of the two index mapping tables may have 15 entries and the other may have 16 entries.
  • two index mapping tables may be required in the intra prediction mode decoding method according to the embodiment of FIG. 9.
  • one of the two index mapping tables may have 32 entries, and the other may have 33 entries.
  • the mapping tables may have 17 entries each.
  • the decoder can derive the index value of the MPM without using a separate inverse index mapping table.
  • each mapping table may have 34 entries.
  • only one index mapping table having 34 entries may be required in the intra prediction mode decoding method according to the embodiment of FIG. 12. This is because the decoder can derive the index value of the MPM without using a separate inverse index mapping table.
  • the encoder and the decoder may use a fixed number of MPM candidates. If the number of MPM candidates is fixed, the number of remaining modes may also be fixed. In this case, only one index mapping table may be used in the intra prediction mode decoding method according to the above-described embodiment of FIG. 9 for each of 17 and 34 prediction modes that the current prediction unit may have. have.
  • the remaining mode is decoded for the prediction unit in which one of the MPM candidates is selected as the current prediction mode. May not be sent to the device.
  • the mapping table used in the embodiments of FIGS. 10 to 13 is based on the actual prediction mode of the current prediction unit rather than the remaining mode, when one of the MPM candidates is selected as the current prediction mode, that is, It may be updated even if it is not transmitted.
  • the encoder and the decoder may allow the distribution of the intra prediction modes to be reflected in the mapping table more quickly.
  • the distribution of code number values may vary depending on whether the DC mode is included in the MPM candidate list.
  • the occurrence frequency of the DC mode or the planar mode may increase. Therefore, in this case, code number values reflecting the remaining mode except for the MPM candidates may be more evenly distributed than when the DC mode is not included in the MPM candidate list. That is, when the DC mode is included in the MPM candidate list, the frequency of occurrence of a small code number may be relatively low as compared with that otherwise.
  • the code number binarization method may be applied differently, thereby improving the coding efficiency.
  • the codeword may be determined such that a relatively large number of bits are allocated to a small code number, as compared with the case where the DC mode is included in the MPM candidate list.
  • FIG. 14 is a flowchart schematically illustrating an intra prediction mode encoding method according to an embodiment of the present invention.
  • the encoder obtains a current table index from the prediction mode of the current prediction unit (S1410).
  • the encoder may generate a current table index for the current prediction mode by applying an inverse index mapping table directly to the prediction mode of the current prediction unit.
  • the number of entries in the inverse index mapping table may be equal to the number of intra prediction modes that the current prediction unit may have. Embodiments of the inverse index mapping table used for intra prediction mode encoding have been described above.
  • the encoder derives the code number from the current table index (S1420).
  • the encoder may derive the code number from the current table index information and the index information of the MPM candidate.
  • the current table index information may include a value of a current table index
  • the index information of an MPM candidate may include a number of MPM candidates and an index value of an MPM candidate.
  • the code number may also be called a codeword index. Specific embodiments of the conversion process from the current table index to the code number may be as described above in the embodiments of FIGS. 10 and 11.
  • the encoder may convert the code number into a codeword using the VLC table, and the codeword may be transmitted to the decoder (S1430).
  • Embodiments of the VLC table used for intra prediction mode encoding have been described above.
  • 15 is a flowchart schematically illustrating an intra prediction mode decoding method according to an embodiment of the present invention.
  • a decoder may convert a codeword received from an encoder into a code number using an inverse VLC table (S1510).
  • the code number may also be called a codeword index.
  • the decoder derives a current table index from the code number (S1520).
  • the decoder may generate the current table index using the code number and the index information of the MPM candidate.
  • the index information of the MPM candidate may include the number of MPM candidates and the value of the index of the MPM candidate.
  • the decoder may use an inverse index mapping table to derive the index of the MPM candidate. Specific embodiments of the conversion process from the code number to the current table index may be as described above with reference to FIGS. 12 and 13.
  • the decoder obtains an intra prediction mode for the current prediction unit from the current table index (S1530).
  • the decoder may derive a current prediction mode by applying an index mapping table to the current table index.
  • the index mapping table may not be directly applied to the code number, and may be applied to the current table index generated using the index information of the MPM candidate.
  • the number of entries in the index mapping table may be equal to the number of intra prediction modes that the current prediction unit may have. Embodiments of the index mapping table used for intra prediction mode encoding have been described above.
  • the encoder and the decoder may use CABAC as well as CAVLC for entropy encoding / decoding.
  • CABAC CABAC entropy encoding method
  • the encoder may binarize a symbol, convert the symbol into a bin, and generate a bitstream by performing arithmetic coding on the bin according to the occurrence probability of the bin.
  • the decoder may also perform entropy decoding using CABAC correspondingly.
  • the above-described intra prediction mode encoding / decoding method according to the embodiments of FIGS. 10 to 16 may be performed not only when entropy encoding / decoding is performed using CAVLC but also when entropy encoding / decoding is performed using CABAC. Can be applied.
  • the encoder and the decoder may perform CABAC entropy encoding / decoding by using a mapping table having the same form as the mapping table described above in the embodiments of FIGS. 10 to 16, and the mapping table is not a remaining mode.
  • the distribution of the intra prediction mode may be reflected.

Abstract

인트라 모드에서 예측을 수행하는 영상 복호화 방법이 제공된다. 본 발명에 따른 영상 복호화 방법은 코드 넘버 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스를 생성하는 단계 및 상기 현재 테이블 인덱스에 인덱스 매핑 테이블을 적용하여 현재 예측 모드를 도출하는 단계를 포함한다. 본 발명에 따르면, 영상 부호화/복호화 효율이 향상될 수 있다.

Description

인트라 예측 모드 부호화/복호화 방법 및 장치
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 인트라 예측 모드 부호화/복호화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. 이러한 문제들을 해결하기 위해서 고효율의 영상 압축 기술들이 이용될 수 있다.
영상 압축 기술에는 현재 픽쳐의 이전 및/또는 이후 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터 예측(inter prediction) 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라 예측(intra prediction) 기술, 출현 빈도가 높은 값에 짧은 코드워드를 할당하고 출현 빈도가 낮은 값에 긴 코드워드를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재한다. 이러한 영상 압축 기술을 이용해 영상 데이터가 효과적으로 압축되어 전송 또는 저장될 수 있다.
본 발명의 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 인트라 예측 모드 부호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 인트라 예측 모드 복호화 방법 및 장치를 제공함에 있다.
본 발명의 일 실시 형태는 인트라(intra) 모드에서 현재 블록에 대한 예측을 수행하는 영상 복호화 방법이다. 상기 방법은 코드 넘버(code number) 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스(current table index)를 생성하는 단계 및 상기 현재 테이블 인덱스에 인덱스 매핑 테이블(index mapping table)을 적용하여 현재 예측 모드를 도출하는 단계를 포함하고, 상기 MPM 인덱스 정보는 MPM 후보(MPM candidate)의 개수 및 상기 MPM 후보의 인덱스의 값을 포함하고, 상기 MPM 후보의 인덱스는 상기 인덱스 매핑 테이블에서 상기 MPM 후보에 할당되는 인덱스이고, 상기 현재 예측 모드는 현재 예측 유닛의 인트라 예측 모드이고, 상기 현재 테이블 인덱스는 상기 인덱스 매핑 테이블에서 상기 현재 예측 모드에 할당되는 인덱스이다.
상기 방법은 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드(codeword)를 상기 코드 넘버로 변환(convert)하는 단계를 추가로 포함할 수 있다.
상기 인덱스 매핑 테이블 내 엔트리(entry)의 개수는 상기 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일할 수 있다.
상기 MPM 후보의 인덱스 값은 상기 MPM 후보의 모드값에 역 인덱스 매핑 테이블(inverse index mapping table)을 적용함으로써 도출될 수 있다.
상기 MPM 후보의 개수는 소정의 고정된 값일 수 있다.
상기 소정의 고정된 값은 2, 3 또는 4일 수 있다.
상기 방법은 상기 현재 테이블 인덱스의 발생 빈도에 기초하여 상기 인덱스 매핑 테이블을 업데이트하는 단계를 추가로 포함할 수 있다.
상기 인덱스 매핑 테이블은, 상기 MPM 후보 중 하나가 인트라 예측 모드로 선택되는 예측 유닛에 대해서도 업데이트될 수 있다.
본 발명의 다른 실시 형태는 영상 복호화 장치이다. 상기 장치는 코드 넘버(code number) 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스(current table index)를 생성하고, 상기 현재 테이블 인덱스에 인덱스 매핑 테이블(index mapping table)을 적용하여 현재 예측 모드를 도출하는 엔트로피 복호화부 및 상기 도출된 현재 예측 모드를 이용하여 현재 블록에 대한 인트라 예측을 수행하는 예측부를 포함하고, 상기 MPM 인덱스 정보는 MPM 후보(MPM candidate)의 개수 및 상기 MPM 후보의 인덱스의 값을 포함하고, 상기 MPM 후보의 인덱스는 상기 인덱스 매핑 테이블에서 상기 MPM 후보에 할당되는 인덱스이고, 상기 현재 예측 모드는 상기 현재 예측 유닛의 인트라 예측 모드이고, 상기 현재 테이블 인덱스는 상기 인덱스 매핑 테이블에서 상기 현재 예측 모드에 할당되는 인덱스이다.
본 발명의 또 다른 실시 형태는 인트라 예측 모드 정보를 엔트로피 복호화하기 위한 인트라 예측 모드 복호화 방법이다. 상기 방법은 코드 넘버(code number) 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스(current table index)를 생성하는 단계 및 상기 현재 테이블 인덱스에 인덱스 매핑 테이블(index mapping table)을 적용하여 현재 예측 모드를 도출하는 단계를 포함하고, 상기 MPM 인덱스 정보는 MPM 후보(MPM candidate)의 개수 및 상기 MPM 후보의 인덱스의 값을 포함하고, 상기 MPM 후보의 인덱스는 상기 인덱스 매핑 테이블에서 상기 MPM 후보에 할당되는 인덱스이고, 상기 현재 예측 모드는 현재 예측 유닛의 인트라 예측 모드이고, 상기 현재 테이블 인덱스는 상기 인덱스 매핑 테이블에서 상기 현재 예측 모드에 할당되는 인덱스이다.
상기 방법은 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드(codeword)를 상기 코드 넘버로 변환(convert)하는 단계를 추가로 포함할 수 있다.
상기 인덱스 매핑 테이블 내 엔트리(entry)의 개수는 상기 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일할 수 있다.
상기 MPM 후보의 인덱스 값은 상기 MPM 후보의 모드값에 역 인덱스 매핑 테이블(inverse index mapping table)을 적용함으로써 도출될 수 있다.
상기 MPM 후보의 개수는 소정의 고정된 값일 수 있다.
상기 소정의 고정된 값은 2, 3 또는 4일 수 있다.
상기 방법은 상기 현재 테이블 인덱스의 발생 빈도에 기초하여 상기 인덱스 매핑 테이블을 업데이트하는 단계를 추가로 포함할 수 있다.
상기 인덱스 매핑 테이블은, 상기 MPM 후보 중 하나가 인트라 예측 모드로 선택되는 예측 유닛에 대해서도 업데이트될 수 있다.
본 발명에 따른 영상 부호화 방법 및 장치에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 영상 복호화 방법 및 장치에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 인트라 예측 모드 부호화 방법 및 장치에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 인트라 예측 모드 복호화 방법 및 장치에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 개략적으로 나타낸 개념도이다.
도 5는 MPM 도출 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 6은 인트라 예측 모드 정보의 전송에 사용되는 리메이닝 모드의 일 실시예를 개략적으로 나타내는 개념도이다.
도 7은 엔트로피 복호화에 사용되는 인덱스 매핑 테이블의 구성을 개략적으로 나타내는 개념도이다.
도 8은 MPM을 이용한 인트라 예측 모드 부호화 방법의 일 실시예를 나타내는 개념도이다.
도 9는 MPM을 이용한 인트라 예측 모드 복호화 방법의 일 실시예를 나타내는 개념도이다.
도 10은 MPM을 이용한 인트라 예측 모드 부호화 방법의 다른 실시예를 나타내는 개념도이다.
도 11은 현재 테이블 인덱스를 코드 넘버로 변환하는 방법의 일 실시예를 나타내는 흐름도이다.
도 12는 MPM을 이용한 인트라 예측 모드 복호화 방법의 다른 실시예를 나타내는 개념도이다.
도 13은 코드 넘버를 현재 테이블 인덱스로 변환하는 방법의 일 실시예를 나타내는 흐름도이다.
도 14는 본 발명의 실시예에 따른 인트라 예측 모드 부호화 방법을 개략적으로 나타내는 흐름도이다.
도 15는 본 발명의 실시예에 따른 인트라 예측 모드 복호화 방법을 개략적으로 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 부호화/복호화 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리 범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 부호화 장치(100)는 픽쳐 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 포함한다.
픽쳐 분할부(105)는 입력된 픽쳐를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛(Prediction Unit: PU)일 수도 있고, 변환 유닛(Transform Unit: TU)일 수도 있으며, 부호화 유닛(Coding Unit: CU)일 수도 있다.
예측부(110)는 후술하는 바와 같이, 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함할 수 있다. 예측부(110)는, 픽쳐 분할부(105)에서의 픽쳐의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성할 수 있다. 예측부(110)에서 픽쳐의 처리 단위는 부호화 유닛일 수도 있고, 변환 유닛일 수도 있고, 예측 유닛일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 예측 유닛 단위로 결정되고, 예측의 수행은 변환 유닛 단위로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록: residual block)은 변환부(115)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터(motion vector) 정보 등은 잔차값과 함께 엔트로피 부호화부(130)에서 부호화되어 복호화기에 전달될 수 있다.
변환부(115)는 변환 단위로 잔차 블록에 대한 변환(transform)을 수행하고 변환 계수를 생성한다. 변환부(115)에서의 변환 단위는 변환 유닛일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(115)는 잔차 블록을 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 잔차값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공될 수 있다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 부호화부(130)에서의 부호화의 효율을 높일 수 있다. 재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 재정렬부(125)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 부호화부(130)에서의 엔트로피 부호화 효율을 높일 수도 있다.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 부호화 유닛의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 유닛 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽쳐 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다.
엔트로피 부호화에는 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법들이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(130)에는 가변길이 부호화(VLC: Variable Length Coding, 이하 ‘VLC’라 함.) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(130)는 저장된 VLC 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 또한 다른 예로서 CABAC 엔트로피 부호화 방법에서, 엔트로피 부호화부(130)는 심볼을 이진화하여 빈(bin)으로 변환한 후 빈의 발생 확률에 따라 빈에 대한 산술 부호화(arithmetic encoding)를 수행하여 비트스트림을 생성할 수도 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 낮은 값의 인덱스(index) 및 이에 대응하는 짧은 코드워드(codeword)가 할당되고, 낮은 발생 확률을 갖는 심볼에 높은 값의 인덱스 및 이에 대응하는 긴 코드워드가 할당될 수 있다. 따라서 부호화 대상 심볼들에 대한 비트량이 감소될 수 있고, 엔트로피 부호화에 의해 영상 압축 성능이 향상될 수 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환할 수 있다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
필터부(145)는 디블록킹 필터 및/또는 ALF(Adaptive Loop Filter)를 복원된 픽쳐에 적용할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는, 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽쳐는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.
부호화 유닛(Coding Unit: CU)은 픽쳐의 부호화/복호화가 수행되는 단위로서, 쿼드 트리 구조(Quad Tree Structure)를 기반으로 깊이(Depth)를 가지며 분할될 수 있다. 부호화 유닛은 64x64, 32x32, 16x16, 8x8 등의 여러 크기를 가질 수 있다.
부호화기는 최대 부호화 유닛(Largest Coding Unit: LCU)과 최소 부호화 유닛(Smallest Coding Unit: SCU)에 관한 정보를 복호화기에 전송할 수도 있다. 최대 부호화 유닛 및/또는 최소 부호화 유닛에 관한 정보와 함께 분할 가능한 회수에 관한 정보(깊이 정보)가 복호화기에 전송될 수 있다. 부호화 유닛이 쿼드 트리 구조를 기반으로 분할되는지에 관한 정보는 분할 플래그(Split Flag)와 같은 플래그 정보를 통해 부호화기로부터 복호화기로 전달될 수 있다.
하나의 부호화 유닛은 복수 개의 예측 유닛으로 분할될 수 있다. 인트라 예측이 수행되는 경우에는 예측 유닛 단위로 예측 모드가 결정되어 예측 유닛 단위로 예측이 수행될 수 있다. 이 때, 예측 유닛 단위로 예측 모드가 정해지고 변환 유닛 단위로 인트라 예측이 수행될 수도 있다.

도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다. 도 2를 참조하면 예측부(200)는 인터 예측부(210) 및 인트라 예측부(220) 를 포함할 수 있다.
인터 예측부(210)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측부(220)는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측부(210)는 예측 유닛에 대하여, 참조 픽쳐를 선택하고 예측 유닛과 동일한 크기의 참조 블록을 정수 픽셀 샘플 단위로 선택할 수 있다. 이어서, 인터 예측부(210)는 1/2 픽셀 샘플 단위와 1/4 픽셀 샘플 단위와 같이 정수 이하 샘플 단위로 현재 예측 유닛과 가장 유사하여 잔차 신호가 최소화되며 부호화되는 움직임 벡터 크기 역시 최소가 될 수 있는 예측 블록을 생성할 수 있다. 이때, 움직임 벡터는 정수 픽셀 이하의 단위로 표현될 수 있으며, 예컨대 루마 픽셀에 대해서는 1/4 픽셀 단위로, 크로마 픽셀에 대해서는 1/8 픽셀 단위로 표현될 수 있다.
인터 예측부(210)가 선택한 참조 픽쳐의 인덱스와 움직임 벡터에 관한 정보는 부호화되어 복호화기에 전달될 수 있다.

도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다. 도 3을 참조하면, 영상 복호화기(300)는 엔트로피 복호화부(310), 재정렬부(315), 역양자화부(320), 역변환부(325), 예측부(330), 필터부(335) 및 메모리(340)를 포함할 수 있다.
영상 부호화기에 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 영상 부호화기에서 영상 정보가 처리된 절차에 따라서 복호화될 수 있다.
엔트로피 복호화부(310)는 입력된 비트스트림에 대하여 엔트로피 복호화를 수행할 수 있으며, 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다. 예컨대, 영상 부호화기에서 엔트로피 부호화를 수행하기 위해 CAVLC 등의 가변 길이 부호화(VLC: Variable Length Coding, 이하 ‘VLC’ 라 함)가 사용된 경우에는 엔트로피 복호화부(310)도 부호화기에서 사용한 VLC 테이블과 동일한 VLC 테이블을 구현하여 엔트로피 복호화를 수행할 수 있다. 영상 부호화기에서 엔트로피 부호화를 수행하기 위해, CABAC이 이용된 경우에도, 엔트로피 복호화부(310)는 이에 대응하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다.
엔트로피 복호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 낮은 값의 인덱스(index) 및 이에 대응하는 짧은 코드워드(codeword)가 할당되고, 낮은 발생 확률을 갖는 심볼에 높은 값의 인덱스 및 이에 대응하는 긴 코드워드가 할당될 수 있다. 따라서 부호화 대상 심볼들에 대한 비트량이 감소될 수 있고, 엔트로피 부호화에 의해 영상 압축 성능이 향상될 수 있다.
엔트로피 복호화부(310)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(330)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화가 수행된 잔차값은 재정렬부(315)로 입력될 수 있다.
재정렬부(315)는, 엔트로피 복호화부(310)에서 엔트로피 복호화된 비트 스트림을 영상 부호화기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(315)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(315)는 부호화기에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(320)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(325)는, 영상 부호화기에서 수행된 양자화 결과에 대해 부호화기의 변환부가 수행한 DCT 및 DST에 대해, 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부(325)는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(330)는 엔트로피 복호화부(310)에서 제공된 예측 블록 생성 관련 정보와 메모리(340)에서 제공된 이전에 복호화된 블록 및/또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(330)에서 생성된 예측 블록과 역변환부(325)에서 제공된 잔차 블록을 이용해 생성될 수 있다.
복원된 블록 및/또는 픽쳐는 필터부(335)로 제공될 수 있다. 필터부(335)는 복원된 블록 및/또는 픽쳐에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터링(ALF) 등을 적용할 수 있다.
메모리(340)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 개략적으로 나타낸 개념도이다.
도 4를 참조하면, 예측부(400)는 인트라 예측부(410) 및 인터 예측부(420)를 포함할 수 있다.
인트라 예측부(410)는 해당 예측 유닛에 대한 예측 모드가 인트라 예측(intra prediction) 모드(화면 내 예측 모드)인 경우에, 현재 픽쳐 내의 픽셀 정보를 기초로 예측 블록을 생성할 수 있다.
인터 예측부(420)는 해당 예측 유닛에 대한 예측 모드가 인터 예측(inter prediction) 모드(화면 간 예측 모드)인 경우에, 영상 부호화기에서 제공된 현재 예측 유닛의 인터 예측에 필요한 정보, 예컨대 움직임 벡터, 참조 픽쳐 인덱스 등에 관한 정보를 이용해 현재 예측 유닛이 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 유닛에 대한 인터 예측을 수행할 수 있다.
이때, 움직임 정보는, 부호화기로부터 수신되는 부호화 유닛의 스킵 플래그, 머지 플래그 등이 확인된 경우, 이에 대응하여 유도될 수 있다.
이하, 발명의 구성 또는 표현에 따라 “영상” 또는 “화면”이 “픽쳐”와 같은 의미를 나타낼 수 있는 경우,“픽쳐”는 “영상” 또는 “화면”으로 기술될 수 있다. 또한 인터 예측(inter prediction)과 화면 간 예측은 동일한 의미를 가지며, 인트라 예측(intra prediction)과 화면 내 예측은 동일한 의미를 가진다.

상술한 바와 같이 인트라 예측부는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 현재 블록에 대한 예측 블록을 생성할 수 있다. 인트라 예측 모드에는, 현재 블록의 픽셀값 예측에 사용되는 참조 픽셀들의 위치 및 예측 방식 등에 따라, 수직(vertical), 수평(horizontal), DC, 앵귤러(angular) 모드 등이 있을 수 있다. 수직 모드에서는 인접 블록의 픽셀값을 사용하여 수직 방향으로 예측이 수행되고, 수평 모드에서는 인접 블록의 픽셀값을 사용하여 수평 방향으로 예측이 수행될 수 있다. 또한 DC 모드에서는 현재 블록 내의 픽셀값들의 평균에 의해 예측 블록이 생성될 수 있다. 앵귤러 모드에서는 각각의 모드에 대해 미리 정해진 각도 및/또는 방향에 따라 예측이 수행될 수 있다.
인트라 예측 모드 정보는 그 예측 모드를 나타내는 값 자체로 전송될 수도 있으나, 전송 효율을 높이기 위해 인트라 예측 모드에 대해 예측된 모드값을 이용하여 인트라 예측 모드 정보를 전송하는 방법이 제공될 수 있다. 이하, 현재 인트라 예측 모드에 대해 예측된 모드는 MPM(Most Probable Mode)이라 한다.

도 5는 MPM 도출 방법의 일 실시예를 개략적으로 나타내는 개념도이다. 도 5의 실시예에서 현재 예측 유닛은 현재 예측이 수행되는 유닛을 의미한다. A는 현재 예측 유닛의 상단에 인접한 주변 예측 유닛이고, B는 현재 예측 유닛의 좌측에 인접한 주변 예측 유닛이다. 예측 유닛 A, 예측 유닛 B, 및 현재 예측 유닛은 도 5의 실시예에 도시된 바와 같이 같은 크기일 수 있으나, 서로 다른 크기를 가질 수도 있다.
도 5를 참조하면, 부호화기 및 복호화기는 예측 유닛 A의 예측 모드(모드 A)와 예측 유닛 B의 예측 모드(모드 B)를 이용하여 MPM 후보 리스트를 구성할 수 있다. 모드 A와 모드 B가 동일한 경우에 MPM 후보의 개수는 1개일 수 있고, 모드 A와 모드 B가 서로 다른 경우에 MPM 후보의 개수는 2개일 수 있다. MPM 후보의 개수는 도 5의 실시예에서처럼 1개 또는 2개에 한정되는 것이 아니고, 3개 이상일 수도 있다.
부호화기 및 복호화기는 고정된 개수의 MPM 후보를 사용할 수도 있다. 이 때, 상기 MPM 후보 리스트의 엔트리(entry)의 개수, 즉 MPM 후보 리스트 내의 MPM 후보의 개수는 항상 고정된 값일 수 있다. 고정된 MPM 후보의 개수는 2일 수 있고, 3 또는 4 이상일 수도 있다.
일 실시예로, 도 5의 실시예에서 항상 2개로 고정된 개수의 MPM 후보가 사용된다고 가정하면, 모드 A와 모드 B가 동일할 때 도출되는 MPM 후보의 개수는 1개일 수 있으므로, 나머지 MPM 후보에는 DC 모드, Planar 모드 또는 그 밖의 소정의 예측 모드가 채워질 수 있다.
현재 예측 유닛의 인트라 예측 모드는 MPM 후보들 중 어느 하나와 동일한 예측 모드일 수 있다. MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 있는지 여부에 관한 정보는 소정의 플래그를 통해 부호화기로부터 복호화기로 전송될 수 있다. 상기 플래그는 일 실시예로 prev_intra_luma_pred_flag일 수 있고, 상기 플래그가 1일 때, MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재할 수 있다.
상기 플래그가 1이고 MPM 후보의 개수가 1개일 때, MPM 후보의 예측 모드가 현재 예측 유닛의 예측 모드일 수 있으므로, 부호화기는 복호화기로 별도의 추가 정보를 전송하지 않을 수 있다. 그러나, 상기 플래그가 1이고 MPM 후보의 개수가 2 이상일 때, 복호화기는 현재 유닛의 예측 모드가 MPM 후보들 중 어느 후보의 예측 모드와 동일한지 알 수 없다. 따라서, 이 때 부호화기는 현재 예측 유닛의 예측 모드가 어느 MPM 후보의 예측 모드와 동일한지를 지시하는 인덱스(index)를 복호화기로 전송할 수 있다. 복호화기는 상기 인덱스를 이용하여 현재 예측 유닛의 예측 모드를 결정할 수 있다. 예를 들어 상기 인덱스는 mpm_idx일 수 있다.

MPM 후보들의 예측 모드가 모두 현재 예측 유닛의 예측 모드와 다른 경우, 예를 들어 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하는지 여부를 지시하는 플래그의 값이 0일 때, 부호화기는 리메이닝 모드(remaining mode)를 이용하여 현재 유닛의 인트라 예측 모드 정보를 복호화기로 전송할 수 있다.

부호화기 및 복호화기는 인트라 예측 모드 부호화/복호화를 수행함에 있어, MPM 뿐만 아니라 MPRM(Most Probable Remaining Mode)을 함께 이용할 수도 있다. 이 때, 부호화기 및 복호화기는 MPM 후보들을 제외한 인트라 예측 모드들을 이용하여 MPRM 후보들을 포함하는 MPRM 리스트를 생성할 수 있다.
MPRM이 이용되는 경우, MPM 후보들의 예측 모드가 모두 현재 예측 유닛의 예측 모드와 다른 때에도, 부호화기는 MPRM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 있는지 여부에 관한 정보를 소정의 플래그를 통해 복호화기로 전송할 수 있다. 일 실시예로 상기 플래그는 mprm_pred_flag일 수 있다.
MPRM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하는 경우, 부호화기는 현재 예측 유닛의 예측 모드가 어느 MPRM 후보의 예측 모드와 동일한지를 지시하는 인덱스(index)를 복호화기로 전송할 수 있다. 일 실시예로 상기 인덱스는 mprm_idx일 수 있다.
MPRM 후보들의 예측 모드가 모두 현재 예측 유닛의 예측 모드와 다른 경우, 부호화기는 리메이닝 모드(remaining mode)를 이용하여 현재 유닛의 인트라 예측 모드 정보를 복호화기로 전송할 수 있다.
이하 서술되는 실시예들은 MPM만 이용되는 경우뿐만 아니라, MPM과 MPRM이 함께 이용되는 경우에도 적용될 수 있다.

도 6은 인트라 예측 모드 정보의 전송에 사용되는 리메이닝 모드의 일 실시예를 개략적으로 나타내는 개념도이다. 도 6의 실시예에서, MPM의 예측 모드는 1이고 MPM 후보의 개수는 1개라 가정한다. 이하, 현재 예측 유닛의 예측 모드는 현재 예측 모드, 현재 예측 모드의 모드값은 현재 모드값이라 한다.
MPM 후보들의 예측 모드가 모두 현재 예측 모드와 다른 경우, 부호화기는 MPM 후보들을 제외한 예측 모드들 중 현재 예측 모드에 대한 정보를 복호화기로 전송할 수 있다. 이 때, 부호화기는 모든 MPM 후보들의 모드값이 현재 모드값보다 크면 현재 모드값을 이용하여 예측 모드 정보를 전송하고, 현재 모드값보다 작은 모드값을 갖는 MPM 후보가 존재하면, 현재 모드값보다 작은 모드값을 갖는 MPM의 개수를 현재 모드값에서 뺀 값을 이용하여 예측 모드 정보를 전송할 수 있다. 이 때, 현재 모드값보다 작은 모드값을 갖는 MPM의 개수가 현재 모드값에서 빼진 모드값을 갖는 예측 모드는 리메이닝 모드로 불릴 수 있다.
도 6을 참조하면, 도 6의 610은 현재 예측 유닛이 가질 수 있는 인트라 예측 모드를 나타낸다. MPM의 예측 모드값이 1이므로, 현재 예측 유닛이 가질 수 있는 예측 모드는, 도 6의 620에서와 같이, 모드값이 1인 예측 모드를 제외한 나머지 예측 모드들 중 하나일 수 있다. 이 때, 예를 들어 현재 모드값이 2일 때, 현재 리메이닝 모드의 모드값은 도 6의 630에서와 같이 1일 수 있다. 또한 현재 모드값이 0일 때, 현재 리메이닝 모드의 모드값은 0일 수 있다.
복호화기는, 상술한 prev_intra_luma_pred_flag 등과 같은 플래그 정보를 통해, MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하지 않음을 알 수 있다.
이 때, 복호화기는 리메이닝 모드 및 MPM을 이용하여 현재 예측 유닛의 실제 예측 모드값을 구할 수 있다. 일 실시예로 MPM이 N개이고, MPM의 모드값들은 mode1, mode2,…, modeN이라 가정한다. 여기서, modeX 에서, X 값이 작을 수록 더 작은 모드값이 할당된다고 가정한다. X가 1부터 N-1일 때, 리메이닝 모드의 모드값이 modeX - (X-1)보다 크거나 같고 mode(X+1) -X 보다 작은 경우, 리메이닝 모드의 모드값에 X를 더한 값이 현재 예측 모드일 수 있다. 또한 X가 N일 때, 리메이닝 모드의 모드값이 modeN - (N-1)보다 크거나 같은 경우, 리메이닝 모드의 모드값에 N을 더한 값이 현재 예측 모드일 수 있다.
예를 들어, 도 6의 실시예에서 현재 모드값이 2일 때, 복호화기가 수신한 리메이닝 모드의 모드값은 1일 수 있다. MPM의 모드값이 1이고 MPM 후보의 개수가 1개이므로, 복호화기는 리메이닝 모드의 모드값에 1을 더하여 현재 모드값 2를 구할 수 있다.
상술한 도 6의 실시예에 따르면, 현재 예측 모드의 전송에 필요한 비트량이 감소될 수 있으므로, 부호화 효율이 향상될 수 있다.

도 7은 엔트로피 복호화에 사용되는 인덱스 매핑 테이블의 구성을 개략적으로 나타내는 개념도이다.
DCT 계수, 모션 벡터(motion vector), 예측 모드 등과 같이 높은 부호화 효율이 요구되는 정보들의 부호화 및 복호화에는 엔트로피 부호화 및 복호화 방식이 이용될 수 있다. 엔트로피 부호화 및 복호화 과정에서 입력되는 심볼들은 연속적인 코드워드로 변환될 수 있고, 코드워드의 길이는 가변적일 수 있다.
상술한 바와 같이, 엔트로피 부호화 및 복호화에는 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 방법들이 사용될 수 있다. 엔트로피 부호화 및 복호화에 있어 낮은 복잡도가 요구되는 경우 LCEC(Low Complexity Entropy Coding)가, 높은 효율이 요구되는 경우 CABAC이 이용될 수 있다.
엔트로피 부호화 및 복호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 짧은 코드워드(codeword)가 할당되고, 낮은 발생 확률을 갖는 심볼에 긴 코드워드가 할당될 수 있다. 따라서 부호화 및 복호화 대상 심볼들에 대한 비트량이 감소될 수 있고, 엔트로피 부호화 및 복호화에 의해 영상 압축 성능이 향상될 수 있다.
CAVLC가 적용되는 경우, 소정의 VLC 테이블이 이용될 수 있으며, VLC 테이블은 각 심볼의 발생 확률에 기반하여 구성될 수 있다. 이하, 복호화기 입장에서 엔트로피 복호화 과정이 개략적으로 서술된다.
복호화기는 입력된 비트 스트림 내의 코드워드로부터 이에 대응하는 VLC 테이블을 이용하여 코드 넘버(code number)를 얻을 수 있다. 여기서, 코드 넘버는 코드워드 인덱스(codeword index)로도 불릴 수 있다. 복호화기는 코드 넘버와 이에 대응하는 인덱스 매핑 테이블(index mapping table)을 이용하여 구문 요소(syntax element)의 값을 얻을 수 있다. 여기서, 인덱스 매핑 테이블은 소팅 테이블(sorting table)로도 불릴 수 있다.
상기 인덱스 매핑 테이블은 각 코드 넘버에 할당된 구문 요소의 값을 발생 빈도에 따라 적응적으로 조절하기 위해 사용될 수 있다. 일 실시예로, 현재 입력된 코드 넘버가 A이고 A가 0보다 큰 경우, 코드 넘버 A에 대응하는 심볼의 발생 확률이 높아지므로, 코드 넘버 A에 대응하는 구문 요소의 값과 코드 넘버 A-1에 대응하는 구문 요소의 값이 서로 스와핑(swapping)될 수 있다. 즉, 현재 입력된 코드 넘버에 따라 인덱스 매핑 테이블이 업데이트(update)될 수 있다.
도 7을 참조하면, 도 7은 코드 넘버와 이에 대응하는 인트라 예측 모드의 매핑 관계를 나타내는 인덱스 매핑 테이블의 실시예를 도시한다. 여기서, 코드 넘버의 최대값은 소정의 값으로 미리 정해져 있을 수 있다. 부호화기에는 인덱스 매핑 테이블에 대응하는 역 인덱스 매핑 테이블(inverse index mapping table)이 저장될 수 있다.
도 7의 실시예에 따른 인덱스 매핑 테이블에 3의 코드 넘버가 입력되는 경우, 현재 예측 유닛의 인트라 예측 모드는 0일 수 있다. 이 때, 현재 입력된 코드 넘버가 3이므로, 코드 넘버 3에 할당된 예측 모드 0과 코드 넘버 2에 할당된 예측 모드 9가 서로 스와핑(swapping)될 수 있다. 업데이트된 인덱스 매핑 테이블에서는, 코드 넘버 3에 예측 모드 9가 매핑되고 코드 넘버 2에 예측 모드 0이 매핑될 수 있다.

도 8은 MPM을 이용한 인트라 예측 모드 부호화 방법의 일 실시예를 나타내는 개념도이다. 도 8은 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하지 않는 경우, 예를 들어 prev_intra_luma_pred_flag가 0인 경우의 실시예를 나타낸다.
도 8을 참조하면, 부호화기는 현재 예측 모드 정보 및 MPM 후보의 예측 모드 정보로부터 현재 예측 모드에 대응하는 리메이닝 모드를 도출할 수 있다. 현재 예측 모드 정보에는 현재 예측 모드의 모드값 등이 있을 수 있고, MPM 후보의 예측 모드 정보에는 MPM 후보의 개수 및 각 MPM 후보의 모드값 등이 있을 수 있다. 이하, 현재 예측 모드에 대응하는 리메이닝 모드는 현재 리메이닝 모드라 한다.
예를 들어 MPM 후보의 개수가 1개이고 MPM 후보의 모드값이 2이고 현재 예측 모드가 3이라면, 현재 리메이닝 모드는 2가 될 수 있다. MPM 후보의 모드값이 현재 예측 모드의 모드값보다 작으므로, 현재 리메이닝 모드는 현재 예측 모드의 모드값에서 1이 빼진 값이 될 수 있다. 다른 예로서, MPM 후보의 개수가 2개이고 MPM 후보의 모드값이 각각 1, 2이고 현재 예측 모드가 3이라면 현재 리메이닝 모드는 1이 될 수 있다. 2개의 MPM 후보의 모드값들이 모두 현재 예측 모드의 모드값보다 작으므로, 현재 리메이닝 모드는 현재 예측 모드의 모드값에서 2가 빼진 값이 될 수 있다.
부호화기는 현재 리메이닝 모드 및 상기 현재 리메이닝 모드에 대응하는 역 인덱스 매핑 테이블(inverse index mapping table)을 이용하여 코드 넘버를 생성할 수 있다. 상기 코드 넘버는 코드워드 인덱스로도 불릴 수 있고, 상기 역 인덱스 매핑 테이블에서 현재 리메이닝 모드의 랭킹(ranking)을 나타낼 수도 있다. 따라서 이러한 경우의 코드 넘버는 테이블 인덱스(table index)로도 불릴 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수는 현재 예측 유닛의 크기에 따라 달라질 수 있다. 또한 MPM 후보의 개수에 따라 현재 예측 유닛이 가질 수 있는 리메이닝 모드의 개수가 달라질 수도 있다. 역 인덱스 매핑 테이블의 엔트리(entry) 개수는 현재 예측 유닛이 가질 수 있는 리메이닝 모드의 개수와 동일하므로, 현재 예측 유닛이 가질 수 있는 리메이닝 모드의 개수가 달라지면 사용되는 역 인덱스 매핑 테이블도 달라질 수 있다. 따라서, 상술한 실시예에서 부호화기에는 소정의 복수의 역 인덱스 매핑 테이블이 저장되어 있을 수 있다. 부호화기는 현재 예측 유닛의 크기 및 MPM 후보의 개수에 관한 정보로부터 상기 소정의 복수의 역 인덱스 매핑 테이블 중 하나의 역 인덱스 매핑 테이블을 선택하여 사용할 수 있다.
부호화기는 VLC 테이블을 이용하여 코드 넘버를 코드워드로 변환(convert)할 수 있고, 상기 코드워드는 복호화기로 전송될 수 있다.

도 9는 MPM을 이용한 인트라 예측 모드 복호화 방법의 일 실시예를 나타내는 개념도이다. 도 9는 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하지 않는 경우, 예를 들어 prev_intra_luma_pred_flag가 0인 경우의 실시예를 나타낸다. 이 경우, 현재 예측 유닛에 대한 리메이닝 모드가 파싱(parsing)될 수 있다.
도 9를 참조하면, 복호화기는 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드를 코드 넘버로 변환(convert)할 수 있다. 상기 코드 넘버는 코드워드 인덱스로도 불릴 수 있고, 복호화에 사용되는 인덱스 매핑 테이블에서 현재 리메이닝 모드의 랭킹(ranking)을 나타낼 수도 있다. 따라서 이러한 경우의 코드 넘버는 테이블 인덱스(table index)로도 불릴 수 있다.
복호화기는 상기 코드 넘버 및 상기 현재 코드 넘버에 대응하는 인덱스 매핑 테이블(index mapping table)을 이용하여 리메이닝 모드를 생성할 수 있다.
도 8의 실시예에서 상술된 바와 같은 이유로, 복호화기에는 소정의 복수의 인덱스 매핑 테이블이 저장되어 있을 수 있다. 복호화기는 현재 예측 유닛의 크기 및 MPM 후보의 개수에 관한 정보로부터 상기 소정의 복수의 인덱스 매핑 테이블 중 하나의 인덱스 매핑 테이블을 선택하여 사용할 수 있다. 인덱스 매핑 테이블의 엔트리(entry) 개수는 현재 예측 유닛이 가질 수 있는 리메이닝 모드의 개수와 동일할 수 있다.
복호화기는 현재 리메이닝 모드 정보 및 MPM 후보의 예측 모드 정보로부터 현재 예측 모드를 도출할 수 있다. 현재 리메이닝 모드 정보에는 현재 리메이닝 모드의 모드값 등이 있을 수 있고, MPM 후보의 예측 모드 정보에는 MPM 후보의 개수 및 각 MPM 후보의 모드값 등이 있을 수 있다.
예를 들어 MPM 후보의 개수가 1개이고 MPM 후보의 모드값이 2이고 현재 리메이닝 모드가 2라면, 현재 예측 모드는 3이 될 수 있다. MPM 후보의 모드값이 현재 리메이닝 모드의 모드값과 같으므로, 현재 예측 모드는 현재 리메이닝 모드의 모드값에 1을 더한 값이 될 수 있다. 다른 예로서, MPM 후보의 개수가 2개이고 MPM 후보의 모드값이 각각 1, 2이고 현재 리메이닝 모드가 1이라면, 현재 리메이닝 모드의 모드값은 MPM 후보의 모드값들 중 큰 값인 2에서 1(MPM 후보의 개수-1)이 빼진 값과 같다. 따라서 복호화기는 현재 리메이닝 모드의 모드값에 2(MPM 후보의 개수)를 더하여 현재 예측 모드의 모드값 3을 구할 수 있다.

이하, 역 인덱스 매핑 테이블과 인덱스 매핑 테이블을 총칭하여 매핑 테이블이라 한다.
상술한 도 8의 실시예에서는 리메이닝 모드에 직접 역 인덱스 매핑 테이블이 적용될 수 있고, 도 9의 실시예에서는 코드 넘버에 인덱스 매핑 테이블이 적용되면 직접 리메이닝 모드가 생성될 수 있다. 따라서 매핑 테이블의 엔트리(entry) 개수는 현재 예측 유닛이 가질 수 있는 리메이닝 모드의 개수와 동일하다. 리메이닝 모드의 개수는 MPM 후보의 개수에 따라서 달라질 수 있으므로, 상술한 도 8의 실시예에서 부호화기는 MPM 후보의 개수에 따라 서로 다른 역 인덱스 매핑 테이블을 사용한다는 단점을 가질 수 있다. 도 9의 실시예에서도 복호화기는 MPM 후보의 개수에 따라 서로 다른 인덱스 매핑 테이블을 사용한다는 단점을 가질 수 있다. 다만, 항상 고정된 개수의 MPM 후보가 사용되는 경우에는 상술한 바와 같은 문제점이 발생하지 않을 수 있다. 상술한 도 8 및 도 9의 실시예에서 리메이닝 모드는, MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하는 경우에는 전송되지 않을 수 있다. 이러한 경우, 상기 매핑 테이블이 업데이트되지 않을 수 있으므로, 인트라 예측 모드의 분포가 매핑 테이블에 충분히 반영되지 않을 수 있다. 또한 상술한 도 8 및 도 9의 실시예에서 매핑 테이블은 현재 예측 유닛의 실제 예측 모드가 아닌 현재 리메이닝 모드에 따라 업데이트된다. 따라서 상기 매핑 테이블은 실제 인트라 예측 모드가 아닌 리메이닝 모드의 분포를 반영하므로, 상기 매핑 테이블에는 현재 컨텐츠(contents)의 특성이 직접적으로 반영되지 않을 수 있다.
따라서 현재 예측 유닛의 실제 예측 모드 및 컨텐츠의 특성을 더 직접적으로 반영하기 위한 인트라 예측 모드 부호화/복호화 방법이 제공될 수 있다.

도 10은 MPM을 이용한 인트라 예측 모드 부호화 방법의 다른 실시예를 나타내는 개념도이다. 도 10은 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하지 않는 경우, 예를 들어 prev_intra_luma_pred_flag가 0인 경우의 실시예를 나타낸다.
도 10을 참조하면, 부호화기는 현재 예측 유닛의 예측 모드에 직접 역 인덱스 매핑 테이블을 적용하여 현재 예측 모드에 대한 테이블 인덱스를 생성할 수 있다. 이러한 경우의 테이블 인덱스는 역 인덱스 매핑 테이블에서 현재 예측 모드의 랭킹을 나타낼 수도 있다. 여기서, 역 인덱스 매핑 테이블의 엔트리(entry) 개수는 리메이닝 모드의 개수가 아니라, 현재 예측 유닛이 가질 수 있는 예측 모드의 개수와 동일할 수 있다.
이하, 현재 예측 모드에 대한 테이블 인덱스는 현재 테이블 인덱스라 한다. 예를 들어, 도 10 및 후술되는 도 11의 실시예에서 현재 테이블 인덱스는 역 인덱스 매핑 테이블에서 현재 예측 모드에 할당된 인덱스를 의미할 수 있다. 이 때, 현재 예측 모드에 역 인덱스 매핑 테이블이 적용되면, 현재 테이블 인덱스가 출력될 수 있다. 또한 도 10 및 후술되는 도 11의 실시예에서 MPM 후보의 인덱스는 역 인덱스 매핑 테이블에서 MPM 후보에 할당된 인덱스를 의미하며, MPM 인덱스로도 불릴 수 있다.
부호화기는 현재 테이블 인덱스 정보 및 MPM 후보의 인덱스 정보로부터 코드 넘버를 도출할 수 있다. 상기 현재 테이블 인덱스 정보에는 현재 테이블 인덱스의 값 등이 있을 수 있고, MPM 후보의 인덱스 정보에는 MPM 후보의 개수 및 MPM 후보의 인덱스의 값 등이 있을 수 있다. 상기 코드 넘버는 코드워드 인덱스로도 불릴 수 있다. 현재 테이블 인덱스에서 코드 넘버로의 변환(conversion) 과정의 상세는 후술한다.
부호화기는 VLC 테이블을 이용하여 코드 넘버를 코드워드로 변환(convert)할 수 있고, 상기 코드워드는 복호화기로 전송될 수 있다.

도 11은 현재 테이블 인덱스를 코드 넘버로 변환하는 방법의 일 실시예를 나타내는 흐름도이다. 도 11의 실시예에서, MPM 후보의 최대 개수는 2개라 가정한다.
도 11을 참조하면, 부호화기는 MPM 후보의 개수가 1개인지 여부를 판단할 수 있다(S1110).
MPM 후보의 개수가 1개이면, 부호화기는 현재 예측 모드의 테이블 인덱스가 MPM 후보의 인덱스보다 작은지를 판단할 수 있다(S1120). 현재 테이블 인덱스가 MPM 후보의 인덱스보다 작은 경우, 코드 넘버는 현재 테이블 인덱스와 동일한 값을 가질 수 있다(S1130). 현재 테이블 인덱스가 MPM 후보의 인덱스보다 작지 않은 경우, 코드 넘버는 현재 테이블 인덱스의 값에서 1이 빼진 값을 가질 수 있다(S1140).
MPM 후보의 개수가 1개가 아니고 2개이면, 부호화기는 현재 예측 모드의 테이블 인덱스가 MPM 후보의 인덱스들 중 작은 것보다 더 작은지 여부를 판단할 수 있다(S1150). 현재 테이블 인덱스가 MPM 후보의 인덱스들 중 작은 것보다 더 작은 경우, 코드 넘버는 현재 테이블 인덱스와 동일한 값을 가질 수 있다(S1160).
현재 테이블 인덱스가 MPM 후보의 인덱스들 중 작은 것보다 작지 않은 경우, 부호화기는 현재 예측 모드의 테이블 인덱스가 MPM 후보의 인덱스들 중 큰 것보다 더 작은지 여부를 판단할 수 있다(S1170). 현재 테이블 인덱스가 MPM 후보의 인덱스들 중 큰 것보다 더 작은 경우, 코드 넘버는 현재 테이블 인덱스의 값에서 1이 빼진 값을 가질 수 있다(S1180). 현재 테이블 인덱스가 MPM 후보의 인덱스들 중 큰 것보다 작지 않은 경우, 코드 넘버는 현재 테이블 인덱스의 값에서 2가 빼진 값을 가질 수 있다(S1190).
예를 들어 MPM 후보의 개수가 1개이고 MPM 후보의 인덱스 값이 2이고 현재 테이블 인덱스 값이 3이라면, 코드 넘버는 2가 될 수 있다. MPM 후보의 인덱스 값이 현재 테이블 인덱스의 값보다 작으므로, 코드 넘버는 현재 테이블 인덱스 값에서 1이 빼진 값이 될 수 있다. 다른 예로서, MPM 후보의 개수가 2개이고 MPM 후보의 인덱스 값이 각각 1, 2이고 현재 테이블 인덱스 값이 3이라면 코드 넘버는 1이 될 수 있다. 2개의 MPM 후보의 인덱스 값들이 모두 현재 테이블 인덱스의 값보다 작으므로, 코드 넘버는 현재 테이블 인덱스 값에서 2가 빼진 값이 될 수 있다.
상술한 현재 테이블 인덱스에서 코드 넘버로의 변환(conversion) 과정은 도 8의 실시예에서 상술한 현재 예측 모드에서 리메이닝 모드로의 변환 과정과 유사하다.

도 12는 MPM을 이용한 인트라 예측 모드 복호화 방법의 다른 실시예를 나타내는 개념도이다. 도 12는 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하지 않는 경우, 예를 들어 prev_intra_luma_pred_flag가 0인 경우의 실시예를 나타낸다.
도 12를 참조하면, 복호화기는 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드를 코드 넘버로 변환(convert)할 수 있다. 상기 코드 넘버는 코드워드 인덱스로도 불릴수 있다.
복호화기는 상기 코드 넘버 및 MPM 후보의 인덱스 정보로부터 현재 테이블 인덱스를 생성할 수 있다. MPM 후보의 인덱스 정보에는 MPM 후보의 개수 및 MPM 후보의 인덱스의 값 등이 있을 수 있다. 도 12 및 후술되는 도 13의 실시예에서 MPM 후보의 인덱스는 복호화에 사용되는 인덱스 매핑 테이블에서 MPM 후보에 할당된 인덱스를 의미한다.
상기 현재 테이블 인덱스는 복호화에 사용되는 인덱스 매핑 테이블에서 현재 예측 모드의 랭킹을 나타낼 수 있다. 예를 들어, 도 12 및 후술되는 도 13의 실시예에서 현재 테이블 인덱스는 인덱스 매핑 테이블에서 현재 예측 모드에 할당된 인덱스를 의미할 수 있다. 이 때, 현재 테이블 인덱스에 인덱스 매핑 테이블이 적용되면, 현재 예측 모드가 출력될 수 있다. 코드 넘버에서 현재 테이블 인덱스로의 변환(conversion) 과정의 상세는 후술한다.
복호화기는 상기 현재 테이블 인덱스 및 인덱스 매핑 테이블을 이용하여 현재 예측 모드를 도출할 수 있다. 도 12의 실시예에서는 인덱스 매핑 테이블이 코드 넘버에 직접 적용되지 않고, MPM 후보의 인덱스 정보를 이용하여 생성된 현재 테이블 인덱스에 적용될 수 있다. 여기서, 인덱스 매핑 테이블의 엔트리(entry) 개수는 리메이닝 모드의 개수가 아니라, 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일할 수 있다.

상술한 코드 넘버에서 현재 테이블 인덱스로의 변환을 수행하기 위해, 복호화기는 MPM 후보의 인덱스 값을 찾을 필요가 있다. 상기 인덱스 매핑 테이블에서 입력은 상기 현재 테이블 인덱스를 포함한 인덱스들 중 하나일 수 있고, 출력은 현재 예측 모드를 포함한 인트라 예측 모드들 중 하나일 수 있다. 따라서 복호화기는 가능한 인덱스 값을 인덱스 매핑 테이블에 하나씩 입력하여 MPM의 모드값을 출력으로 갖는 인덱스를 탐색함으로써, MPM의 인덱스 값을 찾을 수 있다.
이러한 계산을 줄이기 위해, 복호화기에는 역 인덱스 매핑 테이블이 저장되어 있을 수 있다. 상기 역 인덱스 매핑 테이블에서 입력은 인트라 예측 모드들 중 하나일 수 있고, 출력은 상기 현재 테이블 인덱스를 포함한 인덱스들 중 하나일 수 있다. 이 때, 복호화기는 MPM의 모드값에 직접 상기 역 인덱스 매핑 테이블을 적용함으로써 별도의 계산 없이도 MPM의 인덱스 값을 얻을 수 있다.

도 13은 코드 넘버를 현재 테이블 인덱스로 변환하는 방법의 일 실시예를 나타내는 흐름도이다. 도 13의 실시예에서, MPM 후보의 최대 개수는 2개라 가정한다.
도 13을 참조하면, 복호화기는 MPM 후보의 개수가 1개인지 여부를 판단할 수 있다(S1310).
MPM 후보의 개수가 1개이면, 복호화기는 현재 코드 넘버가 MPM 후보의 인덱스보다 작은지를 판단할 수 있다(S1320). 코드 넘버가 MPM 후보의 인덱스보다 작은 경우, 현재 테이블 인덱스는 코드 넘버와 동일한 값을 가질 수 있다(S1330). 코드 넘버가 MPM 후보의 인덱스보다 작지 않은 경우, 현재 테이블 인덱스는 코드 넘버의 값에 1이 더해진 값을 가질 수 있다(S1340).
MPM 후보의 개수가 1개가 아니고 2개이면, 복호화기는 현재 코드 넘버가 MPM 후보의 인덱스들 중 작은 것보다 더 작은지 여부를 판단할 수 있다(S1350). 코드 넘버가 MPM 후보의 인덱스들 중 작은 것보다 더 작은 경우, 현재 테이블 인덱스는 코드 넘버와 동일한 값을 가질 수 있다(S1360).
코드 넘버가 MPM 후보의 인덱스들 중 작은 것보다 작지 않은 경우, 복호화기는 현재 코드 넘버가 MPM 후보의 인덱스들 중 큰 것에서 1을 뺀 값보다 더 작은지 여부를 판단할 수 있다(S1370). 코드 넘버가 MPM 후보의 인덱스들 중 큰 것에서 1을 뺀 값보다 더 작은 경우, 현재 테이블 인덱스는 코드 넘버의 값에 1이 더해진 값을 가질 수 있다(S1380). 코드 넘버가 MPM 후보의 인덱스들 중 큰 것에서 1을 뺀 값보다 작지 않은 경우, 현재 테이블 인덱스는 코드 넘버의 값에 2가 더해진 값을 가질 수 있다(S1390).
예를 들어 MPM 후보의 개수가 1개이고 MPM 후보의 인덱스 값이 2이고 현재 코드 넘버가 2이라면, 현재 테이블 인덱스는 3이 될 수 있다. 현재 코드 넘버가 MPM 후보의 인덱스 값보다 작지 않으므로, 현재 테이블 인덱스는 현재 코드 넘버에 1을 더한 값을 가질 수 있다.
상술한 코드 넘버에서 현재 테이블 인덱스로의 변환(conversion) 과정은 도 9의 실시예에서 상술한 리메이닝 모드에서 현재 예측 모드로의 변환 과정과 유사하다.

이하, MPM의 개수에 따른, 코드 넘버에서 현재 테이블 인덱스로의 변환 과정의 실시예가 구체적으로 서술된다. 후술되는 실시예에서, 상기 코드 넘버는 preCodeNum으로 표시될 수 있고, 상기 현재 테이블 인덱스는 codeNum으로 표시될 수 있다. 복호화기는 역 VLC 테이블을 이용하여 코드워드로부터 preCodeNum을 도출할 수 있으며, MPM의 개수와 MPM의 인덱스 값을 이용하여 preCodeNum으로부터 codeNum을 도출할 수 있다. 복호화기는 인덱스 매핑 테이블을 통해 codeNum로부터 현재 예측 모드를 도출할 수 있다.
일 실시예로 MPM이 1개이고, 인덱스 매핑 테이블에서 MPM의 모드값에 대응되는 MPM의 인덱스 값이 codeNum-Ori_Prev1이라 가정한다. 이 때, 인덱스 매핑 테이블에 codeNum-Ori_Prev1이 입력되면, MPM의 모드값이 출력될 수 있다.
preCodeNum이 codeNum-Ori_Prev1보다 작은 경우, preCodeNum 값이 그대로 codeNum에 할당될 수 있다. preCodeNum이 codeNum-Ori_Prev1보다 크거나 같은 경우, preCodeNum + 1 의 값이 codeNum에 할당될 수 있다.
다른 실시예로 MPM이 2개이고, 인덱스 매핑 테이블에서 MPM의 모드값들에 대응되는 MPM의 인덱스 값들이 codeNum-Ori_Prev1, codeNum-Ori_Prev2라 가정한다. 이 때, 인덱스 매핑 테이블에 codeNum-Ori_Prev1 및/또는 codeNum-Ori_Prev2가 입력되면, MPM의 모드값들이 출력될 수 있다. codeNum-Ori_Prev1은 codeNum-Ori_Prev2보다 작다고 가정한다.
preCodeNum이 codeNum-Ori_Prev1보다 작은 경우, preCodeNum 값이 그대로 codeNum에 할당될 수 있다. preCodeNum이 codeNum-Ori_Prev1보다 크거나 같고 codeNum-Ori_Prev2 - 1보다 작은 경우, preCodeNum + 1 의 값이 codeNum에 할당될 수 있다. 만일, preCodeNum이 codeNum-Ori_Prev2 - 1보다 크거나 같은 경우, preCodeNum + 2 의 값이 codeNum에 할당될 수 있다.
또 다른 실시예로 MPM이 N개이고, 인덱스 매핑 테이블에서 MPM의 모드값들에 대응되는 MPM의 인덱스 값들이 codeNum-Ori_Prev1, codeNum-Ori_Prev2,…, codeNum-Ori_PrevN이라 가정한다. 이 때, 인덱스 매핑 테이블에 codeNum-Ori_Prev1 및 codeNum-Ori_Prev2,…, codeNum-Ori_PrevN이 입력되면, MPM의 모드값들이 출력될 수 있다. codeNum-Ori_PrevX는 이에 할당되는 MPM 인덱스 값들의 오름차순으로 정렬되어 있다고 가정한다. 즉, 상기 X 값이 클수록 더 큰 MPM 인덱스 값들이 할당된다고 가정한다.
preCodeNum이 codeNum-Ori_Prev1보다 작은 경우, preCodeNum 값이 그대로 codeNum에 할당될 수 있다. preCodeNum이 codeNum-Ori_Prev1보다 크거나 같고 codeNum-Ori_Prev2 - 1보다 작은 경우, preCodeNum + 1 의 값이 codeNum에 할당될 수 있다. preCodeNum이 codeNum-Ori_Prev2 - 1보다 크거나 같고 codeNum-Ori_Prev3 - 2보다 작은 경우, preCodeNum + 2 의 값이 codeNum에 할당될 수 있다.
상술한 실시예를 일반화하여 서술하면, X가 1부터 N-1까지의 값을 가질 때, preCodeNum이 codeNum-Ori_PrevX - (X-1)보다 크거나 같고 codeNum-Ori_Prev(X+1) - X보다 작은 경우, preCodeNum + X 의 값이 codeNum에 할당될 수 있다. 또한 X가 N일 때, preCodeNum이 codeNum-Ori_PrevN - (N-1)보다 크거나 같은 경우, preCodeNum + N 의 값이 codeNum에 할당될 수 있다.

이하, 복호화기 입장에서 도 12 및 도 13의 실시예에 따른 인트라 예측 모드 복호화 과정의 실시예가 서술된다.
상기 처리를 위한 입력에는 현재 픽쳐 내에서 현재 블록의 위치, 현재 예측 유닛의 크기, 이전에 복원된 주변 블록의 인트라 예측 모드, 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블 등이 있을 수 있다. 출력은 현재 예측 유닛에 대한 현재 인트라 예측 모드, 업데이트된 인덱스 매핑 테이블 및 업데이트된 역 인덱스 매핑 테이블일 수 있다. 이는 다음과 같이 나타내어질 수 있다.

Figure PCTKR2011009358-appb-I000001

여기서, intraModeTable은 인덱스 매핑 테이블을 나타내고, invIntraModeTable은 역 인덱스 매핑 테이블을 나타낼 수 있다.
복호화기는 MPM 후보 도출에 사용되는 주변 블록을 도출하고, 도출된 각 주변 블록들의 인트라 예측 모드를 도출할 수 있다. 이는 다음과 같이 나타내어질 수 있다.

Figure PCTKR2011009358-appb-I000002

복호화기는 주변 블록들의 인트라 예측 모드를 이용하여 MPM 후보들을 도출할 수 있으며, 이는 다음과 같이 나타내어질 수 있다.

Figure PCTKR2011009358-appb-I000003

여기서, candIntraPredModeN은 MPM 후보를 나타낼 수 있다.
복호화기는 도출된 MPM 후보들을 이용하여 MPM 후보 리스트 및 그 리스트에 포함된 MPM 후보의 개수를 도출할 수 있다. 이는 다음과 같이 나타내어질 수 있다.

Figure PCTKR2011009358-appb-I000004

여기서, candModeList는 MPM 후보 리스트를 나타내고, NumMPMCand는 MPM 후보의 개수를 나타낼 수 있다.
복호화기는 현재 예측 유닛이 가질 수 있는 예측 모드의 개수에 따라 MPM의 인덱스 값을 도출할 수 있다. 복호화기는 MPM의 인덱스 값을 도출하기 위해, 역 인덱스 매핑 테이블을 사용할 수 있으며, 도출된 MPM의 인덱스 값들을 이용하여 MPM 인덱스 리스트를 구성할 수 있다. 이는 다음과 같이 나타내어질 수 있다.

Figure PCTKR2011009358-appb-I000005

여기서, intraPredModeNum은 현재 예측 유닛이 가질 수 있는 예측 모드의 개수를 나타낸다. 상술된 내용에서 intraPredModeNum에 대한 조건은 3 및/또는 17 에 한정되는 것이 아니고, 예를 들어 각각 3 대신 4 및/또는 17 대신 18이 사용될 수도 있다.
MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하는 경우, 복호화기는 MPM으로부터 현재 예측 모드를 도출할 수 있다.
MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하지 않는 경우, 복호화기는 코드 넘버로부터 현재 테이블 인덱스를 도출할 수 있다. 복호화기는 도출된 현재 테이블 인덱스에 인덱스 매핑 테이블을 적용하여 현재 예측 모드를 도출할 수 있다. 다만, 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 수가 3 일 때에는 별도의 인덱스 매핑 테이블이 적용되지 않을 수 있다. 이는 다음과 같이 나타내어질 수 있으며, rem_intra_luma_pred_mode는 상기 코드 넘버에, rank_intra_luma_pred_mode는 상기 현재 테이블 인덱스에 해당될 수 있다.

Figure PCTKR2011009358-appb-I000006

상술된 내용에서 intraPredModeNum에 대한 조건은 3 에 한정되는 것이 아니고, 예를 들어 3 대신 4가 사용될 수도 있다.
복호화기는 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블을 업데이트할 수 있다. 이는 다음과 같이 나타내어질 수 있다.

Figure PCTKR2011009358-appb-I000007

상술된 내용에서 intraPredModeNum에 대한 조건은 3 에 한정되는 것이 아니고, 예를 들어 3 대신 4가 사용될 수도 있다.

코드 넘버를 도출하기 위한 파싱 과정은 다음과 같이 나타내어질 수 있다. 여기서, 취소선(문자 및/또는 문장의 가운데를 수평으로 가로지르는 선)이 표시된 부분들은 인덱스 매핑 테이블의 사용과 관련된 부분들로서, 파싱 과정에서 사용되지 않는 부분을 나타낸다.

Figure PCTKR2011009358-appb-I000008

상술된 파싱 과정을 참조하면, 복호화기는 코드 넘버로부터 현재 테이블 인덱스를 도출한 후 현재 테이블 인덱스에 대해 인덱스 매핑 테이블을 적용하므로, 파싱 과정에서 인덱스 매핑 테이블을 사용하지 않을 수 있다.

상술한 도 10 내지 도 13의 실시예에 따른 인트라 예측 모드 부호화/복호화 방법에서는 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블이 사용될 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 17이라 가정할 때, 상기 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블에 대한 소스 코드(source code)의 실시예는 다음과 같이 나타내어질 수 있다.

const UInt g_auiIntraModeTableD17[17]={2, 3, 9, 15, 11, 7, 8, 4, 6, 0, 1, 12, 10, 16, 14, 5, 13};
const UInt g_auiIntraModeTableE17[17]={9, 10, 0, 1, 7, 15, 8, 5, 6, 2, 12, 4, 11, 16, 14, 3, 13};

여기서, g_auiIntraModeTableD17은 인덱스 매핑 테이블, g_auiIntraModeTableE17은 역 인덱스 매핑 테이블을 나타낸다. 각각의 리스트에 포함된 숫자들은 예측 모드의 모드값을 나타낸다.
각 리스트에 포함된 예측 모드들에는 인덱스 매핑 테이블의 인덱스가 할당될 수 있다. 이 때, 리스트 내의 N번째 예측 모드에는 N-1의 인덱스가 할당될 수 있다. 예를 들어, 인덱스 매핑 테이블에서 9는 세 번째 예측 모드이므로, 예측 모드 9에는 인덱스 2가 할당될 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 34라고 가정할 때, 상기 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블에 대한 소스 코드(source code)의 실시예는 다음과 같이 나타내어질 수 있다.

const UInt g_auiIntraModeTableD34[34]={2, 0, 1, 30, 29, 8, 16, 21, 22, 15, 12, 9, 11, 3, 4, 7, 31, 5, 6, 32, 17, 20, 10, 19, 23, 13, 24, 28, 14, 27, 18, 26, 25, 33};
const UInt g_auiIntraModeTableE34[34]={1, 2, 0, 13, 14, 17, 18, 15, 5, 11, 22, 12, 10, 25, 28, 9, 6, 20, 30, 23, 21, 7, 8, 24, 26, 32, 31, 29, 27, 4, 3, 16, 19, 33};

여기서, g_auiIntraModeTableD34는 인덱스 매핑 테이블, g_auiIntraModeTableE34는 역 인덱스 매핑 테이블을 나타낸다. 각각의 리스트에 포함된 숫자들은 예측 모드의 모드값을 나타낸다.
각 리스트에 포함된 예측 모드들에는 인덱스 매핑 테이블의 인덱스가 할당될 수 있다. 이 때, 리스트 내의 N번째 예측 모드에는 N-1의 인덱스가 할당될 수 있다. 예를 들어, 인덱스 매핑 테이블에서 30은 네 번째 예측 모드이므로, 예측 모드 30에는 인덱스 3이 할당될 수 있다.

상술한 도 10 내지 도 13의 실시예에 따른 인트라 예측 모드 부호화/복호화 방법에서는 VLC 테이블도 사용될 수 있다. 일 실시예로 VLC 테이블은 허프만 코드(Huffman Code)를 이용하여 구성될 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 17이고 MPM 후보의 개수가 1 또는 2라고 가정할 때, 상기 VLC 테이블에 대한 소스 코드(source code)의 실시예는 다음과 같이 나타내어질 수 있다.

const UInt huff17_2[2][17]=
{
{1, 7, 5, 13, 12, 9, 8, 6, 5, 4, 3, 2, 0, 15, 14, 3, 2},
{1, 6, 1, 14, 11, 10, 9, 8, 7, 6, 5, 4, 1, 0, 31, 30, 0},
};
const UInt lengthHuff17_2[2][17]=
{
{1, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6},
{1, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 0},
};

각 huff17_2 및 lengthHuff17_2 내에서 상단의 리스트는 MPM 후보의 개수가 1일 때 사용될 수 있고, 하단의 리스트는 MPM 후보의 개수가 2일 때 사용될 수 있다.
각 huff17_2 및 lengthHuff17_2 내의 각 리스트에서 첫 번째 컴포넌트(component)는 MPM 플래그를 나타내기 위한 컴포넌트일 수 있다. 여기서, MPM 플래그는 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하는지 여부를 지시하는 플래그일 수 있으며, 예를 들어 prev_intra_luma_pred_flag일 수 있다. 상기 MPM 플래그 값이 1일 때에는 리메이닝 모드에 관한 정보가 전송되지 않을 수 있다.
각 huff17_2 및 lengthHuff17_2 내의 각 리스트에서 두 번째부터 마지막까지의 컴포넌트들은 MPM 플래그 값이 0임을 나타낼 수 있고, 전송되는 코드 넘버가 어떤 값을 갖는지를 나타낼 수 있다. 여기서, 코드 넘버에는 현재 예측 유닛의 리메이닝 모드가 반영될 수 있으므로, 리메이닝 모드(remaining mode)의 랭크(rank)로도 불릴 수 있다.
구체적으로, huff17_2 내의 컴포넌트들은 허프만 2진수가 10진수로 표현된 값을 나타내고, lengthHuff17_2 내의 컴포넌트들은 허프만 2진수의 길이를 나타낼 수 있다. 이 때, 허프만 2진수의 길이는 MPM 플래그를 나타내기 위한 비트(1비트)를 포함한 길이를 나타낼 수 있다. 또한 현재 코드 넘버가 N인 경우, 부호화기 및/또는 복호화기는 huff17_2 및 lengthHuff17_2 내의 각 리스트에서 N+2번째 컴포넌트를 참조할 수 있다. 이는 리스트 내의 첫 번째 컴포넌트들은 MPM 플래그를 나타내기 위한 컴포넌트이고, 두 번째 컴포넌트들은 코드 넘버가 0인 경우를 나타내기 위한 컴포넌트이기 때문이다.
예를 들어, MPM후보의 개수가 1개이고, 상기 소스 코드에서 코드 넘버가 1인 경우, 부호화기 및/또는 복호화기는 huff17_2 및 lengthHuff17_2 내의 상단 리스트에서 3번째 컴포넌트를 참조할 수 있다. huff17_2에서 3번째 컴포넌트는 5이고 lengthHuff17_2에서 3번째 컴포넌트는 4이므로, 코드 넘버 1에 대응되는 코드워드는 ‘0101’일 수 있다. 이 때, 첫 번째 비트에 위치한 ‘0’은 MPM 플래그를 나타내고, 나머지 세 개의 비트에 위치한 ‘101’은 코드 넘버, 즉 리메이닝 모드의 랭크를 나타낼 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 34이고 MPM 후보의 개수가 1 또는 2라고 가정할 때, 상기 VLC 테이블에 대한 소스 코드의 실시예는 다음과 같이 나타내어질 수 있다.

const UInt huff34_2[2][34]=
{
{1, 7, 0, 12, 8, 4, 27, 26, 19, 15, 13, 11, 10, 7, 5, 4, 47, 46, 45, 44, 43, 41, 40, 37, 36, 29, 25, 24, 13, 12, 85, 84, 57, 56 },
{1, 0, 4, 13, 4, 28, 24, 22, 15, 13, 11, 10, 63, 62, 60, 59, 58, 51, 47, 46, 43, 42, 41, 40, 28, 25, 24, 123, 122, 101, 100, 59, 58, 0 }
};
const UInt lengthHuff34_2[2][34]=
{
{1, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8 },
{1, 3, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 0 }
};

여기서, huff34_2 내의 컴포넌트들은 허프만 2진수가 10진수로 표현된 값을 나타내고, lengthHuff34_2 내의 컴포넌트들은 허프만 2진수의 길이를 나타낼 수 있다. 상기 코드를 통해 코드워드와 코드 넘버를 매핑시키는 방법은 상술한 방법과 동일하다.

도 5의 실시예에서 상술한 바와 같이, 부호화기 및 복호화기는 고정된 개수의 MPM 후보를 사용할 수도 있다. 현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 18이고 MPM 후보의 개수는 항상 2로 고정된다고 가정할 때, 상기 VLC 테이블에 대한 소스 코드의 실시예는 다음과 같이 나타내어질 수 있다.

const UInt huff17_2[18] = { 1, 7, 4, 1, 12, 10, 7, 6, 5, 4, 1, 0, 26, 23, 22, 55, 54, 0 };
const UInt lengthHuff17_2[18] = { 1, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 0 };

여기서, MPM 후보의 개수는 항상 2로 고정되므로, huff17_2 및 lengthHuff17_2는 각각 하나의 리스트만을 가질 수 있다. 상기 코드를 통해 코드워드와 코드 넘버를 매핑시키는 방법은 상술한 방법과 동일하다.
예를 들어, 상기 소스 코드에서 코드 넘버가 1인 경우, 부호화기 및/또는 복호화기는 huff17_2 및 lengthHuff17_2 내의 리스트에서 3번째 컴포넌트를 참조할 수 있다. huff17_2에서 3번째 컴포넌트, 즉 huff17_2[2]는 4이고 lengthHuff17_2에서 3번째 컴포넌트, 즉 lengthHuff17_2[2]는 4이므로, 코드 넘버 1에 대응되는 코드워드는 ‘0100’일 수 있다. 이 때, 첫 번째 비트에 위치한 ‘0’은 MPM 플래그를 나타내고, 나머지 세 개의 비트에 위치한 ‘100’은 코드 넘버, 즉 리메이닝 모드의 랭크를 나타낼 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 35이고 MPM 후보의 개수는 항상 2로 고정된다고 가정할 때, 상기 VLC 테이블에 대한 소스 코드의 실시예는 다음과 같이 나타내어질 수 있다.

const UInt huff34_2[35] = { 1, 1, 4, 0, 12, 3, 28, 21, 5, 4, 63, 60, 58, 53, 47, 46, 45, 41, 40, 125, 124, 123, 119, 118, 111, 110, 109, 108, 105, 104, 89, 88, 245, 244, 0 };
const UInt lengthHuff34_2[35] = { 1, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 0 };

여기서, MPM 후보의 개수는 항상 2로 고정되므로, huff17_2 및 lengthHuff17_2는 각각 하나의 리스트만을 가질 수 있다. 상기 코드를 통해 코드워드와 코드 넘버를 매핑시키는 방법은 상술한 방법과 동일하다.

상술한 도 10의 실시예에서는 현재 예측 유닛의 실제 예측 모드에 직접 역 인덱스 매핑 테이블이 적용될 수 있고, 도 12의 실시예에서는 현재 테이블 인덱스에 인덱스 매핑 테이블이 적용되면 직접 현재 예측 유닛의 실제 예측 모드가 얻어질 수 있다. 따라서 상술한 도 10 내지 도 13의 실시예에서 매핑 테이블은 현재 예측 유닛의 실제 예측 모드에 따라 업데이트될 수 있다. 따라서 상기 매핑 테이블은 리메이닝 모드가 아닌 실제 인트라 예측 모드의 분포를 반영할 수 있다. 상기 방법을 통해, 부호화기 및 복호화기는 현재 컨텐츠(contents)의 특성을 직접적으로 반영하여 더 효율적으로 코드워드를 할당할 수 있고, 부호화기에서 복호화기로 전송되는 비트량이 감소될 수 있다.
도 8 및 도 9의 실시예에서는 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블의 엔트리(entry) 개수가 현재 예측 유닛이 가질 수 있는 리메이닝 모드의 개수와 동일하다. 따라서 이 경우, MPM의 개수에 따라 서로 다른 매핑 테이블이 사용되어야 한다.
그러나, 도 10 내지 도 13의 실시예에서 인덱스 매핑 테이블 및 역 인덱스 매핑 테이블의 엔트리(entry) 개수는 현재 예측 유닛이 가질 수 있는 실제 예측 모드의 개수와 동일하다. 현재 예측 유닛이 가질 수 있는 실제 예측 모드의 개수는 MPM의 개수에 관계 없이 일정하므로, 부호화기 및 복호화기는 MPM의 개수에 따라 서로 다른 매핑 테이블을 사용할 필요가 없다. 따라서 메모리가 절약될 수 있고 컨텐츠의 특성이 매핑 테이블에 더 빠르게 반영될 수 있어, 결과적으로 부호화기에서 복호화기로 전송되는 비트량이 감소될 수 있다. 다만, 도 12의 실시예에서 상술한 바와 같이, 복호화기는 MPM의 인덱스 값을 도출하기 위해 별개의 역 인덱스 매핑 테이블을 사용할 수도 있다.
다음 표 1은 인트라 예측 모드의 복호화 방법에 따라 복호화기에서 필요한 매핑 테이블의 개수 및 각 매핑 테이블의 엔트리 개수를 개략적으로 나타내는 실시예이다. 표 1에서 MPM 후보의 수는 1개 또는 2개일 수 있다고 가정하며, 현재 예측 유닛이 가질 수 있는 예측 모드의 개수는 17개 또는 34개라고 가정한다. 현재 예측 유닛이 가질 수 있는 예측 모드의 개수는 아래의 실시예에 한정되는 것은 아니며 구현 및 필요에 따라 달라질 수 있다. 예를 들어, 예측 모드의 개수는 17 대신 18, 34 대신 35일 수도 있다. 이 경우에는 다음 표 1에서 각 매핑 테이블의 엔트리 개수도 달라질 수 있다.
[표 1]
Figure PCTKR2011009358-appb-I000009

표 1을 참조하면, 현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 17개일 때 도 9의 실시예에 따른 인트라 예측 모드 복호화 방법에서는 두 개의 인덱스 매핑 테이블이 필요할 수 있다. 이 때, 두 개의 인덱스 매핑 테이블 중 하나는 15개의 엔트리를 가지고, 다른 하나는 16개의 엔트리를 가질 수 있다. 또한 현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 34개일 때에도 도 9의 실시예에 따른 인트라 예측 모드 복호화 방법에서는 두 개의 인덱스 매핑 테이블이 필요할 수 있다. 이 때, 두 개의 인덱스 매핑 테이블 중 하나는 32개의 엔트리를 가지고, 다른 하나는 33개의 엔트리를 가질 수 있다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 17개일 때, 도 12의 실시예에 따른 인트라 예측 모드 복호화 방법에서는 한 개의 인덱스 매핑 테이블 및 한 개의 역 인덱스 매핑 테이블이 필요할 수 있다. 이 때, 매핑 테이블들은 각각 17개의 엔트리를 가질 수 있다. 현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 17개일 때, 도 12의 실시예에 따른 인트라 예측 모드 복호화 방법에서는 17개의 엔트리를 가진 한 개의 인덱스 매핑 테이블만이 필요할 수도 있다. 복호화기는 별개의 역 인덱스 매핑 테이블을 사용하지 않고 MPM의 인덱스 값을 도출할 수 있기 때문이다.
현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 34개일 때, 도 12의 실시예에 따른 인트라 예측 모드 복호화 방법에서는 한 개의 인덱스 매핑 테이블 및 한 개의 역 인덱스 매핑 테이블이 필요할 수 있다. 이 때, 매핑 테이블들은 각각 34개의 엔트리를 가질 수 있다. 현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 34개일 때, 도 12의 실시예에 따른 인트라 예측 모드 복호화 방법에서는 34개의 엔트리를 가진 한 개의 인덱스 매핑 테이블만이 필요할 수도 있다. 복호화기는 별개의 역 인덱스 매핑 테이블을 사용하지 않고 MPM의 인덱스 값을 도출할 수 있기 때문이다.

한편, 도 5의 실시예에서 상술한 바와 같이, 부호화기 및 복호화기는 고정된 개수의 MPM 후보를 사용할 수도 있다. MPM 후보의 개수가 고정되면, 리메이닝 모드의 개수도 고정될 수 있다. 이 경우에는 현재 예측 유닛이 가질 수 있는 예측 모드의 개수가 17개, 34개인 각각의 경우에 대해, 상술한 도 9의 실시예에 따른 인트라 예측 모드 복호화 방법에서도 한 개의 인덱스 매핑 테이블만이 사용될 수 있다.

상술한 도 10 내지 도 13의 실시예에서 MPM 후보들 중 현재 예측 유닛과 동일한 예측 모드를 갖는 후보가 존재하는 경우, 즉 MPM 후보들 중 하나가 현재 예측 모드로 선택되는 예측 유닛에 대해서는 리메이닝 모드가 복호화기로 전송되지 않을 수 있다. 그러나, 도 10 내지 도 13의 실시예에서 사용되는 매핑 테이블은 리메이닝 모드가 아닌 현재 예측 유닛의 실제 예측 모드에 기반하므로, MPM 후보들 중 하나가 현재 예측 모드로 선택되는 경우, 즉 리메이닝 모드가 전송되지 않는 경우에도 업데이트될 수 있다. 따라서, 부호화기 및 복호화기는 인트라 예측 모드의 분포가 더 빠르게 매핑 테이블에 반영되도록 할 수 있다.

상술한 도 10 내지 도 13의 실시예에서 코드 넘버 값의 분포는 MPM 후보 리스트에 DC 모드가 포함되어 있는지 여부에 따라 달라질 수 있다. MPM 후보 리스트에 DC 모드가 포함되는 경우 DC 모드나 플래너(Planar) 모드의 발생 빈도가 높아질 수 있다. 따라서 이러한 경우, MPM 후보들을 제외한 리메이닝 모드를 반영하는 코드 넘버 값들은, MPM 후보 리스트에 DC 모드가 포함되지 않는 경우에 비해, 더 고르게 분포될 수 있다. 즉, MPM 후보 리스트에 DC 모드가 포함되는 경우에는, 그렇지 않은 경우에 비해, 작은 코드 넘버의 발생 빈도가 상대적으로 낮아질 수 있다.
따라서, MPM 후보 리스트에 DC 모드가 포함되는 경우에는 코드 넘버의 이진화 방법이 다르게 적용됨으로써 부호화 효율이 향상될 수 있다. 일 실시예로, MPM 후보 리스트에 DC 모드가 포함된 경우에는 그렇지 않은 경우에 비해, 작은 코드 넘버에 상대적으로 더 많은 수의 비트(bit)가 할당되도록 코드워드가 정해질 수 있다.

도 14는 본 발명의 실시예에 따른 인트라 예측 모드 부호화 방법을 개략적으로 나타내는 흐름도이다.
도 14를 참조하면, 부호화기는 현재 예측 유닛의 예측 모드로부터 현재 테이블 인덱스를 획득한다(S1410). 부호화기는 현재 예측 유닛의 예측 모드에 직접 역 인덱스 매핑 테이블을 적용하여 현재 예측 모드에 대한 현재 테이블 인덱스를 생성할 수 있다. 여기서, 역 인덱스 매핑 테이블의 엔트리 개수는 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일할 수 있다. 인트라 예측 모드 부호화에 사용되는 역 인덱스 매핑 테이블의 실시예는 상술한 바 있다.
부호화기는 현재 테이블 인덱스로부터 코드 넘버를 도출한다(S1420). 부호화기는 현재 테이블 인덱스 정보 및 MPM 후보의 인덱스 정보로부터 코드 넘버를 도출할 수 있다. 상기 현재 테이블 인덱스 정보에는 현재 테이블 인덱스의 값 등이 있을 수 있고, MPM 후보의 인덱스 정보에는 MPM 후보의 개수 및 MPM 후보의 인덱스의 값 등이 있을 수 있다. 상기 코드 넘버는 코드워드 인덱스로도 불릴 수 있다. 현재 테이블 인덱스에서 코드 넘버로의 변환(conversion) 과정의 구체적인 실시예들은 도 10 및 도 11의 실시예에서 상술된 바와 같을 수 있다.
부호화기는 VLC 테이블을 이용하여 코드 넘버를 코드워드로 변환(convert)할 수 있고, 상기 코드워드는 복호화기로 전송될 수 있다(S1430). 인트라 예측 모드 부호화에 사용되는 VLC 테이블의 실시예는 상술한 바 있다.

도 15는 본 발명의 실시예에 따른 인트라 예측 모드 복호화 방법을 개략적으로 나타내는 흐름도이다.
도 15를 참조하면, 복호화기는 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드를 코드 넘버로 변환(convert)할 수 있다(S1510). 상기 코드 넘버는 코드워드 인덱스로도 불릴 수 있다.
복호화기는 상기 코드 넘버로부터 현재 테이블 인덱스를 도출한다(S1520). 복호화기는 상기 코드 넘버 및 MPM 후보의 인덱스 정보를 이용하여 현재 테이블 인덱스를 생성할 수 있다. MPM 후보의 인덱스 정보에는 MPM 후보의 개수 및 MPM 후보의 인덱스의 값 등이 있을 수 있다. 복호화기는 MPM 후보의 인덱스를 도출하기 위해 역 인덱스 매핑 테이블을 사용할 수도 있다. 상기 코드 넘버에서 현재 테이블 인덱스로의 변환(conversion) 과정의 구체적인 실시예들은 도 12 및 도 13에서 상술된 바와 같을 수 있다.
복호화기는 상기 현재 테이블 인덱스로부터 현재 예측 유닛에 대한 인트라 예측 모드를 획득한다(S1530). 복호화기는 상기 현재 테이블 인덱스에 인덱스 매핑 테이블을 적용함으로써 현재 예측 모드를 도출할 수 있다. 여기서 인덱스 매핑 테이블은 코드 넘버에 직접 적용되지 않을 수 있고, MPM 후보의 인덱스 정보를 이용하여 생성된 현재 테이블 인덱스에 적용될 수 있다. 여기서, 인덱스 매핑 테이블의 엔트리 개수는 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일할 수 있다. 인트라 예측 모드 부호화에 사용되는 인덱스 매핑 테이블의 실시예는 상술한 바 있다.

도 1 및 도 3의 실시예에서 상술한 바와 같이, 부호화기 및 복호화기는 엔트로피 부호화/복호화를 위해 CAVLC 뿐만 아니라 CABAC을 이용할 수도 있다. CABAC 엔트로피 부호화 방법에서, 부호화기는 심볼을 이진화하여 빈(bin)으로 변환하고, 빈의 발생 확률에 따라 빈에 대한 산술 부호화를 수행하여 비트스트림을 생성할 수 있다. 이 때, 복호화기도 이에 대응하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다.
상술한 도 10 내지 도 16의 실시예에 따른 인트라 예측 모드 부호화/복호화 방법은 CAVLC를 이용하여 엔트로피 부호화/복호화를 수행하는 경우뿐만 아니라 CABAC을 이용하여 엔트로피 부호화/복호화를 수행하는 경우에도 동일한 방식으로 적용될 수 있다. 이 때, 부호화기 및 복호화기는 도 10 내지 도 16의 실시예에서 상술한 매핑 테이블과 동일한 형태의 매핑 테이블을 이용하여 CABAC 엔트로피 부호화/복호화를 수행할 수 있으며, 상기 매핑 테이블은 리메이닝 모드가 아닌 실제 인트라 예측 모드의 분포를 반영할 수 있다.

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

Claims (17)

  1. 인트라(intra) 모드에서 현재 블록에 대한 예측을 수행하는 영상 복호화 방법으로서,
    코드 넘버(code number) 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스(current table index)를 생성하는 단계; 및
    상기 현재 테이블 인덱스에 인덱스 매핑 테이블(index mapping table)을 적용하여 현재 예측 모드를 도출하는 단계를 포함하고,
    상기 MPM 인덱스 정보는 MPM 후보(MPM candidate)의 개수 및 상기 MPM 후보의 인덱스의 값을 포함하고, 상기 MPM 후보의 인덱스는 상기 인덱스 매핑 테이블에서 상기 MPM 후보에 할당되는 인덱스이고, 상기 현재 예측 모드는 현재 예측 유닛의 인트라 예측 모드이고, 상기 현재 테이블 인덱스는 상기 인덱스 매핑 테이블에서 상기 현재 예측 모드에 할당되는 인덱스인 영상 복호화 방법.
  2. 청구항 1에 있어서, 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드(codeword)를 상기 코드 넘버로 변환(convert)하는 단계를 추가로 포함하는 영상 복호화 방법.
  3. 청구항 1에 있어서, 상기 인덱스 매핑 테이블 내 엔트리(entry)의 개수는 상기 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일한 영상 복호화 방법.
  4. 청구항 1에 있어서, 상기 MPM 후보의 인덱스 값은 상기 MPM 후보의 모드값에 역 인덱스 매핑 테이블(inverse index mapping table)을 적용함으로써 도출되는 영상 복호화 방법.
  5. 청구항 1에 있어서, 상기 MPM 후보의 개수는 소정의 고정된 값인 영상 복호화 방법.
  6. 청구항 5에 있어서, 상기 소정의 고정된 값은 2, 3 또는 4인 영상 복호화 방법.
  7. 청구항 1에 있어서, 상기 현재 테이블 인덱스의 발생 빈도에 기초하여 상기 인덱스 매핑 테이블을 업데이트하는 단계를 추가로 포함하는 영상 복호화 방법.
  8. 청구항 7에 있어서, 상기 인덱스 매핑 테이블은, 상기 MPM 후보 중 하나가 인트라 예측 모드로 선택되는 예측 유닛에 대해서도 업데이트되는 영상 복호화 방법.
  9. 코드 넘버(code number) 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스(current table index)를 생성하고, 상기 현재 테이블 인덱스에 인덱스 매핑 테이블(index mapping table)을 적용하여 현재 예측 모드를 도출하는 엔트로피 복호화부; 및
    상기 도출된 현재 예측 모드를 이용하여 현재 블록에 대한 인트라 예측을 수행하는 예측부를 포함하고,
    상기 MPM 인덱스 정보는 MPM 후보(MPM candidate)의 개수 및 상기 MPM 후보의 인덱스의 값을 포함하고, 상기 MPM 후보의 인덱스는 상기 인덱스 매핑 테이블에서 상기 MPM 후보에 할당되는 인덱스이고, 상기 현재 예측 모드는 상기 현재 예측 유닛의 인트라 예측 모드이고, 상기 현재 테이블 인덱스는 상기 인덱스 매핑 테이블에서 상기 현재 예측 모드에 할당되는 인덱스인 영상 복호화 장치.
  10. 인트라 예측 모드 정보를 엔트로피 복호화하기 위한 인트라 예측 모드 복호화 방법으로서,
    코드 넘버(code number) 및 MPM 인덱스 정보를 이용하여 현재 테이블 인덱스(current table index)를 생성하는 단계; 및
    상기 현재 테이블 인덱스에 인덱스 매핑 테이블(index mapping table)을 적용하여 현재 예측 모드를 도출하는 단계를 포함하고,
    상기 MPM 인덱스 정보는 MPM 후보(MPM candidate)의 개수 및 상기 MPM 후보의 인덱스의 값을 포함하고, 상기 MPM 후보의 인덱스는 상기 인덱스 매핑 테이블에서 상기 MPM 후보에 할당되는 인덱스이고, 상기 현재 예측 모드는 현재 예측 유닛의 인트라 예측 모드이고, 상기 현재 테이블 인덱스는 상기 인덱스 매핑 테이블에서 상기 현재 예측 모드에 할당되는 인덱스인 인트라 예측 모드 복호화 방법.
  11. 청구항 10에 있어서, 역 VLC 테이블을 이용하여 부호화기로부터 수신한 코드워드(codeword)를 상기 코드 넘버로 변환(convert)하는 단계를 추가로 포함하는 인트라 예측 모드 복호화 방법.
  12. 청구항 10에 있어서, 상기 인덱스 매핑 테이블 내 엔트리(entry)의 개수는 상기 현재 예측 유닛이 가질 수 있는 인트라 예측 모드의 개수와 동일한 인트라 예측 모드 복호화 방법.
  13. 청구항 10에 있어서, 상기 MPM 후보의 인덱스 값은 상기 MPM 후보의 모드값에 역 인덱스 매핑 테이블(inverse index mapping table)을 적용함으로써 도출되는 인트라 예측 모드 복호화 방법.
  14. 청구항 10에 있어서, 상기 MPM 후보의 개수는 소정의 고정된 값인 인트라 예측 모드 복호화 방법.
  15. 청구항 14에 있어서, 상기 소정의 고정된 값은 2, 3 또는 4인 인트라 예측 모드 복호화 방법.
  16. 청구항 10에 있어서, 상기 현재 테이블 인덱스의 발생 빈도에 기초하여 상기 인덱스 매핑 테이블을 업데이트하는 단계를 추가로 포함하는 인트라 예측 모드 복호화 방법.
  17. 청구항 16에 있어서, 상기 인덱스 매핑 테이블은, 상기 MPM 후보 중 하나가 인트라 예측 모드로 선택되는 예측 유닛에 대해서도 업데이트되는 인트라 예측 모드 복호화 방법.
PCT/KR2011/009358 2011-06-17 2011-12-05 인트라 예측 모드 부호화/복호화 방법 및 장치 WO2012173315A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020137033462A KR101876173B1 (ko) 2011-06-17 2011-12-05 인트라 예측 모드 부호화/복호화 방법 및 장치
US14/126,916 US9762900B2 (en) 2011-06-17 2011-12-05 Method and apparatus for encoding/decoding video in intra prediction mode

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201161497955P 2011-06-17 2011-06-17
US61/497,955 2011-06-17
US201161504235P 2011-07-03 2011-07-03
US61/504,235 2011-07-03
US201161506158P 2011-07-10 2011-07-10
US61/506,158 2011-07-10
US201161510034P 2011-07-20 2011-07-20
US61/510,034 2011-07-20

Publications (1)

Publication Number Publication Date
WO2012173315A1 true WO2012173315A1 (ko) 2012-12-20

Family

ID=47357283

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/009358 WO2012173315A1 (ko) 2011-06-17 2011-12-05 인트라 예측 모드 부호화/복호화 방법 및 장치

Country Status (3)

Country Link
US (1) US9762900B2 (ko)
KR (1) KR101876173B1 (ko)
WO (1) WO2012173315A1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017204427A1 (ko) * 2016-05-23 2017-11-30 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
CN107750455A (zh) * 2015-06-18 2018-03-02 高通股份有限公司 帧内预测及帧内模式译码
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
CN114270825A (zh) * 2019-08-19 2022-04-01 北京字节跳动网络技术有限公司 基于计数器的帧内预测模式的初始化
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2661880A4 (en) * 2011-01-07 2016-06-29 Mediatek Singapore Pte Ltd METHOD AND DEVICE FOR IMPROVED CODING OF INTRA-LUMA PREDICTION MODE
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
BR122020013891B1 (pt) * 2011-06-17 2022-09-13 JVC Kenwood Corporation Dispositivo e método para decodificação de imagem, dispositivo e método para transmissão, e dispositivo e método para recepção
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
KR101620619B1 (ko) * 2012-01-30 2016-05-12 한국전자통신연구원 인트라 예측 모드 부호화/복호화 방법 및 장치
WO2013115568A1 (ko) 2012-01-30 2013-08-08 한국전자통신연구원 인트라 예측 모드 부호화/복호화 방법 및 장치
KR20170026276A (ko) 2015-08-28 2017-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP4192009A1 (en) * 2015-11-19 2023-06-07 LX Semicon Co., Ltd. Method and apparatus for encoding/decoding intra prediction mode
WO2017222334A1 (ko) * 2016-06-24 2017-12-28 한국전자통신연구원 변환 기반의 영상 부호화/복호화 방법 및 장치
CN109479138B (zh) * 2016-07-13 2023-11-03 韩国电子通信研究院 图像编码/解码方法和装置
CN117201807A (zh) * 2016-08-01 2023-12-08 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
US9673836B1 (en) * 2016-09-23 2017-06-06 International Business Machines Corporation System level testing of entropy encoding
CN109792521A (zh) * 2016-10-04 2019-05-21 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质
CN116800957A (zh) 2017-01-02 2023-09-22 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的发送方法以及存储介质
WO2018232676A1 (zh) 2017-06-22 2018-12-27 华为技术有限公司 一种帧内预测的方法及装置
CN110720216B (zh) * 2017-07-05 2022-05-10 华为技术有限公司 用于视频编码的设备和方法
TWI744662B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 更新查閱資料表(lut)的條件
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
EP3791589A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Which lut to be updated or no updating
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
TWI723445B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 查找表的更新:fifo、約束的fifo
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CN110677666B (zh) 2018-07-02 2022-06-14 北京字节跳动网络技术有限公司 Lamvr中取整和修剪的顺序
US11509890B2 (en) 2018-07-24 2022-11-22 Hfi Innovation Inc. Methods and apparatus for entropy coding and decoding aspects of video data
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN114145017A (zh) * 2019-06-13 2022-03-04 Lg 电子株式会社 基于帧内预测模式转换的图像编码/解码方法和设备,以及发送比特流的方法
CN114930851A (zh) * 2019-10-29 2022-08-19 Lg电子株式会社 基于变换的图像编码方法及其装置
WO2023200907A1 (en) * 2022-04-14 2023-10-19 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for geometric partitioning mode with adaptive blending

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020082795A (ko) * 2001-04-24 2002-10-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩된 비디오 데이터 흐름에서 노이즈를 검출하는 방법
KR20090012985A (ko) * 2007-07-30 2009-02-04 한국정보통신대학교 산학협력단 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
KR20110019855A (ko) * 2009-08-21 2011-03-02 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US20110317757A1 (en) * 2010-06-25 2011-12-29 Qualcomm Incorporated Intra prediction mode signaling for finer spatial prediction directions
KR102148422B1 (ko) * 2010-12-08 2020-08-28 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
KR20120070479A (ko) * 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020082795A (ko) * 2001-04-24 2002-10-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩된 비디오 데이터 흐름에서 노이즈를 검출하는 방법
KR20090012985A (ko) * 2007-07-30 2009-02-04 한국정보통신대학교 산학협력단 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
KR20110019855A (ko) * 2009-08-21 2011-03-02 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107750455A (zh) * 2015-06-18 2018-03-02 高通股份有限公司 帧内预测及帧内模式译码
CN107750455B (zh) * 2015-06-18 2020-08-18 高通股份有限公司 帧内预测及帧内模式译码
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
WO2017204427A1 (ko) * 2016-05-23 2017-11-30 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
CN114270825A (zh) * 2019-08-19 2022-04-01 北京字节跳动网络技术有限公司 基于计数器的帧内预测模式的初始化

Also Published As

Publication number Publication date
KR20140037130A (ko) 2014-03-26
US9762900B2 (en) 2017-09-12
KR101876173B1 (ko) 2018-07-09
US20140126629A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
WO2012173315A1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
KR101425772B1 (ko) 영상 부호화 및 복호화 방법과 이를 이용한 장치
US10021419B2 (en) Rice parameter initialization for coefficient level coding in video coding process
US9462275B2 (en) Residual quad tree (RQT) coding for video coding
US9191670B2 (en) Throughput improvement for CABAC coefficient level coding
KR20130106340A (ko) 인트라 예측 모드 부호화/복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR102171380B1 (ko) 병렬 엔트로피 부호화/복호화 방법 및 장치
JP2022510145A (ja) しきい値とライスパラメータとを使用した係数復号のための正規コード化ビン低減
JP2022516132A (ja) 係数レベルのためのエスケープコーディング
WO2012128453A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2012067412A2 (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: 11867741

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20137033462

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14126916

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 11867741

Country of ref document: EP

Kind code of ref document: A1