KR20220027208A - 웨이블릿 변환 기반 이미지 인코딩/디코딩 방법 및 장치 - Google Patents
웨이블릿 변환 기반 이미지 인코딩/디코딩 방법 및 장치 Download PDFInfo
- Publication number
- KR20220027208A KR20220027208A KR1020227003260A KR20227003260A KR20220027208A KR 20220027208 A KR20220027208 A KR 20220027208A KR 1020227003260 A KR1020227003260 A KR 1020227003260A KR 20227003260 A KR20227003260 A KR 20227003260A KR 20220027208 A KR20220027208 A KR 20220027208A
- Authority
- KR
- South Korea
- Prior art keywords
- subband
- convolution
- model
- convolutional layer
- layer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 178
- 230000001186 cumulative effect Effects 0.000 claims description 145
- 238000005315 distribution function Methods 0.000 claims description 145
- 238000013527 convolutional neural network Methods 0.000 claims description 83
- 238000013528 artificial neural network Methods 0.000 claims description 63
- 238000004364 calculation method Methods 0.000 claims description 55
- 238000012805 post-processing Methods 0.000 claims description 33
- 238000013139 quantization Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 25
- 230000000295 complement effect Effects 0.000 claims description 13
- 230000000306 recurrent effect Effects 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 97
- 238000012549 training Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 44
- 230000015654 memory Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 14
- 230000004913 activation Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006403 short-term memory 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
-
- 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
-
- 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/045—Combinations of 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/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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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
-
- 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/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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Probability & Statistics with Applications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 컴퓨터 분야에서 이미지 인코딩/디코딩 기술을 개시하며, 구체적으로 웨이블릿 변환에 기초한 이미지 인코딩/디코딩 방법에 관한 것이다.
상기 방법은 인코딩 동안, 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계 - 여기서 웨이블릿 변환 모델은 CNN에 기초하여 구현됨 - ; 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하는 단계; 및 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계; 및 디코딩 동안, 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계; 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하는 단계; 및 웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 역 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계를 포함하며, 여기서 웨이블릿 변환 모델은 CNN에 기초하여 구현된다. 본 발명의 실시예는 이미지 인코딩/디코딩 성능을 향상시키는 것을 돕기 위해 사용된다.
상기 방법은 인코딩 동안, 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계 - 여기서 웨이블릿 변환 모델은 CNN에 기초하여 구현됨 - ; 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하는 단계; 및 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계; 및 디코딩 동안, 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계; 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하는 단계; 및 웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 역 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계를 포함하며, 여기서 웨이블릿 변환 모델은 CNN에 기초하여 구현된다. 본 발명의 실시예는 이미지 인코딩/디코딩 성능을 향상시키는 것을 돕기 위해 사용된다.
Description
본 출원은 2019년 7월 15일에 중국 국가지식재산관리국에 제출되고 발명의 명칭이 "웨이블릿 변환(WAVELET TRANSFORM)에 기초한 이미지 인코딩/디코딩 방법 및 장치"인 중국 특허출원 제201910639304.5호의 우선권을 주장하며, 이는 참조로 여기에 그 전문이 포함된다.
본 발명은 이미지 인코딩/디코딩 분야에 관한 것으로, 특히 웨이블릿 변환에 기초한 이미지 인코딩/디코딩 방법 및 장치에 관한 것이다.
디지털 영상은 디지털 신호의 형태로 기록된 영상 정보이다. 디지털 영상(이하 이미지라 함)은 M×N 개의 샘플을 포함하는 M 개의 행과 N 개의 열의 2차원 배열로 간주될 수 있으며, 여기서 각 샘플의 위치는 샘플 위치라고 하고, 각 샘플의 값을 샘플 값이라고 한다.
이미지 저장 및 전송과 같은 애플리케이션에서는 일반적으로 저장 용량과 전송 대역폭을 줄이기 위해 이미지 인코딩 작업을 수행해야 한다. 일반적인 이미지 인코딩 프로세스는 일반적으로 변환, 양자화 및 엔트로피 인코딩의 세 단계를 포함한다. 인코딩될 이미지의 경우, 첫 번째 단계는 변환을 수행하여 인코딩될 이미지를 역상관하여 보다 집중된 에너지 분포를 갖는 변환 계수를 얻는 것이다. 두 번째 단계는 변환 계수를 양자화하여 양자화된 계수를 얻는 것이다. 세 번째 단계는 양자화된 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 얻는 것이다.
이미지 인코딩에 사용되는 일반적인 변환 모드는 이산 코사인 변환, 웨이블릿 변환 등이다. 웨이블릿 변환은 이미지에 대한 국부화 및 다중 스케일 분석이 가능하고 신호 변화의 자세한 내용에 초점을 맞출 수 있는 국부 변환 방법으로 이미지 인코딩 작업에 매우 적합하다.
다른 웨이블릿 변환은 다른 필터 계수를 나타낸다. 통상적인 웨이블릿 변환을 위한 필터 계수는 일반적으로 이상적인 가정 하에서 신호 처리의 관점에서 설계된다. 이러한 방식으로 얻은 웨이블릿 변환은 자연 이미지의 복잡성과 다양성에 적응할 수 없다. 또한 2차원 웨이블릿 변환은 행과 열 방향의 1차원 웨이블릿 변환의 조합을 포함하며 행과 열 방향의 특성을 처리하는 데 적합하지만 다른 방향의 특성과 무방향 특성을 처리하는 능력이 떨어진다.
전술한 단점의 관점에서, 일부 솔루션이 종래 기술에서 제안된다. 예를 들어, 신호 처리 분야에서는 Curvelet, Ridgelet, Contourlet, Bandelet, Shearlet과 같은 다수의 방향성 웨이블릿이 제안되고 설계된다. 인코딩 동안, 방향성 웨이블릿을 사용하여 이미지에 대해 웨이블릿 변환이 먼저 수행되어 웨이블릿 계수를 획득하고; 그런 다음 웨이블릿 계수에 대해 양자화 및 엔트로피 인코딩이 수행되어 압축된 비트스트림을 획득된다. 이미지 디코딩 동안, 압축된 비트스트림에 대해 엔트로피 디코딩 및 역양자화가 먼저 수행되어 재구성된 웨이블릿 계수를 획득되고; 그런 다음 역방향 웨이블릿 변환이 수행되어 재구성된 이미지를 획득한다. 방향성 웨이블릿의 기본 아이디어는 유한 방향성 기저 함수 그룹을 설계하는 것이다. 그러나 임의의 방향에 대한 공간적 상관관계는 본질적으로 간결하게 표현할 수 없다. 또한, 방향성 웨이블릿은 일반적으로 많은 양의 중복 계수를 생성하며, 방향성 웨이블릿을 이미지 인코딩에 적용하는 것은 압축률을 개선하는 데 도움이 되지 않는다. 마지막으로 방향성 웨이블릿은 이미지에서 서로 다른 방향성 특징만을 처리하며, 자연 이미지 특징의 다양성과 복잡성, 인공적으로 설계된 웨이블릿 기반 함수의 이상과 단순성 사이의 모순을 해결하지 못한다. 따라서 이미지 인코딩에 방향성 웨이블릿을 적용하면 이미지 인코딩 효율이 높지 않다.
다른 예는 적응 지향성 웨이블릿(adaptive directional wavelet)에 기초한 이미지 인코딩 방법이다. 이 방법은 이미지 인코딩에서 블록 분할의 아이디어를 사용하고 이미지 블록을 인코딩할 때 여러 방향에서 웨이블릿 변환을 시도하여 이미지 블록에 가장 적합한 방향 파라미터를 선택한다. 그런 다음 웨이블릿 기반 함수를 해당 방향으로 회전하여 이미지 블록에서 특정 방향의 특징을 처리하고, 웨이블릿 계수를 얻기 위해 변환 단계를 구현하고, 서브밴드 인코딩 방법을 사용하여 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득한다. 또한, 방향 파라미터는 압축된 비트스트림에 기록되어 일반 디코딩 프로세스를 지원한다. 디코딩하는 동안, 압축된 비트스트림에 대해 엔트로피 디코딩 및 역양자화를 먼저 수행하여 재구성된 웨이블릿 계수를 획득하고, 압축된 비트스트림에서 방향 파라미터를 추출한다. 재구성된 웨이블릿 계수 및 방향 파라미터를 사용하여 적응적 역방향 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한다. 적응 지향성 웨이블릿은 이미지 자체의 방향성 특징에 따라 해당 방향의 웨이블릿 기저 함수를 적응적으로 선택할 수 있지만, 방향성 웨이블릿은 유한 기저 함수만을 사용할 수 있다는 단점을 극복하였다. 그렇지만, 블록 분할에 기초한 방향 파라미터 선택은 복수의 인코딩 결정 프로세스에 의존한다. 따라서 인코딩 복잡도가 크게 증가한다. 또한 적응 방향성 웨이블릿은 자연 이미지 특징의 다양성 및 복잡성과 인공적으로 설계된 웨이블릿 기반 함수의 이상 및 단순성 사이의 모순을 여전히 해결하지 못한다.
요약하면, 종래 기술의 이미지 인코딩/디코딩의 효율이 낮고, 자연 이미지 특징의 다양성 및 복잡성과 인공적으로 설계된 웨이블릿 기저 함수의 이상 및 단순성 사이의 모순을 해결할 수 없다.
본 발명의 실시예는 웨이블릿 변환에 기초한 이미지 인코딩/디코딩 방법 및 장치를 제공한다. 본 발명의 실시예는 이미지 인코딩/디코딩의 효율성을 향상시키고, 자연 이미지 특징의 다양성과 복잡도와 인공적으로 설계된 웨이블릿 기반 함수의 이상과 단순성 사이의 모순을 해결하기 위해 사용된다.
제1 관점에 따라, 본 발명의 실시예는 웨이블릿 변환(wavelet transform) 기반 이미지 인코딩 방법을 제공하며, 상기 방법은:
웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계 - 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수임 - ; 상기 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하는 단계; 및 상기 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계를 포함한다.
CNN을 기반으로 구현된 웨이블릿 변환 모델은 인코딩될 이미지에 대한 웨이블릿 변환을 수행하는 데 사용된다. 심층 신경망 기반의 웨이블릿 변환 모델은 트레이닝 방법을 사용하여 많은 양의 자연 영상을 사용하여 최적화를 통해 얻어지기 때문에 심층 신경망 기반의 웨이블릿 변환 모델은 기존보다 더 간결한 변환 도메인 표현을 제공할 수 있다. 웨이블릿 변환을 통해 인코딩/디코딩 성능을 크게 향상시킨다.
실현 가능한 실시예에서, 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 상기 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계는:
i번째 웨이블릿 변환을 수행할 때, 서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하는 단계 - 상기 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 상기 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함함 - ;
상기 짝수 샘플 성분 및 상기 홀수 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 중간 근사 성분(intermediate approximation component) 및 중간 상세 성분(intermediate detail component)을 획득하는 단계;
상기 중간 근사 성분을 분해하여 제1 샘플 성분 및 제2 샘플 성분을 획득하는 단계 - 상기 제1 샘플 성분은 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수를 포함하고, 상기 제2 샘플 성분은 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 중간 상세 성분을 분해하여 제3 샘플 성분 및 제4 샘플 성분을 획득하는 단계 - 상기 제3 샘플 성분은 상기 중간 상세 성분의 홀수 행 계수 또는 홀수 행 계수를 포함하고, 상기 제4 샘플 성분은 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 제1 샘플 성분 및 상기 제2 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 근사 서브밴드 Pi 및 상세 서브밴드 Ii1을 획득하는 단계; 및
상기 제3 샘플 성분 및 상기 제4 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득하는 단계
를 포함하며,
여기서 상기 웨이블릿 계수는 근사 서브밴드 Pi, 상세 서브밴드 Ii1, 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 포함하고; 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환일 때, 상기 서브밴드 X는 인코딩될 이미지이거나; 또는 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환이 아닐 때, 상기 서브밴드 X는 근사 서브밴드 Pi-1이고, 상기 근사 서브밴드 Pi-1은 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드이다.
CNN을 기반으로 구현된 웨이블릿 변환 모델은 인코딩될 이미지에 대한 웨이블릿 변환을 수행하는데 사용된다. 웨이블릿 변환 모델의 기능을 GPU를 사용하여 구현하는 경우, 웨이블릿 변환 모델은 기존의 웨이블릿 변환과 동일한 속도를 갖는다. 복수의 인코딩 시도를 통해 최적의 방향 파라미터를 선택하는 적응형 방향성 웨이블릿에 비해 웨이블릿 변환 모델은 시간 복잡도가 낮은 장점이 있으며 자연 이미지 특성의 다양성과 복잡도와 인공적으로 설계된 웨이블릿 기본 기능의 이상과 단순성 간의 모순을 해결한다.
실현 가능한 실시예에서, 상기 예측 조작은 CNN에 기초하여 구현되거나; 상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는 상기 예측 조작과 상기 업데이트 조작은 모두 CNN에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계는:
엔트로피 인코딩 모델에 기초하여 상기 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하는 단계
를 포함하고, 상기 엔트로피 인코딩 모델은 심층 신경망(deep neural network)에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 엔트로피 인코딩 모델에 기초하여 상기 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하는 단계는:
엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계 - 상기 인코딩될 계수는 s번째 서브밴드의 임의의 계수이고, 상기 s번째 서브밴드는 3N+1 서브밴드 중 임의의 하나임 - ; 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 누적 확률 분포 함수를 획득하는 단계; 상기 인코딩될 계수 및 상기 인코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 인코딩될 계수의 확률 분포를 획득하는 단계; 및 상기 인코딩될 계수의 확률 분포에 기초하여 인코딩될 계수에 대해 산술 인코더를 사용하여 엔트로피 인코딩을 수행하여 상기 인코딩될 계수에 대응하는 비트스트림을 획득하는 단계 - 상기 압축된 비트스트림은 상기 인코딩될 계수에 대응하는 비트스트림을 포함함 - 를 포함한다.
양자화된 웨이블릿 계수를 인코딩할 때, 심층 신경망 기반의 엔트로피 인코딩 모델을 사용하여 부호화한다. 종래 기술에 비해 이미지의 압축비 성능이 향상될 수 있다.
실현 가능한 실시예에서, 상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 인코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 인코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수(window function)에 기초하여 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작(windowing operation)을 수행하여 제1 윈도우화된 컨볼루션 커널(windowed convolution kernel)을 획득하는 단계; 및 상기 제1 윈도우화된 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계; 또는 M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하는 단계; 및 상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하는 단계를 포함하고,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드이거나; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드가 상기 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 인코딩 모델은 제1 엔트로피 인코딩 모델, 제2 엔트로피 인코딩 모델 및 제3 엔트로피 인코딩 모델을 포함하며, 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 인코딩 모델은 순환 신경망(recurrent neural network, RNN)에 기초하여 구현되고, 상기 제1 엔트로피 인코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 상기 제2 엔트로피 인코딩 모델은 T2 개의 컨볼루션 레이어를 포함하며, T1 및 T2는 모두 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과는 상기 제2 엔트로피 인코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드는 상기 제1 엔트로피 인코딩 모델의 입력 데이터임 - ; 및
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작(combination operation)을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어임 - ; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터임 - ; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 q2번째 컨볼루션 레이어이고, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작고 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 인코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터임 -
를 포함한다.
실현 가능한 실시예에서, 상기 (s-1)번째 서브밴드의 해상도가 상기 s번째 서브밴드의 해상도와 다를 때, 계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하는 단계는:
상기 제3 엔트로피 인코딩 모델과 상기 제3 엔트로피 인코딩 모델의 상태 변수에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하는 단계; 및
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드의 해상도와 동일함 - ;
를 포함하고,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득한 후, 상기 이미지 인코딩 방법은:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하는 단계
를 더 포함하며, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일하다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ; 상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌(non-first) 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ; 제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하는 단계
를 포함한다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하는 단계 - 상기 제2 컨볼루션 커널은 상기 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ; 상기 윈도우화된 제2 컨볼루션 커널에 기초하여 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하는 단계
를 포함한다.
제2 관점에 따라, 본 발명의 실시예는 웨이블릿 변환에 기초한 이미지 디코딩 방법을 제공하며, 상기 방법은:
압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계; 상기 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하는 단계; 및 웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계
를 포함하며, 여기서 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수이다.
실현 가능한 실시예에서, 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계는:
엔트로피 디코딩 모델에 기초하여 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 상기 재구성된 웨이블릿 계수를 획득하는 단계를 포함하고, 상기 엔트로피 디코딩 모델은 심층 신경망에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 압축된 비트스트림은 3N+1 개의 서브밴드의 비트스트림을 포함하고, 상기 재구성된 웨이블릿 계수는 3N+1 개의 재구성된 서브밴드를 포함하고, 엔트로피 디코딩 모델에 기초하여 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 상기 재구성된 웨이블릿 계수를 획득하는 단계는:
s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계 - 상기 디코딩될 계수의 비트스트림은 상기 s번째 서브밴드의 비트스트림이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 3N+1 개의 재구성된 서브밴드 중 어느 하나임 - ; 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 디코딩될 계수의 누적 확률 분포 함수를 획득하는 단계; 상기 디코딩될 계수 및 상기 디코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 디코딩될 계수의 확률 분포를 획득하는 단계; 및 상기 디코딩될 계수의 확률 분포에 기초하여, 상기 디코딩될 계수의 비트스트림에 대해 산술 디코더를 사용하여 엔트로피 디코딩을 수행하여 디코딩될 계수를 획득하는 단계 - 상기 3N+1 재구성된 서브밴드는 디코딩될 계수를 포함함 - 를 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드는 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 디코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 디코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하는 단계; 및 상기 제1 윈도우화된 컨볼루션 커널에 기초하여, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하는 단계; 및 상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하는 단계
를 포함하고,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 상기 제1 서브밴드에 대응하는 재구성된 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 디코딩 모델은 제1 엔트로피 디코딩 모델, 제2 엔트로피 디코딩 모델, 및 제3 엔트로피 디코딩 모델을 포함하며, 상기 제1 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 디코딩 모델은 순환 신경망(RNN)에 기초하여 구현되고, 상기 제1 엔트로피 디코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 디코딩 모델은 T2 개의 컨볼루션 레이어를 포함하고, 둘 다 T1 및 T2는 0보다 큰 정수이고, s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
(s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 단계 - 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드는 (상기 s-1) 서브밴드의 비트스트림에 대해 엔트로피 디코딩을 수행하여 획득되고, 상기 제1 출력 결과는 제2 엔트로피 디코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 제1 엔트로피 디코딩 모델의 입력 데이터임 - ; 및
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 디코딩 모델 및 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이며, q가 T1과 같으면 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 디코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 q2번째 컨볼루션 레이어이며, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작으며 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 디코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터임 -
를 포함한다.
실현 가능한 실시예에서, 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도가 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 단계는:
상기 제3 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델의 상태 변수에 기초하여, 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하는 단계; 및
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 동일함 -
를 포함하며,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득한 후, 상기 이미지 디코딩 방법은:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하는 단계
를 더 포함하고, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일하다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하는 단계
를 포함한다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ; 제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하는 단계 - 상기 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 제2 입력 데이터에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하는 단계
를 포함한다.
실현 가능한 실시예에서, 웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계는:
t번째 인버스 웨이블릿 변환을 수행할 때, 근사 서브밴드 PN+1-t 및 상세 서브밴드 I(N+1-t)1에 대해 업데이트 조작 및 예측 조작을 수행하여 제1 처리된 서브밴드와 제2 처리된 서브밴드를 획득하는 단계, 및 상기 제1 처리된 서브밴드 및 상기 제2 처리된 서브밴드에 기초하여 중간 근사 성분을 획득하는 단계 - 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수는 상기 제1 처리된 서브밴드에서 비롯되고, 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제2 처리된 서브밴드에서 비롯됨 - ;
상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3에 대해 업데이트 조작 및 예측 조작을 수행하여 제3 처리된 서브밴드 및 제4 처리된 서브밴드를 획득하는 단계, 및 상기 제3 처리된 서브밴드 및 상기 제4 처리된 서브밴드에 기초하여 중간 상세 성분을 획득하는 단계 - 상기 중간 상세 성분의 홀수 열 계수 또는 짝수 행 계수는 상기 제3 처리된 서브밴드에서 비롯되고, 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제4 처리된 서브밴드에서 비롯됨 - ; 및
상기 중간 상세 성분 및 상기 중간 근사 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 제5 처리된 서브밴드 및 제6 처리된 서브밴드를 획득하는 단계, 및 상기 제5 처리된 서브밴드 및 상기 제6 처리된 서브밴드에 기초하여 근사 서브밴드 Pt-1을 획득하는 단계 - 상기 근사 서브밴드 Pt-1의 홀수 행 계수 또는 홀수 열 계수는 상기 제5 처리된 서브밴드에서 비롯되고, 상기 근사 서브밴드 Pt-1의 짝수 행 계수 또는 짝수 열 계수는 상기 제6 처리된 서브밴드에서 비롯되며, 상기 상세 서브밴드 I(N+1-t)1, 상기 상세 서브밴드 I(N+1-t)2 및 상기 상세 서브밴드 I(N+1-t)3의 해상도는 근사 서브밴드 PN+1-t의 해상도와 동일하고, t번째 인버스 웨이블릿 변환이 마지막 웨이블릿 변환일 때 상기 근사 서브밴드 Pt-1은 상기 재구성된 이미지임 -
를 포함한다.
실현 가능한 실시예에서, 상기 예측 조작은 CNN에 기초하여 구현되거나; 상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는 상기 업데이트 조작과 상기 예측 조작은 모두 CNN에 기초하여 구현된다.
실현 가능한 실시예에서, 웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한 후, 상기 이미지 디코딩 방법은:
포스트-프로세싱 모델에 기초하여 상기 재구성된 이미지에 대해 포스트-프로세싱을 수행하여 처리된 재구성된 이미지를 획득하는 단계
를 더 포함하고, 여기서 상기 포스트-프로세싱 모델은 심층 신경망에 기초하여 구현된다.
심층 신경망 기반의 재구성된 이미지에 대해 포스트-프로세싱을 수행함으로써, 재구성된 이미지의 품질을 더욱 향상시킬 수 있고, 디코딩 성능을 향상시킬 수 있다.
제3 관점에 따라, 본 발명의 실시예는 트레이닝 방법을 추가로 제공하며, 상기 방법은:
웨이블릿 변환 모델을 트레이닝하는 단계
를 포함하며, 상기 웨이블릿 변환 모델을 트레이닝하는 단계는:
상기 웨이블릿 변환 모델을 초기화하는 단계;
상기 초기화된 웨이블릿 변환 모델에 기초하여 트레이닝 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 3N+1 개의 서브밴드를 획득하는 단계;
상기 초기화된 웨이블릿 변환 모델에 기초하여 제1 서브대역, 제2 서브대역, 제3 서브대역, … 및 3N 개의 서브밴드에 대해 순차적으로 인버스 웨이블릿 변환을 수행하여 3N 개의 재구성된 이미지를 획득하는 단계;
상기 트레이닝 이미지 및 상기 3N 개의 재구성된 이미지에 기초하여 손실값을 계산하는 단계 - 여기서, 손실값 이고, Ri는 3N 개의 재구성된 이미지 중 i번째 이미지이고, I는 트레이닝 이미지임 - ; 및
상기 방법을 여러 번 반복하여 손실값 L의 변동 범위가 매우 작으면 웨이블릿 변환 모델의 트레이닝이 완료된 것으로 결정하고; 그렇지 않으면 앞의 방법에 따라 웨이블릿 변환 모델을 계속 트레이닝하는 단계
를 포함한다.
제4 관점에 따라, 본 발명의 실시예는 웨이블릿 변환에 기초한 이미지 인코딩 장치를 제공하며, 상기 장치는:
웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하도록 구성되어 있는 변환 모듈 - 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수임 - ;
상기 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하도록 구성되어 있는 양자화 모듈; 및
상기 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하도록 구성되어 있는 엔트로피 인코딩 모듈
을 포함한다.
실현 가능한 실시예에서, 상기 변환 모듈을 구체적으로:
i번째 웨이블릿 변환을 수행할 때, 서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하고 - 상기 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 상기 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함함 - ;
상기 짝수 샘플 성분 및 상기 홀수 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 중간 근사 성분(intermediate approximation component) 및 중간 상세 성분(intermediate detail component)을 획득하고;
상기 중간 근사 성분을 분해하여 제1 샘플 성분 및 제2 샘플 성분을 획득하고 - 상기 제1 샘플 성분은 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수를 포함하고, 상기 제2 샘플 성분은 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 중간 상세 성분을 분해하여 제3 샘플 성분 및 제4 샘플 성분을 획득하고 - 상기 제3 샘플 성분은 상기 중간 상세 성분의 홀수 행 계수 또는 홀수 행 계수를 포함하고, 상기 제4 샘플 성분은 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 제1 샘플 성분 및 상기 제2 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 근사 서브밴드 Pi 및 상세 서브밴드 Ii1을 획득하며; 그리고
상기 제3 샘플 성분 및 상기 제4 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득하도록 구성되어 있으며,
여기서 상기 웨이블릿 계수는 근사 서브밴드 Pi, 상세 서브밴드 Ii1, 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 포함하고; 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환일 때, 상기 서브밴드 X는 인코딩될 이미지이거나; 또는 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환이 아닐 때, 상기 서브밴드 X는 근사 서브밴드 Pi-1이고, 상기 근사 서브밴드 Pi-1은 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드이다.
실현 가능한 실시예에서, 상기 예측 조작은 CNN에 기초하여 구현되거나; 상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는 상기 예측 조작과 상기 업데이트 조작은 모두 CNN에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 엔트로피 인코딩 모듈을 구체적으로:
엔트로피 인코딩 모델에 기초하여 상기 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하도록 구성되어 있으며,
상기 엔트로피 인코딩 모델은 심층 신경망(deep neural network)에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 상기 엔트로피 인코딩 모듈은 구체적으로:
엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하고 - 상기 인코딩될 계수는 s번째 서브밴드의 임의의 계수이고, 상기 s번째 서브밴드는 3N+1 서브밴드 중 임의의 하나임 - ; 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 누적 확률 분포 함수를 획득하고; 상기 인코딩될 계수 및 상기 인코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 인코딩될 계수의 확률 분포를 획득하며; 그리고 상기 인코딩될 계수의 확률 분포에 기초하여 인코딩될 계수에 대해 산술 인코더를 사용하여 엔트로피 인코딩을 수행하여 상기 인코딩될 계수에 대응하는 비트스트림을 획득하도록 구성되어 있으며, 상기 압축된 비트스트림은 상기 인코딩될 계수에 대응하는 비트스트림을 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 인코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 인코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 상기 엔트로피 인코딩 모듈은 구체적으로:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수(window function)에 기초하여 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작(windowing operation)을 수행하여 제1 윈도우화된 컨볼루션 커널(windowed convolution kernel)을 획득하며; 그리고 상기 제1 윈도우화된 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하거나; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하며; 그리고 상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하도록 구성되어 있으며,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드이거나; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드가 상기 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 인코딩 모델은 제1 엔트로피 인코딩 모델, 제2 엔트로피 인코딩 모델 및 제3 엔트로피 인코딩 모델을 포함하며, 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 인코딩 모델은 순환 신경망(recurrent neural network, RNN)에 기초하여 구현되고, 상기 제1 엔트로피 인코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 상기 제2 엔트로피 인코딩 모델은 T2 개의 컨볼루션 레이어를 포함하며, T1 및 T2는 모두 0보다 큰 정수이고, 상기 엔트로피 인코딩 모듈은 구체적으로:
계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하며 - 상기 제1 출력 결과는 상기 제2 엔트로피 인코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드는 상기 제1 엔트로피 인코딩 모델의 입력 데이터임 - ; 그리고
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작(combination operation)을 수행하여 제2 출력 결과를 획득하거나 - 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어임 - ; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하거나 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터임 - ; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하도록 구성되어 있으며, 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 q2번째 컨볼루션 레이어이고, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작고 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 인코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터이다.
실현 가능한 실시예에서, 상기 (s-1)번째 서브밴드의 해상도가 상기 s번째 서브밴드의 해상도와 다를 때, 계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득할 때, 상기 엔트로피 인코딩 모듈은 구체적으로:
상기 제3 엔트로피 인코딩 모델과 상기 제3 엔트로피 인코딩 모델의 상태 변수에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하며; 그리고
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하도록 구성되어 있으며, 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드의 해상도와 동일하고,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득한 후, 상기 엔트로피 인코딩 모듈은:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하도록 추가로 구성되어 있으며, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일하다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행할 때, 상기 엔트로피 인코딩 모듈을 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌(non-first) 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하도록 구성되어 있다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 상기 엔트로피 인코딩 모듈은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하고 - 상기 제2 컨볼루션 커널은 상기 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하도록 구성되어 있다.
제5 관점에 따르면, 본 출원의 실시예는 웨이블릿 변환에 기초한 이미지 디코딩 장치를 제공하며, 상기 장치는:
압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하도록 구성되어 있는 엔트로피 디코딩 모듈;
상기 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하도록 구성되어 있는 역양자화 모듈; 및
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하도록 구성되어 있는 인버스 변환 모듈
을 포함하며, 여기서 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수이다.
실현 가능한 실시예에서, 상기 엔트로피 디코딩 모듈은 구체적으로:
엔트로피 디코딩 모델에 기초하여 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 상기 재구성된 웨이블릿 계수를 획득하도록 구성되어 있으며, 상기 엔트로피 디코딩 모델은 심층 신경망에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 압축된 비트스트림은 3N+1 개의 서브밴드의 비트스트림을 포함하고, 상기 재구성된 웨이블릿 계수는 3N+1 개의 재구성된 서브밴드를 포함하고, 상기 엔트로피 디코딩 모듈은 구체적으로:
s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하고 - 상기 디코딩될 계수의 비트스트림은 상기 s번째 서브밴드의 비트스트림이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 3N+1 개의 재구성된 서브밴드 중 어느 하나임 - ; 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 디코딩될 계수의 누적 확률 분포 함수를 획득하고; 상기 디코딩될 계수 및 상기 디코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 디코딩될 계수의 확률 분포를 획득하며; 그리고 상기 디코딩될 계수의 확률 분포에 기초하여, 상기 디코딩될 계수의 비트스트림에 대해 산술 디코더를 사용하여 엔트로피 디코딩을 수행하여 디코딩될 계수를 획득하도록 구성되어 있으며, 상기 3N+1 재구성된 서브밴드는 디코딩될 계수를 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드는 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 디코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 디코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하며; 그리고
상기 제1 윈도우화된 컨볼루션 커널에 기초하여, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하거나; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하며; 그리고
상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하도록 구성되어 있으며,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 상기 제1 서브밴드에 대응하는 재구성된 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
실현 가능한 실시예에서, 상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 디코딩 모델은 제1 엔트로피 디코딩 모델, 제2 엔트로피 디코딩 모델, 및 제3 엔트로피 디코딩 모델을 포함하며, 상기 제1 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 디코딩 모델은 순환 신경망(RNN)에 기초하여 구현되고, 상기 제1 엔트로피 디코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 디코딩 모델은 T2 개의 컨볼루션 레이어를 포함하고, 둘 다 T1 및 T2는 0보다 큰 정수이고, 상기 엔트로피 디코딩 모듈은 구체적으로:
(s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하며 - 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드는 (상기 s-1) 서브밴드의 비트스트림에 대해 엔트로피 디코딩을 수행하여 획득되고, 상기 제1 출력 결과는 제2 엔트로피 디코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 제1 엔트로피 디코딩 모델의 입력 데이터임 - ; 그리고
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하거나 - 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 디코딩 모델 및 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하거나 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이며, q가 T1과 같으면 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 디코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하도록 구성되어 있으며, 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 q2번째 컨볼루션 레이어이며, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작으며 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 디코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터이다.
실현 가능한 실시예에서, 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도가 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
상기 제3 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델의 상태 변수에 기초하여, 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하며; 그리고
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하도록 구성되어 있으며, 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 동일하며,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득한 후, 상기 엔트로피 디코딩 모듈은 구체적으로:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하도록 추가로 구성되어 있으며, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일하다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하도록 구성되어 있다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하고 - 상기 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 제2 입력 데이터에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하도록 구성되어 있다.
실현 가능한 실시예에서, 상기 인버스 변환 모듈은 구체적으로:
t번째 인버스 웨이블릿 변환을 수행할 때, 근사 서브밴드 PN+1-t 및 상세 서브밴드 I(N+1-t)1에 대해 업데이트 조작 및 예측 조작을 수행하여 제1 처리된 서브밴드와 제2 처리된 서브밴드를 획득하고, 상기 제1 처리된 서브밴드 및 상기 제2 처리된 서브밴드에 기초하여 중간 근사 성분을 획득하고 - 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수는 상기 제1 처리된 서브밴드에서 비롯되고, 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제2 처리된 서브밴드에서 비롯됨 - ;
상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3에 대해 업데이트 조작 및 예측 조작을 수행하여 제3 처리된 서브밴드 및 제4 처리된 서브밴드를 획득하고, 상기 제3 처리된 서브밴드 및 상기 제4 처리된 서브밴드에 기초하여 중간 상세 성분을 획득하며 - 상기 중간 상세 성분의 홀수 열 계수 또는 짝수 행 계수는 상기 제3 처리된 서브밴드에서 비롯되고, 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제4 처리된 서브밴드에서 비롯됨 - ; 그리고
상기 중간 상세 성분 및 상기 중간 근사 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 제5 처리된 서브밴드 및 제6 처리된 서브밴드를 획득하고, 상기 제5 처리된 서브밴드 및 상기 제6 처리된 서브밴드에 기초하여 근사 서브밴드 Pt-1을 획득하도록 구성되어 있으며, 상기 근사 서브밴드 Pt-1의 홀수 행 계수 또는 홀수 열 계수는 상기 제5 처리된 서브밴드에서 비롯되고, 상기 근사 서브밴드 Pt-1의 짝수 행 계수 또는 짝수 열 계수는 상기 제6 처리된 서브밴드에서 비롯되며, 상기 상세 서브밴드 I(N+1-t)1, 상기 상세 서브밴드 I(N+1-t)2 및 상기 상세 서브밴드 I(N+1-t)3의 해상도는 근사 서브밴드 PN+1-t의 해상도와 동일하고, t번째 인버스 웨이블릿 변환이 마지막 웨이블릿 변환일 때 상기 근사 서브밴드 Pt-1은 상기 재구성된 이미지이다.
실현 가능한 실시예에서, 상기 예측 조작은 CNN에 기초하여 구현되거나; 상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는 상기 업데이트 조작과 상기 예측 조작은 모두 CNN에 기초하여 구현된다.
실현 가능한 실시예에서, 상기 이미지 인코딩 장치는:
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한 후, 포스트-프로세싱 모델에 기초하여 상기 재구성된 이미지에 대해 포스트-프로세싱을 수행하여 처리된 재구성된 이미지를 획득하도록 구성되어 있는 포스트-프로세싱 모듈을 더 포함하고, 상기 포스트-프로세싱 모델은 심층 신경망에 기초하여 구현된다.
제6 관점에 따르면, 본 발명의 실시예는 트레이닝 장치를 추가로 제공하며, 상기 장치는:
웨이블릿 변환 모델을 초기화하도록 구성되어 있는 초기화 모듈; 및
상기 초기화된 웨이블릿 변환 모델에 기초하여 트레이닝 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 3N+1 개의 서브밴드를 획득하고; 상기 초기화된 웨이블릿 변환 모델에 기초하여 제1 서브대역, 제2 서브대역, 제3 서브대역, … 및 3N 개의 서브밴드에 대해 순차적으로 인버스 웨이블릿 변환을 수행하여 3N 개의 재구성된 이미지를 획득하고; 상기 트레이닝 이미지 및 상기 3N 개의 재구성된 이미지에 기초하여 손실값을 계산하며 - 여기서, 손실값 이고, Ri는 3N 개의 재구성된 이미지 중 i번째 이미지이고, I는 트레이닝 이미지임 - ; 그리고
상기 방법을 여러 번 반복하여 손실값 L의 변동 범위가 매우 작으면 웨이블릿 변환 모델의 트레이닝이 완료된 것으로 결정하고; 그렇지 않으면 앞의 방법에 따라 웨이블릿 변환 모델을 계속 트레이닝하도록 구성되어 있는 트레이닝 모듈
을 포함한다.
제7 관점에 따르면, 본 발명의 실시예는 다음을 포함하는 도로 주행 가능 영역 추론 장치를 제공하며, 상기 장치는:
실행 가능한 프로그램 코드를 저장하는 메모리; 및
메모리에 연결된 프로세서
를 포함하며,
상기 메모리에 저장된 실행 가능한 프로그램 코드를 호출할 때, 상기 프로세서는 제1 관점, 제2 관점 또는 제3 관점에 따른 방법의 일부 또는 모든 단계를 수행한다.
제8 관점에 따르면, 본 발명의 실시예는 컴퓨터 저장 매체를 더 제공하고, 여기서 컴퓨터 저장 매체는 프로그램을 저장할 수 있고, 프로그램이 처리 능력을 갖는 컴퓨팅 플랫폼 또는 프로세서에 의해 실행될 때, 일부 또는 제1 관점, 제2 관점, 또는 제3 관점에 따른 방법의 모든 단계가 구현된다.
본 발명의 이러한 관점 또는 다른 관점은 다음 실시예의 설명에서 더 명확하고 더 이해 가능하다.
본 발명의 실시예 또는 종래 기술의 기술적 해결 방안을 보다 명확하게 설명하기 위해, 이하에서는 실시예 또는 종래 기술의 설명에 사용되어야 하는 첨부 도면에 대해 간략히 설명한다. 하기 설명에서 첨부된 도면은 단지 본 발명의 일부 실시예를 도시한 것이며, 당업자는 창의적인 노력 없이 이들 첨부된 도면으로부터 다른 도면을 도출할 수 있음이 명백하다.
도 1은 본 발명의 일 실시예에 따른 이미지 인코딩의 개략적인 흐름도이다.
도 2는 본 발명의 실시예에 따른 이미지 인코딩의 다른 개략적인 흐름도이다.
도 3은 본 발명의 실시예에 따른 이미지 인코딩 아키텍처의 개략도이다.
도 4는 본 발명의 일 실시예에 따른 웨이블릿 변환 모델에서 심층 신경망 기반 예측 모듈의 구조를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 이미지 디코딩의 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 이미지 디코딩의 다른 개략적인 흐름도이다.
도 7은 본 발명의 실시예에 따른 이미지 디코딩 아키텍처의 개략도이다.
도 8은 본 발명의 일 실시예에 따른 신경망에 기초한 웨이블릿 변환의 종단간 트레이닝 프레임워크의 개략도이다.
도 9는 본 발명의 일 실시예에 따른 서브밴드 인코딩/디코딩 시퀀스의 개략도이다.
도 10은 본 발명의 실시예에 따른 이미지 인코딩의 다른 개략적인 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 이미지 인코딩의 다른 개략적인 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 이미지 인코딩 아키텍처의 개략도이다.
도 13은 본 발명의 실시예에 따른 다른 이미지 인코딩 아키텍처의 개략도이다.
도 14는 본 발명의 일 실시예에 따른 예측 모델 및 업데이트 모델의 구조를 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 엔트로피 디코딩의 구조의 개략도이다.
도 16a 및 도 16b는 본 발명의 일 실시예에 따른 윈도우 기능의 개략도이다.
도 17은 본 발명의 일 실시예에 따른 서브밴드 인코딩 프로세스의 개략도이다.
도 18은 본 발명의 일 실시예에 따른 컨볼루션 커널 윈도우잉 프로세스의 개략도이다.
도 19a는 본 발명의 일 실시예에 따른 결합 구조의 개략도이다.
도 19b는 본 발명의 일 실시예에 따른 다른 결합 구조의 개략도이다.
도 19c는 본 발명의 일 실시예에 따른 다른 결합 구조의 개략도이다.
도 20은 본 발명의 일 실시예에 따른 업샘플링 프로세스의 개략도이다.
도 21은 본 발명의 일 실시예에 따른 다른 윈도우 기능의 개략도이다.
도 22는 본 발명의 일 실시예에 따른 이미지 디코딩의 개략적인 흐름도이다.
도 23은 본 발명의 일 실시예에 따른 이미지 디코딩의 다른 개략적인 흐름도이다.
도 24는 본 발명의 일 실시예에 따른 이미지 디코딩 아키텍처의 개략도이다.
도 25는 본 발명의 실시예에 따른 다른 이미지 디코딩 아키텍처의 개략도이다.
도 26은 본 발명의 일 실시예에 따른 심층 신경망 기반 포스트-프로세싱 모델의 개략적인 프레임워크도이다.
도 27은 본 발명의 일 실시예에 따른 화상 부호화 장치의 구조의 개략도이다.
도 28은 본 발명의 일 실시예에 따른 화상 디코딩 장치의 구조의 개략도이다.
도 29는 본 발명의 일 실시예에 따른 트레이닝 장치의 구조의 개략도이다.
도 30은 본 발명의 일 실시예에 따른 화상 부호화 장치의 구조의 다른 개략도이다.
도 31은 본 발명의 실시예에 따른 화상 디코딩 장치의 구조의 다른 개략도이다.
도 32는 본 발명의 일 실시예에 따른 트레이닝 장치의 구조의 다른 개략도이다.
도 1은 본 발명의 일 실시예에 따른 이미지 인코딩의 개략적인 흐름도이다.
도 2는 본 발명의 실시예에 따른 이미지 인코딩의 다른 개략적인 흐름도이다.
도 3은 본 발명의 실시예에 따른 이미지 인코딩 아키텍처의 개략도이다.
도 4는 본 발명의 일 실시예에 따른 웨이블릿 변환 모델에서 심층 신경망 기반 예측 모듈의 구조를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 이미지 디코딩의 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 이미지 디코딩의 다른 개략적인 흐름도이다.
도 7은 본 발명의 실시예에 따른 이미지 디코딩 아키텍처의 개략도이다.
도 8은 본 발명의 일 실시예에 따른 신경망에 기초한 웨이블릿 변환의 종단간 트레이닝 프레임워크의 개략도이다.
도 9는 본 발명의 일 실시예에 따른 서브밴드 인코딩/디코딩 시퀀스의 개략도이다.
도 10은 본 발명의 실시예에 따른 이미지 인코딩의 다른 개략적인 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 이미지 인코딩의 다른 개략적인 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 이미지 인코딩 아키텍처의 개략도이다.
도 13은 본 발명의 실시예에 따른 다른 이미지 인코딩 아키텍처의 개략도이다.
도 14는 본 발명의 일 실시예에 따른 예측 모델 및 업데이트 모델의 구조를 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 엔트로피 디코딩의 구조의 개략도이다.
도 16a 및 도 16b는 본 발명의 일 실시예에 따른 윈도우 기능의 개략도이다.
도 17은 본 발명의 일 실시예에 따른 서브밴드 인코딩 프로세스의 개략도이다.
도 18은 본 발명의 일 실시예에 따른 컨볼루션 커널 윈도우잉 프로세스의 개략도이다.
도 19a는 본 발명의 일 실시예에 따른 결합 구조의 개략도이다.
도 19b는 본 발명의 일 실시예에 따른 다른 결합 구조의 개략도이다.
도 19c는 본 발명의 일 실시예에 따른 다른 결합 구조의 개략도이다.
도 20은 본 발명의 일 실시예에 따른 업샘플링 프로세스의 개략도이다.
도 21은 본 발명의 일 실시예에 따른 다른 윈도우 기능의 개략도이다.
도 22는 본 발명의 일 실시예에 따른 이미지 디코딩의 개략적인 흐름도이다.
도 23은 본 발명의 일 실시예에 따른 이미지 디코딩의 다른 개략적인 흐름도이다.
도 24는 본 발명의 일 실시예에 따른 이미지 디코딩 아키텍처의 개략도이다.
도 25는 본 발명의 실시예에 따른 다른 이미지 디코딩 아키텍처의 개략도이다.
도 26은 본 발명의 일 실시예에 따른 심층 신경망 기반 포스트-프로세싱 모델의 개략적인 프레임워크도이다.
도 27은 본 발명의 일 실시예에 따른 화상 부호화 장치의 구조의 개략도이다.
도 28은 본 발명의 일 실시예에 따른 화상 디코딩 장치의 구조의 개략도이다.
도 29는 본 발명의 일 실시예에 따른 트레이닝 장치의 구조의 개략도이다.
도 30은 본 발명의 일 실시예에 따른 화상 부호화 장치의 구조의 다른 개략도이다.
도 31은 본 발명의 실시예에 따른 화상 디코딩 장치의 구조의 다른 개략도이다.
도 32는 본 발명의 일 실시예에 따른 트레이닝 장치의 구조의 다른 개략도이다.
이하, 첨부된 도면을 참조하여 본 출원에서 웨이블릿 변환에 기초한 이미지 인코딩/디코딩의 구체적인 과정을 상세히 설명한다.
본 출원에서 사용된 숫자는 1에서 시작하거나 0에서 시작할 수 있으며, 이에 따라 최댓값이 변경된다는 점에 유의해야 한다. 1부터 시작하는 숫자는 이후 설명을 위해 사용된다.
먼저, 웨이블릿 변환에 기초한 이미지 인코딩 프로세스가 설명된다. 도 1에 도시된 바와 같이, 심층 신경망(deep neural network)에 기초한 웨이블릿 변환은 웨이블릿 계수를 획득하기 위해 인코딩될 이미지에 대해 수행되고; 압축된 비트스트림을 획득하기 위해 웨이블릿 계수에 대해 양자화 및 엔트로피 인코딩이 수행된다. 자세한 내용은 도 2를 참조한다. 도 2는 본 출원의 실시예에 따른 웨이블릿 변환에 기초한 이미지 인코딩 방법의 개략적인 흐름도이다. 도 2에 도시된 바와 같이, 방법은 다음 단계를 포함한다.
S201. 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득한다.
웨이블릿 변환 모델은 컨볼루션 신경망(convolutional neural network, CNN)을 기반으로 구현된다. 웨이블릿 계수는 3N+1 개의 서브밴드를 포함한다.
구체적으로, 도 3에 도시된 바와 같이, 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 i번째 웨이블릿 변환을 수행하는 것은 구체적으로:
홀수 샘플 성분 및 짝수 샘플 성분을 획득하기 위해 서브밴드 X를 분해하고, 여기서 홀수 샘플 성분은 서브밴드 X의 홀수 행(또는 열) 픽셀을 포함하고, 서브밴드 X의 짝수 샘플 성분은 짝수 행(또는 열) 픽셀을 포함하고; 홀수 샘플 성분 및 짝수 샘플 성분에 기초하여 중간 근사 성분을 획득하고, 여기서 중간 근사 성분의 해상도는 홀수 샘플 성분 및 짝수 샘플 성분의 해상도와 일치하고, 중간 근사 성분의 각각의 계수는 홀수 샘플 성분 및 짝수 샘플 성분에서 대응하는 위치에서의 계수의 합의 1/2이고; 웨이블릿 변환 모델에 기초한 중간 근사 성분을 사용하여 짝수 샘플 성분을 예측하여 제1 예측 성분을 획득하고, 여기서 제1 예측 성분의 해상도는 중간 근사 성분의 해상도와 일치하고; 그리고 상기 짝수 샘플 성분 및 상기 제1 예측 성분에 기초하여 중간 상세 성분을 획득하고, 여기서 상기 중간 상세 성분의 각각의 계수는 상기 짝수 샘플 성분과 상기 제1 예측 성분의 대응 위치에서의 계수 간의 차이이고;
제1 근사 샘플 성분 및 제2 근사 샘플 성분을 획득하기 위해 중간 근사 성분을 분해하고, 여기서 제1 근사 샘플 성분은 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수를 포함하고, 제2 근사 샘플 성분은 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수를 포함하고; 제1 근사 샘플 성분 및 제2 근사 샘플 성분에 기초하여 근사 서브밴드 Pi를 획득하고, 여기서 근사 서브밴드 Pi의 해상도는 제1 근사 샘플 성분 및 제2 근사 샘플 성분의 해상도와 동일하고, 근사 서브밴드 Pi는 제1 근사 샘플 성분 및 제2 근사 샘플 성분의 대응하는 위치에서 계수의 합의 1/2이고; 웨이블릿 변환 모델에 기초한 근사 서브밴드 Pi를 사용하여 제2 근사 샘플 성분을 예측하여 제2 예측 성분을 획득하고, 여기서 제2 예측 성분의 해상도는 근사 서브밴드 Pi의 해상도와 일치하며; 그리고 제2 근사 샘플 성분 및 제2 예측 성분에 기초하여 상세 서브밴드 Ii1을 획득하는 것을 포함하며, 여기서 상세 서브밴드 Ii1의 해상도는 제2 근사 샘플 성분 및 제2 예측 성분의 해상도와 동일하며, 상세 서브밴드 Ii1에서의 각각의 계수는 제2 근사 샘플 성분과 제2 예측 성분에서의 대응하는 위치에서의 계수 간의 차이이다.
유사하게, 중간 상세 성분은 중간 근사 성분 처리 방법에 따라 처리되어, 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3이 얻어진다. 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3의 해상도는 상세 서브밴드 Ii1의 해상도와 일치한다.
i가 1일 때, 서브밴드 X는 인코딩될 이미지이다. i가 1보다 클 때, 서브밴드 X는 근사 서브밴드 Pi-1이고, 근사 서브밴드 Pi-1은 인코딩될 이미지에 대해 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드이다.
여기서 i는 0부터 시작할 수 있다는 점에 유의해야 한다. 이 경우 최댓값은 N-1이다. 예를 들어, i가 0일 때, 서브밴드 X는 인코딩될 이미지이다.
여기서 주목해야 할 것은 인코딩될 이미지와 근사 서브밴드는 모두 2차원 데이터이므로 웨이블릿 변환은 심층 신경망에 기초하여 행 방향 및 열 방향으로 별도로 수행되어야 하는 웨이블릿 변환이다. 따라서, 인코딩될 이미지에 대해 심층 신경망 기반의 완전한 웨이블릿 변환을 수행할 때 CNN 기반의 웨이블릿 변환 모델을 총 3회 사용한다는 것을 전술한 과정을 통해 알 수 있다.
인코딩될 이미지에 대해 첫 번째 웨이블릿 변환이 수행된 후, 하나의 근사 서브밴드와 세 개의 상세 서브밴드가 획득된다는 점에 유의해야 한다. 인코딩될 이미지에 대해 두 번째 웨이블릿 변환을 수행하는 것은 구체적으로 근사 서브밴드 P1에 대해 웨이블릿 변환을 수행하여 근사 서브밴드 P2, 상세 서브밴드 I21, 상세 서브밴드 I22 및 상세 서브밴드 I23을 획득하는 것이며, 최대 총 1 개의 근사 서브밴드와 6 개의 상세 이미지가 획득된다. 인코딩될 이미지에 대해 세 번째 웨이블릿 변환을 수행하는 것은 구체적으로 두 번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드 P2에 대해 웨이블릿 변환을 수행하여 근사 서브밴드 P3, 상세 서브밴드 I31, 상세 서브밴드 I32, 및 상세 서브밴드 I33를 획득하고, 현재까지 총 1 개의 근사 서브밴드 및 9 개의 상세 이미지가 획득된다. 유추하여, 인코딩될 이미지에 대해 N 개의 웨이블릿 변환이 수행된 후, 총 하나의 근사화 이미지와 3*N 개의 상세 서브밴드가 획득된다. 따라서, 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행한 후, 총 3*N+1 개의 서브밴드가 얻어진다.
도 4는 웨이블릿 변환 모델에서 심층 신경망 기반 예측 모듈의 구조를 도시한 도면이다. 도 4에서 "3×3×24/tanh"는 현재 컨볼루션 레이어가 3×3 크기의 컨볼루션 커널을 사용하여 24 개의 특징 맵을 생성하고 그런 다음 tanh 활성화 함수를 사용한다는 것을 나타내고; "3×3×12/tanh"는 현재 컨볼루션 레이어가 3×3 크기의 컨볼루션 커널을 사용하여 12 개의 특징 맵을 생성하고 그런 다음 tanh 활성화 함수를 사용한다는 것을 나타내고; "1x1x48/tanh"는 현재 컨볼루션 레이어가 1x1 크기의 컨볼루션 커널을 사용하여 48 개의 특징 맵을 생성하고 그런 다음 tanh 활성화 함수를 사용한다는 것을 나타내고; "1x1x1/linear"는 현재 컨볼루션 레이어가 1x1 크기의 컨볼루션 커널을 사용하여 하나의 특징 맵을 생성하고 그런 다음 특징 맵에 대해 선형 연산을 수행함을 나타내고; 그리고 "concat"은 기능 맵에서 수행되는 연결 작업을 나타낸다.
일 실시예에서, 웨이블릿 변환 모델의 파라미터는 인코더 및 디코더에 내장되어 전송될 필요가 없다.
S202. 웨이블릿 계수에 대해 양자화 및 엔트로피 인코딩을 수행하여 인코딩될 이미지의 압축된 비트스트림을 획득한다.
여기에서 웨이블릿 계수에 대한 서브밴드 인코딩 방법은 양자화 및 엔트로피 인코딩의 두 단계를 포함한다는 점에 유의해야 한다. 일반적인 서브밴드 인코딩 방법에는 임베디드 제로트리 웨이블릿 변환(embedded zerotrees of wavelet transforms, EZW) 인코딩, 계층적 트리의 세트 파티셔닝(set partitioning in hierarchical trees, SPIHT) 알고리즘, 최적화된 절단을 사용한 임베디드 블록 코딩(embedded block coding with optimized truncation, EBCOT) 등이 포함된다. 특정 요구 사항을 참조하여 선택할 수 있다. 특정 양자화 및 엔트로피 인코딩 프로세스는 여기에서 다시 설명되지 않는다.
다음은 웨이블릿 변환에 기초한 이미지 디코딩 프로세스를 설명한다. 도 5에 도시된 바와 같이, 압축된 비트스트림에 대해 엔트로피 디코딩 및 역양자화를 수행하여 재구성된 웨이블릿 계수를 획득하고; 그리고 재구성된 웨이블릿 계수에 대해 심층 신경망에 기초한 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한다. 자세한 내용은 도 6을 참조한다. 도 6은 본 출원의 실시예에 따른 웨이블릿 변환에 기초한 이미지 디코딩 방법의 개략적인 흐름도이다. 도 6에 도시된 바와 같이, 방법은 다음 단계를 포함한다.
S601. 압축된 비트스트림에 대해 엔트로피 디코딩 및 역양자화를 수행하여 재구성된 웨이블릿 계수를 획득한다.
압축된 비트스트림에 대한 서브밴드 디코딩 방법은 엔트로피 디코딩 및 역양자화의 두 단계를 포함한다는 점에 주목해야 한다. 서브밴드 디코딩 방식은 인코더 측의 서브밴드 인코딩 방식에 대응하는 것으로, 여기서는 자세히 설명하지 않는다.
S602. 웨이블릿 변환 모델에 기초하여 재구성된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한다. 재구성된 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 3N+1 개의 서브밴드는 하나의 근사 서브밴드와 3N 개의 상세 서브밴드를 포함한다.
구체적으로, 도 7에 도시된 바와 같이, 웨이블릿 변환 모델에 기초하여 재구성된 웨이블릿 계수에 대해 t번째 인버스 웨이블릿 변환을 수행하는 단계는 구체적으로:
근사 서브밴드 PN+1-t 및 해상도가 근사 서브밴드 PN+1-t의 해상도와 동일한 3 개의 상세 서브밴드를 획득하는 단계 - 여기서 3 개의 상세 서브밴드는 각각 상세 서브밴드 I(N+1-t)1, 상세 서브밴드 I(N+1-t)2, 상세 서브밴드 I(N+1-t)3이고 상세 서브밴드 I(N+1-t)1 및 근사 서브밴드 PN+1-t는 인코딩 단계에서 동시에 생성됨 - ; 근사 서브밴드 PN+1-t에 기초하여 제1 증폭된 성분을 획득하는 단계 - 여기서 제1 증폭된 성분의 각각의 계수는 근사화 서브밴드 PN+1-t의 대응하는 위치에서 계수의 2배임 - ; 웨이블릿 변환 모델에 기초하여 근사 서브밴드 PN+1-t를 사용함으로써 예측을 수행하여 제1 예측 근사 성분을 획득하는 단계; 제1 예측 근사 성분과 상세 서브밴드 I(N+1-t)1에 기초하여 제1 짝수 샘플 성분을 획득하는 단계 - 여기서 제1 짝수 샘플 성분의 각각의 계수는 제1 예측 근사 성분 및 상세 서브밴드 I(N+1-t)1의 대응하는 위치에 있는 계수의 합임 - ; 제1 증폭 성분 및 제1 짝수 샘플 성분에 기초하여 제1 홀수 샘플 성분을 획득하는 단계 - 여기서 제1 홀수 샘플 성분의 각각의 계수는 제1 증폭된 성분 및 제1 짝수 샘플 성분의 대응하는 위치에서의 계수 간의 차이임 - ; 제1 짝수 샘플 성분과 제1 홀수 샘플 성분을 결합하여 행(또는 열) 해상도가 근사 서브밴드 PN+1-t의 해상도의 두 배인 중간 근사 성분을 획득하는 단계 - 여기서 중간 근사 성분의 홀수 행 계수 또는 홀수 열 계수는 제1 홀수 샘플 성분에서 비롯되고 중간 근사 성분의 짝수 행 계수 또는 짝수 열 계수는 제1 짝수 샘플 성분에서 비롯되고, 다시 말해, 중간 근사 성분의 홀수 행 계수 또는 홀수 열 계수는 제1 홀수 샘플 성분의 일부 또는 전체이고, 중간 근사 성분의 짝수 행 계수 또는 짝수 열 계수는 제1 짝수 샘플 성분의 일부 또는 전체임 - ;
상세 서브밴드 I(N+1-t)2에 기초하여 제2 증폭된 성분을 획득하는 단계 - 여기서 제2 증폭된 성분의 각각의 계수는 상세 서브밴드 I(N+1-t)2의 대응하는 위치에서 계수의 2배임 ; - 웨이블릿 변환 모델에 기초한 상세 서브밴드 I(N+1-t)2를 사용하여 예측을 수행함으로써 제1 예측된 상세 성분을 획득하는 단계; 제1 예측 상세 성분 및 상세 서브밴드 I(N+1-t)3에 기초하여 제2 짝수 샘플 성분을 획득하는 단계; 상기 제2 증폭 성분 및 상기 제2 짝수 샘플 성분에 기초하여 제2 홀수 샘플 성분을 획득하는 단계 - 상기 제2 홀수 샘플 이미지의 각각의 계수는 상기 제2 증폭 성분 및 상기 제2 짝수 샘플 성분의 대응 위치에서의 계수 간의 차이임 - ; 및 제2 짝수 샘플 성분과 제2 홀수 샘플 성분을 결합하여 중간 상세 성분을 획득하는 단계 - 여기서 중간 상세 성분의 열 또는 행의 해상도는 상세 서브밴드 I(N+1-t) 및 상세 서브밴드 I(N+1-t)3의 열 또는 행 해상도의 두 배이고, 중간 상세 성분의 홀수 열 계수 또는 홀수 행 계수는 제2 홀수 샘플 성분에서 비롯되고, 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수는 제2 짝수 샘플 구성 요소에서 비롯되며, 다시 말해, 중간 상세 성분의 홀수 열 계수 또는 홀수 행 계수는 제2 홀수 샘플 구성 요소의 일부 또는 전체이고 짝수 열 계수 또는 중간 상세 성분의 짝수 행 계수는 제2 짝수 샘플 성분의 일부 또는 전체임 - ;
중간 근사 성분에 기초하여 제3 증폭된 이미지를 획득하는 단계 - 여기서 제3 증폭된 성분의 각각의 계수는 중간 근사 성분의 대응하는 위치에서 픽셀 값의 2배임 - ; 웨이블릿 변환 모델에 기초하여 중간 근사 성분을 사용하여 예측을 수행하여 제1 예측 성분을 획득하는 단계; 상기 제1 예측 컴포넌트 및 중간 상세 컴포넌트에 기초하여 제3 짝수 샘플 컴포넌트를 획득하는 단계; 제3 증폭 성분 및 제3 짝수 샘플 성분에 기초하여 제3 홀수 샘플 성분을 획득하는 단계 - 여기서 제3 홀수 샘플 성분의 각각의 계수는 제3 증폭 성분 및 제3 짝수 샘플 성분의 대응하는 위치에서의 계수 간의 차이임 - ; 및 제3 짝수 샘플 성분과 제3 홀수 샘플 성분을 결합하여 근사 서브밴드 PN-t를 획득하는 단계 - 여기서 근사 서브밴드 PN-t의 해상도는 근사 서브밴드 PN+1-t의 해상도의 두 배이고 홀수 행 근사 서브밴드 PN-t의 계수 또는 홀수 열 계수는 제3 홀수 샘플 성분에서 비롯되고, 근사 서브밴드 PN-t의 짝수 행 계수 또는 짝수 열 계수는 제3 짝수 샘플 성분에서 비롯되고, 근사 서브밴드 PN-t의 홀수 행 계수 또는 홀수 열 계수는 제3 홀수 샘플 성분의 일부 또는 전체이고, 근사 서브밴드 PN-t의 짝수 행 계수 또는 짝수 열 계수는 일부 또는 제3 짝수 샘플 성분의 전체임 -
를 포함한다.
여기에서 3N+1 개의 서브밴드에서 근사 서브밴드는 인코딩될 이미지에 대해 N번째 웨이블릿 변환을 수행함으로써 획득된다는 점에 유의해야 한다. 여기서 근사 서브밴드는 PN으로 표시될 수 있고, 동시에 획득되는 3 개의 상세 서브밴드는 상세 서브밴드 IN1, 상세 서브밴드 IN2 및 상세 서브밴드 IN3으로 각각 표시될 수 있다. 상세 서브밴드 IN1 및 근사 서브밴드 PN이 동시에 획득된다. 첫 번째 인버스 웨이블릿 변환의 대상은 근사 서브밴드 PN, 상세 서브밴드 IN1, 상세 서브밴드 IN2 및 상세 서브밴드 IN3이다. 두 번째 인버스 웨이블릿 변환의 대상은 근사 서브밴드 PN-1, 상세 서브밴드 I(N-1)1, 상세 서브밴드 I(N-1)2 및 상세 서브밴드 I(N-1)3이다. 세 번째 인버스 웨이블릿 변환의 대상은 근사 서브밴드 PN-2, 상세 서브밴드 I(N-2)1, 상세 서브밴드 I(N-2)2, 상세 서브밴드 I(N-2)3이다. 이 방법은 유추에 의해 적용된다. t번째 인버스 웨이블릿 변환의 대상은 근사 서브밴드 PN+1-t, 상세 서브밴드 I(N+1-t)1, 상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3이다.
전술한 방법에 따르면, N 개의 인버스 웨이블릿 변환은 재구성된 이미지를 획득하기 위해 수행된다. t가 N과 같을 때 근사 서브밴드 Pt-1은 재구성된 이미지이다.
여기에서 t는 0에서 시작할 수 있고 최댓값은 N-1이라는 점에 유의해야 한다. t가 N-1과 같을 때 근사 서브밴드 Pt-1은 재구성된 이미지이다.
가능한 실시예에서, 웨이블릿 변환 모델은 인코딩될 이미지에 대해 웨이블릿 변환이 수행되고 웨이블릿 변환 모델에 기초하여 재구성된 웨이블릿 계수에 대해 인버스 웨이블릿 변환이 수행되기 전에 트레이닝된다.
도 8은 본 발명의 일 실시예에 따른 신경망 기반 웨이블릿 변환의 종단간 트레이닝 프레임워크의 개략도이다. 구체적으로, 웨이블릿 변환 모델을 트레이닝하는 특정 과정은 다음과 같은 단계를 포함한다.
웨이블릿 변환 모델이 초기화되고; 3N+1 개의 서브밴드를 획득하기 위해 초기화된 웨이블릿 변환 모델에 기초하여 트레이닝 이미지에 N 웨이블릿 변환이 수행된다. 구체적인 과정은 도 2에 도시된 실시예의 관련 설명을 참조한다. 자세한 내용은 여기에서 다시 설명하지 않는다. 초기화된 웨이블릿 변환 모델에 기초하여 제1 서브대역, 제2 서브대역, 제3 서브대역, … 및 3N 개의 서브밴드에 대해 순차적으로 인버스 웨이블릿 변환을 수행하여 3N 개의 재구성된 이미지를 획득한다. 구체적인 과정은 도 6에 도시된 실시예의 관련 설명을 참조한다. 자세한 내용은 여기에서 다시 설명하지 않는다. 인버스 웨이블릿 변환 동안 서브밴드를 선택하는 순서는 도 9를 참조한다. 도 9는 N=2를 기준으로 제시된다. 트레이닝 이미지 및 3N 개의 재구성된 이미지에 기초하여 손실값을 계산하며, 여기서 손실값 이고, Ri는 3N 개의 재구성된 이미지 중 i번째 이미지이고, I는 트레이닝 이미지이다. 웨이블릿 변환 모델의 파라미터는 손실값을 기반으로 업데이트되어 새로운 웨이블릿 변환 모델을 획득한다.
그런 다음 새로운 웨이블릿 변환 모델을 사용하여 전술한 방법을 수행하여 3N 개의 새로운 재구성된 이미지를 획득한다. 그런 다음 트레이닝 이미지 및 새로운 3N 재구성된 이미지에 기초하여 손실값이 다시 계산되고; 손실값의 변동 간격이 충분히 작거나 손실값이 값에 근접하면 웨이블릿 변환 모델의 트레이닝이 완료된 것으로 결정되고; 그렇지 않으면, 웨이블릿 변환 모델의 파라미터는 계속해서 앞의 방법에 따라 트레이닝되고, 그런 다음 앞의 방법에 따라 다시 손실값을 얻고 트레이닝이 계속 수행된다.
N 개의 웨이블릿 변환에서 웨이블릿 변환 모델의 파라미터가 일관되기 때문에 이러한 트레이닝을 통해 얻은 웨이블릿 변환 모델은 해상도에 독립적이며 임의의 횟수에 대한 분해를 제공할 수 있다.
일 실시예에서, N은 이전 값, 예를 들어 N=3이다.
여기서, 서브밴드 인코딩 과정(즉, 후속 양자화 및 엔트로피 인코딩)에서 각 서브밴드의 중요도는 기존의 웨이블릿 변환을 기반으로 평가되며, 각 서브밴드는 동일한 중요성을 갖는 것으로 간주된다는 점에 유의해야 한다. 심층 신경망에 기초하여 웨이블릿 변환을 수행하여 얻은 각 서브밴드의 에너지 균형을 맞추고 미리 설정된 알고리즘에 따라 3N+1 개의 서브밴드의 이득 계수를 얻기 위해 서브밴드 인코딩 과정에서 웨이브렛 변환을 통해 얻은 웨이브렛 계수를 대응하는 이득 계수에 곱하여 최종 웨이블릿 계수를 획득하고; 디코딩 프로세스에서, 디코딩되거나 재구성된 웨이블릿 계수를 대응하는 이득 계수로 나눈 다음, 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한다.
다음은 3N+1 개의 서브밴드의 이득 계수를 얻기 위한 미리 설정된 알고리즘에 대해 자세히 설명한다.
사전 설정 알고리즘의 주요 내용은 다음과 같다:
전술한 방법을 이미지 인코딩에 적용하면, 상술한 방법에 따라 각각의 가용 값 N에 기초한 계산을 통해 이득 계수를 얻을 수 있으며, 이는 인코더 및 디코더에 내장된다.
본 출원의 이 실시예의 솔루션에서, 종래의 웨이블릿 변환에 기초한 이미지 인코딩/디코딩 방법에서, 심층 신경망에 기초하여 획득된 웨이블릿 변환 모델을 사용하여 웨이블릿 변환 및 인버스 웨이블릿 변환을 수행한다. 심층 신경망 기반의 웨이블릿 변환 모델은 트레이닝 방법을 사용하여 많은 양의 자연 이미지를 사용하여 최적화를 통해 얻어지기 때문에 웨이블릿 변환 모델은 기존의 웨이블릿 변환보다 더 간결한 변환 도메인 표현을 제공할 수 있으므로 인코딩/디코딩 성능이 크게 향상된다. 웨이블릿 변환 모델의 기능을 GPU를 사용하여 구현하는 경우, 웨이블릿 변환 모델은 기존의 웨이블릿 변환과 동일한 속도를 갖는다. 다수의 인코딩 시도를 통해 최적의 방향 파라미터를 선택하는 적응형 방향성 웨이블릿에 비해 웨이블릿 변환 모델은 시간 복잡도가 낮은 장점이 있으며 자연 이미지 특성의 다양성과 복잡도와 인공적으로 설계된 웨이블릿 기본 기능의 이상과 단순성 간의 모순을 해결한다.
웨이블릿 변환에 기초한 이미지 인코딩의 다른 프로세스가 여기에서 설명된다. 도 10에 도시된 바와 같이, 인코딩될 이미지에 대해 심층 신경망 기반의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득한다. 웨이블릿 계수에 대해 양자화 처리를 수행하여 양자화된 웨이블릿 계수를 획득하고; 양자화된 웨이블릿 계수에 대해 심층 신경망에 기초한 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계를 포함한다. 구체적인 과정은 도 11을 참조한다. 도 11은 본 출원의 실시예에 따른 웨이블릿 변환에 기초한 다른 이미지 인코딩 방법의 개략적인 흐름도이다. 도 11에 도시된 바와 같이, 방법은 다음 단계를 포함한다.
S1101. 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득한다.
웨이블릿 변환 모델은 CNN 기반으로 구현되며, 웨이블릿 변환 모델은 업데이트 모델과 예측 모델을 포함하며, 업데이트 모델과 예측 모델의 파라미터가 다르다.
실현 가능한 실시예에서, 도 12에 도시된 바와 같이, 웨이블릿 변환 모델은 예측 모델 및 업데이트 모델을 포함하고, 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계는:
i번째 웨이블릿 변환을 수행할 때, 서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하는 단계 - 여기서 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함함 - ; 홀수 샘플 성분을 사용하여 예측 모델에 기초하여 예측을 수행하여 예측 성분을 획득하는 단계 - 여기서 예측 성분의 해상도는 홀수 샘플 성분의 해상도와 일치함 - ; 예측 성분 및 짝수 샘플 성분에 기초하여 중간 상세 성분을 획득하는 단계 - 중간 상세 성분의 각각의 계수는 짝수 샘플 성분과 예측된 성분의 대응 위치에서의 계수 간의 차이의 b배임 - ; 중간 상세 성분을 사용하여 업데이트 모델에 기초한 업데이트 조작을 수행하여 업데이트된 구성요소를 획득하는 단계 - 여기서 업데이트된 구성요소의 해상도는 중간 상세 성분의 해상도와 일치함 - ; 및 홀수 샘플 성분 및 업데이트된 성분에 기초하여 중간 근사 성분을 획득하는 단계 - 여기서 중간 근사 성분의 각각의 계수는 홀수 샘플 성분 및 업데이트된 성분의 대응하는 위치에서의 계수의 합을 곱한 것임 -
를 포함한다.
유사하게, 서브밴드 X에 대한 처리 방법에 따르면, 중간 근사 성분을 처리하여 근사 서브밴드 및 상세 서브밴드 Ii1을 획득하고, 중간 상세 이미지를 처리하여 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득한다.
i가 1일 때, 서브밴드 X는 인코딩될 이미지이다. i가 1보다 클 때 서브밴드 X는 근사 서브밴드 Pi-1이고, 여기서 근사 서브밴드 Pi-1은 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드이며, 웨이블릿 계수는 상세 서브밴드와 근사치를 포함한다. N 개의 웨이블릿 변환을 수행한 서브밴드는 총 3N+1 개의 서브밴드가 있다.
또 다른 가능한 실시예에서, 도 13에 도시된 바와 같이, 웨이블릿 변환 모델은 예측 모델 및 업데이트 모델을 포함하고, 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 i번째 웨이블릿 변환을 수행하는 단계는 구체적으로:
서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하는 단계 - 여기서 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함함 - ; 홀수 샘플 성분을 사용하여 예측 모델에 기초한 예측을 수행하여 제1 예측 성분을 획득하는 단계; 짝수 샘플 성분 및 제1 예측 성분에 기초하여 제1 보조 업데이트 성분을 획득하는 단계 - 제1 보조 업데이트 성분의 각각의 계수는 짝수 샘플 성분과 제1 예측 성분의 대응하는 위치에서의 계수 간의 차이임 - ; 제1 보조 업데이트된 성분을 사용하여 업데이트 모델에 기초한 업데이트를 수행하여 제1 업데이트된 성분을 획득하는 단계; 제1 업데이트된 성분 및 홀수 샘플 성분에 기초하여 제1 보조 예측 성분을 획득하는 단계 - 제1 보조 예측된 성분의 각각의 계수는 제1 업데이트된 성분 및 홀수 샘플 성분의 대응하는 위치에서의 계수의 합임 - ; 제1 보조 예측 성분을 사용하여 예측 모델에 기초한 예측 조작을 수행하여 제2 예측 성분을 획득하는 단계; 제1 보조 업데이트 성분 및 제2 예측 성분에 기초하여 제2 보조 업데이트 성분을 획득하는 단계 - 여기서 제2 보조 업데이트 성분의 각각의 계수는 제1 보조 업데이트 성분과 제2 예측 성분의 대응하는 위치에서의 계수 간의 차이임 - ; 제2 보조 업데이트 컴포넌트에 기초하여 중간 상세 컴포넌트를 획득하는 단계 - 중간 상세 컴포넌트의 각각의 계수는 제2 보조 업데이트 컴포넌트의 대응하는 위치에서의 계수의 b배임 - ; 제2 보조 업데이트 컴포넌트를 사용하여 업데이트 모델에 기초하여 제2 업데이트 컴포넌트를 획득하는 단계; 및 상기 제1 업데이트된 성분 및 상기 제2 업데이트된 성분에 기초하여 중간 근사 성분을 획득하는 단계 - 상기 중간 근사 성분의 각각의 계수는 상기 제1 업데이트된 성분 및 상기 제2 업데이트된 성분의 대응하는 위치에서의 계수의 합이고, 및 b는 스케일링 파라미터이며 웨이블릿 변환 모델의 파라미터의 일부임 -
를 포함한다.
전술한 서브밴드 X 처리 프로세스에 따르면, 중간 근사 성분은 또한 근사 서브밴드 Pi 및 상세 서브밴드 Ii1을 획득하도록 처리되고, 중간 상세 성분은 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득하도록 처리된다.
i가 1일 때, 서브밴드 X는 인코딩될 이미지이다. i가 1보다 클 때 서브밴드 X는 근사 서브밴드 Pi-1이고, 여기서 근사 서브밴드 Pi-1은 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드이며, 웨이블릿 계수는 상세 서브밴드와 근사치를 포함한다. N 개의 웨이블릿 변환을 수행한 서브밴드는 총 3N+1 개의 서브밴드가 있다.
여기에서 i는 0부터 시작할 수 있다는 점에 유의해야 한다. 이 경우, i의 최댓값은 N-1이다. 예를 들어, i가 0일 때, 서브밴드 X는 인코딩될 이미지이다.
도 13 및 도 12로부터 알 수 있는 바와 같이 도 13에 도시된 웨이블릿 변환 과정은 도 12에 도시된 바와 같다는 것에 주목되어야 한다. 도 12는 도 13에 도시된 것보다 하나 이상의 예측 및 업데이트 프로세스를 포함한다. 도 12는 하나의 예측 및 업데이트 프로세스를 포함하고, 도 13은 2 개의 예측 및 업데이트 프로세스를 포함하는 것으로 고려될 수 있다. 확실히, 업데이트 및 예측의 양은 대안적으로 다른 값일 수 있다. 업데이트 및 예측의 양은 이 출원에서 제한되지 않는다.
도 14는 일반적인 예측 모델의 구조를 나타낸 도면이다. 구조의 다이어그램은 또한 업데이트 모델의 구조의 다이어그램으로 간주될 수 있다. 도 14에서 "3x3x1"은 현재 컨볼루션 레이어가 3x3 크기의 컨볼루션 커널을 사용하여 현재 컨볼루션 레이어를 통과한 후 하나의 특징 맵을 생성하고 활성화 함수를 사용하지 않음을 나타내고; 그리고 "tanh/3×3×16"은 현재 컨볼루션 레이어가 3×3 크기의 컨볼루션 커널을 사용하여 현재 컨볼루션 레이어를 통과한 후 16 개의 특징 맵을 생성하고 tanh를 활성화 함수로 사용한다는 것을 나타낸다.
여기서, N 개의 웨이블릿 변환을 수행하는 과정에서 각 웨이블릿 변환에 사용되는 예측 모델의 파라미터가 다를 수 있고, 사용되는 예측 모델의 파라미터도 다를 수 있음에 유의해야 한다.
일 예에서, 웨이블릿 변환 모델의 파라미터(예측 모델의 파라미터 및 업데이트 모델의 파라미터 및 스케일링 계수 포함)는 인코더 및 디코더에 내장되어 전송할 필요가 없다.
S1102. 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득한다.
양자화 단계 QP는 웨이블릿 변환 모델과 엔트로피 인코딩 모델의 공동 트레이닝 과정에서 획득될 수 있다는 점에 유의해야 한다.
S1103. 엔트로피 인코딩 모델에 기초하여 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득한다.
양자화된 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 3N+1 개의 서브밴드는 하나의 근사 서브밴드와 3N 개의 상세 서브밴드를 포함한다.
실현 가능한 실시예에서, 압축된 비트스트림을 획득하기 위해 엔트로피 인코딩 모델에 기초하여 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하는 단계는:
엔트로피 인코딩 모델에 기초하여 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하는 단계
를 포함하고, 여기서 엔트로피 인코딩 모델은 심층 신경망에 기초하여 구현된다.
또한, 압축된 비트스트림을 획득하기 위해 엔트로피 인코딩 모델에 기초하여 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하는 단계는:
엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계 - 여기서 인코딩될 계수는 s번째 서브밴드에서의 임의의 계수이고, s번째 서브밴드는 3N+1 서브밴드 중 어느 하나임 - ; 인코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 인코딩될 계수의 누적 확률 분포 함수를 획득하는 단계; 인코딩될 계수 및 인코딩될 계수의 누적 확률 분포 함수에 기초하여 인코딩될 계수의 확률 분포를 획득하는 단계; 및 산술 인코더를 사용하여 인코딩될 계수의 확률 분포에 기초하여 인코딩될 계수에 대해 엔트로피 인코딩을 수행하여 인코딩될 계수에 대응하는 비트스트림을 획득하는 단계 - 압축된 비트스트림은 인코딩될 계수에 대응하는 비트스트림을 포함함 -
를 포함한다.
여기서 3N+1 개의 서브밴드는 도 9에 도시된 서브밴드 시퀀스에 기초하여 인코딩되며, 여기서 제1 서브밴드가 근사화 서브밴드이고 나머지 서브밴드가 상세 서브밴드이며, 근사 서브밴드와 상세 서브밴드의 차이가 존재한다는 것에 유의한다. 따라서, 근사 서브밴드와 상세 서브밴드에 대해 서로 다른 인코딩 모드가 사용된다. 다시 말해, 제1 서브밴드와 제1이 아닌 서브밴드에서 계수의 누적 확률 분포 함수의 파라미터는 서로 다른 방식으로 얻어진다.
가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 엔트로피 인코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 엔트로피 인코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 정수 0보다 크며, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하는 단계; 및 제1 윈도우화된 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계; 또는 M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 동안, j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여, 제2 윈도우화된 컨볼루션 커널을 획득하는 단계; 및 제2 윈도우화된 컨볼루션 커널에 기초하여 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하는 단계
를 포함하며, 여기서
j가 1일 때, j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드이거나; j가 1보다 크고 M보다 크지 않을 때, j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, j번째 출력 데이터는 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
예를 들어, 엔트로피 인코딩 모델이 도 4에 도시되어 있다고 가정한다. 도 15를 참조하면, 엔트로피 인코딩 모델은 4 개의 컨볼루션 레이어를 포함하며, 여기서 제1 컨볼루션 레이어 "5x5x128/mask"는 현재 컨볼루션 레이어가 5x5 크기의 컨볼루션 커널을 사용하여 현재 컨볼루션 레이어를 통과한 후 128 개의 특징 맵을 생성한다는 것을 나타내고, 마스크는 윈도우 작업이 이 레이어의 컨볼루션 작업을 위한 것임을 나타내고; 두 번째 컨볼루션 레이어 "3x3x128/relu"는 현재 컨볼루션 레이어가 3x3 크기의 컨볼루션 커널을 사용하여 현재 컨볼루션 레이어를 통과한 후 128 개의 특징 맵을 생성하고 relu를 활성화 함수로 사용한다는 것을 나타내고; 세 번째 컨볼루션 레이어는 두 번째 컨볼루션 레이어와 동일하며, "3×3×128/relu"는 현재 컨볼루션 레이어가 3×3 크기의 컨볼루션 커널을 사용하여 현재 컨볼루션을 통과한 후 128 개의 특징 맵을 생성하고 relu를 활성화 함수로 사용한다는 것을 나타내고; 그리고 네 번째 컨볼루션 레이어 3x3x58은 현재 컨볼루션 레이어가 3x3 크기의 컨볼루션 커널을 사용하여 현재 컨볼루션 레이어를 통과한 후 58 개의 특징 맵을 생성하고 활성화 함수를 사용하지 않는다는 것을 나타낸다.
여기서 유의해야 할 점은 복수의 컨볼루션 레이어를 포함하는 엔트로피 인코딩 모델의 경우, 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 계산하는 과정에서 제1 컨볼루션 레이어에 대응하는 컨볼루션 레이어뿐만 아니라 엔트로피 인코딩 모델에서 임의의 하나 이상의 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작이 수행되지 않는다. 다시 말해, 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 계산하는 과정에서, 엔트로피 인코딩 모델에서 어느 하나 이상의 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행할 수 있다.
제1 서브밴드가 도 15에 도시된 엔트로피 인코딩 모델에 입력될 때, 먼저, 도 16a에 도시된 윈도우 기능은 제1 컨볼루션 레이어의 컨볼루션 커널(즉, 5x5)에 대해 윈도우잉 조작을 수행하여 윈도우화된 컨볼루션 커널을 획득하고, 그런 다음 윈도우화된 컨볼루션 커널을 기반으로 제1 서브밴드에 대해 컨볼루션 조작을 수행하는 데 사용되며, 128 개의 기능 맵을 획득한다. 그러면 도 16b에 도시된 윈도우 기능이 두 번째 컨볼루션 레이어의 컨볼루션 커널(즉, 3x3)에 대해 윈도우잉 조작을 수행하는 데 사용되어 윈도우화된 컨볼루션 커널을 획득하고, 그런 다음 제1 컨볼루션 레이어에서 출력된 128 개의 특징 맵에 대해 컨볼루션 조작을 수행하고, 128 개의 기능 맵을 획득한다. 도 16a 및 도 16a로부터 두 윈도우 함수의 중심값이 다르다는 것을 보여준다. 도 16b에 도시된 윈도우 기능은 세 번째 컨볼루션 레이어의 컨볼루션 커널(즉, 3x3)에 대해 윈도우잉 조작을 수행하는 데 사용되어 윈도우화된 컨볼루션 커널을 획득하고, 그런 다음 두 번째 컨볼루션 레이어에서 출력된 128 개의 특징 맵에 대해 컨볼루션 조작이 수행되어, 128 개의 기능 맵을 획득한다. 도 16b에 도시된 윈도우 기능은 네 번째 컨볼루션 레이어의 컨볼루션 커널(즉, 3x3)에 대해 윈도우잉 조작을 수행하는 데 사용되어 윈도우화된 컨볼루션 커널을 획득하고, 그런 다음 세 번째 컨볼루션 레이어에서 출력된 128 개의 특징 맵에 대해 컨볼루션 조작이 수행되어, 58 개의 기능 맵을 획득한다. 58 개의 특징 맵은 인코딩될 함수의 누적 확률 분포 함수의 파라미터를 구성한다.
다음은 컨볼루션 레이어의 컨볼루션 커널에 대해 윈도우잉 조작을 수행하는 목적을 설명하기 위해 예를 사용한다. 도 16에 도시된 바와 같이, 큰 블록은 현재 인코딩되고 있는 서브밴드이고, 서브밴드에서 계수의 인코딩 시퀀스는 왼쪽에서 오른쪽, 위에서 아래로이고, 현재 컨볼루션 레이어의 컨볼루션 커널은 5x5이고, 현재 인코딩될 계수는 도 17의 5x5 그리드의 중앙 위치에서 "X"이다. 계수의 인코딩 시퀀스에 기초하여 "X" 이전의 계수는 인코딩된 계수이고 "X" 이후의 계수는 인코딩되지 않은 계수이다. 현재 부호화될 계수의 누적 확률 분포 함수의 파라미터는 부호화된 계수들로부터의 추론에 의해서만 획득될 수 있다. 따라서 컨볼루션 과정에서 인코딩된 계수에 대해서만 컨볼루션 조작을 수행하기 위해서는 컨볼루션 조작을 수행하기 전에 윈도우 함수를 사용하여 컨볼루션 커널에 대해 윈도우잉 조작을 수행한다. 윈도우 함수의 크기는 컨볼루션 커널의 크기와 같다.
도 18은 컨볼루션 커널 윈도우잉의 원리의 개략도이다. 도 18에 도시된 바와 같이, 윈도우화된 컨볼루션 커널을 얻기 위해 컨볼루션 커널과 윈도우 함수에 대해 포인트 곱셈을 수행한다. 윈도우화된 컨볼루션 커널에서 왼쪽에서 오른쪽으로, 위에서 아래로 순서대로 중앙 위치 이전의 값은 변하지 않고 중앙 위치 이후의 값은 모두 0으로 설정된다. 이것은 윈도우화된 컨볼루션 커널을 사용함으로써 컨볼루션 조작을 수행할 때, 인코딩된 계수인 "X" 이전의 계수만 조작에 참여하고 인코딩된 계수가 아닌 "X" 이후의 계수는 조작에 참여하지 못하도록 하여 디코딩 논리의 정확성을 보장한다.
여기서 유의해야 할 점은 제1 서브밴드의 계수를 인코딩할 때 일부 계수를 중심으로 사용하기 때문에 컨볼루션 커널과 크기가 동일한 영역에 공백 부분이 있고, 그 공백 부분은 채워야 하는데 일반적으로 "0"으로 채워진다. 그런 다음 계수의 누적 확률 분포 함수의 파라미터는 전술한 방법에 따라 구한다.
다른 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 엔트로피 인코딩 모델은 제1 엔트로피 인코딩 모델, 제2 엔트로피 인코딩 모델, 및 제3 엔트로피 인코딩 모델을 포함하며, 제1 엔트로피 인코딩 모델 및 제2 엔트로피 인코딩 모델은 모두 pixelCNN에 기초하여 구현되고, 제3 엔트로피 인코딩 모델은 순환 신경망(recurrent neural network, RNN)에 기초하여 구현되며, 제1 엔트로피 인코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 인코딩 모델은 T2 개의 컨볼루션 레이어를 포함하고, T1 및 T2는 모두 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하는 단계 - 여기서 제1 출력 결과는 제2 엔트로피 인코딩 모델의 입력 데이터이고 s번째 서브밴드는 제1 엔트로피 인코딩 모델의 입력 데이터임 - ; 및
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과 및 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 여기서 제2 출력 결과는 인코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2는 각각 제1 엔트로피 인코딩 모델 및 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과 및 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 컨볼루션 레이어 C1은 다음과 같다. 제1 엔트로피 인코딩 모델에서 q번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 제2 출력 결과는 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 제2 출력 결과는 제1 엔트로피 인코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터임 - ; 또는
T1과 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1과 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C1은 제1 엔트로피 인코딩 모델에서 q1번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 인코딩 모델에서 q2번째 컨볼루션 레이어이고, q1이 T1과 같고 q2가 T2와 같으면 제2 출력 결과는 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작고 q2가 0보다 크고 T2보다 작으면 제2 출력 결과는 제1 엔트로피 인코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 컨볼루션 레이어 C2의 출력 결과는 제2 엔트로피 인코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터임 -
를 포함한다.
구체적으로, T1과 T2가 모두 1일 때, 즉, 제1 엔트로피 인코딩 모델과 제2 엔트로피 인코딩 모델이 모두 하나의 컨볼루션 레이어를 포함할 때, 도 19a에 도시된 바와 같이, 제1 엔트로피 인코딩 모델의 입력 데이터는 s번째 서브밴드이고, 제2 엔트로피 인코딩 모델의 입력 데이터는 제3 엔트로피 인코딩 모델(즉, RNN)의 출력 데이터(즉, 제1 출력 결과)이다. 제1 엔트로피 인코딩 모델의 컨볼루션 레이어(즉, 컨볼루션 레이어 C1)와 제2 엔트로피 인코딩 모델의 컨볼루션 레이어(즉, 컨볼루션 레이어 C2)를 기반으로 s번째 서브밴드와 제1 출력 데이터에 대해 조합 조작이 수행되어 제2 출력 결과를 획득한다. 일 예에서, 제1 엔트로피 인코딩 모델에서 컨볼루션 레이어는 "5×5×128/mask"이고, 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어는 "5×5×128"이다.
T1이 1보다 크고 T2가 1과 같을 때, 제1 엔트로피 인코딩 모델은 복수의 컨볼루션 레이어를 포함하고, 제2 엔트로피 인코딩 모델은 하나의 컨볼루션 레이어를 포함한다. 가능한 실시예에서, 조합 조작은 제1 엔트로피 인코딩 모델의 임의의 컨볼루션 레이어 및 제2 엔트로피 인코딩 모델의 컨볼루션 레이어에 기초하여 수행될 수 있으며, 즉, 컨볼루션 레이어 C1은 제1 엔트로피 인코딩 모델의 임의의 컨볼루션 레이어이다. 예를 들어, 제1 엔트로피 인코딩 모델의 q번째 컨볼루션 레이어와 제2 엔트로피 인코딩 모델의 컨볼루션 레이어를 기반으로 조합 조작이 수행된다. q가 T1일 때, q번째 컨볼루션 레이어의 입력 데이터는 (q-1)번째 컨볼루션 레이어의 출력 데이터이고, 제2 출력 결과는 인코딩될 계수의 누적 확률 분포 함수의 파라미터이다. q가 T1보다 작고 1보다 클 때, q번째 컨볼루션 레이어의 입력 데이터는 (q-1)번째 컨볼루션 레이어의 출력 데이터이고, q번째 컨볼루션 레이어의 출력 데이터는 (q+1)번째 컨볼루션 레이어의 입력 데이터이다. q가 1일 때, q번째 컨볼루션 레이어의 입력 데이터는 s번째 서브밴드이고, q번째 컨볼루션 레이어의 출력 데이터는 (q+1)번째 컨볼루션 레이어의 입력 데이터이다. 도 19b에 도시된 바와 같이, 제1 엔트로피 인코딩 모델은 4 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 인코딩 모델은 하나의 컨볼루션 레이어를 포함하며, 제1 엔트로피 인코딩 모델의 제1 컨볼루션 레이어와 제2 엔트로피 인코딩 모델의 컨볼루션 레이어를 기반으로 조합 조작이 수행된다.
T1 및 T2가 모두 1보다 클 때, 즉 제1 엔트로피 인코딩 모델 및 제2 엔트로피 인코딩 모델이 모두 복수의 컨볼루션 레이어를 포함하는 경우, 조합 조작은 제1 엔트로피 인코딩 모델 및 제2 엔트로피 인코딩 모델의 복수의 컨볼루션 레이어에 기초하여 수행된다. 도 19c에 도시된 바와 같이, 제1 엔트로피 인코딩 모델과 제2 엔트로피 인코딩 모델은 모두 4 개의 컨볼루션 레이어를 포함하고, 제1 엔트로피 인코딩 모델의 제2 컨볼루션 레이어와 제2 엔트로피 인코딩 모델의 제3 컨볼루션 레이어를 기반으로 조합 조작을 수행하고, 제1 엔트로피 인코딩 모델의 제4 컨볼루션 레이어 및 제2 엔트로피 인코딩 모델의 제4 컨볼루션 레이어에 기초하여 조합 조작이 수행된다. 제1 엔트로피 인코딩 모델에서 제2 컨볼루션 레이어의 입력 데이터는 제1 컨볼루션 레이어에서 s번째 서브밴드에 대해 컨볼루션 프로세싱을 수행하여 얻은 데이터이고; 제2 엔트로피 인코딩 모델에서 제3 컨볼루션 레이어의 입력 데이터는 제1 컨볼루션 레이어 및 제2 컨볼루션 레이어에서 제1 출력 결과에 대해 컨볼루션 프로세싱을 수행하여 얻은 데이터이고; 제1 엔트로피 인코딩 모델에서 제4 컨볼루션 레이어의 입력 데이터는 제3 컨볼루션 레이어의 출력 데이터이고; 제2 엔트로피 인코딩 모델에서 제4 컨볼루션 레이어의 입력 데이터는 제3 컨볼루션 레이어의 출력 데이터이고; 제2 출력 결과는 제1 엔트로피 인코딩 모델의 제4 컨볼루션 레이어와 제2 엔트로피 인코딩 모델의 제4 컨볼루션 레이어에 기초하여 조합 조작을 수행하여 얻은 데이터이다.
인코딩 프로세스에서, 조합 조작이 제1 엔트로피 인코딩 모델에 의해 구현된다는 것이 여기에서 주목되어야 한다.
본 출원에서 사용되는 RNN은 3 개의 장기 단기 메모리(long short term memory, LSTM) 계층을 포함한다는 점에 유의해야 한다. 3 개의 LSTM 계층의 파라미터는 표 1에 나타나 있으며 여기에서는 자세히 설명하지 않는다. 확실히, 이 출원에서 사용된 RNN은 대안적으로 다른 형태의 RNN일 수 있다. 이것은 이 출원에서 특별히 제한되지 않는다.
실현 가능한 실시예에서, (s-1)번째 서브밴드의 해상도가 s번째 서브밴드의 해상도와 다를 때, 계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하는 단계는:
제3 엔트로피 인코딩 모델과 제3 엔트로피 인코딩 모델의 상태 변수에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 얻는 단계; 상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드의 해상도와 동일함 - ; 및 컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하는 단계 - 여기서 샘플링된 상태 변수의 해상도는 s번째 서브밴드의 해상도와 동일함 -
를 포함한다.
예를 들어, 도 9에 도시된 바와 같이, 제4 서브밴드를 기반으로 제5 서브밴드를 인코딩하는 경우, 제4 서브밴드와 제5 서브밴드의 해상도가 다르기 때문에, 제1 출력 결과를 얻을 때, 제1 출력 결과의 해상도가 제5 서브밴드의 해상도와 일치하도록 제3 엔트로피 인코딩 모델의 출력에 대해 업샘플링을 수행해야 하고; 또한, 컨볼루션 조작 후 제3 엔트로피 인코딩 모델의 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하고, 여기서 샘플링된 상태 변수의 해상도는 제5 서브밴드의 해상도와 동일하다. 도 20에 도시된 바와 같이, 제3 엔트로피 인코딩 모델에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행한 후, 컨볼루션 결과에 대해 업샘플링을 수행하여 샘플링된 컨볼루션 결과를 획득하며, 여기서 샘플링된 컨볼루션 결과는 제1 출력 결과이고, 그리고 제1 출력 결과의 해상도는 s번째 서브밴드의 해상도와 동일하고; 컨볼루션된 상태 변수에 대해 업샘플링이 수행되어 샘플링된 상태 변수를 획득하며, 여기서 샘플링된 상태 변수의 해상도는 s번째 서브밴드의 해상도와 동일하다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과 및 s번째 서브밴드에 대해 조합 조작을 수행하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ; 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델의 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드이거나, 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ; 제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C2가 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어 C2가 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하는 단계
를 포함한다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과 및 s번째 서브밴드에 대해 조합 조작을 수행하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ; 제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하는 단계 - 여기서 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 제1 윈도우 함수 및 제2 윈도우 함수는 서로 상보적임 - ; 윈도우화된 제1 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드이거나, 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ; 윈도우화된 제2 컨볼루션 커널에 기초하여 제1 출력 결과에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C2가 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어 C2가 제1이 아닌 컨볼루션 레이어일 때, 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 제2 입력 데이터가 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하는 단계
를 포함한다.
도 21에 도시된 바와 같이, 제1 윈도우 기능과 제2 윈도우 기능은 상보적이다.
인코딩될 계수의 누적 확률 분포 함수의 파라미터는 전술한 방법에 따라 획득되며, 파라미터는 x로 표시된다. 인코딩될 계수의 누적 확률 분포 함수의 파라미터가 58 차원(dimensions)인 경우, x로 표시되는 누적 확률 분포 함수의 파라미터는 다음과 같이 나타낼 수 있다:
인코딩될 계수를 y라 하고, 누적 확률 분포 함수의 파라미터에 기초하여 인코딩될 계수 y의 누적 확률 분포 함수를 계산하는 구체적인 과정은 다음과 같다:
전술한 계산 과정을 cdf(y)라고 하며, 즉 인코딩될 계수의 누적 확률 분포 함수는 cdf(y)이다.
cdf(y)를 사용하여 y의 확률분포를 계산하는 방법은 다음과 같다.
y의 값 범위가 알려져 있으며 y의 값 범위는 로 표현될 수 있으며, 여기서 ymin은 y의 최솟값을 나타내고, ymax는 y의 최댓값을 나타내고, QP는 양자화 단계를 나타내고, y의 값이 ymin과 ymax 사이의 QP 간격으로 할당되고 ymin과 ymax가 트레이닝 과정에서 미리 제한됨을 나타낸다. y=y0인 경우 해당 확률 값은 다음과 같이 주어진다:
다른 값의 확률은 동일한 방법에 따라 계산될 수 있으므로, 인코딩될 계수의 확률 분포가 획득될 수 있다. 그런 다음, 인코딩될 계수 y의 확률 분포에 기초하여, 인코딩될 계수 y에 대해 산술 인코더를 사용하여 엔트로피 인코딩을 수행하여 인코딩될 계수의 비트스트림을 얻는다.
전술한 방법에 따르면, 각 서브밴드에서 각각의 계수의 누적 확률 분포 함수의 파라미터가 획득될 수 있고, 그런 다음 각각의 계수의 확률 분포 함수가 획득되고, 그런 다음 각각의 계수의 확률 분포가 획득되고, 그런 다음 각각의 계수의 확률 분포에 기초하여 산술 인코더를 사용하여 엔트로피 인코딩을 수행하여 압축된 비트스트림을 얻는다.
여기에서 엔트로피 인코딩 모델은 전술한 실시예에서 설명된 심층 신경망을 사용하여 구현되는 것으로 제한되지 않고 다른 심층 신경망을 사용하여 구현될 수 있음에 유의해야 한다.
다음은 웨이블릿 변환에 기초한 이미지 디코딩의 다른 프로세스를 설명한다. 도 22에 도시된 바와 같이, 압축된 비트스트림에 대해 심층 신경망 기반 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 얻은 다음, 재구성된 웨이블릿 계수에 대해 역양자화하여 역양자화된 웨이블릿 계수를 획득하고, 역양자화된 웨이블릿 계수에 대해 심층 신경망 기반의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한다. 자세한 내용은 도 23을 참조한다. 도 23은 본 출원의 실시예에 따른 웨이블릿 변환에 기초한 다른 이미지 디코딩 방법의 개략적인 흐름도이다. 도 23에 도시된 바와 같이, 방법은 다음 단계를 포함한다:
S2301. 엔트로피 디코딩 모델에 기초하여 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하며, 여기서 엔트로피 디코딩 모델은 심층 신경망에 기초하여 구현된다.
실행 가능한 실시예에서, 압축된 비트스트림은 3N+1 개의 서브밴드의 비트스트림을 포함하고, 재구성된 웨이블릿 계수는 3N+1 개의 재구성된 서브밴드를 포함하고, 엔트로피 디코딩 모델에 기초하여 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계는:
s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계 - 여기서 디코딩될 계수의 비트스트림은 s번째 서브밴드의 비트스트림의 일부이고, s번째 서브밴드는 3N+1 개의 서브밴드 중 어느 하나임 - ; 디코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 디코딩될 계수의 누적 확률 분포 함수를 획득하는 단계; 디코딩될 계수 및 디코딩될 계수의 누적 확률 분포 함수에 기초하여 디코딩될 계수의 확률 분포를 획득하는 단계; 및 디코딩될 계수의 확률 분포에 기초하여 산술 디코더를 사용하여 디코딩될 계수의 비트스트림에 대해 엔트로피 디코딩을 수행하여 디코딩될 계수를 획득하는 단계 - 여기서 3N+ 1 개의 재구성된 서브밴드는 디코딩될 계수를 포함함 -
를 포함한다.
여기에서 3N+1 개의 서브밴드가 도 9에 도시된 서브밴드 시퀀스에 기초하여 디코딩되고, 제1 서브밴드가 근사화 서브밴드이고 나머지 서브밴드가 상세 서브밴드이고 근사 서브밴드와 상세 서브밴드의 차이가 존재한다는 점에 유의해야 한다. 따라서, 근사 서브밴드와 상세 서브밴드에 대해 서로 다른 디코딩 모드가 사용된다. 다시 말해, 제1 서브밴드와 제1이 아닌 서브밴드에서 계수의 누적 확률 분포 함수의 파라미터는 서로 다른 방식으로 얻어진다.
여기에서, 서브밴드의 비트스트림에 대해 엔트로피 디코딩이 수행될 때, 해상도가 서브밴드의 해상도와 동일한 재구성된 서브밴드가 먼저 생성되고, 재구성된 서브밴드의 계수가 모두 0으로 설정된다는 점에 유의해야 한다. 서브밴드의 계수가 디코딩될 때마다, 재구성된 서브밴드의 대응하는 위치에 있는 계수가 디코딩된 계수로 업데이트된다. 다음 계수를 디코딩하기 위해, 업데이트된 재구성된 서브밴드는 계수 이후의 다음 계수를 디코딩하기 위해 엔트로피 디코딩 모델에 입력될 필요가 있다. 서브밴드에서 계수의 디코딩 시퀀스는 왼쪽에서 오른쪽으로, 위에서 아래로이다.
실행 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 엔트로피 디코딩 모델은 pixelCNN에 기초하여 구현되고, 엔트로피 디코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하는 단계; 및 상기 제1 윈도우화된 컨볼루션 커널에 기초하여, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계; 또는 M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 동안, j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여, 제2 윈도우화된 컨볼루션 커널을 획득하는 단계; 및 제2 윈도우화된 컨볼루션 커널에 기초하여 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하는 단계 - 여기서 j가 1일 때, j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드에 대응하는 재구성된 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, j번째 출력 데이터는 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함함 -
를 포함한다.
실현 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 엔트로피 디코딩 모델은 제1 엔트로피 디코딩 모델, 제2 엔트로피 디코딩 모델, 및 제3 엔트로피 디코딩 모델을 포함하고, 제1 엔트로피 디코딩 모델 및 제3 엔트로피 디코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 제3 엔트로피 디코딩 모델은 순환 신경망(RNN)에 기초하여 구현되며, 제1 엔트로피 디코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 디코딩 모델은 T2 개의 컨볼루션 레이어를 포함하며, T1 및 T2는 모두 0보다 큰 정수이고, s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
(s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 단계 - 여기서 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드는 (s-1)번째 서브밴드의 비트스트림에 대해 엔트로피 디코딩을 수행함으로써 획득되고, 제1 출력 결과는 제2 엔트로피 디코딩 모델의 입력 데이터이고, s번째 서브밴드에 대응하는 재구성된 서브밴드는 제1 엔트로피 디코딩 모델의 입력 데이터임 - ; 및
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 여기서 제2 출력 결과는 디코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2는 각각 제1 엔트로피 디코딩 모델 및 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어임 -; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C1은 제1 엔트로피 디코딩 모델에서 q번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 제2 출력 결과는 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하고, 여기서 컨볼루션 레이어 C1은 제1 엔트로피 디코딩 모델에서 q1번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 디코딩 모델에서 q2번째 컨볼루션 레이어이며, q1이 T1과 같고 q2가 T2와 같으면 제2 출력 결과는 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, q1이 0보다 크고 T1보다 작으며 q2가 0보다 크고 T2보다 작으면 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 q1+1)번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2의 출력 결과는 제2 엔트로피 디코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터이다.
여기서, s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 특정 과정에 대해서는, 단계 S1103에서 s번째 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 것에 대한 관련 설명을 참조한다. 자세한 내용은 여기에서 다시 설명되지 않는다.
실현 가능한 실시예에서, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도가 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 단계, 방법은:
제3 엔트로피 디코딩 모델 및 제3 엔트로피 디코딩 모델의 상태 변수에 기초하여, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하는 단계; 상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하는 단계 - 여기서 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 동일함 - ; 및 상기 제3 엔트로피 디코딩 모델에 기초하여 컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하는 단계 - 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일함 -
를 더 포함한다.
여기에서 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 특정 프로세스에 대해서는, 단계 S1103에서의 관련 설명을 참조한다는 점에 유의해야 한다. 자세한 내용은 여기에서 다시 설명되지 않는다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여, 제1 출력 결과 및 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ; 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어 C2가 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하는 단계
를 포함한다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여, 제1 출력 결과 및 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ; 제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하는 단계 - 여기서 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 제1 윈도우 함수 및 제2 윈도우 함수는 상보적임 - ;
윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 윈도우화된 제2 컨볼루션 커널에 기초하여 제2 입력 데이터에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 여기서 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어 C2가 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및 상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하는 단계
를 포함한다.
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과 및 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대한 조합 조작을 수행하는 특정 프로세스에 대해서는, 단계 S1103의 관련 설명을 참조한다는 점에 유의해야 한다. 자세한 내용은 여기에서 다시 설명되지 않는다.
S2302. 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득한다.
엔트로피 디코딩을 통해 얻어진 웨이블릿 계수(즉, 재구성된 웨이블릿 계수)는 로 표시될 수 있고, 역양자화된 웨이블릿 계수는 로 표시될 수 있다. 역양자화 과정은 다음과 같이 표현될 수 있다:
S2303. 웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하며, 여기서 N은 0보다 큰 정수이다.
웨이블릿 변환 모델은 CNN에 기초하여 구현된다.
구체적으로, 역양자화된 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 3N+1 개의 서브밴드는 하나의 근사 서브밴드 및 3N 개의 상세 서브밴드를 포함하고; 웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계는:
t번째 인버스 웨이블릿 변환을 수행할 때 근사 서브밴드 PN+1-t 및 상세 서브밴드 I(N+1-t)1을 업데이트 및 예측하여 제1 처리된 서브밴드와 제2 처리된 서브밴드를 획득하고, 제1 처리된 서브밴드 및 제2 처리된 서브밴드에 기초하여 중간 근사 성분을 획득하는 단계 - 여기서 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수는 제1 처리된 서브밴드에서 비롯되고, 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수는 제2 처리된 서브밴드에서 비롯됨 - ; 상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3을 업데이트 및 예측하여 제3 처리된 서브밴드 및 제4 처리된 서브밴드를 획득하고, 제3 처리된 서브밴드 및 제4 처리된 서브밴드에 기초하여 중간 상세 성분을 획득하는 단계 - 여기서 중간 상세 성분의 홀수 열 계수 또는 짝수 행 계수는 제3 처리된 서브밴드에서 비롯되고 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수는 제4 처리된 서브밴드에서 비롯됨 - ; 및 중간 상세 성분 및 중간 근사 성분을 업데이트 및 예측하여 제5 처리된 서브밴드 및 제6 처리된 서브밴드를 획득하고, 제5 처리된 서브밴드 및 제6 처리된 서브밴드에 기초하여 근사 서브밴드 Pt-1을 획득하는 단계 - 여기서 근사 서브밴드 Pt-1의 홀수 행 계수는 또는 홀수 열 계수는 제5 처리된 서브밴드에서 비롯되고, 근사 서브밴드 Pt-1의 짝수 행 계수 또는 짝수 열 계수는 제6 처리된 서브밴드에서 비롯됨 -
를 포함하며, 여기서
상세 서브밴드 I(N+1-t)1, 상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3의 해상도는 근사 서브밴드 PN+1-t의 해상도와 동일하고, t번째 인버스 웨이블릿 변환이 마지막 웨이블릿 변환일 때 근사 서브밴드 Pt-1은 재구성된 이미지이다.
구체적으로, 웨이블릿 변환 모델은 업데이트 모델 및 예측 모델을 포함한다. 도 24에 도시된 바와 같이, t번째 인버스 웨이블릿 변환이 수행될 때, 근사 서브밴드 PN+1-t에 기초하여 제1 스케일링된 성분이 획득되고, 여기서 제1 스케일링된 성분의 각각의 계수는 근사 서브밴드 PN+1-t의 대응하는 위치에서 계수의 1/a이다. 상세 서브밴드 I(N+1-t)1에 기초하여 제2 스케일링된 성분을 획득되고, 여기서 제2 스케일링된 성분의 각각의 계수는 상세 서브밴드의 대응하는 위치에서 계수의 1/b이고, 제2 스케일링된 구성 요소를 사용하여 업데이트 모델에 기초하여 업데이트가 수행되어 업데이트된 성분을 획득한다. 제1 처리된 성분(즉, 홀수 샘플 성분)은 업데이트된 성분 및 제1 스케일링된 성분에 기초하여 획득되며, 여기서 제1 처리된 성분의 각각의 계수는 제1 스케일링된 성분 및 업데이트된 성분에 기초하여 획득된다. 제1 처리된 성분을 사용하여 예측 모델에 기초하여 예측을 수행하여 예측된 성분을 얻는다. 제2 처리된 성분(즉, 짝수 샘플 성분)은 제2 스케일링된 성분 및 예측된 성분에 기초하여 획득되며, 여기서 제2 처리된 성분의 각각의 계수는 제2 스케일링된 성분 및 예측된 성분의 대응하는 위치에서의 계수의 합이다. 중간 근사 성분은 제1 처리 성분 및 제2 처리 성분에 기초하여 획득되며, 여기서 중간 근사 성분의 홀수 행 계수 또는 홀수 열 계수는 제1 처리 성분에서 비롯되고, 중간 근사 성분의 짝수 행 계수 또는 짝수 열 계수는 제2 처리된 성분에서 비롯된다. 다시 말해, 중간 근사 성분의 홀수 행 계수 또는 홀수 열 계수는 제1 처리된 성분의 일부 또는 전체에서 비롯되고, 중간 근사 성분의 짝수 행 계수 또는 짝수 열 계수는 제2 처리된 성분의 일부 또는 전체에서 비롯된다.
전술한 방법에 따르면, 상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3이 업데이트되고 예측되어 제3 처리된 성분 및 제4 처리된 성분이 획득되고, 제3 처리된 성분 및 제4 처리된 성분에 기초하여 중간 상세 성분이 획득되며, 여기서 중간 상세 성분의 홀수 행 계수 또는 홀수 열 계수는 제3 처리된 성분에서 비롯되고 중간 상세 성분의 짝수 행 계수 또는 짝수 열 계수는 제4 처리된 성분에서 비롯된. 다시 말해, 중간 상세 성분의 홀수 행 계수 또는 홀수 열 계수는 제3 처리된 성분의 일부 또는 전체이고, 중간 상세 성분의 짝수 행 계수 또는 짝수 열 계수는 제4 처리된 성분의 일부 또는 전체이다.
전술한 방법에 따르면, 중간 근사 성분 및 중간 상세 성분이 업데이트 및 예측되어 제5 처리 성분 및 제6 처리 성분이 획득되고, 제5 처리 성분 및 제6 처리 성분에 기초하여 근사 서브밴드 PN-t가 획득되며, 여기서 근사 서브밴드 PN-t의 홀수 열 계수 또는 홀수 행 계수는 제5 처리된 성분에서 비롯되고, 근사 서브밴드 PN-t의 짝수 열 계수 또는 짝수 행 계수는 제6 처리된 성분에서 비롯된다. 다시 말해, 근사 서브밴드 PN-t에서 홀수 열 계수 또는 홀수 행 계수는 제5 처리된 성분의 일부 또는 전체이고, 근사 서브밴드 PN-t에서 짝수 열 계수 또는 짝수 행 계수는 제6 처리된 성분의 일부 또는 전체이다.
다른 특정 실시예에서, 웨이블릿 변환 모델은 업데이트 모델 및 예측 모델을 포함한다. 도 25에 도시된 바와 같이, t번째 인버스 웨이블릿 변환이 수행되면 근사 서브밴드 PN+1-t를 기반으로 제1 스케일링된 성분이 획득되고, 상세 서브밴드 I(N+1-t)1을 기반으로 제2 스케일링된 성분이 획득되고, 여기서 제1 스케일링된 성분의 각각의 계수는 근사 서브밴드 PN+1-t의 대응하는 위치에서 계수의 1/a이고, 제2 스케일링된 성분의 각각의 계수는 상세 서브밴드 I(N+1-t)1의 대응하는 위치에서 계수의 1/b이다. 제2 스케일링된 성분을 사용하여 업데이트 모델에 기초하여 업데이트를 수행하여 제1 업데이트된 성분을 획득한다. 제1 업데이트된 성분 및 제1 스케일링된 성분에 기초하여 보조 예측 성분이 획득되며, 여기서 보조 예측 성분의 각각의 계수는 제1 스케일링된 성분 및 제1 업데이트된 성분의 대응하는 위치에서의 계수 간의 차이이다. 보조 예측 성분을 사용하여 예측 모델에 기초하여 예측을 수행하여 제1 예측 성분을 얻는다. 보조 업데이트된 성분은 제2 스케일링된 성분 및 제1 예측 성분에 기초하여 획득되며, 여기서 보조 업데이트된 성분의 각각의 계수는 제2 스케일링된 성분 및 제1 예측된 성분의 대응하는 위치에서의 계수의 합이다. 보조 업데이트된 성분을 사용하여 업데이트 모델에 기초한 업데이트를 수행하여 제2 업데이트된 성분을 획득하고, 보조 예측된 성분 및 제2 업데이트된 성분을 기반으로 제1 처리된 성분(즉, 홀수 샘플 성분)을 획득하며, 여기서, 제1 처리된 성분의 각각의 계수는 제1 예측된 구성요소와 제2 업데이트된 구성요소의 대응하는 위치에 있는 계수 간의 차이이다. 제1 처리된 성분을 사용하여 예측 모델에 기초하여 예측을 수행하여 제2 예측된 성분을 획득한다. 제2 처리된 성분(즉, 짝수 샘플 성분)은 제2 예측된 성분 및 보조 업데이트된 성분에 기초하여 획득되며, 여기서 제2 처리된 성분의 각각의 계수는 제2 예측된 성분 및 보조 업데이트된 성분의 대응하는 위치에서 계수의 합이다.
중간 근사 성분은 제1 처리된 성분 및 제2 처리된 성분에 기초하여 획득되며, 여기서 중간 근사치 성분의 홀수 행 계수 또는 홀수 열 계수는 제1 처리된 성분에서 비롯되고 중간 근사 성분의 짝수 행 계수 또는 짝수 열 계수는 제2 처리된 성분에서 비롯된다. 다시 말해, 중간 근사 성분의 홀수 행 계수 또는 홀수 열 계수는 제1 처리된 성분의 일부 또는 전체에서 비롯되고, 중간 근사 성분의 짝수 행 계수 또는 짝수 열 계수는 제2 처리된 성분의 일부 또는 전체에서 유래한다.
전술한 방법에 따르면, 상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3이 업데이트되고 예측되어 제3 처리된 성분 및 제4 처리된 성분을 획득하고, 제3 처리된 성분 및 제4 처리된 성분에 기초하여 중간 상세 성분이 획득되며, 여기서 중간 상세 성분의 홀수 행 계수 또는 홀수 열 계수는 제3 처리된 성분에서 비롯되고 중간 상세 성분의 짝수 행 계수 또는 짝수 열 계수는 제4 처리된 성분에서 비롯된다. 다시 말해, 중간 상세 성분의 홀수 행 계수 또는 홀수 열 계수는 제3 처리된 성분의 일부 또는 전체이고, 중간 상세 성분의 짝수 행 계수 또는 짝수 열 계수는 제4 처리된 성분의 일부 또는 전체이다.
전술한 방법에 따르면, 중간 근사 성분 및 중간 상세 성분이 업데이트 및 예측되어 제5 처리 성분 및 제6 처리 성분을 획득하고, 제5 처리 성분 및 제6 처리 성분에 기초하여 근사 서브밴드 PN-t가 획득되며, 여기서 근사 서브밴드 PN-t의 홀수 열 계수 또는 홀수 행 계수는 제5 처리된 성분에서 비롯되고, 근사 서브밴드 PN-t의 짝수 열 계수 또는 짝수 행 계수는 제6 처리된 성분에서 비롯된다. 다시 말해, 근사 서브밴드 PN-t에서 홀수 열 계수 또는 홀수 행 계수는 제5 처리된 성분의 일부 또는 전체이고, 근사 서브밴드 PN-t에서 짝수 열 계수 또는 짝수 행 계수는 제6 처리된 성분의 일부 또는 전체이다.
t가 N과 같을 때, 근사 서브밴드 PN-t는 재구성된 이미지이다.
여기에서 t는 0에서 더 시작할 수 있다는 점에 유의해야 한다. 이 경우, t의 최댓값은 N-1이다. 예를 들어, t가 N-1과 같을 때 근사 서브밴드 PN-t는 재구성된 이미지이다.
도 24 및 도 25로부터 알 수 있는 바와 같이 여기에서 주목되어야 한다. 도 25에 도시된 인버스 웨이블릿 변환 과정은 도 24에 도시된 것보다 하나 이상의 예측 및 업데이트 프로세스를 포함한다. 도 24는 하나의 예측 및 업데이트 프로세스를 포함하고, 도 25는 2 개의 예측 및 업데이트 프로세스를 포함하는 것으로 간주할 수 있다. 확실히, 업데이트 및 예측의 양은 대안적으로 다른 값일 수 있다. 업데이트 및 예측의 양은 이 출원에서 제한되지 않는다.
N 개의 인버스 웨이블릿 변환을 수행하는 프로세스에서, 각각의 인버스 웨이블릿 변환에 사용되는 예측 모델의 파라미터가 다를 수 있고, 사용되는 예측 모델의 파라미터도 다를 수 있다는 점에 유의해야 한다.
S2304. 포스트-프로세싱 모델에 기초하여 재구성된 이미지에 대해 포스트-프로세싱을 수행하여, 처리된 재구성된 이미지를 획득한다.
포스트-프로세싱 모델은 심층 신경망에 기초하여 구현된다.
심층 신경망 기반 포스트-프로세싱의 목적은 재구성된 이미지의 품질을 향상시키는 것이다. 구체적으로, 재구성된 이미지는 심층 신경망 기반으로 구현된 포스트-프로세싱 모델에 입력되고, 포스트-프로세싱 모델의 출력은 처리된 재구성된 이미지, 즉 품질이 향상된 이미지이다. 도 26은 일반적인 포스트-프로세싱 모델의 구조를 나타내는 개략도이다. 도 26에서 "3x3x16"은 현재 컨볼루션 레이어가 3x3 컨볼루션 커널을 사용하여 16 개의 특징 맵을 생성하고 활성화 함수를 사용하지 않는다는 것을 나타낸다. "3x3x16/relu"는 현재 컨볼루션 레이어가 3x3 컨볼루션 커널을 사용하여 16 개의 특징 맵을 생성하고 활성화 함수 relu를 사용한다는 것을 나타낸다.
여기서, 도 26에 도시된 포스트-프로세싱 모델은 단지 예시일 뿐이라는 것에 주목해야 한다. 포스트-프로세싱 모델은 대안적으로 다른 형태의 심층 신경망에 기초하여 구현될 수 있다.
여기서, 인코딩 및 디코딩 과정에서 엔트로피 인코딩 모델과 엔트로피 디코딩 모델도 동일한 모델임을 주목해야 한다.
본 출원의 솔루션에서, 기존의 웨이블릿 변환에 기초한 이미지 인코딩/디코딩 방법에서, 심층 신경망에 기초하여 획득된 웨이블릿 변환 모델을 사용하여 웨이블릿 변환 및 인버스 웨이블릿 변환을 수행한다는 것을 알 수 있다. 심층 신경망 기반의 웨이블릿 변환 모델은 트레이닝 방법을 사용하여 많은 양의 자연 이미지를 사용하여 최적화를 통해 얻어지기 때문에 웨이블릿 변환 모델은 기존의 웨이블릿 변환보다 더 간결한 변환 도메인 표현을 제공할 수 있으므로 인코딩/디코딩 성능이 크게 향상된다. 웨이블릿 변환 모델의 기능을 GPU를 사용하여 구현하는 경우, 웨이블릿 변환 모델은 기존의 웨이블릿 변환과 동일한 속도를 갖는다. 다수의 인코딩 시도를 통해 최적의 방향 파라미터를 선택하는 적응형 방향성 웨이블릿에 비해 웨이블릿 변환 모델은 시간 복잡도가 낮은 장점이 있으며 자연 이미지 특성의 다양성과 복잡도와 인공적으로 설계된 웨이블릿 기본 기능의 이상과 단순성 간의 모순을 해결한다. 또한, 엔트로피 인코딩/디코딩 모델과 심층신경망 기반의 포스트-프로세싱 모델을 사용하기 때문에 인코딩/디코딩 성능이 더욱 향상된다.
도 27은 본 발명의 일 실시예에 따른 웨이블릿 변환에 기초한 이미지 인코딩 장치의 구조를 나타내는 개략도이다. 도 27에 도시된 바와 같이, 이미지 인코딩 장치(2700)는:
웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하도록 구성된 변환 모듈(2701), 여기서 웨이블릿 변환 모델은 컨볼루션 신경망(CNN)에 기초하여 구현되며, N 0보다 큰 정수이고;
양자화된 웨이블릿 계수를 획득하기 위해 웨이블릿 계수를 양자화하도록 구성된 양자화 모듈(2702); 및
양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하도록 구성된 엔트로피 인코딩 모듈(2703).
을 포함한다.
실현 가능한 실시예에서, 변환 모듈(2701)은 구체적으로:
i번째 웨이블릿 변환을 수행할 때, 서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하고, 여기서 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함하고;
짝수 샘플 성분 및 홀수 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 중간 근사 성분 및 중간 상세 성분을 획득하고;
중간 근사 성분을 분해하여 제1 샘플 성분 및 제2 샘플 성분을 획득하고, 여기서 제1 샘플 성분은 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수를 포함하고, 제2 샘플 성분은 짝수 열 계수 또는 중간 근사 성분의 짝수 행 계수를 포함하고;
중간 상세 성분을 분해하여 제3 샘플 성분 및 제4 샘플 성분을 획득하고, 여기서 제3 샘플 성분은 중간 상세 성분의 홀수 행 계수 또는 홀수 행 계수를 포함하고, 제4 샘플 성분은 짝수 열 계수 또는 중간 상세 성분의 짝수 행 계수를 포함하고;
제1 샘플 성분 및 제2 샘플 성분에 대해 업데이트 동작 및 예측 조작을 수행하여 근사 서브밴드 Pi 및 상세 서브밴드 Ii1을 획득하고; 제3 샘플 성분 및 제4 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득하도록 구성되고, 여기서
웨이블릿 계수는 근사 서브밴드 Pi, 상세 서브밴드 Ii1, 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 포함하고; i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환일 때, 서브밴드 X는 인코딩될 이미지이거나; 또는 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환이 아닐 때, 서브밴드 X는 근사 서브밴드 Pi-1이고 근사 서브밴드 Pi-1은 (i?1) 웨이블릿 변환을 수행하여 획득된 근사 서브밴드이다.
실현 가능한 실시예에서, 예측 조작은 CNN에 기초하여 구현되거나; 업데이트 조작은 CNN에 기초하여 구현되거나; 또는 예측 조작과 업데이트 조작 모두가 CNN에 기초하여 구현된다.
실행 가능한 실시예에서, 엔트로피 인코딩 모듈(2703)은 구체적으로:
엔트로피 인코딩 모델에 기초하여 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하도록 구성되고, 여기서 엔트로피 인코딩 모델은 심층 신경망에 기초하여 구현된다.
실행 가능한 실시예에서, 웨이블릿 계수는 3N+1 서브밴드를 포함하고, 엔트로피 인코딩 모듈(2703)은 구체적으로:
엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하고, 여기서 인코딩될 계수는 s번째 서브밴드의 임의의 계수이고, s번째 서브밴드는 3N+1 서브밴드 중 하나이고; 인코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 누적 확률 분포 함수를 획득하고; 인코딩될 계수 및 인코딩될 계수의 누적 확률 분포 함수에 기초하여 인코딩될 계수의 확률 분포를 획득하고; 그리고 산술 인코더를 사용하여 인코딩될 계수의 확률 분포에 기초하여 인코딩될 계수에 대해 엔트로피 인코딩을 수행하여 인코딩될 계수에 대응하는 비트스트림을 획득하도록 구성되고, 여기서 압축된 비트스트림은 인코딩될 계수에 대응하는 비트스트림을 포함한다.
실현 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 엔트로피 인코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 엔트로피 인코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 엔트로피 인코딩 모듈(2703)은 구체적으로:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하고; 제1 윈도우화된 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하거나; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 동안 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션 커널을 획득하고; 제2 윈도우화된 컨볼루션 커널에 기초하여 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하도록 구성되고, 여기서
j가 1일 때, j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, j번째 출력 데이터는 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
실현 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 엔트로피 인코딩 모델은 제1 엔트로피 인코딩 모델, 제2 엔트로피 인코딩 모델, 및 제3 엔트로피 인코딩 모델을 포함하며, 제1 엔트로피 인코딩 모델 및 제2 엔트로피 인코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 제3 엔트로피 인코딩 모델은 RNN을 기반으로 구현되며, 제1 엔트로피 인코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 인코딩 모델은 T2 컨볼루션 레이어를 포함하며, T1과 T2는 모두 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 엔트로피 인코딩 모듈(2703)은 구체적으로:
계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하고, 여기서 제1 출력 결과는 제2 엔트로피 인코딩 모델의 입력 데이터이고 s번째 서브밴드는 제1 엔트로피 인코딩 모델의 입력 데이터이고; 그리고
T1과 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하고, 여기서 제2 출력 결과는 인코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2는 각각 제1 엔트로피 인코딩 모델 및 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하고, 여기서 컨볼루션 레이어 C1은 제1 엔트로피 인코딩 모델에서 q번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 제2 출력 결과는 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 제2 출력 결과는 제1 엔트로피 인코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1과 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1과 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하도록 구성되고, 여기서 컨볼루션 레이어 C1은 제1 엔트로피 인코딩 모델에서 q1번째 컨볼루션이고, 컨볼루션 레이어 C2는 제2 엔트로피 인코딩 모델에서 q2번째 컨볼루션 레이어이고, q1이 T1과 같고 q2가 T2와 같으면 제2 출력 결과는 인코딩될 계수의 함수 누적 확률 분포의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작고 q2가 0보다 크고 T2보다 작으면 제2 출력 결과는 제1 엔트로피 인코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 컨볼루션 레이어 C2의 출력 결과는 제2 엔트로피 인코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터이다.
실현 가능한 실시예에서, (s-1)번째 서브밴드의 해상도가 s번째 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드를 계산을 위한 제3 엔트로피 인코딩 모델에 입력하여 제1 출력 결과를 획득할 때, 엔트로피 인코딩 모듈(2703)은 구체적으로:
제3 엔트로피 인코딩 모델과 제3 엔트로피 인코딩 모델의 상태 변수에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하고; 그리고
컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득하도록 구성되고, 여기서 제1 출력 결과의 해상도는 s번째 서브밴드의 해상도와 동일하며; 그리고
제1 출력 결과를 획득하기 위해 컨볼루션 결과에 대해 업샘플링을 수행한 후, 엔트로피 인코딩 모듈(2703)은:
컨벌루션 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하도록 추가로 구성되고, 여기서 샘플링된 상태 변수의 해상도는 s번째 서브밴드의 해상도와 동일하다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과 및 s번째 서브밴드에 대해 조합 조작을 수행할 때, 엔트로피 인코딩 모듈(2703)은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고, 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널이고;
윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델의 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드이거나, 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득되고;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며, 여기서 컨볼루션 레이어 C2가 제2 엔트로피 인코딩 모델의 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어 C2가 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득되고; 제1 컨볼루션 결과 및 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하도록 구성된다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초한 제1 출력 결과 및 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 엔트로피 인코딩 모듈(2703)은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고, 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널이고;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하고, 여기서 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 제1 윈도우 함수 및 제2 윈도우 함수는 서로 상보적이고;
윈도우화된 제1 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델의 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드이거나, 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득되고;
윈도우화된 제2 컨볼루션 커널에 기초하여 제1 출력 결과에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C2가 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어 C2가 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득되고; 제1 컨볼루션 결과 및 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하도록 구성된다.
전술한 유닛(변환 모듈(2701), 양자화 모듈(2702) 및 엔트로피 인코딩 모듈(2703))은 전술한 방법에서 관련 단계를 수행하도록 구성된다는 점에 유의해야 한다. 예를 들어, 변환 모듈(2701)은 단계 S201 및 단계 S1101에서 관련 콘텐츠를 수행하도록 구성되고, 양자화 모듈(2702)은 단계 S1102에서 관련 콘텐츠를 수행하도록 구성되며, 엔트로피 인코딩 모듈(2703)은 단계 S1103에서 관련 콘텐츠를 수행하도록 구성된다.
이 실시예에서, 이미지 인코딩 장치(2700)는 모듈의 형태로 제시된다. 여기에서 "모듈"은 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC), 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하기 위한 프로세서 및 메모리, 집적 논리 회로 및/또는 위의 기능을 제공할 수 있는 다른 구성 요소일 수 있다. 또한, 변환 모듈(2701), 양자화 모듈(2702) 및 엔트로피 인코딩 모듈(2703)은 도 30에 도시된 이미지 인코딩 프로세서(3001)에 의해 구현될 수 있다.
도 28은 본 발명의 일 실시예에 따른 웨이블릿 변환에 기초한 이미지 디코딩 장치의 구조의 개략도이다. 도 28에 도시된 바와 같이, 이미지 디코딩 장치(2800)는:
압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하도록 구성된 엔트로피 디코딩 모듈(2801);
재구성된 웨이블릿 계수를 역양자화하여 역양자화 웨이블릿 계수를 획득하도록 구성된 역양자화 모듈(2802); 및
웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하도록 구성된 역변환 모듈(2803) - 여기서 웨이블릿 변환 모델은 컨볼루션 신경망(convolutional neural network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수임 -
을 포함한다.
실행 가능한 실시예에서, 엔트로피 디코딩 모듈(2801)은 구체적으로:
엔트로피 디코딩 모델에 기초하여 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하도록 구성되고, 여기서 엔트로피 디코딩 모델은 심층 신경망에 기초하여 구현된다.
실행 가능한 실시예에서, 엔트로피 디코딩 모듈(2801)은 구체적으로:
s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하고, 여기서 디코딩될 계수의 비트스트림은 s번째 서브밴드의 비트스트림의 일부이고, s번째 서브밴드에 대응하는 재구성된 서브밴드는 3N+1 개의 재구성된 서브밴드 중 어느 하나이고; 디코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 디코딩될 계수의 누적 확률 분포 함수를 획득하고; 디코딩될 계수 및 디코딩될 계수의 누적 확률 분포 함수에 기초하여 디코딩될 계수의 확률 분포를 획득하고; 디코딩될 계수의 확률 분포에 기초하여, 산술 디코더를 사용하여 디코딩될 계수의 비트스트림에 대해 엔트로피 디코딩을 수행하여 디코딩될 계수를 획득하도록 구성되고, 여기서 3N+ 1 개의 재구성된 서브밴드는 디코딩될 계수를 포함한다.
실현 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 엔트로피 디코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 엔트로피 디코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 엔트로피 디코딩 모듈(2801)은 구체적으로:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하고; 그리고
제1 윈도우화된 컨볼루션 커널에 기초하여, s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하거나; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 동안 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션 커널을 획득하고; 그리고
제2 윈도우화된 컨볼루션 커널을 기반으로 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하도록 구성되고, 여기서
j가 1일 때, j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드에 대응하는 재구성된 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, j번째 출력 데이터는 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함한다.
실현 가능한 실시예에서, s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 엔트로피 디코딩 모델은 제1 엔트로피 디코딩 모델, 제2 엔트로피 디코딩 모델, 및 제3 엔트로피 디코딩 모델을 포함하고, 제1 엔트로피 디코딩 모델 및 제3 엔트로피 디코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 제3 엔트로피 디코딩 모델은 순환 신경망(recurrent neural network, RNN)에 기초하여 구현되고, 제1 엔트로피 디코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 디코딩 모델은 T2 개의 컨볼루션 레이어를 포함하며, T1 및 T2는 모두 0보다 큰 정수이며, s번째 서브밴드에 대응하는 재구성된 서브밴드를 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 엔트로피 디코딩 모듈(2801)은 구체적으로:
(s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위한 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하고, 여기서 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드는 (s-1)번째 서브밴드의 비트스트림에 대해 엔트로피 인코딩을 수행함으로써 획득되고, 제1 출력 결과는 제2 엔트로피 디코딩 모델의 입력 데이터이고, s번째 서브밴드에 대응하는 재구성된 서브밴드는 제1 엔트로피 디코딩 모델의 입력 데이터이고; 그리고
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하고, 여기서 제2 출력 결과는 디코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2는 각각 제1 엔트로피 디코딩 모델 및 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하고, 여기서 컨볼루션 레이어 C1은 제1 엔트로피 디코딩 모델에서 q번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 제2 출력 결과는 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 제1 출력 결과와 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하도록 구성되고, 여기서 컨볼루션 레이어 C1은 제1 엔트로피 디코딩 모델에서 q1번째 컨볼루션 레이어이고, 컨볼루션 레이어 C2는 제2 엔트로피 디코딩 모델에서 q2번째 컨볼루션 레이어이며, q1이 T1과 같고 q2가 T2와 같으면 제2 출력 결과는 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, q1이 0보다 크고 T1보다 작으며 q2가 0보다 크고 T2보다 작으면 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 컨볼루션 레이어 C2의 출력 결과는 제2 엔트로피 디코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터이다.
실현 가능한 실시예에서, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도가 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득할 때, 엔트로피 디코딩 모듈(2801)은 구체적으로:
제3 엔트로피 디코딩 모델 및 제3 엔트로피 디코딩 모델의 상태 변수에 기초하여, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하고; 그리고
컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득하도록 구성되고, 여기서 제1 출력 결과의 해상도는 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 동일하며; 그리고
컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득한 후, 엔트로피 디코딩 모듈(2801)은 구체적으로:
컨벌루션 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하도록 추가로 구성되며, 여기서 샘플링된 상태 변수의 해상도는 s번째 서브밴드의 해상도와 동일하다.
가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여, 제1 출력 결과 및 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 엔트로피 디코딩 모듈(2801) 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고, 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널이고;
윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 획득되며;
제2 서브 컨볼루션 레이어에 제2 입력 데이터를 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때 제2 입력 데이터는 제1 출력 결과이거나, 또는 컨볼루션 레이어 C2가 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득되고; 그리고
제1 컨볼루션 결과 및 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하도록 구성된다.
실현 가능한 실시예에서, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여, 제1 출력 결과 및 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 엔트로피 디코딩 모듈(2801)은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고, 여기서 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널이고;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하고, 여기서 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 제1 윈도우 함수 및 제2 윈도우 함수는 서로 상보적이고;
윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드이고 컨볼루션 레이어 C1이 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제1 입력 데이터는 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 획득되며;
윈도우화된 제2 컨볼루션 커널에 기초하여 제2 입력 데이터에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하고, 여기서 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과이거나, 또는 컨볼루션 레이어 C2가 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 제2 입력 데이터는 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득되고; 제1 컨볼루션 결과 및 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하도록 구성된다.
실현 가능한 실시예에서, 역변환 모듈(2803)은 구체적으로:
t번째 인버스 웨이블릿 변환을 수행할 때 근사 서브밴드 PN+1-t 및 상세 서브밴드 I(N+1-t)1에 대해 업데이트 조작 및 예측 조작을 수행하여 제1 처리된 서브밴드와 제2 처리된 서브밴드를 획득하고, 제1 처리된 서브밴드 및 제2 처리된 서브밴드에 기초하여 중간 근사 성분을 획득하고, 여기서 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수는 제1 처리된 서브밴드에서 비롯되고, 짝수 열 계수 또는 짝수 행 계수 중간 근사 성분의 제2 처리된 서브밴드에서 비롯되고;
상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3에 대해 업데이트 조작 및 예측 조작을 수행하여 제3 처리된 서브밴드와 제4 처리된 서브밴드를 획득하고, 제3 처리된 서브밴드 및 제4 처리된 서브밴드에 기초하여 중간 서브밴드를 획득하고, 여기서 중간 상세 성분의 홀수 열 계수 또는 짝수 행 계수는 제3 처리된 서브밴드에서 비롯되고 중간 상세 정보의 짝수 열 계수 또는 짝수 행 계수 성분은 제4 처리된 서브밴드에서 비롯되고; 그리고
중간 상세 성분 및 중간 근사 성분에 대한 업데이트 조작 및 예측 조작을 수행하여 제5 처리된 서브밴드 및 제6 처리된 서브밴드를 획득하고, 제5 처리된 서브밴드 및 제6 처리된 서브밴드에 기초하여 근사 서브밴드 Pt-1을 획득하도록 구성되고, 여기서 근사 서브밴드 Pt-1의 홀수 행 계수 또는 홀수 열 계수는 제5 처리된 서브밴드에서 비롯되고, 근사 서브밴드 Pt-1의 짝수 행 계수 또는 짝수 열 계수는 제6 처리된 서브밴드에서 비롯되고;
여기서 상세 서브밴드 I(N+1-t)1, 상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3의 해상도는 근사 서브밴드 PN+1-t의 해상도와 동일하고, t번째 인버스 웨이블릿 변환이 마지막 웨이블릿 변환일 때 근사 서브밴드 Pt-1은 재구성된 이미지이다.
실현 가능한 실시예에서, 예측 조작은 CNN에 기초하여 구현되거나; 업데이트 조작은 CNN에 기초하여 구현되거나; 또는 업데이트 동작 및 예측 조작 모두가 CNN에 기초하여 구현된다.
가능한 실시예에서, 이미지 인코딩 장치(2800)는:
역변환 모듈(2803)이 웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한 후 포스트-프로세싱 모델에 기초하여 재구성된 이미지에 대해 포스트-프로세싱을 수행하도록 구성된 포스트-프로세싱 모듈(2804)
을 더 포함하며, 여기서 포스트-프로세싱 모델은 심층 신경망 기반으로 구현된다.
전술한 유닛(엔트로피 디코딩 모듈(2801), 역양자화 모듈(2802), 역변환 모듈(2803) 및 포스트-프로세싱 모듈(2804))은 전술한 방법에서 관련 단계를 수행하도록 구성된다는 점에 유의해야 한다. 예를 들어, 엔트로피 디코딩 모듈(2801)은 단계 S601 및 단계 S2301에서 관련 콘텐츠를 수행하도록 구성되고, 역양자화 모듈(2802)은 단계 S2302에서 관련 콘텐츠를 수행하도록 구성되고, 역변환 모듈(2703)은 단계 S2303에서 관련 콘텐츠를 수행하도록 구성된다. 포스트-프로세싱 모듈(2804)은 단계 S2304에서 관련 콘텐츠를 수행하도록 구성된다.
이 실시예에서, 이미지 인코딩 장치(2800)는 모듈의 형태로 제시된다. 여기에서 "모듈"은 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC), 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하기 위한 프로세서 및 메모리, 집적 논리 회로 및/또는 위의 기능을 제공할 수 있는 다른 구성 요소일 수 있다. 또한, 엔트로피 디코딩 모듈(2801), 역양자화 모듈(2802), 역변환 모듈(2803) 및 포스트-프로세싱 모듈(2804)은 도 31에 도시된 이미지 디코딩 장치의 프로세서(3101)에 의해 구현될 수 있다.
도 29는 본 발명의 일 실시예에 따른 트레이닝 장치의 구조의 개략도이다. 도 29에 도시된 바와 같이, 트레이닝 장치(2900)는:
웨이블릿 변환 모델을 초기화하도록 구성된 초기화 모듈(2901); 및
초기화된 웨이블릿 변환 모델에 기초하여 트레이닝 이미지에 대해 N 웨이블릿 변환을 수행하여 3N+1 개의 서브밴드를 획득하고; 초기화된 웨이블릿 변환 모델에 기초하여 제1 서브밴드, 제2 서브밴드, 제3 서브밴드, ..., 및 제3N 서브밴드에 대해 인버스 웨이블릿 변환을 수행하여 3N 개의 재구성된 이미지를 획득하고; 트레이닝 이미지와 3N 개의 재구성된 이미지를 기반으로 손실값을 계산하고, 여기서 손실값 이고, Ri는 3N 개의 재구성된 이미지 중 i번째 이미지이고, I는 트레이닝 이미지이고, 위의 방법을 여러 번 반복하고 손실값 L의 변동 범위가 매우 작으면 웨이블릿 변환 모델의 학습이 완료된 것으로 결정하고, 그렇지 않으면 앞의 방법에 따라 웨이블릿 변환 모델을 계속 트레이닝하도록 구성된 트레이닝 모듈(2902)
을 포함한다.
전술한 유닛(초기화 모듈(2901) 및 트레이닝 모듈(2902))은 전술한 방법에서 관련 단계를 수행하도록 구성된다는 점에 유의해야 한다.
이 실시예에서 트레이닝 장치(2900)는 모듈의 형태로 제시된다. 여기에서 "모듈"은 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC), 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하기 위한 프로세서 및 메모리, 집적 논리 회로 및/또는 위의 기능을 제공할 수 있는 다른 구성 요소일 수 있다. 또한, 초기화 모듈(2901) 및 트레이닝 모듈(2902)은 도 32에 도시된 트레이닝 장치의 프로세서(3201)에 의해 구현될 수 있다.
도 30에 도시된 이미지 인코딩 장치(3000)는 도 30의 구조를 사용하여 구현될 수 있다. 이미지 인코딩 장치(3000)는 적어도 하나의 프로세서(3001), 적어도 하나의 메모리(3002), 및 적어도 하나의 통신 인터페이스(3003)를 포함한다. 프로세서(3001), 메모리(3002) 및 통신 인터페이스(3003)는 통신 버스를 통해 서로 연결되고 통신한다.
프로세서(3001)는 범용 CPU(Central Processing Unit), 마이크로프로세서, ASIC(application-specific integrated circuit), 또는 전술한 솔루션의 프로그램 실행을 제어하기 위한 하나 이상의 집적 회로일 수 있다.
통신 인터페이스(3003)는 이더넷, 무선 액세스 네트워크(Radio Access Network, RAN), 또는 무선 근거리 통신망(Wireless Local Area Network, WLAN)과 같은 통신 네트워크 또는 다른 장치와 통신하도록 구성된다.
메모리(3002)는 읽기 전용 메모리(read-only memory, ROM) 또는 정적 정보 및 명령을 저장할 수 있는 다른 유형의 정적 저장 장치, 랜덤 액세스 메모리(random access memory, RAM) 또는 다른 유형일 수 있거나, 또는 정보와 명령을 저장할 수 있는 동적 저장 장치 또는 전기적으로 지울 수 있는 프로그래머블 읽기 전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 컴팩트 디스크 읽기 전용 메모리(Compact Disc Read-Only Memory, CD -ROM) 또는 다른 광 디스크 저장 장치, 광 디스크 저장 장치(압축 광 디스크, 레이저 디스크, 광 디스크, 디지털 다목적 광 디스크, Blu-ray 디스크 등을 포함), 자기 디스크 저장 매체 또는 다른 자기 저장 장치, 또는 명령 또는 데이터 구조의 형태로 예상 프로그램 코드를 실어 전달하거나 저장하는 데 사용할 수 있고 컴퓨터에서 액세스할 수 있는 기타 매체일 수 있다. 메모리(3002)는 이에 한정되지 않는다. 메모리는 독립적으로 존재할 수 있으며 버스를 통해 프로세서와 연결된다. 대안적으로, 메모리는 프로세서와 통합될 수 있다.
메모리(3002)는 전술한 솔루션을 실행하기 위한 응용 프로그램 코드를 저장하도록 구성되고, 프로세서(3001)는 실행을 제어한다. 프로세서(3001)는 메모리(3002)에 저장된 애플리케이션 프로그램 코드를 실행하도록 구성된다.
메모리(3002)에 저장된 코드는 웨이블릿 변환에 기초한 전술한 이미지 인코딩 방법을 수행할 수 있고, 예를 들어,
웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하며, 여기서 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고; 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하며; 그리고 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득할 수 있다.
도 31에 도시된 이미지 디코딩 장치(3100)는 도 31의 구조를 사용하여 구현될 수 있다. 이미지 디코딩 장치(3100)는 적어도 하나의 프로세서(3101), 적어도 하나의 메모리(3102), 및 적어도 하나의 통신 인터페이스(3103)를 포함한다. 프로세서(3101), 메모리(3102) 및 통신 인터페이스(3103)는 통신 버스를 통해 서로 연결되고 통신한다.
프로세서(3101)는 범용 CPU(Central Processing Unit), 마이크로프로세서, 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC), 또는 위의 솔루션의 프로그램 실행을 제어하기 위한 하나 이상의 집적 회로일 수 있다.
통신 인터페이스(3103)는 이더넷, 무선 액세스 네트워크(RAN), 또는 무선 근거리 통신망(Wireless Local Area Network, WLAN)과 같은 통신 네트워크 또는 다른 장치와 통신하도록 구성된다.
메모리(3102)는 읽기 전용 메모리(read-only memory, ROM) 또는 정적 정보 및 명령을 저장할 수 있는 다른 유형의 정적 저장 장치, 랜덤 액세스 메모리(random access memory리, RAM) 또는 다른 유형일 수 있거나, 또는 정보와 명령을 저장할 수 있는 동적 저장 장치 또는 전기적으로 지울 수 있는 프로그램 가능한 읽기 전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 컴팩트 디스크 읽기 전용 메모리(Compact Disc Read-Only Memory, CD -ROM) 또는 다른 광 디스크 저장 장치, 광 디스크 저장 장치(압축 광 디스크, 레이저 디스크, 광 디스크, 디지털 다목적 광 디스크, Blu-ray 디스크 등을 포함), 자기 디스크 저장 매체 또는 다른 자기 저장 장치, 또는 명령 또는 데이터 구조의 형태로 예상 프로그램 코드를 실어 전달하거나 저장하는 데 사용할 수 있고 컴퓨터에서 액세스할 수 있는 기타 매체일 수 있다. 메모리(3102)는 이에 한정되지 않는다. 메모리는 독립적으로 존재할 수 있으며 버스를 통해 프로세서와 연결된다. 대안적으로, 메모리는 프로세서와 통합될 수 있다.
메모리(3102)는 전술한 솔루션을 실행하기 위한 응용 프로그램 코드를 저장하도록 구성되고, 프로세서(3101)는 실행을 제어한다. 프로세서(3101)는 메모리(3102)에 저장된 애플리케이션 프로그램 코드를 실행하도록 구성된다.
메모리(3102)에 저장된 코드는 웨이블릿 변환에 기초한 전술한 이미지 디코딩 방법을 수행할 수 있고, 예를 들어,
압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하고; 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하고; 그리고 웨이블릿 변환 모델에 기초하여 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득할 수 있고, 여기서 웨이블릿 변환 모델은 CNN(convolutional neural network)을 기반으로 구현된다.
도 32에 도시된 트레이닝 장치(3200)는 도 32의 구조를 사용하여 구현될 수 있다. 트레이닝 장치(3200)는 적어도 하나의 프로세서(3201), 적어도 하나의 메모리(3202), 및 적어도 하나의 통신 인터페이스(3203)를 포함한다. 프로세서(3201), 메모리(3202), 및 통신 인터페이스(3203)는 통신 버스를 통해 서로 연결되고 통신한다.
프로세서(3201)는 범용 CPU, 마이크로프로세서, ASIC, 또는 전술한 솔루션의 프로그램 실행을 제어하도록 구성된 하나 이상의 집적 회로일 수 있다.
통신 인터페이스(3203)는 이더넷, RAN, 또는 WLAN과 같은 통신 네트워크 또는 다른 장치와 통신하도록 구성된다.
메모리(3202)는 정적 정보 및 명령을 저장할 수 있는 ROM 또는 다른 유형의 정적 저장 장치, 또는 정보 및 명령을 저장할 수 있는 RAM 또는 다른 유형의 동적 저장 장치일 수 있거나; 또는 EEPROM, CD-ROM 또는 다른 컴팩트 디스크 저장소, 광 디스크 저장소(컴팩트 디스크, 레이저 디스크, 광 디스크, 디지털 다목적 디스크, 블루레이 디스크 등 포함), 디스크 저장 매체 또는 다른 자기 저장 장치, 또는 명령 또는 데이터 구조의 형태로 예상 프로그램 코드를 운반하거나 저장하는 데 사용할 수 있고 컴퓨터에서 액세스할 수 있는 기타 모든 매체일 수 있다. 그렇지만, 메모리(3202)는 이에 한정되지 않는다. 메모리는 독립적으로 존재할 수 있으며 버스를 통해 프로세서와 연결된다. 대안적으로, 메모리는 프로세서와 통합될 수 있다.
메모리(3202)는 전술한 솔루션을 실행하기 위한 응용 프로그램 코드를 저장하도록 구성되고, 프로세서(3201)는 실행을 제어한다. 프로세서(3201)는 메모리(3202)에 저장된 애플리케이션 프로그램 코드를 실행하도록 구성된다.
메모리(3202)에 저장된 코드는 웨이블릿 변환 모델을 트레이닝하기 위한 전술한 방법을 수행할 수 있고, 예를 들어,
웨이블릿 변환 모델을 초기화하고; 초기화된 웨이블릿 변환 모델에 기초하여 트레이닝 이미지에 대해 N 웨이블릿 변환을 수행하여 3N+1 개의 서브밴드를 획득하고 초기화된 웨이블릿 변환 모델에 기초하여 제1 서브밴드, 제2 서브밴드, 제3 서브밴드, ..., 및 제3N 서브밴드에 대해 인버스 웨이블릿 변환을 수행하여 3N 개의 재구성된 이미지를 획득하고; 트레이닝 이미지와 3N 개의 재구성된 이미지를 기반으로 손실값을 계산하고, 여기서 손실값 이고, Ri는 3N 개의 재구성된 이미지 중 i번째 이미지이고, I는 트레이닝 이미지이고, 위의 방법을 여러 번 반복하고 손실값 L의 변동 범위가 매우 작으면 웨이블릿 변환 모델의 학습이 완료된 것으로 결정하고, 그렇지 않으면 앞의 방법에 따라 웨이블릿 변환 모델을 계속 트레이닝할 수 있다.
설명을 간략하게 하기 위해, 전술한 방법 실시예는 일련의 동작으로 표현된다는 점에 유의해야 한다. 그렇지만, 당업자는 본 발명이 설명된 동작 순서에 제한되지 않는다는 것을 이해해야 한다. 본 발명에 따르면 일부 단계는 다른 순서로 수행되거나 동시에 수행될 수 있기 때문이다. 또한, 본 기술 분야의 통상의 지식을 가진 자는 명세서에 기술된 모든 실시예가 바람직한 실시예이며, 관련된 동작 및 모듈이 반드시 본 발명에 필수적인 것은 아님을 이해해야 한다.
전술한 실시예에서, 각 실시예의 설명은 각각의 초점을 갖는다. 실시예에서 구체적으로 설명되지 않은 부분은 다른 실시예에서 관련된 설명을 참조한다.
본 출원에 제공된 여러 실시예에서, 개시된 장치는 다른 방식으로 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예일 뿐이다. 예를 들어, 단위 분할은 단지 논리적 기능 분할이며 실제 구현에서 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 다른 시스템으로 결합 또는 통합될 수 있거나, 일부 기능이 무시되거나 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 통해 구현될 수 있다. 또한, 장치 또는 유닛 간의 간접 결합 또는 통신 연결은 전기적 또는 다른 형태로 구현될 수 있다.
별도의 부분으로 설명된 단위는 물리적으로 분리되거나 분리되지 않을 수 있으며, 단위로 표시된 부분은 물리적 단위가 될 수도 있고 아닐 수도 있고, 한 위치에 있을 수도 있고, 복수의 네트워크 단위에 분산될 수도 있다. 일부 또는 모든 유닛은 실시예에서 솔루션의 목적을 달성하기 위한 실제 요구사항에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 각 유닛이 물리적으로 단독으로 존재할 수 있거나, 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 통합 유닛은 하드웨어의 형태로 구현될 수도 있고, 소프트웨어 기능 유닛의 형태로 구현될 수도 있다.
통합 유닛이 소프트웨어 기능 유닛의 형태로 구현되어 독립 제품으로 판매되거나 사용되는 경우, 통합 유닛은 컴퓨터 판독 가능 메모리에 저장될 수 있다. 이러한 이해에 기초하여, 본 발명의 기술적 솔루션, 본질적으로 또는 선행 기술에 기여하는 부분, 또는 기술적 솔루션의 전부 또는 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고 컴퓨터 장치(개인용 컴퓨터, 서버 또는 네트워크 장치일 수 있음)에 본 발명의 실시예에 설명된 방법의 단계 전체 또는 일부를 수행하도록 지시하기 위한 여러 명령을 포함한다. 전술한 저장 매체에는 USB 플래시 드라이브, 읽기 전용 메모리(read-only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 이동식 하드 디스크, 자기 디스크 또는 광 디스크와 같이 프로그램 코드를 저장할 수 있는 모든 매체가 포함된다.
당업자는 실시예에 있는 방법의 단계의 전부 또는 일부가 관련 하드웨어에 지시하는 프로그램에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 메모리에 저장될 수 있다. 메모리는 플래시 메모리, 읽기 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기 디스크, 광 디스크 등을 포함할 수 있다.
본 발명의 실시예는 위에서 상세히 설명되었다. 본 발명의 원리 및 구현은 구체적인 예를 통해 본 명세서에서 설명된다. 본 발명의 실시예에 대한 설명은 단지 본 발명의 방법 및 핵심 사상을 이해하는 데 도움을 주기 위해 제공되는 것이다. 또한, 본 기술 분야의 통상의 지식을 가진 자는 본 발명의 사상에 따라 특정 구현 및 적용 범위의 관점에서 본 발명을 변형 및 수정할 수 있다. 따라서 본 명세서의 내용이 본 발명을 제한하는 것으로 해석되어서는 안 된다.
Claims (42)
- 웨이블릿 변환(wavelet transform) 기반 이미지 인코딩 방법으로서,
웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계 - 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수임 - ;
상기 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하는 단계; 및
상기 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계
를 포함하는 이미지 인코딩 방법. - 제1항에 있어서,
상기 웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하는 단계는:
i번째 웨이블릿 변환을 수행할 때, 서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하는 단계 - 상기 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 상기 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함함 - ;
상기 짝수 샘플 성분 및 상기 홀수 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 중간 근사 성분(intermediate approximation component) 및 중간 상세 성분(intermediate detail component)을 획득하는 단계;
상기 중간 근사 성분을 분해하여 제1 샘플 성분 및 제2 샘플 성분을 획득하는 단계 - 상기 제1 샘플 성분은 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수를 포함하고, 상기 제2 샘플 성분은 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 중간 상세 성분을 분해하여 제3 샘플 성분 및 제4 샘플 성분을 획득하는 단계 - 상기 제3 샘플 성분은 상기 중간 상세 성분의 홀수 행 계수 또는 홀수 행 계수를 포함하고, 상기 제4 샘플 성분은 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 제1 샘플 성분 및 상기 제2 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 근사 서브밴드 Pi 및 상세 서브밴드 Ii1을 획득하는 단계; 및
상기 제3 샘플 성분 및 상기 제4 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득하는 단계
를 포함하며,
여기서 상기 웨이블릿 계수는 근사 서브밴드 Pi, 상세 서브밴드 Ii1, 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 포함하고; 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환일 때, 상기 서브밴드 X는 인코딩될 이미지이거나; 또는 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환이 아닐 때, 상기 서브밴드 X는 근사 서브밴드 Pi-1이고, 상기 근사 서브밴드 Pi-1은 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드인, 이미지 인코딩 방법. - 제2항에 있어서,
상기 예측 조작은 CNN에 기초하여 구현되거나;
상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는
상기 예측 조작과 상기 업데이트 조작은 모두 CNN에 기초하여 구현되는, 이미지 인코딩 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하는 단계는:
엔트로피 인코딩 모델에 기초하여 상기 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하는 단계
를 포함하고, 상기 엔트로피 인코딩 모델은 심층 신경망(deep neural network)에 기초하여 구현되는, 이미지 인코딩 방법. - 제4항에 있어서,
상기 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 엔트로피 인코딩 모델에 기초하여 상기 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하는 단계는:
엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계 - 상기 인코딩될 계수는 s번째 서브밴드의 임의의 계수이고, 상기 s번째 서브밴드는 3N+1 서브밴드 중 임의의 하나임 - ;
상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 누적 확률 분포 함수를 획득하는 단계;
상기 인코딩될 계수 및 상기 인코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 인코딩될 계수의 확률 분포를 획득하는 단계; 및
상기 인코딩될 계수의 확률 분포에 기초하여 인코딩될 계수에 대해 산술 인코더를 사용하여 엔트로피 인코딩을 수행하여 상기 인코딩될 계수에 대응하는 비트스트림을 획득하는 단계 - 상기 압축된 비트스트림은 상기 인코딩될 계수에 대응하는 비트스트림을 포함함 -
를 포함하는, 이미지 인코딩 방법. - 제5항에 있어서,
상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 인코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 인코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수(window function)에 기초하여 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작(windowing operation)을 수행하여 제1 윈도우화된 컨볼루션 커널(windowed convolution kernel)을 획득하는 단계; 및
상기 제1 윈도우화된 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하는 단계; 및
상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하는 단계
를 포함하고,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드이거나; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함하는, 이미지 인코딩 방법. - 제5항에 있어서,
상기 s번째 서브밴드가 상기 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 인코딩 모델은 제1 엔트로피 인코딩 모델, 제2 엔트로피 인코딩 모델 및 제3 엔트로피 인코딩 모델을 포함하며, 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 인코딩 모델은 순환 신경망(recurrent neural network, RNN)에 기초하여 구현되고, 상기 제1 엔트로피 인코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 상기 제2 엔트로피 인코딩 모델은 T2 개의 컨볼루션 레이어를 포함하며, T1 및 T2는 모두 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과는 상기 제2 엔트로피 인코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드는 상기 제1 엔트로피 인코딩 모델의 입력 데이터임 - ; 및
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작(combination operation)을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어임 - ; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터임 - ; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 q2번째 컨볼루션 레이어이고, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작고 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 인코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터임 -
를 포함하는, 이미지 인코딩 방법. - 제7항에 있어서,
상기 (s-1)번째 서브밴드의 해상도가 상기 s번째 서브밴드의 해상도와 다를 때, 계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하는 단계는:
상기 제3 엔트로피 인코딩 모델과 상기 제3 엔트로피 인코딩 모델의 상태 변수에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하는 단계; 및
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드의 해상도와 동일함 - ;
를 포함하고,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득한 후, 상기 이미지 인코딩 방법은:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하는 단계
를 더 포함하며, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일한, 이미지 인코딩 방법. - 제7항 또는 제8항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌(non-first) 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하는 단계
를 포함하는, 이미지 인코딩 방법. - 제7항 또는 제8항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하는 단계 - 상기 제2 컨볼루션 커널은 상기 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하는 단계
를 포함하는, 이미지 인코딩 방법. - 웨이블릿 변환에 기초한 이미지 디코딩 방법으로서,
압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계;
상기 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하는 단계; 및
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계
를 포함하며, 여기서 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수인, 이미지 디코딩 방법 - 제11항에 있어서,
상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하는 단계는:
엔트로피 디코딩 모델에 기초하여 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 상기 재구성된 웨이블릿 계수를 획득하는 단계
를 포함하고, 상기 엔트로피 디코딩 모델은 심층 신경망에 기초하여 구현되는, 이미지 디코딩 방법 - 제12항에 있어서,
상기 압축된 비트스트림은 3N+1 개의 서브밴드의 비트스트림을 포함하고, 상기 재구성된 웨이블릿 계수는 3N+1 개의 재구성된 서브밴드를 포함하고, 엔트로피 디코딩 모델에 기초하여 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 상기 재구성된 웨이블릿 계수를 획득하는 단계는:
s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계 - 상기 디코딩될 계수의 비트스트림은 상기 s번째 서브밴드의 비트스트림이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 3N+1 개의 재구성된 서브밴드 중 어느 하나임 - ;
상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 디코딩될 계수의 누적 확률 분포 함수를 획득하는 단계;
상기 디코딩될 계수 및 상기 디코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 디코딩될 계수의 확률 분포를 획득하는 단계; 및
상기 디코딩될 계수의 확률 분포에 기초하여, 상기 디코딩될 계수의 비트스트림에 대해 산술 디코더를 사용하여 엔트로피 디코딩을 수행하여 디코딩될 계수를 획득하는 단계 - 상기 3N+1 재구성된 서브밴드는 디코딩될 계수를 포함함 -
를 포함하는, 이미지 디코딩 방법. - 제13항에 있어서,
상기 s번째 서브밴드는 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 디코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 디코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하는 단계; 및
상기 제1 윈도우화된 컨볼루션 커널에 기초하여, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하는 단계; 및
상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하는 단계
를 포함하고,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 상기 제1 서브밴드에 대응하는 재구성된 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함하는, 이미지 디코딩 방법 - 제13항에 있어서,
상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 디코딩 모델은 제1 엔트로피 디코딩 모델, 제2 엔트로피 디코딩 모델, 및 제3 엔트로피 디코딩 모델을 포함하며, 상기 제1 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 디코딩 모델은 순환 신경망(RNN)에 기초하여 구현되고, 상기 제1 엔트로피 디코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 디코딩 모델은 T2 개의 컨볼루션 레이어를 포함하고, 둘 다 T1 및 T2는 0보다 큰 정수이고, s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하는 단계는:
(s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 단계 - 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드는 (상기 s-1) 서브밴드의 비트스트림에 대해 엔트로피 디코딩을 수행하여 획득되고, 상기 제1 출력 결과는 제2 엔트로피 디코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 제1 엔트로피 디코딩 모델의 입력 데이터임 - ; 및
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 디코딩 모델 및 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이며, q가 T1과 같으면 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 디코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 q2번째 컨볼루션 레이어이며, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작으며 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 디코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터임 -
를 포함하는, 이미지 디코딩 방법. - 제15항에 있어서,
상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도가 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하는 단계는:
상기 제3 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델의 상태 변수에 기초하여, 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하는 단계; 및
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하는 단계 - 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 동일함 -
를 포함하며,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득한 후, 상기 이미지 디코딩 방법은:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하는 단계
를 더 포함하고, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일한, 이미지 디코딩 방법. - 제15항 또는 제16항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하는 단계
를 포함하는, 이미지 디코딩 방법. - 제15항 또는 제16항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하는 단계는:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하는 단계 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하는 단계 - 상기 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 제2 입력 데이터에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하는 단계 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 및
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하는 단계
를 포함하는, 이미지 디코딩 방법. - 제11항 내지 제18항 중 어느 한 항에 있어서,
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하는 단계는:
t번째 인버스 웨이블릿 변환을 수행할 때, 근사 서브밴드 PN+1-t 및 상세 서브밴드 I(N+1-t)1에 대해 업데이트 조작 및 예측 조작을 수행하여 제1 처리된 서브밴드와 제2 처리된 서브밴드를 획득하는 단계, 및 상기 제1 처리된 서브밴드 및 상기 제2 처리된 서브밴드에 기초하여 중간 근사 성분을 획득하는 단계 - 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수는 상기 제1 처리된 서브밴드에서 비롯되고, 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제2 처리된 서브밴드에서 비롯됨 - ;
상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3에 대해 업데이트 조작 및 예측 조작을 수행하여 제3 처리된 서브밴드 및 제4 처리된 서브밴드를 획득하는 단계, 및 상기 제3 처리된 서브밴드 및 상기 제4 처리된 서브밴드에 기초하여 중간 상세 성분을 획득하는 단계 - 상기 중간 상세 성분의 홀수 열 계수 또는 짝수 행 계수는 상기 제3 처리된 서브밴드에서 비롯되고, 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제4 처리된 서브밴드에서 비롯됨 - ; 및
상기 중간 상세 성분 및 상기 중간 근사 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 제5 처리된 서브밴드 및 제6 처리된 서브밴드를 획득하는 단계, 및 상기 제5 처리된 서브밴드 및 상기 제6 처리된 서브밴드에 기초하여 근사 서브밴드 Pt-1을 획득하는 단계 - 상기 근사 서브밴드 Pt-1의 홀수 행 계수 또는 홀수 열 계수는 상기 제5 처리된 서브밴드에서 비롯되고, 상기 근사 서브밴드 Pt-1의 짝수 행 계수 또는 짝수 열 계수는 상기 제6 처리된 서브밴드에서 비롯되며, 상기 상세 서브밴드 I(N+1-t)1, 상기 상세 서브밴드 I(N+1-t)2 및 상기 상세 서브밴드 I(N+1-t)3의 해상도는 근사 서브밴드 PN+1-t의 해상도와 동일하고, t번째 인버스 웨이블릿 변환이 마지막 웨이블릿 변환일 때 상기 근사 서브밴드 Pt-1은 상기 재구성된 이미지임 -
를 포함하는, 이미지 디코딩 방법. - 제19항에 있어서,
상기 예측 조작은 CNN에 기초하여 구현되거나;
상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는
상기 업데이트 조작과 상기 예측 조작은 모두 CNN에 기초하여 구현되는, 이미지 디코딩 방법. - 제11항, 제19항, 또는 제20항에 있어서,
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한 후, 상기 이미지 디코딩 방법은:
포스트-프로세싱 모델에 기초하여 상기 재구성된 이미지에 대해 포스트-프로세싱을 수행하여 처리된 재구성된 이미지를 획득하는 단계
를 더 포함하고, 여기서 상기 포스트-프로세싱 모델은 심층 신경망에 기초하여 구현되는, 이미지 디코딩 방법. - 이미지 인코딩 장치로서,
웨이블릿 변환 모델에 기초하여 인코딩될 이미지에 대해 N 개의 웨이블릿 변환을 수행하여 웨이블릿 계수를 획득하도록 구성되어 있는 변환 모듈 - 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수임 - ;
상기 웨이블릿 계수를 양자화하여 양자화된 웨이블릿 계수를 획득하도록 구성되어 있는 양자화 모듈; 및
상기 양자화된 웨이블릿 계수에 대해 엔트로피 인코딩을 수행하여 압축된 비트스트림을 획득하도록 구성되어 있는 엔트로피 인코딩 모듈
을 포함하는 이미지 인코딩 장치. - 제22항에 있어서,
상기 변환 모듈을 구체적으로:
i번째 웨이블릿 변환을 수행할 때, 서브밴드 X를 분해하여 홀수 샘플 성분 및 짝수 샘플 성분을 획득하고 - 상기 홀수 샘플 성분은 서브밴드 X의 홀수 행 계수 또는 홀수 열 계수를 포함하고, 상기 짝수 샘플 성분은 서브밴드 X의 짝수 행 계수 또는 짝수 열 계수를 포함함 - ;
상기 짝수 샘플 성분 및 상기 홀수 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 중간 근사 성분(intermediate approximation component) 및 중간 상세 성분(intermediate detail component)을 획득하고;
상기 중간 근사 성분을 분해하여 제1 샘플 성분 및 제2 샘플 성분을 획득하고 - 상기 제1 샘플 성분은 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수를 포함하고, 상기 제2 샘플 성분은 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 중간 상세 성분을 분해하여 제3 샘플 성분 및 제4 샘플 성분을 획득하고 - 상기 제3 샘플 성분은 상기 중간 상세 성분의 홀수 행 계수 또는 홀수 행 계수를 포함하고, 상기 제4 샘플 성분은 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수를 포함함 - ;
상기 제1 샘플 성분 및 상기 제2 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 근사 서브밴드 Pi 및 상세 서브밴드 Ii1을 획득하며; 그리고
상기 제3 샘플 성분 및 상기 제4 샘플 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 획득하도록 구성되어 있으며,
여기서 상기 웨이블릿 계수는 근사 서브밴드 Pi, 상세 서브밴드 Ii1, 상세 서브밴드 Ii2 및 상세 서브밴드 Ii3을 포함하고; 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환일 때, 상기 서브밴드 X는 인코딩될 이미지이거나; 또는 상기 i번째 웨이블릿 변환이 첫 번째 웨이블릿 변환이 아닐 때, 상기 서브밴드 X는 근사 서브밴드 Pi-1이고, 상기 근사 서브밴드 Pi-1은 (i-1)번째 웨이블릿 변환을 수행하여 획득된 근사 서브밴드인, 이미지 인코딩 장치. - 제23항에 있어서,
상기 예측 조작은 CNN에 기초하여 구현되거나;
상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는
상기 예측 조작과 상기 업데이트 조작은 모두 CNN에 기초하여 구현되는, 이미지 인코딩 장치. - 제22항 내지 제24항 중 어느 한 항에 있어서,
상기 엔트로피 인코딩 모듈을 구체적으로:
엔트로피 인코딩 모델에 기초하여 상기 양자화된 웨이블릿 계수를 인코딩하여 압축된 비트스트림을 획득하도록 구성되어 있으며,
상기 엔트로피 인코딩 모델은 심층 신경망(deep neural network)에 기초하여 구현되는, 이미지 인코딩 장치. - 제25항에 있어서,
상기 웨이블릿 계수는 3N+1 개의 서브밴드를 포함하고, 상기 엔트로피 인코딩 모듈은 구체적으로:
엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하고 - 상기 인코딩될 계수는 s번째 서브밴드의 임의의 계수이고, 상기 s번째 서브밴드는 3N+1 서브밴드 중 임의의 하나임 - ;
상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 누적 확률 분포 함수를 획득하고;
상기 인코딩될 계수 및 상기 인코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 인코딩될 계수의 확률 분포를 획득하며; 그리고
상기 인코딩될 계수의 확률 분포에 기초하여 인코딩될 계수에 대해 산술 인코더를 사용하여 엔트로피 인코딩을 수행하여 상기 인코딩될 계수에 대응하는 비트스트림을 획득하도록 구성되어 있으며, 상기 압축된 비트스트림은 상기 인코딩될 계수에 대응하는 비트스트림을 포함하는, 이미지 인코딩 장치. - 제26항에 있어서,
상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드일 때,
상기 엔트로피 인코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 인코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 엔트로피 인코딩 모델에 s번째 서브밴드를 입력하여 계산을 통해 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 상기 엔트로피 인코딩 모듈은 구체적으로:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수(window function)에 기초하여 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작(windowing operation)을 수행하여 제1 윈도우화된 컨볼루션 커널(windowed convolution kernel)을 획득하며; 그리고
상기 제1 윈도우화된 컨볼루션 커널에 기초하여 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하거나; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하며; 그리고
상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하도록 구성되어 있으며,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 제1 서브밴드이거나; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함하는, 이미지 인코딩 장치. - 제27항에 있어서,
상기 s번째 서브밴드가 상기 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 인코딩 모델은 제1 엔트로피 인코딩 모델, 제2 엔트로피 인코딩 모델 및 제3 엔트로피 인코딩 모델을 포함하며, 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 인코딩 모델은 순환 신경망(recurrent neural network, RNN)에 기초하여 구현되고, 상기 제1 엔트로피 인코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 상기 제2 엔트로피 인코딩 모델은 T2 개의 컨볼루션 레이어를 포함하며, T1 및 T2는 모두 0보다 큰 정수이고, 상기 엔트로피 인코딩 모듈은 구체적으로:
계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득하며 - 상기 제1 출력 결과는 상기 제2 엔트로피 인코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드는 상기 제1 엔트로피 인코딩 모델의 입력 데이터임 - ; 그리고
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작(combination operation)을 수행하여 제2 출력 결과를 획득하거나 - 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 인코딩 모델 및 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어임 - ; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하거나 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 컨볼루션 레이어이고, q가 T1과 같으면 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터임 - ; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하도록 구성되어 있으며, 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 인코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 인코딩 모델에서 q2번째 컨볼루션 레이어이고, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 인코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작고 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 인코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 인코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터인, 이미지 인코딩 장치. - 제28항에 있어서,
상기 (s-1)번째 서브밴드의 해상도가 상기 s번째 서브밴드의 해상도와 다를 때, 계산을 위해 제3 엔트로피 인코딩 모델에 (s-1)번째 서브밴드를 입력하여 제1 출력 결과를 획득할 때, 상기 엔트로피 인코딩 모듈은 구체적으로:
상기 제3 엔트로피 인코딩 모델과 상기 제3 엔트로피 인코딩 모델의 상태 변수에 기초하여 (s-1)번째 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하며; 그리고
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하도록 구성되어 있으며, 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드의 해상도와 동일하고,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득한 후, 상기 엔트로피 인코딩 모듈은:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하도록 추가로 구성되어 있으며, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일한, 이미지 인코딩 장치. - 제28항 또는 제29항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행할 때, 상기 엔트로피 인코딩 모듈을 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 제1 엔트로피 인코딩 모델에서 제1이 아닌(non-first) 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 제2 출력 결과를 획득하도록 구성되어 있는, 이미지 인코딩 장치. - 제28항 또는 제29항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 상기 엔트로피 인코딩 모듈은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하고 - 상기 제2 컨볼루션 커널은 상기 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 s번째 서브밴드이거나, 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대해 컨볼루션 조작을 수행하여 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 인코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하도록 구성되어 있는, 이미지 인코딩 장치. - 이미지 디코딩 장치로서,
압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 재구성된 웨이블릿 계수를 획득하도록 구성되어 있는 엔트로피 디코딩 모듈;
상기 재구성된 웨이블릿 계수를 역양자화하여 역양자화된 웨이블릿 계수를 획득하도록 구성되어 있는 역양자화 모듈; 및
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득하도록 구성되어 있는 인버스 변환 모듈
을 포함하며, 여기서 상기 웨이블릿 변환 모델은 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기초하여 구현되고, N은 0보다 큰 정수인, 이미지 디코딩 장치. - 제32항에 있어서,
상기 엔트로피 디코딩 모듈은 구체적으로:
엔트로피 디코딩 모델에 기초하여 상기 압축된 비트스트림에 대해 엔트로피 디코딩을 수행하여 상기 재구성된 웨이블릿 계수를 획득하도록 구성되어 있으며,
상기 엔트로피 디코딩 모델은 심층 신경망에 기초하여 구현되는, 이미지 디코딩 장치. - 제33항에 있어서,
상기 압축된 비트스트림은 3N+1 개의 서브밴드의 비트스트림을 포함하고, 상기 재구성된 웨이블릿 계수는 3N+1 개의 재구성된 서브밴드를 포함하고, 상기 엔트로피 디코딩 모듈은 구체적으로:
s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하고 - 상기 디코딩될 계수의 비트스트림은 상기 s번째 서브밴드의 비트스트림이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 3N+1 개의 재구성된 서브밴드 중 어느 하나임 - ;
상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터에 기초하여 상기 디코딩될 계수의 누적 확률 분포 함수를 획득하고;
상기 디코딩될 계수 및 상기 디코딩될 계수의 누적 확률 분포 함수에 기초하여 상기 디코딩될 계수의 확률 분포를 획득하며; 그리고
상기 디코딩될 계수의 확률 분포에 기초하여, 상기 디코딩될 계수의 비트스트림에 대해 산술 디코더를 사용하여 엔트로피 디코딩을 수행하여 디코딩될 계수를 획득하도록 구성되어 있으며, 상기 3N+1 재구성된 서브밴드는 디코딩될 계수를 포함하는, 이미지 디코딩 장치. - 제34항에 있어서,
상기 s번째 서브밴드는 3N+1 개의 서브밴드 중 제1 서브밴드일 때, 상기 엔트로피 디코딩 모델은 픽셀 컨볼루션 신경망(pixelCNN)에 기초하여 구현되고, 상기 엔트로피 디코딩 모델은 M 개의 컨볼루션 레이어를 포함하고, M은 0보다 큰 정수이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드를 상기 엔트로피 디코딩 모델에 입력하여 계산을 통해 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
M이 1일 때, 제1 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여, 상기 제1 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제1 윈도우화된 컨볼루션 커널을 획득하며; 그리고
상기 제1 윈도우화된 컨볼루션 커널에 기초하여, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 획득하거나; 또는
M이 1보다 클 때, j번째 컨볼루션 레이어의 동작 중 상기 j번째 컨볼루션 레이어에 대응하는 윈도우 함수에 기초하여 상기 j번째 컨볼루션 레이어에 대응하는 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 제2 윈도우화된 컨볼루션을 획득하며; 그리고
상기 제2 윈도우화된 컨볼루션 커널에 기초하여 상기 j번째 컨볼루션 레이어의 입력 데이터에 대해 컨볼루션 조작을 수행하여 j번째 출력 데이터를 획득하도록 구성되어 있으며,
여기서 j가 1일 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 상기 제1 서브밴드에 대응하는 재구성된 서브밴드이고; j가 1보다 크고 M보다 크지 않을 때, 상기 j번째 컨볼루션 레이어의 입력 데이터는 (j-1)번째 컨볼루션 레이어의 출력 데이터이거나; 또는 j가 M과 같을 때, 상기 j번째 출력 데이터는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터를 포함하는, 이미지 디코딩 장치. - 제34항에 있어서,
상기 s번째 서브밴드가 3N+1 개의 서브밴드 중 제1 서브밴드가 아닐 때, 상기 엔트로피 디코딩 모델은 제1 엔트로피 디코딩 모델, 제2 엔트로피 디코딩 모델, 및 제3 엔트로피 디코딩 모델을 포함하며, 상기 제1 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델은 모두 픽셀 컨볼루션 신경망에 기초하여 구현되고, 상기 제3 엔트로피 디코딩 모델은 순환 신경망(RNN)에 기초하여 구현되고, 상기 제1 엔트로피 디코딩 모델은 T1 개의 컨볼루션 레이어를 포함하고, 제2 엔트로피 디코딩 모델은 T2 개의 컨볼루션 레이어를 포함하고, 둘 다 T1 및 T2는 0보다 큰 정수이고, 상기 엔트로피 디코딩 모듈은 구체적으로:
(s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득하며 - 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드는 (상기 s-1) 서브밴드의 비트스트림에 대해 엔트로피 디코딩을 수행하여 획득되고, 상기 제1 출력 결과는 제2 엔트로피 디코딩 모델의 입력 데이터이고, 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드는 상기 제1 엔트로피 디코딩 모델의 입력 데이터임 - ; 그리고
T1 및 T2가 모두 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하거나 - 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이고, 상기 컨볼루션 레이어 C1 및 상기 컨볼루션 레이어 C2는 각각 상기 제1 엔트로피 디코딩 모델 및 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이거나; 또는
T1이 1보다 크고 T2가 1일 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하거나 - 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 컨볼루션 레이어이며, q가 T1과 같으면 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q가 0보다 크고 T1보다 작으면, 상기 제2 출력 결과는 상기 제1 엔트로피 디코딩 모델에서 (q+1)번째 컨볼루션 레이어의 입력 데이터이거나; 또는
T1 및 T2가 모두 1보다 클 때, 컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득하도록 구성되어 있으며, 상기 컨볼루션 레이어 C1은 상기 제1 엔트로피 디코딩 모델에서 q1번째 컨볼루션 레이어이고, 상기 컨볼루션 레이어 C2는 상기 제2 엔트로피 디코딩 모델에서 q2번째 컨볼루션 레이어이며, q1이 T1과 같고 q2가 T2와 같으면, 상기 제2 출력 결과는 상기 디코딩될 계수의 누적 확률 분포 함수의 파라미터이거나, 또는 q1이 0보다 크고 T1보다 작으며 q2가 0보다 크고 T2보다 작으면, 상기 제2 출력 결과는 제1 엔트로피 디코딩 모델에서 (q1+1)번째 컨볼루션 레이어의 입력 데이터이고, 상기 컨볼루션 레이어 C2의 출력 결과는 상기 제2 엔트로피 디코딩 모델에서 (q2+1)번째 컨볼루션 레이어의 입력 데이터인, 이미지 디코딩 장치. - 제36항에 있어서,
상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도가 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 다를 때, (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드를 계산을 위해 제3 엔트로피 디코딩 모델에 입력하여 제1 출력 결과를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
상기 제3 엔트로피 디코딩 모델 및 상기 제3 엔트로피 디코딩 모델의 상태 변수에 기초하여, 상기 (s-1)번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행하여 컨볼루션 결과를 획득하며; 그리고
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 상기 제1 출력 결과를 획득하도록 구성되어 있으며, 상기 제1 출력 결과의 해상도는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드의 해상도와 동일하며,
상기 컨볼루션 결과에 대해 업샘플링을 수행하여 제1 출력 결과를 획득한 후, 상기 엔트로피 디코딩 모듈은 구체적으로:
컨볼루션된 상태 변수에 대해 업샘플링을 수행하여 샘플링된 상태 변수를 획득하도록 추가로 구성되어 있으며, 여기서 상기 샘플링된 상태 변수의 해상도는 상기 s번째 서브밴드의 해상도와 동일한, 이미지 디코딩 장치. - 제36항 또는 제37항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 상기 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
제2 입력 데이터를 제2 서브 컨볼루션 레이어에 입력하고 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하도록 구성되어 있는, 이미지 디코딩 장치. - 제36항 또는 제37항에 있어서,
컨볼루션 레이어 C1 및 컨볼루션 레이어 C2에 기초하여 상기 제1 출력 결과 및 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 조합 조작을 수행하여 제2 출력 결과를 획득할 때, 상기 엔트로피 디코딩 모듈은 구체적으로:
제1 윈도우 함수에 기초하여 제1 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제1 컨볼루션 커널을 획득하고 - 상기 제1 컨볼루션 커널은 컨볼루션 레이어 C1에 대응하는 컨볼루션 커널임 - ;
제2 윈도우 함수에 기초하여 제2 컨볼루션 커널에 대해 윈도우잉 조작을 수행하여 윈도우화된 제2 컨볼루션 커널을 획득하고 - 상기 제2 컨볼루션 커널은 컨볼루션 레이어 C2에 대응하는 컨볼루션 커널이고, 상기 제1 윈도우 함수 및 상기 제2 윈도우 함수는 서로 상보적임 - ;
상기 윈도우화된 제1 컨볼루션 커널에 기초하여 제1 입력 데이터에 대해 컨볼루션 조작을 수행하여 제1 컨볼루션 결과를 획득하고 - 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드이거나, 또는 상기 컨볼루션 레이어 C1이 상기 제1 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제1 입력 데이터는 상기 s번째 서브밴드에 대응하는 재구성된 서브밴드에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ;
상기 윈도우화된 제2 컨볼루션 커널에 기초하여 제2 입력 데이터에 대해 컨볼루션 조작을 수행하여 제2 컨볼루션 결과를 획득하며 - 상기 컨볼루션 레이어 C2가 제2 디코딩/인코딩 모델에서 제1 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 제1 출력 결과이거나, 또는 상기 컨볼루션 레이어 C2가 상기 제2 엔트로피 디코딩 모델에서 제1이 아닌 컨볼루션 레이어일 때, 상기 제2 입력 데이터는 상기 제1 출력 결과에 대해 컨볼루션 조작을 수행함으로써 획득됨 - ; 그리고
상기 제1 컨볼루션 결과 및 상기 제2 컨볼루션 결과에 대해 가산 또는 연결 조작을 수행하여 상기 제2 출력 결과를 획득하도록 구성되어 있는, 이미지 디코딩 장치. - 제32항 내지 제39항 중 어느 한 항에 있어서,
상기 인버스 변환 모듈은 구체적으로:
t번째 인버스 웨이블릿 변환을 수행할 때, 근사 서브밴드 PN+1-t 및 상세 서브밴드 I(N+1-t)1에 대해 업데이트 조작 및 예측 조작을 수행하여 제1 처리된 서브밴드와 제2 처리된 서브밴드를 획득하고, 상기 제1 처리된 서브밴드 및 상기 제2 처리된 서브밴드에 기초하여 중간 근사 성분을 획득하고 - 상기 중간 근사 성분의 홀수 열 계수 또는 홀수 행 계수는 상기 제1 처리된 서브밴드에서 비롯되고, 상기 중간 근사 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제2 처리된 서브밴드에서 비롯됨 - ;
상세 서브밴드 I(N+1-t)2 및 상세 서브밴드 I(N+1-t)3에 대해 업데이트 조작 및 예측 조작을 수행하여 제3 처리된 서브밴드 및 제4 처리된 서브밴드를 획득하고, 상기 제3 처리된 서브밴드 및 상기 제4 처리된 서브밴드에 기초하여 중간 상세 성분을 획득하며 - 상기 중간 상세 성분의 홀수 열 계수 또는 짝수 행 계수는 상기 제3 처리된 서브밴드에서 비롯되고, 상기 중간 상세 성분의 짝수 열 계수 또는 짝수 행 계수는 상기 제4 처리된 서브밴드에서 비롯됨 - ; 그리고
상기 중간 상세 성분 및 상기 중간 근사 성분에 대해 업데이트 조작 및 예측 조작을 수행하여 제5 처리된 서브밴드 및 제6 처리된 서브밴드를 획득하고, 상기 제5 처리된 서브밴드 및 상기 제6 처리된 서브밴드에 기초하여 근사 서브밴드 Pt-1을 획득하도록 구성되어 있으며, 상기 근사 서브밴드 Pt-1의 홀수 행 계수 또는 홀수 열 계수는 상기 제5 처리된 서브밴드에서 비롯되고, 상기 근사 서브밴드 Pt-1의 짝수 행 계수 또는 짝수 열 계수는 상기 제6 처리된 서브밴드에서 비롯되며, 상기 상세 서브밴드 I(N+1-t)1, 상기 상세 서브밴드 I(N+1-t)2 및 상기 상세 서브밴드 I(N+1-t)3의 해상도는 근사 서브밴드 PN+1-t의 해상도와 동일하고, t번째 인버스 웨이블릿 변환이 마지막 웨이블릿 변환일 때 상기 근사 서브밴드 Pt-1은 상기 재구성된 이미지인, 이미지 디코딩 장치. - 제40항에 있어서,
상기 예측 조작은 CNN에 기초하여 구현되거나;
상기 업데이트 조작은 CNN에 기초하여 구현되거나; 또는
상기 업데이트 조작과 상기 예측 조작은 모두 CNN에 기초하여 구현되는, 이미지 디코딩 장치. - 제23항, 제40항, 또는 제41항에 있어서,
웨이블릿 변환 모델에 기초하여 상기 역양자화된 웨이블릿 계수에 대해 N 개의 인버스 웨이블릿 변환을 수행하여 재구성된 이미지를 획득한 후, 포스트-프로세싱 모델에 기초하여 상기 재구성된 이미지에 대해 포스트-프로세싱을 수행하여 처리된 재구성된 이미지를 획득하도록 구성되어 있는 포스트-프로세싱 모듈
을 더 포함하고, 상기 포스트-프로세싱 모델은 심층 신경망에 기초하여 구현되는, 이미지 디코딩 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639304.5A CN112235583B (zh) | 2019-07-15 | 2019-07-15 | 基于小波变换的图像编解码方法及装置 |
CN201910639304.5 | 2019-07-15 | ||
PCT/CN2020/095228 WO2021008275A1 (zh) | 2019-07-15 | 2020-06-09 | 基于小波变换的图像编解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220027208A true KR20220027208A (ko) | 2022-03-07 |
Family
ID=74111220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227003260A KR20220027208A (ko) | 2019-07-15 | 2020-06-09 | 웨이블릿 변환 기반 이미지 인코딩/디코딩 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220138992A1 (ko) |
EP (1) | EP3989564A4 (ko) |
JP (1) | JP7355916B2 (ko) |
KR (1) | KR20220027208A (ko) |
CN (2) | CN112235583B (ko) |
BR (1) | BR112022000730A2 (ko) |
WO (1) | WO2021008275A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402527B2 (en) | 2017-01-04 | 2019-09-03 | Stmicroelectronics S.R.L. | Reconfigurable interconnect |
US11593609B2 (en) * | 2020-02-18 | 2023-02-28 | Stmicroelectronics S.R.L. | Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks |
US11531873B2 (en) | 2020-06-23 | 2022-12-20 | Stmicroelectronics S.R.L. | Convolution acceleration with embedded vector decompression |
KR20230030405A (ko) * | 2021-08-25 | 2023-03-06 | 주식회사 엘지에너지솔루션 | 와이어 본딩의 불량 검출 장치 및 그 동작 방법 |
CN116366070A (zh) * | 2021-12-28 | 2023-06-30 | 中国电信股份有限公司 | 小波系数编码方法、装置、系统、设备及介质 |
CN114710677B (zh) * | 2022-01-12 | 2023-07-18 | 华芯算科学技术(苏州)有限公司 | 图像压缩方法、装置、存储介质及终端 |
CN116091758B (zh) * | 2022-09-09 | 2023-08-25 | 锋睿领创(珠海)科技有限公司 | 基于细节提取的图像处理方法、装置、设备及存储介质 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825936A (en) * | 1994-09-22 | 1998-10-20 | University Of South Florida | Image analyzing device using adaptive criteria |
JP2000184204A (ja) * | 1998-12-11 | 2000-06-30 | Canon Inc | 画像処理装置及び方法及び記憶媒体 |
GB9919805D0 (en) * | 1999-08-21 | 1999-10-27 | Univ Manchester | Video cording |
JP3313101B2 (ja) * | 2000-04-28 | 2002-08-12 | 琢己 生田 | ウェーブレット・ニューロ波形診断方法および装置 |
US6704718B2 (en) * | 2001-06-05 | 2004-03-09 | Microsoft Corporation | System and method for trainable nonlinear prediction of transform coefficients in data compression |
HUP0301368A3 (en) | 2003-05-20 | 2005-09-28 | Amt Advanced Multimedia Techno | Method and equipment for compressing motion picture data |
US7565020B2 (en) | 2004-07-03 | 2009-07-21 | Microsoft Corp. | System and method for image coding employing a hybrid directional prediction and wavelet lifting |
US9743078B2 (en) * | 2004-07-30 | 2017-08-22 | Euclid Discoveries, Llc | Standards-compliant model-based video encoding and decoding |
US7590298B2 (en) * | 2006-04-12 | 2009-09-15 | Xerox Corporation | Decompression with reduced ringing artifacts |
US8023747B2 (en) * | 2007-02-09 | 2011-09-20 | New Jersey Institute Of Technology | Method and apparatus for a natural image model based approach to image/splicing/tampering detection |
US20090024547A1 (en) * | 2007-07-17 | 2009-01-22 | Ut-Battelle, Llc | Multi-intelligent system for toxicogenomic applications (mista) |
CN101754021B (zh) * | 2009-12-18 | 2011-09-28 | 江苏省烟草公司常州市公司 | 基于改进小波变换图像压缩方法实现手机移动门户的方法 |
CN105611303B (zh) * | 2016-03-07 | 2019-04-09 | 京东方科技集团股份有限公司 | 图像压缩系统、解压缩系统、训练方法和装置、显示装置 |
CN107920248B (zh) | 2016-10-11 | 2020-10-30 | 京东方科技集团股份有限公司 | 图像编解码装置、图像处理系统、训练方法和显示装置 |
US20180242017A1 (en) * | 2017-02-22 | 2018-08-23 | Twitter, Inc. | Transcoding video |
US20180288420A1 (en) * | 2017-03-30 | 2018-10-04 | Qualcomm Incorporated | Zero block detection using adaptive rate model |
CN106991648B (zh) * | 2017-04-10 | 2024-01-02 | 中国石油大学(华东) | 一种基于小波变换和卷积神经网络的图像超分辨率重建方法 |
CN107123114A (zh) * | 2017-04-21 | 2017-09-01 | 佛山市南海区广工大数控装备协同创新研究院 | 一种基于机器学习的布匹缺陷检测方法及装置 |
US11962671B2 (en) * | 2017-05-03 | 2024-04-16 | University Of Washington | Biomimetic codecs and biomimetic coding techniques |
US10853977B2 (en) * | 2017-08-30 | 2020-12-01 | Korea Advanced Institute Of Science And Technology | Apparatus and method for reconstructing image using extended neural network |
CN107801026B (zh) * | 2017-11-09 | 2019-12-03 | 京东方科技集团股份有限公司 | 图像压缩方法及装置、图像压缩及解压缩系统 |
US20210074036A1 (en) * | 2018-03-23 | 2021-03-11 | Memorial Sloan Kettering Cancer Center | Deep encoder-decoder models for reconstructing biomedical images |
EP3562162A1 (en) * | 2018-04-27 | 2019-10-30 | InterDigital VC Holdings, Inc. | Method and apparatus for video encoding and decoding based on neural network implementation of cabac |
CN108765320B (zh) * | 2018-05-16 | 2021-06-22 | 哈尔滨工业大学 | 基于多级小波卷积神经网络的图像复原系统 |
US11240492B2 (en) * | 2019-01-22 | 2022-02-01 | Apple Inc. | Neural network based residual coding and prediction for predictive coding |
CN109996071B (zh) * | 2019-03-27 | 2020-03-27 | 上海交通大学 | 基于深度学习的可变码率图像编码、解码系统及方法 |
US11989637B2 (en) * | 2019-04-30 | 2024-05-21 | Samsung Electronics Co., Ltd. | System and method for invertible wavelet layer for neural networks |
US11166022B2 (en) * | 2019-06-04 | 2021-11-02 | Google Llc | Quantization constrained neural image coding |
-
2019
- 2019-07-15 CN CN201910639304.5A patent/CN112235583B/zh active Active
- 2019-07-15 CN CN202111554245.5A patent/CN114390296A/zh active Pending
-
2020
- 2020-06-09 JP JP2022502532A patent/JP7355916B2/ja active Active
- 2020-06-09 EP EP20839701.8A patent/EP3989564A4/en active Pending
- 2020-06-09 BR BR112022000730A patent/BR112022000730A2/pt unknown
- 2020-06-09 WO PCT/CN2020/095228 patent/WO2021008275A1/zh unknown
- 2020-06-09 KR KR1020227003260A patent/KR20220027208A/ko not_active Application Discontinuation
-
2022
- 2022-01-14 US US17/576,575 patent/US20220138992A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114390296A (zh) | 2022-04-22 |
JP7355916B2 (ja) | 2023-10-03 |
CN112235583A (zh) | 2021-01-15 |
WO2021008275A1 (zh) | 2021-01-21 |
US20220138992A1 (en) | 2022-05-05 |
JP2022541215A (ja) | 2022-09-22 |
EP3989564A1 (en) | 2022-04-27 |
EP3989564A4 (en) | 2022-08-24 |
BR112022000730A2 (pt) | 2022-03-08 |
CN112235583B (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220027208A (ko) | 웨이블릿 변환 기반 이미지 인코딩/디코딩 방법 및 장치 | |
KR102301232B1 (ko) | 다채널 특징맵 영상을 처리하는 방법 및 장치 | |
US20200160565A1 (en) | Methods And Apparatuses For Learned Image Compression | |
US11503295B2 (en) | Region-based image compression and decompression | |
JP4966669B2 (ja) | マッチング追跡を用いたデータ圧縮 | |
KR20210043626A (ko) | 심층 신경망용 압축 방법, 칩, 전자 장치 및 매체 | |
JP2023547874A (ja) | 画像の符号化および復号化、ビデオの符号化および復号化の方法、システムならびに訓練方法 | |
WO2020190772A1 (en) | Neural network model compression and optimization | |
JP4425561B2 (ja) | イメージおよびビデオ符号化のための2−d変換 | |
US6389074B1 (en) | Method and apparatus for digital data compression | |
CN1126065C (zh) | 压缩和解压缩图象 | |
Jeong et al. | An overhead-free region-based JPEG framework for task-driven image compression | |
Li et al. | Rev-ae: A learned frame set for image reconstruction | |
RU2573770C2 (ru) | Способ сжатия изображений | |
Johnsy et al. | A lossless coding scheme for maps using binary wavelet transform | |
Türkan et al. | Dictionary learning for image prediction | |
Balakrishnan | Design and implementation of lifting based daubechies wavelet transforms using algebraic integers | |
Prabavathi et al. | Poisson Wavelet Quantized Piecewise Regressive Distributed Coding for Image Compression and Transmission | |
US7580461B2 (en) | Barbell lifting for wavelet coding | |
Tabra et al. | FPGA implementation of new LM-SPIHT colored image compression with reduced complexity and low memory requirement compatible for 5G | |
WO2024011427A1 (zh) | 一种点云帧间补偿方法、编解码方法、装置和系统 | |
Benedetto et al. | Sampling in image representation and compression | |
Ramirez-Agundis et al. | A wavelet-VQ system for real-time video compression | |
CN116563396A (zh) | 三维生物医学图像压缩方法、系统、设备及存储介质 | |
Dalal et al. | Memory efficient WDR (wavelet difference reduction) using inverse of echelon form by equation solving |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |