KR20220101645A - 게이밍 초해상도 - Google Patents

게이밍 초해상도 Download PDF

Info

Publication number
KR20220101645A
KR20220101645A KR1020227018162A KR20227018162A KR20220101645A KR 20220101645 A KR20220101645 A KR 20220101645A KR 1020227018162 A KR1020227018162 A KR 1020227018162A KR 20227018162 A KR20227018162 A KR 20227018162A KR 20220101645 A KR20220101645 A KR 20220101645A
Authority
KR
South Korea
Prior art keywords
linear
input image
sampled versions
resolution
pixels
Prior art date
Application number
KR1020227018162A
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 KR20220101645A publication Critical patent/KR20220101645A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4069Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution by subpixel displacements
    • 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
    • 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

Landscapes

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

Abstract

메모리 및 프로세서를 포함하는 프로세싱 장치가 제공된다. 프로세서는 제1 해상도를 갖는 입력 이미지를 수신하고, 선형 업스케일링 네트워크를 통해 입력 이미지를 다운-샘플링함으로써 입력 이미지의 선형 다운-샘플링된 버전들을 생성하고, 비선형 업스케일링 네트워크를 통해 입력 이미지를 다운-샘플링함으로써 입력 이미지의 비선형 다운-샘플링된 버전들을 생성하도록 구성된다. 프로세서는 또한 입력 이미지의 다운-샘플링된 버전들을 제1 해상도보다 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하고 디스플레이를 위해 출력 이미지를 제공하도록 구성된다.

Description

게이밍 초해상도
관련 출원에 대한 상호 참조
본 출원은 2019년 11월 18일 출원된 미국 특허출원 제16/687,569호의 이익을 주장하며, 본 명세서에 완전히 개시된 바와 같이 참조로 포함된다.
초해상도(Super-resolution)는 신경망(neural network)을 통해 원본 이미지(예를 들어, 비디오 이미지, 사진)를 업스케일링(upscaling)하여 원본 이미지에 존재하는 정보량보다 더 많은 정보(예를 들어, 세부사항(details))를 추출하는 프로세스이다. 초해상도 기술들은 업스케일링된 이미지를 생성하기 위해 상이한 이미지들 또는 프레임들로부터의 정보를 사용한다. 세부사항은 다른 이미지들을 재구성하기 위해 시퀀스로 각각의 이미지로부터 추출된다.
더 상세한 이해는 첨부된 도면과 함께 예로서 주어진 다음의 설명으로부터 얻을 수 있다.
도 1은 본 개시의 하나 이상의 특징들이 구현될 수 있는 예시적인 장치(device)의 블록도이다.
도 2는 도 1의 장치의 블록도이고, 추가적인 세부사항을 예시한다.
도 3은 본 개시의 특징에 따른 이미지를 초해상도화(super resolving)의 예시적인 방법을 예시하는 흐름도이다.
도 4는 도 3에 도시된 방법의 더 상세한 예를 예시하는 흐름도이다.
도 5는 본 개시의 특징들에 따라 저해상도 이미지를 고해상도 이미지로 변환하기(convert) 위해 서브픽셀 컨볼루션(convolution)을 사용하는 예시이다.
종래 초해상도 기술은 선형 함수를 사용하여 이미지를 업스케일링하여 초해상도를 수행하는 다양한 종래의 신경망 아키텍처를 포함한다. 그러나, 이들 선형 함수는 전형적으로 흐릿하고 및/또는 손상된 이미지를 초래하는 다른 유형의 정보(예를 들어, 비선형 정보)의 장점을 활용하지 않는다. 게다가, 종래의 신경망 아키텍처들은 일반화될 수 있고 즉각적인 문제에 대한 상당한 지식 없이 동작하도록 훈련된다. 다른 종래의 초해상도 기술들은 딥 러닝 접근법을 사용한다. 그러나 딥 러닝 기술은 원본 이미지의 중요한 측면을 통합하지 않으므로 색상 손실 및 세부사항 정보 손실을 초래한다.
본 출원은 이미지를 업스케일링하고 충실도(fidelity)를 향상시키면서 이미지의 원본 정보를 보존하는, 이미지를 효율적으로 초해상도화하기 위한 디바이스들 및 방법들을 제공한다. 장치들 및 방법들은 완전히 학습된 환경에서 선형 및 비선형 업-샘플링을 활용한다.
장치들 및 방법들은 콘볼루셔널 및 일반화 가능한 방식으로 이미지들을 효율적으로 초해상도화하는 게이밍 초해상도(GSR) 네트워크 아키텍처를 포함한다. GSR 아키텍처는 프로세스를 게이밍 실행 가능한 레벨로 가속화하기 위해 이미지 압축(image condensation) 및 선형 및 비선형 연산의 조합을 이용한다. GSR은 낮은 품질 스케일로 이미지를 렌더링하여 높은 품질의 이미지 근사치(approximations)를 생성하고 높은 프레임 레이트를 달성한다. 컨볼루션 레이어 및 활성화 함수의 특정 구성을 낮은 품질 기준 이미지에 적용하여 높은 품질 기준 이미지는 근사화된다. GSR 네트워크는 이미지의 코퍼스(corpus)로 컨볼루션 계층의 가중치를 트레이닝함으로써 종래의 초해상도 기술보다 더 정확하고 효율적으로 일반화된 문제에 접근한다.
메모리 및 프로세서를 포함하는 프로세싱 장치가 제공된다. 프로세서는 제1 해상도를 갖는 입력 이미지를 수신하고, 선형 업스케일링 네트워크를 통해 입력 이미지를 다운-샘플링함으로써 입력 이미지의 선형 다운-샘플링된 버전들을 생성하고, 비선형 업스케일링 네트워크를 통해 입력 이미지를 다운-샘플링함으로써 입력 이미지의 비선형 다운-샘플링된 버전들을 생성하도록 구성된다. 프로세서는 또한 입력 이미지의 다운-샘플링된 버전들을 제1 해상도보다 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하고 디스플레이를 위해 출력 이미지를 제공하도록 구성된다.
메모리 및 제1 해상도를 갖는 입력 이미지를 수신하도록 구성된 프로세서를 포함하는 프로세싱 장치가 제공된다. 프로세서는 또한 비선형 업스케일링 네트워크를 통해 입력 이미지의 복수의 비선형 다운-샘플링된 버전들을 생성하고, 선형 업스케일링 네트워크를 통해 입력 이미지의 하나 이상의 선형 다운-샘플링된 버전들을 생성하도록 구성된다. 프로세서는 또한, 비-선형 다운-샘플링된 버전들 및 하나 이상의 선형 다운-샘플링된 버전들을 조합하여 복수의 조합된 다운-샘플링된 버전들을 제공하도록 구성된다. 프로세서는 또한, 출력 이미지의 복수의 픽셀 블록들 각각에, 조합된 다운-샘플링된 버전들 각각에서의 동일한 위치에 있는 픽셀을 할당함으로써 입력 이미지의 조합된 다운-샘플링된 버전들을 제1 해상도보다 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하고 디스플레이를 위해 출력 이미지를 제공하도록 구성된다.
프로세싱 성능을 향상시키는 초해상도 프로세싱 방법이 제공된다. 방법은 제1 해상도를 갖는 입력 이미지를 수신하는 단계, 선형 업스케일링 네트워크를 통해 입력 이미지를 다운-샘플링함으로써 입력 이미지의 선형 다운-샘플링된 버전들을 생성하는 단계, 및 비선형 업스케일링 네트워크를 통해 입력 이미지를 다운-샘플링함으로써 입력 이미지의 비선형 다운-샘플링된 버전들을 생성하는 단계를 포함한다. 방법은 또한 입력 이미지의 다운-샘플링된 버전들을 제1 해상도보다 더 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하는 단계 및 디스플레이를 위해 출력 이미지를 제공하는 단계를 포함한다.
도 1은 본 개시의 하나 이상의 특징들이 구현될 수 있는 예시적인 장치(100)의 블록도이다. 장치(100)는 예를 들어, 컴퓨터, 게이밍 장치, 핸드헬드 장치, 셋톱 박스, 텔레비전, 모바일 폰, 또는 태블릿 컴퓨터를 포함할 수 있다. 장치(100)는 프로세서(102), 메모리(104), 스토리지(106), 하나 이상의 입력 장치(108), 및 하나 이상의 출력 장치(110)를 포함한다. 장치(100)는 또한 선택적으로 입력 드라이버(112) 및 출력 드라이버(114)를 포함할 수 있다. 장치(100)는 도 1에 도시되지 않은 추가적인 컴포넌트들을 포함할 수 있다는 것이 이해된다.
다양한 대안들에서, 프로세서(102)는 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 또는 다른 유형의 컴퓨팅 가속기, 동일한 다이 상에 위치된 CPU 및 GPU, 또는 하나 이상의 프로세서 코어들과 같은 하나 이상의 프로세서들을 포함하고, 각각의 프로세서 코어는 CPU 또는 GPU 또는 다른 유형의 가속기일 수 있다. 다중 프로세서는, 예를 들어, 단일 보드 또는 다중 보드에 포함된다. 하나 이상의 보드에 있는 프로세서. 다양한 대안들에서, 메모리(104)는 프로세서(102)와 동일한 다이 상에 위치되거나 또는 프로세서(102)와 별도로 위치된다. 메모리(104)는 휘발성 또는 비휘발성 메모리, 예를 들어, 랜덤 액세스 메모리(RAM), 동적 RAM, 또는 캐시를 포함한다.
스토리지(106)는 고정 또는 제거 가능한 스토리지, 예를 들어, 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 광학 디스크, 또는 플래시 드라이브를 포함한다. 입력 장치들(108)은 하나 이상의 이미지 캡처 장치들(예를 들어, 카메라들), 키보드, 키패드, 터치 스크린, 터치 패드, 검출기, 마이크로폰, 가속도계, 자이로스코프, 바이오메트릭 스캐너, 또는 네트워크 연결(예를 들어, 무선 IEEE 802 신호들의 송신 및/또는 수신을 위한 무선 로컬 영역 네트워크 카드)을 포함하지만, 이에 제한되지 않는다. 출력 장치들(110)은 하나 이상의 직렬 디지털 인터페이스(SDI) 카드들, 디스플레이, 스피커, 프린터, 햅틱 피드백 장치, 하나 이상의 조명들, 안테나, 또는 네트워크 연결(예를 들어, 무선 IEEE 802 신호들의 송신 및/또는 수신을 위한 무선 로컬 영역 네트워크 카드)을 포함하지만, 이에 제한되지 않는다.
입력 드라이버(112)는 프로세서(102) 및 입력 장치들(108)과 통신하고, 프로세서(102)가 입력 장치들(108)로부터 입력을 수신하도록 허용한다. 출력 드라이버(114)는 프로세서(102) 및 출력 장치들(110)과 통신하고, 프로세서(102)가 출력 장치들(110)에 출력을 전송하도록 허용한다. 입력 드라이버(112) 및 출력 드라이버(114)는 예를 들어, 비디오 캡처 카드(예를 들어, SDI 카드)와 같은 하나 이상의 비디오 캡처 장치들을 포함한다. 도 1에 도시된 바와 같이, 입력 드라이버(112) 및 출력 드라이버(114)는 별개의 드라이버 장치이다. 대안적으로, 입력 드라이버(112) 및 출력 드라이버(114)는, 캡처된 이미지 데이터를 수신하고, (예를 들어, 스토리지(106)에) 저장되거나, (예를 들어, 디스플레이 장치(118)를 통해) 디스플레이되거나, (예를 들어, 무선 네트워크를 통해) 송신되는 프로세싱된 이미지 데이터(예를 들어, 파노라마 스티칭된 이미지 데이터)를 제공하는 단일 장치(예를 들어, SDI 카드)로서 통합된다.
입력 드라이버(112) 및 출력 드라이버(114)는 선택적인 컴포넌트들이며, 입력 드라이버(112) 및 출력 드라이버(114)가 존재하지 않는 경우에 장치(100)는 동일한 방식으로 동작할 것이라는 점에 유의한다. 일 예에서, 도 1에 도시된 바와 같이, 출력 드라이버(114)는 디스플레이 장치(118)에 결합되는 가속화된 프로세싱 장치("APD")(116)를 포함한다. APD는 프로세서(102)로부터의 컴퓨팅 명령들(commands) 및 그래픽 렌더링 명령들을 수락하고, 이들 컴퓨팅 및 그래픽 렌더링 명령들을 프로세싱하고, 디스플레이를 위해 디스플레이 장치(118)에 픽셀 출력을 제공하도록 구성된다. APD(116)는 예를 들어, 단일-명령어(instruction)-다중-데이터(SIMD) 패러다임에 따라 계산들을 수행하도록 구성된 하나 이상의 병렬 프로세싱 유닛들을 포함한다. 따라서, 다양한 기능성이 APD(116)에 의해 또는 그와 함께 수행되는 것으로 본 명세서에서 설명되지만, 다양한 대안들에서, APD(116)에 의해 수행되는 것으로 설명된 기능성(functionality)은 호스트 프로세서(예를 들어, 프로세서(102))에 의해 구동되지 않고 디스플레이 장치(118)에 그래픽 출력을 제공하도록 구성되는 유사한 능력들을 갖는 다른 컴퓨팅 장치들에 의해 추가적으로 또는 대안적으로 수행된다. 예를 들어, SIMD 패러다임에 따라 프로세싱 태스크들(tasks)을 수행하는 임의의 프로세싱 시스템이 본 명세서에서 설명된 기능성을 수행하도록 구성될 수 있다는 것이 고려된다. 대안적으로, SIMD 패러다임에 따라 프로세싱 태스크들을 수행하지 않는 컴퓨팅 시스템들이 본 명세서에서 설명된 기능성을 수행하는 것이 고려된다.
도 2는 APD(116) 상에서 프로세싱 태스크들의 실행과 관련된 추가적인 세부사항들을 예시하는 장치(100)의 블록도이다. 프로세서(102)는 프로세서(102)에 의한 실행을 위해 시스템 메모리(104)에 하나 이상의 제어 로직 모듈들을 유지한다. 제어 로직 모듈들은 운영 체제(120), 커널 모드 드라이버(122) 및 애플리케이션들(126)을 포함한다. 이러한 제어 로직 모듈들은 프로세서(102) 및 APD(116)의 동작의 다양한 특징들을 제어한다. 예를 들어, 운영 체제(120)는 하드웨어와 직접 통신하고 프로세서(102) 상에서 실행되는 다른 소프트웨어를 위해 하드웨어에 대한 인터페이스를 제공한다. 커널 모드 드라이버(122)는 예를 들어, APD(116)의 다양한 기능성에 액세스하기 위해 프로세서(102) 상에서 실행되는 소프트웨어(예를 들어, 애플리케이션(126))에 애플리케이션 프로그래밍 인터페이스("API")를 제공함으로써, APD(16)의 동작을 제어한다. 커널 모드 드라이버(122)는 또한 APD(116)의 프로세싱 컴포넌트(아래에서 더 상세히 논의되는 SIMD 유닛(138)과 같은)에 의한 실행을 위한 프로그램을 컴파일하는 저스트 인타임 컴파일러(Just-in-Time compiler)를 포함한다.
APD(116)는 병렬 프로세싱에 적합할 수 있는 그래픽 동작 및 비-그래픽 동작과 같은 선택된 기능에 대한 명령 및 프로그램을 실행한다. APD(116)는 픽셀 연산(pixel operations), 기하학적 계산과 같은 그래픽 파이프라인 동작을 실행하고 프로세서(102)로부터 수신된 명령에 기초하여 디스플레이 장치(118)에 이미지를 렌더링하는 데 사용될 수 있다. APD(116)는 또한 프로세서(102)로부터 수신된 명령에 기초하여 비디오, 물리 시뮬레이션, 전산 유체 역학, 또는 다른 태스크와 관련된 동작과 같은 그래픽 동작과 직접 관련되지 않은 컴퓨팅 프로세싱 동작을 실행한다.
APD(116)는 SIMD 패러다임에 따라 병렬 방식으로 프로세서(102)의 요청에 따라 동작들을 수행하도록 구성되는 하나 이상의 SIMD 유닛들(138)을 포함하는 컴퓨팅 유닛들(132)을 포함한다. SIMD 패러다임은 다수의 프로세싱 엘리먼트들이 단일 프로그램 제어 플로우 유닛 및 프로그램 카운터를 공유하여 동일한 프로그램을 실행하지만 상이한 데이터로 그 프로그램을 실행할 수 있다. 일 예에서, 각각의 SIMD 유닛(138)은 16개의 레인들을 포함하고, 여기서 각각의 레인은 SIMD 유닛(138) 내의 다른 레인들과 동일한 시간에 동일한 명령어를 실행하지만 상이한 데이터로 그 명령어를 실행할 수 있다. 모든 레인이 주어진 명령어를 실행할 필요가 없는 경우 레인은 예측(predication)으로 스위칭 오프될 수 있다. 예측은 또한 발산 제어 흐름으로 프로그램을 실행하는 데 사용될 수 있다. 보다 구체적으로, 제어 흐름이 개별 레인에 의해 수행되는 계산들에 기초하는 조건부 브랜치 또는 다른 명령어들을 갖는 프로그램들에 대해, 현재 실행되고 있지 않은 제어 흐름 경로들에 대응하는 레인들의 예측, 및 상이한 제어 흐름 경로들의 직렬 실행은 임의의 제어 흐름을 허용한다.
컴퓨팅 유닛들(132)에서의 실행의 기본 유닛은 작업-아이템(work-item)이다. 각각의 작업-아이템은 특정 레인에 병렬로 실행될 프로그램의 단일 인스턴스화(instantiation)를 나타낸다. 작업-아이템들은 단일 SIMD 프로세싱 유닛(138) 상에서 "파면"으로서 동시에 실행될 수 있다. 하나 이상의 웨이브프론트들은 동일한 프로그램을 실행하도록 지정된 작업-아이템들의 컬렉션을 포함하는 "워크그룹"에 포함된다. 작업 그룹을 구성하는 각각의 파면을 실행함으로써 작업 그룹을 실행할 수 있다. 대안적으로, 웨이브프론트들은 단일 SIMD 유닛(138) 상에서 순차적으로 또는 상이한 SIMD 유닛들(138) 상에서 부분적으로 또는 완전히 병렬로 실행된다. 웨이브프론트들은 단일 SIMD 유닛(138) 상에서 동시에 실행될 수 있는 작업-아이템들의 최대 컬렉션으로 간주될 수 있다. 따라서, 프로세서(102)로부터 수신된 명령들이 특정 프로그램이 단일 SIMD 유닛(138) 상에서 동시에 실행될 수 없는 정도로 병렬화되어야 한다고 나타내면, 그 프로그램은 둘 이상의 SIMD 유닛들(138) 상에서 병렬화되거나 동일한 SIMD 유닛(138) 상에서 직렬화되는(또는 필요에 따라 병렬화되고 직렬화되는 둘 모두) 웨이브프론트들로 분할된다. 스케줄러(136)는 상이한 컴퓨팅 유닛들(132) 및 SIMD 유닛들(138) 상에서 다양한 웨이브프론트들을 스케줄링하는 것과 관련된 동작들을 수행하도록 구성된다.
컴퓨팅 유닛들(132)에 의해 제공되는 병렬성(parallelism)은 픽셀 값 계산들, 정점 변환들(vertex transformations), 및 다른 그래픽 동작들과 같은 그래픽 관련 동작들에 적합하다. 따라서, 일부 경우들에서, 프로세서(102)로부터 그래픽 프로세싱 명령들을 수용하는 그래픽 파이프라인(134)은 병렬로 실행하기 위해 계산 태스크들을 컴퓨팅 유닛들(132)에 제공한다.
컴퓨팅 유닛들(132)은 또한 그래픽들과 관련되지 않거나 또는 그래픽 파이프라인(134)의 "정상" 동작의 일부로서 수행되지 않은 계산 태스크들(예를 들어, 그래픽 파이프라인(134)의 동작을 위해 수행되는 프로세싱을 보충하기 위해 수행되는 커스텀 동작들)을 수행하기 위해 사용된다. 프로세서(102) 상에서 실행되는 애플리케이션(126) 또는 다른 소프트웨어는 실행을 위해 이러한 계산 태스크를 정의하는 프로그램을 APD(116)로 송신한다.
이제, 도 3 및 도 4를 참조하여, 이미지를 초해상도화하는 예의 방법이 설명된다. 도 3은 이미지를 초해상도화하는 예의 방법을 예시하기 위한 흐름도이다. 도 4는 도 3에 도시된 방법의 더 상세한 예를 예시하는 흐름도이다.
블록(302)에 도시된 바와 같이, 방법은 저해상도 이미지를 수신하는 단계를 포함한다. 블록(302)에서 저해상도 이미지를 수신하기 전에, 원본 이미지는, 예를 들어, 블록(302)에서 수신된 저해상도 정규화 이미지(즉, 저해상도 이미지)에 원본 이미지를 압축시키기 위해 복수의 종래의 정규화 기술들 중 임의의 하나를 사용하여 전처리된다. 예를 들어, 도 4의 블록(402)에 도시된 바와 같이, 원본 이미지(예를 들어, 1 x 3 x 2560 x 1440 해상도 이미지)가 블록(302)에서 수신된 저해상도 정규화 이미지에 원본 이미지를 압축시키기 위해 전처리 동작들(404)(예를 들어, 나눗셈(division) 및 뺄셈(subtraction) 동작들을 포함함)에 따라 수신 및 전처리(예를 들어, 정규화)된다.
그런 다음, 저해상도 이미지는 블록들(304 및 306)에 도시된 바와 같이 2개의 상이한 프로세스들에 따라 프로세싱된다. 저해상도 이미지는 블록(304)에 도시된 딥-러닝 기반 선형 업스케일링 네트워크에 따라 그리고 블록(306)에 도시된 딥-러닝 기반 비선형 업스케일링 네트워크에 따라 프로세싱된다. 도 3에 도시된 예에서, 블록들(304 및 306)에 도시된 프로세싱 - 각각의 프로세싱은 저해상도 이미지에 대해 동작함 - 은 병렬로 수행된다. 또는, 하드웨어가 병렬 프로세싱을 지원하지 않는 경우, 선형 업스케일링 프로세싱과 비선형 업스케일링 프로세싱은 병렬로 수행되지 않는다.
딥-러닝 기반 선형 업스케일링 네트워크는 이미지를 (예를 들어, 이미지의 해상도의 1/2만큼) 다운-샘플링하고, 특징 채널들의 작은 수(예를 들어, 3)(예를 들어, 레드-그린-블루(RGB) 채널들)를 갖는 이미지로부터 더 큰 수(예를 들어, 27)의 선형 특징 채널들을 갖는 다운-샘플링된 이미지로 변환하기 위해 이미지로부터 선형 특징들을 추출하는 선형 콘볼루션 필터를 포함한다. 즉, 저해상도 이미지는 저해상도 이미지의 선형 다운-샘플링된 버전들의 큰 수(예를 들어, 27)를 생성하도록 프로세싱된다. 딥 러닝 기반 비선형 업스케일링 네트워크는 일련의 컨볼루션 연산자들 및 활성화 함수들을 통해 저해상도 이미지를 프로세싱하고, 비선형 특징들을 추출하고, 특징들을 다운-샘플링하고, 저해상도 이미지의 특징 정보의 양을 증가시킨다.
선형 및 비-선형 업스케일링의 조합은 선형 업스케일링으로부터의 이미지의 색상 및 더 큰 스케일 특징들(인간의 눈에 의해 더 쉽게 인식되는 큰 객체들 및 형상들)의 보존뿐만 아니라 비-선형 업스케일링으로부터의 이미지의 더 미세한 특징들(예를 들어, 저해상도에서 쉽게 인식되지 않는 만곡된 특징들 및 특징들)의 보존을 가능하게 한다. 선형 연산은 입력 데이터만을 사용하는 반면, 비선형 연산은 입력 데이터 및 다른 데이터(즉, 비입력 데이터)를 모두 사용하여 입력 데이터를 증가시킨다. 비선형 함수는 비선형 함수(예를 들어, 컨볼루션 연산)보다 더 효율적으로 이미지의 복잡한 특징(예를 들어, 곡선)를 정확하게 결정하는 것을 용이하게 한다.
예를 들어, 도 4의 좌측 경로는 선형 업스케일링 프로세싱(304)의 예를 예시하고, 도 4의 우측 경로는 비선형 업스케일링 프로세싱(306)의 예를 예시한다. 도 4의 좌측 및 우측 경로들에 도시된 각각의 컨볼루션 연산(406)(즉, 각각의 컨볼루션 계층)은 저해상도 이미지의 픽셀 데이터의 윈도우에 대해 행렬 수학 연산(예를 들어, 행렬 곱하기)을 수행하고, 이는 다중 특징들을 갖지만 더 낮은 해상도로 이미지의 하나 이상의 다운-샘플링된 버전들(즉, 하나 이상의 특징 맵들)을 생성한다. 예를 들어, 각각의 컨볼루션 연산(406)은 컨볼루션 연산(406)이 수행될 때마다(예를 들어, 비디오 스트림의 각각의 이미지) 동일한 수(즉, 하나 이상)의 다운-샘플링된 버전들을 생성하기 위해 미리 결정된다(예를 들어, 비디오 스트림의 이미지들을 초해상도화하는 런타임 이전에 설정된다).
도 4에 도시된 예에서, 좌측 경로(즉, 선형 업스케일링 프로세싱(304))는 단일 콘볼루션 연산(406)을 포함하고 우측 경로는 복수의 선형 콘볼루션 연산(406)을 포함한다. 우측 경로는 또한 콘볼루션 연산(406) 사이에 스택된 복수의 비선형 포인트 와이즈 활성화 함수(408)를 포함한다. 도 4에 도시된 콘볼루션 연산(406) 및 활성화 함수(408)의 수는 단지 예시이다. 예들은 임의의 수의 콘볼루션 연산들 및 활성화 함수들을 포함할 수 있다. 또한, 도 4에 도시된 치수들(예를 들어, 1 x 3 x 2560 x 1440, 48 x 3 x 5 x 5, 48 x 48 x 3 x 3 및 1 x 3 x 1520 x 2880)은 단지 예들이다.
각각의 활성화 함수(408)는 엘리먼트 데이터를 수신하고 데이터를 비선형 데이터로 변환하는 비선형 수학 함수이다. 즉, 각각의 컨볼루션 연산(406)이 우측 경로 상의 입력 데이터에 대해 수행된 후, 비선형 포인트 와이즈 활성화 함수(408)가 적용되어 선형 데이터를 비선형 데이터로 변환한다. 컨볼루션 연산(406) 사이에 활성화 함수(408)를 스택함으로써, 일련의 선형 연산은 일련의 비선형 연산으로 변환된다. 신경망이 데이터를 프로세싱하는 것을 학습함에 따라, 네트워크는 컨볼루션 연산들(406) 사이의 활성화 함수들의 스태킹이 수행되지 않은 경우보다 원본 이미지의 데이터에 의해 덜 제약되어(constrained)(즉, 제한되어), 입력 데이터가 이미지를 초해상도화하기 위해 더 효과적으로 워핑되게(warped) 한다.
다시 도 3을 참조하면, 저해상도 이미지(302)의 선형 다운-샘플링된(예를 들어, ½ 해상도) 버전들 및 저해상도 이미지(302)의 비선형 다운-샘플링된 버전들은 블록(308)(및 도 4에서)에 도시된 바와 같이 조합되어 저해상도 이미지(302)의 조합된 수의 다운-샘플링된 버전들을 제공한다. 이러한 저해상도 이미지(302)의 다운-샘플링된 버전들은 저해상도에서 이미지로부터 큰 수의 특징들(즉, 특징 채널들)을 추출한다.
블록(310)에 도시된 바와 같이, 방법은 또한 픽셀 셔플 프로세스(310)를 포함한다. 예를 들어, 픽셀 셔플 프로세스(310)는 아래에서 더 상세히 설명되는 바와 같이 고해상도 이미지(312)를 제공하기 위해 도 4에 도시된 재형성(reshape) 동작들(410) 및 전치(transpose) 동작들(412)과 같은 동작들을 수행하는 것을 포함한다.
도 5는 본 개시의 특징들에 따라 저해상도 이미지를 고해상도 이미지로 변환하기 위해 서브픽셀(즉, 서브-해상도 픽셀들) 컨볼루션의 사용을 예시하는 도면이다. 도 5의 제1의 3개의 부분(은닉 계층들로서 주석 처리됨)은 도 3에 도시된 프로세싱 경로(즉, 선형 업스케일링 프로세싱(304) 또는 비선형 업스케일링 프로세싱(306)) 중 하나에 따라 저해상도 이미지(502)의 복수의 다운-샘플링된 버전(504)을 생성하기 위해 저해상도 이미지(502)로부터의 특징의 추출을 예시한다. 이미지(302)로부터 큰 수의 특징들을 추출하는 저해상도 이미지(302)의 다운-샘플링된 버전들(504)은 또한 본 명세서에서 특징 맵들(504) 및 조합된 특징 맵들(506)로서 지칭된다.
도 4에 도시된 예에서, 좌측 경로에서의 선형 업스케일링 프로세싱(304)은 작은 수(예를 들어, 3)의 특징들(예를 들어, RGB 색상 특징들)을 갖는 저해상도 이미지(502)의 픽셀 데이터의 윈도우에서 수행되는 단일 컨볼루션 연산(406)(즉, 단일 은닉 계층)을 포함하고, 이는 색상 특징들, 비-색상 특징들 및 색상 정보 및 비-색상 정보를 갖는 특징들을 포함하는, 더 큰 수(예를 들어, 48)의 특징들을 갖는 이미지(502)의 선형 다운-샘플링된 버전(즉, 특징 맵(504))을 생성한다.
도 4에서 우측 경로에서의 비선형 업스케일링 프로세싱(306)은 3쌍의 컨볼루션 연산들(406)(즉, 3개의 은닉 계층들), 및 활성화 함수(408)를 포함한다. 즉, 제1 컨볼루션 연산(406)이 이미지(502)의 픽셀 데이터의 윈도우에 대해 수행되고, 그 다음에 이미지(502)의 제1 비선형 버전(즉, 특징 맵(504))을 생성하는 활성화 함수(408)(예를 들어, "Tanh" 함수)가 수행된다. 다음으로, 제2 컨볼루션 연산(406)이 이미지(502)의 픽셀 데이터의 윈도우에 대해 수행되고, 그 다음에 이미지(502)의 제2 비선형 버전(즉, 특징 맵(504))을 생성하는 제2 활성화 함수(408)가 수행된다. 그런 다음, 이미지(502)의 픽셀 데이터의 윈도우에 대해 제3 컨볼루션 연산(406)이 수행되고, 그 다음에 이미지(502)의 제3 비선형 버전(즉, 특징 맵(504))을 생성하는 제3 활성화 함수(408)가 수행된다.
도 5의 제 4 및 제 5 부분들(서브-픽셀 컨볼루션 계층으로서 주석 처리됨)은 선형 업스케일링 프로세싱(304) 및 비선형 업스케일링 프로세싱(306)의 결과인 저해상도 이미지(502)의 다운-샘플링된 버전들(506)의 조합된 수로부터 고해상도 이미지(508)의 생성을 예시한다.
픽셀 셔플 프로세스(310)는 저해상도 픽셀 정보를 사용하여 고해상도로 블록들(510) 각각을 생성함으로써 저해상도 특징 맵들(506)을 고해상도 이미지(508)의 픽셀들로 변환하는 단계를 포함한다. 도 5의 예에 도시된 바와 같이, 고해상도 이미지(508)는 9개의 픽셀들의 반복 패턴을 각각 갖는 복수의 3 x 3 고해상도 픽셀 블록들(510)을 포함한다. 또한, 저해상도 이미지(302)의 9개의 다운-샘플링된 버전들(506(1)-506(9))은 9개의 픽셀 고해상도 픽셀 블록들(510)에 대응하도록 생성되며, 다운-샘플링된 버전들(506) 중 8개는 이미지(302)의 시프트된 저해상도 버전을 나타내고, 다운-샘플링된 버전들(506) 중 하나는 이미지(302)의 시프트되지 않은 저해상도 버전을 나타낸다.
예를 들어, 다운-샘플링된 버전(506(1))은 1 픽셀 위치만큼 상향(즉, Y 방향으로 상향) 및 1 픽셀 위치만큼 좌측으로(즉, X 방향으로 좌측) 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(2))은 1 픽셀 위치만큼 상향(즉, Y 방향으로 상향) 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(3))은 1 픽셀 위치만큼 상향(즉, Y 방향으로 상향) 및 1 픽셀 위치만큼 우측(즉, X 방향으로 우측)으로 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(4))은 1 픽셀 위치만큼 좌측(즉, X 방향에서 좌측)으로 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(5))은 이미지(302)의 시프트되지 않은 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(6))은 1 픽셀 위치만큼 우측(즉, X 방향에서 우측)으로 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(7))은 1 픽셀 위치만큼 아래로(즉, Y 방향으로 아래) 및 1 픽셀 위치만큼 왼쪽으로(즉, X 방향으로 왼쪽) 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(8))은 1 픽셀 위치만큼 아래로(즉, Y 방향으로 아래로) 시프트된 이미지(302)의 저해상도 버전을 나타낸다. 다운-샘플링된 버전(506(9))은 1 픽셀 위치만큼 아래로(즉, Y 방향으로 아래로) 및 1 픽셀 위치만큼 우측(즉, X 방향으로 우측)으로 시프트된 이미지(302)의 저해상도 버전을 나타낸다.
픽셀 셔플 프로세스(310)는 9개의 저해상도 특징 맵들(506) 각각의 동일한 위치에 있는 픽셀을 고해상도 픽셀 블록들(510) 각각에 할당함으로써 구현된다. 예를 들어, 고해상도 이미지(508)의 상부 좌측 코너에 위치된 제1 고해상도 픽셀 블록(510)은 고해상도 픽셀 블록(510)의 픽셀 위치 1에, 제1 저해상도 특징 맵(506(1))의 상부 좌측 코너에서의 픽셀(즉, 동일한 위치에 있는 픽셀)을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 2에, 제2 저해상도 특징 맵(506(2))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 3에, 제3 저해상도 특징 맵(506(3))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 4에, 제4 저해상도 특징 맵(506(4))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 5에, 제5 저해상도 특징 맵(506(5))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 6에, 제6 저해상도 특징 맵(506(6))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 7에, 제7 저해상도 특징 맵(506(7))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 8에, 제8 저해상도 특징 맵(506(8))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계; 고해상도 픽셀 블록(510)의 픽셀 위치 9에, 제9 저해상도 특징 맵(506(9))의 상부 좌측 코너에 위치된 픽셀을 할당하는 단계에 의해 생성된다.
다음 고해상도 픽셀 블록(510)(즉, 제1 고해상도 픽셀 블록(510)의 우측에 있는 블록)은 각각의 저해상도 특징 맵(506(1)-106(9))에서 동일한 위치에 있는 픽셀들(즉, 상부 좌측 코너에서 픽셀들의 우측에 위치된 픽셀들)을 고해상도 픽셀 블록(510)의 각각의 픽셀 위치(1-9)에 할당함으로써 제1 고해상도 픽셀 블록(510)과 유사한 방식으로 생성된다. 프로세스는 고해상도 이미지(508)의 나머지 고해상도 픽셀 블록들(510) 각각에 대해 계속된다.
픽셀 셔플 프로세스(310)가 수행된 후 그리고 고해상도 이미지(312)를 생성하기 전에, 덧셈(addition) 및 곱셈(multiplication) 연산들을 포함하는 추가적인 프로세싱 동작들(414)이 수행되어, 뺄셈 및 나눗셈 연산들(404)에 의해 수행되는 원본 이미지(402)의 정규화를 취소하고, 원본 이미지(402)를 다시 표준 색상 공간으로 되돌린다.
본 명세서의 개시내용에 기초하여 많은 변형들이 가능하다는 것이 이해되어야 한다. 특징 및 엘리먼트가 특정 조합으로 위에서 설명되었지만, 각각의 특징 또는 엘리먼트는 다른 특징 및 엘리먼트 없이 단독으로 또는 다른 특징 및 엘리먼트를 갖거나 갖지 않는 다양한 조합으로 사용될 수 있다.
도면들에 예시되고 그리고/또는 본 명세서에서 설명된 (비제한적으로, 프로세서(102), 입력 드라이버(112), 입력 장치들(108), 출력 드라이버(114), 출력 장치들(110), 가속화된 프로세싱 장치(116), 스케줄러(136), 그래픽 프로세싱 파이프라인(134), 컴퓨팅 유닛들(132) 및 SIMD 유닛들(138)을 포함하는), 다양한 기능 유닛들은 범용 컴퓨터, 프로세서, 또는 프로세서 코어로서, 또는 범용 컴퓨터, 프로세서, 또는 프로세서 코어에 의해 실행가능한 비일시적 컴퓨터 판독가능 매체 또는 다른 매체에 저장된 프로그램, 소프트웨어, 또는 펌웨어로서 구현될 수 있다. 제공된 방법들은 범용 컴퓨터, 프로세서, 또는 프로세서 코어에서 구현될 수 있다. 적합한 프로세서들은, 예를 들어, 범용 프로세서, 특수 목적 프로세서, 종래의 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로프로세서들, DSP 코어와 연관된 하나 이상의 마이크로프로세서들, 제어기, 마이크로제어기, ASICs(Application Specific Integrated Circuits), FPGAs(Field Programmable Gate Arrays) 회로들, 임의의 다른 유형의 집적 회로(IC), 및/또는 상태 머신을 포함한다. 이러한 프로세서들은 프로세싱된 하드웨어 기술 언어(HDL) 명령어들의 결과들 및 넷리스트들을 포함하는 다른 중간 데이터(이러한 명령어들은 컴퓨터 판독가능 매체 상에 저장될 수 있음)를 사용하여 제조 프로세스를 구성함으로써 제조될 수 있다. 이러한 프로세싱의 결과는 본 개시의 특징을 구현하는 프로세서를 제조하기 위해 반도체 제조 공정에 사용되는 마스크워크일 수 있다.
본 명세서에 제공된 방법들 또는 흐름도는 범용 컴퓨터 또는 프로세서에 의한 실행을 위해 비일시적 컴퓨터 판독가능 저장 매체에 통합된 컴퓨터 프로그램, 소프트웨어 또는 펌웨어로 구현될 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체의 예로는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 장치, 내부 하드 디스크 및 이동식 디스크와 같은 자기 매체, 자기 광학 매체, CD-ROM 디스크 및 디지털 다목적 디스크(DVD)와 같은 광학 매체를 포함한다.

