KR102376700B1 - 비디오 컨텐츠 생성 방법 및 그 장치 - Google Patents
비디오 컨텐츠 생성 방법 및 그 장치 Download PDFInfo
- Publication number
- KR102376700B1 KR102376700B1 KR1020150114119A KR20150114119A KR102376700B1 KR 102376700 B1 KR102376700 B1 KR 102376700B1 KR 1020150114119 A KR1020150114119 A KR 1020150114119A KR 20150114119 A KR20150114119 A KR 20150114119A KR 102376700 B1 KR102376700 B1 KR 102376700B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- information
- video
- processor
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 31
- 230000015654 memory Effects 0.000 claims abstract description 66
- 238000004891 communication Methods 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 27
- 230000000694 effects Effects 0.000 claims description 26
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000012805 post-processing Methods 0.000 claims description 9
- 238000010191 image analysis Methods 0.000 claims description 7
- 238000003384 imaging method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000008921 facial expression Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 206010044565 Tremor Diseases 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000002583 angiography Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- -1 electricity Substances 0.000 description 1
- 238000002567 electromyography Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 101150013335 img1 gene Proteins 0.000 description 1
- 101150071665 img2 gene Proteins 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000001646 magnetic resonance method Methods 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000001094 photothermal spectroscopy Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42202—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
- H04N21/8133—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42201—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] biosensors, e.g. heat sensor for presence detection, EEG sensors or any limb activity sensors worn by the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42224—Touch pad or touch panel provided on the remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/4508—Management of client data or end-user data
- H04N21/4524—Management of client data or end-user data involving the geographical location of the client
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Business, Economics & Management (AREA)
- Environmental Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Emergency Management (AREA)
- Ecology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Television Signal Processing For Recording (AREA)
- User Interface Of Digital Computer (AREA)
- Software Systems (AREA)
Abstract
전자 장치가 개시된다. 상기 전자 장치는 메모리, 적어도 하나의 영상을 획득하는 촬영 모듈, 및 상기 적어도 하나의 영상을 획득하는 동안 획득되는 사용자 인터랙션(user interaction) 정보에 기초하여 부가 정보(additional information)를 생성하고, 상기 적어도 하나의 영상을 비디오 데이터로 인코딩하고, 상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 상기 메모리에 저장하는 프로세서를 포함할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
Description
본 문서에서 개시되는 실시 예들은, 이미지 또는 동영상과 같은 미디어 컨텐츠를 이용하여 비디오 컨텐츠를 생성하는 기술과 관련된다.
스마트폰과 같은 전자 장치는 이미지 또는 동영상을 촬영할 수 있는 카메라를 탑재하고 있다. 카메라 성능이 좋아지고 전자 장치의 저장 공간이 증가하면서, 사용자는 빈번하게 이미지 또는 동영상 촬영을 수행하고, 촬영 결과물을 메모리에 저장할 수 있다.
사용자가 메모리에 저장된 이미지나 동영상을 이용하여 편집 영상(예: 하이라이트 비디오(highlight video))을 생성하는 경우, 전자 장치는 이미지에 대하여 후처리(post processing)을 적용하여 이미지의 정보를 획득할 수 있다. 예를 들어, 전자 장치는 JPEG 이미지를 YUV로 디코딩(decoding)하여 이미지와 관련된 특성 정보를 획득한 후에, 이 특성 정보에 기초하여 편집 영상을 생성할 수 있다. 또한, 전자 장치는 동영상의 재생 구간 중 임의의 구간을 선택하거나, 동영상에 포함된 아이프레임(iframe)만 추출하는 방식을 이용하여 편집 영상을 생성할 수 있다.
원본 동영상을 이용하여 하이라이트 비디오를 생성하는 경우, 하이라이트 비디오에 사용될 구간을 결정하기 위한 원본 비디오 데이터의 분석이 필요하다. 다시 말해서, 기존의 방식은 원본 비디오 데이터에 대한 post processing을 수행하게 되고, 결과적으로 하이라이트 비디오를 생성하기 위한 시간이 추가적으로 소요된다.
본 문서에서 개시되는 실시 예들은, 전술한 문제 및 본 문서에서 제기되는 과제들을 해결하기 위해, 동영상, 또는 동영상과 이미지를 이용해서 하이라이트 비디오를 생성할 수 있는 장치 및 방법을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 메모리, 적어도 하나의 영상을 획득하는 촬영 모듈, 및 상기 적어도 하나의 영상을 획득하는 동안 획득되는 사용자 인터랙션(user interaction) 정보에 기초하여 부가 정보(additional information)를 생성하고, 상기 적어도 하나의 영상을 비디오 데이터로 인코딩하고, 상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 상기 메모리에 저장하는 프로세서를 포함할 수 있다
또한, 본 문서에 개시되는 일 실시 예에 따른 비디오 컨텐츠 생성 방법은, 적어도 하나의 영상을 획득하는 동작, 상기 적어도 하나의 영상을 획득하는 동안 획득되는 정보에 기초하여 부가 정보를 생성하는 동작, 상기 적어도 하나의 영상을 비디오 데이터로 인코딩하는 동작, 및 상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 상기 메모리에 저장하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 저장 매체는, 컴퓨터 판독 가능한 명령어를 저장할 수 있다. 상기 명령어는 전자 장치에 의해 실행될 때 상기 전자 장치로 하여금, 영상을 획득하는 동작, 상기 적어도 하나의 영상을 획득하는 동안 획득되는 정보에 기초하여 부가 정보를 생성하는 동작, 상기 적어도 하나의 영상을 비디오 데이터로 인코딩하는 동작, 및 상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 상기 메모리에 저장하는 동작을 수행하도록 할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 영상 촬영을 통해 비디오 파일을 생성할 때, 영상에 대한 분석 또는 영상과 관련된 정보의 수집을 함께 수행하여 비디오 파일에 그 분석 정보를 포함시킴으로써, 하이라이트 비디오를 생성할 때 원본 비디오 파일의 분석에 소요되는 시간을 감소시켜서 결과적으로 하이라이트 비디오 생성 시간을 단축시킬 수 있다.
또한, 하이라이트 비디오에 대한 저장 이벤트가 발생할 때에만 저장 공간에 하이라이트 비디오를 저장함으로써, 시스템 자원을 효율적으로 사용할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 전자 장치 및 외부 전자 장치의 구성을 개념적으로 나타낸다.
도 2는 일 실시 예에 따른 미디어 컨텐츠 생성 방법을 나타낸다.
도 3은 일 실시 예에 따른 예시적인 비디오 파일의 구조를 나타낸다.
도 4는 일 실시 예에 따른 하이라이트 비디오를 생성하기 위한 전자 장치의 개념적인 구성을 나타낸다.
도 5는 일 실시 예에 따른 하이라이트 비디오를 재생 및 저장하는 흐름도를 나타낸다.
도 6은 일 실시 예에 따른 하이라이트 비디오의 구성을 나타낸다.
도 7은 일 실시 예에 따른 하이라이트 비디오의 재생 및 저장의 UI를 나타낸다.
도 8은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 9는 다양한 실시 예에 따른 전자 장치 901의 블록도 900을 나타낸다.
도 10은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 2는 일 실시 예에 따른 미디어 컨텐츠 생성 방법을 나타낸다.
도 3은 일 실시 예에 따른 예시적인 비디오 파일의 구조를 나타낸다.
도 4는 일 실시 예에 따른 하이라이트 비디오를 생성하기 위한 전자 장치의 개념적인 구성을 나타낸다.
도 5는 일 실시 예에 따른 하이라이트 비디오를 재생 및 저장하는 흐름도를 나타낸다.
도 6은 일 실시 예에 따른 하이라이트 비디오의 구성을 나타낸다.
도 7은 일 실시 예에 따른 하이라이트 비디오의 재생 및 저장의 UI를 나타낸다.
도 8은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 9는 다양한 실시 예에 따른 전자 장치 901의 블록도 900을 나타낸다.
도 10은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 일 실시 예에 따른 전자 장치 및 외부 전자 장치의 구성을 개념적으로 나타낸다.
도 1을 참조하면, 전자 장치 100은 촬영 모듈 110, ISP(image signal processor) 120, 버퍼(buffer) 130, 프로세서 140, 메모리 150, TSP(touch screen panel) 160, 센서(sensors) 170, 및 통신 모듈 180을 포함할 수 있다. 또한 전자 장치 100은 통신 모듈 180을 통해 외부 전자 장치 200(예: 태블릿, 스마트 워치, PC, 노트북, 웨어러블 장치 등)과 무선 또는 유선으로 연결될 수 있다. 다양한 실시 예에 따른 상기 촬영 모듈 110, 또는 상기 통신 모듈 180은, 소프트웨어, 하드웨어, 펌웨어, 또는 그 조합으로 구성될 수 있다.
촬영 모듈 110은, 예를 들어 카메라에 해당할 수 있다. 촬영 모듈 110은 복수의 렌즈를 구비할 수 있고, 렌즈를 통해 입사하는 피사체(object)로부터의 빛을 ISP 120으로 제공할 수 있다. 일 실시 예에서, 촬영 모듈 110은, 렌즈와 ISP 120, 및 그 외에 다른 적절한 하드웨어/소프트웨어 모듈(예: 조리개, 플래시 등)을 포함하는 개념으로 이해될 수 있다.
ISP 120은 촬영 모듈 110을 통해 획득된 영상(image)을 버퍼 130에 저장할 수 있다. ISP 120은 프로세서 140과 구별되는 독립된 하드웨어 장치일 수 있다. 일 실시 예에서, ISP 120은 프로세서 140 함께 통합되어 하나의 칩(예: SoC)으로 구현될 수도 있다.
버퍼 130은 다른 메모리들과 구별되는 독립된 하드웨어 장치일 수 있다. 일 실시 예에서, 버퍼 130은 RAM(Random Access Memory)의 일부 주소 공간이 할당된 저장 공간일 수도 있다.
프로세서 140은 전자 장치 100의 전반적인 동작을 제어할 수 있다. 프로세서 140은 제어 모듈, 처리 모듈, 또는 컨트롤러 등으로 이해될 수 있다. 프로세서 140은, 예를 들어 CPU(Central Processing Unit)이나 AP(Application Processor)에 해당할 수 있다. 프로세서 140은 전자 장치 100을 구성하는 대부분의 하드웨어를 제어할 수 있다. 특히, 도 1에 도시된 제어/데이터의 연결 관계는 예시적인 것이며, 예를 들어 프로세서 140은 ISP 120이나 촬영 모듈 110을 직접 제어할 수도 있다.
TSP 160은 터치 입력을 감지하고, 입력 이벤트를 프로세서 140으로 제공할 수 있다. TSP 160은 터치 입력 외에도 호버링(hovering) 입력을 감지할 수 있다. TSP 160은 입력 모듈 또는 도 8의 입출력 인터페이스 850 등으로 대체될 수 있다. 후술하는 다양한 입력들(예: 전자 펜을 통한 입력)이 인식 가능하며 프로세서 140으로 제공될 수 있다. 예를 들어, 촬영 중 사용자로부터 줌인(zoom-in)을 지시하는 터치 입력(예: 줌인 메뉴에 대한 터치 입력, 또는 멀티 터치)이 발생하면, TSP 160은 터치 입력에 대한 정보(예: 좌표, 멀티 터치, 터치 압력의 정도 등)를 프로세서 140으로 제공할 수 있다. 프로세서 140은 이 정보를 이용하여, 촬영 중에 발생한 줌인 입력과 같은 사용자 입력에 대한 정보를 획득할 수 있다.
센서 170은 촬영 모듈 110에 의한 촬영이 수행되는 동안, 전자 장치 100에서 감지되는 다양한 정보(예: 조도, 방향, 움직임, 심박 등)를 획득할 수 있다. 센서 170은, 예를 들어 도 9에서 설명되는 센서 모듈 940에 포함된 센서들 중 적어도 하나를 포함할 수 있다.
통신 모듈 180은 외부 전자 장치 200 또는 기지국(base station)이나 서버와 통신할 수 있다. 예를 들어, 통신 모듈 180은 도 8의 통신 인터페이스 870 또는 도 9의 통신 모듈 920의 적어도 일부 구성에 대응될 수 있다.
도 1에서 설명되거나, 다른 도면을 참조하여 설명된 하드웨어 구성은 예시적인 것이다. 당업자 수준에서 다양한 변형이 가능하다.
도 2는 일 실시 예에 따른 미디어 컨텐츠 생성 방법을 나타낸다.
동작 201에서 다양한 실시 예에 따른 전자 장치 100(예: 촬영 모듈 110)은 미디어 컨텐츠 생성을 위한 영상을 획득할 수 있다. 도 2에서 미디어 컨텐츠(media content)는 비디오(video or moving picture)에 해당할 수 있다. 전자 장치 100은, 예를 들어 사용자 입력에 의해 카메라가 활성화되고 촬영(또는 녹화) 기능이 동작하기 시작하면, 촬영 모듈 110을 통해 영상 데이터(image data)를 획득할 수 있다.
동작 203에서, 전자 장치 100은 획득된 영상 데이터를 버퍼 130에 저장할 수 있다. 영상 데이터는 버퍼 130에 저장되기 전에 ISP 120에 의해 적절한 영상 처리(image processing)가 적용될 수 있다. 여기서 버퍼 130은, 영상 데이터가 인코딩되어 메모리 150에 비디오 파일(예: mp4 파일)로 저장되기 전에 임시적으로 저장되는 저장 공간에 해당할 수 있다.
동작 205에서, 전자 장치 100은 상기 영상(영상 데이터)과 연관된 부가 정보(additional information)를 생성할 수 있다. 예를 들어, 프로세서 140은 버퍼 130에 저장된 영상 데이터에 대한 영상 분석을 통해 획득된 정보, 영상이 촬영되는 동안 발생한 사용자 인터렉션(예: TSP 160을 통해 발생한 터치 입력) 정보, 및 영상이 촬영되는 동안 획득되는 상황 정보 중 적어도 하나를 포함할 수 있다. 본 문서에서 상황 정보는 센서 170을 통해 수집된 정보(예: 주변 밝기, 사용자의 손 떨림, 주변 소음 정도, 또는 전자 장치 100의 위치 정보 등), 및 통신 모듈 180을 통해 수집된 정보(예: 전자 장치 100과 기능적으로 연결된 외부 장치의 센서를 통해 수집된 정보 등)와 같이, 촬영 중에 전자 장치 100에 의해 획득되거나 인식 가능한 주변 환경 정보를 모두 포괄하는 개념으로 이해될 수 있다.
(1) 일 실시 예에서, 프로세서 140은 영상 촬영 시 발생하는 영상 데이터의 불연속(discontinuous) 영역을 판단할 수 있다. 일 실시 예에서, 특정 시점에서 영상 데이터로부터 획득 가능한 특정 파라미터(parameter) 값의 변화가 일정 범위(예: threshold)를 벗어나는 경우(예: 실내에서 실외로 이동하거나, 전방 시야(배경) 또는 촬영 대상이 변경되는 경우), 프로세서 140은 촬영되는 영상에 변화가 생긴 것으로 판단하고 변화의 발생 시점 및 발생된 변화에 대한 정보를 부가 정보에 포함시킬 수 있다. 여기서, 변화의 발생 시점은 절대적인 시간(예: 현재의 날짜 및 시간) 및 비디오 파일에서의 재생 시간(예: PTS(Presentation Time Stamp))을 모두 포함할 수도 있고, 또는 PTS만 포함할 수도 있다.
예를 들어, 프로세서 140은 히스토그램(histogram)이나 SAD(Sum of Absolute Differences)와 같은 파라미터의 변화가 지정된 임계 값(threshold) 이상으로 발생하게 되면, 발생 시점에 대한 정보와 함께 상기 발생된 변화에 대한 정보를 태그(tag) 또는 메타데이터(metadata) 형식으로 저장할 수 있다.
이 외에도, 프로세서 140은 획득되는 영상에서 감지되는 제스처나 표정, 또는 모션에 기초하여 부가 정보를 생성할 수 있다.
추가적으로, 프로세서 140은 영상 촬영시 획득되는 오디오 정보에서 지정된 조건을 만족시키는 시점 및 해당 오디오 정보를 부가 정보에 포함시킬 수 있다. 예를 들어, 프로세서 140은 갑자기 오디오의 볼륨이 증가 또는 감소하거나, 지정된 소리(예: 환호 소리, 박수 소리, 특정 음성(예: 골(goal), 슛(shoot), 홈런(homerun) 등))에 대응되는 파형이 감지되는지 여부를 판단하고, 그 판단 결과에 따라 부가 정보에 오디오 정보를 포함시킬 수 있다.
또한 프로세서 140은 촬영 모듈 110이 영상을 획득하는 동안 발생하는 촬영 영상에 대해 촬영 영상의 품질 정보를 이용할 수 있다. 예를 들어, 프로세서 140은 촬영 모듈 110을 통해 획득된 영상(image)의 선명도, 밝기, 채도 및 구조 등을 확인하고, 많이 흔들린 영상, 심하게 밝거나 어두운 영상 등에 대한 정보는 부가 정보에 포함시키지 않을 수 있다. 이와 반대로, 프로세서 140은 선명도가 보장된 영상(예: blurless image) 등에 대해서는 부가 정보에 포함 시킬 수 있다
또한, 예를 들어 프로세서 140은 영상에 대한 얼굴 인식(face recognition)이나 대상 인식(object recognition)이 발생하는 경우, 해당 인식이 발생한 시점 또는 발생 시간 구간(duration)에 대한 정보와 함께 얼굴 인식 또는 대상 인식이 발생했다는 정보, 또는 인식된 얼굴이나 대상에 대한 정보(예: 이름, 명칭)를 부가 정보에 포함시킬 수 있다.
(2) 일 실시 예에서, 프로세서 140은 촬영 모듈 110이 영상을 획득하는 동안 발생하는 사용자 입력을 감지하고, 사용자 입력의 발생 시점과 발생한 사용자 입력에 대한 정보를 부가 정보에 포함시킬 수 있다. 예를 들어, 영상 촬영 중에, TSP 160을 통한 터치 입력 또는 터치/물리 버튼이나 키 버튼(key button) 등을 통한 사용자 입력이 발생하는 경우, 프로세서 140은 사용자 입력이 발생한 시점 및 발생한 사용자 입력에 대한 정보를 부가 정보에 포함시킬 수 있다. 예를 들어, 사용자가 줌 인을 명령하는 터치 입력을 제공한 경우, 프로세서 140은 입력이 발생한 시간 정보 및 발생한 입력(줌 인)에 대한 정보(예: 2015년 7월 20일 오후 10시 25분 38초 및 PTS 03:12에 줌 인 입력이 발생함)를 부가 정보에 포함시킬 수 있다.
일 실시 예에서, 전자 장치 100은 촬영과 관련된 다양한 기능들을 지원할 수 있다. 촬영 중 발생한 사용자 입력이 상기 기능들 중 적어도 하나의 기능을 활성화(적용)하는 사용자 입력인 경우, 프로세서 100은 상기 사용자 입력과 연관된 정보를 부가 정보에 포함시킬 수 있다. 예를 들어, 전자 장치 100이 대상 추적(object tracking) 기능을 지원하는 경우, 사용자가 촬영 중 특정 대상(예: 아이)을 선택하면, 상기 대상을 기준으로 하여 초점이나 줌이 연속적으로 변경될 수 있다. 이 경우, 프로세서 100은 사용자 입력이 발생한 시간에 대한 정보와 활성화된 기능(예: 대상 추적 기능)에 대한 정보를 부가 정보에 포함시킬 수 있다.
일 실시 예에서, 사용자는 대상을 자세히 보길 원할 때, 또는 대상의 중요도가 높다고 판단될 때는 줌 인 기능을 이용할 수 있다. 또한 그 반대의 경우, 줌 아웃 기능을 이용할 수 있다. 따라서, 일 실 시 예에서, 줌 인 입력은 지정된 사용자 입력에 해당되지만, 줌 아웃 입력은 지정된 사용자 입력에 해당되지 않을 수 있다. 즉, 부가 정보에 포함될 입력의 종류나 형태에 대한 정보는 미리 정의되어 있을 수 있다. 물론 다른 실시 예에서, 줌인 입력과 줌 아웃 입력(또는 모든 입력)은 부가 정보에 기록될 수 있지만, 서로 다른 우선 순위(중요도)를 가질 수 있다. 우선 순위가 낮은 정보의 경우, 하이라이트 비디오 생성에서 제외될 수 있다. 이와 관련된 예시는 도 4 및 도 5를 참조하여 후술한다.
전술한 예시들 및 후술되는 예시에 있어서, 영상이 촬영되는 동안 획득되는 정보를 실시간으로 분석하여 부가 정보를 생성하는 동작으로 인해, 전자 장치 100은 비디오 파일의 후처리를 통해 얻을 수 있는 정보 외에, 부가적으로 후처리를 통해서는 획득할 수 없는 정보도 부가 정보에 포함시킬 수 있다. 다시 말해서, 단순히 편집 영상(하이라이트 비디오)을 생성할 때 생성에 소요되는 시간(즉, 후처리에 사용되는 시간)이 단축되는 효과 외에도, 촬영 중에 발생한 다양한 사용자 입력이나, 촬영 중에 감지되거나 수집된 다양한 정보를 고려하여 상대적으로 높은 품질(well-highlighted)의 비디오 컨텐츠가 생성될 수 있다.
(3) 일 실시 예에서, 프로세서 140은 센서 170을 통해 지정된 조건을 만족하는 데이터가 감지되거나, 혹은 데이터의 변화가 감지되면, 상기 데이터 또는 데이터의 변화의 감지 시점에 대한 정보 및 센서와 연관된 상황 정보를 부가정보에 포함시킬 수 있다. 예를 들어, 자이로 센서 또는 가속도 센서에 의해서 촬영 각도(angle)의 변경이 감지되거나, 또는 촬영 각도가 일정 범위 이상 변경되는 경우(예: portrait mode에서 landscape mode로 변경), 변경이 감지된 시점, 또는 변경이 발생한 시간 구간에 대한 정보 및 자이로 센서에 대한 정보(예: 각도 정보)가 부가 정보에 포함될 수 있다. 이 외에도, 조도 센서와 관련된 정보(예: 조도 값이 임계 값 이상으로 증가하거나 감소), 심박 센서와 관련된 정보(예: 심박수가 임계 값 이상으로 증가하거나, 지정된 범위 내에 위치) 등이 부가 정보에 포함될 수 있다. 열거한 정보들은 예시적인 것이며, 이 외에도 자외선 지수 정보, 외부 온도, 습도 정도 등과 같이 전자 장치 100에서 획득 가능한 모든 센서 정보 또는 인터렉션 정보가 부가 정보에 포함될 수 있다.
이 외에도, 프로세서 140은 촬영 중에 발생하거나 변화하는 전자 장치 100의 상황, 예를 들어, 제1 카메라(예: 후면 카메라)로 대상을 촬영할 때 제2 카메라(예: 전면 카메라)가 활성화상태인지 여부에 대한 정보가 부가 정보에 포함될 수 있다. 추후, 프로세서 140은 상황 정보에 기초한 부가 정보를 이용하여 특정 상황(예: 전자 장치 100의 떨림이 적은 상태, 사용자의 심리 상태(심박수)가 불안정하거나 흥분된 상태)를 중심으로 하이라이트 비디오를 생성할 수 있다.
(4) 일 실시 예에서, 프로세서 140은 촬영 중에 통신 모듈 180을 통해 정보를 수집할 수 있다. 예를 들어, 프로세서 140은 전자 장치 100의 위치에 관한 GPS 좌표 값이나, Wi-Fi로 연결된 AP 정보 등으로부터 전자 장치의 위치(예: 공항, 까페 등)를 확인할 수 있다. 일 실시 예에서, 통신 모듈 180은 다른 사용자 단말과 영상 통화를 연결할 수 있고, 영상 통화에서 획득되는 영상을 이용하거나 영상 통화 중에 획득되는 영상을 이용하여 미디어 컨텐츠를 생성하는 경우, 프로세서 140은 영상 통화 송수신에 대한 정보(예: 영상 통화 시간, 영상 통화 상대방 등)를 획득 할수 있다. 일 실시 예에서, 영상 통화 송수신에 대한 정보는, 영상 통화의 품질 정보, 영상 통화의 송수신 감도(예: 영상 통화 시 RSSI 값의 변화 등)에 대한 정보를 포함할 수 있다. 또한 프로세서 140은 통신 모듈 180을 통해 연결된 외부 전자 장치(예: 웨어러블 장치)로부터 지정된 조건을 만족하는 정보(예: 전술한 (1), (2), 또는 (3)에 해당하는 이벤트 정보)를 획득할 수 있다. 예를 들어, 촬영 중에 전자 장치 100과 BT(Bluetooth) 등으로 연결된 웨어러블 장치로부터 카메라를 제어(예: 동영상 촬영 중 사진 촬영, 줌인/줌아웃, 슬로우모션 촬영 등)하기 위한 신호가 획득될 수 있다. 획득된 정보는 획득 시점에 대한 정보와 함께 부가 정보에 포함될 수 있다. 예를 들어, 프로세서 140은 통신 모듈 180을 통해 연결된(예: coupled to) 웨어러블 장치로부터 일정 값보다 큰 심박수 정보를 획득하면, 획득 시점에 대한 정보와 심박수 정보를 부가 정보에 포함시킬 수 있다.
일 실시 예에서, 프로세서 140은 사용자 피드백 정보에 따라 부가 정보를 생성할 수 있다. 예를 들어, 전자 장치 100이 촬영하고 있는 영상이 네트워크를 통해 실시간 방송되고 있는 경우, 방송을 시청하고 있는 사용자에 의한 피드백이 수집될 수 있다. 프로세서 140은, 예를 들어 사용자 피드백이 일정 수준 이상이 되는 경우에 해당 시점에 대한 정보를 부가 정보에 포함시킬 수 있다. 예를 들어, 시청자에 의해 입력되는 코멘트의 분당 개수가 기준치를 초과하거나, 시청률이 기준치 이상이거나 최대가 되는 지점, 또는 사용자가 좋아요/추천 등의 지정된 피드백을 제공한 경우 그에 대한 정보가 부가 정보에 포함될 수 있다.
(5) 일 실시 예에서, 프로세서 140은 촬영 당시의 전자 장치 100의 내부 정도 또는 외부 정보를 기반으로 중요 대상(예: important person)을 선정하고, 중요 대상과 연관된 영상에 대한 정보를 부가 정보에 포함시킬 수 있다. 이와 같은 부가 정보를 통해, 전자 장치 100은 후에 중요 대상을 중심으로 하이라이트 영상을 생성할 수 있다.
예를 들어, 프로세서 140은 전자 장치 100의 연락처에 포함된 사용자 중, 자주 연락하는 사용자 또는 즐겨찾기에 추가된 사용자에 대한 정보(예: 얼굴 이미지)를 미리 분석할 수 있다. 또는, 프로세서 140은 영상의 촬영 중에 상기 분석을 수행할 수도 있다. 프로세서 140은, 영상에서 상기 중요 대상에 대한 얼굴 인식이 발생하는 경우, 인식된 얼굴이 포함된 영상을 높은 우선 순위와 함께 부가 정보에 포함시킬 수 있다. 일 실시 예에서, 프로세서 140은 촬영 중에는 인식된 대상에 대한 정보만 부가 정보에 포함시키고, 나중에 하이라이트 비디오를 생성할 때 중요 대상에 대한 정보와 부가 정보에 포함된 인식된 대상에 대한 정보를 이용할 수 있다.
이 외에도, 프로세서 140은 캘린더에 저장된 사용자의 일정이나, Facebook이나 메신저 어플리케이션에서 약속을 설정하거나 대화를 수행한 빈도 등에 따라서 중요 대상을 설정할 수 있다.
일 실시 예에 따르면, 중요 대상은 사람 또는 사람의 얼굴에 해당하지 않을 수 있다. 예를 들어, 프로세서 140은 특정 이미지(예: 자동차)를 미리 중요 대상으로 설정할 수 있다. 중요 대상이 설정된 이후에 동영상 촬영이 시작되면, 프로세서 140은 촬영 중에 자동차로 인식되는 객체에 대하여 높은 우선 순위와 함께 부가 정보에 포함시킬 수도 있다.
전술한 실시 예들은, 동영상의 촬영 중에 획득할 수 있는 정보들을 예시적으로 열거한 것이다. 따라서 동영상 촬영 중에 획득할 수 있는 정보는 전술한 예시들로 한정되지 않고 다양한 확장이 가능하다. 또한 전술한 실시 예 중 항목 (1)에서 설명한 실시 예는, 영상 분석 또는 오디오 분석에 의해 획득되는 부가 정보에 해당될 수 있다. 항목 (2)에 대한 실시 예는 촬영 중 발생하는 사용자 인터렉션(사용자 입력)에 대한 부가 정보에 해당할 수 있다. 항목 (3)에 대한 실시 예는 그 외에 전자 장치 100의 사용자 또는 다른 사용자, 또는 전자 장치 100이 아닌 다른 장치에 의해 발생하는 상황 정보에 대한 부가 정보에 해당할 수 있다. 그러나 이러한 분류는 절대적인 것이 아니며, 어떤 분석 정보는 동시에 둘 이상의 항목에 해당될 수 있다.
다시 도 2를 참조하면, 동작 207에서 전자 장치 100은 인코딩 데이터를 생성할 수 있다. 예를 들어, 프로세서 140은 버퍼 130에 저장되는 영상 데이터를 인코딩(encoding)하여 인코딩된 동영상 데이터(예: video data, video stream, video packet 등)를 생성할 수 있다.
일 실시 예에서, 동작 205와 동작 207은 프로세서 140에 의해 실질적으로 동시에(또는 병렬적으로) 수행될 수 있다. 또한, 동작 205와 동작 207은 서로 다른 처리 모듈(예: 동작 205 중 일부(예: 정보 수집)은 CPU에서, 동작 205 중 영상 분석 및 동작 207의 인코딩은 GPU(graphic processing unit)에서 수행될 수 있다.
동작 209에서, 전자 장치 100은 동작 205에서 생성되는 부가 정보와 동작 207에서 생성되는 인코딩 데이터를 이용하여 미디어 컨텐츠, 예를 들어 비디오 파일을 생성할 수 있다. 비디오 파일의 예시적인 파일 구조(file structure)가 도 3에 도시된다.
도 3은 일 실시 예에 따른 예시적인 비디오 파일의 구조를 나타낸다.
도 3을 참조하면, 예시적인 비디오 파일(예: 미디어 컨텐츠)은 헤더(HEADER) 310, 데이터 패킷(DATA PACKETS) 320, 사용자 데이터(USER DATA) 330, 및 기타 파일 포맷에 맞는 적절한 데이터(예: CRC(cyclic redundancy check) 데이터)를 포함할 수 있다. 비디오 파일의 구조는 다양하게 변형이 가능하지만, 일반적으로 비디오 파일을 정의하는 데이터(예: 헤더 310), 비디오 데이터(예: 데이터 패킷 320), 부가 정보(예: 사용자 데이터 330)를 포함할 수 있다. 예를 들어, mp4 파일의 경우, 파일의 호환성을 확인하는 파일 타입 박스(file type box) “ftyp”, 미디어의 모든 메타 데이터를 저장하는 무비 박스(movie box) “moov”, 실제 미디어 데이터를 저장하는 미디어 데이터 박스 “mdat”를 포함할 수 있다. 일 실시 예에서, 부가 정보가 저장되는 사용자 데이터 330은, 종래의 파일 포맷의 메타데이터 영역(예: mp4 파일에서 moov)과 별개의 영역일 수 있다. 예를 들어, 미디어 파일은 각각 미디어 파일의 종류에 따라 지정된 규격이 있기 때문에, 규격으로 정의되지 않고 사용자가 활용할 수 있는 사용자 데이터 영역에 부가 정보가 저장될 수 있다. 다시 말해서, 도 3에 대응될 수 있는 파일 구조를 가지는 미디어 파일의 경우, 사용자 데이터 330에 부가 정보 331이 포함될 수 있다.
부가 정보 331은 태그, 메타데이터, 또는 시스템이나 어플리케이션에서 부가 정보 331을 파싱(parsing)할 수 있도록 정의된 다양한 형태(예: xml 문서 등)로 제공될 수 있다. 예를 들어, 비디오 파일의 생성을 위한 영상 촬영이 진행되는 동안 수집된 정보들이 부가 정보 331에 포함될 수 있다. 부가 정보 331은 각 정보(이벤트)에 대응되는 태그를 가질 수 있고, 각 태그는 동영상의 재생 시점에 해당하는 PTS, 이벤트와 연관된 정보를 포함할 수 있다. 추가적으로 부가 정보 331은 각 이벤트가 발생한 실제 시간에 대한 정보를 포함할 수도 있다. 그러나 일부 실시 예에서, 이벤트가 발생한 실제 시간에 대한 정보는 비디오 파일의 생성 시간(또는 촬영 시간)에 대한 정보로 대체될 수 있다.
도 4는 일 실시 예에 따른 하이라이트 비디오를 생성하기 위한 전자 장치의 개념적인 구성을 나타낸다.
다양한 실시 예에 따른 전자 장치 100은, 메모리 150에 저장된 이미지들(I) 및 비디오들(V)을 이용하여 하이라이트 비디오를 생성할 수 있다. 예를 들어, 정렬 모듈 410은 메모리 150에 저장된 이미지 및 동영상으로부터 메타데이터를 획득하여 지정된 기준에 따라(예: 시간 순서, 중요도 순서 등) 정렬할 수 있다. 선택 모듈 420은 정렬된 메타데이터 중 하이라이트 비디오의 생성에 사용될 메타데이터를 선택할 수 있다. 재생 모듈 430은 선택된 메타 데이터에 기초하여 메모리 150으로 데이터를 쿼리(query)하고, 쿼리된 데이터를 이용하여 하이라이트 비디오를 디스플레이 450에 출력할 수 있다. 저장 모듈 440은 재생된 하이라이트 비디오에 대하여 저장 이벤트가 발생하면, 메모리 150에 하이라이트 비디오를 별도의 비디오 파일로 저장할 수 있다.
일 실시 예에서, 정렬 모듈 410, 선택 모듈 420, 재생 모듈 430, 및 저장 모듈 440은 프로세서 140에 의해 제어되는 소프트웨어 모듈 또는 엔진(engine)일 수 있다. 다시 말해서, 도 4에서 정렬 모듈 410, 선택 모듈 420, 재생 모듈 430, 및 저장 모듈 440에 의해 수행되는 동작은 프로세서 140에 의해 수행되는 동작으로 이해될 수 있다. 다양한 실시 예에 따른 정렬 모듈 410, 선택 모듈 420, 재생 모듈 430, 및 저장 모듈 440은, 소프트웨어, 하드웨어, 펌웨어, 또는 그 조합으로 구성될 수 있다.
이하에서는 도 5를 참조하여, 하이라이트 비디오를 재생 및 저장하는 방법을 설명한다.
도 5는 일 실시 예에 따른 전자 장치가 하이라이트 비디오를 재생 및 저장하는 흐름도를 나타낸다.
동작 501에서, 전자 장치 100은 저장된 컨텐츠(이미지/비디오) 중 하이라이트 비디오를 재생하기 위한 일부 컨텐츠를 선택할 수 있다. 예를 들어, 전자 장치 100의 메모리 150에 저장된 컨텐츠는 복수의 이벤트로 구분되어 있을 수 있다. 다시 말해서, 전자 장치 100의 미디어 보관함(media library)은 복수의 이벤트를 포함하고, 각 이벤트는 복수의 컨텐츠를 포함할 수 있다. 예를 들어, 특정 시간(예: 1개월, 1분기, 1년 등)에 해당하는 이벤트에는 해당 시간에 생성되거나 획득된 컨텐츠(예: 2015년 1월~3월 사이에 생성된 이미지, 동영상)가 포함될 수 있다. 예를 들어, 특정 장소(예: 요세미티(Yosemite) 여행) 이벤트에는 해당 장소에서 촬영된 이미지 또는 동영상이 포함될 수 있다. 복수의 컨텐츠를 포함하는 이벤트는 지정된 설정에 따라 전자 장치 100에 의해 자동적으로(automatically) 구성될 수도 있고, 사용자에 의해 수동으로(manually) 구성될 수도 있다.
일 실시 예에서, 사용자는 특정 이벤트에 대한 하이라이트 비디오 생성/재생을 위해 특정 이벤트를 선택할 수 있다. 그러나 다른 실시 예에서, 사용자는 이벤트와 관계 없이, 메모리 150에 저장된 임의의(희망하는) 이미지 및 비디오를 선택하고, 선택된 컨텐츠에 대한 하이라이트 비디오의 생성을 명령할 수도 있다.
동작 503에서, 전자 장치 100은 선택된 컨텐츠 중 이미지에 대한 후처리(post processing)를 수행할 수 있다. 예를 들어, 프로세서 140은 동작 501에서 선택된 컨텐츠(이벤트)에 이미지가 포함되어 있는 경우, 이미지에 대한 후처리 작업을 통해 메타데이터를 획득할 수 있다. 만약 동작 501에서 선택된 컨텐츠가 비디오만으로 구성된 경우, 이미지에 대한 후처리 동작은 생략될 수 있다.
동작 505에서, 전자 장치 100은 하이라이트 비디오 생성에 사용될 메타데이터를 결정할 수 있다. 예를 들어, 정렬 모듈 410은 비디오의 부가 정보와 동작 503에서 획득된 이미지의 메타데이터를, 생성 시간 순서대로 정렬할 수 있다. 이하의 설명에서 메타데이터는 비디오 파일에서 획득된 부가 정보와 이미지에서 획득된 메타데이터를 포함하는 개념으로 이해될 수 있다.
일 실시 예에서, 메타데이터를 정렬할 때, 복수의 비디오에서 획득된 메타데이터(부가 정보)와 복수의 이미지에서 획득된 메타데이터를 종합하여 시간 순서대로 나열할 수 있다. 여기서 시간이라 함은, 비디오의 경우 비디오의 부가 정보에 포함된 지정된 조건의 발생 시간, 비디오의 촬영 완료 시간, 비디오의 촬영 시작 시간 및 촬영 도중 캡처된 영상의 저장 시간 중 적어도 하나에 해당할 수 있고, 이미지의 경우 이미지의 촬영 시간에 해당할 수 있다. 예를 들어, 전자 장치 100은 동영상 촬영 중에 이미지 촬영을 지원할 수 있다. 이미지는 촬영 시점(또는 이미지 인코딩이 완료된 시점)을 기준으로 시간 정보(예: EXIF 정보)가 생성될 수 있다. 촬영된 동영상은 동영상 촬영이 종료(STOP)된 시점(또는 동영상의 인코딩이 완료된 시점)을 기준으로 시간 정보가 생성될 수 있다. 일 실시 예에서, 상기 촬영된 동영상과, 동영상 촬영 중에 촬영된 이미지를 모두 이용하여 하이라이트 비디오가 생성되는 경우, 이미지의 시간 정보가 동영상의 시간 정보보다 빠르고, 따라서 하이라이트 비디오에서는 촬영된 이미지가 동영상에서 선택된 이미지들보다 먼저 제공될 수 있다. 또한, 다른 실시 예에서, 동영상으로부터 선택된 이미지 중, 상기 동영상 촬영 중에 촬영된 이미지보다 빠른 시간 정보를 가지고 있는 이미지의 경우, 하이라이트 비디오에서 먼저 제공될 수 있다..
메타데이터의 정렬이 완료되면, 선택 모듈 430은 메타데이터 중 하이라이트 비디오에 적용될 메타데이터를 결정할 수 있다. 선택 모듈 430은 각 메타데이터의 가중치에 따라 우선순위를 결정하고, 우선 순위가 높은 순서대로 메타데이터를 선택할 수 있다. 예를 들어, 선택 모듈 430은 비슷한 정보의 장면(scene)이 나오는 부분은 클러스터링(clustering)하고, 클러스터링된 영역 안에 있는 유의미한 정보, 예를 들어 인식된 얼굴의 크기, 얼굴의 개수, 영상의 흔들림 정도(흔들림이 적음)에 대하여 가중치를 부여할 수 있다. 예를 들어, 얼굴 인식이 된 시점의 영상은 얼굴 인식이 없는 시점의 영상보다 높은 우선 순위를 가질 수 있다. 또한, 일정 수준의 조도를 갖는 영상은 너무 밝거나 너무 어두운 영상보다 높은 우선순위를 가질 수 있다. 또한 대상 추적 기능이 적용된 구간의 영상은 다른 구간의 영상보다 높은 우선 순위를 가질 수 있다. 또한 히스토그램이나 SAD의 변화 값이 큰 시점의 영상은 다른 시점의 영상보다 높은 우선 순위를 가질 수 있다. 또한 줌 인 상태로 촬영된 구간의 영상은 줌 아웃 상태로 촬영된 구간의 영상보다 높은 우선 순위를 가질 수 있다. 또한 촬영 중에 높은 심박수가 유지된 구간의 영상은 평범한 심박수가 유지된 구간의 영상보다 높은 우선 순위를 가질 수 있다.
동작 507에서, 전자 장치 100은 결정된 메타데이터에 적용될 테마(theme)나 효과(effect)를 결정할 수 있다. 이 동작은 선택 모듈 420에서 수행될 수도 있고, 재생 모듈 430에 의해 재생 중에 수행될 수도 있다. 예를 들어, 메타데이터가 결정되면, 미리 정의된 테마가 적용되거나, 메타데이터의 정보에 따라 테마가 적용될 수 있다. 예를 들어, 메타데이터에 대응되는 영상 중에 동적인 영상이 많이 있는 경우, 동적인 테마가 적용될 수 있다. 또한 영상이 주로 특정 시점에 촬영된 영상인 경우(예: 크리스마스, 설날, 추석, 부활절, 할로윈 등), 해당 시즌에 맞는 테마가 적용될 수 있다. 또한 영상의 분석 결과, 주로 밝은 분위기의 영상이 많거나 어두운 분위기의 영상이 많은 경우, 그에 따른 테마가 적용될 수 있다. 여기서 테마는 하이라이트 비디오 재생에 적용되는 시각적인 효과 외에도, 청각적인 효과, 예를 들어 배경음악(background music) 등을 포함할 수 있다.
일 실시 예에서, 하이라이트 비디오를 생성하기 위해 선택된 데이터(예: 이미지, 또는 비디오 데이터의 일부 구간)에 대해서, 또는 서로 다른 데이터 사이(예: 이미지에서 다른 이미지로, 이미지에서 비디오로, 비디오에서 비디오로 전환되는 사이)에 대해 효과가 적용될 수 있다. 예를 들어, 화면 전환이나 컨텐츠 표시에 대하여 적절한 효과가 GPU에 의해 적용될 수 있다. 예를 들어, 배경 음악의 비트(beat)에 맞추어 효과가 제공(변경)되거나, 이미지 콜라주(image collage) 효과가 제공되거나, 얼굴 위치(face position)를 기준으로 줌인/줌아웃의 빠른 변환 효과가 제공되거나, 연속 사진에 대한 이미지 효과(예: gif와 같은 효과, 슬로우 모션 효과, 중첩 효과 등)가 제공될 수 있다.
동작 509에서, 전자 장치 100은 결정된 메타데이터 및 결정된 테마/효과 정보에 기초하여 하이라이트 비디오를 재생할 수 있다. 예를 들어, 재생 모듈 430은 메타데이터에 기초하여 메모리 150으로 원본 데이터를 쿼리하고, 메모리 150으로부터 제공되는 데이터를 지정된 테마/효과와 함께 디스플레이 450으로 출력할 수 있다.
예를 들어, 미디어 라이브러리의 EVENT 1에 100개의 컨텐츠가 포함되는 경우, 선택 모듈 420은 5장의 이미지 및 2개의 비디오 파일(에 대응되는 메타데이터)을 선택할 수 있다. 이 경우, 비디오 파일에 포함된 부가 정보 중 일부 PTS에 해당하는 메타데이터가 선택될 수 있다. 예를 들어, 전자 장치는 정렬 모듈 410의 메타데이터 정렬 및 선택모듈 320의 메타데이터 선택을 통해, 제1 비디오 파일은 2초부터 4초까지 재생하고, 제2 비디오 파일은 30초부터 34초까지가 중요하다는 정보를 획득할 수 있다. 이제 하이라이트 비디오가 재생되면, 재생 모듈 430은 EVENT 1 = IMG1.JPG, IMG2.JPG, IMG3.JPG, IMG4.JPG, IMG5.JPG, VIDEO1.MP4(02:00~04:00), VIDEO2(30:00~34:00)의 순서로 메모리 150을 쿼리하여 하이라이트 동영상을 재생할 수 있다. 이와 관련하여, 도 6을 참조하여 재생 순서에 따른 하이라이트 비디오의 구성을 설명한다.
도 6은 일 실시 예에 따른 하이라이트 비디오의 구성을 나타낸다.
일 실시 예에서, 전자 장치 100은 IMG_001.JPG, IMG_009.JPG, VIDEO_01.MP4, VIDEO_02.MP4를 이용하여 하이라이트 비디오를 재생할 수 있다. 다시 말해서, 동작 501 내지 동작 507을 수행하였을 때, 우선 순위가 높게 판단된 메타데이터에 적어도 상기 4개의 파일이 대응될 수 있다.
재생 모듈 430은 2초~4초에 해당하는 구간 610에서, IMG_001을 이용하여 하이라이트 비디오를 재생할 수 있다. 0~2초 구간에도 하이라이트 비디오는 다른 컨텐츠를 이용하여 재생되지만, 설명의 편의를 위해서, 2초~19초 이외의 구간에서의 재생에 대한 설명은 생략한다.
구간 610에서, 재생 모듈 430은 IMG_001 파일을 재생 정보 611에 기초하여 재생할 수 있다. 재생 정보 611은, IMG_001에 해당하는 메타 정보 및 동작 607에서 결정된 테마/효과 정보에 기초하여 생성된 정보일 수 있다. 예를 들어, 재생 모듈 430은 이 파일을 2초간 천천히 페이드-인(FADE-IN) 되는 효과와 함께 출력할 수 있다. 각 구간에서 적용되는 효과는 동작 507에서 결정될 수 있다. 도 6의 실시 예에서는 하나의 구간에 대하여 하나의 효과가 예시되었으나, 하나의 구간에서 복수의 효과가 적용될 수도 있고, 하나의 구간에서 다음 구간으로 진입할 때 구간 진입에 대한 효과가 정의될 수도 있다.
재생 모듈 430은 하이라이트 비디오의 4~10초에 해당되는 구간 620에서 VIDEO_01파일을 재생 정보 621에 기초하여 재생할 수 있다. 예를 들어, 재생 모듈 430은 메모리 150으로 VIDEO_01 파일의 PTS(PTS_V) 3:55~4:01에 해당하는 비디오 데이터를 쿼리하고, 해당 비디오 데이터를 구간 620 동안 재생할 수 있다. 재생 정보 621은, VIDEO 01의 PTS 3:55~4:01에 해당하는 부가 정보 및 동작 607에서 결정된 테마/효과 정보에 기초하여 생성된 정보일 수 있다.
이와 유사한 방식으로, 재생 모듈 430은 구간 630 및 구간 640에 대해서도, 각각 IMG_009 파일과 VIDEO_02 파일을 이용하여 정보 631, 641에 기초하여 하이라이트 비디오를 재생할 수 있다.
또한 일 실시 예에 따르면, 전자 장치 100은 하이라이트 비디오를 재생할 때, 메타 데이터에 기초하여 원본 영상에 대한 정보를 제시(present)할 수 있다. 예를 들어, 전자 장치 100은 하이라이트 비디오 위에 오버레이(overlay) 등의 방식으로 원본 영상에 대한 정보(예: 원본 영상의 파일 이름, 원본 영상에서의 PTS 정보 등)를 출력할 수 있다. 또한 전자 장치 100은 부가 정보에 대한 정보를 제공할 수도 있다. 예를 들어, Zoom In 입력이 발생했다는 정보, 대상 추적(object tracking)이 수행되었다는 정보 등이 하이라이트 비디오 영상 위에 오버레이 또는 팝업, 말풍선 등으로 출력될 수 있다.
도 6의 예시에서는, 원본 데이터가 비디오 파일인 경우, 특정 구간을 재생하는 예시가 제시되었으나, 원본 데이터가 비디오 파일이라 하더라도, 부가 정보에 기초하여 결정된 메타데이터에 따라, 특정 구간 대신 특정 시점에 해당하는 이미지(frame)에 해당하는 데이터가 하이라이트 비디오에 이용될 수 있다.
다시 도 5를 참조하면, 동작 511에서 전자 장치 100(예: 저장 모듈 440)은 저장 이벤트의 발생 여부를 판단할 수 있다. 예를 들어, 사용자로부터 전자 장치 100의 디스플레이 450을 통해 재생 중인, 또는 재생이 완료된 하이라이트 비디오를 재생하라는 입력이 발생하면, 동작 513에서 저장 모듈 440은 메모리 150에 하이라이트 비디오를 저장할 수 있다. 만약에 저장 이벤트가 발생하지 않으면, 프로세스는 하이라이트 비디오 재생 후 종료될 수 있다. 다시 말해서, 저장 이벤트가 발생하지 않는 경우, 하이라이트 비디오는 메모리 150의 저장 공간을 차지하지 않는다. 이 경우에도, 하이라이트 비디오를 생성하기 위해 결정된 메타데이터 정보 및 테마/효과 정보(예: 도 6에서 설명한 재생 정보)는 메모리 150에 저장될 수 있다. 그러나 재생 모듈 430에 의해 재생될 때 하이라이트 비디오는 특정 메모리(예: RAM)에 할당된 일부 공간을 일시적으로 차지할 뿐 전자 장치 100의 저장 공간을 점유하지 않기 때문에, 전자 장치 100의 시스템 자원의 사용 효율을 향상시킬 수 있다.
도 6에 도시된 실시 예에 따르면, 하이라이트 비디오는 결정된 동작 505에서 결정된 메타 데이터를 이용하여 생성될 수 있다. 다시 말해서, 하이라이트 비디오의 모든 구간은 각각의 구간에 대응되는 메타 데이터를 포함할 수 있다. 그러나 다른 일 실시 예에서, 예를 들어 하이라이트 비디오 생성에 필요한 메타데이터가 충분하지 않거나, 또는 하이라이트 비디오 중 일부 구간은 메타데이터와 무관하게 랜덤한 영상으로 채워지도록 설정된 경우, 하이라이트 비디오의 일부 구간은 대응되는 메타 데이터를 포함하지 않을 수 있다. 예를 들어, 전술한 미디어 보관함에 포함된 복수의 이벤트 중, 하이라이트 비디오를 생성하려는 이벤트에 적은 수의 컨텐츠가 포함된 경우(예: 동영상 1개, 이미지 2개 등), 전자 장치 100은 도 5의 프로세스에 따라 메타 데이터를 결정하고, 추가적으로 랜덤하게 또는 지정된 기준(예: 비디오 파일에서 I-frame에 해당하는 이미지를 추출)에 따라 비디오를 생성할 수 있다.
하이라이트 비디오에 포함될 메타 데이터는 우선 순위에 따라 결정되기 때문에, 위 실시 예에서 메타 데이터 없이 하이라이트 비디오에 포함된 영상(비디오 구간)은 상대적으로 낮은 중요도를 가지는 것으로 판단될 수 있다. 따라서 동작 509에서 하이라이트 비디오를 재생할 때, 전자 장치 100은 메타 데이터를 갖는 재생 구간과 메타 데이터를 갖지 않는 재생 구간의 재생 조건을 다르게 설정할 수 있다. 예를 들어, 전자 장치 100은 메타 데이터가 없는 구간은 메타 데이터가 있는 구간에 비해서 빠르게 재생할 수 있다. 또한 전자 장치 100은 메타 데이터가 없는 구간에 대하여 손실 압축을 적용하는 것과 같은 영상 처리를 이용하여 상대적으로 화질을 낮게 설정하고, 이에 따라 하이라이트 비디오의 용량을 감소시킬 수 있다.
도 7은 일 실시 예에 따른 하이라이트 비디오의 재생 및 저장의 UI를 나타낸다.
도 7에서, 화면 710은 복수의 이벤트를 포함하는 미디어 라이브러리 화면에 해당할 수 있다. 예를 들어, 2015년 6월 13일~18일 동안 촬영된 이미지/동영상에 대한 이벤트, 2015년 4월 21일의 LA 주말 여행에서 촬영된 이미지/동영상에 대한 이벤트 711 등이 미디어 라이브러리에 포함될 수 있다.
이제 이벤트 711에 대하여 하이라이트 비디오를 재생하는 입력(예: 터치 입력, 음성 입력, 또는 호버링 입력 등)이 발생하면, 전자 장치는 도 5의 동작 501 내지 동작 509를 수행할 수 있다. 여기서, 동작 501에서 선택되는 컨텐츠는 이벤트 711에 해당하는 이미지/동영상일 수 있다.
즉, 일 실시 예에 따르면, 전자 장치 100은 하이라이트 비디오를 미리 생성하여 메모리에 저장하는 것이 아니라, 하이라이트 비디오의 재생 시점에 결정된 메타데이터에 기초하여 메모리 150에 저장된 이미지 및 동영상 데이터 중에서 하이라이트 비디오에 대응되는 데이터를 획득하여 즉각적인 재생을 수행할 수 있다. 특히, 상대적으로 용량이 큰 비디오 데이터에 대한 부가 정보가 촬영 당시에 미리 생성되어 있기 때문에, 전자 장치 100은 비디오 데이터에 대한 분석 시간 없이, 사용자 경험을 방해하지 않는 시간 내에 하이라이트 비디오를 즉각적으로 재생할 수 있다.
동작 509에서 재생되는 하이라이트 비디오의 재생 화면 720이 디스플레이 450에 출력될 수 있다. 재생 화면 720은 이벤트 목록으로 복귀하는 메뉴, 공유 메뉴, 추출(export) 메뉴 721 등과 같은 재생 화면/하이라이트 비디오에 대한 제어 메뉴들을 포함할 수 있다. 여기서 추출 메뉴 721에 대한 선택은 저장 이벤트의 발생으로 이해될 수 있다. 즉, 추출 메뉴 721이 선택되면, 전자 장치 100은 현재 재생 중인 하이라이트 비디오를 비디오 파일로 생성할 수 있다. 이 경우, 생성된 비디오 파일 역시 하이라이트 비디오를 생성하는데 사용된 메타데이터 정보를 부가 정보로 포함할 수 있다.
도 8은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 8을 참조하면, 다양한 실시 예에서의 전자 장치 801, 802, 804 또는 서버 806이 네트워크 862 또는 근거리 통신 864를 통하여 서로 연결될 수 있다. 전자 장치 801은 버스 810, 프로세서 820, 메모리 830, 입출력 인터페이스 850, 디스플레이 860, 및 통신 인터페이스 870을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 801은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 810은, 예를 들면, 구성요소들 810-870을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서 820은, 중앙처리장치(Central Processing Unit (CPU)), 어플리케이션 프로세서(Application Processor (AP)), 또는 커뮤니케이션 프로세서(Communication Processor (CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 820은, 예를 들면, 전자 장치 801의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리 830은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 830은, 예를 들면, 전자 장치 801의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리 830은 소프트웨어 및/또는 프로그램 840을 저장할 수 있다. 프로그램 840은, 예를 들면, 커널 841, 미들웨어 843, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface (API)) 845, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 847 등을 포함할 수 있다. 커널 841, 미들웨어 843, 또는 API 845의 적어도 일부는, 운영 시스템(Operating System (OS))으로 지칭될 수 있다.
커널 841은, 예를 들면, 다른 프로그램들(예: 미들웨어 843, API 845, 또는 어플리케이션 프로그램 847)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 810, 프로세서 820, 또는 메모리 830 등)을 제어 또는 관리할 수 있다. 또한, 커널 841은 미들웨어 843, API 845, 또는 어플리케이션 프로그램 847에서 전자 장치 801의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어 843은, 예를 들면, API 845 또는 어플리케이션 프로그램 847이 커널 841과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어 843은 어플리케이션 프로그램 847로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어 843은 어플리케이션 프로그램 847 중 적어도 하나에 전자 장치 801의 시스템 리소스(예: 버스 810, 프로세서 820, 또는 메모리 830 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어 843은 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API 845는, 예를 들면, 어플리케이션 847이 커널 841 또는 미들웨어 843에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
입출력 인터페이스 850은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 801의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 850은 전자 장치 801의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이 860은, 예를 들면, 액정 디스플레이(Liquid Crystal Display (LCD)), 발광 다이오드(Light-Emitting Diode (LED)) 디스플레이, 유기 발광 다이오드(Organic LED (OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이 860은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이 860은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스 870은, 예를 들면, 전자 장치 801과 외부 장치(예: 제1 외부 전자 장치 802, 제2 외부 전자 장치 804, 또는 서버 806) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스 870은 무선 통신 또는 유선 통신을 통해서 네트워크 862에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 804 또는 서버 806)와 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE(Long-Term Evolution), LTE-A(LTE-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), UMTS(Universal Mobile Telecommunications System), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신 864를 포함할 수 있다. 근거리 통신 864는, 예를 들면, Wi-Fi(Wireless Fidelity), Bluetooth, NFC(Near Field Communication), MST(magnetic stripe transmission), 또는 GNSS 중 적어도 하나를 포함할 수 있다.
MST는 전자기 신호를 이용하여 전송 데이터에 따라 펄스를 생성하고, 상기 펄스는 자기장 신호를 발생시킬 수 있다. 전자 장치 801은 상기 자기장 신호를 POS(point of sales)에 전송하고, POS는 MST 리더(MST reader)를 이용하여 상기 자기장 신호는 검출하고, 검출된 자기장 신호를 전기 신호로 변환함으로써 상기 데이터를 복원할 수 있다.
GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo(the European global satellite-based navigation system) 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 932), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크 862는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
제1 및 제2 외부 전자 장치 802, 804 각각은 전자 장치 801과 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 서버 806은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치 801에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 802, 804, 또는 서버 806)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치 801이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 801은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 802, 804, 또는 서버 806)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 802, 804, 또는 서버 806)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 801로 전달할 수 있다. 전자 장치 801은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 8, 또는 후술하는 도 9를 참조하여 예시된 전자 장치는, 본 문서에서 개시하고 있는 다양한 실시 예를 수행할 수 있다. 예를 들어, 전자 장치 801은 적어도 하나의 영상을 획득하기 위한 촬영 모듈(예: 도 9의 카메라 모듈 991), 및 프로세서 820을 포함할 수 있다. 프로세서 810은 상기 적어도 하나의 영상의 상기 획득과 연관된 부가 정보를 획득하고 상기 부가 정보 중의 적어도 일부를 상기 적어도 하나의 영상과 연관하여 저장할 수 있다. 예를 들어, 프로세서 820은 전자 장치 801의 사용자 또는 다른 사용자에 대응하는 상황 정보, 획득된 영상의 분석 정보, 영상의 획득 중에 발생한 사용자 인터랙션 정보 중 적어도 하나의 정보를 부가 정보로서 메모리 830에 저장할 수 있다.
일 실시 예에 따르면, 프로세서 820은, 상기 적어도 하나의 영상에 대한 요청을 수신하고, 상기 요청에 반응하여 상기 적어도 일부 상황 정보에 기반하여 상기 적어도 하나의 영상 또는 그에 대한(thereof) 하이라이트 (비디오)를 제공(present)할 수 있다. 또한 프로세서 820은 하이라이트에 적용할 테마를 결정하고, 상기 테마 및 상기 적어도 하나의 상황 정보에 기반하여 상기 하이라이트를 제공할 수 있다.
일 실시 예에 따르면, 프로세서 820은 상기 적어도 하나의 영상과 관련된 재생 조건을 달리하여 재생할 수 있다.
일 실시 예에 따르면, 프로세서는 820은 적어도 하나의 영상의 상기 획득과 연관된, 상기 전자 장치 또는 상기 전자 장치와 기능적으로 연결된 외부 전자 장치에 대한 상기 사용자 또는 상기 다른 사용자의 제스처, 음성, 또는 표정을 상기 상황 정보의 적어도 일부로 획득할 수 있다. 예를 들어, 전자 장치 801은 둘 이상의 카메라(예: 전면 카메라 및 후면 카메라)를 탑재할 수 있고, 전면 카메라와 후면 카메라는 동시에 활성화 될 수 있다. 예를 들어, 전자 장치 801은 후면 카메라로 대상을 촬영하면서 전면 카메라로는 전자 장치 801의 사용자 혹은 사용자의 주변 인물에 대한 영상 정보를 동시에 획득할 수 있다. 전자 장치 801은 후면 카메라로 촬영된 영상을 이용하여 비디오 파일을 생성할 때, 전면 카메라에서 획득된 제스처나 표정 등에 기초하여 상황 정보를 생성할 수 있다. 예를 들어, 전면 카메라에 포착된 사용자가 갑자기 웃는 것과 같은 표정 변화 등이 상황 정보로서 이용될 수 있다. 전자 장치 801은 (별도의) 카메라나 음성을 획득하기 위한 마이크 외에도, 전자 장치 801과 전기적으로 또는 기능적으로 연결된 적절한 센서를 이용하여 제스처, 음성, 표정 등 전자 장치 801의 사용자 또는 다른 사용자의 상황에 연관된 정보를 획득할 수 있다.
일 실시 예에 따르면, 프로세서 820은 상기 적어도 하나의 영상이 획득된 시점 또는 상기 적어도 하나의 영상의 이미지 속성 또는 상기 적어도 하나의 영상에서 인식되는 얼굴에 대응하는 정보를 상기 상황 정보의 적어도 일부로 획득할 수 있다.
일 실시 예에 따르면, 전자 장치 801은 상기 상황 정보의 적어도 일부를 외부 전자 장치로부터 수신하기 위한 통신 모듈을 더 포함할 수 있다.
일 실시 예에 따르면, 프로세서 820은 상기 적어도 하나의 영상과 관련된 다른 영상에 대응하는 정보를 상기 상황 정보의 적어도 일부로 획득할 수 있다. 또한 프로세서 820은 상기 다른 영상을 이용하여, 상기 적어도 하나의 영상 또는 그에 대한 하이라이트를 생성 및/또는 재생할 수 있다.
일 실시 예에 따르면, 프로세서 820은 지정된 이벤트의 발생에 반응하여 상기 적어도 하나의 영상에 대한 하이라이트 영상을 생성할 수 있다. 지정된 이벤트는 사용자 입력에 따른 하이라이트 영상 생성 요청일 수도 있고, 전자 장치 801에서 설정된 조건(예: 특정 시간)에 따라 자동적으로(내부적으로) 발생하는 생성 요청일 수도 있다.
일 실시 예에 따른 전자 장치 801은, 상기 전자 장치와 기능적으로 연결된 카메라 모듈을 통해 적어도 하나의 영상(images)을 획득하는 동작, 상기 적어도 하나의 영상의 상기 획득과 연관되어, 상기 적어도 하나의 영상의 상기 획득과 연관된 부가 정보를 획득하는 동작, 및 상기 부가 정보 중 적어도 일부를 상기 적어도 하나의 영상과 연관하여 저장하는 동작을 포함하는 방법을 수행할 수 있다.
또한, 상기 방법은 상기 적어도 하나의 영상에 대한 요청을 수신하는 동작, 및 상기 요청에 반응하여, 상기 적어도 일부 상황 정보에 기반하여 상기 적어도 하나의 영상 또는 그에 대한 하이라이트를 제공(present)하는 동작을 더 포함할 수 있다.
또한 일 실시 예에 따르면, 상기 상황 정보를 획득하는 동작은, 상기 적어도 하나의 영상의 상기 획득과 연관된, 상기 전자 장치 또는 상기 전자 장치와 기능적으로 연결된 외부 전자 장치에 대한 상기 사용자 또는 상기 다른 사용자의 제스처, 음성, 또는 표정을 상기 상황 정보의 적어도 일부로 획득하는 동작, 또는 상기 상황 정보의 적어도 일부를 외부 전자 장치로부터 획득하는 동작 중 적어도 하나를 포함할 수 있다.
이 외에도, 본 문서에 개시된 다양한 방법들은 컴퓨터 판독 가능한 명령어를 저장하고 있는 저장 매체에 적어도 하나의 명령어로 저장될 수 있다. 상기 명령어는 전자 장치에 의해 실행될 때 상기 전자 장치로 상기 방법들 중 하나 이상의 동작을 수행하도록 할 수 있다.
도 9는 다양한 실시 예에 따른 전자 장치 901의 블록도 900을 나타낸다.
도 9를 참조하면, 전자 장치 901은, 예를 들면, 도 8에 도시된 전자 장치 801의 전체 또는 일부를 포함할 수 있다. 전자 장치 901은 하나 이상의 프로세서(예: AP) 910, 통신 모듈 920, 가입자 식별 모듈 924, 메모리 930, 센서 모듈 940, 입력 장치 950, 디스플레이 960, 인터페이스 970, 오디오 모듈 980, 카메라 모듈 991, 전력 관리 모듈 995, 배터리 996, 인디케이터 997, 및 모터 998을 포함할 수 있다.
프로세서 910은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서 910에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서 910은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 프로세서 910은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서 910은 도 9에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 921)를 포함할 수도 있다. 프로세서 910은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈 920은, 도 8의 통신 인터페이스 870과 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈 920은, 예를 들면, 셀룰러 모듈 921, Wi-Fi 모듈 922, 블루투스 모듈 923, GNSS 모듈 924(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈 925, MST 모듈 926, 및 RF(radio frequency) 모듈 927을 포함할 수 있다.
셀룰러 모듈 921은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 921은 가입자 식별 모듈(예: SIM 카드) 929를 이용하여 통신 네트워크 내에서 전자 장치 901의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 921은 프로세서 910이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 921은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
Wi-Fi 모듈 922, 블루투스 모듈 923, GNSS 모듈 924, NFC 모듈 925, 또는 MST 모듈 926 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 921, Wi-Fi 모듈 922, 블루투스 모듈 923, GNSS 모듈 924, NFC 모듈 925, 또는 MST 모듈 926 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈 927은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈 927은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 921, Wi-Fi 모듈 922, 블루투스 모듈 923, GNSS 모듈 924, NFC 모듈 925, MST 모듈 926 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈 929는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
메모리 930(예: 메모리 830)는, 예를 들면, 내장 메모리 932 또는 외장 메모리 934를 포함할 수 있다. 내장 메모리 932는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: 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) 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
외장 메모리 934는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(MultiMediaCard), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리 934는 다양한 인터페이스를 통하여 전자 장치 901과 기능적으로 및/또는 물리적으로 연결될 수 있다.
보안 모듈 936은 메모리 930보다 상대적으로 보안 레벨이 높은 저장 공간을 포함하는 모듈로써, 안전한 데이터 저장 및 보호된 실행 환경을 보장해주는 회로일 수 있다. 보안 모듈 936은 별도의 회로로 구현될 수 있으며, 별도의 프로세서를 포함할 수 있다. 보안 모듈 936은, 예를 들면, 탈착 가능한 스마트 칩, SD(secure digital) 카드 내에 존재하거나, 또는 전자 장치 901의 고정 칩 내에 내장된 내장형 보안 요소(embedded secure element(eSE))를 포함할 수 있다. 또한, 보안 모듈 936은 전자 장치(201)의 운영 체제(OS)와 다른 운영 체제로 구동될 수 있다. 예를 들면, 보안 모듈 936은 JCOP(java card open platform) 운영 체제를 기반으로 동작할 수 있다.
센서 모듈 940은, 예를 들면, 물리량을 계측하거나 전자 장치 901의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈 940은, 예를 들면, 제스처 센서 940A, 자이로 센서 940B, 기압 센서 940C, 마그네틱 센서 940D, 가속도 센서 940E, 그립 센서 940F, 근접 센서 940G, 컬러 센서 940H(예: RGB 센서), 생체 센서 940I, 온/습도 센서 940J, 조도 센서 940K, 또는 UV(ultra violet) 센서 940M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈 940은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈 940은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 901은 프로세서 910의 일부로서 또는 별도로, 센서 모듈 940을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서 910이 슬립(sleep) 상태에 있는 동안, 센서 모듈 940을 제어할 수 있다.
입력 장치 950은, 예를 들면, 터치 패널(touch panel) 952, (디지털) 펜 센서(pen sensor) 954, 키(key) 956, 또는 초음파(ultrasonic) 입력 장치 958을 포함할 수 있다. 터치 패널 952는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널 952는 제어 회로를 더 포함할 수도 있다. 터치 패널 952는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서 954는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 키 956은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치 958은 마이크(예: 마이크 988)를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이 960(예: 디스플레이 860)은 패널 962, 홀로그램 장치 964, 또는 프로젝터 966을 포함할 수 있다. 패널 962는, 도 8의 디스플레이 860과 동일 또는 유사한 구성을 포함할 수 있다. 패널 962는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널 962는 터치 패널 952와 하나의 모듈로 구성될 수도 있다. 홀로그램 장치 964는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터 966은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치 901의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이 960은 상기 패널 962, 상기 홀로그램 장치 964, 또는 프로젝터 966를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스 970은, 예를 들면, HDMI 972, USB 974, 광 인터페이스(optical interface) 976, 또는 D-sub(D-subminiature) 978을 포함할 수 있다. 인터페이스 970은, 예를 들면, 도 8에 도시된 통신 인터페이스 870에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스 970은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈 980은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈 980의 적어도 일부 구성요소는, 예를 들면, 도 8에 도시된 입출력 인터페이스 850에 포함될 수 있다. 오디오 모듈 980은, 예를 들면, 스피커 982, 리시버 984, 이어폰 986, 또는 마이크 988 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈 991은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
전력 관리 모듈 995는, 예를 들면, 전자 장치 901의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈 995는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리 996의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리 996은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터 997은 전자 장치 901 혹은 그 일부(예: 프로세서 910)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 998은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치 901은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(Digital Multimedia Broadcasting), DVB(Digital Video Broadcasting), 또는 미디어플로(MediaFLOTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 10은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
한 실시 예에 따르면, 프로그램 모듈 1010(예: 프로그램 840)은 전자 장치(예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제(OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 847)을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 1010은 커널 1020, 미들웨어 1030, API 1060, 및/또는 어플리케이션 1070을 포함할 수 있다. 프로그램 모듈 1010의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치 102, 104, 서버 106 등)로부터 다운로드 가능하다.
커널 1020(예: 커널 841)은, 예를 들면, 시스템 리소스 매니저 1021 또는 디바이스 드라이버 1023를 포함할 수 있다. 시스템 리소스 매니저 1021은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저 1021은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버 1023은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어 1030은, 예를 들면, 어플리케이션 1070이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션 1070이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API 1060을 통해 다양한 기능들을 어플리케이션 1070으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어 1030(예: 미들웨어 843)은 런타임 라이브러리 1035, 어플리케이션 매니저(application manager) 1041, 윈도우 매니저(window manager) 1042, 멀티미디어 매니저(multimedia manager) 1043, 리소스 매니저(resource manager) 1044, 파워 매니저(power manager) 1045, 데이터베이스 매니저(database manager) 1046, 패키지 매니저(package manager) 1047, 연결 매니저(connectivity manager) 1048, 통지 매니저(notification manager) 1049, 위치 매니저(location manager) 1050, 그래픽 매니저(graphic manager) 1051, 보안 매니저(security manager) 1052, 또는 결제 매니저 1054 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 1035는, 예를 들면, 어플리케이션 1070이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리 1035는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저 1041은, 예를 들면, 어플리케이션 1070 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저 1042는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 1043은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저 1044는 어플리케이션 1070 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저 1045는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저 1046은 어플리케이션 1070 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저 1047은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저 1048은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저 1049는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저 1050은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저 1051은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저 1052는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 101)가 전화 기능을 포함한 경우, 미들웨어 1030은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어 1030은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어 1030은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어 1030은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API 1060(예: API 845)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션 1070(예: 어플리케이션 프로그램 847)은, 예를 들면, 홈 1071, 다이얼러 1072, SMS/MMS 1073, IM(instant message) 1074, 브라우저 1075, 카메라 1076, 알람 1077, 컨택트 1078, 음성 다이얼 1079, 이메일 1080, 달력 1081, 미디어 플레이어 1082, 앨범 1083, 또는 시계 1084, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션 1070은 전자 장치(예: 전자 장치 101)와 외부 전자 장치(예: 전자 장치 102, 104) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 102, 104)로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 102, 104)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션 1070은 외부 전자 장치(예: 전자 장치 102, 104)의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 1070은 외부 전자 장치(예: 서버 106 또는 전자 장치 102, 104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 1070은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 1010의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 프로그램 모듈 1010의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈 1010의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서 910)에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈 1010의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 820)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 830이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
Claims (20)
- 전자 장치에 있어서,
메모리,
촬영 모듈, 및
프로세서를 포함하며,
상기 프로세서는:
이미지들을 획득하도록 상기 촬영 모듈을 제어하고,
상기 이미지들을 획득하는 동안 상기 이미지들에 대한 이미지 분석에 기반하여 부가 정보(additional information)를 생성하며,
상기 이미지들을 비디오 데이터로 인코딩하고, 상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 상기 메모리에 저장하며,
상기 프로세서는, 상기 이미지들에 대한 상기 이미지 분석에 의해 획득 가능한 특정 파라미터 값의 변화가 지정된 임계 값보다 큼에 따라 상기 변화의 발생 시간 및 상기 변화에 대한 정보를 상기 부가 정보에 더 포함시키며, 상기 이미지들 중 적어도 하나의 이미지에 대한 히스토그램 분석 또는 SAD(Sum of Absolute Difference) 분석 중 적어도 하나를 기반으로 상기 특정 파라미터 값을 획득하도록 구성되는, 전자 장치. - 청구항 1에 있어서,
상기 프로세서는, 상기 이미지 분석에 기초하여 상기 이미지들의 획득 시점 및 상기 이미지들의 이미지 데이터로부터 획득가능한 적어도 하나의 파라미터 값을 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 삭제
- 청구항 2에 있어서,
상기 프로세서는, 이미지에서 얼굴을 감지하고, 상기 이미지의 획득 시점 및 상기 감지된 얼굴에 대한 정보를 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 청구항 1에 있어서,
상기 프로세서는 사용자 인풋이이 발생한 시점 및 상기 사용자 인풋에 대한 정보를 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 청구항 5에 있어서,
상기 프로세서는 터치 입력 또는 호버링 입력이 발생함에 따라, 상기 터치 입력 또는 상기 호버링 입력의 발생 시점 및 상기 터치 입력 또는 상기 상기 호버링 입력에 대한 정보를 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 청구항 5에 있어서,
상기 프로세서는 줌 인(zoom-in) 또는 줌 아웃(zoom-out) 입력이 발생함에 따라, 상기 줌 인 또는 상기 줌 아웃 입력의 발생 시점 및 상기 줌 인 또는 상기 상기 줌 아웃 입력에 대한 정보를 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 청구항 1에 있어서,
상기 전자 장치는 센서를 더 포함하며,
상기 프로세서는, 상기 센서를 통하여 지정된 조건을 만족하는 데이터 또는 상기 데이터의 변화가 감지되면, 상기 변화 감지의 시점 및 상기 센서와 연관된 정보를 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 청구항 1에 있어서,
상기 전자 장치는 통신 모듈을 더 포함하고,
상기 프로세서는, 상기 통신 모듈을 통해 지정된 조건을 만족하는 정보가 수신됨에 따라, 상기 수신의 시점에 획득된 이미지에 대하여 상기 이미지의 획득 시점 및 상기 수신된 정보에 대한 정보를 상기 부가 정보에 더 포함시키도록 구성되는, 전자 장치. - 청구항 9에 있어서,
상기 전자 장치는 상기 통신 모듈을 통해 외부 전자 장치와 연결되고,
상기 지정된 조건을 만족하는 정보는 상기 외부 전자 장치에 구비된 센서에서 감지된 데이터에 대한 정보를 포함하는, 전자 장치. - 청구항 1에 있어서,
상기 메모리는 상기 비디오 파일을 포함하는 복수의 컨텐츠 파일들을 저장하고,
상기 프로세서는 적어도 상기 비디오 파일의 상기 부가 정보 및 상기 복수의 컨텐츠 파일들에 기초하여 하이라이트 비디오를 생성하도록 구성되는, 전자 장치. - 청구항 11에 있어서,
상기 복수의 컨텐츠 파일들을 하나의 이미지 파일을 포함하고,
상기 프로세서는 상기 이미지 파일에 대한 후처리(post processing)을 통해 상기 이미지 파일의 메타데이터를 획득하고, 상기 획득된 메타데이터에 더 기초하여 상기 하이라이트 비디오를 생성하도록 구성되는, 전자 장치. - 청구항 11에 있어서,
상기 프로세서는 상기 하이라이트 비디오에 적용할 테마를 결정하고, 상기 테마 및 상기 부가 정보에 기초하여 상기 하이라이트 비디오를 생성하도록 구성되는, 전자 장치. - 청구항 11에 있어서,
상기 프로세서는, 상기 하이라이트 비디오를 재생할 때, 상기 메모리로부터 상기 복수의 컨텐츠 파일들 중 상기 하이라이트 비디오에 대응되는 데이터를 획득하도록 구성되는, 전자 장치. - 청구항 11에 있어서,
상기 프로세서는 상기 하이라이트 비디오에 대한 저장 이벤트가 발생함에 따라, 상기 하이라이트 비디오를 상기 메모리에 저장하도록 설정되는, 전자 장치. - 전자 장치의 비디오 컨텐츠 생성 방법에 있어서,
이미지들을 획득하도록 상기 전자 장치의 촬영 모듈을 제어하고,
상기 이미지들을 획득하는 동안,상기 이미지들 중 적어도 하나의 이미지에 대한 히스토그램 분석 또는 SAD(Sum of Absolute Difference) 분석 중 적어도 하나를 기반으로 특정 파라미터 값을 획득하며,
상기 이미지들을 획득하는 동안, 상기 이미지들에 대한 이미지 분석에 의해 획득한 상기 특정 파라미터 값의 변화가 지정된 임계 값보다 큼에 따라 상기 변화의 발생 시간 및 상기 변화에 대한 정보를 포함하는 부가 정보를 생성하고,
상기 이미지들을 비디오 데이터로 인코딩하며,
상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 메모리에 저장하는, 방법. - 청구항 16에 있어서,
상기 부가 정보 및 상기 비디오 파일을 포함하는 복수의 컨텐츠 파일들에 기초하여 하이라이트 비디오를 생성하는, 방법. - 청구항 17에 있어서,
상기 하이라이트 비디오를 생성하는 동작은, 상기 하이라이트 비디오에 적용할 테마 또는 효과를 결정하는 동작을 포함하는, 방법. - 청구항 18에 있어서,
상기 하이라이트 비디오를 상기 메모리에 저장하는 동작을 더 포함하는, 방법. - 컴퓨터 판독 가능한 명령어를 저장하고 있는 저장 매체에 있어서, 상기 명령어는 전자 장치에 의해 실행될 때 상기 전자 장치로 하여금,
이미지들을 획득하도록 상기 전자 장치의 촬영 모듈을 제어하고,
상기 이미지들을 획득하는 동안, 상기 이미지들 중 적어도 하나의 이미지에 대한 히스토그램 분석 또는 SAD(Sum of Absolute Difference) 분석 중 적어도 하나를 기반으로 특정 파라미터 값을 획득하며,
상기 이미지들을 획득하는 동안, 상기 이미지들에 대한 이미지 분석에 의해 획득한 상기 특정 파라미터 값의 변화가 지정된 임계 값보다 큼에 따라 상기 변화의 발생 시간 및 상기 변화에 대한 정보를 포함하는 부가 정보를 생성하고,
상기 이미지들을 비디오 데이터로 인코딩하며,
상기 비디오 데이터와 상기 부가 정보를 포함하는 비디오 파일을 메모리에 저장하도록 하는, 저장 매체.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150114119A KR102376700B1 (ko) | 2015-08-12 | 2015-08-12 | 비디오 컨텐츠 생성 방법 및 그 장치 |
PCT/KR2016/006666 WO2017026644A1 (en) | 2015-08-12 | 2016-06-23 | Method and device for generating video content |
CN201680045741.9A CN107925799B (zh) | 2015-08-12 | 2016-06-23 | 用于生成视频内容的方法和设备 |
US15/234,696 US10708650B2 (en) | 2015-08-12 | 2016-08-11 | Method and device for generating video content |
EP16184079.8A EP3131302B1 (en) | 2015-08-12 | 2016-08-12 | Method and device for generating video content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150114119A KR102376700B1 (ko) | 2015-08-12 | 2015-08-12 | 비디오 컨텐츠 생성 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170019809A KR20170019809A (ko) | 2017-02-22 |
KR102376700B1 true KR102376700B1 (ko) | 2022-03-22 |
Family
ID=56893684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150114119A KR102376700B1 (ko) | 2015-08-12 | 2015-08-12 | 비디오 컨텐츠 생성 방법 및 그 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10708650B2 (ko) |
EP (1) | EP3131302B1 (ko) |
KR (1) | KR102376700B1 (ko) |
CN (1) | CN107925799B (ko) |
WO (1) | WO2017026644A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830727B2 (en) * | 2015-07-30 | 2017-11-28 | Google Inc. | Personalizing image capture |
CN107808130A (zh) * | 2017-10-19 | 2018-03-16 | 维沃移动通信有限公司 | 一种视频检测方法及装置、移动终端 |
US20190180484A1 (en) * | 2017-12-11 | 2019-06-13 | Capital One Services, Llc | Systems and methods for digital content delivery over a network |
KR102557384B1 (ko) * | 2018-02-14 | 2023-07-19 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
KR102539947B1 (ko) * | 2018-07-03 | 2023-06-07 | 삼성전자주식회사 | 사용자를 인식하는 전자 장치 및 그 전자 장치를 제어하는 방법 |
JP7278051B2 (ja) * | 2018-10-10 | 2023-05-19 | 三菱電機株式会社 | 撮像装置およびデータ保存方法 |
JP7401968B2 (ja) * | 2018-12-07 | 2023-12-20 | ルネサスエレクトロニクス株式会社 | 撮影制御装置、撮影システム及び撮影制御方法 |
WO2022120420A1 (en) * | 2020-12-09 | 2022-06-16 | CrowdClip IP Pty Ltd | A system and a method for generating and distributing multimedia content |
CN115767245A (zh) * | 2021-08-30 | 2023-03-07 | 瑞昱半导体股份有限公司 | 视频处理系统以及方法 |
JP2024049937A (ja) * | 2022-09-29 | 2024-04-10 | キヤノン株式会社 | 撮像装置及びその制御方法及びプログラム、並びに、システム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110293245A1 (en) | 2010-05-26 | 2011-12-01 | Canon Kabushiki Kaisha | Reproduction apparatus |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS622711A (ja) | 1985-06-28 | 1987-01-08 | Toshiba Corp | インピ−ダンス変換回路 |
US6591060B1 (en) * | 1998-12-23 | 2003-07-08 | Xerox Corporation | Methods and systems for encoding command signals in a video signal with a video recorder |
US6493042B1 (en) * | 1999-03-18 | 2002-12-10 | Xerox Corporation | Feature based hierarchical video segmentation |
JP3622711B2 (ja) * | 2001-09-04 | 2005-02-23 | 日本電信電話株式会社 | 映像コンテンツ視聴者情報提供システム及び方法と、視聴者情報提供装置、プログラム及びプログラムの記録媒体 |
US7526433B2 (en) * | 2001-09-04 | 2009-04-28 | Panasonic Coporation | Virtual content distribution system |
KR100436828B1 (ko) | 2001-10-09 | 2004-06-23 | 한국방송공사 | 주문형 동영상 요약 서비스 시스템 |
US8702504B1 (en) * | 2001-11-05 | 2014-04-22 | Rovi Technologies Corporation | Fantasy sports contest highlight segments systems and methods |
JP2004007342A (ja) * | 2002-03-29 | 2004-01-08 | Fujitsu Ltd | ダイジェスト自動生成方法 |
KR100453517B1 (ko) | 2002-05-31 | 2004-10-20 | 주식회사 이노티브 | 인터넷을 통한 대용량 고품질 디지털 이미지의 실시간서비스 방법 |
KR100630203B1 (ko) | 2005-05-12 | 2006-10-02 | 삼성전자주식회사 | 휴대단말기의 영상데이터 표시방법 |
US10521022B2 (en) * | 2006-03-17 | 2019-12-31 | Conversant Wireless Licensing S.a.r.l. | Mobile communication terminal and method therefor |
US8208792B2 (en) | 2006-09-12 | 2012-06-26 | Panasonic Corporation | Content shooting apparatus for generating scene representation metadata |
US7676146B2 (en) * | 2007-03-09 | 2010-03-09 | Eastman Kodak Company | Camera using multiple lenses and image sensors to provide improved focusing capability |
KR101417007B1 (ko) | 2007-09-13 | 2014-07-08 | 엘지전자 주식회사 | 영상표시기기 및 녹화 제어 방법 |
US8665340B2 (en) * | 2010-04-29 | 2014-03-04 | Intellectual Ventures Fund 83 Llc | Indoor/outdoor scene detection using GPS |
US8493500B2 (en) * | 2010-10-27 | 2013-07-23 | Apple Inc. | Auto exposure blowout prevention |
CA2955632A1 (en) * | 2010-11-10 | 2012-05-18 | Nike Innovate C.V. | Systems and methods for time-based athletic activity measurement and display |
KR20120064581A (ko) * | 2010-12-09 | 2012-06-19 | 한국전자통신연구원 | 영상 분류 방법 및 이를 위한 장치 |
US20140196066A1 (en) | 2010-12-13 | 2014-07-10 | Gansha Wu | Data Highlighting and Extraction |
US20120324491A1 (en) | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Video highlight identification based on environmental sensing |
KR101905648B1 (ko) | 2012-02-27 | 2018-10-11 | 삼성전자 주식회사 | 카메라 장치의 동영상 촬영방법 및 장치 |
CN102665045A (zh) * | 2012-04-26 | 2012-09-12 | 阿普特有限公司 | 蓝牙相机快门控制器 |
KR101377876B1 (ko) * | 2012-06-29 | 2014-03-25 | 인텔렉추얼디스커버리 주식회사 | 모바일 프로젝션 장치 및 방법 |
KR101595882B1 (ko) | 2012-08-24 | 2016-02-22 | 한화테크윈 주식회사 | 영상 분석 장치 및 방법 |
US9154761B2 (en) * | 2013-08-19 | 2015-10-06 | Google Inc. | Content-based video segmentation |
US20150063451A1 (en) * | 2013-09-05 | 2015-03-05 | Microsoft Corporation | Universal Screen Content Codec |
US20150104149A1 (en) * | 2013-10-15 | 2015-04-16 | Electronics And Telecommunications Research Institute | Video summary apparatus and method |
US20150187390A1 (en) | 2013-12-30 | 2015-07-02 | Lyve Minds, Inc. | Video metadata |
-
2015
- 2015-08-12 KR KR1020150114119A patent/KR102376700B1/ko active IP Right Grant
-
2016
- 2016-06-23 CN CN201680045741.9A patent/CN107925799B/zh not_active Expired - Fee Related
- 2016-06-23 WO PCT/KR2016/006666 patent/WO2017026644A1/en active Application Filing
- 2016-08-11 US US15/234,696 patent/US10708650B2/en active Active
- 2016-08-12 EP EP16184079.8A patent/EP3131302B1/en not_active Not-in-force
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110293245A1 (en) | 2010-05-26 | 2011-12-01 | Canon Kabushiki Kaisha | Reproduction apparatus |
JP2011250103A (ja) * | 2010-05-26 | 2011-12-08 | Canon Inc | 再生装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107925799B (zh) | 2020-11-27 |
EP3131302A3 (en) | 2017-08-09 |
US20170048581A1 (en) | 2017-02-16 |
CN107925799A (zh) | 2018-04-17 |
US10708650B2 (en) | 2020-07-07 |
EP3131302B1 (en) | 2020-09-30 |
EP3131302A2 (en) | 2017-02-15 |
WO2017026644A1 (en) | 2017-02-16 |
KR20170019809A (ko) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102444085B1 (ko) | 휴대용 통신 장치 및 휴대용 통신 장치의 영상 표시 방법 | |
US11216178B2 (en) | Video encoding method and electronic device adapted thereto | |
KR102376700B1 (ko) | 비디오 컨텐츠 생성 방법 및 그 장치 | |
AU2016212943B2 (en) | Image processing method and electronic device for supporting the same | |
US10347296B2 (en) | Method and apparatus for managing images using a voice tag | |
KR102445699B1 (ko) | 전자 장치 및 그의 동작 방법 | |
KR102349428B1 (ko) | 이미지 처리 방법 및 이를 지원하는 전자장치 | |
KR102576908B1 (ko) | 동적 파노라마 기능을 제공하는 방법 및 장치 | |
KR102031874B1 (ko) | 구도 정보를 이용하는 전자 장치 및 이를 이용하는 촬영 방법 | |
EP3001300B1 (en) | Method and apparatus for generating preview data | |
KR102386893B1 (ko) | 이미지 데이터의 보안 방법 및 이를 지원하는 전자 장치 | |
CN106254807B (zh) | 提取静止图像的电子设备和方法 | |
US10504560B2 (en) | Electronic device and operation method thereof | |
KR20170004723A (ko) | 전자 장치의 동적 프리뷰 디스플레이 방법 및 그 전자 장치 | |
KR20160114434A (ko) | 전자 장치 및 전자 장치의 이미지 촬영 방법 | |
KR20170036300A (ko) | 동영상 제공 방법 및 이를 수행하는 전자 장치 | |
US10691717B2 (en) | Method and apparatus for managing data | |
US20180322908A1 (en) | Method for giving dynamic effect to video and electronic device thereof | |
KR102398453B1 (ko) | 영상 출력 방법 및 이를 지원하는 전자 장치 | |
KR20190071550A (ko) | 촬영 아이콘에 포함된 구성원의 프로필 이미지에 따라 카메라 필터를 다르게 적용하는 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |