WO2024039132A1 - 영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법 - Google Patents

영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법 Download PDF

Info

Publication number
WO2024039132A1
WO2024039132A1 PCT/KR2023/011796 KR2023011796W WO2024039132A1 WO 2024039132 A1 WO2024039132 A1 WO 2024039132A1 KR 2023011796 W KR2023011796 W KR 2023011796W WO 2024039132 A1 WO2024039132 A1 WO 2024039132A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
current block
intra
neural network
flow
Prior art date
Application number
PCT/KR2023/011796
Other languages
English (en)
French (fr)
Inventor
딘쿠오칸
김경아
박민수
박민우
최광표
표인지
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220125777A external-priority patent/KR20240025429A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US18/235,612 priority Critical patent/US20240064331A1/en
Publication of WO2024039132A1 publication Critical patent/WO2024039132A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present disclosure relates to an image decoding method and an image decoding device, an image encoding method, and an image encoding device, and specifically, to a method and device for performing intra prediction.
  • codecs such as H.264 AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding) can be used to process video.
  • H.264 AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • an image can be divided into blocks, and each of the blocks can be predicted, encoded, and decoded through inter prediction or intra prediction.
  • Intra prediction is a method of compressing images by removing spatial redundancy within the images
  • inter prediction is a method of compressing images by removing temporal redundancy between images.
  • Intra prediction is performed by predicting all pixels within a specific block in one intra prediction direction based on one intra prediction mode. Additionally, in intra prediction operations, interpolation of reference pixels can be performed using fixed filter coefficients of a predetermined filter.
  • AI Artificial Intelligence
  • An embodiment of the present disclosure proposes a method and device for performing intra prediction more efficiently.
  • An image decoding method includes obtaining intra prediction feature data of a current block from a bitstream; Obtaining intra flow information indicating a reference pixel of the current pixel in the current block, based on the intra prediction feature data, neighboring pixels of the current block, and coding context information of the current block; Obtaining a predicted pixel of the current pixel based on intra-flow information of the current block; It may include restoring the current block based on the predicted pixel.
  • An image decoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions. At least one processor may obtain intra prediction feature data of the current block from the bitstream. At least one processor may obtain intra flow information indicating a reference pixel of the current pixel in the current block, based on intra prediction feature data, neighboring pixels of the current block, and coding context information of the current block. At least one processor may obtain a predicted pixel of the current pixel based on intra-flow information of the current block. At least one processor may restore the current block based on the predicted pixel.
  • the image encoding method includes intra prediction feature data of the current block and the original pixel of the current block, based on the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block. determining intra-flow information indicating a reference pixel corresponding to; Obtaining a predicted pixel of an original pixel based on intra-flow information of the current block; It may include encoding intra prediction feature data by restoring the current block based on the prediction pixel.
  • An image encoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions. At least one processor generates intra prediction feature data of the current block and intra prediction feature data of the current block, based on the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block, and points to a reference pixel corresponding to the original pixel of the current block. Flow information can be determined. At least one processor may obtain a predicted pixel of the original pixel based on intra-flow information of the current block. At least one processor may encode intra prediction feature data by reconstructing the current block based on the prediction pixel.
  • An image decoding method includes intra flow information indicating a reference pixel corresponding to the current pixel in the current block based on the first surrounding pixels of the current block and coding context information, and the reference pixel and the reference pixel. Obtaining weight information of a plurality of adjacent second peripheral pixels; Obtaining a predicted pixel of the current pixel based on intra-flow information and weight information; It may include restoring the current block based on the predicted pixel.
  • An image decoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions. At least one processor, based on the first neighboring pixels of the current block and the coding context information, intra flow information indicating a reference pixel corresponding to the current pixel in the current block, the reference pixel and a plurality of second neighboring pixels adjacent to the reference pixel Weight information can be obtained. At least one processor may obtain a predicted pixel of the current pixel based on intra flow information and weight information. At least one processor may restore the current block based on the predicted pixel.
  • An image encoding method includes an intra-flow signal indicating a reference pixel corresponding to the current pixel in the current block based on the first neighboring pixels of the current block and coding context information, and a reference pixel and a reference pixel.
  • An image encoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions. At least one processor, based on the first neighboring pixels of the current block and the coding context information, intra flow information indicating a reference pixel corresponding to the current pixel in the current block, the reference pixel and a plurality of second neighboring pixels adjacent to the reference pixel Weight information can be obtained. At least one processor may obtain a predicted pixel of the current pixel based on intra flow information and weight information. At least one processor may encode the current block based on the prediction pixel.
  • 1 is a diagram showing the video encoding and decoding process.
  • Figure 2 is a diagram showing blocks divided from an image according to a tree structure.
  • Figure 3 is a diagram showing an intra flow according to an embodiment of the present disclosure.
  • Figure 4 is a diagram for explaining intra flow according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram showing weights for a reference pixel indicated by an intra flow and surrounding pixels of the reference pixel, according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating weights for a reference pixel indicated by an intra flow and surrounding pixels of the reference pixel, according to an embodiment of the present disclosure.
  • Figure 7 is a schematic diagram showing an image encoding method according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating a neural network used in an image encoding method according to an embodiment of the present disclosure.
  • FIG. 9 is an example of the structure of the encoding neural network and the decoding neural network of FIG. 8.
  • Figure 10 is a schematic diagram showing an image decoding method according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram illustrating a neural network used in an image decoding method according to an embodiment of the present disclosure.
  • FIG. 12 is an example of the structure of the decoding neural network of FIG. 11.
  • FIG. 13 is a diagram for explaining a method of training neural networks used in an image encoding method and an image decoding method according to an embodiment of the present disclosure.
  • Figure 14 is a schematic diagram showing an image encoding method and an image decoding method according to an embodiment of the present disclosure.
  • FIG. 15 is a diagram for explaining a neural network training method used in an image encoding method and an image decoding method according to an embodiment of the present disclosure.
  • Figure 16 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • FIG. 17 is a diagram illustrating the configuration of a video decoding device according to an embodiment of the present disclosure.
  • Figure 18 is a flowchart of an image encoding method according to an embodiment of the present disclosure.
  • FIG. 19 is a diagram illustrating the configuration of a video encoding device according to an embodiment of the present disclosure.
  • Figure 20 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • FIG. 21 is a diagram illustrating the configuration of a video decoding device according to an embodiment of the present disclosure.
  • Figure 22 is a flowchart of an image encoding method according to an embodiment of the present disclosure.
  • FIG. 23 is a diagram illustrating the configuration of a video encoding device according to an embodiment of the present disclosure.
  • the expression “at least one of a, b, or c” refers to “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b and c”, or variations thereof.
  • a component when referred to as “connected” or “connected” to another component, the component may be directly connected or directly connected to the other component, but specifically Unless there is a contrary description, it should be understood that it may be connected or connected through another component in the middle.
  • components expressed as ' ⁇ unit (unit)', 'module', etc. are two or more components combined into one component, or one component is divided into two or more components for each more detailed function. It may be differentiated into.
  • each of the components described below may additionally perform some or all of the functions of other components in addition to the main functions that each component is responsible for, and some of the main functions of each component may be different from other components. Of course, it can also be performed exclusively by a component.
  • 'image or picture' may mean a still image (or frame), a moving image composed of a plurality of consecutive still images, or a video.
  • 'neural network' is a representative example of an artificial neural network model that simulates brain nerves, and is not limited to an artificial neural network model using a specific algorithm.
  • a neural network may also be referred to as a deep neural network.
  • a 'parameter' is a value used in the calculation process of each layer forming a neural network, and can be used, for example, when applying an input value to a predetermined calculation equation.
  • Parameters are values set as a result of training, and can be updated through separate training data as needed.
  • 'feature data' may refer to data obtained by a neural network or a neural network-based encoder processing input data.
  • Feature data may be one-dimensional or two-dimensional data.
  • Feature data may include one-dimensional or two-dimensional data including various samples.
  • Feature data may also be referred to as a latent tensor or latent representation.
  • Feature data may represent potential features in data output by a neural network-based decoder.
  • sample' refers to data assigned to a sampling position within one-dimensional or two-dimensional data such as an image, block, or feature data, and is the data to be processed.
  • a sample may include pixels in a two-dimensional image.
  • Two-dimensional data may also be referred to as a 'map'.
  • 'current block' refers to a block that is currently the target of processing.
  • the current block may be a slice, tile, maximum coding unit, coding unit, prediction unit, or transformation unit divided from the current image.
  • 'intra flow' refers to a reference pixel pointed to by each pixel in a block.
  • 1 is a diagram showing the encoding and decoding process of an image.
  • the encoding device 110 transmits a bitstream generated by encoding the image to the decoding device 150, and the decoding device 150 receives and decodes the bitstream to restore the image.
  • the encoding device 110 includes a prediction encoding unit 115, a transform and quantization unit 120, an entropy encoding unit 125, an inverse quantization and inverse transform unit 130, a deblocking filtering unit 135, and a loop. It may include a filtering unit 140, and the decoding device 150 includes an entropy decoding unit 155, an inverse quantization and inverse transform unit 160, a deblocking filtering unit 165, a loop filtering unit 170, and a prediction decoding unit. It may include part 175.
  • the prediction encoder 115 outputs a prediction block through inter prediction and intra prediction, and the transform and quantization unit 120 outputs a residual sample of the residual block between the prediction block and the current block. Transform and quantize them and output the quantized transform coefficients.
  • the entropy encoder 125 encodes the quantized transform coefficient and outputs it as a bitstream.
  • the quantized transform coefficient is restored into a residual block including residual samples in the spatial domain through the inverse quantization and inverse transform unit 130.
  • the restored block which is a combination of the prediction block and the residual block, passes through the deblocking filtering unit 135 and the loop filtering unit 140 and is output as a filtered block.
  • the reconstructed image including the filtered block can be used as a reference image for the next input image in the prediction encoder 115.
  • the bitstream received by the decoding device 150 is restored into a residual block including residual samples in the spatial domain through the entropy decoding unit 155 and the inverse quantization and inverse transform unit 160.
  • the prediction block and the residual block output from the prediction decoder 175 are combined to generate a restored block, and the restored block passes through the deblocking filtering unit 165 and the loop filtering unit 170 and is output as a filtered block.
  • the reconstructed image including the filtered block can be used by the prediction decoder 175 as a reference image for the next image.
  • the loop filtering unit 140 of the encoding device 110 performs loop filtering using filter information input according to user input or system settings.
  • the filter information used by the loop filtering unit 140 is transmitted to the decoding device 150 through the entropy encoding unit 125.
  • the loop filtering unit 170 of the decoding device 150 may perform loop filtering based on filter information input from the entropy decoding unit 155.
  • the image is hierarchically divided, and encoding and decoding are performed on blocks divided from the image.
  • an image can be segmented hierarchically. Blocks divided from an image will be described with reference to FIG. 2.
  • FIG. 2 is a diagram showing blocks divided (split or divided) from the image 200 according to a tree structure.
  • one image 200 may be divided into one or more slices or one or more tiles.
  • One slice may include multiple tiles.
  • the image 200 may be divided into one or more slices or one or more tiles.
  • One slice or one tile may be a sequence of one or more Maximum Coding Units (Maximum CU).
  • One maximum coding unit may be divided into one or more coding units.
  • a coding unit may be a reference block for determining a prediction mode. In other words, it can be determined whether intra prediction mode or inter prediction mode is applied to each coding unit.
  • the maximum coding unit may be referred to as a maximum coding block, and the coding unit may be referred to as a coding block.
  • the size of the coding unit may be the same as the maximum coding unit or may be smaller than the maximum coding unit. Since the maximum coding unit is a coding unit with the maximum size, it may also be referred to as a coding unit. Intra prediction may be referred to as “intra-prediction” and inter prediction may be referred to as “inter-prediction.”
  • One or more prediction units for intra-prediction or inter-prediction may be determined from the coding unit.
  • the size of the prediction unit may be the same as the coding unit or may be smaller than the coding unit.
  • one or more transformation units for transformation and quantization may be determined from the coding unit.
  • the size of the conversion unit may be the same as the coding unit or may be smaller than the coding unit.
  • the transformation unit is a reference block for transformation and quantization, and residual samples of the coding unit can be transformed and quantized for each transformation unit within the coding unit.
  • the current block may be a slice, a tile, a maximum coding unit, a coding unit, a prediction unit, or a transformation unit divided from the image 200.
  • the lower block of the current block is a block divided from the current block.
  • the lower block may be a coding unit, prediction unit, or transformation unit.
  • the upper block of the current block is a block that partially includes the current block.
  • the upper block may be a picture sequence, picture, slice, or tile. That is, the lower block of the current block and the upper block of the current block may mean blocks according to the hierarchical structure into which the image 200 is divided.
  • a subblock of the current block may mean a subunit that further subdivides the current block.
  • the parent block of the current block may mean the parent unit to which the current block belongs.
  • Figure 3 is a diagram showing an intra flow according to an embodiment of the present disclosure.
  • Performing prediction in one intra prediction direction according to one intra prediction mode for all pixels in a block cannot cover various video contents. Every pixel in a block can have a different prediction direction that points to the best reference pixels for each pixel.
  • Intra-flow pixels within the current block 320 of the current image 300 have intra flows 330 indicating different prediction directions, respectively, pointing to reference pixels within the surrounding reference area 310. Intra-flow may be referred to as “intra-flow”.
  • the intra flow 330 is a first vector representing the difference in It can be expressed as a second vector of the ⁇ component, or as an angle between the current pixel and the reference pixel. According to an embodiment of the present disclosure, when expressed only by the angle between the current pixel and the reference pixel, the reference pixel first located at the boundary of the current block is determined as the reference pixel according to the angle based on the current pixel.
  • the intra flow 300 may include one or more of a first vector, a second vector, and an angle. According to one embodiment of the present disclosure, intra flow 300 may include one or more of a first vector, a second vector, and an angle along with other information.
  • Figure 4 is a diagram for explaining intra flow according to an embodiment of the present disclosure.
  • the intra flow is a flow indicating the reference pixel of each pixel to be predicted.
  • the current pixel 420 of the current block 400 has an intra flow 430 indicating a reference pixel corresponding to the current pixel 420 among the surrounding reference areas 410 of the current block. . That is, each of the pixels in the current block 40 may have a reference pixel indicated by the intra flow. According to an embodiment of the present disclosure, each of the pixels in the current block 400 may have an independent or separate intra flow 430 that points to a reference pixel corresponding to each pixel in the current block 400. For example, a first pixel in the current block 400 may have a first intra flow 430 pointing to a first reference pixel corresponding to the first pixel, and a second pixel in the current block 400 may have a second intra flow 430.
  • the intra flow may include a flow (f i ) that points to the reference pixel (i is an integer) of each pixel (p i ) to be predicted in the current block.
  • intra flows are not needed for pixels on the border of a block, but may be inside a reference block if needed.
  • intra flow may not be necessary for pixels on the border of a reference block.
  • the image encoding device determines an intra flow indicating a reference pixel corresponding to each pixel in the current block, obtains a predicted pixel of the original pixel using the intra flow, and adds a predicted pixel to the predicted pixel.
  • the cost calculation operation may be a Sum of Transform Difference (SATD) or Rate Distortion Optimization (RDO) calculation.
  • SAD Sum of Transform Difference
  • RDO Rate Distortion Optimization
  • the video decoding device obtains information about the intra flow from the bitstream, determines an intra flow indicating a reference pixel corresponding to each pixel in the current block based on the information about the intra flow, and determines the intra flow Using the flow, a predicted pixel of the current pixel in the current block is obtained, and the current block is restored based on the predicted pixel.
  • FIG. 5 is a diagram showing weights for a reference pixel indicated by an intra flow and surrounding pixels of the reference pixel, according to an embodiment of the present disclosure.
  • the reference pixel of the current pixel can be determined according to the intra flow 330 that points to the reference pixel in the surrounding reference area 310 of the current pixel in the current block 320 of the current image 300.
  • pixels surrounding the reference pixel indicated by the intra flow 330 may include a plurality of references similar to the pixel to be predicted.
  • the final prediction pixel can be obtained by using a mixture of the reference pixel and the surrounding pixels 510 of the reference pixel. This is explained in more detail in Figure 6 below.
  • FIG. 6 is a diagram illustrating weights for a reference pixel indicated by an intra flow and surrounding pixels of the reference pixel, according to an embodiment of the present disclosure.
  • a reference pixel among the surrounding reference areas 410 of the current block 400 is determined according to the intra flow 430 indicating the reference pixel of the current pixel 420 of the current block 400.
  • the reference pixel and surrounding pixels 610 of the reference pixel are determined.
  • the final predicted pixel is obtained by using the determined reference pixel and surrounding pixels 610 to calculate the weighted average.
  • the reference pixel is pixel w 11
  • surrounding pixels may be w 00 , w 01 , w 02 , w 10 , w 12 , w 20 , w 21 , and w 22 .
  • the weight of the reference pixel is w11, the weight of the upper left neighboring pixel of the reference pixel is w 00 , the weight of the upper left neighboring pixel of the reference pixel is w 01 , the weight of the upper right neighboring pixel of the reference pixel is w 02 , and the reference pixel
  • the weight of the left neighboring pixel of is w 10
  • the weight of the right neighboring pixel of the reference pixel is w 12
  • the weight of the lower left neighboring pixel of the reference pixel is w 20
  • the weight of the lower left neighboring pixel of the reference pixel is w 21 .
  • the weight of the lower right surrounding pixels of the reference pixel is w 22 .
  • the final predicted pixel (or pixel value) is calculated as a weighted average according to Equation 1 below.
  • W is a reference window indicating pixels around the reference pixel, and in Figure 6, it has a size of 3x3, is the weight of row i and column j, is the sample value of the pixel in row i and column j.
  • the weight represents the contribution of each reference pixel to the final prediction pixel. If the contribution is large, the weight is large, and if the contribution is small, the weight is small.
  • the reference window may have a size of 5x5 or 7x7 rather than a size of 3x3, and the reference window may have a rectangular shape such as 3x5 or 5x3 rather than a square, but is not limited thereto.
  • the size and shape of these reference windows may vary.
  • the reference window may be of a predetermined size, and the weight information may be used in a weighted average based on the reference window of the predetermined size.
  • the image encoding device determines an intra flow indicating a reference pixel corresponding to each pixel in the current block, weight information about the reference pixel indicated by the intra flow, and surrounding pixels of the reference pixel, , obtain a predicted pixel of the original pixel using intra flow and weight information, restore the current block based on the predicted pixel, entropy encode the information about the intra flow and weight information through cost calculation, and decode the image into a bitstream. delivered to the device.
  • the cost calculation may be a Sum of Transform Difference (SATD) or Rate Distortion Optimization (RDO) calculation.
  • the video decoding device obtains information about the intra flow and weight information from the bitstream, and based on the information about the intra flow and the weight information, an intra flow information indicating a reference pixel corresponding to each pixel in the current block is generated. Weights for the flow and reference pixel and neighboring pixels of the reference pixel are determined, a predicted pixel of the current pixel in the current block is obtained using the intra flow and weights, and the current block is restored based on the predicted pixel.
  • FIGS. 7 to 23 an image encoding method and apparatus for determining intra flow or intra flow and weight information using a neural network and obtaining a prediction pixel based on the intra flow or intra flow and weight information, and an image decoding method are described. and apparatus are described below.
  • Figure 7 is a schematic diagram showing an image encoding method according to an embodiment of the present disclosure.
  • the original pixels 720 of the current block, the reference pixels 710 located around the current block, and the coding context information 730 are used in a neural network ( 740), and the neural network 740 can output an intra flow 760.
  • Figure 7 shows a plurality of original pixels and a plurality of reference pixels 710, the present disclosure is not limited thereto, and according to an embodiment of the present disclosure, the original pixel of the current block, the surrounding of the original pixel
  • the located reference pixel and coding context information 730 may be input to the neural network 740. According to one embodiment of the present disclosure, only the intra flow 760 can be obtained from the neural network 740.
  • the neural network 760 may output other information along with the intra flow 760.
  • intra flow 760 and weight information 770 may be obtained from the neural network 740.
  • prediction pixels 790 are obtained by performing prediction 780 using intra flow 760.
  • intra flow 760 and weight information 770 may be obtained from the neural network 740, and prediction pixels 790 may be obtained by performing prediction 780 using the intra flow 760 and weight information 770. You can.
  • the intra prediction feature data is entropy encoded from the neural network 740 through cost calculation and transmitted to the decoding device as a bitstream.
  • the cost calculation may be a Sum of Transform Difference (SATD) or Rate Distortion Optimization (RDO) calculation.
  • SATD Sum of Transform Difference
  • RDO Rate Distortion Optimization
  • the precision of intra flow 760 can be fractional pixels, such as half-pel, quarter-pel, etc., if weight information is not used. You can.
  • the precision of the intra flow 760 may be a pixel precision that directly points to a reference pixel.
  • FIG. 8 is a diagram illustrating a neural network used in an image encoding method according to an embodiment of the present disclosure.
  • Pixel information includes the original pixels 830 of the current block, reference pixels 820 located around (or around) the current block, and zero pixels 825 with a sample value of 0 in the uncoded area of the surrounding block. ) is used.
  • the coding context information 805, 810, and 815 is in a different domain from the pixel values of the pixel information, so the pixel information 820 is processed through the neural network 835 before being input to the encoding neural network 850. , 830, 825) need to be processed to the same size.
  • the neural network 835 may be a general convolutional neural network (CNN). Additionally, the neural network 835 may be a recurrent neural network (RNN). This is only an example and is not limited thereto.
  • the coding context information (805, 810, 815) and the pixel information (820, 830, 825) output from the neural network 835 are concatenated (840) and input to the encoding neural network (850).
  • Intra prediction feature data 855 in the form of a feature map is output from the encoding neural network 850.
  • the size of pixel information including reference pixels 820, zero pixels 825, and original pixels 830 is HxWxC (H is the height of pixel information, W is the width of pixel information, and C is the size of pixel information. channel, for example, in the case of the luma component, the value of C is 1.)
  • the size of the intra prediction feature data 855 which is feature map data, is hxwxc (h is smaller than H, w is smaller than W, and c is It may be limited to a predetermined number.)
  • h may be H/16 and w may be W/16.
  • c may be determined to be larger if the bit rate is high. However, it is not limited to this.
  • the intra prediction feature data 855 is transmitted as a bitstream, and when the size of the intra prediction feature data 855 is large, it is inefficient to transmit the intra prediction feature data 855, so the intra prediction feature data 855 is transmitted as a bitstream.
  • Predicted feature data 855 may be limited to an appropriate size.
  • the intra prediction feature data 855 is the feature map data output as a result of the encoding neural network 850 and is required for entropy decoding. Additional information representing the probability distribution of feature map data may be included.
  • the intra prediction feature data 855 is input back to the context decoder 802 together with pixel information including reference pixels 820 and zero pixels 825 and coding context information 805, 810, 815.
  • the original pixels 830 may not be input to the context decoder 802, and instead, additional zero pixels 825 may be input to the context decoder 802.
  • the neural network 860 may be a general convolutional neural network (CNN). Additionally, the neural network 860 may be a recurrent neural network (RNN). This is only an example and is not limited thereto.
  • the x component of the intra flow 875, the y component of the intra flow 880, and weight information 885 are obtained from the decoding neural network 870.
  • the angle component and size component of the intra flow may be obtained instead of the x component 875 of the intra flow and the y component 880 of the intra flow.
  • only the angular component of the intra flow can be obtained from the decoding neural network 870.
  • only the x component 875 of the intra flow and the y component 880 of the intra flow can be obtained from the decoding neural network 870.
  • the intra prediction feature data 855 output from the encoding neural network 850 is transmitted to the decoding device in the form of a bitstream.
  • FIG. 9 is an example of the structure of the encoding neural network and the decoding neural network of FIG. 8.
  • input data including coding context information (805, 810, 815) and pixel information (820, 825, 830) from the encoding neural network 850 of FIG. 8 are input to the first convolution layer 905. .
  • first convolution layer 905 “NX5
  • Feature data generated by the first convolutional layer 905 may represent unique characteristics of the input data.
  • each feature data may represent vertical characteristics, horizontal characteristics, or edge characteristics of input data.
  • the feature data of the first convolutional layer 905 may be input to the first generalized divisive normalization (GDN) layer 910.
  • GDN generalized divisive normalization
  • a sigmoid function, a Tanh function, a Rectified Linear Unit (ReLU) function, etc. may be used instead of the first GDN layer 910, but are not limited thereto.
  • the first GDN layer 910 may provide non-linear characteristics to each feature data.
  • Giving nonlinear characteristics in the first GDN layer 910 may mean changing and outputting some sample values of feature data. At this time, the change can be performed by applying non-linear characteristics.
  • the first GDN layer 910 may determine whether to transmit sample values of feature data to the second convolution layer 915. For example, some sample values of the feature data are activated by the first GDN layer 910 and transmitted to the second convolution layer 915, and certain sample values of specific data are activated by the first GDN layer 910. ) and may not be transmitted to the second convolution layer 915. Unique characteristics of the input data indicated by the feature data may be emphasized by the first GDN layer 910.
  • Feature data output from the first GDN layer 910 may be input to the second convolution layer 915.
  • the second convolution layer 915 “NX5
  • the output of the second convolution layer 915 may be input to the second GDN layer 920.
  • the second GDN layer 920 may provide non-linear characteristics to the input feature data.
  • Feature data output from the second GDN layer 920 may be input to the third convolution layer 925.
  • “NX5X5/2 ⁇ ” indicates convolution processing of downsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • the output of the third convolution layer 925 may be input to the third GDN layer 930.
  • the third GDN layer 930 may provide non-linear characteristics to the input feature data.
  • Feature data output from the third GDN layer 930 may be input to the fourth convolution layer 935.
  • the fourth convolution layer 935 “MX5
  • Intra prediction feature data 855 in the form of a feature map is output from the fourth convolutional layer 935.
  • FIG. 9 shows that the encoding neural network 850 has four convolutional layers (a first convolutional layer 905, a second convolutional layer 915, and a third convolutional layer 925). , and the fourth convolution layer 935) and three GDN layers (the first GDN layer 910, the second GDN layer 920, and the third GDN layer 930).
  • the number of convolutional layers and GDN layers included in the neural network 850 may be changed in various ways.
  • input data including coding context information (805, 810, 815), pixel information (820, 825), and intra prediction feature data (855) are the fifth It is input to the convolution layer (945).
  • NX5X5/2 ⁇ indicates convolution processing of upsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • Feature data generated by the fifth convolutional layer 945 may represent unique characteristics of the input data.
  • each feature data may represent vertical characteristics, horizontal characteristics, or edge characteristics of the input data.
  • the feature data of the fifth convolutional layer 945 may be input to the first inverse generalized divisive normalization (IGDN) layer 940.
  • IGDN inverse generalized divisive normalization
  • a sigmoid function, a Tanh function, a Rectified Linear Unit (ReLU) function, etc. may be used instead of the first IGDN layer 940, but are not limited thereto.
  • the first IGDN layer 940 may provide non-linear characteristics to each feature data.
  • Giving non-linear characteristics in the first IGDN layer 940 may mean changing and outputting some sample values of feature data. At this time, the change can be performed by applying non-linear characteristics.
  • the first IGDN layer 940 may determine whether to transmit sample values of feature data to the sixth convolution layer 955. For example, among the sample values of feature data, some sample values are activated by the first IGDN layer 940 and transmitted to the sixth convolution layer 955, and some sample values are activated by the first IGDN layer 940. It may be deactivated and not transmitted to the sixth convolution layer 955. Unique characteristics of the input data indicated by the feature data may be emphasized by the first IGDN layer 940.
  • Feature data output from the first IGDN layer 940 may be input to the sixth convolution layer 955.
  • “NX5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • the output of the sixth convolutional layer 955 may be input to the second IGDN layer 950.
  • the second IGDN layer 950 may provide non-linear characteristics to the input feature data.
  • Feature data output from the second IGDN layer 950 may be input to the seventh convolution layer 965.
  • “NX5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • the output of the seventh convolutional layer 965 may be input to the third IGDN layer 960.
  • the third IGDN layer 960 may provide non-linear characteristics to the input feature data.
  • Feature data output from the third IGDN layer 960 may be input to the eighth convolution layer 975.
  • “3X5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using three filter kernels of size 5x5.
  • the x-component 875 of the intra-flow, the y-component 880 of the intra-flow, and weight information 885 are output from the eighth convolutional layer 975.
  • Figure 9 shows that the decoding neural network 870 has four convolutional layers (5th convolutional layer 945, 6th convolutional layer 955, 7th convolutional layer 965, and 8th convolutional layer 975). )) and three IGDN layers (the first IGDN layer 940, the second IGDN layer 950, and the third IGDN layer 960), but this is only an example and In an embodiment, the number of convolutional layers and IGDN layers included in the neural network 870 may vary.
  • the structure of the neural networks of FIG. 9 described above is only an example and is not limited thereto.
  • Figure 10 is a schematic diagram showing an image decoding method according to an embodiment of the present disclosure.
  • intra prediction feature data 1020 of the current block, reference pixels 1010 located around the current block, and coding context information 1030 are input to the neural network 1040.
  • the neural network 1040 may output only the intra flow 1060.
  • the present disclosure is not limited to this, and according to an embodiment of the present disclosure, the neural network 1040 may output the intra flow 1060 along with other information.
  • the neural network 1040 may output intra flow 1060 and weight information 1070.
  • prediction 1080 is performed using the intra flow 1060 to obtain the prediction pixel 1090.
  • prediction 1080 is performed using the intra flow 1060 and weight information 1070 to obtain the predicted pixel 1090.
  • intra prediction feature data obtained from the bitstream is entropy decoded and input to the neural network 1040.
  • the precision of the intra flow 1060 may be a fractional pixel, such as half-pel, quarter-pel, etc., if weight information is not used.
  • the precision of the intra flow 1060 may be a pixel precision that directly points to a reference pixel.
  • FIG. 11 is a diagram illustrating a neural network used in an image decoding method according to an embodiment of the present disclosure.
  • the context decoder 1101 of FIG. 11 is the same as the context decoder 802 of FIG. 8.
  • Intra prediction feature data 1130 in the form of a feature map is obtained from the bitstream.
  • Intra prediction feature data 1130 may be input to the context decoder 1101 together with coding context information 1105, 1110, and 1115 and pixel information corresponding to reference pixels 1120 and zero pixels 1125.
  • the coding context information (1105, 1110, 1115) and pixel information (1120, 1125) are processed to the same size as the intra prediction feature data (1130) through the neural network (1160), and then converted into the intra prediction feature data (1130). It is spliced (1140) and input into the decoding neural network (1150).
  • the neural network 1160 may be a general convolutional neural network (CNN). Additionally, the neural network 1160 may be a recurrent neural network (RNN). This is only an example and is not limited thereto.
  • the x component of the intra flow 1160, the y component of the intra flow 1170, and weight information 1180 are obtained from the decoding neural network 1150.
  • angle component and size component of the intra flow may be obtained instead of the x component 1160 of the intra flow and the y component 1170 of the intra flow.
  • the x component 1160 of the intra flow and the y component 1170 of the intra flow can be obtained from the decoding neural network 1150.
  • FIG. 12 is an example of the structure of the decoding neural network of FIG. 11.
  • the structure of the decoding neural network 1150 in FIG. 11 is the same as the structure of the decoding neural network 870 in FIG. 8.
  • input data including coding context information (1105, 1110, 1115), pixel information (1120, 1125), and intra prediction feature data (1130) are subjected to a first convolution. It is input into layer 1205.
  • “NX5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • N is an integer.
  • Feature data generated by the first convolutional layer 1205 may represent unique characteristics of the input data.
  • each feature data may represent vertical characteristics, horizontal characteristics, or edge characteristics of the input data.
  • the feature data of the first convolutional layer 1205 may be input to the first inverse generalized divisive normalization (IGDN) layer 1210.
  • IGDN inverse generalized divisive normalization
  • a sigmoid function, a Tanh function, a Rectified Linear Unit (ReLU) function, etc. may be used instead of the first IGDN layer 1210, but are not limited thereto.
  • the first IGDN layer 1210 may provide non-linear characteristics to each feature data.
  • Giving nonlinear characteristics in the first IGDN layer 1210 may mean changing and outputting some sample values of feature data. At this time, the change can be performed by applying non-linear characteristics.
  • the first IGDN layer 1210 may determine whether to transmit sample values of feature data to the second convolution layer 1215. For example, some sample values of the feature data are activated by the first IGDN layer 1210 and transmitted to the second convolution layer 1215, and some sample values are activated by the first IGDN layer 1210. It may be deactivated and not transmitted to the second convolution layer 1215. Unique characteristics of the input data indicated by the feature data may be emphasized by the first IGDN layer 1210.
  • Feature data output from the first IGDN layer 1210 may be input to the second convolution layer 1215.
  • “NX5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • the output of the second convolution layer 1215 may be input to the second IGDN layer 1220.
  • the second IGDN layer 1220 may provide non-linear characteristics to the input feature data.
  • Feature data output from the second IGDN layer 1220 may be input to the third convolution layer 1225.
  • “NX5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using N filter kernels of size 5x5.
  • the output of the third convolution layer 1225 may be input to the third IGDN layer 1230.
  • the third IGDN layer 1230 may provide non-linear characteristics to the input feature data.
  • Feature data output from the third IGDN layer 1230 may be input to the fourth convolution layer 1235.
  • “3X5X5/2 ⁇ ” indicates convolution processing of upsampling with a stride interval of 2 using three filter kernels of size 5x5.
  • the x component of the intra flow 1160, the y component of the intra flow 1170, and weight information 1180 are output from the fourth convolution layer 1235.
  • 12 shows that the decoding neural network 1150 has four convolutional layers (first convolutional layer 1205, second convolutional layer 1215, third convolutional layer 1225, and fourth convolutional layer 1235). )) and three IGDN layers (the first IGDN layer 1210, the second IGDN layer 1220, and the third IGDN layer 1230), but this is only an example and In an embodiment, the number of convolutional layers and IGDN layers included in the neural network 1150 may vary.
  • the structure of the neural network of FIG. 12 described above is only an example and is not limited thereto.
  • FIG. 13 is a diagram for explaining a method of training neural networks used in an image encoding method and an image decoding method according to an embodiment of the present disclosure.
  • the encoding neural network 1340 and the decoding neural network 1345 can be trained using the original pixels for training 1320, reference pixels 1310 for training, and coding context information 1330 for training. there is.
  • original pixels for training 1320, reference pixels 1310 for training, and coding context information for training 1330 are input to the encoding neural network 1340 to obtain intra prediction feature data 1350 for training.
  • Intra prediction feature data for training 1350, reference pixels 1310 for training, and coding context information 1330 for training are input to the decoding neural network 1345, so that the intra flow 1360 and weight information 1370 are generated. It is acquired.
  • prediction 1380 is performed based on the intra flow 1360 and weight information 1370, prediction pixels 1390 for training are obtained.
  • intra prediction feature data for training 1350, reference pixels 1310 for training, and coding context information 1330 for training are input to the decoding neural network 1345, so that only the intra flow 1360 is obtained, and the intra If prediction 1380 is performed based on flow 1360, prediction pixels 1390 for training may be obtained.
  • the prediction pixels 1390 for training become as similar as possible to the original pixels 1320 for training through comparison 1355, and the intra prediction feature data for training 1350 is encoded to generate them.
  • Neural networks can be trained so that the bitrate of the generated bitstream is minimized.
  • first loss information 1365 and second loss information 1375 can be used to train neural networks.
  • the first loss information 1365 may correspond to the difference between the original pixels 1320 for training and the predicted pixels 1390 for training.
  • the difference between the original training pixels 1320 and the predicted training pixels 1390 is the L1-norm value between the original training pixels 1320 and the predicted training pixels 1390.
  • L2-norm value Structural Similarity (SSIM) value, Peak Signal-To-Noise Ratio-Human Vision System (PSNR-HVS) value, Multiscale SSIM (MS-SSIM) value, Variance Inflation Factor (VIF) value, or VMAF ( Video Multimethod Assessment Fusion) values may be included.
  • the first loss information 1365 is related to the quality of the reconstructed image using the training prediction pixels 1390, it may also be referred to as quality loss information.
  • the second loss information 1375 can be calculated from the bitrate of the bitstream generated as a result of encoding intra prediction feature data for training.
  • the second loss information 1375 is related to the coding efficiency for intra prediction feature data for training, the second loss information may be referred to as compression loss information.
  • the encoding neural network 1340 and the decoding neural network 1345 may be trained so that final loss information derived from at least one of the first loss information 1365 or the second loss information 1375 is reduced or minimized.
  • the encoding neural network 1340 and the decoding neural network 1345 may reduce or minimize final loss information while changing the values of preset parameters.
  • final loss information can be calculated according to Equation 2 below.
  • Equation 2 a and b are weights applied to the first loss information 1365 and the second loss information 1375, respectively.
  • Equation 2 it can be seen that the encoding neural network 1340 and the decoding neural network 1345 are trained so that the predicted pixel for training is as similar as possible to the original pixel for training and the size of the bitstream is minimized.
  • Intraflow is learned to adapt to the coding configuration and video content.
  • Weight information is also dynamically learned to adapt to the coding configuration and video content.
  • the training process described with reference to FIG. 13 may be performed by a training device.
  • the training device may be, for example, the video encoding device 1900 or a separate server. Parameters obtained as a result of training may be stored in the video encoding device 1900 and the video decoding device 1700.
  • Figure 14 is a schematic diagram showing an image encoding method and an image decoding method according to an embodiment of the present disclosure.
  • the video decoding method of FIG. 14 has no information obtained from the bitstream, and the video coding method of FIG. 14 has no signaling information, so the video of FIG. 14
  • the decoding method and the video encoding method are performed in the same way.
  • reference pixels 1410 and coding context information 1420 located around the current block are input to the neural network 1430.
  • Intra flow 1440 and weight information 1450 are obtained from the neural network 1430, and prediction 1460 is performed using the intra flow 1440 and weight information 1450 to obtain predicted pixels 1470.
  • Neural network 1430 may be a convolutional neural network. Additionally, the neural network 1430 may be a recurrent neural network (RNN). This is only an example and is not limited thereto.
  • RNN recurrent neural network
  • FIG. 15 is a diagram for explaining the training method of the neural network of FIG. 14.
  • a neural network 1530 may be trained using reference pixels 1510 for training and coding context information 1520 for training.
  • reference pixels for training 1510 and coding context information for training 1520 are input to the neural network 1530 to obtain intra flow 1540 and weight information 1550.
  • prediction 1560 is performed based on the intra flow 1540 and weight information 1550, prediction pixels 1570 for training may be obtained.
  • the neural network 1530 may be trained so that the prediction pixels 1570 for training are as similar as possible to the original pixels 1580 for training through comparison 1575.
  • the first loss information 1590 can be used for training the neural network 1530.
  • the reference pixels for training 1510, the predicted pixels for training 1570, and the original pixels 1580 for training may include one or more pixels.
  • the first loss information 1590 may correspond to the difference between the original pixels 1580 for training and the predicted pixels 1570 for training.
  • the difference between the original training pixels 1580 and the predicted training pixels 1570 is the L1-norm value between the original training pixels 1580 and the predicted training pixels 1570.
  • L2-norm value Structural Similarity (SSIM) value, Peak Signal-To-Noise Ratio-Human Vision System (PSNR-HVS) value, Multiscale SSIM (MS-SSIM) value, Variance Inflation Factor (VIF) value, or VMAF ( Video Multimethod Assessment Fusion) values may be included.
  • the first loss information 1590 is related to the quality of the reconstructed image using the training prediction pixels 1570, it may be referred to as quality loss information.
  • the neural network 1530 may be trained so that final loss information derived from the first loss information 1590 is reduced or minimized.
  • the neural network 1530 may reduce or minimize final loss information while changing the value of a preset parameter.
  • final loss information can be calculated according to Equation 3 below.
  • Equation 3 c is a weight applied to each first loss information 1590.
  • Equation 3 it can be seen that the neural network 1530 is trained in such a way that the predicted pixel for training is as similar as possible to the original pixel for training.
  • the training process described with reference to FIG. 15 may be performed by a training device.
  • the training device may be, for example, the video encoding device 2300 or a separate server. Parameters obtained as a result of training may be stored in the video encoding device 2300 and the video decoding device 2100.
  • Figure 16 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • the video decoding apparatus 1700 may obtain intra prediction feature data of the current block from the bitstream.
  • step S1630 the image decoding device 1700 applies intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to a neural network to determine an intra flow pointing to a reference pixel of the current pixel in the current block. You can.
  • the image decoding apparatus 1700 applies intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to a neural network to generate an intra flow indicating a reference pixel of the current pixel in the current block. And weight information for the reference pixel and a plurality of surrounding pixels adjacent to the reference pixel may be determined.
  • the neural network may output an intra flow using intra prediction feature data, reference pixels, and coding context information as input.
  • the intra flow may be expressed as one of a vector including an x component and a y component, a vector including a size component and an angle component, or an angle with respect to the reference pixel pointed to by the current pixel.
  • intra prediction feature data may be determined through neural network-based encoding.
  • the coding context information may include at least one of a quantization parameter of the current block, a temporal layer of the current block, a partition structure of the current block, a partition structure of neighboring pixels, or a transformation type of neighboring pixels.
  • the division structure information of the current block and the division structure information of the surrounding pixels may indicate how the current block and the surrounding pixels are divided (split or divided) with respect to the frame of the image. Additionally, the division structure information may further include hierarchical information indicating the level of division (split or division) within the tree structure shown in FIG. 2.
  • coding context information may be obtained through neural network-based encoding.
  • the image decoding apparatus 1700 may obtain a predicted pixel of the current pixel based on the intra flow of the current block.
  • the image decoding apparatus 1700 additionally obtains weight information about the reference pixel indicated by the intra flow and a plurality of surrounding pixels adjacent to the reference pixel from a neural network, and Predicted pixels may be obtained based on a weighted average using the weight information.
  • the precision of the intra flow may be a fractional pixel, such as half-pel, quarter-pel, etc., if weight information is not obtained.
  • the precision of the intra flow may be a pixel precision that directly points to a reference pixel when weight information is additionally obtained.
  • step S1670 the image decoding apparatus 1700 may restore the current block based on the predicted pixel.
  • FIG. 17 is a diagram illustrating the configuration of a video decoding device according to an embodiment of the present disclosure.
  • the image decoding device 1700 may include a receiving unit 1710, an AI processing unit 1720, and a decoding unit 1730.
  • the present disclosure is not limited to this, and the video decoding apparatus 1700 may omit some of the components shown in FIG. 1 or may include other components.
  • the image decoding device 1700 may include memory.
  • the receiving unit 1710, the AI processing unit 1720, and the decoding unit 1730 may be implemented as processors.
  • the receiving unit 1710, the AI processing unit 1720, and the decoding unit 1730 may operate according to instructions stored in the memory.
  • the receiving unit 1710, the AI processing unit 1720, and the decoding unit 1730 are processed through one processor. It can be implemented.
  • the receiving unit 1710, the AI processing unit 1720, and the decoding unit 1730 are implemented as dedicated processors or general-purpose processors such as an application processor (AP), central processing unit (CPU), or graphic processing unit (GPU). It can also be implemented through a combination of and software.
  • AP application processor
  • CPU central processing unit
  • GPU graphic processing unit
  • a dedicated processor it may include a memory for implementing an embodiment of the present disclosure, or a memory processing unit for using an external memory.
  • the receiving unit 1710, the AI processing unit 1720, and the decoding unit 1730 may be implemented with a plurality of processors.
  • the receiving unit 1710, the AI processing unit 1720, and the decoding unit 1730 may be implemented through a combination of dedicated processors, or may be implemented through a combination of software and a number of general-purpose processors such as AP, CPU, or GPU.
  • the processor may include a processor dedicated to artificial intelligence.
  • an artificial intelligence-specific processor may be composed of a processor and a separate chip.
  • the receiver 1710 obtains intra prediction feature data of the current block from the bitstream. Additionally, the receiving unit 1710 entropy decodes the intra prediction feature data and transmits it to the AI processing unit 1720.
  • the AI processing unit 1720 acquires reference pixel and coding context information.
  • the AI processing unit 1720 applies intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to a neural network to determine an intra flow indicating a reference pixel of the current pixel in the current block.
  • the AI processing unit 1720 applies intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to a neural network, and generates an intra flow indicating a reference pixel of the current pixel in the current block, the reference pixel, and the reference Weight information for a plurality of surrounding pixels adjacent to a pixel may be determined.
  • the AI processing unit 1720 transmits the intra flow to the decoding unit 1730.
  • the AI processing unit 1720 may transmit intra flow and weight information to the decoding unit 1730.
  • the decoder 1730 obtains a predicted pixel of the current pixel based on the intra flow of the current block. Additionally, the decoder 1730 restores the current block based on the prediction pixel.
  • the decoder 1730 may obtain a predicted pixel of the current pixel based on the intra flow and weight information of the current block.
  • the bitstream may be transmitted from the video encoding device 1900 through a network.
  • the bitstream is a magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. ) may also be recorded on a data storage medium containing, etc.
  • Figure 18 is a flowchart of an image encoding method according to an embodiment of the present disclosure.
  • step S1810 the image encoding device 1900 applies the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block to a neural network to generate intra prediction feature data of the current block. , an intra flow pointing to a reference pixel of the original pixel of the current block can be determined.
  • the image encoding apparatus 1900 applies the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block to a neural network to obtain intra prediction feature data of the current block, Weight information may be determined for an intra flow pointing to a reference pixel of the original pixel, a reference pixel indicated by the intra flow, and a plurality of neighboring pixels adjacent to the reference pixel.
  • the neural network includes an encoding neural network that takes original pixels, reference pixels, and coding context information as input and outputs intra prediction feature data, and the intra prediction feature data, reference pixels, and coding context information as input. It may include a decoding neural network that outputs a flow.
  • the decoding neural network may further output weight information.
  • the intra flow may be expressed as one of a vector including an x component and a y component, a vector including a size component and an angle component, or an angle with respect to a reference pixel pointed to by the current pixel.
  • the coding context information may include at least one of a quantization parameter of the current block, a temporal layer of the current block, a partition structure of the current block, a partition structure of neighboring pixels, and a transformation type of neighboring pixels.
  • the image encoding device 1900 may obtain a predicted pixel of the original pixel based on the intra flow of the current block.
  • the image encoding apparatus 1900 additionally obtains weight information about the reference pixel indicated by the intra flow and a plurality of surrounding pixels adjacent to the reference pixel from the neural network, and the reference pixel and the plurality of surrounding pixels And, prediction pixels may be obtained based on a weighted average using weight information.
  • the precision of the intra flow may be a fractional pixel, such as half-pel, quarter-pel, etc., if weight information is not obtained.
  • the precision of the intra flow may be a pixel precision that directly points to a reference pixel when weight information is additionally obtained.
  • the image encoding apparatus 1900 may encode intra prediction feature data by reconstructing the current block based on the prediction pixel.
  • FIG. 19 is a diagram illustrating the configuration of a video encoding device according to an embodiment of the present disclosure.
  • the image encoding device 1900 may include a first AI processing unit 1910, a second AI processing unit 1920, and an encoding unit 1930.
  • the present disclosure is not limited to this, and the video encoding device 1900 may omit some of the components shown in FIG. 19 or include other components.
  • the image encoding device 1900 may include memory.
  • the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 may be implemented as processors.
  • the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 may operate according to instructions stored in the memory.
  • FIG. 19 shows the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 individually, but the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 are shown separately in FIG. Part 1930 may be implemented via a single processor.
  • the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 are implemented as a dedicated processor, an application processor (AP), a central processing unit (CPU), or a graphic processing unit (GPU).
  • AP application processor
  • CPU central processing unit
  • GPU graphic processing unit
  • a dedicated processor it may include a memory for implementing an embodiment of the present disclosure, or a memory processing unit for using an external memory.
  • the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 may be implemented with a plurality of processors.
  • the first AI processing unit 1910, the second AI processing unit 1920, and the encoding unit 1930 are implemented as a combination of dedicated processors or a combination of software and multiple general-purpose processors such as AP, CPU, or GPU. It can also be implemented through .
  • the processor may include a processor dedicated to artificial intelligence.
  • an artificial intelligence-specific processor may be composed of a processor and a separate chip.
  • the first AI processing unit 1910 determines intra prediction feature data of the current block by applying the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block to the encoding neural network.
  • the first AI processing unit 1910 transmits intra prediction feature data to the second AI processing unit 1920 and the encoding unit 1930.
  • the second AI processing unit 1920 obtains reference pixel and coding context information.
  • the second AI processing unit 1920 applies intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to the decoding neural network to determine an intra flow indicating a reference pixel of the current pixel in the current block.
  • the second AI processing unit 1920 applies intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to the neural network, and generates an intra flow indicating a reference pixel of the current pixel in the current block and the reference pixel. Weight information for a plurality of neighboring pixels adjacent to the reference pixel may be determined.
  • the second AI processing unit 1920 transmits the intra flow to the encoding unit 1930.
  • the second AI processing unit 1920 may transmit intra flow and weight information to the encoder 1930.
  • the encoder 1930 obtains a predicted pixel of the current pixel based on the intra flow of the current block. Additionally, the encoder 1930 encodes intra prediction feature data by reconstructing the current block based on the prediction pixel.
  • the encoder 1930 may obtain a predicted pixel of the current pixel based on the intra flow and weight information of the current block. Additionally, the encoder 1930 may encode intra prediction feature data by reconstructing the current block based on the prediction pixel.
  • Intra prediction feature data may be entropy encoded and transmitted to the video decoding device 1700.
  • Figure 20 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • step S2010 the image decoding apparatus 2100 applies the surrounding pixels and coding context information of the current block to a neural network to generate intra flow and reference pixel indicating the reference pixel of the current pixel in the current block. Weight information of a plurality of neighboring pixels adjacent to can be determined.
  • the neural network may be a convolutional neural network.
  • the image decoding apparatus 2100 may apply surrounding pixels of the current block and coding context information to a neural network to determine an intra flow indicating a reference pixel of the current pixel in the current block.
  • the precision of the intra flow may be a fractional pixel, such as half-pel, quarter-pel, etc., if weight information is not obtained.
  • the precision of the intra flow may be a pixel precision that directly points to a reference pixel when weight information is additionally obtained.
  • the image decoding apparatus 2100 may determine a predicted pixel of the current pixel based on intra flow and weight information.
  • the image decoding apparatus 2100 may determine a predicted pixel of the current pixel based on intra flow.
  • step S2050 the image decoding device 2100 may restore the current block based on the prediction pixel.
  • FIG. 21 is a diagram illustrating the configuration of a video decoding device according to an embodiment of the present disclosure.
  • the image decoding device 2100 may include an AI processing unit 2110 and a decoding unit 2120.
  • the present disclosure is not limited to this, and the video decoding apparatus 2100 may omit some of the components shown in FIG. 21 or include other components.
  • the image decoding device 2100 may include memory.
  • the AI processing unit 2110 and decoding unit 2120 may be implemented as a processor.
  • the AI processing unit 2110 and the decoding unit 2120 may operate according to instructions stored in memory.
  • FIG. 21 shows the AI processing unit 2110 and the decoding unit 2120 separately, but the AI processing unit 2110 and the decoding unit 2120 can be implemented through one processor.
  • the AI processing unit 2110 and the decoding unit 2120 are implemented as dedicated processors or through a combination of a general-purpose processor such as an application processor (AP), a central processing unit (CPU), or a graphic processing unit (GPU) and software. It may be implemented. Additionally, in the case of a dedicated processor, it may include a memory for implementing an embodiment of the present disclosure, or a memory processing unit for using an external memory.
  • AP application processor
  • CPU central processing unit
  • GPU graphic processing unit
  • the AI processing unit 2110 and decoding unit 2120 may be implemented with multiple processors.
  • the AI processing unit 2110 and the decoding unit 2120 may be implemented through a combination of dedicated processors, or may be implemented through a combination of software and a number of general-purpose processors such as AP, CPU, or GPU.
  • the processor may include a processor dedicated to artificial intelligence.
  • an artificial intelligence-specific processor may be composed of a processor and a separate chip.
  • the AI processing unit 2110 acquires a reference pixel of the current block and coding context information of the current block.
  • the AI processing unit 2110 applies the surrounding pixels of the current block and the coding context information of the current block to the neural network to determine the intra flow indicating the reference pixel of the current pixel in the current block and the weight for the reference pixel and the surrounding pixels of the reference pixel. Decide on information.
  • the AI processing unit 2110 transmits intra flow and weight information to the decoding unit 2120.
  • the decoder 2120 obtains a predicted pixel of the current pixel based on the intra flow and weight information of the current block. Additionally, the decoder 1730 restores the current block based on the prediction pixel.
  • Figure 22 is a flowchart of an image encoding method according to an embodiment of the present disclosure.
  • the image encoding device 2300 applies the surrounding pixels and coding context information of the current block to a neural network to generate intra flow and reference pixel indicating the reference pixel of the current pixel in the current block. Weight information of a plurality of neighboring pixels adjacent to can be determined.
  • the neural network may be a convolutional neural network.
  • the image encoding apparatus 2300 may apply surrounding pixels of the current block and coding context information to a neural network to determine an intra flow indicating a reference pixel of the current pixel in the current block.
  • the precision of the intra flow may be a fractional pixel, such as half-pel, quarter-pel, etc., if weight information is not obtained.
  • the precision of the intra flow may be a pixel precision that directly points to a reference pixel when weight information is additionally obtained.
  • the image encoding device 2300 may determine a predicted pixel of the current pixel based on intra flow and weight information.
  • the image encoding apparatus 2300 may determine a predicted pixel of the current pixel based on intra flow.
  • step S2250 the image encoding device 2300 may encode the current block based on the prediction pixel.
  • FIG. 23 is a diagram illustrating the configuration of a video encoding device according to an embodiment of the present disclosure.
  • the image encoding device 2300 may include an AI processing unit 2310 and an encoding unit 2320.
  • the present disclosure is not limited to this, and the video encoding device 2300 may omit some of the components shown in FIG. 23 or include other components.
  • the image encoding device 2300 may include memory.
  • the AI processing unit 2310 and the encoding unit 2320 may be implemented as a processor.
  • the AI processing unit 2310 and the encoding unit 2320 may operate according to instructions stored in memory.
  • FIG. 21 shows the AI processing unit 2310 and the encoding unit 2320 separately, but the AI processing unit 2310 and the encoding unit 2320 can be implemented through one processor.
  • the AI processing unit 2310 and the encoding unit 2320 are implemented as dedicated processors or through a combination of a general-purpose processor such as an application processor (AP), a central processing unit (CPU), or a graphic processing unit (GPU) and software. It may be implemented. Additionally, in the case of a dedicated processor, it may include a memory for implementing an embodiment of the present disclosure, or a memory processing unit for using an external memory.
  • AP application processor
  • CPU central processing unit
  • GPU graphic processing unit
  • the AI processing unit 2310 and the encoding unit 2320 may be implemented with multiple processors.
  • the AI processing unit 2310 and the encoding unit 2320 may be implemented through a combination of dedicated processors, or may be implemented through a combination of software and a number of general-purpose processors such as AP, CPU, or GPU.
  • the processor may include a processor dedicated to artificial intelligence.
  • an artificial intelligence-specific processor may be composed of a processor and a separate chip.
  • the AI processing unit 2310 acquires a reference pixel of the current block and coding context information of the current block.
  • the AI processing unit 2310 applies the surrounding pixels of the current block and the coding context information of the current block to the neural network to determine the intra flow indicating the reference pixel of the current pixel in the current block and the weight for the reference pixel and the surrounding pixels of the reference pixel. Decide on information.
  • the AI processing unit 2310 transmits intra flow and weight information to the decoding unit 2120.
  • the encoder 2320 obtains a predicted pixel of the current pixel based on the intra flow and weight information of the current block. Additionally, the encoder 2320 encodes the current block based on the prediction pixel.
  • An image decoding method includes obtaining intra prediction feature data of a current block from a bitstream; Applying intra prediction feature data, surrounding pixels of the current block, and coding context information of the current block to a neural network to determine an intra flow pointing to a reference pixel of the current pixel in the current block; Obtaining a predicted pixel of the current pixel based on the intra flow of the current block; It may include restoring the current block based on the predicted pixel.
  • the image decoding method applies not one prediction direction to all pixels in a block to be predicted, but each prediction direction to each pixel, and uses a neural network to apply the surrounding pixels to each pixel.
  • a learned intra flow is obtained by using intra prediction feature data, surrounding pixels, and coding context information as input through a neural network, and the prediction pixel is obtained using the intra flow.
  • the efficiency of intra prediction can be improved by using intra flow, where each pixel of the block to be predicted has a unique spatial vector pointing to an available reference pixel.
  • the step of obtaining a predicted pixel of the current pixel based on the intra flow of the current block includes: adding weight information about the reference pixel indicated by the intra flow from the neural network and a plurality of surrounding pixels adjacent to the reference pixel. Obtaining with; and obtaining predicted pixels based on a reference pixel, a plurality of neighboring pixels, and a weighted average using weight information.
  • the image decoding method does not use predetermined filters, but acquires an intra flow learned through a neural network and uses the intra flow and the learned weight information to determine the predicted pixel. Therefore, the efficiency of intra prediction can be improved by using a weighted average based on intra flow and weight information.
  • the neural network may output an intra flow using intra prediction feature data, reference pixels, and coding context information as input.
  • the intra flow may be expressed as one of a vector including an x component and a y component, a vector including a size component and an angle component, or an angle with respect to the reference pixel pointed to by the current pixel.
  • intra prediction feature data may be determined through neural network-based encoding.
  • the coding context information may include at least one of a quantization parameter of the current block, a temporal layer of the current block, a partition structure of the current block, a partition structure of neighboring pixels, and a transformation type of neighboring pixels.
  • coding context information may be obtained through neural network-based encoding.
  • An image decoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions, wherein the at least one processor acquires intra prediction feature data of the current block from the bitstream, and stores the intra prediction feature data, surrounding pixels of the current block, and Apply the coding context information of the current block to the neural network to determine the intra flow pointing to the reference pixel of the current pixel in the current block, obtain the predicted pixel of the current pixel based on the intra flow of the current block, and obtain the predicted pixel based on the predicted pixel.
  • the current block can be restored.
  • the video decoding device applies not one prediction direction to all pixels in a block to be predicted, but each prediction direction to each pixel, and applies the surrounding pixels through a neural network.
  • a learned intra flow is obtained by using intra prediction feature data, surrounding pixels, and coding context information as input through a neural network, and the prediction pixel is obtained using the intra flow.
  • the efficiency of intra prediction can be improved by using intra flow, where each pixel of the block to be predicted has a unique spatial vector pointing to an available reference pixel.
  • obtaining a predicted pixel of the current pixel based on the intra flow of the current block includes: adding weight information about the reference pixel indicated by the intra flow from the neural network and a plurality of surrounding pixels adjacent to the reference pixel. It may include obtaining predicted pixels based on a reference pixel, a plurality of surrounding pixels, and a weighted average using weight information.
  • the image decoding device does not use predetermined filters, but acquires an intra flow learned through a neural network and uses the intra flow and the learned weight information to determine the prediction pixel. Therefore, the efficiency of intra prediction can be improved by using a weighted average based on intra flow and weight information.
  • the neural network may output an intra flow using intra prediction feature data, reference pixels, and coding context information as input.
  • the intra flow may be expressed as one of a vector including an x component and a y component, a vector including a size component and an angle component, or an angle with respect to the reference pixel pointed to by the current pixel.
  • intra prediction feature data may be determined through neural network-based encoding.
  • the coding context information may include at least one of a quantization parameter of the current block, a temporal layer of the current block, a partition structure of the current block, a partition structure of neighboring pixels, and a transformation type of neighboring pixels.
  • coding context information may be obtained through neural network-based encoding.
  • An image encoding method applies the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block to a neural network, determining an intra flow pointing to a reference pixel; Obtaining a predicted pixel of an original pixel based on the intra-flow of the current block; It may include encoding intra prediction feature data by restoring the current block based on the prediction pixel.
  • the image encoding method applies not one prediction direction to all pixels in a block to be predicted, but each prediction direction to each pixel, and uses a neural network to apply the surrounding pixels to each pixel.
  • a learned intra-flow is obtained by using the original pixel, surrounding pixels, and coding context information as input through a neural network, and the prediction pixel is obtained using the intra-flow, so the block to be predicted
  • the efficiency of intra prediction can be improved by using intra flow, where each pixel has a unique spatial vector pointing to an available reference pixel.
  • the step of obtaining a predicted pixel of the current pixel based on the intra flow of the current block includes: adding weight information about the reference pixel indicated by the intra flow from the neural network and a plurality of surrounding pixels adjacent to the reference pixel. Obtaining with; and obtaining predicted pixels based on a reference pixel, a plurality of neighboring pixels, and a weighted average using weight information.
  • the image encoding method does not use predetermined filters, but acquires an intra flow learned through a neural network and uses the intra flow and the learned weight information to determine the predicted pixel. Therefore, the efficiency of intra prediction can be improved by using a weighted average based on intra flow and weight information.
  • the neural network includes an encoding neural network that takes original pixels, reference pixels, and coding context information as input and outputs intra prediction feature data, and the intra prediction feature data, reference pixels, and coding context information as input. It may include a decoding neural network that outputs a flow.
  • the decoding neural network may further output weight information.
  • the intra flow may be expressed as one of a vector including an x component and a y component, a vector including a size component and an angle component, or an angle with respect to a reference pixel pointed to by the current pixel.
  • the coding context information may include at least one of a quantization parameter of the current block, a temporal layer of the current block, a partition structure of the current block, a partition structure of neighboring pixels, and a transformation type of neighboring pixels.
  • An image encoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions, wherein the at least one processor applies the original pixel of the current block, surrounding pixels of the current block, and coding context information of the current block to the neural network to generate the current block.
  • intra prediction feature data determine the intra flow pointing to the reference pixel of the original pixel of the current block, obtain the predicted pixel of the original pixel based on the intra flow of the current block, and restore the current block based on the predicted pixel, thereby making the intra flow Predicted feature data can be encoded.
  • the image encoding device applies not one prediction direction to all pixels in a block to be predicted, but each prediction direction to each pixel, and applies the surrounding pixels through a neural network.
  • a learned intra-flow is obtained by using the original pixel, surrounding pixels, and coding context information as input through a neural network, and the prediction pixel is obtained using the intra-flow, so the block to be predicted
  • the efficiency of intra prediction can be improved by using intra flow, where each pixel has a unique spatial vector pointing to an available reference pixel.
  • obtaining a predicted pixel of the current pixel based on the intra flow of the current block includes: adding weight information about the reference pixel indicated by the intra flow from the neural network and a plurality of surrounding pixels adjacent to the reference pixel.
  • the method may further include obtaining predicted pixels based on a reference pixel, a plurality of surrounding pixels, and a weighted average using weight information.
  • the video encoding device does not use predetermined filters, but acquires an intra flow learned through a neural network and uses the intra flow and the learned weight information to determine the prediction pixel. Therefore, the efficiency of intra prediction can be improved by using a weighted average based on intra flow and weight information.
  • the neural network includes an encoding neural network that takes original pixels, reference pixels, and coding context information as input and outputs intra prediction feature data, and the intra prediction feature data, reference pixels, and coding context information as input. It may include a decoding neural network that outputs a flow.
  • the decoding neural network may further output weight information.
  • the intra flow may be expressed as one of a vector including an x component and a y component, a vector including a size component and an angle component, or an angle with respect to a reference pixel pointed to by the current pixel.
  • the coding context information may include at least one of a quantization parameter of the current block, a temporal layer of the current block, a partition structure of the current block, a partition structure of neighboring pixels, and a transformation type of neighboring pixels.
  • An image decoding method applies the surrounding pixels of the current block and coding context information to a neural network to generate an intra flow indicating a reference pixel of the current pixel in the current block and a reference pixel and a plurality of surrounding pixels adjacent to the reference pixel. determining weight information; Based on the intra flow and weight information, determining a predicted pixel of the current pixel; It may include restoring the current block based on the predicted pixel.
  • the image decoding method acquires intra flow and weight information learned by inputting surrounding pixels and coding context information through a neural network, and obtains a predicted pixel using the intra flow and weight information,
  • the efficiency of intra prediction can be improved by using intra flow and weight information in which each pixel of the block to be predicted has a unique spatial vector pointing to an available reference pixel.
  • the neural network may be a convolutional neural network.
  • an intra flow indicating a reference pixel of the current pixel in the current block may be determined by applying surrounding pixels of the current block and coding context information to a neural network.
  • a predicted pixel of the current pixel may be determined.
  • An image decoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions, wherein the at least one processor applies surrounding pixels of the current block and coding context information to a neural network to perform an intra flow operation that points to a reference pixel of the current pixel in the current block. And weight information of a reference pixel and a plurality of surrounding pixels adjacent to the reference pixel may be determined, a predicted pixel of the current pixel may be determined based on the intra flow and weight information, and the current block may be restored based on the predicted pixel.
  • the image decoding device acquires intra flow and weight information learned by inputting surrounding pixels and coding context information through a neural network, and obtains a predicted pixel using the intra flow and weight information,
  • the efficiency of intra prediction can be improved by using intra flow and weight information in which each pixel of the block to be predicted has a unique spatial vector pointing to an available reference pixel.
  • the neural network may be a convolutional neural network.
  • an intra flow indicating a reference pixel of the current pixel in the current block may be determined by applying surrounding pixels of the current block and coding context information to a neural network.
  • a predicted pixel of the current pixel may be determined.
  • An image encoding method applies the surrounding pixels of the current block and coding context information to a neural network to generate an intra flow indicating a reference pixel of the current pixel in the current block and a reference pixel and a plurality of surrounding pixels adjacent to the reference pixel. determining weight information; Based on the intra flow and weight information, determining a predicted pixel of the current pixel; It may include encoding the current block based on the predicted pixel.
  • the image encoding method acquires intra flow and weight information learned by inputting surrounding pixels and coding context information through a neural network, and obtains a predicted pixel using the intra flow and weight information,
  • the efficiency of intra prediction can be improved by using intra flow and weight information in which each pixel of the block to be predicted has a unique spatial vector pointing to an available reference pixel.
  • the neural network may be a convolutional neural network.
  • an intra flow indicating a reference pixel of the current pixel in the current block may be determined by applying surrounding pixels of the current block and coding context information to a neural network.
  • a predicted pixel of the current pixel may be determined.
  • An image encoding device includes a memory that stores one or more instructions; and at least one processor operating according to the one or more instructions, wherein the at least one processor applies surrounding pixels of the current block and coding context information to a neural network to perform an intra flow operation that points to a reference pixel of the current pixel in the current block. And weight information of a reference pixel and a plurality of neighboring pixels adjacent to the reference pixel may be determined, a predicted pixel of the current pixel may be determined based on the intra flow and weight information, and the current block may be encoded based on the predicted pixel.
  • the image encoding device acquires intra flow and weight information learned by inputting surrounding pixels and coding context information through a neural network, and obtains a predicted pixel using the intra flow and weight information,
  • the efficiency of intra prediction can be improved by using intra flow and weight information in which each pixel of the block to be predicted has a unique spatial vector pointing to an available reference pixel.
  • the neural network may be a convolutional neural network.
  • an intra flow indicating a reference pixel of the current pixel in the current block may be determined by applying surrounding pixels of the current block and coding context information to a neural network.
  • a predicted pixel of the current pixel may be determined.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
  • a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • a computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store or between two user devices (e.g. smartphones). It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
  • a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득하고, 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정하고, 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원하는 영상 복호화 방법 및 장치를 제안한다.

