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

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

Info

Publication number
KR20200008343A
KR20200008343A KR1020180082375A KR20180082375A KR20200008343A KR 20200008343 A KR20200008343 A KR 20200008343A KR 1020180082375 A KR1020180082375 A KR 1020180082375A KR 20180082375 A KR20180082375 A KR 20180082375A KR 20200008343 A KR20200008343 A KR 20200008343A
Authority
KR
South Korea
Prior art keywords
high resolution
resolution image
feature information
neural network
convolutional neural
Prior art date
Application number
KR1020180082375A
Other languages
English (en)
Other versions
KR102570562B1 (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 KR1020180082375A priority Critical patent/KR102570562B1/ko
Priority to EP19838734.2A priority patent/EP3790272A4/en
Priority to CN201980047752.4A priority patent/CN112913226B/zh
Priority to US17/256,560 priority patent/US11871144B2/en
Priority to PCT/KR2019/008779 priority patent/WO2020017871A1/ko
Publication of KR20200008343A publication Critical patent/KR20200008343A/ko
Application granted granted Critical
Publication of KR102570562B1 publication Critical patent/KR102570562B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • H04N7/0132Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the field or frame frequency of the incoming video signal being multiplied by a positive integer, e.g. for flicker reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0247Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
    • 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/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/08Details of image data interface between the display device controller and the data line driver circuit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter

Landscapes

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

Abstract

고해상도 동영상을 생성하는 영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 제1 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하고, 상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하며, 이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링을 제거하고, 상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거하는, 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작방법{Image processing apparatus and operating method for the same}
다양한 실시예들은 고해상도 동영상을 생성하는 영상 처리 장치 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 고해상도 영상에 존재하는 플리커링(flickering)을 제거하는 영상 처리 장치 및 그 동작방법에 관한 것이다.
저해상도 영상들을 이용하여, 고해상도 동영상을 생성하는 경우, 플리커링(flickering)이 발생하는 문제가 있다. 플리커링은 프레임에 포함된 동일한 오브젝트 내의 패턴(또는 텍스쳐)이 프레임에 따라 일정하게 유지되지 않고, 떨리거나 깜빡거리는 현상을 의미한다. 이러한 플리커링은 저해상도 영상들이 원천적으로 포함하고 있는 플리커링으로 인해 발생하거나, 저해상도 영상들을 고해상도 동영상으로 업 샘플링하는 과정에서 발생할 수 있다.
종래에는, 저해상도 영상을 이용하여, 고해상도 동영상을 생성하는 경우, 플리커링을 제거하기 위하여, 프레임 간 움직임을 추정 및 보상하는 처리를 수행하였다. 그러나, 프레임 간 움직임을 추정 및 보상하는 처리는, 매우 복잡하며, 정확한 움직임 추정이 어렵다는 문제점이 있다. 또한, 현재 프레임에서 생성된 고해상도 영상이 다음 프레임의 고해상도 영상 생성시에 사용되지 않아, 생성된 고해상도 동영상에 포함되는 프레임들 간의 상관관계가 약해진다는 문제점이 있다.
다양한 실시예들은, 컨볼루션 뉴럴 네트워크를 이용하여, 고해상도 영상을 생성하고, 고해상도 영상에 존재하는 플리커링을 제거하며, 생성된 현재 프레임의 고해상도 영상을 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거할 수 있는 영상 처리 장치 및 그 동작방법을 제공할 수 있다.
일 실시예에 따른 고해상도 동영상을 생성하는 영상 처리 장치는, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 제1 컨볼루션 뉴럴 네트워크(CNN;onvolution neural network)를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하고, 상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하며, 이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링(flickering)을 제거하고, 상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거할 수 있다.
일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크는, N개의 컨볼루션 레이어들을 포함하고, 상기 프로세서는, 상기 현재 프레임의 저해상도 영상을 상기 제1 컨볼루션 뉴럴 네트워크로 입력하여, 상기 N개의 컨볼루션 레이어들 각각에서, 하나 이상의 커널들과 컨볼루션 연산을 수행함으로써, 상기 특징 정보를 추출할 수 있다.
일 실시예에 따른 프로세서는, 상기 특징 정보에 바이 리니어(bileanear) 보간 방법, 바이 큐빅(bicubic) 보간 방법, 및 컨볼루션(convolution) 보간 방법 중 적어도 하나를 적용하여, 상기 제1 고해상도 영상을 생성할 수 있다.
일 실시예에 따른 프로세서는, 상기 현재 프레임의 제1 고해상도 영상과 상기 이전 프레임의 고해상도 영상을 제2 컨볼루션 뉴럴 네트워크로 입력하여, M개의 컨볼루션 레이어들 각각에서, 하나 이상의 커널들과 컨볼루션 연산을 수행함으로써, 상기 제1 고해상도 영상의 플리커링을 제거할 수 있다.
일 실시예에 따른 프로세서는, 상기 제2 고해상도 영상에 대응하는 제1 특징 정보와 현재 프레임의 실제 고해상도 영상에 대응하는 제2 특징 정보를 추출하고, 상기 제1 특징 정보 및 제2 특징 정보에 기초하여, 상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나를 업데이트시킬 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나에 포함되는 하나 이상의 커널들의 가중치 값들을 조정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 특징 정보와 제2 특징 정보의 차이가 작아지도록, 상기 제1 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들의 가중치 값들을 조정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 특징 정보와 상기 제2 특징 정보의 제1 차이값, 및 생성된 이전 프레임의 고해상도 영상에 대응하는 제3 특징 정보와 이전 프레임의 실제 고해상도 영상에 대응하는 제4 특징 정보의 제2 차이값을 연산하고, 제1 차이값과 제2 차이값의 차이가 작아지도록, 상기 제2 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들의 가중치 값들을 조정할 수 있다.
일 실시예에 따른 메모리는, 상기 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 저장할 수 있다.
일 실시예에 따른 프로세서는, 상기 메모리에 저장된 현재 프레임의 특징 정보에 기초하여, 상기 제1 고해상도 영상을 생성하고, 상기 제1 고해상도 영상을 이용하여, 상기 다음 프레임의 고해상도 영상의 플리커링을 제거할 수 있다.
일 실시예에 따른 고해상도 동영상을 생성하는 영상 처리 장치의 동작방법은, 제1 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하는 단계, 상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하는 단계, 이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링(flickering)을 제거하는 단계, 및 상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거하는 단계를 포함할 수 있다.
일 실시예에 따른 컴퓨터 프로그램 제품은, 제1 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하는 단계, 상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하는 단계, 이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링(flickering)을 제거하는 단계, 및 상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거하는 단계를 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치는, 현재 프레임의 고해상도 영상을 다음 프레임의 고해상도 영상의 플리커링을 제거하는데 이용함으로써, 프레임들 간의 상관관계(correlation)가 강화될 수 있다.
일 실시예에 따른 영상 처리 장치는 영상의 플리커링을 제거하기 위하여, 복잡하고 어려운 프레임들 간의 움직임 추정(motion estimation) 및 움직임 보상(motion compensation) 처리를 생략할 수 있다.
일 실시예에 따른 영상 처리 장치는, 생성된 고해상도 영상 대신 특징 정보를 저장함으로써, 메모리를 저감시킬 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치가 고해상도 동영상을 생성하는 과정을 나타내는 도면이다.
도 2는 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따른 영상 처리 장치가 고해상도 영상을 생성하고 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 4는 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크의 구조를 나타내는 도면이다.
도 5는 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크에 포함되는 제1 컨볼루션 레이어의 입력 데이터, 커널들, 출력 데이터를 나타내는 도면이다.
도 6은 도 5의 제1 컨볼루션 레이어에서 컨볼루션 연산이 처리되는 과정을 설명하기 위해 참조되는 도면이다.
도 7은 일 실시예에 따른 영상 처리 장치가 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 8은 일 실시예에 따른 영상 처리 장치가 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 9는 일 실시예에 따른 영상 처리 장치가 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 10 및 도 11은 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크 및 제2 컨볼루션 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면들이다.
도 12는 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 13은 일 실시예에 따른 프로세서(120)의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 영상 처리 장치가 고해상도 동영상을 생성하는 과정을 나타내는 도면이다.
일 실시예에 따른 영상 처리 장치(100)는 현재 프레임의 저해상도 영상(L(t))을 이용하여 현재 프레임의 제1 고해상도 영상(S’(t))을 생성할 수 있다. 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하고, 추출된 특징 정보를 업 스케일링하여, 제1 고해상도 영상(S’(t))을 생성할 수 있다.
한편, 제1 고해상도 영상(S’(t))은 플리커링(flickering)이 제거되지 않은 고해상도 영상이다. 플리커링은, 프레임에 포함된 동일한 오브젝트 내의 패턴(또는 텍스쳐)이 프레임에 따라 일정하게 유지되지 않고, 떨리거나 깜빡거리는 현상을 의미한다.
일 실시예에 따른 영상 처리 장치(100)는 이전 프레임의 고해상도 영상(S(t-1))과 현재 프레임의 제1 고해상도 영상(S’(t))을 이용하여, 제1 고해상도 영상(S’(t))의 플리커링을 제거한 제2 고해상도 영상(S(t))을 생성할 수 있다. 이때, 영상 처리 장치(100)는 제2 컨볼루션 뉴럴 네트워크를 이용하여, 제1 고해상도 영상(S’(t))과 이전 프레임의 고해상도 영상(S(t-1))에 컨볼루션 연산을 수행하여, 제1 고해상도 영상(S’(t))의 플리커링을 제거할 수 있다.
또는, 영상 처리 장치(100)는 제1 고해상도 영상(S’(t))과 이전 프레임의 고해상도 영상(S(t-1))을 이용하여, 움직임 추정 및 보상을 수행하고, 움직임이 보상된 영상과 제1 고해상도 영상(S’(t))을 이용하여, 플리커링이 제거된 제2 고해상도 영상(S(t))을 생성할 수도 있다.
한편, 영상 표시 장치(100)는 생성된 제2 고해상도 영상(S(t))을 이용하여, 다음 프레임의 고해상도 영상(S’(t+1))의 플리커링을 제거할 수 있다. 이에 따라, 현재 프레임의 플리커링이 제거된 고해상도 영상 (S(t))과 다음 프레임의 플리커링이 제거된 고해상도 영상(S(t+1)) 사이의 상관 관계가 강화될 수 있다.
도 2는 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 2를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(CNN: Convolution Neural Network)를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출할 수 있다(S210).
예를 들어, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크에 포함되는 복수의 컨볼루션 레이어들 각각에서, 입력된 영상을 하나 이상의 커널들 또는 필터들과 컨볼루션하여, 특징 맵(특징 정보)을 생성할 수 있다. 이때, 초기 컨볼루션 레이어들에서 생성되는 특징 맵들은 낮은 레벨의 특징들을 포함할 수 있으며, 후기 컨볼루션 레이어들로 갈수록 특징 맵들은 점진적으로 복잡한 특징들을 포함할 수 있다.
영상 처리 장치(100)는 추출된 특징 정보에 기초하여, 제1 고해상도 영상을 생성할 수 있다(S220).
예를 들어, 영상 처리 장치(100)는 추출된 특징 정보를 업 스케일링함으로써, 제1 고해상도 영상을 생성할 수 있다. 이때, 영상 처리 장치(100)는 추출된 특징 정보에 바이 리니어 보간 방법, 바이 큐빅 보간 방법, 컨볼루션 보간 방법 중 적어도 하나를 적용하여, 제1 고해상도 영상을 생성할 수 있다. 다만, 이에 한정되지 않는다.
영상 처리 장치(100)는 제1 고해상도 영상의 플리커링을 제거할 수 있다(S230).
영상 처리 장치(100)는 제2 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 제1 고해상도 영상의 플리커링을 제거할 수 있다. 이때, 제2 컨볼루션 뉴럴 네트워크에는 이전 프레임에서 처리된 플리커링이 제거된 고해상도 영상들과 제1 고해상도 영상이 입력될 수 있으며, 플리커링이 제거된 현재 프레임의 제2 고해상도 영상이 출력될 수 있다.
또는, 영상 처리 장치(100)는 이전 프레임들의 특징 정보들 각각을 업 스케일링하여, 이전 프레임들의 고해상도 영상들을 생성하고, 생성된 이전 프레임들의 고해상도 영상들과 제1 고해상도 영상을 제2 컨볼루션 뉴럴 네트워크에 입력할 함으로써, 플리커링이 제거된 현재 프레임의 제2 고해상도 영상을 생성할 수 있다.
영상 처리 장치(100)는 플리커링이 제거된 제2 고해상도 영상 및 추출된 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거할 수 있다(S240).
영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크에서 추출된 특징 정보 또는 제2 컨볼루션 뉴럴 네트워크에서 출력된 플리커링이 제거된 제2 고해상도 영상을 메모리에 저장할 수 있다. 영상 처리 장치(100)는 메모리에 저장된 현재 프레임의 고해상도 영상 또는 특징 정보를 다음 프레임의 고해상도 영상의 플리커링을 제거하는데 이용할 수 있다.
도 3은 일 실시예에 따른 영상 처리 장치가 고해상도 영상을 생성하고 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 3을 참조하면, 영상 처리 장치(100)는 고해상도 영상 생성부(310) 및 제2 컨볼루션 뉴럴 네트워크(340)를 포함할 수 있다. 고해상도 영상 생성부(310)는 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)를 포함할 수 있다. 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)를 이용하여, 저해상도 영상으로부터 고해상도 영상을 생성할 수 있다. 제1 컨볼루션 뉴럴 네트워크(320)는 N개의 컨볼루션 레이어들(Conv_1, Conv_2, … ,Conv_N)을 포함할 수 있다.
이하, 도 4 내지 도 6을 참조하여, 제1 컨볼루션 뉴럴 네트워크(320)의 동작을 구체적으로 설명하기로 한다.
도 4는 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크의 구조를 나타내는 도면이다.
도 4를 참조하면, 제1 컨볼루션 뉴럴 네트워크(320)는, 입력 데이터(351, 예를 들어, 저해상도 영상)가 입력되고, N개의 컨볼루션 레이어들(352)을 통과하여, 출력 데이터(353, 예를 들어, 특징 정보)가 출력되는 구조를 가진다. 이때, 제1 컨볼루션 뉴럴 네트워크(320)는 2개 이상의 컨볼루션 레이어를 포함하는 딥 컨볼루션 뉴럴 네트워크일 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320)를 이용하여, 저해상도 영상으로부터 테두리, 선, 색 등과 같은 “특징들(features)”을 추출할 수 있다. 제1 컨볼루션 뉴럴 네트워크(320)에 포함되는 N개의 컨볼루션 레이어들(352) 각각에서는 데이터를 수신하고, 수신된 데이터를 처리하여, 출력 데이터를 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 컨볼루션 레이어(Conv_1,321)에 입력된 영상(예를 들어, 저해상도 영상)을 하나 이상의 커널들 또는 필터들과 컨볼루션하여, 제1 특징 맵을 생성할 수 있다. 또한, 생성된 제1 특징 맵을 제2 컨볼루션 레이어(Conv_2,322)로 입력하여, 제2 컨볼루션 레이어(Conv_2,322)에서 입력된 제1 특징 맵을 하나 이상의 커널들 또는 필터들과 컨볼루션하여, 제2 특징 맵을 생성할 수 있다.
제1 컨볼루션 뉴럴 네트워크(320)의 초기 컨볼루션 레이어들은 입력 영상으로부터 에지들 또는 그레디언트들과 같은 낮은 레벨의 특징들을 추출하도록 동작될 수 있다. 후기 컨볼루션 레이어들로 갈수록 점진적으로 복잡한 특징들(예를 들어, 눈, 코, 입, 얼굴 등)을 추출할 수 있다.
제1 컨볼루션 뉴럴 네트워크(320) 내에서 특징 맵을 입력받고 출력하는 하나 이상의 컨볼루션 레이어들은 히든(hidden) 레이어들(예를 들어, 히든 컨볼루션 레이어들)일 수 있다. 또한, 제1 컨볼루션 뉴럴 네트워크(320)에서는 특징 맵에 하나 이상의 커널들을 적용하여 컨볼루션하는 연산 이외에 다른 프로세싱 연산들이 수행될 수 있다. 예를 들어, 활성화 함수(activation function), 풀링(pooling) 등의 연산들이 수행될 수 있다. 영상 처리 장치(100)는 컨볼루션 연산을 수행한 결과 추출된 특징 맵의 값들을 특징이 “있다 또는 없다”의 비선형적인 값으로 바꿔주기 위해 활성화 함수를 적용할 수 있다. 이때, ReLu 함수가 사용될 수 있으나, 이에 한정되지 않는다. 또한, 영상 처리 장치(100)는 추출된 특징 맵의 사이즈를 줄이기 위해 서브 샘플링(풀링)할 수 있다. 이때, max pooling, average pooling, L2-norm pooling 등을 사용할 수 있으나, 이에 한정되지 않는다.
도 5는 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크에 포함되는 제1 컨볼루션 레이어의 입력 데이터, 커널들, 출력 데이터를 나타내는 도면이다.
도 5를 참조하면, 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크는 N개의 컨볼루션 레이어들(352)을 포함할 수 있으며, 이하에서는 첫 번째 컨볼루션 레이어를 제1 컨볼루션 레이어(Conv_1)로 지칭하기로 한다.
제1 컨볼루션 레이어(Conv_1)에서의 입력 데이터(510, 제1 입력 데이터)는 일 실시예에 따른 저해상도 영상일 수 있으며, 입력 데이터(510)의 사이즈는 w*h*C(가로*세로*채널)일 수 있다. 예를 들어, 저해상도 영상의 사이즈는 w*h일 수 있으며, 채널(C)의 개수는 3개(예를 들어, R, G, B)일 수 있으나, 이에 한정되지 않는다. 또한, 제1 컨볼루션 레이어(Conv_1)에서의 하나 이상의 커널들(530, 제1 커널들)은 Kw*Kh의 사이즈를 가질 수 있으며, 커널들의 개수는 C*D(입력 채널의 개수*출력 채널의 개수)개일 수 있다.
제1 컨볼루션 레이어(Conv_1)에서, 제1 입력 데이터(510)와 제1 커널들(530)을 컨볼루션 연산하면, 제1 출력 데이터(540)가 생성될 수 있다. 이때, 제1 출력 데이터(540)는 하나 이상의 특징 맵들을 포함할 수 있으며, 제1 출력 데이터(540)의 사이즈는, W*H*D일 수 있으며, 특징 맵 하나의 사이즈는 W*H이고, 특징 맵의 개수(또는 채널의 개수)가 D개일 수 있다.
도 6은 도 5의 제1 컨볼루션 레이어에서 컨볼루션 연산이 처리되는 과정을 설명하기 위해 참조되는 도면이다.
도 6에서는 설명의 편의를 위해, 제1 컨볼루션 레이어(Conv_1)의 입력 데이터(610)는 5*5의 크기를 가지며, 채널의 개수는 n인 것으로 가정한다. 또한, 입력 데이터(610)에 적용되는 커널의 크기는 3*3*n 이며, 커널의 개수는 D개인 것으로 가정한다. 이때, n은 커널의 깊이로서 입력 데이터(610)의 채널의 개수와 동일한 값을 가진다. 또한, 입력 데이터(610)의 채널의 개수는 현재 레이어 이전의 레이어에서 사용된 커널의 개수에 따라 결정될 수 있다. 즉, 하나의 커널은 3*3 크기를 가지는 n개의 서브 커널들(631, 632,…,639)을 포함하는 것으로 볼 수 있으며, 이때, n개의 서브 커널들(621, 622,…,629)은 입력 데이터(610)의 n개의 각 채널들에 대응될 수 있다.
도 6을 참조하면, 입력 데이터(610)의 좌측 상단으로부터 우측 하단까지 제1 커널(630)에 포함되는 서브 커널들(631, 632,…,639)을 적용하여, 입력 데이터(610)의 특징을 추출하는 과정이 도시되어 있다. 예를 들어, 입력 데이터(610)의 좌측 상단 3*3*n 영역(611, 612, …, 619)에 포함되는 픽셀들에 제1 커널(3*3*n)(630)을 적용하여 컨볼루션 연산을 수행할 수 있다. 즉, 좌측 상단 3*3*n 영역(611, 612,…, 619)에 포함되는 픽셀 값들과 제1 커널(630)에 포함되는 가중치 값들을 곱하여 합산함으로써, 좌측 상단 3*3*n 영역에 매핑되는 하나의 픽셀값(641)을 생성할 수 있다.
또한, 입력 데이터(610)의 좌측 상단 3*3*n 영역(611, 612, …, 619)에서 우측으로 한 픽셀 이동시킨 3*3*n 영역(621, 622, …,629)에 포함되는 픽셀 값들과 제1 커널(630)에 포함되는 가중치 값들을 곱하여 합산함으로써, 3*3*n 영역(621, 622, …,629)에 매핑되는 하나의 픽셀값(642)을 생성할 수 있다. 동일한 방식으로, 입력 데이터(610) 내에서 컨볼루션 연산의 대상을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 스캔하면서, 제1 커널(630)에 포함되는 가중치 값들을 곱하여 합산함으로써, 픽셀값들이 생성된다. 이에 따라, 3*3의 특징 맵(640, 출력 데이터)이 출력될 수 있다. 이때, 컨볼루션 연산의 대상이 되는 데이터는 한 픽셀씩 이동하면서 스캔될 수도 있으나, 2개 픽셀 또는 그 이상의 픽셀 개수만큼 이동하면서 스캔될 수도 있다. 스캔 과정에서 입력 데이터가 이동하는 픽셀의 개수를 스트라이드(stride)라고 하며, 스트라이드의 크기에 따라 출력되는 특징 맵의 크기가 결정될 수 있다.
도 6을 참조하면, 입력 데이터(610)는 5*5의 크기를 가지나, 출력 데이터(640)는 3*3의 크기를 가지며, 입력 데이터의 크기보다 작아진다. 컨볼루션 뉴럴 네트워크는 여러 개의 컨볼루션 레이어들을 포함하며, 여러 개의 컨볼루션 레이어들을 통과하면서, 데이터의 크기가 계속해서 작아지게 된다. 이때, 특징이 충분하게 추출되기 전에 데이터의 크기가 작아지면, 입력 데이터의 특징이 유실될 수 있으며, 이를 방지하기 위하여 패딩(padding)이 수행될 수 있다. 패딩은 출력 데이터가 작아지는 것을 방지하기 위하여, 입력 데이터의 가장자리에 특정 값(예를 들어, ‘0’)을 주어, 입력 데이터의 사이즈를 증가시키는 것을 의미한다. 다만, 이에 한정되지 않는다.
한편, 도 6에는 제1 커널(630)에 대한 컨볼루션 연산 결과만 도시하였지만, D개의 커널에 대해서, 컨볼루션 연산을 수행하는 경우, 3*3*D의 특징 맵이 출력될 수 있다. 즉, 커널의 개수(D)에 따라, 출력 데이터의 채널의 개수(D)가 결정되며, 이에 따라 다음 레이어에서의 입력 데이터의 채널의 개수도 결정될 수 있다.
다시 도 3을 참조하면, 제1 컨볼루션 뉴럴 네트워크(320)는 N개의 컨볼루션 레이어들(321, 322,…, 329)을 포함하며, N개의 컨볼루션 레이어들(321, 322,…, 329) 각각은 하나 이상의 커널들을 포함할 수 있다. 예를 들어, 제1 컨볼루션 레이어(Conv_1, 321)의 입력 데이터의 사이즈는 w*h*C이며, w는 입력 데이터의 가로, h는 입력 데이터의 세로, C는 입력 데이터의 채널의 개수(깊이)를 나타낸다. 제1 컨볼루션 레이어(Conv_1, 321)의 커널들의 사이즈는 K*K*C이며, 커널의 개수는 C1이다. 이때, K는 커널의 가로 및 세로를 나타내고, C는 커널의 깊이를 나타낸다. 또한, 제1 컨볼루션 레이어(Conv_1, 321)에서 컨볼루션 연산을 수행한 결과 출력되는 특징 맵(출력 데이터)의 사이즈는 w*h*C1일 수 있다. 이때, 입력 데이터의 가로 및 세로와 출력 데이터의 가로 및 세로를 동일하게 하기 위해서, 패딩(padding)이 수행될 수 있으나 이에 한정되지 않는다. 또한, 제2 컨볼루션 레이어(Conv_2, 322)의 입력 데이터의 사이즈는 제1 컨볼루션 레이어(Conv_1, 321)의 출력 데이터의 사이즈와 동일하며, 제2 컨볼루션 레이어(Conv_2, 322)의 커널들의 사이즈는 K*K*C1이며, 이때, 커널의 깊이는 입력 데이터의 채널의 개수(C1) 및 이전 레이어(제1 컨볼루션 레이어(Conv_1, 321))의 커널의 개수(C1)과 동일할 수 있다. 또한, 커널의 개수는 C2이고, 이에 따라, 제2 컨볼루션 레이어(Conv_2, 322)에서 컨볼루션 연산을 수행한 결과 출력되는 제2 특징 맵(출력 데이터)의 사이즈는 w*h*C2일 수 있다. 이와 같은 과정을 N개의 컨볼루션 레이어에서 반복하게 되면, 최종 출력되는 특징 맵(출력 데이터)의 사이즈는 w*h*CN일 수 있으며, CN은 N번째 컨볼루션 레이어(Conv_N, 329)의 커널들의 개수를 나타낸다.
일 실시예에 따른 영상 처리 장치(100)는 N번째 컨볼루션 레이어(Conv_N, 329)에서 출력된 특징 맵(특징 정보)에 기초하여, 제1 고해상도 영상을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 w*h*CN 크기를 가지는 특징 맵을 업 스케일링하여, W*H*C의 크기를 가지는 제1 고해상도 영상을 생성할 수 있다. 이때, W와 H는 각각 w와 h보다 크거나 같다. 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크에서 추출된 특징 맵(특징 정보)에 바이 리니어(bileanear) 보간 방법, 바이 큐빅(bicubic) 보간 방법 및 컨볼루션 보간 방법 중 적어도 하나를 적용하여, 상기 제1 고해상도 영상을 생성할 수 있다. 다만, 이에 한정되지 않는다. 한편, 바이 리니어(bileanear) 보간 방법, 바이 큐빅(bicubic) 보간 방법, 컨볼루션 보간 방법은 이미 잘 알려진 기술로 구체적인 설명은 생략하기로 한다.
생성된 제1 고해상도 영상(S’(t))은 플리커링을 포함한다. 영상 처리 장치(100)는 현재 시점(t) 이전의 프레임들에서 처리된 플리커링이 제거된 고해상도 영상들(S(t-1),…,S(t-(n-1)))과 현재 프레임의 플리커링이 포함된 고해상도 영상(제1 고해상도 영상, S’(t))에 기초하여, 제1 고해상도 영상(S’(t))에서 플리커링을 제거한 제2 고해상도 영상(S(t))을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 현재 시점(t) 이전의 프레임들을 처리할 때, 플리커링이 제거된 고해상도 영상들(S(t-1),…,S(t-(n-1)))을 메모리에 저장할 수 있다.
영상 표시 장치(100)는 제1 고해상도 영상(S’(t))의 플리커링을 제거하기 위하여, 제2 컨볼루션 뉴럴 네트워크(340)를 이용할 수 있으며, 제2 컨볼루션 뉴럴 네트워크(340)는 M개의 컨볼루션 레이어들을 포함할 수 있다.
현재 시점(t) 이전의 프레임들에서 처리된 플리커링이 제거된 고해상도 영상들(S(t-1),…,S(t-(n-1)))과 현재 프레임의 플리커링이 포함된 고해상도 영상(제1 고해상도 영상, S’(t))은 제2 컨볼루션 뉴럴 네트워크(340)로 입력되어, M개의 컨볼루션 레이어들(Conv_1’, Conv_2’, …, Conv_M’)을 통과하면서 컨볼루션 연산이 수행될 수 있다. 제2 컨볼루션 뉴럴 네트워크(340)의 제1 컨볼루션 레이어(Conv_1’)로 입력되는 데이터는, n개의 고해상도 영상들(현재 프레임의 플리커링이 포함된 고해상도 영상(S’(t))과 이전 프레임들에서 처리된 플리커링이 제거된 고해상도 영상들 (S(t-1),…,S(t-(n-1))))일 수 있다. 이때, 입력 데이터의 사이즈는 W*H*n*C이고, 이때, W와 H는 고해상도 영상들의 가로 및 세로를 나타내고, n은 고해상도 영상들의 개수를 나타내며, C는 고해상도 영상 하나에 포함되는 채널의 개수를 나타낸다. 제1 컨볼루션 레이어의 커널들의 사이즈는 K*K*n*C이며, 커널의 개수는 C’1이다. 이때, K는 커널의 가로 및 세로를 나타내고, n*C는 커널의 깊이를 나타낸다. 또한, 제1 컨볼루션 레이어에서 컨볼루션 연산을 수행한 결과 출력되는 특징 맵(출력 데이터)의 사이즈는 W*H*C’1일 수 있다. 이때, 입력 데이터의 가로 및 세로와 출력 데이터의 가로 및 세로를 동일하게 하기 위해서, 패딩(padding)이 수행될 수 있으나 이에 한정되지 않는다.
제2 컨볼루션 뉴럴 네트워크(340)의 컨볼루션 레이어들(Conv_1’, Conv_2’, …, Conv_M’)에서 수행되는 컨볼루션 연산은 제1 컨볼루션 뉴럴 네트워크에서 설명한 방식과 동일하므로, 구체적인 설명은 생략하기로 한다. 다만, 제2 컨볼루션 뉴럴 네트워크(340)에는 복수의 영상이 입력되므로, 제2 컨볼루션 뉴럴 네트워크(340)에서 수행되는 컨볼루션 연산은 3차원 연산일 수 있다.
또한, 제2 컨볼루션 레이어(Conv_2’)의 입력 데이터의 사이즈는 제1 컨볼루션 레이어(Conv_1’)의 출력 데이터의 사이즈와 동일하며, 제2 컨볼루션 레이어의 커널들의 사이즈는 K*K*C’1이며, 이때, 커널의 깊이(C’1)는 입력 데이터의 채널의 개수(C’1) 및 이전 레이어(제1 컨볼루션 레이어)의 커널의 개수(C’1)과 동일할 수 있다. 또한, 커널의 개수는 C’2이고, 이에 따라, 제2 컨볼루션 레이어에서 컨볼루션 연산을 수행한 결과 출력되는 제2 특징 맵(출력 데이터)의 사이즈는 W*H*C’2일 수 있다. 이와 같은 과정을 M개의 컨볼루션 레이어들(Conv_1’, Conv_2’, …, Conv_M’)에서 반복하게 되면, 최종 출력되는 특징 맵(출력 데이터)의 사이즈는 W*H*C’M 일 수 있으며, C’M 은 M번째 컨볼루션 레이어의 커널들의 개수를 나타낸다. 이때, M번째 컨볼루션 레이어의 커널들의 개수를 고해상도 영상의 채널의 개수인 C와 동일할 수 있으며, 최종 출력되는 데이터의 사이즈는 W*H*C일 수 있다. 이때, 최종 출력되는 데이터는 현재 프레임의 플리커링이 제거된 고해상도 영상(S(t))일 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 현재 프레임에서 생성된 플리커링이 제거된 고해상도 영상(S(t))을 메모리에 저장할 수 있으며, 메모리에 저장된 고해상도 영상(S(t))은 다음 프레임의 고해상도 영상(S’(t+1))의 플리커링을 제거하는 데 이용될 수 있다. 예를 들어, 영상 처리 장치(100)는 다음 프레임의 영상을 처리하는 경우, 제2 컨볼루션 뉴럴 네트워크(340)로 현재 프레임의 고해상도 영상(S(t))을 입력할 수 있다. 다만, 이에 한정되지 않는다.
도 7은 일 실시예에 따른 영상 처리 장치가 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 7을 참조하면, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)를 이용하여, 저해상도 영상(L(t))으로부터 고해상도 영상을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 컨볼루셔 뉴럴 네트워크(320)를 이용하여, 현재 프레임 영상의 특징 맵(특징 정보, F(t))을 추출하고, 특징 맵(특징 정보)을 업 스케일링하여, 제1 고해상도 영상(S’(t))을 생성할 수 있다.
제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)는 도 3의 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)와 동일하므로 구체적인 설명은 생략하기로 한다.
또한, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320)에서 추출된 현재 프레임의 특징 맵(F(t))을 메모리에 저장할 수 있으며, 메모리에 저장된 현재 프레임의 특징 맵(F(t))은 다음 프레임(t+1)의 고해상도 영상(S’(t+1))의 플리커링을 제거하는 데 이용될 수 있다. 예를 들어, 영상 처리 장치(100)는 다음 프레임의 영상을 처리하는 경우, 현재 프레임의 특징 맵(F(t))을 업 스케일링시킨 고해상도 영상(S’(t))을 제2 컨볼루션 뉴럴 네트워크(340)로 입력할 수 있다. 다만, 이에 한정되지 않는다.
또한, 영상 처리 장치(100)는 제2 컨볼루션 뉴럴 네트워크(340)를 이용하여, 생성된 고해상도 영상(S’(t))의 플리커링을 제거할 수 있다. 영상 처리 장치(100)는 현재 시점 이전의 프레임들에서 추출된 특징 맵(특징 정보)들(F(t-1), …,F(t-(n-1)))에 기초하여, 이전 프레임들의 고해상도 영상들(S’(t-1), …,S’(t-(n-1)))을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 현재 시점(t) 이전의 프레임들을 처리할 때, 제1 컨볼루션 뉴럴 네트워크(320)에서 추출된 특징 맵들(F(t-1), …,F(t-(n-1)))을 메모리에 저장할 수 있다. 이때, 이전 프레임들의 고해상도 영상들(S(t-1),…, S(t-(n-1)))이 아닌 특징 맵들(F(t-1), …,F(t-(n-1)))을 메모리에 저장함으로써, 메모리의 크기를 줄일 수 있다.
영상 처리 장치(100)는 w*h*CN 크기를 가지는 이전 프레임들의 특징 맵들(F(t-1), …,F(t-(n-1))) 각각을 업 스케일링하여, W*H*C의 크기를 가지는 고해상도 영상들(S’(t-1),…, S’(t-(n-1)))을 생성할 수 있다. 이때, 이때, W와 H는 각각 w와 h보다 크거나 같다. 또한, 생성된 이전 프레임들의 고해상도 영상들(S’(t-1),…, S’(t-(n-1)))은 플리커링이 포함된 고해상도 영상들일 수 있다.
영상 처리 장치(100)는 이전 프레임들의 플리커링이 포함된 고해상도 영상들(S’(t-1),…, S’(t-(n-1)))과 현재 프레임의 플리커링이 포함된 제1 고해상도 영상(S’(t))을 제2 컨볼루션 뉴럴 네트워크(340)에 입력하여, 제1 고해상도 영상(S’(t))에서 플리커링을 제거한 제2 고해상도 영상(S(t))을 생성할 수 있다.
도 8은 일 실시예에 따른 영상 처리 장치가 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 8을 참조하면, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)를 이용하여, 저해상도 영상(L(t))으로부터 고해상도 영상(S’(t))을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 컨볼루셔 뉴럴 네트워크(320)를 이용하여, 현재 프레임 영상의 특징 맵(특징 정보)을 추출하고, 특징 맵을 업 스케일링하여, 제1 고해상도 영상(S’(t))을 생성할 수 있다.
제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)는 도 3의 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)와 동일하므로 구체적인 설명은 생략하기로 한다.
한편, 영상 처리 장치(100)는 움직임 추정/보상부(810)를 포함할 수 있다. 움직임 추정/보상부(810)는 현재 시점(t) 이전의 프레임들에서 처리된 플리커링이 제거된 고해상도 영상들(S(t-1),…,S(t-(n-1)))과 현재 프레임의 제1 고해상도 영상(S’(t))에 기초하여, 움직임 추정 및 보상을 수행할 수 있다.
움직임 추정/보상부(810)는 움직임 추정 및 보상을 수행하여, 이전 프레임들의 고해상도 영상들(S(t-1),…,S(t-(n-1)))을 현재 시점으로 와핑(warping)할 수 있다. 이때, 와핑이란, 기하학적 변형의 한 종류로써, 영상 내의 (x, y)의 위치에 있는 픽셀을 (x’, y’)로 대응시키는 것을 의미한다. 영상 처리 장치(100)는 이전 프레임과 현재 프레임 사이에서 추정된 오브젝트의 움직임에 기초하여, 이전 프레임 내의 오브젝트의 위치를 현재 프레임 내의 오브젝트의 위치에 매칭되도록 변형시킬 수 있다.
이에 따라, 이전 프레임들의 고해상도 영상이 현재 시점(t)으로 와핑된 n-1 개의 고해상도 영상들(W(t-1),…,W(t-(n-1)))이 생성될 수 있다.
한편, 일 실시예에 따른 영상 처리 장치(100)는 플리커링 제거부(820)를 포함할 수 있다. 플리커링 제거부(820)는 와핑된 n-1개의 고해상도 영상들(W(t-1),…,W(t-(n-1)))과 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)를 통해 생성된 현재 프레임의 제1 고해상도 영상(S’(t))에 기초하여, 제1 고해상도 영상(S’(t))의 플리커링을 제거할 수 있다. 예를 들어, 플리커링 제거부(820)는 입력된 n개의 영상들을 평균함으로써, 제1 고해상도 영상(S’(t))의 플리커링을 제거할 수 있다. 다만, 이에 한정되지 않으며, 다양한 플리커링 제거 기술을 이용할 수 있다.
도 9는 일 실시예에 따른 영상 처리 장치가 플리커링을 제거하는 방법을 설명하기 위해 참조되는 도면이다.
도 9를 참조하면, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크 및(320) 업 스케일러(330)를 이용하여, 저해상도 영상(L(t))으로부터 고해상도 영상(S’(t))을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320)를 이용하여, 현재 프레임 영상의 특징 맵(특징 정보)을 추출하고, 특징 맵을 업 스케일링하여, 제1 고해상도 영상(S’(t))을 생성할 수 있다. 이때, 제1 고해상도 영상(S’(t))은 플리커링을 포함하는 영상일 수 있다.
제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)는 도 3의 제1 컨볼루션 뉴럴 네트워크(320) 및 업 스케일러(330)와 동일하므로 구체적인 설명은 생략하기로 한다.
한편, 영상 처리 장치(100)는 제1 컨볼루션 뉴럴 네트워크(320)에서 추출된 현재 프레임의 특징 맵(F(t))을 메모리에 저장할 수 있으며, 메모리에 저장된 현재 프레임의 특징 맵(F(t))은 다음 프레임의 고해상도 영상(S’(t+1))의 플리커링을 제거하는 데 이용될 수 있다.
영상 처리 장치(100)는 현재 시점(t) 이전의 프레임들에서 추출된 특징 맵들(F(t-1),…,F(t-(n-1)))과 현재 프레임의 제1 고해상도 영상(S’(t))에 기초하여, 움직임 추정 및 보상을 수행할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 현재 시점 이전의 프레임들을 처리할 때, 제1 컨볼루션 뉴럴 네트워크(320)에서 추출된 특징 맵들(F(t-1),…,F(t-(n-1)))을 메모리에 저장할 수 있다. 이때, 이전 프레임들의 고해상도 영상들이 아닌 특징 맵들(F(t-1),…,F(t-(n-1)))을 메모리에 저장함으로써, 메모리의 크기를 줄일 수 있다.
영상 처리 장치(100)는 이전 프레임의 특징 맵들(F(t-1),…,F(t-(n-1))) 각각을 업 스케일링하여, 고해상도 영상들(S’(t-1),…,S’(t-(n-1)))을 생성할 수 있으며, 이때, 생성된 고해상도 영상들은 플리커링이 포함된 영상들일 수 있다.
영상 처리 장치(100)는 움직임 추정/보상부(910)를 포함할 수 있으며, 움직임 추정/보상부(910)는 이전 프레임들의 플리커링이 포함된 고해상도 영상들(S’(t-1),…,S’(t-(n-1)))과 현재 프레임의 플리커링이 포함된 제1 고해상도 영상(S’(t))에 기초하여, 움직임 추정 및 보상을 수행할 수 있다. 이에 따라, 이전 프레임들의 고해상도 영상이 현재 시점(t)으로 와핑된 n-1 개의 고해상도 영상들(W’(t-1),…,W’(t-(n-1)))이 생성될 수 있다.
영상 처리 장치(100)는 플리커링 제거부(920)를 포함할 수 있으며, 플리커링 제거부(920)는 와핑된 n-1개의 고해상도 영상들(W’(t-1),…,W’(t-(n-1)))과 현재 프레임의 제1 고해상도 영상(S’(t))에 기초하여, 제1 고해상도 영상(S’(t))의 플리커링을 제거할 수 있다. 예를 들어, 플리커링 제거부(920)는 입력된 n개의 영상들을 평균함으로써, 제1 고해상도 영상(S’(t))의 플리커링을 제거할 수 있다. 다만, 이에 한정되지 않으며, 다양한 플리커링 제거 기술을 이용할 수 있다.
도 10 및 도 11은 일 실시예에 따른 제1 컨볼루션 뉴럴 네트워크 및 제2 컨볼루션 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면들이다.
도 10을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 영상 특징 추출부(1010), 영상 분석부(1020) 및 플리커링 분석부(1030)를 포함할 수 있다. 영상 특징 추출부(1010)는 영상 처리 장치(100)에서 생성된 현재 프레임의 플리커링이 제거된 고해상도 영상(x(t))과 현재 프레임의 실제 고해상도 영상(y(t))을 입력 받을 수 있다.
이때, 현재 프레임의 실제 고해상도 영상(y(t))은 학습 데이터로써 제공될 수 있다. 영상 특징 추출부(1010)는 생성된 고해상도 영상(x(t))과 실제 고해상도 영상(y(t))의 하나 이상의 특징 맵들(특징 정보)을 추출할 수 있다.
영상 특징 추출부(1010)는 컨볼루션 뉴럴 네트워크를 이용하여, 생성된 고해상도 영상(x(t))과 실제 고해상도 영상(y(t))의 특징 맵들을 추출할 수 있으며, 컨볼루션 뉴럴 네트워크는 복수의 컨볼루션 레이어를 포함하며, 컨볼루션 연산이 수행될 수 있다. 또한, 영상 특징 추출부(1010)는 컨볼루션 연산 이외에 활성화 함수, 풀링 등의 연산들을 수행할 수 있다. 이때, 컨볼루션 레이어마다 특징 맵이 추출될 수 있다.
영상 특징 추출부(1010)는 초기 컨볼루션 레이어들에서 입력 영상의 에지들 또는 그레디언트들과 같은 낮은 레벨의 특징들을 추출할 수 있으며, 후기 컨볼루션 레이어들로 갈수록 점진적으로 복잡한 특징들(예를 들어, 눈, 코, 입, 얼굴 등)을 추출할 수 있다.
영상 분석부(1020)는 생성된 고해상도 영상의 특징 맵(Fx)과 실제 고해상도 영상의 특징 맵(Fy)의 차이를 분석할 수 있다. 생성된 고해상도 영상의 특징 맵(Fx)과 실제 고해상도 영상의 특징 맵(Fy)의 차이는 다음과 같은 수학식 1로 나타낼 수 있다.
Figure pat00001
여기서, Fl은 영상 특징 추출부의 l번째 레이어에서 추출된 특징 맵을 나타내며, xt는 t 시점의 프레임에서 생성된 고해상도 영상을 나타내며, yt는 t 시점의 프레임의 실제 고해상도 영상을 나타낸다. 또한, i, k는 특징 맵의 픽셀의 위치를 나타낸다.
따라서,
Figure pat00002
는 t 시점의 프레임에서 생성된 고해상도 영상에 대하여, 영상 특징 추출부의 l번째 레이어에서 추출된 특징 맵의 (i,k)에 위치한 픽셀 값을 의미한다. 또한,
Figure pat00003
는 t 시점의 프레임의 실제 고해상도 영상에 대하여, 영상 특징 추출부의 l번째 레이어에서 추출된 특징 맵의 (i,k)에 위치한 픽셀 값을 의미한다.
네트워크 업데이트부(1040)는 생성된 고해상도 영상의 특징 맵과 실제 고해상도 영상의 특징 맵의 차이(El,image)가 작아지도록 제1 컨볼루션 뉴럴 네트워크(320)의 커널들의 가중치를 조정할 수 있다.
한편, 플리커링 분석부(1030)는 이전 프레임에서 생성된 고해상도 영상의 특징 맵과 현재 프레임에서 생성된 고해상도 영상의 특징 맵의 차이(제1 차이 값), 이전 프레임의 실제 고해상도 영상의 특징 맵과 현재 프레임의 실제 고해상도 영상의 특징 맵의 차이(제2 차이 값)를 연산하고, 제1 차이 값과 제2 차이 값을 비교함으로써, 플리커링을 분석할 수 있다.
예를 들어, 도 11을 참조하면, 현재 프레임에서 생성된 고해상도 영상의 특징 맵과 이전 프레임에서 생성된 고해상도 영상의 특징 맵의 차이(제1 차이 값,
Figure pat00004
)는 영상 내의 오브젝트의 실제 움직임과 플리커링을 포함할 수 있다. 또한, 현재 프레임에서의 실제 고해상도 영상의 특징 맵과 이전 프레임에서의 실제 고해상도 영상의 특징 맵의 차이(제2 차이값,
Figure pat00005
)는 오브젝트의 실제 움직임만을 포함한다. 이에 따라, 제1 차이 값과 제2 차이 값을 비교하면, 플리커링을 분석할 수 있다. 플리커링은 다음과 같은 수학식 2로 나타낼 수 있다.
Figure pat00006
여기서, Fl은 영상 특징 추출부의 l번째 레이어에서 추출된 특징 맵을 나타내며, xt는 t 시점의 프레임에서 생성된 고해상도 영상을 나타내며, yt는 t 시점의 프레임의 실제 고해상도 영상을 나타낸다. 또한, i, k는 특징 맵의 픽셀의 위치를 나타낸다.
따라서,
Figure pat00007
는 t 시점의 프레임에서 생성된 고해상도 영상에 대하여, 영상 특징 추출부의 l번째 레이어에서 추출된 특징 맵의 (i,k)에 위치한 픽셀 값을 의미한다. 또한,
Figure pat00008
는 t 시점의 프레임의 실제 고해상도 영상에 대하여, 영상 특징 추출부의 l번째 레이어에서 추출된 특징 맵의 (i,k)에 위치한 픽셀 값을 의미한다.
네트워크 업데이트부(1040)는 분석된 플리커링(El,flicker)이 작아지도록 제2 컨볼루션 뉴럴 네트워크(340)의 커널들의 가중치를 조정할 수 있다.
도 12는 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 12를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 도 3 내지 도 11에서 도시하고 설명한 고해상도 영상 생성부(310), 플리커링 제거부(340, 820, 920), 영상 특징 추출부(1010), 영상 분석부(1020), 플리커링 분석부(1030) 및 네트워크 업데이트부(1040)의 동작들 중 적어도 하나를 수행할 수 있다.
예를 들어, 프로세서(120)는 제1 컨볼루션 뉴럴 네트워크(320)를 이용하여, 저해상도 영상으로부터 특징 맵을 추출하고, 추출된 특징 맵을 업 스케일링하여, 제1 고해상도 영상을 생성할 수 있다. 또한, 프로세서(120)는 현재 프레임에서 생성된 제1 고해상도 영상과 이전 프레임에서 처리된 플리커링이 제거된 고해상도 영상들에 기초하여, 현재 프레임에서 생성된 제1 고해상도 영상의 플리커링을 제거할 수 있다.
한편, 일 실시예에 따른 메모리(130)는 현재 시점 이전의 프레임들을 처리할 때, 플리커링이 제거된 고해상도 영상들을 저장할 수 있으며, 현재 시점에서 생성된 플리커링이 제거된 고해상도 영상도 저장할 수 있다.
프로세서(120)는 제2 컨볼루션 뉴럴 네트워크(340)를 이용하여, 현재 프레임의 제1 고해상도 영상의 플리커링을 제거할 수 있다. 이때, 제2 컨볼루션 뉴럴 네트워크(340)에는 이전 프레임에서 처리된 플리커링이 제거된 고해상도 영상들과 제1 고해상도 영상이 입력될 수 있으며, 플리커링이 제거된 현재 프레임의 제2 고해상도 영상이 출력될 수 있다.
프로세서(120)는 이전 프레임의 처리 과정에서 추출된 특징 정보들에 기초하여, 현재 프레임에서 생성된 제1 고해상도 영상의 플리커링을 제거할 수도 있다.
예를 들어, 일 실시예에 따른 메모리(130)는 현재 시점 이전의 프레임들을 처리할 때, 제1 컨볼루션 뉴럴 네트워크에서 추출된 특징 맵들을 저장할 수 있다. 프로세서(120)는 이전 프레임들의 특징 정보들 각각을 업 스케일링하여, 이전 프레임들의 고해상도 영상들을 생성할 수 있다. 또한, 프로세서(120)는 이전 프레임들의 고해상도 영상들과 현재 프레임에서 생성된 제1 고해상도 영상을 제2 컨볼루션 뉴럴 네트워크(340)에 입력할 수 있으며, 제2 컨볼루션 뉴럴 네트워크(340)로부터 플리커링이 제거된 제2 고해상도 영상이 출력될 수 있다.
또한, 프로세서(120)는 이전 프레임들에서 처리된 플리커링이 제거된 고해상도 영상들과 현재 프레임의 제1 고해상도 영상에 기초하여, 움직임 추정 및 보상을 수행함으로써, 현재 시점으로 와핑된 고해상도 영상들을 획득할 수 있다. 프로세서(120)는 현재 시점으로 와핑된 고해상도 영상들과 현재 프레임의 제1 고해상도 영상에 기초하여, 제1 고해상도 영상의 플리커링을 제거할 수 있다.
또한, 프로세서(120)는 이전 프레임들에서 추출된 특징 맵들 각각을 업 스케일랑하여, 이전 프레임들의 고해상도 영상들을 생성할 수 있다. 프로세서(120)는 이전 프레임들의 고해상도 영상들과 현재 프레임의 제1 고해상도 영상에 기초하여, 움직임 추정 및 보상을 수행함으로써, 현재 시점으로 와핑된 고해상도 영상들을 획득할 수 있다. 프로세서(120)는 현재 시점으로 와핑된 고해상도 영상들과 현재 프레임의 제1 고해상도 영상에 기초하여, 제1 고해상도 영상의 플리커링을 제거할 수 있다.
도 13은 일 실시예에 따른 프로세서(120)의 블록도이다.
도 13을 참조하면, 일 실시예에 따른 프로세서(120)는 네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트부(1240)를 포함할 수 있다.
네트워크 학습부(1210)는 영상 처리 장치(100)에서 고해상도 영상을 생성하고, 플리커링을 제거하기 위한 기준을 학습할 수 있다. 예를 들어, 일 실시예에 다른 제1 컨볼루션 뉴럴 네트워크와 제2 컨볼루션 뉴럴 네트워크를 학습시킬 수 있다. 네트워크 학습부(1210)는 학습에 이용될 영상 데이터를 획득하고, 획득된 데이터를 제1 컨볼루션 뉴럴 네트워크에 적용함으로써, 고해상도 영상을 생성하기 위한 기준을 학습할 수 있다. 또한, 획득된 데이터를 제2 컨볼루션 뉴럴 네트워크에 적용함으로써, 영상에서 플리커링을 제거하기 위한 기준을 학습할 수 있다.
네트워크 학습부(1210)는 학습된 네트워크(예를 들어, 제1 컨볼루션 뉴럴 네트워크 및 제2 컨볼루션 뉴럴 네트워크)를 영상 처리 장치의 메모리에 저장할 수 있다. 또는, 영상 처리 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 네트워크가 저장되는 메모리는, 예를 들면, 영상 처리 장치(100)의 적어도 하나의 다른 구성 요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다.
고해상도 영상 생성부(1220)는 제1 컨볼루션 뉴럴 네트워크를 이용하여, 고해상도 영상을 생성할 수 있다. 고해상도 영상 생성부(1220)는 저해상도 영상을 입력 값으로 하여, 제1 컨볼루션 뉴럴 네트워크를 이용함으로써, 특징 정보를 추출할 수 있다. 고해상도 영상 생성부(1220)는 추출된 특징 정보에 기초하여, 고해상도 영상을 생성할 수 있다.
플리커링 제거부(1230)는 제2 컨볼루션 뉴럴 네트워크를 이용하여, 영상의 플리커링을 제거할 수 있다. 플리커링 제거부(1230)는 고해상도 영상 생성부(1220)에서 생성된 영상과 이전 프레임에서 생성된 고해상도 영상들을 입력 값으로 하여, 제2 컨볼루션 뉴럴 네트워크를 이용함으로써, 현재 프레임의 고해상도 영상의 플리커링을 제거할 수 있다. 이때, 플리커링이 제거된 고해상도 영상은 제1 컨볼루션 뉴럴 네트워크 및 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나를 업데이트하는 데 이용될 수 있다.
한편, 네트워크 학습부(1210)는 고해상도 영상 생성부(1220) 및 플리커링 제거부(1230)에 의해 생성된 고해상도 영상에 기초하여, 네트워크를 학습시킬 수 있다. 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 네트워크를 학습시킬 수 있다. 네트워크 학습부(1210)는 생성된 고해상도 영상과 실제 고해상도 영상을 분석하여, 비교할 수 있다. 도 13의 네트워크 학습부(1210)는 도 10에서 설명한 영상 특징 추출부(1020), 영상 분석부(1020), 및 플리커링 분석부(1030)에 대응될 수 있으며, 이에 대한 구체적인 설명은 생략하기로 한다.
네트워크 업데이트부(1240)는 네트워크 학습부(1210)에서 분석된 결과에 기초하여, 제1 컨볼루션 뉴럴 네트워크와 제2 컨볼루션 뉴럴 네트워크에 포함되는 커널들의 가중치를 조정함으로써, 네트워크를 업데이트할 수 있다.
네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트 부(1240) 중 적어도 하나는, 하드웨어 칩 형태로 제작되어 영상 처리 장치에 탑재될 수 있다. 예를 들어, 네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트 부(1240) 중 적어도 하나는 인공 지능(AI;artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 영상 처리 장치에 탑재될 수 도 있다.
이 경우, 네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트 부(1240)는 하나의 영상 처리 장치에 탑재될 수도 있으며, 또는 별개의 영상 처리 장치들에 각각 탑재될 수도 있다. 예를 들어, 네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트 부(1240) 중 일부는 영상 처리 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트 부(1240) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 네트워크 학습부(1210), 고해상도 영상 생성부(1220), 플리커링 제거부(1230) 및 네트워크 업데이트 부(1240) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 도 12및 13에 도시된 영상 처리 장치(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 (21)

  1. 고해상도 동영상을 생성하는 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 제1 컨볼루션 뉴럴 네트워크(CNN;onvolution neural network)를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하고, 상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하며, 이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링(flickering)을 제거하고, 상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거하는 영상 처리 장치.
  2. 제1항에 있어서,
    상기 제1 컨볼루션 뉴럴 네트워크는, N개의 컨볼루션 레이어들을 포함하고,
    상기 프로세서는,
    상기 현재 프레임의 저해상도 영상을 상기 제1 컨볼루션 뉴럴 네트워크로 입력하여, 상기 N개의 컨볼루션 레이어들 각각에서, 하나 이상의 커널들과 컨볼루션 연산을 수행함으로써, 상기 특징 정보를 추출하는, 영상 처리 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 특징 정보에 바이 리니어(bileanear) 보간 방법, 바이 큐빅(bicubic) 보간 방법, 및 컨볼루션(convolution) 보간 방법 중 적어도 하나를 적용하여, 상기 제1 고해상도 영상을 생성하는, 영상 처리 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 현재 프레임의 제1 고해상도 영상과 상기 이전 프레임의 고해상도 영상을 제2 컨볼루션 뉴럴 네트워크로 입력하여, M개의 컨볼루션 레이어들 각각에서, 하나 이상의 커널들과 컨볼루션 연산을 수행함으로써, 상기 제1 고해상도 영상의 플리커링을 제거하는 영상 처리 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 제2 고해상도 영상에 대응하는 제1 특징 정보와 현재 프레임의 실제 고해상도 영상에 대응하는 제2 특징 정보를 추출하고, 상기 제1 특징 정보 및 제2 특징 정보에 기초하여, 상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나를 업데이트시키는, 영상 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는, 영상 처리 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 제1 특징 정보와 제2 특징 정보의 차이가 작아지도록, 상기 제1 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는, 영상 처리 장치.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 제1 특징 정보와 상기 제2 특징 정보의 제1 차이 값, 및 생성된 이전 프레임의 고해상도 영상에 대응하는 제3 특징 정보와 이전 프레임의 실제 고해상도 영상에 대응하는 제4 특징 정보의 제2 차이 값을 연산하고, 제1 차이 값과 제2 차이 값의 차이가 작아지도록, 상기 제2 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는, 영상 처리 장치.
  9. 제1항에 있어서,
    상기 메모리는,
    상기 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 저장하는, 영상 처리 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 메모리에 저장된 현재 프레임의 특징 정보에 기초하여, 상기 제1 고해상도 영상을 생성하고, 상기 제1 고해상도 영상을 이용하여, 상기 다음 프레임의 고해상도 영상의 플리커링을 제거하는, 영상 처리 장치.
  11. 고해상도 동영상을 생성하는 영상 처리 장치의 동작방법에 있어서,
    제1 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하는 단계;
    상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하는 단계;
    이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링(flickering)을 제거하는 단계; 및
    상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거하는 단계를 포함하는 영상 처리 장치의 동작방법.
  12. 제11항에 있어서,
    상기 특징 정보를 추출하는 단계는,
    상기 현재 프레임의 저해상도 영상을 상기 제1 컨볼루션 뉴럴 네트워크로 입력하여, 상기 N개의 컨볼루션 레이어들 각각에서, 하나 이상의 커널들과 컨볼루션 연산을 수행함으로써, 상기 특징 정보를 추출하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  13. 제11항에 있어서,
    상기 제1 고해상도 영상을 생성하는 단계는,
    상기 특징 정보에 바이 리니어(bileanear) 보간 방법, 바이 큐빅(bicubic) 보간 방법, 및 컨볼루션(convolution) 보간 방법 중 적어도 하나를 적용하여, 상기 제1 고해상도 영상을 생성하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  14. 제11항에 있어서,
    상기 제1 고해상도 영상의 플리커링을 제거하는 단계는,
    상기 현재 프레임의 제1 고해상도 영상과 상기 이전 프레임의 고해상도 영상을 제2 컨볼루션 뉴럴 네트워크로 입력하여, M개의 컨볼루션 레이어들 각각에서, 하나 이상의 커널들과 컨볼루션 연산을 수행함으로써, 상기 제1 고해상도 영상의 플리커링을 제거하는 단계를 포함하는 영상 처리 장치의 동작방법.
  15. 제14항에 있어서,
    상기 동작방법은,
    상기 제2 고해상도 영상에 대응하는 제1 특징 정보와 현재 프레임의 실제 고해상도 영상에 대응하는 제2 특징 정보를 추출하는 단계; 및
    상기 제1 특징 정보 및 제2 특징 정보에 기초하여, 상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나를 업데이트시키는 단계를 더 포함하는, 영상 처리 장치의 동작방법.
  16. 제15항에 있어서,
    상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나를 업데이트시키는 단계는,
    상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  17. 제16항에 있어서,
    상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는 단계는,
    상기 제1 특징 정보와 제2 특징 정보의 차이가 작아지도록, 상기 제1 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  18. 제16항에 있어서,
    상기 제1 컨볼루션 뉴럴 네트워크 및 상기 제2 컨볼루션 뉴럴 네트워크 중 적어도 하나에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는 단계는,
    상기 제1 특징 정보와 상기 제2 특징 정보의 제1 차이 값, 및 생성된 이전 프레임의 고해상도 영상에 대응하는 제3 특징 정보와 이전 프레임의 실제 고해상도 영상에 대응하는 제4 특징 정보의 제2 차이 값을 연산하고, 제1 차이 값과 제2 차이 값의 차이가 작아지도록, 상기 제2 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들의 가중치 값들을 조정하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  19. 제11항에 있어서,
    상기 동작방법은,
    상기 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 저장하는 단계를 더 포함하는, 영상 처리 장치의 동작방법.
  20. 제19항에 있어서,
    상기 동작방법은,
    상기 메모리에 저장된 현재 프레임의 특징 정보에 기초하여, 상기 제1 고해상도 영상을 생성하고, 상기 제1 고해상도 영상을 이용하여, 상기 다음 프레임의 고해상도 영상의 플리커링을 제거하는 단계를 더 포함하는, 영상 처리 장치의 동작방법.
  21. 제1 컨볼루션 뉴럴 네트워크를 이용하여, 현재 프레임의 저해상도 영상에 대한 특징 정보를 추출하는 단계;
    상기 특징 정보에 기초하여, 현재 프레임의 제1 고해상도 영상을 생성하는 단계;
    이전 프레임의 고해상도 영상을 이용하여, 상기 제1 고해상도 영상의 플리커링(flickering)을 제거하는 단계; 및
    상기 플리커링이 제거된 상기 현재 프레임의 제2 고해상도 영상 및 상기 특징 정보 중 적어도 하나를 이용하여, 다음 프레임의 고해상도 영상의 플리커링을 제거하는 단계를 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품.
KR1020180082375A 2018-07-16 2018-07-16 영상 처리 장치 및 그 동작방법 KR102570562B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180082375A KR102570562B1 (ko) 2018-07-16 2018-07-16 영상 처리 장치 및 그 동작방법
EP19838734.2A EP3790272A4 (en) 2018-07-16 2019-07-16 IMAGE PROCESSING APPARATUS AND RELATED OPERATING PROCEDURE
CN201980047752.4A CN112913226B (zh) 2018-07-16 2019-07-16 图像处理设备及其操作方法
US17/256,560 US11871144B2 (en) 2018-07-16 2019-07-16 Image processing apparatus and operation method thereof
PCT/KR2019/008779 WO2020017871A1 (ko) 2018-07-16 2019-07-16 영상 처리 장치 및 그 동작방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180082375A KR102570562B1 (ko) 2018-07-16 2018-07-16 영상 처리 장치 및 그 동작방법

Publications (2)

Publication Number Publication Date
KR20200008343A true KR20200008343A (ko) 2020-01-28
KR102570562B1 KR102570562B1 (ko) 2023-08-24

Family

ID=69164574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180082375A KR102570562B1 (ko) 2018-07-16 2018-07-16 영상 처리 장치 및 그 동작방법

Country Status (5)

Country Link
US (1) US11871144B2 (ko)
EP (1) EP3790272A4 (ko)
KR (1) KR102570562B1 (ko)
CN (1) CN112913226B (ko)
WO (1) WO2020017871A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021163844A1 (en) * 2020-02-17 2021-08-26 Intel Corporation Super resolution using convolutional neural network
KR102334730B1 (ko) * 2020-11-18 2021-12-03 인하대학교 산학협력단 라이트필드 초해상도와 블러 제거의 동시 수행을 위한 적대적 신경망 모델 장치 및 그 동작 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111402130B (zh) * 2020-02-21 2023-07-18 华为技术有限公司 数据处理方法和数据处理装置
US11288771B2 (en) * 2020-04-29 2022-03-29 Adobe Inc. Texture hallucination for large-scale image super-resolution
WO2022265321A1 (en) * 2021-06-15 2022-12-22 Samsung Electronics Co., Ltd. Methods and systems for low light media enhancement
TWI806243B (zh) * 2021-11-17 2023-06-21 瑞昱半導體股份有限公司 超解析度影像產生裝置
CN114090500B (zh) * 2022-01-13 2022-04-12 南京初芯集成电路有限公司 一种全通式图像处理soc芯片及图像处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170058277A (ko) * 2015-11-09 2017-05-26 톰슨 라이센싱 잡음 있는 이미지들을 업스케일링하기 위한 방법, 및 잡음 있는 이미지들을 업스케일링하기 위한 장치
KR20170077621A (ko) * 2015-12-28 2017-07-06 연세대학교 산학협력단 영상 압축에서의 플리커링 현상 제거 방법 및 그 장치
US20180130178A1 (en) * 2015-02-19 2018-05-10 Magic Pony Technology Limited Enhancing Visual Data Using Strided Convolutions

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5376963A (en) 1993-03-31 1994-12-27 Panasonic Technologies, Inc. Neural network video image processor
CN101651773B (zh) * 2009-09-14 2011-01-05 中国电影科学技术研究所 一种去除图像闪烁的方法
JP6170475B2 (ja) * 2014-07-08 2017-07-26 株式会社朋栄 フリッカーを除去する画像処理方法とその画像処理装置
CN106063251B (zh) * 2014-12-15 2017-08-25 奥林巴斯株式会社 图像处理装置和图像处理方法
GB201603144D0 (en) * 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
KR20170047489A (ko) * 2015-10-23 2017-05-08 삼성전자주식회사 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체
KR101780057B1 (ko) 2016-08-02 2017-09-19 한양대학교 에리카산학협력단 고해상도 영상 복원 방법 및 장치
US10147459B2 (en) * 2016-09-22 2018-12-04 Apple Inc. Artistic style transfer for videos
US10360494B2 (en) 2016-11-30 2019-07-23 Altumview Systems Inc. Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules
CN106791283B (zh) * 2017-01-25 2019-11-19 京东方科技集团股份有限公司 一种校正视频闪烁的方法、装置及视频设备
CN107464217B (zh) * 2017-08-16 2020-12-29 清华-伯克利深圳学院筹备办公室 一种图像处理方法及装置
US10726525B2 (en) * 2017-09-26 2020-07-28 Samsung Electronics Co., Ltd. Image denoising neural network architecture and method of training the same
CN108022212B (zh) 2017-11-24 2022-07-01 腾讯科技(深圳)有限公司 高分辨率图片生成方法、生成装置及存储介质
US10650495B2 (en) * 2018-06-04 2020-05-12 Adobe Inc. High resolution style transfer
US11348336B2 (en) * 2020-05-13 2022-05-31 International Business Machines Corporation Systems and approaches for learning efficient representations for video understanding
US11967066B2 (en) * 2021-04-12 2024-04-23 Daegu Gyeongbuk Institute Of Science And Technology Method and apparatus for processing image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180130178A1 (en) * 2015-02-19 2018-05-10 Magic Pony Technology Limited Enhancing Visual Data Using Strided Convolutions
KR20170058277A (ko) * 2015-11-09 2017-05-26 톰슨 라이센싱 잡음 있는 이미지들을 업스케일링하기 위한 방법, 및 잡음 있는 이미지들을 업스케일링하기 위한 장치
KR20170077621A (ko) * 2015-12-28 2017-07-06 연세대학교 산학협력단 영상 압축에서의 플리커링 현상 제거 방법 및 그 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021163844A1 (en) * 2020-02-17 2021-08-26 Intel Corporation Super resolution using convolutional neural network
KR102334730B1 (ko) * 2020-11-18 2021-12-03 인하대학교 산학협력단 라이트필드 초해상도와 블러 제거의 동시 수행을 위한 적대적 신경망 모델 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20210224951A1 (en) 2021-07-22
CN112913226A (zh) 2021-06-04
US11871144B2 (en) 2024-01-09
EP3790272A4 (en) 2021-06-30
KR102570562B1 (ko) 2023-08-24
WO2020017871A1 (ko) 2020-01-23
EP3790272A1 (en) 2021-03-10
CN112913226B (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
KR102570562B1 (ko) 영상 처리 장치 및 그 동작방법
US11610082B2 (en) Method and apparatus for training neural network model used for image processing, and storage medium
US10650495B2 (en) High resolution style transfer
US9697583B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
CN110210524B (zh) 一种图像增强模型的训练方法、图像增强方法及装置
US10593020B2 (en) Unsupervised learning approach for video deblurring
US9569684B2 (en) Image enhancement using self-examples and external examples
KR20200015095A (ko) 영상 처리 장치 및 그 동작방법
KR20200067631A (ko) 영상 처리 장치 및 그 동작방법
US20210065351A1 (en) Object count estimation apparatus, object count estimation method, and computer program product
JP6832252B2 (ja) 超解像装置およびプログラム
KR20220055970A (ko) 사전 정보 학습 기반 영상 업스케일링 장치 및 방법
US10540735B2 (en) Information processing device, information processing method, and recording medium
EP3316212A1 (en) Method for deblurring a video, corresponding device and computer program product
CN108229650B (zh) 卷积处理方法、装置及电子设备
US9196025B2 (en) Image processing apparatus, image processing method and image processing program
KR20230028481A (ko) 공간 인식 조건부 gan들을 이용하는 고해상도 제어가능한 얼굴 노화
US12008769B2 (en) Image processing apparatus and operating method thereof
US11200708B1 (en) Real-time color vector preview generation
JP2015197818A (ja) 画像処理装置およびその方法
JP2023003763A (ja) 学習装置、画像処理装置、学習処理方法、及びプログラム
JP2010097355A (ja) 画像分離装置、画像分離方法および画像分離プログラム
JP2018084997A (ja) 画像処理装置、画像処理方法
CN107886522B (zh) 尺度自适应的目标模型更新方法及装置
KR20230034127A (ko) 영상 처리 장치 및 그 동작 방법

Legal Events

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