WO2018026118A1 - Procédé de codage/décodage d'images - Google Patents

Procédé de codage/décodage d'images Download PDF

Info

Publication number
WO2018026118A1
WO2018026118A1 PCT/KR2017/007734 KR2017007734W WO2018026118A1 WO 2018026118 A1 WO2018026118 A1 WO 2018026118A1 KR 2017007734 W KR2017007734 W KR 2017007734W WO 2018026118 A1 WO2018026118 A1 WO 2018026118A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
transform
motion vector
current block
prediction
Prior art date
Application number
PCT/KR2017/007734
Other languages
English (en)
Korean (ko)
Inventor
전동산
이진호
강정원
고현석
임성창
이하현
조승현
김휘용
최진수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to CN202211602603.XA priority Critical patent/CN116016910A/zh
Priority to CN202210817457.6A priority patent/CN115052142A/zh
Priority to CN202210817476.9A priority patent/CN115052143A/zh
Priority to CN202211602572.8A priority patent/CN115914625A/zh
Priority to CN201780048129.1A priority patent/CN109644276B/zh
Publication of WO2018026118A1 publication Critical patent/WO2018026118A1/fr

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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a method and apparatus for encoding / decoding an image, and more particularly, to a method and apparatus for deriving encoding information of a current block by using encoding information of a neighboring block.
  • HD high definition
  • UHD ultra high definition
  • An inter-screen prediction technique for predicting pixel values included in the current picture from a picture before or after the current picture using an image compression technology
  • an intra-picture prediction technology for predicting pixel values included in the current picture using pixel information in the current picture
  • transformation and quantization techniques for compressing the energy of the residual signal
  • entropy coding technique for assigning short codes to high-frequency values and long codes for low-frequency values.
  • Image data can be effectively compressed and transmitted or stored.
  • An object of the present invention is to provide a method and apparatus for deriving encoding information of a current block from a reconstruction block around a current block.
  • an image encoding method includes generating a prediction signal for a current block, generating a residual signal for the current block based on the prediction signal, and converting the residual signal. Determining, and quantizing the residual signal.
  • the transform may include a first-order transform and a second-order transform, and at least one of the first-order transform technique and the second-order transform technique may be derived from a reconstructed block in which encoding around the current block is completed.
  • An image decoding method may include obtaining a quantized residual signal for a current block, inversely quantizing the quantized residual signal, and determining a conversion technique for inversely transforming the residual signal.
  • the inverse transform includes a first-order transform and a second-order transform, and at least one of the first-order transform technique and the second-order transform technique may be derived from a decoded reconstruction block around the current block.
  • At least one of the first transform method and the second transform method may have a periphery in which the intra prediction mode is the same as the current block. Can be derived from a block.
  • the first transform scheme of a neighboring block having the same intra prediction mode as the current block indicates a transform skip
  • the first transform scheme and the second order for the current block may be determined by the transformation skip.
  • the first transform scheme may be derived from a neighboring block that is the same as the current block.
  • At least one of the first transform method and the second transform method may be obtained from a neighboring block whose motion information is the same as that of the current block. Can be induced.
  • the motion information may include at least one of a motion vector, a reference picture index, or a reference picture direction.
  • an encoding / decoding efficiency can be improved.
  • an encoding / decoding efficiency can be improved.
  • FIG. 1 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of a decoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram schematically illustrating a segmentation structure of an image when encoding and decoding an image.
  • FIG. 4 is a diagram illustrating a form of a prediction unit PU that may be included in the coding unit CU.
  • FIG. 5 is a diagram illustrating a form of a transform unit (TU) that a coding unit CU may include.
  • TU transform unit
  • FIG. 6 is a diagram for explaining an embodiment of an intra prediction process.
  • FIG. 7 is a diagram for explaining an embodiment of an inter prediction process.
  • FIG. 8 is a diagram for describing a transform set according to an intra prediction mode.
  • 9 is a view for explaining the process of the conversion.
  • 10 is a diagram for describing scanning of quantized transform coefficients.
  • 11 is a diagram for explaining block division.
  • FIG. 12 is a diagram illustrating a coding / decoding unit according to a partition type of a block.
  • 13 is a flowchart illustrating a process of determining whether to decode information related to binary tree splitting.
  • FIG. 14 is a flowchart illustrating a process of determining whether to decode information related to binary tree partitioning.
  • 15 to 17 are diagrams for explaining an example in which binary tree splitting is no longer performed on a block having a predetermined size or less.
  • 18 is a flowchart illustrating a process of determining whether to encode encoding information about a residual signal of a current block from a neighboring block when the current block is encoded by intra prediction.
  • 19 is a flowchart illustrating a process of determining whether to derive encoding information about a residual signal of a current block from a neighboring block when the current block is encoded by inter-screen prediction.
  • 20 is a flowchart illustrating a process of decoding a motion vector of a current block.
  • 21 is a diagram for explaining an example of deriving a spatial motion vector candidate.
  • 22 is a diagram for explaining an example of deriving a temporal motion vector candidate.
  • FIG. 23 is a diagram for describing a second motion vector difference value.
  • 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.
  • any component of the invention When any component of the invention is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but other components may be present in between. It should be understood that it may. On the other hand, when a component is referred to as being “directly connected” or “directly connected” to another component, it should be understood that there is no other component in between.
  • each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
  • each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
  • Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
  • Some components of the present invention are not essential components for performing essential functions in the present invention but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
  • an image may mean one picture constituting a video and may represent a video itself.
  • "encoding and / or decoding of an image” may mean “encoding and / or decoding of a video” and may mean “encoding and / or decoding of one of images constituting the video.” It may be.
  • the picture may have the same meaning as the image.
  • Encoder This may mean an apparatus for performing encoding.
  • Decoder Refers to an apparatus for performing decoding.
  • Parsing This may mean determining a value of a syntax element by entropy decoding or may refer to entropy decoding itself.
  • An MxN array of samples where M and N are positive integer values, and a block can often mean a two-dimensional sample array.
  • Sample This is a basic unit constituting the block, and can represent values from 0 to 2Bd-1 depending on the bit depth (Bd).
  • the pixel and the pixel may be used as the sample.
  • Unit may mean a unit of image encoding and decoding.
  • a unit may be an area generated by division of one image.
  • a unit may mean a divided unit when a single image is divided into subdivided units to be encoded or decoded.
  • a predetermined process may be performed for each unit.
  • One unit may be further divided into subunits having a smaller size than the unit.
  • the unit may be a block, a macroblock, a coding tree unit, a coding tree block, a coding unit, a coding block, a prediction. It may mean a unit, a prediction block, a transform unit, a transform block, or the like.
  • the unit may refer to a luma component block, a chroma component block corresponding thereto, and a syntax element for each block in order to refer to the block separately.
  • the unit may have various sizes and shapes, and in particular, the shape of the unit may include a geometric figure that can be expressed in two dimensions such as a square, a trapezoid, a triangle, a pentagon, as well as a rectangle.
  • the unit information may include at least one of a type of a unit indicating a coding unit, a prediction unit, a transformation unit, and the like, a size of a unit, a depth of a unit, an encoding and decoding order of the unit, and the like.
  • a reconstructed neighbor unit may refer to a unit that has already been encoded or decoded in a spatial / temporal manner around the encoding / decoding target unit.
  • the restored peripheral unit may mean a restored peripheral block.
  • a neighbor block may mean a block adjacent to an encoding / decoding target block.
  • the block adjacent to the encoding / decoding object block may mean a block in which a boundary of the encoding / decoding object block abuts.
  • the neighboring block may mean a block located at an adjacent vertex of the encoding / decoding target block.
  • the neighboring block may mean a restored neighboring block.
  • Unit Depth It means the degree of unit division. In the tree structure, the root node has the smallest depth, and the leaf node has the deepest depth.
  • This may mean a encoding / decoding target unit syntax element, a coding parameter, a value of a transform coefficient, or the like.
  • Parameter set may correspond to header information among structures in the bitstream, and includes a video parameter set, a sequence parameter set, a picture parameter set, and an adaptive parameter set. At least one or more of the adaptation parameter set may be included in the parameter set.
  • the parameter set may have a meaning including slice header and tile header information.
  • Bitstream may mean a string of bits including encoded image information.
  • Prediction Unit This is a basic unit when performing inter prediction or intra prediction and compensation thereof, and one prediction unit may be divided into a plurality of partitions having a small size. In this case, each of the plurality of partitions becomes a basic unit at the time of performing the prediction and compensation, and the partition in which the prediction unit is divided may also be called a prediction unit.
  • the prediction unit may have various sizes and shapes, and in particular, the shape of the prediction unit may include a geometric figure that can be expressed in two dimensions such as a square, a trapezoid, a triangle, a pentagon, as well as a rectangle.
  • Prediction Unit Partition This may mean a form in which a prediction unit is divided.
  • Reference Picture List refers to a list including one or more reference pictures used for inter prediction or motion compensation.
  • the types of reference picture lists may be LC (List Combined), L0 (List 0), L1 (List 1), L2 (List 2), L3 (List 3), and the like. Lists can be used.
  • Inter Prediction Indicator It may mean the inter prediction direction (unidirectional prediction, bi-directional prediction, etc.) of the block to be encoded / decoded during inter prediction, and the block to be encoded / decoded will generate the prediction block. This may mean the number of reference pictures used, and may mean the number of prediction blocks used when the encoding / decoding target block performs inter prediction or motion compensation.
  • a reference picture index may mean an index of a specific reference picture in the reference picture list.
  • Reference Picture Refers to an image referred to by a specific unit for inter prediction or motion compensation.
  • the reference picture may also be referred to as a reference picture.
  • Motion Vector A two-dimensional vector used for inter prediction or motion compensation, and may mean an offset between an encoding / decoding target image and a reference image.
  • (mvX, mvY) may represent a motion vector
  • mvX may represent a horizontal component
  • mvY may represent a vertical component.
  • Motion Vector Candidate When a motion vector is predicted, it may mean a unit which is a prediction candidate or a motion vector of the unit.
  • a motion vector candidate list may mean a list constructed using motion vector candidates.
  • Motion Vector Candidate Index An indicator indicating a motion vector candidate in a motion vector candidate list, and may be referred to as an index of a motion vector predictor.
  • Motion Information Information including at least one of a motion vector, a reference picture index, an inter prediction indicator, as well as reference picture list information, a reference picture, a motion vector candidate, and a motion vector candidate index. It may mean.
  • a merge candidate list may mean a list constructed using merge candidates.
  • the merge candidate may include prediction type information, each of which is a prediction type information. It may include motion information such as a reference picture index and a motion vector for the list.
  • Merge Index refers to information indicating a merge candidate in the merge candidate list.
  • the merge index may indicate a block in which a merge candidate is derived among blocks reconstructed adjacent to the current block in a spatial / temporal manner.
  • the merge index may indicate at least one or more of the motion information that the merge candidate has.
  • a transform unit may refer to a basic unit when performing residual signal encoding / decoding such as transform, inverse transform, quantization, inverse quantization, and transform coefficient encoding / decoding. It may be divided into a plurality of transform units having a small size.
  • the transform unit may have various sizes and shapes, and in particular, the shape of the transform unit may include a geometric figure that can be expressed in two dimensions such as a square, a trapezoid, a triangle, a pentagon, as well as a rectangle.
  • Scaling This may mean a process of multiplying a transform coefficient level by a factor and generating a transform coefficient as a result. Scaling can also be called dequantization.
  • a quantization parameter may mean a value used when scaling transform coefficient levels in quantization and inverse quantization.
  • the quantization parameter may be a value mapped to a quantization step size.
  • a quantization parameter may mean a differential value between the predicted quantization parameter and the quantization parameter of the encoding / decoding target unit.
  • Scan Refers to a method of arranging the order of coefficients in a block or matrix. For example, aligning a two-dimensional array into a one-dimensional array is called a scan, and a one-dimensional array into a two-dimensional array. Sorting can also be called scan or inverse scan.
  • Transform Coefficient A coefficient value generated after performing a transform, and in the present invention, a quantized transform coefficient level in which quantization is applied to the transform coefficient may also be included in the meaning of the transform coefficient.
  • Non-zero Transform Coefficient may mean a transform coefficient whose magnitude is not zero or a transform coefficient level whose magnitude is not zero.
  • Quantization Matrix A matrix used in a quantization or inverse quantization process to improve the subjective or objective image quality of an image.
  • the quantization matrix may also be called a scaling list.
  • Quantization Matrix Coefficient It may mean each element in the quantization matrix. Quantization matrix coefficients may also be referred to as matrix coefficients.
  • a predetermined matrix may mean a predetermined quantization matrix defined in the encoder and the decoder.
  • Non-default Matrix A non-default matrix, which is not defined in advance in the encoder and the decoder, may mean a quantization matrix transmitted / received by a user.
  • a coding component may be composed of two color difference component (Cb, Cr) coding tree blocks associated with one luminance component (Y) coding tree block.
  • Each coding tree unit may be split using one or more partitioning methods such as a quad tree and a binary tree to form sub-units such as a coding unit, a prediction unit, and a transform unit.
  • partitioning methods such as a quad tree and a binary tree to form sub-units such as a coding unit, a prediction unit, and a transform unit.
  • Coding Tree Block A term used to refer to any one of a Y coded tree block, a Cb coded tree block, and a Cr coded tree block.
  • FIG. 1 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.
  • the encoding apparatus 100 may be a video encoding apparatus or an image encoding apparatus.
  • the video may include one or more images.
  • the encoding apparatus 100 may sequentially encode one or more images of the video over time.
  • the encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, a transformer 130, and quantization.
  • the unit 140 may include an entropy encoder 150, an inverse quantizer 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.
  • the encoding apparatus 100 may encode the input image in an intra mode and / or an inter mode. In addition, the encoding apparatus 100 may generate a bitstream through encoding of an input image, and may output the generated bitstream.
  • the switch 115 When the intra mode is used as the prediction mode, the switch 115 may be switched to intra, and when the inter mode is used as the prediction mode, the switch 115 may be switched to inter.
  • the intra mode may mean an intra prediction mode
  • the inter mode may mean an inter prediction mode.
  • the encoding apparatus 100 may generate a prediction block for the input block of the input image. In addition, after the prediction block is generated, the encoding apparatus 100 may encode a residual between the input block and the prediction block.
  • the input image may be referred to as a current image that is a target of current encoding.
  • the input block may be referred to as a current block or an encoding target block that is a target of the current encoding.
  • the intra prediction unit 120 may use the pixel value of a block that is already encoded around the current block as a reference pixel.
  • the intra predictor 120 may perform spatial prediction using the reference pixel, and generate prediction samples for the input block through spatial prediction.
  • Intra prediction may refer to intra prediction.
  • the motion predictor 111 may search an area that best matches the input block from the reference image in the motion prediction process, and derive a motion vector using the searched area.
  • the reference picture may be stored in the reference picture buffer 190.
  • the motion compensator 112 may generate a prediction block by performing motion compensation using a motion vector.
  • the motion vector may be a two-dimensional vector used for inter prediction.
  • the motion vector may indicate an offset between the current picture and the reference picture.
  • inter prediction may mean inter prediction.
  • the motion predictor 111 and the motion compensator 112 may generate a prediction block by applying an interpolation filter to a part of a reference image when the motion vector does not have an integer value.
  • a motion prediction and motion compensation method of a prediction unit included in a coding unit based on a coding unit may be skip mode, merge mode, or AMVP mode. ), It may be determined which method is the current picture reference mode, and inter prediction or motion compensation may be performed according to each mode.
  • the current picture reference mode may mean a prediction mode using a pre-restored region in the current picture to which the encoding target block belongs.
  • a motion vector for the current picture reference mode may be defined to specify the pre-restored region. Whether the encoding target block is encoded in the current picture reference mode may be encoded using the reference image index of the encoding target block.
  • the subtractor 125 may generate a residual block using the difference between the input block and the prediction block.
  • the residual block may be referred to as the residual signal.
  • the transform unit 130 may generate a transform coefficient by performing transform on the residual block, and output a transform coefficient.
  • the transform coefficient may be a coefficient value generated by performing transform on the residual block.
  • the transform unit 130 may omit the transform on the residual block.
  • Quantized transform coefficient levels may be generated by applying quantization to the transform coefficients.
  • the quantized transform coefficient level may also be referred to as transform coefficient.
  • the quantization unit 140 may generate a quantized transform coefficient level by quantizing the transform coefficient according to the quantization parameter, and output the quantized transform coefficient level. In this case, the quantization unit 140 may quantize the transform coefficients using the quantization matrix.
  • the entropy encoder 150 may generate a bitstream by performing entropy encoding according to probability distribution on values calculated by the quantizer 140 or coding parameter values calculated in the encoding process. And output a bitstream.
  • the entropy encoder 150 may perform entropy encoding on information for decoding an image in addition to information on pixels of an image.
  • the information for decoding the image may include a syntax element.
  • the entropy encoder 150 may use an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • CABAC context-adaptive binary arithmetic coding
  • the entropy encoder 150 may perform entropy coding using a variable length coding (VLC) table.
  • VLC variable length coding
  • the entropy encoder 150 derives a binarization method of a target symbol and a probability model of a target symbol / bin, and then performs arithmetic coding using the derived binarization method or a probability model. You may.
  • the entropy encoder 150 may change a two-dimensional block shape coefficient into a one-dimensional vector form through a transform coefficient scanning method to encode a transform coefficient level.
  • a transform coefficient scanning method For example, upright scanning can be used to scan the coefficients of a block to change it into a one-dimensional vector.
  • a vertical scan that scans two-dimensional block shape coefficients in a column direction instead of an upright scan and a horizontal scan that scans two-dimensional block shape coefficients in a row direction may be used. That is, according to the size of the conversion unit and the intra prediction mode, it is possible to determine which scan method among upright scan, vertical scan and horizontal scan is used.
  • the coding parameter may include information derived from an encoding or decoding process as well as information encoded by an encoder and transmitted to a decoder, such as a syntax element, and may mean information required when encoding or decoding an image. have. For example, block size, block depth, block splitting information, unit size, unit depth, unit splitting information, quadtree split flag, binary tree split flag, binary tree split direction, intra prediction mode, Intra prediction direction, reference sample filtering method, prediction block boundary filtering method, filter tab, filter coefficient, inter prediction mode, motion information, motion vector, reference image index, inter prediction direction, inter prediction indicator, reference image list , Motion vector predictor, motion vector candidate list, motion merge mode, motion merge candidate, motion merge candidate list, skip mode, interpolation filter type, motion vector size, motion vector representation accuracy , Transform type, transform size, additional (secondary) transform availability information, residual signal presence information, coded block pattern, Coded Block Flag, Quantization Parameter, Quantization Matrix, In-loop Filter Information, In-loop Filter App
  • the residual signal may mean a difference between the original signal and the prediction signal.
  • the residual signal may be a signal generated by transforming a difference between the original signal and the prediction signal.
  • the residual signal may be a signal generated by transforming and quantizing the difference between the original signal and the prediction signal.
  • the residual block may be a residual signal in block units.
  • the encoded current image may be used as a reference image with respect to other image (s) to be processed later. Therefore, the encoding apparatus 100 may decode the encoded current image again and store the decoded image as a reference image. Inverse quantization and inverse transform on the encoded current image may be processed for decoding.
  • the quantized coefficients may be dequantized in inverse quantization unit 160.
  • the inverse transform unit 170 may perform an inverse transform.
  • the inverse quantized and inverse transformed coefficients may be summed with the prediction block via the adder 175.
  • a reconstructed block may be generated by adding the inverse quantized and inverse transformed coefficients and the prediction block.
  • the recovery block may pass through the filter unit 180.
  • the filter unit 180 may apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed block or the reconstructed image. Can be.
  • the filter unit 180 may be referred to as an in-loop filter.
  • the deblocking filter may remove block distortion generated at boundaries between blocks.
  • it may be determined whether to apply the deblocking filter to the current block based on the pixels included in the 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.
  • the sample adaptive offset may add an appropriate offset value to the pixel value to compensate for the encoding error.
  • the sample adaptive offset may correct the offset with the original image on a pixel basis for the deblocked image.
  • the pixels included in the image are divided into a predetermined number of areas, and then, the area to be offset is determined and the offset is applied to the corresponding area or the offset considering the edge information of each pixel. You can use this method.
  • the adaptive loop filter may perform filtering based on a comparison value between the reconstructed image and 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 the adaptive loop filter, a luminance signal may be transmitted for each coding unit (CU), and the shape and filter coefficient of the adaptive loop filter to be applied according to each block may vary. In addition, an adaptive loop filter of the same type (fixed form) may be applied regardless of the characteristics of the block to be applied.
  • the reconstructed block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.
  • FIG. 2 is a block diagram illustrating a configuration of a decoding apparatus according to an embodiment of the present invention.
  • the decoding apparatus 200 may be a video decoding apparatus or an image decoding apparatus.
  • the decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transform unit 230, an intra predictor 240, a motion compensator 250, and an adder 255.
  • the filter unit 260 may include a reference picture buffer 270.
  • the decoding apparatus 200 may receive a bitstream output from the encoding apparatus 100.
  • the decoding apparatus 200 may decode the bitstream in an intra mode or an inter mode.
  • the decoding apparatus 200 may generate a reconstructed image through decoding and output the reconstructed image.
  • the switch When the prediction mode used for decoding is an intra mode, the switch may be switched to intra. When the prediction mode used for decoding is an inter mode, the switch may be switched to inter.
  • the decoding apparatus 200 may obtain a reconstructed residual block from the input bitstream, and generate a prediction block. When the reconstructed residual block and the prediction block are obtained, the decoding apparatus 200 may generate a reconstruction block that is a decoding target block by adding the reconstructed residual block and the prediction block.
  • the decoding target block may be referred to as a current block.
  • the entropy decoder 210 may generate symbols by performing entropy decoding according to a probability distribution of the bitstream.
  • the generated symbols may include symbols in the form of quantized transform coefficient levels.
  • the entropy decoding method may be similar to the entropy encoding method described above.
  • the entropy decoding method may be an inverse process of the above-described entropy encoding method.
  • the entropy decoder 210 may change the one-dimensional vector form coefficient into a two-dimensional block form through a transform coefficient scanning method.
  • a transform coefficient scanning method For example, upright scanning can be used to scan the coefficients of a block to change it into a two-dimensional block shape.
  • vertical scan or horizontal scan may be used instead of upright scan. That is, according to the size of the conversion unit and the intra prediction mode, it is possible to determine which scan method among upright scan, vertical scan and horizontal scan is used.
  • the quantized transform coefficient level may be inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230.
  • a reconstructed residual block may be generated.
  • the inverse quantization unit 220 may apply a quantization matrix to the quantized transform coefficient level.
  • the intra predictor 240 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already decoded around the decoding target block.
  • the motion compensator 250 may generate a predictive block by performing motion compensation using a reference vector stored in the motion vector and the reference picture buffer 270.
  • the motion compensator 250 may generate a prediction block by applying an interpolation filter to a portion of the reference image.
  • a motion compensation method of a prediction unit included in a coding unit is selected from among skip mode, merge mode, AMVP mode, and current picture reference mode. It may be determined whether or not it is a method, and motion compensation may be performed according to each mode.
  • the current picture reference mode may mean a prediction mode using a pre-restored region in the current picture to which the decoding target block belongs.
  • a motion vector for the current picture reference mode may be used to specify the pre-restored region.
  • a flag or index indicating whether the decoding object block is a block encoded in the current picture reference mode may be signaled or inferred through a reference picture index of the decoding object block.
  • the current picture may exist at a fixed position (eg, the position at which the reference image index is 0 or the last position) in the reference image list for the decoding object block.
  • the reference picture index may be variably positioned in the reference picture list, and a separate reference picture index indicating the location of the current picture may be signaled for this purpose.
  • the reconstructed residual block and the prediction block may be added through the adder 255.
  • the generated block may pass through the filter unit 260.
  • the filter unit 260 may apply at least one or more of a deblocking filter, a sample adaptive offset, and an adaptive loop filter to the reconstructed block or the reconstructed image.
  • the filter unit 260 may output the reconstructed image.
  • the reconstructed picture may be stored in the reference picture buffer 270 and used for inter prediction.
  • 3 is a diagram schematically illustrating a division structure of an image when encoding and decoding an image. 3 schematically shows an embodiment in which one unit is divided into a plurality of sub-units.
  • a coding unit may be used in encoding and decoding.
  • the coding unit may mean a coding unit.
  • a unit may be a term that collectively refers to a block including 1) a syntax element and 2) image samples.
  • "division of a unit” may mean “division of a block corresponding to a unit”.
  • the block division information may include information about a depth of a unit. The depth information may indicate the number and / or degree of division of the unit.
  • the image 300 is sequentially divided into units of a largest coding unit (LCU), and a split structure is determined by units of an LCU.
  • the LCU may be used as the same meaning as a coding tree unit (CTU).
  • CTU coding tree unit
  • One unit may be hierarchically divided with depth information based on a tree structure. Each divided subunit may have depth information. Since the depth information indicates the number and / or degree of division of the unit, the depth information may include information about the size of the sub-unit.
  • the partition structure may mean a distribution of a coding unit (CU) in the LCU 310.
  • the CU may be a unit for efficiently encoding an image. This distribution may be determined according to whether to divide one CU into a plurality of CUs (two or more positive integers including 2, 4, 8, 16, etc.).
  • the horizontal and vertical sizes of the CUs created by splitting are either half of the horizontal and vertical sizes of the CU before splitting, or smaller than the horizontal and vertical sizes of the CU before splitting, depending on the number of splits.
  • Can have The partitioned CU may be recursively divided into a plurality of CUs having reduced horizontal and vertical sizes in the same manner.
  • the depth information may be information indicating the size of a CU and may be stored for each CU.
  • the depth of the LCU may be 0, and the depth of the smallest coding unit (SCU) may be a predefined maximum depth.
  • the LCU may be a coding unit having a maximum coding unit size as described above, and the SCU may be a coding unit having a minimum coding unit size.
  • the division starts from the LCU 310, and the depth of the CU increases by one each time the division reduces the horizontal and vertical sizes of the CU.
  • the CU that is not divided may have a size of 2N ⁇ 2N.
  • a 2N ⁇ 2N sized CU may be divided into a plurality of CUs having an N ⁇ N size. The magnitude of N decreases in half for every 1 increase in depth.
  • the horizontal and vertical sizes of the divided four coding units may each have a size of half compared to the horizontal and vertical sizes of the coding unit before being split. have.
  • the four divided coding units may each have a size of 16x16.
  • the coding unit is divided into quad-tree shapes.
  • the horizontal or vertical size of the divided two coding units may have a half size compared to the horizontal or vertical size of the coding unit before splitting.
  • the two split coding units may have a size of 16x32.
  • the two divided coding units may each have a size of 32x16.
  • an LCU having a depth of 0 may be 64 ⁇ 64 pixels. 0 may be the minimum depth.
  • An SCU of depth 3 may be 8x8 pixels. 3 may be the maximum depth.
  • a CU of 64x64 pixels, which is an LCU may be represented by a depth of zero.
  • a CU of 32x32 pixels may be represented by depth one.
  • a CU of 16 ⁇ 16 pixels may be represented by depth two.
  • a CU of 8x8 pixels, which is an SCU, may be represented by depth 3.
  • information on whether the CU is split may be expressed through split information of the CU.
  • the split information may be 1 bit of information. All CUs except the SCU may include partition information. For example, if the value of the partition information is 0, the CU may not be split. If the value of the partition information is 1, the CU may be split.
  • FIG. 4 is a diagram illustrating a form of a prediction unit PU that may be included in the coding unit CU.
  • a CU that is no longer split among CUs partitioned from the LCU may be divided into one or more prediction units (PUs). This process may also be called division.
  • PUs prediction units
  • the PU may be a basic unit for prediction.
  • the PU may be encoded and decoded in any one of a skip mode, an inter screen mode, and an intra screen mode.
  • the PU may be divided into various forms according to modes.
  • the coding unit may not be divided into prediction units, and the coding unit and the prediction unit may have the same size.
  • the skip mode there may be no partition in the CU.
  • the 2N ⁇ 2N mode 410 having the same size as the CU without splitting may be supported.
  • inter-screen mode eight divided forms in the CU can be supported.
  • 2Nx2N mode 410, 2NxN mode 415, Nx2N mode 420, NxN mode 425, 2NxnU mode 430, 2NxnD mode 435, nLx2N mode 440, and nRx2N mode 445 may be supported.
  • 2Nx2N mode 410 and NxN mode 425 may be supported.
  • One coding unit may be split into one or more prediction units, and one prediction unit may also be split into one or more prediction units.
  • the horizontal and vertical sizes of the divided four prediction units may each have a size of half compared to the horizontal and vertical sizes of the prediction unit before splitting. have.
  • the four divided prediction units may each have a size of 16x16.
  • the horizontal or vertical size of the divided two prediction units may have a half size compared to the horizontal or vertical size of the prediction unit before splitting.
  • the two divided prediction units may each have a size of 16x32.
  • the two divided prediction units may each have a size of 32x16.
  • FIG. 5 is a diagram illustrating a form of a transform unit (TU) that a coding unit CU may include.
  • TU transform unit
  • a transform unit may be a basic unit used for a process of transform, quantization, inverse transform, and inverse quantization in a CU.
  • the TU may have a shape such as a square shape or a rectangle.
  • the TU may be determined dependent on the size and / or shape of the CU.
  • a CU that is no longer split into CUs may be split into one or more TUs.
  • the partition structure of the TU may be a quad-tree structure.
  • one CU 510 may be divided one or more times according to the quadtree structure. If a CU is split more than once, it can be said to be split recursively.
  • one CU 510 may be configured with TUs of various sizes. Or, it may be divided into one or more TUs based on the number of vertical lines and / or horizontal lines dividing the CU.
  • the CU may be divided into symmetrical TUs and may be divided into asymmetrical TUs.
  • Information about the size / shape of the TU may be signaled for division into an asymmetric TU and may be derived from information about the size / shape of the CU.
  • the coding unit may not be divided into a transform unit, and the coding unit and the transform unit may have the same size.
  • One coding unit may be split into one or more transform units, and one transform unit may also be split into one or more transform units.
  • the horizontal and vertical sizes of the divided four transform units may each have a size of half compared to the horizontal and vertical sizes of the transform unit before splitting. have.
  • the divided four transform units may have a size of 16x16.
  • the horizontal or vertical size of the divided two transform units may be half the size of the transform unit before the split.
  • the two divided transform units may have a size of 16x32.
  • the divided two transform units may each have a size of 32x16.
  • the transform unit may be said to be divided into a binary-tree.
  • the residual block may be transformed using at least one of a plurality of pre-defined transformation methods.
  • Discrete Cosine Transform DCT
  • DST Discrete Sine Transform
  • KLT KLT
  • Which transformation method is applied to transform the residual block may be determined using at least one of inter prediction mode information of the prediction unit, intra prediction mode information, and size / shape of the transform block, and in some cases, indicates a transformation method.
  • the information may be signaled.
  • FIG. 6 is a diagram for explaining an embodiment of an intra prediction process.
  • the intra prediction mode may be a non-directional mode or a directional mode.
  • the non-directional mode may be a DC mode or a planar mode
  • the directional mode may be a prediction mode having a specific direction or angle, and the number may be one or more M.
  • the directional mode may be expressed by at least one of a mode number, a mode value, a mode number, and a mode angle.
  • the number of intra prediction modes may be one or more N including the non-directional and directional modes.
  • the number of intra prediction modes may vary depending on the size of the block.
  • the size of a block may be 67 pieces in case of 4x4 or 8x8, 35 pieces in case of 16x16, 19 pieces in case of 32x32, and 7 pieces in case of 64x64.
  • the number of intra prediction modes may be fixed to N regardless of the size of the block. For example, it may be fixed to at least one of 35 or 67 regardless of the size of the block.
  • the number of intra prediction modes may vary depending on the type of color component. For example, the number of prediction modes may vary depending on whether the color component is a luma signal or a chroma signal.
  • Intra picture encoding and / or decoding may be performed using sample values or encoding parameters included in neighboring reconstructed blocks.
  • a step of checking whether samples included in neighboring reconstructed blocks are available as reference samples of the encoding / decoding target block may be performed. If there are samples that are not available as reference samples of the block to be encoded / decoded, at least one or more of the samples included in the neighboring reconstructed blocks are used to copy and / or sample values to samples that are not available as reference samples. Interpolation may be used as a reference sample of a block to be encoded / decoded.
  • a filter may be applied to at least one of a reference sample or a prediction sample based on at least one of an intra prediction mode and a size of an encoding / decoding target block.
  • the encoding / decoding target block may mean a current block and may mean at least one of a coding block, a prediction block, and a transform block.
  • the type of filter applied to the reference sample or the prediction sample may be different according to at least one or more of the intra prediction mode or the size / shape of the current block.
  • the type of filter may vary depending on at least one of the number of filter taps, a filter coefficient value, or a filter strength.
  • the non-directional planar mode In the intra prediction mode, the non-directional planar mode generates a predicted block of a target encoding / decoding block.
  • the upper right reference sample of the current block may be generated as a weighted sum of the lower left reference samples of the current block.
  • the non-directional DC mode may be generated as an average value of upper reference samples of the current block and left reference samples of the current block when generating the prediction block of the target coding / decoding block.
  • one or more upper rows and one or more left columns adjacent to the reference sample in the encoding / decoding block may be filtered using reference sample values.
  • the prediction block may be generated by using the upper right and / or lower left reference samples, and the directional modes may have different directions.
  • Real interpolation may be performed to generate predictive sample values.
  • the intra prediction mode of the current prediction block may be predicted from the intra prediction mode of the prediction block existing around the current prediction block.
  • the current prediction is performed by using predetermined flag information.
  • Information that the intra prediction modes of the block and the neighboring prediction block are the same may be transmitted. If the intra prediction modes of the current prediction block and the neighboring prediction block are different, entropy encoding is performed to perform the intra prediction mode of the encoding / decoding target block. Information can be encoded.
  • FIG. 7 is a diagram for explaining an embodiment of an inter prediction process.
  • the rectangle illustrated in FIG. 7 may represent an image (or a picture).
  • arrows in FIG. 7 may indicate prediction directions. That is, the image may be encoded and / or decoded according to the prediction direction.
  • Each picture may be classified into an I picture (Intra Picture), a P picture (U-predictive Picture), a B picture (Bi-predictive Picture), and the like.
  • Each picture may be encoded and decoded according to an encoding type of each picture.
  • the image to be encoded When the image to be encoded is an I picture, the image may be encoded in the picture with respect to the image itself without inter prediction.
  • the image to be encoded When the image to be encoded is a P picture, the image may be encoded through inter prediction or motion compensation using the reference image only in the forward direction. If the image to be encoded is a B picture, it may be encoded through inter prediction or motion compensation using reference pictures in both forward and reverse directions, and inter prediction or motion using the reference picture in one of the forward and reverse directions. Can be coded through compensation.
  • the encoder may perform inter prediction or motion compensation, and the decoder may perform motion compensation corresponding thereto.
  • the pictures of the P picture and the B picture that are encoded and / or decoded using the reference picture may be regarded as a picture using inter prediction.
  • Inter prediction or motion compensation may be performed using a reference picture and motion information.
  • inter prediction may use the skip mode described above.
  • the reference picture may be at least one of a previous picture of the current picture or a subsequent picture of the current picture.
  • the inter prediction may perform prediction on a block of the current picture based on the reference picture.
  • the reference picture may mean an image used for prediction of the block.
  • an area in the reference picture may be specified by using a reference picture index (refIdx) indicating a reference picture, a motion vector to be described later, and the like.
  • the inter prediction may select a reference picture corresponding to the current block within the reference picture and the reference picture, and generate a prediction block for the current block using the selected reference block.
  • the current block may be a block targeted for current encoding or decoding among blocks of the current picture.
  • the motion information may be derived during inter prediction by each of the encoding apparatus 100 and the decoding apparatus 200.
  • the derived motion information may be used to perform inter prediction.
  • the encoding apparatus 100 and the decoding apparatus 200 use encoding information and / or decoding efficiency by using motion information of a reconstructed neighboring block and / or motion information of a collocated block (col block).
  • the call block may be a block corresponding to a spatial position of a block to be encoded / decoded in a collocated picture (col picture).
  • the reconstructed neighboring block may be a block within the current picture and may be a block that is already reconstructed through encoding and / or decoding.
  • the reconstruction block may be a neighboring block adjacent to the encoding / decoding object block and / or a block located at an outer corner of the encoding / decoding object block.
  • the block located at the outer corner of the encoding / decoding target block is a block vertically adjacent to a neighboring block horizontally adjacent to the encoding / decoding target block or a block horizontally adjacent to a neighboring block vertically adjacent to the encoding / decoding target block. Can be.
  • Each of the encoding apparatus 100 and the decoding apparatus 200 may determine a block existing at a position corresponding to a block to be encoded / decoded spatially within a call picture, and determines a predetermined relative position based on the determined block. Can be.
  • the predefined relative position may be a position inside and / or outside of a block existing at a position corresponding to a block to be encoded / decoded spatially.
  • each of the encoding apparatus 100 and the decoding apparatus 200 may derive a call block based on the determined predetermined relative position.
  • the call picture may be one picture among at least one reference picture included in the reference picture list.
  • the method of deriving the motion information may vary according to the prediction mode of the encoding / decoding target block.
  • a prediction mode applied for inter prediction there may be an advanced motion vector prediction (AMVP) and a merge mode.
  • AMVP advanced motion vector prediction
  • the merge mode may be referred to as a motion merge mode.
  • each of the encoding apparatus 100 and the decoding apparatus 200 uses a motion vector of the reconstructed neighboring block and / or a motion vector of the call block. create a motion vector candidate list.
  • the motion vector of the reconstructed neighboring block and / or the motion vector of the call block may be used as a motion vector candidate.
  • the motion vector of the call block may be referred to as a temporal motion vector candidate
  • the motion vector of the reconstructed neighboring block may be referred to as a spatial motion vector candidate.
  • the bitstream generated by the encoding apparatus 100 may include a motion vector candidate index. That is, the encoding apparatus 100 may generate a bitstream by entropy encoding a motion vector candidate index.
  • the motion vector candidate index may indicate an optimal motion vector candidate selected from the motion vector candidates included in the motion vector candidate list.
  • the motion vector candidate index may be transmitted from the encoding apparatus 100 to the decoding apparatus 200 through a bitstream.
  • the decoding apparatus 200 may entropy decode the motion vector candidate index from the bitstream, and select the motion vector candidate of the decoding target block from the motion vector candidates included in the motion vector candidate list using the entropy decoded motion vector candidate index. .
  • the encoding apparatus 100 may calculate a motion vector difference (MVD) between the motion vector of the encoding target block and the motion vector candidate, and may entropy encode the MVD.
  • the bitstream may include entropy coded MVD.
  • the MVD may be transmitted from the encoding apparatus 100 to the decoding apparatus 200 through a bitstream.
  • the decoding apparatus 200 may entropy decode the received MVD from the bitstream.
  • the decoding apparatus 200 may derive the motion vector of the decoding object block through the sum of the decoded MVD and the motion vector candidate.
  • the bitstream may include a reference picture index and the like indicating a reference picture.
  • the reference image index may be entropy encoded and transmitted from the encoding apparatus 100 to the decoding apparatus 200 through a bitstream.
  • the decoding apparatus 200 may predict the motion vector of the decoding object block using the motion information of the neighboring block, and may derive the motion vector of the decoding object block using the predicted motion vector and the motion vector difference.
  • the decoding apparatus 200 may generate a prediction block for the decoding target block based on the derived motion vector and the reference image index information.
  • the merge mode may mean merging of motions for a plurality of blocks.
  • the merge mode may mean applying motion information of one block to other blocks.
  • each of the encoding apparatus 100 and the decoding apparatus 200 may generate a merge candidate list using the motion information of the reconstructed neighboring block and / or the motion information of the call block.
  • the motion information may include at least one of 1) a motion vector, 2) a reference picture index, and 3) an inter prediction prediction indicator.
  • the prediction indicator may be unidirectional (L0 prediction, L1 prediction) or bidirectional.
  • the merge mode may be applied in a CU unit or a PU unit.
  • the encoding apparatus 100 may entropy-code predetermined information to generate a bitstream and then transmit the encoded stream to the decoding apparatus 200.
  • the bitstream may include predefined information.
  • the predefined information includes: 1) a merge flag, which is information indicating whether to perform a merge mode for each block partition, and 2) which one of neighboring blocks adjacent to an encoding target block is merged with. It may include a merge index that is information about the merge.
  • the neighboring blocks of the encoding object block may include a left neighboring block of the encoding object block, an upper neighboring block of the encoding object block, and a temporal neighboring block of the encoding object block.
  • the merge candidate list may represent a list in which motion information is stored.
  • the merge candidate list may be generated before the merge mode is performed.
  • the motion information stored in the merge candidate list includes motion information of neighboring blocks adjacent to the encoding / decoding target block, motion information of a block corresponding to the encoding / decoding target block in the reference image, and motion already existing in the merge candidate list. At least one or more of the new motion information and the zero merge candidate generated by the combination of the information.
  • the motion information of the neighboring block adjacent to the encoding / decoding target block is a spatial merge candidate and the motion information of the block corresponding to the encoding / decoding target block in the reference image is a temporal merge candidate. It may be referred to as).
  • the skip mode may be a mode in which motion information of a neighboring block is applied to an encoding / decoding target block as it is.
  • the skip mode may be one of modes used for inter prediction.
  • the encoding apparatus 100 may entropy-encode information on which block motion information is to be used as the motion information of the encoding target block and transmit the information to the decoding apparatus 200 through the bitstream.
  • the encoding apparatus 100 may not transmit other information to the decoding apparatus 200.
  • the other information may be syntax element information.
  • the syntax element information may include at least one of motion vector difference information, a coding block flag, and a transform coefficient level.
  • the residual signal generated after intra-picture or inter-screen prediction may be converted into a frequency domain through a conversion process as part of a quantization process.
  • the first transform to be performed may use various DCT and DST kernels in addition to DCT type 2 (DCT-II), and these transform kernels perform a 1D transform on a horizontal and / or vertical direction with respect to a residual signal.
  • the transformation may be performed by a separate transform, each performed, or the transformation may be performed by a 2D non-separable transform.
  • the DCT and DST types used for the conversion may be adaptively used for 1D conversion of DCT-V, DCT-VIII, DST-I, and DST-VII in addition to DCT-II as shown in the following table.
  • a transform set may be configured to derive the DCT or DST type used for the transform.
  • the intra / prediction mode of the current encoding / decoding target block in the sub / decoder and the Transforms and / or inverse transforms may be performed using the transforms included in the corresponding transform set.
  • the transform set may not be entropy encoded / decoded but may be defined according to the same rules in the sub / decoder.
  • entropy encoding / decoding indicating which transform is used among transforms belonging to the corresponding transform set may be performed.
  • the block size is 64x64 or less
  • three transform sets are constructed according to the intra prediction mode as shown in the example of Figure 2, and each of the three transforms is used as a horizontal transform and a vertical transform.
  • encoding efficiency can be improved by encoding / decoding a residual signal using an optimal transform method.
  • truncated Unary binarization may be used to entropy encode / decode information on which of three transforms belonging to one transform set.
  • information indicating which transform among transforms belonging to a transform set is used for at least one of a vertical transform and a horizontal transform may be entropy encoded / decoded.
  • the encoder may perform a secondary transform in order to increase energy concentration of transformed coefficients as shown in the example of FIG. 9.
  • Secondary transformations may also perform discrete transformations that perform one-dimensional transformations respectively in the horizontal and / or vertical directions, or may perform two-dimensional non-separated transformations, and used transformation information may be transmitted or present and surrounding. It may be implicitly derived from the encoder / decoder according to the encoding information.
  • a transform set for a secondary transform may be defined, such as a primary transform, and the transform set may be defined according to the same rules in the encoder / decoder rather than entropy encoding / decoding.
  • information indicating which transform is used among the transforms belonging to the corresponding transform set may be transmitted, and may be applied to at least one or more of the residual signal through intra prediction or inter prediction.
  • At least one of the number or type of transform candidates is different for each transform set, and at least one of the number or type of transform candidates is the position, size, partition type, prediction mode (intra / inter mode) of a block (CU, PU, TU, etc.). ) Or directionality / non-direction of the intra prediction mode.
  • the second inverse transform may be performed according to whether the second inverse transform is performed, and the first inverse transform may be performed according to whether the first inverse transform is performed on the result of the second inverse transform.
  • the above-described first-order transform and second-order transform may be applied to at least one or more signal components of luminance / chromatic components or according to an arbitrary coding block size / shape, and may be used or used in any coding block.
  • An index indicating a / second order transform may be entropy encoded / decoded or implicitly derived from the encoder / decoder according to at least one of current / peripheral encoded information.
  • the residual signal generated after intra-picture or inter-screen prediction is subjected to entropy encoding after the first and / or second-order transform is completed, and then subjected to quantization, where the quantized transform coefficient is shown in FIG.
  • the image may be scanned in a diagonal, vertical, or horizontal direction based on at least one of an intra prediction mode or a minimum block size / shape.
  • the entropy decoded quantized transform coefficients may be inverse scanned and arranged in a block form, and at least one of inverse quantization or inverse transform may be performed on the block.
  • at least one of a diagonal scan, a horizontal scan, and a vertical scan may be performed as a reverse scanning method.
  • the residual signal for the 8x8 block is three scanning order methods illustrated in FIG. 10 for each of 4 4x4 subblocks after the first order, second order transform, and quantization.
  • Entropy encoding may be performed while scanning the quantized transform coefficients according to at least one of the following. It is also possible to entropy decode while inversely scanning the quantized transform coefficients.
  • the inverse scanned quantized transform coefficients become transform coefficients after inverse quantization, and at least one of a second order inverse transform or a first order inverse transform may be performed to generate a reconstructed residual signal.
  • one block may be split as shown in FIG. 11 and an indicator corresponding to the split information may be signaled.
  • the split information may be at least one of a split flag (split_flag), a quad / binary tree flag (QB_flag), a quadtree split flag (quadtree_flag), a binary tree split flag (binarytree_flag), and a binary tree split type flag (Btype_flag).
  • split_flag is a flag indicating whether a block is divided
  • QB_flag is a flag indicating whether a block is divided into quadtrees or binary trees
  • quadtree_flag is a flag indicating whether a block is divided into quadtrees
  • binarytree_flag may be a flag indicating whether a block is divided into a binary tree form
  • Btype_flag may be a flag indicating a vertical or horizontal division when the block is divided into a binary tree form.
  • the division flag may be 0, indicating that the partition is not divided.
  • the quad / binary tree flag 0 may indicate quadtree division, and 1, binary tree division. This may indicate quadtree splitting.
  • the binary tree partition type flag 0 indicates horizontal division, 1 indicates vertical division, and 0 indicates vertical division, and 1 indicates horizontal division.
  • the split information of FIG. 11 may be derived by signaling at least one of quadtree_flag, binarytree_flag, and Btype_flag as shown in Table 3 below.
  • the split information of FIG. 11 may be derived by signaling at least one of split_flag, QB_flag, and Btype_flag as shown in Table 2 below.
  • the splitting method may be split only into quadtrees or only binary trees depending on the size / shape of the block.
  • the split_flag may mean a flag indicating whether quadtree or binary tree is split.
  • the size / shape of the block may be derived according to the depth information of the block, and the depth information may be signaled.
  • the block When the size of the block falls within a predetermined range, the block may be divided into quadtrees only.
  • the predetermined range may be defined as at least one of the maximum block size or the minimum block size that can be divided only by the quadtree.
  • Information indicating the size of the maximum / minimum block for which the quadtree type division is allowed may be signaled through a bitstream, and the corresponding information may be signaled in units of at least one of a sequence, a picture parameter, or a slice (segment). have.
  • the size of the maximum / minimum block may be a fixed size preset in the encoder / decoder. For example, when the size of the block corresponds to 256x256 to 64x64, the block may be divided into quadtrees only.
  • the split_flag may be a flag indicating whether the quadtree is split.
  • the predetermined range may be defined as at least one of the maximum block size or the minimum block size that can be divided only by the binary tree.
  • the information indicating the size of the maximum / minimum block that allows the division of the binary tree type may be signaled through a bitstream, and the corresponding information may be signaled in units of at least one of a sequence, a picture parameter, or a slice (segment). have.
  • the size of the maximum / minimum block may be a fixed size preset in the encoder / decoder. For example, when the size of the block corresponds to 16x16 to 8x8, it may be possible to divide only into a binary tree.
  • the split_flag may be a flag indicating whether a binary tree is split.
  • the partitioned block After the one block is partitioned into a binary tree, when the partitioned block is further partitioned, it may be partitioned only into a binary tree.
  • the one or more indicators may not be signaled.
  • the quadtree based splitting may be possible.
  • a block corresponding to a leaf node according to the final splitting result of the block may be set as one coding / decoding unit. That is, when a block having an arbitrary size or any shape is no longer divided, encoding / decoding may be performed for the block. For example, prediction (eg, inter-picture prediction or intra-picture prediction) and transformation for blocks having arbitrary sizes and shapes corresponding to binary leaf nodes generated by quadtree and / or binary tree splitting. The encoding / decoding process may be performed.
  • FIG. 12 is a diagram illustrating a coding / decoding unit according to a partition type of a block.
  • the solid line is for distinguishing blocks generated by quadtree splitting
  • the dotted line is for distinguishing blocks generated by binary tree splitting.
  • the last split node may be defined as a binary leaf node through actual and dotted lines.
  • the block corresponding to the binary leaf node may be encoded / decoded in the size or shape of the block corresponding to the leaf node without further splitting according to the prediction subblock or the transform subblock (for example, intra prediction or inter prediction, Primary transform, secondary transform, quantization or entropy encoding / decoding, etc.) may be performed.
  • the prediction subblock or the transform subblock for example, intra prediction or inter prediction, Primary transform, secondary transform, quantization or entropy encoding / decoding, etc.
  • the partition type of the block based on the quadtree and / or the binary tree will be defined as a block structure.
  • the block structure for each color component may be the same, and the block structure for each color component may be different.
  • the block structure may be the same for the luminance and chrominance components or may differ for the luminance and the chrominance components according to an arbitrary encoding parameter condition.
  • the same block structure of the luminance component and the chrominance component may mean that the chrominance component inherits the block structure information determined for the luminance component or the luminance component inherits the block structure determined for the chrominance component.
  • luminance and color difference signals may have different block structures or have the same block structure in an intra frame or an intra slice.
  • whether the same or different block structures for luminance and chrominance components constituting an intra picture or an intra picture slice are set equally or differently is determined after obtaining a rate distortion cost function for each block structure.
  • the method may be determined through an encoding process of selecting a block structure having a minimum cost function.
  • the encoding apparatus may entropy encode information indicating whether to use the same block structure for each color component, and transmit the information to the decoding apparatus.
  • the information may be a sequence level (eg, Sequence Parameter Set, SPS), picture level (eg, Picture Parameter Set, PPS), slice header, maximum coding unit (LCT or CTU), or coding unit (or encoding). Block).
  • encoding parameter information indicating whether a block structure for each color component is the same for an intra picture, an intra picture, an inter picture, or an inter picture slice may be transmitted through an SPS or a PPS.
  • encoding parameter information indicating whether a block structure for each color component is the same for an intra-picture slice or an inter-picture slice may be transmitted through a slice header.
  • encoding parameter information indicating whether the block structure for each color component is the same for the maximum coding unit or the coding unit may be transmitted in the maximum coding unit or the coding unit.
  • the encoding / decoding object block When the encoding / decoding object block satisfies a predetermined condition, block division may not be allowed for the encoding / decoding object block. Accordingly, encoding / decoding of block division information may be omitted for blocks that satisfy a predetermined condition.
  • the predetermined condition is related to at least one of the size of the block, the shape of the block, or the splitting depth of the block, and indicates the size, shape, or depth of the block in which quadtree and / or binary tree splitting is allowed or not allowed. Can be.
  • the size or shape of the block may be a reference value indicating the size or shape of the block where quadtree and / or binary tree splitting is allowed or disallowed, and the block depth is such that quadtree and / or binary tree splitting is allowed or not allowed. It may represent a threshold of the block depth.
  • the block depth may be a variable that increases by 1 as quadtree and / or binary tree splitting is performed.
  • the block splitting information may include information indicating whether to split a block (eg, split_flag), information indicating whether to split a quadtree (eg, Quadtree_flag or QB_flag), information indicating whether a binary tree is split (eg, Binarytree_flag or QB_flag) or binary tree splitting. It may include at least one of information (eg, Btype_flag) indicating the type.
  • the information related to the binary tree splitting may be used for a block having a size smaller than or equal to the reference value. For example, encoding / decoding of a quad / binary tree flag (QB_flag), a binary tree split flag (binaraytree_flag), or a binary tree split type flag (Btype_flag) may be omitted. If encoding / decoding for the quad / binary tree flag QB_flag is omitted, the split flag fla_flag may be used for indicating whether a block is quadtree split.
  • the present invention is not limited to the example described above, and may be configured not to allow quadtree splitting for blocks satisfying a predetermined condition.
  • encoding / decoding of information related to quadtree splitting eg, quad / binarytree flag QB_flag or quadtree_flag
  • quad / binarytree flag QB_flag e.g. quad / binarytree flag QB_flag or quadtree_flag
  • the split flag flag may be used for indicating whether a block is binary tree split.
  • no form of division may be allowed for a block satisfying a predetermined condition.
  • no segmentation information may be encoded / decoded for a block that satisfies a predetermined condition.
  • FIG. 13 is a flowchart illustrating a process of determining whether to decode information related to binary tree splitting. For convenience of description, in the present embodiment, it is assumed that binary tree based partitioning is not allowed for a block satisfying a predetermined condition.
  • the information related to the predetermined condition may include at least one of the size, shape or division depth of the block.
  • the predetermined condition is based on information related to the predetermined condition, whether the size of the block is greater than or equal to the threshold, whether the size of the block is less than or equal to the threshold, whether the type of the block is a preset type, or the depth of the block is greater than or equal to the threshold Or whether the depth of the block is equal to or less than a threshold value.
  • the information related to the predetermined condition may be predefined in the encoder and the decoder.
  • the information related to the predetermined condition may indicate at least one of the size of the block, the shape of the block, or the depth of the block defining the predetermined condition.
  • the size / shape or split depth of a block from which encoding / decoding of split information is omitted may have a fixed value predefined in the encoder and the decoder.
  • the information related to the predetermined condition may be variably determined by encoding parameters indicating the size / shape of the encoding / decoding target block or the division depth of the block.
  • information related to a predetermined condition may be encoded / decoded in units of a sequence level, a picture level, a slice header, or a predetermined coding region.
  • the predetermined coding region has a size / shape smaller than a picture or slice currently encoded / decoded, and has a size or a random block (eg, a maximum size) included in a maximum coding unit (LCU or CTU) or a maximum coding unit.
  • LCU or CTU maximum coding unit
  • a block generated by quadtree dividing the coding unit may be expressed in the form of the maximum size of the block and / or the minimum size of the block, or may be expressed in the form of the maximum depth of the block and / or the minimum size of the block.
  • the encoder determines a block structure by comparing a rate distortion between a quadtree and binary tree based encoding result and a quadtree based encoding result, and determines a block structure according to the determined block structure.
  • information related to a predetermined condition may be encoded.
  • the decoder may decode information related to a predetermined condition from which the binary tree split is not allowed from the bitstream, and determine whether the current block satisfies the predetermined condition based on the decoded information.
  • the decoder may determine whether the current block satisfies a predetermined condition (S1302). As a result of determination, when the current block satisfies a predetermined condition, decoding of information related to binary tree splitting for the current block may be omitted.
  • information related to binary tree splitting for the current block may be decoded according to whether the current block is quadtree split (S1303). For example, if quadtree splitting is not performed for the current block, information related to binary tree splitting for the current block may be decoded.
  • the size, shape, or depth of the current block corresponds to the size, shape, or depth of the block according to a predetermined condition, it may be determined whether to block / decode the block partition information for the current block.
  • information indicating whether block division is allowed for a block having any size, any shape, or any depth may be encoded / decoded.
  • the information indicating whether block division is allowed may include information indicating whether a quadtree split exists (eg, NoPresent_Quadtree_flag) or information indicating whether binary tree split exists (eg, NoPresent_Binarytree_flag).
  • block splitting may not be allowed, not only for the block but for the lower block, as well.
  • the lower block may include at least one of a block having a smaller size than the block, a block having the same shape as the block, a block having a larger division depth than the block, or a lower node block of the block.
  • information related to binary tree splitting eg, information indicating whether or not a binary tree splitting is performed (eg, quad / binary tree flag QB_flag), binary tree splitting flag binaraytree_flag, or binary tree splitting type flag Btype_flag Coding / decoding of at least one) may be omitted.
  • the predetermined coding region has a size / shape smaller than a picture or slice currently encoded / decoded, and has a size or a random block (eg, a maximum size) included in a maximum coding unit (LCU or CTU) or a maximum coding unit. And a block generated by quadtree dividing the coding unit.
  • the encoder determines a block structure by comparing rate distortion between a result of performing quadtree and binary tree-based encoding on a block of arbitrary size / shape and a result of performing quadtree-based encoding. According to the determined block structure, it is possible to determine whether to encode information indicating whether binary tree splitting is allowed.
  • Information indicating whether block division is allowed may be hierarchically encoded / decoded. For example, when the information signaled for the upper block indicates that block division is allowed, information indicating whether block division is allowed again for the lower block generated by dividing the upper block may be encoded / decoded.
  • information about the size, shape, or depth of a block in which information indicating whether block division is allowed may be signaled may be encoded / decoded at a higher level.
  • information about a block size, shape, or depth may be transmitted through at least one of a sequence level, a picture level, or a slice header.
  • information indicating whether block division is allowed may be signaled only for a block corresponding to a block size, a shape, or a depth signaled through a higher level or higher blocks thereof.
  • FIG. 14 is a flowchart illustrating a process of determining whether to decode information related to binary tree partitioning. For convenience of description, in the present embodiment, it is assumed that the information about whether binary tree split is allowed is signaled for the current block only.
  • decoding of the binary tree splitting information on the current block may be omitted.
  • the binary tree partitioning information may not be decoded for the lower block generated by the quadtree partitioning of the current block.
  • information related to binary tree splitting may be decoded according to whether the current block is quadtree splitted (S1403). For example, if quadtree splitting is not performed for the current block, information related to binary tree splitting for the current block may be decoded. In addition, even for a lower block generated by quadtree or binary tree splitting, information related to binary tree splitting may be decoded according to whether the lower block is quadtree splitted.
  • 15 to 17 are diagrams for explaining an example in which binary tree splitting is no longer performed on a block having a predetermined size or less.
  • the size / shape of the maximum coding unit is 128x128, and through the rate-distortion optimization performed by the encoding apparatus, only quadtree splitting exists without binary tree splitting in the maximum coding unit. do.
  • the encoder may encode and transmit information about a size (eg, information indicating 128 ⁇ 128), a shape, or a depth of a block in which binary tree splitting is not allowed, to be transmitted to the decoding apparatus.
  • the decoding apparatus may decode information about a size of a block in which binary tree splitting is not performed from the bitstream, and may not further decode information related to binary tree splitting for a block smaller than or equal to the size indicated by the decoded information.
  • the encoding apparatus may encode and transmit information indicating that binary tree segmentation is not allowed for an arbitrary size block in which binary tree segmentation is not performed.
  • the information may be a 1-bit flag (eg, NoPresent_BinaryTree_flag), but is not limited thereto.
  • NoPresent_BinaryTree_flag is signaled as being signaled.
  • Figs. 16 and 17 it is shown that the value of the flag is set to 1 when the quadtree or binary tree splitting is performed, otherwise the value of the flag is set to 0, but the reverse setting is also possible.
  • Embodiments relating to disallowing block division can be applied for the luminance component and the chrominance component.
  • the information indicating that the block division is not allowed (for example, information indicating the block size, shape or size, or the information indicating whether the block division is allowed, etc., for which the block division is not allowed) is applied to the luminance component and the chrominance component. It may be applied in common or may be signaled separately for the luminance component and the chrominance component.
  • entropy encoding / decoding the information truncated rice binarization method, K-th order Exp_Golomb binarization method, limited K-th order Exp_Golomb binarization method At least one entropy encoding method may be used, such as a fixed-length binarization method, a unary binarization method, or a truncated unary binarization method.
  • the information may be finally encoded / decoded using CABAC (ae (v)).
  • the encoding information about the residual signal may include information related to the transformation technique of the residual signal (for example, the transformation technique used for the first-order and second-order transformation), the information for scanning the quantized transformation coefficient, and the like.
  • the quantized transform coefficient may mean that transform (eg, primary transform and secondary transform) and quantization are performed on the residual signal generated after intra prediction.
  • encoding information about the current block may be derived from neighboring blocks around the current block based on the intra prediction mode of the current block.
  • encoding information about the current block may be derived from neighboring blocks around the current block based on motion related information of the current block.
  • FIGS. 18 and 19 when the current block is encoded through intra prediction and when the current block is encoded through inter prediction, encoding information about a residual signal of the current block may be obtained from neighboring blocks. Let's take a closer look at derivation.
  • 18 is a flowchart illustrating a process of determining whether to encode encoding information about a residual signal of a current block from a neighboring block when the current block is encoded by intra prediction.
  • the neighboring block of the current block may mean a block included in the same picture as the current block (ie, the current picture) and encoded / decoded before the current block.
  • the neighboring block may include a block adjacent to the current block among blocks that are encoded / decoded before the current block.
  • a block adjacent to the current block is a block adjacent to a boundary of the current block (for example, a left boundary or a top boundary) and a block adjacent to a corner of the current block (for example, an upper left corner, an upper right corner, or a lower left corner). It may include at least one.
  • the encoding information on the residual signal of the neighboring block may be derived as the encoding information of the current block (S1802).
  • at least one of the first transform, the second transform, or the scanning information of the current block may be derived from a neighboring block having the same intra prediction mode as the current block.
  • the residual signal of the current coding block may also skip the first transform.
  • the primary transform of the current block is skipped, the secondary transform of the current block may also be skipped.
  • the first transform for the horizontal and vertical directions of the current block is applied to the neighboring block having the same intra prediction mode as the current block. May be set equal to Accordingly, encoding / decoding of encoding information (eg, transformation information (or transformation index) for the horizontal and vertical directions used for the primary transformation) required for the primary transformation of the residual signal of the current block may be omitted.
  • encoding information eg, transformation information (or transformation index) for the horizontal and vertical directions used for the primary transformation
  • the intra prediction mode of the current block is determined as mode 23 and at least one intra prediction mode of at least one neighboring block adjacent to the current block is also determined as mode 23, the intra prediction mode is determined to be 23.
  • the first order transform applied to the residual signal of the neighboring block of No. 23 may be used as the first order transform of the residual signal of the current block.
  • the residual signal of the neighboring block having the same intra prediction mode as the current block is first transformed by DCT-V in the horizontal direction and DST-VII in the vertical direction
  • the first transform of the residual signal of the current block is also horizontal.
  • the direction can be carried out by DCT-V and the vertical direction by DST-VII.
  • the secondary transform of the current block may be set equal to the secondary transform applied to the neighboring block having the same intra prediction mode as the current block.
  • encoding / decoding of encoding information eg, transform information (or transform index) for the secondary transform
  • encoding information eg, transform information (or transform index) for the secondary transform
  • the intra prediction mode of the current block is determined to be mode 35, and at least one intra prediction mode of at least one neighboring block adjacent to the current block is also determined to be mode 35, the intra prediction mode is determined to be 35.
  • the secondary transform applied to the residual signal of the neighboring block of number 35 may be used as the secondary transform of the residual signal of the current block.
  • the scanning order of the current block may be set to be the same as the scanning order of the neighboring block having the same intra prediction mode as the current block. Accordingly, encoding information (e.g., diagonal, horizontal, or vertical), which is required for scanning quantized transformed coefficients for the residual signal of the current block, means scanning order. Encoding / decoding of at least one scanning order index of the vertical direction may be omitted.
  • two or more of the first transform, the second transform, and the scanning order of the neighboring block having the same intra prediction mode as the current block may be derived as encoding information of the current block.
  • the first and second transforms of the neighboring block having the same intra prediction mode as the current block may be applied to the current block, or the first and second transform orders of the neighboring blocks or the second order and scanning sequences of the neighboring blocks may be applied. Applicable to the current block. Alternatively, it is also possible to apply the first transform, the second transform and the scanning order of the neighboring blocks having the same intra prediction mode as the current block to the current block.
  • encoding information of the current block may be derived based on the priority of the neighboring blocks. For example, if the left neighboring block and the top neighboring block of the current block have the same intra prediction mode as the current block, and the priority of the left neighboring block is higher than that of the upper neighboring block, the encoding information of the current block is the left neighboring. It may be derived based on the encoding information of the block.
  • information for identifying a neighboring block used to derive encoding information of the current block may be signaled through a bitstream.
  • encoding information about the residual signal of the current block may be derived from the neighboring block indicated by the information for identifying the neighboring block (for example, the neighboring block index).
  • entropy encoding / decoding of the encoding information on the residual signal of the current block may be performed (S1803).
  • the transform information (or transform index) for the primary transform of the current block, the transform information (or transform index) for the secondary transform, or At least one of the information (or the scanning index) about the scanning order may be entropy encoded / decoded.
  • the encoding information for the residual signal of the current block is derived from the neighboring block, provided that the intra prediction mode of the current block and the intra prediction mode of the neighboring block are the same.
  • the first encoding information and the second encoding information may include at least one of information on the first transform, information on the second transform, and a scanning order.
  • the secondary transform of the current block is applied to the neighboring block using the same primary transform as the current block.
  • the encoding / decoding of the encoding information necessary to quadratic transform the residual signal for the current block may be omitted.
  • the first-order transform on the residual signal of the current block is determined as DCT-V in the horizontal direction and DST-VII in the vertical direction.
  • the secondary transform of the neighboring block to which the same primary transform is applied as the current block is applied. It can be applied as a quadratic transformation of a block.
  • the scanning order of neighboring blocks using the same primary transform as the primary transform of the current block may be applied as the scanning order of the current block.
  • the at least one of the secondary transform or the scanning order of the current block is derived from the neighboring block using the same primary transform as the current block, but the neighbor using the same secondary transform as the current block has been described.
  • Deriving at least one of the first transform or scanning order of the current block from the block, or deriving at least one of the first or second transform of the current block from a neighboring block using the same scanning order as the current block is possible.
  • the second encoding information of the current block may be derived from a neighboring block in which the intra prediction mode and the first encoding information are the same as the current block.
  • the secondary transform of the current block is performed. It may be set to a second transform applied to a neighboring block that is the same as the intra prediction mode of the current block and uses the same first transform as the current block.
  • the encoding / decoding of the encoding information necessary to quadratic transform the residual signal for the current block may be omitted.
  • the scanning order of neighboring blocks having the same intra prediction mode and the first transform may be applied as the scanning order of the current block.
  • the secondary transform and scanning order of neighboring blocks in which the intra prediction mode and the primary transform are the same as the current block may be applied to the current block.
  • At least one of the secondary transform or the scanning order of the current block is derived from a neighboring block having the same intra prediction mode as the current block and using the same primary transform as the current block.
  • derive at least one of the first transform or scanning order of the current block from the neighboring block having the same intra prediction mode as the current block and using the same secondary transform as the current block, or the same screen as the current block It is also possible to derive at least one of the first-order transform or the second-order transform of the current block from the neighboring block with the prediction mode and using the same scanning order as the current block.
  • 19 is a flowchart illustrating a process of determining whether to derive encoding information about a residual signal of a current block from a neighboring block when the current block is encoded by inter-screen prediction.
  • the inter prediction mode of the current block is a merge mode (S1901).
  • a neighboring block merged with the current block may be determined in order to derive motion information of the current block (S1902).
  • the neighboring block merged with the current block may be determined by a merge index indicating a neighboring block to be merged with the current block in the merge candidate list.
  • the neighboring blocks of the current block may include not only neighboring blocks spatially adjacent to the current block, but also neighboring blocks temporally adjacent to the current block.
  • the encoding information of the residual signal of the neighboring block merged with the current block may be derived as the encoding information of the residual signal of the current block (S1903).
  • at least one of the primary transform, the secondary transform, or the scanning order of the current block may be set to be the same as at least one of the primary transform, the secondary transform, or the scanning order of the neighboring block merged with the current block.
  • the motion information may include at least one of a motion vector, a reference picture index, or a reference picture direction.
  • encoding information about the residual signal of the neighboring block having the same motion information as the current block may be derived as encoding information about the residual signal of the current block.
  • at least one of the first transform, the second transform, or the scanning order of the current block may include a first transform of a neighboring block in which at least one of a motion vector, a reference picture index, and a reference picture direction of the current block is the same as the current block, It may be set equal to at least one of the quadratic transformation or the scanning order.
  • entropy encoding / decoding of the encoding information on the residual signal of the current block may be performed (S1906).
  • the transform information (or transform index) for the primary transform of the current block, the transform information (or transform index) for the secondary transform, or the scanning order At least one of information (or scanning indexes) for the entropy may be encoded / decoded.
  • a neighboring block for deriving encoding information about a residual signal of the current block is adaptively determined according to whether an inter prediction mode of the current block is a merge mode.
  • encoding information about the residual signal of the current block may be derived from the neighboring block.
  • the encoding information of the current block may be derived from a neighboring block having the same motion information as the current block, regardless of whether the inter prediction mode of the current block is the merge mode.
  • the encoding information for the residual signal of the current block is derived from the neighboring block, provided that the motion information of the current block is identical to the motion information of the neighboring block.
  • the encoding information of the current block After obtaining the motion information of the current block as in the above-described embodiment, it is possible to derive the encoding information of the current block from the neighboring block based on whether the motion information of the current block is the same as the motion information of the neighboring block. In addition, it is also possible to derive encoding information of the current block based on the motion information of the neighboring block without considering the motion information of the current block.
  • Encoding information such as the above-described primary transform, secondary transform, or scanning order may include information indicating whether a predefined type (eg, a predefined transform type or a predefined scanning type) is used or a predefined type. It may be encoded / decoded based on at least one of information indicating any one of the remaining residual types (eg, residual transform type or residual scanning type).
  • a predefined type e.g, a predefined transform type or a predefined scanning type
  • the predefined transformation type may be, but is not limited to, a transformation type (eg, DCT-II) most used to transform the residual signal.
  • the information may be a 1-bit flag (eg, Transform Flag, TM flag). For example, when the TM flag is 0 (or 1), it means that a predefined transformation type is applied to the residual signal, and when the TM flag is 1 (or 0), a transformation predefined in the residual signal is applied. This may mean that a conversion type other than the type is applied.
  • the information may be configured with a flag of two or more bits, and the first bit may be used to indicate whether or not a predefined transform type is used for the first transform, and the second bit may be a predefined transform for the secondary transform. It may indicate whether a type is used.
  • the residual transform type may indicate a remaining transform type except for a predefined transform type among transform types applicable to the residual signal.
  • the predefined transform type is DCT-II
  • the residual transform type may include at least one of DCT-V, DCT-VIII, DST-I, or DST-VII.
  • the information may be index information TM idx specifying any one of the remaining transform types, and the index information may have any positive integer.
  • TM idx 1 may represent DCT-V
  • 2 is DCT-VIII
  • 3 is DST-I
  • 4 is DST-VII.
  • the index information may indicate a combination of transform types for the horizontal and vertical directions of the residual signal. That is, the 1D transform type for the horizontal / vertical direction may be determined by one index information. For example, if TM idx is 1 while TM flag is 1, a transform type combination mapped to TM idx 1 may be determined as a transform type for horizontal and vertical directions for the current block. For example, if TM idx indicates DCT-V for the horizontal direction and DCT-VIII for the vertical direction, the DCT-V and DCT-VIII may be determined as the horizontal direction transform type and the vertical direction transform type of the current block, respectively. have.
  • At least one of information specifying whether a predefined type is used or a residual type may be derived from a neighboring block of the current block. For example, at least one of information (TM flag) indicating whether a predefined transform type of the current block is applied or information (TM idx) for specifying one of a residual transform type may be derived from a neighboring block of the current block. have.
  • At least one of the TM flag and TM idx of the current block may be derived with the same value as the neighboring block of the current block.
  • the TM flag for the current block may be implicitly assumed to be 1 to perform encoding / decoding.
  • the TM idx for the current block may be explicitly transmitted over the bitstream or may be implicitly derived from neighboring blocks.
  • any one of information (TM flag) indicating whether a predefined transform type for the current block is applied or a residual transform type At least one of information TM idx for specifying a may be derived.
  • the merge candidate when the inter prediction mode of the current block is the merge mode, the merge candidate may be newly configured in consideration of at least one of the TM flag and TM idx.
  • the newly configured merge candidate list may include a merge candidate having at least one of a TM flag and a TM idx having a different value.
  • the merge candidate list may be configured to have different TM flags and / or TM idx.
  • At least one of the TM flag or TM idx of the current block may be determined to be the same as the merge candidate indicated by the merge index Merge_idx. Accordingly, not only motion information (motion vector, reference picture index, inter prediction prediction direction indicator) of the current block, but also TM flag and / or TM idx may be encoded / decoded based on the merge mode.
  • the information indicating that the merge candidate list is newly configured may be explicitly transmitted through the bitstream.
  • the transmitted information may be a 1-bit flag, but is not limited thereto.
  • the TM flag of at least one or more neighboring blocks of the current block is 1, it may be implicitly recognized that the merge candidate list is newly constructed.
  • the neighboring block may be a block in which the TM flag is first of 1 according to a predetermined neighboring block scan order, or may be a block having a predefined position.
  • a method of deriving information for determining a transform type from neighboring blocks of the current block has been described.
  • the described embodiment may be applied to at least one of determining a transform type for the primary transform of the current block or determining a transform type for the secondary transform.
  • transformation information eg, TM flag (1 st TM flag) and / or TM idx (1 st TM idx)
  • transformation information eg, TM flag (2nd) for the secondary transformation at least one of the flag TM) or TM idx (idx 2 nd TM)
  • TM flag (2nd) for the secondary transformation at least one of the flag TM
  • TM idx idx 2 nd TM
  • the merge candidate list may be generated based on the transform information for the current block.
  • the merge candidate list generated based on the motion information of the neighboring block is defined as a 'first merge candidate list', and the merge candidate list generated based on the transform information of the neighboring block is referred to as a 'second merge candidate list'.
  • the motion information of the current block is derived from the merge candidate specified by the first merge index in the first merge candidate list, while the transform information of the current block is determined by the second merge index in the second merge candidate list. It can be derived from the specified merge candidate.
  • information for determining the scanning order of the current block may be derived from neighboring blocks of the current block.
  • the scan flag indicates whether the scanning order of the current block is the same as the predefined scanning order
  • Scan idx may be information indicating any one of the remaining scanning orders.
  • the same encoding information may be applied to all blocks located in a signaling block in a picture or slice currently encoded / decoded.
  • the signaling block may mean an area having a small size for at least one of horizontal and vertical resolutions of the current picture or the current slice. That is, the signaling block may be defined as a predetermined area having a size smaller than the current picture or the current slice.
  • Information on the signaling block may be transmitted through at least one of a sequence unit, a picture unit, or a slice header.
  • at least one of the size, shape, or location of the signaling block may be transmitted through at least one of a sequence parameter set, a picture parameter set, or a slice header.
  • the information about the signaling block may be implicitly derived through encoding information of the current block or neighboring blocks adjacent to the current block.
  • the signaling block may have a square or rectangular shape, but is not limited thereto.
  • Encoding information about the signaling block may be applied to all blocks included in the signaling block. For example, for all blocks included in the signaling block, at least one of a primary transform, a secondary transform, or a scanning order may be set to be the same. Encoding information applied to all blocks included in the signaling block may be transmitted through a bitstream. Alternatively, encoding information of a specific location block in the signaling block may be applied to all blocks included in the signaling block.
  • all blocks included in the signaling block have been described as having the same encoding information.
  • only blocks satisfying a predetermined condition among blocks included in the signaling block may be configured to have the same encoding information.
  • the predetermined condition may be defined by at least one of the size, shape or depth of the block.
  • at least one of a primary transform, a secondary transform, or a scanning order may be set to be the same for blocks that are smaller than or equal to a predetermined size (eg, blocks of 4x4 size or less) among all blocks included in the signaling block.
  • the above-described embodiments of obtaining encoding information of the current block may be applied to luminance and color difference components.
  • information indicating that at least one of the first transform, the second transform, or the scanning of the residual signal of the current block may be encoded / decoded.
  • entropy encoding / decoding the information truncated rice binarization method, K-th order Exp_Golomb binarization method, limited K-th order Exp_Golomb binarization method
  • At least one entropy encoding method may be used, such as a fixed-length binarization method, a unary binarization method, or a truncated unary binarization method.
  • the information may be finally encoded / decoded using CABAC (ae (v)).
  • CABAC CABAC
  • encoding information of the current block is determined using at least one of the above embodiments according to the size and shape of the current block.
  • the encoder may transmit a motion vector difference (MVD) indicating a difference between the motion vector of the current block around the current block and the motion vector of the current block, to the decoder.
  • MVD motion vector difference
  • the decoder may derive the motion vector candidate of the current block in which the neighboring coding of the current block is completed and the motion vector candidate of the current block.
  • the decoder may derive a motion vector candidate from at least one of temporal and / or spatial motion vectors for which decoding is completed for the current block, and then construct a motion vector candidate list (MVP list).
  • MVP list motion vector candidate list
  • the encoder may transmit information (eg, MVP list index) indicating information about a motion vector prediction value used to derive a motion vector difference value among motion vector candidates included in the motion vector candidate list. Then, the decoding apparatus may determine a motion vector candidate indicated by the MVP list index as a motion vector prediction value, and derive a motion vector for the current block by using the motion vector prediction value and the motion vector difference value.
  • information eg, MVP list index
  • 20 is a flowchart illustrating a process of decoding a motion vector of a current block.
  • a spatial motion vector candidate for the current block can be derived (S2001).
  • the spatial motion vector of the current block may be derived from a pre-encoded / decoded block included in the same picture as the current block.
  • 21 is a diagram for explaining an example of deriving a spatial motion vector candidate.
  • the spatial motion vector of the current block can be derived from the block B2 located at the upper left corner and the block A0 adjacent to the lower left corner of the current block.
  • the spatial motion vector derived from the neighboring block of the current block may be determined as the spatial motion vector candidate of the current block.
  • the spatial motion vector candidates may be derived in a predetermined order.
  • the spatial motion vector candidate may determine whether a motion vector exists in each block in the order of A0, A1, B0, B1, and B2.
  • the motion vector of the neighboring block may be determined as a spatial motion vector candidate.
  • the movement of the neighboring block is performed using the distance between the current image and the reference image referenced by the neighboring block and the distance between the current image and the reference image referenced by the current block.
  • the vector may be scaled with a motion vector, and the scaled motion vector may be determined as a spatial motion vector of the current block.
  • a temporal motion vector candidate of the current block can be derived (S2002).
  • the temporal motion vector of the current block may be derived from the reconstructed block in the co-located picture.
  • 22 is a diagram for explaining an example of deriving a temporal motion vector candidate.
  • a temporal motion vector candidate of the current block can be derived from a block of H position existing at or a block of C3 position present in the corresponding position block C.
  • the temporal motion vector candidate may be derived sequentially from the block at the H position and the block at the C3 position. For example, when a motion vector can be derived from a block of H position, a temporal motion vector candidate can be derived from a block of H position.
  • a temporal motion vector candidate can be derived from the block at the C3 position. If the H position or C3 position block is encoded by intra prediction, the temporal motion vector candidate of the current block cannot be derived.
  • the motion information may include at least one of a picture index indicating a corresponding location image and a motion vector indicating a corresponding location block in the corresponding location image.
  • the motion information for specifying the location of the corresponding location image and the corresponding location block may be separately signaled with respect to the current block.
  • Temporal motion vector candidates of the current block may be obtained in units of subblocks smaller in size than the current block. For example, when the size of the current block is 8x8, a temporal motion vector candidate may be obtained in units of subblocks smaller than the size of the current block, such as 2x2, 4x4, 8x4, 4x8, and the like.
  • the shape of the sub block may have a square or rectangular shape.
  • the size or shape of the sub-block may be a predetermined fixed in the encoder / decoder, or may be determined dependent on the size or shape of the current block.
  • a motion vector candidate list including at least one of a spatial motion vector candidate and a temporal motion vector candidate may be generated (S2003).
  • the motion vector candidate list may be configured to include at least one temporal motion vector candidate.
  • N where N is a positive integer greater than 0
  • at least one motion vector candidate must be included in the motion vector candidate list.
  • a motion vector candidate list can be constructed. If at least N different spatial motion vector candidates can be derived in the process of deriving the spatial motion vector candidates, at least one of the N spatial motion vector candidates is removed from the motion vector candidate list through randomness determination. can do. Accordingly, the temporal motion vector candidate may be included in the motion vector candidate list.
  • any similarity determination may be performed using two or more spatial motion vectors through a maximum, minimum, average, median, or arbitrary sum of weights, even if the spatial motion vectors have different values. Can mean merging them into one.
  • the randomness determination can reduce the number of spatial motion vector candidates.
  • the spatial motion vector candidates when N spatial motion vector candidates are included according to a predetermined priority in the motion vector candidate list, at least one or more of the spatial motion vector candidates may be removed from the motion vector candidate list in the reverse order of priority. That is, at least one or more can be removed from the motion vector candidate list, starting with the next-order spatial motion vector candidate. Accordingly, the temporal motion vector candidate may be included in the motion vector candidate list.
  • Whether to remove the spatial motion vector candidate from the motion vector candidate list described above may be determined depending on whether the temporal motion vector candidate is used.
  • the number of spatial motion vector candidates removed from the motion vector candidate list may be determined according to the number of temporal motion vector candidates used for the current block or the number of temporal motion vector candidates available for the current block.
  • the temporal motion vector candidate may be included in the motion vector candidate list by increasing the number of motion vector candidates that may be included in the motion vector candidate list (ie, up to N + 1).
  • any one of the motion vector candidates included in the motion vector candidate list may be determined as the motion vector prediction value of the current block (S2004).
  • decoding may determine a motion vector prediction value of the current block based on information (eg, MVP list index) specifying one of the motion vector candidates included in the motion vector candidate list.
  • the motion vector of the current block may be obtained using the motion vector difference value (S2005).
  • the motion vector difference value may indicate a difference between the motion vector of the current block and the motion vector prediction value of the current block.
  • the motion vector difference value for the current block may be entropy encoded / decoded through the bitstream.
  • the motion vector difference value of the current block is encoded using the motion vector difference value of the reconstructed blocks encoded by inter-screen prediction around the current block.
  • a second motion vector difference indicating a difference between a motion vector difference value indicating a difference between a motion vector and a motion vector prediction value of the current block and a motion vector difference value of the reconstructed blocks encoded by inter-screen prediction around the current block.
  • the value can be encoded for the current block.
  • FIG. 23 is a diagram for describing a second motion vector difference value.
  • the motion vector difference value MVD for the current block 2 is (5, 5).
  • the second motion vector difference value for the current block may be encoded by using the motion vector difference value of the upper block Block 1 located at the top of the current block.
  • the second motion vector difference value of the current block is ( 0, 0). If the second motion vector difference value (0, 0) is encoded instead of the motion vector difference value (5, 5), the amount of information used to encode the motion vector difference value for the current block can be reduced.
  • the motion vector difference value of the current block may be derived from the neighboring block.
  • information indicating the position of the neighboring block used to derive the second motion vector candidate of the current block or the position of the neighboring block having the same motion vector difference value as the current block is explicitly transmitted through the bitstream.
  • information used to derive a second motion vector candidate among neighboring blocks of the current block or identifying a neighboring block having the same motion vector candidate as the current block is transmitted to the decoder through a bitstream.
  • the information indicating the position of the neighboring block used to derive the second motion vector candidate of the current block or the position of the neighboring block having the same motion vector difference value as the current block is implied according to the same process in the encoder / decoder. May be induced.
  • the motion vector difference value of the neighboring block used as the motion vector predictor (MVP) of the current block may be used as the motion vector difference predictor (MVD Predictor) for deriving the second motion vector difference value of the current block. .
  • the same motion vector difference values may mean a case in which the signs and magnitudes of the motion vector difference values are the same, or may mean a case in which the signs of the motion vector difference values are different but the same magnitude.
  • encoding / decoding for any one of the motion vector difference values of the reference picture list 0 and the reference picture list 1 may be omitted.
  • all blocks located in a signaling block in a picture or slice to be currently encoded / decoded may have one or more identical motion vector prediction values to derive an optimal motion vector difference value (MVD).
  • MVP optimal motion vector difference value
  • all blocks located in a signaling block in a picture or slice to be currently encoded / decoded may include one or more identical motion vectors to derive an optimal second motion vector difference value. It may have a differential prediction value (MVD Predictor).
  • a motion vector prediction value or a motion vector difference prediction value may be transmitted for each signaling block, or a motion vector prediction value or a motion vector difference prediction value may be implicitly derived using encoding information of neighboring blocks around the signaling block.
  • the signaling block may mean an area having a small size for at least one of horizontal and vertical resolutions of the current picture or the current slice. That is, the signaling block may be defined as a predetermined area having a size smaller than the current picture or the current slice.
  • Information on the signaling block may be transmitted through at least one of a sequence unit, a picture unit, or a slice header.
  • at least one of the size, shape, or location of the signaling block may be transmitted through at least one of a sequence parameter set, a picture parameter set, or a slice header.
  • the information about the signaling block may be implicitly derived through encoding information of the current block or neighboring blocks adjacent to the current block.
  • the signaling block may have a square or rectangular shape, but is not limited thereto.
  • the inter-screen decoding / decoding process may be performed on each of luminance and chrominance signals. For example, at least one method of acquiring an inter-prediction indicator, generating a motion vector candidate list, deriving a motion vector, and performing a motion compensation may be differently applied to the luminance signal and the chrominance signal during the inter-picture encoding / decoding process.
  • the inter-decoding / decoding process for the luminance and chrominance signals may be performed in the same manner.
  • at least one of an inter prediction prediction indicator, a motion vector candidate list, a motion vector candidate, a motion vector, and a reference image may be equally applied to the color difference signal in the inter-picture sub / decoding process applied to the luminance signal.
  • the above methods can be performed in the same way in the encoder and the decoder.
  • at least one or more methods of motion vector candidate list derivation, motion vector candidate derivation, motion vector derivation, and motion compensation may be applied to the encoder and the decoder in the inter-picture encoding / decoding process.
  • the order of applying the above methods may be different in the encoder and the decoder.
  • the above embodiments of the present invention may be applied according to the size of at least one of a coding block, a prediction block, a block, and a unit.
  • the size here may be defined as a minimum size and / or a maximum size for the above embodiments to be applied, or may be defined as a fixed size to which the above embodiments are applied.
  • the first embodiment may be applied at the first size
  • the second embodiment may be applied at the second size. That is, the embodiments may be applied in combination according to the size.
  • the above embodiments of the present invention can be applied only when the minimum size or more and the maximum size or less. That is, the above embodiments can be applied only when the block size is included in a certain range.
  • the above embodiments may be applied only when the size of an encoding / decoding target block is 8x8 or more.
  • the above embodiments may be applied only when the size of the encoding / decoding target block is 16x16 or more.
  • the above embodiments may be applied only when the size of the encoding / decoding target block is 32x32 or more.
  • the above embodiments may be applied only when the size of the encoding / decoding target block is 64x64 or more.
  • the above embodiments may be applied only when the size of the encoding / decoding target block is 128x128 or more.
  • the above embodiments may be applied only when the size of the encoding / decoding target block is 4x4.
  • the above embodiments may be applied only when the size of an encoding / decoding target block is 8x8 or less.
  • the above embodiments may be applied only when the size of an encoding / decoding target block is 16x16 or less.
  • the above embodiments may be applied only when the size of an encoding / decoding target block is 8x8 or more and 16x16 or less.
  • the above embodiments may be applied only when the size of the encoding / decoding target block is 16x16 or more and 64x64 or less.
  • the above embodiments of the present invention can be applied according to a temporal layer.
  • a separate identifier is signaled to identify the temporal layer to which the embodiments are applicable and the embodiments can be applied to the temporal layer specified by the identifier.
  • the identifier here may be defined as a minimum layer and / or a maximum layer to which the embodiment is applicable, or may be defined as indicating a specific layer to which the embodiment is applied.
  • the above embodiments may be applied only when the temporal layer of the current image is the lowest layer.
  • the above embodiments may be applied only when the temporal layer identifier of the current image is zero.
  • the above embodiments may be applied only when the temporal layer identifier of the current image is one or more.
  • the above embodiments may be applied only when the temporal layer of the current image is the highest layer.
  • the reference picture set used in the process of reference picture list construction and reference picture list modification as in the embodiment of the present invention is one of L0, L1, L2, and L3. At least one reference picture list may be used.
  • one or more motion vectors of the encoding / decoding target block may be used.
  • N represents a positive integer of 1 or more, and may be 2, 3, 4, or the like.
  • the motion vectors are in 16-pel units, 8-pel units, 4-pixel units, integer-pel units, 1/2 -1 / 2-pel units, 1 / 4-pel units, 1 / 8-pixel units 1 / 8-pel, 1 / 16-pixel units
  • the above embodiments of the present invention may also be applied when the device has at least one of 1), 1 / 32-pixel (1 / 32-pel) units, and 1 / 64-pixel (1 / 64-pel) units.
  • a motion vector may be selectively used for each pixel unit.
  • a slice type to which the above embodiments of the present invention are applied is defined, and the above embodiments of the present invention may be applied according to the corresponding slice type.
  • a prediction block is generated using at least three or more motion vectors, and a weighted sum of at least three or more prediction blocks is calculated to calculate a block to be encoded / decoded. It can be used as the final prediction block of.
  • the prediction block is generated using at least four or more motion vectors, and the weighted sum of the at least four or more prediction blocks is calculated to calculate the block to be encoded / decoded. It can be used as the final prediction block of.
  • the above embodiments of the present invention can be applied not only to inter prediction and motion compensation methods using motion vector prediction, but also to inter prediction and motion compensation methods using skip mode and merge mode.
  • the shape of the block to which the embodiments of the present invention are applied may have a square shape or a non-square shape.
  • the methods are described based on a flowchart as a series of steps or units, but the present invention is not limited to the order of steps, and certain steps may occur in a different order or simultaneously from other steps as described above. Can be. Also, one of ordinary skill in the art appreciates that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps in the flowcharts may be deleted without affecting the scope of the present invention. I can understand.
  • Embodiments according to the present invention described above may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.
  • the present invention can be used in an apparatus for encoding / decoding an image.