Description

영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법
본 개시는 영상 복호화 방법 및 영상 복호화 장치, 영상 부호화 방법 및 영상 부호화 장치에 관한 것으로서, 구체적으로, 인트라 예측을 수행하는 방법 및 장치에 관한 것이다.
영상 처리 기술에서, H.264 AVC(Advanced Video Coding) 및 HEVC(High Efficiency Video Coding)와 같은 코덱은 영상을 처리하기 위해 이용될 수 있다. 이러한 코델들에서는, 영상을 블록들로 분할하고, 블록들 각각을 인터 예측(inter prediction) 또는 인트라 예측(intraprediction)을 통해 예측 부호화 및 예측 복호화할 수 있다.
인트라 예측은 영상 내의 공간적인 중복성을 제거하여 영상을 압축하는 방법이고, 인터 예측은 영상들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 방법이다.
인트라 예측은 특정 블록 내의 모든 픽셀들에 대하여 하나의 인트라 예측 모드에 기초하여 하나의 인트라 예측 방향으로 예측하는 방식으로 수행된다. 게다가, 인트라 예측 동작에서, 참조 픽셀의 보간은 미리정해진 필터의 고정된 필터 계수를 이용하여 수행될 수 있다.
최근, AI(Artificial Intelligence)를 이용하여 영상을 부호화/복호화하는 기술들이 제안되고 있는데, AI, 예를 들어, 신경망을 이용하여 인트라 예측을 수행함으로써, 영상을 효과적으로 부호화/복호화하는 방안이 활용된다.
본 개시의 일 실시예는 보다 효율적으로 인트라 예측을 수행하기 위한 방법 및 장치를 제안한다.
본 개시의 일 실시예에 따른 영상 복호화 방법은, 비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득하는 단계; 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보에 기초하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 정보를 획득하는 단계; 현재 블록의 인트라 플로우 정보에 기초하여 현재 픽셀의 예측 픽셀을 획득하는 단계; 예측 픽셀에 기초하여 현재 블록을 복원하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득할 수 있다. 적어도 하나의 프로세서는, 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보에 기초하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 정보를 획득할 수 있다. 적어도 하나의 프로세서는, 현재 블록의 인트라 플로우 정보 에 기초하여 현재 픽셀의 예측 픽셀을 획득할 수 있다. 적어도 하나의 프로세서는, 예측 픽셀에 기초하여 현재 블록을 복원할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 방법은, 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보에 기초하여, 현재 블록의 인트라 예측 특징 데이터 및 현재 블록의 원본 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보를 결정하는 단계; 현재 블록의 인트라 플로우 정보에 기초하여 원본 픽셀의 예측 픽셀을 획득하는 단계; 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보에 기초하여, 현재 블록의 인트라 예측 특징 데이터 및 현재 블록의 원본 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보를 결정할 수 있다. 적어도 하나의 프로세서는 현재 블록의 인트라 플로우 정보에 기초하여 원본 픽셀의 예측 픽셀을 획득할 수 있다. 적어도 하나의 프로세서는 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 방법은, 현재 블록의 제1 주변 픽셀들 및 코딩 컨텍스트 정보에 기초하여 현재 블록 내 현재 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보 및 참조 픽셀과 참조 픽셀에 인접한 복수의 제2 주변 픽셀들의 가중치 정보를 획득하는 단계; 인트라 플로우 정보 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 획득하는 단계; 예측 픽셀에 기초하여 현재 블록을 복원하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 현재 블록의 제1 주변 픽셀들 및 코딩 컨텍스트 정보에 기초하여 현재 블록 내 현재 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보 및 참조 픽셀과 참조 픽셀에 인접한 복수의 제2 주변 픽셀들의 가중치 정보를 획득할 수 있다. 적어도 하나의 프로세서는, 인트라 플로우 정보 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 획득할 수 있다. 적어도 하나의 프로세서는, 예측 픽셀에 기초하여 현재 블록을 복원할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 방법은, 현재 블록의 제1 주변 픽셀들 및 코딩 컨텍스트 정보에 기초하여 현재 블록 내 현재 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 벙보 및 참조 픽셀과 참조 픽셀에 인접한 복수의 제2 주변 픽셀들의 가중치 정보를 획득하는 단계; 인트라 플로우 정보 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 획득하는 단계; 예측 픽셀에 기초하여 현재 블록을 부호화하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 현재 블록의 제1 주변 픽셀들 및 코딩 컨텍스트 정보에 기초하여 현재 블록 내 현재 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보 및 참조 픽셀과 참조 픽셀에 인접한 복수의 제2 주변 픽셀들의 가중치 정보를 획득할 수 있다. 적어도 하나의 프로세서는, 인트라 플로우 정보 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 획득할 수 있다. 적어도 하나의 프로세서는, 예측 픽셀에 기초하여 현재 블록을 부호화할 수 있다.
실시예들은 첨부된 도면과 함께 기재된 다음의 상세한 설명으로부터 더 명확하게 이해될 것이다.
도 1은 영상의 부호화 및 복호화 과정을 도시하는 도면이다.
도 2는 영상으로부터 트리 구조에 따라 분할된 블록들을 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 인트라 플로우를 나타내는 도면이다.
도 4는 본 개시의 일 실시예에 따른 인트라 플로우를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀의 주변 픽셀들에 대한 가중치를 나타내는 도면이다.
도 6은 본 개시의 일 실시예에 따른 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀의 주변 픽셀들에 대한 가중치를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 영상 부호화 방법을 나타내는 개략도이다.
도 8은 본 개시의 일 실시예에 따른 영상 부호화 방법에서 이용되는 신경망을 설명하기 위한 도면이다.
도 9는 도 8의 부호화 신경망의 구조 및 복호화 신경망의 구조의 일 예이다.
도 10은 본 개시의 일 실시예에 따른 영상 복호화 방법을 나타내는 개략도이다.
도 11은 본 개시의 일 실시예에 따른 영상 복호화 방법에서 이용되는 신경망을 설명하기 위한 도면이다.
도 12는 도 11의 복호화 신경망의 구조의 일 예이다.
도 13은 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법에서 이용되는 신경망들의 훈련 방법을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법을 나타내는 개략도이다.
도 15는 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법에서 이용되는 신경망의 훈련 방법을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따른 영상 복호화 방법의 순서도이다.
도 17은 본 개시의 일 실시예에 따른 영상 복호화 장치의 구성을 도시하는 도면이다.
도 18은 본 개시의 일 실시예에 따른 영상 부호화 방법의 순서도이다.
도 19는 본 개시의 일 실시예에 따른 영상 부호화 장치의 구성을 도시하는 도면이다.
도 20은 본 개시의 일 실시예에 따른 영상 복호화 방법의 순서도이다.
도 21은 본 개시의 일 실시예에 따른 영상 복호화 장치의 구성을 도시하는 도면이다.
도 22는 본 개시의 일 실시예에 따른 영상 부호화 방법의 순서도이다.
도 23은 본 개시의 일 실시예에 따른 영상 부호화 장치의 구성을 도시하는 도면이다.
여기에서 사용되는 모든 용어에 대해 간략히 설명하고 본 개시의 실시예들에 대해 상세히 설명한다. 이들 실시예는 예시적인 실시예들이며 본 개시는 이에 한정되지 않고 다른 다양한 형태로 구현될 수 있다. 해당 분야에서 통상적인 바와 같이, 실시예들은 설명된 기능 또는 기능들을 수행하는 도면에 도시된 바와 같이 블록들의 관점에서 설명 및 도시될 수 있다. 여기에서 유닛 또는 모듈 등 또는 장치, 로직, 회로, 카운터, 비교기, 생성기, 변환기, 등과 같은 이름으로 지칭될 수 있는 이들 블록들은 로직 게이트, 집적 회로, 마이크로프로세서, 마이크로컨트롤러, 수동 전자 부품, 능동 전자 부푼, 광학 부품의 하나 이상을 포함하는 아날로그 및/또는 디지털 회로들에 의해 물리적으로 구현될 수 있다. 또한, 이들 블록들은 소프트웨어 및/또는 펌웨어(여기에 기재된 기능들 또는 동작들을 수행하도록 구성됨)에 의해 구현되거나 구동될 수 있다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 개시에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
또한, 본 개시에서, '영상(image) 또는 픽처(picture)'는 정지영상(또는 프레임), 복수의 연속된 정지영상으로 구성된 동영상, 또는 비디오를 의미할 수 있다.
본 개시에서 '신경망(neural network)'은 뇌 신경을 모사한 인공 신경망 모델의 대표적인 예시로서, 특정 알고리즘을 사용한 인공 신경망 모델로 한정되지 않는다. 신경망은 심층 신경망(deep neural network)으로 참조될 수도 있다.
본 개시에서 '파라미터(parameter)'는 신경망을 이루는 각 레이어의 연산 과정에서 이용되는 값으로서, 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용될 수 있다. 파라미터는 훈련의 결과로 설정되는 값으로서, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.
본 개시에서 '특징 데이터'는 신경망 또는 신경망 기반의 인코더가 입력 데이터를 처리함으로써 획득되는 데이터를 의미할 수 있다. 특징 데이터는 1차원 또는 2차원의 데이터일 수 있다. 그러나, 본 개시는 여기에 한정되지 않는다. 특징 데이터는 다양한 샘플들을 포함하는 1차원 또는 2차원 데이터를 포함할 수 있다. 특징 데이터는 잠재 텐서(latent tensor) 또는 잠재 표현(latent representation)으로 참조될 수도 있다. 특징 데이터는 신경망 기반의 디코더가 출력하는 데이터에 잠재된 특징을 나타낼 수 있다.
본 개시에서, '샘플'은 영상, 블록, 또는 특징 데이터 등의 1차원 또는 2차원 데이터 내 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미한다. 예를 들어, 샘플은 2차원의 영상 내 픽셀을 포함할 수 있다. 2차원의 데이터는 '맵'으로 참조될 수도 있다.
또한, 본 개시에서 '현재 블록'은 현재의 처리 대상인 블록을 의미한다. 현재 블록은 현재 영상으로부터 분할된 슬라이스, 타일, 최대 부호화 단위, 부호화 단위, 예측 단위 또는 변환 단위일 수 있다.
또한, 본 개시에서, '인트라 플로우 (intra flow)'는 블록 내의 픽셀 각각이 가리키는 참조 픽셀을 의미한다.
본 개시의 일 실시예에 따른 영상 복호화 방법, 영상 복호화 장치, 영상 부호화 방법, 및 영상 부호화 장치에 대해 설명하기에 앞서, 도 1 및 도 2를 참조하여 영상의 부호화 및 복호화 과정에 대해 설명한다.
도 1은 영상의 부호화 및 복호화 과정을 도시하는 도면이다.
영상 부호화 및 복호화 과정에서, 부호화 장치(110)는 영상에 대한 부호화를 통해 생성된 비트스트림을 복호화 장치(150)로 전송하고, 복호화 장치(150)는 비트스트림을 수신 및 복호화하여 영상을 복원한다
예를 들어, 부호화 장치(110)는 예측 부호화부(115), 변환 및 양자화부(120), 엔트로피 부호화부(125), 역양자화 및 역변환부(130), 디블로킹 필터링부(135), 루프 필터링부(140)를 포함할 수 있고, 복호화 장치(150)는 엔트로피 복호화부(155), 역양자화 및 역변환부(160), 디블로킹 필터링부(165), 루프 필터링부(170), 예측 복호화부(175)를 포함할 수 있다. 구체적으로, 부호화 장치(110)에서, 예측 부호화부(115)는 인터 예측 및 인트라 예측을 통해 예측 블록을 출력하고, 변환 및 양자화부(120)는 예측 블록과 현재 블록 사이의 잔차 블록의 잔차 샘플들을 변환 및 양자화하여 양자화된 변환 계수를 출력한다. 엔트로피 부호화부(125)는 양자화된 변환 계수를 부호화하여 비트스트림으로 출력한다.
양자화된 변환 계수는 역양자화 및 역변환부(130)을 거쳐 공간 영역의 잔차 샘플들을 포함하는 잔차 블록으로 복원된다. 예측 블록과 잔차 블록이 합해진 복원 블록은 디블로킹 필터링부(135) 및 루프 필터링부(140)를 거쳐 필터링된 블록으로 출력된다. 필터링된 블록을 포함하는 복원 영상은 예측 부호화부(115)에서 다음 입력 영상의 참조 영상으로 사용될 수 있다.
복호화 장치(150)로 수신된 비트스트림은 엔트로피 복호화부(155) 및 역양자화 및 역변환부(160)를 거쳐 공간 영역의 잔차 샘플들을 포함하는 잔차 블록으로 복원된다. 예측 복호화부(175)로부터 출력된 예측 블록과 잔차 블록이 조합되어 복원 블록이 생성되고, 복원 블록은 디블로킹 필터링부(165) 및 루프 필터링부(170)를 거쳐 필터링된 블록으로 출력된다. 필터링된 블록을 포함하는 복원 영상은 예측 복호화부(175)에서 다음 영상에 대한 참조 영상으로 이용될 수 있다.
부호화 장치(110)의 루프 필터링부(140)는 사용자 입력 또는 시스템 설정에 따라 입력된 필터 정보를 이용하여 루프 필터링을 수행한다. 루프 필터링부(140)에 의해 사용된 필터 정보는 엔트로피 부호화부(125)를 통해 복호화 장치(150)로 전송된다. 복호화 장치(150)의 루프 필터링부(170)는 엔트로피 복호화부(155)로부터 입력된 필터 정보에 기초하여 루프 필터링을 수행할 수 있다.
영상의 부호화 및 복호화 과정에서는 영상이 계층적으로 분할되고, 영상으로부터 분할된 블록에 대해 부호화 및 복호화가 수행된다. 예를 들어, 영상은 계층적으로 분할될 수 있다. 영상으로부터 분할된 블록에 대해 도 2를 참조하여 설명한다.
도 2는 영상(200)으로부터 트리 구조에 따라 분할(split 또는 divide)된 블록들을 도시하는 도면이다.
본 개시의 일 실시예에 따라, 하나의 영상(200)은 하나 이상의 슬라이스(Slice) 혹은 하나 이상의 타일(Tile)로 분할될 수 있다. 하나의 슬라이스는 복수의 타일을 포함할 수 있다. 예를 들어, 영상(200)은 하나 이상의 슬라이스 또는 하나 이상의 타일로 분할될 수 있다.
하나의 슬라이스 혹은 하나의 타일은 하나 이상의 최대 부호화 단위(Maximum Coding Unit; Maximum CU)의 시퀀스일 수 있다.
하나의 최대 부호화 단위는 하나 이상의 부호화 단위로 분할될 수 있다. 부호화 단위는 예측 모드를 결정하기 위한 기준 블록일 수 있다. 다시 말하면, 각각의 부호화 단위에 대해 인트라 예측 모드가 적용되는지, 인터 예측 모드가 적용되는지가 결정될 수 있다. 본 개시에서 최대 부호화 단위는 최대 부호화 블록으로 참조될 수 있고, 부호화 단위는 부호화 블록으로 참조될 수 있다.
부호화 단위의 크기는 최대 부호화 단위와 동일하거나, 최대 부호화 단위보다 작을 수 있다. 최대 부호화 단위는 최대 크기를 가지는 부호화 단위이므로, 부호화 단위로 참조될 수도 있다. 인트라 예측은 "인트라-예측"으로 지칭되고, 인터 예측은 "인터-예측"으로 지칭될 수 있다.
부호화 단위로부터 인트라 예측 또는 인터 예측을 위한 하나 이상의 예측 단위가 결정될 수 있다. 예측 단위의 크기는 부호화 단위와 동일하거나, 부호화 단위보다 작을 수 있다.
또한, 부호화 단위로부터 변환 및 양자화를 위한 하나 이상의 변환 단위가 결정될 수 있다. 변환 단위의 크기는 부호화 단위와 동일하거나, 부호화 단위보다 작을 수 있다. 변환 단위는 변환 및 양자화를 위한 기준 블록으로서, 부호화 단위의 잔차 샘플들이 부호화 단위 내의 변환 단위별로 변환 및 양자화될 수 있다.
본 개시에서 현재 블록은 영상(200)으로부터 분할된 슬라이스, 타일, 최대 부호화 단위, 부호화 단위, 예측 단위 또는 변환 단위일 수 있다. 또한, 현재 블록의 하위 블록은 현재 블록으로부터 분할된 블록으로서, 예를 들어, 현재 블록이 최대 부호화 단위이면, 하위 블록은 부호화 단위, 예측 단위 또는 변환 단위일 수 있다. 또한, 현재 블록의 상위 블록은 현재 블록을 일부로 포함하는 블록으로서, 예를 들어, 현재 블록이 최대 부호화 단위이면, 상위 블록은 픽처 시퀀스, 픽처, 슬라이스 또는 타일일 수 있다. 즉, 현재 블록의 하위 블록과 현재 블록의 상위 블록은 영상(200)이 분할되는 계층 구조에 따른 블록을 의미할 수 있다. 예를 들어, 현재 블록의 하위 블록은 현재 블록을 더 세분화한 하위 단위를 의미할 수 있다. 한편, 현재 블록의 상위 블록은 현재 블록이 속한 상위 단위를 의미할 수 있다.
이하에서는, 도 3 내지 도 23를 참조하여, 일 실시예에 따른 영상 복호화 방법, 영상 복호화 장치, 영상 부호화 방법, 및 영상 부호화 장치에 대해 설명한다.
도 3은 본 개시의 일 실시예에 따른 인트라 플로우를 나타내는 도면이다.
블록 내의 모든 픽셀에 대하여 하나의 인트라 예측 모드에 따라 하나의 인트라 예측 방향으로 예측을 수행하는 것은 다양한 비디오 컨텐트를 커버할 수 없다. 블록 내의 모든 픽셀 각각은 픽셀 각각에 대하여 가장 좋은 참조 픽셀들을 가리키는 서로 다른 예측 방향을 가질 수 있다.
도 3을 참고하면, 현재 영상(300) 중 현재 블록(320) 내의 픽셀들은 주변 참조 영역(310) 내의 참조 픽셀을 가리키는 각각 다른 예측 방향을 나타내는 인트라 플로우(330)를 가진다. 인트라 플로우는 "인트라-플로우"로 지칭될 수 있다.
인트라 플로우(330)은 현재 픽셀과 참조 픽셀 사이의 x성분 및 y성분의 차이를 나타내는 제1 벡터, 현재 픽셀과 참조 픽셀 사이의 거리 r 성분과 x축으로 기준으로 현재 픽셀과 참조 픽셀 사이의 각도 θ 성분의 제2 벡터, 또는 현재 픽셀과 참조 픽셀 사이의 각도로 표현될 수 있다. 본 개시의 일 실시예에 따라, 현재 픽셀과 참조 픽셀 사이의 각도 만으로 표현되는 경우에는 현재 픽셀을 기준으로 해당 각도에 따라 현재 블록의 경계선에서 처음 위치하는 참조 픽셀이 참조 픽셀로 결정된다. 그러나, 본 개시는 이에 한정되지 않으며, 본 개시의 일 실시예에 따라, 인트라 플로우(300)는 제1 벡터, 제2 벡터, 및 각도의 하나 이상을 포함할 수 있다. 본 개시의 일 실시예에 따라, 인트라 플로우(300)는 다른 정보와 함께 제1 벡터, 제2 벡터, 및 각도의 하나 이상을 포함할 수 있다.
도 4는 본 개시의 일 실시예에 따른 인트라 플로우를 설명하기 위한 도면이다.
도 4를 참고하면, 인트라 플로우는 예측될 각 픽셀의 참조 픽셀을 나타내는 플로우이다.
본 개시의 일 실시예에 따라, 현재 블록(400)의 현재 픽셀(420)은 현재 블록의 주변 참조 영역(410) 중 현재 픽셀(420)에 대응하는 참조 픽셀을 나타내는 인트라 플로우(430)를 가진다. 즉, 현재 블록(40) 내의 픽셀들 각각은 인트라 플로우가 나타내는 참조 픽셀을 가질 수 있다. 본 개시의 일 실시예에 따라, 현재 블록(400) 내의 픽셀들 각각은 현재 블록(400) 내의 각 픽셀에 대응하는 참조 픽셀을 가리키는 독립적인 또는 별개의 인트라 플로우(430)를 가질 수 있다. 예를 들어, 현재 블록(400) 내의 제1 픽셀은 제1 픽셀에 대응하는 제1 참조 픽셀을 가리키는 제1 인트라 플로우(430)를 가질 수 있고, 현재 블록(400) 내의 제2 픽셀은 제2 픽셀에 대응하는 제2 참조 픽셀을 가리키는 제2 인트라 플로우(430)를 가질 수 있다. 설명을 위해 제1 인트라 플로우 및 제2 인트라 플로우를 사용하였으나 본 개시는 이에 한정되지 않으며, 제1 인트라 플로우와 제2 인트라 플로우는 인트라 플로우에 포함된 제1 플로우 및 제2 플로우로 지칭될 수 있다. 즉, 인트라 플로우는 현재 블록에서 예측될 각 픽셀(pi)의 참조 픽셀(i는 정수)을 가리키는 플로우(fi)를 포함할 수 있다.
일 실시예에 따라, 인트라 플로우는 블록의 경계에 있는 픽셀에는 필요하지 않지만, 필요하다면 참조 블록 내부에 있을 수 있다. 예로, 스크린 콘텐트에서의 블록 카피의 경우에는 참조 블록의 경계에 있는 픽셀에 대해서는 인트라 플로우가 필요하지 않을 수 있다.
일 실시예에 따라, 영상 부호화 과정에서, 영상 부호화 장치는 현재 블록 내의 각 픽셀에 대응하는 참조 픽셀을 나타내는 인트라 플로우를 결정하고, 인트라 플로우를 이용하여 원본 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원함으로써, 코스트 계산을 통해 인트라 플로우에 대한 정보를 엔트로피 부호화하여 비트스트림으로 영상 복호화 장치에 전달한다. 코스트 계산 동작은 SATD(Sum of Transform Difference) 또는 RDO (Rate Distortion Optimization) 계산일 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 본 개시의 일 실시예에 따라 다른 계산들이 수행될 수 있다. 또한, 영상 복호화 과정에서, 영상 복호화 장치는 비트스트림으로부터 인트라 플로우에 대한 정보를 획득하고, 인트라 플로우에 대한 정보에 기초하여 현재 블록 내의 각 픽셀에 대응하는 참조 픽셀을 나타내는 인트라 플로우를 결정하고, 인트라 플로우를 이용하여 현재 블록 내의 현재 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원한다.
도 5는 본 개시의 일 실시예에 따른 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀의 주변 픽셀들에 대한 가중치를 나타내는 도면이다.
도 5를 참고하면, 현재 영상(300)의 현재 블록(320) 내의 현재 픽셀의 주변 참조 영역(310) 내의 참조 픽셀을 가라키는 인트라 플로우(330)에 따라, 현재 픽셀의 참조 픽셀이 결정될 수 있다. 이 때, 인트라 플로우(330)가 나타내는 참조 픽셀의 주변 픽셀들은 예측될 픽셀과 유사한 복수의 참조들을 포함할 수 있다. 참조 픽셀과 참조 픽셀의 주변 픽셀들(510)을 혼합하여 이용함으로써 최종 예측 픽셀이 획득될 수 있다. 아래의 도 6에서 더 구체적으로 설명된다.
도 6은 본 개시의 일 실시예에 따른 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀의 주변 픽셀들에 대한 가중치를 설명하기 위한 도면이다.
도 6을 참고하면, 현재 블록(400)의 현재 픽셀(420)의 참조 픽셀을 가리키는 인트라 플로우(430)에 따라, 현재 블록(400)의 주변 참조 영역(410) 중 참조 픽셀이 결정된다. 이 때, 참조 픽셀과 참조 픽셀의 주변 픽셀들(610)이 결정된다. 결정된 참조 픽셀과 주변 픽셀들(610)을 가중 평균의 계산에 이용하여 최종 예측 픽셀이 획득된다. 예를 들어, 도 6에서 참조 픽셀은 픽셀 w11이고, 주변 픽셀들은 w00, w01, w02, w10, w12, w20, w21, 및 w22일 수 있다. 참조 픽셀의 가중치는 w11이고, 참조 픽셀의 좌상측 주변 픽셀의 가중치는 w00이고, 참조 픽셀의 상측 주변 픽셀의 가중치는 w01이고, 참조 픽셀의 우상측 주변 픽셀의 가중치 w02이고, 참조 픽셀의 좌측 주변 픽셀의 가중치는 w10이고, 참조 픽셀의 우측 주변 픽셀의 가중치는 w12이고, 참조 픽셀의 좌하측 주변 픽셀의 가중치는 w20이고, 참조 픽셀의 하측 주변 픽셀의 가중치는 w21이고, 참조 픽셀의 우하측 주변 픽셀의 가중치는 w22이다.
이에 따라, 최종 예측 픽셀(또는 픽셀 값)
Figure PCTKR2023011796-appb-img-000001
는 아래 수학식 1에 따라 가중 평균으로 계산된다.
[수학식 1]
Figure PCTKR2023011796-appb-img-000002
여기서, W는 참조 픽셀 주변의 픽셀들을 나타내는 참조 윈도우이고, 도 6에서는 3x3의 크기이고,
Figure PCTKR2023011796-appb-img-000003
는 i행 j열의 가중치이고,
Figure PCTKR2023011796-appb-img-000004
는 i행 j열의 픽셀의 샘플 값이다.
가중치는 최종 예측 픽셀에 대한 각 참조 픽셀의 기여도를 나타내는 것으로, 기여도가 크면 가중치가 크고, 기여도가 작으면 가중치가 작다.
참조 윈도우는 3x3의 크기가 아니라 5x5, 7x7의 크기일 수 있고, 또한, 참조 윈도우는 정사각형 형태가 아니라 3x5, 5x3과 같은 직사각형 형태일 수 있고, 이에 한정되는 것은 아니다. 이러한 참조 윈도우의 크기 및 형태는 다양할 수 있다.
참조 윈도우는 미리정해진 크기일 수 있고, 가중치 정보는 미리정해진 크기의 참조 윈도우에 기초하여 가중 평균에 이용될 수 있다.
일 실시예에 따라, 영상 부호화 과정에서, 영상 부호화 장치는 현재 블록 내의 각 픽셀에 대응하는 참조 픽셀을 나타내는 인트라 플로우 및 인트라 플로우가 나타내는 참조 픽셀 및 참조 픽셀의 주변 픽셀들에 대한 가중치 정보를 결정하고, 인트라 플로우 및 가중치 정보를 이용하여 원본 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원함으로써, 코스트 계산을 통해 인트라 플로우에 대한 정보 및 가중치 정보를 엔트로피 부호화하여 비트스트림으로 영상 복호화 장치에 전달한다. 코스트 계산은 SATD(Sum of Transform Difference) 또는 RDO (Rate Distortion Optimization) 계산일 수 있다. 또한, 영상 복호화 과정에서, 영상 복호화 장치는 비트스트림으로부터 인트라 플로우에 대한 정보 및 가중치 정보를 획득하고, 인트라 플로우에 대한 정보 및 가중치 정보에 기초하여 현재 블록 내의 각 픽셀에 대응하는 참조 픽셀을 나타내는 인트라 플로우 및 참조 픽셀 및 참조 픽셀의 주변 픽셀들에 대한 가중치들을 결정하고, 인트라 플로우 및 가중치들을 이용하여 현재 블록 내의 현재 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원한다.
이하, 도 7 내지 도 23에서는 신경망을 이용하여 인트라 플로우 또는 인트라 플로우 및 가중치 정보를 결정하고, 인트라 플로우 또는 인트라 플로우 및 가중치 정보에 기초하여 예측 픽셀을 획득하는 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치가 후술된다.
도 7은 본 개시의 일 실시예에 따른 영상 부호화 방법을 나타내는 개략도이다.
본 개시의 일 실시예에 따라, 도 7에 도시된 바와 같이, 현재 블록의 원본 픽셀들(720)과 현재 블록의 주변에 위치하는 참조 픽셀들(710) 및 코딩 컨텍스트 정보(730)가 신경망(740)에 입력되고, 신경망(740)은 인트라 플로우(760)을 출력할 수 있다. 비록 도 7은 복수의 원본 픽셀들과 복수의 참조 픽셀들(710)을 도시하지만, 본 개시는 이에 제한되지 않으며, 본 개시의 일 실시예에 따라, 현재 블록의 원본 픽셀, 원본 픽셀의 주변에 위치하는 참조 픽셀 및 코딩 컨텍스트 정보(730)가 신경망(740)에 입력될 수 있다. 본 개시의 일 실시예에 따라, 신경망(740)으로부터 인트라 플로우(760)만 획득될 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 신경망(760)은 인트라 플로우(760)와 함께 다른 정보를 출력할 수 있다. 예를 들어, 인트라 플로우(760)와 가중치 정보(770)가 신경망(740)으로부터 획득될 수 있다. 본 개시의 일 실시예에 따라, 인트라 플로우(760)를 이용하여 예측(780)하여 예측 픽셀들(790)이 획득된다. 또는, 신경망(740)으로부터 인트라 플로우(760) 및 가중치 정보(770)가 획득되고, 인트라 플로우(760) 및 가중치 정보(770)를 이용하여 예측(780)하여 예측 픽셀들(790)이 획득될 수 있다. 이 때, 코스트 계산을 통해 신경망(740)으로부터 인트라 예측 특징 데이터가 엔트로피 부호화되어 비트스트림으로 복호화 장치에 전달된다. 코스트 계산은 SATD(Sum of Transform Difference) 또는 RDO (Rate Distortion Optimization) 계산일 수 있다.
본 개시의 일 실시예에 따라, 인트라 플로우(760)의 정밀도는 가중치 정보가 이용되지 않는 경우에는 1/2 펠 (half-pel), 1/4 펠(quarter-pel) 등의 분수 픽셀이 될 수 있다.
인트라 플로우(760)의 정밀도는 가중치 정보가 이용되는 경우에는 참조 픽셀을 직접 가리키는 픽셀 정밀도일 수 있다.
도 8은 본 개시의 일 실시예에 따른 영상 부호화 방법에서 이용되는 신경망을 설명하기 위한 도면이다.
도 8을 참고하면, 컨텍스트 인코더(801)에 입력되는 코딩 컨텍스트 정보로, 양자화 파라미터(805), 시간적 레이어(810), 및 분할 트리 구조(815)가 이용되고, 컨텍스트 인코더(801)에 입력되는 픽셀 정보로 현재 블록의 원본 픽셀들(830), 현재 블록의 주변(또는 주위)에 위치하는 참조 픽셀들(820), 및 주변 블록의 부호화되지 않은 영역의 샘플값이 0인 제로 픽셀들(825)이 이용된다.
본 개시의 일 실시예에 따라, 코딩 컨텍스트 정보(805, 810, 815)는 픽셀 정보의 픽셀 값들과 다른 도메인에 있으므로, 부호화 신경망(850)에 입력되기 전에 신경망(835)을 통해 픽셀 정보(820, 830, 825)와 동일한 크기로 처리될 필요가 있다. 여기서, 신경망(835)은 일반적인 컨볼루션 뉴럴 네트워크(CNN)일 수 있다. 또한, 신경망(835)은 RNN(recurrent neural network)일 수 있다. 이는 하나의 예시일 뿐, 이에 한정되지 않는다.
신경망(835)으로부터 출력된 코딩 컨텍스트 정보(805, 810, 815)과 픽셀 정보(820, 830, 825)는 접합(840)되어 부호화 신경망(850)에 입력된다.
부호화 신경망(850)으로부터 특징 맵 형태의 인트라 예측 특징 데이터(855)가 출력된다.
참조 픽셀들(820), 제로 픽셀들(825), 및 원본 픽셀들(830)을 포함하는 픽셀 정보의 크기를 HxWxC (H는 픽셀 정보의 높이, W는 픽셀 정보의 너비, C는 픽셀 정보의 채널이고, 예를 들어, 루마 성분인 경우 C의 값은 1이다.)라 하면, 특징 맵 데이터인 인트라 예측 특징 데이터(855)의 크기는 hxwxc (h는 H보다 작고 w는 W보다 작고 c는 미리정해진 수이다.)으로 제한될 수 있다. 일반적으로, h는 H/16이고 w는 W/16일 수 있다. 여기서, c는 비트레이트가 큰 환경이라면 더 큰 c로 결정될 수 있다. 다만, 이에 한정되지 않는다.
본 개시의 일 실시예에 따라, 인트라 예측 특징 데이터(855)는 비트스트림으로 전송되고, 인트라 예측 특징 데이터(855)의 크기가 큰 경우 인트라 예측 특징 데이터(855)를 전송하기에 비효율적이므로, 인트라 예측 특징 데이터(855)는 적절한 크기로 제한될 수 있다.
본 개시의 일 실시예에 따라, 인트라 예측 특징 데이터(855)는 엔트로피 부호화되어 전송되기 때문에, 인트라 예측 특징 데이터(855)는 부호화 신경망(850)의 결과로 출력된 특징 맵 데이터와 엔트로피 복호화에 필요한 특징 맵 데이터의 확률 분포를 나타내는 추가 정보를 포함할 수 있다. 인트라 예측 특징 데이터(855)는 참조 픽셀들(820)과 제로 픽셀들(825)을 포함하는 픽셀 정보 및 코딩 컨텍스트 정보(805, 810, 815)와 함께 컨텍스트 디코더(802)에 다시 입력된다. 여기서, 원본 픽셀들(830)은 컨텍스트 디코더(802)에 입력되지 않고 대신에 추가적인 제로 픽셀들(825)이 컨텍스트 디코더(802)에 입력될 수 있다. 픽셀 정보(820, 825) 및 코딩 컨텍스트 정보(805, 810, 815)는 인트라 예측 특징 데이터(855)와 다른 도메인에 있기 때문에, 신경망(860)을 통해 인트라 예측 특징 데이터(855)와 동일한 크기로 처리된 후, 인트라 예측 특징 데이터(855)와 접합(865)되어 복호화 신경망(870)에 입력된다. 여기서, 신경망(860)은 일반적인 컨볼루션 뉴럴 네트워크(CNN)일 수 있다. 또한, 신경망(860)은 RNN(recurrent neural network)일 수 있다. 이는 하나의 예시일 뿐, 이에 한정되지 않는다.
복호화 신경망(870)으로부터 인트라 플로우의 x 성분(875), 인트라 플로우의 y 성분(880), 및 가중치 정보(885)가 획득된다.
본 개시의 일 실시예에 따라, 인트라 플로우의 x 성분(875), 인트라 플로우의 y 성분(880) 대신 인트라 플로우의 각도 성분 및 크기 성분이 획득될 수 있다.
본 개시의 일 실시예에 따라, 복호화 신경망(870)으로부터 인트라 플로우의 각도 성분만이 획득될 수 있다.
본 개시의 일 실시예에 따라, 복호화 신경망(870)으로부터 인트라 플로우의 x 성분(875), 인트라 플로우의 y 성분(880)만 획득될 수 있다.
본 개시의 일 실시예에 따라, 부호화 신경망(850)으로부터 출력된 인트라 예측 특징 데이터(855)는 비트스트림 형태로 복호화 장치에 전달된다.
도 9는 도 8의 부호화 신경망의 구조 및 복호화 신경망의 구조의 일 예이다.
도 9를 참고하면, 도 8의 부호화 신경망(850)에서 코딩 컨텍스트 정보(805, 810, 815)와 픽셀 정보(820, 825, 830)인 입력 데이터가 제1 컨볼루션 레이어(905)에 입력된다. 제1 컨볼루션 레이어(905)에서 "NX5X5/2 ↓"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 다운샘플링하는 컨볼루션 처리를 가리킨다.
제 1 컨볼루션 레이어(905)에 의해 생성된 특징 데이터들은 입력 데이터의 고유한 특성들을 나타낼 수 있다. 예를 들어, 각 특징 데이터는 입력 데이터의 수직 방향 특성, 수평 방향 특성 또는 에지 특성 등을 나타낼 수 있다.
제 1 컨볼루션 레이어(905)의 특징 데이터들은 제 1 GDN(generalized divisive normalization) 레이어(910)로 입력될 수 있다. 제 1 GDN 레이어(910) 대신 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수 등이 이용될 수 있으나, 이에 한정되는 것은 아니다.
제 1 GDN 레이어(910)는 각각의 특징 데이터에 대해 비선형(Non-linear) 특성을 부여할 수 있다.
제 1 GDN 레이어(910)에서 비선형 특성을 부여하는 것은, 특징 데이터의 일부 샘플 값을 변경하여 출력하는 것을 의미할 수 있다. 이때, 변경은 비선형 특성을 적용하여 수행될 수 있다.
제 1 GDN 레이어(910)는 특징 데이터의 샘플 값들을 제 2 컨볼루션 레이어(915)로 전달할지 여부를 결정할 수 있다. 예를 들어, 특징 데이터의 샘플 값들 중 어떤 샘플 값들은 제 1 GDN 레이어(910)에 의해 활성화되어 제 2 컨볼루션 레이어(915)로 전달되고, 특정 데이터의 어떤 샘플 값들은 제 1 GDN 레이어(910)에 의해 비활성화되어 제 2 컨볼루션 레이어(915)로 전달되지 않을 수 있다. 특징 데이터들이 나타내는 입력 데이터의 고유 특성이 제 1 GDN 레이어(910)에 의해 강조될 수 있다.
제 1 GDN 레이어(910)에서 출력된 특징 데이터들은 제 2 컨볼루션 레이어(915)로 입력될 수 있다. 제 2 컨볼루션 레이어(915)에서, "NX5X5/2 ↓"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 다운샘플링하는 컨볼루션 처리를 가리킨다.
제 2 컨볼루션 레이어(915)의 출력은 제 2 GDN 레이어(920)로 입력될 수 있다. 제 2 GDN 레이어(920)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.
제 2 GDN 레이어(920)에서 출력된 특징 데이터들은 제 3 컨볼루션 레이어(925)로 입력될 수 있다. 제 3 컨볼루션 레이어(925)에서, "NX5X5/2 ↓"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 다운샘플링하는 컨볼루션 처리를 가리킨다.
제 3 컨볼루션 레이어(925)의 출력은 제 3 GDN 레이어(930)로 입력될 수 있다. 제 3 GDN 레이어(930)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.
제 3 GDN 레이어(930)에서 출력된 특징 데이터들은 제 4 컨볼루션 레이어(935)로 입력될 수 있다. 제 4 컨볼루션 레이어(935)에서, "MX5X5/2 ↓"는 5x5의 크기의 M개의 필터 커널들을 이용하여 스트라이드 간격 2로 다운샘플링하는 컨볼루션 처리를 가리킨다.
제 4 컨볼루션 레이어(935)로부터 특징 맵 형태의 인트라 예측 특징 데이터(855)가 출력된다.
본 개시의 일 실시예에 따라, 도 9는 부호화 신경망(850)이 네 개의 컨볼루션 레이어(제 1 컨볼루션 레이어(905), 제 2 컨볼루션 레이어(915), 제 3 컨볼루션 레이어(925), 및 제 4 컨볼루션 레이어(935))와 세 개의 GDN 레이어(제 1 GDN 레이어(910), 제 2 GDN 레이어(920), 및 제 3 GDN 레이어(930))를 포함하고 있는 것으로 도시하고 있으나, 이는 하나의 예시일 뿐이며, 본 개시의 일 실시예에서, 신경망(850)에 포함된 컨볼루션 레이어 및 GDN 레이어의 개수는 다양하게 변경될 수 있다.
또한, 도 9를 참고하면, 도 8의 복호화 신경망(870)에서 코딩 컨텍스트 정보(805, 810, 815), 픽셀 정보(820, 825), 및 인트라 예측 특징 데이터(855)인 입력 데이터가 제5 컨볼루션 레이어(945)에 입력된다. 제5 컨볼루션 레이어(945)에서, "NX5X5/2 ↑"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 5 컨볼루션 레이어(945)에 의해 생성된 특징 데이터들은 입력 데이터의 고유한 특성들을 나타낼 수 있다. 예를 들어, 각 특징 데이터는 입력 데이터의 수직 방향 특성, 수평 방향 특성 또는 에지 특성 등을 나타낼 수 있다.
제 5 컨볼루션 레이어(945)의 특징 데이터들은 제 1 IGDN(inverse generalized divisive normalization) 레이어(940)로 입력될 수 있다. 제 1 IGDN 레이어(940) 대신 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수 등이 이용될 수 있으나, 이에 한정되는 것은 아니다.
제 1 IGDN 레이어(940)는 각각의 특징 데이터에 대해 비선형(Non-linear) 특성을 부여할 수 있다.
제 1 IGDN 레이어(940)에서 비선형 특성을 부여하는 것은, 특징 데이터의 일부 샘플 값을 변경하여 출력하는 것을 의미할 수 있다. 이때, 변경은 비선형 특성을 적용하여 수행될 수 있다.
제 1 IGDN 레이어(940)는 특징 데이터의 샘플 값들을 제 6 컨볼루션 레이어(955)로 전달할지 여부를 결정할 수 있다. 예를 들어, 특징 데이터의 샘플 값들 중 어떤 샘플 값들은 제 1 IGDN 레이어(940)에 의해 활성화되어 제 6 컨볼루션 레이어(955)로 전달되고, 어떤 샘플 값들은 제 1 IGDN 레이어(940)에 의해 비활성화되어 제 6 컨볼루션 레이어(955)로 전달되지 않을 수 있다. 특징 데이터들이 나타내는 입력 데이터의 고유 특성이 제 1 IGDN 레이어(940)에 의해 강조될 수 있다.
제 1 IGDN 레이어(940)에서 출력된 특징 데이터들은 제 6 컨볼루션 레이어(955)로 입력될 수 있다. 제 6 컨볼루션 레이어(955)에서, "NX5X5/2 ↑"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 6 컨볼루션 레이어(955)의 출력은 제 2 IGDN 레이어(950)로 입력될 수 있다. 제 2 IGDN 레이어(950)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.
제 2 IGDN 레이어(950)에서 출력된 특징 데이터들은 제 7 컨볼루션 레이어(965)로 입력될 수 있다. 제 7 컨볼루션 레이어(965)에서, "NX5X5/2 ↑"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 7 컨볼루션 레이어(965)의 출력은 제 3 IGDN 레이어(960)로 입력될 수 있다. 제 3 IGDN 레이어(960)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.
제 3 IGDN 레이어(960)에서 출력된 특징 데이터들은 제 8 컨볼루션 레이어(975)로 입력될 수 있다. 제 8 컨볼루션 레이어(975)에서, "3X5X5/2 ↑"는 5x5의 크기의 3개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 8 컨볼루션 레이어(975)로부터 인트라 플로우의 x 성분(875), 인트라 플로우의 y 성분(880), 및 가중치 정보(885)가 출력된다. 도 9는 복호화 신경망(870)이 네 개의 컨볼루션 레이어(제 5 컨볼루션 레이어(945), 제 6 컨볼루션 레이어(955), 제 7 컨볼루션 레이어(965), 및 제 8 컨볼루션 레이어(975))와 세 개의 IGDN 레이어(제 1 IGDN 레이어(940), 제 2 IGDN 레이어(950), 및 제 3 IGDN 레이어(960))를 포함하고 있는 것으로 도시하고 있으나, 이는 하나의 예시일 뿐이며, 일 실시예에서, 신경망(870)에 포함된 컨볼루션 레이어 및 IGDN 레이어의 개수는 다양하게 변경될 수 있다.
전술된 도 9의 신경망들의 구조는 하나의 예시일 뿐이며 이에 한정되지 않는다.
도 10은 본 개시의 일 실시예에 따른 영상 복호화 방법을 나타내는 개략도이다.
도 10에 도시된 바와 같이, 현재 블록의 인트라 예측 특징 데이터(1020), 현재 블록의 주변에 위치하는 참조 픽셀들(1010), 및 코딩 컨텍스트 정보(1030)가 신경망(1040)에 입력된다. 본 개시의 일 실시예에 따라, 신경망(1040)은 인트라 플로우(1060)만 출력할 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 본 개시의 일 실시예에 따라, 신경망(1040)은 다른 정보와 함께 인트라 플로우(1060)를 출력할 수 있다. 예를 들어, 신경망(1040)은 인트라 플로우(1060)와 가중치 정보(1070)를 출력할 수 있다. 본 개시의 일 실시예에 따라, 신경망(1040)으로부터 인트라 플로우(1060)만 획득되는 경우, 인트라 플로우(1060)를 이용하여 예측(1080)하여 예측 픽셀(1090)이 획득된다. 또는, 신경망(1040)으로부터 인트라 플로우(1060) 및 가중치 정보(1070)가 획득되는 경우, 인트라 플로우(1060) 및 가중치 정보(1070)를 이용하여 예측(1080)하여 예측 픽셀(1090)이 획득된다. 이 때, 비트스트림으로부터 획득된 인트라 예측 특징 데이터가 엔트로피 복호화되어 신경망(1040)에 입력된다.
인트라 플로우(1060)의 정밀도는 가중치 정보가 이용되지 않는 경우에는 1/2 펠 (half-pel), 1/4 펠(quarter-pel) 등의 분수 픽셀이 될 수 있다.
인트라 플로우(1060)의 정밀도는 가중치 정보가 이용되는 경우에는 참조 픽셀을 직접 가리키는 픽셀 정밀도일 수 있다.
도 11은 본 개시의 일 실시예에 따른 영상 복호화 방법에서 이용되는 신경망을 설명하기 위한 도면이다.
본 개시의 일 실시예에 따라, 도 11의 컨텍스트 디코더(1101)는 도 8의 컨텍스트 디코더(802)와 동일하다.
도 11을 참고하면, 비트스트림으로부터 특징 맵 형태의 인트라 예측 특징 데이터(1130)가 획득된다. 인트라 예측 특징 데이터(1130)는 코딩 컨텍스트 정보(1105, 1110, 1115) 및 참조 픽셀들(1120)과 제로 픽셀들(1125)에 대응하는 픽셀 정보와 함께 컨텍스트 디코더(1101)에 입력될 수 있다. 여기서, 코딩 컨텍스트 정보(1105, 1110, 1115) 및 픽셀 정보(1120, 1125)는 신경망(1160)을 통해 인트라 예측 특징 데이터(1130)와 동일한 크기로 처리된 후, 인트라 예측 특징 데이터(1130)와 접합(1140)되어 복호화 신경망(1150)에 입력된다. 여기서, 신경망(1160)은 일반적인 컨볼루션 뉴럴 네트워크(CNN)일 수 있다. 또한, 신경망(1160)은 RNN(recurrent neural network)일 수 있다. 이는 하나의 예시일 뿐, 이에 한정되지 않는다.
복호화 신경망(1150)으로부터 인트라 플로우의 x 성분(1160), 인트라 플로우의 y 성분(1170), 및 가중치 정보(1180)가 획득된다.
또한, 인트라 플로우의 x 성분(1160), 인트라 플로우의 y 성분(1170) 대신 인트라 플로우의 각도 성분 및 크기 성분이 획득될 수 있다.
또한, 복호화 신경망(1150)으로부터 인트라 플로우의 각도 성분만이 획득될 수 있다.
또한, 복호화 신경망(1150)으로부터 인트라 플로우의 x 성분(1160), 인트라 플로우의 y 성분(1170)만 획득될 수 있다.
도 12는 도 11의 복호화 신경망의 구조의 일 예이다.
도 11의 복호화 신경망(1150)의 구조는 도 8의 복호화 신경망(870)의 구조와 동일하다.
도 12를 참고하면, 도 11의 복호화 신경망(1150)에서 코딩 컨텍스트 정보(1105, 1110, 1115), 픽셀 정보(1120, 1125), 및 인트라 예측 특징 데이터(1130)인 입력 데이터가 제1 컨볼루션 레이어(1205)에 입력된다. 제1 컨볼루션 레이어(1205)에서, "NX5X5/2 ↑"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다. 여기서, N은 정수이다.
제 1 컨볼루션 레이어(1205)에 의해 생성된 특징 데이터들은 입력 데이터의 고유한 특성들을 나타낼 수 있다. 예를 들어, 각 특징 데이터는 입력 데이터의 수직 방향 특성, 수평 방향 특성 또는 에지 특성 등을 나타낼 수 있다.
제 1 컨볼루션 레이어(1205)의 특징 데이터들은 제 1 IGDN(inverse generalized divisive normalization) 레이어(1210)로 입력될 수 있다. 제 1 IGDN 레이어(1210) 대신 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수 등이 이용될 수 있으나, 이에 한정되는 것은 아니다.
제 1 IGDN 레이어(1210)는 각각의 특징 데이터에 대해 비선형(Non-linear) 특성을 부여할 수 있다.
제 1 IGDN 레이어(1210)에서 비선형 특성을 부여하는 것은, 특징 데이터의 일부 샘플 값을 변경하여 출력하는 것을 의미할 수 있다. 이때, 변경은 비선형 특성을 적용하여 수행될 수 있다.
제 1 IGDN 레이어(1210)는 특징 데이터의 샘플 값들을 제 2 컨볼루션 레이어(1215)로 전달할지 여부를 결정할 수 있다. 예를 들어, 특징 데이터의 샘플 값들 중 어떤 샘플 값들은 제 1 IGDN 레이어(1210)에 의해 활성화되어 제 2 컨볼루션 레이어(1215)로 전달되고, 어떤 샘플 값들은 제 1 IGDN 레이어(1210)에 의해 비활성화되어 제 2 컨볼루션 레이어(1215)로 전달되지 않을 수 있다. 특징 데이터들이 나타내는 입력 데이터의 고유 특성이 제 1 IGDN 레이어(1210)에 의해 강조될 수 있다.
제 1 IGDN 레이어(1210)에서 출력된 특징 데이터들은 제 2 컨볼루션 레이어(1215)로 입력될 수 있다. 제 2 컨볼루션 레이어(1215)에서, "NX5X5/2 ↑"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 2 컨볼루션 레이어(1215)의 출력은 제 2 IGDN 레이어(1220)로 입력될 수 있다. 제 2 IGDN 레이어(1220)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.
제 2 IGDN 레이어(1220)에서 출력된 특징 데이터들은 제 3 컨볼루션 레이어(1225)로 입력될 수 있다. 제 3 컨볼루션 레이어(1225)에서, "NX5X5/2 ↑"는 5x5의 크기의 N개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 3컨볼루션 레이어(1225)의 출력은 제 3 IGDN 레이어(1230)로 입력될 수 있다. 제 3 IGDN 레이어(1230)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.
제 3 IGDN 레이어(1230)에서 출력된 특징 데이터들은 제 4 컨볼루션 레이어(1235)로 입력될 수 있다. 제 4 컨볼루션 레이어(1235)에서, "3X5X5/2 ↑"는 5x5의 크기의 3개의 필터 커널들을 이용하여 스트라이드 간격 2로 업샘플링하는 컨볼루션 처리를 가리킨다.
제 4 컨볼루션 레이어(1235)로부터 인트라 플로우의 x 성분(1160), 인트라 플로우의 y 성분(1170), 및 가중치 정보(1180)가 출력된다. 도 12는 복호화 신경망(1150)이 네 개의 컨볼루션 레이어(제 1 컨볼루션 레이어(1205), 제 2 컨볼루션 레이어(1215), 제 3 컨볼루션 레이어(1225), 및 제 4 컨볼루션 레이어(1235))와 세 개의 IGDN 레이어(제 1 IGDN 레이어(1210), 제 2 IGDN 레이어(1220), 및 제 3 IGDN 레이어(1230))를 포함하고 있는 것으로 도시하고 있으나, 이는 하나의 예시일 뿐이며, 일 실시예에서, 신경망(1150)에 포함된 컨볼루션 레이어 및 IGDN 레이어의 개수는 다양하게 변경될 수 있다.
전술된 도 12의 신경망의 구조는 하나의 예시일 뿐이며 이에 한정되지 않는다.
도 13은 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법에서 이용되는 신경망들의 훈련 방법을 설명하기 위한 도면이다.
도 13을 참고하면, 훈련용 원본 픽셀들(1320), 훈련용 참조 픽셀들(1310), 훈련용 코딩 컨텍스트 정보(1330)을 이용하여 부호화 신경망(1340)과 복호화 신경망(1345)이 훈련될 수 있다.
구체적으로, 훈련용 원본 픽셀들(1320), 훈련용 참조 픽셀들(1310), 훈련용 코딩 컨텍스트 정보(1330)가 부호화 신경망(1340)에 입력되어 훈련용 인트라 예측 특징 데이터(1350)을 획득된다. 훈련용 인트라 예측 특징 데이터(1350), 훈련용 참조 픽셀들(1310), 및 훈련용 코딩 컨텍스트 정보(1330)가 복호화 신경망(1345)에 입력되어, 인트라 플로우(1360) 및 가중치 정보(1370)가 획득된다. 인트라 플로우(1360) 및 가중치 정보(1370)에 기초하여 예측(1380)이 수행되면, 훈련용 예측 픽셀들(1390)이 획득된다. 또는, 훈련용 인트라 예측 특징 데이터(1350), 훈련용 참조 픽셀들(1310), 및 훈련용 코딩 컨텍스트 정보(1330)가 복호화 신경망(1345)에 입력되어, 인트라 플로우(1360)만 획득되고, 인트라 플로우(1360)에 기초하여 예측(1380)이 수행되면, 훈련용 예측 픽셀들(1390)이 획득될 수 있다.
도 13의 훈련 과정에서, 비교(1355)를 통해 훈련용 예측 픽셀들(1390)이 훈련용 원본 픽셀들(1320)에 최대한 유사해지고, 훈련용 인트라 예측 특징 데이터(1350)에 대한 부호화를 통해 생성된 비트스트림의 비트레이트가 최소화되도록 신경망들이 훈련될 수 있다. 이를 위해 도 13에 도시된 바와 같이, 제 1 손실 정보(1365)와 제 2 손실 정보(1375)가 신경망들의 훈련에 이용될 수 있다.
제 1 손실 정보(1365)는 훈련용 원본 픽셀들(1320)과 훈련용 예측 픽셀들(1390) 사이의 차이에 대응할 수 있다. 일 실시예에서, 훈련용 원본 픽셀들(1320)과 훈련용 예측 픽셀들(1390) 사이의 차이는, 훈련용 원본 픽셀들(1320)과 훈련용 예측 픽셀들(1390) 사이의 L1-norm 값, L2-norm 값, SSIM(Structural Similarity) 값, PSNR-HVS(Peak Signal-To-Noise Ratio-Human Vision System) 값, MS-SSIM(Multiscale SSIM) 값, VIF(Variance Inflation Factor) 값 또는 VMAF(Video Multimethod Assessment Fusion) 값 중 적어도 하나를 포함할 수 있다.
제 1 손실 정보(1365)는 훈련용 예측 픽셀들(1390)을 이용한 복원 영상의 퀄리티와 관련이 있으므로, 퀄리티 손실 정보로 참조될 수도 있다.
제 2 손실 정보(1375)는 훈련용 인트라 예측 특징 데이터에 대한 부호화 결과로 생성된 비트스트림의 비트레이트로부터 산출될 수 있다.
제 2 손실 정보(1375)는, 훈련용 인트라 예측 특징 데이터에 대한 부호화 효율에 관련되므로, 제 2 손실 정보는 압축도 손실 정보로 참조될 수 있다.
부호화 신경망(1340) 및 복호화 신경망(1345)은 제 1 손실 정보(1365) 또는 제 2 손실 정보(1375) 중 적어도 하나로부터 도출되는 최종 손실 정보가 감소 또는 최소화되도록 훈련될 수 있다.
일 실시예에서, 부호화 신경망(1340) 및 복호화 신경망(1345)은 미리 설정된 파라미터의 값을 변경하면서 최종 손실 정보가 감소 또는 최소화되도록 할 수 있다.
일 실시예에서, 최종 손실 정보는 하기 수학식 2에 따라 산출될 수 있다.
[수학식 2]
최종 손실 정보 = a*제 1 손실 정보+b*제 2 손실 정보
수학식 2에서, a, b는 각각 제 1 손실 정보(1365) 및 제 2 손실 정보(1375) 각각에 적용되는 가중치이다.
수학식 2에 따르면, 부호화 신경망(1340) 및 복호화 신경망(1345)은 훈련용 예측 픽셀이 훈련용 원본 픽셀에 최대한 유사해지고, 비트스트림의 크기가 최소화되는 방향으로 훈련됨을 알 수 있다.
인트라 플로우는 코딩 구성 및 비디오 콘텐트에 적응하도록 학습된다. 가중치 정보도 코딩 구성 및 비디오 콘텐트에 적응하도록 동적으로 학습된다.
도 13을 참조하여 설명한 훈련 과정은 훈련 장치에 의해 수행될 수 있다. 훈련 장치는 예를 들어, 영상 부호화 장치(1900) 또는 별도의 서버일 수 있다. 훈련 결과 획득된 파라미터들은 영상 부호화 장치(1900) 및 영상 복호화 장치(1700)에 저장될 수 있다.
도 14는 본 개시의 일 실시예에 따른 영상 부호화 방법 및 영상 복호화 방법을 나타내는 개략도이다.
도 7의 영상 복호화 방법 및 도 10의 영상 부호화 방법과 달리, 도 14의 영상 복호화 방법은 비트스트림으로부터 획득되는 정보가 없고, 도 14의 영상 부호화 방법은 시그널링하는 정보가 없기 때문에, 도 14의 영상 복호화 방법 및 영상 부호화 방법은 동일한 방식으로 수행된다.
도 14에 도시된 바와 같이, 현재 블록의 주변에 위치하는 참조 픽셀들(1410) 및 코딩 컨텍스트 정보(1420)가 신경망(1430)에 입력된다. 신경망(1430)으로부터 인트라 플로우(1440) 및 가중치 정보(1450)가 획득되고, 인트라 플로우(1440) 및 가중치 정보(1450)를 이용하여 예측(1460)하여 예측 픽셀들(1470)이 획득된다.
신경망(1430)은 컨볼루션 뉴럴 네트워크일 수 있다. 또한, 신경망(1430)은 RNN(recurrent neural network)일 수 있다. 이는 하나의 예시일 뿐, 이에 한정되지 않는다.
도 15는 도 14의 신경망의 훈련 방법을 설명하기 위한 도면이다.
도 15를 참고하면, 훈련용 참조 픽셀들(1510) 및 훈련용 코딩 컨텍스트 정보(1520)을 이용하여 신경망(1530)이 훈련될 수 있다.
예를 들어, 훈련용 참조 픽셀들(1510) 및 훈련용 코딩 컨텍스트 정보(1520)가 신경망(1530)에 입력되어 인트라 플로우(1540) 및 가중치 정보(1550)가 획득된다. 인트라 플로우(1540) 및 가중치 정보(1550)에 기초하여 예측(1560)이 수행되면, 훈련용 예측 픽셀들(1570)이 획득될 수 있다.
도 15의 훈련 과정에서, 비교(1575)를 통해 훈련용 예측 픽셀들(1570)이 훈련용 원본 픽셀들(1580)에 최대한 유사해지도록 신경망(1530)이 훈련될 수 있다. 이를 위해 도 15에 도시된 바와 같이, 제 1 손실 정보(1590)가 신경망(1530)의 훈련에 이용될 수 있다. 본 개시의 일 일시예에 따라, 훈련용 참조 픽셀들(1510), 훈련용 예측 픽셀들(1570), 및 훈련용 원본 픽셀들(1580)은 하나 이상의 픽셀들을 포함할 수 있다.
제 1 손실 정보(1590)는 훈련용 원본 픽셀들(1580)과 훈련용 예측 픽셀들(1570) 사이의 차이에 대응할 수 있다. 일 실시예에서, 훈련용 원본 픽셀들(1580)과 훈련용 예측 픽셀들(1570) 사이의 차이는, 훈련용 원본 픽셀들(1580)과 훈련용 예측 픽셀들(1570) 사이의 L1-norm 값, L2-norm 값, SSIM(Structural Similarity) 값, PSNR-HVS(Peak Signal-To-Noise Ratio-Human Vision System) 값, MS-SSIM(Multiscale SSIM) 값, VIF(Variance Inflation Factor) 값 또는 VMAF(Video Multimethod Assessment Fusion) 값 중 적어도 하나를 포함할 수 있다.
제 1 손실 정보(1590)는 훈련용 예측 픽셀들(1570)을 이용한 복원 영상의 퀄리티와 관련이 있으므로, 퀄리티 손실 정보로 참조될 수도 있다.
신경망(1530)은 제 1 손실 정보(1590)로부터 도출되는 최종 손실 정보가 감소 또는 최소화되도록 훈련될 수 있다.
일 실시예에서, 신경망(1530)은 미리 설정된 파라미터의 값을 변경하면서 최종 손실 정보가 감소 또는 최소화되도록 할 수 있다.
일 실시예에서, 최종 손실 정보는 하기 수학식 3에 따라 산출될 수 있다.
[수학식 3]
최종 손실 정보 = c*제 1 손실 정보
수학식 3에서, c는 각각 제 1 손실 정보(1590)에 적용되는 가중치이다.
수학식 3에 따르면, 신경망(1530)은 훈련용 예측 픽셀이 훈련용 원본 픽셀에 최대한 유사해지는 방향으로 훈련됨을 알 수 있다.
도 15를 참조하여 설명한 훈련 과정은 훈련 장치에 의해 수행될 수 있다. 훈련 장치는 예를 들어, 영상 부호화 장치(2300) 또는 별도의 서버일 수 있다. 훈련 결과 획득된 파라미터들은 영상 부호화 장치(2300) 및 영상 복호화 장치(2100)에 저장될 수 있다.
도 16은 본 개시의 일 실시예에 따른 영상 복호화 방법의 순서도이다.
도 16을 참고하면, S1610 단계에서, 영상 복호화 장치(1700)는 비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득할 수 있다.
S1630 단계에서, 영상 복호화 장치(1700)는 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(1700)는 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 상기 참조 픽셀과 상기 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 결정할 수 있다.
일 실시예에 따라, 신경망은 인트라 예측 특징 데이터, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 인트라 플로우를 출력할 수 있다.
일 실시예에 따라, 인트라 플로우는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 상기 현재 픽셀이 가리키는 상기 참조 픽셀에 대한 각도 중 하나로 표현될 수 있다.
일 실시예에 따라, 인트라 예측 특징 데이터는 신경망 기반의 부호화를 통해 결정될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 시간적 레이어, 현재 블록의 분할 구조, 주변 픽셀들의 분할 구조, 또는 주변 픽셀의 변환 타입 중 적어도 하나를 포함할 수 있다. 본 개시의 일 실시예에 따라, 현재 블록의 분할 구조 정보와 주변 픽셀들의 분할 구조 정보는 현재 블록과 주변 픽셀들이 영상의 프레임에 대하여 어떻게 분할(split 또는 divide)되는지를 나타낼 수 있다. 또한, 분할 구조 정보는 도 2에 도시된 트리 구조 내에서 분할(split 또는 division)의 레벨을 나타내는 계층 정보를 더 포함할 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 신경망 기반 부호화를 통해 획득된 것일 수 있다.
S1650 단계에서, 영상 복호화 장치(1700)는 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득할 수 있다.
일 실시예에 따라, 영상 복호화 장치(1700)는 신경망으로부터 상기 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 추가로 획득하고, 참조 픽셀과 복수의 주변 픽셀들 및, 상기 가중치 정보를 이용하는 가중 평균에 기초하여 예측 픽셀들을 획득할 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 획득되지 않는 경우에는 1/2 펠 (half-pel), 1/4 펠(quarter-pel) 등의 분수 픽셀이 될 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 추가로 획득되는 경우에는 참조 픽셀을 직접 가리키는 픽셀 정밀도일 수 있다.
S1670 단계에서, 영상 복호화 장치(1700)는 예측 픽셀에 기초하여 현재 블록을 복원할 수 있다.
도 17은 본 개시의 일 실시예에 따른 영상 복호화 장치의 구성을 도시하는 도면이다.
도 17을 참조하면, 영상 복호화 장치(1700)는 수신부(1710), AI 처리부(1720), 및 복호화부 (1730)를 포함할 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 영상 복호화 장치(1700)는 도 1에 도시된 구성요소들 중 일부를 생략하거나 다른 구성요소를 포함할 수 있다. 예를 들어, 영상 복호화 장치(1700)는 메모리를 포함할 수 있다.
수신부(1710), AI 처리부(1720), 및 복호화부 (1730)는 프로세서로 구현될 수 있다. 수신부(1710), AI 처리부(1720), 및 복호화부 (1730)는 메모리에 저장된 인스트럭션에 따라 동작할 수 있다.
도 17은 수신부(1710), AI 처리부(1720), 및 복호화부 (1730)를 개별적으로 도시하고 있으나, 수신부(1710), AI 처리부(1720), 및 복호화부 (1730)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 수신부(1710), AI 처리부(1720), 및 복호화부 (1730)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
수신부(1710), AI 처리부(1720), 및 복호화부 (1730)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 수신부(1710), AI 처리부(1720), 및 복호화부 (1730)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
수신부(1710)는 비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득한다. 또한, 수신부(1710)는 인트라 예측 특징 데이터를 엔트로피 복호화하여 AI 처리부(1720)에 전달한다.
또한, AI 처리부(1720)는 참조 픽셀 및 코딩 컨텍스트 정보를 획득한다.
AI 처리부(1720)는 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정한다.
AI 처리부(1720)는 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 상기 참조 픽셀과 상기 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 결정할 수 있다.
AI 처리부(1720)는 인트라 플로우를 복호화부(1730)에 전달한다.
AI 처리부(1720)는 인트라 플로우 및 가중치 정보를 복호화부(1730)에 전달할 수 있다.
복호화부(1730)는 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득한다. 또한, 복호화부(1730)는 예측 픽셀에 기초하여 현재 블록을 복원한다.
복호화부(1730)는 현재 블록의 인트라 플로우 및 가중치 정보에 기초하여 현재 픽셀의 예측 픽셀을 획득할 수 있다.
비트스트림은 네트워크를 통해 영상 부호화 장치(1900)로부터 전송될 수 있다. 일 실시예에서, 비트스트림은 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium) 등을 포함하는 데이터 저장 매체에 기록될 수도 있다.
도 18은 본 개시의 일 실시예에 따른 영상 부호화 방법의 순서도이다.
도 18을 참고하면, S1810 단계에서, 영상 부호화 장치(1900)는 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록의 인트라 예측 특징 데이터, 현재 블록의 원본 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정할 수 있다.
일 실시예에 따라, 영상 부호화 장치(1900)는 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록의 인트라 예측 특징 데이터, 현재 블록의 원본 픽셀의 참조 픽셀을 가리키는 인트라 플로우, 및 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 결정할 수 있다.
일 실시예에 따라, 신경망은 원본 픽셀, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로 하여 인트라 예측 특징 데이터를 출력하는 부호화 신경망과, 인트라 예측 특징 데이터, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로 상기 인트라 플로우를 출력하는 복호화 신경망을 포함할 수 있다.
일 실시예에 따라, 복호화 신경망은 가중치 정보가 더 출력될 수 있다.
일 실시예에 따라, 인트라 플로우는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 현재 픽셀이 가리키는 참조 픽셀에 대한 각도 중 하나로 표현될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 시간적 레이어, 현재 블록의 분할 구조, 주변 픽셀들의 분할 구조, 주변 픽셀의 변환 타입 중 적어도 하나를 포함할 수 있다.
S1830 단계에서, 영상 부호화 장치(1900)는 현재 블록의 인트라 플로우에 기초하여 원본 픽셀의 예측 픽셀을 획득할 수 있다.
일 실시예에 따라, 영상 부호화 장치(1900)는 신경망으로부터 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 추가로 획득하고, 참조 픽셀과 복수의 주변 픽셀들 및, 가중치 정보를 이용하는 가중 평균에 기초하여 예측 픽셀들을 획득할 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 획득되지 않는 경우에는 1/2 펠 (half-pel), 1/4 펠(quarter-pel) 등의 분수 픽셀이 될 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 추가로 획득되는 경우에는 참조 픽셀을 직접 가리키는 픽셀 정밀도일 수 있다.
S1830 단계에서, 영상 부호화 장치(1900)는 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화할 수 있다.
도 19는 본 개시의 일 실시예에 따른 영상 부호화 장치의 구성을 도시하는 도면이다.
도 19를 참조하면, 영상 부호화 장치(1900)는 제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)를 포함할 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 영상 부호화 장치(1900)는 도 19에 도시된 구성요소들 중 일부를 생략하거나 다른 구성요소를 포함할 수 있다. 예를 들어, 영상 부호화 장치(1900)는 메모리를 포함할 수 있다.
제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)는 프로세서로 구현될 수 있다. 제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)는 메모리에 저장된 인스트럭션에 따라 동작할 수 있다.
도 19는 제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)를 개별적으로 도시하고 있으나, 제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 제1 AI 처리부(1910), 제2 AI 처리부(1920), 및 부호화부 (1930)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
제1 AI 처리부(1910)는 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 부호화 신경망에 적용하여, 현재 블록의 인트라 예측 특징 데이터를 결정한다.
제1 AI 처리부(1910)는 인트라 예측 특징 데이터를 제2 AI 처리부(1920) 및 부호화부(1930)에 전달한다.
또한, 제2 AI 처리부(1920)는 참조 픽셀 및 코딩 컨텍스트 정보를 획득한다.
제2 AI 처리부(1920)는 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 복호화 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정한다.
제2 AI 처리부(1920)는 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 상기 참조 픽셀과 상기 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 결정할 수 있다.
제2 AI 처리부(1920)는 인트라 플로우를 부호화부(1930)에 전달한다.
제2 AI 처리부(1920)는 인트라 플로우 및 가중치 정보를 부호화부(1930)에 전달할 수 있다.
부호화부(1930)는 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득한다. 또한, 부호화부(1930)는 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화한다.
부호화부(1930)는 현재 블록의 인트라 플로우 및 가중치 정보에 기초하여 현재 픽셀의 예측 픽셀을 획득할 수 있다. 또한, 부호화부(1930)는 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화할 수 있다.
인트라 예측 특징 데이터는 엔트로피 부호화되어 영상 복호화 장치(1700)에 전송될 수 있다.
도 20은 본 개시의 일 실시예에 따른 영상 복호화 방법의 순서도이다.
도 20을 참고하면, S2010 단계에서, 영상 복호화 장치(2100)는 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀에 인접한 복수의 주변 픽셀들의 가중치 정보를 결정할 수 있다.
일 실시예에 따라, 신경망은 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따라, 영상 복호화 장치(2100)는 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정할 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 획득되지 않는 경우에는 1/2 펠 (half-pel), 1/4 펠(quarter-pel) 등의 분수 픽셀이 될 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 추가로 획득되는 경우에는 참조 픽셀을 직접 가리키는 픽셀 정밀도일 수 있다.
S2030 단계에서, 영상 복호화 장치(2100)는 인트라 플로우 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(2100)는 인트라 플로우에 기초하여, 현재 픽셀의 예측 픽셀을 결정할 수 있다.
S2050 단계에서, 영상 복호화 장치(2100)는 예측 픽셀에 기초하여 현재 블록을 복원할 수 있다.
도 21은 본 개시의 일 실시예에 따른 영상 복호화 장치의 구성을 도시하는 도면이다.
도 21을 참조하면, 영상 복호화 장치(2100)는 AI 처리부(2110) 및 복호화부 (2120)를 포함할 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 영상 복호화 장치(2100)는 도 21에 도시된 구성요소들 중 일부를 생략하거나 다른 구성요소를 포함할 수 있다. 예를 들어, 영상 복호화 장치(2100)는 메모리를 포함할 수 있다.
AI 처리부(2110) 및 복호화부 (2120)는 프로세서로 구현될 수 있다. AI 처리부(2110) 및 복호화부 (2120)는 메모리에 저장된 인스트럭션에 따라 동작할 수 있다.
도 21은 AI 처리부(2110) 및 복호화부 (2120)를 개별적으로 도시하고 있으나, AI 처리부(2110) 및 복호화부 (2120)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, AI 처리부(2110) 및 복호화부 (2120)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
AI 처리부(2110) 및 복호화부 (2120)는 복수의 프로세서로 구현될 수도 있다. 이 경우, AI 처리부(2110) 및 복호화부 (2120)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
AI 처리부(2110)는 현재 블록의 참조 픽셀 및 현재 블록의 코딩 컨텍스트 정보를 획득한다.
AI 처리부(2110)는 현재 블록의 주변 픽셀들 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀의 주변 픽셀들에 대한 가중치 정보를 결정한다.
AI 처리부(2110)는 인트라 플로우 및 가중치 정보를 복호화부(2120)에 전달한다.
복호화부(2120)는 현재 블록의 인트라 플로우 및 가중치 정보에 기초하여 현재 픽셀의 예측 픽셀을 획득한다. 또한, 복호화부(1730)는 예측 픽셀에 기초하여 현재 블록을 복원한다.
도 22는 본 개시의 일 실시예에 따른 영상 부호화 방법의 순서도이다.
도 22를 참고하면, S2210 단계에서, 영상 부호화 장치(2300)는 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀에 인접한 복수의 주변 픽셀들의 가중치 정보를 결정할 수 있다.
일 실시예에 따라, 신경망은 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따라, 영상 부호화 장치(2300)는 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정할 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 획득되지 않는 경우에는 1/2 펠 (half-pel), 1/4 펠(quarter-pel) 등의 분수 픽셀이 될 수 있다.
일 실시예에 따라, 인트라 플로우의 정밀도는 가중치 정보가 추가로 획득되는 경우에는 참조 픽셀을 직접 가리키는 픽셀 정밀도일 수 있다.
S2230 단계에서, 영상 부호화 장치(2300)는 인트라 플로우 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 결정할 수 있다.
일 실시예에 따라, 영상 부호화 장치(2300)는 인트라 플로우에 기초하여, 현재 픽셀의 예측 픽셀을 결정할 수 있다.
S2250 단계에서, 영상 부호화 장치(2300)는 예측 픽셀에 기초하여 현재 블록을 부호화할 수 있다.
도 23은 본 개시의 일 실시예에 따른 영상 부호화 장치의 구성을 도시하는 도면이다.
도 23을 참조하면, 영상 부호화 장치(2300)는 AI 처리부(2310) 및 부호화부 (2320)를 포함할 수 있다. 그러나, 본 개시는 이에 한정되지 않으며, 영상 부호화 장치(2300)는 도 23에 도시된 구성요소들 중 일부를 생략하거나 다른 구성요소를 포함할 수 있다. 예를 들어, 영상 부호화 장치(2300)는 메모리를 포함할 수 있다.
AI 처리부(2310) 및 부호화부 (2320)는 프로세서로 구현될 수 있다. AI 처리부(2310) 및 부호화부 (2320)는 메모리에 저장된 인스트럭션에 따라 동작할 수 있다.
도 21은 AI 처리부(2310) 및 부호화부 (2320)를 개별적으로 도시하고 있으나, AI 처리부(2310) 및 부호화부 (2320)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, AI 처리부(2310) 및 부호화부 (2320)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
AI 처리부(2310) 및 부호화부 (2320)는 복수의 프로세서로 구현될 수도 있다. 이 경우, AI 처리부(2310) 및 부호화부 (2320)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
AI 처리부(2310)는 현재 블록의 참조 픽셀 및 현재 블록의 코딩 컨텍스트 정보를 획득한다.
AI 처리부(2310)는 현재 블록의 주변 픽셀들 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀의 주변 픽셀들에 대한 가중치 정보를 결정한다.
AI 처리부(2310)는 인트라 플로우 및 가중치 정보를 복호화부(2120)에 전달한다.
부호화부(2320)는 현재 블록의 인트라 플로우 및 가중치 정보에 기초하여 현재 픽셀의 예측 픽셀을 획득한다. 또한, 부호화부(2320)는 예측 픽셀에 기초하여 현재 블록을 부호화한다.
일 실시예에 따른 영상 복호화 방법은, 비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득하는 단계; 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정하는 단계; 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하는 단계; 예측 픽셀에 기초하여 현재 블록을 복원하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 방법은 종래의 인트라 예측과 달리, 예측할 블록 내의 모든 픽셀들에 하나의 예측 방향이 아니라 픽셀들 각각에 대해 각각의 예측 방향이 적용되고, 신경망을 통해 주변 픽셀들을 입력으로하여 직접 예측 픽셀이 생성되는 것이 아니라, 신경망을 통해 인트라 예측 특징 데이터, 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우를 획득하고 인트라 플로우를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하는 단계는: 신경망으로부터 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 추가로 획득하는 단계; 및 참조 픽셀과 복수의 주변 픽셀들 및, 가중치 정보를 이용하는 가중 평균에 기초하여 예측 픽셀들을 획득하는 단계를 더 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 방법은 종래의 인트라 예측과 달리, 미리정해진 필터들이 이용되지 않고, 신경망을 통해 학습된 인트라 플로우를 획득하고 인트라 플로우 및 학습된 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 인트라 플로우 및 가중치 정보에 기초한 가중 평균을 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 인트라 예측 특징 데이터, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 인트라 플로우를 출력할 수 있다.
일 실시예에 따라, 인트라 플로우는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 상기 현재 픽셀이 가리키는 상기 참조 픽셀에 대한 각도 중 하나로 표현될 수 있다.
일 실시예에 따라, 인트라 예측 특징 데이터는 신경망 기반의 부호화를 통해 결정될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 시간적 레이어, 현재 블록의 분할 구조, 주변 픽셀들의 분할 구조, 주변 픽셀의 변환 타입 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 신경망 기반 부호화를 통해 획득된 것일 수 있다.
일 실시예에 따른 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득하고, 인트라 예측 특징 데이터, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정하고, 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치는 종래의 인트라 예측과 달리, 예측할 블록 내의 모든 픽셀들에 하나의 예측 방향이 아니라 픽셀들 각각에 대해 각각의 예측 방향이 적용되고, 신경망을 통해 주변 픽셀들을 입력으로하여 직접 예측 픽셀이 생성되는 것이 아니라, 신경망을 통해 인트라 예측 특징 데이터, 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우를 획득하고 인트라 플로우를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하는 것은: 신경망으로부터 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 추가로 획득하고, 참조 픽셀과 복수의 주변 픽셀들 및, 가중치 정보를 이용하는 가중 평균에 기초하여 예측 픽셀들을 획득하는 것을 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치는 종래의 인트라 예측과 달리, 미리정해진 필터들이 이용되지 않고, 신경망을 통해 학습된 인트라 플로우를 획득하고 인트라 플로우 및 학습된 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 인트라 플로우 및 가중치 정보에 기초한 가중 평균을 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 인트라 예측 특징 데이터, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 인트라 플로우를 출력할 수 있다.
일 실시예에 따라, 인트라 플로우는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 상기 현재 픽셀이 가리키는 상기 참조 픽셀에 대한 각도 중 하나로 표현될 수 있다.
일 실시예에 따라, 인트라 예측 특징 데이터는 신경망 기반의 부호화를 통해 결정될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 시간적 레이어, 현재 블록의 분할 구조, 주변 픽셀들의 분할 구조, 주변 픽셀의 변환 타입 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 신경망 기반 부호화를 통해 획득된 것일 수 있다.
일 실시예에 따른 영상 부호화 방법은, 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록의 인트라 예측 특징 데이터, 현재 블록의 원본 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정하는 단계; 현재 블록의 인트라 플로우에 기초하여 원본 픽셀의 예측 픽셀을 획득하는 단계; 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 방법은 종래의 인트라 예측과 달리, 예측할 블록 내의 모든 픽셀들에 하나의 예측 방향이 아니라 픽셀들 각각에 대해 각각의 예측 방향이 적용되고, 신경망을 통해 주변 픽셀들을 입력으로하여 직접 예측 픽셀이 생성되는 것이 아니라, 신경망을 통해 원본 픽셀, 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우를 획득하고 인트라 플로우를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하는 단계는: 신경망으로부터 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 추가로 획득하는 단계; 및 참조 픽셀과 복수의 주변 픽셀들 및, 가중치 정보를 이용하는 가중 평균에 기초하여 예측 픽셀들을 획득하는 단계를 더 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 방법은 종래의 인트라 예측과 달리, 미리정해진 필터들이 이용되지 않고, 신경망을 통해 학습된 인트라 플로우를 획득하고 인트라 플로우 및 학습된 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 인트라 플로우 및 가중치 정보에 기초한 가중 평균을 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 원본 픽셀, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로 하여 인트라 예측 특징 데이터를 출력하는 부호화 신경망과, 인트라 예측 특징 데이터, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로 상기 인트라 플로우를 출력하는 복호화 신경망을 포함할 수 있다.
일 실시예에 따라, 복호화 신경망은 가중치 정보가 더 출력될 수 있다.
일 실시예에 따라, 인트라 플로우는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 현재 픽셀이 가리키는 참조 픽셀에 대한 각도 중 하나로 표현될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 시간적 레이어, 현재 블록의 분할 구조, 주변 픽셀들의 분할 구조, 주변 픽셀의 변환 타입 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는 현재 블록의 원본 픽셀, 현재 블록의 주변 픽셀들, 및 현재 블록의 코딩 컨텍스트 정보를 신경망에 적용하여, 현재 블록의 인트라 예측 특징 데이터, 현재 블록의 원본 픽셀의 참조 픽셀을 가리키는 인트라 플로우를 결정하고, 현재 블록의 인트라 플로우에 기초하여 원본 픽셀의 예측 픽셀을 획득하고, 예측 픽셀에 기초하여 현재 블록을 복원함으로써 인트라 예측 특징 데이터를 부호화할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 장치는 종래의 인트라 예측과 달리, 예측할 블록 내의 모든 픽셀들에 하나의 예측 방향이 아니라 픽셀들 각각에 대해 각각의 예측 방향이 적용되고, 신경망을 통해 주변 픽셀들을 입력으로하여 직접 예측 픽셀이 생성되는 것이 아니라, 신경망을 통해 원본 픽셀, 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우를 획득하고 인트라 플로우를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 현재 블록의 인트라 플로우에 기초하여 현재 픽셀의 예측 픽셀을 획득하는 것은: 신경망으로부터 인트라 플로우가 가리키는 참조 픽셀과 참조 픽셀에 인접하는 복수의 주변 픽셀들에 대한 가중치 정보를 추가로 획득하고, 참조 픽셀과 복수의 주변 픽셀들 및, 가중치 정보를 이용하는 가중 평균에 기초하여 예측 픽셀들을 획득하는 것을 더 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 장치는 종래의 인트라 예측과 달리, 미리정해진 필터들이 이용되지 않고, 신경망을 통해 학습된 인트라 플로우를 획득하고 인트라 플로우 및 학습된 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 인트라 플로우 및 가중치 정보에 기초한 가중 평균을 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 원본 픽셀, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로 하여 인트라 예측 특징 데이터를 출력하는 부호화 신경망과, 인트라 예측 특징 데이터, 참조 픽셀, 및 코딩 컨텍스트 정보를 입력으로 상기 인트라 플로우를 출력하는 복호화 신경망을 포함할 수 있다.
일 실시예에 따라, 복호화 신경망은 가중치 정보가 더 출력될 수 있다.
일 실시예에 따라, 인트라 플로우는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 현재 픽셀이 가리키는 참조 픽셀에 대한 각도 중 하나로 표현될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 시간적 레이어, 현재 블록의 분할 구조, 주변 픽셀들의 분할 구조, 주변 픽셀의 변환 타입 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 영상 복호화 방법은, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀에 인접한 복수의 주변 픽셀들의 가중치 정보를 결정하는 단계; 인트라 플로우 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 결정하는 단계; 예측 픽셀에 기초하여 현재 블록을 복원하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 방법은 신경망을 통해 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우 및 가중치 정보를 획득하고 인트라 플로우 및 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우 및 가중치 정보를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따라, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우가 결정될 수 있다.
일 실시예에 따라, 인트라 플로우에 기초하여, 현재 픽셀의 예측 픽셀이 결정될 수 있다.
일 실시예에 따른 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀에 인접한 복수의 주변 픽셀들의 가중치 정보를 결정하고, 인트라 플로우 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 결정하고, 예측 픽셀에 기초하여 현재 블록을 복원할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치는 신경망을 통해 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우 및 가중치 정보를 획득하고 인트라 플로우 및 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우 및 가중치 정보를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따라, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우가 결정될 수 있다.
일 실시예에 따라, 인트라 플로우에 기초하여, 현재 픽셀의 예측 픽셀이 결정될 수 있다.
일 실시예에 따른 영상 부호화 방법은, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀에 인접한 복수의 주변 픽셀들의 가중치 정보를 결정하는 단계; 인트라 플로우 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 결정하는 단계; 예측 픽셀에 기초하여 현재 블록을 부호화하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 방법은 신경망을 통해 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우 및 가중치 정보를 획득하고 인트라 플로우 및 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우 및 가중치 정보를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따라, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우가 결정될 수 있다.
일 실시예에 따라, 인트라 플로우에 기초하여, 현재 픽셀의 예측 픽셀이 결정될 수 있다.
일 실시예에 따른 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 및 참조 픽셀과 참조 픽셀에 인접한 복수의 주변 픽셀들의 가중치 정보를 결정하고, 인트라 플로우 및 가중치 정보에 기초하여, 현재 픽셀의 예측 픽셀을 결정하고, 예측 픽셀에 기초하여 현재 블록을 부호화할 수 있다.
본 개시의 일 실시예에 따른 영상 부호화 장치는 신경망을 통해 주변 픽셀, 및 코딩 컨텍스트 정보를 입력으로하여 학습된 인트라 플로우 및 가중치 정보를 획득하고 인트라 플로우 및 가중치 정보를 이용하여 예측 픽셀이 획득되므로, 예측할 블록의 각 픽셀이 이용가능한 참조 픽셀을 가리키는 고유한 공간적 벡터를 가지는 인트라 플로우 및 가중치 정보를 이용하여 인트라 예측의 효율이 개선될 수 있다.
일 실시예에 따라, 신경망은 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따라, 현재 블록의 주변 픽셀들 및 코딩 컨텍스트 정보를 신경망에 적용하여 현재 블록 내 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우가 결정될 수 있다.
일 실시예에 따라, 인트라 플로우에 기초하여, 현재 픽셀의 예측 픽셀이 결정될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.

