WO2019009590A1 - Method and device for decoding image by using partition unit including additional region - Google Patents

Method and device for decoding image by using partition unit including additional region Download PDF

Info

Publication number
WO2019009590A1
WO2019009590A1 PCT/KR2018/007520 KR2018007520W WO2019009590A1 WO 2019009590 A1 WO2019009590 A1 WO 2019009590A1 KR 2018007520 W KR2018007520 W KR 2018007520W WO 2019009590 A1 WO2019009590 A1 WO 2019009590A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
reference pixel
prediction
picture
unit
Prior art date
Application number
PCT/KR2018/007520
Other languages
French (fr)
Korean (ko)
Inventor
김기백
Original Assignee
김기백
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CA3105474A priority Critical patent/CA3105474A1/en
Priority to CN202310305068.XA priority patent/CN116248864A/en
Priority to EP23165811.3A priority patent/EP4221199A1/en
Priority to CN202310305077.9A priority patent/CN116248866A/en
Priority to SG11202100010SA priority patent/SG11202100010SA/en
Priority to EP18828772.6A priority patent/EP3651459A4/en
Priority to CN202310305097.6A priority patent/CN116248868A/en
Application filed by 김기백 filed Critical 김기백
Priority claimed from KR1020180076932A external-priority patent/KR20190008809A/en
Priority to CN202310305066.0A priority patent/CN116248863A/en
Priority to CN202310305073.0A priority patent/CN116248865A/en
Priority to CN202310305081.5A priority patent/CN116248867A/en
Priority to CN202310305085.3A priority patent/CN116320400A/en
Priority to US16/627,905 priority patent/US10986351B2/en
Priority to CN202310305079.8A priority patent/CN116320399A/en
Priority claimed from KR1020180076918A external-priority patent/KR20190004237A/en
Priority to CN201880045023.0A priority patent/CN110832855B/en
Publication of WO2019009590A1 publication Critical patent/WO2019009590A1/en
Priority to US17/184,685 priority patent/US11509914B2/en
Priority to US17/964,281 priority patent/US20230051471A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • 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 invention relates to an image decoding method and apparatus using a division unit including an additional region, and more particularly, to an image decoding method and apparatus using a division unit including an additional region, And to a technique for improving coding efficiency by referring to image data in an additional area.
  • the intra-picture prediction according to the conventional image coding / decoding method constitutes a reference pixel by using the pixels closest to the current block, and it is not preferable to construct the reference pixel as the nearest pixel depending on the type of the image .
  • the present invention has been made to solve the above problems, and it is an object of the present invention to provide a video decoding method and apparatus using a division unit including an additional region.
  • an object of the present invention is to provide a video decoding method supporting a plurality of reference pixel layers.
  • an image decoding method using a division unit including an additional region using a division unit including an additional region.
  • a video decoding method using a division unit including an additional region divides an encoded video included in the bitstream into at least one division unit by referring to a syntax element obtained from a received bitstream, , Setting an additional area for the at least one division unit, and decoding the encoded image based on the division unit in which the additional area is set.
  • the step of decoding the encoded image may include determining a reference block for a current block to be decoded in the encoded image according to information indicating whether the reference stream included in the bitstream is available for reference.
  • the reference block may be a block belonging to a position overlapping an additional region set in a division unit to which the reference block belongs.
  • an image decoding method supporting a plurality of reference pixel layers.
  • the video decoding method for supporting a plurality of reference pixel layers includes the steps of: checking whether or not a plurality of reference pixel layers are supported in a bitstream; referring to syntax information included in the bitstream, Determining a reference pixel hierarchy to be used for a current block, constructing a reference pixel using pixels belonging to the determined reference pixel hierarchy, and performing intra prediction on the current block using the constructed reference pixel .
  • the method may further include confirming whether or not the adaptive reference pixel filtering method is supported in the bitstream, after confirming whether the plurality of reference pixel layers are supported.
  • the step of configuring reference pixels using the predetermined reference pixel layer may be included.
  • the image compression efficiency can be improved because there are many image data to be referred to.
  • intra prediction accuracy can be increased because a plurality of reference pixels are used.
  • optimum reference pixel filtering can be performed according to characteristics of an image.
  • FIG. 1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
  • 4A to 4D are conceptual diagrams illustrating a projection format according to an embodiment of the present invention.
  • 5A to 5C are conceptual diagrams for explaining the surface arrangement according to an embodiment of the present invention.
  • 6A and 6B are illustrations for explaining a partition according to an embodiment of the present invention.
  • Fig. 7 is an example of dividing one picture into a plurality of tiles.
  • 8A to 8I are first exemplary views for setting an additional area for each tile according to FIG.
  • Figs. 9A to 9I are second exemplary views for setting an additional area for each tile according to Fig. 7.
  • Fig. 9A to 9I are second exemplary views for setting an additional area for each tile according to Fig. 7.
  • FIG. 10 is an exemplary diagram illustrating an additional area generated according to an embodiment of the present invention in a sub-decoding process of another area.
  • FIGS. 11 to 12 are diagrams for explaining a sub-decoding method for a division unit according to an embodiment of the present invention.
  • 13A to 13G are exemplary diagrams for explaining an area in which a specific division unit can be referred to.
  • 14A to 14E are illustrations for explaining the possibility of reference to an additional region in a division unit according to an embodiment of the present invention.
  • 15 is an example of a block belonging to a division unit of a current image and a block belonging to a division unit of another image.
  • 16 is a hardware block diagram of an image encoding / decoding apparatus according to an embodiment of the present invention.
  • 17 is an exemplary view illustrating an intra prediction mode according to an embodiment of the present invention.
  • FIG. 18 is a first exemplary view of a reference pixel configuration used in intra-frame prediction according to an embodiment of the present invention.
  • 19A to 19C are second exemplary views of a reference pixel configuration according to an embodiment of the present invention.
  • FIG. 20 is a third exemplary view of a reference pixel structure according to an embodiment of the present invention.
  • 21 is a fourth exemplary view of a reference pixel structure according to an embodiment of the present invention.
  • FIGS. 22A and 22B are exemplary diagrams illustrating a method of filling a reference pixel at a preset position in an unusable reference candidate block.
  • FIG. 22A and 22B are exemplary diagrams illustrating a method of filling a reference pixel at a preset position in an unusable reference candidate block.
  • FIGS. 23A to 23C are views illustrating a method of performing interpolation based on a fractional pixel unit for reference pixels constructed according to an embodiment of the present invention.
  • 24A and 24B are first illustrations for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
  • 25 is a second exemplary view for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
  • FIGS. 26A to 26B are views illustrating an example of using one reference pixel layer in reference pixel filtering according to an exemplary embodiment of the present invention.
  • FIG. 27 is a diagram illustrating an example of using a plurality of reference pixel layers in reference pixel filtering according to an exemplary embodiment of the present invention.
  • FIG. 28 is a block diagram for explaining a sub-decoding method for an intra-picture prediction mode according to an embodiment of the present invention.
  • 29 is a first exemplary diagram for explaining a bit stream configuration for intra-picture prediction according to the reference pixel configuration.
  • FIG. 30 is a second exemplary diagram for explaining a bit stream configuration for intra-picture prediction according to the reference pixel configuration.
  • 31 is a third exemplary diagram for explaining a bit stream structure for intra-picture prediction according to the reference pixel configuration.
  • 32 is a flowchart illustrating an image decoding method supporting a plurality of reference pixel layers according to an embodiment of the present invention.
  • first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • / or < / RTI &gt includes any combination of a plurality of related listed items or any of a plurality of related listed items.
  • an image may be composed of a series of still images.
  • the still images may be classified into a group of pictures (GOP), and each still image is referred to as a picture or a frame can do.
  • GOP group of pictures
  • a unit such as a GOP and a sequence may exist, and each picture may be divided into predetermined areas such as slices, tiles, blocks, and the like.
  • a unit of an I picture, a P picture, a B picture, and the like may be included in one GOP.
  • the I picture may be a picture to be encoded / decoded by itself without using a reference picture, and the P picture and the B picture may be subjected to a process such as motion estimation (Motion estimation) and motion compensation (motion compensation) And may be a picture to be encoded / decoded.
  • a process such as motion estimation (Motion estimation) and motion compensation (motion compensation)
  • Motion estimation Motion estimation
  • motion compensation motion compensation
  • an I picture and a P picture can be used as a reference picture in the case of a P picture
  • a reference picture can be used as an I picture and a P picture in the case of a B picture, but this definition can also be changed by setting of encoding / decoding .
  • a picture referred to in encoding / decoding is referred to as a reference picture
  • a block or pixel to be referred to is referred to as a reference block and a reference pixel.
  • the reference data may be not only the pixel values of the spatial domain but also the coefficient values of the frequency domain and various encoding / decoding information generated and determined during the encoding / decoding process.
  • the minimum unit of image can be a pixel, and the number of bits used to represent one pixel is called a bit depth.
  • the bit depth can be 8 bits and can support different bit depths depending on the encoding setting.
  • the bit depth may be supported by at least one bit depth depending on the color space. Also, it may be configured as at least one color space according to the color format of the image.
  • the subdecoder may have an independent setting for some of the configurations or may have a dependent setting.
  • the setup information or syntax elements required in the image coding process can be determined at a unit level such as a video, a sequence, a picture, a slice, a tile, and a block.
  • the setting information transmitted from the encoder is parsed by parsing at the same level unit, It can be used for decryption process.
  • related information can be transmitted and parsed in the form of SEI (Supplement Enhancement Information) or Metadata in a bit stream.
  • SEI Supplemental Enhancement Information
  • Metadata Metadata in a bit stream.
  • Each parameter set has a unique ID value, and in the lower parameter set, it can have an ID value of an upper parameter set to be referred to.
  • information of an upper parameter set having a matching ID value among one or more higher parameter sets in the lower parameter set may be referred to.
  • the corresponding unit may be referred to as an upper unit and the included unit may be referred to as a lower unit.
  • the setting information may include contents of independent setting for each unit, or contents related to setting depending on the previous, the next, or the upper unit.
  • the dependent setting indicates the setting information of the corresponding unit with flag information (for example, 1 if the flag is 1, not followed by 0) to follow the setting of the previous unit and then the higher unit.
  • flag information for example, 1 if the flag is 1, not followed by 0
  • the setting information in the present invention will be described with reference to an example of an independent setting, but an example in which addition or substitution is made to the contents of a relation that relies on setting information of a previous unit, a subsequent unit, or a higher unit of the current unit .
  • FIG. 1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
  • the image encoding apparatus 105 and the decoding apparatus 100 may be implemented as a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP) Player, a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV, a server terminal such as an application server and a service server, A communication device such as a communication modem for performing communication with a wired / wireless communication network, a memory (memories 120 and 125) for storing various programs for inter or intra prediction for encoding or decoding an image and memories (memories 120 and 125) And a processor (processor, 110, 115) for controlling the processor.
  • PC personal computer
  • PDA personal digital assistant
  • PMP portable multimedia player
  • PSP PlayStation Portable
  • the video encoded by the video encoding apparatus 105 can be transmitted through a wired or wireless communication network such as the Internet, a short-range wireless communication network, a wireless network, a WiBro network, or a mobile communication network in real time or non- And then transmitted to the image decoding apparatus 100 through various communication interfaces such as a serial bus (USB: Universal Serial Bus), etc., decoded by the image decoding apparatus 100, and restored and reproduced as an image.
  • a serial bus USB: Universal Serial Bus
  • the image encoded by the image encoding apparatus 105 as a bit stream can be transferred from the image encoding apparatus 105 to the image decoding apparatus 100 via a computer-readable recording medium.
  • FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus 20 includes a predictor 200, a subtractor 205, a transformer 210, a quantizer 215, an inverse quantizer 220, An inverse transform unit 225, an adder 230, a filter unit 235, an encoding picture buffer 240, and an entropy encoding unit 245.
  • the prediction unit 200 may include an intra prediction unit for performing intra prediction and an inter prediction unit for performing inter prediction.
  • Intra prediction can generate a prediction block by performing spatial prediction using pixels of adjacent blocks of the current block.
  • inter-prediction motion compensation is performed by searching an area that is most matched with the current block from the reference image
  • a prediction block can be generated.
  • the processing unit to be predicted, the prediction method, and the processing unit in which the concrete contents are determined can be determined according to the subdecryption setting.
  • the prediction method, the prediction mode, and the like are determined as a prediction unit, and the prediction can be performed in units of conversion.
  • Directional prediction mode such as horizontal and vertical modes used in the intra-picture prediction unit according to the prediction direction, and a non-directional prediction mode such as DC or Planar using the average, interpolation, etc. of reference pixels.
  • 33 directional + 2 non-directional or 67 prediction modes (65 directional + 2 non-directional), and 131 directional and non-directional modes.
  • One of various candidates such as prediction mode (129 directional + 2 non-directional) can be used as a candidate group.
  • the intra prediction unit may include a reference pixel unit, a reference pixel filter unit, a reference pixel interpolation unit, a prediction mode determination unit, a prediction block generation unit, and a prediction mode coding unit.
  • the reference pixel unit may configure a pixel belonging to a block neighboring the current block and adjacent to the current block as reference pixels for intra-frame prediction.
  • the nearest neighbor reference pixel line may be constituted as a reference pixel, or one adjacent reference pixel line may be constituted as a reference pixel, and a plurality of reference pixel lines may be constituted by reference pixels.
  • a reference pixel may be generated using the available reference pixel, and if not all of the pixels are available, a predetermined value (e.g., a pixel value A median of a range, etc.) can be used to generate a reference pixel.
  • a predetermined value e.g., a pixel value A median of a range, etc.
  • the reference pixel filter unit of the intra prediction unit can perform filtering on the reference pixels for the purpose of reducing the remaining degradation through the encoding process.
  • the filters used are 3-tap filters [1/4, 1/2, 1/4], 5-tap filters [2/16, 3/16, 6/16, 3/16, 2/16] And may be the same low-pass filter.
  • the application of filtering and the type of filtering can be determined according to the encoding information (e.g., size, type, and prediction mode of the block).
  • the reference pixel interpolator of the intra-frame prediction unit may generate a pixel of a decimal unit through a linear interpolation process of the reference pixel according to the prediction mode, and an interpolation filter to be applied may be determined according to the coding information.
  • the interpolation filter used may include a 4-tap Cubic filter, a 4-tap Gaussian filter, a 6-tap Wiener filter, an 8-tap Kalman filter, and the like.
  • the prediction mode decision unit of the intra prediction unit can select the optimum prediction mode among the prediction mode candidates considering the coding cost and the prediction block generating unit can generate the prediction block using the corresponding prediction mode. And the prediction mode encoding unit may encode the optimal prediction mode based on the prediction value. At this time, the prediction information can be adaptively encoded according to whether the predicted value is fit or not.
  • the predictive value may be referred to as MPM (Most Probable Mode) in the intra prediction unit and some modes among all the modes belonging to the prediction mode candidate group may be configured as the MPM candidate group.
  • the MPM candidate group may include prediction modes of predetermined prediction modes (e.g., DC, Planar, vertical, horizontal, diagonal mode, etc.) or spatially adjacent blocks (e.g., left, top, left top, right top, May be included.
  • a mode derived from a mode included in the MPM candidate group (a difference of +1 or -1 in the directional mode) can be configured as an MPM candidate group.
  • the priority order can be determined by the mode order derived from the prediction mode of the spatially adjacent block, the predetermined prediction mode, and the prediction mode included first in the MPM candidate group, but other modifications are also possible.
  • spatially adjacent blocks may be included in the candidate group in the order of left-upper-lower-right-upper-left block, and DC-Planar-vertical-horizontal mode among predetermined prediction modes.
  • the mode obtained by adding +1, -1, etc. in the included mode may be included in the candidate group, and a total of 6 modes may be configured as the candidate group.
  • the validity check may be performed on the candidate group configuration. If valid, the candidate group is included in the candidate group, and if not valid, the next candidate is passed. If the neighboring block is located outside the picture or may belong to a different division unit from the current block, or if the coding mode of the block is inter-picture prediction, it may not be effective. It may not be valid.
  • the block may be composed of one block, but it may be composed of several blocks (sub-blocks). Therefore, in the case of the left block in the order of (left-top) of the candidate group, after the validity check of any one of the positions (for example, the bottom block of the left block) (E.g., one or more sub-blocks starting from the top block of the left block and located in the downward direction) may be performed after the validity check has been performed, Can be determined.
  • the inter-picture prediction unit can classify the moving motion model and the non-moving motion model according to the motion prediction method.
  • the prediction is performed considering only the parallel motion.
  • prediction can be performed considering the motion such as rotation, perspective, and zoom in / out as well as parallel movement have.
  • unidirectional prediction one motion vector may be needed for a moving model, but more than one for a non-moving model.
  • each motion vector may be information applied to a predetermined position of the current block, such as a left upper corner vertex and an upper right corner vertex of the current block. Can be obtained on a pixel-by-pixel or sub-block-by-sub-block basis.
  • the inter-picture prediction unit may be applied in common to some of the processes described below according to the motion model, and some processes may be applied individually.
  • the inter picture prediction unit may include a reference picture construction unit, a motion estimation unit, a motion compensation unit, a motion information determination unit, and a motion information coding unit.
  • the reference picture constructing unit may include the pictures coded before or after the current picture in the reference picture lists L0 and L1.
  • the prediction block may be obtained from the reference picture included in the reference picture list.
  • the current picture may also be composed of the reference picture and be included in at least one of the reference picture list according to the coding setting.
  • the reference picture constructing unit may include a reference picture interpolating unit, and may perform an interpolation process for a decimal pixel according to the interpolation precision.
  • a reference picture interpolating unit may perform an interpolation process for a decimal pixel according to the interpolation precision.
  • an 8-tap DCT-based interpolation filter may be applied for luminance components
  • a 4-tap DCT-based interpolation filter may be applied for chrominance components.
  • the motion estimation unit may search for a block having a high correlation with the current block through a reference picture.
  • Various methods such as a full search-based block matching algorithm (FBMA) and a three step search (TSS)
  • FBMA full search-based block matching algorithm
  • TSS three step search
  • the motion compensation unit refers to a process of acquiring a prediction block through a motion estimation process.
  • the motion information determination unit may perform a process for selecting optimal motion information of the current block.
  • the motion information may include a skip mode, a merge mode, a competition mode, The motion information encoding mode, and the like.
  • the mode may be configured by combining the supported modes according to the motion model, and may include a skip mode, a skip mode, a merge mode, a merge mode, a competition mode, Competitive mode (non-movement) can be an example of that.
  • some of the modes may be included in the candidate group.
  • the motion information encoding mode can obtain a predicted value of motion information (a motion vector, a reference picture, a prediction direction, and the like) of the current block in at least one candidate block, and when two or more candidate blocks are supported, May occur.
  • the skip mode (no residual signal) and the merging mode (residual signal present) can use the predicted value as motion information of the current block as it is, and the contention mode can generate differential value information between motion information of the current block and the predicted value .
  • the candidate group for the motion information predictive value of the current block may have adaptive and various configurations according to the motion information encoding mode.
  • the motion information of blocks spatially adjacent to the current block e.g., left, upper, left, upper right, lower left blocks, etc.
  • the motion information may be acquired in units of a current block or a sub-block of a current block, based on motion information of spatially adjacent blocks and motion information of temporally adjacent blocks) .
  • the order included in the prediction value candidate group structure may be determined according to the priority order, and the candidate group structure may be completed if the number of candidate groups (determined according to the motion information coding mode) is filled in accordance with the priority order.
  • motion information of spatially adjacent blocks, motion information of temporally adjacent blocks, and mixed motion information of spatial candidates and temporal candidates can be prioritized, but other modifications are also possible.
  • the candidate blocks may be included in the order of the left-upper-right-upper-left-lower-left block, and the right-lower-left- .
  • the validity check can be performed on the candidate group configuration. If valid, the candidate group is included in the candidate group, and if invalid, the next candidate is passed. If the neighboring block is located outside the picture or may belong to a different division unit from the current block, or if the coding mode of the block is an intra prediction, it may not be effective. It may not be valid.
  • the block may be composed of one block in the case of spatially or temporally adjacent blocks, but it may be composed of several blocks (sub-blocks). Therefore, in the case of the left block in the same order as the above (left-top) of the spatial candidate group, after the validity of the position of any one place (for example, the bottom block of the left block) is checked, Or it may be out of order to upper blocks after performing validation of several locations (e.g., one or more sub-blocks located in the downward direction starting from the top block of the left block).
  • validation of any one position may be performed after the validation of the sub-blocks is performed, and may be determined according to the encoding setting.
  • Subtraction unit 205 subtracts the prediction block from the current block to generate a residual block. That is, the subtractor 205 calculates the difference between the pixel value of each pixel of the current block to be encoded and the predicted pixel value of each pixel of the predictive block generated through the predictor to generate a residual block, which is a residual signal of a block form .
  • the transform unit 210 transforms the residual block into a frequency domain and transforms each pixel value of the residual block into a frequency coefficient.
  • the transforming unit 210 transforms the transformed transformed transformed data into transformed transformed transform coefficients based on Hadamard Transform, DCT Based Transform, DST Based Transform, and KLT Based Transform Transform) can be transformed into a frequency domain by using various transformation techniques for transforming an image signal of a spatial axis into a frequency domain.
  • the residual signal transformed into the frequency domain is a frequency coefficient.
  • the transform can be transformed by a one-dimensional transform matrix. Each transformation matrix can be adaptively used in horizontal and vertical units.
  • a DCT-based transformation matrix may be used in the vertical direction and a DST-based transformation matrix may be used in the horizontal direction.
  • a DCT-based transformation matrix may be used in the horizontal direction and a DST-based transformation matrix may be used in the vertical direction.
  • the quantization unit 215 quantizes the residual block having the frequency coefficients converted into the frequency domain by the transform unit 210.
  • the quantization unit 215 may quantize the transformed residual block using Dead Zone Uniform Threshold Quantization, a Quantization Weighted Matrix, or an improved quantization technique. It can be set to one or more quantization schemes as candidates and can be determined by encoding mode, prediction mode information, and the like.
  • the entropy encoding unit 245 scans the generated quantization frequency coefficient sequence according to various scanning methods to generate a quantization coefficient sequence, and outputs the quantization coefficient sequence using an entropy encoding technique or the like.
  • the scan pattern can be set to one of various patterns such as zigzag, diagonal, and raster. Also, it is possible to generate encoded data including encoded information transmitted from each component and output the generated encoded data as a bit stream.
  • the inverse quantization unit 220 inversely quantizes the residual block quantized by the quantization unit 215. That is, the dequantizer 220 dequantizes the quantized frequency coefficient sequence to generate a residual block having a frequency coefficient.
  • the inverse transform unit 225 inversely transforms the inversely quantized residual block by the inverse quantization unit 220. That is, the inverse transform unit 225 inversely transforms the frequency coefficients of the inversely quantized residual block to generate a residual block having a pixel value, that is, a reconstructed residual block.
  • the inverse transform unit 225 may perform the inverse transform using the inverse transform used in the transform unit 210.
  • the adder 230 restores the current block by adding the predicted block predicted by the predictor 200 and the residual block reconstructed by the inverse transform unit 225.
  • the reconstructed current block is stored in the encoding picture buffer 240 as a reference picture (or a reference block), and can be used as a reference picture when coding a next block or another block or another picture in the current block.
  • the filter unit 235 may include one or more post-processing filter processes such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF).
  • the deblocking filter can remove block distortion occurring at the boundary between the blocks in the reconstructed picture.
  • the ALF can perform filtering based on a comparison between the reconstructed image and the original image after the block is filtered through the deblocking filter.
  • the SAO can recover the offset difference from the original image on a pixel-by-pixel basis with respect to the residual block to which the deblocking filter is applied.
  • Such a post-processing filter may be applied to the restored picture or block.
  • the deblocking filter unit in the filter unit can be applied based on pixels included in a few columns or rows included in both blocks based on the block boundary.
  • the block may be applied to a boundary of an encoding block, a prediction block, and a transform block, and may be limited to blocks of a predetermined minimum size (for example, 8 x 8).
  • Whether or not the filtering is applied can be determined as one of strong candidates such as filtering, intermediate filtering, and weak filtering considering the characteristic of the block boundary and the filtering strength and the filtering strength.
  • strong candidates such as filtering, intermediate filtering, and weak filtering considering the characteristic of the block boundary and the filtering strength and the filtering strength.
  • the block boundary corresponds to the boundary of the division unit, it is determined whether or not to apply according to the in-lur filter application flag at the boundary of the division unit, and whether to apply or not may be determined according to various cases described later in the present invention .
  • SAO can be applied based on the difference between the reconstructed image and the original image.
  • Edge Offset and Band Offset may be supported as types of offsets, and filtering may be performed by selecting one of the offsets according to image characteristics.
  • the offset-related information may be coded on a block-by-block basis, and may be encoded using a prediction value. At this time, the related information can be adaptively encoded according to whether the predicted value is fit or not.
  • the prediction value may be offset information of an adjacent block (e.g., left, upper, upper left, upper right block, etc.), and selection information on which block offset information is to be obtained may occur.
  • the validity check may be performed on the candidate group configuration. If valid, the candidate group is included in the candidate group, and if not valid, the next candidate is passed. If the neighboring block is located outside of the picture or belongs to a division unit different from the current block, it may not be valid even in the case of a non-referenceable case described later in the present invention.
  • the encoded picture buffer 240 may store a restored block or picture through the filter unit 235.
  • the reconstruction block or picture stored in the encoding picture buffer 240 may be provided to the prediction unit 200 that performs intra-picture prediction or inter-picture prediction.
  • FIG. 3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 30 includes an entropy decoding unit 305, a predicting unit 310, an inverse quantization unit 315, an inverse transform unit 320, an adder / subtracter 325, a filter 330, And a decoded picture buffer 335, as shown in Fig.
  • the prediction unit 310 may include an intra prediction module and an inter prediction module.
  • the image bitstream can be transmitted to the entropy decoding unit 305.
  • the entropy decoding unit 305 may decode the decoded data including the quantized coefficients and the decoded information to be transmitted to the constituent units by decoding the bit stream.
  • the prediction unit 310 may generate a prediction block based on the data transmitted from the entropy decoding unit 305. [ At this time, based on the reference image stored in the decoded picture buffer 335, a reference picture list using a default construction technique may be constructed.
  • the intra-picture prediction unit may include a reference picture constituent unit, a reference pixel filter unit, a reference pixel interpreter unit, a predictive block generation unit, and a predictive mode decoding unit.
  • the inter picture prediction unit may include a reference picture constructing unit, a motion compensating unit, And some of them can perform the same process as that of the encoder, and some of them can perform the process of inverse derivation.
  • the inverse quantization unit 315 is provided as a bitstream and can dequantize the quantized transform coefficients decoded by the entropy decoding unit 305.
  • the inverse transform unit 320 may apply inverse DCT, inverse integer transform, or similar inverse transformation techniques to the transform coefficients to generate residual blocks.
  • the inverse quantization unit 315 and the inverse transformation unit 320 inversely perform the processes performed by the transform unit 210 and the quantization unit 215 of the image encoding apparatus 20 described above and may be implemented in various ways have.
  • the same process and inverse transformation that are shared with the transform unit 210 and the quantization unit 215 may be used, and information on the transform and quantization process (for example, transform size, transform Shape, quantization type, etc.), the transformation and quantization processes can be performed inversely.
  • the residual block subjected to the inverse quantization and inverse transform process may be added to the prediction block derived by the prediction unit 310 to generate a reconstructed image block. This addition may be performed by the adder / subtracter 325.
  • the filter 330 may apply a deblocking filter to the reconstructed image block to remove a blocking phenomenon if necessary, and may further add other loop filters to improve the video quality before and after the decoding process. It can also be used.
  • the reconstructed and filtered image block may be stored in the decoded picture buffer 335.
  • the image decoding apparatus 30 may further include a division unit, wherein the division unit may include a picture division unit and a block division unit.
  • the division is the same as or equivalent to that of the image encoding apparatus according to FIG. 2, and can be easily understood by a person skilled in the art, so a detailed description will be omitted.
  • 4A to 4D are conceptual diagrams illustrating a projection format according to an embodiment of the present invention.
  • 4A shows an Equi-Rectangular Projection (ERP) format in which a 360-degree image is projected onto a two-dimensional plane.
  • 4B shows a CMP (CubeMap Projection) format in which a 360-degree image is projected onto a cube.
  • 4C shows an OHP (Octahedron Projection) format in which a 360-degree image is projected onto an octahedron.
  • 4D shows an ISP (IsoSahedral Projection) format in which a 360-degree image is projected in a polyhedron.
  • TSP Truncated Square Pyramid Projection
  • SSP Segmented Sphere Projection
  • FIGS. 4A to 4D show an example in which a three-dimensional model is transformed into a two-dimensional space through a projection process.
  • a figure projected in two dimensions may be composed of one or more faces and each surface may have a shape such as a circle, a triangle, or a square.
  • the projection format can have one surface (e.g., ERP) or multiple surfaces (e.g., CMP, OHP, ISP, etc.).
  • each surface can be divided into a square shape and a triangle shape.
  • the classification may be one of the types, characteristics, and the like of the image according to the present invention that can be applied to the case where the setting of the sub-decode according to the projection format is different.
  • the type of image may be a 360 degree image
  • the characteristics of an image may be one of the above distinctions (e.g., each projection format, one surface or a plurality of surfaces, a projection format, .
  • a two-dimensional plane coordinate system ⁇ e.g., (i, j) ⁇ may be defined on each surface of the two-dimensional projection image, and the characteristics of the coordinate system may vary depending on the projection format,
  • one two-dimensional plane coordinate system and other projection formats can have a plurality of two-dimensional plane coordinate systems according to the number of surfaces.
  • the coordinate system can be expressed by (k, i, j), where k can be the index information of each surface.
  • the shape of the surface is a rectangle
  • the number of the surfaces projected in two dimensions is one (for example, Equirectangular Projection, that is, ) To two or more (for example, Cube Map Projection, etc.).
  • 5A to 5C are conceptual diagrams for explaining the surface arrangement according to an embodiment of the present invention.
  • the arrangement of the surfaces may be arranged so as to maintain continuity of images in the three-dimensional space, or may be disposed as closely as possible between the surfaces even if the image continuity between some adjacent surfaces is undermined. Further, when the surface is arranged, some surfaces can be arranged by rotating at a certain angle (0, 90, 180, 270 degrees, etc.).
  • FIG. 5A an example of a surface layout for the CMP format is shown.
  • a 4x3 layout in which the surfaces of the substrates are disposed can be used.
  • a 3x2 layout in which surfaces are arranged so that there is no empty space in a two-dimensional plane can be used even if image continuity between some adjacent surfaces is impaired.
  • the surface arrangement for the OHP format can be confirmed.
  • the top view can be obtained.
  • the surface is arranged so that there is no empty space in the projected two-dimensional plane even if the image continuity is partially damaged, it can be arranged as shown in the lower figure.
  • the surface arrangement of the ISP format can be confirmed. As shown in the upper part of FIG. 5C, the image sequence in the three-dimensional space can be maintained or the surface can be closely contacted .
  • continuity can be interpreted to refer to the continuity of the visible scene in three-dimensional space, or the continuity of the actual image or scene in the two-dimensional space projected.
  • the presence of continuity may be expressed as a high correlation between regions.
  • the correlation between regions may be high or low, but a 360-degree image may have a region in which there is no continuity even though it is spatially adjacent.
  • Relocation of the surface can be performed for the purpose of improving the coding performance.
  • surface relocations can be performed so that surfaces with image continuity are disposed adjacent to each other.
  • the surface relocation does not necessarily mean that the surface is rearranged after the surface arrangement, but can be understood as a process of setting a specific surface arrangement from the beginning. (Which may be performed in region-wise packing in a 360 degree imaging / decoding process)
  • surface placement or rearrangement may include rotation of the surface as well as repositioning of each surface (simple movement of the surface in this example, movement such as lower left or lower right in the upper left corner of the image).
  • the rotation of the surface can be expressed as 0 degrees without surface rotation, 45 degrees to the right, 90 degrees to the left, etc., and splits 360 degrees into k (or 2k ) ), And by selecting a divided section, the rotation angle can be referred to.
  • the subdecoder / decoder decides the surface layout information (the shape of the surface, the number of the surfaces, the position of the surface, the rotation angle of the surface, etc.) and / or the surface relocation information (indicating the position or movement angle of each surface, (Or rearrangement) according to the information (e.g., information).
  • the encoder generates the surface layout information and / or the surface relocation information according to the input image, and the surface arrangement (or rearrangement) may be performed by the decoder receiving and decoding the information from the encoder.
  • the surface is referred to as a 3X2 layout according to FIG. 5A.
  • the number designating each surface may be 0 to 5 according to a raster scan order from the upper left corner .
  • the encoding device acquires the input image, preprocesses the obtained image, encodes the preprocessed image, and transmits the encoded bitstream to the decryption device have.
  • the preprocessing may include image stiching, projection of a three-dimensional image into a two-dimensional plane, surface placement and relocation (or may be referred to as region-wise packing), and the like.
  • the decoding apparatus may receive a bitstream, decode the received bitstream, and perform post-processing (image rendering, etc.) on the decoded image to generate an output image.
  • information (SEI message or meta data) generated in the preprocessing process and information (video encoded data) generated in the encoding process can be recorded and transmitted in the bitstream.
  • 6A and 6B are illustrations for explaining a partition according to an embodiment of the present invention.
  • the image encoding / decoding apparatus may further include a division unit, and the division unit may include a picture division unit and a block division unit.
  • the picture dividing unit can divide the picture into at least one processing unit (e.g., color space (YCbCr, RGB, XYZ, etc.), subpicture, slice, tile, basic encoding unit (or maximum encoding unit)
  • the block division unit may divide a basic encoding unit into at least one processing unit (e.g., encoding, prediction, conversion, quantization, entropy, in-loop filter unit, etc.).
  • the basic coding unit can be obtained by dividing a picture into a horizontal interval and a vertical interval at a constant length interval, which can be a unit also applied to a sub picture, a tile, a slice, a surface, and the like. That is, the unit may be configured as an integral multiple of the basic encoding unit, but is not limited thereto.
  • the size of the basic encoding unit may be differently applied, and in the case of the corresponding division unit, the size of each basic encoding unit may be used. That is, the basic encoding unit of the division unit may be the same as or different from the basic encoding unit of the picture unit and the basic encoding unit of the different division unit.
  • the basic encoding unit and other processing units are referred to as a block in the present invention.
  • Size or shape of the block is horizontal, N ⁇ the length of the vertical, which is represented by two of the exponential (2 n) N a square form (2n ⁇ 2n. 256 ⁇ 256 , 128 ⁇ 128, 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, 4 ⁇ 4, etc., where n is an integer between 2 and 8), or an M ⁇ N rectangular shape (2 m ⁇ 2 n).
  • an input image can be divided into 256 ⁇ 256 for an 8 k UHD image having a high resolution, 128 ⁇ 128 for a 1080p HD image, and 16 ⁇ 16 for a WVGA image.
  • the picture can be divided into at least one slice.
  • the slice may be formed of a bundle of at least one block that continues in accordance with a scan pattern.
  • Each slice may be divided into at least one slice segment, and each slice segment may be divided into basic encoding units.
  • the picture may be divided into at least one sub-picture or tile.
  • a subpicture or tile may have a rectangular (rectangular or square) subdivision shape and may be divided into basic encoding units.
  • a subpicture is similar to a tile in that it has the same partition type (square).
  • the sub picture unlike the tile, it can be distinguished from the tile in that it has a separate sub-picture / decode setting. That is, the setting information for performing the sub-decoding is allocated to the tile in a higher unit (for example, a picture or the like), while the sub-picture has at least one setting information for performing sub- Can be obtained directly from the information.
  • the tile is a unit obtained according to the division of the image, but may not be a unit (for example, a basic unit of VCL (Video Coding Layer)) in which data is transmitted.
  • VCL Video Coding Layer
  • the sub-picture means that not only the sub-picture decode setting can be made for each sub-picture but also the sub-picture decode can be determined. It means that the sub-picture corresponding to the interested area can be constructed and displayed And the setting for this can be determined in units of a sequence, a picture, and the like.
  • the division information generated when the picture is divided into a rectangular shape may have various shapes.
  • a rectangular unit may be obtained by dividing a picture into a horizontal line b7 and a vertical line (in this case, b1 and b3, and b2 and b4, respectively).
  • the number information of the rectangle may be generated based on the horizontal and vertical directions.
  • the horizontal and vertical lengths of the divided rectangles can be identified by dividing the horizontal and vertical lengths of the picture into the number of horizontal lines and vertical lines, respectively. If the rectangles are not evenly divided, May be additionally generated.
  • the horizontal and vertical lengths can be expressed in one pixel unit or in a plurality of pixel units.
  • the horizontal and vertical lengths are 8 and 4 (in this example, (In the case where the basic encoding unit of the corresponding division unit is M / 2 x N / 2) in the present example.
  • a divided unit of a rectangular shape is obtained by separately dividing a picture.
  • the information on the number of rectangles in the image the starting position information of the respective rectangles in the horizontal and vertical directions (positions indicated by the drawing symbols z0 to z5, which can be expressed by x and y coordinates in the picture)
  • the length and the length information of the frame can be generated.
  • the start position may be represented by one pixel unit or a plurality of pixel units, and the horizontal and vertical lengths may also be expressed by one pixel unit or a plurality of pixel units.
  • FIG. 6A can be an example of division information of a tile or a sub picture
  • FIG. 6B can be an example of division information of a sub picture, but it is not limited thereto.
  • tiles are assumed to be a rectangular unit, but the tile-related description may be applied to the same or similar sub-picture (and also to the face). That is, in the present invention, the description of the tile is used as the definition of the sub-picture only, or the description of the sub-picture can be used as the definition of the tile.
  • Some of the above-mentioned division units may not necessarily be included, and some or all of them may optionally be included depending on the subdecryption setting, and other additional units (for example, a surface) may be supported.
  • the encoding unit may be composed of a plurality of encoding blocks (for example, one luminance encoding block, two color difference encoding blocks, etc.) according to the color format. For ease of explanation, one color component unit is assumed.
  • the encoding block may have variable sizes such as MxM (e.g., M is 4, 8, 16, 32, 64, 128, etc.).
  • a partitioning scheme for example, tree-based partitioning, quadtree partitioning ⁇ Quad Tree. QT>, binary tree ⁇ Binary Tree. BT>, and a ternary tree ⁇ Ternary Tree.
  • the encoded block may be a unit that is a basis for intra-picture prediction, inter-picture prediction, conversion, quantization, entropy coding, and the like.
  • asymmetric sub-blocks for example, in the case of a binary tree, > 1: 3 or 3: 1, or the aspect ratio ⁇ the same as horizontal> is 1: 3 or 3: 1.
  • the horizontal ratio ⁇ 1 ⁇ / RTI >: 1 ⁇ RTI ID 0.0 > and the like).
  • the division of an encoding block may have a recursive tree-based structure. At this time, whether or not to divide can be indicated through the division flag. For example, when the division flag of the coding block having the division depth k is 0, the coding block is encoded in the coding block having the division depth k. If the division flag of the coding block having the division depth k is 1
  • the coding of the coded block may be performed by four sub-coded blocks (quad tree partition) or two sub-coded blocks (binary tree partition) or three sub-coded blocks (turntree partition) with a division depth k + Lt; / RTI >
  • the sub-encoding block may be divided into a sub-encoding block (k + 2) through the process of setting the encoding block (k + 1) ) Can be supported.
  • split flags and split direction flags can be supported.
  • the binary tree partition supports one or more partition ratios (e.g., additional partition ratios other than 1: 1 in the horizontal or vertical ratios, i.e., support for asymmetric partitioning)
  • a ratio of one of the ratio candidates ⁇ 1: 1, 1: 2, 2: 1, 1: 3, 3: 1>) may be supported, or other types of flags (eg, There is no additional information as to the partition, and if 0, additional information on the ratio asymmetric partition is required) can be supported.
  • a split flag and a split direction flag can be supported. Additional partition information such as the binary tree may be needed if the ternary partition supports one or more partition ratios.
  • partition information that is generated when only one tree partition is valid, and in the case where a plurality of tree partition is effective, partition information can be configured as follows.
  • partition information corresponding to a line-up order may be configured first if there is a predetermined partitioning priority. If the division flag corresponding to the preceding rank is true (division is performed), additional division information of the division method may be continued. If the division flag is false (division execution x), division information of the division method Flag, split direction flag, etc.).
  • selection information on the partitioning scheme may be additionally generated, and may be configured with partitioning information according to the selected partitioning scheme.
  • the flag may be omitted depending on the preceding or previous division result.
  • the block division starts from the maximum encoding block and can proceed to the minimum encoding block. Alternatively, it may start at the minimum division depth (0) and proceed to the maximum division depth. That is, the partitioning can be performed recursively until the block size reaches the minimum coding block size or the division depth reaches the maximum division depth.
  • the sub / decoding setting for example, image ⁇ slice, tile> type ⁇ I / P / B>, coding mode ⁇ Intra / Inter>, color difference component ⁇ Y / Cb / Cr>
  • the size of the minimum coding block, and the maximum division depth can be adaptively set.
  • quad tree partitioning can be performed in the range of 32 x 32 to 128 x 128, the binary tree partitioning can be performed in the range of 16 x 16 to 64 x 64, And the ternary division can be performed in the range of 8 x 8 to 32 x 32 and the maximum division depth of 3.
  • the quadtree partitioning may be performed in the range of 8 x 8 to 128 x 128, and the binary tree and the turntree partitioning may be performed in the range of 4 x 4 to 128 x 128 and the maximum division depth of 3.
  • it may be an I picture type (for example, a slice), and in the latter case, a P or B picture type.
  • the division setting such as the size of the maximum coding block, the size of the minimum coding block, the maximum division depth, and the like can be shared or individually supported according to the division method and the above setting / decoding setting.
  • the partitioning is performed within the block support range of each partitioning scheme, and if the block support ranges of each partitioning scheme overlap, the priority of the partitioning scheme may exist.
  • a quadtree partition may precede a binary tree partition.
  • the partition selection information to be executed when the partition support range overlaps can be generated. For example, selection information about the partitioning scheme performed during the binary tree and the ternary tree partitioning may occur.
  • the subsequent partition in this example, the binary tree or the tertiary tree
  • the block is set again as an encoding block so that the segmentation can be performed.
  • the segmentation may be performed according to the result of the succeeding segmentation.
  • the result of the succeeding division the binary tree or the turntree tree in this example
  • the divided sub-coded blocks are set as encoding blocks again to perform division, and the result of the following division If it indicates that no partitioning is performed, no further partitioning is performed.
  • the division result of the succeeding division indicates that division is performed and the divided sub-encoding block is set again as the encoding block
  • a plurality of division methods for example, Case
  • the preceding partition can not be performed but only the subsequent partition can be supported. That is, when a plurality of division methods are supported, if the result of the preceding division shows that the division is not performed, it means that the preceding division is no longer performed.
  • the M ⁇ N encoded block can check the quad tree division flag first. If the division flag is 1, (M >> 1) ⁇ (N >> 1 ) Size sub-encoding block, and the sub-encoding block is set as an encoding block again to perform the segmentation (quad-tree segmentation or binary tree segmentation). If the division flag is 0, the binary tree division flag can be confirmed. If the flag is 1, the sub-encoding block is divided into two sub-coded blocks of size (M >> 1) ⁇ N or M ⁇ (N >> 1) Is performed and the sub-encoding block is set as an encoding block again to perform segmentation (binary tree segmentation). If the division flag is 0, the dividing process is terminated and the coding process proceeds.
  • a quadtree / binary tree / a ternary tree / a quadtree + a binary tree / a quadtree + a binary tree + a ternary tree may be used.
  • information on whether or not the additional division method is supported may be implicitly determined or may be explicitly included in units of a sequence, a picture, a sub-picture, a slice, and a tile.
  • the information related to the division such as the size information of the encoding block, the support range of the encoding block, and the maximum division depth may be included in the unit of the sequence, picture, sub picture, slice, tile or the like or implicitly determined.
  • the range of allowable blocks can be determined by the size of the maximum coded block, the range of supported blocks, the maximum division depth, and the like.
  • the coding block obtained by performing the division through the above process can be set to the maximum size of intra-picture prediction or inter-picture prediction. That is, the coded block after the block division may be the start size of the division of the prediction block for intra-picture prediction or inter-picture prediction.
  • the prediction block may have a size of 2M x 2N, M x N that is equal to or smaller than the prediction block. Alternatively, it may have a size of 2Mx2N, 2MxN, Mx2N, and MxN. Alternatively, it may have the same size as the encoding block and have a size of 2M x 2N.
  • the fact that the encoding block and the prediction block have the same size may mean that the prediction is performed with the size acquired through the division of the encoding block without performing the division of the prediction block. That is, the partition information for the prediction block is not generated.
  • Such a setting may be applied to a transform block, and the transform may be performed on a divided block basis.
  • At least one prediction block and at least one transform block may be obtained based on an encoding block (after the encoding block is determined).
  • one prediction block having the same size as the encoding block can be obtained, and at least one transform block can be obtained based on the encoding block.
  • one prediction block and one transform block having the same size as the encoding block can be obtained.
  • partition information of each block can be generated (generated), and when one block is acquired, partition information of each block does not occur.
  • the square or rectangular block of various sizes obtained according to the above result may be a block used for intra prediction or inter prediction, and may be a block used for transforming and quantizing residual components.
  • the division unit obtained by dividing the picture through the picture division unit can independently perform sub-decoding or dependent sub-decoding according to the sub-decoding setting.
  • Independent subtraction / decryption can mean that when performing subdecryption of some subdivision unit (or area), it can not refer to data of another unit.
  • the information used or generated in some units of texture encoding and entropy encoding e.g., pixel value, sub-decode information (intra-frame prediction related information, inter-frame prediction related information, entropy partial / ) ⁇ are independently referenced without reference to each other.
  • parsing information and decompression information of other units may not be referred to each other for texture decoding and entropy decoding of a unit.
  • Dependent subdecryption may also mean that other units of data can be referenced when performing subdecryption of some units.
  • the information used or generated in texture coding and entropy encoding of some units are referenced to each other and are coded in a dependent manner.
  • parsing information and restoration information of other units are also used for texture decoding and entropy decoding in some units They can be referred to each other.
  • the previously mentioned division units may follow independent sub-decode settings. It can be set as not referable for parallelization purposes. Further, it can be set to be invisible for the purpose of improving the sub-decoding performance. For example, when a 360-degree image is divided into a plurality of surfaces in a three-dimensional space and placed in a two-dimensional space, a correlation (for example, image continuity) with the adjacent surfaces may be deteriorated depending on the surface arrangement. That is, when there is no correlation between the surfaces, the need to refer to each other is low, so that independent sub-decoding settings can be followed.
  • a correlation for example, image continuity
  • reference settings between division units can be set. For example, even if a 360-degree image is divided into surface units, there may be a case where the surface is highly correlated with the adjacent surface depending on the surface arrangement setting, and may depend on the dependent sub-decoding setting.
  • independent or dependent subdivision decoding can be applied not only to the spatial domain but also to the time domain. That is, not only performing independent or dependent subtraction or decryption with other division units existing within the same time as the current division unit, but also performing division and division by using a division unit existing within a time different from the current division unit (in this example, It may be possible to perform independent or dependent subtraction / decryption from the assumption that even if there is a division unit at the same position in the corresponding image, it is different division unit).
  • the decoder may extract a region of interest (for example, A viewport, a viewport, or an area to be displayed) is obtained by parsing and decoding a bitstream A transmitted with a high image quality, and parsing and decoding the bitstream B transmitted in a normal image quality outside the ROI .
  • a region of interest for example, A viewport, a viewport, or an area to be displayed
  • the surface is assumed to process data in the same manner as a tile or a sub picture) (Bit stream A) of a division unit belonging to an area (or a division unit overlapping a view pixel with a pixel) and data (bit stream B) of a division unit belonging to a region other than the region of interest.
  • a bitstream containing data obtained by encoding the entire image may be transmitted.
  • the region of interest may be parsed from a bitstream and decoded. Specifically, only the data of the division unit belonging to the region of interest can be decoded.
  • a bitstream that is divided into one or more image qualities is generated in an encoder, and a decoder decodes only a specific bitstream to obtain a whole or a partial image, or selectively decodes the bitstream in each bitstream for each portion of an image, You can also get an image.
  • the case of the 360-degree image is exemplified, but it may be a description applicable to the general image.
  • the decoder may restore some data (in this example, where the interested area is located, the encoder may not know where it is located, and random access may be performed according to the interested area)
  • the current division unit performs independent coding in the spatial domain and performs limited independent decoding in the time domain (for example, , And other division units are referred to as reference constraints, and in general, there is no restriction in the time domain, so that comparison with unlimited dependent coding can be performed).
  • the decoder may divide a plurality of division units (horizontally adjacent division units, or vertically adjacent division units to obtain a plurality of division units, and divide horizontal and vertical division units to obtain a plurality of division units ,
  • the current division unit performs independent or dependent coding in the spatial domain, and if it is determined to perform the decoding in the time domain (for example, in the case of one of the divided units, It is possible to perform limited dependent coding (for example, to allow not only the same position division unit at another time corresponding to the current division unit but also some other division unit).
  • the surface is generally a division unit having different arrangement and shape according to the projection format, and having different characteristics from the above-mentioned other division unit, such as having no separate partial / decryption setting, And may be viewed as a unit obtained in the picture division part on the side (and having a rectangular shape, etc.).
  • the information on the reference setting between the division units may be stored in a bit stream in units of video, sequence, picture, sub picture, slice, tile, etc., and transmitted to the decoder.
  • the transmitted setting information can be restored.
  • related information can be transmitted and parsed in the form of SEI (Supplement Enhancement Information) or Metadata in a bit stream.
  • SEI Supplemental Enhancement Information
  • Metadata Metadata in a bit stream.
  • subdecryption can be performed according to the reference setting without transmitting the information.
  • Fig. 7 is an example of dividing one picture into a plurality of tiles.
  • 8A to 8I are first exemplary views for setting an additional area for each tile according to FIG.
  • Figs. 9A to 9I are second exemplary views for setting an additional area for each tile according to Fig. 7.
  • the expanded area may be located at the outer periphery of each division unit, and the expanded area may be filled with data of another division unit to be referred to.
  • filtering can be applied using a plurality of divided unit data based on the boundary between the divided units. That is, when filtering is applied, it is dependent on the use of other divided unit data, and may be independent when filtering is not applied.
  • an additional area for the current tile can be set. More specifically, at least one tile (in this example, a case where one picture is composed of one tile, that is, a case where the picture is not divided into two or more division units, But it is assumed that it recognizes as a division unit even if it is not divided).
  • an additional area can be set in at least one direction of the current direction of the tile, such as up / down / left / right. Where additional regions can be filled using arbitrary values.
  • the additional area can be filled using some data of the current tile, which can be padded on the outer pixels of the current tile or copied by filling in the pixels in the current tile.
  • the additional area can be filled using image data of tiles other than the current tile. Specifically, image data of a tile adjacent to a current tile can be used, and image data of adjacent tiles in a specific direction of the current tile can be copied and filled.
  • the size (length) of the image data to be acquired may have a value common to each direction or may have an individual value, and may be determined according to the subdecryption setting.
  • all or some of the boundaries of b0 to b8 can be extended in the boundary direction. And may be extended by m in all boundary directions of the division unit or may be extended by m i (i is an index of each direction) along the boundary direction.
  • the m or mi may be applied to all split units of the image or may be set individually according to the split unit.
  • the setting information on the additional area can be generated.
  • the setting information of the additional area includes information such as whether the additional area is supported, whether or not the additional area is supported for each division unit, and the shape of the additional area (for example, upward / downward / left / (In this example, the setting information applied to the individual division unit in the image) in the divided unit, the additional information in the entire image (E.g., setting information that is commonly applied to all division units in an image), and a size of an additional area (for example, Size (in this example, setting information individually applied to individual division units in an image), a method of filling an additional region in the entire image, Gajeok how to fill a region, or the like.
  • the additional area-related settings may be determined proportionally according to the color format, or may have independent settings. Additional area setting information in the luminance component can be generated and the setting of the additional area in the color difference component can be implicitly determined according to the color format. Or, setting information of an additional area in the color difference component can be generated.
  • the size of the additional region of the chrominance component may be m / 2 if determined according to the color format (4: 2: 0 in this example).
  • the size information of the additional region of the chrominance component in this example, n is commonly used, or n1, n2, n3, etc. are possible).
  • a method of filling additional regions of a luminance component may be created, and a method of filling additional regions of a chrominance component may use a method in a luminance component or related information may be generated.
  • Information related to the additional area setting may be recorded in a bit stream in units of video, sequence, picture, sub picture, slice, and the like, and may be transmitted and decoded by parsing related information from the unit during decoding. The embodiments described below are explained on the assumption that additional area support is activated.
  • one picture is divided into the respective tiles displayed from 0 to 8.
  • 8A to 8I the additional area according to an embodiment of the present invention is set for each tile according to FIG.
  • the tile 0 (size of T0_W x TO_H) can be extended to have an area of EO_R to the right and EO_D to the bottom.
  • an additional area can be obtained in the adjacent tiles.
  • the right extension area can be obtained from the first tile
  • the lower extension area can be obtained from the third tile.
  • the 0th tile can be set to an additional area using the tile adjacent to the lower right (No. 4 tile). That is, the additional area may be set in the direction of the remaining inner boundary (or the boundary between the same division unit) excluding the outer boundary (or the picture boundary) of the tile.
  • the fourth tile (the size of T4_W x T4_H) can be extended so as to additionally have left, right, top, and bottom areas since there is no outer boundary.
  • the left extension area can be obtained in 3 tiles, the right extension area in 5 tiles, the upper extension area in 1 tile, and the lower extension area in 7 tiles.
  • the tile 4 can be set up in the upper left corner, the lower left corner, the upper right corner, and the lower right corner.
  • the left upper extension area is 0 tile
  • the lower left extension area is 6 tile
  • the upper right extension area is 2 tile
  • the lower right extension area is 8 tile.
  • the L2 block is in principle a block adjacent to the tile boundary, there is no data that can be referred to from the left, upper left, and lower left blocks.
  • the L2 block can be subdivided / decoded by referring to the additional area. That is, the L2 block can refer to the data of the block located at the left and upper left as an additional area (which may be an area obtained from the tile 1), and the data of the block located at the lower left can be referred to as an additional area Area).
  • the data included in the additional area through the above embodiment can be included in the current tile and can be subdivided / decoded.
  • the data of the additional area is located in the tile boundary (in the present example, the tile is updated or extended due to the additional area)
  • there is no data to be referred to during the coding process This can be understood as a temporary memory format for enhancing the coding performance because it is added for reference of the existing tile boundary area. That is, it helps to improve the image quality of the final output image, and as a result, it is an area to be removed, so that the degradation of the coding performance of the area is not a problem.
  • This can be applied to the same or similar purpose in the following embodiments.
  • a 360-degree image is converted into a two-dimensional image through a surface arrangement (or rearrangement) process according to a projection format, and each tile (or a surface) )can confirm.
  • the two-dimensional image is composed of one surface, and thus one surface may be divided into tiles.
  • the tile division for the two-dimensional image is the same as the tile division according to FIG.
  • the divided tiles can be divided into a tile including only an inner boundary and a tile including at least one outer boundary, and an additional area can be set for each tile as in FIGS. 8A through 8I.
  • the 360-degree image converted into the two-dimensional image may have no continuity of the actual image even if they are adjacent to each other in the two-dimensional image, or there may be continuity of the actual image even if they are not adjacent to each other (refer to the description of FIGS. 5A to 5C) .
  • regions in which there is continuity with the outer boundary region of the tile may be present in the picture. Specifically, referring to FIG.
  • Figs. 9B although the upper end of the tile # 1 corresponds to the outer boundary of the picture, the region having the continuity of the actual image may exist in the same picture. Therefore, It can be possible. That is, unlike Figs. 8A to 8I, in Figs. 9A to 9I, additional areas can be set for all or a part of the outer boundary direction of the tile.
  • the fourth tile is a tile (tile 4 in this example) having only the inner boundary as the tile boundary. Therefore, the additional area for the fourth tile can be set for the upper, lower, left, right and upper left, lower left, upper right, and lower right directions.
  • the left extension area may be the image data obtained from the tile of 3 times
  • the right extension area may be the 5th tile
  • the upper extension area may be the 1 tile
  • the lower extension area may be the image data obtained from the 7th tile
  • the lower left extension area may be image data obtained from tile No. 6
  • the right upper extension area may be image data obtained from tile No. 2
  • the right lower extension area may be image data obtained from tile No. 8.
  • tile No. 0 corresponds to a tile having at least one outer boundary (left, upward direction). Accordingly, the 0th tile may have an additional area extended not only in the right, lower, and lower right spatially adjacent directions but also in an outer boundary direction (left, upper, and upper left directions).
  • the additional area can be set using the data of adjacent tiles in the right, lower, and lower right directions spatially adjacent to each other, but an additional area for the outer boundary direction is a problem.
  • the additional region for the outer boundary direction is not spatially adjacent in the picture but can be set using data having continuity in the substantial image.
  • the left boundary of the picture has substantially continuous image continuity with the right boundary of the picture
  • the upper boundary of the picture has continuity of the image substantially with the lower boundary of the picture
  • the left boundary of tile 0 is continuous with the right boundary of tile 2
  • the upper boundary of tile 0 has continuity with the lower boundary of tile 6. Therefore, in the tile 0, the left extension area can be obtained from the tile 2, the right extension area 1 from the tile, the upper extension area 6 from the tile, and the lower extension area from the tile 3.
  • the upper left extension area can be obtained from the tile 8, the lower left extension area 5, the right upper extension area 7, and the lower right extension area 4 from the tile.
  • the L0 block in FIG. 9A is a block located at the boundary of a tile, there is no data (similar to U0) that can be referred to from the left, top left, bottom left, top, and top right blocks. At this time, a block having continuity in the real image may exist in the two-dimensional image (or picture) even if it is not spatially adjacent in the two-dimensional image.
  • the left boundary of the picture has substantially continuity of the image with the right boundary of the picture
  • the upper boundary of the picture is substantially the image continuity with the lower boundary of the picture
  • the upper left block of the L0 block can be obtained from the 8th tile
  • the upper left block of the L0 block can be obtained from the 6th tile, Can be obtained.
  • Table 1 below is a pseudo code that acquires data corresponding to an additional area from another area having continuity.
  • I_pos' is the output pixel position
  • minI (corresponding to the variable B) is the minimum value of the pixel position range
  • maxI (corresponding to the variable B) C) may be the maximum value of the pixel position range
  • i may be a position component (horizontal, vertical, etc. in this example).
  • minI is 0,
  • maxI is Pic_width Pic_height (vertical width of picture) -1.
  • the vertical length of the picture (general picture) has a range of 0 to 47, and the picture is divided as shown in FIG.
  • Tile 4 has a vertical length range of 16 to 30, and when the additional area is set to the lower side by 4, data corresponding to 31, 32, 33 and 34 positions can be filled in the additional area of tile 4.
  • 31 to 34 are output as their own values 31 to 34, respectively. That is, the data to be filled in the additional area is data at positions 31 to 34.
  • the width of the tile 3 is 0 to 31, and when the additional area is set to 4 to the left, data corresponding to -4, -3, -2, -1 can be filled in the additional area of tile 3. Since the above position does not exist within the width of the picture, it is calculated from the above formula. Since min and max are 0 and 95 in the above equation, -4 to -1 are output as 92 to 95, respectively. That is, the data to be filled in the additional area is the data at positions 92 to 95.
  • the area of m is in the range of 360 to 380 degrees (assuming that the pixel value position range is 0 to 360 degrees), it is adjusted to 0 to 20 degrees As shown in FIG. That is, it can be obtained based on the pixel value position range between 0 and Pic_width - 1.
  • the additional area can be created by checking the data of the position having the continuity of the actual image through the arrangement or relocation information of the surface.
  • Table 2 is a numerical code that generates additional areas for the specific division unit using internal data of a specific division unit.
  • the additional region for a specific division unit can be generated by copying the pixels outside the division unit.
  • a position to be acquired can be confirmed through a clipping process.
  • FIG. 10 is an exemplary diagram illustrating an additional area generated according to an embodiment of the present invention in a sub-decoding process of another area.
  • the additional area since the additional area according to the embodiment of the present invention is generated using the image data of the other area, the additional area may correspond to the overlapped image data. Therefore, after the subdecryption is performed to prevent the maintenance of unnecessary duplicate data, the additional area can be removed. However, before removing the additional area, it may be considered that the additional area is utilized after subtraction / decryption.
  • B which is an additional region of the division unit J
  • the region B can be utilized in the subdivision / decoding (specifically, the restoration or correction process) of the A region included in the division unit I before the generated region B is removed.
  • the division unit I and the division unit J are 0 tile and 1 tile according to FIG. 7, the right portion of the division unit I and the left portion of the division unit J have continuity of images with each other.
  • the additional area B can be used for sub-decoding for the area A after being referred to the video part / decoding of the dividing unit J.
  • the area A and the area B are data obtained from the area A at the time of creation of the additional area, they may be restored to some different value (including a quantization error) in the subdecryption process. Therefore, when restoring the division unit I, a portion corresponding to the region A can be restored by using the restored image data of the region A and the image data of the region B.
  • a partial region C of the division unit I can be replaced by an average or weight sum of the region A and the region B.
  • the partial area C belonging to the division unit I can be replaced by using the area A and the area B depending on which division unit is close to. Specifically, since the image data belonging to a certain range (for example, M pixel intervals) from the area C to the left is adjacent to the division unit I, the data of the area A is used (or copied) The image data belonging to a certain range (for example, N pixel intervals) is adjacent to the division unit J, so that the data in the area B can be used (or copied) to be restored. This can be expressed by the following equation (1).
  • some of the regions C belonging to the division unit I can be replaced by assigning weights to the image data of the regions A and B, respectively, depending on which division unit is close to each other. That is, the image data close to the division unit I in the region C give a high weight to the image data in the region A, and the image data close to the division unit J can give a high weight to the image data in the region B. That is, a weight value can be set based on the difference in distance between the horizontal width of the area C and the x-coordinate of the pixel value to be corrected.
  • Equation (2) can be derived as an equation for setting an adaptive weight for the area A and the area B.
  • w denotes a weight given to the pixel coordinates (x, y) of the A region and the B region.
  • the weighting average for the A region and the B region means The weight w is multiplied, and the pixels of the B region are multiplied by 1-w.
  • weighted averages not only the weighted averages but also weights of different values may be given to the regions A and B, respectively.
  • the additional area B may be removed in the resizing process for the divide unit J and stored in a memory (DPB, which may be a decoded picture buffer) Assuming that the process of setting the area is " Sizing ", this process can be performed in some of the above embodiments, for example, by checking an additional area flag, checking the next size information, It is assumed that the process of increasing the size of the adjustment process is performed while the process of reducing the size of the size adjustment process is performed.
  • a memory DPB, which may be a decoded picture buffer
  • the resizing process can be stored in memory without performing resizing (specifically, after the sub-picture decoding of the image is completed), and a resizing process is performed in the outputting step (in this example, And can be removed. This can be applied to all or some of the divisions belonging to the image.
  • the related setting information may be implicitly or explicitly processed in accordance with the setting of the subdecryption, and may be implicitly (in detail, depending on the characteristics of the image, the type, the format, or the like) Setting>), and in the case of an explicit case, the setting for the removal of an additional area can be adjusted through the generation of the relevant syntax element, and the unit for this is a video, a sequence, a picture, a sub picture, a slice , Tiles, and the like.
  • the conventional encoding method according to the division unit includes: 1) dividing the picture into one or more tiles (or may be collectively referred to as a division unit) and generating division information; 2) 3) performing filtering based on information indicating whether to allow in-loop filters of the tile boundary, and 4) storing the filtered tiles in a memory.
  • the decoding method includes the steps of 1) dividing a picture into one or more tiles based on tile division information, 2) performing decoding in units of divided tiles, 3) Performing filtering based on information indicating whether to permit a loop filter, and 4) storing the filtered tiles in a memory.
  • the third stage of the sub-decoding method is a post-processing step of sub-decoding, and may be independent sub-decoding if filtering is performed and independent sub-decoding if filtering is not performed.
  • the coding method of a division unit includes the steps of 1) dividing a picture into one or more tiles and generating division information, 2) setting an additional area for at least one divided tile unit, Filling the additional area with adjacent tile units, 3) performing encoding on the tile unit having the additional area, 4) removing the additional area for the tile unit, indicating whether to allow the in-loop filter of the tile boundary And 5) storing the filtered tiles in a memory.
  • a method of decoding a divided unit comprising: 1) dividing a picture into one or more tiles based on tile division information, 2) setting an additional area for the divided tile units, (3) filling the additional area with preset information or another (adjacent) tile unit restored in advance, (3) performing decoding using the decoding information received from the encoding device for the tile unit in which the additional area is created, 4) removing the additional area for the tile unit and performing filtering based on information indicating whether to allow an in-loop filter on the tile boundary, and 5) storing the filtered tile in memory .
  • the second step in the sub-decoding method according to an embodiment of the present invention may be a sub-decoding preprocessing process (dependent upon setting an additional area, or otherwise independent decoding).
  • the fourth step may be a post-decryption process (dependent upon performing filtering, or independent if not performed).
  • an additional area is used in the subdecryption process and the size is adjusted to the initial size of the tile before being stored in memory.
  • a picture is divided into a plurality of tiles according to an encoder.
  • additional areas are tiled and related data is acquired in adjacent areas.
  • And performs encoding in an updated tile unit including an existing tile and an additional area.
  • the additional area is removed and the filtering is performed according to the in-loop filtering application setting.
  • the filtering setting may be different according to the additional area filling method and the removing method.
  • filtering may not be applied or other filtering setting may be applied. That is, since the distortion of the tile boundary region can be reduced by using the overlapped data, it is possible to avoid filtering regardless of whether the in-loop filter is applied to the tile boundary unit or not, You can apply filtering settings and other settings (for example, applying a filter with weak filter strength to the tile boundary). After the above process, it is stored in memory.
  • a picture is divided into a plurality of tiles according to tile division information transmitted from an encoder.
  • the additional area related information is explicitly or implicitly confirmed, and the encoded information of the updated tile transmitted from the encoder is parsed with an additional area.
  • decoding is performed in the updated tile unit.
  • the additional region is removed and filtering is performed according to the in-loop filtering application setting like the encoder.
  • filtering is performed according to the in-loop filtering application setting like the encoder.
  • an additional area for the division unit is used in the subdecryption process and is stored in the memory without being deleted.
  • a certain prediction process for example, inter-picture prediction
  • a surface arrangement setting or the like for example, Which is difficult to find in places where there is no continuity. Therefore, additional areas can be stored in memory to improve prediction accuracy and can be utilized in the prediction process. If utilized in inter-picture prediction, an additional area (or a picture including an additional area) can be used as a reference picture for inter-picture prediction.
  • the encoding method includes: 1) dividing the picture into one or more tiles and generating division information; 2) setting an additional area for at least one divided tile unit; 3) performing encoding on the tile unit having the additional area, 4) preserving the additional area for the tile unit, where applying in-loop filtering may be omitted ), And 5) storing the encoded tiles in a memory.
  • the decoding method includes the steps of 1) dividing the picture into one or more tiles based on the tile division information, 2) setting an additional area for the divided tile units, (3) filling the additional area with other (adjacent) tile units restored in advance, (3) performing decoding using the decoding information received from the coding device for the tile unit where the additional area is created, (4) Preserving the additional area for the current block (in which case in-loop filtering may be omitted), and 5) storing the decoded tile in memory.
  • the picture is divided into a plurality of tiles.
  • the additional area is tiled and the related data is acquired in the predetermined area.
  • the predetermined area may be a region adjacent to the current tile or a region not adjacent to the tile because it means another region having a correlation according to the surface layout setting in the 360-degree image.
  • the encoding is performed in the updated tile unit. Filtering is not performed irrespective of the in-loop filtering application setting because the additional area will be preserved after the encoding is completed. The reason is that the boundaries of each updated tile do not share the actual tile boundaries due to additional areas. After the above process, store it in memory.
  • the picture identifies the tile division information transmitted from the encoder and divides the information into a plurality of tiles accordingly. Related information, and parses the encoded information of the updated tile transmitted from the encoder with an additional area. Then, decoding is performed in the updated tile unit. After the decoding is completed, the additional area is stored in the memory without applying the in-loop filter.
  • FIGS. 11 to 12 are diagrams for explaining a sub-decoding method for a division unit according to an embodiment of the present invention.
  • FIG. 11 shows a coding method including an additional area
  • FIG. 12 shows a decoding method for removing an additional area, as an example in which an additional area is generated for each divided unit and subdecryption is performed.
  • a preprocessing process switching, projection, etc.
  • a post-processing process rendering, etc.
  • an image to be decoded is divided into two or more division units (step B) by referring to division-related setting information obtained by parsing a received bit stream, and decoded According to the setting, the size of the additional area for each division unit is set (step C), and the image data included in the bit stream is decoded to acquire image data having the additional area (step D).
  • the restored picture is generated by deleting the additional area (step E), and the restored picture can be output to the display (step F).
  • step F restoration of the reconstructed picture to a 360-degree image may be performed through surface relocation.
  • in-loop filtering (in this example, it is assumed to be a deblocking filter, other in-loop filters can be applied) may be adaptively performed in the dividing unit boundary depending on whether or not the additional region is removed in FIG.
  • in-loop filtering can be performed adaptively depending on whether or not to allow additional area generation.
  • the in-loop filter application flag at the boundary of the division unit such as loop_filter_across_enabled_flag (in the case of tiles in this example)
  • the filter may or may not be applied.
  • a flag for whether or not an in-loop filter is applied at the boundary of the division unit is not supported, and filtering application and filtering setting and the like can be implicitly determined as in the following example.
  • an in-loop filter may not be implicitly applied because it causes unnecessary increase in the amount of computation and degradation of encoding performance.
  • in-loop filtering belonging to the inner boundary in the additional region may be applied to the boundary of each division unit, It is unnecessary to perform in-loop filtering because a coding error can be reduced by a method such as weighting sum of a part of a current area belonging to an area. Therefore, in this case, an in-loop filter may not be performed implicitly.
  • the flag indicating whether or not the in-loop filter is applied (more specifically, it may be determined whether or not to apply the in-loop filter). Filtering may be applied depending on the in-loop filter setting, conditions, etc. applied to the inside of the division unit when the flag is activated, or an in-loop filter setting, conditions, etc. applied to the boundary of the division unit (in detail, In addition to in-loop filter settings, conditions, etc., in addition to non-boundary additions), other defined filtering may be applied.
  • the additional region is removed and stored in the memory.
  • some of them may be included in the other output stage (more specifically, in the in-loop filter unit, It may be a process that can be performed.
  • the above example is based on the assumption that additional areas are supported in each direction of each division unit, and only a part of the contents may be applicable depending on the setting of the additional area and only in some directions.
  • the boundary may be applied to a boundary where an additional area is not supported, and a case where an additional area is supported may be applied to various cases such as following the above example. That is, the application can be adaptively determined to all or a part of the unit boundary according to the setting of the additional area.
  • the related setting information may be implicitly or explicitly processed in accordance with the setting of the subdecryption, and may be implicitly (in detail, depending on the characteristics of the image, the type, the format, or the like) Setting>).
  • an explicit case it can be adjusted through the generation of related syntax elements, and the unit thereof may include a video, a sequence, a picture, a sub-picture, a slice, and a tile.
  • the additional area may be referred to during the sub-decoding process of the current image or another image, or the reference may be limited.
  • the additional area that is specifically removed before being stored in the memory may be referred to or restricted in the current image subdivision / decryption process.
  • the additional area stored in the memory may be referred to or restricted in the process of adding / decoding the temporally different image as well as the current image.
  • the reference possibility and range of the additional area and the like can be determined according to the sub / decryption setting.
  • an additional area of the current image is added / decoded and stored in the memory, which means that it can be included in the reference image of another image or the reference can be restricted. This can be applied to all or some of the divisions belonging to the image.
  • the case described in the following example is also applicable to the present example.
  • the setting information for the reference possibility of the additional area may be implicitly or explicitly processed according to the setting of the sub-decryption, and may be implicit (in more detail, depending on the characteristics, type, (In this example, based on additional region-related settings>), and if explicit, the settings for the referenceability of additional regions can be adjusted through the generation of relevant syntax elements, the units of which are video, sequence , A picture, a sub-picture, a slice, a tile, and the like.
  • some units in the current image can refer to the data of the corresponding unit and can not refer to data of other units.
  • some units in the current image can refer to data in all units existing in other images.
  • the above description may be an example of a general property in a unit obtained through a picture division unit, and an additional property can be defined.
  • a flag can be defined that indicates whether or not another division unit can be referred to in the current image, and whether or not the division unit belonging to another image can be referred to.
  • a division unit belonging to another image and belonging to the same position as the current division unit can be referred to, and a division unit having a different position from the current division unit can be limited in reference.
  • a division unit having a different position from the current division unit can be limited in reference.
  • the decoder decodes each area (division unit) of the image (assuming decoding in units of tiles in this example)
  • the reference possibility between each division unit since the reference possibility between each division unit must be limited not only in the same space but also in another space, it is possible to carry out subtraction / decoding with reference to only the same area of another image.
  • the reference may be allowed or the reference may be restricted according to the identifier information for the division unit.
  • reference information can be referred to when the identifier information allocated to the division unit is equal to each other.
  • the identifier information may mean information indicating that (dependent) sub-decryption has been performed in a mutually referable environment.
  • the related configuration information can be implicitly or explicitly processed according to the subdecryption setting. In the case of implicit, it can be determined without generating the relevant syntax element. In the case of an explicit case, the related configuration information can be processed through generation of related syntax elements. Video, sequence, picture, sub-picture, slice, tile, and the like.
  • 13A to 13G are exemplary diagrams for explaining an area in which a specific division unit can be referred to. 13A to 13G, the area indicated by the bold line may refer to a referenceable area.
  • various reference arrows for performing inter picture prediction can be identified.
  • the C0 block can acquire the RP0 reference block in the previous of the current picture, and the RF0 reference block after the current picture.
  • bidirectional inter-picture prediction is shown, and reference blocks RP1 and RF1 can be obtained in a previous picture of the current picture or in a subsequent picture of the current picture.
  • the figure shows an example of acquiring one reference block in forward and backward directions, it may also be possible to acquire a reference block only in forward direction only or in backward direction.
  • a non-directional inter-picture prediction is shown, and an RCO reference block can be obtained in the current picture.
  • an example of acquiring one reference block is shown in the figure, it is also possible to acquire two or more reference blocks.
  • the reference value of the pixel value and the prediction mode information in the inter picture prediction according to the division unit will be mainly described.
  • other sub / decoding information that can be referred to spatially or temporally (for example, , Transform and quantization information, in-loop filter information, and the like).
  • the current picture (Current (t)) is divided into two or more tiles, and the block C0 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P0 and P1.
  • the block C1 of some tiles can perform inter-picture prediction in both directions to obtain reference blocks P3 and F0. That is, it may be an example in which it is permitted to refer to a block belonging to another position of another image without restriction such as limitation of position or permission of reference only in the current picture.
  • the picture is divided into two or more tile units, and some blocks C1 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P2 and P3. Some blocks C0 of some tiles may perform inter-view prediction in both directions to obtain reference blocks P0, P1, F0, and F1. Some blocks C3 of some tiles may perform inter-picture prediction in a non-directional manner to obtain a reference block FC0.
  • the current picture is divided into two or more tile units, and a block C0 of some tiles can perform inter-picture prediction in all directions to obtain a reference block P0.
  • a reference block P1 , P2, and P3 can not be obtained.
  • the block C4 of some tiles can acquire the reference blocks F0 and F1 by performing the inter-view prediction in the backward direction, but can not acquire the reference blocks F2 and F3.
  • Some blocks C3 of some tiles may perform inter-picture prediction in a non-directional manner to obtain a reference block FC0 or not obtain a reference block FC1.
  • FIG. 13D it can be referenced or limited depending on the division of the picture (t-1, t, t + 1 in this example) or the subdecryption setting of the division unit of the picture. Specifically, reference to only a block belonging to a tile having the same identifier information as the current tile may be possible.
  • the picture is divided into two or more tile units, and some blocks C0 of some tiles can perform inter-picture prediction in both directions to obtain reference blocks P0 and F0, or reference blocks P1, P2, P3, F1, F2, F3). That is, in FIG. 13E, the reference may be allowed only to a tile which is located at the same position as the tile to which the current block belongs.
  • a picture is divided into two or more tile units, and some blocks C0 of some tiles can perform inter-picture prediction in both directions to obtain reference blocks P1 and F2, or reference blocks P0, P2, P3, F0, F1, F3).
  • information indicating a tile which can be referred to for the current division unit is included in the bit stream, and the tile having a possibility of reference can be identified with reference to the information.
  • a picture is divided into two or more tiles, and some blocks C0 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P0, P3, and P5, Can not be obtained. Some blocks C1 of some tiles can perform inter-view prediction in both directions to obtain reference blocks P1, F0, F2 or can not obtain reference blocks P2, F1.
  • FIG. 13G is a diagram showing the division of the picture (t-3, t-2, t-1, t, t + 1, t + 2, t + 3 in this example) ,
  • a tile which can be referred to may have the same or similar location as the current tile in the image, and may have the same identifier information as the current tile (in detail, in picture unit or division unit) Stream.
  • 14A to 14E are illustrations for explaining the possibility of reference to an additional region in a division unit according to an embodiment of the present invention.
  • the area indicated by the bold line indicates a reference area
  • the area indicated with a dotted line indicates an additional area for the division unit.
  • the possibility of reference to some pictures may be limited or allowed. Further, the possibility of reference to the entire extended partitioning unit including the additional area can be limited or allowed. In addition, the reference possibility can be allowed or limited only for the initial division unit excluding the additional region. Further, the possibility of reference to the boundary between the additional region and the initial division unit can be allowed or limited.
  • some blocks C0 of some tiles may perform inter-picture prediction in one direction to obtain reference blocks P0 and P1.
  • Some block C2 of some tiles may perform inter-view prediction in both directions to obtain reference blocks P2, P3, F0, and F1.
  • Some blocks C1 of some tiles may perform inter-picture prediction in a non-directional manner to obtain a reference block FC0.
  • the block C0 can obtain the reference blocks P0, P1, P2, P3, F0 in the initial tile area (basic tile excluding the additional area) of some reference pictures t-1, t + Not only obtains the reference blocks P2 and P3 in the initial tile area of the reference picture t-1 but also acquires the reference block F1 in the tile area including the additional area in the reference picture t + can do.
  • the reference block F1 a reference block including a boundary between the additional area and the initial tile area may be obtained.
  • some blocks C0, C1, and C3 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P0, P1, P2 / F0, F2 / F1, F3, and F4 have.
  • Some blocks C2 of some tiles may perform inter-picture prediction in a non-directional manner to obtain reference blocks FC0, FC1, FC2.
  • Some blocks C0, C1 and C3 may obtain reference blocks P0, F0 and F3 in the initial tile areas of some reference pictures (t-1, t + 1 in this example) (P1, x, F4) and obtain reference blocks (P2, F2, F1) outside the updated tile region boundaries.
  • Some block C2 may obtain the reference block FC1 in the initial tile area of some reference picture (t in this example), obtain the reference block FC2 at the updated tile area boundary, The reference block FC0 can be obtained outside the tile region boundary.
  • some blocks C0 may be blocks located in the initial tile region
  • some blocks C1 may be blocks located at the updated tile region boundaries
  • some blocks C3 may be blocks located outside the updated tile boundaries.
  • the picture is divided into two or more tile units, some of the pictures have additional areas in some tiles, some of the pictures do not have additional areas in some tiles, and some pictures do not have additional areas.
  • Some blocks C0 and C1 of some tiles may perform inter-view prediction in a unidirectional manner to obtain reference blocks P2, F1, F2 and F3 or to obtain reference blocks P0, P1, P3 and F0 none.
  • Some blocks C2 of some tiles can perform inter-picture prediction in a non-directional manner to obtain reference blocks FC1 and FC2 or acquire reference block FC0.
  • Some blocks C2 can not acquire the reference block FC0 in the initial tile area of some reference pictures (t in this example), and the reference blocks FC1 and FC1 in some updated area filling methods in the updated tile area Can be the same area.)
  • FC0 can not be referenced in tile partitioning in the initial unit, but can be referenced when bringing the area to the current tile through an additional area).
  • Some block C2 is a reference block (FC2. Basically, data of another tile of the current picture can not be referred to in some tile area of some reference picture (t in this example) but can be referenced according to the identifier information in the embodiment) It is assumed that reference is possible when the setting is made).
  • the picture is divided into two or more tile units and has an additional area.
  • Some blocks C0 of some tiles can perform inter-view prediction in both directions to acquire reference blocks P0, F0, F1 and F3 or can not acquire reference blocks P1, P2, P3 and F2.
  • the reference block F0 can be obtained in the initial tile area (tile 0) of some reference picture t0 in some block C0 and the reference block F1 can be obtained in the extended tile area boundary And can obtain a reference block F3 outside the extended tile region boundary.
  • a picture is divided into two or more tile units and has an additional area having at least one size and shape.
  • the block C0 of some tiles can acquire the reference blocks P0, P3, P5, and F0 by performing inter-picture prediction in a unidirectional manner, but acquires the reference block P2 located at the boundary between the additional area and the basic tile Can not.
  • the block C1 of some tiles can acquire the reference blocks P1, F2 and F3 by performing inter-view prediction in both directions, but can not obtain the reference blocks P4, F1 and F5.
  • the pixel value can be a target of reference, and restriction of reference to other sub / decode information can be possible.
  • 13A to 13C illustrate whether the intra prediction mode candidate group in intra prediction is searched in a spatially adjacent block in the prediction unit and whether the division unit to which the current block belongs can refer to the division unit to which the adjacent block belongs 14e. ≪ / RTI >
  • the prediction unit searches for a motion information candidate group in an inter-picture prediction in temporally and spatially adjacent blocks
  • the division unit to which the current block belongs is divided into a spatial division within the current picture or a division to which a block temporally adjacent to the current picture belongs It is possible to confirm whether or not the unit can be referred to by the method as shown in Figs. 13A to 14E.
  • 15 is an example of a block belonging to a division unit of a current image and a block belonging to a division unit of another image.
  • left, upper left, lower left, upper and upper right blocks around the current block may be spatially adjacent reference candidate blocks.
  • the bottom right, bottom, and center blocks may be temporal reference candidate blocks.
  • a thick outline is a boundary line indicating a division unit.
  • the reference availability can be determined according to the reference-related setting of the division unit (UC, ULC, LC) to which the spatially adjacent block belongs and the division unit to which the current block belongs.
  • the current block is S
  • some of the blocks (s, r, m, w, n, x, t, o, y) located around the same position as the current block in the temporally adjacent image can be referred to
  • the rest of the blocks may be limited in reference.
  • the reference availability can be determined according to the reference-related setting of the division unit (RD, DRD, DD) to which the block around the same position as the current block in the temporally adjacent image belongs and the unit to which the current block belongs.
  • the candidate of the next order among the priorities of the candidate group configuration may be filled, or another candidate adjacent to the candidate whose reference is restricted may be substituted.
  • the MPM candidate structure follows the order of P - D - A - E - U
  • U can be used to construct a candidate group by performing validation in the order of U, or A or B that is spatially adjacent to A can be substituted for A.
  • Candidate candidates can be constructed by performing validation in the order of y, y, and y, or alternatively y can be replaced with t, x, s spatially adjacent to y.
  • 16 is a hardware block diagram of an image encoding / decoding apparatus according to an embodiment of the present invention.
  • an apparatus 200 for encoding and decoding an image includes at least one processor 210 and at least one processor 210 performing at least one step And a memory 220 for storing instructions that direct the instructions.
  • At least one processor 210 may be a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods in accordance with embodiments of the present invention are performed .
  • Each of the memory 120 and the storage device 260 may be constituted by at least one of a volatile storage medium and a non-volatile storage medium.
  • the memory 220 may comprise at least one of read-only memory (ROM) and random access memory (RAM).
  • the image encoding / decoding apparatus 200 may include a transceiver 230 for performing communication via a wireless network.
  • the image encoding / decoding device 200 may further include an input interface device 240, an output interface device 250, a storage device 260, and the like.
  • Each component included in the image encoding / decoding apparatus 200 may be connected by a bus 270 to perform communication with each other.
  • At least one step includes dividing an encoded image included in the bitstream into at least one division unit by referring to a syntax element obtained from a received bitstream, And decoding the encoded image based on the division unit in which the additional area is set.
  • the step of decoding the encoded image may include determining a reference block for a current block to be decoded in the encoded image according to information indicating whether the reference stream included in the bitstream is available for reference.
  • the reference block may be a block belonging to a position overlapping an additional region set in a division unit to which the reference block belongs.
  • 17 is an exemplary view illustrating an intra prediction mode according to an embodiment of the present invention.
  • 35 prediction modes can be identified, and 35 prediction modes can be classified into 33 directional modes and 2 non-directional modes (DC, Planar).
  • the directional mode can be identified by a slope (for example, dy / dx) or angle information.
  • the above example may mean a prediction mode candidate group for a luminance component or a chrominance component.
  • the chrominance components may be supported in some prediction modes (e.g., DC, Planar, vertical, horizontal, diagonal mode, etc.).
  • the mode may be included in the prediction mode of the chrominance component, or a mode derived from the chrominance component may be included in the prediction mode.
  • the restoration block of another color space which has been subdivided and decoded using the correlation between the color spaces, can be used for prediction of the current block and can include a prediction mode supporting the same.
  • a prediction mode supporting the same for example, in the case of a chrominance component, a reconstructed block of the luminance component corresponding to the current block can be generated as a prediction block of the current block.
  • the prediction mode candidate group can be determined adaptively according to the subdecryption setting.
  • the number of candidate groups can be increased for the purpose of increasing the accuracy of the prediction and the number of candidate groups can be reduced for the purpose of reducing the bit amount according to the prediction mode.
  • a candidate group (67, 65 directional mode and 2 non-directional mode), B candidate group (35. 33 directional mode and 2 non-directional mode), C candidate group (19, 17 directional mode And two non-directional modes) can be used. If there is no special description in the present invention, it is assumed that intra prediction is performed with one predetermined prediction mode candidate group (A candidate group).
  • FIG. 18 is a first exemplary view of a reference pixel configuration used in intra-frame prediction according to an embodiment of the present invention.
  • the intra-frame prediction method in the image encoding includes a reference pixel forming step, a prediction block generating step using one or more prediction modes with reference to a reference pixel configured, a step of determining an optimal prediction mode, And encoding the mode.
  • the image encoding apparatus may be configured to include a reference pixel forming step, a prediction block generating step, a prediction mode determining step, a reference pixel forming unit for implementing the prediction mode encoding step, a prediction block generating unit, a prediction mode determining unit, can do.
  • the intra-frame prediction method includes constructing a reference pixel, and estimating a prediction of a current block according to a prediction mode obtained through a syntax element received by the image encoding apparatus Blocks can be created.
  • the size and type (M x N) of the current block in which the intra prediction is performed can be obtained from the block dividing unit and can have a size of 4 x 4 to 256 x 256.
  • Intra prediction may be performed in units of prediction blocks, but may be performed in units of encoding blocks (or coding units), conversion blocks (or conversion units), etc., depending on the setting of the block division unit.
  • the reference pixel composing unit can construct a reference pixel used for predicting the current block.
  • the reference pixels may be managed through a temporary memory (e.g., array ⁇ Array>, primary array, secondary array, etc.), generated and removed for each intra-picture prediction process of the block, May be determined according to the configuration of the pixel.
  • the reference pixel may be a pixel belonging to an adjacent block (may be referred to as a reference block) positioned at the left, upper, left, upper right, and lower left of the current block, but the present invention is not limited thereto. It can also be used for prediction.
  • adjacent blocks located in the left, upper, upper, right, and lower left positions may be blocks selected depending on whether raster or Z scan is performed, and if the scan order is different, For example, a pixel belonging to the right, lower, left, right, lower, right, lower, left,
  • the reference block may be a block corresponding to the current block in a color space different from the color space to which the current block belongs.
  • the color space may mean one of Y, Cb and Cr.
  • the block corresponding to the current block may have the same positional coordinates as the current block or may have a positional coordinate corresponding to the current block according to the color component composition ratio.
  • reference blocks according to the predetermined positions are composed of one block. However, have.
  • the adjacent region of the current block may be the position of the reference pixel for intra-picture prediction of the current block, and the region corresponding to the current block of another color space may be considered as the position of the reference pixel according to the prediction mode have.
  • the position of a reference pixel defined according to a prediction mode, a method, and the like can be determined.
  • the reference pixel position may be determined based on a search range (for example, a search range in a sub-decoded area or a partially decoded area before the current block of the current image, An area included in the left or upper side or the upper left corner, the upper right corner, etc. of the current block) may be considered as the position of the reference pixel.
  • the reference pixels used for intra-frame prediction of the current block include left, upper, left, upper right, and lower left adjacent pixels (Ref_L, Ref_T, Ref_TL, Ref_TR, Ref_BL).
  • P (x, y) can mean pixel coordinates.
  • the pixel adjacent to the current block can be classified into at least one reference pixel layer, and the pixel closest to the current block is ref_0 ⁇ pixels having a pixel value difference of 1 from the boundary pixel of the current block.
  • p (-1, -1) to p (-1, -1) to p (-1, (2, -2), p (-2, -1) to p (-2, 2N) ⁇ ref_1 the next adjacent pixel ⁇ the boundary of the current block
  • p (-3, -3) ⁇ p (2M + 1, -3), p (-3, -2) ⁇ p (-3,2N + 1) ⁇ is divided by ref_2 . That is, the reference pixel can be classified into a plurality of reference pixel layers according to the pixel distance adjacent to the boundary pixel of the current block.
  • the reference pixel layer can be set differently for adjacent neighboring blocks. For example, when using the current block as the reference block and the neighboring block as the reference block, the reference pixel according to the ref_0 layer is used. When the neighboring block is used as the reference block, the reference pixel according to the ref_1 layer can be used have.
  • the reference pixel set referred to when intra prediction is performed belongs to neighboring blocks adjacent to the current block and the lower left, left, upper left, upper right, and ref_0 layers (pixels nearest to the boundary pixel) And are assumed to be such pixels unless otherwise described below.
  • the reference pixel set or hierarchy may be determined implicitly (preset in the subdecoder / decoder) or explicitly determined (information that can be determined from the encoder).
  • the image may be set differently according to a picture, a slice, a tile, etc., a color component, and the related information may be included in a unit of a sequence, a picture, a slice, or a tile.
  • the present invention a case where a low index (incremented from 0 to 1) is allocated from the reference pixel layer closest to the current block is presupposed, but the present invention is not limited thereto. Further, the reference-pixel-configuration-related information to be described later can be generated under the above-mentioned index setting (binarization in which a short bit is assigned to a small index when one of a plurality of reference pixel sets is selected).
  • a weighted average or the like can be applied to each reference pixel included in two or more reference pixel layers.
  • a prediction block can be generated using reference pixels obtained by summing weights of ref_0 and ref_1 layers in FIG.
  • the pixel to which the weight sum is applied in each reference pixel layer may be a pixel unit as well as an integer unit pixel according to a prediction mode (for example, prediction mode directionality). (For example, 7: 1, 3: 1, 1: 1, 2: 1, , 2: 1, 1: 1, and so on) to obtain one prediction block.
  • the weighting value may have a higher weight value as the prediction block according to the reference pixel layer adjacent to the current block.
  • the instruction information (adaptive_intra_ref_sample_enabled_flag in this example) allowing an adaptive reference pixel configuration may occur in units of video, sequence, picture, slice, tile, .
  • the reference pixel organization related information e.g., selection information on the reference pixel hierarchy and the aggregation, such as intra_ref_idx in this example
  • the reference pixel may be configured according to a predetermined setting.
  • ref_0 and ref_1 are selected as the reference pixel layer, and ref_0 and ref_1 are weighted through ref_0 and ref_1, respectively.
  • the present invention is not limited to this, A case where a predictive pixel value is generated by a method such as summing, that is, an implied case) may be possible.
  • reference pixel organization related information e.g., reference pixel hierarchy or selection information for the aggregate
  • ref_1, ref_2, ref_3, etc. may be configured (for example, ref_1, ref_2, ref_3, etc.), but it is not so limited.
  • the sub-decoded information includes at least one of a video type, a color component, a size and a type of a current block, a prediction mode (a type of a prediction mode (directionality and non-directionality), a direction of a prediction mode (vertical, horizontal, diagonal 1, diagonal 2, ⁇ Or the like, and an intra-picture prediction setting (reference pixel configuration in this example) can be determined according to the sub-decoding information of the neighboring block and the combination of the sub-decoding information of the current block and the neighboring block.
  • a prediction mode a type of a prediction mode (directionality and non-directionality)
  • a direction of a prediction mode vertical, horizontal, diagonal 1, diagonal 2, ⁇ Or the like
  • an intra-picture prediction setting reference pixel configuration in this example
  • 19A to 19C are second exemplary views of a reference pixel configuration according to an embodiment of the present invention.
  • the reference pixel is composed only of ref_0 reference pixel layer in FIG. (reference pixel generation, reference pixel filtering, and reference pixel generation) after a reference pixel is constructed using pixels belonging to a neighboring block (for example, lower left, left, upper left, Reference pixel interpolation, prediction block generation, post-processing filtering, etc.
  • Some intra-picture prediction processes can be adaptively performed depending on the reference pixel configuration). In this example, there is shown an example in which intra prediction is performed using a non-directional mode without setting information for the reference pixel hierarchy when one preset reference pixel hierarchy is used.
  • reference pixels are formed by using all two supported reference pixel layers. That is, the intra prediction can be performed after using the pixels belonging to the hierarchy ref_0 and the hierarchy ref_1 (or by using the weighted average value of the pixels belonging to the two hierarchies) reference pixels.
  • the setting information for the reference pixel hierarchy is not generated, but a certain directional prediction mode (right upper to left lower direction or the opposite direction in the drawing) And the prediction is performed.
  • a reference pixel is constructed using only one reference pixel layer among three supported reference pixel layers.
  • there are a plurality of reference pixel hierarchy candidates setting information for the reference pixel hierarchy to be used among them is generated, and an example in which the in-screen side is performed using some directional prediction mode (upper left to lower right in the drawing) .
  • FIG. 20 is a third exemplary view of a reference pixel structure according to an embodiment of the present invention.
  • a drawing symbol b is a block having a size of 16 ⁇ 16 or more to less than 64 ⁇ 64
  • a drawing symbol c is a block having a size of less than 16 ⁇ 16.
  • intra-picture prediction can be performed using the nearest neighbor reference pixel ref_0.
  • intra prediction can be performed using two supportable reference pixel layers ref_0 and ref_1.
  • intra prediction can be performed using three supportable reference pixel layers ref_0, ref_1, ref_2.
  • 21 is a fourth exemplary view of a reference pixel structure according to an embodiment of the present invention.
  • the current block performing the intra prediction is of a rectangular shape. If the current block is rectangular and the horizontal and vertical are asymmetric, the number of support of the reference pixel layer adjacent to the horizontal side boundary having a long length in the current block is set to be large and the support of the reference pixel layer adjacent to the vertical boundary surface having a short length in the current block You can set a small number. In the figure, it is confirmed that the reference pixel layer adjacent to the horizontal boundary surface of the current block is set to two, and the reference pixel layer adjacent to the vertical boundary surface of the current block is set to one.
  • the reference pixel layer to be used for prediction can be determined differently depending on the type of the intra prediction mode or the neighboring block neighboring the current block. For example, in a directional mode using a pixel belonging to a block adjacent to the upper and upper ends of the current block as reference pixels, two or more reference pixel layers are used, and a pixel belonging to a block adjacent to the left end and the lower left end of the current block is referred to The directional mode used as a pixel may use only the nearest reference pixel layer.
  • generating the setting information of the reference pixel layer may be a result of additionally generating unnecessary data.
  • the distribution characteristic of the pixels constituting each reference pixel hierarchy can be determined by comparing the average or variance of the pixels with a predetermined threshold value.
  • the reference pixel layer can be selected by a predetermined method (for example, selecting the nearest reference pixel layer).
  • the decoder may receive intra-picture prediction information (or intra-picture prediction mode information) from the encoding apparatus and determine whether to receive information for selecting a reference pixel hierarchy based on the received information.
  • reference pixels are formed using a plurality of reference pixel layers through the various examples, the present invention is not limited thereto, and various modifications may be possible and may be combined with other additional configurations.
  • the reference pixel forming unit of the intra prediction may include a reference pixel generating unit, a reference pixel interpolating unit, a reference pixel filter unit, and the like, and may include all or a part of the above configuration.
  • a block including pixels which can be reference pixels may be referred to as a reference candidate block.
  • the reference candidate block may be a neighboring block that is generally adjacent to the current block.
  • the usability of the reference pixel can be determined to be unusable when at least one of the following conditions is satisfied. For example, when the reference candidate block is located outside the picture boundary, it does not belong to the same division unit (for example, slice, tile, etc.) as the current block, and the sub- It is determined that the pixels belonging to the corresponding reference candidate block can not be referred to. At this time, if all of the above conditions are not satisfied, it can be judged that it is usable.
  • the use of the reference pixels can be restricted by the setting of the subdivision / decryption. For example, when a flag (for example, constrained_intra_pred_flag) that restricts a reference to a reference candidate block is activated, the pixel belonging to the reference candidate block can be restricted so that it can not be used as a reference pixel.
  • the flag may be applied to a case where the reference candidate block is a reconstructed block referring to an image temporally different from the current picture in order to perform robust addition / decryption due to various external factors including a communication environment.
  • the pixel of the reference candidate block can be used as the reference pixel.
  • the reference candidate block can be referred to regardless of whether the flag is activated or not, and if the reference candidate block is coded by inter prediction , And the referential candidate block can be referenced according to whether the flag is activated or not.
  • a restoration block having a position corresponding to the current block in another color space may be a reference candidate block.
  • whether or not the reference candidate block can be referred to can be determined according to the coding mode of the reference candidate block. For example, if the current block belongs to a certain chrominance component (Cb, Cr), it is determined whether or not the current block has a position corresponding to the current block in the luminance component (Y) Whether or not reference is possible can be determined. This may be an example corresponding to the case where the encoding mode is independently determined according to the color space.
  • the flag to limit the reference may be a setting applied in some video types (e.g., P or B slice / tile type, etc.).
  • a pixel at a predetermined position of the block (or a pixel adjacent to the current block) can be stored in the reference pixel memory of the current block.
  • the pixel data of the corresponding block position may be copied as it is or may be stored in the reference pixel memory through a process such as reference pixel filtering.
  • the pixel obtained through the reference pixel generation process can be included in the reference pixel memory of the current block.
  • a reference pixel can be constructed when the reference pixel candidate block is usable, and an entropy pixel can be generated when the reference pixel candidate block is unusable.
  • a reference pixel can be generated using an arbitrary pixel value.
  • the arbitrary pixel value is a specific pixel value belonging to a pixel value range, and may be a minimum value, a maximum value, or a median value of a pixel value used in a pixel value adjusting process based on bit depth or a pixel value adjusting process based on pixel value range information of an image , And may be a value derived from the values.
  • generating a reference pixel with an arbitrary pixel value may be applied when all the reference candidate blocks are unusable.
  • a reference pixel can be generated by using pixels belonging to a block adjacent to the unusable reference candidate block.
  • the pixels belonging to the adjacent block can be extrapolated, interpolated, or copied to a predetermined position in the unusable reference candidate block and filled in.
  • the direction of performing the copying or extrapolation may be clockwise or counterclockwise, and may be determined according to the sub / decryption setting.
  • the reference pixel generation direction in the block may follow a predetermined one direction or may be adaptively determined according to the position of the unusable block.
  • FIGS. 22A and 22B are exemplary diagrams illustrating a method of filling a reference pixel at a preset position in an unusable reference candidate block.
  • FIG. 22A and 22B are exemplary diagrams illustrating a method of filling a reference pixel at a preset position in an unusable reference candidate block.
  • a method of filling pixels belonging to the unusable reference candidate block among the reference pixels made up of one reference pixel layer can be confirmed.
  • a reference pixel (denoted by ⁇ 1 >) belonging to a neighboring block adjacent to the upper right of the current block is referred to as a reference pixel belonging to a neighboring block adjacent to the upper end of the current block Can be generated by extrapolating in clockwise or linear extrapolation.
  • a reference pixel (denoted by ⁇ 2 >) belonging to a neighboring block adjacent to the left is a neighboring block (Corresponding to a possible block) in a counterclockwise direction.
  • reference pixels belonging to neighboring blocks adjacent to the lower left end of the current block can be used.
  • a part of a reference pixel (denoted by ⁇ 3 >) belonging to a neighboring block on the upper side of the current block can be generated by interpolating or linearly interpolating reference pixels usable on both sides. That is, a case where not all of the reference pixels belonging to the neighboring block but some of the reference pixels can not be used can also be set. In this case, unusable reference pixels can be used to fill unusable reference pixels.
  • FIG. 22B a method of filling a reference pixel that can not be used when some reference pixels are unavailable among reference pixels composed of a plurality of reference pixel layers can be confirmed.
  • pixels (denoted by ⁇ 1 >) belonging to the three reference pixel layers belonging to the neighboring block are located at the upper May be generated clockwise using pixels belonging to adjacent neighboring blocks (corresponding to usable blocks).
  • the unusable reference pixels of each reference pixel hierarchy can be generated using the pixels of the same reference pixel hierarchy, but the use of pixels of the same reference pixel hierarchy is not excluded.
  • reference pixels denoteted by ⁇ 3 >
  • the pixels belonging to the reference pixel hierarchy ref_0 and the reference pixel hierarchy ref_0 closest to the current block can be generated using the usable reference pixels belonging to the same reference pixel hierarchy.
  • the pixels belonging to the reference pixel hierarchy ref_1 separated by a distance of one pixel from the current block use pixels belonging to the same reference pixel hierarchy ref_1 as well as pixels belonging to the other reference pixel hierarchy ref_0 and ref_2 Lt; / RTI >
  • reference pixels usable on both sides can be filled with unusable reference pixels by a method such as quadratic linear interpolation.
  • the above example shows an example in which a reference pixel is generated when some reference candidate blocks are not available when a plurality of reference pixel layers are configured as reference pixels.
  • adaptive_intra_ref_sample_flag 0
  • the reference pixel can be configured according to a predetermined setting without any additional occurring information.
  • the reference pixel interpolator can generate the reference pixel in the decimal unit through the linear interpolation of the reference pixel.
  • the process is a partial process of the reference pixel forming unit, but it may be included in the prediction block generating unit and can be understood as a process performed before generating the prediction block.
  • the process is different from the reference pixel filter unit described later, it can be integrated into one process. This may be a case in which a case of generating a distortion in a reference pixel due to an increase in the number of filtering applied to the reference pixel when a plurality of filtering is applied through the reference pixel interpolator and the reference pixel filter unit.
  • the reference pixel interpolation process may be performed in a certain prediction mode (for example, a horizontal mode, a vertical mode, a partial diagonal mode, a diagonal down left mode, a diagonal down left mode, (A mode in which interpolation is not required in decimal units at the time of generating a prediction block), and other prediction modes (a mode in which a decimal unit interpolation is required at the time of generating a prediction block).
  • a certain prediction mode for example, a horizontal mode, a vertical mode, a partial diagonal mode, a diagonal down left mode, a diagonal down left mode, (A mode in which interpolation is not required in decimal units at the time of generating a prediction block), and other prediction modes (a mode in which a decimal unit interpolation is required at the time of generating a prediction block).
  • the interpolation precision (for example, pixel units of 1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, etc.) can be determined according to the prediction mode have. For example, in the case of a prediction mode having a 45-degree angle, an interpolation process is not required, and in the case of a prediction mode having an angle of 22.5 degrees or 67.5 degrees, a half-pixel interpolation is required. As described above, at least one interpolation accuracy and maximum interpolation precision can be determined according to the prediction mode.
  • the interpolation filter can be divided into the difference of the number of filter tap (i.e., the number of pixels to which filtering is applied) and the filter coefficient.
  • the interpolation may be performed step by step in a low precision to a high precision order (e.g., 1/2 -> 1/4 - 1/8), and may be performed collectively.
  • interpolation is performed based on a pixel in an integer unit and a pixel in a decimal unit (a pixel interpolated in advance with a precision lower than a pixel to be interpolated).
  • It may mean performing interpolation.
  • the filter selection information can be explicitly generated or implicitly defined, and the sub-decode setting (e.g., interpolation precision, block size, shape, prediction mode, etc.) . ≪ / RTI >
  • explicitly generated units are video, sequence, picture, slice, tile, block, and the like.
  • an 8-tap Kalman filter is applied to reference pixels in integer units, and an interpolation precision / 8, 1/16
  • a 4-tap Gaussian filter is applied to the reference pixels in the integer unit and the interpolated reference pixels in units of 1/4 or more, and interpolation precision of 1/16 or less / 64
  • a 2-tap linear filter can be applied to an integer reference pixel and an interpolated reference pixel of 1/16 or more units.
  • an 8-tap Kalman filter is applied to 64 ⁇ 64 or more blocks
  • a 6-tap Wiener filter is applied to 64 ⁇ 64 or more blocks of 16 ⁇ 16 or more
  • 4- tap Gaussian filter can be applied.
  • a 4-tap Gaussian filter may be applied for a prediction mode with a 22.5 degree angular difference based on a vertical or horizontal mode and a 4-tap Gaussian filter for a prediction mode with a 22.5 degree angular difference or more.
  • a plurality of candidate filter groups may be composed of a 4-tap cubic filter, a 6-tap winner filter, and an 8-tap Kalman filter for some subdivisions / decode settings, a 2-tap linear filter, tap Wiener filter.
  • FIGS. 23A to 23C are views illustrating a method of performing interpolation based on a fractional pixel unit for reference pixels constructed according to an embodiment of the present invention.
  • interpolation can be performed by applying filtering (denoted by int_func_1D as a filtering function) to pixels adjacent to the interpolation target pixel (denoted by x) (assuming that a filter is applied to an integer unit pixel in this example).
  • filtering denoted by int_func_1D as a filtering function
  • x the interpolation target pixel
  • interpolation can be performed using adjacent pixels belonging to the same reference pixel hierarchy as the pixel x to be interpolated.
  • FIG. 23B a method of acquiring interpolation pixels of a decimal unit in a case where two or more reference pixel layers ref_i, ref_j, and ref_k are supported as reference pixels can be confirmed.
  • the reference pixel interpolation process in the reference pixel layer ref_j it is possible to interpolate interpolation target pixels in a fractional unit by further using another reference pixel layer ref_k, ref_i.
  • first interpolation pixel is obtained, and the obtained (x k , by performing an additional filter (which may be applicable instead of the interpolation process, [1, 2, 1] / 4, [1, 6,1] / 8, the weighted average or the like, such as filter) for x j, x i)
  • the final interpolation pixel (x) in the reference pixel hierarchy ref_j can be obtained.
  • the pixel (x k , x i ) of another reference pixel layer corresponding to the pixel to be interpolated is a decimal unit pixel that can be obtained through an interpolation process.
  • the first interpolation pixel is obtained through filtering at each reference pixel layer, and the final interpolation pixel is obtained by performing additional filtering on the first interpolation pixels.
  • k to h k , a j to h j , and a i to h i may be filtered to obtain the final interpolation pixel at a time.
  • the layer used as an actual reference pixel may be ref_j.
  • the interpolation of one reference pixel hierarchy constituted of reference pixels is included in the candidate group (for example, not being composed of reference pixels means that pixels of the reference pixel hierarchy are not used for prediction, May refer to the corresponding pixels for interpolation and may be included in the case of being used precisely).
  • FIG. 23C an example in which two supported reference pixel layers are used as reference pixels. ( I , j , e i , e j in this example) as the input pixels and performing filtering on the adjacent pixels in each of the supported reference pixel layers,
  • the final interpolation pixel x can be obtained.
  • FIG. 23B it is also possible to obtain a first interpolation pixel at each reference pixel layer and perform additional filtering on the first interpolation pixel to obtain a final interpolation pixel (x).
  • the above example is not limited to the reference pixel interpolation process but can be understood as a process that is combined with another process of intra-picture prediction (for example, a reference pixel filter process, a prediction block generation process, etc.).
  • 24A and 24B are first illustrations for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
  • the reference pixel filter unit generally includes a low-pass filter.
  • smoothing using a 3-tap or 5-tap filter such as [1, 2, 1] / 4, [2, 3, 6, 3, 2] / 16, (E.g., a high-pass filter, etc.) may be used depending on the purpose of the filter application (e.g., sharpening, etc.).
  • filtering for the purpose of smoothing is performed to reduce deterioration occurring in the sub-decoding process.
  • the reference pixel filtering can be performed according to the subdecryption setting.
  • the characteristics of the image include not only the image type, the color component, the quantization parameter, the addition / decryption information of the current block (for example, the size, type, division information, and prediction mode of the current block) And a combination of the current block and the sub-block information of the neighboring block.
  • it can be determined according to the reference pixel distribution characteristics (for example, dispersion, standard deviation, flat area, discontinuous area, etc. of the reference pixel area).
  • filtering is applied when belonging to a classification (category 0) according to some partial / decode settings (for example, a size A of a current block, a size B of a neighboring block, a prediction mode C of a current block, (Category 1) according to some partial / decryption settings (for example, the size A of the current block, the type B of the current block, the size C of the neighboring block, etc.), filtering is performed using the filter A (Category 2) according to some partial / decryption settings (for example, the parent block A of the current block, the parent block B of the neighboring block, etc.), filtering can be performed using the filter b.
  • some partial / decode settings for example, a size A of a current block, a size B of a neighboring block, a prediction mode C of a current block, (Category 1)
  • some partial / decryption settings for example, the size A of the current block, the type B of the current block, the size C of
  • the filtering it is possible to determine whether or not the filtering is applied, the type of the filter, whether or not the filter information is encoded (explicit / implicit), the number of times of filtering, and the like depending on the size of the current block and the neighboring block, the prediction mode, The number of taps of the filter, the filter coefficient, and the like. At this time, it is also possible to apply the same filter several times or apply different filters to the filter more than once.
  • reference pixel filtering may be preset according to the characteristics of the image. That is, the filter-related information may be implicitly determined. However, if the determination of the characteristics of the image as described above is not appropriate, the coding efficiency may be adversely affected. Therefore, it is necessary to consider a part thereof.
  • the reference pixel filtering can be explicitly set. For example, information about whether filtering is applied may occur. At this time, if there is one filter, no filter selection information is generated, and if there are a plurality of filter candidate groups, filter selection information may be generated.
  • the decoder can derive information related to the reference pixel filter (eg, filtering applicability information, filter type information).
  • 25 is a second exemplary view for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
  • categories may be classified according to characteristics of images that are identified through the sub-decryption information, and reference pixel filtering may be adaptively performed according to the classified categories.
  • classification is classified as category 0
  • filtering is not applied.
  • classification is classified as category 1
  • filtering A is applied.
  • categories 0 and 1 it may be an example of implicit reference pixel filtering.
  • filtering A In addition, in the case of category 2 classification, no filtering is applied or filtering A can be applied. Information generated at this time may be information on whether or not filtering is applied, and filter selection information does not occur.
  • filtering A may be applied or filtering B may be applied.
  • the information generated at this time may be filter selection information, and filtering application may be performed unconditionally. That is, in the case of classifying into category 3, it can be understood that the filtering must be performed but the filtering type must be selected.
  • filtering may not be applied, filtering A may be applied, or filtering B may be applied.
  • Information generated at this time may be information on whether to apply filtering and filter selection information.
  • each reference pixel filter related candidate group setting can be adaptively configured.
  • the candidate to be added may be ⁇ Filtering on + Filter C >. That is, the filter A and the filter B may be applied or the filter C may be applied in a situation where the filter is on.
  • one of ⁇ filtering off>, ⁇ filtering on + filter A>, and ⁇ filtering on + filter B> may be implicitly determined according to the prediction mode of the current block have.
  • one of ⁇ filtering off>, ⁇ filtering on + filter A>, and ⁇ filtering on + filter B> is selected according to the prediction mode of the current block.
  • some prediction modes are implicitly determined as " filtering off ", and one of ⁇ filtering off> and ⁇ filtering on + filter A> is explicitly selected in some prediction modes, off >, < filtering + filter B > can be explicitly selected.
  • the reference pixel filter information (for example, Reference pixel filtering permission information, reference pixel filter information, etc.) may be the result of generating unnecessary duplicate information.
  • the reference pixel distribution characteristics obtained according to each filtering for example, the characteristics obtained by comparing the values obtained through the mean, variance, etc. of each reference pixel with the threshold ⁇ Threshold &
  • the reference pixel filter related information may be omitted. If the reference pixel filter related information is omitted, filtering can be applied by a predetermined method (for example, filtering off).
  • the decoder may determine whether to receive the reference pixel filter related information by receiving the intra prediction information, and determine whether to receive the reference pixel filter related information based on the determination.
  • the instruction information (adaptive_ref_filter_enabled_flag in this example) that allows adaptive reference pixel filtering may occur in units of video, sequence, picture, slice, tile, .
  • adaptive reference pixel filtering allowance information (adaptive_ref_filter_flag in this example) is generated in units of pictures, slices, tiles, .
  • the reference pixel filtering related information (ref_filter_idx in this example, for example, reference pixel filter selection information) is a picture, a slice, Block or the like.
  • the reference pixel is set to a predetermined setting (whether or not the filtering is applied in advance, the type of the filter, etc., Lt; / RTI > is determined).
  • FIGS. 26A to 26B are views illustrating an example of using one reference pixel layer in reference pixel filtering according to an exemplary embodiment of the present invention.
  • filtering (referred to as smt_func_1 function) is performed on the pixels a, b, c, e, f and g adjacent to the target pixel d and the target pixel d among the pixels belonging to the reference pixel layer ref_i. And the interpolation is performed.
  • 26A may be an example in which a single filtering is applied, but it may also be possible if a plurality of filtering is applied.
  • the secondary filtering may be applied to the reference pixels (a *, b *, c *, d *, etc. in this example) obtained by applying the first-order filtering.
  • a pixel e * that is filtered (referred to as an smt_func_2 function) through linear interpolation proportional to a distance (for example, a distance z from a) to pixels located on both sides with respect to a target pixel e, Can be obtained.
  • the pixels located at both sides of the current block include the upper block, left block, upper block + upper right block, left block + left lower block, upper left block + upper block + upper right block, upper left block + A block located at both end points of adjacent pixels in a block including a + upper block + a lower left block + an upper right block.
  • 26B may be reference pixel filtering performed according to the reference pixel distribution characteristic.
  • Figs. 26A to 26B show the case of using pixels of the same reference pixel hierarchy as the reference pixel to be filtered for reference pixel filtering.
  • the types of filters used for reference pixel filtering may or may not be the same depending on the reference pixel hierarchy.
  • FIG. 27 is a diagram illustrating an example of using a plurality of reference pixel layers in reference pixel filtering according to an exemplary embodiment of the present invention.
  • filtering can be performed using pixels belonging to the same reference pixel layer in the reference pixel layers ref_k and ref_i, respectively. That is, the filtered pixel d k * can be obtained by performing filtering (defined by the function smt_func_1D) on the target pixel d k and its neighboring pixels a k to g k in the reference pixel layer ref_k, The filtered pixel d i * may be obtained by performing filtering (defined by the function smt_func_1D) on the target pixel d i and its neighboring pixels a i to g i in the layer ref_i.
  • 3 ⁇ 3 is not limited to a square shape, 5 ⁇ 2 rectangular shape around the target pixel (b k, c k, d k, e k, f k, b j, c j, e j, f j ), 3 ⁇ 3 having the mask, such as a diamond shape (d k, c j, e j, d i), 5 ⁇ 3 cross form (d k, b j, c j, e j, f j, d i) You can also use filters.
  • the reference pixel layer is composed of pixels belonging to neighboring blocks adjacent to the current block and close to the boundary of the current block.
  • the filtering using the pixels at the same reference pixel layer in the reference pixel layer ref_k and the reference pixel layer ref_i can apply the filter of the one-dimensional mask type using the pixels to be interpolated and the pixels that are horizontally or vertically adjacent .
  • the interpolation pixel for the reference pixel d j in the reference pixel hierarchy ref_j can be obtained by applying a two-dimensional mask type filter using all the pixels spatially adjacent in the up / down / left / right direction.
  • Second reference pixel filtering can be applied to reference pixels to which the first reference pixel filtering is applied in each reference pixel layer. For example, it is possible to perform first-order reference pixel filtering using reference pixels included in each of the reference pixel layers ref_k, ref_j, and ref_i, (ref_k *, ref_j *, ref_i *) can perform reference pixel filtering using reference pixels of other reference pixel layers as well as their reference pixel layers.
  • the prediction block generator may generate a prediction block according to at least one intra-picture prediction mode (or may be briefly referred to as a prediction mode), and may use the reference pixel based on the prediction mode. At this time, it is possible to generate a prediction block by extrapolating, interpolating, averaging (DC mode), or copying the reference pixel according to the prediction mode.
  • the extrapolation can be applied to the directional mode among the intra prediction modes, and the rest can be applied to the non-directional mode.
  • one reference pixel may be copied to a plurality of pixels in the prediction block to generate one or more prediction pixels, or one or more reference pixels may be copied to generate one or more prediction pixels,
  • the number of copied reference pixels may be equal to or less than the number of copied prediction pixels.
  • one prediction block is generated for each prediction according to one intra-picture prediction mode.
  • it is also possible to acquire a plurality of prediction blocks and apply a weighting sum to a plurality of obtained prediction blocks Lt; RTI ID 0.0 > block < / RTI >
  • the plurality of prediction blocks may refer to prediction blocks obtained according to the reference pixel hierarchy.
  • a process for selecting an optimal mode among a plurality of prediction mode candidates is performed.
  • block distortion for example, Distortion of current block and restoration block.
  • SAD Sum-of-Absolute Difference
  • SSD Sum of Square Difference
  • Rate-Distortion The prediction block generated based on the prediction mode determined through the above process can be transmitted to the subtraction unit and the addition unit. (At this time, since the decoding apparatus can acquire information indicating the optimal prediction mode from the coding apparatus, The process of selecting the optimal prediction mode may be omitted.
  • the prediction mode encoding unit of the encoding apparatus can encode the optimal intra prediction mode selected through the prediction mode deciding unit.
  • the index information indicating the optimum prediction mode is directly encoded, or the optimal prediction mode is predicted through a prediction mode obtainable in other neighboring blocks or the like, and the prediction information for the prediction mode (for example, And the difference value between the prediction mode index of the current block).
  • the former case can be applied to a chrominance component, and the latter case to a luminance component.
  • the prediction value (or prediction information) for the prediction mode can be referred to as MPM (Most Probable Mode) when the optimal prediction mode for the current block is predicted and encoded.
  • MPM is a prediction mode having a high possibility of becoming an optimal prediction mode for the current block, and may be a prediction mode (for example, DC, Planar, vertical, horizontal, diagonal mode, Left, upper, upper left, upper right, lower left block, etc.).
  • the diagonal mode means diagonal up right, diagonal down right, and diagonal down left, and may be a mode corresponding to the second, 18th, and 34th modes of FIG.
  • a mode derived from the prediction mode included in the MPM candidate group which is a set of prediction modes that can be configured by the MPM, can be added to the MPM candidate group.
  • the MPM candidate group may include a prediction mode in which the index interval with the prediction mode included in the MPM candidate group has a predetermined value. For example, if the 10th mode is included in the MPM candidate group in FIG. 17, it may correspond to the mode in which 9th, 11th, 8th, 12th modes are derived.
  • the MPM candidate group configuration (for example, the number of prediction modes included in the MPM candidate group, the configuration priority) may correspond to a case in which the MPM candidate group is composed of a plurality of modes, A prediction mode candidate group, a video type, a block size, a block type, and the like), and may include at least one mode.
  • the priority of the prediction mode to be included in the MPM candidate group can be set.
  • the order of the prediction modes to be included in the MPM candidate group can be determined according to the set priorities, and the MPM candidate group configuration can be completed if the predetermined number of prediction modes are filled.
  • the priority order may be set to a mode order derived from a prediction mode of a block spatially adjacent to a current block to be predicted, a preset prediction mode, and a prediction mode included first in the MPM candidate group, but is not limited thereto.
  • priorities can be set in the order of left-upper-lower-right-upper-left block, and in the order of DC-Planar-vertical- And the prediction mode obtained by adding +1, -1, etc. (integer value) in the index value (corresponding to the prediction mode number according to FIG. 17) according to the prediction mode included in the MPM candidate group is called the MPM candidate group .
  • the priority is given in the order of left-top-DC-Planar-left-right-top-left-top (space adjacency block mode) +1 Can be set.
  • the priority order of the MPM candidate group is fixed, but the priority can be adaptively determined according to the block type, size, and the like.
  • information e.g., most_probable_mode_flag
  • the prediction mode candidates excluding the MPM candidate group (referred to as non-MPM candidate groups) MPM index information (for example, non_mpm_idx), which may be an example corresponding to a case where non-MPMs are composed of one group.
  • the non-MPM candidate group is composed of a plurality of groups
  • the non-MPM may be composed of a plurality of groups, and the number of groups may be determined according to the prediction mode candidates. For example, it may be 1 if the number of prediction mode candidates is 35 or less, and 2 or more if the prediction mode candidate is 35 or less.
  • the specific A group may be composed of modes that are determined to have a high probability of matching with the prediction mode of the current block next to the MPM candidate group.
  • the prediction modes of the next rank that are not included in the MPM candidate group may be included in the A group, or the directional modes having the constant interval may be included in the A group.
  • the mode encoding bit amount may be reduced when the number of prediction modes is large and the prediction mode of the current block does not coincide with the MPM.
  • the binarization tables applied to each prediction mode candidate group for example, MPM candidate group, non-MPM candidate group, etc.
  • the binarization method applied to each candidate group can also be applied individually.
  • terms such as MPM candidate group, non-MPM candidate group, and the like are a few terms used in the present invention, but are not limited thereto.
  • the current intra-frame prediction mode is classified into a plurality of categories, and information on which category belongs is expressed by the mode information in the corresponding category.
  • terms such as a primary MPM candidate group and a secondary MPM candidate group It may also be possible to use it as a.
  • FIG. 28 is a block diagram for explaining a sub-decoding method for an intra-picture prediction mode according to an embodiment of the present invention.
  • MPM_flag is first obtained (S10) and it is checked whether MPM_flag matches with the primary MPM (indicated by mpm_flag) (S11). If they match, MPM index information mpm_idx is confirmed )can do. If it does not match the MPM, the rem_mpm_flag is obtained (S13) and it is checked whether it matches the secondary MPM (indicated by rem_mpm_flag) (S14). If they match, the secondary MPM index information (rem_mpm_idx) S16). If it does not coincide with the secondary MPM, the index information (rem_mode_idx) for the candidate group configured in the remaining prediction mode can be checked (S15). In this example, the index information generated according to the coincidence with the secondary MPM is expressed by the same syntax element, but other mode encoding settings (for example, a binarization method or the like) may be applied, May be set differently and processed.
  • the intra prediction in the image decoding method may be configured as follows.
  • the intra prediction in the prediction unit may include a prediction mode decoding step, a reference pixel construction step, and a prediction block generation step.
  • the image decoding apparatus may include a prediction mode decoding unit, a reference pixel unit, and a prediction block generation unit that implement a prediction mode decoding step, a reference pixel configuration step, and a prediction block generation step.
  • the reference pixel constituting unit and the prediction block generating unit of the image decoding apparatus perform the same functions as those of the corresponding components of the image encoding apparatus, and thus a detailed description thereof will be omitted.
  • the prediction mode decoding unit performs the decoding using the method used in the prediction mode encoding unit .
  • FIG. 29 the description of the reference pixel hierarchy support and reference pixel filtering method described above with reference to the drawings should be construed as being equally applicable to the decoding apparatus, and a detailed description is omitted to avoid redundant explanations.
  • 29 is a first exemplary diagram for explaining a bit stream configuration for intra-picture prediction according to the reference pixel configuration.
  • a plurality of reference pixel layers are supported, at least one reference pixel layer among the supported reference pixel layers is used as a reference pixel, a plurality of candidate groups related to reference pixel filtering are supported, It is assumed that one of the filters is selected.
  • a plurality of reference pixel layers are constituted by a reference pixel candidate group in the encoder (in the present example, the reference pixel generation process is completed)
  • at least one reference pixel layer is constructed as a reference pixel, and reference pixel filtering and reference pixel interpolation are applied .
  • a plurality of candidate groups related to reference pixel filtering are supported.
  • a process for selecting an optimal mode among the prediction mode candidates is performed.
  • an optimal prediction mode is determined, a prediction block according to the mode is generated and transmitted to a subtractor, and the intra-picture prediction related information is encoded.
  • the reference pixel layer and the reference pixel filtering are determined implicitly according to the encoding information.
  • the decoder reconstructs intra prediction information (e.g., a prediction mode), generates a prediction block according to the reconstructed prediction mode, and transmits the prediction block to the subtraction unit.
  • intra prediction information e.g., a prediction mode
  • the reference pixel layer and the reference pixel filtering for the prediction block generation are determined implicitly.
  • a bitstream may be configured with one intra-mode prediction mode (intra_mode) (S20).
  • intra_mode intra-mode prediction mode
  • the reference pixel layer ref_idx and the reference pixel filtering category ref_filter_idx that are supported (or used) in the current block may be implicitly determined (defined as Category A and B, S21 to S22, respectively) according to the intra prediction mode.
  • the partial / decoded information for example, a video type, a color component, a block size, a format, and the like
  • the partial / decoded information for example, a video type, a color component, a block size, a format, and the like
  • FIG. 30 is a second exemplary diagram for explaining a bit stream configuration for intra-frame prediction according to the reference pixel configuration.
  • reference pixel filtering and reference pixel interpolation are applied after configuring one reference pixel layer as a reference pixel. At this time, a plurality of filtering methods related to reference pixel filtering are supported.
  • the process of determining the optimal prediction mode for the current block is performed in the encoder, it is further considered to select the optimal reference pixel layer for each prediction mode and to select the optimum reference pixel filtering.
  • the optimal prediction mode for the current block, and the reference pixel layer and the reference pixel filtering are determined, the generated prediction block is transferred to the subtractor, and the intra-picture prediction related information is encoded.
  • the decoder reconstructs intra prediction information (for example, a prediction mode, a reference pixel hierarchy, reference pixel filtering information, and the like), generates a prediction block using the reconstructed information, and transmits the prediction block to the subtraction unit.
  • intra prediction information for example, a prediction mode, a reference pixel hierarchy, reference pixel filtering information, and the like
  • the reference pixel layer and the reference pixel filtering for the prediction block generation are set according to the information determined according to the information transmitted from the encoder.
  • the decoder checks an optimal prediction mode for the current block through the intra-mode prediction mode information (intra_mode) included in the bitstream (S30), determines whether a plurality of reference pixel layers are supported (multi_ref_flag) (S31). If a plurality of reference pixel layers are supported, the reference pixel layer selection information ref_idx is confirmed (S32), and the reference pixel layer used for intra prediction can be determined. If a plurality of reference pixel layers are not supported, the step S32 of obtaining the reference pixel layer selection information ref_idx may be omitted.
  • FIG. 31 is a third exemplary diagram for explaining a bit stream structure for intra-picture prediction according to the reference pixel configuration.
  • Reference pixel filtering and reference pixel interpolation are applied after the reference pixel is constructed by using one reference pixel layer among a plurality of reference pixel layers supported by an encoder. At this time, a plurality of filtering related to reference pixel filtering is supported.
  • the process for selecting the optimal mode among the plurality of prediction mode candidates is performed, it is further considered to select the optimal reference pixel layer for each prediction mode and to select the optimum reference pixel filtering.
  • the optimal prediction mode, the reference pixel layer, and the reference pixel filtering are determined, a prediction block corresponding to the optimal prediction mode is generated and transmitted to the subtractor, and the intra-picture prediction related information is encoded.
  • the selection information for the optimal reference pixel hierarchy may be omitted and a preset reference pixel hierarchy may be used .
  • the preset reference pixel layer may be the layer closest to the current block.
  • redundancy can be determined based on the difference value (distortion value) between the prediction block generated through ref_0 and the prediction block generated through ref_1 in FIG. 19C. If the difference value is smaller than a preset threshold value, it is determined that there is redundancy in the prediction block. Otherwise, it can be determined that there is no redundancy in the prediction block.
  • the threshold value may be adaptively determined according to a quantization parameter and the like.
  • the reference pixel filtering information may be omitted and preset reference pixel filtering may be applied .
  • redundancy is determined based on the difference between the prediction block obtained through the filtering A (3-tap filter in this example) and the prediction block obtained through the filtering B (5-tap filter in this example) .
  • the difference value is smaller than a preset threshold value, it can be determined that there is redundancy of the prediction block.
  • a prediction block can be generated through a preset reference pixel filtering method.
  • the preset reference pixel filtering may be a filtering method with a low number of taps or a low complexity, and may include a case where filtering application is omitted.
  • the decoder reconstructs intra prediction information (e.g., prediction mode, reference pixel information, reference pixel filtering information, and the like), generates a prediction block corresponding to the prediction block, and transmits the prediction block to the subtraction unit.
  • intra prediction information e.g., prediction mode, reference pixel information, reference pixel filtering information, and the like
  • the reference pixel layer information and the reference pixel filtering for generating a prediction block are set according to the information determined by the information transmitted from the encoder.
  • the decoder can directly check whether the redundancy exists (without passing the syntax element) According to the method.
  • redund_ref is a value indicating a result of redundancy check, and if it is 0, there is no redundancy.
  • the decoder can perform intra prediction using a reference pixel hierarchy set in advance and a preset reference pixel filtering method.
  • 32 is a flowchart illustrating an image decoding method supporting a plurality of reference pixel layers according to an embodiment of the present invention.
  • a video decoding method supporting a plurality of reference pixel layers includes checking whether a plurality of reference pixel layers are supported in a bitstream (S100), and if a plurality of reference pixel layers are supported, (S110) determining a reference pixel hierarchy to be used in a current block by referring to syntax information included in a stream, constructing a reference pixel using pixels belonging to the determined reference pixel hierarchy (S120) And performing intra-picture prediction on the current block (S130).
  • the adaptive reference pixel filtering method may further include checking whether the adaptive reference pixel filtering method is supported in the bitstream.
  • the plurality of reference pixel layers may include configuring reference pixels using a predetermined reference pixel layer .
  • the methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.
  • Examples of computer-readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.
  • the above-mentioned method or apparatus may be implemented by combining all or a part of the structure or function, or may be implemented separately.

Abstract

Disclosed are a method and a device for decoding an image by using a partition unit including an additional region. The method for decoding an image by using a partition unit including an additional region comprises the steps of: partitioning, by referring to a syntax element acquired from a received bit stream, an encoded image, which is included in the bitstream, into at least one partition unit; setting an additional region for at least one partition unit; and decoding the encoded image on the basis of the partition unit for which the additional region is set. Therefore, the image encoding efficiency can be improved.

Description

추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치Image decoding method and apparatus using divided unit including additional region
본 발명은 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치에 관한 것으로, 더욱 상세하게는 영상 내의 타일(tile)과 같은 분할 단위에 대하여 상, 하, 좌, 우로 추가 영역을 설정하고, 추가 영역에 있는 영상 데이터까지 참조하여 부호화함으로써 부호화 효율을 향상시키는 기술에 관한 것이다.The present invention relates to an image decoding method and apparatus using a division unit including an additional region, and more particularly, to an image decoding method and apparatus using a division unit including an additional region, And to a technique for improving coding efficiency by referring to image data in an additional area.
최근, 인터넷에서는 동영상과 같은 멀티미디어 데이터 수요가 급속도록 증가하고 있다. 하지만, 채널(Channel)의 대역폭(Bandwidth)이 발전하는 속도는 급격히 증가하고 있으며 멀티미디어 데이터의 양을 효율적인 압축 방법이 필요한 상황이다. ISO/ISE MPEG (Moving Picture Experts Group)과 ITU-T VCEG (Video Coding Experts Group)에서는 꾸준한 공동 연구를 통하여 동영상 압축 표준을 연구하고 있다.Recently, demand for multimedia data such as video is rapidly increasing on the Internet. However, the bandwidth of the channel is rapidly increasing, and it is necessary to efficiently compress the amount of multimedia data. ISO / ISE Moving Picture Experts Group (MPEG) and ITU-T Video Coding Experts Group (VCEG) are studying video compression standards through cooperative research.
한편, 영상에 대한 독립적 부호화를 수행하는 경우, 타일(tile)을 비롯한 개별 분할 단위마다 독립적으로 부호화를 수행하는 것이 일반적이므로, 시간적 및 공간적으로 인접한 다른 분할 단위의 영상 데이터를 참조할 수 없는 문제가 있다.On the other hand, in the case of performing independent encoding on an image, since it is general to independently perform encoding for each individual division unit including a tile, there is a problem that the image data of another division unit adjacent temporally and spatially can not be referred to have.
따라서, 종래와 같이 독립적 부호화에 따른 병렬 처리를 유지하면서도 인접한 영상 데이터를 참조할 수 있는 방안이 필요하다.Accordingly, there is a need for a method of referring to adjacent image data while maintaining parallel processing by independent encoding as in the conventional art.
또한, 기존의 영상 부/복호화 방법에 따른 화면내 예측은 현재 블록과 가장 인접한 화소들을 사용하여 참조 화소를 구성하는데, 영상의 종류에 따라서는 반드시 가장 인접한 화소로 참조 화소를 구성하는 것이 바람직하지 않을 수 있다.In addition, the intra-picture prediction according to the conventional image coding / decoding method constitutes a reference pixel by using the pixels closest to the current block, and it is not preferable to construct the reference pixel as the nearest pixel depending on the type of the image .
따라서, 참조 화소를 기존과 달리 구성하여 화면내 예측 효율을 향상시킬 수 있는 방안이 필요한 실정이다.Accordingly, there is a need for a method of improving intra-picture prediction efficiency by configuring reference pixels differently from conventional ones.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a video decoding method and apparatus using a division unit including an additional region.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 추가 영역을 포함하는 분할 단위를 이용한 영상 부호화 방법 및 장치를 제공하는 데 있다.It is another object of the present invention to provide a method and apparatus for encoding an image using a division unit including an additional region.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 복수의 참조 화소 계층을 지원하는 영상 복호화 방법을 제공하는 데 있다.In order to solve the above problems, an object of the present invention is to provide a video decoding method supporting a plurality of reference pixel layers.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 복수의 참조 화소 계층을 지원하는 영상 복호화 장치를 제공하는 데 있다.It is another object of the present invention to provide an image decoding apparatus supporting a plurality of reference pixel layers.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법을 제공한다.According to an aspect of the present invention, there is provided an image decoding method using a division unit including an additional region.
여기서 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법은, 수신된 비트스트림(bitstream)으로부터 획득된 구문 요소(Syntax Element)를 참조하여 상기 비트스트림에 포함된 부호화 영상을 적어도 하나의 분할 단위로 분할하는 단계, 상기 적어도 하나의 분할 단위에 대한 추가 영역을 설정하는 단계 및 추가 영역이 설정된 분할 단위에 기초하여 상기 부호화 영상을 복호화하는 단계를 포함할 수 있다.Here, a video decoding method using a division unit including an additional region divides an encoded video included in the bitstream into at least one division unit by referring to a syntax element obtained from a received bitstream, , Setting an additional area for the at least one division unit, and decoding the encoded image based on the division unit in which the additional area is set.
여기서 상기 부호화 영상을 복호화하는 단계는, 상기 비트스트림에 포함된 참조 가능성 여부를 지시하는 정보에 따라, 상기 부호화 영상 내에서 복호화할 현재 블록에 대한 참조 블록을 결정하는 단계를 포함할 수 있다.The step of decoding the encoded image may include determining a reference block for a current block to be decoded in the encoded image according to information indicating whether the reference stream included in the bitstream is available for reference.
여기서 상기 참조 블록은, 상기 참조 블록이 속하는 분할 단위에 설정된 추가 영역과 중첩되는 위치에 속하는 블록일 수 있다.Here, the reference block may be a block belonging to a position overlapping an additional region set in a division unit to which the reference block belongs.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 복수의 참조 화소 계층을 지원하는 영상 복호화 방법을 제공한다.According to another aspect of the present invention, there is provided an image decoding method supporting a plurality of reference pixel layers.
복수의 참조 화소 계층을 지원하는 영상 복호화 방법은, 비트스트림에서 복수의 참조 화소 계층을 지원하는지 여부를 확인하는 단계, 복수의 참조 화소 계층이 지원되면, 상기 비트스트림에 포함된 구문 정보를 참조하여 현재 블록에 사용할 참조 화소 계층을 결정하는 단계, 결정된 참조 화소 계층에 속하는 화소를 이용하여 참조 화소를 구성하는 단계 및 구성된 참조 화소를 이용하여 상기 현재 블록에 대한 화면내 예측을 수행하는 단계를 포함할 수 있다.The video decoding method for supporting a plurality of reference pixel layers includes the steps of: checking whether or not a plurality of reference pixel layers are supported in a bitstream; referring to syntax information included in the bitstream, Determining a reference pixel hierarchy to be used for a current block, constructing a reference pixel using pixels belonging to the determined reference pixel hierarchy, and performing intra prediction on the current block using the constructed reference pixel .
여기서 상기 복수의 참조 화소 계층을 지원하는지 여부를 확인하는 단계 이후에, 비트스트림에서 적응적인 참조 화소 필터링 방법을 지원하는지 여부를 확인하는 단계를 더 포함할 수 있다.The method may further include confirming whether or not the adaptive reference pixel filtering method is supported in the bitstream, after confirming whether the plurality of reference pixel layers are supported.
여기서 상기 복수의 참조 화소 계층을 지원하는지 여부를 확인하는 단계 이후에, 복수의 참조 화소 계층이 지원되지 않으면, 미리 설정된 참조 화소 계층을 사용하여 참조 화소를 구성하는 단계를 포함할 수 있다. If the plurality of reference pixel layers are not supported after the step of checking whether the plurality of reference pixel layers are supported, the step of configuring reference pixels using the predetermined reference pixel layer may be included.
상기와 같은 본 발명에 따른 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치를 이용할 경우에는 참조할 수 있는 영상 데이터가 많기 때문에 영상 압축 효율이 향상될 수 있다.When the image decoding method and apparatus using the division unit including the additional area according to the present invention as described above, the image compression efficiency can be improved because there are many image data to be referred to.
상기와 같은 본 발명에 따른 복수의 참조 화소 계층을 지원하는 영상 복호화 방법 및 장치를 이용할 경우에는 다수의 참조 화소를 이용하므로 화면내 예측 정밀도가 증가할 수 있다.When the image decoding method and apparatus supporting a plurality of reference pixel layers according to the present invention as described above are used, intra prediction accuracy can be increased because a plurality of reference pixels are used.
또한, 본 발명에 따르면, 적응적인 참조 화소 필터링을 지원하므로, 영상의 특성에 따라 최적의 참조 화소 필터링을 수행할 수 있다.In addition, according to the present invention, since adaptive reference pixel filtering is supported, optimum reference pixel filtering can be performed according to characteristics of an image.
또한, 영상 부/복호화에 따른 압축 효율이 증가할 수 있는 장점이 있다.In addition, there is an advantage that the compression efficiency due to the image portion / decoding can be increased.
도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 구성도이다.3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
도 4a 내지 도 4d는 본 발명의 일 실시예에 따른 투영 포맷을 설명하기 위한 개념도이다.4A to 4D are conceptual diagrams illustrating a projection format according to an embodiment of the present invention.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 표면 배치를 설명하기 위한 개념도이다.5A to 5C are conceptual diagrams for explaining the surface arrangement according to an embodiment of the present invention.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 분할부를 설명하기 위한 예시도이다.6A and 6B are illustrations for explaining a partition according to an embodiment of the present invention.
도 7은 하나의 픽쳐를 복수의 타일로 분할한 예시도이다. Fig. 7 is an example of dividing one picture into a plurality of tiles.
도 8a 내지 도 8i는 도 7에 따른 각각의 타일에 대하여 추가적인 영역을 설정하는 제1 예시도이다. 8A to 8I are first exemplary views for setting an additional area for each tile according to FIG.
도 9a 내지 도 9i는 도 7에 따른 각각의 타일에 대하여 추가적인 영역을 설정하는 제2 예시도이다.Figs. 9A to 9I are second exemplary views for setting an additional area for each tile according to Fig. 7. Fig.
도 10은 본 발명의 일 실시예에 따라 생성된 추가 영역을 다른 영역의 부/복호화 과정에서 활용하는 예시도이다.FIG. 10 is an exemplary diagram illustrating an additional area generated according to an embodiment of the present invention in a sub-decoding process of another area.
도 11 내지 도 12는 본 발명의 일 실시예에 따른 분할 단위에 대한 부/복호화 방법을 설명하기 위한 예시도이다.FIGS. 11 to 12 are diagrams for explaining a sub-decoding method for a division unit according to an embodiment of the present invention.
도 13a 내지 도 13g는 특정 분할 단위가 참조 가능한 영역을 설명하기 위한 예시도이다. 13A to 13G are exemplary diagrams for explaining an area in which a specific division unit can be referred to.
도 14a 내지 도 14e는 본 발명의 일 실시예에 따른 분할 단위에서 추가 영역에 대한 참조 가능성을 설명하기 위한 예시도이다.14A to 14E are illustrations for explaining the possibility of reference to an additional region in a division unit according to an embodiment of the present invention.
도 15는 현재 영상의 분할 단위에 속하는 블록과 다른 영상의 분할 단위에 속하는 블록에 대한 예시도이다.15 is an example of a block belonging to a division unit of a current image and a block belonging to a division unit of another image.
도 16은 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치에 대한 하드웨어 구성도이다.16 is a hardware block diagram of an image encoding / decoding apparatus according to an embodiment of the present invention.
도 17은 본 발명 일 실시예에 따른 화면내 예측 모드를 나타낸 예시도이다.17 is an exemplary view illustrating an intra prediction mode according to an embodiment of the present invention.
도 18는 본 발명의 일 실시예에 따른 화면내 예측에 사용되는 참조 화소 구성에 대한 제1 예시도이다. 18 is a first exemplary view of a reference pixel configuration used in intra-frame prediction according to an embodiment of the present invention.
도 19a 내지 도 19c는 본 발명의 일 실시예에 따른 참조 화소 구성에 대한 제2 예시도이다.19A to 19C are second exemplary views of a reference pixel configuration according to an embodiment of the present invention.
도 20은 본 발명의 일 실시예에 따른 참조 화소 구성에 대한 제3 예시도이다.20 is a third exemplary view of a reference pixel structure according to an embodiment of the present invention.
도 21은 본 발명의 일 실시예에 따른 참조 화소 구성에 대한 제4 예시도이다.21 is a fourth exemplary view of a reference pixel structure according to an embodiment of the present invention.
도 22a 내지 도 22b는 사용 불가능한 참조 후보 블록에서 미리 설정된 위치에 참조 화소를 채우는 방법에 대한 예시도이다.FIGS. 22A and 22B are exemplary diagrams illustrating a method of filling a reference pixel at a preset position in an unusable reference candidate block. FIG.
도 23a 내지 도 23c는 본 발명의 일 실시예에 따라 구성된 참조 화소들에 대해 소수 화소 단위를 기반으로 보간을 수행하는 방법에 대한 예시도이다.FIGS. 23A to 23C are views illustrating a method of performing interpolation based on a fractional pixel unit for reference pixels constructed according to an embodiment of the present invention.
도 24a 및 도 24b는 본 발명의 일 실시예에 따른 적응적인 참조 화소 필터링 방법을 설명하기 위한 제1 예시도이다.24A and 24B are first illustrations for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
도 25는 본 발명의 일 실시예에 따른 적응적인 참조 화소 필터링 방법을 설명하기 위한 제2 예시도이다.25 is a second exemplary view for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
도 26a 내지 도 26b는 본 발명의 일 실시예에 따른 참조 화소 필터링에서 하나의 참조 화소 계층을 이용하는 예시도이다.FIGS. 26A to 26B are views illustrating an example of using one reference pixel layer in reference pixel filtering according to an exemplary embodiment of the present invention.
도 27는 본 발명의 일 실시예에 따른 참조 화소 필터링에서 복수의 참조 화소 계층을 이용하는 예시도이다.27 is a diagram illustrating an example of using a plurality of reference pixel layers in reference pixel filtering according to an exemplary embodiment of the present invention.
도 28는 본 발명의 일 실시예에 따른 화면내 예측 모드에 대한 부/복호화 방법을 설명하기 위한 블록도이다.FIG. 28 is a block diagram for explaining a sub-decoding method for an intra-picture prediction mode according to an embodiment of the present invention.
도 29은 참조 화소 구성에 따른 화면내 예측에 대한 비트스트림 구성을 설명하기 위한 제1 예시도이다.29 is a first exemplary diagram for explaining a bit stream configuration for intra-picture prediction according to the reference pixel configuration.
도 30는 참조 화소 구성에 따른 화면내 예측에 대한 비트스트림 구성을 설명하기 위한 제2 예시도이다.30 is a second exemplary diagram for explaining a bit stream configuration for intra-picture prediction according to the reference pixel configuration.
도 31는 참조 화소 구성에 따른 화면내 예측에 대한 비트스트림 구성을 설명하기 위한 제3 예시도이다.31 is a third exemplary diagram for explaining a bit stream structure for intra-picture prediction according to the reference pixel configuration.
도 32은 본 발명의 일 실시예에 따른 복수의 참조 화소 계층을 지원하는 영상 복호화 방법에 대한 흐름도이다.32 is a flowchart illustrating an image decoding method supporting a plurality of reference pixel layers according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
통상적으로 영상은 일련의 정지 영상(Still Image)으로 구성될 수 있으며, 이 정지 영상들은 GOP(Group of Pictures) 단위로 구분될 수 있고, 각 정지 영상을 픽쳐(Picture) 또는 프레임(Frame)이라 지칭할 수 있다. 상위 개념으로는 GOP, 시퀀스(Sequence)등의 단위가 존재할 수 있으며, 또한, 각 픽쳐는 슬라이스, 타일, 블록 등과 같은 소정의 영역으로 분할될 수 있다. 또한, 하나의 GOP에는 I 픽쳐, P 픽쳐, B 픽쳐 등의 단위가 포함될 수 있다. I 픽쳐는 참조 픽쳐를 사용하지 않고 자체적으로 부호화/복호화되는 픽쳐를 의미할 수 있으며, P 픽쳐와 B 픽쳐는 참조 픽쳐를 사용하여 움직임 추정(Motion Estimation) 및 움직임 보상(Motion Compensation) 등의 과정을 수행하여 부호화/복호화 하는 픽쳐를 의미할 수 있다. 일반적으로 P 픽쳐의 경우 I 픽쳐와 P 픽쳐를 참조 픽쳐로써 이용할 수 있으며, B 픽쳐의 경우 I 픽쳐와 P 픽쳐를 참조 픽쳐를 이용할 수 있으나, 이는 부호화/복호화의 설정에 의해 위의 정의 또한 변경될 수 있다.In general, an image may be composed of a series of still images. The still images may be classified into a group of pictures (GOP), and each still image is referred to as a picture or a frame can do. As a higher concept, a unit such as a GOP and a sequence may exist, and each picture may be divided into predetermined areas such as slices, tiles, blocks, and the like. In addition, a unit of an I picture, a P picture, a B picture, and the like may be included in one GOP. The I picture may be a picture to be encoded / decoded by itself without using a reference picture, and the P picture and the B picture may be subjected to a process such as motion estimation (Motion estimation) and motion compensation (motion compensation) And may be a picture to be encoded / decoded. In general, an I picture and a P picture can be used as a reference picture in the case of a P picture, and a reference picture can be used as an I picture and a P picture in the case of a B picture, but this definition can also be changed by setting of encoding / decoding .
여기서 부호화/복호화하는데 참조되는 픽쳐를 참조 픽쳐(Reference Picture)라고 하며, 참조되는 블록 또는 화소를 참조 블록(Reference Block), 참조 화소(Reference Pixel)라고 한다. 또한, 참조되는 데이터(Reference Data)는 공간 영역(Spatial Domain)의 화소값 뿐만 아니라 주파수 영역(Frequency Domain)의 계수값, 부호화/복호화 과정 중에 생성, 결정되는 다양한 부호화/복호화 정보일 수 있다.Here, a picture referred to in encoding / decoding is referred to as a reference picture, and a block or pixel to be referred to is referred to as a reference block and a reference pixel. The reference data may be not only the pixel values of the spatial domain but also the coefficient values of the frequency domain and various encoding / decoding information generated and determined during the encoding / decoding process.
영상을 이루는 최소 단위는 화소일 수 있으며, 하나의 화소를 표현하는데 사용되는 비트수를 비트 심도라고 한다. 일반적으로 비트 심도는 8비트일 수 있으며 부호화 설정에 따라 다른 비트 심도를 지원할 수 있다. 비트 심도는 컬러 공간(Color Space)에 따라 적어도 하나의 비트 심도가 지원될 수 있다. 또한, 영상의 컬러 포맷(Color Format)에 따라 적어도 하나의 컬러 공간으로 구성될 수 있다. 컬러 포맷에 따라 일정 크기를 갖는 1개 이상의 픽쳐 또는 다른 크기를 갖는 1개 이상의 픽쳐로 구성될 수 있다. 예를 들어, YCbCr 4:2:0인 경우 1개의 휘도 성분(본 예에서, Y)과 2개의 색차 성분(본 예에서, Cb/Cr)으로 구성될 수 있으며, 이때 색차 성분과 휘도 성분의 구성 비는 가로, 세로 1:2를 가질 수 있다. 다른 예로, 4:4:4인 경우 가로, 세로 동일한 구성 비를 가질 수 있다. 상기 예처럼 하나 이상의 컬러 공간으로 구성이 되는 경우 픽쳐는 각 컬러 공간으로의 분할을 수행할 수 있다.The minimum unit of image can be a pixel, and the number of bits used to represent one pixel is called a bit depth. In general, the bit depth can be 8 bits and can support different bit depths depending on the encoding setting. The bit depth may be supported by at least one bit depth depending on the color space. Also, it may be configured as at least one color space according to the color format of the image. One or more pictures having a predetermined size or one or more pictures having different sizes according to a color format. For example, in the case of YCbCr 4: 2: 0, it may be composed of one luminance component (Y in this example) and two chrominance components (Cb / Cr in this example) The composition ratio may have a width of 1: 2. As another example, in the case of 4: 4: 4, it may have the same composition ratio in the horizontal and vertical directions. If it is composed of more than one color space as in the above example, the picture can perform the division into each color space.
본 발명에서는 일부 컬러 포맷(본 예에서, YCbCr)의 일부 컬러 공간(본 예에서, Y)을 기준으로 설명할 것이며, 컬러 포맷에 따른 다른 컬러 공간(본 예에서, Cb, Cr)에도 동일하거나 비슷한 적용(특정 컬러 공간에 의존적인 설정)을 할 수 있다. 그러나 각 컬러 공간에 부분적인 차이(특정 컬러 공간에 독립적인 설정)를 두는 것 또한 가능할 수 있다. 즉, 각 컬러 공간에 의존적인 설정은 각 성분의 구성 비(예를 들어, 4:2:0, 4:2:2, 4:4:4 등에 따라 결정)에 비례하거나 의존적인 설정을 갖는 것으로 의미할 수 있고, 각 컬러 공간에 독립적인 설정은 각 성분의 구성 비에 관계없거나 독립적으로 해당 컬러 공간만의 설정을 갖는 것으로 의미할 수 있다. 본 발명에서는 부/복호화기에 따라 일부 구성에 대해서는 독립적인 설정을 갖거나 의존적인 설정을 가질 수 있다.In the present invention, some color spaces (Y in this example) of some color formats (YCbCr in this example) will be described, and the same color space (Cb, Cr in this example) Similar applications (settings dependent on a specific color space) can be made. However, it may also be possible to place a partial difference (an independent setting for a specific color space) in each color space. That is, the setting depending on each color space has a setting proportional to or dependent on the composition ratio of each component (for example, determined by 4: 2: 0, 4: 2: 2, 4: 4: 4, And the setting independent of each color space can be regarded as having a setting of only the corresponding color space regardless of the constituent ratio of each element or independently. In the present invention, depending on the subdecoder, the subdecoder may have an independent setting for some of the configurations or may have a dependent setting.
영상 부호화 과정에서 필요한 설정 정보 또는 구문 요소는 비디오, 시퀀스, 픽쳐, 슬라이스, 타일, 블록 등의 단위 수준에서 정해질 수 있으며 이는 VPS(Video Parameter Set), SPS(Sequence Parameter Set), PPS(Picture Parameter Set), Slice Header, Tile Header, Block Header 등과 같은 단위로 비트스트림에 수록되어 복호화기로 전송될 수 있고, 복호화기에서는 동일 수준의 단위에서 파싱(Parsing)하여 부호화기에서 전송된 설정 정보를 복원하여 영상 복호화 과정에 사용할 수 있다. 또한, SEI(Supplement Enhancement Information) 또는 메타 데이터(Metadata) 등의 형태로 관련 정보를 비트스트림으로 전송하고 파싱하여 사용할 수 있다. 각 파라미터 세트는 고유의 아이디값을 갖고 있으며, 하위 파라미터 세트에서는 참조할 상위 파라미터 세트의 아이디값을 가질 수 있다. 예를 들어, 하위 파라미터 세트에서 하나 이상의 상위 파라미터 세트 중 일치하는 아이디값을 갖는 상위 파라미터 세트의 정보를 참조할 수 있다. 위에서 언급된 다양한 단위의 예 중 어떤 하나의 단위가 하나 이상의 다른 단위를 포함하는 경우에 해당하는 단위는 상위 단위, 포함되는 단위는 하위 단위라 칭할 수 있다. The setup information or syntax elements required in the image coding process can be determined at a unit level such as a video, a sequence, a picture, a slice, a tile, and a block. The VPS, the sequence parameter set (SPS) Set, Slice Header, Tile Header, Block Header, etc., and transmitted to the decoder. In the decoder, the setting information transmitted from the encoder is parsed by parsing at the same level unit, It can be used for decryption process. In addition, related information can be transmitted and parsed in the form of SEI (Supplement Enhancement Information) or Metadata in a bit stream. Each parameter set has a unique ID value, and in the lower parameter set, it can have an ID value of an upper parameter set to be referred to. For example, information of an upper parameter set having a matching ID value among one or more higher parameter sets in the lower parameter set may be referred to. In the case where any one of the examples of various units mentioned above includes one or more other units, the corresponding unit may be referred to as an upper unit and the included unit may be referred to as a lower unit.
상기 단위에서 발생하는 설정 정보의 경우 해당 단위마다 독립적인 설정에 대한 내용을 포함하거나 이전, 이후 또는 상위 단위 등에 의존적인 설정에 대한 내용을 포함할 수 있다. 여기서 의존적인 설정이란 이전, 이후, 상위 단위의 설정을 따른다는 플래그 정보(예를 들어, 1 비트 플래그로 1이면 따름. 0이면 따르지 않음)로 해당 단위의 설정 정보를 나타내는 것이라 이해될 수 있다. 본 발명에서의 설정 정보는 독립적인 설정에 대한 예를 중심으로 설명을 할 것이나, 현재 단위의 이전, 이후의 단위 또는 상위 단위의 설정 정보에 의존적인 관계에 대한 내용으로의 추가 또는 대체되는 예 또한 포함될 수 있다.In the case of the setting information generated in the unit, the setting information may include contents of independent setting for each unit, or contents related to setting depending on the previous, the next, or the upper unit. Here, it can be understood that the dependent setting indicates the setting information of the corresponding unit with flag information (for example, 1 if the flag is 1, not followed by 0) to follow the setting of the previous unit and then the higher unit. The setting information in the present invention will be described with reference to an example of an independent setting, but an example in which addition or substitution is made to the contents of a relation that relies on setting information of a previous unit, a subsequent unit, or a higher unit of the current unit .
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
도 1을 참조하면, 영상 부호화 장치(105) 및 복호화 장치(100)는 개인용 컴퓨터(PC:Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(memory, 120, 125), 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(processor, 110, 115) 등을 구비하는 다양한 장치를 포함할 수 있다. 또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망(Network) 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치(100)로 전송되어 영상 복호화 장치(100)에서 복호화되어 영상으로 복원되고 재생될 수 있다. 또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 영상 부호화 장치(105)에서 영상 복호화 장치(100)로 전달될 수 있다.1, the image encoding apparatus 105 and the decoding apparatus 100 may be implemented as a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP) Player, a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV, a server terminal such as an application server and a service server, A communication device such as a communication modem for performing communication with a wired / wireless communication network, a memory (memories 120 and 125) for storing various programs for inter or intra prediction for encoding or decoding an image and memories (memories 120 and 125) And a processor (processor, 110, 115) for controlling the processor. The video encoded by the video encoding apparatus 105 can be transmitted through a wired or wireless communication network such as the Internet, a short-range wireless communication network, a wireless network, a WiBro network, or a mobile communication network in real time or non- And then transmitted to the image decoding apparatus 100 through various communication interfaces such as a serial bus (USB: Universal Serial Bus), etc., decoded by the image decoding apparatus 100, and restored and reproduced as an image. In addition, the image encoded by the image encoding apparatus 105 as a bit stream can be transferred from the image encoding apparatus 105 to the image decoding apparatus 100 via a computer-readable recording medium.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
본 실시예에 따른 영상 부호화 장치(20)는, 도 2에 나타낸 바와 같이, 예측부(200), 감산부(205), 변환부(210), 양자화부(215), 역양자화부(220), 역변환부(225), 가산부(230), 필터부(235), 부호화 픽쳐 버퍼(240) 및 엔트로피 부호화부(245)를 포함할 수 있다.2, the image encoding apparatus 20 according to the present embodiment includes a predictor 200, a subtractor 205, a transformer 210, a quantizer 215, an inverse quantizer 220, An inverse transform unit 225, an adder 230, a filter unit 235, an encoding picture buffer 240, and an entropy encoding unit 245.
예측부(200)는 화면내 예측을 수행하는 화면내 예측부와 화면간 예측을 수행하는 화면간 예측부를 포함할 수 있다. 화면내 예측은 현재 블록의 인접한 블록의 화소를 이용하여 공간적인 예측을 수행하여 예측 블록을 생성할 수 있고, 화면간 예측은 참조 영상으로부터 현재 블록과 가장 매치가 되는 영역을 찾아 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 해당 단위(부호화 단위 또는 예측 단위)에 대해 화면내 예측 또는 화면간 예측 중 어떤 방식을 사용할 지에 대한 것을 결정하고, 각 예측 방법에 따른 구체적인 정보(예를 들어, 화면내 예측 모드, 움직임 벡터, 참조 영상 등)를 결정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 부/복호화 설정에 따라 정해질 수 있다. 예를 들어, 예측 방법, 예측 모드 등은 예측 단위로 결정되고, 예측의 수행은 변환 단위로 수행될 수 있다.The prediction unit 200 may include an intra prediction unit for performing intra prediction and an inter prediction unit for performing inter prediction. Intra prediction can generate a prediction block by performing spatial prediction using pixels of adjacent blocks of the current block. In inter-prediction, motion compensation is performed by searching an area that is most matched with the current block from the reference image A prediction block can be generated. (Intra prediction) mode, a motion vector, a motion vector, and the like) for the corresponding unit (coding unit or prediction unit) Video, etc.). At this time, the processing unit to be predicted, the prediction method, and the processing unit in which the concrete contents are determined can be determined according to the subdecryption setting. For example, the prediction method, the prediction mode, and the like are determined as a prediction unit, and the prediction can be performed in units of conversion.
화면내 예측부에서 예측 방향에 따라 사용하는 수평, 수직 모드 등과 같은 방향성 예측 모드와 참조 화소의 평균, 내삽 등 방법을 사용하는 DC, Planar와 같은 비방향성 예측 모드를 가질 수 있다. 방향성 및 비방향성 모드를 통해 화면내 예측 모드 후보군을 구성할 수 있으며, 35개의 예측 모드(방향성 33개 + 비방향성 2개) 또는 67개의 예측 모드(방향성 65개 + 비방향성 2개), 131개의 예측 모드(방향성 129개 + 비방향성 2개) 등과 같은 다양한 후보 중 하나를 후보군으로 사용할 수 있다. Directional prediction mode such as horizontal and vertical modes used in the intra-picture prediction unit according to the prediction direction, and a non-directional prediction mode such as DC or Planar using the average, interpolation, etc. of reference pixels. (33 directional + 2 non-directional) or 67 prediction modes (65 directional + 2 non-directional), and 131 directional and non-directional modes. One of various candidates such as prediction mode (129 directional + 2 non-directional) can be used as a candidate group.
화면내 예측부는 참조 화소 구성부, 참조 화소 필터부, 참조 화소 보간부, 예측 모드 결정부, 예측 블록 생성부, 예측 모드 부호화부를 포함할 수 있다. 참조 화소 구성부는 현재 블록을 중심으로 이웃한 블록에 속하고 현재 블록과 인접한 화소를 화면내 예측을 위한 참조 화소로 구성할 수 있다. 부호화 설정에 따라 최인접한 하나의 참조 화소 라인을 참조 화소로 구성하거나 또는 그 외의 인접한 하나의 참조 화소 라인을 참조 화소로 구성할 수 있고, 복수의 참조 화소 라인을 참조 화소로 구성할 수 있다. 만약 참조 화소의 일부가 이용가능하지 않을 경우 이용가능한 참조 화소를 사용하여 참조 화소를 생성할 수 있고, 전부가 이용가능하지 않을 경우에는 기 설정된 값(예를 들어, 비트 심도에 의해 표현되는 화소값 범위의 중앙값 등)을 사용하여 참조 화소를 생성할 수 있다.The intra prediction unit may include a reference pixel unit, a reference pixel filter unit, a reference pixel interpolation unit, a prediction mode determination unit, a prediction block generation unit, and a prediction mode coding unit. The reference pixel unit may configure a pixel belonging to a block neighboring the current block and adjacent to the current block as reference pixels for intra-frame prediction. According to the encoding setting, the nearest neighbor reference pixel line may be constituted as a reference pixel, or one adjacent reference pixel line may be constituted as a reference pixel, and a plurality of reference pixel lines may be constituted by reference pixels. If a portion of the reference pixel is not available, a reference pixel may be generated using the available reference pixel, and if not all of the pixels are available, a predetermined value (e.g., a pixel value A median of a range, etc.) can be used to generate a reference pixel.
화면내 예측부의 참조 화소 필터부는 부호화 과정을 통해 남아있는 열화를 줄여주기 위한 목적으로 참조 화소에 필터링을 수행할 수 있다. 이때, 사용되는 필터는 3-tap 필터 [1/4, 1/2, 1/4], 5-tap 필터 [2/16, 3/16, 6/16, 3/16, 2/16] 등과 같은 저역 통과 필터(Low-pass Filter)일 수 있다. 부호화 정보(예를 들어, 블록의 크기, 형태, 예측 모드 등)에 따라 필터링의 적용 유무, 필터링 종류가 결정될 수 있다.The reference pixel filter unit of the intra prediction unit can perform filtering on the reference pixels for the purpose of reducing the remaining degradation through the encoding process. At this time, the filters used are 3-tap filters [1/4, 1/2, 1/4], 5-tap filters [2/16, 3/16, 6/16, 3/16, 2/16] And may be the same low-pass filter. The application of filtering and the type of filtering can be determined according to the encoding information (e.g., size, type, and prediction mode of the block).
화면내 예측부의 참조 화소 보간부는 예측 모드에 따라 참조 화소의 선형 보간 과정을 통해 소수 단위의 화소를 생성할 수 있으며, 부호화 정보에 따라 적용되는 보간 필터가 결정될 수 있다. 이때, 사용되는 보간 필터는 4-tap 큐빅(Cubic) 필터, 4-tap 가우시안(Gaussian) 필터, 6-tap 위너(Wiener) 필터, 8-tap 칼만(Kalman) 필터 등이 포함될 수 있다. 저역 통과 필터를 수행하는 과정과 별도로 보간이 수행되는 것이 일반적이지만 두 과정에 적용되는 필터를 하나로 통합하여 필터링 과정을 수행할 수도 있다. The reference pixel interpolator of the intra-frame prediction unit may generate a pixel of a decimal unit through a linear interpolation process of the reference pixel according to the prediction mode, and an interpolation filter to be applied may be determined according to the coding information. In this case, the interpolation filter used may include a 4-tap Cubic filter, a 4-tap Gaussian filter, a 6-tap Wiener filter, an 8-tap Kalman filter, and the like. Although interpolation is performed separately from the process of performing the low-pass filter, it is also possible to perform the filtering process by integrating the filters applied to the two processes.
화면내 예측부의 예측 모드 결정부는 부호화 비용을 고려하여 예측 모드 후보군 중 최적의 예측 모드를 선정할 수 있으며, 예측 블록 생성부는 해당 예측 모드를 사용하여 예측 블록을 생성할 수 있다. 예측 모드 부호화부에서 상기 최적의 예측 모드를 예측값에 기반하여 부호화할 수 있다. 이때, 예측값이 들어맞는 경우와 들어맞지 않는 경우에 따라 적응적으로 예측 정보를 부호화할 수 있다.The prediction mode decision unit of the intra prediction unit can select the optimum prediction mode among the prediction mode candidates considering the coding cost and the prediction block generating unit can generate the prediction block using the corresponding prediction mode. And the prediction mode encoding unit may encode the optimal prediction mode based on the prediction value. At this time, the prediction information can be adaptively encoded according to whether the predicted value is fit or not.
화면내 예측부에서 상기 예측값을 MPM(Most Probable Mode)이라고 하며 예측 모드 후보군에 속하는 전체 모드 중에서 일부 모드를 MPM 후보군으로 구성할 수 있다. MPM 후보군에는 기 설정된 예측 모드(예를 들어, DC, Planar, 수직, 수평, 대각선 모드 등) 또는 공간적으로 인접한 블록(예를 들어, 좌, 상, 좌상, 우상, 좌하 블록 등)의 예측 모드 등이 포함될 수 있다. 또한, MPM 후보군에 기 포함된 모드로부터 유도되는 모드(방향성 모드의 경우 +1, -1 등의 차이)를 MPM 후보군으로 구성할 수 있다.The predictive value may be referred to as MPM (Most Probable Mode) in the intra prediction unit and some modes among all the modes belonging to the prediction mode candidate group may be configured as the MPM candidate group. The MPM candidate group may include prediction modes of predetermined prediction modes (e.g., DC, Planar, vertical, horizontal, diagonal mode, etc.) or spatially adjacent blocks (e.g., left, top, left top, right top, May be included. In addition, a mode derived from a mode included in the MPM candidate group (a difference of +1 or -1 in the directional mode) can be configured as an MPM candidate group.
MPM 후보군 구성을 위한 예측 모드의 우선 순위가 존재할 수 있다. 상기 우선 순위에 따라 MPM 후보군에 포함되는 순서가 정해질 수 있으며, 상기 우선 순위에 따라 MPM 후보군의 개수(예측 모드 후보군 개수에 따라 정해짐)만큼 채워지면 MPM 후보군 구성을 완료할 수 있다. 이때, 공간적으로 인접한 블록의 예측 모드, 기 설정된 예측 모드, MPM 후보군에 먼저 포함된 예측 모드로부터 유도되는 모드 순서로 우선 순위가 정해질 수 있으나, 그 외의 변형 또한 가능하다.There may be a priority of the prediction mode for MPM candidate configuration. According to the priority order, an order to be included in the MPM candidate group can be determined, and if the number of MPM candidate groups (determined according to the number of prediction mode candidate groups) is filled according to the priority, the MPM candidate group configuration can be completed. In this case, the priority order can be determined by the mode order derived from the prediction mode of the spatially adjacent block, the predetermined prediction mode, and the prediction mode included first in the MPM candidate group, but other modifications are also possible.
예를 들어, 공간적으로 인접한 블록 중에서는 좌 - 상 - 좌하 - 우상 - 좌상 블록 등의 순서로 후보군에 포함할 수 있고, 기 설정된 예측 모드 중에서는 DC - Planar - 수직 - 수평 모드 등의 순서로 후보군에 포함할 수 있고, 기 포함된 모드에서 +1, -1 등을 가산하여 획득된 모드를 후보군에 포함하여 총 6개의 모드를 후보군으로 구성할 수 있다. 또는, 좌 - 상 - DC - Planar - 좌하 - 우상 - 좌상 - (좌+1) - (좌-1) - (상+1) 등의 하나의 우선 순위로 후보군에 포함하여 총 7개의 모드를 후보군으로 구성할 수 있다.For example, spatially adjacent blocks may be included in the candidate group in the order of left-upper-lower-right-upper-left block, and DC-Planar-vertical-horizontal mode among predetermined prediction modes. , And the mode obtained by adding +1, -1, etc. in the included mode may be included in the candidate group, and a total of 6 modes may be configured as the candidate group. Or a left-upper-DC-Planar-lower left-upper right-upper left- (left +1) - (left -1) - (upper +1) .
상기 후보군 구성에는 유효성 검사가 수행될 수 있으며, 유효한 경우에는 후보군에 포함하고 유효하지 않는 경우에는 다음 후보로 넘어간다. 만약 이웃 블록이 픽쳐의 바깥에 위치하거나 또는 현재 블록과 다른 분할 단위에 속할 수 있거나 또는 해당 블록의 부호화 모드가 화면간 예측인 경우에는 유효하지 않을 수 있으며, 본 발명의 후술하는 참조 불가한 경우에도 유효하지 않을 수 있다. The validity check may be performed on the candidate group configuration. If valid, the candidate group is included in the candidate group, and if not valid, the next candidate is passed. If the neighboring block is located outside the picture or may belong to a different division unit from the current block, or if the coding mode of the block is inter-picture prediction, it may not be effective. It may not be valid.
상기 후보 중 공간적으로 인접한 블록의 경우 하나의 블록으로 구성될 수도 있지만, 여러 블록(서브 블록)으로 구성될 수도 있다. 그렇기 때문에 상기 후보군 구성의 (좌 - 상)과 같은 순서에서 좌 블록의 경우 어느 한 곳의 위치(예를 들어, 좌 블록의 맨 아래 블록)의 유효성 검사를 수행한 후 상 블록으로 순서가 넘어갈 수도 있거나 또는 여러 곳의 위치(예를 들어, 좌 블록의 맨 윗 블록부터 시작하여 아래 방향에 위치하는 하나 이상의 서브 블록)의 유효성 검사를 수행한 후에 상 블록으로 순서가 넘어갈 수도 있으며, 부호화 설정에 따라 정해질 수 있다. In the case of spatially adjacent blocks among the candidates, the block may be composed of one block, but it may be composed of several blocks (sub-blocks). Therefore, in the case of the left block in the order of (left-top) of the candidate group, after the validity check of any one of the positions (for example, the bottom block of the left block) (E.g., one or more sub-blocks starting from the top block of the left block and located in the downward direction) may be performed after the validity check has been performed, Can be determined.
화면간 예측부에서 움직임 예측 방법에 따라 이동 움직임 모델과 이동 외 움직임 모델로 구분할 수 있다. 이동 움직임 모델의 경우 평행 이동만을 고려하여 예측을 수행하고, 이동외 움직임 모델의 경우 평행 이동뿐만 아니라 회전, 원근, 줌 인/아웃(Zoom in/out) 등과 같은 움직임을 고려하여 예측을 수행할 수 있다. 단방향 예측을 가정할 때 이동 움직임 모델의 경우 하나의 움직임 벡터가 필요할 수 있지만, 이동 외 움직임 모델의 경우 하나 이상의 움직임 벡터가 필요할 수 있다. 이동 외 움직임 모델의 경우 각 움직임 벡터는 현재 블록의 좌상측 꼭지점, 우상측 꼭지점 등과 같이 현재 블록의 기 설정된 위치에 적용되는 정보일 수 있고, 해당 움직임 벡터를 통해 현재 블록의 예측하고자 하는 영역의 위치를 화소 단위 또는 서브 블록 단위로 획득할 수 있다. 화면간 예측부는 상기 움직임 모델에 따라 후술하는 일부 과정은 공통으로 적용될 수 있고 일부 과정은 개별적으로 적용될 수 있다.The inter-picture prediction unit can classify the moving motion model and the non-moving motion model according to the motion prediction method. In the case of the moving motion model, the prediction is performed considering only the parallel motion. In the case of the non-moving motion model, prediction can be performed considering the motion such as rotation, perspective, and zoom in / out as well as parallel movement have. Assuming unidirectional prediction, one motion vector may be needed for a moving model, but more than one for a non-moving model. In the case of the out-of-motion model, each motion vector may be information applied to a predetermined position of the current block, such as a left upper corner vertex and an upper right corner vertex of the current block. Can be obtained on a pixel-by-pixel or sub-block-by-sub-block basis. The inter-picture prediction unit may be applied in common to some of the processes described below according to the motion model, and some processes may be applied individually.
화면간 예측부는 참조 픽쳐 구성부, 움직임 추정부, 움직임 보상부, 움직임 정보 결정부, 움직임 정보 부호화부를 포함할 수 있다. 참조 픽쳐 구성부는 현재 픽쳐를 중심으로 이전 또는 이후에 부호화된 픽쳐를 참조 픽쳐 리스트(L0, L1)에 포함할 수 있다. 상기 참조 픽쳐 리스트에 포함된 참조 픽쳐로부터 예측 블록을 획득할 수 있으며, 부호화 설정에 따라 현재 영상 또한 참조 픽쳐로 구성되어 참조 픽쳐 리스트 중 적어도 한 곳에 포함될 수 있다.The inter picture prediction unit may include a reference picture construction unit, a motion estimation unit, a motion compensation unit, a motion information determination unit, and a motion information coding unit. The reference picture constructing unit may include the pictures coded before or after the current picture in the reference picture lists L0 and L1. The prediction block may be obtained from the reference picture included in the reference picture list. The current picture may also be composed of the reference picture and be included in at least one of the reference picture list according to the coding setting.
화면간 예측부에서 참조 픽쳐 구성부는 참조 픽쳐 보간부를 포함할 수 있으며, 보간 정밀도에 따라 소수 단위 화소를 위한 보간 과정을 수행할 수 있다. 예를 들어, 휘도 성분의 경우 8-tap DCT 기반의 보간 필터를 적용하고, 색차 성분의 경우 4-tap DCT 기반의 보간 필터를 적용할 수 있다.In the inter-picture prediction unit, the reference picture constructing unit may include a reference picture interpolating unit, and may perform an interpolation process for a decimal pixel according to the interpolation precision. For example, an 8-tap DCT-based interpolation filter may be applied for luminance components, and a 4-tap DCT-based interpolation filter may be applied for chrominance components.
화면간 예측부에서 움직임 추정부는 현재 블록과 상관성이 높은 블록을 참조 픽쳐를 통해 탐색하는 과정이며 FBMA(Full search-based block matching algorithm), TSS(Three step search) 등의 다양한 방법이 사용될 수 있고, 움직임 보상부는 움직임 추정 과정을 통해 예측 블록을 획득하는 과정을 의미한다.In the inter-picture prediction unit, the motion estimation unit may search for a block having a high correlation with the current block through a reference picture. Various methods such as a full search-based block matching algorithm (FBMA) and a three step search (TSS) The motion compensation unit refers to a process of acquiring a prediction block through a motion estimation process.
화면간 예측부에서 움직임 정보 결정부는 현재 블록의 최적의 움직임 정보를 선정하기 위한 과정이 수행될 수 있으며, 움직임 정보는 스킵 모드(Skip Mode), 병합 모드(Merge Mode), 경쟁 모드(Competition Mode) 등의 움직임 정보 부호화 모드에 의해 부호화될 수 있다. 상기 모드는 움직임 모델에 따라 지원되는 모드가 결합되어 구성될 수 있으며, 스킵 모드(이동), 스킵 모드(이동외), 병합 모드(이동), 병합 모드(이동외), 경쟁 모드(이동), 경쟁 모드(이동외)가 그에 대한 예가 될 수 있다. 부호화 설정에 따라 상기 모드 중 일부가 후보군에 포함될 수 있다.In the inter-picture prediction unit, the motion information determination unit may perform a process for selecting optimal motion information of the current block. The motion information may include a skip mode, a merge mode, a competition mode, The motion information encoding mode, and the like. The mode may be configured by combining the supported modes according to the motion model, and may include a skip mode, a skip mode, a merge mode, a merge mode, a competition mode, Competitive mode (non-movement) can be an example of that. Depending on the encoding setting, some of the modes may be included in the candidate group.
상기 움직임 정보 부호화 모드는 적어도 하나의 후보 블록에서 현재 블록의 움직임 정보(움직임 벡터, 참조 픽쳐, 예측 방향 등)의 예측값을 획득할 수 있으며, 둘 이상의 후보 블록이 지원되는 경우에는 최적의 후보 선택 정보가 발생할 수 있다. 스킵 모드(잔차 신호 없음)와 병합 모드(잔차 신호 존재)는 상기 예측값을 그대로 현재 블록의 움직임 정보로 사용할 수 있고, 경쟁 모드는 현재 블록의 움직임 정보와 상기 예측값과의 차분치 정보가 발생할 수 있다.The motion information encoding mode can obtain a predicted value of motion information (a motion vector, a reference picture, a prediction direction, and the like) of the current block in at least one candidate block, and when two or more candidate blocks are supported, May occur. The skip mode (no residual signal) and the merging mode (residual signal present) can use the predicted value as motion information of the current block as it is, and the contention mode can generate differential value information between motion information of the current block and the predicted value .
현재 블록의 움직임 정보 예측값을 위한 후보군은 움직임 정보 부호화 모드에 따라 적응적이고 다양한 구성을 가질 수 있다. 현재 블록에 공간적으로 인접한 블록(예를 들어, 좌, 상, 좌상, 우상, 좌하 블록 등)의 움직임 정보가 후보군에 포함될 수 있고, 시간적으로 인접한 블록(예를 들어, 현재 블록과 대응 또는 상응하는 다른 영상 내 블록<중앙>을 포함하여 좌, 우, 상, 하, 좌상, 우상, 좌하, 우하 블록 등)의 움직임 정보가 후보군에 포함될 수 있으며, 공간적 후보와 시간적 후보의 혼합 움직임 정보(예를 들어, 공간적으로 인접한 블록의 움직임 정보와 시간적으로 인접한 블록의 움직임 정보를 통해 평균, 중앙값 등으로 획득되는 정보. 현재 블록 또는 현재 블록의 서브 블록 단위로 움직임 정보를 획득할 수 있음) 등이 후보군에 포함될 수 있다.The candidate group for the motion information predictive value of the current block may have adaptive and various configurations according to the motion information encoding mode. The motion information of blocks spatially adjacent to the current block (e.g., left, upper, left, upper right, lower left blocks, etc.) may be included in the candidate group and temporally adjacent blocks (for example, Motion information of left, right, upper, lower, upper left, upper right, lower left, and lower right blocks including other in-image blocks <center> can be included in the candidate group and mixed motion information of spatial candidates and temporal candidates For example, the motion information may be acquired in units of a current block or a sub-block of a current block, based on motion information of spatially adjacent blocks and motion information of temporally adjacent blocks) .
움직임 정보 예측값 후보군 구성을 위한 우선 순위가 존재할 수 있다. 상기 우선 순위에 따라 예측값 후보군 구성에 포함되는 순서가 정해질 수 있으며, 상기 우선 순위에 따라 후보군의 개수(움직임 정보 부호화 모드에 따라 정해짐)만큼 채워지면 후보군 구성을 완료할 수 있다. 이때, 공간적으로 인접한 블록의 움직임 정보, 시간적으로 인접한 블록의 움직임 정보, 공간적 후보와 시간적 후보의 혼합 움직임 정보 순서로 우선 순위가 정해질 수 있으나, 그 외의 변형 또한 가능하다.There may be a priority for constructing a motion information prediction value candidate group. The order included in the prediction value candidate group structure may be determined according to the priority order, and the candidate group structure may be completed if the number of candidate groups (determined according to the motion information coding mode) is filled in accordance with the priority order. In this case, motion information of spatially adjacent blocks, motion information of temporally adjacent blocks, and mixed motion information of spatial candidates and temporal candidates can be prioritized, but other modifications are also possible.
예를 들어, 공간적으로 인접한 블록 중에서는 좌 - 상 - 우상 - 좌하 - 좌상 블록 등의 순서로 후보군에 포함할 수 있고, 시간적으로 인접한 블록 중에서는 우하 - 중 - 우 - 하 블록 등의 순서로 후보군에 포함할 수 있다.For example, among the spatially adjacent blocks, the candidate blocks may be included in the order of the left-upper-right-upper-left-lower-left block, and the right-lower-left- .
상기 후보군 구성에는 유효성 검사가 수행될 수 있으며, 유효한 경우에는 후보군에 포함하고 유효하지 않은 경우에는 다음 후보로 넘어간다. 만약 이웃 블록이 픽쳐의 바깥에 위치하거나 또는 현재 블록과 다른 분할 단위에 속할 수 있거나 또는 해당 블록의 부호화 모드가 화면내 예측인 경우에는 유효하지 않을 수 있으며, 본 발명의 후술하는 참조 불가한 경우에도 유효하지 않을 수 있다.The validity check can be performed on the candidate group configuration. If valid, the candidate group is included in the candidate group, and if invalid, the next candidate is passed. If the neighboring block is located outside the picture or may belong to a different division unit from the current block, or if the coding mode of the block is an intra prediction, it may not be effective. It may not be valid.
상기 후보 중 공간적 또는 시간적으로 인접한 블록의 경우 하나의 블록으로 구성될 수도 있지만, 여러 블록(서브 블록)으로 구성될 수도 있다. 그렇기 때문에 상기 공간적 후보군 구성의 (좌 - 상)과 같은 순서에서 좌 블록의 경우 어느 한 곳의 위치(예를 들어, 좌 블록의 맨 아래 블록)의 유효성 검사를 수행한 후 상 블록으로 순서가 넘어갈 수도 있거나 또는 여러 곳의 위치(예를 들어, 좌 블록의 맨 윗 블록부터 시작하여 아래 방향에 위치하는 하나 이상의 서브 블록)의 유효성 검사를 수행한 후에 상 블록으로 순서가 넘어갈 수도 있다. 또한, 시간적 후보군 구성의 (중 - 우)와 같은 순서에서 중 블록의 경우 어느 한 곳의 위치(예를 들어, 중앙 블록이 4×4 구역으로 분할된 경우 <2,2>)의 유효성 검사를 수행한 후 우 블록으로 순서가 넘어갈 수 있거나 또는 여러 곳의 위치(예를 들어, 기 설정된 위치 블록<2,2>부터 시작하여 기 설정된 순서에 위치하는 <3,3>, <2,3> 등과 같은 하나 이상의 서브 블록)의 유효성 검사를 수행한 후에 하 블록으로 순서가 넘어갈 수도 있으며, 부호화 설정에 따라 정해질 수 있다. Among the candidates, the block may be composed of one block in the case of spatially or temporally adjacent blocks, but it may be composed of several blocks (sub-blocks). Therefore, in the case of the left block in the same order as the above (left-top) of the spatial candidate group, after the validity of the position of any one place (for example, the bottom block of the left block) is checked, Or it may be out of order to upper blocks after performing validation of several locations (e.g., one or more sub-blocks located in the downward direction starting from the top block of the left block). Also, in the case of a middle block in the same order as the temporal candidate group configuration (middle-right), validation of any one position (for example, when the central block is divided into 4 × 4 regions, 3 &gt;, &lt; 3 &gt;, &lt; 3 &gt;, &lt; 2 &gt;, &lt; 3 &gt; Block, etc.) may be performed after the validation of the sub-blocks is performed, and may be determined according to the encoding setting.
감산부(205)는 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성한다. 즉, 감산부(205)는 부호화하고자 하는 현재 블록의 각 화소의 화소값과 예측부를 통해 생성된 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔차 신호인 잔차 블록을 생성한다. Subtraction unit 205 subtracts the prediction block from the current block to generate a residual block. That is, the subtractor 205 calculates the difference between the pixel value of each pixel of the current block to be encoded and the predicted pixel value of each pixel of the predictive block generated through the predictor to generate a residual block, which is a residual signal of a block form .
변환부(210)는 잔차 블록을 주파수 영역으로 변환하여 잔차 블록의 각 화소값을 주파수 계수로 변환한다. 여기서, 변환부(210)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 변환(DCT Based Transform), 이산 사인 변환 기반의 변환(DST Based Transform), 카루넨 루베 변환 기반의 변환(KLT Based Transform) 등과 같은 공간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다. 변환은 1차원 변환 매트릭스에 의해 변환될 수 있다. 수평, 수직 단위로 각 변환 매트릭스가 적응적으로 사용될 수 있다. 예를 들어, 화면내 예측의 경우, 예측 모드가 수평일 경우에는 수직 방향으로는 DCT 기반의 변환 매트릭스가, 수평 방향으로는 DST 기반의 변환 매트릭스가 사용될 수도 있다. 수직일 경우에는 수평 방향으로는 DCT 기반의 변환 매트릭스가, 수직 방향으로는 DST 기반의 변환 매트릭스가 사용될 수 있다. The transform unit 210 transforms the residual block into a frequency domain and transforms each pixel value of the residual block into a frequency coefficient. Here, the transforming unit 210 transforms the transformed transformed transformed data into transformed transformed transform coefficients based on Hadamard Transform, DCT Based Transform, DST Based Transform, and KLT Based Transform Transform) can be transformed into a frequency domain by using various transformation techniques for transforming an image signal of a spatial axis into a frequency domain. The residual signal transformed into the frequency domain is a frequency coefficient. The transform can be transformed by a one-dimensional transform matrix. Each transformation matrix can be adaptively used in horizontal and vertical units. For example, in the case of intra prediction, if the prediction mode is horizontal, a DCT-based transformation matrix may be used in the vertical direction and a DST-based transformation matrix may be used in the horizontal direction. In the case of vertical, a DCT-based transformation matrix may be used in the horizontal direction and a DST-based transformation matrix may be used in the vertical direction.
양자화부(215)는 변환부(210)에 의해 주파수 영역으로 변환된 주파수 계수를 갖는 잔차 블록을 양자화한다. 여기서, 양자화부(215)는 변환된 잔차 블록을 데드존 균일 경계 양자화(Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 또는 이를 개량한 양자화 기법 등을 사용하여 양자화할 수 있다. 이는1개 이상의 양자화 기법을 후보로 둘 수 있으며 부호화 모드, 예측 모드 정보 등에 의해 결정될 수 있다. The quantization unit 215 quantizes the residual block having the frequency coefficients converted into the frequency domain by the transform unit 210. Here, the quantization unit 215 may quantize the transformed residual block using Dead Zone Uniform Threshold Quantization, a Quantization Weighted Matrix, or an improved quantization technique. It can be set to one or more quantization schemes as candidates and can be determined by encoding mode, prediction mode information, and the like.
엔트로피 부호화부(245)는 생성된 양자화 주파수 계수열을 다양한 스캔 방식에 따라 스캔하여 양자화 계수열을 생성하고, 이를 엔트로피 부호화 기법 등을 이용하여 부호화 함으로써 출력한다. 스캔 패턴은 지그재그, 대각선, 래스터(raster) 등 다양한 패턴들 중 하나로 설정할 수 있다. 또한, 각 구성부로부터 전달되는 부호화 정보를 포함하는 부호화 데이터를 생성하여 비트스트림으로 출력할 수 있다.The entropy encoding unit 245 scans the generated quantization frequency coefficient sequence according to various scanning methods to generate a quantization coefficient sequence, and outputs the quantization coefficient sequence using an entropy encoding technique or the like. The scan pattern can be set to one of various patterns such as zigzag, diagonal, and raster. Also, it is possible to generate encoded data including encoded information transmitted from each component and output the generated encoded data as a bit stream.
역양자화부(220)는 양자화부(215)에 의해 양자화된 잔차 블록을 역 양자화한다. 즉, 역양자화부(220)는 양자화 주파수 계수열을 역양자화하여 주파수 계수를 갖는 잔차 블록을 생성한다.The inverse quantization unit 220 inversely quantizes the residual block quantized by the quantization unit 215. That is, the dequantizer 220 dequantizes the quantized frequency coefficient sequence to generate a residual block having a frequency coefficient.
역변환부(225)는 역양자화부(220)에 의해 역양자화된 잔차 블록을 역변환한다. 즉, 역변환부(225)는 역양자화된 잔차 블록의 주파수 계수들을 역변환하여 화소값을 갖는 잔차 블록, 즉 복원된 잔차 블록을 생성한다. 여기서, 역변환부(225)는 변환부(210)에서 사용한 변환한 방식을 역으로 사용하여 역변환을 수행할 수 있다.The inverse transform unit 225 inversely transforms the inversely quantized residual block by the inverse quantization unit 220. That is, the inverse transform unit 225 inversely transforms the frequency coefficients of the inversely quantized residual block to generate a residual block having a pixel value, that is, a reconstructed residual block. Here, the inverse transform unit 225 may perform the inverse transform using the inverse transform used in the transform unit 210.
가산부(230)는 예측부(200)에서 예측된 예측 블록과 역변환부(225)에 의해 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록은 부호화 픽쳐 버퍼(240)에 참조 픽쳐(또는 참조 블록)로서 저장되어 현재 블록의 다음 블록이나 향후 다른 블록, 다른 픽쳐를 부호화할 때 참조 픽쳐로서 사용될 수 있다.The adder 230 restores the current block by adding the predicted block predicted by the predictor 200 and the residual block reconstructed by the inverse transform unit 225. [ The reconstructed current block is stored in the encoding picture buffer 240 as a reference picture (or a reference block), and can be used as a reference picture when coding a next block or another block or another picture in the current block.
필터부(235)는 디블록킹 필터, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 등의 하나 이상의 후처리 필터 과정을 포함할 수 있다. 디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. SAO는 디블록킹 필터가 적용된 잔차 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원할 수 있다. 이와 같은 후처리 필터는 복원된 픽쳐 또는 블록에 적용될 수 있다. The filter unit 235 may include one or more post-processing filter processes such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF). The deblocking filter can remove block distortion occurring at the boundary between the blocks in the reconstructed picture. The ALF can perform filtering based on a comparison between the reconstructed image and the original image after the block is filtered through the deblocking filter. The SAO can recover the offset difference from the original image on a pixel-by-pixel basis with respect to the residual block to which the deblocking filter is applied. Such a post-processing filter may be applied to the restored picture or block.
필터부에서 디블록킹 필터부는 블록 경계를 기준으로 양 블록에 포함된 몇 개의 열 또는 행에 포함된 화소를 기초로 적용할 수 있다. 상기 블록은 부호화 블록, 예측 블록, 변환 블록의 경계에 적용하는 것이 바람직할 수 있으며, 기 설정된 최소 크기(예를 들어, 8 x 8) 이상의 블록에 한할 수 있다. The deblocking filter unit in the filter unit can be applied based on pixels included in a few columns or rows included in both blocks based on the block boundary. The block may be applied to a boundary of an encoding block, a prediction block, and a transform block, and may be limited to blocks of a predetermined minimum size (for example, 8 x 8).
필터링 적용 여부는 블록 경계의 특성을 고려하여 필터링 적용 여부와 필터링 강도가 정해질 수 있으며, 강한 필터링, 중간 필터링, 약한 필터링 등의 후보 중 하나로 결정될 수 있다. 또한, 상기 블록 경계가 분할 단위의 경계에 해당하는 경우, 분할 단위의 경계에서의 인루르 필터 적용 여부 플래그에 따라 적용 여부가 결정되며, 본 발명의 후술하는 다양한 경우에 따라 적용 여부가 결정될 수도 있다.Whether or not the filtering is applied can be determined as one of strong candidates such as filtering, intermediate filtering, and weak filtering considering the characteristic of the block boundary and the filtering strength and the filtering strength. In addition, when the block boundary corresponds to the boundary of the division unit, it is determined whether or not to apply according to the in-lur filter application flag at the boundary of the division unit, and whether to apply or not may be determined according to various cases described later in the present invention .
필터부에서 SAO는 복원된 영상과 원본 영상 간의 차이값에 기반하여 적용할 수 있다. 오프셋의 종류로 에지 오프셋(Edge Offset), 밴드 오프셋(Band Offset)이 지원될 수 있으며, 영상 특성에 따라 상기 오프셋 중 하나가 선택되어 필터링이 수행될 수 있다. 또한, 상기 오프셋 관련 정보는 블록 단위로 부호화할 수 있으며, 이에 대한 예측값을 통해 부호화할 수도 있다. 이때, 예측값이 들어맞는 경우와 들어맞지 않는 경우에 따라 적응적으로 관련 정보를 부호화할 수 있다. 예측값은 인접한 블록(예를 들어, 좌, 상, 좌상, 우상 블록 등)의 오프셋 정보가 될 수 있으며, 어떤 블록의 오프셋 정보를 획득할 지에 대한 선택 정보가 발생할 수 있다.In the filter section, SAO can be applied based on the difference between the reconstructed image and the original image. Edge Offset and Band Offset may be supported as types of offsets, and filtering may be performed by selecting one of the offsets according to image characteristics. In addition, the offset-related information may be coded on a block-by-block basis, and may be encoded using a prediction value. At this time, the related information can be adaptively encoded according to whether the predicted value is fit or not. The prediction value may be offset information of an adjacent block (e.g., left, upper, upper left, upper right block, etc.), and selection information on which block offset information is to be obtained may occur.
상기 후보군 구성에는 유효성 검사가 수행될 수 있으며, 유효한 경우에는 후보군에 포함하고 유효하지 않는 경우에는 다음 후보로 넘어간다. 만약 이웃 블록이 픽쳐의 바깥에 위치하거나 또는 현재 블록과 다른 분할 단위에 속할 수 있으며, 본 발명의 후술하는 참조 불가능한 경우에도 유효하지 않을 수 있다.The validity check may be performed on the candidate group configuration. If valid, the candidate group is included in the candidate group, and if not valid, the next candidate is passed. If the neighboring block is located outside of the picture or belongs to a division unit different from the current block, it may not be valid even in the case of a non-referenceable case described later in the present invention.
부호화 픽쳐 버퍼(240)는 필터부(235)를 통해 복원된 블록 또는 픽쳐를 저장할 수 있다. 부호화 픽쳐 버퍼(240)에 저장된 복원 블록 또는 픽쳐는 화면내 예측 또는 화면간 예측을 수행하는 예측부(200)에 제공될 수 있다.The encoded picture buffer 240 may store a restored block or picture through the filter unit 235. [ The reconstruction block or picture stored in the encoding picture buffer 240 may be provided to the prediction unit 200 that performs intra-picture prediction or inter-picture prediction.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 구성도이다.3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
도 3을 참조하면, 영상 복호화 장치(30)는, 엔트로피 복호화부(305), 예측부(310), 역양자화부(315), 역변환부(320), 가감산기(325), 필터(330), 복호화 픽쳐 버퍼(335)를 포함하여 구성될 수 있다.3, the image decoding apparatus 30 includes an entropy decoding unit 305, a predicting unit 310, an inverse quantization unit 315, an inverse transform unit 320, an adder / subtracter 325, a filter 330, And a decoded picture buffer 335, as shown in Fig.
또한, 예측부(310)는 다시 화면내 예측 모듈 및 화면간 예측 모듈을 포함하여 구성될 수 있다.In addition, the prediction unit 310 may include an intra prediction module and an inter prediction module.
먼저, 영상 부호화 장치(20)로부터 전달된 영상 비트스트림이 수신되면, 엔트로피 복호화부(305)로 전달될 수 있다.First, when an image bitstream transmitted from the image encoding apparatus 20 is received, the image bitstream can be transmitted to the entropy decoding unit 305.
엔트로피 복호화부(305)는 비트스트림을 복호화하여 양자화된 계수들과 각 구성부로 전달되는 복호화 정보를 포함하는 복호화 데이터를 복호화할 수 있다.The entropy decoding unit 305 may decode the decoded data including the quantized coefficients and the decoded information to be transmitted to the constituent units by decoding the bit stream.
예측부(310)는 엔트로피 복호화부(305)로부터 전달된 데이터들에 기초하여 예측 블록을 생성할 수 있다. 이때, 복호화된 픽쳐 버퍼(335)에 저장된 참조 영상에 기초하여, 디폴트(default) 구성 기법을 이용한 참조 픽쳐 리스트를 구성할 수도 있다.The prediction unit 310 may generate a prediction block based on the data transmitted from the entropy decoding unit 305. [ At this time, based on the reference image stored in the decoded picture buffer 335, a reference picture list using a default construction technique may be constructed.
화면내 예측부는 참조 화소 구성부, 참조 화소 필터부, 참조 화소 보간부, 예측 블록 생성부, 예측 모드 복호화부를 포함할 수 있고, 화면간 예측부는 참조 픽쳐 구성부, 움직임 보상부, 움직임 정보 복호화부를 포함할 수 있으며, 일부는 부호화기와 동일한 과정을 수행하고 일부는 역으로 유도하는 과정을 수행할 수 있다.The intra-picture prediction unit may include a reference picture constituent unit, a reference pixel filter unit, a reference pixel interpreter unit, a predictive block generation unit, and a predictive mode decoding unit. The inter picture prediction unit may include a reference picture constructing unit, a motion compensating unit, And some of them can perform the same process as that of the encoder, and some of them can perform the process of inverse derivation.
역양자화부(315)는 비트스트림으로 제공되어 엔트로피 복호화부(305)에 의해 복호화된 양자화된 변환 계수들을 역양자화할 수 있다.The inverse quantization unit 315 is provided as a bitstream and can dequantize the quantized transform coefficients decoded by the entropy decoding unit 305. [
역변환부(320)는 역 DCT, 역 정수 변환 또는 그와 유사한 개념의 역변환 기법들을 변환 계수에 적용하여 잔차 블록을 생성할 수 있다.The inverse transform unit 320 may apply inverse DCT, inverse integer transform, or similar inverse transformation techniques to the transform coefficients to generate residual blocks.
이때, 역양자화부(315), 역변환부(320)는 앞서 설명한 영상 부호화 장치(20)의 변환부(210) 및 양자화부(215)에서 수행한 과정을 역으로 수행하며 다양한 방법으로 구현될 수 있다. 예를 들어, 변환부(210) 및 양자화부(215)와 공유하는 동일한 과정 및 역변환을 사용할 수도 있고, 영상 부호화 장치(20)로부터 변환 및 양자화 과정에 관한 정보(예를 들면, 변환 크기, 변환 모양, 양자화 타입 등)를 이용하여 변환 및 양자화 과정을 역으로 수행할 수 있다.The inverse quantization unit 315 and the inverse transformation unit 320 inversely perform the processes performed by the transform unit 210 and the quantization unit 215 of the image encoding apparatus 20 described above and may be implemented in various ways have. For example, the same process and inverse transformation that are shared with the transform unit 210 and the quantization unit 215 may be used, and information on the transform and quantization process (for example, transform size, transform Shape, quantization type, etc.), the transformation and quantization processes can be performed inversely.
역양자화 및 역변환 과정을 거친 잔차 블록은 예측부(310)에 의해 도출된 예측 블록과 가산되어 복원된 영상 블록이 생성될 수 있다. 이러한 가산은 가감산기(325)에 의해 이루어 질 수 있다.The residual block subjected to the inverse quantization and inverse transform process may be added to the prediction block derived by the prediction unit 310 to generate a reconstructed image block. This addition may be performed by the adder / subtracter 325.
필터(330)는 복원된 영상 블록에 대하여, 필요에 따라 블로킹(blocking) 현상을 제거하기 위하여 디블로킹 필터를 적용할 수도 있고, 상기 복호화 과정 전 후에 다른 루프 필터들을 비디오 품질을 향상시키기 위해 추가로 사용할 수도 있다.The filter 330 may apply a deblocking filter to the reconstructed image block to remove a blocking phenomenon if necessary, and may further add other loop filters to improve the video quality before and after the decoding process. It can also be used.
복원 및 필터를 거친 영상 블록은 복호화 픽쳐 버퍼(335)에 저장될 수 있다.The reconstructed and filtered image block may be stored in the decoded picture buffer 335.
영상 복호화 장치(30)는 도면에는 도시하지 않았으나 분할부를 더 포함할 수 있으며, 이때 분할부는 픽쳐 분할부와 블록 분할부로 구성될 수 있다. 분할부에 대해서는 도 2에 따른 영상 부호화 장치에서와 동일 또는 상응하는 구성으로 통상의 기술자가 용이하게 이해할 수 있으므로 구체적인 설명은 생략한다.Although not shown in the figure, the image decoding apparatus 30 may further include a division unit, wherein the division unit may include a picture division unit and a block division unit. The division is the same as or equivalent to that of the image encoding apparatus according to FIG. 2, and can be easily understood by a person skilled in the art, so a detailed description will be omitted.
도 4a 내지 도 4d는 본 발명의 일 실시예에 따른 투영 포맷을 설명하기 위한 개념도이다.4A to 4D are conceptual diagrams illustrating a projection format according to an embodiment of the present invention.
도 4a는 360도 영상을 2차원 평면으로 투영시킨 ERP(Equi-Rectangular Projection) 포맷을 나타낸다. 도 4b는 360도 영상을 정육면체로 투영시킨 CMP(CubeMap Projection) 포맷을 나타낸다. 도 4c는 360도 영상을 8면체로 투영시킨 OHP(OctaHedron Projection) 포맷을 나타낸다. 도 4d는 360도 영상을 다면체로 투영시킨 ISP(IcoSahedral Projection) 포맷을 나타낸다. 다만, 이에 한정되지 않고 다양한 투영 포맷이 사용될 수 있다. 예를 들어, TSP(Truncated Square Pyramid Projection), SSP(Segmented Sphere Projection) 등도 사용될 수 있다. 도 4a 내지 도 4d의 왼쪽은 3차원 모델을, 오른쪽은 투영(projection) 과정을 통해 2차원 공간으로 변환된 예를 나타낸다. 2차원으로 투영된 도형은, 하나 이상의 표면(Face)으로 구성될 수 있으며, 각 표면은 원, 삼각형, 사각형 등의 형상을 가질 수 있다.4A shows an Equi-Rectangular Projection (ERP) format in which a 360-degree image is projected onto a two-dimensional plane. 4B shows a CMP (CubeMap Projection) format in which a 360-degree image is projected onto a cube. 4C shows an OHP (Octahedron Projection) format in which a 360-degree image is projected onto an octahedron. 4D shows an ISP (IsoSahedral Projection) format in which a 360-degree image is projected in a polyhedron. However, various projection formats can be used without being limited thereto. For example, Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection (SSP), and the like may be used. 4A to 4D show an example in which a three-dimensional model is transformed into a two-dimensional space through a projection process. A figure projected in two dimensions may be composed of one or more faces and each surface may have a shape such as a circle, a triangle, or a square.
도 4a 내지 도 4d와 같이 투영 포맷은 하나의 표면(예를 들어, ERP)을 가지거나 복수의 표면(예를 들어, CMP, OHP, ISP 등)을 가질 수 있다. 또한, 각 표면이 사각형과 삼각형 등의 형태로 구분될 수 있다. 상기 구분은 투영 포맷에 따른 부/복호화 설정을 달리 두는 경우에 적용될 수 있는 본 발명에서의 영상의 종류, 특성 등의 일 예일 수 있다. 예를 들어, 영상의 종류는 360도 영상, 영상의 특성은 상기 구분(예를 들어, 각 투영 포맷, 하나의 표면 또는 복수의 표면인 투영 포맷, 표면이 사각형 또는 아닌 투영 포맷 등) 중 하나일 수 있다.4A-4D, the projection format can have one surface (e.g., ERP) or multiple surfaces (e.g., CMP, OHP, ISP, etc.). In addition, each surface can be divided into a square shape and a triangle shape. The classification may be one of the types, characteristics, and the like of the image according to the present invention that can be applied to the case where the setting of the sub-decode according to the projection format is different. For example, the type of image may be a 360 degree image, the characteristics of an image may be one of the above distinctions (e.g., each projection format, one surface or a plurality of surfaces, a projection format, .
2차원 평면 좌표계{예를 들어, (i,j)}는 2차원 투영 영상의 각 표면에 정의 될 수 있으며, 좌표계의 특성은 투영 포맷, 각 표면의 위치 등에 따라 다를 수 있다. ERP와 같은 경우 하나의 2차원 평면 좌표계, 그 외의 투영 포맷은 표면의 개수에 따라 복수의 2차원 평면 좌표계를 가질 수 있다. 이때, 좌표계는 (k,i,j)로 표현될 수 있는데, k는 각 표면의 인덱스 정보일 수 있다.A two-dimensional plane coordinate system {e.g., (i, j)} may be defined on each surface of the two-dimensional projection image, and the characteristics of the coordinate system may vary depending on the projection format, In the case of ERP, one two-dimensional plane coordinate system and other projection formats can have a plurality of two-dimensional plane coordinate systems according to the number of surfaces. At this time, the coordinate system can be expressed by (k, i, j), where k can be the index information of each surface.
본 발명에서는 설명의 편의를 위해 표면의 형태가 사각형인 경우를 중심으로 설명하고, 2차원으로 투영된 표면의 개수는 1개(예를 들어, Equirectangular Projection. 즉, 영상이 하나의 표면과 동일한 경우)부터 2개 이상(예를 들어, Cube Map Projection 등)일 수 있다.In the present invention, for convenience of explanation, the case where the shape of the surface is a rectangle is mainly described, and the number of the surfaces projected in two dimensions is one (for example, Equirectangular Projection, that is, ) To two or more (for example, Cube Map Projection, etc.).
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 표면 배치를 설명하기 위한 개념도이다.5A to 5C are conceptual diagrams for explaining the surface arrangement according to an embodiment of the present invention.
3차원 영상을 2차원으로 투영시킨 투영 포맷은, 그 표면의 배치를 결정하는 것이 필요하다. 이때, 표면의 배치는 3차원 공간에서의 영상 연속성을 유지하도록 배치할 수도 있고, 일부 인접한 표면 사이의 영상 연속성은 훼손하더라도 최대한 표면 사이의 간격을 밀접시켜 배치할 수도 있다. 또한, 표면을 배치할 때, 일부 표면은 일정한 각도(0, 90, 180, 270도 등)로 회전시켜 배치할 수 있다. In a projection format in which a three-dimensional image is projected two-dimensionally, it is necessary to determine the arrangement of its surface. At this time, the arrangement of the surfaces may be arranged so as to maintain continuity of images in the three-dimensional space, or may be disposed as closely as possible between the surfaces even if the image continuity between some adjacent surfaces is undermined. Further, when the surface is arranged, some surfaces can be arranged by rotating at a certain angle (0, 90, 180, 270 degrees, etc.).
도 5a를 참조하면, CMP 포맷에 대한 표면 배치(layout)의 예시를 확인할 수 있는데, 3차원 공간상의 영상 연속성을 유지하도록 배치하면, 왼쪽의 그림과 같이 가로로 네 개의 표면을 배치하고 상하로 하나의 표면을 배치한 4×3 배치(layout)를 사용할 수 있다. 또한, 오른쪽 그림과 같이, 일부 인접한 표면 사이에 영상 연속성을 훼손하더라도 2차원 평면에서 빈 공간이 없도록 표면을 배치시킨 3×2 배치(layout)를 사용할 수도 있다. Referring to FIG. 5A, an example of a surface layout for the CMP format is shown. When arranged to maintain image continuity in a three-dimensional space, four surfaces are arranged horizontally as shown in the left figure, A 4x3 layout in which the surfaces of the substrates are disposed can be used. Also, as shown in the right figure, a 3x2 layout in which surfaces are arranged so that there is no empty space in a two-dimensional plane can be used even if image continuity between some adjacent surfaces is impaired.
도 5b를 참조하면, OHP 포맷에 대한 표면 배치를 확인할 수 있는데, 3차원 공간상의 영상 연속성이 유지되도록 배치하면 상단의 그림과 같을 수 있다. 이때, 영상 연속성을 일부 훼손하더라도 투영된 2차원 평면에서 빈공간이 없도록 표면을 배치하면 하단의 그림과 같이 배치할 수도 있다.Referring to FIG. 5B, the surface arrangement for the OHP format can be confirmed. When the arrangement is maintained so as to maintain the image continuity in the three-dimensional space, the top view can be obtained. In this case, if the surface is arranged so that there is no empty space in the projected two-dimensional plane even if the image continuity is partially damaged, it can be arranged as shown in the lower figure.
도 5c를 참조하면, ISP 포맷에 대한 표면 배치를 확인할 수 있는데, 상단의 그림과 같이 3차원 공간상의 영상 연속성이 유지되도록 배치할 수도 있고, 하단의 그림과 같이 표면 사이에 빈 공간이 없도록 밀착시켜 배치시킬 수도 있다.Referring to FIG. 5C, the surface arrangement of the ISP format can be confirmed. As shown in the upper part of FIG. 5C, the image sequence in the three-dimensional space can be maintained or the surface can be closely contacted .
여기서 빈 공간이 없도록 표면을 밀착시켜 배치시키는 과정을 프레임 패킹(frame packing)으로 지칭할 수 있으며, 표면을 회전시켜 배치함으로써, 영상 연속성이 훼손되는 것을 최대한 줄일 수 있다. 이하에서, 상술한 표면 배치를 다른 표면 배치로 변경하는 것을 표면 재배치로 지칭한다.Here, the process of closely adhering the surfaces so that there is no empty space can be referred to as frame packing. By rotating the surface, it is possible to reduce the degradation of image continuity as much as possible. Hereinafter, changing the above-described surface arrangement to another surface arrangement is referred to as surface rearrangement.
이하에서 연속성이라는 용어는 3차원 공간에서 눈으로 보이는 장면의 연속성, 또는 2차원으로 투영된 공간에서 실제 영상 또는 장면의 연속성을 지칭하는 것으로 해석될 수 있다. 연속성이 존재한다는 것은 영역 간의 상관성이 높다고 표현할 수도 있다. 일반적인 2차원 영상에서 영역 간의 상관성은 높거나 낮을 수 있지만, 360도 영상은 공간적으로 인접하더라도 연속성이 존재하지 않는 영역이 있을 수 있다. 또한, 앞선 표면 배치 또는 재배치에 따라 공간적으로 인접하지 않지만 연속성이 존재하는 영역이 있을 수 있다.In the following, the term continuity can be interpreted to refer to the continuity of the visible scene in three-dimensional space, or the continuity of the actual image or scene in the two-dimensional space projected. The presence of continuity may be expressed as a high correlation between regions. In a typical two-dimensional image, the correlation between regions may be high or low, but a 360-degree image may have a region in which there is no continuity even though it is spatially adjacent. There may also be regions where there is continuity but not spatially contiguous due to prior surface placement or rearrangement.
부호화 성능을 개선시키기 위한 목적으로 표면의 재배치가 수행될 수 있다. 예를 들어, 영상 연속성이 있는 표면들이 서로 인접하게 배치되도록 표면의 재배치를 수행할 수 있다.Relocation of the surface can be performed for the purpose of improving the coding performance. For example, surface relocations can be performed so that surfaces with image continuity are disposed adjacent to each other.
이때, 표면 재배치는 반드시 표면 배치 후 재구성된다는 의미를 갖는 것이 아니라, 처음부터 특정한 표면 배치를 설정하는 과정으로도 이해될 수 있다. (360도 영상 부/복호화 과정의 region-wise packing에서 수행될 수 있음)In this case, the surface relocation does not necessarily mean that the surface is rearranged after the surface arrangement, but can be understood as a process of setting a specific surface arrangement from the beginning. (Which may be performed in region-wise packing in a 360 degree imaging / decoding process)
또한, 표면 배치 또는 재배치는 각 표면의 위치 변경(본 예에서 표면의 단순 이동. 영상의 좌측 상단에서 좌측 하단 또는 우측 하단과 같은 이동)뿐만 아니라 표면의 회전을 포함할 수 있다. 여기서 표면의 회전은, 표면의 회전이 없는 경우 0도, 오른쪽으로 45도, 왼쪽으로 90도 등으로 표현할 수 있으며, 360도를 k개(또는 2k 개)의 구간으로 분할(균등 또는 비균등)하고, 분할된 구간을 선택함으로써 회전 각도를 지칭할 수 있다. Also, surface placement or rearrangement may include rotation of the surface as well as repositioning of each surface (simple movement of the surface in this example, movement such as lower left or lower right in the upper left corner of the image). The rotation of the surface can be expressed as 0 degrees without surface rotation, 45 degrees to the right, 90 degrees to the left, etc., and splits 360 degrees into k (or 2k ) ), And by selecting a divided section, the rotation angle can be referred to.
부/복호화기는 미리 설정된 표면 배치 정보(표면의 형태, 표면의 수, 표면의 위치, 표면의 회전각도 등) 및/또는 표면 재배치 정보(각 표면의 위치 또는 이동시키는 각도, 이동방향 등을 지시하는 정보)에 따라 표면 배치(또는 재배치)를 수행할 수도 있다. 또한, 입력 영상에 따른 표면 배치 정보 및/또는 표면 재배치 정보를 부호화기가 생성하고, 복호화기가 이러한 정보들을 정보를 부호화기로부터 수신 및 복호화함으로써 표면 배치(또는 재배치)가 수행될 수도 있다.The subdecoder / decoder decides the surface layout information (the shape of the surface, the number of the surfaces, the position of the surface, the rotation angle of the surface, etc.) and / or the surface relocation information (indicating the position or movement angle of each surface, (Or rearrangement) according to the information (e.g., information). In addition, the encoder generates the surface layout information and / or the surface relocation information according to the input image, and the surface arrangement (or rearrangement) may be performed by the decoder receiving and decoding the information from the encoder.
이하에서 별도의 설명이 없이 표면을 지칭하는 경우, 도 5a에 따른 3Х2 배치(layout)을 전제로하며, 이때 각 표면을 지칭하는 번호는 좌측 상단부터 래스터 스캔 순서에 따라 0부터 5가 될 수 있다. In the following description, the surface is referred to as a 3X2 layout according to FIG. 5A. In this case, the number designating each surface may be 0 to 5 according to a raster scan order from the upper left corner .
이하에서 도 5a에 따른 표면 사이의 연속성을 전제로 설명할 경우. 별도의 설명이 없다면, 0번부터 2번까지의 표면들은 서로 연속성이 존재하고, 3번부터 5번까지의 표면들은 서로 연속성이 존재하고, 0번과 3번, 1번과 4번, 2번과 5번 표면은 연속성이 존재하지 않는 것으로 가정할 수 있다. 위의 표면 간의 연속성 존재 유무는 영상의 특성, 종류, 포맷 등의 설정을 통해 확인할 수 있다.Hereinafter, the continuity between the surfaces according to FIG. 5A is presupposed. Unless otherwise noted, surfaces 0 to 2 have continuity to each other, surfaces 3 to 5 have continuity to each other, and 0 and 3, 1, 4, 2 And surface 5 can be assumed to have no continuity. The presence or absence of continuity between the above surfaces can be confirmed by setting the characteristics, type, and format of the image.
360도 영상의 부/복호화 과정에 따르면, 부호화 장치는 입력 영상을 획득하고, 획득된 영상에 대한 전처리를 수행하고, 전처리된 영상에 대한 부호화를 수행하고, 부호화된 비트스트림을 복호화 장치로 전송할 수 있다. 여기서 전처리는 이미지 스티칭(image stiching), 3차원 영상을 2차원 평면으로의 투영(projection), 표면 배치 및 재배치(또는 region-wise packing으로 지칭될 수 있음) 등을 포함할 수 있다. 또한, 복호화 장치는 비트스트림을 수신하여, 수신된 비트스트림을 복호화하고, 복호화된 영상에 대한 후처리(이미지 렌더링 등)를 수행하여 출력 영상을 생성할 수 있다.According to the addition / decryption process of the 360-degree image, the encoding device acquires the input image, preprocesses the obtained image, encodes the preprocessed image, and transmits the encoded bitstream to the decryption device have. The preprocessing may include image stiching, projection of a three-dimensional image into a two-dimensional plane, surface placement and relocation (or may be referred to as region-wise packing), and the like. Also, the decoding apparatus may receive a bitstream, decode the received bitstream, and perform post-processing (image rendering, etc.) on the decoded image to generate an output image.
이때, 비트스트림에는 전처리 과정에서 발생하는 정보(SEI 메시지 또는 메타 데이터 등)와 부호화 과정에서 발생하는 정보(영상 부호화 데이터)가 수록되어 전송될 수 있다.At this time, information (SEI message or meta data) generated in the preprocessing process and information (video encoded data) generated in the encoding process can be recorded and transmitted in the bitstream.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 분할부를 설명하기 위한 예시도이다.6A and 6B are illustrations for explaining a partition according to an embodiment of the present invention.
도 2 또는 도 3에 따른 영상 부/복호화 장치는 분할부를 더 포함할 수 있으며, 분할부는 픽쳐 분할부와 블록 분할부로 구성될 수 있다. 픽쳐 분할부는 픽쳐를 적어도 하나의 처리 단위{예를 들어, 컬러 공간(YCbCr, RGB, XYZ 등), 서브 픽쳐, 슬라이스, 타일, 기본 부호화 단위(또는 최대 부호화 단위) 등}로 분할할 수 있고, 블록 분할부는 기본 부호화 단위를 적어도 하나의 처리 단위(예를 들어, 부호화, 예측, 변환, 양자화, 엔트로피, 인루프 필터 단위 등)로 분할할 수 있다.The image encoding / decoding apparatus according to FIG. 2 or 3 may further include a division unit, and the division unit may include a picture division unit and a block division unit. The picture dividing unit can divide the picture into at least one processing unit (e.g., color space (YCbCr, RGB, XYZ, etc.), subpicture, slice, tile, basic encoding unit (or maximum encoding unit) The block division unit may divide a basic encoding unit into at least one processing unit (e.g., encoding, prediction, conversion, quantization, entropy, in-loop filter unit, etc.).
기본 부호화 단위는 픽쳐를 가로 방향과 세로 방향으로 일정한 길이 간격으로 분할하여 획득될 수 있으며, 이는 서브 픽쳐, 타일, 슬라이스, 표면 등에도 적용되는 단위일 수 있다. 즉, 상기 단위는 기본 부호화 단위의 정수배로 구성될 수 있지만, 이에 한정되지 않는다. The basic coding unit can be obtained by dividing a picture into a horizontal interval and a vertical interval at a constant length interval, which can be a unit also applied to a sub picture, a tile, a slice, a surface, and the like. That is, the unit may be configured as an integral multiple of the basic encoding unit, but is not limited thereto.
예를 들어, 일부 분할 단위(본 예에서 타일, 서브 픽쳐 등)의 경우 기본 부호화 단위의 크기가 달리 적용될 수 있으며, 해당 분할 단위의 경우 개별적인 기본 부호화 단위의 크기를 가질 수 있다. 즉, 상기 분할 단위의 기본 부호화 단위는 픽쳐 단위의 기본 부호화 단위와 다른 분할 단위의 기본 부호화 단위와 동일하거나 다르게 설정될 수 있다.For example, in the case of some division units (tile, sub-picture, etc. in this example), the size of the basic encoding unit may be differently applied, and in the case of the corresponding division unit, the size of each basic encoding unit may be used. That is, the basic encoding unit of the division unit may be the same as or different from the basic encoding unit of the picture unit and the basic encoding unit of the different division unit.
본 발명에서 설명의 편의를 위해 기본 부호화 단위 및 그 외의 처리 단위(부호화, 예측, 변환 등)을 블록(Block)이라 지칭한다.For convenience of explanation, the basic encoding unit and other processing units (encoding, prediction, conversion, and the like) are referred to as a block in the present invention.
상기 블록의 크기 또는 형태는 가로, 세로의 길이가 2의 지수승(2n)으로 표현되는 N×N 정사각 형태(2n×2n. 256×256, 128×128, 64×64, 32×32, 16×16, 8×8, 4×4 등. n은 2~8 사이의 정수)이거나, M×N 직사각 형태(2m×2n)일 수 있다. 예를 들어, 해상도가 높은 8k UHD급 영상의 경우 256×256, 1080p HD급 영상의 경우 128×128, WVGA급 영상의 경우 16×16 등 크기로 입력 영상을 분할할 수 있다.Size or shape of the block is horizontal, N × the length of the vertical, which is represented by two of the exponential (2 n) N a square form (2n × 2n. 256 × 256 , 128 × 128, 64 × 64, 32 × 32, 16 × 16, 8 × 8, 4 × 4, etc., where n is an integer between 2 and 8), or an M × N rectangular shape (2 m × 2 n). For example, an input image can be divided into 256 × 256 for an 8 k UHD image having a high resolution, 128 × 128 for a 1080p HD image, and 16 × 16 for a WVGA image.
픽쳐를 적어도 하나의 슬라이스로 분할을 수행할 수 있다. 슬라이스의 경우 스캔 패턴에 따라 연속하는 적어도 하나의 블록들의 묶음으로 구성될 수 있다. 각 슬라이스는 적어도 하나의 슬라이스 세그먼트로 분할될 수 있으며, 각 슬라이스 세그먼트는 기본 부호화 단위로 분할될 수 있다.The picture can be divided into at least one slice. In the case of a slice, the slice may be formed of a bundle of at least one block that continues in accordance with a scan pattern. Each slice may be divided into at least one slice segment, and each slice segment may be divided into basic encoding units.
픽쳐는 적어도 하나의 서브 픽쳐 또는 타일로 분할될 수 있다. 서브 픽쳐 또는 타일은 사각형(직사각 또는 정사각)의 분할 형태를 가질 수 있으며, 기본 부호화 단위로 분할될 수 있다. 서브 픽쳐는 동일한 분할 형태(사각형)를 갖는다는 점에서 타일과 비슷하다. 단, 서브 픽쳐의 경우 타일과 달리 개별적인 부/복호화 설정을 갖는다는 점에서 타일과 구분될 수 있다. 즉, 타일은 부/복호화를 수행하기 위한 설정 정보를 상위 단위(예를 들어, 픽쳐 등)에서 할당받는 반면, 서브 픽쳐는 부/복호화를 수행하기 위한 적어도 하나의 설정 정보를 각 서브 픽쳐의 헤더 정보로부터 직접 획득할 수 있다. 즉, 서브 픽쳐와 달리 타일은 영상의 분할에 따라 획득되는 단위일 뿐, 데이터가 전송되는 단위{예를 들어, VCL(Video Coding Layer)의 기본 단위}가 아닐 수 있다.The picture may be divided into at least one sub-picture or tile. A subpicture or tile may have a rectangular (rectangular or square) subdivision shape and may be divided into basic encoding units. A subpicture is similar to a tile in that it has the same partition type (square). However, in the case of the sub picture, unlike the tile, it can be distinguished from the tile in that it has a separate sub-picture / decode setting. That is, the setting information for performing the sub-decoding is allocated to the tile in a higher unit (for example, a picture or the like), while the sub-picture has at least one setting information for performing sub- Can be obtained directly from the information. That is, unlike the sub picture, the tile is a unit obtained according to the division of the image, but may not be a unit (for example, a basic unit of VCL (Video Coding Layer)) in which data is transmitted.
또한, 타일의 경우 병렬 처리 관점에서 지원되는 분할 단위일 수 있고, 서브 픽쳐의 경우 개별적인 부/복호화 관점에서 지원되는 분할 단위일 수 있다. 상세하게는, 서브 픽쳐의 경우 서브 픽쳐 단위로 부/복호화 설정을 두는 것뿐만 아니라 부/복호화 여부가 결정될 수 있다는 것을 의미하며, 관심 영역을 중심으로 해당되는 서브 픽쳐를 구성하여 디스플레이가 가능한 것을 의미할 수 있고, 이에 대한 설정은 시퀀스, 픽쳐 등의 단위에서 정해질 수 있다.In addition, in the case of a tile, it may be a division unit supported in terms of parallel processing, and in the case of a sub picture, it may be a division unit supported in a separate subdecryption view. In detail, the sub-picture means that not only the sub-picture decode setting can be made for each sub-picture but also the sub-picture decode can be determined. It means that the sub-picture corresponding to the interested area can be constructed and displayed And the setting for this can be determined in units of a sequence, a picture, and the like.
상기 예에서 서브 픽쳐로 상위 단위에서 부/복호화 설정을 담고 타일 단위로 개별적인 부/복호화 설정을 두는 식의 변경도 가능할 수 있으며, 본 발명에서는 설명의 편의를 위해 타일이 개별적 설정 또는 상위 단위 의존적 설정이 모두 가능한 경우를 가정하여 설명한다.In the above example, it is also possible to change the expression for setting the sub-picture decoding setting in the upper unit and the setting for the individual sub-decoding setting in the tile unit for the sub-picture. In the present invention, for convenience of explanation, Are all possible.
픽쳐를 사각형 형태의 분할을 수행할 때 발생하는 분할 정보는 다양한 형태를 가질 수 있다.The division information generated when the picture is divided into a rectangular shape may have various shapes.
도 6a를 참조하면, 픽쳐를 일괄적으로 가로줄(b7)과 세로줄(이때는, b1과 b3, b2와 b4가 각각 하나의 분할선이 됨)로 분할하여 사각형 형태의 분할 단위를 획득할 수 있다. 예를 들어, 가로와 세로 방향 기준으로 각각 사각형의 개수 정보가 생성될 수 있다. 이때, 사각형이 균등 분할되는 경우라면 픽쳐의 가로와 세로를 가로줄과 세로줄의 개수로 각각 나누어 분할된 사각형의 가로, 세로 길이를 확인할 수 있으며, 사각형이 균등 분할되는 경우가 아니라면 사각형의 가로, 세로 길이를 지시하는 정보가 추가적으로 생성될 수 있다. 이때, 가로와 세로 길이는 하나의 화소 단위로 표현하거나, 복수의 화소 단위로 표현할 수 있다. 복수의 화소 단위로 표현하는 경우의 예를 들면, 기본 부호화 단위가 M×N의 크기이고, 사각형의 크기가 8M×4N인 경우, 가로와 세로 길이를 각각 8과 4(본 예에서 해당 분할 단위의 기본 부호화 단위가 M×N인 경우)로 표현할 수 있거나 16과 8(본 예에서 해당 분할 단위의 기본 부호화 단위가M/2×N/2인 경우)로 표현될 수도 있다.Referring to FIG. 6A, a rectangular unit may be obtained by dividing a picture into a horizontal line b7 and a vertical line (in this case, b1 and b3, and b2 and b4, respectively). For example, the number information of the rectangle may be generated based on the horizontal and vertical directions. In this case, if the rectangle is equally divided, the horizontal and vertical lengths of the divided rectangles can be identified by dividing the horizontal and vertical lengths of the picture into the number of horizontal lines and vertical lines, respectively. If the rectangles are not evenly divided, May be additionally generated. In this case, the horizontal and vertical lengths can be expressed in one pixel unit or in a plurality of pixel units. For example, when the basic encoding unit is M × N and the size of the rectangle is 8M × 4N, the horizontal and vertical lengths are 8 and 4 (in this example, (In the case where the basic encoding unit of the corresponding division unit is M / 2 x N / 2) in the present example.
한편, 도 6b를 참조하면, 도 6a와 달리 픽쳐를 개별적으로 분할을 수행하여 사각형 형태의 분할 단위를 획득하는 경우를 확인할 수 있다. 예를 들어, 영상 내 사각형의 개수 정보, 각 사각형의 가로와 세로 방향의 시작 위치 정보(도면 기호 z0 내지 z5에 의해 지시되는 위치로서, 픽쳐 내 x, y 좌표로 표현될 수 있음) 및 각 사각형의 가로와 세로 길이 정보가 생성될 수 있다. 이때, 시작 위치는 하나의 화소 단위 또는 복수의 화소 단위로 표현될 수 있고, 가로와 세로 길이 또한 하나의 화소 단위 또는 복수의 화소 단위로 표현될 수 있다.Meanwhile, referring to FIG. 6B, it can be seen that, unlike FIG. 6A, a divided unit of a rectangular shape is obtained by separately dividing a picture. For example, the information on the number of rectangles in the image, the starting position information of the respective rectangles in the horizontal and vertical directions (positions indicated by the drawing symbols z0 to z5, which can be expressed by x and y coordinates in the picture) The length and the length information of the frame can be generated. At this time, the start position may be represented by one pixel unit or a plurality of pixel units, and the horizontal and vertical lengths may also be expressed by one pixel unit or a plurality of pixel units.
도 6a는 타일 또는 서브 픽쳐의 분할 정보의 예일 수 있고, 도 6b는 서브 픽쳐의 분할 정보의 예일 수 있지만, 이에 한정되지 않는다. 이하에서는 설명의 편의를 위해 사각형 형태의 분할 단위로 타일을 가정하여 설명하지만, 타일 관련된 설명은 동일하거나 비슷하게 서브 픽쳐에도 적용될 수 있다(또한, 표면(face)에도 적용될 수 있다). 즉, 본 발명에서는 용어의 차이로 구분할 뿐 타일에 관한 설명이 서브 픽쳐의 정의로 사용되거나 서브 픽쳐에 관한 설명이 타일의 정의로 사용될 수 있다는 것을 의미한다.6A can be an example of division information of a tile or a sub picture, and FIG. 6B can be an example of division information of a sub picture, but it is not limited thereto. Hereinafter, for convenience of explanation, tiles are assumed to be a rectangular unit, but the tile-related description may be applied to the same or similar sub-picture (and also to the face). That is, in the present invention, the description of the tile is used as the definition of the sub-picture only, or the description of the sub-picture can be used as the definition of the tile.
앞서 언급된 분할 단위 중 일부는 반드시 포함되지 않을 수 있으며, 부/복호화 설정에 따라 전부 또는 일부가 선택적으로 포함될 수 있고, 그 외의 추가적인 단위(예를 들면 표면)가 지원될 수 있다.Some of the above-mentioned division units may not necessarily be included, and some or all of them may optionally be included depending on the subdecryption setting, and other additional units (for example, a surface) may be supported.
한편, 블록 분할부를 통해 다양한 크기의 부호화 단위(또는 블록)로 분할할 수 있다. 이때, 부호화 단위는 컬러 포맷에 따라 복수개의 부호화 블록으로 구성(예를 들어, 하나의 휘도 부호화 블록, 둘의 색차 부호화 블록 등)될 수 있다. 설명의 편의를 위해 하나의 컬러 성분 단위를 가정하여 설명한다. 부호화 블록은 M×M(예를 들어, M은 4, 8, 16, 32, 64, 128 등)과 같은 가변 크기를 가질 수 있다. 또는, 분할 방식(예를 들어, 트리 기반의 분할. 쿼드 트리 분할<Quad Tree. QT>, 바이너리 트리<Binary Tree. BT>, 터너리 트리<Ternary Tree. TT> 분할 등)에 따라 부호화 블록은 M×N(예를 들어, M과 N은 4, 8, 16, 32, 64, 128 등)과 같은 가변 크기를 가질 수 있다. 이때, 부호화 블록은 화면내 예측, 화면간 예측, 변환, 양자화, 엔트로피 부호화 등의 기초가 되는 단위일 수 있다. On the other hand, it can be divided into coding units (or blocks) of various sizes through the block dividing unit. At this time, the encoding unit may be composed of a plurality of encoding blocks (for example, one luminance encoding block, two color difference encoding blocks, etc.) according to the color format. For ease of explanation, one color component unit is assumed. The encoding block may have variable sizes such as MxM (e.g., M is 4, 8, 16, 32, 64, 128, etc.). Alternatively, according to a partitioning scheme (for example, tree-based partitioning, quadtree partitioning <Quad Tree. QT>, binary tree <Binary Tree. BT>, and a ternary tree <Ternary Tree. MxN (e.g., M and N may be variable sizes such as 4, 8, 16, 32, 64, 128, etc.). At this time, the encoded block may be a unit that is a basis for intra-picture prediction, inter-picture prediction, conversion, quantization, entropy coding, and the like.
본 발명에서는 분할 방식에 따라 동일한 크기 및 형태를 갖는 복수 개의 서브 블록(대칭)이 획득되는 가정 하에 설명하지만, 비대칭적인 서브 블록(예를 들어, 바이너리 트리의 경우 분할 블록 간의 가로 비율<세로는 동일>이 1:3 또는 3:1이거나 세로 비율<가로는 동일>이 1:3 또는 3:1 등. 터너리 트리의 경우 분할 블록 간의 가로 비율<세로는 동일>이 1:2:1 이거나 세로 비율<가로는 동일> 1:2:1 등)을 갖는 경우로의 적용 또한 가능할 수 있다. In the present invention, although it is described under the assumption that a plurality of sub-blocks (symmetries) having the same size and shape are obtained according to the division method, asymmetric sub-blocks (for example, in the case of a binary tree, > 1: 3 or 3: 1, or the aspect ratio <the same as horizontal> is 1: 3 or 3: 1. In the case of a ternary tree, the horizontal ratio < 1 < / RTI >: 1 < RTI ID = 0.0 > and the like).
부호화 블록(M×N)의 분할은 재귀적인 트리 기반의 구조를 가질 수 있다. 이때, 분할 여부는 분할 플래그를 통해 나타낼 수 있다. 예를 들어, 분할 깊이(Depth)가 k인 부호화 블록의 분할 플래그가 0인 경우 부호화 블록의 부호화는 분할 깊이가 k인 부호화 블록에서 수행되며, 분할 깊이가 k인 부호화 블록의 분할 플래그가 1인 경우 부호화 블록의 부호화는 분할 방식에 따라 분할 깊이가 k+1인 4개의 서브 부호화 블록(쿼드 트리 분할) 또는 2개의 서브 부호화 블록(바이너리 트리 분할) 또는 3개의 서브 부호화 블록(터너리 트리 분할)에서 수행된다. The division of an encoding block (MxN) may have a recursive tree-based structure. At this time, whether or not to divide can be indicated through the division flag. For example, when the division flag of the coding block having the division depth k is 0, the coding block is encoded in the coding block having the division depth k. If the division flag of the coding block having the division depth k is 1 The coding of the coded block may be performed by four sub-coded blocks (quad tree partition) or two sub-coded blocks (binary tree partition) or three sub-coded blocks (turntree partition) with a division depth k + Lt; / RTI &gt;
상기 서브 부호화 블록은 다시 부호화 블록(k+1)으로 설정되어 상기 과정을 거쳐 서브 부호화 블록(k+2)으로 분할될 수 있으며, 쿼드 트리 분할의 경우 분할 플래그(예를 들어, 분할 여부를 나타냄)가 지원될 수 있다.The sub-encoding block may be divided into a sub-encoding block (k + 2) through the process of setting the encoding block (k + 1) ) Can be supported.
바이너리 트리 분할의 경우 분할 플래그와 분할 방향 플래그(가로 또는 세로)가 지원될 수 있다. 만약 바이너리 트리 분할에서 하나 이상의 분할 비율(예를 들어, 가로 또는 세로 비율이 1:1 외의 추가 분할 비율. 즉, 비대칭 분할도 지원)을 지원하는 경우에는 분할 비율 플래그(예를 들어, 가로 또는 세로 비율 후보군<1:1, 1:2, 2:1, 1:3, 3:1> 중 하나의 비율 선택)가 지원될 수 있거나 다른 형태의 플래그(예를 들어, 대칭 분할 여부. 1이면 대칭 분할로 추가 정보는 없으며, 0이면 비대칭 분할로 비율에 관한 추가 정보가 필요)가 지원될 수 있다.For binary tree partitioning, split flags and split direction flags (horizontal or vertical) can be supported. If the binary tree partition supports one or more partition ratios (e.g., additional partition ratios other than 1: 1 in the horizontal or vertical ratios, i.e., support for asymmetric partitioning) A ratio of one of the ratio candidates <1: 1, 1: 2, 2: 1, 1: 3, 3: 1>) may be supported, or other types of flags (eg, There is no additional information as to the partition, and if 0, additional information on the ratio asymmetric partition is required) can be supported.
터너리 트리 분할의 경우 분할 플래그와 분할 방향 플래그가 지원될 수 있다. 만약 터너리 트리 분할에서 하나 이상의 분할 비율을 지원하는 경우에는 상기 바이너리 트리와 같은 추가 분할 정보가 필요할 수 있다.In the case of a ternary division, a split flag and a split direction flag can be supported. Additional partition information such as the binary tree may be needed if the ternary partition supports one or more partition ratios.
상기 예는 하나의 트리 분할만 유효한 경우에 발생하는 분할 정보이고, 복수의 트리 분할이 유효한 경우에는 다음과 같이 분할 정보가 구성될 수 있다.The above example is partition information that is generated when only one tree partition is valid, and in the case where a plurality of tree partition is effective, partition information can be configured as follows.
예를 들어, 복수의 트리 분할이 지원되는 경우에 기 설정된 분할 우선 순위가 존재할 경우 선 순위에 해당하는 분할 정보가 먼저 구성될 수 있다. 이때, 앞선 순위에 해당하는 분할 플래그가 참인 경우(분할 수행)에는 해당 분할 방식의 추가적인 분할 정보가 이어질 수 있으며, 거짓인 경우(분할 수행x)에는 후 순위에 해당하는 분할 방식의 분할 정보(분할 플래그, 분할 방향 플래그 등)로 구성될 수 있다.For example, in a case where a plurality of tree partitioning is supported, partition information corresponding to a line-up order may be configured first if there is a predetermined partitioning priority. If the division flag corresponding to the preceding rank is true (division is performed), additional division information of the division method may be continued. If the division flag is false (division execution x), division information of the division method Flag, split direction flag, etc.).
또는, 복수의 트리 분할이 지원되는 경우에 분할 방식에 대한 선택 정보가 추가로 발생할 수 있으며, 선택된 분할 방식에 따른 분할 정보로 구성될 수 있다.Alternatively, in the case where a plurality of tree segmentation is supported, selection information on the partitioning scheme may be additionally generated, and may be configured with partitioning information according to the selected partitioning scheme.
상기 일부 분할 플래그의 경우 선행하는 상위 또는 이전 분할 결과에 따라 생략가능할 수 있다.In the case of the partial flags, the flag may be omitted depending on the preceding or previous division result.
블록 분할은 최대 부호화 블록에서 시작하여 최소 부호화 블록까지 진행할 수 있다. 또는, 최소 분할 깊이(0)에서 시작하여 최대 분할 깊이까지 진행할 수 있다. 즉, 블록의 크기가 최소 부호화 블록 크기에 도달하거나 분할 깊이가 최대 분할 깊이에 도달할 때까지 재귀적으로 분할을 수행할 수 있다. 이때, 부/복호화 설정(예를 들어, 영상<슬라이스, 타일> 타입<I/P/B>, 부호화 모드<Intra/Inter>, 색차 성분<Y/Cb/Cr> 등)에 따라 최대 부호화 블록의 크기와 최소 부호화 블록의 크기, 최대 분할 깊이가 적응적으로 설정될 수 있다.The block division starts from the maximum encoding block and can proceed to the minimum encoding block. Alternatively, it may start at the minimum division depth (0) and proceed to the maximum division depth. That is, the partitioning can be performed recursively until the block size reaches the minimum coding block size or the division depth reaches the maximum division depth. At this time, in accordance with the sub / decoding setting (for example, image <slice, tile> type <I / P / B>, coding mode <Intra / Inter>, color difference component <Y / Cb / Cr> The size of the minimum coding block, and the maximum division depth can be adaptively set.
예를 들어, 최대 부호화 블록은 128×128일 때, 쿼드 트리 분할은 32×32 ~ 128×128 범위에서 수행될 수 있고, 바이너리 트리 분할은 16×16 ~ 64×64 범위와 최대 분할 깊이 3인 범위에서 수행될 수 있으며, 터너리 트리 분할은 8×8 ~ 32×32 범위와 최대 분할 깊이 3인 범위에서 수행될 수 있다. 또는, 쿼드 트리 분할은 8×8 ~ 128×128 범위에서 수행될 수 있고, 바이너리 트리와 터너리 트리 분할은 4×4 ~ 128×128 범위와 최대 분할 깊이 3인 경우에 수행될 수 있다. 전자의 경우 I 영상 타입(예를 들어, 슬라이스), 후자의 경우 P나 B 영상 타입에서의 설정일 수 있다. For example, when the maximum coded block is 128 x 128, quad tree partitioning can be performed in the range of 32 x 32 to 128 x 128, the binary tree partitioning can be performed in the range of 16 x 16 to 64 x 64, And the ternary division can be performed in the range of 8 x 8 to 32 x 32 and the maximum division depth of 3. Alternatively, the quadtree partitioning may be performed in the range of 8 x 8 to 128 x 128, and the binary tree and the turntree partitioning may be performed in the range of 4 x 4 to 128 x 128 and the maximum division depth of 3. In the former case, it may be an I picture type (for example, a slice), and in the latter case, a P or B picture type.
상기 예에서 설명된 것과 같이 최대 부호화 블록의 크기, 최소 부호화 블록의 크기, 최대 분할 깊이 등과 같은 분할 설정은 분할 방식과 전술한 부/복호화 설정에 따라 공통되거나 또는 개별적으로 지원될 수 있다.As described in the above example, the division setting such as the size of the maximum coding block, the size of the minimum coding block, the maximum division depth, and the like can be shared or individually supported according to the division method and the above setting / decoding setting.
복수의 분할 방식이 지원되는 경우 각 분할 방식의 블록 지원 범위 내에서 분할이 수행되며, 각 분할 방식의 블록 지원 범위가 겹치는 경우에는 분할 방식의 우선 순위가 존재할 수 있다. 예를 들어, 쿼드 트리 분할이 바이너리 트리 분할을 선행할 수 있다. If a plurality of partitioning schemes are supported, the partitioning is performed within the block support range of each partitioning scheme, and if the block support ranges of each partitioning scheme overlap, the priority of the partitioning scheme may exist. For example, a quadtree partition may precede a binary tree partition.
또는, 분할 지원 범위가 겹치는 경우 수행되는 분할 선택 정보가 발생할 수 있다. 예를 들어, 바이너리 트리와 터너리 트리 분할 중 수행되는 분할 방식에 대한 선택 정보가 발생할 수 있다.Or, the partition selection information to be executed when the partition support range overlaps can be generated. For example, selection information about the partitioning scheme performed during the binary tree and the ternary tree partitioning may occur.
또한, 복수의 분할 방식이 지원되는 경우 선행하는 분할의 결과에 따라 후행하는 분할의 수행 여부가 결정될 수 있다. 예를 들어, 선행하는 분할(본 예에서 쿼드 트리)의 결과가 분할을 수행함을 나타낼 경우 후행하는 분할(본 예에서 바이너리 트리 또는 터너리 트리)은 수행하지 않고 선행한 분할에 따라 분할된 서브 부호화 블록이 다시 부호화 블록으로 설정되어 분할을 수행할 수 있다. Also, if a plurality of division methods are supported, it may be determined whether or not to perform a following division according to the result of the preceding division. For example, if the result of the preceding partition (quad tree in this example) indicates that the partition is to be performed, then the subsequent partition (in this example, the binary tree or the tertiary tree) The block is set again as an encoding block so that the segmentation can be performed.
또는, 선행하는 분할의 결과가 분할을 수행하지 않음을 나타낼 경우 후행하는 분할의 결과에 따라 분할을 수행할 수 있다. 이때, 후행하는 분할(본 예에서 바이너리 트리 또는 터너리 트리)의 결과가 분할을 수행함을 나타낼 경우 분할된 서브 부호화 블록이 다시 부호화 블록으로 설정되어 분할을 수행할 수 있고, 후행하는 분할의 결과가 분할을 수행하지 않음을 나타낼 경우 더 이상의 분할은 수행하지 않는다. 이때, 후행하는 분할 결과가 분할을 수행함을 나타내고 분할된 서브 부호화 블록이 다시 부호화 블록으로 설정되었을 때의 상황도 복수의 분할 방식이 지원되는 경우(예를 들어, 각 분할 방식의 블록 지원 범위가 겹치는 경우)일 때, 선행하는 분할은 수행하지 않고 후행하는 분할만 지원할 수 있다. 즉, 복수의 분할 방식이 지원되는 경우에 선행하는 분할의 결과가 분할이 수행되지 않음을 나타낼 경우 더 이상 선행의 분할은 수행하지 않음을 의미한다.Alternatively, if the result of the preceding segmentation indicates that the segmentation is not performed, the segmentation may be performed according to the result of the succeeding segmentation. At this time, when the result of the succeeding division (the binary tree or the turntree tree in this example) indicates that the division is performed, the divided sub-coded blocks are set as encoding blocks again to perform division, and the result of the following division If it indicates that no partitioning is performed, no further partitioning is performed. At this time, when the division result of the succeeding division indicates that division is performed and the divided sub-encoding block is set again as the encoding block, when a plurality of division methods are supported (for example, Case), the preceding partition can not be performed but only the subsequent partition can be supported. That is, when a plurality of division methods are supported, if the result of the preceding division shows that the division is not performed, it means that the preceding division is no longer performed.
예를 들어, M × N부호화 블록은 쿼드 트리 분할과 바이너리 트리 분할이 가능할 경우 우선 쿼드 트리 분할 플래그를 확인할 수 있고, 상기 분할 플래그가 1인 경우에는 (M >> 1) × (N >> 1) 크기의 4개의 서브 부호화 블록으로 분할이 수행이 되고 상기 서브 부호화 블록은 다시 부호화 블록으로 설정되어 분할(쿼드 트리 분할 또는 바이너리 트리 분할)을 수행할 수 있다. 상기 분할 플래그가 0인 경우에는 바이너리 트리 분할 플래그를 확인할 수 있고, 해당 플래그가 1인 경우에는 (M >> 1) × N 또는 M × (N >> 1) 크기의 2 개의 서브 부호화 블록으로 분할이 수행되고 상기 서브 부호화 블록은 다시 부호화 블록으로 설정되어 분할(바이너리 트리 분할)을 수행할 수 있다. 상기 분할 플래그가 0인 경우에는 분할 과정을 종료하고 부호화를 진행한다.For example, if the quad tree partitioning and the binary tree partitioning are possible, the M × N encoded block can check the quad tree division flag first. If the division flag is 1, (M >> 1) × (N >> 1 ) Size sub-encoding block, and the sub-encoding block is set as an encoding block again to perform the segmentation (quad-tree segmentation or binary tree segmentation). If the division flag is 0, the binary tree division flag can be confirmed. If the flag is 1, the sub-encoding block is divided into two sub-coded blocks of size (M >> 1) × N or M × (N >> 1) Is performed and the sub-encoding block is set as an encoding block again to perform segmentation (binary tree segmentation). If the division flag is 0, the dividing process is terminated and the coding process proceeds.
상기 예를 통해 복수의 분할 방식이 수행되는 경우를 설명하였지만, 이에 한정되지 않고 다양한 분할 방식의 지원 조합이 가능할 수 있다. 예를 들어, 쿼드 트리/바이너리 트리/터너리 트리/쿼드 트리 + 바이너리 트리/쿼드 트리 + 바이너리 트리 + 터너리 트리 등의 분할 방식이 사용될 수 있다. 이때, 추가적인 분할 방식의 지원 여부에 대한 정보가 묵시적으로 결정되거나 명시적으로 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등의 단위에 포함될 수 있다.Although a case where a plurality of division methods are performed through the above example has been described, the present invention is not limited thereto, and various combinations of supporting methods can be possible. For example, a quadtree / binary tree / a ternary tree / a quadtree + a binary tree / a quadtree + a binary tree + a ternary tree may be used. At this time, information on whether or not the additional division method is supported may be implicitly determined or may be explicitly included in units of a sequence, a picture, a sub-picture, a slice, and a tile.
상기 예에서 부호화 블록의 크기 정보, 부호화 블록의 지원 범위, 최대 분할 깊이 등 분할에 관련된 정보는 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등의 단위에 포함되거나 묵시적으로 결정될 수 있다. 정리하면, 최대 부호화 블록의 크기, 지원되는 블록의 범위, 최대 분할 깊이 등에 의해 허용 가능한 블록의 범위가 정해질 수 있다.In the above example, the information related to the division such as the size information of the encoding block, the support range of the encoding block, and the maximum division depth may be included in the unit of the sequence, picture, sub picture, slice, tile or the like or implicitly determined. In summary, the range of allowable blocks can be determined by the size of the maximum coded block, the range of supported blocks, the maximum division depth, and the like.
상기 과정을 통해 분할이 수행되어 획득되는 부호화 블록은 화면내 예측 또는 화면간 예측의 최대 크기로 설정될 수 있다. 즉, 블록 분할이 끝난 부호화 블록은 화면내 예측 또는 화면간 예측을 위해 예측 블록의 분할의 시작 크기일 수 있다. 예를 들어, 부호화 블록이 2M×2N일 경우 예측 블록은 그보다 같거나 작은 2M×2N, M×N의 크기를 가질 수 있다. 또는, 2M×2N, 2M×N, M×2N, M×N의 크기를 가질 수 있다. 또는, 부호화 블록와 동일한 크기로 2M×2N의 크기를 가질 수 있다. 이때, 부호화 블록과 예측 블록이 동일한 크기를 갖는다는 것은 예측 블록의 분할을 수행하지 않고 부호화 블록의 분할을 통해 획득된 크기로 예측을 수행한다는 것을 의미할 수 있다. 즉, 예측 블록을 위한 분할 정보는 생성되지 않는다는 것을 의미한다. 이와 같은 설정은 변환 블록에도 적용될 수 있으며 분할된 부호화 블록 단위로 변환을 수행할 수도 있다. The coding block obtained by performing the division through the above process can be set to the maximum size of intra-picture prediction or inter-picture prediction. That is, the coded block after the block division may be the start size of the division of the prediction block for intra-picture prediction or inter-picture prediction. For example, if the coding block is 2M x 2N, the prediction block may have a size of 2M x 2N, M x N that is equal to or smaller than the prediction block. Alternatively, it may have a size of 2Mx2N, 2MxN, Mx2N, and MxN. Alternatively, it may have the same size as the encoding block and have a size of 2M x 2N. In this case, the fact that the encoding block and the prediction block have the same size may mean that the prediction is performed with the size acquired through the division of the encoding block without performing the division of the prediction block. That is, the partition information for the prediction block is not generated. Such a setting may be applied to a transform block, and the transform may be performed on a divided block basis.
다음과 같은 부/복호화 설정에 따라 다양한 구성이 가능할 수 있다. 예를 들어, (부호화 블록이 결정된 후) 부호화 블록에 기반하여 적어도 하나의 예측 블록과 적어도 하나의 변환 블록을 획득할 수 있다. 또는, 부호화 블록과 동일한 크기의 하나의 예측 블록을 획득할 수 있고, 부호화 블록에 기반하여 적어도 하나의 변환 블록을 획득할 수 있다. 또는, 부호화 블록과 동일한 크기의 하나의 예측 블록과 하나의 변환 블록을 획득할 수 있다. 상기 예에서 적어도 하나의 블록이 획득되는 경우는 각 블록의 분할 정보가 발생(생성)할 수 있고, 하나의 블록이 획득되는 경우는 각 블록의 분할 정보는 발생하지 않는다.Various configurations may be possible according to the following sub-decode settings. For example, at least one prediction block and at least one transform block may be obtained based on an encoding block (after the encoding block is determined). Alternatively, one prediction block having the same size as the encoding block can be obtained, and at least one transform block can be obtained based on the encoding block. Alternatively, one prediction block and one transform block having the same size as the encoding block can be obtained. In the above example, when at least one block is acquired, partition information of each block can be generated (generated), and when one block is acquired, partition information of each block does not occur.
상기 결과에 따라 획득되는 다양한 크기의 정사각 또는 직사각 형태의 블록이 화면내 예측, 화면간 예측에 사용되는 블록일 수 있고, 잔차 성분에 대한 변환, 양자화에 사용되는 블록일 수 있으며, 필터 과정에 사용되는 블록일 수 있다.The square or rectangular block of various sizes obtained according to the above result may be a block used for intra prediction or inter prediction, and may be a block used for transforming and quantizing residual components. Lt; / RTI &gt;
픽쳐 분할부를 통해 픽쳐를 분할하여 획득되는 분할 단위는 부/복호화 설정에 따라 독립적인 부/복호화 또는 의존적인 부/복호화를 수행할 수 있다.The division unit obtained by dividing the picture through the picture division unit can independently perform sub-decoding or dependent sub-decoding according to the sub-decoding setting.
독립적인 부/복호화는 일부 분할 단위(또는 영역)의 부/복호화를 수행할 때 다른 단위의 데이터를 참조할 수 없다는 것을 의미할 수 있다. 상세하게는, 일부 단위의 텍스쳐 부호화 및 엔트로피 부호화에서 이용되거나 생성되는 정보{예를 들어, 화소값이나 부/복호화 정보(화면내 예측 관련 정보, 화면간 예측 관련 정보, 엔트로피 부/복호화 관련 정보 등)}가 서로 참조되지 않고 독립적으로 부호화되며, 복호화기에서도 일부 단위의 텍스쳐 복호화 및 엔트로피 복호화를 위해 다른 단위의 파싱 정보 및 복원 정보는 서로 참조되지 않을 수 있다.Independent subtraction / decryption can mean that when performing subdecryption of some subdivision unit (or area), it can not refer to data of another unit. In detail, the information used or generated in some units of texture encoding and entropy encoding (e.g., pixel value, sub-decode information (intra-frame prediction related information, inter-frame prediction related information, entropy partial / )} Are independently referenced without reference to each other. In the decoder, parsing information and decompression information of other units may not be referred to each other for texture decoding and entropy decoding of a unit.
또한, 의존적인 부/복호화는 일부 단위의 부/복호화를 수행할 때 다른 단위의 데이터를 참조할 수 있다는 것을 의미할 수 있다. 상세하게는, 일부 단위의 텍스쳐 부호화 및 엔트로피 부호화에서 이용되거나 생성되는 정보가 서로 참조되어 의존적으로 부호화되며, 복호화기에서도 마찬가지로 일부 단위의 텍스쳐 복호화 및 엔트로피 복호화를 위해 다른 단위의 파싱 정보 및 복원 정보는 서로 참조될 수 있다.Dependent subdecryption may also mean that other units of data can be referenced when performing subdecryption of some units. In detail, the information used or generated in texture coding and entropy encoding of some units are referenced to each other and are coded in a dependent manner. In the decoder, parsing information and restoration information of other units are also used for texture decoding and entropy decoding in some units They can be referred to each other.
일반적으로 앞에서 언급되었던 분할 단위(예를 들어, 서브 픽쳐, 타일, 슬라이스 등)는 독립적인 부/복호화 설정을 따를 수 있다. 이것은 병렬화를 위한 목적으로서 참조 불가능하게 설정할 수 있다. 또한, 부/복호화 성능 향상을 위한 목적으로 참조 불가능하게 설정할 수 있다. 예를 들어, 360도 영상에서 3차원 공간에서 복수의 표면으로 분할되어 2차원 공간에 배치되었을 때 표면 배치 설정에 따라 인접한 표면과 상관성(예를 들면, 영상 연속성)이 떨어지는 경우가 발생할 수 있다. 즉, 표면 간의 상관성이 존재하지 않는 경우에는 서로 참조할 필요성이 낮기 때문에 독립적인 부/복호화 설정을 따를 수 있다.In general, the previously mentioned division units (e.g., sub-pictures, tiles, slices, etc.) may follow independent sub-decode settings. It can be set as not referable for parallelization purposes. Further, it can be set to be invisible for the purpose of improving the sub-decoding performance. For example, when a 360-degree image is divided into a plurality of surfaces in a three-dimensional space and placed in a two-dimensional space, a correlation (for example, image continuity) with the adjacent surfaces may be deteriorated depending on the surface arrangement. That is, when there is no correlation between the surfaces, the need to refer to each other is low, so that independent sub-decoding settings can be followed.
또한, 부/복호화 성능 향상을 위한 목적으로 분할 단위 간의 참조 가능한 설정을 둘 수 있다. 예를 들면, 360도 영상에서 표면 단위로 분할된 경우라 할 지라도 표면 배치 설정에 따라 인접한 표면과 상관성이 높은 경우가 발생할 수 있고, 이때는 의존적인 부/복호화 설정에 따를 수 있다.Further, for the purpose of improving the subdecryption performance, reference settings between division units can be set. For example, even if a 360-degree image is divided into surface units, there may be a case where the surface is highly correlated with the adjacent surface depending on the surface arrangement setting, and may depend on the dependent sub-decoding setting.
한편, 본 발명에서 독립적 또는 의존적 부/복호화는 공간 영역에 한하여 적용될 뿐만 아니라 시간 영역으로 확장되어 적용될 수 있다. 즉, 현재 분할 단위와 동일한 시간 내에 존재하는 다른 분할 단위와의 독립적 또는 의존적 부/복호화를 수행하는 것뿐만 아니라 현재 분할 단위와 다른 시간 내에 존재하는 분할 단위(본 예에서는 현재 분할 단위와 다른 시간에 대응되는 영상 내 동일 위치의 분할 단위가 존재하더라도 다른 분할 단위라고 가정)와의 독립적 또는 의존적 부/복호화를 수행하는 것이 가능할 수 있다.Meanwhile, in the present invention, independent or dependent subdivision decoding can be applied not only to the spatial domain but also to the time domain. That is, not only performing independent or dependent subtraction or decryption with other division units existing within the same time as the current division unit, but also performing division and division by using a division unit existing within a time different from the current division unit (in this example, It may be possible to perform independent or dependent subtraction / decryption from the assumption that even if there is a division unit at the same position in the corresponding image, it is different division unit).
예를 들어, 360도 영상을 높은 화질로 부호화한 데이터를 수록한 비트스트림 A와 보통 화질로 부호화한 데이터를 수록한 비트스트림 B를 동시에 전송할 때, 복호화기에서는 관심 영역(예를 들어, 사용자의 시선이 머무는 영역<뷰포트. Viewport> 또는 디스플레이 하고자 하는 영역 등)에 해당하는 영역은 높은 화질로 전송된 비트스트림 A를 파싱하여 복호화하고 관심 영역 외에는 보통 화질로 전송된 비트스트림 B를 파싱하여 복호화할 수 있다.For example, when a bitstream A containing data obtained by encoding a 360-degree image with a high image quality and a bitstream B containing data encoded by a normal image quality are simultaneously transmitted, the decoder may extract a region of interest (for example, A viewport, a viewport, or an area to be displayed) is obtained by parsing and decoding a bitstream A transmitted with a high image quality, and parsing and decoding the bitstream B transmitted in a normal image quality outside the ROI .
상세하게는, 영상을 복수의 단위(예를 들어, 서브 픽쳐, 타일, 슬라이스, 표면 등. 본 예에서 표면은 타일 또는 서브 픽쳐와 같은 방식으로 데이터 처리를 한다고 가정)로 분할한 경우에는, 관심 영역에 속하는 분할 단위(또는 뷰포트와 하나의 화소라도 겹치는 분할 단위)의 데이터(비트스트림 A)와 관심 영역 외에 속하는 분할 단위의 데이터(비트스트림 B)를 복호화할 수 있다.In detail, when the image is divided into a plurality of units (for example, a sub-picture, a tile, a slice, a surface, etc. in this example, the surface is assumed to process data in the same manner as a tile or a sub picture) (Bit stream A) of a division unit belonging to an area (or a division unit overlapping a view pixel with a pixel) and data (bit stream B) of a division unit belonging to a region other than the region of interest.
또는, 전체 영상을 부호화한 데이터를 수록한 비트스트림을 전송하고, 복호화기에서는 관심 영역을 비트스트림으로부터 파싱하여 복호화할 수 있다. 상세하게는, 관심 영역에 속하는 분할 단위의 데이터만을 복호화할 수 있다.Alternatively, a bitstream containing data obtained by encoding the entire image may be transmitted. In the decoder, the region of interest may be parsed from a bitstream and decoded. Specifically, only the data of the division unit belonging to the region of interest can be decoded.
정리하면, 하나 이상의 화질로 구분되는 비트스트림을 부호화기에서 생성하고, 이를 복호화기에서 특정 비트스트림만 복호화하여 전체 또는 일부 영상을 얻거나, 영상의 부분마다 각 비트스트림에서 선택적으로 복호화함으로써 전체 또는 일부 영상을 얻을 수도 있다. 상기 예에서 360도 영상의 경우를 예로 들었지만, 이는 일반 영상에서도 적용 가능한 설명일 수 있다.In summary, a bitstream that is divided into one or more image qualities is generated in an encoder, and a decoder decodes only a specific bitstream to obtain a whole or a partial image, or selectively decodes the bitstream in each bitstream for each portion of an image, You can also get an image. In the above example, the case of the 360-degree image is exemplified, but it may be a description applicable to the general image.
상기 예와 같이 부/복호화를 수행할 경우, 복호화기에서 어떤 데이터를 복원(본 예에서 관심 영역이 어디에 위치하는지 부호화기에서는 모름. 관심 영역에 따라 Random Access되는 상황)할 지 모르기 때문에 공간 영역뿐만 아니라 시간 영역에서의 참조 설정 등을 확인하여 부/복호화를 수행해야 한다.In the case of carrying out the subdecryption / decryption as described above, since the decoder may restore some data (in this example, where the interested area is located, the encoder may not know where it is located, and random access may be performed according to the interested area) The reference setting in the time domain, and the like, and perform subtraction / decryption.
예를 들어, 복호화기에서 단일 분할 단위로 어떤 복호화를 수행할 지가 결정되는 상황이라면 현재 분할 단위는 공간 영역에서 독립적 부호화를 수행하고 시간 영역에서 제한적인 의존적 부호화(예를 들어, 현재 분할 단위와 대응되는 다른 시간의 동일 위치 분할 단위만 참조 허용하고 그 외의 분할 단위는 참조 제한, 일반적인 경우에는 시간 영역에서의 제한이 없으므로 제한없는 의존적 부호화인 경우와 비교)를 수행할 수 있다.For example, if it is determined in a decoder that decoding is to be performed in a single division unit, the current division unit performs independent coding in the spatial domain and performs limited independent decoding in the time domain (for example, , And other division units are referred to as reference constraints, and in general, there is no restriction in the time domain, so that comparison with unlimited dependent coding can be performed).
또는, 복호화기에서 복수 분할 단위(가로로 인접한 분할 단위끼리 묶거나, 세로로 인접한 분할 단위끼리 묶어서 복수의 분할 단위를 얻을 수 있고, 가로와 세로로 인접한 분할 단위끼리 묶어 복수의 분할 단위를 얻을 수도 있음)로 어떤 복호화(예를 들어, 이 경우 분할 단위 중 하나라도 관심 영역에 속하는 경우 복수 단위 복호화)를 수행할 지가 결정되는 상황이라면 현재 분할 단위는 공간 영역에서 독립적 또는 의존적 부호화를 수행하고 시간 영역에서 제한적인 의존적 부호화(예를 들어, 현재 분할 단위와 대응되는 다른 시간의 동일 위치 분할 단위뿐만 아니라 그 외의 일부 분할 단위도 참조 허용)를 수행할 수 있다.Alternatively, the decoder may divide a plurality of division units (horizontally adjacent division units, or vertically adjacent division units to obtain a plurality of division units, and divide horizontal and vertical division units to obtain a plurality of division units , The current division unit performs independent or dependent coding in the spatial domain, and if it is determined to perform the decoding in the time domain (for example, in the case of one of the divided units, It is possible to perform limited dependent coding (for example, to allow not only the same position division unit at another time corresponding to the current division unit but also some other division unit).
본 발명에서 표면은, 일반적으로 투영 포맷에 따라 다른 배치와 형태를 갖고, 개별적인 부/복호화 설정을 갖지 못하는 등 전술한 다른 분할 단위와 다른 특성을 갖는 분할 단위이지만, 영상을 복수의 영역으로 구획한다는 측면(그리고 사각형 형태를 갖는 등)에서 픽쳐 분할부에서 획득되는 단위로 볼 수도 있다.In the present invention, the surface is generally a division unit having different arrangement and shape according to the projection format, and having different characteristics from the above-mentioned other division unit, such as having no separate partial / decryption setting, And may be viewed as a unit obtained in the picture division part on the side (and having a rectangular shape, etc.).
공간 영역의 경우 병렬화 등의 목적으로 분할 단위마다 독립적인 부/복호화를 수행할 수 있다는 것을 전술하였다. 다만, 독립적인 부/복호화는 다른 분할 단위를 참조할 수 없어 부/복호화 효율이 감소할 수 있는 문제가 있다. 따라서, 부/복호화가 수행되기 전 단계로서, 인접한 분할 단위의 데이터를 이용(또는 추가)하여 독립적 부/복호화가 수행되는 분할 단위를 확장시킬 수 있다. 여기서, 인접한 분할 단위의 데이터가 추가된 분할 단위는 참조할 수 있는 데이터가 증가하므로 부/복호화 효율이 증가할 수 있다. 이때, 확장된 분할 단위의 부/복호화는 인접 분할 단위의 데이터를 참조할 수 있다는 측면에서 의존적 부/복호화로도 볼 수 있다.In the case of the spatial domain, it has been described that independent decoding / decoding can be performed for each division unit for the purpose of parallelization or the like. However, there is a problem that the sub-decryption efficiency can be reduced because independent sub-decryption can not refer to another sub-unit. Therefore, as a step before the subdecryption is performed, it is possible to expand (or add) the data of the adjacent division unit to expand the division unit in which the independent division / decryption is performed. Here, the division unit to which the data of the adjacent division unit is added increases the data that can be referred to, so that the coding / decoding efficiency can be increased. At this time, the extension / division of the expanded division unit can also be regarded as dependence / decryption in that it can refer to the data of the adjacent division unit.
상기 분할 단위 간의 참조 설정에 관한 정보는 비디오, 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등의 단위로 비트스트림에 수록되어 복호화기로 전송될 수 있고, 복호화기에서는 동일 수준의 단위에서 파싱하여 부호화기에서 전송된 설정 정보를 복원할 수 있다. 또한, SEI(Supplement Enhancement Information) 또는 메타 데이터(Metadata) 등의 형태로 관련 정보를 비트스트림으로 전송하고 파싱하여 사용할 수 있다. 또한, 부/복호화기의 미리 약속된 정의에 따라 상기 정보의 전송 없이도 참조 설정에 따라 부/복호화를 수행할 수 있다.The information on the reference setting between the division units may be stored in a bit stream in units of video, sequence, picture, sub picture, slice, tile, etc., and transmitted to the decoder. In the decoder, The transmitted setting information can be restored. In addition, related information can be transmitted and parsed in the form of SEI (Supplement Enhancement Information) or Metadata in a bit stream. Also, according to a previously defined definition of the subdecoder, subdecryption can be performed according to the reference setting without transmitting the information.
도 7은 하나의 픽쳐를 복수의 타일로 분할한 예시도이다. 도 8a 내지 도 8i는 도 7에 따른 각각의 타일에 대하여 추가적인 영역을 설정하는 제1 예시도이다. 도 9a 내지 도 9i는 도 7에 따른 각각의 타일에 대하여 추가적인 영역을 설정하는 제2 예시도이다.Fig. 7 is an example of dividing one picture into a plurality of tiles. 8A to 8I are first exemplary views for setting an additional area for each tile according to FIG. Figs. 9A to 9I are second exemplary views for setting an additional area for each tile according to Fig. 7. Fig.
픽쳐 분할부를 통해 둘 이상의 분할 단위(또는 영역)로 영상이 분할되고 분할 단위마다 독립적으로 부/복호화가 수행된다면 병렬 처리 등의 장점이 있는 반면, 각 분할 단위가 참조할 수 있는 데이터가 줄어들어 부호화 성능이 저하되는 문제점이 발생할 수 있다. 이러한 문제점을 해결하기 위해 분할 단위(본 예에서는 타일을 기준으로 설명. 다른 단위에도 동일 또는 유사한 설정으로 적용 가능) 간의 의존적인 부/복호화 설정으로 처리할 수 있다.If an image is divided into two or more divided units (or regions) through a picture partitioning unit and the subdivided units are independently subdivided / decoded for each divided unit, there is an advantage such as parallel processing. On the other hand, There is a possibility that the performance is deteriorated. In order to solve this problem, it is possible to deal with a dependency setting / decryption setting between division units (description based on tiles in this example, which can be applied to the same or similar setting to other units).
분할 단위 간에 참조가 불가능하도록 독립적 부/복호화가 진행되는 것이 일반적이다. 따라서, 의존적 부/복호화을 위한 전처리 또는 후처리 과정이 수행될 수 있다. 예를 들어, 부/복호화를 수행하기 전에 각 분할 단위의 외곽에 확장된 영역을 두고, 확장된 영역에는 참조할 다른 분할 단위의 데이터를 채워넣을 수 있다.It is common that independent subdecryption is performed so that reference between divisions can not be made. Thus, a pre-processing or post-processing process for dependent decoding / decoding can be performed. For example, before performing the subdecryption, the expanded area may be located at the outer periphery of each division unit, and the expanded area may be filled with data of another division unit to be referred to.
이러한 방법은, 각 분할 단위를 확장하여 부/복호화를 수행한다는 것을 제외하고는 독립적인 부/복호화를 수행한다는 점에서는 차이가 없지만, 기존의 분할 단위가 참조할 데이터를 다른 분할 단위에서 미리 획득하여 참조하는 점에서 의존적 부/복호화의 일 예로 이해할 수 있다. In this method, there is no difference in that independent subdecoding is performed except that subdecryption is performed by extending each division unit. However, when data to be referred to by an existing division unit is acquired in advance in another division unit It can be understood as an example of dependency subdecryption in terms of reference.
또한, 부/복호화를 수행한 후에 분할 단위 사이 경계를 기준으로 복수의 분할 단위 데이터를 사용하여 필터링을 적용할 수 있다. 즉, 필터링을 적용하는 경우에는 다른 분할 단위 데이터를 사용하므로 의존적인 경우로, 필터링을 적용하지 않는 경우에는 독립적인 경우일 수 있다.In addition, after performing the subtraction / decryption, filtering can be applied using a plurality of divided unit data based on the boundary between the divided units. That is, when filtering is applied, it is dependent on the use of other divided unit data, and may be independent when filtering is not applied.
후술하는 예에서는 부/복호화 전처리 과정(본 예에서 확장)을 수행하여 의존적 부/복호화를 수행하는 경우를 중심으로 설명한다. 또한, 본 발명에서 동일한 분할 단위 사이의 경계를 내부 경계로 지칭하고, 픽쳐의 외곽을 외부 경계로 지칭할 수 있다. In the following example, a description will be given centering on the case where dependency sub-decoding is performed by performing a sub-decoding preprocessing process (expansion in this example). Further, in the present invention, the boundary between the same division unit may be referred to as an inner boundary, and the outer edge of the picture may be referred to as an outer boundary.
본 발명의 일 실시예에 따르면 현재 타일에 대한 추가적인 영역을 설정할 수 있다. 상세하게는, 적어도 하나의 타일(본 예에서 하나의 픽쳐가 하나의 타일로 구성되는 경우 포함. 즉, 둘 이상의 분할 단위로 분할되지 않은 경우도 포함. 정확하게는, 분할 단위는 둘 이상의 단위로 분할되었다는 것을 의미하지만 분할되지 않은 경우도 하나의 분할 단위로 인식한다고 가정)을 기준으로 추가적인 영역을 설정할 수 있다. According to an embodiment of the present invention, an additional area for the current tile can be set. More specifically, at least one tile (in this example, a case where one picture is composed of one tile, that is, a case where the picture is not divided into two or more division units, But it is assumed that it recognizes as a division unit even if it is not divided).
예를 들어, 현재 타일의 상/하/좌/우 등의 방향 중 적어도 하나의 방향에 추가적인 영역을 설정할 수 있다. 여기서 추가적인 영역은 임의의 값을 사용하여 채울 수 있다. 또한, 추가적인 영역은 현재 타일의 일부 데이터를 사용하여 채울 수 있는데, 현재 타일의 외곽 화소를 패딩하거나 현재 타일 내의 화소들을 복사하여 채울 수 있다.For example, an additional area can be set in at least one direction of the current direction of the tile, such as up / down / left / right. Where additional regions can be filled using arbitrary values. In addition, the additional area can be filled using some data of the current tile, which can be padded on the outer pixels of the current tile or copied by filling in the pixels in the current tile.
또한, 추가적인 영역은 현재 타일 이외의 다른 타일의 영상 데이터를 이용하여 채울 수 있다. 구체적으로, 현재 타일과 인접한 타일의 영상 데이터를 이용할 수 있는데, 현재 타일의 상/하/좌/우 중 특정 방향으로 인접한 타일의 영상 데이터를 복사하여 채울 수 있다. Further, the additional area can be filled using image data of tiles other than the current tile. Specifically, image data of a tile adjacent to a current tile can be used, and image data of adjacent tiles in a specific direction of the current tile can be copied and filled.
여기서 획득하는 영상 데이터의 크기(길이)는 각 방향에 공통되는 값을 가질 수 있거나 개별적인 값으로 가질 수 있으며, 부/복호화 설정에 따라 정해질 수 있다.Here, the size (length) of the image data to be acquired may have a value common to each direction or may have an individual value, and may be determined according to the subdecryption setting.
예를 들어, 도 6a에서 b0~b8의 경계 중 전부 또는 일부 경계 방향으로 확장이 가능할 수 있다. 그리고 분할 단위의 경계 방향 전부에서 m만큼 확장될 수 있거나 또는 경계 방향에 따라 mi(i는 각 방향 인덱스)만큼 확장될 수 있다. m 또는 mi는 영상의 모든 분할 단위에 적용될 수 있거나 또는 분할 단위에 따라 개별적으로 설정될 수 있다.For example, in FIG. 6A, all or some of the boundaries of b0 to b8 can be extended in the boundary direction. And may be extended by m in all boundary directions of the division unit or may be extended by m i (i is an index of each direction) along the boundary direction. The m or mi may be applied to all split units of the image or may be set individually according to the split unit.
여기서, 추가적인 영역에 관한 설정 정보가 생성될 수 있다. 이때 추가 영역에 대한 설정 정보는 추가적인 영역 지원 여부, 각 분할 단위마다 추가적인 영역 지원 여부, 영상 전체에서 추가적인 영역의 형태(예를 들어, 분할 단위의 상/하/좌/우 중 어떤 방향으로 확장을 할 것인지에 따라 결정. 본 예는 영상 내 모든 분할 단위에 공통 적용되는 설정 정보), 각 분할 단위에서 추가적인 영역의 형태(본 예는 영상 내 개별 분할 단위에 적용된느 설정 정보), 영상 전체에서 추가적인 영역의 크기(예를 들어, 추가적인 영역의 형태가 결정되면 확장되는 방향에 얼만큼 확장을 할 것인지를 의미. 본 예는 영상 내 모든 분할 단위에 공통 적용되는 설정 정보), 각 분할 단위에서 추가적인 영역의 크기(본 예는 영상 내 개별 분할 단위에 개별 적용되는 설정 정보), 영상 전체에서 추가적인 영역을 채우는 방법, 각 분할 단위에서 추가적인 영역을 채우는 방법 등일 수 있다.Here, the setting information on the additional area can be generated. In this case, the setting information of the additional area includes information such as whether the additional area is supported, whether or not the additional area is supported for each division unit, and the shape of the additional area (for example, upward / downward / left / (In this example, the setting information applied to the individual division unit in the image) in the divided unit, the additional information in the entire image (E.g., setting information that is commonly applied to all division units in an image), and a size of an additional area (for example, Size (in this example, setting information individually applied to individual division units in an image), a method of filling an additional region in the entire image, Gajeok how to fill a region, or the like.
상기 추가적인 영역 관련 설정은 컬러 포맷에 따라 비례하여 결정될 수 있거나, 독립적인 설정을 가질 수 있다. 휘도 성분에서의 추가적인 영역의 설정 정보가 생성될 수 있고, 색차 성분에서의 추가적인 영역의 설정은 컬러 포맷에 따라 묵시적으로 결정될 수 있다. 또는, 색차 성분에서의 추가적인 영역의 설정 정보가 생성될 수 있다.The additional area-related settings may be determined proportionally according to the color format, or may have independent settings. Additional area setting information in the luminance component can be generated and the setting of the additional area in the color difference component can be implicitly determined according to the color format. Or, setting information of an additional area in the color difference component can be generated.
예를 들어, 휘도 성분의 추가적인 영역의 크기가 m일 경우 색차 성분의 추가적인 영역의 크기가 컬러 포맷(본 예에서 4:2:0)에 따라 결정되면 m/2일 수 있다. 다른 예로, 휘도 성분의 추가적인 영역의 크기가 m이고 색차 성분은 독립적인 설정을 가질 경우 색차 성분의 추가적인 영역의 크기 정보(본 예에서 n. 공통으로 n이 사용되거나 방향 또는 확장 영역에 따라 n1, n2, n3 등이 가능)가 생성될 수 있다. 다른 예로, 휘도 성분의 추가적인 영역을 채우는 방법이 생성될 수 있고, 색차 성분의 추가적인 영역을 채우는 방법은 휘도 성분에서의 방법을 사용할 수 있거나 관련 정보가 생성될 수 있다.For example, if the size of the additional region of the luminance component is m, the size of the additional region of the chrominance component may be m / 2 if determined according to the color format (4: 2: 0 in this example). As another example, if the size of the additional region of the luminance component is m and the chrominance component has independent setting, the size information of the additional region of the chrominance component (in this example, n is commonly used, or n1, n2, n3, etc. are possible). As another example, a method of filling additional regions of a luminance component may be created, and a method of filling additional regions of a chrominance component may use a method in a luminance component or related information may be generated.
상기 추가적인 영역 설정과 관련된 정보는 비디오, 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스 등의 단위로 비트스트림에 수록되어 전송될 수 있고, 복호화시에 상기 단위로부터 관련 정보를 파싱하여 복원할 수 있다. 후술하는 실시예는 추가적인 영역 지원이 활성화되는 가정하에 설명을 한다.Information related to the additional area setting may be recorded in a bit stream in units of video, sequence, picture, sub picture, slice, and the like, and may be transmitted and decoded by parsing related information from the unit during decoding. The embodiments described below are explained on the assumption that additional area support is activated.
도 7을 참조하면, 하나의 픽쳐가 0 내지 8까지 표시된 각각의 타일로 분할된 것을 확인할 수 있다. 이때, 도 7에 따른 각 타일에 대해 본 발명의 일 실시예에 따른 추가 영역을 설정하면 도 8a 내지 도 8i과 같다. Referring to FIG. 7, it can be seen that one picture is divided into the respective tiles displayed from 0 to 8. 8A to 8I, the additional area according to an embodiment of the present invention is set for each tile according to FIG.
도 7 및 도 8a에서, 0번 타일(T0_W x TO_H의 크기)은 오른쪽으로 EO_R만큼, 아래쪽으로 EO_D만큼의 영역을 추가로 갖도록 확장될 수 있다. 이때, 추가적인 영역은 인접하는 타일에서 획득될 수 있다. 구체적으로 오른쪽 확장 영역은 1번 타일, 아래쪽 확장 영역은 3번 타일로부터 획득될 수 있다. 또한, 0번 타일은 오른쪽 아래로 인접한 타일(4번 타일)을 이용하여 추가적인 영역을 설정할 수 있다. 즉, 타일의 외부 경계(또는 픽쳐 경계)를 제외한 나머지 내부 경계(또는 동일 분할 단위 사이의 경계) 방향으로 추가 영역이 설정될 수 있다.7 and 8A, the tile 0 (size of T0_W x TO_H) can be extended to have an area of EO_R to the right and EO_D to the bottom. At this time, an additional area can be obtained in the adjacent tiles. Specifically, the right extension area can be obtained from the first tile, and the lower extension area can be obtained from the third tile. In addition, the 0th tile can be set to an additional area using the tile adjacent to the lower right (No. 4 tile). That is, the additional area may be set in the direction of the remaining inner boundary (or the boundary between the same division unit) excluding the outer boundary (or the picture boundary) of the tile.
도 7 및 도 8e에서, 4번 타일(T4_W x T4_H의 크기)은 외부 경계가 없으므로 왼쪽, 오른쪽, 위쪽, 아래쪽의 영역을 추가로 갖도록 확장될 수 있다. 이때 왼쪽 확장 영역은 3번 타일, 오른쪽 확장 영역은 5번 타일, 위쪽 확장 영역은 1번 타일, 아래쪽 확장 영역은 7번 타일에서 획득될 수 있다. 또한, 4번 타일은 왼쪽 위, 왼쪽 아래, 오른쪽 위, 오른쪽 아래로 추가적인 영역을 설정할 수 있다. 이때 왼쪽 위 확장 영역은 0번 타일, 왼쪽 아래 확장 영역은 6번 타일, 오른쪽 위 확장 영역은 2번 타일, 오른쪽 아래 확장 영역은 8번 타일에서 획득될 수 있다.In FIGS. 7 and 8E, the fourth tile (the size of T4_W x T4_H) can be extended so as to additionally have left, right, top, and bottom areas since there is no outer boundary. In this case, the left extension area can be obtained in 3 tiles, the right extension area in 5 tiles, the upper extension area in 1 tile, and the lower extension area in 7 tiles. In addition, the tile 4 can be set up in the upper left corner, the lower left corner, the upper right corner, and the lower right corner. In this case, the left upper extension area is 0 tile, the lower left extension area is 6 tile, the upper right extension area is 2 tile, and the lower right extension area is 8 tile.
도 8c에서 L2 블록은 원칙적으로는 타일 경계와 인접한 블록이므로 왼쪽, 왼쪽 위, 왼쪽 아래의 블록으로부터 참조할 수 있는 데이터가 없다. 그러나, 본 발명의 일 실시예에 따라 2번 타일에 대한 추가 영역을 설정한 경우, 추가 영역을 참조하여 L2 블록의 부/복호화가 수행될 수 있는 장점이 있다. 즉, L2블록은 좌, 좌상에 위치한 블록의 데이터를 추가 영역(1번 타일에서 획득된 영역일 수 있음)으로서 참조할 수 있고, 좌하에 위치한 블록의 데이터를 추가 영역(4번 타일에서 획득된 영역일 수 있음)으로 참조할 수 있다.In FIG. 8C, since the L2 block is in principle a block adjacent to the tile boundary, there is no data that can be referred to from the left, upper left, and lower left blocks. However, according to an embodiment of the present invention, when an additional area for the second tile is set, there is an advantage that the L2 block can be subdivided / decoded by referring to the additional area. That is, the L2 block can refer to the data of the block located at the left and upper left as an additional area (which may be an area obtained from the tile 1), and the data of the block located at the lower left can be referred to as an additional area Area). &Lt; / RTI &gt;
상기 실시예를 통해 추가적인 영역에 포함되는 데이터는 현재 타일에 포함되어 부/복호화가 수행될 수 있다. 이 경우, 추가적인 영역의 데이터는 타일 경계(본 예에서 추가적인 영역으로 인해 업데이트 또는 확장된 타일을 의미)에 위치하기 때문에 부호화 과정 중에 역시 참조할 데이터가 존재하지 않아 부호화 성능의 저하가 발생할 수 있지만, 이는 기존의 타일 경계 영역의 참조를 위해 추가되는 부분이기 때문에 부호화 성능을 높이기 위한 임시 메모리 형식으로 이해될 수 있다. 즉, 최종 출력되는 영상의 화질 성능 향상에 도움이 되고 결국 제거되는 영역이기 때문에 해당 영역의 부호화 성능 저하는 문제되지 않는다. 이는 후술하는 실시예에서도 비슷하거나 동일한 목적으로 적용될 수 있다.The data included in the additional area through the above embodiment can be included in the current tile and can be subdivided / decoded. In this case, since the data of the additional area is located in the tile boundary (in the present example, the tile is updated or extended due to the additional area), there is no data to be referred to during the coding process, This can be understood as a temporary memory format for enhancing the coding performance because it is added for reference of the existing tile boundary area. That is, it helps to improve the image quality of the final output image, and as a result, it is an area to be removed, so that the degradation of the coding performance of the area is not a problem. This can be applied to the same or similar purpose in the following embodiments.
한편, 도 9a 내지 도 9i를 참조하면, 360도 영상을 투영 포멧에 따른 표면 배치(또는 재배치) 과정을 통해 2차원 영상으로 변경하고, 2차원 영상을 분할한 각각의 타일(또는 표면일 수 있음)을 확인할 수 있다. 이때 360 도 영상이 Equirectangular라면, 2차원 영상은 하나의 표면으로 구성되므로 하나의 표면을 타일로 분할한 예시일 수 있다. 또한, 여기서 설명의 편의를 위해, 2차원 영상에 대한 타일 분할은 도 7에 따른 타일 분할과 동일한 것으로 전제한다.9A to 9I, a 360-degree image is converted into a two-dimensional image through a surface arrangement (or rearrangement) process according to a projection format, and each tile (or a surface) )can confirm. In this case, if the 360-degree image is equirectangular, the two-dimensional image is composed of one surface, and thus one surface may be divided into tiles. For the convenience of explanation, it is assumed that the tile division for the two-dimensional image is the same as the tile division according to FIG.
여기서 분할된 타일은 내부 경계로만 이루어진 타일과 적어도 하나의 외부 경계를 포함하는 타일로 구분될 수 있으며, 도 8a 내지 도 8i와 마찬가지로 각 타일마다 추가적인 영역을 설정할 수 있다. 그러나 2차원 영상으로 변환된 360도 영상은 2차원 영상에서 서로 인접하더라도 실제 영상의 연속성이 없을 수도 있고, 인접하지 않더라도 실제 영상의 연속성이 있을 수도 있다(도 5a 내지 도 5c에 대한 설명을 참조). 따라서, 타일의 일부 경계가 외부 경계일지라도, 타일의 외부 경계 영역과 연속성이 존재하는 영역이 픽쳐 내에 존재할 수 있다. 구체적으로, 도 9b를 참조하면, 1번 타일의 상단부는 픽쳐의 외부 경계에 해당되지만, 실제 영상의 연속성이 있는 영역이 동일한 픽쳐에 존재할 수 있으므로, 1번 타일의 상단으로 추가 영역을 설정하는 것도 가능할 수 있다. 즉, 도 8a 내지 도 8i와 달리 도 9a 내지 도 9i에서는 타일의 외부 경계 방향 중 전부 또는 일부에 대해서도 추가 영역이 설정될 수 있다.The divided tiles can be divided into a tile including only an inner boundary and a tile including at least one outer boundary, and an additional area can be set for each tile as in FIGS. 8A through 8I. However, the 360-degree image converted into the two-dimensional image may have no continuity of the actual image even if they are adjacent to each other in the two-dimensional image, or there may be continuity of the actual image even if they are not adjacent to each other (refer to the description of FIGS. 5A to 5C) . Thus, even though some of the boundaries of the tile are outer boundaries, regions in which there is continuity with the outer boundary region of the tile may be present in the picture. Specifically, referring to FIG. 9B, although the upper end of the tile # 1 corresponds to the outer boundary of the picture, the region having the continuity of the actual image may exist in the same picture. Therefore, It can be possible. That is, unlike Figs. 8A to 8I, in Figs. 9A to 9I, additional areas can be set for all or a part of the outer boundary direction of the tile.
도 9e를 참조하면, 4번 타일은 타일 경계가 내부 경계로만 이루어진 타일(본 예에서 4번 타일)이다. 따라서, 4번 타일에 대한 추가적인 영역은 상, 하, 좌, 우 방향 및 좌상, 좌하, 우상, 우하 방향 모두에 대하여 설정될 수 있다. 여기서 왼쪽 확장 영역은 3번 타일, 오른쪽 확장 영역은 5번 타일, 위쪽 확장 영역은 1번 타일, 아래쪽 확장 영역은 7번 타일로부터 획득된 영상 데이터일 수 있고, 왼쪽 위 확장 영역은 0번 타일, 왼쪽 아래 확장 영역은 6번 타일, 오른쪽 위 확장 영역은 2번 타일, 오른쪽 아래 확장 영역은 8번 타일로부터 획득된 영상 데이터일 수 있다.Referring to FIG. 9E, the fourth tile is a tile (tile 4 in this example) having only the inner boundary as the tile boundary. Therefore, the additional area for the fourth tile can be set for the upper, lower, left, right and upper left, lower left, upper right, and lower right directions. Here, the left extension area may be the image data obtained from the tile of 3 times, the right extension area may be the 5th tile, the upper extension area may be the 1 tile, the lower extension area may be the image data obtained from the 7th tile, The lower left extension area may be image data obtained from tile No. 6, the right upper extension area may be image data obtained from tile No. 2, and the right lower extension area may be image data obtained from tile No. 8.
도 9a를 참조하면, 0번 타일은 적어도 하나의 외부 경계(좌, 상 방향)를 갖는 타일에 해당한다. 따라서, 0번 타일은 공간적으로 인접한 우, 하, 우하 방향 뿐만 아니라, 외부 경계 방향(좌, 상, 좌상 방향)으로도 확장된 추가 영역을 가질 수 있다. 여기서 공간적으로 인접한 우, 하, 우하방향은 인접한 타일의 데이터를 이용하여 추가 영역이 설정될 수 있으나, 외부 경계 방향에 대한 추가 영역이 문제된다. 여기서 외부 경계 방향에 대한 추가 영역은 픽쳐 내에서의 공간적으로는 인접하지 않으나, 실질적인 영상에서 연속성이 있는 데이터를 이용하여 설정될 수 있다. 예를 들어, 360도 영상의 투영 포맷이 Equirectangular이고, 픽쳐의 좌 경계가 픽쳐의 우 경계와 실질적으로 영상의 연속성을 가지며, 픽쳐의 상 경계가 픽쳐의 하 경계와 실질적으로 영상의 연속성을 가진다면, 0번 타일의 좌 방향 경계는 2번 타일의 우측 경계와 연속성이 있고, 0번 타일의 상 방향 경계는 6번 타일의 하측 경계와 연속성을 가진다. 따라서, 0번 타일에서 왼쪽 확장 영역은 2번 타일, 오른쪽 확장 영역은 1번 타일, 위쪽 확장 영역은 6번 타일, 아래쪽 확장 영역은 3번 타일로부터 획득될 수 있다. 또한, 0번 타일에서 왼쪽 위 확장 영역은 8번 타일, 왼쪽 아래 확장 영역은 5번 타일, 오른쪽 위 확장 영역은 7번 타일, 오른쪽 아래 확장 영역은 4번 타일로부터 획득될 수 있다.Referring to FIG. 9A, tile No. 0 corresponds to a tile having at least one outer boundary (left, upward direction). Accordingly, the 0th tile may have an additional area extended not only in the right, lower, and lower right spatially adjacent directions but also in an outer boundary direction (left, upper, and upper left directions). Here, the additional area can be set using the data of adjacent tiles in the right, lower, and lower right directions spatially adjacent to each other, but an additional area for the outer boundary direction is a problem. Here, the additional region for the outer boundary direction is not spatially adjacent in the picture but can be set using data having continuity in the substantial image. For example, if the projection format of the 360-degree image is Equirectangular, the left boundary of the picture has substantially continuous image continuity with the right boundary of the picture, and the upper boundary of the picture has continuity of the image substantially with the lower boundary of the picture , The left boundary of tile 0 is continuous with the right boundary of tile 2, and the upper boundary of tile 0 has continuity with the lower boundary of tile 6. Therefore, in the tile 0, the left extension area can be obtained from the tile 2, the right extension area 1 from the tile, the upper extension area 6 from the tile, and the lower extension area from the tile 3. Also, in the tile 0, the upper left extension area can be obtained from the tile 8, the lower left extension area 5, the right upper extension area 7, and the lower right extension area 4 from the tile.
도 9a의 L0 블록은 타일 경계에 위치한 블록이므로 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위의 블록으로부터 참조할 수 있는 데이터(U0와 비슷한 상황)는 존재하지 않을 수 있다. 이때, 2차원 영상에서 공간적으로 인접하지는 않더라도, 실제 영상에서의 연속성을 가진 블록이 2차원 영상(또는 픽쳐) 내에서는 존재할 수 있다. 따라서, 앞선 전제와 같이 360도 영상의 투영 포맷이 Equirectangular이고, 픽쳐의 좌 경계가 픽쳐의 우 경계와 실질적으로 영상의 연속성을 가지며, 픽쳐의 상 경계가 픽쳐의 하 경계와 실질적으로 영상의 연속성을 가진다면, L0 블록의 왼쪽, 왼쪽 아래 블록은 2번 타일로부터 획득할 수 있고, L0 블록의 왼쪽 위 블록은 8번 타일로부터 획득할 수 있으며, L0 블록의 위쪽, 오른쪽 위 블록은 6번 타일로부터 획득할 수 있다. Since the L0 block in FIG. 9A is a block located at the boundary of a tile, there is no data (similar to U0) that can be referred to from the left, top left, bottom left, top, and top right blocks. At this time, a block having continuity in the real image may exist in the two-dimensional image (or picture) even if it is not spatially adjacent in the two-dimensional image. Therefore, if the projection format of the 360-degree image is Equirectangular, the left boundary of the picture has substantially continuity of the image with the right boundary of the picture, and the upper boundary of the picture is substantially the image continuity with the lower boundary of the picture The upper left block of the L0 block can be obtained from the 8th tile, the upper left block of the L0 block can be obtained from the 6th tile, Can be obtained.
아래 표 1은 추가적인 영역에 해당하는 데이터를 연속성이 있는 다른 영역으로부터 획득하는 수도(Pseudo) 코드이다.Table 1 below is a pseudo code that acquires data corresponding to an additional area from another area having continuity.
Figure PCTKR2018007520-appb-T000001
Figure PCTKR2018007520-appb-T000001
표 1의 수도 코드를 참조하면, overlap 함수의 매개변수 i_pos(변수 A에 대응)는 입력 화소 위치, i_pos'는 출력 화소 위치, minI(변수 B에 대응)는 화소 위치 범위의 최소값, maxI(변수 C에 대응)는 화소 위치 범위의 최대값, i는 위치 성분(본 예에서 가로, 세로 등)을 의미할 수 있으며, 본 예에서는 minI는 0, maxI는 Pic_width(픽쳐의 가로폭)-1 또는 Pic_height(픽쳐의 세로폭)-1 일 수 있다.I_pos' is the output pixel position, minI (corresponding to the variable B) is the minimum value of the pixel position range, maxI (corresponding to the variable B) C) may be the maximum value of the pixel position range and i may be a position component (horizontal, vertical, etc. in this example). In this example, minI is 0, maxI is Pic_width Pic_height (vertical width of picture) -1.
예를 들어, 픽쳐(일반적인 영상)의 세로 길이는 0 ~ 47의 범위를 가지고 픽쳐는 도 7과 같이 분할되었다고 가정한다. 타일 4의 아래쪽으로 추가적인 영역을 m만큼 두고 추가 영역을 타일 7의 상단부 데이터를 사용하여 채우고자 할 때 위의 수식을 통해 어느 위치에서 데이터를 획득할 지 확인할 수 있다.For example, it is assumed that the vertical length of the picture (general picture) has a range of 0 to 47, and the picture is divided as shown in FIG. When you want to fill the additional area with the top area of the tile 7 by placing the additional area to the bottom of the tile 4 by m, you can check where the data is to be obtained through the above equation.
타일 4의 세로 길이 범위는 16 ~ 30이고 아래쪽으로 4만큼 추가적인 영역을 둘 때 이에 해당하는 31, 32, 33, 34 위치의 데이터를 타일 4의 추가적인 영역에 채워넣을 수 있다. 이때 상기 수식에서 min과 max는 각각 0과 47이므로 31 ~ 34는 그대로 31 ~ 34 자기 자신의 값으로 출력 받는다. 즉, 추가적인 영역의 채워넣을 데이터는 31 ~ 34 위치의 데이터이다. Tile 4 has a vertical length range of 16 to 30, and when the additional area is set to the lower side by 4, data corresponding to 31, 32, 33 and 34 positions can be filled in the additional area of tile 4. In this case, since min and max are 0 and 47 in the above equations, 31 to 34 are output as their own values 31 to 34, respectively. That is, the data to be filled in the additional area is data at positions 31 to 34.
또는, 픽쳐(360도 영상. Equirectangular. 영상의 양 끝이 연속성을 가짐)의 가로 길이는 0 ~ 95의 범위를 가지고 픽쳐는 도 7과 같이 분할되었다고 가정한다. 타일 3의 왼쪽으로 추가적인 영역을 m만큼 두고 이를 타일 5의 오른쪽 데이터를 사용하여 채우고자 할 때 위의 수식을 통해 어느 위치에서 데이터를 획득할 지 확인할 수 있다.Alternatively, it is assumed that the horizontal length of a picture (360 degrees image, Equirectangular image has continuity at both ends) ranges from 0 to 95, and the picture is divided as shown in FIG. If you want to add an additional area to the left of tile 3 by m and fill it with the right data of tile 5, you can check where to acquire the data from the above formula.
타일 3의 가로 길이 범위는 0 ~ 31이고 왼쪽으로 4만큼 추가적인 영역을 둘 때 이에 해당하는 -4, -3, -2, -1 위치의 데이터를 타일 3의 추가적인 영역에 채워넣을 수 있다. 위의 위치는 픽쳐의 가로 길이 범위 내에 존재하지 않으므로 위의 수식을 통해 어느 위치에서 획득할 지 계산한다. 이때 상기 수식에서 min과 max는 각각 0과 95이므로, -4 ~ -1은 92 ~ 95로 출력 받는다. 즉, 추가적인 영역의 채워넣을 데이터는 92 ~ 95 위치의 데이터이다.The width of the tile 3 is 0 to 31, and when the additional area is set to 4 to the left, data corresponding to -4, -3, -2, -1 can be filled in the additional area of tile 3. Since the above position does not exist within the width of the picture, it is calculated from the above formula. Since min and max are 0 and 95 in the above equation, -4 to -1 are output as 92 to 95, respectively. That is, the data to be filled in the additional area is the data at positions 92 to 95.
상세하게는, 상기 m만큼의 영역이 360도부터 380도의 사이의 데이터(본 예에서 화소값 위치 범위가 0도부터 360도까지라 가정)일 경우 이를 영상 내부 범위로 조정하여 0도부터 20도 사이의 데이터라는 영역에서 획득하는 경우와 유사하게 이해할 수 있다. 즉, 이를 0부터 Pic_width - 1사이의 화소값 위치 범위를 기준으로 획득할 수 있다.Specifically, when the area of m is in the range of 360 to 380 degrees (assuming that the pixel value position range is 0 to 360 degrees), it is adjusted to 0 to 20 degrees As shown in FIG. That is, it can be obtained based on the pixel value position range between 0 and Pic_width - 1.
정리하면, 추가적인 영역의 데이터를 얻기 위해 오버래핑(Overlapping) 과정을 통해 획득하고자 하는 데이터의 위치를 확인할 수 있다.In summary, in order to obtain data of an additional area, it is possible to confirm the position of data to be acquired through an overlapping process.
상기 예에서 360도 영상의 경우 하나의 표면이 획득된 경우에 대한 설명으로, (픽쳐 경계는 양 끝으로 연속성을 갖는 것을 제외하면) 픽쳐 내에서 공간적으로 인접한 영역은 서로 연송성을 가지는 것으로 전제하였다. 그러나 투영 포맷(예를 들어, cube map 등)에 따라 둘 이상의 표면을 가지고, 각 표면이 배치 또는 재배치과정을 거친 경우, 픽쳐 내에서 공간적으로 인접하더라도 연속성이 없는 경우가 있을 수 있다. 이러한 경우에는 표면의 배치 또는 재배치 정보를 통해 실제 영상의 연속성을 가진 위치의 데이터를 확인하여 추가 영역을 생성할 수 있다.In the above example, assuming that one surface is obtained in the case of a 360-degree image, it is assumed that spatially adjacent areas in a picture (except for a picture boundary having continuity at both ends) . However, there may be cases in which there is more than one surface according to a projection format (e.g., a cube map, etc.), and if each surface has undergone a placement or rearrangement process, there is no continuity even if it is spatially adjacent in the picture. In this case, the additional area can be created by checking the data of the position having the continuity of the actual image through the arrangement or relocation information of the surface.
아래의 표 2는 특정 분할 단위의 내부 데이터를 이용하여 그 특정 분할 단위에 대한 추가적인 영역을 생성하는 수도 코드이다.Table 2 below is a numerical code that generates additional areas for the specific division unit using internal data of a specific division unit.
Figure PCTKR2018007520-appb-T000002
Figure PCTKR2018007520-appb-T000002
표 2에 따른 각 변수의 의미는 표 1과 같으므로 상세 설명은 생략한다. 단, 본 예에서 minI는 특정 분할 단위의 왼쪽 또는 위쪽, maxI는 각 단위의 오른쪽 또는 아래쪽 좌표일 수 있다.The meaning of each variable in Table 2 is the same as Table 1, and the detailed explanation is omitted. However, in this example, minI may be the left or upper side of a specific division unit, and maxI may be the right or lower coordinate of each unit.
예를 들어, 픽쳐는 도 7과 같이 분할되고 타일 2의 가로 길이는 32 ~ 47의 범위를 가지며 타일 2의 오른쪽으로 추가적인 영역을 m만큼 둘 때, 이에 해당하는 48, 49, 50, 51 위치의 데이터는 상기 수식을 통해 출력되는 47 위치(타일 2 내부에 해당)의 데이터로 채워질 수 있다. 즉, 표 2에 따르면, 특정 분할 단위에 대한 추가 영역은 해당 분할 단위의 외곽 화소를 복사함으로써 생성할 수 있다.For example, when the picture is divided as shown in FIG. 7 and the width of the tile 2 is in the range of 32 to 47 and the additional area is set to the right of the tile 2 by m, the corresponding 48, 49, The data may be filled with data at 47 locations (corresponding to the interior of tile 2) output via the above equations. That is, according to Table 2, the additional region for a specific division unit can be generated by copying the pixels outside the division unit.
정리하면, 추가적인 영역의 데이터를 얻기 위해 클리핑(Clipping) 과정을 통해 획득하고자 하는 위치를 확인할 수 있다.In summary, in order to obtain data of an additional area, a position to be acquired can be confirmed through a clipping process.
상기 표 1 또는 표 2에 따른 세부 구성은 고정적이지 않으며 변경될 수 있다. 예를 들어, 360도 영상의 경우 표면의 배치(또는 재배치) 및 표면 간의 좌표계 특성을 고려하여 바로 오버래핑을 변경하여 적용할 수도 있다.The detailed configuration according to Table 1 or Table 2 is not fixed and can be changed. For example, in the case of a 360-degree image, overlapping can be directly changed by considering the arrangement (or rearrangement) of the surface and the coordinate system characteristics between the surfaces.
도 10은 본 발명의 일 실시예에 따라 생성된 추가 영역을 다른 영역의 부/복호화 과정에서 활용하는 예시도이다.FIG. 10 is an exemplary diagram illustrating an additional area generated according to an embodiment of the present invention in a sub-decoding process of another area.
한편, 본 발명의 일 실시예에 따른 추가 영역은 다른 영역의 영상 데이터를 이용하여 생성되기 때문에, 중복된 영상 데이터에 해당할 수 있다. 따라서, 불필요한 중복 데이터의 유지를 방지하기 위해서 부/복호화가 수행된 후, 추가 영역을 제거할 수 있다. 다만, 여기서 추가 영역을 제거하기 전에, 추가 영역을 부/복호화에서 활용한 후 제거하는 것을 고려할 수 있다.Meanwhile, since the additional area according to the embodiment of the present invention is generated using the image data of the other area, the additional area may correspond to the overlapped image data. Therefore, after the subdecryption is performed to prevent the maintenance of unnecessary duplicate data, the additional area can be removed. However, before removing the additional area, it may be considered that the additional area is utilized after subtraction / decryption.
도 10을 참조하면, 분할 단위 I의 A영역을 이용하여 분할 단위 J의 추가 영역인 B가 생성된 것을 확인할 수 있다. 이때, 생성된 영역 B를 제거하기 전에 분할 단위 I에 포함된 A 영역의 부/복호화(상세하게는 복원 또는 보정 과정)에 영역 B를 활용할 수 있다.Referring to FIG. 10, it can be seen that B, which is an additional region of the division unit J, is generated by using the A region of the division unit I. FIG. At this time, the region B can be utilized in the subdivision / decoding (specifically, the restoration or correction process) of the A region included in the division unit I before the generated region B is removed.
구체적으로, 분할 단위I와 분할 단위J가 도 7에 따른 0번 타일, 1번 타일로 전제하면, 분할 단위 I의 우측 부분과 분할 단위 J의 좌측 부분은 서로 영상의 연속성이 있다. 여기서 추가 영역 B는 분할 단위 J의 영상 부/복호화에 참조된 후, 영역 A에 대한 부/복호화에도 사용될 수 있다. 특히, 영역 A와 영역 B는 추가 영역의 생성시에는 영역 A에서 가져온 데이터이기는 하지만, 부/복호화 과정에서 서로 일부 다른 값(양자화 에러 포함)으로 복원될 수 있다. 따라서, 분할 단위 I를 복원할 때, 영역 A에 해당하는 부분은 복원된 영역 A의 영상 데이터와 영역 B의 영상 데이터를 이용하여 복원할 수 있다. 예를 들어, 영역 A와 영역 B의 평균 또는 가중치 합을 통해 분할 단위 I의 일부 영역 C을 대체할 수 있다. 이는 동일 영역의 데이터가 두 개 이상 존재하기 때문에 두 영역의 데이터를 활용(이때 그 과정을 도면에서 Rec_Process로 명명함)하여 복원된 영상(C 영역. 분할 단위 I의 A가 C로 대체됨)을 획득할 수 있다.More specifically, assuming that the division unit I and the division unit J are 0 tile and 1 tile according to FIG. 7, the right portion of the division unit I and the left portion of the division unit J have continuity of images with each other. Here, the additional area B can be used for sub-decoding for the area A after being referred to the video part / decoding of the dividing unit J. In particular, although the area A and the area B are data obtained from the area A at the time of creation of the additional area, they may be restored to some different value (including a quantization error) in the subdecryption process. Therefore, when restoring the division unit I, a portion corresponding to the region A can be restored by using the restored image data of the region A and the image data of the region B. For example, a partial region C of the division unit I can be replaced by an average or weight sum of the region A and the region B. [ Since there are two or more data in the same area, we use the data of the two areas (in this case, the process is called Rec_Process in the drawing) and the reconstructed image (C region, Can be obtained.
또한, 분할 단위 I에 속한 일부 영역 C는 어느 분할 단위에 가까운지에 따라 영역 A와 영역 B를 이용하여 대체될 수 있다. 구체적으로, 영역 C에서 좌측으로 일정 범위(예를 들면, M개의 화소 간격)에 속하는 영상 데이터는 분할 단위 I에 인접하기 때문에 영역 A의 데이터를 이용(또는 복사)하여 복원하고, 영역 C에서 우측으로 일정 범위(예를 들면 N개의 화소 간격)에 속하는 영상 데이터는 분할 단위 J에 인접하기 때문에 영역 B의 데이터를 이용(또는 복사)하여 복원할 수 있다. 이것을 수식으로 나타내면 다음의 수학식 1과 같다.Further, the partial area C belonging to the division unit I can be replaced by using the area A and the area B depending on which division unit is close to. Specifically, since the image data belonging to a certain range (for example, M pixel intervals) from the area C to the left is adjacent to the division unit I, the data of the area A is used (or copied) The image data belonging to a certain range (for example, N pixel intervals) is adjacent to the division unit J, so that the data in the area B can be used (or copied) to be restored. This can be expressed by the following equation (1).
Figure PCTKR2018007520-appb-M000001
Figure PCTKR2018007520-appb-M000001
또한, 분할 단위 I에 속한 일부 영역 C는 어느 분할 단위에 가까운지에 따라 각각 영역 A와 영역 B의 영상 데이터에 가중치를 부여하여 대체될 수 있다. 즉, 영역 C에서 분할 단위 I와 가까운 영상 데이터는 영역 A의 영상 데이터에 높은 가중치를 주고, 분할 단위 J와 가까운 영상 데이터는 영역 B의 영상 데이터에 높은 가중치를 줄 수 있다. 즉, 영역 C의 가로 너비와 보정하고자 하는 화소값의 x 좌표와의 거리 차이에 기반하여 가중치가 설정될 수 있다.In addition, some of the regions C belonging to the division unit I can be replaced by assigning weights to the image data of the regions A and B, respectively, depending on which division unit is close to each other. That is, the image data close to the division unit I in the region C give a high weight to the image data in the region A, and the image data close to the division unit J can give a high weight to the image data in the region B. That is, a weight value can be set based on the difference in distance between the horizontal width of the area C and the x-coordinate of the pixel value to be corrected.
영역 A와 영역 B에 대하여 적응적 가중치를 설정하는 수식으로 다음의 수학식 2가 도출될 수 있다.The following equation (2) can be derived as an equation for setting an adaptive weight for the area A and the area B.
Figure PCTKR2018007520-appb-M000002
Figure PCTKR2018007520-appb-M000002
수학식 2를 참조하면, w는 A 영역과 B 영역의 화소 좌표(x,y)에 대하여 부여되는 가중치를 의미하며, 이때, A 영역과 B영역에 대한 가중치 평균이라는 의미로 A 영역의 화소에는 가중치 w를 곱하고, B 영역의 화소에는 1-w를 곱하였다. 그러나, 가중치 평균 뿐만 아니라, 영역 A와 영역 B에 각각 다른 값의 가중치를 부여할 수도 있다. Referring to Equation (2), w denotes a weight given to the pixel coordinates (x, y) of the A region and the B region. In this case, the weighting average for the A region and the B region means The weight w is multiplied, and the pixels of the B region are multiplied by 1-w. However, not only the weighted averages but also weights of different values may be given to the regions A and B, respectively.
앞선 설명에 따라 추가 영역의 활용이 끝나면, 추가 영역 B는 분할 단위 J에 대한 크기 재조정(Resizing) 과정에서 제거되어 메모리(DPB, decoded picture buffer일 수 있음)에 저장될 수 있다(본 예에서 추가적인 영역 두는 과정을 크기 조정<Sizing>이라고 가정. 이 과정은 상기 일부 실시예에서 유도 가능<예를 들어, 추가적인 영역 플래그 확인, 그 다음 크기 정보 확인, 그 다음 채우는 방법 확인 등의 과정을 거쳐서> 크기 조정 과정에서는 커지는 과정, 반면, 크기 재조정 과정<위의 역과정으로 유도 가능>에서는 작아지는 과정이 수행된다고 가정). When the use of the additional area is completed according to the foregoing description, the additional area B may be removed in the resizing process for the divide unit J and stored in a memory (DPB, which may be a decoded picture buffer) Assuming that the process of setting the area is &quot; Sizing &quot;, this process can be performed in some of the above embodiments, for example, by checking an additional area flag, checking the next size information, It is assumed that the process of increasing the size of the adjustment process is performed while the process of reducing the size of the size adjustment process is performed.
또한, (상세하게는, 해당 영상의 부/복호화가 끝난 후에 바로) 크기 재조정이 수행되지 않고 메모리에 저장될 수 있고, 출력 단계(본 예에서 디스플레이<Display> 단계라고 가정)에서 크기 재조정 과정이 수행되어 제거될 수 있다. 이는 해당 영상에 속한 전부 또는 일부의 분할 단위에 적용될 수 있다.Also, the resizing process can be stored in memory without performing resizing (specifically, after the sub-picture decoding of the image is completed), and a resizing process is performed in the outputting step (in this example, And can be removed. This can be applied to all or some of the divisions belonging to the image.
상기 관련 설정 정보는 부/복호화 설정에 따라 묵시적 또는 명시적인 처리를 할 수 있으며, 묵시적인 경우 (상세하게는, 영상의 특성, 종류, 포맷 등에 따라 또는 다른 부/복호화 설정<본 예에서는 추가적인 영역 관련 설정>에 기반하여) 관련 구문 요소 생성없이 결정될 수 있으며, 명시적인 경우 관련 구문 요소 생성을 통해 추가적인 영역의 제거에 대한 설정을 조정할 수 있으며, 그에 대한 단위는 비디오, 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등이 포함될 수 있다.The related setting information may be implicitly or explicitly processed in accordance with the setting of the subdecryption, and may be implicitly (in detail, depending on the characteristics of the image, the type, the format, or the like) Setting>), and in the case of an explicit case, the setting for the removal of an additional area can be adjusted through the generation of the relevant syntax element, and the unit for this is a video, a sequence, a picture, a sub picture, a slice , Tiles, and the like.
한편, 종래의 분할 단위에 따른 부호화 방법은, 1) 픽쳐를 하나 이상의 타일(또는 분할 단위로 포괄적 지칭될 수 있음)로 분할하고, 분할 정보를 생성하는 단계, 2) 분할된 타일 단위에 따른 부호화를 수행하는 단계, 3) 타일 경계의 인루프 필터 허용 여부를 지시하는 정보에 기초하여 필터링을 수행하는 단계, 4) 필터링된 타일을 메모리에 저장하는 단계를 포함할 수 있다.On the other hand, the conventional encoding method according to the division unit includes: 1) dividing the picture into one or more tiles (or may be collectively referred to as a division unit) and generating division information; 2) 3) performing filtering based on information indicating whether to allow in-loop filters of the tile boundary, and 4) storing the filtered tiles in a memory.
또한, 종래의 분할 단위에 따른 복호화 방법은, 1) 픽쳐를 타일 분할 정보에 기반하여 하나 이상의 타일로 분할하는 단계, 2) 분할된 타일 단위로 복호화를 수행하는 단계, 3) 타일 경계에 대한 인루프 필터 허용 여부를 지시하는 정보에 기초하여 필터링을 수행하는 단계, 4) 필터링된 타일을 메모리에 저장하는 단계를 포함할 수 있다.The decoding method according to the conventional dividing unit includes the steps of 1) dividing a picture into one or more tiles based on tile division information, 2) performing decoding in units of divided tiles, 3) Performing filtering based on information indicating whether to permit a loop filter, and 4) storing the filtered tiles in a memory.
여기서, 부/복호화 방법의 3번째 단계는 부/복호화의 후처리 단계로서, 필터링이 수행되면 의존적 부/복호화이고, 필터링이 수행되지 않으면, 독립적 부/복호화일 수 있다.Here, the third stage of the sub-decoding method is a post-processing step of sub-decoding, and may be independent sub-decoding if filtering is performed and independent sub-decoding if filtering is not performed.
본 발명의 일 실시예에 따른 분할 단위의 부호화 방법은, 1) 픽쳐를 하나 이상의 타일로 분할하고, 분할 정보를 생성하는 단계, 2) 분할된 적어도 하나의 타일 단위에 대하여 추가 영역을 설정하고, 인접한 타일 단위를 이용하여 추가 영역을 채우는 단계, 3) 추가 영역을 갖는 타일 단위에 대한 부호화를 수행하는 단계, 4) 타일 단위에 대한 추가 영역을 제거하고, 타일 경계의 인루프 필터 허용 여부를 지시하는 정보에 기초하여 필터링을 수행하는 단계, 5) 필터링된 타일을 메모리에 저장하는 단계를 포함할 수 있다.The coding method of a division unit according to an embodiment of the present invention includes the steps of 1) dividing a picture into one or more tiles and generating division information, 2) setting an additional area for at least one divided tile unit, Filling the additional area with adjacent tile units, 3) performing encoding on the tile unit having the additional area, 4) removing the additional area for the tile unit, indicating whether to allow the in-loop filter of the tile boundary And 5) storing the filtered tiles in a memory.
또한, 본 발명의 일 실시예에 따른 분할 단위의 복호화 방법은, 1) 픽쳐를 타일 분할 정보에 기반하여 하나 이상의 타일로 분할하는 단계, 2) 분할된 타일 단위에 대하여 추가 영역을 설정하고, 복호화 정보, 미리 설정된 정보 또는 미리 복원된 다른(인접한) 타일 단위를 이용하여 추가 영역을 채우는 단계 3) 추가 영역이 생성된 타일 단위에 대하여 부호화 장치로부터 수신된 복호화 정보를 이용하여 복호화를 수행하는 단계, 4) 타일 단위에 대한 추가 영역을 제거하고, 타일 경계에 대한 인루프 필터 허용 여부를 지시하는 정보에 기초하여 필터링을 수행하는 단계, 5) 필터링된 타일을 메모리에 저장하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a method of decoding a divided unit, comprising: 1) dividing a picture into one or more tiles based on tile division information, 2) setting an additional area for the divided tile units, (3) filling the additional area with preset information or another (adjacent) tile unit restored in advance, (3) performing decoding using the decoding information received from the encoding device for the tile unit in which the additional area is created, 4) removing the additional area for the tile unit and performing filtering based on information indicating whether to allow an in-loop filter on the tile boundary, and 5) storing the filtered tile in memory .
상기 본 발명의 일 실시예에 따른 분할 단위의 부/복호화 방법에서 2번째 단계는 부/복호화 전처리 과정(추가적인 영역을 설정하면 의존적, 그렇지 않으면 독립적 부/복호화)일 수 있다. 또한, 4번째 단계는 부/복호화 후처리 과정(필터링을 수행하면 의존적, 수행하지 않으면 독립적)일 수 있다. 본 예에서 추가적인 영역이 부/복호화 과정에서 사용되며 메모리에 저장되기 전에 타일의 초기 크기로 크기 조정이 수행되는 경우를 나타낸다.The second step in the sub-decoding method according to an embodiment of the present invention may be a sub-decoding preprocessing process (dependent upon setting an additional area, or otherwise independent decoding). In addition, the fourth step may be a post-decryption process (dependent upon performing filtering, or independent if not performed). In this example, an additional area is used in the subdecryption process and the size is adjusted to the initial size of the tile before being stored in memory.
우선, 부호화기를 설명하면 픽쳐는 복수의 타일로 분할된다. 명시적 또는 묵시적 설정에 따라 추가적인 영역을 타일 단위로 두고 인접한 영역에서 관련 데이터를 획득한다. 그리고 기존의 타일과 추가적인 영역을 포함한 업데이트된 타일 단위로 부호화를 수행한다. 부호화가 완료된 후 추가적인 영역을 제거하고 인루프 필터링 적용 설정에 따라 필터링을 수행한다.First, a picture is divided into a plurality of tiles according to an encoder. Depending on the explicit or implicit setting, additional areas are tiled and related data is acquired in adjacent areas. And performs encoding in an updated tile unit including an existing tile and an additional area. After the coding is completed, the additional area is removed and the filtering is performed according to the in-loop filtering application setting.
이때, 추가적인 영역 채우는 방법과 제거 방법에 따라 상기 필터링 설정을 달리할 수 있다. 예를 들어, 단순 제거하는 경우에는 위의 인루프 필터링 적용 설정에 따를 수 있고, 중첩되는 영역을 활용하여 제거하는 경우에는 필터링을 적용하지 않거나 다른 필터링 설정을 두어 따를 수 있다. 즉, 중첩되는 데이터를 활용하여 타일 경계 영역의 왜곡을 많이 줄일 수 있기 때문에, 타일 경계 단위의 인루프 필터 적용 여부에 상관없이 필터링을 수행하지 않을 수 있거나 또는 위의 필터링 적용 여부에 따르되 타일 내부의 필터링 설정과 다른 설정(예를 들어, 타일 경계에 필터 강도가 약한 필터를 적용하는 등)을 적용할 수 있다. 위의 과정 후에는 메모리에 저장한다At this time, the filtering setting may be different according to the additional area filling method and the removing method. For example, in case of simple elimination, it is possible to follow the above in-loop filtering application setting. In the case of elimination using the overlapping area, filtering may not be applied or other filtering setting may be applied. That is, since the distortion of the tile boundary region can be reduced by using the overlapped data, it is possible to avoid filtering regardless of whether the in-loop filter is applied to the tile boundary unit or not, You can apply filtering settings and other settings (for example, applying a filter with weak filter strength to the tile boundary). After the above process, it is stored in memory.
복호화기를 설명하면 먼저, 픽쳐는 부호화기에서 전송된 타일 분할 정보에 따라 복수의 타일로 분할된다. 추가적인 영역 관련 정보를 명시적 또는 묵시적으로 확인하여 추가적인 영역을 두고 부호화기에서 전송된 업데이트된 타일의 부호화 정보를 파싱한다. 그리고 업데이트된 타일 단위로 복호화를 수행한다. 복호화가 완료된 후 추가적인 영역을 제거하고 부호화기와 동일하게 인루프 필터링 적용 설정에 따라 필터링을 수행한다. 이에 관한 다양한 경우는 부호화기에서 설명하였으니 상세한 설명은 생략한다. 위의 과정 후에 메모리에 저장한다.First, a picture is divided into a plurality of tiles according to tile division information transmitted from an encoder. The additional area related information is explicitly or implicitly confirmed, and the encoded information of the updated tile transmitted from the encoder is parsed with an additional area. Then, decoding is performed in the updated tile unit. After the decoding is completed, the additional region is removed and filtering is performed according to the in-loop filtering application setting like the encoder. Various cases related to this are described in the encoder, and detailed description is omitted. After the above process, store it in memory.
한편, 분할 단위에 대한 추가 영역이 부/복호화 과정에서 사용되고, 삭제되지 않은 채로 메모리에 저장되는 경우도 고려할 수 있다. 예를 들어, 360도 영상과 같은 경우에는 표면 배치 설정 등에 따라 일부 예측 과정(예를 들어, 화면간 예측)에서 예측의 정확도가 떨어지는 경우(예를 들어, 움직임 탐색 및 보상을 할 때, 표면 배치가 연속적이지 않은 곳에서는 잘 찾기 어려움)가 발생할 수 있다. 따라서, 예측 정확도를 높이기 위해 추가 영역까지 메모리에 저장하고, 예측 과정에서 활용될 수 있다. 화면간 예측에서 활용한다면, 화면간 예측을 위한 참조 픽쳐로서 추가 영역(또는 추가 영역을 포함하는 픽쳐)을 사용할 수 있다.On the other hand, it can be considered that an additional area for the division unit is used in the subdecryption process and is stored in the memory without being deleted. For example, in the case of a 360-degree image, when the accuracy of prediction in a certain prediction process (for example, inter-picture prediction) is deteriorated according to a surface arrangement setting or the like (for example, Which is difficult to find in places where there is no continuity). Therefore, additional areas can be stored in memory to improve prediction accuracy and can be utilized in the prediction process. If utilized in inter-picture prediction, an additional area (or a picture including an additional area) can be used as a reference picture for inter-picture prediction.
추가 영역을 보존할 경우에 따른 부호화 방법은, 1) 픽쳐를 하나 이상의 타일로 분할하고, 분할 정보를 생성하는 단계, 2) 분할된 적어도 하나의 타일 단위에 대하여 추가 영역을 설정하고, 인접한 타일 단위를 이용하여 추가 영역을 채우는 단계, 3) 추가 영역을 갖는 타일 단위에 대한 부호화를 수행하는 단계, 4) 타일 단위에 대한 추가 영역을 보존하는 단계(여기서, 인루프 필터링을 적용은 생략될 수 있음), 5) 부호화된 타일을 메모리에 저장하는 단계를 포함할 수 있다.The encoding method according to the case of preserving the additional area includes: 1) dividing the picture into one or more tiles and generating division information; 2) setting an additional area for at least one divided tile unit; 3) performing encoding on the tile unit having the additional area, 4) preserving the additional area for the tile unit, where applying in-loop filtering may be omitted ), And 5) storing the encoded tiles in a memory.
추가 영역을 보존할 경우에 따른 복호화 방법은, 1) 픽쳐를 타일 분할 정보에 기반하여 하나 이상의 타일로 분할하는 단계, 2) 분할된 타일 단위에 대하여 추가 영역을 설정하고, 복호화 정보, 미리 설정된 정보 또는 미리 복원된 다른(인접한) 타일 단위를 이용하여 추가 영역을 채우는 단계 3) 추가 영역이 생성된 타일 단위에 대하여 부호화 장치로부터 수신된 복호화 정보를 이용하여 복호화를 수행하는 단계, 4) 타일 단위에 대한 추가 영역을 보존하는 단계(이때 인루프 필터링은 생략될 수 있음), 5) 복호화된 타일을 메모리에 저장하는 단계를 포함할 수 있다.The decoding method according to the case of preserving the additional area includes the steps of 1) dividing the picture into one or more tiles based on the tile division information, 2) setting an additional area for the divided tile units, (3) filling the additional area with other (adjacent) tile units restored in advance, (3) performing decoding using the decoding information received from the coding device for the tile unit where the additional area is created, (4) Preserving the additional area for the current block (in which case in-loop filtering may be omitted), and 5) storing the decoded tile in memory.
추가 영역을 보존하는 경우에 따른 부호화기를 설명하면, 픽쳐는 복수의 타일로 분할된다. 명시적 또는 묵시적 설정에 따라 추가적인 영역을 타일로 두고 기 설정된 영역에서 관련 데이터를 획득한다. 기 설정된 영역은 360도 영상에서 표면 배치 설정에 따라 상관성 있는 다른 영역을 의미하기 때문에 현재 타일에 인접한 영역일 있거나 인접하지 않은 영역일 수 있다. 그리고 업데이트된 타일 단위로 부호화를 수행한다. 부호화가 완료된 후 추가적인 영역을 보존할 것이기 때문에 인루프 필터링 적용 설정과 상관없이 필터링을 수행하지 않는다. 이유는 각 업데이트된 타일의 경계는 추가적인 영역으로 인해 실제 타일 경계를 공유하지 않기 때문이다. 위의 과정 후에 메모리에 저장한다.Explaining the encoder according to the case of saving the additional area, the picture is divided into a plurality of tiles. Depending on the explicit or implicit setting, the additional area is tiled and the related data is acquired in the predetermined area. The predetermined area may be a region adjacent to the current tile or a region not adjacent to the tile because it means another region having a correlation according to the surface layout setting in the 360-degree image. Then, the encoding is performed in the updated tile unit. Filtering is not performed irrespective of the in-loop filtering application setting because the additional area will be preserved after the encoding is completed. The reason is that the boundaries of each updated tile do not share the actual tile boundaries due to additional areas. After the above process, store it in memory.
추가 영역을 보존하는 경우에 따른 복호화기를 설명하면 픽쳐는 부호화기에서 전송된 타일 분할 정보를 확인하고 그에 따라 복수의 타일로 분할한다. 추가적인 영역 관련 정보를 확인하여 추가적인 영역을 두고 부호화기에서 전송된 업데이트된 타일의 부호화 정보를 파싱한다. 그리고 업데이트된 타일 단위로 복호화를 수행한다. 복호화가 완료된 후 추가적인 영역에 인루프 필터를 적용하지 않고 메모리에 저장한다.If a decoder is described according to the case of storing an additional area, the picture identifies the tile division information transmitted from the encoder and divides the information into a plurality of tiles accordingly. Related information, and parses the encoded information of the updated tile transmitted from the encoder with an additional area. Then, decoding is performed in the updated tile unit. After the decoding is completed, the additional area is stored in the memory without applying the in-loop filter.
이하에서는 상기 본 발명의 일 실시예에 따른 분할 단위에 대한 부/복호화 방법을 도면을 참조하여 설명한다.Hereinafter, a sub-decoding method for a division unit according to an embodiment of the present invention will be described with reference to the drawings.
도 11 내지 도 12는 본 발명의 일 실시예에 따른 분할 단위에 대한 부/복호화 방법을 설명하기 위한 예시도이다. 구체적으로, 각 분할 단위에 대하여 추가 영역을 생성하여 부/복호화가 수행되는 예시로서, 도 11은 추가 영역을 포함하는 부호화 방법을, 도 12는 추가 영역을 제거하는 복호화 방법을 확인할 수 있다. 여기서 360도 영상의 경우 도 11의 전 단계에서 전처리 과정(스티칭, 투영 등)이 수행될 수 있고, 도 12의 후 단계에서 후처리 과정(렌더링 등)이 수행될 수 있다.FIGS. 11 to 12 are diagrams for explaining a sub-decoding method for a division unit according to an embodiment of the present invention. Specifically, FIG. 11 shows a coding method including an additional area, and FIG. 12 shows a decoding method for removing an additional area, as an example in which an additional area is generated for each divided unit and subdecryption is performed. In the case of the 360-degree image, a preprocessing process (stitching, projection, etc.) may be performed in the previous step of FIG. 11, and a post-processing process (rendering, etc.) may be performed in a later step of FIG.
먼저 도 11을 참조하면, 부호화기에서는 입력 영상이 획득되면(단계 A), 픽쳐 분할부를 통해 입력 영상을 둘 이상의 분할 단위로 분할하고(이때 분할 방법에 대한 설정 정보가 생성될 수 있음, 단계 B로 표시됨), 부호화 설정 또는 추가 영역을 지원하는지 여부에 따라 분할 단위에 대한 추가 영역을 생성하고(단계 C), 추가 영역을 포함하는 분할 단위에 대하여 부호화를 수행하여 비트 스트림을 생성할 수 있다(단계 D). 또한, 비트스트림 생성 이후에, 부호화 설정에 따라 각 분할 단위에 대한 크기 재조정(또는 추가 영역의 삭제 여부, 단계 E)을 수행할지 여부를 결정할 수 있고, 추가 영역이 포함되거나, 제거된 부호화 데이터(D 또는 E에 따른 픽쳐)를 메모리에 저장할 수 있다(단계 E).Referring to FIG. 11, when an input image is obtained in an encoder (step A), an input image is divided into two or more division units through a picture division unit (setting information for a division method can be generated, (Step C), and a bitstream can be generated by performing encoding on the division unit including the additional area (step &lt; RTI ID = 0.0 &gt; Step D). After the bitstream is generated, it is possible to decide whether or not to resize (or to delete the additional area, step E) for each division unit according to the encoding setting, D or E) in the memory (step E).
도 12를 참조하면, 복호화기에서는, 수신된 비트스트림을 파싱하여 획득된 분할 관련 설정 정보를 참조하여 복호화할 영상을 둘 이상의 분할 단위로 분할(단계 B)하고, 수신된 비트스트림에서 획득된 복호화 설정에 따라 각 분할 단위에 대한 추가 영역의 크기를 설정(단계 C)하고, 비트스트림에 포함된 영상 데이터를 복호화하여 추가 영역을 갖는 영상 데이터를 획득할 수 있다(단계 D). 다음으로 추가 영역을 삭제함으로써 복원된 픽쳐를 생성하고(단계 E), 복원된 픽쳐를 디스플레이로 출력할 수 있다(단계 F). 이때, 복호화 설정에 따라 추가 영역의 삭제 여부를 결정할 수 있고, 복호화된 픽쳐 또는 영상 데이터(D 또는 E에 따른 데이터)를 메모리에 저장할 수 있다. 한편, 단계 F에서는 복원된 픽쳐에 대한 표면 재배치를 통하여 360도 영상으로 복원하는 과정을 포함할 수 있다.Referring to FIG. 12, in a decoder, an image to be decoded is divided into two or more division units (step B) by referring to division-related setting information obtained by parsing a received bit stream, and decoded According to the setting, the size of the additional area for each division unit is set (step C), and the image data included in the bit stream is decoded to acquire image data having the additional area (step D). Next, the restored picture is generated by deleting the additional area (step E), and the restored picture can be output to the display (step F). At this time, it is possible to determine whether to delete the additional area according to the decoding setting, and to store the decoded picture or image data (data according to D or E) in the memory. Meanwhile, in step F, restoration of the reconstructed picture to a 360-degree image may be performed through surface relocation.
한편, 도 11 또는 12의 추가적인 영역 제거 여부에 따라 분할 단위 경계에서의 인루프 필터링(본 예에서는 디블록킹 필터라고 가정. 그 외 다른 인루프 필터도 적용가능)이 적응적으로 수행될 수 있다. 또한, 추가적인 영역 생성을 허용할지 여부에 따라 인루프 필터링이 적응적으로 수행될 수 있다.On the other hand, in-loop filtering (in this example, it is assumed to be a deblocking filter, other in-loop filters can be applied) may be adaptively performed in the dividing unit boundary depending on whether or not the additional region is removed in FIG. In addition, in-loop filtering can be performed adaptively depending on whether or not to allow additional area generation.
추가적인 영역을 제거하고 메모리에 저장하는 경우, (본 예에서 타일의 경우) loop_filter_across_enabled_flag 등과 같이 (상세하게는, 초기 상태의) 분할 단위의 경계에서의 인루프 필터 적용 여부 플래그에 따라 명시적으로 인루프 필터가 적용되거나 적용되지 않을 수 있다.When an additional area is removed and stored in the memory, the in-loop filter application flag at the boundary of the division unit (in the initial state), such as loop_filter_across_enabled_flag (in the case of tiles in this example) The filter may or may not be applied.
또는, 분할 단위의 경계에서 인루프 필터 적용 여부에 대한 플래그가 지원되지 않고 후술되는 예와 같이 필터링 적용 여부 및 필터링 설정 등이 묵시적으로 결정될 수 있다. Alternatively, a flag for whether or not an in-loop filter is applied at the boundary of the division unit is not supported, and filtering application and filtering setting and the like can be implicitly determined as in the following example.
또한, 각 분할 단위 사이에 영상의 연속성이 있었다고 하더라도, 각 분할 단위에 대한 추가 영역이 생성되면, 추가 영역이 생성된 분할 단위 사이의 경계에 대한 영상 연속성이 없어질 수 있다. 이러한 경우 인루프 필터를 적용하면, 불필요한 연산량 증가와 부호화 성능 저하를 초래하므로 묵시적으로 인루프 필터를 적용하지 않을 수 있다.Also, even if there is continuity of the image between each division unit, if an additional area for each division unit is generated, the image continuity about the boundary between the division units in which the additional area is created can be eliminated. In this case, if an in-loop filter is applied, an in-loop filter may not be implicitly applied because it causes unnecessary increase in the amount of computation and degradation of encoding performance.
또한, 360도 영상에서 표면의 배치에 따라 2차원 공간상으로 인접한 분할 단위 상호간에 영상 연속성이 없을 수 있다. 이와 같이, 영상 연속성이 없는 분할 단위 사이의 경계에 대해 인루프 필터링을 수행하면, 화질 열화가 발생할 수 있다. 따라서, 영상 연속성이 없는 분할 단위 사이의 경계에 대해서는 인루프 필터링이 묵시적으로 수행되지 않을 수 있다.In addition, there may be no image continuity between adjacent division units in a two-dimensional space according to the arrangement of surfaces in a 360-degree image. In this way, when in-loop filtering is performed on a boundary between division units having no image continuity, image quality deterioration may occur. Therefore, in-loop filtering may not be implicitly performed on boundaries between division units that do not have video continuity.
또한, 도 10에 따른 설명에서와 같이 두 영역에 가중치를 둬서 현재 분할 단위의 일부 영역을 대체하는 경우, 각 분할 단위의 경계는 추가적인 영역에서 내부 경계에 속해 인루프 필터링이 적용될 수 있고, 추가적으로 다른 영역에 속한 현재 영역의 일부와 가중치 합 등의 방법을 통해 부호화 오차를 줄일 수 있기 때문에 인루프 필터링을 수행하는 것이 불필요할 수 있다. 따라서, 이러한 경우에는 인루프 필터를 묵시적으로 수행하지 않을 수 있다. In addition, in the case of replacing a partial region of the current division unit by assigning weights to the two regions as in the description of FIG. 10, in-loop filtering belonging to the inner boundary in the additional region may be applied to the boundary of each division unit, It is unnecessary to perform in-loop filtering because a coding error can be reduced by a method such as weighting sum of a part of a current area belonging to an area. Therefore, in this case, an in-loop filter may not be performed implicitly.
또한, 인루프 필터 적용 여부를 지시하는 플래그에 따라 (상세하게는, 해당 경계에는 추가적인) 인루프 필터 적용 여부가 결정될 수도 있다. 상기 플래그가 활성화될 경우 분할 단위 내부에 적용되는 인루프 필터 설정, 조건 등에 따라 필터링이 적용될 수 있거나, 또는 분할 단위의 경계에 적용되는 인루프 필터 설정, 조건 등이 (상세하게는, 분할 단위의 경계가 아닌 경우의 인루프 필터 설정, 조건 등과 달리 추가적으로) 달리 정의된 필터링이 적용될 수 있다.Further, depending on the flag indicating whether or not the in-loop filter is applied (more specifically, it may be determined whether or not to apply the in-loop filter). Filtering may be applied depending on the in-loop filter setting, conditions, etc. applied to the inside of the division unit when the flag is activated, or an in-loop filter setting, conditions, etc. applied to the boundary of the division unit (in detail, In addition to in-loop filter settings, conditions, etc., in addition to non-boundary additions), other defined filtering may be applied.
상기 실시예의 경우 추가적인 영역을 제거하고 메모리에 저장하는 경우라고 가정하였지만, 그 중 일부는 그 외의 출력 단계에서 (상세하게는, 인루프 필터부에 속할 수 있고, 포스트 필터부<Post filter> 등에도 속할 수 있음) 수행될 수 있는 과정일 수도 있다.In the case of the above embodiment, it is assumed that the additional region is removed and stored in the memory. However, some of them may be included in the other output stage (more specifically, in the in-loop filter unit, It may be a process that can be performed.
상기 예는 추가적인 영역이 각 분할 단위의 각 방향에 지원된다는 가정 하에 설명을 한 것이며, 이는 추가적인 영역의 설정에 따라 일부 방향에만 지원되는 경우에 따라 상기 내용의 일부만 적용가능할 수 있다. 예를 들어, 추가적인 영역이 지원되지 않은 경계에서는 기존의 설정을 따르고 추가적인 영역이 지원되는 경계에는 상기 예의 경우를 따르는 등의 다양한 경우로 변경 적용될 수 있다. 즉, 추가적인 영역의 설정에 따라 단위 경계의 전부 또는 일부에 상기 적용이 적응적으로 결정될 수 있다. The above example is based on the assumption that additional areas are supported in each direction of each division unit, and only a part of the contents may be applicable depending on the setting of the additional area and only in some directions. For example, the boundary may be applied to a boundary where an additional area is not supported, and a case where an additional area is supported may be applied to various cases such as following the above example. That is, the application can be adaptively determined to all or a part of the unit boundary according to the setting of the additional area.
상기 관련 설정 정보는 부/복호화 설정에 따라 묵시적 또는 명시적인 처리를 할 수 있으며, 묵시적인 경우 (상세하게는, 영상의 특성, 종류, 포맷 등에 따라 또는 다른 부/복호화 설정<본 예에서는 추가적인 영역 관련 설정>에 기반하여) 관련 구문 요소 생성없이 결정될 수 있으며, 명시적인 경우 관련 구문 요소 생성을 통해 조정할 수 있으며, 그에 대한 단위는 비디오, 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등이 포함될 수 있다.The related setting information may be implicitly or explicitly processed in accordance with the setting of the subdecryption, and may be implicitly (in detail, depending on the characteristics of the image, the type, the format, or the like) Setting>). In the case of an explicit case, it can be adjusted through the generation of related syntax elements, and the unit thereof may include a video, a sequence, a picture, a sub-picture, a slice, and a tile.
다음은 분할 단위와 추가적인 영역에 대한 참조 가능 여부를 결정하는 방법에 관하여 서술한다. 이때, 참조 가능하다면 의존적 부/복호화가 되고, 참조 불가능하다면 독립적 부/복호화가 될 수 있다.The following section describes how to determine the division unit and the availability of reference to additional areas. At this time, dependable sub-decryption is possible if it can be referred to, and independent sub-decryption if it is not possible to refer to it.
본 발명의 일 실시예에 따른 추가 영역은, 현재 영상 또는 다른 영상의 부/복호화 과정에서 참조되거나, 참조가 제한될 수 있다. 구체적으로 메모리에 저장되기 전에 제거되는 추가 영역은, 현재 영상의 부/복호화 과정에서 참조되거나 참조가 제한될 수 있다. 또한, 메모리에 저장된 추가 영역은 현재 영상뿐 아니라 시간적으로 다른 영상의 부/복호화 과정에서 참조되거나 참조가 제한될 수 있다.The additional area according to an embodiment of the present invention may be referred to during the sub-decoding process of the current image or another image, or the reference may be limited. The additional area that is specifically removed before being stored in the memory may be referred to or restricted in the current image subdivision / decryption process. Further, the additional area stored in the memory may be referred to or restricted in the process of adding / decoding the temporally different image as well as the current image.
정리하면, 부/복호화 설정에 따라 상기 추가적인 영역의 참조 가능성 및 범위 등이 결정될 수 있다. 상기 일부 설정에 따르면 현재 영상의 추가적인 영역이 부/복호화가 되고 메모리에 저장되며 이는 다른 영상의 참조 영상에 포함되어 참조될 수 있거나 참조가 제한될 수 있음을 의미한다. 이는 해당 영상에 속한 전부 또는 일부의 분할 단위에 적용될 수 있다. 후술하는 예에서 설명되는 경우를 현재 예에도 변경 적용가능하다.In summary, the reference possibility and range of the additional area and the like can be determined according to the sub / decryption setting. According to the above-mentioned setting, an additional area of the current image is added / decoded and stored in the memory, which means that it can be included in the reference image of another image or the reference can be restricted. This can be applied to all or some of the divisions belonging to the image. The case described in the following example is also applicable to the present example.
상기 추가 영역의 참조 가능성에 대한 설정 정보는 부/복호화 설정에 따라 묵시적 또는 명시적인 처리를 할 수 있으며, 묵시적인 경우 (상세하게는, 영상의 특성, 종류, 포맷 등에 따라 또는 다른 부/복호화 설정<본 예에서는 추가적인 영역 관련 설정>에 기반하여) 관련 구문 요소 생성없이 결정될 수 있으며, 명시적인 경우 관련 구문 요소 생성을 통해 추가적인 영역의 참조 가능성에 대한 설정을 조정할 수 있으며, 그에 대한 단위는 비디오, 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등이 포함될 수 있다.The setting information for the reference possibility of the additional area may be implicitly or explicitly processed according to the setting of the sub-decryption, and may be implicit (in more detail, depending on the characteristics, type, (In this example, based on additional region-related settings>), and if explicit, the settings for the referenceability of additional regions can be adjusted through the generation of relevant syntax elements, the units of which are video, sequence , A picture, a sub-picture, a slice, a tile, and the like.
일반적으로 현재 영상에서 일부 단위(본 예에서 픽쳐 분할부를 통해 획득된 분할 단위라 가정)는 해당 단위의 데이터를 참조할 수 있고, 다른 단위의 데이터를 참조할 수 없다. 그리고 현재 영상에서 일부 단위는 다른 영상에 존재하는 모든 단위의 데이터를 참조할 수 있다. 상기 설명은 픽쳐 분할부를 통해 획득된 단위에서의 일반적인 성질에 대한 예일 수 있고, 이에 대한 추가적인 성질이 정의될 수 있다.Generally, some units in the current image (in this example, assuming a division unit obtained through the picture division unit) can refer to the data of the corresponding unit and can not refer to data of other units. In addition, some units in the current image can refer to data in all units existing in other images. The above description may be an example of a general property in a unit obtained through a picture division unit, and an additional property can be defined.
또한, 현재 영상 내에서 다른 분할 단위를 참조할 수 있는지 여부, 다른 영상 내에 속하는 분할 단위를 참조할 수 있는지 여부를 지시하는 플래그가 정의될 수 있다.In addition, a flag can be defined that indicates whether or not another division unit can be referred to in the current image, and whether or not the division unit belonging to another image can be referred to.
일 예로, 다른 영상에 속하고, 현재 분할 단위와 동일한 위치에 속하는 분할 단위는 참조가 가능할 수 있고, 현재 분할 단위와 위치가 다른 분할 단위는 참조가 제한될 수 있다. 예를 들어, 동일한 영상을 부호화 설정이 다른 환경에서 부호화한 비트스트림을 복수 개 전송하고 복호화기에서는 영상의 각 영역(분할 단위)의 복호화(본 예에서 타일 단위의 복호화를 수행한다고 가정)를 위한 비트스트림을 선택적으로 결정할 경우, 각 분할 단위 간의 참조 가능성을 동일 공간뿐만 아니라 다른 공간에서도 제한해야 하기 때문에 다른 영상의 동일한 영역에서만 참조 가능하게 부/복호화를 수행할 수 있다.For example, a division unit belonging to another image and belonging to the same position as the current division unit can be referred to, and a division unit having a different position from the current division unit can be limited in reference. For example, in the case where a plurality of bitstreams obtained by encoding the same image in an environment with different coding settings are transmitted, and the decoder decodes each area (division unit) of the image (assuming decoding in units of tiles in this example) In the case of selectively determining the bitstream, since the reference possibility between each division unit must be limited not only in the same space but also in another space, it is possible to carry out subtraction / decoding with reference to only the same area of another image.
일 예로, 분할 단위에 대한 식별자 정보에 따라 참조가 허용될 수 있거나 참조가 제한될 수 있다. 예를 들어, 분할 단위에 할당된 식별자 정보가 서로 동일한 경우에는 참조할 수 있고, 동일하지 않는 경우에는 참조할 수 없다. 이때, 식별자 정보는 서로 참조 가능한 환경 속에 (의존적) 부/복호화가 되었다는 것을 가리키는 정보를 의미할 수 있다.In one example, the reference may be allowed or the reference may be restricted according to the identifier information for the division unit. For example, reference information can be referred to when the identifier information allocated to the division unit is equal to each other. At this time, the identifier information may mean information indicating that (dependent) sub-decryption has been performed in a mutually referable environment.
상기 관련 설정 정보는 부/복호화 설정에 따라 묵시적 또는 명시적인 처리를 할 수 있으며, 묵시적인 경우 관련 구문 요소 생성없이 결정될 수 있으며, 명시적인 경우 관련 구문 요소 생성을 통해 처리할 수 있고, 그에 대한 단위는 비디오, 시퀀스, 픽쳐, 서브 픽쳐, 슬라이스, 타일 등이 포함될 수 있다.The related configuration information can be implicitly or explicitly processed according to the subdecryption setting. In the case of implicit, it can be determined without generating the relevant syntax element. In the case of an explicit case, the related configuration information can be processed through generation of related syntax elements. Video, sequence, picture, sub-picture, slice, tile, and the like.
도 13a 내지 도 13g는 특정 분할 단위가 참조 가능한 영역을 설명하기 위한 예시도이다. 도 13a 내지 도 13g에서 굵은 선으로 도시된 영역은 참조 가능한 영역을 의미할 수 있다.13A to 13G are exemplary diagrams for explaining an area in which a specific division unit can be referred to. 13A to 13G, the area indicated by the bold line may refer to a referenceable area.
도 13a를 참조하면, 화면간 예측을 수행하는 다양한 참조 화살표를 확인할 수 있다. 이때, C0, C1 블록의 경우 단방향 화면간 예측을 나타낸다. C0 블록은 현재 픽쳐의 이전에서는 RP0 참조 블록을 획득할 수 있고, 현재 픽쳐 이후에서는 RF0 참조 블록을 획득할 수 있다. C2 블록의 경우 양방향 화면간 예측을 나타내고 있는데, 현재 픽쳐의 이전 또는 현재 픽쳐의 이후 영상에서 RP1, RF1 참조 블록을 획득할 수 있다. 그림에서는 전방향과 후방향에서 하나씩의 참조 블록을 획득하는 예를 나타냈지만, 전방향에서만 또는 후방향에서만 참조 블록을 획득하는 경우 또한 가능할 수 있다. C3 블록의 경우 무방향 화면간 예측을 나타내고 있는데, 현재 픽쳐 내에서 RCO 참조 블록을 획득할 수 있다. 그림에서 하나의 참조 블록을 획득하는 예를 나타냈지만, 둘 이상의 참조 블록을 획득하는 경우 또한 가능할 수 있다.Referring to FIG. 13A, various reference arrows for performing inter picture prediction can be identified. At this time, in the case of C0 and C1 blocks, unidirectional inter prediction is shown. The C0 block can acquire the RP0 reference block in the previous of the current picture, and the RF0 reference block after the current picture. In the case of the C2 block, bidirectional inter-picture prediction is shown, and reference blocks RP1 and RF1 can be obtained in a previous picture of the current picture or in a subsequent picture of the current picture. Although the figure shows an example of acquiring one reference block in forward and backward directions, it may also be possible to acquire a reference block only in forward direction only or in backward direction. In the case of the C3 block, a non-directional inter-picture prediction is shown, and an RCO reference block can be obtained in the current picture. Although an example of acquiring one reference block is shown in the figure, it is also possible to acquire two or more reference blocks.
후술하는 예에서는 분할 단위에 따른 화면간 예측에서의 화소값, 예측 모드 정보의 참조 가능성을 중심으로 설명할 것이나, 공간적 또는 시간적으로 참조 가능한 다른 부/복호화 정보(예를 들어, 화면내 예측 모드 정보, 변환 및 양자화 정보, 인루프 필터 정보 등)이 포함되어 이해될 수 있다.In the following example, the reference value of the pixel value and the prediction mode information in the inter picture prediction according to the division unit will be mainly described. However, other sub / decoding information that can be referred to spatially or temporally (for example, , Transform and quantization information, in-loop filter information, and the like).
도 13b를 참조하면, 현재 픽쳐(Current (t))는 둘 이상의 타일로 분할되었으며, 일부 타일의 블록 C0는 단방향으로 화면간 예측을 수행하여 참조 블록(P0, P1)을 획득할 수 있다. 일부 타일의 블록 C1는 양방향으로 화면간 예측을 수행하여 참조 블록(P3, F0)을 획득할 수 있다. 즉, 여기서는 위치의 제한이나 현재 픽쳐 내에서만 참조가 허용되는 등의 제한 없이 다른 영상의 다른 위치에 속하는 블록을 참조하는 것이 허용되는 예시일 수 있다.Referring to FIG. 13B, the current picture (Current (t)) is divided into two or more tiles, and the block C0 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P0 and P1. The block C1 of some tiles can perform inter-picture prediction in both directions to obtain reference blocks P3 and F0. That is, it may be an example in which it is permitted to refer to a block belonging to another position of another image without restriction such as limitation of position or permission of reference only in the current picture.
도 13c를 참조하면, 픽쳐는 둘 이상의 타일 단위로 분할되었으며, 일부 타일의 일부 블록(C1)은 단방향으로 화면간 예측을 수행하여 참조 블록(P2, P3)을 획득할 수 있다. 일부 타일의 일부 블록(C0)은 양방향으로 화면간 예측을 수행하여 참조 블록(P0, P1, F0, F1)을 획득할 수 있다. 일부 타일의 일부 블록(C3)은 무방향으로 화면간 예측을 수행하여 참조 블록(FC0)를 획득할 수 있다.Referring to FIG. 13C, the picture is divided into two or more tile units, and some blocks C1 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P2 and P3. Some blocks C0 of some tiles may perform inter-view prediction in both directions to obtain reference blocks P0, P1, F0, and F1. Some blocks C3 of some tiles may perform inter-picture prediction in a non-directional manner to obtain a reference block FC0.
즉, 도 13b 및 도 13c에서는 위치의 제한이나 현재 픽쳐 내에서만 참조가 허용되는 등의 제한 없이 다른 영상의 다른 위치에 속하는 블록을 참조하는 것이 허용되는 예시일 수 있다.13B and 13C, it is possible to refer to a block belonging to another position of another image without limitation such as limitation of position or permission of reference only in the current picture.
도 13d를 참조하면, 현재 픽쳐는 둘 이상의 타일 단위로 분할되었으며, 일부 타일의 블록 C0는 전방향으로 화면간 예측을 수행하여 참조 블록(P0)을 획득할 수 있으나 일부 타일에 속하는 참조 블록(P1, P2, P3)을 획득할 수 없다. 일부 타일의 블록 C4는 후방향으로 화면간 예측을 수행하여 참조 블록(F0, F1)을 획득할 수 있으나 참조 블록(F2, F3)을 획득할 수 없다. 일부 타일의 일부 블록(C3)은 무방향으로 화면간 예측을 수행하여 참조 블록(FC0)을 획득할 수 있거나 참조 블록(FC1)을 획득할 수 없다.Referring to FIG. 13D, the current picture is divided into two or more tile units, and a block C0 of some tiles can perform inter-picture prediction in all directions to obtain a reference block P0. However, a reference block P1 , P2, and P3) can not be obtained. The block C4 of some tiles can acquire the reference blocks F0 and F1 by performing the inter-view prediction in the backward direction, but can not acquire the reference blocks F2 and F3. Some blocks C3 of some tiles may perform inter-picture prediction in a non-directional manner to obtain a reference block FC0 or not obtain a reference block FC1.
즉, 도 13d에서는 픽쳐(본 예에서 t-1, t, t+1)의 분할 여부, 픽쳐의 분할 단위의 부/복호화 설정에 따라 참조 가능하거나 제한적일 수 있다. 구체적으로, 현재 타일과 동일한 식별자 정보를 갖는 타일에 속하는 블록에 대해서만 참조가 가능할 수 있다.That is, in FIG. 13D, it can be referenced or limited depending on the division of the picture (t-1, t, t + 1 in this example) or the subdecryption setting of the division unit of the picture. Specifically, reference to only a block belonging to a tile having the same identifier information as the current tile may be possible.
도 13e를 참조하면, 픽쳐는 둘 이상의 타일 단위로 분할되었으며, 일부 타일의 일부 블록(C0)은 양방향으로 화면간 예측을 수행하여 참조 블록(P0, F0)를 획득할 수 있거나 참조 블록(P1, P2, P3, F1, F2, F3)을 획득할 수 없다. 즉, 도 13e에서는 현재 블록이 속하는 타일과 동일한 위치에 있는 타일에 대해서만 참조가 허용되는 예시일 수 있다.13E, the picture is divided into two or more tile units, and some blocks C0 of some tiles can perform inter-picture prediction in both directions to obtain reference blocks P0 and F0, or reference blocks P1, P2, P3, F1, F2, F3). That is, in FIG. 13E, the reference may be allowed only to a tile which is located at the same position as the tile to which the current block belongs.
도 13f를 참조하면, 픽쳐는 둘 이상의 타일 단위로 분할되었으며, 일부 타일의 일부 블록(C0)은 양방향으로 화면간 예측을 수행하여 참조 블록(P1, F2)를 획득할 수 있거나 참조 블록(P0, P2, P3, F0, F1, F3)을 획득할 수 없다. 도 13f에서는 비트스트림에 현재 분할 단위에 대하여 참조 가능한 타일을 지시하는 정보가 포함되어 있고, 그 정보를 참조하여 참조 가능성이 있는 타일을 확인할 수 있는 예시일 수 있다.13F, a picture is divided into two or more tile units, and some blocks C0 of some tiles can perform inter-picture prediction in both directions to obtain reference blocks P1 and F2, or reference blocks P0, P2, P3, F0, F1, F3). In Fig. 13F, information indicating a tile which can be referred to for the current division unit is included in the bit stream, and the tile having a possibility of reference can be identified with reference to the information.
도 13g를 참조하면, 픽쳐는 둘 이상의 타일로 분할되었으며, 일부 타일의 일부 블록(C0)은 단방향으로 화면간 예측을 수행하여 참조 블록(P0, P3, P5)를 획득할 수 있거나 참조 블록(P4)를 획득할 수 없다. 일부 타일의 일부 블록(C1)은 양방향으로 화면간 예측을 수행하여 참조 블록(P1, F0, F2)를 획득할 수 있거나 참조 블록(P2, F1)을 획득할 수 없다.Referring to FIG. 13G, a picture is divided into two or more tiles, and some blocks C0 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P0, P3, and P5, Can not be obtained. Some blocks C1 of some tiles can perform inter-view prediction in both directions to obtain reference blocks P1, F0, F2 or can not obtain reference blocks P2, F1.
도 13g은 픽쳐(본 예에서 t-3, t-2, t-1, t, t+1, t+2, t+3)의 분할 여부, 픽쳐의 분할 단위의 부/복호화 설정(본 예에서 분할 단위의 식별자 정보, 픽쳐 단위의 식별자 정보, 분할 단위의 동일 영역 여부, 분할 단위의 유사 영역 여부, 분할 단위의 비트스트림 정보 등에 의해 결정된다고 가정) 등에 따라 참조 가능하거나 제한적일 수 있는 예시이다. 여기서, 참조가 가능한 타일은 영상 내 위치가 현재 타일과 동일하거나 유사할 수 있고, 현재 타일과 (상세하게는, 픽쳐 단위 또는 분할 단위에서) 동일한 식별자 정보를 가질 수 있고, 현재 타일이 획득되는 비트스트림과 동일할 수 있다. FIG. 13G is a diagram showing the division of the picture (t-3, t-2, t-1, t, t + 1, t + 2, t + 3 in this example) , The identifier information of the division unit, the identifier information of the picture unit, whether or not the same area is divided, the similar area of the division unit, bit stream information of the division unit, and the like) or the like. Here, a tile which can be referred to may have the same or similar location as the current tile in the image, and may have the same identifier information as the current tile (in detail, in picture unit or division unit) Stream.
도 14a 내지 도 14e는 본 발명의 일 실시예에 따른 분할 단위에서 추가 영역에 대한 참조 가능성을 설명하기 위한 예시도이다. 도 14a 내지 도 14e에서 굵은 선으로 도시된 영역은 참조가 가능한 영역을 의미하며, 점선으로 도시된 영역은 분할 단위에 대한 추가 영역을 의미한다.14A to 14E are illustrations for explaining the possibility of reference to an additional region in a division unit according to an embodiment of the present invention. 14A to 14E, the area indicated by the bold line indicates a reference area, and the area indicated with a dotted line indicates an additional area for the division unit.
본 발명의 일 실시예에 따르면, 일부 픽쳐(시간적으로 이전 또는 이후에 위치한 다른 픽쳐)에 대한 참조 가능성이 제한되거나 허용될 수 있다. 또한, 추가 영역을 포함하는 확장된 분할 단위 전체에 대한 참조 가능성이 제한되거나 허용될 수 있다. 또한, 추가 영역을 제외한 초기 분할 단위에 대해서만 참조 가능성이 허용되거나 제한될 수 있다. 또한, 추가 영역과 초기 분할 단위 사이의 경계에 대한 참조 가능성이 허용되거나 제한될 수 있다.According to an embodiment of the present invention, the possibility of reference to some pictures (temporally previous or later located other pictures) may be limited or allowed. Further, the possibility of reference to the entire extended partitioning unit including the additional area can be limited or allowed. In addition, the reference possibility can be allowed or limited only for the initial division unit excluding the additional region. Further, the possibility of reference to the boundary between the additional region and the initial division unit can be allowed or limited.
도 14a를 참조하면, 일부 타일의 일부 블록(C0)은 단방향으로 화면간 예측을 수행하여 참조 블록(P0, P1)을 획득할 수 있다. 일부 타일의 일부 블록(C2)은 양방향으로 화면간 예측을 수행하여 참조 블록(P2, P3, F0, F1)을 획득할 수 있다. 일부 타일의 일부 블록(C1)은 무방향으로 화면간 예측을 수행하여 참조 블록(FC0)을 획득할 수 있다. 여기서 블록 C0는 일부 참조 픽쳐(t-1, t+1)의 초기 타일 영역(추가 영역을 제외한 기본 타일)에서 참조 블록(P0, P1, P2, P3, F0)을 획득할 수 있고, 블록 C2는 참조 픽쳐(t-1)의 초기 타일 영역에서 참조 블록(P2, P3)을 획득하는 것 뿐만 아니라, 참조 픽쳐(t+1)에서 추가 영역을 포함하는 타일 영역에서도 참조 블록(F1)을 획득할 수 있다. 이때, 참조 블록 F1에서 확인할 수 있듯이, 추가 영역과 초기 타일 영역 사이의 경계를 포함하는 참조 블록이 얻어질 수도 있다.Referring to FIG. 14A, some blocks C0 of some tiles may perform inter-picture prediction in one direction to obtain reference blocks P0 and P1. Some block C2 of some tiles may perform inter-view prediction in both directions to obtain reference blocks P2, P3, F0, and F1. Some blocks C1 of some tiles may perform inter-picture prediction in a non-directional manner to obtain a reference block FC0. Here, the block C0 can obtain the reference blocks P0, P1, P2, P3, F0 in the initial tile area (basic tile excluding the additional area) of some reference pictures t-1, t + Not only obtains the reference blocks P2 and P3 in the initial tile area of the reference picture t-1 but also acquires the reference block F1 in the tile area including the additional area in the reference picture t + can do. At this time, as can be seen from the reference block F1, a reference block including a boundary between the additional area and the initial tile area may be obtained.
도 14b를 참조하면, 일부 타일의 일부 블록(C0, C1, C3)은 단방향으로 화면간 예측을 수행하여 참조 블록(P0, P1, P2/F0, F2/F1, F3, F4)을 획득할 수 있다. 일부 타일의 일부 블록(C2)은 무방향으로 화면간 예측을 수행하여 참조 블록(FC0, FC1, FC2)을 획득할 수 있다.Referring to FIG. 14B, some blocks C0, C1, and C3 of some tiles can perform inter-picture prediction in one direction to obtain reference blocks P0, P1, P2 / F0, F2 / F1, F3, and F4 have. Some blocks C2 of some tiles may perform inter-picture prediction in a non-directional manner to obtain reference blocks FC0, FC1, FC2.
일부 블록(C0, C1, C3)은 일부 참조 픽쳐(본 예에서 t-1, t+1)의 초기 타일 영역에서 참조 블록(P0, F0, F3)을 획득할 수 있고, 업데이트된 타일 영역 경계에서 참조 블록(P1, x, F4)을 획득할 수 있고, 업데이트된 타일 영역 경계 바깥에서 참조 블록(P2, F2, F1)을 획득할 수 있다.Some blocks C0, C1 and C3 may obtain reference blocks P0, F0 and F3 in the initial tile areas of some reference pictures (t-1, t + 1 in this example) (P1, x, F4) and obtain reference blocks (P2, F2, F1) outside the updated tile region boundaries.
일부 블록(C2)은 일부 참조 픽쳐(본 예에서 t)의 초기 타일 영역에서 참조 블록(FC1)을 획득할 수 있고, 업데이트된 타일 영역 경계에서 참조 블록(FC2)을 획득할 수 있고, 업데이트된 타일 영역 경계 바깥에서 참조 블록(FC0)을 획득할 수 있다.Some block C2 may obtain the reference block FC1 in the initial tile area of some reference picture (t in this example), obtain the reference block FC2 at the updated tile area boundary, The reference block FC0 can be obtained outside the tile region boundary.
여기서, 일부 블록(C0)은 초기 타일 영역에 위치한 블록일 수 있고, 일부 블록(C1)은 업데이트된 타일 영역 경계에 위치한 블록일 수 있고, 일부 블록(C3)은 업데이트된 타일 경계 바깥에 위치한 블록일 수 있다. Here, some blocks C0 may be blocks located in the initial tile region, some blocks C1 may be blocks located at the updated tile region boundaries, and some blocks C3 may be blocks located outside the updated tile boundaries. Lt; / RTI &gt;
도 14c를 참조하면, 픽쳐는 둘 이상의 타일 단위로 분할되고 일부 픽쳐에서는 일부 타일에 추가적인 영역을 두고, 일부 픽쳐에서는 일부 타일에 추가적인 영역을 두지 않고, 일부 픽쳐에서는 추가적인 영역을 두지 않았다. 일부 타일의 일부 블록(C0, C1)은 단방향으로 화면간 예측을 수행하여 참조 블록(P2, F1, F2, F3)을 획득할 수 있거나 참조 블록(P0, P1, P3, F0)을 획득할 수 없다. 일부 타일의 일부 블록(C2)은 무방향으로 화면간 예측을 수행하여 참조 블록(FC1, FC2)을 획득할 수 있거나 참조 블록(FC0)을 획득할 수 없다.Referring to FIG. 14C, the picture is divided into two or more tile units, some of the pictures have additional areas in some tiles, some of the pictures do not have additional areas in some tiles, and some pictures do not have additional areas. Some blocks C0 and C1 of some tiles may perform inter-view prediction in a unidirectional manner to obtain reference blocks P2, F1, F2 and F3 or to obtain reference blocks P0, P1, P3 and F0 none. Some blocks C2 of some tiles can perform inter-picture prediction in a non-directional manner to obtain reference blocks FC1 and FC2 or acquire reference block FC0.
일부 블록(C2)은 일부 참조 픽쳐(본 예에서 t)의 초기 타일 영역에서 참조 블록(FC0)을 획득할 수 없고, 업데이트된 타일 영역에서 참조 블록(FC1. 일부 추가적인 영역 채우는 방법에서 FC0와 FC1은 동일한 영역일 수 있음. 초기 단위의 타일 분할에서는 FC0를 참조할 수 없지만 추가적인 영역을 통해 현재 타일로 해당 영역을 가지고 오면 참조할 수 있음)을 획득할 수 있다.Some blocks C2 can not acquire the reference block FC0 in the initial tile area of some reference pictures (t in this example), and the reference blocks FC1 and FC1 in some updated area filling methods in the updated tile area Can be the same area.) FC0 can not be referenced in tile partitioning in the initial unit, but can be referenced when bringing the area to the current tile through an additional area).
일부 블록(C2)은 일부 참조 픽쳐(본 예에서 t)의 일부 타일 영역에서 참조 블록(FC2. 기본적으로 현재 픽쳐의 다른 타일의 데이터를 참조할 수 없지만 상기 실시예에서의 식별자 정보 등에 따라 참조 가능한 설정이 되면 참조 가능하다고 가정)을 획득할 수 있다.Some block C2 is a reference block (FC2. Basically, data of another tile of the current picture can not be referred to in some tile area of some reference picture (t in this example) but can be referenced according to the identifier information in the embodiment) It is assumed that reference is possible when the setting is made).
도 14d를 참조하면, 픽쳐는 둘 이상의 타일 단위로 분할되고 추가적인 영역을 두었다. 일부 타일의 일부 블록(C0)은 양방향으로 화면간 예측을 수행하여 참조 블록(P0, F0, F1, F3)을 획득할 수 있거나 참조 블록(P1, P2, P3, F2)을 획득할 수 없다. Referring to FIG. 14D, the picture is divided into two or more tile units and has an additional area. Some blocks C0 of some tiles can perform inter-view prediction in both directions to acquire reference blocks P0, F0, F1 and F3 or can not acquire reference blocks P1, P2, P3 and F2.
일부 블록(C0)의 일부 참조 픽쳐(t-1)의 초기 타일 영역(0번 타일)에서 참조 블록(P0)을 획득할 수 있고, 확장된 타일 영역 경계에서 참조 블록(P3)을 획득하는 것이 제한되며, 확장된 타일 영역의 경계 바깥(즉 추가 영역)에서 참조 블록(P2)을 획득할 수 없도록 제한된다. It is possible to obtain the reference block P0 in the initial tile area (tile 0) of some reference picture t-1 of some block C0 and to obtain the reference block P3 at the extended tile area boundary And is restricted such that the reference block P2 can not be obtained outside the boundary of the extended tile area (i.e., the additional area).
일부 블록(C0)의 일부 참조 픽쳐(t+1)의 초기 타일 영역(0번 타일)에서 참조 블록(F0)을 획득할 수 있고, 확장된 타일 영역 경계에서 참조 블록(F1)을 획득할 수 있고, 확장된 타일 영역 경계 바깥에서 참조 블록(F3)을 획득할 수 있다.The reference block F0 can be obtained in the initial tile area (tile 0) of some reference picture t0 in some block C0 and the reference block F1 can be obtained in the extended tile area boundary And can obtain a reference block F3 outside the extended tile region boundary.
도 14e를 참조하면, 픽쳐는 둘 이상의 타일 단위로 분할되고 적어도 하나의 크기 및 형태를 갖는 추가적인 영역을 두었다. 일부 타일의 블록(C0)은 단방향으로 화면간 예측을 수행하여 참조 블록(P0, P3, P5, F0)을 획득할 수 있으나, 추가 영역과 기본 타일 사이의 경계에 위치한 참조 블록(P2)을 획득할 수 없다. 일부 타일의 블록(C1)은 양방향으로 화면간 예측을 수행하여 참조 블록(P1, F2, F3)을 획득할 수 있으나, 참조 블록(P4, F1, F5)을 획득할 수 없다. Referring to FIG. 14E, a picture is divided into two or more tile units and has an additional area having at least one size and shape. The block C0 of some tiles can acquire the reference blocks P0, P3, P5, and F0 by performing inter-picture prediction in a unidirectional manner, but acquires the reference block P2 located at the boundary between the additional area and the basic tile Can not. The block C1 of some tiles can acquire the reference blocks P1, F2 and F3 by performing inter-view prediction in both directions, but can not obtain the reference blocks P4, F1 and F5.
상기 예처럼 화소값이 참조의 대상이 될 수 있고, 그 외의 부/복호화 정보에 대한 참조 제한이 가능할 수 있다. As described above, the pixel value can be a target of reference, and restriction of reference to other sub / decode information can be possible.
일 예로, 예측부에서 화면내 예측에서의 화면내 예측 모드 후보군을 공간적으로 인접한 블록에서 찾을 경우, 현재 블록이 속한 분할 단위가, 인접한 블록이 속한 분할 단위를 참조할 수 있는지 여부를 도 13a 내지 도 14e와 같은 방법에 따라 확인할 수 있다.13A to 13C illustrate whether the intra prediction mode candidate group in intra prediction is searched in a spatially adjacent block in the prediction unit and whether the division unit to which the current block belongs can refer to the division unit to which the adjacent block belongs 14e. &Lt; / RTI &gt;
일 예로, 예측부에서 화면간 예측에서의 움직임 정보 후보군을 시간적, 공간적으로 인접한 블록에서 찾을 경우, 현재 블록이 속한 분할 단위가, 현재 픽쳐내에서 공간적으로 또는 현재 픽쳐와 시간적으로 인접한 블록이 속한 분할 단위를 참조할 수 있는지 여부를 도 13a 내지 도 14e와 같은 방법에 따라 확인할 수 있다.For example, when the prediction unit searches for a motion information candidate group in an inter-picture prediction in temporally and spatially adjacent blocks, the division unit to which the current block belongs is divided into a spatial division within the current picture or a division to which a block temporally adjacent to the current picture belongs It is possible to confirm whether or not the unit can be referred to by the method as shown in Figs. 13A to 14E.
일 예로, 인루프 필터부에서 인루프 필터 관련 설정 정보를 인접한 블록에서 찾을 경우, 현재 블록이 속한 분할 단위가, 인접한 블록이 속한 분할 단위를 참조할 수 있는지 여부를 도 13a 내지 도 14e와 같은 방법에 따라 확인할 수 있다.For example, when in-loop filter-related setting information is found in an adjacent block, whether or not the division unit to which the current block belongs can refer to the division unit to which the adjacent block belongs is shown in FIGS. 13A to 14E .
도 15는 현재 영상의 분할 단위에 속하는 블록과 다른 영상의 분할 단위에 속하는 블록에 대한 예시도이다.15 is an example of a block belonging to a division unit of a current image and a block belonging to a division unit of another image.
도 15를 참조하면, 본 예에서 현재 블록을 중심으로 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위의 블록이 공간적으로 인접한 참조 후보 블록일 수 있다. 또한, 현재 영상(Current picture)과 시간적으로 인접한 영상(Different picture) 내에서 현재 블록과 동일 또는 상응하는 위치에 있는 블록(Collocated block)의 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위, 오른쪽, 오른쪽 아래, 아래쪽, 중앙 블록이 시간적 참조 후보 블록일 수 있다. 도 15에서 굵은 외곽선은 분할 단위를 나타내는 경계선이다.Referring to FIG. 15, in this example, left, upper left, lower left, upper and upper right blocks around the current block may be spatially adjacent reference candidate blocks. The left, upper left, lower left, upper, right upper, right, upper left, and lower right of a collocated block at the same or corresponding position to the current block in a different picture temporally adjacent to the current picture, The bottom right, bottom, and center blocks may be temporal reference candidate blocks. In FIG. 15, a thick outline is a boundary line indicating a division unit.
현재 블록이 M일 때, 공간적으로 인접한 블록(G, H, I, L, Q)이 모두 참조 가능할 수 있다.When the current block is M, all of the spatially adjacent blocks (G, H, I, L, Q) can be referenced.
현재 블록이 G일 때, 공간적으로 인접한 블록(A, B, C, F, K) 중 일부 블록은 참조 가능하고, 나머지 블록은 참조가 제한될 수도 있다. 참조 가능 여부는 공간적으로 인접한 블록이 속한 분할 단위(UC, ULC, LC)와 현재 블록이 속한 분할 단위의 참조 관련 설정에 따라 결정될 수 있다.When the current block is G, some of the spatially adjacent blocks (A, B, C, F, and K) can be referenced, and the rest of the blocks may be restricted. The reference availability can be determined according to the reference-related setting of the division unit (UC, ULC, LC) to which the spatially adjacent block belongs and the division unit to which the current block belongs.
현재 블록이 S일 때, 시간적으로 인접한 영상 내에서 현재 블록의 위치와 동일한 위치 주변에 있는 블록(s, r, m, w, n, x, t, o, y) 중 일부 블록은 참조 가능하고, 나머지 블록은 참조가 제한될 수도 있다. 참조 가능 여부는 시간적으로 인접한 영상 내에서 현재 블록의 위치와 동일한 위치 주변이 있는 블록이 속한 분할 단위(RD, DRD, DD)와 현재 블록이 속한 단위의 참조 관련 설정에 따라 결정될 수 있다.When the current block is S, some of the blocks (s, r, m, w, n, x, t, o, y) located around the same position as the current block in the temporally adjacent image can be referred to , And the rest of the blocks may be limited in reference. The reference availability can be determined according to the reference-related setting of the division unit (RD, DRD, DD) to which the block around the same position as the current block in the temporally adjacent image belongs and the unit to which the current block belongs.
현재 블록의 위치에 따라 참조 제한되는 후보가 존재할 경우에는 후보군 구성의 우선 순위 중 그 다음 순서의 후보를 채울 수 있거나 또는 참조가 제한되는 후보에 인접한 다른 후보가 대체될 수도 있다.If there is a reference-restricted candidate according to the position of the current block, the candidate of the next order among the priorities of the candidate group configuration may be filled, or another candidate adjacent to the candidate whose reference is restricted may be substituted.
예를 들어, 화면내 예측에서 현재 블록이 G이고 좌상 블록이 참조가 제한되며 MPM 후보군 구성이 P - D - A - E - U 의 순서를 따를 때, A는 참조가 불가능한 경우이기 때문에 남은 E - U의 순서로 유효성 검사를 하여 후보군을 구성할 수 있거나 또는 A에 공간적으로 인접한 B 또는 F를 A에 대체할 수 있다.For example, in the intra prediction, if the current block is G, the upper left block is limited in reference, and the MPM candidate structure follows the order of P - D - A - E - U, U can be used to construct a candidate group by performing validation in the order of U, or A or B that is spatially adjacent to A can be substituted for A.
또는, 화면간 예측에서 현재 블록이 S이고 시간적으로 인접한 좌하 블록이 참조가 제한되며 스킵 모드 후보군의 시간적 후보 구성이 y일 때, y는 참조가 불가능한 경우이기 때문에 공간적으로 인접한 후보 또는 공간적 후보와 시간적 후보의 혼합 후보 등의 순서로 유효성 검사를 하여 후보군을 구성할 수 있거나 또는 y와 공간적으로 인접한 t, x, s로 y를 대체할 수 있다.Or, in the inter-view prediction, if the current block is S and the temporally adjacent left lower block is limited in reference, and the temporal candidate composition of the skip mode candidate group is y, y is a reference impossible case, Candidate candidates can be constructed by performing validation in the order of y, y, and y, or alternatively y can be replaced with t, x, s spatially adjacent to y.
도 16은 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치에 대한 하드웨어 구성도이다.16 is a hardware block diagram of an image encoding / decoding apparatus according to an embodiment of the present invention.
도 16을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치 (200)는, 적어도 하나의 프로세서(processor, 210) 및 상기 적어도 하나의 프로세서(210)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 220)를 포함할 수 있다.16, an apparatus 200 for encoding and decoding an image according to an exemplary embodiment of the present invention includes at least one processor 210 and at least one processor 210 performing at least one step And a memory 220 for storing instructions that direct the instructions.
여기서 적어도 하나의 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.Where at least one processor 210 may be a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods in accordance with embodiments of the present invention are performed . Each of the memory 120 and the storage device 260 may be constituted by at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory 220 may comprise at least one of read-only memory (ROM) and random access memory (RAM).
또한, 영상 부호화/복호화 장치(200)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(230)를 포함할 수 있다. 또한, 영상 부호화/복호화 장치(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 영상 부호화/복호화 장치(200)에 포함된 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다.In addition, the image encoding / decoding apparatus 200 may include a transceiver 230 for performing communication via a wireless network. The image encoding / decoding device 200 may further include an input interface device 240, an output interface device 250, a storage device 260, and the like. Each component included in the image encoding / decoding apparatus 200 may be connected by a bus 270 to perform communication with each other.
여기서 적어도 하나의 단계는, 수신된 비트스트림(bitstream)으로부터 획득된 구문 요소를 참조하여 상기 비트스트림에 포함된 부호화 영상을 적어도 하나의 분할 단위로 분할하는 단계, 상기 적어도 하나의 분할 단위에 대한 추가 영역을 설정하는 단계 및 추가 영역이 설정된 분할 단위에 기초하여 상기 부호화 영상을 복호화하는 단계를 포함할 수 있다.Wherein at least one step includes dividing an encoded image included in the bitstream into at least one division unit by referring to a syntax element obtained from a received bitstream, And decoding the encoded image based on the division unit in which the additional area is set.
여기서 상기 부호화 영상을 복호화하는 단계는, 상기 비트스트림에 포함된 참조 가능성 여부를 지시하는 정보에 따라, 상기 부호화 영상 내에서 복호화할 현재 블록에 대한 참조 블록을 결정하는 단계를 포함할 수 있다.The step of decoding the encoded image may include determining a reference block for a current block to be decoded in the encoded image according to information indicating whether the reference stream included in the bitstream is available for reference.
여기서 상기 참조 블록은, 상기 참조 블록이 속하는 분할 단위에 설정된 추가 영역과 중첩되는 위치에 속하는 블록일 수 있다.Here, the reference block may be a block belonging to a position overlapping an additional region set in a division unit to which the reference block belongs.
도 17은 본 발명의 일 실시예에 따른 화면내 예측 모드를 나타낸 예시도이다.17 is an exemplary view illustrating an intra prediction mode according to an embodiment of the present invention.
도 17를 참조하면, 35개의 예측 모드를 확인할 수 있고, 35개의 예측 모드는, 33개의 방향성 모드와 2개의 비방향성 모드(DC, Planar)로 분류할 수 있다. 이때, 방향성 모드는 기울기(예를 들어, dy/dx) 또는 각도 정보로 식별할 수 있다. 상기 예는 휘도 성분 또는 색차 성분에 대한 예측 모드 후보군을 의미할 수 있다. 또는, 색차 성분은 일부 예측 모드(예를 들어, DC, Planar, 수직, 수평, 대각선 모드 등)가 지원될 수 있다. 또한, 휘도 성분의 예측 모드가 결정되면 해당 모드를 색차 성분의 예측 모드로 포함하거나 해당 모드로부터 유도되는 모드를 예측 모드로 포함할 수 있다. Referring to FIG. 17, 35 prediction modes can be identified, and 35 prediction modes can be classified into 33 directional modes and 2 non-directional modes (DC, Planar). At this time, the directional mode can be identified by a slope (for example, dy / dx) or angle information. The above example may mean a prediction mode candidate group for a luminance component or a chrominance component. Alternatively, the chrominance components may be supported in some prediction modes (e.g., DC, Planar, vertical, horizontal, diagonal mode, etc.). In addition, when the prediction mode of the luminance component is determined, the mode may be included in the prediction mode of the chrominance component, or a mode derived from the chrominance component may be included in the prediction mode.
또한, 컬러 공간들 사이의 상관성을 이용하여 부/복호화가 완료된 다른 컬러 공간의 복원 블록을 현재 블록의 예측에 사용할 수 있고, 이를 지원하는 예측 모드를 포함할 수 있다. 예를 들어, 색차 성분의 경우 현재 블록과 대응되는 휘도 성분의 복원된 블록을 현재 블록의 예측 블록으로 생성할 수 있다. In addition, the restoration block of another color space, which has been subdivided and decoded using the correlation between the color spaces, can be used for prediction of the current block and can include a prediction mode supporting the same. For example, in the case of a chrominance component, a reconstructed block of the luminance component corresponding to the current block can be generated as a prediction block of the current block.
부/복호화 설정에 따라 예측 모드 후보군을 적응적으로 결정할 수 있다. 예측의 정확도를 높이기 위한 목적으로 후보군의 수를 늘릴 수 있고, 예측 모드에 따른 비트량을 줄이기 위한 목적으로 후보군의 수를 줄일 수 있다.The prediction mode candidate group can be determined adaptively according to the subdecryption setting. The number of candidate groups can be increased for the purpose of increasing the accuracy of the prediction and the number of candidate groups can be reduced for the purpose of reducing the bit amount according to the prediction mode.
예를 들어, A 후보군(67개. 65개 방향성 모드와 2개의 비방향성 모드), B 후보군(35개. 33개의 방향성 모드와 2개의 비방향성 모드), C 후보군(19개. 17개의 방향성 모드와 2개의 비방향성 모드) 등의 후보군 중 하나를 사용할 수 있다. 본 발명에서 특별한 설명이 없다면, 기 설정된 하나의 예측 모드 후보군(A 후보군)으로 화면내 예측을 수행하는 경우로 전제한다.For example, A candidate group (67, 65 directional mode and 2 non-directional mode), B candidate group (35. 33 directional mode and 2 non-directional mode), C candidate group (19, 17 directional mode And two non-directional modes) can be used. If there is no special description in the present invention, it is assumed that intra prediction is performed with one predetermined prediction mode candidate group (A candidate group).
도 18는 본 발명의 일 실시예에 따른 화면내 예측에 사용되는 참조 화소 구성에 대한 제1 예시도이다. 18 is a first exemplary view of a reference pixel configuration used in intra-frame prediction according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화에서 화면내 예측 방법은, 참조 화소 구성 단계, 구성된 참조 화소를 참조하여 하나 이상의 예측 모드를 이용한 예측 블록 생성 단계, 최적의 예측 모드를 결정하는 단계, 결정된 예측 모드를 부호화하는 단계를 포함할 수 있다. 또한, 영상 부호화 장치는 참조 화소 구성 단계, 예측 블록 생성 단계, 예측 모드 결정 단계, 예측 모드 부호화 단계를 구현하는 참조 화소 구성부, 예측 블록 생성부, 예측 모드 결정부, 예측 모드 부호화부를 포함하도록 구성할 수 있다. 전술한 과정의 일부는 생략될 수 있거나 다른 과정이 추가될 수 있고, 상기 기재된 순서가 아닌 다른 순서로 변경될 수 있다. The intra-frame prediction method in the image encoding according to an embodiment of the present invention includes a reference pixel forming step, a prediction block generating step using one or more prediction modes with reference to a reference pixel configured, a step of determining an optimal prediction mode, And encoding the mode. In addition, the image encoding apparatus may be configured to include a reference pixel forming step, a prediction block generating step, a prediction mode determining step, a reference pixel forming unit for implementing the prediction mode encoding step, a prediction block generating unit, a prediction mode determining unit, can do. Some of the above-described processes may be omitted or other processes may be added, and the order may be changed in a different order than the above-described order.
한편, 본 발명의 일 실시예에 따른 영상 복호화에서 화면내 예측 방법은, 참조 화소를 구성하고, 영상 부호화 장치에서 수신한 구문 정보(Syntax Element)를 통해 획득된 예측 모드에 따라 현재 블록에 대한 예측 블록을 생성할 수 있다.Meanwhile, in the intra-frame prediction method according to an embodiment of the present invention, the intra-frame prediction method includes constructing a reference pixel, and estimating a prediction of a current block according to a prediction mode obtained through a syntax element received by the image encoding apparatus Blocks can be created.
화면내 예측이 수행되는 현재 블록의 크기 및 형태(M × N)는 블록 분할부로부터 획득될 수 있으며, 4×4 내지 256×256 의 크기를 가질 수 있다. 화면내 예측은 예측 블록 단위로 수행되는 것이 일반적일 수 있으나 블록 분할부의 설정에 따라 부호화 블록(또는 부호화 유닛으로 지칭), 변환 블록(또는 변환 유닛으로 지칭) 등의 단위로 수행될 수 있다. 블록 정보를 확인한 후 참조 화소 구성부에서는 현재 블록의 예측에 사용되는 참조 화소를 구성할 수 있다. 이때, 참조 화소는 임시 메모리(예를 들어, 배열<Array>. 1차, 2차 배열 등)를 통해 관리될 수 있으며, 블록의 화면내 예측 과정마다 생성 및 제거되고, 임시 메모리의 크기는 참조 화소의 구성에 따라 결정될 수 있다.The size and type (M x N) of the current block in which the intra prediction is performed can be obtained from the block dividing unit and can have a size of 4 x 4 to 256 x 256. Intra prediction may be performed in units of prediction blocks, but may be performed in units of encoding blocks (or coding units), conversion blocks (or conversion units), etc., depending on the setting of the block division unit. After confirming the block information, the reference pixel composing unit can construct a reference pixel used for predicting the current block. In this case, the reference pixels may be managed through a temporary memory (e.g., array <Array>, primary array, secondary array, etc.), generated and removed for each intra-picture prediction process of the block, May be determined according to the configuration of the pixel.
참조 화소는 현재 블록을 중심으로 좌, 상, 좌상, 우상, 좌하에 위치한 인접 블록(참조 블록으로 지칭될 수 있음)에 속하는 화소일 수 있으나, 이에 한정되지 않고 다른 구성의 블록 후보군이 현재 블록의 예측에 사용될 수도 있다. 여기서 좌, 상, 좌상, 우상, 좌하에 위치한 인접 블록은 래스터 또는 Z 스캔에 따라 부/복호화가 수행될 경우에 따라 선정된 블록일 수 있으며, 스캔 순서를 달리하면 다른 위치의 인접 블록(예를 들어, 우, 하, 우하 블록 등)에 속하는 화소도 참조 화소가 될 수 있다.The reference pixel may be a pixel belonging to an adjacent block (may be referred to as a reference block) positioned at the left, upper, left, upper right, and lower left of the current block, but the present invention is not limited thereto. It can also be used for prediction. Here, adjacent blocks located in the left, upper, upper, right, and lower left positions may be blocks selected depending on whether raster or Z scan is performed, and if the scan order is different, For example, a pixel belonging to the right, lower, left, right, lower, right, lower, left,
또한, 참조 블록은 현재 블록이 속한 컬러 공간과 다른 컬러 공간에서 현재 블록과 대응되는 블록이 될 수 있다. 여기서 Y/Cb/Cr 포맷을 예로 들 때, 컬러 공간은 Y, Cb, Cr 중 하나를 의미할 수 있다. 또한, 현재 블록과 대응되는 블록이란, 현재 블록과 동일한 위치 좌표를 갖거나, 컬러 성분 구성 비율에 따라 현재 블록과 대응되는 위치 좌표를 갖는 블록을 의미할 수 있다.In addition, the reference block may be a block corresponding to the current block in a color space different from the color space to which the current block belongs. Here, when the Y / Cb / Cr format is taken as an example, the color space may mean one of Y, Cb and Cr. The block corresponding to the current block may have the same positional coordinates as the current block or may have a positional coordinate corresponding to the current block according to the color component composition ratio.
또한, 설명의 편의를 위해 상기 기 설정된 위치(좌, 상, 좌상, 우상, 좌하)에 따른 참조 블록이 하나의 블록으로 구성된 것을 전제로 설명하지만, 블록 분할에 따라 복수의 서브 블록으로 구성될 수도 있다.For convenience of explanation, it is assumed that reference blocks according to the predetermined positions (left, upper, left, upper right, lower left) are composed of one block. However, have.
정리하면, 현재 블록의 인접한 영역이 현재 블록의 화면내 예측을 위한 참조 화소의 위치일 수 있고, 예측 모드에 따라 다른 컬러 공간의 현재 블록과 대응되는 영역이 추가로 참조 화소의 위치로 고려될 수 있다. 상기 예 외에도 예측 모드, 방법 등에 따라 정의되는 참조 화소의 위치가 결정될 수 있다. 예를 들어, 블록 매칭 등의 방법을 통해 예측 블록을 생성할 경우에 참조 화소 위치는 현재 영상의 현재 블록 이전의 부/복호화가 완료된 영역 혹은 부/복호화가 완료된 영역에서 탐색 범위(예를 들어, 현재 블록의 왼쪽 또는 위쪽 또는 왼쪽 위, 오른쪽 위 등을 포함) 내에 포함된 영역이 참조 화소의 위치로 고려될 수 있다.In summary, the adjacent region of the current block may be the position of the reference pixel for intra-picture prediction of the current block, and the region corresponding to the current block of another color space may be considered as the position of the reference pixel according to the prediction mode have. In addition to the above example, the position of a reference pixel defined according to a prediction mode, a method, and the like can be determined. For example, when a prediction block is generated through a block matching method or the like, the reference pixel position may be determined based on a search range (for example, a search range in a sub-decoded area or a partially decoded area before the current block of the current image, An area included in the left or upper side or the upper left corner, the upper right corner, etc. of the current block) may be considered as the position of the reference pixel.
도 18를 참조하면, 현재 블록(M×N의 크기)의 화면내 예측에 사용되는 참조 화소는 현재 블록의 좌, 상, 좌상, 우상, 좌하로 인접한 화소(도 18의 Ref_L, Ref_T, Ref_TL, Ref_TR, Ref_BL)로 구성될 수 있다. 이때, 도 18에서 P(x,y)와 같은 형식으로 표현된 것은 화소 좌표를 의미할 수 있다. Referring to FIG. 18, the reference pixels used for intra-frame prediction of the current block (size of M × N) include left, upper, left, upper right, and lower left adjacent pixels (Ref_L, Ref_T, Ref_TL, Ref_TR, Ref_BL). In this case, in FIG. 18, what is expressed in the form of P (x, y) can mean pixel coordinates.
한편, 현재 블록과 인접한 화소는 적어도 하나의 참조 화소 계층으로 분류할 수 있는데, 현재 블록과 가장 인접한 화소는 ref_0{현재 블록의 경계 화소와 화소값 차이가 1인 화소들. p(-1,-1) ~ p(2M-1,-1), p(-1,0) ~ p(-1,2N-1)}, 그 다음 인접한 화소{현재 블록의 경계 화소와 화소값 차이 2. p(-2,-2) ~ p(2M,-2), p(-2,-1) ~ p(-2,2N)}는 ref_1, 그 다음 인접한 화소{현재 블록의 경계 화소와 화소값 차이 3. p(-3,-3) ~ p(2M+1, -3), p(-3,-2) ~ p(-3,2N+1)}는 ref_2 등으로 나눌 수 있다. 즉, 현재 블록의 경계 화소와 인접한 화소 거리에 따라 참조 화소를 복수의 참조 화소 계층으로 분류할 수 있다. Meanwhile, the pixel adjacent to the current block can be classified into at least one reference pixel layer, and the pixel closest to the current block is ref_0 {pixels having a pixel value difference of 1 from the boundary pixel of the current block. p (-1, -1) to p (-1, -1) to p (-1, (2, -2), p (-2, -1) to p (-2, 2N)} ref_1, the next adjacent pixel {the boundary of the current block The difference between pixel and pixel value 3. p (-3, -3) ~ p (2M + 1, -3), p (-3, -2) ~ p (-3,2N + 1)} is divided by ref_2 . That is, the reference pixel can be classified into a plurality of reference pixel layers according to the pixel distance adjacent to the boundary pixel of the current block.
또한, 여기서 참조 화소 계층은 인접한 이웃 블록마다 달리 설정할 수 있다. 예를 들어, 현재 블록과 상단으로 이웃한 블록을 참조 블록으로 사용할 때에는 ref_0번 계층에 따른 참조 화소를 사용하고, 우상단으로 이웃한 블록을 참조 블록으로 사용할 때에는 ref_1번 계층에 따른 참조 화소를 사용할 수 있다.Here, the reference pixel layer can be set differently for adjacent neighboring blocks. For example, when using the current block as the reference block and the neighboring block as the reference block, the reference pixel according to the ref_0 layer is used. When the neighboring block is used as the reference block, the reference pixel according to the ref_1 layer can be used have.
여기서 일반적으로 화면내 예측을 수행할 때 참조되는 참조 화소 집합은 현재 블록과 좌하, 좌, 좌상, 상단, 우상단으로 인접한 이웃 블록들에 속하고, ref_0번 계층(경계 화소와 가장 인접한 화소들)에 속하는 화소들이며, 이하에서 별도의 설명이 없다면, 이러한 화소들임을 전제한다. 그러나, 앞서 언급한 이웃 블록들 중 일부 블록에 속하는 화소들만 참조 화소 집합으로 사용할 수도 있고, 둘 이상의 계층에 속하는 화소들을 참조 화소 집합으로 사용할 수도 있다. 여기서 참조 화소 집합이나 계층은 묵시적으로 결정(부/복호화 장치에서 미리 설정)될 수도 있고, 명시적으로 결정(부호화 장치로부터 결정할 수 있는 정보를 수신)될 수도 있다.In general, the reference pixel set referred to when intra prediction is performed belongs to neighboring blocks adjacent to the current block and the lower left, left, upper left, upper right, and ref_0 layers (pixels nearest to the boundary pixel) And are assumed to be such pixels unless otherwise described below. However, only the pixels belonging to some blocks among the above-mentioned neighboring blocks may be used as a reference pixel set, or pixels belonging to two or more layers may be used as a reference pixel set. Here, the reference pixel set or hierarchy may be determined implicitly (preset in the subdecoder / decoder) or explicitly determined (information that can be determined from the encoder).
여기서, 지원되는 참조 화소 계층은 최대 3개인 것을 전제로 설명하지만 그 이상의 값 또한 가질 수 있고, 참조 화소 계층의 개수와 참조 가능한 이웃 블록들의 위치에 따른 참조 화소 집합의 수(또는 참조 화소 후보군으로 지칭될 수 있음)는 블록의 크기, 형태, 예측 모드, 영상 타입<I/P/B. 이때, 영상은 픽쳐, 슬라이스, 타일 등>, 컬러 성분 등에 따라 달리 설정될 수 있고, 관련 정보를 시퀀스, 픽쳐, 슬라이스, 타일 등의 단위에 포함할 수 있다.Here, it is assumed that a maximum of three reference pixel layers are supported. However, the number of reference pixel layers can be more than three, and the number of reference pixel sets according to the number of reference pixel layers and the positions of referenceable neighboring blocks I / P / B < / RTI > At this time, the image may be set differently according to a picture, a slice, a tile, etc., a color component, and the related information may be included in a unit of a sequence, a picture, a slice, or a tile.
본 발명에서는 현재 블록과 가장 인접한 참조 화소 계층부터 낮은 인덱스(0부터 1씩 증가)를 할당하는 경우를 전제로 설명하지만, 이에 한정되지 않는다. 또한, 후술하는 참조 화소 구성 관련 정보는 위와 같은 인덱스 설정(복수의 참조 화소 집합 중 하나를 선택하는 경우에 작은 인덱스에 짧은 비트를 할당하는 이진화 등) 하에 생성될 수 있다.In the present invention, a case where a low index (incremented from 0 to 1) is allocated from the reference pixel layer closest to the current block is presupposed, but the present invention is not limited thereto. Further, the reference-pixel-configuration-related information to be described later can be generated under the above-mentioned index setting (binarization in which a short bit is assigned to a small index when one of a plurality of reference pixel sets is selected).
또한, 지원되는 참조 화소 계층이 두 개 이상인 경우, 두 개 이상의 참조 화소 계층에 포함된 각각의 참조 화소를 이용하여 가중치 평균 등을 적용할 수 있다.In addition, when two or more reference pixel layers are supported, a weighted average or the like can be applied to each reference pixel included in two or more reference pixel layers.
예를 들어, 도 18의 ref_0번 계층과 ref_1번 계층에 위치한 화소들의 가중치 합으로 획득한 참조 화소를 사용하여 예측 블록을 생성할 수 있다. 이때, 각 참조 화소 계층에서 가중치 합이 적용되는 화소는 예측 모드(예를 들어, 예측 모드 방향성 등)에 따라 정수 단위 화소뿐만 아니라 소수 단위 화소일 수도 있다. 또한, 제1 참조 화소 계층에 따른 참조 화소를 사용하여 획득되는 예측 블록과 제2 참조 화소 계층에 따른 참조 화소를 사용하여 획득되는 예측 블록에 각각 가중치(예를 들어, 7:1, 3:1, 2:1, 1:1 등)를 주어 하나의 예측 블록을 획득할 수 있다. 이때, 가중치는 현재 블록과 인접한 참조 화소 계층에 따른 예측 블록일수록 더 높은 가중치를 가질 수 있다.For example, a prediction block can be generated using reference pixels obtained by summing weights of ref_0 and ref_1 layers in FIG. At this time, the pixel to which the weight sum is applied in each reference pixel layer may be a pixel unit as well as an integer unit pixel according to a prediction mode (for example, prediction mode directionality). (For example, 7: 1, 3: 1, 1: 1, 2: 1, , 2: 1, 1: 1, and so on) to obtain one prediction block. In this case, the weighting value may have a higher weight value as the prediction block according to the reference pixel layer adjacent to the current block.
참조 화소 구성 관련하여 명시적으로 정보가 생성되는 경우를 가정할 때 적응적인 참조 화소 구성을 허용하는 지시 정보(본 예에서 adaptive_intra_ref_sample_enabled_flag)는 비디오, 시퀀스, 픽쳐, 슬라이스, 타일 등의 단위에서 발생할 수 있다. Assuming that information is explicitly generated in relation to the reference pixel structure, the instruction information (adaptive_intra_ref_sample_enabled_flag in this example) allowing an adaptive reference pixel configuration may occur in units of video, sequence, picture, slice, tile, .
상기 지시 정보가 적응적인 참조 화소 구성을 허용(본 예에서 adaptive_intra_ref_sample_enabled_flag = 1)하는 것을 의미하면, 적응적인 참조 화소 구성 정보(본 예에서 adaptive_intra_ref_sample_flag)는 픽쳐, 슬라이스, 타일, 블록 등의 단위에서 발생할 수 있다.The adaptive reference pixel configuration information (adaptive_intra_ref_sample_flag in this example) may be generated in units of pictures, slices, tiles, blocks, etc., if the instruction information indicates that the adaptive reference pixel configuration is acceptable (adaptive_intra_ref_sample_enabled_flag = 1 in this example) have.
상기 구성 정보가 적응적인 참조 화소 구성(본 예에서 adaptive_intra_ref_sample_flag = 1)을 의미하면, 참조 화소 구성 관련 정보(예를 들어, 참조 화소 계층과 집합에 대한 선택 정보 등. 본 예에서 intra_ref_idx)는 픽쳐, 슬라이스, 타일, 블록 등의 단위에서 발생할 수 있다.If the configuration information indicates an adaptive reference pixel configuration (adaptive_intra_ref_sample_flag = 1 in this example), the reference pixel organization related information (e.g., selection information on the reference pixel hierarchy and the aggregation, such as intra_ref_idx in this example) Slices, tiles, blocks, and the like.
이때, 적응적인 참조 화소 구성을 허용하지 않거나 적응적인 참조 화소 구성이 아닌 경우에 참조 화소는 미리 정해진 설정에 따라 구성될 수 있다. 일반적으로 이웃 블록의 가장 인접한 화소를 참조 화소로 구성하는 것이 그에 대한 예일 수 있으나, 이에 한정되지 않고 다양한 경우의 수(예를 들어, ref_0와 ref_1이 참조 화소 계층으로 선택되고 ref_0와 ref_1을 통해 가중치 합 등의 방법으로 예측 화소값을 생성하는 경우 등. 즉, 묵시적인 경우)가 가능할 수 있다.At this time, if the adaptive reference pixel configuration is not allowed or the adaptive reference pixel configuration is not used, the reference pixel may be configured according to a predetermined setting. (Ref_0 and ref_1, for example, are selected as the reference pixel layer, and ref_0 and ref_1 are weighted through ref_0 and ref_1, respectively). However, the present invention is not limited to this, A case where a predictive pixel value is generated by a method such as summing, that is, an implied case) may be possible.
또한, 참조 화소 구성 관련 정보(예를 들어 참조 화소 계층 또는 집합에 대한 선택 정보 등)는 미리 설정된 정보(예를 들어, 참조 화소 계층이 ref_0로 미리 설정된 경우)를 제외하고 구성(예를 들어, ref_1, ref_2, ref_3 등)될 수 있으나, 역시 이에 한정되지 않는다.In addition, the reference pixel organization related information (e.g., reference pixel hierarchy or selection information for the aggregate) may be configured (for example, ref_1, ref_2, ref_3, etc.), but it is not so limited.
상기 예를 통해 참조 화소 구성에 관한 일부 경우를 살펴보았는데, 이는 다양한 부/복호화 정보 등과 결합되어 화면내 예측 설정이 정해질 수 있다. 이때, 부/복호화 정보는 영상 타입, 컬러 성분, 현재 블록의 크기, 형태, 예측 모드{예측 모드의 종류(방향성, 비방향성), 예측 모드의 방향(수직, 수평, 대각선1, 대각선2 등)} 등이 해당될 수 있으며, 이웃 블록의 부/복호화 정보와 현재 블록과 이웃 블록의 부/복호화 정보 조합 등에 따라 화면내 예측 설정(본 예에서는 참조 화소 구성 설정)이 정해질 수 있다.Some examples of the reference pixel configuration have been described with reference to the above example, which may be combined with various sub-decode information to determine intra-picture prediction settings. In this case, the sub-decoded information includes at least one of a video type, a color component, a size and a type of a current block, a prediction mode (a type of a prediction mode (directionality and non-directionality), a direction of a prediction mode (vertical, horizontal, diagonal 1, diagonal 2, } Or the like, and an intra-picture prediction setting (reference pixel configuration in this example) can be determined according to the sub-decoding information of the neighboring block and the combination of the sub-decoding information of the current block and the neighboring block.
도 19a 내지 도 19c는 본 발명의 일 실시예에 따른 참조 화소 구성에 대한 제2 예시도이다.19A to 19C are second exemplary views of a reference pixel configuration according to an embodiment of the present invention.
도 19a를 참조하면, 도 18의 ref_0번 참조 화소 계층만으로 참조 화소를 구성하는 경우를 확인할 수 있다. ref_0번 참조 화소 계층을 대상으로 이웃 블록(예를 들면, 좌하, 좌, 좌상, 상, 우상)에 속하는 화소들을 이용하여 참조 화소를 구성한 후에 후속하는 화면내 예측(참조 화소 생성, 참조 화소 필터링, 참조 화소 보간, 예측 블록 생성, 후처리 필터링 등. 참조 화소 구성에 따라 일부 화면내 예측 과정이 적응적으로 수행될 수 있음)을 수행할 수 있다. 본 예에서는 기 설정된 하나의 참조 화소 계층을 사용하는 경우로, 참조 화소 계층에 대한 설정 정보는 발생하지 않고, 비방향성 모드를 사용하여 화면내 예측을 수행하는 예를 나타낸다.Referring to FIG. 19A, it can be seen that the reference pixel is composed only of ref_0 reference pixel layer in FIG. (reference pixel generation, reference pixel filtering, and reference pixel generation) after a reference pixel is constructed using pixels belonging to a neighboring block (for example, lower left, left, upper left, Reference pixel interpolation, prediction block generation, post-processing filtering, etc. Some intra-picture prediction processes can be adaptively performed depending on the reference pixel configuration). In this example, there is shown an example in which intra prediction is performed using a non-directional mode without setting information for the reference pixel hierarchy when one preset reference pixel hierarchy is used.
도 19b를 참조하면, 지원되는 2개의 참조 화소 계층을 모두 이용하여 참조 화소를 구성하는 경우를 확인할 수 있다. 즉, 계층 ref_0와 계층 ref_1에 속하는 화소들을 이용하여(또는 두 계층에 속하는 화소들의 가중치 평균값을 이용하여) 참조 화소를 구성한 후 화면내 예측을 수행할 수 있다. 본 예에서는 기 설정된 복수의 참조 화소 계층을 사용하는 경우로, 참조 화소 계층에 대한 설정 정보는 발생하지 않고, 일부 방향성 예측 모드(도면에서 오른쪽 위에서 왼쪽 아래 방향 또는 그 반대 방향)를 사용하여 화면내 예측을 수행하는 예를 나타낸다.Referring to FIG. 19B, it can be confirmed that reference pixels are formed by using all two supported reference pixel layers. That is, the intra prediction can be performed after using the pixels belonging to the hierarchy ref_0 and the hierarchy ref_1 (or by using the weighted average value of the pixels belonging to the two hierarchies) reference pixels. In this example, the setting information for the reference pixel hierarchy is not generated, but a certain directional prediction mode (right upper to left lower direction or the opposite direction in the drawing) And the prediction is performed.
도 19c를 참조하면, 지원되는 3개의 참조 화소 계층 중에서 하나의 참조 화소 계층만을 이용하여 참조 화소를 구성하는 경우를 확인할 수 있다. 본 예에서는 복수의 참조 화소 계층 후보가 존재하여 이 중 사용되는 참조 화소 계층에 대한 설정 정보가 발생하고, 일부 방향성 예측 모드(도면에서 왼쪽 위에서 오른쪽 아래 방향)를 사용하여 화면내 에측을 수행하는 예를 나타낸다.Referring to FIG. 19C, it is confirmed that a reference pixel is constructed using only one reference pixel layer among three supported reference pixel layers. In this example, there are a plurality of reference pixel hierarchy candidates, setting information for the reference pixel hierarchy to be used among them is generated, and an example in which the in-screen side is performed using some directional prediction mode (upper left to lower right in the drawing) .
도 20은 본 발명의 일 실시예에 따른 참조 화소 구성에 대한 제3 예시도이다.20 is a third exemplary view of a reference pixel structure according to an embodiment of the present invention.
도 20의 도면 기호 a는 크기가 64×64 이상인 블록이며, 도면 기호 b는 크기가 16×16 이상 ~ 64×64 미만인 블록이고, 도면 기호 c는 크기가 16×16미만인 블록이다.20 is a block having a size of 64 × 64 or more, a drawing symbol b is a block having a size of 16 × 16 or more to less than 64 × 64, and a drawing symbol c is a block having a size of less than 16 × 16.
도면 기호 a에 따른 블록을 화면내 예측을 수행할 현재 블록으로 하면, 가장 인접한 하나의 참조 화소 계층(ref_0)을 이용하여 화면내 예측을 수행할 수 있다.If the block according to the drawing symbol a is a current block to be subjected to in-picture prediction, intra-picture prediction can be performed using the nearest neighbor reference pixel ref_0.
또한, 도면 기호 b에 따른 블록을 화면내 예측을 수행할 현재 블록으로 하면, 지원 가능한 2개의 참조 화소 계층(ref_0, ref_1)을 이용하여 화면내 예측을 수행할 수 있다.In addition, if the block according to the drawing symbol b is a current block to be subjected to in-frame prediction, intra prediction can be performed using two supportable reference pixel layers ref_0 and ref_1.
또한, 도면 기호 c에 따른 블록을 화면내 예측을 수행할 현재 블록으로 하면, 지원 가능한 3개의 참조 화소 계층(ref_0, ref_1, ref_2)을 이용하여 화면내 예측을 수행할 수 있다.In addition, if the block according to the drawing symbol c is the current block to be subjected to in-frame prediction, intra prediction can be performed using three supportable reference pixel layers ref_0, ref_1, ref_2.
도면 기호 a 내지 c에 따른 설명을 참조하면, 화면내 예측을 수행할 현재 블록의 크기에 따라 지원 가능한 참조 화소 계층의 개수를 달리 결정할 수 있다. 도 20에서는 현재 블록의 크기가 클수록 이웃 블록의 크기는 작을 확률이 높아지는데, 이는 다른 영상 특성으로 인한 분할의 결과일 수 있기 때문에, 현재 블록과 화소값 거리가 큰 화소로부터 예측을 수행하는 것을 방지하고자 하는 목적으로 블록의 크기가 커질수록 지원되는 참조 화소 계층의 개수가 줄어드는 경우를 가정하지만, 그 반대를 포함한 다른 변형의 경우도 가능하다.Referring to the explanations with reference to the drawing symbols a to c, it is possible to determine the number of supportable reference pixel layers differently according to the size of a current block to be subjected to intra prediction. In FIG. 20, the larger the size of the current block, the higher the probability that the size of the neighboring block is small. This may be a result of division due to other image characteristics. Therefore, It is assumed that as the size of the block increases, the number of supported reference pixel layers decreases. However, other variants including the opposite case are also possible.
도 21은 본 발명의 일 실시예에 따른 참조 화소 구성에 대한 제4 예시도이다.21 is a fourth exemplary view of a reference pixel structure according to an embodiment of the present invention.
도 21을 참조하면, 화면내 예측을 수행하는 현재 블록이 직사각 형태인 경우를 확인할 수 있다. 현재 블록이 직사각 형태로 가로 및 세로가 비대칭이라면, 현재 블록에서 길이가 긴 가로측 경계면과 인접한 참조 화소 계층의 지원 개수를 크게 설정하고, 현재 블록에서 길이가 짧은 세로측 경계면과 인접한 참조 화소 계층의 지원 개수를 적게 설정할 수 있다. 도면에서는 현재 블록의 가로 경계면과 인접한 참조 화소 계층을 2개로 설정하고, 현재 블록의 세로 경계면과 인접한 참조 화소 계층을 1개로 설정한 것을 확인할 수 있다. 이것은 현재 블록에서 길이가 짧은 세로측 경계면과 인접한 화소들은 현재 블록에 포함된 화소들과의 거리가 먼 경우가 많기 때문에(가로 길이가 길기 때문), 예측의 정확도가 감소될 수 있다. 따라서, 길이가 짧은 세로측 경계면과 인접한 참조 화소 계층의 지원 개수를 적게 설정하였으나, 그 반대의 경우도 가능할 수 있다. Referring to FIG. 21, it can be seen that the current block performing the intra prediction is of a rectangular shape. If the current block is rectangular and the horizontal and vertical are asymmetric, the number of support of the reference pixel layer adjacent to the horizontal side boundary having a long length in the current block is set to be large and the support of the reference pixel layer adjacent to the vertical boundary surface having a short length in the current block You can set a small number. In the figure, it is confirmed that the reference pixel layer adjacent to the horizontal boundary surface of the current block is set to two, and the reference pixel layer adjacent to the vertical boundary surface of the current block is set to one. This is because the accuracy of the prediction can be reduced because the pixels adjacent to the short side of the current block in the short side are often far away from the pixels included in the current block (because of a long length). Therefore, although the number of support of the reference pixel hierarchy adjacent to the side of the longitudinally shortened side is set small, the opposite case may be possible.
또한, 화면내 예측 모드의 종류 또는 현재 블록과 이웃한 이웃 블록의 위치에 따라 예측에 사용할 참조 화소 계층을 달리 결정할 수 있다. 예를 들어, 현재 블록의 상단, 우상단으로 인접한 블록에 속하는 화소를 참조 화소로 사용하는 방향성 모드는 두 개 이상의 참조 화소 계층을 사용하고, 현재 블록의 좌단, 좌하단으로 인접한 블록에 속하는 화소를 참조 화소로 사용하는 방향성 모드는 가장 인접한 하나의 참조 화소 계층만을 사용할 수도 있다.In addition, the reference pixel layer to be used for prediction can be determined differently depending on the type of the intra prediction mode or the neighboring block neighboring the current block. For example, in a directional mode using a pixel belonging to a block adjacent to the upper and upper ends of the current block as reference pixels, two or more reference pixel layers are used, and a pixel belonging to a block adjacent to the left end and the lower left end of the current block is referred to The directional mode used as a pixel may use only the nearest reference pixel layer.
한편, 복수의 참조 화소 계층에서 각 참조 화소 계층을 통해 생성되는 예측 블록이 서로 동일하거나 유사하다면, 참조 화소 계층의 설정 정보를 생성하는 것은 불필요한 데이터를 추가로 발생하게 하는 결과일 수 있다. On the other hand, if the prediction blocks generated through the reference pixel layers in the plurality of reference pixel layers are the same or similar to each other, generating the setting information of the reference pixel layer may be a result of additionally generating unnecessary data.
예를 들어, 각 참조 화소 계층을 구성하는 화소들의 분포 특성이 서로 유사하거나 동일하다면 어느 참조 화소 계층을 사용하더라도 비슷하거나 동일한 예측 블록이 생성될 수 있으므로, 참조 화소 계층을 선정하는 데이터를 생성할 필요가 없다. 이때, 참조 화소 계층을 구성하는 화소들의 분포 특성은 화소들의 평균이나 분산값을 미리 설정된 임계값과 비교함으로써 판단할 수 있다.For example, if the distribution characteristics of the pixels constituting each reference pixel hierarchy are similar or identical to each other, a similar or identical prediction block can be generated regardless of which reference pixel hierarchy is used. Therefore, it is necessary to generate data for selecting a reference pixel hierarchy There is no. At this time, the distribution characteristic of the pixels constituting the reference pixel layer can be determined by comparing the average or variance of the pixels with a predetermined threshold value.
즉, 최종적으로 결정된 화면내 예측 모드를 기준으로 참조 화소 계층들이 서로 동일 또는 유사하다면, 미리 설정된 방법(예를 들면 가장 인접한 참조 화소 계층을 선정)으로 참조 화소 계층을 선정할 수 있다.That is, if the reference pixel layers are the same or similar based on the finally determined intra-picture prediction mode, the reference pixel layer can be selected by a predetermined method (for example, selecting the nearest reference pixel layer).
이때, 복호화기에서는 부호화 장치로부터 화면내 예측 정보(또는 화면내 예측 모드 정보)를 수신하고, 수신된 정보를 기초로 참조 화소 계층을 선정하는 정보를 수신할지 여부를 판단할 수 있다.At this time, the decoder may receive intra-picture prediction information (or intra-picture prediction mode information) from the encoding apparatus and determine whether to receive information for selecting a reference pixel hierarchy based on the received information.
상기 다양한 예를 통해 복수의 참조 화소 계층을 이용해 참조 화소를 구성되는 경우를 나타내었지만, 이에 한정되지 않고 다양한 변형의 예가 가능하며 다른 추가적인 구성과 결합되어 나타낼 수도 있다.Although reference pixels are formed using a plurality of reference pixel layers through the various examples, the present invention is not limited thereto, and various modifications may be possible and may be combined with other additional configurations.
화면내 예측의 참조 화소 구성부는 참조 화소 생성부, 참조 화소 보간부, 참조 화소 필터부 등을 포함할 수 있으며, 상기 구성의 전부 또는 일부를 포함하여 구성할 수 있다. 여기서 참조 화소가 될 수 있는 화소들을 포함하는 블록을 참조 후보 블록으로 지칭할 수 있다. 또한, 참조 후보 블록은 일반적으로 현재 블록과 인접한 이웃 블록일 수 있다.The reference pixel forming unit of the intra prediction may include a reference pixel generating unit, a reference pixel interpolating unit, a reference pixel filter unit, and the like, and may include all or a part of the above configuration. Herein, a block including pixels which can be reference pixels may be referred to as a reference candidate block. Also, the reference candidate block may be a neighboring block that is generally adjacent to the current block.
참조 화소 구성부에서 참조 후보 블록에 대하여 설정되는 참조 화소 사용 가능성(Availability)에 따라, 참조 후보 블록에 속하는 화소를 참조 화소로 사용할 수 있는지 결정할 수 있다.It is possible to determine whether a pixel belonging to the reference candidate block can be used as a reference pixel according to the reference pixel availability (Availability) set for the reference candidate block in the reference pixel block.
상기 참조 화소 사용 가능성은 다음의 조건 중 적어도 하나를 만족하는 경우에 사용 불가로 판단할 수 있다. 예를 들어, 참조 후보 블록이 픽쳐 경계 바깥에 위치하는 경우, 현재 블록과 동일한 분할 단위(예를 들어, 슬라이스, 타일 등)에 속하지 않는 경우, 부/복호화가 완료되지 않은 경우, 부/복호화 설정에 따라 사용이 제한되는 경우 중 하나라도 만족하는 경우에는 해당하는 참조 후보 블록에 속하는 화소들은 참조할 수 없는 것으로 판단할 수 있다. 이때, 앞선 조건들을 모두 만족하지 않는 경우에는 사용 가능으로 판단할 수 있다.The usability of the reference pixel can be determined to be unusable when at least one of the following conditions is satisfied. For example, when the reference candidate block is located outside the picture boundary, it does not belong to the same division unit (for example, slice, tile, etc.) as the current block, and the sub- It is determined that the pixels belonging to the corresponding reference candidate block can not be referred to. At this time, if all of the above conditions are not satisfied, it can be judged that it is usable.
또한, 부/복호화 설정에 의해 참조 화소 사용을 제한할 수 있다. 예를 들어, 참조 후보 블록에 대한 참조를 제한하는 플래그(예를 들어, constrained_intra_pred_flag)가 활성화된 경우, 해당 참조 후보 블록에 속하는 화소를 참조 화소로 사용할 수 없도록 제한될 수 있다. 상기 플래그는 통신 환경을 비롯한 각종 외부 요인으로 인한 오류에 강인한 부/복호화를 수행하기 위하여, 참조 후보 블록이 현재 픽쳐와 시간적으로 다른 영상을 참조하여 복원된 블록인 경우에 적용될 수 있다.Further, the use of the reference pixels can be restricted by the setting of the subdivision / decryption. For example, when a flag (for example, constrained_intra_pred_flag) that restricts a reference to a reference candidate block is activated, the pixel belonging to the reference candidate block can be restricted so that it can not be used as a reference pixel. The flag may be applied to a case where the reference candidate block is a reconstructed block referring to an image temporally different from the current picture in order to perform robust addition / decryption due to various external factors including a communication environment.
여기서 참조를 제한하는 플래그가 비활성화 된 경우(예를 들어, I 픽쳐 타입 또는 P나 B 픽쳐 타입에서 constrained_intra_pred_flag = 0일 수 있음)에는 참조 후보 블록의 화소를 참조 화소로 모두 사용할 수 있다. 또한, 참조를 제한하는 플래그가 활성화된 경우(예를 들어, P나 B 픽쳐 타입에서 constrained_intra_pred_flag = 1일 수 있음)에 참조 후보 블록이 화면내 예측으로 부호화되었는지, 화면간 예측으로 부호화되었는지에 따라, 참조 가능 여부가 결정될 수 있다. 즉, 참조 후보 블록이 화면내 예측(Intra prediction)으로 부호화되었다면, 해당 참조 후보 블록은 상기 플래그의 활성화 여부와 관계없이 참조가 가능할 수 있고, 참조 후보 블록이 화면간 예측(Inter prediction)으로 부호화되었다면, 해당 참조 후보 블록은 상기 플래그의 활성화 여부에 따라 참조 가능 여부가 결정될 수 있다.Here, if the flag for limiting the reference is disabled (for example, the constrained_intra_pred_flag = 0 in the I picture type or the P or B picture type), the pixel of the reference candidate block can be used as the reference pixel. In addition, depending on whether the reference candidate block is coded by intra-picture prediction or inter-picture prediction when the flag for limiting the reference is activated (for example, constrained_intra_pred_flag = 1 in the P or B picture type) Whether or not reference is possible can be determined. That is, if the reference candidate block is coded by intra prediction, the reference candidate block can be referred to regardless of whether the flag is activated or not, and if the reference candidate block is coded by inter prediction , And the referential candidate block can be referenced according to whether the flag is activated or not.
또한, 다른 컬러 공간에서 현재 블록과 대응되는 위치를 갖는 복원 블록이 참조 후보 블록이 될 수 있다. 이때에는 참조 후보 블록의 부호화 모드에 따라 참조 가능 여부가 결정될 수 있다. 예를 들어, 현재 블록이 일부 색차 성분(Cb, Cr)에 속하면, 휘도 성분(Y)에서 현재 블록과 대응되는 위치를 갖고 부/복호화가 완료된 블록(=참조 후보 블록)의 부호화 모드에 따라 참조 가능 여부가 결정될 수 있다. 이것은 컬러 공간에 따라 독립적으로 부호화 모드가 결정되는 경우에 해당하는 예시일 수 있다. Also, a restoration block having a position corresponding to the current block in another color space may be a reference candidate block. At this time, whether or not the reference candidate block can be referred to can be determined according to the coding mode of the reference candidate block. For example, if the current block belongs to a certain chrominance component (Cb, Cr), it is determined whether or not the current block has a position corresponding to the current block in the luminance component (Y) Whether or not reference is possible can be determined. This may be an example corresponding to the case where the encoding mode is independently determined according to the color space.
참조를 제한하는 플래그는 일부 영상 타입(예를 들어, P 또는 B 슬라이스/타일 타입 등)에서 적용되는 설정일 수 있다.The flag to limit the reference may be a setting applied in some video types (e.g., P or B slice / tile type, etc.).
참조 화소 사용 가능성을 통해 참조 후보 블록이 모두 사용 가능, 일부 사용 가능, 모두 사용 불가한 경우로 분류할 수 있다. 모두 사용 가능한 경우를 제외한 나머지 경우에는 사용 불가한 후보 블록 위치의 참조 화소를 채우거나 생성할 수 있다.It is possible to classify all of the reference candidate blocks as usable, partially usable, and all useless as a reference candidate block through the usability of reference pixels. It is possible to fill or generate reference pixels of unusable candidate block positions in all cases except when all of them are usable.
참조 후보 블록이 사용 가능한 경우에는 해당 블록의 기 설정된 위치의 화소(또는 현재 블록과 인접한 화소)를 현재 블록의 참조 화소 메모리에 저장할 수 있다. 이때, 해당 블록 위치의 화소 데이터는 그대로 복사되거나 참조 화소 필터링 등의 과정을 통해 참조 화소 메모리에 저장될 수 있다.If a reference candidate block is available, a pixel at a predetermined position of the block (or a pixel adjacent to the current block) can be stored in the reference pixel memory of the current block. At this time, the pixel data of the corresponding block position may be copied as it is or may be stored in the reference pixel memory through a process such as reference pixel filtering.
참조 후보 블록이 사용 불가인 경우에는 참조 화소 생성 과정을 통해 획득된 화소를 현재 블록의 참조 화소 메모리에 포함할 수 있다.If the reference candidate block is unavailable, the pixel obtained through the reference pixel generation process can be included in the reference pixel memory of the current block.
정리하면, 참조 화소 후보 블록이 사용 가능 상태인 경우 참조 화소를 구성할 수 있고, 참조 화소 후보 블록이 사용 불가 상태인 경우 참소 화소를 생성할 수 있다.In summary, a reference pixel can be constructed when the reference pixel candidate block is usable, and an entropy pixel can be generated when the reference pixel candidate block is unusable.
사용 불가능한 참조 후보 블록에서 미리 설정된 위치에 참조 화소를 채우는 방법은 다음과 같다. 먼저, 임의의 화소값을 사용하여 참조 화소를 생성할 수 있다. 여기서 임의의 화소값은 화소값 범위에 속하는 특정 화소값으로서, 비트 심도에 기초한 화소값 조정 과정 또는 영상의 화소값 범위 정보에 기초한 화소값 조정 과정 등에서 사용되는 화소값의 최소값, 최대값, 중앙값이거나, 그 값들로부터 유도되는 값일 수 있다. 여기서 임의의 화소값으로 참조 화소를 생성하는 것은 참조 후보 블록 모두가 사용 불가한 경우에 적용될 수도 있다.A method of filling a reference pixel at a predetermined position in an unusable reference candidate block is as follows. First, a reference pixel can be generated using an arbitrary pixel value. Here, the arbitrary pixel value is a specific pixel value belonging to a pixel value range, and may be a minimum value, a maximum value, or a median value of a pixel value used in a pixel value adjusting process based on bit depth or a pixel value adjusting process based on pixel value range information of an image , And may be a value derived from the values. Here, generating a reference pixel with an arbitrary pixel value may be applied when all the reference candidate blocks are unusable.
다음으로, 사용 불가능한 참조 후보 블록과 인접한 블록에 속하는 화소를 이용하여 참조 화소를 생성할 수 있다. 구체적으로, 인접 블록에 속하는 화소를 사용 불가능한 참조 후보 블록에서 미리 설정된 위치에 외삽, 내삽 또는 복사하여 채워넣을 수 있다. 이때, 복사나 외삽 등을 수행하는 방향은 시계 방향 또는 시계 반대 방향일 수 있으며, 부/복호화 설정에 따라 정해질 수 있다. 예를 들어, 블록 내의 참조 화소 생성 방향은 기 설정된 하나의 방향을 따르거나 사용 불가한 블록의 위치에 따라 적응적으로 결정되는 방향을 따를 수 있다.Next, a reference pixel can be generated by using pixels belonging to a block adjacent to the unusable reference candidate block. Specifically, the pixels belonging to the adjacent block can be extrapolated, interpolated, or copied to a predetermined position in the unusable reference candidate block and filled in. At this time, the direction of performing the copying or extrapolation may be clockwise or counterclockwise, and may be determined according to the sub / decryption setting. For example, the reference pixel generation direction in the block may follow a predetermined one direction or may be adaptively determined according to the position of the unusable block.
도 22a 내지 도 22b는 사용 불가능한 참조 후보 블록에서 미리 설정된 위치에 참조 화소를 채우는 방법에 대한 예시도이다.FIGS. 22A and 22B are exemplary diagrams illustrating a method of filling a reference pixel at a preset position in an unusable reference candidate block. FIG.
도 22a를 참조하면, 하나의 참조 화소 계층으로 이루어진 참조 화소들 중에서 사용 불가능한 참조 후보 블록에 속하는 화소들을 채우는 방법을 확인할 수 있다. 도 22a에서 현재 블록과 우상단으로 인접한 이웃 블록이 사용 불가능한 참조 후보 블록인 경우, 우상단으로 인접한 이웃 블록에 속하는 참조 화소(<1>로 표시)는 현재 블록의 상단으로 인접한 이웃 블록에 속하는 참조 화소를 시계 방향으로 외삽 또는 선형 외삽하여 생성할 수 있다.Referring to FIG. 22A, a method of filling pixels belonging to the unusable reference candidate block among the reference pixels made up of one reference pixel layer can be confirmed. Referring to FIG. 22A, when a neighboring block adjacent to the current block is an unusable reference candidate block, a reference pixel (denoted by < 1 >) belonging to a neighboring block adjacent to the upper right of the current block is referred to as a reference pixel belonging to a neighboring block adjacent to the upper end of the current block Can be generated by extrapolating in clockwise or linear extrapolation.
또한, 도 22a에서 현재 블록의 좌측으로 인접한 이웃 블록이 사용 불가능한 참조 후보 블록인 경우, 좌측으로 인접한 이웃 블록에 속하는 참조 화소(<2>로 표시)는, 현재 블록의 좌상단으로 인접한 이웃 블록(사용 가능한 블록에 해당)에 속하는 참조 화소를 시계 반대 방향으로 외삽 또는 선형 외삽하여 생성될 수 있다. 이때, 시계 방향으로 외삽 또는 선형 외삽하면 현재 블록의 좌하단으로 인접한 이웃 블록에 속하는 참조 화소를 이용할 수 있다.In FIG. 22A, when a neighboring block adjacent to the left of the current block is a unusable reference candidate block, a reference pixel (denoted by < 2 >) belonging to a neighboring block adjacent to the left is a neighboring block (Corresponding to a possible block) in a counterclockwise direction. At this time, if extrapolated or linearly extrapolated in the clockwise direction, reference pixels belonging to neighboring blocks adjacent to the lower left end of the current block can be used.
또한, 도 22a에서 현재 블록의 상측으로 인접한 이웃 블록에 속하는 참조 화소 일부(<3>으로 표시)는 양쪽에 사용 가능한 참조 화소를 내삽 또는 선형 내삽함으로써 생성될 수 있다. 즉, 이웃 블록에 속하는 참조 화소 전체가 아니라 일부가 사용 불가능한 경우도 설정될 수 있고, 이 경우 사용 불가능한 참조 화소의 인접 화소를 이용하여 사용 불가능한 참조 화소를 채울 수 있다.Also, in FIG. 22A, a part of a reference pixel (denoted by < 3 >) belonging to a neighboring block on the upper side of the current block can be generated by interpolating or linearly interpolating reference pixels usable on both sides. That is, a case where not all of the reference pixels belonging to the neighboring block but some of the reference pixels can not be used can also be set. In this case, unusable reference pixels can be used to fill unusable reference pixels.
도 22b를 참조하면, 복수의 참조 화소 계층으로 구성된 참조 화소들 중에서 일부 참조 화소가 사용 불가능 할 때에 사용 불가능한 참조 화소를 채우는 방법을 확인할 수 있다. 도 22b를 참조하면, 현재 블록의 우상단으로 인접한 이웃 블록이 사용 불가능한 참조 후보 블록인 경우, 해당 이웃 블록에 속하는 3개의 참조 화소 계층에 속하는 화소들(<1>로 표시)은, 현재 블록의 상단으로 인접한 이웃 블록(사용 가능한 블록에 해당)에 속하는 화소들을 이용하여 시계 방향으로 생성될 수 있다.Referring to FIG. 22B, a method of filling a reference pixel that can not be used when some reference pixels are unavailable among reference pixels composed of a plurality of reference pixel layers can be confirmed. Referring to FIG. 22B, when neighboring blocks adjacent to the upper right of the current block are reference blocks that can not be used, pixels (denoted by < 1 >) belonging to the three reference pixel layers belonging to the neighboring block are located at the upper May be generated clockwise using pixels belonging to adjacent neighboring blocks (corresponding to usable blocks).
또한, 도 22b에서 현재 블록의 좌측으로 인접한 이웃 블록이 사용 불가능한 참조 후보 블록이고, 현재 블록의 좌상단과 좌하단으로 인접한 이웃 블록이 사용 가능한 참조 후보 블록이라면, 사용 가능한 참조 후보 블록의 참조 화소를 시계 방향, 시계 반대 방향 또는 양방향으로 채워넣어 사용 불가능한 참조 후보 블록의 참조 화소를 생성할 수 있다.In FIG. 22B, if a neighboring block adjacent to the left of the current block is a unusable reference candidate block and neighboring blocks adjacent to the upper left end and the lower left end of the current block are usable reference blocks, Direction, the counterclockwise direction, or both directions to generate reference pixels of unusable reference candidate blocks.
이때, 각 참조 화소 계층의 사용 불가능한 참조 화소는 동일한 참조 화소 계층의 화소를 이용하여 생성될 수 있으나, 동일하지 않은 참조 화소 계층의 화소를 이용하는 것을 배제하지 않는다. 예를 들어 도 22b에서 현재 블록의 상단으로 인접한 이웃 블록에 속하는 3개의 참조 화소 계층에 따른 참조 화소들(<3>으로 표시)이 사용 불가능한 참조 화소로 전제한다. 이때, 현재 블록과 가장 인접한 참조 화소 계층(ref_0)과 가장 먼 참조 화소 계층(ref_2)에 속하는 화소들은 동일한 참조 화소 계층에 속하고 사용가능한 참조 화소를 이용하여 생성될 수 있다. 또한, 현재 블록과 1화소 거리만큼 떨어진 참조 화소 계층(ref_1)에 속하는 화소들은 동일한 참조 화소 계층(ref_1)에 속하는 화소를 이용하는 것뿐만 아니라, 다른 참조 화소 계층(ref_0, ref_2)에 속하는 화소를 이용하여 생성될 수 있다. 이때, 양쪽으로 사용가능한 참조 화소를 2차 선형 내삽 등의 방법을 사용하여 사용 불가능한 참조 화소를 채워넣을 수 있다. At this time, the unusable reference pixels of each reference pixel hierarchy can be generated using the pixels of the same reference pixel hierarchy, but the use of pixels of the same reference pixel hierarchy is not excluded. For example, in FIG. 22B, reference pixels (denoted by < 3 >) along three reference pixel layers belonging to neighboring blocks adjacent to the upper end of the current block are assumed as unusable reference pixels. At this time, the pixels belonging to the reference pixel hierarchy ref_0 and the reference pixel hierarchy ref_0 closest to the current block can be generated using the usable reference pixels belonging to the same reference pixel hierarchy. In addition, the pixels belonging to the reference pixel hierarchy ref_1 separated by a distance of one pixel from the current block use pixels belonging to the same reference pixel hierarchy ref_1 as well as pixels belonging to the other reference pixel hierarchy ref_0 and ref_2 Lt; / RTI &gt; At this time, reference pixels usable on both sides can be filled with unusable reference pixels by a method such as quadratic linear interpolation.
상기 예는 복수의 참조 화소 계층이 참조 화소로 구성될 때 일부 참조 후보 블록이 사용 불가한 경우에 참조 화소를 생성하는 예를 나타낸다. 또는, 부/복호화 설정(예를 들어, 적어도 하나의 참조 후보 블록이 사용 불가한 경우 또는 모든 참조 후보 블록이 사용 불가한 경우 등)에 따라 적응적인 참조 화소 구성을 허용하지 않는 설정(본 예에서 adaptive_intra_ref_sample_flag = 0)이 가능할 수 있다. 즉, 어떤 추가적으로 발생하는 정보없이 참조 화소는 미리 정해진 설정에 따라 구성될 수 있다.The above example shows an example in which a reference pixel is generated when some reference candidate blocks are not available when a plurality of reference pixel layers are configured as reference pixels. Alternatively, in a setting that does not allow an adaptive reference pixel configuration according to a sub / decode setting (e.g., when at least one reference candidate block is unavailable or all reference candidate blocks are unavailable) adaptive_intra_ref_sample_flag = 0) may be possible. That is, the reference pixel can be configured according to a predetermined setting without any additional occurring information.
참조 화소 보간부는 참조 화소의 선형 보간을 통해 소수 단위의 참조 화소를 생성할 수 있다. 본 발명에서는 참조 화소 구성부의 일부 과정으로 가정하여 설명하나, 예측 블록 생성부에 포함되어 구성될 수 있으며 예측 블록을 생성하기 전에 수행되는 과정으로 이해할 수 있다.The reference pixel interpolator can generate the reference pixel in the decimal unit through the linear interpolation of the reference pixel. In the present invention, it is assumed that the process is a partial process of the reference pixel forming unit, but it may be included in the prediction block generating unit and can be understood as a process performed before generating the prediction block.
또한, 후술하는 참조 화소 필터부와 구분되는 별개의 과정으로 가정하지만, 하나의 과정으로 통합되어 구성될 수 있다. 이는 참조 화소 보간부와 참조 화소 필터부를 통해 복수의 필터링이 적용될 때 참조 화소에 적용되는 필터링 횟수의 증가로 참조 화소에 왜곡을 발생시키는 경우를 대비하고자 하는 구성일 수도 있다.Although it is assumed that the process is different from the reference pixel filter unit described later, it can be integrated into one process. This may be a case in which a case of generating a distortion in a reference pixel due to an increase in the number of filtering applied to the reference pixel when a plurality of filtering is applied through the reference pixel interpolator and the reference pixel filter unit.
참조 화소 보간 과정은 일부 예측 모드(예를 들어, 수평, 수직, 일부 대각선 모드<Diagonal down right, Diagonal down left, Diagonal up right와 같이 45도 각도를 이루는 모드>, 비방향성 모드, 컬러 모드, 컬러 복사 모드 등. 즉, 예측 블록 생성 시에 소수 단위의 보간이 필요 없는 모드)에는 수행하지 않으며, 그 외의 예측 모드(예측 블록 생성 시에 소수 단위의 보간이 필요한 모드)에 수행될 수 있다.The reference pixel interpolation process may be performed in a certain prediction mode (for example, a horizontal mode, a vertical mode, a partial diagonal mode, a diagonal down left mode, a diagonal down left mode, (A mode in which interpolation is not required in decimal units at the time of generating a prediction block), and other prediction modes (a mode in which a decimal unit interpolation is required at the time of generating a prediction block).
보간 정밀도(예를 들어, 1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 등의 화소 단위)는 예측 모드(또는 예측 모드 방향성)에 따라 결정될 수 있다. 예를 들어, 45도 각도를 이루는 예측 모드의 경우 보간 과정은 필요하지 않으며, 22.5도나 67.5도 각도를 이루는 예측 모드의 경우 1/2 화소 단위의 보간이 필요하다. 위와 같이 예측 모드에 따라 적어도 하나의 보간 정밀도 및 최대 보간 정밀도가 결정될 수 있다.The interpolation precision (for example, pixel units of 1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, etc.) can be determined according to the prediction mode have. For example, in the case of a prediction mode having a 45-degree angle, an interpolation process is not required, and in the case of a prediction mode having an angle of 22.5 degrees or 67.5 degrees, a half-pixel interpolation is required. As described above, at least one interpolation accuracy and maximum interpolation precision can be determined according to the prediction mode.
참조 화소 보간을 위해 미리 설정된 하나의 보간 필터(예를 들어, 2-tap 선형 보간 필터)만을 사용하거나, 복수의 보간 필터 후보군(예를 들어, 4-tap 큐빅 필터, 4-tap 가우시안 필터, 6-tap 위너 필터, 8-tap 칼만 필터등) 중에서 부/복호화기 설정에 따라 선택된 필터를 사용할 수도 있다. 이때, 보간 필터는 필터 tap의 수(즉, 필터링이 적용되는 화소의 개수), 필터 계수 등의 차이로 구분될 수 있다.(For example, a 4-tap cubic filter, a 4-tap Gaussian filter, a 6-tap linear interpolation filter, or a 4-tap linear interpolation filter) -tap winner filter, 8-tap Kalman filter, etc.) can be used according to the setting of the sub / decoder. At this time, the interpolation filter can be divided into the difference of the number of filter tap (i.e., the number of pixels to which filtering is applied) and the filter coefficient.
보간은 낮은 정밀도에서 높은 정밀도 순서(예를 들어, 1/2 -> 1/4 - 1/8)로 단계적으로 수행될 수 있고, 일괄적으로 수행될 수도 있다. 전자의 경우는 정수 단위의 화소와 소수 단위의 화소(현재 보간하고자 하는 화소보다 낮은 정밀도로 앞서 보간된 화소)를 기반으로 보간을 수행하는 것을 의미하고, 후자의 경우는 정수 단위의 화소를 기반으로 보간을 수행하는 것을 의미할 수 있다.The interpolation may be performed step by step in a low precision to a high precision order (e.g., 1/2 -> 1/4 - 1/8), and may be performed collectively. In the former case, interpolation is performed based on a pixel in an integer unit and a pixel in a decimal unit (a pixel interpolated in advance with a precision lower than a pixel to be interpolated). In the latter case, It may mean performing interpolation.
복수의 필터 후보군 중 하나를 사용하는 경우 필터 선택 정보를 명시적으로 생성할 수 있거나 또는 묵시적으로 정할 수 있으며, 부/복호화 설정(예를 들어, 보간 정밀도, 블록의 크기, 형태, 예측 모드 등)에 따라 정해질 수 있다. 이때, 명시적으로 생성되는 단위는 비디오, 시퀀스, 픽쳐, 슬라이스, 타일, 블록 등이 해당된다.When using one of a plurality of filter candidate groups, the filter selection information can be explicitly generated or implicitly defined, and the sub-decode setting (e.g., interpolation precision, block size, shape, prediction mode, etc.) . &Lt; / RTI &gt; In this case, explicitly generated units are video, sequence, picture, slice, tile, block, and the like.
예를 들어, 1/4 이상의 보간 정밀도(1/2, 1/4)를 갖는 경우에는 정수 단위의 참조 화소에 8-tap 칼만 필터를 적용하고, 1/4 미만 1/16 이상의 보간 정밀도(1/8, 1/16)를 갖는 경우에는 정수 단위의 참조 화소와 1/4 이상 단위의 보간된 참조 화소에 4-tap 가우시안 필터를 적용하고, 1/16 미만의 보간 정밀도(1/32, 1/64)를 갖는 경우에는 정수 단위 참조 화소와 1/16 이상 단위의 보간된 참조 화소에 2-tap 선형 필터를 적용할 수 있다.For example, in the case of having 1/4 or more interpolation accuracy (1/2, 1/4), an 8-tap Kalman filter is applied to reference pixels in integer units, and an interpolation precision / 8, 1/16), a 4-tap Gaussian filter is applied to the reference pixels in the integer unit and the interpolated reference pixels in units of 1/4 or more, and interpolation precision of 1/16 or less / 64), a 2-tap linear filter can be applied to an integer reference pixel and an interpolated reference pixel of 1/16 or more units.
또는, 64 × 64 이상 블록의 경우에는 8-tap 칼만 필터를 적용하고, 64 × 64 미만 16 × 16 이상 블록의 경우에는 6-tap 위너 필터를 적용하고, 16 × 16 미만 블록의 경우에는 4-tap 가우시안 필터를 적용할 수 있다. Alternatively, an 8-tap Kalman filter is applied to 64 × 64 or more blocks, a 6-tap Wiener filter is applied to 64 × 64 or more blocks of 16 × 16 or more, and 4- tap Gaussian filter can be applied.
또는, 수직 또는 수평 모드를 기준으로 22.5도 각도 차이 미만인 예측 모드의 경우에는 4-tap 큐빅 필터를 적용하고, 22.5도 각도 차이 이상인 예측 모드의 경우 4-tap 가우시안 필터를 적용할 수 있다.Alternatively, a 4-tap Gaussian filter may be applied for a prediction mode with a 22.5 degree angular difference based on a vertical or horizontal mode and a 4-tap Gaussian filter for a prediction mode with a 22.5 degree angular difference or more.
또한, 복수의 필터 후보군은 일부 부/복호화 설정에는 4-tap 큐빅 필터, 6-tap 위너 필터, 8-tap 칼만 필터으로 구성될 수 있고, 일부 부/복호화 설정에는 2-tap 선형 필터, 6-tap 위너 필터로 구성될 수 있다.In addition, a plurality of candidate filter groups may be composed of a 4-tap cubic filter, a 6-tap winner filter, and an 8-tap Kalman filter for some subdivisions / decode settings, a 2-tap linear filter, tap Wiener filter.
도 23a 내지 도 23c는 본 발명의 일 실시예에 따라 구성된 참조 화소들에 대해 소수 화소 단위를 기반으로 보간을 수행하는 방법에 대한 예시도이다.FIGS. 23A to 23C are views illustrating a method of performing interpolation based on a fractional pixel unit for reference pixels constructed according to an embodiment of the present invention.
도 23a를 참조하면, 하나의 참조 화소 계층(ref_i)이 참조 화소로 지원되는 경우에 소수 단위의 화소를 보간하는 방법을 확인할 수 있다. 구체적으로 보간 대상 화소(x로 표기)와 인접한 화소들(본 예에서는 정수 단위 화소에 필터를 적용하는 경우를 가정)에 필터링(int_func_1D을 필터링 함수로 표기)을 적용하여 보간을 수행할 수 있다. 여기서는 하나의 참조 화소 계층이 참조 화소로 사용되므로 보간 대상 화소(x)와 동일한 참조 화소 계층에 속하는 인접 화소를 이용하여 보간이 수행될 수 있다.Referring to FIG. 23A, a method of interpolating a pixel of a decimal unit when one reference pixel layer ref_i is supported as a reference pixel can be confirmed. Specifically, interpolation can be performed by applying filtering (denoted by int_func_1D as a filtering function) to pixels adjacent to the interpolation target pixel (denoted by x) (assuming that a filter is applied to an integer unit pixel in this example). Here, since one reference pixel layer is used as a reference pixel, interpolation can be performed using adjacent pixels belonging to the same reference pixel hierarchy as the pixel x to be interpolated.
도 23b를 참조하면, 두 개 이상의 참조 화소 계층(ref_i, ref_j, ref_k)이 참조 화소로 지원되는 경우에서 소수 단위의 보간 화소를 획득하는 방법을 확인할 수 있다. 도 23b에서는 참조 화소 계층 ref_j에서 참조 화소 보간 과정을 수행할 때, 다른 참조 화소 계층(ref_k, ref_i)을 추가로 이용하여 소수 단위의 보간 대상 화소의 보간을 수행할 수 있다. 구체적으로, 보간 대상 화소(xj의 위치) 및 다른 참조 화소 계층에 속하고 보간 대상 화소와 대응되는 위치(예측 모드의 방향에 따라 각 참조 화소 계층에서 상응하는 위치)의 화소(xk, xi)들 각각을 인접 화소들(ak ~ hk, aj ~ hj, ai ~ hi)을 필터링(보간 과정. int_func_1D 함수)하여 획득하고, 획득된 1차 보간 화소들(xk, xj, xi)에 대해 추가적인 필터링(보간 과정이 아닌 [1, 2, 1] / 4, [1, 6, 1] / 8와 같은 가중치 평균 등에 해당되는 필터링일 수 있음)을 수행함으로써 최종적으로 참조 화소 계층 ref_j에서의 최종 보간 화소(x)를 획득할 수 있다. 본 예에서는 보간 대상 화소에 대응되는 다른 참조 화소 계층의 화소(xk, xi)가 보간 과정을 통해 획득 가능한 소수 단위 화소인 경우를 가정하여 설명하였다.Referring to FIG. 23B, a method of acquiring interpolation pixels of a decimal unit in a case where two or more reference pixel layers ref_i, ref_j, and ref_k are supported as reference pixels can be confirmed. In FIG. 23B, when performing the reference pixel interpolation process in the reference pixel layer ref_j, it is possible to interpolate interpolation target pixels in a fractional unit by further using another reference pixel layer ref_k, ref_i. Specifically, the pixel (x k , x) of the interpolation object pixel (position of x j ) and the pixel (x k , x) of the position belonging to another reference pixel hierarchy and corresponding to the interpolation object pixel s i) of the adjacent pixels for each of (a k ~ h k, a j ~ h j, a i ~ h i) the filter (s interpolation process. int_func_1D function) first interpolation pixel is obtained, and the obtained (x k , by performing an additional filter (which may be applicable instead of the interpolation process, [1, 2, 1] / 4, [1, 6,1] / 8, the weighted average or the like, such as filter) for x j, x i) Finally, the final interpolation pixel (x) in the reference pixel hierarchy ref_j can be obtained. In this example, it is assumed that the pixel (x k , x i ) of another reference pixel layer corresponding to the pixel to be interpolated is a decimal unit pixel that can be obtained through an interpolation process.
위 예시에서는 각 참조 화소 계층에서 필터링을 통해 1차 보간 화소를 얻고, 1차 보간 화소들을 대상으로 추가적인 필터링을 수행하여 최종 보간 화소를 얻는 경우로 서술하였으나, 여러 참조 화소 계층의 인접 화소들(ak ~ hk, aj ~ hj, ai ~ hi)을 필터링하여 한번에 최종 보간 화소를 획득할 수도 있다.In the above example, the first interpolation pixel is obtained through filtering at each reference pixel layer, and the final interpolation pixel is obtained by performing additional filtering on the first interpolation pixels. However, k to h k , a j to h j , and a i to h i may be filtered to obtain the final interpolation pixel at a time.
도 23b에서 지원되는 3개의 참조 화소 계층 중에서 실제 참조 화소로 사용되는 계층은 ref_j인 경우일 수 있다. 즉, 참조 화소로 구성되는 하나의 참조 화소 계층의 보간을 위해 후보군에 포함(예를 들어, 참조 화소로 구성되지 않는다는 것은 해당 참조 화소 계층의 화소는 예측에 사용되지는 않는다는 의미일 수 있으나 이 경우에는 보간을 위해 해당 화소들을 참조하는 것이니 정확히 따지면 사용되는 경우에 포함될 수도 있음)되는 다른 참조 화소 계층을 이용하는 경우일 수 있다.Of the three reference pixel layers supported in FIG. 23B, the layer used as an actual reference pixel may be ref_j. In other words, the interpolation of one reference pixel hierarchy constituted of reference pixels is included in the candidate group (for example, not being composed of reference pixels means that pixels of the reference pixel hierarchy are not used for prediction, May refer to the corresponding pixels for interpolation and may be included in the case of being used precisely).
도 23c를 참조하면, 지원되는 2개의 참조 화소 계층이 모두 참조 화소로 사용되는 경우에 대한 예시이다. 지원되는 각 참조 화소 계층에서 보간하고자 하는 소수 단위 위치와 인접 화소들(본 예에서 di, dj, ei, ej)를 입력 화소로 구성하고, 인접 화소들에 대하여 필터링을 수행함으로써, 최종 보간 화소(x)를 획득할 수 있다. 다만, 여기서도 도 23b에서와 같이 각 참조 화소 계층에서 1차 보간 화소를 얻고 1차 보간 화소에 추가적인 필터링을 수행하여 최종 보간 화소(x)를 얻는 방법도 가능할 수 있다.Referring to FIG. 23C, an example in which two supported reference pixel layers are used as reference pixels. ( I , j , e i , e j in this example) as the input pixels and performing filtering on the adjacent pixels in each of the supported reference pixel layers, The final interpolation pixel x can be obtained. However, as shown in FIG. 23B, it is also possible to obtain a first interpolation pixel at each reference pixel layer and perform additional filtering on the first interpolation pixel to obtain a final interpolation pixel (x).
상기 예시는 참조 화소 보간 과정으로 한정되는 것은 아니며, 화면내 예측의 다른 과정(예를 들어, 참조 화소 필터 과정, 예측 블록 생성 과정 등) 등과 결합되는 과정으로도 이해될 수 있다. The above example is not limited to the reference pixel interpolation process but can be understood as a process that is combined with another process of intra-picture prediction (for example, a reference pixel filter process, a prediction block generation process, etc.).
도 24a 및 도 24b는 본 발명의 일 실시예에 따른 적응적인 참조 화소 필터링 방법을 설명하기 위한 제1 예시도이다.24A and 24B are first illustrations for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
참조 화소 필터부는 일반적으로 저역 통과 필터{Low-pass Filter. 예를 들어, [1, 2, 1] / 4, [2, 3, 6, 3, 2] / 16와 같은 3-tap, 5-tap 필터 등}를 사용하여 평활화(Smoothing)하는 것이 참조 화소 필터부의 주된 목적일 수 있으나, 필터 적용 목적{예를 들어, 선명화(Sharpening) 등}에 따라 다른 종류의 필터(예를 들어, 고역 통과 필터 등)가 사용될 수 있다. 본 발명에서는 평활화를 목적으로 필터링을 수행하여 부/복호화 과정에 발생하는 열화를 줄여주는 것을 중심으로 설명한다.The reference pixel filter unit generally includes a low-pass filter. For example, smoothing using a 3-tap or 5-tap filter such as [1, 2, 1] / 4, [2, 3, 6, 3, 2] / 16, (E.g., a high-pass filter, etc.) may be used depending on the purpose of the filter application (e.g., sharpening, etc.). In the present invention, filtering for the purpose of smoothing is performed to reduce deterioration occurring in the sub-decoding process.
참조 화소 필터링은 부/복호화 설정에 따라 수행 여부가 결정될 수 있다. 그러나 일괄적으로 필터링 유무를 적용하는 것은 영상의 부분적인 특성을 반영하지 못하는 단점이 발생하므로, 영상의 부분적인 특성에 기반하여 필터링을 수행하는 것이 부호화 성능 향상에 유리할 수 있다. 여기서 영상의 특성은 영상 타입, 컬러 성분, 양자화 파라미터, 현재 블록의 부/복호화 정보(예를 들어, 현재 블록의 크기, 형태, 분할 정보, 예측 모드 등)뿐만 아니라 이웃 블록의 부/복호화 정보, 그리고 현재 블록과 이웃 블록의 부/복호화 정보의 조합 등에 따라 판단할 수 있다. 또한, 참조 화소 분포 특성(예를 들어, 참조 화소 영역의 분산, 표준편차, 평탄한 영역, 불연속적 영역 등)에 따라 판단할 수 있다. The reference pixel filtering can be performed according to the subdecryption setting. However, since applying the filtering presence / absence collectively does not reflect the partial characteristics of the image, filtering based on the partial characteristics of the image may be advantageous for improving the coding performance. Here, the characteristics of the image include not only the image type, the color component, the quantization parameter, the addition / decryption information of the current block (for example, the size, type, division information, and prediction mode of the current block) And a combination of the current block and the sub-block information of the neighboring block. Further, it can be determined according to the reference pixel distribution characteristics (for example, dispersion, standard deviation, flat area, discontinuous area, etc. of the reference pixel area).
도 24a를 참조하면, 일부 부/복호화 설정(예를 들어, 블록 크기 범위 A, 예측 모드 B, 컬러 성분 C 등)에 따른 분류(카테고리 0)에 속하면, 필터링을 적용하지 않고, 일부 부/복호화 설정(예를 들어, 현재 블록의 예측 모드 A, 기 설정된 이웃 블록의 예측 모드 B 등)에 따른 분류(카테고리 1)에 속하면, 필터링을 적용할 수 있다. 24A, if it belongs to the classification (category 0) according to some partial / decode settings (for example, block size range A, prediction mode B, color component C, etc.) (Category 1) according to the decoding setting (for example, the prediction mode A of the current block, the prediction mode B of the predetermined neighboring block, and the like), filtering can be applied.
도 24b를 참조하면, 일부 부/복호화 설정(예를 들어, 현재 블록의 크기 A, 이웃 블록의 크기 B, 현재 블록의 예측 모드 C 등)에 따른 분류(카테고리 0)에 속하면 필터링을 적용하지 않고, 일부 부/복호화 설정(예를 들어, 현재 블록의 크기 A, 현재 블록의 형태 B, 이웃 블록의 크기 C 등)에 따른 분류(카테고리 1)에 속하면 필터 A를 이용하여 필터링을 수행하고, 일부 부/복호화 설정(예를 들어, 현재 블록의 부모 블록 A, 이웃 블록의 부모 블록 B 등)에 따른 분류(카테고리 2)에 속하면 필터 b를 이용하여 필터링을 수행할 수 있다.Referring to FIG. 24B, filtering is applied when belonging to a classification (category 0) according to some partial / decode settings (for example, a size A of a current block, a size B of a neighboring block, a prediction mode C of a current block, (Category 1) according to some partial / decryption settings (for example, the size A of the current block, the type B of the current block, the size C of the neighboring block, etc.), filtering is performed using the filter A (Category 2) according to some partial / decryption settings (for example, the parent block A of the current block, the parent block B of the neighboring block, etc.), filtering can be performed using the filter b.
따라서, 현재 블록과 이웃 블록의 크기, 예측 모드, 컬러 성분 등에 따라 필터링의 적용 여부, 필터의 종류, 필터 정보의 부호화 여부(명시적/묵시적), 필터링 횟수 등을 결정할 수 있고, 필터의 종류는 필터의 tap의 수, 필터 계수 등의 차이로 분류될 수 있다. 이때, 필터링 횟수가 2번 이상은 동일한 필터를 여러 번 적용하던지 또는 다른 필터를 각각 적용하는 등의 응용도 가능할 수 있다.Therefore, it is possible to determine whether or not the filtering is applied, the type of the filter, whether or not the filter information is encoded (explicit / implicit), the number of times of filtering, and the like depending on the size of the current block and the neighboring block, the prediction mode, The number of taps of the filter, the filter coefficient, and the like. At this time, it is also possible to apply the same filter several times or apply different filters to the filter more than once.
상기 예는 영상의 특성에 따라 참조 화소 필터링이 미리 설정된 경우일 수 있다. 즉, 묵시적으로 필터 관련 정보가 정해지는 경우일 수 있다. 그러나 전술한 것과 같은 영상의 특성에 대한 판단이 맞지 않을 경우에는 오히려 부호화 효율이 부정적인 영향을 끼칠 수 있기 때문에 이를 위한 부분을 고려할 필요가 있다.In the above example, reference pixel filtering may be preset according to the characteristics of the image. That is, the filter-related information may be implicitly determined. However, if the determination of the characteristics of the image as described above is not appropriate, the coding efficiency may be adversely affected. Therefore, it is necessary to consider a part thereof.
위와 같은 경우를 방지하고자 하는 목적으로 참조 화소 필터링은 명시적인 설정이 가능할 수 있다. 예를 들어, 필터링 적용 여부에 대한 정보가 발생할 수 있다. 이때, 필터가 하나일 경우에는 필터 선택 정보는 발생하지 않으며, 복수의 필터 후보군이 존재하는 경우에는 필터 선택 정보가 발생할 수 있다.For the purpose of preventing the above case, the reference pixel filtering can be explicitly set. For example, information about whether filtering is applied may occur. At this time, if there is one filter, no filter selection information is generated, and if there are a plurality of filter candidate groups, filter selection information may be generated.
상기 예를 통해 참조 화소 필터링 관련하여 묵시적인 설정과 명시적인 설정에 대해 설명하였지만, 일부 경우에는 명시적인 설정으로 정해지고, 일부 경우에는 묵시적인 설정으로 정해지는 혼합적인 경우가 가능할 수 있다. 여기서 묵시적의 의미는 복호화기에서 참조 화소 필터에 관련된 정보(예를 들어, 필터링 적용 여부 정보, 필터 종류 정보)를 유도할 수 있음을 의미한다.Although the implicit and explicit settings have been described with reference to the reference pixel filtering in the above example, a mixed case may be possible, which is determined in some cases by an explicit setting and in some cases by an implicit setting. Implicitly, the implication here is that the decoder can derive information related to the reference pixel filter (eg, filtering applicability information, filter type information).
도 25는 본 발명의 일 실시예에 따른 적응적인 참조 화소 필터링 방법을 설명하기 위한 제2 예시도이다.25 is a second exemplary view for explaining an adaptive reference pixel filtering method according to an embodiment of the present invention.
도 25를 참조하면, 부/복호화 정보를 통해 확인되는 영상의 특성에 따라 카테고리를 분류하고, 분류된 카테고리에 따라 참조 화소 필터링을 적응적으로 수행할 수 있다. Referring to FIG. 25, categories may be classified according to characteristics of images that are identified through the sub-decryption information, and reference pixel filtering may be adaptively performed according to the classified categories.
예를 들어, 카테고리 0으로 분류되는 경우에는 필터링을 적용하지 않고, 카데고리 1로 분류되는 경우에는 필터링 A를 적용한다. 카테고리 0와 1의 경우에는 묵시적인 참조 화소 필터링의 일 예일 수 있다.For example, if classification is classified as category 0, filtering is not applied. If classification is classified as category 1, filtering A is applied. In the case of categories 0 and 1, it may be an example of implicit reference pixel filtering.
또한, 카테고리 2로 분류되는 경우에는 필터링을 적용하지 않거나 필터링 A를 적용할 수 있으며, 이때 발생하는 정보는 필터링 적용 여부에 대한 정보일 수 있으며 필터 선택 정보는 발생하지 않는다.In addition, in the case of category 2 classification, no filtering is applied or filtering A can be applied. Information generated at this time may be information on whether or not filtering is applied, and filter selection information does not occur.
또한, 카테고리 3으로 분류되는 경우에는 필터링 A를 적용하거나 필터링 B를 적용할 수 있으며, 이때 발생하는 정보는 필터 선택 정보일 수 있으며 필터링 적용은 무조건 수행하는 예일 수 있다. 즉, 카테고리 3으로 분류되는 경우는 필터링을 꼭 수행하되 필터링의 종류를 선택해야 하는 상황으로 이해될 수 있다.In the case of classification into Category 3, filtering A may be applied or filtering B may be applied. The information generated at this time may be filter selection information, and filtering application may be performed unconditionally. That is, in the case of classifying into category 3, it can be understood that the filtering must be performed but the filtering type must be selected.
또한, 카테고리 4로 분류되는 경우에는 필터링을 적용하지 않거나 필터링 A를 적용하거나 또는 필터링 B를 적용할 수 있으며, 이때 발생하는 정보는 필터링 적용 여부에 대한 정보와 필터 선택 정보일 수 있다.In addition, in the case of classification into Category 4, filtering may not be applied, filtering A may be applied, or filtering B may be applied. Information generated at this time may be information on whether to apply filtering and filter selection information.
정리하면, 카테고리에 따라 명시적 또는 묵시적인 처리가 결정될 수 있으며, 명시적인 처리로 진행되는 경우 각 참조 화소 필터 관련 후보군 설정이 적응적으로 구성될 수 있다.In summary, explicit or implicit processing can be determined depending on the category, and when proceeding with explicit processing, each reference pixel filter related candidate group setting can be adaptively configured.
상기 카테고리 관련하여 다음과 같은 예를 고려할 수 있다.The following examples may be considered with respect to the above category.
먼저, 64 × 64 이상의 크기를 갖는 블록의 경우 현재 블록의 예측 모드에 따라 <필터링 off>, <필터링 on + 필터 A>, <필터링 on + 필터 B>, <필터링 on + 필터 C> 중 하나가 묵시적으로 결정될 수 있다. 이때, 참조 화소 분포 특성을 고려할 경우 추가되는 후보는 <필터링 on + 필터 C>일 수 있다. 즉, 필터링 on인 상황에서는 필터 A, 필터 B가 적용되거나 또는 필터 C가 적용될 수 있다.First, in the case of a block having a size of 64 × 64 or more, one of <filtering off>, <filtering on + filter A>, <filtering on + filter B>, <filtering on + filter C> It can be determined implicitly. In this case, when the reference pixel distribution characteristic is considered, the candidate to be added may be < Filtering on + Filter C >. That is, the filter A and the filter B may be applied or the filter C may be applied in a situation where the filter is on.
또한, 64 × 64 미만 16 × 16 이상의 크기를 갖는 블록의 경우 현재 블록의 예측 모드에 따라 <필터링 off>, <필터링 on + 필터 A>, <필터링 on + 필터 B> 중 하나가 묵시적으로 결정될 수 있다.In the case of a block having a size of 64 × 64 or less and 16 × 16 or more, one of <filtering off>, <filtering on + filter A>, and <filtering on + filter B> may be implicitly determined according to the prediction mode of the current block have.
또한, 16 × 16 미만의 크기를 갖는 블록의 경우 현재 블록의 예측 모드에 따라 <필터링 off>, <필터링 on + 필터 A>, <필터링 on + 필터 B> 중 하나가 선택된다. 이때, 일부 예측 모드의 경우 <필터링 off>로 묵시적으로 결정되고, 일부 예측 모드의 경우 <필터링 off>, <필터링 on + 필터 A> 중 하나가 명시적으로 선택되고, 일부 예측 모드의 경우 <필터링 off>, <필터링 + 필터 B> 중 하나가 명시적으로 선택될 수 있다.In the case of a block having a size smaller than 16 × 16, one of <filtering off>, <filtering on + filter A>, and <filtering on + filter B> is selected according to the prediction mode of the current block. In this case, some prediction modes are implicitly determined as &quot; filtering off &quot;, and one of <filtering off> and <filtering on + filter A> is explicitly selected in some prediction modes, off &gt;, &lt; filtering + filter B &gt; can be explicitly selected.
복수의 참조 화소 필터 관련 정보에 대한 명시적 처리에 대한 일 예로, 각 필터링(본 예에서는 필터링 off 상황도 포함)에 따른 획득되는 참조 화소가 동일하거나 비슷한 경우에는 참조 화소 필터 정보(예를 들어, 참조 화소 필터링 허용 정보, 참조 화소 필터 정보 등)를 생성하는 것은 불필요한 중복 정보를 생성하는 결과일 수 있다. 예를 들어, 각 필터링에 따라 획득되는 참조 화소 분포 특성(예를 들어, 각 참조 화소의 평균, 분산 등을 통해 획득된 값과 경계값<Threshold>을 비교하여 판단되는 특성)이 동일하거나 비슷하다면 참조 화소 필터 관련 정보는 생략될 수 있다. 참조 화소 필터 관련 정보가 생략되면, 미리 설정된 방법(예를 들어, 필터링 off)으로 필터링을 적용할 수 있다. 복호화기에서는 화면내 예측 정보를 수신하여 참조 화소 필터 관련 정보를 수신할 지 여부에 대해 부호화기와 동일한 판단이 가능할 수 있고, 이 판단에 기반하여 참조 화소 필터 관련 정보 수신 여부를 결정할 수 있다.As an example of the explicit processing for the plurality of reference pixel filter related information, when the reference pixels obtained according to each filtering (including the filtering off situation in this example) are the same or similar, the reference pixel filter information (for example, Reference pixel filtering permission information, reference pixel filter information, etc.) may be the result of generating unnecessary duplicate information. For example, if the reference pixel distribution characteristics obtained according to each filtering (for example, the characteristics obtained by comparing the values obtained through the mean, variance, etc. of each reference pixel with the threshold < Threshold & The reference pixel filter related information may be omitted. If the reference pixel filter related information is omitted, filtering can be applied by a predetermined method (for example, filtering off). The decoder may determine whether to receive the reference pixel filter related information by receiving the intra prediction information, and determine whether to receive the reference pixel filter related information based on the determination.
참조 화소 필터링 관련하여 명시적으로 정보가 생성되는 경우를 가정할 때 적응적인 참조 화소 필터링을 허용하는 지시 정보(본 예에서 adaptive_ref_filter_enabled_flag)는 비디오, 시퀀스, 픽쳐, 슬라이스, 타일 등의 단위에서 발생할 수 있다.Assuming that information is explicitly generated in relation to reference pixel filtering, the instruction information (adaptive_ref_filter_enabled_flag in this example) that allows adaptive reference pixel filtering may occur in units of video, sequence, picture, slice, tile, .
상기 지시 정보가 적응적인 참조 화소 필터링을 허용(본 예에서 adaptive_ref_filter_enabled_flag = 1)하는 것을 의미하면, 적응적인 참조 화소 필터링 허용 정보(본 예에서 adaptive_ref_filter_flag)는 픽쳐, 슬라이스, 타일, 블록 등의 단위에서 발생할 수 있다.If the instruction information means that adaptive reference pixel filtering is allowed (adaptive_ref_filter_enabled_flag = 1 in this example), adaptive reference pixel filtering allowance information (adaptive_ref_filter_flag in this example) is generated in units of pictures, slices, tiles, .
상기 허용 정보가 적응적인 참조 화소 필터링(본 예에서 adaptive_ref_filter_flag = 1)을 의미하면, 참조 화소 필터링 관련 정보(예를 들어, 참조 화소 필터 선택 정보 등. 본 예에서 ref_filter_idx)는 픽쳐, 슬라이스, 타일, 블록 등의 단위에서 발생할 수 있다.If the permissible information indicates adaptive reference pixel filtering (adaptive_ref_filter_flag = 1 in this example), the reference pixel filtering related information (ref_filter_idx in this example, for example, reference pixel filter selection information) is a picture, a slice, Block or the like.
이때, 적응적인 참조 화소 필터링을 허용하지 않거나 적응적인 참조 화소 필터링이 적용되지 않는 경우에 참조 화소는 미리 정해진 설정(전술한 것과 같이 미리 영상 부/복호화 정보 등에 따라 필터링 적용 여부, 필터의 종류 등이 결정됨)에 따라 필터링 동작이 정해질 수 있다.At this time, when the adaptive reference pixel filtering is not allowed or the adaptive reference pixel filtering is not applied, the reference pixel is set to a predetermined setting (whether or not the filtering is applied in advance, the type of the filter, etc., Lt; / RTI &gt; is determined).
도 26a 내지 도 26b는 본 발명의 일 실시예에 따른 참조 화소 필터링에서 하나의 참조 화소 계층을 이용하는 예시도이다.FIGS. 26A to 26B are views illustrating an example of using one reference pixel layer in reference pixel filtering according to an exemplary embodiment of the present invention.
도 26a를 참조하면, 참조 화소 계층 ref_i에 속하는 화소들 중에서 대상 화소(d) 및 대상 화소(d)와 인접한 화소(a, b, c, e, f, g)에 필터링(smt_func_1 함수로 지칭함)을 적용하여 보간을 수행하는 것을 확인할 수 있다.Referring to FIG. 26A, filtering (referred to as smt_func_1 function) is performed on the pixels a, b, c, e, f and g adjacent to the target pixel d and the target pixel d among the pixels belonging to the reference pixel layer ref_i. And the interpolation is performed.
도 26a는 일반적으로 한 번의 필터링이 적용되는 예일 수 있으나, 복수의 필터링이 적용되는 경우 또한 가능할 수 있다. 예를 들어, 1차 필터링을 적용하여 획득된 참조 화소(본 예에서 a*, b*, c*, d* 등)에 2차 필터링을 적용할 수 있다.26A may be an example in which a single filtering is applied, but it may also be possible if a plurality of filtering is applied. For example, the secondary filtering may be applied to the reference pixels (a *, b *, c *, d *, etc. in this example) obtained by applying the first-order filtering.
도 26b를 참조하면, 대상 화소(e)를 중심으로 양 쪽에 위치한 화소에 대하여 거리(예를 들면 a와의 거리 z)에 비례한 선형 보간을 통해 필터링(smt_func_2함수로 지칭)된 화소(e*)를 획득할 수 있다. 여기서 양쪽에 위치한 화소는 현재 블록의 상 블록, 좌 블록, 상 블록 + 우상 블록, 좌 블록 + 좌하 블록, 좌상 블록 + 상 블록 + 우상 블록, 좌상 블록 + 좌 블록 + 좌하 블록, 좌상 블록 + 좌 블록 + 상 블록 + 좌하 블록 + 우상 블록 등으로 이루어지는 블록내 인접 화소들의 양 끝점에 위치한 화소가 될 수 있다. 도 26b는 참조 화소 분포 특성에 따라 수행되는 참조 화소 필터링일 수 있다.26B, a pixel e * that is filtered (referred to as an smt_func_2 function) through linear interpolation proportional to a distance (for example, a distance z from a) to pixels located on both sides with respect to a target pixel e, Can be obtained. In this case, the pixels located at both sides of the current block include the upper block, left block, upper block + upper right block, left block + left lower block, upper left block + upper block + upper right block, upper left block + A block located at both end points of adjacent pixels in a block including a + upper block + a lower left block + an upper right block. 26B may be reference pixel filtering performed according to the reference pixel distribution characteristic.
도 26a 내지 도 26b는 참조 화소 필터링을 위해 필터링 대상 참조 화소와 동일한 참조 화소 계층의 화소를 이용하는 경우를 나타낸다. 이때, 참조 화소 필터링에 사용되는 필터의 종류는 참조 화소 계층에 따라 동일하거나 동일하지 않을 수 있다.Figs. 26A to 26B show the case of using pixels of the same reference pixel hierarchy as the reference pixel to be filtered for reference pixel filtering. At this time, the types of filters used for reference pixel filtering may or may not be the same depending on the reference pixel hierarchy.
또한, 복수의 참조 화소 계층을 이용할 경우에는 일부 참조 화소 계층에서 참조 화소 필터링을 위해 동일한 참조 화소 계층의 화소 뿐만 아니라 동일하지 않은 참조 화소 계층의 화소를 이용하는 경우가 가능할 수 있다.When a plurality of reference pixel layers are used, it may be possible to use not only pixels of the same reference pixel layer but also pixels of the same reference pixel layer for filtering reference pixels in some reference pixel layers.
도 27는 본 발명의 일 실시예에 따른 참조 화소 필터링에서 복수의 참조 화소 계층을 이용하는 예시도이다.27 is a diagram illustrating an example of using a plurality of reference pixel layers in reference pixel filtering according to an exemplary embodiment of the present invention.
도 27를 참조하면, 먼저, 참조 화소 계층 ref_k와 ref_i에서는 각각 동일한 참조 화소 계층에 속하는 화소들을 이용하여 필터링이 수행될 수 있다. 즉, 참조 화소 계층 ref_k에서 대상 화소 dk 및 그 인접 화소(ak 내지 gk)에 대한 필터링(함수 smt_func_1D로 정의)을 수행하여 필터링한 화소(dk*)를 획득할 수 있고, 참조 화소 계층 ref_i에서 대상 화소 di 및 그 인접 화소(ai 내지 gi)에 대한 필터링(함수 smt_func_1D로 정의)을 수행하여 필터링한 화소(di*)를 획득할 수 있다.Referring to FIG. 27, filtering can be performed using pixels belonging to the same reference pixel layer in the reference pixel layers ref_k and ref_i, respectively. That is, the filtered pixel d k * can be obtained by performing filtering (defined by the function smt_func_1D) on the target pixel d k and its neighboring pixels a k to g k in the reference pixel layer ref_k, The filtered pixel d i * may be obtained by performing filtering (defined by the function smt_func_1D) on the target pixel d i and its neighboring pixels a i to g i in the layer ref_i.
또한, 참조 화소 계층 ref_j에서 참조 화소 필터링을 수행할 때는 동일한 참조 화소 계층 ref_j뿐만 아니라, 참조 화소 계층 ref_j와 공간적으로 인접한 다른 참조 화소 계층인 ref_i, ref_k에 속하는 화소를 이용할 수 있다. 상세하게는, 대상 화소 dj를 중심으로 공간적으로 인접한 화소들(ck, dk, ek, cj, ej, ci, di, ei. 즉, 3×3 정사각 마스크를 갖는 필터일 수 있음)에 대한 필터링(smt_func_2D 함수로 정의)을 적용하여 보간된 화소(dj*)를 획득할 수 있다. 다만, 3×3 정사각 형태에 한정되는 것은 아니며, 대상 화소를 중심으로 5×2 직사각 형태(bk, ck, dk, ek, fk, bj, cj, ej, fj), 3×3 다이아몬드 형태(dk, cj, ej, di), 5×3 십자가 형태(dk, bj, cj, ej, fj, di) 등의 마스크를 갖는 필터를 사용할 수도 있다.In addition, when reference pixel filtering is performed on the reference pixel layer ref_j, not only the same reference pixel layer ref_j but also pixels belonging to ref_i and ref_k which are spatially adjacent to the reference pixel layer ref_j can be used. In detail, the pixels (c k , d k , e k , c j , e j , c i , d i and e i spatially adjacent to the target pixel d j , Filter (which may be a filter) (defined by smt_func_2D function) to obtain the interpolated pixel d j *. However, 3 × 3 is not limited to a square shape, 5 × 2 rectangular shape around the target pixel (b k, c k, d k, e k, f k, b j, c j, e j, f j ), 3 × 3 having the mask, such as a diamond shape (d k, c j, e j, d i), 5 × 3 cross form (d k, b j, c j, e j, f j, d i) You can also use filters.
여기서 참조 화소 계층은 앞선 도 18 내지 도 22b등에서 도시한 것과 같이 현재 블록과 인접한 이웃 블록에 속하고 현재 블록의 경계와 가까운 화소들로 구성된다. 이러한 측면을 고려할 때, 참조 화소 계층 ref_k와 참조 화소 계층 ref_i에서 동일한 참조 화소 계층에 있는 화소들을 이용한 필터링은 보간 대상 화소와 가로 또는 세로로 인접한 화소들을 사용한 1차원 마스크 형태의 필터를 적용할 수 있다. 그러나, 참조 화소 계층 ref_j에서 참조 화소 dj에 대한 보간 화소는 공간적으로 상/하/좌/우 방향으로 인접한 화소들을 모두 이용한 2차원 마스크 형태의 필터를 적용하여 획득될 수 있다.Here, as shown in FIGS. 18 to 22B and the like, the reference pixel layer is composed of pixels belonging to neighboring blocks adjacent to the current block and close to the boundary of the current block. Considering this aspect, the filtering using the pixels at the same reference pixel layer in the reference pixel layer ref_k and the reference pixel layer ref_i can apply the filter of the one-dimensional mask type using the pixels to be interpolated and the pixels that are horizontally or vertically adjacent . However, the interpolation pixel for the reference pixel d j in the reference pixel hierarchy ref_j can be obtained by applying a two-dimensional mask type filter using all the pixels spatially adjacent in the up / down / left / right direction.
또한, 각 참조 화소 계층에서 1차 참조 화소 필터링이 적용된 참조 화소를 대상으로 2차 참조 화소 필터링을 적용할 수 있다. 예를 들어, 각 참조 화소 계층(ref_k, ref_j, ref_i)에 포함된 참조 화소를 사용하여 1차 참조 화소 필터링을 수행할 수 있고, 1차 참조 화소 팔터링이 수행된 필터링이 수행된 참조 화소 계층(ref_k*, ref_j*, ref_i*으로 지칭)에서 각자의 참조 화소 계층뿐만 아니라 다른 참조 화소 계층의 참조 화소를 사용하여 참조 화소 필터링을 수행할 수 있다.Second reference pixel filtering can be applied to reference pixels to which the first reference pixel filtering is applied in each reference pixel layer. For example, it is possible to perform first-order reference pixel filtering using reference pixels included in each of the reference pixel layers ref_k, ref_j, and ref_i, (ref_k *, ref_j *, ref_i *) can perform reference pixel filtering using reference pixels of other reference pixel layers as well as their reference pixel layers.
예측 블록 생성부에서 적어도 하나의 화면내 예측 모드(또는 간략히 예측 모드로 지칭될 수 있음)에 따라 예측 블록을 생성할 수 있으며, 상기 예측 모드에 기반하여 참조 화소를 사용할 수 있다. 이때, 예측 모드에 따라 참조 화소를 외삽(Extrapolation)하거나, 내삽(Interpolation) 또는 평균(DC 모드) 또는 복사(Copy)하여 예측 블록을 생성할 수 있다. 여기서 외삽은 화면내 예측모드 중에서 방향성 모드에 적용될 수 있고, 나머지는 비방향성 모드에 적용될 수 있다.The prediction block generator may generate a prediction block according to at least one intra-picture prediction mode (or may be briefly referred to as a prediction mode), and may use the reference pixel based on the prediction mode. At this time, it is possible to generate a prediction block by extrapolating, interpolating, averaging (DC mode), or copying the reference pixel according to the prediction mode. Here, the extrapolation can be applied to the directional mode among the intra prediction modes, and the rest can be applied to the non-directional mode.
한편, 참조 화소를 복사하는 경우 하나의 참조 화소를 예측 블록 내에 복수의 화소에 복사함으로써, 하나 이상의 예측 화소를 생성할 수도 있고, 하나 이상의 참조 화소를 복사하여 하나 이상의 예측 화소를 생성할 수 있으며, 복사한 참조 화소의 개수는 복사된 예측 화소의 개수와 동일하거나 적을 수 있다.On the other hand, when the reference pixels are copied, one reference pixel may be copied to a plurality of pixels in the prediction block to generate one or more prediction pixels, or one or more reference pixels may be copied to generate one or more prediction pixels, The number of copied reference pixels may be equal to or less than the number of copied prediction pixels.
또한, 예측 블록은 하나의 화면내 예측 모드에 따른 예측마다 하나의 예측 블록이 생성되는 것이 일반적일 수 있으나, 복수의 예측 블록을 획득하고, 획득된 복수의 예측 블록에 대해 가중치 합을 적용하는 등의 방식으로 최종 예측 블록을 생성할 수도 있다. 여기서 복수의 예측 블록은 참조 화소 계층에 따라 획득되는 예측 블록을 의미할 수 있다.In addition, it is common that one prediction block is generated for each prediction according to one intra-picture prediction mode. However, it is also possible to acquire a plurality of prediction blocks and apply a weighting sum to a plurality of obtained prediction blocks Lt; RTI ID = 0.0 &gt; block &lt; / RTI &gt; Here, the plurality of prediction blocks may refer to prediction blocks obtained according to the reference pixel hierarchy.
부호화 장치의 예측 모드 결정부에서는 복수의 예측 모드 후보군 중 최적의 모드를 선정하기 위한 과정이 수행된다. 일반적으로 블록의 왜곡{예를 들어, 현재 블록과 복원 블록의 Distortion. SAD(Sum of Absolute Difference), SSD(Sum of Square Difference 등}과 예측 모드에 따른 발생 비트량을 예상하는 율-왜곡(Rate-Distortion) 기법을 이용하여 부호화 비용 측면에서 최적인 모드를 결정할 수 있다. 상기 과정을 통해 결정되는 예측 모드에 기반하여 생성되는 예측 블록을 감산부와 가산부로 송신할 수 있다. (이때, 복호화 장치는 최적의 예측 모드를 지시하는 정보를 부호화 장치로부터 획득할 수 있으므로, 최적의 예측 모드를 선정하는 과정은 생략될 수 있다.) In the prediction mode determination unit of the encoding apparatus, a process for selecting an optimal mode among a plurality of prediction mode candidates is performed. Typically, block distortion {for example, Distortion of current block and restoration block. It is possible to determine an optimal mode in terms of encoding cost by using a Sum-of-Absolute Difference (SAD), a Sum of Square Difference (SSD), and a Rate-Distortion The prediction block generated based on the prediction mode determined through the above process can be transmitted to the subtraction unit and the addition unit. (At this time, since the decoding apparatus can acquire information indicating the optimal prediction mode from the coding apparatus, The process of selecting the optimal prediction mode may be omitted.)
부호화 장치의 예측 모드 부호화부에서는 예측 모드 결정부를 통해 선정된 최적의 화면내 예측 모드를 부호화할 수 있다. 이때, 최적의 예측 모드를 지시하는 인덱스 정보를 그대로 부호화하거나, 최적의 예측 모드를 주변의 다른 블록 등에서 획득 가능한 예측 모드를 통해 예측하고, 예측 모드에 대한 예측 정보(예를 들면 예측된 예측 모드 인덱스와 현재 블록의 예측 모드 인덱스 사이의 차분값)를 부호화할 수도 있다. 여기서 전자의 경우는 색차 성분, 후자의 경우 휘도 성분에 적용될 수 있다.The prediction mode encoding unit of the encoding apparatus can encode the optimal intra prediction mode selected through the prediction mode deciding unit. At this time, the index information indicating the optimum prediction mode is directly encoded, or the optimal prediction mode is predicted through a prediction mode obtainable in other neighboring blocks or the like, and the prediction information for the prediction mode (for example, And the difference value between the prediction mode index of the current block). Here, the former case can be applied to a chrominance component, and the latter case to a luminance component.
현재 블록에 대한 최적의 예측 모드를 예측하여 부호화하는 경우에 예측 모드에 대한 예측값(또는 예측 정보)을 MPM(Most Probable Mode)으로 지칭할 수 있다. 이때, MPM은 현재 블록에 대한 최적의 예측 모드가 될 가능성이 높은 예측 모드로서, 미리 설정된 예측 모드(예를 들어, DC, Planar, 수직, 수평, 대각선 모드 등) 또는 공간적으로 인접한 블록(예를 들어, 좌, 상, 좌상, 우상, 좌하 블록 등)의 예측 모드로 구성될 수 있다. 여기서 대각선 모드는 Diagonal up right, Diagonal down right, Diagonal down left를 의미하고, 도 17의 2번, 18번, 34번 모드에 대응되는 모드일 수 있다.The prediction value (or prediction information) for the prediction mode can be referred to as MPM (Most Probable Mode) when the optimal prediction mode for the current block is predicted and encoded. In this case, the MPM is a prediction mode having a high possibility of becoming an optimal prediction mode for the current block, and may be a prediction mode (for example, DC, Planar, vertical, horizontal, diagonal mode, Left, upper, upper left, upper right, lower left block, etc.). Here, the diagonal mode means diagonal up right, diagonal down right, and diagonal down left, and may be a mode corresponding to the second, 18th, and 34th modes of FIG.
또한, MPM으로 구성될 수 있는 예측 모드의 집합인 MPM 후보군에 포함된 예측 모드에서 유도되는 모드를 MPM 후보군으로 추가할 수 있다. 방향성 모드의 경우, MPM 후보군에 포함되어 있는 예측 모드와의 인덱스 간격이 미리 설정된 값을 갖는 예측 모드를 MPM 후보군에 포함할 수 있다. 예를 들어, 도 17에서 10번 모드가 MPM 후보군에 포함된 모드인 경우 9번, 11번, 8번, 12번 모드 등이 유도되는 모드에 해당될 수 있다.Also, a mode derived from the prediction mode included in the MPM candidate group, which is a set of prediction modes that can be configured by the MPM, can be added to the MPM candidate group. In the case of the directional mode, the MPM candidate group may include a prediction mode in which the index interval with the prediction mode included in the MPM candidate group has a predetermined value. For example, if the 10th mode is included in the MPM candidate group in FIG. 17, it may correspond to the mode in which 9th, 11th, 8th, 12th modes are derived.
상기 예는 MPM 후보군이 복수 개의 모드로 구성되는 경우에 해당할 수 있으며, MPM 후보군 구성(예를 들어, MPM 후보군에 포함되는 예측 모드 개수, 구성 우선 순위)은 부/복호화 설정(예를 들어, 예측 모드 후보군, 영상 타입, 블록 크기, 블록 형태 등)에 따라 정해지며 적어도 하나의 모드를 포함하여 구성될 수 있다.The MPM candidate group configuration (for example, the number of prediction modes included in the MPM candidate group, the configuration priority) may correspond to a case in which the MPM candidate group is composed of a plurality of modes, A prediction mode candidate group, a video type, a block size, a block type, and the like), and may include at least one mode.
MPM 후보군에 포함될 예측 모드의 우선 순위를 설정할 수 있다. 설정된 우선 순위에 따라 MPM 후보군에 포함될 예측 모드의 순서가 정해질 수 있으며, 미리 설정된 갯수만큼 예측 모드를 채우면 MPM 후보군 구성을 완료할 수 있다. 여기서 우선 순위는, 예측할 현재 블록과 공간적으로 인접한 블록의 예측 모드, 미리 설정된 예측 모드, MPM 후보군에 먼저 포함된 예측 모드로부터 유도되는 모드 순서로 설정될 수 있으며, 이에 한정되지 않는다.The priority of the prediction mode to be included in the MPM candidate group can be set. The order of the prediction modes to be included in the MPM candidate group can be determined according to the set priorities, and the MPM candidate group configuration can be completed if the predetermined number of prediction modes are filled. Here, the priority order may be set to a mode order derived from a prediction mode of a block spatially adjacent to a current block to be predicted, a preset prediction mode, and a prediction mode included first in the MPM candidate group, but is not limited thereto.
더 상세하게는, 공간적으로 인접한 블록 중에서는 좌 - 상 - 좌하 - 우상 - 좌상 블록의 순서로 우선 순위가 설정될 수 있고, 미리 설정된 예측 모드 중에서는 DC - Planar - 수직 - 수평 모드의 순서로 우선 순위가 설정될 수 있고, MPM 후보군에 포함된 예측 모드에 따른 인덱스값(도 17에 따른 예측 모드 번호가 해당)에서 +1, -1 등(정수값)을 가산하여 획득된 예측 모드를 MPM 후보군에 포함할 수 있다. 그러한 예시 중 하나로서, 좌 - 상 - DC - Planar - 좌하 - 우상 - 좌상 - (공간 인접 블록 모드)+1 - (공간 인접 블록 모드)-1 - 수평 - 수직 - 대각선 등의 순서로 우선 순위를 설정할 수 있다.More specifically, in spatially adjacent blocks, priorities can be set in the order of left-upper-lower-right-upper-left block, and in the order of DC-Planar-vertical- And the prediction mode obtained by adding +1, -1, etc. (integer value) in the index value (corresponding to the prediction mode number according to FIG. 17) according to the prediction mode included in the MPM candidate group is called the MPM candidate group . As an example of such an example, the priority is given in the order of left-top-DC-Planar-left-right-top-left-top (space adjacency block mode) +1 Can be set.
상기 예에서 MPM 후보군 구성의 우선 순위가 고정적인 경우를 나타냈지만, 블록의 형태, 크기 등에 따라 상기 우선 순위는 적응적으로 정해질 수 있다.In the above example, the priority order of the MPM candidate group is fixed, but the priority can be adaptively determined according to the block type, size, and the like.
MPM을 사용하여 현재 블록의 예측 모드 부호화를 수행하는 경우 예측 모드가 MPM과 일치하는지 여부에 대한 정보(예를 들어, most_probable_mode_flag)를 생성할 수 있다.When performing the prediction mode encoding of the current block using the MPM, information (e.g., most_probable_mode_flag) can be generated as to whether the prediction mode matches the MPM.
MPM과 일치하는 경우(예를 들어, most_probable_mode_flag = 1)에는 MPM의 구성에 따라 MPM 인덱스 정보(예를 들어, mpm_idx)를 추가로 생성할 수 있다. 예를 들어, MPM이 하나의 예측 모드로 구성되는 경우에는 추가적인 MPM 인덱스 정보는 생성하지 않으며, 복수의 예측 모드로 구성되는 경우에는 MPM 후보군에서 현재 블록의 예측 모드에 대응하는 인덱스 정보를 생성할 수 있다.MPM index information (for example, mpm_idx) may be additionally generated according to the configuration of the MPM when it matches the MPM (for example, most_probable_mode_flag = 1). For example, when the MPM is configured in one prediction mode, additional MPM index information is not generated. In a case where the MPM candidate structure is composed of a plurality of prediction modes, index information corresponding to the prediction mode of the current block can be generated have.
MPM과 일치하지 않는 경우(예를 들어, most_probable_mode_flag = 0)에는 지원되는 화면내 예측 모드 중에서 MPM 후보군을 제외한 나머지 예측 모드 후보군(non-MPM 후보군으로 지칭)에서 현재 블록의 예측 모드에 대응하는 non-MPM 인덱스 정보(예를 들어, non_mpm_idx)를 생성할 수 있으며, 이는 non-MPM이 하나의 그룹으로 구성되는 경우에 해당하는 예일 수 있다.In the case where the MPM does not coincide with the MPM (for example, most_probable_mode_flag = 0), among the supported intra-picture prediction modes, the prediction mode candidates excluding the MPM candidate group (referred to as non-MPM candidate groups) MPM index information (for example, non_mpm_idx), which may be an example corresponding to a case where non-MPMs are composed of one group.
non-MPM 후보군이 복수의 그룹으로 구성되는 경우에 현재 블록의 예측 모드가 어떤 그룹에 속하는지에 대한 정보를 생성할 수 있다. 예를 들어, non-MPM은 A와 B 그룹으로 구성되며 현재 블록의 예측 모드가 A 그룹의 예측 모드와 일치하는 경우(예를 들어, non_mpm_A_flag = 1)에는 A 그룹 후보군에서 현재 블록의 예측 모드에 대응하는 인덱스 정보를 생성할 수 있으며, 일치하지 않는 경우(예를 들어, non_mpm_A_flag = 0)에는 나머지 예측 모드 후보군(또는 B 그룹 후보군)에서 현재 블록의 예측 모드에 대응하는 인덱스 정보를 생성할 수 있다. 상기 예와 같이 non-MPM은 복수의 그룹으로 구성될 수 있으며, 예측 모드 후보군에 따라 그룹의 갯수가 정해질 수 있다. 예를 들어, 예측 모드 후보군이 35개 이하일 경우에는 1개, 그 이외의 경우에는 2개 이상일 수 있다.In the case where the non-MPM candidate group is composed of a plurality of groups, information on which group the prediction mode of the current block belongs to can be generated. For example, when non-MPM is composed of groups A and B, and the prediction mode of the current block coincides with the prediction mode of group A (for example, non_mpm_A_flag = 1), the prediction mode of the current block The index information corresponding to the prediction mode of the current block can be generated from the remaining prediction mode candidate group (or B group candidate group) when the corresponding index information does not match (e.g., non_mpm_A_flag = 0) . As in the above example, the non-MPM may be composed of a plurality of groups, and the number of groups may be determined according to the prediction mode candidates. For example, it may be 1 if the number of prediction mode candidates is 35 or less, and 2 or more if the prediction mode candidate is 35 or less.
이때, 특정 A 그룹은 MPM 후보군 다음으로 현재 블록의 예측 모드와 일치할 확률이 높다고 판단되는 모드들로 구성될 수 있다. 예를 들어, MPM 후보군에 포함되지 못한 다음 순위의 예측 모드들을 A 그룹에 포함시키거나 일정한 간격을 갖는 방향성 모드들을 A 그룹에 포함시킬 수 있다.At this time, the specific A group may be composed of modes that are determined to have a high probability of matching with the prediction mode of the current block next to the MPM candidate group. For example, the prediction modes of the next rank that are not included in the MPM candidate group may be included in the A group, or the directional modes having the constant interval may be included in the A group.
상기 예와 같이 non-MPM이 복수의 그룹으로 구성되는 경우는 예측 모드의 개수가 많고 현재 블록의 예측 모드가 MPM과 일치하지 않을 경우에 모드 부호화 비트량이 감소하는 효과를 가질 수 있다.In the case where the non-MPM is composed of a plurality of groups as described above, the mode encoding bit amount may be reduced when the number of prediction modes is large and the prediction mode of the current block does not coincide with the MPM.
MPM을 사용하여 현재 블록의 예측 모드 부호화(또는 예측 모드 복호화)를 수행하는 경우 각 예측 모드 후보군(예를 들어, MPM 후보군, non-MPM 후보군 등)에 적용되는 이진화 테이블은 개별적으로 생성될 수 있으며, 각 후보군에 따라 적용되는 이진화 방법 또한 개별적으로 적용될 수 있다.When performing the prediction mode encoding (or prediction mode decoding) of the current block using the MPM, the binarization tables applied to each prediction mode candidate group (for example, MPM candidate group, non-MPM candidate group, etc.) , And the binarization method applied to each candidate group can also be applied individually.
상기 예에서 MPM 후보군, non-MPM 후보군 등과 같은 용어는 본 발명에서 사용되는 일부 용어일 뿐 이에 한정되지 않는다. 상세하게는, 현재 화면내 예측 모드를 복수의 카데고리로 분류하여 어떤 카테고리에 속했는지에 대한 정보와 해당 카테고리 내 모드 정보로 표현하는 것으로, 다른 표현으로 1차 MPM 후보군, 2차 MPM 후보군 등의 용어로 사용되는 것 또한 가능할 수 있다.In this example, terms such as MPM candidate group, non-MPM candidate group, and the like are a few terms used in the present invention, but are not limited thereto. Specifically, the current intra-frame prediction mode is classified into a plurality of categories, and information on which category belongs is expressed by the mode information in the corresponding category. In other words, terms such as a primary MPM candidate group and a secondary MPM candidate group It may also be possible to use it as a.
도 28는 본 발명의 일 실시예에 따른 화면내 예측 모드에 대한 부/복호화 방법을 설명하기 위한 블록도이다.FIG. 28 is a block diagram for explaining a sub-decoding method for an intra-picture prediction mode according to an embodiment of the present invention.
도 28를 참조하면, 먼저 mpm_flag를 획득하여(S10) 1차 MPM과 일치하는지 여부(mpm_flag에 의해 지시됨)를 확인(S11)한 후, 일치하는 경우에는 MPM 인덱스 정보(mpm_idx)를 확인(S12)할 수 있다. MPM과 일치하지 않는 경우에는 rem_mpm_flag를 획득하여(S13) 2차 MPM과 일치하는지 여부(rem_mpm_flag에 의해 지시됨)를 확인(S14)한 후 일치하는 경우에는 2차 MPM 인덱스 정보(rem_mpm_idx)를 확인(S16)할 수 있다. 2차 MPM과도 일치하지 않는 경우에는 나머지 예측 모드로 구성된 후보군에 대한 인덱스 정보(rem_mode_idx)를 확인(S15)할 수 있다. 본 예에서는 2차 MPM과의 일치 여부에 따라 발생하는 인덱스 정보가 동일 구문 요소로 표현되는 경우로 설명하였지만, 다른 모드 부호화 설정(예를 들어, 이진화 방법 등)이 적용될 수 있고, 또는 상기 인덱스 정보를 다르게 설정하여 처리할 수도 있다.Referring to FIG. 28, MPM_flag is first obtained (S10) and it is checked whether MPM_flag matches with the primary MPM (indicated by mpm_flag) (S11). If they match, MPM index information mpm_idx is confirmed )can do. If it does not match the MPM, the rem_mpm_flag is obtained (S13) and it is checked whether it matches the secondary MPM (indicated by rem_mpm_flag) (S14). If they match, the secondary MPM index information (rem_mpm_idx) S16). If it does not coincide with the secondary MPM, the index information (rem_mode_idx) for the candidate group configured in the remaining prediction mode can be checked (S15). In this example, the index information generated according to the coincidence with the secondary MPM is expressed by the same syntax element, but other mode encoding settings (for example, a binarization method or the like) may be applied, May be set differently and processed.
본 발명의 일 실시예에 따른 영상 복호화 방법에서 화면내 예측은 다음과 같이 구성될 수 있다. 예측부의 화면내 예측은 예측 모드 복호화 단계, 참조 화소 구성 단계, 예측 블록 생성 단계를 포함할 수 있다. 또한, 영상 복호화 장치는 예측 모드 복호화 단계, 참조 화소 구성 단계, 예측 블록 생성 단계를 구현하는 예측 모드 복호화부, 참조 화소 구성부, 예측 블록 생성부를 포함하도록 구성할 수 있다. 전술한 과정의 일부는 생략될 수 있거나 다른 과정이 추가될 수 있고, 상기 기재된 순서가 아닌 다른 순서로 변경될 수 있다.The intra prediction in the image decoding method according to an embodiment of the present invention may be configured as follows. The intra prediction in the prediction unit may include a prediction mode decoding step, a reference pixel construction step, and a prediction block generation step. Also, the image decoding apparatus may include a prediction mode decoding unit, a reference pixel unit, and a prediction block generation unit that implement a prediction mode decoding step, a reference pixel configuration step, and a prediction block generation step. Some of the above-described processes may be omitted or other processes may be added, and the order may be changed in a different order than the above-described order.
영상 복호화 장치의 참조 화소 구성부, 예측 블록 생성부는 영상 부호화 장치의 대응되는 구성과 동일한 역할을 수행하므로 상세한 설명은 생략하며, 예측 모드 복호화부는 예측 모드 부호화부에서 사용한 방식을 역으로 사용하여 수행될 수 있다.The reference pixel constituting unit and the prediction block generating unit of the image decoding apparatus perform the same functions as those of the corresponding components of the image encoding apparatus, and thus a detailed description thereof will be omitted. The prediction mode decoding unit performs the decoding using the method used in the prediction mode encoding unit .
이하에서는 복호화 장치의 참조 화소 구성에 따른 화면내 예측에 대한 다양한 실시예 도 29 내지 도 31에서 살펴본다. 이때, 앞에서 도면을 참조하여 설명한 참조 화소 계층의 지원과 참조 화소 필터링 방법에 관한 설명은 복호화 장치에서도 동일하게 적용될 수 있는 것으로 해석되어야 하며, 중복 설명을 방지하기 위해 자세한 설명은 생략하였다.Various embodiments of intra-picture prediction according to the reference pixel configuration of the decoding apparatus will be described below with reference to FIGS. 29 to 31. FIG. At this time, the description of the reference pixel hierarchy support and reference pixel filtering method described above with reference to the drawings should be construed as being equally applicable to the decoding apparatus, and a detailed description is omitted to avoid redundant explanations.
도 29은 참조 화소 구성에 따른 화면내 예측에 대한 비트스트림 구성을 설명하기 위한 제1 예시도이다.29 is a first exemplary diagram for explaining a bit stream configuration for intra-picture prediction according to the reference pixel configuration.
도 29에 따른 제1 예시도에서는, 복수의 참조 화소 계층이 지원되고, 지원되는 참조 화소 계층 중 적어도 하나의 참조 화소 계층이 참조 화소로 사용되며, 참조 화소 필터링에 관한 복수의 후보군이 지원되고 이 중 하나의 필터가 선택된다고 전제한다. 29, a plurality of reference pixel layers are supported, at least one reference pixel layer among the supported reference pixel layers is used as a reference pixel, a plurality of candidate groups related to reference pixel filtering are supported, It is assumed that one of the filters is selected.
부호화기에서 복수의 참조 화소 계층을 참조 화소 후보군으로 구성(본 예에서 참조 화소 생성 과정까지 완료된 상태)한 후에, 적어도 하나의 참조 화소 계층을 참조 화소로 구성한 후에 참조 화소 필터링, 참조 화소 보간을 적용한다. 이때, 참조 화소 필터링에 관한 복수의 후보군이 지원된다.After a plurality of reference pixel layers are constituted by a reference pixel candidate group in the encoder (in the present example, the reference pixel generation process is completed), at least one reference pixel layer is constructed as a reference pixel, and reference pixel filtering and reference pixel interpolation are applied . At this time, a plurality of candidate groups related to reference pixel filtering are supported.
예측 모드 후보군 중 최적의 모드를 선정하기 위한 과정이 수행되며, 최적의 예측 모드가 결정되면 해당 모드에 따른 예측 블록을 생성하여 감산부로 전달하고 화면내 예측 관련 정보에 대한 부호화 과정을 수행한다. 본 예에서는 참조 화소 계층과 참조 화소 필터링은 부호화 정보에 따라 묵시적으로 결정되는 것으로 전제하였다.A process for selecting an optimal mode among the prediction mode candidates is performed. When an optimal prediction mode is determined, a prediction block according to the mode is generated and transmitted to a subtractor, and the intra-picture prediction related information is encoded. In this example, it is assumed that the reference pixel layer and the reference pixel filtering are determined implicitly according to the encoding information.
복호화기에서는 화면내 예측 관련 정보(예를 들어, 예측 모드 등)를 복원하고, 복원된 예측 모드에 따른 예측 블록을 생성하여 감산부로 전달한다. 이때, 예측 블록 생성을 위한 참조 화소 계층과 참조 화소 필터링은 묵시적으로 결정되는 것으로 전제하였다.The decoder reconstructs intra prediction information (e.g., a prediction mode), generates a prediction block according to the reconstructed prediction mode, and transmits the prediction block to the subtraction unit. At this time, it is assumed that the reference pixel layer and the reference pixel filtering for the prediction block generation are determined implicitly.
도 29을 참조하면, 화면내 예측 모드(intra_mode) 하나(S20)로 비트스트림을 구성할 수 있다. 이때 현재 블록에서 지원(또는 사용)되는 참조 화소 계층(ref_idx)과 참조 화소 필터링 카테고리(ref_filter_idx)는 화면내 예측 모드에 따라 묵시적으로 결정(각각 CategoryA, B로 결정, S21~S22)될 수 있다. 다만, 이때 부/복호화 정보(예를 들어, 영상 타입, 컬러 성분, 블록의 크기, 형태 등)가 추가적으로 고려될 수 있다. Referring to FIG. 29, a bitstream may be configured with one intra-mode prediction mode (intra_mode) (S20). At this time, the reference pixel layer ref_idx and the reference pixel filtering category ref_filter_idx that are supported (or used) in the current block may be implicitly determined (defined as Category A and B, S21 to S22, respectively) according to the intra prediction mode. However, at this time, the partial / decoded information (for example, a video type, a color component, a block size, a format, and the like) may be additionally considered.
도 30은 참조 화소 구성에 따른 화면내 예측에 대한 비트스트림 구성을 설명하기 위한 제2 예시도이다.30 is a second exemplary diagram for explaining a bit stream configuration for intra-frame prediction according to the reference pixel configuration.
도 30에 따른 제2 예시도에서는, 복수의 참조 화소 계층이 지원되고, 지원되는 복수의 참조 화소 계층 중에서 하나의 참조 화소 계층이 참조 화소로 사용되는 것으로 전제하였다. 또한, 참조 화소 필터링에 관한 복수의 후보군이 지원되고 이 중 하나의 필터가 선택되는 것으로 전제하였다. 도 29과의 차이점은 선택에 대한 정보를 부호화 장치가 명시적으로 생성한 것에 있다.In the second exemplary embodiment according to FIG. 30, it is assumed that a plurality of reference pixel layers are supported and one reference pixel layer among a plurality of supported reference pixel layers is used as a reference pixel. It is also assumed that a plurality of candidate groups related to reference pixel filtering are supported and one of these filters is selected. The difference from FIG. 29 lies in that the encoding apparatus explicitly generates information about the selection.
부호화기에서 복수의 참조 화소 계층을 지원하는 것으로 결정하면, 하나의 참조 화소 계층을 참조 화소로 구성한 후에 참조 화소 필터링, 참조 화소 보간을 적용한다. 이때, 참조 화소 필터링에 관한 복수의 필터링 방법이 지원된다.If it is determined that the encoder supports a plurality of reference pixel layers, reference pixel filtering and reference pixel interpolation are applied after configuring one reference pixel layer as a reference pixel. At this time, a plurality of filtering methods related to reference pixel filtering are supported.
부호화기에서 현재 블록에 대한 최적의 예측 모드를 결정하는 과정이 수행될 때, 각 예측 모드에 최적의 참조 화소 계층을 선정하는 것과 최적의 참조 화소 필터링을 선정하는 것이 추가로 고려될 수 있다. 현재 블록에 대한 최적의 예측 모드 및 참조 화소 계층과 참조 화소 필터링이 결정되면 그에 따라 생성된 예측 블록을 감산부로 전달하고 화면내 예측 관련 정보에 대한 부호화 과정을 수행한다.When the process of determining the optimal prediction mode for the current block is performed in the encoder, it is further considered to select the optimal reference pixel layer for each prediction mode and to select the optimum reference pixel filtering. The optimal prediction mode for the current block, and the reference pixel layer and the reference pixel filtering are determined, the generated prediction block is transferred to the subtractor, and the intra-picture prediction related information is encoded.
복호화기에서는 화면내 예측 관련 정보(예를 들어, 예측 모드와 참조 화소 계층, 참조 화소 필터링 정보 등)를 복원하고, 복원된 정보를 이용해 예측 블록을 생성하여 감산부로 전달한다. 이때, 예측 블록 생성을 위한 참조 화소 계층과 참조 화소 필터링은 부호화기에서 전송된 정보에 따라 결정되는 설정에 따른다.The decoder reconstructs intra prediction information (for example, a prediction mode, a reference pixel hierarchy, reference pixel filtering information, and the like), generates a prediction block using the reconstructed information, and transmits the prediction block to the subtraction unit. At this time, the reference pixel layer and the reference pixel filtering for the prediction block generation are set according to the information determined according to the information transmitted from the encoder.
도 30을 참조하면, 복호화기는 비트스트림에 포함된 화면내 예측 모드 정보(intra_mode)를 통해 현재 블록에 대한 최적의 예측 모드를 확인(S30)하고, 복수의 참조 화소 계층이 지원되는지 여부(multi_ref_flag)를 확인(S31)할 수 있다. 복수의 참조 화소 계층이 지원되면, 참조 화소 계층 선택 정보(ref_idx)를 확인(S32)하여 화면내 예측에 사용되는 참조 화소 계층을 결정할 수 있다. 복수의 참조 화소 계층이 지원되지 않는다면, 참조 화소 계층 선택 정보(ref_idx)를 획득하는 과정(S32)은 생략될 수 있다.Referring to FIG. 30, the decoder checks an optimal prediction mode for the current block through the intra-mode prediction mode information (intra_mode) included in the bitstream (S30), determines whether a plurality of reference pixel layers are supported (multi_ref_flag) (S31). If a plurality of reference pixel layers are supported, the reference pixel layer selection information ref_idx is confirmed (S32), and the reference pixel layer used for intra prediction can be determined. If a plurality of reference pixel layers are not supported, the step S32 of obtaining the reference pixel layer selection information ref_idx may be omitted.
다음으로, 적응적인 참조 화소 필터링이 지원되는지 여부(adap_ref_smooth_flag)를 확인(S33)하고, 적응적인 참조 화소 필터링이 지원되면 참조 화소 필터 정보(ref_filter_idx)를 통해 참조 화소에 대한 필터링 방법을 결정(S34)할 수 있다. Next, a determination is made as to whether adaptive reference pixel filtering is supported (adap_ref_smooth_flag) (S33). If adaptive reference pixel filtering is supported, a filtering method for a reference pixel is determined through reference pixel filter information (ref_filter_idx) can do.
도 31은 참조 화소 구성에 따른 화면내 예측에 대한 비트스트림 구성을 설명하기 위한 제3 예시도이다.FIG. 31 is a third exemplary diagram for explaining a bit stream structure for intra-picture prediction according to the reference pixel configuration.
도 31에 따른 제3 예시도에서, 복수의 참조 화소 계층이 지원되고, 복수의 참조 화소 계층 중에서 하나의 참조 화소 계층이 사용되는 경우를 전제한다. 그리고 참조 화소 필터링에 관한 복수의 후보군이 지원되고 이 중 하나의 필터가 선택된다고 전제한다. 도 30와 다른 점은 선택 정보가 적응적으로 생성된다는 것에 있다.In the third example according to FIG. 31, it is assumed that a plurality of reference pixel layers are supported, and one reference pixel layer is used among a plurality of reference pixel layers. It is assumed that a plurality of candidate groups related to reference pixel filtering are supported and one of these filters is selected. The difference from FIG. 30 lies in that the selection information is adaptively generated.
부호화기에서 지원되는 복수의 참조 화소 계층 중에서 하나의 참조 화소 계층을 이용하여 참조 화소로 구성한 후에 참조 화소 필터링, 참조 화소 보간을 적용한다. 이때, 참조 화소 필터링에 관한 복수의 필터링이 지원된다.Reference pixel filtering and reference pixel interpolation are applied after the reference pixel is constructed by using one reference pixel layer among a plurality of reference pixel layers supported by an encoder. At this time, a plurality of filtering related to reference pixel filtering is supported.
복수의 예측 모드 후보군 중 최적의 모드를 선정하기 위한 과정이 수행될 때 각 예측 모드에 최적의 참조 화소 계층을 선정하는 것과 최적의 참조 화소 필터링을 선정하는 것이 추가로 고려될 수 있다. 최적의 예측 모드 및 참조 화소 계층과 참조 화소 필터링이 결정되면 그에 따른 예측 블록을 생성하여 감산부로 전달하고 화면내 예측 관련 정보에 대한 부호화 과정을 수행한다.When the process for selecting the optimal mode among the plurality of prediction mode candidates is performed, it is further considered to select the optimal reference pixel layer for each prediction mode and to select the optimum reference pixel filtering. When the optimal prediction mode, the reference pixel layer, and the reference pixel filtering are determined, a prediction block corresponding to the optimal prediction mode is generated and transmitted to the subtractor, and the intra-picture prediction related information is encoded.
이때, 생성되는 예측 블록의 중복성을 확인하고, 다른 참조 화소 계층을 사용하여 획득되는 예측 블록과 동일 또는 유사하다면, 최적의 참조 화소 계층에 대한 선정 정보는 생략하고 미리 설정된 참조 화소 계층을 사용할 수 있다. 이때, 미리 설정된 참조 화소 계층은 현재 블록과 가장 인접한 계층일 수 있다.At this time, if the redundancy of the generated prediction block is confirmed, and if the prediction block is the same as or similar to the prediction block obtained using the other reference pixel hierarchy, the selection information for the optimal reference pixel hierarchy may be omitted and a preset reference pixel hierarchy may be used . At this time, the preset reference pixel layer may be the layer closest to the current block.
예를 들어, 도 19c의 ref_0를 통해 생성된 예측 블록과 ref_1을 통해 생성된 예측 블록의 차이값(왜곡값)에 기반하여 중복성 여부를 판단할 수 있다. 상기 차이값이 미리 설정한 임계값보다 작은 경우에는 예측 블록의 중복성이 있는 것으로 판단하고, 그렇지 않은 경우에는 예측 블록의 중복성이 없는 것으로 판단할 수 있다. 이때, 상기 임계값은 양자화 파라미터 등에 따라 적응적으로 정해질 수 있다. For example, redundancy can be determined based on the difference value (distortion value) between the prediction block generated through ref_0 and the prediction block generated through ref_1 in FIG. 19C. If the difference value is smaller than a preset threshold value, it is determined that there is redundancy in the prediction block. Otherwise, it can be determined that there is no redundancy in the prediction block. At this time, the threshold value may be adaptively determined according to a quantization parameter and the like.
또한, 최적의 참조 화소 필터링 정보도 예측 블록의 중복성을 확인하고, 다른 참조 화소 필터링을 적용하여 획득되는 예측 블록과 동일 또는 유사하다면, 참조 화소 필터링 정보는 생략하고 미리 설정된 참조 화소 필터링이 적용될 수 있다.Also, if the reference pixel filtering information is the same as or similar to the prediction block obtained by applying the other reference pixel filtering, the reference pixel filtering information may be omitted and preset reference pixel filtering may be applied .
예를 들어, 필터링 A(본 예에서 3-tap 필터)를 통해 획득된 예측 블록과 필터링 B(본 예에서 5-tap 필터)를 통해 획득된 예측 블록의 차이값에 기반하여 중복성 여부를 판단한다. 이때도 차이값이 미리 설정된 임계값과 비교하여 작은 경우 예측 블록의 중복성이 있는 것으로 판단될 수 있다. 만약 예측 블록의 중복성이 있다면, 미리 설정된 참조 화소 필터링 방법을 통해 예측 블록을 생성할 수 있다. 여기서 미리 설정된 참조 화소 필터링은 탭수가 낮거나 복잡도가 낮은 필터링 방법일 수 있으며, 필터링 적용을 생략하는 경우가 포함될 수 있다.For example, redundancy is determined based on the difference between the prediction block obtained through the filtering A (3-tap filter in this example) and the prediction block obtained through the filtering B (5-tap filter in this example) . At this time, if the difference value is smaller than a preset threshold value, it can be determined that there is redundancy of the prediction block. If there is redundancy of the prediction block, a prediction block can be generated through a preset reference pixel filtering method. Here, the preset reference pixel filtering may be a filtering method with a low number of taps or a low complexity, and may include a case where filtering application is omitted.
복호화기에서는 화면내 예측 관련 정보(예를 들어, 예측 모드와 참조 화소 계층 정보, 참조 화소 필터링 정보 등)를 복원하여, 그에 따른 예측 블록을 생성하여 감산부로 전달한다. 이때, 예측 블록 생성을 위한 참조 화소 계층 정보와 참조 화소 필터링은 부호화기에서 전송된 정보에 따라 결정되는 설정에 따르되, 복호화기는 중복성 여부를 직접 확인(구문 요소를 통하지 않고)하고, 중복성이 있다면 미리 설정된 방법에 따른다.The decoder reconstructs intra prediction information (e.g., prediction mode, reference pixel information, reference pixel filtering information, and the like), generates a prediction block corresponding to the prediction block, and transmits the prediction block to the subtraction unit. At this time, the reference pixel layer information and the reference pixel filtering for generating a prediction block are set according to the information determined by the information transmitted from the encoder. However, the decoder can directly check whether the redundancy exists (without passing the syntax element) According to the method.
도 31을 참조하면, 복호화기는 먼저 현재 블록에 대한 화면내 예측 모드(intra_mode) 정보를 확인(S40)하고, 복수의 참조 화소 계층이 지원되는지 여부(multi_ref_flag)를 확인(S41)할 수 있다. 복수의 참조 화소 계층이 지원되면, 지원되는 복수의 참조 화소 계층에 따른 예측 블록의 중복성을 검사(ref_check 과정으로 표시, S42)하고, 중복성 확인 결과 예측 블록의 중복성이 없다면(redund_ref=0, S43), 비트 스트림으로부터 참조 화소 계층에 대한 선택 정보(ref_idx)를 참조(S44)하여 최적의 참조 화소 계층을 결정할 수 있다. Referring to FIG. 31, the decoder may check the intra-mode prediction mode (intra_mode) information of the current block (S40) and confirm (S41) whether a plurality of reference pixel layers are supported (multi_ref_flag). If the plurality of reference pixel layers are supported, the redundancy of the prediction blocks according to the plurality of supported reference pixel layers is checked (indicated by ref_check process, S42). If there is no redundancy in the redundancy check result (redund_ref = 0, S43) , And the optimum reference pixel hierarchy can be determined by referring to the bitstream of the selection information ref_idx for the reference pixel hierarchy (S44).
다음으로, 적응적인 참조 화소 필터링이 지원되는지 여부(adap_ref_smooth_flag)를 확인(S45)하고, 적응적인 참조 화소 필터링이 지원된다면, 지원되는 복수의 참조 화소 필터링 방법에 따른 예측 블록의 중복성을 검사(ref_check 과정으로 표시, S46)할 수 있다. 예측 블록의 중복성이 없다면(redund_ref=0, S47), 비트스트림으로부터 참조 화소 필터링 방법에 대한 선택 정보(ref_filter_idx)를 참조(S48)하여 최적의 참조 화소 필터링 방법을 결정할 수 있다. If adaptive reference pixel filtering is supported (step S45), it is checked whether adaptive reference pixel filtering is supported (adap_ref_smooth_flag), and redundancy of a prediction block according to a plurality of supported reference pixel filtering methods is checked , S46). If there is no redundancy in the prediction block (redund_ref = 0, S47), the optimum reference pixel filtering method can be determined by referring to the bitstream for the selection information ref_filter_idx for the reference pixel filtering method (S48).
이때, 도면에서 redund_ref는 중복성 확인에 대한 결과를 지시하는 값으로 0이면 중복성이 없는 것을 의미한다.At this time, in the drawing, redund_ref is a value indicating a result of redundancy check, and if it is 0, there is no redundancy.
또한, 복호화기는 예측 블록의 중복성이 있는 경우에는 미리 설정되는 참조 화소 계층과 미리 설정된 참조 화소 필터링 방법을 사용하여 화면내 예측을 수행할 수 있다. In addition, when there is redundancy in the prediction block, the decoder can perform intra prediction using a reference pixel hierarchy set in advance and a preset reference pixel filtering method.
도 32는 본 발명의 일 실시예에 따른 복수의 참조 화소 계층을 지원하는 영상 복호화 방법에 대한 흐름도이다.32 is a flowchart illustrating an image decoding method supporting a plurality of reference pixel layers according to an embodiment of the present invention.
도 32를 참조하면, 복수의 참조 화소 계층을 지원하는 영상 복호화 방법은, 비트스트림에서 복수의 참조 화소 계층을 지원하는지 여부를 확인하는 단계(S100), 복수의 참조 화소 계층이 지원되면, 상기 비트스트림에 포함된 구문 정보를 참조하여 현재 블록에 사용할 참조 화소 계층을 결정하는 단계(S110), 결정된 참조 화소 계층에 속하는 화소를 이용하여 참조 화소를 구성하는 단계(S120) 및 구성된 참조 화소를 이용하여 상기 현재 블록에 대한 화면내 예측을 수행하는 단계(S130)를 포함할 수 있다.Referring to FIG. 32, a video decoding method supporting a plurality of reference pixel layers includes checking whether a plurality of reference pixel layers are supported in a bitstream (S100), and if a plurality of reference pixel layers are supported, (S110) determining a reference pixel hierarchy to be used in a current block by referring to syntax information included in a stream, constructing a reference pixel using pixels belonging to the determined reference pixel hierarchy (S120) And performing intra-picture prediction on the current block (S130).
여기서 상기 복수의 참조 화소 계층을 지원하는지 여부를 확인하는 단계(S100) 이후에, 비트스트림에서 적응적인 참조 화소 필터링 방법을 지원하는지 여부를 확인하는 단계를 더 포함할 수 있다.Here, after confirming whether the plurality of reference pixel layers are supported (S100), it may further include checking whether the adaptive reference pixel filtering method is supported in the bitstream.
여기서 상기 복수의 참조 화소 계층을 지원하는지 여부를 확인하는 단계(S100) 이후에, 복수의 참조 화소 계층이 지원되지 않으면, 미리 설정된 참조 화소 계층을 사용하여 참조 화소를 구성하는 단계를 포함할 수 있다. Here, if it is determined that the plurality of reference pixel layers are not supported after step S100, it may include configuring reference pixels using a predetermined reference pixel layer .
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. Furthermore, the above-mentioned method or apparatus may be implemented by combining all or a part of the structure or function, or may be implemented separately.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

Claims (3)

  1. 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법으로,A video decoding method using a division unit including an additional area,
    수신된 비트스트림(bitstream)으로부터 획득된 구문(syntax)을 참조하여 상기 비트스트림에 포함된 부호화 영상을 적어도 하나의 분할 단위로 분할하는 단계;Dividing an encoded image included in the bitstream into at least one division unit by referring to a syntax obtained from a received bitstream;
    상기 적어도 하나의 분할 단위에 대한 추가 영역을 설정하는 단계; 및Setting an additional region for the at least one partitioning unit; And
    추가 영역이 설정된 분할 단위에 기초하여 상기 부호화 영상을 복호화하는 단계를 포함하는, 영상 복호화 방법.And decoding the encoded image based on the division unit in which the additional area is set.
  2. 상기 청구항 1에서,In claim 1,
    상기 부호화 영상을 복호화하는 단계는,Wherein the step of decoding the encoded image comprises:
    상기 비트스트림에 포함된 참조 가능성 여부를 지시하는 정보에 따라, 상기 부호화 영상 내에서 복호화할 현재 블록에 대한 참조 블록을 결정하는 단계를 포함하는, 영상 복호화 방법.And determining a reference block for a current block to be decoded in the encoded image according to information indicating whether the reference is included in the bitstream.
  3. 청구항 2에서,In claim 2,
    상기 참조 블록은,The reference block includes:
    상기 참조 블록이 속하는 분할 단위에 설정된 추가 영역과 중첩되는 위치에 속하는 블록인, 영상 복호화 방법. Wherein the reference block is a block belonging to a position overlapping an additional region set in a division unit to which the reference block belongs.
PCT/KR2018/007520 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region WO2019009590A1 (en)

Priority Applications (16)

Application Number Priority Date Filing Date Title
US16/627,905 US10986351B2 (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region
EP23165811.3A EP4221199A1 (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region
CN202310305077.9A CN116248866A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
SG11202100010SA SG11202100010SA (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region
EP18828772.6A EP3651459A4 (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region
CN202310305097.6A CN116248868A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
CN202310305073.0A CN116248865A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
CN202310305066.0A CN116248863A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
CN201880045023.0A CN110832855B (en) 2017-07-03 2018-07-03 Video decoding method and device using division unit including additional region
CA3105474A CA3105474A1 (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region
CN202310305081.5A CN116248867A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
CN202310305085.3A CN116320400A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
CN202310305068.XA CN116248864A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
CN202310305079.8A CN116320399A (en) 2017-07-03 2018-07-03 Video decoding method and apparatus using division unit including additional region
US17/184,685 US11509914B2 (en) 2017-07-03 2021-02-25 Method and device for decoding image by using partition unit including additional region
US17/964,281 US20230051471A1 (en) 2017-07-03 2022-10-12 Method and device for decoding image by using partition unit including additional region

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
KR10-2017-0084517 2017-07-03
KR20170084517 2017-07-03
KR20170090638 2017-07-17
KR10-2017-0090638 2017-07-17
KR10-2018-0055980 2018-05-16
KR20180055980 2018-05-16
KR1020180076918A KR20190004237A (en) 2017-07-03 2018-07-03 Image decoding method and apparatus using division unit including additional region
KR10-2018-0076932 2018-07-03
KR1020180076932A KR20190008809A (en) 2017-07-17 2018-07-03 Image decoding method and apparatus supporting a plurality of reference pixel layers
KR10-2018-0076918 2018-07-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/627,905 A-371-Of-International US10986351B2 (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region
US17/184,685 Continuation US11509914B2 (en) 2017-07-03 2021-02-25 Method and device for decoding image by using partition unit including additional region

Publications (1)

Publication Number Publication Date
WO2019009590A1 true WO2019009590A1 (en) 2019-01-10

Family

ID=64950213

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/007520 WO2019009590A1 (en) 2017-07-03 2018-07-03 Method and device for decoding image by using partition unit including additional region

Country Status (2)

Country Link
US (1) US20230051471A1 (en)
WO (1) WO2019009590A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113728631A (en) * 2019-04-27 2021-11-30 北京字节跳动网络技术有限公司 Intra sub-block partitioning and multi-transform selection
CN114303383A (en) * 2019-08-30 2022-04-08 北京字节跳动网络技术有限公司 Sub-partitioning in intra coding
CN114982231A (en) * 2019-11-27 2022-08-30 Lg电子株式会社 Image decoding method and apparatus therefor
US11785210B2 (en) 2020-02-14 2023-10-10 Beijing Bytedance Network Technology Co., Ltd. Use of general constraint flags in video bitstreams
RU2811517C2 (en) * 2019-07-10 2024-01-12 Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд. Identification of samples for intra-frame block copying mode during video coding
US11882287B2 (en) 2019-03-01 2024-01-23 Beijing Bytedance Network Technology Co., Ltd Direction-based prediction for intra block copy in video coding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115606183A (en) * 2020-04-07 2023-01-13 抖音视界有限公司(Cn) Cropping of reference picture wrap-around

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101504888B1 (en) * 2012-04-15 2015-03-23 삼성전자주식회사 Method for decoding video for parallel processing
US20150215631A1 (en) * 2014-01-23 2015-07-30 Broadcom Corporation Parallel Coding with Overlapped Tiles
KR20160038062A (en) * 2011-10-31 2016-04-06 미쓰비시덴키 가부시키가이샤 Video decoding device, video encoding device and storage medium
KR101644539B1 (en) * 2012-01-30 2016-08-01 삼성전자주식회사 Method and apparatus for video encoding in spatial subdivisions, method and apparatus for video decoding in spatial subdivisions
KR101649284B1 (en) * 2012-04-16 2016-08-18 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) Fixed tile structure flag indicating parallel processing possibility for a sequence of compressed video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038062A (en) * 2011-10-31 2016-04-06 미쓰비시덴키 가부시키가이샤 Video decoding device, video encoding device and storage medium
KR101644539B1 (en) * 2012-01-30 2016-08-01 삼성전자주식회사 Method and apparatus for video encoding in spatial subdivisions, method and apparatus for video decoding in spatial subdivisions
KR101504888B1 (en) * 2012-04-15 2015-03-23 삼성전자주식회사 Method for decoding video for parallel processing
KR101649284B1 (en) * 2012-04-16 2016-08-18 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) Fixed tile structure flag indicating parallel processing possibility for a sequence of compressed video
US20150215631A1 (en) * 2014-01-23 2015-07-30 Broadcom Corporation Parallel Coding with Overlapped Tiles

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11882287B2 (en) 2019-03-01 2024-01-23 Beijing Bytedance Network Technology Co., Ltd Direction-based prediction for intra block copy in video coding
US11956438B2 (en) 2019-03-01 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Direction-based prediction for intra block copy in video coding
CN113728631A (en) * 2019-04-27 2021-11-30 北京字节跳动网络技术有限公司 Intra sub-block partitioning and multi-transform selection
CN113728631B (en) * 2019-04-27 2024-04-02 北京字节跳动网络技术有限公司 Intra sub-block segmentation and multiple transform selection
RU2811517C2 (en) * 2019-07-10 2024-01-12 Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд. Identification of samples for intra-frame block copying mode during video coding
CN114303383A (en) * 2019-08-30 2022-04-08 北京字节跳动网络技术有限公司 Sub-partitioning in intra coding
US11924422B2 (en) 2019-08-30 2024-03-05 Beijing Bytedance Network Technology Co., Ltd Sub-partitioning in intra coding
CN114982231A (en) * 2019-11-27 2022-08-30 Lg电子株式会社 Image decoding method and apparatus therefor
US11785210B2 (en) 2020-02-14 2023-10-10 Beijing Bytedance Network Technology Co., Ltd. Use of general constraint flags in video bitstreams
US11825079B2 (en) 2020-02-14 2023-11-21 Beijing Bytedance Network Technology Co., Ltd. Sub-bitstream extraction process in video coding
US11870979B2 (en) 2020-02-14 2024-01-09 Beijing Bytedance Network Technology Co., Ltd. Reference picture resampling activation in video coding

Also Published As

Publication number Publication date
US20230051471A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
WO2020004900A1 (en) Intra-frame prediction method and device
WO2018066988A1 (en) Image data encoding/decoding method and apparatus
WO2016200242A1 (en) Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor
WO2018012851A1 (en) Image encoding/decoding method and recording medium therefor
WO2016195453A1 (en) Image encoding and decoding method and image decoding device
WO2018066983A1 (en) Image data encoding/decoding method and apparatus
WO2019182385A1 (en) Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2020096389A1 (en) Image signal encoding/decoding method and apparatus therefor
WO2018012886A1 (en) Image encoding/decoding method and recording medium therefor
WO2018066982A1 (en) Image data encoding/decoding method and apparatus
WO2019017651A1 (en) Method and apparatus for encoding/decoding image
WO2018030599A1 (en) Intra-prediction mode-based image processing method and device therefor
WO2016195460A1 (en) Method and device for encoding and decoding intra-frame prediction
WO2020005035A1 (en) Image encoding/decoding method and apparatus for throughput enhancement, and recording medium storing bitstream
WO2018047995A1 (en) Intra-prediction mode-based image processing method and apparatus therefor
WO2019009590A1 (en) Method and device for decoding image by using partition unit including additional region
WO2016137149A1 (en) Polygon unit-based image processing method, and device for same
WO2020222617A1 (en) Method for encoding/decoding video signal and device therefor
WO2020005045A1 (en) Merge mode-based inter-prediction method and apparatus
WO2018097700A1 (en) Method and device for filtering
WO2020213963A1 (en) Method for encoding/decoding image signal, and device for same
WO2018066991A1 (en) Image data encoding/decoding method and apparatus
WO2020256442A1 (en) Method for encoding/decoding image signal and apparatus therefor
WO2020060329A1 (en) Method for encoding/decoding image signal and apparatus therefor
WO2020005046A1 (en) Image encoding/decoding method and apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18828772

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018828772

Country of ref document: EP

Effective date: 20200203

ENP Entry into the national phase

Ref document number: 3105474

Country of ref document: CA