KR20200084428A - 동영상을 제작하는 방법 및 그에 따른 장치 - Google Patents

동영상을 제작하는 방법 및 그에 따른 장치 Download PDF

Info

Publication number
KR20200084428A
KR20200084428A KR1020180168715A KR20180168715A KR20200084428A KR 20200084428 A KR20200084428 A KR 20200084428A KR 1020180168715 A KR1020180168715 A KR 1020180168715A KR 20180168715 A KR20180168715 A KR 20180168715A KR 20200084428 A KR20200084428 A KR 20200084428A
Authority
KR
South Korea
Prior art keywords
video
information
frame
characteristic information
user
Prior art date
Application number
KR1020180168715A
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 KR1020180168715A priority Critical patent/KR20200084428A/ko
Publication of KR20200084428A publication Critical patent/KR20200084428A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user

Landscapes

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

Abstract

디바이스가 동영상을 제작하는 방법은, 제1 동영상을 생성하기 위한 촬영을 개시하는 동작; 상기 제1 동영상을 생성하는 도중에, 상기 제1 동영상 내에, 상기 디바이스에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하는 동작; 상기 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 상기 제2 동영상을 포함하는 복수의 동영상들로부터, 상기 제2 동영상에 포함된 적어도 일부의 프레임을 선택하는 동작; 상기 선택된 적어도 일부의 프레임을 상기 제2 동영상으로부터 추출하는 동작; 및 상기 추출된 적어도 일부의 프레임을 상기 생성 중인 제1 동영상 내에 삽입하는 동작;을 포함한다.

Description

