KR102632258B1 - 종단간 이미지 압축을 위한 피처 치환 방법 및 장치 - Google Patents
종단간 이미지 압축을 위한 피처 치환 방법 및 장치 Download PDFInfo
- Publication number
- KR102632258B1 KR102632258B1 KR1020227016367A KR20227016367A KR102632258B1 KR 102632258 B1 KR102632258 B1 KR 102632258B1 KR 1020227016367 A KR1020227016367 A KR 1020227016367A KR 20227016367 A KR20227016367 A KR 20227016367A KR 102632258 B1 KR102632258 B1 KR 102632258B1
- Authority
- KR
- South Korea
- Prior art keywords
- delete delete
- loss
- representation
- generated
- neural network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006835 compression Effects 0.000 title claims abstract description 33
- 238000007906 compression Methods 0.000 title claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 description 37
- 238000012360 testing method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/08—Learning methods
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
종단간 이미지 압축을 위한 피처 치환 방법은 적어도 하나의 프로세서에 의해 수행되며, 인코딩된 표현을 생성하기 위해 제1 신경망을 사용하여 입력 이미지를 인코딩하는 단계, 및 압축된 표현을 생성하기 위해 제2 신경망을 사용하여, 생성된 인코딩된 표현을 양자화하는 단계를 포함한다. 인코딩된 표현을 생성하는 프로세스는, 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하는 것, 및 결정된 레이트 손실에 기초하여, 생성된 인코딩된 표현을 업데이트하는 것에 의해 트레이닝된다.
Description
본 출원은, 2020년 5월 12일자로 출원된 미국 가특허출원 제63/023,694호, 2020년 5월 18일자로 출원된 미국 가특허출원 제63/026,409호, 및 2021년 4월 28일자로 출원된 미국 특허출원 제17/242,534호에 대한 우선권을 주장한다.
표준 그룹 및 회사는 향후의 비디오 코딩 기술의 표준화를 위한 잠재적인 요구를 적극적으로 찾고 있었다. 일부는 인공 지능(AI: artificial intelligence) 기반 종단간(E2E: end-to-end) 이미지 및 비디오 압축에 초점을 맞추었다.
종래 기술이 유망한 성능을 보여주었지만, E2E 이미지 압축의 다음의 두 가지 문제가 여전히 열려 있다. 첫째, 각각의 심층 신경망(DNN: deep neural network) 모델이 타깃 비트레이트로 트레이닝되는 비트레이트 제어를 달성하는 것은 어려울 수 있는데, 이는 다른 비트레이트로 이미지를 압축하기 위해 적용된다면 잘 작동하지 않을 수 있기 때문이다. 둘째, 각각의 DNN 모델은 일부 타깃 트레이닝 손실, 이를테면 피크 신호대 잡음비(PSNR: peak signal-to-noise ratio) 및/또는 구조적 유사성 인덱스 측정(SSIM: structural similarity index measure)을 최적화하도록 트레이닝될 수 있으며, 이는 다른 타깃 트레이닝 손실에 대해 잘 작동하지 않을 수 있다. 다시 말해서, 상이한 비트레이트로 또는 상이한 타깃 사용하여 입력 이미지를 압축하는 유연성을 제공하기 위해, 다수의 DNN 모델이 트레이닝, 저장 및 배치될 필요가 있을 수 있으며, 이는 저장 및 컴퓨팅 모두에서 너무 비용이 많이 들어 실용적이지 않을 수 있다.
실시예에 따르면, 종단간 이미지 압축을 위한 피처(feature) 치환 방법은 적어도 하나의 프로세서에 의해 수행되며, 인코딩된 표현을 생성하기 위해 제1 신경망을 사용하여 입력 이미지를 인코딩하는 단계, 및 압축된 표현을 생성하기 위해 제2 신경망을 사용하여, 생성된 인코딩된 표현을 양자화하는 단계를 포함한다. 제1 신경망 및 제2 신경망은 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하고, 결정된 레이트 손실에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝된다.
실시예에 따르면, 종단간 이미지 압축을 위한 피처 치환을 위한 장치는, 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리, 및 프로그램 코드를 판독하고 프로그램 코드에 의해 명령된 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함한다. 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 인코딩된 표현을 생성하기 위해 제1 신경망을 사용하여 입력 이미지를 인코딩하게 하도록 구성된 인코딩 코드, 및 적어도 하나의 프로세서로 하여금, 압축된 표현을 생성하기 위해 제2 신경망을 사용하여, 생성된 인코딩된 표현을 양자화하게 하도록 구성된 양자화 코드를 포함한다. 제1 신경망 및 제2 신경망은 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하고, 결정된 레이트 손실에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝된다.
실시예에 따르면, 비-일시적 컴퓨터 판독 가능 매체는, 종단간 이미지 압축을 위한 피처 치환을 위해 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금, 인코딩된 표현을 생성하기 위해 제1 신경망을 사용하여 입력 이미지를 인코딩하게 하고, 그리고 압축된 표현을 생성하기 위해 제2 신경망을 사용하여, 생성된 인코딩된 표현을 양자화하게 하는 명령을 저장한다. 제1 신경망 및 제2 신경망은 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하고, 결정된 레이트 손실에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝된다.
도 1은 실시예에 따라, 본 명세서에서 설명되는 방법, 장치 및 시스템이 구현될 수 있는 환경의 도면이다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다.
도 3a는 실시예에 따라, 트레이닝 스테이지 동안 종단간 이미지 압축을 위한 피처 치환을 위한 트레이닝 장치의 블록도이다.
도 3b는 실시예에 따라, 트레이닝 스테이지 동안 비트레이트 제약에 따른 종단간 이미지 압축을 위한 피처 치환을 위한 트레이닝 장치의 블록도이다.
도 4는 실시예에 따른, 테스트 스테이지 동안 종단간 이미지 압축을 위한 피처 치환을 위한 테스트 장치의 블록도이다.
도 5는 실시예에 따른, 종단간 이미지 압축을 위한 피처 치환 방법의 흐름도이다.
도 6은 실시예에 따른, 종단간 이미지 압축을 위한 피처 치환을 위한 장치의 블록도이다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다.
도 3a는 실시예에 따라, 트레이닝 스테이지 동안 종단간 이미지 압축을 위한 피처 치환을 위한 트레이닝 장치의 블록도이다.
도 3b는 실시예에 따라, 트레이닝 스테이지 동안 비트레이트 제약에 따른 종단간 이미지 압축을 위한 피처 치환을 위한 트레이닝 장치의 블록도이다.
도 4는 실시예에 따른, 테스트 스테이지 동안 종단간 이미지 압축을 위한 피처 치환을 위한 테스트 장치의 블록도이다.
도 5는 실시예에 따른, 종단간 이미지 압축을 위한 피처 치환 방법의 흐름도이다.
도 6은 실시예에 따른, 종단간 이미지 압축을 위한 피처 치환을 위한 장치의 블록도이다.
본 개시내용은 E2E DNN을 통해 치환 인코딩된 피처 표현을 학습함으로써 입력 이미지를 압축하기 위한 방법 및 장치를 설명한다. 학습된 치환 인코딩된 피처 표현은 원래 인코딩된 피처 표현의 변경이며, 개선된 압축 성능으로 이미지를 효과적으로 재구성할 뿐만 아니라 유연한 비트레이트 제어 및 압축 타깃 제어 능력을 제공하는 데 사용될 수 있다. 입력 이미지는 사용자에 의해 정의되는 원하는 비트레이트를 충족시킬 수 있다.
도 1은 실시예에 따라, 본 명세서에서 설명되는 방법, 장치 및 시스템이 구현될 수 있는 환경(100)의 도면이다.
도 1에 도시된 바와 같이, 환경(100)은 사용자 디바이스(110), 플랫폼(120) 및 네트워크(130)를 포함할 수 있다. 환경(100)의 디바이스는 유선 접속, 무선 접속, 또는 유선 접속과 무선 접속의 조합을 통해 상호 접속될 수 있다.
사용자 디바이스(110)는 플랫폼(120)과 연관된 정보를 수신, 생성, 저장, 프로세싱 및/또는 제공할 수 있는 하나 이상의 디바이스를 포함한다. 예를 들어, 사용자 디바이스(110)는 컴퓨팅 디바이스(예컨대, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트 스피커, 서버 등), 휴대 전화(예컨대, 스마트폰, 무선 전화 등), 웨어러블 디바이스(예컨대, 한 쌍의 스마트 안경 또는 스마트 워치), 또는 유사한 디바이스를 포함할 수 있다. 일부 구현에서, 사용자 디바이스(110)는 플랫폼(120)으로부터 정보를 수신하고 그리고/또는 플랫폼(120)에 정보를 전송할 수 있다.
플랫폼(120)은 본 명세서의 다른 곳에서 설명되는 것과 같은 하나 이상의 디바이스를 포함한다. 일부 구현에서, 플랫폼(120)은 클라우드 서버 또는 클라우드 서버의 그룹을 포함할 수 있다. 일부 구현에서, 플랫폼(120)은 소프트웨어 컴포넌트가 스왑(swap) 인 또는 아웃될 수 있도록 모듈식으로 설계될 수 있다. 이에 따라, 플랫폼(120)은 상이한 사용을 위해 용이하게 그리고/또는 신속하게 재구성될 수 있다.
일부 구현에서, 도시된 바와 같이, 플랫폼(120)은 클라우드 컴퓨팅 환경(122)에서 호스팅될 수 있다. 특히, 본 명세서에서 설명되는 구현은 플랫폼(120)이 클라우드 컴퓨팅 환경(122)에서 호스팅되는 것으로 설명하지만, 일부 구현에서, 플랫폼(120)은 클라우드 기반이 아닐 수 있거나(즉, 클라우드 컴퓨팅 환경 외부에서 구현될 수 있거나) 부분적으로 클라우드 기반일 수 있다.
클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 환경을 포함한다. 클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 디바이스(들) 및/또는 시스템(들)의 물리적 위치 및 구성에 대한 최종 사용자(예컨대, 사용자 디바이스(110)) 지식을 요구하지 않는 컴퓨팅, 소프트웨어, 데이터 액세스, 저장 등의 서비스를 제공할 수 있다. 도시된 바와 같이, 클라우드 컴퓨팅 환경(122)은 (총괄하여 "컴퓨팅 자원들(124)"로 그리고 개별적으로 "컴퓨팅 자원(124)"으로 지칭되는) 컴퓨팅 자원(124)의 그룹을 포함할 수 있다.
컴퓨팅 자원(124)은 하나 이상의 개인용 컴퓨터, 워크스테이션 컴퓨터, 서버 디바이스, 또는 다른 타입의 컴퓨팅 및/또는 통신 디바이스를 포함한다. 일부 구현에서, 컴퓨팅 자원(124)은 플랫폼(120)을 호스팅할 수 있다. 클라우드 자원은 컴퓨팅 자원(124)에서 실행되는 컴퓨팅 인스턴스, 컴퓨팅 자원(124)에서 제공되는 저장 디바이스, 컴퓨팅 자원(124)에 의해 제공되는 데이터 전송 디바이스 등을 포함할 수 있다. 일부 구현에서, 컴퓨팅 자원(124)은 유선 접속, 무선 접속, 또는 유선 접속과 무선 접속의 조합을 통해 다른 컴퓨팅 자원(124)과 통신할 수 있다.
도 1에 추가로 도시된 바와 같이, 컴퓨팅 자원(124)은 하나 이상의 애플리케이션(application)("APP")(124-1), 하나 이상의 가상 머신(virtual machine)("VM")(124-2), 가상화된 저장소(virtualized storage)("VS")(124-3), 하나 이상의 하이퍼바이저("HYP")(124-4) 등과 같은 클라우드 자원의 그룹을 포함한다.
애플리케이션(124-1)은 사용자 디바이스(110) 및/또는 플랫폼(120)에 제공되거나 이들에 의해 액세스될 수 있는 하나 이상의 소프트웨어 애플리케이션을 포함한다. 애플리케이션(124-1)은 사용자 디바이스(110) 상에 소프트웨어 애플리케이션을 설치 및 실행할 필요성을 제거할 수 있다. 예를 들어, 애플리케이션(124-1)은 플랫폼(120)과 연관된 소프트웨어 및/또는 클라우드 컴퓨팅 환경(122)을 통해 제공될 수 있는 임의의 다른 소프트웨어를 포함할 수 있다. 일부 구현에서, 하나의 애플리케이션(124-1)은 가상 머신(124-2)을 통해 하나 이상의 다른 애플리케이션(124-1)으로/으로부터 정보를 송신/수신할 수 있다.
가상 머신(124-2)은 물리적 머신과 같은 프로그램을 실행하는 머신(예컨대, 컴퓨터)의 소프트웨어 구현을 포함한다. 가상 머신(124-2)은 가상 머신(124-2)에 의한 임의의 실제 머신에 대한 대응 정도 및 사용에 따라, 시스템 가상 머신 또는 프로세스 가상 머신일 수 있다. 시스템 가상 머신은 완전한 운영 체제(operating system)("OS")의 실행을 지원하는 완전한 시스템 플랫폼을 제공할 수 있다. 프로세스 가상 머신은 단일 프로그램을 실행할 수 있고, 단일 프로세스를 지원할 수 있다. 일부 구현에서, 가상 머신(124-2)은 사용자(예컨대, 사용자 디바이스(110))를 대신하여 실행될 수 있고, 클라우드 컴퓨팅 환경(122)의 인프라 구조, 이를테면 데이터 관리, 동기화 또는 장기 데이터 전송을 관리할 수 있다.
가상화된 저장소(124-3)는 컴퓨팅 자원(124)의 저장 시스템 또는 디바이스 내에서 가상화 기법을 사용하는 하나 이상의 저장 시스템 및/또는 하나 이상의 디바이스를 포함한다. 일부 구현에서, 저장 시스템의 컨텍스트 내에서, 가상화의 타입은 블록 가상화 및 파일 가상화를 포함할 수 있다. 블록 가상화는 물리적 저장소 또는 이종 구조에 관계없이 저장 시스템이 액세스될 수 있도록 물리적 저장소로부터의 논리적 저장소의 추상화(또는 분리)를 의미할 수 있다. 분리는, 저장 시스템의 관리자가 최종 사용자를 위한 저장소를 어떻게 관리하는지에 있어 관리자의 유연성을 허용할 수 있다. 파일 가상화는 파일 레벨에서 액세스되는 데이터와 파일이 물리적으로 저장되는 위치 사이의 의존성을 제거할 수 있다. 이는 저장소 사용, 서버 통합, 및/또는 비파괴적 파일 마이그레이션(migration)의 성능의 최적화를 가능하게 할 수 있다.
하이퍼바이저(124-4)는 다수의 운영 체제(예컨대, "게스트 운영 체제")가 컴퓨팅 자원(124)과 같은 호스트 컴퓨터 상에서 동시에 실행될 수 있게 하는 하드웨어 가상화 기법을 제공할 수 있다. 하이퍼바이저(124-4)는 게스트 운영 체제에 가상 운영 플랫폼을 제시할 수 있고, 게스트 운영 체제의 실행을 관리할 수 있다. 다양한 운영 체제의 다수의 인스턴스는 가상화된 하드웨어 자원을 공유할 수 있다.
네트워크(130)는 하나 이상의 유선 및/또는 무선 네트워크를 포함한다. 예를 들어, 네트워크(130)는 셀룰러 네트워크(예컨대, 5세대(5G: fifth generation) 네트워크, 롱 텀 에볼루션(LTE: long-term evolution) 네트워크, 3세대(3G: third generation) 네트워크, 코드 분할 다중 액세스(CDMA: code division multiple access) 네트워크 등), 공중 육상 모바일 네트워크(PLMN: public land mobile network), 근거리 네트워크(LAN: local area network), 광역 네트워크(WAN: wide area network), 도시권 네트워크(MAN: metropolitan area network), 전화 네트워크(예컨대, 공중 전화 교환 네트워크(PSTN: Public Switched Telephone Network)), 사설 네트워크, 애드 혹 네트워크, 인트라넷, 인터넷, 광섬유 기반 네트워크 등, 및/또는 이들 또는 다른 타입의 네트워크의 조합을 포함할 수 있다.
도 1에 도시된 디바이스 및 네트워크의 수 및 배열은 일례로 제공된다. 실제로, 도 1에 도시된 것보다 추가 디바이스 및/또는 네트워크, 더 적은 디바이스 및/또는 네트워크, 상이한 디바이스 및/또는 네트워크, 또는 상이하게 배열된 디바이스 및/또는 네트워크가 존재할 수 있다. 더욱이, 도 1에 도시된 2개 이상의 디바이스가 단일 디바이스 내에 구현될 수 있거나, 도 1에 도시된 단일 디바이스가 다수의 분산형 디바이스로서 구현될 수 있다. 추가로 또는 대안으로, 환경(100)의 한 세트의 디바이스(예컨대, 하나 이상의 디바이스)가 환경(100)의 다른 세트의 디바이스에 의해 수행되는 것으로 설명되는 하나 이상의 기능을 수행할 수 있다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다.
디바이스(200)는 사용자 디바이스(110) 및/또는 플랫폼(120)에 대응할 수 있다. 도 2에 도시된 바와 같이, 디바이스(200)는 버스(210), 프로세서(220), 메모리(230), 저장 컴포넌트(240), 입력 컴포넌트(250), 출력 컴포넌트(260) 및 통신 인터페이스(270)를 포함할 수 있다.
버스(210)는 디바이스(200)의 컴포넌트 사이의 통신을 허용하는 컴포넌트를 포함한다. 프로세서(220)는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 프로세서(220)는 중앙 프로세싱 유닛(CPU: central processing unit), 그래픽 프로세싱 유닛(GPU: graphics processing unit), 가속 프로세싱 유닛(APU: accelerated processing unit), 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(DSP: digital signal processor), 필드 프로그래밍 가능 게이트 어레이(FPGA: field-programmable gate array), 주문형 집적 회로(ASIC; application-specific integrated circuit), 또는 다른 타입의 프로세싱 컴포넌트이다. 일부 구현에서, 프로세서(220)는 기능을 수행하도록 프로그래밍될 수 있는 하나 이상의 프로세서를 포함한다. 메모리(230)는 랜덤 액세스 메모리(RAM: random access memory), 판독 전용 메모리(ROM: read only memory), 및/또는 프로세서(220)에 의한 사용을 위한 정보 및/또는 명령을 저장하는 다른 타입의 동적 또는 정적 저장 디바이스(예컨대, 플래시 메모리, 자기 메모리 및/또는 광학 메모리)를 포함한다.
저장 컴포넌트(240)는 디바이스(200)의 동작 및 사용과 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 저장 컴포넌트(240)는 하드 디스크(예컨대, 자기 디스크, 광 디스크, 광 자기 디스크, 및/또는 솔리드 스테이트 디스크), 콤팩트 디스크(CD: compact disc), 디지털 다목적 디스크(DVD: digital Versatile disc), 플로피 디스크, 카트리지, 자기 테이프, 및/또는 다른 타입의 비-일시적 컴퓨터 판독 가능 매체를 대응하는 드라이브와 함께 포함할 수 있다.
입력 컴포넌트(250)는 이를테면, 사용자 입력(예컨대, 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치 및/또는 마이크로폰)을 통해 디바이스(200)가 정보를 수신할 수 있게 하는 컴포넌트를 포함한다. 추가로 또는 대안으로, 입력 컴포넌트(250)는 정보를 감지하기 위한 센서(예컨대, 글로벌 포지셔닝 시스템(GPS: global positioning system) 컴포넌트, 가속도계, 자이로스코프 및/또는 액추에이터)를 포함할 수 있다. 출력 컴포넌트(260)는 디바이스(200)로부터의 출력 정보를 제공하는 컴포넌트(예컨대, 디스플레이, 스피커 및/또는 하나 이상의 발광 다이오드(LED: light-emitting diode))를 포함한다.
통신 인터페이스(270)는, 디바이스(200)가 이를테면, 유선 접속, 무선 접속, 또는 유선 접속과 무선 접속의 조합을 통해 다른 디바이스와 통신할 수 있게 하는 트랜시버형 컴포넌트(예컨대, 트랜시버 및/또는 개별 수신기 및 전송기)를 포함한다. 통신 인터페이스(270)는 디바이스(200)가 다른 디바이스로부터 정보를 수신하고 그리고/또는 다른 디바이스에 정보를 제공하도록 허용할 수 있다. 예를 들어, 통신 인터페이스(270)는 이더넷 인터페이스, 광학 인터페이스, 동축 인터페이스, 적외선 인터페이스, 무선 주파수(RF: radio frequency) 인터페이스, 범용 직렬 버스(USB: universal serial bus) 인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함할 수 있다.
디바이스(200)는 본 명세서에서 설명되는 하나 이상의 프로세스를 수행할 수 있다. 디바이스(200)는 프로세서(220)가 메모리(230) 및/또는 저장 컴포넌트(240)와 같은 비-일시적 컴퓨터 판독 가능 매체에 의해 저장된 소프트웨어 명령을 실행하는 것에 대한 응답으로 이러한 프로세스를 수행할 수 있다. 컴퓨터 판독 가능 매체는 본 명세서에서 비-일시적 메모리 디바이스로서 정의된다. 메모리 디바이스는 단일 물리적 저장 디바이스 내의 메모리 공간 또는 다수의 물리적 저장 디바이스에 걸쳐 확산된 메모리 공간을 포함한다.
소프트웨어 명령은 통신 인터페이스(270)를 통해 다른 컴퓨터 판독 가능 매체로부터 또는 다른 디바이스로부터 메모리(230) 및/또는 저장 컴포넌트(240)로 판독될 수 있다. 실행될 때, 메모리(230) 및/또는 저장 컴포넌트(240)에 저장된 소프트웨어 명령은 프로세서(220)로 하여금 본 명세서에서 설명되는 하나 이상의 프로세스를 수행하게 할 수 있다. 추가로 또는 대안으로, 본 명세서에서 설명되는 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령 대신에 또는 소프트웨어 명령과 조합하여, 하드와이어드(hardwired) 회로가 사용될 수 있다. 따라서 본 명세서에서 설명되는 구현은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
도 2에 도시된 컴포넌트의 수와 배열은 일례로 제공된다. 실제로, 디바이스(200)는 추가 컴포넌트, 더 적은 컴포넌트, 상이한 컴포넌트, 또는 도 2에 도시된 것과는 상이하게 배열된 컴포넌트를 포함할 수 있다. 추가로 또는 대안으로, 디바이스(200)의 한 세트의 컴포넌트(예컨대, 하나 이상의 컴포넌트)가 디바이스(200)의 다른 세트의 컴포넌트에 의해 수행되는 것으로 설명되는 하나 이상의 기능을 수행할 수 있다.
이제, 종단간 이미지 압축을 위한 피처 치환을 위한 방법 및 장치가 상세히 설명될 것이다.
본 개시내용은 치환 인코딩된 피처 표현을 학습함으로써 E2E 이미지 압축을 설명한다.
크기(h, w, c)의 입력 이미지(x)가 주어지면― 여기서 h, w, c는 각각 높이, 폭 및 채널의 수임 ―, E2E 이미지 압축의 타깃은 다음과 같이 설명되는데, 여기서 저장 및 전송을 위해 콤팩트한 압축된(양자화된) 표현(y')이 컴퓨팅된다. 이어서, 컴퓨팅된 압축된 표현(y')에 기초하여, 재구성된 이미지(x') 및 원래의 입력 이미지(x)가 유사할 수 있도록 출력 이미지(x')가 재구성된다. 손실 함수 D(x, x')가 재구성 에러, 즉 PSNR 및/또는 SSIM과 같은 왜곡 손실을 측정하는 데 사용된다. 실시예에서, 압축된 표현(y')을 컴퓨팅하는 DNN은 두 부분: 입력 이미지(x)에 기반하여 인코딩된 표현(y)을 생성하는 인코더, 및 인코딩된 표현(y)에 기반하여 압축된 표현(y')을 생성하는 양자화기를 가질 수 있다. 출력 이미지(x')를 재구성하는 DNN은 디코더이다.
입력 이미지(x)가 주어지면, 장치는 먼저 트레이닝 스테이지를 거쳐 치환 인코딩된 피처 표현()을 학습하며, 이어서 이는 테스트 스테이지에서 압축된(양자화된) 표현() 및 재구성된 이미지()를 생성하는 데 사용된다.
도 3a는 실시예에 따라, 트레이닝 스테이지 동안 종단간 이미지 압축을 위한 피처 치환을 위한 트레이닝 장치(300A)의 블록도이다.
도 3a에 도시된 바와 같이, 트레이닝 장치(300A)는 트레이닝 인코더(310), 트레이닝 양자화기(320), 트레이닝 디코더(330), 왜곡 손실 컴포넌트(340), 레이트 손실 컴포넌트(350) 및 데이터 업데이트 컴포넌트(360)를 포함한다.
각각의 입력 이미지(x)에 대해, 트레이닝 인코더(310), 트레이닝 양자화기(320) 및 트레이닝 디코더(330)는 DNN이며, 이들의 모델 가중치는 미리 결정된 인코더, 미리 결정된 양자화기 및 미리 결정된 디코더에 각각 기초하여 초기화되거나 설정된다. 그 다음, 업데이트된 치환 인코딩된 피처 표현()을 계산하기 위해 재트레이닝/미세 튜닝 프로세스가 수행된다. 트레이닝 양자화기(320)는 컴퓨팅된 치환 인코딩된 피처 표현()에 기초하여 새로운 압축된(양자화된) 표현()을 생성하고, 트레이닝 디코더(330)는 생성된 새로운 압축된 표현()에 기초하여 새로운 재구성된 이미지()를 생성한다. 재트레이닝/미세 튜닝 프로세스의 타깃은 다음의 두 부분을 포함하는 전체 손실 를 최적화(최소화)하는 것이다:
왜곡 손실 컴포넌트(340)는 재구성 에러를 측정하는 동일한 왜곡 손실 를 결정한다. 레이트 손실 컴포넌트(350)는 압축된 표현(.)의 비트레이트와 관련된 레이트 손실 R()를 결정한다. 엔트로피 추정 접근법이 사용될 수 있으며, 여기서는 미리 결정된 레이트 손실 추정기가 레이트 손실 R()를 컴퓨팅하는 데 사용된다. 하이퍼 파라미터(hyperparameter)(λ)가 상이한 손실 항의 기여(contribution)를 밸런싱한다. 데이터 업데이트 컴포넌트(360)는 결정된 왜곡 손실 , 결정된 레이트 손실 R() 및 입력 하이퍼 파라미터(λ)에 기초하여 전체 손실 를 결정한다.
미리 결정된 인코더, 미리 결정된 양자화기, 미리 결정된 디코더 및 미리 결정된 레이트 손실 추정기의 가중치가 한 세트의 트레이닝 이미지에 기반하여 사전 트레이닝된다. 상세하게는, 각각의 트레이닝 이미지(x tr)에 대해, 인코딩, 양자화 및 디코딩을 통해 동일한 순방향 추론 컴퓨팅이 수행되어, 재구성된 이미지(x tr')를 컴퓨팅한다. 이어서, 왜곡 손실 D(x tr,x tr') 및 레이트 손실 R(x tr)이 컴퓨팅된다. 그런 다음, 사전 트레이닝된 하이퍼 파라미터(λtr)가 주어지면, 식(1)에 기반하여 전체 손실 L(x tr,x tr')이 컴퓨팅될 수 있으며, 그 변화도가 사전 트레이닝된 인코더, 사전 트레이닝된 양자화기, 사전 트레이닝된 디코더 및 사전 트레이닝된 레이트 손실 추정기의 가중치를 역전파를 통해 업데이트하는 데 사용된다.
트레이닝 스테이지 동안, 각각의 입력 이미지(x)에 대해, 재트레이닝/미세 튜닝 프로세스에서, 트레이닝 인코더(310), 트레이닝 양자화기(320), 트레이닝 디코더(330) 및 레이트 손실 추정기가 초기화되고, 트레이닝 인코더(310)는 초기 인코딩된 표현(y 0)을 인코딩된 표현(y)이 되도록 초기화한다. 그 후, t번째 반복에 대해, 트레이닝 양자화기(320)는 압축된(양자화된) 표현(y t')을 컴퓨팅하고, 트레이닝 디코더(330)는 양자화된 표현(y t)에 기초하여, 재구성된 이미지(x t')를 컴퓨팅한다. 왜곡 손실 컴포넌트(340)는 왜곡 손실 D(x,x t') 및 레이트 손실 R(y t')를 컴퓨팅한다. 그런 다음, 데이터 업데이트 컴포넌트(360)는 조인트 손실 L(x,y t',x t')의 변화도를 컴퓨팅하여 역전파를 통해 치환 인코딩된 피처 표현(y t+1)을 업데이트한다. 마지막으로, T회의 반복 후에, 최적의 치환 인코딩된 피처 표현 =y T가 출력된다.
추가로, 본 개시내용은 비트레이트 제약에 따라 치환 인코딩된 피처 표현을 학습함으로써 E2E 이미지 압축 방법을 설명한다.
압축된 표현(y')의 비트레이트는 B(y')로 표기된다. 큰 비트레이트 B(y')는 재구성된 이미지(x')의 작은 왜곡을 야기할 수 있는 한편, 작은 비트레이트 B(y')는 재구성된 이미지(x')의 큰 왜곡을 야기할 수 있다. R(y')는 비트레이트 B(y')에 관련된 레이트 손실을 표기한다. 타깃 레이트 손실(Rtarget)과 연관된 타깃 비트레이트(Btarget)가 주어지면, 압축된 표현(y')은 비트레이트 B(y')를 가능한 한 타깃 비트레이트(Btarget)에 근접하게 하는 것이다. 따라서 전체 손실은 다음과 같이 정의될 수 있다:
L(R(y'),Rtarget)은 레이트 손실 R(y')와 타깃 레이트 손실(Rtarget) 간의 차이의 손실을 측정하고, η는 상이한 손실 항의 기여를 밸런싱하는 하이퍼 파라미터이다. 하이퍼 파라미터(η)는 실제 비트레이트가 가능한 한 타깃 비트레이트에 근접함을 보장하도록 큰 수로서 경험적으로 설정될 수 있다. 또한, 레이트 손실 R(y')와 타깃 레이트 손실(Rtarget) 간의 차이의 손실은 다음과 같이 설정될 수 있다:
는 하이퍼 파라미터이며, 이는 매우 작은 수일 수 있다.
도 3b는 실시예에 따라, 트레이닝 스테이지 동안 비트레이트 제약에 따른 종단간 이미지 압축을 위한 피처 치환을 위한 트레이닝 장치(300B)의 블록도이다.
도 3b에 도시된 바와 같이, 트레이닝 장치(300B)는 트레이닝 인코더(310), 트레이닝 양자화기(320), 트레이닝 디코더(330), 왜곡 손실 컴포넌트(340), 레이트 손실 컴포넌트(350) 및 데이터 업데이트 컴포넌트(370)를 포함한다.
입력 이미지(x) 및 타깃 비트레이트(Btarget)가 주어지면, 트레이닝 스테이지에서, 트레이닝 인코더(310)는 치환 인코딩된 피처 표현()을 학습하며, 이어서 이는 테스트 스테이지에서 압축된 표현() 및 재구성된 이미지()를 생성하는 데 사용된다. 상세하게는, 각각의 입력 이미지(x)에 대해, 트레이닝 인코더(310), 트레이닝 양자화기(320) 및 트레이닝 디코더(330)의 모델 가중치가 미리 결정된 인코더, 미리 결정된 양자화기 및 미리 결정된 디코더에 각각 기초하여 초기화되거나 설정된다. 그 다음, 데이터 업데이트 컴포넌트(370)가 업데이트된 치환 인코딩된 피처 표현()을 컴퓨팅하는 재트레이닝/미세 튜닝 프로세스가 수행된다. 트레이닝 양자화기(320)는 컴퓨팅된 치환 인코딩된 피처 표현()에 기초하여 새로운 압축된(양자화된) 표현()을 생성하고, 트레이닝 디코더(330)는 생성된 새로운 압축된 표현()에 기초하여 새로운 재구성된 이미지()를 생성한다. 재트레이닝/미세 튜닝 프로세스의 타깃은 전체 손실 를 최적화하는 것이다:
엔트로피 추정 접근법이 사용될 수 있으며, 여기서는 미리 결정된 레이트 손실 추정기가 레이트 손실 R()를 컴퓨팅하는 데 사용된다.
미리 결정된 인코더, 미리 결정된 양자화기, 미리 결정된 디코더 및 미리 결정된 레이트 손실 추정기의 가중치가 한 세트의 트레이닝 이미지에 기반하여 사전 트레이닝된다. 상세하게는, 각각의 트레이닝 이미지(x tr)에 대해, 인코딩, 양자화 및 디코딩을 통해 동일한 순방향 추론 컴퓨팅이 수행되어, 재구성된 이미지(x tr')를 컴퓨팅한다. 이어서, 왜곡 손실 D(x tr,x tr') 및 레이트 손실 R(y tr')이 컴퓨팅된다. 그런 다음, 사전 트레이닝된 하이퍼 파라미터(λtr)가 주어지면, 전체 손실 Ltr(x tr,y tr',x tr')이 컴퓨팅될 수 있으며:
그 변화도가 사전 트레이닝된 인코더, 사전 트레이닝된 양자화기, 사전 트레이닝된 디코더 및 사전 트레이닝된 레이트 손실 추정기의 가중치를 역전파를 통해 업데이트하는 데 사용된다. R(y tr')은 레이트 손실이고, D(x tr,x tr')은 왜곡 손실이며, 이들은 위의 단락과 동일한 방식으로 정의된다.
도 4는 실시예에 따른, 테스트 스테이지 동안 종단간 이미지 압축을 위한 피처 치환을 위한 테스트 장치(400)의 블록도이다.
도 4에 도시된 바와 같이, 테스트 장치(400)는 테스트 인코더(410), 테스트 양자화기(420) 및 테스트 디코더(430)를 포함한다.
테스트 스테이지에서, 학습된 치환 인코딩된 피처 표현()을 입력으로서 사용하여, 테스트 양자화기(420) 및 테스트 디코더(430)가 초기화된다. 테스트 양자화기(420)는 압축된(양자화된) 표현()을 컴퓨팅하고, 테스트 디코더(430)는 재구성된 이미지()를 순방향 추론 컴퓨팅을 통해 컴퓨팅한다.
테스트 양자화기(420) 및 테스트 디코더(430)는 이들의 대응 트레이닝 양자화기 및 트레이닝 디코더와 각각 동일할 수 있다. 이들은 또한 상이할 수 있다. 실시예에서, 테스트 디코더(430)는 트레이닝 디코더와 동일하지만, 트레이닝 양자화기와 테스트 양자화기(420)는 상이하다. 상세하게는, 테스트 양자화기(420)는 일반적인 균일한 양자화 접근법을 취할 수 있는 한편, 트레이닝 양자화기는 테스트 양자화기(420)의 효과를 근사화하는 균일한 샘플러일 수 있으며, 이는 이산 수를 사용하는 변화도 역전파의 어려움을 피한다.
위의 실시예는 비트레이트 제어 및 타깃 메트릭 제어에서 큰 유연성을 제공한다. 타깃이 된 비트레이트가 변경되면, 사전 트레이닝된 인코더, 사전 트레이닝된 양자화기 및 사전 트레이닝된 디코더를 재트레이닝/미세 튜닝하지 않고서, 하이퍼 파라미터(λ)만이 변경될 필요가 있을 수 있다. 유사하게, 상이한 타깃 메트릭에 대해 최적인(예컨대, 최적의 PSNR 및/또는 최적의 SSIM을 갖는) 압축된 이미지가 획득되어야 할 때, 사전 트레이닝된 E2E 이미지 압축 네트워크를 재트레이닝/미세 튜닝하지 않고서, 왜곡 손실을 컴퓨팅하는 방식만이 변경될 수 있다.
도 5는 실시예에 따른, 종단간 이미지 압축을 위한 피처 치환 방법의 흐름도이다.
일부 구현에서, 도 5의 하나 이상의 프로세스 블록이 플랫폼(120)에 의해 수행될 수 있다. 일부 구현에서, 도 5의 하나 이상의 프로세스 블록은 다른 디바이스 또는 플랫폼(120)과 별개인 또는 플랫폼(120)을 포함하는 디바이스의 그룹, 이를테면 사용자 디바이스(110)에 의해 수행될 수 있다.
도 5에 도시된 바와 같이, 동작(510)에서, 이 방법(500)은 인코딩된 표현을 생성하기 위해 제1 신경망을 사용하여 입력 이미지를 인코딩하는 단계를 포함한다.
동작(520)에서, 이 방법(500)은 압축된 표현을 생성하기 위해 제2 신경망을 사용하여, 생성된 인코딩된 표현을 양자화하는 단계를 포함한다.
제1 신경망 및 제2 신경망은 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하고, 결정된 레이트 손실에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝된다.
동작(530)에서, 이 방법(500)은 출력 이미지를 생성하기 위해 제3 신경망을 사용하여, 생성된 압축된 표현을 디코딩하는 단계를 포함한다.
제1 신경망, 제2 신경망 및 제3 신경망은, 입력 이미지와 생성된 출력 이미지 사이의 재구성 에러에 대응하는 왜곡 손실을 결정하고, 결정된 왜곡 손실, 결정된 레이트 손실 및 입력 하이퍼 파라미터에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝될 수 있다.
생성된 인코딩된 표현을 업데이트하는 것은 식(1)에 기초하여 전체 손실을 최적화하는 것을 포함할 수 있다.
제1 신경망, 제2 신경망 및 제3 신경망은, 결정된 레이트 손실과 타깃 레이트 손실 간의 차이와 미리 결정된 하이퍼 파라미터 사이의 최소값을 결정하고, 입력 이미지와 생성된 출력 이미지 사이의 재구성 에러에 대응하는 왜곡 손실을 결정하고, 결정된 최소값, 결정된 레이트 손실 및 입력 하이퍼 파라미터에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝될 수 있다.
생성된 인코딩된 표현을 업데이트하는 것은 식(4)에 기초하여 전체 손실을 최적화하는 것을 포함할 수 있다.
재구성 에러는 PSNR 및/또는 SSIM을 포함할 수 있다.
도 5는 방법(500)의 예시적인 블록을 도시하지만, 일부 구현에서, 이 방법(500)은 도 5에 도시된 블록과는 다른 블록이나, 다르게 배열된 블록이나, 더 적은 블록 또는 추가 블록을 포함할 수 있다. 추가로 또는 대안으로, 이 방법(500)의 블록 중 2개 이상은 병렬로 수행될 수 있다.
도 6은 실시예에 따른, 종단간 이미지 압축을 위한 피처 치환을 위한 장치(600)의 블록도이다.
도 6에 도시된 바와 같이, 이 장치(600)는 인코딩 코드(610), 양자화 코드(620) 및 디코딩 코드(630)를 포함한다.
인코딩 코드(610)는 적어도 하나의 프로세서로 하여금, 인코딩된 표현을 생성하기 위해 제1 신경망을 사용하여 입력 이미지를 인코딩하게 하도록 구성된다.
양자화 코드(620)는 적어도 하나의 프로세서로 하여금, 압축된 표현을 생성하기 위해 제2 신경망을 사용하여, 생성된 인코딩된 표현을 양자화하게 하도록 구성된다.
제1 신경망 및 제2 신경망은 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하고, 결정된 레이트 손실에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝된다.
디코딩 코드(630)는 적어도 하나의 프로세서로 하여금, 출력 이미지를 생성하기 위해 제3 신경망을 사용하여, 생성된 압축된 표현을 디코딩하게 하도록 구성된다.
제1 신경망, 제2 신경망 및 제3 신경망은, 입력 이미지와 생성된 출력 이미지 사이의 재구성 에러에 대응하는 왜곡 손실을 결정하고, 결정된 왜곡 손실, 결정된 레이트 손실 및 입력 하이퍼 파라미터에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝될 수 있다.
생성된 인코딩된 표현은 식(1)에 기초하여 전체 손실을 최적화함으로써 업데이트될 수 있다.
제1 신경망, 제2 신경망 및 제3 신경망은, 결정된 레이트 손실과 타깃 레이트 손실 간의 차이와 미리 결정된 하이퍼 파라미터 사이의 최소값을 결정하고, 입력 이미지와 생성된 출력 이미지 사이의 재구성 에러에 대응하는 왜곡 손실을 결정하고, 결정된 최소값, 결정된 레이트 손실 및 입력 하이퍼 파라미터에 기초하여, 생성된 인코딩된 표현을 업데이트함으로써 트레이닝될 수 있다.
생성된 인코딩된 표현은 식(4)에 기초하여 전체 손실을 최적화함으로써 업데이트될 수 있다.
재구성 에러는 PSNR 및/또는 SSIM을 포함할 수 있다.
이전의 E2E 이미지 압축 방법과 비교하여, 위의 실시예는 다음과 같은 이점을 갖는다. 위의 실시예는 임의의 E2E 이미지 압축 DNN 모델에 탑재될 수 있는 일반적인 사전 프로세스로서 취급될 수 있다. 또한, 각각의 개별 입력 이미지에 대해, 그 이미지의 치환 인코딩된 피처 표현은 그 손실의 피드백에 기반하여 개별 재트레이닝/미세 튜닝 프로세스를 통해 최적화될 수 있으며, 이는 압축 성능을 향상시킬 수 있다.
추가로, 위의 실시예는 E2E 이미지 압축 모델을 재트레이닝하지 않고 또는 다수의 모델을 사용하지 않고 유연한 비트레이트 제어를 달성할 수 있다. 위의 실시예는 E2E 이미지 압축 모델을 재트레이닝하지 않고도 타깃 압축 메트릭을 쉽게 변경할 수 있다.
제안된 방법은 개별적으로 사용될 수 있거나 임의의 순서로 조합될 수 있다. 추가로, 방법(또는 실시예), 인코더 및 디코더 각각은 프로세싱 회로(예컨대, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일례로, 하나 이상의 프로세서는 비-일시적 컴퓨터 판독 가능 매체에 저장된 프로그램을 실행한다.
상기한 개시내용은 예시 및 설명을 제공하지만, 구현을 개시된 바로 그 형태로 제한하거나 총망라하는 것으로 의도되는 것은 아니다. 수정 및 변형이 상기 개시내용에 비추어 가능하거나 구현의 실시로부터 얻어질 수 있다.
본 명세서에서 사용되는 바와 같이, 컴포넌트라는 용어는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 광범위하게 해석되는 것으로 의도된다.
본 명세서에서 설명되는 시스템 및/또는 방법은 서로 다른 형태의 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있음이 명백할 것이다. 이러한 시스템 및/또는 방법을 구현하는 데 사용되는 실제 특수 제어 하드웨어 또는 소프트웨어 코드는 구현의 제한이 아니다. 따라서 시스템 및/또는 방법의 동작 및 거동은 본 명세서에서 특정 소프트웨어 코드에 대한 언급 없이 설명되었다 ― 소프트웨어 및 하드웨어는 본 명세서의 설명에 기초하여 시스템 및/또는 방법을 구현하도록 설계될 수 있다고 이해된다.
특징의 조합이 청구항에서 언급되고 그리고/또는 명세서에 개시되지만, 이러한 조합은 가능한 구현의 개시내용을 제한하는 것으로 의도되는 것이 아니다. 실제로, 이러한 특징 중 다수는 청구항에서 구체적으로 언급되지 않고 그리고/또는 명세서에 개시되지 않은 방식으로 조합될 수 있다. 아래에 열거된 각각의 종속 청구항은 단지 하나의 청구항에만 직접적으로 의존할 수 있지만, 가능한 구현의 개시내용은 각각의 종속 청구항을 청구항 세트의 다른 모든 각각의 청구항과 조합하여 포함한다.
본 명세서에서 사용되는 어떠한 엘리먼트, 동작 또는 명령도 중요하거나 필수적인 것으로 명시적으로 기술되지 않는 한, 그와 같이 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 바와 같이, 단수 표현은 하나 이상의 항목을 포함하는 것으로 의도되고, "하나 이상"과 상호 교환 가능하게 사용될 수 있다. 더욱이, 본 명세서에서 사용되는 바와 같이, "세트"라는 용어는 하나 이상의 항목(예컨대, 관련 항목, 관련되지 않은 항목, 관련 항목과 관련되지 않은 항목의 조합 등)을 포함하는 것으로 의도되고, "하나 이상"과 상호 교환 가능하게 사용될 수 있다. 단 하나의 항목만이 의도된다면, "하나"라는 용어 또는 유사한 언어가 사용된다. 또한, 본 명세서에서 사용되는 바와 같이, "갖는다" 등의 용어는 제한을 두지 않는 용어인 것으로 의도된다. 또한, "~에 기초하여"라는 문구는 달리 명시적으로 언급되지 않는 한 "~에 적어도 부분적으로 기초하여"를 의미하는 것으로 의도된다.
Claims (20)
- 종단간(end-to-end) 이미지 압축을 위한 피처(feature) 치환 방법으로서,
인코딩된 표현(representation)을 생성하기 위해, 제1 신경망을 사용하여 입력 이미지를 인코딩하는 단계;
압축된 표현을 생성하기 위해, 제2 신경망을 사용하여, 상기 생성된 인코딩된 표현을 양자화하는 단계; 및
출력 이미지를 생성하기 위해, 제3 신경망을 사용하여, 상기 생성된 압축된 표현을 디코딩하는 단계
를 포함하며,
상기 인코딩된 표현을 생성하는 프로세스는,
상기 생성된 압축된 표현의 비트레이트에 기초하여 레이트 손실을 결정하는 것;
상기 결정된 레이트 손실과 타깃 레이트 손실 간의 차이와, 미리 결정된 하이퍼 파라미터 사이의 최소값을 결정하는 것;
상기 입력 이미지와 상기 생성된 출력 이미지 사이의 재구성 에러에 대응하는 왜곡 손실을 결정하는 것; 및
상기 결정된 최소값, 상기 결정된 왜곡 손실 및 입력 하이퍼 파라미터에 기초하여 상기 생성된 인코딩된 표현을 업데이트하는 것
에 의해 트레이닝되는,
피처 치환 방법. - 제1항에 있어서,
상기 생성된 인코딩된 표현을 업데이트하는 것은, 하기 식에 기초하여 전체 손실을 최적화하는 것을 포함하며:
,
는 상기 전체 손실이고, η는 상기 입력 하이퍼 파라미터이며, R()는 상기 생성된 압축된 표현()의 비트레이트에 기반하여 결정된 레이트 손실이고, Rtarget은 상기 타깃 레이트 손실이며, 는 상기 미리 결정된 하이퍼 파라미터이고, 는 상기 입력 이미지(x)와 상기 생성된 출력 이미지() 사이의 재구성 에러(reconstruction error)에 대응하는 왜곡 손실인,
피처 치환 방법. - 제1항에 있어서,
상기 재구성 에러는 피크 신호대 잡음비(PSNR: peak signal-to-noise ratio) 및/또는 구조적 유사성 인덱스 측정(SSIM: structural similarity index measure)을 포함하는,
피처 치환 방법. - 종단간 이미지 압축을 위한 피처 치환을 위한 장치로서,
프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 명령된 대로 동작하도록 구성된 적어도 하나의 프로세서
를 포함하며,
상기 프로그램 코드는 제1항 내지 제3항 중 어느 한 항의 피처 치환 방법을 수행하는 것을 포함하는,
장치. - 명령을 저장하는 비-일시적 컴퓨터 판독 가능 매체로서,
상기 명령은 종단간 이미지 압축을 위한 피처 치환을 위해 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 제1항 내지 제3항 중 어느 한 항의 피처 치환 방법을 수행하게 하는,
비-일시적 컴퓨터 판독 가능 매체. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063023694P | 2020-05-12 | 2020-05-12 | |
US63/023,694 | 2020-05-12 | ||
US202063026409P | 2020-05-18 | 2020-05-18 | |
US63/026,409 | 2020-05-18 | ||
US17/242,534 US11790566B2 (en) | 2020-05-12 | 2021-04-28 | Method and apparatus for feature substitution for end-to-end image compression |
US17/242,534 | 2021-04-28 | ||
PCT/US2021/031334 WO2021231218A1 (en) | 2020-05-12 | 2021-05-07 | Method and apparatus for feature substitution for end-to-end image compression |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220084130A KR20220084130A (ko) | 2022-06-21 |
KR102632258B1 true KR102632258B1 (ko) | 2024-01-31 |
Family
ID=78512797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227016367A KR102632258B1 (ko) | 2020-05-12 | 2021-05-07 | 종단간 이미지 압축을 위한 피처 치환 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11790566B2 (ko) |
EP (1) | EP4028957A4 (ko) |
JP (1) | JP7447253B2 (ko) |
KR (1) | KR102632258B1 (ko) |
CN (1) | CN114930349A (ko) |
WO (1) | WO2021231218A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11917162B2 (en) * | 2021-04-30 | 2024-02-27 | Tencent America LLC | Content-adaptive online training with feature substitution in neural image compression |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020053820A (ja) * | 2018-09-26 | 2020-04-02 | 株式会社Preferred Networks | 量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100723505B1 (ko) | 2005-10-06 | 2007-05-30 | 삼성전자주식회사 | 하이브리드 방식의 영상 데이터 처리 시스템 및 영상데이터 처리 방법 |
CN102497489B (zh) | 2011-12-05 | 2015-11-18 | 优视科技有限公司 | 图像压缩方法、图像压缩装置和移动终端 |
US9277180B2 (en) | 2014-06-30 | 2016-03-01 | International Business Machines Corporation | Dynamic facial feature substitution for video conferencing |
EP3398114B1 (en) | 2016-02-05 | 2022-08-24 | Deepmind Technologies Limited | Compressing images using neural networks |
US10284844B1 (en) | 2018-07-02 | 2019-05-07 | Tencent America LLC | Method and apparatus for video coding |
US10674152B2 (en) * | 2018-09-18 | 2020-06-02 | Google Llc | Efficient use of quantization parameters in machine-learning models for video coding |
WO2020080873A1 (en) * | 2018-10-19 | 2020-04-23 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming data |
US11729406B2 (en) * | 2019-03-21 | 2023-08-15 | Qualcomm Incorporated | Video compression using deep generative models |
CN110348487B (zh) * | 2019-06-13 | 2021-07-20 | 武汉大学 | 一种基于深度学习的高光谱图像压缩方法及装置 |
CN111050170A (zh) * | 2019-12-06 | 2020-04-21 | 山东浪潮人工智能研究院有限公司 | 基于gan的图片压缩系统构建方法、压缩系统及方法 |
WO2021220008A1 (en) * | 2020-04-29 | 2021-11-04 | Deep Render Ltd | Image compression and decoding, video compression and decoding: methods and systems |
-
2021
- 2021-04-28 US US17/242,534 patent/US11790566B2/en active Active
- 2021-05-07 WO PCT/US2021/031334 patent/WO2021231218A1/en unknown
- 2021-05-07 JP JP2022523026A patent/JP7447253B2/ja active Active
- 2021-05-07 CN CN202180006010.4A patent/CN114930349A/zh active Pending
- 2021-05-07 EP EP21804355.2A patent/EP4028957A4/en active Pending
- 2021-05-07 KR KR1020227016367A patent/KR102632258B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020053820A (ja) * | 2018-09-26 | 2020-04-02 | 株式会社Preferred Networks | 量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラム |
Non-Patent Citations (2)
Title |
---|
CHOI YOOJIN ET AL, "Variable Rate Deep Image Compression With a Conditional Autoencoder", 2019 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), IEEE, XP033723240, 2019.10.27. 1부.* |
YANG FEI ET AL, "Variable Rate Deep Image Compression With Modulated Autoencoder", IEEE SIGNAL PROCESSING LETTERS, IEEE, USA, vol. 27, XP011775146, 2020.01.31. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
EP4028957A1 (en) | 2022-07-20 |
JP7447253B2 (ja) | 2024-03-11 |
US11790566B2 (en) | 2023-10-17 |
EP4028957A4 (en) | 2022-11-23 |
KR20220084130A (ko) | 2022-06-21 |
WO2021231218A1 (en) | 2021-11-18 |
US20210358179A1 (en) | 2021-11-18 |
CN114930349A (zh) | 2022-08-19 |
JP2022553250A (ja) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11810331B2 (en) | Neural image compression with latent feature-domain intra-prediction | |
JP2023521318A (ja) | ニューラル画像圧縮のためのタスク適応型前処理のための方法、装置およびコンピュータプログラム | |
US11488329B2 (en) | Method and apparatus for multi-rate neural image compression with stackable nested model structures | |
KR20220061223A (ko) | 적대적 발생기들에 의한 레이트-적응형 신경 이미지 압축을 위한 방법 및 장치 | |
KR20220101178A (ko) | 심층 강화 학습을 사용한 단대단 태스크 지향 잠재 압축을 위한 방법 및 장치 | |
KR102632258B1 (ko) | 종단간 이미지 압축을 위한 피처 치환 방법 및 장치 | |
KR20230142788A (ko) | 신경 이미지 압축에서의 반복적 콘텐츠 적응형 온라인 트레이닝을 위한 시스템, 방법, 및 컴퓨터 프로그램 | |
US20220335655A1 (en) | Substitutional input optimization for adaptive neural image compression with smooth quality control | |
US12100185B2 (en) | Non-linear quantization with substitution in neural image compression | |
US11909975B2 (en) | Dependent scalar quantization with substitution in neural image compression | |
US11917154B2 (en) | End-to-end neural compression with deep reinforcement learning | |
US20230186525A1 (en) | System, method, and computer program for content adaptive online training for multiple blocks in neural image compression | |
KR20220164562A (ko) | 뉴럴 이미지 압축에서 대체의 멀티-학습률들을 위한 방법 및 장치 | |
KR20220165271A (ko) | 뉴럴 이미지 압축에서 대체의 동적 학습률들을 위한 방법 및 장치 | |
KR20230142767A (ko) | 특정 패턴에 기반한 다수의 블록에 대한 콘텐츠 적응형 온라인 트레이닝을 위한 시스템, 방법, 및 컴퓨터 프로그램 | |
KR20220154768A (ko) | 메타 러닝에 의한 평활한 품질 제어를 갖는 적응 신경 이미지 압축 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |