WO2024005480A1 - 다중 참조 라인에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 - Google Patents
다중 참조 라인에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 Download PDFInfo
- Publication number
- WO2024005480A1 WO2024005480A1 PCT/KR2023/008850 KR2023008850W WO2024005480A1 WO 2024005480 A1 WO2024005480 A1 WO 2024005480A1 KR 2023008850 W KR2023008850 W KR 2023008850W WO 2024005480 A1 WO2024005480 A1 WO 2024005480A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- prediction
- unit
- current block
- reference line
- intra prediction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 230000001174 ascending effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 239000000523 sample Substances 0.000 description 52
- 238000001914 filtration Methods 0.000 description 43
- 238000013139 quantization Methods 0.000 description 27
- 239000013074 reference sample Substances 0.000 description 24
- 230000009466 transformation Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000009795 derivation Methods 0.000 description 10
- 230000011664 signaling Effects 0.000 description 9
- 241000023320 Luma <angiosperm> Species 0.000 description 8
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- This disclosure relates to a video encoding/decoding method, a method for transmitting a bitstream, and a recording medium storing the bitstream, and relates to prediction based on multiple reference lines.
- HD High Definition
- UHD Ultra High Definition
- the purpose of the present disclosure is to provide a video encoding/decoding method and device with improved encoding/decoding efficiency.
- the present disclosure aims to propose a multi-reference line mode based on a template.
- the present disclosure aims to propose a method for deriving a multiple reference line index based on a template.
- the present disclosure aims to propose a method for reordering a multi-reference line index candidate list based on a template.
- the present disclosure aims to propose a method of combining a vertical multiple reference line index and a horizontal multiple reference line index.
- the present disclosure aims to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the video encoding method according to the present disclosure.
- the present disclosure aims to provide a non-transitory computer-readable recording medium that stores a bitstream that is received and decoded by an image decoding device according to the present disclosure and used to restore an image.
- the present disclosure aims to provide a method for transmitting a bitstream generated by the video encoding method according to the present disclosure.
- An image decoding method is an image decoding method performed by an image decoding apparatus, wherein the first reference line for the current block is predicted based on each of a plurality of reference lines for the current block. generating values; calculating errors between each of the predicted values and the restored value of the first reference line; and deriving, based on the errors, at least one second reference line from among the plurality of reference lines to be used for intra prediction of the current block.
- An image encoding method is an image encoding method performed by an image encoding apparatus, wherein the first reference line for the current block is predicted based on each of a plurality of reference lines for the current block. generating values; calculating errors between each of the predicted values and the restored value of the first reference line; and deriving, based on the errors, at least one second reference line from among the plurality of reference lines to be used for intra prediction of the current block.
- a computer-readable recording medium can store a bitstream generated by the image encoding method or device of the present disclosure.
- a transmission method may transmit a bitstream generated by the video encoding method or device of the present disclosure.
- an image encoding/decoding method and device with improved encoding/decoding efficiency can be provided.
- prediction performance can be improved and coding efficiency can be improved by deriving multiple reference line indices without signaling.
- bit efficiency for corresponding index signaling can be improved by rearranging multiple reference line index candidates.
- a non-transitory computer-readable recording medium that stores a bitstream generated by the image encoding method according to the present disclosure can be provided.
- a non-transitory computer-readable recording medium that stores a bitstream received and decoded by the video decoding device according to the present disclosure and used for image restoration can be provided.
- a method for transmitting a bitstream generated by an image encoding method can be provided.
- FIG. 1 is a diagram schematically showing a video coding system to which an embodiment according to the present disclosure can be applied.
- FIG. 2 is a diagram schematically showing a video encoding device to which an embodiment according to the present disclosure can be applied.
- Figure 3 is a diagram schematically showing an image decoding device to which an embodiment according to the present disclosure can be applied.
- Figure 4 is a flowchart showing an image encoding method based on intra prediction.
- Figure 5 is a diagram schematically showing an intra prediction unit in a video encoding device.
- Figure 6 is a flowchart showing an image encoding method based on intra prediction.
- Figure 7 is a diagram schematically showing an intra prediction unit in a video decoding device.
- Figure 8 is a diagram for explaining a method of deriving an intra mode based on a template.
- Figures 9 and 10 are diagrams for explaining the multi-reference line mode.
- Figure 11 is a flowchart showing an image encoding method and an image decoding method according to an embodiment of the present disclosure.
- Figures 12 and 13 are diagrams for explaining the template-based multi-reference line mode.
- Figure 14 is a flowchart showing an image encoding method according to another embodiment of the present disclosure.
- Figure 15 is a flowchart showing a video decoding method according to another embodiment of the present disclosure.
- Figure 16 is a flowchart showing an image encoding method and an image decoding method according to another embodiment of the present disclosure.
- Figure 17 is a diagram for explaining the combination between reference lines.
- Figure 18 is a diagram illustrating a content streaming system to which an embodiment according to the present disclosure can be applied.
- a component when a component is said to be “connected,” “coupled,” or “connected” to another component, this is not only a direct connection relationship, but also an indirect connection relationship in which another component exists in between. It may also be included.
- a component when a component is said to "include” or “have” another component, this does not mean excluding the other component, but may further include another component, unless specifically stated to the contrary. .
- first, second, etc. are used only for the purpose of distinguishing one component from other components, and do not limit the order or importance of components unless specifically mentioned. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, the second component in one embodiment may be referred to as a first component in another embodiment. It may also be called.
- distinct components are intended to clearly explain each feature, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated to form one hardware or software unit, or one component may be distributed to form a plurality of hardware or software units. Accordingly, even if not specifically mentioned, such integrated or distributed embodiments are also included in the scope of the present disclosure.
- components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, embodiments consisting of a subset of the elements described in one embodiment are also included in the scope of the present disclosure. Additionally, embodiments that include other components in addition to the components described in the various embodiments are also included in the scope of the present disclosure.
- This disclosure relates to video encoding and decoding, and terms used in this disclosure may have common meanings commonly used in the technical field to which this disclosure belongs, unless they are newly defined in this disclosure.
- a “picture” generally refers to a unit representing one image at a specific time
- a slice/tile is a coding unit that constitutes a part of a picture, and one picture is one. It may consist of more than one slice/tile. Additionally, a slice/tile may include one or more coding tree units (CTUs).
- CTUs coding tree units
- pixel or “pel” may refer to the minimum unit that constitutes one picture (or video). Additionally, “sample” may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component.
- unit may represent a basic unit of image processing.
- a unit may include at least one of a specific area of a picture and information related to the area.
- unit may be used interchangeably with terms such as “sample array,” “block,” or “area.”
- an MxN block may include a set (or array) of samples (or a sample array) or transform coefficients consisting of M columns and N rows.
- “current block” may mean one of “current coding block”, “current coding unit”, “encoding target block”, “decoding target block”, or “processing target block”.
- “current block” may mean “current prediction block” or “prediction target block.”
- transformation inverse transformation
- quantization inverse quantization
- “current block” may mean “current transformation block” or “transformation target block.”
- filtering filtering target block.”
- current block may mean a block containing both a luma component block and a chroma component block or “the luma block of the current block” unless explicitly stated as a chroma block.
- the luma component block of the current block may be expressed by explicitly including an explicit description of the luma component block, such as “luma block” or “current luma block.”
- the chroma component block of the current block may be expressed including an explicit description of the chroma component block, such as “chroma block” or “current chroma block.”
- “/” and “,” may be interpreted as “and/or.”
- “A/B” and “A, B” can be interpreted as “A and/or B.”
- “A/B/C” and “A, B, C” may mean “at least one of A, B and/or C.”
- FIG. 1 is a diagram schematically showing a video coding system to which an embodiment according to the present disclosure can be applied.
- a video coding system may include an encoding device 10 and a decoding device 20.
- the encoding device 10 may transmit encoded video and/or image information or data in file or streaming form to the decoding device 20 through a digital storage medium or network.
- the encoding device 10 may include a video source generator 11, an encoder 12, and a transmitter 13.
- the decoding device 20 may include a receiving unit 21, a decoding unit 22, and a rendering unit 23.
- the encoder 12 may be called a video/image encoder
- the decoder 22 may be called a video/image decoder.
- the transmission unit 13 may be included in the encoding unit 12.
- the receiving unit 21 may be included in the decoding unit 22.
- the rendering unit 23 may include a display unit, and the display unit may be composed of a separate device or external component.
- the video source generator 11 may acquire video/image through a video/image capture, synthesis, or creation process.
- the video source generator 11 may include a video/image capture device and/or a video/image generation device.
- a video/image capture device may include, for example, one or more cameras, a video/image archive containing previously captured video/images, etc.
- Video/image generating devices may include, for example, computers, tablets, and smartphones, and are capable of generating video/images (electronically). For example, a virtual video/image may be created through a computer, etc., and in this case, the video/image capture process may be replaced by the process of generating related data.
- the encoder 12 can encode the input video/image.
- the encoder 12 can perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency.
- the encoder 12 may output encoded data (encoded video/image information) in the form of a bitstream.
- the transmitting unit 13 can obtain encoded video/image information or data output in the form of a bitstream, and transmit it to the receiving unit 21 of the decoding device 20 through a digital storage medium or network in the form of a file or streaming. It can be passed to another external object.
- Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the transmission unit 13 may include elements for creating a media file through a predetermined file format and may include elements for transmission through a broadcasting/communication network.
- the transmission unit 13 may be provided as a separate transmission device from the encoding device 12.
- the transmission device includes at least one processor that acquires encoded video/image information or data output in the form of a bitstream. It may include a transmission unit that delivers the message in file or streaming form.
- the receiving unit 21 may extract/receive the bitstream from the storage medium or network and transmit it to the decoding unit 22.
- the decoder 22 can decode the video/image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operations of the encoder 12.
- the rendering unit 23 may render the decrypted video/image.
- the rendered video/image may be displayed through the display unit.
- FIG. 2 is a diagram schematically showing a video encoding device to which an embodiment according to the present disclosure can be applied.
- the image encoding device 100 includes an image segmentation unit 110, a subtraction unit 115, a transformation unit 120, a quantization unit 130, an inverse quantization unit 140, and an inverse transformation unit ( 150), 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 intra prediction unit 185 may be collectively referred to as a “prediction unit.”
- 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.
- All or at least a portion of the plurality of components constituting the video encoding device 100 may be implemented as one hardware component (eg, an encoder or processor) depending on the embodiment.
- the memory 170 may include a decoded picture buffer (DPB) and may be implemented by a digital storage medium.
- DPB decoded picture buffer
- the image segmentation unit 110 may divide an input image (or picture, frame) input to the image encoding device 100 into one or more processing units.
- the processing unit may be called a coding unit (CU).
- the coding unit is a coding tree unit (CTU) or largest coding unit (LCU) recursively according to the QT/BT/TT (Quad-tree/binary-tree/ternary-tree) structure. It can be obtained by dividing recursively.
- one coding unit may be divided into a plurality of coding units of deeper depth based on a quad tree structure, binary tree structure, and/or ternary tree structure.
- the quad tree structure may be applied first and the binary tree structure and/or ternary tree structure may be applied later.
- the coding procedure according to the present disclosure can be performed based on the final coding unit that is no longer divided.
- the largest coding unit can be directly used as the final coding unit, and a lower-depth coding unit obtained by dividing the maximum coding unit can be used as the final cornet unit.
- the coding procedure may include procedures such as prediction, conversion, and/or restoration, which will be described later.
- the processing unit of the coding procedure may be a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit may each be divided or partitioned from the final coding unit.
- the prediction unit may be a unit of sample prediction
- the transform unit may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from the transform coefficient.
- the prediction unit (inter prediction unit 180 or intra prediction unit 185) performs prediction on the block to be processed (current block) and generates a predicted block including prediction samples for the current block. can be created.
- the prediction unit may determine whether intra prediction or inter prediction is applied on a current block or CU basis.
- the prediction unit may generate various information regarding prediction of the current block and transmit it to the entropy encoding unit 190.
- Information about prediction may be encoded in the entropy encoding unit 190 and output in the form of a bitstream.
- the intra prediction unit 185 can 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 away from the current block depending on the intra prediction mode and/or intra prediction technique.
- Intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- Non-directional modes may include, for example, DC mode and planar mode.
- the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes, depending on the level 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 the prediction mode applied to the current block using the prediction mode applied to the neighboring block.
- the inter prediction unit 180 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector in the reference picture.
- motion information can be predicted in blocks, subblocks, or samples based on the correlation of motion information between neighboring blocks and the 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.
- neighboring blocks may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture.
- a reference picture including the reference block and a reference picture including the temporal neighboring block may be the same or different from each other.
- the temporal neighboring block may be called a collocated reference block, a collocated reference block, or a collocated CU (colCU).
- a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
- the inter prediction unit 180 configures a motion information candidate list based on neighboring blocks and provides information indicating which candidate is used to derive the motion vector and/or reference picture index of the current block. can be created. Inter prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter prediction unit 180 may use motion information of neighboring blocks as motion information of the current block.
- motion vector prediction MVP
- the motion vector of the neighboring block is used as a motion vector predictor, and the motion vector difference and indicator for the motion vector predictor ( The motion vector of the current block can be signaled by encoding the indicator).
- Motion vector difference may mean the difference between the motion vector of the current block and the motion vector predictor.
- the prediction unit may generate a prediction signal based on various prediction methods and/or prediction techniques described later. For example, the prediction unit can not only apply intra prediction or inter prediction for prediction of the current block, but also can apply intra prediction and inter prediction simultaneously.
- a prediction method that simultaneously applies intra prediction and inter prediction to predict the current block may be called combined inter and intra prediction (CIIP).
- the prediction unit may perform intra block copy (IBC) to predict the current block.
- Intra block copy can be used, for example, for video/video coding of content such as games, such as screen content coding (SCC).
- IBC is a method of predicting the current block using a reconstructed reference block in the current picture located a predetermined distance away from the current block.
- the position of the reference block in the current picture can be encoded as a vector (block vector) corresponding to the predetermined distance.
- IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC can use at least one of the inter prediction techniques described in this disclosure.
- the prediction signal generated through the prediction unit may be used to generate a restored signal or a residual signal.
- the subtraction unit 115 subtracts the prediction signal (predicted block, prediction sample array) output from the prediction unit from the input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array). ) can be created.
- the generated residual signal may be transmitted to the converter 120.
- the transform unit 120 may generate transform coefficients by applying a transform technique to the residual signal.
- the transformation technique may be at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loeve Transform (KLT), Graph-Based Transform (GBT), or Conditionally Non-linear Transform (CNT). It can be included.
- DCT Discrete Cosine Transform
- DST Discrete Sine Transform
- KLT Karhunen-Loeve Transform
- GBT Graph-Based Transform
- CNT Conditionally Non-linear Transform
- GBT refers to the transformation obtained from this graph when the relationship information between pixels is expressed as a graph.
- CNT refers to the transformation obtained by generating a prediction signal using all previously reconstructed pixels and obtaining it based on it.
- the conversion process may be applied to square pixel blocks of the same size, or to non-square blocks of variable size.
- the quantization unit 130 may quantize the transform coefficients and transmit them to the entropy encoding unit 190.
- the entropy encoding unit 190 may encode a quantized signal (information about quantized transform coefficients) and output it as a bitstream. Information about the quantized transform coefficients may be called residual information.
- the quantization unit 130 may rearrange the quantized transform coefficients in block form into a one-dimensional vector form based on the coefficient scan order, and the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. Information about transformation coefficients may also be generated.
- the entropy encoding unit 190 may perform various encoding methods, such as exponential Golomb, 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 restoration (e.g., values of syntax elements, etc.) in addition to the quantized transformation coefficients together or separately.
- Encoded information (ex. encoded video/picture information) may be transmitted or stored in bitstream form in units of NAL (network abstraction layer) units.
- the video/image information may further include information about various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Additionally, the video/image information may further include general constraint information. Signaling information, transmitted information, and/or syntax elements mentioned in this disclosure may be encoded through the above-described encoding procedure and included in the bitstream.
- the bitstream can be transmitted over a network or stored in 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, and SSD.
- a transmission unit (not shown) that transmits the signal output from the entropy encoding unit 190 and/or a storage unit (not shown) that stores the signal may be provided as an internal/external element of the video encoding device 100, or may be transmitted.
- the unit may be provided as a component of the entropy encoding unit 190.
- Quantized transform coefficients output from the quantization unit 130 can be used to generate a residual signal.
- a residual signal residual block or residual samples
- inverse quantization and inverse transformation residual block or residual samples
- the adder 155 adds the reconstructed residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185 to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). can be created. If there is no residual for the block to be processed, such as when skip mode is applied, the predicted block can be used as a restoration block.
- the addition unit 155 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal can be used for intra prediction of the next processing target block in the current picture, and can also be used for inter prediction of the next picture after filtering, as will be described later.
- the filtering unit 160 may improve subjective/objective image quality by applying filtering to the restored signal.
- the filtering unit 160 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 170, specifically the DPB of the memory 170. It can be saved in .
- the various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
- the filtering unit 160 may generate various information regarding filtering and transmit it to the entropy encoding unit 190, as will be described later in the description of each filtering method. Information about filtering may be encoded in the entropy encoding unit 190 and output in the form of a bitstream.
- the modified reconstructed picture transmitted to the memory 170 can be used as a reference picture in the inter prediction unit 180.
- the video encoding device 100 can avoid prediction mismatch in the video encoding device 100 and the video decoding device, and can also improve coding efficiency.
- the DPB in the memory 170 can store a modified reconstructed picture to be used as a reference picture in the inter prediction unit 180.
- the memory 170 may store motion information of a block from which motion information in the current picture is derived (or encoded) and/or motion information of blocks in an already reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 180 to be used as motion information of spatial neighboring blocks or motion information of temporal neighboring blocks.
- the memory 170 can store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 185.
- Figure 3 is a diagram schematically showing an image decoding device to which an embodiment according to the present disclosure can be applied.
- the image decoding device 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, and a memory 250. ), an inter prediction unit 260, and an intra prediction unit 265.
- the inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a “prediction unit.”
- the inverse quantization unit 220 and the inverse transform unit 230 may be included in the residual processing unit.
- All or at least part of the plurality of components constituting the video decoding device 200 may be implemented as one hardware component (eg, a decoder or processor) depending on the embodiment.
- the memory 170 may include a DPB and may be implemented by a digital storage medium.
- the image decoding device 200 which has received a bitstream containing video/image information, may restore the image by performing a process corresponding to the process performed by the image encoding device 100 of FIG. 2.
- the video decoding device 200 may perform decoding using a processing unit applied in the video encoding device. Therefore, the processing unit of decoding may be a coding unit, for example.
- the coding unit may be a coding tree unit or may be obtained by dividing the largest coding unit.
- the restored video signal decoded and output through the video decoding device 200 can be played through a playback device (not shown).
- the video decoding device 200 may receive a signal output from the video encoding device of FIG. 2 in the form of a bitstream.
- the received signal may be decoded through the entropy decoding unit 210.
- the entropy decoder 210 may parse the bitstream to derive information (eg, video/picture information) necessary for image restoration (or picture restoration).
- the video/image information may further include information about various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- the video/image information may further include general constraint information.
- the video decoding device may additionally use the information about the parameter set and/or the general restriction information to decode the video.
- Signaling information, received information, and/or syntax elements mentioned in this disclosure may be obtained from the bitstream by being decoded through the decoding procedure.
- the entropy decoding unit 210 decodes information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and quantizes the values of syntax elements necessary for image restoration and transform coefficients related to residuals. The values can be output.
- the CABAC entropy decoding method receives bins corresponding to each syntax element in the bitstream, and includes decoding target syntax element information and surrounding blocks and decoding information of the decoding target block or information of symbols/bins decoded in the previous step.
- the CABAC entropy decoding method can update the context model using information on the decoded symbol/bin for the context model of the next symbol/bin after determining the context model.
- information about prediction is provided to the prediction unit (inter prediction unit 260 and intra prediction unit 265), and the register on which entropy decoding was performed in the entropy decoding unit 210
- Dual values that is, quantized transform coefficients and related parameter information, may be input to the inverse quantization unit 220.
- information about filtering among the information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240.
- a receiving unit (not shown) that receives a signal output from the video encoding device may be additionally provided as an internal/external element of the video decoding device 200, or the receiving device may be provided as a component of the entropy decoding unit 210. It could be.
- the video decoding device may be called a video/picture/picture decoding device.
- the video decoding device may include an information decoder (video/image/picture information decoder) and/or a sample decoder (video/image/picture sample decoder).
- the information decoder may include an entropy decoding unit 210
- the sample decoder may include an inverse quantization unit 220, an inverse transform unit 230, an addition unit 235, a filtering unit 240, a memory 250, It may include at least one of the inter prediction unit 260 and the intra prediction unit 265.
- the inverse quantization unit 220 may inversely quantize the quantized transform coefficients and output the transform coefficients.
- the inverse quantization unit 220 may rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the reordering may be performed based on the coefficient scan order performed in the video encoding device.
- the inverse quantization unit 220 may perform inverse quantization on quantized transform coefficients using quantization parameters (eg, quantization step size information) and obtain transform coefficients.
- the inverse transform unit 230 can inversely transform the transform coefficients to obtain a residual signal (residual block, residual sample array).
- 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 the information about the prediction output from the entropy decoding unit 210, and determine a specific intra/inter prediction mode (prediction technique). You can.
- the prediction unit can generate a prediction signal based on various prediction methods (techniques) described later is the same as mentioned in the description of the prediction unit of the video encoding device 100.
- the intra prediction unit 265 can predict the current block by referring to samples in the current picture.
- the description of the intra prediction unit 185 can be equally applied to the intra prediction unit 265.
- the inter prediction unit 260 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector in the reference picture.
- motion information can be predicted in blocks, subblocks, or samples based on the correlation of motion information between neighboring blocks and the 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.
- neighboring blocks may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing 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 (techniques), and the information about the prediction may include information indicating the mode (technique) of inter prediction for the current block.
- the adder 235 restores the obtained residual signal by adding it to the prediction signal (predicted block, prediction sample array) output from the prediction unit (including the inter prediction unit 260 and/or the intra prediction unit 265).
- a signal (restored picture, restored block, restored sample array) can be generated. If there is no residual for the block to be processed, such as when skip mode is applied, the predicted block can be used as a restoration block.
- the description of the addition unit 155 can be equally applied to the addition unit 235.
- the addition unit 235 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal can be used for intra prediction of the next processing target block in the current picture, and can also be used for inter prediction of the next picture after filtering, as will be described later.
- the filtering unit 240 can improve subjective/objective image quality by applying filtering to the restored signal.
- the filtering unit 240 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 250, specifically the DPB of the memory 250. It can be saved in .
- the various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
- the (corrected) reconstructed picture stored in the DPB of the memory 250 can be used as a reference picture in the inter prediction unit 260.
- the memory 250 may store motion information of a block from which motion information in the current picture is derived (or decoded) and/or motion information of blocks in a picture that has already been reconstructed.
- the stored motion information can be transmitted to the inter prediction unit 260 to be used as motion information of spatial neighboring blocks or motion information of temporal neighboring blocks.
- the memory 250 can store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 265.
- the embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the video encoding apparatus 100 are the filtering unit 240 and the intra prediction unit 185 of the video decoding apparatus 200, respectively. It may also be applied to the inter prediction unit 260 and the intra prediction unit 265 in the same or corresponding manner.
- Intra prediction may refer to prediction that generates prediction samples for the current block based on reference samples within the picture to which the current block belongs (hereinafter, current picture).
- surrounding reference samples to be used for intra prediction of the current block may be derived.
- the surrounding reference samples of the current block include samples adjacent to the left border of the current block of size nWxnH, a total of 2xnH samples neighboring the bottom-left, and samples adjacent to the top border of the current block. And it may include a total of 2xnW samples neighboring the top-right and one sample neighboring the top-left of the current block.
- the peripheral reference samples of the current block may include multiple rows of upper peripheral samples and multiple rows of left peripheral samples.
- the surrounding reference samples of the current block include a total of nH samples adjacent to the right border of the current block of size nWxnH, a total of nW samples adjacent to the bottom border of the current block, and a total of nW samples adjacent to the bottom border of the current block. It may also include one sample neighboring (bottom-right).
- the image decoding apparatus 200 may configure surrounding reference samples to be used for prediction by substituting unavailable samples with available samples.
- surrounding reference samples to be used for prediction can be configured through interpolation of available samples.
- a prediction sample can be derived based on the average or interpolation of the neighboring reference samples of the current block, and (ii) the neighboring reference sample of the current block Among these, the prediction sample may be derived based on a reference sample that exists in a specific (prediction) direction with respect to the prediction sample. In case (i), it can be called a non-directional mode or non-angular mode, and in case (ii), it can be called a directional mode or angular mode.
- Prediction samples may be generated.
- LIP linear interpolation intra prediction
- chroma prediction samples may be generated based on luma samples using a linear model. This case may be called LM mode.
- a temporary prediction sample of the current block is derived based on filtered neighboring reference samples, and at least one derived according to the intra prediction mode among the existing neighboring reference samples, that is, unfiltered neighboring reference samples
- the prediction sample of the current block may be derived by performing a weighted sum of the reference sample and the temporary prediction sample.
- the above-described case may be called PDPC (Position dependent intra prediction).
- the reference sample line with the highest prediction accuracy among the surrounding multiple reference sample lines of the current block is selected to derive a prediction sample using the reference sample located in the prediction direction from that line, and at this time, the used reference sample line is used as an image.
- Intra prediction encoding can be performed by instructing (signaling) the decoding device 200.
- the above-described case may be called multi-reference line (MRL) intra prediction or MRL-based intra prediction.
- intra prediction can be performed based on the same intra prediction mode by dividing the current block into vertical or horizontal sub-partitions, and surrounding reference samples can be derived and used in units of the sub-partitions. That is, in this case, the intra prediction mode for the current block is equally applied to the sub-partitions, but intra prediction performance can be improved in some cases by deriving and using surrounding reference samples for each sub-partition.
- This prediction method may be called intra sub-partitions (ISP) or ISP-based intra prediction.
- ISP intra sub-partitions
- the above-described intra prediction methods can be called intra prediction types, distinguishing them from the intra prediction mode in Table of Contents 1.2.
- the intra prediction type may be called various terms such as intra prediction technique or additional intra prediction mode.
- the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the above-described LIP, PDPC, MRL, and ISP.
- a general intra prediction method excluding specific intra prediction types such as LIP, PDPC, MRL, and ISP may be called a normal intra prediction type.
- the normal intra prediction type can be generally applied when the specific intra prediction type as described above is not applied, and prediction can be performed based on the intra prediction mode described above. Meanwhile, post-processing filtering may be performed on the derived prediction samples as needed.
- the intra prediction procedure may include an intra prediction mode/type determination step, a peripheral reference sample derivation step, and an intra prediction mode/type-based prediction sample derivation step. Additionally, a post-filtering step may be performed on the derived prediction sample as needed.
- affine linear weighted intra prediction can be used.
- the ALWIP may also be called linear weighted intra prediction (LWIP) or matrix weighted intra prediction or matrix based intra prediction (MIP).
- LWIP linear weighted intra prediction
- MIP matrix based intra prediction
- prediction samples for the current block can be derived by further performing horizontal/vertical interpolation procedures.
- the intra prediction modes used for the MIP may be configured differently from the intra prediction modes used in the above-described LIP, PDPC, MRL, and ISP intra prediction or normal intra prediction.
- the intra prediction mode for the MIP may be called MIP intra prediction mode, MIP prediction mode, or MIP mode.
- MIP intra prediction mode MIP prediction mode
- MIP mode MIP mode
- the metrics and offset used in the matrix vector multiplication may be set differently depending on the intra prediction mode for the MIP.
- the matrix may be called a (MIP) weight matrix
- the offset may be called a (MIP) offset vector or (MIP) bias vector.
- MIP weight matrix
- MIP MIP offset vector
- MIP bias vector
- the block restoration procedure based on intra prediction and the intra prediction unit 185 in the image encoding apparatus 100 may schematically include, for example, FIGS. 4 and 5.
- S400 may be performed by the intra prediction unit 185 of the image encoding device 100
- S410 may be performed by the residual processing unit of the image encoding device 100.
- S410 may be performed by the subtraction unit 115 of the video encoding device 100.
- prediction information may be derived by the intra prediction unit 185 and encoded by the entropy encoding unit 190.
- residual information may be derived by the residual processing unit and encoded by the entropy encoding unit 190.
- the residual information is information about the residual samples.
- the residual information may include information about quantized transform coefficients for the residual samples.
- the residual samples can be derived as transform coefficients through the transform unit 120 of the image encoding device 100, and the transform coefficients can be derived as quantized transform coefficients through the quantizer 130. there is.
- Information about the quantized transform coefficients may be encoded in the entropy encoding unit 190 through a residual coding procedure.
- the image encoding device 100 performs intra prediction on the current block (S400).
- the image encoding apparatus 100 may derive an intra prediction mode/type for the current block, derive surrounding reference samples of the current block, and derive the surrounding reference samples within the current block based on the intra prediction mode/type and the surrounding reference samples. Generate prediction samples.
- the procedures for determining intra prediction mode/type, deriving peripheral reference samples, and generating prediction samples may be performed simultaneously, or one procedure may be performed before the other procedure.
- the intra prediction unit 185 of the video encoding device 100 may include an intra prediction mode/type determination unit 186, a reference sample derivation unit 187, and a prediction sample derivation unit 188,
- the intra prediction mode/type determination unit 186 determines the intra prediction mode/type for the current block
- the reference sample derivation unit 187 derives neighboring reference samples of the current block
- the prediction sample derivation unit 188 prediction samples of the current block can be derived.
- the intra prediction unit 185 may further include a prediction sample filter unit (not shown).
- the image encoding apparatus 100 may determine a mode/type applied to the current block among a plurality of intra prediction modes/types.
- the image encoding apparatus 100 may compare RD costs for the intra prediction modes/types and determine the optimal intra prediction mode/type for the current block.
- the image encoding device 100 may perform a prediction sample filtering procedure.
- Predictive sample filtering can be called post filtering. Some or all of the prediction samples may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
- the image encoding apparatus 100 generates residual samples for the current block based on (filtered) prediction samples (S410).
- the image encoding apparatus 100 may compare the prediction samples with the original samples of the current block based on phase and derive the residual samples.
- the image encoding apparatus 100 may encode image information including information about the intra prediction (prediction information) and residual information about the residual samples (S420).
- the prediction information may include the intra prediction mode information and the intra prediction type information.
- the video encoding device 100 may output encoded video information in the form of a bitstream.
- the output bitstream may be transmitted to the video decoding device 200 through a storage medium or network.
- the residual information may include residual coding syntax, which will be described later.
- the image encoding apparatus 100 may transform/quantize the residual samples to derive quantized transform coefficients.
- the residual information may include information about the quantized transform coefficients.
- the image encoding apparatus 100 can generate a reconstructed picture (including reconstructed samples and a reconstructed block).
- the image encoding device 100 may perform inverse quantization/inverse transformation on the quantized transformation coefficients to derive (corrected) residual samples.
- the reason for performing inverse quantization/inverse transformation again after transforming/quantizing the residual samples in this way is to derive residual samples that are identical to the residual samples derived from the image decoding apparatus 200, as described above.
- the image encoding apparatus 100 may generate a restored block including restored samples for the current block based on the prediction samples and the (corrected) residual samples.
- a reconstructed picture for the current picture may be generated based on the reconstructed block.
- an in-loop filtering procedure, etc. may be further applied to the reconstructed picture.
- a video/image decoding procedure based on intra prediction and an intra prediction unit within the video decoding apparatus 200 may roughly include, for example, the following.
- the video decoding device 200 may perform operations corresponding to the operations performed by the video encoding device 100.
- S600 to S620 may be performed by the intra prediction unit 265 of the image decoding device 200, and the prediction information of S600 and the residual information of S630 may be performed by the entropy decoding unit 210 of the image decoding device 200. Can be obtained from bitstream.
- the residual processing unit of the image decoding apparatus 200 may derive residual samples for the current block based on the residual information.
- the inverse quantization unit 220 of the residual processing unit performs inverse quantization to derive transform coefficients based on the quantized transform coefficients derived based on the residual information
- the inverse transform unit of the residual processing unit ( 230) may perform inverse transformation on the transformation coefficients to derive residual samples for the current block.
- S640 may be performed by the adder 235 or the restorer of the image decoding device 200.
- the video decoding device 200 may derive the intra prediction mode/type for the current block based on the received prediction information (intra prediction mode/type information) (S600).
- the image decoding apparatus 200 may derive neighboring reference samples of the current block (S610).
- the image decoding apparatus 200 generates prediction samples within the current block based on the intra prediction mode/type and the surrounding reference samples (S620).
- the image decoding device 200 may perform a prediction sample filtering procedure. Predictive sample filtering can be called post filtering. Some or all of the prediction samples may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
- the video decoding device 200 generates residual samples for the current block based on the received residual information.
- the image decoding apparatus 200 may generate restored samples for the current block based on the prediction samples and the residual samples and derive a restored block including the restored samples (S630).
- a reconstructed picture for the current picture may be generated based on the reconstructed block. As described above, an in-loop filtering procedure, etc. may be further applied to the reconstructed picture.
- the intra prediction unit 265 of the video decoding apparatus 200 may include an intra prediction mode/type determination unit 266, a reference sample derivation unit 267, and a prediction sample derivation unit 268, and intra prediction
- the mode/type decision unit 266 determines the intra prediction mode/type for the current block based on the intra prediction mode/type information generated and signaled by the intra prediction mode/type decision unit 186 of the video encoding device 100.
- the reference sample deriving unit 266 may derive surrounding reference samples of the current block, and the prediction sample deriving unit 267 may derive prediction samples of the current block.
- the intra prediction unit 265 may further include a prediction sample filter unit (not shown).
- the intra prediction mode information may include, for example, flag information (ex. intra_luma_mpm_flag) indicating whether MPM (most probable mode) or retaining mode is applied to the current block, When MPM is applied to the current block, the prediction mode information may further include index information (ex. intra_luma_mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates).
- the intra prediction mode candidates (MPM candidates) may be composed of an MPM candidate list or an MPM list.
- the intra prediction mode information includes reminding mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). More may be included.
- the image decoding apparatus 200 may determine the intra prediction mode of the current block based on the intra prediction mode information.
- a separate MPM list may be configured for the above-described MIP.
- the intra prediction type information may be implemented in various forms.
- the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types.
- the intra prediction type information includes reference sample line information (ex. intra_luma_ref_idx) indicating whether the MRL is applied to the current block and, if applied, which reference sample line is used, and the ISP determines whether the current block ISP flag information (ex. intra_subpartitions_mode_flag) indicating whether the ISP is applied, ISP type information (ex. intra_subpartitions_split_flag) indicating the split type of subpartitions when the ISP is applied, flag information indicating whether PDCP is applied, or application of LIP. It may include at least one of flag information indicating whether or not. Additionally, the intra prediction type information may include an MIP flag indicating whether MIP is applied to the current block.
- the intra prediction mode information and/or the intra prediction type information may be encoded/decoded through the coding method described in this document.
- the intra prediction mode information and/or the intra prediction type information may be encoded/decoded through entropy coding (ex. CABAC, CAVLC) coding based on truncated (rice) binary code.
- Figure 8 is a diagram for explaining a method for deriving an intra mode (TIMD) based on a template.
- the Sum of absolute transformed difference (SATD) between the prediction block predicted from the template area and the actual restored sample is calculated for the IPM (intra prediction mode) intra mode of adjacent intra blocks and inter blocks, and then the lowest SATD is calculated.
- the mode can be selected as the intra mode of the current block.
- the two modes with the lowest SATD can be selected, and then the prediction blocks for the two prediction modes can be blended using a weighted sum method and used as the prediction block for the current block.
- Equation 1 The method of blending two modes can be applied when the following conditions (Equation 1) are satisfied.
- a prediction block is created by blending the two modes. Otherwise, only one mode with the minimum SATD value can be selected.
- Equation 2 The weight ratio when blending two prediction blocks is as shown in Equation 2 below.
- FIG 9 and 10 are diagrams for explaining the multiple reference line (MRL) (intra prediction) mode.
- MRL multiple reference line
- intra prediction uses only the neighboring samples of the upper first line and the neighboring samples of the left first line of the current block as reference samples for intra prediction.
- MRL multiple-reference line
- intra prediction can be performed using neighboring samples located on a sample line one to three samples away from the top and/or left of the current block as reference samples.
- Figure 9 shows an example of the multiple reference line, where the multiple reference line index (ex. mrl_idx) indicates which line is used for intra prediction for the current block.
- the multiple reference line index can be signaled through the coding unit syntax in Table 1.
- the multiple reference line index may be configured in the form of an intra_luma_ref_idx syntax element.
- intra_luma_ref_idx can specify the intra reference line index IntraLumaRefLineIdx[x0][y0] shown in Table 2. If intra_luma_ref_idx does not exist, the value of intra_luma_ref_idx can be inferred to be 0.
- intra_luma_ref_idx may be called (intra) reference sample line index, mrl_idx or index information. Additionally, intra_luma_ref_idx may also be called intra_luma_ref_line_idx.
- MRL can be disabled for blocks on the first line (row) within the CTU. This is to prevent extended reference lines outside the current CTU line from being used. Additionally, when the above-described additional reference line is used, the above-described PDPC may be disabled.
- intra prediction is performed using neighboring samples located on a sample line that is one to three samples away from the top and/or left of the current block as reference samples, but in the extended MRL method, It has been expanded to allow intra prediction using neighboring samples located on a sample line twelve samples away from the top and/or left of the current block as reference samples.
- the reference sample line index of the extended MRL list consists of ⁇ 1, 3, 5, 7, 12 ⁇ , and Figure 10 shows an example of an extended MRL candidate list. Additionally, Table 3 shows the relationship between intra_luma_ref_idx and IntraLumaRefLineIdx[x0][y0] in the extended MRL.
- Figure 11 is a flowchart showing an image encoding method and an image decoding method according to an embodiment of the present disclosure.
- the image encoding device 100 and the image decoding device 200 may generate prediction values for the first reference line (S1110).
- the first reference line may correspond to one of a plurality of reference lines that can be used in MRL.
- the plurality of reference lines may correspond to reference lines for the current block.
- the first reference line may correspond to the template of TIMD described above.
- the first reference line may be a reference line closest to the current block among a plurality of reference lines (for example, a reference line with an index value of 0).
- the prediction value for the first reference line may be generated based on each of the plurality of reference lines. For example, a prediction value for a first reference line may be generated based on one reference line among a plurality of reference lines, and a prediction value for the first reference line may be generated based on another reference line among the plurality of reference lines. Different prediction values for may be generated.
- the image encoding device 100 and the image decoding device 200 may calculate the error between each prediction value and the restored value of the first reference line (restored value of the first reference line) (S1120). Since the prediction value is generated based on each of the plurality of reference lines, the error may also be calculated for each of the plurality of reference lines.
- the error can be calculated based on the 'difference between the prediction block predicted from the template area and the actual restored sample' of the TIMD described above.
- Error may be referred to as “cost”, “error”, “difference”, etc. That is, in the present disclosure, “error”, “cost”, “error”, “difference”, etc. may have the same meaning.
- the video encoding device 100 and the video decoding device 200 may derive a second reference line based on the calculated errors (S1130).
- the second reference line may correspond to a reference line to be used for intra prediction of the current block among a plurality of reference lines.
- Embodiments described below can be performed as at least one of the processes shown in FIG. 11.
- Embodiment 1 relates to a method of deriving a multiple reference line index (ref_idx) in the video encoding device 100 and the video decoding device 200 without signaling it when performing MRL. Drawings for explaining Example 1 are shown in FIGS. 12 and 13.
- k may be an integer greater than or equal to 1
- i may be an integer greater than or equal to 0 and smaller than k.
- the i-th reference line may correspond to the first reference line.
- the prediction value that is most similar to the restored value (reconstruction signal) of the ith reference line that is, the most similar reference line (second reference line)
- the prediction value of the reference line may be the reference line index of the corresponding reference line.
- Rec A may be a previously restored signal of area 'A'
- Rec L may be a previously restored signal of area 'L'
- Rec AL may be a previously restored signal of area 'AL'.
- the width q A of area ' A ' (p A Additionally, the height p L of area 'L' (p L x q L ) may be different from the height H of the current block, and the width q L may be greater than or equal to 1 and less than k. Additionally, p A and q L of area 'AL' (p A xq L ) may be greater than or equal to 1 and may be less than k.
- Rec L , Rec A , and Rec AL may each correspond to previously restored signals of 'L', 'A', and 'AL', which are areas adjacent to the current block (CU), and Rec L , Rec A , and Rec AL, respectively.
- the error between predicted values and restored values can be calculated using SAD (sum of absolute differences), SATD, or SSD (sum of squared differences).
- the error can be calculated through Equation 3 using SAD between (Pred L(k) , Rec L ), (Pred A(k) , Rec A ), and (Pred AL(k) , Rec AL ). there is. N represents the number of predicted values.
- the error can be calculated through Equation 4.
- the error can be calculated through Equation 5.
- the error can be calculated through Equation 6.
- embodiments of the present disclosure may be disabled.
- Example 1 the method of Example 1 and existing MRL technology for deriving ref_idx through a 1-bit first flag (derive_mrl_flag) can be selectively used.
- the multiple reference line index is signaled in the same way as the existing method, and MRL mode can be performed using this.
- the second reference line when mrl_flag is not 0, the second reference line can be derived without signaling a separate flag and multiple reference line index.
- FIG. 14 is a flowchart showing a video encoding method according to Embodiment 1
- FIG. 15 is a flowchart showing a video decoding method according to Embodiment 1.
- the video decoding device 200 may obtain mrl_flag from the bitstream (S1510) and determine whether to apply the MRL mode based on the value of mrl_flag (S1520).
- the video decoding device 200 may obtain derive_mrl_flag from the bitstream (S1510) and determine the value of derive_mrl_flag (S1540).
- prediction performance can be improved and coding efficiency can be improved by deriving multiple reference line indices without signaling.
- Embodiment 2 corresponds to a method of reordering multiple reference line candidates (reference line candidate list or list) based on error.
- Figure 16 is a flowchart showing an image encoding method and an image decoding method according to Example 2.
- the image encoding device 100 and the image decoding device 200 may determine the intra prediction mode (ipm) of the current block (S1610).
- the image encoding device 100 may encode and signal information about the determined intra prediction mode.
- the video decoding apparatus 200 may obtain information about the intra prediction mode from the bitstream and determine the intra prediction mode based on this.
- DIMD mode decoder-side intra mode derivation
- MIP matrix-based intra prediction
- MPM most probable modes
- SMPM secondary most probable mode
- ISP intra sub-partitions
- the video encoding device 100 and the video decoding device 200 may rearrange the order of a plurality of reference lines (S1620).
- the image encoding device 100 and the image decoding device 200 may perform prediction and restoration of the current block based on the reordered list (S1630).
- the reference line indicated by mrl_idx is determined as the second reference line, and intra prediction and restoration can be performed based on the second reference line.
- the video encoding device 100 and the video decoding device 200 may perform a process of updating mrl_idx of reference line candidates (reference line candidate list) in step S1620.
- mrl_candidate_list ⁇ 0, 1, 3, 5, 7, 12 ⁇
- 12 ⁇ since the 4th position in the reference line candidate list was 7, the value of mrl_idx can be updated to 3 based on the reordered reference line candidate list.
- Embodiment 3 is a method of configuring reference line candidates as a combination between upper reference lines and left reference lines.
- FIG. 17 A drawing for explaining the upper reference lines and the left reference lines is shown in FIG. 17.
- k A and k L may have the same or different values.
- the upper reference lines may be reference lines located above (A) of the current block (CU), and the left reference lines may be reference lines located on the left (L) side of the current block.
- the video encoding device 100 and the video decoding device 200 may configure a reference line candidate list.
- the reference line candidate list may be composed of a reference line candidate list (mrl_idx_candi_above) for upper reference lines and a reference line candidate list (mrl_idx_candi_left) for left reference lines.
- the video encoding device 100 and the video decoding device 200 generate prediction values for the first reference line based on combinations of the upper reference lines and the left reference lines, respectively, and based on any one of the generated combinations.
- the second reference line can be derived.
- the error can be determined by various combinations of (k L , k A ). can be calculated.
- (k L , k A ) is the combination of (0, 3), (1, 3), (3, 3), (5, 3), (7, 3), (12, 3) You can have it.
- Various combinations of (k L , k A ) can be defined as agreements between the video encoding device 100 and the video decoding device 200.
- x value of the upper left position of the current block (CU) is 0 or the y value is 0, or if the current block is located at a slice boundary, CTU boundary, picture boundary, etc. (k L , k A ) may be composed of the following combinations:
- Figure 18 is a diagram illustrating a content streaming system to which an embodiment according to the present disclosure can be applied.
- a content streaming system to which an embodiment of the present disclosure is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
- the encoding server compresses content input from multimedia input devices such as smartphones, cameras, camcorders, etc. into digital data, generates a bitstream, and transmits it to the streaming server.
- multimedia input devices such as smartphones, cameras, camcorders, etc. directly generate bitstreams
- the encoding server may be omitted.
- the bitstream may be generated by an image encoding method and/or an image encoding device to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
- the streaming server transmits multimedia data to the user device based on a user request through a web server, and the web server can serve as a medium to inform the user of what services are available.
- the web server delivers it to a streaming server, and the streaming server can transmit multimedia data to the user.
- the content streaming system may include a separate control server, and in this case, the control server may control commands/responses between each device in the content streaming system.
- the streaming server may receive content from a media repository and/or encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a certain period of time.
- Examples of the user device include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, slate PCs, Tablet PC, ultrabook, wearable device (e.g. smartwatch, smart glass, head mounted display), digital TV, desktop There may be computers, digital signage, etc.
- PDAs personal digital assistants
- PMPs portable multimedia players
- navigation slate PCs
- Tablet PC ultrabook
- wearable device e.g. smartwatch, smart glass, head mounted display
- digital TV desktop There may be computers, digital signage, etc.
- Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributedly processed.
- the scope of the present disclosure is software or machine-executable instructions (e.g., operating system, application, firmware, program, etc.) that cause operations according to the methods of various embodiments to be executed on a device or computer, and such software or It includes non-transitory computer-readable medium in which instructions, etc. are stored and can be executed on a device or computer.
- software or machine-executable instructions e.g., operating system, application, firmware, program, etc.
- Embodiments according to the present disclosure can be used to encode/decode images.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
영상 부호화/복호화 방법, 비트스트림 전송 방법 및 비트스트림을 저장하는 컴퓨터 판독 가능한 기록 매체가 제공된다. 본 개시에 따른 영상 복호화 방법은, 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서, 상기 현재 블록에 대한 제1 참조 라인을 현재 블록에 대한 복수의 참조 라인들 각각에 기반하여 예측한 예측 값들을 생성하는 단계; 상기 각 예측 값들과 상기 제1 참조 라인의 복원 값 간의 오차들을 계산하는 단계; 및 상기 오차들에 기반하여, 상기 복수의 참조 라인들 중에서 상기 현재 블록의 인트라 예측에 이용될 적어도 하나의 제2 참조 라인을 유도하는 단계를 포함하는, 영상 복호화 방법일 수 있다.
Description
본 개시는 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체에 관한 것으로서, 다중 참조 라인에 기반한 예측에 대한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하게 된다. 전송되는 정보량 또는 비트량의 증가는 전송 비용과 저장 비용의 증가를 초래한다.
이에 따라, 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위한 고효율의 영상 압축 기술이 요구된다.
본 개시는 부호화/복호화 효율이 향상된 영상 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 개시는 템플릿(template)에 기반한 다중 참조 라인 모드를 제안하는 것을 목적으로 한다.
또한, 본 개시는 템플릿 기반으로 다중 참조 라인 인덱스를 유도하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 개시는 템플릿 기반으로 다중 참조 라인 인덱스 후보 리스트를 재정렬(reordering)하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 개시는 수직 다중 참조 라인 인덱스와 수평 다중 참조 라인 인덱스를 조합하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 개시는 본 개시에 따른 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체를 제공하는 것을 목적으로 한다.
또한, 본 개시는 본 개시에 따른 영상 복호화 장치에 의해 수신되고 복호화되어 영상의 복원에 이용되는 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체를 제공하는 것을 목적으로 한다.
또한, 본 개시는 본 개시에 따른 영상 부호화 방법에 의해 생성된 비트스트림을 전송하는 방법을 제공하는 것을 목적으로 한다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따른 영상 복호화 방법은, 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서, 상기 현재 블록에 대한 제1 참조 라인을 현재 블록에 대한 복수의 참조 라인들 각각에 기반하여 예측한 예측 값들을 생성하는 단계; 상기 각 예측 값들과 상기 제1 참조 라인의 복원 값 간의 오차들을 계산하는 단계; 및 상기 오차들에 기반하여, 상기 복수의 참조 라인들 중에서 상기 현재 블록의 인트라 예측에 이용될 적어도 하나의 제2 참조 라인을 유도하는 단계를 포함하는, 영상 복호화 방법일 수 있다.
본 개시의 다른 양상에 따른 영상 부호화 방법은, 영상 부호화 장치에 의해 수행되는 영상 부호화 방법으로서, 상기 현재 블록에 대한 제1 참조 라인을 현재 블록에 대한 복수의 참조 라인들 각각에 기반하여 예측한 예측 값들을 생성하는 단계; 상기 각 예측 값들과 상기 제1 참조 라인의 복원 값 간의 오차들을 계산하는 단계; 및 상기 오차들에 기반하여, 상기 복수의 참조 라인들 중에서 상기 현재 블록의 인트라 예측에 이용될 적어도 하나의 제2 참조 라인을 유도하는 단계를 포함하는, 영상 부호화 방법일 수 있다.
본 개시의 또 다른 양상에 따른 컴퓨터 판독 가능한 기록 매체는, 본 개시의 영상 부호화 방법 또는 장치에 의해 생성된 비트스트림을 저장할 수 있다.
본 개시의 또 다른 양상에 따른 전송 방법은, 본 개시의 영상 부호화 방법 또는 장치에 의해 생성된 비트스트림을 전송할 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 부호화/복호화 효율이 향상된 영상 부호화/복호화 방법 및 장치가 제공될 수 있다.
또한, 본 개시에 따르면, 다중 참조 라인 인덱스를 시그널링하지 않고 유도함으로써 예측 성능이 향상되며 코딩 효율이 향상될 수 있다.
또한, 본 개시에 따르면, 다중 참조 라인 인덱스 후보들을 재정렬함으로써 해당 인덱스 시그널링을 위한 비트 효율이 향상될 수 있다.
또한, 본 개시에 따르면, 본 개시에 따른 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 본 개시에 따르면, 본 개시에 따른 영상 복호화 장치에 의해 수신되고 복호화되어 영상의 복원에 이용되는 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 본 개시에 따르면, 영상 부호화 방법에 의해 생성된 비트스트림을 전송하는 방법이 제공될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 따른 실시예가 적용될 수 있는 비디오 코딩 시스템을 개략적으로 나타내는 도면이다.
도 2는 본 개시에 따른 실시예가 적용될 수 있는 영상 부호화 장치를 개략적으로 나타내는 도면이다.
도 3은 본 개시에 따른 실시예가 적용될 수 있는 영상 복호화 장치를 개략적으로 나타내는 도면이다.
도 4는 인트라 예측에 기반한 영상 부호화 방법을 나타내는 흐름도이다.
도 5는 영상 부호화 장치 내 인트라 예측부를 개략적으로 나타내는 도면이다.
도 6은 인트라 예측에 기반한 영상 부호화 방법을 나타내는 흐름도이다.
도 7은 영상 복호화 장치 내 인트라 예측부를 개략적으로 나타내는 도면이다.
도 8은 템플릿에 기반하여 인트라 모드를 유도하는 방법을 설명하기 위한 도면이다.
도 9 및 도 10은 다중 참조 라인 모드를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법을 나타내는 흐름도이다.
도 12 및 도 13은 템플릿 기반 다중 참조 라인 모드를 설명하기 위한 도면이다.
도 14는 본 개시의 다른 일 실시예에 따른 영상 부호화 방법을 나타내는 흐름도이다.
도 15는 본 개시의 다른 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 16은 본 개시의 또 다른 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법을 나타내는 흐름도이다.
도 17은 참조 라인들 간의 조합을 설명하기 위한 도면이다.
도 18은 본 개시에 따른 실시예가 적용될 수 있는 컨텐츠 스트리밍 시스템을 예시적으로 나타내는 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 개시의 실시예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시예에서의 제1 구성요소는 다른 실시예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시예도 본 개시의 범위에 포함된다. 또한, 다양한 실시예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시예도 본 개시의 범위에 포함된다.
본 개시는 영상의 부호화 및 복호화에 관한 것으로서, 본 개시에서 사용되는 용어는, 본 개시에서 새롭게 정의되지 않는 한 본 개시가 속한 기술 분야에서 통용되는 통상의 의미를 가질 수 있다.
본 개시에서 "픽처(picture)"는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)/타일(tile)은 픽처의 일부를 구성하는 부호화 단위로서, 하나의 픽처는 하나 이상의 슬라이스/타일로 구성될 수 있다. 또한, 슬라이스/타일은 하나 이상의 CTU(coding tree unit)를 포함할 수 있다.
본 개시에서 "픽셀(pixel)" 또는 "펠(pel)"은 하나의 픽처(또는 영상)를 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 "샘플(sample)"이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 루마(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 크로마(chroma) 성분의 픽셀/픽셀값만을 나타낼 수도 있다.
본 개시에서 "유닛(unit)"은 영상 처리의 기본 단위를 나타낼 수 있다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 "샘플 어레이", "블록(block)" 또는 "영역(area)" 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들(또는 샘플 어레이) 또는 변환 계수(transform coefficient)들의 집합(또는 어레이)을 포함할 수 있다.
본 개시에서 "현재 블록"은 "현재 코딩 블록", "현재 코딩 유닛", "부호화 대상 블록", "복호화 대상 블록" 또는 "처리 대상 블록" 중 하나를 의미할 수 있다. 예측이 수행되는 경우, "현재 블록"은 "현재 예측 블록" 또는 "예측 대상 블록"을 의미할 수 있다. 변환(역변환)/양자화(역양자화)가 수행되는 경우, "현재 블록"은 "현재 변환 블록" 또는 "변환 대상 블록"을 의미할 수 있다. 필터링이 수행되는 경우, "현재 블록"은 "필터링 대상 블록"을 의미할 수 있다.
본 개시에서 "현재 블록"은 크로마 블록이라는 명시적인 기재가 없는 한 루마 성분 블록과 크로마 성분 블록을 모두 포함하는 블록 또는 "현재 블록의 루마 블록"을 의미할 수 있다. 현재 블록의 루마 성분 블록은 명시적으로 "루마 블록" 또는 "현재 루마 블록"과 같이 루마 성분 블록이라는 명시적인 기재를 포함하여 표현될 수 있다. 또한, 현재 블록의 크로마 성분 블록은 명시적으로 "크로마 블록" 또는 "현재 크로마 블록"과 같이 크로마 성분 블록이라는 명시적인 기재를 포함하여 표현될 수 있다.
본 개시에서 "/"와 ","는 "및/또는"으로 해석될 수 있다. 예를 들어, "A/B"와 "A, B"는 "A 및/또는 B"로 해석될 수 있다. 또한, "A/B/C"와 "A, B, C"는 "A, B 및/또는 C 중 적어도 하나"를 의미할 수 있다.
본 개시에서 "또는"은 "및/또는"으로 해석될 수 있다. 예를 들어, "A 또는 B"는, 1) "A" 만을 의미하거나 2) "B" 만을 의미하거나, 3) "A 및 B"를 의미할 수 있다. 또는, 본 개시에서 "또는"은 "추가적으로 또는 대체적으로(additionally or alternatively)"를 의미할 수 있다.
비디오 코딩 시스템 개요
도 1은 본 개시에 따른 실시예가 적용될 수 있는 비디오 코딩 시스템을 개략적으로 나타내는 도면이다.
일 실시예에 따른 비디오 코딩 시스템은 부호화 장치(10) 및 복호화 장치(20)를 포함할 수 있다. 부호화 장치(10)는 부호화된 비디오(video) 및/또는 영상(image) 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 복호화 장치(20)로 전달할 수 있다.
일 실시예에 따른 부호화 장치(10)는 비디오 소스 생성부(11), 부호화부(12), 전송부(13)를 포함할 수 있다. 일 실시예에 따른 복호화 장치(20)는 수신부(21), 복호화부(22) 및 렌더링부(23)를 포함할 수 있다. 상기 부호화부(12)는 비디오/영상 부호화부라고 불릴 수 있고, 상기 복호화부(22)는 비디오/영상 복호화부라고 불릴 수 있다. 전송부(13)는 부호화부(12)에 포함될 수 있다. 수신부(21)는 복호화부(22)에 포함될 수 있다. 렌더링부(23)는 디스플레이부를 포함할 수도 있고, 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다.
비디오 소스 생성부(11)는 비디오/영상의 캡쳐, 합성 또는 생성 과정 등을 통하여 비디오/영상을 획득할 수 있다. 비디오 소스 생성부(11)는 비디오/영상 캡쳐 디바이스 및/또는 비디오/영상 생성 디바이스를 포함할 수 있다. 비디오/영상 캡쳐 디바이스는 예를 들어, 하나 이상의 카메라, 이전에 캡쳐된 비디오/영상을 포함하는 비디오/영상 아카이브 등을 포함할 수 있다. 비디오/영상 생성 디바이스는 예를 들어 컴퓨터, 타블렛 및 스마트폰 등을 포함할 수 있으며 (전자적으로) 비디오/영상을 생성할 수 있다. 예를 들어, 컴퓨터 등을 통하여 가상의 비디오/영상이 생성될 수 있으며, 이 경우 관련 데이터가 생성되는 과정으로 비디오/영상 캡쳐 과정이 갈음될 수 있다.
부호화부(12)는 입력 비디오/영상을 부호화할 수 있다. 부호화부(12)는 압축 및 부호화 효율을 위하여 예측, 변환, 양자화 등 일련의 절차를 수행할 수 있다. 부호화부(12)는 부호화된 데이터(부호화된 비디오/영상 정보)를 비트스트림(bitstream) 형태로 출력할 수 있다.
전송부(13)는 비트스트림 형태로 출력된 부호화된 비디오/영상 정보 또는 데이터를 획득할 수 있으며, 이를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 복호화 장치(20)의 수신부(21) 또는 다른 외부 객체로 전달할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부(13)는 미리 정해진 파일 포맷을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘리먼트를 포함할 수 있다. 전송부(13)는 부호화 장치(12)와는 별개의 전송 장치로 구비될 수 있으며, 이 경우 전송 장치는 비트스트림 형태로 출력된 부호화된 비디오/영상 정보 또는 데이터를 획득하는 적어도 하나의 프로세서와 이를 파일 또는 스트리밍 형태로 전달하는 전송부를 포함할 수 있다. 수신부(21)는 상기 저장매체 또는 네트워크로부터 상기 비트스트림을 추출/수신하여 복호화부(22)로 전달할 수 있다.
복호화부(22)는 부호화부(12)의 동작에 대응하는 역양자화, 역변환, 예측 등 일련의 절차를 수행하여 비디오/영상을 복호화할 수 있다.
렌더링부(23)는 복호화된 비디오/영상을 렌더링할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다.
영상 부호화 장치 개요
도 2는 본 개시에 따른 실시예가 적용될 수 있는 영상 부호화 장치를 개략적으로 도시한 도면이다.
도 2에 도시된 바와 같이, 영상 부호화 장치(100)는 영상 분할부(110), 감산부(115), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 가산부(155), 필터링부(160), 메모리(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함할 수 있다. 인터 예측부(180) 및 인트라 예측부(185)는 합쳐서 "예측부"라고 지칭될 수 있다. 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150)는 레지듀얼(residual) 처리부에 포함될 수 있다. 레지듀얼 처리부는 감산부(115)를 더 포함할 수도 있다.
영상 부호화 장치(100)를 구성하는 복수의 구성부들의 전부 또는 적어도 일부는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어, 인코더 또는 프로세서)로 구현될 수 있다. 또한 메모리(170)는 DPB(decoded picture buffer)를 포함할 수 있고, 디지털 저장 매체에 의하여 구현될 수 있다.
영상 분할부(110)는 영상 부호화 장치(100)에 입력된 입력 영상(또는, 픽쳐, 프레임)을 하나 이상의 처리 유닛(processing unit)으로 분할할 수 있다. 일 예로, 상기 처리 유닛은 코딩 유닛(coding unit, CU)이라고 불릴 수 있다. 코딩 유닛은 코딩 트리 유닛(coding tree unit, CTU) 또는 최대 코딩 유닛(largest coding unit, LCU)을 QT/BT/TT (Quad-tree/binary-tree/ternary-tree) 구조에 따라 재귀적으로(recursively) 분할함으로써 획득될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조, 바이너리 트리 구조 및/또는 터너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 코딩 유닛의 분할을 위해, 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조 및/또는 터너리 트리 구조가 나중에 적용될 수 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 개시에 따른 코딩 절차가 수행될 수 있다. 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 최대 코딩 유닛을 분할하여 획득한 하위 뎁스의 코딩 유닛이 최종 코닛 유닛으로 사용될 수도 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환 및/또는 복원 등의 절차를 포함할 수 있다. 다른 예로, 상기 코딩 절차의 처리 유닛은 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다. 상기 예측 유닛 및 상기 변환 유닛은 각각 상기 최종 코딩 유닛으로부터 분할 또는 파티셔닝될 수 있다. 상기 예측 유닛은 샘플 예측의 단위일 수 있고, 상기 변환 유닛은 변환 계수를 유도하는 단위 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 단위일 수 있다.
예측부(인터 예측부(180) 또는 인트라 예측부(185))는 처리 대상 블록(현재 블록)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(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) 및 움직임 벡터 예측자에 대한 지시자(indicator)를 부호화함으로써 현재 블록의 움직임 벡터를 시그널링할 수 있다. 움직임 벡터 차분은 현재 블록의 움직임 벡터와 움직임 벡터 예측자 간의 차이를 의미할 수 있다.
예측부는 후술하는 다양한 예측 방법 및/또는 예측 기법을 기반으로 예측 신호를 생성할 수 있다. 예를 들어, 예측부는 현재 블록의 예측을 위해 인트라 예측 또는 인터 예측을 적용할 수 있을 뿐 아니라, 인트라 예측과 인터 예측을 동시에 적용할 수 있다. 현재 블록의 예측을 위해 인트라 예측과 인터 예측을 동시에 적용하는 예측 방법은 combined inter and intra prediction (CIIP)라고 불릴 수 있다. 또한, 예측부는 현재 블록의 예측을 위해 인트라 블록 카피(intra block copy, IBC)를 수행할 수도 있다. 인트라 블록 카피는 예를 들어 SCC(screen content coding) 등과 같이 게임 등의 컨텐츠 영상/동영상 코딩을 위하여 사용될 수 있다. IBC는 현재 블록으로부터 소정의 거리만큼 떨어진 위치의 현재 픽처 내 기복원된 참조 블록을 이용하여 현재 블록을 예측하는 방법이다. IBC가 적용되는 경우, 현재 픽처 내 참조 블록의 위치는 상기 소정의 거리에 해당하는 벡터(블록 벡터)로서 부호화될 수 있다. IBC는 기본적으로 현재 픽처 내에서 예측을 수행하나, 현재 픽처 내에서 참조 블록을 도출하는 점에서, 인터 예측과 유사하게 수행될 수 있다. 즉 IBC는 본 개시에서 설명되는 인터 예측 기법들 중 적어도 하나를 이용할 수 있다.
예측부를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다. 감산부(115)는 입력 영상 신호(원본 블록, 원본 샘플 어레이)로부터 예측부에서 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)를 감산하여 레지듀얼 신호(residual signal, 잔여 블록, 잔여 샘플 어레이)를 생성할 수 있다. 생성된 레지듀얼 신호는 변환부(120)로 전송될 수 있다.
변환부(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)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 인코딩된 정보(ex. 인코딩된 비디오/영상 정보)는 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다. 상기 비디오/영상 정보는 어댑테이션 파라미터 세트(APS), 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS) 등 다양한 파라미터 세트에 관한 정보를 더 포함할 수 있다. 또한 상기 비디오/영상 정보는 일반 제한 정보(general constraint information)를 더 포함할 수 있다. 본 개시에서 언급된 시그널링 정보, 전송되는 정보 및/또는 신택스 요소들은 상술한 인코딩 절차를 통하여 인코딩되어 상기 비트스트림에 포함될 수 있다.
상기 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는 디지털 저장매체에 저장될 수 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다. 엔트로피 인코딩부(190)로부터 출력된 신호를 전송하는 전송부(미도시) 및/또는 저장하는 저장부(미도시)가 영상 부호화 장치(100)의 내/외부 엘리먼트로서 구비될 수 있고, 또는 전송부는 엔트로피 인코딩부(190)의 구성요소로서 구비될 수도 있다.
양자화부(130)로부터 출력된 양자화된 변환 계수들은 레지듀얼 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 변환 계수들에 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 레지듀얼 신호(레지듀얼 블록 or 레지듀얼 샘플들)를 복원할 수 있다.
가산부(155)는 복원된 레지듀얼 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호에 더함으로써 복원(reconstructed) 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)를 생성할 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다. 가산부(155)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다.
필터링부(160)는 복원 신호에 필터링을 적용하여 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어 필터링부(160)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 상기 수정된 복원 픽처를 메모리(170), 구체적으로 메모리(170)의 DPB에 저장할 수 있다. 상기 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter) 등을 포함할 수 있다. 필터링부(160)는 각 필터링 방법에 대한 설명에서 후술하는 바와 같이 필터링에 관한 다양한 정보를 생성하여 엔트로피 인코딩부(190)로 전달할 수 있다. 필터링에 관한 정보는 엔트로피 인코딩부(190)에서 인코딩되어 비트스트림 형태로 출력될 수 있다.
메모리(170)에 전송된 수정된 복원 픽처는 인터 예측부(180)에서 참조 픽처로 사용될 수 있다. 영상 부호화 장치(100)는 이를 통하여 인터 예측이 적용되는 경우, 영상 부호화 장치(100)와 영상 복호화 장치에서의 예측 미스매치를 피할 수 있고, 부호화 효율도 향상시킬 수 있다.
메모리(170) 내 DPB는 인터 예측부(180)에서의 참조 픽처로 사용하기 위해 수정된 복원 픽처를 저장할 수 있다. 메모리(170)는 현재 픽처 내 움직임 정보가 도출된(또는 인코딩된) 블록의 움직임 정보 및/또는 이미 복원된 픽처 내 블록들의 움직임 정보를 저장할 수 있다. 상기 저장된 움직임 정보는 공간적 주변 블록의 움직임 정보 또는 시간적 주변 블록의 움직임 정보로 활용하기 위하여 인터 예측부(180)에 전달될 수 있다. 메모리(170)는 현재 픽처 내 복원된 블록들의 복원 샘플들을 저장할 수 있고, 인트라 예측부(185)에 전달할 수 있다.
영상 복호화 장치 개요
도 3은 본 개시에 따른 실시예가 적용될 수 있는 영상 복호화 장치를 개략적으로 도시한 도면이다.
도 3에 도시된 바와 같이, 영상 복호화 장치(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 가산부(235), 필터링부(240), 메모리(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다. 인터 예측부(260) 및 인트라 예측부(265)를 합쳐서 "예측부"라고 지칭될 수 있다. 역양자화부(220), 역변환부(230)는 레지듀얼 처리부에 포함될 수 있다.
영상 복호화 장치(200)를 구성하는 복수의 구성부들의 전부 또는 적어도 일부는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 디코더 또는 프로세서)로 구현될 수 있다. 또한 메모리(170)는 DPB를 포함할 수 있고, 디지털 저장 매체에 의하여 구현될 수 있다.
비디오/영상 정보를 포함하는 비트스트림을 수신한 영상 복호화 장치(200)는 도 2의 영상 부호화 장치(100)에서 수행된 프로세스에 대응하는 프로세스를 수행하여 영상을 복원할 수 있다. 예를 들어, 영상 복호화 장치(200)는 영상 부호화 장치에서 적용된 처리 유닛을 이용하여 디코딩을 수행할 수 있다. 따라서 디코딩의 처리 유닛은 예를 들어 코딩 유닛일 수 있다. 코딩 유닛은 코딩 트리 유닛이거나 또는 최대 코딩 유닛을 분할하여 획득될 수 있다. 그리고, 영상 복호화 장치(200)를 통해 디코딩 및 출력된 복원 영상 신호는 재생 장치(미도시)를 통해 재생될 수 있다.
영상 복호화 장치(200)는 도 2의 영상 부호화 장치로부터 출력된 신호를 비트스트림 형태로 수신할 수 있다. 수신된 신호는 엔트로피 디코딩부(210)를 통해 디코딩될 수 있다. 예를 들어, 엔트로피 디코딩부(210)는 상기 비트스트림을 파싱하여 영상 복원(또는 픽처 복원)에 필요한 정보(예를 들어, 비디오/영상 정보)를 도출할 수 있다. 상기 비디오/영상 정보는 어댑테이션 파라미터 세트(APS), 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS) 등 다양한 파라미터 세트에 관한 정보를 더 포함할 수 있다. 또한 상기 비디오/영상 정보는 일반 제한 정보(general constraint information)를 더 포함할 수 있다. 영상 복호화 장치는 영상을 디코딩하기 위해 상기 파라미터 세트에 관한 정보 및/또는 상기 일반 제한 정보를 추가적으로 이용할 수 있다. 본 개시에서 언급된 시그널링 정보, 수신되는 정보 및/또는 신택스 요소들은 상기 디코딩 절차를 통하여 디코딩됨으로써 상기 비트스트림으로부터 획득될 수 있다. 예를 들어, 엔트로피 디코딩부(210)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 영상 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값들을 출력할 수 있다. 보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 블록 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)을 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다. 엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(인터 예측부(260) 및 인트라 예측부(265))로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수들 및 관련 파라미터 정보는 역양자화부(220)로 입력될 수 있다. 또한, 엔트로피 디코딩부(210)에서 디코딩된 정보 중 필터링에 관한 정보는 필터링부(240)로 제공될 수 있다. 한편, 영상 부호화 장치로부터 출력된 신호를 수신하는 수신부(미도시)가 영상 복호화 장치(200)의 내/외부 엘리먼트로서 추가적으로 구비될 수 있고, 또는 수신부는 엔트로피 디코딩부(210)의 구성요소로서 구비될 수도 있다.
한편, 본 개시에 따른 영상 복호화 장치는 비디오/영상/픽처 복호화 장치라고 불릴 수 있다. 상기 영상 복호화 장치는 정보 디코더(비디오/영상/픽처 정보 디코더) 및/또는 샘플 디코더(비디오/영상/픽처 샘플 디코더)를 포함할 수도 있다. 상기 정보 디코더는 엔트로피 디코딩부(210)를 포함할 수 있고, 상기 샘플 디코더는 역양자화부(220), 역변환부(230), 가산부(235), 필터링부(240), 메모리(250), 인터 예측부(260) 및 인트라 예측부(265) 중 적어도 하나를 포함할 수 있다.
역양자화부(220)에서는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 출력할 수 있다. 역양자화부(220)는 양자화된 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 이 경우 상기 재정렬은 영상 부호화 장치에서 수행된 계수 스캔 순서에 기반하여 수행될 수 있다. 역양자화부(220)는 양자화 파라미터(예를 들어 양자화 스텝 사이즈 정보)를 이용하여 양자화된 변환 계수들에 대한 역양자화를 수행하고, 변환 계수들(transform coefficient)을 획득할 수 있다.
역변환부(230)에서는 변환 계수들을 역변환하여 레지듀얼 신호(레지듀얼 블록, 레지듀얼 샘플 어레이)를 획득할 수 있다.
예측부는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부는 엔트로피 디코딩부(210)로부터 출력된 상기 예측에 관한 정보를 기반으로 상기 현재 블록에 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있고, 구체적인 인트라/인터 예측 모드(예측 기법)를 결정할 수 있다.
예측부가 후술하는 다양한 예측 방법(기법)을 기반으로 예측 신호를 생성할 수 있음은 영상 부호화 장치(100)의 예측부에 대한 설명에서 언급된 바와 동일하다.
인트라 예측부(265)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 인트라 예측부(185)에 대한 설명은 인트라 예측부(265)에 대해서도 동일하게 적용될 수 있다.
인터 예측부(260)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기반하여 움직임 정보를 블록, 서브블록 또는 샘플 단위로 예측할 수 있다. 상기 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 상기 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측 등) 정보를 더 포함할 수 있다. 인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 예를 들어, 인터 예측부(260)는 주변 블록들을 기반으로 움직임 정보 후보 리스트를 구성하고, 수신한 후보 선택 정보를 기반으로 상기 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출할 수 있다. 다양한 예측 모드(기법)를 기반으로 인터 예측이 수행될 수 있으며, 상기 예측에 관한 정보는 상기 현재 블록에 대한 인터 예측의 모드(기법)를 지시하는 정보를 포함할 수 있다.
가산부(235)는 획득된 레지듀얼 신호를 예측부(인터 예측부(260) 및/또는 인트라 예측부(265) 포함)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)에 더함으로써 복원 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)를 생성할 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다. 가산부(155)에 대한 설명은 가산부(235)에 대해서도 동일하게 적용될 수 있다. 가산부(235)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다.
필터링부(240)는 복원 신호에 필터링을 적용하여 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어 필터링부(240)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 상기 수정된 복원 픽처를 메모리(250), 구체적으로 메모리(250)의 DPB에 저장할 수 있다. 상기 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter) 등을 포함할 수 있다.
메모리(250)의 DPB에 저장된 (수정된) 복원 픽처는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다. 메모리(250)는 현재 픽처 내 움직임 정보가 도출된(또는 디코딩된) 블록의 움직임 정보 및/또는 이미 복원된 픽처 내 블록들의 움직임 정보를 저장할 수 있다. 상기 저장된 움직임 정보는 공간적 주변 블록의 움직임 정보 또는 시간적 주변 블록의 움직임 정보로 활용하기 위하여 인터 예측부(260)에 전달할 수 있다. 메모리(250)는 현재 픽처 내 복원된 블록들의 복원 샘플들을 저장할 수 있고, 인트라 예측부(265)에 전달할 수 있다.
본 명세서에서, 영상 부호화 장치(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 영상 복호화 장치(200)의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일 또는 대응되도록 적용될 수 있다.
인트라 예측
인트라 예측은 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 참조 샘플들을 기반으로 현재 블록에 대한 예측 샘플들을 생성하는 예측을 나타낼 수 있다. 현재 블록에 인트라 예측이 적용되는 경우, 현재 블록의 인트라 예측에 사용할 주변 참조 샘플들이 도출될 수 있다. 상기 현재 블록의 주변 참조 샘플들은 nWxnH 크기의 현재 블록의 좌측(left) 경계에 인접한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2xnH 개의 샘플들, 현재 블록의 상측(top) 경계에 인접한 샘플 및 우상측(top-right)에 이웃하는 총 2xnW 개의 샘플들 및 현재 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 포함할 수 있다. 또는, 상기 현재 블록의 주변 참조 샘플들은 복수열의 상측 주변 샘플들 및 복수행의 좌측 주변 샘플들을 포함할 수도 있다. 또한, 상기 현재 블록의 주변 참조 샘플들은 nWxnH 크기의 현재 블록의 우측(right) 경계에 인접한 총 nH 개의 샘플들, 현재 블록의 하측(bottom) 경계에 인접한 총 nW 개의 샘플들 및 현재 블록의 우하측(bottom-right)에 이웃하는 1개의 샘플을 포함할 수도 있다.
다만, 현재 블록의 주변 참조 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 영상 복호화 장치(200)는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitution)하여 예측에 사용할 주변 참조 샘플들을 구성할 수 있다. 또는, 이용 가능한 샘플들의 보간(interpolation)을 통하여 예측에 사용할 주변 참조 샘플들을 구성할 수 있다.
주변 참조 샘플들이 도출된 경우, (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 또한, 상기 주변 참조 샘플들 중 상기 현재 블록의 예측 샘플을 기준으로 상기 현재 블록의 인트라 예측 모드의 예측 방향의 반대 방향에 위치하는 상기 제2 주변 샘플과 상기 제1 주변 샘플과의 보간을 통하여 상기 예측 샘플이 생성될 수도 있다. 상술한 경우는 선형 보간 인트라 예측(Linear interpolation intra prediction, LIP) 이라고 불릴 수 있다. 또한, 선형 모델(linear model)을 이용하여 루마 샘플들을 기반으로 크로마 예측 샘플들이 생성될 수도 있다. 이 경우는 LM 모드라고 불릴 수 있다. 또한, 필터링된 주변 참조 샘플들을 기반으로 상기 현재 블록의 임시 예측 샘플을 도출하고, 상기 기존의 주변 참조 샘플들, 즉, 필터링되지 않은 주변 참조 샘플들 중 상기 인트라 예측 모드에 따라 도출된 적어도 하나의 참조 샘플과 상기 임시 예측 샘플을 가중합(weighted sum)하여 상기 현재 블록의 예측 샘플을 도출할 수도 있다. 상술한 경우는 PDPC(Position dependent intra prediction) 라고 불릴 수 있다. 또한, 현재 블록의 주변 다중 참조 샘플 라인 중 가장 예측 정확도가 높은 참조 샘플 라인을 선택하여 해당 라인에서 예측 방향에 위치하는 참조 샘플을 이용하여 예측 샘플을 도출하고 이 때, 사용된 참조 샘플 라인을 영상 복호화 장치(200)에 지시(시그널링)하는 방법으로 인트라 예측 부호화를 수행할 수 있다. 상술한 경우는 multi-reference line (MRL) intra prediction 또는 MRL 기반 인트라 예측이라고 불릴 수 있다. 또한, 현재 블록을 수직 또는 수평의 서브 파티션들로 나누어 동일한 인트라 예측 모드를 기반으로 인트라 예측을 수행하되, 상기 서브 파티션 단위로 주변 참조 샘플들을 도출하여 이용할 수 있다. 즉, 이 경우 현재 블록에 대한 인트라 예측 모드가 상기 서브 파티션들에 동일하게 적용되되, 상기 서브 파티션 단위로 주변 참조 샘플을 도출하여 이용함으로써 경우에 따라 인트라 예측 성능을 높일 수 있다. 이러한 예측 방법은 intra sub-partitions (ISP) 또는 ISP 기반 인트라 예측이라고 불릴 수 있다. 상술한 인트라 예측 방법들은 목차 1.2에서의 인트라 예측 모드와 구분하여 인트라 예측 타입이라고 불릴 수 있다. 상기 인트라 예측 타입은 인트라 예측 기법 또는 부가 인트라 예측 모드 등 다양한 용어로 불릴 수 있다. 예를 들어 상기 인트라 예측 타입(또는 부가 인트라 예측 모드 등)은 상술한 LIP, PDPC, MRL, ISP 중 적어도 하나를 포함할 수 있다. 상기 LIP, PDPC, MRL, ISP 등의 특정 인트라 예측 타입을 제외한 일반 인트라 예측 방법은 노멀(nomal) 인트라 예측 타입이라고 불릴 수 있다. 노멀 인트라 예측 타입은 상기와 같은 특정 인트라 예측 타입이 적용되지 않는 경우 일반적으로 적용될 수 있으며, 상술한 인트라 예측 모드를 기반으로 예측이 수행될 수 있다. 한편, 필요에 따라서 도출된 예측 샘플에 대한 후처리 필터링이 수행될 수도 있다.
구체적으로, 인트라 예측 절차는 인트라 예측 모드/타입 결정 단계, 주변 참조 샘플 도출 단계, 인트라 예측 모드/타입 기반 예측 샘플 도출 단계를 포함할 수 있다. 또한, 필요에 따라서 도출된 예측 샘플에 대한 후처리 필터링(post-filtering) 단계가 수행될 수도 있다.
한편, 상술한 인트라 예측 타입들 외에도 affine linear weighted intra prediction (ALWIP)이 사용될 수 있다. 상기 ALWIP는 LWIP(linear weighted intra prediction) 또는 MIP(matrix weighted intra prediction 또는 matrix based intra prediction)이라고 불릴 수도 있다. 상기 MIP가 현재 블록에 대하여 적용되는 경우, i) 에버러징(averaging) 절차가 수행된 주변 참조 샘플들을 이용하여 ii) 메트릭스 벡터 멀티플리케이션(matrix-vector-multiplication) 절차를 수행하고, iii) 필요에 따라 수평/수직 보간(interpolation) 절차를 더 수행하여 상기 현재 블록에 대한 예측 샘플들을 도출할 수 있다. 상기 MIP를 위하여 사용되는 인트라 예측 모드들은 상술한 LIP, PDPC, MRL, ISP 인트라 예측이나, 노멀 인트라 예측에서 사용되는 인트라 예측 모드들과 다르게 구성될 수 있다. 상기 MIP를 위한 인트라 예측 모드는 MIP intra prediction mode, MIP prediction mode 또는 MIP mode라고 불릴 수 있다. 예를 들어, 상기 MIP를 위한 인트라 예측 모드에 따라 상기 메트릭스 벡터 멀티플리케이션에서 사용되는 메트릭스 및 오프셋이 다르게 설정될 수 있다. 여기서 상기 메트릭스는 (MIP) 가중치 메트릭스라고 불릴 수 있고, 상기 오프셋은 (MIP) 오프셋 벡터 또는 (MIP) 바이어스(bias) 벡터라고 불릴 수 있다. 구체적인 MIP 방법에 대하여는 후술한다.
인트라 예측에 기반한 블록 복원 절차 및 영상 부호화 장치(100) 내 인트라 예측부(185)는 개략적으로 예를 들어 도 4 및 도 5를 포함할 수 있다.
S400은 영상 부호화 장치(100)의 인트라 예측부(185)에 의하여 수행될 수 있고, S410은 영상 부호화 장치(100)의 레지듀얼 처리부에 의하여 수행될 수 있다. 구체적으로 S410은 영상 부호화 장치(100)의 감산부(115)에 의하여 수행될 수 있다. S420에서 예측 정보는 인트라 예측부(185)에 의하여 도출되고, 엔트로피 인코딩부(190)에 의하여 인코딩될 수 있다. S420에서 레지듀얼 정보는 레지듀얼 처리부에 의하여 도출되고, 엔트로피 인코딩부(190)에 의하여 인코딩될 수 있다. 상기 레지듀얼 정보는 상기 레지듀얼 샘플들에 관한 정보이다. 상기 레지듀얼 정보는 상기 레지듀얼 샘플들에 대한 양자화된 변환 계수들에 관한 정보를 포함할 수 있다. 상술한 바와 같이 상기 레지듀얼 샘플들은 영상 부호화 장치(100)의 변환부(120)를 통하여 변환 계수들로 도출되고, 상기 변환 계수들은 양자화부(130)를 통하여 양자화된 변환 계수들로 도출될 수 있다. 상기 양자화된 변환 계수들에 관한 정보가 레지듀얼 코딩 절차를 통하여 엔트로피 인코딩부(190)에서 인코딩될 수 있다.
영상 부호화 장치(100)는 현재 블록에 대한 인트라 예측을 수행한다(S400). 영상 부호화 장치(100)는 현재 블록에 대한 인트라 예측 모드/타입을 도출하고, 현재 블록의 주변 참조 샘플들을 도출할 수 있고, 상기 인트라 예측 모드/타입 및 상기 주변 참조 샘플들을 기반으로 상기 현재 블록 내 예측 샘플들을 생성한다. 여기서 인트라 예측 모드/타입 결정, 주변 참조 샘플들 도출 및 예측 샘플들 생성 절차는 동시에 수행될 수도 있고, 어느 한 절차가 다른 절차보다 먼저 수행될 수도 있다. 예를 들어, 영상 부호화 장치(100)의 인트라 예측부(185)는 인트라 예측 모드/타입 결정부(186), 참조 샘플 도출부(187), 예측 샘플 도출부(188)를 포함할 수 있으며, 인트라 예측 모드/타입 결정부(186)에서 상기 현재 블록에 대한 인트라 예측 모드/타입을 결정하고, 참조 샘플 도출부(187)에서 상기 현재 블록의 주변 참조 샘플들을 도출하고, 예측 샘플 도출부(188)에서 상기 현재 블록의 예측 샘플들을 도출할 수 있다. 한편, 비록 도시되지는 않았지만, 후술하는 예측 샘플 필터링 절차가 수행되는 경우, 인트라 예측부(185)는 예측 샘플 필터부(미도시)를 더 포함할 수도 있다. 영상 부호화 장치(100)는 복수의 인트라 예측 모드/타입들 중 상기 현재 블록에 대하여 적용되는 모드/타입을 결정할 수 있다. 영상 부호화 장치(100)는 상기 인트라 예측 모드/타입들에 대한 RD cost를 비교하고 상기 현재 블록에 대한 최적의 인트라 예측 모드/타입을 결정할 수 있다.
한편, 영상 부호화 장치(100)는 예측 샘플 필터링 절차를 수행할 수도 있다. 예측 샘플 필터링은 포스트 필터링이라 불릴 수 있다. 상기 예측 샘플 필터링 절차에 의하여 상기 예측 샘플들 중 일부 또는 전부가 필터링될 수 있다. 경우에 따라 상기 예측 샘플 필터링 절차는 생략될 수 있다.
영상 부호화 장치(100)는 (필터링된) 예측 샘플들을 기반으로 상기 현재 블록에 대한 레지듀얼 샘플들을 생성한다(S410). 영상 부호화 장치(100)는 현재 블록의 원본 샘플들에서 상기 예측 샘플들을 위상 기반으로 비교하고, 상기 레지듀얼 샘플들을 도출할 수 있다.
영상 부호화 장치(100)는 상기 인트라 예측에 관한 정보 (예측 정보) 및 상기 레지듀얼 샘플들에 관한 레지듀얼 정보를 포함하는 영상 정보를 인코딩할 수 있다(S420). 상기 예측 정보는 상기 인트라 예측 모드 정보, 상기 인트라 예측 타입 정보를 포함할 수 있다. 영상 부호화 장치(100)는 인코딩된 영상 정보를 비트스트림 형태로 출력될 수 있다. 출력된 비트스트림은 저장매체 또는 네트워크를 통하여 영상 복호화 장치(200)로 전달될 수 있다.
상기 레지듀얼 정보는 후술하는 레지듀얼 코딩 신텍스를 포함할 수 있다. 영상 부호화 장치(100)는 상기 레지듀얼 샘플들을 변환/양자화하여 양자화된 변환 계수들을 도출할 수 있다. 상기 레지듀얼 정보는 상기 양자화된 변환 계수들에 대한 정보를 포함할 수 있다.
한편, 상술한 바와 같이 영상 부호화 장치(100)는 복원 픽처(복원 샘플들 및 복원 블록 포함)를 생성할 수 있다. 이를 위하여 영상 부호화 장치(100)는 상기 양자화된 변환 계수들을 다시 역양자화/역변환 처리하여 (수정된) 레지듀얼 샘플들을 도출할 수 있다. 이와 같이 레지듀얼 샘플들을 변환/양자화 후 다시 역양자화/역변환을 수행하는 이유는 상술한 바와 같이 영상 복호화 장치(200)에서 도출되는 레지듀얼 샘플들과 동일한 레지듀얼 샘플들을 도출하기 위함이다. 영상 부호화 장치(100)는 상기 예측 샘플들과 상기 (수정된) 레지듀얼 샘플들을 기반으로 상기 현재 블록에 대한 복원 샘플들을 포함하는 복원 블록을 생성할 수 있다. 상기 복원 블록을 기반으로 상기 현재 픽처에 대한 복원 픽처가 생성될 수 있다. 상기 복원 픽처에 인루프 필터링 절차 등이 더 적용될 수 있음은 상술한 바와 같다.
인트라 예측에 기반한 비디오/영상 디코딩 절차 및 영상 복호화 장치(200) 내 인트라 예측부는 개략적으로 예를 들어 다음을 포함할 수 있다.
영상 복호화 장치(200)는 상기 영상 부호화 장치(100)에서 수행된 동작과 대응되는 동작을 수행할 수 있다.
S600 내지 S620은 영상 복호화 장치(200)의 인트라 예측부(265)에 의하여 수행될 수 있고, S600의 예측 정보 및 S630의 레지듀얼 정보는 영상 복호화 장치(200)의 엔트로피 디코딩부(210)에 의하여 비트스트림으로부터 획득될 수 있다. 영상 복호화 장치(200)의 레지듀얼 처리부는 상기 레지듀얼 정보를 기반으로 현재 블록에 대한 레지듀얼 샘플들을 도출할 수 있다. 구체적으로 상기 레지듀얼 처리부의 역양자화부(220)는 상기 레지듀얼 정보를 기반으로 도출된 양자화된 변환 계수들을 기반으로, 역양자화를 수행하여 변환 계수들을 도출하고, 상기 레지듀얼 처리부의 역변환부(230)은 상기 변환 계수들에 대한 역변환을 수행하여 상기 현재 블록에 대한 레지듀얼 샘플들을 도출할 수 있다. S640은 영상 복호화 장치(200)의 가산부(235) 또는 복원부에 의하여 수행될 수 있다.
구체적으로 영상 복호화 장치(200)는 수신된 예측 정보 (인트라 예측 모드/타입 정보)를 기반으로 현재 블록에 대한 인트라 예측 모드/타입을 도출할 수 있다(S600). 영상 복호화 장치(200)는 상기 현재 블록의 주변 참조 샘플들을 도출할 수 있다(S610). 영상 복호화 장치(200)는 상기 인트라 예측 모드/타입 및 상기 주변 참조 샘플들을 기반으로 상기 현재 블록 내 예측 샘플들을 생성한다(S620). 이 경우 영상 복호화 장치(200)는 예측 샘플 필터링 절차를 수행할 수 있다. 예측 샘플 필터링은 포스트 필터링이라 불릴 수 있다. 상기 예측 샘플 필터링 절차에 의하여 상기 예측 샘플들 중 일부 또는 전부가 필터링될 수 있다. 경우에 따라 예측 샘플 필터링 절차는 생략될 수 있다.
영상 복호화 장치(200)는 수신된 레지듀얼 정보를 기반으로 상기 현재 블록에 대한 레지듀얼 샘플들을 생성한다. 영상 복호화 장치(200)는 상기 예측 샘플들 및 상기 레지듀얼 샘플들을 기반으로 상기 현재 블록에 대한 복원 샘플들을 생성하고, 상기 복원 샘플들을 포함하는 복원 블록을 도출할 수 있다(S630). 상기 복원 블록을 기반으로 상기 현재 픽처에 대한 복원 픽처가 생성될 수 있다. 상기 복원 픽처에 인루프 필터링 절차 등이 더 적용될 수 있음은 상술한 바와 같다.
여기서, 영상 복호화 장치(200)의 인트라 예측부(265)는 인트라 예측 모드/타입 결정부(266), 참조 샘플 도출부(267), 예측 샘플 도출부(268)를 포함할 수 있으며, 인트라 예측 모드/타입 결정부(266)는 영상 부호화 장치(100)의 인트라 예측 모드/타입 결정부(186)에서 생성되어 시그널링된 인트라 예측 모드/타입 정보를 기반으로 상기 현재 블록에 대한 인트라 예측 모드/타입을 결정하고, 참조 샘플 도출부(266)는 상기 현재 블록의 주변 참조 샘플들을 도출하고, 예측 샘플 도출부(267)는 상기 현재 블록의 예측 샘플들을 도출할 수 있다. 한편, 비록 도시되지는 않았지만, 상술한 예측 샘플 필터링 절차가 수행되는 경우, 인트라 예측부(265)는 예측 샘플 필터부(미도시)를 더 포함할 수도 있다.
상기 인트라 예측 모드 정보는 예를 들어 MPM(most probable mode)가 상기 현재 블록에 적용되는지 아니면 리메이닝 모드(remaining mode)가 적용되는지 여부를 나타내는 플래그 정보(ex. intra_luma_mpm_flag)를 포함할 수 있고, 상기 MPM이 상기 현재 블록에 적용되는 경우 상기 예측 모드 정보는 상기 인트라 예측 모드 후보들(MPM 후보들) 중 하나를 가리키는 인덱스 정보(ex. intra_luma_mpm_idx)를 더 포함할 수 있다. 상기 인트라 예측 모드 후보들(MPM 후보들)은 MPM 후보 리스트 또는 MPM 리스트로 구성될 수 있다. 또한, 상기 MPM이 상기 현재 블록에 적용되지 않는 경우, 상기 인트라 예측 모드 정보는 상기 인트라 예측 모드 후보들(MPM 후보들)을 제외한 나머지 인트라 예측 모드들 중 하나를 가리키는 리메이닝 모드 정보(ex. intra_luma_mpm_remainder)를 더 포함할 수 있다. 영상 복호화 장치(200)는 상기 인트라 예측 모드 정보를 기반으로 상기 현재 블록의 인트라 예측 모드를 결정할 수 있다. 상술한 MIP를 위하여 별도의 MPM 리스트가 구성될 수 있다.
또한, 상기 인트라 예측 타입 정보는 다양한 형태로 구현될 수 있다. 일 예로, 상기 인트라 예측 타입 정보는 상기 인트라 예측 타입들 중 하나를 지시하는 인트라 예측 타입 인덱스 정보를 포함할 수 있다. 다른 예로, 상기 인트라 예측 타입 정보는 상기 MRL이 상기 현재 블록에 적용되는지 및 적용되는 경우에는 몇 번째 참조 샘플 라인이 이용되는지 여부를 나타내는 참조 샘플 라인 정보(ex. intra_luma_ref_idx), 상기 ISP가 상기 현재 블록에 적용되는지를 나타내는 ISP 플래그 정보(ex. intra_subpartitions_mode_flag), 상기 ISP가 적용되는 경우에 서브 파티션들이 분할 타입을 지시하는 ISP 타입 정보 (ex. intra_subpartitions_split_flag), PDCP의 적용 여부를 나타내는 플래그 정보 또는 LIP의 적용 여부를 나타내는 플래그 정보 중 적어도 하나를 포함할 수 있다. 또한, 상기 인트라 예측 타입 정보는 상기 현재 블록에 MIP가 적용되는지 여부를 나타내는 MIP 플래그를 포함할 수 있다.
상기 인트라 예측 모드 정보 및/또는 상기 인트라 예측 타입 정보는 본 문서에서 설명한 코딩 방법을 통하여 인코딩/디코딩될 수 있다. 예를 들어, 상기 인트라 예측 모드 정보 및/또는 상기 인트라 예측 타입 정보는 truncated (rice) binary code를 기반으로 엔트로피 코딩(ex. CABAC, CAVLC) 코딩을 통하여 인코딩/디코딩될 수 있다.
Template based intra mode derivation (TIMD)
도 8은 템플릿에 기반하여 인트라 모드를 유도하는 방법(TIMD)을 설명하기 위한 도면이다.
TIMD에서는 주변의 인접한 인트라 블록 및 인터 블록의 IPM(intra prediction mode) 인트라 모드에 대하여, 템플릿 영역으로부터 예측한 예측 블록과 실제 복원 샘플과의 Sum of absolute transformed difference (SATD)를 구한 뒤 가장 적은 SATD를 갖는 모드를 현재 블록의 인트라 모드로 선택할 수 있다.
또는, TIMD에서는 가장 적은 SATD를 갖는 2개의 모드를 선택한 뒤, 그 두 예측 모드에 대한 예측 블록을 가중 합(weighted sum) 방법으로 블렌딩(blending)하여 현재 블록의 예측 블록으로 사용할 수 있다.
두 개의 모드를 블렌딩하는 방법은 아래와 같은 조건(수식 1)을 만족할 때 적용할 수 있다.
위의 조건을 만족할 경우 2개의 모드를 블렌딩하여 예측 블록을 생성하고, 그렇지 않은 경우는 최소 SATD값을 갖는 1개의 모드만을 선택할 수 있다.
두 개의 예측 블록을 블렌딩할 때의 가중치(weight) 비율은 아래의 수식 2와 같다.
Multi-reference line (MRL) intra prediction
도 9 및 도 10은 다중 참조 라인(MRL) (인트라 예측) 모드를 설명하기 위한 도면이다.
종래의 인트라 예측은 현재 블록의 상측 첫번째 라인의 주변 샘플들 및 좌측 첫번째 라인의 주변 샘플들만을 인트라 예측을 위한 참조 샘플들로 이용하였다. 그러나 Multiple-reference line (MRL) 방법에서는 현재 블록의 상측 및/또는 좌측에 대하여 하나 내지 세 개 샘플 거리만큼 떨어진 샘플 라인에 위치한 주변 샘플들을 참조 샘플들로 이용하여 인트라 예측을 수행할 수 있다. 도 9는 상기 다중 참조 라인의 예를 나타내며, 여기서 다중 참조 라인 인덱스(ex. mrl_idx)는 현재 블록에 대하여 어떤 라인이 인트라 예측을 위하여 사용되는지를 나타낸다.
예를 들어, 상기 다중 참조 라인 인덱스는 표 1의 코딩 유닛 신텍스를 통하여 시그널링될 수 있다. 상기 다중 참조 라인 인덱스는 intra_luma_ref_idx 신택스 요소의 형태로 구성될 수 있다.
intra_luma_ref_idx는 표 2에 나타낸 인트라 참조 라인 인덱스 IntraLumaRefLineIdx[ x0 ][ y0 ]를 특정할 수 있다. intra_luma_ref_idx가 존재하지 않는 경우, intra_luma_ref_idx의 값은 0으로 추론될 수 있다. intra_luma_ref_idx는 (인트라) 참조 샘플 라인 인덱스, mrl_idx 또는 인덱스 정보라고 불릴 수 있다. 또한, intra_luma_ref_idx는 intra_luma_ref_line_idx라고 불릴 수도 있다.
MRL은 CTU 내 첫번째 라인(행)의 블록들에 대하여는 disable될 수 있다. 이는 현재 CTU 라인 외부의 확장 참조 샘플들(extended reference lines)이 사용되는 것을 막기 위함이다. 또한, 상술한 추가 참조 라인이 사용되는 경우에는 상술한 PDPC가 disable될 수 있다.
상기 MRL 방법에서는 현재 블록의 상측 및/또는 좌측에 대하여 하나 내지 세 개 샘플 거리만큼 떨어진 샘플 라인에 위치한 주변 샘플들을 참조 샘플들로 이용하여 인트라 예측을 수행하였지만, 확장된 MRL(extended MRL) 방법에서는 현재 블록의 상측 및/또는 좌측에 대하여 열두 개 샘플 거리만큼 떨어진 샘플 라인에 위치한 주변 샘플들을 참조 샘플들로 이용하여 인트라 예측을 할 수 있도록 확장되었다. extended MRL list의 참조 샘플 라인 인덱스는 {1, 3, 5, 7, 12}로 구성되며, 도 10은 확장된 MRL 후보 리스트 예를 나타낸다. 또한, 표 3은 확장된 MRL에서의 intra_luma_ref_idx와 IntraLumaRefLineIdx[ x0 ][ y0 ] 간의 관계를 나타낸다.
실시예
본 개시는 템플릿에 기반하여 MRL을 수행하는 실시예들을 제안한다. 도 11은 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법을 나타내는 흐름도이다.
도 11을 참조하면, 영상 부호화 장치(100)와 영상 복호화 장치(200)는 제1 참조 라인에 대한 예측 값들을 생성할 수 있다(S1110).
제1 참조 라인은 MRL에 이용될 수 있는 복수의 참조 라인들 중에서 어느 하나에 해당할 수 있다. 여기서, 복수의 참조 라인들은 현재 블록에 대한 참조 라인들에 해당할 수 있다. 또한, 제1 참조 라인은 앞서 설명된 TIMD의 템플릿에 해당할 수 있다. 제1 참조 라인은 복수의 참조 라인들 중에서 현재 블록에 가장 인접한 참조 라인(예를 들어, 인덱스의 값이 0인 참조 라인)일 수 있다.
제1 참조 라인에 대한 예측 값은 복수의 참조 라인들 각각에 기반하여 생성될 수 있다. 예를 들어, 복수의 참조 라인들 중에서 어느 하나의 참조 라인에 기반하여 제1 참조 라인에 대한 예측 값이 생성될 수 있으며, 복수의 참조 라인들 중에서 다른 하나의 참조 라인에 기반하여 제1 참조 라인에 대한 다른 예측 값이 생성될 수 있다.
영상 부호화 장치(100)와 영상 복호화 장치(200)는 각 예측 값들과 제1 참조 라인의 복원된 값(제1 참조 라인의 복원 값) 간의 오차를 계산할 수 있다(S1120). 예측 값이 복수의 참조 라인들 각각에 기반하여 생성되므로, 오차도 복수의 참조 라인들 각각에 대해 계산될 수 있다.
여기서, 오차는 앞서 설명된 TIMD의 '템플릿 영역으로부터 예측한 예측 블록과 실제 복원 샘플 간의 차분'에 기반하여 계산될 수 있다. 오차는 "비용(cost)", "에러(error)", "차분(difference)" 등으로 지칭될 수 있다. 즉, 본 개시에서, "오차", "비용", "에러", "차분" 등은 같은 의미를 가질 수 있다.
영상 부호화 장치(100)와 영상 복호화 장치(200)는 계산된 오차들에 기반하여 제2 참조 라인을 유도할 수 있다(S1130). 제2 참조 라인은 복수의 참조 라인들 중에서 현재 블록의 인트라 예측에 이용될 참조 라인에 해당할 수 있다.
이하에서는 본 개시를 통해 제안하는 실시예들에 대해 구체적으로 설명하도록 한다. 아래에서 설명되는 실시예들은 도 11에 표현된 과정들 중에서 적어도 하나의 과정으로서 수행될 수 있다.
실시예 1
실시예 1은 MRL 수행 시에 다중 참조 라인 인덱스(ref_idx)를 시그널링하지 않고 영상 부호화 장치(100)와 영상 복호화 장치(200)에서 유도하는 방법에 대한 것이다. 실시예 1을 설명하기 위한 도면이 도 12 및 도 13에 나타나 있다.
도 12에서, k는 1 이상의 정수일 수 있으며, i는 0 이상이며 k 보다 작은 정수일 수 있다. 도 12를 참조하면, 현재 블록(CU)에 대한 복수의 참조 라인들(ref_idx=0 ... k)의 샘플들을 이용하여 i번째(ref_idx=i) 참조 라인의 샘플들이 예측될 수 있다. i번째 참조 라인은 제1 참조 라인에 해당할 수 있다. i번째 참조 라인의 예측 값들 중에서 i번째 참조 라인의 복원 값(복원 신호)에 가장 유사한 예측 값, 즉 가장 유사한 참조 라인(제2 참조 라인)이 현재 블록의 예측을 위한 참조 라인(또는, 해당 참조 라인의 참조 라인 인덱스)으로 결정될 수 있다. 이상의 설명에서, 참조 라인의 예측 값은 해당 참조 라인의 참조 라인 인덱스일 수 있다.
도 13에서, PredA(k)는 ref_idx=k의 참조 샘플로 예측한 영역 'A'의 예측 신호이고, PredL(k)는 ref_idx=k의 참조 샘플로 예측한 영역 'L'의 예측 신호이며, PredAL(k)는 ref_idx=k의 참조 샘플로 예측한 영역 'AL'의 예측 신호일 수 있다. 또한, RecA는 영역 'A'의 기 복원된 신호이고, RecL은 영역 'L'의 기 복원된 신호이며, RecAL은 영역 'AL'의 기 복원된 신호일 수 있다. 또한, 영역 'A'(pAxqA)의 너비 qA는 현재 블록의 너비 W와 다를 수 있으며, 높이 pA는 1 보다 크거나 같을 수 있고, k 보다 작을 수 있다. 또한, 영역 'L'(pLxqL)의 높이 pL은 현재 블록의 높이 H와 다를 수 있으며, 너비 qL은 1 보다 크거나 같을 수 있고, k 보다 작을 수 있다. 또한, 영역 'AL'(pAxqL)의 pA, qL은 1 보다 크거나 같을 수 있으며, k 보다 작을 수 있다.
RecL, RecA 및 RecAL 각각은 현재 블록(CU)에 인접한 영역인 'L', 'A' 및 'AL'의 기 복원된 신호에 해당할 수 있으며, RecL, RecA 및 RecAL 각각의 동일한 위치에 ref_idx=k의 참조 샘플로 예측한 값들(신호들) PredL(k), PredA(k) 및 PredAL(k)가 생성될 수 있다.
한편, 예측 값들과 복원 값들 간의 오차는 SAD(sum of absolute differences), SATD 또는 SSD(sum of squared differences) 등을 이용하여 계산될 수 있다. 예를 들어, (PredL(k) , RecL), (PredA(k) , RecA), (PredAL(k) , RecAL) 간 SAD를 이용하여 수식 3을 통해 오차가 계산될 수 있다. N은 예측 값들의 개수를 나타낸다.
다른 예로, 현재 블록의 left 및 above 참조 샘플만 이용 가능한 경우, 수식 4를 통해 오차가 계산될 수 있다.
또 다른 예로, 현재 블록의 left 참조 샘플만 이용 가능한 경우, 수식 5를 통해 오차가 계산될 수 있다.
또 다른 예로, 현재 블록의 above 참조 샘플만 이용 가능한 경우, 수식 6을 통해 오차가 계산될 수 있다.
실시예를 달리하여, 현재 블록이 슬라이스 경계, CTU 경계, 픽처 경계 등에 위치한 경우에는 본 개시의 실시예들이 비활성화(disable)될 수 있다.
한편, 1-bit의 제1 플래그(derive_mrl_flag)를 통해, ref_idx를 유도하는 실시예 1의 방법과 기존의 MRL 기술이 선택적으로 사용될 수 있다.
표 4와 같이, MRL의 적용 여부를 나타내는 mrl_flag의 값을 판단하고, MRL이 적용되는 경우에(mrl_flag=0) derive_mrl_flag가 시그널링될 수 있다. derive_mrl_flag=1인 경우에는 실시예 1에서 제안하는 것과 같이 계산된 오차가 최소인 참조 라인이 현재 블록의 예측을 위한 참조 라인(제2 참조 라인)으로 결정될 수 있다. 이와 달리, derive_mrl_flag=0인 경우에는 기존 방법과 동일하게 다중 참조 라인 인덱스(intra_luma_ref_idx)가 시그널링되며, 이를 이용하여 MRL 모드가 수행될 수 l있다.
실시예를 달리하여, 표 5에 표현된 바와 같이, mrl_flag가 0이 아닐 경우에 별도의 플래그 및 다중 참조 라인 인덱스의 시그널링 없이 제2 참조 라인이 유도될 수 있다.
도 14는 실시예 1에 따른 영상 부호화 방법을 나타내는 흐름도이며, 도 15는 실시예 1에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 14를 참조하면, 영상 부호화 장치(100)는 MRL 모드의 적용 여부를 결정하고(S1410), MRL 모드를 적용하지 않는 것으로 결정한 경우에는 mrl_flag=0을 부호화할 수 있다(S1420).
영상 부호화 장치(100)는 MRL 모드를 적용하는 것으로 결정한 경우에는 참조 라인 인덱스(ref_idx)의 시그널링 여부를 판단할 수 있다(S1430). 참조 라인 인덱스를 시그널링하는 것으로 판단된 경우(즉, 종래의 MRL 방법을 적용하는 경우), 영상 부호화 장치(100)는 mrl_flag=1, derive_mrl_flag=0 및 ref_idx를 부호화할 수 있다(S1440). 이와 달리, 참조 라인 인덱스를 시그널링하지 않는 것으로 판단된 경우(즉, 실시예 1에서 제안하는 방법을 적용하는 경우), 영상 부호화 장치(100)는 mrl_flag=1 및 derive_mrl_flag=1을 부호화할 수 있다(S1450).
도 15를 참조하면, 영상 복호화 장치(200)는 mrl_flag를 비트스트림으로부터 획득하고(S1510), mrl_flag의 값에 기반하여 MRL 모드의 적용 여부를 결정할 수 있다(S1520).
MRL 모드가 적용되는 경우(mrl_flag=1), 영상 복호화 장치(200)는 derive_mrl_flag를 비트스트림으로부터 획득하고(S1510), derive_mrl_flag의 값을 판단할 수 있다(S1540).
derive_mrl_flag=0인 경우에는 기존 MRL 방법이 적용되므로, 영상 복호화 장치(200)는 ref_idx를 비트스트림으로부터 획득하고(S1550), 복수의 참조 라인들 중에서 ref_idx가 나타내는 참조 라인에 기반하여 현재 블록에 대한 인트라 예측을 수행할 수 있다.
이와 달리, derive_mrl_flag=1인 경우에는 실시예 1을 통해 제안되는 방법이 적용되므로, 영상 복호화 장치(200)는 ref_idx를 획득하지 않고, 복수의 참조 라인들 중에서 제2 참조 라인을 앞서 설명된 오차에 기반하여 유도하며, 제2 참조 라인에 기반하여 현재 블록에 대한 인트라 예측을 수행할 수 있다.
이상에서 설명된 실시예에 따르면, 다중 참조 라인 인덱스를 시그널링하지 않고 유도함으로써 예측 성능이 향상되며 코딩 효율이 향상될 수 있다.
실시예 2
실시예 2는 다중 참조 라인 후보들(참조 라인 후보 리스트 또는 리스트)을 오차에 기반하여 재정렬(reordering)하는 방법에 해당한다.
도 16은 실시예 2에 따른 영상 부호화 방법 및 영상 복호화 방법을 나타내는 흐름도이다.
도 16을 참조하면, 영상 부호화 장치(100)와 영상 복호화 장치(200)는 현재 블록의 인트라 예측 모드(ipm)를 결정할 수 있다(S1610).
영상 부호화 장치(100)는 결정된 인트라 예측 모드에 대한 정보를 부호화하여 시그널링할 수 있다. 영상 복호화 장치(200)는 비트스트림으로부터 인트라 예측 모드에 대한 정보를 획득하고, 이에 기반하여 인트라 예측 모드를 결정할 수 있다.
인트라 예측 모드를 획득하기 위한 DIMD 모드(decoder-side intra mode derivation), MIP(matrix-based intra prediction) 모드, MPM(most probable modes), SMPM(secondary most probable mode) 모드, ISP(intra sub-partitions) 모드 등이 포함될 수 있다. 또한, S1610 과정에서 mrl_idx가 획득될 수 있다.
영상 부호화 장치(100)와 영상 복호화 장치(200)는 복수의 참조 라인들의 순서를 재정렬할 수 있다(S1620).
영상 부호화 장치(100)와 영상 복호화 장치(200)는 제1 참조 라인을 예측한 예측 값들과 제1 참조 라인의 복원 값 간의 오차들을 계산하고, 계산된 오차들에 기반하여 참조 라인 후보들을 재정렬할 수 있다. 오차 계산은 앞서 설명된 방법들에 의해 수행될 수 있다. 구체적으로, 수식 3 내지 6의 방법들 중에서 어느 하나의 방법을 이용하여 오차들이 계산될 수 있다. 예를 들어, 참조 라인 후보 리스트가 mrl_candidate_list={0, 1, 3, 5, 7, 12}이고 현재 블록으로부터 12번째 참조 라인까지 접근이 가능한 경우, 0번째 참조 라인을 제외한 각 리스트의 후보들인 1, 3, 5, 7, 12에 대해 오차가 계산되며, 참조 라인 후보들은 계산된 오차를 기반으로 오름 차순으로 재정렬될 수 있다.
영상 부호화 장치(100)와 영상 복호화 장치(200)는 재정렬된 리스트에 기반하여 현재 블록에 대한 예측 및 복원을 수행할 수 있다(S1630). 재배열된 참조 라인 후보들 중에서 mrl_idx가 나타내는 참조 라인이 제2 참조 라인으로 결정되며, 제2 참조 라인에 기반한 인트라 예측 및 복원이 수행될 수 있다.
실시예에 따라, 영상 부호화 장치(100)와 영상 복호화 장치(200)는 S1620 과정에서 참조 라인 후보들(참조 라인 후보 리스트)의 mrl_idx를 업데이트하는 과정을 수행할 수 있다.
예를 들어, mrl_candidate_list={0, 1, 3, 5, 7, 12}이고 S1610 과정에서 mrl_idx=7이 획득되었으며, S1620 과정에서 참조 라인 후보 리스트가 mrl_candidate_list={0, 1, 7, 5, 3, 12}로 재정렬되었다면, 참조 라인 후보 리스트 내 4번째 위치가 7이였으므로, mrl_idx의 값은 재정렬된 참조 라인 후보 리스트를 기준으로 3으로 업데이트될 수 있다.
실시예 3
실시예 3은 참조 라인 후보들을 상측 참조 라인들과 좌측 참조 라인들 간의 조합으로 구성하는 방법이다.
상측 참조 라인들과 좌측 참조 라인들을 설명하기 위한 도면이 도 17에 나타나 있다. 도 17에서, kA와 kL은 서로 같거나 다른 값을 가질 수 있다. 상측 참조 라인들은 현재 블록(CU)의 상측(A)에 위치하는 참조 라인이며, 좌측 참조 라인들은 현재 블록의 좌측(L)에 위치하는 참조 라인일 수 있다.
영상 부호화 장치(100)와 영상 복호화 장치(200)는 참조 라인 후보 리스트를 구성할 수 있다. 참조 라인 후보 리스트는 상측 참조 라인들을 위한 참조 라인 후보 리스트(mrl_idx_candi_above)와 좌측 참조 라인들을 위한 참조 라인 후보 리스트(mrl_idx_candi_left)로 구성될 수 있다.
영상 부호화 장치(100)와 영상 복호화 장치(200)는 제1 참조 라인에 대한 예측 값들을 상측 참조 라인들과 좌측 참조 라인들의 조합들 각각에 기반하여 생성하며, 생성된 조합들 중에서 어느 하나에 기반하여 제2 참조 라인을 유도할 수 있다.
mrl_idx_candi_above={0, 1, 3, 5, 7, 12}, mrl_idx_candi_left={0, 1, 3, 5, 7, 12}라고 가정한 경우, (kL, kA)의 다양한 조합에 의해 오차가 계산될 수 있다. 예를 들어, (kL, kA)는 (0, 3), (1, 3), (3, 3), (5, 3), (7, 3), (12, 3)의 조합을 가질 수 있다. (kL, kA)의 다양한 조합은 영상 부호화 장치(100)와 영상 복호화 장치(200) 간에 약속으로 정의될 수 있다.
실시예들에 따라, 최소의 오차를 가지는 참조 라인(ref_idx=k)이 결정되면, 참조 라인들을 이용하여 (kL, kA)의 조합이 추가적으로 생성될 수 있다. 예를 들어, (kL, kA)는 결정된 참조 라인(ref_idx=k)과 가까운 (k, k-1), (k, k+1), (k-1, k), (k+1, k)의 조합으로 구성될 수 있다.
실시예들에 따라, 현재 블록(CU)의 좌상단 위치의 x 값이 0이거나 y 값이 0인 경우, 또는 현재 블록이 슬라이스 경계, CTU 경계, 픽처 경계 등에 위치한 경우에는 (kL, kA)는 다음과 같은 조합으로 구성될 수도 있다.
- CU 좌상단 위치의 x 값이 0 또는 슬라이스 경계, CTU 경계, 픽처 경계 등에 위치한 경우: (kL, kA)=(0, k)
- CU 좌상단 위치의 y 값이 0 또는 슬라이스 경계, CTU 경계, 픽처 경계 등에 위치한 경우: (kL, kA)=(k, 0)
- x 값, y 값 모두 0 또는 모두 슬라이스 경계, CTU 경계, 픽처 경계 등에 위치한 경우: 제안하는 조합을 수행하지 않음
도 18은 본 개시에 따른 실시예가 적용될 수 있는 컨텐츠 스트리밍 시스템을 예시적으로 나타낸 도면이다.
도 18에 도시된 바와 같이, 본 개시의 실시예가 적용된 컨텐츠 스트리밍 시스템은 크게 인코딩 서버, 스트리밍 서버, 웹 서버, 미디어 저장소, 사용자 장치 및 멀티미디어 입력 장치를 포함할 수 있다.
상기 인코딩 서버는 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들로부터 입력된 컨텐츠를 디지털 데이터로 압축하여 비트스트림을 생성하고 이를 상기 스트리밍 서버로 전송하는 역할을 한다. 다른 예로, 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들이 비트스트림을 직접 생성하는 경우, 상기 인코딩 서버는 생략될 수 있다.
상기 비트스트림은 본 개시의 실시예가 적용된 영상 부호화 방법 및/또는 영상 부호화 장치에 의해 생성될 수 있고, 상기 스트리밍 서버는 상기 비트스트림을 전송 또는 수신하는 과정에서 일시적으로 상기 비트스트림을 저장할 수 있다.
상기 스트리밍 서버는 웹 서버를 통한 사용자 요청에 기반하여 멀티미디어 데이터를 사용자 장치에 전송하고, 상기 웹 서버는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 할 수 있다. 사용자가 상기 웹 서버에 원하는 서비스를 요청하면, 상기 웹 서버는 이를 스트리밍 서버에 전달하고, 상기 스트리밍 서버는 사용자에게 멀티미디어 데이터를 전송할 수 있다. 이때, 상기 컨텐츠 스트리밍 시스템은 별도의 제어 서버를 포함할 수 있고, 이 경우 상기 제어 서버는 상기 컨텐츠 스트리밍 시스템 내 각 장치 간 명령/응답을 제어하는 역할을 수행할 수 있다.
상기 스트리밍 서버는 미디어 저장소 및/또는 인코딩 서버로부터 컨텐츠를 수신할 수 있다. 예를 들어, 상기 인코딩 서버로부터 컨텐츠를 수신하는 경우, 상기 컨텐츠를 실시간으로 수신할 수 있다. 이 경우, 원활한 스트리밍 서비스를 제공하기 위하여 상기 스트리밍 서버는 상기 비트스트림을 일정 시간동안 저장할 수 있다.
상기 사용자 장치의 예로는, 휴대폰, 스마트 폰(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, 데스크탑 컴퓨터, 디지털 사이니지 등이 있을 수 있다.
상기 컨텐츠 스트리밍 시스템 내 각 서버들은 분산 서버로 운영될 수 있으며, 이 경우 각 서버에서 수신하는 데이터는 분산 처리될 수 있다.
본 개시의 범위는 다양한 실시예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
본 개시에 따른 실시예는 영상을 부호화/복호화하는데 이용될 수 있다.
Claims (10)
- 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서,상기 현재 블록에 대한 제1 참조 라인을 현재 블록에 대한 복수의 참조 라인들 각각에 기반하여 예측한 예측 값들을 생성하는 단계;상기 각 예측 값들과 상기 제1 참조 라인의 복원 값 간의 오차들을 계산하는 단계; 및상기 오차들에 기반하여, 상기 복수의 참조 라인들 중에서 상기 현재 블록의 인트라 예측에 이용될 적어도 하나의 제2 참조 라인을 유도하는 단계를 포함하는, 영상 복호화 방법.
- 제1항에 있어서,상기 제1 참조 라인은 상기 복수의 참조 라인들 중에서 상기 현재 블록에 가장 인접한 참조 라인인, 영상 복호화 방법.
- 제1항에 있어서,상기 제2 참조 라인은 상기 복수의 참조 라인들 중에서 최소의 오차를 가지는 참조 라인으로 유도되는, 영상 복호화 방법.
- 제3항에 있어서,비트스트림으로부터 획득되는 제1 플래그가 제1 값을 나타내는 것에 기반하여, 상기 제2 참조 라인은 상기 최소의 오차를 가지는 참조 라인으로 유도되는, 영상 복호화 방법.
- 제1항에 있어서,상기 제2 참조 라인을 유도하는 단계는,상기 오차들에 기반하여, 상기 복수의 참조 라인들의 순서를 재배열하는 단계; 및상기 재배열된 복수의 참조 라인들 중에서 인덱스 정보가 나타내는 참조 라인을 상기 제2 참조 라인으로 유도하는 단계를 포함하는, 영상 복호화 방법.
- 제5항에 있어서,상기 복수의 참조 라인들은 상기 오차들에 기반하여 오름차순으로 재배열되는, 영상 복호화 방법.
- 제5항에 있어서,비트스트림으로부터 획득되는 제1 플래그가 제2 값을 나타내는 것에 기반하여, 상기 인덱스 정보는 상기 비트스트림으로부터 획득되는, 영상 복호화 방법.
- 제1항에 있어서,상기 복수의 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들을 포함하고,상기 예측 값들은 상기 상측 참조 라인들 및 상기 좌측 참조 라인들의 조합들 각각에 기반하여 생성되며,상기 제2 참조 라인은 상기 조합들 중에서 어느 하나에 기반하여 유도되는, 영상 복호화 방법.
- 영상 부호화 장치에 의해 수행되는 영상 부호화 방법으로서,상기 현재 블록에 대한 제1 참조 라인을 현재 블록에 대한 복수의 참조 라인들 각각에 기반하여 예측한 예측 값들을 생성하는 단계;상기 각 예측 값들과 상기 제1 참조 라인의 복원 값 간의 오차들을 계산하는 단계; 및상기 오차들에 기반하여, 상기 복수의 참조 라인들 중에서 상기 현재 블록의 인트라 예측에 이용될 적어도 하나의 제2 참조 라인을 유도하는 단계를 포함하는, 영상 부호화 방법.
- 영상 부호화 방법에 의해 생성된 비트스트림을 전송하는 방법으로서, 상기 영상 부호화 방법은,상기 현재 블록에 대한 제1 참조 라인을 현재 블록에 대한 복수의 참조 라인들 각각에 기반하여 예측한 예측 값들을 생성하는 단계;상기 각 예측 값들과 상기 제1 참조 라인의 복원 값 간의 오차들을 계산하는 단계; 및상기 오차들에 기반하여, 상기 복수의 참조 라인들 중에서 상기 현재 블록의 인트라 예측에 이용될 적어도 하나의 제2 참조 라인을 유도하는 단계를 포함하는, 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0079698 | 2022-06-29 | ||
KR20220079698 | 2022-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024005480A1 true WO2024005480A1 (ko) | 2024-01-04 |
Family
ID=89380909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/008850 WO2024005480A1 (ko) | 2022-06-29 | 2023-06-26 | 다중 참조 라인에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024005480A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190166370A1 (en) * | 2016-05-06 | 2019-05-30 | Vid Scale, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
KR20210129729A (ko) * | 2019-03-21 | 2021-10-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인트라-예측을 위한 방법 및 장치 |
KR20210136157A (ko) * | 2019-05-08 | 2021-11-16 | 엘지전자 주식회사 | Mip 및 lfnst를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
KR20210158432A (ko) * | 2018-05-12 | 2021-12-30 | 주식회사 윌러스표준기술연구소 | 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치 |
KR20220016937A (ko) * | 2016-10-14 | 2022-02-10 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
-
2023
- 2023-06-26 WO PCT/KR2023/008850 patent/WO2024005480A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190166370A1 (en) * | 2016-05-06 | 2019-05-30 | Vid Scale, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
KR20220016937A (ko) * | 2016-10-14 | 2022-02-10 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
KR20210158432A (ko) * | 2018-05-12 | 2021-12-30 | 주식회사 윌러스표준기술연구소 | 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치 |
KR20210129729A (ko) * | 2019-03-21 | 2021-10-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인트라-예측을 위한 방법 및 장치 |
KR20210136157A (ko) * | 2019-05-08 | 2021-11-16 | 엘지전자 주식회사 | Mip 및 lfnst를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020071829A1 (ko) | 히스토리 기반 영상 코딩 방법 및 그 장치 | |
WO2020071830A1 (ko) | 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치 | |
WO2020184991A1 (ko) | Ibc 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020149630A1 (ko) | 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치 | |
WO2020197202A1 (ko) | Mpm 리스트에 기반한 인트라 예측 방법 및 그 장치 | |
WO2020141932A1 (ko) | Cpr 기반 mmvd를 이용하는 인터 예측 방법 및 장치 | |
WO2020167097A1 (ko) | 영상 코딩 시스템에서 인터 예측을 위한 인터 예측 타입 도출 | |
WO2019225933A1 (ko) | 영상 코딩 시스템에서 lut를 기반으로 도출된 mvd 를 사용하는 영상 디코딩 방법 및 그 장치 | |
WO2020141886A1 (ko) | Sbtmvp 기반 인터 예측 방법 및 장치 | |
WO2020005002A1 (ko) | 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치 | |
WO2020256506A1 (ko) | 다중 참조 라인 인트라 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020180159A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020141831A2 (ko) | 인트라 블록 카피 예측을 이용한 영상 코딩 방법 및 장치 | |
WO2020141856A1 (ko) | 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치 | |
WO2020180043A1 (ko) | Lmcs에 기반한 영상 코딩 방법 및 그 장치 | |
WO2020184966A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020180044A1 (ko) | Lmcs에 기반한 영상 코딩 방법 및 그 장치 | |
WO2024005480A1 (ko) | 다중 참조 라인에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
WO2024005541A1 (ko) | 서브 픽처 레벨에서 참조 픽처 마킹 프로세스를 수행하는 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
WO2023200237A1 (ko) | 기하 분할된 블록에 대한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
WO2020180120A1 (ko) | Lmcs에 기반한 영상 코딩 방법 및 그 장치 | |
WO2023204675A1 (ko) | 템플릿 매칭을 이용하는 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
WO2024005456A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2023249353A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2024080766A1 (ko) | 비분리 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23831840 Country of ref document: EP Kind code of ref document: A1 |