KR20220085283A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20220085283A
KR20220085283A KR1020200175222A KR20200175222A KR20220085283A KR 20220085283 A KR20220085283 A KR 20220085283A KR 1020200175222 A KR1020200175222 A KR 1020200175222A KR 20200175222 A KR20200175222 A KR 20200175222A KR 20220085283 A KR20220085283 A KR 20220085283A
Authority
KR
South Korea
Prior art keywords
frame
interpolation
reliability
obtaining
interpolation frame
Prior art date
Application number
KR1020200175222A
Other languages
English (en)
Inventor
송원석
김신행
정유선
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200175222A priority Critical patent/KR20220085283A/ko
Priority to US17/433,168 priority patent/US20230140006A1/en
Priority to PCT/KR2021/009607 priority patent/WO2022131471A1/ko
Publication of KR20220085283A publication Critical patent/KR20220085283A/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/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0145Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation being class adaptive, i.e. it uses the information of class which is determined for a pixel based upon certain characteristics of the neighbouring pixels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2625Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect
    • 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/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Television Systems (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 입력 영상을 저장하는 메모리 및 입력 영상에 포함된 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 입력 프레임으로써 획득하고, 제1 보간 방식에 기초하여 입력 프레임에 대응되는 제1 보간 프레임 및 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하고, 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 입력 프레임에 대응되는 제2 보간 프레임 및 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하고, 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 대응되는 가중치를 획득하고, 획득된 가중치에 기초하여 출력 영상을 획득하는 프로세서를 포함한다.

Description

전자 장치 및 그 제어 방법{ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}
본 개시는 보간 영상을 생성하는 전자 장치 및 그 제어방법에 관한 것으로, 더욱 상세하게는 서로 다른 보간 방식에서 획득되는 보간 영상들을 결합하는 전자 장치 및 그 제어방법에 대한 것이다.
보간 영상을 생성하는데 이용되는 보간 프레임 생성 방법은 블록 기반 보간 기법, 미분법 기반 보간 기법, 딥러닝 기반 보간 기법 등이 있을 수 있다.
여기서, 블록 기반 보간 기법은 블록 기반 구조에서 오는 해상도 및 움직임 모델의 한계와 MVF를 예측하는 과정에서 적용되는 일관성 가정 (Consistency Assumption) 으로 인하여 예측 오류가 발생할 수 있다.
블록 기반 구조는 영상 내 움직임을 예측하는 데 있어 영상을 블록 단위로 정합하므로 물체들이 수평 이동하는 경우에는 정확한 정합이 가능하지만 물체가 회전, 3차원 이동, 변형 등을 일으키는 경우에는 정합이 실패하는 경우가 빈번하게 발생할 수 있다.
또한, 대략적인 움직임을 알아내더라도 블록 단위로 영상을 보간하는 경우 물체의 자연스러운 변형을 표현할 수 없으며 블록과 블록 간의 경계 부분에 Blocky Artifact가 발생하는 경우가 있을 수 있다.
또한, 결과 영상 내 물체의 형상이 망가지거나 물체의 경계 및 내부에 Blocky 현상을 보이는 등의 문제가 발생할 수 있으며, 일관성 가정은 일관된 움직임을 가지고 있는 넓은 영역의 움직임을 예측하는 데에는 강점을 가지고 있으나, 작은 물체나 비선형적인 움직임을 가진 물체에 대해서는 오히려 오류를 증가시키는 문제를 가질 수 있다. 이러한 경우, 야구공이나 골프공 등과 같은 작은 물체가 결과 영상에서 여러 개로 보이거나 사라지는 등의 문제가 발생할 수 있다.
한편, 미분법 기반 보간 기법은 기본적으로 지역 윈도우를 벗어나는 빠른 움직임에 대한 검출이 어렵고 영상의 밝기 또는 형태가 시간에 따라 변화할 때 예측 성능이 떨어지는 문제가 발생할 수 있다.
한편, 딥러닝 기반 보간 기법은 일반적으로 CNN (Convolutional Neural Network)으로 구성된 시스템을 영상 DB를 이용하여 학습시키는 방식으로 구현될 수 있다.
따라서, 학습된 네트워크의 성능은 학습에 사용된 영상 DB의 특성에 따라서 크게 달라지며 학습 DB에 포함되어 있지 않은 특성을 가진 입력 영상에 대해서는 이상한 결과를 출력하는 경우가 발생할 수 있다. 딥러닝 기술을 이용한 학습 기반 프레임 보간 기법은 학습한 모델로부터 중간 프레임을 생성 (Synthesis) 하는 개념이므로 입력 영상을 처리할 수 있는 적당한 모델이 학습되지 않은 경우 중간 프레임의 왜곡이 더욱 크게 발생할 수 있다.
또한 딥러닝을 이용한 프레임 보간 시스템은 대부분 매우 크고 복잡한 네트워크를 사용하므로 이를 TV 등과 같은 소비자 가전 제품에서 실시간으로 고해상도의 동작을 구현하는 것은 불가능한 경우가 많을 수 있다. 따라서 딥러닝 기반 프레임 보간 기술의 장점을 소비자 가전에서 활용하기 위해서는 연산량 및 복잡도를 줄이는 기술이 반드시 필요할 수 있다.
본 개시는 상술한 문제를 개선하기 위해 고안된 것으로, 본 개시의 목적은 서로 다른 보간 방식에 따라 획득된 복수의 보간 영상을 서로 다른 보간 방식에 기초하여 획득된 신뢰도를 이용하여 결합하는 전자 장치 및 그의 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 실시 예에 따른 전자 장치는 입력 영상을 저장하는 메모리 및 상기 입력 영상에 포함된 제1 프레임 및 상기 제1 프레임의 이전 프레임인 제2 프레임을 획득하고, 제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 보간 프레임 및 상기 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하고, 상기 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 보간 프레임 및 상기 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하고, 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 대응되는 가중치를 획득하고, 상기 획득된 가중치에 기초하여 출력 영상을 획득하는 프로세서를 포함한다.
한편, 상기 프로세서는 상기 제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 움직임 벡터를 획득하고, 상기 제1 보간 방식에 기초하여 상기 획득된 제1 움직임 벡터에 대응되는 제1 보간 프레임을 획득하고, 상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 움직임 벡터를 획득하고, 상기 제2 보간 방식에 기초하여 상기 획득된 제2 움직임 벡터에 대응되는 제2 보간 프레임을 획득하고, 상기 제1 보간 프레임 및 상기 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득하고, 상기 제1 프레임, 상기 제2 프레임 및 상기 결합 보간 프레임에 기초하여 상기 출력 영상을 획득할 수 있다.
한편, 상기 프로세서는 상기 제1 움직임 벡터 또는 상기 제1 보간 프레임 중 적어도 하나에 기초하여 상기 제1 신뢰도를 획득할 수 있고, 상기 제2 움직임 벡터 또는 상기 제2 보간 프레임 중 적어도 하나에 기초하여 상기 제2 신뢰도를 획득할 수 있다.
한편, 상기 프로세서는 상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있고, 상기 획득된 다운 샘플링 프레임들에 대응되는 제2 움직임 벡터를 획득할 수 있고, 상기 제2 보간 방식에 기초하여 상기 획득된 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득할 수 있고, 상기 제1 보간 프레임 및 상기 제2 보간 프레임에 대응되는 업 샘플링 프레임에 기초하여 결합 보간 프레임을 획득할 수 있다.
한편, 상기 프로세서는 상기 제1 프레임 및 상기 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 식별할 수 있고, 상기 식별된 영역을 다운 샘플링하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있다.
한편, 상기 프로세서는 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임에 대응되는 제1 가중치 및 상기 제2 보간 프레임에 대응되는 제2 가중치를 획득할 수 있고, 상기 제1 가중치 및 상기 제2 가중치에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임이 결합된 출력 영상을 획득할 수 있다.
한편, 상기 프로세서는 상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득할 수 있고, 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 각각에 대응되는 가중치를 획득할 수 있고, 상기 획득된 가중치에 상기 픽셀 각각에 적용하여 상기 출력 영상을 획득할 수 있다.
한편, 상기 프로세서는 상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득할 수 있고, 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 영역 각각에 대응되는 가중치를 획득할 수 있고, 상기 획득된 가중치에 상기 픽셀 영역 각각에 적용하여 상기 출력 영상을 획득하고, 상기 픽셀 영역은 복수의 픽셀을 포함하는 영역일 수 있다.
한편, 상기 프로세서는 상기 제1 신뢰도 및 상기 제2 신뢰도가 임계값 미만이면, 상기 제2 보간 프레임에 기초하여 상기 출력 영상을 획득할 수 있다.
한편, 상기 제1 보간 방식은 블록 기반 보간 방식일 수 있고, 상기 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 입력 영상에 포함된 제1 프레임 및 상기 제1 프레임의 이전 프레임인 제2 프레임을 획득하는 단계, 제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 보간 프레임 및 상기 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하는 단계, 상기 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 보간 프레임 및 상기 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하는 단계, 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 대응되는 가중치를 획득하는 단계 및 상기 획득된 가중치에 기초하여 출력 영상을 획득하는 단계를 포함한다.
한편, 상기 제어 방법은 상기 제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 움직임 벡터를 획득하는 단계, 상기 제1 보간 방식에 기초하여 상기 획득된 제1 움직임 벡터에 대응되는 제1 보간 프레임을 획득하는 단계, 상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 움직임 벡터를 획득하는 단계, 상기 제2 보간 방식에 기초하여 상기 획득된 제2 움직임 벡터에 대응되는 제2 보간 프레임을 획득하는 단계, 상기 제1 보간 프레임 및 상기 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득하는 단계 및 상기 제1 프레임, 상기 제2 프레임 및 상기 결합 보간 프레임에 기초하여 상기 출력 영상을 획득하는 단계를 더 포함할 수 있다.
한편, 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하는 단계는 상기 제1 움직임 벡터 또는 상기 제1 보간 프레임 중 적어도 하나에 기초하여 상기 제1 신뢰도를 획득할 수 있고 상기 제2 움직임 벡터 또는 상기 제2 보간 프레임 중 적어도 하나에 기초하여 상기 제2 신뢰도를 획득할 수 있다.
한편, 상기 제어 방법은 상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득하는 단계, 상기 획득된 다운 샘플링 프레임들에 대응되는 제2 움직임 벡터를 획득하는 단계, 상기 제2 보간 방식에 기초하여 상기 획득된 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득하는 단계 및 상기 제1 보간 프레임 및 상기 제2 보간 프레임에 대응되는 업 샘플링 프레임에 기초하여 결합 보간 프레임을 획득하는 단계를 더 포함할 수 있다.
한편, 상기 다운 샘플링 프레임들을 획득하는 단계는 상기 제1 프레임 및 상기 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 식별할 수 있고, 상기 식별된 영역을 다운 샘플링하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있다.
한편, 상기 가중치를 획득하는 단계는 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임에 대응되는 제1 가중치 및 상기 제2 보간 프레임에 대응되는 제2 가중치를 획득할 수 있고, 상기 출력 영상을 획득하는 단계는 상기 제1 가중치 및 상기 제2 가중치에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임이 결합된 출력 영상을 획득할 수 있다.
한편, 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하는 단계는 상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득할 수 있고, 상기 가중치를 획득하는 단계는 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 각각에 대응되는 가중치를 획득할 수 있고, 상기 출력 영상을 획득하는 단계는 상기 획득된 가중치에 상기 픽셀 각각에 적용하여 상기 출력 영상을 획득할 수 있다.
한편, 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하는 단계는 상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득할 수 있고, 상기 가중치를 획득하는 단계는 상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 영역 각각에 대응되는 가중치를 획득할 수 있고, 상기 출력 영상을 획득하는 단계는 상기 획득된 가중치에 상기 픽셀 영역 각각에 적용하여 상기 출력 영상을 획득할 수 있고 상기 픽셀 영역은 복수의 픽셀을 포함하는 영역일 수 있다.
한편, 상기 출력 영상을 획득하는 단계는 상기 제1 신뢰도 및 상기 제2 신뢰도의 유사도가 임계값 미만이면, 상기 제2 보간 프레임에 기초하여 상기 출력 영상을 획득할 수 있다.
한편, 상기 제1 보간 방식은 블록 기반 보간 방식일 수 있고, 상기 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 도시한 블록도이다.
도 2는 도 1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 3은 보간 프레임을 이용하여 출력 영상을 생성하는 다양한 방법을 설명하기 위한 도면이다.
도 4는 보간 프레임을 이용하여 출력 영상을 생성하는 다양한 방법을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따라, 복수의 보간 방식을 이용하여 획득한 보간 영상을 결합하는 실시 예를 설명하기 위한 흐름도이다.
도 6은 도 5의 구체적인 동작을 설명하기 위한 도면이다.
도 7a는 제1 신뢰도 및 제2 신뢰도에 기초하여 출력 영상을 획득하는 실시 예를 설명하기 위한 도면이다.
도 7b는 출력 영상 생성시 가중치 필터링을 수행하는 동작을 설명하기 위한 도면이다.
도 8은 복수의 보간 방식 중 하나의 보간 방식에서 다운 샘플링 및 업 샘플링 동작을 수행하는 실시 예를 설명하기 위한 흐름도이다.
도 9는 도 8의 구체적인 동작을 설명하기 위한 도면이다.
도 10은 입력 영상의 움직임에 따라 다운 샘플링 영역을 결정하는 실시 예를 설명하기 위한 흐름도이다.
도 11은 도 10의 구체적인 동작을 설명하기 위한 도면이다.
도 12는 복수의 보간 방식 중 하나의 방식에서만 움직임 벡터를 획득하는 실시 예를 설명하기 위한 흐름도이다.
도 13은 도 12의 구체적인 동작을 설명하기 위한 도면이다.
도 14는 복수의 보간 방식 중 하나의 방식에서만 보간 프레임을 획득하는 실시 예를 설명하기 위한 흐름도이다.
도 15는 도 14의 구체적인 동작을 설명하기 위한 도면이다.
도 16은 다른 실시 예에 따른 전자 장치의 출력 영상 생성 방법을 설명하기 위한 도면이다.
도 17은 도 16의 구체적인 동작을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 도시한 블록도이다.
도 1을 참조하면, 메모리(110) 및 프로세서(120)로 구성될 수 있다.
본 명세서의 다양한 실시 예들에 따른 전자 장치(100)는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치(100)는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
메모리(110)는 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(120)와 별도의 메모리로 구현될 수도 있다. 이 경우, 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
메모리(110)에는 입력 영상이 저장될 수 있다. 입력 영상은 복수의 프레임을 포함할 수 있다.
한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
프로세서(120)는 전자 장치(100)의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어하는 기능을 한다.
프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), GPU(graphics-processing unit) 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(120)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
프로세서(120)는 입력 영상에 포함된 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 입력 프레임(들)로서 획득하고, 제1 보간 방식에 기초하여 입력 프레임에 대응되는 제1 보간 프레임 및 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하고, 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 입력 프레임에 대응되는 제2 보간 프레임 및 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하고, 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 대응되는 가중치를 획득하고, 획득된 가중치에 기초하여 출력 영상을 획득할 수 있다.
여기서, 입력 영상은 메모리(110)에 저장된 영상을 의미하고, 입력 영상은 복수의 프레임을 포함할 수 있다. 그리고, 제1 프레임은 현재 프레임을 의미하고, 제2 프레임은 이전 프레임을 의미할 수 있다. 여기서, 이전 프레임의 기준은 사용자의 설정에 따라 변경될 수 있으며, 이전 프레임의 기준을 1초라고 하면 제1 프레임이 3초에 재생되는 프레임이고 제2 프레임이 2초에 재생되는 프레임일 수 있다. 프로세서(120)는 현재 프레임(제1 프레임)과 기 설정된 시간(예를 들어, 1초)만큼의 이전 프레임(제2 프레임)을 획득할 수 있다.
여기서, 제1 보간 방식 및 제2 보간 방식은 블록 기반 보간 방식, 미분법 기반 보간 방식 또는 딥러닝 기반 보간 방식 중 어느 하나일 수 있다. 다만, 반드시 이에 한정되는 것은 아니며 다양한 보간 방식이 적용될 수 있다. 각 보간 방식에 대한 설명은 도 3 및 도 4에서 후술한다.
여기서, 제1 보간 방식 및 제2 보간 방식은 서로 상이한 보간 방식일 수 있다.
여기서, 프로세서(120)는 제1 보간 방식에 기초하여 제1 보간 프레임을 획득할 수 있다. 그리고, 프로세서(120)는 제2 보간 방식에 기초하여 제2 보간 프레임을 획득할 수 있다. 여기서, 제1 보간 프레임 및 제2 보간 프레임은 제1 프레임 및 제2 프레임의 사이에 추가되는 프레임을 의미할 수 있다.
여기서, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도를 획득할 수 있다. 여기서, 제1 신뢰도는 제1 보간 방식에 의해 획득한 제1 보간 프레임에 대응되는 신뢰도를 의미하고, 제2 신뢰도는 제2 보간 방식에 의해 획득한 제2 보간 프레임에 대응되는 신뢰도를 의미할 수 있다.
여기서, 신뢰도는 획득된(또는 생성된) 보간 프레임이 원본 프레임에 얼마나 일치하는지를 나타내는 정보일 수 있다. 신뢰도는 유사도 또는 정확도로 표현될 수 있다.
일 실시 예에 따른 신뢰도는 유사도일 수 있으며, 프로세서(120)는 제1 프레임 및 제2 프레임의 중간 프레임인 보간 프레임이 원본 프레임에 비하여 얼마나 일치하는지 판단하기 위하여 신뢰도를 획득할 수 있다. 신뢰도가 높을수록 보간 프레임이 원본 프레임에 더 일치하며, 신뢰도가 낮을수록 보간 프레임이 원본 프레임에 더 일치하지 않을 수 있다.
다른 실시 예에 따른 신뢰도는 정확도일 수 있으며, 신뢰도는 원본 프레임들 간의 움직임 추정 결과의 정확도를 의미할 수 있다. 여기서, 움직임 추정 결과의 정확도란 움직임 벡터의 정확도를 의미할 수 있다. 프로세서(120)는 제1 프레임 및 제2 프레임에 기초하여 움직임 추정 결과를 산출할 수 있으며, 산출된 움직임 추정 결과의 정확도를 신뢰도로서 이용할 수 있다.
여기서, 원본 프레임은 보간 프레임 생성에 이용되는 제1 프레임 및 제2 프레임을 의미할 수 있다.
보간 프레임은 제1 프레임과 제2 프레임 사이에 추가되어 단위 시간 당 영상의 프레임을 늘리는 것을 목적으로 한다. 따라서, 보간 프레임에 대응되는 신뢰도가 높을수록 보간 방식의 성능이 높다는 것을 의미할 수 있으며, 사용자의 만족도 및 영상의 품질이 높아질 수 있다.
여기서, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도에 기초하여 결합 보간 프레임을 생성할 수 있다. 여기서, 결합 보간 프레임은 제1 프레임 및 제2 프레임이 결합된 프레임을 의미할 수 있다. 제1 프레임은 제1 보간 방식에 기초하여 획득된 프레임이며 제2 프레임은 제2 보간 방식에 기초하여 획득된 프레임일 수 있다. 따라서, 결합 보간 프레임은 서로 다른 보간 방식에 기초하여 획득된 각 프레임을 하나의 프레임으로 결합한 프레임일 수 있다. 하나의 보간 방식을 이용하는 경우보다 서로 다른 보간 방식을 결합하는 방식은 각각의 보간 방식의 단점을 극복할 수 있다.
여기서, 프로세서(120)는 결합 보간 프레임을 생성하기 위하여 제1 신뢰도 및 제2 신뢰도를 가중치로서 이용할 수 있다. 구체적으로, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임에 대응되는 제1 가중치와 제2 보간 프레임에 대응되는 제2 가중치를 획득할 수 있다.
여기서, 제1 가중치는 제1 신뢰도가 전체 신뢰도에서 차지하는 비율을 의미할 수 있으며, 제2 가중치는 제2 신뢰도가 전체 신뢰도에서 차지하는 비율을 의미할 수 있다. 여기서, 전체 신뢰도는 제1 신뢰도 및 제2 신뢰도의 합을 의미할 수 있다. 제1 가중치 및 제2 가중치에 대한 설명은 도 7a에서 후술한다. 수학식(710)에서 제1 가중치는 CA(x,y)/(CA(x,y)+CB(x,y))이고, 제2 가중치는 CB(x,y)/(CA(x,y)+CB(x,y)일 수 있다.
여기서, 프로세서(120)는 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임을 결합함으로써 결합 보간 프레임을 생성(또는 획득)할 수 있다. 그리고, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성(또는 획득)할 수 있다. 여기서, 출력 영상은 제2 프레임, 결합 보간 프레임 및 제1 프레임 순서로 재생되는 영상일 수 있다.
한편, 프로세서(120)는 제1 보간 방식에 기초하여 입력 프레임에 대응되는 제1 움직임 벡터(motion vector)를 획득하고, 제1 보간 방식에 기초하여 획득된 제1 움직임 벡터에 대응되는 제1 보간 프레임을 획득하고, 제2 보간 방식에 기초하여 입력 프레임에 대응되는 제2 움직임 벡터를 획득하고, 제2 보간 방식에 기초하여 획득된 제2 움직임 벡터에 대응되는 제2 보간 프레임을 획득하고, 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득하고, 제1 프레임, 결합 보간 프레임 및 제2 프레임에 기초하여 출력 영상을 획득할 수 있다.
여기서, 프로세서(120)는 제1 보간 방식에 기초하여 제1 움직임 벡터를 획득할 수 있다. 프로세서(120)는 제1 보간 방식에 기초하여 제1 프레임 및 제2 프레임을 비교하고, 제1 프레임 및 제2 프레임의 비교 결과에 기초하여 제1 움직임 벡터를 획득할 수 있다. 움직임 벡터를 획득하는 방법이 다양할 수 있다. 예를 들어, 움직임 벡터는 블록 기반 ME (Motion Estimation), 미분법 기반 optical flow 또는 딥러닝 기반 optical flow 중 적어도 하나에 기초하여 획득될 수 있다.
여기서, 프로세서(120)는 획득된 제1 움직임 벡터에 기초하여 제1 보간 프레임을 획득할 수 있다. 여기서, 제1 보간 프레임은 제1 프레임 및 제2 프레임 사이에 추가되는 프레임을 의미할 수 있다. 그리고, 제1 보간 프레임은 제1 보간 방식에 기초하여 획득되는 프레임을 의미할 수 있다.
여기서, 프로세서(120)는 제1 보간 방식과 다른 제2 보간 방식에 기초하여 제2 움직임 벡터를 획득할 수 있다. 프로세서(120)는 제2 보간 방식에 기초하여 제1 프레임 및 제2 프레임을 비교하고, 제1 프레임 및 제2 프레임의 비교 결과에 기초하여 제2 움직임 벡터를 획득할 수 있다.
여기서, 프로세서(120)는 획득된 제2 움직임 벡터에 기초하여 제2 보간 프레임을 획득할 수 있다. 여기서, 제2 보간 프레임은 제1 프레임 및 제2 프레임 사이에 추가되는 프레임을 의미할 수 있다. 그리고, 제2 보간 프레임은 제2 보간 방식에 기초하여 획득되는 프레임을 의미할 수 있다.
여기서, 프로세서(120)는 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득(또는 생성)할 수 있다. 프로세서(120)는 결합 보간 프레임을 획득함에 있어 제1 보간 프레임에 대응되는 제1 신뢰도 및 제2 보간 프레임에 대응되는 제2 신뢰도를 이용할 수 있다. 구체적으로, 프로세서(120) 는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 가중치 및 제2 가중치를 획득할 수 있으며, 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임의 결합 비율을 결정할 수 있다.
여기서, 제1 가중치는 결합 보간 프레임을 생성함에 있어 제1 보간 프레임이 반영되는 비율을 의미할 수 있고, 제2 가중치는 결합 보간 프레임을 생성함에 있어 제2 보간 프레임이 반영되는 비율을 의미할 수 있다.
여기서, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득할 수 있다. 출력 영상은 제2 프레임, 결합 보간 프레임, 제1 프레임 순서로 재생되는 영상일 수 있다.
이와 관련된 구체적인 설명은 도 5, 도6, 도 16, 도 17에서 후술한다.
한편, 프로세서(120)는 제1 움직임 벡터 또는 제1 보간 프레임 중 적어도 하나에 기초하여 제1 신뢰도를 획득할 수 있고, 제2 움직임 벡터 또는 제2 보간 프레임 중 적어도 하나에 기초하여 제2 신뢰도를 획득할 수 있다.
프로세서(120)는 제1 보간 방식에 기초하여 제1 신뢰도를 획득할 수 있으며, 제2 보간 방식에 기초하여 제2 신뢰도를 획득할 수 있다.
여기서, 각 신뢰도는 움직임 벡터 또는 보간 프레임 중 적어도 하나에 기초하여 획득될 수 있다. 일 예로, 프로세서(120)는 움직임 벡터를 이용하여 신뢰도를 획득할 수 있으며, 다른 예로, 프로세서(120)는 보간 프레임을 이용하여 신뢰도를 획득할 수 있으며, 또 다른 예로, 프로세서(120)는 움직임 벡터 및 보간 프레임을 모두 이용하여 신뢰도를 획득할 수 있다.
일 실시 예에 따라, 신뢰도는 유사도를 의미할 수 있으며, 제1 신뢰도는 제1 보간 프레임이 원본 프레임(제1 프레임 및 제2 프레임)과 얼마나 유사한지 여부를 나타내는 정보일 수 있고, 제2 신뢰도는 제2 보간 프레임이 원본 프레임(제1 프레임 및 제2 프레임)과 얼마나 유사한지 여부를 나타내는 정보일 수 있다.
다른 실시 예에 따라, 신뢰도는 정확도를 의미할 수 있으며, 신뢰도는 원본 프레임(제1 프레임 및 제2 프레임)에 기초하여 획득된 움직임 벡터의 정확도를 의미할 수 있다. 제1 신뢰도는 제1 보간 방식에 기초하여 획득되는 제1 움직임 벡터의 정확도를 의미할 수 있으며, 제2 신뢰도는 제2 보간 방식에 기초하여 획득되는 제2 움직임 벡터의 정확도를 의미할 수 있다.
전자 장치(100)는 움직임 벡터를 이용하는 경우 정합 오차, 움직임 벡터 필드 또는 Optical Flow 필드의 평탄도 (Smoothness), 워핑(Warping) 영상 간의 오차 중 적어도 하나의 방법에 기초하여 신뢰도를 획득할 수 있다. 신뢰도는 다양한 방법으로 계산될 수 있으며, 본 발명은 특정 방법으로 신뢰도 계산을 한정하지 않는다.
정합 오차는 주로 블록 기반 ME 과정에서 계산한 블록 간 정합 비용 함수를 의미할 수 있으며, 정합 비용 함수값이 낮을수록 높은 신뢰도를 부여하는 방식일 수 있다. 정합 오차를 구하는 방식은 SAD (Sum of Absolute Difference), SSD (Sum of Squared Difference), NCC (Normalized Cross Correlation) 등을 비롯하여 다양한 기법이 이용될 수 있다. 가장 기본적인 형태로는1/(1+alpha*err) 의 형태로 구간 [0, 1]에 속하는 신뢰도를 계산할 수 있다.
움직임 벡터 필드 또는 Optical Flow 필드의 평탄도를 활용하는 방식은 일반적인 영상에서 실제 (True) 움직임 벡터 필드가 평탄한 특성을 가지는 경우가 많다는 가정을 이용할 수 있다. 전자 장치(100)는 움직임 벡터 필드 또는 Optical Flow 필드가 평탄할수록 정확도가 높다고 판단하여 높은 신뢰도를 부여할 수 있다. 여기서, 평탄도는 구하고자 하는 픽셀 또는 블록 위치 주변 필드의 지역적 분산 (Local Variance) 또는 Gradient의 크기의 평균 등과 역의 상관관계를 가지므로 이러한 값들을 비평탄도(unsmoothness)로 정의할 수 있다. 그리고, 전자 장치(100)는 1/(1+beta* unsmoothness)의 형태로 신뢰도를 계산할 수 있다.
워핑 영상 간의 오차는 움직임 예측을 정방향 (Forward) 및 역방향 (Backward) 으로 별도 진행하였을 때, 각각의 예측 결과를 이용하여 프레임 보간 시점으로 워핑된 영상이 얼마나 일치하는지를 의미할 수 있다. 예를 들어, 이전 프레임과 현재 프레임의 중간 프레임을 보간하는 경우, 전자 장치(100)는 이전 프레임과 정방향 필드를 사용하여 워핑한 정방향 중간 프레임과 현재 프레임과 역방향 필드를 사용하여 워핑한 역방향 중간 프레임을 비교할 수 있다. 여기서, 2개의 워핑된 중간 프레임이 일치할수록 높은 신뢰도를 가지게 되므로 전자 장치(100)는 워핑 프레임간 동일 위치 정합 오차를 계산하여 신뢰도를 구할 수 있다.
한편, 전자 장치(100)는 최종 신뢰도를 획득하기 위하여 위에서 구한 다양한 신뢰도들을 활용하여 곱 또는 가중합 등 다양한 방식의 연산을 이용할 수 있다.
상술한 실시 예에서 제1 보간 방식 및 제2 보간 방식이 서로 상이한 방식이라고 설명하였지만, 제1 보간 방식 및 제2 보간 방식 모두 움직임 벡터 획득 동작, 보간 프레임 획득 동작, 신뢰도 획득 동작을 동일하게 포함하는 것으로 기술하였다. 하지만, 다른 실시 예에 따른 제2 보간 방식은 다운 샘플링 동작 및 업 샘플링 동작을 추가로 포함할 수 있다. 다른 실시 예에 따른 제2 보간 방식을 아래에서 설명한다.
한편, 프로세서(120)는 제2 보간 방식에 기초하여 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있고, 획득된 다운 샘플링 프레임들에 대응되는 제2 움직임 벡터를 획득할 수 있고, 제2 보간 방식에 기초하여 획득된 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득할 수 있고, 제1 보간 프레임 및 제2 보간 프레임에 대응되는 업 샘플링 프레임에 기초하여 결합 보간 프레임을 획득할 수 있다.
여기서, 제2 보간 방식은 제1 보간 방식보다 다운 샘플링 동작을 추가로 포함할 수 있다. 구체적으로, 제2 보간 방식은 해상도를 낮게 변경한 데이터에 기초하여 보간 프레임을 생성하는 방식일 수 있다. 다운 샘플링을 수행하는 이유는 데이터 처리량을 줄이고 처리 속도를 단축시키기 위함이다.
여기서, 프로세서(120)는 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있다. 여기서, 다운 샘플링 프레임들은 다운 샘플링된 제1 프레임 및 다운 샘플링된 제2 프레임을 의미할 수 있다. 그리고, 프로세서(120)는 다운 샘플링된 제1 프레임 및 다운 샘플링된 제2 프레임에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 프로세서(120)는 제2 움직임 벡터에 기초하여 제2 보간 프레임을 획득할 수 있다. 여기서, 프로세서(120)는 제2 보간 방식을 이용하여 제2 보간 프레임을 획득할 수 있다. 제2 보간 프레임은 다운 샘플링 동작 이후 획득된 프레임이므로 원본 데이터(입력 영상의 제1 프레임 및 제2 프레임)보다 해상도가 낮은 데이터일 수 있다.
따라서, 프로세서(120)는 원본 데이터에 맞는 해상도로 변환하기 위하여 업 샘플링 동작을 수행할 수 있다. 여기서, 업 샘플링 동작은 업 스케일링 동작으로 표현될 수 있다. 프로세서(120)는 제2 보간 프레임을 업 샘플링하여 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득할 수 있다. 여기서, 제2 보간 프레임에 대응되는 업 샘플링 프레임은 업 샘플링된 제2 보간 프레임으로 표현될 수 있다. 또한, 제2 보간 프레임에 대응되는 업 샘플링 프레임은 원본 데이터와 동일한 해상도를 가질 수 있다.
여기서, 프로세서(120)는 제1 보간 프레임 및 업 샘플링 된 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득할 수 있다. 구체적으로, 프로세서(120)는 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하고, 업 샘플링된 제2 보간 프레임에 대응되는 제2 신뢰도를 획득할 수 있다. 그리고, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 가중치 및 제2 가중치를 획득할 수 있다. 그리고, 프로세서(120)는 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 업 샘플링된 제2 보간 프레임이 반영된 결합 보간 프레임을 획득할 수 있다.
이와 관련된 구체적인 설명은 도8 및 도9에서 후술한다.
한편, 프로세서(120)는 제1 프레임 및 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 식별할 수 있고, 식별된 영역을 다운 샘플링하여 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있다.
여기서, 움직임 정도가 임계값 이상인 영역은 타겟 영역으로 표현될 수 있다. 프로세서(120)는 입력 영상에서 움직임이 주로 식별되는 영역을 타겟 영역으로 설정할 수 있다. 그리고, 프로세서(120)는 타겟 영역에 대해서 보간 동작을 수행할 수 있다. 모든 영역에서 보간 기법을 수행하는 것보다 타겟 영역에 대해서 보간 동작을 수행하는 것이 더 효율적인 방법일 수 있다.
여기서, 프로세서(120)는 제1 프레임 및 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 타겟 영역으로 식별할 수 있다. 여기서, 타겟 영역은 프레임의 전체 영역 또는 일부 영역일 수 있다. 그리고, 프로세서(120)는 제1 프레임 및 제2 프레임 각각의 식별된 타겟 영역을 다운 샘플링할 수 있다. 구체적으로, 프로세서(120)는 제1 프레임의 타겟 영역을 다운 샘플링하고 제2 프레임의 타겟 영역을 다운 샘플링할 수 있다.
일 실시 예에 따라, 움직임 정도가 임계값 이상인 영역을 식별하기 위하여 프로세서(120)는 제1 보간 방식을 이용할 수 있다. 구체적으로, 프로세서(120)는 제1 보간 방식을 통해 제1 움직임 벡터를 획득하고, 제1 움직임 벡터에 기초하여 타겟 영역을 식별할 수 있다.
다른 실시 예에 따라, 움직임 정도가 임계값 이상인 영역을 식별하기 위하여 프로세서(120)는 제2 보간 방식을 이용할 수 있다. 제2 보간 방식을 통하여 타겟 영역을 식별하기 위하여 프로세서(120)는 제2 움직임 벡터를 획득할 수 있다. 그리고, 프로세서(120)는 획득된 제2 움직임 벡터에 기초하여 타겟 영역을 식별하고, 식별된 타겟 영역은 다음 프레임에서 적용될 수 있다. 예를 들어, 1초의 프레임은 타겟 영역을 적용하지 않고 제2 보간 프레임을 생성하고, 2초의 프레임부터 타겟 영역을 적용하여 제2 보간 프레임을 생성할 수 있다.
한편, 움직임 정도가 임계값 이상인 경우에도, 프로세서(120)는 추가적으로 제2 보간 방식에 기초하여 타겟 영역에 대한 다운 샘플링 동작을 수행할지 여부를 제2 보간 방식의 처리 가능한 영역의 크기에 기초하여 결정할 수 있다. 예를 들어, 움직임 정도가 임계값 이상인 영역이라 하더라도 제2 보간 방식에 의해 처리가 가능할 수 있다. 따라서, 프로세서(120)는 기 결정된 크기(제2 보간 방식에 의한 처리 가능한 크기)와 움직임 정도가 임계값 이상인 타겟 영역의 크기를 비교할 수 있다. 따라서, 타겟 영역의 크기가 기 결정된 크기보다 작으면, 프로세서(120)는 다운 샘플링 동작을 수행하지 않을 수 있다. 그리고, 타겟 영역의 크기가 기 결정된 크기보다 크면, 프로세서(120)는 다운 샘플링 동작을 수행할 수 있다. 다운 샘플링 동작을 수행하지 않으면, 업 샘플링 동작 역시 수행되지 않을 수 있다.
여기서, 프로세서(120)는 다운 샘플링된 제1 프레임의 타겟 영역 및 다운 샘플링된 제2 프레임의 타겟 영역에 기초하여 제2 보간 프레임을 획득할 수 있다. 여기서, 프로세서(120)는 제2 보간 방식에 기초하여 제2 보간 프레임을 획득할 수 있다. 여기서, 제2 보간 프레임은 타겟 영역에 대응되는 프레임을 의미할 수 있다.
여기서, 프로세서(120)는 제2 보간 프레임을 다시 업 샘플링 할 수 있다. 여기서, 제2 보간 프레임은 타겟 영역에 기초하여 생성된 것이므로, 업 샘플링 동작은 타겟 영역에 대해서 수행될 수 있다.
여기서, 프로세서(120)는 제1 보간 프레임 및 업 샘플링된 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득할 수 있다. 그리고, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
한편, 이와 관련된 구체적인 설명은 도 10 및 도 11에서 후술한다.
한편, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임에 대응되는 제1 가중치 및 제2 보간 프레임에 대응되는 제2 가중치를 획득할 수 있고, 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임이 결합된 출력 영상을 획득할 수 있다.
여기서, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임에 대응되는 제1 가중치를 획득할 수 있다. 그리고, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제2 보간 프레임에 대응되는 제2 가중치를 획득할 수 있다.
여기서, 제1 가중치는 제1 신뢰도가 전체 신뢰도에서 차지하는 비율을 의미할 수 있으며, 제2 가중치는 제2 신뢰도가 전체 신뢰도에서 차지하는 비율을 의미할 수 있다. 여기서, 전체 신뢰도는 제1 신뢰도 및 제2 신뢰도의 합을 의미할 수 있다. 제1 가중치 및 제2 가중치에 대한 설명은 도 7a에서 후술한다. 수학식(710)에서 제1 가중치는 CA(x,y)/(CA(x,y)+CB(x,y))이고, 제2 가중치는 CB(x,y)/(CA(x,y)+CB(x,y)일 수 있다.
여기서, 프로세서(120)는 제1 가중치에 기초하여 제1 보간 프레임의 결합 비율을 결정하고 제2 가중치에 기초하여 제2 보간 프레임의 결합 비율을 결정할 수 있다. 그리고, 프로세서(120)는 결정된 결합 비율에 기초하여 제1 보간 프레임 및 제2 보간 프레임을 결합하여 결합 보간 프레임을 획득할 수 있다. 그리고, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
한편, 프로세서(120)는 제1 보간 프레임 및 제2 보간 프레임의 픽셀 각각에 대응되는 제1 신뢰도 및 제2 신뢰도를 획득할 수 있고, 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 포함된 픽셀 각각에 대응되는 가중치를 획득할 수 있고, 획득된 가중치에 픽셀 각각에 적용하여 출력 영상을 획득할 수 있다.
여기서, 프로세서(120)는 신뢰도를 프레임의 각 픽셀마다 획득할 수 있다. 예를 들어, 프로세서(120)는 제1 보간 프레임의 픽셀 마다 제1 신뢰도를 획득할 수 있으며, 제2 보간 프레임의 픽셀 마다 제2 신뢰도를 획득할 수 있다. 여기서, 프로세서(120)는 각 픽셀에 대응되는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임의 각 픽셀에 대응되는 제1 가중치 및 제2 보간 프레임의 각 픽셀에 대응되는 제2 가중치를 획득할 수 있다. 그리고, 프로세서(120)는 각 픽셀에 대응되는 제1 가중치 및 각 픽셀에 대응되는 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임이 반영된 결합 보간 프레임을 획득할 수 있다. 그리고, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
한편, 프로세서(120)는 제1 보간 프레임 및 제2 보간 프레임의 픽셀 각각에 대응되는 제1 신뢰도 및 제2 신뢰도를 획득할 수 있고, 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 포함된 픽셀 영역 각각에 대응되는 가중치를 획득할 수 있고, 획득된 가중치에 픽셀 영역 각각에 적용하여 출력 영상을 획득하고, 픽셀 영역은 복수의 픽셀을 포함하는 영역일 수 있다.
여기서, 프로세서(120)는 신뢰도를 프레임의 각 픽셀마다 획득한 후 픽셀 영역을 식별할 수 있다. 그리고, 프로세서(120)는 식별된 픽셀 영역에 대응되는 신뢰도 평균을 획득할 수 있다. 그리고, 프로세서(120)는 픽셀 영역에 대응되는 제1 신뢰도 평균을 이용하여 제1 보간 프레임의 픽셀 영역에 대응되는 제1 가중치를 획득할 수 있다. 그리고, 프로세서(120)는 픽셀 영역에 대응되는 제2 신뢰도 평균을 이용하여 제2 보간 프레임의 픽셀 영역에 대응되는 제2 가중치를 획득할 수 있다. 그리고, 프로세서(120)는 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임이 반영된 결합 보간 프레임을 획득할 수 있다. 그리고, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
여기서, 픽셀 영역은 특정 영역을 그룹핑한 영역을 의미할 수 있으며, 복수의 픽셀을 포함할 수 있다. 프로세서(120)는 픽셀 영역에 대응되는 신뢰도 평균을 구할 수 있으며, 픽셀 영역에 포함된 모든 픽셀에 동일한 가중치가 적용될 수 있다.
예를 들어, 프로세서(120)는 제1 보간 프레임의 픽셀 영역에 포함된 모든 픽셀에 제1 가중치를 적용하고 제2 보간 프레임의 픽셀 영역에 포함된 모든 픽셀에 제2 가중치를 적용할 수 있다. 그리고, 프로세서(120)는 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임이 반영된 결합 보간 프레임을 획득할 수 있다. 그리고, 프로세서(120)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
픽셀 각각에 대응되는 가중치를 구하는 경우 데이터 처리 속도가 느릴 수 있다. 하지만, 픽셀 영역에 대응되는 가중치를 구하는 경우 데이터 처리 속도가 빠를 수 있다. 따라서, 픽셀 각각에 대응되는 가중치를 이용하여 결합 보간 프레임을 생성하는 것보다 픽셀 영역에 대응되는 가중치를 이용하여 결합 보간 프레임을 생성하는 것이 데이터 처리 속도를 감소시킬 수 있다.
한편, 프로세서(120)는 제1 신뢰도 및 제2 신뢰도의 유사도(또는 정확도)가 임계값 미만이면, 제2 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
프로세서(120)는 제1 보간 방식 및 제2 보간 방식의 해상도 차이를 식별할 수 있다. 예를 들어, 제2 보간 방식에 의하여 다운 샘플링 동작이 수행된다고 가정하면 제2 보간 방식의 해상도가 낮다고 식별할 수 있다. 따라서, 제2 보간 방식에서 다운 샘플링 동작이 수행되면, 제1 보간 방식과 제2 보간 방식의 해상도가 다르게 될 수 있으며, 제1 보간 방식의 해상도가 제2 보간 방식의 해상도보다 높을 수 있다. 한편, 제2 보간 방식에서 다운 샘플링 동작이 수행되지 않으면, 제1 보간 방식의 해상도와 제2 보간 방식의 해상도가 동일할 수 있다. 여기서, 해상도가 상이하다는 의미는 제1 신뢰도 및 제2 신뢰도를 획득하는 동작 측면에서 상이하다는 것이며, 최종적으로 제2 보간 방식에서 업샘플링 동작을 수행하므로 출력 영상에서 결합되는 동작에서는 해상도가 동일한 제1 보간 프레임 및 제2 보간 프레임이 이용될 수 있다.
일 실시 예에 따라, 제1 보간 방식과 제2 보간 방식의 해상도가 동일한 경우, 프로세서(120)는 기 결정된 임계값에 기초하여 출력 영상 생성 방식을 결정할 수 있다.
구체적으로, 제1 신뢰도 및 제2 신뢰도가 모두 기 결정된 임계값 이상이면, 프로세서(120)는 제1 보간 프레임 및 제2 보간 프레임을 결합하여 출력 영상을 생성할 수 있다.
여기서, 제1 신뢰도 또는 제2 신뢰도 중 하나의 신뢰도만이 기 결정된 임계값 이상이면, 프로세서(120)는 임계값 이상인 신뢰도에 대응되는 보간 프레임만을 이용하여 출력 영상을 생성할 수 있다. 예를 들어, 제1 신뢰도가 10이고 제2 신뢰도가 20이고 기 결정된 임계값이 15이면, 프로세서(120)는 제2 신뢰도에 대응되는 제2 보간 프레임만을 이용하여 출력 영상을 생성할 수 있다.
여기서, 제1 신뢰도 및 제2 신뢰도 모두 기 결정된 임계값 미만이면, 프로세서(120)는 제2 보간 프레임만을 이용하여 출력 영상을 생성할 수 있다. 제2 보간 방식이 딥러닝을 이용한 방식에 해당하여 더 높을 품질의 출력 영상을 생성할 수 있기 때문이다.
다른 실시 예에 따라, 제1 보간 방식과 제2 보간 방식의 해상도가 상이한 경우(제2 보간 방식에서 다운 샘플링 동작을 수행하는 경우), 프로세서(120)는 기 결정된 임계값에 기초하여 출력 영상 생성 방식을 결정할 수 있다.
구체적으로, 제1 신뢰도 및 제2 신뢰도가 모두 기 결정된 임계값 이상이면, 프로세서(120)는 제1 보간 프레임만을 이용하여 출력 영상을 생성할 수 있다. 제1 신뢰도 및 제2 신뢰도가 모두 기 결정된 임계값을 넘기는 경우 두 가지 방식이 모두 품질이 우수한 출력 영상을 생성할 수 있다는 것을 의미할 수 있으므로, 높은 해상도에서 보간 동작이 수행된 제1 보간 프레임을 이용할 수 있기 때문이다.
여기서, 제1 신뢰도 또는 제2 신뢰도 중 하나의 신뢰도만이 기 결정된 임계값 이상이면, 프로세서(120)는 임계값 이상인 신뢰도에 대응되는 보간 프레임만을 이용하여 출력 영상을 생성할 수 있다.
여기서, 제1 신뢰도 및 제2 신뢰도 모두 기 결정된 임계값 미만이면, 프로세서(120)는 제2 보간 프레임만을 이용하여 출력 영상을 생성할 수 있다.
제1 신뢰도 및 제2 신뢰도가 획득되는 시점에서 각 보간 방식의 해상도 차이가 발생하는지 여부에 따라서 출력 영상 생성 방식이 차이가 나는 상황은 제1 신뢰도 및 제2 신뢰도가 모두 기 결정된 임계값을 넘는 상황일 수 있다. 한편, 제1 보간 방식은 블록 기반 보간 방식일 수 있고, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다.
한편, 전자 장치(100)는 실시간 프레임 보간 (Frame Interpolation) 장치에 있어서 여러 개의 프레임 보간 시스템을 결합한 하이브리드형 시스템을 구성하여 시스템의 성능을 높일 수 있다.
또한, 전자 장치(100)는 하이브리드형 시스템을 구성함에 있어서 서로 다른 해상도를 적용함으로써 전체 시스템의 연산량을 줄여 실시간 고해상도 처리가 가능할 수 있다.
한편, 전자 장치(100)는 여러 개의 프레임 보간 시스템을 활용하여 성능을 향상시키는 하이브리드 프레임 보간 시스템으로 구현될 수 있다. 이러한 방식은 서로 특성이 다른 프레임 보간 시스템들의 장점을 융합할 수 있다. 또한 실시간 고해상도 프레임 보간 시스템을 구현하는 데 있어서, 블록 기반 움직임 벡터 생성 모듈, 미분법 기반 움직임 벡터 생성 모듈, 블록 기반 보간 프레임 생성 모듈을 이용한 고해상도 프레임 보간 시스템과 딥러닝을 이용한 저해상도 프레임 보간 시스템을 하이브리드 형태로 구현될 수 있다. 하이브리드 형태는 각각의 장점을 이용하여 시스템의 성능을 향상시킴과 동시에 복잡하고 연산량이 많은 딥러닝 기반 프레임 보간 시스템의 복잡도를 줄일 수 있다. 하이브리드 형태는 TV 등 소비자 가전에 적용 가능한 딥러닝 기반의 실시간 프레임 보간 시스템으로 구현될 수 있다.
한편, 전자 장치(100)는 하이브리드 형태의 보간 시스템을 구현하여 전체 시스템의 성능을 향상시키면서도 복잡하고 연산량이 많은 딥러닝 기반 프레임 보간 시스템의 연산량을 줄임으로써 TV 등 소비자 가전에 적용 가능한 딥러닝 기반의 실시간 프레임 보간 시스템을 구현할 수 있다.
한편, 전자 장치(100)는 보간 프레임에 포함된 각 픽셀마다 신뢰도를 계산할 수 있다. 여기서, 전자 장치(100)는 각 픽셀에 대응되는 제1 신뢰도 및 제2 신뢰도를 고려하여 가중치를 획득하고 획득된 가중치를 통하여 제1 보간 프레임 및 제2 보간 프레임을 결합하는 과정을 반복할 수 있다. 여기서, 픽셀마다 신뢰도를 획득하는 방식은 처리 속도가 느려지는 문제가 발생할 수 있다. 이를 해결하기 위하여, 전자 장치(100)는 별개의 버퍼를 이용할 수 있다. 전자 장치(100)는 메모리(110)이외에 별개의 버퍼를 이용할 수 있다. 여기서, 별개의 버퍼는 신뢰도를 저장하는 역할로만 이용될 수 있다. 따라서, 전자 장치(100)는 신뢰도를 획득하고 이용하는 계산 과정에서 별개의 버퍼만을 이용하여 처리 속도를 향상시킬 수 있다. 한편, 처리 속도가 느려지는 문제점을 해결하기 위하여 전자 장치(100)는 신뢰도를 이용하는 계산 동작을 조절할 수 있다. 일 예로, 전자 장치(100)는 보간 프레임 생성 초기 단계에서는 신뢰도를 이용하는 계산 동작을 일부 영역에서 수행하고, 보간 프레임 생성 후기 단계에서는 신뢰도를 이용하는 계산 동작을 전체 영역에서 수행할 수 있다. 다른 예로, 전자 장치(100)는 신뢰도를 이용하여 가중치를 획득하고 가중치를 이용하여 제1 보간 프레임 및 제2 보간 프레임을 결합하는 동작에 있어서 가중치의 변화 정도를 제한할 수 있다. 전자 장치(100)는 프레임 변화에 따른 가중치의 변화가 기 설정된 시간 또는 기 설정된 프레임까지 완만 하도록 가중치를 제어할 수 있다.
전자 장치(100)는 입력 영상의 모든 프레임에 대하여 동일한 수준으로 신뢰도를 이용하지 않고, 초기와 중기 그리고 후기로 구분하여 다른 수준으로 신뢰도를 이용할 수 있다.
한편, 이상에서는 전자 장치(100)를 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현 시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 2를 참조하여 이하에서 설명한다.
도 2는 도 1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120), 통신 인터페이스(130), 디스플레이(140), 사용자 인터페이스(150), 입출력 인터페이스(160), 스피커(170) 및 마이크(180)로 구성될 수 있다.
한편, 메모리(110) 및 프로세서(120)의 동작 중에서 앞서 설명한 것과 동일한 동작에 대해서는 중복 설명은 생략한다.
한편, 프로세서(120)는 그래픽 처리 기능(비디오 처리 기능)을 수행할 수 있다. 예를 들어, 프로세서(120)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 여기서, 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산할 수 있다. 그리고, 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. 또한, 프로세서(120)는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 프로세서(120)는 오디오 데이터에 대한 처리를 수행할 수 있다. 구체적으로, 프로세서(120)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
통신 인터페이스(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(130)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함한다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 와이파이 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 모듈은 가시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
그 밖에 통신 인터페이스(130)는LAN(Local Area Network) 모듈, 이더넷 모듈, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 UWB(Ultra Wide-Band) 모듈 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
일 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 동일한 통신 모듈(예를 들어, 와이파이 모듈)을 이용할 수 있다.
다른 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 상이한 통신 모듈(예를 들어, 와이파이 모듈)을 이용할 수 있다. 예를 들어, 통신 인터페이스(130)는 외부 서버와 통신하기 위해 이더넷 모듈 또는 와이파이 모듈 중 적어도 하나를 이용할 수 있고, 리모컨과 같은 외부 장치와 통신하기 위해 BT 모듈을 이용할 수도 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(130)는 복수의 외부 장치 또는 외부 서버와 통신하는 경우 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
디스플레이(140)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140)내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(140)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
또한, 본 개시의 일 실시 예에 따른, 디스플레이(140)는 영상을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 개시의 일 실시 예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다.
사용자 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
입출력 인터페이스(160)는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
입출력 인터페이스(160)는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스(160)는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
전자 장치(100)는 스피커(170)를 포함할 수 있다. 스피커(170)는 입출력 인터페이스에서 처리된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다.
전자 장치(100)는 마이크(180)를 더 포함할 수 있다. 마이크는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환하기 위한 구성이다.
마이크(180)는 활성화 상태에서 사용자의 음성을 수신할 수 있다. 예를 들어, 마이크(180)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체형으로 형성될 수 있다. 마이크(180)는 아날로그 형태의 사용자 음성을 수집하는 마이크, 수집된 사용자 음성을 증폭하는 앰프 회로, 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 일 실시 예에 따라, 전자 장치(100)는 디스플레이를 포함하고 디스플레이에 영상을 표시할 수 있다.
다른 실시 예에 따라, 전자 장치(100)는 디스플레이가 포함되지 않는 장치 형태로 구현되거나 알림 등을 위한 간단 디스플레이부만을 포함할 수 있다. 또한, 전자 장치(100)는 비디오/오디오 출력 포트 또는 통신 인터페이스를 통해 별도의 디스플레이 장치에 영상을 전송하는 형태로 구현될 수 있다.
한편, 전자 장치(100)는 비디오 및 오디오 신호를 동시에 전송 또는 수신하는 포트를 구비할 수 있다. 다른 구현 예에 따라, 전자 장치(100)는 비디오 및 오디오 신호를 각각 별개로 전송 또는 수신하는 포트를 구비할 수 있다.
한편, 보간 동작은 전자 장치(100) 또는 외부 서버 중 하나에서 수행될 수 있다. 일 예로, 외부 서버에서 보간 동작이 수행되어 출력 영상이 생성되고 전자 장치(100)는 외부 서버로부터 출력 영상을 수신하여 표시할 수 있다.
다른 예로, 전자 장치(100)가 직접 보간 동작을 수행하여 출력 영상을 생성하고, 생성된 출력 영상을 표시할 수 있다.
또 다른 예로, 전자 장치(100)가 직접 보간 동작을 수행하여 출력 영상을 생성하고, 생성된 출력 영상을 외부 디스플레이 장치에 전송할 수 있다. 여기서, 외부 디스플레이 장치는 출력 영상을 전자 장치(100)로부터 수신하여 수신된 출력 영상을 표시할 수 있다.
한편, 전자 장치(100)는 마이크(미도시)를 더 포함할 수 있다. 마이크는 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환하기 위한 구성이다.
마이크(미도시)는 활성화 상태에서 사용자의 음성을 수신할 수 있다. 예를 들어, 마이크(미도시)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체형으로 형성될 수 있다. 마이크(미도시)는 아날로그 형태의 사용자 음성을 수집하는 마이크, 수집된 사용자 음성을 증폭하는 앰프 회로, 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 전자 장치(100)는 마이크를 포함하는 외부 장치로부터 사용자 음성 신호를 수신할 수 있다. 이 경우, 수신된 사용자 음성 신호는 디지털 음성 신호일 수 있으나, 구현 예에 따라 아날로그 음성 신호일 수 있다. 일 예로, 전자 장치(100)는 블루투스 또는 와이파이 등의 무선 통신 방법을 통해 사용자 음성 신호를 수신할 수 있다. 여기서, 외부 장치는 원격 제어 장치 또는 스마트폰으로 구현될 수 있다.
전자 장치(100)는 외부 장치로부터 수신된 음성 신호의 음성 인식을 위해, 외부 서버로 해당 음성 신호를 전송할 수 있다.
이 경우, 외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 하나로 구현되거나, 별개로 구현될 수 있다. 예를 들어, 외부 장치와는 블루투스 모듈을 이용하여 통신하고, 외부 서버와는 이더넷 모뎀 또는 와이파이 모듈을 이용하여 통신할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 음성 인식 서버로 수신된 디지털 음성 신호를 전송할 수 있다. 이 경우, 음성 인식 서버는 STT(Speech To Text)를 이용하여 디지털 음성 신호를 텍스트 정보로 변환할 수 있다. 이 경우, 음성 인식 서버는 텍스트 정보에 대응되는 검색을 수행하기 위하여 다른 서버 또는 전자 장치로 텍스트 정보를 전송할 수 있으며, 경우에 따라서는 직접 검색을 수행하는 것도 가능하다.
한편, 본 개시의 다른 실시 예에 따른 전자 장치(100)는 디지털 음성 신호에 직접 STT(Speech To Text) 기능을 적용하여 텍스트 정보로 변환하고 변환된 텍스트 정보를 외부 서버에 전송할 수도 있다.
한편, 또 다른 실시 예에 따라, 외부 장치는 마이크를 포함하는 스마트폰으로 구현될 수 있다. 이 경우, 스마트폰은 기 설치된 원격 제어 기능을 수행하는 원격 제어 어플리케이션을 이용하여 전자 장치(100)를 원격으로 제어할 수 있다.
스마트폰은 사용자의 아날로그 음성 신호가 마이크를 통해 수신되면, 아날로그 음성 신호를 디지털 음성 신호로 변환할 수 있다. 이 경우, 스마트폰은 음성 인식 어플리케이션을 이용하여 디지털 음성 신호에 대한 음성 인식을 수행할 수 있다. 여기서, 음성 인식 어플리케이션은 상술한 원격 제어 어플리케이션과 동일하거나, 상이한 어플리케이션일 수 있다. 스마트폰은 디지털 음성 신호에 대한 음성 인식 인식이 수행되면, 음성 인식 결과에 기초하여 원격 제어 어플리케이션을 이용하여 스마트폰을 원격으로 제어할 수 있다. 다만, 다른 실시 예에 따르면, 스마트 폰은 적외선, 와이파이 또는 블루투스 통신 방식 중 적어도 하나를 이용하여 변환된 디지털 음성 신호를 스마트폰으로 전송할 수 있다. 이 경우, 스마트폰은 디지털 음성 신호가 외부 장치로부터 수신되면, 수신된 디지털 음성 신호에 기초하여 음성 인식을 수행하고, 음성 인식 결과에 기초하여 제어 동작을 수행할 수 있다.
도 3은 보간 프레임을 이용하여 출력 영상을 생성하는 다양한 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시 예(300)에 따른 전자 장치(100)는 블록 기반 보간 방식을 이용하여 출력 영상을 생성할 수 있다. 구체적으로, 전자 장치(100)는 입력 영상을 수신할 수 있다. 그리고, 전자 장치(100)는 프레임 버퍼(301)를 이용하여 수신된 입력 영상을 저장할 수 있다. 그리고, 전자 장치(100)는 지연 모듈(302)을 이용하여 제1 프레임과 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 여기서, 제1 프레임은 현재 프레임이고 제2 프레임은 이전 프레임을 의미할 수 있다.
또한, 전자 장치(100)는 블록 기반 보간 모듈(303)을 이용하여 보간 프레임을 생성할 수 있다. 블록 기반 보간 모듈(303)은 블록 기반 움직임 벡터 생성 모듈(304) 및 블록 기반 보간 프레임 생성 모듈(305)을 포함할 수 있다. 블록 기반 움직임 벡터 생성 모듈(304)은 제1 프레임 및 제2 프레임에 기초하여 움직임 벡터를 획득할 수 있다. 그리고, 블록 기반 보간 프레임 생성 모듈(305)은 획득된 움직임 벡터에 기초하여 보간 프레임을 생성할 수 있다. 그리고, 전자 장치(100)는 출력 영상 생성 모듈(306)에 기초하여 출력 영상을 생성할 수 있다.
블록 기반 보간 방식은 블록 기반 ME (Motion Estimation) / MCFI (Motion Compensated Frame Interpolation)를 이용한 프레임 보간 기법일 수 있다. 여기서, 블록 기반 ME (Motion Estimation)은 블록 기반 움직임 벡터 생성 모듈(304)에 대응되고 블록 기반 MCFI (Motion Compensated Frame Interpolation)는 블록 기반 보간 프레임 생성 모듈(305)에 대응될 수 있다.
블록 기반 보간 방식은 영상을 일정 크기의 블록으로 분할한 다음 이전 프레임 (Previous Frame) 과 현재 프레임 (Current Frame) 간의 블록 정합 (Block Matching) 을 통해 영상 내 각 블록의 움직임을 예측하는 ME 단계 및 예측된 움직임을 기반으로 중간 프레임을 생성하는 MCFI 단계로 구성 될 수 있다.
ME 단계는 정방향 방식과 역방향 ME (Backward ME) 방식이 있을 수 있다. 여기서, 역방향 방식은 현재 프레임 내 각 영상 블록에 대하여 정합 비용 함수 (Matching Cost Function) 가 최소화되는 이전 프레임 내 블록을 찾아 그 변위를 MV (Motion Vector) 로 구하고 전체 이미지에 대하여 MVF (Motion Vector Field) 를 예측할 수 있다. 정합 비용 함수는 일반적으로 SAD (Sum of Absolute Difference), SSD (Sum of Squared Difference), NCC (Normalized Cross Correlation) 등 영상 블록 간의 유사도 (Likelihood) 를 반영하는 항목과 평활도 제약 (Smoothness Constraint) 과 같이 MVF의 신뢰도 (Confidence) 를 반영하는 항목으로 구성될 수 있다. 일반적인 영상에서는 동일 객체에 속하는 영상 내 인접 블록들이 유사한 움직임을 보이므로 단순히 블록 간 유사도만을 이용하여 MVF를 예측하는 것보다 평활도 제약을 두어 MVF가 부드러운 특성을 가지도록 하는 것이 오류를 줄일 수 있다.
프레임 간 영상 블록을 결합(또는 정합)할 때 어떠한 블록들을 선택할 것인가에 대해서는 다음과 같은 방법들이 있을 수 있다. 제1 방법은 모든 블록 쌍에 대하여 정합을 실시하는 전탐색 (Full Search) ME를 이용하는 방법일 수 있다. 제1 방법은 비용 최소화 문제에 있어서 극소점 (Local Minima) 으로 인한 오류가 발생하지 않는다는 장점이 있으나 매우 많은 연산량을 필요로 하고 속도가 느리다는 단점이 있다. 제2 방법은 Three Step Search와 같이 단계적 탐색을 활용한 ME를 이용하는 방법일 수 있다. 제2 방법은 Coarse to Fine Search 기법을 통해 연산량을 줄이고 탐색 속도를 높인 방법일 수 있다. 제3 방법은 MVF 내 인접 MV 간의 높은 유사성을 활용한 방법으로서 MV를 예측하고자 하는 블록의 시간축, 공간축으로 이웃한 블록의 MV들로부터 후보 MV들을 추려내고 그 주변만을 탐색하는 재귀적 (Recursive) ME를 이용하는 방법일 수 있다. 제3 방법은 연산량을 최소화하여 매우 빠른 속도로 동작할 수 있으나 극소점 문제에 취약하다는 단점이 있다. 일반적인 실시간 프레임 보간 시스템에서는 위 방법들 중 특정 한 가지 방법을 사용하기보다는 단계 및 상황에 따라 여러 방법들을 조합하여 사용함으로써 단점들을 보완할 수 있다.
MCFI 단계에서는 위에서 예측한 블록별 움직임을 이용하여 중간 프레임을 생성할 수 있다. 중간 프레임을 생성하는 가장 기본적인 원리는 이전 프레임과 현재 프레임의 픽셀들을 MV를 이용하여 중간 프레임 위치에 투영 (Projection) 하는 것일 수 있다. 이 때, 중간 프레임의 각 픽셀을 기준으로 보면 이전 프레임과 현재 프레임으로부터 여러 개의 픽셀이 투영되는 경우도 있고, 한 개의 픽셀도 투영되지 않아 비어 있는 경우도 있을 수 있다. 먼저 여러 개의 픽셀이 투영되는 경우는 단순히 픽셀 값들을 평균하는 방법에서부터 투영된 각 픽셀들의 신뢰도를 이용하여 선택적으로 반영하는 등 다양한 기법들이 사용될 수 있다. 특히 물체가 사라지거나 나타나는 폐색 (Occlusion) 영역에서는 선택적인 픽셀 반영이 결과 영상의 품질에 큰 도움을 줄 수 있다. 그리고, 픽셀이 투영되지 않아 비어 있는 부분을 채워 넣기 위하여 필터를 이용하는 간단한 방법부터 복잡한 인페인팅 (Inpainting) 기술을 활용하는 방법까지 다양한 방법이 이용될 수 있다.
한편, 다른 실시 예(310)에 따른 전자 장치(100)는 미분법 기반 방식을 이용하여 출력 영상을 생성할 수 있다. 여기서, 프레임 버퍼(311) 및 지연 모듈(312)는 일 실시 예(300)에서 설명한 프레임 버퍼(301) 및 지연 모듈(302)에 대응될 수 있는 바 중복 설명을 생략한다.
또한, 전자 장치(100)는 미분법 기반 보간 모듈(313)을 이용하여 보간 프레임을 생성할 수 있다. 미분법 기반 보간 모듈(313)은 미분법 기반 움직임 벡터 생성 모듈(314) 및 미분법 기반 보간 프레임 생성 모듈(315)을 포함할 수 있다. 미분법 기반 움직임 벡터 생성 모듈(314)은 제1 프레임 및 제2 프레임에 기초하여 움직임 벡터를 획득할 수 있다. 그리고, 미분법 기반 보간 프레임 생성 모듈(315)은 획득된 움직임 벡터에 기초하여 보간 프레임을 생성할 수 있다. 그리고, 전자 장치(100)는 출력 영상 생성 모듈(316)에 기초하여 출력 영상을 생성할 수 있다.
미분법 기반 보간 방식은 Optical Flow 기법을 이용할 수 있으며, Optical Flow 기법은 Luminance Constancy 조건을 이용할 수 있다. 여기서, 미분법 기반 보간 방식은 아래의 제1 관계식을 이용하여 움직임 벡터를 획득할 수 있다.
제1 관계식:
I(x,y,t)=I(x+delta x, y+delta y, t+ delta t)
여기서, I는 이미지를 의미하고 x,y는 프레임의 좌표를 의미하고 t는 시간을 의미할 수 있다.
그리고, 미분법 기반 보간 방식은 테일러 급수(Taylor Series)로 상술한 제1 관계식을 전개하고 고차항을 무시하여 아래의 제2 관계식을 획득할 수 있다.
제2 관계식:
I(x+delta x, y+delta y, t+ delta t)= I(x,y,t)+dI/dx* delta x+dI/dy* delta y+dI/dt* delta t+(higher-order terms)
여기서, (higher-order terms)는 테일러 급수의 고차항을 생략한다는 의미일 수 있다.
여기서, 미분법 기반 보간 방식은 양변을 delta t로 나누어 최종적으로 다음의 제3 관계식을 획득할 수 있다.
제3 관계식:
IxVx+IyVy= -It
여기서, Ix는 dI/dx를 의미하고, Iy는 dI/dy를 의미하고, Vx는 delta x/ delta t를 의미하고, Vy는 delta y/ delta t를 의미할 수 있다.
그리고, 미분법 기반 보간 방식은 상술한 제3 관계식에 기초하여 움직임 벡터를 획득할 수 있다.
여기서, Vx는 x좌표의 움직임 벡터를 의미하고 표는 y좌표의 움직임 벡터를 의미할 수 있다.
미분방정식을 풀기 위하여 Lukas-Kanade 방법이 이용될 수 있다. 여기서, Lukas-Kanade 방법은 Flow를 구하고 싶은 픽셀에 대하여 해당 픽셀 및 주변 픽셀을 포함하는 윈도우를 설정한 뒤, 윈도우 내 픽셀들에 대하여 미분방정식을 세우고 이를 Least Square 방법으로 풀어 낼 수 있다.
또한, 미분방정식을 풀기 위하여 Horn-Schunck 방식이 이용될 수 있다. Horn-Schunck 방식은 전체 영상에 대한 Smoothness Term을 추가한 에너지 함수를 정의한 뒤, Cost Minimization 기법으로 Flow를 계산하는 방식일 수 있다.
한편, 미분법 기반 보간 방식은 Optical Flow 필드가 예측되면 이후 과정은 블록 기반 MCFI와 유사하게 프레임 보간을 수행하여 출력 영상을 생성할 수 있다.
도 4는 보간 프레임을 이용하여 출력 영상을 생성하는 다양한 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 또 다른 실시 예(400)에 따른 전자 장치(100)는 딥러닝 기반 보간 방식을 이용하여 출력 영상을 생성할 수 있다. 여기서, 프레임 버퍼(401) 및 지연 모듈(402)은 일 실시 예(300)에서 설명한 프레임 버퍼(301) 및 지연 모듈(302)에 대응될 수 있는 바 중복 설명을 생략한다.
또한, 전자 장치(100)는 딥러닝 기반 보간 모듈(403)을 이용하여 보간 프레임을 생성할 수 있다. 딥러닝 기반 보간 모듈(403)은 딥러닝 기반 움직임 벡터 생성 모듈(404) 및 블록 기반 보간 프레임 생성 모듈(405)을 포함할 수 있다. 딥러닝 기반 움직임 벡터 생성 모듈(404)은 제1 프레임 및 제2 프레임에 기초하여 움직임 벡터를 획득할 수 있다. 그리고, 블록 기반 보간 프레임 생성 모듈(405)은 획득된 움직임 벡터에 기초하여 보간 프레임을 생성할 수 있다. 그리고, 전자 장치(100)는 출력 영상 생성 모듈(406)에 기초하여 출력 영상을 생성할 수 있다.
딥러닝을 이용한 프레임 보간 방법은 일반적으로 CNN (Convolutional Neural Network)으로 구성된 시스템을 영상 데이터베이스를 이용하여 학습시키는 방법으로서 Optical Flow를 사용하는 방법과 사용하지 않는 방법으로 분류할 수 있다. 먼저 Optical Flow를 사용하는 방법은 Optical Flow 계산, 이미지 Warping 및 이미지 합성 (Image Synthesis) 의 3가지 단계를 통해 프레임을 보간할 수 있다.
Optical Flow 계산 단계에서는 입력 영상에 대해 Flow Map을 획득할 수 있으며, True Optical Flow를 알고 있는 영상 데이터베이스를 이용하여 Optical Flow 예측 Network를 학습시킬 수 있다.
이미지 Warping 단계에서는 앞서 예측한 Optical Flow를 이용하여 보간을 원하는 시점에 맞게 영상 내 각 픽셀을 이동시킬 수 있다. 이미지 Warping 단계는 Backward Flow와 현재 프레임에 기초하여 획득되는 Backward Warping 이미지와 Forward Flow와 이전 프레임에 기초하여 획득되는 Forward Warping 이미지를 생성할 수 있다.
이미지 합성 단계에서는 두 장의 Warping 이미지로부터 한 장의 출력 이미지를 생성할 수 있다. 여기서, 각 단계에서는 영상 입력 외 각종 Feature Map 등과 같은 추가 입력 정보를 활용하여 전체 시스템의 성능을 향상시킬 수 있다.
한편, 또 다른 실시 예(410)에 따른 전자 장치(100)는 실시 예(400)와 상이하게 움직임 벡터 획득 모듈 없이 출력 영상을 생성할 수 있다. 여기서, 프레임 버퍼(411) 및 지연 모듈(412)은 일 실시 예(300)에서 설명한 프레임 버퍼(301) 및 지연 모듈(302)에 대응될 수 있는 바 중복 설명을 생략한다.
또한, 전자 장치(100)는 딥러닝 기반 보간 프레임 생성 모듈(415)에 기초하여 입력 프레임에 대응되는 보간 프레임을 획득할 수 있다. 그리고, 전자 장치(100)는 출력 영상 생성 모듈(416)에 기초하여 출력 영상을 생성할 수 있다.
Optical Flow를 사용하지 않는 방법은 Optical Flow 계산 및 Flow를 이용한 이미지 Warping 단계를 모두 생략하고 입력 프레임들로부터 직접 중간 프레임을 생성할 수 있다. Optical Flow를 사용하는 방식들이 서로 다른 구조를 가지는 네트워크들의 연결로 인하여 학습에 어려움을 겪는 것과는 달리 Optical Flow를 사용하지 않는 방법은 전체 시스템이 단일 네트워크로 구성되므로 시스템을 학습시키기에 용이할 수 있다. 다만, Optical Flow를 사용하지 않는 방법은 학습시키고자 하는 네트워크의 높은 복잡도로 인하여 학습의 어려움이 커질 수 있다.
도 5는 일 실시 예에 따라, 복수의 보간 방식을 이용하여 획득한 보간 영상을 결합하는 실시 예를 설명하기 위한 흐름도이다.
도 5를 참조하면, 전자 장치(100)는 제1 프레임 및 제2 프레임을 획득할 수 있다 (S505). 여기서, 제1 프레임 및 제2 프레임에 대한 설명은 도 3에서 구체적으로 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 대응되는 제1 보간 모듈(510) 및 제2 보간 방식에 대응되는 제2 보간 모듈(520)을 이용하여 각 보간 모듈에 대응되는 보간 영상 및 신뢰도를 획득할 수 있다.
구체적으로, 전자 장치(100)는 제1 보간 방식에 기초하여 제1 움직임 벡터를 획득할 수 있다 (S510). 구체적으로, 전자 장치(100)는 제1 보간 모듈(510)에 포함된 움직임 벡터 생성 모듈에 기초하여 입력 프레임에 대응되는 제1 움직임 벡터를 획득할 수 있다.
또한, 전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 프레임을 획득할 수 있다 (S515). 구체적으로, 전자 장치(100)는 제1 보간 모듈(510)에 포함된 보간 프레임 생성 모듈에 기초하여 제1 보간 프레임을 획득할 수 있다.
또한, 전자 장치(100)는 제1 프레임, 제2 프레임 및 제1 보간 프레임에 기초하여 제1 보간 영상을 획득할 수 있다 (S520). 구체적으로, 전자 장치(100)는 제1 프레임, 제1 보간 프레임 및 제2 프레임 순서의 제2 보간 영상을 획득할 수 있다.
또한, 전자 장치(100)는 제1 움직임 벡터, 제1 보간 프레임 또는 제1 보간 영상 중 적어도 하나에 기초하여 제1 신뢰도를 획득할 수 있다 (S525). 비록, S525 단계가 S520 단계 이후에 수행되는 것으로 기재되었지만, 구현 예에 따라, 신뢰도를 획득하는 동작은S510 단계 이후에 바로 수행되거나, S515 단계 이후에 바로 수행될 수 있다.
한편, 전자 장치(100)는 제2 보간 방식에 기초하여 제2 움직임 벡터를 획득할 수 있다 (S530). 구체적으로, 전자 장치(100)는 제2 보간 모듈(520)에 포함된 움직임 벡터 생성 모듈에 기초하여 입력 프레임에 대응되는 제2 움직임 벡터를 획득할 수 있다.
또한, 전자 장치(100)는 제2 움직임 벡터에 기초하여 제2 보간 프레임을 획득할 수 있다 (S535). 구체적으로, 전자 장치(100)는 제2 보간 모듈(520)에 포함된 보간 프레임 생성 모듈에 기초하여 제2 보간 프레임을 획득할 수 있다.
또한, 전자 장치(100)는 제1 프레임, 제2 프레임 및 제2 보간 프레임에 기초하여 제2 보간 영상을 획득할 수 있다 (S540). 구체적으로, 전자 장치(100)는 제1 프레임, 제2 보간 프레임 및 제2 프레임 순서의 제2 보간 영상을 획득할 수 있다.
또한, 전자 장치(100)는 제2 움직임 벡터, 제2 보간 프레임 또는 제2보간 영상 중 적어도 하나에 기초하여 제2 신뢰도를 획득할 수 있다 (S545). 비록, S545 단계가 S540 단계 이후에 수행되는 것으로 기재되었지만, 구현 예에 따라, 신뢰도를 획득하는 동작은S530 단계 이후에 바로 수행되거나, S535 단계 이후에 바로 수행될 수 있다.
또한, 전자 장치(100)는 제1 보간 영상, 제1 신뢰도, 제2 보간 영상, 제2 신뢰도에 기초하여 출력 영상을 획득할 수 있다 (S550).
한편, 도 5의 실시 예에서, S520 및 S540 단계에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, S550 단계에서 전자 장치(100)는 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 17에서 후술한다.
도 6은 도 5의 구체적인 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 일 실시 예(600)에 따라, 전자 장치(100)는 입력 영상을 수신하고, 프레임 버퍼 및 지연 모듈을 이용하여 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 이와 관련된 동작은 도 3에서 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 영상을 획득하고, 제2 보간 방식에 기초하여 제2 보간 영상을 획득할 수 있다.
여기서, 제1 보간 방식은 블록 기반 보간 방식일 수 있으며, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다. 그리고, 제1 보간 모듈(510)은 블록 기반 보간 모듈(610)일 수 있으며, 제2 보간 모듈(520)은 딥러닝 기반 보간 모듈(620)일 수 있다.
여기서, 블록 기반 보간 모듈(610)은 블록 기반 움직임 벡터 생성 모듈(611) 및 블록 기반 보간 프레임 생성 모듈(612)을 포함할 수 있다. 그리고, 딥러닝 기반 보간 모듈(620)은 딥러닝 기반 움직임 벡터 생성 모듈(621) 및 딥러닝 기반 보간 프레임 생성 모듈(622)을 포함할 수 있다.
한편, 블록 기반 움직임 벡터 생성 모듈(611)은 제1 프레임 및 제2 프레임을 획득할 수 있다. 그리고, 블록 기반 움직임 벡터 생성 모듈(611)은 제1 프레임 및 제2 프레임에 기초하여 제1 움직임 벡터를 획득할 수 있다. 그리고, 블록 기반 움직임 벡터 생성 모듈(611)은 획득된 제1 움직임 벡터를 블록 기반 보간 프레임 생성 모듈(612)에 전송할 수 있다.
또한, 블록 기반 보간 프레임 생성 모듈(612)은 수신된 제1 움직임 벡터에 기초하여 제1 보간 프레임을 생성할 수 있다.
또한, 블록 기반 보간 모듈(610)은 제1 프레임 및 제2 프레임 사이에 제1 보간 프레임을 추가하여 제1 보간 영상을 생성할 수 있다. 여기서, 제1 보간 영상은 제2 프레임, 제1 보간 프레임 및 제1 프레임 순서로 재생되는 영상일 수 있다. 한편, 제1 보간 프레임은 적어도 하나의 프레임일 수 있으며, 2개 이상의 프레임일 수 있다.
또한, 블록 기반 보간 모듈(610)은 제1 보간 영상 및 제1 신뢰도를 출력 영상 생성 모듈(630)로 전송할 수 있다.
한편, 딥러닝 기반 움직임 벡터 생성 모듈(621)은 제1 프레임 및 제2 프레임을 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(621)은 제1 프레임 및 제2 프레임에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(621)은 획득된 제2 움직임 벡터를 딥러닝 기반 보간 프레임 생성 모듈(622)에 전송할 수 있다.
또한, 딥러닝 기반 보간 프레임 생성 모듈(622)은 수신된 제2 움직임 벡터에 기초하여 제1 보간 프레임을 생성할 수 있다.
또한, 딥러닝 기반 보간 모듈(620)은 제1 프레임 및 제2 프레임 사이에 제2 보간 프레임을 추가하여 제2 보간 영상을 생성할 수 있다. 여기서, 제2 보간 영상은 제2 프레임, 제2 보간 프레임, 제1 프레임 순서로 재생되는 영상일 수 있다. 한편, 제2 보간 프레임은 적어도 하나의 프레임일 수 있으며, 2개 이상의 프레임일 수 있다.
또한, 딥러닝 기반 보간 모듈(620)은 제2 보간 영상 및 제2 신뢰도를 출력 영상 생성 모듈(630)로 전송할 수 있다.
한편, 출력 영상 생성 모듈(630)은 블록 기반 보간 모듈(610)로부터 수신한 제1 보간 영상 및 제1 신뢰도 그리고 딥러닝 기반 보간 모듈(620)로부터 수신한 제2 보간 영상 및 제2 신뢰도에 기초하여 출력 영상을 생성할 수 있다.
도 6은 Hybrid 프레임 보간 시스템을 나타낸 것으로서 블록 기반 보간 모듈(610) 해당하는 블록 기반 ME(Motion Estimation)/MCFI(Motion-Compensated Frame Interpolation) 시스템과 딥러닝 기반 보간 모듈(620)에 해당하는 딥러닝 (Deep Learning) 기반 프레임 보간 시스템이 결합된 시스템이다. 이 때, 최종 출력 영상은 각각의 시스템에서 출력된 보간 영상들의 가중합 (Weighted Sum) 이 되며 각 보간 영상의 가중치는 해당 영상의 신뢰도로 정의될 수 있다.
한편, 다른 실시 예에 따라, 각 시스템은 다른 기술에 기반한 프레임 보간 시스템으로 대체될 수 있으며 각 시스템은 블록 기반 ME 또는 미분법 기반 Optical Flow 예측과 같은 움직임 예측 기법을 활용하지 않을 수도 있다.
한편, 도 6의 실시 예에서, 블록 기반 보간 모듈(610) 및 딥러닝 기반 보간 모듈(620)에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, 출력 영상 생성 모듈(630)은 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 16에서 후술한다.
도 7a는 제1 신뢰도 및 제2 신뢰도에 기초하여 출력 영상을 획득하는 실시 예를 설명하기 위한 도면이다.
도 7a를 참조하면, 전자 장치(100)는 제1 보간 영상 및 제2 보간 영상이 결합된 출력 영상을 생성할 수 있다. 프레임 단위에 기초하여 전자 장치(100)는 제1 보간 프레임 및 제2 보간 프레임을 결합하여 출력 프레임을 생성할 수 있다. 전자 장치(100)는 좌표에 따라 제1 보간 프레임에 대응되는 제1 신뢰도 및 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하고, 획득된 제1 신뢰도 및 제2 신뢰도에 따라 제1 보간 프레임 및 제2 보간 프레임을 결합할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 서로 다른 보간 방식에 의해 획득된 좌표 각각에 대응되는 신뢰도를 이용하여 출력 프레임을 생성할 수 있다. 여기서, 전자 장치(100)는 수학식(710)을 이용할 수 있다.
수학식(710)은 아래와 같을 수 있다.
IO(x,y)={CA(x,y)/(CA(x,y)+CB(x,y))}*IA(x,y)+ {CB(x,y)/(CA(x,y)+CB(x,y))}*IB(x,y)
여기서, IO(x,y)는 출력 프레임을 의미한다.
여기서, IA(x,y)는 제1 보간 방식에 기초하여 획득된 제1 보간 프레임에서 x,y 좌표에 대응되는 픽셀 정보를 의미한다.
여기서, IB(x,y)는 제2 보간 방식에 기초하여 획득된 제2 보간 프레임에서 x,y 좌표에 대응되는 픽셀 정보를 의미한다.
여기서, CA(x,y)는 제1 보간 프레임의 x,y 좌표에 대응되는 제1 신뢰도를 의미한다.
여기서, CB(x,y)는 제2 보간 프레임의 x,y 좌표에 대응되는 제2 신뢰도를 의미한다.
여기서, CA(x,y)/(CA(x,y)+CB(x,y))는 제1 보간 프레임에 적용되는 제1 가중치일 수 있다.
여기서, CB(x,y)/(CA(x,y)+CB(x,y))는 제2 보간 프레임에 적용되는 제2 가중치일 수 있다.
전자 장치(100)는 제1 보간 프레임의 x,y 좌표에 대응되는 제1 신뢰도와 제2 보간 프레임의 x,y 좌표에 대응되는 제2 신뢰도를 이용하여 x,y 좌표에 대응되는 출력 프레임을 획득할 수 있다. 여기서, 전자 장치(100)는 제1 신뢰도 및 제2 신뢰도를 가중치로 이용할 수 있다.
전자 장치(100)는 입력 영상이 저장된 버퍼 메모리로부터 2개 혹은 그 이상의 연속된 프레임을 입력 받아 서로 다른 보간 방식으로 프레임 보간을 수행할 수 있다. 따라서 각 보간 모듈이 생성한 제1 보간 영상 및 제2 보간 영상은 입력 영상에 비해 높은 프레임률을 가질 수 있다. 예를 들어 120hz 주사율을 가진 TV 시스템에 본 발명이 적용되는 경우, 24fps로 제작된 영화 콘텐츠를 입력 받게 되면 각 프레임 보간 모듈은 5배의 프레임 보간을 수행하여 120fps로 보간된 보간 영상을 출력할 수 있다.
출력 영상 생성 모듈은 각 보간 모듈에서 획득된 2개 이상의 보간 영상을 입력 받아 하나의 출력 영상을 생성할 수 있다. 여기서, 출력 영상을 생성하는 방식은 여러 개의 보간 영상의 가중합을 이용할 수 있으며 가중치는 각 보간 영상의 신뢰도를 모든 보간 영상의 신뢰도의 합으로 나눈 값이 이용될 수 있다. 예를 들어 2개의 제1 보간 모듈 및 제2 보간 모듈로 구성된 시스템은 수학식(710)에 기초하여 각 픽셀별로 보간 영상 IA와 보간 영상 IB를 합성하여 출력 영상 IO를 생성할 수 있다.
수학식(710)에서 각 보간 영상의 가중치는 각 픽셀마다 지역적 (Local) 으로 적용될 수 있다.
다른 실시 예에 따라, 각 보간 영상의 가중치가 전역적 (Global) 으로 적용 되는 형태로 구현될 수 있다. 만일 전역 가중치를 이용한다면 전자 장치(100)는 각 픽셀 혹은 블록의 신뢰도의 평균을 이용하여 전역 가중치를 결정할 수 있다.
전자 장치(100)는 서로 다른 보간 방식에 의해 획득된 신뢰도 평균을 이용하여 출력 프레임을 생성할 수 있다. 여기서, 전자 장치(100)는 수학식(720)을 이용할 수 있다.
수학식(720)은 아래와 같을 수 있다.
IO(x,y)={average CA/( average CA+ average CB)}*IA(x,y)+ { average CB/( average CA+ average CB)}*IB(x,y)
IO(x,y)={CA(x,y)/(CA(x,y)+CB(x,y))}*IA(x,y)+ {CB(x,y)/(CA(x,y)+CB(x,y))}*IB(x,y)
여기서, IO(x,y), IA(x,y) 및 IB(x,y)는 수학식(710)의 설명과 동일하므로 중복 설명을 생략한다.
여기서, average CA 는 제1 보간 프레임의 전체 영역에 대응되는 제1 신뢰도 평균을 의미한다.
여기서, average CB 는 제2 보간 프레임의 전체 영역에 대응되는 제2 신뢰도 평균을 의미한다.
전자 장치(100)는 제1 보간 프레임의 전체 영역에 대응되는 제1 신뢰도 평균과 제2 보간 프레임의 전체 영역에 대응되는 제2 신뢰도 평균을 이용하여 x,y 좌표에 대응되는 출력 프레임을 획득할 수 있다. 여기서, 전자 장치(100)는 제1 신뢰도 평균 및 제2 신뢰도 평균을 가중치로 이용할 수 있다. 여기서, 전자 장치(100)는 신뢰도 평균을 이용하므로, 출력 프레임의 전체 영역은 제1 보간 프레임 및 제2 보간 프레임이 동일한 비율로 결합된 영역일 수 있다.
또 다른 실시 예에 따라, 전자 장치(100)는 서로 다른 보간 방식에 의해 획득된 신뢰도 중 하나의 보간 방식에 의해 획득된 신뢰도를 이용하여 출력 프레임을 생성할 수 있다. 여기서, 전자 장치(100)는 수학식(730) 또는 수학식(740)을 이용할 수 있다.
수학식(730)은 아래와 같을 수 있다.
IO(x,y)=CA(x,y)*IA(x,y)+ {1- CA(x,y)}*IB(x,y)
여기서, IO(x,y), IA(x,y), IB(x,y), CA(x,y)는 수학식(710)의 설명과 동일하므로 중복 설명을 생략한다.
전자 장치(100)는 서로 다른 방식에 기초하여 획득된 제1 보간 프레임 및 제2 보간 프레임을 결합하여 출력 프레임을 생성할 수 있다. 전자 장치(100)는 출력 프레임을 생성하기 위하여 제1 보간 프레임에 대응되는 제1 신뢰도만을 이용하고 제2 보간 프레임에 대응되는 제2 신뢰도를 이용하지 않을 수 있다. 제1 보간 방식에 의해 생성된 제1 보간 프레임이 상대적으로 고 해상도이기 때문이다. 예를 들어, 제1 보간 방식은 고해상도 보간 방식이고 제2 보간 방식은 저해상도 보간 방식이라고 가정한다. 상대적으로 저해상도 보간 방식(제2 보간 방식)은 제2 보간 프레임을 생성함에 있어 출력 프레임의 품질이 좋지 못할 수 있다. 따라서, 고해상도 보간 방식(제1 보간 방식)에 비하여 신뢰도가 더 높더라도 전자 장치(100)는 신뢰도가 높은 저해상도 보간 방식(제2 보간 방식)의 제2 보간 프레임을 고려하지 않고 고해상도 보간 방식(제1 보간 방식)의 제1 보간 프레임만을 이용하여 출력 프레임을 생성할 수 있다. 따라서, 전자 장치(100)는 제1 보간 프레임 및 제2 보간 프레임을 모두 이용하여 출력 프레임을 생성함에도 불구하고 제1 보간 방식을 중점적으로 고려할 수 있다. 따라서, 전자 장치(100)는 수학식(730)과 같이 하나의 제1 보간 방식에 기초하여 획득된 제1 신뢰도만을 이용하여 출력 프레임을 생성할 수 있다. 따라서, 전자 장치(100)는 제2 신뢰도 획득 동작을 생략하고 제1 신뢰도 획득 동작만을 수행할 수 있다.
수학식(730)은 제1 보간 방식에 기초하여 획득된 제1 신뢰도만을 이용하여 출력 프레임을 생성하는 방식에 이용될 수 있다.
반대로, 수학식(740)은 제2 보간 방식에 기초하여 획득된 제2 신뢰도만을 이용하여 출력 프레임을 생성하는 방식에 이용될 수 있다.
수학식(740)은 아래와 같을 수 있다.
IO(x,y)= {1- CB(x,y)}*IA(x,y)+ CB(x,y)*IB(x,y)
여기서, IO(x,y), IA(x,y), IB(x,y), CB(x,y)는 수학식(710)의 설명과 동일하므로 중복 설명을 생략한다.
상술한 예시에서, 제1 보간 방식은 고해상도 보간 방식이고 제2 보간 방식은 저해상도 보간 방식이라고 가정하였다. 제1 보간 방식 및 제2 보간 방식에 따른 제1 신뢰도 및 제2 신뢰도를 획득하는 동작에 시간이 소요될 수 있으며, 고해상도 보간 방식에 따른 제1 신뢰도 획득 시간이 더 오래 걸릴 수 있다. 따라서, 전자 장치(100)는 제1 신뢰도 획득 동작을 생략하고 제2 신뢰도 획득 동작만을 수행할 수 있다.
또 다른 실시 예에 따라, 전자 장치(100)는 제1 보간 영상 및 제2 보간 영상 중 어느 하나의 보간 영상만을 선택하여 출력 영상을 생성할 수 있다. 전자 장치(100)는 제1 신뢰도 평균 및 제2 신뢰도 평균을 비교하여 하나의 보간 영상을 선택할 수 있다.
도 7b는 출력 영상 생성시 가중치 필터링을 수행하는 동작을 설명하기 위한 도면이다.
도 7b를 참조하면, 전자 장치(100)는 입력 영상에 포함된 각 픽셀 별로 신뢰도를 계산하여 가중치를 계산함으로써 서로 다른 보간 방식의 보간 프레임을 결합할 수 있다. 여기서, 시간적 또는 공간적으로 가중치가 급격히 변하는 경우 보간 프레임의 결합이 다소 부자연스러워질 우려가 있다. 이를 방지하기 위하여, 전자 장치(100)는 시간적(temporal) 또는 공간적(spatial) 평탄화 필터를 이용할 수 있다. 예를 들어, 2개의 시스템(제1 보간 방식 및 제2 보간 방식)을 사용하는 하이브리드 장치에 공간적 필터를 적용한다고 가정한다. WA가 앞서 계산된 픽셀별 제1 보간 방식의 가중치라면 W’A는 필터링된 제1 보간 방식의 가중치일 수 있다. 제1 보간 방식 및 제2 보간 방식의 가중치의 합은 1일 수 있으며, 제2 보간 방식의 가중치는 1-W’A(x,y)일 수 있다.
여기서, 전자 장치(100)는 수학식(750)을 이용하여 제1 가중치를 획득할 수 있다.
수학식(750)은 아래와 같을 수 있다.
WA(x,y)= CA(x,y)/(CA(x,y)+CB(x,y))
여기서, WA(x,y)는 제1 보간 방식의 가중치일 수 있다.
여기서, CA(x,y)는 제1 보간 프레임의 x,y 좌표에 대응되는 제1 신뢰도를 의미한다.
여기서, CB(x,y)는 제2 보간 프레임의 x,y 좌표에 대응되는 제2 신뢰도를 의미한다.
여기서, 전자 장치(100)는 수학식(755)을 이용하여 필터링된 제1 가중치를 획득할 수 있다.
수학식(755)은 아래와 같을 수 있다.
Figure pat00001
여기서, W’A(x,y)는 필터링된 제1 가중치일 수 있다.
여기서, F(m,n)는 m,n 좌표의 필터(필터 함수 또는 필터 데이터)일 수 있다.
전자 장치(100)는 수학식 (760)에 기초하여 출력 영상을 생성할 수 있다.
수학식(760)은 아래와 같을 수 있다.
IO(x,y)=W’A(x,y)*IA(x,y)+ {1- W’A(x,y)}*IB(x,y)
여기서, IO(x,y)는 출력 프레임을 의미한다.
여기서, W’A(x,y)는 필터링된 제1 가중치일 수 있다.
여기서, 1- W’A(x,y)는 필터링된 제2 가중치일 수 있다.
여기서, IA(x,y)는 제1 보간 방식에 기초하여 획득된 제1 보간 프레임에서 x,y 좌표에 대응되는 픽셀 정보를 의미한다.
여기서, IB(x,y)는 제2 보간 방식에 기초하여 획득된 제2 보간 프레임에서 x,y 좌표에 대응되는 픽셀 정보를 의미한다.
전자 장치(100)는 수학식(765)에 기초하여 시간적으로 급변하는 신뢰도(또는 가중치)를 제어(또는 변경)할 수 있다.
수학식(765)은 아래와 같을 수 있다.
W’A(x,y,t)= αWA(x,y,t)+(1-α)* WA(x,y,t-1)
여기서, W’A(x,y,t)는 t 시점의 변경된 가중치일 수 있다.
여기서, α는 가중치의 급격한 변경을 제어하기 위한 변수일 수 있으며, 0부터 1사이의 값을 가질 수 있다.
여기서, WA(x,y,t)는 t시점의 가중치일 수 있다.
여기서, WA(x,y,t-1)는 t-1시점의 가중치일 수 있다.
여기서, 가중치 필터를 적용하기 위하여 전자 장치(100)는 기 계산된 가중치들을 가중치 버퍼에 저장할 수 있다. 예를 들어, 공간적 필터의 경우 가우시안 평탄화 필터, 평균 필터 등이 이용될 수 있다. 시간적 필터의 경우 FIR(Finite Impulse Response) 방식의 필터 또는 IIR(infinite impulse response) 방식의 필터 등이 이용될 수 있다. 여기서, IIR(infinite impulse response) 필터는 이전 프레임의 가중치와 현재 프레임의 가중치의 가중합으로서 최종 가중치를 계산하는 방식일 수 있다. 일 실시 예에 따라, 전자 장치(100)는 픽셀별 가중치를 계산하고, 가중치 버퍼에서 가중치 필터를 획득할 수 있다. 그리고, 전자 장치(100)는 계산된 픽셀별 가중치에 가중치 필터를 적용하여 최종 픽셀별 가중치를 획득할 수 있다.
다른 실시 예에 따라, 전자 장치(100)는 블록별 가중치를 계산하고, 가중치 버퍼에서 가중치 필터를 획득할 수 있다. 그리고, 전자 장치(100)는 계산된 블록별 가중치에 가중치 필터를 적용하고, 가중치 보간 동작을 수행할 수 있다. 그리고, 전자 장치(100)는 최종 픽셀별 가중치를 획득할 수 있다.
전자 장치(100)는 가중치 계산의 속도를 빠르게 하기 위하여 블록별 또는 일부 픽셀의 가중치를 계산한 후 이를 보간하여 픽셀별 가중치로 활용할 수 있다. 구체적으로, 전자 장치(100)는 가중치 필터를 거친 뒤 다시 가중치 값을 보간(interpolation)하여 최종 픽셀별 가중치로 이용할 수 있다.
상술한 블록별 가중치 계산 방식은 블록별 가중치를 계산하기 쉬운 블록 기반 ME(Motion Estimation)/MCFI(Motion-Compensated Frame Interpolation) 시스템에 이용될 수 있다. 만일 블록별 가중치의 계산이 어려울 경우, 전자 장치(100)는 각 블록의 중앙 픽셀의 가중만을 계산한 다음 이를 블록별 가중치로 간주하고 필터링 및 보간을 거쳐 최종 픽셀별 가중치를 계산할 수도 있다.
도 8은 복수의 보간 방식 중 하나의 보간 방식에서 다운 샘플링 및 업 샘플링 동작을 수행하는 실시 예를 설명하기 위한 흐름도이다.
도 8을 참조하면, 전자 장치(100)는 제1 프레임 및 제2 프레임을 획득할 수 있다 (S805). 여기서, 제1 프레임 및 제2 프레임에 대한 설명은 도 3에서 구체적으로 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 대응되는 제1 보간 모듈(810) 및 제2 보간 방식에 대응되는 제2 보간 모듈(820)을 이용하여 각 보간 모듈에 대응되는 보간 영상 및 신뢰도를 획득할 수 있다.
S810, S815, S820, S825 단계는 도5의 S510, S515, S520, S525 단계에 대응될 수 있으므로 중복 설명을 생략한다.
한편, 전자 장치(100)는 제2 보간 방식의 다운 샘플링 모듈에 기초하여 다운 샘플링 프레임을 획득할 수 있다 (S830). 구체적으로, 전자 장치(100)는 획득된 제1 프레임 및 제2 프레임을 다운 샘플링 할 수 있다. 따라서, 다운 샘플링 프레임(들)은 제1 프레임 및 제2 프레임이 각각 다운 샘플링된 프레임을 의미할 수 있다. .
또한, 전자 장치(100)는 제2 보간 방식에 기초하여 제2 움직임 벡터를 획득할 수 있다 (S835). 구체적으로, 전자 장치(100)는 제2 보간 모듈(820)에 포함된 움직임 벡터 생성 모듈에 기초하여 다운 샘플링 프레임(다운 샘플링된 제1 프레임 및 제2 프레임)에 대응되는 제2 움직임 벡터를 획득할 수 있다.
또한, 전자 장치(100)는 제2 움직임 벡터에 기초하여 제2 보간 프레임을 획득할 수 있다 (S840). 구체적으로, 전자 장치(100)는 제2 보간 모듈(820)에 포함된 보간 프레임 생성 모듈에 기초하여 제2 보간 프레임을 획득할 수 있다.
또한, 전자 장치(100)는 제2 보간 방식의 업 샘플링 모듈에 기초하여 업 샘플링 프레임을 획득할 수 있다 (S845). 구체적으로, 전자 장치(100)는 획득된 제2 보간 프레임을 업 샘플링 할 수 있다. 따라서, 업 샘플링 프레임은 업 샘플링된 제2 보간 프레임을 의미할 수 있다.
또한, 전자 장치(100)는 제1 프레임, 제2 프레임 및 업 샘플링된 제2 보간 프레임에 기초하여 제2 보간 영상을 획득할 수 있다 (S850). 구체적으로, 전자 장치(100)는 제1 프레임, 업 샘플링된 제2 보간 프레임 및 제2 프레임 순서의 제2 보간 영상을 획득할 수 있다.
또한, 전자 장치(100)는 제2 움직임 벡터, 제2 보간 프레임 또는 제2보간 영상 중 적어도 하나에 기초하여 제2 신뢰도를 획득할 수 있다 (S855). 비록, S855 단계가 S850 단계 이후에 수행되는 것으로 기재되었지만, 구현 예에 따라, 신뢰도를 획득하는 동작은S835 단계 이후에 바로 수행되거나, S840 단계 이후에 바로 수행될 수 있다.
또한, 전자 장치(100)는 제1 보간 영상, 제1 신뢰도, 제2 보간 영상, 제2 신뢰도에 기초하여 출력 영상을 획득할 수 있다 (S860).
한편, 도 8의 실시 예에서, S820 및 S840 단계에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, S860 단계에서 전자 장치(100)는 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 16에서 후술한다.
도 9는 도 8의 구체적인 동작을 설명하기 위한 도면이다.
도 9를 참조하면, 일 실시 예(900)에 따라, 전자 장치(100)는 입력 영상을 수신하고, 프레임 버퍼 및 지연 모듈을 이용하여 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 이와 관련된 동작은 도 3에서 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 영상을 획득하고, 제2 보간 방식에 기초하여 제2 보간 영상을 획득할 수 있다.
여기서, 제1 보간 방식은 블록 기반 보간 방식일 수 있으며, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다. 그리고, 제1 보간 모듈(810)은 블록 기반 보간 모듈(910)일 수 있으며, 제2 보간 모듈(820)은 딥러닝 기반 보간 모듈(920)일 수 있다.
여기서, 블록 기반 보간 모듈(910)은 블록 기반 움직임 벡터 생성 모듈(911) 및 블록 기반 보간 프레임 생성 모듈(912)을 포함할 수 있다. 그리고, 딥러닝 기반 보간 모듈(920)은 다운 샘플링 모듈(921), 딥러닝 기반 움직임 벡터 생성 모듈(922) 및 딥러닝 기반 보간 프레임 생성 모듈(923), 업 샘플링 모듈(924)을 포함할 수 있다.
한편, 블록 기반 보간 모듈(910)에 대한 설명은 도 6의 블록 기반 보간 모듈(610)의 동작에 중복되므로 설명을 생략한다.
한편, 다운 샘플링 모듈(921)은 수신된 제1 프레임 및 제2 프레임을 다운 샘플링 하여 다운 샘플링 프레임을 획득할 수 있다. 여기서, 다운 샘플링 프레임은 다운 샘플링된 제1 프레임 및 다운 샘플링된 제2 프레임을 의미할 수 있다.
또한, 딥러닝 기반 움직임 벡터 생성 모듈(922)은 다운 샘플링된 제1 프레임 및 다운 샘플링된 제2 프레임에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(922)은 획득된 제2 움직임 벡터를 딥러닝 기반 보간 프레임 생성 모듈(923)에 전송할 수 있다.
또한, 딥러닝 기반 보간 프레임 생성 모듈(923)은 수신된 제2 움직임 벡터에 기초하여 제2 보간 프레임을 생성할 수 있다. 그리고, 딥러닝 기반 보간 프레임 생성 모듈(923)은 생성된 제2 보간 프레임을 업 샘플링 모듈(924)로 전송할 수 있다.
또한, 업 샘플링 모듈(924)은 수신된 제2 보간 프레임을 업 샘플링할 수 있다. 따라서, 업 샘플링 프레임은 업 샘플링된 제2 보간 프레임을 의미할 수 있다.
또한, 딥러닝 기반 보간 모듈(920)은 제1 프레임 및 제2 프레임 사이에 제2 보간 프레임을 추가하여 제2 보간 영상을 생성할 수 있다. 여기서, 제2 보간 영상은 제2 프레임, 제2 보간 프레임, 제1 프레임 순서로 재생되는 영상일 수 있다. 한편, 제2 보간 프레임은 적어도 하나의 프레임일 수 있으며, 2개 이상의 프레임일 수 있다.
또한, 딥러닝 기반 보간 모듈(920)은 제2 보간 영상 및 제2 신뢰도를 출력 영상 생성 모듈(930)로 전송할 수 있다.
출력 영상 생성 모듈(930)은 블록 기반 보간 모듈(910)로부터 수신한 제1 보간 영상 및 제1 신뢰도 그리고 딥러닝 기반 보간 모듈(920)로부터 수신한 제2 보간 영상 및 제2 신뢰도에 기초하여 출력 영상을 생성할 수 있다.
도 9의 실시 예(900)는 블록 기반 보간 모듈(910)과 딥러닝 기반 보간 모듈(920)이 서로 다른 해상도에서 프레임 보간을 수행하는 고해상도 프레임 보간 시스템이다. 딥러닝 기반의 프레임 보간 시스템은 연산량 및 복잡도가 높으므로, 4K 또는 8K와 같은 고해상도에서의 실시간 동작을 수행하기 위하여 매우 높은 비용이 필요할 수 있다. 따라서, 딥러닝 기반의 프레임 보간 시스템은 TV와 같은 소비자 가전에는 적합하지 않을 수 있다. 하지만, 이를 해결하기 위하여 전자 장치(100)는 블록 기반 보간 모듈(910)은 고해상도에서 동작하고 딥러닝 기반 보간 모듈(920)은 저해상도에서 동작한 뒤 그 결과를 업 샘플링하여 출력 영상을 생성할 수 있다. 이러한 시스템에서는 출력 영상 생성기 내에 적용되는 각 보간 영상의 가중치는 해당 영상의 신뢰도 또는 예측 에러 외에 속도 혹은 텍스쳐를 추가로 이용할 수 있다.
4K 또는 8K와 같이 고해상도의 입력 영상을 실시간으로 처리하는 프레임 보간 시스템의 경우, 비실시간 시스템과는 다르게 구현 가능한 연산량 및 처리 속도가 제약된다. 특히, 딥러닝 기반 프레임 보간 시스템의 경우 연산량이 매우 많으므로 고해상도의 영상에 대한 실시간 처리에 많은 연산량이 필요할 수 있다. 이러한 제약을 극복하기 위하여 전자 장치(100)는 딥러닝 기반 보간 모듈(920)을 저해상도에서 동작시키고 블록 기반 보간 모듈(910)을 고해상도에서 동작시킨 다음 그 결과를 합성하는 방식을 이용할 수 있다. 전자 장치(100)는 고해상도의 기본 성능을 가지면서도 물체의 변형 처리 등 딥러닝 기반 시스템이 가지는 장점을 나타내는 고해상도 실시간 하이브리드 프레임 보간 시스템을 구현할 수 있다.
이러한 시스템의 경우 각 시스템의 보간 영상의 가중치 계산 방식은 블록 기반 보간 모듈(910)의 신뢰도가 기준이 될 수 있다. 따라서 고해상도로 동작하는 블록 기반 보간 모듈(910)의 제1 보간 영상의 신뢰도가 높은 픽셀은 고해상도의 제1 보간 영상을 주로 이용하고 그렇지 않은 픽셀은 저해상도의 제2 보간 영상을 이용할 수 있다. 예를 들면, 전자 장치(100)는 도7의 수학식(730)을 이용할 수 있다.
위와 같은 시스템은 인지 시각적 측면에서도 장점이 있을 수 있다. 블록 기반 보간 모듈(910)에 대응되는 블록 기반 ME(Motion Estimation)/MCFI(Motion-Compensated Frame Interpolation) 기법이 잘 동작하지 않는 영역은 주로 물체의 속도가 빠른 영역, 물체의 변형이 심한 영역, 물체나 배경에 에지 (Edge) 나 텍스쳐 (Texture) 가 없는 영역일 수 있다. 그런데, 이러한 영역들은 물체의 움직임 또는 변형에 의한 모션 블러 또는 에지나 텍스쳐의 부족 등의 이유로 인하여 영상 내 고주파 성분이 많지 않을 수 있다. 뿐만 아니라 영상이 출력되는 전자 장치(100)에서도 모션 블러가 발생하므로 최종적으로 시각에 의해 인지되는 고주파 성분은 매우 적을 수 있다. 따라서 해당 영역에 저해상도로 보간된 영상을 업샘플링하여 출력하더라도 해상도로 인하여 시각적으로 느끼는 품질 저하는 크지 않으며 오히려 물체의 구조적 특징 및 변형을 잘 표현하는 경우 최종 결과 영상의 시각적 품질이 향상될 수 있다.
블록 기반 보간 모듈(910)의 제1 보간 영상의 신뢰도를 계산하는 데 있어서는 정합 오차, 움직임 벡터 필드 또는 Optical Flow 필드의 평탄도, 워핑 영상 간의 오차 외에 속도나 에지, 텍스쳐의 강도 등을 추가로 이용할 수 있다.
이를 통해 속도가 빠르면서 에지나 텍스쳐가 없는 영역의 신뢰도를 낮춰 자연스럽게 딥러닝 기반 보간 모듈(920)의 결과가 섞이도록 할 수 있다. 그 예로서 전자 장치(100)는 1/(1+γ*|v|) 혹은 1/(1+δ*textureness) 등을 추가적인 신뢰도 항목으로 이용할 수 있다. 이 때, |v|는 모션 벡터의 크기일 수 있고, textureness로는 결과 영상의 지역적 분산 (Local Variance) 또는 Gradient 벡터 크기의 지역적 평균 (Local Mean)일 수 있다.
한편, 도 9의 실시 예에서, 블록 기반 보간 모듈(910) 및 딥러닝 기반 보간 모듈(920)에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, 출력 영상 생성 모듈(930)은 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 17에서 후술한다.
도 10은 입력 영상의 움직임에 따라 다운 샘플링 영역을 결정하는 실시 예를 설명하기 위한 흐름도이다.
도 10을 참조하면, 전자 장치(100)는 제1 프레임 및 제2 프레임을 획득할 수 있다 (S1005). 여기서, 제1 프레임 및 제2 프레임에 대한 설명은 도 3에서 구체적으로 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 대응되는 제1 보간 모듈(1010) 및 제2 보간 방식에 대응되는 제2 보간 모듈(1020-1) 및 제3 보간 모듈(1020-2)을 이용하여 각 보간 모듈에 대응되는 보간 영상 및 신뢰도를 획득할 수 있다. 구현 예에 따라, 제2 보간 모듈(1020-1) 및 제3 보간 모듈(1020-2)은 하나의 모듈로 구현될 수 있다.
한편, 제1 보간 모듈(1010)의 동작은 도 8의 제1 보간 모듈(810)의 동작에 대응될 수 있으므로 중복 설명을 생략한다.
전자 장치(100)는 S1005 단계에서 획득한 제1 프레임 및 제2 프레임에 기초하여 제1 프레임 및 제2 프레임에서 움직임이 일부 영역에서만 존재하는지 판단할 수 있다 (S1010). 전자 장치(100)는 수신되는 입력 영상의 각 프레임을 실시간으로 분석하여 움직임이 일부 영역에 존재하는지 전체 영역에서 존재하는지 식별할 수 있다. 일부 영역 및 전체 영역을 구분하는 영역 기준 및 움직임 정도의 기준은 사용자 설정에 따라 변경될 수 있다.
전자 장치(100)는 특정 좌표, 특정 영역 또는 특정 블록에 대응되는 움직임 벡터와 움직임 벡터의 전체 평균값을 비교하여 일부 영역에서만 움직임이 존재하는지 식별할 수 있다. 구체적으로, 전자 장치(100)는 특정 좌표, 특정 영역 또는 특정 블록에 대응되는 움직임 벡터를 움직임 벡터의 전체 평균값으로 나눈 값이 임계값 이상이면 일부 영역에서만 움직임이 존재하는 것으로 판단할 수 있다. 또한, 전자 장치(100)는 특정 좌표, 특정 영역 또는 특정 블록에 대응되는 움직임 벡터를 움직임 벡터의 전체 평균값으로 나눈 값이 임계값 미만이면, 전체 영역에서 움직임이 존재하는 것으로 판단할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 제1 보간 모듈(1010)에서 획득되는 제1 움직임 벡터에 기초하여 움직임이 입력 영상의 일부 영역에서만 존재하는지 판단할 수 있다. 구체적으로, 전자 장치(100)는 제1 움직임 벡터에 기초하여 움직임이 전체 영역에서 존재하는지 일부 영역에서 존재하는지 여부를 판단할 수 있다.
다른 실시 예에 따라, 전자 장치(100)는 제2 보간 모듈(1010)에서 획득되는 제2 움직임 벡터(S1020, S1050)에 기초하여 움직임이 입력 영상의 일부 영역에서만 존재하는지 판단할 수 있다. S1010 단계는 S1020 및 S1050 단계보다 이전에 수행되는 동작일 수 있다. 따라서, 최초의 S1010 단계에서는 전체 영역에 대응되는 다운 샘플링 동작을 수행할 수 있다. 그리고, 제1 프레임 이후에 재생되는 다음 프레임에 대한 보간 프레임을 생성할 때, S1020 단계에서 획득된 제2 움직임 벡터에 기초하여 움직임이 일부 영역에서 식별되는지 전체 영역에서 식별되는지 판단할 수 있다. 영상의 움직임은 연속적이므로 다음 프레임에 영향을 주는 경우가 많을 수 있다. 따라서, 전자 장치(100)는 제1 프레임 및 제2 프레임에 기초하여 제2 움직임 벡터를 획득하고, 제3 프레임(제1 프레임의 다음 프레임, 현재 프레임) 및 제1 프레임(이전 프레임)에 대한 보간 프레임을 생성하는 단계에서 제2 움직임 벡터에 기초하여 움직임이 일부 영역에서 식별되는지 전체 영역에서 식별되는지 판단할 수 있다.
한편, 제1 프레임 및 제2 프레임에서 움직임이 일부 영역에만 존재하지 않는 것으로 식별되면, 전자 장치(100)는 제2 보간 방식의 다운 샘플링 모듈에 기초하여 전체 영역에 대한 다운 샘플링 프레임을 획득할 수 있다 (S1015). 구체적으로, 전자 장치(100)는 획득된 제1 프레임의 전체 영역 및 제2 프레임의 전체 영역을 다운 샘플링 할 수 있다. 따라서, 다운 샘플링 프레임(들)은 제1 프레임의 전체 영역 및 제2 프레임의 전체 영역이 각각 다운 샘플링된 프레임을 의미할 수 있다.
그리고, 제1 프레임의 전체 영역 및 제2 프레임의 전체 영역에 대한 다운 샘플링 프레임 획득 단계 (S1015), 제2 움직임 벡터 획득 단계 (S1020), 제2 보간 프레임 획득 단계 (S1025), 제2 보간 프레임 전체 영역에 대한 업 샘플링 프레임 획득 단계 (S1030), 제2 보간 영상 획득 단계 (S1035), 제2 신뢰도 획득 단계 (S1040)는 도 8의 S830, S835, S840, S845, S850, S855 단계에 대응될 수 있으므로 중복 설명을 생략한다.
한편, 제1 프레임 및 제2 프레임에서 움직임이 일부 영역에만 존재하는 것으로 식별되면, 전자 장치(100)는 제2 보간 방식의 다운 샘플링 모듈에 기초하여 일부 영역에 대한 다운 샘플링 프레임을 획득할 수 있다 (S1045).
제2 보간 모듈(1020-1)과 다르게, 제3 보간 모듈(1020-2)은 프레임의 전체 영역이 아닌 일부 영역에 대해서만 보간 프레임을 생성할 수 있다. 일부 영역에만 움직임이 집중되는 경우, 전체 영역에 대하여 보간 프레임을 생성하는 동작이 비효율일 수 있기 때문이다. 전자 장치(100)는 움직임이 주로 식별되는 일부 영역을 타겟 영역으로 식별하고, 제1 프레임의 타겟 영역 및 제2 프레임의 타겟 영역에 기초하여 제2 보간 프레임을 생성할 수 있다.
그리고, 제1 프레임의 일부 영역(또는 타겟 영역) 및 제2 프레임의 일부 영역(또는 타겟 영역)에 대한 다운 샘플링 프레임 획득 단계 (S1045), 제2 움직임 벡터 획득 단계 (S1050), 제2 보간 프레임 획득 단계 (S1055), 제2 보간 프레임 일부 영역(또는 타겟 영역)에 대한 업 샘플링 프레임 획득 단계 (S1060), 제2 보간 영상 획득 단계 (S1065), 제2 신뢰도 획득 단계 (S1070)는 일부 영역에 대하여 동작이 수행된다는 점을 제외하고 도 8의 S830, S835, S840, S845, S850, S855 단계에 대응될 수 있으므로 중복 설명을 생략한다.
또한, 전자 장치(100)는 제1 보간 영상, 제1 신뢰도, 제2 보간 영상, 제2 신뢰도에 기초하여 출력 영상을 획득할 수 있다 (S1075).
한편, 도 10의 실시 예에서, S1035 및 S1065 단계에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, S1075 단계에서 전자 장치(100)는 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 16에서 후술한다.
도 11은 도 10의 구체적인 동작을 설명하기 위한 도면이다.
도 11을 참조하면, 일 실시 예(1100)에 따라, 전자 장치(100)는 입력 영상을 수신하고, 프레임 버퍼 및 지연 모듈을 이용하여 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 이와 관련된 동작은 도 3에서 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 영상을 획득하고, 제2 보간 방식에 기초하여 제2 보간 영상을 획득할 수 있다.
여기서, 제1 보간 방식은 블록 기반 보간 방식일 수 있으며, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다. 그리고, 제1 보간 모듈(1010)은 블록 기반 보간 모듈(1110)일 수 있으며, 제2 보간 모듈(1020-1) 및 제3 보간 모듈(1020-2)은 딥러닝 기반 보간 모듈(1120-1, 1120-2)일 수 있다.
여기서, 블록 기반 보간 모듈(1110)은 블록 기반 움직임 벡터 생성 모듈(1111) 및 블록 기반 보간 프레임 생성 모듈(1112)을 포함할 수 있다.
그리고, 딥러닝 기반 보간 모듈(1120-1)은 전체 영역에 대한 다운 샘플링 모듈(1121-1), 딥러닝 기반 움직임 벡터 생성 모듈(1122-1) 및 딥러닝 기반 보간 프레임 생성 모듈(1123-1), 전체 영역에 대한 업 샘플링 모듈(1124-1)을 포함할 수 있다.
그리고, 딥러닝 기반 보간 모듈(1120-2)은 일부 영역에 대한 다운 샘플링 모듈(1121-2), 딥러닝 기반 움직임 벡터 생성 모듈(1122-2) 및 딥러닝 기반 보간 프레임 생성 모듈(1123-2), 일부 영역에 대한 업 샘플링 모듈(1124-2)을 포함할 수 있다.
한편, 블록 기반 보간 모듈(1110)에 대한 설명은 도 6의 블록 기반 보간 모듈(610)의 동작에 중복되므로 설명을 생략한다.
한편, 구현 예에 따라 딥러닝 기반 보간 모듈(1120-1) 및 딥러닝 기반 보간 모듈(1120-2)을 포함하는 하나의 제어 모듈(1120)이 존재할 수 있다. 제어 모듈(1120)은 입력 영상에서 움직임이 전체 영역에서 전반적으로 존재하는지 일부 영역에서만 존재하는지 식별할 수 있다. 구체적으로, 전자 장치(100)는 제1 프레임 및 제2 프레임을 비교하여 움직임이 일어나는 타겟 영역을 식별하고, 타겟 영역의 범위를 고려하여 전체 영역에서 움직임이 발생하는지 일부 영역에서만 움직임이 발생하는지 식별할 수 있다.
전체 영역에서 움직임이 발생하는 것으로 식별되면, 제어 모듈(1120)은 전체 영역에 대한 다운 샘플링 모듈(1121-1)에 기초하여 제1 프레임의 전체 영역 및 제2 프레임의 전체 영역에 대응되는 다운 샘플링 프레임을 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(1122-1)은 다운 샘플링된 프레임의 전체 영역에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 딥러닝 기반 보간 프레임 생성 모듈(1123-1)은 획득된 움직임 벡터에 기초하여 제2 보간 프레임을 생성할 수 있다. 그리고, 전체 영역에 대한 업 샘플링 모듈(1124-1)은 생성된 제2 보간 프레임을 업 샘플링 할 수 있다. 그리고, 딥러닝 기반 보간 모듈(1120-1)은 제2 프레임, 업 샘플링된 제2 보간 프레임, 제1 프레임 순서로 재생되는 제2 보간 영상을 생성할 수 있다.
여기서, 전체 영역에 대한 다운 샘플링 모듈(1121-1), 딥러닝 기반 움직임 벡터 생성 모듈(1122-1) 및 딥러닝 기반 보간 프레임 생성 모듈(1123-1), 전체 영역에 대한 업 샘플링 모듈(1124-1) 및 딥러닝 기반 보간 모듈(1120-1)의 동작들은 도 9의 다운 샘플링 모듈(921), 딥러닝 기반 움직임 벡터 생성 모듈(922) 및 딥러닝 기반 보간 프레임 생성 모듈(923), 업 샘플링 모듈(924) 및 딥러닝 기반 보간 모듈(920)의 동작들에 대응될 수 있으므로 중복 설명을 생략한다.
일부 영역에서 움직임이 발생하는 것으로 식별되면, 제어 모듈(1120)은 일부 영역에 대한 다운 샘플링 모듈(1121-2)에 기초하여 제1 프레임의 일부 영역 및 제2 프레임의 일부 영역에 대응되는 다운 샘플링 프레임을 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(1122-2)은 다운 샘플링된 프레임의 일부 영역에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 딥러닝 기반 보간 프레임 생성 모듈(1123-2)은 획득된 움직임 벡터에 기초하여 제2 보간 프레임을 생성할 수 있다. 그리고, 일부 영역에 대한 업 샘플링 모듈(1124-2)은 생성된 제2 보간 프레임을 업 샘플링 할 수 있다. 그리고, 딥러닝 기반 보간 모듈(1120-2)은 제2 프레임, 업 샘플링된 제2 보간 프레임, 제1 프레임 순서로 재생되는 제2 보간 영상을 생성할 수 있다.
여기서, 일부 영역에 대한 다운 샘플링 모듈(1121-2), 딥러닝 기반 움직임 벡터 생성 모듈(1122-2) 및 딥러닝 기반 보간 프레임 생성 모듈(1123-2), 일부 영역에 대한 업 샘플링 모듈(1124-2) 및 딥러닝 기반 보간 모듈(1120-2)의 동작들은 일부 영역에 대하여 동작이 수행된다는 점을 제외하고 도 9의 다운 샘플링 모듈(921), 딥러닝 기반 움직임 벡터 생성 모듈(922) 및 딥러닝 기반 보간 프레임 생성 모듈(923), 업 샘플링 모듈(924) 및 딥러닝 기반 보간 모듈(920)의 동작들에 대응될 수 있으므로 중복 설명을 생략한다.
또한, 제어 모듈(1120)은 제2 보간 영상 및 제2 신뢰도를 출력 영상 생성 모듈(1130)로 전송할 수 있다.
출력 영상 생성 모듈(1130)은 블록 기반 보간 모듈(1110)로부터 수신한 제1 보간 영상 및 제1 신뢰도 그리고 제어 모듈(1120)로부터 수신한 제2 보간 영상 및 제2 신뢰도에 기초하여 출력 영상을 생성할 수 있다.
한편, 도 11의 실시 예에서, 블록 기반 보간 모듈(1110) 및 딥러닝 기반 보간 모듈(1120-1, 1120-2)에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, 출력 영상 생성 모듈(1130)은 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 17에서 후술한다.
도 12는 복수의 보간 방식 중 하나의 방식에서만 움직임 벡터를 획득하는 실시 예를 설명하기 위한 흐름도이다.
도 12를 참조하면, 전자 장치(100)는 제1 프레임 및 제2 프레임을 획득할 수 있다 (S1205). 여기서, 제1 프레임 및 제2 프레임에 대한 설명은 도 8에서 구체적으로 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 대응되는 제1 보간 모듈(1210) 및 제2 보간 방식에 대응되는 제2 보간 모듈(1220)을 이용하여 각 보간 모듈에 대응되는 보간 영상 및 신뢰도를 획득할 수 있다.
여기서, S1210, S1215, S1220, S1225, S1230, S1235 단계는 도 8의 S830, S835, S840, S845, S850, S855 단계에 대응될 수 있으므로 중복 설명을 생략한다.
전자 장치(100)는 제2 보간 모듈(1220)에서 획득한 제2 움직임 벡터에 기초하여 제1 보간 프레임을 획득할 수 있다 (S1240). 도 8의 실시 예에서, 전자 장치(100)는 제1 보간 방식에 기초하여 획득된 제1 움직임 벡터에 기초하여 제1 보간 프레임을 획득하였다. 하지만, 도 12의 실시 예에서, 전자 장치(100)는 제2 보강 방식에 기초하여 획득된 제2 움직임 벡터에 기초하여 제1 보간 프레임을 획득할 수 있다.
또한, 전자 장치(100)는 제1 프레임, 제2 프레임 및 제1 보간 프레임에 기초하여 제1 보간 영상을 획득할 수 있다 (S1245). 구체적으로, 전자 장치(100)는 제1 프레임, 제1 보간 프레임 및 제2 프레임 순서의 제2 보간 영상을 획득할 수 있다.
또한, 전자 장치(100)는 제1 보간 프레임 또는 제1 보간 영상 중 적어도 하나에 기초하여 제1 신뢰도를 획득할 수 있다 (S1250). 비록, S1250 단계가 S1245 단계 이후에 수행되는 것으로 기재되었지만, 구현 예에 따라, 신뢰도를 획득하는 동작은S1240 단계 이후에 바로 수행될 수 있다.
또한, 전자 장치(100)는 제1 보간 영상, 제1 신뢰도, 제2 보간 영상, 제2 신뢰도에 기초하여 출력 영상을 획득할 수 있다 (S1255).
한편, 도 12의 실시 예에서, S1245 및 S1230 단계에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, S1255 단계에서 전자 장치(100)는 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 16에서 후술한다.
도 13은 도 12의 구체적인 동작을 설명하기 위한 도면이다.
도 13을 참조하면, 일 실시 예(1300)에 따라, 전자 장치(100)는 입력 영상을 수신하고, 프레임 버퍼 및 지연 모듈을 이용하여 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 이와 관련된 동작은 도 3에서 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 영상을 획득하고, 제2 보간 방식에 기초하여 제2 보간 영상을 획득할 수 있다.
여기서, 제1 보간 방식은 블록 기반 보간 방식일 수 있으며, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다. 그리고, 제1 보간 모듈(1210)은 블록 기반 보간 모듈(1310)일 수 있으며, 제2 보간 모듈(1220)은 딥러닝 기반 보간 모듈(1320)일 수 있다.
여기서, 블록 기반 보간 모듈(1310)은 블록 기반 보간 프레임 생성 모듈(1312)을 포함할 수 있다. 그리고, 딥러닝 기반 보간 모듈(1320)은 다운 샘플링 모듈(1321), 딥러닝 기반 움직임 벡터 생성 모듈(1322) 및 딥러닝 기반 보간 프레임 생성 모듈(1323), 업 샘플링 모듈(1324)을 포함할 수 있다.
한편, 딥러닝 기반 보간 모듈(1320)에 대한 설명은 도 9의 딥러닝 기반 보간 모듈(920)의 동작에 중복되므로 설명을 생략한다. 추가적으로, 딥러닝 기반 움직임 벡터 생성 모듈(1322)은 획득된 제2 움직임 벡터를 블록 기반 보간 모듈(1310)의 블록 기반 보간 프레임 생성 모듈(1312)에 전송할 수 있다.
블록 기반 보간 프레임 생성 모듈(1312)은 딥러닝 기반 움직임 벡터 생성 모듈(1322)로부터 수신한 제2 움직임 벡터를 이용하여 제1 보간 프레임을 생성할 수 있다.
또한, 블록 기반 보간 모듈(1310)은 제1 프레임 및 제2 프레임 사이에 제1 보간 프레임을 추가하여 제1 보간 영상을 생성할 수 있다. 여기서, 제1 보간 영상은 제2 프레임, 제1 보간 프레임 및 제1 프레임 순서로 재생되는 영상일 수 있다. 한편, 제1 보간 프레임은 적어도 하나의 프레임일 수 있으며, 2개 이상의 프레임일 수 있다.
또한, 블록 기반 보간 모듈(1310)은 제1 보간 영상 및 제1 신뢰도를 출력 영상 생성 모듈(1330)로 전송할 수 있다.
한편, 출력 영상 생성 모듈(1330)은 블록 기반 보간 모듈(1310)로부터 수신한 제1 보간 영상 및 제1 신뢰도 그리고 딥러닝 기반 보간 모듈(1320)로부터 수신한 제2 보간 영상 및 제2 신뢰도에 기초하여 출력 영상을 생성할 수 있다.
도 13의 실시 예(1300)는 Hybrid 프레임 보간 시스템의 다른 형태로서 블록 기반 보간 모듈(1310) 및 딥러닝 기반 보간 모듈(1320)에 의하여 획득된 움직임 벡터를 공유하는 시스템의 예이다. 여기서, 딥러닝 기반 보간 모듈(1320)은 고해상도에서 동작하는 형태로 구현될 수 있고, 저해상도에서 동작한 뒤 업 샘플링 하는 형태로 구현될 수 있다.
블록 기반 보간 모듈(1310)과 딥러닝 기반 보간 모듈(1320) 등 2개의 시스템으로 구성된 하이브리드 프레임 보간 시스템에서, 전자 장치(100)는 딥러닝 기반 보간 모듈(1320)의 Optical Flow 예측 결과를 블록 기반 보간 모듈(1310)에 공유할 수 있다. 여기서, 픽셀 기반 Optical Flow 예측 결과를 블록 기반 움직임 벡터 필드로 변환하기 위해 전자 장치(100)는 Optical Flow의 블록 평균, 블록 중앙값 등을 이용할 수 있다. 만일 블록 기반 보간 모듈(1310)과 딥러닝 기반 보간 모듈(1320)이 서로 다른 해상도에서 동작한다면 블록 기반 보간 모듈(1310)에 맞게 Optical Flow 예측 결과에 적절한 업 샘플링 동작이 수행될 수 있다.
한편, 도 13의 실시 예에서, 블록 기반 보간 모듈(1310) 및 딥러닝 기반 보간 모듈(1320)에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, 출력 영상 생성 모듈(1330)은 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 생성하고, 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 17에서 후술한다.
도 14는 복수의 보간 방식 중 하나의 방식에서만 보간 프레임을 획득하는 실시 예를 설명하기 위한 흐름도이다.
도 14를 참조하면, 전자 장치(100)는 제1 프레임 및 제2 프레임을 획득할 수 있다 (S1405). 여기서, 제1 프레임 및 제2 프레임에 대한 설명은 도 3에서 구체적으로 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 대응되는 제1 보간 모듈(1410) 및 제2 보간 방식에 대응되는 제2 보간 모듈(1420)을 이용하여 각 보간 모듈에 대응되는 신뢰도를 획득할 수 있다.
구체적으로, 전자 장치(100)는 제1 보간 방식에 기초하여 제1 움직임 벡터를 획득할 수 있다 (S1410). 구체적으로, 전자 장치(100)는 제1 보간 모듈(1410)에 포함된 움직임 벡터 생성 모듈에 기초하여 입력 프레임에 대응되는 제1 움직임 벡터를 획득할 수 있다.
그리고, 전자 장치(100)는 획득된 제1 움직임 벡터에 기초하여 제1 신뢰도를 획득할 수 있다 (S1415).
전자 장치(100)는 제2 보간 방식에 기초하여 제2 움직임 벡터를 획득할 수 있다 (S1425). 구체적으로, 전자 장치(100)는 제2 보간 모듈(1420)에 포함된 움직임 벡터 생성 모듈에 기초하여 제1 프레임 및 제2 프레임에 대응되는 제2 움직임 벡터를 획득할 수 있다.
그리고, 전자 장치(100)는 획득된 제2 움직임 벡터에 기초하여 제2 신뢰도를 획득할 수 있다 (S1430).
여기서, 전자 장치(100)는 움직임 벡터 결합 모듈에 기초하여 제1 움직임 벡터 및 제2 움직임 벡터가 반영된 결합 움직임 벡터를 획득할 수 있다 (S1435). 전자 장치(100)는 제1 보간 방식에 기초하여 획득된 제1 움직임 벡터 및 제2 보간 방식에 기초하여 획득된 제2 움직임 벡터를 결합할 수 있다. 구체적으로, 전자 장치(100)는 제1 움직임 벡터, 제1 신뢰도, 제2 움직임 벡터 및 제2 신뢰도에 기초하여 결합 움직임 벡터(또는 출력 움직임 벡터)를 생성할 수 있다. 그리고, 움직임 벡터 결합 모듈은 획득된 결합 움직임 벡터를 제2 보간 모듈(1420)에 전송할 수 있다.
제2 보간 모듈(1420)은 움직임 벡터 결합 모듈로부터 수신된 결합 움직임 벡터에 기초하여 제2 보간 프레임을 획득할 수 있다 (S1440). 구체적으로, 전자 장치(100)는 제2 보간 모듈(1420)에 포함된 보간 프레임 생성 모듈에 기초하여 제2 보간 프레임을 획득할 수 있다.
또한, 전자 장치(100)는 제1 프레임, 제2 프레임 및 제2 보간 프레임에 기초하여 제2 보간 영상을 획득할 수 있다 (S1450). 구체적으로, 전자 장치(100)는 제1 프레임, 제2 보간 프레임 및 제2 프레임 순서의 제2 보간 영상을 획득할 수 있다.
여기서, 전자 장치(100)는 제2 보간 영상에 기초하여 출력 영상을 획득할 수 있다 (S1455). 도 8의 실시 예에서는 제1 보간 영상 및 제2 보간 영상을 결합하여 출력 영상을 획득하였으나, 도 14의 실시 예에서는 이미 S1435 단계에서 제1 보간 방식의 움직임 벡터 및 제2 보간 방식의 움직임 벡터가 결합되었다. 따라서, 도 12의 실시 예에서는 도 8과 같이 제1 보간 영상이 생성되지 않을 수 있다.
한편, 도 14의 실시 예에서, S1450 단계에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, S1450 단계에서 전자 장치(100)는 제1 프레임, 제2 보간 프레임 및 제2 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 16에서 후술한다.
도 15는 도 14의 구체적인 동작을 설명하기 위한 도면이다.
도 15를 참조하면, 일 실시 예(1500)에 따라, 전자 장치(100)는 입력 영상을 수신하고, 프레임 버퍼 및 지연 모듈을 이용하여 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 이와 관련된 동작은 도 3에서 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 영상을 획득하고, 제2 보간 방식에 기초하여 제2 보간 영상을 획득할 수 있다.
여기서, 제1 보간 방식은 블록 기반 보간 방식일 수 있으며, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다. 그리고, 제1 보간 모듈(1410)은 블록 기반 보간 모듈(1510)일 수 있으며, 제2 보간 모듈(1420)은 딥러닝 기반 보간 모듈(1520)일 수 있다.
여기서, 블록 기반 보간 모듈(1510)은 블록 기반 움직임 벡터 생성 모듈(1511)을 포함할 수 있다. 그리고, 딥러닝 기반 보간 모듈(1520)은 딥러닝 기반 움직임 벡터 생성 모듈(1522) 및 딥러닝 기반 보간 프레임 생성 모듈(1523)을 포함할 수 있다.
블록 기반 움직임 벡터 생성 모듈(1511)은 제1 프레임 및 제2 프레임을 획득할 수 있다. 그리고, 블록 기반 움직임 벡터 생성 모듈(1511)은 제1 프레임 및 제2 프레임에 기초하여 제1 움직임 벡터를 획득할 수 있다. 그리고, 블록 기반 움직임 벡터 생성 모듈(1511)은 획득된 제1 움직임 벡터를 움직임 벡터 결합 모듈(1515)에 전송할 수 있다.
여기서, 블록 기반 보간 모듈(1510)은 추가적으로 제1 움직임 벡터에 대응되는 제1 신뢰도를 획득할 수 있다. 그리고, 블록 기반 보간 모듈(1510)은 획득된 제1 움직임 벡터에 대응되는 제1 신뢰도를 움직임 벡터 결합 모듈(1515)에 전송할 수 있다.
딥러닝 기반 움직임 벡터 생성 모듈(1522)은 제1 프레임 및 제2 프레임에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(1522)은 획득된 제2 움직임 벡터를 움직임 벡터 결합 모듈(1515)에 전송할 수 있다.
여기서, 딥러닝 기반 보간 모듈(1520)은 추가적으로 제2 움직임 벡터에 대응되는 제2 신뢰도를 획득할 수 있다. 그리고, 딥러닝 기반 보간 모듈(1520)은 획득된 제2 움직임 벡터에 대응되는 제2 신뢰도를 움직임 벡터 결합 모듈(1515)에 전송할 수 있다.
여기서, 움직임 벡터 결합 모듈(1515)은 블록 기반 움직임 벡터 생성 모듈(1511)로부터 수신된 제1 움직임 벡터 및 딥러닝 기반 움직임 벡터 생성 모듈(1522)로부터 수신된 제2 움직임 벡터에 기초하여 결합 움직임 벡터를 획득할 수 있다. 움직임 벡터 결합 모듈(1515)은 제1 보간 방식에 기초하여 획득된 제1 움직임 벡터 및 제2 보간 방식에 기초하여 획득된 제2 움직임 벡터를 결합할 수 있다. 구체적으로, 움직임 벡터 결합 모듈(1515)은 제1 움직임 벡터, 제1 신뢰도, 제2 움직임 벡터 및 제2 신뢰도에 기초하여 결합 움직임 벡터(또는 출력 움직임 벡터)를 생성할 수 있다. 그리고, 움직임 벡터 결합 모듈은 획득된 결합 움직임 벡터를 딥러닝 기반 보간 프레임 생성 모듈(1523)에 전송할 수 있다.
또한, 딥러닝 기반 보간 프레임 생성 모듈(1523)은 수신된 결합 움직임 벡터에 기초하여 제2 보간 프레임을 생성할 수 있다.
또한, 딥러닝 기반 보간 모듈(1520)은 제1 프레임 및 제2 프레임 사이에 제2 보간 프레임을 추가하여 제2 보간 영상을 생성할 수 있다. 여기서, 제2 보간 영상은 제2 프레임, 제2 보간 프레임, 제1 프레임 순서로 재생되는 영상일 수 있다. 한편, 제2 보간 프레임은 적어도 하나의 프레임일 수 있으며, 2개 이상의 프레임일 수 있다.
또한, 딥러닝 기반 보간 모듈(1520)은 제2 보간 영상을 출력 영상 생성 모듈(1530)로 전송할 수 있다.
출력 영상 생성 모듈(1530)은 딥러닝 기반 보간 모듈(1520)로부터 수신한 제2 보간 영상에 기초하여 출력 영상을 생성할 수 있다.
한편, 도 15의 실시 예에서, 블록 기반 보간 모듈(1510) 및 딥러닝 기반 보간 모듈(1520)에서 보간 영상이 생성되는 것으로 기재하였지만, 구현 예에 따라, 보간 영상이 생성되는 단계가 생략될 수 있다. 그리고, 출력 영상 생성 모듈(1530)은 제1 프레임, 제2 보간 프레임 및 제2 프레임에 기초하여 출력 영상을 생성할 수 있다. 이와 관련된 구체적인 설명은 도 17에서 후술한다.
도 16은 다른 실시 예에 따른 전자 장치의 출력 영상 생성 방법을 설명하기 위한 도면이다.
도 16을 참조하면, 전자 장치(100)는 제1 프레임 및 제2 프레임을 획득할 수 있다 (S1605). 여기서, 제1 프레임 및 제2 프레임에 대한 설명은 도 3에서 구체적으로 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 대응되는 제1 보간 모듈(1610) 및 제2 보간 방식에 대응되는 제2 보간 모듈(1620)을 이용하여 각 보간 모듈에 대응되는 보간 프레임 및 신뢰도를 획득할 수 있다.
S1610, S1615, S1630, S1635 단계는 도 5의 S510, S515, S530, S535 단계에 대응될 수 있는 바 중복 설명을 생략한다.
전자 장치(100)는 제1 움직임 벡터 또는 제1 보간 프레임 중 적어도 하나에 기초하여 제1 신뢰도를 획득할 수 있다 (S1625).
또한, 전자 장치(100)는 제2 움직임 벡터 또는 제2 보간 프레임 중 적어도 하나에 기초하여 제2 신뢰도를 획득할 수 있다 (S1645).
그리고, 전자 장치(100)는 제1 보간 프레임, 제1 신뢰도, 제2 보간 프레임, 제2 신뢰도에 기초하여 결합 보간 프레임을 생성할 수 있다 (S1650).
그리고, 전자 장치(100)는 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 생성할 수 있다 (S1655). 여기서, 출력 영상은 제2 프레임, 결합 보간 프레임, 제1 프레임 순서로 재생되는 영상일 수 있다.
도 17은 도 16의 구체적인 동작을 설명하기 위한 도면이다.
도 17을 참조하면, 도 17을 참조하면, 일 실시 예(1700)에 따라, 전자 장치(100)는 입력 영상을 수신하고, 프레임 버퍼 및 지연 모듈을 이용하여 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득할 수 있다. 이와 관련된 동작은 도 3에서 설명하였으므로 중복 설명을 생략한다.
전자 장치(100)는 제1 보간 방식에 기초하여 제1 보간 프레임을 획득하고, 제2 보간 방식에 기초하여 제2 보간 프레임을 획득할 수 있다.
여기서, 제1 보간 방식은 블록 기반 보간 방식일 수 있으며, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다. 그리고, 제1 보간 모듈(510)은 블록 기반 보간 모듈(1710)일 수 있으며, 제2 보간 모듈(520)은 딥러닝 기반 보간 모듈(1720)일 수 있다.
여기서, 블록 기반 보간 모듈(1710)은 블록 기반 움직임 벡터 생성 모듈(1711) 및 블록 기반 보간 프레임 생성 모듈(1712)을 포함할 수 있다. 그리고, 딥러닝 기반 보간 모듈(1720)은 딥러닝 기반 움직임 벡터 생성 모듈(1721) 및 딥러닝 기반 보간 프레임 생성 모듈(1722)을 포함할 수 있다.
한편, 블록 기반 움직임 벡터 생성 모듈(1711)은 제1 프레임 및 제2 프레임을 획득할 수 있다. 그리고, 블록 기반 움직임 벡터 생성 모듈(1711)은 제1 프레임 및 제2 프레임에 기초하여 제1 움직임 벡터를 획득할 수 있다. 그리고, 블록 기반 움직임 벡터 생성 모듈(1711)은 획득된 제1 움직임 벡터를 블록 기반 보간 프레임 생성 모듈(1712)에 전송할 수 있다.
또한, 블록 기반 보간 프레임 생성 모듈(1712)은 수신된 제1 움직임 벡터에 기초하여 제1 보간 프레임을 생성할 수 있다.
또한, 블록 기반 보간 모듈(1710)은 제1 보간 프레임 및 제1 신뢰도를 출력 영상 생성 모듈(1730)로 전송할 수 있다.
한편, 딥러닝 기반 움직임 벡터 생성 모듈(1721)은 제1 프레임 및 제2 프레임을 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(1721)은 제1 프레임 및 제2 프레임에 기초하여 제2 움직임 벡터를 획득할 수 있다. 그리고, 딥러닝 기반 움직임 벡터 생성 모듈(1721)은 획득된 제2 움직임 벡터를 딥러닝 기반 보간 프레임 생성 모듈(1722)에 전송할 수 있다.
또한, 딥러닝 기반 보간 프레임 생성 모듈(1722)은 수신된 제2 움직임 벡터에 기초하여 제1 보간 프레임을 생성할 수 있다.
또한, 딥러닝 기반 보간 모듈(1720)은 제2 보간 프레임 및 제2 신뢰도를 출력 영상 생성 모듈(1730)로 전송할 수 있다.
한편, 출력 영상 생성 모듈(1730)은 블록 기반 보간 모듈(1710)로부터 수신한 제1 보간 프레임 및 제1 신뢰도 그리고 딥러닝 기반 보간 모듈(1720)로부터 수신한 제2 보간 프레임 및 제2 신뢰도에 기초하여 결합 보간 프레임을 생성할 수 있다. 그리고, 출력 영상 생성 모듈(1730)은 프레임 버퍼로부터 수신한 제1 프레임, 생성된 결합 모간 프레임 및 지연 모듈로부터 수신한 제2 프레임에 기초하여 출력 영상을 생성할 수 있다. 여기서, 출력 영상은 제2 프레임, 결합 보간 프레임, 제1 프레임 순서로 재생되는 영상일 수 있다.
도 18은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 18을 참조하면, 전자 장치(100)의 제어 방법은 입력 영상에 포함된 제1 프레임 및 제1 프레임의 이전 프레임인 제2 프레임을 획득하는 단계 (S1805), 제1 보간 방식에 기초하여 입력 프레임에 대응되는 제1 보간 프레임 및 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하는 단계 (S1810), 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 입력 프레임에 대응되는 제2 보간 프레임 및 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하는 단계 (S1815), 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 대응되는 가중치를 획득하는 단계 (S1820) 및 획득된 가중치에 기초하여 출력 영상을 획득하는 단계 (S1825)를 포함한다.
한편, 제어 방법은 제1 보간 방식에 기초하여 입력 프레임에 대응되는 제1 움직임 벡터를 획득하는 단계, 제1 보간 방식에 기초하여 획득된 제1 움직임 벡터에 대응되는 제1 보간 프레임을 획득하는 단계, 제2 보간 방식에 기초하여 입력 프레임에 대응되는 제2 움직임 벡터를 획득하는 단계, 제2 보간 방식에 기초하여 획득된 제2 움직임 벡터에 대응되는 제2 보간 프레임을 획득하는 단계, 제1 보간 프레임 및 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득하는 단계 및 제1 프레임, 제2 프레임 및 결합 보간 프레임에 기초하여 출력 영상을 획득하는 단계를 더 포함할 수 있다.
한편, 제1 신뢰도 및 제2 신뢰도를 획득하는 단계 (S1810, S1815)는 제1 움직임 벡터 또는 제1 보간 프레임 중 적어도 하나에 기초하여 제1 신뢰도를 획득할 수 있고 제2 움직임 벡터 또는 제2 보간 프레임 중 적어도 하나에 기초하여 제2 신뢰도를 획득할 수 있다.
한편, 제어 방법은 제2 보간 방식에 기초하여 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득하는 단계, 획득된 다운 샘플링 프레임들에 대응되는 제2 움직임 벡터를 획득하는 단계, 제2 보간 방식에 기초하여 획득된 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득하는 단계 및 제1 보간 프레임 및 제2 보간 프레임에 대응되는 업 샘플링 프레임에 기초하여 결합 보간 프레임을 획득하는 단계를 더 포함할 수 있다.
한편, 다운 샘플링 프레임들을 획득하는 단계는 제1 프레임 및 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 식별할 수 있고, 식별된 영역을 다운 샘플링하여 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득할 수 있다.
한편, 가중치를 획득하는 단계 (S1820)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임에 대응되는 제1 가중치 및 제2 보간 프레임에 대응되는 제2 가중치를 획득할 수 있고, 출력 영상을 획득하는 단계 (S1825)는 제1 가중치 및 제2 가중치에 기초하여 제1 보간 프레임 및 제2 보간 프레임이 결합된 출력 영상을 획득할 수 있다.
한편, 제1 신뢰도 및 제2 신뢰도를 획득하는 단계 (S1810, S1815)는 제1 보간 프레임 및 제2 보간 프레임의 픽셀 각각에 대응되는 제1 신뢰도 및 제2 신뢰도를 획득할 수 있고, 가중치를 획득하는 단계 (S1820)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 포함된 픽셀 각각에 대응되는 가중치를 획득할 수 있고, 출력 영상을 획득하는 단계 (S1825)는 획득된 가중치에 픽셀 각각에 적용하여 출력 영상을 획득할 수 있다.
한편, 제1 신뢰도 및 제2 신뢰도를 획득하는 단계 (S1810, S1815)는 제1 보간 프레임 및 제2 보간 프레임의 픽셀 각각에 대응되는 제1 신뢰도 및 제2 신뢰도를 획득할 수 있고, 가중치를 획득하는 단계 (S1820)는 제1 신뢰도 및 제2 신뢰도에 기초하여 제1 보간 프레임 및 제2 보간 프레임 각각에 포함된 픽셀 영역 각각에 대응되는 가중치를 획득할 수 있고, 출력 영상을 획득하는 단계 (S1825)는 획득된 가중치에 픽셀 영역 각각에 적용하여 출력 영상을 획득할 수 있고 픽셀 영역은 복수의 픽셀을 포함하는 영역일 수 있다.
한편, 출력 영상을 획득하는 단계 (S1825)는 제1 신뢰도 및 제2 신뢰도의 유사도(또는 정확도)가 임계값 미만이면, 제2 보간 프레임에 기초하여 출력 영상을 획득할 수 있다.
한편, 제1 보간 방식은 블록 기반 보간 방식일 수 있고, 제2 보간 방식은 딥러닝 기반 보간 방식일 수 있다.
한편, 도 18과 같은 전자 장치의 제어 방법은 도 1 또는 도 2의 구성을 가지는 전자 장치 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 상에서도 실행될 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 및 디스플레이 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    입력 영상을 저장하는 메모리; 및
    상기 입력 영상에 포함된 제1 프레임 및 상기 제1 프레임의 이전 프레임인 제2 프레임을 입력 프레임으로써 획득하고,
    제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 보간 프레임 및 상기 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하고,
    상기 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 보간 프레임 및 상기 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하고,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 대응되는 가중치를 획득하고,
    상기 획득된 가중치에 기초하여 출력 영상을 획득하는 프로세서;를 포함하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 움직임 벡터를 획득하고,
    상기 제1 보간 방식에 기초하여 상기 획득된 제1 움직임 벡터에 대응되는 제1 보간 프레임을 획득하고,
    상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 움직임 벡터를 획득하고,
    상기 제2 보간 방식에 기초하여 상기 획득된 제2 움직임 벡터에 대응되는 제2 보간 프레임을 획득하고,
    상기 제1 보간 프레임 및 상기 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득하고,
    상기 제1 프레임, 상기 제2 프레임 및 상기 결합 보간 프레임에 기초하여 상기 출력 영상을 획득하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 움직임 벡터 또는 상기 제1 보간 프레임 중 적어도 하나에 기초하여 상기 제1 신뢰도를 획득하고,
    상기 제2 움직임 벡터 또는 상기 제2 보간 프레임 중 적어도 하나에 기초하여 상기 제2 신뢰도를 획득하는, 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득하고,
    상기 획득된 다운 샘플링 프레임들에 대응되는 제2 움직임 벡터를 획득하고,
    상기 제2 보간 방식에 기초하여 상기 획득된 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득하고,
    상기 제1 보간 프레임 및 상기 제2 보간 프레임에 대응되는 업 샘플링 프레임에 기초하여 결합 보간 프레임을 획득하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 프레임 및 상기 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 식별하고, 상기 식별된 영역을 다운 샘플링하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임에 대응되는 제1 가중치 및 상기 제2 보간 프레임에 대응되는 제2 가중치를 획득하고,
    상기 제1 가중치 및 상기 제2 가중치에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임이 결합된 출력 영상을 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하고,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 각각에 대응되는 가중치를 획득하고,
    상기 획득된 가중치에 상기 픽셀 각각에 적용하여 상기 출력 영상을 획득하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하고,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 영역 각각에 대응되는 가중치를 획득하고,
    상기 획득된 가중치에 상기 픽셀 영역 각각에 적용하여 상기 출력 영상을 획득하고,
    상기 픽셀 영역은,
    복수의 픽셀을 포함하는 영역인, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 신뢰도 및 상기 제2 신뢰도가 임계값 미만이면, 상기 제2 보간 프레임에 기초하여 상기 출력 영상을 획득하는, 전자 장치.
  10. 제1 항에 있어서,
    상기 제1 보간 방식은, 블록 기반 보간 방식이고,
    상기 제2 보간 방식은, 딥러닝 기반 보간 방식인, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    입력 영상에 포함된 제1 프레임 및 상기 제1 프레임의 이전 프레임인 제2 프레임을 입력 프레임으로써 획득하는 단계;
    제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 보간 프레임 및 상기 제1 보간 프레임에 대응되는 제1 신뢰도를 획득하는 단계;
    상기 제1 보간 방식과 상이한 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 보간 프레임 및 상기 제2 보간 프레임에 대응되는 제2 신뢰도를 획득하는 단계;
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 대응되는 가중치를 획득하는 단계; 및
    상기 획득된 가중치에 기초하여 출력 영상을 획득하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 제어 방법은,
    상기 제1 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제1 움직임 벡터를 획득하는 단계;
    상기 제1 보간 방식에 기초하여 상기 획득된 제1 움직임 벡터에 대응되는 제1 보간 프레임을 획득하는 단계;
    상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 제2 움직임 벡터를 획득하는 단계;
    상기 제2 보간 방식에 기초하여 상기 획득된 제2 움직임 벡터에 대응되는 제2 보간 프레임을 획득하는 단계;
    상기 제1 보간 프레임 및 상기 제2 보간 프레임에 기초하여 결합 보간 프레임을 획득하는 단계; 및
    상기 제1 프레임, 상기 제2 프레임 및 상기 결합 보간 프레임에 기초하여 상기 출력 영상을 획득하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하는 단계는,
    상기 제1 움직임 벡터 또는 상기 제1 보간 프레임 중 적어도 하나에 기초하여 상기 제1 신뢰도를 획득하고
    상기 제2 움직임 벡터 또는 상기 제2 보간 프레임 중 적어도 하나에 기초하여 상기 제2 신뢰도를 획득하는, 제어 방법.
  14. 제12항에 있어서,
    상기 제어 방법은,
    상기 제2 보간 방식에 기초하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득하는 단계;
    상기 획득된 다운 샘플링 프레임들에 대응되는 제2 움직임 벡터를 획득하는 단계;
    상기 제2 보간 방식에 기초하여 상기 획득된 제2 보간 프레임에 대응되는 업 샘플링 프레임을 획득하는 단계; 및
    상기 제1 보간 프레임 및 상기 제2 보간 프레임에 대응되는 업 샘플링 프레임에 기초하여 결합 보간 프레임을 획득하는 단계;를 더 포함하는, 제어 방법.
  15. 제14항에 있어서,
    상기 다운 샘플링 프레임들을 획득하는 단계는,
    상기 제1 프레임 및 상기 제2 프레임에 기초하여 움직임 정도가 임계값 이상인 영역을 식별하고, 상기 식별된 영역을 다운 샘플링하여 상기 입력 프레임에 대응되는 다운 샘플링 프레임들을 획득하는, 제어 방법.
  16. 제11항에 있어서,
    상기 가중치를 획득하는 단계는,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임에 대응되는 제1 가중치 및 상기 제2 보간 프레임에 대응되는 제2 가중치를 획득하고,
    상기 출력 영상을 획득하는 단계는,
    상기 제1 가중치 및 상기 제2 가중치에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임이 결합된 출력 영상을 획득하는, 제어 방법.
  17. 제11항에 있어서,
    상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하는 단계는,
    상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하고,
    상기 가중치를 획득하는 단계는,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 각각에 대응되는 가중치를 획득하고,
    상기 출력 영상을 획득하는 단계는,
    상기 획득된 가중치에 상기 픽셀 각각에 적용하여 상기 출력 영상을 획득하는, 제어 방법.
  18. 제11항에 있어서,
    상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하는 단계는,
    상기 제1 보간 프레임 및 상기 제2 보간 프레임의 픽셀 각각에 대응되는 상기 제1 신뢰도 및 상기 제2 신뢰도를 획득하고,
    상기 가중치를 획득하는 단계는,
    상기 제1 신뢰도 및 상기 제2 신뢰도에 기초하여 상기 제1 보간 프레임 및 상기 제2 보간 프레임 각각에 포함된 픽셀 영역 각각에 대응되는 가중치를 획득하고,
    상기 출력 영상을 획득하는 단계는,
    상기 획득된 가중치에 상기 픽셀 영역 각각에 적용하여 상기 출력 영상을 획득하고,
    상기 픽셀 영역은,
    복수의 픽셀을 포함하는 영역인, 제어 방법.
  19. 제11항에 있어서,
    상기 출력 영상을 획득하는 단계는,
    상기 제1 신뢰도 및 상기 제2 신뢰도가 임계값 미만이면, 상기 제2 보간 프레임에 기초하여 상기 출력 영상을 획득하는, 제어 방법.
  20. 제11항에 있어서,
    상기 제1 보간 방식은, 블록 기반 보간 방식이고,
    상기 제2 보간 방식은, 딥러닝 기반 보간 방식인, 제어 방법.
KR1020200175222A 2020-12-15 2020-12-15 전자 장치 및 그 제어 방법 KR20220085283A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200175222A KR20220085283A (ko) 2020-12-15 2020-12-15 전자 장치 및 그 제어 방법
US17/433,168 US20230140006A1 (en) 2020-12-15 2021-07-26 Electronic apparatus and controlling method thereof
PCT/KR2021/009607 WO2022131471A1 (ko) 2020-12-15 2021-07-26 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200175222A KR20220085283A (ko) 2020-12-15 2020-12-15 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20220085283A true KR20220085283A (ko) 2022-06-22

Family

ID=82057808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200175222A KR20220085283A (ko) 2020-12-15 2020-12-15 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20230140006A1 (ko)
KR (1) KR20220085283A (ko)
WO (1) WO2022131471A1 (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5887763B2 (ja) * 2011-08-29 2016-03-16 株式会社Jvcケンウッド 動き補償フレーム生成装置及び方法
TW201322769A (zh) * 2011-11-28 2013-06-01 Sunplus Technology Co Ltd 運動向量改善裝置及其影像改善方法
JP5953916B2 (ja) * 2012-05-02 2016-07-20 ソニー株式会社 画像処理装置および方法、並びにプログラム
US10679326B2 (en) * 2015-11-24 2020-06-09 Canon Kabushiki Kaisha Image data processing apparatus and image data processing method that determine confidence data indicating a level of confidence in a pixel value in high resolution image data
JP6838918B2 (ja) * 2015-11-24 2021-03-03 キヤノン株式会社 画像データ処理装置及び方法
US10412462B2 (en) * 2016-11-08 2019-09-10 Ati Technologies Ulc Video frame rate conversion using streamed metadata
US10057538B2 (en) * 2017-01-16 2018-08-21 Gopro, Inc. Apparatus and methods for the selection of one or more frame interpolation techniques
JP6904192B2 (ja) * 2017-09-22 2021-07-14 株式会社Jvcケンウッド 補間フレーム生成装置
US11475536B2 (en) * 2018-02-27 2022-10-18 Portland State University Context-aware synthesis for video frame interpolation

Also Published As

Publication number Publication date
WO2022131471A1 (ko) 2022-06-23
US20230140006A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
US10248839B2 (en) Locating objects within depth images
US10298840B2 (en) Foveated camera for video augmented reality and head mounted display
WO2021237743A1 (zh) 视频插帧方法及装置、计算机可读存储介质
JP2020518885A (ja) 後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用
US20180239973A1 (en) A real-time multiple vehicle detection and tracking
JP2016522485A (ja) 再構成からの隠消現実感効果および媒介現実感効果
TW202112138A (zh) 用於處理輸入視訊的方法以及系統
KR20180019695A (ko) 가변적 계산 복잡도를 이용하는 이미지의 광 필드 렌더링
EP3825955A1 (en) Electronic apparatus and controlling method thereof
EP3262610B1 (en) Fast adaptive estimation of motion blur for coherent rendering
US11836836B2 (en) Methods and apparatuses for generating model and generating 3D animation, devices and storage mediums
US11436760B2 (en) Electronic apparatus and control method thereof for reducing image blur
US20220301184A1 (en) Accurate optical flow interpolation optimizing bi-directional consistency and temporal smoothness
CN113132800B (zh) 视频处理方法、装置、视频播放器、电子设备及可读介质
CN112866795B (zh) 电子设备及其控制方法
CN116246026B (zh) 三维重建模型的训练方法、三维场景渲染方法及装置
KR20220085283A (ko) 전자 장치 및 그 제어 방법
US20230245328A1 (en) Multi-frame optical flow network with lossless pyramid micro-architecture
US11704877B2 (en) Depth map re-projection on user electronic devices
TW202303374A (zh) 具有訊框外插的高品質ui元素
US20240193791A1 (en) Techniques for accelerating optical flow computations
US20240104686A1 (en) Low-Latency Video Matting
KR20240083525A (ko) 전자 장치 및 그 제어 방법
CN116051694B (zh) 虚拟形象生成方法、装置、电子设备以及存储介质
US20220092735A1 (en) Electronic apparatus and controlling method thereof

Legal Events

Date Code Title Description
A201 Request for examination