KR20240025428A - Image decoding apparatus and image encoding apparatus for adaptive quantization and inverse-quantization, and methods thereby - Google Patents
Image decoding apparatus and image encoding apparatus for adaptive quantization and inverse-quantization, and methods thereby Download PDFInfo
- Publication number
- KR20240025428A KR20240025428A KR1020220125482A KR20220125482A KR20240025428A KR 20240025428 A KR20240025428 A KR 20240025428A KR 1020220125482 A KR1020220125482 A KR 1020220125482A KR 20220125482 A KR20220125482 A KR 20220125482A KR 20240025428 A KR20240025428 A KR 20240025428A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- feature data
- quantization
- image
- probability
- Prior art date
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 273
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000003044 adaptive effect Effects 0.000 title description 2
- 238000013528 artificial neural network Methods 0.000 claims abstract description 206
- 238000012549 training Methods 0.000 claims description 60
- 230000003287 optical effect Effects 0.000 claims description 45
- 230000008569 process Effects 0.000 description 61
- 238000013473 artificial intelligence Methods 0.000 description 60
- 238000010586 diagram Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 23
- 230000004913 activation Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 238000012937 correction Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Abstract
일 실시예에 따른 영상의 복호화 방법은, 현재 영상에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터에 대한 제 2 특징 데이터를 비트스트림으로부터 획득하는 단계; 제 2 특징 데이터를 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계; 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 단계; 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 단계; 양자화 데이터의 샘플 값들에 따라 양자화된 제 1 특징 데이터를 역양자화하여 역양자화된 제 1 특징 데이터를 획득하는 단계; 및 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 현재 영상을 복원하는 단계를 포함할 수 있다.A method of decoding an image according to an embodiment includes obtaining second feature data for first feature data obtained through neural network-based encoding of a current image from a bitstream; Obtaining quantization data and probability data by applying the second feature data to a neural network; modifying probability data based on sample values of quantization data; Obtaining quantized first feature data by applying entropy decoding based on modified probability data to bits included in the bitstream; Obtaining dequantized first feature data by dequantizing the quantized first feature data according to sample values of the quantization data; And it may include restoring the current image through neural network-based decoding of the dequantized first feature data.
Description
본 개시는 영상의 부호화 및 복호화에 관한 것이다. 보다 구체적으로, 본 개시는 AI(Artificial Intelligence), 예를 들어, 신경망을 이용하여 영상을 부호화 및 복호화하는 기술에 관한 것이다.This disclosure relates to encoding and decoding of images. More specifically, the present disclosure relates to technology for encoding and decoding images using AI (Artificial Intelligence), for example, a neural network.
H.264 AVC(Advanced Video Coding) 및 HEVC(High Efficiency Video Coding)와 같은 코덱에서는, 영상을 블록으로 분할하고, 각각의 블록을 인터 예측(inter prediction) 또는 인트라 예측(intraprediction)을 통해 예측 부호화 및 예측 복호화할 수 있다.In codecs such as H.264 AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding), the video is divided into blocks, and each block is predicted, encoded, and processed through inter prediction or intra prediction. Predictive decoding is possible.
인트라 예측은 영상 내의 공간적인 중복성을 제거하여 영상을 압축하는 방법이고, 인터 예측은 영상들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 방법이다. Intra prediction is a method of compressing images by removing spatial redundancy within the images, and inter prediction is a method of compressing images by removing temporal redundancy between images.
인터 예측의 대표적인 예로서, 움직임 추정 부호화가 존재한다. 움직임 추정 부호화는 참조 영상을 이용해 현재 영상의 블록들을 예측한다. 소정의 평가 함수를 이용하여 현재 블록과 가장 유사한 참조 블록을 소정의 범위에서 탐색할 수 있다. 현재 블록을 참조 블록에 기초하여 예측하고, 예측 결과 생성된 예측 블록을 현재 블록으로부터 감산하여 잔차 블록을 생성 및 부호화한다.As a representative example of inter prediction, motion estimation coding exists. Motion estimation coding predicts blocks of the current image using a reference image. A reference block most similar to the current block can be searched within a predetermined range using a predetermined evaluation function. The current block is predicted based on the reference block, and the prediction block generated as a result of prediction is subtracted from the current block to generate and encode a residual block.
참조 영상 내 참조 블록을 가리키는 움직임 벡터를 도출하기 위해, 이전에 부호화된 블록들의 움직임 벡터가 현재 블록의 움직임 벡터 예측자(Motion Vector Predictor)로 이용될 수 있다. 현재 블록의 움직임 벡터와 움직임 벡터 예측자 사이의 차이인 잔차 움직임 벡터(Differential Motion Vector)는 소정의 방식을 통해 디코더 측으로 시그널링된다.To derive a motion vector pointing to a reference block in a reference image, motion vectors of previously encoded blocks can be used as a motion vector predictor of the current block. The differential motion vector, which is the difference between the motion vector of the current block and the motion vector predictor, is signaled to the decoder through a predetermined method.
최근, AI(Artificial Intelligent)를 이용하여 영상을 부호화/복호화하는 기술들이 제안되고 있는데, AI, 예를 들어, 신경망을 이용하여 영상을 효과적으로 부호화/복호화하는 방안이 요구된다.Recently, technologies for encoding/decoding images using AI (Artificial Intelligence) have been proposed, and a method for effectively encoding/decoding images using AI, for example, neural networks, is required.
일 실시예에 따른 영상의 복호화 방법은, 현재 영상에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터에 대한 제 2 특징 데이터를 비트스트림으로부터 획득하는 단계를 포함할 수 있다.A method of decoding an image according to an embodiment may include obtaining second feature data for first feature data obtained through neural network-based encoding of a current image from a bitstream.
일 실시예에서, 영상의 복호화 방법은, 제 2 특징 데이터를 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계를 포함할 수 있다.In one embodiment, the image decoding method may include obtaining quantization data and probability data by applying second feature data to a neural network.
일 실시예에서, 영상의 복호화 방법은, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 단계를 포함할 수 있다.In one embodiment, a method of decoding an image may include modifying probability data based on sample values of quantized data.
일 실시예에서, 영상의 복호화 방법은, 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 단계를 포함할 수 있다.In one embodiment, a method of decoding an image may include obtaining quantized first feature data by applying entropy decoding based on modified probability data to bits included in a bitstream.
일 실시예에서, 영상의 복호화 방법은, 양자화 데이터의 샘플 값들에 따라 양자화된 제 1 특징 데이터를 역양자화하여 역양자화된 제 1 특징 데이터를 획득하는 단계를 포함할 수 있다.In one embodiment, a method of decoding an image may include dequantizing quantized first feature data according to sample values of quantized data to obtain dequantized first feature data.
일 실시예에서, 영상의 복호화 방법은, 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 현재 영상을 복원하는 단계를 포함할 수 있다.In one embodiment, the image decoding method may include restoring the current image through neural network-based decoding of dequantized first feature data.
일 실시예에 따른 영상의 부호화 방법은, 현재 영상에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터를 제 1 신경망에 적용하여 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득하는 단계를 포함할 수 있다.An image encoding method according to an embodiment includes the step of applying first feature data obtained through neural network-based encoding of a current image to a first neural network to obtain second feature data for the first feature data. can do.
일 실시예에서, 영상의 부호화 방법은, 제 2 특징 데이터를 제 2 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계를 포함할 수 있다.In one embodiment, a method of encoding an image may include obtaining quantization data and probability data by applying second feature data to a second neural network.
일 실시예에서, 영상의 부호화 방법은, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 단계를 포함할 수 있다.In one embodiment, a method of encoding an image may include modifying probability data based on sample values of quantized data.
일 실시예에서, 영상의 부호화 방법은, 양자화 데이터의 샘플 값들에 따라 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득하는 단계를 포함할 수 있다.In one embodiment, a method of encoding an image may include quantizing first feature data according to sample values of quantized data to obtain quantized first feature data.
일 실시예에서, 영상의 부호화 방법은, 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.In one embodiment, the image encoding method includes generating a bitstream including bits corresponding to the quantized first feature data by applying entropy coding based on modified probability data to the quantized first feature data. It can be included.
일 실시예에서, 비트스트림은, 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.In one embodiment, the bitstream may include bits corresponding to second characteristic data.
일 실시예에 따른 영상의 복호화 장치는, 현재 영상에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터에 대한 제 2 특징 데이터를 비트스트림으로부터 획득하는 획득부를 포함할 수 있다.An image decoding device according to an embodiment may include an acquisition unit that acquires second feature data for first feature data obtained through neural network-based encoding of a current image from a bitstream.
일 실시예에서, 영상의 복호화 장치는, 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 현재 영상을 복원하는 예측 복호화부를 포함할 수 있다.In one embodiment, the image decoding device may include a prediction decoder that restores the current image through neural network-based decoding of the dequantized first feature data.
일 실시예에서, 획득부는, 제 2 특징 데이터를 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득하고, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 AI 제어부를 포함할 수 있다.In one embodiment, the acquisition unit may include an AI control unit that acquires quantization data and probability data by applying the second feature data to a neural network, and modifies the probability data based on sample values of the quantization data.
일 실시예에서, 획득부는, 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 엔트로피 복호화부를 포함할 수 있다.In one embodiment, the acquisition unit may include an entropy decoding unit that obtains quantized first feature data by applying entropy decoding based on modified probability data to bits included in the bitstream.
일 실시예에서, 획득부는, 양자화 데이터의 샘플 값들에 따라 양자화된 제 1 특징 데이터를 역양자화하여 역양자화된 제 1 특징 데이터를 획득하는 역양자화부를 포함할 수 있다.In one embodiment, the acquisition unit may include an inverse quantization unit that inversely quantizes the quantized first feature data according to sample values of the quantization data to obtain the inverse quantized first feature data.
일 실시예에 따른 영상의 부호화 장치는, 현재 영상에 대한 신경망 기반의 부호화를 통해 제 1 특징 데이터를 획득하는 예측 부호화부를 포함할 수 있다.An image encoding device according to an embodiment may include a prediction encoding unit that obtains first feature data through neural network-based encoding of the current image.
일 실시예에서, 영상의 부호화 장치는, 현재 영상에 대응하는 비트스트림을 생성하는 생성부를 포함할 수 있다.In one embodiment, a video encoding device may include a generator that generates a bitstream corresponding to the current video.
일 실시예에서, 생성부는, 제 1 특징 데이터를 제 1 신경망에 적용하여 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득하고, 제 2 특징 데이터를 제 2 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득하고, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 AI 제어부를 포함할 수 있다.In one embodiment, the generator applies the first feature data to the first neural network to obtain second feature data for the first feature data, and applies the second feature data to the second neural network to obtain quantization data and probability data. It may include an AI control unit that acquires and modifies probability data based on sample values of quantization data.
일 실시예에서, 생성부는, 양자화 데이터의 샘플 값들에 따라 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득하는 양자화부를 포함할 수 있다.In one embodiment, the generator may include a quantization unit that quantizes the first feature data according to sample values of the quantization data to obtain quantized first feature data.
일 실시예에서, 생성부는, 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성하는 엔트로피 부호화부를 포함할 수 있다.In one embodiment, the generator may include an entropy encoding unit that generates a bitstream including bits corresponding to the quantized first feature data by applying entropy coding based on modified probability data to the quantized first feature data. You can.
일 실시예에서, 비트스트림은, 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.In one embodiment, the bitstream may include bits corresponding to second characteristic data.
도 1은 일 실시예에 따른 인트라 예측에 기반한 현재 영상의 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 인터 예측에 기반한 현재 영상의 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화에 이용되는 확률 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 양자화 및 역양자화에 이용되는 양자화 데이터와, 엔트로피 부호화 및 엔트로피 복호화에 이용되는 수정된 확률 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 영상 복호화 장치의 구성을 도시하는 도면이다.
도 6은 일 실시예에 따른 획득부의 구성을 도시하는 도면이다.
도 7은 일 실시예에 따른 AI 제어부의 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 신경망의 구조를 도시하는 도면이다.
도 9는 일 실시예에 따른 확률 데이터의 수정 방법에 대해 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 확률 데이터, 수정된 확률 데이터 및 확률 모델을 나타내는 도면이다.
도 11은 일 실시예에 따른 복수의 확률 데이터의 수정 방법에 대해 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 복수의 확률 데이터, 복수의 수정된 확률 데이터 및 확률 모델을 나타내는 도면이다.
도 13은 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 영상 부호화 장치의 구성을 도시하는 도면이다.
도 15는 일 실시예에 따른 생성부의 구성을 도시하는 도면이다.
도 16은 일 실시예에 따른 AI 제어부의 동작을 설명하기 위한 도면이다.
도 17은 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 도면이다.
도 18은 일 실시예에 따른 신경망들의 훈련 방법을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a process of encoding and decoding a current image based on intra prediction according to an embodiment.
Figure 2 is a diagram for explaining the encoding and decoding process of a current video based on inter prediction according to an embodiment.
FIG. 3 is a diagram illustrating a method of obtaining probability data used for entropy encoding and entropy decoding according to an embodiment.
FIG. 4 is a diagram illustrating a method of obtaining quantized data used for quantization and dequantization, and modified probability data used for entropy encoding and entropy decoding, according to an embodiment.
FIG. 5 is a diagram illustrating the configuration of a video decoding device according to an embodiment.
Figure 6 is a diagram illustrating the configuration of an acquisition unit according to an embodiment.
Figure 7 is a diagram for explaining the operation of the AI control unit according to one embodiment.
Figure 8 is a diagram showing the structure of a neural network according to one embodiment.
Figure 9 is a diagram for explaining a method of modifying probability data according to an embodiment.
Figure 10 is a diagram showing probability data, modified probability data, and probability model according to one embodiment.
Figure 11 is a diagram for explaining a method of modifying a plurality of probability data according to an embodiment.
FIG. 12 is a diagram illustrating a plurality of probability data, a plurality of modified probability data, and a probability model according to an embodiment.
Figure 13 is a diagram for explaining an image decoding method according to an embodiment.
FIG. 14 is a diagram illustrating the configuration of a video encoding device according to an embodiment.
Figure 15 is a diagram illustrating the configuration of a generator according to an embodiment.
Figure 16 is a diagram for explaining the operation of the AI control unit according to one embodiment.
Figure 17 is a diagram for explaining an image encoding method according to an embodiment.
Figure 18 is a diagram for explaining a method of training neural networks according to an embodiment.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함할 수 있다.Since the present disclosure can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail through detailed description. However, this is not intended to limit the embodiments of the present disclosure, and the present disclosure may include all changes, equivalents, and substitutes included in the spirit and technical scope of the various embodiments.
실시예를 설명함에 있어서, 관련 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 수 있다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별 기호에 해당하다.In describing the embodiments, if it is determined that detailed descriptions of related known technologies may unnecessarily obscure the gist of the present disclosure, the detailed descriptions may be omitted. In addition, numbers (eg, first, second, etc.) used in the description of the specification correspond to identification symbols for distinguishing one component from another component.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 "a", "b", "c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.In 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.
본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다"거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 접속될 수도 있다.In the present disclosure, when a component is referred to as “connected” or “connected” to another component, the component may be directly connected or directly connected to the other component, but in particular, the contrary is not specified. Unless a base material exists, it may be connected or connected through another component in the middle.
본 개시에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있다.In the present disclosure, components expressed as '~unit (unit)', 'module', etc. are two or more components combined into one component, or one component divided into two or more for more detailed functions. It could be. Each of the components described below may additionally perform some or all of the functions performed by other components in addition to the main functions that each component is responsible for, and some of the main functions performed by each component may be performed by other components. It may also be carried out in full charge by .
본 개시에서, '영상(image)'은 정지 영상, 픽처, 프레임, 복수의 연속된 정지 영상으로 구성된 동영상, 또는 비디오를 나타낼 수 있다.In this disclosure, 'image' may refer to a still image, a picture, a frame, a moving image composed of a plurality of consecutive still images, or a video.
본 개시에서 '신경망(neural network)'은 뇌 신경을 모사한 인공 신경망 모델의 대표적인 예시로서, 특정 알고리즘을 사용한 인공 신경망 모델로 한정되지 않는다. 신경망은 심층 신경망(deep neural network)으로 참조될 수도 있다.In this disclosure, '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.
본 개시에서 '파라미터(parameter)'는 신경망을 이루는 각 레이어의 연산 과정에서 이용되는 값으로서, 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용될 수 있다. 파라미터는 훈련의 결과로 설정되는 값으로서, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.In the present disclosure, 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.
본 개시에서 '특징 데이터'는 신경망 또는 신경망 기반의 인코더가 입력 데이터를 처리함으로써 획득되는 데이터를 의미할 수 있다. 특징 데이터는 여러 샘플들을 포함하는 1차원 또는 2차원의 데이터일 수 있다. 특징 데이터는 잠재 표현(latent representation)으로 참조될 수도 있다. 특징 데이터는 신경망 기반의 디코더가 출력하는 데이터에 잠재된 특징을 나타낼 수 있다.In the present disclosure, '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 including several samples. Feature data may also be referred to as a latent representation. Feature data may represent potential features in data output by a neural network-based decoder.
본 개시에서 '현재 영상'은 현재의 처리 대상인 영상을 의미하고, '이전 영상'은 현재 영상 이전의 처리 대상인 영상을 의미한다. '현재 영상' 또는 '이전 영상'은 현재 영상 또는 이전 영상으로부터 분할된 블록일 수도 있다.In this disclosure, 'current image' refers to an image that is currently the subject of processing, and 'previous image' refers to an image that is the subject of processing before the current image. The 'current video' or 'previous video' may be a block divided from the current video or the previous video.
본 개시에서, '샘플'은 영상, 특징 데이터, 확률 데이터 또는 양자화 데이터 등의 1차원 또는 2차원 데이터 내 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미한다. 예를 들어, 샘플은 2차원의 영상 내 픽셀을 포함할 수 있다. 2차원의 데이터는 '맵'으로 참조될 수도 있다.In the present disclosure, 'sample' refers to data that is assigned to a sampling position within one-dimensional or two-dimensional data such as images, feature data, probability data, or quantization data and is subject to processing. For example, a sample may include pixels in a two-dimensional image. Two-dimensional data may also be referred to as a 'map'.
AI 기반의 엔드-투-엔드 부호화/복호화 시스템이란, 영상의 부호화 과정 및 복호화 과정에서 신경망이 이용되는 시스템으로 이해될 수 있다. An AI-based end-to-end encoding/decoding system can be understood as a system in which a neural network is used in the video encoding and decoding process.
HEVC, VVC 등의 코덱과 같이, AI 기반의 엔드-투-엔드 부호화/복호화 시스템에서는 영상의 부호화 및 복호화를 위해 인트라 예측 또는 인터 예측이 이용될 수 있다.Like codecs such as HEVC and VVC, intra prediction or inter prediction can be used to encode and decode images in an AI-based end-to-end encoding/decoding system.
전술한 바와 같이, 인트라 예측은 영상 내의 공간적인 중복성을 제거하여 영상을 압축하는 방법이고, 인터 예측은 영상들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 방법이다.As described above, intra prediction is a method of compressing an image by removing spatial redundancy within the image, and inter prediction is a method of compressing an image by removing temporal redundancy between images.
일 실시예에서, 여러 프레임들 중 첫 번째 프레임, 랜덤 엑세스 포인트(random access point)가 되는 프레임 및 씬 체인지(scene change)가 발생하는 프레임에 대해 인트라 예측이 적용될 수 있다. In one embodiment, intra prediction may be applied to the first frame among several frames, a frame that serves as a random access point, and a frame in which a scene change occurs.
일 실시예에서, 여러 프레임들 중 인트라 예측이 적용되는 프레임에 후속하는 프레임들에 대해 인터 예측이 적용될 수 있다.In one embodiment, inter prediction may be applied to frames that follow a frame to which intra prediction is applied among several frames.
도 1 및 도 2를 참조하여, 일 실시예에 따른 AI 기반의 엔드-투-엔드 부호화/복호화 시스템에 의해 수행되는 인트라 예측 및 인터 예측에 대해 설명한다.With reference to FIGS. 1 and 2 , intra prediction and inter prediction performed by an AI-based end-to-end encoding/decoding system according to an embodiment will be described.
도 1은 일 실시예에 따른 인트라 예측에 기반한 현재 영상(100)의 부호화 및 복호화 과정을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating the encoding and decoding process of a
인트라 예측에서는 영상 인코더(12) 및 영상 디코더(14)가 이용될 수 있다. 영상 인코더(12) 및 영상 디코더(14)는 신경망으로 구현될 수 있다.In intra prediction, the
영상 인코더(12)는 훈련을 통해 설정된 파라미터에 따라 현재 영상(100)을 처리하여 현재 영상(100)에 대한 특징 데이터(k)를 출력할 수 있다.The
현재 영상(100)의 특징 데이터(k)에 대해 양자화(22) 및 엔트로피 부호화(32)가 적용됨으로써 비트스트림이 생성되고, 비트스트림은 영상 부호화 장치로부터 영상 복호화 장치로 전달될 수 있다.A bitstream is generated by applying
비트스트림에 대해 엔트로피 복호화(34) 및 역양자화(24)가 적용되어 복원된 특징 데이터(k')가 획득되고, 복원된 특징 데이터(k')가 영상 디코더(14)로 입력될 수 있다.
영상 디코더(14)는 훈련을 통해 설정된 파라미터에 따라 특징 데이터(k')를 처리하여 현재 복원 영상(300)을 출력할 수 있다.The
인트라 예측에서는 현재 영상(100) 내의 공간적 특징이 고려되므로, 도 2에 도시된 인터 예측과 달리 현재 영상(100)만이 영상 인코더(12)로 입력될 수 있다.Since spatial features within the
도 2는 일 실시예에 따른 인터 예측에 기반한 현재 영상(100)의 부호화 및 복호화 과정을 설명하기 위한 도면이다.FIG. 2 is a diagram illustrating the encoding and decoding process of the
인터 예측에서는 옵티컬 플로우 인코더(42), 옵티컬 플로우 디코더(44), 잔차 인코더(52) 및 잔차 디코더(54)가 이용될 수 있다.In inter prediction, the
옵티컬 플로우 인코더(42), 옵티컬 플로우 디코더(44), 잔차 인코더(52) 및 잔차 디코더(54)는 신경망으로 구현될 수 있다.The
옵티컬 플로우 인코더(42)와 옵티컬 플로우 디코더(44)는 현재 영상(100)과 이전 복원 영상(200)으로부터 옵티컬 플로우(g)를 추출하기 위한 신경망으로 이해될 수 있다.The
잔차 인코더(52)와 잔차 디코더(54)는 잔차 영상(r)의 부호화 및 복호화를 위한 신경망으로 이해될 수 있다.The
전술한 바와 같이, 인터 예측은 현재 영상(100)과 이전 복원 영상(200) 사이의 시간적 중복성을 이용하여 현재 영상(100)을 부호화 및 복호화하는 과정이다. 이전 복원 영상(200)은 현재 영상(100)의 처리 전에 처리 대상이었던 이전 영상에 대한 복호화를 통해 획득된 영상일 수 있다.As described above, inter prediction is a process of encoding and decoding the
현재 영상(100) 내 블록들 또는 샘플들과 이전 복원 영상(200) 내 참조 블록들 또는 참조 샘플들 사이의 위치 차이(또는 움직임 벡터)가 현재 영상(100)의 부호화 및 복호화에 이용될 수 있다. 이러한 위치 차이는 옵티컬 플로우로 참조될 수 있다. 옵티컬 플로우는 영상 내 샘플들 또는 블록들에 대응하는 움직임 벡터들의 집합으로 정의될 수도 있다.The position difference (or motion vector) between blocks or samples in the
옵티컬 플로우(g)는 이전 복원 영상(200) 내 샘플들의 위치가 현재 영상(100) 내에서 어떻게 변경되었는지, 또는 현재 영상(100)의 샘플들과 동일/유사한 샘플들이 이전 복원 영상(200) 내 어디에 위치하는지를 나타낼 수 있다.Optical flow (g) refers to how the positions of samples in the previous restored
예를 들어, 현재 영상(100) 내 (1, 1)에 위치한 샘플과 동일 또는 가장 유사한 샘플이 이전 복원 영상(200)에서 (2, 1)에 위치한다면, 해당 샘플에 대한 옵티컬 플로우(g) 또는 움직임 벡터는 (1(=2-1), 0(=1-1))으로 도출될 수 있다.For example, if the sample that is the same or most similar to the sample located at (1, 1) in the
현재 영상(100)의 부호화를 위해, 이전 복원 영상(200)과 현재 영상(100)이 옵티컬 플로우 인코더(42)로 입력될 수 있다. To encode the
옵티컬 플로우 인코더(42)는 훈련의 결과로 설정된 파라미터에 따라 현재 영상(100)과 이전 복원 영상(200)을 처리하여 옵티컬 플로우(g)의 특징 데이터(w)를 출력할 수 있다.The
도 1에서 설명한 바와 같이, 옵티컬 플로우(g)의 특징 데이터(w)에 대해 양자화(22) 및 엔트로피 부호화(32)가 적용되어 비트스트림이 생성되고, 비트스트림에 대해 엔트로피 복호화(34) 및 역양자화(24)가 적용되어 옵티컬 플로우(g)의 특징 데이터(w)가 복원될 수 있다.As described in FIG. 1,
옵티컬 플로우(g)의 특징 데이터(w)는 옵티컬 플로우 디코더(44)로 입력될 수 있다. 옵티컬 플로우 디코더(44)는 입력된 특징 데이터(w)를 훈련의 결과로 설정된 파라미터에 따라 처리하여 옵티컬 플로우(g)를 출력할 수 있다.The feature data (w) of the optical flow (g) may be input to the optical flow decoder (44). The
이전 복원 영상(200)은 옵티컬 플로우(g)에 기반한 워핑(60)을 통해 워핑되고(warped), 워핑(60)의 결과로 현재 예측 영상(x')이 획득될 수 있다. 워핑(60)이란, 영상 내 샘플들의 위치를 이동시키는 기하학적 변형의 한 종류이다.The previous restored
이전 복원 영상(200) 내 샘플들과 현재 영상(100) 내 샘플들 사이의 상대적인 위치 관계를 나타내는 옵티컬 플로우(g)에 따라 이전 복원 영상(200)에 대해 워핑(60)이 적용됨으로써 현재 영상(100)과 유사한 현재 예측 영상(x')이 획득될 수 있다.
예를 들어, 이전 복원 영상(200) 내 (1, 1)에 위치한 샘플이 현재 영상(100) 내 (2, 1)에 위치하는 샘플과 가장 유사하다면, 워핑(60)을 통해 이전 복원 영상(200) 내 (1, 1)에 위치한 샘플의 위치가 (2, 1)로 변경될 수 있다.For example, if the sample located at (1, 1) in the previous restored
이전 복원 영상(200)으로부터 생성된 현재 예측 영상(x')은 현재 영상(100) 자체가 아니므로, 현재 예측 영상(x')과 현재 영상(100) 사이의 잔차 영상(r)이 획득될 수 있다. Since the current predicted image (x') generated from the previous restored
예를 들어, 현재 영상(100) 내 샘플 값들로부터 현재 예측 영상(x') 내 샘플 값들을 차감함으로써 잔차 영상(r)이 획득될 수 있다.For example, the residual image (r) may be obtained by subtracting sample values in the current prediction image (x') from sample values in the current image (100).
잔차 영상(r)은 잔차 인코더(52)로 입력될 수 있다. 잔차 인코더(52)는 훈련의 결과로 설정된 파라미터에 따라 잔차 영상(r)을 처리하여 잔차 영상(r)의 특징 데이터(v)를 출력할 수 있다.The residual image r may be input to the
도 1에서 설명한 바와 같이, 잔차 영상(r)의 특징 데이터(v)에 대해 양자화(22) 및 엔트로피 부호화(32)가 적용되어 비트스트림이 생성되고, 비트스트림에 대해 엔트로피 복호화(34) 및 역양자화(24)가 적용되어 잔차 영상(r)의 특징 데이터(v)가 복원될 수 있다.As described in FIG. 1,
잔차 영상(r)의 특징 데이터(v)는 잔차 디코더(54)로 입력될 수 있다. 잔차 디코더(54)는 입력된 특징 데이터(v)를 훈련의 결과로 설정된 파라미터에 따라 처리하여 복원된 잔차 영상(r')을 출력할 수 있다.Feature data (v) of the residual image (r) may be input to the
현재 예측 영상(x')과 복원된 잔차 영상(r')이 결합됨으로써 현재 복원 영상(300)이 획득될 수 있다.The current
한편, 전술한 바와 같이, 현재 영상(100)의 특징 데이터(k), 옵티컬 플로우(g)의 특징 데이터(w) 및 잔차 영상(r)의 특징 데이터(v)에 대해, 엔트로피 부호화(32) 및 엔트로피 복호화(34)가 적용될 수 있다. 엔트로피 코딩은 심볼의 확률에 따라 심볼을 나타내는 코드의 평균 길이를 달리하는 부호화 방법이므로, 제 1 특징 데이터를 엔트로피 부호화(32) 및 엔트로피 복호화(34)하는데 있어 제 1 특징 데이터의 샘플들이 가질 수 있는 값의 확률들이 필요할 수 있다.Meanwhile, as described above,
일 실시예에서, 현재 영상(100)의 특징 데이터(k), 옵티컬 플로우(g)의 특징 데이터(w) 또는 잔차 영상(r)의 특징 데이터(v) 중 적어도 하나(이하, 제 1 특징 데이터)에 대한 엔트로피 부호화(32)/엔트로피 복호화(34)의 효율을 향상시키기 위해 신경망에 기반하여 확률 데이터가 획득될 수 있다.In one embodiment, at least one of the feature data (k) of the
확률 데이터는 1차원 또는 2차원의 데이터로서, 확률 데이터의 샘플은 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률을 나타낼 수 있다.Probability data is one-dimensional or two-dimensional data, and a sample of the probability data may represent the probability of a value that a sample of the first feature data may have.
일 실시예에서, 확률 데이터의 샘플 값들을 미리 결정된 확률 모델(예를 들어, 라플라시안 확률 모델 또는 가우시안 확률 모델 등)에 적용함으로써, 제 1 특징 데이터의 샘플들이 가질 수 있는 값의 확률들이 도출될 수 있다.In one embodiment, probabilities of values that samples of the first feature data may have can be derived by applying sample values of the probability data to a predetermined probability model (e.g., a Laplacian probability model or a Gaussian probability model, etc.). there is.
일 실시예에서, 확률 데이터는, 제 1 특징 데이터의 샘플에 대응하는 평균 및 표준 편차(또는 분산)를 샘플 값으로 포함할 수 있다.In one embodiment, the probability data may include a mean and standard deviation (or variance) corresponding to a sample of the first feature data as sample values.
신경망을 이용하여 확률 데이터를 획득하는 방법에 대해 도 3을 참조하여 설명한다.A method of acquiring probability data using a neural network will be described with reference to FIG. 3.
도 3은 일 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화에 이용되는 확률 데이터를 획득하는 방법을 설명하기 위한 도면이다.FIG. 3 is a diagram illustrating a method of obtaining probability data used for entropy encoding and entropy decoding according to an embodiment.
엔트로피 부호화(32)/엔트로피 복호화(34)에 이용되는 확률 데이터를 획득하는데 하이퍼프라이어(hyperprior) 인코더(310) 및 확률 신경망(330)이 이용될 수 있다.A
하이퍼프라이어 인코더(310)는 특징 데이터로부터 특징 데이터를 획득하기 위한 신경망일 수 있다.The
도 3을 참조하면, 제 1 특징 데이터가 하이퍼프라이어 인코더(310)로 입력되고, 하이퍼프라이어 인코더(310)는 훈련의 결과로 설정된 파라미터에 따라 제 1 특징 데이터를 처리하여 제 2 특징 데이터를 출력할 수 있다. Referring to FIG. 3, first feature data is input to the
제 2 특징 데이터는 제 1 특징 데이터에 잠재된 특징을 나타낼 수 있으므로, 하이퍼프라이어 특징 데이터로 참조될 수 있다.Since the second feature data may represent features latent in the first feature data, it may be referred to as hyperprior feature data.
제 2 특징 데이터는 확률 신경망(330)으로 입력되고, 확률 신경망(330)은 훈련의 결과로 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 확률 데이터를 출력할 수 있다.The second feature data is input to the probabilistic
확률 데이터는 도 1 및 도 2와 관련하여 설명한 엔트로피 부호화(32) 및 엔트로피 복호화(34)에 이용될 수 있다. Probability data can be used for
일 실시예에서, 현재 영상(100)의 부호화 과정에서는, 양자화된 제 1 특징 데이터, 예를 들어, 현재 영상(100)의 양자화된 특징 데이터, 옵티컬 플로우(g)의 양자화된 특징 데이터 또는 잔차 영상(r)의 양자화된 특징 데이터 중 적어도 하나에 대해 확률 데이터에 기반한 엔트로피 부호화(32)가 적용됨으로써 비트스트림이 획득될 수 있다.In one embodiment, in the encoding process of the
일 실시예에서, 현재 영상(100)의 복호화 과정에서는, 비트스트림에 포함된 비트들에 대해 확률 데이터에 기반한 엔트로피 복호화(34)가 적용됨으로써 양자화된 제 1 특징 데이터, 예를 들어, 현재 영상(100)의 양자화된 특징 데이터, 옵티컬 플로우(g)의 양자화된 특징 데이터 또는 잔차 영상(r)의 양자화된 특징 데이터 중 적어도 하나가 획득될 수 있다.In one embodiment, in the decoding process of the
도 3에 도시된 확률 데이터의 획득 과정은, 제 1 특징 데이터에 대한 양자화(22)와 역양자화(24)가 균일하게 이루어지는 경우에 유용할 수 있다. 왜냐하면, 제 1 특징 데이터에 잠재된 특징을 나타내는 제 2 특징 데이터로부터 획득된 확률 데이터는 양자화된 제 1 특징 데이터에도 그대로 적용될 수 있기 때문이다. The process of acquiring probability data shown in FIG. 3 may be useful when quantization (22) and dequantization (24) of the first feature data are performed uniformly. This is because the probability data obtained from the second feature data representing the latent feature in the first feature data can also be applied to the quantized first feature data.
양자화(22)와 역양자화(24)가 균일하게 이루어진다는 것은, 제 1 특징 데이터의 샘플들의 양자화(22) 및 역양자화(24)에 이용되는 양자화 스텝 사이즈가 모두 동일하다는 것을 의미할 수 있다. 예를 들어, 양자화 스텝 사이즈가 2인 경우, 제 1 특징 데이터의 샘플 값들 모두를 2로 나누고, 그 결과 값을 라운딩(rounding)함으로써 제 1 특징 데이터가 양자화될 수 있다. 또한, 양자화된 제 1 특징 데이터의 샘플 값들 모두에 2를 곱함으로써 양자화된 제 1 특징 데이터가 역양자화될 수 있다.That quantization (22) and dequantization (24) are performed uniformly may mean that the quantization step sizes used for quantization (22) and inverse quantization (24) of samples of the first feature data are all the same. For example, when the quantization step size is 2, the first feature data may be quantized by dividing all sample values of the first feature data by 2 and rounding the resulting values. Additionally, the quantized first feature data may be dequantized by multiplying all sample values of the quantized first feature data by 2.
하나의 양자화 스텝 사이즈에 기반하여 양자화(22)가 수행되는 경우, 양자화(22) 전의 제 1 특징 데이터의 샘플 값들의 분포가 양자화(22) 후의 제 1 특징 데이터에서도 유사하게 유지될 수 있다. 왜냐하면, 제 1 특징 데이터의 샘플 값들이 모두 동일한 값에 기반하여 나눠지고, 라운딩(rounding)되기 때문이다. 즉, 양자화(22) 전의 제 1 특징 데이터의 샘플 값들의 분포가 양자화(22) 후의 제 1 특징 데이터에서도 그대로 유지되므로, 제 2 특징 데이터로부터 획득된 확률 데이터가 양자화된 제 1 특징 데이터에도 그대로 적용될 수 있는 것이다.When
균일 양자화 및 균일 역양자화는 제 1 특징 데이터의 샘플 값들이 라플라시안 분포를 따르는 경우에 유용할 수 있다. 그러나, 제 1 특징 데이터의 샘플 값들의 분포는 영상의 특징에 따라 달라질 수 있으므로 균일 양자화 및 균일 역양자화에는 어느 정도의 한계가 존재할 수 있다.Uniform quantization and uniform inverse quantization may be useful when sample values of the first feature data follow a Laplacian distribution. However, since the distribution of sample values of the first feature data may vary depending on the characteristics of the image, there may be some limitations to uniform quantization and uniform inverse quantization.
일 실시예에서는, 양자화(22)의 대상이 되는 제 1 특징 데이터의 하이퍼프라이어 특징 데이터로부터 신경망 기반으로 양자화(22)와 관련된 데이터, 예를 들어, 양자화 스텝 사이즈를 획득함으로써 양자화(22) 및 역양자화(24)의 효율을 향상시킬 수 있다.In one embodiment,
도 4는 일 실시예에 따른 양자화(22) 및 역양자화(24)에 이용되는 양자화 데이터와, 엔트로피 부호화(32) 및 엔트로피 복호화(34)에 이용되는 수정된 확률 데이터를 획득하는 방법을 설명하기 위한 도면이다.Figure 4 illustrates a method of obtaining quantization data used for quantization (22) and dequantization (24) and modified probability data used for entropy encoding (32) and entropy decoding (34) according to an embodiment. This is a drawing for
도 4를 참조하면, 제 1 특징 데이터가 하이퍼프라이어 인코더(310)로 입력되고, 하이퍼프라이어 인코더(310)는 훈련의 결과로 설정된 파라미터에 따라 제 1 특징 데이터를 처리하여 제 2 특징 데이터를 출력할 수 있다.Referring to FIG. 4, first feature data is input to the
제 2 특징 데이터는 신경망(410)으로 입력될 수 있다. 신경망(410)은 훈련의 결과로 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 확률 데이터와 양자화 데이터를 출력할 수 있다.The second feature data may be input to the
양자화 데이터는 양자화 스텝 사이즈 또는 양자화 파라미터를 샘플 값으로 포함할 수 있다.Quantization data may include a quantization step size or quantization parameter as a sample value.
양자화 스텝 사이즈는 샘플의 양자화(22)에 이용되는 값으로서, 샘플 값을 양자화 스텝 사이즈로 나누고, 나눈 결과를 라운딩함으로써 샘플 값이 양자화될 수 있다. 반대로, 양자화된 샘플 값에 양자화 스텝 사이즈를 곱함으로써 양자화된 샘플 값이 역양자화될 수 있다.The quantization step size is a value used for
양자화 스텝 사이즈는 아래 수학식 1로 근사화될 수 있다.The quantization step size can be approximated by
[수학식 1][Equation 1]
양자화 스텝 사이즈 = 2^(양자화 파라미터/n) / 양자화 스케일[양자화 파라미터%n]Quantization step size = 2^(quantization parameter/n) / quantization scale[quantization parameter%n]
수학식 1에서, 양자화 스케일[양자화 파라미터%n]는 미리 결정된 n개의 스케일 값들 중 양자화 파라미터가 가리키는 스케일 값을 나타낸다. HEVC 코덱에서는 6개의 스케일 값(26214, 23302, 20560, 18396, 16384 및 14564)을 정의하고 있으므로, HEVC 코덱에 의하면 n은 6이다.In
일 실시예에서, 양자화 데이터가 양자화 파라미터를 샘플로 포함하고 있는 경우, 제 1 특징 데이터의 양자화(22) 및 역양자화(24)를 위해 양자화 파라미터로부터 양자화 스텝 사이즈가 획득될 수 있다. 예를 들어, 양자화 스텝 사이즈의 도출을 위해 전술한 수학식 1이 이용될 수 있다.In one embodiment, when the quantization data includes a quantization parameter as a sample, the quantization step size may be obtained from the quantization parameter for quantization (22) and dequantization (24) of the first feature data. For example,
양자화 데이터로부터 양자화 스텝 사이즈가 획득되면, 제 1 특징 데이터의 샘플들은 양자화 스텝 사이즈에 따라 양자화되고, 양자화된 제 1 특징 데이터의 샘플들은 양자화 스텝 사이즈에 따라 역양자화될 수 있다.When the quantization step size is obtained from the quantization data, samples of the first feature data may be quantized according to the quantization step size, and samples of the quantized first feature data may be dequantized according to the quantization step size.
일 실시예에서는, 도 18을 참조하여 후술하는 훈련 과정을 통해 훈련된 신경망(410)으로부터 제 1 특징 데이터의 샘플들에 대한 양자화 스텝 사이즈가 샘플별로 적응적으로 획득되므로, 균일 양자화 및 균일 역양자화에 비해 적은 비트레이트로 높은 퀄리티의 현재 복원 영상(300)을 획득할 수 있다.In one embodiment, the quantization step size for samples of the first feature data is adaptively obtained for each sample from the trained
도 4에 도시된 과정을 통해 획득된 양자화 데이터에 따라 제 1 특징 데이터가 양자화됨으로써 양자화(22) 전의 제 1 특징 데이터의 샘플 값들의 분포와 양자화(22) 후의 제 1 특징 데이터의 샘플 값들의 분포가 달라질 수 있다. 따라서, 전술한 균일 양자화 및 균일 역양자화에 적합한 확률 데이터를 수정하여야 할 필요가 발생할 수 있다.The first feature data is quantized according to the quantization data obtained through the process shown in FIG. 4, so that the distribution of sample values of the first feature data before quantization (22) and the distribution of sample values of the first feature data after quantization (22) may vary. Accordingly, there may be a need to modify probability data suitable for the above-described uniform quantization and uniform inverse quantization.
일 실시예에서, 신경망(410)으로부터 출력된 확률 데이터에 대해 양자화 데이터에 기반한 수정 과정(430)이 적용됨으로써 수정된 확률 데이터가 획득될 수 있다. 양자화된 제 1 특징 데이터에 대한 엔트로피 부호화(32)와 비트스트림에 대한 엔트로피 복호화(34)에 수정된 확률 데이터가 이용될 수 있다.In one embodiment, corrected probability data may be obtained by applying a
확률 데이터를 수정하는 방법에 대해서는 도 9 내지 도 12를 참조하여 후술한다.A method for modifying probability data will be described later with reference to FIGS. 9 to 12.
도 4와 관련하여 설명한 실시예에서는, 양자화(22) 및 엔트로피 부호화(32)의 대상이 되는 제 1 특징 데이터의 잠재적 특징에 해당하는 제 2 특징 데이터로부터 양자화 데이터와 확률 데이터가 획득되고, 양자화 데이터에 따라 확률 데이터가 수정되므로, 순차적으로 수행되는 양자화(22) 및 엔트로피 부호화(32)의 효율이 향상될 수 있다.In the embodiment described in relation to FIG. 4, quantization data and probability data are obtained from second feature data corresponding to potential features of the first feature data that are subject to
도 5는 일 실시예에 따른 영상 복호화 장치(500)의 구성을 도시하는 도면이다.FIG. 5 is a diagram illustrating the configuration of an
도 5를 참조하면, 일 실시예에 따른 영상 복호화 장치(500)는 획득부(510) 및 예측 복호화부(530)를 포함할 수 있다.Referring to FIG. 5 , the
획득부(510) 및 예측 복호화부(530)는 적어도 하나의 프로세서로 구현될 수 있다. 획득부(510) 및 예측 복호화부(530)는 메모리(미도시)에 저장된 적어도 하나의 인스트럭션에 따라 동작할 수 있다.The
도 5는 획득부(510) 및 예측 복호화부(530)를 개별적으로 도시하고 있으나, 획득부(510) 및 예측 복호화부(530)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 획득부(510) 및 예측 복호화부(530)는 전용 프로세서로 구현될 수도 있고, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.Figure 5 shows the
획득부(510) 및 예측 복호화부(530)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 획득부(510) 및 예측 복호화부(530)는 전용 프로세서들의 조합으로 구현될 수도 있고, AP, CPU, 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다.The
획득부(510)는 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 생성된 비트스트림을 획득할 수 있다. 비트스트림은 도 1과 관련하여 설명한 인트라 예측 또는 도 2와 관련하여 설명한 인터 예측을 통해 생성될 수 있다.The
획득부(510)는 영상 부호화 장치(1400)로부터 네트워크를 통해 비트스트림을 수신할 수 있다. 일 실시예에서, 획득부(510)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium) 등을 포함하는 데이터 저장 매체로부터 비트스트림을 획득할 수도 있다.The
획득부(510)는 비트스트림으로부터 역양자화된 제 1 특징 데이터를 획득할 수 있다. The
제 1 특징 데이터는 영상 인코더(12)로부터 출력되는 현재 영상(100)의 특징 데이터(k), 옵티컬 플로우 인코더(42)로부터 출력되는 옵티컬 플로우(g)의 특징 데이터(w) 또는 잔차 인코더(52)로부터 출력되는 잔차 영상(r)의 특징 데이터(v) 중 적어도 하나를 포함할 수 있다.The first feature data is feature data (k) of the
일 실시예에서, 획득부(510)는 비트스트림으로부터 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득하고, 제 2 특징 데이터를 이용하여 수정된 확률 데이터와 양자화 데이터를 획득할 수 있다. 그리고, 획득부(510)는 비트스트림에 포함된 비트들에 대한 엔트로피 복호화와 역양자화를 통해 역양자화된 제 1 특징 데이터를 획득할 수 있다.In one embodiment, the
역양자화된 제 1 특징 데이터는 예측 복호화부(530)로 전달되고, 예측 복호화부(530)는 역양자화된 제 1 특징 데이터를 신경망에 적용하여 현재 복원 영상(300)을 획득할 수 있다. 현재 복원 영상(300)은 재생을 위해 디스플레이 장치로 출력될 수 있다.The dequantized first feature data is transmitted to the
일 실시예에서, 예측 복호화부(530)는 역양자화된 제 1 특징 데이터를 영상 디코더(14)에 적용하여 현재 복원 영상(300)을 획득할 수 있다. 이 경우, 예측 복호화부(530)는 인트라 예측을 통해 현재 영상(100)을 복원하는 것으로 이해될 수 있다.In one embodiment, the
일 실시예에서, 예측 복호화부(530)는 역양자화된 제 1 특징 데이터, 예를 들어, 옵티컬 플로우(g)의 역양자화된 특징 데이터를 옵티컬 플로우 디코더(44)에 적용하여 옵티컬 플로우(g)를 획득할 수 있다. 그리고, 예측 복호화부(530)는 잔차 영상(r)의 역양자화된 특징 데이터를 잔차 디코더(54)에 적용하여 복원된 잔차 영상(r')을 획득할 수 있다. 예측 복호화부(530)는 옵티컬 플로우(g)에 기초하여 이전 복원 영상(200)으로부터 획득된 현재 예측 영상(x')과 복원된 잔차 영상(r')을 결합하여 현재 복원 영상(300)을 획득할 수 있다. 이 경우, 예측 복호화부(530)는 인터 예측을 통해 현재 영상(100)을 복원하는 것으로 이해될 수 있다.In one embodiment, the
도 6은 일 실시예에 따른 획득부(510)의 구성을 도시하는 도면이다.FIG. 6 is a diagram illustrating the configuration of the
도 6을 참조하면, 획득부(510)는 엔트로피 복호화부(610), 역양자화부(630) 및 AI 제어부(650)를 포함할 수 있다.Referring to FIG. 6, the
비트스트림이 엔트로피 복호화부(610)로 입력되고, 엔트로피 복호화부(610)는 비트스트림에 포함된 비트들에 대해 엔트로피 복호화를 적용하여 양자화된 제 2 특징 데이터를 획득할 수 있다.The bitstream is input to the
후술하는 바와 같이, 제 2 특징 데이터는 제 1 특징 데이터가 하이퍼프라이어 인코더(310)에 의해 처리됨으로써 획득되는 데이터일 수 있다. 영상 부호화 장치(1400)는 제 2 특징 데이터를 양자화하고, 양자화된 제 2 특징 데이터를 엔트로피 부호화하여 양자화된 제 2 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성할 수 있다.As will be described later, the second feature data may be data obtained by processing the first feature data by the
일 실시예에서, 제 2 특징 데이터에 대해 양자화가 적용되지 않을 수도 있다. 이 경우, 엔트로피 복호화부(610)는 비트스트림에 포함된 비트들에 대해 엔트로피 복호화를 적용하여 제 2 특징 데이터를 획득하고, 획득한 제 2 특징 데이터를 AI 제어부(650)로 전달할 수 있다.In one embodiment, quantization may not be applied to the second feature data. In this case, the
양자화된 제 2 특징 데이터는 역양자화부(630)로 전달될 수 있다. 역양자화부(630)는 양자화된 제 2 특징 데이터를 역양자화하고, 역양자화된 제 2 특징 데이터를 AI 제어부(650)로 전달할 수 있다.The quantized second feature data may be transmitted to the
일 실시예에서, 엔트로피 복호화부(610)에 의해 획득된 양자화된 제 2 특징 데이터가 엔트로피 복호화부(610)로부터 AI 제어부(650)로 제공될 수도 있다. 이는, 양자화된 제 2 특징 데이터에 대해 역양자화가 스킵(skip)된다는 것을 의미한다.In one embodiment, the quantized second feature data obtained by the
일 실시예에서, 엔트로피 복호화부(610)는 제 2 특징 데이터(양자화되지 않은 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터)를 비트스트림으로부터 획득하기 위해, 미리 결정된 확률 데이터를 이용할 수 있다. In one embodiment, the
제 2 특징 데이터를 획득하는데 이용되는 확률 데이터는, 룰(rule) 기반으로 결정될 수 있다. 예를 들어, 엔트로피 복호화부(610)는 신경망을 이용하지 않고, 미리 정의된 규칙에 따라 제 2 특징 데이터를 획득하는데 이용되는 확률 데이터를 결정할 수 있다.Probability data used to obtain the second feature data may be determined based on a rule. For example, the
일 실시예에서, 엔트로피 복호화부(610)는 제 2 특징 데이터를 획득하는데 이용되는 확률 데이터를 미리 훈련된 신경망에 기반하여 획득할 수도 있다.In one embodiment, the
일 실시예에서, 역양자화부(630)는 양자화된 제 2 특징 데이터를 역양자화하기 위해 미리 결정된 양자화 데이터를 이용할 수 있다. In one embodiment, the
제 2 특징 데이터를 획득하는데 이용되는 양자화 데이터는, 룰 기반으로 결정될 수 있다. 예를 들어, 역양자화부(630)는 신경망을 이용하지 않고, 미리 정의된 규칙에 따라 양자화된 제 2 특징 데이터를 역양자화하는데 이용되는 양자화 데이터를 결정할 수 있다. 예를 들어, 역양자화부(630)는 양자화된 제 2 특징 데이터를 미리 결정된 양자화 스텝 사이즈에 따라 역양자화할 수 있다.Quantization data used to obtain the second feature data may be determined based on a rule. For example, the
일 실시예에서, 역양자화부(630)는 양자화된 제 2 특징 데이터의 샘플 값들을 동일한 양자화 스텝 사이즈에 따라 역양자화할 수 있다.In one embodiment, the
일 실시예에서, 역양자화부(630)는 양자화된 제 2 특징 데이터를 역양자화하는데 이용되는 양자화 데이터를 미리 훈련된 신경망에 기반하여 획득할 수도 있다. In one embodiment, the
AI 제어부(650)는 제 2 특징 데이터, 구체적으로 양자화되지 않은 제 2 특징 데이터, 양자화된 제 2 특징 데이터 또는 역양자화된 제 2 특징 데이터를 이용하여 수정된 확률 데이터와 양자화 데이터를 획득할 수 있다.The
일 실시예에서, AI 제어부(650)는 수정된 확률 데이터와 양자화 데이터를 획득하는데 신경망을 이용할 수 있다.In one embodiment, the
수정된 확률 데이터는 엔트로피 복호화부(610)로 전달되고, 양자화 데이터는 역양자화부(630)로 전달될 수 있다.The modified probability data may be transmitted to the
엔트로피 복호화부(610)는 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득할 수 있다. 양자화된 제 1 특징 데이터는 역양자화부(630)로 전달될 수 있다.The
역양자화부(630)는 AI 제어부(650)로부터 전달된 양자화 데이터에 기초하여, 양자화된 제 1 특징 데이터를 역양자화하고, 역양자화된 제 1 특징 데이터를 예측 복호화부(530)로 전달할 수 있다.The
도 7을 참조하여 AI 제어부(650)의 동작에 대해 좀더 상세히 설명한다.Referring to FIG. 7, the operation of the
도 7은 일 실시예에 따른 AI 제어부(650)의 동작을 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining the operation of the
AI 제어부(650)는 확률 데이터와 양자화 데이터를 획득하기 위해 확률 신경망(330)과 양자화 신경망(350)을 이용할 수 있다.The
확률 신경망(330)과 양자화 신경망(350)은 메모리에 저장될 수 있다. 일 실시예에서, 확률 신경망(330)과 양자화 신경망(350)은 AI 프로세서로 구현될 수도 있다.The probabilistic
제 2 특징 데이터(구체적으로, 양자화되지 않은 제 2 특징 데이터, 양자화된 제 2 특징 데이터 또는 역양자화된 제 2 특징 데이터)는 확률 신경망(330)과 양자화 신경망(350)으로 입력될 수 있다.Second feature data (specifically, unquantized second feature data, quantized second feature data, or dequantized second feature data) may be input to the probabilistic
확률 신경망(330)은 훈련의 결과로 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 확률 데이터를 출력할 수 있다. The probability
양자화 신경망(350)은 훈련의 결과로 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 양자화 데이터를 출력할 수 있다.The quantization
앞서 도 4와 관련하여 설명한 바와 같이, 제 2 특징 데이터가 하나의 신경망(410)에 의해 처리됨으로써 확률 데이터와 양자화 데이터가 출력될 수 있다.As previously described in relation to FIG. 4 , probability data and quantization data may be output by processing the second feature data by one
양자화 데이터는 양자화 파라미터 또는 양자화 스텝 사이즈를 포함할 수 있고, 확률 데이터는 제 1 특징 데이터의 샘플들이 가질 수 있는 값들의 확률들을 나타내는 값들을 포함할 수 있다. 일 실시예에서, 확률 데이터는 제 1 특징 데이터의 각 샘플에 대한 평균, 표준 편차 및/또는 분산을 샘플로 포함할 수 있다.Quantization data may include a quantization parameter or a quantization step size, and probability data may include values representing probabilities of values that samples of the first feature data may have. In one embodiment, the probability data may include a mean, standard deviation, and/or variance for each sample of the first feature data.
일 실시예에서, 확률 데이터 및 양자화 데이터의 크기 또는 샘플 수는 제 1 특징 데이터의 크기 또는 샘플 수와 동일할 수 있다.In one embodiment, the size or number of samples of the probability data and quantization data may be the same as the size or number of samples of the first feature data.
전술한 바와 같이, 양자화 데이터에 기반한 적응적 양자화를 통해 제 1 특징 데이터의 샘플 값들의 분포가 변경될 수 있으므로, 확률 데이터는 양자화 데이터에 기반한 수정 과정(400)을 통해 수정될 수 있다.As described above, since the distribution of sample values of the first feature data can be changed through adaptive quantization based on quantization data, the probability data can be modified through a correction process 400 based on quantization data.
일 실시예에서, AI 제어부(650)는 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나눠 수정된 확률 데이터를 획득할 수 있다. 여기서, 나누기는 하나의 예시로서, 일 실시예에서, AI 제어부(650)는 확률 데이터의 샘플 값들에 양자화 데이터의 샘플 값들 또는 양자화 데이터의 샘플 값들로부터 도출되는 값들을 곱하여 수정된 확률 데이터를 획득할 수도 있다. In one embodiment, the
일 실시예에서, AI 제어부(650)는 확률 데이터의 샘플 값들에 대한 나누기 연산 또는 곱셈 연산을 위해 비트 쉬프트 연산을 이용할 수도 있다.In one embodiment, the
일 실시예에서, 수정 과정(430)은 신경망에 기반하여 수행될 수도 있다. 예를 들어, 확률 데이터와 양자화 데이터가 수정 과정(430)을 위한 신경망에 적용됨으로써 수정된 확률 데이터가 획득될 수 있다.In one embodiment, the
AI 제어부(650)는 수정된 확률 데이터를 엔트로피 복호화부(610)로 전달하고, 양자화 데이터를 역양자화부(630)로 전달할 수 있다.The
엔트로피 복호화부(610)는 비트스트림의 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득할 수 있다. 역양자화부(630)는 양자화된 제 1 특징 데이터를 양자화 데이터에 따라 역양자화하여 역양자화된 제 1 특징 데이터를 획득할 수 있다.The
도 7에 도시된 확률 신경망(330), 양자화 신경망(350), 수정 과정을 위한 신경망 및 전술한 하이퍼프라이어 인코더(310)의 예시적인 구조에 대해 도 8을 참조하여 설명한다.Exemplary structures of the probabilistic
도 8은 일 실시예에 따른 신경망(800)의 구조를 도시하는 도면이다.FIG. 8 is a diagram illustrating the structure of a
도 8에 도시된 바와 같이, 입력 데이터(805)는 제 1 컨볼루션 레이어(810)로 입력될 수 있다. 제 1 컨볼루션 레이어(810)에 표시된 3X3X4는 3x3의 크기의 4개의 필터 커널을 이용하여 입력 데이터(805)에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 4개의 필터 커널에 의해 4개의 특징 데이터가 생성될 수 있다.As shown in FIG. 8,
일 실시예에서, 신경망(800)이 수정 과정을 위한 신경망에 해당한다면, 입력 데이터(805)는 2개 채널의 데이터, 즉, 확률 데이터와 양자화 데이터를 포함할 수 있다.In one embodiment, if the
일 실시예에서, 신경망(800)이 확률 신경망(330) 또는 양자화 신경망(350)에 해당한다면, 입력 데이터(805)는 제 2 특징 데이터를 포함할 수 있다.In one embodiment, if the
일 실시예에서, 신경망(800)이 하이퍼프라이어 인코더(310)에 해당한다면, 입력 데이터(805)는 제 1 특징 데이터를 포함할 수 있다.In one embodiment, if the
제 1 컨볼루션 레이어(810)에 의해 생성된 특징 데이터들은 입력 데이터(805)의 고유한 특성들을 나타낼 수 있다. 예를 들어, 각 특징 데이터는 입력 데이터(805)의 수직 방향 특성, 수평 방향 특성 또는 에지 특성 등을 나타낼 수 있다.Feature data generated by the first
제 1 컨볼루션 레이어(810)의 특징 데이터들은 제 1 활성화 레이어(820)로 입력될 수 있다. Feature data of the first
제 1 활성화 레이어(820)는 각각의 특징 데이터에 대해 비선형(Non-linear) 특성을 부여할 수 있다. 제 1 활성화 레이어(820)는 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.The
제 1 활성화 레이어(820)에서 비선형 특성을 부여하는 것은, 특징 데이터의 일부 샘플 값을 변경하여 출력하는 것을 의미할 수 있다. 이때, 변경은 비선형 특성을 적용하여 수행될 수 있다.Giving nonlinear characteristics in the
제 1 활성화 레이어(820)는 특징 데이터의 샘플 값들을 제 2 컨볼루션 레이어(830)로 전달할지 여부를 결정할 수 있다. 예를 들어, 특징 데이터의 샘플 값들 중 어떤 샘플 값들은 제 1 활성화 레이어(820)에 의해 활성화되어 제 2 컨볼루션 레이어(830)로 전달되고, 어떤 샘플 값들은 제 1 활성화 레이어(820)에 의해 비활성화되어 제 2 컨볼루션 레이어(830)로 전달되지 않을 수 있다. 특징 데이터들이 나타내는 입력 데이터(805)의 고유 특성이 제 1 활성화 레이어(820)에 의해 강조될 수 있다.The
제 1 활성화 레이어(820)에서 출력된 특징 데이터들은 제 2 컨볼루션 레이어(830)로 입력될 수 있다. 제 2 컨볼루션 레이어(830)에 표시된 3X3X4는 3x3의 크기의 4개의 필터 커널을 이용하여 입력된 특징 데이터들에 대해 컨볼루션 처리하는 것을 예시한다. Feature data output from the
제 2 컨볼루션 레이어(830)의 출력은 제 2 활성화 레이어(840)로 입력될 수 있다. 제 2 활성화 레이어(840)는 입력된 특징 데이터들에 대해 비선형 특성을 부여할 수 있다.The output of the
제 2 활성화 레이어(840)에서 출력된 특징 데이터들은 제 3 컨볼루션 레이어(850)로 입력될 수 있다. 제 3 컨볼루션 레이어(850)에 표시된 3X3X1은 3x3의 크기의 1개의 필터 커널을 이용하여 1개의 출력 데이터(855)를 만들기 위해 컨볼루션 처리를 하는 것을 예시한다.Feature data output from the
출력 데이터(855)는 신경망(800)이 하이퍼프라이어 인코더(310), 확률 신경망(330), 양자화 신경망(350) 및 수정 과정을 위한 신경망 중 어느 것인지 따라 달라진다.The
일 예로, 신경망(800)이 확률 신경망(330)인 경우, 출력 데이터(855)는 확률 데이터이고, 신경망(800)이 양자화 신경망(350)인 경우, 출력 데이터(855)는 양자화 데이터일 수 있다. For example, if the
일 실시예에서, 제 3 컨볼루션 레이어(850)에서 이용되는 필터 커널의 개수의 조절을 통해 출력 데이터(855)의 개수가 조절될 수 있다. In one embodiment, the number of
예를 들어, 신경망(800)이 확률 신경망(330)이고, 확률 데이터가 후술하는 평균 데이터와 표준 편차 데이터를 포함하는 경우, 제 3 컨볼루션 레이어(850)에서 2개 채널의 데이터가 출력될 수 있도록 2개의 필터 커널이 이용될 수 있다.For example, if the
또한, 예를 들어, 신경망(800)이 확률 신경망(330)이고, 확률 데이터가 후술하는 평균 데이터와 표준 편차 데이터를 포함하고, 제 1 특징 데이터의 채널 수가 M개라면, M개의 평균 데이터와 M개의 표준 편차 데이터가 출력될 수 있도록 2M개의 필터 커널이 제 3 컨볼루션 레이어(850)에서 이용될 수 있다.Additionally, for example, if the
또한, 예를 들어, 신경망(800)이 양자화 신경망(350)이고, 제 1 특징 데이터의 채널 수가 M개라면, M개의 양자화 데이터가 출력될 수 있도록 M개의 필터 커널이 제 3 컨볼루션 레이어(850)에서 이용될 수 있다.In addition, for example, if the
도 8은 신경망(800)이 세 개의 컨볼루션 레이어(제 1 컨볼루션 레이어(810), 제 2 컨볼루션 레이어(830) 및 제 3 컨볼루션 레이어(850))와 두 개의 활성화 레이어(제 1 활성화 레이어(820) 및 제 2 활성화 레이어(840))를 포함하고 있는 것으로 도시하고 있으나, 이는 하나의 예시일 뿐이며, 일 실시예에서, 신경망(800)에 포함된 컨볼루션 레이어 및 활성화 레이어의 개수는 다양하게 변경될 수 있다. Figure 8 shows that the
일 실시예에서, 신경망(800)에 포함된 컨볼루션 레이어들에서 이용되는 필터 커널의 크기 및 개수도 다양하게 변경될 수 있다.In one embodiment, the size and number of filter kernels used in convolutional layers included in the
일 실시예에서, 신경망(800)은 RNN(recurrent neural network)을 통해 구현될 수도 있다. 이는 신경망(800)의 CNN 구조를 RNN 구조로 변경하는 것을 의미한다.In one embodiment, the
일 실시예에서, 영상 복호화 장치(500) 및 영상 부호화 장치(1400)는 컨볼루션 연산 및 활성화 레이어의 연산을 위한 적어도 하나의 ALU(Arithmetic logic unit)를 포함할 수 있다. In one embodiment, the
ALU는 프로세서로 구현될 수 있다. 컨볼루션 연산을 위해, ALU는 입력 데이터 또는 이전 레이어에서 출력된 특징 데이터의 샘플 값들과 필터 커널의 샘플 값들 사이의 곱 연산을 수행하는 곱셈기 및 곱셈의 결과 값들을 더하는 가산기를 포함할 수 있다. ALU can be implemented as a processor. For the convolution operation, the ALU may include a multiplier that performs a multiplication operation between sample values of input data or feature data output from the previous layer and sample values of the filter kernel, and an adder that adds the resultant values of the multiplication.
활성화 레이어의 연산을 위해, ALU는 미리 결정된 시그모이드 함수, Tanh 함수 또는 ReLU 함수 등에서 이용되는 가중치를 입력된 샘플 값에 곱하는 곱셈기, 및 곱한 결과와 소정 값을 비교하여 입력된 샘플 값을 다음 레이어로 전달할지를 판단하는 비교기를 포함할 수 있다.For the operation of the activation layer, the ALU has a multiplier that multiplies the input sample value by a weight used in a predetermined sigmoid function, Tanh function, or ReLU function, and compares the multiplication result with a predetermined value to transfer the input sample value to the next layer. It may include a comparator that determines whether to forward it to .
이하, 도 9 내지 도 12를 참조하여, 엔트로피 부호화 및 엔트로피 복호화에 이용되는 확률 데이터에 대해 설명한다.Hereinafter, with reference to FIGS. 9 to 12, probability data used for entropy encoding and entropy decoding will be described.
도 9는 일 실시예에 따른 확률 데이터의 수정 방법에 대해 설명하기 위한 도면이다.Figure 9 is a diagram for explaining a method of modifying probability data according to an embodiment.
일 실시예에서, 확률 신경망(330)에 의해 출력되는 확률 데이터는 제 1 특징 데이터의 샘플들이 가질 수 있는 값의 확률들을 나타낼 수 있다. In one embodiment, probability data output by the probabilistic
일 실시예에서, 확률 데이터는 제 1 특징 데이터의 샘플들에 대응하는 평균들과 표준 편차들을 샘플로 포함할 수 있다. 이 경우, 확률 데이터는 제 1 특징 데이터의 샘플들에 대응하는 평균들을 샘플로 포함하는 평균 데이터(910)와 제 1 특징 데이터의 샘플들에 대응하는 표준 편차들을 샘플로 포함하는 표준 편차 데이터(930)를 포함할 수 있다.In one embodiment, the probability data may include averages and standard deviations corresponding to samples of the first feature data. In this case, the probability data includes
일 실시예에서, 확률 신경망(330)은 제 1 특징 데이터의 샘플들에 대응하는 평균들을 샘플로 포함하는 평균 데이터와 제 1 특징 데이터의 샘플들에 대응하는 분산들을 샘플로 포함하는 분산 데이터를 포함할 수 있다.In one embodiment, the probabilistic
일 실시예에서, AI 제어부(650)는 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나눔으로써 수정된 확률 데이터를 획득할 수 있다.In one embodiment, the
도 9를 참조하면, 평균 데이터(910)가 μ(0,0) 내지 μ(1,1)의 샘플 값들을 포함하고, 표준 편차 데이터(930)가 σ(0,0) 내지 σ(1,1)의 샘플 값들을 포함하고, 양자화 데이터(950)가 q(0,0) 내지 q(1,1)의 샘플 값들을 포함할 수 있다. 양자화 데이터(950)의 q(0,0) 내지 q(1,1)은 양자화 스텝 사이즈들일 수 있다. 도 9에서, (a, b)는 데이터 내 샘플의 위치를 나타낼 수 있다. Referring to FIG. 9,
AI 제어부(650)는 평균 데이터(910) 내 μ(0,0) 내지 μ(1,1)를 양자화 데이터(950) 내 q(0,0) 내지 q(1,1)로 나눔으로써, μ(0,0)/q(0,0) 내지 μ(1,1)/q(1,1)를 샘플로 포함하는 수정된 평균 데이터(970)를 획득할 수 있다.The
또한, AI 제어부(650)는 표준 편차 데이터(930) 내 σ(0,0) 내지 σ(1,1)를 양자화 데이터(950) 내 q(0,0) 내지 q(1,1)로 나눔으로써, σ(0,0)/q(0,0) 내지 σ(1,1)/q(1,1)를 샘플로 포함하는 수정된 표준 편차 데이터(990)를 획득할 수 있다.In addition, the
여기서, 나누기는 하나의 예시로서, 일 실시예에서, AI 제어부(650)는 평균 데이터(910)와 표준 편차 데이터(930)의 샘플 값들에 양자화 데이터(950)의 샘플 값들 또는 양자화 데이터(950)의 샘플 값들로부터 도출되는 값들을 곱하여 수정된 평균 데이터(970)와 수정된 표준 편차 데이터(990)를 획득할 수도 있다. Here, division is an example, and in one embodiment, the
일 실시예에서, AI 제어부(650)는 평균 데이터(910)와 표준 편차 데이터(930)의 샘플 값들에 대한 나누기 연산 또는 곱셈 연산을 위해 비트 쉬프트 연산을 이용할 수도 있다.In one embodiment, the
AI 제어부(650)는 수정된 평균 데이터(970)의 샘플 값들과 수정된 표준 편차 데이터(990)의 샘플 값들을 미리 결정된 확률 모델에 적용하여 양자화 데이터(950)에 따라 양자화된 제 1 특징 데이터의 샘플들이 가질 수 있는 확률 값들을 도출할 수 있다.The
평균 데이터(910)의 샘플 값들과 표준 편차 데이터(930)의 샘플 값들을 양자화 데이터(950)의 샘플 값들로 나누는 이유를 설명하면, 양자화 데이터(950)에 기반하여 제 1 특징 데이터의 샘플 값이 나눠지고 나눠진 결과 값이 라운딩되는 경우, 양자화 스텝 사이즈의 크기에 따라 제 1 특징 데이터의 샘플 값이 커지거나 작아지게 되는데, 그에 따라 제 1 특징 데이터에 대한 확률 모델(예를 들어, 확률 밀도 함수)이 변경될 필요가 있기 때문이다. 따라서, 평균 데이터(910)과 표준 편차 데이터(930)를 양자화 데이터(950)에 따라 다운스케일함으로써 양자화된 제 1 특징 데이터에 적합한 확률 모델이 도출될 수 있다.To explain the reason for dividing the sample values of the
도 10은 일 실시예에 따른 확률 데이터, 수정된 확률 데이터 및 확률 모델에 대해 설명하기 위한 도면이다.Figure 10 is a diagram for explaining probability data, modified probability data, and probability model according to an embodiment.
도 10을 참조하면, 확률 데이터는 평균(μa)과 표준 편차(σa)를 포함할 수 있고, 확률 데이터의 평균(μa)과 표준 편차(σa)가 양자화 데이터의 양자화 스텝 사이즈(q)로 나눠짐에 따라 수정된 확률 데이터는 수정된 평균(μb)과 수정된 표준 편차(σb)를 포함할 수 있다.Referring to FIG. 10, the probability data may include a mean (μ a ) and a standard deviation (σ a ), and the mean (μ a ) and standard deviation (σ a ) of the probability data are the quantization step size of the quantization data ( As divided by q), the adjusted probability data may include a modified mean (μ b ) and a modified standard deviation (σ b ).
AI 제어부(650)는 수정된 평균(μb)과 수정된 표준 편차(σb)를 미리 결정된 확률 모델에 적용하여 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률을 결정할 수 있다.The
도 10을 참조하면, 미리 결정된 확률 모델로서 라플라시안 확률 모델 또는 가우시안 확률 모델이 이용될 수 있다. Referring to FIG. 10, a Laplacian probability model or a Gaussian probability model may be used as a predetermined probability model.
도 10에 도시된 라플라시안 확률 모델 또는 가우시안 확률 모델은 일 예시이다. 일 실시예에서, 엔트로피 부호화 및 엔트로피 복호화에 이용되는 확률 모델의 종류는 다양할 수 있다.The Laplacian probability model or Gaussian probability model shown in FIG. 10 is an example. In one embodiment, the types of probability models used for entropy encoding and entropy decoding may vary.
제 1 특징 데이터의 엔트로피 부호화 및 엔트로피 복호화를 위해 어떠한 확률 모델을 이용하여야 하는지는 미리 결정되어 있을 수 있다. 예를 들어, 엔트로피 부호화에 이용되는 확률 모델의 종류는 영상 부호화 장치(1400)에 의해 미리 결정될 수 있다.The probability model to be used for entropy encoding and entropy decoding of the first feature data may be determined in advance. For example, the type of probability model used for entropy encoding may be determined in advance by the
일 실시예에서, 엔트로피 부호화에 이용되는 확률 모델의 종류는 영상마다 또는 영상에 포함된 블록마다 독립적으로 결정될 수 있다.In one embodiment, the type of probability model used for entropy encoding may be independently determined for each image or for each block included in the image.
엔트로피 부호화에 라플라시안 모델이 이용되는 경우, AI 제어부(650)는 수정된 평균(μb)과 수정된 표준 편차(σb)를 라플라시안 확률 모델에 적용하여 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 확률을 도출할 수 있다.When the Laplacian model is used for entropy encoding, the
또한, 엔트로피 부호화에 가우시안 모델이 이용되는 경우, AI 제어부(650)는 수정된 평균(μb)과 수정된 표준 편차(σb)를 가우시안 확률 모델에 적용하여 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 확률을 도출할 수 있다.In addition, when a Gaussian model is used for entropy encoding, the
일 실시예에서, 확률 신경망(330)은 제 2 특징 데이터에 대한 처리 결과로 복수의 확률 데이터와 복수의 가중치 데이터를 출력할 수도 있다. In one embodiment, the probabilistic
일 실시예에서, 복수의 확률 데이터 각각은 평균 데이터와 표준 편차 데이터를 포함할 수 있다. 일 실시예에서, 복수의 확률 데이터 각각은 평균 데이터와 분산 데이터를 포함할 수도 있다. In one embodiment, each of the plurality of probability data may include average data and standard deviation data. In one embodiment, each of the plurality of probability data may include average data and variance data.
AI 제어부(650)는 복수의 확률 데이터를 양자화 데이터에 따라 수정하여 복수의 수정된 확률 데이터를 획득할 수 있다.The
복수의 수정된 확률 데이터가 복수의 가중치 데이터에 따라 결합됨에 따라 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 확률이 도출될 수 있다.As a plurality of modified probability data are combined according to a plurality of weight data, the probability that a sample of the quantized first feature data may have can be derived.
도 11은 일 실시예에 따른 복수의 확률 데이터의 수정 방법에 대해 설명하기 위한 도면이다.Figure 11 is a diagram for explaining a method of modifying a plurality of probability data according to an embodiment.
도 11을 참조하면, 확률 신경망(330)으로부터 N개의 평균 데이터(910-1, 910-2, ..., 910-N)가 획득될 수 있다.Referring to FIG. 11, N average data 910-1, 910-2, ..., 910-N can be obtained from the probabilistic
도 11에는 도시되어 있지 않지만, 확률 신경망(330)으로부터 N개의 표준 편차 데이터 및 N개의 가중치 데이터도 획득될 수 있다. Although not shown in FIG. 11, N standard deviation data and N weight data may also be obtained from the probabilistic
N개의 평균 데이터(910-1, 910-2, ..., 910-N), N개의 표준 편차 데이터 및 N개의 가중치 데이터의 크기 또는 샘플 수는 제 1 특징 데이터의 크기 또는 샘플 수와 동일할 수 있다.The size or number of samples of N average data (910-1, 910-2, ..., 910-N), N standard deviation data, and N weight data will be the same as the size or number of samples of the first feature data. You can.
일 실시예에서, 제 1 특징 데이터의 개수(또는 채널 수)가 M개라면, 확률 신경망(330)으로부터 M*N개의 평균 데이터, M*N개의 표준 편차 데이터 및 M*N개의 가중치 데이터가 획득될 수 있다.In one embodiment, if the number of first feature data (or number of channels) is M, M*N average data, M*N standard deviation data, and M*N weight data are obtained from the probabilistic
AI 제어부(650)는 N개의 평균 데이터(910-1, 910-2, ..., 910-N)의 샘플 값들을 양자화 데이터(950)의 샘플 값들로 나눠 N개의 수정된 평균 데이터(970-1, 970-2, ..., 970-N)를 획득할 수 있다.The
AI 제어부(650)는 N개의 표준 편차 데이터의 샘플 값들을 양자화 데이터(950)의 샘플 값들로 나눠 N개의 수정된 표준 편차 데이터를 획득할 수 있다.The
도 12는 일 실시예에 따른 확률 데이터, 수정된 확률 데이터와 확률 모델에 대해 설명하기 위한 도면이다.Figure 12 is a diagram for explaining probability data, modified probability data, and probability model according to an embodiment.
도 12를 참조하면, 확률 신경망(330)으로부터 N개의 평균 데이터(μa), N개의 표준 편차 데이터(σa) 및 N개의 가중치 데이터(w)가 획득되는 경우, AI 제어부(650)는 N개의 평균 데이터(μa)와 N개의 표준 편차 데이터(σa)를 양자화 데이터(q)의 샘플 값들로 나눠 N개의 수정된 평균 데이터(μb)와 N개의 수정된 표준 편차 데이터(σb)를 획득할 수 있다. Referring to FIG. 12, when N average data (μ a ), N standard deviation data (σ a ), and N weight data (w) are obtained from the probabilistic
일 실시예에서, 도 12에 도시된 N개의 평균 데이터(μa)는 도 11에 도시된 N개의 평균 데이터(910-1, 910-2, ..., 910-N)를 포함할 수 있다. 예를 들어, 도 12의 μa1은 도 11의 평균 데이터(910-1)에 해당할 수 있다. 또한, 예를 들어, 도 12의 μb1은 μa1을 양자화 데이터(950)으로 나눈 결과인 수정된 평균 데이터(970-1)에 해당할 수 있다.In one embodiment, the N average data (μ a ) shown in FIG. 12 may include the N average data (910-1, 910-2, ..., 910-N) shown in FIG. 11. . For example, μ a1 in FIG. 12 may correspond to the average data 910-1 in FIG. 11. Also, for example, μ b1 in FIG. 12 may correspond to modified average data 970-1, which is the result of dividing μ a1 by
AI 제어부(650)는 N개의 수정된 평균 데이터(μb), N개의 수정된 표준 편차 데이터(σb) 및 N개의 가중치 데이터(w)를 미리 결정된 확률 모델, 예를 들어, 도 12에 도시된 라플라시안 확률 모델 또는 가우시안 확률 모델에 적용하여 양자화된 제 1 특징 데이터의 샘플들이 가질 수 있는 값들의 확률을 도출할 수 있다.The
일 실시예에 따르면, 하나의 제 1 특징 데이터를 위해 N개의 수정된 평균 데이터(μb)와 N개의 수정된 표준 편차 데이터(σb)가 획득되고, N개의 수정된 평균 데이터(μb)와 N개의 수정된 표준 편차 데이터(σb)가 N개의 가중치 데이터(w)에 따라 결합되므로, 제 1 특징 데이터의 샘플이 가질 수 있는 확률이 보다 정확하고 안정적으로 도출될 수 있다.According to one embodiment, N corrected average data (μ b ) and N corrected standard deviation data (σ b ) are acquired for one first feature data, and N corrected average data (μ b ) and N corrected standard deviation data (σ b ) are combined according to N weight data (w), so the probability that a sample of the first feature data may have can be derived more accurately and stably.
도 13은 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 도면이다.Figure 13 is a diagram for explaining an image decoding method according to an embodiment.
S1310 단계에서, 영상 복호화 장치(500)는 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터에 대한 제 2 특징 데이터를 비트스트림으로부터 획득할 수 있다.In step S1310, the
일 실시예에서, 제 1 특징 데이터는 현재 영상(100)을 영상 인코더(12)에 적용함으로써 획득되는 특징 데이터(k), 현재 영상(100)과 이전 복원 영상(200)을 옵티컬 플로우 인코더(42)에 적용함으로써 획득되는 특징 데이터(w) 또는 현재 영상(100)에 대응하는 잔차 영상(r)을 잔차 인코더(52)에 적용함으로써 획득되는 특징 데이터(v)를 포함할 수 있다.In one embodiment, the first feature data is feature data (k) obtained by applying the
일 실시예에서, 영상 복호화 장치(500)는 비트스트림에 포함된 비트들에 대해 엔트로피 복호화를 적용하여 제 2 특징 데이터를 획득할 수 있다.In one embodiment, the
일 실시예에서, 영상 복호화 장치(500)는 비트스트림에 포함된 비트들에 대해 엔트로피 복호화를 적용하여 양자화된 제 2 특징 데이터를 획득하고, 양자화된 제 2 특징 데이터를 역양자화할 수 있다.In one embodiment, the
S1320 단계에서, 영상 복호화 장치(500)는 제 2 특징 데이터를 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득한다.In step S1320, the
일 실시예에서, 신경망은 확률 데이터를 출력하는 확률 신경망(330)과 양자화 데이터를 출력하는 양자화 신경망(350)을 포함할 수 있다.In one embodiment, the neural network may include a probabilistic
S1330 단계에서, 영상 복호화 장치(500)는 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정한다.In step S1330, the
일 실시예에서, 영상 복호화 장치(500)는 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나눌 수 있다. 이 경우, 양자화 데이터의 샘플 값들은 양자화 스텝 사이즈들일 수 있다. 만약, 양자화 데이터의 샘플 값들이 양자화 파라미터들에 해당한다면, 영상 복호화 장치(500)는 양자화 파라미터들로부터 양자화 스텝 사이즈들을 결정하고, 결정된 양자화 스텝 사이즈들로 확률 데이터의 샘플 값들을 나눌 수 있다.In one embodiment, the
S1340 단계에서, 영상 복호화 장치(500)는 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득한다.In step S1340, the
S1350 단계에서, 영상 복호화 장치(500)는 양자화된 제 1 특징 데이터를 양자화 데이터의 샘플 값들에 따라 역양자화하여 역양자화된 제 1 특징 데이터를 획득한다.In step S1350, the
S1360 단계에서, 영상 복호화 장치(500)는 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 현재 영상(100)을 복원한다.In step S1360, the
일 실시예에서, 영상 복호화 장치(500)는 역양자화된 제 1 특징 데이터를 영상 디코더(14), 옵티컬 플로우 디코더(44) 및/또는 잔차 디코더(54)에 적용하여 현재 영상(100)을 복원할 수 있다.In one embodiment, the
도 14는 일 실시예에 따른 영상 부호화 장치(1400)의 구성을 도시하는 도면이다.FIG. 14 is a diagram illustrating the configuration of a
도 14를 참조하면, 영상 부호화 장치(1400)는 예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)를 포함할 수 있다.Referring to FIG. 14 , the
예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)는 프로세서로 구현될 수 있다. 예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.The
도 14는 예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)를 개별적으로 도시하고 있으나, 예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다. Figure 14 shows the
예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 예측 부호화부(1410), 생성부(1420), 획득부(1430) 및 예측 복호화부(1440)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다.The
예측 부호화부(1410)는 현재 영상(100)에 대해 신경망 기반의 부호화를 적용하여 제 1 특징 데이터를 획득할 수 있다. 제 1 특징 데이터는 현재 영상(100)의 특징 데이터(k), 옵티컬 플로우(g)의 특징 데이터(w) 또는 잔차 영상(r)의 특징 데이터(v) 중 적어도 하나를 포함할 수 있다.The
일 실시예에서, 예측 부호화부(1410)는 현재 영상(100)을 영상 인코더(12)에 적용하여 현재 영상(100)의 특징 데이터(k)를 획득할 수 있다.In one embodiment, the
일 실시예에서, 예측 부호화부(1410)는 현재 영상(100)과 이전 복원 영상(200)을 옵티컬 플로우 인코더(42)에 적용하여 옵티컬 플로우(g)의 특징 데이터(w)를 획득할 수 있다.In one embodiment, the
일 실시예에서, 예측 부호화부(1410)는 현재 예측 영상(x')과 현재 영상(100) 사이의 차이에 해당하는 잔차 영상(r)을 잔차 인코더(52)에 적용하여 잔차 영상(r)의 특징 데이터(v)를 획득할 수 있다.In one embodiment, the
예측 부호화부(1410)에 의해 획득된 제 1 특징 데이터는 생성부(1420)로 전달될 수 있다.The first feature data obtained by the
생성부(1420)는 제 1 특징 데이터에 기초하여 비트스트림을 생성할 수 있다. The
일 실시예에서, 생성부(1420)는 제 1 특징 데이터의 잠재적 특징을 나타내는 제 2 특징 데이터를 획득하고, 제 2 특징 데이터를 신경망에 적용하여 양자화 데이터와 수정된 확률 데이터를 획득할 수 있다. 그리고, 생성부(1420)는 제 1 특징 데이터를 양자화 데이터에 따라 양자화하고, 양자화된 제 1 특징 데이터를 수정된 확률 데이터에 따라 엔트로피 부호화하여 비트스트림을 생성할 수 있다.In one embodiment, the
일 실시예에서, 생성부(1420)는 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터를 미리 결정된 확률 데이터에 따라 엔트로피 부호화하여 비트스트림을 생성할 수 있다.In one embodiment, the
일 실시예에서, 비트스트림은 양자화된 제 1 특징 데이터에 대응하는 비트들과 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.In one embodiment, the bitstream may include bits corresponding to quantized first feature data and second feature data or bits corresponding to quantized second feature data.
비트스트림은 네트워크를 통해 영상 복호화 장치(500)로부터 전송될 수 있다. 일 실시예에서, 비트스트림은 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium) 등을 포함하는 데이터 저장 매체에 기록될 수도 있다.The bitstream may be transmitted from the
획득부(1430)는 생성부(1420)에 의해 생성된 비트스트림으로부터 역양자화된 제 1 특징 데이터를 획득할 수 있다.The
역양자화된 제 1 특징 데이터는 예측 복호화부(1440)로 전달될 수 있다. The dequantized first feature data may be transmitted to the
예측 복호화부(1440)는 역양자화된 제 1 특징 데이터에 대해 신경망 기반의 복호화를 적용하여 현재 복원 영상(300)을 획득할 수 있다. The
획득부(1430) 및 예측 복호화부(1440)의 구성 및 동작은 영상 복호화 장치(500)의 획득부(510) 및 예측 복호화부(530)와 동일할 수 있다. The configuration and operation of the
도 15는 일 실시예에 따른 생성부(1420)의 구성을 도시하는 도면이다.FIG. 15 is a diagram illustrating the configuration of the
도 15를 참조하면, 생성부(1420)는 AI 제어부(1510), 양자화부(1530) 및 엔트로피 부호화부(1550)를 포함할 수 있다.Referring to FIG. 15, the
예측 부호화부(1410)에 의해 획득된 제 1 특징 데이터는 AI 제어부(1510)와 양자화부(1530)로 전달될 수 있다.The first feature data obtained by the
AI 제어부(1510)는 제 1 특징 데이터로부터 제 2 특징 데이터를 획득하고, 제 2 특징 데이터에 기초하여 양자화 데이터와 수정된 확률 데이터를 획득할 수 있다. 제 2 특징 데이터와 양자화 데이터는 양자화부(1530)로 전달되고, 수정된 확률 데이터는 엔트로피 부호화부(1550)로 전달될 수 있다.The
일 실시예에서, AI 제어부(1510)는 양자화 및 역양자화가 적용된 제 2 특징 데이터에 기초하여 양자화 데이터와 수정된 확률 데이터를 획득할 수 있다. 제 2 특징 데이터의 양자화 및 역양자화에는 미리 결정된 양자화 데이터, 예를 들어, 룰 기반으로 결정된 양자화 데이터가 이용될 수 있다.In one embodiment, the
양자화부(1530)는 신경망에 기반하여 생성된 양자화 데이터에 따라 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득할 수 있다.The
일 실시예에서, 양자화부(1530)는 룰 기반으로 생성된 양자화 데이터에 따라 제 2 특징 데이터를 양자화하여 양자화된 제 2 특징 데이터를 획득할 수 있다. 일 실시예에서, 제 2 특징 데이터는 AI 제어부(1510)로부터 엔트로피 부호화부(1550)로 전달될 수도 있다. 이는 제 2 특징 데이터에 대한 양자화가 스킵된다는 것을 의미한다.In one embodiment, the
양자화부(1530)는 양자회된 제 1 특징 데이터와 양자화된 제 2 특징 데이터를 엔트로피 부호화부(1550)로 전달할 수 있다.The
엔트로피 부호화부(1550)는 양자화된 제 1 특징 데이터를 수정된 확률 데이터에 따라 엔트로피 부호화하여 비트스트림을 생성할 수 있다.The
일 실시예에서, 엔트로피 부호화부(1550)는 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터를 미리 결정된 확률 데이터에 따라 엔트로피 부호화하여 비트스트림을 생성할 수 있다.In one embodiment, the
비트스트림은 양자화된 제 1 특징 데이터에 대응하는 비트들과 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.The bitstream may include bits corresponding to quantized first feature data and second feature data or bits corresponding to quantized second feature data.
이하, 도 16을 참조하여 AI 제어부(1510)의 동작에 대해 좀더 상세히 설명한다.Hereinafter, the operation of the
도 16은 일 실시예에 따른 AI 제어부(1510)의 동작을 설명하기 위한 도면이다.Figure 16 is a diagram for explaining the operation of the
AI 제어부(1510)는 하이퍼프라이어 인코더(310), 양자화 신경망(350) 및 확률 신경망(330)을 이용할 수 있다. The
하이퍼프라이어 인코더(310), 양자화 신경망(350) 및 확률 신경망(330)은 메모리에 저장될 수 있다. 일 실시예에서, 하이퍼프라이어 인코더(310), 양자화 신경망(350) 및 확률 신경망(330)은 AI 프로세서로 구현될 수도 있다.The
도 16을 참조하면, 제 1 특징 데이터가 하이퍼프라이어 인코더(310)로 입력될 수 있다.Referring to FIG. 16, first feature data may be input to the
하이퍼프라이어 인코더(310)는 훈련의 결과로 설정된 파라미터에 따라 제 1 특징 데이터를 처리하여 제 2 특징 데이터를 획득할 수 있다. 제 2 특징 데이터는 확률 신경망(330)과 양자화 신경망(350)으로 입력될 수 있다.The
일 실시예에서, 양자화 및 역양자화가 적용된 제 2 특징 데이터가 확률 신경망(330)과 양자화 신경망(350)으로 입력될 수도 있다. 제 2 특징 데이터를 양자화 및 역양자화하는 이유는, 영상 복호화 장치(500)로 전달되는 비트스트림이 양자화된 제 2 특징 데이터를 포함하는 경우를 고려한 것이다. 다시 말하면, 영상 복호화 장치(500)는 역양자화된 제 2 특징 데이터를 이용하여 확률 데이터와 양자화 데이터를 획득할 수 있으므로, 영상 부호화 장치(1400)도 영상 복호화 장치(500)와 동일하게 양자화 및 역양자화가 적용된 제 2 특징 데이터를 이용하는 것이다.In one embodiment, second feature data to which quantization and dequantization have been applied may be input to the probabilistic
확률 신경망(330)은 훈련의 결과로 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 확률 데이터를 출력할 수 있다. The probability
양자화 신경망(350)은 훈련의 결과로 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 양자화 데이터를 출력할 수 있다.The quantization
앞서 도 4와 관련하여 설명한 바와 같이, 제 2 특징 데이터가 하나의 신경망(410)에 의해 처리됨으로써 확률 데이터와 양자화 데이터가 출력될 수 있다.As previously described in relation to FIG. 4 , probability data and quantization data may be output by processing the second feature data by one
양자화 데이터는 양자화 파라미터 또는 양자화 스텝 사이즈를 포함할 수 있고, 확률 데이터는 제 1 특징 데이터의 샘플들이 가질 수 있는 값들의 확률들을 나타내는 값들을 포함할 수 있다. 일 실시예에서, 확률 데이터는 제 1 특징 데이터의 각 샘플에 대한 평균, 표준 편차 및/또는 분산을 샘플로 포함할 수 있다.Quantization data may include a quantization parameter or a quantization step size, and probability data may include values representing probabilities of values that samples of the first feature data may have. In one embodiment, the probability data may include a mean, standard deviation, and/or variance for each sample of the first feature data.
일 실시예에서, 확률 데이터 및 양자화 데이터의 크기 또는 샘플 수는 제 1 특징 데이터의 크기 또는 샘플 수와 동일할 수 있다.In one embodiment, the size or number of samples of the probability data and quantization data may be the same as the size or number of samples of the first feature data.
일 실시예에서, 확률 데이터는 양자화 데이터에 기반한 수정 과정(430)을 통해 수정될 수 있다.In one embodiment, probability data may be modified through a
일 실시예에서, AI 제어부(1510)는 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나눠 수정된 확률 데이터를 획득할 수 있다. 여기서, 나누기는 하나의 예시로서, 일 실시예에서, AI 제어부(1510)는 확률 데이터의 샘플 값들에 양자화 데이터의 샘플 값들 또는 양자화 데이터의 샘플 값들로부터 도출되는 값들을 곱하여 수정된 확률 데이터를 획득할 수도 있다. In one embodiment, the
일 실시예에서, AI 제어부(1510)는 확률 데이터의 샘플 값들에 대한 나누기 연산 또는 곱셈 연산을 위해 비트 쉬프트 연산을 이용할 수도 있다.In one embodiment, the
일 실시예에서, 수정 과정(430)은 신경망에 기반하여 수행될 수도 있다. 예를 들어, 확률 데이터와 양자화 데이터가 수정 과정(430)을 위한 신경망에 적용됨으로써 수정된 확률 데이터가 획득될 수 있다.In one embodiment, the
AI 제어부(1510)는 수정된 확률 데이터를 엔트로피 부호화부(1550)로 전달하고, 양자화 데이터를 양자화부(1530)로 전달할 수 있다.The
양자화부(1530)는 제 1 특징 데이터를 양자화 데이터에 따라 양자화하여 양자화된 제 1 특징 데이터를 획득할 수 있다. 또한, 양자화부(1530)는 제 2 특징 데이터를 양자화하여 제 2 특징 데이터를 획득할 수 있다.The
일 실시예에서, 양자화부(1530)는 제 2 특징 데이터를 양자화하기 위해 미리 결정된 양자화 데이터를 이용할 수 있다. 제 2 특징 데이터를 양자화하는데 이용되는 양자화 데이터는, 룰 기반으로 결정될 수 있다. 다시 말하면, 양자화부(1530)는 신경망을 이용하지 않고, 미리 정의된 규칙에 따라 제 2 특징 데이터를 양자화하는데 이용되는 양자화 데이터를 결정할 수 있다. 예를 들어, 양자화부(1530)는 제 2 특징 데이터를 미리 결정된 양자화 스텝 사이즈에 따라 양자화할 수 있다. 일 실시예에서, 양자화부(1530)는 제 2 특징 데이터의 샘플 값들을 동일한 양자화 스텝 사이즈에 따라 양자화할 수 있다.In one embodiment, the
엔트로피 부호화부(1550)는 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 비트스트림을 생성할 수 있다. 또한, 엔트로피 부호화부(1550)는 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터를 엔트로피 부호화할 수 있다.The
일 실시예에서, 엔트로피 부호화부(1550)는 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터에 대해 엔트로피 부호화를 적용하기 위해 미리 결정된 확률 데이터를 이용할 수 있다. 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터를 엔트로피 부호화하는데 이용되는 확률 데이터는, 룰 기반으로 결정될 수 있다. 다시 말하면, 엔트로피 부호화부(1550)는 신경망을 이용하지 않고, 미리 정의된 규칙에 따라 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터를 엔트로피 부호화하는데 이용되는 확률 데이터를 결정할 수 있다.In one embodiment, the
도 17은 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 도면이다.Figure 17 is a diagram for explaining an image encoding method according to an embodiment.
S1710 단계에서, 영상 부호화 장치(1400)는 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터를 하이퍼프라이어 인코더(310)에 적용하여 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득한다.In step S1710, the
S1720 단계에서, 영상 부호화 장치(1400)는 제 2 특징 데이터를 신경망(예를 들어, 확률 신경망(330)과 양자화 신경망(350))에 적용하여 양자화 데이터와 확률 데이터를 획득한다.In step S1720, the
일 실시예에서, 영상 부호화 장치(1400)는 양자화 및 역양자화된 제 2 특징 데이터를 신경망에 적용하여 양자화 데이터와 확률 데이터를 획득할 수 있다.In one embodiment, the
S1730 단계에서, 영상 부호화 장치(1400)는 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정한다.In step S1730, the
일 실시예에서, 영상 부호화 장치(1400)는 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나눌 수 있다. 이 경우, 양자화 데이터의 샘플 값들은 양자화 스텝 사이즈들일 수 있다. 만약, 양자화 데이터의 샘플 값들이 양자화 파라미터들에 해당한다면, 영상 부호화 장치(1400)는 양자화 파라미터들로부터 양자화 스텝 사이즈들을 결정하고, 결정된 양자화 스텝 사이즈들로 확률 데이터의 샘플 값들을 나눌 수 있다.In one embodiment, the
S1740 단계에서, 영상 부호화 장치(1400)는 양자화 데이터의 샘플 값들에 따라 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득할 수 있다.In step S1740, the
일 실시예에서, 영상 부호화 장치(1400)는 미리 결정된 양자화 데이터에 따라 제 2 특징 데이터를 양자화하여 양자화된 제 2 특징 데이터를 획득할 수 있다. In one embodiment, the
S1750 단계에서, 영상 부호화 장치(1400)는 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성할 수 있다.In step S1750, the
일 실시예에서, 영상 부호화 장치(1400)는 양자화되지 않은 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터를 미리 결정된 확률 데이터에 따라 엔트로피 부호화할 수 있다. 이 경우, 비트스트림은, 양자화된 제 1 특징 데이터에 대응하는 비트들과, 양자화되지 않은 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.In one embodiment, the
이하에서는, 도 18을 참조하여, 전술한 신경망들, 하이퍼프라이어 인코더(310), 확률 신경망(330) 및 양자화 신경망(350)을 훈련시키는 방법에 대해 설명한다.Hereinafter, with reference to FIG. 18, a method of training the above-described neural networks, the
도 18은 일 실시예에 따른 신경망들의 훈련 방법을 설명하기 위한 도면이다.Figure 18 is a diagram for explaining a method of training neural networks according to an embodiment.
도 18을 참조하면, 현재 훈련 영상은 전술한 현재 영상(100)에 대응하고, 현재의 복원 훈련 영상은 전술한 현재 복원 영상(300)에 대응할 수 있다.Referring to FIG. 18, the current training image may correspond to the
일 실시예에 따른 훈련 과정에서는, 현재의 복원 훈련 영상이 현재 훈련 영상에 최대한 유사해지고, 현재 훈련 영상에 대한 부호화를 통해 생성된 비트스트림의 비트레이트가 최소화되도록 신경망들이 훈련될 수 있다. 이를 위해 도 18에 도시된 바와 같이, 제 1 손실 정보(1880)와 제 2 손실 정보(1890)가 신경망들의 훈련에 이용될 수 있다.In the training process according to one embodiment, neural networks may be trained so that the current reconstructed training image becomes as similar as possible to the current training image and the bit rate of the bitstream generated through encoding of the current training image is minimized. To this end, as shown in FIG. 18,
신경망들의 훈련 과정에 대해 구체적으로 설명하면, 먼저, 현재 훈련 영상에 대해 신경망 기반의 부호화 과정(1810)이 적용됨으로써 제 1 특징 데이터가 획득될 수 있다. To describe the training process of neural networks in detail, first, first feature data can be obtained by applying a neural network-based encoding process (1810) to the current training image.
신경망 기반의 부호화 과정(1810)은 영상 인코더(12), 옵티컬 플로우 인코더(42) 및/또는 잔차 인코더(52)에 기반하여 현재 훈련 영상을 부호화하는 과정일 수 있다.The neural network-based
제 1 특징 데이터는 현재 훈련 영상이 영상 인코더(12)에 의해 처리됨으로써 획득되는 특징 데이터, 현재 훈련 영상과 이전의 복원 훈련 영상이 옵티컬 플로우 인코더(42)에 의해 처리됨으로써 획득되는 특징 데이터 또는 현재 훈련 영상과 현재의 예측 훈련 영상 사이의 차이에 해당하는 잔차 훈련 영상이 잔차 인코더(52)에 의해 처리됨으로써 획득되는 특징 데이터 중 적어도 하나를 포함할 수 있다. 여기서, 현재의 예측 훈련 영상은 이전의 복원 훈련 영상이 옵티컬 플로우(g)에 따라 변형됨으로써 획득될 수 있다.The first feature data is feature data obtained by processing the current training image by the
제 1 특징 데이터는 하이퍼프라이어 인코더(310)로 입력될 수 있다. 하이퍼프라이어 인코더(310)는 미리 설정된 파라미터에 따라 제 1 특징 데이터를 처리하여 제 2 특징 데이터를 출력할 수 있다.The first feature data may be input to the
제 2 특징 데이터는 확률 신경망(330)과 양자화 신경망(350)으로 입력될 수 있다. 확률 신경망(330)과 양자화 신경망(350) 각각은 미리 설정된 파라미터에 따라 제 2 특징 데이터를 처리하여 확률 데이터와 양자화 데이터를 출력할 수 있다.The second feature data may be input to the probabilistic
확률 데이터는 양자화 데이터에 따라 수정 과정(1820)을 통해 수정될 수 있다. 수정 과정(1820)에 대해서는 도 9 내지 도 12 등에서 설명하였으므로 상세한 설명을 생략한다. Probability data may be modified through a
제 1 특징 데이터에 대해 양자화 데이터에 따른 양자화 과정(1830)이 적용되어 양자화된 제 1 특징 데이터가 획득될 수 있다. 또한, 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화 과정(1840)이 적용됨으로써 비트스트림이 생성될 수 있다. A
일 실시예에서, 비트스트림에는 제 2 특징 데이터 또는 양자화된 제 2 특징 데이터에 대응하는 비트들이 포함될 수 있다.In one embodiment, the bitstream may include bits corresponding to second feature data or quantized second feature data.
수정된 확률 데이터에 기반한 엔트로피 복호화 과정(1850)이 비트스트림에 대해 수행됨으로써 양자화된 제 1 특징 데이터가 획득되고, 양자화된 제 1 특징 데이터에 대해 양자화 데이터에 따른 역양자화 과정(1860)이 수행되어 역양자화된 제 1 특징 데이터가 획득될 수 있다.An entropy decoding process (1850) based on modified probability data is performed on the bitstream to obtain quantized first feature data, and an inverse quantization process (1860) according to the quantized data is performed on the quantized first feature data. Inverse quantized first feature data may be obtained.
역양자화된 제 1 특징 데이터가 신경망 기반의 복호화 과정(1870)에 따라 처리됨으로써 현재의 복원 훈련 영상이 획득될 수 있다.The current reconstructed training image can be obtained by processing the dequantized first feature data according to a neural network-based decoding process (1870).
신경망 기반의 복호화 과정은 영상 디코더(14), 옵티컬 플로우 디코더(44) 및/또는 잔차 디코더(54)에 기반하여 현재 영상(100)을 복원하는 과정일 수 있다.The neural network-based decoding process may be a process of restoring the
신경망 기반의 부호화 과정에서 이용되는 신경망, 하이퍼프라이어 인코더(310), 확률 신경망(330), 양자화 신경망(350) 및 신경망 기반의 복호화 과정에서 이용되는 신경망의 훈련을 위해, 제 1 손실 정보(1880) 또는 제 2 손실 정보(1890) 중 적어도 하나가 획득될 수 있다.For training the neural network used in the neural network-based encoding process, the
제 1 손실 정보(1880)는 현재 훈련 영상에 대한 부호화 결과로 생성된 비트스트림의 비트레이트로부터 산출될 수 있다.The
제 1 손실 정보(1880)는, 현재 훈련 영상에 대한 부호화 효율에 관련되므로, 제 1 손실 정보는 압축도 손실 정보로 참조될 수 있다.Since the
제 2 손실 정보(1890)는 현재 훈련 영상과 현재의 복원 훈련 영상 사이의 차이에 대응할 수 있다. 일 실시예에서, 현재 훈련 영상과 현재의 복원 훈련 영상 사이의 차이는, 현재 훈련 영상과 현재의 복원 훈련 영상 사이의 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) 값 중 적어도 하나를 포함할 수 있다.The
제 2 손실 정보(1890)는 현재의 복원 훈련 영상의 퀄리티와 관련이 있으므로, 퀄리티 손실 정보로 참조될 수도 있다.Since the
신경망 기반의 부호화 과정에서 이용되는 신경망, 하이퍼프라이어 인코더(310), 확률 신경망(330), 양자화 신경망(350) 및 신경망 기반의 복호화 과정에서 이용되는 신경망은 제 1 손실 정보(1880) 또는 제 2 손실 정보(1890) 중 적어도 하나로부터 도출되는 최종 손실 정보가 감소 또는 최소화되도록 훈련될 수 있다. The neural network used in the neural network-based encoding process, the
일 실시예에서, 신경망 기반의 부호화 과정에서 이용되는 신경망, 하이퍼프라이어 인코더(310), 확률 신경망(330), 양자화 신경망(350) 및 신경망 기반의 복호화 과정에서 이용되는 신경망은 미리 설정된 파라미터의 값을 변경하면서 최종 손실 정보가 감소 또는 최소화되도록 할 수 있다.In one embodiment, the neural network used in the neural network-based encoding process, the
일 실시예에서, 최종 손실 정보는 하기 수학식 2에 따라 산출될 수 있다.In one embodiment, final loss information can be calculated according to
[수학식 2][Equation 2]
최종 손실 정보 = a*제 1 손실 정보+b*제 2 손실 정보Final loss information = a*first loss information+b*second loss information
수학식 2에서, a, b는 각각 제 1 손실 정보(1880) 및 제 2 손실 정보(1890) 각각에 적용되는 가중치이다.In
수학식 2에 따르면, 신경망 기반의 부호화 과정에서 이용되는 신경망, 하이퍼프라이어 인코더(310), 확률 신경망(330), 양자화 신경망(350) 및 신경망 기반의 복호화 과정에서 이용되는 신경망는 현재의 복원 훈련 영상이 현재 훈련 영상에 최대한 유사해지고, 비트스트림의 크기가 최소화되는 방향으로 훈련됨을 알 수 있다.According to
도 18을 참조하여 설명한 훈련 과정은 훈련 장치에 의해 수행될 수 있다. 훈련 장치는 예를 들어, 영상 부호화 장치(1400) 또는 별도의 서버일 수 있다. 훈련 결과 획득된 파라미터들은 영상 부호화 장치(1400) 및 영상 복호화 장치(500)에 저장될 수 있다.The training process described with reference to FIG. 18 may be performed by a training device. The training device may be, for example, the
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 영상에 대한 AI 기반 부호화를 통해 생성된 특징 데이터를 효율적으로 양자화/역양자화하는 것을 과제로 한다.The
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 영상의 부호화 결과로 생성되는 비트스트림의 비트레이트를 감소시키고, 복원 영상의 퀄리티를 향상시키는 것을 과제로 한다.The
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 엔트로피 코딩의 효율성을 향상시키는 것을 과제로 한다.The
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 AI 기반의 엔드-투-엔드 부호화/복호화 시스템을 제공하는 것을 과제로 한다.The
일 실시예에 따른 영상의 복호화 방법은, 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터에 대한 제 2 특징 데이터를 비트스트림으로부터 획득하는 단계(S1310)를 포함할 수 있다.A method for decoding an image according to an embodiment may include obtaining second feature data for first feature data obtained through neural network-based encoding for the
일 실시예에서, 영상의 복호화 방법은, 제 2 특징 데이터를 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계(S1320)를 포함할 수 있다.In one embodiment, the image decoding method may include a step (S1320) of obtaining quantization data and probability data by applying the second feature data to the neural network (330; 350; 410).
일 실시예에서, 영상의 복호화 방법은, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 단계(S1330)를 포함할 수 있다.In one embodiment, the image decoding method may include modifying probability data based on sample values of quantized data (S1330).
일 실시예에서, 영상의 복호화 방법은, 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 단계(S1340)를 포함할 수 있다.In one embodiment, the image decoding method may include obtaining quantized first feature data by applying entropy decoding based on modified probability data to bits included in the bitstream (S1340).
일 실시예에서, 영상의 복호화 방법은, 양자화 데이터의 샘플 값들에 따라 양자화된 제 1 특징 데이터를 역양자화하여 역양자화된 제 1 특징 데이터를 획득하는 단계(S1350)를 포함할 수 있다.In one embodiment, the image decoding method may include the step of inversely quantizing quantized first feature data according to sample values of quantized data to obtain dequantized first feature data (S1350).
일 실시예에서, 영상의 복호화 방법은, 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 현재 영상을 복원하는 단계(S1360)를 포함할 수 있다.In one embodiment, the image decoding method may include restoring the current image through neural network-based decoding of the dequantized first feature data (S1360).
일 실시예에서, 양자화 데이터는, 양자화 파라미터 또는 양자화 스텝 사이즈를 샘플로 포함할 수 있다.In one embodiment, quantization data may include quantization parameters or quantization step sizes as samples.
일 실시예에서, 수정된 확률 데이터의 샘플 값은, 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률을 나타낼 수 있다.In one embodiment, the sample value of the modified probability data may represent the probability of a value that a sample of the quantized first feature data may have.
일 실시예에서, 수정된 확률 데이터의 샘플 값은, 양자화된 제 1 특징 데이터의 샘플에 대응하는 평균 및 표준 편차를 나타낼 수 있다.In one embodiment, the sample values of the modified probability data may represent the mean and standard deviation corresponding to the samples of the quantized first feature data.
일 실시예에서, 수정된 확률 데이터의 샘플 값이 나타내는 평균 및 표준 편차를 미리 결정된 확률 모델에 적용함으로써 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률이 도출될 수 있다.In one embodiment, the probability of a value that a sample of the quantized first feature data may have can be derived by applying the average and standard deviation indicated by the sample value of the modified probability data to a predetermined probability model.
일 실시예에서, 확률 데이터를 수정하는 단계는, 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나누는 단계를 포함할 수 있다.In one embodiment, modifying the probability data may include dividing sample values of the probability data by sample values of the quantization data.
일 실시예에서, 제 1 특징 데이터는, 현재 영상(100)을 영상 인코더(12)에 적용함으로써 획득되는 특징 데이터(k), 현재 영상(100)과 이전 복원 영상(200)을 옵티컬 플로우 인코더(42)에 적용함으로써 획득되는 특징 데이터(w) 또는 현재 영상(100)에 대응하는 잔차 영상(r)을 잔차 인코더(52)에 적용함으로써 획득되는 특징 데이터(v)를 포함할 수 있다.In one embodiment, the first feature data is feature data (k) obtained by applying the
일 실시예에서, 신경망(330;350;410)은, 비트스트림의 비트레이트, 또는 현재 훈련 영상과 현재의 복원 훈련 영상 사이의 차이 중 적어도 하나에 기반하여 훈련될 수 있다.In one embodiment, the
일 실시예에서, 제 2 특징 데이터가 신경망(330;410)에 적용됨으로써, 복수의 확률 데이터, 및 복수의 가중치가 획득되며, 양자화 데이터의 샘플 값들에 기반하여 복수의 확률 데이터가 수정되고, 복수의 수정된 확률 데이터가 복수의 가중치에 따라 결합됨으로써 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률이 결정될 수 있다.In one embodiment, the second feature data is applied to the neural network (330; 410), so that a plurality of probability data and a plurality of weights are obtained, the plurality of probability data is modified based on the sample values of the quantization data, and the plurality of probability data is obtained. The probability of a value that a sample of the quantized first feature data can have can be determined by combining the modified probability data according to a plurality of weights.
일 실시예에 따른 영상의 부호화 방법은, 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터를 제 1 신경망(310)에 적용하여 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득하는 단계(S1710)를 포함할 수 있다.An image encoding method according to an embodiment applies first feature data obtained through neural network-based encoding of the
일 실시예에서, 영상의 부호화 방법은, 제 2 특징 데이터를 제 2 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계(S1720)를 포함할 수 있다.In one embodiment, the image encoding method may include a step (S1720) of obtaining quantization data and probability data by applying second feature data to a second neural network (330; 350; 410).
일 실시예에서, 영상의 부호화 방법은, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 단계(S1730)를 포함할 수 있다.In one embodiment, the video encoding method may include modifying probability data based on sample values of quantized data (S1730).
일 실시예에서, 영상의 부호화 방법은, 양자화 데이터의 샘플 값들에 따라 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득하는 단계(S1740)를 포함할 수 있다.In one embodiment, the image encoding method may include quantizing the first feature data according to sample values of the quantized data to obtain quantized first feature data (S1740).
일 실시예에서, 영상의 부호화 방법은, 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성하는 단계(S1750)를 포함할 수 있다.In one embodiment, the image encoding method includes generating a bitstream including bits corresponding to the quantized first feature data by applying entropy coding based on modified probability data to the quantized first feature data ( S1750) may be included.
일 실시예에서, 비트스트림은, 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.In one embodiment, the bitstream may include bits corresponding to second characteristic data.
일 실시예에서, 제 2 신경망(330;350;410)은, 제 2 특징 데이터로부터 양자화 데이터를 출력하는 양자화 신경망(350); 및 제 2 특징 데이터로부터 확률 데이터를 출력하는 확률 신경망(330)을 포함할 수 있다.In one embodiment, the second neural network (330;350;410) includes a quantization neural network (350) that outputs quantization data from second feature data; and a probabilistic
일 실시예에서, 확률 데이터를 수정하는 단계는, 확률 데이터의 샘플 값들을 양자화 데이터의 샘플 값들로 나누는 단계를 포함할 수 있다.In one embodiment, modifying the probability data may include dividing sample values of the probability data by sample values of the quantization data.
일 실시예에 따른 영상의 복호화 장치(500)는, 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 획득된 제 1 특징 데이터에 대한 제 2 특징 데이터를 비트스트림으로부터 획득하는 획득부(510)를 포함할 수 있다.The
일 실시예에서, 영상의 복호화 장치(500)는, 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 현재 영상(100)을 복원하는 예측 복호화부(530)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 획득부(510)는, 제 2 특징 데이터를 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하고, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 AI 제어부(650)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 획득부(510)는, 비트스트림에 포함된 비트들에 대해 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 엔트로피 복호화부(610)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 획득부(510)는, 양자화 데이터의 샘플 값들에 따라 양자화된 제 1 특징 데이터를 역양자화하여 역양자화된 제 1 특징 데이터를 획득하는 역양자화부(630)를 포함할 수 있다.In one embodiment, the
일 실시예에 따른 영상의 부호화 장치(1400)는, 현재 영상(100)에 대한 신경망 기반의 부호화를 통해 제 1 특징 데이터를 획득하는 예측 부호화부(1410)를 포함할 수 있다.The
일 실시예에서, 영상의 부호화 장치(1400)는, 현재 영상(100)에 대응하는 비트스트림을 생성하는 생성부(1420)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 생성부(1420)는, 제 1 특징 데이터를 제 1 신경망(310)에 적용하여 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득하고, 제 2 특징 데이터를 제 2 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하고, 양자화 데이터의 샘플 값들에 기반하여 확률 데이터를 수정하는 AI 제어부(1510)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 생성부(1420)는, 양자화 데이터의 샘플 값들에 따라 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득하는 양자화부(1530)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 생성부(1420)는, 양자화된 제 1 특징 데이터에 대해 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성하는 엔트로피 부호화부(1550)를 포함할 수 있다.In one embodiment, the
일 실시예에서, 비트스트림은, 제 2 특징 데이터에 대응하는 비트들을 포함할 수 있다.In one embodiment, the bitstream may include bits corresponding to second characteristic data.
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 영상에 대한 AI 기반 부호화를 통해 생성된 특징 데이터를 효율적으로 양자화/역양자화할 수 있다.The
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 영상의 부호화 결과로 생성되는 비트스트림의 비트레이트를 감소시키고, 복원 영상의 퀄리티를 향상시킬 수 있다.The
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 엔트로피 코딩의 효율성을 향상시킬 수 있다.The
일 실시예에 따른 영상 부호화 장치(1400), 영상 복호화 장치(500), 및 이들에 의한 방법은 AI 기반의 엔드-투-엔드 부호화/복호화 시스템을 제공할 수 있다.The
Claims (15)
상기 제 2 특징 데이터를 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계(S1320);
상기 양자화 데이터의 샘플 값들에 기반하여 상기 확률 데이터를 수정하는 단계(S1330);
상기 비트스트림에 포함된 비트들에 대해 상기 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 단계(S1340);
상기 양자화 데이터의 샘플 값들에 따라 상기 양자화된 제 1 특징 데이터를 역양자화하여 역양자화된 제 1 특징 데이터를 획득하는 단계(S1350); 및
상기 역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 상기 현재 영상을 복원하는 단계(S1360)를 포함하는, 영상의 복호화 방법.
Obtaining second feature data for first feature data obtained through neural network-based encoding of the current image 100 from a bitstream (S1310);
Obtaining quantization data and probability data by applying the second feature data to a neural network (330; 350; 410) (S1320);
Modifying the probability data based on sample values of the quantization data (S1330);
Obtaining quantized first feature data by applying entropy decoding based on the modified probability data to the bits included in the bitstream (S1340);
Obtaining dequantized first feature data by dequantizing the quantized first feature data according to sample values of the quantization data (S1350); and
A method of decoding an image, comprising restoring the current image through neural network-based decoding of the dequantized first feature data (S1360).
상기 양자화 데이터는,
양자화 파라미터 또는 양자화 스텝 사이즈를 샘플로 포함하는, 영상의 복호화 방법.
According to paragraph 1,
The quantized data is,
A method of decoding an image, including a quantization parameter or a quantization step size as a sample.
상기 수정된 확률 데이터의 샘플 값은,
상기 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률을 나타내는, 영상의 복호화 방법.
According to paragraph 1,
Sample values of the modified probability data are,
A method of decoding an image, indicating the probability of a value that a sample of the quantized first feature data may have.
상기 수정된 확률 데이터의 샘플 값은,
상기 양자화된 제 1 특징 데이터의 샘플에 대응하는 평균 및 표준 편차를 나타내는, 영상의 복호화 방법.
According to paragraph 3,
Sample values of the modified probability data are,
A method for decoding an image, indicating an average and standard deviation corresponding to a sample of the quantized first feature data.
상기 수정된 확률 데이터의 샘플 값이 나타내는 평균 및 표준 편차를 미리 결정된 확률 모델에 적용함으로써 상기 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률이 도출되는, 영상의 복호화 방법.
According to paragraph 4,
A method of decoding an image in which the probability of a value that a sample of the quantized first feature data may have is derived by applying the average and standard deviation indicated by the sample value of the modified probability data to a predetermined probability model.
상기 확률 데이터를 수정하는 단계는,
상기 확률 데이터의 샘플 값들을 상기 양자화 데이터의 샘플 값들로 나누는 단계를 포함하는, 영상의 복호화 방법.
According to paragraph 1,
The step of modifying the probability data is,
A method for decoding an image, comprising dividing sample values of the probability data into sample values of the quantization data.
상기 제 1 특징 데이터는,
상기 현재 영상(100)을 영상 인코더(12)에 적용함으로써 획득되는 특징 데이터(k), 상기 현재 영상(100)과 이전 복원 영상(200)을 옵티컬 플로우 인코더(42)에 적용함으로써 획득되는 특징 데이터(w) 또는 상기 현재 영상(100)에 대응하는 잔차 영상(r)을 잔차 인코더(52)에 적용함으로써 획득되는 특징 데이터(v)를 포함하는, 영상의 복호화 방법.
According to paragraph 1,
The first characteristic data is,
Feature data (k) obtained by applying the current image 100 to the video encoder 12, feature data obtained by applying the current image 100 and the previous reconstructed image 200 to the optical flow encoder 42 (w) or feature data (v) obtained by applying the residual image (r) corresponding to the current image (100) to the residual encoder (52).
상기 신경망(330;350;410)은,
상기 비트스트림의 비트레이트, 또는 현재 훈련 영상과 현재의 복원 훈련 영상 사이의 차이 중 적어도 하나에 기반하여 훈련되는, 영상의 복호화 방법.
According to paragraph 1,
The neural network (330;350;410) is,
A method for decoding an image, trained based on at least one of the bitrate of the bitstream or the difference between a current training image and a current reconstructed training image.
상기 제 2 특징 데이터가 상기 신경망(330;410)에 적용됨으로써, 복수의 확률 데이터, 및 복수의 가중치가 획득되며,
상기 양자화 데이터의 샘플 값들에 기반하여 상기 복수의 확률 데이터가 수정되고,
상기 복수의 수정된 확률 데이터가 상기 복수의 가중치에 따라 결합됨으로써 상기 양자화된 제 1 특징 데이터의 샘플이 가질 수 있는 값의 확률이 결정되는, 영상의 복호화 방법.
According to paragraph 1,
By applying the second feature data to the neural network (330; 410), a plurality of probability data and a plurality of weights are obtained,
The plurality of probability data are modified based on sample values of the quantization data,
A method for decoding an image, wherein the probability of a value that a sample of the quantized first feature data can have is determined by combining the plurality of modified probability data according to the plurality of weights.
A computer-readable recording medium on which a program for performing the method of any one of claims 1 to 9 is recorded.
상기 제 2 특징 데이터를 제 2 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하는 단계(S1720);
상기 양자화 데이터의 샘플 값들에 기반하여 상기 확률 데이터를 수정하는 단계(S1730);
상기 양자화 데이터의 샘플 값들에 따라 상기 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득하는 단계(S1740); 및
상기 양자화된 제 1 특징 데이터에 대해 상기 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 상기 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 비트스트림을 생성하는 단계(S1750)를 포함하고,
상기 비트스트림은, 상기 제 2 특징 데이터에 대응하는 비트들을 포함하는, 영상의 부호화 방법.
Applying first feature data obtained through neural network-based encoding of the current image 100 to the first neural network 310 to obtain second feature data for the first feature data (S1710);
Obtaining quantization data and probability data by applying the second feature data to a second neural network (330; 350; 410) (S1720);
Modifying the probability data based on sample values of the quantization data (S1730);
Obtaining quantized first feature data by quantizing the first feature data according to sample values of the quantization data (S1740); and
Generating a bitstream including bits corresponding to the quantized first feature data by applying entropy encoding based on the modified probability data to the quantized first feature data (S1750),
The bitstream includes bits corresponding to the second feature data.
상기 제 2 신경망(330;350;410)은,
상기 제 2 특징 데이터로부터 상기 양자화 데이터를 출력하는 양자화 신경망(350); 및
상기 제 2 특징 데이터로부터 상기 확률 데이터를 출력하는 확률 신경망(330)을 포함하는, 영상의 부호화 방법.
According to clause 11,
The second neural network (330;350;410) is,
a quantization neural network 350 that outputs the quantization data from the second feature data; and
An image encoding method comprising a probabilistic neural network 330 that outputs the probability data from the second feature data.
상기 확률 데이터를 수정하는 단계는,
상기 확률 데이터의 샘플 값들을 상기 양자화 데이터의 샘플 값들로 나누는 단계를 포함하는, 영상의 부호화 방법.
According to clause 11,
The step of modifying the probability data is,
An image encoding method comprising dividing sample values of the probability data into sample values of the quantization data.
역양자화된 제 1 특징 데이터에 대한 신경망 기반의 복호화를 통해 상기 현재 영상(100)을 복원하는 예측 복호화부(530)를 포함하되,
상기 획득부(510)는,
상기 제 2 특징 데이터를 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하고, 상기 양자화 데이터의 샘플 값들에 기반하여 상기 확률 데이터를 수정하는 AI 제어부(650);
상기 비트스트림에 포함된 비트들에 대해 상기 수정된 확률 데이터에 기반한 엔트로피 복호화를 적용하여 양자화된 제 1 특징 데이터를 획득하는 엔트로피 복호화부(610); 및
상기 양자화 데이터의 샘플 값들에 따라 상기 양자화된 제 1 특징 데이터를 역양자화하여 상기 역양자화된 제 1 특징 데이터를 획득하는 역양자화부(630)를 포함하는, 영상의 복호화 장치.
An acquisition unit 510 that acquires second feature data for first feature data obtained through neural network-based encoding of the current image 100 from a bitstream; and
A prediction decoder 530 that restores the current image 100 through neural network-based decoding of the dequantized first feature data,
The acquisition unit 510,
an AI control unit 650 that applies the second feature data to a neural network (330; 350; 410) to obtain quantization data and probability data, and modifies the probability data based on sample values of the quantization data;
an entropy decoding unit 610 that obtains quantized first feature data by applying entropy decoding based on the modified probability data to the bits included in the bitstream; and
An image decoding device comprising an inverse quantization unit 630 that inversely quantizes the quantized first feature data according to sample values of the quantized data to obtain the inverse quantized first feature data.
상기 현재 영상(100)에 대응하는 비트스트림을 생성하는 생성부(1420)를 포함하되,
상기 생성부(1420)는,
상기 제 1 특징 데이터를 제 1 신경망(310)에 적용하여 상기 제 1 특징 데이터에 대한 제 2 특징 데이터를 획득하고, 상기 제 2 특징 데이터를 제 2 신경망(330;350;410)에 적용하여 양자화 데이터와 확률 데이터를 획득하고, 상기 양자화 데이터의 샘플 값들에 기반하여 상기 확률 데이터를 수정하는 AI 제어부(1510);
상기 양자화 데이터의 샘플 값들에 따라 상기 제 1 특징 데이터를 양자화하여 양자화된 제 1 특징 데이터를 획득하는 양자화부(1530); 및
상기 양자화된 제 1 특징 데이터에 대해 상기 수정된 확률 데이터에 기반한 엔트로피 부호화를 적용하여 상기 양자화된 제 1 특징 데이터에 대응하는 비트들을 포함하는 상기 비트스트림을 생성하는 엔트로피 부호화부(1550)를 포함하고,
상기 비트스트림은, 상기 제 2 특징 데이터에 대응하는 비트들을 포함하는, 영상의 부호화 장치.a prediction encoding unit 1410 that acquires first feature data through neural network-based encoding of the current image 100; and
It includes a generator 1420 that generates a bitstream corresponding to the current image 100,
The generating unit 1420,
Applying the first feature data to the first neural network 310 to obtain second feature data for the first feature data, and applying the second feature data to the second neural network (330; 350; 410) to quantize An AI control unit 1510 that acquires data and probability data and modifies the probability data based on sample values of the quantization data;
a quantization unit 1530 that quantizes the first feature data according to sample values of the quantization data to obtain quantized first feature data; and
and an entropy encoding unit 1550 that generates the bitstream including bits corresponding to the quantized first feature data by applying entropy coding based on the modified probability data to the quantized first feature data. ,
The bitstream includes bits corresponding to the second feature data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2023/007965 WO2024039024A1 (en) | 2022-08-18 | 2023-06-09 | Image decoding device and image encoding device for adaptive quantization and inverse quantization, and method performed thereby |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220103411 | 2022-08-18 | ||
KR1020220103411 | 2022-08-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240025428A true KR20240025428A (en) | 2024-02-27 |
Family
ID=90058980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220125482A KR20240025428A (en) | 2022-08-18 | 2022-09-30 | Image decoding apparatus and image encoding apparatus for adaptive quantization and inverse-quantization, and methods thereby |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240025428A (en) |
-
2022
- 2022-09-30 KR KR1020220125482A patent/KR20240025428A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102287947B1 (en) | Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding of image | |
KR101901355B1 (en) | Method and apparatus for performing graph-based prediction using optimazation function | |
EP3085095B1 (en) | Method and apparatus for intra prediction of a video signal | |
US11122267B2 (en) | Method and apparatus for encoding image by using quantization table adaptive to image | |
KR102331933B1 (en) | Method and apparatus for processing a video signal using coefficient derived reconstruction | |
US20180278943A1 (en) | Method and apparatus for processing video signals using coefficient induced prediction | |
JP7168896B2 (en) | Image encoding method and image decoding method | |
KR102323395B1 (en) | Method and apparatus for encoding an image according to a low-quality encoding mode, and method and apparatus for decoding an image | |
US11863756B2 (en) | Image encoding and decoding apparatus and method using artificial intelligence | |
CN112715029A (en) | AI encoding apparatus and operating method thereof, and AI decoding apparatus and operating method thereof | |
WO2020053688A1 (en) | Rate distortion optimization for adaptive subband coding of regional adaptive haar transform (raht) | |
KR20240025428A (en) | Image decoding apparatus and image encoding apparatus for adaptive quantization and inverse-quantization, and methods thereby | |
Nortje et al. | BINet: A binary inpainting network for deep patch-based image compression | |
KR101979379B1 (en) | Method and apparatus for encoding image, and method and apparatus for decoding image | |
US11647228B2 (en) | Method and apparatus for encoding and decoding video signal using transform domain prediction for prediction unit partition | |
US20230145525A1 (en) | Image encoding apparatus and image decoding apparatus both using artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus | |
US20240073425A1 (en) | Image encoding apparatus and image decoding apparatus both based on artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus | |
US20230247212A1 (en) | Device and method for encoding and decoding image using ai | |
US20240048711A1 (en) | Artificial intelligence based video decoding apparatus and video decoding method and artificial intelligence based video encoding apparatus and video encoding method which perform chroma component prediction | |
US20220321879A1 (en) | Processing image data | |
US11863783B2 (en) | Artificial intelligence-based image encoding and decoding apparatus and method | |
US20240064336A1 (en) | Image decoding apparatus and image encoding apparatus using ai, and methods performed thereby | |
US20240129546A1 (en) | Artificial intelligence-based image encoding and decoding apparatus, and image encoding and decoding method thereby | |
KR20220120432A (en) | Apparatus for encoding and decoding image using artificial intelligence and method thereby | |
KR20230067492A (en) | Image encoding apparatus and image decoding apparatus using artificial intelligence, and method for encoding and decondg image thereby |