KR102511059B1 - 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치 - Google Patents

동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치 Download PDF

Info

Publication number
KR102511059B1
KR102511059B1 KR1020180012941A KR20180012941A KR102511059B1 KR 102511059 B1 KR102511059 B1 KR 102511059B1 KR 1020180012941 A KR1020180012941 A KR 1020180012941A KR 20180012941 A KR20180012941 A KR 20180012941A KR 102511059 B1 KR102511059 B1 KR 102511059B1
Authority
KR
South Korea
Prior art keywords
rnn
cnn
information
frames
hidden state
Prior art date
Application number
KR1020180012941A
Other languages
English (en)
Other versions
KR20180126362A (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 CN201880032304.2A priority Critical patent/CN110622502B/zh
Priority to EP18801442.7A priority patent/EP3566435B1/en
Priority to PCT/KR2018/005633 priority patent/WO2018212599A1/en
Priority to US15/982,382 priority patent/US10805634B2/en
Publication of KR20180126362A publication Critical patent/KR20180126362A/ko
Application granted granted Critical
Publication of KR102511059B1 publication Critical patent/KR102511059B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

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

Abstract

동영상의 초해상(super-resolution) 처리 방법이 개시된다. 동영상의 초해상 처리 방법은, 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력하는 단계, 어느 하나에서 순차적으로 출력되는 프레임을 RNN 및 CNN 중 다른 하나에 순차적으로 입력하는 단계 및, 다른 하나에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 출력 프레임의 해상도를 업스케일링(upscaling)하는 단계를 포함한다.

Description

동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치 { SUPER-RESOLUTION PROCESSING METHOD FOR MOVING IMAGE AND IMAGE PROCESSING APPARATUS THEREFOR }
본 발명은 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치에 관한 것으로, 보다 상세하게는 동영상을 고해상도로 업스케일링시킬 수 있는 초해상 처리 방법 및 이를 위한 영상 처리 장치에 관한 것이다.
최근에는 이미지의 초해상(super resolution) 처리에 딥러닝(deep learning) 기술의 일종인 컨볼루션 신경망(Convolutional Neural Network, 이하 CNN)이 이용되고 있다. 즉, 이미지의 초해상 처리는 저해상도의 이미지가 CNN에 입력되면, 이미지의 패치별로 특징 데이터를 추출하고, 추출된 특징 데이터 및 기존에 학습된 데이터를 이용하여 저해상도의 입력 이미지를 고해상도의 이미지로 업스케일(upscale)하는 방식으로 이루어진다.
이와 같이, 사용자는 CNN에 기반한 초해상 처리 방법에 의해, 저해상도의 이미지의 사이즈를 단순히 크게 늘리는 것보다 부드럽고 선명한 고해상도의 이미지를 얻을 수 있다. 이러한 초해상 처리를 위한 CNN은 SRCNN(Super-Resolution CNN)으로 통용되기도 한다.
그러나, 동일한 방식으로 동영상을 초해상 처리하고자 하는 경우, 동영상을 구성하는 복수의 프레임 각각에 대하여 고해상도의 프레임을 얻을 수 있기는 하지만, 복수의 프레임 각각에 대하여 독립적으로 초해상 처리가 수행됨으로써, 깜박임(flickering) 현상 혹은, 복수의 프레임 간의 불연속적 아티팩트(discontinuity artifact)가 발생하는 현상이 발생하는 문제가 있다.
따라서, CNN을 기반으로 초해상 처리된 동영상의 깜박임 현상 또는 불연속적 아티팩트가 발생하는 현상을 해결하기 위한 개선 방안이 요구되고 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 깜박임 없이 연속적으로 초해상 처리된 동영상을 획득할 수 있는 초해상 처리 방법 및 이를 위한 영상 처리 장치를 제공함에 있다.
본 발명의 일 실시 예에 따른 동영상의 초해상 처리 방법은, 상기 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력하는 단계, 상기 어느 하나에서 순차적으로 출력되는 프레임을 상기 RNN 및 상기 CNN 중 다른 하나에 순차적으로 입력하는 단계 및, 상기 다른 하나에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 상기 출력 프레임의 해상도를 업스케일링(upscaling)하는 단계를 포함한다.
이때, 상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력하는 단계는, 상기 복수의 입력 프레임을 상기 RNN에 순차적으로 입력하고, 상기 RNN 및 상기 CNN 중 다른 하나에 순차적으로 입력하는 단계는, 상기 RNN에서 출력되는 프레임을 상기 CNN에 순차적으로 입력할 수 있다.
또한, 상기 초해상 처리 방법은, 상기 CNN에서 순차적으로 출력되는 프레임을 상기 RNN에 재귀시키는 단계를 더 포함하며, 상기 CNN에서 출력되는 프레임은, 상기 RNN에 입력된 대응되는 제1 프레임보다 고 해상도인 제2 프레임에 대한 정보를 포함할 수 있다.
또한, 상기 초해상 처리 방법은, 상기 CNN에서 순차적으로 출력되는 프레임을 타 RNN에 순차적으로 입력하는 단계 및, 상기 타 RNN의 히든 상태(hidden status)에 대한 정보를 상기 RNN에 재귀시키는 단계를 더 포함하며, 상기 업 스케일링 단계는, 상기 타 RNN에서 순차적으로 출력되는 프레임을 디콘볼루션할 수 있다.
또한, 상기 CNN은, 상기 RNN로부터 순차적으로 입력되는 프레임을 필터링하여 피쳐맵(feature map)을 생성하고, 상기 피쳐맵에 대한 배치(batch) 정규화(normalization)를 수행하고, 상기 정규화된 피쳐맵에 활성 함수(activation function)를 적용할 수 있다.
또한, 상기 초해상 처리 방법은, 상기 RNN에서 재귀된 이전 프레임의 히든 상태에 대한 정보를 이용하여, 상기 동영상의 장면 전환을 예측하는 단계, 상기 장면 전환이 예측되면, 상기 이전 프레임의 히든 상태에 대한 정보를 제로(zero) 값으로 변경하는 단계 및, 상기 제로 값으로 변경된 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여, 현재 프레임의 히든 상태에 대한 정보를 업데이트하는 단계를 더 포함할 수 있다.
또한, 상기 장면 전환을 예측하는 단계는, 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 예측되는 현재 프레임의 히든 상태에 대한 정보를 이용하여 에러율을 산출하고, 상기 산출된 에러율이 기설정된 임계값을 초과하는지 여부에 따라 상기 동영상의 장면 전환을 예측할 수 있다.
또한, 상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력하는 단계는, 상기 동영상의 출력 포맷이 YCbCr 채널인 경우, 상기 복수의 입력 프레임 중 Y 채널에 대응되는 프레임들만 상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력할 수 있다.
또한, 상기 RNN은, LSTM(Long Short-Term Memory) 네트워크를 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른, 동영상의 초해상 처리를 수행하는 영상 처리 장치는, 상기 동영상을 입력받는 입력부 및, 상기 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력하고, 상기 어느 하나에서 순차적으로 출력되는 프레임을 상기 RNN 및 상기 CNN 중 다른 하나에 순차적으로 입력하며, 상기 다른 하나에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 상기 출력 프레임의 해상도를 업스케일링(upscaling)하는 프로세서를 포함할 수 있다.
이때, 상기 프로세서는, 상기 복수의 입력 프레임을 상기 RNN에 순차적으로 입력하고, 상기 RNN에서 출력되는 프레임을 상기 CNN에 순차적으로 입력할 수 있다.
또한, 상기 프로세서는, 상기 CNN에서 순차적으로 출력되는 프레임을 상기 RNN에 재귀시키고, 상기 CNN에서 출력되는 프레임은, 상기 RNN에 입력된 대응되는 제1 프레임보다 고해상도인 제2 프레임에 대한 정보를 포함할 수 있다.
또한, 상기 프로세서는, 상기 CNN에서 순차적으로 출력되는 프레임을 타 RNN에 순차적으로 입력하고, 상기 타 RNN의 히든 상태(hidden status)에 대한 정보를 상기 RNN에 재귀시키며, 상기 타 RNN에서 순차적으로 출력되는 프레임에 대하여 디콘볼루션을 수행할 수 있다.
또한, 상기 CNN은, 상기 RNN으로부터 순차적으로 입력되는 프레임을 필터링하여 피쳐맵(feature map)을 생성하고, 상기 피쳐맵에 대한 배치(batch) 정규화(normalization)를 수행하고, 상기 정규화된 피쳐맵에 활성 함수(activation function)를 적용할 수 있다.
또한, 상기 프로세서는, 상기 RNN에서 재귀된 이전 프레임의 히든 상태에 대한 정보를 이용하여, 상기 동영상의 장면 전환을 예측하고, 상기 장면 전환이 예측되면, 상기 이전 프레임의 히든 상태에 대한 정보를 제로(zero) 값으로 변경하며, 상기 제로 값으로 변경된 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여, 현재 프레임의 히든 상태에 대한 정보를 업데이트할 수 있다.
또한, 상기 프로세서는, 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 예측되는 현재 프레임의 히든 상태에 대한 정보를 이용하여 에러율을 산출하고, 상기 산출된 에러율이 기설정된 임계값을 초과하는지 여부에 따라 상기 동영상의 장면 전환을 예측할 수 있다.
또한, 상기 프로세서는, 상기 동영상의 출력 포맷이 YCbCr 채널인 경우, 상기 복수의 입력 프레임 중 Y 채널에 대응되는 프레임들만 상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력할 수 있다.
또한, 상기 RNN은, LSTM(Long Short-Term Memory) 네트워크를 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른, 동영상의 초해상 처리 방법을 실행하기 위한 프로그램이 저장된 기록 매체에 있어서, 상기 초해상 처리 방법은, 상기 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력하는 단계, 상기 어느 하나에서 순차적으로 출력되는 프레임을 상기 RNN 및 상기 CNN 중 다른 하나에 순차적으로 입력하는 단계 및, 상기 다른 하나에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 상기 출력 프레임의 해상도를 업스케일링(upscaling)하는 단계를 포함할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 초경량의 RNN을 CNN과 결합하여 깜박임 없이 부드럽게 연속되도록 초해상 처리된 동영상을 획득할 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른, CNN을 통해 초해상 처리를 수행하는 종래의 방법을 설명하기 위한 도면,
도 2 내지 5는 본 발명의 다양한 실시 예에 따른 CNN과 RNN을 결합한 초해상 처리 과정을 설명하기 위한 도면,
도 6은 본 발명의 일 실시 예에 다른, 동영상의 초해상 처리 방법을 설명하기 위한 흐름도,
도 7은 본 발명의 일 실시 예에 따른, CNN 및 RNN의 연산 처리를 모듈화하여 초해상 배율을 조정하는 방법을 설명하기 위한 도면,
도 8은 본 발명의 일 실시 예에 따른, 동영상의 출력 포맷에 따라 채널을 분리하여 초해상 처리를 수행하는 방법을 설명하기 위한 도면,
도 9는 본 발명의 일 실시 예에 따른, 영상 처리 장치의 구성을 간략히 도시한 블록도,
도 10은 본 발명의 일 실시 예에 따라 발생되는 메모리 대역폭의 병목 현상을 설명하기 위한 도면,
도 11은 메모리 대역폭의 병목 현상을 해결하기 위한 본 발명의 추가 실시 예를 설명하기 위한 도면이다.
본 발명에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어일 수 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조 번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명하도록 한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성 요소를 모두 도시하고 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 “제1”, “제2” 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성 요소들을 서로 구별하기 위하여 사용하는 것이며, 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안될 것이다. 일 예로, 이러한 서수와 결합된 구성 요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한 해석되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “구성하다” 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예에서 “모듈”, “유닛”, “부(Part)” 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성 요소를 지칭하기 위한 용어이며, 이러한 구성 요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수도 있다. 또한, 복수의 “모듈”, “유닛”, “부(part)” 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이하, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른, CNN을 통해 초해상 처리를 수행하는 종래의 방법을 설명하기 위한 도면이다.
동영상을 구성하는 복수의 프레임은 연속적으로 CNN(12)으로 입력될 수 있다. 복수의 프레임의 컬러 형식은 RGB, YCbCr 포맷의 3채널 형식일 수 있으며, 이하에서는 특별한 설명이 없는 한, 동영상을 구성하는 복수의 프레임이 RGB 포맷의 3채널 형식으로 구현되는 예에 대하여 설명한다.
이때, 도 1에 도시된 바와 같이, 동영상을 구성하는 복수의 프레임(11)이 순차적으로 CNN(12)에 입력될 수 있다. 이때, CNN(12)에 입력되는 프레임(11)은 동영상의 원 프레임이 가로 W, 세로 H 크기로 분할된 이미지 패치일 수 있다. 이하에서는, 편의상 CNN(12)에 입력되는 분할된 이미지 패치를 프레임으로 통칭하여 기재하도록 한다.
한편, CNN(12)에 입력되는 프레임(11)은 RGB의 3채널에 대응되는 뎁스(depth)를 가질 수 있다. 여기서, CNN(12)은 이미지의 초해상 처리가 학습된 뉴럴 네트워크이다. CNN(12)은 기학습된 복수 개의 필터(filter)를 각각의 프레임(11)에 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성 함수(activation function)를 적용하는 과정을 기설정된 횟수만큼 반복할 수 있다. 여기서, 활성 함수는 sigmoid, tanh, ReLU 등을 포함할 수 있다.
예를 들어, CNN(12)에 입력된 프레임(11)에, 입력된 프레임(11)과 마찬가지로 각각 3채널을 가지는 64개의 필터를 적용하고, ReLU 함수를 적용하는 과정을 수행하면, 최종적으로 입력된 프레임(11)과 동일한 사이즈 및 64채널을 가지는 피쳐맵(13)이 출력될 수 있다. 이때, 출력되는 피쳐맵(13)은 64채널을 통해 새로운 픽셀 정보를 포함하게 되며, 새로운 픽셀 정보는 초해상 처리에 있어서 이용되는 정보이다.
출력된 피쳐맵(13)에 CNN(12)에서의 콘볼루션 연산과 반대되는 디콘볼루션 연산(14)을 수행하면, 출력된 피쳐맵(13)에 포함된 새로운 픽셀 정보에 기초하여 출력된 피쳐맵(13)보다 정수배 큰 사이즈를 가지는 64채널의 고해상도 피쳐맵(15)이 생성된다. 생성된 고해상도 피쳐맵(15)에 다시 콘볼루션 연산(16)을 수행하여, 최종적으로 3채널의 고해상도 프레임(17)을 획득할 수 있다.
도 1에 도시된 바와 같이 3채널의 고해상도 프레임(17)은 CNN(12)에 입력된 프레임(11)의 해상도보다 두 배의 해상도(2W x 2H)를 가지게 된다.
그러나, 상술한 바와 같은 종래의 초해상 처리는 동영상의 각 프레임마다 독립적으로 수행됨으로써, 깜박임(flickering), 불연속적 아티팩트(discontinuity artifact)가 발생하는 문제가 있다.
이러한 문제를 해결하기 위한 방법으로, 기존에는 연속된 프레임을 동시에 CNN 입력단에 입력하는 방법 혹은 양방향 리커런트 콘볼루션 네트워크(Bidirectional Recurrent Convolutional Network)가 제안되었다. 리커런트 콘볼루션 네트워크는 과거 프레임을 처리할 때에 히든 레이어의 정보를 보존하고, 이를 다음 프레임을 처리할 때 반영할 수 있도록 하여 visual-temporal dependency를 높이도록 구현되었다.
그러나, 기존의 연속된 프레임을 동시에 입력하는 방법은 연산량이 N^2(N: 입력 프레임의 개수)로 기하급수적으로 많아지게 되고, 불연속성이 여전히 주기적으로 발생하는 문제가 있었다. 또한, 리커런트 콘볼루션 네트워크는 모든 콘볼루션 레이어가 모두 리커런트 콘볼루션, 컨디셔널 콘볼루션(conditional convolution)으로 밀집 연결된 형태를 가지기 때문에 기존 방식보다 6배 높은 연산량을 요구하는 문제점이 있었다.
따라서, 본 발명은 최소의 연산량을 요구하면서, 동영상의 연속 프레임 처리시 visual-temporal dependency를 효율적으로 반영할 수 있는 뉴럴 네트워크 구조로서, CNN에 RNN(Recurrent Neural Network)을 직렬적으로 결합된 알고리즘을 제안하고자 하며, 이하에서 구체적으로 설명하도록 한다.
도 2 내지 6은 본 발명의 다양한 실시 예에 따른 CNN과 RNN을 결합한 초해상 처리 과정을 설명하기 위한 도면이다.
RNN은 시간적인 상관 관계가 중요한 데이터, 예를 들어, 대화, 동영상 음성 등 시계열 데이터를 처리하기 위한 딥러닝 기술 중의 하나이다. RNN은 일반적으로 현재 상태를 이전 상태와 입력 값을 통해서 예측하게 된다. 여기서, 이전 상태는 히든 레이어(hidden layer)에서 재귀(recurrent)되어 현재 상태에 반영되기 때문에, 이전의 계산 결과가 다음 계산에 영향을 미치는 구조이다.
본 발명의 다양한 실시 예에 있어서, RNN은 CNN에 다양한 방식으로 결합될 수 있다.
예를 들어, 동영상을 구성하는 복수의 입력 프레임은 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력될 수 있다. 이후, 어느 하나에서 순차적으로 출력되는 프레임이 RNN 및 CNN 중 다른 하나에 순차적으로 입력할 수 있다.
도 2는 간단한 구조의 예로서, 동영상의 복수의 프레임이 RNN(21)에 순차적으로 입력되고, RNN(21)에서 출력되는 프레임이 CNN(22)에 순차적으로 입력되는 구조를 도시한 것이다. RNN(21)은 현재(t) 프레임 xt가 RNN(21)에 인풋으로 입력되고, 현재 프레임의 히든 상태(hidden state)에 대한 정보 ht가 다음 프레임의 히든 레이어로 재귀되는 구조를 갖는다.
현재 프레임의 히든 상태에 대한 정보 ht는 이전 프레임의 히든 상태에 대한 정보 ht -1에 의해 갱신되고, 현재 프레임의 히든 레이어의 아웃풋 yt는 ht를 전달받아 갱신된다. 현재 프레임의 히든 상태에 대한 정보 ht를 수식으로 표현하면 다음과 같다.
Figure 112018011667554-pat00001
수학식 1에서, Wh는 RNN(21)의 인풋 xt에 콘볼루션되는 가중치(연결선 ①의 가중치), Uh는 이전 프레임의 히든 상태에 대한 정보 ht - 1와 콘볼루션되는 가중치(연결선 ②의 가중치), bh는 연결선 ①의 바이어스(bias)이다. σh는 히든 레이어의 활성함수를 의미하며, 활성함수로는 비선형 함수가 사용된다. 예를 들어, σh는 대표적인 비선형 함수인 tanh일 수 있다.
한편, RNN(21)의 아웃풋 yt를 수식으로 표현하면 다음과 같다.
Figure 112018011667554-pat00002
수학식 2에서, Wy는 현재 프레임의 히든 상태에 대한 정보 ht와 콘볼루션되는 가중치(연결선 ③의 가중치) by는 연결선 ③의 바이어스(bias)이다. σy는 RNN(21)의 출력단의 활성함수이다.
이에 따라, CNN(22)에 입력되는 복수의 프레임은 각각 이전 프레임의 히든 상태에 대한 정보를 포함하게 되고 따라서, CNN(22)에서 복수의 프레임간의 연속성이 반영된 초해상 처리가 수행할 수 있다.
CNN(22)으로 순차적으로 입력되는 복수의 프레임은 해상도가 변환되지 않은 저해상도의 프레임이고, CNN(22)에서 출력되는 복수의 피쳐맵은 CNN(22)에 입력된 대응되는 프레임보다 상대적으로 고해상도인 프레임에 대한 정보, 즉, 고해상도인 프레임으로 변환될 수 있는 정보를 포함하고 있는 피쳐맵이다. 이러한 의미해서, CNN(22)에서 출력되는 복수의 피쳐맵은 yt sr로 표현하여, CNN(22)에 입력되는 복수의 프레임 yt과 구별하도록 한다.
CNN(22)의 출력 피쳐맵 yt sr에 대하여는 디콘볼루션/콘볼루션(23)이 각각 순차적으로 수행되어 고해상도로 스케일업된 복수의 프레임 xt SR가 생성된다. 복수의 프레임 xt SR가 순차적으로 결합되어 최종적으로 고해상도로 스케일업된 동영상이 출력된다.
한편, 도 2에 도시된 예에서, RNN(21)과 CNN(22)의 순서가 서로 변경된 형태의 뉴럴 네트워크 구조도 구현 가능하다. CNN(22)에서 출력된 현재 프레임의 피쳐맵 xt sr가 RNN(21)에 입력되고, RNN(21)에서 현재 프레임의 히든 상태에 대한 정보 ht가 다음 프레임의 히든 레이어에 재귀됨으로써, 이전 프레임에 대한 정보가 반영된 복수의 피쳐맵 yt sr 순차적으로 출력될 수 있다.
도 3은 다른 구조의 예로서, 동영상의 복수의 프레임이 제1 RNN(31)에 순차적으로 입력되고, 제1 RNN(31)에서 출력되는 피쳐맵이 CNN(32)에 순차적으로 입력되며, CNN(32)에서 출력된 피쳐맵이 다시 제2 RNN(33)으로 순차적으로 입력되는 구조를 도시한 것이다.
제1 RNN(31)에서는 현재 프레임 xt가 인풋으로 입력되고, 현재 프레임의 히든 상태에 대한 정보 ht가 다음 프레임의 히든 레이어로 재귀된다. 현재의 히든 상태에 대한 정보 ht는 이전 프레임의 히든 상태에 대한 정보 ht -1에 의해 갱신되며, 제1 RNN(31)의 아웃풋으로서 yt가 출력된다.
또한, 제1 RNN(31)에서 출력된 yt가 CNN(32)으로 입력되면, 고해상도인 프레임으로 변환될 수 있는 정보를 포함하는 피쳐맵 yt sr이 출력되며, 출력된 yt sr이 제2 RNN(33)으로 입력된다. 제2 RNN(33)에서는 제1 RNN(31)과 마찬가지로, 현재 프레임의 피쳐맵 yt sr의 히든 상태에 대한 정보 h't가 다음 프레임의 히든 레이어로 재귀되는 구조를 갖는다. 도 3은 현재 프레임의 히든 상태에 대한 정보 h't가 연결선 ⑤를 통해 다음 프레임의 히든 레이어로 재귀되는 것을 도시한 것이다.
이때, 제2 RNN(33)은 도 3에 도시된 바와 같이, 제1 RNN(31)의 현재 프레임 xt의 히든 레이어로도 h't를 재귀시킬 수 있다(연결선 ⑥).
즉, 제1 RNN(31)에서는 CNN(32)에 입력되기 전에 있어서, 상대적으로 저해상도를 가지는 이전 프레임의 히든 상태에 대한 정보 ht - 1와 CNN(32)에 입력된 후에 있어서, 상대적으로 고해상도 프레임으로 변환될 수 있는 정보를 포함하는 이전 프레임의 히든 상태에 대한 정보 h't -1에 의해 ht가 갱신되고, 갱신된 ht에 따라 제1 RNN(31)의 아웃풋 yt가 출력된다.
이에 따라, 제1 RNN(31)에 있어서, 현재 프레임의 히든 상태에 대한 정보 ht를 수식으로 표현하면 다음과 같다.
Figure 112018011667554-pat00003
수학식 3에서, 제2 RNN(33)의 이전 프레임의 히든 상태에 대한 정보 h't -1과 콘볼루션되는 가중치 Vh는 제2 RNN(33)에서 제1 RNN(31)으로 재귀되는 연결선 ⑥의 가중치를 의미한다. 나머지 변수는 수학식 1과 같다.
즉, ht는 상대적으로 저해상도를 가지는 이전 프레임의 히든 상태에 대한 정보 ht - 1와 상대적으로 고해상도 프레임으로 변환될 수 있는 정보를 포함하는 이전 프레임의 히든 상태에 대한 정보 h't - 1를 모두 포함하므로, CNN(32) 과정에서 이전 프레임의 정보가 더욱 잘 반영된 초해상 처리가 가능하게 된다.
한편, 제2 RNN(33)에서 재귀되는 h't를 수식으로 표현하면 다음과 같다.
Figure 112018011667554-pat00004
수학식 4에서 W'h는 제2 RNN(33)으로 입력되는 연결선 ④의 가중치를 의미한다. U'h는 제2 RNN(33)에서 이전 프레임의 히든 레이어로 재귀되는 연결되는 연결선 ⑤의 가중치를 의미한다. b'h는 제2 RNN(33)으로 입력되는 연결선 ④의 바이어스이다.
한편, 제2 RNN(33)의 아웃풋 y't를 수식으로 표현하면 다음과 같다.
Figure 112018011667554-pat00005
수학식 5에서, W'y 및 b'y는 제2 RNN(33)에서 y't가 출력되는 연결선 ⑦의 가중치 및 바이어스를 각각 의미한다.
제2 RNN(33)에서 출력된 y't에 대하여는 도 2의 실시 예와 마찬가지로, 디콘볼루션/콘볼루션(23)이 각각 순차적으로 수행되어 고해상도로 스케일업된 복수의 프레임 xt SR가 생성된다. 복수의 프레임 xt SR가 순차적으로 결합되어 최종적으로 고해상도로 스케일업된 동영상이 출력된다.
이와 같은 도 3의 실시 예에 따르면, CNN(32)의 앞뒤 단에 위치하는 RNN에서 각각 저해상도를 가지는 이전 프레임에 대한 정보와 고해상도 프레임으로 변환될 수 있는 정보를 가지는 이전 프레임에 대한 정보를 현재 프레임이 고해상도 프레임으로 변환되기 위한 정보를 추출하는 데에 반영할 수 있게 된다.
도 4는 다른 구조의 예로서, 동영상의 복수의 프레임이 RNN(41)에 순차적으로 입력되고, RNN(41)에서 출력되는 프레임이 CNN(42)에 순차적으로 입력되며, CNN(42)에서 출력된 피쳐맵이 다시 RNN(41)으로 재귀되는 구조를 도시한 것이다.
RNN(41)에서 현재 프레임 xt가 인풋으로 입력되고, 현재 프레임의 히든 상태에 대한 정보 ht - 1는 다음 프레임의 히든 레이어로 재귀된다. 현재 프레임의 히든 상태에 대한 정보 ht는 이전 프레임의 히든 상태에 대한 정보 ht -1에 의해 갱신되며, RNN(41)의 아웃풋으로서 yt가 출력된다.
또한, RNN(41)에서 출력된 yt가 CNN(42)으로 입력되면, 고해상도인 프레임으로 변환될 수 있는 정보를 포함하는 피쳐맵 yt sr이 출력된다. 이때, 출력되는 yt sr은 RNN(41)으로 재귀된다. 도 4는 CNN(42)에서 출력된 이전 프레임의 출력 yt -1 sr이 연결선 ⑤를 통해 RNN(41)의 현재 프레임의 히든 레이어로 재귀된 것을 도시한 것이다.
이때, RNN(41)에서 현재 프레임의 히든 상태에 대한 정보 ht를 수식으로 표현하면 다음과 같다.
Figure 112018011667554-pat00006
수학식 6에서, Vh는 RNN(41)으로 재귀되는 연결선 ⑤의 가중치를 의미한다. 나머지 변수는 수학식 3과 같다.
한편, 도 4에 도시된 구조의 변형으로서, 연산 효율을 높이기 위해서, RNN(41)에서 ht가 재귀되지 않는 구조도 가능하다. 즉, 도 4의 구조에서 연결선 ②가 생략된 구조이다. 이때, RNN(41)에서 현재 프레임의 히든 상태에 대한 정보 ht는 다음과 같은 수식으로 표현될 수 있다.
Figure 112018011667554-pat00007
수학식 7에서, Uh는 RNN(41)으로 재귀되는 연결선 ⑤의 가중치를 의미한다. 나머지 변수는 수학식 6과 같다.
CNN(42)에서 출력된 yt sr에 대하여는 상술한 실시 예들과 마찬가지로, 디콘볼루션/콘볼루션(43)이 각각 순차적으로 수행되어 고해상도로 스케일업된 복수의 프레임 xt SR가 생성된다. 복수의 프레임 xt SR가 순차적으로 결합되어 최종적으로 고해상도로 스케일업된 동영상이 출력된다.
도 5는 본 발명의 일 실시 예에 따른, 복수의 RNN이 직렬로 연결된 구조를 도시한 것이다. 직렬로 연결된 제1 RNN 및 제2 RNN은 각각 현재 프레임의 히든 상태에 대한 정보 ht를 다음 프레임의 히든 레이어에 재귀시키고, 제2 RNN에서의 현재 프레임의 히든 상태에 대한 정보 h't는 제1 RNN의 다음 프레임의 히든 레이어에 추가적으로 재귀될 수 있다. 이와 같은 구조를 Interconnected RNNs라고 명명할 수 있다.
제1 RNN(51)에서의 현재 프레임의 히든 상태에 대한 정보 ht는 수학식 3와 같으며, 제1 RNN(51)의 아웃풋 yt는 수학식 2와 같다. 또한, 제2 RNN(51)에서의 현재 프레임의 히든 상태에 대한 정보 h't 및 제2 RNN(51)의 아웃풋 y't는 각각 수학식 4 및 5와 같다.
결론적으로, 제2 RNN(52)에서 재귀되는 연결선을 통해, 제1 RNN(51)은 제1 RNN(51)이 속한 레이어뿐만 아니라 선처리된 다른 레이어에서의 이전 프레임에 대한 정보를 획득하여 불연속적 아티팩트가 보다 감소된 아웃풋을 출력할 수 있는 효과가 있다. 이와 같은 RNN 직렬 연결 구조는 영상 인식이나 영상 분류 등에서 유효하게 이용될 수 있을 것으로 예상된다.
한편, 상술한 다양한 실시 예들에 있어서, RNN은 그라디언트 소실(vanising gradient)을 해결하기 위한 네트워크 구조인 LSTM(Long Short-Term Memory)로 구현될 수도 있다.
도 6은 본 발명의 일 실시 예에 다른, 동영상의 초해상 처리 방법을 설명하기 위한 흐름도이다.
먼저, 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력한다(S610). 복수의 입력 프레임이 입력된 어느 하나에서 순차적으로 출력되는 프레임을 RNN 및 CNN 중 다른 하나에 순차적으로 입력한다(S620). 이때, 타 RNN에서 순차적으로 출력되는 프레임을 디콘볼루션하여, 출력 프레임의 해상도를 업스케일링(upcaling)할 수 있다(S630).
이하에서는, 동영상을 구성하는 복수의 입력 프레임을 먼저 RNN에 순차적으로 입력하고, RNN에서 출력되는 프레임을 CNN에 순차적으로 입력하는 순서의 초해상 처리 방법에 대하여 설명하도록 한다.
CNN에서 순차적으로 출력되는 프레임은 RNN에 재귀될 수 있으며, 이때, CNN에서 순차적으로 출력되는 프레임은 RNN에서 입력된 대응되는 제1 프레임보다 고해상도인 제2 프레임에 대한 정보를 포함할 수 있다.
이때, CNN은 레지듀얼 네트워크(Residual Network, ResNet)를 포함할 수 있으며, 레지듀얼 네트워크는 RNN으로부터 순차적으로 입력되는 프레임을 필터링하여 피쳐맵을 생성하고, 피쳐맵에 대한 배치 정규화(batch normalization) 및 정규화된 피쳐맵에 활성함수(activation function)를 적용하는 레지듀얼 블록(residual block, resblock)이 직렬로 연결된 구조의 네트워크일 수 있다.
또한, CNN에서 순차적으로 출력되는 프레임이 타 RNN에 순차적으로 입력될 수 있으며, 타 RNN의 히든 상태에 대한 정보가 RNN에 재귀될 수 있다.
한편, 일반적으로 동영상은 많은 수의 장면 전환을 포함한다. 장면 전환이 이루어질 때의 이전 프레임에 대한 정보는 현재 프레임과 연속성이 존재하지 않기 때문에, RNN에서 이전 프레임에 대한 정보를 현재 프레임에 반영할 필요가 없으며, 반영할 경우 오히려 초해상 처리의 품질이 떨어질 수 있다.
따라서, 상술한 적어도 하나의 RNN에 있어서, 재귀된 이전 프레임의 히든 상태에 대한 정보에 기초하여, 동영상의 장면 전환이 예측될 수 있으며, 장면 전환이 예측되면, 이전 프레임의 히든 상태에 대한 정보가 제로(zero) 값으로 변경될 수 있다. 제로 값으로 변경된 이전 프레임의 히든 상태에 대한 정보에 기초하여, 현재 프레임의 히든 상태에 대한 정보가 갱신될 수 있다.
이에 따라, 현재 프레임의 히든 상태에 대한 정보는 제로 값이 반영되기 때문에 실질적으로, 이전 프레임의 히든 상태에 대한 정보가 현재 프레임의 히든 상태에 대한 정보에 영향을 미치지 않게 된다.
여기서, 동영상을 구성하는 복수의 프레임들 간의 장면 전환을 예측하는 방법은, 이전 프레임의 히든 상태에 대한 정보 ht -1에 기초하여 현재 프레임의 히든 상태에 대한 정보 ht |t- 1를 예측하고, 예측된 ht |t- 1를 이용하여 에러율을 산출하며, 산출된 에러율이 기설정된 임계값을 초과하는지 여부에 따라 동영상의 장면 전환을 예측하는 방식으로 이루어질 수 있다.
구체적으로, 예측된 ht |t- 1는 다음과 같은 수식에 의해 표현될 수 있다.
Figure 112018011667554-pat00008
수학식 8에서, W^h, U^h, V^h 및 b^n는 각각 현재 프레임의 히든 상태에 대한 정보 ht를 예측하기 위해 기설정된 별도의 가중치를 의미한다.
한편, 현재 프레임의 히든 상태에 대한 정보 ht는 수학식 3과 같다.
장면 전환 여부에 대한 판단은 다음과 같은 공식에 따라 이루어질 수 있다.
Figure 112018011667554-pat00009
즉, 장면 전환을 예측하는 방법은 ht와 ht |t-1의 차이값 및 프레임 사이즈 m에 기초하여 산출된 값이 기설정된 임계값(threshold)보다 큰 경우, t 및 t-1 사이에 장면 전환이 된 것으로 판단할 수 있으며, ht -1 및 h't -1을 제로 값으로 변경하며, 제로 값으로 변경된 ht -1 및 h't -1에 기초하여 ht를 갱신할 수 있다.
한편, 도 7에 도시된 바와 같이, CNN 및 RNN의 연산 처리를 모듈화하여 초해상 배율을 조정할 수도 있다. 즉, CNN 및 RNN이 결합된 뉴럴 네트워크를 포함한 모듈을 직렬로 연결하고, 각 모듈의 출력단을 디콘볼루션 및 콘볼루션 연산을 수행하는 모듈과 연결함으로써, 2배 혹은 4배로 스케일업된 동영상을 출력할 수 있다. 각 모듈의 동작은 도 2 내지 도 5에서 설명한 바와 같다. 여기서, 기설정된 스케일업 비율은 각 모듈의 출력단에 입력될 수 있으며, 기설정된 스케일업 비율에 따라 동영상이 정수배로 스케일업될 수 있다.
도 8은 본 발명의 일 실시 예에 따른, 동영상의 출력 포맷에 따라 채널을 분리하여 초해상 처리를 수행하는 방법을 설명하기 위한 도면이다.
초해상 처리를 위해 입력되는 동영상은 RGB 채널, YCbCr 채널(혹은 YUV 채널) 중 어느 하나의 출력 포맷을 가질 수 있다. YCbCr 채널은 각 픽셀마다 휘도 성분(Luma Sample)과 색차 성분(Chroma Sample)을 구분하여 저장하는 형태로서, Y는 휘도 성분, Cb 및 Cr은 색차 성분에 해당한다. YCbCr 채널 방식은 RGB 채널 방식에 있어서, R, G, B 각 성분들 사이에 존재하는 공간적 데이터 중복을 줄임으로써 전송과 저장에 있어서 효율성을 높인 방식이다.
한편, 사람의 눈이 컬러 영상을 인식하는데 있어서, 색상을 인식하는 것이 영상의 밝고 어두운 정도를 인식하는 것에 비해 상대적으로 둔감한 특징이 있기 때문에, 동영상의 경우 Y 성분에 많은 비트수(해상도)를 할당하고, Cb, Cr 성분에는 낮은 비트수를 할당하는 방식으로 압축된다.
따라서, 이러한 YCbCr 채널의 출력 포맷을 가지는 동영상에 대하여 초해상 처리를 수행하는 경우, 도 8에 도시된 바와 같이, Y 성분만 RNN 및 CNN이 결합된 뉴럴 네트워크 구조에 입력하고, Cb 및 Cr 성분은 기존의 방식 등과 같은 별도의 처리를 거쳐 업스케일링하는 방식을 사용하면, 연산량이 줄어들고, 연산 속도가 높아지는 등 연산 효율이 크게 증가한다는 장점이 있다. Cb 및 Cr 성분은 업스케일러(80)에서 별도의 처리를 거쳐 업스케일링되고, 업스케일된 Cb 및 Cr 성분은 출력단에서 업스케일된 Y 성분과 결합되어 최종적으로 모든 칼라 성분이 업스케일된 동영상을 획득할 수 있다.
도 9는 본 발명의 일 실시 예에 따른, 영상 처리 장치의 구성을 간략히 도시한 블록도이다.
도 9를 참조하면, 영상 처리 장치(100)는 영상 입력부(110) 및 프로세서(120)를 포함한다.
영상 입력부(110)는 영상을 입력받기 위한 구성이다. 영상은 정지 영상 및 동영상을 포함할 수 있다.
프로세서(120)는 영상 처리 장치(100)의 전반적인 동작을 제어하기 위한 구성이다. 프로세서(120)는 상술한 초해상 처리 방법을 수행할 수 있으며, MCU(Micro Controller Unit) 등의 임베디드프로세서(embeded processor)로 구현될 수 있다.
구체적으로, 프로세서(120)는 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network) 및 CNN(Convolutional Neural Network) 중 어느 하나에 순차적으로 입력하고, 어느 하나에서 순차적으로 출력되는 프레임을 RNN 및 CNN 중 다른 하나에 순차적으로 입력할 수 있다.
이때, 프로세서(120)는 다른 하나에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여, 출력 프레임의 해상도를 업스케일링(upscaling)할 수 있다.
이하에서는, 프로세서(120)는 복수의 입력 프레임을 RNN에 순차적으로 입력하고, RNN에서 출력되는 프레임을 CNN에 순차적으로 입력되는 실시 예에 대하여 설명하도록 한다.
프로세서(120)는 CNN에서 순차적으로 출력되는 프레임을 RNN에 재귀시키고, CNN에서 출력되는 프레임은, RNN에 입력된 대응되는 제1 프레임보다 고해상도인 제2 프레임에 대한 정보를 포함할 수 있다.
또한, 프로세서(120)는 CNN에서 순차적으로 출력되는 프레임을 타 RNN에 순차적으로 입력하고, 타 RNN의 히든 상태(hidden status)에 대한 정보를 RNN에 재귀시킬 수 있다. 이때, 프로세서(120)는 타 RNN에서 순차적으로 출력되는 프레임에 대하여 디콘볼루션을 수행할 수 있다.
또한, 프로세서(120)는 CNN을 통해, RNN으로부터 순차적으로 입력되는 프레임을 필터링하여 피쳐맵(feature map)을 생성하고, 피쳐맵에 대한 배치(batch) 정규화(normalization)를 수행하며, 정규화된 피쳐맵에 활성 함수(activation function)를 적용하여 초해상 처리를 수행할 수 있다.
또한, 프로세서(120)는, RNN에서 재귀된 이전 프레임의 히든 상태에 대한 정보를 이용하여, 동영상의 장면 전환을 예측하고, 장면 전환이 예측되면, 이전 프레임의 히든 상태에 대한 정보를 제로(zero) 값으로 변경하며, 제로 값으로 변경된 이전 프레임의 히든 상태에 대한 정보에 기초하여, 현재 프레임의 히든 상태에 대한 정보를 업데이트할 수 있다.
또한, 프로세서(120)는, 이전 프레임의 히든 상태에 대한 정보에 기초하여 예측되는 현재 프레임의 히든 상태에 대한 정보를 이용하여 에러율을 산출하고, 산출된 에러율이 기설정된 임계값을 초과하는지 여부에 따라 동영상의 장면 전환을 예측할 수 있다.
또한, 프로세서(120)는, 동영상의 출력 포맷이 YCbCr 채널 또는 YUV 채널인 경우, 복수의 입력 프레임 중 Y 채널에 대응되는 프레임들만 RNN 및 CNN 중 어느 하나에 순차적으로 입력할 수 있다.
다만, 디콘볼루션(deconvolution)을 수행하여, 출력 프레임의 해상도를 업스케일링(upscaling)하는 동작은 실시 예에 따라, 프로세서(120)와 별도의 프로세싱 소자인 업스케일러(80)에서 수행될 수도 있다.
이상과 같은 실시 예에 따르면, CNN 모듈에 비해 상대적으로 매우 적은 연산량을 요구하는 RNN 모듈을 CNN 모듈과 결합함으로써, 적은 연산량으로도 연속 프레임을 효율적으로 처리할 수 있는 효과가 있다.
도 10은 본 발명의 일 실시 예에 따른 이전 프레임의 피쳐맵을 로드하여 현재 프레임의 피쳐맵에 반영하는 방법을 설명하기 위한 도면이다.
도 10에 도시된 바와 같이, 영상 처리 장치(100)의 저장부(130)에는 CNN에 입력되는 현재 t의 프레임 It와 t-1일 때의 이전 프레임의 피쳐맵(92-1)에 대한 ht -1이 저장된다. 여기서, 이전 프레임의 피쳐맵(92-1)에 대한 ht - 1는 이전 프레임의 피쳐맵(92-1)에 대한 정보를 포함한다.
이와 함께, 저장부(130)에는 이전 프레임의 피쳐맵(92-1)에 대한 ht -1에 적용되는 콘볼루션 가중치(convolution weight)가 파라미터로 저장될 수 있다. 저장부(130)에 저장되는 이전 프레임의 피쳐맵에 대한 ht - 1는 이전 프레임의 제1 피쳐맵 내지 제n 피쳐맵(102-1 ~ 102-N) 각각에 대응되는 ht-1을 각각 포함할 수 있다.
한편, 저장부(130)는 DMA(Direct Memory Access) 콘트롤러(131)에 의해 프로세서(120)의 개입 없이 제어될 수 있으며, DMA 콘트롤러(131)가 저장부(130)로부터 직접 현재 프레임 It, 이전 프레임의 제1 특징맵(92-1)에 대한 ht -1 및 파라미터를 읽어들일 수 있다. DMA 콘트롤러(131)는 읽어들인 현재 프레임 It, 이전 프레임의 제1 특징맵(92-1)에 대한 ht -1 및 파라미터를 캐쉬 메모리(132)에 임시로 저장하게 된다. 다만, 여기서 DMA(Direct Memory Access) 콘트롤러(131)의 동작은 프로세서(120)에서 수행될 수도 있다.
이때, 프로세서(120)는 캐쉬 메모리(132)에 저장된 이전 프레임의 제1 특징맵(92-1)에 대한 ht - 1를 현재 프레임의 제1 특징맵(102-1)에 대한 ht에 반영하는 타임 필터링을 수행하여, 현재 프레임의 제1 특징맵(102-1)에 대한 ht가 갱신된 ht'를 출력할 수 있다. 이때, ht'는 ht와 ht -1을 인자로 하는 특정 함수의 출력값이 될 수 있다.
갱신된 ht'는 현재 프레임의 제1 특징맵(102-1)에 대한 ht와 더하여져서, 현재 프레임의 제2 피쳐맵(102-2)을 나타내는 ht'가 된다. 이러한 타임 필터링 과정은 이전 프레임의 제2 피쳐맵 내지 제n 피쳐맵(102-1 ~ 102-N)에 대한 ht -1에 대하여도 동일하게 수행될 수 있다.
프로세서(120)는 이렇게 출력된 최종 피쳐맵(102-N)에 디콘볼루션 연산을 수행하여, 고해상도의 피쳐맵(103)을 생성할 수 있으며, 고해상도의 피쳐맵(103)에 다시 콘볼루션 연산을 수행하여, 최종적으로 3채널의 고해상도 프레임(104)을 획득할 수 있다.
이에 따라, 누적된 이전 프레임의 모션을 내부적으로 보상함으로써, 움직임이 부드러운 고해상도 비디오 영상이 생성될 수 있게 된다.
다만, 상술한 바와 같이, 이전 프레임의 피쳐맵(92-1)에 대한 ht -1을 저장부(130)에 저장하는 실시 예의 경우, 대용량의 저장공간이 필요하고, 많은 채널(64ch)의 ht-1을 로드함에 따라, 큰 대역폭이 발생하는 문제점이 있다.
도 11은 본 발명의 도 10에 도시된 실시 예에 따라 발생되는 저장 공간 및 대역폭 이슈를 해결하기 위한 본 발명의 추가 실시 예를 설명하기 위한 도면이다.
도 11에 도시된 바와 같이, 저장부(130)에는 이전 프레임의 피쳐맵에 대한 ht-1가 저장되는 것이 아니라, 입력 프레임 It -1(91-1)이 저장된다. 즉, 64채널의 ht -1이 저장되는 것이 아니라, 3채널의 입력 프레임 It -1(91-1)이 저장되므로, 저장 공간의 효율화가 가능하게 된다.
한편, DMA 콘트롤러(131)는 저장부(130)에 저장된 이전의 입력 프레임 It -1(91-1)을 읽어들인 후, 캐쉬 메모리(132)에 임시로 저장하게 된다. 프로세서(120)는 캐쉬 메모리(132)에 저장된 3채널의 입력 프레임 It -1(91-1)에 대하여 CNN과 마찬가지로 피쳐맵을 생성하기 위한 필터링(이하, 특징 필터링)을 수행하여, 64채널의 피쳐맵(91-2)을 생성한다. 생성된 64채널의 피쳐맵(91-2)에 대하여는 도 10에 도시된 바와 같이 타임 필터링을 거치게 되는데, 도 11에서는 t-2일 때의 입력 프레임 It -2(101-1)에 대하여도 특징 필터링을 수행하여 t-2일 때의 64채널의 피쳐맵(101-2)을 추가적으로 생성하는 예가 도시된 것이다.
이때, 프로세서(120)는 t-2일 때의 피쳐맵(91-2)에 대한 ht -2에 t-1일 때의 피쳐맵(101-2)에 대한 ht -1을 반영하여, t-2일 때의 피쳐맵(91-2)에 대한 ht -2가 갱신된 ht -2'를 출력할 수 있다. 이때, ht -2'는 ht -2와 ht -1을 인자로 하는 특정 함수의 출력값이 될 수 있다.
프로세서(120)는 갱신된 ht -2'를 현재 프레임의 ht에 반영하여, 현재 프레임의 ht가 갱신된 ht'를 출력할 수 있다. 이때, ht'는 ht와 ht -2'를 인자로 하는 특정 함수의 출력 값이 될 수 있다.
갱신된 ht'는 현재 프레임의 ht와 더하여져서, 현재 프레임의 제2 특징맵(102-2)이 된다. 즉, 도 10에 도시된 실시 예와 같이, 저장부(130)에 입력 프레임 It -1을 저장하고, 이에 대하여 특징 필터링 및 타임 필터링을 수행하여 이전 프레임의 ht - 1를 생성하는 방식을 이용할 수도 있다. 이에 따라, 누적된 이전 프레임의 모션을 보상하면서도 ht - 1를 모두 저장하고, 이를 로딩함에 따른 저장 공간 및 대역폭과 관련된 이슈를 해결할 수 있다.
상술한 다양한 실시 예에 따른 동영상의 초해상 처리 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 다양한 제어 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다.
일 예로, 동영상을 구성하는 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network)에 입력하는 단계, RNN의 복수의 출력 프레임을 초해상 처리를 위한 CNN(Convolutional Neural Network)에 입력하는 단계 및, CNN의 복수의 출력 프레임에 디콘볼루션(deconvolution)을 수행하여 복수의 출력 프레임의 해상도를 업스케일링(upscaling)하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체한 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크 USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 영상 처리 장치 110: 입력부
120: 프로세서

Claims (19)

  1. 동영상의 초해상(super-resolution) 처리 방법에 있어서,
    상기 동영상을 구성하는 연속된 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network)에 순차적으로 입력하는 단계;
    상기 RNN에서 순차적으로 출력되는 프레임을 초해상 처리를 위한 CNN(Convolutional Neural Network)에 순차적으로 입력하는 단계; 및
    상기 CNN에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 상기 출력 프레임의 해상도를 업스케일링(upscaling)하는 단계;를 포함하고,
    상기 RNN에서 순차적으로 출력되는 프레임은,
    이전 프레임의 히든 상태에 기초하여 업데이트된 현재 프레임의 히든 상태에 관한 정보를 포함하고,
    상기 RNN은,
    상기 이전 프레임의 히든 상태에 대한 정보를 이용하여 상기 동영상의 장면 전환을 예측하고, 상기 장면 전환이 예측되면 상기 이전 프레임의 히든 상태에 대한 정보를 제로(zero) 값으로 변경하고, 상기 제로 값으로 변경된 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 상기 현재 프레임의 히든 상태에 대한 정보를 업데이트하는 것을 특징으로 하는 초해상 처리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 CNN에서 순차적으로 출력되는 프레임을 상기 RNN에 재귀시키는 단계;를 더 포함하며,
    상기 CNN에서 출력되는 프레임은,
    상기 RNN에 입력된 대응되는 제1 프레임보다 고 해상도인 제2 프레임에 대한 정보를 포함하는 것을 특징으로 하는, 초해상 처리 방법.
  4. 제1항에 있어서,
    상기 CNN에서 순차적으로 출력되는 프레임을 타 RNN에 순차적으로 입력하는 단계; 및
    상기 타 RNN의 히든 상태(hidden status)에 대한 정보를 상기 RNN에 재귀시키는 단계;를 더 포함하며,
    상기 업 스케일링 단계는,
    상기 타 RNN에서 순차적으로 출력되는 프레임을 디콘볼루션하는 것을 특징으로 하는, 초해상 처리 방법.
  5. 제1항에 있어서,
    상기 CNN은,
    상기 RNN로부터 순차적으로 입력되는 프레임을 필터링하여 피쳐맵(feature map)을 생성하고, 상기 피쳐맵에 대한 배치(batch) 정규화(normalization)를 수행하고, 상기 정규화된 피쳐맵에 활성 함수(activation function)를 적용하는 것을 특징으로 하는, 초해상 처리 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 장면 전환을 예측하는 단계는,
    상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 예측되는 현재 프레임의 히든 상태에 대한 정보를 이용하여 에러율을 산출하고, 상기 산출된 에러율이 기설정된 임계값을 초과하는지 여부에 따라 상기 동영상의 장면 전환을 예측하는 것을 특징으로 하는, 초해상 처리 방법.
  8. 제1항에 있어서,
    상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력하는 단계는,
    상기 동영상의 출력 포맷이 YCbCr 채널인 경우, 상기 복수의 입력 프레임 중 Y 채널에 대응되는 프레임들만 상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력하는 것을 특징으로 하는, 초해상 처리 방법.
  9. 제1항에 있어서,
    상기 RNN은,
    LSTM(Long Short-Term Memory) 네트워크를 포함하는 것을 특징으로 하는, 초해상 처리 방법.
  10. 동영상의 초해상 처리를 수행하는 영상 처리 장치에 있어서,
    상기 동영상을 입력받는 입력부; 및
    상기 동영상을 구성하는 연속된 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network)에 순차적으로 입력하고, 상기 RNN에서 순차적으로 출력되는 프레임을 초해상 처리를 위한 CNN(Convolutional Neural Network)에 순차적으로 입력하며,
    상기 CNN에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 상기 출력 프레임의 해상도를 업스케일링(upscaling)하는 프로세서;를 포함하고,
    상기 RNN에서 순차적으로 출력되는 프레임은,
    이전 프레임의 히든 상태에 기초하여 업데이트된 현재 프레임의 히든 상태에 관한 정보를 포함하고,
    상기 프로세서는,
    상기 이전 프레임의 히든 상태에 대한 정보를 이용하여 상기 동영상의 장면 전환을 예측하고, 상기 장면 전환이 예측되면 상기 이전 프레임의 히든 상태에 대한 정보를 제로(zero) 값으로 변경하며, 상기 제로 값으로 변경된 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 현재 프레임의 히든 상태에 대한 정보를 업데이트하는 것을 특징으로 하는 영상 처리 장치.
  11. 삭제
  12. 제10항에 있어서,
    상기 프로세서는,
    상기 CNN에서 순차적으로 출력되는 프레임을 상기 RNN에 재귀시키고,
    상기 CNN에서 출력되는 프레임은,
    상기 RNN에 입력된 대응되는 제1 프레임보다 고해상도인 제2 프레임에 대한 정보를 포함하는 것을 특징으로 하는, 영상 처리 장치.
  13. 제10항에 있어서,
    상기 프로세서는,
    상기 CNN에서 순차적으로 출력되는 프레임을 타 RNN에 순차적으로 입력하고, 상기 타 RNN의 히든 상태(hidden status)에 대한 정보를 상기 RNN에 재귀시키며,
    상기 타 RNN에서 순차적으로 출력되는 프레임에 대하여 디콘볼루션을 수행하는 것을 특징으로 하는, 영상 처리 장치.
  14. 제10항에 있어서,
    상기 CNN은,
    상기 RNN으로부터 순차적으로 입력되는 프레임을 필터링하여 피쳐맵(feature map)을 생성하고, 상기 피쳐맵에 대한 배치(batch) 정규화(normalization)를 수행하고, 상기 정규화된 피쳐맵에 활성 함수(activation function)를 적용하는 것을 특징으로 하는, 영상 처리 장치.
  15. 삭제
  16. 제10항에 있어서,
    상기 프로세서는,
    상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 예측되는 현재 프레임의 히든 상태에 대한 정보를 이용하여 에러율을 산출하고, 상기 산출된 에러율이 기설정된 임계값을 초과하는지 여부에 따라 상기 동영상의 장면 전환을 예측하는 것을 특징으로 하는, 영상 처리 장치.
  17. 제10항에 있어서,
    상기 프로세서는,
    상기 동영상의 출력 포맷이 YCbCr 채널인 경우, 상기 복수의 입력 프레임 중 Y 채널에 대응되는 프레임들만 상기 RNN 및 CNN 중 어느 하나에 순차적으로 입력하는 것을 특징으로 하는, 영상 처리 장치.
  18. 제10항에 있어서,
    상기 RNN은,
    LSTM(Long Short-Term Memory) 네트워크를 포함하는 것을 특징으로 하는, 영상 처리 장치.
  19. 동영상의 초해상 처리 방법을 실행하기 위한 프로그램이 저장된 기록 매체에 있어서,
    상기 초해상 처리 방법은,
    상기 동영상을 구성하는 연속된 복수의 입력 프레임을 초해상 처리를 위한 RNN(Recurrent Neural Network)에 순차적으로 입력하는 단계;
    상기 RNN에서 순차적으로 출력되는 프레임을 초해상 처리를 위한 CNN(Convolutional Neural Network)에 순차적으로 입력하는 단계; 및
    상기 CNN에서 순차적으로 출력되는 프레임에 디콘볼루션(deconvolution)을 수행하여 상기 출력 프레임의 해상도를 업스케일링(upscaling)하는 단계;를 포함하고,
    상기 RNN에서 순차적으로 출력되는 프레임은,
    이전 프레임의 히든 상태에 기초하여 업데이트된 현재 프레임의 히든 상태에 관한 정보를 포함하고,
    상기 RNN은,
    상기 이전 프레임의 히든 상태에 대한 정보를 이용하여 상기 동영상의 장면 전환을 예측하고, 상기 장면 전환이 예측되면 상기 이전 프레임의 히든 상태에 대한 정보를 제로(zero) 값으로 변경하고, 상기 제로 값으로 변경된 상기 이전 프레임의 히든 상태에 대한 정보에 기초하여 상기 현재 프레임의 히든 상태에 대한 정보를 업데이트하는 것을 특징으로 하는 기록 매체.
KR1020180012941A 2017-05-17 2018-02-01 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치 KR102511059B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201880032304.2A CN110622502B (zh) 2017-05-17 2018-05-16 用于活动图像的超分辨率处理方法及其图像处理装置
EP18801442.7A EP3566435B1 (en) 2017-05-17 2018-05-16 Super-resolution processing method for moving image and image processing apparatus therefor
PCT/KR2018/005633 WO2018212599A1 (en) 2017-05-17 2018-05-16 Super-resolution processing method for moving image and image processing apparatus therefor
US15/982,382 US10805634B2 (en) 2017-05-17 2018-05-17 Super-resolution processing method for moving image and image processing apparatus therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170061195 2017-05-17
KR1020170061195 2017-05-17

Publications (2)

Publication Number Publication Date
KR20180126362A KR20180126362A (ko) 2018-11-27
KR102511059B1 true KR102511059B1 (ko) 2023-03-17

Family

ID=64603497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180012941A KR102511059B1 (ko) 2017-05-17 2018-02-01 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치

Country Status (3)

Country Link
EP (1) EP3566435B1 (ko)
KR (1) KR102511059B1 (ko)
CN (1) CN110622502B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525578B1 (ko) 2018-10-19 2023-04-26 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR102222871B1 (ko) 2019-02-22 2021-03-04 삼성전자주식회사 디스플레이 장치 및 이의 영상 표시 방법
KR20200114436A (ko) 2019-03-28 2020-10-07 국방과학연구소 스케일러블 영상 부호화를 수행하는 장치 및 방법
KR20190117416A (ko) 2019-09-26 2019-10-16 엘지전자 주식회사 동영상 프레임 해상도를 향상시키기 위한 방법 및 장치
KR20190119550A (ko) 2019-10-02 2019-10-22 엘지전자 주식회사 영상의 해상도를 향상시키기 위한 방법 및 장치
KR102095443B1 (ko) * 2019-10-17 2020-05-26 엘아이지넥스원 주식회사 구조텐서를 이용한 딥러닝 기반의 영상 개선 방법 및 장치
KR102436512B1 (ko) * 2019-10-29 2022-08-25 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR102157610B1 (ko) * 2019-10-29 2020-09-18 세종대학교산학협력단 초고해상도 디지털 이미지 생성을 통한 자동화 구조물 손상 검출 시스템 및 그 방법
CN110827200B (zh) * 2019-11-04 2023-04-07 Oppo广东移动通信有限公司 一种图像超分重建方法、图像超分重建装置及移动终端
KR20210056733A (ko) * 2019-11-11 2021-05-20 삼성전자주식회사 스트리밍 데이터를 제공하는 전자 장치 및 그 작동 방법
KR102214502B1 (ko) * 2019-12-13 2021-02-09 한국과학기술원 이미지 합동 처리 방법 및 장치
CN111127325B (zh) * 2019-12-31 2020-11-24 珠海大横琴科技发展有限公司 基于循环神经网络的卫星视频超分辨率重建方法及系统
KR102198480B1 (ko) * 2020-02-28 2021-01-05 연세대학교 산학협력단 재귀 그래프 모델링을 통한 비디오 요약 생성 장치 및 방법
CN111246250B (zh) * 2020-03-13 2022-07-01 广州市百果园信息技术有限公司 视频处理方法、装置、设备及存储介质
JP7293157B2 (ja) * 2020-03-17 2023-06-19 株式会社東芝 画像処理装置
KR20230036675A (ko) 2021-09-08 2023-03-15 정수아 Cnn 영상처리기법을 이용한 의류 원단의 불량검출 방법
KR102565421B1 (ko) 2021-11-03 2023-08-11 김지현 딥러닝 기반 알고리즘을 통한 영상의 초해상화 처리 장치 및 방법
KR20230089882A (ko) 2021-12-14 2023-06-21 인하대학교 산학협력단 휴대폰 동작 변화 기반 동영상 해상도 자동 조절 시스템
KR102598334B1 (ko) 2021-12-24 2023-11-02 한양대학교 산학협력단 윤곽선 정보를 이용한 딥러닝 기반 초해상도 동영상 생성 시스템 및 방법
KR20230160096A (ko) * 2022-05-16 2023-11-23 주식회사 실리콘아츠 에지 선명도의 조정이 가능한 초해상화 이미지 생성 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016132152A1 (en) 2015-02-19 2016-08-25 Magic Pony Technology Limited Interpolating visual data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120113119A1 (en) * 2010-11-05 2012-05-10 Nova Research, Inc. Super resolution infrared imaging system
CN105072373B (zh) * 2015-08-28 2018-03-27 中国科学院自动化研究所 基于双向循环卷积网络的视频超分辨率方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016132152A1 (en) 2015-02-19 2016-08-25 Magic Pony Technology Limited Interpolating visual data

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
비특허문헌1
비특허문헌2
비특허문헌3
비특허문헌4
비특허문헌5

Also Published As

Publication number Publication date
KR20180126362A (ko) 2018-11-27
CN110622502A (zh) 2019-12-27
CN110622502B (zh) 2021-07-13
EP3566435A1 (en) 2019-11-13
EP3566435B1 (en) 2022-10-26
EP3566435A4 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
KR102511059B1 (ko) 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치
US10805634B2 (en) Super-resolution processing method for moving image and image processing apparatus therefor
CN107924554B (zh) 图像处理流水线中对图像数据的多速率处理
US20200327334A1 (en) Video frame segmentation using reduced resolution neural network and masks from previous frames
EP3951702A1 (en) Method for training image processing model, image processing method, network device, and storage medium
US8995792B2 (en) Image processor, image processing method, and digital camera
US9049380B2 (en) Image processing apparatus for generating an image having an expanded dynamic range and method thereof, and image capture apparatus
US8982251B2 (en) Image processing apparatus, image processing method, photographic imaging apparatus, and recording device recording image processing program
US20040105015A1 (en) Image processing device and image processing program
EP3602483A1 (en) Machine-learning based technique for fast image enhancement
CN106233719B (zh) 图像处理设备和方法以及外科手术系统
KR20200127766A (ko) 영상 처리 장치 및 그 영상 처리 방법
CN104954698A (zh) 能够生成合成视频图像的图像处理设备及其控制方法
US20220198625A1 (en) High-dynamic-range image generation with pre-combination denoising
EP4238305A1 (en) Frame processing and/or capture instruction systems and techniques
KR20200092492A (ko) 의미 인식 기반의 이미지 보정 방법 및 그를 위한 장치
US11087444B2 (en) Field programmable gate array (FPGA) implementation and optimization of augmented contrast limited adaptive histogram equalization
US11570384B2 (en) Image sensor employing varied intra-frame analog binning
CN115018715A (zh) 图像处理方法、电子设备及计算机可读存储介质
GB2600787A (en) Method and apparatus for video super resolution
US11521300B2 (en) Edge preserving noise reduction algorithm using inverse exponential function optimization
JP5852385B2 (ja) 撮像装置
JP5820213B2 (ja) 画像処理装置及びその方法、撮像装置
US10853919B2 (en) Image processing apparatus, image processing method, and program
US20240185405A1 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant