EP3849193A1 - Procédé et dispositif de codage/décodage d'image - Google Patents

Procédé et dispositif de codage/décodage d'image Download PDF

Info

Publication number
EP3849193A1
EP3849193A1 EP19856954.3A EP19856954A EP3849193A1 EP 3849193 A1 EP3849193 A1 EP 3849193A1 EP 19856954 A EP19856954 A EP 19856954A EP 3849193 A1 EP3849193 A1 EP 3849193A1
Authority
EP
European Patent Office
Prior art keywords
block
prediction
mode
partition
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP19856954.3A
Other languages
German (de)
English (en)
Other versions
EP3849193A4 (fr
Inventor
Ki Baek Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
B1 Institute of Image Technology Inc
Original Assignee
B1 Institute of Image Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by B1 Institute of Image Technology Inc filed Critical B1 Institute of Image Technology Inc
Publication of EP3849193A1 publication Critical patent/EP3849193A1/fr
Publication of EP3849193A4 publication Critical patent/EP3849193A4/fr
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present disclosure relates to an image encoding/decoding method and device.
  • a purpose of the present disclosure is to provide a method and a device for deriving an intra prediction mode according to a color component.
  • a purpose of the present disclosure is to provide a method and a device for configuring a reference pixel for intra prediction.
  • a purpose of the present disclosure is to provide an image encoding/decoding method and device for modifying intra prediction with an arbitrary pixel.
  • An image encoding/decoding method and device may determine an intra prediction mode of a target block, generate a prediction block of the target block based on the intra prediction mode and modify the prediction block.
  • an intra prediction mode of the target block may be determined as a mode in a prediction mode candidate group according to state information of the target block.
  • a prediction mode candidate group composed of a directional mode and a non-directional mode may be referred to and when the color component of the target block is a chroma component, a prediction mode candidate group in which at least one of a directional mode, a non-directional mode, a color mode or a color copy mode is supported may be referenced to.
  • the prediction mode candidate group may be classified into a plurality of categories by considering the maximum number or the priority of a prediction mode which is capable of being included in each category.
  • the prediction mode candidate group may be classified into a first category including a non-directional mode and a directional mode and a second category including a color copy mode.
  • the first information specifying any one of a plurality of categories may be obtained and the second information specifying an intra prediction mode of the target block in a category according to the first information may be obtained.
  • an intra prediction mode of the target block may be determined from the specified category based on the first information and the second information.
  • the second information may not be obtained when only one prediction mode is included in the category according to the first information.
  • constructing a reference pixel used for the intra prediction may be further included, but the reference pixel may belong to all or part of plural reference pixel lines supported in a decoding apparatus.
  • performing at least one of a weighted filter or an interpolation filter for the constructed reference pixel may be further included.
  • modifying the prediction block may be selectively performed based on predetermined coding information and the coding information may include at least one of an image type, a color component, state information, a coding mode, an intra prediction mode, whether intra prediction in units of sub-blocks is applied or a reference pixel line.
  • an intra prediction mode may be effectively derived.
  • the efficiency of intra prediction may be improved by the selective use of a reference pixel line and a predetermined filtering.
  • the accuracy of intra prediction and coding performance may be improved by modifying a prediction block.
  • An image encoding/decoding method and device may determine an intra prediction mode of a target block, generate a prediction block of the target block based on the intra prediction mode and modify the prediction block.
  • an intra prediction mode of the target block may be determined as a mode within a prediction mode candidate group according to state information of the target block.
  • a prediction mode candidate group composed of a directional mode and a non-directional mode may be referenced and when the color component of the target block is a chroma component, a prediction mode candidate group in which at least one of a directional mode, a non-directional mode, a color mode or a color copy mode is supported may be referenced.
  • the prediction mode candidate group may be classified into a plurality of categories by considering a maximum number or a priority of prediction modes which may be included in each category.
  • the prediction mode candidate group may be classified into a first category including a non-directional mode and a directional mode and a second category including a color copy mode.
  • the first information specifying any one of the plurality of categories may be obtained and the second information specifying an intra prediction mode of the target block in the category according to the first information may be obtained.
  • an intra prediction mode of the target block may be determined from the specified category based on the first information and the second information.
  • the second information may not be obtained when only one prediction mode is included in the category according to the first information.
  • configuring a reference pixel used for the intra prediction may be further included, but the reference pixel may belong to all or part of a plurality of reference pixel lines supported in a decoding apparatus.
  • performing at least one of a weighted filter or an interpolation filter for the configured reference pixel may be further included.
  • modifying the prediction block may be selectively performed based on predetermined coding information and the coding information may include at least one of an image type, a color component, state information, a coding mode, an intra prediction mode, whether intra prediction in a sub-block unit is applied or a reference pixel line.
  • first, second, etc. may be used to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another element. For example, a first element could be termed a second element and a second element could be termed a first element likewise without departing from the teachings of the present invention.
  • the term "and/or" includes any and all combinations of a plurality of associated listed items.
  • one or more color spaces may be configured according to a color format of an image.
  • One or more pictures with a certain size or, one or more pictures with a different size may be configured according to the color format.
  • a color format such as 4:4:4, 4:2:2, 4:2:0, Monochrome (configured with only Y), etc. may be supported.
  • 1 luma component(in this example, Y) and 2 chroma components(in this example, Cb/Cr) may be configured and in this case, a configuration ratio of a chroma component and a luma component may be an aspect ratio of 1:2.
  • 4:4:4 it may have the same aspect ratio.
  • an image type I may mean an image which is self-encoded without using a reference picture
  • an image type P may mean an image which is encoded by using a reference picture, but allows only forward prediction
  • an image type B may mean an image which is encoded by using a reference picture and allows a forward/backward prediction, but a part of the above types may be combined according to a coding setting (combining P and B) or an image type in other configuration may be supported.
  • a variety of encoded/decoded information generated in the present disclosure may be explicitly or implicitly processed.
  • an explicit processing generates encoded/decoded information in a sequence, a slice, a tile group, a tile, a brick, a block, a sub-block, etc. to store it in a bitstream and parses related information in the same unit as an encoder in a decoder to reconstruct it into decoded information.
  • an implicit processing processes encoded/decoded information in the same process, rule, etc. in an encoder and a decoder.
  • FIG. 1 is a conceptual diagram on an image encoding and decoding system according to an embodiment of the present disclosure.
  • an image encoding device 105 and decoding device 100 may be a user terminal such as a personal computer(PC), a notebook, a personal digital assistant(PDA), a portable multimedia player(PMP), a PlayStation Portable(PSP), a wireless communication terminal, a smart phone or TV, etc. or a server terminal such as an application server, a service server, etc. and may include various devices equipped with a communication device such as a communication modem, etc. for communicating with various instruments or an wire and wireless communication network, a memory (120, 125) for storing all kinds of programs and data for inter or intra prediction to encode or decode an image or a processor (110, 115) for program operation and control by running it, etc.
  • a communication device such as a communication modem, etc. for communicating with various instruments or an wire and wireless communication network
  • a memory 120, 125
  • a processor 110, 115
  • an image encoded in a bitstream by an image encoding device 105 may be transmitted to an image decoding device 100 through a wire and wireless communication network, etc. such as the Internet, a wireless local area network, a wireless Lan network, a wibro network or a mobile radio communication network, etc. or through various communication interfaces such as a cable or an universal serial bus, etc. in real-time or in non-real-time and decoded in an image decoding device 100. And it may be reconstructed into an image and played.
  • an image encoded in a bitstream by an image encoding device 105 may be transmitted to an image decoding device 100 from an image encoding device 105 through a computer-readable recording medium.
  • image encoding device and image decoding device may be separate devices, respectively, but they may be made as one image encoding/decoding device according to an embodiment.
  • some configurations of an image encoding device may be embodied to include at least the same structure or perform at least the same function as some configurations of an image decoding device as a substantially identical technical element.
  • an image decoding device corresponds to a computing device which applies an image encoding method performed in an image encoding device to decoding
  • an image encoding device will be mainly described as follows.
  • a computing device may include a memory which stores a program or a software module embodying an image encoding method and/or an image decoding method and a processor which is connected to a memory to execute a program.
  • an image encoding device may be referred to as an encoder and an image decoding device may be referred to as a decoder, respectively.
  • FIG. 2 is a component block diagram on an image encoding device according to an embodiment of the present disclosure.
  • an image encoding device 20 may include a prediction unit 200, a subtraction unit 205, a transform unit 210, a quantization unit 215, a dequantization unit 220, an inverse transform unit 225, an add unit 230, a filter unit 235, an encoding picture buffer 240 and an entropy encoding unit 245.
  • a prediction unit 200 may be embodied by using a prediction module, a software module, and may generate a prediction block in an intra prediction method or an inter prediction method for a block which will be encoded.
  • a prediction unit 200 may generate a prediction block by predicting a target block which is currently to be encoded in an image.
  • a prediction unit 200 may generate a prediction block with the predicted pixel value of each pixel generated by predicting the pixel value of each pixel in a target block which is to be encoded in an image according to intra prediction or inter prediction.
  • a prediction unit 200 may make an encoding unit encode information on a prediction mode by transmitting information necessary to generate a prediction block like information on a prediction mode such as an intra prediction mode or an inter prediction mode to an encoding unit.
  • a processing unit in which prediction is performed and a processing unit in which a prediction method and a concrete content are determined may be determined according to an encoding setting. For example, a prediction method, a prediction mode, etc. may be determined in a prediction unit and prediction may be performed in a transform unit.
  • an inter prediction unit it may be divided into a temporal prediction and a spatial prediction based on a reference picture.
  • a temporal prediction it may be a prediction method finding a motion in a picture which is temporally different from a current picture
  • a spatial prediction it may be a prediction method finding a motion in a current picture (an encoded region. a preset region adjacent to a target block) which is temporally the same as a current picture. It may be integrated and managed by a reference picture list or may be managed by dividing an encoding mode.
  • an inter prediction unit it may be divided into a translation motion model and a non-translation motion model according to a motion prediction method.
  • a prediction may be performed by considering only parallel translation and for a non-translation motion model, a prediction may be performed by considering a motion such as rotation, distance, zoom in/out, etc. as well as parallel translation.
  • a unidirectional prediction is assumed, a translation motion model may need one motion vector, but a non-translation motion model may need one or more motion information (e.g., one motion vector + rotation angle/scale factor, more than 2 motion vectors, etc. The following assumes the use of more than 2 motion vectors).
  • each motion vector may be information applied to the preset position of a target block such as the left-top vertex, the right-top vertex, the left-bottom vertex, etc. of a target block and may obtain the position of a target block region to be predicted by a corresponding motion vector in a pixel unit or a sub-block unit (an integer over 2 like 4 x 4, 8 x 8).
  • a target block such as the left-top vertex, the right-top vertex, the left-bottom vertex, etc. of a target block
  • a sub-block unit an integer over 2 like 4 x 4, 8 x 8
  • An inter prediction unit may include a reference picture construction unit, a motion prediction unit, a motion compensation unit, a motion information determination unit and a motion information encoding unit.
  • a reference picture construction unit may include a picture encoded before or after a current picture in a reference picture list (L0, LI). It may obtain a prediction block from a reference picture included in the reference picture list and may be included in at least one of reference picture lists as a current image is configured with a reference picture according to an encoding setting.
  • a reference picture construction unit may include a reference picture interpolation unit and perform an interpolation process for a decimal pixel according to interpolation accuracy.
  • a DCT-based 8-tap interpolation filter may be applied for a luma component and a DCT-based 4-tap interpolation filter may be applied for a chroma component.
  • a motion prediction unit is a process of searching a block with high correlation with a target block through a reference picture and may use a variety of methods such as FBMA(Full search-based block matching algorithm), TSS(Three step search), etc. and a motion compensation unit means a process of obtaining a prediction block by a motion prediction process.
  • a motion information determination unit may perform a process for selecting the optimum motion information of a target block and motion information may be encoded by a motion information coding mode such as a skip mode, a merge mode, a competition mode, etc.
  • the mode may be configured by combining modes supported according to a motion model and a skip mode(translation), a skip mode(non-translation), a merge mode(translation), a merge mode(non-translation), a competition mode(translation) and a competition mode(non-translation) may be an example therefor.
  • Some of the modes may be included in a candidate group according to an encoding setting.
  • the motion information coding mode may obtain a prediction value for the motion information (a motion vector, a reference picture, a prediction direction, etc.) of a target block in at least one candidate block and when two or more candidate blocks are supported, optimum candidate selection information may be generated.
  • a prediction value for the motion information a motion vector, a reference picture, a prediction direction, etc.
  • the prediction value may be used as the motion information of a target block and in a competition mode, the motion information of a target block and difference value information with the prediction value may be generated.
  • a candidate group for the motion information prediction value of a target block may be adaptively and variously configured according to a motion information coding mode.
  • the motion information of a block spatially adjacent to a target block e.g., a left block, a top block, a left-top block, a right-top block, a left-bottom block, etc.
  • the motion information of a block temporally adjacent to a target block e.g., a left block, a right block, a top block, a bottom block, a left-top block, a right-top block, a left-bottom block, a right-bottom block, etc.
  • a candidate group including a block ⁇ central> in other image responding or corresponding to a target block
  • the mixed motion information of a spatial candidate and a temporal candidate e.g., information obtained by an average, a central value, etc. of more than 2 candidates through the motion information of a block adjacent spatially and the motion information of a block adjacent temporally.
  • Motion information may be obtained in a target block unit or in a sub-block unit for a target block) may be included in a candidate group.
  • the order included in a prediction value candidate group configuration may be determined according to the priority and a candidate group may be configured when the number of candidate groups (determined according to a motion information coding mode) is reached according to the priority.
  • the priority may be determined in the order of the motion information of a spatially adjacent block, the motion information of a temporally adjacent block and the mixed motion information of a spatial candidate and a temporal candidate, but it may be also modified.
  • spatially adjacent blocks it may be included in a candidate group in the order of a left - top - right-top - left-bottom - left-top block, etc. and for temporally adjacent blocks, it may be included in a candidate group in the order of a right-bottom - middle - right - bottom block, etc.
  • a subtraction unit 205 may generate a residual block by subtracting a prediction block from a target block.
  • a subtraction unit 205 may generate a residual block, a block-shaped residual signal, by calculating difference between a pixel value for each pixel of a target block to be encoded and a predicted pixel value for each pixel of a prediction block generated in a prediction unit.
  • a subtraction unit 205 may generate a residual block in a unit except for a block unit obtained in a block partition unit described later.
  • a transform unit 210 may transform a signal belonging to a spatial domain into a signal belonging to a frequency domain and a signal obtained in a transform process is referred to as a transformed coefficient.
  • a transform block having a transformed coefficient may be obtained by transforming a residual block having a residual signal transmitted from a subtraction unit and an input signal is determined according to a coding setting, which is not limited to a residual signal.
  • a transform unit may transform a residual block by using a transform method such as Hadamard Transform, DST Based-Transform(Discrete Sine Transform), DCT Based-Transform(Discrete Cosine Transform), etc. and various transform methods improved and modified thereof may be used without being limited thereto.
  • a transform method such as Hadamard Transform, DST Based-Transform(Discrete Sine Transform), DCT Based-Transform(Discrete Cosine Transform), etc. and various transform methods improved and modified thereof may be used without being limited thereto.
  • At least one transform method among the transform methods may be supported and at least one detailed transform method in each transform method may be supported.
  • the detailed transform method may be a transform method in which a part of a base vector is differently configured in each transform method.
  • a transform method candidate group may be configured by configuring a part of the detailed transform method.
  • DCT-2, DCT-8 and DST-7 may be configured as a transform method candidate group to perform transform.
  • Transform may be performed in a horizontal/vertical direction.
  • the pixel value of a spatial domain may be transformed into a frequency domain by performing a total of two-dimensional transforms, one-dimensional transform in a horizontal direction with the transform method of DCT-2 and one-dimensional transform in a vertical direction with the transform method of DST-7.
  • Transform may be performed by using one fixed transform method or by adaptively selecting a transform method according to a coding setting.
  • a transform method may be selected by using an explicit or implicit method.
  • each transform method selection information or transform method set selection information applied to a horizontal and vertical direction may be generated in a unit of a block, etc.
  • a coding setting may be defined according to an image type(I/P/B), a color component, a block size/shape/position, an intra prediction mode, etc. and accordingly, a predetermined transform method may be selected.
  • transforms may be omitted according to a coding setting. In other words, it means more than one of horizontal/vertical units may be explicitly or implicitly omitted.
  • a transform unit may transmit information needed to generate a transform block to an encoding unit to encode it and store information thereof in a bitstream to transmit it to a decoder, and the decoding unit of a decoder may parse information therefor to use it in an inverse transform process.
  • a quantization unit 215 may quantize an input signal and in this case, a signal obtained in a quantization process is referred to as a quantized coefficient.
  • a quantization block with a quantized coefficient may be obtained by quantizing a residual block with a residual transformed coefficient transmitted from a transform unit and an input signal is determined according to a coding setting, which is not limited to a residual transformed coefficient.
  • a quantization unit may quantize a transformed residual block by using a quantization method such as Dead Zone Uniform Threshold Quantization, Quantization Weighted Matrix, etc. and various quantization methods improved and modified thereof may be used without being limited thereto.
  • a quantization method such as Dead Zone Uniform Threshold Quantization, Quantization Weighted Matrix, etc. and various quantization methods improved and modified thereof may be used without being limited thereto.
  • a quantization process may be omitted according to a coding setting.
  • a quantization process may be omitted (including an inverse process) according to a coding setting (e.g., a quantization parameter is 0. i.e., lossless compression environment).
  • a quantization process may be omitted when compression performance through quantization is not shown according to the characteristics of an image.
  • a region in which a quantization process is omitted among quantization blocks (M x N) may be all or part of regions (M/2 x N/2, M x N/2, M/2 x N, etc.) and quantization omission selection information may be implicitly or explicitly determined.
  • a quantization unit may transmit information needed to generate a quantization block to an encoding unit to encode it and store information thereof in a bitstream to transmit it to a decoder and the decoding unit of a decoder may parse information therefor to use it for a dequantization process.
  • the residual block with a transformed coefficient may be generated by transforming the residual signal of the residual block and the quantization process may not be performed, only a quantization process may be performed without transforming the residual signal of the residual block into a transformed coefficient, and both the transform process and the quantization process may not be performed. It may be determined according to a coding setting.
  • a dequantization unit 200 dequantizes a residual block quantized by a quantization unit 215.
  • a dequantization unit 220 generates a residual block having a frequency coefficient by dequantizing a quantized frequency coefficient column.
  • An inverse transform unit 225 inversely transforms a residual block dequantized by a dequantization unit 220.
  • an inverse transform unit 225 generates a residual block which has a pixel value by inversely transforming the frequency coefficients of a dequantized residual block, i.e., a reconstructed residual block.
  • an inverse transform unit 225 may perform inverse transform by inversely using a transform method used in a transform unit 210.
  • An add unit 230 reconstructs a target block by adding a prediction block predicted in a prediction unit 200 and a residual block reconstructed by an inverse transform unit 225.
  • the reconstructed target block may be stored as a reference picture (or a reference block) in an encoding picture buffer 240 and may be used as a reference picture when encoding the next block of a target block, other block or other picture in the future.
  • a filter unit 235 may include one or more postprocessing filter processes such as a deblocking filter, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter), etc.
  • a deblocking filter may remove block distortion that is generated on the boundary between blocks in a reconstructed picture.
  • ALF may perform filtering based on a value obtained by comparing a reconstructed image after a block is filtered through a deblocking filter with an original image.
  • SAO may reconstruct an offset difference with an original image in a pixel unit for a residual block in which a deblocking filter is applied.
  • Such a postprocessing filter may be applied to a reconstructed picture or block.
  • An encoding picture buffer 240 may store a block or a picture reconstructed in a filter unit 235.
  • a reconstructed block or picture stored in an encoding picture buffer 240 may be provided to a prediction unit 200 performing intra prediction or inter prediction.
  • An entropy encoding unit 245 scans a generated quantized frequency coefficient column according to various scanning methods to generate a quantized coefficient column and encodes and outputs it by using an entropy encoding method, etc.
  • a scanning pattern may be set as one of various patterns such as a zigzag, a diagonal line, a raster, etc.
  • encoding data including encoding information transmitted from each construction unit may be generated and output in a bitstream.
  • FIG. 3 is a component block diagram on an image decoding device according to an embodiment of the present disclosure.
  • an image decoding device 30 may be configured by including an entropy decoding unit 305, a prediction unit 310, a dequantization unit 315, an inverse transform unit 320, an adder-subtractor 325, a filter 330 and a decoding picture buffer 335.
  • a prediction unit 310 may be configured by including an intra prediction module and an inter prediction module.
  • an image bitstream transmitted from an image encoding device 20 when received, it may be transmitted to an entropy decoding unit 305.
  • An entropy decoding unit 305 may decode decoding data including coefficients quantized by decoding a bitstream and decoding information transmitted to each construction unit.
  • a prediction unit 310 may generate a prediction block based on data transmitted from an entropy decoding unit 305. In this case, based on a reference image stored in a decoded picture buffer 335, a reference picture list using a default configuration method may be configured.
  • An inter prediction unit may include a reference picture construction unit, a motion compensation unit and a motion information decoding unit and some may perform the same process as an encoder and some may perform an inversely deriving process.
  • a dequantization unit 315 may dequantize quantized transformed coefficients which are transmitted in a bitstream and decoded in an entropy decoding unit 305.
  • An inverse transform unit 320 may generate a residual block by applying inverse DCT, inverse integer transform or inverse transform methods similar thereto to a transformed coefficient.
  • a dequantization unit 315 and an inverse transform unit 320 may be embodied in various ways while inversely performing a process performed in the transform unit 210 and the quantization unit 215 of the above-described image encoding device 20.
  • inverse transform and the same process shared with a transform unit 210 and a quantization unit 215 may be used and a transform and dequantization process may be inversely performed with information on a transform and quantization process in an image encoding device 20 (e.g., a transform size, a transform shape, a quantization type, etc.)
  • a residual block after a dequantization and inverse transform process may be added to a prediction block derived by a prediction unit 310 to generate a reconstructed image block. Such addition may be performed by an adder-subtractor 325.
  • a filter 330 may apply a deblocking filter to a reconstructed image block to remove a blocking phenomenon, if necessary and additionally use other loop filters to improve image quality before and after the decoding process.
  • a constructed and filtered image block may be stored in a decoding picture buffer 335.
  • a block partition unit may be additionally included in an image encoding/decoding device.
  • a base coding unit (or the maximum coding unit. Coding Tree Unit. CTU) may mean a base (or start) unit for prediction, transform, quantization, etc. in an image coding process.
  • a base coding unit may be configured with one luma base coding block (or, the maximum coding block. Coding Tree Block. CTB) and two base chroma coding blocks according to a color format (in this example, YCbCr) and the size of each block may be determined according to a color format.
  • a coding block(CB) may be obtained according to a partition process.
  • a coding block may be understood as a unit which is not partitioned into more coding blocks according to a fixed limit and may be set as a start unit for partition into a lower unit.
  • a block may be understood as a wide concept which includes a variety of shapes such as a triangle, a circle, etc. without being limited to a square shape.
  • the after-mentioned contents are targeted for one color component, but may be changed and applied to other color component in proportion to a ratio according to a color format (e.g., for YCbCr 4:2:0, the aspect ratio of a luma component and a chroma component is 2:1).
  • a color format e.g., for YCbCr 4:2:0, the aspect ratio of a luma component and a chroma component is 2:1.
  • block partition dependent on other color component e.g., in case of being dependent on a result from the block partition of Y in Cb/Cr
  • one common block partition setting (considering proportion to a length ratio) may be used, but it is needed to consider and understand that a separate block partition setting is used according to a color component.
  • a block may be described as M x N and the maximum value and minimum value of each block may be obtained in a range.
  • the maximum value of a block is set to be 256x256 and the minimum value of a block is set to be 4x4, a 2 m x2 n sized block(in this example, m and n are an integer from 2 to 8), a 2 m x2 m sized block(in this example, m and n are an integer from 2 to 128) or a m x n sized block(in this example, m and n are an integer from 4 to 256) may be obtained.
  • m and n may be identical or not identical and one or more ranges where a block for the maximum value, the minimum value, etc. is supported may be generated.
  • information on the maximum size, the minimum size, etc. of a block may be generated and information on the maximum size, the minimum size, etc. of a block in some partition settings may be generated.
  • the former may be range information on the maximum and minimum size which may be generated in an image and the latter may be information on the maximum and minimum size which may be generated according to some partition settings.
  • the partition settings may be defined by an image type(I/P/B), a color component(YCbCr, etc.), a block type(coding/prediction/transform/quantization, etc.), a partition type(Index or Type), a partition method(QT, BT, TT, etc. in a Tree method, SI2, SI3, SI4, etc. in an Index method), etc.
  • a limit on the aspect ratio (a shape of a block) that a block may have and a boundary value condition therefor may be set.
  • k may be defined according to an aspect ratio such as A/B(A is a value longer than or the same as width or height, B is the remaining value) and may be a real number over 1 such as 1.5, 2, 3, 4, etc.
  • A/B(A is a value longer than or the same as width or height, B is the remaining value) and may be a real number over 1 such as 1.5, 2, 3, 4, etc.
  • a limit condition on one block shape in an image may be supported or one or more limit conditions may be supported according to a partition setting.
  • whether block partition is supported may be determined by the above-mentioned range and condition, the after-mentioned partition setting, etc. For example, when a block condition that a candidate (a child block) according to the partition of a block (a parent block) is supported is satisfied, the corresponding partition may be supported and otherwise, the corresponding partition may not be supported.
  • a block partition unit may be set to be related to each construction unit for an image encoding device and decoding device, through which the size and shape of a block may be determined.
  • a set block may be defined differently according to a construction unit and a prediction block for a prediction unit, a transform block for a transform unit, a quantization block for a quantization unit, etc. may correspond to it.
  • a block unit according to other construction unit may be additionally defined without being limited thereto.
  • the present disclosure mainly describes a case in which input and output are rectangular in each construction unit, but input/output in other shapes (e.g., a right-angled triangle, etc.) may be possible in some construction units.
  • the size and shape of an initial (or start) block in a block partition unit may be determined by a higher unit.
  • the initial block may be partitioned into a smaller block and when the optimum size and shape according to the partition of a block are determined, that block may be determined as an initial block in a lower unit.
  • a higher unit may be a coding block and a lower unit may be a prediction block or a transform block, but they are not limited thereto and may be variously modified.
  • a partition process for finding the optimum size and shape may be performed like a higher unit.
  • a block partition unit may partition a base coding block (or the maximum coding block) into at least one coding block and a coding block may be partitioned into at least one prediction block/transform block/quantization block.
  • a prediction block may be partitioned into at least one transform block/quantization block and a transform block may be partitioned into at least one quantization block.
  • some blocks may have a dependent (i.e., defined by a higher unit and a lower unit) or independent relationship with other block.
  • a prediction block may be a higher unit for a transform block or an independent unit from a transform block and various relation settings may be possible according to a block type.
  • a higher unit and a lower unit are combined may be determined.
  • combination between units means that a coding process in a lower unit (e.g., a prediction unit, a transform unit, an inverse transform unit, etc.) is performed by a block in a higher unit (size and shape) without partition from a higher unit to a lower unit.
  • a partition process in a plurality of units is shared and partition information is generated in one unit of them (e.g., a higher unit).
  • a prediction, transform and inverse transform process may be performed in a coding block.
  • a prediction process may be performed in a coding block and a transform and inverse transform process may be performed in a transform block identical to or smaller than a coding block.
  • a prediction process may be performed in a prediction block identical to or smaller than a coding block and a transform and inverse transform process may be performed in a coding block.
  • a prediction process may be performed in a prediction block identical to or smaller than a coding block and a transform and inverse transform process may be performed in a prediction block.
  • a prediction process may be performed in a prediction block identical to or smaller than a coding block and a transform and inverse transform process may be performed in a transform block identical to or smaller than a coding block.
  • a fixed setting may be supported in an image or an adaptive setting may be supported by considering various coding elements.
  • the coding elements may include an image type, a color component, a coding mode(Intra/Inter), a partition setting, a block size/shape/position, an aspect ratio, prediction-related information(e.g., an intra prediction mode, an inter prediction mode, etc.), transform-related information(e.g., transform method selection information, etc.), quantization-related information(e.g., quantization region selection information, quantized transformed coefficient coding information, etc.), etc.
  • prediction-related information e.g., an intra prediction mode, an inter prediction mode, etc.
  • transform-related information e.g., transform method selection information, etc.
  • quantization-related information e.g., quantization region selection information, quantized transformed coefficient coding information, etc.
  • mode information therefor (e.g., partition information, etc.) may be generated.
  • Mode information may be stored in a bitstream with information generated in a construction unit to which a block belongs (e.g., prediction-related information, transform-related information, etc.) and transmitted to a decoder and may be parsed in the same unit in a decoder and used in an image decoding process.
  • an initial block has a square shape, but as it may be equally or similarly applied even when an initial block has a rectangular shape, it is not limited thereto.
  • a block partition unit may support various kinds of partition. For example, it may support a tree-based partition or an index-based partition and other methods may be supported.
  • a tree-based partition may determine a partition shape with various kinds of information (e.g., whether to partition, a tree type, a partition direction, etc.) and an index-based partition may determine a partition shape with predetermined index information.
  • FIG. 4 is an exemplary diagram showing various partition shapes which may be obtained in the block partition unit of the present disclosure.
  • a partition shape like FIG. 4 is obtained by performing one partition (or process), but it may be also obtained by a plurality of partition motions without being limited thereto.
  • an additional partition shape not shown in FIG. 4 may be possible.
  • Quad Tree(QT), Binary Tree(BT), Ternary Tree(TT), etc. may be supported.
  • BT Binary Tree
  • TT Ternary Tree
  • QT means a method(n) in which a block is partitioned into two respectively (i.e., 4 divisions) in a horizontal and vertical direction
  • BT means a method(b to g) in which a block is partitioned into two in a horizontal or vertical direction
  • TT means a method(h to m) in which a block is partitioned into three in a horizontal or vertical direction.
  • QT may support a 4-divisoin method (o, p) by limiting a partition direction to one of a horizontal direction and a vertical direction.
  • BT may support only a method(b, c) with a uniform size or only a method(d to g) with a non-uniform size or may mix and support two methods.
  • TT may support only a method(h, j, k, m) with an arrangement that partition is skewed in a specific direction(1:1:2, 2:1:1, etc. from left to right or from top to bottom) or may support only a method(i, 1) of being arranged in the center(1:2:1, etc.) or may mix and support two methods.
  • z-partition method(b, d, e, h, i, j, o) only in a horizontal partition direction or support a z-partition method(c, f, g, k, 1, m, p) only in a vertical direction or mix and support two methods.
  • z may be an integer over 2 such as 2, 3 and 4.
  • one or more methods of the tree partitions may be supported.
  • QT may be supported
  • QT/BT may be supported
  • QT/BT/TT may be supported.
  • base tree partition is QT and BT and TT are included in an additional partition method according to whether other trees are supported, but various modifications may be possible.
  • information on whether other trees are supported (bt_enabled_flag, tt_enabled_flag, bt_tt_enabled_flag, etc. It may have a value of 0 or 1 and for 0, it is not supported and for 1, it is supported.) may be implicitly determined according to a coding setting or may be explicitly determined in a unit of a sequence, a picture, a slice, a tile group, a tile, a brick, etc.
  • Information on whether to partition (tree_part_flag or qt_part_flag, bt_part_flag, tt_part_flag, bt_tt_part_flag. It may have a value of 0 or 1 and for 0, it is not partitioned and for 1, it is partitioned.) may be included in partition information.
  • information on a partition direction (dir_part_flag or bt_dir_part_flag, tt_dir_part_flag, bt_tt_dir_part_flag. It may have a value of 0 or 1 and for 0, ⁇ width/horizontal> and for 1, ⁇ height/vertical>) may be added, which may be generated when partition is performed.
  • partition information may be variously configured. Next, it will be described by assuming a case on how partition information is configured in one depth level (i.e., supported partition depth is set to be over 1, and a recursive partition may be possible, but it is for the convenience of explanation).
  • partition When partition is performed, confirm selection information on a partition type (e.g., tree_idx. For 0, QT, for 1, BT and for 2, TT). In this case, additionally confirm partition direction information according to a selected partition type and move on to the next step. (If additional partition is possible because partition depth does not reach the maximum, start again from the beginning, and when partition is impossible, partition is ended).
  • a partition type e.g., tree_idx. For 0, QT, for 1, BT and for 2, TT.
  • the above example may be a case in which the priority of a tree partition exists (No. 2 and 3 example) or does not exist (No. 1 example), but it may be variously modified.
  • partition in a current step is unrelated to a result of partition in a previous step is described in the above example, but partition in a current step may be also set to be dependent on a result of partition in a previous step.
  • the partition of some tree method (QT) when the partition of some tree method (QT) is performed in a previous step to move on to a current step, the partition of the same tree method (QT) may be supported also in a current step.
  • the partition of some tree methods (QT) when the partition of some tree method (QT) is not performed in a previous step and the partition of some tree methods (BT or TT) is performed to move on to a current step, the partition of some tree methods (BT and TT) excluding the partition of some tree method (QT) may be also set to be supported in a next step including a current step.
  • the above case means that tree configuration supported for block partition may be adaptive, which means the above-mentioned partition information configuration may be also configured differently. (It is assumed that an example described later is No. 3 example.) In other words, in the above example, when the partition of some tree method (QT) is not performed in a previous step, partition process may be performed in a current step without considering some tree method(QT). In addition, partition information on a related tree method (e.g., information on whether to partition, partition direction information, etc. In this example ⁇ QT>, information on whether to partition) may be removed and configured.
  • the above example is a case for adaptive partition information configuration on a case in which block partition is allowed (e.g., a block size is within a range between the maximum value and the minimum value, the partition depth of each tree method does not reach the maximum depth ⁇ allowable depth>, etc.) and adaptive partition information configuration may be possible even when block partition is limited (e.g., a block size is not within a range between the maximum value and the minimum value, the partition depth of each tree method reaches the maximum depth, etc.)
  • a tree-based partition in the present disclosure may be performed with a recursive method. For example, when the partition flag of a coding block that partition depth is k is 0, the coding of a coding block is performed in a coding block that partition depth is k and when the partition flag of a coding block that partition depth is k is 1, the coding of a coding block is performed in N sub coding blocks that partition depth is k+1 according to a partition method (In this case, N is an integer over 2 such as 2, 3, 4).
  • the sub coding block may be set as a coding block(k+1) and partitioned into a sub coding block(k+2) in the above process and such a hierarchical partition method may be determined according to a partition setting such as a partition range, allowable partition depth, etc.
  • a bitstream structure for representing partition information may be selected among one or more scanning methods.
  • a bitstream for partition information may be configured based on the order of partition depth or a bitstream for partition information may be configured based on whether to partition.
  • partition depth For example, if it is based on the order of partition depth, it is a method of obtaining partition information in a next level depth after obtaining partition information in a current level depth based on a first block and if it is based on whether to partition, it means a method of preferentially obtaining additional partition information in a block partitioned based on a first block, and other additional scanning method may be considered.
  • the size of the maximum block or the minimum block may have a common setting regardless of a tree type (or all tress) or may have a separate setting according to each tree or may have a setting common to more than two trees. In this case, the size of the maximum block may be set to be identical to or smaller than the maximum coding block. If the size of the maximum block according to a predetermined first tree is not identical to the maximum coding block, partition is implicitly performed by using a predetermined second tree method until the maximum block size of the first tree is reached.
  • partition depth may be supported regardless of a tree type or separate partition depth may be supported according to each tree or partition depth common to more than two trees may be supported. Alternatively, partition depth may be supported for some trees and partition depth may not be supported for some trees.
  • An explicit syntax element for the setting information may be supported and some setting information may be implicitly determined.
  • CSI(Constant Split Index) method a CSI(Constant Split Index) method, a VSI(Variable Split Index) method, etc. may be supported.
  • a CSI method may be a method in which k sub-blocks are obtained by partition in a predetermined direction and k may be an integer over 2 such as 2, 3, 4.
  • it may be a partition method for configuration in which the size and shape of a sub-block are determined based on the k value regardless of a block size and shape.
  • a predetermined direction one or two or more directions among a horizontal direction, a vertical direction and a diagonal direction (left-top -> right-bottom direction or left-bottom -> right-top direction, etc.) may be combined.
  • the index-based CSI partition method of the present disclosure may include a candidate which is partitioned into z in one direction, horizontal or vertical.
  • z may be an integer over 2 such as 2, 3, 4 and one of the width or height of each sub-block may be the same and the other may be the same or different.
  • the aspect ratio of the sub-block may by A1:A2:...: AZ and A1 to AZ may be an integer over 1 such as 1, 2, 3.
  • a candidate which is partitioned into x and y, respectively, in a horizontal and vertical direction may be included.
  • x and y may be an integer over 1 such as 1, 2, 3, 4, but when x and y are 1 at the same time (because a already exists), it may be limited.
  • FIG. 4 showed a case in which a ratio of the width or height of each sub-block is the same, but a candidate including a different case may be included.
  • a candidate which is partitioned into w in one direction among some diagonal direction (left-top -> right-bottom direction) or some diagonal direction (left-bottom -> right-top direction) may be included and w may be an integer over 2 such as 2, 3.
  • a partition shape may be defined by a variety of coding elements including the shape of a sub-block, etc. as well as the length ratio of a sub-block and a supported partition shape may be implicitly or explicitly determined according to a coding setting. Accordingly, a candidate group in an index-based partition method may be determined based on a supported partition shape.
  • a VSI method may be a method in which more than one sub-blocks are obtained by partition in a predetermined direction as the width(w) or height(h) of a sub-block is fixed and w and h may be an integer over 1 such as 1, 2, 4, 8, etc.
  • it may be a partition method for configuration in which the number of sub-blocks is determined based on the size and shape of a block and the w or n value.
  • the index-based VSI partition method of the present disclosure may include a partitioned candidate by fixing one of the width or height of a sub-block.
  • it may include a partitioned candidate by fixing the width and height of a sub-block.
  • uniform partition in a horizontal or vertical direction may be allowed, but it is not limited thereto.
  • the number of sub-blocks which are obtained may be (M ⁇ N)/w, (M ⁇ N)/h, (M ⁇ N)/w/h, respectively.
  • only CSI method may be supported, only VSI method may be supported or both two methods may be supported and information on a supported method may be implicitly or explicitly determined.
  • a candidate group may be configured by including two or more candidates among the index partitions.
  • a candidate group such as ⁇ a, b, c ⁇ , ⁇ a, b, c, n ⁇ , ⁇ a to g, n ⁇ may be configured, which may be a case that a block shape which is predicted to be considerably generated based on general statistical features such as a block shape which is partitioned into two(2) in a horizontal or vertical direction or partitioned into two(2) in a horizontal or vertical direction respectively is configured as a candidate group.
  • a candidate group such as ⁇ a, b ⁇ , ⁇ a, o ⁇ , ⁇ a, b, o ⁇ or ⁇ a, c ⁇ , ⁇ a, p ⁇ , ⁇ a, c, p ⁇ may be configured, which includes a candidate which is partitioned into two(2) and four(4) respectively in a horizontal and vertical direction. It may be a case in which a block shape which is predicted to be considerably partitioned in a specific direction is configured as a candidate group.
  • a candidate group such as ⁇ a, o, p ⁇ or ⁇ a, n, q ⁇ may be configured, which may be a case in which a block shape which is predicted to be considerably partitioned in a smaller size than a block before partition is configured as a candidate group.
  • a candidate group such as ⁇ a, r, s ⁇ may be configured, which may be a case in which a non-square partition shape is configured as a candidate group according to a judgment that the optimum partition result which may be obtained in a rectangular shape by other method (a tree method) in a block before partition was obtained.
  • various candidate group configurations may be possible and more than one candidate group configurations may be supported by considering a variety of coding elements.
  • index selection information may be generated in a candidate group which is configured by including a non-partitioned candidate(a) and a partitioned candidate(b to s).
  • information showing whether to partition may be generated and index selection information may be generated in a candidate group which is configured with a candidate (b to s) which is partitioned when partition is performed (if it is not a).
  • a binary bit may be assigned to the index of each candidate in a candidate group through various methods such as fixed length binarization, variable length binarization, etc.
  • a 1 bit may be assigned to index selection information and when the number of candidate groups is over 3, a 1 bit or more may be assigned to index selection information.
  • an index-based partition method may be a method of selectively configuring a partition shape which is predicted to be considerably generated in a candidate group.
  • index information may increase according to the number of supported candidate groups, it may be a method suitable for a mono hierarchical partition (e.g. partition depth is limited to 0), not a tree-based hierarchical partition (recursive partition). In other words, it may be a method which supports one partition motion and which may not additionally partition a sub-block obtained by index-based partition.
  • additional partition into a smaller block in the same type is impossible (e.g. a coding block obtained by an index partition method may not be additionally partitioned into a coding block), but additional partition into a block in a different type may be also set to be impossible (e.g. partition from a coding block not only into a coding block, but also into a prediction block is impossible).
  • additional partition into a block in a different type may be also set to be impossible (e.g. partition from a coding block not only into a coding block, but also into a prediction block is impossible).
  • a coding block may be obtained in a partition process.
  • a tree-based partition method may be used and a result of a partition shape such as a(no split), n(QT), b, c(BT), i, 1(TT), etc. in FIG. 4 may come out according to a tree type.
  • each tree type may be variously combined such as QT/QT+BT/QT+BT+TT, etc.
  • the after-mentioned example shows a process in which a prediction block and a transform block are finally partitioned based on a coding block obtained in the process and assumes a case in which a prediction, transform and inverse transform process are performed based on each partitioned size.
  • a prediction process may be performed as a prediction block is set the same as the size of a coding block and a transform and inverse transform process may be performed as a transform block is set the same as the size of a coding block (or a prediction block).
  • a prediction block and a transform block are set based on a coding block, there is no partition information which is separately generated.
  • a prediction process may be performed as a prediction block is set the same as the size of a coding block.
  • a transform block For a transform block, a transform block may be obtained in a partition process based on a coding block (or a prediction block) and a transform and inverse transform process may be performed based on an obtained size.
  • a tree-based partition method may be used for a partition process and a result of a partition shape such as a(no split), b, c(BT), i, 1(TT), n(QT), etc. in FIG. 4 may come out according to a tree type.
  • each tree type may be variously combined such as QT/BT/QT+BT/QT+BT+TT, etc.
  • an index-based partition method may be used for a partition process and a result of a partition shape such as a(no split), b, c, d, etc. in FIG. 4 may come out according to an index type.
  • a variety of candidate group configurations such as ⁇ a, b, c ⁇ , ⁇ a, b, c, d ⁇ , etc. may be possible.
  • a prediction block may be obtained in a partition process based on a coding block and a prediction process may be performed based on an obtained size.
  • a transform block may be set the same as the size of a coding block to perform a transform and inverse transform process. This example may correspond to a case in which a prediction block and a transform block have a mutually independent relationship.
  • an index-based partition method may be used in a partition process and a result of a partition shape such as a(no split), b to g, n, r, s, etc. in FIG. 4 may come out according to an index type.
  • a variety of candidate group configurations such as ⁇ a, b, c, n ⁇ , ⁇ a to g, n ⁇ , ⁇ a, r, s ⁇ , etc. may be possible.
  • a prediction block may be obtained in a partition process based on a coding block and a prediction process may be performed based on an obtained size.
  • a transform block may be set the same as the size of a prediction block to perform a transform and inverse transform process. This example may be a case in which a transform block is set the same as the size of an obtained prediction block or vice versa (e.g. a prediction block is set the same as the size of a transform block).
  • a tree-based partition method may be used in a partition process and a partition shape such as a(no split), b, c(BT), n(QT), etc. in FIG. 4 may be generated according to a tree type.
  • each tree type may be variously combined such as QT/BT/QT+BT, etc.
  • an index-based partition method may be used in a partition process and a partition shape such as a(no split), b, c, n, o, p, etc. in FIG. 4 may be generated according to an index type.
  • various candidate group configurations such as ⁇ a, b ⁇ , ⁇ a, c ⁇ , ⁇ a, n ⁇ , ⁇ a, o ⁇ , ⁇ a, p ⁇ , ⁇ a, b, c ⁇ , ⁇ a, o, p ⁇ , ⁇ a, b, c, n ⁇ , ⁇ a, b, c, n, p ⁇ , etc. may be possible.
  • a candidate group may be configured by a VSI method alone or by mixing a VSI method with the CSI method among index-based partition methods.
  • a prediction block may be obtained in a partition process based on a coding block and a prediction process may be performed based on an obtained size.
  • a prediction block may be obtained in a partition process based on a coding block and a transform and inverse transform process may be performed based on an obtained size. This example may be a case in which a prediction block and a transform block are partitioned respectively based on a coding block.
  • a tree-based partition method and an index-based partition method may be used in a partition process and a candidate group may be configured the same as or similarly to No.4 example.
  • a block partition setting may be determined by considering various coding elements as well as a block type.
  • a coding element may include an image type(I/P/B), a color component(YCbCr), a block size/shape/position, the aspect ratio of a block, a block type(a coding block, a prediction block, a transform block, a quantization block, etc.), a partition state, a coding mode(Intra/Inter), prediction-related information(an intra prediction mode, an inter prediction mode, etc.), transform-related information(transform method selection information, etc.), quantization-related information(quantization region selection information, quantized transformed coefficient coding information, etc.), etc.
  • FIG. 5 is an exemplary diagram showing a prediction mode in intra prediction according to an embodiment of the present disclosure.
  • 95 prediction modes may be supported for intra prediction and among them, 93 prediction modes are a directional mode and 2 prediction modes are a non-directional mode(DC, Planar).
  • a directional mode may be classified by a slope (e.g., dy/dx) or angle information Degree).
  • a non-directional mode may be a method performing prediction by a method such as average, interpolation, etc. of a reference pixel adjacent to a block and a directional mode may be a method performing prediction by a method such as the extrapolation, interpolation, etc. of a reference pixel adjacent to a block.
  • a directional mode may have a vertical (top->bottom/bottom->top), horizontal(left->right/right->left), diagonal A(left-top->right-bottom/right-bottom->left-top), diagonal B(right-top->left-bottom/left-bottom->right-top) direction, etc.
  • a directional mode when coding is performed by a raster scan, etc., there may be a block adjacent to a left, top, left-top, right-top, left-bottom direction and a non-directional mode taking it as a reference pixel or a start point or for prediction or a prediction mode in a vertical(top->bottom), horizontal(left->right), diagonal A(left-top->right-bottom), diagonal B-1(right-top->left-bottom), diagonal B-2(left-bottom->right-top) direction may be supported.
  • a directional mode may be differently defined.
  • a horizontal mode may perform prediction by extrapolation in a (right->left) direction.
  • prediction may be performed by extrapolation in a predetermined direction (left->right or right->left) or prediction may be performed by the interpolation of both blocks.
  • coding is performed according to the raster or z scanning order and it is described on the assumption that a reference pixel is positioned in a left, top, left-top, right-top, left-bottom direction.
  • a reconstructed block of other color space encoded by using correlation between color spaces may be used for the prediction of a target block and a prediction mode supporting it may be included.
  • the prediction block of a target block may be generated by using the reconstructed block of a luma component corresponding to a target block.
  • a prediction block may be generated based on a reconstructed block by considering correlation between color spaces and may be included as an intra prediction mode for a chroma component.
  • a chroma component may have the same candidate group as the prediction mode candidate group of a luma component or some modes among the prediction mode candidate groups of a luma component and an additional prediction mode on a chroma component (a color copy mode, a color mode) may be included in a prediction mode candidate group.
  • a color copy mode it may be a prediction mode related to a method of obtaining data for generating a prediction block from a region positioned in other color space and for a color mode, it may be a prediction mode related to a method of obtaining a prediction mode from a region positioned in other color space.
  • m and n modes (m, n are an integer such as 0,1,2,3 or more) may be supported, respectively.
  • a method of obtaining predetermined data for generating a prediction block may be defined in advance and when two or more color copy modes are supported, a method of obtaining data for generating a prediction block may be classified (e.g., a position referenced to obtain correlation, etc. ⁇ 1>left, ⁇ 2>top, ⁇ 3>left + top region, etc.) and supported.
  • a predetermined position for obtaining a prediction mode may be defined in advance and when two or more color modes are supported, a plurality of positions (e.g., ⁇ 1>center, ⁇ 2>left-top, ⁇ 3>right-top, ⁇ 4>left-bottom, ⁇ 5>right-bottom, etc. for a corresponding block) for obtaining a prediction mode may be supported.
  • All or part of prediction modes described in the above example may be included in the prediction mode candidate group of a luma component or a chroma component and other additional modes may be included in a prediction mode candidate group.
  • the prediction mode may mean all candidates for a supported intra prediction mode and a prediction mode candidate group may be configured with all or part of them.
  • the prediction mode candidate group may be configured according to the size, shape(aspect ratio), etc. of a block.
  • the number of prediction mode candidate groups may be determined according to a block size.
  • a block size may be classified into one of more than two ranges divided based on one or more predetermined threshold sizes (A x B, C x D, etc.) and may be determined as one of 11, 35, 67, etc. and a plurality of numbers of candidate groups according to the classified range or whether a color copy mode, a color mode, etc. are supported and the number may be determined.
  • the threshold size may be shown as width(W), height(H), W x H, etc. and W and H may be an integer over 2 such as 4, 8, 16, 32, 64, etc.
  • the configuration of a prediction mode candidate group may be determined.
  • the aspect ratio of a block may be classified as one of two or more ranges divided based on one or more predetermined threshold values and according to the classified range, the configuration of a candidate group may be determined.
  • the threshold value may be shown as W/H(or H/W), etc. and may have an integer value over 1 such as 1, 2, 4, 8, 16, etc. or a decimal value between 0 and 1 such as 1, 1/2, 1/4, 1/8, 1/16, etc.
  • the intra prediction of the present disclosure assumes a case in which 95 prediction modes as in FIG. 5 may be supported for a directional and non-directional mode and a color mode and a color copy mode may be supported.
  • the prediction mode candidate group of a luma component 67 directional modes and non-directional modes are supported and for the prediction mode candidate group of a chroma component, a total of 8, 4 directional and non-directional modes, 1 color mode and 3 color copy modes, are supported, but it is not limited thereto.
  • a predetermined standard for configuration may be present to select a mode included in a prediction mode candidate group except for the assumption.
  • the table is set based on a case in which a prediction mode of No. 0 and 1 and a prediction mode of No. 2 to 66 are included in a prediction mode candidate group when it has a square block shape.
  • a prediction mode added to or excluded from the prediction mode candidate group(excluding a non-directional mode) of a square block when it has a rectangular block shape a candidate configuration shown in the table may be possible, which may be an example set on the assumption that it is favorable in terms of prediction accuracy to configure a prediction mode more widely in the longer block than the shorter one, but it may be possible vice versa.
  • a reference pixel used for intra prediction may be configured in a reference pixel construction unit.
  • a reference pixel may be managed in a temporary memory (e.g., Array. A first, second array, etc.) and may be generated and removed in every intra prediction process, and the size of a temporary memory may be determined according to the configuration of a reference pixel.
  • a temporary memory e.g., Array. A first, second array, etc.
  • the candidate group of a neighboring block for the reference pixel may be an example of a case in which a raster or Z scan is followed and according to the supported scanning order, some of the candidate groups may be removed or configured by including other block candidate group (e.g., additional configuration with a right, bottom, right-bottom block, etc.)
  • a pixel adjacent to a target block may be classified into at least one reference pixel layer and it may be classified into ref_0, the most adjacent pixel to a target block ⁇ pixels that pixel value difference with the boundary pixel of a target block is 1.
  • p(-1,-1) ⁇ p(2m-1,-1), p(-1,0) ⁇ p(-1,2n-1) ⁇ , ref_1
  • the next adjacent pixel ⁇ pixel value difference with the boundary pixel of a target block is 2.
  • p(-2,-2) ⁇ p(2m,-2), p(-2,-1) ⁇ p(-2,2n) ⁇ , ref_2
  • the next adjacent pixel ⁇ pixel value difference with the boundary pixel of a target block is 3.
  • a reference pixel may be classified into a plurality of reference pixel layers according to a pixel distance adjacent to the boundary pixel of a target block.
  • Reference pixel lines supported herein may be over N and N may be an integer such as 1, 2, 3, 4, or more. In this case, they are generally included in a reference pixel line candidate group sequentially from the most adjacent reference pixel line to a target block, but it is not limited thereto.
  • the candidate group may be sequentially configured like ⁇ ref_0, ref_1, ref_2> or the candidate group may be also configured by excluding a reference pixel line which is not sequential like ⁇ ref_0, ref_1, ref_3>, ⁇ ref_0, ref_2, ref_3>, ⁇ ref_1, ref_2, ref_3> or is most adjacent.
  • Prediction may be performed by using all reference pixel lines in the candidate group or by using some reference pixel lines (more than one).
  • one of a plurality of reference pixel lines may be selected to perform intra prediction by using the corresponding reference pixel line.
  • two or more of a plurality of reference pixel lines may be selected to perform intra prediction by using the corresponding reference pixel line (e.g., applying a weighted average, etc. to each reference pixel line data)
  • the selection of a reference pixel line may be implicitly or explicitly determined.
  • it means that it is determined according to a coding setting defined by more than one or two combinations among elements such as an image type, a color component, a block size/shape/position, etc.
  • information on the selection of a reference pixel line may be generated in a unit of a block, etc.
  • the present disclosure mainly describes a case in which intra prediction is performed by using the most adjacent reference pixel line.
  • a reference pixel line referenced for prediction may be considered as one of the main coding elements in the present disclosure.
  • an intra prediction setting may be determined regardless of a selected reference pixel line, but an intra prediction setting therefor may be determined.
  • the reference pixel construction unit of intra prediction in the present disclosure may include a reference pixel generation unit, a reference pixel interpolation unit, a reference pixel filter unit, etc. and may be configured by including all or part of the configurations.
  • an available reference pixel and an unavailable reference pixel may be classified by confirming availability for a reference pixel.
  • a reference pixel is judged to be unavailable when at least one of the following conditions is satisfied.
  • a case in which it is positioned outside a picture boundary e.g., a case in which it does not belong to the same partition unit as a target block
  • a unit which may not be referenced each other such as a slice, a tile, etc.
  • the use of a reference pixel may be limited by a coding setting.
  • the use of a reference pixel may be limited according to whether limited intra prediction (e.g., constrained_intra_pred_flag) is performed.
  • Limited intra prediction may be performed to prohibit a reconstructed block which is referenced from other image to prevent error propagation caused by external factors including the communication environment, etc. from being used as a reference pixel.
  • constrained_intra_pred_flag 1
  • Mode_Intra, Mode_Inter_D, Mode_Inter_C may mean intra prediction, inter prediction which is referenced in other picture (block matching, etc.) and inter prediction which is referenced in a current picture respectively, and the setting in which in case of the Mode_Intra, reference is possible, and in case of the Mode_Inter, reference is not possible, may be general, but is not limited thereto.
  • a reference pixel As a reference pixel is composed of more than one blocks, it may be classified into three cases such as ⁇ all available>, ⁇ some available> and ⁇ all unavailable> after checking the possibility of the reference pixel. In other cases except for a ⁇ all available> case, a reference pixel at a position of an unavailable candidate block may be filled or generated.
  • a pixel at the corresponding position may be included in the reference pixel memory of a target block.
  • the pixel data may be copied as it is or may be included in a reference pixel memory in a process such as a reference pixel filtering, a reference pixel interpolation, etc.
  • a pixel obtained in a process of generating a reference pixel may be included in the reference pixel memory of a target block.
  • the following shows an example in which a reference pixel at a position of an unavailable block is generated by using various methods.
  • a reference pixel may be generated by using an arbitrary pixel value.
  • an arbitrary pixel value may be one pixel value (e.g., the minimum value, the maximum value, the central value, etc. in a range of a pixel value) which belongs to a range of a pixel value (e.g., a range of a pixel value based on bit depth or according to pixel distribution in a corresponding image).
  • it may be an example which is applied when all reference pixel candidate blocks are unavailable.
  • a reference pixel may be generated from a region where an image is encoded.
  • a reference pixel may be generated from at least one available block adjacent to an unavailable block. In this case, at least one of methods such as extrapolation, interpolation, copy, etc. may be used.
  • a reference pixel may target a region which is adjacent centering around a target block and may be considered by including a region (a region obtaining prediction data or a region adjacent thereto) corresponding to a target block in other color space which is referenced in some prediction modes (e.g., a color copy mode, etc.).
  • some prediction modes e.g., a color copy mode, etc.
  • a reference pixel filtering or a reference pixel interpolation may be performed. For example, only a reference pixel filtering may be performed, only a reference pixel interpolation may be performed or both a reference pixel filtering and a reference pixel interpolation may be performed.
  • a reference pixel filtering may be performed before or after a reference pixel interpolation and may be also performed by being combined with a reference pixel interpolation at the same time.
  • a reference pixel filtering may be a process which is performed to reduce remaining degradation in a reference pixel.
  • a reference pixel filtering may be one of a plurality of filters which may be classified by setting the length and coefficient of various filter taps such as [1,2,1] / 4, [2, 3, 6, 3, 2] / 16, etc.
  • a plurality of filtering may be performed by varying a filter type.
  • a reference pixel filtering may be explicitly determined or whether a reference pixel filtering is performed may be implicitly determined according to a coding setting.
  • a coding setting may be defined based on the state information (a block size, shape, position, etc.) of a target block, an image type(I/P/B), a color component(Y/Cb/Cr), reference pixel line selection information, whether intra prediction in a sub-block unit is applied, an intra prediction mode, etc.
  • Reference pixel interpolation may not be performed in a prediction mode which refers to only a pixel in an integer unit and reference pixel interpolation may be performed in a prediction mode which refers to a pixel in a decimal unit.
  • the position of a pixel (i.e., which decimal unit is interpolated) where interpolation is performed may be determined according to a prediction mode (e.g., direction for a prediction mode. dy/dx, etc.) and the position of a reference pixel and a prediction pixel.
  • a prediction mode e.g., direction for a prediction mode. dy/dx, etc.
  • one filter may be applied regardless of the accuracy of a decimal unit or one of a plurality of filters (e.g., assuming a filter that an equation used to determine a filter coefficient or the length of a filter tap is divided) may be applied by being selected in a decimal unit.
  • the former may be an example in which a pixel in an integer unit is used as input for the interpolation of a pixel in a decimal unit and the latter may be an example in which an input pixel varies per step(e.g., for a 1/2 unit, using an integer pixel. For a 1/4 unit, using an integer and a 1/2 unit pixel, etc.), but it is not limited thereto and it is described based on the former in the present disclosure.
  • a fixed filtering or an adaptive filtering may be performed for reference pixel interpolation, which may be determined according to a coding setting.
  • the coding setting may be defined based on the state information of a target block, an image type, a color component, reference pixel line selection information, whether intra prediction in a sub-block unit is applied, an intra prediction mode, etc.
  • a fixed filtering may perform reference pixel interpolation by using one filter and an adaptive filtering may perform reference pixel interpolation by using one of a plurality of filters.
  • one of a plurality of filters may be implicitly or explicitly determined according to a coding setting.
  • a filter type may be configured after more than one is selected from a 4-tap DCT-IF filter, a 4-tap cubic filter, a 4-tap Gaussian filter, a 6-tap wiener filter, a 8-tap Kalman filter, etc. and a supported filter candidate group may be also differently defined according to a color component (e.g., some filter types are the same or different, and the length of a filter tap is short or long, etc.)
  • a prediction block may be generated according to at least one prediction mode in a prediction block generation unit and a reference pixel may be used based on the prediction mode.
  • a reference pixel may be used for a method such as extrapolation, etc. according to a prediction mode and may be used for a method such as interpolation, DC, or copy, etc.
  • a process for selecting the optimum mode among a plurality of prediction mode candidate groups is performed in a prediction mode determination unit.
  • the optimum mode in terms of an encoding expense may be determined by using block distortion ⁇ e.g., Distortion of a target block and a reconstructed block. Distortion. SAD(Sum of Absolute Difference), SSD(Sum of Square Difference), etc. ⁇ and rate-distortion that the amount of generated bits according to a corresponding mode is considered.
  • a prediction block generated based on a prediction mode determined in the process may be transmitted to a subtraction unit and an add unit.
  • a prediction mode selected in a prediction mode determination unit may be encoded in a prediction mode encoding unit.
  • index information corresponding to the prediction mode may be encoded or the prediction mode may be predicted to encode information on it.
  • the former may be a method applied to a luma component and the latter may be a method applied to a chroma component, but it is not limited thereto.
  • a prediction mode When a prediction mode is predicted and encoded, it may be classified into a plurality of categories (K. K is an integer such as 2, 3, 4, or more) and managed. For example, when it is classified into 2 categories, one category may consist of a prediction mode which is predicted to be identical to the prediction mode of a target block and the other category may consist of a prediction which is predicted to be unlikely to be identical to a prediction mode. In other words, other category may consist of a prediction mode which was not selected as a mode which is predicted to be identical to the prediction mode of a target block.
  • a prediction mode is classified into 2 categories and may be classified into more categories.
  • a first category may consist of a prediction mode which is predicted to be highly likely to be identical to the prediction mode of a target block
  • a second category may consist of a prediction mode which is predicted to be likely to be identical to the prediction mode of a target block
  • a third category may consist of a prediction mode which is predicted to be unlikely to be identical to the prediction mode of a target block.
  • the second category may consist of a prediction mode which is predicted to be identical to the prediction mode of a target block among prediction modes which do not belong to the first category
  • the third category may consist of a prediction mode which does not belong to the first and second category.
  • a prediction method For other example for classifying categories, they may be classified according to a prediction method. For example, they may be classified by a prediction method according to extrapolation, a prediction method according to interpolation/ average, a prediction method according to copy, etc.
  • a prediction method according to extrapolation may mean a directional mode
  • a prediction method according to interpolation/ average may mean a non-directional mode
  • a prediction method according to copy may be classified into a color copy mode and other various classifications may be possible.
  • a color mode derives a prediction mode in other color space, it may be distinguished from the directional or non-directional mode, but for convenience of explanation, it is assumed that it is classified into a directional/non-directional mode.
  • the first category When being classified into 2 categories according to a prediction method, the first category may consist of a directional/non-directional mode and the second category may consist of a color copy mode.
  • the first category may consist of a directional mode and the second category may consist of a non-directional mode.
  • the former may be applied to the intra prediction of a chroma component and the latter may be applied to the intra prediction of a luma component.
  • the first category may consist of a directional mode
  • the second category may consist of a non-directional mode
  • the third category may consist of a color copy mode.
  • the first category may consist of a predetermined mode (e.g., a vertical, horizontal, diagonal A mode, etc.) among directional modes
  • the second category may consist of a predetermined mode (e.g., a diagonal B mode, etc.) among directional modes
  • the third category may consist of a color copy mode.
  • a diagonal A mode may consist of a diagonal mode using only an integer pixel in prediction
  • a diagonal B mode may consist of a diagonal mode using an integer pixel and a decimal pixel in prediction, but it is not limited thereto.
  • the above description is an example for the configuration of a category and it may be classified according to various predetermined standards without being limited thereto.
  • a plurality of predetermined standards may be combined and applied to the configuration of a category.
  • selection information on in which category the prediction mode of a target block is generated and candidate selection information in each category may be generated.
  • candidate selection information may be omitted. It may be possible to configure various syntax elements on the category selection and candidate selection in the category. Next, a case in which 3 categories are supported is assumed.
  • the value of a syntax element supported for category selection in this example may have a value of 0 to 2 (a value over 1).
  • binarization to which a ⁇ 0>, ⁇ 10>, ⁇ 11> bit is assigned may be possible.
  • one syntax element for category selection may be supported and may be configured in a type that index assignment and binarization for each category are applied.
  • the value of a syntax element supported for category selection in this example may have a value of 0 or 1 (also a value over 1).
  • ⁇ 0> may be assigned to the first category and the second category and ⁇ 1> may be assigned to the third category.
  • another syntax element (a second syntax element) on subcategory selection which selects one of the first category and the second category may be supported and for the corresponding syntax element, ⁇ 0>, ⁇ 1> may be assigned to the first category and the second category.
  • ⁇ 0> may be assigned to the first category and ⁇ 1> may be assigned to the second category and the third category.
  • another syntax element (a second syntax element) on subcategory selection which selects one of the second category and the third category may be supported and for the corresponding syntax element, ⁇ 0>, ⁇ 1> may be assigned to the second category and the third category.
  • each category may include at least one prediction mode.
  • the number of prediction modes in the first to third category may be a, b, c, and a may be less than or equal to b and c and b may be less than or equal to c.
  • a is an integer between 1 ⁇ 5
  • b is an integer between 3 ⁇ 8
  • c is the number subtracting the number of a and b from the number of prediction mode candidate groups.
  • Variable length binarization or fixed length binarization such as Truncated Rice binarization, Truncated Binary binarization, k-th Exp-Golomb binarization, etc. may be applied to a prediction mode which belongs to the category.
  • the coding elements may be defined based on a color component(luma/chroma), the state information of a block(e.g., a block size, shape, aspect ratio, position, etc.), an image type(I/P/B), whether intra prediction in a sub-block unit is applied, reference pixel line selection information, etc.
  • the number of categories may be determined to be one of 2 or 3.
  • a prediction mode is classified into a plurality of categories(3) based on the probability of matching a prediction mode and a prediction mode is encoded based on category selection information and candidate selection information in a category.
  • standards for category classification according to a prediction method are combined for category configuration may be possible.
  • explanation configured with 2 categories may be derived, so detailed explanation therefor is omitted.
  • FIG. 6 is an arrangement diagram on a target block and a block adjacent thereto according to an embodiment of the present disclosure.
  • a target block may have a high correlation with a block adjacent thereto, and may not only perform prediction by using an adjacent reference pixel, but also use the prediction mode of an adjacent block to predict the prediction mode of a target block. Accordingly, the prediction mode of a block adjacent to a target block may be selected as a candidate included in the first or second category. In this case, all or part of prediction modes of a left, top, left-top, right-top and left-bottom block for a target block may be considered as a candidate included in a (previous) category. In an example, (left/top), (left/top/right-top), (left/top/left-bottom), (left/top/left-top/right-bottom/left-top), etc. may be considered.
  • At least one prediction mode may be selected from a block in each direction. For example, for a left block, one may be selected in L0 to L3 and for a top block, one may be selected in U0 to U3.
  • a sub-block at a specific position (e.g., a left block is L3, a top block is U3) for selecting a prediction mode may be defined by considering a case in which an adjacent block in a predetermined direction (in this example, a left, top block) is partitioned into a plurality of sub-blocks.
  • a prediction mode for a block at the corresponding position is unavailable (e.g., when the corresponding block is not encoded, when it is at a position which may not be referenced, when a coding mode ⁇ Intra/Inter> is different, etc.), a prediction mode may not be selected in a block in the corresponding direction.
  • a priority for selecting a prediction mode may be supported (e.g., L3 -> L0 -> L1 -> L2, etc.) and accordingly, the prediction mode of an available sub-block with a previous priority may be selected as a prediction mode in the corresponding direction.
  • a prediction mode may not be selected in a block in the corresponding direction.
  • a priority for including a prediction mode obtained from a block in each direction in a category may be supported.
  • settings such as left -> top -> right-top -> left-bottom -> left-top, left -> top -> left-bottom -> right-top -> left-top, top -> left-> left-bottom -> right-top -> left-top, etc. may be possible and it is not limited thereto.
  • a lot of prediction modes are included in a prediction mode candidate group, but there may be lots of prediction modes which are generally generated among them. For example, an edge in a vertical and horizontal direction may be a common image characteristic and a lot of flat regions like a background may be found. Accordingly, a predetermined prediction mode which is predicted to be considerably generated may be selected as a candidate included in the first or second category.
  • a non-directional prediction mode Planar(No.0), DC mode(No.1) and a horizontal(No.18), vertical(No.50) and diagonal mode(No.2, No.34, No.66, etc.) may be a target for a candidate of a preset prediction mode which is predicted to be considerably generated.
  • a priority for including the prediction mode in a category may be supported. For example, settings such as Planar -> DC -> Ver -> Hor, etc. are possible and it is not limited thereto.
  • prediction modes of an adjacent block When all or part of prediction modes of an adjacent block are unavailable, it may be replaced and filled with more than one of the preset prediction modes (e.g., Planar, DC, etc.)
  • preset prediction modes e.g., Planar, DC, etc.
  • the prediction mode of an adjacent block of a target block and a preset prediction mode are referred to as a prediction mode which is considered for category configuration. But, when there are a lot of prediction mode candidate groups, it may be hard to effectively predict the prediction mode of a target block with the above configuration. In an example, when difference is generated by 1, 2 in a directional mode (based on a prediction mode in FIG. 5 ), prediction may fail with the above configuration.
  • a prediction mode derived based on the prediction mode of an adjacent block and a preset prediction mode may be considered for configuring a category candidate group.
  • a k-spaced prediction mode based on the prediction mode (in this example, a directional mode) may be considered as a derived prediction mode and it may be selected as a candidate included in the first or second category.
  • k may be an integer such as 1, 2, 3, 4, or more.
  • a prediction mode based on the prediction mode of an adjacent block or a preset prediction mode is Z
  • there may be a priority for a derived prediction mode such as Z - 1, Z + 1, Z - 2.
  • a priority is determined in the order of an absolute value such as 1, 2 and (one absolute value) ⁇ -> code is followed by ⁇ +> code, but it is not limited thereto.
  • distance information for filling the derived prediction mode may not start from 1 (e.g., an integer such as 4, 8, 12, etc.)
  • a k distance of a prediction mode derived based on the prediction mode of an adjacent block and a preset prediction mode may be identical or not identical.
  • a prediction mode based on the prediction mode of an adjacent block or a preset prediction mode is X, Y
  • there may be a priority for a derived prediction mode such as X - 1, X + 1, Y - 1, Y + 1 or X - 1, Y - 1, X + 1, Y + 1.
  • X has priority over Y, and a ⁇ -> code and a ⁇ +> code alternate with each other or the other code (a positive number in this example) is derived after one code (a negative number in this example) is entirely derived (based on one absolute value), but it is not limited thereto.
  • a plurality of modes may be used as a base mode for a derived mode or a predetermined mode of them (i.e., one of X, Y) may be used as a base mode. It may be classified according to a predetermined standard and may be determined based on the position of an obtained block(e.g., a mode of any specific block between a left block and a top block is set as a base mode), the shape of a target block(e.g., a mode of a top block between a left block and a top block in case of a horizontally long rectangular shape and a mode of a left block in case of a vertically long rectangular shape is set as a base mode. Or, vice versa, etc.) and the slope information of a prediction mode(e.g., a mode more inclined in a specific direction ⁇ left or right, top or bottom> based on a vertical or horizontal mode is set as a base mode).
  • a prediction mode e.g., a mode more inclined in
  • a prediction mode derived based on a preset prediction mode, the prediction mode of an adjacent block and a precedent prediction mode may be included in a (precedent) category.
  • Each category may include at least one prediction mode of a preset prediction mode, the prediction mode of an adjacent block and a derived prediction mode and is referred to as Group_A, Group_B and Group_C, respectively, for convenience of explanation.
  • Group_A may be configured in a first category
  • Group_A, Group_B and Group_C may be configured in a second category and other modes(it may be Group_C in this case) may be configured in a third category.
  • Group_B may be configured in a first category
  • Group_A, Group_B and Group_C may be configured in a second category and other modes may be configured in a third category.
  • Group_A and Group_B may be configured in a first category
  • Group_A, Group_B and Group_C may be configured in a second category and other modes may be configured in a third category.
  • mode configuration according to category classification and for Group_A and Group_B included in a plurality of categories it may be understood that other modes not configured in a precedent category are configured in a subsequent category.
  • mode configuration by variously classifying categories may be possible without limitation to the above example.
  • a mode is configured as many as unsubordinated categories (e.g., the first category) according to the priority of a category (e.g., 1 - 2 - 3 category order), remaining modes are configured in a subordinated category (e.g., the second category, the third category, etc.).
  • a prediction mode belonging to Group_A may be Planar (No. 0 index) and as the number of prediction modes increases, Group_A may be configured with subordinated prediction modes.
  • a prediction mode belonging to Group_B may be from the next prediction mode(No. m+1 index) of a prediction mode finally configured in the first category(No. m index) and as the number of prediction modes increases, Group_B may be configured with subordinated prediction modes.
  • Group_C may be configured with remaining prediction modes from the next prediction mode (No. n+1 index) of a prediction mode (No. n index) finally configured in the second category.
  • the number of prediction modes in the first to third category may be variously set such as (1, 5, 61), (2, 4, 61), (4, 8, 55), etc. and may be determined based on the number of prediction mode candidate groups.
  • a preset prediction mode may be a mode which is fixedly supported regardless of a coding environment and a derived prediction mode may be obtained by taking a prediction mode which already exists in a candidate group as a base mode.
  • a case may occur that it is difficult to obtain the prediction mode of an adjacent block according to the state of an adjacent block (e.g., a boundary of a partition unit, whether it is encoded or not, a coding mode, etc.)
  • the state of an adjacent block may be classified into (1) a case in which all adjacent blocks are unavailable, (2) a case in which some of adjacent blocks are unavailable and (3) a case in which all adjacent blocks are available and an example in the priority may be described by assuming a case in which all adjacent blocks are available.
  • the prediction mode of an adjacent block may be obtained from two or more blocks and an example in the priority may be described by assuming a case in which the prediction mode of each block is not overlapped.
  • an example in the priority may be described by assuming a case in which the prediction mode of an adjacent block is not overlapped with a preset prediction mode.
  • a priority for category configuration may be adaptively set by considering the above elements. For example, an index corresponding to the prediction mode of an adjacent block may be removed from the priority and an index on a mode derived by taking the prediction mode of an adjacent block as a base mode may be also removed. It may be commonly applied both to a case in which the prediction mode of an adjacent block is a directional mode and a case in which the prediction mode of an adjacent block is a non-directional mode.
  • an index corresponding to other overlapped prediction mode and an index on a derived mode may be removed.
  • a plurality of priorities considering the elements may be supported and a category may be configured, accordingly.
  • each separate prediction mode e.g., a directional mode
  • a target block e.g., a block size, shape, etc.
  • unifying it into a common prediction mode candidate group configuration may be preceded over coding.
  • it may be unified into a prediction mode candidate group configuration in a predetermined range for prediction mode coding and based on it, prediction mode coding may be performed.
  • the predetermined range may be configured with a prediction mode corresponding to No. 0 to No. 66 in FIG. 5 , but it is not limited thereto.
  • mapping in the predetermined range may be performed and it may be performed based on the direction of a prediction mode.
  • mapping e.g., in case that an edge direction is the same, etc. In other words, a case is included in which a start point for prediction and a prediction direction are different, but an edge direction is the same
  • mapping may be performed by a prediction mode with a characteristic similar to the corresponding prediction mode and other various methods may be supported.
  • Prediction-related information generated in the process may be transmitted to an encoding unit and stored in a bitstream.
  • a unit that intra prediction is performed is referred to as a target block.
  • the target block may be set as a variety of block units according to a block setting.
  • a coding block is the same unit as a prediction block and a transform block (i.e., when a coding block is immediately set as a prediction block or a transform block)
  • the target block of intra prediction for reference pixel region setting, reference pixel configuration(reference pixel filtering/reference pixel interpolation), prediction mode candidate group configuration, prediction performance, prediction mode coding, etc. may be selected as a coding block.
  • a coding block is a unit which may be the same or not the same as a prediction block and a transform block (i.e., a coding block may be partitioned into two or more sub-blocks ⁇ prediction blocks or transform blocks>)
  • the target block of intra prediction may be set as one of a coding block, a prediction block and a transform block.
  • a coding block may be set as a target block for (prediction mode coding, prediction mode candidate group configuration/reference pixel configuration), etc. and a prediction block or a transform block may be set as a target block for (reference pixel region setting/prediction performance), etc.
  • a coding block may be set as a target block for (prediction mode coding/prediction mode candidate group configuration), etc. and a prediction block or a transform block may be set as a target block for (reference pixel region setting/reference pixel configuration/prediction performance), etc.
  • a target block may be set as one of a coding block, a prediction block and a transform block and the target block unit of detailed configuration may be determined according to a coding setting.
  • intra prediction may be configured as follows. Intra prediction in a prediction unit may include decoding a prediction mode, configuring a reference pixel and generating a prediction block.
  • an image decoding device may be configured to include a prediction mode decoding unit, a reference pixel construction unit and a prediction block generation unit which embody prediction mode decoding, reference pixel configuration and prediction block generation. A part of the above-mentioned processes may be omitted or other process may be added, and it may be changed in other order, not in order entered above.
  • a prediction mode decoding unit may be performed by inversely using a method used in a prediction mode encoding unit.
  • FIG. 7 is a flow chart showing the modification method of intra prediction according to an embodiment of the present disclosure.
  • the intra prediction mode of a target block may be determined (S700) and a prediction block may be generated (S710) based on an intra prediction mode.
  • the modification setting of a prediction block may be determined (S720) and the modification of a prediction block may be performed (S730).
  • the intra prediction of a target block may be selected in a prediction mode candidate group obtained based on the state information of a target block and one prediction mode of them may be determined.
  • a luma component may refer to a prediction mode candidate group configured with a directional mode and a non-directional mode and a chroma component may refer to a prediction mode candidate group that a color mode or a color copy mode is supported for a directional mode and a non-directional mode.
  • each method may use extrapolation, interpolation or average, copy, but it is not limited thereto and other modifications may be possible.
  • interpolation bidirectional prediction
  • extrapolation may be supported in a directional mode.
  • a reference region for intra prediction may be set differently and for extrapolation, at least one of a block in the left, top, left-top, right-top and left-bottom direction of a target block may be set as a reference region and for interpolation, at least one of a block in the right, bottom and right-bottom direction of a target block may be set as a reference region in addition to extrapolation.
  • an adjacent region when not encoded, it may be derived from one or more pixels in an encoded region and filled.
  • a block corresponding to a target block in other color space may be set as a reference region.
  • a prediction mode may be generated.
  • Modifying a prediction block may be performed to reduce discontinuous boundary characteristics with an adjacent block in a prediction block generated according to a predetermined prediction mode. But, modification according to an image characteristic may cause a reverse effect, so it is needed to perform modification by considering various coding elements.
  • the modification setting of a target block may be defined based on an image type, a color component, the state information of a target block, a coding mode, an intra prediction mode, whether intra prediction in a sub-block unit is applied, reference pixel line selection information, etc.
  • modification-related setting information e.g., a flag on whether modification in a block unit is performed, weight information applied to modification, etc.
  • a lower unit e.g., for the former information, a block, a sub-block, etc.
  • a higher unit e.g., for the latter information, a sequence, a picture, a slice, a tile, etc.
  • the modification setting may be configured by including whether modification is performed, the number, position, weight, etc. of a reference pixel used for modification, etc. Although modification is performed, modification may be performed for all or part of pixels in a target block. For example, when a target block is m x n, modification may be performed for 1 to (mxn) pixels.
  • whether modification (in a pixel unit) is applied, (when modification is performed) the number(1 ⁇ 5), position, weight, etc. of reference pixels used for modification, etc. may be set based on the position of a pixel in a block as well as the modification setting.
  • an intra prediction mode that modification is supported may be determined according to whether it belongs to a predetermined prediction mode group.
  • the prediction mode group may be configured among a Planar, DC, horizontal, vertical and diagonal mode (e.g., a right-top directional mode, a right-bottom directional mode, a left-bottom directional mode, etc. No. 2, 34, 66 mode in FIG. 5 ) and a color copy mode.
  • it may be configured by additionally including a prediction mode derived from the prediction mode group (e.g., a k-spaced mode based on a directional mode. In this case, k is an integer that an absolute value is 1, 2, 3, 4 or more.)
  • a target block that modification is supported may be smaller than or the same as a predetermined first threshold size.
  • the first threshold size may mean the maximum size that a target block may have.
  • a block that modification is supported may be larger than or the same as a predetermined second threshold size.
  • the second threshold size may mean the minimum size that a target block may have.
  • the first threshold size and the second threshold size may be shown as width(W), height(H), W x H, W*H, etc. and W and H may be an integer such as 4, 8, 16, 32 or more. In this case, the first threshold size may be larger than or the same as the second threshold size.
  • FIG. 8 is an arrangement diagram on the pixel of a target block and an adjacent block according to an embodiment of the present disclosure.
  • FIG. 8 it is composed of a pixel (a ⁇ p) in a target block, a pixel (A ⁇ Q) in an adjacent block which is encoded and a pixel (aa ⁇ ii) in an adjacent block which is not encoded.
  • modification may be performed for a pixel in a target block and a pixel in an adjacent block may be referenced for modification.
  • a reference pixel in an adjacent block may be one of values which are obtained after a reference pixel preprocessing process (e.g., a reference pixel filtering) is not performed or is performed. It may be determined in a block unit or a pixel unit.
  • a reference pixel preprocessing process e.g., a reference pixel filtering
  • z and Z mean a prediction pixel and a modified pixel, respectively, a to c mean a reference pixel used for modification and w0 to w3 mean a weight applied to modification. According to the number of reference pixels used for modification, the reference pixel and weight may be determined. In this case, a value considering normalization by including 0 may be assigned to a weight.
  • the position and number of the reference pixels may be determined.
  • the a, b, c may be set as a left-top reference pixel outside a target block (e.g., ⁇ -1,-1>), a reference pixel at the top of a target block responding or corresponding to a x component of a target pixel (e.g., ⁇ x, -1>) and a reference pixel at the left of a target block responding or corresponding to a y component of a target pixel (e.g., ⁇ -1, y>).
  • a left-top reference pixel outside a target block e.g., ⁇ -1,-1>
  • a reference pixel at the top of a target block responding or corresponding to a x component of a target pixel e.g., ⁇ x, -1>
  • a reference pixel at the left of a target block responding or corresponding to a y component of a target pixel e.g., ⁇ -1, y>
  • a weight may be assigned to w2 and w3 to reflect a reference pixel gradient at the top and left of a target block. It may be an example (e.g., w1 is 0) on a weight setting based on how much it is changed from a reference pixel corresponding to a x and y component of a target pixel.
  • a weight with a negative code may be assigned to w0 and a weight with a positive code (i.e., an inverse code) may be assigned to w3 to reflect a reference pixel gradient corresponding to a prediction direction. It may be an example (e.g., w2 is 0) on a weight setting based on how much a reference pixel corresponding to a y component of a target pixel is changed from a left-top reference pixel.
  • w2 is 0
  • related explanation may be derived in a vertical mode, so detailed explanation is omitted.
  • the a, b, c may be set as a left-top reference pixel outside a target block, a reference pixel (e.g., ⁇ x+y+1, - 1>) responding or corresponding to a start point in the prediction direction of a target block and a reference pixel (e.g., ⁇ -1, x+y+1>) responding or corresponding to a side opposite to a start point in the prediction direction of a target block.
  • a reference pixel e.g., ⁇ x+y+1, - 1>
  • a reference pixel e.g., ⁇ -1, x+y+1>
  • the reference pixel when it is not obtained in an integer unit (i.e., when interpolation is needed in a decimal unit), it may be set by one of a method which obtains it by being replaced with one adjacent reference pixel or a method which obtains it by being interpolated through a reference pixel adjacent to both sides.
  • a weight may be assigned to w3 to reflect the gradient of a reference pixel positioned at a start point of a prediction direction and positioned at the opposite side. It may be an example (e.g., w1 and w2 are 0) on a weight setting based on how much it is changed from a reference pixel in a prediction direction of a target pixel.
  • w1 and w2 are 0
  • FIGS. 9A and 9B are exemplary diagrams on a modification method based on multiple reference pixel lines according to an embodiment of the present disclosure.
  • the after-mentioned example may be a configuration which may be supported separately from a configuration that a reference pixel line which will be used for intra prediction is selected in the above-mentioned plural reference pixel lines and it will be described based on it, but it may be also applied to an inter-combined configuration.
  • FIG. 9A represents an example on modification in a horizontal or vertical mode. In detail, it may be an example on a case in which a reference pixel in two or more reference pixel lines is used for modification.
  • the accuracy of modification may be improved by additionally setting a* as a reference pixel.
  • a** may be obtained by applying a weight average to a and a* to apply it to the above-mentioned modification equation.
  • block partition may not be performed to have a boundary which accurately divides image characteristics, it may be the same reason as using a reference pixel adjacent to a target block as a prediction pixel.
  • the accuracy of modification may be improved by additionally setting b* as a reference pixel for b and b** may be obtained by applying a weight average to b and b* to apply it to the above-mentioned modification equation.
  • FIG. 9B represents an example on modification in a diagonal mode. In detail, it may be an example on a case in which a reference pixel in two or more reference pixel lines is used for modification.
  • the accuracy of modification may be improved by additionally setting a* as a reference pixel for a at a start point of prediction or a** may be obtained by applying a weight average to a and a* to apply it to the above-mentioned modification equation.
  • the accuracy of modification may be improved by additionally setting b* as a reference pixel for b at a position opposite to a start point of prediction or b** may be obtained by applying a weight average to b and b* to apply it to the above-mentioned modification equation.
  • a reference pixel obtained based on one or more reference pixels at a start point of prediction or at a position opposite to a start point may be selected for a pixel in a direction of a prediction mode.
  • whether to support may be determined based on an image type, a color component, the state information of a target block, an intra prediction mode, whether an intra prediction mode in a sub-block unit is applied, reference pixel line selection information, etc.
  • FIG. 10 is a flow chart showing the modification method of intra prediction according to an embodiment of the present disclosure.
  • an arbitrary pixel for the modification of a target block may be obtained (S900), a modification setting may be determined based on a target block and an intra prediction mode (S910) and the modification of a prediction block may be performed (S920).
  • a block adjacent to a target block may be configured while being skewed in a specific direction (e.g., in a left-top direction), which is generated by the coding order according to a raster scanning or Z-scanning method.
  • the accuracy of prediction may be improved by using data in a region where coding is not completed.
  • a process of obtaining an arbitrary pixel may be performed.
  • the number of arbitrary pixels may be an integer such as 1, 2 or more.
  • an arbitrary pixel used for the modification of a target block may be determined among aa to ii pixels in FIG. 8 .
  • a pixel which belongs to a region where coding is not completed yet among blocks adjacent to a target block may be set as an arbitrary pixel.
  • a target block also belongs to a pixel which is not encoded yet, it may be included in a target selected as an arbitrary pixel.
  • FIGS. 11A, 11B, 11C , 11D and 11E are exemplary diagrams on an arbitrary pixel used to modify a prediction pixel according to an embodiment of the present disclosure.
  • FIGS. 11A, 11B, 11C , 11D and 11E exemplary diagrams are shown in which for FIG. 11A , a right-bottom pixel in a target block, for FIG. 11B , a right-bottom pixel outside a target block, for FIG. 11C , a bottom and left pixel outside a target block, for FIG. 11D , a bottom pixel outside a target block and for FIG. 11E , a right pixel outside a target block is determined as an arbitrary pixel (X, X1, X2).
  • a setting for an arbitrary pixel may be defined based on an image type, a color component, the state information of a target block, a coding mode, an intra prediction mode, whether intra prediction in a sub-block unit is applied, reference pixel line selection information, etc.
  • setting information related to an arbitrary pixel e.g., a flag on whether modification is performed by using an arbitrary pixel in a block unit, etc. may be explicitly generated.
  • a setting on the arbitrary pixel may be configured by including whether an arbitrary pixel is used (i.e., whether an arbitrary pixel is used for modification), the number, position, etc. of an arbitrary pixel, etc.
  • an intra prediction mode performing modification by using an arbitrary pixel may be determined according to whether it belongs to a predetermined prediction mode group.
  • a predetermined prediction mode group For example, among a Planar, DC, horizontal, vertical, diagonal mode (e.g., a right-top directional mode, a right-bottom directional mode, a left-bottom directional mode, etc. No. 2, 34, 66 mode in FIG. 5 ) and a color copy mode, the prediction group may be configured. Alternatively, it may be configured by additionally including a prediction mode (e.g., a k-spaced mode based on a directional mode. In this case, k is an integer that an absolute value is 1, 2, 3, 4, or more) derived in the prediction mode group.
  • a prediction mode e.g., a k-spaced mode based on a directional mode. In this case, k is an integer that an absolute value is 1, 2, 3, 4, or more
  • a target block that modification is performed by using an arbitrary pixel may be smaller than or the same as a predetermined first threshold size and the first threshold size may mean the maximum size that a target block may have. Alternatively, it may be larger than or the same as a predetermined second threshold size and the second threshold size may mean the minimum size that a target block may have.
  • the threshold size may be shown as width(W), height(H), W x H, W*H, etc., and W and H may be an integer such as 4, 8, 16, 32 or more and the first threshold size may be larger than or the same as the second threshold size.
  • a pixel value at a corresponding position may be obtained by various methods.
  • data on the position of an arbitrary pixel may be explicitly encoded.
  • a pixel value at a corresponding position may be encoded as it is (e.g., based on bit depth) or a value obtained by a predetermined division value (e.g., quantization. A quantized value is used for modification) may be encoded.
  • two or more data candidate values on the position of an arbitrary pixel may be obtained in an encoded region adjacent to a target block and may be encoded by configuring index information therefor.
  • index information e.g., a total of 2 candidates are supported as a pixel value at the position of an arbitrary pixel is 67
  • a first candidate value obtained in a region adjacent to a target block e.g., a top region
  • a second candidate value obtained in a region adjacent to a target block e.g., a left region
  • candidate value selection information e.g., the first candidate value is selected.
  • a 1-bit flag may be encoded.
  • obtaining the candidate value may be mentioned in the after-mentioned example.
  • the candidate value may be supported as much as an integer such as 2, 3, 4 or more.
  • a reference pixel may be obtained from a reference pixel at a predetermined position or a reference pixel responding or corresponding to the position of an arbitrary pixel.
  • a predetermined position it may be obtained from a reference pixel (A, E, M in FIG. 8 ) at a left-top, top and left position outside a target block and a reference pixel at a (right-top, left-bottom) position based on the width or height of a target block (I, Q in FIG. 8 ) may be obtained at the position.
  • a reference pixel corresponding to the position of an arbitrary pixel it may be obtained from a reference pixel corresponding to the x or y component of an arbitrary pixel (e.g., ⁇ x, -1>, ⁇ -1, y>, ⁇ x+y+1, -1>, ⁇ -1, x+y+1>, etc.)
  • the data value of one reference pixel among reference pixels at the position may be obtained just as a data value at the position of an arbitrary pixel or a value derived based on two or more reference pixels may be obtained as a data value at the position of an arbitrary pixel.
  • a reference pixel at a preset position among a plurality of reference pixels used for the position of an arbitrary pixel may be obtained as a data value at the position of an arbitrary pixel.
  • a value obtained in a predetermined process e.g., the maximum value, the minimum value, a central value, etc.
  • a value obtained in a predetermined process e.g., a weighted average, etc.
  • a predetermined process e.g., a weighted average, etc.
  • No. 0 to 2 candidates in the table mean a case in which a reference pixel at a predetermined position is obtained as a data value at the position of an arbitrary pixel.
  • No. 3 to 6 candidates mean a case for obtaining data at the position of an arbitrary pixel by reflecting the gradient of a target block. In detail, it may correspond to a case in which the gradient of a target block is obtained based on a reference pixel at a preset position.
  • the example may be an example for an equation derived from a plurality of pixels on the assumption that a target block has a square shape and may be changed and applied according to the aspect ratio of a block.
  • a data value at the position of an arbitrary pixel may be obtained in various ways without being limited to the example.
  • FIGS. 12A, 12B, 12C, 12D , 12E and 12F are exemplary diagrams in which modification is performed based on an arbitrary pixel according to an embodiment of the present disclosure.
  • FIG. 12A represents an interpolation process with an arbitrary pixel and a reference pixel corresponding to a top block and represents a process in which modification is performed by using a reference pixel in the left, right, top, left-top and right-top direction of a target block obtained from it.
  • the process may be applied when modification is performed by reflecting the gradient of a reference pixel in a left and right direction when the prediction mode of a target block is a vertical mode. It may be different from an existing case when modification is performed based on the gradient of a reference pixel in a left direction.
  • FIG. 12C represents an interpolation process with an arbitrary pixel and a reference pixel corresponding to a left block and represents a process in which modification is performed by using a reference pixel in the top, bottom, left, left-top and left-bottom direction of a target block obtained from it.
  • the process may be applied when modification is performed by reflecting the gradient of a reference pixel in a top and bottom direction when the prediction mode of a target block is a horizontal mode. It may be different from an existing case when modification is performed based on the gradient of a reference pixel in a top direction.
  • FIG. 12E represents an interpolation process with an arbitrary pixel and a reference pixel corresponding to a left and top block and represents a process in which modification is performed by using a reference pixel in the top, bottom, left, right, left-top, right-top, left-bottom and right-bottom direction of a target block obtained from it.
  • a modified pixel is obtained by applying modification to a prediction pixel.
  • a reference pixel may be configured differently from a previous equation in that an arbitrary pixel or a reference pixel obtained based on an arbitrary pixel is included.
  • Z z ⁇ w 0 + a ⁇ w 1 + b ⁇ w 2 + c ⁇ w 3 + d ⁇ w 4 + e ⁇ w 5
  • Z and Z mean a prediction pixel and a modified pixel, respectively, a to e mean a reference pixel used for modification and w0 to w5 mean a weight applied to modification. According to the number of reference pixels used for modification, the reference pixel and weight may be determined. In this case, a value considering normalization by including 0 may be assigned to a weight.
  • the position and number of the reference pixels may be determined and various cases like FIGS. 12A, 12B, 12C, 12D , 12E and 12F may be possible.
  • FIGS. 12A, 12B, 12C, 12D , 12E and 12F may be possible.
  • flag information generated in a modification process may be encoded/decoded in a configuration separate from an intra prediction mode, but a configuration combined with or dependent on an intra prediction mode may be possible. In other words, it should be understood that it is not limited to an additional or a subsequent part after an intra prediction process.
  • the methods according to the present disclosure may be recorded in a computer readable medium after being embodied in a form of a program instruction which may be performed by a variety of computer means.
  • a computer readable medium may include a program instruction, a data file, a data structure, etc. alone or in combination.
  • a program instruction recorded in a computer readable medium may be especially designed and configured for the present disclosure or may be available after being notified to a person skilled in computer software.
  • An example for a computer readable medium may include a hardware device such as ROM, RAM, Flash memory, etc. which is especially configured to store and perform a program instruction.
  • An example for a program instruction may include a high-level language code which may be run by a computer with an interpreter, etc. besides a machine language code which is made by a compiler.
  • the above-mentioned hardware device may be configured to operate as at least one software module to perform the motion of the present disclosure, and vice versa.
  • the present disclosure may be used to encode/decode a video signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
EP19856954.3A 2018-09-07 2019-09-09 Procédé et dispositif de codage/décodage d'image Pending EP3849193A4 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180107256 2018-09-07
PCT/KR2019/011648 WO2020050704A1 (fr) 2018-09-07 2019-09-09 Procédé et dispositif de codage/décodage d'image

Publications (2)

Publication Number Publication Date
EP3849193A1 true EP3849193A1 (fr) 2021-07-14
EP3849193A4 EP3849193A4 (fr) 2022-09-28

Family

ID=69723085

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19856954.3A Pending EP3849193A4 (fr) 2018-09-07 2019-09-09 Procédé et dispositif de codage/décodage d'image

Country Status (15)

Country Link
US (3) US11128859B2 (fr)
EP (1) EP3849193A4 (fr)
JP (2) JP7453236B2 (fr)
KR (1) KR20210046804A (fr)
CN (1) CN112740699A (fr)
AU (2) AU2019336046B2 (fr)
BR (1) BR112021004326A2 (fr)
CA (1) CA3112936A1 (fr)
IL (1) IL281260A (fr)
MX (2) MX2021002548A (fr)
PH (1) PH12021550492A1 (fr)
RU (2) RU2022109978A (fr)
SG (1) SG11202101877PA (fr)
WO (1) WO2020050704A1 (fr)
ZA (2) ZA202101432B (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200213595A1 (en) * 2018-12-31 2020-07-02 Comcast Cable Communications, Llc Methods, Systems, And Apparatuses For Adaptive Processing Of Non-Rectangular Regions Within Coding Units

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503269B1 (ko) * 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
US10021384B2 (en) * 2010-12-23 2018-07-10 Samsung Electronics Co., Ltd. Method and device for encoding intra prediction mode for image prediction unit, and method and device for decoding intra prediction mode for image prediction unit
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
KR101475286B1 (ko) * 2013-01-18 2014-12-23 연세대학교 산학협력단 인트라 예측 방법 및 장치, 그리고 영상 처리 장치
JP6112031B2 (ja) * 2013-03-29 2017-04-12 株式会社Jvcケンウッド 画像復号装置、画像復号方法及び画像復号プログラム
KR20140123008A (ko) * 2013-04-05 2014-10-21 삼성전자주식회사 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR102145439B1 (ko) * 2015-03-23 2020-08-18 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017018664A1 (fr) * 2015-07-28 2017-02-02 엘지전자(주) Procédé de traitement d'image basé sur un mode d'intra prédiction et appareil s'y rapportant
EP3367680B1 (fr) * 2015-10-22 2020-07-01 LG Electronics Inc. Procédé et appareil de prédiction intra dans un système de codage vidéo
US11259047B2 (en) * 2016-04-06 2022-02-22 Kt Corporation Method and apparatus for processing video signal
CN117221601A (zh) * 2016-06-22 2023-12-12 Lx 半导体科技有限公司 图像编码/解码设备以及传输图像数据的设备
US11368681B2 (en) * 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018026166A1 (fr) * 2016-08-01 2018-02-08 한국전자통신연구원 Procédé et appareil de codage/décodage d'image, et support d'enregistrement stockant un train de bits
CN109565591B (zh) * 2016-08-03 2023-07-18 株式会社Kt 用于对视频进行编码和解码的方法和装置
WO2018116925A1 (fr) 2016-12-21 2018-06-28 シャープ株式会社 Dispositif de génération d'image de prédiction intra, dispositif de décodage d'image et dispositif de codage d'image
US10904568B2 (en) * 2017-03-09 2021-01-26 Kt Corporation Video signal processing method and device for intra prediction of coding or prediction blocks based on sample position based parameters
CN117395405A (zh) * 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
KR101883430B1 (ko) * 2017-08-30 2018-07-30 삼성전자주식회사 영상 부호화 방법 및 장치, 그 기록매체
CN111434109A (zh) * 2017-11-28 2020-07-17 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
JP2021522713A (ja) 2018-04-24 2021-08-30 サムスン エレクトロニクス カンパニー リミテッド ビデオ符号化方法及びその装置、ビデオ復号方法及びその装置

Also Published As

Publication number Publication date
AU2019336046B2 (en) 2024-02-15
PH12021550492A1 (en) 2021-11-08
JP7453236B2 (ja) 2024-03-19
RU2022109978A (ru) 2022-05-04
ZA202203000B (en) 2023-10-25
AU2024200258A1 (en) 2024-02-01
SG11202101877PA (en) 2021-03-30
RU2771250C1 (ru) 2022-04-29
ZA202101432B (en) 2024-02-28
JP2021536718A (ja) 2021-12-27
AU2019336046A1 (en) 2021-05-06
US11616944B2 (en) 2023-03-28
US20230171398A1 (en) 2023-06-01
WO2020050704A1 (fr) 2020-03-12
CA3112936A1 (fr) 2020-03-12
EP3849193A4 (fr) 2022-09-28
MX2021002548A (es) 2021-04-29
IL281260A (en) 2021-04-29
JP2024063178A (ja) 2024-05-10
MX2023007730A (es) 2023-07-06
US11128859B2 (en) 2021-09-21
KR20210046804A (ko) 2021-04-28
CN112740699A (zh) 2021-04-30
BR112021004326A2 (pt) 2021-07-20
US20210092365A1 (en) 2021-03-25
US20210092397A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
US11936907B2 (en) Intra-frame prediction method and device
US11297309B2 (en) Method and apparatus for encoding/decoding image
US11956425B2 (en) Image encoding/decoding method and device
KR20210016053A (ko) 영상 부호화/복호화 방법 및 장치
CN111602400A (zh) 用于色度分量的帧内预测编码/解码方法和装置
AU2024200258A1 (en) Image encoding/decoding method and device
CN118158401A (zh) 图像编码/解码方法、记录介质和传输比特流的方法

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210331

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20220830

RIC1 Information provided on ipc code assigned before grant

Ipc: H04N 19/157 20140101ALI20220824BHEP

Ipc: H04N 19/182 20140101ALI20220824BHEP

Ipc: H04N 19/136 20140101ALI20220824BHEP

Ipc: H04N 19/11 20140101ALI20220824BHEP

Ipc: H04N 19/593 20140101ALI20220824BHEP

Ipc: H04N 19/82 20140101ALI20220824BHEP

Ipc: H04N 19/117 20140101AFI20220824BHEP