WO2017192011A2 - 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents
화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- WO2017192011A2 WO2017192011A2 PCT/KR2017/004696 KR2017004696W WO2017192011A2 WO 2017192011 A2 WO2017192011 A2 WO 2017192011A2 KR 2017004696 W KR2017004696 W KR 2017004696W WO 2017192011 A2 WO2017192011 A2 WO 2017192011A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- prediction
- pixel
- main reference
- current
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Definitions
- the present invention relates to a method and apparatus for image encoding / decoding using intra prediction, and more particularly, refers to an area already encoded in a current block in intra prediction, uses a reference pixel close to a pixel to be encoded, and uses binary.
- the present invention relates to a method and an apparatus for improving the accuracy of prediction by performing intra prediction using a block size in which division is used.
- High Efficiency Video Coding (HEVC / H.265) is a next-generation video coding technology that is a group of video coding experts from ISO / IEC MPEG and ITU-T that developed H.264 / MPEG-4 AVC.
- the Coding Experts Group formed the team in January 2010 as a Joint Collaborative Team on Video Coding (JCT-VC) to standardize and was approved as the next-generation final standard.
- JCT-VC Joint Collaborative Team on Video Coding
- HEVC generates a predictive block based on the spatial or temporal correlation of the current block to be encoded based on the block unit prediction, and derives a residual block obtained by the difference between the current block and the predictive block.
- intra prediction a process of generating a prediction block using spatial correlation.
- a reference pixel is copied and used as it is, and thus the distance from the pixel to be predicted is used. If the distance is too long, the prediction value is inaccurate and the coding efficiency is lowered.
- the conventional encoding method has a fixed block shape and the partitioning method is based on the quadtree partitioning method, encoding efficiency is reduced in a complex screen or a screen having a similar form horizontally or vertically.
- An object of the present invention for solving the above problems is to provide a decoding method using intra prediction.
- Another object of the present invention for solving the above problems is to provide a decoding apparatus using intra prediction.
- the present invention for achieving the above object provides a decoding method using intra prediction.
- the decoding method using intra prediction may include receiving a bit stream, obtaining decoding information from the received bit stream, generating a prediction block for a current block to be decoded using the obtained decoding information, and And reconstructing the current block by adding the residual block and the prediction block obtained from the bit stream.
- the generating of the prediction block may include generating each prediction block for each pixel of the current block using at least one main reference pixel selected from reconstructed pixels belonging to a block adjacent to the current block or belonging to at least one subblock of the current block. By generating a prediction value, a prediction block for the current block can be generated.
- the main reference pixel may be a pixel located in the prediction direction of the screen among the reconstructed pixels.
- the average of the two main reference pixels or the weighted values of the two main reference pixels, respectively, are added to the current block.
- the prediction block may be generated as a prediction value for the pixel.
- the at least one sub block may be obtained by dividing the current block using one of the quadtree method and the binary tree method, or may be obtained by dividing the current block by using the quadtree method and the binary tree method.
- the at least one sub block may be composed of pixel lines positioned evenly or oddly in the current block.
- the at least one sub block may be composed of pixel lines positioned evenly or oddly in the current block.
- the at least one sub block is composed of coordinates in which the x and y coordinates of each pixel coordinate (x, y) in the current block are even, or one of the x and y coordinates is an even number and the other is an odd number. Or x and y coordinates that are odd.
- the generating of the prediction block may include generating a prediction block using a difference value between a main reference pixel among reconstructed pixels and a current pixel to be predicted in the current block and a difference value between two pixels at corresponding positions based on the prediction direction in the screen. Correcting the reference pixel and generating a prediction block using the corrected main reference pixel.
- the main reference pixel may be corrected by adding a difference value to the main reference pixel or adding a weighted value to the main reference pixel.
- the main reference pixel may be corrected only when the pixel of the current pixel is predicted within a predetermined range.
- the main reference pixel when two or more difference values are derived, the main reference pixel is obtained using a value derived by weighting an average of two or more difference values or each of the two or more difference values. Can be corrected.
- Another aspect for achieving the above object of the present invention provides a decoding apparatus using intra prediction.
- the decoding apparatus using intra prediction may include a memory for storing at least one processor and instructions for instructing the at least one processor to perform at least one step.
- the at least one step may include receiving a bit stream, obtaining decoding information from the received bit stream, generating a prediction block for a current block to be decoded using the obtained decoding information, and And reconstructing the current block by adding the obtained residual block and the prediction block.
- the generating of the prediction block may include generating each prediction block for each pixel of the current block using at least one main reference pixel selected from reconstructed pixels belonging to a block adjacent to the current block or belonging to at least one subblock of the current block. By generating a prediction value, a prediction block for the current block can be generated.
- the main reference pixel may be a pixel located in the prediction direction of the screen among the reconstructed pixels.
- the average of the two main reference pixels or the weighted values of the two main reference pixels, respectively, are added to the current block.
- the prediction block may be generated as a prediction value for the pixel.
- the at least one sub block may be obtained by dividing the current block using one of the quadtree method and the binary tree method, or may be obtained by dividing the current block by using the quadtree method and the binary tree method.
- the generating of the prediction block may include generating a prediction block using a difference value between a main reference pixel among reconstructed pixels and a current pixel to be predicted in the current block and a difference value between two pixels at corresponding positions based on the prediction direction in the screen. Correcting the reference pixel and generating a prediction block using the corrected main reference pixel.
- the main reference pixel may be corrected by adding a difference value to the main reference pixel or adding a weighted value to the main reference pixel.
- the main reference pixel may be corrected only when the pixel of the current pixel is predicted within a predetermined range.
- FIG. 1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
- FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
- FIG. 3 is a block diagram of an image decoding apparatus 30 according to an embodiment of the present invention.
- FIG. 4 is an exemplary diagram for describing block division according to an embodiment of the present invention.
- FIG. 5 is an exemplary diagram for describing partitioning between a quadtree method and a binary tree method according to an embodiment of the present invention.
- FIG. 6 is an exemplary diagram of a shape of a prediction block obtained by dividing a coding block according to an embodiment of the present invention.
- FIG. 7 is an exemplary diagram of dividing a prediction block from a coding block according to an embodiment of the present invention.
- FIG. 8 is an exemplary diagram for describing a partitioning form of a transform block according to an embodiment of the present invention.
- FIG. 9 is an exemplary diagram for describing a method of dividing a transform block from a coding block according to an embodiment of the present invention.
- FIG. 10 is an exemplary diagram for describing an intra prediction mode performed in HEVC.
- FIG. 11 is an exemplary diagram for describing an intra prediction mode according to an embodiment of the present invention.
- FIG. 12 is an exemplary diagram for describing a reference pixel applicable in a horizontal or vertical mode according to an embodiment of the present invention.
- 13 is an exemplary diagram for comparing general block based prediction and pixel based prediction.
- FIG. 14 is an exemplary diagram for explaining a general intra prediction method.
- 15 is an exemplary diagram for describing a process of independently transforming and quantizing a residual block after intra prediction according to an embodiment of the present invention.
- FIG. 16 is an exemplary diagram for describing dependent intra prediction with reference to a subblock in which encoding is completed in a current block in intra prediction according to an embodiment of the present invention.
- 17 is an exemplary diagram for describing a process of independently transforming and quantizing a residual block with respect to a current block to which binary division is applied according to an embodiment of the present invention.
- FIG. 18 is an exemplary diagram for explaining dependent intra prediction with reference to a subblock in which encoding of a current block is completed with respect to a current block to which binary division is applied according to an embodiment of the present invention.
- FIG. 19 is an exemplary diagram of an intra prediction method incorporating pixel based prediction according to an embodiment of the present invention.
- 20 is an exemplary diagram for a method of predicting using a slope or difference value of a reference pixel in block-based intra prediction according to an embodiment of the present invention.
- 21 is a diagram illustrating a method of predicting a horizontally divided sub block in prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 22 is a diagram illustrating a method of predicting a vertically divided subblock in prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 23 is a first exemplary diagram of a method of predicting a subblock divided into pixel lines in a prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 24 is a second exemplary view of a method of predicting a subblock divided into pixel lines in a prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 25 is a first exemplary diagram for a method of predicting a subblock divided by a quadtree method in a prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 26 is a second exemplary diagram for a method of predicting a subblock divided by a quadtree method in a prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 27 is a second exemplary diagram for a method of predicting a subblock divided according to odd or even coordinates in a prediction in a vertical mode screen according to an embodiment of the present invention.
- FIG. 28 is an exemplary diagram for a method of performing prediction by further using a slope or a difference value of a reference pixel in intra prediction in a diagonal mode according to an embodiment of the present invention.
- 29 is a diagram illustrating a method of performing prediction on a sub-block divided horizontally in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- FIG. 30 is a diagram illustrating a method of performing prediction on a subblock horizontally divided in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- FIG. 31 is a diagram illustrating a method of performing prediction on a subblock vertically divided in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- 32 is a diagram illustrating a method of performing prediction on sub-blocks vertically divided in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- 33 is a diagram illustrating a method of predicting a subblock divided into pixel lines in intra prediction in a diagonal mode according to an embodiment of the present invention.
- FIG. 34 is a second exemplary diagram for a method of predicting a subblock divided into pixel lines in intra prediction in a diagonal mode according to an embodiment of the present invention.
- 35 is an exemplary diagram of a flag indicating presence or absence of coding coefficients in units of a transform block.
- 36 is an example of syntax for a residual block in HEVC.
- FIG. 37 is an exemplary diagram for describing encoding of coding coefficients according to an embodiment of the present invention.
- 39 is a flowchart illustrating a decoding method using intra prediction according to an embodiment of the present invention.
- 40 is a block diagram of a decoding apparatus using intra prediction according to an embodiment of the present invention.
- first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
- the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
- FIG. 1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
- the video encoding apparatus 105 and the decoding apparatus 100 may include a personal computer (PC), a notebook computer, a personal digital assistant (PDA), and a portable multimedia player (PMP). Player), PlayStation Portable (PSP: PlayStation Portable), wireless communication terminal (Wireless Communication Terminal), smart phone (Smart Phone), such as a user terminal such as a TV, or a server terminal such as an application server and a service server, etc.
- PC personal computer
- PDA personal digital assistant
- PMP portable multimedia player
- Player Portable
- PSP PlayStation Portable
- wireless communication terminal Wireless Communication Terminal
- smart phone Smart Phone
- a user terminal such as a TV
- server terminal such as an application server and a service server, etc.
- a communication device such as a communication modem for communicating with a wired / wireless communication network, a memory (memory 120, 125) for storing various programs and data for inter or intra prediction for encoding or decoding an image, and an operation by executing a program And various devices including processors (processors 110 and 115) for controlling.
- the image coded by the video encoding apparatus 105 into a bitstream is real-time or non-real-time through a wired or wireless network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, a mobile communication network, or the like.
- the image decoding apparatus 100 may be transmitted to the image decoding apparatus 100 through various communication interfaces such as a universal serial bus (USB), and may be decoded by the image decoding apparatus 100 to restore and reproduce the image. Also, an image encoded in the bitstream by the image encoding apparatus 105 may be transferred from the image encoding apparatus 105 to the image decoding apparatus 100 through a computer-readable recording medium.
- USB universal serial bus
- FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
- the prediction unit 200 the subtraction unit 205, the transformation unit 210, the quantization unit 215, and the inverse quantization unit 220.
- An inverse transform unit 225 an adder 230, a filter 235, a decoded picture buffer 240, and an entropy encoder 245.
- the prediction unit 200 may perform prediction through intra prediction or inter prediction with respect to the block to be currently encoded in the image.
- a prediction block is generated according to a predetermined optimal prediction mode of intra prediction or inter prediction, and the prediction mode may include intra prediction mode, motion related information, and the like.
- the subtractor 205 may generate a residual image block by subtracting pixel values of the prediction block from pixel values of the current block to be encoded to derive pixel difference values.
- the transformer 210 may generate a transform block by transforming the residual block received from the subtractor 205. That is, the residual signal belonging to the spatial domain may be converted into the residual transform signal belonging to the frequency domain.
- transformation methods such as a Hadamard Transform, a Discrete Cosine Transform, a Discrete Sine Transform, and the like are used.
- various conversion techniques such as a method of improving and modifying the same, may be used.
- the quantization unit 215 may quantize the transform block to generate a quantized transform block. That is, the residual transform signal obtained from the transform unit may be quantized into a quantized residual transform signal.
- the quantization method used dead zone uniform threshold quantization (DZUTQ), a quantization weighted matrix, or an improved technique may be used.
- the entropy encoder 245 may output a bitstream by encoding the quantized transform block.
- context-adaptive variable length coding context-adaptive binary arithmetic coding, or the like may be used as the encoding method.
- the bitstream including the additional information necessary for the encoding process may be generated and output, wherein the additional information may include information on block division, information on prediction mode, transform information, quantization coefficient, and the like. have.
- the inverse quantizer 220 and the inverse transformer 225 may reconstruct the residual block using the pixel signal by applying inverse quantization and inverse transformation, respectively.
- the reconstructed residual block may be added to the prediction block by the adder 230 to generate a reconstructed block, and the reconstructed block is stored in the decoded picture buffer 240 and accumulated in a block unit or a picture unit to be predicted 200. It may be transferred to and used by referring to the next block or the next picture.
- the filter unit 235 may apply a deblocking filter to the reconstructed image block to remove a blocking phenomenon as necessary, and an additional loop filter is applied to filter the video block to improve the video quality. Can be.
- FIG. 3 is a block diagram of an image decoding apparatus 30 according to an embodiment of the present invention.
- the image decoding apparatus 30 may include an encoded picture buffer 300, an entropy decoder 305, a predictor 310, an inverse quantizer 315, an inverse transform unit 320, and an adder / subtractor ( 325, a filter 330, and a decoded picture buffer 335.
- the prediction unit 310 may be configured to include an intra prediction module and an inter prediction module.
- the image bitstream may be stored in the encoded picture buffer 300.
- the entropy decoder 305 may restore the quantized transform block from the bitstream.
- additional information necessary for the decoding process may be recovered from the bitstream, and the information may be transmitted to the predictor 310, the inverse quantizer 315, the inverse transformer 320, and the like.
- the prediction unit 310 may generate a prediction block for the current block based on the data received from the entropy decoding unit 305.
- the prediction block may be generated based on the reference image stored in the decoded picture buffer 335 and the reconstructed prediction block information, wherein the prediction block information may include prediction mode information and prediction block acquisition information (the size and shape of the block in this example). , Partition information of a block), and the like.
- the inverse quantizer 315 may inverse quantize the quantized transform coefficients provided in the bitstream and decoded by the entropy decoder 305.
- the inverse transform unit 320 may generate a residual block by applying an inverse transform technique to the quantized transform coefficients.
- the inverse quantization unit 315 and the inverse transform unit 320 perform the processes performed by the transform unit 210 and the quantization unit 215 of the image encoding apparatus 20 described above, and may be implemented in various ways. have.
- the same process and inverse transform shared with the transform unit 210 and the quantization unit 215 may be used, and information about the transform and quantization process from the image encoding apparatus 20 (for example, transform size and transform). Shape, quantization type, etc.) may be used to reverse the transform and quantization processes.
- the residual block that has undergone inverse quantization and inverse transformation may be added to the prediction block derived by the prediction unit 310 to generate an image block reconstructed. This addition can be made by the adder and subtractor 325.
- the filter 330 may apply a deblocking filter to the reconstructed image block to remove a blocking phenomenon, if necessary, and improve the video quality of other loop filters before and after the decoding process. Can be used for
- the reconstructed and filtered image block may be stored in the decoded picture buffer 335.
- a block setting unit may be further included.
- the block setting unit may be set in relation to each component of the image encoding and decoding apparatus, and the size and shape of the block may be determined through this process.
- the set block may be defined differently according to the configuration unit, and the prediction block 200 may correspond to the prediction block, and the transform unit 210 may correspond to this. That is, a block unit may be defined according to a component, and the present invention will be described with reference to coding blocks, prediction blocks, and transform blocks. However, the present invention is not limited thereto, and block units according to other components may be further defined.
- the size and shape of the block may be defined by the width and length of the block.
- the block setting unit may define the size and shape (such as information related to the maximum value and the minimum value) that the block unit may have. Also, the block setting unit may define a block division setting (in this example, a division scheme, a depth of division, etc.) in units of blocks.
- a block having at least one size and shape that can be obtained in a block unit (a square shape due to individual horizontal / vertical lengths in this example or a rectangular shape having at least one horizontal / vertical ratio) may be defined.
- the defined setting may be determined in units of a sequence, a picture, a slice, a tile, or the like, may be included in a bitstream, parsed by a decoder, and restored to related information.
- each image unit may have one setting and may have two or more settings, which are slice type (I / P / B), encoding mode (Intra / Inter), and color component (Y / Cb / Cr). It may be determined according to one or two or more information combinations of information such as temporal layer (Temporal Id). In the case of having more than one setting, the related information may be implicitly determined, or the related information may be generated explicitly.
- slice type I / P / B
- encoding mode Intra / Inter
- color component Y / Cb / Cr
- Temporal Id temporal layer
- the related information may be implicitly determined, or the related information may be generated explicitly.
- block information for determining an optimal block unit (the size and shape of the block in this example) among blocks having at least one size and shape that can be obtained in the block unit may be generated.
- Related information may be generated (eg, a split flag, a split index, etc.) according to the definition (partitioning scheme, split depth, etc.) according to the block division setting.
- the block division information may be determined in units of blocks and included in the bitstream, and may be parsed by a decoder and restored to related information. This may be determined at the stage before the start of the component of the encoding and decoding process.
- Block size and shape information may be determined, and in case of more than one block, block partition information may be explicitly generated. For example, one of an implicit or explicit method may be determined by considering information such as a maximum block size, a minimum block size, a depth, a current block size, and the like in a corresponding block unit.
- the same division setting or different division setting may be followed according to the block unit.
- the same partitioning scheme (the partitioning according to the tree structure in this example and a quadtree scheme) may be used in the coding block and the prediction block, and the same partitioning depth depth may be used.
- the prediction block and the transform block may use different partitioning schemes (in this example, the prediction block performs partitioning according to index selection, and the transform block performs partitioning according to a tree structure, among which a quadtree method).
- a hierarchical partitioning scheme in this example, the prediction block performs partitioning according to index selection within a single layer, and the transform block performs partitioning according to a tree structure in multiple layers having a partition depth of 1 or more).
- the coding block and the transform block may use different partitioning schemes (in this example, partitioning according to a tree structure, and the coding block is a quadtree method, a binary tree method, and a transform block are quadtree methods), and the same partitioning depth is allowed. Depth can be used.
- the partition depth refers to the number of spatial divisions based on the initial block in the block unit (in this example, the depth of the initial block is 0). As the depth increases, the split depth may be divided into smaller blocks. This may vary the depth related setting according to the division method. For example, the depth in the quadtree method and the depth in the binary tree method may use one common depth, and individual depths may be used in the splitting according to the tree structure.
- the size and shape of the initial block (the block before performing the partitioning) in the lower block unit is determined according to the partitioning result of the upper block unit, and may affect the generation of the partition related information (block information after the partitioning in this example).
- the coding block may be an upper unit of the prediction block and the transform block, and the prediction block may or may not be an upper unit of the transform block. This may be determined according to the encoding setting. For example, when the encoding mode is Intra, the prediction block may be an upper unit of the transform block, and when Inter, the prediction block may be a unit independent of the transform block.
- one or more block units may be combined to share one partitioning scheme.
- the coding block and the prediction block may have one optimal block obtained through division (one block size and shape in this example), which is a basic unit of encoding and prediction. (In this example, a unit that does not perform further division).
- the coding block and the transform block may have one optimal block, which may be a basic unit of encoding and transform.
- the coding block, the prediction block, and the transform block may have one optimal block, which may be a basic unit of encoding, prediction, and transformation. This may be determined according to one or two or more information combinations of information such as a slice type, an encoding mode, and a color component.
- each block unit is individual, it may be applicable to other block units, and modifications to two or more integrated cases of each block unit may also be possible.
- FIG. 4 is an exemplary diagram for describing block division according to an embodiment of the present invention.
- a splitting form having a tree structure may be described as a method of splitting a coding block.
- the present invention will be described as an example of splitting according to a tree structure by using a quadtree method and a binary tree method as an example, but the present invention is not limited thereto. Can be used.
- the obtainable coding blocks may be 4a (not split) and 4d (2 split in the horizontal and vertical directions, respectively).
- the coding blocks obtainable may be 4a, 4b (two divisions in the horizontal direction) and 4c (two divisions in the vertical direction), and the coding blocks obtainable when the two methods are used in combination are 4a, 4b. , 4c, 4d.
- the quadtree method one partitioning flag is supported with respect to partitioning, and if the corresponding flag is 0, it may have a block form of 4a and 1d.
- one or more partitioning flags are supported, one of which may be a flag indicating whether to split, one of which may be a flag indicating whether to split horizontally or vertically, and one of which is split horizontally or vertically. It may be a flag indicating whether or not the cum.
- L1 (horizontal division) and L2 (vertical division) may be lines that divide the boundaries between blocks when performing binary tree splitting
- L3 and L4 may be lines that divide the boundaries between blocks when performing quadtree splitting.
- L3 and L4 may be borders in binary tree partitions such as horizontal partitions and vertical partitions, as in L1 and L2, and L3 and L4 borders under the enabled setting where the borders of L3 and L4 overlap.
- Quadtree splitting may also be performed.
- the coded blocks obtainable under the setting where the boundary lines of L3 and L4 are not allowed to overlap may be 4a, 4b, and 4c, and the coded blocks obtainable under the setting where the boundary lines may be overlapped are 4a, 4b, 4c, May be 4d.
- the pre-divided coding block has a square shape (M ⁇ M) such as 4a to 4d, a divided block such as M ⁇ M / 2, M / 2 ⁇ M, M / 2 ⁇ M / 2, and the like may be obtained.
- split blocks such as M ⁇ N / 2, M / 2 ⁇ N, and M / 2 ⁇ N / 2 may be obtained.
- a coding block having an aspect ratio such as the like may be obtained.
- an additional partition block (for example, a ratio different from the aspect ratio) may be possible through a quadtree, a binary tree, and other modifications thereof.
- a coding block that may be acquired according to a maximum coding block size, a minimum coding block size, an allowable depth, a partitioning scheme, an encoding mode, a slice type, and the like may be obtained.
- the block of the largest coding unit has a square shape of M ⁇ M, it may have a rectangular shape of M ⁇ N such as 2M ⁇ M and M ⁇ 2M (in the above example) according to the division scheme used.
- FIG. 5 is an exemplary diagram for describing partitioning between a quadtree method and a binary tree method according to an embodiment of the present invention.
- a thick solid line L0 denotes a maximum coding block
- a block partitioned by a thick solid line and another line L1 to L5 denotes a divided coding block
- the number inside the block denotes a divided subblock.
- the coded block obtainable according to various factors may be limited.
- the maximum coding block of 5a is 64 ⁇ 64
- the minimum coding block is 16 ⁇ 16, and uses quadtree splitting.
- 2-3-0, 2-3-1, 2-3-2 because 2-0, 2-1, 2-2 blocks (16 ⁇ 16 size in this example) are equal to the minimum coding block size.
- block division information is not generated in blocks 2-0, 2-1, 2-2, and 2-3 because the obtainable block has 16x16 blocks, that is, one candidate group.
- the maximum coding block of 5b is 64 ⁇ 64
- the minimum coding block is 8 in width or length
- the allowable depth is 3.
- the 1-0-1-1 (16 ⁇ 16 size in this example, depth depth 3) block satisfies the minimum coding block condition, it may be divided into smaller blocks. However, it may not be divided into higher depth blocks (blocks 1-0-1-0-0, 1-0-1-0-1 in this example) because it is equal to the allowable depth.
- the block partitioning information is not generated because the obtainable block has 16 ⁇ 8 blocks, that is, one candidate group.
- quadtree type splitting may be supported or binary tree splitting may be supported according to encoding settings.
- quadtree partitioning and binary tree partitioning may be mixed and supported. For example, one of the above schemes or a mixture thereof may be supported depending on the block size, depth, and the like. If the block belongs to the first block range Min_Q to Max_Q, the quadtree method may be supported. If the block belongs to the second block range Min_B to Max_B, the binary tree method may be supported. If one or more partitioning schemes are supported, one or more of the maximum coding block size, minimum coding block size, and allowable depth may be set according to each scheme that may be provided. The range may or may not be set by overlapping the ranges of each other. Alternatively, a setting in which one range includes another range may also be possible. Settings for this may be determined according to individual or mixed factors such as a slice type, an encoding mode, and a color component.
- the block division setting may be determined according to the slice type.
- the supported block division setting may support division in the range of 128 ⁇ 128 to 32 ⁇ 32 in the quadtree scheme and division in the range of 32 ⁇ 32 to 8 ⁇ 8 in the binarytree scheme.
- the block division setting supported for P / B slices can support division in the range of 128 ⁇ 128 to 32 ⁇ 32 for the quadtree method and division in the range of 64 ⁇ 64 to 8 ⁇ 8 for the binary tree method. have.
- a block division setting may be determined according to an encoding mode.
- the block division setting supported may support partitioning in the 64 ⁇ 64 to 8 ⁇ 8 range and an allowable depth of 2 in the binary tree method.
- the supported block division setting may support 3 in the 32 ⁇ 32 to 8 ⁇ 8 range and an allowable depth in the binary tree method.
- the block division setting may be determined according to the color component.
- the luminance component it is possible to support division in the range of 256 ⁇ 256 to 64 ⁇ 64 in the case of the quadtree method and division in the range of 64 ⁇ 64 to 16 ⁇ 16 in the case of the binary tree method.
- the same setting as the luminance component in the quadtree method in this example, the length of each block is proportional to the color difference format
- the binarytree method in the range of 64 ⁇ 64 to 4 ⁇ 4 (this example In the same luminance component may support division in 128 ⁇ 128 to 8 ⁇ 8.4: 2: 0).
- FIG. 6 is an exemplary diagram of a shape of a prediction block obtained by dividing a coding block according to an embodiment of the present invention.
- a block partitioning form having one or more candidate groups in a single layer may be supported, and block partitioning may be supported with additional depth support.
- index information may be generated by various binarization processes for two or more block partition types, and information about the block partition type may be indicated.
- Information on a block partition type may be indicated by generating information on a partition flag according to a partitioning method (quadtree, binary tree, etc. in this example).
- a description will be given based on a method of representing information on a block partitioning shape by generating index information of two or more block types in a single layer.
- the coding block has a square shape.
- the coding block may be changed to the same aspect ratio as in FIG. 6.
- some of the candidate groups of FIG. 6 may be set as prediction block candidate groups.
- 6a and 6h may be candidate groups in the form of prediction blocks.
- 6a, 6b, 6c, and 6d may be candidate groups.
- 6a to 6h may be placed in the candidate group.
- FIG. 7 is an exemplary diagram of dividing a prediction block from a coding block according to an embodiment of the present invention.
- a solid line indicates a coding block
- a block divided by a solid line and a dotted line means a prediction block
- the number inside the block indicates the position of the prediction block divided in each coding block (in this example, the raster scan order).
- 7a shows an example in which a square coding block is obtained through quadtree partitioning, and a prediction block is obtained from the coding block.
- FIG. 7b a rectangular coding block is obtained through binary tree partitioning, and a prediction block in the coding block is obtained.
- An example obtained is shown.
- 7a may use a quadtree method or a binary tree method to divide a coding block into a prediction block
- 7b may use a quadtree method or a binary tree method to divide a coding block into a prediction block.
- the prediction blocks obtained from the square-shaped coding blocks are M ⁇ M, M ⁇ M / 2, M / 2 ⁇ M, and M.
- the prediction block obtained from the rectangular coding block may be M ⁇ N, M ⁇ N / 2, M / 2 ⁇ N, or M / 2 ⁇ N / 2.
- a prediction block obtained from a square coding block has a ratio of horizontal / vertical or vertical / lateral ratio 1: 1 or 1: 2, whereas a prediction block obtained from a rectangular coding block is a coding block before partitioning a prediction block.
- k may be determined by a maximum coding block size, a minimum coding block size, an allowable depth, a shape of a prediction block, a division method of a prediction block, and the like.
- the splitting form or scheme of the prediction block may be set differently.
- the partitioned form or scheme of the predicted block may be set differently according to when the coding block before splitting the prediction block is square and rectangular.
- the splitting form or scheme of the prediction block may be set differently according to the encoding mode.
- the splitting form or method of the prediction block may be set differently according to the size or depth of the coding block.
- a coding block is divided by a quadtree method or when the coding block is a square shape
- some of candidate groups including 6a to 6h of FIG. 6 and other additional splitting shapes may be included in the splitting shape of the prediction block.
- the prediction blocks may be divided in a quadtree manner to include the divided forms of 6a, 6b, and 6c of FIG. 6.
- 6a when a coding block is divided by a binary tree method or when the coding block has a rectangular shape, 6a may be included in a split form (M ⁇ N) of the prediction block.
- the prediction block may be partitioned in a binary tree manner to include a partition type of 6a (M ⁇ N). This may mean that the additional block is not supported in the prediction block unit.
- a coding block having a rectangular shape in addition to the square shape may be acquired in the encoding block obtaining process, and thus, division in a prediction unit may not be separately supported.
- a coding block and a prediction block are combined to share one division scheme, and thus information about a prediction block division type may not be generated.
- the prediction block when the coding block is rectangular, the coding mode is Intra, and the prediction block of the intra prediction may be squared, the prediction block may be divided according to a horizontal or vertical length having a short length of the coding block.
- the prediction block When the coding block is 2M ⁇ M and the coding mode is Intra, the prediction block may be divided into two M ⁇ M blocks. It may not generate information about the partition.
- the intra prediction block supports the square and the rectangular shapes
- some of the candidate groups including 6a to 6h of FIG. 6 and other additional partition shapes are divided into the partitions of the prediction block. It may include.
- the prediction blocks may be divided by the quadtree to include the divided forms of 6a and 6h of FIG. 6.
- the coding block when the coding block is square, the coding mode is Intra, and the intra prediction block supports the square and the rectangular shapes, some of the candidate groups including 6a to 6h of FIG. It may include.
- the prediction blocks may be divided by the binary tree method to include the partition types of 6a, 6b, and 6c of FIG. 6.
- the coding block belongs to the first block range Min1 to Max1, some of the candidate groups including the 6a to 6h of FIG. 6 and other additional block shapes (candidate group 1) may be included in the prediction block partitioning form.
- the candidate groups including candidates 6a to 6h of FIG. 6 and other additional divisional forms (candidate group 2) may be included in the prediction block divisional form.
- the maximum size of the prediction block may be equal to or smaller than the maximum coding block size, and the minimum size of the prediction block may be equal to or smaller than the minimum coding block size. Accordingly, the partition type of the prediction block may be limitedly supported.
- the maximum coding block size is 64 ⁇ 64
- the current coding block is 64 ⁇ 64
- the maximum prediction block size is 32 ⁇ 32
- the supported prediction block candidates are M ⁇ N (based on the coding block) and M ⁇ N / 2.
- the prediction block candidate groups may be 64 ⁇ 64, 64 ⁇ 32, 32 ⁇ 64, or 32 ⁇ 32.
- 32 ⁇ 32 may be a candidate group that can be supported, and split information may be determined to be 32 ⁇ 32 implicitly without generating information on the prediction block candidate group.
- the minimum coded block size is 8 ⁇ 8
- the current coded block is 16 ⁇ 8
- the minimum predicted block size is 8 ⁇ 8
- the supported prediction block candidates are M ⁇ N (based on the coded block) and M ⁇ N / 2.
- the prediction block candidate groups may be 16 ⁇ 8, 16 ⁇ 4, 8 ⁇ 8, and 8 ⁇ 4. Since some of them are smaller than the minimum prediction block size, 16 ⁇ 8 and 8 ⁇ 8 except this may be included in the prediction block candidate group, and index information may be generated through binarization using the candidate group.
- FIG. 8 is an exemplary diagram for describing a partitioning form of a transform block according to an embodiment of the present invention.
- a transform block is a basic unit of a transform and may have one or more block types through partitioning of a coding block.
- the prediction block may have one or more block types through partitioning.
- partitioning may be performed from a coding block using a quadtree scheme, and one or more square transform blocks may be obtained according to a minimum transform block size and an allowable depth.
- the supportable transform block size and shape may be determined according to the encoder setting.
- the obtainable transform blocks may be 8a and 8d (this example is based on one depth). Accordingly, the conversion blocks obtainable when the binary tree method is used may be 8a, 8b, and 8c, and the conversion blocks obtainable when the two methods are used together may be 8a, 8b, 8c, and 8d.
- a split flag is supported in relation to splitting, and when the corresponding flag is 1, 8a and a block type of 8d are shown.
- one or more partitioning flags are supported, one of which may be a flag indicating whether to split, one of which may be a flag indicating whether to split horizontally or vertically, and one of which is split horizontally or vertically. It may be a flag indicating whether or not the cum.
- the pre-division coding block has a square shape (M ⁇ M) as in the above example, a transform block such as M ⁇ M / 2, M / 2 ⁇ M, M / 2 ⁇ M / 2, etc. may be obtained.
- a transform block such as M ⁇ N / 2, M / 2 ⁇ N, or M / 2 ⁇ N / 2 may be obtained.
- a transform block having an aspect ratio such as may be obtained.
- an additional split block (for example, a format different from the aspect ratio) may be possible through a quadtree, a binary tree, and other modifications thereof.
- the transform block may be obtained of transform blocks having various sizes and shapes according to information on the size of the maximum transform block, the size of the minimum transform block, the allowable depth, the partitioning method, and the like.
- the depth is checked based on the coding block (in this example, the depth of the coding block is 0). As the depth increases, the depth is divided into smaller transform units and may be divided up to the minimum transform unit.
- FIG. 9 is an exemplary diagram for describing a method of dividing a transform block from a coding block according to an embodiment of the present invention.
- 9a and 9b represent transform blocks divided into solid lines or dotted lines on the basis of coding blocks, and are indicated by numbers in blocks to indicate each transform block.
- a coded block is divided into quadtrees
- 9b is divided into binarytrees
- 9a and 9b are assumed to have a mixture of quadtree and binarytrees. It may be assumed that 8a, 8b, 8c, and 8d of FIG. 8 are obtainable transform blocks.
- a coding block has a split form of FIG. 7, and FIGS. 9 and 7 show examples of splitting of a transform unit and split of a prediction unit.
- Block 4 in 9a is a square coding block divided by a quadtree method, and means a transform block of the same shape as 8a of FIG. 8 that is not divided at depth 0, and is a block composed of a combination of blocks 1, 2, and 3 Is a square coding block divided by a quadtree method, and blocks 1 and 2 are transform blocks having the same shape as 8c of FIG. 8 divided at depth 1, and block 3 is 8b of FIG. 8 divided at depth 0.
- the first block is not divided so that there is no influence between the prediction block and the transform block.
- the blocks 1 to 3 transform blocks
- the blocks 0 to 1 prediction blocks located at the same positions as the blocks 1 to 3 in FIG. It can be seen that the partition type of blocks 1 to 3 was affected. That is, it may be determined whether the partitioning of the transform block and the partitioning of the prediction block perform independent partitioning or dependent partitioning according to the encoder setting.
- the splitting form of the transform block may be set differently.
- the divided form of the transform block may be set differently according to when the encoded block before splitting the transform block has a square form and a rectangular form.
- the partition type of the transform block may be set differently according to the encoding mode.
- the partition type of the transform block may be set differently according to the size or depth of the coding block.
- the transform block may include a split shape of a quadtree type transform block as illustrated in 8a and 8d of FIG. 8.
- an additional quadtree method may be divided according to the depth.
- the transform block may include a divided form of a binary tree type transform block as illustrated in 8a, 8b, and 8c of FIG. 8. have.
- additional binary tree type partitioning is possible according to the depth.
- the transform block may include a divided form of a binary tree type conversion block as shown in 8b and 8c of FIG. 8. That is, the transform block can be divided according to the length or width of the block. For example, if 2N ⁇ N is a coding block, 8c may obtain two N ⁇ N transform blocks, but in 8b, two 2N ⁇ N / 2 transform blocks are obtained to support a square transform block. Since it does not meet the condition, it may be excluded from the partition candidate of the transform block. In this case, the binary tree type transform block splitting flag may be omitted because 8c is the only candidate.
- N ⁇ 4N is a coding block
- the depth is divided into two N ⁇ 2N transform blocks through depths 8 through 8b, and the depth is divided into two N ⁇ N transform blocks through depths through 8b and divided into four N ⁇ N transform blocks.
- the transform block splitting flag can also be omitted because there are only 8b splitting flag candidates in each depth.
- 8a of FIG. 8 may be included in the split form M ⁇ N of the transform block. This may mean that the additional block is not supported in the transform block unit. This means that the transform block splitting flag can be omitted.
- quadtree partitioning may be supported or binary tree partitioning may be supported.
- quadtree partitioning and binary tree partitioning may be mixed and supported.
- one of the above schemes or a mixture thereof may be supported depending on the block size, depth, and the like.
- the quadtree method may be supported.
- the block belongs to the second block range Min_B to Max_B the binary tree method may be supported.
- one or more partitioning schemes may have one or more settings such as a maximum transform block size, a minimum transform block size, and an allowable depth.
- the range may or may not be set by overlapping the ranges of each other.
- the block division setting may be determined according to the slice type.
- the block division setting supported may support partitioning in the range of 64 ⁇ 64 to 16 ⁇ 16 for the quadtree method and splitting for the range of 16 ⁇ 16 to 4 ⁇ 4 for the binary tree method.
- the block division setting supported may support partitioning in the range of 64 ⁇ 64 to 16 ⁇ 16 for the quadtree method and splitting for the range of 32 ⁇ 32 to 4 ⁇ 4 for the binary tree method.
- a block division setting may be determined according to an encoding mode.
- the supported block division setting may support 3 in the range of 16 ⁇ 16 to 4 ⁇ 4 and allowable depth in the binary tree method.
- the supported block partitioning configuration can support 4 partitioning in the range of 32 ⁇ 32 to 4 ⁇ 4 and allowable depth in the binary tree method.
- the block division setting may be determined according to the color component.
- the luminance component it is possible to support division in the range of 64 ⁇ 64 to 8 ⁇ 8 in the case of the quadtree method and division in the range of 32 ⁇ 32 to 8 ⁇ 8 in the case of the binary tree method.
- the color difference component the same setting as the luminance component in the quadtree method (in this example, the length of each block is proportional to the color difference format) and the binary tree method are divided in the range of 8 ⁇ 8 to 4 ⁇ 4.
- a square transform block or a rectangular transform block may be supported according to an encoding setting.
- a square transform block and a rectangular transform block may be mixed and supported.
- one or more of the above shapes may be supported depending on the block size, depth, and the like. If the block belongs to the first block range Min_S to Max_S, a square shape may be supported. If the block belongs to the second block range Min_R to Max_R, the block may be of a rectangular shape.
- one or more settings of the maximum transform block size, the minimum transform block size, and the allowable depth may be set according to each type that may be provided.
- the range may or may not be set by overlapping the ranges of each other.
- a setting in which one range includes another range may also be possible. The setting thereof may be determined according to one or more factors such as a slice type, an encoding mode, a color space, or a combination thereof.
- the maximum size of the transform block may be equal to or smaller than the maximum coding block size, and the minimum size of the transform block may be equal to or smaller than the minimum coding block size. Accordingly, the split form of the transform block may be limitedly supported.
- the maximum coding block size is 64 ⁇ 64
- the current coding block is 64 ⁇ 64
- the maximum transform block size is 32 ⁇ 32
- the supported transform block candidates are 32 ⁇ 32, 32 ⁇ 16, 16 ⁇ 32, and 16 ⁇ .
- 8a, 8b, 8c, and 8d of FIG. 8 in which binary tree and quadtree methods are mixed as supported transform block partitioning methods, are candidate groups, depths 0 to 8a, 8b, and 8c are excluded from the partition candidates.
- 8a that does not divide there are no supported transform blocks
- 64 ⁇ 32 and 32 ⁇ 64 obtained by dividing are further divided into (64 ⁇ 32).
- the candidate transform block candidate groups supported may be 32 ⁇ 32 (a), 32 ⁇ 16 (b), 16 ⁇ 32 (c), or 16 ⁇ 16 (d). At depth 1, all candidate groups may be transform blocks supported.
- the current coding block is 16 ⁇ 8
- the minimum size of the transform block is 4 ⁇ 4
- the supported transform block candidates are 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, 4 x 4 and the allowable depth is 2
- the supported conversion block partitioning method is a transform block supported at depth 0 when 8a, 8b, 8c, 8d of Fig. 8 mixed with the binary tree method and the quadtree method is a candidate group
- the division candidate group may be 16 ⁇ 8 (a), 16 ⁇ 4 (b), 8 ⁇ 8 (c), 8 ⁇ 4 (d), but 16 ⁇ 4 is not a supported transform block because 16 ⁇ 4 is not supported.
- 8, 8 ⁇ 8, 8 ⁇ 4 may be included in the transform block candidate group, and partition information may be generated through binarization using the candidate group.
- the transform unit As a conversion method used in the transform unit, techniques such as a Hadamard transform, an ideal cosine transform, and a discrete sine transform may be used. At least one of the transform schemes may be supported, and at least one detailed transform scheme may be supported in each transform scheme. In this case, the at least one detailed transformation technique may be a transformation technique in which a part of the basis vector is configured differently in each transformation technique.
- DCT-based conversion and DST-based conversion may be supported as a conversion method.
- detailed conversion methods such as DCT-I, DCT-II, DCT-III, DCT-V, and DCT-VI may be used. Can be supported.
- One of the above transformations may be set as a basic transformation technique, and may support additional transformation techniques (two or more transformation techniques) and two or more detailed transformation techniques. Whether to support the additional conversion scheme is determined in units of a sequence, a picture, a slice, a tile, and the like, and related information may be generated in the unit.
- the conversion can be performed in the horizontal and vertical directions.
- the pixel value of the spatial axis can be transformed into the frequency axis by performing a one-dimensional transform in the horizontal direction using the basis vector in the transform and performing a total two-dimensional transform by performing the one-dimensional transform in the vertical direction.
- the transformation may be adaptively applied in the horizontal and vertical directions.
- DCT-I when the prediction mode is the horizontal mode, DCT-I may be used in the horizontal direction, and DST-I may be used in the vertical direction, and DST- may be used in the horizontal direction in the vertical mode.
- DCT-II can be used in the vertical direction
- DCT-I can be used in the horizontal direction when it is Diagonal down left
- DCT-II can be used in the vertical direction, and it is horizontal when it is Diagonal down right.
- Is DST-I, and DST-II may be used in the vertical direction.
- a rectangular transform may be supported in addition to a square transform.
- Various cases of the case of supporting square and rectangular transformation are explained through the transform block partitioning process.
- a square transform among the transform forms may be set as a basic transform form, and an additional transform form (rectangular form in this example) may be supported. Whether to support the additional transform type is determined in units of a sequence, a picture, a slice, a tile, and the like, and related information may be generated in the unit.
- the encoding information may correspond to a slice type, an encoding mode, a size and shape of a block, a block division scheme, and the like.
- One transform type may be supported according to at least one encoding information, and two or more transform types may be supported according to at least one encoding information.
- the former may be an implicit situation, the latter an explicit situation.
- adaptive selection information indicating an optimal candidate group among two or more candidate groups may be generated and included in the bitstream.
- the rectangular support may be determined based on the slice type.
- the supported transformation may be a square transformation
- the transformation may be a square or rectangular transformation.
- a rectangular transform support may be determined according to an encoding mode.
- the supported conversion form may be a square form
- the supported transformation form may be a square form or a rectangular form.
- the rectangular support may be determined based on the size and shape of the block.
- the transform type supported in blocks of a predetermined size or more may be a square type transform, and the transform type supported in a block smaller than a predetermined size may be a square or rectangular type of transform.
- the rectangular support may be determined based on the block division scheme.
- the supported transform type may be a square transform.
- the supported transform type is a square shape. Or rectangular transformation.
- the above example is an example of transform type support according to one piece of encoding information, and two or more pieces of information may be combined to participate in additional transform type support setting.
- the above example is not limited to the above, but is an example of additional transform type support according to various encoding settings, and various modification examples may be possible.
- the conversion process may be omitted depending on the encoding setting or the characteristics of the image.
- the conversion process may be omitted when the compression performance through the conversion is not performed according to the characteristics of the image.
- the omitted transform may be an entire unit, or one of horizontal and vertical units may be omitted, and it may be determined whether such omission is supported according to the size and shape of the block.
- the conversion skip flag when the conversion skip flag is 1, the conversion is not performed in the horizontal and vertical directions, and when 0, the conversion may be performed in the horizontal and vertical directions.
- the first conversion skip flag when the first conversion skip flag is 1, the conversion is not performed in the horizontal direction, and when 0 is converted, the conversion is performed in the horizontal direction, and the second conversion skip flag is performed. If 1, no transformation is performed in the vertical direction. If 0, the transformation is performed in the vertical direction.
- the conversion omission may be supported.
- the conversion omission cannot be supported.
- M (m) and N (n) may be the same or different.
- the transformation related setting may be determined in units of a sequence, a picture, a slice, and the like.
- the transform scheme settings may be determined according to the encoding information.
- the encoding information may correspond to a slice type, an encoding mode, a size and shape of a block, a prediction mode, and the like.
- support of the conversion scheme may be determined according to the slice type.
- the conversion techniques supported may be DCT-I, DCT-II, DST-I, or DST-II.
- the supported transformation techniques are DCT-I, DST-I, and DST-II.
- supported conversion schemes may be DCT-I, DCT-II, or DST-I.
- support of a transformation scheme may be determined according to an encoding mode.
- the supported conversion technique may be DCT-I, DCT-II, DCT-III, DST-I, DST-II.
- the supported conversion technique is DCT-I, DCT-II, DST. -II.
- support of the conversion scheme may be determined according to the size and shape of the block.
- Conversion schemes supported on blocks of a certain size may be DCT-I
- transformation schemes supported on blocks of a certain size may be DCT-I, DST-I, and supported on blocks above and below a certain size.
- the conversion technique may be DCT-I, DCT-II, or DST-I.
- the conversion scheme supported in the square form may be DCT-I, DCT-II
- the transformation scheme supported in the rectangular form may be DCT-I, DST-I.
- support of a transformation scheme may be determined according to a prediction mode.
- the conversion scheme supported in prediction mode A may be DCT-I, DCT-II
- the conversion scheme supported in prediction mode B may be DCT-I, DST-I
- the conversion scheme supported in prediction mode C is DCT.
- -I can be.
- prediction modes A and B may be directional modes and prediction mode C may be non-directional modes.
- the above example is an example of supporting a transformation scheme according to one piece of encoding information, and two or more pieces of information may be combined to participate in additional transformation scheme support setting.
- the present invention is not limited only to the above example, and other examples may be modified.
- the following includes a detailed description of the intra prediction of the prediction unit of the present invention.
- Pixels of neighboring coded blocks (in this example, left, bottom left, top left, top, and top right) can be targeted, and pixels of neighboring blocks adjacent to the current block as reference pixels for prediction block generation. Can be used. If a neighboring block is not available, one or more pixels from the available neighboring block may be used to fill in pixel positions of the unavailable block. In this case, if not available, the block may be located outside the boundary of the image (picture, slice, tile, etc.) at the location of the block, or may belong to a condition of limiting use according to an encoding mode (Intra / Inter).
- the position of the available neighboring block may be determined according to the encoding setting. For example, it is possible to use an available pixel that has a spatial distance close to the filling pixel or an available pixel (which may be related to the prediction mode) that is determined to be highly correlated with the filling pixel. This may be determined according to the position of the sub block of the current block, which will be described through the following embodiments.
- the reference pixel used for prediction of the current block may be managed through one temporary memory, which may be a memory used only in the prediction process of the current block.
- Filtering may be applied to the reference pixel configured as described above. This is to apply a low pass filter to at least one reference pixel including the quantization error to reduce the prediction error due to the quantization error.
- Filter information one or more filter coefficients, one or more filter lengths applied according to the size and shape of the prediction block or transform block, the prediction mode in the screen, the position of the sub block in the current block, the position and number of reference pixels to which filtering is applied, and the generation of filtering information. Whether or not the setting may be adaptively determined.
- prediction may be performed by interpolating not only reference pixels in integer units but also reference pixels in decimal units.
- the pixels used for interpolation may be both adjacent pixels at positions to be interpolated, and more pixels may be used.
- a 4-tap, 6-tap filter, etc. may be applied according to the number of pixels used for interpolation, and the filter information (one or more filter lengths, one or more filter coefficients) may be adaptively determined according to the size and shape of the block. .
- FIG. 10 is an exemplary diagram for describing an intra prediction mode performed in HEVC.
- HEVC supports a total of 35 modes (33 directional modes and 2 non-directional modes) to support intra prediction.
- the supported intra prediction mode may vary depending on the size of the block. For example, it is possible to support 67 prediction modes in a 64 ⁇ 64 block, 35 prediction modes in a 32 ⁇ 32 block, and 19 prediction modes in a 16 ⁇ 16 block.
- the supported intra prediction mode may be variable according to the shape of the block, or the definition of the intra intra mode (in this example, a mode interval having directionality) may be changed.
- FIG. 11 is an exemplary diagram for describing an intra prediction mode according to an embodiment of the present invention.
- the shape of the prediction block is square 11a in FIG. 11 for a square (2N ⁇ 2N), 11b for a long rectangular (2N ⁇ N), and 11c for a long rectangular (N ⁇ 2N).
- the same intra prediction mode may be supported.
- the above example may be an example having a narrow mode interval in a long direction among horizontal and vertical and a wide mode interval in a short direction.
- factors such as the number of prediction modes and the interval of the prediction modes may be variously modified, including a fixed or variable case of the above example.
- FIG. 12 is an exemplary diagram for describing a reference pixel applicable in a horizontal or vertical mode according to an embodiment of the present invention.
- the intra prediction of the horizontal mode and the vertical mode in the directional mode may be described.
- p denotes a pixel predicted from the reference pixel
- q denotes a reference pixel of a neighboring block used for prediction. If the reference pixel, and encoding can be obtained from the complete block, left, upper left pixels belong to the lower left, upper, upper right block (the size of the current block is M ⁇ N ⁇ p 0,0 ⁇ p M- 1, N - 1 > q -1,0 ⁇ q -1,2N-1 , q -1, -1 ⁇ q 2M-1, -1 ).
- 13 is an exemplary diagram for comparing general block based prediction and pixel based prediction.
- the pixel value of p may be predicted by extrapolating the reference pixel q according to the direction of the prediction mode.
- a prediction block may be generated using two methods, one of which may be a block-based prediction method or a pixel-based prediction method.
- 13a is a block-based intra prediction method, and all reference pixels q belonging to a block adjacent to the current block may be applied to predict pixels in the current block.
- 13b is a pixel-based intra prediction method, wherein the reference pixel q is used only for prediction of an adjacent pixel, and each pixel is adjacent to it and prediction may be performed from the encoded pixel.
- Equation 1 d denotes a difference value between the input pixel and the prediction pixel in the block-based prediction method.
- Equations (1) and (2) indicate that the prediction modes are the horizontal and vertical modes, respectively. In order of mode).
- the prediction value may be generated using only the reference pixels of the integer unit including the above mode, and in other modes, the prediction value may be generated by obtaining the reference pixels in the decimal unit between the reference pixels of the integer unit.
- an example of using an integer reference pixel for convenience of explanation will be given. This may be changed and applied according to another prediction mode using a reference pixel of a decimal unit.
- equations (3) and (4) indicate the case where the prediction mode is the horizontal and vertical mode, respectively.
- prediction is performed using the nearest pixel placed before the prediction direction.
- the pixels in the first column and the first row are different from the reference pixel, and the others are different from the previous pixel. You can get it.
- the horizontal mode, d x, y is p x, p y and x- 1
- it may be a difference value of y
- the vertical mode d x, y is p x, y and x p, y - It can be a difference of 1 .
- pixel-based difference values may be expressed as (5) and (6) using difference values obtained through block-based prediction. That is, the difference value obtained through pixel-based prediction may be obtained using the difference value obtained through block-based prediction.
- the difference between the pixels in the first column and the first row is the difference based on the pixel-based prediction through the formulas (5) and (6), except for the same difference between the block-based difference and the pixel-based difference. The value can be obtained.
- the residual block which is a set of the difference values, may be configured to restore the residual block through transformation, quantization, and its inverse process. According to the quantization parameter, a lossless or lost residual block may be obtained, and the pixel may be reconstructed by adding the block or the pixel-based prediction block.
- Equation 4 includes a process of reconstruction through block-based prediction.
- p'x , y denotes a reconstructed pixel
- d * x, y denotes a reconstructed difference value
- a lossless or lost value can be obtained according to a quantization parameter.
- Equation 5 includes a process of reconstruction through pixel-based prediction.
- p'x , y denotes a reconstructed pixel
- d '* x, y denotes a reconstructed difference value
- a lossless or lost value can be obtained according to a quantization parameter.
- Equation 6 is derived by applying the expression method according to (5) and (6) of Equation 3 to Equation 5.
- pixel-based prediction it is possible to perform additional prediction by performing post-processing after performing basic prediction and encoding, or to apply pixel-based prediction in basic prediction and encoding.
- lossy compression in the case of block-based prediction and lossless compression in the case of pixel-based prediction will be described, and a basic description will be described based on block-based prediction.
- intra prediction the prediction and encoding order may be applied differently according to the size and shape of the prediction block and the transform block.
- the shape of the coding block is explained on the assumption that the shape of the coding block is square, the prediction block and the transform block are assumed to be square and rectangular.
- the shape of the coding block is not limited to the above conditions, and is also applicable to other conditions. It is possible.
- an intra prediction method according to an embodiment of the present invention will be described.
- FIG. 14 is an exemplary diagram for explaining a general intra prediction method.
- an intra prediction of a current block 2N ⁇ 2N may be performed using a reference pixel adjacent to a current block to be encoded and adjacent to each other, and a prediction block 14-2 may be generated.
- the residual block 2N ⁇ 2N, 14-3 is obtained by the difference between the current block 2N ⁇ 2N and 14-1 to be encoded and the prediction block 2N ⁇ 2N and 14-2. 2N) may be obtained and quantization may be performed on the transform block to develop an encoding process.
- the decoding side may reconstruct the residual block 14-3 through inverse quantization and inversion, and may restore the current block 14-1 by combining the reconstructed residual block and the prediction block 14-2.
- 15 is an exemplary diagram for describing a process of independently transforming and quantizing a residual block after intra prediction according to an embodiment of the present invention.
- the current block may have a block form of 2N ⁇ 2N
- the transform block may have a form of N ⁇ N.
- the sub-blocks (having the size of the transform block) a, b, c, and d of the current block 14-1, using reference pixels in the adjacent block
- the prediction may be performed independently of each other, and the prediction block 14-2 composed of A, B, C, and D obtained accordingly may be encoded for a residual block of a and A, and a residual block of b and B, c.
- Independent encoding of the residual block of and C and the residual block of d and D may be performed. Parallel processing of encoding may be possible through such independent encoding. However, independent encoding may cause a problem of inferior accuracy of prediction.
- FIG. 16 is an exemplary diagram for describing dependent intra prediction with reference to a subblock in which encoding is completed in a current block in intra prediction according to an embodiment of the present invention.
- the current block may have a block form of 2N ⁇ 2N
- the transform block may have a form of N ⁇ N.
- an intra prediction may be performed on sub-block a of the current block by using reference pixels that belong to an adjacent block and adjacent to the current block, and as a result, prediction block A may be generated first.
- the residual blocks of a and A may be derived, transformed, quantized, inverse quantized, and inversely transformed to generate a reconstructed block of a, and then used for intra prediction on subblock b.
- the prediction is performed by using pixels adjacent to sub-block b as additional reference pixels in sub-block a that is already encoded and reconstructed, as well as reference pixels that are adjacent to the current block and adjacent to the current block.
- prediction and encoding may be performed on the c and d using the first encoded subblock.
- a prediction process may be performed in dependence, so that parallel processing may be limited, but the accuracy of prediction may be increased.
- 17 is an exemplary diagram for describing a process of independently transforming and quantizing a residual block with respect to a current block to which binary division is applied according to an embodiment of the present invention.
- the current block may have a 2N ⁇ 2N block form
- the transform block may have a 2N ⁇ N form by binary division.
- prediction and encoding of subblocks a and b may be independently performed using reference pixels belonging to an adjacent block and adjacent to the current block.
- the prediction process may be performed in the same manner.
- FIG. 18 is an exemplary diagram for explaining dependent intra prediction with reference to a subblock in which encoding of a current block is completed with respect to a current block to which binary division is applied according to an embodiment of the present invention.
- the current block may have a block form of 2N ⁇ 2N
- the transform block may have a form of 2N ⁇ N by binary division.
- encoding is performed by using a pixel belonging to a block adjacent to the current block as a main reference pixel, and in the prediction of the sub-block b, the pixel belonging to the encoded a is encoded.
- Intra-prediction may be performed by reference. That is, as in FIG. 16, the prediction may be performed by using the reference pixels of the encoded subblock together, and sequential prediction and encoding may be performed due to the dependency of the prediction.
- d [x] [y] is assigned to the current pixel at arbitrary (x, y) pixel coordinates.
- R [x] [y] denotes the reconstructed differential pixel after the transformation, quantization, and the inverse process are performed on the differential pixel, and p '[x] [y] is the current pixel. It is defined as indicating a pixel reconstructed through prediction and encoding on the pixel.
- 19 is an exemplary diagram illustrating a general pixel-based intra prediction and a block-based intra prediction in a vertical mode.
- 19a is a pixel-based intra prediction. Prediction and encoding of a current pixel are performed from a neighboring reference pixel that has been encoded and reconstructed, and prediction of adjacent pixels in a prediction direction with reference to the current pixel that has been encoded and restored. Encoding may be performed sequentially.
- a derivation process of the prediction pixel based on the pixel coordinate [x] [y] of the current block 2M ⁇ 2N may be expressed by Equation 7 below.
- 19b is a prediction based on a block-based screen, which may predict a current block using reference pixels belonging to a block adjacent to the current block, and specifically, generate a prediction block for the current block by copying the reference pixel in a vertical direction. have. If this is expressed as an equation, Equation 9 below.
- 20 is an exemplary diagram for a method of predicting using a slope or difference value of a reference pixel in block-based intra prediction according to an embodiment of the present invention.
- the pixel-based prediction predicts using the current pixel 20-1 and the reconstructed pixel 20-2 adjacent to the current pixel as a reference pixel. If used as a predictive value, the prediction may be incorrect. Therefore, the difference between the current pixel 20-1 and the restored reconstructed pixel 20-2 adjacent to the current pixel is predicted with reference to the pixel adjacent to the current pixel, thereby correcting the reconstructed pixel 20-2 adjacent to the current pixel. can do.
- the current pixel 20-1 can be predicted by adding d 2 or d 4 to the reconstructed pixel 20-2 adjacent to the current pixel 20-1.
- whether to use d2 or d4 may be determined according to which prediction result using the current is close to the current pixel 20-1, and a weight may be applied to d2 or d4.
- the prediction of the current pixel using the difference value d3 or d4 may be generally used in pixel-based prediction since the pixel deriving the values of d3 and d4 must be reconstructed.
- block unit of prediction transform block in HEVC
- block-based prediction in consideration of the fact that a subblock of the current block may be encoded and reconstructed first as a unit of such a prediction block.
- the current pixel 20-1 is referred to the reconstructed pixel 20-3 adjacent to the current block instead of the reconstructed pixel 20-2 adjacent to the current pixel 20-1.
- Intra-prediction may be performed.
- the position of the current pixel 20-1 and the reconstructed pixel 20-3 adjacent to the current block and the intra prediction mode direction (in the vertical mode) are located at corresponding positions.
- a prediction value of the current pixel 20-1 may be generated by adding the difference values d1 and d3 of the two pixels to the reconstructed pixel 20-3 adjacent to the current block.
- whether to use d1 or d3 may be determined according to which prediction result using the current is close to the current pixel 20-1, and a weight may be applied to d1 or d3.
- the difference values d1 to d4 may be expressed as gradient values between two pixels below.
- Equation 10 if the relationship between the difference value d4 and the current pixel 20-1 and the reconstructed pixel 20-2 adjacent to the current pixel is expressed by a formula, it may be derived as shown in Equation 10 below.
- w0, w1, w2, and w3 may mean weights, weights may be equal to each other, or may be smaller than one.
- Equation 11 the relationship between the difference value d1 and the current pixel 20-1 and the reconstructed pixel 20-3 adjacent to the current block may be expressed by Equation 11 below.
- Equation 11 k is a value for setting an area to which the difference value d1 is applied, and may be applied for the purpose of using the difference value only for pixels having a predetermined range of x coordinates and not using the difference value.
- w0 means a weight applied to the difference value d1 and may be less than 1, or may have an additional weight for adjusting the influence of w0.
- the weight to which the difference value is applied may be set differently according to the k value.
- the weight may be determined based on the distance between the current pixel 20-1 and the main reference pixel to be predicted.
- the reconstructed pixel 20-2 adjacent to the current pixel 20-1 is the main reference pixel, or the reconstructed pixel 20-3 adjacent to the current block.
- 21 is a diagram illustrating a method of predicting a horizontally divided sub block in prediction in a vertical mode screen according to an embodiment of the present invention.
- each sub block is a unit in which intra prediction is performed, and may correspond to a case in which the current block is different from a unit in which prediction is performed.
- the current block is defined as 2 M ⁇ 2N
- the sub block is 2 M ⁇ N.
- each subblock may refer to a transform block in a term of HEVC.
- prediction may be performed with reference to a pixel belonging to a neighboring block that is encoded and reconstructed prior to the current block with respect to the first subblock, and is adjacent to the current block.
- the prediction block for the first subblock may be generated by copying pixel values of pixels belonging to a block adjacent to the current block in a vertical direction.
- the current pixel is corrected by correcting the reference pixel with the difference between two pixels at corresponding positions based on the position of the current pixel to be predicted and the reference pixel adjacent to the current block, and the direction of the prediction mode (in the vertical mode) of the screen. It is possible to generate a predicted value of.
- the prediction block of the first subblock may be generated by using the value obtained by adding the difference value to the reference pixel as the prediction value for the pixel in the first subblock.
- the prediction of the second subblock may be performed by using the pixel adjacent to the second subblock as the main reference pixel in the encoded and reconstructed first subblock.
- the current reference pixel is corrected by correcting the main reference pixel with the difference between the position of the current reference pixel and the main reference pixel adjacent to the current block and the difference between the two pixels at the corresponding position with respect to the intra prediction mode direction (in the vertical mode).
- a prediction value of the pixel may be generated.
- the prediction block of the second subblock may be generated by using the difference obtained by adding the difference value to the main reference pixel as a prediction value for the pixel in the second subblock.
- the main reference pixel in 21b may be filtered to remove pixels in the same direction as the intra prediction direction to remove the quantization error, and may be used as the reference pixel.
- the filtered main reference pixel may be used as it is, or may be corrected and used as a difference value as shown in 21b.
- the prediction block belongs to the same prediction block (in this example, a prediction is performed in units of transform blocks but is obtained by a block constructing unit, and subblocks within the block have the same prediction mode).
- the prediction mode of the reference block may be applied when the prediction mode of the current block is the same.
- a difference value different from that of 21b may be used to predict the current pixel using the aforementioned main reference pixel.
- a prediction value for the current pixel may be generated by correcting the main reference pixel by using a difference value between a pixel belonging to the current block and an adjacent block and the main reference pixel. That is, the prediction value is generated by correcting the slope information of the previous pixels placed in the prediction mode direction in the screen, including the main reference pixel, rather than the slope information of the pixels positioned in the corresponding position with respect to the prediction mode direction in the screen. can do.
- the tilt information may be corrected based on the distance between the current pixel and the main reference pixel.
- FIG. 22 is a diagram illustrating a method of predicting a vertically divided subblock in prediction in a vertical mode screen according to an embodiment of the present invention.
- prediction for a first subblock may be performed using a pixel belonging to a block adjacent to the current block as a main reference pixel.
- the predicted value of the current pixel belonging to the first sub-block may be used by copying the main reference pixel.
- the main reference pixel is determined by the difference between the current pixel to be predicted and the position of the main reference pixel adjacent to the current block and the two pixels at corresponding positions with respect to the intra prediction mode direction (in the vertical mode).
- the predicted value of the current pixel can be generated.
- the prediction block of the first subblock may be generated by using the difference obtained by adding the difference value to the main reference pixel as a prediction value for the pixel in the first subblock.
- a pixel belonging to a block adjacent to the current block is located in an intra prediction direction, and thus becomes a main reference pixel.
- FIG. 22b the position of the current pixel and the main reference pixel to be predicted and the intra prediction mode direction (vertical) are shown.
- a prediction value of the current pixel may be generated by correcting the main reference pixel with a difference value between two pixels at corresponding positions.
- two or more pixels at corresponding positions based on the position of the current pixel and the main reference pixel and the direction of the intra prediction mode may be specified. That is, the difference value in 21c may be considered d1 and d2.
- the main reference pixel may be corrected by d1
- the main reference pixel may be corrected by d2
- the main reference pixel may be corrected by using both d1 and d2.
- the main reference pixel may be corrected with a weighted value for d1 and d2.
- FIG. 23 is a first exemplary diagram of a method of predicting a subblock divided into pixel lines in a prediction in a vertical mode screen according to an embodiment of the present invention.
- the first sub block of the current block to be encoded may be set to pixel lines evenly positioned horizontally with respect to the current block.
- a prediction value may be generated for each pixel in the first sub-block using a pixel belonging to a block adjacent to the current block as the main reference pixel.
- the prediction block for the first subblock may be generated by copying the pixel value of the main reference pixel in the intra prediction direction.
- the prediction of the second sub block may be performed.
- the second sub block may be set to pixel lines horizontally odd with respect to the current block.
- the prediction block for the second sub-block not only pixels belonging to a block adjacent to the current block but also pixels of the first sub-block encoded and reconstructed are located in the prediction direction in the screen, and thus all such pixels are formed. Reference may be made to the prediction of two sub-blocks.
- the prediction of the second subblock may be performed by referring to the current pixel to be predicted and two pixels positioned on the intra prediction direction and adjacent to the current pixel.
- the prediction mode is the vertical mode
- pixels adjacent to the current pixel are positioned above and below the current pixel, and thus, a prediction block for the second subblock may be generated using two pixels located above and below.
- a prediction block may be generated by assigning a weight to each of the two upper and lower pixel values and using the added value as a prediction value.
- FIG. 24 is a second exemplary view of a method of predicting a subblock divided into pixel lines in a prediction in a vertical mode screen according to an embodiment of the present invention.
- the first subblock of the current block to be encoded may be set to an area including pixel lines that are evenly positioned vertically with respect to the current block.
- the process of generating the prediction block for the first sub-block may generate a prediction value for each pixel in the first sub-block using a pixel belonging to a block adjacent to the current block and positioned in the prediction direction in the screen as the main reference pixel. Can be.
- the prediction block for the first subblock may be generated by copying the pixel value of the main reference pixel in the intra prediction direction.
- the prediction of the second sub block may be performed.
- the second sub block may be set to an area including pixel lines vertically odd with respect to the current block.
- a pixel belonging to a block adjacent to the current block may be used as the main reference pixel.
- the pixels of the first sub-block not located in the intra prediction direction may be used to correct the main reference pixel.
- the main reference pixel may be corrected by the difference value between two pixels at corresponding positions based on the position of the current pixel and the main reference pixel to be predicted and the direction of the prediction mode in the screen (if the vertical mode).
- the pixel may be composed of pixels belonging to the first sub-block and pixels belonging to a block adjacent to the current block, as in 24b.
- a difference value for correcting the main reference pixel may be derived from d1 and d2. Only d1 may be used, only d2 may be used, and a weight value may be used for d1 and d2.
- FIG. 25 is a first exemplary diagram for a method of predicting a subblock divided by a quadtree method in a prediction in a vertical mode screen according to an embodiment of the present invention.
- the prediction of the first subblock may be performed by using, as a main reference pixel, a pixel belonging to a block adjacent to the current block and located in the prediction direction in the screen.
- the prediction for the second subblock may be performed using a pixel belonging to a block adjacent to the current block and positioned in an intra prediction direction as a main reference pixel.
- the pixels belonging to the first subblock and adjacent to the third subblock are positioned in the prediction direction of the picture, so that these pixels are referred to as the main reference pixel.
- the prediction for the third subblock may be performed.
- prediction of the fourth subblock may be performed by using, as a main reference pixel, a pixel that belongs to the second subblock and is adjacent to the fourth subblock.
- FIG. 26 is a second exemplary diagram for a method of predicting a subblock divided by a quadtree method in a prediction in a vertical mode screen according to an embodiment of the present invention.
- encoding of a current block divided into first to fourth subblocks is performed. However, at this time, the main reference pixel is corrected using the difference value, or the main reference pixel is filtered. Can be further applied.
- a pixel belonging to a block adjacent to the current block may be a main reference pixel, and the position and screen of the current pixel and the main reference pixel to be predicted may be used.
- the main reference pixel may be corrected by using a difference value between two pixels at corresponding positions in the prediction direction. Also, the correction of the main reference pixel using the difference value may be performed only for the pixels within a certain distance, such as the k range of 26a.
- the process of performing the prediction block on the second sub-block may include a pixel belonging to a block adjacent to the current block as the main reference pixel, and a prediction direction in the localization screen of the current pixel and the main reference pixel to be predicted.
- the main reference pixel may be corrected using the difference value between two pixels at corresponding positions.
- the two pixels may be located in the first sub block in which encoding and reconstruction are completed.
- prediction of a third subblock may be performed by using pixels located in a first subblock in which encoding is completed and adjacent to a third subblock as a main reference pixel, and then intra prediction may be performed on the main reference pixel. Filtering may be further performed on pixels that are in the same direction as the direction.
- prediction in the generating of the prediction block for the fourth subblock, prediction may be performed by using, as a main reference pixel, a pixel belonging to the second subblock in which encoding and reconstruction is completed and adjacent to the fourth subblock.
- additional correction may be performed using the difference value indicated in 26d, and prediction may be performed with the corrected main reference pixel.
- a weight may be applied to the difference value, and the weight may be set based on a distance between the main reference pixel and the current pixel to be predicted.
- FIG. 27 is a second exemplary diagram for a method of predicting a subblock divided according to odd or even coordinates in a prediction in a vertical mode screen according to an embodiment of the present invention.
- the first sub block may be configured of pixels having an odd number of coordinates of the current block x and y to be encoded.
- the generating of the prediction block for the first sub-block may generate the prediction block using pixels belonging to a block adjacent to the current block as the main reference pixel, and more specifically, the main reference pixel is an intra prediction direction (vertical). As a result, the prediction block may be generated by copying the first subblock.
- the second sub-block may be composed of pixels in which the x-coordinate of the current block is odd and the y-coordinate is even.
- the main reference pixel may include a pixel belonging to a block adjacent to the current block.
- the main reference pixel may further include a pixel in the first sub-block because the encoded and reconstructed first sub-block is located in the intra prediction direction.
- the prediction of each pixel of the second sub-block to be predicted may be performed by using the pixels whose reconstructions are completed above and below the main reference pixels, and more specifically, the prediction values are given by weighting the main reference pixels located above and below. Can be used as
- the third sub-block may be composed of pixels in which the x-coordinate of the current block is even and the y-coordinate is odd.
- the main reference pixel may be a pixel belonging to a block adjacent to the current block since there is no sub-block reconstructed on the intra prediction direction.
- the main reference pixel may be corrected by using a difference value between the positions of the current pixel and the main reference pixel of the third sub-block to be predicted, and the two pixels at positions corresponding to the prediction direction in the screen.
- difference values d1 and d3 may be used for prediction.
- the fourth sub block may be configured of pixels having even numbers of x and y coordinates of the current block.
- the predicted value for each pixel of the fourth sub-block is that the pixels located in the prediction direction in the screen are positioned above and below the fourth sub-block, so that two pixels located above and below the main reference pixel can be used.
- the two pixels positioned may be weighted to be used as prediction values.
- a prediction block for the fourth subblock may be generated using all of the neighboring pixels of the reconstruction as the main reference pixels.
- a weighted value for each of eight pixels around the current pixel to be predicted may be used as a prediction value.
- FIG. 28 is an exemplary diagram for a method of performing prediction by further using a slope or a difference value of a reference pixel in intra prediction in a diagonal mode according to an embodiment of the present invention.
- pixels indicated by hatching are pixels belonging to a block adjacent to the current block, and may indicate pixels in which encoding and reconstruction are completed.
- prediction may be performed using a pixel located in an intra prediction direction (diagonal line) and belonging to a block adjacent to the current block as a main reference pixel. More specifically, the prediction value for each pixel of the current block can be generated by copying the pixel value of the main reference pixel to the current block in the intra prediction direction.
- prediction may be performed by using, as a main reference pixel, a pixel located in an intra prediction direction among pixels belonging to a block adjacent to the current block. At this time, looking at the prediction direction in 28b, except that the pixels indicated by the hatched are all located in the prediction direction, except q [-1] [-1], can be the main reference pixel. More specifically, since there are pixels indicated by two hatched lines in the prediction direction in one screen, an average value of two pixels may be used as a prediction value, or weighted values of the two pixels may be added as prediction values. Can be.
- pixels outside the area indicated by k may generate a prediction value using only the first main reference pixel at the start point of the prediction direction, and may be generated in the area indicated by k of 28b. Prediction values may be generated using the first main reference pixel and the second main reference pixel.
- the intra prediction method according to the exemplary embodiment of the present invention will be described based on the diagonal mode instead of the vertical mode.
- the method described in the vertical mode may be applied in the same way with different prediction directions.
- the described description may be omitted and some subblock forms may be omitted.
- a prediction value may be generated using only the first main reference pixel.
- a mode such as Diagonal Down Left (in this example, assumed to be a mode having a starting point in the upper left and copied in the lower right direction) may not have a second main reference pixel to which reference may be made.
- the first main reference pixel may be set as the basic reference pixel, and an additional reference pixel (in this example, the second main reference pixel) may be used to generate the predicted value.
- the prediction value may be generated using the first and additional main reference pixels, and may be applied only to some modes, which is applied to the block. It may be determined according to size and shape, prediction mode, and the like.
- 29 is a diagram illustrating a method of performing prediction on a sub-block divided horizontally in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- the first sub block 2M ⁇ N and the second sub block 2M ⁇ N may be obtained by horizontally dividing the current block 2M ⁇ 2N.
- the first sub-block may determine a pixel located in an intra prediction direction (diagonal) as a main reference pixel among pixels belonging to a block adjacent to the current block, and perform prediction using the main reference pixel.
- a prediction value for the first sub-block may be generated by using a pixel located at a start point of the intra prediction direction and having a pixel belonging to a block adjacent to the current block as a main reference pixel.
- the prediction value can be generated by copying the main reference pixel in the prediction direction.
- a prediction value may be generated using a pixel located at a start point of an intra prediction direction and having a pixel belonging to a second sub block as a main reference pixel.
- the pixel of the first sub-block may not exist in the prediction direction in the screen.
- the pixel belonging to the block adjacent to the current block is the main reference pixel, or the pixel of the first sub-block is copied on the prediction direction. It can be used as a main reference pixel by padding.
- FIG. 30 is a diagram illustrating a method of performing prediction on a subblock horizontally divided in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- a prediction value for the first subblock may be generated using the main reference pixel.
- the first main reference pixel may be located at the start point of the prediction direction
- the second main reference pixel may be located at the end point of the prediction direction.
- a prediction value may be generated using both the first main reference pixel and the second main reference pixel with respect to the pixels located in the area represented by k, and the first note for pixels located outside the area represented by k. The prediction value may be generated using only the pixels.
- a value obtained by copying a first main reference pixel is used as a prediction value for the first sub block, or an average or a weight value of each of the first main reference pixel and the second main reference pixel is assigned to the first sub block. It can be used as a predictive value.
- a process of generating a prediction block for the second subblock after the prediction and the reconstruction of the first subblock is completed may be described.
- the pixel belonging to the reconstructed first subblock is located at the start point of the prediction direction in the screen, and the pixel adjacent to the current block is located at the end point, so that prediction of the second subblock can be performed using the two pixels as the main reference pixel.
- Prediction may be performed for pixels within the range set to k.
- pixels belonging to the first sub-block located at the start of the prediction direction may not exist for some prediction directions, in which case, as in 29b, the pixels belonging to the first sub-block are copied on the prediction direction, or Prediction may be performed using pixels belonging to an adjacent block.
- the filtering is performed on the pixel belonging to the first sub-block, and the filtered pixel value is obtained. It can also be used as the main reference pixel.
- the filtering direction may be the same as or similar to the prediction direction, and filtering may be performed on the pixels positioned in the corresponding direction.
- a pixel belonging to the first sub-block and positioned at the start point of the intra prediction direction is a first main reference pixel
- a pixel belonging to a block adjacent to the current block and positioned at an extended start point of the intra prediction direction is provided.
- Prediction can be performed using the two main reference pixels. For example, a value obtained by correcting the first main reference pixel with a difference value between the first main reference pixel and the second main reference pixel may be determined as a predicted value of the second sub-block.
- a difference value between the first main reference pixel and the second main reference pixel may be added to the first main reference pixel, or the weighted difference value may be determined as a predicted value of the second sub-block.
- inclination information of previous pixels (including the second main reference pixel in this example) placed in the intra prediction mode including the first main reference pixel may be corrected to the first main reference pixel. The information may be corrected based on the distance between the current pixel and the first main reference pixel.
- FIG. 31 is a diagram illustrating a method of performing prediction on a subblock vertically divided in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- the first subblock and the second subblock may have a size of M ⁇ 2N based on the current block (2M ⁇ 2N).
- prediction may be performed on a first subblock, using a pixel belonging to a block adjacent to the current block and positioned on an intra prediction direction as a main reference pixel.
- the prediction may be performed by using the pixel located at the start of the intra prediction direction as the main reference pixel.
- prediction may be performed on a second subblock by using a pixel belonging to a block adjacent to the current block and positioned at a start point of an intra prediction direction as a main reference pixel. have.
- 32 is a diagram illustrating a method of performing prediction on a sub-block divided vertically in binary mode in intra prediction in a diagonal mode according to an embodiment of the present invention.
- two pixels located in a prediction direction within a screen among pixels belonging to a block adjacent to the current block may be located at the top and the left of the current block. Therefore, the first sub-pixel is positioned at the top of the current block at the start of the intra prediction direction, and the pixel at the end of the intra-prediction on the left side of the current block is the second main reference pixel. Prediction on the block may be performed.
- both the first main reference pixel and the second main reference pixel may be used for the pixel located in the area set to k, and only the first main reference pixel may be used for the pixel located outside the area set to k.
- an average of two pixels or weights of the two pixels may be weighted to determine an added value as a prediction value for each pixel in the first subblock.
- first main reference pixel belonging to a block adjacent to the current block as in 32a, but since the pixel in the first sub-block in which encoding and reconstruction is completed is located in the intra prediction direction, the first sub-pixel is used.
- the pixel in the block can be used as the second main reference pixel. Since the method of using the first main reference pixel and the second main reference pixel is the same as that of 32a, redundant description is omitted.
- a first main reference pixel may be used as in 32b, or a pixel in a first subblock in which encoding and reconstruction are completed may be additionally used.
- the second sub-block may be predicted by further using a third main reference pixel adjacent to the second main reference pixel in the intra prediction direction and further positioned in the first sub-block. have.
- each of the first main reference pixel, the second main reference pixel, and the third main reference pixel is weighted and added as a predicted value for each pixel of the second sub-block, or the first main reference pixel to the first sub-pixel.
- An average value of the three main reference pixels may be used as a prediction value for each pixel of the second subblock.
- 33 is a diagram illustrating a method of predicting a subblock divided into pixel lines in intra prediction in a diagonal mode according to an embodiment of the present invention.
- the first subblock of the current block to be encoded may be composed of pixel lines evenly positioned horizontally with respect to the current block.
- the predicted value for each pixel of the first sub-block may be generated by copying the main reference pixel value in the prediction direction, using the pixel belonging to the block located at the upper or upper right end of the current block as the main reference pixel.
- the second sub block of the current block to be encoded may include pixel lines that are odd-numbered in the horizontal direction with respect to the current block.
- two pixels before and after the prediction direction are respectively referred to as a second reference pixel.
- Prediction on the sub block may be performed.
- an average of two pixels that are before and after the prediction direction of the current pixel or weighted to each of the two pixels may be added to determine the prediction value of the current pixel.
- the main reference pixel may be referred to by being padded on the prediction direction as described above.
- FIG. 34 is a second exemplary diagram for a method of predicting a subblock divided into pixel lines in intra prediction in a diagonal mode according to an embodiment of the present invention.
- the first subblock of the current block to be encoded may be composed of pixel lines that are even-numbered in the vertical direction with respect to the current block.
- the predicted value for each pixel of the first sub-block may be generated by copying the main reference pixel value in the prediction direction, using the pixel belonging to the block located at the upper or upper right end of the current block as the main reference pixel.
- the second sub-block of the current block to be encoded may be composed of pixel lines vertically odd with respect to the current block.
- the pixels of the first sub-block already reconstructed before and after the prediction direction of the current pixel to be predicted or the reconstructed pixels belonging to a block adjacent to the current block exist two pixels before and after the prediction direction are respectively referred to as main reference pixels.
- Prediction on the second subblock may be performed.
- an average of two pixels that are before and after the prediction direction of the current pixel or weighted to each of the two pixels may be added to determine the prediction value of the current pixel.
- the main reference pixel When there is no main reference pixel positioned in the intra prediction direction in 34a or 34b, the main reference pixel may be referenced by padding on the prediction direction as described above.
- the embodiment includes a case in which the prediction is performed using a pixel of an integer unit in the reference pixel in the diagonal prediction mode.
- prediction may be performed by interpolating not only integer pixels but also decimal units according to the prediction mode direction.
- the first main reference pixel is an integer unit pixel located at the start point of the prediction direction
- the second main reference pixel is an integer unit pixel located at the end point of the prediction direction.
- the first main reference pixel may mean an integer unit pixel or a decimal unit pixel positioned at the start point of the prediction direction
- the second main reference pixel may mean an integer unit pixel or a decimal unit pixel located at the end point of the prediction direction.
- the first main reference pixel may mean one integer unit pixel or a decimal unit pixel positioned at the start point of the prediction direction
- the second main reference pixel may mean two or more integer unit pixels located at the end point of the prediction direction.
- the two or more integer unit pixels may be pixels adjacent to the end point positions of the prediction direction.
- the transform when encoding is performed by splitting into two or more sub-block units, the transform may be performed by using the same or different transform scheme in the sub-block unit.
- the transformation-related setting in this example, whether to perform the transformation, the kind of transformation, etc.
- the same transformation technique determined in the unit may be applied to the subblock.
- an independent transform technique may be applied to a sub block.
- 35 is an exemplary diagram of a flag indicating presence or absence of coding coefficients in units of a transform block.
- a thick solid line indicates a coding block partition line
- a thin solid line indicates a transform block partition line at a coding block reference depth
- a dotted line indicates a transform block partition line at a depth 1.
- 35a denotes a coded block flag (cbf.coded block flag in this example) when the coding block is divided into quadtrees, the coding block is square, and the transform block is converted into a quadtree, or the transform block is square.
- a coded block flag cbf.coded block flag in this example
- the upper left block (N ⁇ N) and the upper right block (N ⁇ N) of 35a do not support splitting of the transform block, and as the coding block is determined, It may be an example of a block whose shape is determined. That is, the coding block may be a block that does not support information about the size and shape of the transform block.
- the upper left block (N ⁇ N) and the upper right block (N ⁇ N) are blocks in which the transform block is determined without division of the transform block, and thus supports cbf for each color component and does not generate additional cbf information.
- the transform block is divided (N / 2 ⁇ N / 2) and information on the presence or absence of coding coefficients of the divided block may be needed.
- additional cbf information generation may be determined to the transform blocks divided into lower units according to the information of cbf.
- the cbf information for each color component is 0, since the coding coefficients of the respective components do not occur in the divided transform block, the cbf information is not additionally generated.
- the transform block is divided (N / 2 ⁇ N / 2), and information about the presence or absence of coding coefficients of the divided block may be needed. At this time, part of the cbf information may be omitted.
- Cbf_cr is set to 0 in the upper unit for blocks where no additional conversion block is split in the lower right block (N ⁇ N) (upper left and lower left, lower right block ⁇ N / 2 ⁇ N / 2>).
- Cbf_L and cbf_cb information can be generated without creating additional cbf information.
- cbf_cb is set to 0 so that the lower unit does not generate additional information about cbf_cb.
- cbf information remaining until the current step may be generated.
- cbf_L may be cbf information according thereto.
- 35b shows an example of setting a coding coefficient presence flag when a coding block is divided by a binary tree method or a coding block is rectangular, and a transform block is divided by a binary tree method or a transform block is rectangular.
- the first block (N / 2 ⁇ 2N) and the second block (N / 2 ⁇ 2N) from the left (when the large block is 2N ⁇ 2N) of 35b do not support partitioning of the transform block, and the coding block is determined.
- the size and shape of the transform block may be examples of blocks. That is, the coding block may be a block that does not support information about the size and shape of the transform block.
- the transform block is divided (N ⁇ N / 2) and information about the presence or absence of coding coefficients of the divided block may be needed.
- additional cbf information generation may be determined to the transform blocks divided into lower units according to the information of cbf.
- cbf_L for each color component is 0, the coding coefficients of the respective components do not occur in the divided transform block, and thus no additional cbf_L information is generated.
- the encoding, prediction, and transform blocks may be dependently configured to resize the split form in Luma after resizing according to the color format in Cb and Cr.
- Luma, Cb, Cr It may also be possible to set the division type of.
- cbf_cr and cbf_cb can be processed independently of cbf_L.
- N N partitions (the same size and shape as the encoding block) This may be the case when additional cbf_cb and cbf_cr are not generated.
- the above configuration may determine whether to support independent partitioning or dependent partitioning according to conditions such as slice type, block size and shape.
- the transform block may be divided (N / 2 ⁇ N) and information about the presence or absence of coding coefficients of the divided block may be needed.
- cbf_cb since cbf_cb is 0, cbf_cb information is not generated anymore in the lower unit, and since cbf_cr is 1, additional cbf_cr information may be generated in the transform block of the lower unit.
- the left block N / 2 ⁇ N of the divided transform blocks may generate cbf_L and cbf_cr because there is no additional division. Since the right block (N / 2 ⁇ N) of the divided transform blocks is transform block divided (dotted line), cbf_L can be omitted and cbf_cr can be generated. In addition, since the divided transform block N / 4 ⁇ N is no longer partitioned, information of cbf_L and cbf_cr may be generated, respectively.
- cbf_cb and cbf_cr can be generated.
- 36 is an example of syntax for a residual block in HEVC.
- Coding coefficients tend to occur toward DC and low frequency components due to the transform and quantization processes. As such, encoding the coefficient components at all positions of the transform block M ⁇ N can be inefficient. It may be efficient to send information (x, y) at which position the coding coefficient last occurred. Based on a certain coordinate of the block (one of the top left, top right, bottom left, bottom right of the block, which can be determined according to the encoding setting ⁇ for example, QP>, which can be determined by having two or more candidate groups) This can be expressed by sending length and width information. Referring to FIG. 36, syntax regarding information on which position a coding coefficient last occurred is last_sig_coeff_x_prefix to last_sig_coeff_y_suffix.
- a coding block is processed by dividing a transform block into 4 ⁇ 4 subblocks. Similar to cbf of FIG. 35, the syntax dealing with the presence or absence of non-zero coding coefficients in each 4x4 subblock is coded_sub_block_flag, and when the value is 1, the coding coefficients of the corresponding block are encoded.
- a subblock unit (for encoding coefficient encoding) may always have a fixed size and shape regardless of the size and shape of a transform block, and may be a subblock having an adaptive size and shape according to the size and shape of the transform block. It may have a block unit.
- a unit of a sub block may support an additional size and shape (for example, 8 ⁇ 8), including 4 ⁇ 4, wherein a unit supported by coded_sub_block_flag may be 4 ⁇ 4 or an additional size and shape unit.
- the configuration of the syntax may vary according to the size and shape of the unit of the subblock.
- the configuration of the syntax may vary according to an encoding mode. For example, the first subblock supports up to a and b of each coeff_abs_level_greater1_flag (flag indicating whether the absolute value of the coding coefficient is greater than 1) and coeff_abs_level_greater2_flag (flag indicating whether the absolute value of the coding coefficient is larger than 2).
- each syntax may support up to c and d, where a may be greater than or equal to c, and b may be greater than or equal to d, where the first subblock size is equal to the second subblock. It can be larger than the block.
- the encoding mode is Intra
- up to a and b coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag are supported
- up to c and d may be supported in Inter
- a and c may be the same or different
- b and d May be the same or different.
- coded_sub_block_flag is not generated, but cbf information (supported in units of transform blocks) is generated. This is based on the assumption that the above diagonal scan (from top right to bottom left) is followed.
- FIG. 37 is an exemplary diagram for describing encoding of coding coefficients according to an embodiment of the present invention.
- 37a represents a coding coefficient
- 37b represents a scanning order of the coding coefficients.
- Sig_coeff_flag is generated for each coding coefficient, which may be a syntax indicating whether the coding coefficient is 0 or not. When the value is not the coding coefficient, when the value is 0, no additional syntax is generated for the corresponding coefficient, and when 1, additional syntax information about the coding coefficient may be generated.
- coeff_sign_flag contains information on which sign the coefficient has. A value of 0 may mean a positive number and a value of 1 indicates a negative number.
- coeff_abs_level_remaining may be referred to as syntax supported when syntax cannot be processed with syntaxes for each coefficient supported in sub-block units.
- Table 1 shows coding coefficients and related syntaxes according to the coding coefficient of 37a and the scanning order of 37b when a maximum of eight coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag are supported, and one is supported.
- the syntaxes are supported starting with a non-zero coding coefficient first, and if the maximum number occurs, the coefficients generated thereafter may be set as above under the assumption that large enough coefficients occur, It may be set differently depending on the form.
- Equation 12 may be calculated according to a syntax generated for each coefficient, and a value of the syntax may be set to 0 when syntax coeff_abs_level_remaining is not generated. In addition to the syntax mentioned below, additional syntax elements used to reach coeff_abs_level_remaining may be considered.
- the basic settings of the syntaxes are set in accordance with lossy coding.
- a residual condition in the frequency domain includes a precondition that a lot occurs near a DC component in the upper left of the transform block.
- some image characteristics and quantization parameter settings may cause a situation that violates basic preconditions. For example, in case the transform coefficient distribution is not collected in a general DC component, the transform or quantization may be omitted, and the definition of the operation of the syntax may be changed.
- coeff_abs_level_remaining can support binarization through the following conditional expression.
- Equation 13 prefix (p) is a truncated unary binarization, suffix (s) is composed of a binary representation, it is assumed that has a binary table as shown in Table 2.
- k is a variable for the binarization table, and codewords allocated to v may be adjusted according to k. According to k, a different codeword is assigned to v. For example, in a situation where many small values occur, k has a lower value that results in shorter codewords on v. In a situation where many large values occur, k has a larger value on average. It can be a variable that is adjusted to keep the average codeword short by causing shorter codewords.
- the binarization used for generating codewords such as the prefix and suffix, and the classification of prefix and suffix may be other methods including the above method, and codewords assigned to each value (coding coefficient in this example) according to a specific parameter variable. It can be said to be an example of a method for generating a short codeword on average by adjusting the, and examples of other variations including this concept may be possible.
- Equation 14 is an equation for the update condition of the k parameter, k can be updated to k 'when the condition of the equation (14) is satisfied, the maximum value k can reach is 4.
- k may be set according to conditions such as a bit depth (bit_depth) and a quantization parameter.
- k initially set may be 0.
- the condition for updating the value of k is checked by comparing with the expression condition. If the condition is satisfied, the k value is updated to k 'and can be used as k when encoding the next coeff_abs_level_remaning value.
- the k value can be increased by a maximum of 1 in one update process and increased to the maximum value (4) set above and may be involved in the codeword allocation of coeff_abs_level_remaining.
- k may have a property that does not increase or increase during the update process.
- the update condition for the k value may have different settings in units of transform blocks. In addition, it may have different settings according to the encoding setting (in this example, the quantization parameter, the intra prediction method ⁇ prediction in block unit / prediction in pixel unit>).
- the above update setting of the k parameter does not consider the characteristics of the image well and may affect the inappropriate codeword assignment.
- the characteristics according to other encoding settings may also not be considered.
- Efficient encoding can be performed by setting two or more candidate groups for a property of k value (a conventional property of k value does not decrease and increases and one increase is 1).
- the k value may have a property of increasing or decreasing k value.
- the increase (or decrease) of the k value may be one or more.
- the range of k may be set from 0 to t, and t may have one or more candidate groups.
- Combinations of the various settings described above can be used to set more than one k.
- the setting thereof may be determined in units of a sequence, a picture, a slice, and the like.
- Equation 15 S i denotes each (non-zero) coding coefficient and T () denotes a boundary value condition for determining which k value in the binarization table according to k.
- N means the number of coding coefficients (non-zero) before the current coding coefficient position used to obtain T ().
- T (S i ) can be obtained using an average of successive coding coefficients before the current coding coefficients.
- Equation 14 the range of the coefficient whose k value is updated k 'may be summarized as shown in Table 3 below.
- Such additional k update settings can be placed to assign adaptive codewords.
- the above-described method may be used in a lossless compression environment, and an existing method may be used in a lossy compression environment.
- the encoding efficiency can be improved by changing the setting of the scan in the entropy encoding step as well as the setting of the syntax operation.
- Table 4 defines the scanning method in the intra prediction.
- HEVC has different scanning methods according to intra prediction modes. However, due to image characteristics or quantization parameters, the existing scan direction may not match.
- the table includes three scan patterns according to the block size and the prediction mode. Diag, ver, and hor, for example, change the scan pattern when the quantization parameter is not 0 and when the quantization parameter is 0 (i.e., lossless). Direction).
- the scan method is different according to the existing block size and prediction mode, another scan method is applied again according to the quantization parameter.
- there are three scan patterns but the conventional scan pattern is used according to the quantization parameter condition. However, this may also apply an additional pattern other than the existing scan pattern according to the quantization parameter condition.
- a block shape, a block division method (transform block in this example), and the like may be considered.
- 39 is a flowchart illustrating a decoding method using intra prediction according to an embodiment of the present invention.
- a decoding method using intra prediction which is performed by a decoding apparatus, receiving a bit stream (S100), obtaining decoding information from the received bit stream (S200), and obtaining the obtained decoding information.
- the generating of the prediction block (S300) may include generating each prediction block by using at least one main reference pixel selected from reconstruction pixels belonging to a block adjacent to the current block or belonging to at least one subblock of the current block.
- the prediction block for the current block may be generated by generating the prediction value for the pixel.
- the main reference pixel may be a pixel located in the prediction direction of the screen among the reconstructed pixels.
- the current block and the current pixel before and after the prediction direction in the screen based on the current pixel to predict in the current block are most And generating a prediction block for the current block by using two adjacent main reference pixels.
- the average of the two main reference pixels or the weighted values of the two main reference pixels, respectively, are added to the current block.
- the prediction block may be generated as a prediction value for the pixel.
- the at least one sub block may be obtained by dividing the current block using one of the quadtree method and the binary tree method, or may be obtained by dividing the current block by using the quadtree method and the binary tree method.
- the at least one sub block may be composed of pixel lines positioned evenly or oddly in the current block.
- the at least one sub block may be composed of pixel lines positioned evenly or oddly in the current block.
- the at least one sub block is composed of coordinates in which the x and y coordinates of each pixel coordinate (x, y) in the current block are even, or one of the x and y coordinates is an even number and the other is an odd number. Or x and y coordinates that are odd.
- the difference between the position between the main reference pixel and the current pixel to be predicted in the current block among the reconstructed pixels and the corresponding pixel based on the prediction direction in the screen is determined. Correcting the main reference pixel using the first reference pixel and generating a prediction block using the corrected main reference pixel.
- the main reference pixel may be corrected by adding a difference value to the main reference pixel or adding a weighted value to the main reference pixel.
- the main reference pixel may be corrected only when the pixel of the current pixel is predicted within a predetermined range.
- the main reference pixel when two or more difference values are derived, the main reference pixel is obtained using a value derived by weighting an average of two or more difference values or each of the two or more difference values. Can be corrected.
- 40 is a block diagram of a decoding apparatus using intra prediction according to an embodiment of the present invention.
- the decoding apparatus 30 using the intra prediction may include a memory configured to store instructions for instructing at least one processor 31 and at least one processor to perform at least one step. 32).
- the at least one step may include receiving a bit stream, obtaining decoding information from the received bit stream, generating a prediction block for a current block to be decoded using the obtained decoding information, and And reconstructing the current block by adding the obtained residual block and the prediction block.
- the generating of the prediction block may include generating each prediction block for each pixel of the current block using at least one main reference pixel selected from reconstructed pixels belonging to a block adjacent to the current block or belonging to at least one subblock of the current block. By generating a prediction value, a prediction block for the current block can be generated.
- the main reference pixel may be a pixel located in the prediction direction of the screen among the reconstructed pixels.
- the average of the two main reference pixels or the weighted values of the two main reference pixels, respectively, are added to the current block.
- the prediction block may be generated as a prediction value for the pixel.
- the at least one sub block may be obtained by dividing the current block using one of the quadtree method and the binary tree method, or may be obtained by dividing the current block by using the quadtree method and the binary tree method.
- the generating of the prediction block may include generating a prediction block using a difference value between a main reference pixel among reconstructed pixels and a current pixel to be predicted in the current block and a difference value between two pixels at corresponding positions based on the prediction direction in the screen. Correcting the reference pixel and generating a prediction block using the corrected main reference pixel.
- the main reference pixel may be corrected by adding a difference value to the main reference pixel or adding a weighted value to the main reference pixel.
- the main reference pixel may be corrected only when the pixel of the current pixel is predicted within a predetermined range.
- the decoding apparatus 30 may be configured to perform the same or corresponding method as the decoding method of FIG. 39, and redundant description is omitted.
- the decryption apparatus 30 may be, for example, a desktop computer, a laptop computer, a notebook computer, a smartphone, a tablet PC, or a mobile phone that can communicate.
- mobile phone smart watch, smart glass, e-book reader, portable multimedia player (PMP), handheld game console, navigation device, digital camera, digital multimedia broadcasting, a digital audio recorder, a digital audio player, a digital video recorder, a digital video player, a PDA, and the like.
- PMP portable multimedia player
- the decoding apparatus 30 may further include an input / output unit 33 that receives a user input and displays the decoded image.
- the input / output unit 33 may include, for example, a keyboard, a mouse, a touch screen, and a display. Device and the like.
- the decoding apparatus 30 may further include a storage 34 that stores processed images, frames, blocks, and the like before and after the decoding process.
- the storage 34 may include, for example, a hard disk drive (HDD). ), And a solid state disk (SSD).
- the methods according to the invention can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium.
- Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.
- the program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in computer software.
- Examples of computer readable media may include hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter, as well as machine code such as produced by a compiler.
- the hardware device described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.
- the above-described method or apparatus may be implemented by combining all or part of the configuration or function, or may be implemented separately.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (20)
- 복호화 장치에서 수행되는 화면 내 예측을 이용한 복호화 방법에서,비트 스트림을 수신하는 단계;수신된 비트 스트림에서 복호화 정보를 획득하는 단계;획득한 복호화 정보를 이용하여 복호화하려는 현재 블록에 대한 예측 블록을 생성하는 단계; 및상기 비트 스트림에서 획득된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계를 포함하고,상기 예측 블록을 생성하는 단계는,상기 현재 블록과 인접한 블록에 속하거나 또는 상기 현재 블록의 적어도 하나의 서브 블록에 속하는 복원 화소 중에서 선정된 적어도 하나의 주 참조 화소를 이용하여 상기 현재 블록의 각 화소에 대한 예측값을 생성함으로써 상기 현재 블록에 대한 예측 블록을 생성하는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 1에서,상기 주 참조 화소는,상기 복원 화소 중에서 화면 내 예측 방향 상에 위치한 화소인, 화면 내 예측을 이용한 복호화 방법.
- 청구항 2에서,상기 예측 블록을 생성하는 단계는,상기 화면 내 예측 방향 상에 위치한 주 참조 화소가 두 개 이상인 경우,상기 현재 블록 내에 예측하려는 현재 화소를 기준으로 상기 화면 내 예측 방향의 전후에 상기 현재 화소와 가장 가까운 두 개의 주 참조 화소를 이용하여 상기 현재 블록에 대한 예측 블록을 생성하는 단계를 포함하는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 3에서,상기 현재 화소와 가장 가까운 두 개의 주 참조 화소를 이용하여 상기 현재 블록에 대한 예측 블록을 생성하는 단계는,상기 두 개의 주 참조 화소의 평균 또는 상기 두 개의 주 참조 화소에 가중치를 각각 적용하여 더한 값을 상기 현재 화소에 대한 예측값으로 하여 상기 예측 블록을 생성하는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 1에서,상기 적어도 하나의 서브 블록은,쿼드트리 방식 및 바이너리트리 방식 중 하나를 이용하여 상기 현재 블록을 분할함으로써 획득되거나, 상기 쿼드트리 방식과 상기 바이너리트리 방식을 혼용하여 상기 현재 블록을 분할함으로써 획득되는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 1에서,상기 적어도 하나의 서브 블록은,상기 현재 블록 내에서 가로로 짝수 또는 홀수번째에 위치한 화소 라인들로 구성되는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 1에서,상기 적어도 하나의 서브 블록은,상기 현재 블록 내에서 세로로 짝수 또는 홀수번째에 위치한 화소 라인들로 구성되는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 1에서,상기 적어도 하나의 서브 블록은,상기 현재 블록 내의 각 화소 좌표(x,y)의 x 및 y 좌표가 짝수인 좌표들로 구성되거나, x 및 y 좌표 중 하나는 짝수이고 다른 하나는 홀수인 좌표로 구성되거나, x 및 y 좌표가 홀수인 좌표들로 구성되는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 1에서,상기 예측 블록을 생성하는 단계는,상기 복원 화소 중에서 상기 주 참조 화소 및 상기 현재 블록 내에 예측하려는 현재 화소 사이의 위치와 화면 내 예측 방향을 기준으로 상응하는 위치에 있는 두 화소 사이의 차분값을 이용하여 상기 주 참조 화소를 보정하는 단계; 및보정된 주 참조 화소를 이용하여 상기 예측 블록을 생성하는 단계를 포함하는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 9에서,상기 주 참조 화소를 보정하는 단계는,상기 차분값을 상기 주 참조 화소에 더하거나, 상기 차분값에 가중치를 적용한 값을 상기 주 참조 화소에 더함으로써 상기 주 참조 화소를 보정하는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 9에서,상기 주 참조 화소를 보정하는 단계는,상기 현재 화소 중에서 일정한 범위 내에 속하는 화소에 대한 예측시에 한하여 상기 주 참조 화소를 보정하는, 화면 내 예측을 이용한 복호화 방법.
- 청구항 9에서,상기 주 참조 화소를 보정하는 단계는,상기 차분값이 두개 이상 도출되는 경우,두 개 이상의 차분값들에 대한 평균 또는 상기 두개 이상의 차분값들 각각에 가중치를 부여하여 도출된 값을 이용하여 상기 주 참조 화소를 보정하는, 화면 내 예측을 이용한 복호화 방법.
- 화면 내 예측을 이용한 복호화 장치에서,상기 복호화 장치는,적어도 하나의 프로세서(processor); 및상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 명령하는 명령어들을 저장하는 메모리(memory)를 포함하고,상기 적어도 하나의 단계는,비트 스트림을 수신하는 단계;수신된 비트 스트림에서 복호화 정보를 획득하는 단계;획득한 복호화 정보를 이용하여 복호화하려는 현재 블록에 대한 예측 블록을 생성하는 단계; 및상기 비트 스트림에서 획득된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계를 포함하고,상기 예측 블록을 생성하는 단계는,상기 현재 블록과 인접한 블록에 속하거나 또는 상기 현재 블록의 적어도 하나의 서브 블록에 속하는 복원 화소 중에서 선정된 적어도 하나의 주 참조 화소를 이용하여 상기 현재 블록의 각 화소에 대한 예측값을 생성함으로써 상기 현재 블록에 대한 예측 블록을 생성하는, 화면 내 예측을 이용한 복호화 장치.
- 청구항 13에서,상기 주 참조 화소는,상기 복원 화소 중에서 화면 내 예측 방향 상에 위치한 화소인, 화면 내 예측을 이용한 복호화 장치.
- 청구항 14에서,상기 예측 블록을 생성하는 단계는,상기 화면 내 예측 방향 상에 위치한 주 참조 화소가 두 개 이상인 경우,상기 현재 블록 내에 예측하려는 현재 화소를 기준으로 상기 화면 내 예측 방향의 전후에 상기 현재 화소와 가장 가까운 두 개의 주 참조 화소를 이용하여 상기 현재 블록에 대한 예측 블록을 생성하는 단계를 포함하는, 화면 내 예측을 이용한 복호화 장치.
- 청구항 15에서,상기 현재 화소와 가장 가까운 두 개의 주 참조 화소를 이용하여 상기 현재 블록에 대한 예측 블록을 생성하는 단계는,상기 두 개의 주 참조 화소의 평균 또는 상기 두 개의 주 참조 화소에 가중치를 각각 적용하여 더한 값을 상기 현재 화소에 대한 예측값으로 하여 상기 예측 블록을 생성하는, 화면 내 예측을 이용한 복호화 장치.
- 청구항 13에서,상기 적어도 하나의 서브 블록은,쿼드트리 방식 및 바이너리트리 방식 중 하나를 이용하여 상기 현재 블록을 분할함으로써 획득되거나, 상기 쿼드트리 방식과 상기 바이너리트리 방식을 혼용하여 상기 현재 블록을 분할함으로써 획득되는, 화면 내 예측을 이용한 복호화 장치.
- 청구항 13에서,상기 예측 블록을 생성하는 단계는,상기 복원 화소 중에서 상기 주 참조 화소 및 상기 현재 블록 내에 예측하려는 현재 화소 사이의 위치와 화면 내 예측 방향을 기준으로 상응하는 위치에 있는 두 화소 사이의 차분값을 이용하여 상기 주 참조 화소를 보정하는 단계; 및보정된 주 참조 화소를 이용하여 상기 예측 블록을 생성하는 단계를 포함하는, 화면 내 예측을 이용한 복호화 장치.
- 청구항 18에서,상기 주 참조 화소를 보정하는 단계는,상기 차분값을 상기 주 참조 화소에 더하거나, 상기 차분값에 가중치를 적용한 값을 상기 주 참조 화소에 더함으로써 상기 주 참조 화소를 보정하는, 화면 내 예측을 이용한 복호화 장치.
- 청구항 18에서,상기 주 참조 화소를 보정하는 단계는,상기 현재 화소 중에서 일정한 범위 내에 속하는 화소에 대한 예측시에 한하여 상기 주 참조 화소를 보정하는, 화면 내 예측을 이용한 복호화 장치.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22160975.3A EP4030754A1 (en) | 2016-05-02 | 2017-05-02 | Image encoding/decoding method and computer-readable medium |
EP17792913.0A EP3442231A4 (en) | 2016-05-02 | 2017-05-02 | BILDCODE / DECODE PROCESS AND DEVICE USING INTRA-SCREEN PREDICTION |
CN201780027691.6A CN109155851A (zh) | 2016-05-02 | 2017-05-02 | 利用画面内预测的影像编码、解码方法及装置 |
US16/098,325 US10834408B2 (en) | 2016-05-02 | 2017-05-02 | Image encoding/decoding method and apparatus using intra-screen prediction |
JP2018557891A JP2019515570A (ja) | 2016-05-02 | 2017-05-02 | 画面内予測を利用した映像符号化/復号化方法および装置 |
US17/037,887 US20210014507A1 (en) | 2016-05-02 | 2020-09-30 | Image encoding/decoding method and apparatus using intra-screen prediction |
US18/105,968 US11825099B2 (en) | 2016-05-02 | 2023-02-06 | Image encoding/decoding method and apparatus using intra-screen prediction |
US18/481,623 US20240107029A1 (en) | 2016-05-02 | 2023-10-05 | Image encoding/decoding method and apparatus using intra-screen prediction |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160054279 | 2016-05-02 | ||
KR10-2016-0054279 | 2016-05-02 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/098,325 A-371-Of-International US10834408B2 (en) | 2016-05-02 | 2017-05-02 | Image encoding/decoding method and apparatus using intra-screen prediction |
US17/037,887 Continuation US20210014507A1 (en) | 2016-05-02 | 2020-09-30 | Image encoding/decoding method and apparatus using intra-screen prediction |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2017192011A2 true WO2017192011A2 (ko) | 2017-11-09 |
WO2017192011A3 WO2017192011A3 (ko) | 2018-08-02 |
Family
ID=60202967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/004696 WO2017192011A2 (ko) | 2016-05-02 | 2017-05-02 | 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10834408B2 (ko) |
EP (2) | EP3442231A4 (ko) |
JP (2) | JP2019515570A (ko) |
KR (6) | KR102028015B1 (ko) |
CN (1) | CN109155851A (ko) |
WO (1) | WO2017192011A2 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020106124A1 (ko) * | 2018-11-23 | 2020-05-28 | 가온미디어 주식회사 | 효율적 블록 분할을 처리하는 영상 복호화 및 부호화 방법 |
JP2021517391A (ja) * | 2018-06-01 | 2021-07-15 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
JP2022177266A (ja) * | 2018-04-01 | 2022-11-30 | ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド | 映像符号化/復号化方法及び装置 |
US11889072B2 (en) | 2018-12-28 | 2024-01-30 | Hangzhou Hikvision Digital Technology Co., Ltd. | Video encoding and decoding |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102582918B1 (ko) | 2015-09-02 | 2023-09-26 | 도요보 가부시키가이샤 | 푸란디카르복실레이트 단위를 함유하는 폴리에스테르 필름 |
JP2019515570A (ja) | 2016-05-02 | 2019-06-06 | 漢陽大学校産学協力団Industry−University Cooperation Foundation Hanyang University | 画面内予測を利用した映像符号化/復号化方法および装置 |
US10567808B2 (en) * | 2016-05-25 | 2020-02-18 | Arris Enterprises Llc | Binary ternary quad tree partitioning for JVET |
WO2018216862A1 (ko) * | 2017-05-24 | 2018-11-29 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치 |
CN108933941A (zh) * | 2017-05-26 | 2018-12-04 | 富士通株式会社 | 图像编码方法和装置以及图像解码方法和装置 |
KR102501105B1 (ko) * | 2017-09-20 | 2023-02-17 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN117376558A (zh) * | 2017-10-16 | 2024-01-09 | 数字洞察力有限公司 | 用于将图像编码/解码的方法和存储比特流的记录介质 |
KR102500762B1 (ko) * | 2018-01-02 | 2023-02-16 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
CN112005550B (zh) | 2018-04-19 | 2024-05-03 | Oppo广东移动通信有限公司 | 用于处理图像的方法及其设备 |
EP3567860A1 (en) * | 2018-05-09 | 2019-11-13 | InterDigital VC Holdings, Inc. | Method and apparatus for blended intra prediction |
US20190373292A1 (en) * | 2018-06-01 | 2019-12-05 | Qualcomm Incorporated | In-loop bilateral filter type decision based on block information |
MX2021000168A (es) | 2018-06-29 | 2021-03-25 | Huawei Tech Co Ltd | Dispositivo y metodo para intra-pediccion. |
EP3884669A1 (en) * | 2018-11-21 | 2021-09-29 | InterDigital VC Holdings, Inc. | Residual coding with reduced usage of local neighborhood |
EP3922029A4 (en) * | 2019-02-05 | 2022-08-24 | Beijing Dajia Internet Information Technology Co., Ltd. | VIDEO CODING USING AN INTRA SUBPARTITION CODING MODE |
US10984560B1 (en) * | 2019-03-29 | 2021-04-20 | Amazon Technologies, Inc. | Computer vision using learnt lossy image compression representations |
US11197009B2 (en) * | 2019-05-30 | 2021-12-07 | Hulu, LLC | Processing sub-partitions in parallel using reference pixels |
CN112135147B (zh) * | 2019-06-24 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 编码方法、解码方法及装置 |
WO2021049890A1 (ko) | 2019-09-10 | 2021-03-18 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
WO2024085566A1 (ko) * | 2022-10-16 | 2024-04-25 | 엘지전자 주식회사 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100727972B1 (ko) * | 2005-09-06 | 2007-06-14 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
KR100750128B1 (ko) | 2005-09-06 | 2007-08-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
KR101246294B1 (ko) * | 2006-03-03 | 2013-03-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
JP2009094828A (ja) * | 2007-10-10 | 2009-04-30 | Hitachi Ltd | 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法 |
KR101623124B1 (ko) * | 2009-12-03 | 2016-05-24 | 에스케이 텔레콤주식회사 | 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법 |
MX2012011772A (es) | 2010-04-13 | 2012-12-17 | Samsung Electronics Co Ltd | Metodo de codificacion de video y aparato de codificacion de video a base de unidades de codificacion determinadas de acuerdo con una estructura de arbol, y metodo de decodificacion de video y aparato de decodificacion de video a base de unidades de decodificacion determinadas de acuerdo con una estructura de arbol. |
KR101530284B1 (ko) | 2010-07-16 | 2015-06-19 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
HUE059881T2 (hu) | 2010-09-27 | 2023-01-28 | Lg Electronics Inc | Blokkfelosztási eljárás és dekódoló eszköz |
US9532058B2 (en) * | 2011-06-03 | 2016-12-27 | Qualcomm Incorporated | Intra prediction mode coding with directional partitions |
US9769472B2 (en) * | 2011-08-17 | 2017-09-19 | Mediatek Singapore Pte. Ltd. | Method and apparatus for Intra prediction using non-square blocks |
EP4366307A3 (en) | 2012-01-18 | 2024-07-17 | Electronics and Telecommunications Research Institute | Method and device for encoding and decoding image |
KR101629999B1 (ko) | 2012-06-25 | 2016-06-13 | 한양대학교 산학협력단 | 무손실 비디오 부호화/복호화 방법 및 장치 |
KR101587927B1 (ko) * | 2013-06-24 | 2016-01-22 | 한양대학교 산학협력단 | 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 |
CN104838650B (zh) * | 2012-09-28 | 2018-03-30 | 日本电信电话株式会社 | 帧内预测编码方法、帧内预测解码方法、帧内预测编码装置、帧内预测解码装置以及记录程序的记录介质 |
KR101596085B1 (ko) * | 2012-12-18 | 2016-02-19 | 한양대학교 산학협력단 | 적응적인 인트라 예측을 이용한 영상 부호화/복호화 장치 및 방법 |
US9961358B2 (en) * | 2013-04-09 | 2018-05-01 | Mediatek Singapore Pte. Ltd. | Method and apparatus for non-square intra mode coding |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
KR101537767B1 (ko) | 2014-10-06 | 2015-07-20 | 에스케이텔레콤 주식회사 | 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치 |
KR101608885B1 (ko) | 2014-11-13 | 2016-04-05 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
WO2016090568A1 (en) * | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
US20180139453A1 (en) * | 2015-03-13 | 2018-05-17 | Lg Electronics Inc. | Method of processing video signal and device for same |
US20180255304A1 (en) | 2015-03-29 | 2018-09-06 | Lg Electronics Inc. | Method and device for encoding/decoding video signal |
KR20150081240A (ko) | 2015-06-22 | 2015-07-13 | 한양대학교 산학협력단 | 무손실 비디오 부호화/복호화 방법 및 장치 |
KR101607614B1 (ko) * | 2015-07-23 | 2016-03-30 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
KR102199463B1 (ko) | 2015-08-31 | 2021-01-06 | 삼성전자주식회사 | 스캔 순서를 고려한 영상의 변환 방법 및 그 장치, 및 역변환 방법 및 그 장치 |
US10491922B2 (en) * | 2015-09-29 | 2019-11-26 | Qualcomm Incorporated | Non-separable secondary transform for video coding |
JP2019515570A (ja) | 2016-05-02 | 2019-06-06 | 漢陽大学校産学協力団Industry−University Cooperation Foundation Hanyang University | 画面内予測を利用した映像符号化/復号化方法および装置 |
EP3499884B1 (en) * | 2016-08-08 | 2022-12-14 | LG Electronics Inc. | Intra-prediction mode-based video coding methods and video processing apparatus thereof |
FI20175006A1 (en) * | 2017-01-03 | 2019-02-15 | Nokia Technologies Oy | Video and image coding using wide-angle intra-prediction |
KR101763111B1 (ko) | 2017-02-24 | 2017-07-31 | 에스케이 텔레콤주식회사 | 다양한 형태의 블록 분할을 이용하는 영상 부호화/복호화 장치 및 방법 |
-
2017
- 2017-05-02 JP JP2018557891A patent/JP2019515570A/ja active Pending
- 2017-05-02 EP EP17792913.0A patent/EP3442231A4/en not_active Withdrawn
- 2017-05-02 CN CN201780027691.6A patent/CN109155851A/zh active Pending
- 2017-05-02 KR KR1020170056502A patent/KR102028015B1/ko active IP Right Grant
- 2017-05-02 WO PCT/KR2017/004696 patent/WO2017192011A2/ko active Application Filing
- 2017-05-02 EP EP22160975.3A patent/EP4030754A1/en active Pending
- 2017-05-02 US US16/098,325 patent/US10834408B2/en active Active
-
2019
- 2019-09-26 KR KR1020190118820A patent/KR102125956B1/ko active IP Right Grant
-
2020
- 2020-06-17 KR KR1020200073741A patent/KR20200074076A/ko not_active IP Right Cessation
- 2020-09-30 US US17/037,887 patent/US20210014507A1/en not_active Abandoned
- 2020-12-17 JP JP2020209465A patent/JP2021052425A/ja active Pending
-
2021
- 2021-05-27 KR KR1020210068308A patent/KR102394226B1/ko active IP Right Grant
-
2022
- 2022-04-29 KR KR1020220053374A patent/KR102551731B1/ko active IP Right Grant
-
2023
- 2023-02-06 US US18/105,968 patent/US11825099B2/en active Active
- 2023-06-30 KR KR1020230084945A patent/KR20230104571A/ko active IP Right Grant
- 2023-10-05 US US18/481,623 patent/US20240107029A1/en active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022177266A (ja) * | 2018-04-01 | 2022-11-30 | ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド | 映像符号化/復号化方法及び装置 |
JP2021517391A (ja) * | 2018-06-01 | 2021-07-15 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
JP7025562B2 (ja) | 2018-06-01 | 2022-02-24 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
JP2022051929A (ja) * | 2018-06-01 | 2022-04-01 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
JP7234429B2 (ja) | 2018-06-01 | 2023-03-07 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
JP2023054257A (ja) * | 2018-06-01 | 2023-04-13 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
US11722661B2 (en) | 2018-06-01 | 2023-08-08 | Tencent America LLC | Method and apparatus for video coding |
JP7420991B2 (ja) | 2018-06-01 | 2024-01-23 | テンセント・アメリカ・エルエルシー | ビデオ符号化のための方法、及び装置 |
WO2020106124A1 (ko) * | 2018-11-23 | 2020-05-28 | 가온미디어 주식회사 | 효율적 블록 분할을 처리하는 영상 복호화 및 부호화 방법 |
US11889072B2 (en) | 2018-12-28 | 2024-01-30 | Hangzhou Hikvision Digital Technology Co., Ltd. | Video encoding and decoding |
Also Published As
Publication number | Publication date |
---|---|
KR102125956B1 (ko) | 2020-06-23 |
KR20230104571A (ko) | 2023-07-10 |
CN109155851A (zh) | 2019-01-04 |
WO2017192011A3 (ko) | 2018-08-02 |
EP3442231A2 (en) | 2019-02-13 |
KR102028015B1 (ko) | 2019-10-02 |
KR20170124477A (ko) | 2017-11-10 |
KR20220057513A (ko) | 2022-05-09 |
KR20190111882A (ko) | 2019-10-02 |
US11825099B2 (en) | 2023-11-21 |
EP4030754A1 (en) | 2022-07-20 |
JP2019515570A (ja) | 2019-06-06 |
US20190149828A1 (en) | 2019-05-16 |
EP3442231A4 (en) | 2019-12-04 |
KR20200074076A (ko) | 2020-06-24 |
US20210014507A1 (en) | 2021-01-14 |
KR102394226B1 (ko) | 2022-05-04 |
KR102551731B1 (ko) | 2023-07-05 |
KR20210065919A (ko) | 2021-06-04 |
JP2021052425A (ja) | 2021-04-01 |
US10834408B2 (en) | 2020-11-10 |
US20240107029A1 (en) | 2024-03-28 |
US20230188727A1 (en) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017192011A2 (ko) | 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2019182385A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2018097693A2 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2020096389A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2018097692A2 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2017171370A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2019172705A1 (ko) | 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2017222237A1 (ko) | 화면 내 예측 방법 및 장치 | |
WO2020141813A2 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2018030773A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
WO2019240493A1 (ko) | 문맥 적응적 이진 산술 부호화 방법 및 장치 | |
WO2020096388A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020005035A1 (ko) | 처리율 향상을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2018174617A1 (ko) | 블록 형태에 기반한 예측 방법 및 장치 | |
WO2019027241A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2019017651A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
WO2020017910A1 (ko) | 지역 조명 보상을 통한 효과적인 비디오 부호화/복호화 방법 및 장치 | |
WO2020222617A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020111843A1 (ko) | 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치 | |
WO2020060329A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020096428A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020096427A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020005045A1 (ko) | 머지 모드 기반의 인터 예측 방법 및 장치 | |
WO2017222331A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2020032531A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018557891 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017792913 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017792913 Country of ref document: EP Effective date: 20181108 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17792913 Country of ref document: EP Kind code of ref document: A2 |