KR20220156896A - 적응적 인트라-예측에 의한 신경 이미지 압축 - Google Patents

적응적 인트라-예측에 의한 신경 이미지 압축 Download PDF

Info

Publication number
KR20220156896A
KR20220156896A KR1020227036428A KR20227036428A KR20220156896A KR 20220156896 A KR20220156896 A KR 20220156896A KR 1020227036428 A KR1020227036428 A KR 1020227036428A KR 20227036428 A KR20227036428 A KR 20227036428A KR 20220156896 A KR20220156896 A KR 20220156896A
Authority
KR
South Korea
Prior art keywords
block
blocks
residual
recovered
processor
Prior art date
Application number
KR1020227036428A
Other languages
English (en)
Inventor
웨이 장
웨이 왕
딩 딩
산 류
샤오중 쉬
Original Assignee
텐센트 아메리카 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 아메리카 엘엘씨 filed Critical 텐센트 아메리카 엘엘씨
Publication of KR20220156896A publication Critical patent/KR20220156896A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

적응적 인트라-예측에 의한 신경 이미지 압축은 적어도 하나의 프로세서에 의해 수행되며, 최적의 파티션 및 블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하는 단계, 블록들의 제1 세트에서의 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하는 단계, 그리고 수신된 블록 선택 신호에 기초하여, 제1 복구 및 제2 복구 중 하나를 수행하는 단계, 및 복원된 이미지를 획득하기 위해 현재 복구된 블록들을 병합하는 단계를 포함한다. 제1 복구는 블록들의 제1 세트 내 개개의 블록에 기초하여 제1 복구된 블록을 직접 계산하는 것을 포함한다. 제2 복구는 계산된 잔차에 기초하여 복구된 잔차를 발생시키는 것, 제1 예측 블록을 파티셔닝하고 복구된 잔차를 가산하여 제2 복구된 블록을 획득하는 것을 포함한다.

Description

적응적 인트라-예측에 의한 신경 이미지 압축
관련 출원에 대한 상호-참조
본 출원은 2021년 1월 19일에 출원된 미국 가특허 출원번호 제63/138,963호, 및 2021년 9월 29일에 출원된 미국 출원번호 제17/488,532호에 기초하고 이에 대해 우선권을 주장하며, 이들의 개시내용들이 본원에 전체적으로 참조로 포함된다.
표준 그룹들 및 회사들은 미래 비디오 코딩 기술의 표준화에 대한 잠재적인 요구 사항들을 적극적으로 찾고 있다. 이들 표준 그룹들 및 회사들은 신경 네트워크들(NN)을 이용한 AI-기반 종단 간 신경 이미지 압축에 중점을 둔 JPEG-AI 그룹들을 설립하였다. 최근 접근법들의 성공은 진보된 신경 이미지 및 비디오 압축 방법론들에 대한 산업적 관심들을 점점 더 많이 끌었다.
입력 이미지 x가 주어질 때, NIC의 타깃은 이미지 x를 NN 인코더에의 입력으로 이용하여 저장 및 송신을 위해 컴팩트한 압축된 표현
Figure pct00001
을 계산하고, 이후,
Figure pct00002
를 NN 디코더에의 입력으로서 이용하여 이미지
Figure pct00003
를 복원한다. 이전 NIC 방법들은 변분 오토인코더(VAE) 구조를 취하며, 여기서 NN 인코더들이 전체 이미지 x를 그의 입력으로 직접 이용하고, 이는 출력 표현
Figure pct00004
을 계산하기 위해 블랙 박스와 같이 동작하는 네트워크 계층들의 세트를 통해 전달된다. 이에 따라, NN 디코더들은 전체 표현
Figure pct00005
을 그의 입력으로 취하고, 이는 복원된
Figure pct00006
를 계산하기 위해 블랙 박스와 같이 동작하는 네트워크 계층들의 다른 세트를 통해서 전달된다.
블록-기반 인트라-예측 및 잔차 코딩 메커니즘은 원래 전체 이미지를 직접 인코딩하는 대신, 예측 블록들과 원래 블록들 사이의 잔차들을 인코딩한다. 이 메커니즘은 HEVC 및 VVC와 같은 현대의 비디오 코딩 표준들에서 이미지 프레임들을 압축하는데 매우 효과적인 것으로 입증되었다. 전체 이미지들은 다양한 사이즈들의 블록들로 파티셔닝되며, 예측 블록은 이전 압축된 블록들의 경계 픽셀들을 다양한 각도 방향들을 따라서 복사함으로써 발생되며, 이후 원래 블록과 예측 블록 사이의 잔차들이 압축된다. 잔차들은 원래 픽셀들에 비해 더 효율적으로 인코딩될 수 있으며, 따라서, 더 나은 코딩 성능이 달성될 수 있다. 상이한 블록 사이즈들은 압축 성능에 직접 영향을 미치며, 최적의 블록 사이즈는 일반적으로 특정의 이미지들에 의존한다.
실시형태들에 따르면, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법은 적어도 하나의 프로세서에 의해 수행되며, 본 방법은 최적의 파티션을 수신하는 단계; 블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하는 단계; 블록들의 제1 세트에서의 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하고, 그리고 수신된 블록 선택 신호에 기초하여, 제1 복구 및 제2 복구 중 하나를 수행하는 단계; 및 복원된 이미지를 획득하기 위해 현재 복구된 블록들을 병합하는 단계를 포함한다. 제1 복구는 제1 압축된 표현을 계산하기 위해 제1 신경망을 이용하여 블록들의 제1 세트 내 블록을 압축하는 것; 및 제1 복구된 블록을 계산하기 위해 제2 신경망을 이용하여 제1 압축된 표현을 압축해제하는 것을 포함한다. 제2 복구는 이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 계산하는 것; 블록들의 제1 세트 내 현재의 블록 및 예측 블록에 기초하여 제1 잔차를 계산하는 것; 제1 잔차에 기초하여 복구된 잔차를 발생시키는 것; 및 제1 예측 블록을 파티셔닝하고 복구된 잔차를 가산하여 제2 복구된 블록을 획득하는 것을 포함한다.
실시형태들에 따르면, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치는 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및 프로그램 코드를 판독하고 프로그램 코드에 의해 명령되는 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함한다. 프로그램 코드는 적어도 하나의 프로세서로 하여금, 최적의 파티션을 수신하게 하도록 구성된 제1 수신 코드; 적어도 하나의 프로세서로 하여금, 블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하게 하도록 구성된 제2 수신 코드; 적어도 하나의 프로세서로 하여금, 블록들의 제1 세트에서의 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하게 하고, 그리고 제1 복구 코드 및 제2 복구 코드 중 하나를 실행하게 하도록 구성된 제3 수신 코드; 및 적어도 하나의 프로세서로 하여금, 복원된 이미지를 획득하기 위해 현재 복구된 블록들의 각각을 병합하게 하도록 구성된 병합 코드를 포함한다. 또, 제1 복구는 적어도 하나의 프로세서로 하여금, 제1 신경망을 이용하여 블록들의 제1 세트 내 블록을 압축하여 제1 압축된 표현을 계산하게 하도록 구성된 제1 압축 코드; 및 적어도 하나의 프로세서로 하여금, 제2 신경망을 이용하여 제1 압축된 표현을 압축해제하여 제1 복구된 블록을 계산하게 하도록 구성된 제1 압축해제 코드를 포함하며, 제2 복구는 적어도 하나의 프로세서로 하여금, 이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 예측하게 하도록 구성된 제1 예측 코드; 적어도 하나의 프로세서로 하여금, 블록들의 제1 세트 내 현재의 블록 및 예측 블록에 기초하여 제1 잔차를 계산하게 하도록 구성된 제1 잔차 코드; 적어도 하나의 프로세서로 하여금, 제1 잔차에 기초하여 복구된 잔차를 발생시키게 하도록 구성된 제1 발생 코드; 및 적어도 하나의 프로세서로 하여금, 제1 예측 블록을 파티셔닝하고 복구된 잔차를 가산하여 제2 복구된 블록을 획득하게 하도록 구성된 제1 파티셔닝 코드를 포함한다.
실시형태들에 따르면, 비일시적 컴퓨터-판독가능 매체는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위해 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금, 최적의 파티션을 수신하게 하고, 블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하게 하고, 그리고 블록들의 제1 세트에서의 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하게 하고, 그리고 제1 복구 및 제2 복구 중 하나를 실행하게 하고, 그리고 현재 복구된 블록들의 각각을 병합하여 복원된 이미지를 획득하게 하는 명령들을 저장하며, 제1 복구는 제1 신경망을 이용하여 블록들의 제1 세트 내 블록을 압축하여 제1 압축된 표현을 계산하는 것, 및 제2 신경망을 이용하여 제1 압축된 표현을 압축해제하여 제1 복구된 블록을 계산하는 것을 포함하며, 제2 복구는 이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 예측하는 것, 블록들의 제1 세트 내 현재의 블록 및 예측 블록에 기초하여 제1 잔차를 계산하는 것, 제1 잔차에 기초하여 복구된 잔차를 발생시키는 것, 및 제1 예측 블록을 파티셔닝하고 복구된 잔차를 가산하여 제2 복구된 블록을 획득하는 것을 포함한다.
도 1은 실시형태들에 따른, 본원에서 설명되는 방법들, 장치들 및 시스템들이 구현될 수도 있는 환경의 다이어그램이다.
도 2는 도 1의 하나 이상의 디바이스들의 예시적인 컴포넌트들의 블록도이다.
도 3은 실시형태들에 따른, 테스트 단계 동안, NIC 인코더 장치의 블록도이다.
도 4는 실시형태들에 따른, 테스트 단계 동안, 도 3의 파티션 선택 모듈의 상세한 작업흐름이다.
도 5는 실시형태들에 따른, 테스트 단계 동안, NIC 디코더 장치의 블록도이다.
도 6은 실시형태들에 따른, 훈련 단계 동안, NIC 인트라-예측 장치의 작업흐름이다.
도 7은 실시형태들에 따른, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법의 플로우차트이다.
도 8은 실시형태들에 따른, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치의 블록도이다.
본 개시내용은 적응적 블록 사이즈들을 가진 블록-기반 인트라-예측 메커니즘을 이용하여 신경망(DNN)에 의해 입력 이미지를 압축하는 신경 이미지 압축(NIC) 프레임워크를 제안한다. 예시적인 실시형태들을 도면들을 참조하여 아래에서 설명한다. 도면에서, 동일한 모듈들은 동일한 참조 번호들로 표시되며, 따라서 반복된 설명은 필요에 따라 생략될 수도 있다. 도 1은 실시형태들에 따른, 본원에서 설명되는 방법들, 장치들 및 시스템들이 구현될 수도 있는 환경(100)의 다이어그램이다.
도 1에 나타낸 바와 같이, 환경(100)은 사용자 디바이스(110), 플랫폼(120), 및 네트워크(130)를 포함할 수도 있다. 환경(100)의 디바이스들은 유선 접속들, 무선 접속들, 또는 유선 접속과 무선 접속의 조합을 통해서 상호접속할 수도 있다.
사용자 디바이스(110)는 플랫폼(120)과 연관된 정보를 수신, 발생, 저장, 프로세싱, 및/또는 제공 가능한 하나 이상의 디바이스들을 포함한다. 예를 들어, 사용자 디바이스(110)는 컴퓨팅 디바이스(예컨대, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트 스피커, 서버, 등), 모바일 폰(예컨대, 스마트 폰, 무선 전화기, 등), 착용형 디바이스(예컨대, 한쌍의 스마트 안경 또는 스마트 시계), 또는 유사한 디바이스를 포함할 수도 있다. 일부 구현예들에서, 사용자 디바이스(110)는 플랫폼(120)으로부터 정보를 수신하고/하거나 플랫폼(120)으로 정보를 송신할 수도 있다.
플랫폼(120)은 본원에서 다른 어딘가에서 설명된 바와 같은 하나 이상의 디바이스들을 포함한다. 일부 구현예들에서, 플랫폼(120)은 클라우드 서버 또는 클라우드 서버들의 그룹을 포함할 수도 있다. 일부 구현예들에서, 플랫폼(120)은 소프트웨어 컴포넌트들이 교체될 수 있도록 모듈식으로 설계될 수도 있다. 이와 같이, 플랫폼(120)은 상이한 용도들을 위해 용이하게 및/또는 빨리 재구성될 수도 있다.
일부 구현예들에서, 나타낸 바와 같이, 플랫폼(120)은 클라우드 컴퓨팅 환경(122)에서 호스팅될 수도 있다. 특히, 본원에서 설명되는 구현예들은 클라우드 컴퓨팅 환경(122)에서 호스팅되는 것으로 플랫폼(120)을 설명하지만, 일부 구현예들에서, 플랫폼(120)은 클라우드-기반이 아닐 수도 있거나 (즉, 클라우드 컴퓨팅 환경 외부에서 구현될 수도 있거나) 또는 부분적으로 클라우드-기반일 수도 있다.
클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 환경을 포함한다. 클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 시스템(들) 및/또는 디바이스(들)의 물리적인 로케이션 및 구성의 최종 사용자(예컨대, 사용자 디바이스(110)) 지식을 필요로 하지 않는 계산, 소프트웨어, 데이터 액세스, 저장, 등의 서비스들을 제공할 수도 있다. 나타낸 바와 같이, 클라우드 컴퓨팅 환경(122)은 컴퓨팅 리소스들(124)의 그룹(일괄하여, "컴퓨팅 리소스들(124)"로서 그리고 개별적으로, "컴퓨팅 리소스(124)"로서 지칭됨)을 포함할 수도 있다.
컴퓨팅 리소스(124)는 하나 이상의 개인용 컴퓨터들, 워크스테이션 컴퓨터들, 서버 디바이스들, 또는 다른 유형들의 계산 및/또는 통신 디바이스들을 포함한다. 일부 구현예들에서, 컴퓨팅 리소스(124)는 플랫폼(120)을 호스팅할 수도 있다. 클라우드 리소스들은 컴퓨팅 리소스(124)에서 실행하는 컴퓨터 인스턴스들, 컴퓨팅 리소스(124)에서 제공되는 저장 디바이스들, 컴퓨팅 리소스(124)에 의해 제공되는 데이터 전송 디바이스들, 등을 포함할 수도 있다. 일부 구현예들에서, 컴퓨팅 리소스(124)는 유선 접속들, 무선 접속들, 또는 유선 접속과 무선 접속의 조합을 통해서 다른 컴퓨팅 리소스들(124)과 통신할 수도 있다.
도 1에 추가로 나타낸 바와 같이, 컴퓨팅 리소스(124)는 하나 이상의 애플리케이션들("앱들")(124-1), 하나 이상의 가상 머신들("VMs")(124-2), 가상화된 스토리지("VSs")(124-3), 하나 이상의 하이퍼바이저들("HYPs")(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)에 의한 임의의 실제 머신에 대한 용도 및 대응의 정도에 따라, 시스템 가상 머신 또는 프로세스 가상 머신일 수도 있다. 시스템 가상 머신은 완전한 운영 시스템("OS")의 실행을 지원하는 완전한 시스템 플랫폼을 제공할 수도 있다. 프로세스 가상 머신은 단일 프로그램을 실행할 수도 있으며, 단일 프로세스를 지원할 수도 있다. 일부 구현예들에서, 가상 머신(124-2)은 사용자(예컨대, 사용자 디바이스(110))를 대신하여 실행할 수도 있으며, 데이터 관리, 동기화, 또는 장기 데이터 전송들과 같은 클라우드 컴퓨팅 환경(122)의 기반구조를 관리할 수도 있다.
가상화된 스토리지(124-3)는 컴퓨팅 리소스(124)의 저장 시스템들 또는 디바이스들 내에서 가상화 기법들을 이용하는 하나 이상의 저장 시스템들 및/또는 하나 이상의 디바이스들을 포함한다. 일부 구현예들에서, 저장 시스템의 상황 내에서, 가상화들의 유형들은 블록 가상화 및 파일 가상화를 포함할 수도 있다. 블록 가상화는 저장 시스템이 물리 스토리지 또는 이종 구조에 관계없이 액세스될 수도 있도록 물리 스토리지로부터의 논리 스토리지의 추상화(또는, 분리)를 지칭할 수도 있다. 분리는 저장 시스템의 관리자들에게 관리자들이 최종 사용자들을 위해 스토리지를 관리하는 방법에서의 유연성을 허용할 수도 있다. 파일 가상화는 파일 레벨에서 액세스된 데이터와 파일들이 물리적으로 저장된 로케이션 사이의 의존성들을 제거할 수도 있다. 이는 스토리지 사용, 서버 통합, 및/또는 무중단 파일 마이그레이션들의 성능의 최적화를 가능하게 할 수도 있다.
하이퍼바이저(124-4)는 다수의 운영 시스템들(예컨대, "게스트 운영 시스템들")로 하여금 컴퓨팅 리소스(124)와 같은 호스트 컴퓨터 상에서 동시에 실행 가능하게 하는 하드웨어 가상화 기법들을 제공할 수도 있다. 하이퍼바이저(124-4)는 가상 운영 플랫폼을 게스트 운영 시스템들에 제공할 수도 있으며, 게스트 운영 시스템들의 실행을 관리할 수도 있다. 다양한 운영 시스템들의 다수의 인스턴스들은 가상화된 하드웨어 리소스들을 공유할 수도 있다.
네트워크(130)는 하나 이상의 유선 및/또는 무선 네트워크들을 포함한다. 예를 들어, 네트워크(130)는 셀룰러 네트워크(예컨대, 5세대(5G) 네트워크, LTE(Long-Term Evolution) 네트워크, 3세대(3G) 네트워크, 코드분할 다중접속(CDMA) 네트워크, 등), 공중 지상 모바일 네트워크(PLMN), 근거리 네트워크(LAN), 광역 네트워크(WAN), 도시권 네트워크(MAN), 전화기 네트워크(예컨대, 공중 교환 전화 네트워크(PSTN)), 사설 네트워크, 애드혹 네트워크, 인트라넷, 인터넷, 광섬유-기반 네트워크, 또는 기타 등등, 및/또는 이들의 조합 또는 다른 유형들의 네트워크들을 포함할 수도 있다.
도 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), 그래픽 프로세싱 유닛(GPU), 가속 프로세싱 유닛(APU), 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서(DSP), 필드-프로그래밍가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 또는 다른 유형의 프로세싱 컴포넌트이다. 일부 구현예들에서, 프로세서(220)는 기능을 수행하도록 프로그래밍될 수 있는 하나 이상의 프로세서들을 포함한다. 메모리(230)는 프로세서(220)에 의한 사용을 위한 정보 및/또는 명령들을 저장하는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 및/또는 다른 유형의 동적 또는 정적 저장 디바이스(예컨대, 플래시 메모리, 자기 메모리, 및/또는 광학 메모리)를 포함한다.
저장 컴포넌트(240)는 디바이스(200)의 동작 및 사용에 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 저장 컴포넌트(240)는 하드 디스크(예컨대, 자기 디스크, 광 디스크, 자기-광학 디스크, 및/또는 솔리드 스테이트 디스크), 컴팩트 디스크(CD), 디지털 다기능 디스크(DVD), 플로피 디스크, 카트리지, 자기 테이프, 및/또는 다른 유형의 비일시적 컴퓨터-판독가능 매체를, 대응하는 드라이브와 함께, 포함할 수도 있다.
입력 컴포넌트(250)는 예컨대, 사용자 입력(예컨대, 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치, 및/또는 마이크로폰)을 통해서, 디바이스(200)로 하여금 정보를 수신 가능하게 하는 컴포넌트를 포함한다. 추가적으로, 또는 대안적으로, 입력 컴포넌트(250)는 정보를 감지하는 센서(예컨대, 위성 위치확인 시스템(GPS) 컴포넌트, 가속도계, 자이로스코프, 및/또는 액추에이터)를 포함할 수도 있다. 출력 컴포넌트(260)는 디바이스(200)(예컨대, 디스플레이, 스피커, 및/또는 하나 이상의 발광 다이오드들(LED들))로부터의 출력 정보를 제공하는 컴포넌트를 포함한다.
통신 인터페이스(270)는 디바이스(200)로 하여금 예컨대, 유선 접속, 무선 접속, 또는 유선 접속과 무선 접속의 조합을 통해서 다른 디바이스들과 통신 가능하게 하는 트랜시버-형 컴포넌트(예컨대, 트랜시버 및/또는 별개의 수신기 및 송신기)를 포함한다. 통신 인터페이스(270)는 디바이스(200)로 하여금 다른 디바이스로부터 정보를 수신 가능하게 하고/하거나 정보를 다른 디바이스에 제공 가능하게 할 수도 있다. 예를 들어, 통신 인터페이스(270)는 이더넷 인터페이스, 광 인터페이스, 동축 인터페이스, 적외선 인터페이스, 무선 주파수(RF) 인터페이스, 범용 시리얼 버스(USB) 인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스, 또는 기타 등등을 포함할 수도 있다.
디바이스(200)는 본원에서 설명되는 하나 이상의 프로세스들을 수행할 수도 있다. 디바이스(200)는 프로세서(220)가 메모리(230) 및/또는 저장 컴포넌트(240)와 같은 비일시적 컴퓨터-판독가능 매체에 의해 저장된 소프트웨어 명령들을 실행하는 것에 응답하여 이들 프로세스들을 수행할 수도 있다. 컴퓨터-판독가능 매체는 비일시적 메모리 디바이스로서 본원에서 정의된다. 메모리 디바이스는 단일 물리 저장 디바이스 내 메모리 공간 또는 다수의 물리 저장 디바이스들에 걸쳐서 분산된 메모리 공간을 포함한다.
소프트웨어 명령들은 다른 컴퓨터-판독가능 매체로부터 또는 다른 디바이스로부터 통신 인터페이스(270)를 통해서 메모리(230) 및/또는 저장 컴포넌트(240)로 판독될 수도 있다. 실행될 때, 메모리(230) 및/또는 저장 컴포넌트(240)에 저장된 소프트웨어 명령들은 프로세서(220)로 하여금 본원에서 설명되는 하나 이상의 프로세스들을 수행 가능하게 할 수도 있다. 추가적으로, 또는 대안적으로, 하드와이어드 회로부가 본원에서 설명되는 하나 이상의 프로세스들을 수행하기 위해 소프트웨어 명령들을 대신하여 또는 조합하여 사용될 수도 있다. 따라서, 본원에서 설명되는 구현예들은 하드웨어 회로부와 소프트웨어의 임의의 특정의 조합에 제한되지 않는다.
도 2에 나타낸 컴포넌트들의 개수 및 배열은 예로서 제공된다. 실제는, 디바이스(200)는 도 2에 나타낸 것들보다 추가적인 컴포넌트들, 더 적은 컴포넌트들, 상이한 컴포넌트들, 또는 상이하게 배열된 컴포넌트들을 포함할 수도 있다. 추가적으로, 또는 대안적으로, 디바이스(200)의 컴포넌트들(예컨대, 하나 이상의 컴포넌트들)의 세트는 디바이스(200)의 컴포넌트들의 다른 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능들을 수행할 수도 있다.
적응적 블록 사이즈들을 갖는 블록-기반 인트라-예측을 이용한 NIC를 위한 방법들 및 장치들을 이하 자세하게 설명한다.
본 개시내용은 적응적 블록 사이즈들을 갖는 블록-기반 인트라-예측을 이용하는 NIC 프레임워크를 제안한다. 예측 블록들과 원래 블록들 사이의 잔차들은 원래 픽셀들 대신 인코딩되며, 블록 사이즈는 레이트-왜곡(R-D) 손실과 같은 압축 품질에 기초하여 적응적으로 결정된다.
도 3은 실시형태들에 따른, 테스트 단계 동안, NIC 인코더(300) 장치의 블록도이다.
도 3에 나타낸 바와 같이, 인코더(300)는 파티션 모듈(310) 및 파티션 선택 모듈(320)을 포함한다.
인코더 측 상에서, 입력 이미지 x가 주어지면, 파티션 모듈(310)은 입력 이미지 x를 사이즈 (wm, hm)의 k개의 마이크로-블록들,
Figure pct00007
로 파티셔닝하며, 여기서, mi는 i-번째 마이크로-블록을 나타낸다. 각각의 마이크로-블록 mi는 블록들
Figure pct00008
로 추가로 파티셔닝될 수도 있으며, 여기서,
Figure pct00009
는 마이크로-블록 mi에서 j-번째 블록이다. 블록
Figure pct00010
의 사이즈는 상이한 블록들 마다 상이할 수 있다. 예시적인 실시형태에서, 마이크로-블록들은 현재의 비디오 코딩 툴들의 CTU 파티션과 정렬된다. 각각의 CTU 마이크로-블록은 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32, 또는 64 x 64 블록들로 추가로 파티셔닝될 수도 있다. 실시형태들은 CTU의 사이즈 또는 CTU 내 블록들이 어떻게 파티셔닝되는 지에 어떠한 제한도 두지 않는다.
각각의 마이크로-블록 mi를 블록들로 파티셔닝하는데 P개의 상이한 방법들이 있다고 가정한다. 파티션 선택 모듈(320)에서 파티셔닝하는 최적의 방법을 결정하는 방법에 대한 작업흐름을 이하 자세하게 설명한다.
도 4는 실시형태들에 따른, 테스트 단계 동안, 도 3의 파티션 선택 모듈(320)의 상세한 작업흐름이다.
도 4에 나타낸 바와 같이, 파티션 선택 모듈(320)은 인트라-예측 모듈(410), 잔차 신경 압축 모듈(420), 잔차 신경 압축해제 모듈(430), 잔차 압축 손실 계산 모듈(440), 신경 압축 모듈(450), 신경 압축해제 모듈(460), 압축 손실 계산 모듈(470), 블록 선택 모듈(480), 및 파티션 손실 계산 모듈(490)을 포함한다.
파티션 선택 모듈(320)의 출력은 파티션
Figure pct00011
의 최적의 방법, 블록 선택 신호들의 세트
Figure pct00012
, 및 압축된 표현들의 세트
Figure pct00013
를 포함한다. 이후, 이들 출력들은 전형적으로 양자화 및 엔트로피 코딩에 의해 추가로 압축된 후, 디코더 측(예를 들어, 도 5에 상세히 설명된 디코더(500))로 전송될 것이다.
Figure pct00014
을 파티션의 p-번째 방법에 의해 획득된 블록들을 표시한다고 하자. 이 파티션에 대한 블록들의 총 개수
Figure pct00015
는 마이크로-블록 mi 의 사이즈 및 블록의 사이즈에 의해 자동으로 결정된다. 각각의 파티셔닝된 블록
Figure pct00016
에 대해, 예측 블록
Figure pct00017
은 예측 네트워크에 기초하여 인트라-예측 모듈(410)에 의해 계산될 수 있다. 예측 네트워크는 x로부터 선택된 이미지 픽셀들의 세트를 입력으로 취하며, 여기서, 선택된 픽셀들은 2개의 소스들: 마이크로-블록 mi 이전에 인코딩된 마이크로-블록들
Figure pct00018
, 및 파티셔닝된 블록
Figure pct00019
이전에 인코딩된 마이크로-블록 mi 내 블록들
Figure pct00020
로부터 유래할 수 있다. 픽셀들을 선택하고 예측 네트워크의 입력을 형성하는 다수의 방법들이 있다. 예를 들어, 컨텍스트 영역에서 파티셔닝된 블록
Figure pct00021
에 공간적으로 가장 가까운 이웃하는 픽셀들은 예측 네트워크에 대한 입력을 형성하기 위해 일부 순서(적층, 연쇄, 공간 변환 등)로 구성될 수도 있다. 추론 계산을 통해, 예측 네트워크는 예측 블록
Figure pct00022
을 출력한다. 예측 네트워크는 다양한 아키텍쳐들을 가질 수 있다. 파티션의 각각의 방법에 대해, 예측 네트워크는 그의 예측을 위해 상이한 NN 모델을 이용할 수 있다. 일반적으로, 콘볼루션 및 완전 연결 계층들이 사용될 것이다. 실시형태들은 픽셀 선택을 위한 컨텍스트 영역의 사이즈 및 형상, 픽셀들이 예측 네트워크의 입력으로 변환되는 방법, 또는 예측 네트워크의 네트워크 아키텍쳐들에 어떠한 제한도 두지 않는다.
파티셔닝된 블록
Figure pct00023
에 대해, 컴퓨팅 예측 블록
Figure pct00024
을 계산한 후, 잔차
Figure pct00025
가 파티셔닝된 블록
Figure pct00026
및 예측 블록
Figure pct00027
에 기초하여, 예컨대, 감산에 의해 계산될 수도 있다.
Figure pct00028
를 p-번째 방법으로 파티셔닝된 전체 i-번째 마이크로-블록 mi의 잔차를 표시한다고 하자. 이 잔차
Figure pct00029
는 q개의 잔차 블록들의 세트
Figure pct00030
로 재-파티셔닝될 수도 있다. 잔차 블록의 재-파티셔닝은 예측 블록들
Figure pct00031
의 원래 파티셔닝과 동일하거나 또는 상이할 수 있다는 점에 유의한다. q = 1일 때, 전체 마이크로-블록은 하나의 조각으로 프로세싱될 것이다. 대응하는 마이크로-블록
Figure pct00032
및 예측 블록들
Figure pct00033
은 또한 재-파티셔닝된 마이크로-블록
Figure pct00034
및 재-파티셔닝된 예측 블록
Figure pct00035
으로 동일한 방법으로 각각 재-파티셔닝될 수 있다. 잔차 신경 압축 모듈(420)은 각각의 잔차 블록
Figure pct00036
을 압축하여 압축된 잔차 표현
Figure pct00037
을 계산할 수도 있으며, 이는 잔차 신경 압축해제 모듈(430)에 의해 압축해제되어 복구된 잔차 블록
Figure pct00038
이 계산된다. 복구된 잔차 블록
Figure pct00039
은 대응하는 재-파티셔닝된 예측 블록
Figure pct00040
에 다시 가산되어, 복원 블록
Figure pct00041
이 획득될 수 있다. 잔차 압축 손실 계산 모듈(440)은 재-파티션 마이크로-블록
Figure pct00042
, 복원 블록
Figure pct00043
및 압축된 잔차 표현
Figure pct00044
에 기초하여 잔차 압축 품질 손실
Figure pct00045
을 계산한다. 예를 들어, 예시적인 실시형태에서, 레이트-왜곡(R-D) 손실은 다음과 같이, 품질 측정치(잔차 품질 손실)로서 계산될 수도 있다:
Figure pct00046
(1)
여기서,
Figure pct00047
는 재-파티션 마이크로-블록
Figure pct00048
과 복원 블록
Figure pct00049
사이의 왜곡이다.
Figure pct00050
는 압축된 잔차 표현
Figure pct00051
의 비트 소비를 측정하는 레이트 손실이다. λ는 상이한 항들의 중요성에 균형을 맞추는 절충 하이퍼파라미터이다. 다른 압축 품질 손실이 여기에서 확실히 이용될 수 있다. 실시형태들은 압축 품질 손실, 왜곡, 또는 레이트 손실에 이용되는 특정의 측정치에 어떠한 제한도 두지 않는다.
동시에, 각각의 원래 블록
Figure pct00052
은 신경 압축 모듈(450)에 의해 직접 압축되어 압축된 표현
Figure pct00053
이 계산될 수도 있으며, 이는 신경 압축해제 모듈(460)에 의해 압축해제되어 복구된 블록
Figure pct00054
이 직접 계산된다. 압축 품질 손실
Figure pct00055
은 압축 손실 계산 모듈(470)에서 원래 블록
Figure pct00056
, 복원 블록
Figure pct00057
, 및 압축된 표현
Figure pct00058
에 기초하여, 잔차 품질 손실
Figure pct00059
과 동일한 방법으로 계산될 수도 있다. 압축 품질 손실
Figure pct00060
및 잔차 품질 손실
Figure pct00061
에 기초하여, 블록 선택 모듈(480)은 예컨대, 더 적은 품질 손실을 가진 옵션을 선택함으로써, 잔차 블록
Figure pct00062
또는 원래
Figure pct00063
가 압축된 잔차 표현
Figure pct00064
또는 압축된 표현
Figure pct00065
을 발생시키는데 이용되는지 여부를 표시하는 선택 신호
Figure pct00066
를 발생시킨다. 이는 현재의 j-번째 블록
Figure pct00067
을 압축하기 위한 최적의 품질 손실
Figure pct00068
을 제공한다, 예컨대,
Figure pct00069
이다. 파티션 손실 계산 모듈(490)은 다음과 같이 마이크로-블록 mi의 파티션의 p-번째 방법에 대한 전체 품질 손실
Figure pct00070
을 계산한다:
Figure pct00071
(2)
여기서, 각각의
Figure pct00072
는 원래 블록
Figure pct00073
과 연관된 가중치이다. 모든 가중치들을 1로 간단히 설정함으로써, 모든 블록들이 동등하게 처리된다. 일부 블록들은 다른 블록들보다 더 많은 주의로 처리될 수도 있으며, 어텐션 맵(또는, 유의도 맵)이 가중치들을 획득하는데 이용될 수 있다.
파티션의 모든 P개의 방법들에 대해 동일한 프로세스를 반복함으로써, 품질 손실
Figure pct00074
Figure pct00075
이 획득될 수도 있다. 파티션
Figure pct00076
의 최적의 방법이 이후 예컨대, 최적의 손실(즉,
Figure pct00077
)을 가진 파티션으로서 선택될 수 있다. 대응하는 블록 선택 신호들
Figure pct00078
은 또한 파티션 선택 모듈(320)의 출력으로서 결정될 수도 있다.
Figure pct00079
를 마이크로-블록 mi에 대한 선택된 최적으로 파티셔닝된 블록들을 표시한다고 하자. 블록 선택 신호
Figure pct00080
에 따라, 대응하는 압축된 잔차 표현
Figure pct00081
또는 압축된 표현
Figure pct00082
은 또한 블록
Figure pct00083
에 대한 실제 압축된 표현
Figure pct00084
으로 결정될 수 있다. 압축된 표현들의 세트
Figure pct00085
는 또한 파티션 선택 모듈(320)로부터 출력된다. 최적의 파티션
Figure pct00086
, 압축된 표현
Figure pct00087
, 및 블록 선택 신호들
Figure pct00088
이 예컨대, 양자화 및 엔트로피 인코딩을 통해, 추가로 인코딩되어 인코딩된 스트림이 발생되고 디코더 측(도 5에 상세히 설명됨)으로 전송된다.
신경 압축 모듈(450) 및 잔차 신경 압축 모듈(420)은 임의의 신경 압축 방법들을 이용할 수 있다. 실시형태들은 이들 2개의 모듈들에 이용되는 특정의 방법들 또는 네트워크 아키텍쳐들에 어떠한 제한도 두지 않는다.
도 5는 실시형태들에 따른, 테스트 단계 동안, NIC 디코더(500) 장치의 블록도이다.
도 5에 나타낸 바와 같이, 디코더(500)는 인트라-예측 모듈(410), 잔차 신경 압축해제 모듈(430), 신경 압축해제 모듈(460), 및 병합 모듈(510)을 포함한다.
디코더(500) 측 상에서, 시스템은 최적의 파티션
Figure pct00089
, 압축된 표현
Figure pct00090
, 및 블록 선택 신호들
Figure pct00091
(전형적으로 엔트로피 디코딩 및 역양자화에 의해 수신된 비트스트림으로부터 복구됨)을 수신한다. 각각의 블록 선택 신호
Figure pct00092
에 기초하여, 시스템은 다음 방법들 중 하나를 선택하여 복구된 블록
Figure pct00093
을 계산한다. 복구된 블록이 인코더(300) 측 상에서의 압축된 표현
Figure pct00094
에 기초하여 디코딩된 블록으로부터 유래한다고 선택 신호
Figure pct00095
가 표시하면, 신경 압축해제 모듈(460)이 복구된 블록
Figure pct00096
을 계산하는데 이용될 것이다. 복구된 블록이 인코더(300) 측 상에서의 압축된 잔차 표현
Figure pct00097
에 기초하여 디코딩된 블록으로부터 유래한다고 선택 신호
Figure pct00098
가 표시하면, 잔차 신경 압축해제 모듈(430)이 복구된 잔차
Figure pct00099
를 계산하는데 이용될 것이다. 복구된 잔차
Figure pct00100
가 사용되는 경우, 이전에 복구된 블록들의 세트
Figure pct00101
및 이전에 복구된 마이크로-블록들
Figure pct00102
에 기초하여, 인트라-예측 모듈(410)은 인코더(300)에서 계산되는 것과 동일한 방법으로 예측 네트워크를 이용하여 예측 블록
Figure pct00103
을 계산한다. 유일한 차이는, 인코더(300) 측 상에서, 예측 네트워크의 입력이 원래 입력 이미지 x의 픽셀들에 의해 형성된다는 것이다. 디코더(500) 측 상에서, 입력들은 대응하는 복구된 블록들 및 마이크로-블록들로부터 유래한다. 복구된 잔차
Figure pct00104
가 이후 재-파티셔닝된(인코더(300)와 동일한 방법으로) 예측 블록
Figure pct00105
에 다시 가산되어 복구된 블록
Figure pct00106
이 획득될 수 있다. 계산된 복구된 블록
Figure pct00107
또는
Figure pct00108
중 하나는 실제 복구된 블록
Figure pct00109
을 제공할 것이며, 디코더는 다음 블록을 프로세싱하기 위해 이동한다. 마지막으로, 마이크로-블록 mi의 복구된 블록들
Figure pct00110
은 병합 모듈(510)에서 복원된 이미지
Figure pct00111
로 집성될 것이다. 일부 실시형태에서, 병합 모듈(510)은 디블록킹, 노이즈 제거, 등과 같은 아티팩트들을 제거하기 위해, 복구된 블록들을 추가로 프로세싱할 수 있다. 실시형태들은 복구된 블록들이 복원된 이미지
Figure pct00112
로 집성되는 방법에 대한 특정의 방법들에 어떠한 제한도 두지 않는다.
NIC 인트라-예측 훈련 프로세스를 이하 설명한다. 도 6은 실시형태들에 따른, 훈련 단계 동안, NIC 인트라-예측 장치(600)의 작업흐름이다.
도 6에 나타낸 바와 같이, NIC 인트라-예측 훈련 장치(600)는 파티션 모듈(310), 파티션 선택 모듈(320), 인트라-예측 모듈(410), 잔차 신경 압축해제 모듈(430), 신경 압축해제 모듈(460), 병합 모듈(510), 전체 손실 계산 모듈(610), 및 추가 손실 계산 모듈(620)을 포함한다.
훈련 프로세스의 타깃은 예측 네트워크, 신경 압축 모듈(450), 신경 압축해제 모듈(460), 잔차 신경 압축 모듈(420), 및 잔차 신경 압축해제 모듈(430)을 학습하는 것이다. 학습가능한 병합 모듈(510) 및 블록 선택 모듈(480)이 사용되는 경우, 예컨대, NN이 복구된 블록들을 복구된 이미지로 집합하는데 이용될 때, 대응하는 학습가능한 파라미터들이 또한 훈련 프로세스에서 학습될 수 있다. 훈련 프로세스에서, 학습될 상기 네트워크들 및 모듈들의 가중치 계수들은 예를 들어, 사전-훈련된 모델들을 이용함으로써, 또는 이들의 파라미터들을 난수들로 설정함으로써, 초기화된다. 이후, 입력 훈련 이미지 x가 주어지면, 도 3에 설명된 인코더(300)를 통과한 다음, 도 5에 설명된 디코더(500)를 통과하여, 최적의 파티션
Figure pct00113
, 압축된 표현
Figure pct00114
, 각각의 마이크로-블록 mi에 대한 블록 선택 신호들
Figure pct00115
, 및 최종 복원된 이미지
Figure pct00116
를 계산한다. 종래의 PSNR, MS-SSIM, 또는 둘 모두의 가중 조합과 같은, 왜곡 손실
Figure pct00117
이 계산될 수 있다. 압축된 표현
Figure pct00118
의 비트 소비를 측정하기 위해 레이트 손실
Figure pct00119
이 계산될 수도 있다. 따라서, 전체 R-D 손실
Figure pct00120
이 전체 손실 계산 모듈(610)에서 계산될 수 있다:
Figure pct00121
(3)
여기서,
Figure pct00122
는 상이한 항들의 중요성을 균형 맞추는 하이퍼파라미터들이다.
복구된 잔차
Figure pct00123
와 원래 잔차
Figure pct00124
사이의 왜곡 손실
Figure pct00125
, 및 왜곡 손실
Figure pct00126
과 같은, 다른 형태의 손실들이 또한 추가 손실 계산 모듈(620), 예컨대, MSE 또는 SSIM 측정들에서 계산될 수도 있다.
Figure pct00127
Figure pct00128
는 또한 선택적으로 전체 R-D 손실
Figure pct00129
과 결합되어 전체 시스템의 최종 손실로 결합될 수 있다. 최종 손실의 기울기가 계산되고 역-전파되어, 시스템에서 학습가능한 파라미터들이 업데이트될 수 있다. 상이한 컴포넌트들(즉, 네트워크들 또는 모듈들)이 상이한 업데이팅 빈도들로 상이한 시간들에서 업데이트될 수 있다는 점에 유의한다. 일부 실시형태들에서, 일부 컴포넌트들 또는 일부 컴포넌트들의 파라미터들의 부분은 사전-훈련되고 고정될 수 있으며, 훈련 프로세스는 단지 나머지 파라미터들만을 업데이트한다.
도 7은 실시형태들에 따른, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법의 플로우차트이다.
일부 구현예들에서, 도 7의 하나 이상의 프로세스 블록들은 플랫폼(120)에 의해 수행될 수도 있다. 일부 구현예들에서, 도 7의 하나 이상의 프로세스 블록들은 사용자 디바이스(110)와 같은 플랫폼(120)과 분리되거나 또는 이를 포함하는 다른 디바이스 또는 디바이스들의 그룹에 의해 수행될 수도 있다. 도 7은 예시적인 방법의 블록들을 나타내지만, 일부 구현예들에서, 본 방법은 도 7에 도시된 것들보다 추가적인 블록들, 더 적은 블록들, 상이한 블록들, 또는 상이하게 배열된 블록들을 포함할 수도 있다. 추가적으로, 또는 대안적으로, 방법의 블록들 중 2개 이상이 병렬로 수행될 수도 있다.
도 7에 나타낸 바와 같이, 동작 701에서, 본 방법은 최적의 파티션 방법을 수신하고 블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하는 단계를 포함한다. 동작들 702-709는 블록들의 제1 세트에서의 각각의 블록에 대해 수행된다.
동작 702에서, 도 7의 방법은 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하는 단계를 포함한다.
동작 703에서, 선택 신호에 기초하여, 본 방법은 동작들 704-705 또는 동작들 706-709 중 하나로 계속한다.
동작 704에서, 도 7의 방법은 제1 신경망을 이용하여 블록들의 제1 세트 내 블록을 압축하여 제1 압축된 표현을 계산하는 단계를 포함한다.
동작 705에서, 도 7의 방법은 제2 신경망을 이용하여 제1 압축된 표현을 압축해제하여 제1 복구된 블록을 계산하는 단계를 포함한다.
동작 706에서, 도 7의 방법은 이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 계산하는 단계를 포함한다.
동작 707에서, 도 7의 방법은 블록들의 제1 세트 내 현재의 블록 및 예측 블록에 기초하여 제1 잔차를 계산하는 단계를 포함한다.
동작 708에서, 도 7의 방법은 제1 잔차에 기초하여 복구된 잔차를 발생시키는 단계를 포함한다.
동작 709에서, 도 7의 방법은 제1 예측 블록을 파티셔닝하고 복구된 잔차를 가산하여 제2 복구된 블록을 획득하는 단계를 포함한다.
동작 710에서, 도 7의 방법은 현재 복구된 블록들의 각각을 병합하여 복원된 이미지를 획득하는 단계를 포함한다.
도 8은 실시형태들에 따른, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치의 블록도이다.
도 8에 나타낸 바와 같이, 장치는 제1 수신 코드(801), 제2 수신 코드(802), 제3 수신 코드(803), 제1 압축 코드(804), 제1 압축해제 코드(805), 제1 예측 코드(806), 제1 잔차 코드(807), 제1 발생 코드(808), 제1 파티셔닝 코드(809), 및 병합 코드(810)를 포함한다.
제1 수신 코드(801)는 적어도 하나의 프로세서로 하여금, 최적의 파티션 방법을 수신하게 하도록 구성된다.
제2 수신 코드(802)는 적어도 하나의 프로세서로 하여금, 블록들의 제1 세트를 포함하는 입력의 압축된 표현을, 그리고 블록들의 제1 세트에서의 각각의 블록에 대해 수신하게 하도록 구성된다.
제3 수신 코드(803)는 적어도 하나의 프로세서로 하여금, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하게 하도록 구성된다.
제1 압축 코드(804)는 적어도 하나의 프로세서로 하여금, 제1 신경망을 이용하여 블록들의 제1 세트 내 블록을 압축하여 제1 압축된 표현을 계산하게 하도록 구성된다.
제1 압축해제 코드(805)는 적어도 하나의 프로세서로 하여금, 제2 신경망을 이용하여 제1 압축된 표현을 압축해제하여 제1 복구된 블록을 계산하게 하도록 구성된다.
제1 예측 코드(806)는 적어도 하나의 프로세서로 하여금, 이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 예측하게 하도록 구성된다.
제1 잔차 코드(807)는 적어도 하나의 프로세서로 하여금, 블록들의 제1 세트 내 현재의 블록 및 예측 블록에 기초하여 제1 잔차를 계산하게 하도록 구성된다.
제1 발생 코드(808)는 적어도 하나의 프로세서로 하여금, 제1 잔차에 기초하여 복구된 잔차를 발생시키게 하도록 구성된다.
제1 파티셔닝 코드(809)는 적어도 하나의 프로세서로 하여금, 제1 예측 블록을 파티셔닝하고 복구된 잔차를 가산하여 제2 복구된 블록을 획득하게 하도록 구성된다.
병합 코드(810)는 적어도 하나의 프로세서로 하여금, 현재 복구된 블록들의 각각을 병합하여 복원된 이미지를 획득하게 하도록 구성된다.
도 8은 예시적인 장치의 블록들을 나타내지만, 일부 구현예들에서, 본 장치는 도 8에 도시된 것보다 추가적인 블록들, 더 적은 블록들, 상이한 블록들, 또는 상이하게 배열된 블록들을 포함할 수도 있다. 추가적으로, 또는 대안적으로, 본 장치의 블록들 중 2개 이상이 결합될 수도 있다.
본 실시형태들은 원래 이미지 픽셀들에 대한 인트라-예측을 이용하는 적응적 블록 파티션 및 블록 압축 방법 선택의 아이디어, 및 인트라-예측 잔차 발생 및 블록-단위 신경 압축을 위해 상이한 블록 사이즈들을 이용하는 아이디어를 설명한다. 이 NIC 인코딩 및 디코딩의 방법은 유리하게는, 상이한 인트라-예측 방법들, 잔차들 및 원래 이미지 블록들 둘 모두에 대한 상이한 신경 압축 방법들, 상이한 마이크로-블록 및 블록 파티션들을 수용하는 유연하고 일반적인 프레임워크를 초래한다.
제안된 NIC 코딩 방법들은 별도로 이용되거나 또는 임의의 순서로 결합될 수도 있다. 또, 방법들(또는, 실시형태들), 인코더, 및 디코더의 각각은 프로세싱 회로부(예컨대, 하나 이상의 프로세서들 또는 하나 이상의 집적 회로들)에 의해 구현될 수도 있다. 일 예에서, 하나 이상의 프로세서들은 비일시적 컴퓨터-판독가능 매체에 저장된 프로그램을 실행한다.
전술한 개시물은 예시 및 설명을 제공하지만, 구현예들을 완전하거나 또는 개시된 정확한 형태로 한정하려는 것은 아니다. 변경들 및 변형들이 상기 개시내용에 비추어 가능하거나 또는 구현예들의 실시로부터 획득될 수도 있다.
본원에서 사용될 때, 용어 컴포넌트는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로서 넓게 해석되도록 의도된다.
본원에서 설명되는, 시스템들 및/또는 방법들이 상이한 유형들의 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수도 있음은 명백할 것이다. 이들 시스템들 및/또는 방법들을 구현하는데 사용되는 실제 특수화된 제어 하드웨어 또는 소프트웨어 코드는 구현예들을 제한하지 않는다. 따라서, 시스템들 및/또는 방법들의 동작 및 거동이 특정의 소프트웨어 코드에 대한 참조 없이 본원에서 설명되었지만, 소프트웨어 및 하드웨어가 본원의 설명에 기초하여 시스템들 및/또는 방법들을 구현하도록 설계될 수도 있는 것으로 이해해야 한다.
특징들의 조합들이 청구범위에 인용되거나 및/또는 명세서에 개시되지만, 이들 조합들은 가능한 구현예들의 개시를 제한하도록 의도되지 않는다. 실제로, 이들 특징들 중 다수가 청구범위에서 구체적으로 인용되고/되거나 명세서에서 개시되지 않은 방법들로 결합될 수도 있다. 아래에 열거된 각각의 종속항은 오직 하나의 청구항에만 직접 종속할 수도 있지만, 가능한 구현예들의 개시는 청구항 세트에서의 모든 다른 청구항과 조합하여 각각의 종속항을 포함한다.
본원에서 사용되는 엘리먼트, 행위, 또는 명령은 중요하거나 또는 필수적인 것으로, 명시적으로 설명되지 않는 한, 해석되지 않을 수도 있다. 또한, 본원에서 사용할 때, 단수표현은 하나 이상의 아이템들을 포함하도록 의도되며, "하나 이상의"와 상호교환가능하게 사용될 수도 있다. 더욱이, 본원에서 사용할 때, 용어 "세트"는 하나 이상의 아이템들(예컨대, 관련된 아이템들, 비관련된 아이템들, 관련된 아이템과 비관련된 아이템의 조합, 등)을 포함하도록 의도되며, "하나 이상의"와 상호교환가능하게 사용될 수도 있다. 오직 하나의 아이템만이 의도되는 경우, 용어 "하나의" 또는 유사한 언어가 사용된다. 또한, 본원에서 사용할 때, 용어들 "갖는다", "가진다", "갖는", 또는 기타 등등은 제한없는 용어들로 의도된다. 또, 어구 "에 기초하여"는 명시적으로 달리 언급되지 않는 한, "에 적어도 부분적으로 기초하여"를 의미하도록 의도된다.

Claims (20)

  1. 적응적 인트라-예측에 의한 신경 이미지 압축의 방법으로서,
    상기 방법은 적어도 하나의 프로세서에 의해 수행되며,
    상기 방법은,
    최적의 파티션을 수신하는 단계;
    블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하는 단계;
    상기 블록들의 제1 세트 내 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하고, 상기 수신된 블록 선택 신호에 기초하여, 제1 복구 및 제2 복구 중 하나를 수행하는 단계; 및
    복원된 이미지를 획득하기 위해 상기 현재 복구된 블록들을 병합하는 단계를 포함하며;
    상기 제1 복구는
    제1 신경망을 이용하여 상기 블록들의 제1 세트 내 블록을 압축하여, 제1 압축된 표현을 계산하는 것; 및
    제2 신경망을 이용하여 상기 제1 압축된 표현을 압축해제하여 상기 제1 복구된 블록을 계산하는 것을 포함하며,
    상기 제2 복구는
    이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 계산하는 것;
    상기 블록들의 제1 세트 내 현재의 블록 및 상기 예측 블록에 기초하여 제1 잔차를 계산하는 것;
    상기 제1 잔차에 기초하여 복구된 잔차를 발생시키는 것; 및
    상기 제1 예측 블록을 파티셔닝하고 상기 복구된 잔차를 가산하여 상기 제2 복구된 블록을 획득하는 것을 포함하는, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  2. 제1항에 있어서,
    상기 입력을 마이크로-블록들의 세트로 파티셔닝하고, 그리고 상기 마이크로-블록들의 세트 내 각각의 마이크로-블록을 블록들의 제2 세트로 재-파티셔닝하고, 그리고 각각의 블록에 대해:
    상기 입력으로부터 선택된 픽셀들의 세트에 기초하여 제2 예측 블록을 계산하는 단계;
    제1 계산 및 제2 계산을 동시에 수행하는 단계; 및
    상기 제1 계산 및 상기 제2 계산에 기초하여 상기 블록 선택 신호를 발생시키는 단계를 더 포함하며,
    상기 제1 계산은
    상기 블록들의 제2 세트 내 블록 및 상기 제2 예측 블록에 기초하여 제2 잔차를 계산하는 것;
    제2 압축된 잔차 표현에 기초하여 제2 복원 블록을 발생시키는 것; 및
    상기 블록들의 제2 세트, 상기 제2 복원 블록, 및 상기 제2 압축된 잔차 표현에 기초하여 제1 품질 손실을 계산하는 것을 포함하며,
    상기 제2 계산은
    상기 블록들의 제2 세트 내 블록을 압축하여 제2 압축된 표현을 계산하는 것;
    상기 제2 압축된 표현을 압축해제하여 제3 복구된 블록을 계산하는 것; 및
    상기 블록들의 제2 세트, 상기 제3 복구된 블록 및 상기 제2 압축된 표현에 기초하여 제2 품질 손실을 발생시키는 것을 포함하는, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  3. 제2항에 있어서,
    상기 제1 품질 손실이 상기 제2 품질 손실 미만인 것에 기초하여, 상기 블록 선택 신호는 상기 제2 잔차가 상기 제2 압축된 잔차 표현을 발생시키는데 이용될 것이라는 것을 표시하며,
    상기 제2 품질 손실이 상기 제1 품질 손실 미만인 것에 기초하여, 상기 블록 선택 신호는 상기 블록들의 제2 세트 내 블록이 상기 압축된 표현을 발생시키는데 이용될 것이라는 것을 표시하는, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  4. 제1항에 있어서,
    상기 제1 잔차를 제1 잔차 블록들로 파티셔닝하는 단계를 더 포함하며;
    상기 복구된 잔차는 제3 신경망을 이용하여 상기 제1 잔차 블록들에 포함된 블록을 압축하여 제1 압축된 잔차 표현을 획득함으로써 발생되며;
    상기 제1 압축된 잔차 표현은 상기 복구된 잔차를 획득하기 위해 제4 신경망을 이용하여 압축해제되는, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  5. 제4항에 있어서,
    상기 제1 신경망, 제2 신경망, 제3 신경망, 및 제4 신경망 각각은,
    가중치 계수를 초기화하고; 그리고
    전체 손실을 계산하고 상기 전체 손실의 기울기를 역전파하여 학습가능한 파라미터를 업데이트함으로써, 훈련되는, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  6. 제2항에 있어서,
    상기 픽셀들의 세트는 상기 이전에 복구된 블록들의 세트 및 상기 이전에 복구된 마이크로-블록들의 세트 중 하나로부터 선택되는, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  7. 제2항에 있어서,
    상기 입력을 복수의 방법들로 파티셔닝하는 단계를 더 포함하며,
    상기 최적의 파티션 방법은 상기 입력을 파티셔닝하여 상기 블록들의 제2 세트로부터 품질 손실을 최소화하는 방법인, 적응적 인트라-예측에 의한 신경 이미지 압축의 방법.
  8. 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치로서,
    상기 장치는
    프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 명령되는 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함하며,
    상기 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금, 최적의 파티션을 수신하게 하도록 구성된 제1 수신 코드;
    상기 적어도 하나의 프로세서로 하여금, 블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하게 하도록 구성된 제2 수신 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 블록들의 제1 세트 내 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하게 하고, 그리고 제1 복구 코드 및 제2 복구 코드 중 하나를 실행하게 하도록 구성된 제3 수신 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 현재 복구된 블록들 각각을 병합하여 복원된 이미지를 획득하게 하도록 구성된 병합 코드를 포함하며,
    상기 제1 복구는
    상기 적어도 하나의 프로세서로 하여금, 제1 신경망을 이용하여 상기 블록들의 제1 세트 내 블록을 압축하여 제1 압축된 표현을 계산하게 하도록 구성된 제1 압축 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 제2 신경망을 이용하여 상기 제1 압축된 표현을 압축해제하여 상기 제1 복구된 블록을 계산하게 하도록 구성된 제1 압축해제 코드를 포함하며;
    상기 제2 복구는
    상기 적어도 하나의 프로세서로 하여금, 이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 예측하게 하도록 구성된 제1 예측 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 블록들의 제1 세트 내 현재의 블록 및 상기 예측 블록에 기초하여 제1 잔차를 계산하게 하도록 구성된 제1 잔차 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 잔차에 기초하여 복구된 잔차를 발생시키게 하도록 구성된 제1 발생 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 예측 블록을 파티셔닝하고 상기 복구된 잔차를 가산하여 상기 제2 복구된 블록을 획득하게 하도록 구성된 제1 파티셔닝 코드를 포함하는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  9. 제8항에 있어서,
    상기 적어도 하나의 프로세서로 하여금, 상기 입력을 마이크로-블록들의 세트로 파티셔닝하게 하고 상기 마이크로-블록들의 세트 내 각각의 마이크로-블록을 블록들의 제2 세트로 재-파티셔닝하게 하도록 구성된 제2 파티셔닝 코드, 및 각각의 블록에 대해:
    상기 적어도 하나의 프로세서로 하여금, 상기 입력으로부터 선택된 픽셀들의 세트에 기초하여 제2 예측 블록을 예측하게 하도록 구성된 제2 예측 코드;
    상기 적어도 하나의 프로세서로 하여금, 제1 계산 및 제2 계산을 동시에 실행하게 하도록 구성된 실행 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 계산 및 상기 제2 계산에 기초하여 상기 블록 선택 신호를 발생시키게 하도록 구성된 블록 선택 코드를 더 포함하며,
    상기 제1 계산은
    상기 적어도 하나의 프로세서로 하여금, 상기 블록들의 제2 세트 내 블록 및 상기 제2 예측 블록에 기초하여 제2 잔차를 계산하게 하도록 구성된 제1 잔차 코드;
    상기 적어도 하나의 프로세서로 하여금, 제2 압축된 잔차 표현에 기초하여 제2 복원 블록을 발생시키게 하도록 구성된 제2 발생 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 블록들의 제2 세트, 상기 제2 복원 블록, 및 상기 제2 압축된 잔차 표현에 기초하여 제1 품질 손실을 계산하게 하도록 구성된 제1 품질 손실 코드를 포함하며,
    상기 제2 계산은
    상기 적어도 하나의 프로세서로 하여금, 상기 블록들의 제2 세트 내 블록을 압축하여 제2 압축된 표현을 계산하게 하도록 구성된 제2 압축 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 제2 압축된 표현을 압축해제하여 제3 복구된 블록을 계산하게 하도록 구성된 제2 압축해제 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 블록들의 제2 세트, 상기 제3 복구된 블록 및 상기 제2 압축된 표현에 기초하여 제2 품질 손실을 계산하게 하도록 구성된 제2 품질 손실 코드를 포함하는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  10. 제8항에 있어서,
    상기 제1 품질 손실이 상기 제2 품질 손실 미만인 것에 기초하여, 상기 블록 선택 신호는 상기 제2 잔차가 상기 제2 압축된 잔차 표현을 발생시키는데 이용될 것이라는 것을 표시하며,
    상기 제2 품질 손실이 상기 제1 품질 손실 미만인 것에 기초하여, 상기 블록 선택 신호는 상기 블록들의 제2 세트 내 블록이 상기 압축된 표현을 발생시키는데 이용될 것이라는 것을 표시하는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  11. 제8항에 있어서,
    상기 프로세서들 중 적어도 하나로 하여금, 상기 제1 잔차를 제1 잔차 블록들로 파티셔닝하게 하도록 구성된 잔차 파티셔닝 코드를 더 포함하며,
    상기 복구된 잔차는 제3 신경망을 이용하여 상기 제1 잔차 블록들에 포함된 블록을 압축하여 제1 압축된 잔차 표현을 획득함으로써 발생되며;
    상기 제1 압축된 잔차 표현은 상기 복구된 잔차를 획득하기 위해 제4 신경망을 이용하여 압축해제되는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  12. 제11항에 있어서,
    상기 제1 신경망, 제2 신경망, 제3 신경망, 및 제4 신경망 각각은
    가중치 계수를 초기화하고; 그리고
    전체 손실을 계산하고 상기 전체 손실의 기울기를 역전파하여 학습가능한 파라미터를 업데이트함으로써 훈련되는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  13. 제9항에 있어서,
    상기 픽셀들의 세트는 상기 이전에 복구된 블록들의 세트 및 상기 이전에 복구된 마이크로-블록들의 세트 중 하나로부터 선택되는, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  14. 제9항에 있어서,
    상기 제2 파티셔닝 코드는 상기 적어도 하나의 프로세서로 하여금,
    상기 입력을 복수의 방법들로 파티셔닝하게 하도록 추가로 구성되며,
    상기 최적의 파티션은 상기 입력을 파티셔닝하여 상기 블록들의 제2 세트로부터 품질 손실을 최소화하는 방법인, 적응적 인트라-예측에 의한 신경 이미지 압축을 위한 장치.
  15. 명령들을 저장한 비일시적 컴퓨터-판독가능 매체로서,
    상기 명령들은, 적응적 인트라-예측에 의한 신경 이미지 압축을 위해 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금,
    최적의 파티션을 수신하게 하고;
    블록들의 제1 세트를 포함하는 입력의 압축된 표현을 수신하게 하고;
    상기 블록들의 제1 세트 내 각각의 블록에 대해, 제1 복구된 블록 및 제2 복구된 블록 중 하나를 현재 복구된 블록으로서 표시하는 블록 선택 신호를 수신하게 하고 제1 복구 및 제2 복구 중 하나를 실행하게 하고;
    상기 현재 복구된 블록들 각각을 병합하여 복원된 이미지를 획득하게 하며,
    상기 제1 복구는
    제1 신경망을 이용하여 상기 블록들의 제1 세트 내 블록을 압축하여 제1 압축된 표현을 계산하는 것; 및
    제2 신경망을 이용하여 상기 제1 압축된 표현을 압축해제하여 상기 제1 복구된 블록을 계산하는 것을 포함하며,
    상기 제2 복구는
    이전에 복구된 블록들의 세트 및 이전에 복구된 마이크로-블록들의 세트에 기초하여 제1 예측 블록을 예측하는 것;
    상기 블록들의 제1 세트 내 현재의 블록 및 상기 예측 블록에 기초하여 제1 잔차를 계산하는 것;
    상기 제1 잔차에 기초하여 복구된 잔차를 발생시키는 것; 및
    상기 제1 예측 블록을 파티셔닝하고 상기 복구된 잔차를 가산하여 상기 제2 복구된 블록을 획득하는 것을 포함하는, 비일시적 컴퓨터-판독가능 매체.
  16. 제15항에 있어서,
    상기 명령들은, 상기 적어도 하나의 프로세서에 의해 실행될 때, 추가로, 상기 적어도 하나의 프로세서로 하여금,
    상기 입력을 마이크로-블록들의 세트로 파티셔닝하게 하고 상기 마이크로-블록들의 세트 내 각각의 마이크로-블록을 블록들의 제2 세트로 재-파티셔닝하게 하고, 그리고 각각의 블록에 대해:
    상기 입력으로부터 선택된 픽셀들의 세트에 기초하여 제2 예측 블록을 예측하게 하고;
    제1 계산 및 제2 계산을 동시에 실행하게 하고;
    상기 제1 계산 및 상기 제2 계산에 기초하여 상기 블록 선택 신호를 발생시키게 하며,
    상기 제1 계산은
    상기 블록들의 제2 세트 내 블록 및 상기 제2 예측 블록에 기초하여 제2 잔차를 계산하는 것;
    제2 압축된 잔차 표현에 기초하여 제2 복원 블록을 발생시키는 것; 및
    상기 블록들의 제2 세트, 상기 제2 복원 블록, 및 상기 제2 압축된 잔차 표현에 기초하여 제1 품질 손실을 계산하는 것을 포함하며,
    상기 제2 계산은
    상기 블록들의 제2 세트 내 블록을 압축하여 제2 압축된 표현을 계산하는 것;
    상기 제2 압축된 표현을 압축해제하여 제3 복구된 블록을 계산하는 것; 및
    상기 블록들의 제2 세트, 상기 제3 복구된 블록 및 상기 제2 압축된 표현에 기초하여 제2 품질 손실을 계산하는 것을 포함하는, 비일시적 컴퓨터-판독가능 매체.
  17. 제15항에 있어서,
    상기 제1 품질 손실이 상기 제2 품질 손실 미만인 것에 기초하여, 상기 블록 선택 신호는 상기 제2 잔차가 상기 제2 압축된 잔차 표현을 발생시키는데 이용될 것이라는 것을 표시하며,
    상기 제2 품질 손실이 상기 제1 품질 손실 미만인 것에 기초하여, 상기 블록 선택 신호는 상기 블록들의 제2 세트 내 블록이 상기 압축된 표현을 발생시키는데 이용될 것이라는 것을 표시하는, 비일시적 컴퓨터-판독가능 매체.
  18. 제15항에 있어서,
    상기 명령들은, 상기 적어도 하나의 프로세서에 의해 실행될 때, 추가로, 상기 적어도 하나의 프로세서로 하여금,
    상기 제1 잔차를 제1 잔차 블록들로 파티셔닝하게 하며;
    상기 복구된 잔차는 제3 신경망을 이용하여 상기 제1 잔차 블록들에 포함된 블록을 압축하여 제1 압축된 잔차 표현을 획득함으로써 발생되며;
    상기 제1 압축된 잔차 표현은 상기 복구된 잔차를 획득하기 위해 제4 신경망을 이용하여 압축해제되는, 비일시적 컴퓨터-판독가능 매체.
  19. 제18항에 있어서,
    상기 제1 신경망, 제2 신경망, 제3 신경망, 및 제4 신경망 각각은
    가중치 계수를 초기화하고; 그리고
    전체 손실을 계산하고 상기 전체 손실의 기울기를 역전파하여 학습가능한 파라미터를 업데이트함으로써 훈련되는, 비일시적 컴퓨터-판독가능 매체.
  20. 제16항에 있어서,
    상기 명령들은, 상기 적어도 하나의 프로세서에 의해 실행될 때, 추가로, 상기 적어도 하나의 프로세서로 하여금,
    상기 입력을 복수의 방법들로 파티셔닝하게 하며;
    상기 최적의 파티션은 상기 입력을 파티셔닝하여 상기 블록들의 제2 세트로부터 품질 손실을 최소화하는 방법이며;
    상기 픽셀들의 세트는 상기 이전에 복구된 블록들의 세트 및 상기 이전에 복구된 마이크로-블록들의 세트 중 하나로부터 선택되는, 비일시적 컴퓨터-판독가능 매체.
KR1020227036428A 2021-01-19 2021-10-04 적응적 인트라-예측에 의한 신경 이미지 압축 KR20220156896A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163138963P 2021-01-19 2021-01-19
US63/138,963 2021-01-19
US17/488,532 2021-09-29
US17/488,532 US11652994B2 (en) 2021-01-19 2021-09-29 Neural image compression with adaptive intra-prediction
PCT/US2021/053329 WO2022159151A1 (en) 2021-01-19 2021-10-04 Neural image compression with adaptive intra-prediction

Publications (1)

Publication Number Publication Date
KR20220156896A true KR20220156896A (ko) 2022-11-28

Family

ID=82405478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227036428A KR20220156896A (ko) 2021-01-19 2021-10-04 적응적 인트라-예측에 의한 신경 이미지 압축

Country Status (6)

Country Link
US (1) US11652994B2 (ko)
EP (1) EP4088467A4 (ko)
JP (1) JP2023520593A (ko)
KR (1) KR20220156896A (ko)
CN (1) CN115315956A (ko)
WO (1) WO2022159151A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334308B (zh) * 2022-10-14 2022-12-27 北京大学深圳研究生院 一种面向学习模型的编码决策处理方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128935B2 (en) 2012-06-26 2021-09-21 BTS Software Solutions, LLC Realtime multimodel lossless data compression system and method
US10153980B2 (en) 2016-07-19 2018-12-11 Coco Communications Corp Systems and methods for managing network congestion
US10797723B2 (en) 2017-03-14 2020-10-06 International Business Machines Corporation Building a context model ensemble in a context mixing compressor
US10361712B2 (en) * 2017-03-14 2019-07-23 International Business Machines Corporation Non-binary context mixing compressor/decompressor
EP3777141A1 (en) 2018-03-29 2021-02-17 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Intra-prediction mode concept for block-wise picture coding
US11019355B2 (en) * 2018-04-03 2021-05-25 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus using reference frame generated based on deep learning
US10999606B2 (en) * 2019-01-08 2021-05-04 Intel Corporation Method and system of neural network loop filtering for video coding

Also Published As

Publication number Publication date
US11652994B2 (en) 2023-05-16
JP2023520593A (ja) 2023-05-17
US20220232212A1 (en) 2022-07-21
EP4088467A4 (en) 2023-06-21
CN115315956A (zh) 2022-11-08
EP4088467A1 (en) 2022-11-16
WO2022159151A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US11582470B2 (en) Method and apparatus for multi-scale neural image compression with intra-prediction residuals
CN114450938B (zh) 多速率神经图像压缩方法、装置以及电子设备
JP7374340B2 (ja) ニューラル画像圧縮のためのタスク適応型前処理のための方法、装置およびコンピュータプログラム
KR102633549B1 (ko) 대체 신경 잔차 압축을 위한 방법 및 장치
KR20220061223A (ko) 적대적 발생기들에 의한 레이트-적응형 신경 이미지 압축을 위한 방법 및 장치
US11652994B2 (en) Neural image compression with adaptive intra-prediction
KR20230108335A (ko) 신경 이미지 압축을 위한 잠재 공간에서의 대체 품질 인자 학습
JP2023526180A (ja) 滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化
CN114930349A (zh) 用于端到端图像压缩的特征替换的方法和装置
JP7483030B2 (ja) 潜在特徴領域におけるイントラ予測によるニューラル画像圧縮
US11909975B2 (en) Dependent scalar quantization with substitution in neural image compression
US20220405978A1 (en) Non-linear quantization with substitution in neural image compression
US20230186525A1 (en) System, method, and computer program for content adaptive online training for multiple blocks in neural image compression
KR20230012049A (ko) 품질-적응적 신경망-기반 루프 필터에 대한 치환 품질 인자 학습
KR20220166844A (ko) 다중 품질 루프 필터를 위한 마이크로구조화된 파라미터 공유에 의한 다중 작업 신경 네트워크
CN115336261A (zh) 用于通过元学习进行率控制的自适应神经图像压缩的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination