KR20240050971A - Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법 - Google Patents

Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법 Download PDF

Info

Publication number
KR20240050971A
KR20240050971A KR1020220170054A KR20220170054A KR20240050971A KR 20240050971 A KR20240050971 A KR 20240050971A KR 1020220170054 A KR1020220170054 A KR 1020220170054A KR 20220170054 A KR20220170054 A KR 20220170054A KR 20240050971 A KR20240050971 A KR 20240050971A
Authority
KR
South Korea
Prior art keywords
block
transform
neural network
current block
transformation
Prior art date
Application number
KR1020220170054A
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 삼성전자주식회사
Priority to PCT/KR2023/014500 priority Critical patent/WO2024080623A1/ko
Priority to US18/372,409 priority patent/US20240129546A1/en
Publication of KR20240050971A publication Critical patent/KR20240050971A/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • 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/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/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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득하고, 상기 현재 블록에 대한 예측 블록, 상기 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 상기 변환 블록에 대한 변환 커널을 생성하고, 상기 생성된 변환 커널을 상기 변환 블록에 적용하여, 상기 잔차 블록을 획득하고, 상기 잔차 블록 및 상기 예측 블록을 이용하여 상기 현재 블록을 복원하는, AI에 기반한 영상 복호화 방법 및 장치를 제안한다.

Description

AI에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법{IMAGE ENCODING APPARATUS AND IMAGE DECODING APPARATUS BASED ON ARTIFICIAL INTELLIGENCE, AND METHOD FOR ENCODING AND DECONDG IMAGE THEREBY}
본 개시는 영상의 부호화 및 복호화에 관한 것이다. 보다 구체적으로, 본 개시는 AI(Artificial Intelligence), 예를 들어, 신경망을 이용하여 영상을 부호화 및 복호화하는 기술에 관한 것이다.
H.264 AVC(Advanced Video Coding) 및 HEVC(High Efficiency Video Coding)와 같은 코덱에서는, 영상을 블록으로 분할하고, 각각의 블록을 예측하여 원본 블록과 예측 블록의 차이인 잔차 블록을 변환하여 변환 블록을 획득하고, 변환 블록을 양자화하고 엔트로피 부호화하여 비트스트림으로 전송할 수 있다.
전송된 비트스트림으로부터 엔트로피 복호화하고 역양자화하여 획득된 변환 블록을 역변환하여 잔차 블록을 획득하고, 예측을 통해 획득된 예측 블록과 잔차 블록을 이용하여 블록을 복원할 수 있다.
최근, AI(Artificial Intelligent)를 이용하여 영상을 부호화/복호화하는 기술들이 제안되고 있는데, AI, 예를 들어, 신경망을 이용하여 변환 또는 역변환을 수행함으로써, 영상을 효과적으로 부호화/복호화하는 방안이 요구된다.
일 실시예에 따른 AI에 기반한 영상 복호화 방법은, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득하는 단계; 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 변환 블록에 대한 변환 커널 을 생성하는 단계; 생성된 변환 커널을 변환 블록에 적용하여, 잔차 블록을 획득하는 단계; 및 잔차 블록 및 예측 블록을 이용하여 상기 현재 블록을 복원하는 단계를 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득할 수 있다. 적어도 하나의 프로세서는, 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 변환 블록에 대한 변환 커널을 생성할 수 있다. 적어도 하나의 프로세서는, 생성된 변환 커널을 변환 블록에 적용하여, 잔차 블록을 획득할 수 있다. 적어도 하나의 프로세서는, 잔차 블록 및 상기 예측 블록을 이용하여 상기 현재 블록을 복원할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 방법은, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득하는 단계; 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 잔차 블록의 변환 블록에 대한 변환 커널을 생성하는 단계; 생성된 변환 커널을 잔차 블록에 적용하여 변환 블록을 획득하는 단계; 및 변환 블록을 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득할 수 있다. 적어도 하나의 프로세서는, 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 잔차 블록의 변환 블록에 대한 변환 커널을 생성할 수 있다. 적어도 하나의 프로세서는, 생성된 변환 커널을 잔차 블록에 적용하여 변환 블록을 획득할 수 있다. 적어도 하나의 프로세서는, 변환 블록을 포함하는 비트스트림을 생성할 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 방법은, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득하는 단계; 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성하는 단계; 및 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 현재 블록을 복원하는 단계를 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득할 수 있다. 적어도 하나의 프로세서는, 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성할 수 있다. 적어도 하나의 프로세서는, 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 현재 블록을 복원할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 방법은, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득하는 단계; 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성하는 단계; 코딩 컨텍스트 특징 맵 및 잔차 블록을 제2 신경망에 적용하여 변환 블록에 대응하는 변환 특징 맵을 획득하는 단계; 및 변환 특징 맵을 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득할 수 있다. 적어도 하나의 프로세서는, 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성할 수 있다. 적어도 하나의 프로세서는, 코딩 컨텍스트 특징 맵 및 잔차 블록을 제2 신경망에 적용하여 변환 블록에 대응하는 변환 특징 맵을 획득할 수 있다. 적어도 하나의 프로세서는, 변환 특징 맵을 포함하는 비트스트림을 생성할 수 있다.
도 1은 영상의 부호화 및 복호화 과정을 도시하는 도면이다.
도 2는 영상으로부터 트리 구조에 따라 분할된 블록들을 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법의 순서도이다.
도 10은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 장치의 구성을 도시하는 도면이다.
도 11은 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 방법의 순서도이다.
도 12는 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 장치의 구성을 도시하는 도면이다.
도 13은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법의 순서도이다.
도 14는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 장치의 구성을 도시하는 도면이다.
도 15는 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 방법의 순서도이다.
도 16은 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 장치의 구성을 도시하는 도면이다.
도 17은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법및 AI에 기반한 영상 복호화 방법에서 이용되는 신경망들의 훈련 방법을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법및 AI에 기반한 영상 복호화 방법에서 이용되는 신경망들의 훈련 방법을 설명하기 위한 도면이다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 개시에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
또한, 본 개시에서, '영상(image) 또는 픽처(picture)'는 정지영상(또는 프레임), 복수의 연속된 정지영상으로 구성된 동영상, 또는 비디오를 의미할 수 있다.
본 개시에서 '신경망(neural network)'은 뇌 신경을 모사한 인공 신경망 모델의 대표적인 예시로서, 특정 알고리즘을 사용한 인공 신경망 모델로 한정되지 않는다. 신경망은 심층 신경망(deep neural network)으로 참조될 수도 있다.
본 개시에서 '파라미터(parameter)'는 신경망을 이루는 각 레이어의 연산 과정에서 이용되는 값으로서, 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용될 수 있다. 파라미터는 훈련의 결과로 설정되는 값으로서, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.
본 개시에서, '샘플'은 영상, 블록, 또는 특징 데이터 등의 1차원 또는 2차원 데이터 내 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미한다. 예를 들어, 샘플은 2차원의 영상 내 픽셀을 포함할 수 있다. 2차원의 데이터는 '맵'으로 참조될 수도 있다.
또한, 본 개시에서 '현재 블록'은 현재의 처리 대상인 블록을 의미한다. 현재 블록은 현재 영상으로부터 분할된 슬라이스, 타일, 최대 부호화 단위, 부호화 단위, 예측 단위 또는 변환 단위일 수 있다.
일 실시예에 따른 영상 복호화 방법, 영상 복호화 장치, 영상 부호화 방법, 및 영상 부호화 장치에 대해 설명하기에 앞서, 도 1 및 도 2를 참조하여 영상의 부호화 및 복호화 과정에 대해 설명한다.
도 1은 영상의 부호화 및 복호화 과정을 도시하는 도면이다.
부호화 장치(110)는 영상에 대한 부호화를 통해 생성된 비트스트림을 복호화 장치(150)로 전송하고, 복호화 장치(150)는 비트스트림을 수신 및 복호화하여 영상을 복원한다
구체적으로, 부호화 장치(110)에서, 예측 부호화부(115)는 인터 예측 및 인트라 예측을 통해 예측 블록을 출력하고, 변환 및 양자화부(120)는 예측 블록과 현재 블록 사이의 잔차 블록의 잔차 샘플들을 변환 및 양자화하여 양자화된 변환 계수를 출력한다. 엔트로피 부호화부(125)는 양자화된 변환 계수를 부호화하여 비트스트림으로 출력한다.
양자화된 변환 계수는 역양자화 및 역변환부(130)을 거쳐 공간 영역의 잔차 샘플들을 포함하는 잔차 블록으로 복원된다. 예측 블록과 잔차 블록이 합해진 복원 블록은 디블로킹 필터링부(135) 및 루프 필터링부(140)를 거쳐 필터링된 블록으로 출력된다. 필터링된 블록을 포함하는 복원 영상은 예측 부호화부(115)에서 다음 입력 영상의 참조 영상으로 사용될 수 있다.
복호화 장치(150)로 수신된 비트스트림은 엔트로피 복호화부(155) 및 역양자화 및 역변환부(160)를 거쳐 공간 영역의 잔차 샘플들을 포함하는 잔차 블록으로 복원된다. 예측 복호화부(175)로부터 출력된 예측 블록과 잔차 블록이 조합되어 복원 블록이 생성되고, 복원 블록은 디블로킹 필터링부(165) 및 루프 필터링부(170)를 거쳐 필터링된 블록으로 출력된다. 필터링된 블록을 포함하는 복원 영상은 예측 복호화부(175)에서 다음 영상에 대한 참조 영상으로 이용될 수 있다.
부호화 장치(110)의 루프 필터링부(140)는 사용자 입력 또는 시스템 설정에 따라 입력된 필터 정보를 이용하여 루프 필터링을 수행한다. 루프 필터링부(140)에 의해 사용된 필터 정보는 엔트로피 부호화부(125)를 통해 복호화 장치(150)로 전송된다. 복호화 장치(150)의 루프 필터링부(170)는 엔트로피 복호화부(155)로부터 입력된 필터 정보에 기초하여 루프 필터링을 수행할 수 있다.
영상의 부호화 및 복호화 과정에서는 영상이 계층적으로 분할되고, 영상으로부터 분할된 블록에 대해 부호화 및 복호화가 수행된다. 영상으로부터 분할된 블록에 대해 도 2를 참조하여 설명한다.
도 2는 영상으로부터 트리 구조에 따라 분할된 블록들을 도시하는 도면이다.
하나의 영상(200)은 하나 이상의 슬라이스(Slice) 혹은 하나 이상의 타일(Tile)로 분할될 수 있다. 하나의 슬라이스는 복수의 타일을 포함할 수 있다.
하나의 슬라이스 혹은 하나의 타일은 하나 이상의 최대 부호화 단위(Maximum Coding Unit; Maximum CU)의 시퀀스일 수 있다.
하나의 최대 부호화 단위는 하나 이상의 부호화 단위로 분할될 수 있다. 부호화 단위는 예측 모드를 결정하기 위한 기준 블록일 수 있다. 다시 말하면, 각각의 부호화 단위에 대해 인트라 예측 모드가 적용되는지, 인터 예측 모드가 적용되는지가 결정될 수 있다. 본 개시에서 최대 부호화 단위는 최대 부호화 블록으로 참조될 수 있고, 부호화 단위는 부호화 블록으로 참조될 수 있다.
부호화 단위의 크기는 최대 부호화 단위와 동일하거나, 최대 부호화 단위보다 작을 수 있다. 최대 부호화 단위는 최대 크기를 가지는 부호화 단위이므로, 부호화 단위로 참조될 수도 있다.
부호화 단위로부터 인트라 예측 또는 인터 예측을 위한 하나 이상의 예측 단위가 결정될 수 있다. 예측 단위의 크기는 부호화 단위와 동일하거나, 부호화 단위보다 작을 수 있다.
또한, 부호화 단위로부터 변환 및 양자화를 위한 하나 이상의 변환 단위가 결정될 수 있다. 변환 단위의 크기는 부호화 단위와 동일하거나, 부호화 단위보다 작을 수 있다. 변환 단위는 변환 및 양자화를 위한 기준 블록으로서, 부호화 단위의 잔차 샘플들이 부호화 단위 내의 변환 단위별로 변환 및 양자화될 수 있다.
본 개시에서 현재 블록은 영상(200)으로부터 분할된 슬라이스, 타일, 최대 부호화 단위, 부호화 단위, 예측 단위 또는 변환 단위일 수 있다. 또한, 현재 블록의 하위 블록은 현재 블록으로부터 분할된 블록으로서, 예를 들어, 현재 블록이 최대 부호화 단위이면, 하위 블록은 부호화 단위, 예측 단위 또는 변환 단위일 수 있다. 또한, 현재 블록의 상위 블록은 현재 블록을 일부로 포함하는 블록으로서, 예를 들어, 현재 블록이 최대 부호화 단위이면, 상위 블록은 픽처 시퀀스, 픽처, 슬라이스 또는 타일일 수 있다.
이하에서는, 도 3 내지 도 18을 참조하여, 일 실시예에 따른 AI에 기반한 비디오 복호화 방법, AI에 기반한 비디오 복호화 장치, AI에 기반한 비디오 부호화 방법, 및 AI에 기반한 비디오 부호화 장치에 대해 설명한다.
도 3 내지 도 5는 신경망을 통해 학습된 변환 커널을 이용하는 선형 변환(linear transform)에 관한 것이고, 도 6 내지 도 8은 신경망을 통해 변환 및 역변환이 수행된 결과가 출력되는 비선형 변환(non-linear transform)에 관한 것이다.
도 3은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 3을 참고하면, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(303)의 차이인 현재 블록의 잔차 블록(301)이 변환(315)의 대상이 된다. 잔차 블록(301)의 변환(315)을 위한 변환 커널을 획득하기 위해 변환 커널 생성 신경망(310)이 이용된다. 변환 커널 생성 신경망(310)에는 현재 블록의 주변 픽셀들(302), 즉, 참조 픽셀들, 현재 블록의 예측 블록(303), 및 코딩 컨텍스트 정보(304)가 입력되고, 변환 커널 생성 신경망(310)으로부터 변환 커널(311)이 출력된다. 잔차 블록(301)과 변환 커널(311)을 행렬 곱셈(Matrix multiplication)하여 변환(315)된 잔차 블록(301)의 변환 블록(320)이 획득된다. 변환 블록(320)은 양자화되고 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 블록(320)은 엔트로피 복호화되고 역양자화된 후, 역변환(325)이 수행된다. 역변환(325)을 위한 역변환 커널을 획득하기 위해 역변환 커널 생성 신경망(330)이 이용된다. 역변환 커널 생성 신경망(330)에는 현재 블록의 주변 픽셀들(302), 즉, 참조 픽셀들, 현재 블록의 예측 블록(303), 및 코딩 컨텍스트 정보(304)가 입력되고, 역변환 커널 생성 신경망(330)으로부터 역변환 커널(331)이 출력된다. 역양자화된 잔차 블록과 역변환 커널(331)을 행렬 곱셈(Matrix multiplication)하여 역변환(325)된 잔차 블록(335)이 획득된다. 잔차 블록(335)과 예측 블록(303)을 더함(340)으로써 현재 블록의 복원 블록(345)이 획득된다.
도 3의 AI에 기반한 영상 부호화 및 복호화 과정을 통해, 다양한 블록들에 대하여 적합하지 않은 종래의 코덱 표준의 고정 커널들(예를 들어, DCT 타입 또는 DST 타입)이 변환에 이용되지 않고, 주변 픽셀들, 예측 블록, 코딩 컨텍스트 정보 등을 이용하여 신경망을 통해 직접 학습된 변환 커널이 이용될 수 있다.
또한, 신경망을 이용하여 학습됨으로써, 변환 커널은 정확도와 비트레이트 사이의 코스트가 밸런스 좋게 훈련되고, 코스트 측면에서의 정확도는 복원되는 블록의 정확도를 보장할 수 있다.
도 3 내지 도 8에서 이용되는 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 분할 트리 구조, 주변 픽셀들의 분할 구조, 현재 블록의 분할 타입, 주변 픽셀들의 분할 타입 등을 포함할 수 있다.
또한, 코딩 컨텍스트 정보에는 비트레이트와 품질의 균형을 맞추기 위해 압축 정도가 얼마나 강한지에 대한 컨텍스트 및 잔차 블록의 통계 정보를 제공하기 위해 현재 코딩 상태에 대한 컨텍스트 등이 포함될 수 있다.
변환 커널 및 역변환 커널은 율-왜곡(rate-distortion) 측면에서 효율적인 변환을 위해 하나의 조밀한 커널(dense kernel)이 이용될 수 있다.
구체적으로, 부호화 측에서, 잔차 블록(301)의 크기가 MxN이면, 현재 블록의 주변 픽셀들(302), 현재 블록의 예측 블록(303), 및 코딩 컨텍스트 정보(304)을 입력으로 하여 변환 커널 생성 신경망(310)으로부터 출력되는 변환 커널(311)는 MNxMN이다. 변환 커널(311)과 잔차 블록(301)의 행렬 곱셈을 위해 잔차 블록(301)은 벡터 형태로 변형되어, MNx1의 형태로 재배열된다. MNxMN의 변환 커널(311)과 MNx1의 잔차 블록(301)은 M2N2 곱셈을 통해 MNx1의 변환 계수들을 포함하는 벡터 형태의 변환 블록(320)을 출력한다. 변환 블록(320)은 양자화되고 엔트로피 부호화되어 비트스트림으로 복호화 측에 전달된다. 복호화 측에서 비트스트림으로부터 획득된 변환 블록(320)은 엔트로피 복호화되고 역양자화된다. 현재 블록의 주변 픽셀들(302), 현재 블록의 예측 블록(303), 및 코딩 컨텍스트 정보(304)을 입력으로 하여 역변환 커널 생성 신경망(330)으로부터 출력되는 역변환 커널(331)는 MNxMN이다. MNxMN의 역변환 커널(331)과 MNx1의 변환 계수들을 포함하는 벡터 형태의 변환 블록(320)은 M2N2 곱셈을 통해 MNx1의 역변환(325)된 잔차 블록(335)이 획득된다. MNx1의 잔차 블록(335)은 MxN의 블록 형태로 다시 재배열된다. MxN의 잔차 블록(335)과 MxN의 예측 블록(303)을 더함(340)으로써 MxN의 현재 블록의 복원 블록(345)이 획득된다.
또한, 변환 커널 및 역변환 커널은 계산의 측면에서 효율적인 변환을 위해 분리가능한(seperable) 변환 커널(예를 드랑, 크로네커(Kronecker) 커널)이 이용될 수 있다.
구체적으로, 부호화 측에서, 잔차 블록(301)의 크기가 MxN이면, 현재 블록의 주변 픽셀들(302), 현재 블록의 예측 블록(303), 및 코딩 컨텍스트 정보(304)을 입력으로 하여 변환 커널 생성 신경망(310)으로부터 출력되는 변환 커널(311)는 MxM의 좌측 변환 커널과 NxN의 우측 변환 커널의 2개의 변환 커널들을 포함한다. 변환을 위해, MxM의 좌측 변환 커널, MxN의 잔차 블록(301), NxN의 우측 변환 커널의 행렬 곱셈이 수행된다. 이 경우, 하나의 변환 커널이 이용되는 경우와 달리, M2N2 곱셈이 아니라 M2 곱셈과 N2 곱셈이 수행되므로, 상대적으로 곱셈 계산의 크기가 작으므로, 계산의 측면에서 효율적이다. 행렬 곱셈을 통해, MxN의 변환 블록(320)이 획득된다. 변환 블록(320)은 양자화되고 엔트로피 부호화되어 비트스트림으로 복호화 측에 전달된다. 복호화 측에서 비트스트림으로부터 획득된 변환 블록(320)은 엔트로피 복호화되고 역양자화된다. 현재 블록의 주변 픽셀들(302), 현재 블록의 예측 블록(303), 및 코딩 컨텍스트 정보(304)을 입력으로 하여 역변환 커널 생성 신경망(330)으로부터 출력되는 역변환 커널(331)는 MxM의 좌측 역변환 커널과 NxN의 우측 역변환 커널의 2개의 변환 커널들을 포함한다. 역변환을 위해, MxM의 좌측 역변환 커널, MxN의 변환 블록(320), NxN의 우측 역변환 커널의 행렬 곱셈이 수행된다. 행렬 곱셈을 통해, MxN의 역변환(325)된 잔차 블록(335)이 획득된다. MxN의 잔차 블록(335)과 MxN의 예측 블록(303)을 더함(340)으로써 MxN의 현재 블록의 복원 블록(345)이 획득된다.
또한, 부호화 측에서는 하나의 변환 커널이 이용되고, 복호화 측에서는 2개의 분리가능한 변환 커널들이 이용될 수 있다.
또한, 부호화 측에서는 2개의 분리가능한 변환 커널들이 이용되고, 복호화 측에서 하나의 변환 커널이 이용될 수 있다.
도 3에서 상술된 블록의 크기에 따른 계산 방식들은 후술되는 도 4 및 도 5에도 동일하게 적용될 수 있다.
도 3에서 이용되는 신경망들의 훈련 방법은 도 17에서 후술된다.
후술되는 도 4 내지 도 5에서는 신경망을 통해 학습된 변환 커널과 종래의 표준에서 이용되는 복수의 고정된 변환 커널들 중 하나가 함께 이용되는 방법이 상술된다.
도 4는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 4를 참고하면, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(403)의 차이인 현재 블록의 잔차 블록(401)이 변환(415)의 대상이 된다. 잔차 블록(401)의 변환(415)을 위한 변환 커널을 획득하기 위해 변환 커널 생성 신경망(410)이 이용된다. 변환 커널 생성 신경망(410)에는 현재 블록의 주변 픽셀들(402), 즉, 참조 픽셀들, 현재 블록의 예측 블록(403), 및 코딩 컨텍스트 정보(404)가 입력되고, 변환 커널 생성 신경망(410)으로부터 변환 커널(411)이 출력된다. 잔차 블록(401)과 변환 커널(411)을 행렬 곱셈(Matrix multiplication)하여 변환(415)된 잔차 블록의 변환 블록(420)이 획득된다. 변환 블록(420)은 양자화되고 엔트로피 부호화되어 복호화 측에 비트스트림)으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 블록(420)은 엔트로피 복호화되고 역양자화된 후, 역변환(425)이 수행된다. 역양자화된 잔차 블록의 역변환(425)을 위해 선형 역변환 커널(430)이 이용된다. 선형 역변환 커널(430)은 종래의 코덱 표준에서 이용되는 DCT (discrete cosine transform) 타입, DST (discrete sine transform) 타입 등의 복수의 고정된 변환 커널 중 하나일 수 있다. 역양자화된 잔차 블록과 선형 역변환 커널(430)을 행렬 곱셈(Matrix multiplication)하여 역변환(425)된 잔차 블록(435)이 획득된다. 잔차 블록(435)과 예측 블록(403)을 더함(440)으로써 현재 블록의 복원 블록(445)이 획득된다.
도 5는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 5를 참고하면, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(503)의 차이인 현재 블록의 잔차 블록(501)이 변환(515)의 대상이 된다. 잔차 블록(501)의 변환(515)을 위해 선형 변환 커널(510)이 이용된다. 선형 변환 커널(510)은 종래의 코덱 표준에서 이용되는 DCT 타입, DST 타입 등의 복수의 고정된 변환 커널 중 하나일 수 있다. 잔차 블록(501)과 선형 변환 커널(511)을 행렬 곱셈(Matrix multiplication)하여 변환(515)된 잔차 블록의 변환 블록(520)이 획득된다. 변환 블록(520)은 양자화되고 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 블록(520)은 엔트로피 복호화되고 역양자화된 후, 역변환(525)이 수행된다. 역변환(525)을 위한 역변환 커널을 획득하기 위해 역변환 커널 생성 신경망(530)이 이용된다. 역변환 커널 생성 신경망(530)에는 현재 블록의 주변 픽셀들(502), 즉, 참조 픽셀들, 현재 블록의 예측 블록(503), 및 코딩 컨텍스트 정보(504)가 입력되고, 역변환 커널 생성 신경망(530)으로부터 역변환 커널(531)이 출력된다. 역양자화된 잔차 블록과 역변환 커널(531)을 행렬 곱셈(Matrix multiplication)하여 역변환(525)된 잔차 블록(535)이 획득된다. 잔차 블록(535)과 예측 블록(503)을 더함(540)으로써 현재 블록의 복원 블록(545)이 획득된다.
도 6은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 6을 참고하면, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(603)의 차이인 현재 블록의 잔차 블록(601)이 변환의 대상이 된다. 잔차 블록(601)의 변환을 위해 변환 신경망(615)과 코딩 컨텍스트 신경망(610)이 이용된다. 코딩 컨텍스트 신경망(610)에는 현재 블록의 주변 픽셀들(602), 즉, 참조 픽셀들, 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)가 입력되고, 코딩 컨텍스트 신경망(610)으로부터 코딩 컨텍스트 특징 맵(611)이 출력된다. 코딩 컨텍스트 특징 맵(611)과 잔차 블록(601)은 변환 신경망(615)에 입력되어 변환 특징 맵(620)이 획득된다. 변환 특징 맵(620)은 양자화되고 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 특징 맵(620)은 엔트로피 복호화되고 역양자화된다. 역변환을 위해 역변환 신경망(625)과 코딩 컨텍스트 신경망(630)이 이용된다. 코딩 컨텍스트 신경망(630)에는 현재 블록의 주변 픽셀들(602), 즉, 참조 픽셀들, 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)가 입력되고, 코딩 컨텍스트 신경망(630)으로부터 코딩 컨텍스트 특징 맵(631)이 출력된다. 역양자화된 변환 특징 맵(620)과 코딩 컨텍스트 특징 맵(631)은 역변환 신경망(625)에 입력되어 역변환된 잔차 블록(635)이 획득된다. 잔차 블록(635)과 예측 블록(603)을 더함(640)으로써 현재 블록의 복원 블록(645)이 획득된다.
구체적으로, 부호화 측에서, 잔차 블록(601)의 크기가 MxN이고, 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)을 입력으로 하여 코딩 컨텍스트 신경망(610)으로부터 출력되는 변환을 위한 코딩 컨텍스트 특징 맵(611)은 M1xN1xC1이다. 코딩 컨텍스트 특징 맵(611)과 잔차 블록(601)은 변환 신경망(615)에 입력되어 M2xN2XC2의 잔차 블록(601)의 변환 계수에 대한 변환 특징 맵(620)이 획득된다. 변환 특징 맵(620)은 양자화되고 엔트로피 부호화되어 비트스트림으로 복호화 측에 전달된다. 복호화 측에서 비트스트림으로부터 획득된 변환 특징 맵(620)은 엔트로피 복호화되고 역양자화된다. 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)을 입력으로 하여 코딩 컨텍스트 신경망(630)으로부터 출력되는 역변환을 위한 코딩 컨텍스트 특징 맵(631)은 M3xN3xC3이다. 역양자화된 변환 특징 맵(620)과 코딩 컨텍스트 특징 맵(631)은 역변환 신경망(625)에 입력되어 역변환된 MxN 크기의 잔차 블록(635)이 획득된다. MxN 크기의 잔차 블록(635)과 MxN 크기의 예측 블록(603)을 더함(640)으로써 현재 블록의 MxN 크기의 복원 블록(645)이 획득된다. 여기서, M, M1, M2, M3는 동일할 필요가 없고 다른 값일 수 있고, N, N1, N2, N3는 동일할 필요가 없고 다른 값일 수 있고, C1, C2, C3는 동일할 필요가 없고 다른 값일 수 있다.
변환 신경망(615)으로부터 출력되는 변환 특징 맵(620)은 비트스트림으로 전송되기 때문에 크기가 제한될 필요가 있다. 따라서, 변환 신경망(615)은 비트레이트를 감소시키기 위해 출력되는 변환 특징 맵(620)의 크기가 입력되는 정보들보다 작은 크기로 출력되도록 훈련된 신경망이고, 역변환 신경망(625)은 입력되는 변환 특징 맵(620)으로부터 데이터를 복원하여 잔차 블록(635)을 출력하도록 훈련된 신경망이다.
변환을 위한 코딩 컨텍스트 신경망(610)은 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)로부터 변환에 필수적인 정보들을 특징 맵의 형태로 출력하는 신경망이고, 역변환을 위한 코딩 컨텍스트 신경망(630)은 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)로부터 역변환에 필수적인 정보들을 특징 맵의 형태로 출력하는 신경망일 수 있다.
또한, 변환을 위한 코딩 컨텍스트 신경망(610)은 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604) 중 일부 정보를 어떠한 처리 없이 그대로 변환 신경망(615)에 입력되도록 전달하고, 역변환을 위한 코딩 컨텍스트 신경망(630)은 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604) 중 일부 정보를 어떠한 처리 없이 그대로 역변환 신경망(625)에 입력되도록 전달할 수 있다.
또한, 변환 신경망(615)의 출력은 변환 후 양자화된 변환 계수에 대한 변환 특징 맵(620)이고, 역변환 신경망(625)의 출력은 역양자화된 후 역변환된 잔차 블록(635)일 수 있다. 즉, 변환 신경망(615)은 변환과 양자화가 함께 수행되는 신경망이고, 역변환 신경망(625)은 역양자화와 변환이 함께 수행되는 신경망일 수 있다.
구체적으로, 부호화 측에서, 잔차 블록(601)의 크기가 MxN이고, 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)을 입력으로 하여 코딩 컨텍스트 신경망(610)으로부터 출력되는 변환을 위한 코딩 컨텍스트 특징 맵(611)은 M1xN1xC1이다. 코딩 컨텍스트 특징 맵(611)과 잔차 블록(601)은 변환 신경망(615)에 입력되어 M2xN2XC2의 잔차 블록(601)의 양자화된 변환 계수에 대한 변환 특징 맵(620)이 획득된다. 변환 특징 맵(620)은 엔트로피 부호화되어 비트스트림으로 복호화 측에 전달된다. 복호화 측에서 비트스트림으로부터 획득된 변환 특징 맵(620)은 엔트로피 복호화된다. 현재 블록의 주변 픽셀들(602), 현재 블록의 예측 블록(603), 및 코딩 컨텍스트 정보(604)을 입력으로 하여 코딩 컨텍스트 신경망(630)으로부터 출력되는 역변환을 위한 코딩 컨텍스트 특징 맵(631)은 M3xN3xC3이다. 엔트로피 복호화된 변환 특징 맵(620)과 코딩 컨텍스트 특징 맵(631)은 역변환 신경망(625)에 입력되어 역양자화되고 역변환된 MxN 크기의 잔차 블록(635)이 획득된다. MxN 크기의 잔차 블록(635)과 MxN 크기의 예측 블록(603)을 더함(640)으로써 현재 블록의 MxN 크기의 복원 블록(645)이 획득된다. 여기서, M, M1, M2, M3는 동일할 필요가 없고 다른 값일 수 있고, N, N1, N2, N3는 동일할 필요가 없고 다른 값일 수 있고, C1, C2, C3는 동일할 필요가 없고 다른 값일 수 있다.
도 6에서 상술된 블록의 크기에 따른 계산 방식들은 후술되는 도 7 및 도 8에도 동일하게 적용될 수 있다.
도 6에서 이용되는 신경망들의 훈련 방법은 도 18에서 후술된다.
도 7은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 7을 참고하면, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(703)의 차이인 현재 블록의 잔차 블록(701)이 변환의 대상이 된다. 잔차 블록(701)의 변환을 위해 변환 신경망(715)과 코딩 컨텍스트 신경망(710)이 이용된다. 코딩 컨텍스트 신경망(710)에는 현재 블록의 주변 픽셀들(702), 즉, 참조 픽셀들, 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704)가 입력되고, 코딩 컨텍스트 신경망(710)으로부터 코딩 컨텍스트 특징 맵(711)이 출력된다. 코딩 컨텍스트 특징 맵(711)과 잔차 블록(701)은 변환 신경망(715)에 입력되어 잔차 블록(701)의 변환 계수에 대한 변환 특징 맵(720)이 획득된다. 변환 특징 맵(720)은 양자화되고 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 특징 맵(720)은 엔트로피 복호화되고 역양자화된다. 역변환을 위해 역변환 신경망(725)과 코딩 컨텍스트 신경망(730)이 이용된다. 코딩 컨텍스트 신경망(730)에는 현재 블록의 주변 픽셀들(702), 즉, 참조 픽셀들, 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704)가 입력되고, 코딩 컨텍스트 신경망(730)으로부터 코딩 컨텍스트 특징 맵(731)이 출력된다. 역양자화된 변환 특징 맵과 코딩 컨텍스트 특징 맵(731)은 역변환 신경망(725)에 입력되어 현재 블록의 복원 블록(745)이 획득된다.
변환 신경망(715)으로부터 출력되는 변환 특징 맵(720)은 비트스트림으로 전송되기 때문에 크기가 제한될 필요가 있다. 따라서, 변환 신경망(715)은 비트레이트를 감소시키기 위해 출력되는 변환 특징 맵(720)의 크기가 입력되는 정보들보다 작은 크기로 출력되도록 훈련된 신경망이고, 역변환 신경망(725)은 입력되는 변환 특징 맵(720)으로부터 데이터를 복원하여 복원 블록(745)을 출력하도록 훈련된 신경망이다.
변환을 위한 코딩 컨텍스트 신경망(710)은 현재 블록의 주변 픽셀들(702), 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704)로부터 변환에 필수적인 정보들을 특징 맵의 형태로 출력하는 신경망이고, 역변환을 위한 코딩 컨텍스트 신경망(730)은 현재 블록의 주변 픽셀들(702), 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704)로부터 역변환에 필수적인 정보들을 특징 맵의 형태로 출력하는 신경망일 수 있다.
또한, 변환을 위한 코딩 컨텍스트 신경망(710)은 현재 블록의 주변 픽셀들(702), 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704) 중 일부 정보를 어떠한 처리 없이 그대로 변환 신경망(715)에 입력되도록 전달하고, 역변환을 위한 코딩 컨텍스트 신경망(730)은 현재 블록의 주변 픽셀들(702), 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704) 중 일부 정보를 어떠한 처리 없이 그대로 역변환 신경망(725)에 입력되도록 전달할 수 있다.
또한, 변환 신경망(715)의 출력은 변환 후 양자화된 변환 계수에 대한 변환 특징 맵(720)이고, 역변환 신경망(725)의 출력은 역양자화된 후 역변환된 복원 블록(745)일 수 있다. 즉, 변환 신경망(715)은 변환과 양자화가 함께 수행되는 신경망이고, 역변환 신경망(725)은 역양자화와 변환이 함께 수행되는 신경망일 수 있다.
구체적으로, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(703)의 차이인 현재 블록의 잔차 블록(701)이 변환의 대상이 된다. 잔차 블록(701)의 변환을 위해 변환 신경망(715)과 코딩 컨텍스트 신경망(710)이 이용된다. 코딩 컨텍스트 신경망(710)에는 현재 블록의 주변 픽셀들(702), 즉, 참조 픽셀들, 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704)가 입력되고, 코딩 컨텍스트 신경망(710)으로부터 코딩 컨텍스트 특징 맵(711)이 출력된다. 코딩 컨텍스트 특징 맵(711)과 잔차 블록(701)은 변환 신경망(715)에 입력되어 잔차 블록(701)의 양자화된 변환 계수에 대한 변환 특징 맵(720)이 획득된다. 변환 특징 맵(720)은 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 특징 맵(720)은 엔트로피 복호화된다. 역변환을 위해 역변환 신경망(725)과 코딩 컨텍스트 신경망(730)이 이용된다. 코딩 컨텍스트 신경망(730)에는 현재 블록의 주변 픽셀들(702), 즉, 참조 픽셀들, 현재 블록의 예측 블록(703), 및 코딩 컨텍스트 정보(704)가 입력되고, 코딩 컨텍스트 신경망(730)으로부터 코딩 컨텍스트 특징 맵(731)이 출력된다. 엔트로피 복호화된 변환 특징 맵과 코딩 컨텍스트 특징 맵(731)은 역변환 신경망(725)에 입력되어 현재 블록의 복원 블록(745)이 획득된다.
도 8은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 및 복호화 과정을 설명하기 위한 도면이다.
도 8을 참고하면, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(803)의 차이인 현재 블록의 잔차 블록(801)이 변환의 대상이 된다. 잔차 블록(801)의 변환을 위해 변환 신경망(815)과 코딩 컨텍스트 신경망(810)이 이용된다. 코딩 컨텍스트 신경망(810)에는 현재 블록의 주변 픽셀들(802), 즉, 참조 픽셀들, 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804)가 입력되고, 코딩 컨텍스트 신경망(810)으로부터 코딩 컨텍스트 특징 맵(811)이 출력된다. 코딩 컨텍스트 특징 맵(811)과 잔차 블록(801)은 변환 신경망(815)에 입력되어 변환 특징 맵(820)이 획득된다. 변환 특징 맵(820)은 양자화되고 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 특징 맵(820)은 엔트로피 복호화되고 역양자화된다. 역변환을 위해 역변환 신경망(825)과 코딩 컨텍스트 신경망(830)이 이용된다. 코딩 컨텍스트 신경망(830)에는 현재 블록의 주변 픽셀들(802), 즉, 참조 픽셀들, 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804)가 입력되고, 코딩 컨텍스트 신경망(830)으로부터 코딩 컨텍스트 특징 맵(831)이 출력된다. 역양자화된 변환 특징 맵과 코딩 컨텍스트 특징 맵(831)은 역변환 신경망(825)에 입력되어 현재 블록의 복원 블록과 현재 블록의 참조 픽셀들을 포함하는 확장된 복원 블록(845)이 획득된다.
현재 블록의 복원 블록과 현재 블록의 참조 픽셀들을 포함하는 확장된 복원 블록(845)이 획득됨으로써, 디블로킹 필터 과정에 도움이 될 수 있다. 즉, 디블로킹 필터링의 결과가 더 나아질 수 있다.
변환 신경망(815)으로부터 출력되는 변환 특징 맵(820)은 비트스트림으로 전송되기 때문에 크기가 제한될 필요가 있다. 따라서, 변환 신경망(815)은 비트레이트를 감소시키기 위해 출력되는 변환 특징 맵(820)의 크기가 입력되는 정보들보다 작은 크기로 출력되도록 훈련된 신경망이고, 역변환 신경망(825)은 입력되는 변환 특징 맵(820)으로부터 데이터를 복원하여 현재 블록의 복원 블록과 현재 블록의 참조 픽셀들을 포함하는 확장된 복원 블록(845)을 출력하도록 훈련된 신경망이다.
변환을 위한 코딩 컨텍스트 신경망(810)은 현재 블록의 주변 픽셀들(802), 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804)로부터 변환에 필수적인 정보들을 특징 맵의 형태로 출력하는 신경망이고, 역변환을 위한 코딩 컨텍스트 신경망(830)은 현재 블록의 주변 픽셀들(802), 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804)로부터 역변환에 필수적인 정보들을 특징 맵의 형태로 출력하는 신경망일 수 있다.
또한, 변환을 위한 코딩 컨텍스트 신경망(810)은 현재 블록의 주변 픽셀들(802), 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804) 중 일부 정보를 어떠한 처리 없이 그대로 변환 신경망(815)에 입력되도록 전달하고, 역변환을 위한 코딩 컨텍스트 신경망(830)은 현재 블록의 주변 픽셀들(802), 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804) 중 일부 정보를 어떠한 처리 없이 그대로 역변환 신경망(825)에 입력되도록 전달할 수 있다.
또한, 변환 신경망(815)의 출력은 변환 후 양자화된 변환 계수에 대한 변환 특징 맵(820)이고, 역변환 신경망(825)의 출력은 역양자화된 후 역변환된 확장된 복원 블록(845)일 수 있다. 즉, 변환 신경망(815)은 변환과 양자화가 함께 수행되는 신경망이고, 역변환 신경망(825)은 역양자화와 변환이 함께 수행되는 신경망일 수 있다.
구체적으로, 부호화 과정에서 현재 블록의 원본 블록과 현재 블록의 예측 블록(803)의 차이인 현재 블록의 잔차 블록(801)이 변환의 대상이 된다. 잔차 블록(801)의 변환을 위해 변환 신경망(815)과 코딩 컨텍스트 신경망(810)이 이용된다. 코딩 컨텍스트 신경망(810)에는 현재 블록의 주변 픽셀들(802), 즉, 참조 픽셀들, 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804)가 입력되고, 코딩 컨텍스트 신경망(810)으로부터 코딩 컨텍스트 특징 맵(811)이 출력된다. 코딩 컨텍스트 특징 맵(811)과 잔차 블록(801)은 변환 신경망(815)에 입력되어 잔차 블록(801)의 양자화된 변환 계수에 대한 변환 특징 맵(820)이 획득된다. 변환 특징 맵(820)은 엔트로피 부호화되어 복호화 측에 비트스트림으로 전달된다.
복호화 과정에서, 비트스트림으로부터 획득된 변환 특징 맵(820)은 엔트로피 복호화된다. 역변환을 위해 역변환 신경망(825)과 코딩 컨텍스트 신경망(830)이 이용된다. 코딩 컨텍스트 신경망(830)에는 현재 블록의 주변 픽셀들(802), 즉, 참조 픽셀들, 현재 블록의 예측 블록(803), 및 코딩 컨텍스트 정보(804)가 입력되고, 코딩 컨텍스트 신경망(830)으로부터 코딩 컨텍스트 특징 맵(831)이 출력된다. 엔트로피 복호화된 변환 특징 맵과 코딩 컨텍스트 특징 맵(831)은 역변환 신경망(825)에 입력되어 현재 블록의 복원 블록과 현재 블록의 참조 픽셀들을 포함하는 확장된 복원 블록(845)이 획득된다.
도 9는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법의 순서도이다.
도 9를 참고하면, 단계 S910에서, AI에 기반한 영상 부호화 장치(1000)는 현재 블록의 예측 블록과 상기 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득한다.
단계 S930에서, AI에 기반한 영상 부호화 장치(1000)는 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 잔차 블록의 변환 블록에 대한 변환 커널을 생성한다.
단계 S950에서, AI에 기반한 영상 부호화 장치(1000)는 생성된 변환 커널을 잔차 블록에 적용하여 변환 블록을 획득한다.
일 실시예에 따라, 생성된 변환 커널은 잔차 블록의 좌측에 적용되는 좌측 변환 커널 및 잔차 블록의 우측에 적용되는 우측 변환 커널을 포함할 수 있다.
단계 S970에서, AI에 기반한 영상 부호화 장치(1000)는 변환 블록을 포함하는 비트스트림을 생성한다.
일 실시예에 따라, 변환 블록은 영상 복호화 과정에서 신경망 기반 변환 커널에 의해 역변환되거나 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널에 의해 역변환될 수 있다.
도 10은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 장치의 구성을 도시하는 도면이다.
도 10을 참고하면, AI에 기반한 영상 부호화 장치(1000)는 잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)를 포함할 수 있다.
잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)는 프로세서로 구현될 수 있다. 잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.
도 10은 잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)를 개별적으로 도시하고 있으나, 잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 잔차 블록 획득부(1010), 변환 커널 생성부(1020), 변환부(1030), 및 생성부(1040)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
잔차 블록 획득부(1010)는 현재 블록의 예측 블록과 상기 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득한다.
변환 커널 생성부(1020)는 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 잔차 블록의 변환 블록에 대한 변환 커널을 생성한다.
변환부(1030)는 생성된 변환 커널을 잔차 블록에 적용하여 변환 블록을 획득한다.
생성부(1040)는 변환 블록을 포함하는 비트스트림을 생성한다.
비트스트림은 AI에 기반한 영상 복호화 장치(1200)에 전송될 수 있다.
도 11은 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 방법의 순서도이다.
도 11을 참고하면, 단계 S1110에서, AI에 기반한 영상 부호화 장치(1200)는 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득한다.
일 실시예에 따라, 변환 블록은 신경망 기반 변환 커널에 의해 변환된 블록 또는 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널에 의해 변환된 블록일 수 있다.
단계 S1130에서, AI에 기반한 영상 부호화 장치(1200)는 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 변환 블록에 대한 변환 커널을 생성한다.
일 실시예에 따라, 코딩 컨텍스트 정보는 상기 현재 블록의 양자화 파라미터, 상기 현재 블록의 분할 트리 구조, 상기 주변 픽셀들의 분할 구조, 상기 현재 블록의 분할 타입, 상기 주변 픽셀들의 분할 타입 중 적어도 하나를 포함할 수 있다.
단계 S1150에서, AI에 기반한 영상 부호화 장치(1200)는 생성된 변환 커널을 변환 블록에 적용하여, 잔차 블록을 획득한다.
일 실시예에 따라, 생성된 변환 커널은 상기 변환 블록의 좌측에 적용되는 좌측 변환 커널 및 상기 변환 블록의 우측에 적용되는 우측 변환 커널을 포함할 수 있다.
단계 S1170에서, AI에 기반한 영상 부호화 장치(1200)는 잔차 블록 및 예측 블록을 이용하여 현재 블록을 복원한다.
도 12는 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 장치의 구성을 도시하는 도면이다.
도 12를 참고하면, AI에 기반한 영상 복호화 장치(1200)는 획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)를 포함할 수 있다.
획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)는 프로세서로 구현될 수 있다. 획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.
도 12는 획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)를 개별적으로 도시하고 있으나, 획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 획득부(1210), 역변환 커널 생성부(1220), 역변환부(1230), 및 복원부(1240)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
획득부(1210)는 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득한다.
비트스트림은 AI에 기반한 영상 부호화 장치(1000)로부터 생성되어 전송될 수 있다.
역변환 커널 생성부(1220)는 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 변환 블록에 대한 변환 커널을 생성한다.
역변환부(1230)는 생성된 변환 커널을 변환 블록에 적용하여, 잔차 블록을 획득한다.
복원부(1240)는 잔차 블록 및 예측 블록을 이용하여 현재 블록을 복원한다.
도 13은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법의 순서도이다.
도 13을 참고하면, 단계 S1310에서, AI에 기반한 영상 부호화 장치(1400)는 현재 블록의 예측 블록과 상기 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득한다.
단계 S1330에서, AI에 기반한 영상 부호화 장치(1400)는 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성한다.
단계 S1350에서, AI에 기반한 영상 부호화 장치(1400)는 코딩 컨텍스트 특징 맵 및 잔차 블록을 제2 신경망에 적용하여 상기 변환 블록에 대응하는 변환 특징 맵을 획득한다.
일 실시예에 따라, 제2 신경망은 양자화된 변환 계수에 대한 변환 특징 맵을 출력할 수 있다.
단계 S1370에서, AI에 기반한 영상 부호화 장치(1400)는 변환 특징 맵을 포함하는 비트스트림을 생성한다.
도 14는 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 장치의 구성을 도시하는 도면이다.
도 14를 참고하면, AI에 기반한 영상 부호화 장치(1400)는 잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)를 포함할 수 있다.
잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)는 프로세서로 구현될 수 있다. 잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.
도 14는 잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)를 개별적으로 도시하고 있으나 잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 잔차 블록 획득부(1410), 코딩 컨텍스트 특징 맵 생성부(1420), 변환부(1430), 및 생성부(1440)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
잔차 블록 획득부(1410)는 현재 블록의 예측 블록과 상기 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득한다.
코딩 컨텍스트 특징 맵 생성부(1420)는 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성한다.
변환부(1430)는 코딩 컨텍스트 특징 맵 및 잔차 블록을 제2 신경망에 적용하여 변환 블록에 대응하는 변환 특징 맵을 획득한다.
생성부(1440)는 변환 특징 맵을 포함하는 비트스트림을 생성한다.
비트스트림은 AI에 기반한 영상 복호화 장치(1600)에 전송될 수 있다.
도 15는 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 방법의 순서도이다.
도 15를 참고하면, 단계 S1510에서, AI에 기반한 영상 복호화 장치(1600)는
단계 S1530에서, AI에 기반한 영상 복호화 장치(1600)는 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득한다.
단계 S1550에서, AI에 기반한 영상 복호화 장치(1600)는 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 상기 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성한다.
단계 S1510에서, AI에 기반한 영상 복호화 장치(1600)는 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 상기 현재 블록을 복원한다.
일 실시예에 따라, 제2 신경망은 역양자화 후 역변환된 결과값을 출력할 수 있다.
일 실시예에 따라, 상기 현재 블록을 복원하는 단계는: 상기 변환 특징 맵과 상기 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 상기 잔차 블록을 획득하는 단계; 및 상기 잔차 블록과 상기 예측 블록을 이용하여 상기 현재 블록을 복원하는 단계를 포함할 수 있다.
일 실시예에 따라, 복원된 현재 블록은 상기 현재 블록의 디블로킹 필터링을 위한 상기 현재 블록의 주변 픽셀들을 더 포함할 수 있다.
도 16은 본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 장치의 구성을 도시하는 도면이다.
도 16을 참고하면, AI에 기반한 영상 복호화 장치(1600)는 획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)를 포함할 수 있다.
획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)는 프로세서로 구현될 수 있다. 획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.
도 16은 획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)를 개별적으로 도시하고 있으나, 획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)는 복수의 프로세서로 구현될 수도 있다. 이 경우, 획득부(1610), 코딩 컨텍스트 특징 맵 생성부(1620), 역변환부(1630), 및 복원부(1640)는 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 프로세서는 인공지능 전용 프로세서를 포함할 수 있다. 다른 예로, 인공지능 전용 프로세서는 프로세서와 별도의 칩으로 구성될 수 있다.
획득부(1610)는 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득한다.
비트스트림은 AI에 기반한 영상 부호화 장치(1400)로부터 생성되어 전송될 수 있다.
코딩 컨텍스트 특징 맵 생성부(1620)는 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망 에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성한다.
역변환부(1630)는 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 잔차 블록을 획득한다.
복원부(1640)는 잔차 블록과 예측 블록을 이용하여 복원 블록을 획득한다.
일 실시예에 따라, 역변환부(1630)는 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 복원 블록을 획득할 수 있다. 이 경우에는, 복원부(1640)는 AI에 기반한 영상 부호화 장치(1600)에 포함되지 않을 수 있다.
일 실시예에 따라, 역변환부(1630)는 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 현재 블록의 복원 블록 및 현재 블록의 디블로킹 필터링을 위한 현재 블록의 주변 픽셀들을 더 포함하는 확장된 복원 블록을 획득할 수 있다. 이 경우에는, 복원부(1640)는 AI에 기반한 영상 부호화 장치(1600)에 포함되지 않을 수 있다.
도 17은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법및 AI에 기반한 영상 복호화 방법에서 이용되는 신경망들의 훈련 방법을 설명하기 위한 도면이다.
도 17을 참고하면, 훈련용 원본 블록(1700), 훈련용 잔차 블록(1701), 훈련용 주변 픽셀들(1702), 훈련용 예측 블록(1703), 훈련용 코딩 컨텍스트 정보(1704)를 이용하여 변환 커널 생성 신경망(1710) 및 역변환 커널 생성 신경망(1730)이 훈련될 수 있다.
구체적으로, 훈련용 주변 픽셀들(1702), 훈련용 예측 블록(1703), 훈련용 코딩 컨텍스트 정보(1704)가 변환 커널 생성 신경망(1710)에 입력되어 훈련용 변환 커널(1711)이 생성된다. 훈련용 변환 블록(1720)과 훈련용 변환 커널(1711)을 이용하여 변환(1715)함으로써 훈련용 변환 블록(1720)이 획득된다. 훈련용 변환 블록(1720)은 양자화되고 엔트로피 부호화되어 비트스트림의 형태로 전송된다.
또한, 훈련용 변환 블록(1720)은 엔트로피 복호화되고 역양자화된다. 훈련용 주변 픽셀들(1702), 훈련용 예측 블록(1703), 훈련용 코딩 컨텍스트 정보(1704)가 역변환 커널 생성 신경망(1730)에 입력되어 훈련용 역변환 커널(1731)이 생성된다. 훈련용 변환 블록(1720)과 훈련용 역변환 커널(1731)을 이용하여 역변환(1725)함으로써 훈련용 역변환된 잔차 블록(1735)가 획득된다. 훈련용 역변환된 잔차 블록(1735)과 훈련용 예측 블록(1703)을 더함(1740)으로써 훈련용 복원 블록(1745)가 획득된다.
도 17의 훈련 과정에서 비교(1755)를 통해 훈련용 복원 블록(1745)은 훈련용 원본 블록(1700)에 최대한 유사해지고, 훈련용 변환 블록(1720)에 대한 부호화를 통해 생성된 비트스트림의 비트레이트가 최소화되도록 신경망들이 훈련될 수 있다. 이를 위해 도 17에 도시된 바와 같이, 제 1 손실 정보(1750)와 제 2 손실 정보(1760)가 신경망들의 훈련에 이용될 수 있다.
제 1 손실 정보(1750)는 훈련용 원본 블록(1700)과 훈련용 복원 블록(1745) 사이의 차이에 대응할 수 있다. 일 실시예에서, 훈련용 원본 블록(1700)과 훈련용 복원 블록(1745) 사이의 차이는, 훈련용 원본 블록(1700)과 훈련용 복원 블록(1745) 사이의 L1-norm 값, L2-norm 값, SSIM(Structural Similarity) 값, PSNR-HVS(Peak Signal-To-Noise Ratio-Human Vision System) 값, MS-SSIM(Multiscale SSIM) 값, VIF(Variance Inflation Factor) 값 또는 VMAF(Video Multimethod Assessment Fusion) 값 중 적어도 하나를 포함할 수 있다.
제 1 손실 정보(1750)는 훈련용 복원 블록(1745)을 포함하는 복원 영상의 퀄리티와 관련이 있으므로, 퀄리티 손실 정보로 참조될 수도 있다.
제 2 손실 정보(1760)는 훈련용 변환 블록(1720)에 대한 부호화 결과로 생성된 비트스트림의 비트레이트로부터 산출될 수 있다.
제 2 손실 정보(1760)는, 훈련용 변환 블록(1720)에 대한 부호화 효율에 관련되므로, 제 2 손실 정보는 압축도 손실 정보로 참조될 수 있다.
변환 커널 생성 신경망(1710) 및 역변환 커널 생성 신경망(1730)은 제 1 손실 정보(1750) 또는 제 2 손실 정보(1760) 중 적어도 하나로부터 도출되는 최종 손실 정보가 감소 또는 최소화되도록 훈련될 수 있다.
일 실시예에서, 변환 커널 생성 신경망(1710) 및 역변환 커널 생성 신경망(1730)은 미리 설정된 파라미터의 값을 변경하면서 최종 손실 정보가 감소 또는 최소화되도록 할 수 있다.
일 실시예에서, 최종 손실 정보는 하기 수학식 1에 따라 산출될 수 있다.
[수학식 1]
최종 손실 정보 = a*제 1 손실 정보+b*제 2 손실 정보
수학식 1에서, a, b는 각각 제 1 손실 정보(1750) 및 제 2 손실 정보(1760) 각각에 적용되는 가중치이다.
수학식 1에 따르면, 변환 커널 생성 신경망(1710) 및 역변환 커널 생성 신경망(1730)은 훈련용 복원 블록(1745)이 훈련용 원본 블록(1700)에 최대한 유사해지고, 비트스트림의 크기가 최소화되는 방향으로 훈련됨을 알 수 있다.
도 17의 변환 커널 생성 신경망(1710) 및 역변환 커널 생성 신경망(1730)은 각각 전술된 도 3의 변환 커널 생성 신경망(310) 및 역변환 커널 생성 신경망(330)에 대응될 수 있다.
도 4의 변환 커널 생성 신경망(410)은 도 17의 훈련 방법에서 역변환 커널 생성 신경망(1730)을 제외하고 훈련용 역변환 커널(1731) 대신에 종래의 선형 역변환 커널을 이용하여 훈련될 수 있다.
또한, 도 4의 변환 커널 생성 신경망(410)은 도 17의 변환 커널 생성 신경망(1710)에 대응될 수 있다.
도 5의 역변환 커널 생성 신경망(530)은 도 17의 훈련 방법에서 변환 커널 생성 신경망(1710)을 제외하고 훈련용 변환 커널(1711) 대신에 종래의 선형 변환 커널을 이용하여 훈련될 수 있다.
또한, 도 5의 역변환 커널 생성 신경망(530)은 도 17의 역변환 커널 생성 신경망(1730)에 대응될 수 있다.
도 18은 본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법및 AI에 기반한 영상 복호화 방법에서 이용되는 신경망들의 훈련 방법을 설명하기 위한 도면이다.
도 18을 참고하면, 훈련용 원본 블록(1800), 훈련용 잔차 블록(1801), 훈련용 주변 픽셀들(1802), 훈련용 예측 블록(1803), 훈련용 코딩 컨텍스트 정보(1804)를 이용하여 코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 역변환 신경망(1825) 및 코딩 컨텍스트 신경망 (1830)이 훈련될 수 있다.
구체적으로, 훈련용 주변 픽셀들(1802), 훈련용 예측 블록(1803), 훈련용 코딩 컨텍스트 정보(1804)가 코딩 컨텍스트 신경망(1810)에 입력되어 훈련용 코딩 컨텍스트 특징 맵(1811)이 생성된다. 훈련용 잔차 블록(1801)과 훈련용 코딩 컨텍스트 특징 맵(1811)을 변환 신경망(1815)에 적용하여 훈련용 변환 특징 맵(1820)이 획득된다. 훈련용 변환 특징 맵(1820)은 양자화되고 엔트로피 부호화되어 비트스트림의 형태로 전송된다.
또한, 훈련용 변환 특징 맵(1820)은 엔트로피 복호화되고 역양자화된다. 훈련용 주변 픽셀들(1802), 훈련용 예측 블록(1803), 훈련용 코딩 컨텍스트 정보(1804)가 코딩 컨텍스트 신경망(1830)에 입력되어 훈련용 코딩 컨텍스트 특징 맵(1831)이 생성된다. 훈련용 변환 특징 맵(1820)과 훈련용 코딩 컨텍스트 특징 맵(1831)이 역변환 신경망(1825)에 적용되어, 훈련용 역변환된 잔차 블록(1835)가 획득된다. 훈련용 역변환된 잔차 블록(1835)과 훈련용 예측 블록(1803)을 더함(1840)으로써 훈련용 복원 블록(1845)가 획득된다.
도 18의 훈련 과정에서 비교(1855)를 통해 훈련용 복원 블록(1845)은 훈련용 원본 블록(1800)에 최대한 유사해지고, 훈련용 변환 특징 맵(1820)에 대한 부호화를 통해 생성된 비트스트림의 비트레이트가 최소화되도록 신경망들이 훈련될 수 있다. 이를 위해 도 18에 도시된 바와 같이, 제 1 손실 정보(1850)와 제 2 손실 정보(1860)가 신경망들의 훈련에 이용될 수 있다.
제 1 손실 정보(1850)는 훈련용 원본 블록(1800)과 훈련용 복원 블록(1845) 사이의 차이에 대응할 수 있다. 일 실시예에서, 훈련용 원본 블록(1800)과 훈련용 복원 블록(1845) 사이의 차이는, 훈련용 원본 블록(1800)과 훈련용 복원 블록(1845) 사이의 L1-norm 값, L2-norm 값, SSIM(Structural Similarity) 값, PSNR-HVS(Peak Signal-To-Noise Ratio-Human Vision System) 값, MS-SSIM(Multiscale SSIM) 값, VIF(Variance Inflation Factor) 값 또는 VMAF(Video Multimethod Assessment Fusion) 값 중 적어도 하나를 포함할 수 있다.
제 1 손실 정보(1850)는 훈련용 복원 블록(1845)을 포함하는 복원 영상의 퀄리티와 관련이 있으므로, 퀄리티 손실 정보로 참조될 수도 있다.
제 2 손실 정보(1860)는 훈련용 변환 특징 맵(1820)에 대한 부호화 결과로 생성된 비트스트림의 비트레이트로부터 산출될 수 있다.
제 2 손실 정보(1860)는, 훈련용 변환 특징 맵(1820)에 대한 부호화 효율에 관련되므로, 제 2 손실 정보는 압축도 손실 정보로 참조될 수 있다.
코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 역변환 신경망(1825) 및 코딩 컨텍스트 신경망 (1830)은 제 1 손실 정보(1850) 또는 제 2 손실 정보(1860) 중 적어도 하나로부터 도출되는 최종 손실 정보가 감소 또는 최소화되도록 훈련될 수 있다.
일 실시예에서, 코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 역변환 신경망(1825) 및 코딩 컨텍스트 신경망 (1830)은 미리 설정된 파라미터의 값을 변경하면서 최종 손실 정보가 감소 또는 최소화되도록 할 수 있다.
일 실시예에서, 최종 손실 정보는 하기 수학식 2에 따라 산출될 수 있다.
[수학식 2]
최종 손실 정보 = a*제 1 손실 정보+b*제 2 손실 정보
수학식 2에서, a, b는 각각 제 1 손실 정보(1850) 및 제 2 손실 정보(1860) 각각에 적용되는 가중치이다.
수학식 2에 따르면, 코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 역변환 신경망(1825) 및 코딩 컨텍스트 신경망 (1830)은 훈련용 복원 블록(1845)이 훈련용 원본 블록(1800)에 최대한 유사해지고, 비트스트림의 크기가 최소화되는 방향으로 훈련됨을 알 수 있다.
일 실시예에 따라, 변환 신경망(1815)은 변환 계수에 대한 결과 뿐만 아니라 양자화 결과도 함께 출력될 수 있다. 즉, 변환 신경망(1815)으로부터 획득되는 훈련용 변환 특징 맵(1820)은 양자화된 변환 계수에 대한 변환 특징 맵일 수 있다. 따라서, 훈련용 변환 특징 맵(1820)은 엔트로피 부호화되어 비트스트림의 형태로 전송된다.
또한, 역변환 신경망(1825)는 역변환 뿐만 아니라 역양자화도 수행될 수 있다. 즉, 훈련용 변환 특징 맵(1820)은 엔트로피 복호화되고, 훈련용 변환 특징 맵(1820)과 훈련용 코딩 컨텍스트 특징 맵(1831)이 역변환 신경망(1825)에 적용되어, 훈련용 역양자화 및 역변환된 잔차 블록(1835)가 획득될 수 있다.
도 6의 코딩 컨텍스트 신경망(610), 변환 신경망(615), 역변환 신경망(625) 및 코딩 컨텍스트 신경망 (630)는 각각 도 18의 코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 역변환 신경망(1825) 및 코딩 컨텍스트 신경망 (1830)에 대응될 수 있다.
또한, 도 7의 코딩 컨텍스트 신경망(710), 변환 신경망(715), 코딩 컨텍스트 신경망 (730)는 각각 각각 도 18의 코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 코딩 컨텍스트 신경망 (1830)에 대응하고, 도 7의 역변환 신경망(725)은 도 18의 역변환 신경망(1825)과 다르게 출력되는 값이 훈련용 잔차 블록(1835)이 아니고 훈련용 복원 블록(1845)일 수 있다.
또한, 도 8의 코딩 컨텍스트 신경망(810), 변환 신경망(815), 코딩 컨텍스트 신경망 (830)는 각각 각각 도 18의 코딩 컨텍스트 신경망(1810), 변환 신경망(1815), 코딩 컨텍스트 신경망 (1830)에 대응하고, 도 8의 역변환 신경망(825)은 도 18의 역변환 신경망(1825)과 다르게 출력되는 값이 훈련용 잔차 블록(1835)이 아니고 훈련용 복원 블록(1845) 및 복원 블록의 주변 픽셀들을 포함하는 확장된 복원 블록일 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 방법은, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득하는 단계; 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 변환 블록에 대한 변환 커널 을 생성하는 단계; 생성된 변환 커널을 변환 블록에 적용하여, 잔차 블록을 획득하는 단계; 및 잔차 블록 및 예측 블록을 이용하여 상기 현재 블록을 복원하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 방법은 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것과 달리 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 신경망을 통해 더 적합한 변환 커널이 이용가능하고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하므로, 변환 커널의 결정을 위한 추가적인 정보의 전송이 불필요하여 전송되는 데이터가 증가되지 않는다. 즉, 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 비트레이트 측면에서 좋은 변환을 생성하는데 필요한 보완 정보만 전송하면 되므로 비트레이트가 작아지고, 주변 픽셀 및 예측 블록은 잔차 블록과 관련된 정보가 포함되어 있므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있다.
또한, 신경망을 통해 생성된 변환 커널은 변환 대상 블록의 다양한 특징에 대해 매우 적응적이고, 모든 컨텍스트 정보가 유연하게 통합되어 반영된다. 즉, 변환 대상 블록에 가치 있는 정보를 가지는 코딩 컨텍스트를 고려하고, 코딩 컨텍스트는 부호화 및 복호화 측 모두에서 고려될 수 있으므로, 유용성이 극대화된다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 분할 트리 구조, 주변 픽셀들의 분할 구조, 현재 블록의 분할 타입, 주변 픽셀들의 분할 타입 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 변환 블록은 신경망 기반 변환 커널에 의해 변환된 블록 또는 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널 에 의해 변환된 블록일 수 있다.
일 실시예에 따라, 생성된 변환 커널은 변환 블록의 좌측에 적용되는 좌측 변환 커널 및 변환 블록의 우측에 적용되는 우측 변환 커널을 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득하고, 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 변환 블록에 대한 변환 커널을 생성하고, 생성된 변환 커널을 변환 블록에 적용하여, 잔차 블록을 획득하고, 잔차 블록 및 상기 예측 블록을 이용하여 상기 현재 블록을 복원할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 장치는 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것과 달리 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 신경망을 통해 더 적합한 변환 커널이 이용가능하고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하므로, 변환 커널의 결정을 위한 추가적인 정보의 전송이 불필요하여 전송되는 데이터가 증가되지 않는다. 즉, 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 비트레이트 측면에서 좋은 변환을 생성하는데 필요한 보완 정보만 전송하면 되므로 비트레이트가 작아지고, 주변 픽셀 및 예측 블록은 잔차 블록과 관련된 정보가 포함되어 있므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있다.
일 실시예에 따라, 코딩 컨텍스트 정보는 현재 블록의 양자화 파라미터, 현재 블록의 분할 트리 구조, 주변 픽셀들의 분할 구조, 현재 블록의 분할 타입, 주변 픽셀들의 분할 타입 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 변환 블록은 신경망 기반 변환 커널에 의해 변환된 블록 또는 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널 에 의해 변환된 블록일 수 있다.
일 실시예에 따라, 생성된 변환 커널은 변환 블록의 좌측에 적용되는 좌측 변환 커널 및 변환 블록의 우측에 적용되는 우측 변환 커널을 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 방법은, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득하는 단계; 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 잔차 블록의 변환 블록에 대한 변환 커널을 생성하는 단계; 생성된 변환 커널을 잔차 블록에 적용하여 변환 블록을 획득하는 단계; 및 변환 블록을 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법은 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것과 달리 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 신경망을 통해 더 적합한 변환 커널이 이용가능하고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하므로, 변환 커널의 결정을 위한 추가적인 정보의 전송이 불필요하여 전송되는 데이터가 증가되지 않는다. 즉, 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 비트레이트 측면에서 좋은 변환을 생성하는데 필요한 보완 정보만 전송하면 되므로 비트레이트가 작아지고, 주변 픽셀 및 예측 블록은 잔차 블록과 관련된 정보가 포함되어 있므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있다.
일 실시예에 따라, 변환 블록은 영상 복호화 과정에서 신경망 기반 변환 커널에 의해 역변환되거나 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널에 의해 역변환될 수 있다.
일 실시예에 따라, 생성된 변환 커널은 잔차 블록의 좌측에 적용되는 좌측 변환 커널 및 잔차 블록의 우측에 적용되는 우측 변환 커널을 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득하고, 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 잔차 블록의 변환 블록에 대한 변환 커널을 생성하고, 생성된 변환 커널을 잔차 블록에 적용하여 변환 블록을 획득하고, 변환 블록을 포함하는 비트스트림을 생성할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 장치는 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것과 달리 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 신경망을 통해 더 적합한 변환 커널이 이용가능하고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하므로, 변환 커널의 결정을 위한 추가적인 정보의 전송이 불필요하여 전송되는 데이터가 증가되지 않는다. 즉, 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 비트레이트 측면에서 좋은 변환을 생성하는데 필요한 보완 정보만 전송하면 되므로 비트레이트가 작아지고, 주변 픽셀 및 예측 블록은 잔차 블록과 관련된 정보가 포함되어 있므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있다.
일 실시예에 따라, 변환 블록은 영상 복호화 과정에서 신경망 기반 변환 커널에 의해 역변환되거나 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널에 의해 역변환될 수 있다.
일 실시예에 따라, 생성된 변환 커널은 잔차 블록의 좌측에 적용되는 좌측 변환 커널 및 잔차 블록의 우측에 적용되는 우측 변환 커널을 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 방법은, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득하는 단계; 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성하는 단계; 및 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 현재 블록을 복원하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 방법은 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 코딩 컨텍스트 특징 맵을 생성하는 신경망을 통해 코딩 컨텍스트에 대한 특징 맵을 생성하고, 코딩 컨텍스트에 대한 특징 맵 및 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵을 획득하여 역변환을 위한 신경망에 입력하여, 현재 블록을 복원함으로써, 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵 외에 다른 추가적인 정보를 전송하지 않아 비트레이트가 작아지고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있고, 종래의 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것에 비해 변환 대상 블록의 다양한 특징에 적합한 변환 및 역변환이 적용된 결과가 획득될 수 있다.
일 실시예에 따라, 제2 신경망은 역양자화 후 역변환된 결과값을 출력할 수 있다.
일 실시예에 따라, 현재 블록을 복원하는 단계는, 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 잔차 블록을 획득하는 단계; 및 잔차 블록과 예측 블록을 이용하여 현재 블록을 복원하는 단계를 포함할 수 있다.
일 실시예에 따라, 복원된 현재 블록은 현재 블록의 디블로킹 필터링을 위한 현재 블록의 주변 픽셀들을 더 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 복호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득하고, 현재 블록에 대한 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성하고, 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 현재 블록을 복원할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 복호화 장치는 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 코딩 컨텍스트 특징 맵을 생성하는 신경망을 통해 코딩 컨텍스트에 대한 특징 맵을 생성하고, 코딩 컨텍스트에 대한 특징 맵 및 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵을 획득하여 역변환을 위한 신경망에 입력하여, 현재 블록을 복원함으로써, 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵 외에 다른 추가적인 정보를 전송하지 않아 비트레이트가 작아지고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있고, 종래의 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것에 비해 변환 대상 블록의 다양한 특징에 적합한 변환 및 역변환이 적용된 결과가 획득될 수 있다.
일 실시예에 따라, 제2 신경망은 역양자화 후 역변환된 결과값을 출력할 수 있다.
일 실시예에 따라, 현재 블록을 복원하는 것은, 변환 특징 맵과 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 잔차 블록을 획득하고 잔차 블록과 예측 블록을 이용하여 현재 블록을 복원하는 것일 수 있다.
일 실시예에 따라, 복원된 현재 블록은 현재 블록의 디블로킹 필터링을 위한 현재 블록의 주변 픽셀들을 더 포함할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 방법은, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득하는 단계; 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성하는 단계; 코딩 컨텍스트 특징 맵 및 잔차 블록을 제2 신경망에 적용하여 변환 블록에 대응하는 변환 특징 맵을 획득하는 단계; 및 변환 특징 맵을 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 방법은 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 코딩 컨텍스트 특징 맵을 생성하는 신경망을 통해 코딩 컨텍스트에 대한 특징 맵을 생성하고, 코딩 컨텍스트에 대한 특징 맵 및 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵을 획득하여 역변환을 위한 신경망에 입력하여, 현재 블록을 복원함으로써, 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵 외에 다른 추가적인 정보를 전송하지 않아 비트레이트가 작아지고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있고, 종래의 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것에 비해 변환 대상 블록의 다양한 특징에 적합한 변환 및 역변환이 적용된 결과가 획득될 수 있다.
일 실시예에 따라, 제2 신경망은 양자화된 변환 계수에 대한 변환 특징 맵을 출력할 수 있다.
일 실시예에 따른 AI에 기반한 영상 부호화 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 현재 블록의 예측 블록과 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득하고, 예측 블록, 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성하고, 코딩 컨텍스트 특징 맵 및 잔차 블록을 제2 신경망에 적용하여 변환 블록에 대응하는 변환 특징 맵을 획득하고, 변환 특징 맵을 포함하는 비트스트림을 생성할 수 있다.
본 개시의 일 실시예에 따른 AI에 기반한 영상 부호화 장치는 주변 픽셀, 예측 블록, 및 코딩 컨텍스트 정보를 이용하는 코딩 컨텍스트 특징 맵을 생성하는 신경망을 통해 코딩 컨텍스트에 대한 특징 맵을 생성하고, 코딩 컨텍스트에 대한 특징 맵 및 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵을 획득하여 역변환을 위한 신경망에 입력하여, 현재 블록을 복원함으로써, 신경망을 통해 생성된 변환 계수에 대한 변환 특징 맵 외에 다른 추가적인 정보를 전송하지 않아 비트레이트가 작아지고, 주변 픽셀, 예측 블록, 및 코딩 컨텍스트는 복호화 측에서도 이용가능하므로, 역변환을 위해 복호화 측에 전송되는 오버헤드가 제어될 수 있고, 종래의 종래 표준의 적은 수의 고정된 변환 커널을 이용하는 것에 비해 변환 대상 블록의 다양한 특징에 적합한 변환 및 역변환이 적용된 결과가 획득될 수 있다.
일 실시예에 따라, 제2 신경망은 양자화된 변환 계수에 대한 변환 특징 맵을 출력할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.

