WO2020141889A1 - 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 - Google Patents

화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 Download PDF

Info

Publication number
WO2020141889A1
WO2020141889A1 PCT/KR2020/000032 KR2020000032W WO2020141889A1 WO 2020141889 A1 WO2020141889 A1 WO 2020141889A1 KR 2020000032 W KR2020000032 W KR 2020000032W WO 2020141889 A1 WO2020141889 A1 WO 2020141889A1
Authority
WO
WIPO (PCT)
Prior art keywords
reference picture
entry
picture
picture list
list
Prior art date
Application number
PCT/KR2020/000032
Other languages
English (en)
French (fr)
Inventor
팔루리시탈
김승환
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN202311125432.0A priority Critical patent/CN117156127A/zh
Priority to KR1020237044631A priority patent/KR20240005992A/ko
Priority to CN202311127213.6A priority patent/CN117176944A/zh
Priority to AU2020205179A priority patent/AU2020205179B2/en
Priority to RU2021122470A priority patent/RU2769347C1/ru
Priority to BR112021013071-3A priority patent/BR112021013071B1/pt
Priority to KR1020207016707A priority patent/KR102398936B1/ko
Priority to KR1020237006561A priority patent/KR102619088B1/ko
Priority to CA3125551A priority patent/CA3125551C/en
Priority to KR1020227012225A priority patent/KR102504741B1/ko
Priority to JP2020544612A priority patent/JP7184911B2/ja
Priority to EP20735973.8A priority patent/EP3742733A4/en
Priority to MX2021007711A priority patent/MX2021007711A/es
Priority to CN202080002063.4A priority patent/CN111903134B/zh
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2020141889A1 publication Critical patent/WO2020141889A1/ko
Priority to US16/942,040 priority patent/US11044468B2/en
Priority to US17/306,212 priority patent/US11570429B2/en
Priority to AU2022252845A priority patent/AU2022252845B2/en
Priority to JP2022187225A priority patent/JP7482344B2/ja
Priority to US18/073,136 priority patent/US11805246B2/en
Priority to US18/224,481 priority patent/US12088794B2/en
Priority to JP2024045202A priority patent/JP2024073645A/ja
Priority to AU2024216455A priority patent/AU2024216455A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • An embodiment of the present specification relates to a method and apparatus for processing a video signal using inter prediction, and more particularly, to a method and apparatus for constructing a reference picture list for prediction of a current picture .
  • 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, it will bring a huge increase in terms of memory storage, memory access rate and processing power.
  • the video codec standard after the high efficiency video coding (HEVC) standard requires a prediction technique capable of generating prediction samples accurately while using resources more efficiently.
  • Embodiments of the present specification provide a method and apparatus for constructing a reference picture list required for prediction of a current picture.
  • embodiments of the present specification provide a method and apparatus for obtaining information necessary to construct a reference picture list.
  • the embodiments of the present specification provide a method and apparatus for defining the number of entries required for the construction of a reference picture list.
  • embodiments of the present disclosure provide a method and apparatus for reducing the amount of syntax elements required to construct a reference picture list.
  • an embodiment of the present disclosure provides a method and apparatus for counting the number of reference picture markings in the process of constructing a reference picture list.
  • Embodiments of the present specification provide a method and apparatus for decoding a video signal using inter prediction.
  • a method of processing a video signal includes constructing a reference picture list of a current picture in the video signal, and performing prediction on a current picture using the reference picture list In the configuring of the reference picture list, if a first entry of the reference picture list corresponds to a short-term reference picture (STRP) entry, a picture order count (POC) of a picture different from the picture associated with the first entry Obtaining a difference value (POC difference), and when the second entry in the reference picture list corresponds to a long-term reference picture (LTRP) entry, a POC modulo value of a picture associated with the second entry And obtaining.
  • STP short-term reference picture
  • LTRP long-term reference picture
  • the step of configuring the reference picture list includes: obtaining the number of entries in the reference picture list, and marking the reference picture in LTRP or STRP for each of the entries in the reference picture list by the number of entries. It may include the step of performing.
  • the number of entries may have a maximum value obtained by adding 14 to the maximum requested size of the decoded picture buffer.
  • the step of performing the reference picture marking includes: acquiring the number of STRP entries and the number of LTRP entries, performing STRP marking as many as the number of STRP entries, and LTRP marking as many as the number of LTRP entries It may include the step of performing.
  • constructing the reference picture list comprises: obtaining a first flag and determining whether an entry in the reference picture list corresponds to the STRP entry or the LTRP entry based on the first flag It may include the steps.
  • the POC difference value may be determined as an absolute value of the POC of the other picture minus the POC of the picture associated with the first entry.
  • constructing the reference picture list may include acquiring a second flag indicating a sign of the POC difference value when the absolute value is greater than zero.
  • An encoding method of a video signal includes: constructing a reference picture list of a current picture from the video signal, and performing prediction on a current picture using the reference picture list, and And coding information for constructing the reference picture list.
  • Information for configuring the reference picture list includes: a picture order count (POC) difference between a picture related to a short-term reference picture (STRP) entry and another picture in the reference picture list, and the reference picture list In the second entry, a POC modulo value of a picture associated with a long-term reference picture (LTRP) entry may be included.
  • POC picture order count
  • the information for constructing the reference picture list further includes the number of entries in the reference picture list, and the number of entries may have a maximum value obtained by adding 14 to the maximum requested size of the decoded picture buffer. .
  • the information for constructing the reference picture list may further include a first flag indicating whether an entry in the reference picture list corresponds to the STRP entry.
  • the information for constructing the reference picture list may further include a second flag indicating a sign of the POC difference value for an entry in which the POC difference value is greater than 0.
  • information for constructing the reference picture list may be included in a sequence parameter set (SPS), picture parameter set (PPS), or slice header in a bitstream associated with the video signal.
  • SPS sequence parameter set
  • PPS picture parameter set
  • slice header in a bitstream associated with the video signal.
  • An apparatus for decoding a video signal includes a memory storing the video signal and a processor coupled with the memory.
  • the processor is configured to construct a reference picture list of the current picture in the video signal, and perform prediction on the current picture using the reference picture list.
  • the processor obtains a POC difference value between a picture related to the first entry and a picture different from the picture associated with the first entry if the first entry of the reference picture list corresponds to an STRP entry. If the second entry in the picture list corresponds to the LTRP entry, it is set to obtain a value with the POC module of the picture associated with the second entry.
  • An apparatus for encoding a video signal includes a memory storing the video signal and a processor coupled with the memory.
  • the processor is configured to construct a reference picture list of a current picture in the video signal, perform prediction on a current picture using the reference picture list, and code information for constructing the reference picture list,
  • Information for configuring the reference picture list includes: a picture order count (POC) difference of a picture related to a short-term reference picture (STRP) entry from the reference picture list and a picture different from the picture order list, and the reference picture list.
  • the second entry includes a POC modulo value of a picture associated with a long-term reference picture (LTRP) entry.
  • POC picture order count
  • LTRP long-term reference picture
  • Another embodiment of the present specification provides a non-transitory computer-readable medium storing one or more instructions.
  • the one or more instructions executed by one or more processors, a video signal processing apparatus to construct a reference picture list of a current picture in a video signal, and perform prediction for the current picture using the reference picture list To control.
  • the one or more commands in order to construct the reference picture list, if the first entry of the reference picture list corresponds to a short-term reference picture (STRP) entry, different from the picture associated with the first entry If a picture order count (POC) difference value (POC difference) of a picture is obtained, and the second entry of the reference picture list corresponds to a long-term reference picture (LTRP) entry, the POC module of the picture associated with the second entry
  • the video signal processing device is controlled to obtain a modulo value.
  • a reference picture list necessary for prediction of the current picture may be configured through marking of the reference picture.
  • the syntax for constructing a reference picture list can be efficiently implemented by counting the number of reference picture markings.
  • FIG. 1 shows an example of a video coding system according to an embodiment of the present specification.
  • FIG. 2 shows a schematic block diagram of an encoding apparatus for encoding a video/image signal according to an embodiment of the present specification.
  • FIG. 3 is an embodiment of the present specification, and shows a schematic block diagram of a decoding apparatus for decoding a video signal.
  • FIG. 4 shows an example of a structural diagram of a content streaming system according to an embodiment of the present specification.
  • FIG. 5 shows an example of a block diagram of an apparatus for processing a video signal according to an embodiment of the present specification.
  • FIG. 6 is an example of block division structures of an image according to an embodiment of the present specification
  • FIG. 6A is a QuadTree (QT)
  • FIG. 6B is a Binary Tree (BT)
  • FIG. 6D shows an example of block division structures by an AT (Asymmetric Tree).
  • FIG. 7 and 8 illustrate a video/video encoding procedure based on inter prediction according to an embodiment of the present specification and an inter prediction unit in an encoding device.
  • FIGS. 9 and 10 illustrate a video/image decoding procedure based on inter prediction according to an embodiment of the present specification and an inter prediction unit in a decoding apparatus.
  • FIG. 11 shows an example of a flowchart for constructing a reference picture list according to an embodiment of the present specification.
  • FIG. 14 shows another example of a flowchart for marking a reference picture according to an embodiment of the present specification.
  • FIG. 15 shows an example of a flowchart for processing a video signal according to an embodiment of the present specification.
  • signals, data, samples, pictures, slices, tiles, frames, and blocks may be interpreted by appropriately replacing each coding process.
  • the'processing unit' refers to a unit in which encoding/decoding processing such as prediction, transformation, and/or quantization is performed.
  • the processing unit may be interpreted to include 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 color difference 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 square blocks, 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 using a pixel value, a pixel value, or a coefficient (a transform coefficient or a transform coefficient that has undergone first-order transformation).
  • 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 in which related data is generated.
  • 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/image 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 shows a schematic block diagram of an encoding apparatus for encoding a video/image signal according to an embodiment of the present specification.
  • the encoding apparatus 100 includes an image division 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 above-described image segmentation unit 110, subtraction unit 115, conversion unit 120, quantization unit 130, inverse quantization unit 140, inverse conversion unit 150, addition unit 155, filtering unit 160 ), 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 (for example, 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 division unit 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 the final coding unit based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units having a lower depth than optimal if necessary.
  • 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 luma 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.
  • the prediction unit may generate various pieces of information about prediction, such as prediction mode information, as described later in the description of each prediction mode, and transmit them 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 neighborhood 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 depending on 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 using a prediction mode applied to neighboring blocks.
  • the inter prediction unit 180 may derive the 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 called 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 the 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 the motion vector of the neighboring block as a motion vector predictor and signaling a motion vector difference. I can order.
  • the prediction signal generated by 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 transformation 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 means a transformation obtained from this graph when it is said that the relationship information between pixels is graphically represented.
  • CNT means a transform obtained by generating a prediction signal using all previously reconstructed pixels and based on it.
  • the transform 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 quantized transform coefficients may be referred to as residual information.
  • the quantization unit 130 may rearrange the 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) 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 it can be 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 generated. 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 information regarding filtering as described later in the description of each filtering method and transmit it 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 corrected reconstructed picture transmitted to the decoded picture buffer 170 may be used as a reference picture in the inter prediction unit 180.
  • 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 corrected 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 for decoding a video signal.
  • 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 decoded picture buffer 250 may be implemented by one hardware component (eg, a memory or digital storage medium) according to an embodiment.
  • 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 device 200 may be reproduced through the reproduction device.
  • 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 necessary for image reconstruction and a transform coefficient for residual.
  • the CABAC entropy decoding method receives bins corresponding to each syntax element in a bitstream, and decodes syntax information of the decoding target syntax element and surrounding and decoding target blocks, or symbols/bins decoded in the 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.
  • 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 may 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 quantized transform coefficients using a quantization parameter (eg, quantization step size information), and obtain a transform coefficient.
  • a quantization parameter eg, 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 coefficient.
  • 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 using a prediction mode applied to neighboring blocks.
  • the inter prediction unit 260 may derive the 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 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 on 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, prediction 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 shows an example of a structural diagram of a content streaming system according to an embodiment of the present specification.
  • 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 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, camera, and 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.
  • Streaming server 420 may receive content from media storage 440 and/or 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.
  • FIG. 5 shows an example of a block diagram of an apparatus for processing a video signal according to an embodiment of the present specification.
  • the video signal processing apparatus of FIG. 5 may correspond to the encoding apparatus 100 of FIG. 2 or the decoding apparatus 200 of FIG. 3.
  • the video signal processing apparatus 500 may include a memory 520 for storing a video signal, and a processor 510 for processing a video signal while being combined with the memory.
  • the processor 510 may be configured with at least one processing circuit for processing a video signal, and may process a video signal by executing instructions for encoding or decoding the video signal. That is, the processor 510 may encode the original video signal or decode the encoded video signal by executing the encoding or decoding methods described below.
  • the processor 510 may be composed of at least one processing circuit for processing an image signal, and may process an image signal by executing instructions for encoding or decoding the image signal. That is, the processor 510 may encode the original image data or decode the encoded image signal by executing the above-described encoding or decoding methods.
  • FIG. 6 is an example of block division structures of an image according to an embodiment of the present disclosure
  • FIG. 6A is a QuadTree (QT)
  • FIG. 6B is a Binary Tree (BT)
  • FIG. 6C is a TT (Ternary Tree, TT).
  • 6D shows an example of block division structures by an AT (Asymmetric Tree).
  • one block can be divided based on QT. Further, one subblock divided by QT may be further divided recursively using QT.
  • a leaf block that is no longer QT split may be split by at least one of BT, TT, or AT.
  • BT can have two types of splitting: horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N).
  • the TT may have two types of splitting: horizontal TT (2Nx1/2N, 2NxN, 2Nx1/2N) and vertical TT (1/2Nx2N, Nx2N, 1/2Nx2N).
  • AT is horizontal-up AT (2Nx1/2N, 2Nx3/2N), horizontal-down AT (2Nx3/2N, 2Nx1/2N), vertical-left AT (1/2Nx2N, 3/2Nx2N), vertical-right AT (3 /2Nx2N, 1/2Nx2N).
  • Each BT, TT, AT can be further divided recursively using BT, TT, AT.
  • Block A can be divided into four sub-blocks (A0, A1, A2, A3) by QT.
  • Sub-block A1 may be divided into four sub-blocks (B0, B1, B2, and B3) again by QT.
  • Block B3 which is no longer divided by QT, may be divided into vertical BT(C0, C1) or horizontal BT(D0, D1). As in the block C0, each sub-block may be further divided recursively in the form of horizontal BT(E0, E1) or vertical BT (F0, F1).
  • Block B3 which is no longer divided by QT, may be divided into vertical TT (C0, C1, C2) or horizontal TT (D0, D1, D2). As in block C1, each sub-block may be further recursively divided in the form of horizontal TT (E0, E1, E2) or vertical TT (F0, F1, F2).
  • Block B3 which is no longer divided by QT, may be divided into vertical AT (C0, C1) or horizontal AT (D0, D1). As in block C1, each sub-block may be further recursively divided in the form of horizontal AT (E0, E1) or vertical TT (F0, F1).
  • BT, TT, and AT divisions can be used together to divide.
  • a sub-block divided by BT can be divided by TT or AT.
  • the sub-block divided by TT can be divided by BT or AT.
  • the sub-block divided by AT can be divided by BT or TT.
  • each sub-block may be divided into vertical BT, or after vertical BT division, each sub-block may be divided into horizontal BT. In this case, the order of division is different, but the shape of the final division is the same.
  • the order in which blocks are searched can be variously defined.
  • a search is performed from left to right, from top to bottom, and searching for blocks means an order of determining whether to divide additional blocks of each divided sub-block, or when a block is no longer divided, each sub It may mean a coding order of blocks or a search order when sub-blocks refer to information of other neighboring blocks.
  • FIG. 7 and 8 illustrate a video/video encoding procedure based on inter prediction according to an embodiment of the present specification and an inter prediction unit in an encoding device.
  • the encoding apparatus 100 performs inter prediction on the current block (S710).
  • the encoding apparatus 100 may derive the inter prediction mode and motion information of the current block, and generate prediction samples of the current block.
  • the procedure for determining the inter prediction mode, deriving motion information, and generating prediction samples may be performed simultaneously, or one procedure may be performed before the other procedure.
  • the inter prediction unit 180 of the encoding apparatus 100 may include a prediction mode determination unit 181, a motion information derivation unit 182, and a prediction sample derivation unit 183, and the prediction mode determination unit
  • the prediction mode for the current block may be determined at 181, the motion information of the current block may be derived from the motion information derivation unit 182, and prediction samples of the current block may be derived by the prediction sample derivation unit 183.
  • the inter prediction unit 180 of the encoding apparatus 100 searches a block similar to the current block in a certain area (search area) of reference pictures through motion estimation, and It is possible to derive a reference block whose difference is less than or equal to a certain criterion.
  • a reference picture index indicating a reference picture in which the reference block is located may be derived, and a motion vector may be derived based on a position difference between the reference block and the current block.
  • the encoding apparatus 100 may determine a mode applied to the current block among various prediction modes.
  • the encoding apparatus 100 may compare the RD cost for various prediction modes and determine an optimal prediction mode for the current block.
  • the encoding apparatus 100 configures a merge candidate list, which will be described later, and the current block among the reference blocks indicated by the merge candidates included in the merge candidate list. It is possible to derive a reference block with a difference from a current block or a minimum or a predetermined criterion. In this case, a merge candidate associated with the derived reference block is selected, and merge index information indicating the selected merge candidate may be generated and signaled to the decoding apparatus 200. Motion information of a current block may be derived using motion information of a selected merge candidate.
  • the encoding apparatus 100 configures the (A)MVP candidate list, which will be described later, and (A) the motion vector predictor (MVP) candidates included in the MVP candidate list.
  • the motion vector of the selected MVP candidate can be used as the MVP of the current block.
  • a motion vector indicating a reference block derived by the above-described motion estimation may be used as the motion vector of the current block, and among the MVP candidates, a motion vector having the smallest difference from the motion vector of the current block may be used.
  • the MVP candidate to have may be the selected MVP candidate.
  • a motion vector difference (MVD) which is a difference obtained by subtracting MVP from the motion vector of the current block, may be derived.
  • information about the MVD may be signaled to the decoding device 200.
  • the value of the reference picture index may be configured and reference signal index information may be separately signaled to the decoding apparatus 200.
  • the encoding apparatus 100 may derive residual samples based on the predicted samples (S720 ).
  • the encoding apparatus 100 may derive residual samples through comparison of original samples and prediction samples of the current block.
  • the encoding apparatus 100 encodes video information including prediction information and residual information (S730).
  • the encoding apparatus 100 may output encoded image information in the form of a bitstream.
  • the prediction information is information related to a prediction procedure and may include prediction mode information (eg, skip flag, merge flag, or mode index) and motion information.
  • the motion information may include candidate selection information (eg, merge index, mvp flag, or mvp index) that is information for deriving a motion vector.
  • the motion information may include information on the MVD and/or reference picture index information.
  • the motion information may include information indicating whether L0 prediction, L1 prediction, or bi prediction is applied.
  • the residual information is information about residual samples.
  • the residual information may include information about quantized transform coefficients for residual samples.
  • the output bitstream may be stored in a (digital) storage medium and transmitted to a decoding device, or may be delivered to a decoding device through a network.
  • the encoding apparatus may generate a reconstructed picture (including reconstructed samples and reconstructed blocks) based on the reference samples and the residual samples. This is to derive the same prediction result as that performed by the decoding apparatus 200 in the encoding apparatus 100, because it is possible to increase coding efficiency. Accordingly, the encoding apparatus 100 may store the reconstructed picture (or reconstructed samples, reconstructed block) in a memory and use it as a reference picture for inter prediction. As described above, an in-loop filtering procedure may be further applied to the reconstructed picture.
  • FIGS. 9 and 10 illustrate a video/video decoding procedure based on inter prediction according to an embodiment of the present specification and an inter prediction unit in a decoding apparatus.
  • the decoding apparatus 200 may perform an operation corresponding to an operation performed in the encoding apparatus 100.
  • the decoding apparatus 200 may perform prediction on the current block and derive prediction samples based on the received prediction information.
  • the decoding apparatus 200 may determine a prediction mode for the current block based on the received prediction information (S910). The decoding apparatus 200 may determine which inter prediction mode is applied to the current block based on the prediction mode information in the prediction information.
  • the decoding apparatus 200 may determine whether merge mode is applied to the current block or (A)MVP mode is determined based on a merge flag. Alternatively, the decoding apparatus 200 may select one of various inter prediction mode candidates based on the mode index.
  • the inter prediction mode candidates may include skip mode, merge mode and/or (A)MVP mode, or various inter prediction modes described below.
  • the decoding apparatus 200 derives motion information of the current block based on the determined inter prediction mode (S920). For example, when the skip mode or the merge mode is applied to the current block, the decoding apparatus 200 may configure a merge candidate list, which will be described later, and select one of the merge candidates included in the merge candidate list. . The selection of the merge candidate may be performed based on a merge index. Motion information of a current block may be derived from motion information of a selected merge candidate. Motion information of the selected merge candidate may be used as motion information of the current block.
  • the decoding apparatus 200 configures the (A)MVP candidate list, which will be described later, and (A) the MVP candidate selected from among the MVP candidates included in the MVP candidate list.
  • the motion vector of can be used as the MVP of the current block.
  • the selection of the MVP may be performed based on the selection information (MVP flag or MVP index) described above.
  • the decoding apparatus 200 may derive the MVD of the current block based on information about the MVD, and may derive a motion vector of the current block based on the MVP and MVD of the current block.
  • the decoding apparatus 200 may derive a reference picture index of the current block based on the reference picture index information.
  • the picture indicated by the reference picture index in the reference picture list for the current block may be derived as a reference picture referenced for inter prediction of the current block.
  • motion information of the current block may be derived without configuring a candidate list, and in this case, motion information of the current block may be derived according to a procedure disclosed in a prediction mode, which will be described later.
  • the candidate list configuration as described above may be omitted.
  • the decoding apparatus 200 may generate prediction samples for the current block based on the motion information of the current block (S930). In this case, the decoding apparatus 200 may derive a reference picture based on the reference picture index of the current block, and derive predictive samples of the current block using samples of the reference block indicated by the motion vector of the current block on the reference picture. . In this case, as described later, a prediction sample filtering procedure for all or part of the prediction samples of the current block may be further performed depending on the case.
  • the inter prediction unit 260 of the decoding apparatus 200 may include a prediction mode determination unit 261, a motion information derivation unit 262, and a prediction sample derivation unit 263, and the prediction mode determination unit
  • the prediction mode for the current block is determined based on the prediction mode information received at 181, and the motion information (motion vector) of the current block based on the information on the motion information received from the motion information deriving unit 182. And/or a reference picture index), and predicted samples of the current block may be derived from the predicted sample deriving unit 183.
  • the decoding apparatus 200 generates residual samples for the current block based on the received residual information (S940).
  • the decoding apparatus 200 may generate reconstructed samples for the current block based on the predicted samples and residual samples, and generate a reconstructed picture based on the reconstructed samples. (S950). As described above, an in-loop filtering procedure may be further applied to the reconstructed picture.
  • the inter prediction procedure may include a step of determining an inter prediction mode, a step of deriving motion information according to the determined prediction mode, and performing a prediction (generating a predictive sample) based on the derived motion information.
  • inter prediction modes may be used for prediction of a current block in a picture.
  • various modes such as a merge mode, a skip mode, an MVP mode, and an affine mode may be used.
  • Decoder side motion vector refinement (DMVR) mode, adaptive motion vector resolution (AMVR) mode, and the like may be further used as ancillary modes.
  • the affine mode may also be called aaffine motion prediction mode.
  • the MVP mode may also be called AMVP (advanced motion vector prediction) mode.
  • Prediction mode information indicating the inter prediction mode of the current block may be signaled from the encoding device to the decoding device 200.
  • the prediction mode information may be included in the bitstream and received by the decoding apparatus 200.
  • the prediction mode information may include index information indicating one of a plurality of candidate modes.
  • the inter prediction mode may be indicated through hierarchical signaling of flag information.
  • the prediction mode information may include one or more flags.
  • the encoding apparatus 100 signals whether a skip mode is applied by signaling a skip flag, and indicates whether a merge mode is applied by signaling a merge flag when a skip mode is not applied, and when a merge mode is not applied. It may be indicated that the MVP mode is applied or may further signal a flag for additional classification.
  • the affine mode may be signaled as an independent mode, or may be signaled as a mode dependent on a merge mode or an MVP mode.
  • the affine mode may be configured as one candidate of the merge candidate list or the MVP candidate list, as described later.
  • the encoding apparatus 100 or the decoding apparatus 200 may perform inter prediction using motion information of a current block.
  • the encoding apparatus 100 may derive optimal motion information for the current block through a motion estimation procedure. For example, the encoding apparatus 100 may search for a similar reference block having high correlation within a predetermined search range in a reference picture by using a original block in the original picture for the current block in a fractional pixel unit, and through this, motion information Can be derived.
  • the similarity of the block can be derived based on the difference of phase-based sample values.
  • the similarity of a block may be calculated based on a sum of absolute difference (SAD) between a current block (or a template of the current block) and a reference block (or a template of a reference block).
  • SAD sum of absolute difference
  • motion information may be derived based on a reference block having the smallest SAD in the search area.
  • the derived motion information may be signaled to the decoding apparatus according to various methods based on the inter prediction mode.
  • the encoding apparatus 100 may indicate motion information of the current prediction block by transmitting flag information indicating that the merge mode is used and a merge index indicating which prediction blocks are used.
  • the encoding apparatus 100 must search a merge candidate block used to derive motion information of a current prediction block in order to perform a merge mode. For example, up to five merge candidate blocks may be used, but the present specification is not limited thereto. In addition, the maximum number of merge candidate blocks may be transmitted in the slice header, and the present specification is not limited thereto. After finding the merge candidate blocks, the encoding apparatus 100 may generate a merge candidate list, and may select a merge candidate block having the smallest cost as a final merge candidate block.
  • This specification provides various embodiments of a merge candidate block constituting a merge candidate list.
  • the merge candidate list may use 5 merge candidate blocks, for example. For example, four spatial merge candidates and one temporal merge candidate can be used.
  • High level syntax exists in the video coding system to control the overall sharing of common information.
  • HLS aims to manage frames in order to reduce the number of bits that memory usage is efficiently possible.
  • HLS uses a reference picture management system, which invokes a process referred to as reference picture marking. This process labels each frame according to usability for decoding the current frame.
  • the goal in designing and implementing HLS is to have a simple and effective means for identifying the pictures needed for decoding of the current picture.
  • a reference, picture list (RPL) management system is introduced, which is directly signaled and derived.
  • Two lists i.e., Reference Picture List0, Reference Picture List1 are used.
  • Information for deriving two reference picture lists is signaled as syntax elements in Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and slice headers.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • slice headers Two lists are created for all types of slices.
  • the I-slice does not use any information from the lists, whereas the P-slice only uses information from List0, and the B-slice uses information from all of the above lists.
  • Pictures are identified using picture order count (POC) numbers.
  • Each picture may be classified as "long-term-reference-picture (LTRP)” or “short-term-reference-picture (STRP)".
  • LTRP long-term-reference-picture
  • STRP short-term-reference-picture
  • FIG. 11 shows an example of a flowchart for constructing a reference picture list according to an embodiment of the present specification. The operations of FIG. 11 may be performed by the decoding device 200.
  • step S1105 the decoding apparatus 200 parses the total number of entries in the list. Then, for each entry, the picture is marked as LTRP or STRP through the reference picture marking process (S1120).
  • marking on a picture means an operation of adding or updating information (parameters) related to the picture.
  • the decoding apparatus 200 initializes the entry index i (S1110), and if the entry index i is less than or equal to the total number of entries (S1115), performs reference picture marking (S1120). Then, when the reference picture marking is completed, the decoding apparatus updates the entry index i (S1125).
  • the embodiment of the present invention proposes a new structure for improving the reference picture management system.
  • Table 1 is an example of syntax for constructing a reference picture list.
  • the present embodiment provides a possible structure for a reference picture control, where ref_pic_list_struct function receives the listIdx indicated by syntax elements & rpl1_same_as_rpl0_flag as a first input. That is, if the flag rpl1_same_as_rpl0_flag is true, it indicates that the lists are the same and one list (L0 or L1) can be inferred from the other (L1 or L0).
  • the second input (rplsIdx) of the ref_pic_list_struct function indicates the number of reference picture lists used in the coded video sequence specified in SPS.
  • num_ref_entries indicates the number of entries in the syntax structure ref_pic_list_struct(listIdx,rpIsIdx) . For each entry, if LRTP frames are used, a flag is parsed from the list to read whether the frame is treated as LTRP or STRP.
  • the entry is STRP and the first STRP entry in the syntax structure ref_pic_list_struct(listIdx,rpIsIdx) , indicates the absolute difference between the POC of the current picture and the POC of the picture referenced by the i-th entry, or the i-th entry If it is not the STRP entry or the first entry, it indicates the absolute difference between the POC of the picture referenced by the i-th entry and the POC of the picture indicated by the previous STRP.
  • the entry is a STRP, it is the first STRP entry in the ref_pic_list_struc(listIdx,rpIsIdx) syntax structure and it specifies the absolute difference in POC of the current picture and the picture referred to by the i-th entry or when the i-th entry is an STRP entry but not the first entry, then it specifies the absolute difference between the POC of the pictured referred to by the i-th entry and by the previous STRP).
  • abs_delta_poc for the i-th entry is greater than 0, a flag that marks the sign information of the STRP is signaled . However, if st_ref_pic_flag is 0, it indicates that the i-th entry is a long term reference picture.
  • LTRPs are signaled by the POC LSB (least significant bit).
  • the syntax elements related to Table 1 may be defined as follows.
  • num_ref_entries [listIdx][rplsIdx] represents the number of entries in the syntax structure ref_pic_list_struct(listIdx, rplsIdx).
  • the value of num_ref_entries[ listIdx ][ rplsIdx] may be a value between 0 and sps_max_dec_pic_buffering_minus1 + 14.
  • num_ref_pic_lists_in_sps[ 1] is inferred to be the same as the value of num_ref_pic_lists_in_sps[ 0 ].
  • each syntax element in ref_pic_list_struct( 1, rplsIdx) is inferred to be the same as the value of the corresponding syntax element in ref_pic_list_struct( 0, rplsIdx) for rplsIdx which can be a value between 0 and num_ref_pic_lists_in_sps[ 0]-1 do.
  • long_term_ref_pics_flag is 0, it indicates that LTRP is not used for inter prediction of a coded picture in a coded video sequence (CVS). If long_term_ref_pics_flag is 1, it indicates that LTRP is used for inter prediction of one or more coded pictures in CVS.
  • st_ref_pic_flag [listIdx ][ rplsIdx ][ i] 1, it indicates that the i-th entry in the syntax structure ref_pic_list_struct( listIdx, rplsIdx) is an STRP entry. If st_ref_pic_flag[ listIdx ][ rplsIdx ][ i] is 0, it indicates that the i-th entry in the syntax structure ref_pic_list_struct( listIdx, rplsIdx) is an LTRP entry. If not present, the value of st_ref_pic_flag[ listIdx ][ rplsIdx ][ i] is inferred to be 1.
  • abs_delta_poc_st [listIdx ][ rplsIdx ][ i] is the absolute difference between the current picture and the picture sequence count values of the picture referenced by the i-th entry, if the i-th entry is the first STRP in the syntax structure ref_pic_list_struct( listIdx, rplsIdx ).
  • the i-th entry is not the first STRP entry in the STRP entry or syntax structure ref_pic_list_struct( listIdx, rplsIdx ), the i-th entry and the picture order of the pictures indicated by the previous STRP in the syntax structure ref_pic_list_struct( listIdx, rplsIdx) It represents the absolute difference between count values.
  • abs_delta_poc_st[ listIdx ][ rplsIdx ][ i] has a value between 0 and 215-1.
  • strp_entry_sign_flag [listIdx ][ rplsIdx ][ i] 1, it indicates that the i-th entry in the syntax structure ref_pic_list_struct( listIdx, rplsIdx) has a value equal to or greater than 0. If strp_entry_sign_flag[ listIdx ][ rplsIdx ][ i] is 0, it indicates that the i-th entry in the syntax structure ref_pic_list_struct( listIdx, rplsIdx) has a value less than 0. If not present, the value of strp_entry_sign_flag[ i ][ j] is inferred to be 1.
  • poc_lsb_lt [listIdx][rplsIdx][i] represents the picture order count modulo MaxPicOrderCntLsb of the picture referenced by the i-th entry in the syntax structure ref_pic_list_struct(listIdx, rplsIdx).
  • the length of the syntax element poc_lsb_lt[ listIdx ][ rplsIdx ][ i] is log2_max_pic_order_cnt_lsb_minus4 + 4 bits.
  • the decoding apparatus 200 checks whether LTRP is used in the corresponding reference picture list entry through long_term_ref_pics_flag (S1205), and when LTRP is used (long_term_ref_pics_flag is 1), parses st_ref_pic_flag (S1210) ), it is checked whether st_ref_pic_flag is true (S1215). If st_ref_pic_flag is true (1) (that is, if the current entry corresponds to STRP), the decoding apparatus 200 parses abs_delta_poc_st. That is, when the current entry corresponds to the STRP entry, the decoding apparatus 200 obtains a POC difference value between a picture associated with the current entry and a previous picture.
  • step 1205 If in step 1205, long_term_ref_pics_flag is false, the decoding apparatus immediately parses abs_delta_poc_st. Thereafter, the decoding apparatus 200 checks whether abs_delta_poc_st is greater than 0 (S1225), and if abs_delta_poc_st is greater than 0, pars strp_entry_sign_flag (S1230).
  • step S1215 if st_ref_pic_flag is false (0), the decoding apparatus 200 parses poc_lsb_lt (S1235). That is, when the current entry corresponds to the LTRP entry, the decoding apparatus 200 acquires the POC modulo value of the picture associated with the current entry.
  • the POC modulo value of a picture is a value used to derive the POC value of a corresponding picture, and the POC value of a picture may be derived by combining it with a POC MSB (most significant bit).
  • the process of configuring the reference picture list described above may be represented by two blocks as shown in FIG. 13.
  • the operation of each block may be implemented by the same hardware or different hardware.
  • the decoding apparatus 200 may obtain a flag (long_term_ref_pic_flag) indicating whether the number of entries (num_ref_entries) and a long term reference picture is used (1310), and determine whether each entry is LTRP or STRP (1320).
  • num_ref_entries[listIdx][rpIsIdx] indicates the number of entries in ref_pic_list_struct(listIdx,rpIsIdx). It is confirmed that the value of num_ref_entries can have a value ranging from 0 to sps_max_dec_pic_buffering_minus1+14.
  • a limit on the range of num_ref_entries can be introduced to use fewer frames. The worst case scenario is one that requires 14 more frames than the value indicated by sps_max_dec_pic_buffering_minus1. This means that the decoded picture buffer must have enough memory to accommodate so many frames. Instead, for hierarchical groups of structres (GOPs), restrictions may be introduced in consideration of the temporalId of the layer.
  • sps_max_dec_pic_buffering_minus1 plus 1 represents the maximum requested size of a decoded picture buffer in CVS in units of picture storage buffers.
  • the value of sps_max_dec_pic_buffering_minus1 may have a value between 0 and MaxDpbSize-1, and MaxDpbSize may be separately defined.
  • the number of entries in the reference picture list may have a maximum value obtained by adding 14 to the maximum requested size of the decoded picture buffer. Further, according to the present embodiment (Embodiment 2), the number of entries in the reference picture list may have the maximum requested size of the decoded picture buffer as the maximum value.
  • a method of removing the syntax element long_term_ref_pics_flag from ref_pic_list_struct(listIdx,rpIsIdx) is proposed. If this syntax element (long_term_ref_pics_flag ) is 0, it indicates that LTRP is no longer used for inter prediction of any coded picture in CVS. If long_term_ref_pics_flag is 1, it indicates that LTRP is used for inter prediction of one or more coded filters in CVS. By removing the syntax element long_term_ref_pics_flag, it can be inferred that LTRP is basically used in CVS. This is useful because LTRPs are usually high reliability pictures in DPB.
  • FIG. 14 shows another example of a flowchart for marking a reference picture according to an embodiment of the present specification.
  • ref_pic_list_struct(listIdx,rpIsIdx) may be set in consideration of the case where LTRP and STRP are separately signaled. This can be expressed as Table 4 below.
  • the embodiment of the present specification provides a method of limiting num_strp_entries[listIdx][rpIsIdx] indicating the total number of STRPs used and num_ltrp_entries[listIdx][rpIsIdx] indicating the total number of LTRPs.
  • the number of STRP and LTRP is first parsed using LTRP according to long_term_ref_pics_flag. Then, for each entry, lt_ref_pic_flag is parsed, which indicates whether the picture is LTRP or not. If lt_ref_pic_flag is true, the counter for LTRP is incremented. Otherwise, the counter for STRP is incremented. Furthermore, if lt_ref_pic_flag is false, STRP is confirmed by parsing delta_poc_st and parsing its code information (if delta_poc_st is greater than 0). Otherwise, LTRP is confirmed by its LSB POC.
  • Table 4 below is an example of syntax for constructing a reference picture list according to the present embodiment.
  • num_strp_entries[ listIdx ][ rplsIdx] indicates the number of STRP entries in ref_pic_list_struct( listIdx, rplsIdx ).
  • num_ltrp_entries[ listIdx ][ rplsIdx] indicates the number of LTRP entries in ref_pic_list_struct( listIdx, rplsIdx ).
  • num_ltrp_entries[listIdx][rplsIdx] is 0, the value (lt_ref_pic_flag[listIdx][rplsIdx]) is inferred to be 0. Otherwise, it is inferred as 0 when numLtrps (number of LTRPs) is equal to num_ltrp_entries[listIdx][rplsIdx], and inferred as 0 when numStrps (number of STRPs) is equal to num_strp_entries[listIdx][rplsIdx].
  • the decoding apparatus 200 starts to construct a reference list (S1405), and parses the number (num_strp_entries) of STRP entries (S1410).
  • the decoding apparatus 200 checks whether LTRP is used (S1415), and if LTRP is used, parses the number (num_ltrp_entries) of LTRP (S1420).
  • the decoding apparatus 200 initializes the variables i, numLtrps, and numStrps to 0 (S1425), determines whether the variable i is equal to or less than the number of entries (num_ref_entires) (S1430), and i is the number of entries (num_ref_entires) If it is less than or equal to, a reference picture marking operation is performed (S1435), and i is updated (S1440).
  • FIG. 15 shows an example of a flowchart for processing a video signal according to an embodiment of the present specification. The operation of FIG. 15 may be performed by the decoding device 200.
  • the decoding apparatus 200 constructs a reference picture list of the current picture in the video signal.
  • the decoding apparatus 200 obtains a POC difference (eg, abs_delta_poc_st) of the picture associated with the first entry and the previous picture, and the reference picture
  • a POC modulo value eg, poc_lsb_lt
  • the decoding apparatus 200 acquires the number of entries (num_ref_entries) of the reference picture list and LTRP or STRP for each of the entries in the reference picture list by the number of entries Reference picture marking may be performed.
  • the number of entries may have the maximum required size of the decoded picture buffer plus 14 (sps_max_dec_pic_buffering_minus1 + 14) or the maximum requested size of the decoded picture buffer (sps_max_dec_pic_buffering_minus1) as a maximum value.
  • the decoding apparatus 200 acquires the number of STRP entries (eg, num_strp_entries) and the number of LTRP entries (eg, num_ltrp_entries) as shown in Table 4, and the STRP entries
  • the number of STRP markings can be performed, and the number of LTRP markings can be performed.
  • the decoding apparatus 200 may acquire a first flag and determine whether an entry in the reference picture list corresponds to an STRP entry or an LTRP entry based on the first flag. have. For example, the decoding apparatus 200 may determine whether the current entry is an STRP entry or an LTRP entry using a flag (eg, st_ref_pic_flag) indicating whether a picture associated with the current entry corresponds to STRP.
  • a flag eg, st_ref_pic_flag
  • the POC difference value represents the absolute value of the POC of the previous picture minus the POC of the picture associated with the first entry.
  • the decoding apparatus 200 may obtain a second flag (eg, strp_entry_sign_flag) indicating the sign of the POC difference value.
  • the decoding apparatus 200 performs prediction for the current picture using the reference picture list. For example, the decoding apparatus 200 may generate a predictive sample using a sample value indicated by a motion vector in a reference picture included in the first reference picture list L0 or the second reference picture list L1. have.
  • Embodiments of the present specification provide a method and apparatus for encoding information required to construct a reference picture list.
  • the encoding apparatus 100 may construct a reference picture list and perform prediction using a reference picture in the reference picture list.
  • the encoding apparatus 100 may code information for configuring a reference picture list for each entry, for each entry in the reference picture list.
  • the information for constructing the reference picture list includes a POC difference value (eg abs_delta_poc_st) of a picture corresponding to STRP and a previous picture, and a POC modulo value of a picture corresponding to LTRP (eg : poc_lsb_lt).
  • the encoding apparatus 100 may code by including a first flag (eg, st_ref_pic_flag) for indicating whether a picture of an entry in the reference picture list is STRP or LTRP in the information for constructing the reference picture list. Additionally, when the POC difference value (eg abs_delta_poc_st) is greater than 0, a second flag indicating the sign of the POC difference value (eg strp_entry_sign_flag) may be included.
  • Information for configuring the reference picture list may be signaled by being included in an SPS, PPS, or slice header.
  • the processing method to which the present specification is applied may be produced in the form of a computer-executable program, and may be stored in a computer-readable recording medium.
  • Multimedia data having a data structure according to the present specification may also be stored in a computer-readable recording medium.
  • the computer-readable recording medium includes all kinds of storage devices and distributed storage devices in which computer-readable data is stored.
  • the computer-readable recording medium includes, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk and optical. It may include a data storage device.
  • the computer-readable recording medium includes media implemented in the form of a carrier wave (for example, 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.
  • embodiments of the present specification may be implemented as a computer program product using program codes, and the program codes may be executed on a computer by the embodiments of the present specification.
  • the program code can be stored on a computer readable carrier.
  • the decoding device and encoding device to which the present specification is applied may be included in a digital device.
  • the term "digital device" includes all digital devices capable of performing at least one of transmission, reception, processing, and output, for example, 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 wired/wireless network to transmit and receive data. Convert it accordingly.
  • Digital devices include, for example, fixed devices such as network TV, HBBTV (Hybrid Broadcast Broadband TV), smart TV (Smart TV), IPTV (internet protocol television), PC (Personal Computer), and the like. , PDA (Personal Digital Assistant), smart phones (Smart Phone), tablet PCs (Tablet PC), notebooks, mobile devices (mobile devices or handheld devices).
  • HBBTV Hybrid Broadcast Broadband TV
  • Smart TV Smart TV
  • IPTV Internet protocol television
  • PC Personal Computer
  • PDA Personal Digital Assistant
  • smart phones Smart Phone
  • Tablett PC Tablett PC
  • notebooks mobile devices
  • mobile devices mobile devices or handheld devices.
  • a digital TV is illustrated in FIG. 31 and a mobile device in FIG. 30, which will be described later, for convenience.
  • 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.
  • Such a wired/wireless network 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), component, and S-Video.
  • USB Universal Serial Bus
  • CVBS Composite Video Banking Sync
  • component component
  • S-Video S-Video
  • Wi-Fi Direct can be formed by a communication standard for a wireless connection.
  • DVI Digital Visual Interface
  • HDMI High Definition Multimedia Interface
  • RGB High Definition Multimedia Interface
  • D-SUB and Bluetooth
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • UWB Ultra Wideband
  • ZigBee Digital Living Network Alliance
  • DLNA Wireless LAN
  • Wi-Fi Wireless broadband
  • Wibro World Interoperability for Microwave (Wimax) Access
  • HSDPA High Speed Downlink Packet Access
  • LTE Long Term Evolution
  • Wi-Fi Direct can be formed by a communication standard for a wireless connection.
  • 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 명세서의 실시예는 화면간 예측(inter prediction)을 사용하여 비디오 신호를 디코딩하기 위한 방법 및 장치를 제공한다. 본 명세서의 일 실시예에 따른 비디오 신호의 처리 방법은, 상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하는 단계와, 상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하는 단계를 포함하고, 상기 참조 픽처 리스트를 구성하는 단계는, 상기 참조 픽처 리스트의 제1 엔트리가 STRP(short-term reference picture) 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이값(POC difference)을 획득하는 단계와, 상기 참조 픽처 리스트의 제2 엔트리가 LTRP(long-term reference picture) 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 획득하는 단계를 포함한다. 단순하고 효과적으로 픽처의 식별을 위한 참조 픽처 리스트를 생성함으로써 압축 성능을 증가시키고 연산 시간을 감소시킬 수 있다.

Description

화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
본 명세서의 실시예는 화면간 예측(inter prediction)을 사용하여 비디오 신호를 처리하는 방법 및 장치에 관한 것으로서, 보다 구체적으로 현재 픽처의 예측을 위한 참조 픽처 리스트를 구성하기 위한 방법 및 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 영상 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다. 특히, HEVC(high efficiency video coding) 표준 이후의 비디오 코덱 표준은 보다 자원을 효율적으로 사용하면서 정확하게 예측 샘플을 생성할 수 있는 예측 기술을 요구한다.
본 명세서의 실시예는 현재 픽처의 예측을 위해 필요한 참조 픽처 리스트를 구성하기 위한 방법 및 장치를 제공한다.
또한, 본 명세서의 실시예는 참조 픽처 리스트를 구성하기 위하여 필요한 정보를 획득하기 위한 방법 및 장치를 제공한다.
또한, 본 명세서의 실시예는 참조 픽처 리스트의 구성을 위해 필요한 엔트리 개수를 정의하기 위한 방법 및 장치를 제공한다.
또한, 본 명세서의 실시예는 참조 픽처 리스트를 구성하기 위하여 필요한 신택스 엘레먼트(syntax element)의 양을 감소시키기 위한 방법 및 장치를 제공한다.
또한, 본 명세서의 실시예는 참조 픽처 리스트를 구성하는 과정에서 참조 픽처 마킹 횟수를 카운팅하기 위한 방법 및 장치를 제공한다.
본 명세서에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 실시예는 화면간 예측(inter prediction)을 사용하여 비디오 신호를 디코딩하기 위한 방법 및 장치를 제공한다. 본 명세서의 일 실시예에 따른 비디오 신호의 처리 방법은, 상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하는 단계와, 상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하는 단계를 포함하고, 상기 참조 픽처 리스트를 구성하는 단계는, 상기 참조 픽처 리스트의 제1 엔트리가 STRP(short-term reference picture) 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이값(POC difference)을 획득하는 단계와, 상기 참조 픽처 리스트의 제2 엔트리가 LTRP(long-term reference picture) 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 획득하는 단계를 포함한다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하는 단계는, 상기 참조 픽처 리스트의 엔트리 개수를 획득하는 단계와, 상기 엔트리 개수만큼 상기 참조 픽처 리스트의 엔트리들 각각에 대하여 LTRP 또는 STRP로 참조 픽처 마킹을 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 엔트리 개수는 복호 픽처 버퍼의 최대 요구 사이즈에서 14를 더한 값을 최대 값으로 가질 수 있다.
일 실시예에서, 상기 참조 픽처 마킹을 수행하는 단계는, STRP 엔트리들의 개수와 LTRP 엔트리들의 개수를 획득하는 단계와, 상기 STRP 엔트리들의 개수만큼 STRP 마킹을 수행하고, 상기 LTRP 엔트리들의 개수만큼 LTRP 마킹을 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하는 단계는, 제1 플래그를 획득하는 단계와, 상기 제1 플래그에 기반하여 상기 참조 픽처 리스트의 엔트리가 상기 STRP 엔트리 또는 LTRP 엔트리에 해당하는지 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 POC 차이 값은 상기 다른 픽처의 POC에서 상기 제1 엔트리와 관련된 픽처의 POC를 뺀 값의 절대 값으로 결정될 수 있다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하는 단계는, 상기 절대 값이 0보다 큰 경우, 상기 POC 차이 값의 부호(sign)를 지시하는 제2 플래그를 획득하는 단계를 포함할 수 있다.
본 명세서의 다른 실시예에 따른 비디오 신호의 인코딩 방법은, 상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하는 단계와, 상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하는 단계와, 상기 참조 픽처 리스트를 구성하기 위한 정보를 코딩하는 단계를 포함한다. 상기 참조 픽처 리스트를 구성하기 위한 정보는, 상기 참조 픽처 리스트에서 STRP(short-term reference picture) 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이 값(POC difference)과, 상기 참조 픽처 리스트에서 제2 엔트리가 LTRP(long-term reference picture) 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 포함할 수 있다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하기 위한 정보는 상기 참조 픽처 리스트의 엔트리 개수를 더 포함하고, 상기 엔트리 개수는 복호 픽처 버퍼의 최대 요구 사이즈에서 14를 더한 값을 최대 값으로 가질 수 있다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하기 위한 정보는 상기 참조 픽처 리스트의 엔트리가 상기 STRP 엔트리에 해당하는지 여부를 지시하는 제1 플래그를 더 포함할 수 있다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하기 위한 정보는 상기 POC 차이 값이 0보다 큰 엔트리에 대한 상기 POC 차이 값의 부호(sign)를 지시하는 제2 플래그를 더 포함할 수 있다.
일 실시예에서, 상기 참조 픽처 리스트를 구성하기 위한 정보는 상기 비디오 신호와 관련된 비트스트림에서 SPS(sequence parameter set), PPS(picture parameter set), 또는 슬라이스 헤더(slice header)에 포함될 수 있다.
본 명세서의 다른 실시예에 따른 비디오 신호의 디코딩 장치는, 상기 비디오 신호를 저장하는 메모리와, 상기 메모리와 결합되는 프로세서를 포함한다. 상기 프로세서는 상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하고, 상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하도록 설정된다. 또한, 상기 프로세서는, 상기 참조 픽처 리스트를 구성하기 위하여, 상기 참조 픽처 리스트의 제1 엔트리가 STRP 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC 차이값을 획득하고, 상기 참조 픽처 리스트의 제2 엔트리가 LTRP 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로 값을 획득하도록 설정된다.
본 명세서의 다른 실시예에 따른 비디오 신호의 인코딩 장치는, 상기 비디오 신호를 저장하는 메모리와, 상기 메모리와 결합되는 프로세서를 포함한다. 상기 프로세서는, 상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하고, 상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하고, 상기 참조 픽처 리스트를 구성하기 위한 정보를 코딩하도록 설정되고, 상기 참조 픽처 리스트를 구성하기 위한 정보는, 상기 참조 픽처 리스트에서 STRP(short-term reference picture) 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이 값(POC difference)과, 상기 참조 픽처 리스트에서 제2 엔트리가 LTRP(long-term reference picture) 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 포함하는 것을 특징으로 하는 장치.
본 명세서의 다른 실시예는 하나 또는 그 이상의 명령어들을 저장하는 비-일시적 컴퓨터-판독가능한 매체(non-transitory computer-readable medium)를 제공한다. 하나 또는 그 이상의 프로세서들에 의해 실행되는 상기 하나 또는 그 이상의 명령어들은, 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하고, 상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하도록 비디오 신호 처리 장치를 제어한다. 또한, 상기 하나 또는 그 이상의 명령어들은, 상기 참조 픽처 리스트를 구성하기 위하여, 상기 참조 픽처 리스트의 제1 엔트리가 STRP(short-term reference picture) 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이값(POC difference)을 획득하고, 상기 참조 픽처 리스트의 제2 엔트리가 LTRP(long-term reference picture) 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 획득하도록 상기 비디오 신호 처리 장치를 제어한다.
본 명세서의 실시예에 따르면, 참조 픽처의 마킹을 통하여 현재 픽처의 예측을 위해 필요한 참조 픽처 리스트를 구성할 수 있다.
또한, 본 명세서의 실시예에 따르면, 참조 픽처의 타입별로 적절한 정보를 획득할 수 있다.
또한, 본 명세서의 실시예에 따르면, 참조 픽처 리스트의 구성을 위해 필요한 엔트리 개수를 정의함으로써 픽처의 저장에 필요한 메모리를 효율적으로 관리할 수 있다.
또한, 본 명세서의 실시예에 따르면, 일부 신택스 엘레먼트의 파싱을 생략함으로써 참조 픽처 리스트를 구성하기 위하여 필요한 데이터 양을 감소시킬 수 있다.
또한, 본 명세서의 실시예에 따르면, 참조 픽처 마킹 횟수를 카운팅함으로써 참조 픽처 리스트를 구성하기 위한 신택스를 효율적으로 구현할 수 있다.
본 명세서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
도 1은 본 명세서의 실시예에 따른 비디오 코딩 시스템의 예를 도시한다.
도 2는 본 명세서의 실시예에 따른 비디오/이미지 신호의 인코딩을 위한 인코딩 장치의 개략적인 블록도를 나타낸다.
도 3은 본 명세서의 실시예로서, 영상 신호의 디코딩을 위한 디코딩 장치의 개략적인 블록도를 나타낸다.
도 4는 본 명세서의 실시예에 따른 컨텐츠 스트리밍 시스템의 구조도의 예를 도시한다.
도 5는 본 명세서의 실시예에 따른 비디오 신호를 처리하기 위한 장치의 블록도의 예를 도시한다.
도 6은 본 명세서의 실시예에 따른 영상의 블록 분할 구조들의 예로서, 도 6a는 QT(QuadTree, QT), 도 6b는 BT(Binary Tree, BT), 도 6c는 TT(Ternary Tree, TT) 도 6d는 AT(Asymmetric Tree, AT)에 의한 블록 분할 구조들의 예를 도시한다.
도 7 및 도 8은 본 명세서의 실시예에 따른 인터 예측에 기반한 비디오/영상 인코딩 절차 및 인코딩 장치 내 인터 예측부를 도시한다.
도 9 및 도 10은 본 명세서의 실시예에 따른 인터 예측에 기반한 비디오/영상 디코딩 절차 및 디코딩 장치 내 인터 예측부를 도시한다.
도 11은 본 명세서의 실시예에 따른 참조 픽처 리스트를 구성하기 위한 흐름도의 예를 도시한다.
도 12 및 도 13은 본 명세서의 실시예에 따른 참조 픽처 마킹을 위한 흐름도의 예를 도시한다.
도 14는 본 명세서의 실시예에 따른 참조 픽처 마킹을 위한 흐름도의 다른 예를 도시한다.
도 15는 본 명세서의 실시에 따른 비디오 신호를 처리하기 위한 흐름도의 예를 도시한다.
이하, 본 명세서에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 명세서의 예시적인 실시형태를 설명하고자 하는 것이며, 본 명세서가 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 명세서의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 명세서가 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 명세서의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
아울러, 본 명세서에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 명세서의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
이하의 설명에서 사용되는 특정 용어들은 본 명세서의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 명세서의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 신호, 데이터, 샘플, 픽처, 슬라이스, 타일, 프레임, 블록의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
이하 본 명세서에서 '처리 유닛'은 예측, 변환 및/또는 양자화 등과 같은 인코딩/디코딩의 처리 과정이 수행되는 단위를 의미한다. 또한, 처리 유닛은 휘도(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)는 영상 분할부(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)는 엔트로피 디코딩부(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, 데스크탑 컴퓨터, 디지털 사이니지를 포함할 수 있다.
컨텐츠 스트리밍 시스템 내 각 서버들은 분산 서버로 운영될 수 있으며, 이 경우 각 서버에서 수신하는 데이터는 분산 처리될 수 있다.
도 5는 본 명세서의 실시예에 따른 비디오 신호를 처리하기 위한 장치의 블록도의 예를 도시한다. 도 5의 비디오 신호 처리 장치는 도 2의 인코딩 장치(100) 또는 도 3의 디코딩 장치(200)에 해당할 수 있다.
본 명세서의 실시예에 따른 비디오 신호 처리 장치(500)는, 비디오 신호를 저장하는 메모리(520)와, 상기 메모리와 결합되면서 비디오 신호를 처리하는 프로세서(510)를 포함할 수 있다.
본 명세서의 실시예에 따른 프로세서(510)는 비디오 신호의 처리를 위한 적어도 하나의 프로세싱 회로로 구성될 수 있으며, 비디오 신호를 인코딩 또는 디코딩을 위한 명령어들을 실행함으로써 영상 신호를 처리할 수 있다. 즉, 프로세서(510)는 이하 설명되는 인코딩 또는 디코딩 방법들을 실행함으로써 원본 비디오 신호를 인코딩하거나 인코딩된 비디오 신호를 디코딩할 수 있다.
본 발명의 실시예에 따른 프로세서(510)는 영상 신호의 처리를 위한 적어도 하나의 프로세싱 회로로 구성될 수 있으며, 영상 신호를 인코딩 또는 디코딩을 위한 명령어들을 실행함으로써 영상 신호를 처리할 수 있다. 즉, 프로세서(510)는 상술한 인코딩 또는 디코딩 방법들을 실행함으로써 원본 영상 데이터를 인코딩하거나 인코딩된 영상 신호를 디코딩할 수 있다.
도 6은 본 명세서의 실시예에 따른 영상의 블록 분할 구조들의 예로서, 도 6a는 QT(QuadTree, QT), 도 6b는 BT(Binary Tree, BT), 도 6c는 TT(Ternary Tree, TT) 도 6d는 AT(Asymmetric Tree, AT)에 의한 블록 분할 구조들의 예를 도시한다.
비디오 코딩에서 하나의 블록은 QT 기반으로 분할될 수 있다. 또한, QT에 의해서 분할된 하나의 서브 블록(subblock)은 QT를 사용하여 재귀적으로 더 분할될 수 있다. 더 이상 QT 분할되지 않는 리프 블록(leaf block)은 BT, TT 또는 AT 중 적어도 하나의 방식에 의해서 분할될 수 있다. BT는 horizontal BT (2NxN, 2NxN)과 vertical BT (Nx2N, Nx2N)의 두 가지 형태의 분할을 가질 수 있다. TT는 horizontal TT (2Nx1/2N, 2NxN, 2Nx1/2N)와 vertical TT (1/2Nx2N, Nx2N, 1/2Nx2N)의 두 가지 형태의 분할을 가질 수 있다. AT는 horizontal-up AT (2Nx1/2N, 2Nx3/2N), horizontal-down AT (2Nx3/2N, 2Nx1/2N), vertical-left AT (1/2Nx2N, 3/2Nx2N), vertical-right AT (3/2Nx2N, 1/2Nx2N)의 네 가지 형태의 분할을 가질 수 있다. 각각의 BT, TT, AT는 BT, TT, AT를 사용하여 재귀적으로 더 분할될 수 있다.
도 6a는 QT 분할의 예를 보여준다. 블록 A는 QT에 의해서 4개의 서브 블록 (A0, A1, A2, A3)으로 분할될 수 있다. 서브 블록 A1은 다시 QT에 의해서 4개의 서브 블록 (B0, B1, B2, B3)로 분할될 수 있다.
도 6b는 BT 분할의 예를 보여준다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 vertical BT(C0, C1) 또는 horizontal BT(D0, D1)로 분할될 수 있다. 블록 C0와 같이 각각의 서브 블록은 horizontal BT(E0, E1) 또는 vertical BT (F0, F1)의 형태와 같이 재귀적으로 더 분할될 수 있다.
도 6c는 TT 분할의 예를 보여준다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 vertical TT (C0, C1, C2) 또는 horizontal TT (D0, D1, D2)으로 분할될 수 있다. 블록 C1와 같이 각각의 서브 블록은 horizontal TT (E0, E1, E2) 또는 vertical TT (F0, F1, F2)의 형태와 같이 재귀적으로 더 분할될 수 있다.
도 6d는 AT 분할의 예를 보여준다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 vertical AT (C0, C1) 또는 horizontal AT (D0, D1)으로 분할 될 수 있다. 블록 C1와 같이 각각의 서브 블록은 horizontal AT (E0, E1) 또는 vertical TT (F0, F1)의 형태와 같이 재귀적으로 더 분할 될 수 있다.
한편, BT, TT, AT 분할은 함께 사용하여 분할이 가능하다. 예를 들어, BT에 의해 분할된 서브 블록은 TT 또는 AT에 의한 분할이 가능하다. 또한, TT에 의해 분할된 서브 블록은 BT 또는 AT에 의한 분할이 가능하다. AT에 의해 분할된 서브 블록은 BT 또는 TT에 의한 분할이 가능하다. 예를 들어, horizontal BT 분할 이후, 각각의 서브 블록이 vertical BT로 분할될 수 있고, 또는 vertical BT 분할 이후, 각각의 서브 블록이 horizontal BT로 분할될 수도 있다. 이 경우 분할 순서는 다르지만 최종적으로 분할되는 모양은 동일하다.
또한, 블록이 분할되면 블록을 탐색하는 순서를 다양하게 정의할 수 있다. 일반적으로, 좌측에서 우측으로, 상단에서 하단으로 탐색을 수행하며, 블록을 탐색한다는 것은 각 분할된 서브 블록의 추가적인 블록 분할 여부를 결정하는 순서를 의미하거나, 블록이 더 이상 분할되지 않을 경우 각 서브 블록의 부호화 순서를 의미하거나, 또는 서브 블록에서 다른 이웃 블록의 정보를 참조할 때의 탐색 순서를 의미할 수 있다.
도 7 및 도 8은 본 명세서의 실시예에 따른 인터 예측에 기반한 비디오/영상 인코딩 절차 및 인코딩 장치 내 인터 예측부를 도시한다.
인코딩 장치(100)는 현재 블록에 대한 인터 예측을 수행한다(S710). 인코딩 장치(100)는 현재 블록의 인터 예측 모드 및 움직임 정보를 도출하고, 현재 블록의 예측 샘플들을 생성할 수 있다. 여기서 인터 예측 모드 결정, 움직임 정보 도출 및 예측 샘플들 생성 절차는 동시에 수행될 수도 있고, 어느 한 절차가 다른 절차보다 먼저 수행될 수도 있다. 예를 들어, 인코딩 장치(100)의 인터 예측부(180)는 예측 모드 결정부(181), 움직임 정보 도출부(182), 예측 샘플 도출부(183)를 포함할 수 있으며, 예측 모드 결정부(181)에서 현재 블록에 대한 예측 모드를 결정하고, 움직임 정보 도출부(182)에서 현재 블록의 움직임 정보를 도출하고, 예측 샘플 도출부(183)에서 현재 블록의 예측 샘플들을 도출할 수 있다. 예를 들어, 인코딩 장치(100)의 인터 예측부(180)는 움직임 추정(motion estimation)을 통하여 참조 픽처들의 일정 영역(서치 영역) 내에서 상기 현재 블록과 유사한 블록을 서치하고, 현재 블록과의 차이가 최소 또는 일정 기준 이하인 참조 블록을 도출할 수 있다. 이를 기반으로 상기 참조 블록이 위치하는 참조 픽처를 가리키는 참조 픽처 인덱스를 도출하고, 참조 블록과 현재 블록의 위치 차이를 기반으로 움직임 벡터를 도출할 수 있다. 인코딩 장치(100)는 다양한 예측 모드들 중 현재 블록에 대하여 적용되는 모드를 결정할 수 있다. 인코딩 장치(100)는 다양한 예측 모드들에 대한 RD 비용(cost)을 비교하고 현재 블록에 대한 최적의 예측 모드를 결정할 수 있다.
예를 들어, 인코딩 장치(100)는 현재 블록에 스킵 모드 또는 머지 모드가 적용되는 경우, 후술하는 머지 후보 리스트를 구성하고, 머지 후보 리스트에 포함된 머지 후보들이 가리키는 참조 블록들 중 현재 블록과 중 현재 블록과의 차이가 최소 또는 일정 기준 이하인 참조 블록을 도출할 수 있다. 이 경우 도출된 참조 블록과 연관된 머지 후보가 선택되며, 선택된 머지 후보를 가리키는 머지 인덱스 정보가 생성되어 디코딩 장치(200)로 시그널링될 수 있다. 선택된 머지 후보의 움직임 정보를 이용하여 현재 블록의 움직임 정보가 도출될 수 있다.
다른 예로, 인코딩 장치(100)는 현재 블록에 (A)MVP 모드가 적용되는 경우, 후술하는 (A)MVP 후보 리스트를 구성하고, (A)MVP 후보 리스트에 포함된 MVP(motion vector predictor) 후보들 중 선택된 MVP 후보의 움직임 벡터를 현재 블록의 MVP로 이용할 수 있다. 이 경우, 예를 들어, 상술한 움직임 추정에 의하여 도출된 참조 블록을 가리키는 움직임 벡터가 현재 블록의 움직임 벡터로 이용될 수 있으며, MVP 후보들 중 현재 블록의 움직임 벡터와의 차이가 가장 작은 움직임 벡터를 갖는 MVP 후보가 선택된 MVP 후보가 될 있다. 현재 블록의 움직임 벡터에서 MVP를 뺀 차분인 MVD(motion vector difference)가 도출될 수 있다. 이 경우 MVD에 관한 정보가 디코딩 장치(200)로 시그널링될 수 있다. 또한, (A)MVP 모드가 적용되는 경우, 참조 픽처 인덱스의 값은 참조 픽처 인덱스 정보 구성되어 별도로 디코딩 장치(200)로 시그널링될 수 있다.
인코딩 장치(100)는 예측 샘플들을 기반으로 레지듀얼 샘플들을 도출할 수 있다(S720). 인코딩 장치(100)는 현재 블록의 원본 샘플들과 예측 샘플들의 비교를 통하여 레지듀얼 샘플들을 도출할 수 있다.
인코딩 장치(100)는 예측 정보 및 레지듀얼 정보를 포함하는 영상 정보를 인코딩한다(S730). 인코딩 장치(100)는 인코딩된 영상 정보를 비트스트림 형태로 출력할 수 있다. 예측 정보는 예측 절차에 관련된 정보들로서 예측 모드 정보(예: skip flag, merge flag, 또는 mode index) 및 움직임 정보를 포함할 수 있다. 움직임 정보는 움직임 벡터를 도출하기 위한 정보인 후보 선택 정보(예: merge index, mvp flag, 또는 mvp index)를 포함할 수 있다. 또한 움직임 정보는 상술한 MVD에 관한 정보 및/또는 참조 픽처 인덱스 정보를 포함할 수 있다. 또한 움직임 정보는 L0 예측, L1 예측, 또는 쌍(bi) 예측이 적용되는지 여부를 나타내는 정보를 포함할 수 있다. 레지듀얼 정보는 레지듀얼 샘플들에 관한 정보이다. 레지듀얼 정보는 레지듀얼 샘플들에 대한 양자화된 변환 계수들에 관한 정보를 포함할 수 있다.
출력된 비트스트림은 (디지털) 저장매체에 저장되어 디코딩 장치로 전달될 수 있고, 또는 네트워크를 통하여 디코딩 장치로 전달될 수도 있다.
한편, 상술한 바와 같이 인코딩 장치는 상기 참조 샘플들 및 상기 레지듀얼 샘플들을 기반으로 복원 픽처(복원 샘플들 및 복원 블록 포함)를 생성할 수 있다. 이는 디코딩 장치(200)에서 수행되는 것과 동일한 예측 결과를 인코딩 장치(100)에서 도출하기 위함이며, 이를 통하여 코딩 효율을 높일 수 있기 때문이다. 따라서, 인코딩 장치(100)는 복원 픽처(또는 복원 샘플들, 복원 블록)을 메모리에 저장하고, 인터 예측을 위한 참조 픽처로 활용할 수 있다. 복원 픽처에 인루프 필터링 절차 등이 더 적용될 수 있음은 상술한 바와 같다.
도 9 및 도 10은 본 명세서의 실시예에 따른 인터 예측에 기반한 비디오/영상 디코딩 절차 및 디코딩 장치 내 인터 예측부를 도시한다.
디코딩 장치(200)는 인코딩 장치(100)에서 수행된 동작과 대응되는 동작을 수행할 수 있다. 디코딩 장치(200)는 수신된 예측 정보를 기반으로 현재 블록에 예측을 수행하고 예측 샘플들을 도출할 수 있다.
구체적으로 디코딩 장치(200)는 수신된 예측 정보를 기반으로 현재 블록에 대한 예측 모드를 결정할 수 있다(S910). 디코딩 장치(200)는 예측 정보 내의 예측 모드 정보를 기반으로 현재 블록에 어떤 인터 예측 모드가 적용되는지 결정할 수 있다.
예를 들어, 디코딩 장치(200)는 머지 플래그(merge flag)를 기반으로 현재 블록에 머지 모드가 적용되지 또는 (A)MVP 모드가 결정되는지 여부를 결정할 수 있다. 또는 디코딩 장치(200)는 모드 인덱스(mode index)를 기반으로 다양한 인터 예측 모드 후보들 중 하나를 선택할 수 있다. 인터 예측 모드 후보들은 스킵 모드, 머지 모드 및/또는 (A)MVP 모드를 포함할 수 있고, 또는 후술하는 다양한 인터 예측 모드들을 포함할 수 있다.
디코딩 장치(200)는 결정된 인터 예측 모드를 기반으로 현재 블록의 움직임 정보를 도출한다(S920). 예를 들어, 디코딩 장치(200)는 현재 블록에 스킵 모드 또는 머지 모드가 적용되는 경우, 후술하는 머지 후보 리스트를 구성하고, 머지 후보 리스트에 포함된 머지 후보들이 중 하나의 머지 후보를 선택할 수 있다. 머지 후보의 선택은 머지 인덱스(merge index)를 기반으로 수행될 수 있다. 선택된 머지 후보의 움직임 정보로부터 현재 블록의 움직임 정보가 도출할 수 있다. 선택된 머지 후보의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다.
다른 예로, 디코딩 장치(200)는, 현재 블록에 (A)MVP 모드가 적용되는 경우, 후술하는 (A)MVP 후보 리스트를 구성하고, (A)MVP 후보 리스트에 포함된 MVP 후보들 중 선택된 MVP 후보의 움직임 벡터를 현재 블록의 MVP로 이용할 수 있다. MVP의 선택은 상술한 선택 정보(MVP 플래그 또는 MVP 인덱스)를 기반으로 수행될 수 있다. 이 경우 디코딩 장치(200)는 MVD에 관한 정보를 기반으로 상기 현재 블록의 MVD를 도출할 수 있으며, 현재 블록의 MVP와 MVD를 기반으로 현재 블록의 움직임 벡터를 도출할 수 있다. 또한, 디코딩 장치(200)는 참조 픽처 인덱스 정보를 기반으로 현재 블록의 참조 픽처 인덱스를 도출할 수 있다. 현재 블록에 관한 참조 픽처 리스트 내에서 참조 픽처 인덱스가 가리키는 픽처가 현재 블록의 인터 예측을 위하여 참조되는 참조 픽처로 도출될 수 있다.
한편, 후술하는 바와 같이 후보 리스트 구성 없이 상기 현재 블록의 움직임 정보가 도출될 수 있으며, 이 경우 후술하는 예측 모드에서 개시된 절차에 따라 현재 블록의 움직임 정보가 도출될 수 있다. 이 경우 상술한 바와 같은 후보 리스트 구성은 생략될 수 있다.
디코딩 장치(200)는 현재 블록의 움직임 정보를 기반으로 현재 블록에 대한 예측 샘플들을 생성할 수 있다(S930). 이 경우 디코딩 장치(200)는 현재 블록의 참조 픽처 인덱스를 기반으로 참조 픽처를 도출하고, 현재 블록의 움직임 벡터가 참조 픽처 상에서 가리키는 참조 블록의 샘플들을 이용하여 현재 블록의 예측 샘플들을 도출할 수 있다. 이 경우 후술하는 바와 같이 경우에 따라 현재 블록의 예측 샘플들 중 전부 또는 일부에 대한 예측 샘플 필터링 절차가 더 수행될 수 있다.
예를 들어, 디코딩 장치(200)의 인터 예측부(260)는 예측 모드 결정부(261), 움직임 정보 도출부(262), 예측 샘플 도출부(263)를 포함할 수 있으며, 예측 모드 결정부(181)에서 수신된 예측 모드 정보를 기반으로 상기 현재 블록에 대한 예측 모드를 결정하고, 움직임 정보 도출부(182)에서 수신된 움직임 정보에 관한 정보를 기반으로 상기 현재 블록의 움직임 정보(움직임 벡터 및/또는 참조 픽처 인덱스 등)를 도출하고, 예측 샘플 도출부(183)에서 상기 현재 블록의 예측 샘플들을 도출할 수 있다.
디코딩 장치(200)는 수신된 레지듀얼 정보를 기반으로 상기 현재 블록에 대한 레지듀얼 샘플들을 생성한다(S940). 디코딩 장치(200)는 예측 샘플들 및 레지듀얼 샘플들을 기반으로 현재 블록에 대한 복원 샘플들을 생성하고, 이를 기반으로 복원 픽처를 생성할 수 있다. (S950). 이후 상기 복원 픽처에 인루프 필터링 절차 등이 더 적용될 수 있음은 상술한 바와 같다.
상술한 바와 같이 인터 예측 절차는 인터 예측 모드 결정 단계, 결정된 예측 모드에 따른 움직임 정보 도출 단계, 도출된 움직임 정보에 기반한 예측 수행(예측 샘플 생성) 단계를 포함할 수 있다.
픽처 내 현재 블록의 예측을 위하여 다양한 인터 예측 모드가 사용될 수 있다. 예를 들어, 머지 모드, 스킵 모드, MVP 모드, 어파인(Affine) 모드 등 다양한 모드가 사용될 수 있다. DMVR(decoder side motion vector refinement) 모드, AMVR(adaptive motion vector resolution) 모드 등이 부수적인 모드로 더 사용될 수 있다. 어파인 모드는 어파인 움직임 예측(affine motion prediction) 모드라고 불릴 수도 있다. MVP 모드는 AMVP(advanced motion vector prediction) 모드라고 불릴 수도 있다.
현재 블록의 인터 예측 모드를 가리키는 예측 모드 정보가 인코딩 장치로부터 디코딩 장치(200)로 시그널링될 수 있다. 예측 모드 정보는 비트스트림에 포함되어 디코딩 장치(200)에서 수신될 수 있다. 예측 모드 정보는 다수의 후보 모드들 중 하나를 지시하는 인덱스 정보를 포함할 수 있다. 또는, 플래그 정보의 계층적 시그널링을 통하여 인터 예측 모드를 지시할 수도 있다. 이 경우 예측 모드 정보는 하나 이상의 플래그들을 포함할 수 있다. 예를 들어, 인코딩 장치(100)는 스킵 플래그를 시그널링하여 스킵 모드 적용 여부를 지시하고, 스킵 모드가 적용 안되는 경우에 머지 플래그를 시그널링하여 머지 모드 적용 여부를 지시하고, 머지 모드가 적용 안되는 경우에 MVP 모드 적용되는 것으로 지시하거나 추가적인 구분을 위한 플래그를 더 시그널링할 수도 있다. 어파인 모드는 독립적인 모드로 시그널링될 수도 있고, 또는 머지 모드 또는 MVP 모드 등에 종속적인 모드로 시그널링될 수도 있다. 예를 들어, 어파인 모드는 후술하는 바와 같이 머지 후보 리스트 또는 MVP 후보 리스트의 하나의 후보로 구성될 수도 있다.
인코딩 장치(100) 또는 디코딩 장치(200)는 현재 블록의 움직임 정보를 이용하여 인터 예측을 수행할 수 있다. 인코딩 장치(100)는 움직임 추정(motion estimation) 절차를 통하여 현재 블록에 대한 최적의 움직임 정보를 도출할 수 있다. 예를 들어, 인코딩 장치(100)는 현재 블록에 대한 원본 픽처 내 원본 블록을 이용하여 상관성이 높은 유사한 참조 블록을 참조 픽처 내의 정해진 탐색 범위 내에서 분수 픽셀 단위로 탐색할 수 있고, 이를 통하여 움직임 정보를 도출할 수 있다. 블록의 유사성은 위상(phase) 기반 샘플 값들의 차를 기반으로 도출될 수 있다. 예를 들어, 블록의 유사성은 현재 블록(또는 현재 블록의 템플릿)과 참조 블록(또는 참조 블록의 템플릿) 간 SAD(sum of absolute difference)를 기반으로 계산될 수 있다. 이 경우 탐색 영역 내 SAD가 가장 작은 참조 블록을 기반으로 움직임 정보를 도출할 수 있다. 도출된 움직임 정보는 인터 예측 모드 기반으로 여러 방법에 따라 디코딩 장치로 시그널링될 수 있다.
머지 모드(merge mode)가 적용되는 경우, 현재 예측 블록의 움직임 정보가 직접적으로 전송되지 않고, 주변 예측 블록의 움직임 정보를 이용하여 현재 예측 블록의 움직임 정보를 유도하게 된다. 따라서, 인코딩 장치(100)는 머지 모드를 이용하였음을 알려주는 플래그 정보 및 주변의 어떤 예측 블록을 이용하였는지를 알려주는 머지 인덱스를 전송함으로써 현재 예측 블록의 움직임 정보를 지시할 수 있다.
인코딩 장치(100)는 머지 모드를 수행하기 위해서 현재 예측 블록의 움직임 정보를 유도하기 위해 이용되는 머지 후보 블록(merge candidate block)을 서치하여야 한다. 예를 들어, 머지 후보 블록은 최대 5개까지 이용될 수 있으나, 본 명세서는 이에 한정되지 않는다. 그리고, 머지 후보 블록의 최대 개수는 슬라이스 헤더에서 전송될 수 있으며, 본 명세서는 이에 한정되지 않는다. 머지 후보 블록들을 찾은 후, 인코딩 장치(100)는 머지 후보 리스트를 생성할 수 있고, 이들 중 가장 작은 비용을 갖는 머지 후보 블록을 최종 머지 후보 블록으로 선택할 수 있다.
본 명세서는 머지 후보 리스트를 구성하는 머지 후보 블록에 대한 다양한 실시예를 제공한다.
머지 후보 리스트는 예를 들어 5개의 머지 후보 블록을 이용할 수 있다. 예를 들어, 4개의 공간적 머지 후보(spatial merge candidate)와 1개의 시간적 머지 후보(temporal merge candidate)를 이용할 수 있다.
이하, 상술한 인터 예측을 위하여 참조 픽처 리스트를 구성하기 위한 방법에 대하여 설명한다.
HLS(high level syntax)는 공통의 정보(common information)의 전반적인 공유를 제어하기 위하여 비디오 코딩 시스템에 존재한다. HLS는 메모리 사용이 효율적으로 가능한 비트수를 감소시키기 위해 프레임들을 관리하기 위한 것을 목적으로 한다. HLS는 참조 픽처 관리 시스템을 사용하며, 이는 참조 픽처 마킹(reference picture marking)으로 지칭되는 프로세스를 호출(invoke)한다. 본 프로세스는 현재 프레임의 디코딩을 위한 유용성(usability)에 따라 각 프레임을 레이블링(labeling)한다. HLS를 설계하고 구현함에 있어 목표는 현재 픽처의 디코딩을 위해 필요한 픽처들의 식별을 위해 단순하고 효과적인 수단을 갖는 것이다.
실시예 1
본 실시예에서, 참조 픽처 리스트(reference, picture list, RPL) 관리 시스템을 소개하며, 이는 직접적으로 시그널링되고 도출된다. 2개의 리스트들(즉, Reference Picture List0, Reference Picture List1)이 사용된다. 2개의 참조 픽처 리스트들을 도출하기 위한 정보는 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), 및 슬라이스 헤더들(slice headers)에서 신택스 엘레먼트(syntax element)들로서 시그널링된다. 2개의 리스트들은 모든 타입의 슬라이스들에 대해 생성된다. 그러나, I-슬라이스는 상기 리스트들로부터 어느 정보도 사용하지 않으며, 반면 P-슬라이스는 오직 List0으로부터의 정보만을 사용하고, B-슬라이스는 상기 리스트들 모두로부터 정보를 사용한다. 픽처들은 POC(picture order count) 넘버들을 사용하여 식별된다. 각 픽처는 "LTRP(long-term-reference-picture)" 또는 "STRP(short-term-reference-picture)"로 분류될 수 있다. LTRP 또는 STRP로 분류된 픽처들은 활성 픽처(active picture)이고 디코딩 중에 사용될 수 있음을 상징하며, 비활성 픽처(inactive picture)들은 디코딩 프로세스 중 사용되지 않는 것들이다.
도 11은 본 명세서의 실시예에 따른 참조 픽처 리스트를 구성하기 위한 흐름도의 예를 도시한다. 도 11의 동작들은 디코딩 장치(200)에 의해 수행될 수 있다.
도 11은 참조 픽처 리스트 구성 프로세스의 전반을 나타낸다. 먼저, S1105 단계에서, 디코딩 장치(200)는 리스트에서 엔트리들의 전체 개수를 파싱한다. 이후 각각의 엔트리들에 대하여, 픽처가 참조 픽처 마킹 프로세스(S1120)를 통해 LTRP 또는 STRP로서 마크된다. 본 문서에서, 픽처에 대한 마킹은, 픽처와 관련된 정보(파라미터)를 추가하거나 업데이트하는 동작을 의미한다. 구체적으로, 디코딩 장치(200)는 엔트리 인덱스(i)를 초기화하고(S1110), 엔트리 인덱스(i)가 전체 엔트리 개수보다 작거나 같은 경우(S1115), 참조 픽처 마킹을 수행한다(S1120). 그리고, 디코딩 장치는 참조 픽처 마킹이 완료되면 엔트리 인덱스(i)를 업데이트한다(S1125). 본 발명의 실시예는 참조 픽처 관리 시스템을 개선하기 위한 새로운 구조를 제안한다.
도 12 및 도 13은 본 명세서의 실시예에 따른 참조 픽처 마킹을 위한 흐름도의 예를 도시한다.
Figure PCTKR2020000032-appb-img-000001
표 1은 참조 픽처 리스트를 구성하기 위한 신택스의 예이다. 여기서, 본 실시예는 참조 픽처 관리를 위한 가능한 구조를 제공하며, 여기서 ref_pic_list_struct 함수는 신택스 엘레먼트 rpl1_same_as_rpl0_flag에 의해 지시되는 listIdx를 제1 입력으로 받는다. 즉, 만약 플래그(rpl1_same_as_rpl0_flag)가 참(true)이면, 이는 리스트들은 동일하며 하나의 리스트(L0 또는 L1)는 다른 하나(L1 또는 L0)로부터 유추될 수 있음을 나타낸다. ref_pic_list_struct 함수의 제2 입력(rplsIdx)은 SPS에서 명시되는 코딩된 비디오 시퀀스에서 사용되는 참조 픽처 리스트들의 개수를 나타낸다. num_ref_entries는 신택스 구조 ref_pic_list_struct(listIdx,rpIsIdx)에서 엔트리들의 개수를 나타낸다. 각 엔트리들에 대하여, LRTP 프레임들이 사용되면, 플래그가 리스트에서 프레임이 LTRP 또는 STRP로 취급되는지 여부를 판독하기 위하여 파싱된다. 엔트리가 STRP이고 신택스 구조 ref_pic_list_struct(listIdx,rpIsIdx)에서 첫번째 STRP 엔트리이면, 현재 픽처의 POC와 i 번째 엔트리에 의해 참조되는 픽처의 POC의 절대차(absolute difference)를 나타낸며, 또는, i번째 엔트리가 STRP 인트리이나 첫번재 엔트리가 아니면, i번째 엔트리에 의해 참조되는 픽처의 POC와 이전 STRP에 의해 지시되는 픽처의 POC 사이의 절대차를 나타낸다. (If the entry is a STRP, it is the first STRP entry in the ref_pic_list_struc(listIdx,rpIsIdx) syntax structure and it specifies the absolute difference in POC of the current picture and the picture referred to by the i-th entry or when the i-th entry is an STRP entry but not the first entry, then it specifies the absolute difference between the POC of the pictured referred to by the i-th entry and by the previous STRP). i 번째 엔트리에 대한 abs_delta_poc가 0보다 크면, STRP의 부호 정보를 마크하는 플래그가 시그널된다. 그러나, 만약 st_ref_pic_flag가 0이면, i 번째 엔트리가 롱 텀 참조 픽처(long term reference picture)임을 나타낸다. LTRP들은 POC LSB(least significant bit)에 의해 시그널된다.
표 1과 관련된 신택스 엘레먼트들은 아래와 같이 정의될 수 있다.
num_ref_entries[ listIdx ][ rplsIdx ]는 ref_pic_list_struct( listIdx, rplsIdx ) 신택스 구조에서 엔트리들의 개수를 나타낸다. num_ref_entries[ listIdx ][ rplsIdx ]의 값은 0 에서 sps_max_dec_pic_buffering_minus1 + 14 사이의 값이 될 수 있다.
rpl1_same_as_rpl0_flag가 1이면 신택스 구조들 num_ref_pic_lists_in_sps[ 1 ]와 ref_pic_list_struct( 1, rplsIdx )가 존재하지 않으며 아래가 적용된다.
- num_ref_pic_lists_in_sps[ 1 ]의 값은 num_ref_pic_lists_in_sps[ 0 ]의 값과 동일한 것으로 유추된다.
- ref_pic_list_struct( 1, rplsIdx )에서 각각의 신택스 엘레먼트들의 값은 0 에서 num_ref_pic_lists_in_sps[ 0 ] - 1 사이의 값이 될 수 있는 rplsIdx에 대한 ref_pic_list_struct( 0, rplsIdx )에서의 해당 신택스 엘레먼트의 값과 동일한 것으로 유추된다.
long_term_ref_pics_flag가 0이면 LTRP가 CVS(coded video sequence)에서 어느 코딩된 픽처의 인터 예측을 위하여 사용되지 않음을 나타낸다. long_term_ref_pics_flag가 1이면 LTRP가 CVS에서 하나 또는 그 이상의 코딩된 픽처의 인터 예측을 위해 LTRP가 사용됨을 나타낸다.
st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ]가 1이면 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 i 번째 엔트리가 STRP 엔트리임을 나타낸다. st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ]가 0이면 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 i 번째 엔트리가 LTRP 엔트리임을 나타낸다. 존재하지 않으면, st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ]의 값은 1로 유추된다.
abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ]는, i 번째 엔트리가 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 첫번째 STRP이면, 현재 픽처와 i 번째 엔트리에 의해 참조되는 픽처의 픽처 순서 카운트 값들 사이의 절대차를 나타내거나, 또는, i 번째 엔트리가 STRP 엔트리이나 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 첫번째 STRP 엔트리가 아니면, i 번째 엔트리와 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 이전 STRP에 의해 지시되는 픽처들의 픽처 순서 카운트 값들 사이의 절대차를 나타낸다.
abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ]의 값은 0에서 215 - 1 사이의 값을 갖는다.
strp_entry_sign_flag[ listIdx ][ rplsIdx ][ i ]가 1이면 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 i 번째 엔트리가 0 보다 크거나 같은 값을 가짐을 나타낸다. strp_entry_sign_flag[ listIdx ][ rplsIdx ][ i ]가 0이면 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 i 번째 엔트리가 0 보다 작은 값을 가짐을 나타낸다. 존재하지 않으면, strp_entry_sign_flag[ i ][ j ]의 값은 1로 유추된다.
poc_lsb_lt[ listIdx ][ rplsIdx ][ i ]는 신택스 구조 ref_pic_list_struct( listIdx, rplsIdx )에서 i 번째 엔트리에 의해 참조되는 픽처의 픽처 순서 카운트 모듈로(modulo) MaxPicOrderCntLsb를 나타낸다. 신택스 엘레먼트 poc_lsb_lt[ listIdx ][ rplsIdx ][ i ]의 길이는 log2_max_pic_order_cnt_lsb_minus4 + 4 bits이다.
상술한 신택스 엘레먼트의 설명은 아래의 표 2와 같이 정리될 수 있다.
Figure PCTKR2020000032-appb-img-000002
도 12를 참조하면, 디코딩 장치(200)는 해당 참조 픽처 리스트 엔트리에서 LTRP가 사용되는지 여부를 long_term_ref_pics_flag를 통해 확인하고(S1205), LTRP가 사용되면(long_term_ref_pics_flag가 1이면), st_ref_pic_flag를 파싱하고(S1210), st_ref_pic_flag가 참(true)인지 여부를 확인한다(S1215). st_ref_pic_flag가 참(true)(1)이면(즉, 현재 엔트리가 STRP에 해당하면), 디코딩 장치(200)는 abs_delta_poc_st를 파싱한다. 즉, 현재 엔트리가 STRP 엔트리에 해당하면, 디코딩 장치(200)는 현재 엔트리와 관련된 픽처와 이전 픽처의 POC 차이 값을 획득한다.
만약 1205 단계에서, long_term_ref_pics_flag가 거짓(false)이면, 디코딩 장치는 곧바로 abs_delta_poc_st를 파싱한다. 이후, 디코딩 장치(200)는 abs_delta_poc_st가 0 보다 큰 지 여부를 확인하고(S1225), abs_delta_poc_st가 0 보다 크면 strp_entry_sign_flag를 파싱한다(S1230).
S1215 단계에서, st_ref_pic_flag가 거짓(false)(0)이면, 디코딩 장치(200)는 poc_lsb_lt를 파싱한다(S1235). 즉, 현재 엔트리가 LTRP 엔트리에 해당하면, 디코딩 장치(200)는 현재 엔트리와 관련된 픽처의 POC modulo 값을 획득한다. 픽처의 POC modulo 값은 해당 픽처의 POC 값을 도출하기 위해 사용되는 값으로서, POC MSB(most significant bit)와 조합되어 픽처의 POC 값이 유도될 수 있다.
상술한 참조 픽처 리스트의 구성 과정은 도 13과 같이 2개의 블록들로 표현될 수 있다. 각 블록들의 동작은 동일한 하드웨어 또는 서로 다른 하드웨어에 의해 구현될 수 있다. 디코딩 장치(200)는 엔트리들의 개수(num_ref_entries)와 롱 텀 참조 픽처가 사용되는지 여부를 나타내는 플래그(long_term_ref_pic_flag)를 획득하고(1310), 각 엔트리 마다 LTRP 또는 STRP인지 여부를 결정할 수 있다(1320).
실시예 2
본 실시예에서, 표 1에서 설명된 파라미터 num_ref_entries를 제한할 것을 제안한다. 통상적으로, num_ref_entries[listIdx][rpIsIdx] 는 ref_pic_list_struct(listIdx,rpIsIdx)에서 엔트리들의 개수를 나타낸다. num_ref_entries의 값이 0에서 sps_max_dec_pic_buffering_minus1+14 까지의 범위의 값을 가질 수 있음이 확인된다. 더 적은 프레임들이 사용되기 위하여 num_ref_entries의 범위에 대한 제한이 도입될 수 있다. 최악의 시나리오(worst case scenario)는 sps_max_dec_pic_buffering_minus1에 의해 지시되는 값 보다 14 프레임이 더 많은 경우를 요구하는 것이다. 이는 그렇게 많은 프레임들을 수용하기 위하여 복호 픽처 버퍼가 충분한 메모리를 가질 수 있어야 함을 의미한다. 대신, 계층적 픽처 그룹들(hierarchical groups of structres (GOP)s)에 대하여, 레이어의 temporalId(시간적 ID)를 고려하여 제한이 도입될 수 있다.
추가적인 신택스가 표 3과 같이 정의될 수 있다. sps_max_dec_pic_buffering_minus1 더하기 1은 픽처 저장 버퍼들의 단위로 CVS에 한 복호 픽처 버퍼의 최대 요구 사이즈를 나타낸다. sps_max_dec_pic_buffering_minus1의 값은 0에서 MaxDpbSize - 1 사이의 값을 가질 수 있으며, MaxDpbSize는 별도로 정의될 수 있다.
Figure PCTKR2020000032-appb-img-000003
즉, 참조 픽처 리스트의 엔트리 개수는 복호 픽처 버퍼의 최대 요구 사이즈에서 14를 더한 값을 최대 값으로 가질 수 있다. 또한, 본 실시예(실시예 2)에 따르면, 참조 픽처 리스트의 엔트리 개수는 복호 픽처 버퍼의 최대 요구 사이즈를 최대 값으로 가질 수 있다.
실시예 3
본 실시예에서, 신택스 엘레먼트 long_term_ref_pics_flagref_pic_list_struct(listIdx,rpIsIdx)에서 제거하는 방법이 제안된다. 본 신택스 엘레먼트(long_term_ref_pics_flag )가 0이면 더 이상 LTRP가 CVS에서의 어느 코딩된 픽처의 인터 예측을 위해 사용되지 않음을 나타낸다. long_term_ref_pics_flag가 1이면 LTRP가 CVS에서 하나 또는 그 이상의 코딩된 필터들의 인터 예측을 위해 사용됨을 나타낸다. 신택스 엘레먼트 long_term_ref_pics_flag를 제거함으로써, LTRP가 기본적으로 CVS에서 사용됨이 유추될 수 있다. 이는 LTRP들이 보통 DPB에서 높은 신뢰도 픽처들이기 때문에 유용하다.
실시예 4
도 14는 본 명세서의 실시예에 따른 참조 픽처 마킹을 위한 흐름도의 다른 예를 도시한다.
ref_pic_list_struct(listIdx,rpIsIdx) 에 대한 다른 실시예가 제공된다. 특히, ref_pic_list_struct(listIdx,rpIsIdx)는 LTRP와 STRP가 별도로 시그널링 되는 경우를 고려하여 설정될 수 있다. 이는 아래의 표 4와 같이 표현될 수 있다. 여기서, 본 명세서의 실시예는 사용되는 STRP들의 총 개수를 나타내는 num_strp_entries[listIdx][rpIsIdx]와, LTRP의 총 개수를 나타내는 num_ltrp_entries[listIdx][rpIsIdx] 를 제한하는 방법을 제공한다.
도 14는 LTRP와 STRP의 개수가 별도로 시그널링되는 제안 구조의 개요를 나타낸다. 여기서, STRP와 LTRP의 개수는 long_term_ref_pics_flag에 따른 LTRP를 사용하여 먼저 파싱된다. 이후, 각 엔트리에 대하여, lt_ref_pic_flag 가 파싱되며, 이는 픽처가 LTRP인지 아닌지를 지시한다. lt_ref_pic_flag가 참(true)이면, LTRP에 대한 카운터가 증가한다. 그렇지 않으면, STRP에 대한 카운터가 증가한다. 나아가, lt_ref_pic_flag가 거짓(false)이면, STRP는 delta_poc_st의 파싱과 그 부호 정보(delta_poc_st가 0 보다 큰 경우)를 파싱함으로써 STRP가 확인된다. 그렇지 않으면, LTRP가 그 LSB POC에 의해 확인된다.
아래의 표 4는 본 실시예에 따른 참조 픽처 리스트 구성을 위한 신택스의 예이다.
Figure PCTKR2020000032-appb-img-000004
num_strp_entries[ listIdx ][ rplsIdx ]는 ref_pic_list_struct( listIdx, rplsIdx )에서 STRP 엔트리들의 개수를 나타낸다.
num_ltrp_entries[ listIdx ][ rplsIdx ]는 ref_pic_list_struct( listIdx, rplsIdx )에서 LTRP 엔트리들의 개수를 나타낸다.
lt_ref_pic_flag[ listIdx ][ rplsIdx ]가 존재하지 않으면, lt_ref_pic_flag[ listIdx ][ rplsIdx ]의 값은 아래와 같이 유추된다.
num_ltrp_entries[ listIdx ][ rplsIdx ]가 0이면, 그 값(lt_ref_pic_flag[ listIdx ][ rplsIdx ])은 0으로 유추된다. 그렇지 않으면, numLtrps(LTRP의 개수)가 num_ltrp_entries[ listIdx ][ rplsIdx ]와 같을 때 0으로 유추되고, numStrps(STRP의 개수)가 num_strp_entries[ listIdx ][ rplsIdx ]와 같을 때 0으로 유추된다.
Figure PCTKR2020000032-appb-img-000005
도 14를 참조하면, 디코딩 장치(200)는 참조 리스트 구성을 개시하고(S1405), STRP 엔트리의 개수(num_strp_entries)를 파싱한다(S1410). 디코딩 장치(200)는 LTRP가 사용되는 지 여부를 확인하고(S1415), LTRP가 사용되면 LTRP의 개수(num_ltrp_entries)를 파싱한다(S1420). 디코딩 장치(200)는, 변수 i, numLtrps, numStrps를 0으로 초기화하고(S1425), 변수 i가 엔트리 개수(num_ref_entires)보다 같거나 작은지 여부를 결정하고(S1430), i가 엔트리 개수(num_ref_entires)보다 같거나 작으면 참조 픽처 마킹 동작을 수행하고(S1435), i를 업데이트한다(S1440).
도 15는 본 명세서의 실시에 따른 비디오 신호를 처리하기 위한 흐름도의 예를 도시한다. 도 15의 동작은 디코딩 장치(200)에 의해 수행될 수 있다.
S1510 단계에서, 디코딩 장치(200)는 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성한다. 여기서, 디코딩 장치(200)는 참조 픽처 리스트의 제1 엔트리가 STRP 엔트리에 해당하면, 제1 엔트리와 관련된 픽처와 이전 픽처의 POC 차이 값(POC difference)(예: abs_delta_poc_st)을 획득하고, 참조 픽처 리스트의 제2 엔트리가 LTRP 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값(예: poc_lsb_lt)을 획득한다.
일 실시예에서, 참조 픽처 리스트를 구성하는 과정에서, 디코딩 장치(200)는 상기 참조 픽처 리스트의 엔트리 개수(num_ref_entries)를 획득하고, 엔트리 개수만큼 참조 픽처 리스트의 엔트리들 각각에 대하여 LTRP 또는 STRP로 참조 픽처 마킹을 수행할 수 있다.
일 실시예에서, 엔트리 개수는 복호 픽처 버퍼의 최대 요구 사이즈에서 14를 더한 값(sps_max_dec_pic_buffering_minus1 + 14) 또는 복호 픽처 버퍼의 최대 요구 사이즈(sps_max_dec_pic_buffering_minus1)를 최대 값으로 가질 수 있다.
일 실시예에서, 참조 픽처 마킹을 수행하는 과정에서, 디코딩 장치(200)는 표 4와 같이 STRP 엔트리들의 개수(예: num_strp_entries)와 LTRP 엔트리들의 개수(예: num_ltrp_entries)를 획득하고, STRP 엔트리들의 개수만큼 STRP 마킹을 수행하고, LTRP 엔트리들의 개수만큼 LTRP 마킹을 수행할 수 있다.
일 실시예에서, 참조 픽처 리스트를 구성 과정에서, 디코딩 장치(200)는 제1 플래그를 획득하고, 제1 플래그에 기반하여 참조 픽처 리스트의 엔트리가 STRP 엔트리 또는 LTRP 엔트리에 해당하는지 여부를 결정할 수 있다. 예를 들어, 디코딩 장치(200)는 현재 엔트리와 관련된 픽처가 STRP에 해당하는지 여부를 지시하는 플래그(예: st_ref_pic_flag)를 사용하여, 현재 엔트리가 STRP 엔트리인지 또는 LTRP 엔트리인지 여부를 결정할 수 있다.
일 실시예에서, POC 차이 값은 이전 픽처의 POC에서 상기 제1 엔트리와 관련된 픽처의 POC를 뺀 값의 절대 값을 나타낸다. 또한, 절대 값(POC 절대차)(예: abs_delta_poc_st)이 0보다 큰 경우, 디코딩 장치(200)는 POC 차이 값의 부호(sign)를 지시하는 제2 플래그(예: strp_entry_sign_flag)를 획득할 수 있다.
S1520 단계에서, 디코딩 장치(200)는 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행한다. 예를 들어, 디코딩 장치(200)는 제1 참조 픽처 리스트(L0) 또는 제2 참조 픽처 리스트(L1)에 포함된 참조 픽처에서 움직임 벡터에 의해 지시되는 샘플 값을 사용하여 예측 샘플을 생성할 수 있다.
본 명세서의 실시예는 참조 픽처 리스트를 구성하기 위하여 필요한 정보를 인코딩하기 위한 방법 및 장치를 제공한다. 인코딩 장치(100)는 참조 픽처 리스트를 구성하고, 참조 픽처 리스트의 참조 픽처를 사용하여 예측을 수행할 수 있다.
또한, 인코딩 장치(100)는 참조 픽처 리스트의 각 엔트리에 대하여, 각 엔트리 별로 참조 픽처 리스트를 구성하기 위한 정보를 코딩할 수 있다. 예를 들어, 참조 픽처 리스트를 구성하기 위한 정보는, STRP에 해당하는 픽처와 이전 픽처의 POC 차이 값(예: abs_delta_poc_st)을 포함하고, LTRP에 해당하는 픽처의 POC 모듈로(modulo) 값(예: poc_lsb_lt)을 포함한다.
또한, 인코딩 장치(100)는 참조 픽처 리스트내 엔트리의 픽처가 STRP 인지 LTRP인지 여부를 지시하기 위한 제1 플래그(예: st_ref_pic_flag)를 참조 픽처 리스트를 구성하기 위한 정보에 포함시켜 코딩할 수 있다. 추가적으로, POC 차이 값(예: abs_delta_poc_st)이 0보다 큰 경우, POC 차이 값의 부호(sign)를 지시하는 제2 플래그(예: strp_entry_sign_flag)를 포함할 수 있다. 참조 픽처 리스트를 구성하기 위한 정보는, SPS, PPS, 또는 슬라이스 헤더에 포함되어 시그널링될 수 있다.
본 명세서가 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 명세서에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치 및 분산 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
또한, 본 명세서의 실시예는 프로그램 코드에 의한 컴퓨터 프로그램 제품으로 구현될 수 있고, 상기 프로그램 코드는 본 명세서의 실시예에 의해 컴퓨터에서 수행될 수 있다. 상기 프로그램 코드는 컴퓨터에 의해 판독가능한 캐리어 상에 저장될 수 있다.
본 명세서가 적용되는 디코딩 장치 및 인코딩 장치는 디지털 기기(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)를 모두 포함한다. 본 명세서에서는 편의상 후술하는 도 31에서는 디지털 TV를, 도 30에서는 모바일 기기를 디지털 기기의 실시예로 도시하고 설명한다.
한편, 본 명세서에서 기술되는 "유/무선 네트워크"라 함은, 디지털 기기들 또는 디지털 기기와 외부 서버 사이에서 상호 연결 또는/및 데이터 송수신을 위해 다양한 통신 규격 내지 프로토콜을 지원하는 통신 네트워크를 통칭한다. 이러한 유/무선 네트워크는 규격에 의해 현재 또는 향후 지원될 통신 네트워크와 그를 위한 통신 프로토콜을 모두 포함할 수 있는바 예컨대, 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 Wideband), 지그비(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)와 같은 무선 연결을 위한 통신 규격에 의하여 형성될 수 있다.
이상에서 설명된 실시예들은 본 명세서의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 명세서의 실시예를 구성하는 것도 가능하다. 본 명세서의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 명세서의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.
본 명세서는 본 명세서의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 화면간 예측을 사용하여 비디오 신호를 디코딩하기 위한 방법으로서,
    상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하는 단계; 및
    상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하는 단계를 포함하고,
    상기 참조 픽처 리스트를 구성하는 단계는,
    상기 참조 픽처 리스트의 제1 엔트리가 STRP(short-term reference picture) 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이 값(POC difference)을 획득하는 단계; 및
    상기 참조 픽처 리스트의 제2 엔트리가 LTRP(long-term reference picture) 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 획득하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 참조 픽처 리스트를 구성하는 단계는,
    상기 참조 픽처 리스트의 엔트리 개수를 획득하는 단계; 및
    상기 엔트리 개수만큼 상기 참조 픽처 리스트의 엔트리들 각각에 대하여 LTRP 또는 STRP로 참조 픽처 마킹을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 엔트리 개수는,
    복호 픽처 버퍼의 최대 요구 사이즈에서 14를 더한 값을 최대 값으로 갖는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 참조 픽처 마킹을 수행하는 단계는,
    STRP 엔트리들의 개수와 LTRP 엔트리들의 개수를 획득하는 단계; 및
    상기 STRP 엔트리들의 개수만큼 STRP 마킹을 수행하고, 상기 LTRP 엔트리들의 개수만큼 LTRP 마킹을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 참조 픽처 리스트를 구성하는 단계는,
    제1 플래그를 획득하는 단계; 및
    상기 제1 플래그에 기반하여 상기 참조 픽처 리스트의 엔트리가 상기 STRP 엔트리 또는 LTRP 엔트리에 해당하는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 POC 차이 값은,
    상기 다른 픽처의 POC에서 상기 제1 엔트리와 관련된 픽처의 POC를 뺀 값의 절대 값인 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 참조 픽처 리스트를 구성하는 단계는,
    상기 절대 값이 0보다 큰 경우, 상기 POC 차이 값의 부호(sign)를 지시하는 제2 플래그를 획득하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 화면간 예측을 사용하여 비디오 신호를 인코딩하기 위한 방법으로서,
    상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하는 단계;
    상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하는 단계; 및
    상기 참조 픽처 리스트를 구성하기 위한 정보를 코딩하는 단계를 포함하고,
    상기 참조 픽처 리스트를 구성하기 위한 정보는,
    상기 참조 픽처 리스트에서 STRP(short-term reference picture) 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이 값(POC difference)과, 상기 참조 픽처 리스트에서 제2 엔트리가 LTRP(long-term reference picture) 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 참조 픽처 리스트를 구성하기 위한 정보는,
    상기 참조 픽처 리스트의 엔트리 개수를 더 포함하고,
    상기 엔트리 개수는,
    복호 픽처 버퍼의 최대 요구 사이즈에서 14를 더한 값을 최대 값으로 갖는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 참조 픽처 리스트를 구성하기 위한 정보는,
    상기 참조 픽처 리스트의 엔트리가 상기 STRP 엔트리에 해당하는지 여부를 지시하는 제1 플래그를 더 포함하는 것을 특징으로 하는 방법.
  11. 제8항에 있어서,
    상기 참조 픽처 리스트를 구성하기 위한 정보는,
    상기 POC 차이 값이 0보다 큰 엔트리에 대한 상기 POC 차이 값의 부호(sign)를 지시하는 제2 플래그를 더 포함하는 것을 특징으로 하는 방법.
  12. 제8항에 있어서,
    상기 참조 픽처 리스트를 구성하기 위한 정보는,
    상기 비디오 신호와 관련된 비트스트림에서 SPS(sequence parameter set), PPS(picture parameter set), 또는 슬라이스 헤더(slice header)에 포함되는 것을 특징으로 하는 방법.
  13. 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 장치로서,
    상기 비디오 신호를 저장하는 메모리; 및
    상기 메모리와 결합되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하고,
    상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하도록 설정되고,
    상기 프로세서는, 상기 참조 픽처 리스트를 구성하기 위하여,
    상기 참조 픽처 리스트의 제1 엔트리가 STRP(short-term reference picture) 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이값(POC difference)을 획득하고,
    상기 참조 픽처 리스트의 제2 엔트리가 LTRP(long-term reference picture) 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 획득하도록 설정되는 것을 특징으로 하는 장치.
  14. 화면간 예측을 사용하여 비디오 신호를 인코딩하기 위한 장치로서,
    상기 비디오 신호를 저장하는 메모리; 및
    상기 메모리와 결합되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하고,
    상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하고,
    상기 참조 픽처 리스트를 구성하기 위한 정보를 코딩하도록 설정되고,
    상기 참조 픽처 리스트를 구성하기 위한 정보는,
    상기 참조 픽처 리스트에서 STRP(short-term reference picture) 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이 값(POC difference)과, 상기 참조 픽처 리스트에서 제2 엔트리가 LTRP(long-term reference picture) 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 포함하는 것을 특징으로 하는 장치.
  15. 하나 또는 그 이상의 명령어들을 저장하는 비-일시적 컴퓨터-판독가능한 매체(non-transitory computer-readable medium)로서, 하나 또는 그 이상의 프로세서들에 의해 실행되는 상기 하나 또는 그 이상의 명령어들은,
    비디오 신호에서 현재 픽처의 참조 픽처 리스트를 구성하고,
    상기 참조 픽처 리스트를 사용하여 현재 픽처에 대한 예측을 수행하도록 비디오 신호 처리 장치를 제어하고,
    상기 하나 또는 그 이상의 명령어들은, 상기 참조 픽처 리스트를 구성하기 위하여,
    상기 참조 픽처 리스트의 제1 엔트리가 STRP(short-term reference picture) 엔트리에 해당하면, 상기 제1 엔트리와 관련된 픽처와 다른 픽처의 POC(picture order count) 차이값(POC difference)을 획득하고,
    상기 참조 픽처 리스트의 제2 엔트리가 LTRP(long-term reference picture) 엔트리에 해당하면, 상기 제2 엔트리와 관련된 픽처의 POC 모듈로(modulo) 값을 획득하도록 상기 비디오 신호 처리 장치를 제어하는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능한 매체.