Claims (20)

  1. 프로세싱 장치에 있어서,
    메모리; 및
    프로세서를 포함하고, 상기 프로세서는,
    제1 해상도를 갖는 입력 이미지를 수신하고;
    선형 업스케일링 네트워크를 통해 상기 입력 이미지를 다운-샘플링함으로써 상기 입력 이미지의 선형 다운-샘플링된 버전들을 생성하고;
    비선형 업스케일링 네트워크를 통해 상기 입력 이미지를 다운-샘플링함으로써 상기 입력 이미지의 비선형 다운-샘플링된 버전들을 생성하고;
    상기 입력 이미지의 상기 다운-샘플링된 버전들을 상기 제1 해상도보다 더 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하고; 및
    디스플레이를 위해 상기 출력 이미지를 제공하도록 구성되는, 프로세싱 장치.
  2. 제1항에 있어서, 상기 프로세서는, 일련의 선형 연산들을 일련의 비선형 연산들로 변환하기 위해 복수의 컨볼루션 연산들 각각 사이에 활성화 함수를 스택함으로써, 상기 비선형 업스케일링 네트워크를 통해 상기 입력 이미지의 상기 비선형 다운-샘플링된 버전들을 생성하도록 구성되는, 프로세싱 장치.
  3. 제1항에 있어서, 상기 프로세서는, 상기 입력 이미지의 픽셀들의 윈도우에 대해 하나 이상의 컨볼루션 연산들을 수행함으로써, 상기 선형 업스케일링 네트워크를 통해 상기 입력 이미지의 상기 선형 다운-샘플링된 버전들을 생성하도록 구성되는, 프로세싱 장치.
  4. 제1항에 있어서, 상기 프로세서는, 상기 출력 이미지에 대해, 복수의 픽셀 블록들을 생성함으로써 상기 입력 이미지의 상기 다운-샘플링된 버전들을 픽셀들로 변환하도록 구성되고, 각각의 픽셀 블록은 상기 입력 이미지의 상기 다운-샘플링된 버전들의 각각으로부터 동일한 위치에 있는 픽셀을 포함하는, 프로세싱 장치.
  5. 제4항에 있어서, 상기 출력 이미지의 각각의 픽셀 블록은, 각각의 픽셀 블록의 다수의 상이한 위치들 중 하나에 각각 위치하는 복수의 픽셀들을 포함하고, 및
    각각의 위치는 상기 입력 이미지의 대응하는 다운-샘플링된 버전들로부터의 동일한 위치에 있는 픽셀을 포함하는, 프로세싱 장치.
  6. 제5항에 있어서, 각각의 픽셀 블록의 상기 상이한 위치들의 총 수는 상기 입력 이미지의 상기 다운-샘플링된 버전들의 총 수와 동일한, 프로세싱 장치.
  7. 제1항에 있어서, 상기 선형 업스케일링 네트워크는 하나 이상의 컨볼루션 연산들을 포함하고, 상기 비선형 업스케일링 네트워크는 복수의 컨볼루션 연산들을 포함하고, 각각의 컨볼루션 연산은 대응하는 컨볼루션 연산이 수행될 때마다 동일한 수의 선형 다운-샘플링된 버전들 또는 동일한 수의 비선형 다운-샘플링된 버전들을 생성하는, 프로세싱 장치.
  8. 프로세싱 장치에 있어서,
    메모리; 및
    프로세서를 포함하고, 상기 프로세서는,
    제1 해상도를 갖는 입력 이미지를 수신하고;
    비선형 업스케일링 네트워크를 통해 상기 입력 이미지의 복수의 비선형 다운-샘플링된 버전들을 생성하고;
    선형 업스케일링 네트워크를 통해 상기 입력 이미지의 복수의 선형 다운-샘플링된 버전들을 생성하고;
    상기 복수의 비선형 다운-샘플링된 버전들 및 상기 복수의 선형 다운-샘플링된 버전들을 조합하여 복수의 조합된 다운-샘플링된 버전들을 제공하고;
    상기 조합된 다운-샘플링된 버전들 각각에서의 동일한 위치에 있는 픽셀을 상기 출력 이미지의 복수의 픽셀 블록들 각각에 할당함으로써 상기 입력 이미지의 상기 조합된 다운-샘플링된 버전들을 상기 제1 해상도보다 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하고; 및
    디스플레이를 위해 상기 출력 이미지를 제공하도록 구성되는, 프로세싱 장치.
  9. 제8항에 있어서, 상기 복수의 비선형 다운-샘플링된 버전들 각각은 색상 정보 및 비-색상 정보를 갖는 색상 특징들, 비-색상 특징들 및 특징들 중 적어도 하나를 포함하는, 프로세싱 장치.
  10. 제8항에 있어서, 상기 프로세서는 상기 입력 이미지의 상기 복수의 선형 다운-샘플링된 버전들과 병렬로 상기 입력 이미지의 상기 복수의 비선형 다운-샘플링된 버전들을 생성하도록 구성되는, 프로세싱 장치.
  11. 제8항에 있어서, 상기 프로세서는 일련의 선형 연산들을 일련의 비선형 연산들로 변환하기 위해 컨볼루션 연산들 사이에 활성화 함수들을 스택함으로써 상기 복수의 비선형 다운-샘플링된 버전들을 생성하도록 구성되는, 프로세싱 장치.
  12. 제8항에 있어서, 상기 프로세서는, 상기 입력 이미지의 픽셀들의 윈도우에 대해 적어도 하나의 컨볼루션 연산을 수행함으로써, 상기 선형 업스케일링 네트워크를 통해 상기 입력 이미지의 상기 복수의 선형 다운-샘플링된 버전들을 생성하도록 구성되는, 프로세싱 장치.
  13. 제8항에 있어서, 상기 출력 이미지의 각각의 픽셀 블록은, 각각의 픽셀 블록의 다수의 상이한 위치들 중 하나에 각각 위치하는 복수의 픽셀들을 포함하고, 및
    각각의 위치는 상기 입력 이미지의 대응하는 다운-샘플링된 버전들로부터의 동일한 위치에 있는 픽셀을 포함하는, 프로세싱 장치.
  14. 제13항에 있어서, 각각의 픽셀 블록의 상기 상이한 위치들의 총 수는 상기 입력 이미지의 상기 다운-샘플링된 버전들의 총 수와 동일한, 프로세싱 장치.
  15. 제8항에 있어서, 상기 선형 업스케일링 네트워크는 하나 이상의 컨볼루션 연산들을 포함하고, 상기 비선형 업스케일링 네트워크는 복수의 컨볼루션 연산들을 포함하고, 각각의 컨볼루션 연산은 대응하는 컨볼루션 연산이 수행될 때마다 동일한 수의 선형 다운-샘플링된 버전들 또는 동일한 수의 비선형 다운-샘플링된 버전들을 생성하는, 프로세싱 장치.
  16. 초해상도 프로세싱 방법에 있어서,
    제1 해상도를 갖는 입력 이미지를 수신하는 단계;
    선형 업스케일링 네트워크를 통해 상기 입력 이미지를 다운-샘플링함으로써 상기 입력 이미지의 선형 다운-샘플링된 버전들을 생성하는 단계;
    비선형 업스케일링 네트워크를 통해 상기 입력 이미지를 다운-샘플링함으로써 상기 입력 이미지의 비선형 다운-샘플링된 버전들을 생성하는 단계;
    상기 입력 이미지의 상기 선형 다운-샘플링된 버전들 및 상기 입력 이미지의 상기 비선형 다운-샘플링된 버전들을 상기 제1 해상도보다 더 높은 제2 해상도를 갖는 출력 이미지의 픽셀들로 변환하는 단계; 및
    디스플레이를 위해 상기 출력 이미지를 제공하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 상기 비선형 업스케일링 네트워크를 통해 상기 입력 이미지의 상기 다운-샘플링된 버전들을 생성하는 단계는 일련의 선형 연산들을 일련의 비선형 연산들로 변환하기 위해 복수의 컨볼루션 연산들 각각 사이에 활성화 함수를 스택하는 단계를 포함하는, 방법.
  18. 제16항에 있어서, 상기 선형 업스케일링 네트워크를 통해 상기 입력 이미지의 상기 다운-샘플링된 버전을 생성하는 단계는, 상기 입력 이미지의 픽셀들의 윈도우에 대해 컨볼루션 연산을 수행하는 단계를 포함하는, 방법.
  19. 제16항에 있어서, 상기 입력 이미지의 상기 다운-샘플링된 버전들을 픽셀들로 변환하는 단계는, 상기 출력 이미지에 대해, 복수의 픽셀 블록들을 생성하는 단계를 포함하고, 각각의 픽셀 블록은 상기 입력 이미지의 상기 다운-샘플링된 버전들의 각각으로부터 동일한 위치에 있는 픽셀을 포함하는, 방법.
  20. 제16항에 있어서, 상기 선형 업스케일링 네트워크는 하나 이상의 컨볼루션 연산들을 포함하고, 상기 비선형 업스케일링 네트워크는 복수의 컨볼루션 연산들을 포함하고, 각각의 컨볼루션 연산은 대응하는 컨볼루션 연산이 수행될 때마다 동일한 수의 선형 다운-샘플링된 버전들 또는 동일한 수의 비선형 다운-샘플링된 버전들을 생성하는, 방법.