Claims (15)

  1. 영상 복호화 방법에 있어서,
    비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득(S1610)하는 단계;
    상기 인트라 예측 특징 데이터, 상기 현재 블록의 제1 주변 픽셀들, 및 상기 현재 블록의 코딩 컨텍스트 정보에 기초하여, 상기 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 정보를 획득(S1630)하는 단계;
    상기 현재 블록의 인트라 플로우 정보에 기초하여 상기 현재 픽셀의 예측 픽셀을 획득(S1650)하는 단계;
    상기 예측 픽셀에 기초하여 상기 현재 블록을 복원(S1670)하는 단계를 포함하는, 영상 복호화 방법.
  2. 제 1 항에 있어서,
    상기 인트라 예측 특징 데이터, 상기 제1 주변 픽셀들, 및 상기 현재 블록의 상기 코딩 컨텍스트 정보를 신경망에 적용하는 단계;
    상기 신경망으로부터 상기 인트라 플로우 정보가 가리키는 상기 참조 픽셀과 상기 참조 픽셀에 인접하는 복수의 제2 주변 픽셀들에 대한 가중치 정보와 함께 인트라 플로우를 획득하는 단계; 및
    상기 참조 픽셀과 상기 복수의 제2 주변 픽셀들 및, 상기 가중치 정보에 기초하여 획득된 가중 평균에 기초하여 상기 예측 픽셀을 획득하는 단계;를 포함하는, 영상 복호화 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 신경망은 상기 신경망에 입력으로 제공된 상기 인트라 예측 특징 데이터, 상기 현재 블록의 제1 주변 픽셀들, 및 상기 코딩 컨텍스트 정보에 기초하여 상기 인트라 플로우 정보를를 출력하는, 영상 복호화 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 인트라 플로우 정보는 x성분과 y성분을 포함하는 제1 벡터, 크기 성분과 각도 성분을 포함하는 제2 벡터, 또는 상기 현재 픽셀이 가리키는 상기 참조 픽셀에 대한 각도 중 하나를 포함하는, 영상 복호화 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 인트라 예측 특징 데이터는 신경망 기반의 부호화를 통해 획득된 것인, 영상 복호화 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 코딩 컨텍스트 정보는 상기 현재 블록의 양자화 파라미터, 상기 현재 블록의 시간적 레이어, 상기 현재 블록의 분할 구조, 상기 제1 주변 픽셀들의 분할 구조, 상기 제1 주변 픽셀들의 변환 타입 중 적어도 하나를 포함하는, 영상 복호화 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 코딩 컨텍스트 정보는 신경망 기반 부호화를 통해 획득된 것인, 영상 복호화 방법.
  8. 영상 부호화 방법에 있어서,
    현재 블록의 원본 픽셀, 상기 현재 블록의 제1 주변 픽셀들, 및 상기 현재 블록의 코딩 컨텍스트 정보에 기초하여, 상기 현재 블록의 인트라 예측 특징 데이터 및 상기 현재 블록의 상기 원본 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보를 획득(S1810)하는 단계;
    상기 현재 블록의 인트라 플로우 정보에 기초하여 상기 원본 픽셀의 예측 픽셀을 획득(S1830)하는 단계;
    상기 예측 픽셀에 기초하여 상기 현재 블록을 복원함으로써 상기 인트라 예측 특징 데이터를 부호화(S1850)하는 단계를 포함하는, 영상 부호화 방법.
  9. 제 8 항에 있어서,
    상기 현재 블록의 상기 원본 픽셀, 상기 현재 블록의 상기 제1 주변 픽셀들, 및 상기 현재 블록의 상기 코딩 컨텍스트 정보를 신경망에 적용하는 단계;상기 신경망으로부터, 상기 현재 블록의 인트라 예측 특징 데이터, 상기 인트라 플로우 정보, 및 상기 인트라 플로우 정보 가 가리키는 상기 참조 픽셀과 상기 참조 픽셀에 인접하는 복수의 제2 주변 픽셀들에 대한 가중치 정보를 획득하는 단계; 및
    상기 참조 픽셀과 상기 복수의 제2 주변 픽셀들 및, 상기 가중치 정보에 기초하여 획득된 가중 평균에 기초하여 상기 예측 픽셀을 획득하는 단계;를 포함하는, 영상 부호화 방법.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 원본 픽셀, 상기 참조 픽셀, 및 상기 코딩 컨텍스트 정보를 부호화 신경망에 입력하여 상기 인트라 예측 특징 데이터를 출력하는 단계; 및
    상기 인트라 예측 특징 데이터, 상기 참조 픽셀, 및 상기 코딩 컨텍스트 정보를 복호화 신경망에 입력하여 상기 인트라 플로우를 출력하는 단계를 더 포함하는, 영상 부호화 방법.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 복호화 신경망은 상기 가중치 정보가 더 출력되는, 영상 부호화 방법.
  12. 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 인트라 플로우 정보는 x성분과 y성분을 포함하는 벡터, 크기 성분과 각도 성분을 포함하는 벡터, 또는 상기 현재 픽셀이 가리키는 상기 참조 픽셀에 대한 각도 중 하나로 표현되는, 영상 부호화 방법.
  13. 제 8 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 코딩 컨텍스트 정보는 상기 현재 블록의 양자화 파라미터, 상기 현재 블록의 시간적 레이어, 상기 현재 블록의 분할 구조, 상기 제1 주변 픽셀들의 분할 구조, 상기 제1 주변 픽셀들의 변환 타입 중 적어도 하나를 포함하는, 영상 부호화 방법.
  14. 영상 복호화 장치에 있어서,
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    비트스트림으로부터 현재 블록의 인트라 예측 특징 데이터를 획득하고,
    상기 인트라 예측 특징 데이터, 상기 현재 블록의 제1 주변 픽셀들, 및 상기 현재 블록의 코딩 컨텍스트 정보에 기초하여, 상기 현재 블록 내의 현재 픽셀의 참조 픽셀을 가리키는 인트라 플로우 정보를 획득하고,
    상기 현재 블록의 인트라 플로우 정보에 기초하여 상기 현재 픽셀의 예측 픽셀을 획득하고,
    상기 예측 픽셀에 기초하여 상기 현재 블록을 복원하는, 영상 복호화 장치.
  15. 영상 복호화 방법에 있어서,
    현재 블록의 제1 주변 픽셀들 및 코딩 컨텍스트 정보에 기초하여 상기 현재 블록 내 현재 픽셀에 대응하는 참조 픽셀을 가리키는 인트라 플로우 정보 및 상기 참조 픽셀과 상기 참조 픽셀에 인접한 복수의 제2 주변 픽셀들의 가중치 정보를 결정(S2010)하는 단계;
    상기 인트라 플로우 정보 및 상기 가중치 정보에 기초하여, 상기 현재 픽셀의 예측 픽셀을 획득(S2030)하는 단계; 및
    상기 예측 픽셀에 기초하여 상기 현재 블록을 복원(S2050)하는 단계;를 포함하는, 영상 복호화 방법.
PCT/KR2023/011796 2022-08-18 2023-08-10 영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법 WO2024039132A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/235,612 US20240064331A1 (en) 2022-08-18 2023-08-18 Image decoding apparatus and method and image encoding apparatus and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220103413 2022-08-18
KR10-2022-0103413 2022-08-18
KR10-2022-0125777 2022-09-30
KR1020220125777A KR20240025429A (ko) 2022-08-18 2022-09-30 영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/235,612 Continuation US20240064331A1 (en) 2022-08-18 2023-08-18 Image decoding apparatus and method and image encoding apparatus and method

Publications (1)

Publication Number Publication Date
WO2024039132A1 true WO2024039132A1 (ko) 2024-02-22

Family

ID=89941794

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011796 WO2024039132A1 (ko) 2022-08-18 2023-08-10 영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2024039132A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190092382A (ko) * 2016-12-27 2019-08-07 삼성전자주식회사 인트라 예측에서 참조 샘플을 필터링하는 방법 및 장치
KR20200000548A (ko) * 2018-06-25 2020-01-03 에스케이텔레콤 주식회사 Cnn 기반의 영상 부호화 또는 복호화 장치 및 방법
KR20200084767A (ko) * 2019-01-03 2020-07-13 에스케이텔레콤 주식회사 인트라 예측 방법 및 영상 복호화 장치
US20200228829A1 (en) * 2010-12-22 2020-07-16 Lg Electronics Inc. Intra prediction method and apparatus using the method
KR20210098913A (ko) * 2010-12-13 2021-08-11 한국전자통신연구원 인트라 예측 방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098913A (ko) * 2010-12-13 2021-08-11 한국전자통신연구원 인트라 예측 방법 및 그 장치
US20200228829A1 (en) * 2010-12-22 2020-07-16 Lg Electronics Inc. Intra prediction method and apparatus using the method
KR20190092382A (ko) * 2016-12-27 2019-08-07 삼성전자주식회사 인트라 예측에서 참조 샘플을 필터링하는 방법 및 장치
KR20200000548A (ko) * 2018-06-25 2020-01-03 에스케이텔레콤 주식회사 Cnn 기반의 영상 부호화 또는 복호화 장치 및 방법
KR20200084767A (ko) * 2019-01-03 2020-07-13 에스케이텔레콤 주식회사 인트라 예측 방법 및 영상 복호화 장치

Similar Documents

Publication Publication Date Title
WO2018030599A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019107916A1 (ko) 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2020080827A1 (en) Ai encoding apparatus and operation method of the same, and ai decoding apparatus and operation method of the same
WO2017026681A1 (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2018038492A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2018044142A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2020080698A1 (ko) 영상의 주관적 품질을 평가하는 방법 및 장치
EP3868096A1 (en) Artificial intelligence encoding and artificial intelligence decoding methods and apparatuses using deep neural network
WO2011068360A2 (ko) 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
WO2020071616A1 (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치
WO2011126273A2 (en) Method and apparatus for encoding video by compensating for pixel value according to pixel groups, and method and apparatus for decoding video by the same
WO2010050699A2 (ko) 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체
WO2018047995A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018226066A1 (ko) 영상 코딩 시스템에서 어파인 예측에 따른 영상 디코딩 방법 및 장치
WO2016195455A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019221465A1 (ko) 영상 복호화 방법/장치, 영상 부호화 방법/장치 및 비트스트림을 저장한 기록 매체
WO2016190627A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020080782A1 (en) Artificial intelligence (ai) encoding device and operating method thereof and ai decoding device and operating method thereof
WO2021172834A1 (en) Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image by using pre-processing
WO2020013569A1 (ko) 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2020032609A1 (ko) 영상 코딩 시스템에서 어파인 머지 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2020080709A1 (en) Artificial intelligence encoding and artificial intelligence decoding methods and apparatuses using deep neural network
EP3868097A1 (en) Artificial intelligence (ai) encoding device and operating method thereof and ai decoding device and operating method thereof
WO2010019002A2 (ko) H.264 표준의 영상 프레임에서 섬네일 이미지를 생성하는 방법
WO2020032526A1 (ko) 영상 코딩 시스템에서 컨스트럭티드 어파인 mvp 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1