PCT/KR2020/000032 2019-01-02 2020-01-02 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 WO2020141889A1 (ko)

Priority Applications (22)

Application Number Priority Date Filing Date Title
JP2020544612A JP7184911B2 (ja) 2019-01-02 2020-01-02 画面間予測を使用してビデオ信号を処理するための方法及び装置
CN202311127213.6A CN117176944A (zh) 2019-01-02 2020-01-02 对视频信号进行编解码的方法以及计算机可读介质
AU2020205179A AU2020205179B2 (en) 2019-01-02 2020-01-02 Method and device for processing video signal by using inter prediction
RU2021122470A RU2769347C1 (ru) 2019-01-02 2020-01-02 Способ и устройство для обработки видеосигнала посредством использования внешнего прогнозирования
BR112021013071-3A BR112021013071B1 (pt) 2019-01-02 2020-01-02 Métodos e aparelho para decodificar e codificar um sinal de vídeo por um dispositivo e meio legível por computador não transitório
KR1020207016707A KR102398936B1 (ko) 2019-01-02 2020-01-02 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
KR1020237006561A KR102619088B1 (ko) 2019-01-02 2020-01-02 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
CA3125551A CA3125551C (en) 2019-01-02 2020-01-02 Method and device for processing video signal by using inter prediction
KR1020237044631A KR20240005992A (ko) 2019-01-02 2020-01-02 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
EP20735973.8A EP3742733A4 (en) 2019-01-02 2020-01-02 METHOD AND DEVICE FOR PROCESSING VIDEO SIGNAL USING INTER-PREDICTION
KR1020227012225A KR102504741B1 (ko) 2019-01-02 2020-01-02 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN202311125432.0A CN117156127A (zh) 2019-01-02 2020-01-02 对视频信号进行编解码的方法和设备以及计算机可读介质
CN202080002063.4A CN111903134B (zh) 2019-01-02 2020-01-02 通过使用帧间预测来处理视频信号的方法和装置
MX2021007711A MX2021007711A (es) 2019-01-02 2020-01-02 Metodo y dispositivo para procesar se?al de video usando inter prediccion.
US16/942,040 US11044468B2 (en) 2019-01-02 2020-07-29 Method and device for processing video signal by using inter prediction
US17/306,212 US11570429B2 (en) 2019-01-02 2021-05-03 Method and device for processing video signal by using inter prediction
AU2022252845A AU2022252845B2 (en) 2019-01-02 2022-10-14 Method and device for processing video signal by using inter prediction
JP2022187225A JP7482344B2 (ja) 2019-01-02 2022-11-24 画面間予測を使用してビデオ信号を処理するための方法及び装置
US18/073,136 US11805246B2 (en) 2019-01-02 2022-12-01 Method and device for processing video signal by using inter prediction
US18/224,481 US12088794B2 (en) 2019-01-02 2023-07-20 Method and device for processing video signal by using inter prediction
JP2024045202A JP2024073645A (ja) 2019-01-02 2024-03-21 画面間予測を使用してビデオ信号を処理するための方法及び装置
AU2024216455A AU2024216455A1 (en) 2019-01-02 2024-08-30 Method and device for processing video signal by using inter prediction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962787384P 2019-01-02 2019-01-02
US62/787,384 2019-01-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/942,040 Continuation US11044468B2 (en) 2019-01-02 2020-07-29 Method and device for processing video signal by using inter prediction

Publications (1)

Publication Number Publication Date
WO2020141889A1 true WO2020141889A1 (ko) 2020-07-09

Family

ID=71406751

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/000032 WO2020141889A1 (ko) 2019-01-02 2020-01-02 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치

Country Status (11)

Country Link
US (4) US11044468B2 (ko)
EP (1) EP3742733A4 (ko)
JP (3) JP7184911B2 (ko)
KR (4) KR20240005992A (ko)
CN (3) CN111903134B (ko)
AU (3) AU2020205179B2 (ko)
BR (1) BR112021013071B1 (ko)
CA (2) CA3219866A1 (ko)
MX (1) MX2021007711A (ko)
RU (1) RU2769347C1 (ko)
WO (1) WO2020141889A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240032173A (ko) * 2018-09-12 2024-03-08 후아웨이 테크놀러지 컴퍼니 리미티드 참조 화상 목록 구조에 대한 후보 시그널링
EP3854099A4 (en) * 2018-09-21 2022-06-29 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
RU2769347C1 (ru) * 2019-01-02 2022-03-30 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала посредством использования внешнего прогнозирования
US12022106B2 (en) * 2021-09-17 2024-06-25 Tencent America LLC Joint motion vector difference coding
WO2023056357A1 (en) * 2021-09-29 2023-04-06 Bytedance Inc. Method, device, and medium for video processing
WO2024010372A1 (ko) * 2022-07-05 2024-01-11 엘지전자 주식회사 Amvpmerge 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024010370A1 (ko) * 2022-07-05 2024-01-11 엘지전자 주식회사 양방향 인터 예측에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140140406A1 (en) * 2012-11-16 2014-05-22 General Instrument Corporation Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
KR20140077892A (ko) * 2011-09-22 2014-06-24 엘지전자 주식회사 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
KR20140085492A (ko) * 2011-11-07 2014-07-07 마이크로소프트 코포레이션 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링
US20160212437A1 (en) * 2013-10-08 2016-07-21 Sharp Kabushiki Kaisha Image decoding device, image decoding method, image coding device, and image coding method
KR20170012597A (ko) * 2012-11-21 2017-02-02 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325616B2 (en) * 2008-01-17 2012-12-04 Broadcom Corporation Method and system for determination and exchange of network timing information
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9648321B2 (en) * 2011-12-02 2017-05-09 Qualcomm Incorporated Coding picture order count values identifying long-term reference frames
US9578326B2 (en) * 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
US10230972B2 (en) * 2012-07-01 2019-03-12 Sharp Kabushiki Kaisha Device for signaling a long-term reference picture in a parameter set
US9167248B2 (en) * 2012-07-13 2015-10-20 Qualcomm Incorporated Reference picture list modification for video coding
US9584825B2 (en) * 2012-09-27 2017-02-28 Qualcomm Incorporated Long-term reference picture signaling in video coding
RU2769347C1 (ru) * 2019-01-02 2022-03-30 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала посредством использования внешнего прогнозирования

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140077892A (ko) * 2011-09-22 2014-06-24 엘지전자 주식회사 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
KR20140085492A (ko) * 2011-11-07 2014-07-07 마이크로소프트 코포레이션 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링
US20140140406A1 (en) * 2012-11-16 2014-05-22 General Instrument Corporation Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
KR20170012597A (ko) * 2012-11-21 2017-02-02 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치
US20160212437A1 (en) * 2013-10-08 2016-07-21 Sharp Kabushiki Kaisha Image decoding device, image decoding method, image coding device, and image coding method

Also Published As

Publication number Publication date
KR20220051414A (ko) 2022-04-26
EP3742733A1 (en) 2020-11-25
CN117176944A (zh) 2023-12-05
RU2022107813A (ru) 2022-04-05
CN111903134B (zh) 2023-09-12
EP3742733A4 (en) 2021-03-31
US20210266526A1 (en) 2021-08-26
JP2024073645A (ja) 2024-05-29
JP7184911B2 (ja) 2022-12-06
AU2022252845B2 (en) 2024-06-06
US20230362354A1 (en) 2023-11-09
CA3219866A1 (en) 2020-07-09
AU2024216455A1 (en) 2024-09-19
AU2020205179B2 (en) 2022-07-14
AU2020205179A1 (en) 2021-09-02
RU2769347C1 (ru) 2022-03-30
CA3125551C (en) 2023-12-19
KR20200085848A (ko) 2020-07-15
US11044468B2 (en) 2021-06-22
KR20230034425A (ko) 2023-03-09
KR20240005992A (ko) 2024-01-12
BR112021013071A2 (pt) 2021-09-21
CN111903134A (zh) 2020-11-06
US12088794B2 (en) 2024-09-10
KR102619088B1 (ko) 2023-12-29
JP7482344B2 (ja) 2024-05-14
AU2022252845A1 (en) 2022-11-17
BR112021013071B1 (pt) 2022-05-10
KR102398936B1 (ko) 2022-05-17
CN117156127A (zh) 2023-12-01
JP2021515464A (ja) 2021-06-17
US11805246B2 (en) 2023-10-31
MX2021007711A (es) 2021-08-05
US20230118101A1 (en) 2023-04-20
KR102504741B1 (ko) 2023-03-02
CA3125551A1 (en) 2020-07-09
US11570429B2 (en) 2023-01-31
US20200374512A1 (en) 2020-11-26
JP2023015383A (ja) 2023-01-31

