WO2018131982A1 - 영상 신호 부호화/복호화 방법 및 장치 - Google Patents

영상 신호 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2018131982A1
WO2018131982A1 PCT/KR2018/000729 KR2018000729W WO2018131982A1 WO 2018131982 A1 WO2018131982 A1 WO 2018131982A1 KR 2018000729 W KR2018000729 W KR 2018000729W WO 2018131982 A1 WO2018131982 A1 WO 2018131982A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
block
mode
information
prediction block
Prior art date
Application number
PCT/KR2018/000729
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
Priority to CN202310699723.4A priority Critical patent/CN116866551A/zh
Priority to CN202310699633.5A priority patent/CN116866550A/zh
Application filed by 세종대학교 산학협력단 filed Critical 세종대학교 산학협력단
Priority to CN202310700368.8A priority patent/CN116866557A/zh
Priority to CN202310700114.6A priority patent/CN116886896A/zh
Priority to CN202310700230.8A priority patent/CN116962675A/zh
Priority to CN202310700121.6A priority patent/CN116886897A/zh
Priority to CN202310700684.5A priority patent/CN116915979A/zh
Priority to CN202310699818.6A priority patent/CN116866552A/zh
Priority to CN202310699049.XA priority patent/CN116896627A/zh
Priority to EP18739400.2A priority patent/EP3557867A4/en
Priority to CN201880007072.5A priority patent/CN110199520B/zh
Priority to CN202310699605.3A priority patent/CN116962674A/zh
Priority to CN202310699300.2A priority patent/CN116896628A/zh
Priority to CN202310699576.0A priority patent/CN117041535A/zh
Priority to CN202310700697.2A priority patent/CN116962676A/zh
Priority to CN202310700145.1A priority patent/CN116866554A/zh
Priority to CN202310700367.3A priority patent/CN116866556A/zh
Priority to US16/478,223 priority patent/US10951884B2/en
Priority to CN202310700350.8A priority patent/CN116866555A/zh
Priority to CN202310699520.5A priority patent/CN116866549A/zh
Priority to CN202310699959.8A priority patent/CN116866553A/zh
Priority to EP23204054.3A priority patent/EP4300961A3/en
Priority to CN202310700620.5A priority patent/CN116886898A/zh
Publication of WO2018131982A1 publication Critical patent/WO2018131982A1/ko
Priority to US17/158,291 priority patent/US11533470B2/en
Priority to US17/580,937 priority patent/US11665337B2/en
Priority to US17/981,841 priority patent/US20230066631A1/en
Priority to US18/137,495 priority patent/US20230269367A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Definitions

  • the present invention relates to a video signal encoding / decoding method and apparatus, and more particularly, to a video signal encoding / decoding method and apparatus to which a hybrid mode is applied as a coding mode.
  • HEVC defines techniques such as intra prediction (or intra prediction), inter prediction (or inter prediction), transformation, quantization, entropy coding, and in-loop filter.
  • HEVC High Efficiency Video Coding
  • inter prediction only one prediction (intra prediction or inter prediction) may be performed in a coding block (or coding unit), thereby lowering the accuracy of prediction.
  • the planar mode, the DC mode, and the angular mode may be performed as the intra prediction mode, which causes a problem that the accuracy of prediction is low.
  • the present invention has been made to solve the above-mentioned problem, and a main object of the present invention is to provide a method for performing prediction according to two or more prediction methods in a coding block.
  • Another object of the present invention is to provide a method for determining an inter prediction mode in consideration of positional characteristics of a prediction block in a coding block.
  • Another object of the present invention is to provide a method of determining an intra prediction mode in consideration of positional characteristics of a prediction block in an encoding block during intra prediction.
  • a method of decoding an image includes decoding coding mode information of a current coding block, dividing the current coding block into at least one prediction block, and based on the decoded coding mode information. Generating a prediction sample of one prediction block, wherein the coding mode information may be information indicating any one of an intra mode, an inter mode, and a hybrid mode.
  • the current coding block when coding mode information of the current coding block indicates a hybrid mode, the current coding block may be divided into a first prediction block and a second prediction block.
  • a prediction sample of the first prediction block is generated using prediction information of at least one neighboring block of the first prediction block. And using the prediction information derived based on any one of an intra prediction mode, an inter prediction mode, a decoder-side motion information derivation (DMID) mode, and a decoder-side intra mode derivation (DMID) mode, Prediction samples can be generated.
  • an intra prediction mode an inter prediction mode
  • a decoder-side motion information derivation (DMID) mode a decoder-side intra mode derivation (DMID) mode
  • DMID decoder-side intra mode derivation
  • the prediction mode information of the second prediction block may be decoded to derive the prediction information of the second prediction block.
  • the DMID mode derives final motion information based on initial motion information derived from neighboring blocks of the coding block, and converts the derived final motion information into prediction information of a prediction block in the coding block. It is available.
  • a template block is set in a reconstruction region around a coding block, and an intra prediction mode for deriving an optimal prediction pixel value of the template block is used to predict the prediction block in the coding block. Can be used as information.
  • the at least one prediction block may be edge-divided within the current coding block.
  • diagonal filtering may be applied to pixels at edge boundaries of the prediction block.
  • the image encoding method dividing a current coding block into at least one prediction block and generates a prediction sample of the at least one prediction block based on coding mode information of the current coding block.
  • the coding mode information may be information indicating any one of an intra mode, an inter mode, and a hybrid mode.
  • the current coding block when coding mode information of the current coding block indicates a hybrid mode, the current coding block may be divided into a first prediction block and a second prediction block.
  • a prediction sample of the first prediction block is generated using prediction information of at least one neighboring block of the first prediction block. And using the prediction information derived based on any one of an intra prediction mode, an inter prediction mode, a decoder-side motion information derivation (DMID) mode, and a decoder-side intra mode derivation (DIMD) mode, Prediction samples can be generated.
  • an intra prediction mode an inter prediction mode
  • DMID decoder-side motion information derivation
  • DIMD decoder-side intra mode derivation
  • the prediction mode of the second prediction block may be determined to encode the prediction mode information of the second prediction block.
  • the at least one prediction block may be edge-divided within the current coding block.
  • diagonal filtering may be applied to pixels at edge boundaries of the prediction block.
  • a recording medium includes: dividing a current coding block into at least one prediction block; And generating a prediction sample of the at least one prediction block based on coding mode information of the current coding block, wherein the coding mode information is information indicating any one of an intra mode, an inter mode, and a hybrid mode.
  • the bitstream generated by the video encoding method may be stored.
  • An image decoding method includes decoding inter hybrid mode information of a current coding block and generating predictive samples of at least one prediction block in the current coding block based on the inter hybrid mode information. And generating the prediction sample of at least one prediction block in the current coding block when the current coding block is in the inter hybrid mode, dividing the current coding block into a first prediction block and a second prediction block. Deriving the motion information of the first prediction block using the Merge mode, generating a prediction sample of the first prediction block using the derived motion information of the first prediction block, Merge mode, AMVP mode And by using any one of the decoder-side motion information derivation (DMID) modes. 2 it is possible to induce the motion information of the prediction block, using the motion information of the induced second prediction block comprise the step of generating the prediction samples of the second prediction block.
  • DMID decoder-side motion information derivation
  • the prediction mode for deriving the motion information of the second prediction block may be determined by decoding the inter prediction mode information of the second prediction block.
  • the DMID mode derives final motion information based on initial motion information derived from neighboring blocks of the coding block, and converts the derived final motion information into prediction information of a prediction block in the coding block. It is available.
  • the step of dividing the current coding block into a first prediction block and a second prediction block may include edge dividing the current coding block.
  • diagonal filtering may be applied to pixels adjacent to an edge boundary of the first prediction block.
  • An image encoding method includes encoding inter hybrid mode information of a current coding block and generating prediction samples of at least one prediction block in the current coding block based on the inter hybrid mode information.
  • the current coding block is in the inter hybrid mode
  • generating a prediction sample of at least one prediction block in the current coding block splits the current coding block into a first prediction block and a second prediction block.
  • Deriving motion information of the first prediction block using a merge mode generating a prediction sample of the first prediction block using the derived motion information of the first prediction block, and merging mode and AMVP.
  • DMID decoder-side motion information derivation
  • a prediction mode for deriving motion information of the second prediction block may be determined based on inter-prediction mode information of the second prediction block.
  • the DMID mode derives final motion information based on initial motion information derived from neighboring blocks of the coding block, and converts the derived final motion information into motion information of a prediction block in the coding block. It is available.
  • the dividing of the current coding block into a first prediction block and a second prediction block may be edge-dividing the current coding block.
  • diagonal filtering may be applied to pixels adjacent to an edge boundary of the first prediction block.
  • a recording medium comprising: encoding inter hybrid mode information of a current coding block and generating prediction samples of at least one prediction block in the current coding block based on the inter hybrid mode information. And generating the prediction sample of at least one prediction block in the current coding block when the current coding block is in the inter hybrid mode, dividing the current coding block into a first prediction block and a second prediction block. Deriving the motion information of the first prediction block using the Merge mode, generating a prediction sample of the first prediction block using the derived motion information of the first prediction block, Merge mode, AMVP mode And the second example using any one of a decoder-side motion information derivation (DMID) mode. It is possible to derive the block motion information, and, using the motion information of the induced second prediction block to store the bit stream generated by the picture coding method for generating a prediction samples of the second prediction block.
  • DMID decoder-side motion information derivation
  • An image decoding method includes decoding intra hybrid mode information of a current coding block and generating prediction samples of at least one prediction block in the current coding block based on the intra hybrid mode information.
  • the current coding block is an intra hybrid mode
  • generating a prediction sample of at least one prediction block in the current coding block splits the current coding block into a first prediction block and a second prediction block.
  • Decode information or DIMD (Decoder-side Intra Mode Derivation) mode information Group may determine the intra-prediction mode of the second prediction block and generating a prediction samples of the second prediction block by using the determined intra prediction mode.
  • the DIMD mode derives a final intra prediction based on an intra prediction mode derived from a neighboring block of a coding block, and uses the derived intra prediction mode as prediction information of a prediction block in the coding block. Can be.
  • generating a prediction sample of the first prediction block may include: predicting an intra prediction mode of a neighboring block determined according to a predetermined priority among neighboring blocks of the first prediction block; A prediction sample of the first prediction block may be generated by inducing an intra prediction mode of the block.
  • generating the prediction sample of the first prediction block may include inducing the intra prediction mode of the neighboring block determined based on the neighbor block index information to the intra prediction mode of the first prediction block.
  • a prediction sample of the prediction block of the first prediction block may be generated.
  • the current coding block in the dividing of the current coding block into a first prediction block and a second prediction block, the current coding block may be edge-divided.
  • diagonal filtering may be applied to pixels adjacent to an edge boundary of the first prediction block.
  • An image encoding method includes encoding intra hybrid mode information of a current coding block and generating predictive samples of at least one prediction block in the current coding block based on the intra hybrid mode information.
  • the current coding block is an intra hybrid mode
  • generating a prediction sample of at least one prediction block in the current coding block splits the current coding block into a first prediction block and a second prediction block.
  • the second based on decoder-side intra mode derivation (DIMD) mode information. Determining the side block of the intra prediction mode, and may include the step of generating the prediction samples of the second prediction block by using the determined intra prediction mode.
  • DIMD decoder-side intra mode derivation
  • generating the prediction sample of the first prediction block may include: predicting an intra prediction mode of the neighboring block determined according to a preset priority among neighboring blocks of the first prediction block; A prediction sample of the first prediction block may be generated by inducing an intra prediction mode of the block.
  • generating the prediction sample of the first prediction block may include inducing the intra prediction mode of the neighboring block determined based on the neighbor block index information to the intra prediction mode of the first prediction block.
  • a prediction sample of the prediction block of the first prediction block may be generated.
  • dividing the current coding block into a first prediction block and a second prediction block may perform edge division of the current coding block.
  • diagonal filtering may be applied to pixels adjacent to an edge boundary of the first prediction block.
  • a recording medium comprising: encoding intra hybrid mode information of a current coding block and generating a prediction sample of at least one prediction block in the current coding block based on the intra hybrid mode information. And generating the prediction sample of at least one prediction block in the current coding block when the current coding block is an intra hybrid mode, dividing the current coding block into a first prediction block and a second prediction block.
  • the second prediction block based on decoder-side intra mode derivation (DIMD) mode information Determining the intra prediction mode, and may store the bit stream generated by the picture coding method for generating a prediction samples of the second prediction block by using the determined intra prediction mode.
  • DIMD decoder-side intra mode derivation
  • the present invention can improve the accuracy of prediction by performing prediction according to two or more prediction methods in a coding block.
  • the present invention can improve compression efficiency by performing prediction according to two or more prediction methods in a coding block.
  • the present invention can improve the accuracy of prediction by determining the inter prediction mode in consideration of the positional characteristic of the prediction block in the coding block.
  • the present invention can improve the compression efficiency by determining the inter prediction mode in consideration of the positional characteristic of the prediction block in the coding block.
  • the present invention can improve the accuracy of prediction by determining the intra prediction mode in consideration of the positional characteristics of the prediction blocks in the coding block.
  • the present invention can improve the compression efficiency by determining the intra prediction mode in consideration of the positional characteristics of the prediction blocks in the coding block.
  • FIG. 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an intra prediction mode according to an exemplary embodiment.
  • FIG. 3 is a flowchart illustrating a method of encoding an optimal prediction mode of a current prediction block among intra prediction modes.
  • FIG. 4 is a diagram for describing an embodiment of a method of setting an MPM candidate in an intra prediction mode.
  • FIG. 5 is a flowchart illustrating a method of setting an AMVP candidate in an inter prediction mode.
  • FIG. 6 is a diagram illustrating positions of neighboring blocks of a current prediction block.
  • FIG. 7 is a diagram for describing a method of deriving motion information of a temporal candidate.
  • FIG. 8 is a flowchart illustrating a method for deriving a candidate of a merge mode among inter prediction modes.
  • FIG. 9 is a flowchart illustrating an example of a method of encoding inter prediction mode information.
  • FIG. 10 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
  • 11 is a flowchart illustrating a method of decoding an optimal intra prediction mode of a current prediction block.
  • FIG. 12 is a flowchart illustrating a method of decoding inter prediction mode information.
  • FIG. 13 is a diagram for describing a first method for dividing a current coding block.
  • 14 and 15 are diagrams for describing a second method for dividing a current coding block.
  • FIGS. 16A, 16B, 16C and 17 are diagrams for describing a method of determining prediction information of prediction blocks in a coding block in a hybrid mode.
  • FIGS. 18A, 18B, and 18C are exemplary diagrams for describing the location and size of the neighboring template block in the DMID mode for each partition type.
  • 19 is a diagram for describing a method of deriving motion information in a DMID mode.
  • 20 is a diagram for describing a method of encoding prediction information in a hybrid mode.
  • FIG. 21 is a flowchart illustrating a method of determining an optimal prediction mode among an intra prediction mode, an inter prediction mode, and a hybrid mode in a video encoding apparatus.
  • FIG. 22 is a flowchart illustrating a method of encoding prediction information of a prediction block in a coding block in a hybrid mode in the image encoding apparatus.
  • FIG. 23 is a flowchart illustrating a prediction information encoding method according to a DMID mode.
  • 24 is a flowchart for describing a method of determining a prediction mode of a prediction block in a coding block that is a hybrid mode in the image encoding apparatus.
  • 25 is a flowchart for explaining a method of decoding prediction information in a hybrid mode.
  • 26 is a flowchart illustrating a method of decoding prediction information according to a DMID mode.
  • 27 is a diagram for explaining a boundary filtering method.
  • FIG. 28 is a flowchart for explaining a video encoding method according to a first embodiment of the present invention.
  • 29 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention.
  • FIG. 30 is a diagram for describing a method of deriving an intra prediction mode according to a DIMD mode.
  • 31 is a diagram for describing a method of encoding prediction information of a current coding block according to a second embodiment of the present invention.
  • 32 is a flowchart for describing a method of encoding inter hybrid mode information in a video encoding apparatus.
  • 33 is a flowchart for describing a method of determining a prediction mode of a second prediction block in a coding block that is an inter hybrid mode in an image encoding apparatus.
  • 34 is a diagram for describing a method of decoding prediction information of a current decoding block according to a second embodiment of the present invention.
  • 35 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • 36 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • FIG. 37 is a flowchart illustrating a video encoding method according to a second embodiment of the present invention.
  • 38 is a diagram for describing a method of encoding prediction information of a current coding block according to a third embodiment of the present invention.
  • 39 is a flowchart for describing a method of encoding intra hybrid mode information in a video encoding apparatus.
  • FIG. 40 is a flowchart illustrating a method of determining prediction information of a first prediction block in an encoding block of an intra hybrid mode in the image encoding apparatus.
  • FIG. 41 is a diagram for describing a method of decoding prediction information of a current coding block according to a third embodiment of the present invention.
  • FIG. 42 is a flowchart illustrating an image decoding method according to a third embodiment of the present invention.
  • FIG. 43 is a flowchart illustrating an image decoding method according to a third embodiment of the present invention.
  • 44 is a flowchart illustrating a video encoding method according to a third embodiment of the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus 100 according to an embodiment of the present invention.
  • the image encoding apparatus 100 is an apparatus for encoding an image, and includes a block splitter 101, a predictor 102, a transformer 103, a quantizer 104, an entropy encoder 105, and an inverse quantizer 106. ), An inverse transform unit 107, an adder 108, an in-loop filter unit 109, a memory unit 110, and a subtractor 111.
  • the block dividing unit 101 may divide a block to be encoded with the largest size (hereinafter, referred to as a maximum coding block) from a block to be encoded with a minimum size (hereinafter, referred to as a minimum coding block).
  • the splitting may be performed based on at least one of quad-tree splitting (hereinafter referred to as quad-tree splitting) or dual-tree splitting (hereinafter referred to as dual-tree splitting).
  • QT splitting is a method of dividing an upper block into lower blocks having a width and a height of half of the upper block.
  • DT splitting is a method of dividing an upper block into lower blocks in which either the width or the height is half of the upper block.
  • DT partitioning may be referred to as binary tree partitioning.
  • the block dividing unit 101 may divide the input image into at least one block.
  • the input image may have various shapes and sizes, such as a picture, a slice, a tile, and a segment.
  • a block may mean a coding unit (CU), a prediction unit (PU), or a transformation unit (TU).
  • a coding unit may be used as a unit for encoding or may be used as a unit for decoding.
  • the coding unit may mean a coding block.
  • the prediction unit 102 may include an inter prediction unit for performing inter prediction and an intra prediction unit for performing intra prediction.
  • the prediction unit 102 may generate the prediction block by using the neighboring pixels of the block to be currently predicted from the current original block (hereinafter, referred to as a prediction block) or a reference picture that has been previously decoded.
  • a prediction block the prediction block may have the same shape as the coding block.
  • generating the prediction block in the prediction unit 102 may mean the same as generating a prediction sample of the prediction block.
  • the prediction technique of the video signal is largely composed of intra prediction and inter prediction.
  • the intra prediction is a method of generating a prediction block by using neighboring pixels of the current block, and the inter prediction has already been previously encoded and decoded.
  • the prediction block is generated by finding a block most similar to the current block in the finished reference picture.
  • inter prediction may be referred to as inter prediction
  • intra prediction may be referred to as intra prediction.
  • the prediction unit 102 may determine the optimal prediction mode of the prediction block by using various techniques such as rate-distortion optimization (RDO) for the residual block obtained by subtracting the prediction block from the current original block.
  • RDO rate-distortion optimization
  • D degradation due to quantization
  • R is the rate of the compressed stream
  • J is the RD cost
  • is the coding mode
  • is the Lagrangian multiplier, a scale correction coefficient for matching the unit between the amount of bits and the amount of bits.
  • J when the mode is applied that is, the RD-cost value should be smaller than that when applying the other mode. Can be calculated.
  • the residual value (residual block) between the generated prediction block and the original block may be input to the transformer 103.
  • prediction mode information and motion vector information used for prediction may be encoded by the entropy encoder 105 together with the residual value and transmitted to the decoder.
  • the original block may be encoded as it is and transmitted to the decoder without generating the prediction block through the prediction unit 102.
  • the intra prediction unit may generate the predictive block based on reference pixel information around the current block which is pixel information in the current picture. If the coding mode of the neighboring block of the current block for which intra-picture prediction is to be performed is inter-screen prediction, the reference pixel included in the neighboring block to which inter-screen prediction is applied is replaced with the reference pixel in another block around the intra-prediction. Can be. That is, when the reference pixel is not available, the unavailable reference pixel information may be replaced with at least one reference pixel among the available reference pixels.
  • a prediction mode may have a directional prediction mode using reference pixel information according to a prediction direction, and a non-directional mode using no directional information when performing prediction.
  • the mode for predicting the luminance information and the mode for predicting the color difference information may be different, and the intra prediction mode information or the predicted luminance signal information used for predicting the luminance information may be utilized to predict the color difference information. .
  • N + 2) prediction modes including N planar mode, DC mode, and N angular prediction modes may exist.
  • FIG. 2 illustrates a method for generating a prediction block in DC mode.
  • R1 denotes two adjacent reference pixels (a, j)
  • R2 and R3 regions denote adjacent reference pixels.
  • the final prediction block is generated through FIR filtering with one (b ⁇ h, k ⁇ q).
  • FIG. 2 shows a method of generating a prediction block in a planar mode.
  • the planar mode generates a final prediction block by using a linear interpolation method of a reference pixel positioned at the top / left side and a reference pixel copied at the bottom / right side for each prediction pixel position.
  • FIG. 2 shows N prediction directions of Angular prediction modes.
  • the angular prediction mode generates a final prediction block by applying values of adjacent reference pixels to prediction blocks according to prediction directions.
  • FIG. 3 is a flowchart illustrating a method of encoding an optimal prediction mode of a current prediction block.
  • a candidate candidate for most probable mode may be set.
  • MPM most probable mode
  • information indicating whether to encode an optimal intra prediction mode may be encoded using the MPM.
  • step S303 it may be determined whether the MPM operation information is present. If the information is true, in step S304, index information indicating which MPM candidate is the best intra prediction mode may be encoded. On the contrary, when the corresponding information is false, information indicating which prediction mode is optimal among remaining intra prediction modes except the intra prediction mode as the MPM candidate may be encoded in operation S305.
  • FIG. 4 is a diagram for describing an embodiment of a method of setting an MPM candidate.
  • L denotes intra prediction mode information of the neighboring block located to the left of the current prediction block
  • A denotes intra prediction mode information of the neighboring block located at the top.
  • three MPM candidates may be finally determined according to each specified condition.
  • the number of MPM candidates may be determined as P (P> 0, P is an integer), and a method of determining candidates may also vary.
  • the inter prediction unit included in the prediction unit 102 may generate a prediction block based on information of at least one of a previous picture or a subsequent picture of the current picture.
  • a prediction block may be generated based on information of a partial region in which encoding in the current picture is completed.
  • the inter prediction unit may include a reference picture interpolator, a motion predictor, and a motion compensator.
  • the prediction modes of the AMVP mode, the merge mode, and the skip mode may exist in the inter prediction.
  • an AMVP candidate may be set using prediction information of neighboring blocks of the current prediction block.
  • FIG. 5 is a flowchart illustrating a method of setting an AMVP candidate
  • FIG. 6 is a diagram illustrating a position of a neighboring block of a current prediction block.
  • two spatial candidates may be derived from neighboring blocks of the current prediction block. Specifically, two spatial candidates including one available first among two candidates in the order of A1 ⁇ A4 in FIG. 6 and one available among the three candidates in order of A3 ⁇ A2 ⁇ A5 in FIG. 6 may be selected. .
  • step S502 two temporal candidates are searched in the order of B1 ⁇ B2 in FIG. 6, and then one available candidate is selected first.
  • a method of deriving motion information of a temporal candidate will be described later with reference to FIG. 7.
  • duplicate candidates may be removed from the spatial candidates derived in step S501 and the temporal candidates derived in step S502.
  • two derived AMVP candidates may be finally selected.
  • one final AMVP candidate with low RD-cost is determined through the RDO process, the motion estimation process is performed starting from the point indicated by the motion vector of the candidate, and the motion estimation is performed. Find the optimal motion vector.
  • the number of AMVP candidates may be determined as Q (Q> 0, Q is an integer), and methods for determining AMVP candidates may also vary.
  • FIG. 7 is a diagram for describing a method of deriving motion information of a temporal candidate.
  • motion information of a temporal candidate block may be searched based on a block that is the same as a position of a current block in a current picture in a collocated picture.
  • the motion vector of the motion information indicates a prediction block in the reference picture B.
  • the temporal distance between the reference picture B and the collocated picture is obtained, and the motion vector of the motion information is scaled according to the temporal distance from the reference picture A to which the current picture refers. Can be induced.
  • the scaled motion vector may be used as motion information of a temporal candidate.
  • the reference picture A and the reference picture B may be the same picture.
  • a merge candidate may be set by using prediction information of neighboring blocks of the current prediction block.
  • FIG. 8 is a flowchart illustrating a method of setting a merge candidate.
  • a spatial candidate is derived.
  • A1 ⁇ A2 ⁇ A3 ⁇ A4 ⁇ A5 may be searched and four available candidates may be selected first. .
  • a temporal candidate is derived.
  • the method is the same as the description of operation S502 of FIG. 5 described above.
  • duplicate candidates between candidates induced to date may be removed and combined bidirectional candidates may be added.
  • the combined bidirectional candidate may refer to a candidate that combines bidirectional motion information based on previously determined motion information of the candidate.
  • step S805 five candidates among the derived candidates are determined as final merge candidates. Of the five merge candidates thus derived, a merge candidate having motion information optimal for the current prediction block may be determined through RDO.
  • the number of merge candidates may be determined by R (R> 0, R is an integer), and a method of determining merge candidates may also vary.
  • FIG. 9 is a flowchart illustrating an example of a method of encoding inter prediction mode information.
  • Merge operation information may be encoded.
  • the Merge operation may be determined based on the merge operation information.
  • the prediction direction may be encoded in step S904.
  • the prediction direction may be encoded in one of three directions, bidirectional, past and future.
  • MVD Motion Vector Difference
  • MVD Motion Vector Difference
  • MVP is a shorthand for Motion Vector Predictor, and indicates an optimal AMVP candidate among two final AMVP candidates.
  • step S909 it may be determined whether the prediction direction is a past direction. If the prediction direction is not the past direction, the reference picture index information of the future direction may be encoded in step S910, and the future MVD information may be encoded in step S911. In operation S912, MVP information of the future direction may be encoded.
  • the motion information of neighboring blocks of the current prediction block may be applied to the current prediction block as it is.
  • a prediction sample of the current prediction block may be generated by using motion information of the neighboring block, and the prediction sample may be directly used as a reconstruction sample. That is, in the skip mode, generation of the residual block may be omitted.
  • the predictor 102 may determine which motion information of which neighboring block is to be used as the motion information of the current block.
  • the prediction unit 102 may encode coding mode information indicating a prediction method of the coding block.
  • the coding block may be divided into at least one prediction block, and one prediction scheme may be applied to the prediction block divided from one coding block.
  • the prediction modes of each of the prediction blocks may be different.
  • the first prediction block in the current coding block may generate a prediction sample based on the AMVP mode and the second prediction block, respectively.
  • coding mode information may be encoded in coding block units, and prediction mode information may be encoded in prediction block units.
  • the transform unit 103 may generate a transform block by transforming the residual block that is the difference between the original block and the prediction block.
  • the transform block may be the smallest unit used for the transform and quantization process.
  • the transformer 103 may generate a transform block having a transform coefficient by converting the residual signal into the frequency domain.
  • various transformation techniques such as Discrete Cosine Transform (DCT) -based, Discrete Sine Transform (DST), and Karhunen Loeve Transform (KLT) can be used.
  • the residual signal may be converted into a frequency domain by using the transform signal.
  • a matrix operation is performed using a basis vector.
  • the transformation technique may be used in various combinations. For example, in intra prediction, a discrete cosine transform may be used in the horizontal direction and a discrete sine transform in the vertical direction, depending on the prediction mode.
  • the transformation method may be determined based on the intra prediction mode of the prediction block used to generate the residual block.
  • DCT may be used in the horizontal direction and DST may be used in the vertical direction.
  • the transform block may be divided into a QT (Quad Tree) or a BT (Binary Tree) method in units of coding blocks to determine an optimal transform block partition type, and the transform block partition information may be transmitted to the image decoding apparatus 1000.
  • This transform block partitioning method may be referred to as a CU (Residual Tree) structure. This may or may not be performed on a prediction block basis, meaning that the transform block may be determined by ignoring the boundary of the prediction block.
  • the transform block may be divided into a QT method or a BT partition method in the prediction block unit to determine a transform block partition type, and the transform block partition information may be transmitted to the image decoding apparatus 1000 in the transform block unit.
  • This transform block partitioning method may be referred to as a PU unit RT structure. This means that the transform block cannot be generated in the form of division beyond the prediction block boundary, and the transform block cannot be determined beyond the boundary of the prediction block.
  • transformation may be performed by determining the entire coding block as a transform block without transmitting transform block splitting information. In the same manner, the same can be applied to the PU unit RT structure.
  • the quantization unit 104 may generate a quantized transform block by quantizing the transform block. That is, the quantization unit 104 may quantize transform coefficients of the transform block generated from the transform unit 103 to generate a quantized transform block having quantized transform coefficients.
  • a quantization method Dead Zone Uniform Threshold Quantization (DZUTQ) or a Quantization Weighted Matrix (DZUTQ) may be used, but various quantization methods such as quantization improved therefrom may be used.
  • the image encoding apparatus 100 includes and includes both the transform unit 103 and the quantization unit 104, but the transform unit 103 and the quantization unit 104 may be selectively included. That is, the image encoding apparatus 100 may generate a transform block by transforming the residual block and do not perform the quantization process, and may not only perform the quantization process without converting the residual block into frequency coefficients, or even transform the residual block. You may not perform both the and quantization processes.
  • the block entering the input of the entropy encoding unit 105 is generally referred to as a 'quantized transform'. Block '.
  • the entropy encoder 105 may output a bitstream by encoding the quantized transform block. That is, the entropy encoder 105 encodes the coefficients of the quantized transform block output from the quantizer 104 using various encoding techniques of entropy encoding, and decodes the corresponding block in an image decoding apparatus to be described later.
  • a bitstream may be generated and output including additional information necessary to perform (eg, information on a prediction mode, quantization coefficients, etc.).
  • Entropy encoding may use various encoding methods such as, for example, Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • Exponential Golomb Context-Adaptive Variable Length Coding
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the inverse quantization unit 106 may reconstruct the inverse quantization transform block by performing a quantization technique used in the quantization inverse with respect to the quantized transform block.
  • the inverse transform unit 107 inversely transforms an inverse quantized transform block using the same method used for the transform, and restores the residual block.
  • the inverse transform can be performed by performing the inverse transform technique used by the transform unit 104. have.
  • the inverse quantization unit 106 and the inverse transform unit 107 may perform inverse quantization and inverse transformation using the quantization method and the transformation method used by the quantization unit 104 and the conversion unit 103 inversely.
  • the inverse quantization unit 106 and the inverse transformation unit 107 may also be omitted without performing the inverse transformation and inverse quantization or not included in the image encoding apparatus 100. .
  • the adder 108 may reconstruct the current block by adding the residual signal generated by the inverse transformer 107 and the prediction block generated through the prediction.
  • the in-loop filter unit 109 is a process of additionally filtering the entire picture after all blocks in the current picture are restored, and includes at least one of deblocking filtering, sample adaptive offset (SAO), and adaptive loop filter (ALF). Can be.
  • deblocking filtering sample adaptive offset (SAO)
  • ALF adaptive loop filter
  • the deblocking filter may remove block distortion caused by boundaries between blocks in the reconstructed picture.
  • it may be determined whether to apply a deblocking filter to the current block based on the pixels included in several columns or rows included in the block.
  • a strong filter or a weak filter may be applied according to the required deblocking filtering strength.
  • horizontal filtering and vertical filtering may be performed in parallel when vertical filtering and horizontal filtering are performed.
  • Sample Adaptive Offset refers to a process of minimizing a difference between a reconstructed image and an original image by subtracting or adding a specific value to the reconstructed pixel.
  • Adaptive Loop Filtering may be performed based on a value obtained by comparing the filtered reconstructed image with the original image. After dividing the pixels included in the image into a predetermined group, one filter to be applied to the group may be determined and filtering may be performed for each group. For information related to whether to apply ALF, a luminance signal may be transmitted for each coding unit (CU), and the shape and filter coefficient of an ALF filter to be applied may vary according to each block. In addition, regardless of the characteristics of the block to be applied, the same type (fixed form) of the ALF filter may be applied.
  • ALF Adaptive Loop Filtering
  • the memory 110 adds the residual signal generated by the inverse transformer 107 and the prediction block generated through the prediction, and then stores the reconstructed current block that has been further filtered by the in-loop filter unit 109. It can be used to predict the block or the next picture.
  • the subtraction unit 111 may generate a residual block by subtracting the prediction block from the current original block.
  • FIG. 10 is a block diagram illustrating an image decoding apparatus 1000 according to an embodiment of the present invention.
  • the image decoding apparatus 1000 may include a block entropy decoder 1001, an inverse quantizer 1002, an inverse transform unit 1003, a predictor 1004, an adder 1005, and an in-loop filter.
  • the unit 1006 may include a memory unit 1007.
  • the input bitstream may be decoded according to a process opposite to that performed by the image encoding apparatus 100.
  • a "coding block” may be referred to as a “decoding block” in the image decoding apparatus 1000.
  • the entropy decoder 1001 may analyze a bitstream received from the image encoding apparatus 100 and obtain various information and quantized transform coefficients necessary for decoding the corresponding block.
  • the entropy decoder 1001 may perform entropy decoding in a procedure opposite to that of the entropy encoding unit 105 of the image encoding apparatus 100. For example, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied to the method performed by the image encoder.
  • the coefficients of the transform block are based on various types of flags indicating non-zero coefficients, coefficients with absolute values greater than 1 or 2, coefficients of coefficients, etc., in units of partial blocks within the transform block. Can be decrypted. Coefficients not represented by the flag alone may be decoded through the sum of the coefficients represented by the flag and the signaled coefficients.
  • the entropy decoding unit 1001 may decode information related to intra prediction and inter prediction performed by the image encoding apparatus.
  • the inverse quantizer 1002 may inversely perform a quantization technique used in quantization on the quantized coefficients decoded by the entropy decoder 1001 to obtain an inverse quantized block having inverse quantized coefficients.
  • Inverse quantization unit 1002 may operate substantially the same as inverse quantization unit 106 of FIG. 1.
  • the inverse transform unit 1003 may inverse transform the inverse quantization transform block to obtain a residual block having a differential signal by using the same method as used for the transform.
  • the inverse transform unit 1003 may operate substantially the same as the inverse transform unit 107 of FIG. 1.
  • the prediction unit 1004 generates a prediction block by using the coding mode information decoded by the entropy decoding unit 1001, which uses the same method as the prediction method performed by the prediction unit 102 of the image encoding apparatus 100. Can be.
  • 11 is a flowchart illustrating a method of decoding an optimal intra prediction mode of a current prediction block.
  • an MPM candidate may be set.
  • the method of setting the MPM candidate may be the same as the method of setting the MPM candidate of FIG. 3 described above by the predictor 102 of the image encoding apparatus 100.
  • the optimal intra prediction mode of the current prediction block may be determined by decoding index information indicating which MPM candidate is the same as the intra prediction mode. On the contrary, if the corresponding information is false, the intra prediction mode of the current prediction block is decoded by decoding information indicating which prediction mode is optimal among the intra prediction modes except the intra prediction mode, which is an MPM candidate, in step S1105. You can decide.
  • FIG. 12 is a flowchart illustrating a method of decoding inter prediction mode information.
  • the merge operation information may be decoded.
  • operation S1202 it may be determined whether the merge is performed based on the merge operation information decoded in operation S1201.
  • step S1203 the index information of the merge candidate is decoded and the flow of FIG. 12 ends. If the merge operation is false, the prediction direction may be decoded in operation S1204.
  • the prediction direction may be decoded into one of three directions, a bidirectional direction, a past direction, and a future direction.
  • step S1205 it may be determined whether the prediction direction is a future direction. If it is not the future direction, the reference picture index information for the past direction may be decoded in step S1206, and the past direction MVD information may be decoded in step S1207.
  • past direction MVP information may be decoded.
  • step S1209 it may be determined whether the prediction direction is a past direction. If the prediction direction is not the past direction, the reference picture index information of the future direction may be decoded in step S1210, and the future direction MVD information may be decoded in step S1211. In operation S1212, the MVP information of the future direction may be decoded.
  • the adder 1005 may generate a reconstructed block by adding the prediction block generated by the predictor 1004 and the residual block generated by the inverse transform unit 1003.
  • the in-loop filter unit 1006 restores all blocks in the current picture, additional filtering is performed on the entire picture, and there are deblocking filtering and sample adaptive offset (SAO).
  • deblocking filter When the deblocking filter is applied and information about whether the deblocking filter is applied to the corresponding block or picture, the image encoding apparatus 100 may receive information about whether a strong filter or a weak filter is applied.
  • the in-loop filter unit 1006 may operate substantially the same as the in-loop filter unit 109 of FIG. 1.
  • the memory 1007 adds the residual signal generated by the inverse transform unit 1003 and the prediction block generated through the prediction, and then stores the reconstructed current block that has been further filtered by the in-loop filter unit 1006. It can be used to predict the next block or the next picture.
  • a coding unit is used as a coding unit for convenience of description, but may also be a unit for performing decoding as well as encoding.
  • the unit or unit may be an area generated by division of one picture.
  • a unit may mean a block, and a current block may mean a current encoding target block or a current decoding target block.
  • FIG. 13 is a diagram for describing a first method for dividing a current coding block.
  • a split form of an encoding block may be square or rectangular.
  • 1301 of FIG. 13 is an example of a case in which a coding block is vertically divided
  • 1302 is an example of a case in which a coding block is horizontally divided.
  • an encoding order of a prediction block in a coding block may be encoded in order of a prediction block A, a prediction block B, and a dotted line in a coding block means a coding block dividing line, which may mean a boundary between prediction blocks.
  • the coding block dividing line may be divided into two sizes in various sizes in addition to the method of dividing the coding block into two exact parts.
  • the first method for determining the partition type of the coding block is to calculate the RD-Cost for each partitioned form from 1 to 2N-1 values of P from the horizontal and vertical divisions of the coding block, and RD-Cost is The minimum split form may be determined as an optimal split form of the current coding block.
  • 14 and 15 are diagrams for describing a second method for dividing a current coding block.
  • the second method of determining a partition type of a coding block may set an available coding block partition set, and calculate an RD-Cost of the predetermined partition shapes to determine an optimal partition shape.
  • the previously available usable partition type information may be previously transmitted in an upper header.
  • the upper header refers to a transport layer in blocks or more, such as a video parameter layer, a sequence parameter layer, a picture parameter layer, a slide layer, and the like.
  • (1/4, 3/4) horizontal division, (3/4, 1/4) horizontal division, (1/4, 3/4) vertical division, and (3/4, 1/4) vertical division Is in the form of an asymmetric split
  • (1/2, 1/2) horizontal split and (1/2, 1/2) vertical split may be in the form of symmetric split.
  • the prediction block of the divided corner portion may be a quarter width of the coding block.
  • the upper left prediction block may be prediction block A (N ⁇ N), and the remaining region may be prediction block B.
  • the upper right corner prediction block may be the prediction block A (N ⁇ N), and the remaining region may be the prediction block B.
  • the lower left prediction block may be prediction block A (N ⁇ N), and the remaining area may be prediction block B.
  • the lower right corner prediction block may be the prediction block B, and the remaining region may be the prediction block A (N ⁇ N).
  • the coding order of the coding block for each division type may be a prediction block A and a prediction block B order.
  • a prediction block having a size of a quarter area may be larger or smaller.
  • the shape may also be various shapes such as a rectangle rather than a square. Then, by comparing the RD-Cost for each partitioned form, the partitioned form in which the RD-Cost is minimum can be determined as the optimal partitioned form of the current coding block.
  • a coding mode (hereinafter, referred to as a hybrid mode) for generating a prediction sample of a prediction block using a plurality of prediction modes in one coding block according to an embodiment of the present invention will be described.
  • Prediction modes available within Hybrid mode include in-screen prediction modes (Planar mode, DC mode, Angular mode), inter-screen prediction modes (AMVP mode, Merge mode, Skip mode), DMID mode (Decoder-side Motion Information Derivation), There may be a DIMD mode (Decoder-side Intra Mode Derivation).
  • a prediction sample of the prediction block may be generated by combining and applying the plurality of prediction modes described above.
  • the DMID mode may mean a prediction mode in which the video encoding apparatus 100 directly derives uncoded motion information from the video decoding apparatus 1000 without encoding and generates a predictive sample of a prediction block.
  • the motion information that is not encoded in the image encoding apparatus 100 and must be directly derived from the image decoding apparatus 1000 may be some motion information including a motion vector.
  • the image decoding apparatus 1000 derives initial motion information of the prediction block from neighboring blocks of the coding block, and derives final motion information of the prediction block based on the derived initial motion information to predict the prediction block. It may be a mode for generating a sample.
  • the DMID mode may be a mode in which the image decoding apparatus 1000 derives the final motion information of the prediction block based on the initial motion information transmitted from the image encoding apparatus 100 to generate the prediction sample of the prediction block.
  • the DIMD mode may mean a prediction mode in which the image encoding apparatus 100 directly derives a prediction sample of a prediction block by directly inducing an intra prediction mode that is not encoded in the image decoding apparatus 1000 without encoding.
  • the image decoding apparatus 1000 sets a template block in a reconstruction area around a coding block, and sets an intra prediction mode that derives an optimal prediction pixel value of the set template block. It can be used as prediction information.
  • Prediction information includes intra prediction mode (Planar mode, DC mode, Angular mode), inter prediction mode (AMVP mode, Merge mode, Skip mode), DMID mode (Decoder-side Motion Information Derivation) and DIMD mode (Decoder-side). Intra Mode Derivation).
  • 16A, 16B, and 16C are diagrams for describing a method of determining prediction information of a prediction block A using the prediction information of a neighboring block as it is.
  • the prediction block A may generate prediction blocks by searching the prediction information optimal for the prediction block A among the prediction information of the neighboring neighboring blocks that have been encoded, and determining the searched optimal prediction information as the prediction information in the prediction block A. have.
  • the position of the neighboring block of the prediction block A may be located as shown at 1601 to 1606 of FIG. 16.
  • optimal prediction information may be searched according to the priority. In this example, it is assumed that the priority order is neighboring blocks 1, 2, 3, 4, and 5 in order.
  • the prediction block A of 1601 of FIG. 16A may have five neighboring blocks from neighboring blocks 1 to 5.
  • RD-Cost may be calculated by applying prediction information of neighboring blocks 1 to 5 of the prediction block A to the prediction block A, and the prediction information of the neighboring block having the smallest RD-Cost may be determined as the prediction information of the prediction block A.
  • the description of 1602 of FIG. 16A is the same except that the position of the neighboring block is changed compared to the description of 1601.
  • FIGS. 16B and 16C illustrate that the number and positions of neighboring blocks may vary according to the position of the prediction block A.
  • a prediction block can be generated.
  • the method of determining the prediction information of the prediction block B may also determine the prediction information of the prediction block B by using the prediction information of the neighboring block as it is.
  • the prediction information of the prediction block B may be determined by searching for optimal prediction information among intra prediction modes (intra prediction), and the prediction block B may be searched by searching for optimal prediction information in the reference picture reconstructed through motion estimation. It is also possible to determine the prediction information of (inter prediction).
  • the prediction block B may determine the prediction information of the prediction block B by referring to the prediction information of the prediction block A.
  • some cases are described below.
  • FIG. 17 are diagrams for describing a method of determining prediction information of prediction block B.
  • FIG. 17A, FIG. 17B, and FIG. 17C are diagrams for describing a method of determining prediction information of prediction block B.
  • the location of the neighboring block of the prediction block B may be located as shown at 1701 to 1706 of FIG. 17.
  • optimal prediction information may be searched according to the priority.
  • the priority order is neighboring blocks 1, 2, 3, 4, and 5 in order.
  • the number of neighboring block candidates may be three or four instead of five.
  • the prediction information of the prediction block B may be determined by referring to the prediction information of the prediction block A according to the transform block partitioning structure.
  • the prediction information of the prediction block B may be determined by referring to the prediction information of the prediction block A.
  • prediction block A is not divided in sub-block units, but prediction block B is divided in sub-block units, prediction information is different in each sub-block unit.
  • the prediction block B may determine the prediction information of the prediction block B by referring to the prediction information of the prediction block A.
  • prediction block A is not divided in sub-block units, but prediction block B is divided in sub-block units, prediction information is different in each sub-block unit.
  • the prediction information of the prediction block B may be determined based on the intra prediction mode or the inter prediction mode as described above.
  • prediction information may be determined based on prediction modes, and a prediction block may be generated using the determined prediction information.
  • the prediction information of the prediction block B may be determined based on the DMID mode or the DIMD mode.
  • 18, 19, and 30 are diagrams for describing a method for searching prediction information in a DMID mode and a DIMD mode.
  • 18A, 18B, and 18C illustrate neighboring template blocks for each partition type when searching for a prediction mode of a prediction block B generated in a current coding block using a DMID mode or a DIMD mode.
  • the template block may be determined in areas already restored around the current coding block.
  • the difference between the template block of the prediction block in the reference picture and the template block around the current block in the current picture according to the initial motion vector is calculated.
  • the DIMD mode the difference between the reconstructed pixel value of the template region and the predicted pixel value of the template region derived by using the reference pixels around the template region is assumed to be an error for calculating the RD-Cost. You can explore The initial motion vector at the time of motion estimation in the DMID mode may use the motion vectors of the reconstructed motion information.
  • the template block in the upper direction is immediately adjacent to the prediction block B, but the template block in the left direction may not be adjacent to the prediction block B. This is to perform conversion / quantization in units of coding blocks.
  • a template block in the left direction may be generated in the prediction block A region adjacent to the prediction block B. This is possible when transform / quantization is performed in units of prediction blocks.
  • the template block in the left direction is adjacent to the prediction block B, but the template block in the upper direction may not be adjacent to the prediction block B.
  • a template block of an upper region may be generated in a prediction block A region adjacent to the prediction block B.
  • the size and shape of the template block in the upper and left directions may be different.
  • FIG. 1806 of FIG. 18C illustrates a template block when the prediction block B is in a split form not adjacent to the vicinity of the coding block. If the transform / quantization is performed in units of prediction blocks, the template block may be generated immediately adjacent to the prediction block B in the prediction block A region.
  • the template block of the prediction block B may use only the template block in one direction.
  • the position, size, and shape of the template block may be used in various ways.
  • 19 is a diagram for explaining a method of searching for prediction information in a DMID mode.
  • FIG. 19 illustrates a method of searching prediction information using the template block described above with reference to FIG. 18 in the DMID mode, and 1902 of FIG. 19 does not use the template block when the prediction direction is bidirectional prediction in the DMID mode. This is for explaining a method of searching for prediction information.
  • the template block in the left / up direction there may be a template block in the left / up direction.
  • the template block in the upper direction is a CurAboveTemplate block
  • the template block in the left direction is a CurLeftTemplate block.
  • the horizontal length of the CurAboveTemplate block is Aw
  • the vertical length is Ah
  • the horizontal length of the CurLeftTemplate block is Lw
  • the vertical length is Lh.
  • the horizontal and vertical lengths of the RefAboveTemplate block and the RefLeftTemplate block of the reference picture may be the same as the horizontal and vertical lengths of the template block around the current block.
  • the motion estimation of the DMID mode is to find a template block most similar to a template block around a current block in a reference picture, and determine a block adjacent to a template block at a corresponding position as a prediction block.
  • the method can be applied regardless of the prediction direction (past direction, future direction, bidirectional).
  • FIG. 1902 of FIG. 19 illustrates an example of a DMID coding method that does not use a template block when the prediction direction is bidirectional prediction in the DMID mode.
  • the direction between the prediction block in the past direction and the prediction block in the future direction is minimized in both directions.
  • the motion information indicating the corresponding point is determined as the prediction information of the current block.
  • FIG. 30 illustrates a peripheral template region for each division type when searching for a prediction mode of a prediction block B generated in a current coding block using the DIMD mode, to explain a method for searching prediction information in the DIMD mode.
  • the template region may be determined in regions already restored around the current coding block.
  • the template area in the upper direction is the AboveTemplate area, and the template area in the left direction is the LeftTemplate area.
  • the horizontal length of the AboveTemplate region is W
  • the vertical length is AT
  • the horizontal length of the LeftTemplate region is LT
  • the vertical length is H
  • the reference pixel of the Template region may be used by R lines.
  • the template region may be referred to as a template block.
  • An intra prediction mode for generating a reconstructed pixel value of a template region and a predicted pixel value of which an error is minimal may be searched for.
  • the searched intra prediction mode may be determined as prediction information of the template region, and the prediction information may be used as prediction information of the current block.
  • FIG. 20 is a diagram for describing a method of encoding prediction information in a hybrid mode. In FIG. 20, it is assumed that a current coding block is divided into a prediction block A and a prediction block B.
  • optimal prediction mode information of a current coding block may be encoded.
  • the RD-Cost of the hybrid mode, the intra prediction mode, and the inter prediction mode may be compared to determine a coding mode having a minimum RD-Cost as an optimal coding mode of the current coding block.
  • 21 is a flowchart illustrating a method of determining an optimal coding mode among an intra prediction mode, an inter prediction mode, and a hybrid mode in the image encoding apparatus 100.
  • prediction index information may be allocated for each of three coding modes. For example, 0 may be assigned as an intra prediction mode index, 1 may be assigned to an inter prediction mode index, and 2 may be assigned to a hybrid mode index.
  • the initial value of N is 0 and Best_Cost is infinite, and the RD-Cost of the intra prediction mode, which is index information of 0, can be calculated and stored in N_Cost.
  • N_Cost is larger or smaller than the current Best_Cost. If N_Cost is small, the current N value may be stored as Best_Idx and N_Cost as Best_Cost in step S2104.
  • N may be compared whether N is 2 or not.
  • add 1 to the current N in step S2106 go back to step S2102, repeat the above process, and if the current N is 2, determine the best coding mode index of the current coding block in step S2107 with the current Best_Idx.
  • the information may be determined, and the process of FIG. 21 may be terminated.
  • the hybrid mode information may be encoded as the optimal coding mode information of the current coding block in step S2001. .
  • information on whether the hybrid mode is operated may be further transmitted in the upper header, and the hybrid mode may be controlled in the transmitted upper header layer.
  • step S2002 it may be determined whether the optimal coding mode of the current coding block determined in step S2001 is a hybrid mode. If the optimal coding mode of the current coding block is hybrid mode, the process proceeds to step S2003, and the optimal coding mode mode of the current coding block is not the hybrid mode. You can move on to the S2006 phase.
  • step S2006 it may be determined whether an optimal coding mode of the current coding block is an intra prediction mode. If the optimal coding mode of the current coding block is the intra prediction mode, the intra prediction mode information may be encoded through the same process as described above with reference to FIG. 3 in operation S2007. If the optimal coding mode of the current coding block is not the intra prediction mode, the inter prediction mode information may be encoded through the same process as described above with reference to FIG. 9 in operation S2008.
  • the split information of the current coding block may be encoded.
  • the P information may be encoded.
  • index information indicating which partition type is optimal may be encoded.
  • index information on which direction the divided edges are located may be encoded. That is, when the coding block is divided into 1/4 and 3/4 widths, index information on which of the four quarters prediction blocks is located in the four directions can be encoded.
  • step S2004 prediction information of the prediction block A is encoded.
  • index information of the neighboring block having the most optimal prediction information in the prediction block A may be encoded. A detailed description thereof will be described later with reference to FIG. 22.
  • 22 is a flowchart illustrating a method of encoding prediction information of a prediction block A in the image encoding apparatus 100.
  • a prediction block may be generated by applying prediction information of available neighboring blocks to prediction block A, and then RD-Cost may be calculated for each prediction information.
  • prediction information having a minimum RD-Cost may be determined among the applied prediction information, and index information of neighboring blocks having the prediction information may be stored in operation S2203.
  • prediction information of neighboring blocks having a higher priority may be used as it is among neighboring blocks available according to the priorities of neighboring blocks without comparing RD-Cost.
  • step S2005 prediction information of the prediction block B may be encoded.
  • the image encoding apparatus optimizes the prediction block B in consideration of only one preset prediction mode among five prediction modes of the merge mode, the AMVP mode, the DMID mode, the intra prediction mode, and the DIMD mode.
  • the prediction mode of may be determined.
  • the preset prediction mode is the merge mode or the AMVP mode (inter prediction mode)
  • the detailed prediction information may be encoded in the same manner as the above-described encoding method of FIG. 9, and the preset prediction mode is the intra prediction mode.
  • detailed prediction information may be encoded in the same manner as in the encoding method of FIG. 3 described above.
  • prediction information may be encoded as shown in FIG. 23.
  • FIG. 23 is a flowchart illustrating a prediction information encoding method according to a DMID mode.
  • DMID operation information may be encoded.
  • the DMID operation information may be information indicating whether prediction information is encoded in the DMID mode.
  • step S2302 it may be determined whether the DMID operation is true based on the DMID operation information. If the DMID operation information is false, the flowchart ends, and if the DMID information is true, the flow proceeds to step S2303.
  • the prediction direction may be encoded. This may be the same as the description of step S904 of FIG. 9 described above.
  • step S2304 it can be determined whether the prediction direction is a future direction. If the prediction direction is not the future direction, the process proceeds to step S2305. If the prediction direction is the future direction, the process proceeds to step S2308.
  • motion vectors in the past direction may be encoded.
  • the low-precision motion vector is received from the video encoding apparatus, and the video decoding apparatus uses the motion vector as the initial motion vector to obtain the final precision (more precise precision). It is also possible to derive a motion vector.
  • the motion vector having the final precision can be directly derived by the image decoding apparatus by using the motion vectors of the motion information already reconstructed around as the initial motion vector of the motion estimation. It may be. This may be different from the description of step 907 of FIG. 9 described above.
  • the past direction reference picture index information may be encoded. This may be the same as the description of the step S906 of FIG. 9 described above. However, the past direction is determined by the image decoding apparatus without encoding the past direction reference picture index information. It is also possible to determine the reference picture index information.
  • past direction MVP information may be encoded. This may be the same as the description of step S907 of FIG. 9. However, it is also possible to determine the past direction MVP information through the determination in the video decoding apparatus without encoding the past direction MVP information, or to determine the optimum motion information in the past direction through motion estimation without utilizing the MVP information.
  • step S2308 it may be determined whether the prediction direction is a past direction. If the prediction direction is the past direction, the flowchart ends. If the prediction direction is not the past direction, the motion vector of the future direction may be encoded in step S2309. This may be different from the above description of step 911 of FIG. 9.
  • the low-precision motion vector is received from the video encoding apparatus, and the video decoding apparatus uses the motion vector as the initial motion vector to obtain the final precision (more precise precision). It is also possible to derive a motion vector.
  • the motion vector having the final precision is directly used by the image decoding apparatus by using the motion vectors of the motion information previously reconstructed around the motion vector without transmitting the motion vector (that is, omitting the step S2309). It may be induced.
  • reference picture index information of a future direction may be encoded. This may be the same as the description of step S910 of FIG. 9 described above. However, it may also be possible to determine future direction reference picture index information through determination in the image decoding apparatus without encoding future reference picture index information.
  • future direction MVP information may be encoded. This may be the same as the description of step S911 of FIG. 9. However, it is possible to determine the future direction MVP information through the determination in the image decoding apparatus without encoding the future direction MVP information, or to determine the optimal motion information in the future direction through motion estimation without utilizing the MVP information.
  • the image encoding apparatus provides two or more prediction modes among five prediction modes of Merge mode, AMVP mode, DMID mode, intra prediction mode, and DIMD mode.
  • the prediction mode of the optimal prediction block B may be determined. In this regard, it will be described later with reference to FIG. 24.
  • 24 is a flowchart for describing a method of determining a prediction mode of a prediction block B in an image encoding apparatus.
  • index information may be allocated to each prediction mode.
  • the AMVP mode may be assigned as 0, the merge mode as 1, the DMID mode as 2, the intra prediction mode as 3, and the DIMD mode as 4 times.
  • the prediction mode range considered by the image encoding apparatus may be determined through M.
  • M the prediction mode of the prediction block B may be determined using only the prediction modes of the AMVP mode, the merge mode, and the DMID mode.
  • N is 0 and Best_Cost enters the initial value indefinitely, and RD-Cost of the first mode 0 can be calculated and stored in N_Cost.
  • N_Cost is smaller than the stored Best_Cost. If N_Cost is smaller than Best_Cost, then N may be stored as Best_Idx and N_Cost as Best_Cost in step S2405.
  • step S2406 it may be determined whether the current N is equal to or different from the maximum value M of the prediction mode range. If the corresponding information is not the same, the value of N is increased by 1 in step S2407, the process returns to step S2403 and the above-described process is repeated. This flow ends.
  • prediction information of a prediction mode corresponding to the index information may be encoded.
  • the prediction information may be encoded through the same process as described above with reference to FIG. 9.
  • prediction information may be encoded through the same process as described above with reference to FIG. 3.
  • the prediction information may be encoded through the same process as described above with reference to FIG. 23.
  • the decoding block in FIG. 25 may mean an encoding block.
  • FIG. 25 is a flowchart for explaining a method of decoding prediction information in a hybrid mode.
  • a current coding block is divided into a prediction block A and a prediction block B.
  • coding mode information of a current decoding block may be decoded.
  • the coding mode information of the current coding block may be information indicating any one of an intra prediction mode, an inter prediction mode, and a hybrid mode.
  • step S2507 It may be determined whether the coding mode of the current coding block is a hybrid mode based on the prediction mode information decoded in step S2501. If the coding mode of the current coding block is hybrid mode, the flow proceeds to step S2503, and the coding mode mode of the current coding block is not the hybrid mode. You can proceed to step S2506.
  • operation S2506 it may be determined whether the coding mode of the current coding block is an intra prediction mode. If the coding mode of the current coding block is the intra prediction mode, the intra prediction mode information coded in operation S2007 of FIG. 20 may be decoded in operation S2507. In this case, the method of decoding the intra prediction mode information may be the same as described above with reference to FIG. 11.
  • inter-prediction mode information coded in operation S2008 of FIG. 20 may be decoded in operation S2508.
  • the method of decoding the inter prediction mode information may be the same as described above with reference to FIG. 12.
  • the prediction information of the prediction block A encoded in operation S2004 of FIG. 20 may be decoded.
  • the prediction information of the prediction block B encoded in operation S2005 of FIG. 20 may be decoded.
  • the prediction mode of the prediction block B is the DMID mode
  • prediction information may be decoded as shown in FIG. 26.
  • 26 is a flowchart illustrating a method of decoding prediction information according to a DMID mode.
  • the DMID operation state information encoded in operation S2301 of FIG. 23 may be decoded.
  • the operation of the DMID mode may be determined based on the decrypted DMID operation information. If the DMID mode does not operate, the flowchart ends, and if the DMID mode operates, the flow proceeds to step S2603.
  • the prediction direction encoded in operation S2303 of FIG. 23 may be decoded. If the prediction direction information is not encoded, this step may be omitted.
  • step S2604 it may be determined whether the prediction direction is a future direction based on the decoded prediction direction information. If the prediction direction is not the future direction, the flow proceeds to step S2605, and if the prediction direction is the future direction, the flow proceeds to step S2608.
  • the motion vector in the past direction encoded in operation S2305 of FIG. 23 may be decoded. If the information is not encoded, this step can be omitted.
  • the past direction reference picture index information encoded in operation S2306 of FIG. 23 may be decoded. If the information is not encoded, this step may be omitted.
  • the previous direction MVP information encoded in operation S2307 of FIG. 23 may be decoded. If the information is not encoded, this step may be omitted.
  • step S2608 it may be determined whether the prediction direction is a past direction based on the decoded prediction direction information. If the prediction direction is the past direction, the flowchart ends, and if the prediction direction is not the past direction, the motion vector of the future direction coded in step S2309 of FIG. 23 may be decoded in step S2609. If the information is not encoded, this step can be omitted.
  • the future direction reference picture index information encoded in operation S2310 of FIG. 23 may be decoded. If the information is not encoded, this step may be omitted.
  • the future direction MVP information encoded in operation S2311 of FIG. 23 may be decoded. If the information is not encoded, this step may be omitted.
  • FIG. 27 is a diagram illustrating a boundary filtering method according to an embodiment of the present invention.
  • Blocking may occur in the boundary regions of the prediction blocks A and B generated in the current coding block. Therefore, a smoothing filtering process is required to soften the boundary area.
  • filtering may be performed at two prediction block boundaries.
  • FIG. 27 illustrate pixels to be filtered at a boundary between prediction blocks when a prediction block in a coding block is divided into two.
  • the pixels meshed with the prediction block boundary are filtered, the filter tap is 4, and the filter coefficients are represented by W1 to W4.
  • W1 to W4 are any real numbers, and W1 + W2 + W3 + W4 are always one.
  • Equation 2 shows a filtering equation in 2701 and 2702.
  • FIG. 27 illustrate pixels to be filtered at the boundary between prediction blocks when the prediction block is edge-divided within the coding block.
  • diagonal filtering may be applied to the pixels e1, e2, e4, and e5 at the edge boundary of the prediction block.
  • a pixel in which d1 and b1 are simultaneously expressed means that b1 and d1 indicate the same pixel.
  • Equation 3 shows filtering equations in 2703 to 2706 of FIG. 27.
  • Equation 3 it can be seen that the diagonal filtering is applied to the pixels e1, e2, e4, and e5 at the edge boundary.
  • FIG. 28 is a flowchart for explaining a video encoding method according to a first embodiment of the present invention.
  • the image encoding apparatus may split a current coding block into at least one prediction block (S2801).
  • the image encoding apparatus may generate a prediction sample of the at least one prediction block based on the coding mode information of the current coding block.
  • the coding mode information may be information indicating any one of an intra mode, an inter mode, and a hybrid mode.
  • the image encoding apparatus may split the current coding block into a first prediction block and a second prediction block.
  • the image encoding apparatus may generate a prediction sample of the first prediction block by using prediction information of at least one neighboring block of the first prediction block.
  • the apparatus for encoding an image may include one of an intra prediction mode, an inter prediction mode, a decoder-side motion information derivation (DMID) mode, and a decoder-side intra mode derivation (DIMD) mode to generate a prediction sample of the second prediction block. Based on the derived prediction information can be used.
  • the intra prediction mode may include a planar mode, a DC mode, and n Angular prediction modes.
  • the inter prediction mode may include an AMVP mode, a merge mode, and a skip mode.
  • the image encoding apparatus may determine the prediction mode of the second prediction block and encode the prediction mode information of the second prediction block.
  • At least one prediction block may be edge-divided within the current coding block.
  • diagonal filtering may be applied to the pixels at the edge boundary of the prediction block. Since a detailed description thereof has been described above with reference to FIG. 27, it will be omitted.
  • 29 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention.
  • the image decoding apparatus may decode coding mode information of the current coding block (S2901).
  • the coding mode information may be information indicating any one of an intra mode, an inter mode, and a hybrid mode.
  • the image decoding apparatus may split the current coding block into at least one prediction block.
  • the image decoding apparatus may split the current coding block into a first prediction block and a second prediction block.
  • a prediction sample of at least one prediction block may be generated based on the decoded coding mode information.
  • the image decoding apparatus when the coding mode information of the current coding block indicates the hybrid mode, the image decoding apparatus generates a prediction sample of the first prediction block by using prediction information of at least one neighboring block of the first prediction block, and intra prediction A prediction sample of the second prediction block is generated by using prediction information derived based on any one of a mode, an inter prediction mode, a decoder-side motion information derivation (DMID) mode, and a decoder-side intra mode derivation (DIMD) mode. Can be.
  • DMID decoder-side motion information derivation
  • DIMD decoder-side intra mode derivation
  • the prediction information of the second prediction block may be derived by decoding the prediction mode information of the second prediction block.
  • the DMID mode may mean a mode of deriving final motion information based on initial motion information derived from neighboring blocks of an encoding block and using the derived final motion information as prediction information of a prediction block in the coding block. Can be.
  • a template block may be set in a reconstruction region around a coding block, and intra prediction information for deriving an optimal prediction pixel value of the template block may be used as prediction information of a prediction block in the coding block.
  • the optimal prediction pixel value of the template block may mean a prediction pixel value having a minimum difference (or minimum error) from the reconstructed pixel value of the template block.
  • the optimal prediction pixel value of the template block may be generated using the peripheral reference pixels of the template block.
  • diagonal filtering may be applied to the pixels at the edge boundary of the prediction block. Since a detailed description thereof has been described above with reference to FIG. 27, it will be omitted.
  • bitstream generated by the video encoding method of FIG. 28 may be recorded in a storage medium.
  • FIG. 31 is a diagram for describing a method of candidate prediction information of a current coding block according to a second embodiment of the present invention.
  • a current coding block is divided into a prediction block A and a prediction block B, and a coding mode of the current coding block is an inter prediction mode.
  • inter hybrid mode information of a current coding block may be encoded.
  • the inter hybrid mode information may be information indicating whether the coding block is encoded in the inter hybrid mode.
  • the inter hybrid mode information of the current coding block may be true encoded.
  • the inter hybrid mode information may be encoded in a flag format.
  • 32 is a flowchart illustrating a method of encoding inter hybrid mode information in the image encoding apparatus 100.
  • step S3201 it may first be determined whether the inter prediction mode operation is true. Here, if the operation of the inter prediction mode is false, the flowchart ends, and if true, the flow proceeds to step S1702.
  • step S3202 the index information is allocated to the inter prediction mode as 0 and the inter hybrid mode to 1.
  • the initial value of N is 0 and Best_Cost is infinite, and RD-Cost of intra prediction mode, which is index information of 0, can be calculated and stored in N_Cost.
  • step S3204 it is determined whether N_Cost is larger or smaller than the current Best_Cost. If N_Cost is small, the current N value may be stored as Best_Idx and N_Cost as Best_Cost in step S3205.
  • step S3206 it is compared whether N is 1 or not. If the current N is not 1, add 1 to the current N in step S3207, go back to step S3203, repeat the above process, and if the current N is 1, determine the current Best_Idx as the inter hybrid mode information of the current coding block in step S3208. Then, the process of FIG. 32 ends.
  • the intra hybrid mode information generated through the corresponding process is encoded as inter hybrid mode information of the current coding block in step S3101. Additionally, information on whether the inter hybrid mode is operated may be additionally transmitted from an upper header, and the inter hybrid mode may be controlled in the transmitted higher header layer.
  • step S3102 it may be determined whether the current coding block is in inter hybrid mode based on the inter hybrid information of the current coding block.
  • step S3103 encode the split information of the current coding block.
  • the P information when the coding block is divided into two minutes as shown in the exemplary diagrams of FIG. 13, after encoding information on whether the horizontal division or the vertical division is performed, the P information may be encoded. As described in FIG. 5, index information indicating which partition type is optimal among preset partition sets may be encoded. In addition, when the coding block is divided into 1/4 and 3/4 as illustrated in the example of FIG. 15, index information about which of the four prediction blocks is located in four directions is encoded to encode the current coding block. You can also determine the type of partition.
  • prediction information of the prediction block A may be encoded. Prediction information of the prediction block A is determined using a merge mode, and a method of encoding the same is described with reference to FIG. 5.
  • step S3104 may use the prediction information of the neighboring block having a higher priority among the available neighboring blocks according to the priority of the neighboring blocks without using the merge mode.
  • prediction information of the prediction block B may be encoded.
  • the image encoding apparatus may determine an optimal prediction block B prediction mode by considering only one preset prediction mode among three prediction modes of a merge mode, an AMVP mode, and a DMID mode.
  • the preset prediction mode is the merge mode or the AMVP mode
  • detailed prediction information may be encoded in the same manner as in the above-described encoding method of FIG. 6.
  • prediction information may be encoded as shown in FIG. 23.
  • the image encoding apparatus may consider an optimal prediction block B in consideration of two or more prediction modes among three prediction modes of a merge mode, an AMVP mode, and a DMID mode.
  • the prediction mode of may be determined. In this regard, it will be described later with reference to FIG. 19.
  • FIG. 33 is a flowchart illustrating a method of determining a prediction mode of a prediction block B in an image encoding apparatus according to a second embodiment of the present invention.
  • index information may be allocated to each prediction mode.
  • AMVP mode may be assigned as 0, Merge mode as 1, and DMID mode as 2 times.
  • the prediction mode range considered by the image encoding apparatus may be determined through M. For example, if M is 2, the prediction mode of the prediction block B may be determined using only the prediction modes of the AMVP mode, the merge mode, and the DMID mode.
  • N is 0 and Best_Cost enters the initial value indefinitely, and the RD-Cost of the first mode 0 can be calculated and stored in N_Cost.
  • step S3304 it may be determined whether the current N_Cost is less than the stored Best_Cost. If N_Cost is smaller than Best_Cost, then N may be stored as Best_Idx and N_Cost as Best_Cost in step S3305.
  • step S3306 it may be determined whether the current N is equal to or different from the maximum value M of the prediction mode range. If the corresponding information is not the same, increase the value of N by 1 in step S3307, go back to step S3303 and repeat the above process. If the corresponding information is the same, save Best_Idx as the best prediction mode index of the current prediction block in step S1908. This flow ends.
  • prediction information of a prediction mode corresponding to the index information may be encoded.
  • the prediction information may be encoded through the same process as described above with reference to FIG. 6. If the prediction mode is the DMID mode, the prediction information may be encoded through the same process as described above with reference to FIG. 23.
  • a method of decoding prediction information of a current coding block in the image decoding apparatus according to the second embodiment of the present invention will be described with reference to FIG. 34.
  • a coding mode of a current coding block is an inter prediction mode.
  • the current decoding block may mean a current coding block.
  • step S3401 inter hybrid mode information of a current decoding block may be decoded.
  • operation S3402 it may be determined whether the current decoding block is in inter hybrid mode based on the decoded inter hybrid mode information.
  • step S3403 If the current decoding block is in the inter hybrid mode, the flow proceeds to step S3403 to encode split information of the current coding block.
  • the split information of the current decoding block encoded in operation S3103 of FIG. 31 may be decoded.
  • the current decoding block may be partitioned by using the decoded partition information. A detailed description thereof will be omitted as described above with reference to FIGS. 13 to 15.
  • the prediction information of the prediction block A encoded in operation S3104 of FIG. 31 may be decoded.
  • prediction information of the prediction block A may be derived from prediction information of the selected neighboring block based on index information (or merge index information) of the neighboring block.
  • index information or merge index information
  • prediction information of the neighboring block having a high priority may be derived as prediction information of the prediction block A.
  • the prediction information of the prediction block B encoded in operation S3105 of FIG. 31 may be decoded.
  • the prediction mode of the prediction block B is the DMID mode
  • prediction information may be decoded as shown in FIG. 26.
  • 35 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • the image decoding apparatus may decode inter hybrid mode information of an encoding block (S3501).
  • the image decoding apparatus may generate prediction samples of at least one prediction block in the current coding block based on the inter hybrid mode information. A detailed description of the step S3502 will be described with reference to FIG. 24.
  • 36 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • the image decoding apparatus may split the current coding block into a first prediction block and a second prediction block (S3602).
  • the first prediction block and the second prediction block may be in the form of corner division of the current coding block as shown in FIG. 11.
  • diagonal filtering may be applied to pixels adjacent to the edge boundary of the first prediction block.
  • the image decoding apparatus may induce motion information of the first prediction block using a merge mode, and generate a prediction sample of the first prediction block using the derived motion information of the first prediction block.
  • the video decoding apparatus derives motion information of the second prediction block by using any one of a merge mode, an AMVP mode, and a decoder-side motion information derivation (DMID) mode, and uses the derived motion information of the second prediction block.
  • DMID decoder-side motion information derivation
  • the DMID mode may mean a mode of deriving final motion information based on initial motion information derived from neighboring blocks of the coding block and using the derived final motion information as prediction information of a prediction block in the coding block. Can be.
  • the apparatus for decoding an image may determine a prediction mode for deriving motion information of the second prediction block by decoding the inter prediction picture information of the second prediction block.
  • the inter prediction mode information of the second prediction block may be information signaled from the image encoding apparatus.
  • FIG. 37 is a flowchart illustrating a video encoding method according to a second embodiment of the present invention.
  • the image encoding apparatus may encode inter hybrid mode information of the current encoding block (S3701).
  • the image encoding apparatus may generate prediction samples of at least one prediction block in the current coding block based on the inter hybrid mode information.
  • the image encoding apparatus divides the current coding block into a first prediction block and a second prediction block when the current coding block is in the inter hybrid mode, and uses the merge mode to perform the first coding.
  • the motion information of the prediction block may be derived, and the prediction sample of the first prediction block may be generated using the derived motion information of the first prediction block.
  • the image encoding apparatus derives motion information of the second prediction block using any one of a merge mode, an AMVP mode, and a decoder-side motion information derivation (DMID) mode, and uses the derived motion information of the second prediction block. To generate a predictive sample of the second prediction block.
  • DMID decoder-side motion information derivation
  • bitstream generated by the image encoding method of FIG. 37 may be recorded in a storage medium.
  • Intra hybrid mode is one of the intra prediction modes. If the coding mode of the coding block is an intra picture mode and the intra hybrid mode, the prediction information of the first prediction block (prediction block A) is determined using the intra prediction information of the neighboring blocks of the coding block as it is, and the second prediction is performed.
  • the prediction information of the block (prediction block B) may be determined in units of prediction blocks in the same manner as in FIG. 3, or in units of prediction blocks using a decoder-side intra mode derivation (DIMD) mode.
  • DIMD decoder-side intra mode derivation
  • the DIMD mode may mean a prediction mode in which the image encoding apparatus 100 directly derives an unpredicted intra prediction mode in the image decoding apparatus 1000 and generates a prediction sample of the prediction block without encoding.
  • the image decoding apparatus 1000 derives an intra prediction mode of a block around a coding block and induces a final intra prediction mode of the prediction block based on the derived intra prediction mode to generate a prediction sample of the prediction block. May be a mode.
  • FIG. 30 illustrates a peripheral template region for each division type when searching for a prediction mode of a prediction block B generated in a current coding block using the DIMD mode, to explain a method for searching prediction information in the DIMD mode.
  • the template region may be determined in regions already restored around the current coding block.
  • the template area in the upper direction is the AboveTemplate area, and the template area in the left direction is the LeftTemplate area.
  • the horizontal length of the AboveTemplate region is W
  • the vertical length is AT
  • the horizontal length of the LeftTemplate region is LT
  • the vertical length is H
  • the reference pixel of the Template region may be used by R lines.
  • the template region may be referred to as a template block.
  • An intra prediction mode for generating a reconstructed pixel value of a template region and a predicted pixel value of which an error is minimal may be searched for.
  • the searched intra prediction mode may be determined as prediction information of the template region, and the prediction information may be used as prediction information of the current block.
  • the coding block in the picture mode is not the intra hybrid mode, it may be determined in units of prediction blocks as shown in FIG. 3.
  • the method of determining the prediction information of the prediction block A using the intra prediction information of the neighboring block as it is is as follows.
  • the prediction information may be the intra prediction mode.
  • the prediction block A may generate prediction blocks by searching the prediction information optimal for the prediction block A among the prediction information of the neighboring neighboring blocks that have been encoded, and determining the searched optimal prediction information as the prediction information in the prediction block A. have.
  • a method of determining prediction information of the prediction block B may also find an optimal prediction mode among planar, DC, and N angular modes using reference pixels around the prediction block, and generate a prediction block using the prediction information.
  • an optimal prediction mode may be found using the DIMD mode, and a prediction block may be generated using the corresponding prediction information.
  • the prediction block B may determine the prediction information of the prediction block B by referring to the prediction information of the prediction block A.
  • some cases are described below.
  • the difference between the prediction pixel values of the template region and the prediction pixel values of the template region is calculated using the reconstructed pixel values of the template region and the RD-Cost.
  • the prediction information may be searched for as an error for the case.
  • the prediction information of the prediction block B may be determined by referring to the prediction information of the prediction block A according to the transform block partitioning structure.
  • the prediction block B cannot determine the prediction information of the prediction block B by referring to the prediction information of the prediction block A.
  • the prediction block B may determine the prediction information of the prediction block B by referring to the prediction information of the prediction block A.
  • the prediction information of the prediction block B may be determined in units of prediction blocks as described above.
  • an optimal intra prediction mode may be determined in units of prediction blocks, and a prediction block may be generated according to the determined intra prediction mode or DIMD mode. Can be.
  • FIG. 38 is a diagram for describing a method of encoding prediction information of a current coding block.
  • a current coding block is divided into a prediction block A and a prediction block B, and a coding mode of the current coding block is an intra picture mode.
  • intra hybrid mode information of a current coding block may be encoded.
  • the intra hybrid mode information may be information indicating whether the coding block is encoded in the intra hybrid mode.
  • the intra hybrid mode information of the current coding block may be true encoded.
  • the intra hybrid mode information may be encoded in a flag format.
  • 39 is a flowchart illustrating a method of encoding intra hybrid mode information in the image encoding apparatus 100.
  • step S3901 it may be determined whether an intra prediction mode operation is true or not.
  • the operation of the intra prediction mode is false, the flowchart ends, and if true, the flow proceeds to step S3902.
  • index information is allocated to an intra prediction mode of 0 and an intra hybrid mode of 1.
  • the initial value of N is 0 and Best_Cost is infinite, and the RD-Cost of the intra prediction mode, which is index information of 0, can be calculated and stored in N_Cost.
  • operation S3904 it may be determined whether the N_Cost is larger or smaller than the current Best_Cost. If the N_Cost is small, the current N value may be stored as Best_Idx and N_Cost as Best_Cost in operation S3905.
  • step S3906 it is compared whether N is 1 or not. If the current N is not 1, add 1 to the current N in step S3907, go back to step S3903, repeat the above process, and if the current N is 1, determine the current Best_Idx as the intra hybrid mode information of the current coding block in step S3908. Then, the process of FIG. 39 ends.
  • the intra hybrid mode information generated through the corresponding process is encoded as the intra hybrid mode information of the current coding block in step S3901. Additionally, information on whether the intra hybrid mode is operated may be additionally transmitted in the upper header, and the intra hybrid mode may be controlled in the transmitted higher header layer.
  • operation S3802 it may be determined whether the current coding block is an intra hybrid mode based on the intra hybrid information of the current coding block.
  • step S3803 If the current coding block is an intra hybrid mode, the flow proceeds to step S3803 to encode split information of the current coding block.
  • P information may be encoded after encoding information about whether the image is divided in the horizontal direction or the vertical direction.
  • index information indicating which partition type is optimal among preset partition sets may be encoded.
  • index information about which of the four prediction blocks is located in four directions is encoded to encode the current coding block. You can also determine the type of partition.
  • prediction information of the prediction block A may be encoded.
  • index information of the neighboring block having the most optimal prediction information in the prediction block A may be encoded.
  • FIG. 40 is a flowchart illustrating a method of encoding prediction information of a first prediction block in an encoding block of an intra hybrid mode in the image encoding apparatus.
  • a prediction block is generated by applying intra prediction information of available neighboring blocks to a prediction block A, and then RD-Cost is calculated for each prediction information.
  • prediction information having a minimum RD-Cost may be determined among the applied prediction information, and in operation S4003, index information of neighboring blocks having the prediction information may be stored.
  • the prediction information of the neighboring block having the highest priority may be used as it is.
  • prediction information of the prediction block B is encoded.
  • the prediction information of the prediction block B may be encoded by using the above-described intra prediction encoding method of FIG. 3 or by transmitting DIMD mode information (or flag information) indicating a DIMD mode.
  • FIG. 41 is a diagram for describing a method of decoding prediction information of a current decoding block.
  • a current decoding block is divided into a prediction block A and a prediction block B, and a coding mode of the current coding block is an intra picture mode.
  • the current decoding block may mean a current coding block.
  • intra hybrid mode information of the current decoding block may be decoded.
  • operation S4102 it may be determined whether the current decoding block is an intra hybrid mode based on the decoded intra hybrid mode information.
  • step S4103 encode split information of the current coding block.
  • the split information of the current decoding block encoded in operation S4803 of FIG. 48 may be decoded.
  • the current decoding block may be partitioned by using the decoded partition information. A detailed description thereof will be omitted as described above with reference to FIGS. 13 to 15.
  • the prediction information of the prediction block A encoded in operation S3804 of FIG. 38 may be decoded.
  • the prediction information of the prediction block A may be derived from the prediction information of the selected neighboring block based on the index information of the neighboring block.
  • prediction information of the neighboring block having a high priority may be derived as prediction information of the prediction block A.
  • the prediction information of the prediction block B encoded in operation S3805 of FIG. 38 may be decoded.
  • the current decoding block is not the intra hybrid mode in operation S4106, it may be decoded in units of prediction blocks using the intra prediction decoding method of FIG. 11.
  • FIG. 42 is a flowchart illustrating an image decoding method according to a third embodiment of the present invention.
  • the image decoding apparatus may decode intra hybrid mode information of the current coding block (S4201).
  • the image decoding apparatus may generate prediction samples of at least one prediction block in the current coding block based on the intra hybrid mode information. A detailed description of the step S4202 will be described with reference to FIG. 43.
  • 43 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • the image decoding apparatus may split the current coding block into a first prediction block and a second prediction block (S4302).
  • the first prediction block and the second prediction block may be in the form of corner division of the current coding block as shown in FIG. 15.
  • diagonal filtering may be applied to pixels adjacent to the edge boundary of the first prediction block.
  • the image decoding apparatus may generate a prediction sample of the first prediction block using an intra prediction mode of the first prediction block derived from the neighboring block of the first prediction block.
  • the image decoding apparatus may induce the intra prediction mode of the neighboring block determined according to the preset priority among the neighboring blocks of the first prediction block to the intra prediction mode of the first prediction block.
  • the image decoding apparatus may induce the intra prediction mode of the neighboring block determined based on the neighbor block index information to the intra prediction mode of the first prediction block.
  • the neighboring block index information may be information signaled from the image encoding apparatus.
  • the apparatus for decoding an image decodes intra prediction mode information or DIMD mode information of the second prediction block to determine an intra prediction mode of the second prediction block, and predicts the second prediction block using the determined intra prediction mode.
  • a sample may be generated (S4304).
  • the image decoding apparatus may generate prediction samples of at least one prediction block in the current coding block through intra prediction. That is, as described in FIG. 6, a prediction sample may be generated in units of prediction blocks by deriving an intra prediction mode.
  • 44 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
  • the apparatus for encoding an image may encode intra hybrid mode information of the current encoding block (S4401).
  • the image encoding apparatus may generate prediction samples of at least one prediction block in the current coding block based on the intra hybrid mode information.
  • operation S4402 is described.
  • the image encoding apparatus divides the current coding block into a first prediction block and a second prediction block, and derives it from a neighboring block of the first prediction block.
  • a prediction sample of the first prediction block may be generated using the intra prediction mode of the first prediction block.
  • the image encoding apparatus determines the intra prediction mode of the second prediction block based on the intra prediction mode information or the DIMD mode of the second prediction block, and uses the determined intra prediction mode to predict the sample of the second prediction block. Can be generated.
  • bitstream generated by the image encoding method of FIG. 44 may be recorded in a storage medium.
  • Exemplary methods of the present disclosure are represented as a series of operations for clarity of description, but are not intended to limit the order in which the steps are performed, and each step may be performed simultaneously or in a different order as necessary.
  • the illustrated step may further include other steps, may include other steps except some, or may include additional other steps except some.
  • various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof.
  • one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), General Purpose It may be implemented by a general processor, a controller, a microcontroller, a microprocessor, and the like.
  • scope of the disclosure include software or machine-executable instructions (eg, an operating system, an application, firmware, a program, etc.) to cause an operation in accordance with various embodiments of the method to be executed on an apparatus or a computer, and such software or Instructions, and the like, including non-transitory computer-readable media that are stored and executable on a device or computer.
  • software or machine-executable instructions eg, an operating system, an application, firmware, a program, etc.
  • the present invention can be used in an apparatus for encoding / decoding an image.

Landscapes

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

Abstract

영상 부호화/복호화 방법 및 장치가 개시된다. 본 개시의 일 실시 예에 따른 영상 복호화 방법은, 현재 부호화 블록의 코딩 모드 정보를 복호화 하는 단계, 상기 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계 및 상기 복호화된 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보일 수 있다.

Description

영상 신호 부호화/복호화 방법 및 장치
본 발명은 영상 신호 부호화/복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 코딩 모드로 하이브리드 모드가 적용되는 영상 신호 부호화/복호화 방법 및 장치에 관한 것이다.
최근, 인터넷에서는 동영상과 같은 멀티미디어 데이터의 수요가 급격히 증가하고 있다. 하지만 채널(Channel)의 대역폭(Bandwidth)이 발전하는 속도는 급격히 증가하고 있는 멀티미디어 데이터의 양을 따라가기 힘든 상황이다. 이에 따라, 국제 표준화 기구인 ITU-T의 VCEG(Video Coding Expert Group)과 ISO/IEC의 MPEG(Moving Picture Expert Group)은 2014년 2월, 동영상 압축 표준인 HEVC(High Efficiency Video Coding) 버전1을 제정하였다.
HEVC에서는 화면 내 예측(또는 인트라 예측), 화면 간 예측(또는 인터 예측), 변환, 양자화, 엔트로피 부호화 및 인-루프 필터 등의 기술을 정의하고 있다.
현재 동영상 압축 표준인 HEVC에서는 부호화 블록(또는 부호화 유닛) 내에서 하나의 예측(인트라 예측 또는 인터 예측)만 수행될 수 있어 예측의 정확성이 떨어진다는 문제점이 있다.
또한, HEVC에서는 화면 간 예측 모드로 AMVP 모드, Merge 모드, Skip 모드만 수행 될 수 있어 예측의 정확성이 떨어진다는 문제점이 있다.
또한, HEVC에서는 화면 내 예측 모드로 Planar 모드, DC 모드, Angular 모드만 수행 될 수 있어 예측의 정확성이 떨어진다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 부호화 블록내에서 2이상의 예측 방법에 따른 예측을 수행하는 방법을 제공하는 것에 주된 목적이 있다.
또한, 화면 간 예측시 부호화 블록내의 예측 블록의 위치 특성을 고려하여 화면 간 예측 모드를 결정하는 방법을 제공하는 것에 주된 목적이 있다.
또한, 화면 내 예측시 부호화 블록내의 예측 블록의 위치 특성을 고려하여 화면 내 예측 모드를 결정하는 방법을 제공하는 것에 주된 목적이 있다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르는 영상 복호화 방법은, 현재 부호화 블록의 코딩 모드 정보를 복호화 하는 단계, 상기 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계 및 상기 복호화된 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보일 수 있다.
상기 영상 복호화 방법에 있어서, 상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 상기 제1 예측 블록의 적어도 하나의 주변 블록의 예측 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하고, 인트라 예측 모드, 인터 예측 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 및 DMID(Decoder-side Intra Mode Derivation) 모드 중 어느 하나에 기초하여 유도된 예측 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 상기 제2 예측 블록의 예측 모드 정보를 복호화하여 상기 제2 예측 블록의 예측 정보를 유도할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 DMID 모드는, 부호화 블록의 주변 블록으로부터 유도된 초기 움직임 정보를 기초로 최종 움직임 정보를 유도하고, 상기 유도된 최종 움직임 정보를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 DIMD 모드는, 부호화 블록 주변의 복원 영역에서 Template 블록을 설정하고, 상기 Template 블록의 최적의 예측 화소 값을 유도하는 화면 내 예측 모드를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 적어도 하나의 예측 블록은 상기 현재 부호화 블록 내에서 모서리 분할될 수 있다.
상기 영상 복호화 방법에 있어서, 상기 적어도 하나의 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우, 예측 블록의 모서리 경계에서의 화소들은 대각선 방향 필터링이 적용될 수 있다.
한편, 본 발명의 일 양상에 따른 영상 부호화 방법은, 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계 및 상기 현재 부호화 블록의 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보일 수 있다.
상기 영상 부호화 방법에 있어서, 상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 상기 제1 예측 블록의 적어도 하나의 주변 블록의 예측 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하고, 인트라 예측 모드, 인터 예측 모드, DMID(Decoder-side Motion Information Derivation) 모드 및 DIMD(Decoder-side Intra Mode Derivation) 모드 중 어느 하나에 기초하여 유도된 예측 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 상기 제2 예측 블록의 예측 모드를 결정하여 상기 제2 예측 블록의 예측 모드 정보를 부호화할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 적어도 하나의 예측 블록은 상기 현재 부호화 블록 내에서 모서리 분할될 수 있다.
상기 영상 부호화 방법에 있어서, 상기 적어도 하나의 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우, 예측 블록의 모서리 경계에서의 화소들은 대각선 방향 필터링이 적용될 수 있다.
본 발명의 일 양상에 따른 기록 매체는, 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계; 및상기 현재 부호화 블록의 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보인 것을 특징으로 하는 영상 부호화 방법에 의해 생성된 비트스트림을 저장할 수 있다.
본 개시의 일 양상에 따르는 영상 복호화 방법은 현재 부호화 블록의 인터 하이브리드 모드 정보를 복호화하는 단계 및 상기 인터 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 현재 부호화 블록이 인터 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계, Merge 모드를 이용하여 상기 제1 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제1 예측 블록의 움직임 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계 및 Merge 모드, AMVP 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 중 어느 하나를 이용하여 상기 제2 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제2 예측 블록의 움직임 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 제2 예측 블록의 화면 간 예측 모드 정보를 복호화하여 상기 제2 예측 블록의 움직임 정보를 유도하기 위한 예측 모드를 결정할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 DMID 모드는, 부호화 블록의 주변 블록으로부터 유도된 초기 움직임 정보를 기초로 최종 움직임 정보를 유도하고, 상기 유도된 최종 움직임 정보를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계는, 상기 현재 부호화 블록을 모서리 분할하는 것을 특징으로 할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 제1 예측 블록 및 상기 제2 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우, 상기 제1 예측 블록의 모서리 경계에 인접한 화소들에는 대각선 방향 필터링이 적용될 수 있다.
본 발명의 일 양상에 따른 영상 부호화 방법은, 현재 부호화 블록의 인터 하이브리드 모드 정보를 부호화하는 단계 및 상기 인터 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 현재 부호화 블록이 인터 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계, Merge 모드를 이용하여 상기 제1 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제1 예측 블록의 움직임 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계 및 Merge 모드, AMVP 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 중 어느 하나를 이용하여 상기 제2 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제2 예측 블록의 움직임 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 제2 예측 블록의 화면 간 예측 모드 정보에 기초하여 상기 제2 예측 블록의 움직임 정보를 유도하기 위한 예측 모드를 결정할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 DMID 모드는, 부호화 블록의 주변 블록으로부터 유도된 초기 움직임 정보를 기초로 최종 움직임 정보를 유도하고, 상기 유도된 최종 움직임 정보를 상기 부호화 블록 내의 예측 블록의 움직임 정보로 이용할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계는, 상기 현재 부호화 블록을 모서리 분할하는 것을 특징으로 할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 제1 예측 블록 및 상기 제2 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우, 상기 제1 예측 블록의 모서리 경계에 인접한 화소들에는 대각선 방향 필터링이 적용될 수 있다.
본 발명의 일 양상에 따른 기록 매체는, 현재 부호화 블록의 인터 하이브리드 모드 정보를 부호화하는 단계 및 상기 인터 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 현재 부호화 블록이 인터 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계, Merge 모드를 이용하여 상기 제1 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제1 예측 블록의 움직임 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계 및 Merge 모드, AMVP 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 중 어느 하나를 이용하여 상기 제2 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제2 예측 블록의 움직임 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함하는 영상 부호화 방법에 의해 생성된 비트스트림을 저장할 수 있다.
본 개시의 일 양상에 따르는 영상 복호화 방법은, 현재 부호화 블록의 인트라 하이브리드 모드 정보를 복호화하는 단계 및 상기 인트라 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 현재 부호화 블록이 인트라 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계, 상기 제1 예측 블록의 주변 블록으로부터 유도된 상기 제1 예측 블록의 화면 내 예측 모드를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계 및 상기 제2 예측 블록의 화면 내 예측 모드 정보 혹은 DIMD(Decoder-side Intra Mode Derivation) 모드 정보를 복호화하여 상기 제2 예측 블록의 화면 내 예측 모드를 결정하고, 상기 결정된 화면 내 예측 모드를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 DIMD 모드는, 부호화 블록의 주변 블록으로부터 유도된 인트라 예측 모드를 기초로 최종 인트라 예측를 유도하고, 상기 유도된 인트라 예측 모드를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 제1 예측 블록의 예측 샘플을 생성하는 단계는, 상기 제1 예측 블록의 주변 블록들 중 기 설정된 우선 순위에 따라 결정된 주변 블록의 화면 내 예측 모드를 상기 제1 예측 블록의 화면 내 예측 모드로 유도하여 상기 제1 예측 블록의 예측 샘플을 생성할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 제1 예측 블록의 예측 샘플을 생성하는 단계는, 주변 블록 색인 정보에 기초하여 결정된 주변 블록의 화면 내 예측 모드를 상기 제1 예측 블록의 화면 내 예측 모드로 유도하여 상기 제1 예측 블록의 예측 블록의 예측 샘플을 생성할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계는, 상기 현재 부호화 블록을 모서리 분할할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 제1 예측 블록 및 상기 제2 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우, 상기 제1 예측 블록의 모서리 경계에 인접한 화소들에는 대각선 방향 필터링이 적용될 수 있다.
본 발명의 일 양상에 따른 영상 부호화 방법은, 현재 부호화 블록의 인트라 하이브리드 모드 정보를 부호화하는 단계 및 상기 인트라 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 현재 부호화 블록이 인트라 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계, 상기 제1 예측 블록의 주변 블록으로부터 유도된 상기 제1 예측 블록의 화면 내 예측 모드를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계 및 상기 제2 예측 블록의 화면 내 예측 모드 혹은 DIMD(Decoder-side Intra Mode Derivation) 모드 정보에 기초하여 상기 제2 예측 블록의 화면 내 예측 모드를 결정하고, 상기 결정된 화면 내 예측 모드를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 제1 예측 블록의 예측 샘플을 생성하는 단계는, 상기 제1 예측 블록의 주변 블록들 중 기 설정된 우선 순위에 따라 결정된 주변 블록의 화면 내 예측 모드를 상기 제1 예측 블록의 화면 내 예측 모드로 유도하여 상기 제1 예측 블록의 예측 샘플을 생성할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 제1 예측 블록의 예측 샘플을 생성하는 단계는, 주변 블록 색인 정보에 기초하여 결정된 주변 블록의 화면 내 예측 모드를 상기 제1 예측 블록의 화면 내 예측 모드로 유도하여 상기 제1 예측 블록의 예측 블록의 예측 샘플을 생성할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계는, 상기 현재 부호화 블록을 모서리 분할할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 제1 예측 블록 및 상기 제2 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우, 상기 제1 예측 블록의 모서리 경계에 인접한 화소들에는 대각선 방향 필터링이 적용될 수 있다.
본 발명의 일 양상에 따른 기록 매체는, 현재 부호화 블록의 인트라 하이브리드 모드 정보를 부호화하는 단계 및 상기 인트라 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고, 상기 현재 부호화 블록이 인트라 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는, 상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계, 상기 제1 예측 블록의 주변 블록으로부터 유도된 상기 제1 예측 블록의 화면 내 예측 모드를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계 및 상기 제2 예측 블록의 화면 내 예측 모드 혹은 DIMD(Decoder-side Intra Mode Derivation) 모드 정보에 기초하여 상기 제2 예측 블록의 화면 내 예측 모드를 결정하고, 상기 결정된 화면 내 예측 모드를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함하는 영상 부호화 방법에 의해 생성된 비트스트림을 저장할 수 있다.
본 발명은 부호화 블록 내에서 2이상의 예측 방식에 따른 예측을 수행함으로써 예측의 정확성을 향상시킬 수 있다.
본 발명은 부호화 블록 내에서 2이상의 예측 방식에 따른 예측을 수행함으로써 압축 효율을 향상시킬 수 있다.
본 발명은 부호화 블록 내의 예측 블록의 위치 특성을 고려하여 화면 간 예측 모드를 결정함으로써 예측의 정확성을 향상시킬 수 있다.
본 발명은 부호화 블록 내의 예측 블록의 위치 특성을 고려하여 화면 간 예측 모드를 결정함으로써 압축 효율을 향상시킬 수 있다.
본 발명은 부호화 블록 내의 예측 블록의 위치 특성을 고려하여 화면 내 예측 모드를 결정함으로써 예측의 정확성을 향상시킬 수 있다.
본 발명은 부호화 블록 내의 예측 블록의 위치 특성을 고려하여 화면 내 예측 모드를 결정함으로써 압축 효율을 향상시킬 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 화면 내 예측 모드를 설명하기 위한 도면이다.
도 3은 화면 내 예측 모드 중, 현재 예측 블록의 최적 예측 모드를 부호화하는 방법을 나타낸 흐름도이다.
도 4는 화면 내 예측 모드 중, MPM 후보를 설정하는 방법의 일 실시 예를 설명하기 위한 도면이다.
도 5는 화면 간 예측 모드 중, AMVP 후보를 설정하는 방법을 나타낸 흐름도이다.
도 6은 현재 예측 블록의 주변 블록의 위치를 나타내는 도면이다.
도 7은 시간적 후보의 움직임 정보를 유도하는 방법을 설명하기 위한 도면이다.
도 8은 화면 간 예측 모드 중, Merge 모드의 후보를 유도하기 위한 방법을 설명한 흐름도이다.
도 9는 화면 간 예측 모드 정보를 부호화하는 방법의 일 예시를 나타낸 흐름도이다.
도 10는 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타낸 블록도이다.
도 11은 현재 예측 블록의 최적 화면 내 예측 모드를 복호화하는 방법을 나타낸 흐름도이다.
도 12는 화면 간 예측 모드 정보를 복호화하는 방법을 나타낸 흐름도이다.
도 13은 현재 부호화 블록을 분할하기 위한 제1 방법을 설명하기 위한 도면이다.
도 14 및 도 15는 현재 부호화 블록을 분할하기 위한 제2 방법을 설명하기 위한 도면이다.
도 16(도 16a, 도 16b, 도 16c) 및 도 17(도 17a, 도 17b, 도 17c)는 하이브리드 모드인 부호화 블록 내의 예측 블록들의 예측 정보를 결정하는 방법을 설명하기 위한 도면이다.
도 18(도 18a, 도 18b, 도 18c)는 DMID 모드의 주변 Template 블록 위치와 크기를 분할 형태 별로 설명하기 위한 예시도이다.
도 19는 DMID 모드의 움직임 정보를 유도하는 방법을 설명하기 위한 도면이다.
도 20은 하이브리드 모드에서 예측 정보를 부호화하는 방법을 설명하기 위한 도면이다.
도 21은 영상 부호화 장치에서 화면 내 예측 모드, 화면 간 예측 모드, 하이브리드 모드 중에서 최적 예측 모드를 결정하는 방법을 나타낸 흐름도이다.
도 22는 영상 부호화 장치에서 하이브리드 모드인 부호화 블록 내의 예측 블록의 예측 정보를 부호화하는 방법을 나타내는 흐름도이다.
도 23는 DMID 모드에 따른 예측 정보 부호화 방법을 나타내는 흐름도이다.
도 24는 영상 부호화 장치에서 하이브리드 모드인 부호화 블록 내의 예측 블록의 예측 모드를 결정하는 방법을 설명하기 위한 흐름도이다.
도 25는 하이브리드 모드에서 예측 정보를 복호화하는 방법을 설명하기 위한 흐름도이다.
도 26은 DMID 모드에 따른 예측 정보 복호화 방법을 나타내는 흐름도이다.
도 27은 경계 필터링 방법을 설명하기 위한 도면이다.
도 28은 본 발명의 제1 실시 예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 29는 본 발명의 제1 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 30은 DIMD 모드에 따른 화면 내 예측 모드를 유도하는 방법을 설명하기 위한 도면이다.
도 31은 본 발명의 제2 실시 예에 따른 현재 부호화 블록의 예측 정보를 부호화하는 방법을 설명하기 위한 도면이다.
도 32는 영상 부호화 장치에서 인터 하이브리드 모드 정보를 부호화하는 방법을 설명하기 위한 흐름도이다.
도 33은 영상 부호화 장치에서 인터 하이브리드 모드인 부호화 블록 내의 두 번째 예측 블록의 예측 모드를 결정하는 방법을 설명하기 위한 흐름도이다.
도 34는 본 발명의 제2 실시 예에 따른 현재 복호화 블록의 예측 정보를 복호화하는 방법을 설명하기 위한 도면이다.
도 35는 본 발명의 제2 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 36은 본 발명의 제2 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 37은 본 발명의 제2 실시 예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 38은 본 발명의 제3 실시 예에 따른 현재 부호화 블록의 예측 정보를 부호화하는 방법을 설명하기 위한 도면이다.
도 39는 영상 부호화 장치에서 인트라 하이브리드 모드 정보를 부호화하는 방법을 설명하기 위한 흐름도이다.
도 40은 영상 부호화 장치에서 인트라 하이브리드 모드인 부호화 블록 내의 첫 번째 예측 블록의 예측 정보를 결정하는 방법을 설명한 흐름도이다.
도 41은 본 발명의 제3 실시 예에 따른 현재 부호화 블록의 예측 정보를 복호화하는 방법을 설명하기 위한 도면이다.
도 42는 본 발명의 제3 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 43은 본 발명의 제3 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 44는 본 발명의 제3 실시 예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시 예에 따른 영상 부호화 장치(100)의 구성을 나타낸 블록도이다.
영상 부호화 장치(100)는 영상을 부호화하는 장치로써 블록 분할부(101), 예측부(102), 변환부(103), 양자화부(104), 엔트로피 부호화부(105), 역 양자화부(106), 역 변환부(107), 가산부(108), 인루프 필터부(109), 메모리부(110) 및 감산부(111)를 포함할 수 있다.
블록 분할부(101) 는 최대 크기의 부호화 하고자 하는 블록(이하, 최대 부호화 블록이라 칭함)으로부터 최소 크기의 부호화 하고자 하는 블록(이하, 최소 부호화 블록이라 칭함)까지 분할을 수행할 수 있다. 상기 분할은 쿼드-트리 분할(이하, QT(Quad-Tree) 분할이라 칭함) 또는 듀얼-트리 분할(이하, DT(Dual-Tree) 분할이라 칭함) 중 적어도 하나에 기반하여 수행될 수 있다. QT 분할이란 상위 블록을 너비와 높이가 상위 블록의 절반인 하위 블록으로 사분할하는 방식이다. DT 분할이란 상위 블록을 너비 또는 높이 중 어느 하나가 상위 블록의 절반인 하위 블록으로 이분할하는 방식이다. 여기서, DT 분할은 바이너리 트리(Biniary Tree) 분할으로 불릴 수 있다.
블록 분할부(101)는 입력된 영상을 적어도 하나의 블록으로 분할할 수 있다. 이 때, 입력된 영상은 픽처, 슬라이스, 타일, 세그먼트 등 다양한 형태와 크기를 가질 수 있다. 블록은 부호화 단위(CU), 예측 단위(PU) 또는 변환 단위(TU)를 의미할 수 있다.
이하, 본 발명의 실시예 에서는 부호화 단위는 부호화를 수행하는 단위의 의미로 사용할 수도 있고, 복호화를 수행하는 단위의 의미로 사용할 수도 있다. 그리고, 부호화 단위는 부호화 블록을 의미할 수 있다.
예측부(102)는 화면 간 예측을 수행하는 화면 간 예측부와 화면 내 예측을 수행하는 화면 내 예측부를 포함할 수 있다. 예측부(102)는 현재 원본 블록에서 현재 예측 하고자 하는 블록(이하, 예측 블록이라 함)의 주변 화소나 이전에 이미 복호화가 끝난 참조 픽쳐를 이용하여 예측 블록을 생성할 수 있다. 여기서, 예측 블록은 부호화 블록 내에서 적어도 하나의 예측 블록들이 생성될 수 있다. 부호화 블록 내 예측 블록이 1개일 경우, 예측 블록은 부호화 블록과 동일한 형태일 수 있다. 한편, 예측부(102)에서 예측 블록을 생성한다는 것은 예측 블록의 예측 샘플을 생성한다는 것과 동일한 의미일 수 있다.
동영상 신호의 예측 기술에는 크게 화면 내 예측과 화면 간 예측으로 구성 되어 있는데, 화면 내 예측은 현재 블록의 주변 화소들을 이용하여 예측 블록을 생성하는 방식이고, 화면 간 예측은 이전에 이미 부호화 및 복호화가 끝난 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 찾아서 예측 블록을 생성하는 방식이다. 여기서, 화면 간 예측을 인터 예측, 화면 내 예측을 인트라 예측으로 불릴 수 있다.
예측부(102)는 현재 원본 블록에서 예측 블록을 뺀 잔차 블록을 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 등 다양한 기법을 이용하여 예측 블록의 최적 예측 모드를 결정할 수 있다. RDO 비용 계산식은 아래 수학식 1과 같다.
Figure PCTKR2018000729-appb-M000001
여기서, D는 양자화에 의한 열화, R은 압축 스트림의 레이트, J는 RD 비용이고, φ는 부호화 모드, λ는 라그랑지안 승수(Lagranginan multiplier)로 에러의 양과 비트량 간의 단위를 일치시키기 위한 스케일 보정용 계수일 수 있다. 부호화 과정에서 최적의 부호화 모드로 선택되기 위해서는 해당 모드를 적용했을 때의 J 즉, RD-비용값이 다른 모드를 적용했을 때보다 작아야 하는데, RD-비용값을 구하는 식에는 비트율과 에러를 동시에 고려하여 계산할 수 있다.
생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록)은 변환부(103)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 모션 벡터 정보 등은 잔차값과 함께 엔트로피 부호화부(105)에서 부호화되어 복호화기에 전달될 수 있다. 특정한 부호화 모드를 사용할 경우, 예측부(102)를 통해 예측 블록을 생성하지 않고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.
화면 내 예측부는 현재 픽쳐 내의 화소 정보인 현재 블록 주변의 참조 픽셀 정보를 기초로 예측 블록을 생성할 수 있다. 화면 내 예측이 수행될 현재 블록의 주변 블록의 코딩 모드가 화면 간 예측인 경우, 화면 간 예측이 적용된 주변 블록에 포함되는 참조 픽셀을, 화면 내 예측이 적용된 주변의 다른 블록 내의 참조 픽셀로 대체될 수 있다. 즉, 참조 픽셀이 가용하지 않는 경우, 가용하지 않은 참조 픽셀 정보를, 가용한 참조 픽셀 중 적어도 하나의 참조 픽셀로 대체하여 사용할 수 있다.
화면 내 예측에서 예측 모드는 참조 픽셀 정보를 예측 방향에 따라 사용하는 방향성 예측 모드와 예측을 수행시 방향성 정보를 사용하지 않는 비방향성 모드를 가질 수 있다. 휘도 정보를 예측하기 위한 모드와 색차 정보를 예측하기 위한 모드가 상이할 수 있고, 색차 정보를 예측하기 위해 휘도 정보를 예측하기 위해 사용된 화면 내 예측 모드 정보 또는 예측된 휘도 신호 정보를 활용할 수 있다.
한편, 화면 내 예측에는 Planar 모드, DC 모드, Angular 예측 모드 N개를 포함한 총 (N+2)개의 예측 모드가 존재할 수 있다.
도 2의 201은 DC 모드의 예측 블록 생성 방법을 나타낸 것이다.
도 2의 201를 참고하면, R1~R4 영역 내 모든 예측 화소에 a~s 참조 화소의 평균값을 적용시킨 후, R1은 인접 참조 화소 2개(a, j), R2, R3 영역은 인접 참조 화소 1개(b~h, k~q)와의 FIR 필터링을 통해 최종 예측 블록을 생성한다.
도 2의 202는 Planar 모드의 예측 블록 생성 방법을 나타낸 것이다.
도 2의 202를 참고하면, Planar 모드는 예측 화소 위치 별로 상단/좌측에 위치의 참조 화소와 하단/우측에 복사된 참조 화소와의 선형 보간 방식을 이용하여 최종 예측 블록을 생성한다.
도 2의 203은 Angular 예측 모드 N개의 예측 방향을 나타내낸 것이다.
도 2의 203을 참고하면, Angular 예측 모드는 예측 방향 별로 인접한 참조 화소의 값을 예측 블록에 적용하여 최종 예측 블록을 생성한다.
도 3은 현재 예측 블록의 최적 예측 모드를 부호화하는 방법을 나타낸 흐름도이다.
도 3을 참고하면, S301 단계에서는 MPM(Most Probable Mode) 후보를 설정할 수 있다. 여기서, MPM 후보를 설정하는 방법에 대해서는 도 4를 참고하여 후술하도록 한다.
그리고, S302 단계에서는 MPM을 이용하여 최적 화면 내 예측 모드를 부호화할 것인지 여부를 지시하는 정보를 부호화 할 수 있다.
그리고, S303 단계에서는 MPM 동작 정보 여부를 판단할 수 있다. 해당 정보가 참인 경우, S304 단계에서 최적 화면 내 예측 모드가 어떤 MPM 후보와 동일한지를 알려주는 색인 정보를 부호화할 수 있다. 반대로, 해당 정보가 거짓인 경우, S305 단계에서 MPM 후보인 화면 내 예측 모드를 제외한 나머지 화면 내 예측 모드 중, 어떤 예측 모드가 최적인지를 지시하는 정보를 부호화할 수 있다.
도 4는 MPM 후보를 설정하는 방법의 일 실시 예를 설명하기 위한 도면이다.
도 4에서 L은 현재 예측 블록 좌측에 위치한 주변 블록의 화면 내 예측 모드 정보이고, A는 상단에 위치한 주변 블록의 화면 내 예측 모드 정보를 나타낸다.
도 4를 참고하면, 명시된 각 조건에 따라서 MPM 후보 3개를 최종 결정할 수 있다.
한편, MPM 후보의 개수는 P(P>0, P는 정수)개로 결정 될 수 있으며, 후보를 결정하는 방법 또한 다양할 수 있다.
다시 도 1의 예측부(102)의 설명으로 돌아와서, 예측부(102)에 포함된 화면 간 예측부는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측 블록을 생성할 수 있고, 경우에 따라서는 현재 픽쳐 내의 부호화가 완료된 일부 영역의 정보를 기초로 예측 블록을 생성할 수 있다. 화면 간 예측부는 참조 픽쳐 보간부, 모션 예측부, 움직임 보상부를 포함할 수 있다.
한편, 화면 간 예측에는 AMVP 모드, Merge 모드 및 Skip 모드의 예측 모드가 존재할 수 있다.
이하, 화면 간 예측의 AMVP 모드에 대해 도 5 내지 도 7을 참고하여 설명하도록 한다.
AMVP 모드에서는 현재 예측 블록의 주변 블록의 예측 정보를 이용하여 AMVP 후보를 설정할 수 있다.
도 5는 AMVP 후보를 설정하는 방법을 나타낸 흐름도이고, 도 6은 현재 예측 블록의 주변 블록의 위치를 나타내는 도면이다.
도 5를 참고하면, S501 단계에서는 현재 예측 블록의 주변 블록에서 2개의 공간적 후보를 유도할 수 있다. 구체적으로, 도 6의 A1→A4 순으로 2개의 후보 중 먼저 이용 가능한 1개, 도 6의 A3→A2→A5 순으로 3개의 후보 중 먼저 이용 가능한 1개를 포함한 2개의 공간적 후보를 선택할 수 있다.
S502 단계에서는 시간적 후보 2개를 도 6의 B1→B2 순으로 탐색한 후, 먼저 이용 가능한 1개의 후보를 선택한다. 이 때, 시간적 후보의 움직임 정보를 유도하는 방법은 도 7를 참고하여 후술하도록 한다.
그리고, S503 단계에서는 S501 단계에서 유도한 공간적 후보와 S502 단계에서 유도한 시간적 후보들 중, 중복된 후보를 제거할 수 있다.
그리고, S504 단계에서는 현재까지 유도한 후보의 개수가 최종 AMVP 후보 개수보다 적을 경우, (0, 0) 움직임 정보를 추가할 수 있다. 여기서 최종 AMVP 후보 개수 또한 다양하게 결정할 수 있는데, 본 설명에서는 2개로 가정한다.
그리고, S505 단계에서는 유도된 AMVP 후보 2개를 최종 선택할 수 있다. 이렇게 유도된 AMVP 후보 2개 중, RDO 과정을 통해 RD-cost가 낮은 최종 AMVP 후보를 1개를 결정한 후, 해당 후보의 움직임 벡터가 가리키는 지점을 시작점으로 움직임 추정 과정을 수행하고, 움직임 추정을 통해 최적 움직임 벡터를 찾을 수 있다.
한편, AMVP 후보의 개수는 Q(Q>0, Q는 정수)개로 결정될 수 있으며, AMVP 후보를 결정하는 방법 또한 다양할 수 있다.
도 7은 시간적 후보의 움직임 정보를 유도하는 방법을 설명하기 위한 도면이다.
도 7를 참고하면, Collocated 픽쳐 내에서 현재 픽쳐 내 현재 블록의 위치와 동일한 블록을 기준으로 시간적 후보 블록이 가지고 있는 움직임 정보를 탐색할 수 있다. 해당 움직임 정보의 움직임 벡터는 참조 픽쳐 B 내의 예측 블록을 가리키고 있는데 참조 픽쳐 B와 Collocated 픽쳐의 시간적 거리를 구하여, 이를 현재 픽쳐가 참조하고 있는 참조 픽쳐 A와의 시간적 거리에 맞게 스케일하여 스케일된 움직임 벡터를 유도할 수 있다. 여기서, 스케일링된 움직임 벡터는 시간적 후보의 움직임 정보로 이용될 수 있다. 이 때, 참조 픽쳐 A와 참조 픽쳐 B는 동일한 픽쳐 일수도 있다
다음으로, 화면 간 예측의 Merge 모드에 대해 도 8을 참고하여 설명하도록 한다.
Merge 모드에서는 현재 예측 블록의 주변 블록의 예측 정보를 이용하여 Merge 후보를 설정할 수 있다.
도 8은 Merge 후보를 설정하는 방법을 나타낸 흐름도이다.
도 8을 참고하면, S801 단계에서는 공간적 후보를 유도하는데, 도 6의 A1~A5 5개 후보들 중, A1→A2→A3→A4→A5 순으로 탐색하고, 먼저 이용 가능한 4개의 후보를 선택할 수 있다.
그리고, S802 단계에서는 시간적 후보를 유도하는데 해당 방법은 기 전술한 도 5의 S502 단계의 설명과 동일하다.
그리고, S803 단계에서는 현재까지 유도한 후보들간 중복된 후보를 제거하고, 결합된 양방향 후보를 추가할 수 있다. 결합된 양방향 후보란 이전에 결정된 후보의 움직임 정보를 기반으로 양방향 움직임 정보를 조합한 후보를 의미할 수 있다.
그리고, S804 단계에서는 현재까지 유도한 후보의 개수가 최종 Merge 후보 개수보다 적을 경우, (0, 0) 움직임 정보를 추가할 수 있다. 여기서 최종 Merge 후보 개수 또한 다양하게 결정할 수 있는데, 본 설명에서는 5개로 가정한다.
S805 단계에서는 유도된 후보들 중, 5개의 후보를 최종 Merge 후보로 결정한다. 이렇게 유도된 5개의 Merge 후보 중, 현재 예측 블록에 최적인 움직임 정보를 갖고 있는 Merge 후보를 RDO를 통해 결정할 수 있다.
한편, Merge 후보의 개수는 R(R>0, R은 정수)개로 결정될 수 있으며, Merge 후보를 결정하는 방법 또한 다양할 수 있다.
도 9는 화면 간 예측 모드 정보를 부호화하는 방법의 일 예시를 나타낸 흐름도이다.
도 9를 참고하면, S901 단계에서는 Merge 동작 정보를 부호화할 수 있다.
그리고, S902 단계에서는 Merge 동작 정보에 기초하여 Merge 동작 여부를 판단할 수 있다.
Merge 동작 여부가 참이라면, S903 단계에서 Merge 후보의 색인 정보를 부호화하고 도 9의 흐름을 종료한다. Merge 동작 여부가 거짓이라면, S904 단계에서 예측 방향을 부호화할 수 있다. 여기서, 예측 방향은 양방향, 과거 방향, 미래 방향 3가지 중 하나로 부호화될 수 있다.
그리고, S905 단계에서는 예측 방향이 미래 방향인지 아닌지를 판단할 수 있다. 미래 방향이 아니라면, S906 단계에서 과거 방향에 대한 참조 픽쳐 색인 정보를 부호화하고, S907 단계에서 과거 방향 MVD 정보를 부호화할 수 있다. 여기서, MVD란 Motion Vector Difference의 준말로, 현재 예측 블록의 과거 방향 최적 움직임 벡터와 과거 방향의 최적 AMVP 후보의 움직임 벡터 간 차이를 나타낸 정보이다.
그리고, S908 단계에서는 과거 방향 MVP 정보를 부호화 하는데, MVP란 Motion Vector Predictor의 준말로, 최종 AMVP 후보 2개 중 최적 AMVP 후보를 가리킨다.
그리고, S909 단계에서는 예측 방향이 과거 방향인지 아닌지를 판단할 수 있다. 예측 방향이 과거 방향이 아니면, S910 단계에서 미래 방향의 참조 픽쳐 색인 정보를 부호화하고, S911 단계에서 미래 방향 MVD 정보를 부호화할 수 있다. S912 단계에서는 미래 방향의 MVP 정보를 부호화할 수 있다.
다음으로, 화면 간 예측의 Skip 모드에 대해 설명하도록 한다.
Skip 모드에서는 현재 예측 블록의 주변 블록의 움직임 정보를 그대로 현재 예측 블록에 적용하는 모드일 수 있다. 또한, Skip 모드에서는 주변 블록의 움직임 정보를 이용하여 현재 예측 블록의 예측 샘플을 생성하고, 그 예측 샘플을 바로 복원 샘플로 이용할 수 있다. 즉, Skip 모드인 경우, 잔차 블록의 생성을 생략할 수 있다.
예측부(102)는 Skip 모드가 이용되는 경우 어떤 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 것인 지를 결정할 수 있다.
한편, 예측부(102)에서는 부호화 블록의 예측 방식을 지시하는 코딩 모드 정보를 부호화 할 수 있다. 상술한 바와 같이 부호화 블록은 적어도 하나의 예측 블록으로 분할될 수 있으며, 하나의 부호화 블록에서 분할된 예측 블록은 하나의 예측 방식이 적용될 수 있다. 그러나, 예측 블록 각각의 예측 모드는 상이할 수 있다.
일 예로, 현재 부호화 블록이 화면 간 예측으로 부호화된 경우, 현재 부호화 블록 내의 제1 예측 블록은 AMVP 모드, 제2 예측 블록은 Merge 모드에 기초하여 각각 예측 샘플을 생성할 수 있다.
즉, 코딩 모드 정보는 부호화 블록 단위로 부호화 될 수 있으며, 예측 모드 정보는 예측 블록 단위로 부호화 될 수 있다.
다시 도 1의 설명으로 돌아와서, 변환부(103)는 원본 블록과 예측 블록의 차이인 잔차 블록을 변환하여 변환 블록을 생성할 수 있다. 여기서, 변환 블록은 변환 및 양자화 과정을 위해 사용되는 가장 작은 단위일 수 있다.
변환부(103)는 잔차 신호를 주파수 영역으로 변환하여 변환 계수를 가지는 변환 블록을 생성할 수 있다. 여기서, 잔차 신호를 주파수 영역으로 변환하는 방법으로는 이산 코사인 변환(DCT: Discrete Cosine Transform)기반 변환, 이산 사인 변환(DST: Discrete Sine Transform), KLT(Karhunen Loeve Transform) 등 다양한 변환 기법을 이용할 수 있으며, 이를 이용하여 잔차 신호가 주파수 영역으로 변환되어 변환 계수가 생성될 수 있다. 변환 기법을 사용하기 위해 기저벡터(basis vector)를 이용하여 행렬 연산을 하게 되는데 예측 블록이 어떤 예측 모드로 부호화 되었는지에 따라서 행렬 연산 시 변환 기법들을 다양하게 조합하여 사용할 수도 있다. 예를 들어, 화면 내 예측 시 예측 모드에 따라 가로 방향으로는 이산 코사인 변환을 사용하고 세로 방향으로는 이산 사인 변환을 사용 할 수도 있다.
한편, 변환 방법은 잔차 블록을 생성하기 위해 사용된 예측 블록의 인트라 예측 모드에 기반하여 결정될 수 있다. 예를 들어, 인트라 예측 모드에 따라 가로 방향으로는 DCT를 사용하고, 세로 방향으로는 DST를 사용할 수도 있다.
변환 블록은 부호화 블록 단위에서 QT(Quad Tree) 방식 혹은 BT(Binary Tree) 방식으로 분할되어 최적 변환 블록 분할 형태가 결정되어 변환 블록 분할 정보가 영상 복호화 장치(1000)로 전송될 수 있다. 이러한 변환 블록 분할 방법을 CU단위 RT(Residual Tree) 구조라고 칭할 수 있다. 이는, 예측 블록 단위로 변환이 수행될 수도 수행되지 않을 수도 있는데, 변환 블록이 예측 블록의 경계를 무시하여 결정될 수 있음을 의미한다.
또한, 변환 블록은 예측 블록 단위에서 QT 방식 혹은 BT 분할 방식으로 분할되어 변환 블록 분할 형태가 결정되고, 변환 블록 단위로 변환 블록 분할 정보가 영상 복호화 장치(1000)로 전송될 수 있다. 이러한 변환 블록 분할 방법을 PU단위 RT 구조라고 칭할 수 있다. 이는, 변환 블록이 예측 블록 경계를 넘어선 분할 형태로 생성될 수 없는데, 변환 블록이 예측 블록의 경계를 넘어서 결정될 수 없음을 의미한다.
기 전술한 CU단위 RT 구조에서는 변환 블록 분할 정보를 전송하지 않고, 부호화 블록 전체를 변환 블록으로 결정하여 변환을 수행할 수도 있다. 마찬가지의 방법으로 PU단위 RT 구조에서 동일하게 적용될 수 있다.
양자화부(104)는 변환 블록을 양자화 하여 양자화된 변환 블록을 생성할 수 있다. 즉, 양자화부(104)는 변환부(103)로부터 생성되는 변환 블록의 변환 계수들을 양자화 하여 양자화된 변환 계수를 가지는 양자화된 변환 블록(Quantized Transform Coefficient)을 생성할 수 있다. 양자화 방법으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 행렬 (Quantization Weighted Matrix) 등이 이용될 수 있지만, 이를 개량한 양자화 등 다양한 양자화 방법이 이용될 수 있다.
한편, 이상에서는 영상 부호화 장치(100)가 변환부(103) 및 양자화부(104)를 모두 포함하는 것을 도시하고 설명 했지만, 변환부(103) 및 양자화부(104)는 선택적으로 포함될 수 있다. 즉, 영상 부호화 장치(100)는 잔차 블록을 변환하여 변환 블록을 생성하고 양자화 과정은 수행하지 않을 수 있으며, 잔차 블록을 주파수 계수로 변환하지 않고 양자화 과정만을 수행할 수 있을 뿐만 아니라, 심지어는 변환과 양자화 과정을 모두 수행하지 않을 수도 있다.
영상 부호화 장치(100)에서 변환부(103)와 양자화부(104) 중 일부 과정이 수행되지 않거나, 모든 과정이 수행 되지 않더라도 엔트로피 부호화부(105)의 입력으로 들어가는 블록을 통상적으로 '양자화된 변환 블록'이라 일컫는다.
엔트로피 부호화부(105)는 양자화된 변환 블록을 부호화하여 비트스트림을 출력할 수 있다. 즉, 엔트로피 부호화부(105)는 양자화부(104)로부터 출력되는 양자화된 변환 블록의 계수들을 엔트로피 부호화(Entropy Encoding)의 다양한 부호화 기법을 이용하여 부호화하고, 후술하는 영상 복호화 장치에서 해당 블록을 복호화 하는데 필요한 부가적인 정보들(예를 들면, 예측 모드에 대한 정보, 양자화 계수 등)을 포함하는 비트스트림을 생성하고 출력할 수 있다.
엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.
역 양자화부(106)는 양자화된 변환 블록에 대하여 양자화 시에 사용한 양자화 기법을 역으로 수행하여 역 양자화 변환 블록을 복원할 수 있다.
역 변환부(107)는 변환 시에 사용한 방법과 동일한 방법을 이용하여 역 양자화 변환 블록을 역 변환하여 잔차 블록을 복원하는데, 변환부(104)에서 이용한 변환 기법을 역으로 수행하여 역 변환할 수 있다.
한편, 이상에서는 역 양자화부(106)와 역 변환부(107)는 양자화부(104)와 변환부(103)에서 사용한 양자화 방식과 변환 방식을 역으로 사용하여 역 양자화 및 역 변환할 수 있다. 또한, 변환부(103)와 양자화부(104)에서 양자화만을 수행하고 변환을 수행하지 않은 경우에는 역 양자화만을 수행하고 역 변환을 수행하지 않을 수 있다. 만약, 변환 및 양자화를 모두 수행하지 않은 경우, 역 양자화부(106)와 역 변환부(107)도 역 변환 및 역 양자화를 모두 수행하지 않거나 영상 부호화 장치(100)에 포함되지 않고 생략 될 수 있다.
가산부(108)는 역 변환부(107)에서 생성된 잔차 신호와, 예측을 통하여 생성된 예측 블록을 가산하여 현재 블록을 복원할 수 있다.
인루프 필터부(109)는 현재 픽쳐 내 모든 블록들이 복원된 이후, 픽쳐 전체에 걸쳐서 추가적으로 필터링 해주는 과정으로 디블로킹 필터링, SAO(Sample Adaptive Offset) 및 ALF(Adaptive Loop Filter) 중 적어도 하나를 포함할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록간의 경계로 인해 생긴 블록 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행 처리되도록 할 수 있다.
SAO(Sample Adaptive Offset)란 복원 화소에 특정 값을 감산하거나 가산함으로써, 복원 영상과 원본 영상간 차이를 최소화시키는 작업을 말한다.
ALF(Adaptive Loop Filtering)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로 수행될 수 있다. 영상에 포함된 픽셀을 소정의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위(Coding Unit, CU) 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF 필터의 모양 및 필터 계수는 달라질 수 있다. 또한, 적용 대상 블록의 특성에 상관없이 동일한 형태(고정된 형태)의 ALF 필터가 적용될 수도 있다.
메모리(110)는 역 변환부(107)에서 생성된 잔차 신호와 예측을 통하여 생성된 예측 블록을 가산한 후, 인루프 필터부(109)에서 추가적인 필터링을 거친 복원된 현재 블록을 저장하며, 다음 블록 또는 다음 사진 등을 예측하는데 활용될 수 있다.
감산부(111)는 현재 원본 블록에서 예측 블록을 감산하여 잔차 블록을 생성할 수 있다.
도 10는 본 발명의 일 실시예에 따른 영상 복호화 장치(1000)를 나타낸 블록도이다.
도 10를 참조하면, 영상 복호화 장치(1000)는 블록 엔트로피 복호화부(1001), 역 양자화부(1002), 역 변환부(1003), 예측부(1004), 가산부(1005), 인루프 필터부(1006), 메모리부(1007)를 포함할 수 있다.
영상 부호화 장치(100)에 의해 생성된 영상 비트스트림이 영상 복호화 장치(1000)로 입력되는 경우, 입력된 비트스트림은 영상 부호화 장치(100)에서 수행된 과정과 반대의 과정에 따라 복호화될 수 있다. 그리고, 영상 부호화 장치(100)에서 '부호화 블록'은 영상 복호화 장치(1000)에서 '복호화 블록'이라 칭할 수 있다.
엔트로피 복호화부(1001)는 영상 부호화 장치(100)로부터 전송 받은 비트스트림을 해석하여 해당 블록을 복호화 하는데 필요한 여러 정보들과 양자화된 변환 계수를 획득할 수 있다.
그리고, 엔트로피 복호화부(1001)는 영상 부호화 장치(100)의 엔트로피 부호화부(105)에서 엔트로피 부호화를 수행한 것과 반대의 절차로 엔트로피 복호화를 수행할 수 있다. 예를 들어, 영상 부호화기에서 수행된 방법에 대응하여 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 방법이 적용될 수 있다. 엔트로피 복호화부(1001)에서, 변환 블록의 계수는, 변환 블록 내 부분 블록 단위로, 0이 아닌 계수, 절대값이 1 또는 2보다 큰 계수, 그리고 계수의 부호 등을 나타내는 여러 종류의 플래그를 기반으로 복호화될 수 있다. 상기 플래그만으로 표현되지 않는 계수는, 플래그를 통해 표현되는 계수와 시그날링된 계수의 합을 통해 복호화될 수 있다.
또한, 엔트로피 복호화부(1001)에서는 영상 부호화 장치에서 수행된 인트라 예측 및 인터 예측에 관련된 정보를 복호화할 수 있다.
역 양자화부(1002)는 엔트로피 복호화부(1001)에서 복호화한 양자화된 계수에 대하여 양자화 시에 사용한 양자화 기법을 역으로 수행하여 역 양자화된 계수를 가지는 역 양자화된 블록을 획득할 수 있다. 역 양자화부(1002)는 도 1의 역 양자화부(106)와 실질적으로 동일하게 동작할 수 있다.
역 변환부(1003)는 변환 시에 사용한 방법과 동일한 방법을 이용하여 역 양자화 변환 블록을 역 변환하여 차분 신호를 가지는 잔차 블록을 획득할 수 있다. 역 변환부(1003)는 도 1의 역 변환부(107)와 실질적으로 동일하게 동작할 수 있다.
예측부(1004)는 엔트로피 복호화부(1001)에서 복호화한 코딩 모드 정보를 이용하여 예측 블록을 생성하는데, 이는 영상 부호화 장치(100)의 예측부(102)에서 수행했던 예측 방식과 동일한 방식을 이용할 수 있다.
도 11은 현재 예측 블록의 최적 화면 내 예측 모드를 복호화하는 방법을 나타낸 흐름도이다.
도 11을 참고하면, S1101 단계에서는 MPM 후보를 설정할 수 있다. MPM 후보를 설정하는 방법은 영상 부호화 장치(100)의 예측부(102)에서 전술한 도 3의 MPM 후보 설정 방법과 동일할 수 있다.
그리고, S1102 단계에서는 MPM을 이용하여 화면 내 예측 모드를 부호화할 것인지 여부를 지시하는 정보를 복호화할 수 있다.
그리고, S1103 단계에서는 S1102 단계에서 복호화된 정보에 기초하여 MPM 동작 정보 여부를 판단할 수 있다. 해당 정보가 참인 경우, S1104 단계에서 화면 내 예측 모드가 어떤 MPM 후보와 동일한지를 알려주는 색인 정보를 복호화하여 현재 예측 블록의 최적 화면 내 예측 모드를 결정할 수 있다. 반대로, 해당 정보가 거짓인 경우, S1105 단계에서 MPM 후보인 화면 내 예측 모드를 제외한 나머지 화면 내 예측 모드 중, 어떤 예측 모드가 최적인지를 지시하는 정보를 복호화하여 현재 예측 블록의 화면 내 예측 모드를 결정할 수 있다.
도 12는 화면 간 예측 모드 정보를 복호화하는 방법을 나타낸 흐름도이다.
도 12를 참고하면, S1201 단계에서는 Merge 동작 정보를 복호화할 수 있다.
그리고, S1202 단계에서는 S1201단계에서 복호화된 Merge 동작 정보에 기초하여 Merge 동작 여부를 판단할 수 있다.
Merge 동작 여부가 참이라면, S1203 단계에서 Merge 후보의 색인 정보를 복호화하고 도 12의 흐름을 종료한다. Merge 동작 여부가 거짓이라면, S1204 단계에서 예측 방향을 복호화할 수 있다. 여기서, 예측 방향은 양방향, 과거 방향, 미래 방향 3가지 중 하나로 복호화될 수 있다.
그리고, S1205 단계에서는 예측 방향이 미래 방향인지 아닌지를 판단할 수 있다. 미래 방향이 아니라면, S1206 단계에서 과거 방향에 대한 참조 픽쳐 색인 정보를 복호화하고, S1207 단계에서 과거 방향 MVD 정보를 복호화할 수 있다.
그리고, S1208 단계에서는 과거 방향 MVP 정보를 복호화할 수 있다.
그리고, S1209 단계에서는 예측 방향이 과거 방향인지 아닌지를 판단할 수 있다. 예측 방향이 과거 방향이 아니라면, S1210 단계에서 미래 방향의 참조 픽쳐 색인 정보를 복호화하고, S1211 단계에서 미래 방향 MVD 정보를 복호화할 수 있다. S1212 단계에서는 미래 방향의 MVP 정보를 복호화할 수 있다.
다시 도 10의 설명으로 돌아와서, 가산부(1005)는 예측부(1004)에서 생성된 예측 블록과 역 변환부(1003)를 통해 생성된 잔차 블록를 가산하여 복원 블록을 생성할 수 있다.
인루프 필터부(1006)는 현재 픽쳐 내 모든 블록을 복원한 이후, 픽쳐 전체에 걸쳐서 추가적인 필터링은 하는 과정으로 디블로킹 필터링, SAO(Sample Adaptive Offset) 등이 있다. 영상 부호화 장치(100)로부터 해당 블록 또는 픽쳐에 디블록킹 필터를 적용하였는지 여부에 대한 정보 및 디블록킹 필터를 적용하였을 경우, 강한 필터를 적용하였는지 또는 약한 필터를 적용하였는지에 대한 정보를 제공받을 수 있다. 인루프 필터부(1006)는 도 1의 인루프 필터부(109)와 실질적으로 동일하게 동작할 수 있다.
메모리(1007)는 역 변환부(1003)에서 생성된 잔차 신호와, 예측을 통하여 생성된 예측 블록을 가산한 후, 인루프 필터부(1006)에서 추가적인 필터링을 거친 복원된 현재 블록을 저장하며, 다음 블록 또는 다음 사진 등을 예측하는데 활용 될 수 있다.
전술한 바와 같이 이하, 본 발명의 실시 예에서는 설명의 편의상 코딩 유닛(Coding Unit)을 부호화 단위라는 용어로 사용하지만, 부호화뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다. 또한, 유닛 또는 단위는 하나의 픽쳐의 분할에 의해 생성된 영역일 수 있다. 또한, 본 발명의 실시 예에서 유닛은 블록을 의미할 수 있으며, 현재 블록은 현재 부호화 대상 블록 또는 현재 복호화 대상 블록을 의미할 수 있다.
이하, 도 13 내지 도 15을 참조하여, 부호화 블록을 분할하는 방법을 설명하도록 한다.
도 13은 현재 부호화 블록을 분할하기 위한 제1 방법을 설명하기 위한 도면이다.
도 13를 참고하면, 부호화 블록의 분할 형태는 정사각형 혹은 직사각형일 수 있다. 도 13의 1301은 부호화 블록이 세로 분할된 경우의 일 예이고, 1302는 부호화 블록이 가로 분할된 경우의 일 예이다. 각각의 예에서 부호화 블록 내 예측 블록의 부호화 순서는 예측 블록 A, 예측 블록 B 순으로 부호화 될 수 있고, 부호화 블록 내의 점선은 부호화 블록 분할선을 의미하는데 이는 예측 블록간 경계선을 의미할 수 있다. 도 13의 1301, 1302에서 부호화 블록 분할선은 부호화 블록을 정확히 2등분하는 방법 외에도 다양한 크기로 2등분하는 방법이 이용될 수 있다.
한편, 부호화 블록의 분할 형태를 결정하는 제1 방법은 부호화 블록의 가로 분할, 세로 분할 별로 P의 값을 1부터 2N-1까지 모든 경우의 분할 형태별로 RD-Cost를 계산하고, RD-Cost가 최소가 되는 분할 형태를 현재 부호화 블록의 최적 분할 형태로 결정할 수 있다.
도 14 및 도 15는 현재 부호화 블록을 분할하기 위한 제2 방법을 설명하기 위한 도면이다.
부호화 블록의 분할 형태를 결정하는 제2 방법은 사용 가능한 부호화 블록 분할 세트를 기 설정하여 놓고, 기 설정된 분할 형태들의 RD-Cost를 계산하여 최적의 분할 형태를 결정할 수 있다. 이 때, 기 설정된 사용 가능한 분할 형태의 정보를 상위 헤더에서 기 전송할 수도 있다. 여기서, 상위 헤더란 비디오 파라미터 계층, 시퀀스 파라미터 계층, 픽쳐 파라미터 계층, 슬라이드 계층 등 블록 단위 이상에서의 전송 계층을 의미한다.
기 정의된 분할 형태로 대칭 수직 분할, 대칭 수평 분할, 비대칭 수직 분할 및 비대칭 수평 분할이 있을 수 있다.
도 14를 참고하면, (1/4, 3/4) 수직 분할, (1/2, 1/2) 수직 분할, (3/4, 1/4) 수직 분할, (1/4, 3/4) 수평 분할, (1/2, 1/2) 수평 분할 및 (3/4, 1/4) 수평 분할이 있을 수 있다. 여기서, (1/4, 3/4) 수평 분할, (3/4, 1/4) 수평 분할, (1/4, 3/4) 수직 분할, 및 (3/4, 1/4) 수직 분할은 비대칭 분할 형태이고, (1/2, 1/2) 수평 분할 및 (1/2, 1/2) 수직 분할은 대칭 분할 형태일 수 있다.
한편, 기 정의된 분할 형태로 모서리 분할이 있을 수 있다.
도 15를 참고하면, 좌상단 모서리 분할(1501), 우상단 모서리 분할(1502), 좌하단 모서리 분할(1503) 및 우하단 모서리 분할(1504)이 있을 수 있다. 여기서, 분할되는 모서리 부분의 예측 블록은 부호화 블록의 1/4 넓이일 수 있다.
좌상단 모서리 분할(1501)은 좌상단 예측 블록이 예측 블록 A(NxN), 나머지 영역이 예측 블록 B일 수 있다.
그리고, 우상단 모서리 분할(1502)은 우상단 예측 블록이 예측 블록 A(NxN), 나머지 영역이 예측 블록 B일 수 있다.
그리고, 좌하단 모서리 분할(1503)은 좌하단 예측 블록이 예측 블록 A(NxN), 나머지 영역이 예측 블록 B일 수 있다.
그리고, 우하단 모서리 분할(1504)은 우하단 예측 블록이 예측 블록 B, 나머지 영역이 예측 블록 A(NxN)일 수 있다. 각각의 분할 형태마다 부호화 블록의 부호화 순서는 예측 블록 A, 예측 블록 B 순서일 수 있다. 그리고, 해당 분할 방법에서 1/4 영역의 크기의 예측 블록은 그 크기가 더 커지거나, 작아질 수도 있다.
또한, 각 분할 방법에서 그 모양 또한 정사각형이 아닌 직사각형 등 다양한 형태일 수도 있다. 그리고, 각 분할 형태 별로 RD-Cost를 비교하여 RD-Cost가 최소가 되는 분할 형태를 현재 부호화 블록의 최적 분할 형태로 결정할 수 있다.
이하에서는, 본 발명의 일 실시 예에 따른 하나의 부호화 블록 내에서 복수의 예측 모드를 이용하여 예측 블록의 예측 샘플을 생성하는 코딩 모드(이하, '하이브리드 모드'라 칭함)에 대해서 설명하도록 한다.
하이브리드 모드 내에서 사용 가능한 예측 모드는 화면 내 예측 모드(Planar 모드, DC 모드, Angular 모드), 화면 간 예측 모드(AMVP 모드, Merge 모드, Skip 모드)와 DMID 모드(Decoder-side Motion Information Derivation), DIMD 모드(Decoder-side Intra Mode Derivation) 등이 있을 수 있다. 하이브리드 모드인 부호화 블록에서는 상술한 복수의 예측 모드를 조합하여 적용함으로써 예측 블록의 예측 샘플을 생성할 수 있다.
여기서, DMID 모드란, 영상 부호화 장치(100)에서 부호화 없이 영상 복호화 장치(1000)에서 부호화되지 않은 움직임 정보를 직접 유도하여 예측 블록의 예측 샘플을 생성하는 예측 모드를 의미할 수 있다. 여기서, 영상 부호화 장치(100)에서 부호화되지 않아 영상 복호화 장치(1000)에서 직접 유도해야하는 움직임 정보는 움직임 벡터를 포함하는 일부 움직임 정보일 수 있다.
일 예로, DMID 모드는 영상 복호화 장치(1000)에서 부호화 블록의 주변 블록으로부터 예측 블록의 초기 움직임 정보를 유도하고, 유도된 초기 움직임 정보를 기초로 예측 블록의 최종 움직임 정보를 유도하여 예측 블록의 예측 샘플을 생성하는 모드일 수 있다.
다른 예로, DMID 모드는 영상 복호화 장치(1000)에서 영상 부호화 장치(100)에서 전송된 초기 움직임 정보를 기초로 예측 블록의 최종 움직임 정보를 유도하여 예측 블록의 예측 샘플을 생성하는 모드일 수 있다.
여기서, DIMD 모드란, 영상 부호화 장치(100)에서 부호화 없이 영상 복호화 장치(1000)에서 부호화되지 않은 화면 내 예측 모드를 직접 유도하여 예측 블록의 예측 샘플을 생성하는 예측 모드를 의미할 수 있다.
일 예로, DIMD 모드는 영상 복호화 장치(1000)에서 부호화 블록 주변의 복원 영역에서 Template 블록을 설정하고, 설정된 Template 블록의 최적의 예측 화소 값을 유도하는 화면 내 예측 모드를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용할 수 있다.
한편, 부호화 블록이 하이브리드 모드이고, 예측 블록 A 및 예측 블록 B로 분할 되는 경우, 예측 블록 A의 예측 정보는 예측 블록 A의 주변 블록의 예측 정보를 그대로 사용하는 것으로 결정될 수 있으며, 예측 블록 B의 예측 정보는 화면 내 예측 모드(Planar 모드, DC 모드, Angular 모드), 화면 간 예측 모드(AMVP 모드, Merge 모드, Skip 모드), DMID 모드(Decoder-side Motion Information Derivation) 및 DIMD 모드(Decoder-side Intra Mode Derivation) 중 어느 하나에 기초하여 결정될 수 있다.
도 16(도 16a, 도 16b 및 도 16c)는 주변 블록의 예측 정보를 그대로 사용하여 예측 블록 A의 예측 정보를 결정하는 방법을 설명하기 위한 도면이다.
예측 블록 A는 부호화가 완료된 인접한 주변 블록의 예측 정보들 중, 예측 블록 A에 최적인 예측 정보를 탐색하고, 탐색된 최적의 예측 정보를 예측 블록 A에 예측 정보로 결정하여 예측 블록을 생성할 수 있다.
예측 블록 A의 주변 블록의 위치는 도 16의 1601 내지 1606에서 도시된 바와 같이 위치할 수 있다. 그리고, 주변 블록들 간 우선 순위가 존재할 시, 해당 우선 순위에 따라 최적의 예측 정보를 탐색할 수 있다. 본 예시에서는 우선 순위가 주변 블록 1, 2, 3, 4, 5 순인 것을 가정하고 설명하도록 한다.
도 16a의 1601의 예측 블록 A는 주변 블록 1 ~ 5까지 5개의 주변 블록들이 가질 수 있다. 예측 블록 A의 주변 블록 1 ~ 5의 예측 정보를 예측 블록 A에 적용하여 RD-Cost를 계산하고, RD-Cost가 최소인 주변 블록의 예측 정보를 예측 블록 A의 예측 정보로 결정할 수 있다.
도 16a의 1602의 설명은 1601의 설명과 비교하여 주변 블록의 위치기 바뀐 것을 제외하고 동일하다.
도 16b 및 도 16c의 1603 ~ 1606은 예측 블록 A의 위치에 따라서 주변 블록의 개수 및 위치가 달라질 수 있음을 나타낸 것이다. 각각의 경우 모두 주변 블록의 예측 정보를 예측 블록 A에 적용하여 RD-Cost를 계산하고 RD-Cost가 최소가 되는 예측 정보를 예측 블록 A의 최적 예측 정보로 결정할 수 있으며, 해당 예측 정보를 이용하여 예측 블록을 생성할 수 있다.
한편, 예측 블록 B의 예측 정보를 결정하는 방법 또한, 주변 블록의 예측 정보를 그대로 사용하여 예측 블록 B의 예측 정보를 결정할 수 있다. 그리고, 화면 내 예측 모드들 중 최적의 예측 정보를 탐색하여 예측 블록 B의 예측 정보를 결정할 수도 있고(화면 내 예측), 움직임 추정을 통해 복원된 참조 픽쳐에서 최적의 예측 정보를 탐색하여 예측 블록 B의 예측 정보를 결정할 수도 있다(화면 간 예측).
단, 예측 블록 B에서는 일부 경우에 한하여 예측 블록 A의 예측 정보를 참조하여 예측 블록 B의 예측 정보를 결정할 수 있다. 여기서, 일부 경우는 아래에서 설명한다.
도 17(도 17a, 도 17b 및 도 17c)은 예측 블록 B의 예측 정보를 결정하는 방법을 설명하기 위한 도면이다.
예측 블록 B의 주변 블록의 위치는 도 17의 1701 ~ 1706에서 도시된 바와 같이 위치할 수 있다. 그리고, 주변 블록 간 우선 순위가 존재할 시, 해당 우선 순위에 따라 최적 예측 정보를 탐색할 수 있다. 본 예시에서는 우선 순위가 주변 블록 1, 2, 3, 4, 5 순인 것을 가정하고 설명하도록 한다.
한편, 도 17a의 1701 ~ 1702처럼 주변 블록 후보의 개수는 5개가 아닌 3개 혹은 4개 일 수도 있다.
이 때, 예측 블록 B의 예측 정보는 변환 블록 분할 구조에 따라서 예측 블록 A의 예측 정보를 참조하여 결정될 수 있다.
현재 변환 블록 분할 구조가 CU단위 RT 구조로 이루어질 경우에는 아래 조건들 중, 하나라도 만족할 경우에 예측 블록 B의 예측 정보는 예측 블록 A의 예측 정보를 참조하여 결정될 수 있다.
1) 예측 블록 A가 서브 블록 단위로 분할되어서 각 서브 블록 단위로 예측 정보가 다를 경우
2) 예측 블록 A는 서브 블록 단위로 분할되지 않았으나, 예측 블록 B가 서브 블록 단위로 분할되어서 각 서브 블록 단위로 예측 정보가 다를 경우
한편, 현재 변환 블록 분할 구조가 PU단위 RT 구조로 이루어질 경우에는 아래 조건들 중, 하나라도 만족할 경우에 예측 블록 B가 예측 블록 A의 예측 정보를 참조하여 예측 블록 B의 예측 정보를 결정할 수 있다.
1) 예측 블록 A가 서브 블록 단위로 분할되어서 각 서브 블록 단위로 예측 정보가 다를 경우
2) 예측 블록 A는 서브 블록 단위로 분할되지 않았으나, 예측 블록 B가 서브 블록 단위로 분할되어서 각 서브 블록 단위로 예측 정보가 다를 경우
3) 예측 블록 A, B의 최적 예측 정보가 Skip 모드라면, 예측 블록 B가 예측 블록 A의 예측 정보를 참조하는 경우를 제외한 나머지 경우
한편, 예측 블록 B의 예측 정보는 전술한 바와 같이 화면 내 예측 모드 또는 화면 간 예측 모드에 기초하여 결정될 수 있다. 이 경우, 도 1의 영상 부호화 장치(100)의 예측부(102)에서 설명한 바와 같이 각각 예측 모드에 기초하여 예측 정보를 결정하고, 결정된 예측 정보를 이용하여 예측 블록을 생성 할 수 있다.
그리고, 예측 블록 B의 예측 정보는 DMID 모드 혹은 DIMD 모드에 기초하여 결정될 수 있다. 도 18, 도 19 및 도 30은 DMID 모드, DIMD 모드에서 예측 정보 탐색 방법을 설명하기 위한 도면들이다.
도 18(도 18a, 도 18b 및 도 18c)는 현재 부호화 블록 내에서 생성된 예측 블록 B의 예측 모드를 DMID 모드 또는 DIMD 모드를 이용하여 탐색할 때, 각 분할 형태 별로 주변 Template 블록을 예시한 것이다. Template 블록은 현재 부호화 블록 주변에 이미 복원된 영역들에서 결정 가능하다.
영상 복호화 장치(1000)에서 예측 블록과 원본 블록의 차이 대신, DMID 모드에서는 초기 움직임벡터에 따른 참조 픽쳐 내의 예측 블록의 주변 Template 블록과 현재 픽쳐 내의 현재 블록 주변 Template 블록의 차이를 RD-Cost를 계산하기 위한 에러로 가정하고, DIMD 모드에서는 Template 영역의 복원 화소값과 Template 영역 주변의 참조 화소들을 이용하여 유도된 Template 영역의 예측 화소값의 차이를 RD-Cost를 계산하기 위한 에러로 가정하여 예측 정보를 탐색할 수 있다. DMID 모드에서 움직임 추정시의 초기 움직임벡터는 주변에 복원된 움직임정보들의 움직임벡터들을 이용할 수 있다.
도 18a의 1801에서는 상단 방향의 Template 블록은 예측 블록 B와 바로 인접해 있지만, 좌측 방향의 Template 블록은 예측 블록 B와 인접해 있지 않을 수 있다. 이는, 부호화 블록 단위로 변환/양자화를 수행하기 위함이다. 또한, 예측 블록 B와 인접한 예측 블록 A 영역 내에서 좌측 방향의 Template 블록을 생성할 수도 있다. 이는, 예측 블록 단위로 변환/양자화를 수행할 경우 가능하다.
도 18a의 1802에서는 좌측 방향의 Template 블록은 예측 블록 B와 인접해 있지만, 상단 방향의 Template 블록은 예측 블록 B와 인접해 있지 않을 수 있다. 또한, 예측 블록 B와 인접한 예측 블록 A 영역 내에서 상단 영역의 Template 블록을 생성할 수도 있다.
도 18b 및 도 18c의 1803 ~ 1805처럼 예측 블록 B의 모양이 정사각형, 직사각형도 아닐 경우에는 상단, 좌측 방향의 Template 블록의 크기와 모양이 다를 수 있다.
도 18c의 1806는 예측 블록 B가 부호화 블록 주변과 인접하지 않은 분할 형태일 때의 Template 블록을 예시한 것이다. 만약, 변환/양자화가 예측 블록 단위로 수행될 경우, Template 블록은 예측 블록 A 영역 내에서 예측 블록 B와 바로 인접하게 생성할 수도 있다.
또한, 도 18의 1801 ~ 1806에서 예측 블록 B의 Template 블록은 한쪽 방향의 Template 블록만 이용 가능할 경우, 한쪽 방향의 Template 블록만을 사용할 수도 있다.
또한, 도 18에서의 Template 블록의 예시 외에도 Template 블록의 위치나 크기, 모양이 다양하게 사용될 수 있다.
도 19는 DMID 모드의 예측 정보 탐색 방법을 설명하기 위한 도면이다.
도 19의 1901은 DMID 모드에서 도 18에서 전술한 Template 블록을 이용하여 예측 정보를 탐색하는 방법을 설명하고, 도 19의 1902는 DMID 모드에서 예측 방향이 양방향 예측일 때, Template 블록을 사용하지 않고, 예측 정보를 탐색하는 방법을 설명하기 위한 것이다.
도 19의 1901을 참고하면, 현재 픽쳐의 현재 블록에서는 좌측/상단 방향으로 Template 블록이 있을 수 있다. 상단 방향의 Template 블록은 CurAboveTemplate 블록이고, 좌측 방향의 Template 블록은 CurLeftTemplate 블록이다.
여기서, CurAboveTemplate 블록의 가로 길이는 Aw, 세로 길이는 Ah이고, CurLeftTemplate 블록의 가로 길이는 Lw, 세로 길이는 Lh이다.
그리고, 참조 픽쳐의 RefAboveTemplate 블록, RefLeftTemplate 블록의 가로, 세로 길이는 현재 블록 주변 Template 블록의 가로, 세로 길이와 동일할 수 있다.
DMID 모드의 움직임 추정은 참조 픽쳐 내에서 현재 블록 주변 Template 블록과 가장 유사한 Template 블록을 찾아서 해당 위치의 Template 블록과 인접한 블록을 예측 블록으로 결정하는 것이다. 해당 방법은 예측 방향(과거 방향, 미래 방향, 양방향)과 상관 없이 모두 적용할 수 있다.
도 19의 1902는 DMID 모드에서 예측 방향이 양방향 예측일 경우, Template 블록을 사용하지 않는 DMID 코딩 방법의 예시인데, 과거 방향의 예측 블록과 미래 방향의 예측 블록의 차이가 최소가 되는 지점을 양방향에서 찾고, 해당 지점을 가리키는 움직임 정보를 현재 블록의 예측 정보로 결정하는 것이다.
도 30은 DIMD 모드에서 예측 정보 탐색 방법을 설명하기 위해, 현재 부호화 블록 내에서 생성된 예측 블록 B의 예측 모드를 DIMD 모드를 이용하여 탐색할 때, 각 분할 형태 별로 주변 Template 영역을 예시한 것이다. Template 영역은 현재 부호화 블록 주변에 이미 복원된 영역들에서 결정 가능하다.
상단 방향의 Template 영역은 AboveTemplate 영역이고, 좌측 방향의 Template 영역은 LeftTemplate 영역이다.
여기서, AboveTemplate 영역의 가로 길이는 W, 세로 길이는 AT이고, LeftTemplate 영역의 가로 길이는 LT, 세로 길이는 H이고, Template 영역의 참조 화소는 R개 라인만큼 이용할 수 있다. 한편, Template 영역은 Template 블록으로 칭할 수 있다.
Template 영역의 복원 화소값과 에러가 최소가 되는 예측 화소값을 생성하는 인트라 예측 모드를 탐색할 수 있다. 이렇게 탐색된 인트라 예측 모드를 Template 영역의 예측정보로 결정하고, 해당 예측 정보를 현재 블록의 예측 정보로 이용할 수 있다.
도 20은 하이브리드 모드에서 예측 정보를 부호화하는 방법을 설명하기 위한 도면이다. 도 20에서는 현재 부호화 블록이 예측 블록 A 및 예측 블록 B로 분할되는 것을 가정하고 설명하도록 한다.
도 20를 참고하면, S2001 단계에서는 현재 부호화 블록의 최적 예측 모드 정보를 부호화할 수 있다. 이 경우, 하이브리드 모드, 화면 내 예측 모드 및 화면 간 예측 모드의 RD-Cost를 비교하여 RD-Cost가 최소인 코딩 모드를 현재 부호화 블록의 최적의 코딩 모드로 결정할 수 있다.
여기서, RD-Coast를 비교하여 코딩 모드를 결정하는 구체적인 방법은 아래 도 21를 참고하여 설명하도록 한다.
도 21은 영상 부호화 장치(100)에서 화면 내 예측 모드, 화면 간 예측 모드, 하이브리드 모드 중에서 최적 코딩 모드를 결정하는 방법을 나타낸 흐름도이다.
도 21을 참고하면, S2101 단계는 3가지 코딩 모드 별로 예측 색인 정보를 할당할 수 있다. 일 예로, 0은 화면 내 예측 모드 색인으로, 1은 화면 간 예측 모드 색인으로, 2는 하이브리드 모드 색인으로 할당될 수 있다.
최초 S2102 단계에서는 N의 초기값이 0, Best_Cost는 무한대가 들어오고, 0번 색인 정보인 화면 내 예측 모드의 RD-Cost를 계산하여 N_Cost에 저장할 수 있다.
그리고, S2103 단계에서는 N_Cost가 현재 Best_Cost와 비교하여 큰지 작은지를 판단하고, N_Cost가 작다면 S2104 단계에서 현재 N값을 Best_Idx로, N_Cost를 Best_Cost로 저장할 수 있다.
그리고, S2105 단계에서 현재 N이 2인지 아닌지 비교할 수 있다. 여기서, 만약 현재 N이 2가 아니라면 S2106 단계에서 현재 N에 1을 더해주고, S2102 단계로 돌아가서 전술한 과정을 반복하고, 현재 N이 2였다면 S2107 단계에서 현재 Best_Idx를 현재 부호화 블록의 최적 코딩 모드 색인 정보로 결정하고, 도 21의 과정을 종료할 수 있다.
다시 도 20의 설명으로 돌아와서, 상술한 도 21의 과정을 통해 하이브리드 모드의 색인 정보가 최적 코딩 모드로 결정되는 경우, S2001 단계에서 현재 부호화 블록의 최적 코딩 모드 정보로써 하이브리드 모드 정보를 부호화할 수 있다.
추가적으로, 하이브리드 모드의 동작 여부 정보를 상위 헤더에서 추가로 기 전송하고, 전송된 상위 헤더 계층에서 하이브리드 모드의 동작 여부를 제어할 수도 있다.
S2002 단계에서는 S2001 단계에서 결정된 현재 부호화 블록의 최적 코딩 모드가 하이브리드 모드인지 아닌지를 판단할 수 있다. 현재 부호화 블록의 최적 코딩 모드가 하이브리드 모드이면, S2003 단계로 넘어가고, 현재 부호화 블록의 최적 코딩 모드 모드가 하이브리드 모드가 아닌 경우. S2006 단계로 넘어 갈 수 있다.
S2006 단계에서는 현재 부호화 블록의 최적 코딩 모드가 화면 내 예측 모드인지 아닌지를 판단할 수 있다. 현재 부호화 블록의 최적 코딩 모드가 화면 내 예측 모드라면, S2007 단계에서 전술한 도 3의 설명과 동일한 과정을 거쳐 화면 내 예측 모드 정보를 부호화할 수 있다. 현재 부호화 블록의 최적 코딩 모드가 화면 내 예측 모드가 아니라면, S2008 단계에서 전술한 도 9의 설명과 동일한 과정을 거쳐 화면 간 예측 모드 정보를 부호화할 수 있다.
한편, S2003 단계는 현재 부호화 블록의 분할 정보를 부호화할 수 있다. 이 때, 도 13과 같이 부호화 블록이 이분 분할 된 경우, 가로 방향 분할인지 세로 방향 분할인지에 대한 정보를 부호화한 후, P 정보를 부호화할 수도 있고, 전술한 도 14과 같이 기 설정된 분할 세트 중, 어떤 분할 형태가 최적인지를 알려주는 색인 정보를 부호화할 수도 있다.
또한, 도 15와 같이 부호화 블록이 모서리 분할된 경우, 분할된 모서리가 어떤 방향에 있는지에 대한 색인 정보를 부호화할 수도 있다. 즉, 부호화 블록이 1/4, 3/4 넓이로 분할된 경우, 1/4 넓이의 예측 블록이 4개의 방향 중, 어떤 방향에 위치하고 있는지에 대한 색인 정보를 부호화할 수 있다.
S2004 단계에서는 예측 블록 A의 예측 정보를 부호화한다. 주변 블록의 예측 정보들 중, 예측 블록 A에 가장 최적인 예측 정보를 갖고 있는 주변 블록의 색인 정보를 부호화할 수 있다. 이에 대한 구체적인 설명은 도 22를 참고하여 후술하도록 한다.
도 22는 영상 부호화 장치(100)에서 예측 블록 A의 예측 정보를 부호화하는 방법을 나타내는 흐름도이다.
도 22를 참고하면, S2201 단계에서는 이용 가능한 주변 블록들의 예측 정보를 예측 블록 A에 적용하여 예측 블록을 생성 후, 각 예측 정보 별로 RD-Cost를 계산할 수 있다.
그리고, S2202 단계에서는 적용한 예측 정보들 중, 최소 RD-Cost를 갖는 예측 정보를 결정하고, S2203 단계에서 해당 예측 정보를 갖는 주변의 블록의 색인 정보를 저장할 수 있다.
한편, 도 22와 달리 RD-Cost를 비교하는 과정을 거치지 않고 주변 블록들의 우선 순위에 따라 이용 가능한 주변 블록들 중에서, 우선 순위가 높은 주변 블록의 예측 정보를 그대로 사용할 수도 있다.
다시 도 20의 설명으로 돌아와서, S2005 단계에서는 예측 블록 B의 예측 정보를 부호화할 수 있다.
본 발명의 일 실시 예에 따른 영상 부호화 장치는 Merge 모드, AMVP 모드, DMID 모드, 화면 내 예측 모드, DIMD 모드의 5가지 예측 모드들 중에서 기 설정된 1가지의 예측 모드만을 고려하여 최적의 예측 블록 B의 예측 모드를 결정할 수 있다.
이 경우, 기 설정된 예측 모드가 Merge 모드 또는 AMVP 모드인 경우(화면 간 예측 모드), 전술한 도 9의 부호화 방법과 동일하게 세부 예측 정보를 부호화할 수 있고, 기 설정된 예측 모드가 화면 내 예측 모드인 경우, 전술한 도 3의 부호화 방법과 동일하게 세부 예측 정보를 부호화할 수도 있다.
한편, 기 설정된 예측 모드가 만약 DMID 모드라면, 도 23와 같이 예측 정보를 부호화 할 수 있다.
도 23는 DMID 모드에 따른 예측 정보 부호화 방법을 나타내는 흐름도이다.
도 23를 참고하면, S2301 단계에서는 DMID 동작 정보를 부호화할 수 있다. 여기서, DMID 동작 정보는 DMID 모드로 예측 정보를 부호화하는 지 여부를 지시하는 정보일 수 있다.
S2302 단계에서는 DMID 동작 정보에 기초하여 DMID 동작 여부가 참인지 아닌지를 판단할 수 있다. DMID 동작 정보가 거짓이라면 본 흐름도는 종료되고, DMID 정보가 참이라면 S2303 단계로 넘어간다.
S2303 단계에서는 예측 방향을 부호화할 수 있다. 이는 전술한 도 9의 S904 단계의 설명과 동일할 수 있다.
S2304 단계에서는 예측 방향이 미래 방향인지 아닌지를 판단할 수 있다. 예측 방향이 미래 방향이 아닌 경우, S2305 단계로 넘어가고, 예측 방향이 미래 방향인 경우, S2308 단계로 넘어갈 수 있다.
S2305 단계에서는 과거 방향의 움직임벡터를 부호화할 수 있다. 영상 복호화 장치에서 움직임 추정을 통해 움직임벡터를 유도하기 전에, 영상 부호화 장치로부터 정밀도가 낮은 움직임벡터를 전송 받아와서 영상 복호화 장치에서는 해당 움직임벡터를 초기 움직임벡터로 이용하여 최종 정밀도(더 세밀한 정밀도)를 갖는 움직임벡터를 유도할 수도 있다.
또한, 움직임벡터를 전송하지 않고(즉, S2305 단계를 생략) 주변에 이미 복원된 움직임정보들의 움직임벡터들을 움직임추정의 초기 움직임벡터로 이용하여 영상 복호화 장치에서 최종 정밀도를 갖는 움직임벡터를 직접 유도할 수도 있다. 이는 전술한 도 9의 907 단계의 설명과는 다를 수 있다.
S2306 단계에서는 과거 방향 참조 픽쳐 색인 정보를 부호화할 수 있다 이는 전술한 도 9의 S906 단계의 설명과 동일할 수 있다 그러나, 과거 방향 참조 픽쳐 색인 정보의 부호화 없이 영상 복호화 장치에서의 판단을 통해 과거 방향 참조 픽쳐 색인 정보를 결정하는 것도 가능하다.
S2307 단계에서는 과거 방향 MVP 정보를 부호화할 수 있다. 이는 도 9의 S907 단계의 설명과 동일할 수 있다. 그러나, 과거 방향 MVP 정보의 부호화 없이 영상 복호화 장치에서의 판단을 통해 과거 방향 MVP 정보를 결정하는 것도 가능하고, MVP 정보의 활용 없이 움직임 추정을 통해 과거 방향의 최적 움직임 정보를 결정하는 것도 가능하다.
S2308 단계에서는 예측 방향이 과거 방향인지 아닌지를 판단할 수 있다. 예측 방향이 과거 방향이라면 본 흐름도를 종료하고, 과거 방향이 아니었다면 S2309 단계에서 미래 방향의 움직임벡터를 부호화할 수 있다. 이는 전술한 도 9의 911 단계의 설명과는 다를 수 있다. 영상 복호화 장치에서 움직임 추정을 통해 움직임벡터를 유도하기 전에, 영상 부호화 장치로부터 정밀도가 낮은 움직임벡터를 전송 받아와서 영상 복호화 장치에서는 해당 움직임벡터를 초기 움직임벡터로 이용하여 최종 정밀도(더 세밀한 정밀도)를 갖는 움직임벡터를 유도할 수도 있다.
또한, 움직임벡터를 전송하지 않고(즉, S2309 단계를 생략한다는 의미) 주변에 이미 복원된 움직임정보들의 움직임벡터들을 움직임추정의 초기 움직임벡터로 이용하여 영상 복호화 장치에서 최종 정밀도를 갖는 움직임벡터를 직접 유도할 수도 있다.
S2310 단계에서 미래 방향의 참조 픽쳐 색인 정보를 부호화할 수 있다. 이는 전술한 도 9의 S910 단계의 설명과 동일할 수 있다. 그러나, 미래 방향의 참조 픽쳐 색인 정보의 부호화 없이 영상 복호화 장치에서의 판단을 통해 미래 방향 참조 픽쳐 색인 정보를 결정하는 것도 가능할 수 있다.
S2311 단계에서는 미래 방향 MVP 정보를 부호화할 수 있다. 이는 도 9의 S911 단계의 설명과 동일할 수 있다. 그러나, 미래 방향 MVP 정보의 부호화 없이 영상 복호화 장치에서의 판단을 통해 미래 방향 MVP 정보를 결정하는 것도 가능하고, MVP 정보의 활용 없이 움직임 추정을 통해 미래 방향의 최적 움직임 정보를 결정하는 것도 가능하다.
다시 도 20의 S2005 단계의 설명으로 돌아와서, 본 발명의 다른 실시 예에 따른 영상 부호화 장치는 Merge 모드, AMVP 모드, DMID 모드, 화면 내 예측 모드, DIMD 모드의 5가지 예측 모드들 중에서 2 이상의 예측 모드를 고려하여 최적의 예측 블록 B의 예측 모드를 결정할 수 있다. 이와 관련하여, 도 24를 참고하여 후술하도록 한다.
도 24는 영상 부호화 장치에서 예측 블록 B의 예측 모드를 결정하는 방법을 설명하기 위한 흐름도이다.
도 24를 참고하면, S2401 단계에서는 각 예측 모드 별로 색인 정보를 할당할 수 있다. 일 예로, AMVP 모드는 0번, Merge 모드는 1번, DMID 모드는 2번, 화면 내 예측 모드는 3번, DIMD 모드는 4번으로 할당될 수 있다.
S2402 단계에서는 영상 부호화 장치에서 고려되는 예측 모드 범위를 M을 통해 결정할 수 있다. 예를 들어, M이 2라면 AMVP 모드, Merge 모드, DMID 모드 3개의 예측 모드만을 이용하여 예측 블록 B의 예측 모드를 결정할 수 있다.
최초 S2403 단계에서는 N이 0, Best_Cost는 무한대로 초기값으로 들어오고, 최초 0번 모드의 RD-Cost를 계산하여 N_Cost에 저장할 수 있다.
S2404 단계에서는 현재 N_Cost가 저장된 Best_Cost보다 작은지 아닌지를 판단할 수 있다. N_Cost가 Best_Cost보다 작다면, S2405 단계에서 현재 N을 Best_Idx로, N_Cost를 Best_Cost로 저장할 수 있다.
S2406 단계에서 현재 N이 예측 모드 범위의 최대값 M과 같은지 다른지를 판단할 수 있다. 해당 정보들이 같지 않다면 S2407 단계에서 N의 값을 1 증가시키고, S2403 단계로 돌아가서 전술한 과정을 반복하고, 해당 정보들이 같다면, S2408 단계에서 현재 예측 블록의 최적 예측 모드 색인으로 Best_Idx를 저장한 후, 본 흐름도를 종료한다.
이 후, Best_Idx 정보를 부호화 한 후, 해당 색인 정보에 해당하는 예측 모드의 예측 정보를 부호화할 수 있다.
예측 모드가 AMVP 모드 혹은 Merge 모드인 경우(화면 간 예측 모드), 전술한 도 9의 설명과 동일한 과정을 거쳐 예측 정보를 부호화할 수 있다. 예측 모드가 화면 내 예측 모드인 경우, 전술한 도 3의 설명과 동일한 과정을 거쳐 예측 정보를 부호화할 수 있다.
그리고, 예측 모드가 DMID 모드였다면, 전술한 도 23의 설명과 동일한 과정을 거쳐 예측 정보를 부호화할 수 있다.
이상, 영상 부호화 장치에서 현재 부호화 블록이 하이브리드 모드일 때의 예측 정보의 부호화 방법에 대해 알아보았다.
이하에서는, 도 25 및 도 26을 참고하여 영상 복호화 장치에서 현재 부호화 블록이 하이브리드 모드일 때의 예측 정보의 복호화 방법에 대해 알아보도록 한다. 도 25에서의 복호화 블록은 부호화 블록을 의미할 수 있다.
도 25는 하이브리드 모드에서 예측 정보를 복호화하는 방법을 설명하기 위한 흐름도이다. 도 25에서는 현재 부호화 블록이 예측 블록 A 및 예측 블록 B로 분할되는 것을 가정하고 설명하도록 한다.
도 25를 참고하면, S2501 단계에서는 현재 복호화 블록의 코딩 모드 정보를 복호화 할 수 있다. 여기서, 현재 부호화 블록의 코딩 모드 정보는 화면 내 예측 모드, 화면 간 예측 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보일 수 있다.
S2501 단계에서 복호화된 예측 모드 정보에 기초하여 현재 부호화 블록의 코딩 모드가 하이브리드 모드인지 아닌지를 판단할 수 있다. 현재 부호화 블록의 코딩 모드가 하이브리드 모드이면, S2503 단계로 넘어가고, 현재 부호화 블록의 코딩 모드 모드가 하이브리드 모드가 아닌 경우. S2506 단계로 넘어 갈 수 있다.
S2506 단계에서는 현재 부호화 블록의 코딩 모드가 화면 내 예측 모드인지 아닌지를 판단할 수 있다. 현재 부호화 블록의 코딩 모드가 화면 내 예측 모드라면, S2507 단계에서 도 20의 S2007 단계에서 부호화된 화면 내 예측 모드 정보를 복호화할 수 있다. 이 때, 화면 내 예측 모드 정보를 복호화 하는 방법은 전술한 도 11의 설명과 동일할 수 있다.
현재 부호화 블록의 코딩 모드가 화면 내 예측 모드가 아니라면, S2508 단계에서 도 20의 S2008 단계에서 부호화된 화면 간 예측 모드 정보를 복호화 할 수 있다. 이 때, 화면 간 예측 모드 정보를 복호화 하는 방법은 전술한 도 12의 설명과 동일할 수 있다.
한편, S2503 단계는 전술한 도 20의 S2003 단계에서 부호화된 현재 복호화 블록의 분할 정보를 복호화 할 수 있다.
그리고, S2504 단계는 전술한 도 20의 S2004 단계에서 부호화된 예측 블록 A의 예측 정보를 복호화 할 수 있다.
그리고, S2505 단계는 전술한 도 20의 S2005 단계에서 부호화된 예측 블록 B의 예측 정보를 복호화 할 수 있다. 여기서, 예측 블록 B의 예측 모드가 DMID 모드일 경우, 도 26과 같이 예측 정보를 복호화 할 수 있다.
도 26은 DMID 모드에 따른 예측 정보 복호화 방법을 나타내는 흐름도이다.
도 26를 참고하면, S2601 단계에서는 전술한 도 23의 S2301 단계에서 부호화한 DMID 동작 여부 정보를 복호화 할 수 있다.
S2602 단계에서는 복호화된 DMID 동작 여부 정보에 기초하여 DMID 모드의 동작 여부를 판단할 수 있다. DMID 모드가 동작하지 않을 경우, 본 흐름도를 종료하고, DMID 모드가 동작할 경우, S2603 단계로 넘어간다.
S2603 단계에서는 전술한 도 23의 S2303 단계에서 부호화된 예측 방향을 복호화할 수 있다. 예측 방향 정보가 부호화되지 않았을 경우, 본 단계는 생략될 수 있다.
S2604 단계에서는 복호화된 예측 방향 정보에 기초하여 예측 방향이 미래 방향인지 아닌지를 판단할 수 있다. 예측 방향이 미래 방향이 아닌 경우, S2605 단계로 넘어가고, 예측 방향이 미래 방향인 경우, S2608 단계로 넘어갈 수 있다.
S2605 단계에서는 도 23의 S2305 단계에서 부호화된 과거 방향의 움직임벡터를 복호화 할 수 있다. 해당 정보가 부호화되지 않았을 경우, 본 단계를 생략될 수 있다.
S2606 단계에서는 도 23의 S2306 단계에서 부호화된 과거 방향 참조 픽쳐 색인 정보를 복호화 할 수 있다. 해당 정보가 부호화되지 않았을 경우, 본 단계는 생략될 수 있다.
S2607 단계에서는 도 23의 S2307 단계에서 부호화된 과거 방향 MVP 정보를 복호화할 수 있다. 해당 정보가 부호화되지 않았을 경우, 본 단계는 생략될 수 있다.
S2608 단계에서는 복호화된 예측 방향 정보에 기초하여 예측 방향이 과거 방향인지 아닌지를 판단할 수 있다. 예측 방향이 과거 방향이었다면, 본 흐름도는 종료되고, 예측 방향이 과거 방향이 아니었다면 S2609 단계에서 도 23의 S2309 단계에서 부호화된 미래 방향의 움직임벡터를 복호화 할 수 있다. 해당 정보가 부호화되지 않았을 경우, 본 단계를 생략될 수 있다.
S2610 단계에서는 도 23의 S2310 단계에서 부호화된 미래 방향 참조 픽쳐 색인 정보를 복호화할 수 있다. 해당 정보가 부호화되지 않았을 경우, 본 단계는 생략될 수 있다.
S2611 단계에서는 도 23의 S2311 단계에서 부호화된 미래 방향 MVP 정보를 복호화할 수 있다. 해당 정보가 부호화되지 않았을 경우, 본 단계는 생략될 수 있다.
도 27은 본 발명의 일 실시 예에 따른 경계 필터링 방법을 설명하기 위한 도면이다.
현재 부호화 블록 내에서 생성된 예측 블록 A, B는 경계 영역에서 블록킹 현상이 발생할 수 있다. 따라서, 해당 경계 영역을 부드럽게 만들어 주기 위한 스무딩 필터링 과정이 필요하다.
도 27을 참고하면, 현재 부호화 블록 내 예측 블록 A, 예측 블록 B의 예측 모드가 결정되어 두 블록의 예측 블록이 생성된 이후, 두 예측 블록 경계에서 필터링이 수행될 수 있다.
도 27의 2701, 2702는 부호화 블록 내 예측 블록이 2분할된 경우에 예측 블록 간 경계에서 필터링 될 화소들을 나타낸 것이다. 예측 블록 경계에 맞물린 화소들을 필터링하고, 필터 탭은 4, 필터 계수는 W1 ~ W4로 나타낸다. W1 ~ W4는 임의의 실수이고, W1+W2+W3+W4는 항상 1이다. 수학식 2는 2701, 2702에서 필터링 수식을 나타낸 것이다.
Figure PCTKR2018000729-appb-M000002
도 27의 2703 ~ 2706은 예측 블록이 부호화 블록 내에서 모서리 분할된 경우에 예측 블록 간 경계에서 필터링 될 화소들을 나타낸 것이다. 이 경우, 예측 블록의 모서리 경계에서의 화소들(e1, e2, e4, e5) 은 대각선 방향 필터링이 적용될 수 있다. 여기서, d1, b1이 동시에 표현된 화소는 b1과 d1이 같은 화소를 가리킨다는 것을 의미한다.
수학식 3은 도 27의 2703 ~ 2706 에서의 필터링 수식을 나타낸 것이다.
Figure PCTKR2018000729-appb-M000003
수학식 3을 참고하면, 모서리 경계에서의 화소들(e1, e2, e4, e5)에는 대각선 방향 필터링이 적용된 것을 확인할 수 있다.
도 28은 본 발명의 제1 실시 예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 28를 참고하면, 영상 부호화 장치는 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할할 수 있다(S2801).
그리고, 영상 부호화 장치는 현재 부호화 블록의 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S2802).
여기서, 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보일 수 있다.
한편, 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 영상 부호화 장치는 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할할 수 있다.
이 경우, 영상 부호화 장치는 제1 예측 블록의 적어도 하나의 주변 블록의 예측 정보를 이용하여 제1 예측 블록의 예측 샘플을 생성할 수 있다. 그리고, 영상 부호화 장치는 제2 예측 블록의 예측 샘플을 생성하기 위하여 인트라 예측 모드, 인터 예측 모드, DMID(Decoder-side Motion Information Derivation) 모드 및 DIMD(Decoder-side Intra Mode Derivation) 모드 중 어느 하나에 기초하여 유도된 예측 정보를 이용할 수 있다.
여기서, 인트라 예측 모드는 Planar 모드, DC 모드 및 n개의 Angular 예측 모드를 포함할 수 있다.
여기서, 인터 예측 모드는 AMVP 모드, Merge 모드 및 Skip 모드를 포함할 수 있다.
또한, 영상 부호화 장치는 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 제2 예측 블록의 예측 모드를 결정하여 제2 예측 블록의 예측 모드 정보를 부호화할 수 있다.
한편, 적어도 하나의 예측 블록은 상기 현재 부호화 블록 내에서 모서리 분할될 수 있다.
이 경우, 예측 블록의 모서리 경계에서의 화소들은 대각선 방향 필터링이 적용될 수 있다. 이에 대해 구체적인 설명은 도 27을 참고하여 전술하였으므로 생략하도록 한다.
도 29는 본 발명의 제1 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 29를 참고하면, 영상 복호화 장치는 현재 부호화 블록의 코딩 모드 정보를 복호화할 수 있다(S2901).
여기서, 코딩 모드 정보는 상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보일 수 있다.
그리고, 영상 복호화 장치는 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할할 수 있다(S2902).
여기서, 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 영상 복호화 장치는 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할할 수 있다.
그리고, 복호화된 코딩 모드 정보에 기초하여 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S2903).
여기서, 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우, 영상 복호화 장치는 제1 예측 블록의 적어도 하나의 주변 블록의 예측 정보를 이용하여 제1 예측 블록의 예측 샘플을 생성하고, 인트라 예측 모드, 인터 예측 모드, DMID(Decoder-side Motion Information Derivation) 모드 및 DIMD(Decoder-side Intra Mode Derivation) 모드 중 어느 하나에 기초하여 유도된 예측 정보를 이용하여 제2 예측 블록의 예측 샘플을 생성할 수 있다.
이 경우, 제2 예측 블록의 예측 모드 정보를 복호화하여 제2 예측 블록의 예측 정보를 유도할 수 있다.
한편, 상기 DMID 모드는, 부호화 블록의 주변 블록으로부터 유도된 초기 움직임 정보를 기초로 최종 움직임 정보를 유도하고, 상기 유도된 최종 움직임 정보를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용하는 모드를 의미할 수 있다.
한편, DIMD 모드는, 부호화 블록의 주변의 복원 영역에서 Template 블록을 설정하고, Template 블록의 최적의 예측 화소값을 유도하는 화면 내 예측 정보를 부호화 블록 내의 예측 블록의 예측 정보로 이용할 수 있다.
여기서, Template 블록의 최적의 예측 화소값은 Template 블록의 복원 화소 값과의 차이가 최소인(또는 에러가 최소인) 예측 화소값을 의미할 수 있다. 그리고, Template 블록의 최적의 예측 화소값은 Template 블록의 주변 참조 화소들을 이용하여 생성될 수 있다.
이 경우, 예측 블록의 모서리 경계에서의 화소들은 대각선 방향 필터링이 적용될 수 있다. 이에 대해 구체적인 설명은 도 27을 참고하여 전술하였으므로 생략하도록 한다.
한편, 도 28의 영상 부호화 방법에 의해 생성된 비트스트림은 저장 매체에 기록될 수 있다.
도 31은 본 발명의 제2 실시 예에 따른 현재 부호화 블록의 예측 정보를 후보화하는 방법을 설명하기 위한 도면이다. 도 31에서 현재 부호화 블록은 예측 블록 A 및 예측 블록 B로 분할되고, 현재 부호화 블록의 코딩 모드는 화면 간 예측 모드인 것을 가정한다.
도 31을 참고하면, S3101 단계에서는 현재 부호화 블록의 인터 하이브리드 모드 정보를 부호화할 수 있다. 여기서, 인터 하이브리드 모드 정보는 부호화 블록이 인터 하이브리드 모드로 부호화되는지 여부를 지시하는 정보일 수 있다.
인터 하이브리드 모드 및 화면 간 예측 모드의 RD-Cost를 비교하여 인터 하이브리드 모드의 RD-Cost가 최소일 경우, 현재 부호화 블록의 인터 하이브리드 모드 정보를 참으로 부호화할 수 있다. 여기서, 인터 하이브리드 모드 정보는 플래그 형식으로 부호화 될 수 있다.
도 32는 영상 부호화 장치(100)에서 인터 하이브리드 모드 정보를 부호화하는 방법을 나타내는 흐름도이다.
도 32를 참고하면, S3201 단계에서는 우선 화면 간 예측 모드 동작이 참인지 아닌지 판단할 수 있다. 여기서, 화면 간 예측 모드의 동작이 거짓이라면 본 흐름도를 종료하고, 참이라면 S1702 단계로 넘어갈 수 있다.
S3202 단계는 화면 간 예측 모드는 0으로, 인터 하이브리드 모드는 1로 색인 정보를 할당한다.
최초 S3203 단계에서는 N의 초기값이 0, Best_Cost는 무한대가 들어오고, 0번 색인 정보인 화면 내 예측 모드의 RD-Cost를 계산하여 N_Cost에 저장할 수 있다.
S3204 단계에서는 N_Cost가 현재 Best_Cost와 비교하여 큰지 작은지를 판단하고, N_Cost가 작다면 S3205 단계에서 현재 N값을 Best_Idx로, N_Cost를 Best_Cost로 저장할 수 있다.
S3206 단계에서 현재 N이 1인지 아닌지 비교한다. 만약 현재 N이 1이 아니라면 S3207 단계에서 현재 N에 1을 더해주고, S3203 단계로 돌아가서 전술한 과정을 반복하고, 현재 N이 1이었다면 S3208 단계에서 현재 Best_Idx를 현재 부호화 블록의 인터 하이브리드 모드 정보로 결정하고, 도 32의 과정을 종료한다.
해당 과정을 통해 생성된 인트라 하이브리드 모드 정보를 S3101 단계에서 현재 부호화 블록의 인터 하이브리드 모드 정보로써 부호화하게 된다. 추가적으로, 인터 하이브리드 모드의 동작 여부 정보를 상위 헤더에서 추가로 전송하고, 전송된 상위 헤더 계층에서 인터 하이브리드 모드의 동작 여부를 제어할 수도 있다.
다시 도 31의 설명으로 돌아와서, S3102 단계에서는 현재 부호화 블록의 인터 하이브리드 정보에 기초하여 현재 부호화 블록이 인터 하이브리드 모드인지 아닌지를 판단할 수 있다.
현재 부호화 블록이 인터 하이브리드 모드이면, S3103 단계로 넘어가서 현재 부호화 블록의 분할 정보를 부호화할 수 있다.
이 때, 도 13의 예시도들처럼 부호화 블록이 2분 분할 된 경우, 가로 방향 분할인지 세로 방향 분할인지에 대한 정보를 부호화한 후, P 정보를 부호화할 수도 있고, 전술한 도 14의 예시도의 설명처럼 기 설정된 분할 세트 중, 어떤 분할 형태가 최적인지를 알려주는 색인 정보를 부호화할 수도 있다. 또한, 도 15의 예시도 들처럼 부호화 블록이 1/4, 3/4 분할된 경우, 1/4 예측 블록이 4개의 방향 중, 어떤 방향에 위치하고 있는지에 대한 색인 정보를 부호화하여 현재 부호화 블록의 분할 형태를 결정할 수도 있다.
S3104 단계에서는 예측 블록 A의 예측 정보를 부호화할 수 있다. 예측 블록 A의 예측 정보는 Merge 모드를 이용하여 결정하는데, 이를 부호화하는 방법은 전술한 도 5를 참조한다.
한편, S3104 단계는 Merge 모드를 이용하지 않고, 주변 블록들의 우선 순위에 따라 이용 가능한 주변 블록들 중에서, 우선 순위가 높은 주변 블록의 예측 정보를 그대로 사용할 수도 있다.
S3105 단계에서는 예측 블록 B의 예측 정보를 부호화할 수 있다.
본 발명의 일 실시 예에 따른 영상 부호화 장치는 Merge 모드, AMVP 모드, DMID 모드의 3가지 예측 모드들 중에서 기 설정된 1가지의 예측 모드만을 고려하여 최적의 예측 블록 B의 예측 모드를 결정할 수 있다.
이 경우, 기 설정된 예측 모드가 Merge 모드 또는 AMVP 모드인 경우, 전술한 도 6의 부호화 방법과 동일하게 세부 예측 정보를 부호화할 수 있다.
한편, 기 설정된 예측 모드가 만약 DMID 모드라면, 도 23과 같이 예측 정보를 부호화 할 수 있다.
다시 도 31의 S3105 단계의 설명으로 돌아와서, 본 발명의 다른 실시 예에 따른 영상 부호화 장치는 Merge 모드, AMVP 모드, DMID 모드의 3가지 예측 모드들 중에서 2 이상의 예측 모드를 고려하여 최적의 예측 블록 B의 예측 모드를 결정할 수 있다. 이와 관련하여, 도 19를 참고하여 후술하도록 한다.
도 33은 본 발명의 제2 실시 예에 따른 영상 부호화 장치에서 예측 블록 B의 예측 모드를 결정하는 방법을 설명하기 위한 흐름도이다.
도 33을 참고하면, S3301 단계에서는 각 예측 모드 별로 색인 정보를 할당할 수 있다. 일 예로, AMVP 모드는 0번, Merge 모드는 1번, DMID 모드는 2번으로 할당될 수 있다.
S3302 단계에서는 영상 부호화 장치에서 고려되는 예측 모드 범위를 M을 통해 결정할 수 있다. 예를 들어, M이 2라면 AMVP 모드, Merge 모드, DMID 모드 3개의 예측 모드만을 이용하여 예측 블록 B의 예측 모드를 결정할 수 있다.
최초 S3303 단계에서는 N이 0, Best_Cost는 무한대로 초기값으로 들어오고, 최초 0번 모드의 RD-Cost를 계산하여 N_Cost에 저장할 수 있다.
S3304 단계에서는 현재 N_Cost가 저장된 Best_Cost보다 작은지 아닌지를 판단할 수 있다. N_Cost가 Best_Cost보다 작다면, S3305 단계에서 현재 N을 Best_Idx로, N_Cost를 Best_Cost로 저장할 수 있다.
S3306 단계에서 현재 N이 예측 모드 범위의 최대값 M과 같은지 다른지를 판단할 수 있다. 해당 정보들이 같지 않다면 S3307 단계에서 N의 값을 1 증가시키고, S3303 단계로 돌아가서 전술한 과정을 반복하고, 해당 정보들이 같다면, S1908 단계에서 현재 예측 블록의 최적 예측 모드 색인으로 Best_Idx를 저장한 후, 본 흐름도를 종료한다.
이 후, Best_Idx 정보를 부호화 한 후, 해당 색인 정보에 해당하는 예측 모드의 예측 정보를 부호화할 수 있다.
예측 모드가 AMVP 모드 혹은 Merge 모드인 경우, 전술한 도 6의 설명과 동일한 과정을 거쳐 예측 정보를 부호화할 수 있다. 그리고, 예측 모드가 DMID 모드였다면, 전술한 도 23의 설명과 동일한 과정을 거쳐 예측 정보를 부호화할 수 있다.
이상, 영상 부호화 장치에서 현재 부호화 블록이 인터 하이브리드 모드일 때의 예측 정보의 부호화 방법에 대해 알아보았다.
이하에서는, 도 34를 참고하여 본 발명의 제2 실시 예에 따른 영상 복호화 장치에서 현재 부호화 블록의 예측 정보를 복호화하는 방법에 대해 알아보도록 한다. 도 34에서 현재 부호화 블록의 코딩 모드는 화면 간 예측 모드인 것을 가정한다. 여기서, 현재 복호화 블록은 현재 부호화 블록을 의미할 수 있다.
도 34를 참고하면, S3401 단계에서는 현재 복호화 블록의 인터 하이브리드 모드 정보를 복호화할 수 있다.
S3402 단계는 복호화된 인터 하이브리드 모드 정보에 기초하여 현재 복호화 블록이 인터 하이브리드 모드인지 판단할 수 있다.
현재 복호화 블록이 인터 하이브리드 모드이면, S3403 단계로 넘어가서 현재 부호화 블록의 분할 정보를 부호화할 수 있다.
S3403 단계는 전술한 도 31의 S3103 단계에서 부호화된 현재 복호화 블록의 분할 정보를 복호화할 수 있다. 여기서, 복호화된 분할 정보를 이용하여 현재 복호화 블록을 분할 할 수 있다. 이에 대한 구체적인 설명은 도 13내지 도 15에서 전술하였는 바 생략하도록 한다.
S3404 단계는 전술한 도 31의 S3104 단계에서 부호화된 예측 블록 A의 예측 정보를 복호화할 수 있다. 구체적으로, S3104단계에서는 주변 블록의 색인 정보(또는 merge 인덱스 정보)에 기초하여 선택된 주변 블록의 예측 정보로부터 예측 블록 A의 예측 정보를 유도할 수 있다. 또한, 기 설정된 주변 블록의 우선 순위에 따라 이용 가능한 주변 블록들 중에서, 우선 순위가 높은 주변 블록의 예측 정보를 예측 블록 A의 예측 정보로 유도할 수 있다.
S3405 단계는 전술한 도 31의 S3105 단계에서 부호화된 예측 블록 B의 예측 정보를 복호화 할 수 있다. 여기서, 예측 블록 B의 예측 모드가 DMID 모드일 경우, 도 26과 같이 예측 정보를 복호화 할 수 있다.
도 35는 본 발명의 제2 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 35을 참고하면, 영상 복호화 장치는 부호화 블록의 인터 하이브리드 모드 정보를 복호화할 수 있다(S3501).
그리고, 영상 복호화 장치는 인터 하이브리드 모드 정보에 기초하여 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S3502). S3502단계에 대한 구체적인 설명은 도 24를 참고하여 설명하도록 한다.
도 36은 본 발명의 제2 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 36를 참고하면, 현재 부호화 블록이 인터 하이브리드 모드인 경우(S3601 - 예), 영상 복호화 장치는 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할할 수 있다(S3602).
여기서, 제1 예측 블록 및 제2 예측 블록은 도 11과 같이 현재 부호화 블록을 모서리 분할한 형태일 수 있다.
이 경우, 도 27에서 설명한 바와 같이 제1 예측 블록의 모서리 경계에 인접한 화소들에는 대각선 방향 필터링이 적용될 수 있다.
그리고, 영상 복호화 장치는 Merge 모드를 이용하여 제1 예측 블록의 움직임 정보를 유도하고, 유도된 제1 예측 블록의 움직임 정보를 이용하여 제1 예측 블록의 예측 샘플을 생성할 수 있다(S3603).
그리고, 영상 복호화 장치는 Merge 모드, AMVP 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 중 어느 하나를 이용하여 제2 예측 블록의 움직임 정보를 유도하고, 유도된 제2 예측 블록의 움직임 정보를 이용하여 제2 예측 블록의 예측 샘플을 생성할 수 있다(S3604).
여기서, 한편, 상기 DMID 모드는, 부호화 블록의 주변 블록으로부터 유도된 초기 움직임 정보를 기초로 최종 움직임 정보를 유도하고, 유도된 최종 움직임 정보를 부호화 블록 내의 예측 블록의 예측 정보로 이용하는 모드를 의미할 수 있다.
한편, 영상 복호화 장치는 제2 예측 블록의 화면 간 예측 모드 정보를 복호화하여 제2 예측 블록의 움직임 정보를 유도하기 위한 예측 모드를 결정할 수 있다. 여기서, 제2 예측 블록의 화면 간 예측 모드 정보는 영상 부호화 장치로부터 시그널링 된 정보일 수 있다.
도 37은 본 발명의 제2 실시 예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 37을 참고하면, 영상 부호화 장치는 현재 부호화 블록의 인터 하이브리드 모드 정보를 부호화할 수 있다(S3701).
그리고, 영상 부호화 장치는 인터 하이브리드 모드 정보에 기초하여 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S3702).
한편, S3702 단계를 구체적으로 설명하면, 영상 부호화 장치는, 현재 부호화 블록이 인터 하이브리드 모드인 경우, 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하고, Merge 모드를 이용하여 상기 제1 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제1 예측 블록의 움직임 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성할 수 있다. 그리고, 영상 부호화 장치는 Merge 모드, AMVP 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 중 어느 하나를 이용하여 제2 예측 블록의 움직임 정보를 유도하고, 유도된 제2 예측 블록의 움직임 정보를 이용하여 제2 예측 블록의 예측 샘플을 생성할 수 있다.
한편, 도 37의 영상 부호화 방법에 의해 생성된 비트스트림은 저장 매체에 기록될 수 있다.
이하에서는, 본 발명의 일 실시 예에 따른 인트라 하이브리드 모드에 대해 설명하도록 한다.
인트라 하이브리드 모드는 화면 내 예측 모드 중 하나이다. 부호화 블록의 코딩 모드가 화면 내 모드이고, 인트라 하이브리드 모드인 경우, 첫 번째 예측 블록(예측 블록 A)의 예측 정보는 부호화 블록의 주변 블록의 화면 내 예측 정보를 그대로 사용하여 결정되고, 두 번째 예측 블록(예측 블록 B)의 예측 정보는 도 3과 같은 방법으로 예측 블록 단위로 결정되거나, DIMD(Decoder-side Intra Mode Derivation) 모드를 이용하여 예측 블록 단위로 결정될 수 있다.
여기서, DIMD 모드란, 영상 부호화 장치(100)에서 부호화 없이 영상 복호화 장치(1000)에서 부호화되지 않은 인트라 예측 모드를 직접 유도하여 예측 블록의 예측 샘플을 생성하는 예측 모드를 의미할 수 있다.
일 예로, DIMD 모드는 영상 복호화 장치(1000)에서 부호화 블록 주변 블록의 인트라 예측 모드를 유도하고, 유도된 인트라 예측 모드를 기초로 예측 블록의 최종 인트라 예측 모드를 유도하여 예측 블록의 예측 샘플을 생성하는 모드일 수 있다.
도 30은 DIMD 모드에서 예측 정보 탐색 방법을 설명하기 위해, 현재 부호화 블록 내에서 생성된 예측 블록 B의 예측 모드를 DIMD 모드를 이용하여 탐색할 때, 각 분할 형태 별로 주변 Template 영역을 예시한 것이다. Template 영역은 현재 부호화 블록 주변에 이미 복원된 영역들에서 결정 가능하다.
상단 방향의 Template 영역은 AboveTemplate 영역이고, 좌측 방향의 Template 영역은 LeftTemplate 영역이다.
여기서, AboveTemplate 영역의 가로 길이는 W, 세로 길이는 AT이고, LeftTemplate 영역의 가로 길이는 LT, 세로 길이는 H이고, Template 영역의 참조 화소는 R개 라인만큼 이용할 수 있다. 한편, Template 영역은 Template 블록으로 칭할 수 있다.
Template 영역의 복원 화소값과 에러가 최소가 되는 예측 화소값을 생성하는 인트라 예측 모드를 탐색할 수 있다. 이렇게 탐색된 인트라 예측 모드를 Template 영역의 예측정보로 결정하고, 해당 예측 정보를 현재 블록의 예측 정보로 이용할 수 있다.
한편, 화면 내 모드인 부호화 블록이 인트라 하이브리드 모드가 아닌 경우, 도 3에서와 같이 예측 블록 단위로 결정될 수 있다.
한편, 주변 블록의 화면 내 예측 정보를 그대로 사용하여 예측 블록 A의 예측 정보를 결정하는 방법은 아래와 같다.여기서, 예측 정보는 화면 내 예측 모드일 수 있다.
예측 블록 A는 부호화가 완료된 인접한 주변 블록의 예측 정보들 중, 예측 블록 A에 최적인 예측 정보를 탐색하고, 탐색된 최적의 예측 정보를 예측 블록 A에 예측 정보로 결정하여 예측 블록을 생성할 수 있다.
한편, 예측 블록 B의 예측 정보를 결정하는 방법 또한, 예측 블록 주변 참조 화소를 이용하여 Planar, DC, N개의 Angular 모드들 중 최적 예측 모드를 찾고, 해당 예측 정보를 이용하여 예측 블록을 생성할 수도 있고, DIMD 모드를 이용하여 최적 예측 모드를 찾아서 해당 예측 정보를 이용하여 예측 블록을 생성할 수도 있다.
단, 예측 블록 B에서는 일부 경우에 한하여 예측 블록 A의 예측 정보를 참조하여 예측 블록 B의 예측 정보를 결정할 수 있다. 여기서, 일부 경우는 아래에서 설명한다.
영상 복호화 장치(1000)에서 예측 블록과 원본 블록의 차이 대신, DMID 모드에서는 Template 영역의 복원 화소값과 Template 영역 주변의 참조 화소들을 이용하여 Template 영역의 예측 화소값의 차이를 RD-Cost를 계산하기 위한 에러로 가정하여 예측 정보를 탐색할 수 있다.
이 때, 예측 블록 B의 예측 정보는 변환 블록 분할 구조에 따라서 예측 블록 A의 예측 정보를 참조하여 결정될 수 있다.
현재 변환 블록 분할 구조가 CU단위 RT 구조로 이루어질 경우에는 예측 블록 B가 예측 블록 A의 예측 정보를 참조하여 예측 블록 B의 예측 정보를 결정할 수 없다.
한편, 현재 변환 블록 분할 구조가 PU단위 RT 구조로 이루어질 경우에는 예측 블록 B가 예측 블록 A의 예측 정보를 참조하여 예측 블록 B의 예측 정보를 결정할 수 있다.
한편, 예측 블록 B의 예측 정보는 전술한 바와 같이 예측 블록 단위로 결정될 수 있다. 이 경우, 도 1의 영상 부호화 장치(100)의 예측부(102)에서 설명한 바와 같이 예측 블록 단위로 최적 화면 내 예측 모드를 결정하고, 결정된 화면 내 예측 모드 혹은 DIMD 모드에 따라 예측 블록을 생성 할 수 있다.
도 38은 현재 부호화 블록의 예측 정보를 부호화하는 방법을 설명하기 위한 도면이다. 도 38에서 현재 부호화 블록은 예측 블록 A 및 예측 블록 B로 분할되고, 현재 부호화 블록의 코딩 모드는 화면 내 모드인 것을 가정한다.
도 38을 참고하면, S3801 단계에서는 현재 부호화 블록의 인트라 하이브리드 모드 정보를 부호화할 수 있다. 여기서, 인트라 하이브리드 모드 정보는 부호화 블록이 인트라 하이브리드 모드로 부호화되는지 여부를 지시하는 정보일 수 있다.
인트라 하이브리드 모드 및 화면 내 예측 모드의 RD-Cost를 비교하여 인트라 하이브리드 모드의 RD-Cost가 최소일 경우, 현재 부호화 블록의 인트라 하이브리드 모드 정보를 참으로 부호화할 수 있다. 여기서, 인트라 하이브리드 모드 정보는 플래그 형식으로 부호화 될 수 있다.
도 39은 영상 부호화 장치(100)에서 인트라 하이브리드 모드 정보를 부호화하는 방법을 나타내는 흐름도이다.
도 39를 참고하면, S3901 단계에서는 우선 화면 내 예측 모드 동작이 참인지 아닌지 판단할 수 있다. 여기서, 화면 내 예측 모드의 동작이 거짓이라면 본 흐름도를 종료하고, 참이라면 S3902 단계로 넘어갈 수 있다.
S3902 단계는 화면 내 예측 모드는 0으로, 인트라 하이브리드 모드는 1로 색인 정보를 할당한다.
최초 S3903 단계에서는 N의 초기값이 0, Best_Cost는 무한대가 들어오고, 0번 색인 정보인 화면 내 예측 모드의 RD-Cost를 계산하여 N_Cost에 저장할 수 있다.
S3904 단계에서는 N_Cost가 현재 Best_Cost와 비교하여 큰지 작은지를 판단하고, N_Cost가 작다면 S3905 단계에서 현재 N값을 Best_Idx로, N_Cost를 Best_Cost로 저장할 수 있다.
S3906 단계에서 현재 N이 1인지 아닌지 비교한다. 만약 현재 N이 1이 아니라면 S3907 단계에서 현재 N에 1을 더해주고, S3903 단계로 돌아가서 전술한 과정을 반복하고, 현재 N이 1이었다면 S3908 단계에서 현재 Best_Idx를 현재 부호화 블록의 인트라 하이브리드 모드 정보로 결정하고, 도 39의 과정을 종료한다.
해당 과정을 통해 생성된 인트라 하이브리드 모드 정보를 S3901 단계에서 현재 부호화 블록의 인트라 하이브리드 모드 정보로써 부호화하게 된다. 추가적으로, 인트라 하이브리드 모드의 동작 여부 정보를 상위 헤더에서 추가로 기 전송하고, 전송된 상위 헤더 계층에서 인트라 하이브리드 모드의 동작 여부를 제어할 수도 있다.
다시 도 38의 설명으로 돌아와서, S3802 단계에서는 현재 부호화 블록의 인트라 하이브리드 정보에 기초하여 현재 부호화 블록이 인트라 하이브리드 모드인지 아닌지를 판단할 수 있다.
현재 부호화 블록이 인트라 하이브리드 모드이면, S3803 단계로 넘어가서 현재 부호화 블록의 분할 정보를 부호화할 수 있다.
이 때, 도 13의 예시도들처럼 부호화 블록이 2분 분할 된 경우, 가로 방향 분할인지 세로 방향 분할인지에 대한 정보를 부호화한 후, P 정보를 부호화할 수도 있고, 전술한 도 14 예시도의 설명처럼 기 설정된 분할 세트 중, 어떤 분할 형태가 최적인지를 알려주는 색인 정보를 부호화할 수도 있다. 또한, 도 15의 예시도 들처럼 부호화 블록이 1/4, 3/4 분할된 경우, 1/4 예측 블록이 4개의 방향 중, 어떤 방향에 위치하고 있는지에 대한 색인 정보를 부호화하여 현재 부호화 블록의 분할 형태를 결정할 수도 있다.
S3804 단계에서는 예측 블록 A의 예측 정보를 부호화할 수 있다. 주변 블록의 예측 정보들 중, 예측 블록 A에 가장 최적인 예측 정보를 갖고 있는 주변 블록의 색인 정보를 부호화할 수 있다.
도 40은 영상 부호화 장치에서 인트라 하이브리드 모드인 부호화 블록 내의 첫 번째 예측 블록의 예측 정보를 부호화하는 방법을 설명한 흐름도이다.
도 40을 참고하면, S4001 단계에서는 이용 가능한 주변 블록들의 화면 내 예측 정보를 예측 블록 A에 적용하여 예측 블록을 생성 후, 각 예측 정보 별로 RD-Cost를 계산한다.
S4002 단계에서는 적용한 예측 정보들 중, 최소 RD-Cost를 갖는 예측 정보를 결정하고, S4003 단계에서 해당 예측 정보를 갖는 주변의 블록의 색인 정보를 저장할 수 있다.
한편, 도 40의 과정을 거치지 않고 주변 블록들의 우선 순위에 따라 이용 가능한 주변 블록들 중에서, 우선 순위가 높은 주변 블록의 예측 정보를 그대로 사용할 수도 있다.
S3805 단계에서는 예측 블록 B의 예측 정보를 부호화한다. 예측 블록 B의 예측 정보는 전술한 도 3의 화면 내 예측 부호화 방법을 이용하거나 혹은 DIMD 모드를 지칭하는 DIMD 모드 정보(또는 플래그 정보)를전송함으로써 부호화할 수 있다.
S3806 단계에서는 현재 부호화 블록이 인트라 하이브리드 모드가 아닌 경우이므로, 이때에는 전술한 도 3의 화면 내 예측 부호화 방법을 이용하여 예측 블록 단위로 부호화할 수 있다.
도 41은 현재 복호화 블록의 예측 정보를 복호화하는 방법을 설명하기 위한 도면이다. 도 41에서 현재 복호화 블록은 예측 블록 A 및 예측 블록 B로 분할되고, 현재 부호화 블록의 코딩 모드는 화면 내 모드인 것을 가정한다. 여기서, 현재 복호화 블록은 현재 부호화 블록을 의미할 수 있다.
도 41을 참고하면, S4101 단계에서는 현재 복호화 블록의 인트라 하이브리드 모드 정보를 복호화할 수 있다.
S4102 단계는 복호화된 인트라 하이브리드 모드 정보에 기초하여 현재 복호화 블록이 인트라 하이브리드 모드인지 판단할 수 있다.
현재 복호화 블록이 인트라 하이브리드 모드이면, S4103 단계로 넘어가서 현재 부호화 블록의 분할 정보를 부호화할 수 있다.
S4103 단계는 전술한 도 48의 S4803 단계에서 부호화된 현재 복호화 블록의 분할 정보를 복호화할 수 있다. 여기서, 복호화된 분할 정보를 이용하여 현재 복호화 블록을 분할 할 수 있다. 이에 대한 구체적인 설명은 도 13 내지 도 15에서 전술하였는 바 생략하도록 한다.
S4104 단계는 전술한 도 38의 S3804 단계에서 부호화된 예측 블록 A의 예측 정보를 복호화할 수 있다. 구체적으로, S4104단계에서는 주변 블록의 색인 정보에 기초하여 선택된 주변 블록의 예측 정보로부터 예측 블록 A의 예측 정보를 유도할 수 있다. 또한, 기 설정된 주변 블록의 우선 순위에 따라 이용가능한 주변 블록들 중에서, 우선 순위가 높은 주변 블록의 예측 정보를 예측 블록 A의 예측 정보로 유도할 수 있다.
S4105 단계는 전술한 도 38의 S3805 단계에서 부호화된 예측 블록 B의 예측 정보를 복호화 할 수 있다.
한편, S4106 단계에서는 현재 복호화 블록이 인트라 하이브리드 모드가 아닌 경우이므로, 이때에는 전술한 도 11의 화면 내 예측 복호화 방법을 이용하여 예측 블록 단위로 복호화 할 수 있다.
도 42는 본 발명의 제3 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 42를 참고하면, 영상 복호화 장치는 현재 부호화 블록의 인트라 하이브리드 모드 정보를 복호화할 수 있다(S4201).
그리고, 영상 복호화 장치는 인트라 하이브리드 모드 정보에 기초하여 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S4202). S4202단계에 대한 구체적인 설명은 도 43을 참고하여 설명하도록 한다.
도 43은 본 발명의 일 실시 예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 43을 참고하면, 현재 부호화 블록이 인트라 하이브리드 모드인 경우(S4301 - 예), 영상 복호화 장치는 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할할 수 있다(S4302).
여기서, 제1 예측 블록 및 제2 예측 블록은 도 15와 같이 현재 부호화 블록을 모서리 분할한 형태일 수 있다.
이 경우, 도 27에서 설명한 바와 같이 제1 예측 블록의 모서리 경계에 인접한 화소들에는 대각선 방향 필터링이 적용될 수 있다.
그리고, 영상 복호화 장치는 제1 예측 블록의 주변 블록으로부터 유도된 제1 예측 블록의 화면 내 예측 모드를 이용하여 제1 예측 블록의 예측 샘플을 생성할 수 있다(S4303).
한편, 영상 복호화 장치는 제1 예측 블록의 주변 블록들 중 기 설정된 우선 순위에 따라 결정된 주변 블록의 화면 내 예측 모드를 제1 예측 블록의 화면 내 예측 모드로 유도할 수 있다.
또는, 영상 복호화 장치는 주변 블록 색인 정보에 기초하여 결정된 주변 블록의 화면 내 예측 모드를 제1 예측 블록의 화면 내 예측 모드로 유도할 수 있다. 여기서, 주변 블록 색인 정보는 영상 부호화 장치로부터 시그널링된 정보일 수 있다.
그리고, 영상 복호화 장치는 제2 예측 블록의 화면 내 예측 모드 정보 혹은 DIMD 모드 정보를 복호화하여 제2 예측 블록의 화면 내 예측 모드를 결정하고, 결정된 화면 내 예측 모드를 이용하여 제2 예측 블록의 예측 샘플을 생성할 수 있다(S4304).
한편, 현재 부호화 블록이 인트라 하이브리드 모드가 아닌 경우(S4301 - 아니요), 영상 복호화 장치는 화면 내 예측을 통해 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S4305). 즉, 도 6에서 설명한 바와 같이 화면 내 예측 모드를 유도하여 예측 블록 단위로 예측 샘플을 생성할 수 있다.
도 44는 본 발명의 일 실시 예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 44를 참고하면, 영상 부호화 장치는 현재 부호화 블록의 인트라 하이브리드 모드 정보를 부호화할 수 있다(S4401).
그리고, 영상 부호화 장치는 인트라 하이브리드 모드 정보에 기초하여 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성할 수 있다(S4402).
한편, S4402 단계를 구체적으로 설명하면, 영상 부호화 장치는 현재 부호화 블록이 인트라 하이브리드 모드인 경우, 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하고, 제1 예측 블록의 주변 블록으로부터 유도된 제1 예측 블록의 화면 내 예측 모드를 이용하여 제1 예측 블록의 예측 샘플을 생성할 수 있다. 그리고, 영상 부호화 장치는 제2 예측 블록의 화면 내 예측 모드 정보 혹은 DIMD 모드에 기초하여 제2 예측 블록의 화면 내 예측 모드를 결정하고, 결정된 화면 내 예측 모드를 이용하여 제2 예측 블록의 예측 샘플을 생성할 수 있다.
한편, 도 44의 영상 부호화 방법에 의해 생성된 비트스트림은 저장 매체에 기록될 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
본 발명은 영상을 부호화/복호화하는 장치에 이용될 수 있다.

Claims (20)

  1. 영상 복호화 방법에 있어서,
    현재 부호화 블록의 코딩 모드 정보를 복호화 하는 단계;
    상기 현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계; 및
    상기 복호화된 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고,
    상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보인 것을 특징으로 하는 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우,
    상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 것을 특정으로 하는 영상 복호화 방법.
  3. 제2항에 있어서,
    상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우,
    상기 제1 예측 블록의 적어도 하나의 주변 블록의 예측 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하고,
    인트라 예측 모드, 인터 예측 모드, DMID(Decoder-side Motion Information Derivation) 모드 및 DIMD(Decoder-side Intra Mode Derivation) 모드 중 어느 하나에 기초하여 유도된 예측 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 것을 특징으로 하는 영상 복호화 방법.
  4. 제3항에 있어서,
    상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우,
    상기 제2 예측 블록의 예측 모드 정보를 복호화하여 상기 제2 예측 블록의 예측 정보를 유도하는 것을 특징으로 하는 영상 복호화 방법.
  5. 제3항에 있어서,
    상기 DMID 모드는,
    부호화 블록의 주변 블록으로부터 유도된 초기 움직임 정보를 기초로 최종 움직임 정보를 유도하고, 상기 유도된 최종 움직임 정보를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용하는 것을 특징으로 하는 영상 복호화 방법.
  6. 제3항에 있어서,
    상기 DIMD 모드는,
    부호화 블록 주변의 복원 영역에서 Template 블록을 설정하고, 상기 Template 블록의 최적의 예측 화소 값을 유도하는 화면 내 예측 정보를 상기 부호화 블록 내의 예측 블록의 예측 정보로 이용하는 것을 특징으로 하는 영상 복호화 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 예측 블록은 상기 현재 부호화 블록 내에서 모서리 분할된 것을 특징으로 하는 영상 복호화 방법.
  8. 제7항에 있어서,
    상기 적어도 하나의 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우,
    예측 블록의 모서리 경계에서의 화소들은 대각선 방향 필터링이 적용되는 것을 특징으로 하는 영상 복호화 방법.
  9. 영상 부호화 방법에 있어서,
    현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계; 및
    상기 현재 부호화 블록의 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고,
    상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보인 것을 특징으로 하는 영상 부호화 방법.
  10. 제9항에 있어서,
    상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우,
    상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 것을 특정으로 하는 영상 부호화 방법.
  11. 제10항에 있어서,
    상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우,
    상기 제1 예측 블록의 적어도 하나의 주변 블록의 예측 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하고,
    인트라 예측 모드, 인터 예측 모드, DMID(Decoder-side Motion Information Derivation) 모드 및 DIMD(Decoder-side Intra Mode Derivation) 모드 중 어느 하나에 기초하여 유도된 예측 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 것을 특징으로 하는 영상 부호화 방법.
  12. 제11항에 있어서,
    상기 현재 부호화 블록의 코딩 모드 정보가 하이브리드 모드를 지시하는 경우,
    상기 제2 예측 블록의 예측 모드를 결정하여 상기 제2 예측 블록의 예측 모드 정보를 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  13. 제9항에 있어서,
    상기 적어도 하나의 예측 블록은 상기 현재 부호화 블록 내에서 모서리 분할된 것을 특징으로 하는 영상 부호화 방법.
  14. 제9항에 있어서,
    상기 적어도 하나의 예측 블록이 상기 현재 부호화 블록 내에서 모서리 분할된 경우,
    예측 블록의 모서리 경계에서의 화소들은 대각선 방향 필터링이 적용되는 것을 특징으로 하는 영상 부호화 방법.
  15. 기록 매체에 있어서,
    현재 부호화 블록을 적어도 하나의 예측 블록으로 분할하는 단계; 및
    상기 현재 부호화 블록의 코딩 모드 정보에 기초하여 상기 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고,
    상기 코딩 모드 정보는 인트라 모드, 인터 모드 및 하이브리드 모드 중 어느 하나를 지시하는 정보인 것을 특징으로 하는 영상 부호화 방법에 의해 생성된 비트스트림을 저장한 기록 매체.
  16. 영상 복호화 방법에 있어서,
    현재 부호화 블록의 인터 하이브리드 모드 정보를 복호화하는 단계; 및
    상기 인터 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고,
    상기 현재 부호화 블록이 인터 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는,
    상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계;
    Merge 모드를 이용하여 상기 제1 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제1 예측 블록의 움직임 정보를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계; 및
    Merge 모드, AMVP 모드 및 DMID(Decoder-side Motion Information Derivation) 모드 중 어느 하나를 이용하여 상기 제2 예측 블록의 움직임 정보를 유도하고, 상기 유도된 제2 예측 블록의 움직임 정보를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함하는 영상 복호화 방법.
  17. 제16항에 있어서,
    상기 제2 예측 블록의 화면 간 예측 모드 정보를 복호화하여 상기 제2 예측 블록의 움직임 정보를 유도하기 위한 예측 모드를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  18. 영상 복호화 방법에 있어서,
    현재 부호화 블록의 인트라 하이브리드 모드 정보를 복호화하는 단계; 및
    상기 인트라 하이브리드 모드 정보에 기초하여 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계를 포함하고,
    상기 현재 부호화 블록이 인트라 하이브리드 모드인 경우, 상기 현재 부호화 블록 내의 적어도 하나의 예측 블록의 예측 샘플을 생성하는 단계는,
    상기 현재 부호화 블록을 제1 예측 블록 및 제2 예측 블록으로 분할하는 단계;
    상기 제1 예측 블록의 주변 블록으로부터 유도된 상기 제1 예측 블록의 화면 내 예측 모드를 이용하여 상기 제1 예측 블록의 예측 샘플을 생성하는 단계; 및
    상기 제2 예측 블록의 화면 내 예측 모드 정보 또는 DIMD(Decoder-side Intra Mode Derivation) 모드 정보를 복호화하여 상기 제2 예측 블록의 화면 내 예측 모드를 결정하고, 상기 결정된 화면 내 예측 모드를 이용하여 상기 제2 예측 블록의 예측 샘플을 생성하는 단계를 포함하는 영상 복호화 방법.
  19. 제18항에 있어서,
    상기 제1 예측 블록의 예측 샘플을 생성하는 단계는,
    상기 제1 예측 블록의 주변 블록들 중 기 설정된 우선 순위에 따라 결정된 주변 블록의 화면 내 예측 모드를 상기 제1 예측 블록의 화면 내 예측 모드로 유도하여 상기 제1 예측 블록의 예측 샘플을 생성하는 것을 특징으로 하는 영상 복호화 방법.
  20. 제18항에 있어서,
    상기 제1 예측 블록의 예측 샘플을 생성하는 단계는,
    주변 블록 색인 정보에 기초하여 결정된 주변 블록의 화면 내 예측 모드를 상기 제1 예측 블록의 화면 내 예측 모드로 유도하여 상기 제1 예측 블록의 예측 블록의 예측 샘플을 생성하는 것을 특징으로 하는 영상 복호화 방법.
PCT/KR2018/000729 2017-01-16 2018-01-16 영상 신호 부호화/복호화 방법 및 장치 WO2018131982A1 (ko)

Priority Applications (27)

Application Number Priority Date Filing Date Title
CN202310700697.2A CN116962676A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310699576.0A CN117041535A (zh) 2017-01-16 2018-01-16 影像信号解码/编码方法以及传送比特流的方法
CN202310700368.8A CN116866557A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310699633.5A CN116866550A (zh) 2017-01-16 2018-01-16 影像信号解码/编码方法以及传送比特流的方法
CN202310700230.8A CN116962675A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310700121.6A CN116886897A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310700684.5A CN116915979A (zh) 2017-01-16 2018-01-16 影像信号解码/编码方法以及传送比特流的方法
CN202310699818.6A CN116866552A (zh) 2017-01-16 2018-01-16 影像信号解码/编码方法以及传送比特流的方法
CN202310699049.XA CN116896627A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
EP18739400.2A EP3557867A4 (en) 2017-01-16 2018-01-16 METHOD AND DEVICE FOR IMAGE SIGNAL ENCODING AND DECODING
CN202310700145.1A CN116866554A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310699605.3A CN116962674A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310699300.2A CN116896628A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310699723.4A CN116866551A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310700114.6A CN116886896A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN201880007072.5A CN110199520B (zh) 2017-01-16 2018-01-16 影像信号编码/解码方法及装置
CN202310700367.3A CN116866556A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
US16/478,223 US10951884B2 (en) 2017-01-16 2018-01-16 Method and apparatus for encoding/decoding an image signal
CN202310700350.8A CN116866555A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
CN202310699520.5A CN116866549A (zh) 2017-01-16 2018-01-16 影像信号解码/编码方法以及传送比特流的方法
CN202310699959.8A CN116866553A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
EP23204054.3A EP4300961A3 (en) 2017-01-16 2018-01-16 Image signal encoding/decoding method and device
CN202310700620.5A CN116886898A (zh) 2017-01-16 2018-01-16 影像解码/编码方法以及传送比特流的方法
US17/158,291 US11533470B2 (en) 2017-01-16 2021-01-26 Method and apparatus for encoding/decoding an image signal
US17/580,937 US11665337B2 (en) 2017-01-16 2022-01-21 Method and apparatus for encoding/decoding an image signal
US17/981,841 US20230066631A1 (en) 2017-01-16 2022-11-07 Method and apparatus for encoding/decoding an image signal
US18/137,495 US20230269367A1 (en) 2017-01-16 2023-04-21 Method and apparatus for encoding/decoding an image signal

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20170007350 2017-01-16
KR10-2017-0007350 2017-01-16
KR10-2017-0007349 2017-01-16
KR20170007349 2017-01-16
KR10-2017-0007351 2017-01-16
KR20170007351 2017-01-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US201916478223A Continuation 2017-01-16 2019-07-16

Publications (1)

Publication Number Publication Date
WO2018131982A1 true WO2018131982A1 (ko) 2018-07-19

Family

ID=62839496

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/000729 WO2018131982A1 (ko) 2017-01-16 2018-01-16 영상 신호 부호화/복호화 방법 및 장치

Country Status (4)

Country Link
US (5) US10951884B2 (ko)
EP (2) EP4300961A3 (ko)
CN (20) CN116866557A (ko)
WO (1) WO2018131982A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020047788A1 (en) * 2018-09-05 2020-03-12 Huawei Technologies Co., Ltd. Method and apparatus for coding image of video sequence, and terminal device
WO2020244425A1 (zh) * 2019-06-05 2020-12-10 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113395519A (zh) * 2018-11-08 2021-09-14 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019007490A1 (en) * 2017-07-04 2019-01-10 Huawei Technologies Co., Ltd. DECODER INTEGRATED MODE (DIMD) INTEGRATED DEVICE TOOL CALCULATION COMPLEXITY REDUCTION
WO2019093598A1 (ko) 2017-11-09 2019-05-16 삼성전자 주식회사 움직임 정보의 부호화 장치 및 방법, 및 복호화 장치 및 방법
EP3629579A1 (en) * 2018-09-27 2020-04-01 Ateme Method for image processing and apparatus for implementing the same
WO2020076069A1 (ko) * 2018-10-08 2020-04-16 엘지전자 주식회사 Atmvp 후보를 기반으로 영상 코딩을 수행하는 장치
CN113796086B (zh) * 2019-04-25 2023-06-06 寰发股份有限公司 编码或解码视频数据的方法和装置
CN113632464B (zh) * 2019-05-21 2023-04-28 华为技术有限公司 分量间预测的方法和设备
US11128868B2 (en) 2019-06-11 2021-09-21 Mediatek Inc. Method and apparatus of matrix-based intra prediction for video coding
WO2021134635A1 (zh) * 2019-12-31 2021-07-08 Oppo广东移动通信有限公司 变换方法、编码器、解码器以及存储介质
WO2022218316A1 (en) * 2021-04-13 2022-10-20 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017094B1 (ko) * 2002-06-11 2011-02-25 노키아 코포레이션 인트라 코딩에 기반한 공간 예측
KR20120005932A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US20150334419A1 (en) * 2008-10-06 2015-11-19 Lg Electronics Inc. Method and apparatus for processing a video signal
US20160373778A1 (en) * 2015-06-22 2016-12-22 Cisco Technology, Inc. Combined coding of split information and other block-level parameters for video coding/decoding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297148C (zh) * 2001-08-28 2007-01-24 株式会社Ntt都科摩 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序
KR100642043B1 (ko) * 2001-09-14 2006-11-03 가부시키가이샤 엔티티 도코모 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
ES2936129T3 (es) * 2009-03-23 2023-03-14 Ntt Docomo Inc Dispositivo de descodificación predictiva de imágenes y procedimiento de descodificación predictiva de imágenes
CN107257465B (zh) * 2010-12-08 2020-08-04 Lg 电子株式会社 由编码装置和解码装置执行的内预测方法及可读存储介质
AU2012216026B2 (en) * 2011-02-10 2016-04-28 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
TWI526056B (zh) * 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
GB2491589B (en) * 2011-06-06 2015-12-16 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of image
KR20130037161A (ko) * 2011-10-05 2013-04-15 한국전자통신연구원 스케일러블 비디오 코딩을 위한 향상된 계층간 움직임 정보 예측 방법 및 그 장치
CN103999464B (zh) * 2011-12-28 2017-09-26 Jvc建伍株式会社 动图像解码装置、动图像解码方法、接收装置及接收方法
EP2800370A4 (en) * 2011-12-28 2015-08-19 Jvc Kenwood Corp VIDEO CODING DEVICE, VIDEO PROCESSING AND VIDEO PROGRAM, AND DEVICE, METHOD AND PROGRAM FOR VIDEO CODING
KR101626759B1 (ko) * 2012-05-10 2016-06-02 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US10666940B2 (en) * 2014-11-06 2020-05-26 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
WO2016085231A1 (ko) * 2014-11-27 2016-06-02 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US10356416B2 (en) * 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017094B1 (ko) * 2002-06-11 2011-02-25 노키아 코포레이션 인트라 코딩에 기반한 공간 예측
US20150334419A1 (en) * 2008-10-06 2015-11-19 Lg Electronics Inc. Method and apparatus for processing a video signal
KR20120005932A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US20160373778A1 (en) * 2015-06-22 2016-12-22 Cisco Technology, Inc. Combined coding of split information and other block-level parameters for video coding/decoding

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020047788A1 (en) * 2018-09-05 2020-03-12 Huawei Technologies Co., Ltd. Method and apparatus for coding image of video sequence, and terminal device
RU2770423C1 (ru) * 2018-09-05 2022-04-18 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство для кодирования изображения видеопоследовательности и оконечное устройство
CN113395519A (zh) * 2018-11-08 2021-09-14 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
US11470312B2 (en) 2018-11-08 2022-10-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for encoding/decoding image signal, and apparatus therefor
US20220337832A1 (en) 2018-11-08 2022-10-20 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for encoding/decoding image signal, and apparatus therefor
CN113395519B (zh) * 2018-11-08 2023-04-07 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
US11882282B2 (en) 2018-11-08 2024-01-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for encoding/decoding image signal, and apparatus therefor
WO2020244425A1 (zh) * 2019-06-05 2020-12-10 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Also Published As

Publication number Publication date
CN116866551A (zh) 2023-10-10
CN116896627A (zh) 2023-10-17
CN116866552A (zh) 2023-10-10
US11665337B2 (en) 2023-05-30
CN116886896A (zh) 2023-10-13
CN116886897A (zh) 2023-10-13
US20210152814A1 (en) 2021-05-20
US11533470B2 (en) 2022-12-20
CN116866556A (zh) 2023-10-10
CN116896628A (zh) 2023-10-17
CN116866553A (zh) 2023-10-10
CN116866557A (zh) 2023-10-10
CN116866550A (zh) 2023-10-10
US20230066631A1 (en) 2023-03-02
EP4300961A2 (en) 2024-01-03
US20220159238A1 (en) 2022-05-19
EP3557867A1 (en) 2019-10-23
CN116866555A (zh) 2023-10-10
CN110199520A (zh) 2019-09-03
CN110199520B (zh) 2023-06-30
CN117041535A (zh) 2023-11-10
CN116866554A (zh) 2023-10-10
CN116962675A (zh) 2023-10-27
EP3557867A4 (en) 2020-05-13
US20190373252A1 (en) 2019-12-05
US20230269367A1 (en) 2023-08-24
CN116962676A (zh) 2023-10-27
US10951884B2 (en) 2021-03-16
CN116866549A (zh) 2023-10-10
CN116886898A (zh) 2023-10-13
CN116915979A (zh) 2023-10-20
EP4300961A3 (en) 2024-02-21
CN116962674A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
WO2018131982A1 (ko) 영상 신호 부호화/복호화 방법 및 장치
WO2018038492A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2017188779A2 (ko) 영상 신호 부호화/복호화 방법 및 장치
WO2017043816A1 (ko) 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018097693A2 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2016204478A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018097692A2 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2016137149A1 (ko) 폴리곤 유닛 기반 영상 처리 방법 및 이를 위한 장치
WO2017043734A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020096388A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020076097A1 (ko) 움직임 벡터 차분값을 이용한 비디오 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
WO2019245260A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2016182317A1 (ko) 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치
WO2018084339A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017183751A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017003063A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016182316A1 (ko) 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치
WO2020111843A1 (ko) 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치
WO2021015524A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017188509A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2015133838A1 (ko) 폴리곤 유닛 기반 영상 인코딩/디코딩 방법 및 이를 위한 장치
WO2020096426A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020222588A1 (ko) 적응적 모션 벡터 해상도를 이용한 비디오 신호 처리 방법 및 장치
WO2020184979A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2021015586A1 (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: 18739400

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018739400

Country of ref document: EP

Effective date: 20190717