KR102641423B1 - 영상 처리 장치 및 그 동작방법 - Google Patents

영상 처리 장치 및 그 동작방법 Download PDF

Info

Publication number
KR102641423B1
KR102641423B1 KR1020180159118A KR20180159118A KR102641423B1 KR 102641423 B1 KR102641423 B1 KR 102641423B1 KR 1020180159118 A KR1020180159118 A KR 1020180159118A KR 20180159118 A KR20180159118 A KR 20180159118A KR 102641423 B1 KR102641423 B1 KR 102641423B1
Authority
KR
South Korea
Prior art keywords
sub
feature maps
image
pixel
image processing
Prior art date
Application number
KR1020180159118A
Other languages
English (en)
Other versions
KR20200071404A (ko
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 KR1020180159118A priority Critical patent/KR102641423B1/ko
Priority to PCT/KR2019/013301 priority patent/WO2020122389A1/ko
Priority to US17/413,404 priority patent/US11995795B2/en
Priority to EP19895723.5A priority patent/EP3879520A4/en
Priority to CN201980082417.8A priority patent/CN113196380B/zh
Publication of KR20200071404A publication Critical patent/KR20200071404A/ko
Application granted granted Critical
Publication of KR102641423B1 publication Critical patent/KR102641423B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/22Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
    • G09G3/30Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
    • G09G3/32Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • 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/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • 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/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering

Landscapes

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

Abstract

영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 하나 이상의 딥 뉴럴 네트워크를 이용하여, 제1 영상으로부터 제1 특징 맵들을 생성하고, 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하고, 제2 특징 맵들에 기초하여, 서브 픽셀들 각각에 대한 결과 값들을 결정하는 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작방법{Image processing apparatus and operating method for the same}
다양한 실시예들은 딥 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 딥 뉴럴 네트워크를 이용하여, 서브 픽셀 렌더링을 수행할 수 있는 영상 처리 장치 및 그 동작방법에 관한 것이다.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트랜드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용이 가능하다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
한편, 영상 처리 장치는, 하나의 픽셀에 포함되는 서브 픽셀 단위로 값을 조절하여, 디스플레이의 인지 해상도를 증가시키는 서브 픽셀 렌더링을 수행할 수 있다. LCD 디스플레이의 경우, 픽셀 면적 대비 발광 소자의 면적이 넓고, 서브 픽셀들이 대칭적으로 배치되어 있어, 서브 픽셀 렌더링을 수행하면, 서브 픽셀들의 값이 연동되어 변하므로, 하나의 픽셀에서 서브 픽셀들의 값이 점차적으로 변경된다. 반면에, 마이크로 엘이디(MicroLED) 디스플레이의 경우, 블랭크(blank) 영역의 비중이 높고(픽셀 면적 대비 발광 소자 면적이 적고), 서브 픽셀들이 비 대칭적으로 배치되어 있어, 서브 픽셀 렌더링을 수행하면, 하나의 픽셀에서 서브 픽셀들의 값이 크게 변경된다. 이로 인해 마이크로 엘이디 디스플레이의 경우, LCD 디스플레이와 달리 색 번짐 현상이 발생하게 된다. 또한, 고정적 필터를 사용하는 서브 픽셀 렌더링의 경우, 예측이 어려운 비정형 영역에서는 디테일 향상이 어렵다는 문제점이 있다.
다양한 실시예들은, 블랭크 영역의 비중이 높고 서브 픽셀들이 비 대칭적으로 배치되어 있는 디스플레이에 적합하며, 입력 영상의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있는, 영상 처리 장치 및 그 동작방법을 제공할 수 있다.
일 실시예에 따른 영상 처리 장치는 하나 이상의 인스트럭션들을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 하나 이상의 딥 뉴럴 네트워크를 이용하여, 제1 영상으로부터 제1 특징 맵들을 생성하고, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하고, 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제3 특징 맵들을 생성하고, 상기 제3 특징 맵들을 업스케일링하여, 상기 제1 특징 맵들을 생성할 수 있다.
일 실시예에 따른 하나 이상의 딥 뉴럴 네트워크는, 디컨볼루션 레이어를 포함하고, 상기 프로세서는, 상기 디컨볼루션 레이어에서, 상기 제3 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 상기 제3 특징 맵들을 업스케일링할 수 있다.
일 실시예에 따른 서브 픽셀들은, 제1 내지 제3 서브 픽셀들을 포함하고, 상기 프로세서는, 상기 제1 특징 맵들 및 상기 제1 서브 픽셀의 위치 정보에 기초하여, 제1 서브 특징 맵들을 생성하고, 상기 제1 특징 맵들 및 상기 제2 서브 픽셀의 위치 정보에 기초하여, 제2 서브 특징 맵들을 생성하며, 상기 제1 특징 맵들 및 상기 제3 서브 픽셀의 위치 정보에 기초하여, 제3 서브 특징 맵들을 생성할 수 있다.
일 실시예에 따른 제1 서브 특징 맵들 각각은, 상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제1 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되고, 상기 제2 서브 특징 맵들 각각은, 상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제2 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되며, 상기 제3 서브 특징 맵들 각각은, 상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제3 서브 픽셀과의 위치 관계가 동일한 특징들로 구성될 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 서브 특징 맵들 각각에 포함된 특징들과, 상기 제1 서브 픽셀과의 근접도에 기초하여, 상기 제1 서브 특징 맵들 각각의 가중치를 결정하고, 상기 제2 서브 특징 맵들 각각에 포함된 특징들과, 상기 제2 서브 픽셀과의 근접도에 기초하여, 상기 제2 서브 특징 맵들 각각의 가중치를 결정하며, 상기 제3 서브 특징 맵들 각각에 포함된 특징들과, 상기 제3 서브 픽셀과의 근접도에 기초하여, 상기 제3 서브 특징 맵들 각각의 가중치를 결정하고, 상기 제1 내지 제3 서브 특징 맵들 각각에 가중치들을 적용하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행하여, 상기 제1 서브 픽셀에 대한 제1 결과 값들을 포함하는 제1 결과 영상을 생성하고, 상기 제2 서브 특징 맵들과 제4 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제2 결과 값들을 포함하는 제2 결과 영상을 생성하며, 상기 제3 서브 특징 맵들과 제5 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제3 결과 값들을 포함하는 제3 결과 영상을 생성하고, 상기 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력할 수 있다.
일 실시예에 따른 서브 픽셀들 각각에 대한 결과 값에 기초하여, 제2 영상을 출력할 수 있다.
일 실시예에 따른 제1 영상 및 상기 제2 영상은 해상도가 동일할 수 있다.
일 실시예에 따른 프로세서는, 상기 제2 영상을 이용하여, 제1 가상 영상을 생성하고, 상기 제1 가상 영상과 레이블 영상과의 U 값에 대한 제1 오차 및 V 값에 대한 제2 오차를 계산하고, 상기 레이블 영상에 대한 서브 픽셀 렌더링을 수행하여, 제2 가상 영상을 생성하여, 상기 제2 가상 영상과 상기 출력 영상과의 Y 값에 대한 제3 오차를 계산하고, 상기 제1 내지 제3 오차를 최소화하도록 상기 딥 뉴럴 네트워크를 학습시킬 수 있다.
일 실시예에 따른 제2 영상 및 상기 제2 가상 영상은 제1 해상도를 가지고, 상기 레이블 영상 및 상기 제1 가상 영상은 제2 해상도를 가지며, 상기 제2 해상도는 상기 제1 해상도보다 클 수 있다.
일 실시예에 따른 하나 이상의 딥 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치의 동작방법은, 제1 영상으로부터 제1 특징 맵들을 생성하는 단계, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하는 단계, 및 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 컴퓨터 프로그램 제품은, 하나 이상의 딥 뉴럴 네트워크를 이용하여, 제1 영상으로부터 제1 특징 맵들을 생성하는 단계, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하는 단계, 및 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는 단계를 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치는, 블랭크 영역의 비중이 높고, 서브 픽셀들이 비 대칭적으로 배치되어 있는 디스플레이에 적합한 서브 픽셀 렌더링을 수행할 수 있다.
일 실시예에 따른 영상 처리 장치에 의해 서브 필셀 렌더링이 수행된 출력 영상에 색 번짐이 발생하는 것을 방지할 수 있다.
일 실시예에 따른 영상 처리 장치는, 입력 영상의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있어, 예측이 어려운 영역(비정형 영역)에 대해서도 디테일을 향상시킬 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치가 딥 뉴럴 네트워크를 이용하여 영상을 처리하는 방법을 나타내는 도면이다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크의 구조를 나타내는 도면이다.
도 3 및 4는 일 실시예에 따른 업 스케일러를 설명하기 위해 참조되는 도면들이다.
도 5는, 일 실시예에 따른 영상 처리 장치가 풀링 연산을 수행하는 방법을 설명하기 위해 참조되는 도면이다.
도 6은 일 실시예에 따른 영상 처리 장치가 제2 컨볼루션 연산부로 입력되는 채널을 구성하는 방법을 설명하기 위해 참조되는 도면이다.
도 7 내지 도 9는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면들이다.
도 10은 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 11은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 12는 일 실시예에 따른 프로세서의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 영상 처리 장치가 딥 뉴럴 네트워크를 이용하여 영상을 처리하는 방법을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(10, input)을 입력 받고, 딥 뉴럴 네트워크(Deep Neural Network)(200)를 이용하여, 제1 영상(10, input)에 서브 픽셀 렌더링을 수행함으로써, 제2 영상(20, output)을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 제1 영상(10, input)에 대한 특징 정보를 추출하고, 추출된 특징 정보 및 제2 영상(20, output)이 표시될 디스플레이에 배치된 서브 픽셀들의 위치 정보(215, 예를 들어, Subpixel coordinate information)에 기초하여, 서브 픽셀 렌더링을 수행할 수 있다. 이에 따라, 영상 처리 장치(100)는 블랭크 영역의 비중이 높고, 서브 픽셀들이 비 대칭적으로 배치되어 있는 디스플레이(예를 들어, 마이크로 LED 디스플레이 등)에 적합한 서브 픽셀 렌더링을 수행할 수 있다.
또한, 영상 처리 장치(100)는 딥 뉴럴 네트워크(200)를 이용하여, 제1 영상(10)의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있다. 예를 들어, 영상 처리 장치(100)는, 제1 영상(10)에서, 예측이 가능한 영역 및 예측이 어려운 영역(비정형 영역)에 대한 디테일을 향상시킨 제2 영상(20)을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)가 딥 뉴럴 네트워크를 이용하여, 제1 영상(10)에 대한 서브 픽셀 렌더링을 수행하는 방법에 대해서는, 후술하는 도면들에서 자세히 설명하기로 한다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크의 구조를 나타내는 도면이다.
도 2를 참조하면, 일 실시예에 따른 딥 뉴럴 네트워크(200)는 제1 컨볼루션(convolution) 연산부(210), 업 스케일러(220), 풀링 연산부(230) 및 제2 컨볼루션 연산부(240)을 포함할 수 있다.
일 실시예에 따른 제1 컨볼루션 연산부(210)는, 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 컨볼루션 레이어들 각각에서는, 컨볼루션 레이어에 입력된 하나 이상의 영상들(또는 특징 맵들)과 커널(kernel)의 컨볼루션(deconvolution) 연산이 수행될 수 있으며, 컨볼루션 연산 결과, 생성된 하나 이상의 영상들(또는, 특징 맵들)이 출력될 수 있다. 또한, 현재 컨볼루션 레이어에서 출력된 하나 이상의 특징 맵들은 다음 컨볼루션 레이어로 입력될 수 있다.
예를 들어, 영상 처리 장치(100)는 입력 영상을 제1 컨볼루션 연산부(210)로 입력할 수 있다. 이때, 입력 영상의 크기는 N x N일 수 있으며, 복수의 채널들을 포함할 수 있다. 영상 처리 장치(100)는 제1 컨볼루션 연산부(210)에 포함되는 복수의 컨볼루션 레이어들에서, 입력 영상과 제1 커널들의 컨볼루션 연산을 수행하여, 제1 특징 맵들을 생성하여 출력할 수 있다. 제1 컨볼루션 연산부(210)에서 출력되는 제1 특징 맵들의 크기는 N x N일 수 있으며, 제1 특징 맵들의 개수는 f개일 수 있다. 이때, 제1 특징 맵들의 개수는 기 설정되는 값일 수 있다.
일 실시예에 따른 업 스케일러(220)는, 업 스케일러(220)에 입력되는 제1 특징 맵들의 크기(해상도)를 증가시킬 수 있으며, 이에 대해서는 도 3및 4를 참조하여, 자세히 설명하기로 한다.
도 3 및 4는 일 실시예에 따른 업 스케일러를 설명하기 위해 참조되는 도면들이다.
도 3을 참조하면, 일 실시예에 따른 업 스케일러(220)는 디컨볼루션 레이어를 포함할 수 있다. 영상 처리 장치(100)는 디컨볼루션 레이어로 제1 특징 맵들(310)을 입력하고, 제1 특징 맵들(310)과 제2 커널들과의 디컨볼루션 연산을 수행할 수 있으며, 디컨볼루션 연산 결과, 제2 특징 맵들(320)을 생성할 수 있다. 디컨볼루션 연산은 일반적으로 입력된 영상의 크기보다 큰 출력 영상을 생성하기 위해 이용될 수 있으나, 이에 한정되는 것은 아니다. 디컨볼루션 연산 결과 생성된 제2 특징 맵들의 크기는 디컨볼루션 레이어에 입력된 제1 특징 맵들의 크기보다 크다. 디컨볼루션 연산이 처리되는 과정에 대해서는 도 4를 참조하여 설명하기로 한다.
도 4는 디컨볼루션 연산을 설명하기 위해 참조되는 도면이다.
도 4에서는 설명의 편의를 위해, 입력 데이터(410)는 2x2의 크기를 가지며, 입력 데이터(410)에 적용되는 커널의 크기는 3x3, 스트라이드(stride)의 크기는 2, 출력 데이터(450)의 크기는 4x4, 패딩(padding) 값은 1인 것으로 가정한다.
도 4를 참조하면, 영상 처리 장치(100)는 입력 데이터(410)의 좌측 상단의 픽셀(411)에 커널(430)을 적용하여, 디컨볼루션 연산을 수행할 수 있다. 즉, 영상 처리 장치(100)는 픽셀 값(a)과 커널(430)에 포함되는 가중치 값들(w0 내지 w8) 각각을 곱한 값들을, 출력 데이터(450)의 제1 영역(461)에 포함되는 픽셀들 각각에 매핑시킬 수 있다. 이때, 영상 처리 장치(100)는 패딩 값이 1인 것을 고려하여, 제1 영역(461)의 시작 위치를 결정될 수 있다(예를 들어, 제1 영역의 시작 지점이, 출력 데이터의 좌측 상단의 픽셀(451)보다 한 픽셀씩 왼쪽 및 위쪽으로 이동된 지점일 수 있다).
영상 처리 장치(100)는, 픽셀 값(a)와 가중치(w4)를 곱한 값(a*w4)을 출력 데이터(450)의 제1 픽셀(451)에 매핑시킬 수 있으며, 픽셀 값(a)와 가중치 w5를 곱한 값(a*w5)을 출력 데이터(450)의 제2 픽셀(452)에 매핑시킬 수 있다.
또한, 영상 처리 장치(100)는 입력 데이터(410)의 우측 상단의 픽셀(412)의 픽셀 값(b)과 커널(430)에 포함되는 가중치 값들(w0 내지 w8) 각각을 곱한 값들을, 출력 데이터(450)의 제1 영역(461)에서 두 픽셀 이동시킨 제2 영역(462)에 포함되는 픽셀들 각각에 매핑시킬 수 있다. 예를 들어, 입력 데이터(410)의 픽셀 값(b)와 가중치 (w3)을 곱한 값 (b*w3)을 출력 데이터(450)의 제2 픽셀(452)에 매핑시킬 수 있으며, 픽셀 값(b)과 가중치 w4를 곱한 값(b*w4)를 출력 데이터(450)의 제3 픽셀(453)에, 픽셀 값(b)과 가중치 w5를 곱한 값(b*w5)를 출력 데이터(450)의 제4 픽셀(454)에 매핑시킬 수 있다.
이때, 입력 데이터(210)에서, 디컨볼루션 연산의 대상이 되는 데이터를 한 픽셀만큼 이동시킬 때, 출력 데이터(450)에서, 디컨볼루션 연산이 수행된 결과 값을 매핑시키는 영역(매핑 영역)을 이동시키는 픽셀의 개수를 스트라이드(stride)라고 한다. 예를 들어, 매핑 영역을 한 픽셀씩 이동할 수도 있으나, 도 4에 도시된 바와 같이, 제1 영역(461)에서 제2 영역(462)으로, 2개 픽셀 또는 그 이상의 픽셀 개수만큼 이동하면서 매핑시킬 수도 있다. 따라서, 스트라이드의 크기에 따라, 출력 데이터(출력 영상)의 크기가 결정될 수 있다.
동일한 방식으로, 입력 데이터(410) 내에서 디컨볼루션 연산의 대상을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 스캔하면서, 커널에 포함되는 가중치 값들을 곱하여, 출력 데이터(450)에 매핑시킬 수 있다.
한편, 도 4를 참조하면, 제1 영역(461)과 제2 영역(462)은 중첩될 수 있다. 또한, 중첩되는 영역에 포함되는 픽셀들 각각에는 복수의 값들이 매핑될 수 있으며, 출력 데이터(450)의 픽셀의 값은 픽셀에 매핑되는 값들을 합한 값으로 결정될 수 있다. 예를 들어, 출력 데이터(450)의 제2 픽셀(452)에는 입력 데이터(410)의 픽셀 값(a)과 가중치 w5를 곱한 값(a*w5)과 입력 데이터(410)의 픽셀 값(b)와 가중치 (w3)을 곱한 값 (b*w3)이 매핑될 수 있으며, 제2 픽셀(452)의 값은 a*w5 +b*w3으로 결정될 수 있다.
이와 같은 방법으로 디컨볼루션 연산이 수행될 수 있으며, 디컨볼루션 연산 결과, 크기(해상도)가 증가된 영상이 출력될 수 있다.
다시 도 3을 참조하면, 디컨볼루션된 제2 특징 맵들(320)의 크기(해상도)는 제1 특징 맵들(310)의 크기(해상도)보다 m배 클 수 있다. 도 3에 도시된 제1 영상(330)은, 제1 특징 맵들(310) 중 하나(이하, 제1 특징 맵이라 한다)를 디스플레이의 크기 및 디스플레이에 배치된 서브 픽셀들의 위치를 고려하여, 나타낸 영상이고, 제2 영상(340)은, 제2 특징 맵들(320) 중 하나(이하, 제2 특징 맵이라 한다)를 디스플레이의 크기 및 디스플레이에 배치된 서브 픽셀들의 위치를 고려하여 나타낸 영상이다. 실제 제2 특징 맵의 크기(해상도)는 제1 특징 맵의 크기(해상도)보다 m배 클 수 있다.
예를 들어, R, G, B 를 포함하는 제1 영역(350)을 기준으로 제1 픽셀 값(331)은 제1 특징 맵에 포함된 값이고, 나머지 제2 내지 제9 픽셀들(342, 343, 344, 345, 346, 347, 348, 349)은 제1 특징 맵에 포함된 픽셀 값들에 기초하여, 디컨볼루션을 통해 생성된 값들일 수 있다. 이에 따라, 제2 특징 맵의 크기(해상도)는 제1 특징 맵의 크기(해상도)보다 3배 클 수 있다.
다시 도 2를 참조하면, 풀링 연산부(230)는, 디스플레이에 배치된 서브 픽셀들의 위치 정보(215)에 기초하여, 업 스케일링된 제2 특징 맵들에 풀링 연산을 수행할 수 있다. 이에 따라, 풀링 연산부(230)는 서브 픽셀 별로 특징 맵들을 생성할 수 있다. 예를 들어, 서브 픽셀들이 제1 서브 픽셀, 제2 서브 픽셀 및 제3 서브 픽셀을 포함하는 경우, 풀링 연산부(230)는 제1 서브 픽셀의 위치 정보에 기초하여, 제2 특징 맵들에 풀링 연산을 수행함으로써, 제1 서브 픽셀에 대한 제1 서브 특징 맵들을 생성할 수 있다. 이에 대해서는, 도 5를 참조하여, 자세히 설명하기로 한다.
도 5는, 일 실시예에 따른 영상 처리 장치가 풀링 연산을 수행하는 방법을 설명하기 위해 참조되는 도면이다.
도 5를 참조하면, 제3 영상(500)은 업 스케일러(220)에서 출력된 제2 특징 맵에 포함되는 특징들 일부를 디스플레이에서의 서브 픽셀들(510, 520, 530)의 위치를 고려하여 나타낸 영상이다.
일 실시예에 따른 영상 처리 장치(100)는 서브 픽셀들(510, 520, 530)의 위치를 기준으로, 제2 특징 맵에 대한 풀링 연산을 수행할 수 있다. 예를 들어, 서브 픽셀들은, 제1 서브 픽셀(510, 예를 들어, Blue 서브 픽셀), 제2 서브 픽셀(520, 예를 들어, Red 서브 픽셀), 및 제3 서브 픽셀(530, 예를 들어, Green 서브 픽셀)을 포함할 수 있다.
영상 처리 장치(100)는 제1 내지 제3 서브 픽셀들(510, 520, 530) 각각의 위치에 기초하여, 제2 특징 맵에 대한 풀링 연산을 수행함으로써, 제1 내지 제3 서브 픽셀들(510, 520, 530) 각각에 대한 서브 특징 맵들을 생성할 수 있다. 제1 내지 제3 서브 픽셀들(510, 520, 530) 각각에 대한 서브 특징 맵들을 생성하는 방법은 동일하므로, 이하에서는, 제1 서브 픽셀(510)에 대한 서브 특징 맵들을 생성하는 방법에 대해서만, 설명하기로 한다.
영상 처리 장치(100)는 서브 픽셀에 대해 생성할 서브 특징 맵들의 개수(k)를 설정할 수 있으며, 설정된 서브 특징 맵들의 개수(k)에 기초하여, 단위 영역들(540, 550)을 설정할 수 있다. 영상 처리 장치(100)는, 제2 특징 맵에 포함된 특징들(픽셀들) 중, 제1 서브 픽셀(510)과 근접도가 높은 k개의 특징들이 하나의 단위 영역에 포함되도록 단위 영역들(540, 550)을 설정할 수 있다. 이때, 제1 서브 픽셀(510)과 근접도가 높다는 것은, 제1 서브 픽셀(510)과의 거리가 가까운 것을 의미할 수 있다.
예를 들어, k=4로 설정된 경우, 도 5에 도시된 바와 같이, 제2 특징 맵에 포함된 특징들 중 제1 서브 픽셀(510)을 기준으로, 제1 서브 픽셀(510)과 근접도가 높은 4개의 특징들이 하나의 단위 영역(540)에 포함되도록 단위 영역들이 설정될 수 있다. 또는, k=12로 설정된 경우, 제3 특징 맵에 포함된 특징들 중 제1 서브 픽셀을 기준으로 제1 서브 픽셀과 근접도가 높은 12개의 특징들이 하나의 단위 영역(550)에 포함되도록 단위 영역들이 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 단위 영역들은 다양한 방법으로 설정될 수 있다.
영상 처리 장치(100)는 단위 영역들 각각에서 제1 서브 픽셀(510)과의 상대적 위치가 동일한 특징들을 하나의 서브 특징 맵으로 풀링할 수 있다.
도 5에 도시된 바와 같이, k=4로 설정된 경우, 영상 처리 장치(100)는 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제1 위치 관계(예를 들어, 제1 서브 픽셀을 기준으로 좌 상단에 위치하며, 제1 거리를 가짐)를 가지는 제1 특징들(f1, f2, f3, f4)을 추출하고, 추출된 제1 특징 들(f1, f2, f3, f4)로 구성된 제1 서브 특징 맵(571)을 생성할 수 있다. 또한, 영상 처리 장치(100)는 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제2 위치 관계(예를 들어, 제1 서브 픽셀(510)을 기준으로 우 상단에 위치하며, 제2 거리를 가짐)를 가지는 제2 특징들(f5, f6, f7, f8)을 추출하고, 추출된 제2 특징들(f5, f6, f7, f8)로 구성된 제2 서브 특징 맵(572)을 생성할 수 있다. 또한, 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제3 위치 관계(예를 들어, 제1 서브 픽셀(510)을 기준으로 좌 하단에 위치하며, 제3 거리를 가짐)를 가지는 제3 특징들(f9, f10, f11, f12)을 추출하고, 추출된 제3 특징들(f9, f10, f11, f12)로 구성된 제3 서브 특징 맵(573)을 생성할 수 있다. 또한, 영상 처리 장치(100)는 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제4 위치 관계(예를 들어, 제1 서브 픽셀(510)을 기준으로 우 하단에 위치하며, 제4 거리를 가짐)를 가지는 제4 특징들(f13, f14, f15, f16)을 추출하고, 추출된 제4 특징들(f13, f14, f15, f16)로 구성된 제4 서브 특징 맵(574)을 생성할 수 있다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 상술한 방법과 동일한 방법으로, 제2 서브 픽셀(520)에 대한 4개의 서브 픽셀 특징 맵들(제2 서브 특징 맵들)을 생성할 수 있으며, 제3 서브 픽셀(530)에 대한 4개의 서브 픽셀 특징 맵들(제3 서브 특징 맵들)을 생성할 수 있다. 이와 같이, 일 실시예에 따른 영상 처리 장치(100)는 설정된 k 값에 따라, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 생성할 수 있다.
다시, 도 2를 참조하면, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들은 제2 컨볼루션 연산부(240)로 입력될 수 있다. 한편, 영상 처리 장치(100)는 서브 특징 맵들 각각에 대응하는 근접도에 기초하여, 제2 컨볼루션 연산부(240)로 입력되는 서브 특징 맵들의 순서(채널 구성) 또는 가중치를 결정할 수 있다. 이에 대해서는, 도 6을 참조하여, 자세히 설명하기로 한다.
도 6은 일 실시예에 따른 영상 처리 장치가 제2 컨볼루션 연산부로 입력되는 채널을 구성하는 방법을 설명하기 위해 참조되는 도면이다.
일 실시예에 따른 영상 처리 장치(100)는 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 제2 컨볼루션 연산부(240)로 입력할 수 있다. 이때, 영상 처리 장치(100)는 서브 특징 맵들 각각에 대응하는, 서브 픽셀과의 근접도에 기초하여, 서브 특징 맵들의 입력 순서를 결정할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 제1 서브 특징 맵(610)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제1 위치 관계를 가지는 제1 특징(f1)으로 구성된 특징 맵이며, 이때, 제1 특징(f1)은, 제1 서브 픽셀(660)과 제1 거리(d1)를 가질 수 있다. 또한, 제2 서브 특징 맵(620)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제2 위치 관계를 가지는 제2 특징(f2)으로 구성된 특징 맵이며, 이때, 제2 특징(f2)은 제1 서브 픽셀(660)과 제2 거리(d2)를 가질 수 있다. 또한, 제3 서브 특징 맵(630)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제3 위치 관계를 가지는 제3 특징(f3)으로 구성된 특징 맵이며, 이때, 제3 특징(f3)은 제1 서브 픽셀(660)과 제3 거리(d3)를 가질 수 있다. 또한, 제4 서브 특징 맵(640)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제4 위치 관계를 가지는 제4 특징(f4)으로 구성된 특징 맵이며, 이때, 제4 특징(f4)은 제1 서브 픽셀(660)과 제4 거리(d4)를 가질 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 특징 맵들 각각에 대응하는, 서브 픽셀과의 근접도(거리)에 기초하여, 제2 컨볼루션 연산부(240)로 입력되는 서브 특징 맵들의 채널 순서를 결정할 수 있다. 영상 처리 장치(100)는, 거리가 가까운 순서로, 서브 픽셀 맵들의 채널 순서를 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 제2 거리(d2)를 가지는 제2 서브 픽셀 맵(620)을 첫 번째 채널(제1 채널)로, 제1 거리(d1)를 가지는 제1 서브 픽셀 맵(610)을 두 번째 채널(제2 채널)로, 제4 거리(d4)를 가지는 제4 서브 픽셀 맵(640)을 세 번째 채널(제3 채널)로, 제3 거리(d3)를 가지는 제3 서브 픽셀 맵(630)을 네 번째 채널(제4 채널)로 입력할 수 있다. 이때, 제1 거리 및 제4 거리는 동일할 수 있으며, 제4 거리(d4)를 가지는 제4 서브 픽셀 맵(640)을 두 번째 채널(제2 채널)로, 제1 거리(d1)를 가지는 제1 서브 픽셀 맵(610)을 세 번째 채널(제3 채널)로 입력할 수도 있다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 서브 특징 맵들 각각에 대응하는, 서브 픽셀과의 근접도(거리)에 기초하여, 서브 특징 맵들에 적용되는 가중치를 결정할 수 있다.
영상 처리 장치(100)는 서브 픽셀과의 거리가 가까울수록(작을수록) 서브 특징 맵에 적용되는 가중치 값을 크게 결정할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 제2 서브 특징 맵(620)에는 (1/d2)의 가중치를 적용하고, 제1 서브 특징 맵(610)에는 (1/d1)의 가중치를 적용하며, 제4 서브 특징 맵(640)에는 (1/d4)의 가중치를 적용하고, 제3 서브 특징 맵(630)에는 (1/d3)의 가중치를 적용할 수 있다. 다만, 이에 한정되는 것은 아니며, 영상 처리 장치(100)는 다양한 방법으로 서브 특징 맵들에 적용되는 가중치 값들을 결정할 수 있다.
다시, 도 2를 참조하면, 제2 컨볼루션 연산부(240)는 입력된 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행할 수 있다. 이에 따라, 제2 컨볼루션 연산부(240)는 서브 픽셀들 각각에 대한 결과 영상을 생성할 수 있다. 예를 들어, 제2 컨볼루션 연산부(240)는 제1 서브 픽셀에 대한 k개의 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행하여, 제1 서브 픽셀에 대한 제1 결과 영상(예를 들어, Red(NxN))을 생성할 수 있다. 제1 결과 영상은, 제1 서브 픽셀에 대한 최종 출력 값들을 포함하는 영상일 수 있으나, 이에 한정되지 않는다. 또한, 제2 컨볼루션 연산부(240)는, 제2 서브 픽셀 및 제3 서브 픽셀에 대해서도, 동일한 방법으로 결과 영상들(제2 결과 영상(예를 들어, Green(NxN)) 및 제3 결과 영상(예를 들어, Blue(NxN))을 생성할 수 있다.
영상 처리 장치(100)는, 제1 내지 제3 결과 영상에 기초하여, 최종 출력 영상(예를 들어, RGB 출력(NxN))을 생성할 수 있다.
도 7 내지 도 9는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면들이다.
도 7을 참조하면, 일 실시예에 따른 딥 뉴럴 네트워크(200)는 복수의 학습 데이터 세트들에 의해 학습될 수 있다. 이때, 학습 데이터 세트는, 입력 영상 데이터(710)와 레이블 데이터(720)를 포함할 수 있다. 레이블 데이터(720)는 mN x mN의 크기를 가지는 고해상도 영상 데이터이고, 입력 영상 데이터(710)는 N x N의 크기를 가지는 저해상도 영상 데이터일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 입력 영상 데이터(710)는, 레이블 데이터(720)에 기초하여 생성된 데이터일 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 입력 영상 데이터(710)를 딥 뉴럴 네트워크(200)에 입력할 수 있으며, 딥 뉴럴 네트워크(200)는 입력 영상 데이터(710)를 처리하여 획득한 영상 데이터(730, 출력 영상 데이터)를 출력할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 출력 영상 데이터(730)로부터 가상 영상 데이터(740)를 생성할 수 있다. 가상 영상 데이터(740)는, 출력 영상 데이터(730)를 이용하여 결정된 서브 픽셀들 값들에 의해, 디스플레이에 영상이 출력될 때, 시청 거리에서 인지되는 영상을 재현한 영상 데이터일 수 있다.
가상 영상 데이터(740)를 생성하는 방법에 대해서는, 도 8을 참조하여, 설명하기로 한다.
도 8을 참조하면, 딥 뉴럴 네트워크(200)는 입력 영상 데이터(710)와 동일한 크기(N x N)를 가지는 출력 영상 데이터(730)를 생성할 수 있다. 영상 처리 장치(100)는 출력 영상 데이터(730)에 기초하여, 디스플레이에 배치된 서브 픽셀들의 값을 결정할 수 있다. 예를 들어, 출력 영상 데이터(730)에 포함되는 제1 픽셀 값(810)에 기초하여, 제1 서브 픽셀(821, 예를 들어, Red 픽셀), 제2 서브 픽셀(822, 예를 들어, Green 픽셀) 및 제3 서브 픽셀(823, 예를 들어, Blue 픽셀) 값들이 결정될 수 있다. 서브 픽셀들의 값이 결정되면, 서브 픽셀들의 값에 기초하여, 출력 영상 데이터(730)의 크기(해상도)를 증가시킬 수 있다. 예를 들어, 영상 처리 장치(100)는 서브 픽셀들의 값에 기초하여, 제1 픽셀(810) 및 제2 픽셀(820) 사이에 제5 픽셀(850)을 생성할 수 있으며, 이때, 제5 픽셀 값은, 제5 픽셀(850) 주변에 위치한 서브 픽셀들의 값과 서브 픽셀들과 제5 픽셀(850) 사이의 거리에 기초하여, 결정될 수 있다. 이와 같은 방식을 이용하여, 영상 처리 장치(100)는, mN x mN 크기(예를 들어, m=3)를 가지는 가상 영상 데이터(740)를 생성할 수 있다. 다만, 이에 한정되는 것은 아니며, 영상 처리 장치(100)는 다양한 방법으로 가상 영상 데이터(740)를 생성할 수 있다.
한편, 도 7을 다시 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 레이블 데이터(720)로부터 서브 픽셀 렌더링 영상 데이터(750, SPR 영상 데이터)를 생성할 수 있다.
서브 픽셀 렌더링 영상 데이터(750)를 생성하는 방법에 대해서는, 도 9를 참조하여, 자세히 설명하기로 한다.
도 9를 참조하면, 영상 처리 장치(100)는 레이블 데이터(720)에 서브 픽셀 렌더링을 수행할 수 있다. 영상 처리 장치(100)는 레이블 데이터(720)에 포함되는 픽셀 값들 중, 서브 픽셀의 주변에 위치한 픽셀 값들에 기초하여, 서브 픽셀의 값을 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 레이블 데이터(720)에 포함되는 제1 내지 제4 픽셀 값들(P1, P2, P3, P4)에 기초하여, 제1 서브 픽셀(910)의 값을 결정하고, 제 3 내지 제6 픽셀 값들(P3, P4, P5, P6)에 기초하여, 제2 서브 픽셀(920)의 값을 결정할 수 있다. 또한, 영상 처리 장치(100)는 제3 픽셀 값(P3), 제5 픽셀 값(P5), 제7 픽셀 값(P7) 및 제8 픽셀 값(P8)에 기초하여, 제3 서브 픽셀(930)의 값을 결정할 수 있다. 영상 처리 장치(100)는 제1 내지 제3 서브 픽셀들(910, 920, 930)의 값들에 기초하여, 하나의 픽셀 값(940)을 결정할 수 있다. 영상 처리 장치(100)는 결정된 픽셀 값들로 영상 데이터를 재구성할 수 있으며, 이때, 재구성된 영상 데이터(750, SPR 영상 데이터)는 N x N의 크기를 가질 수 있다. 다만, 이에 한정되는 것은 아니며, 영상 처리 장치(100)는 다양한 방법으로 SPR 영상 데이터(750)를 생성할 수 있다.
다시, 도 7을 참조하면, 영상 처리 장치(100)는 mN x mN의 크기를 가지는 레이블 데이터(720)와 가상 영상 데이터(740)를 RGB 색공간에서 YUV 색공간으로 변환하고, 레이블 데이터(720)의 U 성분 값과 가상 영상 데이터(740)의 U 성분 값의 차이(제1 오차)를 계산할 수 있으며, 레이블 데이터(720)의 V 성분 값과 가상 영상 데이터(740)의 V 성분 값의 차이(제2 오차)를 계산할 수 있다. 이때, 제1 오차 및 제2 오차는 색 오차에 해당한다. 영상의 U 성분이나 V 성분은, 영상에서 색 번짐에 영향을 미치는 요소이며, 영상 처리 장치(100)는 색 번짐을 방지하기 위해 제1 오차 및 제2 오차를 최소화하는 방향으로 딥 뉴럴 네트워크(200)를 학습시킬 수 있다.
또한, 영상 처리 장치(100)는 N x N의 크기를 가지는 서브 픽셀 렌더링 영상 데이터(750)와 출력 데이터(730)를 RGB 색 공간에서 YUV 색 공간으로 변환하고, 서브 픽셀 렌더링 영상 데이터(750)의 Y 성분 값과 출력 데이터(730)의 Y 성분 값의 차이(제3 오차, 밝기 오차에 해당함)를 계산할 수 있다. 영상의 Y 성분은, 디테일(텍스쳐 표현)이나, 텍스트/엣지의 앨리어싱(aliasing)에 영향을 미치는 요소이며, 영상 처리 장치(100)는 디테일을 향상시키고, 텍스트나 엣지의 앨리어싱을 방지하기 위해 제3 오차를 최소화하는 방향을 딥 뉴럴 네트워크(200)를 학습시킬 수 있다.
또한, 영상 처리 장치(100)는 영상의 색 번짐 방지, 디테일 향상, 텍스트나 엣지 표현 향상 등 전체적인 영상의 품질(quality)을 향상시키기 위하여, 제1 오차, 제2 오차 및 제3 오차를 합한 전체 오차 값이 최소화되는 방향으로 딥 뉴럴 네트워크(200)를 학습시킬 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 오차, 제2 오차 및 제3 오차의 가중합으로 손실함수를 정의하고, 손실함수가 최소화되도록 딥 뉴럴 네트워크(200)에 포함되는 하나 이상의 커널들의 가중치를 조절할 수 있다. 다만, 이에 한정되지 않는다.
도 10은 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는, 제1 영상으로부터 제1 특징 맵들을 생성할 수 있다(S1010).
예를 들어, 영상 처리 장치(100)는 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제3 특징 맵들을 생성할 수 있다. 이때, 제1 영상의 크기는 N x N일 수 있으며, 복수의 채널들을 포함할 수 있다. 또한, 제3 특징 맵들의 크기는 N x N일 수 있으며, 제3 특징 맵들의 개수는 f개일 수 있다.
영상 처리 장치(100)는 제3 특징 맵들을 업스케일링하여, 크기(해상도)가 증가된 제1 특징 맵들을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제3 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 제1 특징 맵들을 생성할 수 있다. 디컨볼루션 연산 결과 생성된 제1 특징 맵들은 제3 특징 맵들보다 크며, 제1 특징 맵들의 크기는 mN x mN일 수 있다.
영상 처리 장치(100)는 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성할 수 있다(S1020).
예를 들어, 영상 처리 장치(100)는 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 제1 특징 맵들에 풀링 연산을 수행할 수 있다. 이에 따라, 영상 처리 장치(100)는 서브 픽셀 별로 서브 특징 맵들을 생성할 수 있다. 예를 들어, 서브 픽셀들이 제1 서브 픽셀, 제2 서브 픽셀 및 제3 서브 픽셀을 포함하는 경우, 영상 처리 장치(100)는 제1 서브 픽셀의 위치 정보에 기초하여, 제1 특징 맵들에 풀링 연산을 수행함으로써, 제1 서브 픽셀에 대한 제1 서브 특징 맵들을 생성할 수 있다.
영상 처리 장치(100)는 제1 특징 맵들 각각에 포함된 특징들과 제1 서브 픽셀과의 위치 관계에 기초하여, 제1 서브 특징 맵들을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 특징 맵에 포함된 특징들 중 제1 서브 픽셀을 기준으로, 제1 서브 픽셀과 근접도가 높은 k개의 특징들이 하나의 단위 영역에 포함되도록 단위 영역들을 설정할 수 있다. 영상 처리 장치(100)는 단위 영역들 각각에서 제1 서브 픽셀과의 상대적 위치가 동일한 특징들을 하나의 서브 특징 맵으로 풀링할 수 있으며, 제1 서브 픽셀에 대한, k개의 서브 특징 맵들(제1 서브 특징 맵들)을 생성할 수 있다. 이에 대해서는, 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
영상 처리 장치(100)는 동일한 방식으로, 제2 서브 픽셀에 대한 k개의 서브 특징 맵들(제2 서브 특징 맵들) 및 제3 서브 픽셀에 대한 k개의 서브 특징 맵들(제3 서브 특징 맵들)을 생성할 수 있다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 제1 서브 특징 맵들 각각에 포함된 특징들과 제1 서브 픽셀과의 근접도에 기초하여, 제1 서브 특징 맵들 각각의 가중치를 결정할 수 있다. 이에 대해서는, 도 6에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다. 마찬가지로, 영상 처리 장치(100)는 제2 서브 특징 맵들 및 제3 서브 특징 맵들 각각에 대한 가중치를 결정할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 제2 특징 맵들(제1 내지 제3 서브 특징 맵들)에 기초하여, 서브 픽셀들 각각에 대한 결과값들을 결정할 수 있다(S1030).
예를 들어, 영상 처리 장치(100)는 가중치가 적용된 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행할 수 있으며, 가중치가 적용된 제2 서브 특징 맵들과 제4 커널들과의 컨볼루션 연산을 수행할 수 있다. 또한, 제3 서브 특징 맵들과 제5 커널들과의 컨볼루션 연산을 수행할 수 있다. 이에 따라, 영상 처리 장치(100)는 제1 내지 제3 서브 픽셀들 각각에 대한 결과 영상(제1 내지 제3 결과 영상들)을 생성할 수 있다. 영상 처리 장치(100)는 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력할 수 있다.
도 11은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 11을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 딥 뉴럴 네트워크를 이용하여, 딥 뉴럴 네트워크에 입력된 제1 영상을 처리하여, 제2 영상을 출력할 수 있다. 이때, 딥 뉴럴 네트워크는 도 2 내지 도 9에서 도시하고 설명한 딥 뉴럴 네트워크일 수 있다.
예를 들어, 프로세서(120)는 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제1 특징 맵들을 생성할 수 있다. 이때, 제1 영상의 크기는 N x N일 수 있으며, 복수의 채널들을 포함할 수 있다. 또한, 제2 특징 맵들의 크기는 N x N일 수 있으며, 제1 특징 맵들의 개수는 f 개일 수 있다.
프로세서(120)는 제1 특징 맵들을 업스케일링하여, 크기(해상도)가 증가된 제2 특징 맵들을 생성할 수 있다. 예를 들어, 프로세서(120)는 제1 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 제2 특징 맵들을 생성할 수 있다. 디컨볼루션 연산 결과 생성된 제2 특징 맵들의 크기는 mN x mN일 수 있다.
프로세서(120)는 제2 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 생성할 수 있다. 예를 들어, 프로세서(120)는 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 제2 특징 맵들에 풀링 연산을 수행함으로써, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 생성할 수 있다. 이에 대해서는, 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 따른 프로세서(120)는 서브 특징 맵들에 기초하여, 서브 픽셀들 각각에 대한 결과값들을 결정할 수 있다. 예를 들어, 프로세서(120)는 제1 서브 픽셀에 대한 k개의 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행함으로써, 제1 서브 픽셀에 대한 제1 결과 영상을 생성할 수 있다. 또한, 프로세서(120)는 제2 서브 픽셀 및 제3 서브 픽셀에 대해서도 동일한 방법으로, 제2 결과 영상 및 제3 결과 영상을 생성할 수 있다.
일 실시예에 따른 프로세서(120)는 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력할 수 있다.
도 12는 일 실시예에 따른 프로세서의 블록도이다.
도 12를 참조하면, 일 실시예에 따른 프로세서(120)는 네트워크 학습부(1210) 및 영상 처리부(1220)를 포함할 수 있다.
네트워크 학습부(1210)는 복수의 학습 데이터 세트들을 이용하여, 일 실시예에 따른 딥 뉴럴 네트워크를 학습시킬 수 있다. 이때, 학습 데이터 세트는, 입력 영상 데이터와 레이블 데이터를 포함할 수 있다. 레이블 데이터는 mN x mN의 크기를 가지는 고해상도 영상 데이터이고, 입력 영상 데이터는 N x N의 크기를 가지는 저해상도 영상 데이터일 수 있으나, 이에 한정되는 것은 아니다. 또한, 네트워크 학습부(1210)는 레이블 데이터를 이용하여, 입력 영상 데이터를 생성할 수 있다.
네트워크 학습부(1210)는 입력 영상 데이터를 딥 뉴럴 네트워크로 입력하여, 출력 영상 데이터를 획득할 수 있다. 네트워크 학습부(1210)는 출력 영상 데이터로부터 가상 영상 데이터를 생성할 수 있다. 가상 영상 데이터는, 출력 영상 데이터를 이용하여 결정된 서브 픽셀들 값들에 의해, 디스플레이에 영상이 출력될 때, 시청 거리에서 인지되는 영상을 재현한 영상 데이터일 수 있다. 가상 영상 데이터를 생성하는 방법에 대해서는, 도 8에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
또한, 네트워크 학습부(1210)는 레이블 데이터를 서브 픽셀 렌더링하여, 서브 픽셀 렌더링 영상 데이터를 생성할 수 있다. 서브 픽셀 렌더링 영상을 생성하는 방법에 대해서는, 도 9에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
네트워크 학습부(1210)는 mN x mN의 크기를 가지는 레이블 데이터와 가상 영상 데이터에서의 U 성분 값과 V 성분 값의 차이, N x N의 크기를 가지는 서브 픽셀 렌더링 영상 데이터와 출력 데이터에서의 Y 성분 값의 차이에 기초하여, 일 실시예에 따른 딥 뉴럴 네트워크를 학습시킬 수 있다. 딥 뉴럴 네트워크를 학습시키는 방법에 대해서는, 도 7 내지 9에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
네트워크 학습부(1210)는 학습된 네트워크(예를 들어, 딥 뉴럴 네트워크)를 영상 처리 장치의 메모리에 저장할 수 있다. 또는, 영상 처리 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 네트워크가 저장되는 메모리는, 예를 들면, 영상 처리 장치(100)의 적어도 하나의 다른 구성 요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
영상 처리부(1220)는 네트워크 학습부(1210)에 의해 학습된 딥 뉴럴 네트워크를 이용하여, 입력된 제1 영상을 처리할 수 있다. 예를 들어, 영상 처리부(1220)는 학습된 딥 뉴럴 네트워크를 이용하여, 제1 영상에 대한 특징 정보를 추출하고, 추출된 특징 정보 및 디스플레이에 배치된 서브 픽셀들의 위치 정보에 기초하여, 서브 픽셀 렌더링을 수행할 수 있다. 이에 따라, 영상 처리부(1220)는, 제1 영상의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있다.
한편, 도 12의 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나는, 하드웨어 칩 형태로 제작되어 영상 처리 장치(100)에 탑재될 수 있다. 예를 들어, 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나는 인공 지능(AI;artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 영상 처리 장치에 탑재될 수 도 있다.
이 경우, 네트워크 학습부(1210) 및 영상 처리부(1220)는 하나의 영상 처리 장치에 탑재될 수도 있으며, 또는 별개의 영상 처리 장치들에 각각 탑재될 수도 있다. 예를 들어, 네트워크 학습부(1210) 및 영상 처리부(1220) 중 일부는 영상 처리 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 도 11및 12에 도시된 영상 처리 장치(100) 및 프로세서(120)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따른 영상 처리 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 영상 처리 장치 및 영상 처리 장치의 동작방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (22)

  1. 하나 이상의 딥 뉴럴 네트워크들(deep neural networks)을 이용하여, 서브 픽셀 렌더링을 수행하는 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    제1 영상과 상기 하나 이상의 딥 뉴럴 네트워크들에 포함된 제1 커널들과의 컨볼루션 연산을 수행함으로써, 제1 특징 맵들을 생성하고,
    상기 제1 특징 맵들을 업스케일링함으로써, 제2 특징 맵들을 생성하고,
    상기 제2 특징 맵들과 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제3 특징 맵들을 생성하고,
    상기 제3 특징 맵들과 상기 하나 이상의 딥 뉴럴 네트워크들에 포함된 제2 커널들과의 컨볼루션 연산을 수행함으로써, 상기 서브 픽셀들 각각에 대한 결과 영상을 생성하고,
    상기 서브 픽셀들 각각에 대한 결과 영상에 기초하여, 제2 영상을 출력하는, 영상 처리 장치.
  2. 삭제
  3. 제1항에 있어서,
    하나 이상의 딥 뉴럴 네트워크는, 디컨볼루션 레이어를 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 디컨볼루션 레이어에서, 상기 제1 특징 맵들과 제3 커널들과의 디컨볼루션 연산을 수행함으로써, 상기 제1 특징 맵들을 업스케일링하는, 영상 처리 장치.
  4. 제1항에 있어서,
    상기 서브 픽셀들은,
    제1 내지 제3 서브 픽셀들을 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제2 특징 맵들에 포함된 특징들 중 상기 제1 서브 픽셀과 동일한 위치 관계를 가지는 특징들을 그룹핑함으로써, 상기 제1 서브 픽셀에 대한 제1 서브 특징 맵들을 생성하고,
    상기 제2 특징 맵들에 포함된 특징들 중 상기 제2 서브 픽셀과 동일한 위치 관계를 가지는 특징들을 그룹핑함으로써, 상기 제2 서브 픽셀에 대한 제2 서브 특징 맵들을 생성하며,
    상기 제2 특징 맵들에 포함된 특징들 중 상기 제3 서브 픽셀과 동일한 위치 관계를 가지는 특징들을 그룹핑함으로써, 상기 제3 서브 픽셀에 대한 제3 서브 특징 맵들을 생성하는, 영상 처리 장치.
  5. 삭제
  6. 제4항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제1 서브 특징 맵들 각각에 포함된 특징들과, 상기 제1 서브 픽셀과의 근접도에 기초하여, 상기 제1 서브 특징 맵들 각각의 가중치를 결정하고,
    상기 제2 서브 특징 맵들 각각에 포함된 특징들과, 상기 제2 서브 픽셀과의 근접도에 기초하여, 상기 제2 서브 특징 맵들 각각의 가중치를 결정하며,
    상기 제3 서브 특징 맵들 각각에 포함된 특징들과, 상기 제3 서브 픽셀과의 근접도에 기초하여, 상기 제3 서브 특징 맵들 각각의 가중치를 결정하고,
    상기 제1 내지 제3 서브 특징 맵들 각각에 가중치들을 적용하여, 상기 서브 픽셀들 각각에 대한 결과 영상을 생성하는, 영상 처리 장치.
  7. 제4항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제1 서브 특징 맵들과 상기 제2 커널들에 포함된 제4 커널들과의 컨볼루션 연산을 수행하여, 상기 제1 서브 픽셀에 대한 제1 결과 영상을 생성하고,
    상기 제2 서브 특징 맵들과 상기 제2 커널들에 포함된 제5 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제2 결과 영상을 생성하며,
    상기 제3 서브 특징 맵들과 상기 제2 커널들에 포함된 제6 커널들과의 컨볼루션 연산을 수행하여, 상기 제3 서브 픽셀에 대한 제3 결과 영상을 생성하고,
    상기 제1 결과 영상은 상기 제1 서브 픽셀에 대한 출력 값들을 포함하고, 상기 제2 결과 영상은 상기 제2 서브 픽셀에 대한 출력 값들을 포함하며, 상기 제3 결과 영상은 상기 제3 서브 픽셀에 대한 출력 값들을 포함하는, 영상 처리 장치.
  8. 삭제
  9. 제1항에 있어서,
    상기 제1 영상 및 상기 제2 영상은 해상도가 동일한, 영상 처리 장치.
  10. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제2 영상을 이용하여, 제1 가상 영상을 생성하고, 상기 제1 가상 영상과 레이블 영상과의 U 값에 대한 제1 오차 및 V 값에 대한 제2 오차를 계산하고,
    상기 레이블 영상에 대한 서브 픽셀 렌더링을 수행하여, 제2 가상 영상을 생성하여, 상기 제2 가상 영상과 상기 제2 영상과의 Y 값에 대한 제3 오차를 계산하고,
    상기 제1 내지 제3 오차를 최소화하도록 상기 딥 뉴럴 네트워크를 학습시키는, 영상 처리 장치.
  11. 제10항에 있어서,
    상기 제2 영상 및 상기 제2 가상 영상은 제1 해상도를 가지고, 상기 레이블 영상 및 상기 제1 가상 영상은 제2 해상도를 가지며, 상기 제2 해상도는 상기 제1 해상도보다 큰, 영상 처리 장치.
  12. 하나 이상의 딥 뉴럴 네트워크들(deep neural networks)을 이용하여, 서브 픽셀 렌더링을 수행하는 영상 처리 장치의 동작방법에 있어서,
    제1 영상과 상기 하나 이상의 딥 뉴럴 네트워크들에 포함된 제1 커널들과의 컨볼루션 연산을 수행함으로써, 제1 특징 맵들을 생성하는 단계;
    상기 제1 특징 맵들을 업스케일링함으로써, 제2 특징 맵들을 생성하는 단계;
    상기 제2 특징 맵들과 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제3 특징 맵들을 생성하는 단계;
    상기 제3 특징 맵들과 상기 하나 이상의 딥 뉴럴 네트워크들에 포함된 제2 커널들과의 컨볼루션 연산을 수행함으로써, 상기 서브 픽셀들 각각에 대한 결과 영상을 생성하는 단계; 및
    상기 서브 픽셀들 각각에 대한 결과 영상에 기초하여, 제2 영상을 출력하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  13. 삭제
  14. 제12항에 있어서,
    상기 하나 이상의 딥 뉴럴 네트워크는, 디컨볼루션 레이어를 포함하고,
    상기 제1 특징 맵들을 업스케일링하는 단계는,
    상기 디컨볼루션 레이어에서, 상기 제1 특징 맵들과 제3 커널들과의 디컨볼루션 연산을 수행하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  15. 제12항에 있어서,
    상기 서브 픽셀들은,
    제1 내지 제3 서브 픽셀들을 포함하고,
    상기 제3 특징 맵들을 생성하는 단계는,
    상기 제2 특징 맵들에 포함된 특징들 중 상기 제1 서브 픽셀과 동일한 위치 관계를 가지는 특징들을 그룹핑함으로써, 상기 제1 서브 픽셀에 대한 제1 서브 특징 맵들을 생성하는 단계;
    상기 제2 특징 맵들에 포함된 특징들 중 상기 제2 서브 픽셀과 동일한 위치 관계를 가지는 특징들을 그룹핑함으로써, 상기 제2 서브 픽셀에 대한 제2 서브 특징 맵들을 생성하는 단계; 및
    상기 제2 특징 맵들에 포함된 특징들 중 상기 제3 서브 픽셀과 동일한 위치 관계를 가지는 특징들을 그룹핑함으로써, 상기 제3 서브 픽셀에 대한 제3 서브 특징 맵들을 생성하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  16. 삭제
  17. 제15항에 있어서,
    상기 동작방법은,
    상기 제1 서브 특징 맵들 각각에 포함된 특징들과, 상기 제1 서브 픽셀과의 근접도에 기초하여, 상기 제1 서브 특징 맵들 각각의 가중치를 결정하는 단계;
    상기 제2 서브 특징 맵들 각각에 포함된 특징들과, 상기 제2 서브 픽셀과의 근접도에 기초하여, 상기 제2 서브 특징 맵들 각각의 가중치를 결정하는 단계; 및
    상기 제3 서브 특징 맵들 각각에 포함된 특징들과, 상기 제3 서브 픽셀과의 근접도에 기초하여, 상기 제3 서브 특징 맵들 각각의 가중치를 결정하는 단계를 더 포함하고,
    상기 서브 픽셀들 각각에 대한 결과 영상을 생성하는 단계는,
    상기 제1 내지 제3 서브 특징 맵들 각각에 가중치들을 적용하여, 상기 서브 픽셀들 각각에 대한 결과 영상을 생성하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  18. 제15항에 있어서,
    상기 서브 픽셀들 각각에 대한 결과 영상을 생성하는 단계는,
    상기 제1 서브 특징 맵들과 상기 제2 커널들에 포함된 제4 커널들과의 컨볼루션 연산을 수행하여, 상기 제1 서브 픽셀에 대한 제1 결과 영상을 생성하는 단계;
    상기 제2 서브 특징 맵들과 상기 제2 커널들에 포함된 제5 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제2 결과 영상을 생성하는 단계; 및
    상기 제3 서브 특징 맵들과 상기 제2 커널들에 포함된 제6 커널들과의 컨볼루션 연산을 수행하여, 상기 제3 서브 픽셀에 대한 제3 결과 영상을 생성하는 단계를 포함하고,
    상기 제1 결과 영상은 상기 제1 서브 픽셀에 대한 출력 값들을 포함하고, 상기 제2 결과 영상은 상기 제2 서브 픽셀에 대한 출력 값들을 포함하며, 상기 제3 결과 영상은 상기 제3 서브 픽셀에 대한 출력 값들을 포함하는, 영상 처리 장치의 동작방법.
  19. 삭제
  20. 제12항에 있어서,
    상기 동작방법은,
    상기 제2 영상을 이용하여, 제1 가상 영상을 생성하는 단계;
    상기 제1 가상 영상과 레이블 영상과의 U 값에 대한 제1 오차 및 V값에 대한 제2 오차를 계산하는 단계;
    상기 레이블 영상에 대한 서브 픽셀 렌더링을 수행하여, 제2 가상 영상을 생성하는 단계;
    상기 제2 가상 영상과 상기 제2 영상과의 Y 값에 대한 제3 오차를 계산하는 단계; 및
    상기 제1 내지 제3 오차를 최소화하도록 상기 딥 뉴럴 네트워크를 학습시키는 단계를 더 포함하는, 영상 처리 장치의 동작방법.
  21. 제20항에 있어서,
    상기 제2 영상 및 상기 제2 가상 영상은 제1 해상도를 가지고, 상기 레이블 영상 및 상기 제1 가상 영상은 제2 해상도를 가지며, 상기 제2 해상도는 상기 제1 해상도보다 큰, 영상 처리 장치의 동작방법.
  22. 제12항의 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체.
KR1020180159118A 2018-12-11 2018-12-11 영상 처리 장치 및 그 동작방법 KR102641423B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180159118A KR102641423B1 (ko) 2018-12-11 2018-12-11 영상 처리 장치 및 그 동작방법
PCT/KR2019/013301 WO2020122389A1 (ko) 2018-12-11 2019-10-10 영상 처리 장치 및 그 동작방법
US17/413,404 US11995795B2 (en) 2018-12-11 2019-10-10 Image processing device and method for operating same
EP19895723.5A EP3879520A4 (en) 2019-10-10 Image processing device and method for operating same
CN201980082417.8A CN113196380B (zh) 2018-12-11 2019-10-10 图像处理设备及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180159118A KR102641423B1 (ko) 2018-12-11 2018-12-11 영상 처리 장치 및 그 동작방법

Publications (2)

Publication Number Publication Date
KR20200071404A KR20200071404A (ko) 2020-06-19
KR102641423B1 true KR102641423B1 (ko) 2024-02-28

Family

ID=71075622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180159118A KR102641423B1 (ko) 2018-12-11 2018-12-11 영상 처리 장치 및 그 동작방법

Country Status (4)

Country Link
US (1) US11995795B2 (ko)
KR (1) KR102641423B1 (ko)
CN (1) CN113196380B (ko)
WO (1) WO2020122389A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240056575A1 (en) * 2020-12-22 2024-02-15 Intellectual Discovery Co., Ltd. Deep learning-based image coding method and device
WO2023033360A1 (ko) * 2021-09-02 2023-03-09 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2634127B2 (ja) * 1991-09-25 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ディスプレイ・システム及び方法
US7675524B1 (en) * 2007-05-17 2010-03-09 Adobe Systems, Incorporated Image processing using enclosed block convolution
CN104992654B (zh) 2011-07-29 2019-02-22 深圳云英谷科技有限公司 显示器的子像素排列及其呈现方法
KR102275712B1 (ko) * 2014-10-31 2021-07-09 삼성전자주식회사 렌더링 방법, 렌더링 장치 및 전자 장치
GB2543429B (en) * 2015-02-19 2017-09-27 Magic Pony Tech Ltd Machine learning for visual processing
US9524450B2 (en) 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
WO2017036531A1 (en) * 2015-09-03 2017-03-09 Ultra-D Coöperatief U.A. Measuring rotational position of lenticular lens sheet
KR20180004898A (ko) * 2016-07-05 2018-01-15 주식회사 와플앱스 딥러닝 기반의 이미지 처리 기술 및 그 방법
US10846836B2 (en) * 2016-11-14 2020-11-24 Ricoh Company, Ltd. View synthesis using deep convolutional neural networks
KR102474168B1 (ko) * 2017-03-17 2022-12-06 포틀랜드 스테이트 유니버시티 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션
KR102301232B1 (ko) * 2017-05-31 2021-09-10 삼성전자주식회사 다채널 특징맵 영상을 처리하는 방법 및 장치

Also Published As

Publication number Publication date
WO2020122389A1 (ko) 2020-06-18
CN113196380B (zh) 2023-03-28
US11995795B2 (en) 2024-05-28
EP3879520A1 (en) 2021-09-15
KR20200071404A (ko) 2020-06-19
US20220067880A1 (en) 2022-03-03
CN113196380A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN110084874B (zh) 对于三维模型的图像风格迁移
KR102465969B1 (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
CN110383337A (zh) 可变速率着色
US20190188539A1 (en) Electronic apparatus and control method thereof
RU2312404C2 (ru) Аппаратное ускорение графических операций при построении изображений на основе пиксельных подкомпонентов
CN111754517A (zh) 使用神经网络的交互式图像抠图
US20190056854A1 (en) Developing a non-rectangular user interface
CN105046736A (zh) 图形处理系统
US11074671B2 (en) Electronic apparatus and control method thereof
KR102641423B1 (ko) 영상 처리 장치 및 그 동작방법
US9799102B2 (en) Smoothing images using machine learning
US6445395B1 (en) Method and apparatus for radiometrically accurate texture-based lightpoint rendering technique
KR20200015095A (ko) 영상 처리 장치 및 그 동작방법
US20200388086A1 (en) Blend shape system with dynamic partitioning
CN110383339A (zh) 用于图像渲染的索引值混合
CN103686110A (zh) 一种rgb转rgbw的方法及装置
US20230046431A1 (en) System and method for generating 3d objects from 2d images of garments
EP2992512B1 (en) Anti-aliasing for geometries
US10275925B2 (en) Blend shape system with texture coordinate blending
Stasik et al. Extensible implementation of reliable pixel art interpolation
JP2010068059A (ja) 映像データ生成プログラム
Inzerillo et al. Optimization of cultural heritage virtual environments for gaming applications
RU2779609C2 (ru) Электронное устройство и способ управления им
KR20230153223A (ko) 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체
KR20240025440A (ko) 3d 영상을 표시하기 위한 전자 장치 및 전자 장치의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right