Claims (15)

  1. 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득(S1110)하는 단계;
    상기 현재 블록에 대한 예측 블록, 상기 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 상기 변환 블록에 대한 변환 커널을 생성(S1130)하는 단계;
    상기 생성된 변환 커널을 상기 변환 블록에 적용하여, 상기 잔차 블록을 획득(S1150)하는 단계; 및
    상기 잔차 블록 및 상기 예측 블록을 이용하여 상기 현재 블록을 복원(S1170)하는 단계를 포함하는, AI에 기반한 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 코딩 컨텍스트 정보는 상기 현재 블록의 양자화 파라미터, 상기 현재 블록의 분할 트리 구조, 상기 주변 픽셀들의 분할 구조, 상기 현재 블록의 분할 타입, 상기 주변 픽셀들의 분할 타입 중 적어도 하나를 포함하는, AI에 기반한 영상 복호화 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 변환 블록은 신경망 기반 변환 커널에 의해 변환된 블록 또는 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널에 의해 변환된 블록인, AI에 기반한 영상 복호화 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 생성된 변환 커널은 상기 변환 블록의 좌측에 적용되는 좌측 변환 커널 및 상기 변환 블록의 우측에 적용되는 우측 변환 커널을 포함하는, AI에 기반한 영상 복호화 방법.
  5. 비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록에 대응하는 변환 특징 맵을 획득(S1510)하는 단계;
    상기 현재 블록에 대한 예측 블록, 상기 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 상기 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성(S1530)하는 단계; 및
    상기 변환 특징 맵과 상기 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 상기 현재 블록을 복원(S1550)하는 단계를 포함하는, AI에 기반한 영상 복호화 방법.
  6. 제5항에 있어서,
    상기 제2 신경망은 역양자화 후 역변환된 결과값을 출력하는, AI에 기반한 영상 복호화 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 현재 블록을 복원하는 단계는:
    상기 변환 특징 맵과 상기 코딩 컨텍스트 특징 맵을 제2 신경망에 적용하여 상기 잔차 블록을 획득하는 단계; 및
    상기 잔차 블록과 상기 예측 블록을 이용하여 상기 현재 블록을 복원하는 단계를 포함하는, AI에 기반한 영상 복호화 방법.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서,
    상기 복원된 현재 블록은 상기 현재 블록의 디블로킹 필터링을 위한 상기 현재 블록의 주변 픽셀들을 더 포함하는, AI에 기반한 영상 복호화 방법.
  9. 현재 블록의 예측 블록과 상기 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득(S910)하는 단계;
    상기 예측 블록, 상기 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 상기 잔차 블록의 변환 블록에 대한 변환 커널을 생성(S930)하는 단계;
    상기 생성된 변환 커널을 상기 잔차 블록에 적용하여 상기 변환 블록을 획득(S950)하는 단계; 및
    상기 변환 블록을 포함하는 비트스트림을 생성(S970)하는 단계를 포함하는, AI에 기반한 영상 부호화 방법.
  10. 제9항에 있어서,
    상기 변환 블록은 영상 복호화 과정에서 신경망 기반 변환 커널에 의해 역변환되거나 복수의 미리정해진 선형 변환 커널 중 하나의 선형 변환 커널에 의해 역변환되는, AI에 기반한 영상 부호화 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 생성된 변환 커널은 상기 잔차 블록의 좌측에 적용되는 좌측 변환 커널 및 상기 잔차 블록의 우측에 적용되는 우측 변환 커널을 포함하는, AI에 기반한 영상 부호화 방법.
  12. 현재 블록의 예측 블록과 상기 현재 블록의 원본 블록에 기초하여 잔차 블록을 획득(S1310)하는 단계;
    상기 예측 블록, 상기 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 제1 신경망에 적용하여, 상기 변환 블록을 위한 코딩 컨텍스트 특징 맵을 생성(S1330)하는 단계;
    상기 코딩 컨텍스트 특징 맵 및 상기 잔차 블록을 제2 신경망에 적용하여 상기 변환 블록에 대응하는 변환 특징 맵을 획득(S1350)하는 단계; 및
    상기 변환 특징 맵을 포함하는 비트스트림을 생성(S1370)하는 단계를 포함하는, AI에 기반한 영상 부호화 방법.
  13. 제12항에 있어서,
    상기 제2 신경망은 양자화된 변환 계수에 대한 변환 특징 맵을 출력하는, AI에 기반한 영상 부호화 방법.
  14. AI에 기반한 영상 복호화 장치(1200)에 있어서,
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션에 따라 동작하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    비트스트림으로부터 현재 블록의 잔차 블록에 대한 변환 블록을 획득하고,
    상기 현재 블록에 대한 예측 블록, 상기 현재 블록의 주변 픽셀들, 및 코딩 컨텍스트 정보를 신경망에 적용하여, 상기 변환 블록에 대한 변환 커널을 생성하고,
    상기 생성된 변환 커널을 상기 변환 블록에 적용하여, 상기 잔차 블록을 획득하고,
    상기 잔차 블록 및 상기 예측 블록을 이용하여 상기 현재 블록을 복원하는, AI에 기반한 영상 복호화 장치.
  15. 제14항에 있어서,
    상기 코딩 컨텍스트 정보는 상기 현재 블록의 양자화 파라미터, 상기 현재 블록의 분할 트리 구조, 상기 주변 픽셀들의 분할 구조, 상기 현재 블록의 분할 타입, 상기 주변 픽셀들의 분할 타입 중 적어도 하나를 포함하는, AI에 기반한 영상 복호화 장치.
KR1020220170054A 2022-10-12 2022-12-07 Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법 KR20240050971A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2023/014500 WO2024080623A1 (ko) 2022-10-12 2023-09-22 Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법
US18/372,409 US20240129546A1 (en) 2022-10-12 2023-09-25 Artificial intelligence-based image encoding and decoding apparatus, and image encoding and decoding method thereby

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220130879 2022-10-12
KR20220130879 2022-10-12

Publications (1)

Publication Number Publication Date
KR20240050971A true KR20240050971A (ko) 2024-04-19

Family

ID=90881981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220170054A KR20240050971A (ko) 2022-10-12 2022-12-07 Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR20240050971A (ko)

Similar Documents

Publication Publication Date Title
US9386325B2 (en) Method and apparatus for encoding and decoding image by using large transformation unit
JP5957561B2 (ja) 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置
KR100763178B1 (ko) 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
CN103782598A (zh) 用于无损编码的快速编码方法
US11310514B2 (en) Encoding method and apparatus using non-encoding region, block-based encoding region, and pixel-based encoding region
KR20170066712A (ko) 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
EP2036351A1 (en) Image encoding/decoding method and apparatus
EP3183877B1 (en) Method and apparatus for non-uniform mapping for quantization matrix coefficients between different sizes of matrices
KR20130051029A (ko) 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
KR20240050971A (ko) Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법
US20240129546A1 (en) Artificial intelligence-based image encoding and decoding apparatus, and image encoding and decoding method thereby
EP3399751B1 (en) Bitstream transformation apparatus, bitstream transformation method, distribution system, and computer-readable storage medium
US20240048711A1 (en) Artificial intelligence based video decoding apparatus and video decoding method and artificial intelligence based video encoding apparatus and video encoding method which perform chroma component prediction
US20230044603A1 (en) Apparatus and method for applying artificial intelligence-based filtering to image
JP2011109390A (ja) 画像符号化装置、画像符号化方法、画像復号装置、及び、画像復号方法
KR20240019638A (ko) 크로마 성분 예측을 수행하는 ai에 기반한 비디오 복호화 장치 및 방법, 및 비디오 부호화 장치 및 방법
KR102398232B1 (ko) 참조 영상 필터링을 통한 비디오 신호 복호화 방법 및 장치
KR20230067492A (ko) Ai를 이용하는 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법
KR20230022085A (ko) Ai 기반의 영상의 부호화 및 복호화 장치, 및 이에 의한 방법
KR20240025429A (ko) 영상 복호화 장치 및 방법, 및 영상 부호화 장치 및 방법