KR20240161141A - 비주얼 데이터 처리 방법, 장치 및 매체 - Google Patents
비주얼 데이터 처리 방법, 장치 및 매체 Download PDFInfo
- Publication number
- KR20240161141A KR20240161141A KR1020247033213A KR20247033213A KR20240161141A KR 20240161141 A KR20240161141 A KR 20240161141A KR 1020247033213 A KR1020247033213 A KR 1020247033213A KR 20247033213 A KR20247033213 A KR 20247033213A KR 20240161141 A KR20240161141 A KR 20240161141A
- Authority
- KR
- South Korea
- Prior art keywords
- sample
- visual data
- representation
- bitstream
- value
- Prior art date
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 223
- 238000003672 processing method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 295
- 238000013528 artificial neural network Methods 0.000 claims abstract description 125
- 238000006243 chemical reaction Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 84
- 238000009826 distribution Methods 0.000 claims description 68
- 230000014509 gene expression Effects 0.000 claims description 57
- 230000009466 transformation Effects 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 11
- 239000000203 mixture Substances 0.000 abstract description 10
- 238000007906 compression Methods 0.000 description 77
- 230000006835 compression Effects 0.000 description 76
- 230000000875 corresponding effect Effects 0.000 description 39
- 238000013139 quantization Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 20
- 238000013461 design Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000037452 priming Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000004580 weight loss 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
-
- 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/94—Vector quantisation
Abstract
본 개시의 실시예는 비주얼 데이터 처리를 위한 솔루션을 제공한다. 비주얼 데이터 처리를 위한 방법이 제안된다. 이 방법의 구성은: 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환을 위해, 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계; 비주얼 데이터에 제1 신경망을 적용하는 단계에 기초하여 생성되는 단계; 통계 정보에 기초하여 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플을 결정하는 단계, 비트스트림에 존재하지 않는 적어도 하나의 샘플 값, 제1 표현을 양자화함으로써 획득되는 단계; 및 상기 결정에 기초하여 전환을 수행하는 단계를 포함한다.
Description
본 개시의 실시예는, 일반적으로 비주얼 데이터 처리 기술에 관한 것이며, 더 구체적으로는 신경망 기반 비주얼 데이터 코딩에 관한 것이다.
지난 10년간 다양한 분야, 특히 컴퓨터 비전 및 이미지 처리 분야에서 딥러닝이 급속도로 발전해 왔다. 신경망은 원래 신경과학과 수학의 학제간 연구로 발명되었다. 비선형 변환과 분류의 분야에서 강력한 능력을 보여주었다. 신경망 기반 이미지/비디오 압축 기술은 지난 50년 동안 상당한 발전을 이루었다. 최신 신경망 기반 이미지 압축 알고리즘은 다용도 비디오 코딩(VVC) 과 비슷한 율-왜곡(R-D) 성능을 달성하는 것으로 보고되었다. 신경망 이미지 압축의 성능이 지속적으로 향상됨에 따라 신경망 기반 비디오 압축은 활발하게 발전하는 연구분야가 되었다. 그러나 일반적으로 신경망 기반 비주얼 데이터 코딩의 코딩 효율성은 더욱 개선될 것으로 기대된다.
본 개시의 실시예는 비주얼 데이터 처리를 위한 솔루션을 제공한다.
제1 측면에서, 비주얼 데이터 처리를 위한 방법이 제안된다. 이 방법의 구성은 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환을 위해, 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계; 비주얼 데이터에 제1 신경망을 적용하는 단계에 기초하여 생성되는 단계; 통계 정보에 기초하여 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플을 결정하는 단계, 적어도 하나의 샘플 값이 비트스트림에 존재하지 않는 단계, 제2 표현은 제1 표현을 양자화하여 획득되는 단계, 및 결정에 기초하여 상기 전환을 수행하는 단계를 포함한다。
본 개시의 제1 측면에 의한 방법에 따르면, 비주얼 데이터의 표현의 양자화의 적어도 하나의 샘플 값은 비트스트림에 포함되지 않는다. 따라서 제안된 방법은 엔트로피 코딩 프로세스에서 양자화의 적어도 일부를 건너뛰어 엔트로피 코딩에 소요되는 시간을 줄일 수 있도록 한다. 따라서 제안된 방법은 코딩 속도와 코딩 효율성을 유리하게 개선할 수 있다.
제2 측면에서, 비주얼 데이터를 처리하기 위한 장치가 제안된다. 데이터를 처리하기 위한 장치는 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함한다. 프로세서에 의해 실행될 때의 명령어들은, 프로세서로 하여금 본 개시의 제1 측면에 따른 방법을 수행하게 한다.
제3 측면에서, 비일시적 컴퓨터 판독가능 저장 매체가 제안된다. 비일시적 컴퓨터 판독가능 저장 매체는 프로세서로 하여금 본 개시의 제1 측면에 따른 방법을 수행하게 하는 명령어들을 저장한다.
제4 측면에서, 또 다른 비일시적 컴퓨터 판독가능 기록 매체가 제안된다. 비일시적 컴퓨터 판독가능 기록 매체는 비주얼 데이터 처리 장치에 의해 수행되는 방법을 따른 생성되는 비주얼 데이터의 비트스트림을 저장한다. 이 방법의 구성은 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환을 위해, 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계; 비주얼 데이터에 제1 신경망을 적용하는 단계에 기초하여 생성되는 단계; 통계 정보에 기초하여 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플을 결정하는 단계, 적어도 하나의 샘플 값이 비트스트림에 존재하지 않는 단계, 제2 표현은 제1 표현을 양자화하여 획득되는 단계, 및 결정에 기초하여 상기 비트스트림을 생성하는 단계를 포함한다
제5 측면에서, 비주얼 데이터의 비트스트림을 저장하기 위한 방법이 제안된다. 이 방법의 구성은 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환을 위해, 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계; 비주얼 데이터에 제1 신경망을 적용하는 단계에 기초하여 생성되는 단계; 통계 정보에 기초하여 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플을 결정하는 단계, 적어도 하나의 샘플 값이 비트스트림에 존재하지 않는 단계, 제1 표현을 양자화함으로써 획득되는 단계, 결정에 기초하여 상기 변환을 수행하는 단계, 및 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 포함한다.
이 요약은 아래의 상세 설명에서 추가로 설명되는 단순화된 형태의 개념을 소개하기 위해 제공된다. 이 요약은 청구된 주제의 주요 특징 또는 필수 특징을 식별하기 위한 것이 아니며, 청구된 주제의 범위를 제한하기 위한 목적으로 사용되지 않는다.
이하, 첨부된 도면들을 참조하여 상세한 설명을 통해 본 개시내용의 예시적인 실시예의 상기 및 다른 목적, 특징 및 이점이 더욱 명백해질 것이다. 본 개시내용의 예시적인 실시예 중, 동일한 참조번호는 일반적으로 동일한 구성요소를 나타낸다.
도 1은 본 개시의 일부 실시예에 따른 예시적인 비주얼 데이터 코딩 시스템을 나타내는 블록도이다.
도 2는 일반적인 변환 코딩 방법을 나타내는 도면이다.
도 3은 코닥 데이터 세트의 이미지와 이미지의 다양한 표현을 나타내는 도면이다.
도 4는 하이퍼 프라이어 모델을 구현하는 오토인코더의 네트워크 아키텍처를 나타내는 도면이다.
도 5는 결합모형의 블록도이다.
도 6은 결합모형의 인코딩 프로세스를 나타내는 도면이다.
도 7은 결합모형의 디코딩 프로세스를 나타내는 도면이다.
도 8은 엔트로피 코딩 및 양자화 프로세스의 두 가지 가능한 구현을 나타내는 도면이다.
도 9는 인코더 구현을 위한 대응하는 디코더 구현을 나타내는 도면이다.
도 10은 본 개시의 실시예에 따른 인코더의 두 가지 가능한 구현을 나타내는 도면이다.
도 11은 본 개시의 실시예에 따른 디코더의 두 가지 가능한 구현을 나타내는 도면이다.
도 12는 본 개시의 실시예에 따른 두 가지 가능한 확률 분포를 나타내는 도면이다.
도 13은 본 개시의 일부 실시예에 따른 비주얼 데이터 인코딩 프로세스의 예시를 나타내는 도면이다.
도 14는 본 개시의 일부 실시예에 따른 비주얼 데이터 디코딩 프로세스의 예시를 나타내는 도면이다.
도 15는 본 개시의 일부 실시예에 따른 비주얼 데이터 처리 방법의 흐름을 나타내는 도면이며; 및
도 16은 본 개시의 다양한 실시예가 구현될 수 있는 컴퓨팅 디바이스를 나타내는 블록도이다.
도면 전체에서, 동일하거나 유사한 참조부호는 일반적으로 동일하거나 유사한 요소를 참조한다.
도 1은 본 개시의 일부 실시예에 따른 예시적인 비주얼 데이터 코딩 시스템을 나타내는 블록도이다.
도 2는 일반적인 변환 코딩 방법을 나타내는 도면이다.
도 3은 코닥 데이터 세트의 이미지와 이미지의 다양한 표현을 나타내는 도면이다.
도 4는 하이퍼 프라이어 모델을 구현하는 오토인코더의 네트워크 아키텍처를 나타내는 도면이다.
도 5는 결합모형의 블록도이다.
도 6은 결합모형의 인코딩 프로세스를 나타내는 도면이다.
도 7은 결합모형의 디코딩 프로세스를 나타내는 도면이다.
도 8은 엔트로피 코딩 및 양자화 프로세스의 두 가지 가능한 구현을 나타내는 도면이다.
도 9는 인코더 구현을 위한 대응하는 디코더 구현을 나타내는 도면이다.
도 10은 본 개시의 실시예에 따른 인코더의 두 가지 가능한 구현을 나타내는 도면이다.
도 11은 본 개시의 실시예에 따른 디코더의 두 가지 가능한 구현을 나타내는 도면이다.
도 12는 본 개시의 실시예에 따른 두 가지 가능한 확률 분포를 나타내는 도면이다.
도 13은 본 개시의 일부 실시예에 따른 비주얼 데이터 인코딩 프로세스의 예시를 나타내는 도면이다.
도 14는 본 개시의 일부 실시예에 따른 비주얼 데이터 디코딩 프로세스의 예시를 나타내는 도면이다.
도 15는 본 개시의 일부 실시예에 따른 비주얼 데이터 처리 방법의 흐름을 나타내는 도면이며; 및
도 16은 본 개시의 다양한 실시예가 구현될 수 있는 컴퓨팅 디바이스를 나타내는 블록도이다.
도면 전체에서, 동일하거나 유사한 참조부호는 일반적으로 동일하거나 유사한 요소를 참조한다.
이하, 일부 실시예를 참조하여 본 개시의 원리에 대해 설명한다. 이러한 실시예는 설명의 목적으로만 기재되며, 본 개시의 범위에 대한 어떠한 제한도 제시하지 않으며, 당업자가 본 개시를 이해하고 구현하는 데 도움을 주는 것으로 이해되어야 한다. 본 명세서에서 설명되는 개시는 아래에서 설명되는 방법 외에도 다양한 방법으로 구현될 수 있다.
이하의 설명 및 청구범위에서는 달리 정의되지 않는 한, 본 명세서에 사용된 모든 기술 용어 및 과학 용어는 본 개시가 속하는 기술 분야에서 일반적으로 당업자들이 이해되는 것과 동일한 의미를 갖는다.
본 개시에 있어서, "일 실시예", "실시예", "예시적인 실시예" 등의 언급은 설명된 실시예가 특정 기능, 구조 또는 특성을 포함할 수 있다는 것을 지시하지만, 모든 실시예가 반드시 특정 기능, 구조 또는 특성을 포함해야 하는 것은 아니다. 또한, 이러한 문구는 반드시 동일한 실시예를 언급하는 것은 아니다. 또한, 특정 기능, 구조 또는 특성이 예시적 실시예와 관련하여 설명되는 경우, 명시적으로 설명되었는지 여부에 관계없이, 다른 실시예와 관련하여 그러한 기능, 구조 또는 특성에 영향을 미치는 것은 당업자의 지식 범위 내에 있는 것으로 제출된다.
"제1" 및 "제2" 등의 용어는 본 명세서에서 다양한 요소를 설명하기 위해 사용될 수 있지만, 이러한 요소는 이러한 용어에 의해 제한되어서는 안 된다는 것을 이해해야 한다. 이러한 용어는, 한 요소를 다른 요소와 구별하기 위해서만 사용된다. 예를 들어, 예시적인 실시예의 범위를 벗어나지 않으면서 제1 요소는 제2 요소로 명명될 수 있고, 유사하게 제2 요소는 제1 요소로 명명될 수 있다. 본 명세서에 사용되는 바와 같이, 용어 "및/또는"은 나열된 용어 중 하나 이상의 모든 조합을 포함한다.
본 명세서에 사용되는 용어는 특정한 실시예를 설명하기 위해 사용되는 것으로, 예시적인 실시예를 한정하려는 의도가 없다. 본 명세서에서 사용되는 단수 형태는 문맥상 명백하게 달리 지시하지 않는 한 복수 형태도 포함하도록 의도된다. 본 명세서에 사용되는 용어 "구성하다", "구성되는", "갖는", "가지는", "포함하는" 및/또는 "포함되는"은 언급된 특징, 요소 및/또는 구성요소 등의 존재를 지정하지만, 하나 이상의 다른 특징, 요소, 구성요소 및/또는 이들의 조합이 존재할 수 있거나 추가되는 것을 배제하지 않는다.
예제 환경
도 1은 본 개시의 기술을 이용할 수 있는 예시적인 비주얼 데이터 코딩 시스템(100)을 나타내는 블록도이다. 도시된 바와 같이, 비주얼 데이터 코딩 시스템(100)은 소스 디바이스(110)및 대상 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 비주얼 데이터 인코딩 디바이스라고도 지칭될 수 있으며, 대상 디바이스(120)는 비주얼 데이터 디코딩 디바이스라고도 지칭될 수 있다. 작동 시, 소스 디바이스(110)는 인코딩된 비주얼 데이터를 생성하도록 구성될 수 있고, 대상 디바이스(120)는 소스 디바이스(110)에 의해 생성된 인코딩된 비주얼 데이터를 디코딩하도록 구성될 수 있다. 소스 디바이스(110)는 비주얼 데이터 소스(112), 비주얼 데이터 인코더(114), 및 입력/출력(I/O) 인터페이스(116)를 포함할 수 있다.
비주얼 데이터 소스(112)는 비주얼 데이터 캡처 디바이스와 같은 소스를 포함할 수 있다. 비주얼 데이터 캡처 디바이스의 예로는 비주얼 데이터 제공자로부터 비주얼 데이터를 수신하는 인터페이스, 비주얼 데이터를 생성하는 컴퓨터 그래픽 시스템 및/또는 이들의 조합을 포함하지만 이에 국한되지 않는다.
비주얼 데이터는 비디오의 하나 이상의 픽처 또는 하나 이상의 이미지를 포함할 수 있다. 비주얼 데이터 인코더(114)는 비주얼 데이터 소스(112)의 비디오 비주얼 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림에는 비주얼 데이터의 코딩된 표현을 형성하는 비트 시퀀스를 포함될 수 있다. 비트스트림은 코딩된 픽처 및 관련 비주얼 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 관련 비주얼 데이터에는 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 기타 구문 구조가 포함될 수 있다. I/O 인터페이스(116)는 변조기/복조기 및/또는 송신기를 포함할 수 있다. 인코딩된 비주얼 데이터는 네트워크(130A)를 통해 I/O 인터페이스(116)를 통해 대상 디바이스(120)로 직접 전송될 수 있다. 인코딩된 비주얼 데이터는 또한 대상 디바이스(120)에 의해 액세스될 수 있도록 저장 매체/서버(130B)에 저장될 수 있다.
대상 디바이스(120)에는 I/O 인터페이스(126), 비주얼 데이터 디코더(124) 및 디스플레이 디바이스(122)가 포함될 수 있다. I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 디바이스(110) 또는 저장 매체/서버(130B)로부터 인코딩된 비주얼 데이터를 수집할 수 있다. 비주얼 데이터 디코더(124)는 인코딩된 비주얼 데이터를 디코딩할 수 있다. 디스플레이 디바이스(122)는 디코딩된 비주얼 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(122)는 대상 디바이스(120)와 통합될 수 있거나, 외부 디스플레이 디바이스와 인터페이스하도록 구성된 대상디바이스(120)의 외부에 있을 수 있다.
비주얼 데이터 인코더(114) 및 비주얼 데이터 디코더(124)는 비디오 코딩 표준 또는 스틸 픽처 코딩 표준 및 기타 현재 및/또는 추가 표준과 같은 비주얼 데이터 코딩 표준에 따라 동작할 수 있다.
이하, 본 개시내용의 일부 예시적인 실시예를 상세하게 설명할 것이다. 본 설명서에서 섹션 제목은 이해를 용이하게 하기 위해 사용되며, 섹션에 개시된 실시예를 해당 섹션에만 한정하지 않는다는 것을 이해해야 한다. 또한, 특정 실시예들이 다용도 비디오 코딩 또는 기타 특정 비주얼 데이터 코덱을 참조하여 설명되는 반면, 개시된 기술들은 기타 코딩 기술에도 적용 가능하다. 또한, 일부 실시예가 코딩 단계를 상세하게 설명하지만, 코딩을 취소하는 디코딩에 상응하는 단계는 디코더에 의해 구현됨을 이해한다. 또한, 비주얼 데이터 처리라는 용어는 비주얼 데이터 코딩 또는 압축, 비주얼 데이터 디코딩 또는 압축해제 및 비주얼 데이터가 하나의 압축 포맷에서 다른 압축 포맷으로 또는 다른 압축 비트레이트로 표현되는 비주얼 데이터 트랜스코딩을 포함한다.
1.요약
엔트로피 코딩 엔진을 포함하는 신경망 기반 이미지 및 비디오 압축 방법으로, 결정 단계의 결과가 참인 경우, 잠재 표현의 샘플이 비트스트림에 포함되거나 비트스트림으로부터 획득되는 것을 특징으로 한다. 결정 단계는 추정 모듈에서 획득하는 통계적 파라미터에 따라 수행된다.
2.서론
지난 10년간 딥러닝의 급속한 발전은 다양한 분야 중에서도 특히 컴퓨터 비전 및 이미지 처리 분야를 통해 확인된다. 컴퓨터 비전 분야에서의 딥러닝 기술의 큰 성공으로 영감을 받아 많은 연구자들이 기존의 이미지/비디오 압축 기술에서 신경 이미지/비디오 압축 기술로 관심을 옮기었다. 신경망은 원래 신경과학과 수학의 학제간 연구로 발명되었다. 비선형 변환과 분류의 분야에서 강력한 성능을 보여왔다. 신경망 기반 이미지/비디오 압축 기술은 지난50년 동안 상당한 발전을 이루었다. 최신의 신경망 기반 이미지 압축 알고리즘은 MPEG와 VCEG의 전문가들과 공동으로 합동 비디오 탐험대(JVET)가 개발한 최신 비디오 코딩 VVC(Versatile Video Coding)표준과 비슷한 율-왜곡(R-D) 성능을 달성하는 것으로 보고되었다. 신경망 기반 비디오 압축은 신경 비디오 압축의 성능이 지속적으로 향상되면서 활발하게 발전하는 연구 분야가 되었다. 그러나, 신경망 기반 비디오 코딩은 고유한 문제들의 어려움으로 인해 아직 초기 단계에 머물러 있다.
2.1.이미지/비디오 압축
이미지/비디오 압축은 일반적으로 저장 및 전송을 용이하게 하기 위해 이미지/비디오를 이진 코드로 압축하는 컴퓨팅 기술을 말한다. 이진 코드는 원본 이미지/비디오를 무손실로 재구성하는 것을 지원할 수도 있고 지원하지 않을 수도 있는데, 이를 무손실 압축과 손실 압축이라고 한다. 대부분 시나리오에서 무손실 재구성이 필요하지 않기 때문에 대부분의 노력은 손실 압축에 집중된다. 일반적으로 이미지/비디오 압축알고리즘의 성능은 압축 비율과 재구성 품질이라는 두 가지 측면에서 평가된다. 압축비율은 이진 코드의 수와 직접 관련이 있어 적을수록 좋으며; 재구성 품질은 재구성된 이미지/비디오와 원본 이미지/비디오를 비교하여 측정하며 높을수록 좋다.
이미지/비디오 압축 기술은 고전 비디오 코딩 방법과 신경망 기반 비디오 압축 방법인 두 가지 분야로 나눌 수 있다. 고전 비디오 코딩 방법은 변환 기반 솔루션을 채택하는데, 연구자들은 양자화된 체제에서 종속성을 신중하게 수작업으로 엔트로피 모델링하여 잠재 변수(예: DCT 또는 웨이블릿 계수)의 통계적 종속성을 이용하였다. 신경망 기반 비디오 압축은 신경망 기반 코딩 도구와 종단 간 신경망 기반 비디오 압축의 두 가지 갈래가 있다. 전자는 코딩 도구로 기존의 고전 비디오 코덱에 내장되어 프레임워크의 일부 역할만 하는 반면, 후자는 고전 비디오 코덱에 의존하지 않고 신경망을 기반으로 개발된 별도의 프레임워크이다.
지난 30년간, 증가하는 시각적 콘텐츠를 수용하기 위해 일련의 고전적인 비디오 코딩 표준이 개발되었다. 국제 표준화 단체인 ISO/IEC에는 JPEG(Joint Photo Expert Group)와 MPEG(Moving Picture Expert Group)라는 두 개의 전문가 그룹이 있고, ITU-T에는 이미지/비디오 코딩 기술의 표준화를 위한 자체 비디오 코딩 전문가그룹(VCEG)도 있다. 이 단체들이 발표한 영향력 있는 비디오 코딩 표준에는 JPEG, JPEG 2000, H.262, H.264/AVC 및 H.265/HEVC가 포함된다. H.265/HEVC 이후, MPEG와 VCEG에 의해 구성된 합동 비디오 탐험대(JVET)는 새로운 비디오 코딩 표준인 다용도 비디오 코딩 (VVC)을 개발해 왔다. VVC의 첫 번째 버전은 2020년 7월에 출시되었다. HEVC와 비교하여 동일한 시각적 품질에서 VVC에 의해 평균 50%의 비트레이트 감소가 보고되었다.
신경망 기반 이미지/비디오 압축은 신경망 기반 이미지 코딩을 연구하는 많은 연구자들이 있었기 때문에 새로운 발명은 아니다. 그러나 네트워크 아키텍처는 상대적으로 단순했고 성능이 만족스럽지 못하였다. 풍부한 데이터와 강력한 컴퓨팅 리소스의 지원 덕분에 신경망 기반 방법은 다양한 응용 분야에서 더 잘 활용된다. 현재 신경망 기반 이미지/비디오 압축은 유망한 개선사항을 보여주었고 실현 가능성을 확인하였다. 그럼에도 불구하고 이 기술은 아직 성숙되지 않았으며 많은 문제를 해결해야 한다.
2.2.신경망
인공 신경망(ANN)이라고도 하는 신경망은 일반적으로 여러 처리 계층으로 구성되고 각 계층은 간단하지만 비선형적인 여러 기본 계산 단위로 구성된 기계학습 기술에 사용되는 계산 모델이다. 이러한 심층 네트워크의 한 가지 이점은 여러 수준의 추상화로 데이터를 처리하고 데이터를 다양한 유형의 표현으로 변환할 수 있는 능력이라고 여겨진다. 이러한 표현은 수동으로 설계된 것이 아니라 일반적인 기계학습 절차를 사용하여 방대한 데이터에서 처리 계층을 포함한 심층네트워크를 학습한다. 딥 러닝은 수작업으로 만든 표현의 필요성을 제거하므로 특히 음향 및 시각 신호와 같은 기본적으로 구조화되지 않은 데이터를 처리하는 데 유용하다고 여겨지지만 이러한 데이터를 처리하는 것은 인공 지능 분야에서 오래된 어려움이었다.
2.3.이미지 압축을 위한 신경망
기존의 이미지 압축 방법을 위한 신경망은 두개의 카테고리로 나눌 수 있는데, 예를 들면, 픽셀 확률 모델링과 오토인코더가 있다. 전자는 예측 코딩 전략 속하고, 후자는 변환 기반 솔루션에 속한다. 때로는 문헌에서 이 두 가지 방법을 결합하기도 한다.
2.3.1.픽셀 확률 모델링
섀넌의 정보이론[6]에 따르면, 무손실 코딩을 위한 최적의 방법은 최소 코딩 율에 닿는데, 여기서 는 기호의 확률이다. 여러 무손실 코딩 방법이 문헌에서 개발되었으며 그 중 산술 코딩은 최적의 방법 중 하나로 여겨진다. 확률 분포가 주어지면, 산술 코딩은 반올림 오차를 고려하지 않고 코딩율이 이론적 한계 에 최대한 근접하도록 한다. 따라서 남은 문제는 확률을 결정하는 방법인데, 이는 차원의 저주로 인해 자연 이미지/비디오에서는 매우 어렵다.
예측 코딩 전략에 따라, 를 모델링하는 한 가지 방법은 이전 관측값을 기초하여 래스터 스캔 순서로 픽셀 확률을 하나씩 예측하는 것이며, 여기서 는 이미지이다.
(1)
여기서 과 은 각각 이미지의 높이와 너비이다. 이전 관측값은 현재 픽셀의 컨텍스트라고도 한다. 이미지가 클 경우 조건부 확률을 추정하기 어려울 수 있으므로 단순화된 방법은 이미지의 컨텍스트 범위를 제한하는 것이다.
(2)
여기서 k는 컨텍스트의 범위를 제어하는 미리 정의된 상수이다.
이 조건은 다른 컬러 구성 요소의 샘플 값도 고려할 수 있다. 예를 들어, RGB 칼라 성분을 코딩할 때, R샘플은 이전에 코딩된 픽셀들(R/G/B 샘플들을 포함)에 의존하고, 현재 G샘플은 이전에 코딩된 픽셀들 및 현재 R 샘플에 따라 코딩될 수 있고, 현재 B 샘플을 코딩하기 위해, 이전에 코딩된 픽셀들 및 현재 R및 G샘플들도 고려될 수 있다.
신경망은 원래 컴퓨터 비전 작업을 위해 도입되었으며 회귀 및 분류 문제에 효과적인 것으로 입증되었다. 따라서 주어진 컨텍스트 의 확률 를 추정하기 위해 신경망을 사용하여 제안되었다. 기존 설계에서 픽셀 확률은 이진 이미지, 즉 에 대해 제안된다. 신경 자기 회귀 분포 추정기(NADE)는 단일 히든 레이어를 가진 피드포워드 네트워크인 픽셀 확률 모델링을 위해 설계되었다. 피드포워드 네트워크에도 히든 레이어를 건너뛰는 연결이 있고 파라미터도 공유되는 또 다른 기존 설계에서도 유사한 작업이 제시된다. 실험은 이진화된 MNIST 데이터 세트에서 수행된다. 기존 설계에서 NADE는 실수 값 모델 RNADE로 확장되며, 여기서 확률 는 가우시안 혼합으로 도출된다. 피드포워드 네트워크에도 단일 히든 레이어가 있지만 히든 레이어는 포화를 피하기 위해 리스케일링이 있으며 시그모이드 대신 정류된 선형 유닛(ReLU)을 사용한다. 기존 설계에서 NADE와 RNADE는 픽셀의 순서를 재구성하고 더 심층적인 신경망을 사용하여 개선된다.
고급 신경망을 설계하는 것은 픽셀 확률 모델링을 개선하는 데 중요한 역할을 한다. 기존 설계에서는 확률 모델링을 위해 조건부 가우시안 스케일 혼합물과 함께 혼합하여 작동하는 다차원 장단기 메모리(LSTM)가 제안된다. LSTM은 특수한 종류의 순환 신경망(RNN)이며 순차적인 데이터를 모델링하는 데 탁월한 것으로 입증되었다. LSTM의 공간적 변형은 기존 설계의 나중에 이미지에 사용된다. RNN과 CNN, 즉 PixelRNN과 PixelCNN을 포함한 여러 다른 신경망이 연구된다. PixelRNN에서는 LSTM의 두 가지 변형인 행 LSTM과 대각선 BiLSTM이 제안되며, 후자는 이미지를 위해 특별히 설계되었다. PixelRNN은 잔차 연결을 통합하여 최대 12개 레이어로 심층 신경망을 훈련하는 데 도움이 된다. PixelCNN에서는 컨텍스트의 모양에 맞게 마스크된 컨볼루션이 사용된다. 이전 작업과 비교하여 PixelRNN과 PixelCNN은 자연 이미지에 더 전념한다. 픽셀을 이산 값(예: 0, 1, …, 255)으로 간주하고 이산 값에 대한 다항식 분포를 예측하고 RGB 컬러 공간에서 컬러 이미지를 처리하고 대규모 이미지 데이터 세트 ImageNet에서 잘 작동한다. 기존 설계에서 Gated PixelCNN은 PixelCNN을 개선하기 위해 제안되었으며 PixelRNN과 비슷한 성능을 달성하지만 복잡성은 훨씬 낮다. 기존 설계에서 PixelCNN++는 PixelCNN에서 다음과 같은 개선 사항으로 제안된다.256-way 다항식 분포 대신 이산화된 로지스틱 혼합 가능성이 사용되며; 다운 샘플링은 여러 해상도에서 구조를 캡처하는 데 사용되면; 훈련 속도를 높이기 위해 추가 바로 가기 연결이 도입되고; 정규화를 위해 드롭아웃이 채택되며, RGB는 하나의 픽셀에 결합된다. 기존 설계에서는 캐주얼 컨볼루션과 셀프 어텐션을 결합한 PixelSNAIL이 제안된다.
상기 대부분의 방법은 픽셀 도메인의 확률 분포를 직접 모델링한다. 일부 연구자들은 또한 확률 분포를 명시적 또는 잠재적 표현에 대한 조건부 분포로 모델링하려고 시도한다. 즉, 다음과 같이 추정된다:
(3)
여기서 h는 추가 조건이고 는 모델링 가 무조건적인 것과 조건적인 것으로 분할됨을 의미한다. 추가 조건은 이미지 레이블 정보 또는 높은 수준의 표현일 수 있다.
2.3.2.오토 인코더
오토인코더는 기존 설계에서 제안된 잘 알려진 작업에서 비롯되다. 이 방법은 차원축소를 위해 훈련되며 인코딩과 디코딩의 두 부분으로 구성된다. 인코딩 부분은 고차원 입력 신호를 일반적으로 공간 크기는 줄지만 채널 수가 더 많은 저차원 표현으로 변환한다. 디코딩 부분은 저차원 표현에서 고차원 입력을 복구하려고 시도한다. 오토인코더는 표현의 자동화된 학습을 가능하게 하고 수작업 과정의 필요성을 제거하여, 신경망의 가장 중요한 장점 중의 하나로 알려져 있다.
도 2는 전형적인 변환 코딩 방법을 나타낸다. 원래 이미지는 분석 네트워크 에 의해 변환되어 잠재 표현 를 달성한다. 잠재 표현 는 양자화되어 비트로 압축된다. 비트 수 은 코딩 레이트를 측정하는 데 사용된다. 그런 다음 양자화된 잠재 표현 는 합성 네트워크 에 의해 역변환되어 재구성된 이미지 를 획득한다. 왜곡은 와 를 함수 로 변환하여 지각 공간에서 계산된다.
손실된 이미지 압축에 오토인코더 네트워크를 적용하는 것은 직관적이다. 잘 훈련된 신경망에서 학습된 잠재 표현만 인코딩하면 된다. 그러나 원래의 오토인코더는 압축에 최적화되지 않으므로 훈련된 오토인코더를 직접 사용하여 효율적이지 않기 때문에 이미지 압축에 오토인코더를 적용하는 것은 쉬운 일이 아니다. 그 외에도 다른 주요 과제가 있다: 첫째, 저차원 표현은 인코더되기 전에 양자화되어야 하지만, 신경망을 훈련하는 동안 역전파에서 필요한 양자화는 미분할 수 없다. 둘째, 왜곡과 비율을 모두 고려해야 하기 때문에 압축 시나리오의 목표가 다르다. 비율을 추정하는 것은 어렵다. 셋째, 실용적인 이미지 코딩 방법은 가변 비율, 확장성, 인코딩/디코딩 속도, 상호 운용성을 지원해야 한다. 이러한 문제에 대응하여 많은 연구자들이 이 분야에 적극적으로 기여하고 있다.
이미지 압축을 위한 프로토타입 오토인코더는 도 2에 있으며, 이는 변환 코딩 전략으로 간주할 수 있다. 원래 이미지 는 분석 네트워크 로 변환되며, 여기서 는 양자화 및 코딩될 잠재 표현이다. 합성 네트워크는 재구성된 이미지 를 획득하기 위해 양자화된 잠재 표현 를 역변환 시킨다. 프레임워크는 율-왜곡 손실 함수, 즉 로 훈련되며, 여기서 는 와 사이의 왜곡, 은 양자화된 표현 로부터 계산되거나 추정된 비율, 는 라그랑주 승수이다. 는 픽셀 영역 또는 지각 영역에서 계산될 수 있다는 점에 유의해야 한다. 기존의 모든 연구 작업은 이 프로토타입을 따르며 차이점은 네트워크 구조 또는 손실 함수일 수 있다.
네트워크 구조 측면에서 RNN과 CNN은 가장 널리 사용되는 아키텍처이다. RNN관련 범주에서 Toderici등은 RNN을 사용한 가변 비율 이미지 압축에 대한 일반적인 프레임워크를 제안한다. 이들은 이진 양자화를 사용하여 코드를 생성하고 훈련 중에는 비율을 고려하지 않는다. 이 프레임워크는 실제로 확장 가능한 코딩 기능을 제공하며, 컨볼루션 및 디콘볼루션 레이어가 있는 RNN은 우수한 성능을 발휘하는 것으로 보고되었다. 그런 다음 Toderici등은 이진 코드를 압축하기 위해 PixelRNN과 유사한 신경망을 가진 인코더를 업그레이드하여 개선된 버전을 제안하였다. MS-SSIM 평가 메트릭을 사용하는 코닥 이미지 데이터 세트의JPEG보다 성능이 우수하다고 한다. Johnston 등은 히든 상태 프라이밍을 도입하여 RNN 기반 솔루션을 더욱 개선하였다. 또한 SSIM 가중치 손실 함수도 설계되어 공간 적응형 비트레이트 메커니즘이 활성화된다. 이들은 MS-SSIM을 평가 지표로 사용하여 코닥 이미지 데이터 세트에서 BPG보다 더 나은 결과를 달성한다. Coverell 등은 스톱 코드 허용 RNN을 훈련하여 공간 적응형 비트레이트를 지원한다.
등은 율-왜곡 최적화된 이미지 압축을 위한 일반적인 프레임워크를 제안한다. 다중 양자화를 사용하여 정수 코드를 생성하고 훈련 중의 비율을 고려한다. 즉, 손실은 MSE 또는 다른 것이 될 수 있는 공동 율-왜곡 비용이다. 그들은 훈련 중에 양자화를 자극하기 위해 무작위로 균일한 노이즈를 추가하고 노이즈 코드의 차등 엔트로피를 비율에 대한 프록시로 사용한다. 그들은 선형 매핑과 비선형 파라미터 정규화로 구성된 일반화한 분할 정규화(GDN)를 네트워크 구조로 사용한다. 이미지 코딩에 대한 GDN의 효과는 기존 설계에서 검증되었다. 그런 다음 등은 개선된 버전을 제안하며, 여기에 각각 3개의 컨볼루션 레이어와 다운 샘플링 레이어 및 GDN 레이어를 순방향 변환으로 사용한다. 따라서 역방향 변환을 자극하기 위해 각각 3개의 역방향 GDN 레이어와 업 샘플링 레이어 및 컨볼루션 레이어를 사용한다. 또한 정수 코드를 압축하기 위해 산술 인코딩 방법이 고안되었다. MSE 측면에서 코닥 데이터 세트의 JPEG 및 JPEG 2000보다 성능이 더 우수하다고 한다. 더 나아가, 등은 오토인코더에 스케일 하이퍼 프라이어를 고안하여 방법을 개선하였다. 이들은 잠재 표현 를 서브넷 로 로 변환하고 는 양자화되어 사이드 정보로 전송된다. 따라서 역변환은 양자화된 사이드 정보 에서 양자화된 의 표준 편차로 디코딩을 시도하는 서브넷으로 구현되며, 이는 의 산술 코딩 시 추가로 사용될 것이다. 코닥 이미지 세트에서 이들의 방법은 PSNR 측면에서 BPG보다 약간 열악하다. D. Minnen 등은 표준 편차와 평균을 모두 추정하기 위해 자기 회귀 모델을 도입하여 잔차 공간의 구조를 더욱 활용하였다. 기존 설계에서 Z. Cheng등은 잔차의 중복을 추가로 제거하기 위해 가우시안 혼합 모델을 사용한다. 보고된 성능은 PSNR을 평가 지표로 사용하는 코닥 이미지 세트의 VVC와 동등하다.
2.3.3.하이퍼 프라이어 모델
이미지 압축에 대한 변환 코딩 방법에서, 인코더 서브네트워크(섹션 2.3.2)는 파라메트릭 분석 변환 를 사용하여 이미지 벡터 를 잠재 표현 로 변환하고, 이를 양자화하여 를 형성한다. 는 이산 값이기 때문에 산술 인코딩과 같은 엔트로피 코딩 방법을 사용하여 손실 없이 압축하여 비트 시퀀스로 전송할 수 있다.
도 3의 왼쪽 두 번째 및 오른쪽 두 번째 이미지에서 알 수 있듯이 의 요소 사이에는 상당한 공간 의존성이 있다. 특히 스케일(오른쪽 두 번째 이미지)는 공간적으로 결합된 것으로 보인다. 기존 설계에서는 공간 의존성을 캡처하고 중복을 추가로 줄이기 위해 무작위 변수 세트가 추가로 도입된다. 이 경우 이미지 압축 네트워크가 도 4에 표시된다.
도 4에서 모델의 왼쪽은 인코더 와 디코더 이다(섹션 2.3.2에 설명됨). 오른쪽은 를 획득하는 데 사용되는 추가 하이퍼 인코더 및 하이퍼 디코더 네트워크이다. 이 아키텍처에서 인코더는 입력 이미지 x를 에 적용하여 공간적으로 다양한 표준 편차를 가진 응답 를 생성한다. 응답 는 의 표준 편차분포를 요약하여 에 입력된다. 그런 다음 는 양자화 ()되고 압축되며, 사이드 정보로 전송된다. 그런 다음 인코더는 양자화된 벡터 를 사용하여 표준 편차의 공간 분포인 를 추정하고 이를 사용하여 양자화된 이미지 표현 를 압축하여 전송한다. 디코더는 먼저 압축된 신호에서 를 재구성한다. 그런 다음 를 사용하여 를 획득하며, 이는 를 성공적으로 재구성하기 위한 정확한 확률 추정치를 제공한다. 그런 다음 를 에 입력하여 재구성된 이미지를 획득한다.
하이퍼 인코더와 하이퍼 디코더를 이미지 압축 네트워크에 추가하면 양자화된 잠재 의 공간 중복이 감소한다. 도 3의 가장 오른쪽 이미지는 하이퍼 인코더/디코더를 사용할 때 양자화된 잠재에 해당한다. 오른쪽 두 번째 이미지에 비해 양자화된 잠재의 샘플이 상관관계가 적기 때문에 공간 중복이 크게 감소한다.
도 3은 코닥 데이터 세트의 이미지와 이미지의 다른 표현을 보여준다. 도 3의 가장 왼쪽 이미지는 코닥 데이터 세트의 이미지를 보여준다. 도3의 왼쪽 두 번째 이미지는 해당 이미지의 잠재 표현 y의 시각화를 보여준다. 도3의 오른쪽 두 번째 이미지는 잠재의 표준 편차 를 보여준다. 도3의 가장 오른쪽 이미지는 하이퍼 프라이어(하이퍼 인코더 및 디코더) 네트워크가 도입된 후의 잠재 를 보여준다.
도4는 하이퍼 프라이어 모델을 구현하는 오토인코더의 네트워크 아키텍처를 보여준다. 왼쪽은 이미지 오토인코더 네트워크를 나타내고 오른쪽은 하이퍼 프라이어 서브네트워크에 해당한다. 분석 및 합성 변환은 및 로 표시된다. Q는 양자화, AE, AD는 각각 산술 인코더와 산술 디코더를 나타낸다. 하이퍼 프라이어모델은 하이퍼 인코더( 로 표시)와 하이퍼 디코더( 로 표시) 두 개의 서브네트워크로 구성된다. 하이퍼 프라이어 모델은 양자화된 잠재 샘플의 확률분포에 대한 정보로 구성된 양자화된 하이퍼 잠재()를 생성한다. 는 비트스트림에 포함되어 와 함께 수신기(디코더)로 전송된다.
2.3.4.컨텍스트 모델
하이퍼 프라이어 모델은 양자화된 잠재 의 확률 분포 모델링을 개선하지만, 인과 관계에서 양자화된 잠재성을 예측하는 자기 회귀 모델(컨텍스트 모델)을 활용하면 추가 개선을 획득할 수 있다.
자기 회귀라는 용어는 프로세스의 출력이 나중에 프로세스에 대한 입력으로 사용된다는 것을 의미한다. 예를 들어 컨텍스트 모델 서브 네트워크는 잠재의 샘플의 하나를 생성하고 나중에 다음 샘플을 획득하기 위한 입력으로 사용된다.
기존 설계는 하이퍼 프라이어 모델 서브 네트워크(하이퍼 인코더 및 하이퍼 디코더)와 컨텍스트 모델 서브 네트워크가 모두 사용되는 공동 아키텍처를 활용한다. 하이퍼 프라이어와 컨텍스트 모델을 결합하여 양자화된 잠재 에 대한 확률모델을 학습한 다음 엔트로피 코딩에 사용된다. 도5 와 같이 컨텍스트 서브 네트워크와 하이퍼 디코더 서브 네트워크의 출력은 엔트로피 파라미터라는 서브 네트워크에 의해 결합되며, 이는 가우시안 확률 모델에 대한 평균 및 스케일(또는 분산) 파라미터를 생성한다. 그런 다음 가우시안 확률 모델을 사용하여 산술 인코더(AE) 모듈의 도움으로 양자화된 잠재 변수의 샘플을 비트스트림으로 인코딩한다. 디코더에서 가우시안 확률 모델은 산술 디코더(AD) 모듈에 의해 비트스트림에서 양자화된 잠재 를 획득하는 데 사용된다.
도 5는 결합 모델의 블록도를 나타낸다. 결합 모델은 하이퍼 프라이어 및 기본 오토인코더와 함께 그들의 인과 관계(컨텍스트 모델)에서 잠재의 확률 분포를 추정하는 자기 회귀 구성 요소를 공동으로 최적화한다. 실수 값 잠재 표현은 양자화(Q)되어 양자화된 잠재 표현() 및 양자화된 하이퍼 잠재 표현()을 생성하며, 이는 산술 인코더(AE)를 사용하여 비트스트림으로 압축되고 산술 디코더(AD)에 의해 압축 해제된다. 강조로 표시된 영역은 압축된 비트스트림에서 이미지를 복구하기 위해 수신기(즉, 디코더)에 의해 실행되는 구성 요소에 해당한다.
일반적으로 잠재 샘플은 가우시안 분포 또는 가우시안 혼합 모델(에 국한되지 않음)로 모델링된다. 기존 설계와 도면에 따르면, 컨텍스트 모델과 하이퍼 프라이어는 잠재 샘플의 확률 분포를 추정하는 데 공동으로 사용된다. 가우시안 분포는 평균과 분산(일명 시그마 또는 스케일)으로 정의될 수 있기 때문에 조인트 모델은 평균과 분산( 및로 표시)을 추정하는 데 사용된다.
2.3.5.조인트 자기 회귀 하이퍼 프라이어 모델을 이용한 인코딩 프로세스
도 5는 최첨단 압축 방법에 해당하는 것이다. 이 섹션과 다음 섹션에서 인코딩 및 디코딩 프로세스를 구분하여 설명하겠다.
도 6은 인코딩 프로세스를 나타낸다. 입력 이미지는 먼저 인코더 서브 네트워크로 처리된다. 인코더는 입력 이미지를 로 표시된 잠재라고 하는 변환 표현으로 변환시킨다. 그런 다음 는 양자화된 잠재 ()을 획득하기 위해 Q로 표시된 양자화 블록에 입력된다. 그런 다음 는 산술 인코딩 모듈(AE로 표시)을 사용하여 비트스트림(비트1)으로 변환된다. 산술 인코딩 블록은 의 각 샘플을 순차적으로 하나씩 비트스트림(비트1)으로 변환한다.
모듈 하이퍼 인코더, 컨텍스트, 하이퍼 디코더 및 엔트로피 파라미터 서브 네트워크는 양자화된 잠재 샘플 의 확률 분포를 추정하는 데 사용된다. 잠재 는 하이퍼 인코더에 입력되며, 하이퍼 잠재(로 표시)를 출력한다. 그런 다음 하이퍼 잠재가 양자화되고() 산술 인코딩(AE) 모듈을 사용하여 제2 비트스트림(비트2)이 생성된다. 인수분해 엔트로피 모듈은 양자화된 하이퍼 잠재를 비트스트림으로 인코딩하는 데 사용되는 확률 분포를 생성한다. 양자화된 하이퍼 잠재는 양자화된 잠재 ()의 확률 분포에 대한 정보를 포함한다.
엔트로피 파라미터 서브 네트워크는 양자화된 잠재 를 인코딩하는 데 사용되는 확률 분포 추정치를 생성한다. 엔트로피 파라미터에 의해 생성되는 정보는 일반적으로 가우시안 확률 분포를 획득하기 위해 함께 사용되는 평균 및 스케일(또는 분산) 파라미터를 포함한다. 랜덤 변수의 가우시안 분포는 로 정의되며, 여기서 파라미터 는 분포의 평균 또는 기대치이고, 파라미터 는 분포의 표준 편차(또는 분산, 또는 스케일)이다. 가우시안 분포를 정의하기 위해서는 평균과 분산이 결정되어야 한다. 기존 설계에서는 엔트로피 파라미터 모듈을 사용하여 평균 및 분산 값을 추정한다.
서브 네트워크 하이퍼 디코더는 엔트로피 파라미터 서브 네트워크에서 사용하는 정보의 일부를 생성하고, 다른 일부는 컨텍스트 모듈이라고 하는 자기 회귀 모듈에서 생성한다. 컨텍스트 모듈은 산술 인코딩(AE) 모듈에 의해 이미 인코딩된 샘플을 사용하여 양자화된 잠재 샘플의 확률 분포에 대한 정보를 생성한다. 양자화된 잠재는 일반적으로 많은 샘플로 구성된 행렬이다. 샘플은 행렬 의 차원에 따라 또는 와 같은 인덱스를 사용하여 나타낼 수 있다. 샘플 는 일반적으로 래스터 스캔 순서를 사용하여 AE에 의해 하나씩 인코딩된다. 래스터스캔 순서에서 행렬의 행은 위에서 아래로 처리되고, 행의 샘플은 왼쪽에서 오른쪽으로 처리된다. 이러한 시나리오에서(래스터 스캔 순서가 AE에 의해 샘플을 비트스트림으로 인코딩하는 데 사용되는 경우) 컨텍스트 모듈은 이전에 래스터 스캔 순서로 인코딩된 샘플을 사용하여 샘플 와 관련된 정보를 생성한다. 컨텍스트 모듈과 하이퍼 디코더에 의해 생성된 정보는 엔트로피 파라미터 모듈에 의해 결합되어 양자화된 잠재 를 비트스트림(비트1)으로 인코딩하는 데 사용되는 확률 분포를 생성한다. 마지막으로 제1과 제2 비트스트림은 인코딩 프로세스의 결과로 디코더로 전송된다.
위에서 설명한 모듈에는 다른 이름을 사용할 수 있다는 것을 주의해야 한다. 위 설명에서, 도 6의 모든 요소를 일괄적으로 인코더라고 부른다. 입력 이미지를 잠재 표현으로 변환하는 분석 변환을 인코더(또는 오토인코더)라고 한다.
2.3.6.조인트 자기 회귀 하이퍼 프라이어 모델을 이용한 디코딩 프로세스
도 7은 디코딩 프로세스를 따로 나타내는 것이다. 디코딩 프로세스에서 디코더는 먼저 대응하는 디코더에 의해 생성된 제1 비트(비트1) 및 제2 비트(비트2)를 수신한다. 비트2는 인수분해 엔트로피 서브 네트워크에 의해 생성된 확률 분포를 활용하여 산술 디코딩(AD) 모듈에 의해 먼저 디코딩된다. 인수분해 엔트로피 모듈은 전형적으로 미리 결정된 템플릿을 사용하여, 예를 들어 가우시안 분포의 경우 미리 결정된 평균 및 분산 값을 사용하여 확률 분포들을 생성한다. 비트2의 산술적 디코딩 프로세스의 출력은 이며, 이는 양자화된 하이퍼 잠재이다. AD 프로세스는 인코더에서 적용되었던 AE 프로세스로 돌아간다. AE와 AD 프로세스는 무손실이며, 이는 인코더에서 생성된 양자화된 하이퍼 잠재를 아무런 변화 없이 디코더에서 재구성할 수 있음을 의미한다.
를 획득한 후 하이퍼 디코더에 의해 처리되며, 하이퍼 디코더의 출력은 엔트로피 파라미터 모듈로 공급된다. 디코더에 사용되는 세 가지 서브 네트워크, 컨텍스트, 하이퍼 디코더 및 엔트로피 파라미터는 인코더의 서브 네트워크와 동일하다. 따라서 디코더에서(인코더에서와 같이) 정확히 동일한 확률 분포를 획득할 수 있으며, 이는 양자화된 잠재을 무손실 재구성하는 데 필수적이다. 결과적으로 인코더에서 획득하는 양자화된 잠재의 동일한 버전을 디코더에서 획득할 수 있다.
엔트로피 파라미터 서브 네트워크에 의해 확률 분포(예를 들어, 평균 및 분산 파라미터들)가 획득된 후, 산술 디코딩 모듈은 비트스트림 비트1로부터 양자화된 잠재 샘플들을 하나씩 디코딩한다. 실용적인 관점에서 자기 회귀 모델(컨텍스트 모델)은 본질적으로 직렬이므로 병렬화와 같은 기술을 사용하여 속도를 높일 수 없다.
마지막으로 완전히 재구성된 양자화된 잠재는 합성 변환(도 7에서 디코더로 표시) 모듈에 입력되어 재구성된 이미지를 획득한다.
이상의 설명에서, 도7의 모든 요소들을 일괄적으로 디코더(decoder)라고 부른다. 양자화된 잠재를 재구성된 이미지로 변환하는 합성 변환을 디코더(또는 오토-디코더)라고도 한다.
2.4.비디오 압축을 위한 신경망
기존 비디오 코딩 기술과 유사하게 신경 이미지 압축은 신경망 기반 비디오 압축에서 인트라 압축의 기초 역할을 하기 때문에, 신경망 기반 비디오 압축 기술의 개발은 신경망 기반 이미지 압축보다 늦지만 복잡하기 때문에 문제를 해결하기 위해서는 훨씬 더 많은 노력이 필요하다. 2017년부터 몇몇 연구자들이 신경망 기반 비디오 압축체계를 연구해 왔다. 비디오 압축은 이미지 압축과 비교하여 픽처 간 중복을 제거하는 효율적인 방법이 필요하다. 이러한 작업에서 픽처 간 예측은 중요한 단계이다. 움직임 추정 및 보상은 널리 채택되고 있지만 최근까지 훈련된 신경망에서는 구현되지 않는다.
신경망 기반 비디오 압축에 대한 연구는 대상 시나리오에 따라 랜덤 액세스와 저지연이라는 두 종류로 나눌 수 있다. 랜덤 액세스의 경우, 일반적으로 전체 시퀀스를 여러 개의 개별 세그먼트로 나누고 각 세그먼트를 독립적으로 디코딩할수 있음을 요구한다. 저지연의 경우, 디코딩 시간을 줄이는 것을 목표로 하며, 일반적으로 오직 일시적으로 이전 프레임을 참조 프레임으로 사용하여 후속 프레임을 디코딩할 수 있다.
2.4.1.저지연
Chen 등은 처음으로 훈련된 신경망으로 비디오 압축 방법을 제안하였다. 그들은 먼저 비디오 시퀀스 프레임을 블록들로 분할하고 각 블록은 인트라 코딩 또는 인터 코딩, 두 개의 이용 가능한 모드 중 하나를 선택할 것이다. 인트라 코딩이 선택되면, 블록을 압축할 연관된 오토인코더가 있다. 인터 코딩이 선택되면, 움직임 추정 및 보상이 전통적인 방법으로 수행되고 훈련된 신경망이 잔차 압축에 사용될 것이다. 오토인코더의 출력들은 허프만 방법에 의해 직접 양자화되고 코딩된다.
Chen 등은 PMCNN(PixelMotionCNN)을 사용한 또 다른 신경망 기반 비디오 코딩 방법을 제안한다. 프레임들은 시간 순서로 압축되고, 각 프레임은 래스터스캔 순서에 따라 압축된 블록으로 분할된다. 각 프레임은 먼저 이전의 두 개 재구성된 프레임들로 외삽된다. 블록을 압축할 때, 외삽된 프레임과 현재 블록의 컨텍스트가 PMCNN에 공급되어 잠재 표현을 도출한다. 그런 다음 잔차는 가변 비율 이미지 방법으로 압축된다. 이 방법은 H.264와 동등한 성능을 수행된다.
Lu 등은 모든 모듈이 신경망으로 구현되는 리얼센스 종단에서 수단까지 신경망 기반 비디오 압축 프레임워크를 제안한다. 이 방법은 현재 프레임을 입력으로 받아들이고 이전에 재구성된 프레임은 움직임 정보로 사전 학습된 신경망을 사용하여 광학 흐름을 도출한다. 움직임 정보는 참조 프레임과 워핑되고 신경망이 움직임 보상 프레임을 생성한다. 잔차와 움직임 정보는 두 개의 개별 신경 오토인코더로 압축된다. 전체 프레임워크는 단일 율-왜곡 손실 함수로 훈련된다. 그것은 H.264보다 더 나은 성능을 달성한다.
Ripel 등은 고급 신경망 기반 비디오 압축 방법을 제안한다. 다음과 같은 주요 기능을 가진 신경망으로 전통적인 비디오 코딩 방법을 계승하고 확장시킨다: 1) 움직임정보 및 잔차를 압축하기 위해 하나의 오토인코더만 사용; 2) 다중 프레임 및 다중 광학 흐름을 사용한 움직임 보상; 3) 온라인 상태는 시간이 지남에 따라 다음 프레임을 통해 학습되고 전파된다. 이 방법은 HEVC 레퍼런스 소프트웨어보다 MS-SSIM에서 더 나은 성능을 달성한다.
J. Lin 등은 확장된 종단 간 신경망 기반 비디오 압축 프레임워크를 제안한다. 이 솔루션에서는 여러 프레임이 참조로 사용된다. 이를 통해 여러 참조 프레임 및 관련 움직임 정보를 사용하여 현재 프레임을 보다 정확하게 예측할 수 있다. 또한, 움직임 필드 예측은 시간 채널을 따라 움직임의 중복을 제거하기 위해 배치된다. 이 작업에서는 이전 프로세스에서 재구성된 아티팩트를 제거하기 위해 후처리 네트워크도 도입하였다. PSNR과 MS-SSIM 모두에서 H.265보다 성능이 눈에 띄게 향상되었다.
Eirikur 등은 스케일 파라미터를 추가하여 일반적으로 사용되는 광학 흐름을 대체할 스케일 공간 흐름을 제안한다. H.264보다 더 나은 성능을 달성하고 있다고 한다.
Z. Hu 등은 광학 흐름에 대한 다중 해상도 표현을 제안한다. 구체적으로, 움직임 추정 네트워크는 서로 다른 해상도를 가진 여러 개의 광학 흐름을 생성하고 네트워크가 손실 함수에서 어떤 것을 선택할지 학습하도록 한다. 성능은 H.265보다 약간 향상되어 더 좋다.
2.4.2.랜덤 엑세스
Wu 등은 프레임 보간을 적용한 신경망 기반 비디오 압축 방법을 제안한다. 핵심 프레임은 먼저 신경망 이미지 압축기로 압축하고 나머지 프레임은 계층적 순서로 압축한다. 그들은 지각 영역에서 움직임 보상을 수행한다. 즉, 원래 프레임의 여러 공간 스케일에서 특징 맵을 도출하고 이미지 압축기에 사용될 특징 맵을 워프하기 위해 움직임을 사용한다. 이 방법은 H.264와 동등한 것으로 알려졌다.
Djelouah 등은 보간 모델이 움직임 정보 압축과 이미지 합성을 결합하고 이미지와 잔차에 동일한 오토인코더를 사용하는 보간 기반 비디오 압축 방법을 제안한다.
Amirhossein 등은 결정론적 인코더가 있는 가변 오토인코더를 기반으로 하는 신경망 기반 비디오 압축 방법을 제안한다. 구체적으로 모델은 오토인코더와 자기 회귀 프라이어로 구성된다. 기존 방법과 달리 이 방법은 픽처 그룹(GOP)을 입력으로 받고 잠재 표현을 코딩하는 동안 시간적 상관관계를 고려하여 3D 자기 회귀 프라이어를 통합시킨다. H.265와 유사한 성능을 제공한다.
2.5.사전준비
거의 모든 자연 이미지/비디오는 디지털 형식이다. 회색조 디지털 이미지는 로 표현할 수 있으며, 여기서 는 픽셀 값 집합, 은 이미지 높이, 은 이미지 너비이다. 예를 들어, 는 일반적인 설정이고 이 경우 이므로 픽셀은 8비트 정수로 표시될 수 있다. 압축되지 않은 회색조 디지털 이미지는 픽셀당 8비트(bpp)이지만 압축된 비트는 확실히 적다.
컬러 이미지는 일반적으로 컬러 정보를 기록하기 위해 여러 채널로 표현된다. 예를 들어, RGB 컬러 공간에서 이미지는로 표시될 수 있고, 레드, 그린, 블루 정보를 저장하는 세 개의 채널이 있다. 8비트 회색조 이미지와 유사하게 압축되지 않은 8비트 RGB 이미지는 24 bpp를 갖는다. 디지털 이미지/비디오는 다른 컬러 공간에서 표현할 수 있다. 신경망 기반 비디오 압축 체계는 대부분 RGB 색 공간에서 개발되는 반면, 기존 코덱은 일반적으로 YUV 색 공간을 사용하여 비디오 시퀀스를 나타낸다. YUV 색 공간에서 이미지는 세 개의 채널, 즉 Y, Cb 및 Cr로 분해되며, 여기서 Y는 휘도 성분이고 Cb/Cr은 크로마 성분이다. 인간의 시각 시스템은 크로마 성분에 덜 민감하기 때문에 Cb 및 Cr은 일반적으로 사전 압축을 달성하기 위해 다운 샘플링된다는 이점이 있다.
컬러 비디오 시퀀스는 다양한 타임스탬프에서 장면을 기록하기 위해 프레임이라고하는 여러 컬러 이미지로 구성된다. 예를 들어, RGB 컬러 공간에서 컬러 비디오는 로 표시될 수 있으며, 여기서 는 이 비디오 시퀀스의 프레임 수 이다. , , 이면, 비디오에 초당 50프레임(fps)이 있는 경우 압축되지 않은 비디오의 데이터 전송 속도는 비트/초(bps)이며, 이는 인터넷을 통해 전송되기 전에 압축되어야 한다.
일반적으로 무손실 방법은 자연 이미지의 경우 약 1.5 대 3의 압축 비율을 달성할 수 있으며, 이는 요구 사항보다 분명히 낮다. 따라서 손실 압축은 추가 압축 비율을 달성하기 위해 개발되지만, 발생하는 왜곡의 대가를 치르게 된다. 왜곡은 원본 이미지와 재구성된 이미지 간의 평균 제곱 차이, 즉 평균제곱오차(MSE)를 계산하여 측정할 수 있다. 회색조 이미지의 경우 MSE는 다음 방정식으로 계산할 수 있다.
(4)
따라서 원본 이미지와 비교한 재구성된 이미지의 품질은 최대 신호 대 잡음비(PSNR)로 측정할 수 있다:
(5)
여기서 는의 최대값, 예를 들어 8비트 회색조 이미지의 경우 255이다. 구조적 유사성(SSIM) 및 다중 스케일 SSIM(MS-SSIM)과 같은 다른 품질 평가 행렬이 있다.
서로 다른 무손실 압축 방법을 비교하려면, 결과 비율이 주어진 압축 비율을 비교하거나 그 반대의 경우도 비교하면 된다. 그러나 서로 다른 손실 압축 방법을 비교하려면 비율과 재구성된 품질을 모두 고려해야 한다. 예를 들어, 여러 다른 품질 수준에서 상대 비율을 계산한 다음, 비율을 평균하는 것이 일반적으로 채택된 방법이며; 평균 상대 비율은 Bjontegaard 델타-비율(BD-rate)로 알려져 있다. 인코딩/디코딩 복잡성, 확장성, 견고성 등을 포함하여 이미지/비디오 코딩 방법을 평가하는 다른 중요한 측면이 있다.
2.5.1.양자화 및 엔트로피 코딩
양자화와 엔트로피 코딩이라는 용어는 다음과 같이 정의할 수 있다:
양자화는 수학과 디지털 신호 처리에서 큰 집합(종종 연속 집합)의 입력 값을 종종 유한한 수의 요소를 가진 (계산 가능한) 작은 집합의 출력 값으로 매핑하는 과정이다. 반올림 및 절단은 양자화 과정의 대표적인 예이다. 디지털 형태로 신호를 표현하는 과정은 일반적으로 반올림을 수반하기 때문에 양자화는 거의 모든 디지털 신호 처리에 어느 정도 관여한다. 양자화는 또한 본질적으로 모든 손실 압축 알고리즘의 핵심을 형성한다.
양자화 방정식은 다음과 같다:
여기서 는 양자화된 값이고, 는 양자화될 샘플이고, 는 양자화 스텝 사이즈이다. 예를 들어, 위의 수학식 1에 따르면, 양자화 스텝 사이즈가 증가하면, 양자화된 샘플을 인코딩하기 위해 양자화된 값 는 점점 작아질 것이고, 더 적은 비트가 필요할 것이다. 즉, 증가된 양자화 스텝 사이즈는 더 거친 양자화를 초래한다. 반면에 가 작으면(보통 양수임), 더 미세한 양자화와 더 많은 수의 비트가 발생하여 를 비트스트림으로 인코딩한다.
엔트로피 인코딩하는 기호의 확률에 반비례하는 비트의 양을 사용하여 기호를 인코딩하는 일반적인 무손실 데이터 압축 방법이다. 소스 기호의 확률 분포에 기초하여 작동하는 일부 압축 알고리즘을 나타내는 데 사용하는 용어이다. 이런 종류의 알고리즘은 허프만 코딩과 산술 코딩이 대표적이다. 엔트로피 코딩을 수행하기 위해서는 기호의 통계적 특성(예: 확률 분포)을 알아야 한다.
도 8은 NN 기반 영상 압축에서 엔트로피 코딩 및 양자화 과정의 두 가지 가능한 구현을 나타내는 것이다. 인코더 관점이 도시되어 있다.
도 8에는 NN 기반 이미지 압축 방법의 인코더의 두 가지 가능한 구현이 나와 있다. NN 기반 영상 압축 방식의 인코더는 4개의 모듈로 구성된다. 제1 모듈은 분석 변환이다. 분석은 입력된 이미지를 잠재 표현 로 변환한다. 변환된 표현 는 일반적으로 입력 영상 신호의 중복을 제거하도록 설계되었기 때문에 입력 영상보다 압축하기가 쉽다. 제2 모듈은 잠재 표현의 통계적 속성을 추정하는 추정 모듈이다. 통계적 속성에는 평균값(로 표시), 분산(로 표시) 또는 고차 모멘트가 포함될 수 있다. 제3 모듈은 양자화 모듈로, 연속 잠재 표현 신호를 양자화된 이산 값으로 변환한다. 마지막으로 제4 모듈은 엔트로피 코딩(EC로 표시)으로, 추정 모듈에서 생성된 통계적 속성을 사용하여 양자화된 기호 값을 비트스트림으로 변환한다.
평균값 가 사용되는 방법에 기초하여, 인코더에 대해 두 개의 약간 다른 구현 대안이 존재한다. 첫 번째 구현에서 엔트로피 코딩 모듈은 평균 값 및 (분산 와 같이) 다른 통계를 입력으로 수신하고, 양자화된 잠재 기호 를 비트스트림으로 인코딩하는 데 사용한다. 두 번째 구현 대안에서, 평균 값은 잔차 샘플 를 획득하기 위해 먼저 잠재 기호 에서 감산된다. 그런 다음 잔차 샘플은 양자화 모듈에 의해 양자화되어 양자화된 잔차 샘플 를 획득한다. 엔트로피 코딩 모듈은 추정 모듈에 의해 생성된 통계 정보를 사용하여 양자화된 잔차 샘플을 비트스트림으로 변환한다. 통계 정보는 예를 들어 분산 를 포함할 수 있다.
도 9는 도 8에 나타낸 인코더 구현에 대한 대응하는 디코더 구현을 보여준다. 도 9는 NN 기반 비디오 압축 방식에서 디코더의 두 가지 가능한 대안적 구현을 설명한다. 첫 번째 대안에 따르면, 추정 모듈은 평균값 및 기타 통계적 특성(예: 분산 )을 추정한다. 분산 및 최적의 다른 통계 정보는 엔트로피 코더(EC로 표시)에 의해 비트스트림을 양자화된 잔차 샘플 로 디코딩하는 데 사용된다. 추후에 추정된 평균 값 와 양자화된 잔차 샘플 를 함께 추가하여 양자화된 잠재 샘플 가 획득된다. 가 합성 변환에 의해 최종적으로 재구성된 픽처로 변환된다. 첫 번째 대안 디코더 구현은 도 9의 상단 흐름도에 나와 있다.
두 번째 대안에 따르면, 추정 모듈은 평균값 및 기타 통계적 특성(예: 분산 )을 추정한다. 평균, 분산 및 최적의 다른 통계 정보는 엔트로피 코더(EC로 표시)에 의해 비트스트림을 양자화된 잔차 샘플 양자화된 잠재 샘플 로 디코딩하는 데 사용된다. 는 최종적으로 합성 변환에 의해 재구성된 픽처로 변환된다. 두 번째 대안 디코더 구현은 도 9의 하단 흐름도에 나와 있다.
상기 내용에서 양자화된 잠재 샘플은 로 표시된다. 샘플이 반드시 스칼라 값이 아닐 수도 있고, 벡터일 수도 있고, 여러 요소를 포함할 수도 있다. 응용 프로그램의 나머지 부분에서 샘플은 , , 또는 로 표시될 수 있다. 후자에서 ":"는 세 번째 차원이 있음을 나타내는 데 사용되며 샘플이 여러 요소를 가지고 있음을 강조하는 데 사용된다.
3.문제점
3.1.핵심 문제점
NN 기반 이미지 또는 비디오 압축 아키텍처에서 대부분의 모듈은 도 9의 합성 변환과 같이 크게 병렬화할 수 있으므로 GPU를 통해 이러한 프로세스를 상당히 가속화할 수 있다. 반면에 엔트로피 코딩(또는 디코딩) 프로세스는 입력 샘플을 비트 시퀀스(즉, 비트스트림)로 전환하는 과정에 구성되므로 본질적으로 순차적인 프로세스이다. 순차적 특성으로 인해 엔트로피 코딩 모듈은 병렬화할 수 없으므로 병목 프로세스이며 NN 기반 압축 방법에서 처리 속도가 느리다.
4.상세한 솔루션
일반적인 개념을 설명하기 위한 예로서 아래의 자세한 솔루션을 고려해야 한다. 이러한 솔루션을 좁게 해석해서는 안 된다. 더 나아가, 이러한 솔루션은 어떤 방식으로 든 결합될 수 있다.
4.1.솔루션의 대상
이 솔루션은 엔트로피 코딩에 소요되는 시간을 줄여 인코딩/디코딩 속도를 높이기 위해 특정 조건에서 엔트로피 코딩 프로세스를 건너뛰는 것을 목표로 한다.
4.2.솔루션의 핵심
솔루션의 핵심에 따라 및/또는 의 샘플은 통계적 속성에 기초하여 최소 두 개의 서브세트로 나뉜다. 인코더에서 제1 서브세트의 샘플은 비트스트림으로 인코딩되는 반면, 제2 서브세트의 샘플은 비트스트림으로 인코딩되지 않는다. 디코더에서 제1 서브세트의 샘플은 비트스트림에서 디코딩되는 반면, 제2 비트스트림의 샘플은 비트스트림에서 디코딩되지 않고 그 값이 추론된다.
4.2.1.인코딩 프로세스
솔루션을 따르면:
·입력 이미지는 제1 서브 네트워크에 의해 양자화된 잠재 샘플 (또는 양자화된 잔차 잠재 샘플 )를 획득하기 위해 변환된다.
·통계적 파라미터 (예: 분산 파라미터)는 추정 모듈에 의해 추정된다.
·양자화된 잠재 (또는 잔차 잠재 )의 샘플은 추정된 통계적 파라미터 q에 따라 및 (또는 및 )의 두 개 이상의 서브 세트로 나뉘며, 각 서브 세트는 적어도 하나의 샘플로 구성된다.
·제1 서브 세트 에 속하는 양자화된 잠재 샘플은 를 사용하는 엔트로피 코딩 모듈에 의해 인코딩되며 비트스트림에 포괄된다.
4.2.2.디코딩 프로세스
솔루션을 따르면:
·통계적 파라미터 (예: 분산 파라미터)는 추정 모듈에 의해 추정된다.
·양자화된 잠재 (또는 잔차 잠재 ))의 샘플은 에 따라 적어도 두 개의 서브 세트로 나뉘며, 여기서 제1 서브 세트 (또는)의 샘플 값은 비트스트림에서 디코딩되고 제2 서브 세트 (또는 )의 샘플 값은 추론된다.
·제1 서브 세트 (또는 )에 속하는 샘플 값은 에 따라 비트스트림에서 디코딩된다.
·제2 서브 세트 (또는 )에 속하는 샘플 값이 추론된다.
·양자화된 잠재 샘플 (또는 양자화된 잔차 잠재 샘플 )는 재구성된 픽처를 획득하기 위해 제2 서브 네트워크(예: 합성 변환)에 의해 처리된다.
4.3.솔루션의 디테일
도 10은 NN 기반 이미지 인코더에서 솔루션의 구현을 나타낸다. 먼저 분석 변환을 사용하고 입력 이미지를 변환하여 잠재 표현 의 샘플을 획득한다. 그런 다음 추정 모듈을 통해 통계적 파라미터를 추정한다. 파라미터에는 확률 분포의 평균값을 나타내는 평균 파라미터 및/또는 확률 분포의 분산 값을 나타내는 분산 파라미터 가 포함될 수 있다. 솔루션의 구현 중 하나(도 10의 오른쪽 도면)에서 잠재 의 샘플에서 평균값 를 빼서 나머지 잠재 샘플 를 획득한다. 그런 다음 양자화 모듈(Q로 표시)을 사용하여 잠재 또는 잔차 잠재 샘플을 양자화하여 양자화된 샘플 또는 를 획득한다. 그룹화 모듈은 통계적 파라미터(예: )를 사용하여 양자화된 샘플을 과 의 두 그룹으로 그룹화하고 제1 서브 세트 (또는 )의 샘플만 엔트로피 코더(EC로 표시)로 전송한다. (또는 )의 샘플은 엔트로피 코더로 전송되지 않으므로 비트스트림에 포괄되지 않는다. 엔트로피 코더로 전송된 샘플은 엔트로피 코더에 의해 처리되며 비트스트림에 포괄된다. 엔트로피 코더로 전송되지 않은 샘플은 엔트로피 코더에 의해 처리되지 않거나 무시된다. 따라서 비트스트림에는 포괄되지 않는다.
도 10은 인코더의 두 가지 구현 가능성을 나타내고, 도 11은 디코더의 두 가지 구현 가능성을 나타낸다.
도 11은 NN 기반 이미지 디코더에서 솔루션의 구현을 나타낸다. 먼저 통계적 파라미터는 추정 모듈에 의해 획득해진다. 파라미터에는 확률 분포의 평균값을 나타내는 평균 파라미터 및/또는 확률 분포의 분산 값을 나타내는 분산 파라미터 가 포함될 수 있다. 예를 들어, 추정 모듈은 신경망으로 구성될 수 있으며, 추정 모듈의 입력은 비트스트림일 수 있다. 추정 모듈에서 획득한 통계적 파라미터를 사용하여 엔트로피 코딩 모듈은 비트스트림에서 제1 서브 세트(즉, )에 속하는 양자화된 잔차 잠재 (또는 양자화된 잠재 )의 샘플을 디코딩한다. 그룹화 모듈은 의 어느 샘플이 제1 서브 세트에 해당하는지 결정하고 나머지 샘플(제2 서브 세트에 속하는)을 추론하도록 구성된다. 그룹화 모듈은 통계적 파라미터(예: 및/또는 )를 사용하여 어느 샘플이 서브 세트에 해당하는지 결정한다.
제2 서브 세트에 속하는 샘플 값을 추론하는 것은 다음 중 하나로 구성될 수 있다:
1.제2 서브 세트에 속하는 샘플 값을 0으로 설정한다.
2.제2 서브 세트에 속하는 샘플 값을 추정 모듈에서 추정한 해당 평균 값 와 동일하게 설정한다.
3.제2 서브 세트에 속하는 샘플 값을 일정한 스칼라 수와 동일하게 설정한다.
예를 들어, 도 11의 하단 도면에서 엔트로피 코딩(EC) 모듈은 비트스트림을 수신하고 의 샘플 값을 디코딩한다. 엔트로피 코딩 모듈은 추정 모듈에서 획득한 통계적 파라미터를 사용하여 값을 디코딩한다. 은 샘플의 서브 세트로만 구성되므로 그룹화 모듈은 샘플 중 어느 것이 서브 세트 에 포함되는지, 어느 샘플이 엔트로피 코딩(또는 디코딩) 프로세스에 의해 디코딩되지 않는지 결정하는 데 사용된다. 그룹화 모듈은 통계적 파라미터(예: 분산 )를 활용하여 의 샘플 중 EC에 의해 디코딩되는 샘플과 디코딩되지 않는 샘플을 결정한다.
(또는 )의 각 샘플에 해당하는 통계적 파라미터 값 이 하나씩 있을 수 있다. EC에 의해 샘플이 디코딩되는지 여부를 결정하는 것은 임계값 연산에 기반할 수 있으며, 여기서 통계적 파라미터 값 또는 의 함수를 임계값과 비교한다. 비교하는 결과가 참이면 위치 (또는 )의 샘플 값은 의 샘플과 동일하게 설정된다. 그렇지 않으면 위치 (또는 )의 샘플 값이 추론된다. 일 예에서 샘플 값은 위치 (또는 )의 샘플에 해당하는 평균 값인 와 동일하게 추론할 수 있다. 또 다른 예에서는 샘플 값을 0과 같이 미리 정해진 일정한 값과 동일하게 추론할 수 있다.
제1 서브 세트의 샘플 값이 비트스트림에서 디코딩되고 제2 서브 세트의 샘플이 추론된 후에, 가 재구성된다. 그런 다음 합성 변환을 통해 가 처리되어 재구성된 픽처를 획득한다.
솔루션에 따르면 샘플의 그룹화 프로세스(서브 세트로)는 추정된 통계적 파라미터를 기초한다. 이는 통계적 파라미터가 샘플 값이 얼마나 "불확실한지"를 나타내기 때문에 특히 유용한다. 예를 들어, 도 12는 분산 파라미터가 작고(왼쪽) 분산 파라미터가 큰 경우(오른쪽) 샘플의 확률 분포를 예시한다. 왼쪽에서 샘플 값은 0과 같거나 0에 매우 가까울 가능성이 매우 높다. 그리고 해당 샘플 값에서 가능성이 0에 가까워지기 때문에 3 또는 -3일 가능성은 매우 낮다. 샘플이 0일 가능성이 높다는 확신을 가지고 있기 때문에 비공식적으로 "더 명확하다"고 말할 수 있다. 반면에 분산 파라미터가 크면(도 12의 오른쪽 도면) 샘플 값이 더 다양해질 수 있다. 오른쪽에는 샘플 값이 0과 같지 않을 확률이 상당히 높다. 따라서 샘플은 "불확실하다"고 한다.
도 12는 두 가지 가능한 확률 분포를 나타낸다. 확률 분포의 분산이 작은 경우(왼쪽)에 및 확률 분포의 분산이 큰 경우(오른쪽)에 샘플의 확률 분포이다.
상기 솔루션은 해당 통계 파라미터에 따라 샘플을 그룹화하여 위의 관찰 결과를 활용한다. 예를 들어, 샘플이 0(작은 분산)일 가능성이 높은 경우에 하나의 서브 세트로 그룹화되는 반면, 분산이 큰 경우에 제2 서브 세트로 그룹화된다. 분산이 작으면 신호의 값이 "분명"하고 0(또는 확률 분포의 중심에 있는 다른 평균 값)일 가능성이 매우 높다. 이러한 경우에 상기 샘플에 대한 엔트로피 코딩 프로세스를 건너뛰어도 값이 이미 거의 알려져 있으므로 결과가 크게 변경되지 않는다. 반면에 분산이 크면 샘플 값이 다를 수 있으므로(값이 "불확실하다") 이러한 경우에 비트스트림에서 상기 샘플을 인코딩하는 것이 가치가 있다.
추정 모듈은 신경망 기반 서브 네트워크로 구성될 수 있다. 예를 들어, 추정 모듈의 입력은 비트스트림이 될 수 있으며 서브 네트워크의 출력은 확률 분포의 평균 및 분산 파라미터가 될 수 있다. 보다 구체적으로, 추정 모듈의 출력은 가우시안 확률 분포의 평균 및 분산 파라미터가 될 수 있다.
솔루션 구현의 예시:
1.양자화된 잠재(또는 양자화된 잔차 잠재)의 샘플을 최소 2개의 서브 세트로 나누는 것은 다음과 같다;
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플에 해당하는 분산의 평균이 임계값보다 작은지(또는 임계값보다 큰지)를 확인한다.
-확인 결과가 참인 경우에 블록의 샘플을 제1 서브 세트로 그룹화하고, 결과가 거짓인 경우에 제2 서브 세트로 그룹화한다.
2.양자화된 잠재(또는 양자화된 잔차 잠재)의 샘플을 최소 2개의 서브 세트로 나누는 것은 다음과 같다;
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플에 해당하는 분산이 임계값보다 작은지(또는 임계값보다 큰지)를 확인한다.
-확인 결과가 참인 경우에 블록의 샘플을 제1 서브 세트로 그룹화하고, 결과가 거짓인 경우에 제2 서브 세트로 그룹화한다.
3.양자화된 잠재(또는 양자화된 잔차 잠재)의 샘플을 최소 2개의 서브 세트로 나누는 것은 다음과 같다;
-분산 파라미터를 사용하여 양자화된 잠재의 각 샘플에 해당하는 확률을 획득하며,
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플의 확률이 임계값보다 작은지(또는 임계값보다 큰지)를 확인한다.
-획인 결과가 참인 경우에 블록의 샘플을 제1 서브 세트로 그룹화하고, 결과가 거짓인 경우에 제2 서브 세트로 그룹화한다.
4.양자화된 잠재(또는 양자화된 잔여 잠재)의 샘플을 최소 2개의 서브 세트로 나누는 것은 다음과 같다;
-분산 파라미터를 사용하여 양자화된 잠재의 각 샘플에 해당하는 확률을 획득하며,
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플의 평균 확률이 임계값보다 작은지(또는 임계값보다 큰지)를 확인한다.
-확인 결과가 참인 경우에 블록의 샘플을 제1 서브 세트로 그룹화하고, 결과가 거짓인 경우에 제2 서브 세트로 그룹화한다.
예제 3과 4에서는 샘플의 확률을 임계값과 비교하여 샘플이 제1 세트에 속하는지 제2 세트에 속하는지를 확인한다. 일 예에서 샘플의 확률은 샘플 값이 0과 같을 확률로 계산된다. 또 다른 예로, 샘플의 확률은 샘플 값이 추정 모듈에 의해 추정된 평균 값과 같을 확률로 계산된다. 또 다른 예로, 샘플 의 확률은 해당 샘플의 값이 추정 모듈에서 추정한 평균 값인 와 같을 확률이다. 이러한 예에서 추정 모듈은 의 각 샘플에 해당하는 평균값 을 생성한다.
샘플의 확률은 추정 모듈에서 생성된 통계적 파라미터를 사용하여 획득할 수 있다. 예를 들어, 추정 모듈은 샘플이 어떤 값과 같을 확률을 추정하는 데 사용할 수 있는 확률 분포인 가우시안 분포에 대한 평균 파라미터와 분산 파라미터를 생성할 수 있다.
4.4.솔루션의 이점
이 솔루션은 통계적 파라미터에 따라 엔트로피 코딩 프로세스를 건너뛰어 엔트로피 코딩에 소요되는 시간을 줄여 인코딩/디코딩 속도를 높이는 것을 목표로 한다.
5.실시예
1.디코더 실시예:
이미지 또는 비디오 디코딩 방법은 다음 단계 중 적어도 하나를 포함한다:
-추정 모듈을 사용하여 적어도 하나의 통계적 파라미터 를 획득한다.
-비트스트림과 를 사용하여 적어도 하나의 샘플 값(로 표시)을 획득한다.
-양자화된 잠재(또는 )의 샘플을 비트스트림에서 디코딩할지 또는 에 따라 추론할지 여부를 결정한다.
-샘플이 디코딩된 것으로 결정되면 샘플 값을 과 같게 설정하고 그렇지 않으면 샘플 값을 추론한다.
양자화된 잠재 (또는 )를 사용하여 재구성된 이미지를 획득한다.
2.인코더 실시예:
이미지 또는 비디오 인코딩 방법으로, 다음 단계를 포함한다:
-먼저 분석 변환을 사용하여 입력 이미지를 변환하여 양자화된 잠재 (또는 ) 샘플을 획득한다.
-추정 모듈을 사용하여 통계적 파라미터 를 획득한다.
-양자화된 잠재 (또는 )의 샘플을 에 따라 비트스트림으로 인코딩할지 여부를 결정한다.
인코딩된 것으로 결정된 경우에 (또는 ) 샘플의 값을 통계적 파라미터 에 따른 엔트로피 코더에 의해 비트스트림에 포함한다. 인코딩되지 않은 것으로 결정된 경우에 샘플 값을 포함하지 않는다.
3.실시예 1 및 2에 따르면,
추정 모듈은 서브 신경망을 포함한다:
4.상기 모든 실시예에 따르면,
추정 모듈은 비트스트림을 입력으로 수신하고, 입력을 서브 신경망으로 처리하여 통계적 파라미터를 출력한다.
5.실시예 1에 따르면,
양자화된 잠재 (또는 )의 샘플을 디코딩할지 여부를 결정하는 것은 적어도 하나의 임계값과 연관될 수 있는 적어도 하나의 통계적 파라미터(또는 그 함수)를 비교하는 것을 포함한다.
6.상기 모든 실시예에 따르면,
통계적 파라미터는 분산 파라미터이다.
7.실시예 5 및 6에 따르면,
비트스트림에 임계값(또는 그 지시)의 값을 포함한다.
8.상기 모든 실시예에 따르면,
분산 파라미터는 확률 분포(예: 가우시안 확률 분포 또는 라플라시안 확률 분포)의 분산이다.
9.상기 모든 실시예에 따르면,
양자화된 잠재 (또는 )의 샘플을 디코딩할지 여부를 결정하는 단계는 적어도 하나의 아래의 단계를 포함한다:
-통계적 파라미터를 사용하여 확률을 구하는 방법, 및
-확률과 임계값을 비교한다.
10.상기 모든 실시예에 따르면,
양자화된 잠재 (또는 )의 샘플을 디코딩할지 여부를 결정하는 단계는 적어도 하나의 단계를 포함한다:
-통계적 파라미터를 사용하여 양자화된 잠재 샘플에 해당하는 확률을 획득하며,
-양자화된 잠재의 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플의 확률이 임계값보다 작은지를 확인한다.
-확인 결과가 참인 경우 블록의 샘플을 디코딩(또는 인코딩)하도록 결정한다.
11.상기 모든 실시예에 따르면,
양자화된 잠재 (또는 )의 샘플을 디코딩할지 여부를 결정하는 단계는 적어도 하나의 단계로 포함한다:
-분산 파라미터를 사용하여 양자화된 잠재 샘플에 해당하는 확률을 획득하며,
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플의 확률 평균이 임계값보다 작은지를 확인한다.
-확인 결과가 참인 경우에 블록의 샘플을 디코딩(또는 인코딩)하도록 결정한다.
12.모든 실시예 11에 따르면,
획득한 확률은 양자화된 샘플이 0일 확률이다.
13.상기 모든 실시예에 따르면,
양자화된 잠재 (또는 )의 샘플을 디코딩할지 여부를 결정하는 단계는 적어도 하나의 단계를 포함한다:
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플에 해당하는 분산 값이 임계값보다 작은지를 확인한다.
-확인 결과가 참인 경우에 블록의 샘플을 디코딩(또는 인코딩)하도록 결정한다.
14.상기 모든 실시예에 따르면,
양자화된 잠재 (또는 )의 샘플을 디코딩할지 여부를 결정하는 단계는 적어도 하나의 단계를 포함한다:
-양자화된 잠재 샘플을 크기 N x M의 블록으로 그룹화하며,
-블록에 포함된 모든 샘플의 평균 분산이 임계값보다 작은지를 확인한다.
-확인 결과가 참인 경우 블록의 샘플을 디코딩(또는 인코딩)하도록 결정한다.
15.상기 모든 실시예에 따르면,
샘플이 비트스트림에서 디코딩되지 않는 것으로 결정되면, 그 값은 미리 정해진 값과 동일한 것으로 추론된다.
16.상기 모든 실시예에 따르면,
샘플이 비트스트림에서 디코딩되지 않은 것으로 결정되면 그 값은 평균 값과 동일한 것으로 추론된다.
17.실시예 16에 따르면,
평균값은 추정 모듈에서 획득한다.
18.상기 모든 실시예에 따르면,
샘플 확률은 샘플의 값이 0과 같을 확률이다.
19.상기 모든 실시예에 따르면,
샘플의 확률은 샘플 값이 추정 모듈에서 추정한 평균 값과 같다는 확률이다.
20.실시예 10 내지 14에 따르면, 여기서 M과 N은 양의 정수일 수 있다.
21.실시예 10 내지 14 및 19에 따르면, 여기서 M과 N은 비트스트림에서 시그
널링될 수 있다.
22.상기 실시예 중 어느 하나에 따르면, 상기 언급된 방법의 적용 여부 및/또는 적용 방법을 결정할 수 있는 적어도 하나의 제어 정보의 값을 포함한다.
23.상기 방법의 적용 여부 및/또는 적용 방법은 컬러 형식 및/또는 컬러 구성 요소와 같은 조건에 따라 달라질 수 있다.
24.상기 실시예 중 어느 하나에 따르면, 비트스트림에 포함된 임의의 값은 시퀀스/픽처/슬라이스/블록 레벨로 코딩될 수 있다.
25.상기 실시예 중 어느 하나에 따르면, 비트스트림에 포함된 임의의 값은 코딩되기 전에 이진화될 수 있다.
26.상기 실시예 중 어느 하나에 따르면, 비트스트림에 포함된 임의의 값은 적어도 하나의 산술 코딩이 컨텍스트로 코딩될 수 있다.
신경망 기반 비주얼 데이터 코딩과 관련된 본 개시의 실시예들의 상세한 내용은 이하에서 설명될 것이다. 본 설명서에서 사용되는 용어, "비주얼 데이터"는 코딩되기에 적합한 이미지, 비디오 내의 픽처, 또는 임의의 다른 비주얼 데이터를 지칭할 수 있다.
위에서 논의한 바와 같이, 기존 아키텍처에서는 대부분 모듈이 크게 병렬화할 수 있으므로 GPU를 통해 이러한 프로세스를 상당히 가속화할 수 있다. 반면에 엔트로피 코딩(인코딩 또는 디코딩) 프로세스는 입력 샘플과 비트 시퀀스(예, 비트스트림) 간의 전환으로 구성되므로 본질적으로 순차적인 프로세스이다. 순차적 특성으로 인해 엔트로피 코딩은 병렬화할 수 없으므로 병목 프로세스이며 전체 코딩 프로세스의 속도가 느려진다.
상기 문제 및 언급되지 않은 일부 다른 문제를 해결하기 위해, 이하 기재된 바와 같은 비주얼 데이터 처리 솔루션들이 개시된다.
도 13은 본 개시의 일부 실시예에 따른 예시적인 비주얼 데이터 인코딩 프로세스(1300)를 예시한다. 일 예로, 비주얼 데이터 인코딩 프로세스(1300)는 도 1에 도시된 바와 같이 비주얼 데이터 디코더(114)에 의해 수행될 수 있다. 비주얼 데이터 인코딩 프로세스(1300)는 또한 도시되지 않은 추가 블록을 포함할 수 있고, 및/또는 도시된 블록은 생략될 수 있음을 이해해야 한다. 본 개시의 범위는 이와 관련하여 제한되지 않는다.
도 13에 도시된 바와 같이, 제1 신경망(1312)에서 비주얼 데이터(1310)에 대한 분석 변환을 수행하여 비주얼 데이터(1310)의 잠재 표현(도 13에서 로 표시)을 획득할 수 있다. 비주얼 데이터(1310)는 비디오의 이미지 또는 하나 이상의 픽처를 포함할 수 있다. 블록(1314)에서 잠재 표현에 통계치를 빼면 잔차 잠재 표현(도 13의 로 표시)을 획득할 수 있다. 통계치는 제2 신경망(1322)에 의해 생성되고 잠재 표현의 예측을 나타낼 수 있다. 제한이 아닌 예로서, 통계치는 가우시안 확률 분포와 같은 확률 분포의 평균(도 13의 로 표시됨)일 수 있다. 예를 들어, 확률 분포는 잠재 표현의 하나 이상의 샘플 값의 확률 분포를 설명할 수 있다. 통계치는 통계적 파라미터, 확률 파라미터, 확률 분포 파라미터 등으로도 지칭될 수 있음을 이해해야 한다. 본 개시의 범위는 이 점에서 제한되지 않는다.
통계치는 제2 신경망(1322)에 의해 생성된 통계 정보에 포함될 수 있다. 예를 들어, 제2 신경망(1322)은 추정 모델이라고 지칭할 수 있다. 본 출원에서 모델은 모듈이라고도 지칭될 수 있다는 점에 유의해야 한다. 즉, 제2 신경망은 제1 모듈이라고도 하고, 추정 모델은 추정 모듈이라고도 지칭할 수 있다. 제2 신경망(1322)의 입력은 잠재 표현을 포함할 수 있고, 제2 신경망(1322)의 출력은 통계 정보를 포함할 수 있다. 일 예에서, 제2 신경망(1322)은 신경망 기반 서브 네트워크를 포함할 수 있다. 다른 예로, 제2 신경망(1322)은 통계치를 생성하기 위한 제1 서브 네트워크와 추가 통계치를 생성하기 위한 제2 서브 네트워크를 포함할 수 있다. 예시적으로, 추가 통계치는 가우시안 확률 분포와 같은 확률 분포의 분산(도 13에서 로 표시)일 수 있다. 예를 들어, 확률 분포는 잠재 표현의 하나 이상의 샘플 값의 확률 분포를 설명할 수 있다. 제1 서브 네트워크는 하이퍼 디코더 서브 네트워크이고, 제2 서브 네트워크는 하이퍼 스케일 디코더 서브 네트워크일 수 있다. 일 예로, 제2 신경망(1322)은 하이퍼 인코더 서브네트워크를 더 포함할 수 있다. 위에서 언급한 평균과 분산은 사용할 수 있는 통계치의 두 가지 구체적인 예에 불과하다는 점을 이해해야 한다. 표준 편차와 같은 다른 적절한 통계치도 사용될 수 있다. 본 개시의 범위는 이 점에서 제한되지 않는다.
양자화 블록(1316)에서, 잔차 잠재 표현은 양자화된 잔차 잠재 표현을 획득하기 위해 양자화될 수 있다. 양자화된 잔차 잠재 표현은 잔차 잠재 표현의 양자화라고도 할 수 있다. 일 예에서, 잔차 잠재 표현은 반올림 함수를 사용하여 양자화될 수 있다. 다른 예로, 잔차 잠재 표현은 바닥 함수를 사용하여 양자화할 수 있다. 또는 천장 함수를 사용하여 잔차 잠재 표현을 양자화할 수도 있다. 상기 예시는 단순히 설명의 목적으로만 설명된다는 점을 이해해야 한다. 본 개시의 범위는 이 점에서 제한되지 않는다.
그룹화 블록(1318)에서, 적어도 하나의 샘플은 통계 정보에 기초한 표현의 양자화로부터 결정될 수 있다. 적어도 하나의 샘플은 그 값이 비트스트림에 인코딩되지 않는 샘플 그룹을 구성한다. 따라서 적어도 하나의 샘플을 결정하는 프로세스를 그룹화 프로세스라고도 지칭할 수 있으며, 이 과정에서 적어도 하나의 샘플 세트를 획득할 수 있다. 일 예에서, 그룹화 프로세스는 샘플 레벨에서 수행될 수 있다. 즉, 양자화된 잔차 잠재 표현의 각 샘플에 대해 적어도 하나의 샘플을 결정한다. 또는 그룹화 프로세스는 블록 레벨에서 수행될 수 있다. 더 구체적으로는, 양자화된 잔차 잠재 표현의 샘플은 복수의 블록으로 분할될 수 있다. 복수의 블록 각각은 8×8과 같이 미리 정해진 크기의 N x M을 가질 수 있다. N과 M은 각각 양의 정수이다. 비트스트림에서는 N과 M이 표시될 수 있다. 샘플은 복수의 블록을 기준으로 그룹화될 수 있다. 즉, 복수의 블록 각각에 대해 하나 이상의 샘플을 결정하고 동일한 블록의 샘플을 동일한 세트로 나뉜다.
일부 실시예에서, 양자화 샘플의 경우, 샘플에 대응하는 제1 통계치가 제1 임계값보다 작으면, 적어도 하나의 샘플이 샘플을 포함하는 것으로 결정될 수 있으며, 샘플은 제2 세트로 그룹화될 수 있다. 그렇지 않으면, 샘플이 하나 이상의 샘플에 포함되지 않을 것으로 결정될 수 있으며, 샘플은 제2 세트와 다른 제1 세트로 그룹화될 수 있다. 일 예에서, 제1 통계치는 위에서 언급한 분산일 수 있다.
또는, 양자화 샘플의 경우, 샘플에 대응하는 제1 통계치가 제1 임계값과 동일하거나 상이할 수 있는 추가 임계값보다 큰 경우에, 적어도 하나의 샘플이 샘플을 포함하는 것으로 결정되고 샘플이 제2 세트로 그룹화될 수 있다. 그렇지 않으면 샘플이 적어도 하나의 샘플에 포함되지 않는다고 결정할 수 있으며, 샘플은 제1 세트로 그룹화될 수 있다. 위에서 언급한 비교는 적어도 하나의 샘플을 획득하기 위해 양자화된 잔차 잠재 표현의 샘플 각각에 대해 수행될 수 있다.
적어도 하나의 샘플은 제1 통계치와 임계값에 기초하여 결정된 값을 비교하거나, 임계값과 샘플의 값이 목표값에 같을 확률 간을 비교하는 등 다른 적절한 방식으로 결정될 수 있음을 이해해야 한다. 상기 확률은 통계 정보에 기초하여 결정될 수 있다. 샘플의 목표 값은 샘플에 대응하는 제1 미리 결정된 값(예: 0) 또는 제2 통계치(예: 평균)일 수 있다. 이는 위 섹션 4.3에 자세하게 설명되어 있다.
일부 대안적인 실시예에서, 그룹화 프로세스는 블록 레벨에서 수행될 수 있다. 이러한 경우, 양자화 블록의 샘플에 대해 블록의 각 샘플에 대응하는 제1 통계치가 제4 임계값보다 작으면, 적어도 하나의 샘플이 블록의 모든 샘플을 포함하는 것으로 결정될 수 있으며, 이러한 샘플은 제2 세트로 그룹화될 수 있다. 그렇지 않으면 이러한 샘플이 하나 이상의 샘플에 포함되지 않는 것으로 결정될 수 있으며, 이러한 샘플은 제2 세트와 다른 제1 세트로 그룹화될 수 있다. 일 예에서, 제1 통계치는 위에서 언급한 분산일 수 있다.
또는, 양자화 블록 내 샘플의 경우, 블록 내 각 샘플에 대응하는 제1 통계치가 제4 임계값과 동일하거나 상이할 수 있는 추가 임계값보다 큰 경우, 적어도 하나의 샘플이 블록 내의 모든 샘플로 포함된 것으로 결정될 수 있으며, 이러한 샘플은 제2 세트로 그룹화될 수 있다. 그렇지 않으면 이러한 샘플이 하나 이상의 샘플에 포함되지 않는 것으로 결정될 수 있으며, 이러한 샘플은 제1 세트로 그룹화될 수 있다. 위에서 언급한 비교는 적어도 하나의 샘플을 획득하기 위해 양자화된 잔차 잠재 표현의 각 블록에 대해 수행될 수 있다.
적어도 하나의 샘플은 블록 내 샘플에 대응하는 제1 통계치에 기초하여 결정된 임계값과 제1 메트릭 간의 비교, 블록 내 각 샘플의 값이 목표값과 같을 확률 간의 비교, 블록 내 샘플의 값이 각각의 목표값과 같을 확률에 기초하여 결정된 임계값과 제2 메트릭 간의 비교 등 다른 적절한 방식으로 결정될 수 있음을 이해해야 한다. 제한이 아닌 예로서, 제1 메트릭은 제1통계치의 평균값, 최소값 또는 최대값일 수 있다. 제2 메트릭은 확률의 평균값, 최소값 또는 최대값일 수 있다. 사용된 임계값 중 적어도 하나는 비트스트림에 표시될 수 있다.
일부 실시예에서, 그룹화 블록(1318)의 출력은 적어도 하나의 샘플을 제외한 양자화된 잔차 잠재 표현의 나머지 샘플을 포함할 수 있다. 예를 들어, 그룹화 블록(1318)의 출력은 적어도 하나의 샘플과 다른 위에서 언급한 샘플의 제1 세트(도 13의 로 표시)를 포함할 수 있다. 엔트로피 인코더(1320)에서, 제2 신경망에 의해 생성된 통계 정보에 기초하여 샘플의 제1 세트에 대한 엔트로피 인코딩 프로세스가 수행될 수 있다. 도 13에 표시된 예에서 엔트로피 인코딩 프로세스에는 분산만 사용되지만 평균 및/또는 표준 편차와 같은 다른 적절한 통계치가 사용될 수 있다. 엔트로피 인코더(1320)가 수행하는 엔트로피 인코딩 프로세스는 산술 인코딩 프로세스, 허프만 인코딩 프로세스 등일 수 있다.
또한, 제2 신경망에서 생성된 통계 정보는 통계 정보에 대해 엔트로피 인코딩 프로세스를 수행하여 비트스트림으로 인코딩될 수 있는데, 이는 도 13에 나와 있지 않는다.
특별한 경우, 적어도 하나의 샘플은 양자화된 잔차 잠재 표현의 모든 샘플로 구성될 수 있다. 이러한 경우, 양자화된 잔차 잠재 표현의 모든 샘플 값은 비트스트림에 인코딩되지 않고 통계 정보는 비트스트림에 시그널링된다.
상기 관점에서 볼 때, 비주얼 데이터 표현의 양자화 샘플 중 적어도 하나의 값은 비트스트림에 포함되지 않는다. 따라서 엔트로피 코딩 프로세스에서 양자화의 적어도 일부를 건너뛰어 엔트로피 코딩에 소요되는 시간을 줄일 수 있다. 따라서 제안된 방법은 코딩 속도와 코딩 효율성을 유리하게 개선할 수 있다.
예시적인 비주얼 데이터 인코딩 프로세스가 도 13과 관련하여 위에 설명되어 있지만, 비주얼 데이터 인코딩 프로세스의 다른 적절한 변형도 본 개시의 관점에서 고려될 수 있다는 것을 이해해야 한다. 또 다른 예로, 도 10의 왼쪽 서브 도면에 예시된 잔차 잠재 표현이 아닌 잠재 표현이 조정될 수 있다.
도 14는 본 개시의 일부 실시예에 따른 비주얼 데이터 디코딩 프로세스(1400)의 예시를 나타낸다. 예를 들어, 비주얼 데이터 디코딩 프로세스(1400)는 도 1과 같이 비주얼 데이터 디코더(124)에 의해 수행될 수 있다. 비주얼 데이터 디코딩 프로세스(1400)는 또한 도시되지 않은 추가 블록을 포함할 수 있고, 또는 도시된 블록이 생략될 수 있음을 이해해야 한다. 본 개시의 범위는 이 점에서 제한되지 않는다.
도 14에 도시된 바와 같이, 통계 정보는 제2 신경망(1422)에 의해 생성될 수 있다. 통계 정보는 평균 및/또는 분산 로 구성될 수 있다. 예를 들어, 제2 신경망(1422)는 추정 모델이라고 지칭할 수 있다. 제2 신경망(1422)의 입력은 비트스트림을 포함할 수 있고, 제2 신경망(1422)의 출력은 적어도 하나의 통계치를 포함할 수 있다. 일 예에서, 제2 신경망(1422)는 신경망 기반 서브 네트워크를 포함할 수 있다. 다른 예로, 제2 신경망(1422)는 제1 통계치를 생성하기 위한 제1 서브 네트워크 및 제2 통계치를 생성하기 위한 제2 서브 네트워크를 포함할 수 있다. 일 예에서, 제1 통계치는 가우시안 확률 분포의 분산이고, 제2 통계치는 가우시안 확률 분포의 평균일 수 있다. 제1 서브 네트워크는 하이퍼 스케일 디코더 서브 네트워크이고, 제2 서브 네트워크는 하이퍼 디코더 서브 네트워크일 수 있다. 위에서 언급한 평균과 분산은 사용할 수 있는 통계치의 두 가지 구체적인 예에 불과하다는 점을 이해해야 한다. 표준 편차와 같은 다른 적절한 통계치도 사용할 수 있다. 본 개시의 범위는 이 점에서 제한되지 않는다.
엔트로피 디코더(1418)에서 통계 정보에 기초하여 비트스트림에 엔트로피 디코딩 프로세스를 수행하여 양자화된 잔차 잠재 표현의 샘플의 제1 세트(도 14의 로 표시)의 값을 획득할 수 있다.
그룹화 블록(1416)에서, 적어도 하나의 샘플은 도 13의 그룹화 블록(1318)과 관련하여 설명된 그룹화 프로세스와 유사한 방식으로 통계 정보에 기초한 잔차 잠재 표현의 양자화로부터 결정될 수 있으므로 간결성을 위해 이에 대해 자세히 설명하지 않는다.
비트스트림에서 적어도 하나의 샘플의 값이 시그널링되지 않기 때문에, 적어도 하나의 샘플 각각의 값이 추론될 수 있다. 일 예에서, 적어도 하나의 샘플 각각의 값은 미리 정해진 값으로 결정될 수 있다. 이 미리 정해진 값은 0과 같은 일정한 스칼라 수일 수 있다. 또는, 적어도 하나의 샘플 각각의 값은 샘플에 대응하는 제3 통계치(예: 평균)로 결정될 수 있다. 적어도 하나의 샘플 각각의 값은 다른 적절한 방식으로 추론될 수 있음을 이해해야 한다. 본 개시의 범위는 이 점에서 제한되지 않는다. 양자화된 잔차 잠재 표현은 획득된 샘플의 제1 세트의 값 및 적어도 하나의 샘플의 추론된 값에 기초하여 그룹화 블록(1416)에서 재구성될 수 있다. 앞서 언급한 특별한 경우, 양자화된 잔차 잠재 표현은 적어도 하나의 샘플의 추론된 값에 기초하여 그룹화 블록(1416)에서 재구성될 수 있다.
블록 (1414)에서, 양자화된 잠재 표현(도 14의 로 표시)은 통계치(예를 들어, 도 14의 평균 )과 그룹화 블록 (1416)의 출력, 즉 양자화된 잔차 잠재 표현을 추가하여 획득될 수 있다. 합성 변환 서브네트워크(1412)에서, 양자화된 잠재 표현에 대한 합성 변환을 수행하여 재구성된 비주얼 데이터(1410)를 획득할 수 있다.
상기 관점에서 볼 때, 비주얼 데이터 표현의 양자화 샘플 중 적어도 하나의 값은 비트스트림에 구성되지 않는다. 따라서 제안된 방법은 엔트로피 코딩 프로세스에서 양자화의 적어도 일부를 건너뛸 수 있도록 하여 엔트로피 코딩에 소요되는 시간을 줄일 수 있다. 따라서 제안된 방법은 코딩 속도와 코딩 효율을 유리하게 개선할 수 있다.
예시적인 비주얼 데이터 디코딩 프로세스가 도 14와 관련하여 위에 설명되어 있지만, 비주얼 데이터 디코딩 프로세스의 다른 적절한 변형도 본 개시의 관점에서 고려될 수 있다는 것을 이해해야 한다. 다른 예로, 잔차 잠재 표현이 아닌 잠재 표현이 사용될 수 있으며, 이는 도 11의 하단 도면에 예시적으로 나와 있다.
상기 예시 및/또는 예제는 오직 설명의 목적으로만 설명된다는 점을 이해해야 한다. 본 개시의 범위는 이 점에서 제한되지 않는다. 본 개시의 실시예는 일반적인 개념을 설명하기 위한 예시로서 고려되어야 하며 좁은 방식으로 해석되어서는 안 된다. 또한, 이러한 실시예는 개별적으로 또는 모든 방식으로 적용될 수 있다.
도 15는 본 개시의 일부 실시예에 따른 비주얼 데이터 처리 방법(1500)의 흐름도를 나타내다. 방법(1500)은 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환하는 동안 구현될 수 있다. 도 15에 도시된 바와 같이, 방법(1500)은 1502에서 시작하여 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득한다. 제1 표현은 비주얼 데이터에 제1 신경망을 적용하는 것에 기초하여 생성된다. 일 예에서, 제1 신경망은 비주얼 데이터에 대한 분석 변환을 수행하는 데 사용될 수 있다. 일부 실시예에서, 제1 표현은 비주얼 데이터의 잠재 표현 또는 비주얼 데이터의 잠재 표현일 수 있다.
1504에서, 적어도 하나의 샘플은 통계 정보에 기초하여 비주얼 데이터의 제2 표현으로부터 결정된다. 적어도 하나의 샘플의 값은 비트스트림에서 존재하지 않는다. 제2 표현은 제1 표현을 양자화함으로써 획득해진다.
1506에서, 전환은 결정에 기초하여 수행된다. 일 예에서, 전환은 비주얼 데이터를 비트스트림으로 인코딩하는 단계를 포함할 수 있다. 대안적으로 또는 추가로, 전환은 비트스트림으로부터 비주얼 데이터를 디코딩하는 단계를 포함할 수 있다. 상기 그림은 오직 설명의 목적으로만 설명된다는 점을 이해해야 한다. 본 발명의 범위는 이 점에서 제한되지 않는다.
상기 사항을 고려할 때, 비주얼 데이터의 제1 표현의 제2 표현의 적어도 하나의 샘플 값은 비트스트림에 구성되지 않는다. 따라서 제안된 방법은 엔트로피 코딩 프로세스에서 제2 표현의 적어도 일부를 건너뛸 수 있도록 하여 엔트로피 코딩에 소요되는 시간을 줄일 수 있다. 따라서 제안된 방법은 코딩 속도와 코딩 효율성을 유리하게 개선할 수 있다.
일부 실시예에서, 1504에서, 다음 조건 중 적어도 하나가 충족되면 적어도 하나의 샘플이 제2 표현의 샘플을 포함하는 것으로 결정된다: 샘플에 대응하는 제1 통계치가 제1 임계값보다 작거나, 제1 통계치에 기초하여 결정된 값이 제2 임계값보다 작거나, 샘플의 값이 목표 값과 같을 확률이 제3 임계값보다 작은 경우이다.
일부 실시예에서, 1504에서, 다음 조건 중 적어도 하나가 충족되면 적어도 하나의 샘플이 제2 표현의 블록 내 샘플로 구성된다는 결정이 내려진다: 블록 내 각 샘플에 대응하는 제1 통계치가 제4 임계값보다 작거나, 제1 메트릭이 제5 임계값보다 작거나, 제1 메트릭은 블록 내 샘플에 대응하는 제1 통계치에 기초하여 결정될 수 있거나, 블록 내 각 샘플 값이 목표값과 같을 확률이 제6 임계값보다 작거나, 제2 메트릭이 제7 임계값보다 작을 확률을 기반으로 결정될 수 있다.
일부 실시예에서, 1504에서, 다음 조건 중 적어도 하나가 충족되면 적어도 하나의 샘플이 제2 표현의 샘플을 포함한다는 것으로 결정된다: 샘플에 대응하는 제1 통계치가 제8 임계값보다 크거나, 제1 통계치에 기초하여 결정된 값이 제9 임계값보다 크거나, 샘플 값이 목표값과 같을 확률이 제10 임계값보다 큰 경우이다.
일부 실시예에서, 1504에서, 다음 조건 중 적어도 하나가 충족되면 적어도 하나의 샘플이 제2 표현의 블록 내 샘플로 구성된다는 결정이 내려진다: 블록 내의 각 샘플에 대응하는 제1 통계치가 제11 임계값보다 크거나, 제1 메트릭이 제12 임계값보다 크거나, 제1 메트릭은 블록 내 샘플에 대응하는 제1 통계치에 기초하여 결정될 수 있거나, 블록 내 각 샘플의 값이 목표 값과 같을 확률이 제13 임계값보다 크거나, 제2 메트릭이 제14 임계값보다 클 확률을 기반으로 결정될 수 있다.
일부 실시예에서, 제1 메트릭은 제1 통계치의 평균값, 최소값 또는 최대 값일 수 있다. 추가로 또는 대안적으로, 제2 메트릭은 확률의 평균값, 최소값 또는 최대값일 수 있다.
일부 실시예에서, 블록의 사이즈는 N x M일 수 있고, N과 M은 각각 양의 정수일 수 있다. 한 예로서, 비트스트림에서 N과 M으로 지시될 수 있다. 일부 실시예에서, 제1 통계치는 분산일 수 있다. 일부 실시예에서, 샘플의 목표값은 다음 중 하나인, 제1 미리 결정된 값, 또는 샘플에 대응하는 제2 통계치를, 포함할 수 있다. 한 예제에서, 제1 미리 결정된 값은 0일 수 있고, 제2 통계치는 평균일 수 있다. 일부 실시예에서, 확률은 통계 정보에 기초하여 결정될 수 있다.
일부 실시예에서, 다음 임계값 중 적어도 하나는 비트스트림에 표시될 수 있다: 제1 임계값, 제2 임계값, 제3 임계값, 제4 임계값, 제5 임계값, 제6 임계값, 제7 임계값, 제8 임계값, 제9 임계값, 제10 임계값, 제11 임계값, 제12 임계값, 제13 임계값 또는 제14 임계값이다.
일부 실시예에서, 1506에서, 제2 표현은 적어도 하나의 샘플에 기초하여 재구성될 수 있다. 더 나아가, 상기 전환은 재구성된 제2 표현에 기초하여 수행될 수도 있다.
일부 실시예에서, 적어도 하나의 샘플은 제2 표현의 모든 샘플을 포함할 수 있다. 이러한 경우, 적어도 하나의 샘플의 값은 제2 표현을 재구성하기 위해 결정될 수 있다.
일부 실시예에서, 제2 표현은 적어도 하나의 샘플 및 적어도 하나의 샘플과 다른 샘플의 제1 세트를 포함할 수 있다. 적어도 하나의 샘플의 값이 결정될 수 있다. 샘플의 제1 세트 값은 통계 정보에 기초하여 비트스트림에 대한 엔트로피 디코딩 프로세스를 수행함으로써 획득될 수 있다. 제2 표현은 샘플의 제1 세트 값 및 적어도 하나의 샘플의 결정된 값에 기초하여 재구성될 수 있다.
일부 실시예에서, 적어도 하나의 샘플 값을 결정하기 위해, 적어도 하나의 샘플의 각 샘플 값은 제2 미리 결정된 값 또는 샘플에 대응하는 제3 통계치로 결정될 수 있다. 일 예에서, 제2 미리 결정된 값은 0과 같은 일정한 스칼라 수일 수 있다. 예를 들어, 제3 통계치는 평균일 수 있다.
일부 실시예에서, 제1 표현은 비주얼 데이터의 잠재 표현일 수 있다. 1506에서, 비주얼 데이터는 재구성된 제2 표현에 대한 합성 변환을 수행하여 재구성될 수 있다.
일부 실시예에서, 제1 표현은 비주얼 데이터의 잔차 잠재 표현일 수 있다. 1506에서, 재구성된 제2 표현 및 통계 정보에 포함된 제4 통계치에 기초하여 비주얼 데이터의 양자화된 잠재 표현이 생성될 수 있다. 비주얼 데이터는 양자화된 잠재 표현에 대한 합성 변환을 수행함으로써 재구성될 수 있다.
일부 실시예에서, 적어도 하나의 샘플은 제2 표현의 모든 샘플을 포함할 수 있다. 1506에서 비트스트림은 통계 정보에 대한 엔트로피 인코딩 프로세스를 수행하여 생성될 수 있다.
일부 실시예에서, 제2 표현은 적어도 하나의 샘플 및 적어도 하나의 샘플과 다른 샘플의 제1 세트를 포함할 수 있다. 1506에서, 통계 정보에 대한 엔트로피 인코딩 프로세스를 수행함으로써 비트스트림의 제1 부분이 생성될 수 있다. 비트스트림의 제2 부분은 통계 정보에 기초하여 샘플의 제1 세트에 대한 엔트로피 인코딩 프로세스를 수행함으로써 생성될 수 있다.
일부 실시예에서, 제1 표현은 비주얼 데이터의 잠재 표현일 수 있다. 이 방법은 제1 신경망을 사용하여 비주얼 데이터에 대한 분석 변환을 수행하여 잠재 표현을 생성하고, 잠재 표현을 양자화하여 제2 표현을 획득하는 단계를 더 포함할 수 있다.
일부 실시예에서, 제1 표현은 비주얼 데이터의 잔차 잠재 표현일 수 있다. 이 방법은 제1 신경망을 사용하여 비주얼 데이터에 대한 분석 변환을 수행하여 비주얼 데이터의 잠재 표현을 생성하고, 제1 신경망을 사용하여 통계 정보에 포함된 잠재 표현 및 제4 통계치에 기초하여 잔차 잠재 표현을 생성하고, 잔차 잠재 표현이 양자화하여 제2 표현으로 획득하는 단계를 더 포함할 수 있다. 일부 실시예에서, 제4 통계치는 평균일 수 있다.
일부 실시예에서, 통계 정보는 제2 신경망을 사용하여 생성될 수 있다. 일 예에서, 제2 신경망은 추정 모델일 수 있다. 제2 신경망은 신경망 기반 서브네트워크를 포함할 수 있다. 제2 신경망의 입력은 비주얼 데이터의 비트스트림 또는 잠재 표현을 포함할 수 있다.
일부 실시예에서, 통계 정보는 제1 통계치 및 제2 통계치를 포함할 수 있다. 제2 신경망은 제1 통계치를 생성하기 위한 제1 신경망 및 제2 통계치를 생성하기 위한 제2 서브 네트워크를 포함할 수 있다. 제1 통계치는 분산일 수 있고, 제2 통계치는 평균일 수 있다.
일부 실시예에서, 제1 통계치는 가우시안 확률 분포의 분산이고, 제2 통계치는 가우시안 확률 분포의 평균일 수 있다. 추가로 또는 대안적으로, 제1 서브네트워크는 하이퍼 스케일 디코더 서브네트워크이고, 제2 서브네트워크는 하이퍼 디코더 서브네트워크일 수 있다.
일부 실시예에서, 다음 중 적어도 하나는 비트스트림으로 지시될 수 있다: 방법을 적용할지 여부에 대한 정보, 또는 방법을 적용할지에 대한 정보이다. 일부 실시예에서, 다음 중 적어도 하나는 비주얼 데이터의 컬러 포맷 및/또는 컬러 성분에 의존한다: 방법을 적용할지 여부에 대한 정보, 또는 방법을 적용할지에 대한 정보이다.
일부 실시예에서, 비트스트림에 포함된 값은 시퀀스 레벨, 픽처 레벨, 슬라이스 레벨 또는 블록 레벨 중 하나로 코딩될 수 있다. 일부 실시예에서, 비트스트림에 포함된 값은 코딩되기 전에 이진화될 수 있다. 일부 실시예에서, 비트스트림에 포함된 값은 적어도 하나의 산술 코딩 컨텍스트로 코딩될 수 있다.
본 개시내용의 추가적인 실시예에 따라, 비일시적 컴퓨터 판독가능 기록 매체가 제공된다. 상기 비일시적 컴퓨터 판독 가능한 기록 매체는 비주얼 데이터 처리 장치에 의해 수행되는 방법에 의해 생성된 비주얼 데이터의 비트스트림을 저장한다. 이 방법의 구성은 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환을 위해 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하고, 비주얼 데이터에 제1 신경망을 적용하여 생성되는 제1 표현을 획득하고, 통계 정보에 기초하여 비주얼 데이터의 제2 표현에서 적어도 하나의 샘플을 결정하고, 비트스트림에 없는 적어도 하나의 샘플의 값을 결정하고, 제1 표현을 양자화하여 제2 표현을 획득하고, 결정에 기초하여 비트스트림을 생성하는 것을 포함한다.
본 개시의 또 다른 실시예에 따르면, 비주얼 데이터의 비트스트림을 저장하기 위한 방법이 제공된다. 이 방법의 구성은: 비주얼 데이터와 비주얼 데이터의 비트스트림 간의 전환을 위해, 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하고, 비주얼 데이터에 제1 신경망을 적용하여 생성되는 제1 표현을 획득하고, 통계 정보에 기초하여 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플을 결정하고, 비트스트림에 존재하지 않는 적어도 하나의 샘플의 값을 결정하고, 제1 표현을 양자화하여 제2 표현을 획득하고, 결정에 기초하여 비트스트림을 생성하고, 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 포함한다.
본 개시의 구현은 다음 조항을 고려하여 설명될 수 있으며, 그 특징은 임의의 합리적인 방법으로 조합될 수 있다.
조항1. 비주얼 데이터 처리를 위한 방법으로서: 비주얼 데이터와 상기 비주얼 데이터의 비트스트림 간의 전환을 위해, 상기 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계로서, 상기 제1 표현이 상기 비주얼 데이터에 제1 신경망을 적용하는 것을 기반으로 생성되는 단계; 상기 통계 정보에 기초하여 상기 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플, 상기 비트스트림에 존재하지 않는 상기 적어도 하나의 샘플 값, 상기 제1 표현을 양자화하여 획득된 상기 제2 표현을 획득됨을 결정하는 단계; 및 상기 결정에 기초하여 상기 전환을 수행하는 단계를 포함한다.
조항2. 조항1의 방법으로서, 상기 제1 표현은 상기 비주얼 데이터의 잠재 표현이나 상기 비주얼 데이터의 잔차 잠재 표현을 포함한다.
조항3. 조항1 내지 조항2 중 어느 하나의 방법으로서, 상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는 상기 적어도 하나의 샘플이, 상기 샘플에 해당하는 제1 통계치가 제1 임계값보다 작은 경우, 상기 제1 통계치를 기반으로 결정된 값이 제2 임계값보다 작은 경우, 또는 상기 샘플 값이 목표 값과 같을 확률이 제3임계값보다 작은 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2 표현의 샘플을 포함함을 결정하는 단계를 포함한다.
조항4. 조항1 내지 조항2 중 어느 하나의 방법으로서, 상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는 상기 적어도 하나의 샘플이, 상기 블록 내 각 샘플에 해당하는 제1 통계치가 제4 임계값보다 작은 경우, 제1 메트릭이 제5 임계값보다 작은 경우, 상기 제1 메트릭은 상기 블록 내 샘플에 해당하는 제1 통계치에 기초하여 결정되는 경우, 상기 블록 내 각 샘플의 값이 목표 값과 같을 확률이 제6 임계값보다 작은 경우, 또는 제2 메트릭이 제7 임계값보다 작은 경우, 상기 제2 메트릭은 상기 블록 내 샘플의 값이 각 목표 값과 같을 확률을 기반으로 결정되는 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2 표현의 블록 내 샘플을 포함함을 결정하는 단계를 포함한다.
조항5. 조항1 내지 조항2 중 어느 하나의 방법으로서, 상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는 상기 적어도 하나의 샘플이, 상기 샘플에 해당하는 제1 통계치가 제8 임계값보다 큰 경우, 상기 제1 통계치를 기반으로 결정된 값이 제9 임계값보다 큰 경우, 또는 상기 샘플의 값이 목표 값과 같을 확률은 제10 임계값보다 큰 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2표현의 샘플을 포함함을 결정하는 단계를 포함한다.
조항6. 조항1 내지 조항2 중 어느 하나의 방법으로서, 상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는 상기 적어도 하나의 샘플이, 상기 블록 내 각 샘플에 해당하는 제1 통계치가 제11 임계값보다 큰 경우, 제1 메트릭이 제12 임계값보다 큰 경우, 상기 제1 메트릭이 상기 블록 내 샘플에 해당하는 제1 통계치에 기초하여 결정되는 경우, 상기 블록 내 각 샘플 값이 목표 값과 같을 확률이 제13 임계값보다 큰 경우, 또는 제2 메트릭이 제14 임계값보다 큰 경우, 상기 제2 메트릭이 상기 블록 내 샘플 값이 각 목표 값과 같을 확률을 기반으로 결정되는 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2 표현의 블록 내 샘플을 포함함을 결정하는 단계를 포함한다.
조항7. 조항4 내지 조항6 중 어느 하나의 방법으로서, 상기 제1 메트릭은 상기 제1 통계치의 평균값, 최소값 또는 최대값이거나, 상기 제2 메트릭은 상기 확률의 평균값, 최소값 또는 최대값이다.
조항8. 조항 4및 조항7 내지 조항8 중 어느 하나의 방법으로서, 상기 블록의 크기가 N x M이며, 각 N 및 M 은 각각 양의 정수이다.
조항9. 조항8의 방법으로서, 상기 비트스트림에는 N과 M이 지시된다.
조항10. 조항3 내지 조항9 중 어느 하나의 방법으로서, 상기 제1 통계치는 분산이다.
조항11. 조항3 내지 조항10 중 어느 하나의 방법으로서, 샘플의 목표 값은 제1 미리 결정된 값, 또는 상기 샘플에 해당하는 제2 통계치 중 하나를 포함한다.
조항12. 조항11의 방법으로서, 상기 제1 미리 결정된 값은 0이거나, 상기 제2 통계치는 평균이다.
조항13. 조항3 내지 조항12 중 어느 하나의 방법으로서, 상기 확률은 상기 통계 정보에 기초하여 결정된다.
조항14. 조항3 내지 조항13 중 어느 하나의 방법으로서, 상기 제1 임계값, 상기 제2 임계값, 상기 제3 임계값, 상기 제4 임계값, 상기 제5 임계값, 상기 제6 임계값, 상기 제7 임계값, 상기 제8 임계값, 상기 제9 임계값, 상기 제10 임계값, 상기 제11 임계값, 상기 제12 임계값, 상기 제13 임계값, 또는 상기 제14 임계값 중 적어도 하나의 임계값이 상기 비트스트림에 지시된다.
조항15. 조항3 내지 조항14 중 어느 하나의 방법으로서, 상기 전환을 수행하는 단계는 상기 적어도 한 샘플에 기초하여 상기 제2 표현을 재구성하는 단계; 및 상기 재구성된 제2 표현에 기초하여 상기 전환을 수행하는 단계를 포함한다.
조항16. 조항15의 방법으로서, 상기 적어도 하나의 샘플은 상기 제2 표현의 모든 샘플을 포함하며, 상기 제2 표현을 재구성하는 단계는 상기 제2 표현을 재구성할 상기 적어도 하나의 샘플 값을 결정하는 단계를 포함한다.
조항17. 조항15의 방법으로서, 상기 제2 표현은 상기 적어도 하나의 샘플 및 상기 적어도 하나의 샘플과 상이한 샘플의 제1 세트를 포함하며, 상기 제2 표현을 재구성하는 단계는 상기 적어도 하나의 샘플 값을 결정하는 단계; 상기 통계 정보에 기초하여 상기 비트스트림에 엔트로피 디코딩 프로세스를 수행하여 샘플의 상기 제1 세트의 값을 획득하는 단계; 및 샘플의 상기 제1 세트의 값과 상기 적어도 하나의 샘플의 결정된 값에 기초하여 상기 제2 표현을 재구성하는 단계를 포함한다.
조항18. 조항16 내지 조항17 중 어느 하나의 방법으로서, 상기 적어도 하나의 샘플 값을 결정하는 단계는 상기 적어도 하나의 샘플의 각 샘플 값을 제2 미리 결정된 값이나 상기 샘플에 해당하는 제3 통계치로 결정하는 단계를 포함한다.
조항19. 조항18의 방법으로서, 상기 제2 미리 결정된 값은 일정한 스칼라 수이다.
조항20. 조항18의 방법으로서, 상기 제2 미리 결정된 값은 0이다.
조항21. 조항18 내지 조항20 중 어느 하나의 방법으로서, 상기 제3 통계치는 평균이다.
조항22. 조항15 내지 조항21 중 어느 하나의 방법으로서, 상기 제1 표현은 상기 비주얼 데이터의 잠재 표현이며, 상기 재구성된 제2 표현에 기초하여 상기 전환을 수행하는 단계는 상기 재구성된 제2 표현에 대해 합성 변환을 수행하여 상기 비주얼 데이터를 재구성하는 단계를 포함한다.
조항23. 조항15 내지 조항21 중 어느 하나의 방법으로서, 상기 제1 표현은 상기 비주얼 데이터의 잔차 잠재 표현이며, 상기 전환을 수행하는 단계는 상기 재구성된 제2 표현과 상기 통계 정보에 포함된 제4 통계치에 기초하여 상기 비주얼 데이터의 양자화된 잠재 표현을 생성하는 단계, 및 상기 양자화된 잠재 표현에 대해 합성 변환을 수행하여 상기 비주얼 데이터를 재구성하는 단계를 포함한다.
조항24. 조항1 내지 조항14 중 어느 하나의 방법으로서, 상기 적어도 하나의 샘플은 상기 제2 표현의 모든 샘플을 포함하며, 상기 전환을 수행하는 단계는 상기 통계 정보에 대한 엔트로피 인코딩 프로세스를 수행하여 상기 비트스트림을 생성하는 단계를 포함한다.
조항25. 조항1 내지 조항14 중 어느 하나의 방법으로서, 상기 제2 표현은 상기 적어도 하나의 샘플 및 상기 적어도 하나의 샘플과 상이한 샘플의 제1 세트를 포함하며, 상기 전환을 수행하는 단계는 상기 통계 정보에 대한 엔트로피 인코딩 프로세스를 수행하여 상기 비트스트림의 제1 부분을 생성하는 단계; 및 상기 통계 정보에 기초하여 샘플의 상기 제1 세트에 대한 엔트로피 인코딩 프로세스를 수행하여 상기 비트스트림의 제2 부분을 생성하는 단계를 포함한다.
조항26. 조항24 내지 조항25 중 어느 하나의 방법으로서, 상기 제1 표현은 상기 비주얼 데이터의 잠재 표현이며, 상기 방법은 상기 제1 신경망을 사용하여 상기 비주얼 데이터에 대한 분석 변환을 수행하여 상기 잠재 표현을 생성하는 단계; 및 상기 잠재 표현을 양자화하여 제2 표현을 획득하는 단계를 더 포함한다.
조항27. 조항24 내지 조항25 중 어느 하나의 방법으로서, 상기 제1 표현은 상기 비주얼 데이터의 잔차 잠재 표현이며, 상기 방법은 상기 제1 신경망을 사용하여 상기 비주얼 데이터에 대한 분석 변환을 수행하여 상기 비주얼 데이터의 잠재 표현을 생성하는 단계; 상기 잠재 표현과 상기 통계 정보에 포함된 제4 통계치에 기초하여 상기 잔차 잠재 표현을 생성하는 단계; 및 상기 잔차 잠재 표현을 양자화하여 상기 제2 표현을 획득하는 단계를 더 포함한다.
조항28. 조항23 또는 조항28 중 어느 하나의 방법으로서, 상기 제4 통계치는 평균이다.
조항29. 조항1 내지 조항28 중 어느 하나의 방법으로서, 상기 통계 정보는 제2 신경망을 사용하여 생성된다.
조항30. 조항29의 방법으로서, 상기 제2 신경망은 추정 모델이다.
조항31. 조항29 내지 조항30 중 어느 하나의 방법으로서, 상기 제2 신경망은 신경망 기반 서브 네트워크를 포함한다.
조항32. 조항29 내지 조항31 중 어느 하나의 방법으로서, 상기 제2 신경망의 입력은 상기 비주얼 데이터의 상기 비트스트림이나 잠재 표현을 포함한다.
조항33. 조항29 내지 조항30 중 어느 하나의 방법으로서, 상기 통계 정보는 제1 통계치 및 제2 통계치를 포함하며, 상기 제2 신경망은 상기 제1 통계치를 생성하기 위한 제1 서브 네트워크 및 상기 제2 통계치를 생성하기 위한 제2 서브 네트워크를 포함한다.
조항34. 조항33의 방법으로서, 상기 제1 통계치는 분산이고, 상기 제2 통계치는 평균이다.
조항35. 조항33의 방법으로서, 상기 제1 통계치는 가우시안 확률 분포의 분산이고, 상기 제2 통계치는 가우시안 확률 분포의 평균이다.
조항36. 조항33 내지 조항35 중 어느 하나의 방법으로서, 상기 제1 서브 네트워크는 하이퍼 스케일 디코더 서브 네트워크이고, 상기 제2 서브 네트워크는 하이퍼 디코더 서브 네트워크이다.
조항37. 조항1 내지 조항36 중 어느 하나의 방법으로서, 상기 방법을 적용할지 여부에 대한 정보, 또는 상기 방법을 적용하는 방법에 대한 정보 중 적어도 하나의 정보가 상기 비트스트림에 지시된다.
조항38. 조항1 내지 조항36 중 어느 하나의 방법으로서, 상기 방법을 적용할지 여부에 대한 정보, 또는 상기 방법을 적용하는 방법에 대한 정보, 중 적어도 하나의 정보는 상기 비주얼 데이터의 컬러 포맷 및/또는 컬러 성분에 의존한다.
조항39. 조항1 내지 조항38 중 어느 하나의 방법으로서, 이하, 상기 시퀀스 레벨, 상기 픽처 레벨, 상기 슬라이스 레벨, 또는 상기 블록 레벨 중 적어도 하나의 레벨로 상기 비트스트림에 포함된 값이 코딩된다.
조항40. 조항1 내지 조항39 중 어느 하나의 방법으로서, 상기 비트스트림에 포함된 값은 코딩되기 전에 이진화된다.
조항41. 조항1 내지 조항40 중 어느 하나의 방법으로서, 상기 비트스트림에 포함된 값은 적어도 하나의 산술 코딩 컨텍스트로 코딩된다.
조항42. 조항1 내지 조항41 중 어느 하나의 방법으로서, 상기 비주얼 데이터는 비디오 또는 이미지의 픽처를 포함한다.
조항43. 조항1 내지 조항42 중 어느 하나의 방법으로서, 상기 전환은 상기 비주얼 데이터를 상기 비트스트림으로 인코딩하는 단계를 포함한다.
조항44. 조항1 내지 조항42 중 어느 하나의 방법으로서, 상기 전환은 상기 비트스트림으로부터 상기 비주얼 데이터를 디코딩하는 단계를 포함한다.
조항45. 프로세서 및 명령이 포함된 비일시적 메모리를 포함하는 비주얼 데이터를 처리하는 장치로서, 상기 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제44 항 중 어느 하나에 따른 방법을 수행하게 한다.
조항46. 프로세서로 하여금 제1 항 내지 제44 항 중 어느 하나에 따른 방법을 수행하게 하는 명령이 저장된다.
조항47. 비주얼 데이터를 처리하는 장치에 의해 수행되는 방법을 통해 생성된 비주얼 데이터의 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능 기록 매체로서, 상기 방법은 비주얼 데이터와 상기 비주얼 데이터의 비트스트림 간의 전환을 위해, 상기 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계로서, 상기 제1 표현이 상기 비주얼 데이터에 제1 신경망을 적용하는 것을 기반으로 생성되는 단계; 상기 통계 정보에 기초하여 상기 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플, 상기 비트스트림에 존재하지 않는 상기 적어도 하나의 샘플 값, 상기 제1 표현을 양자화하여 획득된 상기 제2 표현을 결정하는 단계; 및 상기 결정에 기초하여 상기 비트스트림을 생성하는 단계를 포함한다.
조항48. 비주얼 데이터의 비트스트림을 저장하는 방법으로서, 비주얼 데이터와 상기 비주얼 데이터의 비트스트림 간의 전환을 위해, 상기 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계로서, 상기 제1 표현이 상기 비주얼 데이터에 제1 신경망을 적용하는 것을 기반으로 생성되는 단계; 상기 통계 정보에 기초하여 상기 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플, 상기 비트스트림에 존재하지 않는 상기 적어도 하나의 샘플 값, 상기 제1 표현을 양자화하여 획득된 상기 제2 표현을 결정하는 단계; 및 상기 결정에 기초하여 상기 비트스트림을 생성하는 단계; 및 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 포함한다.
예시 디바이스
도 16 은 본 개시의 다양한 실시예들이 구현될 수 있는 컴퓨팅 디바이스(1600)의 블록도를 예시한다. 컴퓨팅 디바이스(1600)는 소스 디바이스(110)(또는 비주얼 데이터 인코더114) 또는 목적지 디바이스(120)(또는 비주얼 데이터 디코더124)로 구현되거나 포함될 수 있다.
도16에 도시된 컴퓨팅 디바이스(1600)는 단지 예시를 위한 것이며, 어떠한 방법으로도 본 개시의 실시예의 기능 및 범위에 대한 제한을 시사하지 않는다는 것이 이해될 것이다.
도16에 나타낸 바와 같이, 컴퓨팅 디바이스(1600)는 범용 컴퓨팅 디바이스(1600)를 포함한다. 컴퓨팅 디바이스(1600)는 적어도 하나의 프로세서 또는 프로세싱 유닛(1610), 메모리(1620), 저장 유닛(1630), 하나 이상의 통신 유닛(1640), 하나 이상의 입력 디바이스(1650), 및 하나 이상의 출력 디바이스(1660)를 포함할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(1600)는 컴퓨팅 기능이 있는 임의의 사용자 단말기 또는 서버 단말기로서 구현될 수 있다. 서버 단말기는 서비스 제공자가 제공하는 서버, 대규모 컴퓨팅 디바이스 등이 될 수 있다. 사용자 단말기에는 휴대 전화, 방송국, 유닛, 장치, 멀티미디어 컴퓨터, 멀티미디어 태블릿, 인터넷노드, 커뮤니케이터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 개인 통신 시스템(PCS) 장치, 개인 내비게이션 장치, 개인 휴대 단말기(PDA), 오디오/비디오플레이어, 디지털 카메라/비디오 카메라, 위치 확인 장치, 텔레비전 수신기, 라디오 방송 수신기, 전자책 디바이스, 게임 디바이스 또는 이러한 디바이스의 액세서리 및 주변 장치 또는 이들의 조합을 포함한 임의의 유형의 이동 단말기, 고정 단말기 또는 휴대용 단말기일 수 있다. 컴퓨팅 디바이스(1600)는 사용자에 대한 임의의 유형의 인터페이스(예를 들어, "웨어러블" 회로 등)를 지원할 수 있는 것으로 고려된다.
프로세싱 유닛(1610)은 물리 또는 가상 프로세서일 수 있으며, 메모리(1620)에 저장된 프로그램에 기초하여 다양한 처리를 구현할 수 있다. 멀티 프로세서시스템에서 컴퓨팅 디바이스(1600)의 병렬 처리 능력을 향상시키기 위해 멀리 프로세싱 유닛이 컴퓨터 실행 명령어를 병렬로 실행한다. 프로세싱 유닛(1610)은 중앙 처리 장치(CPU), 마이크로 프로세서, 컨트롤러 또는 마이크로 컨트롤러로 지칭될 수도 있다.
컴퓨팅 디바이스(1600)는 전형적으로 다양한 컴퓨터 저장 매체를 포함한다. 이러한 매체는 휘발성 및 비 휘발성 매체, 또는 이에 제한되지는 않는, 컴퓨팅 디바이스(1600)에 의해 엑세스 가능한 임의의 매체일 수 있다. 메모리(1620)는 휘발성 메모리(예를 들어, 레지스터, 캐시, 랜덤 액세스 메모리(RAM)), 비휘발성 메모리(예를 들어, ROM(Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 또는 플래시 메모리), 또는 이들의 임의의 조합일 수 있다. 저장 유닛(1630)은 임의의 분리 또는 비분리형 매체일 수 있고, 메모리, 플래시 메모리 드라이브, 자기 디스크 또는 다른 매체와 같은 기계 판독가능 매체를 포함할 수 있으며, 이는 정보 및/또는 데이터 저장에 사용될 수 있고 컴퓨팅 디바이스(1600)에서 엑세스 될 수 있다.
컴퓨팅 장치(1600)는 추가적인 탈부착/비탈부착, 휘발성/비휘발성 메모리매체를 더 포함할 수 있다. 도16 에는 도시되어 있지 않으나, 탈부착 및 비휘발성자기 디스크로 읽기 및/또는 쓰기를 위한 자기 디스크 드라이브 및 탈부착 비휘발성 광학 디스크로 읽기 및/또는 쓰기를 위한 광학 디스크 드라이브를 제공할 수 있다. 이러한 경우, 각 드라이브는 하나 이상의 데이터 매체 인터페이스를 통해 버스(미 표시)에 연결될 수 있다.
통신 유닛(1640)은 통신 매체를 통해 추가 컴퓨팅 디바이스와 통신한다. 또한, 컴퓨팅 디바이스(1600)의 구성요소 기능은 단일 컴퓨팅 클러스터 또는 통신연결을 통해 통신할 수 있는 복수의 컴퓨팅 기계에 의해 구현될 수 있다. 따라서, 컴퓨팅 디바이스(1600)는 하나 이상의 다른 서버, 네트워크에 연결된 개인용 컴퓨터(PC) 또는 추가적인 일반 네트워크 노드와의 논리적 연결을 사용하여 네트워크환경에서 작동할 수 있다.
입력 디바이스(1650)는 마우스, 키보드, 트래킹 볼, 음성 입력 디바이스 등과 같은 다양한 입력 디바이스 중 하나 이상일 수 있다. 출력 디바이스(1660)는 디스플레이, 확성기, 프린터 등과 같은 다양한 출력 디바이스 중 하나 이상일 수 있다. 통신 유닛(1640)을 통해, 컴퓨팅 디바이스(1600)는 저장 디바이스 및 디스플레이 디바이스와 같은 하나 이상의 외부 디바이스(미 표시), 사용자가 컴퓨팅 디바이스(1600)와 상호 작용할 수 있도록 하는 하나 이상의 디바이스, 또는 필요한 경우, 컴퓨팅 디바이스(1800)가 하나 이상의 다른 컴퓨팅 디바이스와 통신할 수 있도록 하는 임의의 디바이스(네트워크 카드, 모뎀 등과 같은)와 추가로 통신할 수 있다. 이러한 통신은 입력/출력(I/O) 인터페이스(미 표시)를 통해 수행될 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(1600)의 일부 또는 전부는 단일 디바이스에 통합되는 대신에 클라우드 컴퓨팅 아키텍처에 배치될 수도 있다. 클라우드 컴퓨팅 아키텍처에서, 컴포넌트는 원격으로 제공될 수 있으며 본 개시에 기술된 기능을 구현하기 위해 함께 작동할 수 있다. 일부 실시예에서, 클라우드 컴퓨팅은 컴퓨팅, 소프트웨어, 데이터 액세스 및 저장 서비스를 제공하며, 최종 사용자는 이러한 서비스를 제공하는 시스템 또는 하드웨어의 물리적 위치나 구성을 인지할 필요가 없다. 다양한 실시예에서, 클라우드 컴퓨팅은 적절한 프로토콜을 사용하여 광역 네트워크(예: 인터넷)를 통해 서비스를 제공한다. 예를 들어, 클라우드 컴퓨팅 제공업체는 웹 브라우저 또는 기타 컴퓨팅 구성 요소를 통해 액세스할 수 있는 광역 네트워크를 통해 애플리케이션을 제공한다. 클라우드 컴퓨팅 아키텍처의 소프트웨어 또는 구성 요소와 해당 데이터는 원격 위치의 서버에 저장될 수 있다. 클라우드 컴퓨팅 환경의 컴퓨팅 리소스는 원격 데이터 센터의 위치에서 병합되거나 분산될 수 있다. 클라우드 컴퓨팅 인프라는 공유 데이터 센터를 통해 서비스를 제공할 수 있지만, 사용자에게는 단일 액세스 포인트 역할을 한다. 따라서 클라우드 컴퓨팅 아키텍처는 원격 위치의 서비스 제공업체로부터 본 설명서에 설명된 구성 요소와 기능을 제공하는 데 사용될 수 있다. 또는 기존 서버에서 제공하거나 클라이언트 장치에 직접 또는 기타 방식으로 설치할 수도 있다.
컴퓨팅 디바이스(1600)는 본 개시의 실시예에 있어서, 비주얼 데이터 인코딩/디코딩을 구현하는 데 사용될 수 있다. 메모리(1620)는 하나 이상의 프로그램 명령을 갖는 하나 이상의 비주얼 데이터 코딩 모듈(1625)을 포함할 수 있다. 이러한 모듈은 본 명세서에 설명된 다양한 실시예의 기능을 수행하기 위해 처리 유닛(1610)에 의해 액세스 가능하고 실행 가능하다.
비주얼 데이터 인코딩을 수행하는 예시적인 실시예에서, 입력 디바이스(1650)는 인코딩될 비주얼 데이터를 입력(1670)으로 수신할 수 있다. 비주얼 데이터는, 예를 들어, 비주얼 데이터 코딩 모듈(1625)에 의해 처리되어 인코딩된 비트스트림을 생성할 수 있다. 인코딩된 비트스트림은 출력 디바이스(1660)를 통해 출력(1680)으로 제공될 수 있다.
비주얼 데이터 디코딩을 수행하는 예시적인 실시예에서, 입력 디바이스(1650)는 인코딩된 비트스트림을 입력(1670)으로 수신할 수 있다. 인코딩된 비트스트림은 예를 들어, 비주얼 데이터 코딩 모듈(1625)에 의해 처리되어 디코딩된 비주얼 데이터를 생성할 수 있다. 디코딩된 비주얼 데이터는 출력 디바이스(1660)를 통해 출력(1680)으로 제공될 수 있다.
본 개시는 바람직한 실시예를 참조하여 특별히 도시되고 설명되었지만, 당업자는 첨부된 청구범위를 통해 정의된 바와 같은 본 출원의 사상 및 범위를 벗어나지 않으면서 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해할 것이다. 이러한 변형은 본 출원의 범위에 포함되도록 의도된다. 따라서, 본 출원의 실시예에 대한 전술한 설명은 제한하려고 하는 의도가 없다.
Claims (48)
- 비주얼 데이터 처리를 위한 방법으로서,
비주얼 데이터와 상기 비주얼 데이터의 비트스트림 간의 전환을 위해, 상기 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계로서, 상기 제1 표현이 상기 비주얼 데이터에 제1 신경망을 적용하는 것을 기반으로 생성되는 단계;
상기 통계 정보에 기초하여 상기 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플, 상기 비트스트림에 존재하지 않는 상기 적어도 하나의 샘플 값, 상기 제1 표현을 양자화하여 획득된 상기 제2 표현을 결정하는 단계; 및
상기 결정에 기초하여 상기 전환을 수행하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 제1 표현은 상기 비주얼 데이터의 잠재 표현이나 상기 비주얼 데이터의 잔차 잠재 표현을 포함하는, 방법. - 제1항 내지 제2항 중 어느 한 항에 있어서,
상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는,
상기 적어도 하나의 샘플이,
상기 샘플에 해당하는 제1 통계치가 제1 임계값보다 작은 경우,
상기 제1 통계치를 기반으로 결정된 값이 제2 임계값보다 작은 경우, 또는
상기 샘플 값이 목표 값과 같을 확률이 제3 임계값보다 작은 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2 표현의 샘플을 포함함을 결정하는 단계를 포함하는, 방법 - 제1항 내지 제2항 중 어느 한 항에 있어서,
상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는,
상기 적어도 하나의 샘플이,
상기 블록 내 각 샘플에 해당하는 제1 통계치가 제4 임계값보다 작은 경우,
제1 메트릭이 제5 임계값보다 작은 경우, 상기 제1 메트릭은 상기 블록 내 샘플에 해당하는 제1 통계치에 기초하여 결정되는 경우,
상기 블록 내 각 샘플의 값이 목표 값과 같을 확률이 제6 임계값보다 작은 경우, 또는
제2 메트릭이 제7 임계값보다 작은 경우, 상기 제2 메트릭은 상기 블록 내 샘플의 값이 각 목표 값과 같을 확률을 기반으로 결정되는 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2 표현의 블록 내 샘플을 포함함을 결정하는 단계를 포함하는, 방법. - 제1항 내지 제2항 중 어느 한 항에 있어서,
상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는,
상기 적어도 하나의 샘플이,
상기 샘플에 해당하는 제1 통계치가 제8 임계값보다 큰 경우,
상기 제1 통계치를 기반으로 결정된 값이 제9 임계값보다 큰 경우, 또는
상기 샘플의 값이 목표 값과 같을 확률은 제10 임계값보다 큰 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2표현의 샘플을 포함함을 결정하는 단계를 포함하는, 방법. - 제1항 내지 제2항 중 어느 한 항에 있어서,
상기 제2 표현으로부터 상기 적어도 하나의 샘플을 결정하는 단계는,
상기 적어도 하나의 샘플이,
상기 블록 내 각 샘플에 해당하는 제1 통계치가 제11 임계값보다 큰 경우,
제1 메트릭이 제12 임계값보다 큰 경우, 상기 제1 메트릭이 상기 블록 내 샘플에 해당하는 제1 통계치에 기초하여 결정되는 경우,
상기 블록 내 각 샘플 값이 목표 값과 같을 확률이 제13 임계값보다 큰 경우, 또는
제2 메트릭이 제14 임계값보다 큰 경우, 상기 제2 메트릭이 상기 블록 내 샘플 값이 각 목표 값과 같을 확률을 기반으로 결정되는 경우 중 적어도 하나의 조건이 충족된다는 결정에 따라 상기 제2 표현의 블록 내 샘플을 포함함을 결정하는 단계를 포함하는, 방법. - 제4항 또는 제6항에 있어서,
상기 제1 메트릭은 상기 제1 통계치의 평균값, 최소값 또는 최대값이거나,
상기 제2 메트릭은 상기 확률의 평균값, 최소값 또는 최대값인, 방법. - 제4항 및 제7항 내지 제8항 중 어느 한 항에 있어서,
상기 블록의 크기가 N x M이며, N 및 M은 각각 양의 정수인, 방법. - 제8 항에 있어서,
상기 비트스트림에는 N과 M이 지시되는, 방법. - 제3항 내지 제9항 중 어느 한 항에 있어서,
상기 제1 통계치는 분산인, 방법. - 제3항 내지 제10항 중 어느 한 항에 있어서,
샘플의 목표 값은,
제1 미리 결정된 값, 또는
상기 샘플에 해당하는 제2 통계치 중 하나를 포함하는, 방법. - 제11항에 있어서,
상기 제1 미리 결정된 값은 0이거나, 상기 제2 통계치는 평균인, 방법. - 제3항 내지 제12항 중 어느 한 항에 있어서,
상기 확률은 상기 통계 정보에 기초하여 결정되는, 방법. - 제3항 내지 제13항 중 어느 한 항에 있어서,
상기 제1 임계값, 상기 제2 임계값, 상기 제3 임계값, 상기 제4 임계값, 상기 제5 임계값, 상기 제6 임계값, 상기 제7 임계값, 상기 제8 임계값, 상기 제9 임계값, 상기 제10 임계값, 상기 제11 임계값, 상기 제12 임계값, 상기 제13 임계값, 또는 상기 제14 임계값 중 적어도 하나의 임계값이 상기 비트스트림에 지시되는, 방법. - 제1항 내지 제14항 중 어느 한 항에 있어서,
상기 전환을 수행하는 단계는,
상기 적어도 한 샘플에 기초하여 상기 제2 표현을 재구성하는 단계; 및
상기 재구성된 제2 표현에 기초하여 상기 전환을 수행하는 단계를 포함하는, 방법. - 제15항에 있어서,
상기 적어도 하나의 샘플은 상기 제2 표현의 모든 샘플을 포함하며, 상기 제2 표현을 재구성하는 단계는,
상기 제2 표현을 재구성할 상기 적어도 하나의 샘플 값을 결정하는 단계를 포함하는, 방법. - 제15항에 있어서,
상기 제2 표현은 상기 적어도 하나의 샘플 및 상기 적어도 하나의 샘플과 상이한 샘플의 제1 세트를 포함하며, 상기 제2 표현을 재구성하는 단계는,
상기 적어도 하나의 샘플 값을 결정하는 단계;
상기 통계 정보에 기초하여 상기 비트스트림에 엔트로피 디코딩 프로세스를 수행하여 샘플의 상기 제1 세트의 값을 획득하는 단계; 및
샘플의 상기 제1 세트의 값과 상기 적어도 하나의 샘플의 결정된 값에 기초하여 상기 제2 표현을 재구성하는 단계를 포함하는, 방법. - 제16항 내지 제17항 중 어느 한 항에 있어서,
상기 적어도 하나의 샘플 값을 결정하는 단계는,
상기 적어도 하나의 샘플의 각 샘플 값을 제2 미리 결정된 값이나 상기 샘플에 해당하는 제3 통계치로 결정하는 단계를 포함하는, 방법. - 제18항에 있어서,
상기 제2 미리 결정된 값은 일정한 스칼라 수인, 방법. - 제18항에 있어서,
상기 제2 미리 결정된 값은 0인, 방법. - 제18항 내지 제20항 중 어느 한 항에 있어서,
상기 제3 통계치는 평균인, 방법. - 제15항 내지 제21항 중 어느 한 항에 있어서,
상기 제1 표현은 상기 비주얼 데이터의 잠재 표현이며, 상기 재구성된 제2 표현에 기초하여 상기 전환을 수행하는 단계는,
상기 재구성된 제2 표현에 대해 합성 변환을 수행하여 상기 비주얼 데이터를 재구성하는 단계를 포함하는, 방법. - 제15항 내지 제21항 중 어느 한 항에 있어서,
상기 제1 표현은 상기 비주얼 데이터의 잔차 잠재 표현이며, 상기 전환을 수행하는 단계는,
상기 재구성된 제2 표현과 상기 통계 정보에 포함된 제4 통계치에 기초하여 상기 비주얼 데이터의 양자화된 잠재 표현을 생성하는 단계, 및
상기 양자화된 잠재 표현에 대해 합성 변환을 수행하여 상기 비주얼 데이터를 재구성하는 단계를 포함하는, 방법. - 제1항 내지 제14항 중 어느 한 항에 있어서,
상기 적어도 하나의 샘플은 상기 제2 표현의 모든 샘플을 포함하며, 상기 전환을 수행하는 단계는,
상기 통계 정보에 대한 엔트로피 인코딩 프로세스를 수행하여 상기 비트스트림을 생성하는 단계를 포함하는, 방법. - 제1항 내지 제14항 중 어느 한 항에 있어서,
상기 제2 표현은 상기 적어도 하나의 샘플 및 상기 적어도 하나의 샘플과 상이한 샘플의 제1 세트를 포함하며, 상기 전환을 수행하는 단계는,
상기 통계 정보에 대한 엔트로피 인코딩 프로세스를 수행하여 상기 비트스트림의 제1 부분을 생성하는 단계; 및
상기 통계 정보에 기초하여 샘플의 상기 제1 세트에 대한 엔트로피 인코딩 프로세스를 수행하여 상기 비트스트림의 제2 부분을 생성하는 단계를 포함하는, 방법. - 제24항 내지 제25항 중 어느 한 항에 있어서,
상기 제1 표현은 상기 비주얼 데이터의 잠재 표현이며, 상기 방법은,
상기 제1 신경망을 사용하여 상기 비주얼 데이터에 대한 분석 변환을 수행하여 상기 잠재 표현을 생성하는 단계; 및
상기 잠재 표현을 양자화하여 제2 표현을 획득하는 단계를 더 포함하는, 방법. - 제24항 내지 제25항 중 어느 한 항에 있어서,
상기 제1 표현은 상기 비주얼 데이터의 잔차 잠재 표현이며, 상기 방법은,
상기 제1 신경망을 사용하여 상기 비주얼 데이터에 대한 분석 변환을 수행하여 상기 비주얼 데이터의 잠재 표현을 생성하는 단계;
상기 잠재 표현과 상기 통계 정보에 포함된 제4 통계치에 기초하여 상기 잔차 잠재 표현을 생성하는 단계; 및
상기 잔차 잠재 표현을 양자화하여 상기 제2 표현을 획득하는 단계를 더 포함하는, 방법. - 제23항 또는 제28항에 있어서,
상기 제4 통계치는 평균인, 방법. - 제1항 내지 제28항 중 어느 한 항에 있어서,
상기 통계 정보는 제2 신경망을 사용하여 생성되는, 방법. - 제29항에 있어서,
상기 제2 신경망은 추정 모델인, 방법. - 제29항 내지 제30항 중 어느 한 항에 있어서,
상기 제2 신경망은 신경망 기반 서브 네트워크를 포함하는, 방법. - 제29항 내지 제31항 중 어느 한 항에 있어서,
상기 제2 신경망의 입력은 상기 비주얼 데이터의 상기 비트스트림이나 잠재 표현을 포함하는, 방법. - 제29항 내지 제30항 중 어느 한 항에 있어서,
상기 통계 정보는 제1 통계치 및 제2 통계치를 포함하며, 상기 제2 신경망은 상기 제1 통계치를 생성하기 위한 제1 서브 네트워크 및 상기 제2 통계치를 생성하기 위한 제2 서브 네트워크를 포함하는, 방법. - 제33항에 있어서,
상기 제1 통계치는 분산이고, 상기 제2 통계치는 평균인, 방법. - 제33항에 있어서,
상기 제1 통계치는 가우시안 확률 분포의 분산이고, 상기 제2 통계치는 가우시안 확률 분포의 평균인, 방법. - 제33항 내지 제35항 중 어느 한 항에 있어서,
상기 제1 서브 네트워크는 하이퍼 스케일 디코더 서브 네트워크이고, 상기 제2 서브 네트워크는 하이퍼 디코더 서브 네트워크인, 방법. - 제1항 내지 제36항 중 어느 한 항에 있어서,
상기 방법을 적용할지 여부에 대한 정보, 또는
상기 방법을 적용하는 방법에 대한 정보 중 적어도 하나의 정보가 상기 비트스트림에 지시되는, 방법. - 제1항 내지 제36항 중 어느 한 항에 있어서,
상기 방법을 적용할지 여부에 대한 정보, 또는
상기 방법을 적용하는 방법에 대한 정보 중 적어도 하나의 정보는 상기 비주얼 데이터의 컬러 포맷 및/또는 컬러 성분에 의존하는, 방법. - 제1항 내지 제38항 중 어느 한 항에 있어서,
상기 시퀀스 레벨,
상기 픽처 레벨,
상기 슬라이스 레벨, 또는
상기 블록 레벨 중 적어도 하나의 레벨로 상기 비트스트림에 포함된 값이 코딩되는, 방법. - 제1항 내지 제39항 중 어느 한 항에 있어서,
상기 비트스트림에 포함된 값은 코딩되기 전에 이진화되는, 방법. - 제1항 내지 제40항 중 어느 한 항에 있어서,
상기 비트스트림에 포함된 값은 적어도 하나의 산술 코딩 컨텍스트로 코딩되는, 방법. - 제1항 내지 제41항 중 어느 한 항에 있어서,
상기 비주얼 데이터는 비디오 또는 이미지의 픽처를 포함하는, 방법. - 제1항 내지 제42항 중 어느 한 항에 있어서,
상기 전환은 상기 비주얼 데이터를 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법. - 제1항 내지 제42항 중 어느 한 항에 있어서,
상기 전환은 상기 비트스트림으로부터 상기 비주얼 데이터를 디코딩하는 단계를 포함하는, 방법. - 프로세서 및 명령이 포함된 비일시적 메모리를 포함하는 비주얼 데이터를 처리하는 장치로서,
상기 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제44 항 중 어느 하나에 따른 방법을 수행하게 하는, 장치. - 프로세서로 하여금 제1 항 내지 제44 항 중 어느 하나에 따른 방법을 수행하게 하는 명령이 저장되는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 비주얼 데이터를 처리하는 장치에 의해 수행되는 방법을 통해 생성된 비주얼 데이터의 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능 기록 매체로서,
상기 방법은,
비주얼 데이터와 상기 비주얼 데이터의 비트스트림 간의 전환을 위해, 상기 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계로서, 상기 제1 표현이 상기 비주얼 데이터에 제1 신경망을 적용하는 것을 기반으로 생성되는 단계;
상기 통계 정보에 기초하여 상기 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플, 상기 비트스트림에 존재하지 않는 상기 적어도 하나의 샘플 값, 상기 제1 표현을 양자화하여 획득된 상기 제2 표현을 결정하는 단계; 및
상기 결정에 기초하여 상기 비트스트림을 생성하는 단계를 포함하는, 방법. - 비주얼 데이터의 비트스트림을 저장하는 방법으로서,
비주얼 데이터와 상기 비주얼 데이터의 비트스트림 간의 전환을 위해, 상기 비주얼 데이터의 제1 표현과 관련된 통계 정보를 획득하는 단계로서, 상기 제1 표현이 상기 비주얼 데이터에 제1 신경망을 적용하는 것을 기반으로 생성되는 단계;
상기 통계 정보에 기초하여 상기 비주얼 데이터의 제2 표현으로부터 적어도 하나의 샘플, 상기 비트스트림에 존재하지 않는 상기 적어도 하나의 샘플 값, 상기 제1 표현을 양자화하여 획득된 상기 제2 표현을 결정하는 단계;
상기 결정에 기초하여 상기 비트스트림을 생성하는 단계; 및
상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 포함하는, 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2022/079005 | 2022-03-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240161141A true KR20240161141A (ko) | 2024-11-12 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544606B2 (en) | Machine learning based video compression | |
US11895330B2 (en) | Neural network-based video compression with bit allocation | |
KR20240161141A (ko) | 비주얼 데이터 처리 방법, 장치 및 매체 | |
WO2023138687A1 (en) | Method, apparatus, and medium for data processing | |
WO2023165599A1 (en) | Method, apparatus, and medium for visual data processing | |
KR20240160607A (ko) | 비주얼 데이터 처리 방법, 장치 및 매체 | |
US20240380904A1 (en) | Method, apparatus, and medium for data processing | |
WO2023165601A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024083247A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024083248A1 (en) | Method, apparatus, and medium for visual data processing | |
KR20240160613A (ko) | 시각 데이터를 처리하는 방법, 장치 및 매체 | |
WO2024017173A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024193607A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024149395A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024222922A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2023165596A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2023138686A1 (en) | Method, apparatus, and medium for data processing | |
WO2024149394A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024083249A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024140849A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024083202A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024120499A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2023155848A1 (en) | Method, apparatus, and medium for data processing | |
WO2024169959A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024193710A1 (en) | Method, apparatus, and medium for visual data processing |