WO2020101385A1 - 비디오 데이터를 처리하기 위한 방법 및 장치 - Google Patents
비디오 데이터를 처리하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- WO2020101385A1 WO2020101385A1 PCT/KR2019/015526 KR2019015526W WO2020101385A1 WO 2020101385 A1 WO2020101385 A1 WO 2020101385A1 KR 2019015526 W KR2019015526 W KR 2019015526W WO 2020101385 A1 WO2020101385 A1 WO 2020101385A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current block
- prediction
- unit
- mode
- sample
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Definitions
- the present specification relates to a method and apparatus for processing video data, and more particularly, to a method and apparatus for encoding or decoding video data using intra prediction.
- Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or storing it in a form suitable for a storage medium.
- Media such as video, image, and audio may be the subject of compression encoding, and a technique for performing compression encoding on an image is referred to as video image compression.
- Next-generation video content will be characterized by high spatial resolution, high frame rate, and high dimensionality of scene representation. In order to process such content, a huge increase in terms of memory storage, memory access rate, and processing power will result.
- the video codec standard after the high efficiency video coding (HEVC) standard requires a more efficient prediction technique.
- Embodiments of the present specification are to provide a video data processing method and apparatus for providing intra prediction that uses data resources more efficiently.
- a method for processing video data includes determining whether a pulse code modulation (PCM) mode in which a sample value of a current block of video data is transmitted through a bitstream is applied, and wherein Based on the PCM mode not being applied, parsing an index associated with a reference line for intra prediction of the current block from the bitstream, and predicting the current block based on a reference sample included in the reference line associated with the index And generating a sample.
- PCM pulse code modulation
- the index may indicate one of a plurality of reference lines located within a certain distance from the current block.
- the plurality of reference lines may include a plurality of upper reference lines located above the upper boundary of the current block or a plurality of left reference lines located to the left of the left boundary of the current block.
- the plurality of reference lines may be included in the same coding tree unit as the current block.
- determining whether the PCM mode is applied may include checking a flag indicating whether the PCM mode is applied.
- the index may be transferred from the encoding device to the decoding device when the PCM mode is not applied.
- the current block may correspond to a coding unit or a prediction unit.
- An apparatus for processing video data includes a memory storing the video data and a processor coupled with the memory, and a sample value of a current block of the video data is transmitted through a bitstream Determine whether or not a PCM (pulse code modulation) mode is applied, and based on the PCM mode not being applied, parse an index associated with a reference line for intra prediction of the current block from the bitstream, and associated with the index It may be configured to generate a prediction sample of the current block based on a reference sample included in a reference line.
- PCM pulse code modulation
- a non-transitory computer-executable component storing computer-executable components configured to execute on one or more processors of a computing device comprises: Determines whether a pulse code modulation (PCM) mode in which a sample value is transmitted through a bitstream is applied, and based on whether the PCM mode is not applied, an index associated with a reference line for intra prediction of the current block is used in the bitstream It can parse from and store a computer-executable component that is configured to generate a predictive sample of the current block based on a reference sample included in a reference line associated with the index.
- PCM pulse code modulation
- data resources are efficiently used by removing redundancy between syntax of multiple line reference (MRL) intra prediction and syntax of pulse code modulation (PCM) mode in the intra prediction process.
- the intra prediction method can be provided.
- FIG. 1 shows an example of a video coding system according to an embodiment of the present specification.
- FIG. 2 is an embodiment of the present specification, and shows a schematic block diagram of an encoding device in which encoding of a video / image signal is performed.
- FIG. 3 is an embodiment of the present specification, and shows a schematic block diagram of a decoding apparatus in which decoding of a video signal is performed.
- FIG. 4 is an embodiment of the present specification, and is a structural diagram of a content streaming system.
- FIG 5 shows an example of multi-type tree splitting modes according to an embodiment of the present specification.
- FIGS. 6 and 7 show an example of an intra prediction based video encoding method according to an embodiment of the present specification and an intra prediction unit in an encoding apparatus according to an embodiment of the present invention.
- FIGS. 8 and 9 show an example of an intra prediction based video / image decoding method according to an embodiment of the present specification and an intra prediction unit in a decoding apparatus according to an embodiment of the present invention.
- 10 and 11 show examples of prediction directions of an intra prediction mode that can be applied to embodiments of the present specification.
- FIG 12 illustrates an example of reference lines for applying multiple reference line prediction according to an embodiment of the present specification.
- FIG. 13 shows an example of a flowchart for processing video data according to an embodiment of the present specification.
- FIG. 14 shows an example of a flowchart for encoding video data according to an embodiment of the present specification.
- FIG. 15 shows an example of a flowchart for decoding video data according to an embodiment of the present specification.
- FIG. 16 shows an example of a block diagram of an apparatus for processing video data according to an embodiment of the present specification.
- signals, data, samples, pictures, slices, tiles, frames, and blocks may be interpreted by being appropriately substituted in each coding process.
- the term 'processing unit' means a unit in which encoding / decoding processing such as prediction, transformation, and / or quantization is performed.
- the processing unit may be interpreted as meaning including a unit for a luminance component and a unit for a chroma component.
- the processing unit may correspond to a block, a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
- the processing unit may be interpreted as a unit for a luminance component or a unit for a chrominance component.
- the processing unit may correspond to a coding tree block (CTB), a coding block (CB), a PU or a transform block (TB) for the luminance component.
- the processing unit may correspond to CTB, CB, PU or TB for the color difference component.
- the present invention is not limited thereto, and the processing unit may be interpreted to include a unit for a luminance component and a unit for a color difference component.
- processing unit is not necessarily limited to a square block, and may be configured in a polygonal shape having three or more vertices.
- pixels, pixels, or coefficients transformation coefficients or transform coefficients that have undergone first-order transformation
- samples are hereinafter collectively referred to as samples.
- using a sample may mean that a pixel value, a pixel value, or a coefficient (a transform coefficient or a transform coefficient that has undergone first-order transformation) is used.
- FIG. 1 shows an example of a video coding system according to an embodiment of the present specification.
- the video coding system can include a source device 10 and a receiving device 20.
- the source device 10 may transmit the encoded video / video information or data to the receiving device 20 through a digital storage medium or a network in a file or streaming form.
- the source device 10 may include a video source 11, an encoding device 12, and a transmitter 13.
- the receiving device 20 may include a receiver 21, a decoding device 22 and a renderer 23.
- the encoding device 10 may be referred to as a video / video encoding device, and the decoding device 20 may be referred to as a video / video decoding device.
- the transmitter 13 may be included in the encoding device 12.
- the receiver 21 may be included in the decoding device 22.
- the renderer 23 may include a display unit, and the display unit may be configured as a separate device or an external component.
- the video source may acquire a video / image through a capture, synthesis, or generation process of the video / image.
- the video source may include a video / image capture device and / or a video / image generation device.
- the video / image capture device may include, for example, one or more cameras, a video / image archive including previously captured video / images, and the like.
- the video / image generating device may include, for example, a computer, a tablet and a smartphone, and may (electronically) generate a video / image.
- a virtual video / image may be generated through a computer or the like, and in this case, a video / image capture process may be replaced by a process of generating related data.
- the encoding device 12 may encode an input video / image.
- the encoding apparatus 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency.
- the encoded data (encoded video / video information) may be output in the form of a bitstream.
- the transmitting unit 13 may transmit the encoded video / video information or data output in the form of a bitstream to a receiving unit of a receiving device through a digital storage medium or a network in a file or streaming format.
- Digital storage media include universal serial bus (USB), secure digital (SD), compact disk (CD), digital video disk (DVD), bluray, hard disk drive (HDD), and solid state drive (SSD). It may include various storage media.
- the transmission unit 13 may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast / communication network.
- the receiver 21 may extract the bitstream and transmit it to the decoding device 22.
- the decoding apparatus 22 may decode a video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding apparatus 12.
- the renderer 23 may render the decoded video / image.
- the rendered video / image may be displayed through the display unit.
- FIG. 2 is an embodiment of the present specification, and shows a schematic block diagram of an encoding device in which encoding of a video / image signal is performed.
- the encoding device 100 of FIG. 2 may correspond to the encoding device 12 of FIG. 1.
- the encoding apparatus 100 includes an image segmentation unit 110, a subtraction unit 115, a conversion unit 120, a quantization unit 130, an inverse quantization unit 140, and an inverse conversion unit 150, It may include an adder 155, a filtering unit 160, a memory 170, an inter prediction unit 180, an intra prediction unit 185, and an entropy encoding unit 190.
- the inter prediction unit 180 and the intra prediction unit 185 may be collectively referred to as a prediction unit. That is, the prediction unit may include an inter prediction unit 180 and an intra prediction unit 185.
- the transform unit 120, the quantization unit 130, the inverse quantization unit 140, and the inverse transform unit 150 may be included in a residual processing unit.
- the residual processing unit may further include a subtraction unit 115.
- the inter prediction unit 180, the intra prediction unit 185, and the entropy encoding unit 190 may be configured by one hardware component (for example, an encoder or processor) according to an embodiment.
- the memory 170 may be configured by one hardware component (eg, a memory or digital storage medium) according to an embodiment, and the memory 170 may include a decoded picture buffer (DPB) 175. .
- DPB decoded picture buffer
- the image splitter 110 may divide the input image (or picture, frame) input to the encoding apparatus 100 into one or more processing units.
- the processing unit may be referred to as a coding unit (CU).
- the coding unit may be recursively divided according to a quad-tree binary-tree (QTBT) structure from a coding tree unit (CTU) or a largest coding unit (LCU).
- QTBT quad-tree binary-tree
- CTU coding tree unit
- LCU largest coding unit
- one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and / or a binary tree structure.
- a quad tree structure may be applied first, and a binary tree structure may be applied later.
- a binary tree structure may be applied first.
- the coding procedure according to the present specification may be performed based on the final coding unit that is no longer split.
- the maximum coding unit may be directly used as a final coding unit based on coding efficiency according to image characteristics, or, if necessary, the coding unit is recursively divided into coding units of lower depth than optimal
- the coding unit of the size of can be used as the final coding unit.
- the coding procedure may include procedures such as prediction, transformation, and reconstruction, which will be described later.
- the processing unit may further include a prediction unit (PU) or a transformation unit (TU).
- the prediction unit and transform unit may be partitioned or partitioned from the above-described final coding unit, respectively.
- the prediction unit may be a unit of sample prediction
- the transformation unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
- the unit may be used interchangeably with terms such as a block or area in some cases.
- the MxN block may represent samples of M columns and N rows or a set of transform coefficients.
- the sample may generally represent a pixel or a pixel value, and may indicate only a pixel / pixel value of a luminance component or only a pixel / pixel value of a saturation component.
- the sample may be used as a term for one picture (or image) corresponding to a pixel or pel.
- the encoding apparatus 100 subtracts a prediction signal (a predicted block, a prediction sample array) output from the inter prediction unit 180 or the intra prediction unit 185 from the input image signal (original block, original sample array)
- a signal (remaining block, residual sample array) may be generated, and the generated residual signal is transmitted to the converter 120.
- a unit that subtracts a prediction signal (a prediction block, a prediction sample array) from an input video signal (original block, original sample array) in the encoding apparatus 100 may be referred to as a subtraction unit 115.
- the prediction unit may perform prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied in units of blocks or CUs. As described later in the description of each prediction mode, the prediction unit may generate various information about prediction, such as prediction mode information, and transmit it to the entropy encoding unit 190.
- the prediction information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.
- the intra prediction unit 185 may predict the current block by referring to samples in the current picture.
- the referenced samples may be located in the neighbor of the current block or may be located apart depending on a prediction mode.
- prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the non-directional mode may include, for example, a DC mode and a planar mode (planar mode).
- the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the degree of detail of the prediction direction. However, this is an example, and more or less directional prediction modes may be used depending on the setting.
- the intra prediction unit 185 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
- the inter prediction unit 180 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between a neighboring block and a current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
- the reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different.
- the temporal neighboring block may be referred to by a name such as a collocated reference block or a colCU, and the reference picture including the temporal neighboring block may also be called a collocated picture (colPic).
- the inter prediction unit 180 constructs a motion information candidate list based on neighboring blocks, and generates information indicating which candidate is used to derive a motion vector and / or reference picture index of the current block. can do. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 180 may use motion information of neighboring blocks as motion information of the current block.
- the residual signal may not be transmitted.
- the motion vector of the current block is obtained by using a motion vector of a neighboring block as a motion vector predictor and signaling a motion vector difference. I can order.
- the prediction signal generated through the inter prediction unit 180 or the intra prediction unit 185 may be used to generate a reconstructed signal or may be used to generate a residual signal.
- the transform unit 120 may generate transform coefficients by applying a transform technique to the residual signal.
- the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeve transform (KLT), a graph-based transform (GBT), or a conditionally non-linear transform (CNT).
- DCT discrete cosine transform
- DST discrete sine transform
- KLT Karhunen-Loeve transform
- GBT graph-based transform
- CNT conditionally non-linear transform
- GBT refers to a transformation obtained from this graph when it is said to graphically represent relationship information between pixels.
- CNT means a transform obtained by generating a prediction signal using all previously reconstructed pixels and based on it.
- the transformation process may be applied to pixel blocks having the same size of a square, or may be applied to blocks of variable sizes other than squares.
- the quantization unit 130 quantizes the transform coefficients and transmits them to the entropy encoding unit 190, and the entropy encoding unit 190 encodes a quantized signal (information about quantized transform coefficients) and outputs it as a bitstream. have. Information about the quantized transform coefficients may be called residual information.
- the quantization unit 130 may rearrange block-type quantized transform coefficients into a one-dimensional vector form based on a coefficient scan order, and the quantized transform based on the one-dimensional vector form quantized transform coefficients Information about coefficients may be generated.
- the entropy encoding unit 190 may perform various encoding methods such as exponential Golomb (CAVLC), context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit 190 may encode information necessary for video / image reconstruction (eg, values of syntax elements, etc.) together with the quantized transform coefficients together or separately.
- the encoded information (eg, video / video information) may be transmitted or stored in the unit of a network abstraction layer (NAL) unit in the form of a bitstream.
- NAL network abstraction layer
- the bitstream can be transmitted over a network or stored on a digital storage medium.
- the network may include a broadcasting network and / or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD.
- the signal output from the entropy encoding unit 190 may be configured as an internal / external element of the encoding device 100 by a transmitting unit (not shown) and / or a storing unit (not shown) for storing, or the transmitting unit It may be a component of the entropy encoding unit 190.
- the quantized transform coefficients output from the quantization unit 130 may be used to generate a prediction signal.
- the residual signal may be reconstructed by applying inverse quantization and inverse transform through the inverse quantization unit 140 and the inverse transform unit 150 in the loop to the quantized transform coefficients.
- the adder 155 adds the reconstructed residual signal to the predicted signal output from the inter predictor 180 or the intra predictor 185, so that the reconstructed signal (restored picture, reconstructed block, reconstructed sample array) Can be created. If there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as a reconstructed block.
- the adding unit 155 may be referred to as a restoration unit or a restoration block generation unit.
- the reconstructed signal may be used for intra prediction of a next processing target block in a current picture, or may be used for inter prediction of a next picture through filtering as described below.
- the filtering unit 160 may apply subjective / objective filtering to improve the subjective / objective image quality.
- the filtering unit 160 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and may transmit the modified reconstructed picture to the decoded picture buffer 170.
- Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, and bilateral filter.
- the filtering unit 160 may generate various pieces of information regarding filtering as described later in the description of each filtering method, and transmit them to the entropy encoding unit 190.
- the filtering information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.
- the modified reconstructed picture transmitted to the decoded picture buffer 170 may be used as a reference picture in the inter prediction unit 180.
- inter prediction When the inter prediction is applied through the encoding apparatus 100, prediction mismatches in the encoding apparatus 100 and the decoding apparatus 200 may be avoided, and encoding efficiency may be improved.
- the decoded picture buffer 170 may store the modified reconstructed picture for use as a reference picture in the inter prediction unit 180.
- FIG. 3 is an embodiment of the present specification, and shows a schematic block diagram of a decoding apparatus in which decoding of a video signal is performed.
- the decoding device 200 of FIG. 3 may correspond to the decoding device 22 of FIG. 1.
- the decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse conversion unit 230, an addition unit 235, a filtering unit 240, a memory 250, and an inter It may be configured to include a prediction unit 260 and the intra prediction unit 265.
- the inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a prediction unit. That is, the prediction unit may include an inter prediction unit 180 and an intra prediction unit 185.
- the inverse quantization unit 220 and the inverse conversion unit 230 may be collectively referred to as a residual processing unit. That is, the residual processing unit may include an inverse quantization unit 220 and an inverse conversion unit 230.
- the entropy decoding unit 210, the inverse quantization unit 220, the inverse transform unit 230, the addition unit 235, the filtering unit 240, the inter prediction unit 260, and the intra prediction unit 265 may vary depending on the embodiment. It may be configured by one hardware component (eg, a decoder or processor). Also, the decoded picture buffer 250 may be implemented by one hardware component (eg, a memory or digital storage medium) according to an embodiment. Also, the memory 250 may include the DPB 175 and may be configured by a digital storage medium.
- the decoding apparatus 200 may restore an image in response to a process in which the video / image information is processed by the encoding apparatus 100 of FIG. 2.
- the decoding apparatus 200 may perform decoding using a processing unit applied by the encoding apparatus 100.
- the processing unit may be, for example, a coding unit, and the coding unit may be divided according to a quad tree structure and / or a binary tree structure from a coding tree unit or a largest coding unit. Then, the decoded video signal decoded and output through the decoding apparatus 200 may be reproduced through the reproduction apparatus.
- the decoding apparatus 200 may receive the signal output from the encoding apparatus 100 of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 210.
- the entropy decoding unit 210 may parse the bitstream to derive information (eg, video / image information) necessary for image reconstruction (or picture reconstruction).
- the entropy decoding unit 210 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and quantizes a value of a syntax element required for image reconstruction and a transform coefficient for residual.
- the CABAC entropy decoding method receives bins corresponding to each syntax element in a bitstream, decode information of a decoding target syntax element information and surrounding and decoding target blocks, or a symbol / bin decoded in a previous step.
- the context model is determined using the information of, and the probability of occurrence of the bin is predicted according to the determined context model to perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element. have.
- the CABAC entropy decoding method may update the context model using the decoded symbol / bin information for the next symbol / bin context model after determining the context model.
- a prediction unit inter prediction unit 260 and intra prediction unit 265
- the entropy decoding unit 210 performs entropy decoding.
- the dual value that is, quantized transform coefficients and related parameter information may be input to the inverse quantization unit 220.
- information related to filtering among information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240.
- a receiving unit (not shown) receiving a signal output from the encoding apparatus 100 may be further configured as an internal / external element of the decoding apparatus 200, or the receiving unit may be a component of the entropy decoding unit 210. It might be.
- the inverse quantization unit 220 may output transform coefficients by inverse quantizing the quantized transform coefficients.
- the inverse quantization unit 220 may rearrange the quantized transform coefficients in a two-dimensional block form. In this case, reordering may be performed based on the coefficient scan order performed by the encoding apparatus 100.
- the inverse quantization unit 220 may perform inverse quantization on the quantized transform coefficients using a quantization parameter (for example, quantization step size information), and obtain a transform coefficient.
- a quantization parameter for example, quantization step size information
- the inverse transform unit 230 may output a residual signal (residual block, residual sample array) by applying an inverse transform to the transform coefficients.
- the prediction unit may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on information about prediction output from the entropy decoding unit 210, and may determine a specific intra / inter prediction mode.
- the intra prediction unit 265 may predict the current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or spaced apart according to the prediction mode.
- prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the intra prediction unit 265 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
- the inter prediction unit 260 may derive the predicted block for the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between a neighboring block and a current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.).
- the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
- the inter prediction unit 260 may construct a motion information candidate list based on neighboring blocks, and derive a motion vector and / or reference picture index of the current block based on the received candidate selection information.
- Inter prediction may be performed based on various prediction modes, and information about prediction may include information indicating a mode of inter prediction for a current block.
- the adding unit 235 adds the obtained residual signal to the prediction signal (predicted block, predicted sample array) output from the inter prediction unit 260 or the intra prediction unit 265, thereby restoring signals (restored pictures, reconstructed blocks). , A reconstructed sample array). If there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as a reconstructed block.
- the adding unit 235 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal may be used for intra prediction of a next processing target block in a current picture, or may be used for inter prediction of a next picture through filtering as described below.
- the filtering unit 240 may improve subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 240 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and may transmit the modified reconstructed picture to the decoded picture buffer 250.
- Various filtering methods may include, for example, deblocking filtering, sample adaptive offset (SAO), adaptive loop filter (ALF), bilateral filter, and the like.
- the corrected reconstructed picture transmitted to the decoded picture buffer 250 may be used as a reference picture by the inter prediction unit 260.
- the embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoding device 100 are respectively the filtering unit 240 and the inter prediction unit 260 of the decoding device.
- the intra prediction unit 265 may be applied to the same or corresponding.
- FIG. 4 is an embodiment of the present specification, and is a structural diagram of a content streaming system.
- the content streaming system to which the present specification is applied may largely include an encoding server 410, a streaming server 420, a web server 430, a media storage 440, a user device 450, and a multimedia input device 460. have.
- the encoding server 410 may compress the content input from multimedia input devices such as a smartphone, camera, camcorder, etc. into digital data to generate a bitstream and transmit it to the streaming server 420.
- multimedia input devices 460 such as a smartphone, a camera, and a camcorder directly generate a bitstream
- the encoding server 410 may be omitted.
- the bitstream may be generated by an encoding method or a bitstream generation method to which the present specification is applied, and the streaming server 420 may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
- the streaming server 420 transmits multimedia data to the user device 450 based on a user request through the web server 430, and the web server 430 serves as an intermediary to inform the user of the service.
- the web server 430 delivers it to the streaming server 420, and the streaming server 420 transmits multimedia data to the user.
- the content streaming system may include a separate control server, in which case the control server serves to control commands / responses between devices in the content streaming system.
- the streaming server 420 may receive content from the media storage 440 and / or the encoding server 410.
- the streaming server 420 may receive content in real time from the encoding server 410.
- the streaming server 420 may store the bitstream for a predetermined time.
- the user device 450 includes a mobile phone, a smart phone, a laptop computer, a terminal for digital broadcasting, a personal digital assistants (PDA), a portable multimedia player (PMP), navigation, a slate PC ( slate PC), tablet PC (tablet PC), ultrabook (ultrabook), wearable device (wearable device, for example, a smart watch (smartwatch), glass type (smart glass), HMD (head mounted display), digital TVs, desktop computers, and digital signage.
- PDA personal digital assistants
- PMP portable multimedia player
- slate PC slate PC
- tablet PC tablet PC
- ultrabook ultrabook
- wearable device wearable device
- wearable device for example, a smart watch (smartwatch), glass type (smart glass), HMD (head mounted display), digital TVs, desktop computers, and digital signage.
- Each server in the content streaming system can be operated as a distributed server, and in this case, data received from each server can be distributed.
- the video / image coding method according to this document may be performed based on various detailed technologies, and the detailed descriptions of each detailed technology are as follows.
- the techniques described below may be related to related procedures such as prediction, residual processing (transformation, quantization, etc.), syntax element coding, filtering, partitioning / segmentation, etc. in the video / image encoding / decoding procedure described above and / or described below. It is apparent to those skilled in the art.
- Each picture constituting the video data may be divided into a sequence of coding tree units (CTUs).
- the CTU may correspond to a coding tree block (CTB).
- the CTU may include a coding tree block of luma samples and two coding tree blocks of chroma samples corresponding to luma samples.
- a CTU may include two corresponding blocks of chroma samples and an NxN block of luma samples.
- FIG 5 shows an example of multi-type tree splitting modes according to an embodiment of the present specification.
- the CTU may be divided into CUs based on a quad-tree (QT) structure.
- the quadtree structure may be referred to as a quaternary tree structure. This is to reflect various local characteristics.
- the CTU can be divided based on a multi-type tree structure including a binary tree (BT) and a ternary tree (TT) as well as a quad tree.
- BT binary tree
- TT ternary tree
- the four split types shown in FIG. 5 are vertical binary splitting (SPLIT_BT_VER), horizontal binary splitting (SPLIT_BT_HOR), vertical ternary splitting (SPLIT_TT_VER), horizontal ternary splitting (horizontal ternary) splitting, SPLIT_TT_HOR).
- a leaf node of a multi-type tree structure may correspond to a CU. Prediction and transformation procedures may be performed for each of these CUs.
- CU, PU, and TU may have the same block size. However, when the maximum supported transform length is smaller than the width or height of the color component of the CU, the CU and the TU may have different block sizes.
- the CU can be divided in a different way from the QT structure, BT structure, or TT structure. That is, according to the QT structure, the CU of the lower depth is divided into 1/4 the size of the CU of the upper depth, or the CU of the lower depth is divided into 1/2 the size of the CU of the upper depth according to the BT structure, or according to the TT structure Unlike the CU of the lower depth, which is divided into 1/4 or 1/2 the size of the CU of the upper depth, the CU of the lower depth may be 1/5, 1/3, 3/8, 3 of the CU of the upper depth depending on the case. It may be divided into / 5, 2/3, or 5/8 size, and the method in which the CU is divided is not limited thereto.
- the decoded portion of the current picture or other pictures in which the current processing unit is included can be used.
- a picture (slice) in which only intra prediction is performed an intra picture or an I-picture (I-slice), one motion vector and a reference index to predict each unit
- the picture to be used (slice) may be referred to as a predictive picture or a P-picture (P-slice), a picture (slice) using two or more motion vectors and reference indices as a pair prediction picture or a B-picture (B-slice).
- Inter prediction refers to a prediction method that derives a sample value of a current block based on data elements (eg, sample values or motion vectors) of a picture other than the current picture. That is, it refers to a method of predicting a sample value of a current block by referring to reconstructed areas of another reconstructed picture other than the current picture.
- data elements eg, sample values or motion vectors
- intra prediction (or intra-prediction) will be described in more detail.
- Intra prediction or intra-prediction
- Intra prediction refers to a prediction method that derives a sample value of a current block from data elements (eg, sample values) of the same decoded picture (or slice). That is, it refers to a method of predicting the sample value of the current block by referring to the reconstructed regions in the current picture.
- the intra prediction may represent a prediction that generates a prediction sample for the current block based on a reference sample outside the current block in a picture to which the current block belongs (hereinafter, the current picture).
- the embodiments of the present specification describe detailed techniques of the prediction method described in FIGS. 2 and 3 above, and the embodiment of the present invention includes the intra prediction-based video / image encoding method of FIG. 11 and the encoding apparatus of FIG. 7 described later. It may correspond to the device of the intra prediction unit 185 in (100). In addition, the embodiment of the present invention may correspond to the intra prediction-based video / video decoding method of FIG. 8 described later and the apparatus of the intra prediction unit 265 in the decoding apparatus 200 of FIG. 9.
- the data encoded by FIGS. 11 and 13 is a memory included in the encoding device 100 or the decoding device 200 in the form of a bitstream, or a memory functionally combined with the encoding device 100 or the decoding device 200 Can be stored in.
- peripheral reference samples to be used for intra prediction of the current block may be derived.
- Peripheral reference samples of the current block have a total of 2 x nH samples adjacent to the left boundary and a sample adjacent to the left border of the current block of size nW x nH, a total of 2 x nW samples adjacent to the upper boundary of the current block, and a right upper boundary. The number of samples, and one sample of the sum of the current block may be included.
- the peripheral reference samples of the current block may include upper peripheral samples in a plurality of columns and left peripheral samples in a plurality of rows.
- the surrounding reference samples of the current block may include samples located on the left or right vertical lines adjacent to the current block and on the upper or lower horizontal lines.
- the decoding apparatus 200 may construct surrounding reference samples to be used for prediction by substituting samples that are not available with available samples.
- surrounding reference samples to be used for prediction may be configured through interpolation of available samples. For example, samples located on the vertical line adjacent to the right of the current block and samples located on the horizontal line adjacent to the bottom of the current block are samples located on the left vertical line of the current block and samples located on the horizontal line above the current block. It can be replaced based on or constructed through interpolation.
- prediction samples may be derived based on an average or interpolation of the neighboring reference samples of the current block, and ii) specific to the prediction sample among the neighboring reference samples of the current block (
- the prediction sample may be derived based on the reference sample present in the prediction) direction.
- a prediction mode such as i) may be referred to as a non-directional prediction mode or a non-angle prediction mode, and a prediction mode such as ii) may be referred to as a directional prediction mode or an angular prediction mode.
- a prediction sample through interpolation of a first neighboring sample located in the prediction direction of the intra prediction mode of the current block and a second neighboring sample located in the opposite direction of the prediction direction based on the prediction sample of the current block among the neighboring reference samples This can be generated.
- a prediction technique based on linear interpolation between a prediction sample based on a prediction sample of a current block and reference samples located in a direction opposite to the prediction direction may be referred to as linear interpolation inter prediction (LIP).
- the temporary prediction sample of the current block is derived based on the filtered surrounding reference samples, and at least one reference sample derived according to the intra prediction mode among the existing surrounding reference samples, that is, the filtered surrounding reference samples.
- a prediction sample of the current block may be derived through a weighted sum of temporary prediction samples. Prediction through weighted sum of a plurality of samples may be referred to as a position dependent intra prediction combination (PDPC).
- PDPC position dependent intra prediction combination
- the intra prediction procedure may include an intra prediction mode determination step, a peripheral reference sample derivation step, and an intra prediction mode based prediction sample derivation step, and may include a post-processing filtering step for the predicted sample derived as needed. have.
- the video encoding procedure based on intra prediction and the intra prediction unit 185 in the encoding apparatus 100 may be expressed as shown in FIGS. 6 and 7.
- FIGS. 6 and 7 show an example of an intra prediction based video encoding method according to an embodiment of the present specification and an intra prediction unit 185 in the encoding apparatus 100 according to an embodiment of the present invention.
- step S610 may be performed by the intra prediction unit 185 of the encoding apparatus 100, and steps S620 and S630 may be performed by the residual processing unit.
- step S620 may be performed by the subtraction unit 115 of the encoding apparatus 100, and step S630 may include residual information derived by the residual processing unit and prediction information derived by the intra prediction unit 185. It can be performed by the entropy encoding unit 190 using.
- the residual information is information about residual samples, and may include information about quantized transform coefficients for residual samples.
- residual samples may be derived as transform coefficients through the transform unit 120 of the encoding apparatus 100, and the derived transform coefficients may be derived as quantized transform coefficients through the quantization unit 130.
- Information about the quantized transform coefficients may be encoded in the entropy encoding unit 190 through a residual coding procedure.
- the encoding apparatus 100 may perform intra prediction on the current block.
- the encoding apparatus 100 determines an intra prediction mode for the current block, derives neighbor reference samples of the current block, and generates prediction samples in the current block based on the intra prediction mode and neighbor reference samples.
- the procedure for determining the intra prediction mode, deriving the peripheral reference sample, and generating the prediction samples may be performed simultaneously or sequentially.
- the intra prediction unit 185 of the encoding apparatus 100 may include a prediction mode determination unit 186, a reference sample derivation unit 187, and a prediction sample generation unit 188, and the prediction mode determination unit 186 determines an intra prediction mode for the current block, the reference sample derivation unit 187 derives a neighboring reference sample of the current block, and the prediction sample generator 188 derives a motion sample of the current block. have.
- the intra prediction unit 185 may further include a prediction sample filter unit (not shown).
- the encoding apparatus 100 may determine a prediction mode to be applied to a current block among a plurality of intra prediction modes.
- the encoding apparatus 100 may compare the rate-distortion cost (RD cost) for the intra prediction modes and determine an optimal intra prediction mode for the current block.
- RD cost rate-distortion cost
- the encoding apparatus 100 may perform filtering on the predicted sample. Filtering on the prediction sample may be referred to as post filtering. Filtering on some or all of the prediction samples may be performed by a filtering procedure on the prediction samples. In some cases, prediction sample filtering may be omitted.
- the encoding apparatus 100 may generate a residual sample for the current block based on the (filtered) prediction sample. Thereafter, in step S630, the encoder 100 may encode video data including prediction mode information including an intra prediction mode and information on residual samples.
- the encoded video data can be output in the form of a bitstream.
- the output bitstream may be delivered to the decoding device 200 through a storage medium or network.
- the encoding apparatus 100 may generate a reconstructed picture including reconstructed samples and reconstructed blocks based on reference samples and residual samples. Derivation of the reconstructed picture by the encoding apparatus 100 is to derive the same prediction result as that performed by the decoding apparatus 200 in the encoding apparatus 100, thereby improving coding efficiency. Furthermore, subsequent procedures such as in-loop filtering may be performed on the reconstructed picture.
- FIGS. 8 and 9 show an example of an intra prediction based video / image decoding method according to an embodiment of the present specification and an intra prediction unit 265 in the decoding apparatus 200 according to an embodiment of the present invention.
- the decoding apparatus 200 may perform an operation corresponding to an operation performed by the encoding apparatus 100.
- the decoding apparatus 200 may derive a prediction sample by performing prediction on the current block based on the received prediction information.
- the decoding apparatus 200 may determine an intra prediction mode for the current block based on the prediction mode information obtained from the encoding apparatus 100.
- the decoding apparatus 200 may derive a peripheral reference sample of the current block.
- the decoding apparatus 200 may generate a prediction sample in the current block based on the intra prediction mode and surrounding reference samples.
- the decoding apparatus 200 may perform a prediction sample filtering procedure, and the prediction sample filtering procedure may be referred to as post filtering. Some or all of the prediction samples may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
- the decoding apparatus 200 may generate a residual sample based on residual information obtained from the encoding apparatus 100.
- the decoding apparatus 200 may generate a reconstructed sample for the current block based on the (filtered) prediction samples and residual samples, and generate a reconstructed picture using the generated reconstructed samples.
- the intra prediction unit 265 of the decoding apparatus 200 may include a prediction mode determination unit 266, a reference sample derivation unit 267, and a prediction sample generation unit 268, and the prediction mode determination unit ( 266) determines the intra prediction mode of the current block based on the prediction mode generated by the prediction mode determination unit 186 of the encoding apparatus 100, and the reference sample derivation unit 267 derives neighboring reference samples of the current block And, the prediction sample generator 268 may generate a prediction sample of the current block. Meanwhile, although not shown, when the prediction sample filtering procedure is performed, the intra prediction unit 265 may include a prediction sample filter unit (not shown).
- the prediction mode information used for prediction may include a flag (eg, prev_intra_luma_pred_flag) to indicate whether the most probable mode (MPM) is applied to the current block or whether the remaining mode is applied.
- the prediction mode information may further include an index (mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates).
- MPM candidates may be configured as an MPM candidate list or an MPM list.
- the prediction mode information further includes remaining mode information (eg, rem_intra_luma_pred_mpde) indicating one of the remaining intra prediction modes except the intra prediction mode candidates (MPM candidates). Can be.
- the decoding apparatus 200 may determine the intra prediction mode of the current block based on the prediction information.
- Prediction mode information may be encoded and decoded through a coding method described below.
- prediction mode information may be encoded or decoded through entropy coding (eg, CABAC, CAVLC) based on truncated binary code.
- 10 and 11 show examples of prediction directions of an intra prediction mode that can be applied to embodiments of the present specification.
- the intra prediction mode may include two non-directional intra prediction modes and 33 directional intra prediction modes.
- the non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction mode may include 2 to 34 intra prediction modes.
- the planner intra prediction mode may be referred to as a planner mode, and the DC intra prediction mode may be referred to as a DC mode.
- the directional intra prediction mode as shown in Figure 11 33 to 65 of the directional intra prediction modes It can contain.
- the non-directional intra prediction modes include a planner mode and a DC mode, and the directional intra prediction modes may include 2 to 66 intra prediction modes.
- the extended directional intra prediction may be applied to blocks of all sizes, and may be applied to both luma and chroma components.
- the intra prediction mode may include two non-directional intra prediction modes and 129 directional intra prediction modes.
- the non-directional intra prediction modes may include a planner mode and a DC mode
- the directional intra prediction mode may include intra prediction modes 2 to 130.
- a current block to be coded and a neighboring block may have similar image characteristics. Therefore, there is a high probability that the current block and the neighboring blocks have the same or similar intra prediction mode. Therefore, the encoding apparatus 100 may use the intra prediction mode of the neighboring blocks to encode the intra prediction mode of the current block.
- the encoding apparatus 100 may construct an MPM list for the current block.
- the MPM list may be referred to as an MPM candidate list.
- MPM refers to a mode used to improve coding efficiency in consideration of the similarity between a current block and a neighboring block when coding an intra prediction mode.
- a method of constructing an MPM list including three MPMs may be used to keep the complexity of MPM list generation low.
- a re-maining mode may be used.
- the re-maining mode includes 64 remaining candidates, and re-forming intra prediction mode information indicating one of the 64 remaining candidates may be signaled.
- the re-maining intra prediction mode information may include a 6-bit syntax element (eg, rem_intra_luma_pred_mode syntax element).
- FIG 12 illustrates an example of reference lines for applying multiple reference line prediction according to an embodiment of the present specification.
- intra picture prediction directly uses neighboring samples as reference samples for prediction.
- MRL extends the existing intra prediction and uses neighbor samples having one or more (eg, 1 to 3) sample distances to the left and top of the current prediction block.
- Conventional direct neighboring reference sample lines and extended reference lines are shown in FIG. 24.
- mrl_idx indicates which line is used for intra prediction of the CU in connection with intra prediction modes (eg, directional or non-directional prediction modes).
- the syntax for performing prediction considering MRL may be configured as shown in Table 1.
- intra_luma_ref_idx [x0] [y0] may indicate an intra reference line index (IntraLumaRefLineIdx [x0] [y0]) specified by Table 2 below.
- intra_luma_ref_idx [x0] [y0] specifies the intra reference line index IntraLumaRefLineIdx [x0] [y0] as specified in Table 8).
- intra_luma_ref_idx [x0] [y0] does not exist, it can be inferred as 0. (When intra_luma_ref_idx [x0] [y0] is not present it is inferred to be equal to 0).
- intra_luma_ref_idx may be referred to as (intra) reference sample line index or mrl_idx. Also, intra_luma_ref_idx may be referred to as intra_luma_ref_line_idx.
- a plurality of reference lines near a coding unit for intra prediction according to an embodiment of the present invention, a plurality of upper reference lines located above an upper boundary of the coding unit or a left boundary of the coding unit It may include a plurality of left reference lines located on the left.
- intra prediction When intra prediction is performed on the current block, prediction for the luma component block (luma block) of the current block and prediction for the chroma component block (chroma block) may be performed, in this case, for the chroma component (chroma block)
- the intra prediction mode may be set separately from the intra prediction mode for the luma component (luma block).
- the intra prediction mode for the chroma component may be indicated based on the intra chroma prediction mode information, and the intra chroma prediction mode information may be signaled in the form of an intra_chroma_pred_mode syntax element.
- the intra chroma prediction mode information may indicate one of planner mode, DC mode, vertical mode, horizontal mode, direct mode (DM), and linear mode (LM).
- the planner mode may represent the intra prediction mode 0, the DC mode the intra prediction mode 1, the vertical mode the 26th intra prediction mode, and the horizontal mode the 10th prediction mode.
- DM and LM are dependent intra prediction modes for predicting chroma blocks using information of luma blocks.
- the DM may indicate a mode in which the same intra prediction mode as the intra prediction mode for the luma component is applied as the intra prediction mode for the chroma component.
- the LM subsamples the reconstructed samples of the luma block, and then applies the at least one LM parameter to the subsampled samples to predict the samples derived from the chroma block. It may indicate an intra prediction mode to be used.
- MRL pulse code modulation
- MRL multi reference line
- DPCM delta pulse code modulation
- BDPCM block-based delta pulse code modulation
- VTM VVC Test Model
- a reference line index (intra_luma_ref_idx [x0] [y0]) indicating a reference line in which reference samples for prediction of a current block is located is parsed first. Then, the PCM flag (pcm_flag) indicating whether or not to apply the PCM is parsed.
- the reference line index is parsed regardless of whether the PCM is applied or not, when the PCM is applied, the reference line index is parsed by the coding device even though it is not used, resulting in waste of data resources.
- the syntax and source code expressed in the following programming language will be readily understood by those skilled in the art of the technology related to the embodiments herein.
- the video processing apparatus and method according to the embodiment of the present specification may be implemented as a form of a program executed by the following syntax and source code and an electronic device executing the corresponding program.
- the embodiment of the present specification proposes a method of signaling only when the MRL index of the current block is not in the PCM mode.
- an embodiment of the present specification is a method of performing prediction by referring to the MRL index when the PCM mode is not applied (that is, when intra prediction is applied) after checking whether the PCM mode is applied in the decoding process of the video signal. Suggest.
- the current block is an arbitrary block in a picture processed by the encoding device 100 or the decoding device 200, and may correspond to a coding unit or a prediction unit.
- Table 5 below shows an example of the coding unit syntax according to the present embodiment.
- the encoding apparatus 100 may configure and encode a coding unit syntax including information shown in Table 5.
- the encoding apparatus 100 may store and transmit the encoded coding unit syntax in the form of a bitstream.
- the decoding apparatus 200 may obtain (parse) the encoded coding unit syntax from the bitstream.
- PCM flag a flag indicating whether or not (PCM flag) (pcm_flag) may be checked. If it is confirmed from the PCM flag that PCM is not applied (if the PCM flag is '0'), the coding apparatus uses any reference line among a plurality of adjacent reference lines located within a predetermined sample distance from the current block for prediction of the current block Index (MRL index) (intra_luma_ref_idx) indicating whether or not can be checked. The coding apparatus may generate a predictive sample of the current block from a reference sample of the reference line indicated by the MRL index. Table 13 below shows an example of a coding unit signaling source code according to an embodiment of the present specification.
- a plurality of reference lines for prediction of the current block may be parsed only when included in the same CTU as the current block. For example, as shown in the syntax of Table 13, the value of the modular operation (%) of the Y-axis size (CtbSizeY) of the CTU to which the current block belongs to the Y position value (y0) of the upper left sample in the current block. If the result is greater than 0 ((y0% CtbSizeY)> 0), it can be determined that a plurality of reference lines are in the same CTU as the current block.
- the result value of the modular operation is 0, so the samples located at the upper side of the current block are included in a different CTU from the current block. If the current block is not located at the upper boundary of the CTU, the MRL index may be parsed.
- the coding device may check the MRL index (extend_ref_line (cu)) after checking whether PCM mode is applied based on the PCM flag (pcm_flag (cu)). For example, the MRL index can be parsed only when the PCM flag is '0'.
- the PCM flag is used to check whether the PCM mode is applied (that is, whether intra prediction is applied), and when the PCM mode is not applied (that is, if the intra prediction is applied), the MRL index is used. By checking which reference line is used through, it is possible to reduce signaling overhead and coding complexity since there is no need to signal the MRL index or parse the MRL index despite the PCM mode being applied.
- FIG. 13 is a flowchart illustrating a video data processing method according to an embodiment of the present specification.
- Each of the operations of FIG. 13 is performed by the intra prediction unit 185 of the encoding apparatus 100 and the intra prediction unit 265 of the decoding apparatus 200 as an example of an intra prediction process when encoding or decoding video data. Can be.
- determining whether a PCM mode in which a sample value of a current block is transmitted through a bitstream in video data is applied (S1310), and the PCM mode is not applied.
- the video data processing apparatus may determine whether the PCM mode is applied to the current block.
- the coding device may determine whether the PCM mode is applied through a flag (PCM flag) indicating whether the PCM mode is applied.
- the coding device may determine that the PCM mode is not applied when the PCM flag is '0', and that the PCM mode is applied when the PCM flag is '1'.
- the PCM mode means a mode in which a sample value of a current block is directly transmitted from an encoding device 100 to a decoding device 200 through a bitstream.
- the decoding device 200 predicts or transforms Without this, the sample value of the current block can be derived from the bitstream transmitted from the encoding apparatus 100.
- the current block is a block unit in which processing is performed by a coding apparatus, and may correspond to a coding unit or a prediction unit.
- step S1320 when the coding device confirms that the PCM mode is not applied, the coding device may check the reference index associated with the reference line located within a certain distance from the current block. For example, when the PCM flag is '0' (if the PCM mode is not applied), the coding apparatus may parse a reference index indicating a line in which a reference sample for intra prediction of the current block is located. Meanwhile, the coding apparatus may determine a sample value for the current block without intra prediction when the PCM flag is '1' (when PCM mode is applied).
- the reference index may indicate one of a plurality of reference lines located within a certain distance from the current block.
- the plurality of reference lines may include a plurality of upper reference lines located above the upper boundary of the current block or a plurality of left reference lines located to the left of the left boundary of the current block.
- the plurality of reference lines may include four reference lines positioned above the current block having a width W and a height H and four reference lines positioned to the left of the current block, as shown in FIG. 12. .
- the plurality of reference lines in FIG. 12 the first reference line indicated by hatching corresponding to the 0 MRL index (mrl_idx) (or reference index), and the second reference number indicated by the dark gray color corresponding to the 1 MRL index A reference line, a third reference line indicated by a dot corresponding to the MRL index 2, and a fourth reference line indicated by a light gray color corresponding to the MRL index 3 may be included.
- a plurality of reference lines for prediction of the current block may be used only when included in the same CTU as the current block.
- the coding apparatus modulates the Y-axis size (CtbSizeY) of the CTU to which the current block belongs to the Y position value (y0) of the upper left sample in the current block (modular operation) ( If the result of%) is not 0, it can be determined that a plurality of reference lines are in the same CTU as the current block. This is because when the current block is located at the upper boundary of the CTU, the result value of the modular operation is 0, so the samples located at the upper side of the current block are included in a different CTU from the current block.
- a reference index for indicating a reference line in which a reference sample to be used for prediction of a current block is located may be included in a bitstream and transmitted from the encoding device 100 to the decoding device 200 only when a specific condition is satisfied. have.
- the reference index MNL index
- the coding device may code the sample value of the current block according to the PCM mode and end coding of the current block.
- the coding apparatus may code a reference index (extend_ref_line) for the reference line.
- the coding device may generate a prediction sample of the current block based on the reference sample included in the reference line associated with the reference index.
- the coding apparatus may determine a sample value for each pixel position included in the current block using the reference sample of the reference line indicated by the reference index and the intra prediction mode. For example, when the reference index (MRL index) is 1, the coding apparatus applies an intra prediction mode from samples of a reference line (a line of samples shown in dark gray) spaced one sample distance from the current block in FIG. The sample value for the current block can be determined.
- FIG. 14 shows an example of a video data encoding process according to an embodiment of the present disclosure. Each of the operations of FIG. 14 may be performed by the intra prediction unit 185 of the encoding apparatus 100.
- the encoding apparatus 100 may determine whether to apply the PCM mode to the current block to be encoded.
- the PCM mode may refer to a mode in which the sample value of the current block is directly transferred from the encoding device 100 to the decoding device 200 without prediction or transformation for the current block.
- the encoding apparatus 100 may determine whether to apply the PCM mode in consideration of the RD cost.
- the encoding apparatus 100 may proceed to step S1450.
- the encoding apparatus 100 may encode the sample value of the current block according to the PCM mode. That is, the encoding apparatus 100 may encode the sample value of the current block and include it in the bitstream in a state in which the prediction and transformation processes are omitted according to the PCM mode.
- the encoding apparatus 100 may omit coding of information related to prediction including a reference index.
- the encoding apparatus 100 may omit coding for a reference index indicating a reference line according to application of the MRL.
- the coding device may code the sample value of the current block according to the PCM mode and end coding of the current block.
- the coding device may code the sample value of the current block according to the PCM mode and end coding of the current block.
- the encoding apparatus 100 may proceed to step S1420.
- the encoding apparatus 100 may determine a reference sample and intra prediction mode for intra prediction of the current block. For example, the encoding apparatus 100 may determine a reference sample and an intra prediction mode in consideration of RD cost. Thereafter, in step S1430, the encoding apparatus 100 may encode prediction information and residual information.
- the coding device may code a reference index (extend_ref_line) for the reference line.
- the encoding apparatus 100 may determine a reference sample directly adjacent to the current block, as well as a reference sample located in a plurality of reference lines located within a certain distance from the current block. Also, the encoding apparatus 100 may code a reference index (MRL index) indicating a reference line in which a reference sample for prediction of a current block is located.
- MNL index reference index
- the reference index may indicate one of a plurality of reference lines located within a certain distance from the current block.
- the plurality of reference lines may include a plurality of upper reference lines located above the upper boundary of the current block or a plurality of left reference lines located to the left of the left boundary of the current block.
- the plurality of reference lines may include four reference lines positioned above the current block having a width W and a height H and four reference lines positioned to the left of the current block, as shown in FIG. 12. .
- the plurality of reference lines in FIG. 12 the first reference line indicated by hatching corresponding to the 0 MRL index (mrl_idx) (or reference index), and the second reference number indicated by the dark gray color corresponding to the 1 MRL index A reference line, a third reference line indicated by a dot corresponding to the MRL index 2, and a fourth reference line indicated by a light gray color corresponding to the MRL index 3 may be included.
- a plurality of reference lines for prediction of the current block according to MRL may be used for prediction of the current block only when included in the same coding tree unit as the current block. For example, as shown in the syntax of Table 6, of the modular operation (%) of the Y-axis size (CtbSizeY) of the CTU to which the current block belongs to the Y position value (y0) of the upper left sample in the current block. If the result is greater than 0 ((y0% CtbSizeY)> 0), it can be determined that a plurality of reference lines are in the same CTU as the current block.
- the result value of the modular operation is 0, so the samples located at the upper side of the current block are included in a different CTU from the current block. If the current block is not located at the upper boundary of the CTU, the MRL index may be parsed.
- the encoding apparatus 100 can reduce coding complexity and signaling overhead.
- FIG. 15 shows another example of a decoding process of video data according to an embodiment of the present specification.
- Each of the operations of FIG. 15 may be performed by the intra prediction unit 265 of the decoding apparatus 200 as an example of an intra prediction process when decoding video data.
- the decoding apparatus 200 determines whether the PCM flag indicating whether the PCM mode is applied to the current block is 1. That is, the decoding apparatus 200 may determine whether the PCM mode is applied to the current block.
- the PCM mode may refer to a mode in which the sample value of the current block is directly transferred from the encoding device 100 to the decoding device 200 without prediction or transformation for the current block.
- the current block is a block unit in which processing is performed by the decoding apparatus 200, and may correspond to a coding unit or a prediction unit.
- the decoding apparatus 200 may proceed to step S1550.
- the decoding apparatus 200 may determine a sample value of the current block according to the PCM mode. For example, the decoding apparatus 200 may directly derive the sample value of the current block from the bitstream transmitted from the encoding apparatus 100, and omit the prediction or transformation process.
- the decoding apparatus 200 may end the decoding procedure for the current block and perform decoding on the subsequent block to be processed.
- the decoding apparatus 200 may proceed to step S1520.
- the decoding apparatus 200 may parse the MRL index.
- the reference index means an index indicating a reference line in which a reference sample used for prediction of the current block is located.
- the reference index may be referred to as an MRL index, and may be expressed as 'intra_luma_ref_idx' in Table 5.
- the decoding apparatus 200 may determine a reference line associated with a reference index in the current picture. That is, the decoding apparatus 200 may determine a reference line indicated by the reference index among reference lines adjacent to the current block.
- the reference index may indicate one of a plurality of reference lines located within a certain distance from the current block.
- the plurality of reference lines may include a plurality of upper reference lines located above the upper boundary of the current block or a plurality of left reference lines located to the left of the left boundary of the current block.
- the plurality of reference lines may include four reference lines positioned above the current block having a width W and a height H and four reference lines positioned to the left of the current block, as shown in FIG. 12. .
- the plurality of reference lines in FIG. 12 the first reference line indicated by hatching corresponding to the 0 MRL index (mrl_idx) (or reference index), and the second reference number indicated by the dark gray color corresponding to the 1 MRL index A reference line, a third reference line indicated by a dot corresponding to the MRL index 2, and a fourth reference line indicated by a light gray color corresponding to the MRL index 3 may be included.
- a plurality of reference lines for prediction of the current block may be used only when included in the same CTU as the current block.
- the decoding apparatus 200 modulates the Y-axis size (CtbSizeY) of the CTU to which the current block belongs to the Y position value (y0) of the upper left sample in the current block, as shown in the syntax of Table 5. If the result of operation) (%) is not 0, it may be determined that a plurality of reference lines are in the same CTU as the current block. This is because when the current block is located at the upper boundary of the CTU, the result value of the modular operation is 0, so the samples located at the upper side of the current block are included in a different CTU from the current block.
- a reference index for indicating a reference line in which a reference sample to be used for prediction of a current block is located may be included in a bitstream and transmitted from the encoding device 100 to the decoding device 200 only when a specific condition is satisfied. have.
- the reference index MNL index
- the decoding apparatus 200 may code the sample value of the current block according to the PCM mode and end coding of the current block.
- the decoding apparatus 200 may code a reference index (extend_ref_line) for the reference line.
- the decoding apparatus 200 may determine the predicted sample value of the current block from the reference sample of the reference line. In other words, the decoding apparatus 200 may determine the sample value for each pixel position included in the current block using the reference sample and the intra prediction mode of the reference line indicated by the reference index. For example, when the reference index (MRL index) is 1, the decoding apparatus 200 intra prediction mode from a sample of a reference line (a line of samples indicated in dark gray) spaced one sample distance from the current block in FIG. By applying, we can determine the sample value for the current block. Thereafter, the decoding apparatus 200 may end the coding procedure for the current block and perform coding for the block to be processed later.
- Embodiments described in the present invention may be implemented and implemented on a processor, microprocessor, controller, or chip.
- the functional units shown in each drawing may be implemented and implemented on a computer, processor, microprocessor, controller, or chip.
- FIG. 16 shows an example of a block diagram of an apparatus for processing video data according to an embodiment of the present specification.
- the video data processing apparatus of FIG. 16 may correspond to the encoding apparatus 100 of FIG. 2 or the decoding apparatus 200 of FIG. 3.
- the video data processing apparatus 1600 includes a memory 1620 storing video data and a processor 1610 processing video data while being combined with the memory.
- the processor 1610 may be configured with at least one processing circuit for processing video data, and may process a video signal by executing instructions for encoding or decoding video data. That is, the processor 1610 may encode the original video data or decode the encoded video data by executing the above-described encoding or decoding methods.
- An apparatus for processing video data using intra prediction may include a memory 1620 storing video data and a processor 1610 coupled with the memory 1620.
- the processor 1610 determines whether a PCM mode in which a sample value of a current block in video data is transmitted through a bitstream is applied, and based on that the PCM mode is not applied, the intra of the current block
- the reference index associated with the reference line for prediction may be identified, and a prediction sample of the current block may be generated based on the reference sample included in the reference line associated with the reference index.
- the processor 1610 checks whether the PCM mode is applied, and if it is determined that the PCM mode is not applied, performs prediction by checking a reference index to perform prediction by the PCM mode Although not, the reference line index may not be parsed unnecessarily, thus reducing the time for processing the video data of the processor 1610.
- the processor 1610 may check a flag indicating whether PCM mode is applied.
- the flag indicating whether the PCM mode is applied may be referred to as a PCM flag. That is, the processor 1610 may check whether the PCM mode is applied to the current block through the PCM flag. For example, when the PCM flag is 0, PCM mode is not applied to the current block, and when the PCM flag is 1, PCM mode may be applied to the current block. For example, as shown in the syntax of Table 5, when the PCM flag is 1, the processor 1610 may derive the sample value of the current block according to the PCM mode. When the PCM flag is 0, the processor 1610 may check a reference index (MRL index) indicating a reference line in which a reference sample for prediction of a current block is located.
- MNL index reference index
- the reference index may indicate one of a plurality of reference lines located within a certain distance from the current block.
- the reference index may correspond to the MRL index of FIG. 12 or 'intra_luma_ref_idx' of Table 3 and Table 5.
- the plurality of reference lines may include a plurality of upper reference lines located above the upper boundary of the current block or a plurality of left reference lines located to the left of the left boundary of the current block.
- reference lines in which reference samples used for prediction of the current block are located may include reference lines composed of reference samples located within 4 sample distances from the left and upper boundaries of the current block, as shown in FIG. 12. have.
- a plurality of reference lines for prediction of the current block may be included in the same coding tree unit as the current block.
- the processor 1610 may check whether the current block is located at the upper boundary of the CTU before parsing the reference index, and parse the reference index if the current block is not located at the upper boundary of the CTU.
- the result of the modular operation (%) of the Y-axis size (CtbSizeY) of the CTU to which the current block belongs to the Y position value (y0) of the upper left sample in the current block is 0. Otherwise, it may be determined that a plurality of reference lines are in the same CTU as the current block.
- the reference index may be transmitted from the encoding device 100 to the decoding device 200 when the PCM mode is not applied.
- the decoding apparatus 200 may derive the sample value of the current block from the bitstream transmitted from the encoding apparatus 100.
- the current block is a block unit in which processing is performed by a coding apparatus, and may correspond to a coding unit or a prediction unit.
- the reference index (MRL index) is not coded and is excluded from the bitstream, and may not be transmitted from the encoding device 100 to the decoding device 200.
- the coding device may code the sample value of the current block according to the PCM mode and end coding of the current block.
- the coding apparatus may code a reference index (extend_ref_line) for the reference line.
- encoded information eg, encoded video / spiritual information
- the encoded information may be transmitted or stored in units of NAL units in the form of a bitstream.
- the bitstream can be transmitted over a network, or it can be stored in a non-transitory digital storage medium.
- the bitstream is not directly transmitted from the encoding device 100 to the decoding device 200, but may be streamed / downloaded through an external server (eg, a content streaming server).
- the network may include a broadcasting network and / or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD.
- the processing method to which the present invention is applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium.
- Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
- Computer-readable recording media include all types of storage devices and distributed storage devices in which computer-readable data are stored.
- Computer-readable recording media include, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk and optical data. It may include a storage device.
- the computer-readable recording medium includes media embodied in the form of a carrier wave (eg, transmission via the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
- an embodiment of the present invention may be implemented as a computer program product by program code, and the program code may be executed on a computer by an embodiment of the present invention.
- the program code can be stored on a computer readable carrier.
- the above-described embodiments of the present specification may be implemented by a non-transitory computer-executable component in which computer-executable components configured to execute on one or more processors of a computing device are stored.
- the computer-executable component according to an embodiment of the present disclosure determines whether a PCM mode in which a sample value of a current block in video data is transmitted through a bitstream is applied, and based on that the PCM mode is not applied, intra prediction of the current block A reference index associated with a reference line for checking may be checked, and a prediction sample of the current block may be generated based on a reference sample included in the reference line associated with the reference index.
- the computer-executable component according to the embodiment of the present specification may be set to execute an operation corresponding to the video data processing method described with reference to FIGS. 13 to 14.
- the decoding apparatus 200 and the encoding apparatus 100 to which the present invention is applied may be included in a digital device.
- digital device includes, for example, all digital devices capable of performing at least one of transmission, reception, processing, and output of data, content, and services.
- the processing of the data, content, service, etc. by the digital device includes an operation of encoding and / or decoding data, content, service, and the like.
- These digital devices are paired or connected (hereinafter referred to as 'pairing') with other digital devices, external servers, etc. through a wire / wireless network to transmit and receive data. Convert accordingly.
- Digital devices include, for example, fixed devices such as network TV, network broadcast broadband TV (HBBTV), smart TV, Internet protocol television (IPTV), personal computer (PC), and the like.
- PDA personal digital assistant
- smart phone smart phone
- tablet PC tablet PC
- mobile device mobile device or handheld device
- a laptop such as a laptop.
- wired / wireless network refers to a communication network that supports various communication standards or protocols for interconnection and / or data transmission and reception between digital devices or digital devices and external servers.
- These wired / wireless networks may include both current and future communication networks to be supported by the standard and communication protocols therefor, such as Universal Serial Bus (USB), Composite Video Banking Sync (CVBS), components, and S-Video.
- USB Universal Serial Bus
- CVBS Composite Video Banking Sync
- S-Video S-Video
- DVI digital visual interface
- HDMI high definition multimedia interface
- RGB high definition multimedia interface
- D-SUB Bluetooth
- RFID radio frequency identification
- IrDA infrared communication
- UWB ultra wideband
- ZigBee digital living network alliance
- DLNA wireless LAN
- Wi-Fi wireless broadband
- Wimax world interoperability for microwave (Wimax) access
- HSDPA high speed downlink packet access
- LTE long term evolution
- a digital device in the case of merely referring to a digital device in the present specification, it may mean a fixed device or a mobile device or include both depending on context.
- the digital device is an intelligent device that supports, for example, a broadcast reception function, a computer function or support, and at least one external input, e-mail, web browsing through a wired / wireless network described above ( It can support web browsing, banking, games, and applications.
- the digital device may include an interface for supporting at least one input or control means (hereinafter referred to as an input means), such as a handwritten input device, a touch screen, and a space remote control.
- the digital device can use a standardized general-purpose operating system (OS). For example, a digital device can add, delete, modify, and update various applications on a general-purpose OS kernel. You can configure and provide a user-friendly environment.
- OS general-purpose operating system
- an embodiment of the present specification may be implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above.
- the software code can be stored in memory and driven by a processor.
- the memory is located inside or outside the processor, and can exchange data with the processor by various known means.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 명세서의 실시예는 비디오 데이터를 처리하기 위한 방법 및 장치를 제공한다. 본 명세서의 실시예에 따른 비디오 처리 방법은, 상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하는 단계와, 상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하는 단계와, 상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함할 수 있다.
Description
본 명세서는 비디오 데이터를 처리하기 위한 방법 및 장치에 관한 것으로서, 특히 화면내 예측(intra prediction)을 사용하여 비디오 데이터를 인코딩 또는 디코딩하기 위한 방법 및 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 영상 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다. 특히, HEVC(high efficiency video coding) 표준 이후의 비디오 코덱 표준은 보다 효율적인 예측 기법을 요구한다.
본 명세서의 실시예들은, 보다 데이터 자원을 보다 효율적으로 사용하는 인트라 예측을 제공하는 비디오 데이터 처리 방법 및 장치를 제공하고자 한다.
본 명세서의 실시예가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 실시예에 따른 비디오 데이터를 처리하기 위한 방법은, 상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하는 단계와, 상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하는 단계와, 상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인덱스는 상기 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시할 수 있다.
일 실시예에서, 상기 복수의 참조 라인들은 상기 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 상기 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함할 수 있다.
일 실시예에서, 상기 복수의 참조 라인들은 상기 현재 블록과 동일한 코딩 트리 유닛(coding tree unit)에 포함될 수 있다.
일 실시예에서, 상기 PCM 모드가 적용되는지 여부를 결정하는 단계는 상기 PCM 모드의 적용 여부를 나타내는 플래그(flag)를 확인하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인덱스는 상기 PCM 모드가 적용되지 않는 경우 인코딩 장치로부터 디코딩 장치로 전달될 수 있다.
일 실시예에서, 상기 현재 블록은 코딩 유닛(coding unit) 또는 예측 유닛(prediction unit)에 해당할 수 있다.
본 명세서의 다른 실시예에 따른 비디오 데이터를 처리하기 위한 장치는, 상기 비디오 데이터를 저장하는 메모리와 상기 메모리와 결합된 프로세서를 포함하고, 상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하고, 상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하고, 상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정될 수 있다.
본 명세서의 다른 실시예에 따른 컴퓨팅 디바이스의 하나 이상의 프로세서에서 실행하도록 구성된 컴퓨터 실행 가능한 컴포넌트가 저장된 비 일시적(non-transitory) 컴퓨터 판독 가능한 매체(computer-executable component)는, 상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하고, 상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하고, 상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정되는 컴퓨터 실행 가능한 컴포넌트를 저장할 수 있다.
본 명세서의 실시예에 따르면, 인트라 예측 과정에서 MRL(multiple line reference) 인트라 예측의 신택스(syntax)와 PCM(pulse code modulation) 모드의 신택스 사이의 중첩성(redundancy)을 제거함으로써 데이터 자원을 효율적으로 사용하는 인트라 예측 방법을 제공할 수 있다.
본 명세서의 실시예에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 실시예에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서의 일 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
도 1은 본 명세서의 실시예에 따른 비디오 코딩 시스템의 예를 도시한다.
도 2는 본 명세서의 실시예로서, 비디오/이미지 신호의 인코딩이 수행되는 인코딩 장치의 개략적인 블록도를 나타낸다.
도 3은 본 명세서의 실시예로서, 영상 신호의 디코딩이 수행되는 디코딩 장치의 개략적인 블록도를 나타낸다.
도 4는 본 명세서의 실시예로서, 컨텐츠 스트리밍 시스템의 구조도이다.
도 5는 본 명세서의 실시예에 따른 멀티타입 트리 분할 모드들의 예를 도시한다.
도 6 및 도 7은 본 명세서의 실시예에 따른 인트라 예측 기반 비디오 인코딩 방법 및 본 발명의 실시예에 따른 인코딩 장치 내 인트라 예측부의 예를 도시한다.
도 8과 도 9는 본 명세서의 실시예에 따른 인트라 예측 기반 비디오/영상 디코딩 방법과 본 발명의 실시예에 따른 디코딩 장치 내 인트라 예측부의 예를 도시한다.
도 10과 도 11은 본 명세서의 실시예들에 적용될 수 있는 인트라 예측 모드의 예측 방향의 예들을 도시한다.
도 12는 본 명세서의 실시예에 따른 다중 참조 라인 예측을 적용하기 위한 참조 라인들의 예를 도시한다.
도 13은 본 명세서의 실시예에 따른 비디오 데이터를 처리하기 위한 흐름도의 예를 도시한다.
도 14는 본 명세서의 실시예에 따른 비디오 데이터를 인코딩 하기 위한 흐름도의 예를 도시한다.
도 15는 본 명세서의 실시예에 따른 비디오 데이터를 디코딩 하기 위한 흐름도의 예를 도시한다.
도 16은 본 명세서의 실시예에 따른 비디오 데이터를 처리하기 위한 장치의 블록도의 예를 도시한다.
이하, 본 명세서에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 명세서의 예시적인 실시형태를 설명하고자 하는 것이며, 본 명세서가 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 명세서의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 명세서가 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 명세서의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
아울러, 본 명세서에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 명세서의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
이하의 설명에서 사용되는 특정 용어들은 본 명세서의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 명세서의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 신호, 데이터, 샘플, 픽처, 슬라이스, 타일, 프레임, 블록의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
이하 본 명세서에서 '처리 유닛'은 예측, 변환 및/또는 양자화 등과 같은 인코딩/디코딩의 처리 과정이 수행되는 단위를 의미한다. 또한, 처리 유닛은 휘도(luma) 성분에 대한 단위와 색차(chroma) 성분에 대한 단위를 포함하는 의미로 해석될 수 있다. 예를 들어, 처리 유닛은 블록(block), 코딩 유닛(coding unit, CU), 예측 유닛(prediction unit, PU) 또는 변환 블록(transform unit, TU)에 해당될 수 있다.
또한, 처리 유닛은 휘도 성분에 대한 단위 또는 색차 성분에 대한 단위로 해석될 수 있다. 예를 들어, 처리 유닛은 휘도 성분에 대한 CTB(coding tree block), CB(coding block), PU 또는 TB(transform block)에 해당될 수 있다. 또는, 처리 유닛은 색차 성분에 대한 CTB, CB, PU 또는 TB에 해당할 수 있다. 또한, 이에 한정되는 것은 아니며 처리 유닛은 휘도 성분에 대한 단위와 색차 성분에 대한 단위를 포함하는 의미로 해석될 수도 있다.
또한, 처리 유닛은 반드시 정사각형의 블록으로 한정되는 것은 아니며, 3개 이상의 꼭지점을 가지는 다각형 형태로 구성될 수도 있다.
또한, 이하 본 명세서에서 픽셀, 화소, 또는 계수(변환 계수 또는 1차 변환을 거친 변환 계수)는 샘플로 통칭된다. 그리고, 샘플을 이용한다는 것은 픽셀 값, 화소 값, 또는 계수(변환 계수 또는 1차 변환을 거친 변환 계수) 등을 이용한다는 것을 의미할 수 있다.
도 1은 본 명세서의 실시예에 따른 비디오 코딩 시스템의 예를 도시한다.
비디오 코딩 시스템은 소스 디바이스(10) 및 수신 디바이스(20)를 포함할 수 있다. 소스 디바이스(10)는 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스(20)로 전달할 수 있다.
소스 디바이스(10)는 비디오 소스(11), 인코딩 장치(12), 송신기(13)를 포함할 수 있다. 수신 디바이스(20)는 수신기(21), 디코딩 장치(22) 및 렌더러(23)를 포함할 수 있다. 인코딩 장치(10)는 비디오/영상 인코딩 장치라고 불릴 수 있고, 디코딩 장치(20)는 비디오/영상 디코딩 장치라고 불릴 수 있다. 송신기(13)는 인코딩 장치(12)에 포함될 수 있다. 수신기(21)는 디코딩 장치(22)에 포함될 수 있다. 렌더러(23)는 디스플레이부를 포함할 수도 있고, 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다.
비디오 소스는 비디오/영상의 캡쳐, 합성 또는 생성 과정 등을 통하여 비디오/영상을 획득할 수 있다. 비디오 소스는 비디오/영상 캡쳐 디바이스 및/또는 비디오/영상 생성 디바이스를 포함할 수 있다. 비디오/영상 캡쳐 디바이스는 예를 들어, 하나 이상의 카메라, 이전에 캡쳐된 비디오/영상을 포함하는 비디오/영상 아카이브 등을 포함할 수 있다. 비디오/영상 생성 디바이스는 예를 들어 컴퓨터, 태블렛 및 스마트폰 등을 포함할 수 있으며 (전자적으로) 비디오/영상을 생성할 수 있다. 예를 들어, 컴퓨터 등을 통하여 가상의 비디오/영상이 생성될 수 있으며, 이 경우 관련 데이터가 생성되는 과정으로 비디오/영상 캡쳐 과정이 갈음될 수 있다.
인코딩 장치(12)는 입력 비디오/영상을 인코딩할 수 있다. 인코딩 장치(12)는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화 등 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다.
전송부(13)는 비트스트림 형태로 출력된 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 디지털 저장 매체는 USB(universal serial bus), SD(secure digital), CD(compact disk), DVD(digital video disk), 블루레이(bluray), HDD(hard disk drive), SSD(solid state drive)와 같은 다양한 저장 매체를 포함할 수 있다. 전송부(13)는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘레먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신기(21)는 비트스트림을 추출하여 디코딩 장치(22)로 전달할 수 있다.
디코딩 장치(22)는 인코딩 장치(12)의 동작에 대응하는 역양자화, 역변환, 예측 등 일련의 절차를 수행하여 비디오/영상을 디코딩할 수 있다.
렌더러(23)는 디코딩된 비디오/영상을 렌더링할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다.
도 2는 본 명세서의 실시예로서, 비디오/이미지 신호의 인코딩이 수행되는 인코딩 장치의 개략적인 블록도를 나타낸다. 도 2의 인코딩 장치(100)는 도 1의 인코딩 장치(12)에 대응할 수 있다.
도 2를 참조하면, 인코딩 장치(100)는 영상 분할부(110), 감산부(115), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 가산부(155), 필터링부(160), 메모리(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함할 수 있다. 인터 예측부(180) 및 인트라 예측부(185)는 예측부로 통칭될 수 있다. 즉, 예측부는 인터 예측부(180) 및 인트라 예측부(185)를 포함할 수 있다. 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150)는 레지듀얼(residual) 처리부에 포함될 수 있다. 레지듀얼 처리부는 감산부(115)를 더 포함할 수도 있다. 상술한 영상 분할부(110), 감산부(115), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 가산부(155), 필터링부(160), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 인코더 또는 프로세서)에 의하여 구성될 수 있다. 또한 메모리(170)는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 메모리 또는 디지털 저장 매체)에 의하여 구성될 수 있고, 메모리(170)는 DPB(decoded picture buffer)(175)를 포함할 수 있다.
영상 분할부(110)는 인코딩 장치(100)에 입력된 입력 영상(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛(processing unit)으로 분할할 수 있다. 일 예로, 처리 유닛은 코딩 유닛(CU)이라고 불릴 수 있다. 이 경우 코딩 유닛은 코딩 트리 유닛(coding tree unit, CTU) 또는 최대 코딩 유닛(largest coding unit, LCU)으로부터 QTBT(Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조 및/또는 바이너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 명세서에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환, 및 복원 등의 절차를 포함할 수 있다. 다른 예로, 처리 유닛은 예측 유닛(PU) 또는 변환 유닛(TU)을 더 포함할 수 있다. 이 경우 예측 유닛 및 변환 유닛은 각각 상술한 최종 코딩 유닛으로부터 분할 또는 파티셔닝될 수 있다. 상기 예측 유닛은 샘플 예측의 단위일 수 있고, 상기 변환 유닛은 변환 계수를 유도하는 단위 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 단위일 수 있다.
유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다. 샘플은 하나의 픽처(또는 영상)을 픽셀(pixel) 또는 펠(pel)에 대응하는 용어로서 사용될 수 있다.
인코딩 장치(100)는 입력 영상 신호(원본 블록, 원본 샘플 어레이)에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)를 감산하여 레지듀얼 신호(잔여 블록, 잔여 샘플 어레이)를 생성할 수 있고, 생성된 레지듀얼 신호는 변환부(120)로 전송된다. 이 경우 도시된 바와 같이 인코딩 장치(100) 내에서 입력 영상 신호(원본 블록, 원본 샘플 어레이)에서 예측 신호(예측 블록, 예측 샘플 어레이)를 감산하는 유닛은 감산부(115)라고 불릴 수 있다. 예측부는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부는 블록 또는 CU 단위로 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있다. 예측부는 각 예측 모드에 대한 설명에서 후술하는 바와 같이 예측 모드 정보와 같이 예측에 관한 다양한 정보를 생성하여 엔트로피 인코딩부(190)로 전달할 수 있다. 예측에 관한 정보는 엔트로피 인코딩부(190)에서 인코딩되어 비트스트림 형태로 출력될 수 있다.
인트라 예측부(185)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 참조되는 샘플들은 예측 모드에 따라 상기 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 떨어져서 위치할 수도 있다. 인트라 예측에서 예측 모드들은 복수의 비방향성 모드와 복수의 방향성 모드를 포함할 수 있다. 비방향성 모드는 예를 들어 DC 모드 및 플래너 모드(planar 모드)를 포함할 수 있다. 방향성 모드는 예측 방향의 세밀한 정도에 따라 예를 들어 33개의 방향성 예측 모드 또는 65개의 방향성 예측 모드를 포함할 수 있다. 다만, 이는 예시로서 설정에 따라 그 이상 또는 그 이하의 개수의 방향성 예측 모드들이 사용될 수 있다. 인트라 예측부(185)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측부(180)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 블록, 서브블록 또는 샘플 단위로 예측할 수 있다. 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측 등) 정보를 더 포함할 수 있다. 인터 예측의 경우, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 참조 블록을 포함하는 참조 픽처와 시간적 주변 블록을 포함하는 참조 픽처는 동일할 수도 있고, 다를 수도 있다. 시간적 주변 블록은 동일 위치 참조 블록(collocated reference block), 동일 위치 CU(colCU) 등의 이름으로 불릴 수 있으며, 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 예를 들어, 인터 예측부(180)는 주변 블록들을 기반으로 움직임 정보 후보 리스트를 구성하고, 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출하기 위하여 어떤 후보가 사용되는지를 지시하는 정보를 생성할 수 있다. 다양한 예측 모드를 기반으로 인터 예측이 수행될 수 있으며, 예를 들어 스킵 모드와 머지 모드의 경우에, 인터 예측부(180)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 레지듀얼 신호가 전송되지 않을 수 있다. 움직임 정보 예측(motion vector prediction, MVP) 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하고, 움직임 벡터 차분(motion vector difference)을 시그널링함으로써 현재 블록의 움직임 벡터를 지시할 수 있다.
인터 예측부(180) 또는 인트라 예측부(185)를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다.
변환부(120)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수들(transform coefficients)를 생성할 수 있다. 예를 들어, 변환 기법은 DCT(discrete cosine transform), DST(discrete sine transform), KLT(Karhunen-Loeve transform), GBT(graph-based transform), 또는 CNT(conditionally non-linear transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때 이 그래프로부터 얻어진 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)를 이용하여 예측 신호를 생성하고 그에 기초하여 획득되는 변환을 의미한다. 또한, 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부(130)는 변환 계수들을 양자화하여 엔트로피 인코딩부(190)로 전송되고, 엔트로피 인코딩부(190)는 양자화된 신호(양자화된 변환 계수들에 관한 정보)를 인코딩하여 비트스트림으로 출력할 수 있다. 양자화된 변환 계수들에 관한 정보는 레지듀얼 정보라고 불릴 수 있다. 양자화부(130)는 계수 스캔 순서(scan order)를 기반으로 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있고, 1차원 벡터 형태의 양자화된 변환 계수들을 기반으로 상기 양자화된 변환 계수들에 관한 정보를 생성할 수도 있다. 엔트로피 인코딩부(190)는 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding)과 같은 다양한 인코딩 방법을 수행할 수 있다. 엔트로피 인코딩부(190)는 양자화된 변환 계수들 외 비디오/이미지 복원에 필요한 정보들(예컨대 신택스 요소들(syntax elements)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 인코딩된 정보(예: 비디오/영상 정보)는 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다. 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는 디지털 저장매체에 저장될 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다. 엔트로피 인코딩부(190)로부터 출력된 신호는 전송하는 전송부(미도시) 및/또는 저장하는 저장부(미도시)가 인코딩 장치(100)의 내/외부 엘리먼트로서 구성될 수 있고, 또는 전송부는 엔트로피 인코딩부(190)의 구성요소일 수도 있다.
양자화부(130)로부터 출력된 양자화된 변환 계수들은 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 변환 계수들에 대하여 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 레지듀얼 신호가 복원될 수 있다. 가산부(155)는 복원된 레지듀얼 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호에 더함으로써 복원(reconstructed) 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)가 생성될 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다. 가산부(155)는 복원부 또는 복원 블록 생성부로 지칭될 수 있다. 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다.
필터링부(160)는 복원 신호에 필터링을 적용하여 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어 필터링부(160)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 수정된 복원 픽처를 복호 픽처 버퍼(170)에 전송할 수 있다. 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter)를 포함할 수 있다. 필터링부(160)는 각 필터링 방법에 대한 설명에서 후술하는 바와 같이 필터링에 관한 다양한 정보를 생성하여 엔트로피 인코딩부(190)로 전달할 수 있다. 필터링 관한 정보는 엔트로피 인코딩부(190)에서 인코딩되어 비트스트림 형태로 출력될 수 있다.
복호 픽처 버퍼(170)에 전송된 수정된 복원 픽처는 인터 예측부(180)에서 참조 픽처로 사용될 수 있다. 인코딩 장치(100)는 이를 통하여 인터 예측이 적용되는 경우, 인코딩 장치(100)와 디코딩 장치(200)에서의 예측 미스매치를 피할 수 있고, 부호화 효율도 향상시킬 수 있다.
복호 픽처 버퍼(170)는 수정된 복원 픽처를 인터 예측부(180)에서의 참조 픽처로 사용하기 위해 저장할 수 있다.
도 3은 본 명세서의 실시예로서, 영상 신호의 디코딩이 수행되는 디코딩 장치의 개략적인 블록도를 나타낸다. 도 3의 디코딩 장치(200)는 도 1의 디코딩 장치(22)에 대응할 수 있다.
도 3을 참조하면, 디코딩 장치(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 가산부(235), 필터링부(240), 메모리(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다. 인터 예측부(260) 및 인트라 예측부(265)는 예측부로 통칭될 수 있다. 즉, 예측부는 인터 예측부(180) 및 인트라 예측부(185)를 포함할 수 있다. 역양자화부(220)와 역변환부(230)는 레지듀얼 처리부로 통칭될 수 있다. 즉, 레지듀얼 처리부는 역양자화부(220)와 역변환부(230)을 포함할 수 있다. 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 가산부(235), 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 디코더 또는 프로세서)에 의하여 구성될 수 있다. 또한 복호 픽처 버퍼(250)은 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 메모리 또는 디지털 저장 매체)에 의하여 구현될 수 있다. 또한, 메모리(250)는 DPB(175)를 포함할 수 있고, 디지털 저장 매체에 의해 구성될 수도 있다.
비디오/이미지 정보를 포함하는 비트스트림이 입력되면, 디코딩 장치(200)는 도 2의 인코딩 장치(100)에서 비디오/이미지 정보가 처리된 프로세스에 대응하여 영상을 복원할 수 있다. 예를 들어, 디코딩 장치(200)는 인코딩 장치(100)에서 적용된 처리 유닛을 이용하여 디코딩을 수행할 수 있다. 따라서 디코딩시 처리 유닛은, 예를 들어, 코딩 유닛일 수 있고, 코딩 유닛은 코딩 트리 유닛 또는 최대 코딩 유닛으로부터 쿼드 트리 구조 및/또는 바이너리 트리 구조에 따라 분할될 수 있다. 그리고, 디코딩 장치(200)를 통해 디코딩 및 출력된 복원 영상 신호는 재생 장치를 통해 재생될 수 있다.
디코딩 장치(200)는 도 2의 인코딩 장치(100)로부터 출력된 신호를 비트스트림 형태로 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 디코딩될 수 있다. 예를 들어, 엔트로피 디코딩부(210)는 비트스트림을 파싱하여 영상 복원(또는 픽처 복원)에 필요한 정보(예: 비디오/영상 정보)를 도출할 수 있다. 예컨대, 엔트로피 디코딩부(210)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 영상 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다. 보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈(bin)을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다. 엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(인터 예측부(260) 및 인트라 예측부(265))로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수들 및 관련 파라미터 정보는 역양자화부(220)로 입력될 수 있다. 또한, 엔트로피 디코딩부(210)에서 디코딩된 정보 중 필터링에 관한 정보는 필터링부(240)로 제공될 수 있다. 한편, 인코딩 장치(100)로부터 출력된 신호를 수신하는 수신부(미도시)가 디코딩 장치(200)의 내/외부 엘리먼트로서 더 구성될 수 있고, 또는 수신부는 엔트로피 디코딩부(210)의 구성요소일 수도 있다.
역양자화부(220)에서는 양자화된 변환 계수들을 역양자화함으로써 변환 계수들을 출력할 수 있다. 역양자화부(220)는 양자화된 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 이 경우 인코딩 장치(100)에서 수행된 계수 스캔 순서에 기반하여 재정렬이 수행될 수 있다. 역양자화부(220)는 양자화 파라미터(예를 들어, 양자화 스텝 사이즈 정보)를 이용하여 양자화된 변환 계수들에 대한 역양자화를 수행하고, 변환 계수(transform coefficient)를 획득할 수 있다.
역변환부(230)는 변환 계수에 대한 역변환을 적용함으로써 레지듀얼 신호(레지듀얼 블록, 레지듀얼 샘플 어레이)를 출력할 수 있다.
예측부는 현재 블록에 대한 예측을 수행하고, 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부는 엔트로피 디코딩부(210)로부터 출력된 예측에 관한 정보에 기반하여 현재 블록에 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있고, 구체적인 인트라/인터 예측 모드를 결정할 수 있다.
인트라 예측부(265)는 현재 픽처 내의 샘플들을 참조함으로써 현재 블록을 예측할 수 있다. 참조되는 샘플들은 예측 모드에 따라 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 이격되어 위치할 수도 있다. 인트라 예측에서 예측 모드들은 복수의 비방향성 모드와 복수의 방향성 모드를 포함할 수 있다. 인트라 예측부(265)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측부(260)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 블록, 서브블록, 또는 샘플 단위로 예측할 수 있다. 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측 등)에 대한 정보를 더 포함할 수 있다. 인터 예측의 경우, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 예를 들어, 인터 예측부(260)는 주변 블록들을 기반으로 움직임 정보 후보 리스트를 구성하고, 수신된 후보 선택 정보를 기반으로 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출할 수 있다. 다양한 예측 모드를 기반으로 인터 예측이 수행될 수 있으며, 예측에 관한 정보는 현재 블록에 대한 인터 예측의 모드를 지시하는 정보를 포함할 수 있다.
가산부(235)는 획득된 레지듀얼 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)에 더함으로써 복원 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)를 생성할 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다.
가산부(235)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다.
필터링부(240)는 복원 신호에 필터링을 적용함으로써 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어 필터링부(240)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 수정된 복원 픽처를 복호 픽처 버퍼(250)에 전송할 수 있다. 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset, SAO), 적응적 루프 필터(adaptive loop filter, ALF), 양방향 필터(bilateral filter) 등을 포함할 수 있다.
복호 픽쳐 버퍼(250)에 전송된 수정된 복원 픽처는 인터 예측부(260)에 의해 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코딩 장치(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코딩 장치의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일 또는 대응되도록 적용될 수 있다.
도 4는 본 명세서의 실시예로서, 컨텐츠 스트리밍 시스템의 구조도이다.
본 명세서가 적용되는 컨텐츠 스트리밍 시스템은 크게 인코딩 서버(410), 스트리밍 서버(420), 웹 서버(430), 미디어 저장소(440), 사용자 장치(450) 및 멀티미디어 입력 장치(460)를 포함할 수 있다.
인코딩 서버(410)는 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들로부터 입력된 컨텐츠를 디지털 데이터로 압축하여 비트스트림을 생성하고 이를 스트리밍 서버(420)로 전송할 수 있다. 다른 예로, 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치(460)들이 비트스트림을 직접 생성하는 경우, 인코딩 서버(410)는 생략될 수 있다.
비트스트림은 본 명세서가 적용되는 인코딩 방법 또는 비트스트림 생성 방법에 의해 생성될 수 있고, 스트리밍 서버(420)는 비트스트림을 전송 또는 수신하는 과정에서 일시적으로 비트스트림을 저장할 수 있다.
스트리밍 서버(420)는 웹 서버(430)를 통한 사용자 요청에 기초하여 멀티미디어 데이터를 사용자 장치(450)에 전송하고, 웹 서버(430)는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 한다. 사용자가 웹 서버(430)에 원하는 서비스를 요청하면, 웹 서버(430)는 이를 스트리밍 서버(420)에 전달하고, 스트리밍 서버(420)는 사용자에게 멀티미디어 데이터를 전송한다. 이때, 컨텐츠 스트리밍 시스템은 별도의 제어 서버를 포함할 수 있고, 이 경우 제어 서버는 컨텐츠 스트리밍 시스템 내 각 장치 간 명령/응답을 제어하는 역할을 한다.
스트리밍 서버(420)는 미디어 저장소(440) 및/또는 인코딩 서버(410)로부터 컨텐츠를 수신할 수 있다. 예를 들어, 스트리밍 서버(420)는 인코딩 서버(410)로부터 컨텐츠를 실시간으로 수신할 수 있다. 이 경우, 원활한 스트리밍 서비스를 제공하기 위하여 스트리밍 서버(420)는 비트스트림을 일정 시간동안 저장할 수 있다.
예를 들어, 사용자 장치(450)는, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기(smartwatch), 글래스형 단말기(smart glass), HMD(head mounted display), 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지를 포함할 수 있다.
컨텐츠 스트리밍 시스템 내 각 서버들은 분산 서버로 운영될 수 있으며, 이 경우 각 서버에서 수신하는 데이터는 분산 처리될 수 있다.
블록 분할(Block Partitioning)
본 문서에 따른 비디오/영상 코딩 방법은 다양한 세부 기술들에 기반하여 수행될 수 있으며, 각각의 세부 기술들을 개략적으로 설명하면 다음과 같다. 이하 설명되는 기술들은 상술한 및/또는 후술되는 비디오/영상 인코딩/디코딩 절차에서의 예측, 레지듀얼 처리(변환, 양자화 등), 신텍스 요소 코딩, 필터링, 파티셔닝/분할 등의 관련 절차에 연관될 수 있음은 당업자에게 자명하다.
비디오 데이터를 구성하는 각각의 픽처들은 코딩 트리 유닛들(CTUs)의 시퀀스로 분할될(divided into a sequence) 수 있다. CTU는 코딩 트리 블록(CTB)에 대응될 수 있다. 또한, CTU는 루마 샘플들의 코딩 트리 블록과, 루마 샘플들에 대응하는 크로마 샘플들의 두 개의 코딩 트리 블록들을 포함할 수 있다. 다시 말하면, 세가지 샘플 어레이를 포함하는 픽처에 대하여, CTU는 루마 샘플들의 NxN 블록과 크로마 샘플들의 두개의 대응 블록들을 포함할 수 있다.
도 5는 본 명세서의 실시예에 따른 멀티타입 트리 분할 모드들의 예를 도시한다.
CTU는 쿼드트리(quad-tree, QT) 구조를 기반으로 CU들로 분할될 수 있다. 쿼드트리 구조는 쿼터너리(quaternary) 트리 구조라고 불릴 수 있다. 이는 다양한 국지적 특징(local characteristic)을 반영하기 위함이다. 한편, 본 문서에서는 CTU는 쿼드트리 뿐 아니라 바이너리 트리(binary-tree, BT) 및 터너리 트리(ternary-tree, TT)을 포함하는 멀티타입 트리 구조에 기반하여 분할될 수 있다.
도 5에 나타난 4개의 분할 타입은 수직 바이너리 분할(vertical binary splitting, SPLIT_BT_VER), 수평 바이너리 분할(horizontal binary splitting, SPLIT_BT_HOR), 수직 터너리 분할(vertical ternary splitting, SPLIT_TT_VER), 수평 터너리 분할(horizontal ternary splitting, SPLIT_TT_HOR)을 포함할 수 있다.
멀티타입 트리 구조의 리프 노드는 CU에 해당할 수 있다. 이러한 CU들 각각에 대하여 예측 및 변환 절차가 수행될 수 있다. 본 문서에서 일반적으로 CU, PU, TU는 동일한 블록 사이즈를 가질 수 있다. 다만, 최대 허용 변환 길이(maximum supported transform length)가 CU의 컬러 성분(colour component)의 너비 또는 높이보다 작은 경우에는 CU와 TU가 서로 다른 블록 사이즈를 가질 수 있다.
또 다른 예에서, CU는 QT 구조, BT 구조 또는 TT 구조와 다른 방법으로 분할될 수 있다. 즉, QT 구조에 따라 하위 뎁스의 CU가 상위 뎁스의 CU의 1/4 크기로 분할되거나, BT 구조에 따라 하위 뎁스의 CU가 상위 뎁스의 CU의 1/2 크기로 분할되거나, TT 구조에 따라 하위 뎁스의 CU가 상위 뎁스의 CU의 1/4 또는 1/2 크기로 분할되는 것과 달리, 하위 뎁스의 CU는 경우에 따라 상위 뎁스의 CU의 1/5, 1/3, 3/8, 3/5, 2/3 또는 5/8 크기로 분할될 수 있으며, CU가 분할되는 방법은 이에 한정되지 않는다.
예측(Prediction)
디코딩이 수행되는 현재 처리 유닛을 복원하기 위하여, 현재 처리 유닛이 포함된 현재 픽처 또는 다른 픽처들의 디코딩된 부분을 이용할 수 있다.
복원에 있어 현재 픽처만이 이용되는 경우, 즉, 인트라 예측만이 수행되는 픽처(슬라이스)를 인트라 픽처 또는 I-픽처(I-슬라이스), 각 유닛을 예측하기 위하여 하나의 움직임 벡터 및 참조 인덱스를 이용하는 픽처(슬라이스)를 예측 픽처 또는 P-픽처(P-슬라이스), 두 개 이상의 움직임 벡터들 및 참조 인덱스들을 이용하는 픽처(슬라이스)를 쌍 예측 픽처 또는 B-픽처(B-슬라이스)로 지칭할 수 있다.
인터 예측은 현재 픽처 이외의 픽처의 데이터 요소(예를 들어, 샘플 값 또는 움직임 벡터)에 기반하여 현재 블록의 샘플 값을 도출하는 예측 방법을 의미한다. 즉, 현재 픽처 이외의 복원된 다른 픽처의 복원된 영역들을 참조함으로써 현재 블록의 샘플 값을 예측하는 방법을 의미한다.
이하, 인트라 예측(또는 화면 내 예측)에 대하여 보다 상세히 설명한다.
인트라 예측(Intra Prediction)(또는 화면 내 예측)
인트라 예측은 동일한 디코딩된 픽처(또는 슬라이스)의 데이터 요소(예를 들어, 샘플 값)으로부터 현재 블록의 샘플 값을 도출하는 예측 방법을 의미한다. 즉, 현재 픽처 내의 복원된 영역들을 참조함으로써 현재 블록의 샘플 값을 예측하는 방법을 의미한다.
인트라 예측은 현재 블록이 속하는 픽처(이하, 현재 픽처) 내 현재 블록 외부의 참조 샘플에 기반하여 현재 블록에 대한 예측 샘플을 생성하는 예측을 나타낼 수 있다.
본 명세서의 실시예들은 앞서 도 2과 도 3에서 설명된 예측 방법의 세부 기술을 설명하는 것으로, 본 발명의 실시예는 후술하는 도 11의 인트라 예측 기반 비디오/영상 인코딩 방법과 도 7의 인코딩 장치(100) 내 인트라 예측부(185)의 장치에 해당할 수 있다. 또한, 본 발명의 실시예는 후술하는 도 8의 인트라 예측 기반 비디오/영상 디코딩 방법과 도 9의 디코딩 장치(200) 내 인트라 예측부(265)의 장치에 해당할 수 있다. 도 11과 도 13에 의해 인코딩된 데이터는 비트스트림의 형태로 인코딩 장치(100) 또는 디코딩 장치(200)에 포함된 메모리, 또는 인코딩 장치(100) 또는 디코딩 장치(200)와 기능적으로 결합된 메모리에 저장될 수 있다.
현재 블록에 인트라 예측이 적용되는 경우, 현재 블록의 인트라 예측에 사용될 주변 참조 샘플들이 도출될 수 있다. 현재 블록의 주변 참조 샘플들은 nW x nH 사이즈의 현재 블록의 좌측 경계에 인접한 샘플과 좌하측에 인접한 총 2 x nH 개의 샘플들, 현재 블록의 상측 경계에 인접한 샘플 및 우상측에 인접한 총 2 x nW 개의 샘플들, 및 현재 블록의 좌상측에 인전합 1개의 샘플들을 포함할 수 있다. 또는, 현재 블록의 주변 참조 샘플들은 복수 열의 상측 주변 샘플들과 복수 행의 좌측 주변 샘플들을 포함할 수 있다. 또한, 현재 블록의 주변 참조 샘플들은 현재 블록에 인접한 좌측 또는 우측의 수직 라인들과 상측 또는 하측의 수평 라인들에 위치한 샘플들을 포함할 수 있다.
다만, 현재 블록의 주변 참조 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 디코딩 장치(200)는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitution)함으로써 예측에 사용될 주변 참조 샘플들을 구성할 수 있다. 또는, 이용 가능한 샘플들의 보간을 통하여 예측에 사용될 주변 참조 샘플들을 구성할 수 있다. 예를 들어, 현재 블록의 우측에 인접한 수직 라인에 위치한 샘플들과 현재 블록의 하측에 인접한 수평 라인에 위치한 샘플들은 현재 블록의 좌측 수직 라인에 위치한 샘플들과 현재 블록의 상측 수평 라인에 위치한 샘플들에 기반하여 대체되거나 보간을 통해 구성될 수 있다.
주변 참조 샘플들이 도출된 경우, i) 현재 블록의 주변 참조 샘플들의 평균(average) 또는 보간에 기반하여 예측 샘플들이 유도될 수 있고, ii) 현재 블록의 주변 참조 샘플들 중에서 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플에 기반하여 예측 샘플이 유도될 수 있다. i)과 같은 예측 모드는 비방향성 예측 모드 또는 비각도 예측 모드로 지칭될 수 있고, ii)와 같은 예측 모드는 방향성(directional) 예측 모드 또는 각도(angular) 예측 모드로 지칭될 수 있다. 또한, 주변 참조 샘플들 중 현재 블록의 예측 샘플을 기준으로 현재 블록의 인트라 예측 모드의 예측 방향에 위치하는 제1 주변 샘플과 예측 방향의 반대 방향에 위치하는 제2 주변 샘플의 보간을 통해 예측 샘플이 생성될 수 있다. 이렇게 현재 블록의 예측 샘플을 기준으로 예측 방향과 예측 방향의 반대 방향에 위치한 참조 샘플들 사이의 선형 보간에 기반한 예측 기법은 선형 보간 인트라 예측(linear interpolation inter prediction, LIP)으로 지칭될 수 있다. 또한, 필터링된 주변 참조 샘플들에 기반하여 현재 블록의 임시 예측 샘플을 도출하고, 기존의 주변 참조 샘플들, 즉, 필터링된 주변 참조 샘플들 중 인트라 예측 모드에 따라 도출된 적어도 하나의 참조 샘플과 임시 예측 샘플들의 가중합(weighted sum)을 통하여 현재 블록의 예측 샘플을 도출할 수 있다. 복수의 샘플들의 가중합을 통한 예측은 PDPC(position dependent intra prediction combination)으로 지칭될 수 있다.
한편, 필요에 따라 도출된 예측 샘플에 대한 후처리 필터링(post-filtering)이 수행될 수 있다. 구체적으로, 인트라 예측 절차는 인트라 예측 모드 결정 단계, 주변 참조 샘플 도출 단계, 인트라 예측 모드 기반 예측 샘플 도출 단계를 포함할 수 있고, 필요에 따라 도출된 예측 샘플에 대한 후처리 필터링 단계를 포함할 수 있다.
인트라 예측에 기반한 비디오 인코딩 절차와 인코딩 장치(100) 내 인트라 예측부(185)는 도 6 및 도 7과 같이 표현될 수 있다.
도 6 및 도 7은 본 명세서의 실시예에 따른 인트라 예측 기반 비디오 인코딩 방법 및 본 발명의 실시예에 따른 인코딩 장치(100) 내 인트라 예측부(185)의 예를 도시한다.
도 6에서, S610 단계는 인코딩 장치(100)의 인트라 예측부(185)에 의해 수행될 수 있고, S620 단계와 S630 단계는 레지듀얼 처리부에 의해 수행될 수 있다. 구체적으로, S620 단계는 인코딩 장치(100)의 감산부(115)에 의해 수행될 수 있고, S630 단계는 레지듀얼 처리부에 의해 도출된 레지듀얼 정보와 인트라 예측부(185)에 의해 도출된 예측 정보를 이용하여 엔트로피 인코딩부(190)에 의해 수행될 수 있다. 레지듀얼 정보는 레지듀얼 샘플들에 대한 정보로서, 레지듀얼 샘플들에 대한 양자화된 변환 계수들에 대한 정보를 포함할 수 있다.
상술한 바와 같이, 레지듀얼 샘플들은 인코딩 장치(100)의 변환부(120)를 통해 변환 계수들로 도출되고, 도출된 변환 계수들은 양자화부(130)를 통하여 양자화된 변환 계수로 도출될 수 있다. 양자화된 변환 계수들에 대한 정보가 레지듀얼 코딩 절차를 통해 엔트로피 인코딩부(190)에서 인코딩될 수 있다.
S610 단계에서, 인코딩 장치(100)는 현재 블록에 대한 인트라 예측을 수행할 수 있다. 인코딩 장치(100)는 현재 블록에 대한 인트라 예측 모드를 결정하고, 현재 블록의 주변 참조 샘플들을 도출하고, 인트라 예측 모드와 주변 참조 샘플들에 기반하여 현재 블록 내의 예측 샘플들을 생성한다. 여기서, 인트라 예측 모드의 결정, 주변 참조 샘플의 도출, 및 예측 샘플들의 생성 절차는 동시에 수행될 수도 있고, 순차적으로 수행될 수도 있다. 예를 들어, 인코딩 장치(100)의 인트라 예측부(185)는 예측 모드 결정부(186), 참조 샘플 도출부(187), 예측 샘플 생성부(188)를 포함할 수 있으며, 예측 모드 결정부(186)가 현재 블록에 대한 인트라 예측 모드를 결정하고, 참조 샘플 도출부(187)가 현재 블록의 주변 참조 샘플을 도출하고, 예측 샘플 생성부(188)가 현재 블록의 움직임 샘플을 도출할 수 있다. 한편, 비록 도시되지는 않았지만, 후술하는 예측 샘플 필터링 절차가 수행되는 경우, 인트라 예측부(185)는 예측 샘플 필터부(미도시)를 더 포함할 수 있다. 인코딩 장치(100)는 복수의 인트라 예측 모드들 중 현재 블록에 대해 적용될 예측 모드를 결정할 수 있다. 인코딩 장치(100)는 인트라 예측 모드들에 대한 레이트-왜곡 비용(rate-distortion cost, RD cost)를 비교하고, 현재 블록에 대한 최적의 인트라 예측 모드를 결정할 수 있다.
한편, 인코딩 장치(100)는 예측 샘플에 대한 필터링을 수행할 수 있다. 예측 샘플에 대한 필터링은 포스트 필터링으로 지칭될 수 있다. 예측 샘플에 대한 필터링 절차에 의해 예측 샘플들 중 일부 또는 전체에 대한 필터링이 수행될 수 있다. 경우에 따라, 예측 샘플 필터링은 생략될 수 있다.
S620 단계에서, 인코딩 장치(100)는 (필터링된) 예측 샘플에 기반하여 현재 블록에 대한 레지듀얼 샘플을 생성할 수 있다. 이후, S630 단계에서, 인코더(100)는 인트라 예측 모드를 포함하는 예측 모드 정보와 레지듀얼 샘플들에 대한 정보를 포함하는 비디오 데이터를 인코딩할 수 있다. 인코딩된 비디오 데이터는 비트스트림의 형태로 출력될 수 있다. 출력된 비트스트림은 저장 매체 또는 네트워크를 통하여 디코딩 장치(200)로 전달될 수 있다.
한편, 상술한 바와 같은 인코딩 장치(100)는 참조 샘플들과 레지듀얼 샘플들에 기반하여 복원 샘플들과 복원 블록을 포함하는 복원 픽처를 생성할 수 있다. 인코딩 장치(100)에 의한 복원 픽처의 도출은 디코딩 장치(200)에서 수행되는 것과 동일한 예측 결과를 인코딩 장치(100)에서 도출하기 위함이고, 이를 통하여 코딩 효율을 높일 수 있다. 나아가, 복원 픽처에 인루프 필터링과 같은 후속 절차가 수행될 수 있다.
도 8과 도 9는 본 명세서의 실시예에 따른 인트라 예측 기반 비디오/영상 디코딩 방법과 본 발명의 실시예에 따른 디코딩 장치(200) 내 인트라 예측부(265)의 예를 도시한다.
도 8과 도 9를 참조하면, 디코딩 장치(200)는 인코딩 장치(100)에서 수행된 동작에 대응되는 동작을 수행할 수 있다. 디코딩 장치(200)는 수신된 예측 정보에 기반하여 현재 블록에 대한 예측을 수행함으로써 예측 샘플을 도출할 수 있다.
구체적으로, S810 단계에서, 디코딩 장치(200)는 인코딩 장치(100)로부터 획득된 예측 모드 정보에 기반하여 현재 블록에 대한 인트라 예측 모드를 결정할 수 있다. S820 단계에서, 디코딩 장치(200)는 현재 블록의 주변 참조 샘플을 도출할 수 있다. S830 단계에서, 디코딩 장치(200)는 인트라 예측 모드와 주변 참조 샘플들에 기반하여 현재 블록 내 예측 샘플을 생성할 수 있다. 또한, 디코딩 장치(200)는 예측 샘플 필터링 절차를 수행할 수 있으며, 예측 샘플 필터링 절차는 포스트 필터링으로 지칭될 수 있다. 예측 샘플 필터링 절차에 의하여 예측 샘플들 중 일부 또는 전부가 필터링될 수 있다. 경우에 따라, 예측 샘플 필터링 절차는 생략될 수 있다.
S840 단계에서, 디코딩 장치(200)는 인코딩 장치(100)로부터 획득된 레지듀얼 정보에 기반하여 레지듀얼 샘플을 생성할 수 있다. S850 단계에서, 디코딩 장치(200)는 (필터링된) 예측 샘플들과 레지듀얼 샘플들에 기반하여 현재 블록에 대한 복원 샘플을 생성하고, 생성된 복원 샘플들을 이용하여 복원 픽처를 생성할 수 있다.
여기서, 디코딩 장치(200)의 인트라 예측부(265)는 예측 모드 결정부(266), 참조 샘플 도출부(267), 및 예측 샘플 생성부(268)을 포함할 수 있으며, 예측 모드 결정부(266)는 인코딩 장치(100)의 예측 모드 결정부(186)에서 생성된 예측 모드에 기반하여 현재 블록의 인트라 예측 모드를 결정하고, 참조 샘플 도출부(267)는 현재 블록의 주변 참조 샘플을 도출하고, 예측 샘플 생성부(268)는 현재 블록의 예측 샘플을 생성할 수 있다. 한편, 비록 도시되지는 않았지만, 예측 샘플 필터링 절차가 수행되는 경우, 인트라 예측부(265)는 예측 샘플 필터부(미도시)를 포함할 수 있다.
예측을 위해 사용되는 예측 모드 정보는 MPM(most probable mode)이 현재 블록에 적용되는지 또는 나머지 모드(remaining mode)가 적용되는지 여부를 나타내기 위한 플래그(예를 들어, prev_intra_luma_pred_flag)를 포함할 수 있다. MPM이 현재 블록에 적용되는 경우, 예측 모드 정보는 인트라 예측 모드 후보들(MPM 후보들) 중 하나를 지시하는 인덱스(mpm_idx)를 더 포함할 수 있다. 인트라 예측 모드 후보들(MPM 후보들)은 MPM 후보 리스트 또는 MPM 리스트로 구성될 수 있다. 또한, MPM이 현재 블록에 적용되지 않는 경우, 예측 모드 정보는 인트라 예측 모드 후보들(MPM 후보들)을 제외한 나머지 인트라 예측 모드들 중 하나를 지시하는 나머지 모드 정보(예를 들어, rem_intra_luma_pred_mpde)를 더 포함할 수 있다.
한편, 디코딩 장치(200)는 예측 정보에 기반하여 현재 블록의 인트라 예측 모드를 결정할 수 있다. 예측 모드 정보는 후술하는 코딩 방법을 통하여 인코딩 및 디코딩될 수 있다. 예를 들어, 예측 모드 정보는 절단된 바이너리 코드(truncated binary code)에 기반하여 엔트로피 코딩(예를 들어, CABAC, CAVLC)을 통하여 인코딩 또는 디코딩될 수 있다.
도 10과 도 11은 본 명세서의 실시예들에 적용될 수 있는 인트라 예측 모드의 예측 방향의 예들을 도시한다.
도 10을 참조하면, 인트라 예측 모드는 2개의 비방향성 인트라 예측 모드와 33개의 방향성 인트라 예측 모드를 포함할 수 있다. 비방향성 인트라 예측 모드들은 플래너(planar) 인트라 예측 모드와 DC 인트라 예측 모드를 포함할 수 있고, 방향성 인트라 예측 모드는 2번 내지 34번 인트라 예측 모드들을 포함할 수 있다. 플래너 인트라 예측 모드는 플래너 모드로, DC 인트라 예측 모드는 DC 모드로 지칭될 수 있다.
한편, 자연 영상(natural video)에서 제시된 임의의 에지 방향(edge direc-tion)을 캡쳐하기 위해, 방향성 인트라 예측 모드는 도 11에 도시된 바와 같이 도 10의 33개로부터 65개의 방향성 인트라 예측 모드들을 포함할 수 있다. 도 11에서, 비방향성 인트라 예측 모드들은 플래너 모드와 DC 모드를 포함하고, 방향성 인트라 예측 모드들은 2번 내지 66번 인트라 예측 모드를 포함할 수 있다. 도 11과 같이 확장된 방향성 인트라 예측은 모든 사이즈의 블록들에 적용될 수 있고, 루마 성분 및 크로마 성분 모두에 적용될 수 있다.
또한, 인트라 예측 모드는 2개의 비방향성 인트라 예측 모드들과 129개의 방향성 인트라 예측 모드들을 포함할 수 있다. 여기서, 비방향성 인트라 예측 모드들은 플래너 모드와 DC 모드를 포함할 수 있고, 방향성 인트라 예측 모드는 2번 내지 130번 인트라 예측 모드들을 포함할 수 있다.
MPM 후보 리스트 구성
영상에 대한 블록 분할이 수행되면, 코딩하고자 하는 현재 블록과 이웃 블록은 유사한 영상 특성을 가질 수 있다. 따라서, 현재 블록과 주변 블록은 서로 동일하거나 유사한 인트라 예측 모드를 가질 확률이 높다. 따라서, 인코딩 장치(100)는 현재 블록의 인트라 예측 모드를 인코딩하기 위하여 주변 블록의 인트라 예측 모드를 이용할 수 있다.
예를 들어, 인코딩 장치(100)는 현재 블록에 대한 MPM 리스트를 구성할 수 있다. MPM 리스트는 MPM 후보 리스트로 지칭될 수 있다. 여기서, MPM은 인트라 예측 모드 코딩시 현재 블록과 이웃 블록의 유사성을 고려하여 코딩 효율을 향상시키기 위하여 이용되는 모드를 의미한다. 이 경우, MPM 리스트 생성의 복잡도를 낮게 유지하기 위하여 3개의 MPM을 포함하는 MPM 리스트를 구성하는 방법이 사용될 수 있다. MPM 리스트에 현재 블록을 위한 인트라 예측 모드가 포함되지 않는 경우, 리메이닝 모드가 사용될 수 있다. 이 경우 리메이닝 모드는 64개의 나머지 후보들을 포함하고, 64개의 나머지 후보들 중 하나를 지시하는 리메이닝 인트라 예측 모드 정보가 시그널링될 수 있다. 예를 들어, 리메이닝 인트라 예측 모드 정보는 6비트의 신택스 요소(예: rem_intra_luma_pred_mode 신택스 요소)를 포함할 수 있다.
MRL(multi-reference line intra prediction)
도 12는 본 명세서의 실시예에 따른 다중 참조 라인 예측을 적용하기 위한 참조 라인들의 예를 도시한다.
일반적인 인트라 픽처 예측은 직접적으로 이웃하는 샘플들을 예측을 위한 참조 샘플들로 사용한다. MRL은 기존의 인트라 예측을 확장하여 현재 예측 블록의 좌측 및 상측으로 하나 또는 그 이상의(예: 1 내지 3) 샘플 거리를 갖는 이웃 샘플들을 사용한다. 종래의 직접적으로 이웃하는 참조 샘플 라인들 및 연장된 참조 라인들이 도 24에 도시된다. 도 25에서 mrl_idx는 인트라 예측 모드들(예: 방향성 또는 비방향성 예측 모드들)과 관련되어 CU의 인트라 예측에 어느 라인이 사용되는지를 지시한다.
MRL을 고려한 예측을 수행하기 위한 신택스는 표 1과 같이 구성될 수 있다.
표 1에서, intra_luma_ref_idx[x0][y0]는 아래의 표 2에 의해 특정되는 인트라 참조 라인 인덱스(IntraLumaRefLineIdx[x0][y0])를 지시할 수 있다. (intra_luma_ref_idx[ x0 ][ y0 ] specifies the intra reference line index IntraLumaRefLineIdx[ x0 ][ y0 ] as specified in Table 8).
intra_luma_ref_idx[x0][y0]가 존재하지 않는 경우, 0으로 추론될 수 있다. (When intra_luma_ref_idx[ x0 ][ y0 ] is not present it is inferred to be equal to 0).
intra_luma_ref_idx는 (인트라) 참조 샘플 라인 인덱스 또는 mrl_idx로 지칭될 수 있다. 또한, intra_luma_ref_idx는 intra_luma_ref_line_idx로 지칭될 수 있다.
intra_luma_mpm_flag[x0][y0]가 존재하지 않는 경우, 1로 추론될 수 있다.
도 12에 도시된 것과 같이, 본 발명의 실시예에 따른 인트라 예측을 위해 코딩 유닛 근처의 복수개의 참조 라인들은, 코딩 유닛의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 코딩 유닛의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함할 수 있다.
현재 블록에 인트라 예측이 수행되는 경우, 현재 블록의 루마 성분 블록(루마 블록)에 대한 예측 및 크로마 성분 블록(크로마 블록)에 대한 예측이 수행될 수 있으며, 이 경우 크로마 성분(크로마 블록)에 대한 인트라 예측 모드는 루마 성분(루마 블록)에 대한 인트라 예측 모드와 개별적으로 설정될 수 있다.
예를 들어, 크로마 성분에 대한 인트라 예측 모드는 인트라 크로마 예측 모드 정보를 기반으로 지시될 수 있으며, 인트라 크로마 예측 모드 정보는 intra_chroma_pred_mode 신택스 요소의 형태로 시그널링 될 수 있다. 일 예로, 인트라 크로마 예측 모드 정보는 플래너 모드, DC 모드, 수직 모드, 수평 모드, DM(direct mode), LM(linear mode) 중 하나를 가리킬 수 있다. 여기서, 플래너 모드는 0번 인트라 예측 모드, DC 모드는 1번 인트라 예측 모드, 수직 모드는 26번 인트라 예측 모드, 수평 모드는 10번 인트라 예측 모드를 나타낼 수 있다.
한편, DM과 LM은 루마 블록의 정보를 이용하여 크로마 블록을 예측하는 종속적인 인트라 예측 모드이다. DM은 루마 성분에 대한 인트라 예측 모드와 동일한 인트라 예측 모드가 크로마 성분에 대한 인트라 예측 모드로 적용되는 모드를 나타낼 수 있다. 또한, LM은 크로마 블록에 대한 예측 블록을 생성하는 과정에서 루마 블록의 복원된 샘플들을 서브샘플링한 후, 서브샘플링된 샘플들에 적어도 하나의 LM 파라미터를 적용하여 도출된 샘플들을 크로마 블록의 예측 샘플들로 사용하는 인트라 예측 모드를 나타낼 수 있다.
이하 설명되는 실시예는 인트라 예측 과정에서 PCM(pulse code modulation)과 MRL(multi reference line)에 관한 것이다. MRL은 인트라 예측에서 예측 모드에 따라 하나 또는 그 이상의 참조 샘플의 라인들(다중 참조 샘플 라인들)을 사용하는 방법이다. MRL에서, 어떤 참조 라인 인덱스가 참조되어 예측이 수행되는지를 지시하는 인덱스가 비트스트림을 통해 시그널링 된다. PCM은 예측 모드에 기반하여 인트라 예측을 수행하는 방법과는 달리, 복호화된 픽셀의 값을 비트스트림을 통하여 전송하는 방법이다. 즉, PCM 모드가 적용되는 경우 대상 블록에 대한 예측 및 변환이 수행되지 않기 때문에 인트라 예측 모드 또는 다른 신택스가 비트스트림을 통해 시그널링되지 않는다. PCM 모드는 DPCM(delta pulse code modulation) 모드 또는 BDPCM(block-based delta pulse code modulation) 모드로 지칭될 수 있다.
그러나, VTM(VVC Test Model)-3.0에서, 아래의 표 3 및 표 4와 같이 PCM 모드 신택스(PCM mode syntax) 보다 MRL을 위한 참조 라인 인덱스 신택스(reference line index syntax)(intra_luma_ref_idx)가 먼저 시그널링되기 때문에 리던던시(redundancy)가 발생한다.
즉, 아래의 표 3의 코딩 유닛 신택스(coding unit syntax)를 참조하면, 현재 블록의 예측을 위한 참조 샘플들이 위치하는 참조 라인을 지시하는 참조 라인 인덱스(intra_luma_ref_idx[x0][y0])가 먼저 파싱되고, 이후 PCM의 적용 여부를 지시하는 PCM 플래그(pcm_flag)가 파싱된다. 이때, PCM이 적용되는지 여부와 관계없이 참조 라인 인덱스가 파싱되므로, PCM이 적용되는 경우, 참조 라인 인덱스는 사용되지 않음에도 불구하고 코딩 장치에 의해 파싱되므로 데이터 자원의 낭비가 발생할 수 있다.
또한, 아래의 표 4의 시그널링 소스 코드를 참조하면, 참조 라인에 대한 정보(extend_ref_line( cu ))의 확인 이후 PCM의 적용 여부에 대한 정보(pcm_flag( cu ))의 확인이 수행되므로, 마찬가지로 PCM이 적용되는 경우, 참조 라인에 대한 정보(extend_ref_line( cu ))는 사용되지 않음에도 불구하고 파싱되므로 데이터 자원의 낭비가 발생할 수 있다.
이하 프로그래밍 언어에 의해 표현된 신택스 및 소스 코드는 본 명세서의 실시예들과 관련된 기술에 대한 통상의 기술자로부터 용이하게 이해될 것이다. 본 명세서의 실시예에 따른 비디오 처리 장치 및 방법은 이하의 신택스 및 소스 코드에 의해 실행되는 프로그램의 형태 및 해당 프로그램을 실행하는 전자 장치로서 구현될 수 있다.
본 명세서의 실시예는 현재 블록의 MRL 인덱스를 시그널링할 때 PCM 모드가 아닌 경우에 한하여 시그널링하는 방법을 제안한다. 또한, 본 명세서의 실시예는 비디오 신호의 디코딩 과정에서 PCM 모드의 적용여부를 확인한 이후 PCM 모드가 적용되지 않는 경우(즉, 인트라 예측이 적용되는 경우) MRL 인덱스를 참조하여 예측을 수행하는 방법을 제안한다. 본 명세서에서, 현재 블록은 인코딩 장치(100) 또는 디코딩 장치(200)에 의해 처리되는 픽처 내 임의의 블록으로서, 코딩 유닛(coding unit) 또는 예측 유닛(prediction unit)에 해당할 수 있다.
아래의 표 5는 본 실시예에 따른 코딩 유닛 신택스의 예를 나타낸다. 인코딩 장치(100)는 표 5와 같은 정보를 포함하는 코딩 유닛 신택스를 구성하고 인코딩할 수 있다. 인코딩 장치(100)는 인코딩된 코딩 유닛 신택스를 비트스트림의 형태로 저장 및 전송할 수 있다. 디코딩 장치(200)는 비트스트림으로부터 인코딩된 코딩 유닛 신택스를 획득(파싱)할 수 있다.
표 5를 참조하면, 코딩 장치는 현재 블록(코딩 유닛)의 예측 모드가 인트라 예측 모드이고(CuPredMode[ x0 ][ y0 ] = = MODE_INTRA) PCM이 적용될 수 있는 조건이 만족되는 경우, PCM이 적용되는지 여부를 지시하는 플래그(PCM 플래그)(pcm_flag)를 확인할 수 있다. PCM 플래그로부터 PCM이 적용되지 않음이 확인되면(PCM 플래그가 '0'이면), 코딩 장치는 현재 블록으로부터 일정 샘플 거리 이내에 위치한 인접한 복수개의 참조 라인들 중 어느 참조 라인이 현재 블록의 예측을 위해 사용되는지 여부를 지시하는 인덱스(MRL 인덱스)(intra_luma_ref_idx)를 확인할 수 있다. 코딩 장치는 MRL 인덱스에 의해 지시되는 참조 라인의 참조 샘플로부터 현재 블록의 예측 샘플을 생성할 수 있다. 아래의 표 13는 본 명세서의 실시예에 따른 코딩 유닛 시그널링 소스 코드의 예를 나타낸다.
일 실시예에서, 현재 블록의 예측을 위한 복수의 참조 라인들은 현재 블록과 동일한 CTU에 포함되는 경우에만 파싱될 수 있다. 예를 들어, 표 13의 신택스에 나타난 것과 같이 현재 블록 내 좌상측 샘플의 Y 위치 값(y0)에 대한 현재 블록이 속한 CTU의 Y축 사이즈(CtbSizeY)의 모듈러 연산(modular operation)(%)의 결과가 0보다 크면((y0 % CtbSizeY ) > 0), 복수의 참조 라인들이 현재 블록과 동일한 CTU에 있음을 결정할 수 있다. 이는 현재 블록이 CTU의 상측 경계에 위치한 경우 모듈러 연산의 결과 값은 0이 되므로, 현재 블록의 상측에 위치한 샘플들은 현재 블록과 다른 CTU에 포함된 것이기 때문이다. 현재 블록이 CTU의 상측 경계에 위치하지 않은 경우 MRL 인덱스가 파싱될 수 있다.
표 6을 참고하면, 코딩 장치는 PCM 플래그(pcm_flag( cu ))에 기반하여 PCM 모드의 적용 여부를 확인한 이후 MRL 인덱스(extend_ref_line( cu ))를 확인할 수 있다. 예를 들어, MRL 인덱스는 PCM 플래그가 '0'인 경우에만 파싱될 수 있다.
표 5 및 표 6과 같이, PCM 플래그를 통해 PCM 모드의 적용 여부(즉, 인트라 예측의 적용 여부)를 확인하고, PCM 모드가 적용되지 않는 경우(즉, 인트라 예측이 적용되는 경우) MRL 인덱스를 통해 어느 참조 라인이 사용되는지를 확인함으로써, PCM 모드가 적용됨에도 불구하고 MRL 인덱스를 시그널링하거나 MRL 인덱스를 파싱할 필요가 없으므로 시그널링 오버헤드와 코딩 복잡도를 감소시킬 수 있다.
도 13은 본 명세서의 실시예에 따른 비디오 데이터 처리 방법을 도시하는 흐름도이다.
도 13의 동작들 각각은 비디오 데이터의 인코딩 또는 디코딩시 인트라 예측 프로세스의 일 예로서, 인코딩 장치(100)의 인트라 예측부(185), 디코딩 장치(200)의 인트라 예측부(265)에 의해 수행될 수 있다.
본 발명의 실시예에 따른 영상 신호 처리 방법은, 비디오 데이터에서 현재 블록의 샘플 값이 비트스트림을 통해 전달되는 PCM 모드가 적용되는지 여부를 결정하는 단계(S1310)와, PCM 모드가 미적용됨에 기반하여, 현재 블록으로부터 일정 거리 이내에 위치한 참조 라인과 관련된 참조 인덱스를 확인하는 단계(S1320)와, 참조 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 현재 블록의 예측 샘플을 생성하는 단계(S1330)를 포함할 수 있다.
보다 구체적으로, S1310 단계에서, 비디오 데이터 처리 장치(인코딩 장치 또는 디코딩 장치, 이하 코딩 장치로 통칭됨)는 현재 블록에 대해 PCM 모드가 적용되는지 여부를 결정할 수 있다. 예를 들어, 코딩 장치는 PCM 모드의 적용 여부를 지시하는 플래그(PCM 플래그)를 통해 PCM 모드가 적용되는지 여부를 결정할 수 있다. 예를 들어, 코딩 장치는 PCM 플래그가 '0'인 경우 PCM 모드가 적용되지 않는 것으로 결정하고, PCM 플래그가 '1'인 경우 PCM 모드가 적용되는 것으로 결정할 수 있다. 여기서, PCM 모드는 현재 블록의 샘플 값이 직접 비트스트림을 통하여 인코딩 장치(100)로부터 디코딩 장치(200)로 전송되는 모드를 의미하며, PCM 모드가 적용되면 디코딩 장치(200)는 예측 또는 변환 과정없이 인코딩 장치(100)로부터 전달된 비트스트림으로부터 현재 블록의 샘플 값을 도출할 수 있다. 현재 블록은 코딩 장치에 의해 처리가 수행되는 블록 단위로서, 코딩 유닛 또는 예측 유닛에 해당할 수 있다.
S1320 단계에서, 코딩 장치는 PCM 모드가 미적용됨을 확인하면 현재 블록으로부터 일정 거리 이내에 위치한 참조 라인과 관련된 참조 인덱스를 확인할 수 있다. 예를 들어, 코딩 장치는 PCM 플래그가 '0'인 경우(PCM 모드가 적용되지 않는 경우), 현재 블록의 인트라 예측을 위한 참조 샘플이 위치하는 라인을 지시하는 참조 인덱스를 파싱할 수 있다. 한편, 코딩 장치는 PCM 플래그가 '1'인 경우(PCM 모드가 적용되는 경우), 인트라 예측없이 현재 블록에 대한 샘플 값을 결정할 수 있다.
본 명세서의 실시예에서, 참조 인덱스는 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시할 수 있다. 여기서, 복수의 참조 라인들은 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함할 수 있다.
예를 들어, 복수의 참조 라인들은 도 12에 도시된 것과 같이 너비 W와 높이 H를 갖는 현재 블록의 상측에 위치한 4개의 참조 라인들과 현재 블록의 좌측에 위치한 4개의 참조 라인들을 포함할 수 있다. 예를 들어, 복수의 참조 라인들은, 도 12에서 0번 MRL 인덱스(mrl_idx)(또는 참조 인덱스)에 대응하는 빗금으로 표시된 제1 참조 라인과, 1번 MRL 인덱스에 대응하는 짙은 회식으로 표시된 제2 참조 라인과, 2번 MRL 인덱스에 대응하는 도트(dot)로 표시된 제3 참조 라인과, 3번 MRL 인덱스에 대응하는 연한 회색으로 표시된 제4 참조 라인을 포함할 수 있다.
일 실시예에서, 현재 블록의 예측을 위한 복수의 참조 라인들은 현재 블록과 동일한 CTU에 포함되는 경우에 한하여 사용될 수 있다. 예를 들어, 코딩 장치는 표 5의 신택스에 나타난 것과 같이 현재 블록 내 좌상측 샘플의 Y 위치 값(y0)에 대한 현재 블록이 속한 CTU의 Y축 사이즈(CtbSizeY)의 모듈러 연산(modular operation)(%)의 결과가 0이 아니면, 복수의 참조 라인들이 현재 블록과 동일한 CTU에 있음을 결정할 수 있다. 이는 현재 블록이 CTU의 상측 경계에 위치한 경우 모듈러 연산의 결과 값은 0이 되므로, 현재 블록의 상측에 위치한 샘플들은 현재 블록과 다른 CTU에 포함된 것이기 때문이다.
한편, 현재 블록의 예측을 위해 사용될 참조 샘플이 위치한 참조 라인을 지시하기 위한 참조 인덱스는 특정 조건이 만족하는 경우에 한하여 비트스트림에 포함되어 인코딩 장치(100)로부터 디코딩 장치(200)로 전송될 수 있다. 다시 말해, 만약 PCM 모드가 적용되는 경우, 참조 인덱스(MRL 인덱스)는 코딩되지 않아 비트스트림에서 제외되고, 인코딩 장치(100)로부터 디코딩 장치(200)로 전송되지 않을 수 있다. 예를 들어, 표 6의 시그널링 소스 코드와 같이, PCM 플래그가 1인 경우 코딩 장치는 PCM 모드에 따라 현재 블록의 샘플 값을 코딩하고 현재 블록에 대한 코딩을 종료할 수 있다. 또한, 표 6을 참고하면, PCM 플래그가 0인 경우 코딩 장치는 참조 라인에 대한 참조 인덱스(extend_ref_line)을 코딩할 수 있다.
상술한 바와 같이 PCM의 적용 여부에 따라 가변적으로 참조 라인에 대한 참조 인덱스를 코딩하고 시그널링함으로써, 인코딩 장치(100)의 시그널링 오버헤드와 디코딩 장치(200)의 디코딩 복잡도를 감소시킬 수 있다.
S1330 단계에서, 코딩 장치는 참조 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 현재 블록의 예측 샘플을 생성할 수 있다. 다시 말해, 코딩 장치는 참조 인덱스에 의해 지시되는 참조 라인의 참조 샘플과 인트라 예측 모드를 사용하여 현재 블록에 포함된 각각의 픽셀 위치에 대한 샘플 값을 결정할 수 있다. 예를 들어, 참조 인덱스(MRL 인덱스)가 1인 경우, 코딩 장치는 도 12에서 현재 블록으로부터 1 샘플 거리만큼 이격된 참조 라인(짙은 회색으로 표시된 샘플들의 라인)의 샘플로부터 인트라 예측 모드를 적용함으로써 현재 블록에 대한 샘플 값을 결정할 수 있다.
도 14는 본 명세서의 실시예에 따른 비디오 데이터의 인코딩 과정의 예를 도시한다. 도 14의 동작들 각각 인코딩 장치(100)의 인트라 예측부(185)에 의해 수행될 수 있다.
S1410 단계에서, 인코딩 장치(100)는 인코딩하고자 하는 현재 블록에 대해 PCM 모드를 적용를 적용할지 여부를 결정할 수 있다. 여기서, PCM 모드는 현재 블록에 대한 예측 또는 변환없이 현재 블록의 샘플 값이 직접적으로 인코딩 장치(100)로부터 디코딩 장치(200)로 전달되는 모드를 지칭할 수 있다. 인코딩 장치(100)는 RD 비용을 고려하여 PCM 모드의 적용 여부를 결정할 수 있다.
PCM 모드를 적용하기로 결정한 경우, 인코딩 장치(100)는 S1450 단계로 진행할 수 있다. S1450 단계에서, 인코딩 장치(100)는 PCM 모드에 따라 현재 블록의 샘플 값을 인코딩할 수 있다. 즉, 인코딩 장치(100)는 PCM 모드에 따라 예측 및 변환 과정을 생략한 상태로 현재 블록의 샘플 값을 인코딩하고 비트스트림에 포함시킬 수 있다.
PCM 모드가 적용되는 경우, 인코딩 장치(100)는 참조 인덱스를 포함한 예측과 관련된 정보의 코딩을 생략할 수 있다. 특히, 인코딩 장치(100)는 MRL의 적용에 따른 참조 라인을 지시하는 참조 인덱스에 대한 코딩을 생략할 수 있다. 예를 들어, 표 6의 시그널링 소스 코드와 같이, PCM 플래그가 1인 경우 코딩 장치는 PCM 모드에 따라 현재 블록의 샘플 값을 코딩하고 현재 블록에 대한 코딩을 종료할 수 있다.
예를 들어, 표 6의 시그널링 소스 코드와 같이, PCM 플래그가 1인 경우 코딩 장치는 PCM 모드에 따라 현재 블록의 샘플 값을 코딩하고 현재 블록에 대한 코딩을 종료할 수 있다.
PCM 모드를 적용하지 않기로 결정한 경우, 인코딩 장치(100)는 S1420 단계로 진행할 수 있다. S1420 단계에서, 인코딩 장치(100)는 현재 블록의 인트라 예측을 위한 참조 샘플 및 인트라 예측 모드를 결정할 수 있다. 예를 들어, 인코딩 장치(100)는 RD 비용을 고려하여 참조 샘플 및 인트라 예측 모드를 결정할 수 있다. 이후, S1430 단계에서, 인코딩 장치(100)는 예측 정보 및 레지듀얼 정보를 인코딩할 수 있다.
표 6을 참고하면, PCM 플래그가 0인 경우 코딩 장치는 참조 라인에 대한 참조 인덱스(extend_ref_line)을 코딩할 수 있다.
일 실시예에서, 인코딩 장치(100)는 참조 샘플을 결정할 때 현재 블록과 직접적으로 인접한 참조 샘플뿐만 아니라 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들에 위치한 참조 샘플을 결정할 수 있다. 또한, 인코딩 장치(100)는 현재 블록의 예측을 위한 참조 샘플이 위치한 참조 라인을 지시하는 참조 인덱스(MRL 인덱스)를 코딩할 수 있다.
일 실시예에서, 참조 인덱스는 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시할 수 있다. 여기서, 복수의 참조 라인들은 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함할 수 있다.
예를 들어, 복수의 참조 라인들은 도 12에 도시된 것과 같이 너비 W와 높이 H를 갖는 현재 블록의 상측에 위치한 4개의 참조 라인들과 현재 블록의 좌측에 위치한 4개의 참조 라인들을 포함할 수 있다. 예를 들어, 복수의 참조 라인들은, 도 12에서 0번 MRL 인덱스(mrl_idx)(또는 참조 인덱스)에 대응하는 빗금으로 표시된 제1 참조 라인과, 1번 MRL 인덱스에 대응하는 짙은 회식으로 표시된 제2 참조 라인과, 2번 MRL 인덱스에 대응하는 도트(dot)로 표시된 제3 참조 라인과, 3번 MRL 인덱스에 대응하는 연한 회색으로 표시된 제4 참조 라인을 포함할 수 있다.
일 실시예에서, MRL에 따라 현재 블록의 예측을 위한 복수의 참조 라인들은 현재 블록과 동일한 코딩 트리 유닛에 포함되는 경우에만 현재 블록의 예측에 사용될 수 있다. 예를 들어, 표 6의 신택스에 나타난 것과 같이 현재 블록 내 좌상측 샘플의 Y 위치 값(y0)에 대한 현재 블록이 속한 CTU의 Y축 사이즈(CtbSizeY)의 모듈러 연산(modular operation)(%)의 결과가 0보다 크면((y0 % CtbSizeY ) > 0), 복수의 참조 라인들이 현재 블록과 동일한 CTU에 있음을 결정할 수 있다. 이는 현재 블록이 CTU의 상측 경계에 위치한 경우 모듈러 연산의 결과 값은 0이 되므로, 현재 블록의 상측에 위치한 샘플들은 현재 블록과 다른 CTU에 포함된 것이기 때문이다. 현재 블록이 CTU의 상측 경계에 위치하지 않은 경우 MRL 인덱스가 파싱될 수 있다.
상술한 바와 같이 PCM의 적용 여부에 따라 가변적으로 참조 라인에 대한 참조 인덱스를 코딩하고 시그널링함으로써, 인코딩 장치(100)는 코딩 복잡도 및 시그널링 오버헤드를 감소시킬 수 있다.
도 15는 본 명세서의 실시예에 따른 비디오 데이터의 디코딩 과정의 다른 예를 도시한다. 도 15의 동작들 각각은 비디오 데이터의 디코딩시 인트라 예측 프로세스의 일 예로서, 디코딩 장치(200)의 인트라 예측부(265)에 의해 수행될 수 있다.
S1510 단계에서, 디코딩 장치(200)는 현재 블록에 대하여 PCM 모드가 적용되는지 여부를 지시하는 PCM 플래그가 1인지 여부를 결정한다. 즉, 디코딩 장치(200)는 현재 블록에 대하여 PCM 모드가 적용되는지 여부를 결정할 수 있다. 여기서, PCM 모드는 현재 블록에 대한 예측 또는 변환없이 현재 블록의 샘플 값이 직접적으로 인코딩 장치(100)로부터 디코딩 장치(200)로 전달되는 모드를 지칭할 수 있다. 여기서, 현재 블록은 디코딩 장치(200)에 의해 처리가 수행되는 블록 단위로서, 코딩 유닛 또는 예측 유닛에 해당할 수 있다.
PCM 플래그가 1이면(PCM 모드가 적용되면), 디코딩 장치(200)는 S1550 단계로 진행할 수 있다. S1550 단계에서, 디코딩 장치(200)는 PCM 모드에 따라 현재 블록의 샘플 값을 결정할 수 있다. 예를 들어, 디코딩 장치(200)는, 인코딩 장치(100)로부터 전송된 비트스트림으로부터 현재 블록의 샘플 값을 직접 도출하고, 예측 또는 변환 과정을 생략할 수 있다. PCM 모드에 따라 현재 블록의 샘플 값이 도출되면, 디코딩 장치(200)는 현재 블록에 대한 디코딩 절차를 종료하고 이후의 처리 대상 블록에 대한 디코딩을 수행할 수 있다.
PCM 플래그가 0이면(PCM 모드가 적용되지 않으면), 디코딩 장치(200)는 S1520 단계로 진행할 수 있다. S1520 단계에서, 디코딩 장치(200)는 MRL 인덱스를 파싱할 수 있다. 여기서 참조 인덱스는 현재 블록의 예측을 위해 사용되는 참조 샘플이 위치한 참조 라인을 지시하는 인덱스를 의미한다. 참조 인덱스는 MRL 인덱스로 지칭될 수 있으며, 표 5에서 ' intra_luma_ref_idx'로 표현될 수 있다.
S1530 단계에서, 디코딩 장치(200)는 현재 픽처에서 참조 인덱스와 관련된 참조 라인을 결정할 수 있다. 즉, 디코딩 장치(200)는 현재 블록에 인접한 참조 라인들 중에서 참조 인덱스에 의해 지시되는 참조 라인을 결정할 수 있다.
일 실시예에서, 참조 인덱스는 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시할 수 있다. 여기서, 복수의 참조 라인들은 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함할 수 있다.
예를 들어, 복수의 참조 라인들은 도 12에 도시된 것과 같이 너비 W와 높이 H를 갖는 현재 블록의 상측에 위치한 4개의 참조 라인들과 현재 블록의 좌측에 위치한 4개의 참조 라인들을 포함할 수 있다. 예를 들어, 복수의 참조 라인들은, 도 12에서 0번 MRL 인덱스(mrl_idx)(또는 참조 인덱스)에 대응하는 빗금으로 표시된 제1 참조 라인과, 1번 MRL 인덱스에 대응하는 짙은 회식으로 표시된 제2 참조 라인과, 2번 MRL 인덱스에 대응하는 도트(dot)로 표시된 제3 참조 라인과, 3번 MRL 인덱스에 대응하는 연한 회색으로 표시된 제4 참조 라인을 포함할 수 있다.
일 실시예에서, 현재 블록의 예측을 위한 복수의 참조 라인들은 현재 블록과 동일한 CTU에 포함되는 경우에 한하여 사용될 수 있다. 예를 들어, 디코딩 장치(200)는 표 5의 신택스에 나타난 것과 같이 현재 블록 내 좌상측 샘플의 Y 위치 값(y0)에 대한 현재 블록이 속한 CTU의 Y축 사이즈(CtbSizeY)의 모듈러 연산(modular operation)(%)의 결과가 0이 아니면, 복수의 참조 라인들이 현재 블록과 동일한 CTU에 있음을 결정할 수 있다. 이는 현재 블록이 CTU의 상측 경계에 위치한 경우 모듈러 연산의 결과 값은 0이 되므로, 현재 블록의 상측에 위치한 샘플들은 현재 블록과 다른 CTU에 포함된 것이기 때문이다.
한편, 현재 블록의 예측을 위해 사용될 참조 샘플이 위치한 참조 라인을 지시하기 위한 참조 인덱스는 특정 조건이 만족하는 경우에 한하여 비트스트림에 포함되어 인코딩 장치(100)로부터 디코딩 장치(200)로 전송될 수 있다. 다시 말해, 만약 PCM 모드가 적용되는 경우, 참조 인덱스(MRL 인덱스)는 코딩되지 않아 비트스트림에서 제외되고, 인코딩 장치(100)로부터 디코딩 장치(200)로 전송되지 않을 수 있다. 예를 들어, 표 6의 시그널링 소스 코드와 같이, PCM 플래그가 1인 경우 디코딩 장치(200)는 PCM 모드에 따라 현재 블록의 샘플 값을 코딩하고 현재 블록에 대한 코딩을 종료할 수 있다. 또한, 표 6을 참고하면, PCM 플래그가 0인 경우 디코딩 장치(200)는 참조 라인에 대한 참조 인덱스(extend_ref_line)을 코딩할 수 있다.
상술한 바와 같이 PCM의 적용 여부에 따라 가변적으로 참조 라인에 대한 참조 인덱스를 코딩하고 시그널링함으로써, 인코딩 장치(100)의 시그널링 오버헤드와 디코딩 장치(200)의 디코딩 복잡도를 감소시킬 수 있다.
S1540 단계에서, 디코딩 장치(200)는 참조 라인의 참조 샘플로부터 현재 블록의 예측 샘플 값을 결정할 수 있다. 다시 말해, 디코딩 장치(200)는 참조 인덱스에 의해 지시되는 참조 라인의 참조 샘플과 인트라 예측 모드를 사용하여 현재 블록에 포함된 각각의 픽셀 위치에 대한 샘플 값을 결정할 수 있다. 예를 들어, 참조 인덱스(MRL 인덱스)가 1인 경우, 디코딩 장치(200)는 도 12에서 현재 블록으로부터 1 샘플 거리만큼 이격된 참조 라인(짙은 회색으로 표시된 샘플들의 라인)의 샘플로부터 인트라 예측 모드를 적용함으로써 현재 블록에 대한 샘플 값을 결정할 수 있다. 이후, 디코딩 장치(200)는 현재 블록에 대한 코딩 절차를 종료하고 이후의 처리 대상 블록에 대한 코딩을 수행할 수 있다.
구체적 활용예
본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 각 도면에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
도 16은 본 명세서의 실시예에 따른 비디오 데이터를 처리하기 위한 장치의 블록도의 예를 도시한다. 도 16의 비디오 데이터 처리 장치는 도 2의 인코딩 장치(100) 또는 도 3의 디코딩 장치(200)에 해당할 수 있다.
본 명세서의 실시예에 따른 비디오 데이터 처리 장치(1600)는, 비디오 데이터를 저장하는 메모리(1620)와, 상기 메모리와 결합되면서 비디오 데이터를 처리하는 프로세서(1610)를 포함한다.
본 명세서의 실시예에 따른 프로세서(1610)는 비디오 데이터의 처리를 위한 적어도 하나의 프로세싱 회로로 구성될 수 있으며, 비디오 데이터를 인코딩 또는 디코딩을 위한 명령어들을 실행함으로써 영상 신호를 처리할 수 있다. 즉, 프로세서(1610)는 상술한 인코딩 또는 디코딩 방법들을 실행함으로써 원본 비디오 데이터를 인코딩하거나 인코딩된 비디오 데이터를 디코딩할 수 있다.
본 명세서의 실시예에 따른 인트라 예측을 사용하여 비디오 데이터를 처리하기 위한 장치는, 비디오 데이터를 저장하는 메모리(1620)와, 메모리(1620)와 결합된 프로세서(1610)를 포함할 수 있다. 본 명세서의 실시예에 따른 프로세서(1610)는, 비디오 데이터에서 현재 블록의 샘플 값이 비트스트림을 통해 전달되는 PCM 모드가 적용되는지 여부를 결정하고, PCM 모드가 미적용됨에 기반하여, 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 참조 인덱스를 확인하고, 참조 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 현재 블록의 예측 샘플을 생성하도록 설정될 수 있다.
본 명세서의 실시예에 따른 프로세서(1610)는 PCM 모드가 적용되는지 여부를 확인하고, PCM 모드가 적용되지 않음이 확인되는 경우 참조 인덱스를 확인하여 예측을 수행함으로써, PCM 모드에 의해 예측이 수행되지 않음에도 불구하고 불필요하게 참조 라인 인덱스를 파싱하지 않을 수 있고, 따라서 프로세서(1610)의 비디오 데이터를 처리하기 위한 시간을 감소시킬 수 있다.
일 실시예에서, 프로세서(1610)는 PCM 모드의 적용 여부를 나타내는 플래그를 확인할 수 있다. 여기서, PCM 모드의 적용 여부를 나타내는 플래그는 PCM 플래그로 지칭될 수 있다. 즉, 프로세서(1610)는 PCM 플래그를 통하여 현재 블록에 대하여 PCM 모드가 적용되는지 여부를 확인할 수 있다. 예를 들어, PCM 플래그가 0인 경우, 현재 블록에 대해 PCM 모드가 적용되지 않고, PCM 플래그가 1인 경우, 현재 블록에 대해 PCM 모드가 적용될 수 있다. 예를 들어, 표 5의 신택스에 나타난 것과 같이, PCM 플래그가 1인 경우 프로세서(1610)는 PCM 모드에 따라 현재 블록의 샘플 값을 도출할 수 있다. PCM 플래그가 0인 경우, 프로세서(1610)는 현재 블록의 예측을 위한 참조 샘플이 위치한 참조 라인을 지시하는 참조 인덱스(MRL 인덱스)를 확인할 수 있다.
일 실시예에서, 참조 인덱스는 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시할 수 있다. 참조 인덱스는 도 12의 MRL 인덱스 또는 표 3 및 표 5의 ' intra_luma_ref_idx'에 해당할 수 있다.
일 실시예에서, 복수의 참조 라인들은, 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함할 수 있다. 예를 들어, 현재 블록의 예측을 위해 사용되는 참조 샘플들이 위치한 참조 라인들은 도 12에 도시된 것과 같이 현재 블록의 좌측 및 상측 경계로부터 4 샘플 거리 이내에 위치한 참조 샘플들로 구성된 참조 라인들을 포함할 수 있다.
일 실시예에서, 현재 블록의 예측을 위한 복수의 참조 라인들은 현재 블록과 동일한 코딩 트리 유닛(coding tree unit)에 포함될 수 있다. 예를 들어, 프로세서(1610)는 참조 인덱스의 파싱 이전에 현재 블록이 CTU의 상측 경계에 위치하는지 여부를 확인하고, 현재 블록이 CTU의 상측 경계에 위치하지 않는 경우 참조 인덱스를 파싱할 수 있다. 예를 들어, 표 5의 신택스에 나타난 것과 같이, 현재 블록 내 좌상측 샘플의 Y 위치 값(y0)에 대한 현재 블록이 속한 CTU의 Y축 사이즈(CtbSizeY)의 모듈러 연산(%)의 결과가 0이 아니면, 복수의 참조 라인들이 현재 블록과 동일한 CTU에 있음을 결정할 수 있다.
일 실시예에서, 참조 인덱스는 PCM 모드가 적용되지 않는 경우 인코딩 장치(100)로부터 디코딩 장치(200)로 전송될 수 있다. 디코딩 장치(200)는 인코딩 장치(100)로부터 전달된 비트스트림으로부터 현재 블록의 샘플 값을 도출할 수 있다. 현재 블록은 코딩 장치에 의해 처리가 수행되는 블록 단위로서, 코딩 유닛 또는 예측 유닛에 해당할 수 있다.
다시 말해, 만약 PCM 모드가 적용되는 경우, 참조 인덱스(MRL 인덱스)는 코딩되지 않아 비트스트림에서 제외되고, 인코딩 장치(100)로부터 디코딩 장치(200)로 전송되지 않을 수 있다. 예를 들어, 표 13의 시그널링 소스 코드와 같이, PCM 플래그가 1인 경우 코딩 장치는 PCM 모드에 따라 현재 블록의 샘플 값을 코딩하고 현재 블록에 대한 코딩을 종료할 수 있다. 또한, 표 13을 참고하면, PCM 플래그가 0인 경우 코딩 장치는 참조 라인에 대한 참조 인덱스(extend_ref_line)을 코딩할 수 있다.
비트스트림
상술한 본 발명의 실시예에 기반하여 인코딩 장치(100)에 의하여 도출된 인코딩된 정보(예: 인코딩된 비디오/영성 정보)는 비트스트림의 형태로 출력될 수 있다. 인코딩된 정보는 비트스트림 형태로 NAL 유닛 단위로 전송 또는 저장될 수 있다. 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는 비-일시적(non-transitory) 디지털 저장매체에 저장될 수 있다. 또한, 상술한 바와 같이 비트스트림은 인코딩 장치(100)에서 디코딩 장치(200)로 바로 전송되지 않고, 외부 서버(예: 컨텐츠 스트리밍 서버)를 통하여 스트리밍/다운로드 서비스될 수 있다. 여기서, 네트워크는 방송망 및/또는 통신망을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD와 같이 다양한 저장매체를 포함할 수 있다.
본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치 및 분산 저장 장치를 포함한다. 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
또한, 본 발명의 실시예는 프로그램 코드에 의한 컴퓨터 프로그램 제품으로 구현될 수 있고, 프로그램 코드는 본 발명의 실시예에 의해 컴퓨터에서 수행될 수 있다. 프로그램 코드는 컴퓨터에 의해 판독가능한 캐리어 상에 저장될 수 있다.
상술한 본 명세서의 실시예는 컴퓨팅 디바이스의 하나 이상의 프로세서에서 실행하도록 구성된 컴퓨터 실행 가능한 컴포넌트가 저장된 비 일시적(non-transitory) 컴퓨터 판독 가능한 매체(computer-executable component)에 의해 구현될 수 있다. 본 명세서의 실시예에 따른 컴퓨터 실행 가능한 컴포넌트는 비디오 데이터에서 현재 블록의 샘플 값이 비트스트림을 통해 전달되는 PCM 모드가 적용되는지 여부를 결정하고, PCM 모드가 미적용됨에 기반하여, 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 참조 인덱스를 확인하고, 참조 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정될 수 있다. 뿐만 아니라, 본 명세서의 실시예에 따른 컴퓨터 실행 가능한 컴포넌트는 도 13 내지 도 14를 참조하여 설명된 비디오 데이터 처리 방법에 대응하는 동작을 실행하도록 설정될 수 있다.
본 발명이 적용되는 디코딩 장치(200) 및 인코딩 장치(100)는 디지털 기기(digital device)에 포함될 수 있다. "디지털 기기(digital device)"라 함은 예를 들어, 데이터, 컨텐트, 서비스 등을 송신, 수신, 처리 및 출력 중 적어도 하나를 수행 가능한 모든 디지털 기기를 포함한다. 여기서, 디지털 기기가 데이터, 컨텐트, 서비스 등을 처리하는 것은, 데이터, 컨텐트, 서비스 등을 인코딩 및/또는 디코딩하는 동작을 포함한다. 이러한 디지털 기기는, 유/무선 네트워크(wire/wireless network)를 통하여 다른 디지털 기기, 외부 서버(external server) 등과 페어링 또는 연결(pairing or connecting)(이하 '페어링')되어 데이터를 송수신하며, 필요에 따라 변환(converting)한다.
디지털 기기는 예를 들어, 네트워크 TV(network TV), HBBTV(hybrid broadcast Broadband TV), 스마트 TV(smart TV), IPTV(internet protocol television), PC(personal computer) 등과 같은 고정형 기기(standing device)와, PDA(personal digital assistant), 스마트 폰(smart phone), 태블릿 PC(tablet PC), 노트북 등과 같은 모바일 기기(mobile device or handheld device)를 모두 포함한다.
한편, 본 명세서에서 기술되는 "유/무선 네트워크"라 함은, 디지털 기기들 또는 디지털 기기와 외부 서버 사이에서 상호 연결 또는/및 데이터 송수신을 위해 다양한 통신 규격 내지 프로토콜을 지원하는 통신 네트워크를 통칭한다. 이러한 유/무선 네트워크는 규격에 의해 현재 또는 향후 지원될 통신 네트워크와 그를 위한 통신 프로토콜을 모두 포함할 수 있는바 예컨대, USB(Universal Serial Bus), CVBS(Composite Video Banking Sync), 컴포넌트, S-비디오(아날로그), DVI(digital visual interface), HDMI(high definition multimedia interface), RGB, D-SUB와 같은 유선 연결을 위한 통신 규격 내지 프로토콜과, 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra Wwideband), 지그비(ZigBee), DLNA(digital living network alliance), WLAN(wireless LAN)(Wi-Fi), Wibro(wireless broadband), Wimax(world interoperability for microwave access), HSDPA(high speed downlink packet access), LTE(long term evolution), Wi-Fi 다이렉트(direct)와 같은 무선 연결을 위한 통신 규격에 의하여 형성될 수 있다.
이하 본 명세서에서 단지 디지털 기기로 명명하는 경우에는 문맥에 따라 고정형 기기 또는 모바일 기기를 의미하거나 양자를 모두 포함하는 의미일 수도 있다.
한편, 디지털 기기는 예컨대, 방송 수신 기능, 컴퓨터 기능 내지 지원, 적어도 하나의 외부 입력(external input)을 지원하는 지능형 기기로서, 상술한 유/무선 네트워크를 통해 이메일(e-mail), 웹 브라우징(web browsing), 뱅킹(banking), 게임(game), 애플리케이션(application) 등을 지원할 수 있다. 더불어, 디지털 기기는, 수기 방식의 입력 장치, 터치 스크린(touch screen), 공간 리모콘과 같이 적어도 하나의 입력 또는 제어 수단(이하 입력수단)을 지원하기 위한 인터페이스(interface)를 구비할 수 있다. 디지털 기기는, 표준화된 범용 OS(operating system)를 이용할 수 있다. 예를 들어, 디지털 기기는 범용의 OS 커널(kernel) 상에 다양한 애플리케이션(application)을 추가(adding), 삭제(deleting), 수정(amending), 업데이트(updating) 등을 할 수 있으며, 그를 통해 더욱 사용자 친화적인(user-friendly) 환경을 구성하여 제공할 수 있다.
이상에서 설명된 실시예들은 본 명세서의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 명세서의 실시예를 구성하는 것도 가능하다. 본 명세서의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 명세서의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.
본 명세서는 본 명세서의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
Claims (15)
- 비디오 데이터를 처리하기 위한 방법으로서,상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하는 단계와,상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하는 단계와,상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 인덱스는,상기 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시하는 것을 특징으로 하는 방법.
- 제2항에 있어서,상기 복수의 참조 라인들은,상기 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 상기 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 복수의 참조 라인들은,상기 현재 블록과 동일한 코딩 트리 유닛(coding tree unit)에 포함되는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 PCM 모드가 적용되는지 여부를 결정하는 단계는,상기 PCM 모드의 적용 여부를 나타내는 플래그(flag)를 확인하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 인덱스는,상기 PCM 모드가 적용되지 않는 경우 인코딩 장치로부터 디코딩 장치로 전달되는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 현재 블록은,코딩 유닛(coding unit) 또는 예측 유닛(prediction unit)에 해당하는 것을 특징으로 하는 방법.
- 비디오 데이터를 처리하기 위한 장치에 있어서,상기 비디오 데이터를 저장하는 메모리와,상기 메모리와 결합된 프로세서를 포함하고,상기 프로세서는,상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하고,상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하고,상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정되는 것을 특징으로 하는 장치.
- 제8항에 있어서,상기 인덱스는,상기 현재 블록으로부터 일정 거리 이내에 위치한 복수의 참조 라인들 중 하나를 지시하는 것을 특징으로 하는 장치.
- 제9항에 있어서,상기 복수의 참조 라인들은,상기 현재 블록의 상측 경계의 상부에 위치한 복수의 상측 참조 라인들 또는 상기 현재 블록의 좌측 경계의 좌측에 위치한 복수의 좌측 참조 라인들을 포함하는 것을 특징으로 하는 장치.
- 제8항에 있어서,상기 복수의 참조 라인들은,상기 현재 블록과 동일한 코딩 트리 유닛(coding tree unit)에 포함되는 것을 특징으로 하는 장치.
- 제8항에 있어서,상기 프로세서는,상기 PCM 모드의 적용 여부를 나타내는 플래그(flag)를 확인하도록 설정되는 것을 특징으로 하는 장치.
- 제8항에 있어서,상기 인덱스는,상기 PCM 모드가 적용되지 않는 경우 인코딩 장치로부터 디코딩 장치로 전송되는 것을 특징으로 하는 장치.
- 제8항에 있어서,상기 현재 블록은,코딩 유닛(coding unit) 또는 예측 유닛(prediction unit)에 해당하는 것을 특징으로 하는 장치.
- 컴퓨팅 디바이스의 하나 이상의 프로세서에서 실행하도록 구성된 컴퓨터 실행 가능한 컴포넌트가 저장된 비 일시적(non-transitory) 컴퓨터 판독 가능한 매체(computer-executable component)로서, 상기 컴퓨터 실행 가능한 컴포넌트는,상기 비디오 데이터의 현재 블록의 샘플 값이 비트스트림을 통해 전송되는 PCM(pulse code modulation) 모드가 적용되는지 여부를 결정하고,상기 PCM 모드가 미적용됨에 기반하여, 상기 현재 블록의 인트라 예측을 위한 참조 라인과 관련된 인덱스를 상기 비트스트림으로부터 파싱하고,상기 인덱스와 관련된 참조 라인에 포함된 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정되는 것을 특징으로 하는 비 일시적 컴퓨터 판독 가능한 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/293,163 US20220014751A1 (en) | 2018-11-14 | 2019-11-14 | Method and device for processing video data |
CN201980075336.5A CN113170115A (zh) | 2018-11-14 | 2019-11-14 | 处理视频数据的方法和设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862767508P | 2018-11-14 | 2018-11-14 | |
US62/767,508 | 2018-11-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020101385A1 true WO2020101385A1 (ko) | 2020-05-22 |
Family
ID=70731263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/015526 WO2020101385A1 (ko) | 2018-11-14 | 2019-11-14 | 비디오 데이터를 처리하기 위한 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220014751A1 (ko) |
CN (1) | CN113170115A (ko) |
WO (1) | WO2020101385A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220337875A1 (en) * | 2021-04-16 | 2022-10-20 | Tencent America LLC | Low memory design for multiple reference line selection scheme |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140036998A1 (en) * | 2011-11-03 | 2014-02-06 | Matthias Narroschke | Quantization parameter for blocks coded in the pcm mode |
KR101519488B1 (ko) * | 2010-11-26 | 2015-05-12 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치, 영상 복호 장치, 영상 부호화 방법, 영상 복호 방법 및 기록 매체 |
US9706200B2 (en) * | 2012-06-18 | 2017-07-11 | Qualcomm Incorporated | Unification of signaling lossless coding mode and pulse code modulation (PCM) mode in video coding |
KR20180041575A (ko) * | 2016-10-14 | 2018-04-24 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
KR20180075660A (ko) * | 2015-11-24 | 2018-07-04 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2014CN02377A (ko) * | 2011-09-29 | 2015-06-19 | Sharp Kk | |
EP3148190A1 (en) * | 2015-09-25 | 2017-03-29 | Thomson Licensing | Method and apparatus for intra prediction in video encoding and decoding |
CN114363630B (zh) * | 2016-06-24 | 2024-06-14 | 株式会社Kt | 视频编码方法、视频解码方法以及装置 |
-
2019
- 2019-11-14 WO PCT/KR2019/015526 patent/WO2020101385A1/ko active Application Filing
- 2019-11-14 US US17/293,163 patent/US20220014751A1/en not_active Abandoned
- 2019-11-14 CN CN201980075336.5A patent/CN113170115A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101519488B1 (ko) * | 2010-11-26 | 2015-05-12 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치, 영상 복호 장치, 영상 부호화 방법, 영상 복호 방법 및 기록 매체 |
US20140036998A1 (en) * | 2011-11-03 | 2014-02-06 | Matthias Narroschke | Quantization parameter for blocks coded in the pcm mode |
US9706200B2 (en) * | 2012-06-18 | 2017-07-11 | Qualcomm Incorporated | Unification of signaling lossless coding mode and pulse code modulation (PCM) mode in video coding |
KR20180075660A (ko) * | 2015-11-24 | 2018-07-04 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
KR20180041575A (ko) * | 2016-10-14 | 2018-04-24 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN113170115A (zh) | 2021-07-23 |
US20220014751A1 (en) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020246849A1 (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
WO2020141889A1 (ko) | 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 | |
WO2020171632A1 (ko) | Mpm 리스트 기반 인트라 예측 방법 및 장치 | |
WO2020141954A1 (ko) | 비디오 데이터를 처리하기 위한 방법 및 장치 | |
WO2020149630A1 (ko) | 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치 | |
WO2021040400A1 (ko) | 팔레트 모드 기반 영상 또는 비디오 코딩 | |
WO2021034115A1 (ko) | 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치 | |
WO2019225933A1 (ko) | 영상 코딩 시스템에서 lut를 기반으로 도출된 mvd 를 사용하는 영상 디코딩 방법 및 그 장치 | |
WO2020071832A1 (ko) | 변환 계수 코딩 방법 및 그 장치 | |
WO2021040398A1 (ko) | 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩 | |
WO2021034116A1 (ko) | 크로마 양자화 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 | |
WO2019199093A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
WO2021091256A1 (ko) | 영상/비디오 코딩 방법 및 장치 | |
WO2021118261A1 (ko) | 영상 정보를 시그널링하는 방법 및 장치 | |
WO2021133060A1 (ko) | 서브픽처 기반 영상 코딩 장치 및 방법 | |
WO2021118265A1 (ko) | 적응적 루프 필터를 적용하는 비디오 또는 영상 코딩 | |
WO2021040402A1 (ko) | 팔레트 코딩 기반 영상 또는 비디오 코딩 | |
WO2021034161A1 (ko) | 인트라 예측 장치 및 방법 | |
WO2020130520A1 (ko) | 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 | |
WO2020185039A1 (ko) | 레지듀얼 코딩 방법 및 장치 | |
WO2020197031A1 (ko) | 영상 코딩 시스템에서 다중 참조 라인 기반의 인트라 예측 방법 및 장치 | |
WO2020101385A1 (ko) | 비디오 데이터를 처리하기 위한 방법 및 장치 | |
WO2021201463A1 (ko) | 인루프 필터링 기반 영상 코딩 장치 및 방법 | |
WO2021006651A1 (ko) | 디블록킹 필터링에 기반한 영상 코딩 방법 및 그 장치 | |
WO2021145725A1 (ko) | 필터링 관련 정보 시그널링 기반 영상 코딩 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19884437 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19884437 Country of ref document: EP Kind code of ref document: A1 |