KR1020227018162A 2019-11-18 2020-10-28 게이밍 초해상도 KR20220101645A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/687,569 2019-11-18
US16/687,569 US11544815B2 (en) 2019-11-18 2019-11-18 Gaming super resolution
PCT/US2020/057795 WO2021101687A1 (en) 2019-11-18 2020-10-28 Gaming super resolution

Publications (1)

Publication Number Publication Date
KR20220101645A true KR20220101645A (ko) 2022-07-19

Family

ID=75908263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227018162A KR20220101645A (ko) 2019-11-18 2020-10-28 게이밍 초해상도

Country Status (6)

Country Link
US (2) US11544815B2 (ko)
EP (1) EP4062360A4 (ko)
JP (1) JP2023501934A (ko)
KR (1) KR20220101645A (ko)
CN (1) CN114667535A (ko)
WO (1) WO2021101687A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023537823A (ja) * 2020-07-14 2023-09-06 オッポ広東移動通信有限公司 ビデオ処理方法、装置、機器、デコーダ、システム及び記憶媒体
CN114830168A (zh) * 2020-11-16 2022-07-29 京东方科技集团股份有限公司 图像重建方法、电子设备和计算机可读存储介质
TWI806243B (zh) * 2021-11-17 2023-06-21 瑞昱半導體股份有限公司 超解析度影像產生裝置
DE102022207741A1 (de) 2022-07-27 2024-02-01 Continental Autonomous Mobility Germany GmbH Verfahren und System zum Erzeugen eines Umfeldmodells
WO2024064413A1 (en) * 2022-09-23 2024-03-28 Kelly Sean M Variable compression, de-resolution, and restoration of a medical image based upon diagnostic and therapeutic relevance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178272B1 (en) * 1999-02-02 2001-01-23 Oplus Technologies Ltd. Non-linear and linear method of scale-up or scale-down image resolution conversion
US20060291750A1 (en) 2004-12-16 2006-12-28 Peyman Milanfar Dynamic reconstruction of high resolution video from low-resolution color-filtered video (video-to-video super-resolution)
KR20130001213A (ko) 2010-01-28 2013-01-03 이섬 리서치 디벨러프먼트 컴파니 오브 더 히브루 유니버시티 오브 예루살렘 엘티디. 입력 이미지로부터 증가된 픽셀 해상도의 출력 이미지를 생성하는 방법 및 시스템
CN103514580B (zh) 2013-09-26 2016-06-08 香港应用科技研究院有限公司 用于获得视觉体验优化的超分辨率图像的方法和系统
WO2016132153A1 (en) 2015-02-19 2016-08-25 Magic Pony Technology Limited Offline training of hierarchical algorithms
US10475165B2 (en) * 2017-04-06 2019-11-12 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising
CN108259997B (zh) * 2018-04-02 2019-08-23 腾讯科技(深圳)有限公司 图像相关处理方法及装置、智能终端、服务器、存储介质
JP7014044B2 (ja) * 2018-05-15 2022-02-01 コニカミノルタ株式会社 超音波診断装置

