KR20220107028A - 시간적 변형가능한 콘볼루션에 의한 딥 루프 필터 - Google Patents

시간적 변형가능한 콘볼루션에 의한 딥 루프 필터 Download PDF

Info

Publication number
KR20220107028A
KR20220107028A KR1020227021939A KR20227021939A KR20220107028A KR 20220107028 A KR20220107028 A KR 20220107028A KR 1020227021939 A KR1020227021939 A KR 1020227021939A KR 20227021939 A KR20227021939 A KR 20227021939A KR 20220107028 A KR20220107028 A KR 20220107028A
Authority
KR
South Korea
Prior art keywords
image frames
feature map
frames
tdc
processor
Prior art date
Application number
KR1020227021939A
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 KR20220107028A publication Critical patent/KR20220107028A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/0481
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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
    • 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/048Activation functions

Abstract

비디오 코딩을 수행하기 위한 방법, 장치 및 저장 매체가 제공된다. 이 방법은: 비디오 시퀀스 내의 복수의 이미지 프레임을 획득하는 단계; 복수의 이미지 프레임들 각각에 대한 피처 맵을 결정하고 피처 맵에 기초하여 오프셋 맵을 결정하는 단계; 피처 맵과 오프셋 맵에 관해 시간적 변형가능한 콘볼루션(TDC; temporal deformable convolution)을 수행함으로써 정렬된 피처 맵을 결정하는 단계; 및 정렬된 피처 맵에 기초하여 복수의 정렬된 프레임을 생성하는 단계를 포함한다.

Description

시간적 변형가능한 콘볼루션에 의한 딥 루프 필터
관련 출원의 상호참조
본 출원은, 미국 특허상표청에 2020년 10월 9일에 출원된 미국 가출원 번호 제63/090,126호 및 2021년 8월 5일에 출원된 미국 출원 번호 제17/394,504호에 기초하여 우선권을 주장하고, 그 개시내용은 그 전체 내용이 본 명세서에 참조로 포함된다.
본 개시내용은 비디오 코딩 분야에 관한 것으로, 특히 TDC(Temporal Deformable Convolutions)를 갖는 심층 신경망(DNN)에 기반하여 디코딩된 비디오를 처리하기 위해 루프 필터를 이용하는 디바이스 및 방법에 관한 것이다.
H.264/Advanced Video Coding(H.264/AVC), HEVC(High-Efficiency Video Coding) 및 VVC(Versatile Video Coding) 등의 전통적인 비디오 코딩 표준은, 인트라/인터 예측, 정수 변환들 및 컨텍스트-적응적 엔트로피 코딩 등의 개개의 코딩 도구들이 전체 효율성을 최적화하기 위해 집중적으로 제작되는, 유사한(반복적) 블록 기반의 하이브리드 예측/변환 프레임워크이다. 기본적으로 시공간 픽셀 이웃들은 예측 신호 구성에 활용되어, 후속 변환, 양자화, 및 엔트로피 코딩에 대한 대응하는 잔차들을 획득한다. 반면, DNN(Deep Neural Networks)의 특성은 이웃 픽셀들의 수용 필드(receptive field)로부터의 시공간 정보를 분석함으로써 상이한 레벨들의 시공간 자극을 추출하는 것이다. 고도의 비선형성 및 비국소적 시공간 상관관계들을 탐색하는 능력은 압축 품질을 크게 개선할 수 있는 유망한 기회를 제공한다.
그러나, 압축된 비디오는 불가피하게 압축 아티팩트들이 발생하여, 경험의 품질(QoE; Quality of Experience)이 심각하게 저하된다. DNN 기반의 방법들은, 이미지 노이즈 제거, 초고해상도, 디블러링(deblurring) 등의 압축된 이미지들의 시각적 품질을 강화하도록 개발되어 왔다. 이들 방법들을 비디오들에 적용하면, 이미지 기반의 방법들은, 압축된 비디오 품질, 비디오 장면, 및 비디오의 객체 모션을 변경함으로써 야기되는 불안정성 및 변동을 겪게 된다. 따라서, 비디오들 내의 이웃 프레임들로부터의 정보를 이용하여 강화된 시각적 품질을 안정화하고 개선시키는 것이 중요하다.
복수의 이웃하는 비디오 프레임들로부터의 정보를 활용하는 한 가지 주의 사항은, 움직이는 카메라와 동적 장면들에 의해 야기되는 복잡한 모션이다. 전통적인 블록 기반의 모션 벡터들은 비-병진 모션(non-translational motion)들에 대해 잘 작동하지 않는다. 또한, 학습 기반의 광학적 흐름 방법들은, 픽셀 레벨에서 더 정확한 모션 정보를 제공할 수 있지만, 이들은 특히 움직이는 객체들의 경계를 따라 에러들이 여전히 발생하기 쉽다.
따라서, 본 개시내용의 하나 이상의 실시예는, 명시적 모션 추정 없이 데이터-구동형 방식으로 임의의 복잡한 모션들을 처리하기 위해 TDC(Temporal Deformable Convolutions)를 갖는 DNN 기반의 모델을 제공한다.
한 실시예에 따르면, 루프 필터를 갖는 하나 이상의 신경망을 이용하여 비디오 코딩을 수행하는 방법이 제공된다. 이 방법은: 비디오 시퀀스 내의 복수의 이미지 프레임을 획득하는 단계; 복수의 이미지 프레임들 각각에 대한 피처 맵을 결정하고 피처 맵에 기초하여 오프셋 맵을 결정하는 단계; 피처 맵과 오프셋 맵에 관해 시간적 변형가능한 콘볼루션(TDC; temporal deformable convolution)을 수행함으로써 정렬된 피처 맵을 결정하는 단계; 및 복수의 정렬된 프레임을 생성하는 단계를 포함한다.
한 실시예에 따르면, 장치가 제공되고, 이 장치는: 컴퓨터 프로그램 코드를 저장한 적어도 하나의 메모리; 및 적어도 하나의 메모리에 액세스하고 컴퓨터 프로그램 코드에 의해 지시받은 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함한다. 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로 하여금 비디오 시퀀스 내의 복수의 이미지 프레임을 획득하게 하도록 구성된 획득 코드; 적어도 하나의 프로세서로 하여금, 복수의 이미지 프레임들 각각에 대한 피처 맵을 결정하고 피처 맵에 기초하여 오프셋 맵을 결정하고; 피처 맵 및 오프셋 맵에 관해 시간적 변형 콘볼루션(TDC)을 수행함으로써 정렬된 피처 맵을 결정하게 하도록 구성된 결정 코드; 및 적어도 하나의 프로세서로 하여금 복수의 정렬된 프레임을 생성하게 하도록 구성된 생성 코드를 포함한다.
한 실시예에 따르면, 컴퓨터 프로그램 코드를 저장한 비일시적인 컴퓨터 판독가능한 저장 매체가 제공되고, 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금: 비디오 시퀀스 내의 복수의 이미지 프레임을 획득하고; 복수의 이미지 프레임들 각각에 대한 피처 맵을 결정하고 피처 맵에 기초하여 오프셋 맵을 결정하고; 피처 맵 및 오프셋 맵에 관해 시간적 변형 콘볼루션(TDC)을 수행함으로써 정렬된 피처 맵을 결정하고; 복수의 정렬된 프레임을 생성하게 한다.
이하의 설명은 본 개시내용의 하나 이상의 실시예를 나타내는 첨부된 도면들을 간략하게 소개한다.
도 1은 한 실시예에 따른 비디오 코딩 시스템을 나타내는 도면이다;
도 2는 한 실시예에 따른 인코더 및 디코더를 포함하는 컴퓨팅 디바이스의 한 예를 나타내는 도면이다;
도 3은 한 실시예에 따른 DNN LF 모듈을 훈련시키는 방법을 나타내는 도면이다;
도 4는 한 실시예에 따른 2D TDC를 이용한 DNN LF 모듈의 동작들을 나타내는 도면이다;
도 5는 한 실시예에 따른 3D TDC를 이용한 DNN LF 모듈의 동작들을 나타내는 도면이다; 및
도 6은 한 실시예에 따른 TDC를 갖는 DNN을 이용하여 비디오 데이터를 처리하기 위한 장치의 블록도이다.
첨부된 도면들을 참조하여 예시적인 실시예들이 여기서 상세히 설명된다. 여기서 설명된 본 개시내용의 하나 이상의 실시예는 단지 예시적인 실시예뿐이며, 본 개시내용의 범위를 제한하는 것으로 해석되어서는 안된다는 것을 이해해야 한다.
도 1은 한 실시예에 따른 비디오 코딩 시스템을 나타내는 도면이다.
도 1을 참조하면, 비디오 코딩 시스템(100)은 네트워크(130)를 통해 서로 접속된 인코더(110) 및 디코더(120)를 포함할 수 있다. 인코더(110)는 이미지 데이터 또는 비디오 데이터를 압축하도록 구성될 수 있다. 인코더(110)는 비디오 코딩 시스템(100)의 서버측에 배치될 수 있다. 서버는 클라우드 서버 또는 복수의 서버를 포함하는 서버 러스터일 수 있다. 서버는, 프로세서, 통신 인터페이스, 데이터베이스를 포함할 수 있다. 프로세서는 비디오 시퀀스의 하나 이상의 이미지 프레임을 인코딩하도록 구성될 수 있다. 통신 인터페이스는, 비디오 시퀀스의 하나 이상의 이미지 프레임, 또는 비디오 시퀀스를 인코딩하는 것과 관련될 수 있는 다른 데이터를 전송 및 수신하도록 구성될 수 있다. 데이터베이스는, 비디오 시퀀스의 하나 이상의 이미지, 인코딩된 데이터 및 디코딩된 데이터를 저장하도록 구성될 수 있다. 그러나, 하나 이상의 실시예는 이것으로 제한되지 않는다. 예를 들어, 인코더(110)는, 네트워크(130)에 접속된 컴퓨팅 디바이스(예를 들어, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스, PDA(personal digital assistant), 콘솔, 착용형 디바이스 등)로 구현될 수 있다. 인코더(110)는 컴퓨팅 디바이스 그것에서 실행되는 소프트웨어일 수 있다.
도 2는 한 실시예에 따른 인코더 및/또는 디코더로서 구현되는 컴퓨팅 디바이스의 한 예를 나타내는 도면이다. 컴퓨팅 디바이스(200)는 도 1에 도시된 인코더(110) 및/또는 디코더(120)로서 구현될 수 있다.
도 2를 참조하면, 컴퓨팅 디바이스(200)는, 프로세서(210), 메모리(220), 스토리지(230), 입력 인터페이스(240), 출력 인터페이스(250), 통신 인터페이스(260), 및 버스(270)를 포함할 수 있다.
프로세서(210)는, 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 프로세서(210)는, CPU(central processing unit), GPU(graphics processing unit), APU(accelerated processing unit), 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서(DSP; digital signal processor), FPGA(field programmable gate array), 주문형 집적 회로(ASIC; application-specific integrated circuit), 또는 다른 유형의 처리 컴포넌트이다. 일부 구현에서, 프로세서(210)는 기능을 수행하도록 프로그래밍될 수 있는 하나 이상의 프로세서를 포함한다.
메모리(220)는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 및/또는 프로세서(210)가 이용할 정보 및/또는 명령어들을 저장한 또 다른 유형의 동적 또는 정적 저장 디바이스(예를 들어, 플래시 메모리, 자기 메모리, 및/또는 광학적 메모리)를 포함한다.
스토리지(230)는 컴퓨팅 디바이스(200)의 동작 및 이용과 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 스토리지(230)는, 하드 디스크(예를 들어, 자기 디스크, 광 디스크, 광자기 디스크 및/또는 솔리드 스테이트 디스크), CD(compact disc), DVD(digital versatile disc), 플로피 디스크, 카트리지, 자기 테이프, 및/또는 또 다른 유형의 비일시적인 컴퓨터 판독가능한 매체를, 대응하는 드라이브와 함께 포함할 수 있다.
입력 인터페이스(240)는, 컴퓨팅 디바이스(200)가 사용자 입력(예를 들어, 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치, 및/또는 마이크로폰) 등을 통해 정보를 수신하는 것을 허용하는 컴포넌트를 포함한다. 추가적으로 또는 대안으로서, 입력 인터페이스(240)는 정보를 감지하기 위한 센서(예를 들어, GPS(global positioning system) 컴포넌트, 가속도계, 자이로스코프, 및/또는 액츄에이터)를 포함할 수 있다. 출력 인터페이스(250)는, 컴퓨팅 디바이스(200)(예를 들어, 디스플레이, 스피커, 및/또는 하나 이상의 발광 다이오드(LED))로부터의 출력 정보를 제공하는 컴포넌트를 포함한다.
통신 인터페이스(260)는, 컴퓨팅 디바이스(200)가 유선 접속, 무선 접속, 또는 유선과 무선 접속들의 조합 등을 통해 다른 디바이스와 통신할 수 있게 하는 트랜시버류 컴포넌트(예를 들어, 트랜시버 및/또는 별개의 수신기 및 전송기)를 포함한다. 통신 인터페이스(260)는 컴퓨팅 디바이스(200)가 또 다른 디바이스로부터 정보를 수신하거나 및/또는 또 다른 디바이스에 정보를 제공하는 것을 허용할 수 있다. 예를 들어, 통신 인터페이스(260)는, Ethernet 인터페이스, 광학적 인터페이스, 동축 인터페이스, 적외선 인터페이스, RF(radio frequency) 인터페이스, USB(universal serial bus) 인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함할 수 있다.
버스(270)는 컴퓨팅 디바이스(200)의 컴포넌트들 사이의 통신을 허용하는 컴포넌트를 포함한다.
컴퓨팅 디바이스(200)는 여기서 설명된 하나 이상의 동작을 수행할 수 있다. 컴퓨팅 디바이스(200)는, 프로세서(210)가 메모리(220) 및/또는 저장 디바이스(230) 등의, 비일시적인 컴퓨터 판독가능한 매체에 저장된 소프트웨어 명령어들을 실행하는 것에 응답하여, 여기서 설명된 동작들을 수행할 수 있다. 컴퓨터 판독가능한 매체는 여기서는 비일시적인 메모리 디바이스로서 정의된다. 메모리 디바이스는, 단일의 물리적 저장 디바이스 내의 메모리 공간, 또는 여러 물리적 저장 디바이스에 걸쳐 분산된 메모리 공간을 포함할 수 있다.
소프트웨어 명령어들은, 또 다른 컴퓨터 판독가능한 매체로부터 또는 통신 인터페이스(260)를 통해 또 다른 디바이스로부터 메모리(220) 및/또는 스토리지(230) 내로 판독될 수 있다. 실행될 때, 메모리(220) 및/또는 스토리지(230)에 저장된 소프트웨어 명령어들은 프로세서(210)로 하여금 여기서 설명된 하나 이상의 프로세스를 수행하게 할 수 있다. 추가적으로 또는 대안으로서, 하드와이어드 회로는, 여기서 설명된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령어들 대신에 또는 이와 조합하여 이용될 수 있다. 따라서, 여기서 설명된 구현들은 하드웨어 회로 및 소프트웨어의 임의의 특정한 조합으로 제한되지 않는다.
도 2에 도시된 컴포넌트들의 수 및 배열은 한 예로서 제공된 것이다. 실제로, 컴퓨팅 디바이스(200)는, 도 2에 도시된 것들과는 달리, 추가적 컴포넌트들, 더 적은 컴포넌트들, 상이한 컴포넌트들, 또는 상이하게 배열된 컴포넌트들을 포함할 수 있다. 추가적으로 또는 대안으로서, 컴퓨팅 디바이스(200)의 한 세트의 컴포넌트들(예를 들어, 하나 이상의 컴포넌트)은, 컴퓨팅 디바이스(200)의 또 다른 세트의 컴포넌트들에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
도 3은 한 실시예에 따른 DNN LF 모듈을 훈련시키는 방법을 나타내는 도면이다.
먼저, 전형적인 비디오 압축 프레임워크가 여기서 설명될 것이다. 입력 비디오 x가 복수의 원본 이미지 프레임 x 1 ,…,x t 를 포함한다고 가정한다. 첫 번째 모션 추정 단계에서, 복수의 원본 이미지 프레임은 공간 블록들로 분할되고, 각각의 공간 블록은 더 작은 블록들로 반복적으로 더 분할될 수 있으며, 현재의 원본 이미지 프레임 x t 와 한 세트의 이전의 복원된 이미지 프레임들
Figure pct00001
사이의 한 세트의 모션 벡터들 m t 가 각각의 공간 블록에 대해 계산된다. 여기서, 첨자 t 는 현재의 t 번째 인코딩 사이클을 나타내고, 이것은 이미지 프레임의 타임 스탬프와 일치하지 않을 수 있다. 또한, 이전의 복원된 프레임 세트
Figure pct00002
는 복수의 이전 인코딩 사이클들로부터의 프레임들을 포함할 수 있다. 두 번째 모션 보상 단계에서, 예측된 프레임
Figure pct00003
은, 모션 벡터 m t 에 기초하여 이전의 복원된 프레임들
Figure pct00004
의 대응하는 픽셀들을 복사함으로써 획득되고, 현재의 원본 이미지 프레임 x t 와 예측된 프레임
Figure pct00005
사이의 잔차
Figure pct00006
Figure pct00007
에 의해 획득된다. 세 번째 추정 단계에서, 공간 블록들에 대해 DCT(Discrete Cosine Transform)를 수행한 후, 잔차
Figure pct00008
의 DCT 계수를 양자화하여 양자화된 잔차
Figure pct00009
를 획득한다. 그로부터, 모션 벡터 mt 및 양자화된 잔차
Figure pct00010
양쪽 모두는 엔트로피 코딩에 의해 비트스트림으로 인코딩되고, 비트스트림은 하나 이상의 디코더에 전송된다. 디코더 측에서, 양자화된 잔차
Figure pct00011
는 먼저 역양자화되어(예를 들어, 역 이산 코사인 변환(IDCT; Inverse Discrete Cosine Transform)) 등의 역 변환을 통해) 복원된 잔차
Figure pct00012
를 획득한 다음, 복원된 잔차
Figure pct00013
가 예측된 프레임
Figure pct00014
에 다시 추가되어
Figure pct00015
에 의해 복원된 프레임을 획득한다.
또한, 복원된 프레임
Figure pct00016
의 시각적 품질을 개선하기 위해 추가적인 컴포넌트들이 이용될 수 있다. DF(Deblocking Filter), SAO(Sample-Adaptive Offset), ALF(Adaptive Loop Filter), CCALF(Cross-Component Adaptive Filter) 등의 강화 모듈들 중 하나 이상이 복원된 프레임
Figure pct00017
을 처리하기 위해 선택될 수 있다. 예를 들어, DF(Deblocking Filter)는, 블록 코딩 기술들을 이용할 때 매크로블록들 사이에 형성되는 날카로운 엣지들을 평활화함으로써 시각적 품질 및 예측 성능을 개선시키기 위해 디코딩된 비디오에 적용될 수 있는 비디오 필터이다. SAO(Sample-Adaptive Offset)는 각각의 샘플에 오프셋 값을 추가함으로써 평균 샘플 왜곡을 감소시키는 인루프 필터(in-loop filter) 기술이다. SAO는 엣지 오프셋(EO)과 대역 오프셋(BO)이라는 2개의 유형의 오프셋 기술을 포함한다. EO는 필터링될 이미지 프레임의 로컬 방향 구조들에 의해 구동되고, BO는 이웃에 종속되지 않고 이미지 프레임들의 강도 값들을 수정한다. ALF(Adaptive Loop Filter)는 원본 샘플 이미지들과 디코딩된 샘플 이미지들 사이의 평균 제곱 에러를 최소화하는데 이용될 수 있다. 강화 모듈들의 처리 순서 및 강화 모듈들의 선택은 사용자 설정에 따라 다양하게 수정될 수 있다.
한 실시예에 따르면, DNN LF를 훈련시키는 전체적인 방법이 제공된다. 도 3을 참조하면, 한 세트의 N개의 이전의 복원된 프레임들
Figure pct00018
이 DNN LF 모듈(310)에 대한 입력으로서 제공된다. DNN LF 모듈(310)은 E2E(end-to-end) LF DNN 네트워크를 이용함으로써 고품질 프레임
Figure pct00019
을 생성할 수 있다. 그 다음, 생성된 고품질 프레임
Figure pct00020
은 복원 품질 계산 모듈(320)에 의해 원본 이미지 프레임 x t 의 복원 품질을 평가하기 위해 계산된다. 그 다음, 복원 품질 계산 모듈(320)은 복원 품질
Figure pct00021
을 역전파 모듈(330)에 출력한다. 역전파 모듈(330)은 복원 품질 계산 모듈(320)에 의해 평가된 복원 품질에 따라 DNN LF 모듈(310)을 훈련시키기 위해 복원 품질
Figure pct00022
을 DNN LF 모듈(310)에 피드백한다.
또한, DNN LF 모듈(310)에 의해 출력된 N개의 이전의 복원된 프레임 세트에 대한 정렬 손실
Figure pct00023
은 역전파 모듈(330)에 공급될 수 있으며, 이것은 그 후 역전파 모듈(330)을 통해 DNN LF 모듈(310)에 피드백되어 DNN LF 모듈(310)을 훈련시킬 수 있다. 정렬 손실에 대한 더 상세한 설명은 도 4를 참조하여 후술될 것이다.
또한, 고품질 프레임
Figure pct00024
과 원본 이미지 프레임 xt는 판별 모듈(340)에 입력되어 고품질 프레임
Figure pct00025
과 원본 이미지 프레임 xt 사이의 차이를 인식하여 검출할 수 있다. 즉, 판별 모듈(340)은
Figure pct00026
및 xt에 기초하여 판별 손실
Figure pct00027
을 계산하고, 판별 손실을 역전파 모듈(330)에 전송할 수 있다. 판별 손실
Figure pct00028
은 역전파 모듈(330)을 통해 DNN LF 모듈(310) 및 판별 모듈(340)에 피드백되어 DNN LF 모듈(310) 및 판별 모듈(340)을 훈련시킬 수 있다.
판별 DNN은, 판별 피처 맵
Figure pct00029
또는
Figure pct00030
을 계산하기 위해, 입력으로서
Figure pct00031
Figure pct00032
중 적어도 하나를 이용하는 분류 네트워크일 수 있다. 판별 피처 맵
Figure pct00033
또는
Figure pct00034
에 기초하여, 판별 DNN은 입력이 원본 이미지 프레임 xt인지 또는 생성된(또는 합성된) 고품질 프레임
Figure pct00035
인지를 분류한다. 분류 손실
Figure pct00036
은, 범주형 교차 엔트로피 손실 등의, 오분류 손실을 측정하기 위해 계산할 수 있다. 또한, 생성된 고품질 이미지 프레임
Figure pct00037
에 기초하여 계산된 판별 피처 맵과 원본 이미지 프레임
Figure pct00038
에 기초하여 계산된 판별 피처 맵 사이의 차이를 측정하기 위해 피처 판별 손실
Figure pct00039
이 계산될 수 있다.
전체 판별 손실
Figure pct00040
Figure pct00041
Figure pct00042
의 선형 조합일 수 있으며, 이것은 다음과 같은 수학식 1에 따라 계산된다:
Figure pct00043
(1)
여기서,
Figure pct00044
는 판별 피처 맵들
Figure pct00045
Figure pct00046
과 연관된 가중치이다.
전술한 바와 같이, 복원 품질 계산 모듈(320)에 의해 출력된 복원 품질
Figure pct00047
, DNN LF(310)에 의해 출력된 정렬 손실
Figure pct00048
, 판별 모듈(340)에 의해 출력된 판별 손실
Figure pct00049
은 역전파 모듈(330)에 전송된다. 각각의 모듈들로부터의 이들 계산들을 수신하는 것에 기초하여, 역전파 모듈(330)은 합동 손실
Figure pct00050
의 기울기를 계산할 수 있으며, 이것은 DNN LF 모듈(310) 및 판별 모듈(340)에 피드백될 수 있다. 합동 손실
Figure pct00051
의 기울기는 다음과 같은 수학식 (2)에 따라 계산될 수 있다:
Figure pct00052
(2)
여기서,
Figure pct00053
는 정렬 손실과 연관된 가중치이고,
Figure pct00054
는 판별 손실과 연관된 가중치이다.
합동 손실
Figure pct00055
의 기울기는 역전파 모듈(330)을 통해 역전파되어 LF DNN(예를 들어, 피처 추출(Feature Extraction) DNN, 오프셋 생성(Offset Generation) DNN, TDC DNN, 프레임 복원(Frame Reconstruction) DNN, 프레임 합성(Frame Synthesis) DNN, 판별(Discrimination) DNN, 및 TDC & 피처 융합(Feature Fusion) DNN)에서 DNN 가중치 계수들을 업데이트할 수 있다.
상기의 하나 이상의 DNN에 대한 합동 손실
Figure pct00056
의 피드백에 기초하여, 예측된 프레임
Figure pct00057
이 추가되어 N개의 이전의 복원된 프레임 세트
Figure pct00058
Figure pct00059
를 업데이트한다. 예를 들어, 현재 프레임으로부터 가장 먼 거리의 가장 오래된 프레임이 N개의 이전의 복원 프레임 세트로부터 제거될 수 있고, 제거된 가장 오래된 프레임을 대체하기 위해 예측된 프레임
Figure pct00060
이 추가될 수 있다. 그 후, 인코더는 t에서 t+1까지의 다음 인코딩 사이클에 진입할 수 있다.
한 실시예에 따르면, DNN LF 모듈(310)은, 복원된 프레임
Figure pct00061
의 시각적 품질을 개선하기 위해 전술된 추가 컴포넌트들(예를 들어, DF, SAO, ALF, CCALF 등) 중 하나 이상과 조합하여 이용될 수 있다. 예를 들어, 복원된 프레임
Figure pct00062
은, DF, DNN LF 모듈, SAO 및 ALF를 통해 순차적으로 처리될 수 있다. 그러나, 하나 이상의 실시예는 이것으로 제한되지 않고, 추가 컴포넌트들의 처리 순서는 다양하게 구성될 수 있다. 한 실시예에서, DNN LF 모듈(310)은, 복원된 프레임
Figure pct00063
의 시각적 품질을 강화하기 위해 모든 다른 추가 컴포넌트들에 대한 대체물로서 단독으로 이용될 수 있다.
도 4는 한 실시예에 따른 2D TDC를 이용한 DNN LF 모듈의 동작들을 나타내는 도면이다.
도 4를 참조하면, DNN LF 모듈(400)은, 피처 추출 모듈(410), 오프셋 생성 모듈(420), TDC 모듈(430), 프레임 복원 모듈(440), 프레임 합성 모듈(450), 및 정렬 에러 계산 모듈(460)을 포함할 수 있다.
피처 추출 모듈(410)은 한 세트의 N개의 이전의 복원된 프레임들
Figure pct00064
을 입력으로서 수신하고, 순방향 추론을 통한 피처 추출 DNN을 이용함으로써 피처 맵
Figure pct00065
을 계산하도록 구성될 수 있다. 예를 들어, 프레임
Figure pct00066
이 다른 모든 프레임이 정렬되어야 하는 기준 프레임으로 이용된다고 가정하면, 오프셋 생성 모듈(420)은, 피처 맵들
Figure pct00067
Figure pct00068
을 연결하고 연결된 피처 맵을 오프셋 생성 DNN에 통과시킴으로써
Figure pct00069
Figure pct00070
에 기초하여 오프셋 맵
Figure pct00071
을 계산할 수 있다. 여기서, 프레임
Figure pct00072
은 N개의 이전의 복원된 프레임 세트
Figure pct00073
중 임의의 프레임일 수 있다. 일반성을 잃지 않고, N개의 이전의 복원된 프레임 세트
Figure pct00074
는 타임 스탬프들에 따라 오름차순으로 순위매김된다. 따라서, N개의 복원된 프레임들
Figure pct00075
의 타임 스탬프들에 기초하여 시각적 품질을 강화할 프레임이 선택될 수 있다. 예를 들어, 타깃이 현재의 복원된 프레임
Figure pct00076
를 강화하는 것일 때, 그러면
Figure pct00077
이다. 즉, 모든 다른 이전의 복원된 이웃 프레임들은
Figure pct00078
이전일 수 있다. 또 다른 실시예에서, 이전의 복원된 이웃 프레임들의 일부는
Figure pct00079
이전일 수 있고, 나머지 프레임들은
Figure pct00080
이후일 수 있다.
오프셋 생성 모듈(420)에 의해 생성된 오프셋 맵
Figure pct00081
은 TDC 모듈(430)에 입력될 수 있다. 도 4에서, TDC DNN은 여러 TDC 계층을 적층함으로써 형성될 수 있고, 각각의 계층에 후속하여, ReLU(Rectified Linear Unit) 등의 비선형 활성화 계층뿐만 아니라 다른 DNN 계층들(예를 들어, 병목 계층)이 뒤따른다. TDC 모듈(430)은 TDC DNN을 이용하여 피처 추출 모듈(410)에 의해 출력된 피처 맵
Figure pct00082
및 오프셋 생성 모듈(420)에 의해 출력된 오프셋 맵
Figure pct00083
에 기초하여 정렬된 피처 맵
Figure pct00084
을 계산한다.
한 실시예에 따르면, TDC DNN은 2차원(2D) TDC 계층들을 포함할 수 있다. 예를 들어, wk는 2D TDC 커널의 가중치 계수를 나타내며, 여기서 k는 1보다 크거나 같은 자연수(예를 들어, k = 1, …, K)이고, pk는 커널의 k번째 위치에 대한 미리결정된 오프셋을 나타낸다고 가정한다(예를 들어, 3x3 커널은, K = 9 및 pk ∈ {(-1, -1), (-1, 0), …, (1, 1)}으로 정의된다. 2D TDC 계층은 입력 피처
Figure pct00085
및 학습가능한 오프셋
Figure pct00086
에 기초하여 출력 피처
Figure pct00087
를 계산할 수 있으며, 여기서 샘플링 위치 p0에서의 피처는 다음과 같은 방정식에 기초하여 결정된다:
Figure pct00088
(3)
여기서, 오프셋들
Figure pct00089
의 합은 불규칙할 수 있고 정수가 아닐 수 있으며, TDC 연산은
Figure pct00090
의 불규칙한 위치를 교정하기 위해 보간들(예를 들어, 쌍선형 보간)을 수행할 수 있다.
또한, 정렬 에러 계산 모듈(460)은
Figure pct00091
Figure pct00092
사이의 오정렬 에러를 측정하기 위해 정렬 손실
Figure pct00093
을 계산하도록 구성될 수 있다. 예를 들어, L1-norm(또는 절대 에러의 평균) 또는 L2-norm(제곱근 에러의 평균)은 오정렬을 계산하는데 이용될 수 있다. 프레임 복원 모듈(440)은, 피처 추출 모듈(410)에 의해 출력된 피처 맵
Figure pct00094
및 TDC 모듈(430)에 의해 출력된 정렬된 피처 맵
Figure pct00095
에 기초하여 피드 포워드 추론 계산을 통해 프레임 복원 DNN을 이용하여 정렬된 프레임
Figure pct00096
을 생성할 수 있다. 정렬된 프레임들
Figure pct00097
은 프레임 합성 모듈(450)에 대한 입력들로서 이용될 수 있고, 프레임 합성 모듈(450)은 프레임 합성 DNN을 이용하여 합성된 고품질 프레임
Figure pct00098
을 생성할 수 있다.
DNN LF 모듈의 일부 특정한 실시예가 위에서 설명되었지만, 본 개시내용의 하나 이상의 실시예가 이것으로 제한되는 것은 아님을 이해해야 한다. 예를 들어, 피처 추출 DNN, 오프셋 생성 DNN, TDC DNN, 프레임 복원 DNN, 프레임 합성 DNN 각각에 대해, 계층의 종류, 계층의 수, 커널 크기 등이 다양하게 구성될 수 있다. 예를 들어, ResNET 등의 임의의 백본 네트워크가 피처 합성 DNN으로서 이용될 수 있다. 예를 들어, 한 세트의 일반 콘볼루션 및 병목 계층들이 오프셋 생성 DNN으로서 적층될 수 있다. 예를 들어, 한 세트의 TDC 계층들이 TDC DNN으로서 적층될 수 있고, 스킵 접속들을 갖는 몇몇 콘볼루션 계층들이 프레임 복원 DNN으로서 함께 적층될 수 있다. 예를 들어, 수개의 잔차 블록 계층들이 프레임 합성 DNN으로서 함께 적층될 수 있다.
도 5는 한 실시예에 따른 3D TDC를 이용한 DNN LF 모듈의 동작들을 나타내는 도면이다.
도 5를 참조하면, DNN LF 모듈(500)은, 피처 추출 모듈(510), TDC 및 피처 융합 모듈(520), 및 피처 복원 모듈(530)을 포함할 수 있다. DNN LF 모듈(500)의 컴포넌트들의 피처들 또는 기능들 중 일부는 도 4를 참조하여 위에서 설명되었음을 이해해야 한다. 따라서, 반복되는 설명들은 생략될 수 있다.
한 실시예에 따르면, 입력 프레임들
Figure pct00099
은 크기(n, c, h, w)의 4D 입력 텐서를 획득하기 위해 함께 적층될 수 있으며, 여기서 c는 채널의 수(예를 들어, 컬러 프레임들의 경우 3개)이고 (h, w)는 비디오 프레임의 해상도를 제공한다. 피처 추출 모듈(510)은 순방향 추론을 통해 피처 추출 DNN을 이용하여 피처 맵들
Figure pct00100
의 4D 피처 텐서를 계산하도록 구성될 수 있다. 한 실시예에서, 피처 추출 DNN은 피처 맵들
Figure pct00101
을 계산하고 비디오의 시공간 특성들을 캡처하기 위해 3D 콘볼루션 계층들(예를 들어, C3D)을 이용한다. 또 다른 실시예에서, 각각의 개개의 피처 맵은 도 4를 참조하여 설명된 바와 같이 2D 콘볼루션 계층을 이용하여 계산될 수 있다. 여기서, 피처 맵들
Figure pct00102
은 각각의 개개의 입력 프레임에 대한 피처 맵들
Figure pct00103
을 계산한 후 연결되어 4D 텐서화될 수 있다. 따라서, 피처 추출 모듈(510)은 4D 피처 텐서를 출력할 수 있다.
예를 들어, wk가 3D TDC 커널의 가중치 계수를 나타내고 pk가 커널의 k번째 위치에 대한 미리결정된 오프셋을 나타낸다고 가정할 때, 여기서, k는 1 이상의 자연수이다(예를 들어, k = 1, …, K). 3D TDC 커널은, K=27 및 pk ∈ {(-1, -1, -1), (-1, -1, 0), …, (1, 1, 1)}로서 정의될 수 있다. 3D TDC 계층은 입력 피처
Figure pct00104
및 학습가능한 오프셋
Figure pct00105
에 기초하여 출력 피처
Figure pct00106
를 계산할 수 있으며, 여기서 샘플링 위치 p0에서의 피처는 위에서 제공된 동일한 수학식 (3)을 이용하여 주어진다.
도 5에서, TDC 및 피처 융합 DNN은, 하나 이상의 3D TDC 계층을 적층함으로써 형성될 수 있으며, 여기서 각각의 계층에 후속하여, ReLU 등의 비선형 활성화 계층이 뒤따른다. 추가적으로 또는 대안으로서, 각각의 3D TDC 계층에 후속하여, 병목 계층들 등의 다른 DNN 계층이 뒤따를 수 있다. 예를 들어, 프레임
Figure pct00107
이 다른 모든 프레임들이 정렬될 필요가 있는 기준 프레임이고 TDC 및 피처 융합 모듈(520)이 4D 피처 텐서
Figure pct00108
에 기초하여 융합된 정렬된 피처 맵
Figure pct00109
을 계산하기 위해 TDC 및 피처 융합 DNN을 이용한다고 가정한다. 프레임 복원 모듈(530)은 융합된 정렬된 피처 맵
Figure pct00110
에 기초하여 복원된 고품질 프레임
Figure pct00111
을 계산하기 위해 프레임 복원 DNN을 이용한다. 여기서, DNN LF 모듈(500)을 훈련시킬 때 수행되는 어떠한 명시적인 공간 정렬도 없다. 대신에, 3D 변형가능한 콘볼루션은 시공간 오프셋들을 직접 학습하여 정렬된 융합된 피처를 생성한다.
DNN LF 모듈의 일부 특정한 실시예가 위에서 설명되었지만, 본 개시내용의 하나 이상의 실시예가 이것으로 제한되는 것은 아님을 이해해야 한다. 예를 들어, 피처 추출 DNN, TDC 및 피처 융합 DNN, 및 프레임 복원 DNN 각각에 대해, 계층의 유형, 계층의 수, 커널 크기 등이 다양하게 구성될 수 있다.
도 6은 한 실시예에 따른 TDC를 갖는 DNN LF를 이용하여 비디오 데이터를 처리하기 위한 장치의 블록도이다. 장치(600)의 컴포넌트들의 피처들 또는 기능들 중 일부는 도 4 및 도 5를 참조하여 위에서 설명되었음을 이해해야 한다. 따라서, 반복되는 설명들은 생략될 수 있다.
장치(600)는, 컴퓨터 프로그램 코드를 저장한 적어도 하나의 메모리, 및 적어도 하나의 메모리에 액세스하고 컴퓨터 프로그램 코드에 의해 지시받은 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다. 컴퓨터 프로그램 코드(600)는, 획득 코드(610), 결정 코드(620) 및 생성 코드(630)를 포함할 수 있다.
획득 코드(610)는, 비디오 시퀀스 내의 한 세트의 복원된 이미지 프레임들을 획득하도록 구성될 수 있다. 한 실시예에 따르면, 획득 코드(610)는 도 4 및 도 5와 관련하여 전술된 피처 추출 모듈(410 및 510)의 동작들을 수행하도록 구성될 수 있다.
결정 코드(620)는, 복수의 이미지 프레임들 각각에 대한 피처 맵을 결정하고, 피처 맵에 기초하여 오프셋 맵을 결정하고, 피처 맵 및 오프셋 맵에 관해 시간적 변형가능한 콘볼루션(TDC; temporal deformable convolution)을 수행함으로써 정렬된 피처 맵을 결정하도록 구성될 수 있다. 한 실시예에 따르면, 결정 코드(620)는, 도 4와 관련하여 전술된 오프셋 생성 모듈(420), TDC(430) 및 정렬 에러 계산 모듈(460) 및 도 5와 관련하여 전술된 TDC 및 피처 융합 모듈(520)의 동작들을 수행하도록 구성될 수 있다.
생성 코드(630)는, 복수의 정렬된 프레임을 생성하고 복수의 정렬된 프레임을 합성하여 복수의 이미지 프레임에 대응하는 복수의 고품질 프레임을 출력하도록 구성될 수 있다. 한 실시예에 따르면, 생성 코드(630)는, 도 4의 프레임 복원 모듈(430) 및 프레임 합성 모듈(450)과, 도 5의 프레임 복원 모듈(530)의 동작들을 수행하도록 구성될 수 있다.
장치(600)가, 획득 코드(610), 결정 코드(620), 및 생성 코드(630)만을 포함하는 것으로 설명되었지만, 본 개시내용의 하나 이상의 실시예는 이것으로 제한되는 것은 아니다. 하나 이상의 실시예는 도 6에 도시된 것들보다 더 많거나 더 적은 컴포넌트들 또는 부품들을 포함할 수 있다.
본 개시내용의 하나 이상의 실시예에서 사용된 "유닛" 또는 "모듈" 등의 용어는, 적어도 하나의 기능 또는 동작을 처리하는 단위를 나타내며, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
"유닛", "코드" 또는 "모듈"이라는 용어는, 어드레싱가능한 저장 매체에 저장되고 프로세서에 의해 실행가능한 프로그램에 의해 구현될 수 있다.
예를 들어, "유닛", "코드" 또는 "모듈"이라는 용어는, 소프트웨어 컴포넌트들, 객체 지향형 소프트웨어 컴포넌트들, 클래스 컴포넌트들 및 태스크 컴포넌트들, 프로세스들, 함수들, 속성들, 절차들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스들, 데이터 구조들, 테이블들, 어레이들, 및/또는 변수들을 포함할 수 있다.
본 개시내용의 일부 실시예가 위에서 도시되고 설명되었다. 그러나, 본 개시내용의 하나 이상의 실시예는 전술된 특정한 실시예들로 제한되는 것은 아니다. 본 개시내용의 사상 및 범위를 벗어나지 않고 다양한 수정, 대체, 개선 및 균등물이 이루어질 수 있다는 것을 이해할 수 있을 것이다. 이러한 수정, 대체, 개선 및 균등물은 본 개시내용의 보호 범위에 속하며 본 개시내용의 발명적 개념 또는 전망과 독립적으로 해석되어서는 안 된다는 것을 이해해야 한다.

Claims (20)

  1. 루프 필터를 갖춘 하나 이상의 신경망을 이용하여 비디오 코딩을 수행하는 방법으로서,
    비디오 시퀀스 내의 복수의 이미지 프레임을 획득하는 단계;
    상기 복수의 이미지 프레임들 각각에 대한 피처 맵을 결정하는 단계;
    상기 피처 맵에 기초하여 오프셋 맵을 결정하는 단계;
    상기 피처 맵과 상기 오프셋 맵에 관해 시간적 변형가능한 콘볼루션(TDC; temporal deformable convolution)을 수행함으로써 정렬된 피처 맵을 결정하는 단계; 및
    상기 정렬된 피처 맵에 기초하여 복수의 정렬된 프레임을 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 복수의 정렬된 프레임을 합성하여 상기 복수의 이미지 프레임에 대응하는 복수의 고품질 프레임을 출력하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 피처 맵과 상기 정렬된 피처 맵 사이의 오정렬 에러를 나타내는 정렬 손실을 결정하는 단계를 더 포함하고,
    상기 하나 이상의 신경망은 상기 정렬 손실에 의해 훈련되는, 방법.
  4. 제1항에 있어서, 상기 복수의 이미지 프레임을 획득하는 단계는 4차원(4D) 입력 텐서를 획득하기 위해 상기 복수의 이미지 프레임을 적층하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, 상기 오프셋 맵을 결정하는 단계는 오프셋 생성 심층 신경망(DNN; Deep Neural Network)에 따라 복수의 피처 맵을 연결하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 복수의 이미지 프레임은, DF(Deblocking Filter), SAO(Sample-Adaptive Offset), ALF(Adaptive Loop Filter) 또는 CCALF(Cross-Component Adaptive Filter) 중 적어도 하나를 이용하여 추가로 처리되는, 방법.
  7. 제2항에 있어서, 상기 복수의 고품질 이미지 프레임이 평가되어 상기 복수의 이미지 프레임의 복원 품질을 결정하고,
    상기 복수의 이미지 프레임의 복원 품질은 상기 하나 이상의 신경망에서 역전파되고,
    상기 하나 이상의 신경망은 상기 복수의 이미지 프레임의 복원 품질에 의해 훈련되는, 방법.
  8. 제1항에 있어서, 상기 복수의 이미지 프레임 각각이 원본 이미지 프레임인지 고품질 프레임인지를 분류하는데 있어서 에러를 나타내는 판별 손실을 결정하는 단계를 더 포함하고,
    상기 장치에서 구현된 하나 이상의 신경망은 상기 판별 손실에 의해 훈련되는, 방법.
  9. 제1항에 있어서, 상기 정렬된 피처 맵을 결정하는 단계는 시간적 변형가능한 콘볼루션 심층 신경망(TDC DNN)을 이용하는 단계를 포함하고,
    상기 TDC DNN은 적층된 복수의 TDC 계층을 포함하고,
    상기 복수의 TDC 계층들 각각에 후속하여, ReLU(Rectified Linear Unit)를 포함하는 비선형 활성화 계층이 뒤따르는, 방법.
  10. 장치로서,
    컴퓨터 프로그램 코드를 저장한 적어도 하나의 메모리; 및
    상기 적어도 하나의 메모리에 액세스하고 상기 컴퓨터 프로그램 코드에 의해 지시받은 대로 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하고, 상기 컴퓨터 프로그램 코드는:
    상기 적어도 하나의 프로세서로 하여금 비디오 시퀀스 내의 복수의 이미지 프레임을 획득하게 하도록 구성된 획득 코드;
    상기 적어도 하나의 프로세서로 하여금:
    상기 복수의 이미지 프레임 각각에 대한 피처 맵을 결정하고 상기 피처 맵에 기초하여 오프셋 맵을 결정하고;
    상기 피처 맵과 상기 오프셋 맵에 관해 시간적 변형가능한 콘볼루션(TDC; temporal deformable convolution)을 수행함으로써 정렬된 피처 맵을 결정하게
    하도록 구성된 결정 코드; 및
    상기 적어도 하나의 프로세서로 하여금 복수의 정렬된 프레임을 생성하게 하도록 구성된 생성 코드
    를 포함하는, 장치.
  11. 제10항에 있어서, 상기 생성 코드는 또한, 상기 적어도 하나의 프로세서로 하여금, 상기 복수의 정렬된 프레임을 합성하여 상기 복수의 이미지 프레임에 대응하는 복수의 고품질 프레임을 출력하게 하도록 구성된, 장치.
  12. 제10항에 있어서, 상기 결정 코드는 또한, 상기 적어도 하나의 프로세서로 하여금, 상기 피처 맵과 상기 정렬된 피처 맵 사이의 오정렬의 에러를 나타내는 정렬 손실을 결정하게 하도록 구성되고,
    상기 장치에서 구현된 하나 이상의 신경망은 상기 정렬 손실에 의해 훈련되는, 장치.
  13. 제10항에 있어서, 상기 획득 코드는 또한, 상기 적어도 하나의 프로세서로 하여금, 4차원(4D) 입력 텐서를 획득하기 위해 상기 복수의 이미지 프레임을 적층으로 배열하게 하도록 구성된, 장치.
  14. 제10항에 있어서, 상기 결정 코드는 또한, 상기 적어도 하나의 프로세서로 하여금, 오프셋 생성 심층 신경망(DNN; Deep Neural Network)에 따라 복수의 피처 맵을 연결함으로써 상기 오프셋 맵을 결정하게 하도록 구성된, 장치.
  15. 제10항에 있어서,
    상기 적어도 하나의 프로세서로 하여금, DF(Deblocking Filter), SAO(Sample-Adaptive Offset), ALF(Adaptive Loop Filter) 또는 CCALF(Cross-Component Adaptive Filter) 중 적어도 하나를 이용하여, 상기 복수의 이미지 프레임을 처리하게 하도록 구성된 처리 코드를 더 포함하는, 장치.
  16. 제11항에 있어서, 상기 복수의 고품질 이미지 프레임이 평가되어 상기 복수의 이미지 프레임의 복원 품질을 결정하고,
    상기 복수의 이미지 프레임의 복원 품질은 상기 하나 이상의 신경망으로 역전파되고,
    상기 하나 이상의 신경망은 상기 복수의 이미지 프레임의 복원 품질에 의해 훈련되는, 장치.
  17. 제10항에 있어서, 상기 결정 코드는 또한, 상기 적어도 하나의 프로세서로 하여금, 상기 복수의 이미지 프레임 각각이 원본 이미지 프레임인지 고품질 프레임인지를 분류하는데 있어서 에러를 나타내는 판별 손실을 결정하게 하도록 구성되고,
    상기 장치에서 구현된 하나 이상의 신경망은 상기 판별 손실에 의해 훈련되는, 장치.
  18. 제10항에 있어서, 상기 결정 코드는 또한, 상기 적어도 하나의 프로세서로 하여금, 시간적 변형가능한 콘볼루션 심층 신경망(TDC DNN)을 이용하여 상기 정렬된 피처 맵을 결정하게 하도록 구성되고,
    상기 TDC DNN은 적층된 복수의 TDC 계층을 포함하고,
    상기 복수의 TDC 계층들 각각에 후속하여, ReLU(Rectified Linear Unit)를 포함하는 비선형 활성화 계층이 뒤따르는, 장치.
  19. 컴퓨터 프로그램 코드를 저장한 비일시적인 컴퓨터 판독가능한 저장 매체로서, 상기 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
    비디오 시퀀스 내의 복수의 이미지 프레임을 획득하고;
    상기 복수의 이미지 프레임 각각에 대한 피처 맵을 결정하고 상기 피처 맵에 기초하여 오프셋 맵을 결정하고;
    상기 피처 맵과 상기 오프셋 맵에 관해 시간적 변형가능한 콘볼루션(TDC; temporal deformable convolution)을 수행함으로써 정렬된 피처 맵을 결정하고;
    복수의 정렬된 프레임을 생성하게 하도록 구성된, 비일시적인 컴퓨터 판독가능한 저장 매체.
  20. 제19항에 있어서, 상기 적어도 하나의 프로세서는 또한:
    상기 복수의 정렬된 프레임을 합성하여 상기 복수의 이미지 프레임에 대응하는 복수의 고품질 프레임을 출력하도록 구성된, 비일시적인 컴퓨터 판독가능한 저장 매체.
KR1020227021939A 2020-10-09 2021-08-18 시간적 변형가능한 콘볼루션에 의한 딥 루프 필터 KR20220107028A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063090126P 2020-10-09 2020-10-09
US63/090,126 2020-10-09
US17/394,504 US11601661B2 (en) 2020-10-09 2021-08-05 Deep loop filter by temporal deformable convolution
US17/394,504 2021-08-05
PCT/US2021/046471 WO2022076085A1 (en) 2020-10-09 2021-08-18 Deep loop filter by temporal deformable convolution

Publications (1)

Publication Number Publication Date
KR20220107028A true KR20220107028A (ko) 2022-08-01

Family

ID=81078440

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227021939A KR20220107028A (ko) 2020-10-09 2021-08-18 시간적 변형가능한 콘볼루션에 의한 딥 루프 필터

Country Status (5)

Country Link
US (1) US11601661B2 (ko)
EP (1) EP4052214A4 (ko)
KR (1) KR20220107028A (ko)
CN (1) CN114651270A (ko)
WO (1) WO2022076085A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076163A1 (ko) * 2022-10-06 2024-04-11 오픈엣지테크놀로지 주식회사 신경망 연산방법과 이를 위한 npu 및 컴퓨팅 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827616B (zh) * 2022-04-28 2023-03-10 电子科技大学 一种基于时空信息平衡的压缩视频质量增强方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036370A1 (en) * 2015-09-03 2017-03-09 Mediatek Inc. Method and apparatus of neural network based processing in video coding
JP2020510463A (ja) * 2017-01-27 2020-04-09 アーテリーズ インコーポレイテッド 全層畳み込みネットワークを利用する自動化されたセグメンテーション
US11107205B2 (en) * 2019-02-18 2021-08-31 Samsung Electronics Co., Ltd. Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076163A1 (ko) * 2022-10-06 2024-04-11 오픈엣지테크놀로지 주식회사 신경망 연산방법과 이를 위한 npu 및 컴퓨팅 장치

Also Published As

Publication number Publication date
US20220116633A1 (en) 2022-04-14
WO2022076085A1 (en) 2022-04-14
JP2023509395A (ja) 2023-03-08
EP4052214A1 (en) 2022-09-07
CN114651270A (zh) 2022-06-21
EP4052214A4 (en) 2023-01-04
US11601661B2 (en) 2023-03-07

Similar Documents

Publication Publication Date Title
JP7110370B2 (ja) ビデオ符号化のための機械学習モデルの量子化パラメータに適用される非線形関数の使用
US10425649B2 (en) Method and apparatus for performing graph-based prediction using optimization function
CN105191309B (zh) 用于下一代视频编码的内容自适应预测距离分析器和分层运动估计系统
EP3732655A1 (en) Video compression through motion warping using learning-based motion segmentation
US11689713B2 (en) Predicted frame generation by deformable convolution for video coding
JP6636615B2 (ja) 動きベクトル場の符号化方法、復号方法、符号化装置、および復号装置
US11490078B2 (en) Method and apparatus for deep neural network based inter-frame prediction in video coding
CN107027025B (zh) 一种基于宏像素块自适应预测的光场图像压缩方法
KR20220107028A (ko) 시간적 변형가능한 콘볼루션에 의한 딥 루프 필터
US20240037802A1 (en) Configurable positions for auxiliary information input into a picture data processing neural network
CN116965029A (zh) 使用卷积神经网络对图像进行译码的装置和方法
JP7482232B2 (ja) 時間変形可能畳み込みによるディープループフィルタ
Li et al. Space-time quantization and motion-aligned reconstruction for block-based compressive video sensing
Choudhury et al. Low bit-rate compression of video and light-field data using coded snapshots and learned dictionaries
EP4272437A1 (en) Independent positioning of auxiliary information in neural network based picture processing
US20240161488A1 (en) Independent positioning of auxiliary information in neural network based picture processing
US20240048709A1 (en) Methods and systems for temporal resampling for multi-task machine vision
US20240073425A1 (en) Image encoding apparatus and image decoding apparatus both based on artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus
US10051268B2 (en) Method for encoding, decoding video signal and device therefor
Nortje Deep image and video compression
WO2022229495A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
CN116934647A (zh) 基于空间角度可变形卷积网络的压缩光场质量增强方法
KR20240027510A (ko) Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법
WO2023091040A1 (en) Generalized difference coder for residual coding in video compression
US20200329232A1 (en) Method and device for encoding or decoding video signal by using correlation of respective frequency components in original block and prediction block

Legal Events

Date Code Title Description
A201 Request for examination