동영상을 제작하는 방법 및 그에 따른 장치{METHOD FOR GENERATING VIDEO AND DEVICE THEREOF}
본 개시는 동영상을 제작하는 방법 및 그에 따른 장치에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
최근, 전자 장치의 보급 및 기술 개발로 인하여, 유튜브, 아프리카 TV 등과 같은 동영상 공유 사이트를 이용하여 개인 방송 서비스를 이용하는 사용자들이 증가하고 있다. 또한, 제공되는 개인 방송 서비스의 종류 또한 다양해지고 있다.
사용자는 전자 장치를 이용하여 실시간으로 촬영된 동영상을 라이브 방송으로 송출함으로써 개인 방송 서비스를 제공할 수 있다. 또한, 사용자는 라이브 방송이 종료된 이후에 라이브 방송이 편집된 동영상을 동영상 공유 사이트에 업로드 함으로써 다른 사용자들에게 편집된 동영상을 공유할 수 있다.
사용자가 실시간으로 동영상을 촬영함과 동시에 다른 동영상을 실시간으로 촬영 중인 동영상에 삽입하는 편집을 수행하기 위해서는 실시간 동영상 촬영이 먼저 완료되어야 한다는 불편이 있다. 구체적으로, 사용자는 사용자의 의도에 부합하는 동영상을 선택하고, 선택한 동영상을 편집한 후 실시간 촬영이 완료된 동영상에 편집된 동영상을 삽입할 수 있다.
따라서, 실시간으로 동영상을 생성하는 촬영 도중에 사용자의 의도에 부합하는 동영상을 상기 촬영 도중인 동영상에 삽입할 수 있는 동영상 제작 기술이 요구되고 있다.
일부 실시예는, 실시간으로 촬영 중인 동영상에 다른 동영상이 삽입된 동영상을 제작하는 방법 및 그에 따른 장치를 제공할 수 있다.
또한, 일부 실시예는, 동영상을 생성하기 위한 촬영 도중에 수신되는 사용자의 음성 입력을 해석함으로써, 사용자의 의도에 부합하는 동영상에 포함된 프레임을 촬영 중인 동영상에 삽입할 수 있는 동영상을 제작하는 방법 및 그에 따른 장치를 제공할 수 있다.
또한, 일부 실시예는, 학습 모델에 동영상을 입력함으로써 획득되는 동영상의 특성 정보를 이용하여 사용자의 의도에 부합하는 동영상에 포함된 프레임을 촬영 중인 동영상에 삽입할 수 있는 동영상을 제작하는 방법 및 그에 따른 장치를 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 제1 동영상을 생성하기 위한 촬영을 개시하는 동작; 상기 제1 동영상을 생성하는 도중에, 상기 제1 동영상 내에, 상기 디바이스에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하는 동작; 상기 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 상기 제2 동영상을 포함하는 복수의 동영상들로부터, 상기 제2 동영상에 포함된 적어도 일부의 프레임을 선택하는 동작; 상기 선택된 적어도 일부의 프레임을 상기 제2 동영상으로부터 추출하는 동작; 및 상기 추출된 적어도 일부의 프레임을 상기 생성 중인 제1 동영상 내에 삽입하는 동작;을 포함하는, 디바이스가 동영상을 제작하는 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 디스플레이; 통신 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션을 실행함으로써 상기 디바이스를 제어하는 프로세서; 를 포함하며, 상기 프로세서는, 제1 동영상을 생성하기 위한 촬영을 개시하고, 상기 제1 동영상을 생성하는 도중에, 상기 제1 동영상 내에, 상기 디바이스에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하고, 상기 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 상기 제2 동영상을 포함하는 복수의 동영상들로부터, 상기 제2 동영상에 포함된 적어도 일부의 프레임을 선택하며, 상기 선택된 적어도 일부의 프레임을 상기 제2 동영상으로부터 추출하고, 상기 추출된 적어도 일부의 프레임을 상기 생성 중인 제1 동영상 내에 삽입하는, 디바이스를 제공할 수 있다.
또한, 본 개시의 제3 측면은, 제1 동영상을 생성하기 위한 촬영을 개시하는 동작; 상기 제1 동영상을 생성하는 도중에, 상기 제1 동영상 내에, 상기 디바이스에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하는 동작; 상기 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 상기 제2 동영상을 포함하는 복수의 동영상들로부터, 상기 제2 동영상에 포함된 적어도 일부의 프레임을 선택하는 동작; 상기 선택된 적어도 일부의 프레임을 상기 제2 동영상으로부터 추출하는 동작; 및 상기 추출된 적어도 일부의 프레임을 상기 생성 중인 제1 동영상 내에 삽입하는 동작;을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는, 컴퓨터 프로그램 제품을 제공할 수 있다.
도 1은 일부 실시예에 따른 디바이스가 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상에 포함되는 프레임을 삽입한 화면을 나타내는 도면이다.
도 2는 일부 실시예에 따른 디바이스가 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상에 포함되는 프레임으로 화면을 전환하는 예시를 나타내는 도면이다.
도 3은 일부 실시예에 따른 디바이스가 동영상을 제작하는 방법의 흐름도이다.
도 4는 일부 실시예에 따른 디바이스가 제2 동영상에 포함된 적어도 일부의 프레임을 선택하는 방법의 흐름도이다.
도 5는 일부 실시예에 따른 디바이스가 제1 동영상 생성을 위한 촬영 도중에 제2 동영상을 삽입하기 위한 사용자 입력을 수신하는 것을 나타내는 도면이다.
도 6은 일부 실시예에 따른 디바이스가 제2 동영상에 포함된 복수의 프레임 그룹의 우선 순위를 결정하는 방법의 흐름도이다.
도 7은 일부 실시예에 따른 디바이스가 제2 동영상에 포함된 적어도 일부의 프레임을 선택하기 위해 동영상의 특성 정보를 텍스트의 형태로 획득한 예시를 나타내는 도면이다.
도 8은 일부 실시예에 따른 디바이스가 동영상에 포함된 적어도 일부의 프레임에 대한 특성 정보를 태그로 저장한 예시를 나타내는 도면이다.
도 9는 일부 실시예에 따른 디바이스가 획득한 사용자의 영상 선호도 정보를 나타내는 도면이다.
도 10은 일부 실시예에 따른 디바이스가 복수의 프레임 그룹의 우선 순위에 기초하여 영상을 편집하는 예시를 나타내는 도면이다.
도 11은 일부 실시예에 따른 디바이스가 디스플레이된 프레임 그룹을 생성 중인 제1 동영상 내에 삽입하는 동작이 거절됨에 따라, 다른 프레임 그룹을 선택하는 방법의 흐름도이다.
도 12는 일부 실시예에 따른 디바이스가 디스플레이된 프레임 그룹을 생성 중인 제1 동영상 내에 삽입하는 동작이 거절됨에 따라, 다른 프레임 그룹을 선택하는 화면을 나타내는 도면이다.
도 13은 일부 실시예에 따른 디바이스가 동영상의 특성 정보가 학습 모델에 의해 획득되는 예시를 나타내는 도면이다.
도 14는 일부 실시예에 따른 디바이스가 학습 모델을 이용하여 동영상에 포함된 객체의 정보를 획득하는 예시를 나타내는 도면이다.
도 15는 일부 실시예에 따른 디바이스가 학습 모델을 이용하여 사용자의 영상 선호도 정보를 획득하는 예시를 나타내는 도면이다.
도 16 및 도 17은 일부 실시예에 따른 디바이스의 블록도이다.
도 18은 일부 실시예에 따른 프로세서의 블록도이다.
도 19는 일부 실시예에 따른 데이터 학습부의 블록도이다.
도 20은 일부 실시예에 따른 데이터 인식부의 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에서, 동영상의 특성 정보는 동영상의 특성을 나타내는 정보일 수 있다. 구체적으로, 특성 정보는 동영상에 포함된 객체 정보, 동영상이 촬영된 위치, 시간, 분위기에 대한 정보, 동영상의 품질에 대한 정보를 포함할 수 있으며, 이에 제한되지 않고, 동영상의 특성을 나타내는 정보이면 어느 것이든 포함할 수 있다.
영상 선호도 정보는 사용자가 선호하는 영상과 관련된 정보일 수 있다. 구체적으로, 영상 선호도 정보는 디바이스에 기 저장된 동영상을 분석함으로써 획득될 수 있다. 또한, 영상 선호도 정보는 소정 동영상에 관련된 사용자 입력을 분석함으로써 획득되는 정보를 포함할 수도 있다.
학습 모델은, 인공 지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 학습 모델일 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일부 실시예에 따른 디바이스가 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상에 포함되는 프레임을 삽입한 화면을 나타내는 도면이다.
도 1을 참조하면, 일부 실시예에 따른 디바이스(1000)는 실시간으로 촬영 중인 동영상에 다른 동영상의 일부 프레임이 삽입된 화면을 디스플레이할 수 있다. 이하에서는, 설명의 편의상, 실시간으로 촬영 중인 동영상을 제1 동영상으로 칭하고, 제1 동영상을 생성하기 위한 촬영 도중에 제1 동영상에 삽입할 프레임을 포함하는 동영상을 제2 동영상으로 칭하도록 한다.
디바이스(1000)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 서버, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 디바이스(1000)는 동영상을 재생할 수 있는 모든 종류의 기기를 포함할 수 있다.
디바이스(1000)는 디바이스(1000)의 촬상부를 이용하여 제1 동영상을 생성하기 위한 촬영을 할 수 있다. 구체적으로, 디바이스(1000)의 촬상부는 카메라를 포함할 수 있고, 디바이스(1000)에 구비된 카메라를 이용하여 실시간으로 제1 동영상을 생성하기 위한 촬영을 할 수 있다.
또한, 일부 실시예에 따른 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영을 직접 수행할 수 있을 뿐만 아니라, 외부 장치(미도시)에 구비된 카메라를 이용하여 촬영되는 제1 동영상을 네트워크(미도시)를 통해 실시간으로 수신할 수도 있다.
도 1을 참조하면, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영 도중에, 디바이스(1000)에 기 저장된 동영상 또는 사진을 제1 동영상에 삽입할 수 있다. 설명의 편의 상, 디바이스(1000)가 제1 동영상 내에 삽입하는 프레임은 제2 동영상에 포함되는 것으로 설명하나, 디바이스(1000)에 기 저장된 사진이 제1 동영상 내에 삽입될 수도 있다.
또한, 일부 실시예에 따르면, 제2 동영상은 외부 서버(미도시)로부터 수신될 수도 있다. 구체적으로, 디바이스(1000)는 사용자의 의도에 부합하는 프레임을 포함하는 제2 동영상을 디바이스(1000)로부터 찾을 수 없는 경우, 외부 서버(미도시)로부터 제2 동영상을 검색하고 검색된 제2 동영상을 네트워크(미도시)를 통해 수신할 수 있다. 예를 들어, 디바이스(1000)는 유튜브 서버(미도시) 또는 클라우드(미도시) 등으로부터 사용자의 의도에 부합하는 프레임을 포함하는 제2 동영상을 수신할 수 있다.
네트워크(미도시)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 디바이스(1000), 외부 장치(미도시) 및 외부 서버(미도시)를 포함하는 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다.
도 1을 참조하면, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상의 적어도 일부를 삽입할 수 있다. 일부 실시예에 따르면, 디바이스(1000)는 디바이스(1000)의 화면 상에 제1 동영상 및 제2 동영상의 일부를 동시에 디스플레이할 수 있다. 구체적으로, 디바이스(1000)는 제2 동영상의 일부가 디바이스(1000)의 화면 상에 디스플레이 되는 경우에도 제1 동영상을 생성하기 위한 촬영을 중단하지 않을 수 있다.
도 2는 일부 실시예에 따른 디바이스가 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상에 포함되는 프레임으로 화면을 전환하는 예시를 나타내는 도면이다.
도 2를 참조하면, 디바이스(1000)는 제1 동영상을 실시간으로 촬영하는 도중에, 디바이스(1000)에 기 저장된 복수의 동영상 또는 사진 중 적어도 일부를 삽입할 수 있다.
구체적으로, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영을 개시한 이후에, 제2 동영상의 일부를 삽입하기 위해 제1 동영상을 생성하기 위한 촬영을 소정 시간 동안 중단할 수 있다. 디바이스(1000)는 촬영이 중단된 시간 동안 제2 동영상의 적어도 일부를 제1 동영상 내에 삽입할 수 있다. 즉, 디바이스(1000)는 제1 동영상을 생성하기 위한 실시간 촬영이 수행되는 동안 제1 동영상을 화면 상에 디스플레이하고, 실시간 촬영이 중단되면 제2 동영상의 적어도 일부를 화면 상에 디스플레이할 수 있다. 이 경우, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상에 포함되는 프레임으로 화면을 전환할 수 있다.
도 3은 일부 실시예에 따른 디바이스가 동영상을 제작하는 방법의 흐름도이다.
동작 S300에서, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영을 개시할 수 있다. 이 때, 디바이스(1000)는 디바이스(1000)에 구비된 카메라를 이용하여 촬영을 개시할 수 있다. 또한, 디바이스(1000)는 동영상 제작 프로그램이 저장된 애플리케이션을 실행함으로써 제1 동영상을 생성하기 위한 촬영을 개시할 수도 있다.
한편, 디바이스(1000)는 카메라를 포함하는 외부 장치(미도시)를 이용하여 제1 동영상을 생성하기 위한 촬영을 개시할 수도 있다. 외부 장치(미도시)를 이용하여 제1 동영상을 생성하기 위한 촬영을 개시하는 경우, 디바이스(1000)는 네트워크(미도시)를 통해 실시간으로 촬영되는 제1 동영상을 수신하고 수신된 제1 동영상을 화면 상에 디스플레이할 수 있다.
동작 S310에서, 디바이스(1000)는 제1 동영상을 생성하는 도중에, 제1 동영상 내에 디바이스(1000)에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신할 수 있다. 구체적으로, 디바이스(1000)는 사용자 입력에 기초하여 디바이스(1000)에 기 저장된 복수의 동영상 또는 사진 중 적어도 하나를 선택할 수 있으며, 선택된 동영상 또는 사진의 일부를 제1 동영상 내에 삽입할 수 있다.
일부 실시예에 따른 디바이스(1000)는 제2 동영상을 삽입하기 위한 트리거 입력에 대응되는 사용자 입력을 미리 설정할 수 있다. 한편, 일부 실시예에 따르면, 디바이스(1000)는 기 설정된 특정한 트리거 입력이 수신되기 이전에 소정 시간 동안에 사용자에 의해 입력된 음성의 의미를 해석함으로써 제1 동영상 내에 제2 동영상의 적어도 일부를 삽입할 수도 있다. 이하 도 4 및 도 5를 참조하여 사용자 입력에 대해 구체적으로 설명하도록 한다.
동작 S320에서, 디바이스(1000)는 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 제2 동영상을 포함하는 복수의 동영상들로부터, 제2 동영상에 포함된 적어도 일부의 프레임을 선택할 수 있다. 구체적으로, 디바이스(1000)는 사용자가 제1 동영상 내에 삽입하기를 원하는 프레임을 선택하기 위해 사용자의 영상 선호도 정보를 획득할 수 있다.
디바이스(1000)는 사용자 입력이 수신되면, 사용자 입력을 해석함으로써, 사용자가 삽입하기를 원하는 적어도 일부의 프레임을 결정할 수 있다. 구체적으로, 디바이스(1000)는 영상 선호도 정보에 기초하여 사용자 입력을 해석함으로써, 사용자의 의도에 부합하는 적어도 일부의 프레임을 결정할 수 있다.
영상 선호도 정보는 사용자가 선호하는 영상과 관련되는 정보에 관한 정보일 수 있다. 디바이스(1000)는 영상 선호도 정보를 획득하기 위해 디바이스(1000)에 기 저장된 동영상 또는 사진에 관한 정보를 분석할 수 있다. 예를 들어, 디바이스(1000)는 디바이스(1000)에 기 저장된 동영상의 카테고리 정보를 분석할 수 있다. 디바이스(1000)에 기 저장된 복수의 동영상들 중, 강아지에 관련된 동영상의 비율이 가장 높은 경우, 디바이스(1000)는 강아지와 관련된 영상에 대해 사용자의 선호도가 높은 것으로 판단할 수 있다. 이하 도 9를 참조하여 영상 선호도 정보에 대해 구체적으로 설명하도록 한다.
동작 S330에서, 디바이스(1000)는 선택된 적어도 일부의 프레임을 제2 동영상으로부터 추출할 수 있다. 제2 동영상으로부터 선택된 적어도 일부의 프레임은, 제2 동영상 내의 연속되는 복수의 프레임을 포함할 수 있다. 제2 동영상으로부터 선택된 적어도 일부의 프레임은, 제2 동영상 내의 연속되지 않는 복수의 프레임을 포함할 수 있다.
구체적으로, 디바이스(1000)는 제2 동영상으로부터 선택된 프레임을 연속적으로 추출할 수 있다. 한편, 디바이스(1000)는 선택된 프레임이 제2 동영상 내에서 연속하지 않는 경우에도, 제2 동영상으로부터 선택된 프레임을 부분적으로 추출할 수도 있다.
또한, 디바이스(1000)는 선택된 프레임에 기초하여 복수의 프레임 그룹을 제2 동영상으로부터 추출할 수도 있다. 예를 들어, 선택된 프레임이 강아지와 관련된 프레임인 경우, 강아지와 관련된 프레임을 포함하는 복수의 프레임 그룹을 제2 동영상으로부터 추출할 수 있다.
동작 S340에서, 디바이스(1000)는 추출된 적어도 일부의 프레임을 생성 중인 제1 동영상 내에 삽입할 수 있다. 구체적으로, 디바이스(1000)는 추출된 적어도 일부의 프레임을 소정 우선 순위에 기초하여 제1 동영상 내에 삽입할 수 있다. 우선 순위는 추출된 프레임을 제1 동영상 내에 삽입하기 위한 순서일 수 있다. 즉, 디바이스(1000)는 프레임의 우선 순위가 높을수록 제1 동영상 내에 먼저 삽입할 수 있다.
또한, 디바이스(1000)는 제1 동영상 내에 삽입된 적어도 일부의 프레임, 즉 제2 동영상의 적어도 일부를 화면 상에 디스플레이 할 수 있다. 디바이스(1000)는 제2 동영상의 적어도 일부를 디스플레이(1000)의 화면 상에 제1 동영상과 동시에 디스플레이 할 수 있다. 이 경우, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영을 중단하지 않을 수 있다.
한편, 디바이스(1000)는 제2 동영상의 적어도 일부가 디스플레이 되는 시간 동안 제1 동영상을 생성하기 위한 촬영을 중단할 수도 있다. 이 경우, 디바이스(1000)는 제2 동영상의 일부에 대한 디스플레이가 종료되면, 제1 동영상을 생성하기 위한 촬영을 다시 개시할 수 있다.
도 4는 일부 실시예에 따른 디바이스가 제2 동영상에 포함된 일부의 프레임을 선택하는 방법의 흐름도이다.
동작 S400에서, 디바이스(1000)는 복수의 동영상들의 특성을 나타내는 특성 정보를 미리 생성할 수 있다. 구체적으로, 디바이스(1000)는 사용자의 의도에 부합하는 동영상을 선택하기 위해 디바이스(1000)에 기 저장된 복수의 동영상들을 학습 모델에 입력함으로써 각 동영상에 대한 특성 정보를 획득할 수 있다. 특성 정보는 이하 도 7 및 도 9를 참조하여 구체적으로 설명하도록 한다.
동작 S410에서, 디바이스(1000)는 사용자의 음성 입력을 수신할 수 있다. 구체적으로, 사용자의 음성 입력은 제1 동영상 내에 제2 동영상의 일부를 삽입하기 위한 사용자의 음성 입력을 수신할 수 있다. 따라서, 사용자 입력은, 제2 동영상에 관련된 정보를 포함하는 음성 입력을 포함할 수 있다. 일부 실시예에 따른 사용자의 음성 입력은 제2 동영상의 적어도 일부를 제1 동영상 내에 삽입하기 위한 트리거 입력일 수 있다. 예를 들어, "바다 영상 보시죠~!"와 같은 사용자의 음성 입력은, 바다 영상에 대응되는 소정 프레임을 제1 동영상 내에 삽입하기 위한 트리거 입력일 수 있다.
한편, 디바이스(1000)는 기 설정된 트리거 입력이 수신되기 이전의 소정 시간 동안에 사용자에 의해 입력된 음성의 의미를 해석할 수도 있다. 예를 들어, 사용자로부터 "최근에 제주도에 갔다 왔는데, 제주도 바다는 정말 아름다워요."라는 음성 입력이 수신되는 경우를 가정하자. 이 경우, 바다 영상을 삽입하기 위한 특정한 트리거 입력이 없지만, 디바이스(1000)는 사용자의 의도를 "제주도에서 촬영한 바다 영상을 삽입"으로 해석함으로써, 제1 동영상 내에 사용자의 의도에 부합하는 바다 영상의 적어도 일부를 삽입할 수 있다.
동작 S420에서, 디바이스(1000)는 음성 입력의 의미 및 특성 정보 간 연관성에 기초하여 적어도 일부의 프레임을 선택할 수 있다. 구체적으로, 디바이스(1000)는 텍스트 형태의 특성 정보에 기초하여, 음성 입력의 의미에 관련된 적어도 일부의 프레임을 실시간으로 선택할 수 있다. 예를 들어, 디바이스(1000)는 음성 입력에 포함된 키워드 및 텍스트 형태의 특성 정보 간 연관성에 기초하여 사용자의 의도에 부합하는 프레임을 실시간으로 선택할 수 있다.
디바이스(1000)는 사용자의 영상 선호도 정보에 기초하여 수신된 음성 입력의 의미를 해석함으로써 사용자의 의도를 판단할 수 있다. 예를 들어, 디바이스(1000)는 기 저장된 바다 영상들 중 잔잔한 바다 영상에 대한 비율이 가장 높은 경우, 잔잔한 바다 영상에 대한 사용자의 선호도가 높다는 정보를 획득할 수 있다. 이 때, 사용자로부터 "바다 영상 보시죠~!"라는 음성 입력이 수신되면, 디바이스(1000)는 "잔잔한 바다 영상을 삽입"하고자 하는 사용자의 의도를 판단할 수 있다.
또한, 디바이스(1000)는 잔잔한 바다 영상을 삽입하기 위해, 복수의 동영상들 각각에 대해 미리 생성된 특성 정보를 이용할 수 있다. 구체적으로, 디바이스(1000)는 각각의 바다 영상에 대한 미리 생성된 텍스트 형태의 특성 정보들에 기초하여, "잔잔한 바다"와 연관성이 높은 적어도 일부의 프레임을 선택할 수 있다. 텍스트 형태로 생성된 특성 정보는 동영상 내에 포함된 프레임에 태그로 저장될 수 있다. 따라서, 디바이스(1000)는 "잔잔한 바다"에 대응되는 태그를 포함하는 영상에 포함된 일부 프레임을 선택할 수 있다.
도 5는 일부 실시예에 따른 디바이스가 제1 동영상 생성을 위한 촬영 도중에 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하는 것을 나타내는 도면이다.
도 5를 참조하면, 디바이스(1000)는 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상의 적어도 일부를 삽입하기 위한 트리거 입력을 수신할 수 있다. 예를 들어, 트리거 입력은 컨트롤러, 음성 신호, 기 설정된 제스처 중 적어도 하나를 포함하는 사용자 입력일 수 있다. 사용자 입력은 전술된 예에 제한되지 않으며, 제1 동영상을 생성하기 위한 촬영 도중에 제2 동영상의 적어도 일부를 삽입하기 위한 동작이면 어느 것이든 포함될 수 있음은 물론이다.
일부 실시예에 따른 사용자 입력이 컨트롤러 입력인 경우, 디바이스(1000)는 블루투스, NFC와 같은 근거리 무선통신 통해 사용자 입력을 수신할 수 있다. 예를 들어, 컨트롤러는 디바이스(1000)와 통신 가능한 펜, 리모컨 등을 포함할 수 있다. 디바이스(1000)는 컨트롤러에 소정 사용자 입력이 수신되고, 수신된 사용자 입력이 트리거 입력에 대응되면, 디바이스(1000)는 제1 동영상이 디스플레이 되는 화면을 제2 동영상의 적어도 일부가 디스플레이 되는 화면으로 전환할 수 있다.
일부 실시예에 따른 사용자 입력이 소정 제스처인 경우, 디바이스(1000)는 터치 스크린 상에 수신되는 상하, 좌우 또는 소정 패턴에 대응되는 제스처를 미리 트리거 입력으로 설정할 수 있다. 이 경우, 디바이스(1000)는 터치 스크린 상에 수신되는 터치 입력이 기 설정된 트리거 입력에 대응되면, 제1 동영상이 디스플레이 되는 화면을 제2 동영상의 적어도 일부가 디스플레이 되는 화면으로 전환할 수 있다.
일부 실시예에 따른 사용자 입력이 음성 신호인 경우, 디바이스(1000)는 수신된 음성 신호를 해석할 수 있다. 예를 들어, 수신된 음성 신호가 "~~영상 보시죠"인 경우, 디바이스(1000)는 수신된 음성 신호에 대응되는 영상을 디스플레이 할 수 있다. 한편, 디바이스(1000)는 음성 신호와 함께 컨트롤러 입력 또는 제스처 입력을 더 수신할 수도 있다. 이 경우, 디바이스(1000)는 수신된 음성 신호에 대응되는 영상을 컨트롤러 입력 또는 제스처 입력이 더 수신될 때 디스플레이 할 수 있다.
도 6은 일부 실시예에 따른 디바이스가 제2 동영상에 포함된 복수의 프레임 그룹의 우선 순위를 결정하는 방법의 흐름도이다.
동작 S600에서, 디바이스(1000)는 영상 분석을 위한 제1 학습 모델에 복수의 동영상들을 입력함으로써, 텍스트 형태의 특성 정보를 생성할 수 있다. 구체적으로, 디바이스(1000)는 사용자의 의도에 부합하는 프레임을 선택하기 위해 복수의 동영상 내에 포함된 프레임 별로 특성 정보를 생성할 수 있다. 예를 들어, 디바이스(1000)는 제1 학습 모델에 복수의 동영상들이 입력되면, 복수의 동영상들 내에 포함된 프레임을 분석함으로써 특성 정보를 생성할 수 있다. 이 때, 특성 정보는 복수의 동영상들에 관한 객체 정보, 촬영 위치 정보, 촬영 시간 정보 또는 영상 품질 정보 중 적어도 하나를 포함할 수 있다.
동작 S610에서, 디바이스(1000)는 제1 동영상을 생성하는 도중에, 제1 동영상 내에 디바이스(1000)에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자의 음성 입력을 수신할 수 있다.
동작 S620에서, 디바이스(1000)는 음성 입력의 의미 및 특성 정보 간 연관성에 기초하여 적어도 일부의 프레임을 선택할 수 있다. 구체적으로, 디바이스(1000)는 영상 선호도 정보 및 음성 입력에 기초하여 사용자가 선택하고자 하는 프레임에 대한 정보를 획득할 수 있다. 디바이스(1000)는 사용자의 의도를 파악하기 위해 음성 해석 모델을 이용하여 음성 입력의 의미를 분석할 수도 있다. 또한, 디바이스(1000)는 음성 입력의 의미 및 텍스트 형태로 획득된 동영상들의 특성 정보 간 연관성에 기초하여 사용자의 의도에 부합하는 프레임을 선택할 수 있다.
동작 S630에서, 디바이스(1000)는 제2 동영상에 포함된 복수의 프레임 그룹의 우선 순위를 결정할 수 있다. 구체적으로, 디바이스(1000)는 음성 입력의 의미 및 텍스트 형태로 획득된 동영상들의 특성 정보 간 연관성에 기초하여 제2 동영상에 포함된 복수의 프레임 그룹의 우선 순위를 결정할 수 있다.
도 7은 일부 실시예에 따른 디바이스가 제2 동영상에 포함된 적어도 일부의 프레임을 선택하기 위해 동영상의 특성 정보를 텍스트의 형태로 획득한 예시를 나타내는 도면이다. 도 7을 참조하면, 특성 정보는 복수의 동영상들에 관한 객체 정보, 촬영 위치 정보, 촬영 시간 정보 또는 영상 품질 정보 중 적어도 하나를 포함할 수 있다.
구체적으로, 디바이스(1000)는 동영상에 포함된 객체에 대한 정보를 텍스트 형태로 획득할 수 있다. 예를 들어, 디바이스(1000)는 바다를 촬영한 동영상으로부터 바다, 수평선, 갈매기, 하늘, 구름에 대한 객체 정보를 획득할 수 있다. 이 경우, 디바이스(1000)는 학습 모델을 이용하여, 동영상 내에 포함된 객체를 인식하고 객체에 대한 정보를 추출할 수 있다.
디바이스(1000)는 동영상의 촬영 위치 정보를 획득할 수 있다. 촬영 위치 정보는 동영상이 촬영된 위치에 대한 정보일 수 있다. 구체적으로, 촬영 위치 정보는 동영상의 촬영 당시에 디바이스(1000)의 GPS 센서에 의해 센싱된 정보로부터 획득될 수 있다. 예를 들어, 디바이스(1000)는 GPS 센서를 이용하여 동영상을 촬영 중인 위치에 대한 정보를 획득하고 촬영된 동영상에 획득된 위치 정보를 저장할 수 있다. 만약, 사용자의 음성 입력으로, "제주도 바다 영상을 보시죠~!"가 수신되는 경우, 디바이스(1000)는 복수개의 바다 영상들 중 제주도에서 촬영된 바다와 관련된 프레임을 사용자의 의도에 부합하는 프레임으로 선택할 수 있다.
또한, 디바이스(1000)는 동영상의 카테고리 정보를 획득할 수 있다. 동영상의 카테고리 정보는 동영상에 포함된 객체들 또는 동영상이 촬영된 위치에 대한 정보에 기초하여, 동영상을 분류하는 카테고리에 대한 정보일 수 있다. 예를 들어, 동영상의 카테고리는 풍경, 인물, 음식, 동물 등으로 분류될 수 있으나, 이에 제한되지 않고, 동영상을 소정 기준에 의해 분류할 수 있는 카테고리이면 어느 것이든 가능할 수 있다. 뿐만 아니라, 디바이스(1000)는 풍경, 인물, 음식, 동물에 대해 하위 카테고리를 설정할 수도 있다. 예를 들어, 디바이스(1000)는 풍경 카테고리에 대한 하위 카테고리로, 바다, 산, 하늘 등을 설정할 수 있다. 이와 같이, 카테고리는 동영상을 소정 기준에 의해 분류할 수 있으면, 어떠한 항목도 가능할 수 있다.
디바이스(1000)는 동영상에 포함된 객체 정보 및 촬영 위치 정보에 기초하여 동영상의 카테고리 정보를 획득할 수 있다. 예를 들어, 디바이스(1000)는 제주도 바다에서 촬영된 동영상에 수평선, 갈매기, 바다, 하늘에 대응되는 객체가 포함된 경우, 촬영 위치 정보에 기초하여 동영상의 카테고리를 풍경으로 분류할 수 있다. 또한, 디바이스(1000)는 바다 영상에 대한 상위 카테고리를 풍경으로, 하위 카테고리를 하늘 및 바다 중 적어도 하나로 분류할 수도 있다.
또한, 디바이스(1000)는 동영상의 촬영 시간 정보를 획득할 수 있다. 촬영 시간 정보는 동영상이 촬영된 시간에 대한 정보일 수 있다. 구체적으로, 촬영 시간 정보는 동영상이 촬영된 날짜 및 시각에 대한 정보, 동영상의 길이에 대한 정보를 포함할 수 있다. 예를 들어, 디바이스(1000)가 2018.12.01 오후 9시에 제주도 바다에 대한 동영상을 촬영한 우, 디바이스(1000)는 촬영된 바다 동영상과 함께 촬영된 날짜 및 시각에 대한 정보를 디바이스(1000)에 저장할 수 있다. 이에 따라, 사용자의 음성 입력으로 "제주도 밤바다 영상을 보시죠~!"가 수신되는 경우, 디바이스(1000)는 기 저장된 촬영 시간 정보에 기초하여 제주도 밤바다를 포함하는 프레임을 선택할 수 있다.
또한, 디바이스(1000)는 동영상의 영상 품질 정보를 획득할 수 있다. 영상 품질 정보는 동영상의 품질에 대한 정보로, 동영상의 화질, 밝기, 선명도 등이 포함될 수 있으나, 이에 제한되지 않고, 동영상의 품질을 나타낼 수 있는 정보이면 어느 것이든 가능할 수 있다. 한편, 디바이스(1000)는 영상 선호도 정보에 기초하여, 사용자가 선호하는 영상 품질 정보를 획득할 수도 있다. 예를 들어, 고화질 영상에 대한 사용자의 선호도가 높은 경우, 디바이스(1000)는 동영상의 화질 정보에 기초하여 사용자가 의도하는 프레임을 선택할 수 있다.
도 8은 일부 실시예에 따른 디바이스가 동영상에 포함된 적어도 일부의 프레임에 대한 특성 정보를 태그로 저장한 예시를 나타내는 도면이다. 도 8을 참조하면, 디바이스(1000)는 복수의 동영상 내에 포함된 프레임 별로 특성 정보를 생성할 수 있다.
도 7에서 전술한 바와 같이, 디바이스(1000)는 특성 정보를 텍스트의 형태로 생성할 수 있으므로, 하나의 프레임 또는 프레임 그룹 별로 특성 정보를 태그로 설정할 수 있다. 예를 들어, 태그 #1은 하나의 프레임에 대한 특성 정보를 포함할 수 있다.
한편, 태그 #2는 세 개의 프레임이 그룹화된 프레임 그룹에 대한 특성 정보를 포함할 수 있다. 또한, 태그 #3은 복수개의 프레임들이 그룹화된 프레임 그룹에 대한 특성 정보를 포함할 수 있다. 태그 #4는 태그 #3이 설정된 프레임들을 포함하는 프레임 그룹에 대한 특성 정보를 포함할 수 있다. 이 경우, 태그 #3 및 태그 #4가 모두 설정된 두 개의 프레임들은 태그 #3 및 태그 #4에 대응되는 특성 정보를 모두 포함할 수 있다.
전술한 바와 같이, 디바이스(1000)는 하나의 프레임에 대해 특성 정보를 태그로 설정할 수 있을 뿐만 아니라, 소정 프레임 그룹에 대해서도 특성 정보를 태그로 설정할 수 있다. 또한, 디바이스(1000)는 소정 프레임에 대해 태그를 중복하여 설정할 수도 있음은 물론이다.
또한, 디바이스(1000)는 프레임에 태그가 이미 설정된 경우라도, 하위 태그를 추가로 설정할 수도 있다. 예를 들어, 디바이스(1000)는 태그 #3과 태그 #4가 중복하여 설정된 프레임들에 대해 태그 #3을 상위 태그로, 태그 #4를 하위 태그로 설정할 수도 있다. 뿐만 아니라, 디바이스(1000)는 태그 #1 내지 태그 #4를 상위 태그로 하는, 하위 태그(미도시)를 소정의 프레임에 추가로 설정할 수도 있음은 물론이다.
도 9는 일부 실시예에 따른 디바이스가 획득한 사용자의 영상 선호도 정보를 나타내는 도면이다. 도 9를 참조하면, 영상 선호도 정보는 동영상의 카테고리 정보, 촬영 상황 정보 또는 영상 편집 이력에 대한 정보 중 적어도 하나에 기초하여 획득될 수 있다.
구체적으로, 디바이스(1000)는 기 저장된 복수의 동영상들의 카테고리 비율에 기초하여, 사용자의 선호도가 높은 카테고리를 결정할 수 있다. 예를 들어, 디바이스(1000) 내에 기 저장된 복수의 동영상들 중 바다 영상이 30%, 하늘 영상이 15%, 먹는 동영상이 10%인 경우, 디바이스(1000)는 풍경 영상에 대한 사용자의 선호도가 높은 것으로 판단할 수 있다.
또한, 디바이스(1000)는 기 저장된 복수의 동영상들의 촬영 상황 정보에 기초하여, 사용자의 선호도가 높은 촬영 상황 정보를 획득할 수 있다. 촬영 상황 정보는 동영상이 촬영된 상황에 대한 정보로, 촬영 모드, 촬영 횟수, 촬영 시간, 촬영 분위기에 대한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 디바이스(1000)는 기 저장된 복수의 동영상들 중 소정 시간 이하로 빠르게 촬영 되어, 동영상에 포함된 객체를 인식할 수 없는 동영상을 영상 선호도가 낮은 영상으로 판단할 수 있다.
한편, 디바이스(1000)는 특정한 피사체를 소정 시간 이상 동안 정적으로 촬영한 동영상을 사용자의 영상 선호도가 높은 영상으로 판단할 수 있다. 또한, 디바이스(1000)는 동일한 피사체가 포함된 복수의 동영상들에 기초하여, 영상 선호도 정보를 획득할 수도 있다. 예를 들어, 디바이스(1000)는 동일한 제주도 바다가 포함된 복수개의 영상들에 기초하여, 바다 영상에 대한 사용자의 선호도가 높은 것으로 판단할 수 있다.
또한, 디바이스(1000)는 영상 편집 이력에 기초하여, 사용자의 선호도가 높은 영상에 대한 정보를 획득할 수 있다. 구체적으로, 디바이스(1000)는 사용자가 선택한 적어도 일부의 프레임을 포함하는 동영상에 대한 선호도가 높은 것으로 판단할 수 있다. 예를 들어, 디바이스(1000)는 제1 동영상에 삽입하기 위해 선택된 프레임에 기초하여 영상 선호도 정보를 획득할 수 있다. 또한, 디바이스(1000)는 선택된 프레임이 삭제된 경우, 삭제된 프레임에 기초하여 영상 선호도 정보를 획득할 수 있다. 즉, 디바이스(1000)는 삭제된 프레임을 포함하는 영상에 대한 선호도가 낮은 것으로 판단할 수 있다. 한편, 디바이스(1000)가 제1 동영상에 소정 길이의 동영상을 삽입하는 경우, 삽입된 동영상의 길이 정보에 기초하여 사용자가 선호하는 영상 길이에 대한 정보를 획득할 수 있다.
도 10은 일부 실시예에 따른 디바이스가 복수의 프레임 그룹의 우선 순위에 기초하여 영상을 편집하는 예시를 나타내는 도면이다. 도 10을 참조하면, 디바이스(1000)는 사용자의 음성 입력을 해석함으로써, 사용자의 의도에 부합하는 프레임을 디바이스(1000)에 기 저장된 복수의 동영상들로부터 선택할 수 있다.
구체적으로, 디바이스(1000)는 음성 입력 및 영상 선호도 정보에 기초하여 사용자의 의도를 판단할 수 있다. 예를 들어, 사용자의 음성 입력이 "바다 영상 보시죠~!"로 수신되는 경우, 디바이스(1000)는 바다를 포함하는 프레임들 중에서 사용자의 영상 선호도가 높은 프레임들을 선택할 수 있다. 예를 들어, 잔잔한 바다 및 맑은 하늘이 포함된 영상에 대한 사용자의 선호도가 높은 경우, 디바이스(1000)는 프레임의 특성 정보에 기초하여 잔잔한 바다 및 맑은 하늘을 포함하는 프레임을 선택할 수 있다.
즉, 디바이스(1000)는 사용자의 의도 및 프레임의 특성 정보 간 연관성에 기초하여, 사용자의 의도에 부합하는 프레임을 선택할 수 있다. 도 8에서 전술한 바와 같이, 특성 정보는 프레임에 미리 설정될 수 있다. 디바이스(1000)는 태그 #1, 태그 #2, 태그 #3 및 태그 #4에 포함된 특성 정보에 기초하여, 소정 프레임 또는 프레임 그룹을 사용자의 의도에 부합하는 프레임으로 선택할 수 있다. 디바이스(1000)는 흐린 하늘이 포함된 태그 #4에 대응되는 프레임을 사용자의 의도에 부합하지 않는 프레임으로 판단할 수 있다. 또한, 디바이스(1000)는 잔잔한 바다 및 맑은 하늘을 포함하는 태그 #1, 태그 #2, 태그 #3에 대응되는 프레임을 사용자의 의도에 부합하는 프레임들로 선택할 수 있다.
디바이스(1000)는 선택된 프레임 또는 프레임 그룹들을 우선순위에 기초하여 편집할 수 있다. 구체적으로, 디바이스(1000)는 영상 선호도 정보에 기초하여 프레임들 사이의 우선순위를 결정할 수 있다. 예를 들어, 태그 #3이 설정된 프레임 그룹에 대한 사용자의 선호도가 가장 높은 경우, 태그 #3에 대응되는 프레임 그룹이 제1 동영상을 생성하는 촬영 도중에 가장 먼저 삽입될 수 있다. 즉, 디바이스(1000)는 사용자의 의도에 부합하는 프레임을 선택하고, 선택된 프레임들 간 우선순위에 기초하여 선택된 프레임들이 편집된 동영상을 획득할 수 있다. 예를 들어, 디바이스(1000)는 태그 #3에 대응되는 프레임 그룹을 동영상의 맨 앞에 배치하고, 태그 #2에 대응되는 프레임을 중간에 배치하며, 태그 #1에 대응되는 프레임을 마지막에 비치된 편집된 동영상을 생성할 수 있다.
도 11은 일부 실시예에 따른 디바이스가 디스플레이된 프레임 그룹을 생성 중인 제1 동영상 내에 삽입하는 동작이 거절됨에 따라, 다른 프레임 그룹을 선택하는 방법의 흐름도이다.
동작 S1100에서, 디바이스(1000)는 선택된 프레임 그룹을 디스플레이 할 수 있다. 구체적으로, 디바이스(1000)는 사용자 입력, 영상 선호도 정보 및 프레임 그룹 간 연관성에 기초하여 편집된 동영상을 화면 상에 디스플레이 할 수 있다.
동작 S1110에서, 디바이스(1000)는 디스플레이 된 프레임 그룹의 삽입이 거절됨에 따라, 우선 순위에 기초하여 복수의 프레임 그룹 중 다른 하나를 선택할 수 있다. 구체적으로, 제1 동영상을 생성하는 촬영 도중에 프레임 그룹이 삽입될 때, 사용자는 삽입된 프레임 그룹의 거절 여부를 선택할 수 있다. 디바이스(1000)는 삽입된 프레임 그룹에 대한 사용자의 거절 입력이 수신되는 경우, 우선 순위에 기초하여 복수의 프레임 그룹 중 다른 하나를 선택할 수 있다. 예를 들어, 도 10을 참조하면, 태그 #3에 대한 프레임 그룹이 디스플레이 될 때, 사용자로부터 거절 입력이 수신되면, 디바이스(1000)는 태그 #3에 대응되는 프레임 그룹을 삭제하고, 태그 #2에 대응되는 프레임을 선택할 수 있다. 만약, 태그 #2에 대응되는 프레임에 대해 사용자의 거절 입력이 수신되는 경우, 디바이스(1000)는 다음 우선 순위인 태그 #1에 대응되는 프레임을 선택할 수 있음은 물론이다.
이 경우, 디바이스(1000)는 삽입이 거절된 프레임 그룹에 대응되는 특성 정보에 기초하여, 영상 선호도 정보를 업데이트 할 수 있다. 예를 들어, 거절된 프레임 그룹에 태그 #3이 설정된 경우, 디바이스(1000)는 태그 #3에 포함된 특성 정보에 대한 사용자의 선호도가 낮은 것으로 판단하여 영상 선호도 정보를 업데이트 할 수 있다. 또한, 선택된 프레임 그룹에 대한 사용자의 거절 입력이 수신되지 않는 경우, 디바이스(1000)는 선택된 프레임 그룹에 대응되는 특서어 정보에 대한 사용자의 선호도가 높은 것으로 판단하고 영상 선호도 정보를 업데이트 할 수 있다.
동작 S1120에서, 디바이스(1000)는 선택된 다른 하나의 프레임 그룹을 제1 동영상 내에 삽입할 수 있다. 구체적으로, 디바이스(1000)는 태그 #3에 대응되는 프레임 그룹이 거절됨에 따라, 다른 하나의 프레임 그룹으로 태그 #2에 대응되는 프레임을 선택하고, 태그 #2에 대응되는 프레임 그룹을 제1 동영상 내에 삽입할 수 있다. 즉, 디바이스(1000)는 태그 #2에 대응되는 프레임 그룹을 화면 상에 디스플레이 할 수 있다.
도 12는 일부 실시예에 따른 디바이스가 디스플레이된 프레임 그룹을 생성 중인 제1 동영상 내에 삽입하는 동작이 거절됨에 따라, 다른 프레임 그룹을 선택하는 화면을 나타내는 도면이다.
디바이스(1000)는 프레임 그룹의 삽입에 대한 거절을 입력할 수 있는 사용자 인터페이스를 디스플레이 할 수 있다. 도 12를 참조하면, 디바이스(1000)는 프레임 그룹의 삽입에 대한 거절을 입력할 수 있는 "Render" 버튼을 디스플레이 하고, 사용자로부터 "Render" 버튼이 선택되는 경우, 프레임 그룹 간 우선 순위에 기초하여 복수의 프레임 그룹 중 다른 하나를 선택할 수 있다. 이에 따라, 디바이스(1000)는 복수의 프레임 그룹 중 선택된 다른 하나를 디스플레이 할 수 있다.
한편, 디바이스(1000)는 프레임 그룹의 삽입에 대한 거절을 입력할 수 있는 사용자 인터페이스를 디스플레이 할 수 있을 뿐만 아니라, 사용자의 음성 입력에 의해 프레임 그룹의 삽입을 거절할 수도 있다. 예를 들어, "다른 동영상을 보여줘!"라는 사용자의 음성 입력이 수신되면, 디바이스(1000)는 "Render" 버튼이 선택되지 않는 경우에도, 프레임 그룹 간 우선 순위에 기초하여 복수의 프레임 그룹 중 다른 하나를 선택할 수 있다. 프레임 그룹의 삽입에 대한 거절을 입력하는 방법은 전술된 예에 제한되지 않으며, 디바이스(1000)가 프레임 그룹의 삽입에 대한 거절로 식별할 수 있는 트리거 입력이면 어느 것이든 가능할 수 있다.
도 13은 일부 실시예에 따른 디바이스가 동영상의 특성 정보가 학습 모델에 의해 획득되는 예시를 나타내는 도면이다.
도 13을 참조하면, 디바이스(1000)는 영상 분석을 위한 제1 학습 모델에 복수의 동영상들을 입력함으로써, 텍스트 형태의 특성 정보를 생성할 수 있다. 구체적으로, 디바이스(1000)는 기 저장된 복수의 동영상들을 제1 학습 모델에 입력함으로써, 동영상에 포함된 객체에 대한 정보, 동영상이 촬영된 위치 정보, 동영상이 촬영된 시간 정보, 동영상의 영상 품질 정보를 획득할 수 있다. 이 경우, 획득되는 특성 정보는 전술된 예에 제한되지 않으며, 동영상의 특성에 대한 정보를 나타내는 것이면 어느 것이든 가능할 수 있다.
도 14는 일부 실시예에 따른 디바이스가 학습 모델을 이용하여 동영상에 포함된 객체의 정보를 획득하는 예시를 나타내는 도면이다.
도 14를 참조하면, 디바이스(1000)는 동영상을 제1 학습 모델에 입력함으로써, 동영상 내의 프레임에 포함된 객체를 인식할 수 있다. 예를 들어, 디바이스(1000)는 제1 학습 모델을 이용하여 동영상 내의 첫 번째 프레임에 빌딩, 차, 하늘 및 도로에 대응되는 객체가 포함된 것을 인식할 수 있다. 또한, 디바이스(1000)는 제1 학습 모델을 이용하여 동영상 내의 두 번째 프레임에 빌딩, 차, 하늘, 도로 뿐만 아니라, 새, 고양이, 배에 대응되는 객체가 더 포함된 것을 인식할 수 있다.
또한, 디바이스(1000)는 제1 학습 모델을 이용하여 인식된 객체 정보에 기초하여 동영상의 카테고리 정보를 획득할 수 있다. 도 14를 참조하면, 동영상의 첫 번째 프레임에 포함된 빌딩, 차, 하늘 및 도로에 대응되는 객체 정보에 기초하여, 첫 번째 프레임의 카테고리를 "도시"로 분류할 수 있다. 또한, 동영상의 두 번째 프레임은 새, 고양이, 배에 대응되는 객체가 더 포함되지만, 빌딩, 차 및 도로에 대응되는 객체 정보가 포함되어 있어, 동일한 카테고리인 "도시"로 분류될 수 있다.
도 15는 일부 실시예에 따른 디바이스가 학습 모델을 이용하여 사용자의 영상 선호도 정보를 획득하는 예시를 나타내는 도면이다.
도 15를 참조하면, 영상 선호도 정보는, 제2 학습 모델에 디바이스(1000)에 기 저장된 복수의 동영상들의 특성 정보, 카테고리 정보, 촬영 상황 정보 또는 영상 편집 이력에 대한 정보 중 하나를 입력함으로써 획득될 수 있다. 구체적으로, 디바이스(1000)는 제1 학습 모델을 이용하여 생성된 특성 정보 뿐만 아니라, 동영상의 카테고리 정보, 촬영 상황 정보 및 영상 편집 이력을 제2 학습 모델에 입력함으로써, 동영상에 내의 프레임 정보에 기초하여 영상 선호도 정보를 획득할 수 있다.
디바이스(1000)는 도 9 및 도 11에서 전술한 바와 같이, 제1 동영상을 생성하는 촬영 도중에 삽입할 제2 동영상의 일부로 선택된 프레임에 기초하여, 영상 선호도 정보를 업데이트할 수 있다. 예를 들어, 디바이스(1000)는 특정 프레임의 제1 동영상 내에 삽입 또는 삽입의 거절 여부에 기초하여 영상 편집 이력을 업데이트 할 수 있다. 또한, 디바이스(1000)는 영상 편집 이력에 기초하여 영상 선호도 정보를 업데이트 할 수 있다.
도 13 내지 도 15에서의 학습 모델은 동영상 내에 포함된 프레임 별로 특성 정보를 생성하고, 영상 선호도 정보를 획득하기 위한 학습 모델일 수 있다. 즉, 기 저장된 복수의 동영상들이 제1 학습 모델에 입력되면, 디바이스(1000)는 복수의 동영상들에 포함된 프레임 또는 프레임 그룹 별로 특성 정보를 생성할 수 있다. 또한, 디바이스(1000)는 생성된 특성 정보에 기초하여 영상 선호도 정보를 획득할 수 있다. 도 13 내지 도 15에서, 다양한 종류의 학습 모델을 통하여, 특성 정보를 생성하고 영상 선호도 정보를 획득하는 예시를 설명하였지만, 이에 제한되지 않는다. 즉, 도 13 내지 도 15에 도시된 학습 모델과 상이한 종류 및 개수의 학습 모델이 특성 정보를 생성하는데 이용될 수 있다. 또한, 학습 모델에는 상이하고 더욱 다양한 정보가 입력될 수 있다.
도 16 및 도 17은 일부 실시예에 따른 디바이스의 블록도이다.
도 16에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 디스플레이부(1210), 통신부(1500), 메모리(1700), 및 프로세서(1300)를 포함할 수 있다. 그러나, 도 16에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 16에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 16에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다.
예를 들어, 도 17에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 디스플레이부(1210), 통신부(1500), 메모리(1700), 및 프로세서(1300) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 및 A/V 입력부(1600)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(1100)는, 실시간 동영상 촬영을 위한 사용자 입력을 수신할 수 있다. 사용자 입력부(1100)는 동영상 제작 프로그램 또는 애플리케이션을 실행하고 소정 프레임 그룹의 실시간 촬영 중인 동영상 내에 삽입 여부를 선택하기 위한 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1210)는, 실시간으로 제1 동영상을 생성하기 위해 촬영되는 화면 및 삽입되는 제2 동영상의 일부를 디스플레이할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디바이스(1000)의 구현 형태에 따라 디바이스(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 디바이스(1000)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(1220)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다. 음향 출력부(1220)는 보이스 어시스턴트 서비스의 응답 메시지의 사운드를 출력할 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다.
프로세서(1300)는, 통상적으로 디바이스(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 본 명세서에서의 디바이스(1000)의 동작을 제어할 수 있다. 구체적으로, 프로세서(1300)는, 통신부(1500)를 통하여 제1 동영상에 삽입할 프레임 그룹을 외부 서버(미도시) 또는 외부 장치(미도시)로부터 수신할 수 있다.
프로세서(1300)는, 사용자 입력에 기초하여 프레임 그룹을 제1 동영상 내에 삽입할 수 있다. 프로세서(1300)는, 디바이스(1000) 내에 설치된 사용자의 음성 입력에 기초하여 사용자의 의도에 부합하는 프레임 그룹에 액세스할 수 있다. 프로세서(1300)는, 사용자 입력에 기초하여 디바이스(1000) 내에 기 저장된 프레임 그룹 중 하나를 선택할 수 있으며, 선택된 프레임 그룹을 제1 동영상 내에 삽입할 수 있다. 즉, 프로세서(1300)는, 소정 프레임 그룹을 선택하기 위한 사용자의 음성 입력을 수신할 수 있다.
프로세서(1300)는, 동영상의 특성 정보를 생성할 수 있다. 프로세서(1300)는, 학습 모델을 이용하여, 영상 선호도 정보에 기초하여 사용자의 음성 입력에 포함된 사용자의 의도를 해석할 수 있다. 또한, 프로세서(1300)는 사용자의 의도와 프레임의 특성 정보 간 연관성에 기초하여 사용자의 의도에 부합하는 프레임 그룹을 선택할 수 있다.
프로세서(1300)는, 학습 모델에 복수의 동영상들을 입력함으로써, 동영상 내 프레임의 특성 정보를 텍스트의 형태로 생성할 수 있다. 또한, 프로세서(1300)는 생성된 특성 정보를 프레임 또는 프레임 그룹 마다 태그로 설정할 수 있다. 프로세서(1300)는 생성된 특성 정보에 기초하여 영상 선호도 정보를 획득할 수 있다. 또한, 프로세서(1300)는 영상 선호도 정보에 기초하여 사용자의 음성 입력에 포함된 사용자의 의도를 해석할 수 있다. 또한, 프로세서(1300)는 사용자의 의도 및 특성 정보 간 연관성에 기초하여, 사용자의 의도에 부합하는 소정 프레임 그룹을 선택할 수 있다.
예를 들어, 사용자의 음성 입력이 "바다 영상을 보여줘~!"로 수신된다고 가정하자. 프로세서(1300)는 복수의 동영상들을 학습 모델에 입력함으로써, 바다 영상들에 포함된 프레임의 특성 정보를 미리 생성할 수 있다. 프로세서(1300)는 맑은 날씨에 촬영된 잔잔한 바다 영상을 선호하는 사용자의 영상 선호도 정보에 기초하여, "바다 영상을 보여줘~!"에 포함된 사용자의 의도를 해석할 수 있다. 즉, 프로세서(1300)는 영상 선호도 정보에 기초하여, '맑은 날 촬영된 잔잔한 바다가 포함된 프레임 그룹을 삽입'하기 위한 사용자의 의도를 판단할 수 있다. 프로세서(1300)는 사용자의 의도 및 기 생성된 프레임의 특성 정보가 연관성에 기초하여, '맑은 날 촬영된 잔잔한 바다'를 포함하는 프레임을 선택하고, 선택된 프레임 간 우선 순위를 결정할 수 있다.
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
센싱부(1400)는 동영상 촬영 시, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 메모리(1700)에 저장할 수 있다. 예를 들어, 위치 센서(1460)는 동영상이 촬영되는 위치를 감지하고, 감지된 위치 정보를 프로세서(1300)로 전달할 수 있다.
통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
또한, 통신부(1500)는, 사용자의 의도에 부합하는 프레임 그룹을 수신하기 위해 외부 서버(미도시) 또는 외부 장치(미도시)와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 따라서, 카메라(1610)는 제1 동영상을 생성하기 위한 촬영을 할 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다. 사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 18은 일부 실시예에 따른 프로세서의 블록도이다.
도 18을 참조하면, 일부 실시예에 따른 프로세서(1300)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.
데이터 학습부(1310)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 기준을 학습할 수 있다. 데이터 학습부(1310)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 기준을 학습할 수 있다.
데이터 인식부(1320)는 데이터에 기초하여, 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 판단할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 수행할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 수행할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.
한편, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 19는 일부 실시예에 따른 데이터 학습부(1310)의 블록도이다.
도 19를 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다.
데이터 획득부(1310-1)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나에 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310-1)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
예를 들어, 디바이스(1000)에 기 저장된 복수의 동영상 또는 사진, 및 상기 동영상 또는 사진과 관련된 촬영 위치 정보, 촬영 시간 정보, 영상 품질 정보 중 적어도 하나가 상기 학습을 위하여 획득될 수 있다. 하지만, 학습을 위하여 획득되는 데이터는 이에 제한되지 않으며, 예를 들어, 도 13 내지 도 15의 학습 모델들에 입력될 수 있는 데이터가 학습을 위하여 획득될 수 있다.
전처리부(1310-2)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 학습에 상기 획득된 데이터가 이용될 수 있도록, 상기 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 학습을 위하여, 상기 획득된 데이터를 이용할 수 있도록, 상기 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(1310-4)는 학습 데이터에 기초하여 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
또한, 모델 학습부(1310-4)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터를 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 20은 일부 실시예에 따른 데이터 인식부(1320)의 블록도이다.
도 20을 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다.
데이터 획득부(1320-1)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나에 필요한 데이터를 획득할 수 있으며, 전처리부(1320-2)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위해 상기 획득된 데이터가 이용될 수 있도록, 상기 획득된 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4)가 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위하여 상기 획득된 데이터를 이용할 수 있도록, 상기 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1320-3)는 전처리된 데이터 중에서 오염 지도 데이터의 생성, 청소 대상 영역의 결정, 로봇 청소 장치(1000)의 동작 모드 결정 중 적어도 하나에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1320-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 특성 정보 생성, 영상 선호도 정보 획득, 사용자의 의도 및 특성 정보 간 연관성에 기초한 프레임 그룹 결정 중 적어도 하나를 수행할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
예를 들어, 디바이스(1000)에 기 저장된 동영상 또는 이미지, 디바이스(1000)에서 센싱된 센싱 데이터, 외부 서버(미도시)에서 수신된 동영상 또는 이미지에 관한 정보 중 적어도 하나가 상기 인식을 위하여 획득될 수 있다. 하지만, 인식을 위하여 획득되는 데이터는 이에 제한되지 않으며, 예를 들어, 도 13 내지 도 15의 학습 모델들에 입력될 수 있는 데이터가 인식을 위하여 획득될 수 있다.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 디바이스가 동영상을 제작하는 방법에 있어서,
    제1 동영상을 생성하기 위한 촬영을 개시하는 동작;
    상기 제1 동영상을 생성하는 도중에, 상기 제1 동영상 내에, 상기 디바이스에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하는 동작;
    상기 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 상기 제2 동영상을 포함하는 복수의 동영상들로부터, 상기 제2 동영상에 포함된 적어도 일부의 프레임을 선택하는 동작;
    상기 선택된 적어도 일부의 프레임을 상기 제2 동영상으로부터 추출하는 동작; 및
    상기 추출된 적어도 일부의 프레임을 상기 생성 중인 제1 동영상 내에 삽입하는 동작;
    을 포함하는, 방법.
  2. 제1항에 있어서,
    상기 복수의 동영상들의 특성을 나타내는 특성 정보를 미리 생성하는 동작;
    을 더 포함하며,
    상기 사용자 입력은, 상기 제2 동영상에 관련된 정보를 포함하는 음성 입력을 포함하고,
    상기 적어도 일부의 프레임을 선택하는 동작은, 상기 음성 입력의 의미 및 상기 특성 정보 간 연관성에 기초하여 상기 적어도 일부의 프레임을 선택하는, 방법.
  3. 제2항에 있어서,
    상기 특성 정보를 생성하는 동작은, 상기 복수의 동영상 내에 포함된 프레임 별로 상기 특성 정보를 생성하는 것인, 방법.
  4. 제1항에 있어서,
    상기 특성 정보를 생성하는 동작은, 영상 분석을 위한 제1 학습 모델에 상기 복수의 동영상들을 입력함으로써, 텍스트 형태의 상기 특성 정보를 생성하는 것인, 방법.
  5. 제4항에 있어서,
    상기 적어도 일부의 프레임을 선택하는 동작은, 상기 텍스트 형태의 특성 정보에 기초하여, 상기 음성 입력의 의미에 관련된 상기 적어도 일부의 프레임을 실시간으로 선택하는 것인, 방법.
  6. 제2항에 있어서,
    상기 연관성에 기초하여, 상기 제2 동영상에 포함된 복수의 프레임 그룹의 우선 순위를 결정하는 동작;
    을 더 포함하고,
    상기 적어도 일부의 프레임을 선택하는 동작은, 상기 복수의 프레임 그룹 중 하나를 선택하는 동작을 포함하는 것인, 방법.
  7. 제6항에 있어서,
    상기 선택된 프레임 그룹을 디스플레이하는 동작;
    상기 디스플레이된 프레임 그룹을 상기 생성 중인 제1 동영상 내에 삽입하는 동작이 거절됨에 따라, 상기 우선 순위에 기초하여 상기 복수의 프레임 그룹 중 다른 하나를 선택하는 동작; 및
    상기 선택된 다른 하나의 프레임 그룹을 상기 제1 동영상 내에 삽입하는 동작;
    을 포함하는, 방법.
  8. 제2항에 있어서,
    상기 특성 정보는, 상기 복수의 동영상들에 관한 객체 정보, 촬영 위치 정보, 촬영 시간 정보 또는 영상 품질 정보 중 적어도 하나를 포함하는, 방법.
  9. 제2항에 있어서,
    상기 영상 선호도 정보는, 제2 학습 모델에 상기 기 저장된 복수의 동영상들의 특성 정보, 카테고리 정보, 촬영 상황 정보 또는 상기 영상 편집 이력에 대한 정보 중 적어도 하나를 입력함으로써 획득되는, 방법.
  10. 제7항에 있어서,
    상기 영상 선호도 정보는, 삽입이 거절된 프레임 그룹에 대응되는 특성 정보에 기초하여 업데이트 되는, 방법.
  11. 동영상을 제작하는 디바이스에 있어서,
    디스플레이;
    통신 인터페이스;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션을 실행함으로써 상기 디바이스를 제어하는 프로세서;
    를 포함하며,
    상기 프로세서는, 제1 동영상을 생성하기 위한 촬영을 개시하고, 상기 제1 동영상을 생성하는 도중에, 상기 제1 동영상 내에, 상기 디바이스에 기 저장된 제2 동영상의 적어도 일부를 삽입하기 위한 사용자 입력을 수신하고, 상기 사용자 입력이 수신됨에 따라, 사용자의 영상 선호도 정보에 기초하여 상기 제2 동영상을 포함하는 복수의 동영상들로부터, 상기 제2 동영상에 포함된 적어도 일부의 프레임을 선택하며, 상기 선택된 적어도 일부의 프레임을 상기 제2 동영상으로부터 추출하고, 상기 추출된 적어도 일부의 프레임을 상기 생성 중인 제1 동영상 내에 삽입하는, 디바이스.
  12. 제11항에 있어서,
    상기 사용자 입력은, 상기 제2 동영상에 관련된 정보를 포함하는 음성 입력을 포함하고,
    상기 프로세서는, 상기 복수의 동영상들의 특성을 나타내는 특성 정보를 미리 생성하며, 상기 음성 입력의 의미 및 상기 특성 정보 간 연관성에 기초하여 상기 적어도 일부의 프레임을 선택하는, 디바이스.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 복수의 동영상 내에 포함된 프레임 별로 상기 특성 정보를 생성하는, 디바이스.
  14. 제11항에 있어서,
    상기 프로세서는, 영상 분석을 위한 제1 학습 모델에 상기 복수의 동영상들을 입력함으로써, 텍스트 형태의 상기 특성 정보를 생성하는, 디바이스.
  15. 제14항에 있어서,
    상기 프로세서는, 상기 텍스트 형태의 특성 정보에 기초하여, 상기 음성 입력의 의미에 관련된 상기 적어도 일부의 프레임을 실시간으로 선택하는, 디바이스.
  16. 제12항에 있어서,
    상기 프로세서는, 상기 제2 동영상에 포함된 복수의 프레임 그룹의 우선 순위를 결정하고, 상기 복수의 프레임 그룹 중 하나를 선택하는, 디바이스.
  17. 제16항에 있어서,
    상기 프로세서는, 상기 선택된 프레임 그룹을 디스플레이하고, 상기 디스플레이된 프레임 그룹을 상기 생성 중인 제1 동영상 내에 삽입하는 동작이 거절됨에 따라, 상기 우선 순위에 기초하여 상기 복수의 프레임 그룹 중 다른 하나를 선택하며, 상기 선택된 다른 하나의 프레임 그룹을 상기 제1 동영상 내에 삽입하는, 디바이스.
  18. 제12항에 있어서,
    상기 특성 정보는, 상기 복수의 동영상들에 관한 객체 정보, 촬영 위치 정보, 촬영 시간 정보 또는 영상 품질 정보 중 적어도 하나를 포함하는, 디바이스.
  19. 제12항에 있어서,
    상기 영상 선호도 정보는, 제2 학습 모델에 상기 기 저장된 복수의 동영상들의 특성 정보, 카테고리 정보, 촬영 상황 정보 또는 상기 영상 편집 이력에 대한 정보 중 적어도 하나를 입력함으로써 획득되는, 디바이스.
  20. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함하는 컴퓨터 프로그램 장치.
KR1020180168715A 2018-12-24 2018-12-24 동영상을 제작하는 방법 및 그에 따른 장치 KR20200084428A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180168715A KR20200084428A (ko) 2018-12-24 2018-12-24 동영상을 제작하는 방법 및 그에 따른 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168715A KR20200084428A (ko) 2018-12-24 2018-12-24 동영상을 제작하는 방법 및 그에 따른 장치

Publications (1)

Publication Number Publication Date
KR20200084428A true KR20200084428A (ko) 2020-07-13

Family

ID=71570797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168715A KR20200084428A (ko) 2018-12-24 2018-12-24 동영상을 제작하는 방법 및 그에 따른 장치

Country Status (1)

Country Link
KR (1) KR20200084428A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022054988A1 (ko) * 2020-09-10 2022-03-17 주식회사 인에이블와우 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
WO2023075188A1 (ko) * 2021-10-28 2023-05-04 세종대학교산학협력단 숏폼 콘텐츠를 위한 객체 기반 다중 미디어 구성 방법 및 이를 이용하는 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022054988A1 (ko) * 2020-09-10 2022-03-17 주식회사 인에이블와우 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
WO2023075188A1 (ko) * 2021-10-28 2023-05-04 세종대학교산학협력단 숏폼 콘텐츠를 위한 객체 기반 다중 미디어 구성 방법 및 이를 이용하는 장치

Similar Documents

Publication Publication Date Title
KR102453169B1 (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
KR102428920B1 (ko) 전자 장치 및 그 동작 방법
US11699213B2 (en) Image-capturing device and method for controlling same
US10970605B2 (en) Electronic apparatus and method of operating the same
KR102359391B1 (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
US10616478B2 (en) Method and system for providing recommendation information related to photography
KR102425578B1 (ko) 객체를 인식하는 방법 및 장치
KR102556492B1 (ko) 텍스트와 연관된 이미지 제공 방법 및 이를 위한 전자 장치
KR20190106865A (ko) 동영상 검색방법 및 동영상 검색 단말기
KR102480416B1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
KR20180055708A (ko) 이미지를 처리하는 전자 장치 및 방법
US11508364B2 (en) Electronic device for outputting response to speech input by using application and operation method thereof
US11831948B2 (en) Video playback device and control method thereof
KR102628042B1 (ko) 연락처 정보를 추천하는 방법 및 디바이스
KR102360181B1 (ko) 차량의 동작을 제어하는 전자 장치 및 방법
KR102430567B1 (ko) 텍스트와 연관된 이미지 제공 방법 및 이를 위한 전자 장치
KR20190096752A (ko) 컨텐츠에 대한 텍스트 코멘트를 생성하는 방법 및 전자 장치
KR102384878B1 (ko) 동영상을 필터링하는 방법 및 장치
KR102198337B1 (ko) 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체.
KR20200084428A (ko) 동영상을 제작하는 방법 및 그에 따른 장치
KR102697346B1 (ko) 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
KR20200094607A (ko) 영상 시퀀스에 대한 캡션 정보를 생성하는 전자 장치 및 그 동작 방법
KR102582544B1 (ko) 전자 장치 및 그 동작 방법
US20230316470A1 (en) Method for correcting image by device and device therefor

Legal Events

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