Abstract

La présente invention concerne un procédé destiné à réaliser une compensation de mouvement en utilisant une prédiction de vecteurs de mouvement. Un procédé de décodage d'images associé peut comporter les étapes consistant à: acquérir un signal résiduel quantifié pour le bloc courant; appliquer une quantification inverse au signal résiduel quantifié; et déterminer un schéma de transformation servant à la transformation inverse du signal résiduel. La transformation inverse comporte une transformation primaire et une transformation secondaire, et au moins un schéma parmi un schéma de transformation primaire et un schéma de transformation secondaire peut être déduit d'un bloc reconstitué, autour du bloc courant, pour lequel le décodage est achevé.
PCT/KR2017/007734 2016-08-01 2017-07-18 Procédé de codage/décodage d'images WO2018026118A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202211602603.XA CN116016910A (zh) 2016-08-01 2017-07-18 图像编码/解码方法
CN202210817457.6A CN115052142A (zh) 2016-08-01 2017-07-18 图像编码/解码方法
CN202210817476.9A CN115052143A (zh) 2016-08-01 2017-07-18 图像编码/解码方法
CN202211602572.8A CN115914625A (zh) 2016-08-01 2017-07-18 图像编码/解码方法
CN201780048129.1A CN109644276B (zh) 2016-08-01 2017-07-18 图像编码/解码方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160098096 2016-08-01
KR10-2016-0098096 2016-08-01

Publications (1)

Publication Number Publication Date
WO2018026118A1 true WO2018026118A1 (fr) 2018-02-08

Family

ID=61073484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/007734 WO2018026118A1 (fr) 2016-08-01 2017-07-18 Procédé de codage/décodage d'images

Country Status (3)

Country Link
KR (4) KR102321394B1 (fr)
CN (5) CN109644276B (fr)
WO (1) WO2018026118A1 (fr)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868589A (zh) * 2018-08-28 2020-03-06 华为技术有限公司 帧间预测方法、装置及其应用的编/解方法及装置
CN110876065A (zh) * 2018-08-29 2020-03-10 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
CN111886861A (zh) * 2018-02-22 2020-11-03 Lg电子株式会社 根据图像编码系统中的块划分结构的图像解码方法和设备
CN111919447A (zh) * 2018-03-14 2020-11-10 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
CN111971960A (zh) * 2018-06-27 2020-11-20 Lg电子株式会社 用于基于帧间预测模式处理图像的方法及其装置
CN112055967A (zh) * 2018-04-02 2020-12-08 Lg电子株式会社 基于运动矢量的图像编码方法及其设备
CN112088533A (zh) * 2018-03-21 2020-12-15 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
CN112166609A (zh) * 2018-06-08 2021-01-01 株式会社Kt 用于处理视频信号的方法和设备
CN112291558A (zh) * 2019-07-23 2021-01-29 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113228648A (zh) * 2018-12-21 2021-08-06 三星电子株式会社 使用三角形预测模式的图像编码装置和图像解码装置及其执行的图像编码方法和图像解码方法
CN113574880A (zh) * 2019-03-13 2021-10-29 北京字节跳动网络技术有限公司 关于子块变换模式的分割
CN113994672A (zh) * 2019-04-25 2022-01-28 北京达佳互联信息技术有限公司 用于利用三角形预测进行视频编解码的方法和装置
US11677985B2 (en) 2019-07-12 2023-06-13 Lg Electronics Inc. Image coding method based on transform, and device for same
RU2799629C1 (ru) * 2019-07-12 2023-07-07 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ кодирования изображения на основе преобразования и устройство для его осуществления
US11895319B2 (en) 2018-08-28 2024-02-06 Huawei Technologies Co., Ltd. Method for constructing candidate motion information list, inter prediction method, and apparatus

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112106373A (zh) * 2018-03-28 2020-12-18 韩国电子通信研究院 用于图像编/解码的方法和装置及存储比特流的记录介质
WO2019190282A1 (fr) * 2018-03-29 2019-10-03 엘지전자 주식회사 Procédé et dispositif de traitement de signal vidéo sur la base d'une transformée à rotation sans multiplication
CN115604470A (zh) 2018-04-01 2023-01-13 Lg电子株式会社(Kr) 视频编解码方法、计算机可读存储介质及发送方法
WO2019194503A1 (fr) * 2018-04-01 2019-10-10 엘지전자 주식회사 Procédé et appareil de traitement d'un signal vidéo via l'application d'une transformée secondaire sur un bloc partitionné
WO2019235797A1 (fr) * 2018-06-03 2019-12-12 엘지전자 주식회사 Procédé et dispositif de traitement de signal vidéo à l'aide d'une transformée réduite
CN115379211A (zh) 2018-09-02 2022-11-22 Lg电子株式会社 对视频信号进行解码/编码的方法和计算机可读存储介质
CN116074508A (zh) * 2018-09-05 2023-05-05 Lg电子株式会社 对图像信号进行编码/解码的设备及发送图像信号的设备
MX2021003166A (es) 2018-09-21 2021-05-14 Huawei Tech Co Ltd Aparato y metodo para cuantificacion inversa.
NZ779326A (en) * 2019-04-17 2024-03-22 Huawei Tech Co Ltd An encoder, a decoder and corresponding methods harmonizing matrix-based intra prediction and secondary transform core selection
WO2020226424A1 (fr) * 2019-05-08 2020-11-12 엘지전자 주식회사 Procédé et dispositif de codage/décodage d'image pour réaliser une mip et une lfnst, et procédé de transmission de flux binaire
CN113812146B (zh) 2019-05-10 2022-11-11 北京字节跳动网络技术有限公司 用于视频处理的基于亮度的二次变换矩阵选择
WO2020244656A1 (fr) 2019-06-07 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Signalisation conditionnelle d'une transformée secondaire réduite pour flux bianires de vidéo
KR20200141399A (ko) * 2019-06-10 2020-12-18 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
JP7422858B2 (ja) 2019-08-03 2024-01-26 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体及び記憶方法
WO2021032045A1 (fr) 2019-08-17 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Modélisation de contexte d'informations annexes pour transformées secondaires réduites en vidéo
CN117812262A (zh) * 2019-10-08 2024-04-02 Lg电子株式会社 图像编码/解码方法和发送数据的方法
EP4052469A4 (fr) * 2019-12-03 2023-01-25 Huawei Technologies Co., Ltd. Procédé, dispositif, système de codage avec mode de fusion
WO2021190593A1 (fr) * 2020-03-25 2021-09-30 Beijing Bytedance Network Technology Co., Ltd. Traitement de vidéo codée utilisant une transformée secondaire améliorée
CN113473129B (zh) * 2020-03-30 2022-12-23 杭州海康威视数字技术股份有限公司 一种编码、解码方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158125A1 (en) * 2008-12-19 2010-06-24 Samsung Electronics Co., Ltd. Method and apparatus for constructing and decoding video frame in video signal processing apparatus using multi-core processing
KR20110115986A (ko) * 2010-04-16 2011-10-24 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
KR20140053155A (ko) * 2011-07-01 2014-05-07 삼성전자주식회사 낮은 지연을 갖는 영상 부호화를 위한 모드 종속 변환
KR20140126415A (ko) * 2011-10-18 2014-10-30 주식회사 케이티 영상 부호화 방법, 영상 복호화 방법, 영상 부호화기 및 영상 복호화기
KR20160061302A (ko) * 2012-10-12 2016-05-31 한국전자통신연구원 영상의 부호화/복호화 방법 및 이를 이용하는 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612849B1 (ko) * 2003-07-18 2006-08-14 삼성전자주식회사 영상 부호화 및 복호화 장치 및 방법
US20110292997A1 (en) * 2009-11-06 2011-12-01 Qualcomm Incorporated Control of video encoding based on image capture parameters
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
AU2011241283B2 (en) * 2010-04-13 2015-02-05 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
KR20140008503A (ko) * 2012-07-10 2014-01-21 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
CN104159108B (zh) * 2014-08-11 2017-08-11 浙江大学 基于自适应预测和改进变长编码的心电信号实时无损压缩方法及装置
KR20160045243A (ko) * 2014-10-17 2016-04-27 한국항공대학교산학협력단 플레너 인트라 예측 부호화 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158125A1 (en) * 2008-12-19 2010-06-24 Samsung Electronics Co., Ltd. Method and apparatus for constructing and decoding video frame in video signal processing apparatus using multi-core processing
KR20110115986A (ko) * 2010-04-16 2011-10-24 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
KR20140053155A (ko) * 2011-07-01 2014-05-07 삼성전자주식회사 낮은 지연을 갖는 영상 부호화를 위한 모드 종속 변환
KR20140126415A (ko) * 2011-10-18 2014-10-30 주식회사 케이티 영상 부호화 방법, 영상 복호화 방법, 영상 부호화기 및 영상 복호화기
KR20160061302A (ko) * 2012-10-12 2016-05-31 한국전자통신연구원 영상의 부호화/복호화 방법 및 이를 이용하는 장치

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111886861B (zh) * 2018-02-22 2023-12-22 Lg电子株式会社 根据图像编码系统中的块划分结构的图像解码方法和设备
CN111886861A (zh) * 2018-02-22 2020-11-03 Lg电子株式会社 根据图像编码系统中的块划分结构的图像解码方法和设备
CN111919447A (zh) * 2018-03-14 2020-11-10 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
CN112088533A (zh) * 2018-03-21 2020-12-15 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
CN112055967A (zh) * 2018-04-02 2020-12-08 Lg电子株式会社 基于运动矢量的图像编码方法及其设备
CN112055967B (zh) * 2018-04-02 2024-03-26 Lg电子株式会社 基于运动矢量的图像编码方法及其设备
CN112166609A (zh) * 2018-06-08 2021-01-01 株式会社Kt 用于处理视频信号的方法和设备
CN111971960A (zh) * 2018-06-27 2020-11-20 Lg电子株式会社 用于基于帧间预测模式处理图像的方法及其装置
CN111971960B (zh) * 2018-06-27 2023-08-29 Lg电子株式会社 用于基于帧间预测模式处理图像的方法及其装置
CN110868589A (zh) * 2018-08-28 2020-03-06 华为技术有限公司 帧间预测方法、装置及其应用的编/解方法及装置
US11895319B2 (en) 2018-08-28 2024-02-06 Huawei Technologies Co., Ltd. Method for constructing candidate motion information list, inter prediction method, and apparatus
CN110868589B (zh) * 2018-08-28 2023-10-20 华为技术有限公司 帧间预测方法、装置及其应用的编/解方法及装置
CN110876065A (zh) * 2018-08-29 2020-03-10 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
CN113228648A (zh) * 2018-12-21 2021-08-06 三星电子株式会社 使用三角形预测模式的图像编码装置和图像解码装置及其执行的图像编码方法和图像解码方法
CN113574880A (zh) * 2019-03-13 2021-10-29 北京字节跳动网络技术有限公司 关于子块变换模式的分割
CN113574880B (zh) * 2019-03-13 2023-04-07 北京字节跳动网络技术有限公司 关于子块变换模式的分割
CN113994672A (zh) * 2019-04-25 2022-01-28 北京达佳互联信息技术有限公司 用于利用三角形预测进行视频编解码的方法和装置
RU2799629C1 (ru) * 2019-07-12 2023-07-07 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ кодирования изображения на основе преобразования и устройство для его осуществления
US11765389B2 (en) 2019-07-12 2023-09-19 Lg Electronics Inc. Image coding method based on transform, and device for same
US11677985B2 (en) 2019-07-12 2023-06-13 Lg Electronics Inc. Image coding method based on transform, and device for same
CN112291558B (zh) * 2019-07-23 2023-06-27 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN112291558A (zh) * 2019-07-23 2021-01-29 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Also Published As