Similar Documents

Publication Publication Date Title
WO2020141889A1 (ko) 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2019194440A1 (ko) 인트라 예측 모드에 대한 룩업 테이블을 이용한 영상 코딩 방법 및 그 장치
WO2020017861A1 (ko) 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
WO2020141954A1 (ko) 비디오 데이터를 처리하기 위한 방법 및 장치
WO2020149630A1 (ko) 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치
WO2020013480A1 (ko) 인트라 예측 모드를 코딩하는 방법 및 그 장치
WO2020141932A1 (ko) Cpr 기반 mmvd를 이용하는 인터 예측 방법 및 장치
WO2019225933A1 (ko) 영상 코딩 시스템에서 lut를 기반으로 도출된 mvd 를 사용하는 영상 디코딩 방법 및 그 장치
WO2020005002A1 (ko) 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치
WO2021118265A1 (ko) 적응적 루프 필터를 적용하는 비디오 또는 영상 코딩
WO2019212230A1 (ko) 영상 코딩 시스템에서 블록 사이즈에 따른 변환을 사용하는 영상 디코딩 방법 및 그 장치
WO2020130520A1 (ko) 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2020231238A1 (ko) 크로마 포멧에 기반하여 필터 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021118261A1 (ko) 영상 정보를 시그널링하는 방법 및 장치
WO2020145656A1 (ko) Tmvp 후보의 가용 여부를 시그널링하는 방법 및 장치
WO2020004879A1 (ko) 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2019225932A1 (ko) 영상 코딩 시스템에서 dmvr을 사용하는 영상 디코딩 방법 및 그 장치
WO2019203533A1 (ko) 다중 움직임 모델을 고려한 인터 예측 방법 및 그 장치
WO2021201663A1 (ko) Sps를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021235895A1 (ko) 영상 코딩 방법 및 그 장치
WO2021118263A1 (ko) 영상 정보를 시그널링하는 방법 및 장치
WO2020101385A1 (ko) 비디오 데이터를 처리하기 위한 방법 및 장치
WO2021107622A1 (ko) 영상/비디오 코딩 방법 및 장치
WO2021015513A1 (ko) 필터링을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2019203513A1 (ko) 영상 코딩 시스템에서 dmvd 를 이용한 인터 예측에 따른 영상 디코딩 방법 및 장치

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 20207016707

Country of ref document: KR

Kind code of ref document: A

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

Ref document number: 20735973

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020544612

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020735973

Country of ref document: EP

Effective date: 20200819

ENP Entry into the national phase

Ref document number: 3125551

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 122021020093

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021013071

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2020205179

Country of ref document: AU

Date of ref document: 20200102

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112021013071

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210701