WO2023191404A1 - 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 - Google Patents

적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 Download PDF

Info

Publication number
WO2023191404A1
WO2023191404A1 PCT/KR2023/004002 KR2023004002W WO2023191404A1 WO 2023191404 A1 WO2023191404 A1 WO 2023191404A1 KR 2023004002 W KR2023004002 W KR 2023004002W WO 2023191404 A1 WO2023191404 A1 WO 2023191404A1
Authority
WO
WIPO (PCT)
Prior art keywords
mode
current block
mts
prediction
ciip
Prior art date
Application number
PCT/KR2023/004002
Other languages
English (en)
French (fr)
Inventor
최장원
최정아
유선미
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2023191404A1 publication Critical patent/WO2023191404A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Definitions

  • the present disclosure relates to a video encoding/decoding method, device, and recording medium for storing bitstreams, and more specifically, to a video encoding/decoding method and device based on adaptive MTS in CIIP mode, and to a video encoding method/decoding device of the present disclosure. It relates to a recording medium that stores a bitstream generated by .
  • 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 provide a video encoding/decoding method and device that adaptively applies MTS in CIIP mode.
  • the present disclosure aims to provide a video encoding/decoding method and device for adaptively determining an MTS set in CIIP mode.
  • the present disclosure aims to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the video encoding method or device 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 or device according to the present disclosure.
  • An image decoding method includes the steps of determining whether multiple transform selection (MTS) is applied to a current block, and based on the MTS being applied to the current block, a predetermined MTS set ( and performing inverse transformation on the current block based on (set), and the MTS set may be determined based on whether the prediction mode of the current block is a combined inter and intra prediction (CIIP) mode.
  • MTS multiple transform selection
  • An image decoding apparatus includes a memory and at least one processor, wherein the at least one processor determines whether multiple transform selection (MTS) is applied to the current block, and determines whether multiple transform selection (MTS) is applied to the current block. Based on the application of the MTS, inverse transformation is performed on the current block based on a predetermined MTS set, where the prediction mode of the current block is CIIP (Combined inter and intra prediction) mode. It can be decided based on whether it is recognized or not.
  • MTS multiple transform selection
  • MTS multiple transform selection
  • An image encoding method includes determining whether multiple transform selection (MTS) is applied to a current block, and based on whether the MTS is applied to the current block, a predetermined MTS set. and performing transformation on the current block based on (set), and the MTS set may be determined based on whether the prediction mode of the current block is a combined inter and intra prediction (CIIP) mode.
  • MTS multiple transform selection
  • a computer-readable recording medium can store a bitstream generated by the video encoding method or video encoding device of the present disclosure.
  • a transmission method may transmit a bitstream generated by the video encoding device or video encoding method of the present disclosure.
  • an image encoding/decoding method and device with improved encoding/decoding efficiency can be provided.
  • a video encoding/decoding method and device that adaptively applies MTS in CIIP mode can be provided.
  • a video encoding/decoding method and device for adaptively determining an MTS set in CIIP mode can be provided.
  • a non-transitory computer-readable recording medium that stores a bitstream generated by the image encoding method or device according to the present disclosure may 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 the video encoding method or device according to the present disclosure may 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.
  • Figure 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.
  • Figures 4a to 4d are diagrams showing reference samples defined in PDPC.
  • Figure 5 is a diagram showing an example of a template used in TIMD.
  • Figure 6 is a diagram showing an example of neighboring blocks used to calculate the weight of CIIP.
  • Figure 7 is a diagram showing the prediction process according to PDPC blending CIIP mode.
  • Figure 8 is a diagram for explaining CIIP weights applied to subblocks.
  • Figure 9 is a diagram for explaining the conversion and inverse conversion process.
  • Figure 10 is a flowchart showing the encoding process in which AMT is performed.
  • FIG 11 is a flowchart showing the decoding process in which AMT is performed.
  • FIGS 12 to 17 are flowcharts showing an MTS application method according to embodiments of the present disclosure.
  • Figure 18 is a flowchart showing an image encoding method according to an embodiment of the present disclosure.
  • Figure 19 is a flowchart showing a video decoding method according to an embodiment of the present disclosure.
  • Figure 20 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.
  • video may mean a set of a series of images over time.
  • 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.”
  • “at least one of A, B, and C” can mean “only A,” “only B,” “only C,” or “any and all combinations of A, B, and C.” Additionally, “at least one A, B or C” or “at least one A, B and/or C” can mean “at least one A, B and C.”
  • Parentheses used in this disclosure may mean “for example.” For example, when “prediction (intra prediction)” is displayed, “intra prediction” may be proposed as an example of “prediction.” In other words, “prediction” in the present disclosure is not limited to “intra prediction,” and “intra prediction” may be proposed as an example of “prediction.” Additionally, even when “prediction (i.e., intra prediction)” is indicated, “intra prediction” may be suggested as an example of “prediction.”
  • 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 transmission unit 13 may transmit encoded video/image information or data output in the form of a bitstream to the reception unit 21 of the decoding device 20 through a digital storage medium or network in the form of a file or streaming.
  • 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 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 may 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.
  • LMCS luma mapping with chroma scaling
  • 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 apparatus 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.
  • the prediction unit of the above-described video encoding/decoding devices 100 and 200 may derive a reference sample according to the intra prediction mode of the current block from among surrounding reference samples of the current block, and may derive a reference sample according to the intra prediction mode of the current block based on the reference sample.
  • a prediction sample of a block can be generated.
  • a prediction sample can be derived based on the average or interpolation of neighboring reference samples of the current block, and (ii) a specific prediction sample among the neighboring reference samples of the current block can be derived.
  • the prediction sample may be derived based on a reference sample existing in the (prediction) direction. 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.
  • the above-described case may be called linear interpolation intra prediction (LIP).
  • LIP linear interpolation intra prediction
  • 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.
  • PDPC Part 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 decoded.
  • Intra prediction encoding can be performed by instructing (signaling) the device.
  • the above-described case may be called multi-reference line intra prediction (MRL) 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 subpartitions, and surrounding reference samples can be derived and used in units of the subpartitions. That is, in this case, the intra prediction mode for the current block is equally applied to the subpartitions, but intra prediction performance can be improved in some cases by deriving and using surrounding reference samples for each subpartition.
  • This prediction method may be called intra sub-partitions (IPS) or IPS-based intra prediction. Specific details will be described later.
  • the prediction direction based on the prediction sample points between surrounding reference samples, that is, when the prediction direction points to the fractional sample position
  • the prediction direction of a plurality of reference samples located around the corresponding prediction direction (around the corresponding fractional sample position) The value of the predicted sample can also be derived through interpolation.
  • the above-described intra prediction methods may be called an intra prediction type, distinguishing them from the intra prediction mode.
  • 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.
  • Information about the intra prediction type may be encoded in an encoding device, included in a bitstream, and signaled to a decoding device.
  • the information about the intra prediction type may be implemented in various forms, such as flag information indicating whether each intra prediction type is applied or index information indicating one of several intra prediction types.
  • the PDPC performs filtering based on the filter for the PDPC to derive filtered reference samples, derives a temporary prediction sample of the current block based on the intra prediction mode of the current block and the filtered reference samples, and Deriving a prediction sample of the current block by performing a weighted sum of at least one reference sample derived according to the intra prediction mode and the temporary prediction sample among existing reference samples, that is, unfiltered reference samples.
  • the predefined filter may be one of five 7-tap filters.
  • the predefined filter may be one of a 3-tap filter, a 5-tap filter, and a 7-tap filter.
  • the 3-tap filter, the 5-tap filter, and the 7-tap filter may represent a filter with 3 filter coefficients, a filter with 5 filter coefficients, and a filter with 7 filter coefficients, respectively.
  • the prediction result of intra-planner mode can be further modified by PDPC.
  • the PDPC performs intra-planar mode, intra DC mode, horizontal intra-prediction mode, vertical intra-prediction mode, and intra-prediction mode in the bottom left direction (i.e., intra-prediction mode 2) without separate signaling. And it can be applied to eight directional intra prediction modes adjacent to the intra prediction mode in the bottom-left direction, an intra prediction mode in the top-right direction, and eight directional intra prediction modes adjacent to the intra prediction mode in the top-right direction.
  • the prediction sample of the (x,y) coordinate predicted based on a linear combination of the intra prediction mode and reference samples can be derived as in Equation 1 below.
  • Equation 1 represents the predicted sample value of (x,y) coordinates
  • pred(x,y) in the right side represents the temporary (first) predicted sample of (x,y) coordinates.
  • R (x,-1) and R (-1,y) represent the upper and left reference samples located above and to the left of the current sample in (x, y) coordinates
  • R (-1,-1) represents the upper left reference sample located at the upper left corner of the current block.
  • wL represents the weight applied to the left reference sample
  • wT represents the weight applied to the upper left reference sample
  • wTL represents the weight applied to the upper left reference sample.
  • the temporary (first) prediction sample may be generated as a result of performing intra prediction based on the intra prediction mode of the current block and reference samples.
  • the final prediction sample of the current block may be generated, for example, based on Equation 1 above. If PDPC is not applied to the current block, the temporary (first) prediction sample may be used as the final prediction sample of the current block.
  • Figures 4a to 4d are diagrams showing reference samples defined in PDPC.
  • pred(x, y) represents a prediction sample (the above-mentioned temporary prediction sample) obtained through intra prediction
  • R (x,-1) and R (-1,y) represent (x, y) Indicates the upper reference sample and the left reference sample located above and to the left of the current sample in coordinates.
  • Figure 4a shows reference samples (R x,-1 , R -1,y , R -1,-1 ) when the prediction mode is diagonal top-right mode.
  • Figure 4b shows reference samples (R x,-1 , R -1,y , R -1,-1 ) when the prediction mode is diagonal bottom-left mode.
  • Figure 4c shows reference samples (R x,-1 , R -1,y , R- 1,-1 ) when the prediction mode is the adjacent diagonal top-right mode.
  • Figure 4d shows reference samples (R x,-1 , R -1,y , R -1,-1 ) when the prediction mode is the adjacent diagonal bottom-left mode.
  • the PDPC weights can be derived based on prediction modes.
  • the PDPC weights (wT, wL, wTL) can be derived as shown in Table 1 below.
  • Position dependent intra prediction combination generates a prediction sample using a reference sample according to the prediction mode and then improves the prediction sample using surrounding reference samples.
  • PDPC is based on 65 directional intra prediction modes: Planar, DC, 2 (lower right direction mode), VDIA (upper left direction mode), Hor (horizontal direction mode), Ver (vertical) direction mode), peripheral modes of mode 2 (modes 3 to 10), and peripheral modes of VDIA mode (modes 58 to 65).
  • Planar DC
  • VDIA lower right direction mode
  • VDIA upper left direction mode
  • Hor horizontal direction mode
  • Ver ver
  • peripheral modes of mode 2 modes 3 to 10
  • peripheral modes of VDIA mode modes 58 to 65.
  • it may be variably applied considering the size of the block.
  • TMD Template-based intra mode derivation
  • the Sum of Absolute Difference (SATD) between prediction and reconstruction samples of a given template may be calculated.
  • the template may include a left template (T L ) adjacent to the left side of the current block and an upper template (T A ) adjacent to the upper side of the current block, as in the example of FIG. 5 , and the size of the template is the width and width of the current block. /or may vary depending on height.
  • the first two intra prediction modes with minimum SATD can be selected as TIMD modes.
  • the two TIMD modes can be fused with weights, and such weighted intra prediction can be used to code the current CU.
  • the derivation process of TIMD modes may include the PDPC described above.
  • the costs of the two selected modes can be compared to a predetermined threshold, and if the condition of Equation 2 is met using a cost factor of 2, the above-described combination can be applied. In contrast, if the conditions of Equation 2 are not met, only the first mode (i.e., mode1) can be used.
  • the weight for each mode can be calculated as in Equation 3 below using the SATD cost of each mode.
  • CIIP Combined inter and intra prediction
  • the CIIP mode described above may be applied to the current block.
  • a certain additional flag (e.g., ciip_flag) may be signaled to indicate whether the CIIP mode is applied to the current CU.
  • the CU may include at least 64 luma samples (that is, the width x height of the CU is 64 or more). Additionally, if both the width and height of the CU are smaller than 128 luma samples, the additional flag may be signaled to indicate whether the CIIP mode is applied to the current CU.
  • the inter prediction signal (P inter ) and the intra prediction signal (P intra ) may be combined (to generate prediction samples).
  • the inter prediction signal (P inter ) can be derived according to the same inter prediction process as the regular merge mode, and the intra prediction signal (P intra ) can be derived according to the regular intra prediction process using planar mode. there is. Thereafter, the inter prediction signal (P inter ) and the intra prediction signal (P intra ) may be combined using weighted averaging as shown in Equation 4 below.
  • the weight wt can be calculated depending on the coding mode of the top and left neighboring blocks shown in FIG. 6. For example, the variable isIntraTop may be set to 1 if the upper surrounding block (top) is available, and may be set to 0 otherwise. Additionally, the variable isIntraLeft may be set to 1 if the left surrounding block (left) is available, and may be set to 0 otherwise. If the sum of the set variables isIntraTop and isIntraLeft is 2, the weight wt may be set to 3. In contrast, if the sum of the set variables isIntraTop and isIntraLeft is 1, the weight wt may be set to 2. Otherwise, the weight wt may be set to 1.
  • CIIP mode can be extended based on position dependent intra prediction (PDPC).
  • the extended CIIP mode (CIIP_PDPC) may be referred to as PDPC blending CIIP mode.
  • CIIP_PDPC position dependent intra prediction
  • the prediction of the general merge mode can be refined using reconstruction samples at the upper (Rx, -1) and left (R-1, y) positions. The refine may inherit the PDPC scheme.
  • the prediction process according to PDPC blending CIIP mode is as shown in FIG. 7.
  • the variables W T and W L may represent weights that vary depending on the sample location within the block as defined in PDPC.
  • information about the PDPC blending CIIP mode may be signaled together with information about the regular CIIP mode. For example, if the CIIP flag (e.g., ciip_flag) is 1 (i.e., the CIIP mode is currently applied to the CU), the CIIP_PDPC flag may be additionally signaled to indicate whether PDPC blending CIIP mode (CIIP_PDPC) is used. .
  • CIIP mode can be extended based on TIMD (Template-based intra mode derivation) and TM (Template matching) merge.
  • prediction samples can be generated by weighting an inter prediction signal predicted using a CIIP-TM merge candidate and an intra prediction signal predicted using an intra prediction mode derived by TIMD. The method can be applied only to coding blocks having an area of 1024 or less.
  • the TIMD derivation method can be used to derive intra prediction modes in CIIP. Specifically, the intra prediction mode with the smallest SATD (Sum of Absolute Difference) values in the TIMD mode list may be selected, and the selected intra prediction mode may be mapped to any one of 67 intra prediction modes. If the derived intra prediction mode is an angular mode, the weight sets (wIntra, wInter) applied to the intra prediction signal and the inter prediction signal may be modified. For example, for modes close to horizontal (e.g., 2 ⁇ angular mode index ⁇ 34), the current block is horizontal with four subblocks (indexes 0 to 3) as shown in (a) of FIG. 8. It can be divided.
  • SATD Sud of Absolute Difference
  • the current block will be vertically divided into four subblocks (indexes 0 to 3) as shown in (b) of FIG. 8. You can. And, for each subblock (index 0 to 3), different weight sets (wIntra, wInter) can be applied as shown in Table 2.
  • the weight set of (6, 2) is applied to the subblock at index 0
  • the weight set (5, 3) is applied to the subblock at index 1
  • the weight set (5, 3) is applied to the subblock at index 2.
  • the weight set of (3, 5) may be applied
  • the weight set of (2, 6) may be applied to the subblock with index 3.
  • a list of CIIP-TM merge candidates can be built in CIIP-TM mode. And, the CIIP-TM merge candidates can be refined by template matching. Additionally, the CIIP-TM merge candidates can be reordered by a predetermined method (e.g., Adaptive reordering of merge candidate (ARMC)) like general merge candidates. In one example, the maximum number of CIIP-TM merge candidates may be equal to 2.
  • a predetermined method e.g., Adaptive reordering of merge candidate (ARMC)
  • the maximum number of CIIP-TM merge candidates may be equal to 2.
  • the encoding device can derive residual blocks (residual samples) based on blocks (prediction samples) predicted through intra/inter/IBC prediction, etc., and perform conversion on the derived residual samples. And quantization can be applied to derive quantized transform coefficients. Information about quantized transform coefficients (residual information) may be included in the residual coding syntax and output in the form of a bitstream after encoding.
  • the decoding device may obtain information (residual information) about the (quantized) transform coefficients from the bitstream and decode them to derive the quantized transform coefficients.
  • the decoding device can derive residual samples through inverse quantization/inverse transformation based on quantized transformation coefficients.
  • the quantization/dequantization and/or transformation/inverse transformation may be omitted. If the quantization/dequantization is omitted, the quantized transform coefficient may be called a transform coefficient. If the transform/inverse transform is omitted, the transform coefficient may be called a coefficient or residual coefficient, or may still be called a transform coefficient for unity of expression. Whether or not the transformation/inverse transformation is omitted may be signaled based on transform_skip_flag.
  • quantized transform coefficients and transform coefficients may be referred to as transform coefficients and scaled transform coefficients, respectively.
  • the residual information may include information about the transform coefficient(s), and the information about the transform coefficient(s) can be signaled through residual coding syntax.
  • Transform coefficients can be derived based on the residual information (or information about the transform coefficient(s)), and scaled transform coefficients can be derived through inverse transformation (scaling) of the transform coefficients.
  • Residual samples may be derived based on inverse transformation (transformation) of the scaled transformation coefficients. This can be similarly applied/expressed in other parts of the present disclosure.
  • the transformation/inverse transformation may be performed based on transformation kernel(s).
  • a multiple transform selection (MTS) scheme may be applied.
  • some of the multiple transformation kernel sets may be selected and applied to the current block.
  • Transformation kernels can be called various terms such as transformation matrix, transformation type, etc.
  • a set of transformation kernels may represent a combination of a vertical transformation kernel (vertical transformation kernel) and a horizontal transformation kernel (horizontal transformation kernel).
  • MTS index information (or mts_idx syntax element) may be generated/encoded in an encoding device and signaled to a decoding device to indicate one of the conversion kernel sets.
  • a set of conversion kernels according to the value of MTS index information can be derived as shown in Table 3.
  • Table 4 shows tyTypeHor and trTypeVer values according to tu_mts_idx[x0][y0].
  • the conversion kernel set may be determined as shown in Table 4 based on cu_sbt_horizontal_flag and cu_sbt_pos_flag.
  • Table 4 shows tyTypeHor and trTypeVer values according to cu_sbt_horizontal_flag and cu_sbt_pos_flag.
  • cu_sbt_horizontal_flag 1 may indicate that the current coding unit is horizontally divided into two transform blocks.
  • cu_sbt_horizontal_flag 0 may indicate that the current coding unit is vertically divided into two transform blocks.
  • cu_sbt_pos_flag 1 may indicate that the syntax elements tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr of the first transform unit in the current coding unit do not exist in the bitstream.
  • cu_sbt_pos_flag 0 may indicate that the syntax elements tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr of the second transform unit in the current coding unit do not exist in the bitstream.
  • trTypeHor may represent a horizontal direction transformation kernel
  • trTypeVer may represent a vertical direction transformation kernel
  • a trTypeHor/trTypeVer value of 0 may indicate DCT2
  • a trTypeHor/trTypeVer value of 1 may indicate DST7
  • a trTypeHor/trTypeVer value of 2 may indicate DCT8.
  • this is an example, and different values may be mapped to different DCT/DST by promise.
  • Table 5 exemplarily shows basis functions for DCT2, DCT8, and DST7 described above.
  • the MTS-based transformation is applied as a primary transform, and a secondary transform may be further applied.
  • the secondary transform may be applied only to coefficients in the upper left wxh area of the coefficient block to which the primary transform is applied, and may be called reduced secondary transform (RST).
  • RST reduced secondary transform
  • w and/or h may be 4 or 8.
  • the first transform and the second transform can be sequentially applied to the residual block, and in the inverse transform, the inverse secondary transform and the inverse first transform can be sequentially applied to the transform coefficients.
  • the secondary transform (RST transform) may be called low frequency coefficients transform (LFCT) or low frequency non-seperable transform (LFNST).
  • the inverse quadratic transform may be called inverse LFCT or inverse LFNST.
  • Figure 9 is a diagram for explaining the conversion and inverse conversion process.
  • the transform unit 910 may correspond to the transform unit 120 of FIG. 2
  • the inverse transform unit 920 may correspond to the inverse transform unit 150 of FIG. 2 or the inverse transform unit 230 of FIG. 3. .
  • the conversion unit 910 may include a primary conversion unit 911 and a secondary conversion unit 912.
  • the first-order transform unit 911 may generate (first-order) transform coefficients (B) by applying a first-order transform to the residual samples (A).
  • the first-order transform may be referred to as a core transform.
  • the first transformation may be performed based on the MTS scheme.
  • transformation from the spatial domain to the frequency domain is applied to the residual signal (or residual block) based on DCT Type 2, DST Type 7, and DCT Type 8, and transform coefficients (or 1 difference transformation coefficients) can be generated.
  • DCT Type 2, DST Type 7, and DCT Type 8 may be referred to as a transformation type, transformation kernel, or transformation core. Examples of basis functions for DCT Type 2, DST Type 7, and DCT Type 8 are as described above with reference to Table 4.
  • the conversion/inverse conversion may be performed in CU or TU units. That is, the transform/inverse transform can be applied to residual samples in a CU or residual samples in a TU.
  • the CU size and TU size may be the same, or multiple TUs may exist within the CU area.
  • the CU size may generally indicate the luma component (sample) CB size.
  • the TU size generally refers to the luma component (sample) TB size. Chroma component (sample) CB or TB size depends on the component ratio according to the color format (chroma format, e.g., 4:4:4, 4:2:2, 4:2:0, etc.) It can be derived based on size.
  • the TU size can be derived based on maxTbSize. For example, when the CU size is larger than the maxTbSize, a plurality of TUs (TB) of the maxTbSize are derived from the CU, and conversion/inverse conversion may be performed in units of the TU (TB).
  • the maxTbSize can be considered in determining whether to apply various intra prediction types such as ISP.
  • the information about the maxTbSize may be determined in advance, or may be generated and encoded in the encoding device and signaled to the decoding device.
  • transformation can be applied to residual blocks. This is to decorrelate residual blocks as much as possible, concentrate coefficients at low frequencies, and create a zero tail at the end of the block.
  • the transformation part in JEM software includes two main functions: core transformation and secondary transformation.
  • the core transform consists of DCT (discrete cosine transform) and DST (discrete sine transform) transform families that are applied to all rows and columns of the residual block.
  • a secondary transform can then be additionally applied to the upper left corner of the output of the core transform.
  • the inverse transformation can be applied in the following order: secondary inversion and core inversion. Specifically, a second-order inverse transform may be applied to the upper left corner of the coefficient block.
  • the core inverse transform is then applied to the rows and columns of the output of the secondary inverse transform.
  • Core transformation/inverse transformation may be referred to as first-order transformation/inverse transformation.
  • AMT Adaptive multiple core transform
  • the adaptive multiple transform (or explicit multiple transform) (AMT or EMT) technique provides residual coding for inter- and intra-coded blocks.
  • AMT and EMT will be used interchangeably.
  • AMT in addition to existing transforms, multiple transforms selected from DCT/DST families can be used.
  • the newly introduced transformation matrices in JEM are DST-7, DCT-8, DST-1, and DCT-5.
  • the basis functions of DST/DCT used in AMT are shown in Table 6.
  • EMT can be applied to CUs with a width and height less than or equal to 64, and whether EMT is applied can be controlled by a CU level flag. For example, if the CU level flag is 0, DCT-2 is applied to the CU to encode the residual. For luma coding blocks within a CU where EMT is applied, two additional flags are signaled to identify the horizontal and vertical transformation to be used. In JEM, the residual of a block can be coded in transform skip mode. For intra residual coding, due to different residual statistics of different intra prediction modes, a mode-dependent transform candidate selection process is used. For example, three transformation subsets are defined as shown in Table 7, and the transformation subset is selected based on the intra prediction mode as shown in Table 8.
  • the transform subset is first identified based on Table 7 using the intra prediction mode of the CU with CU-level EMT_CU_flag equal to 1. Then, for each of the horizontal (EMT_TU_horizontal_flag) and vertical (EMT_TU_vertical_flag) transforms, one of the two transform candidates in the identified transform subset is selected based on explicit signaling using flags according to Table 8.
  • Table 9 shows the transform configuration group to which AMT is applied.
  • conversion setting groups are determined based on the prediction mode, and the number of groups can be a total of 6 (G0 to G5).
  • G0 to G4 correspond to cases where intra prediction is applied
  • G5 indicates transform combinations (or transform sets, transform combination sets) applied to the residual block generated by inter prediction.
  • One transformation combination is a horizontal transform (or row transform) applied to the rows of the corresponding 2D block and a vertical transform (or column transform) applied to the columns. It can be done by column transform.
  • all transformation setting groups may each have four transformation combination candidates.
  • the four transformation combination candidates can be selected or determined through a transformation combination index of 0 to 3, and the transformation combination index can be encoded and transmitted from the encoder to the decoder.
  • residual data (or residual signal) obtained through intra prediction may have different statistical characteristics depending on the intra prediction mode. Therefore, as shown in Table 9, transformations other than the general cosine transformation may be applied to each intra prediction.
  • the conversion type may be expressed as, for example, DCT-Type 2, DCT-II, or DCT-2.
  • Table 9 shows the case of using 35 intra prediction modes and the case of using 67 intra prediction modes.
  • a plurality of transformation combinations can be applied to each transformation setting group divided in each intra prediction mode column.
  • a plurality of transformation combinations may be composed of four (row direction transformation, column direction transformation) combinations.
  • DST-7 and DCT-5 can be applied in both the row (horizontal) direction and the column (vertical) direction, so a total of 4 combinations are possible.
  • transform combination index may be referred to as an AMT index and may be expressed as amt_idx.
  • transformation can be applied adaptively by defining an AMT flag for each coding unit.
  • AMT flag if the AMT flag is 0, DCT-2 is applied to both the row direction and column direction, and if the AMT flag is 1, one of four combinations can be selected or determined through the AMT index.
  • the transformation kernels in Table 9 are not applied and DST-7 can be applied in both row and column directions.
  • the transform coefficient values are first parsed and the number of transform coefficients is less than 3, the AMT index is not parsed and DST-7 is applied, thereby reducing the amount of additional information transmitted.
  • AMT can be applied only when both the width and height of the conversion unit are 32 or less.
  • Table 9 may be preset through offline training.
  • the AMT index can be defined as one index that can simultaneously indicate a combination of horizontal transformation and vertical transformation.
  • the AMT index may be defined as a separate horizontal transformation index and vertical transformation index.
  • Figure 10 is a flowchart showing the encoding process in which AMT is performed.
  • AMT can be applied regardless of first-order or second-order transformation. In other words, there is no restriction that it must be applied to only one of the two, and both can be applied.
  • the first-order transformation may refer to a transformation for initially transforming the residual block
  • the second-order transformation may refer to a transformation for applying the transformation to the block generated as a result of the first transformation.
  • the encoding device can determine the transform group corresponding to the current block (S1010).
  • the transformation group may refer to the transformation group described above with reference to Table 8, but is not limited thereto and may be composed of other transformation combinations.
  • the encoding device may perform transformation on the candidate transformation combinations available within the transformation group (S1020).
  • the encoding device can determine or select a conversion combination with the lowest RD (Rate Distortion) cost (S1030).
  • the encoding device may encode the transform combination index corresponding to the selected transform combination (S1040).
  • FIG 11 is a flowchart showing the decoding process in which AMT is performed.
  • the decoding device can determine a transform group for the current block (S1110).
  • the decoding device may parse the transformation combination index (S1120).
  • the transform combination index may correspond to one of a plurality of transform combinations in the transform group.
  • the step of determining the transform group (S1110) and the step of parsing the transform combination index (S1120) may be performed simultaneously.
  • the decoding device may derive a transform combination corresponding to the transform combination index (S1130).
  • the transformation combination may refer to the transformation combination described above with reference to Table 8, but is not limited thereto. In other words, configuration using different transformation combinations is also possible.
  • the decoding device may perform inverse transformation on the current block based on the transformation combination (S1140). If the transformation combination consists of a row transformation and a column transformation, the row transformation may be applied first and then the column transformation may be applied. However, this process is not limited to this and may be applied in reverse.
  • MTS in VVC design only DST7 and DCT8 conversion kernels are used for intra and inter coding.
  • ECM enhanced compression mode
  • additional primary transforms including DCT5, DST4, DST1, and identity transform (IDT) may be used.
  • the MTS set may be configured according to TU (transform unit) size and intra mode information. 16 different TU sizes are considered, and for each TU size, 5 different classes are considered according to intra-mode information. For each class, four different transform pairs can be considered, which is the same as for VVC. A total of 80 different classes are considered, but some of these different classes may share exactly the same set of transformations. Therefore, there may be 58 unique entries (less than 80) in the resultant lookup table (LUT).
  • LUT resultant lookup table
  • the order of the horizontal and vertical transformation kernels is changed. For example, a 16x4 block in mode 18 (horizontal prediction) and a 4x16 block in mode 50 (vertical prediction) are mapped to the same class.
  • the vertical and horizontal transformation kernels are reversed.
  • the closest conventional angle mode is used to determine the transform set. For example, mode 2 is used for all modes between -2 and -14. Likewise, for all modes between modes 67 and 80, mode 66 is used.
  • MTS multiple transform set
  • the existing MTS set as shown in Table 10 may be inappropriate.
  • the DST7/DCT2 combination may be suitable for intra predictors but unsuitable for inter predictors.
  • the DCT2/DCT2 combination is suitable for inter predictors but may be unsuitable for intra predictors. Therefore, if the existing MTS set is applied as is to the CIIP predictor, which has both intra- and inter-prediction properties, and the residual signal based on it, compression efficiency may be greatly reduced.
  • the PDPC (Position dependent intra prediction) blending CIIP mode described above is newly introduced as an extended CIIP mode.
  • intra modes can be derived and used through TIMD (Template-based intra mode derivation), so all intra prediction modes can be used in the extended CIIP. can now be applied.
  • TIMD Tempolate-based intra mode derivation
  • the present disclosure proposes various methods to more efficiently apply the MTS scheme in CIIP mode.
  • the embodiments of the present disclosure to be described later are intended to explain representative aspects of the present disclosure, and may be applied independently or in combination of two or more.
  • Embodiment 1 of the present disclosure when the prediction mode of the current block is CIIP mode, a predetermined intra MTS set can be applied to the current block instead of the MTS set in Table 10 described above. And, the MTS combination for the current block in the intra MTS set can be selected based on the intra prediction mode applied to CIIP mode.
  • a predetermined intra MTS set can be applied to the current block instead of the MTS set in Table 10 described above.
  • the MTS combination for the current block in the intra MTS set can be selected based on the intra prediction mode applied to CIIP mode.
  • FIG. 12 is a flowchart showing an MTS application method according to an embodiment of the present disclosure.
  • Each step in FIG. 12 may be performed by an image encoding device or an image decoding device.
  • an image encoding device or an image decoding device.
  • the description will be based on the video encoding device.
  • the image encoding device can determine whether the prediction mode of the current block is CIIP mode (S1210).
  • the CIIP mode may be a regular CIIP mode based on planner mode.
  • the CIIP mode may be an extended CIIP mode of ECM, such as the PDPC blending CIIP mode or the TIMD-based CIIP mode described above.
  • a predetermined intra MTS set may further include at least one transformation kernel among DCT5, DST4, DST1, or identity transform (IDT) in addition to DCT2 and DST7 of Table 10.
  • an intra MTS set may consist of a combination of 9 MTSs using three types of conversion kernels: DCT2, DST7, and DCT5.
  • the intra MTS set may be composed of a combination of 16 MTSs using four types of conversion kernels: DCT2, DST7, DCT5, and DST1.
  • the MTS combination for the current block can be selected from the intra MTS set based on the intra prediction mode applied to CIIP mode. For example, if the CIIP mode is a general CIIP mode, the MTS combination for the current block can be selected based on the planner mode.
  • the intra prediction mode applied to the CIIP mode is considered the planner mode, and the MTS combination for the current block can be selected based on the planner mode.
  • the intra prediction mode applied to the CIIP mode may be regarded as an intra prediction mode other than the planner mode. For example, if the CIIP mode is PDPC blending mode, the intra prediction mode applied to the CIIP mode is considered DC mode, and the MTS combination for the current block may be selected based on the DC mode.
  • the MTS combination for the current block can be selected based on the intra prediction mode derived by TIMD.
  • the intra prediction mode derived by TIMD can be any existing intra mode, such as DC mode, mode 2, etc., in addition to the planar mode.
  • the video encoding device performs transformation for the current block based on the existing MTS set, for example, the inter MTS set described above with reference to Table 10. can be performed (S1230).
  • Embodiment 1 of the present disclosure when the prediction mode of the current block is CIIP mode, a predetermined intra MTS set that further includes an additional transformation kernel can be applied to the current block, rather than the existing inter MTS set using only DCT2 and DST7.
  • CIIP mode has residual signal characteristics that occur in intra prediction mode due to the combination of intra predictors, so compression efficiency can be improved by applying an intra MTS set.
  • MTS index binarization method for the intra MTS set and the existing inter MTS set is the same, there is an advantage that the existing binarization process can be applied in the same way.
  • the TIMD-based CIIP mode has larger residual signal characteristics occurring in the intra prediction mode, so it may be appropriate to apply the aforementioned intra MTS set rather than the existing inter MTS set.
  • PDPC blending CIIP mode generates a predictor with different characteristics from the existing intra prediction mode, so it may be unsuitable for applying the intra MTS set. Therefore, according to Embodiment 2 of the present disclosure, the above-described intra MTS set can be applied only when the prediction mode of the current block is the TIMD-based CIIP mode.
  • Embodiment 2 of the present disclosure will be described in more detail.
  • FIG. 13 is a flowchart showing an MTS application method according to an embodiment of the present disclosure.
  • Each step in FIG. 13 may be performed by an image encoding device or an image decoding device.
  • an image encoding device or an image decoding device.
  • the description will be based on the video encoding device.
  • the image encoding device can determine whether the prediction mode of the current block is CIIP mode (S1310).
  • the video encoding device can determine whether the CIIP mode is the TIMD-based CIIP mode described above (S1320).
  • the video encoding device can perform conversion on the current block based on a predetermined intra MTS set (S1330).
  • the predetermined intra MTS set may further include at least one transformation kernel among DCT5, DST4, DST1, or IDT (identity transform) in addition to DCT2 and DST7 in Table 10.
  • the video encoding device uses the existing MTS set, for example, the inter MTS set described above with reference to Table 10. Based on this, conversion on the current block can be performed (S1340).
  • a TIMD-based CIIP mode e.g., PDPC blending CIIP mode
  • the video encoding device can perform transformation on the current block based on the existing MTS set (S1340).
  • a predetermined intra MTS set further including an additional transformation kernel in addition to DCT2 and DST7 can be applied only when the prediction mode of the current block is the TIMD-based CIIP mode. Accordingly, there is an advantage in that compression efficiency is improved in CIIP mode and the same MTS index binarization method as in Example 1 can be used.
  • the MTS scheme can be applied only when the prediction mode of the current block is not the CIIP mode.
  • FIG. 14 is a flowchart showing an MTS application method according to an embodiment of the present disclosure.
  • Each step in FIG. 14 may be performed by an image encoding device or an image decoding device.
  • an image encoding device or an image decoding device.
  • the description will be based on the video encoding device.
  • the image encoding device can determine whether the prediction mode of the current block is CIIP mode (S1410).
  • the video encoding device may not apply the MTS scheme to the current block (i.e., MTS skip) (S1420).
  • MTS skip i.e., MTS skip
  • a predetermined conversion kernel e.g., DCT2
  • DCT2 a predetermined conversion kernel determined according to a general conversion scheme other than the MTS scheme
  • the video encoding device can apply the MTS scheme to the current block (S1430).
  • a specific MTS combination selected from a certain MTS set e.g., inter MTS set or intra MTS set
  • the MTS scheme can be applied only when the prediction mode of the current block is not the CIIP mode. Accordingly, compression efficiency can be improved in CIIP mode and the number of MTS binarization bits (or signaling bits) can be reduced.
  • the MTS scheme can be applied only when the prediction mode of the current block is not the CIIP mode or is a specific CIIP mode.
  • Embodiment 4 of the present disclosure will be described in more detail with reference to FIGS. 15 to 17.
  • FIG. 15 is a flowchart showing an MTS application method according to an embodiment of the present disclosure.
  • Each step in FIG. 15 may be performed by an image encoding device or an image decoding device.
  • an image encoding device or an image decoding device.
  • the description will be based on the video encoding device.
  • the image encoding device can determine whether the prediction mode of the current block is CIIP mode (S1510).
  • the video encoding device can determine whether the CIIP mode is the extended CIIP mode (S1520).
  • the extended CIIP mode may include at least one of PDPC blending CIIP mode or TIMD-based CIIP mode.
  • the video encoding device may not apply the MTS scheme to the current block (S1530).
  • a predetermined conversion kernel e.g., DCT2
  • DCT2 a predetermined conversion kernel determined according to a general conversion scheme other than the MTS scheme
  • the video encoding device can apply the MTS scheme to the current block (S1540).
  • a specific MTS combination selected from a certain MTS set e.g., inter MTS set or intra MTS set
  • the video encoding device can apply the MTS scheme to the current block (S1540).
  • FIG 16 is a flowchart showing an MTS application method according to another embodiment of the present disclosure.
  • Each step in FIG. 16 may be performed by an image encoding device or an image decoding device.
  • an image encoding device or an image decoding device.
  • the description will be based on the video encoding device.
  • the image encoding device can determine whether the prediction mode of the current block is CIIP mode (S1610).
  • the video encoding device can determine whether the CIIP mode is a TIMD-based CIIP mode (S1620).
  • the video encoding device can determine whether the intra prediction mode derived by TIMD is a predetermined mode (S1630).
  • the predetermined mode may be a non-directional mode, such as planar mode or DC mode.
  • the video encoding device may not apply the MTS scheme to the current block (S1640).
  • the video encoding device can apply the MTS scheme to the current block (S1650).
  • the video encoding device can apply the MTS scheme to the current block (S1650).
  • FIG 17 is a flowchart showing an MTS application method according to another embodiment of the present disclosure.
  • Each step in FIG. 17 may be performed by an image encoding device or an image decoding device.
  • an image encoding device or an image decoding device.
  • the description will be based on the video encoding device.
  • the image encoding device can determine whether the prediction mode of the current block is CIIP mode (S1710).
  • the video encoding device can determine whether the CIIP mode is a TIMD-based CIIP mode (S1720).
  • the video encoding device can determine whether the intra prediction mode derived by TIMD is a predetermined mode (S1730).
  • the predetermined mode may be a non-directional mode, such as planar mode or DC mode.
  • the video encoding device can apply the MTS scheme to the current block (S1740).
  • the video encoding device may not apply the MTS scheme to the current block (S1750).
  • the video encoding device can apply the MTS scheme to the current block (S1740).
  • the video encoding device will not apply the MTS scheme to the current block. (S1750).
  • the MTS scheme can be applied only when the prediction mode of the current block is not the CIIP mode or is a specific CIIP mode. Accordingly, compression efficiency can be improved in CIIP mode and the number of MTS binarization bits (or signaling bits) can be reduced.
  • Figure 18 is a flowchart showing an image encoding method according to an embodiment of the present disclosure.
  • the video encoding method of FIG. 18 can be performed by the video encoding device of FIG. 2.
  • steps S1810 and S1820 may be performed by the conversion unit 120.
  • the video encoding device can determine whether multiple transform selection (MTS) is applied to the current block (S1810).
  • MTS multiple transform selection
  • the video encoding device can perform transformation on the current block based on a predetermined MTS set (S1820).
  • the MTS set may be determined based on whether the prediction mode of the current block is a combined inter and intra prediction (CIIP) mode.
  • the MTS set includes DCT2, DST7 and at least one additional transform kernel (e.g., DCT5, DST4, DST1 and/or IDT, etc.) It can be determined by the intra MTS set.
  • the MTS set can be determined as an intra MTS set including DCT2, DST7, and at least one additional transform kernel. there is.
  • the MTS may not be applied to the current block (i.e., MTS skip).
  • the MTS may not be applied to the current block.
  • the extended CIIP mode may include at least one of a position dependent intra prediction (PDPC) blending CIIP mode or a TIMD-based CIIP mode.
  • PDPC position dependent intra prediction
  • the MTS may not apply to the current block.
  • the predetermined prediction mode may be a planar mode or DC mode.
  • the MTS may not apply to the current block.
  • the predetermined prediction mode may be a planar mode or DC mode.
  • Figure 19 is a flowchart showing a video decoding method according to an embodiment of the present disclosure.
  • the video decoding method of FIG. 19 can be performed by the video decoding device of FIG. 3.
  • steps S1910 and S1920 may be performed by the inverse transform unit 230 of FIG. 3.
  • the video decoding device can determine whether multiple transform selection (MTS) is applied to the current block (S1910).
  • MTS multiple transform selection
  • the video encoding device can perform inverse transformation on the current block based on a predetermined MTS set (S1920).
  • the MTS set may be determined based on whether the prediction mode of the current block is a combined inter and intra prediction (CIIP) mode.
  • the MTS set includes DCT2, DST7 and at least one additional transform kernel (e.g., DCT5, DST4, DST1 and/or IDT, etc.) It can be determined by the intra MTS set.
  • the MTS set can be determined as an intra MTS set including DCT2, DST7, and at least one additional transform kernel. there is.
  • the MTS may not be applied to the current block (i.e., MTS skip).
  • the MTS may not be applied to the current block.
  • the extended CIIP mode may include at least one of a position dependent intra prediction (PDPC) blending CIIP mode or a TIMD-based CIIP mode.
  • PDPC position dependent intra prediction
  • the MTS may not apply to the current block.
  • the predetermined prediction mode may be a planar mode or DC mode.
  • the MTS may not apply to the current block.
  • the predetermined prediction mode may be a planar mode or DC mode.
  • Exemplary methods of the present disclosure are expressed as a series of operations for clarity of explanation, but this is not intended to limit the order in which the steps are performed, and each step may be performed simultaneously or in a different order, if necessary.
  • other steps may be included in addition to the exemplified steps, some steps may be excluded and the remaining steps may be included, or some steps may be excluded and additional other steps may be included.
  • a video encoding device or video decoding device that performs a predetermined operation may perform an operation (step) that checks performance conditions or situations for the corresponding operation (step). For example, when it is described that a predetermined operation is performed when a predetermined condition is satisfied, the video encoding device or video decoding device performs an operation to check whether the predetermined condition is satisfied and then performs the predetermined operation. You can.
  • various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof.
  • one or more ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal Processors
  • DSPDs Digital Signal Processing Devices
  • PLDs Programmable Logic Devices
  • FPGAs Field Programmable Gate Arrays
  • general purpose It can be implemented by a processor (general processor), controller, microcontroller, microprocessor, etc.
  • video decoding devices and video encoding devices to which embodiments of the present disclosure are applied include real-time communication devices such as multimedia broadcasting transmission and reception devices, mobile communication terminals, home cinema video devices, digital cinema video devices, surveillance cameras, video conversation devices, and video communications. , mobile streaming devices, storage media, camcorders, video on demand (VoD) service provision devices, OTT video (Over the top video) devices, Internet streaming service provision devices, three-dimensional (3D) video devices, video phone video devices, and medical applications. It may be included in a video device, etc., and may be used to process video signals or data signals.
  • OTT video (Over the top video) devices may include game consoles, Blu-ray players, Internet-connected TVs, home theater systems, smartphones, tablet PCs, and DVRs (Digital Video Recorders).
  • Figure 20 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 devices 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.

Abstract

영상 부호화/복호화 방법 및 장치가 제공된다. 본 개시에 따른 영상 복호화 방법은, 현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하는 단계, 및 상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 역변환을 수행하는 단계를 포함하고, 상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정될 수 있다.

Description

적응적 MTS에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
본 개시는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체에 관한 것으로서, 보다 상세하게는 CIIP 모드에서 적응적 MTS에 기반한 영상 부호화/복호화 방법, 장치 및 본 개시의 영상 부호화 방법/장치에 의해 생성된 비트스트림을 저장하는 기록 매체에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하게 된다. 전송되는 정보량 또는 비트량의 증가는 전송 비용과 저장 비용의 증가를 초래한다.
이에 따라, 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위한 고효율의 영상 압축 기술이 요구된다.
본 개시는 부호화/복호화 효율이 향상된 영상 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 개시는 CIIP 모드에서 적응적으로 MTS를 적용하는 영상 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 개시는 CIIP 모드에서 적응적으로 MTS 셋을 결정하는 영상 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 개시는 본 개시에 따른 영상 부호화 방법 또는 장치에 의해 생성된 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체를 제공하는 것을 목적으로 한다.
또한, 본 개시는 본 개시에 따른 영상 복호화 장치에 의해 수신되고 복호화되어 영상의 복원에 이용되는 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체를 제공하는 것을 목적으로 한다.
또한, 본 개시는 본 개시에 따른 영상 부호화 방법 또는 장치에 의해 생성된 비트스트림을 전송하는 방법을 제공하는 것을 목적으로 한다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따른 영상 복호화 방법은, 현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하는 단계, 및 상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 역변환을 수행하는 단계를 포함하고, 상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정될 수 있다.
본 개시의 다른 양상에 따른 영상 복호화 장치는, 메모리 및 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는, 현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하고, 상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 역변환을 수행하되, 상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정될 수 있다.
본 개시의 또 다른 양상에 따른 영상 부호화 방법은, 현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하는 단계, 및 상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 변환을 수행하는 단계를 포함하고, 상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정될 수 있다.
본 개시의 또 다른 양상에 따른 컴퓨터 판독 가능한 기록 매체는, 본 개시의 영상 부호화 방법 또는 영상 부호화 장치에 의해 생성된 비트스트림을 저장할 수 있다.
본 개시의 또 다른 양상에 따른 전송 방법은, 본 개시의 영상 부호화 장치 또는 영상 부호화 방법에 의해 생성된 비트스트림을 전송할 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 부호화/복호화 효율이 향상된 영상 부호화/복호화 방법 및 장치가 제공될 수 있다.
또한, 본 개시에 따르면, CIIP 모드에서 적응적으로 MTS를 적용하는 영상 부호화/복호화 방법 및 장치가 제공될 수 있다.
또한, 본 개시에 따르면, CIIP 모드에서 적응적으로 MTS 셋을 결정하는 영상 부호화/복호화 방법 및 장치가 제공될 수 있다.
또한, 본 개시에 따르면, 본 개시에 따른 영상 부호화 방법 또는 장치에 의해 생성된 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 본 개시에 따르면, 본 개시에 따른 영상 복호화 장치에 의해 수신되고 복호화되어 영상의 복원에 이용되는 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 본 개시에 따르면, 본 개시에 따른 영상 부호화 방법 또는 장치에 의해 생성된 비트스트림을 전송하는 방법이 제공될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 따른 실시예가 적용될 수 있는 비디오 코딩 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 개시에 따른 실시예가 적용될 수 있는 영상 부호화 장치를 개략적으로 나타낸 도면이다.
도 3은 본 개시에 따른 실시예가 적용될 수 있는 영상 복호화 장치를 개략적으로 나타낸 도면이다.
도 4a 내지 도 4d는 PDPC에서 정의되는 참조 샘플들을 나타낸 도면들이다.
도 5는 TIMD에 이용되는 템플릿의 일 예를 나타낸 도면이다.
도 6은 CIIP의 가중치 산출에 이용되는 주변 블록들의 일 예를 나타낸 도면이다.
도 7은 PDPC 블렌딩 CIIP 모드에 따른 예측 과정을 나타낸 도면이다.
도 8은 서브블록에 적용되는 CIIP 가중치를 설명하기 위한 도면이다.
도 9는 변환 및 역변환 과정을 설명하기 위한 도면이다.
도 10은 AMT가 수행되는 인코딩 과정을 나타낸 흐름도이다.
도 11은 AMT가 수행되는 디코딩 과정을 나타낸 흐름도이다.
도 12 내지 도 17은 본 개시의 실시예들에 따른 MTS 적용 방법을 나타낸 흐름도들이다.
도 18은 본 개시의 일 실시예에 따른 영상 부호화 방법을 나타내는 흐름도이다.
도 19는 본 개시의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 20은 본 개시에 따른 실시예가 적용될 수 있는 컨텐츠 스트리밍 시스템을 예시적으로 나타낸 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 개시의 실시예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시예에서의 제1 구성요소는 다른 실시예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시예에서 설명하는 구성요소들의 부분 집합으로 구성되는 실시예도 본 개시의 범위에 포함된다. 또한, 다양한 실시예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시예도 본 개시의 범위에 포함된다.
본 개시는 영상의 부호화 및 복호화에 관한 것으로서, 본 개시에서 사용되는 용어는, 본 개시에서 새롭게 정의되지 않는 한 본 개시가 속한 기술 분야에서 통용되는 통상의 의미를 가질 수 있다.
본 개시에서 "비디오(video)"는 시간의 흐름에 따른 일련의 영상(image)들의 집합을 의미할 수 있다.
본 개시에서 "픽처(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)"를 의미할 수 있다.
본 개시에서 "적어도 하나의 A, B 및 C"는 "오직 A", "오직 B", "오직 C", 또는 "A, B 및 C의 임의의 모든 조합"를 의미할 수 있다. 또한, "적어도 하나의 A, B 또는 C"나 "적어도 하나의 A, B 및/또는 C"는 "적어도 하나의 A, B 및 C"를 의미할 수 있다.
본 개시에서 사용되는 괄호는 "예를 들어"를 의미할 수 있다. 예를 들어, "예측(인트라 예측)"으로 표시된 경우, "예측"의 일례로 "인트라 예측"이 제안된 것일 수 있다. 달리 표현하면 본 개시의 "예측"은 "인트라 예측"으로 제한되지 않고, "인트라 예측"이 "예측"의 일례로 제안될 것일 수 있다. 또한, "예측(즉, 인트라 예측)"으로 표시된 경우에도, "예측"의 일례로 "인트라 예측"이 제안된 것일 수 있다.
비디오 코딩 시스템 개요
도 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)는 미리 정해진 파일 포맷을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘리먼트를 포함할 수 있다. 수신부(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)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다.
한편 픽처 인코딩 및/또는 복원 과정에서 LMCS(luma mapping with chroma scaling)가 적용될 수도 있다.
필터링부(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)에도 동일 또는 대응되도록 적용될 수 있다.
한편, 상술한 영상 부호화/복호화 장치(100, 200)의 예측부는 현재 블록의 주변 참조 샘플들 중 상기 현재 블록의 인트라 예측 모드에 따른 참조 샘플을 도출할 수 있고, 상기 참조 샘플을 기반으로 상기 현재 블록의 예측 샘플을 생성할 수 있다.
예를 들어, 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 또한, 상기 주변 참조 샘플들 중 상기 현재 블록의 예측 샘플을 기준으로 상기 현재 블록의 인트라 예측 모드의 예측 방향의 반대 방향에 위치하는 상기 제2 주변 샘플과 상기 제1 주변 샘플과의 보간을 통하여 상기 예측 샘플이 생성될 수도 있다. 상술한 경우는 선형 보간 인트라 예측(Linear interpolation intra prediction, LIP) 이라고 불릴 수 있다. 또한, 필터링된 주변 참조 샘플들을 기반으로 상기 현재 블록의 임시 예측 샘플을 도출하고, 상기 기존의 주변 참조 샘플들, 즉, 필터링되지 않은 주변 참조 샘플들 중 상기 인트라 예측 모드에 따라 도출된 적어도 하나의 참조 샘플과 상기 임시 예측 샘플을 가중합(weighted sum)하여 상기 현재 블록의 예측 샘플을 도출할 수도 있다. 상술한 경우는 PDPC(Position dependent intra prediction) 라고 불릴 수 있다. 또한, 현재 블록의 주변 다중 참조 샘플 라인 중 가장 예측 정확도가 높은 참조 샘플 라인을 선택하여 해당 라인에서 예측 방향에 위치하는 참조 샘플을 이용하여 예측 샘플을 도출하고 이 때, 사용된 참조 샘플 라인을 디코딩 장치에 지시(시그널링)하는 방법으로 인트라 예측 부호화를 수행할 수 있다. 상술한 경우는 multi-reference line intra prediction (MRL) 또는 MRL 기반 인트라 예측이라고 불릴 수 있다. 또한, 현재 블록을 수직 또는 수평의 서브파티션들로 나누어 동일한 인트라 예측 모드를 기반으로 인트라 예측을 수행하되, 상기 서브파티션 단위로 주변 참조 샘플들을 도출하여 이용할 수 있다. 즉, 이 경우 현재 블록에 대한 인트라 예측 모드가 상기 서브파티션들에 동일하게 적용되되, 상기 서브파티션 단위로 주변 참조 샘플을 도출하여 이용함으로써 경우에 따라 인트라 예측 성능을 높일 수 있다. 이러한 예측 방법은 intra sub-partitions (IPS) 또는 IPS 기반 인트라 예측이라고 불릴 수 있다. 구체적인 내용에 대하여는 후술한다. 또한, 예측 샘플을 기준으로 한 예측 방향이 주변 참조 샘플들 사이를 가리키는 경우, 즉, 예측 방향이 분수 샘플 위치를 가리키는 경우, 해당 에측 방향 주변(해당 분수 샘플 위치 주변)에 위치한 복수의 참조 샘플들의 보간을 통하여 예측 샘플의 값을 도출할 수도 있다.
상술한 인트라 예측 방법들은 인트라 예측 모드와 구분하여 인트라 예측 타입이라고 불릴 수 있다. 상기 인트라 예측 타입은 인트라 예측 기법 또는 부가 인트라 예측 모드 등 다양한 용어로 불릴 수 있다. 예를 들어 상기 인트라 예측 타입(또는 부가 인트라 예측 모드 등)은 상술한 LIP, PDPC, MRL, ISP 중 적어도 하나를 포함할 수 있다. 상기 인트라 예측 타입에 관한 정보는 인코딩 장치에서 인코딩되어 비트스트림에 포함되어 디코딩 장치로 시그널링될 수 있다. 상기 인트라 예측 타입에 관한 정보는 각 인트라 예측 타입의 적용 여부를 가리키는 플래그 정보 또는 여러 인트라 예측 타입 중 하나를 지시하는 인덱스 정보 등 다양한 형태로 구현될 수 있다.
위치 기반 인트라 예측 (Position dependent intra prediction, PDPC)
PDPC는 상기 PDPC에 대한 필터를 기반으로 필터링을 수행하여 필터링된 참조 샘플들을 도출하고, 상기 현재 블록의 인트라 예측 모드 및 상기 필터링된 참조 샘플들을 기반으로 상기 현재 블록의 임시 예측 샘플을 도출하고, 상기 기존의 참조 샘플들, 즉, 필터링되지 않은 참조 샘플들 중 상기 인트라 예측 모드에 따라 도출된 적어도 하나의 참조 샘플과 상기 임시 예측 샘플을 가중합(weighted sum)하여 상기 현재 블록의 예측 샘플을 도출하는 인트라 예측 방법을 나타낼 수 있다. 여기서, 상기 기정의된 필터는 5개의 7탭(tap) 필터들 중 하나일 수 있다. 또는 상기 기정의된 필터는 3탭 필터, 5탭 필터 및 7탭 필터 중 하나일 수 있다. 상기 3탭 필터, 상기 5탭 필터 및 상기 7탭 필터는 각각 3개의 필터 계수(filter coefficient)를 갖는 필터, 5개의 필터 계수를 갖는 필터, 7개의 필터 계수를 갖는 필터를 나타낼 수 있다.
예를 들어, 인트라 플래너 모드의 예측 결과는 PDPC에 의하여 추가로 수정될 수 있다.
또는, 일 예로, 상기 PDPC는 별도의 시그널링없이 인트라 플래너 모드, 인트라 DC 모드, 수평 인트라 예측 모드, 수직 인트라 예측 모드, 좌하단(bottom left) 방향의 인트라 예측 모드(즉, 2번 인트라 예측 모드) 및 상기 좌하단 방향의 인트라 예측 모드에 인접한 8개의 방향성 인트라 예측 모드, 우상단(top-right) 방향의 인트라 예측 모드 및 상기 우상단 방향의 인트라 예측 모드에 인접한 8개의 방향성 인트라 예측 모드에 적용될 수 있다.
구체적으로, 상기 PDPC가 적용되는 경우, 인트라 예측 모드 및 참조 샘플들의 선형 조합(linear combination)을 기반으로 예측되는 (x,y) 좌표의 예측 샘플은 다음의 수학식 1과 같이 도출될 수 있다.
Figure PCTKR2023004002-appb-img-000001
상기 수학식 1의 좌항의 pred(x,y)는 (x,y) 좌표의 예측 샘플 값을 나타내고, 우항의 pred(x,y)는 (x,y) 좌표의 임시(1차) 예측 샘플 값을 나타낸다. R(x,-1) 및 R(-1,y)는 (x, y) 좌표의 현재 샘플의 상측 및 좌측에 위치하는 상측 참조 샘플 및 좌측 참조 샘플을 나타내고, R(-1,-1)는 상기 현재 블록의 좌상단 코너에 위치하는 좌상단 참조 샘플을 나타낸다. 또한, wL은 좌측 참조 샘플에 적용되는 가중치, wT은 상측 참조 샘플에 적용되는 가중치, wTL은 좌상단 참조 샘플에 적용되는 가중치를 나타낸다.
한편, PDPC가 인트라 플래너 모드, 인트라 DC 모드, 수평 인트라 예측 모드 및 수직 인트라 예측 모드에 적용되는 경우, 종래 DC 모드 바운더리 필터 또는 수직/수평 모드 에지 필터 등과 같은 추가적인 바운더리 필터들이 필요하지 않을 수 있다.
상기 임시(1차) 예측 샘플은 현재 블록의 인트라 예측 모드와 참조 샘플들에 기반하여 인트라 예측을 수행한 결과 생성될 수 있다. 상기 현재 블록에 대해 PDPC가 적용되는 경우, 예컨대 상기 수학식 1에 기반하여 상기 현재 블록의 최종 예측 샘플이 생성될 수 있다. 상기 현재 블록에 대해 PDPC가 적용되지 않는 경우, 상기 임시(1차) 예측 샘플은 상기 현재 블록의 최종 예측 샘플로 사용될 수 있다.
도 4a 내지 도 4d는 PDPC에서 정의되는 참조 샘플들을 나타낸 도면들이다.
도 4a 내지 도 4d에서 pred(x, y)는 인트라 예측을 통해 획득되는 예측 샘플(상술한 임시 예측 샘플)을 나타내고, R(x,-1) 및 R(-1,y)는 (x, y) 좌표의 현재 샘플의 상측 및 좌측에 위치하는 상측 참조 샘플 및 좌측 참조 샘플들을 나타낸다.
도 4a는 예측 모드가 우상단 대각 모드(Diagonal top-right mode)인 경우의 참조 샘플들(Rx,-1, R-1,y, R-1,-1)을 나타낸다. 도 4b는 예측 모드가 좌하단 대각 모드(Diagonal bottom-left mode)인 경우의 참조 샘플들(Rx,-1, R-1,y, R-1,-1)을 나타낸다. 도 4c는 예측 모드가 우상단 대각 모드의 인접 모드(Adjacent diagonal top-right mode)인 경우의 참조 샘플들(Rx,-1, R-1,y, R-1,-1)을 나타낸다. 도 4d는 예측 모드가 좌하단 대각 모드의 인접 모드(Adjacent diagonal bottom-left mode)인 경우의 참조 샘플들(Rx,-1, R-1,y, R-1,-1)을 나타낸다. 상기 PDPC의 가중치들은 예측 모드들을 기반으로 도출될 수 있다. 상기 PDPC의 가중치들(wT, wL, wTL)은 다음의 표 1과 같이 도출될 수 있다.
Figure PCTKR2023004002-appb-img-000002
위치에 따른 인트라 예측 조합(position dependent intra prediction combination, PDPC)은 예측 모드에 따라 참조 샘플을 사용하여 예측 샘플을 생성한 후, 주변의 참조 샘플을 사용하여 예측 샘플을 개선한다. PDPC는 모든 인트라 예측 모드에 적용되는 대신, 65개의 방향성 인트라 예측 모드를 기준으로 하여 Planar, DC, 2 (우하단 방향 모드), VDIA (좌상단 방향 모드), Hor (수평 방향 모드), Ver (수직 방향 모드), 2번 모드의 주변 모드들(3번 모드 ~ 10번 모드), VDIA 모드의 주변 모드들(58번 모드 ~ 65번 모드)에 제한적으로 적용될 수 있다. 또한, 현재 부호화하고자 하는 블록 내의 모든 예측 샘플에 적용되는 대신, 블록의 크기를 고려하여 가변적으로 적용될 수 있다.
템플릿-기반 인트라 모드 유도 (Template-based intra mode derivation, TIMD)
MPM(most probable modes)의 각각의 인트라 예측 모드에 대하여, 소정 템플릿의 예측 및 복원 샘플들 간의 SATD(Sum of Absolute Difference)가 계산될 수 있다. 상기 템플릿은 도 5의 예와 같이 현재 블록의 좌측에 인접한 좌측 템플릿(TL) 및 현재 블록의 상측에 인접한 상측 템플릿(TA)을 포함할 수 있으며, 상기 템플릿의 크기는 현재 블록의 너비 및/또는 높이에 따라 달라질 수 있다. 그리고, 최소 SATD를 갖는 처음 2개의 인트라 예측 모드들이 TIMD 모드들로 선택될 수 있다. 상기 2개의 TIMD 모드들은 가중치와 함께 결합(fused)될 수 있으며, 이와 같은 가중 인트라 예측은 현재 CU를 코딩하는 데 이용될 수 있다. TIMD 모드들의 유도 과정에는 전술한 PDPC가 포함될 수 있다.
상기 2개의 선택된 모드들의 비용(costs)이 소정의 임계치와 비교될 수 있으며, 2의 비용 팩터(cost factor)를 이용한 다음 수학식 2의 조건이 충족되는 경우, 상술한 결합이 적용될 수 있다. 이와 달리, 수학식 2의 조건이 충족되지 않는 경우, 오직 첫번째 모드(i.e., mode1)만이 이용될 수 있다.
Figure PCTKR2023004002-appb-img-000003
(상술한 결합이 적용되는 경우) 각 모드에 대한 가중치는 각 모드의 SATD 비용을 이용하여 다음 수학식 3과 같이 계산될 수 있다.
Figure PCTKR2023004002-appb-img-000004
조합 인터 및 인트라 예측 (Combined inter and intra prediction, CIIP)
현재 블록의 예측 샘플을 생성하기 위해, 상술한 CIIP 모드가 현재 블록에 적용될 수 있다. 또한, CIIP 모드가 현재 CU에 적용되는지 여부를 지시하기 위해 소정의 부가 플래그(e.g., ciip_flag)가 시그널링될 수 있다. 예를 들어, CU가 머지 모드로 코딩된 경우, 해당 CU는 적어도 64개의 루마 샘플들(즉, CU의 너비x높이는 64 이상임)을 포함할 수 있다. 또한, CU의 너비 및 높이가 모두 128 루마 샘플들보다 작은 경우, CIIP 모드가 현재 CU에 적용되는지 여부를 지시하기 위해 상기 부가 플래그가 시그널링될 수 있다.
CIIP 모드에 따르면, (예측 샘플 생성을 위해) 인터 예측 신호(Pinter)와 인트라 예측 신호(Pintra)가 결합될 수 있다. 인터 예측 신호(Pinter)는 일반(regular) 머지 모드와 동일한 인터 예측 프로세스에 따라 도출될 수 있으며, 인트라 예측 신호(Pintra)는 플래너(planar) 모드를 이용한 일반 인트라 예측 프로세스에 따라 도출될 수 있다. 이후, 상기 인터 예측 신호(Pinter) 및 상기 인트라 예측 신호(Pintra)는 아래의 수학식 4와 같이 가중 평균(weighted averaging)을 이용하여 결합될 수 있다.
Figure PCTKR2023004002-appb-img-000005
수학식 4에서, 가중치 wt는 도 6에 도시된 상측 주변 블록(top) 및 좌측 주변 블록(left)의 코딩 모드에 의존하여 산출될 수 있다. 예를 들어, 변수 isIntraTop은 상기 상측 주변 블록(top)이 가용한 경우 1로 설정되고, 그렇지 않으면 0으로 설정될 수 있다. 또한, 변수 isIntraLeft는 상기 좌측 주변 블록(left)이 가용한 경우 1로 설정되고, 그렇지 않으면 0으로 설정될 수 있다. 상기 설정된 변수들 isIntraTop 및 isIntraLeft의 합이 2인 경우, 가중치 wt는 3으로 설정될 수 있다. 이와 달리, 상기 설정된 변수들 isIntraTop 및 isIntraLeft의 합이 1인 경우, 가중치 wt는 2로 설정될 수 있다. 그 이외의 경우, 가중치 wt는 1로 설정될 수 있다.
(1) PDPC 블렌딩 CIIP
ECM(Enhanced compression model)에서 CIIP 모드는 PDPC(Position dependent intra prediction)에 기반하여 확장될 수 있다. 상기 확장된 CIIP 모드(CIIP_PDPC)는 PDPC 블렌딩 CIIP 모드로 지칭될 수 있다. PDPC 블렌딩 CIIP 모드(CIIP_PDPC)에서, 일반 머지 모드의 예측은 상측 (Rx, -1)과 좌측 (R-1, y) 위치의 복원 샘플들을 이용하여 리파인(refine)될 수 있다. 상기 리파인은 PDPC 스킴(scheme)을 상속(inherit)할 수 있다. PDPC 블렌딩 CIIP 모드(CIIP_PDPC)에 따른 예측 과정은 도 7에 도시된 바와 같다. 도 7에서, 변수 WT와 WL은 PDPC에서 정의된 대로 블록 내 샘플 위치에 따라 달라지는 가중치를 나타낼 수 있다.
한편, PDPC 블렌딩 CIIP 모드(CIIP_PDPC)에 관한 정보는 일반(regular) CIIP 모드에 관한 정보와 함께 시그널링될 수 있다. 예를 들어, CIIP 플래그(e.g., ciip_flag)가 1인 경우(즉, CIIP 모드가 현재 CU에 적용되는 경우), CIIP_PDPC 플래그가 추가로 시그널링되어 PDPC 블렌딩 CIIP 모드(CIIP_PDPC)의 사용 여부를 나타낼 수 있다.
(2) TIMD 및 TM 머지와 CIIP의 조합
ECM에서 CIIP 모드는 TIMD(Template-based intra mode derivation) 및 TM(Template matching) 머지에 기반하여 확장될 수 있다. 예를 들어, CIIP-TM 머지 후보를 이용하여 예측된 인터 예측 신호와 TIMD에 의해 유도된 인트라 예측 모드를 이용하여 예측된 인트라 예측 신호에 가중치를 부여함으로써, 예측 샘플들이 생성될 수 있다. 상기 방법은 1024 이하의 영역을 갖는 코딩 블록들에 대해서만 적용될 수 있다.
TIMD 유도 방법은 CIIP에서 인트라 예측 모드를 유도하는 데 이용될 수 있다. 구체적으로, TIMD 모드 리스트 내에서 가장 작은 SATD(Sum of Absolute Difference) 값들을 갖는 인트라 예측 모드가 선택될 수 있고, 상기 선택된 인트라 예측 모드는 67개의 인트라 예측 모드들 중 어느 하나에 매핑될 수 있다. 상기 유도된 인트라 예측 모드가 각도 모드(angular mode)인 경우, 상기 인트라 예측 신호 및 상기 인터 예측 신호에 적용되는 가중치 세트(wIntra, wInter)는 수정될 수 있다. 예를 들어, 수평에 가까운 모드들(e.g., 2≤angular mode index<34)에 대하여, 현재 블록은 도 8의 (a)에 도시된 바와 같이 4개의 서브블록들(인덱스 0 내지 3)으로 수평 분할될 수 있다. 또한, 수직에 가까운 모드들(e.g., 34≤angular mode index≤66)에 대하여, 현재 블록은 도 8의 (b)에 도시된 바와 같이 4개의 서브블록들(인덱스 0 내지 3)으로 수직 분할될 수 있다. 그리고, 각각의 서브블록(인덱스 0 내지 3)에 대하여, 표 2와 같이 서로 다른 가중치 세트(wIntra, wInter)가 적용될 수 있다.
Figure PCTKR2023004002-appb-img-000006
표 2를 참조하면, 인덱스 0의 서브블록에 대해서는 (6, 2)의 가중치 세트가 적용되고, 인덱스 1의 서브블록에 대해서는 (5, 3)의 가중치 세트가 적용되며, 인덱스 2의 서브블록에 대해서는 (3, 5)의 가중치 세트가 적용되고, 인덱스 3의 서브블록에 대해서는 (2, 6)의 가중치 세트가 적용될 수 있다.
한편, CIIP-TM 모드에서 CIIP-TM 머지 후보들의 리스트가 빌드(build)될 수 있다. 그리고, 상기 CIIP-TM 머지 후보들은 템플릿 매칭에 의해 리파인(refine)될 수 있다. 또한, 상기 CIIP-TM 머지 후보들은 일반 머지 후보들처럼 소정의 방법(e.g., Adaptive reordering of merge candidate(ARMC))에 의해 재정렬될 수 있다. 일 예에서, CIIP-TM 머지 후보들의 최대 개수는 2와 같을 수 있다.
이하에서는, 본 개시와 관련된 변환/역변환에 대해 상세히 설명하기로 한다.
변환/역변환 개요
상술한 바와 같이 인코딩 장치는 인트라/인터/IBC 예측 등을 통하여 예측된 블록(예측 샘플들)을 기반으로 레지듀얼 블록(레지듀얼 샘플들)을 도출할 수 있고, 도출된 레지듀얼 샘플들에 변환 및 양자화를 적용하여 양자화된 변환 계수들을 도출할 수 있다. 양자화된 변환 계수들에 대한 정보(레지듀얼 정보)는 레지듀얼 코딩 신택스에 포함되어 인코딩 후 비트스트림 형태로 출력될 수 있다. 디코딩 장치는 상기 비트스트림으로부터 상기 (양자화된) 변환 계수들에 대한 정보(레지듀얼 정보)를 획득하고, 디코딩하여 양자화된 변환 계수들을 도출할 수 있다. 디코딩 장치는 양자화된 변환 계수들을 기반으로 역양자화/역변환을 거쳐서 레지듀얼 샘플들을 도출할 수 있다. 상술한 바와 같이 상기 양자화/역양자화 및/또는 변환/역변환 중 적어도 하나는 생략될 수 있다. 상기 양자화/역양자화가 생략되는 경우, 상기 양자화된 변환 계수는 변환 계수라고 불릴 수 있다. 상기 변환/역변환이 생략되는 경우, 상기 변환 계수는 계수 또는 레지듀얼 계수라고 불릴 수도 있고, 또는 표현의 통일성을 위하여 변환 계수라고 여전히 불릴 수도 있다. 상기 변환/역변환의 생략 여부는 transform_skip_flag를 기반으로 시그널링될 수 있다.
또한, 본 개시에서 양자화된 변환 계수 및 변환 계수는 각각 변환 계수 및 스케일링된(scaled) 변환 계수라고 지칭될 수 있다. 이 경우 레지듀얼 정보는 변환 계수(들)에 관한 정보를 포함할 수 있고, 상기 변환 계수(들)에 관한 정보는 레지듀얼 코딩 신택스를 통하여 시그널링될 수 있다. 상기 레지듀얼 정보(또는 상기 변환 계수(들)에 관한 정보)를 기반으로 변환 계수들이 도출될 수 있고, 상기 변환 계수들에 대한 역변환(스케일링)을 통하여 스케일링된 변환 계수들이 도출될 수 있다. 상기 스케일링된 변환 계수들에 대한 역변환(변환)을 기반으로 레지듀얼 샘플들이 도출될 수 있다. 이는 본 개시의 다른 부분에서도 마찬가지로 적용/표현될 수 있다.
상기 변환/역변환은 변환 커널(들)을 기반으로 수행될 수 있다. 예를 들어 본 개시에 따르면 MTS(multiple transform selection) 스킴(scheme)이 적용될 수 있다. 이 경우 다수의 변환 커널 세트들 중 일부가 선택되어 현재 블록에 적용될 수 있다. 변환 커널은 변환 매트릭스, 변환 타입 등 다양한 용어로 불릴 수 있다. 예를 들어, 변환 커널 세트는 수직 방향 변환 커널(수직 변환 커널) 및 수평 방향 변환 커널(수평 변환 커널)의 조합을 나타낼 수 있다.
예를 들어, MTS 인덱스 정보(또는, mts_idx 신택스 요소)가 상기 변환 커널 세트들 중 하나를 지시하기 위하여 인코딩 장치에서 생성/인코딩되어 디코딩 장치로 시그널링될 수 있다. 예를 들어 MTS 인덱스 정보의 값에 따른 변환 커널 세트는 표 3과 같이 도출될 수 있다.
Figure PCTKR2023004002-appb-img-000007
표 4는 tu_mts_idx[ x0 ][ y0 ]에 따른 tyTypeHor 및 trTypeVer 값들을 나타낸다.
상기 변환 커널 세트는 예를 들어, cu_sbt_horizontal_flag 및 cu_sbt_pos_flag를 기반으로 표 4와 같이 결정될 수도 있다.
Figure PCTKR2023004002-appb-img-000008
표 4는 cu_sbt_horizontal_flag 및 cu_sbt_pos_flag에 따른 tyTypeHor 및 trTypeVer 값들을 나타낸다. 여기서, 1과 같은 cu_sbt_horizontal_flag는 현재 코딩 유닛이 2개의 변환 블록들로 수평 분할됨을 나타낼 수 있다. 이와 달리, 0과 같은 cu_sbt_horizontal_flag는 현재 코딩 유닛이 2개의 변환 블록들로 수직 분할됨을 나타낼 수 있다. 또한, 1과 같은 cu_sbt_pos_flag는 현재 코딩 유닛 내 제1 변환 유닛의 신택스 요소들 tu_cbf_luma, tu_cbf_cb 및 tu_cbf_cr이 비트스트림 내에 존재하지 않음을 나타낼 수 있다. 이와 달리, 0과 같은 cu_sbt_pos_flag는 현재 코딩 유닛 내 제2 변환 유닛의 신택스 요소들 tu_cbf_luma, tu_cbf_cb 및 tu_cbf_cr이 비트스트림 내에 존재하지 않음을 나타낼 수 있다.
한편, 표 3 및 표 4서, trTypeHor는 수평 방향 변환 커널을 나타낼 수 있고, trTypeVer는 수직 방향 변환 커널을 나타낼 수 있다. trTypeHor/trTypeVer 값 0은 DCT2를 나타낼 수 있고, trTypeHor/trTypeVer 값 1은 DST7을 나타낼 수 있고, trTypeHor/trTypeVer 값 2는 DCT8을 나타낼 수 있다. 다만 이는 예시로서, 약속에 의하여 다른 값이 다른 DCT/DST에 매핑될 수도 있다.
표 5는 상술한 DCT2, DCT8, DST7에 대한 기저 함수들(basis functions)을 예시적으로 나타낸다.
Figure PCTKR2023004002-appb-img-000009
본 개시에서 상기 MTS 기반 변환은 1차 변환(primary transform)으로 적용되고, 2차 변환(secondary transform)이 더 적용될 수 있다. 상기 2차 변환은 상기 1차 변환이 적용된 계수 블록의 좌상단 wxh 영역의 계수들에 대하여만 적용될 수도 있으며, RST(reduced secondary transform)라고 불릴 수 있다. 예를 들어, 상기 w 및/또는 h는 4 또는 8일 수 있다. 변환에서 레지듀얼 블록에 상기 1차 변환 및 상기 2차 변환이 순차적으로 적용될 수 있고, 역변환에서는 변환 계수들에 역 2차 변환 및 역 1차 변환이 순차적으로 적용될 수 있다. 상기 2차 변환(RST 변환)은 low freueqncy coefficients transform (LFCT) 또는 low frequency non-seperable transform (LFNST)이라고 불릴 수 있다. 상기 역 2차 변환은 역 LFCT 또는 역 LFNST라고 불릴 수 있다.
도 9는 변환 및 역변환 과정을 설명하기 위한 도면이다. 도 9에서, 변환부(910)는 도 2의 변환부(120)에 대응할 수 있고, 역변환부(920)는 도 2의 역변환부(150) 또는 도 3의 역변환부(230)에 대응할 수 있다.
도 9를 참조하면, 변환부(910)는 1차 변환부(911) 및 2차 변환부(912)를 포함할 수 있다.
1차 변환부(911)는 잔차 샘플들(A)에 대하여 1차 변환을 적용하여 (1차) 변환 계수들(B)을 생성할 수 있다. 본 개시에서, 1차 변환은 코어 변환(core transform)으로 지칭될 수 있다.
1차 변환은 MTS 스킴에 기반하여 수행될 수 있다. 기존의 MTS가 적용되는 경우, DCT 타입 2, DST 타입 7 및 DCT 타입 8 등을 기반으로 잔차 신호(또는 잔차 블록)에 대하여 공간 도메인에서 주파수 도메인으로의 변환이 적용되어 변환 계수들(또는, 1차 변환 계수들)이 생성될 수 있다. 여기서, DCT 타입 2, DST 타입 7 및 DCT 타입 8 등은 변환 타입, 변환 커널 또는 변환 코어로 불릴 수 있다. DCT 타입 2, DST 타입 7 및 DCT 타입 8에 대한 기저 함수들의 일 예는 표 4를 참조하여 전술한 바와 같다.
한편, 상기 변환/역변환은 CU 또는 TU 단위로 수행될 수 있다. 즉, 상기 변환/역변환은 CU 내의 레지듀얼 샘플들 또는 TU 내의 레지듀얼 샘플들에 대하여 적용될 수 있다. CU 사이즈와 TU 사이즈가 같을 수 있고, 또는 CU 영역 내에 복수의 TU가 존재할 수도 있다. 한편, CU 사이즈라 함은 일반적으로 루마 성분(샘플) CB 사이즈를 나타낼 수 있다. TU 사이즈라 함은 일반적으로 루마 성분(샘플) TB 사이즈를 나타낼 수 있다. 크로마 성분(샘플) CB 또는 TB 사이즈는 컬러 포멧(크로마 포멧, e.g., 4:4:4, 4:2:2, 4:2:0 등)에 따른 성분비에 따라 루마 성분(샘플) CB 또는 TB 사이즈를 기반으로 도출될 수 있다. 상기 TU 사이즈는 maxTbSize를 기반으로 도출될 수 있다. 예를 들어, 상기 CU 사이즈가 상기 maxTbSize보다 큰 경우, 상기 CU로부터 상기 maxTbSize의 복수의 TU(TB)들이 도출되고, 상기 TU(TB) 단위로 변환/역변환이 수행될 수 있다. 상기 maxTbSize는 ISP 등 다양한 인트라 예측 타입의 적용 여부 판단 등에 고려될 수 있다. 상기 maxTbSize에 대한 정보는 미리 결정될 수도 있고, 또는 인코딩 장치에서 생성 및 인코딩되어 디코딩 장치로 시그널링될 수 있다.
전술한 바와 같이 변환은 레지듀얼 블록들에 적용될 수 있다. 이는, 최대한 레지듀얼 블록들을 무상관화(decorrelate)하고, 저주파수에 계수들을 집중시키며, 블록의 끝단에 제로 테일(zero tail)을 만들기 위함이다. JEM 소프트웨어에서 변환 파트는 2개의 주요 기능들, 즉 코어 변환 및 2차 변환을 포함한다. 코어 변환은 레지듀얼 블록의 모든 행들과 열들에 적용되는 DCT(discrete cosine transform) 및 DST(discrete sine transform) 변환 패밀리들로 구성된다. 이후 2차 변환이 코어 변환의 출력의 좌상측 코너에 추가적으로 적용될 수 있다. 유사하게 2차 역변환과 코어 역변환 순으로 역변환이 적용될 수 있다. 구체적으로, 2차 역변환이 계수 블록의 좌상측 코너에 적용될 수 있다. 이후 코어 역변환이 2차 역변환의 출력의 행들 및 열들에 적용된다. 코어 변환/역변환은 1차 변환/역변환으로 지칭될 수 있다.
AMT(Adaptive multiple core transform) 개요
기존의 DCT-2와 4x4 DST-7에 더하여, 적응적(또는 명시적) 다중 변환(adaptive multiple transform 또는 explicit multiple transform)(AMT 또는 EMT) 기법이 인터 및 인트라 코딩된 블록에 대한 레지듀얼 코딩을 위해 이용될 수 있다. 이하 AMT 및 EMT를 혼용해서 사용하기로 한다. AMT에서는 기존의 변환들 이외에 DCT/DST 패밀리들로부터 선택된 복수의 변환들이 이용될 수 있다. JEM에서 새롭게 도입된 변환 행렬들은 DST-7, DCT-8, DST-1 및 DCT-5이다. AMT에서 이용되는 DST/DCT의 기저 함수들은 표 6과 같다.
Figure PCTKR2023004002-appb-img-000010
EMT는 64보다 작거나 같은 너비 및 높이를 갖는 CU들에 적용될 수 있고, EMT가 적용되는지 여부는 CU 레벨 플래그에 의해 제어될 수 있다. 예를 들어, CU 레벨 플래그가 0이면, DCT-2가 잔차(residue)를 인코딩하기 위해 CU에 적용된다. EMT가 적용되는 CU 내 루마 코딩 블록에 대하여, 2개의 추가적인 플래그들이 이용될 수평 및 수직 변환을 식별하기 위해 시그널링된다. JEM에서 블록의 레지듀얼은 변환 스킵 모드로 코딩될 수 있다. 인트라 레지듀얼 코딩의 경우, 다른 인트라 예측 모드들의 다른 레지듀얼 통계들로 인하여, 모드-의존적 변환 후보 선택 프로세스가 이용된다. 예를 들어, 3개의 변환 서브셋들이 표 7과 같이 정의되고, 표 8과 같이 인트라 예측 모드에 기반하여 변환 서브셋이 선택된다.
Figure PCTKR2023004002-appb-img-000011
Figure PCTKR2023004002-appb-img-000012
서브셋 컨셉과 함께, 변환 서브셋은 CU-레벨 EMT_CU_flag가 1인 CU의 인트라 예측 모드를 이용하여 표 7에 기반하여 최초 식별된다. 이후, 수평(EMT_TU_horizontal_flag) 및 수직 (EMT_TU_vertical_flag) 변환 각각에 대하여, 식별된 변환 서브셋 내의 2개의 변환 후보들 중 하나가 표 8에 따라 플래그들을 이용한 명시적 시그널링에 기반하여 선택된다.
표 9는 AMT가 적용되는 변환 설정 그룹(transform configuration group)을 나타낸다.
Figure PCTKR2023004002-appb-img-000013
표 9를 참조하면, 변환 설정 그룹들은 예측 모드에 기반하여 결정되고 그룹의 개수는 총 6개(G0~G5)일 수 있다. 그리고, G0~G4는 인트라 예측이 적용되는 경우에 해당하고 G5는 인터 예측에 의해 생성된 잔차 블록에 적용되는 변환 조합들(또는 변환 셋, 변환 조합 셋)을 나타낸다.
하나의 변환 조합은 해당 2D 블록의 행(row)들에 적용되는 수평 변환(horizontal transform)(또는 행 변환(row transform))과 열(column)들에 적용되는 수직 변환(vertical transoform)(또는 열 변환(column transform))으로 이루어질 수 있다.
여기서, 모든 변환 설정 그룹들은 각 4개의 변환 조합 후보들을 가질 수 있다. 4개의 변환 조합 후보들은 0~3의 변환 조합 인덱스를 통해 선택 또는 결정될 수 있으며, 인코더에서 디코더로 변환 조합 인덱스를 인코딩하여 전송할 수 있다.
일 예로, 인트라 예측을 통해 획득된 잔차 데이터(또는 잔차 신호)는 인트라 예측 모드에 따라 그 통계적 특성이 각기 다를 수 있다. 따라서, 표 9와 같이 인트라 예측 별로 일반적인 코사인 변환이 아닌 다른 변환들이 적용될 수 있다. 본 개시에서, 변환 타입은, 예를 들어 DCT-Type 2, DCT-II, DCT-2와 같이 표기될 수 있다.
표 9는 35개의 인트라 예측 모드를 사용하는 경우와 67개의 인트라 예측 모드를 사용하는 경우를 나타낸다. 각 인트라 예측 모드 열에서 구분된 변환 설정 그룹 별로 복수개의 변환 조합들이 적용될 수 있다. 예를 들어, 복수개의 변환 조합들은 4개의 (행 방향 변환, 열 방향 변환) 조합으로 구성될 수 있다. 구체적 예로, 그룹 0에서는 행(수평) 방향과 열(수직) 방향 모두 DST-7과 DCT-5가 적용될 수 있어 총 4개의 조합이 가능하다.
각 인트라 예측 모드에 대해 총 4개의 변환 커널 조합이 적용될 수 있으므로, 그 중 하나를 선택하기 위한 변환 조합 인덱스가 변환 단위(transform unit)마다 전송될 수 있다. 본 개시에서, 변환 조합 인덱스는 AMT 인덱스(AMT index)로 지칭될 수 있으며, amt_idx로 표현될 수 있다.
또한, 표 9에서 제시된 변환 커널들 이외에도, 잔차 신호의 특성상 행 방향과 열 방향 모두에 대해 DCT-2가 최적인 경우가 발생할 수 있다. 따라서, 코딩 유닛마다 AMT 플래그를 정의함으로써 적응적으로 변환이 적용될 수 있다. 여기서, AMT 플래그가 0이면 행 방향과 열 방향 모두에 대해 DCT-2가 적용되고, AMT 플래그가 1이면 AMT 인덱스를 통해 4개의 조합 중 하나가 선택 또는 결정될 수 있다.
일 예로, AMT 플래그가 0인 경우 하나의 변환 단위에 대해 변환 계수의 개수가 3보다 작으면 표 9의 변환 커널들이 적용되지 않고 행 방향과 열 방향에 대해 모두 DST-7이 적용될 수 있다.
일 예로, 변환 계수 값들을 먼저 파싱하여 변환 계수의 개수가 3보다 작으면, AMT 인덱스가 파싱되지 않고 DST-7이 적용됨으로써 부가 정보 전송량이 감소될 수 있다.
일 예로, AMT는 변환 단위의 너비와 높이가 모두 32 이하일 경우에만 적용될 수 있다.
일 예로, 표 9는 오프라인 트레이닝(off-line training)을 통해 기설정될 수 있다.
일 예로 AMT 인덱스는 수평 변환과 수직 변환의 조합을 동시에 가리킬 수 있는 하나의 인덱스로 정의될 수 있다. 또는, AMT 인덱스는 별도의 수평 변환 인덱스와 수직 변환 인덱스로 정의될 수 있다.
도 10은 AMT가 수행되는 인코딩 과정을 나타낸 흐름도이다.
AMT는 1차 변환이나 2차 변환에 관계없이 적용될 수 있다. 즉, 둘 중 어느 한쪽에만 적용되어야 한다는 제약이 없으며, 둘다 적용될 수 있다. 여기서, 1차 변환은 잔차 블록을 맨 처음에 변환하기 위한 변환을 의미할 수 있고, 2차 변환은 1차 변환의 결과로 생성된 블록에 대해 변환을 적용하기 위한 변환을 의미할 수 있다.
도 10을 참조하면, 인코딩 장치는 현재 블록에 대응되는 변환 그룹을 결정할 수 있다(S1010). 여기서, 상기 변환 그룹은 표 8을 참조하여 전술한 변환 그룹을 의미할 수 있으나, 이에 한정되지 않으며 다른 변환 조합들로 구성될 수도 있다.
인코딩 장치는 상기 변환 그룹 내 이용가능한 후보 변환 조합들에 대해 변환을 수행할 수 있다(S1020).
상기 변환 수행 결과, 인코딩 장치는 RD(Rate Distortion) 비용이 가장 작은 변환 조합을 결정 또는 선택할 수 있다(S1030).
인코딩 장치는 상기 선택된 변환 조합에 대응되는 변환 조합 인덱스를 인코딩할 수 있다(S1040).
도 11은 AMT가 수행되는 디코딩 과정을 나타낸 흐름도이다.
도 11을 참조하면, 디코딩 장치는 현재 블록을 위한 변환 그룹을 결정할 수 있다(S1110).
디코딩 장치는 변환 조합 인덱스를 파싱할 수 있다(S1120). 여기서, 상기 변환 조합 인덱스는 상기 변환 그룹 내 복수 개의 변환 조합들 중 어느 하나에 대응될 수 있다. 변환 그룹을 결정하는 단계(S1110) 및 변환 조합 인덱스를 파싱하는 단계(S1120)는 동시에 수행될 수도 있다.
디코딩 장치는 상기 변환 조합 인덱스에 대응되는 변환 조합을 유도할 수 있다(S1130). 여기서, 상기 변환 조합은 표 8을 참조하여 전술한 변환 조합을 의미할 수 있으나, 이에 한정되지 않는다. 즉, 다른 변환 조합에 의한 구성도 가능하다.
디코딩 장치는 상기 변환 조합에 기초하여 현재 블록에 대해 역변환을 수행할 수 있다(S1140). 상기 변환 조합이 행 변환과 열 변환으로 구성된 경우, 행 변환을 먼저 적용한 후 열 변환을 적용할 수 있다. 다만, 본 과정은 이에 한정되지 않으며, 반대로 적용될 수도 있다.
인트라 코딩을 위한 향상된 MTS
VVC 디자인에서 MTS의 경우 인트라 및 인터 코딩을 위해 오직 DST7 및 DCT8 변환 커널들만이 이용된다. 이에 반해, ECM(Enhanced compression mode)에서는, DCT5, DST4, DST1 및 IDT(identity transform)를 포함하는 추가적 1차 변환들(primary transforms)이 더 이용될 수 있다. 또한, MTS 세트는 TU(transform unit) 크기 및 인트라 모드 정보에 따라 구성될 수 있다. 16개의 서로 다른 TU 크기들이 고려되며, 각각의 TU 크기에 대해 인트라 모드 정보에 따라 5개의 서로 다른 클래스들이 고려된다. 각각의 클래스에 대해 4개의 서로 다른 변환쌍들(transform pairs)이 고려될 수 있는데, 이는 VVC의 경우와 동일하다. 총 80개의 서로 다른 클래스들이 고려되나, 이러한 서로 다른 클래스들 중 일부는 정확히 동일한 변환 세트를 공유할 수도 있다. 따라서, 결과(resultant) 룩업 테이블(LUT) 내에는 (80개보다 작은) 58개의 고유(unique) 엔트리들이 존재할 수 있다.
한편, 각도(angular) 모드들에 대하여, TU 형태(shape)와 인트라 예측에 대한 조인트 대칭(joint symmetry)이 고려된다. 따라서, TU 형태가 AxB인 모드 i (여기서, i > 34)는, TU 형태가 BxA인 모드 j (여기서, j = 68 - i)에 대응하는 동일한 클래스에 매핑될 수 있다. 하지만, 각각의 변환쌍에 대해 수평 및 수직 변환 커널의 순서가 바뀌게 된다. 예를 들어, 모드 18(수평 예측)의 16x4 블록과 모드 50(수직 예측)의 4x16 블록은 동일한 클래스에 매핑된다. 이 때, 수직 및 수평 변환 커널은 서로 뒤바뀌게 된다. 광각 모드들(wide-angle modes)에 대해서는, 가장 가까운 기존(conventional) 각도 모드가 변환 세트 결정에 이용된다. 예를 들어, -2에서 -14 사이의 모든 모드들에 대하여 모드 2가 이용된다. 마찬가지로, 모드 67에서 80 사이의 모든 모드들에 대하여 모드 66이 이용된다.
종래 기술의 문제점
기존의 MTS(multiple transform set) 스킴에 따르면, DCT2 및 DST7의 2 종류 변환 커널을 이용하여 다음의 표 10과 같은 4개의 MTS 조합이 사용된다.
Figure PCTKR2023004002-appb-img-000014
하지만, 전술한 CIIP(Combined inter and intra prediction) 예측자는 인트라 예측자 및 인터 예측자의 조합이므로, 표 10과 같은 기존의 MTS 셋은 부적합할 수 있다. 예를 들어, DST7/DCT2 조합은 인트라 예측자에 대해서는 적합하나 인터 예측자에 대해서는 부적합할 수 있다. 또한, DCT2/DCT2 조합은 인터 예측자에 대해서는 적합하나 인트라 예측자에 대해서는 부적합할 수 있다. 따라서, 인트라 및 인터 예측의 속성을 모두 갖는 CIIP 예측자와 이에 기반한 잔차 신호에 대하여 기존 MTS 셋을 그대로 적용할 경우, 압축 효율이 크게 저하될 수 있다.
한편, ECM(Enhanced compression model)에서는 확장된 CIIP 모드로서 전술한 PDPC(Position dependent intra prediction) 블렌딩 CIIP 모드가 새롭게 도입되었다. 또한, 플래너(planar) 모드만을 사용하여 인트라 예측자를 생성하던 기존의 VVC와 달리, TIMD(Template-based intra mode derivation)를 통해 인트라 모드를 유도하여 사용할 수 있으므로, 모든 인트라 예측 모드가 확장된 CIIP에 적용될 수 있게 되었다. 이는 확장된 CIIP 모드에서 인트라 예측자 및 인터 예측자가 보다 복잡하고 다양한 방식으로 조합 가능함을 의미하며, 그 결과 기존 MTS 셋 적용에 따른 압축 효율 저하는 더 커질 수 밖에 없다.
이러한 문제를 해결하기 위하여, 본 개시에서는 CIIP 모드에서 MTS 스킴을 보다 효율적으로 적용할 수 있는 다양한 방법들을 제안하고자 한다. 후술할 본 개시의 실시예들은 본 개시의 대표적인 양상을 설명하기 위한 것으로, 각각 독립적으로 적용되거나 또는 2 이상의 조합으로 적용될 수 있다.
실시예 1
본 개시의 실시예 1에 따르면, 현재 블록의 예측 모드가 CIIP 모드인 경우, 전술한 표 10의 MTS 셋 대신에 소정의 인트라 MTS 셋이 현재 블록에 적용될 수 있다. 그리고, 상기 인트라 MTS 셋에서 현재 블록에 대한 MTS 조합은 CIIP 모드에 적용된 인트라 예측 모드에 기반하여 선택될 수 있다. 이하, 도 12를 참조하여, 본 개시의 실시예 1을 보다 상세히 설명하기로 한다.
도 12는 본 개시의 일 실시예에 따른 MTS 적용 방법을 나타낸 흐름도이다.
도 12의 각 단계는 영상 부호화 장치 또는 영상 복호화 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 영상 부호화 장치를 기준으로 설명하기로 한다.
도 12를 참조하면, 영상 부호화 장치는 현재 블록의 예측 모드가 CIIP 모드인지 여부를 결정할 수 있다(S1210). 여기서, CIIP 모드는 플래너 모드에 기반한 일반(regular) CIIP 모드일 수 있다. 또는, CIIP 모드는 ECM의 확장된 CIIP 모드, 예컨대 전술한 PDPC 블렌딩 CIIP 모드 또는 TIMD 기반의 CIIP 모드일 수 있다.
현재 블록의 예측 모드가 CIIP 모드인 경우(S1210의 'YES'), 영상 부호화 장치는 소정의 인트라 MTS 셋에 기반하여 현재 블록에 대한 변환을 수행할 수 있다(S1220). 일 실시예에서, 소정의 인트라 MTS 셋은 표 10의 DCT2 및 DST7에 더하여 DCT5, DST4, DST1 또는 IDT(identity transform) 중 적어도 하나의 변환 커널을 더 포함할 수 있다. 예를 들어, 인트라 MTS 셋은 DCT2, DST7 및 DCT5의 3 종류 변환 커널을 이용한 9개의 MTS 조합으로 구성될 수 있다. 또는, 인트라 MTS 셋은 DCT2, DST7, DCT5 및 DST1의 4 종류 변환 커널을 이용한 16개의 MTS 조합으로 구성될 수도 있다. 한편, 상술한 추가적 변환 커널의 종류 및 개수는 예시적인 것이므로, 본 개시의 실시예들이 이에 제한되는 것은 아니다.
현재 블록에 대한 MTS 조합은 CIIP 모드에 적용된 인트라 예측 모드에 기반하여 인트라 MTS 셋으로부터 선택될 수 있다. 예를 들어, CIIP 모드가 일반 CIIP 모드인 경우, 현재 블록에 대한 MTS 조합은 플래너 모드에 기반하여 선택될 수 있다.
또한, CIIP 모드가 PDPC 블렌딩 CIIP 모드인 경우, CIIP 모드에 적용된 인트라 예측 모드는 플래너 모드로 간주되고, 현재 블록에 대한 MTS 조합은 플래너 모드에 기반하여 선택될 수 있다. 실시예에 따라, CIIP 모드에 적용된 인트라 예측 모드는 플래너 모드 이외의 다른 인트라 예측 모드로 간주될 수도 있다. 예를 들어, CIIP 모드가 PDPC 블렌딩 모드인 경우, CIIP 모드에 적용된 인트라 예측 모드는 DC 모드로 간주되고, 현재 블록에 대한 MTS 조합은 DC 모드에 기반하여 선택될 수 있다.
또한, CIIP 모드가 TIMD 기반의 CIIP 모드인 경우, 현재 블록에 대한 MTS 조합은 TIMD에 의해 유도된 인트라 예측 모드에 기반하여 선택될 수 있다. 여기서, TIMD에 의해 유도된 인트라 예측 모드는 플래너 모드 이외에도 DC 모드, 2번 모드 등과 같이 기존의 모든 인트라 모드일 수 있음은 전술한 바와 같다.
이와 달리, 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우(S1210의 'NO'), 영상 부호화 장치는 기존의 MTS 셋, 예컨대 표 10을 참조하여 전술한 인터 MTS 셋에 기반하여 현재 블록에 대한 변환을 수행할 수 있다(S1230).
이상 본 개시의 실시예 1에 따르면, 현재 블록의 예측 모드가 CIIP 모드인 경우, DCT2 및 DST7만을 이용한 기존 인터 MTS 셋이 아니라 추가적 변환 커널을 더 포함하는 소정의 인트라 MTS 셋이 현재 블록에 적용될 수 있다. CIIP 모드는 인트라 예측자의 조합으로 인해 인트라 예측 모드에서 발생하는 잔차 신호 특성을 갖고 있으므로, 인트라 MTS 셋을 적용함으로써 압축 효율을 향상시킬 수 있다. 또한, 인트라 MTS 셋과 기존 인터 MTS 셋의 MTS 인덱스 이진화 방법은 동일하기 때문에, 기존의 이진화 프로세스를 동일하게 적용할 수 있다는 이점이 있다.
실시예 2
TIMD 기반의 CIIP 모드는 다른 유형의 CIIP 모드와 달리 인트라 예측 모드에서 발생하는 잔차 신호 특성을 더 크게 가지므로, 기존의 인터 MTS 셋 보다는 전술한 인트라 MTS 셋을 적용하는 것이 적합할 수 있다. 하지만, PDPC 블렌딩 CIIP 모드의 경우 기존의 인트라 예측 모드와는 다른 특성을 갖는 예측자를 생성하기 때문에, 인트라 MTS 셋을 적용하기에는 부적합할 수 있다. 이에, 본 개시의 실시예 2에 따르면, 전술한 인트라 MTS 셋은 현재 블록의 예측 모드가 TIMD 기반의 CIIP 모드인 경우에만 적용될 수 있다. 이하, 도 13을 참조하여, 본 개시의 실시예 2를 보다 상세히 설명하기로 한다.
도 13은 본 개시의 일 실시예에 따른 MTS 적용 방법을 나타낸 흐름도이다.
도 13의 각 단계는 영상 부호화 장치 또는 영상 복호화 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 영상 부호화 장치를 기준으로 설명하기로 한다.
도 13을 참조하면, 영상 부호화 장치는 현재 블록의 예측 모드가 CIIP 모드인지 여부를 결정할 수 있다(S1310).
현재 블록의 예측 모드가 CIIP 모드인 경우(S1310의 'YES'), 영상 부호화 장치는 CIIP 모드가 전술한 TIMD 기반의 CIIP 모드인지 여부를 결정할 수 있다(S1320).
판단 결과, CIIP 모드가 TIMD 기반의 CIIP 모드인 경우(S1320의 'YES'), 영상 부호화 장치는 소정의 인트라 MTS 셋에 기반하여 현재 블록에 대한 변환을 수행할 수 있다(S1330). 여기서, 소정의 인트라 MTS 셋은, 실시예 1에서 전술한 바와 같이, 표 10의 DCT2 및 DST7에 더하여 DCT5, DST4, DST1 또는 IDT(identity transform) 중 적어도 하나의 변환 커널을 더 포함할 수 있다.
이와 달리, CIIP 모드가 TIMD 기반의 CIIP 모드가 아닌 경우(예컨대, PDPC 블렌딩 CIIP 모드)(S1320의 'NO'), 영상 부호화 장치는 기존의 MTS 셋, 예컨대 표 10을 참조하여 전술한 인터 MTS 셋에 기반하여 현재 블록에 대한 변환을 수행할 수 있다(S1340).
한편, 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우에도(S1310의 'NO'), 영상 부호화 장치는 기존의 MTS 셋에 기반하여 현재 블록에 대한 변환을 수행할 수 있다(S1340).
이상 본 개시의 실시예 2에 따르면, DCT2 및 DST7 이외에 추가적 변환 커널을 더 포함하는 소정의 인트라 MTS 셋은 현재 블록의 예측 모드가 TIMD 기반의 CIIP 모드인 경우에만 적용될 수 있다. 이에 따라, CIIP 모드에서 압축 효율을 향상시키고, 실시예 1과 마찬가지로 기존과 동일한 MTS 인덱스 이진화 방법을 이용할 수 있다는 이점이 있다.
실시예 3
CIIP 모드에서는 인트라 예측자 및 인터 예측자의 조합으로 잔차 신호를 생성하기 때문에 기존의 인트라 예측자 또는 인터 예측자만으로 생성된 잔차 신호와는 상이한 특성을 가질 수 있다. 따라서, MTS 스킴을 CIIP 모드에 적용하는 경우, 압축 효율이 저하될 수 있다. 이에, 본 개시의 실시예 3에 따르면, MTS 스킴은 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우에만 적용될 수 있다. 이하, 도 14를 참조하여, 본 개시의 실시예 3을 보다 상세히 설명하기로 한다.
도 14는 본 개시의 일 실시예에 따른 MTS 적용 방법을 나타낸 흐름도이다.
도 14의 각 단계는 영상 부호화 장치 또는 영상 복호화 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 영상 부호화 장치를 기준으로 설명하기로 한다.
도 14를 참조하면, 영상 부호화 장치는 현재 블록의 예측 모드가 CIIP 모드인지 여부를 결정할 수 있다(S1410).
현재 블록의 예측 모드가 CIIP 모드인 경우(S1410의 'YES'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용하지 않을 수 있다(즉, MTS skip)(S1420). 이 경우, 현재 블록의 변환을 위하여, MTS 스킴 이외의 일반적 변환 스킴에 따라 결정된 소정의 변환 커널(e.g., DCT2)이 이용될 수 있다.
이와 달리, 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우(S1410의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1430). 이 경우, 현재 블록의 변환을 위하여, 소정의 MTS 셋(e.g., 인터 MTS 셋 또는 인트라 MTS 셋)으로부터 선택된 특정 MTS 조합이 이용될 수 있다.
이상 본 개시의 실시예 3에 따르면, MTS 스킴은 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우에만 적용될 수 있다. 이에 따라, CIIP 모드에서 압축 효율을 향상시키고, MTS 이진화 비트수(또는, 시그널링 비트수)를 절감할 수 있다.
실시예 4
전술한 실시예 3과 마찬가지로, MTS 스킴(scheme)을 CIIP 모드에 조건 없이 적용하는 경우, 압축 효율이 저하될 수 있다. 이에, 본 개시의 실시예 4에 따르면, MTS 스킴은 현재 블록의 예측 모드가 CIIP 모드가 아니거나 또는 특정 CIIP 모드인 경우에만 적용될 수 있다. 이하, 도 15 내지 도 17을 참조하여, 본 개시의 실시예 4를 보다 상세히 설명하기로 한다.
도 15는 본 개시의 일 실시예에 따른 MTS 적용 방법을 나타낸 흐름도이다.
도 15의 각 단계는 영상 부호화 장치 또는 영상 복호화 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 영상 부호화 장치를 기준으로 설명하기로 한다.
도 15를 참조하면, 영상 부호화 장치는 현재 블록의 예측 모드가 CIIP 모드인지 여부를 결정할 수 있다(S1510).
현재 블록의 예측 모드가 CIIP 모드인 경우(S1510의 'YES'), 영상 부호화 장치는 CIIP 모드가 확장된 CIIP 모드인지 여부를 결정할 수 있다(S1520). 일 실시예에서, 확장된 CIIP 모드는 PDPC 블렌딩 CIIP 모드 또는 TIMD 기반의 CIIP 모드 중 적어도 하나를 포함할 수 있다.
판단 결과, CIIP 모드가 확장된 CIIP 모드인 경우(S1520의 'YES'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용하지 않을 수 있다(S1530). 이 경우, 현재 블록의 변환을 위하여, MTS 스킴 이외의 일반적 변환 스킴에 따라 결정된 소정의 변환 커널(e.g., DCT2)이 이용될 수 있다.
이와 달리, CIIP 모드가 확장된 CIIP 모드가 아닌 경우(S1520의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1540). 이 경우, 현재 블록의 변환을 위하여, 소정의 MTS 셋(e.g., 인터 MTS 셋 또는 인트라 MTS 셋)으로부터 선택된 특정 MTS 조합이 이용될 수 있다.
한편, 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우에도(S1510의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1540).
도 16은 본 개시의 다른 실시예에 따른 MTS 적용 방법을 나타낸 흐름도이다.
도 16의 각 단계는 영상 부호화 장치 또는 영상 복호화 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 영상 부호화 장치를 기준으로 설명하기로 한다.
도 16을 참조하면, 영상 부호화 장치는 현재 블록의 예측 모드가 CIIP 모드인지 여부를 결정할 수 있다(S1610).
현재 블록의 예측 모드가 CIIP 모드인 경우(S1610의 'YES'), 영상 부호화 장치는 CIIP 모드가 TIMD 기반의 CIIP 모드인지 여부를 결정할 수 있다(S1620).
CIIP 모드가 TIMD 기반의 CIIP 모드인 경우(S1620의 'YES'), 영상 부호화 장치는 TIMD에 의해 유도된 인트라 예측 모드가 소정 모드인지 여부를 결정할 수 있다(S1630). 일 실시예에서, 상기 소정 모드는 비방향성 모드, 예컨대 플래너 모드 또는 DC 모드일 수 있다. 판단 결과, TIMD에 의해 유도된 인트라 예측 모드가 소정 모드인 경우(S1630의 'YES'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용하지 않을 수 있다(S1640). 이와 달리, TIMD에 의해 유도된 인트라 예측 모드가 소정 모드가 아닌 경우(S1630의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1650).
한편, 현재 블록의 예측 모드가 CIIP 모드가 아니거나(S1610의 'NO'), 또는 현재 블록의 예측 모드가 CIIP 모드이지만 TIMD 기반의 CIIP 모드는 아닌 경우에도(예컨대, PDPC 블렌딩 CIIP 모드)(S1620의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1650).
도 17은 본 개시의 또 다른 실시예에 따른 MTS 적용 방법을 나타낸 흐름도이다.
도 17의 각 단계는 영상 부호화 장치 또는 영상 복호화 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 영상 부호화 장치를 기준으로 설명하기로 한다.
도 17을 참조하면, 영상 부호화 장치는 현재 블록의 예측 모드가 CIIP 모드인지 여부를 결정할 수 있다(S1710).
현재 블록의 예측 모드가 CIIP 모드인 경우(S1710의 'YES'), 영상 부호화 장치는 CIIP 모드가 TIMD 기반의 CIIP 모드인지 여부를 결정할 수 있다(S1720).
CIIP 모드가 TIMD 기반의 CIIP 모드인 경우(S1720의 'YES'), 영상 부호화 장치는 TIMD에 의해 유도된 인트라 예측 모드가 소정 모드인지 여부를 결정할 수 있다(S1730). 일 실시예에서, 상기 소정 모드는 비방향성 모드, 예컨대 플래너 모드 또는 DC 모드일 수 있다. 판단 결과, TIMD에 의해 유도된 인트라 예측 모드가 소정 모드인 경우(S1730의 'YES'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1740). 이와 달리, TIMD에 의해 유도된 인트라 예측 모드가 소정 모드가 아닌 경우(S1730의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용하지 않을 수 있다(S1750).
한편, 현재 블록의 예측 모드가 CIIP 모드가 아닌 경우(S1710의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용할 수 있다(S1740).
이와 달리, 현재 블록의 예측 모드가 CIIP 모드이지만 TIMD 기반의 CIIP 모드는 아닌 경우(예컨대, PDPC 블렌딩 CIIP 모드)(S1720의 'NO'), 영상 부호화 장치는 현재 블록에 대해 MTS 스킴을 적용하지 않을 수 있다(S1750).
이상 본 개시의 실시예 4에 따르면, MTS 스킴은 현재 블록의 예측 모드가 CIIP 모드가 아니거나 또는 특정 CIIP 모드인 경우에만 적용될 수 있다. 이에 따라, CIIP 모드에서 압축 효율을 향상시키고, MTS 이진화 비트수(또는, 시그널링 비트수)를 절감할 수 있다.
이하, 도 18 및 도 19를 참조하여, 본 개시의 일 실시예에 따른 영상 부호화/복호화 방법을 상세하게 설명하기로 한다.
도 18은 본 개시의 일 실시예에 따른 영상 부호화 방법을 나타내는 흐름도이다.
도 18의 영상 부호화 방법은 도 2의 영상 부호화 장치에 의해 수행될 수 있다. 예를 들어, 단계 S1810 및 단계 S1820은 변환부(120)에 의해 수행될 수 있다.
도 18을 참조하면, 영상 부호화 장치는 현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정할 수 있다(S1810).
상기 현재 블록에 대해 상기 MTS가 적용되는 경우(S1810의 'YES'), 영상 부호화 장치는 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 변환을 수행할 수 있다(S1820).
상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정될 수 있다. 일 실시예에서, 상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여, 상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널(e.g., DCT5, DST4, DST1 및/또는 IDT 등)을 포함하는 인트라 MTS 셋으로 결정될 수 있다. 또한, 상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드인 것에 기반하여, 상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널을 포함하는 인트라 MTS 셋으로 결정될 수 있다.
일 실시예에서, 상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다(즉, MTS skip).
일 실시예에서, 상기 현재 블록의 예측 모드가 확장된 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다. 여기서, 상기 확장된 CIIP 모드는 PDPC(position dependent intra prediction) 블렌딩 CIIP 모드 또는 TIMD 기반의 CIIP 모드 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다. 여기서, 상기 소정의 예측 모드는 플래너(planar) 모드 또는 DC 모드일 수 있다.
일 실시예에서, 상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다. 여기서, 상기 소정의 예측 모드는 플래너(planar) 모드 또는 DC 모드일 수 있다.
도 19는 본 개시의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 19의 영상 복호화 방법은 도 3의 영상 복호화 장치에 의해 수행될 수 있다. 예를 들어, 단계 S1910 및 단계 S1920은 도 3의 역변환부(230)에 의해 수행될 수 있다.
도 19를 참조하면, 영상 복호화 장치는 현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정할 수 있다(S1910).
상기 현재 블록에 대해 상기 MTS가 적용되는 경우(S1910의 'YES'), 영상 부호화 장치는 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 역변환을 수행할 수 있다(S1920).
상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정될 수 있다. 일 실시예에서, 상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여, 상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널(e.g., DCT5, DST4, DST1 및/또는 IDT 등)을 포함하는 인트라 MTS 셋으로 결정될 수 있다. 또한, 상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드인 것에 기반하여, 상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널을 포함하는 인트라 MTS 셋으로 결정될 수 있다.
일 실시예에서, 상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다(즉, MTS skip).
일 실시예에서, 상기 현재 블록의 예측 모드가 확장된 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다. 여기서, 상기 확장된 CIIP 모드는 PDPC(position dependent intra prediction) 블렌딩 CIIP 모드 또는 TIMD 기반의 CIIP 모드 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다. 여기서, 상기 소정의 예측 모드는 플래너(planar) 모드 또는 DC 모드일 수 있다.
일 실시예에서, 상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않을 수 있다. 여기서, 상기 소정의 예측 모드는 플래너(planar) 모드 또는 DC 모드일 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시에 있어서, 소정의 동작(단계)을 수행하는 영상 부호화 장치 또는 영상 복호화 장치는 해당 동작(단계)의 수행 조건이나 상황을 확인하는 동작(단계)을 수행할 수 있다. 예컨대, 소정의 조건이 만족되는 경우 소정의 동작을 수행한다고 기재된 경우, 영상 부호화 장치 또는 영상 복호화 장치는 상기 소정의 조건이 만족되는지 여부를 확인하는 동작을 수행한 후, 상기 소정의 동작을 수행할 수 있다.
본 개시의 다양한 실시예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 본 개시의 실시예가 적용된 영상 복호화 장치 및 영상 부호화 장치는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, OTT 비디오(Over the top video) 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 또는 데이터 신호를 처리하기 위해 사용될 수 있다. 예를 들어, OTT 비디오(Over the top video) 장치로는 게임 콘솔, 블루레이 플레이어, 인터넷 접속 TV, 홈시어터 시스템, 스마트폰, 태블릿 PC, DVR(Digital Video Recoder) 등을 포함할 수 있다.
도 20은 본 개시에 따른 실시예가 적용될 수 있는 컨텐츠 스트리밍 시스템을 예시적으로 나타낸 도면이다.
도 20에 도시된 바와 같이, 본 개시의 실시예가 적용된 컨텐츠 스트리밍 시스템은 크게 인코딩 서버, 스트리밍 서버, 웹 서버, 미디어 저장소, 사용자 장치 및 멀티미디어 입력 장치를 포함할 수 있다.
상기 인코딩 서버는 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들로부터 입력된 컨텐츠를 디지털 데이터로 압축하여 비트스트림을 생성하고 이를 상기 스트리밍 서버로 전송하는 역할을 한다. 다른 예로, 스마트폰, 카메라, 캠코더 등과 같은 멀티미디어 입력 장치들이 비트스트림을 직접 생성하는 경우, 상기 인코딩 서버는 생략될 수 있다.
상기 비트스트림은 본 개시의 실시예가 적용된 영상 부호화 방법 및/또는 영상 부호화 장치에 의해 생성될 수 있고, 상기 스트리밍 서버는 상기 비트스트림을 전송 또는 수신하는 과정에서 일시적으로 상기 비트스트림을 저장할 수 있다.
상기 스트리밍 서버는 웹 서버를 통한 사용자 요청에 기반하여 멀티미디어 데이터를 사용자 장치에 전송하고, 상기 웹 서버는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 할 수 있다. 사용자가 상기 웹 서버에 원하는 서비스를 요청하면, 상기 웹 서버는 이를 스트리밍 서버에 전달하고, 상기 스트리밍 서버는 사용자에게 멀티미디어 데이터를 전송할 수 있다. 이때, 상기 컨텐츠 스트리밍 시스템은 별도의 제어 서버를 포함할 수 있고, 이 경우 상기 제어 서버는 상기 컨텐츠 스트리밍 시스템 내 각 장치 간 명령/응답을 제어하는 역할을 수행할 수 있다.
상기 스트리밍 서버는 미디어 저장소 및/또는 인코딩 서버로부터 컨텐츠를 수신할 수 있다. 예를 들어, 상기 인코딩 서버로부터 컨텐츠를 수신하는 경우, 상기 컨텐츠를 실시간으로 수신할 수 있다. 이 경우, 원활한 스트리밍 서비스를 제공하기 위하여 상기 스트리밍 서버는 상기 비트스트림을 일정 시간동안 저장할 수 있다.
상기 사용자 장치의 예로는, 휴대폰, 스마트 폰(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 (15)

  1. 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서, 상기 영상 복호화 방법은,
    현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하는 단계; 및
    상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 역변환을 수행하는 단계를 포함하고,
    상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정되는
    영상 복호화 방법.
  2. 제1항에 있어서,
    상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여,
    상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널을 포함하는 인트라 MTS 셋으로 결정되는
    영상 복호화 방법.
  3. 제1항에 있어서,
    상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드인 것에 기반하여,
    상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널을 포함하는 인트라 MTS 셋으로 결정되는
    영상 복호화 방법.
  4. 제1항에 있어서,
    상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않는
    영상 복호화 방법.
  5. 제1항에 있어서,
    상기 현재 블록의 예측 모드가 확장된 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않고,
    상기 확장된 CIIP 모드는, PDPC(position dependent intra prediction) 블렌딩 CIIP 모드 또는 TIMD 기반의 CIIP 모드 중 적어도 하나를 포함하는
    영상 복호화 방법.
  6. 제1항에 있어서,
    상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않는
    영상 복호화 방법.
  7. 제6항에 있어서,
    상기 소정의 예측 모드는 플래너(planar) 모드 또는 DC 모드인
    영상 복호화 방법.
  8. 제1항에 있어서,
    상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되는
    영상 복호화 방법.
  9. 영상 부호화 장치에 의해 수행되는 영상 부호화 방법으로서, 상기 영상 부호화 방법은,
    현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하는 단계; 및
    상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 변환을 수행하는 단계를 포함하고,
    상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정되는
    영상 부호화 방법.
  10. 제9항에 있어서,
    상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여,
    상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널을 포함하는 인트라 MTS 셋으로 결정되는
    영상 부호화 방법.
  11. 제9항에 있어서,
    상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드인 것에 기반하여,
    상기 MTS 셋은 DCT2, DST7 및 적어도 하나의 추가 변환 커널을 포함하는 인트라 MTS 셋으로 결정되는
    영상 부호화 방법.
  12. 제9항에 있어서,
    상기 현재 블록의 예측 모드가 상기 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않는
    영상 부호화 방법.
  13. 제9항에 있어서,
    상기 현재 블록의 예측 모드가 확장된 CIIP 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않고,
    상기 확장된 CIIP 모드는, PDPC(position dependent intra prediction) 블렌딩 CIIP 모드 또는 TIMD 기반의 CIIP 모드 중 적어도 하나를 포함하는
    영상 부호화 방법.
  14. 제9항에 있어서,
    상기 현재 블록의 예측 모드가 TIMD(template-based intra mode derivation) 기반의 CIIP 모드이고, 상기 TIMD에 의해 유도된 인트라 예측 모드가 소정의 예측 모드인 것에 기반하여, 상기 MTS는 상기 현재 블록에 대해 적용되지 않는
    영상 부호화 방법.
  15. 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독가능한 기록 매체에 있어서, 상기 영상 부호화 방법은,
    현재 블록에 대해 MTS(multiple transform selection)가 적용되는지 여부를 결정하는 단계; 및
    상기 현재 블록에 대해 상기 MTS가 적용됨에 기반하여, 소정의 MTS 셋(set)을 기반으로 상기 현재 블록에 대한 변환을 수행하는 단계를 포함하고,
    상기 MTS 셋은 상기 현재 블록의 예측 모드가 CIIP(Combined inter and intra prediction) 모드인지 여부에 기반하여 결정되는
    컴퓨터 판독가능한 기록 매체.
PCT/KR2023/004002 2022-03-27 2023-03-27 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 WO2023191404A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263324143P 2022-03-27 2022-03-27
US63/324,143 2022-03-27

Publications (1)

Publication Number Publication Date
WO2023191404A1 true WO2023191404A1 (ko) 2023-10-05

Family

ID=88202599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/004002 WO2023191404A1 (ko) 2022-03-27 2023-03-27 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Country Status (1)

Country Link
WO (1) WO2023191404A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210036397A (ko) * 2018-08-08 2021-04-02 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2021130374A1 (en) * 2019-12-27 2021-07-01 Interdigital Vc Holdings France Transform coding for inter-predicted video data
KR20210154157A (ko) * 2019-04-23 2021-12-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 변환 행렬의 선택 및 컨텍스트 모델링
KR20220038060A (ko) * 2019-07-27 2022-03-25 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 유형들에 따른 툴들의 사용의 제한들

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210036397A (ko) * 2018-08-08 2021-04-02 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
KR20210154157A (ko) * 2019-04-23 2021-12-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 변환 행렬의 선택 및 컨텍스트 모델링
KR20220038060A (ko) * 2019-07-27 2022-03-25 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 유형들에 따른 툴들의 사용의 제한들
WO2021130374A1 (en) * 2019-12-27 2021-07-01 Interdigital Vc Holdings France Transform coding for inter-predicted video data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Z. DENG (BYTEDANCE), K. ZHANG (BYTEDANCE), L. ZHANG (BYTEDANCE), X. LI (ALIBABA-INC), R.-L. LIAO (ALIBABA-INC), J. CHEN (ALIBABA-I: "EE2-3.1-related: CIIP with template matching", 24. JVET MEETING; 20211006 - 20211015; TELECONFERENCE; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 8 October 2021 (2021-10-08), XP030298060 *

Similar Documents

Publication Publication Date Title
WO2020009556A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020218793A1 (ko) Bdpcm에 기반한 영상 코딩 방법 및 그 장치
WO2020046091A1 (ko) 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
WO2020184991A1 (ko) Ibc 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020046092A1 (ko) 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
WO2020116961A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020180119A1 (ko) Cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
WO2020197274A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020185047A1 (ko) 인트라 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020046084A1 (ko) 영상 신호를 처리하기 위한 방법 및 장치
WO2020256482A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020184966A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020242183A1 (ko) 광각 인트라 예측 및 변환에 기반한 영상 코딩 방법 및 그 장치
WO2021015512A1 (ko) Ibc를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021162494A1 (ko) 필터 가용 정보를 선택적으로 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020185005A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020184990A1 (ko) Ibc 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020145798A1 (ko) 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
WO2023191404A1 (ko) 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2020130577A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020009366A1 (ko) 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
WO2020060259A1 (ko) 영상 코딩 시스템에서 블록 파티셔닝을 사용하는 영상 디코딩 방법 및 그 장치
WO2024043745A1 (ko) Mrl(multi reference line)을 이용한 인트라 예측 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024080766A1 (ko) 비분리 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
WO2023204624A1 (ko) Cccm(convolutional cross-component model) 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

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: 23781260

Country of ref document: EP

Kind code of ref document: A1