Publication number Publication date
KR20220068974A (ko) 2022-05-26
KR20230096953A (ko) 2023-06-30
CN109644276A (zh) 2019-04-16
CN115914625A (zh) 2023-04-04
CN115052142A (zh) 2022-09-13
KR20180014655A (ko) 2018-02-09
CN115052143A (zh) 2022-09-13
KR102400315B1 (ko) 2022-05-23
CN116016910A (zh) 2023-04-25
CN109644276B (zh) 2022-12-30
KR20210133202A (ko) 2021-11-05
KR102321394B1 (ko) 2021-11-03
KR102549022B1 (ko) 2023-06-27

Similar Documents

Publication Publication Date Title
WO2018026118A1 (fr) Procédé de codage/décodage d'images
WO2017204532A1 (fr) Procédé de codage/décodage d'images et support d'enregistrement correspondant
WO2018066867A1 (fr) Procédé et appareil de codage et décodage d'image, et support d'enregistrement pour la mémorisation de flux binaire
WO2018030773A1 (fr) Procédé et appareil destinés au codage/décodage d'image
WO2018012851A1 (fr) Procédé de codage/décodage d'image, et support d'enregistrement correspondant
WO2018012886A1 (fr) Procédé de codage/décodage d'images et support d'enregistrement correspondant
WO2018026166A1 (fr) Procédé et appareil de codage/décodage d'image, et support d'enregistrement stockant un train de bits
WO2017222334A1 (fr) Procédé et appareil de codage/décodage d'image par transformée
WO2018016823A1 (fr) Dispositif et procédé de codage/décodage d'image, et support d'enregistrement dans lequel le flux binaire est stocké
WO2019182385A1 (fr) Dispositif et procédé de codage/décodage d'image, et support d'enregistrement contenant un flux binaire
WO2018097693A2 (fr) Procédé et dispositif de codage et de décodage vidéo, et support d'enregistrement à flux binaire mémorisé en son sein
WO2017222326A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2018124843A1 (fr) Procédé de codage/décodage d'image, appareil et support d'enregistrement pour stocker un train de bits
WO2018097691A2 (fr) Procédé et appareil de codage/décodage d'image, et support d'enregistrement stockant un train de bits
WO2017222237A1 (fr) Procédé et dispositif de prédiction intra
WO2019172705A1 (fr) Procédé et appareil de codage/décodage d'image utilisant un filtrage d'échantillon
WO2018097692A2 (fr) Procédé et appareil de codage/décodage d'image et support d'enregistrement contenant en mémoire un train de bits
WO2018080122A1 (fr) Procédé et appareil de codage/décodage vidéo, et support d'enregistrement à flux binaire mémorisé
WO2018070742A1 (fr) Dispositif et procédé de codage et de décodage d'image, et support d'enregistrement dans lequel le flux binaire est stocké
WO2018070809A1 (fr) Procédé de traitement d'image, et procédé de codage et de décodage d'image associé
WO2017086746A1 (fr) Procédé et appareil d'encodage/décodage d'un mode de prédiction intra-écran.
WO2019225993A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2017086747A1 (fr) Procédé et dispositif pour coder/décoder une image à l'aide d'une image géométriquement modifiée
WO2017086748A1 (fr) Procédé et dispositif pour chiffrer/déchiffrer une image en utilisant une image modifiée géométriquement
WO2019066524A1 (fr) Procédé et appareil de codage/ décodage d'image et support d'enregistrement pour stocker un train de bits

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17837170

Country of ref document: EP

Kind code of ref document: A1