Also Published As

Publication number Publication date
CN114667535A (zh) 2022-06-24
US11967043B2 (en) 2024-04-23
US20230140100A1 (en) 2023-05-04
US20210150669A1 (en) 2021-05-20
EP4062360A4 (en) 2024-01-17
EP4062360A1 (en) 2022-09-28
WO2021101687A1 (en) 2021-05-27
JP2023501934A (ja) 2023-01-20
US11544815B2 (en) 2023-01-03

Similar Documents

Publication Publication Date Title
US11967043B2 (en) Gaming super resolution
KR102107709B1 (ko) 공간 트랜스포머 모듈들
AU2019451948B2 (en) Real-time video ultra resolution
CN112308200B (zh) 神经网络的搜索方法及装置
US20200265567A1 (en) Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames
KR20210069006A (ko) 단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법
CN111402143A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN107408291A (zh) 使用二维和一维同步阵列的两级向量规约
US20120212573A1 (en) Method, terminal and computer-readable recording medium for generating panoramic images
Zuo et al. Convolutional neural networks for image denoising and restoration
KR20200081044A (ko) 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치
CN113673545A (zh) 光流估计方法、相关装置、设备及计算机可读存储介质
US20220092738A1 (en) Methods and apparatus for super-resolution rendering
KR20190022237A (ko) 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치
CN113505848A (zh) 模型训练方法和装置
CN113066018A (zh) 一种图像增强方法及相关装置
Rahman et al. Parallel implementation of a spatio-temporal visual saliency model
Ignatov et al. MicroISP: processing 32mp photos on mobile devices with deep learning
WO2022216521A1 (en) Dual-flattening transformer through decomposed row and column queries for semantic segmentation
Conde et al. Real-time under-display cameras image restoration and hdr on mobile devices
CN115170825A (zh) 图像生成系统训练方法、图像生成方法以及图像生成系统
Jia et al. Learning rich information for quad bayer remosaicing and denoising
CN111723917B (zh) 运算方法、装置及相关产品
KR20230013989A (ko) 이미지 처리 장치, 이의 동작 방법 및, 이를 포함하는 이미지 처리 시스템
CN114004751A (zh) 一种图像处理方法及其相关设备

Legal Events

Date Code Title Description
A201 Request for examination