KR102281172B1 - 메타데이터 기반 사진 및/또는 비디오 애니메이션화 - Google Patents

메타데이터 기반 사진 및/또는 비디오 애니메이션화 Download PDF

Info

Publication number
KR102281172B1
KR102281172B1 KR1020167028136A KR20167028136A KR102281172B1 KR 102281172 B1 KR102281172 B1 KR 102281172B1 KR 1020167028136 A KR1020167028136 A KR 1020167028136A KR 20167028136 A KR20167028136 A KR 20167028136A KR 102281172 B1 KR102281172 B1 KR 102281172B1
Authority
KR
South Korea
Prior art keywords
images
logic
metadata
image
image sequence
Prior art date
Application number
KR1020167028136A
Other languages
English (en)
Other versions
KR20160131103A (ko
Inventor
애론 조셉 소베
제프리 지 아놀드
캐스린 씨 렘손
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160131103A publication Critical patent/KR20160131103A/ko
Application granted granted Critical
Publication of KR102281172B1 publication Critical patent/KR102281172B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/212Motion video recording combined with still video recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/215Recording a sequence of still pictures, e.g. burst mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32112Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate computer file, document page or paper sheet, e.g. a fax cover sheet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised 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
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3247Data linking a set of images to one another, e.g. sequence, burst or continuous capture mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)
  • Prostheses (AREA)
  • Materials For Medical Uses (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공할 수 있는 기법이 본원에 기술되어 있다. 예를 들면, 장면의 다수의 영상들(예컨대, 정지 영상)이 영상 시퀀스로 결합될 수 있다. 장면을 표현하기 위해 다수의 영상들로부터 하나의 영상이 선택될 수 있다. 이러한 영상은 주 영상이라고 지칭될 수 있다. 메타데이터는 주 영상과 연관되어 있을 수 있다. 메타데이터는 영상 시퀀스에 대한 참조를 포함할 수 있다.

Description

메타데이터 기반 사진 및/또는 비디오 애니메이션화{METADATA-BASED PHOTO AND/OR VIDEO ANIMATION}
사진술의 영역에서, 애니메이션화된 사진 및 비디오에 관련된 새로운 트렌드가 등장하고 있다. 사진이 단지 한 번이 아닌 한 번 초과의 촬영으로 되고 있으며, 많은 경우에, 다수의 프레임들로부터 생성되고 있다. 그에 따라, 포착 동안 하나 초과의 순간을 포착하려는 움직임이 있다. 이것은 사용자가 애니메이션화된 GIF(Graphics Interchange Format) 파일 - 이는 때때로 사진과 비디오의 혼성물(hybrid)이라고 지칭됨 - 을 생성하는 데 도움을 주는 Cinemagraph™ 및 Cinemagram®와 같은 애플리케이션의 부활에서 볼 수 있다. 애니메이션화된 GIF 파일은 종종 루핑 비디오(looping video)로서 구성된다. 루핑 비디오란, 비디오가 끝날 때 비디오가 자동으로 재생되도록, 루프를 이루게 구성되는 다수의 정지 영상들 또는 비디오의 다수의 섹션들로부터 생성되는 비디오이다. Vine Labs, Inc.는 사용자가 이러한 루핑 비디오를 생성할 수 있게 하는 모바일 애플리케이션을 발표해오는 회사이다. Echograph®는 사용자가 정지 사진에 움직임을 삽입할 수 있게 하기 위해 애니메이션화된 GIF 기술을 사용하는 애플리케이션이다. Microsoft Corporation에 의해 개발된 Blink™도 사용자가 정지 사진에 움직임을 삽입할 수 있게 한다.
그 중에서도 특히, 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 다양한 접근법이 본원에 기술되어 있다. 예를 들면, 장면의 다수의 영상들(예컨대, 정지 영상)이 영상 시퀀스로 결합될 수 있다. 장면을 표현하기 위해 다수의 영상들로부터 하나의 영상이 선택될 수 있다. 이러한 영상은 주 영상(primary image)이라고 지칭될 수 있다. 메타데이터는 주 영상과 연관되어 있을 수 있다. 메타데이터는 영상 시퀀스에 대한 참조(reference)를 포함할 수 있다. 디바이스가 사진 및/또는 비디오 애니메이션화를 지원하면, 디바이스는 영상 시퀀스에 액세스하기 위해 메타데이터 내의 참조를 사용하고 장면을 표현하기 위해 영상 시퀀스를 사용할 수 있다. 디바이스가 사진 및/또는 비디오 애니메이션화를 지원하지 않으면, 디바이스는 장면을 표현하기 위해 주 영상(또는 다른 영상)을 사용할 수 있다.
예시적인 시스템 및 디바이스가 기술된다. 제1 예시적인 디바이스는 카메라, 제어 논리, 영상 시퀀스 논리, 및 메타데이터 논리를 포함한다. 카메라는, 선택될 때, 하나 이상의 영상들의 포착을 개시하는 사용자 요소를 포함한다. 제어 논리는 사용자 요소의 각각의 선택에 응답하여 복수의 영상들을 포착하기 위해 카메라를 제어하도록 구성되어 있다. 영상 시퀀스 논리는 각각의 복수의 영상들로부터 영상 시퀀스를 발생시키도록 구성되어 있다. 메타데이터 논리는, 각각의 복수의 영상들에 대해, 메타데이터를 복수의 영상들로부터 선택된 주 영상과 연관시키도록 구성되어 있다. 각각의 복수의 영상들에 대해, 메타데이터는 복수의 영상들로부터 발생되는 영상 시퀀스에 대한 참조를 포함한다.
제2 예시적인 디바이스는 디스플레이 논리, 인터페이스 논리, 및 제스처 논리를 포함한다. 디스플레이 논리는 주 영상들을 수신하도록 구성되어 있다. 각각의 주 영상은 주 영상을 포함하는 각자의 복수의 영상들에 기초하는 각자의 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 인터페이스 논리는 가상 요소들을 포함하는 사용자 인터페이스를 제공하도록 구성되어 있다. 각각의 가상 요소는 각자의 주 영상에 대응하고, 또한 각자의 주 영상의 메타데이터에서 참조되는 각자의 영상 시퀀스에 대응한다. 디스플레이 논리는, 각각의 가상 요소에 대해, 가상 요소에 대응하는 주 영상을 가상 요소에 디스플레이하도록 구성되어 있다. 제스처 논리는 지정된 가상 요소와 관련하여 제스처를 검출하도록 구성되어 있다. 디스플레이 논리는, 지정된 가상 요소와 관련하여 제스처가 검출된 것에 응답하여, 지정된 가상 요소에 대응하는 주 영상을 지정된 가상 요소에 디스플레이하는 대신에 지정된 가상 요소에 대응하는 영상 시퀀스를 지정된 가상 요소에 디스플레이하도록 구성되어 있다.
예시적인 시스템은 저장소, 식별 논리, 능력 논리(capability logic), 및 제공 논리(provision logic)를 포함한다. 저장소는 네트워크를 통해 제1 디바이스로부터 주 영상을 수신하도록 구성되어 있다. 주 영상은 주 영상을 포함하는 복수의 영상들에 기초하는 지정된 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 주 영상은 제1 사용자의 프로필을 표현한다. 저장소는 또한 네트워크를 통해 제1 디바이스와 상이한 제2 디바이스로부터 부트업 지시자(boot up indicator)를 수신하도록 구성되어 있다. 부트업 지시자는 제2 디바이스가 부트업 프로세스를 수행하고 있다는 것을 표시한다. 식별 논리는 제1 사용자가 제2 디바이스와 연관된 연락처들의 리스트에서 식별되는 것으로 결정하도록 구성되어 있다. 능력 논리는 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 결정하도록 구성되어 있다. 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있다면, 제공 논리는 참조에 기초하여 지정된 영상 시퀀스를 검색하고 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스를 제2 디바이스에 제공한다. 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 없다면, 제공 논리는 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스 대신에 주 영상을 제2 디바이스에 제공한다.
예시적인 방법이 또한 기술되어 있다. 제1 예시적인 방법에서, 사용자 요소를 가지는 카메라는 사용자 요소의 각각의 선택에 응답하여 복수의 영상들을 포착하도록 제어된다. 영상 시퀀스가 각각의 복수의 영상들로부터 발생된다. 각각의 복수의 영상들에 대해, 메타데이터가 복수의 영상들로부터 선택된 주 영상과 연관된다. 각각의 메타데이터는 각자의 복수의 영상들로부터 발생되는 영상 시퀀스에 대한 참조를 포함한다.
제2 예시적인 방법에서, 주 영상들이 수신된다. 각각의 주 영상은 주 영상을 포함하는 각자의 복수의 영상들에 기초하는 각자의 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 가상 요소들을 포함하는 사용자 인터페이스가 제공된다. 각각의 가상 요소는 각자의 주 영상에 대응하고, 또한 각자의 주 영상의 메타데이터에서 참조되는 복수의 영상 시퀀스들의 각자의 영상 시퀀스에 대응한다. 각각의 가상 요소에 대해, 가상 요소에 대응하는 주 영상이 가상 요소에 디스플레이된다. 지정된 가상 요소와 관련하여 제스처가 검출된다. 지정된 가상 요소와 관련하여 제스처를 검출한 것에 응답하여, 지정된 가상 요소에 대응하는 주 영상 대신에, 지정된 가상 요소에 대응하는 영상 시퀀스가 지정된 가상 요소에 디스플레이된다.
제3 예시적인 방법에서, 주 영상이 네트워크를 통해 제1 디바이스로부터 저장소에 수신된다. 주 영상은 주 영상을 포함하는 복수의 영상들에 기초하는 지정된 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 주 영상은 제1 사용자의 프로필을 표현한다. 네트워크를 통해 제1 디바이스와 상이한 제2 디바이스로부터 부트업 지시자가 저장소에 수신된다. 부트업 지시자는 제2 디바이스가 부트업 프로세스를 수행하고 있다는 것을 표시한다. 제1 사용자가 제2 디바이스와 연관된 연락처들의 리스트에서 식별되는 것으로 결정이 행해진다. 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지의 결정이 행해진다. 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있다면, 참조에 기초하여 지정된 영상 시퀀스가 검색되고 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스가 제2 디바이스에 제공된다. 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 없다면, 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스 대신에 주 영상이 제2 디바이스에 제공된다.
예시적인 컴퓨터 프로그램 제품이 또한 기술되어 있다. 제1 예시적인 컴퓨터 프로그램 제품은 프로세서 기반 시스템이 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공할 수 있게 하기 위한 컴퓨터 프로그램 논리가 기록되어 있는 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 프로그램 논리는 제1 프로그램 논리 모듈, 제2 프로그램 논리 모듈, 및 제3 프로그램 논리 모듈을 포함한다. 제1 프로그램 논리 모듈은 프로세서 기반 시스템이 사용자 요소의 각각의 선택에 응답하여 복수의 영상들을 포착하도록 사용자 요소를 가지는 카메라를 제어할 수 있게 하기 위한 것이다. 제2 프로그램 논리 모듈은 프로세서 기반 시스템이 각각의 복수의 영상들로부터 영상 시퀀스를 발생시킬 수 있게 하기 위한 것이다. 제3 프로그램 논리 모듈은 프로세서 기반 시스템이 각각의 복수의 영상들에 대해, 메타데이터를 복수의 영상들로부터 선택된 주 영상과 연관시킬 수 있게 하기 위한 것이다. 각각의 메타데이터는 각자의 복수의 영상들로부터 발생되는 영상 시퀀스에 대한 참조를 포함한다.
제2 예시적인 컴퓨터 프로그램 제품은 프로세서 기반 시스템이 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공할 수 있게 하기 위한 컴퓨터 프로그램 논리가 기록되어 있는 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 프로그램 논리는 제1 프로그램 논리 모듈, 제2 프로그램 논리 모듈, 제3 프로그램 논리 모듈, 제4 프로그램 논리 모듈, 및 제5 프로그램 논리 모듈을 포함한다. 제1 프로그램 논리 모듈은 프로세서 기반 시스템이 주 영상들을 수신할 수 있게 하기 위한 것이다. 각각의 주 영상은 주 영상을 포함하는 각자의 복수의 영상들에 기초하는 각자의 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 제2 프로그램 논리 모듈은 프로세서 기반 시스템이 가상 요소들을 포함하는 사용자 인터페이스를 제공할 수 있게 하기 위한 것이다. 각각의 가상 요소는 각자의 주 영상에 대응하고, 또한 각자의 주 영상의 메타데이터에서 참조되는 복수의 영상 시퀀스들의 각자의 영상 시퀀스에 대응한다. 제3 프로그램 논리 모듈은 프로세서 기반 시스템이, 각각의 가상 요소에 대해, 가상 요소에 대응하는 주 영상을 가상 요소에 디스플레이할 수 있게 하기 위한 것이다. 제4 프로그램 논리 모듈은 프로세서 기반 시스템이 지정된 가상 요소와 관련하여 제스처를 검출할 수 있게 하기 위한 것이다. 제5 프로그램 논리 모듈은 프로세서 기반 시스템이 지정된 가상 요소와 관련하여 제스처를 검출한 것에 응답하여, 지정된 가상 요소에 대응하는 주 영상 대신에, 지정된 가상 요소에 대응하는 영상 시퀀스를 지정된 가상 요소에 디스플레이할 수 있게 하기 위한 것이다.
제3 예시적인 컴퓨터 프로그램 제품은 프로세서 기반 시스템이 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 선택적으로 제공할 수 있게 하기 위한 컴퓨터 프로그램 논리가 기록되어 있는 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 프로그램 논리는 제1 프로그램 논리 모듈, 제2 프로그램 논리 모듈, 제3 프로그램 논리 모듈, 제4 프로그램 논리 모듈, 및 제5 프로그램 논리 모듈을 포함한다. 제1 프로그램 논리 모듈은 프로세서 기반 시스템이 네트워크를 통해 제1 디바이스로부터 주 영상을 수신할 수 있게 하기 위한 것이다. 주 영상은 주 영상을 포함하는 복수의 영상들에 기초하는 지정된 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 주 영상은 제1 사용자의 프로필을 표현한다. 제2 프로그램 논리 모듈은 프로세서 기반 시스템이 네트워크를 통해 제1 디바이스와 상이한 제2 디바이스로부터 부트업 지시자를 수신할 수 있게 하기 위한 것이다. 부트업 지시자는 제2 디바이스가 부트업 프로세스를 수행하고 있다는 것을 표시한다. 제3 프로그램 논리 모듈은 프로세서 기반 시스템이 제1 사용자가 제2 디바이스와 연관된 연락처들의 리스트에서 식별되는 것으로 결정할 수 있게 하기 위한 것이다. 제4 프로그램 논리 모듈은 프로세서 기반 시스템이 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 결정할 수 있게 하기 위한 것이다. 제5 프로그램 논리 모듈은 프로세서 기반 시스템이, 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있다면, 참조에 기초하여 지정된 영상 시퀀스를 검색하고 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스를 제2 디바이스에 제공할 수 있게 하기 위한 것이다. 제5 프로그램 논리 모듈은 또한 프로세서 기반 시스템이 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 없다면, 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스 대신에 주 영상을 제2 디바이스에 제공할 수 있게 하기 위한 것이다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 선택된 개념들을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명 요지의 핵심적인 특징들 또는 필수적인 특징들을 언급하기 위한 것이 아니며, 청구된 발명 요지의 범주를 제한하기 위해 사용되기 위한 것도 아니다. 더욱이, 유의할 점은, 본 발명이 발명을 실시하기 위한 구체적인 내용 및/또는 본 문서의 다른 섹션들에 기술되는 구체적인 실시예들로 제한되지 않는다는 것이다. 이러한 실시예들은 단지 예시를 위해 본 명세서에서 제시되어 있다. 부가의 실시예들이 본 명세서에 포함된 개시 내용에 기초하여 관련 기술 분야(들)의 통상의 기술자에게는 명백할 것이다.
본원에 포함되어 명세서의 일부를 형성하는 첨부 도면들은 본 발명의 실시예들을 예시하고, 설명과 함께, 또한 관련된 원리들을 설명하고 관련 기술 분야(들)의 통상의 기술자가 개시된 기술들을 제조 및 사용할 수 있게 하는 역할을 한다.
도 1은 일 실시예에 따른, 예시적인 메타데이터 기반 애니메이션화 시스템의 블록도.
도 2는 일 실시예에 따른, 도 1에 도시된 디바이스의 예시적인 구현의 블록도.
도 3 내지 도 10은 실시예들에 따른, 도 1에 도시된 디바이스의 관점에서 본, 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 예시적인 방법의 플로우차트를 나타낸 도면.
도 11 내지 도 13은 실시예들에 따른, 도 1에 도시된 서버(들)의 관점에서 본, 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 예시적인 방법의 플로우차트를 나타낸 도면.
도 14는 일 실시예에 따른, 도 1에 도시된 서버(들)의 예시적인 구현의 블록도.
도 15는 일 실시예에 따른, 터치 명령 및 호버링 명령을 감지하기 위한 터치 스크린을 갖는 예시적인 모바일 디바이스의 시스템도.
도 16은 실시예들이 구현될 수 있는 예시적인 컴퓨터를 나타낸 도면.
개시된 기술들의 특징들 및 장점들은 도면들과 관련하여 살펴볼 때 이하에 기재되는 상세한 설명으로부터 보다 명백하게 될 것이고, 도면들에서 유사한 참조 문자들은 전체에 걸쳐 대응하는 요소들을 나타낸다. 도면들에서, 유사한 참조 번호들은 일반적으로 동일하고, 기능상 유사하며, 그리고/또는 구조상 유사한 요소들을 나타낸다. 요소가 처음으로 나오는 도면은 대응하는 참조 번호에서 가장 왼쪽 숫자(들)에 의해 나타내어져 있다.
I. 서론
이하의 발명을 실시하기 위한 구체적인 내용은 본 발명의 예시적인 실시예들을 나타내는 첨부 도면들을 참조한다. 그렇지만, 본 발명의 범주가 이 실시예들로 제한되지 않고, 그 대신에 첨부된 청구항들에 의해 한정된다. 이와 같이, 예시된 실시예들의 수정된 버전들과 같은, 첨부 도면들에 도시된 것들 이외의 실시예들이 그럼에도 불구하고 본 발명에 포함될 수 있다.
명세서에서 "하나의 실시예", "일 실시예", "예시적인 실시예" 등으로 언급하는 것들은 기술된 실시예가 특정의 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 그 특정의 특징, 구조, 또는 특성을 꼭 포함하는 것은 아닐 수 있음을 나타낸다. 더욱이, 이러한 문구들이 꼭 동일한 실시예를 지칭하는 것은 아니다. 게다가, 특정의 특징, 구조, 또는 특성이 일 실시예와 관련하여 기술될 때, 명시적으로 기술되어 있든 그렇지 않든 간에, 관련 기술 분야(들)의 통상의 기술자가 이러한 특징, 구조, 또는 특성을 다른 실시예들과 관련하여 구현하는 것을 알고 있는 것으로 생각된다.
II. 예시적인 실시예
본원에 기술되는 예시적인 실시예들은 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공할 수 있다. 예를 들면, 장면의 다수의 영상들(예컨대, 정지 영상)이 영상 시퀀스로 결합될 수 있다. 장면을 표현하기 위해 다수의 영상들로부터 하나의 영상이 선택될 수 있다. 이러한 영상은 주 영상이라고 지칭될 수 있다. 메타데이터는 주 영상과 연관되어 있을 수 있다. 메타데이터는 영상 시퀀스에 대한 참조를 포함할 수 있다. 디바이스가 사진 및/또는 비디오 애니메이션화를 지원하면, 디바이스는 영상 시퀀스에 액세스하기 위해 메타데이터 내의 참조를 사용하고 장면을 표현하기 위해 영상 시퀀스를 사용할 수 있다. 디바이스가 사진 및/또는 비디오 애니메이션화를 지원하지 않으면, 디바이스는 장면을 표현하기 위해 주 영상(또는 다른 영상)을 사용할 수 있다.
본원에 기술되는 예시적인 기법은 사진 및 비디오를 디스플레이하는 종래의 기법들과 비교하여 각종의 이점들을 갖는다. 예를 들면, 예시적인 기법은 애니메이션화를 지원할 수 있는 디바이스에 대해서는 사진 및/또는 비디오 애니메이션화를 제공하는 반면, 애니메이션화를 지원할 수 없는 디바이스에 대해서는 애니메이션화 대신에 정적 영상을 제공할 수 있다. 예시적인 기법은, 종래의 기법에 비해, 보다 개인적이고 그리고/또는 감성적인 사용자 경험을 제공할 수 있다. 예시적인 기법은 (예컨대, 기본적으로) 카메라에 의해 수행되는 각각의 포착으로 다수의 사진들이 촬영되게 할 수 있다. 다수의 사진들을 비롯한, 그 결과 얻어지는 정보가 명시된 기간 동안 존속될 수 있고, 이는 사용자가 다수의 사진들 중의 어느 영상이 포착된 순간을 표현하기 위해 선택되어야 하는지를 나중에 결정할 수 있게 한다. 예시적인 기법은 (예컨대, 소비되는 저장소의 양을 제한하거나 감소시키기 위해) 지정된 기간의 경과에 응답하여 (예컨대, 명시된 조건 하에서) 애니메이션화를 삭제할 수 있다. 예시적인 기법은 다수의 정적 영상들, 비디오(예컨대, 비디오의 키프레임(keyframe)) 등에 적용가능할 수 있다. 예시적인 기법은, 잠금 화면, 시작 메뉴, 통화 화면, 연락처 타일(contact tile)(들), 사진 허브, 사진 갤러리 뷰어, 단일 사진 뷰어 등과 같은, 디바이스의 각종의 컨텍스트들 중 임의의 것에서 사진 및/또는 비디오 애니메이션화가 제공되게 할 수 있다. 이러한 애니메이션화는 자동으로(예컨대, 사용자가 애니메이션화가 일어나게 하는 동작을 수행함이 없이) 그리고/또는 실시간으로 제공될 수 있다. 예시적인 기법 또는 그의 양태가 사용자에 의해 수동으로, 백엔드 서비스(backend service)에 의해 자동으로, 또는 써드파티 애플리케이션에 의해 수행될 수 있다.
도 1은 일 실시예에 따른 예시적인 메타데이터 기반 애니메이션화 시스템(100)(이후부터, "시스템(100)"이라고 함)의 블록도이다. 일반적으로 말하면, 시스템(100)은 사용자로부터 수신되는 요청(예컨대, HTTP(hypertext transfer protocol) 요청)에 응답하여 정보를 사용자에게 제공하기 위해 동작한다. 정보는 문서(예컨대, 웹 페이지, 영상, 비디오 파일 등), 실행 파일의 출력, 및/또는 임의의 다른 적당한 유형의 정보를 포함할 수 있다. 본원에 기술되는 예시적인 실시예에 따르면, 시스템(100)은 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공한다. 예를 들면, 디바이스의 각종의 컨텍스트들 중 임의의 것에서 이러한 애니메이션화가 정적 영상 대신에 사용될 수 있다. 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 기법에 관한 상세가 이하의 논의에서 제공된다.
도 1에 도시된 바와 같이, 시스템(100)은 서버(들)(102), 네트워크(104), 및 복수의 디바이스들(106A 내지 106N)을 포함한다. 서버(들)(102)와 디바이스들(106A 내지 106N) 사이의 통신이 널리 공지된 네트워크 통신 프로토콜들을 사용하여 네트워크(104)를 통해 수행된다. 네트워크(104)는 WAN(wide area network)(예컨대, 인터넷), LAN(local area network), 다른 유형의 네트워크, 또는 이들의 조합일 수 있다.
디바이스들(106A 내지 106N)은 서버(들)(102)와 통신할 수 있는 처리 시스템이다. 처리 시스템의 일 예는 한 세트의 명령어들에 따라 데이터를 조작할 수 있는 적어도 하나의 프로세서를 포함하는 시스템이다. 예를 들면, 처리 시스템은 컴퓨터, PDA(personal digital assistant) 등일 수 있다. 디바이스들(106A 내지 106N)은 서버(들)(102)에 저장된(또는 서버(들)(102)를 통해 다른 방식으로 액세스가능한) 정보를 요청하기 위한 요청을 서버(들)(102)에 제공하도록 구성되어 있다. 예를 들면, 사용자는 사용자에 의해 소유되거나 다른 방식으로 액세스가능한 디바이스(106) 상에 설치된 클라이언트(예컨대, 웹 브라우저, 웹 크롤러, 또는 다른 유형의 클라이언트)를 사용하여 컴퓨터 프로그램(예컨대, 애플리케이션)을 실행하기 위한 요청을 개시할 수 있다. 일부 예시적인 실시예에 따르면, 디바이스들(106A 내지 106N)은 서버(들)(102)에 의해 호스팅되는 도메인(예컨대, 웹 사이트)에 액세스할 수 있고, 따라서 디바이스들(106A 내지 106N)은 도메인을 통해 이용가능한 정보를 액세스할 수 있다. 이러한 도메인은, 예를 들어, 그 안에 링크되어 있는 HTML(hypertext markup language) 문서 및 객체(예컨대, 파일)로서 제공될 수 있는 웹 페이지를 포함할 수 있다.
디바이스들(106A 내지 106N) 각각이, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 워치(smart watch) 또는 헤드 마운티드 컴퓨터(head-mounted computer)와 같은 웨어러블 컴퓨터, PDA(personal digital assistant), 셀룰러 전화 등(이들로 제한되지 않음)을 비롯한, 임의의 클라이언트 지원(client-enabled) 시스템 또는 디바이스를 포함할 수 있다는 것을 잘 알 것이다.
디바이스들(106A 내지 106N)은 각자의 클라이언트측 메타데이터 기반 애니메이션화 논리(112A 내지 112N)를 포함하는 것으로 도시되어 있다. 디바이스들(106A 내지 106N) 각각 및 애니메이션화 논리(112A 내지 112N) 각각은 논의의 편의를 위해 이제부터, 각각, 일반적으로 디바이스(106) 및 애니메이션화 논리(112)라고 지칭될 것이다. 각각의 애니메이션화 논리(112)는 각자의 애니메이션화 논리(112)를 포함하는 디바이스(106)와 관련하여 사진 및/또는 비디오 애니메이션화를 제공하도록 구성되어 있다. 예를 들면, 애니메이션화 논리(112)는 복수의 영상들로부터 영상 시퀀스를 발생시키거나 네트워크(104)를 통해 서버(들)(102)로부터 영상 시퀀스를 수신할 수 있다. 애니메이션화 논리(112)는 디바이스(106)의 각종의 컨텍스트들 중 임의의 것에서 정적 영상 대신에 영상 시퀀스를 디스플레이(예컨대, 자동으로 디스플레이, 기본적으로 디스플레이, 기타)할 수 있다. 예를 들면, 정적 영상은 영상 시퀀스를 참조하는(예컨대, 영상 시퀀스에 링크되어 있는) 메타데이터(예컨대, XF 메타데이터)를 가질 수 있다. 애니메이션화 논리(112)는 참조에 기초하여 영상 시퀀스를 검색하고 그렇지 않았으면 정적 영상이 디스플레이될 하나 이상의 컨텍스트에서 영상 시퀀스를 디스플레이할 수 있다. 예를 들면, 영상 시퀀스는 정적 영상이 저장되는 폴더와 상이한 폴더에 저장될 수 있다.
컨텍스트의 예는 잠금 화면 컨텍스트, 시작 메뉴 컨텍스트, 통화 화면 컨텍스트, 연락처 컨텍스트, 사진 허브 컨텍스트, 사진 갤러리 뷰어 컨텍스트, 단일 사진 뷰어 컨텍스트, 핀으로 고정된 사진 앨범(pinned photo album) 컨텍스트, 카메라 롤(camera roll) 컨텍스트, 온라인 앨범 컨텍스트, 좋아하는 사진(favorite photos) 컨텍스트 등(이들로 제한되지 않음)을 포함한다. 영상 시퀀스를 디바이스의 잠금 화면 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 디바이스의 잠금 화면 상에 디스플레이하는 것을 포함한다. 잠금 화면은 디바이스의 적어도 일부 기능에의 액세스가 허용되기 위해 어떤 조치가 필요하다는 것을 표시하기 위해 디스플레이되는 인터페이스 요소이다.
영상 시퀀스를 디바이스의 시작 메뉴 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 디바이스의 시작 메뉴(시작 화면이라고도 함)에 디스플레이하는 것을 포함한다. 시작 메뉴는 중앙 가상 위치 - 이로부터 애플리케이션(들) 및/또는 작업(들)을 기동시킴 - 를 제공하기 위해 디스플레이되는 인터페이스 요소이다. 예를 들면, 시작 메뉴는 사용자가 디바이스에 로그인할 때 사용자에게 디스플레이되는 제1 인터페이스 요소일 수 있다.
영상 시퀀스를 디바이스의 통화 화면 컨텍스트에서 디스플레이하는 것은 통화(예컨대, 전화 통화, VoIP(voice over internet protocol) 통화 등)가 디바이스에 수신될 때 영상 시퀀스를 디바이스에 의해 디스플레이되는 인터페이스 요소에 디스플레이하는 것을 포함한다.
영상 시퀀스를 디바이스의 연락처 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 사용자의 연락처 리스트에 포함되는 연락처를 표현하는 인터페이스 요소에 디스플레이하는 것을 포함한다. 예를 들면, 인터페이스 요소는 연락처 타일일 수 있다.
영상 시퀀스를 디바이스의 사진 허브 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 폴더 - 이를 통해 디바이스 상에 저장되는 사진에 액세스함 - 를 표현하는 인터페이스 요소에 디스플레이하는 것을 포함한다.
영상 시퀀스를 디바이스의 사진 갤러리 뷰어 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 복수의 각자의 시각적 콘텐츠들의 복수의 표현들을 포함하는 인터페이스 요소에 디스플레이하는 것을 포함한다. 각각의 시각적 콘텐츠는 정적 영상 또는 동적 영상일 수 있다. 예를 들면, 각각의 시각적 콘텐츠는 사진, 비디오, 또는 영상을 발생시키기 위해 사용가능한 데이터를 포함하는 다른 유형의 파일일 수 있다.
영상 시퀀스를 디바이스의 단일 사진 뷰어 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 단일의 시각적 콘텐츠의 단일의 표현을 포함하는 인터페이스 요소에 디스플레이하는 것을 포함한다.
영상 시퀀스를 디바이스의 핀으로 고정된 사진 앨범 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 가상 위치에(예컨대, 디바이스의 사용자 인터페이스에, 소셜 업데이트에, 기타에) 부착되는 가상 사진 앨범에 디스플레이하는 것을 포함한다.
영상 시퀀스를 디바이스의 카메라 롤 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 디바이스에 의해 촬영되는 사진들의 리스트에 디스플레이하는 것을 포함한다.
영상 시퀀스를 디바이스의 온라인 앨범 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 디바이스가 인터넷을 통해 액세스하는 가상 사진 앨범에 디스플레이하는 것을 포함한다.
영상 시퀀스를 디바이스의 좋아하는 사진 컨텍스트에서 디스플레이하는 것은 영상 시퀀스를 다른 사진들보다 더 높은 우선순위를 가지는 것으로 표시되는 사진들의 표현을 포함하는 인터페이스 요소에 디스플레이하는 것을 포함한다.
서버(들)(102)는 디바이스들(106A 내지 106N)과 통신할 수 있는 하나 이상의 처리 시스템들이다. 서버(들)(102)는 사용자로부터 요청을 수신한 것에 응답하여 정보를 사용자에게 제공하는 컴퓨터 프로그램을 실행하도록 구성되어 있다. 예를 들어, 정보는 문서(예컨대, 웹 페이지, 영상, 비디오 파일 등), 실행 파일의 출력, 또는 임의의 다른 적당한 유형의 정보를 포함할 수 있다. 일부 예시적인 실시예에 따르면, 서버(들)(102)는 하나 이상의 웹 사이트를 호스팅하도록 구성되어 있고, 따라서 웹 사이트가 시스템(100)의 사용자에 의해 액세스가능하다.
서버(들)(102)는 저장소(108) 및 서버측 메타데이터 기반 애니메이션화 논리(110)(이후부터 "애니메이션화 논리(110)"라고 함)를 포함하는 것으로 도시되어 있다. 애니메이션화 논리(110)는 정적 영상과 연관되어 있는 영상 시퀀스 및/또는 영상 시퀀스에 대한 참조를 디바이스로 다운로드하도록 구성되어 있다. 예를 들면, 애니메이션화 논리(110)는 디바이스(106)가 켜질 때 각각의 디바이스(106)로부터 통지를 수신할 수 있다. 이러한 통지는, 연락처, 이메일, 일정표 항목 등과 같은, 정보가 디바이스(106)로 다운로드되어야 한다는 것을 표시할 수 있다. 애니메이션화 논리(110)는, 정적 영상에 대응하는 영상 시퀀스에 대한 참조를 포함하는 메타데이터와 함께, 이러한 정보에 포함되는 정적 영상을 다운로드할 수 있다.
애니메이션화 논리(110)는, 영상 시퀀스(들)가 디바이스(106)에 다운로드되어야 하는지를 결정하기 위해, 디바이스(106)가 정적 영상 대신에 영상 시퀀스를 디스플레이할 수 있는지를 결정할 수 있다. 디바이스(106)가 정적 영상 대신에 영상 시퀀스를 디스플레이할 수 있으면, 애니메이션화 논리(110)는 정적 영상과 연관되어 있는 영상 시퀀스를 디바이스(106)로 다운로드할 수 있다. 디바이스(106)가 정적 영상 대신에 영상 시퀀스를 디스플레이할 수 없으면, 애니메이션화 논리(110)는 정적 영상과 연관되어 있는 영상 시퀀스가 아니라 정적 영상을 디바이스(106)로 다운로드할 수 있다.
애니메이션화 논리(110)는, 영상 시퀀스와 연관되어 있는 적어도 하나의 정적 영상을 비롯한 하나 이상의 제2 사용자 각각으로 다운로드되어야 하는 정보에 기초하여, 제1 사용자로부터 영상 시퀀스를 수신하고 영상 시퀀스를 하나 이상의 제2 사용자에게 제공할 수 있다. 예를 들어, 제1 사용자는 제1 사용자의 프로필을 표현하기 위해 영상 시퀀스를 제공할 수 있다. 이 예에 따르면, 애니메이션화 논리(110)는, 제1 사용자가 각자의 제2 사용자의 연락처로서 열거되어 있는 것에 기초하여, 영상 시퀀스를 하나 이상의 제2 사용자(들) 각각에 제공할 수 있다. 또한 이 예에 따르면, 애니메이션화 논리(110)는, 또한 각각의 제2 사용자의 디바이스(106)가 정적 영상 대신에 영상 시퀀스를 디스플레이할 수 있는 것에 기초하여, 영상 시퀀스를 하나 이상의 제2 사용자(들) 각각에 제공할 수 있다.
저장소(108)는 디바이스들(106A 내지 106N) 간에 다운로드되어야 하는 정보를 저장한다. 이러한 정보는 디바이스들(106A 내지 106N)의 사용자와 연관되어 있는 연락처, 이메일, 일정표 항목 등(이들로 제한되지 않음)을 포함할 수 있다. 정보는 시각적 콘텐츠를 포함할 수 있다. 예를 들면, 시각적 콘텐츠는 정적 영상 또는 동적 영상일 수 있다. 시각적 콘텐츠는 사진, 비디오, 또는 영상을 발생시키기 위해 사용가능한 데이터를 포함하는 다른 유형의 파일일 수 있다. 저장소(108)는, 데이터베이스(예컨대, 관계형 데이터베이스, 개체-관계 데이터베이스(entity-relationship database), 객체 데이터베이스(object database), 객체 관계형 데이터베이스(object relational database), XML 데이터베이스 등)(이들로 제한되지 않음)를 비롯한, 임의의 적당한 유형의 저장소일 수 있다.
애니메이션화 논리(110)와 애니메이션화 논리(112A 내지 112N) 각각은, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현되는 것을 비롯하여, 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하기 위해 다양한 방식으로 구현될 수 있다. 예를 들어, 애니메이션화 논리(110)와 애니메이션화 논리(112A 내지 112N) 각각은 하나 이상의 프로세서들에서 실행되도록 구성된 컴퓨터 프로그램 코드로서 구현될 수 있다. 다른 예에서, 애니메이션화 논리(110)와 애니메이션화 논리(112A 내지 112N) 각각은 하드웨어 논리/전기 회로부로서 구현될 수 있다. 일 실시예에서, 애니메이션화 논리(110)와 애니메이션화 논리(112A 내지 112N) 각각은 SoC(system-on-chip)에 구현될 수 있다. 각각의 SoC는 그의 기능들을 수행하기 위해 프로세서(예컨대, 마이크로컨트롤러, 마이크로프로세서, DSP(digital signal processor) 등), 메모리, 하나 이상의 통신 인터페이스들, 및/또는 추가적인 회로 및/또는 임베디드 펌웨어(embedded firmware) 중 하나 이상을 포함하는 집적 회로 칩을 포함할 수 있다.
메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 예시적인 기법이 도 2 내지 도 14를 참조하여 이하에서 보다 상세히 논의된다.
도 2는 일 실시예에 따른, 도 1에 도시된 디바이스(100)의 예시적인 구현인, 디바이스(200)의 블록도이다. 예를 들면, 디바이스(200)는 모바일 디바이스(예를 들면, PDA(personal digital assistant), 휴대폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 또는 스마트 워치 또는 헤드 마운티드 컴퓨터와 같은 웨어러블 컴퓨터)일 수 있지만, 예시적인 실시예의 범주가 이와 관련하여 제한되지 않는다.
도 2에 도시된 바와 같이, 디바이스(200)는 카메라(202), 디스플레이(204), 및 클라이언트측 메타데이터 기반 애니메이션화 논리(270)(이후부터 "애니메이션화 논리(270)"라고 함)를 포함한다. 카메라(202)는 영상(258)(예컨대, 현실 세계 영상)을 포착하도록 구성되어 있다. 카메라(202)는, 선택될 때, 카메라(202)로 하여금 영상들(258) 중 하나 이상을 포착하게 하는 사용자 요소(230)를 포함한다. 사용자 요소(230)는 사용자 요소(230)가 선택되었다는 것을 표시하기 위해 사용자 요소(230)의 각각의 선택에 응답하여 선택 지시자(256)를 발생시킨다.
디스플레이(204)는 디바이스(200)의 사용자가 디스플레이(204)를 통해 디스플레이되는 영상을 볼 수 있게 한다. 디스플레이(204)는 정보를 디스플레이(204)의 사용자에게 전달하도록 그리고/또는 사용자로부터 입력을 수신하도록 구성되어 있는 사용자 인터페이스(232)를 포함한다. 사용자 인터페이스(232)는 예시를 위해 질문 요소(inquiry element)(234)를 포함하는 것으로 도시되어 있고 제한하려고 의도되어 있지 않다. 질문 요소(234)는 디바이스(200)의 사용자에게 응답을 요청하도록 구성되어 있다.
예시적인 실시예에서, 디바이스(200)는 터치 기반 디바이스(touch-enabled device)이다. 예를 들면, 디스플레이(204)는 터치 스크린일 수 있다. 이 실시예에 따르면, 디스플레이(204)는 호버링 제스처를 검출할 수 있을 것이다. 제스처는 디바이스(예컨대, 디바이스(200))의 사용자에 의해 수행되는 통신이며, 이 경우 디바이스의 환경 내에서의 사용자의 신체의 적어도 일부분의 배치(placement) 및/또는 움직임 그리고/또는 디바이스의 이동은 디바이스에 정보를 전달한다. 호버링 제스처는 사용자의 적어도 하나의 손 또는 그의 일부분이 터치 스크린 위쪽으로 어떤 이격 거리에 위치되는 제스처이다. 터치 스크린은 사용자의 손(또는 그의 일부분)이 터치 스크린에 근접해 있다는 것을, 예컨대, 정전용량 감지(capacitive sensing)를 통해, 검출할 수 있다. 그에 부가하여, 손 및/또는 손가락(들)이 호버링하고 있는 동안 손 움직임 및/또는 손가락 움직임이 검출될 수 있다. 사용자가 터치 기반 디바이스의 터치 스크린을 물리적으로 터치하는 일 없이 호버링 제스처가 행해질 수 있다.
애니메이션화 논리(270)는 디바이스(200)와 관련하여 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하도록 구성되어 있다. 애니메이션화 논리(270)는 예시를 위해 도 2에서 카메라의 외부에 도시되어 있고 제한하려고 의도되어 있지 않다. 애니메이션화 논리(270)(또는 그의 임의의 일부분)가 카메라(202)에 포함될 수 있다는 것을 잘 알 것이다. 애니메이션화 논리(270)는 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 및 표시 논리(228)를 포함한다. 제어 논리(206)는 카메라(202)를 제어하도록 구성되어 있다. 제어 논리(206)는 카메라(202)가 동작하는 방식을 제어하는 제어 신호(236)를 발생시킨다. 예를 들면, 제어 논리(206)는 선택 지시자(256)의 수신에 응답하여 제어 신호(236)를 제공할 수 있다. 예를 들어, 제어 논리(206)는 사용자 요소(230)의 선택에 응답하여 카메라(202)가 단일의 영상을 포착하게 하도록 제어 신호(236)를 구성할 수 있다. 다른 예에서, 제어 논리(206)는 사용자 요소(230)의 선택에 응답하여 카메라(202)가 다수의 영상들을 포착하게 하도록 제어 신호(236)를 구성할 수 있다. 예를 들면, 제어 논리(206)는 (예컨대, 기본적으로) 사용자 요소(230)의 각각의 선택에 응답하여 다수의 영상들을 포착하도록 카메라(202)를 제어할 수 있다.
예시적인 실시예에서, 제어 논리(206)는 디바이스(200)의 버스트 사진 모드(burst photography mode)에 따라 다수의 영상들을 포착하도록 카메라(202)를 제어한다. 버스트 사진 모드는 사용자 요소(230)의 선택에 응답하여 비교적 빠르게 연속적으로 다수의 사진들이 포착될 수 있게 한다. 다른 예시적인 실시예에서, 제어 논리(206)는 디바이스(200)의 비디오 모드에 따라 다수의 영상들을 포착하도록 카메라(202)를 제어한다.
또 다른 예시적인 실시예에서, 제어 논리(206)는 사용자 인터페이스(232)에 포함되어 있는 표현(예컨대, 가상 요소)과 관련하여 어느 영상(들), 영상 시퀀스(들), 비디오(들) 등이 디스플레이되어야 하는지를 제어하도록 구성되어 있다. 일 양태에서, 디스플레이되기 위해 선택되는 표현은 포착된 복수의 영상들로부터의 주 영상으로 설정될 수 있다. 이 양태에 따르면, 제어 논리(206)는 트리거링 이벤트에 응답하여 표현을 주 영상에서 포착된 복수의 영상들로부터 발생되는 영상 시퀀스로 변경하도록 구성될 수 있다. 트리거링 이벤트는, 예를 들어, 디바이스(200)의 사용자로부터의 입력의 수신일 수 있다. 예를 들면, 입력은 디바이스(200)와 관련한 호버링 제스처와 같은 제스처, 디바이스(200) 흔들기 등일 수 있다.
다른 양태에서, 제어 논리(206)는 각종의 기준들 중 임의의 것에 기초하여 사용자 인터페이스(232)에 포함되어 있는 표현과 관련하여 영상 시퀀스가 디스플레이되는지를 제어할 수 있다. 예를 들어, 제어 논리(206)는, 문턱값 개수의 다른 영상 시퀀스들이 사용자 인터페이스(232)에 디스플레이되고 있는 것에 기초하여, 영상 시퀀스가 디스플레이되어서는 안되는 것으로(예컨대, 대응하는 주 영상이 영상 시퀀스 대신에 디스플레이되어야 하는 것으로) 결정할 수 있다. 문턱값 개수는, 1개, 2개, 3개 등과 같은, 임의의 적당한 개수일 수 있다.
다른 예에서, 제어 논리(206)는 지정된 개수의 영상 시퀀스들이 사용자 인터페이스(232)에서의 그의 대응하는 표현들과 관련하여 한번에 디스플레이되게 할 수 있다. 이 예에 따르면, 제어 논리(206)는 영상 시퀀스들의 제1 서브셋이 제1 기간 동안 그의 대응하는 표현들과 관련하여 디스플레이되게 할 수 있고; 제어 논리(206)는 영상 시퀀스들의 제2 서브셋이 제1 기간 이후의 제2 기간 동안 그의 대응하는 표현들과 관련하여 디스플레이되게 할 수 있으며; 제어 논리(206)는 영상 시퀀스들의 제3 서브셋이 제2 기간 이후의 제3 기간 동안 그의 대응하는 표현들과 관련하여 디스플레이되게 할 수 있으며, 이하 마찬가지이다. 영상 시퀀스들의 지정된 개수는, 1개, 2개, 3개 등과 같은, 임의의 적당한 개수일 수 있다. 제어 논리(206)는 디스플레이될 영상 시퀀스를 랜덤하게(randomly), 반랜덤하게(semi-randomly)(예컨대, 하나 이상의 지정된 기준들에 기초하는 영상 시퀀스들의 서브셋 내에서 랜덤하게), 또는 비랜덤하게(non-randomly)(예컨대, 체계적으로 또는 순서대로) 선택할 수 있다.
영상 시퀀스 논리(208)는 영상들(258)의 각자의 서브셋(들)로부터 영상 시퀀스(들)(238)를 발생시키도록 구성되어 있다. 각각의 서브셋은 영상들(258)에 포함되어 있는 각자의 복수의 영상들을 포함한다. 영상 시퀀스(들)(238) 각각이 장면을 표현하기 위해 각자의 서브셋으로부터의 단일의 영상 대신에 사용될 수 있다. 장면은 임의의 하나 이상의 객체를 포함할 수 있다. 각각의 객체는 생물이거나 무생물일 수 있다.
영상 시퀀스 논리(208)는 각자의 영상 시퀀스가 시작하도록 되어 있는 각각의 복수의 영상들에서의 영상을 식별하도록 구성될 수 있다. 예를 들면, 영상 시퀀스 논리(208)는 움직임을 포함하는 영상, 하나 이상의 얼굴(예컨대, 사람 얼굴) 등에 기초하여 영상을 식별할 수 있다. 영상 시퀀스 논리(208)는 각자의 영상 시퀀스가 시작하도록 되어 있는 각각의 복수의 영상들에서의 영상을 식별하기 위해 벡터 분석(vector analysis)(또는 다른 종류의 분석)을 사용할 수 있다. 벡터 분석을 사용하여 영상을 식별하기 위한 일부 예시적인 기법이 동작 논리(222)와 관련하여 이하에서 논의된다.
각각의 영상 시퀀스는 임의의 적당한 포맷을 가질 수 있다. 예를 들어, 영상 시퀀스 논리(208)는 복수의 영상들을 지정된 비트맵 영상 포맷을 가지는 영상 시퀀스로 변환할 수 있다. 이 예에 따르면, 영상 시퀀스는 애니메이션화된 GIF(Graphics Interchange Format) 파일, MP4 파일, 커스텀(예컨대, 독점적) 포맷을 가지는 파일 등으로서 구성될 수 있다. 다른 예에서, 영상 시퀀스 논리(208)는 복수의 영상들로부터 영상 시퀀스를 발생시키는 컨트롤을 생성할 수 있다. 또 다른 예에서, 영상 시퀀스는 비디오일 수 있다.
영상 시퀀스가 써드파티 애플리케이션에 대해, 예를 들어, SDK(software development kit)를 사용하여, 포맷 설정될 수 있다는 것을 잘 알 것이다. 예를 들면, 써드파티 애플리케이션은 영상 시퀀스를 디바이스(200)에 푸시하도록 구성될 수 있다. 또한, 영상 시퀀스 논리(208)가 영상 시퀀스(들)(238) 각각을 꼭 발생시킬 필요는 없다는 것을 잘 알 것이다. 예를 들면, 영상 시퀀스(들)(238) 중 하나 이상이, 도 1에서의 저장소(108)와 같은, 디바이스(200)로부터 원격지에 있는 저장소로부터, 또는 디바이스(200)의 내부에 있는 저장소로부터 수신될 수 있다.
유의할 점은 디바이스(200)의 사용자가 영상 시퀀스의 애니메이션 거동을 설정하거나 수정하도록 허용되어 있을 수 있다는 것이다. 예를 들면, 사용자 인터페이스(232)가 영상 시퀀스가 일회 루프, 무한 루프로서, 처음에서 끝까지 처음부터 끝까지 루핑하도록, 처음부터 끝까지 그리고 끝에서부터 처음까지 루핑하도록, 영상 시퀀스에서의 각각의 프레임의 일부분(즉, 전부보다 적은 것)을 애니메이션화하도록, 기타이도록 구성되게 하기 위한 옵션들을 제시할 수 있다. 영상 시퀀스 논리(208)는 사용자에 의해 선택되는 옵션들에 관한 사용자 입력에 따라 영상 시퀀스를 발생시키도록 구성될 수 있다.
메타데이터 논리(210)는 각자의 메타데이터를 각각의 서브셋에서 주 영상이라고 지칭되는 각자의 영상과 연관시키도록 구성되어 있다. 각각의 주 영상과 연관되는 메타데이터는 주 영상을 포함하는 서브셋으로부터 발생되는 영상 시퀀스에 대한 참조를 포함한다. 각각의 참조는 각자의 영상 시퀀스에 대한 링크(예컨대, 하이퍼링크)일 수 있지만, 예시적인 실시예의 범주가 이와 관련하여 제한되지 않는다. 주 영상(들)은 총칭하여 주 영상(들)(240)이라고 지칭된다. 주 영상(들)과 연관된 메타데이터는 총칭하여 메타데이터(260)라고 지칭된다.
삭제 논리(212)는 명시된 조건(들) 하에서 각자의 주 영상과 연관된 메타데이터를 삭제하도록 구성되어 있다. 예를 들어, 삭제 논리(212)는 (예컨대, 디바이스(200)의 기본 설정에 따른) 명시된 기간의 경과에 응답하여 각각의 메타데이터를 삭제하도록 구성될 수 있다. 이 예에 따르면, 각각의 메타데이터에 대한 명시된 기간은 메타데이터가 각자의 주 영상과 연관되는 시간 인스턴스(time instance)에서 시작할 수 있다. 명시된 기간은, 4 시간, 8 시간, 하루, 5일, 7일, 2주, 30일, 1개월 등과 같은, 임의의 적당한 지속기간일 수 있다.
삭제 논리(212)는 또한 명시된 조건(들) 하에서 각각의 영상 시퀀스를 삭제하도록 구성될 수 있다. 삭제 논리는 또한 명시된 조건(들) 하에서 각각의 복수의 영상들에서의 주 영상 이외의 각각의 복수의 영상들의 각각의 영상을 삭제하도록 구성될 수 있다. 삭제 논리(212)는 메타데이터, 영상 시퀀스, 및/또는 복수의 영상들에서의 주 영상 이외의 복수의 영상들에서의 각각의 영상을, 이들이 삭제되어야 한다고 명시하는 삭제 지시(262)의 수신에 응답하여, 삭제할 수 있다.
예시적인 실시예에서, 삭제 논리(212)는 지정된 메타데이터에 의해 참조되는 영상 시퀀스가 정적 영상 대신에(예컨대, 지정된 메타데이터를 가지는 주 영상 대신에) 디스플레이되기 위해 선택된 것에 응답하여 지정된 메타데이터를 삭제하지 않는 것에 의해 디바이스(200)의 기본 설정을 오버라이드(override)하도록 구성되어 있다. 디스플레이 지시자(242)는 지정된 메타데이터에 의해 참조되는 영상 시퀀스가 디스플레이되기 위해 선택된다는 것을 표시할 수 있다. 그에 따라, 디스플레이 논리(212)는 디스플레이 지시자(242)의 수신에 응답하여 기본 설정을 오버라이드할 수 있다.
다른 예시적인 실시예에서, 삭제 논리(212)는, 명시된 기간의 경과 이전에 지정된 메타데이터에 대응하는 복수의 영상들로부터의 단일의 영상이 디스플레이되기 위해 선택되는 것에 응답하여, 명시된 기간의 경과 이전에 지정된 메타데이터를 삭제하는 것에 의해 디바이스(200)의 기본 설정을 오버라이드하도록 구성되어 있다. 디스플레이 지시자(242)는 지정된 메타데이터에 대응하는 복수의 영상들로부터의 단일의 영상이 디스플레이되기 위해 선택된다는 것을 표시할 수 있다. 그에 따라, 디스플레이 논리(218)는 디스플레이 지시자(242)의 수신에 응답하여 기본 설정을 오버라이드할 수 있다.
인터페이스 논리(214)는 사용자 인터페이스(232)를 제공하도록(예컨대, 발생시키도록) 구성되어 있다. 예시적인 실시예에서, 인터페이스 논리(214)는 명시된 기간 - 이 기간 이후에 메타데이터가 삭제되어야 함 - 에 관한 응답을 디바이스(200)의 사용자에게 요청하는 질문 요소(234)를 포함하는 사용자 인터페이스(232)를 제공하도록 구성되어 있다. 이 실시예에 따르면, 인터페이스 논리(214)는 또한 사용자로부터 수신되는 응답에 기초하여 명시된 기간을 정의하도록 구성되어 있다. 예를 들면, 응답은 음성 명령, 사용자 인터페이스(232)를 통해 디스플레이되는 다수의 기간들로부터 명시된 기간의 선택, 텍스트 입력 등일 수 있다.
다른 예시적인 실시예에서, 인터페이스 논리(214)는 디바이스(200)의 사용자가 영상 시퀀스와 연관시킬 지정된 프로필을 선택할 수 있게 하는 사용자 인터페이스(232)를 제공하도록 구성되어 있다. 예를 들어, 지정된 프로필은 사용자의 프로필일 수 있다. 다른 예에서, 지정된 프로필은 사용자의 연락처의 프로필일 수 있다. 이 예에 따르면, 연락처는 디바이스(200) 상에 저장된 그리고/또는 디바이스(200)로부터 원격지에 있는 도 1에서의 저장소(108)와 같은 저장소에 저장된 연락처들의 리스트에서 식별될 수 있다.
연관 논리(216)는 영상 시퀀스를 프로필(들)(244)과 연관시키도록 구성되어 있다. 예를 들어, 각각의 프로필은 디바이스(200)의 사용자의 연락처를 표현할 수 있지만, 예시적인 실시예의 범주가 이와 관련하여 제한되지 않는다. 이 예에 따르면, 각각의 프로필은 사용자 인터페이스(232)를 통해 사용자의 복수의 연락처들로부터 선택가능할 수 있다. 또한 이 예에 따르면, 연관 논리(216)는, 복수의 연락처들로부터 프로필을 선택한 것에 응답하여, 명시된 영상 시퀀스를 프로필과 연관시키도록 구성될 수 있다.
디스플레이 논리(218)는 디스플레이(204)를 통해 콘텐츠(246)를 디스플레이하도록 구성되어 있다. 콘텐츠(246)는 정적 영상(들), 영상 시퀀스(들) 등일 수 있다. 예를 들어, 디스플레이 논리(218)는 영상 시퀀스와 연관되어 있는 프로필의 표현이 디스플레이되도록 되어 있는 디바이스(200)의 복수의 컨텍스트들 각각에서 영상 시퀀스를 디스플레이하도록 구성될 수 있다. 이 예에 따르면, 복수의 컨텍스트들은 통화 화면 컨텍스트 및/또는 연락처 컨텍스트를 포함할 수 있다.
제스처 논리(220)는 디바이스(200)와 관련하여 제스처를 검출하도록 구성되어 있다. 제스처는 디바이스(예컨대, 디바이스(200))의 사용자에 의해 수행되는 통신이며, 이 경우 디바이스의 환경 내에서의 사용자의 신체의 적어도 일부분의 배치 및/또는 움직임 그리고/또는 디바이스의 이동은 디바이스에 정보를 전달한다. 제스처의 예는 호버링 제스처(예컨대, 터치 스크린을 터치하는 일 없이 손을 흔드는 것, 가리키는 것, 적어도 문턱값 기간 동안 호버링하는 것, 손가락을 플리킹하는 것, 손의 손바닥 또는 손가락(들)을 스와이프하는 것, 손가락들을 꼬집듯이 서로 모으는 것, 손가락들을 떨어지게 움직이는 것 등), 응시 제스처(예컨대, 적어도 문턱값 기간 동안 응시하는 것), 보고 깜빡이기 제스처(예컨대, 보고 있는 동안 깜빡이는 것), 음성 제스처(예컨대, 명령을 말하는 것), 터치 제스처(예컨대, 터치 스크린과 맞닿은 상태에서 손가락을 태핑하는 것, 손가락을 스와이프하는 것, 손가락들을 꼬집듯이 서로 모으는 것, 손가락들을 떨어지게 움직이는 것 등) 등, 또는 이들의 임의의 조합을 포함하지만, 이들로 제한되지 않는다.
제스처 논리(220)는 디바이스(200)의 환경에서의 사용자의 신체의 일부분(들)의 배치 및/또는 움직임 그리고/또는 디바이스(200)의 이동을 감지할 수 있다. 제스처 논리(220)는 배치, 움직임, 및/또는 이동의 검출에 응답하여 취할 조치를 결정할 수 있다. 제스처 논리(220)는 디스플레이(204)에 대한 호버링 제스처를 검출하기 위해 디스플레이(204)에 결합되거나 디스플레이(204) 내에 포함될 수 있다. 이 예에 따르면, 제스처 논리(220)는 디스플레이(204) 위쪽에서 그리고/또는 디스플레이(204)에(예컨대, 그의 측면에) 인접하여 수행되는 호버링 제스처를 검출할 수 있을 것이다.
동작 논리(222)는 객체(들)가 영상 시퀀스의 프레임들에서 움직이고 있는지를 결정하도록 구성되어 있다. 예를 들면, 동작 논리(222)는 동작의 개시를 나타내는 영상 시퀀스에서의 프레임을 결정할 수 있다. 예를 들면, 동작 논리(222)는 제1 프레임과 제2 프레임 간의 객체의 위치의 변화를 결정하기 위해 벡터 분석(또는 다른 종류의 분석)을 사용할 수 있다. 예를 들면, 동작 논리(222)는 객체가 제1 프레임에서의 제1 위치로부터 제2 프레임에서의 제2 위치로 변하는 것으로 결정할 수 있다. 동작 논리(222)는 제1 위치와 제2 위치 사이의 거리 및 제1 프레임과 연관되어 있는 제1 시간 인스턴스와 제2 프레임과 연관되어 있는 제2 시간 인스턴스 사이의 차이에 기초하여 객체가 이동하는 속도를 결정할 수 있다. 예를 들면, 제1 시간 인스턴스와 제2 시간 인스턴스 사이의 차이는 영상 시퀀스의 프레임 레이트에 기초할 수 있다. 객체(들)가 영상 시퀀스의 프레임들에서 움직이고 있는지를 결정하기 위해 본원에 기술되는 기법들에 부가하여 또는 그 대신에 관련 기술 분야에 공지된 다른 기법들이 사용될 수 있다.
입력 결정 논리(224)는 사용자로부터의 입력이 수신되는지를 결정하도록 구성되어 있다. 예를 들면, 입력 결정 논리(224)는 사용자로부터 수신되는 입력의 유형을 결정할 수 있을 것이다. 예시적인 입력 유형들은 음성 입력, 터치 입력, 호버링 입력, 스타일러스 입력(즉, 스타일러스를 사용하는 입력), 키보드 입력(즉, 키보드를 사용하는 입력), 제스처 입력 등을 포함하지만, 이들로 제한되지 않는다. 입력 결정 논리(224)는 하나 이상의 가상 요소들이 이러한 입력에 의해 선택되는 것으로 결정할 수 있다.
활성화 논리(226)는 서브셋에 기초하는 영상 시퀀스에 대응하는 가상 요소를 선택한 것에 응답하여 영상들(258)의 서브셋에 대한 링크를 활성화시키도록 구성되어 있다. 예를 들면, 링크를 활성화시키는 것은 영상 시퀀스, 영상 시퀀스가 디스플레이될 수 있는 디바이스(200)의 컨텍스트(들), 영상들(258)의 서브셋, 서브셋에서의 주 영상 등에 관한 부가 정보를 제공할 수 있다.
지정된 기간의 경과에 응답하여 영상 시퀀스(들)(238)가 삭제될 수 있다. 표시 논리(228)는 영상 시퀀스(들)(238) 중 하나 이상이 삭제되어야 하는 시간 인스턴스를 명시하는 지시자를 제공하도록 구성되어 있다.
애니메이션화 논리(270) 내의 다양한 논리를 비롯한 디바이스(200)의 다양한 요소들이 이제부터 도 3 내지 도 9를 참조하여 보다 상세히 기술될 것이다.
도 3 내지 도 10은 실시예들에 따른, 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 예시적인 방법의 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 및 플로우차트(1000)를 나타낸 것이다. 예시를 위해, 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 및 플로우차트(1000)는 도 2에 도시된 디바이스(200)와 관련하여 기술된다. 추가적인 구조 및 동작 실시예들이 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 및 플로우차트(1000)에 관한 논의에 기초하여 관련 기술 분야(들)의 통상의 기술자에게는 명백할 것이다.
도 300에 도시된 바와 같이, 플로우차트(300)의 방법은 단계(302)에서 시작한다. 단계(302)에서, 카메라는 사용자 요소의 각각의 선택에 응답하여 복수의 영상들을 포착하도록 제어된다. 예시적인 구현에서, 제어 논리(206)는 사용자 요소(230)의 각각의 선택에 응답하여 복수의 영상들을 포착하도록 카메라(202)를 제어한다.
예를 들어, 제어 논리는 디바이스(200)의 버스트 사진 모드에 따라 사용자 요소(230)의 각각의 선택에 응답하여 복수의 영상들을 포착하도록 카메라(202)를 제어할 수 있다. 다른 예에서, 제어 논리는 디바이스(200)의 비디오 모드에 따라 사용자 요소(230)의 각각의 선택에 응답하여 복수의 영상들을 포착하도록 카메라(202)를 제어할 수 있다.
각각의 복수의 영상들이 꼭 카메라(202)에 의해 포착될 필요는 없다는 것을 잘 알 것이다. 예를 들면, 임의의 복수의 영상들이 디바이스(200) 상의 또는 디바이스(200)로부터 원격지에 있는 서버 상의 저장소로부터 검색될 수 있다. 임의의 복수의 영상들이 디바이스(200) 상에 또는 디바이스(200)로부터 원격지에 있는 서버 상에 저장된 하나 이상의 영상들로부터 도출될 수 있다. 임의의 복수의 영상들이, 예를 들어, 비디오로서 구성될 수 있다.
단계(304)에서, 영상 시퀀스가 각각의 복수의 영상들로부터 발생된다. 예시적인 구현에서, 영상 시퀀스 논리(208)는 각각의 복수의 영상들로부터 영상 시퀀스를 발생시킨다. 예를 들어, 영상 시퀀스 논리(208)는 각각의 복수의 영상들을, GIF(Graphics Interchange Format)와 같은, 지정된 비트맵 영상 포맷을 가지는 각자의 영상 시퀀스로 변환할 수 있다. 다른 예에서, 영상 시퀀스 논리(208)는 각각의 복수의 영상들로부터 각자의 영상 시퀀스를 발생시키는 컨트롤을 생성할 수 있다.
단계(306)에서, 각각의 복수의 영상들에 대해, 메타데이터가 복수의 영상들로부터 선택된 주 영상과 연관된다. 각각의 주 영상과 연관되는 메타데이터는 주 영상이 선택되는 복수의 영상들로부터 발생되는 영상 시퀀스에 대한 참조를 포함한다. 주 영상은, JPEG 포맷과 같은, 지정된 포맷을 갖도록 구성될 수 있지만, 실시예들의 범주가 이와 관련하여 제한되지 않는다. 예시적인 구현에서, 각각의 복수의 영상들에 대해, 메타데이터 논리(210)는 메타데이터를 복수의 영상들로부터 선택된 주 영상과 연관시킨다.
일부 예시적인 실시예에서, 플로우차트(300)의 하나 이상의 단계들(302, 304, 및/또는 306)이 수행되지 않을 수 있다. 더욱이, 단계들(302, 304, 및/또는 306) 이외의 또는 그 대신의 단계들이 수행될 수 있다. 예를 들어, 예시적인 실시예에서, 플로우차트(300)의 방법은, 하나 이상의 명시된 기준들 중 적어도 하나가 충족되지 않는 한, 카메라를 포함하는 디바이스의 기본 설정에 따라 명시된 기간의 경과에 응답하여 각각의 메타데이터를 삭제하는 것을 포함한다. 예를 들면, 삭제 논리(212)는, 하나 이상의 명시된 기준들 중 적어도 하나가 충족되지 않는 한, 명시된 기간의 경과에 응답하여 각각의 메타데이터를 삭제할 수 있다.
일 양태에서, 하나 이상의 명시된 기준들은 각자의 메타데이터에 의해 참조되는 영상 시퀀스가 정적 영상 대신에 디스플레이되기 위해 선택되는 기준을 포함한다. 예를 들면, 정적 영상은 각자의 메타데이터를 가지는 주 영상일 수 있다. 이 양태에 따르면, 디스플레이 지시자(242)는 각자의 메타데이터에 의해 참조되는 영상 시퀀스가 정적 영상 대신에 디스플레이되기 위해 선택된다는 것을 표시할 수 있다. 그에 따라, 삭제 논리(212)는 디스플레이 지시자(242)의 수신에 기초하여 각자의 메타데이터를 삭제하지 않을 수 있다.
다른 양태에서, 명시된 기간의 경과가 일어나는지에 관계없이, 각자의 메타데이터에 대응하는 복수의 영상들들로부터의 단일의 영상이 디스플레이되기 위해 선택되는 것에 응답하여, 각자의 메타데이터가 삭제될 수 있다. 이 양태에 따르면, 디스플레이 지시자(242)는 각자의 메타데이터에 대응하는 복수의 영상들로부터의 단일의 영상이 디스플레이되기 위해 선택된다는 것을 표시할 수 있다. 그에 따라, 삭제 논리(212)는 디스플레이 지시자(242)의 수신에 기초하여 각자의 메타데이터를 삭제할 수 있다.
다른 예시적인 실시예에서, 플로우차트(300)의 방법은 도 4의 플로우차트(400)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 4에 도시된 바와 같이, 플로우차트(400)의 방법은 단계(402)에서 시작한다. 단계(402)에서, 명시된 기간에 관한 응답을 카메라를 포함하는 디바이스의 사용자에게 요청하는 질문 요소를 포함하는 사용자 인터페이스가 제공된다. 예시적인 구현에서, 인터페이스 논리(214)는 질문 요소(234)를 포함하는 사용자 인터페이스(232)를 제공한다.
단계(404)에서, 명시된 기간은 응답에 기초하여 정의된다. 예시적인 구현에서, 인터페이스 논리(214)는 명시된 기간을 정의한다.
또 다른 예시적인 실시예에서, 플로우차트(300)의 방법은 도 5의 플로우차트(500)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 5에 도시된 바와 같이, 플로우차트(500)의 방법은 단계(502)에서 시작한다. 단계(502)에서, 카메라를 포함하는 디바이스의 사용자가 영상 시퀀스와 연관시킬 지정된 프로필을 선택할 수 있게 하는 사용자 인터페이스가 제공된다. 예시적인 구현에서, 인터페이스 논리(214)는 디바이스(200)의 사용자가 지정된 프로필을 선택할 수 있게 하는 사용자 인터페이스(232)를 제공한다.
단계(504)에서, 지정된 프로필의 선택에 응답하여 영상 시퀀스가 지정된 프로필과 연관된다. 예시적인 구현에서, 연관 논리(216)는 영상 시퀀스를 지정된 프로필과 연관시킨다. 예를 들면, 연관 논리(216)는 프로필(들)(244)에서 지정된 프로필을 찾아낼 수 있다. 연관 논리(216)는 영상 시퀀스가 지정된 프로필과 연관되어 있다는 것을 표시하기 위해 연관 지시자(264)를 발생시킬 수 있다.
단계(506)에서, 영상 시퀀스를 지정된 프로필과 연관시킨 것에 응답하여, 지정된 프로필의 표현이 카메라를 포함하는 디바이스에 의해 디스플레이되어야 하는 복수의 컨텍스트들 각각에서 영상 시퀀스가 디스플레이된다. 예시적인 구현에서, 디스플레이 논리(218)는 디바이스(200)의 복수의 컨텍스트들 각각에서 영상 시퀀스를 디스플레이한다. 예를 들면, 디스플레이 논리(218)는 연관 지시자(264)의 수신에 기초하여 복수의 컨텍스트들 각각에서 영상 시퀀스를 디스플레이할 수 있다.
또 다른 예시적인 실시예에서, 플로우차트(300)의 방법은 도 6의 플로우차트(600)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 6에 도시된 바와 같이, 플로우차트(600)의 방법은 단계(602)에서 시작한다. 단계(602)에서, 디스플레이되기 위해 선택되는 표현은 포착된 복수의 영상들로부터의 주 영상으로 설정된다. 예시적인 구현에서, 제어 논리(206)는 표현을 주 영상으로 설정한다.
단계(604)에서, 카메라를 포함하는 디바이스와 관련하여 제스처가 검출된다. 예시적인 구현에서, 제스처 논리(220)는 디바이스(200)와 관련하여 제스처를 검출한다. 예를 들면, 제스처 논리(220)는 제스처(248)가 검출된다는 것을 표시하기 위해 제스처 지시자(266)를 발생시킬 수 있다.
단계(606)에서, 표현이, 제스처를 검출한 것에 응답하여, 포착된 복수의 영상들로부터의 주 영상으로부터 포착된 복수의 영상들로부터 발생되는 영상 시퀀스로 변경된다. 예시적인 구현에서, 제어 논리(206)는 표현을 주 영상으로부터 영상 시퀀스로 변경한다. 예를 들면, 제어 논리(206)는 제스처 지시자(266)의 수신에 기초하여 표현을 변경할 수 있다.
도 7에 도시된 바와 같이, 플로우차트(700)의 방법은 단계(702)에서 시작한다. 단계(702)에서, 주 영상들이 수신된다. 각각의 주 영상은 주 영상을 포함하는 각자의 복수의 영상들에 기초하는 각자의 영상 시퀀스에 대한 참조를 포함하는 메타데이터를 가진다. 예시적인 구현에서, 디스플레이 논리(218)는 주 영상(들)(240)을 수신한다.
단계(704)에서, 가상 요소들을 포함하는 사용자 인터페이스가 제공된다. 각각의 가상 요소는 각자의 주 영상에 대응한다. 각각의 가상 요소는 또한 각자의 주 영상의 메타데이터에서 참조되는 복수의 영상 시퀀스들의 각자의 영상 시퀀스에 대응한다. 예시적인 구현에서, 인터페이스 논리(214)는 사용자 인터페이스(232)를 제공한다.
단계(706)에서, 각각의 가상 요소에 대해, 가상 요소에 대응하는 주 영상이 가상 요소에 디스플레이된다. 예시적인 구현에서, 각각의 가상 요소에 대해, 디스플레이 논리(218)는 가상 요소에 대응하는 주 영상을 가상 요소에 디스플레이한다.
단계(708)에서, 지정된 가상 요소와 관련하여 제스처가 검출된다. 예시적인 구현에서, 제스처 논리(220)는 제스처(248)를 검출한다.
단계(710)에서, 지정된 가상 요소와 관련하여 제스처를 검출한 것에 응답하여, 지정된 가상 요소에 대응하는 주 영상 대신에, 지정된 가상 요소에 대응하는 영상 시퀀스가 지정된 가상 요소에 디스플레이된다. 예시적인 구현에서, 디스플레이 논리(218)는 지정된 가상 요소에 대응하는 영상 시퀀스를 지정된 가상 요소에 디스플레이한다.
일부 예시적인 실시예에서, 플로우차트(700)의 하나 이상의 단계들(702, 704, 706, 708, 및/또는 710)이 수행되지 않을 수 있다. 더욱이, 단계들(702, 704, 706, 708, 및/또는 710) 이외의 또는 그 대신의 단계들이 수행될 수 있다. 예를 들어, 예시적인 실시예에서, 플로우차트(700)의 방법은 동작의 개시를 나타내는 지정된 가상 요소에 대응하는 영상 시퀀스에서의 프레임을 결정하는 것을 포함한다. 예를 들어, 동작 논리(222)는 동작의 개시를 나타내는 지정된 가상 요소에 대응하는 영상 시퀀스에서의 프레임을 결정한다. 동작 논리(222)는 프레임을 명시하기 위해 프레임 지시자(268)를 발생시킬 수 있다. 이 실시예에 따르면, 단계(710)는 프레임에서 지정된 가상 요소에 대응하는 영상 시퀀스를 디스플레이하기 시작하는 것을 포함한다. 예를 들어, 디스플레이 논리(218)는 프레임에서 디스플레이하기 시작할 수 있다. 이 예에 따르면, 디스플레이 논리(218)는 프레임 지시자(268)의 수신에 기초하여 프레임에서 디스플레이하기 시작할 수 있다.
다른 예시적인 실시예에서, 플로우차트(700)의 방법은 도 8의 플로우차트(800)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 8에 도시된 바와 같이, 플로우차트(800)의 방법은 단계(802)에서 시작한다. 단계(802)에서, 지정된 가상 요소에 대응하는 영상 시퀀스를 지정된 가상 요소에 디스플레이한 후에 명시된 가상 요소와 관련하여 제2 제스처가 검출된다. 예시적인 구현에서, 제스처 논리(220)는 제2 제스처를 검출한다.
단계(804)에서, 명시된 가상 요소와 관련하여 제2 제스처를 검출한 것에 응답하여, 지정된 가상 요소에 대응하는 영상 시퀀스 대신에, 지정된 가상 요소에 대응하는 주 영상이 지정된 가상 요소에 디스플레이된다. 예시적인 구현에서, 디스플레이 논리(218)는 지정된 가상 요소에 대응하는 주 영상을 지정된 가상 요소에 디스플레이한다.
단계(806)에서, 명시된 가상 요소와 관련하여 제2 제스처를 검출한 것에 응답하여, 명시된 가상 요소에 대응하는 주 영상 대신에, 명시된 가상 요소에 대응하는 영상 시퀀스가 명시된 가상 요소에 디스플레이된다. 예시적인 구현에서, 디스플레이 논리(218)는 명시된 가상 요소에 대응하는 영상 시퀀스를 명시된 가상 요소에 디스플레이한다.
또 다른 예시적인 실시예에서, 플로우차트(700)의 방법은 도 9의 플로우차트(900)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 9에 도시된 바와 같이, 플로우차트(900)의 방법은 단계(902)에서 시작한다. 단계(902)에서, 지정된 가상 요소가 제스처 이외의 입력에 의해 선택되는 것으로 결정이 행해진다. 예시적인 구현에서, 입력 결정 논리(224)는 지정된 가상 요소가 입력(250)에 의해 선택되는 것으로 결정한다. 입력 결정 논리(224)는 지정된 가상 요소가 입력(250)에 의해 선택되는 것에 응답하여 활성화 지시(252)를 발생시킬 수 있다. 활성화 지시(252)는 지정된 가상 요소에 대응하는 영상 시퀀스가 기초하고 있는 복수의 영상들에 대한 링크를 활성화시키라고 활성화 논리(226)에 지시한다.
단계(904)에서, 지정된 가상 요소가 입력에 의해 선택되는 것으로 결정한 것에 응답하여, 지정된 가상 요소에 대응하는 영상 시퀀스가 기초하고 있는 복수의 영상들에 대한 링크가 활성화된다. 예시적인 구현에서, 활성화 논리(226)는 링크를 활성화시킨다. 예를 들면, 활성화 논리(226)는 활성화 지시(252)의 수신에 기초하여 링크를 활성화시킬 수 있다. 활성화 논리(226)는, 링크를 활성화시키는 것에 응답하여, 링크가 활성화된다는 것을 명시하는 활성화 통지자(activation notifier)(254)를 발생시킬 수 있다.
이 실시예의 일 양태에서, 플로우차트(700)의 방법은, 지정된 가상 요소에 대응하는 영상 시퀀스가 기초하고 있는 복수의 영상들에 대한 링크를 활성화시키는 것에 응답하여, 지정된 가상 요소에 대응하는 영상 시퀀스가 삭제되어야 하는 시간 인스턴스를 명시하는 지시자를 제공하는 것을 포함할 수 있다. 예시적인 구현에서, 표시 논리(228)는 지정된 가상 요소에 대응하는 영상 시퀀스가 삭제되어야 하는 시간 인스턴스를 명시하는 시간 지시자(time indicator)(272)를 제공한다. 예를 들면, 표시 논리(228)는 활성화 통지자(254)의 수신에 기초하여 시간 지시자(272)를 제공할 수 있다.
이 실시예의 다른 양태에서, 플로우차트(700)의 방법은 지정된 가상 요소에 대응하는 영상 시퀀스가 디스플레이되도록 되어 있는 디바이스의 복수의 컨텍스트들로부터의 하나 이상의 컨텍스트들의 선택을 가능하게 하는 사용자 인터페이스를 제공하는 것을 포함할 수 있다. 예를 들면, 복수의 컨텍스트들은 잠금 화면 컨텍스트, 시작 메뉴 컨텍스트, 통화 화면 컨텍스트, 연락처 컨텍스트, 사진 허브 컨텍스트, 사진 갤러리 뷰어 컨텍스트, 단일 사진 뷰어 컨텍스트, 핀으로 고정된 사진 앨범 컨텍스트, 카메라 롤 컨텍스트, 온라인 앨범 컨텍스트, 좋아하는 사진 컨텍스트 등을 포함할 수 있다. 예시적인 구현에서, 인터페이스 논리(214)는 하나 이상의 컨텍스트들의 선택을 가능하게 하기 위해 사용자 인터페이스(232)를 제공할 수 있다.
또 다른 예시적인 실시예에서, 플로우차트(700)의 방법은 도 10의 플로우차트(1000)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 10에 도시된 바와 같이, 플로우차트(1000)의 방법은 단계(1002)에서 시작한다. 단계(1002)에서, 하나 이상의 주 영상들이 움직이고 있는 적어도 하나의 객체를 나타내지 않는 것으로 결정이 행해진다. 예시적인 구현에서, 동작 논리(222)는 하나 이상의 주 영상들이 움직이고 있는 적어도 하나의 객체를 나타내지 않는 것으로 결정한다.
단계(1004)에서, 하나 이상의 주 영상들이 움직이고 있는 적어도 하나의 객체를 나타내지 않는 것으로 결정한 것에 응답하여, 하나 이상의 주 영상들 각각에 대한 메타데이터가 삭제된다. 예시적인 구현에서, 삭제 논리(212)는 하나 이상의 주 영상들 각각에 대한 메타데이터를 삭제한다. 예를 들면, 동작 논리(222)는 하나 이상의 주 영상들 각각에 대한 메타데이터를 삭제하라고 삭제 논리(212)에 지시하기 위해 삭제 지시(262)를 발생시킬 수 있다. 삭제 논리(212)는, 삭제 지시(262)의 수신에 기초하여, 하나 이상의 주 영상들 각각을 삭제할 수 있다.
디바이스(200)가 도 2에 도시된 컴포넌트들 전부를 포함하는 것은 아닐 수 있음을 잘 알 것이다. 예를 들면, 디바이스(200)는 카메라(202), 디스플레이(204), 애니메이션화 논리(270), 사용자 요소(230), 사용자 인터페이스(232), 질문 요소(234), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 및/또는 표시 논리(228) 중 하나 이상을 포함하지 않을 수 있다. 게다가, 디바이스(200)는 카메라(202), 디스플레이(204), 애니메이션화 논리(270), 사용자 요소(230), 사용자 인터페이스(232), 질문 요소(234), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 및/또는 표시 논리(228)에 부가하여 또는 그 대신에 컴포넌트들을 포함할 수 있다.
도 11 내지 도 13은 실시예들에 따른, 메타데이터 기반 사진 및/또는 비디오 애니메이션화를 제공하는 예시적인 방법의 플로우차트(1100), 플로우차트(1200), 및 플로우차트(1300)를 나타낸 것이다. 예시를 위해, 플로우차트(1100), 플로우차트(1200), 및 플로우차트(1300)는, 일 실시예에 따른, 도 1의 서버(들)(102)의 일 예인, 도 14에 도시된 서버(들)(1400)과 관련하여 기술된다. 도 14에 도시된 바와 같이, 서버(들)(1400)는 저장소(1402) 및 서버측 메타데이터 기반 애니메이션화 논리(1430)(이후부터 "애니메이션화 논리(1430)"라고 함)를 포함한다. 애니메이션화 논리(1430)는 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및 버전 논리(1412)를 포함한다. 추가적인 구조 및 동작 실시예들이 플로우차트(1100), 플로우차트(1200), 및 플로우차트(1300)에 관한 논의에 기초하여 관련 기술 분야(들)의 통상의 기술자에게는 명백할 것이다.
도 11에 도시된 바와 같이, 플로우차트(1100)의 방법은 단계(1102)에서 시작한다. 단계(1102)에서, 주 영상이 네트워크를 통해 제1 디바이스로부터 저장소에 수신된다. 주 영상은 주 영상을 포함하는 복수의 영상들에 기초하는 지정된 영상 시퀀스에 대한 참조(예컨대, 지정된 영상 시퀀스의 위치를 표시하는 참조)를 포함하는 메타데이터를 가진다. 주 영상은 제1 사용자의 프로필을 표현한다. 예시적인 구현에서, 저장소(1402)는 제1 디바이스로부터 주 영상(1414)을 수신한다. 지정된 영상 시퀀스가 다양한 방식들 중 임의의 것으로 발생될 수 있다. 예를 들어, 복수의 영상들이 제1 디바이스에서 포착될 수 있고, 지정된 영상 시퀀스가 제1 디바이스에서 또는 서버(들)(1400)에서 발생될 수 있다. 다른 예에서, 지정된 영상 시퀀스가 제1 사용자로부터의 지시에 따라 서버(들)(1400)에서 발생될 수 있다. 또 다른 예에서, 지정된 영상 시퀀스가 써드파티 애플리케이션에 의해 발생될 수 있다. 이 예에 따르면, 써드파티 애플리케이션은 지정된 영상 시퀀스를 서버(들)(1400)에 제공할 수 있다.
단계(1104)에서, 네트워크를 통해 제1 디바이스와 상이한 제2 디바이스로부터 부트업 지시자가 저장소에 수신된다. 부트업 지시자는 제2 디바이스가 부트업 프로세스를 수행하고 있다는 것을 표시한다. 예시적인 구현에서, 저장소(1402)는 제2 디바이스로부터 부트업 지시자(1416)를 수신한다.
단계(1106)에서, 제1 사용자가 제2 디바이스와 연관된 연락처들의 리스트에서 식별되는 것으로 결정이 행해진다. 예시적인 구현에서, 식별 논리(1404)는 제1 사용자가 제2 디바이스와 연관되어 있는 연락처들(1430)에서 식별되는 것으로 결정한다.
단계(1108)에서, 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지의 결정이 행해진다. 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있다면, 흐름은 단계(1110)로 계속된다. 그렇지 않은 경우, 흐름은 단계(1114)로 계속된다. 예시적인 구현에서, 능력 논리(1406)는 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 결정한다. 예를 들어, 능력 논리(1406)는 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 표시할 수 있는 통지자(1432)를 수신할 수 있다. 이 예에 따르면, 능력 논리(1406)는 제2 디바이스로부터 통지자(1432)를 수신할 수 있다. 능력 논리(1406)는, 통지자(1432)의 수신에 기초하여, 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 결정할 수 있다. 능력 논리(1406)는 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 명시하기 위해 능력 지시자(1428)를 제공할 수 있다.
단계(1110)에서, 지정된 영상 시퀀스가 참조에 기초하여 검색된다. 예시적인 구현에서, 제공 논리(1408)는 지정된 영상 시퀀스(1434)를 검색한다. 예를 들면, 제공 논리(1408)는 검색 지시(1426)를 저장소(1402)에 제공하여, 지정된 영상 시퀀스(1434)를 제공하라고 저장소(1402)에 지시할 수 있다. 제공 논리(1408)는, 검색 지시(1426)를 제공한 것에 응답하여, 지정된 영상 시퀀스(1434)를 수신할 수 있다. 예를 들어, 지정된 영상 시퀀스(1434)는 콘텐츠(1420)에 포함될 수 있다.
단계(1112)에서, 제1 사용자의 프로필을 표현하기 위해, 지정된 영상 시퀀스가 제2 디바이스에 제공된다. 예시적인 구현에서, 제공 논리(1408)는 지정된 영상 시퀀스(1434)를 제2 디바이스에 제공한다.
단계(1114)에서, 제1 사용자의 프로필을 표현하기 위해 지정된 영상 시퀀스 대신에 주 영상이 제2 디바이스에 제공된다. 예시적인 구현에서, 제공 논리(1408)는 지정된 영상 시퀀스(1434) 대신에 주 영상(1414)을 제2 디바이스에 제공한다.
예시적인 실시예에서, 제2 디바이스는 영상 시퀀스를 사용하여 연락처를 표현할 수 있다. 이 실시예에 따르면, 제2 디바이스에 대해 로컬적으로 저장되고 저장소와 동기되지 않는 정적 영상 또는 다른 영상 시퀀스가 지정된 영상 시퀀스 대신에 제2 디바이스에서 제1 사용자의 프로필을 표현하는 데 사용된다.
복수의 디바이스들 각각에 대해, 디바이스들이 부트업 프로세스를 수행한 것에 응답하여, 단계들(1104, 1106, 1108, 1110, 1112, 및/또는 1114)이 수행될 수 있지만, 예시적인 실시예의 범주가 이와 관련하여 제한되지 않는다는 것을 잘 알 것이다.
또한, 단계들(1102, 1104, 1106, 1108, 및/또는 1110) 중 임의의 하나 이상의 단계들이 (예컨대, 서버(들)(102)와 같은 서버(들) 또는 그 서버(들)에 있는 서버측 메타데이터 기반 애니메이션화 논리보다는) 제2 디바이스(예컨대, 디바이스들(106A 내지 106N) 중 임의의 디바이스) 또는 제2 디바이스에 있는 클라이언트측 메타데이터 기반 애니메이션화 논리에 의해 수행될 수 있다는 것을 잘 알 것이다. 예를 들면, 단계(1102)에서, 제2 디바이스 상의 저장소는 주 영상 시퀀스를 수신할 수 있다. 제2 디바이스 상의 클라이언트측 메타데이터 기반 애니메이션화 논리는, 단계(1106)에서, 제1 사용자가 연락처들의 리스트에서 식별되는 것으로 결정하고, 단계(1108)에서, 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있는지를 결정하며, 그리고/또는 (예컨대, 제2 디바이스가 영상 시퀀스를 사용하여 연락처를 표현할 수 있다는 결정에 기초하여), 단계(1110)에서, 지정된 영상 시퀀스를 검색할 수 있다. 제2 디바이스는 영상 시퀀스를 나중에 사용하기 위해 캐싱할 수 있지만, 예시적인 실시예들의 범주가 이와 관련하여 제한되지 않는다. 제2 디바이스가 주 영상을 제공하기보다는, 단계(1114)에서, 주 영상을 수신할 수 있다.
제2 디바이스는 연락처들의 리스트를 저장할 수 있다. 그에 따라 서버(들)가 연락처들에 관해 꼭 알고 있을 필요는 없다. 디바이스는, 단계(1110)에서, Google® 또는 Facebook®과 같은 써드파티 서비스(예컨대, 레거시 서비스)로부터 영상 시퀀스를 검색할 수 있다.
일부 예시적인 실시예에서, 플로우차트(1100)의 하나 이상의 단계들(1102, 1104, 1106, 1108, 1110, 1112, 및/또는 1114)이 수행되지 않을 수 있다. 더욱이, 단계들(1102, 1104, 1106, 1108, 1110, 1112, 및/또는 1114) 이외의 또는 그 대신의 단계들이 수행될 수 있다. 예를 들어, 예시적인 실시예에서, 플로우차트(1100)의 방법은 제1 사용자의 각자의 프로필들을 표현하는 정적 영상들을 저장하는 것을 포함한다. 프로필들은 각자의 서비스들에 대응한다. 서비스의 예는 Microsoft Exchange Server®, Facebook® 등을 포함하지만, 이들로 제한되지 않는다. 예시적인 구현에서, 저장소(1402)는 정적 영상들(1418)을 저장한다. 정적 영상들(1418)이 주 영상(1414)을 포함할 수 있다는 것을 잘 알 것이다.
이 실시예에 따르면, 단계(1112)는 지정된 영상 시퀀스를 프로필들과 관련하여 사용되기 위해 제2 디바이스에 제공하는 것에 의해 정적 영상들을 지정된 영상 시퀀스로 오버라이드하는 것을 포함한다. 예를 들면, 제공 논리(1408)는 (예컨대, 서버(들)(1400)의 기본 설정에 따라) 정적 영상들(1418)을 지정된 영상 시퀀스(1434)로 오버라이드할 수 있다.
다른 예시적인 실시예에서, 플로우차트(1100)의 방법은 도 12의 플로우차트(1200)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 12에 도시된 바와 같이, 플로우차트(1200)의 방법은 단계(1202)에서 시작한다. 단계(1202)에서, 주 영상이 정적 영상이라는 결정이 행해진다. 예를 들면, 영상 결정 논리(1410)는 주 영상(1414)이 정적 영상이라고 결정할 수 있다.
단계(1204)에서, 주 영상이 정적 영상이라고 결정한 것에 응답하여 주 영상이 메타데이터를 포함하는지를 결정하기 위해 주 영상이 검토된다. 예를 들면, 영상 결정 논리(1410)는 주 영상(1414)이 메타데이터를 포함하는지를 결정하기 위해 주 영상(1414)을 검토할 수 있다.
단계들(1202, 및/또는 1204)이 (예컨대, 서버(들)(102)와 같은 서버(들) 또는 그 서버(들)에 있는 서버측 메타데이터 기반 애니메이션화 논리보다는) 제2 디바이스 또는 제2 디바이스에 있는 클라이언트측 메타데이터 기반 애니메이션화 논리에 의해 수행될 수 있다는 것을 잘 알 것이다. 예를 들면, 단계(1202)에서, 제2 디바이스 상의 클라이언트측 메타데이터 기반 애니메이션화 논리는 주 영상이 정적 영상이라고 결정할 수 있다. 단계(1204)에서, 제2 디바이스 상의 클라이언트측 메타데이터 기반 애니메이션화 논리는 주 영상을 검토할 수 있다.
다른 예시적인 실시예에서, 플로우차트(1100)의 방법은 도 13의 플로우차트(1300)에 도시된 단계들 중 하나 이상을 포함할 수 있다. 도 13에 도시된 바와 같이, 플로우차트(1300)의 방법은 단계(1302)에서 시작한다. 단계(1302)에서, 지정된 영상 시퀀스의 업데이트된 버전이 존재하는 것을 표시하기 위해 지정된 영상 시퀀스의 버전을 명시하는 버전 지시자가 변하는 것으로 결정이 행해진다. 예를 들어, 버전 지시자(1424)가 지정된 영상 시퀀스(1434)의 버전을 명시할 수 있다. 이 예에 따르면, 버전 논리(1412)는 지정된 영상 시퀀스(1434)의 업데이트된 버전이 존재한다는 것을 표시하기 위해 버전 지시자(1424)가 변하는 것으로 결정할 수 있다.
단계(1304)에서, 지정된 영상 시퀀스의 업데이트된 버전이 제2 디바이스에 제공한다. 예를 들어, 제공 논리(1408)는 지정된 영상 시퀀스(1434)의 업데이트된 버전을 제2 디바이스에 제공할 수 있다. 이 예에 따르면, 버전 논리(1412)는 지정된 영상 시퀀스(1434)의 업데이트된 버전을 제공하라고 저장소(1402)에 지시하는 검색 지시(1426)를 저장소(1402)에 제공할 수 있다. 예를 들면, 버전 논리(1412)는 버전 지시자(1424)의 수신에 기초하여 검색 지시(1426)를 제공할 수 있다. 제공 논리(1408)는, 검색 지시(1426)를 제공한 것에 응답하여, 지정된 영상 시퀀스(1434)의 업데이트된 버전을 저장소(1402)로부터 수신할 수 있다. 지정된 영상 시퀀스의 업데이트된 버전은, 예를 들어, 콘텐츠(1420)에 포함될 수 있다. 제공 논리(1408)는, 저장소(1402)로부터 수신할 때, 지정된 영상 시퀀스의 업데이트된 버전을 제공할 수 있다.
단계(1302)가 (예컨대, 서버(들)(102)와 같은 서버(들) 또는 그 서버(들)에 있는 서버측 메타데이터 기반 애니메이션화 논리보다는) 제2 디바이스 또는 제2 디바이스에 있는 클라이언트측 메타데이터 기반 애니메이션화 논리에 의해 수행될 수 있다는 것을 잘 알 것이다. 예를 들면, 단계(1302)에서, 제2 디바이스 상의 클라이언트측 메타데이터 기반 애니메이션화 논리는 버전 지시자가 변하는 것으로 결정할 수 있다. 1304에서, 제2 디바이스 상의 클라이언트측 메타데이터 기반 애니메이션화 논리는, 업데이트된 버전을 제공하기보다는, 지정된 영상 시퀀스의 업데이트된 버전을 수신(예컨대, 검색)할 수 있다.
서버(들)(1400)가 도 14에 도시된 컴포넌트들 전부를 포함하는 것은 아닐 수 있음을 잘 알 것이다. 예를 들면, 서버(들)(1400)는 저장소(1402), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412) 중 하나 이상을 포함하지 않을 수 있다. 게다가, 서버(들)(1400)는 저장소(1402), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412) 이외의 또는 그 대신의 컴포넌트들을 포함할 수 있다.
도 15는 각종의 선택적인 하드웨어 및 소프트웨어 컴포넌트들(전체적으로 1502로 도시되어 있음)을 포함하는 예시적인 모바일 디바이스(1500)를 나타낸 시스템도이다. 모바일 디바이스 내의 임의의 컴포넌트들(1502)은 임의의 다른 컴포넌트와 통신할 수 있지만, 예시의 편의를 위해, 연결들 모두가 도시되어 있지는 않다. 모바일 디바이스(1500)는 각종의 컴퓨팅 디바이스들(예컨대, 휴대폰, 스마트폰, 핸드헬드 컴퓨터, PDA(Personal Digital Assistant) 등) 중 임의의 것일 수 있고, 셀룰러 또는 위성 네트워크와 같은, 하나 이상의 이동 통신 네트워크들(1504)과의 또는 LAN(local area network) 또는 WAN(wide area network)와의 무선 양방향 통신을 가능하게 할 수 있다.
예시된 모바일 디바이스(1500)는 신호 코딩, 데이터 처리, 입출력 처리, 전력 제어, 및/또는 다른 기능들과 같은 작업들을 수행하기 위한 제어기 또는 프로세서(1510)(예컨대, 신호 프로세서, 마이크로프로세서, ASIC, 또는 다른 제어 및 처리 논리 회로부)를 포함할 수 있다. 운영 체제(1512)는 컴포넌트들(1502)의 할당 및 사용과 하나 이상의 애플리케이션 프로그램들(1514)(애플리케이션이라고도 함)에 대한 지원을 제어할 수 있다. 애플리케이션 프로그램들(1514)은 통상의 모바일 컴퓨팅 애플리케이션들(예컨대, 이메일 애플리케이션, 달력, 연락처 관리자, 웹 브라우저, 메시징 애플리케이션) 및 임의의 다른 컴퓨팅 애플리케이션들(예컨대, 워드 프로세싱 애플리케이션, 지도 제작 애플리케이션, 미디어 플레이어 애플리케이션)을 포함할 수 있다.
예시된 모바일 디바이스(1500)는 메모리(1520)를 포함할 수 있다. 메모리(1520)는 비이동식 메모리(1522) 및/또는 이동식 메모리(1524)를 포함할 수 있다. 비이동식 메모리(1522)는 RAM, ROM, 플래시 메모리, 하드 디스크, 또는 다른 널리 공지된 메모리 저장 기술들을 포함할 수 있다. 이동식 메모리(1524)는 플래시 메모리 또는 GSM 통신 시스템에서 널리 공지되어 있는 SIM(Subscriber Identity Module) 카드, 또는 "스마트 카드"와 같은 다른 널리 공지된 메모리 저장 기술들을 포함할 수 있다. 메모리(1520)는 운영 체제(1512) 및 애플리케이션들(1514)을 실행하기 위한 데이터 및/또는 코드를 저장하는 데 사용될 수 있다. 예시적인 데이터는 하나 이상의 유선 또는 무선 네트워크들을 통해 하나 이상의 네트워크 서버들 또는 다른 디바이스들로 송신되고 그리고/또는 그로부터 수신될 웹 페이지, 텍스트, 영상, 사운드 파일, 비디오 데이터, 또는 다른 데이터 세트를 포함할 수 있다. 메모리(1520)는 IMSI(International Mobile Subscriber Identity)와 같은 가입자 식별자(subscriber identifier), 및 IMEI(International Mobile Equipment Identifier)와 같은 장비 식별자(equipment identifier)를 저장하는 데 사용될 수 있다. 이러한 식별자들은 사용자들 및 장비를 식별하기 위해 네트워크 서버로 전송될 수 있다.
모바일 디바이스(1500)는 터치 스크린(1532), 마이크로폰(1534), 카메라(1536), 물리 키보드(1538) 및/또는 트랙볼(1540)과 같은 하나 이상의 입력 디바이스들(1530), 그리고 스피커(1552) 및 디스플레이(1554)와 같은 하나 이상의 출력 디바이스들(1550)을 지원할 수 있다. 터치 스크린(1532)과 같은, 터치 스크린은 상이한 방식들로 입력을 검출할 수 있다. 예를 들어, 용량성 터치 스크린은, 물체(예컨대, 손가락 끝)가 표면을 가로질러 지나는 전류를 왜곡시키거나 차단시킬 때, 터치 입력을 검출한다. 다른 예로서, 터치 스크린은 광 센서들로부터의 빔들이 차단될 때 터치 입력을 검출하기 위해 광 센서들을 사용할 수 있다. 입력이 일부 터치 스크린에 의해 검출되기 위해 스크린의 표면과의 물리적 접촉이 필요하지 않다. 예를 들어, 터치 스크린(1532)은, 본 기술 분야에 널리 알려져 있는 바와 같이, 정전용량 감지를 사용하여 손가락 호버링 검출(finger hover detection)을 지원할 수 있다. 카메라 기반 검출 및 초음파 기반 검출을 비롯한, 다른 검출 기법들이 사용될 수 있다. 손가락 호버링을 구현하기 위해, 사용자의 손가락이 전형적으로 터치 스크린 위쪽으로 미리 결정된 이격 거리(spaced distance)(0.1 인치와 0.25 인치 사이, 또는 0.25 인치와 0.5 인치 사이, 또는 0.5 인치와 0.75 인치 사이, 또는 0.75 인치와 1 인치 사이, 또는 1 인치와 1.5 인치 사이, 기타 등등) 내에 있다.
모바일 디바이스(1500)는 클라이언트측 메타데이터 기반 애니메이션화 논리(1592)(이후부터 "애니메이션화 논리(1592)"라고 함)를 포함할 수 있다. 애니메이션화 논리(1592)는 본원에 기술되는 기법들 중 임의의 하나 이상에 따라 모바일 디바이스(1500) 상에서 사진 및/또는 비디오 애니메이션화를 제공하도록 구성되어 있다.
다른 가능한 출력 디바이스들(도시되지 않음)은 압전 또는 다른 햅틱 출력 디바이스들을 포함할 수 있다. 일부 디바이스들은 하나 초과의 입출력 기능을 제공할 수 있다. 예를 들어, 터치 스크린(1532) 및 디스플레이(1554)가 단일의 입출력 디바이스에 결합되어 있을 수 있다. 입력 디바이스들(1530)은 NUI(Natural User Interface)를 포함할 수 있다. NUI는 사용자가, 마우스, 키보드, 리모콘 등과 같은 입력 디바이스들에 의해 부과되는 인위적 제약조건들 없이, "자연스러운" 방식으로 디바이스와 상호작용할 수 있게 하는 임의의 인터페이스 기술이다. NUI 방법의 예들은 음성 인식, 터치 및 스타일러스 인식, 스크린 상에서의 제스처 인식 및 스크린에 인접한 제스처 인식 둘 다, 에어 제스처(air gesture), 머리 및 눈 추적, 음성(voice) 및 발화(speech), 시각(vision), 터치, 제스처, 및 기계 지능(machine intelligence)에 의존하는 것들을 포함한다. NUI의 다른 예는 가속도계/자이로스코프, 얼굴 인식, 3D 디스플레이, 머리, 눈, 및 시선 추적(gaze tracking), 몰입형 증강 현실 및 가상 현실 시스템(이들 모두는 보다 자연스러운 인터페이스를 제공함)을 사용하는 움직임 제스처 검출은 물론, 전기장 감지 전극들을 사용하여 뇌 활동을 감지하기 위한 기술들(EEG 및 관련 방법들)을 포함한다. 이와 같이, 하나의 구체적인 예에서, 운영 체제(1512) 또는 애플리케이션들(1514)은 사용자가 음성 명령을 통해 디바이스(1500)를 작동시킬 수 있게 하는 음성 제어 인터페이스의 일부로서 음성 인식 소프트웨어를 포함할 수 있다. 게다가, 디바이스(1500)는 게임 애플리케이션에 입력을 제공하기 위해 제스처들을 검출하고 해석하는 것과 같은, 사용자의 공간 제스처들을 통한 사용자 상호작용을 가능하게 하는 입력 디바이스들 및 소프트웨어를 포함할 수 있다.
본 기술 분야에서 널리 알려져 있는 바와 같이, 무선 모뎀(들)(1560)은 안테나(들)(도시되지 않음)에 결합될 수 있고, 프로세서(1510)와 외부 디바이스들 사이의 양방향 통신을 지원할 수 있다. 모뎀(들)(1560)은 총칭하여 도시되어 있고, 이동 통신 네트워크(1504)와 통신하기 위한 셀룰러 모뎀 및/또는 다른 무선 기반 모뎀들(예컨대, 블루투스(1564) 및/또는 Wi-Fi(1562))을 포함할 수 있다. 무선 모뎀(들)(1560) 중 적어도 하나는 전형적으로 단일의 셀룰러 네트워크 내에서의, 셀룰러 네트워크들 간의, 또는 모바일 디바이스와 PSTN(public switched telephone network) 간의 데이터 및 음성 통신을 위한 GSM 네트워크와 같은, 하나 이상의 셀룰러 네트워크들과 통신하도록 구성되어 있다.
모바일 디바이스는 적어도 하나의 입출력 포트(1580), 전원(1582), GPS(Global Positioning System) 수신기와 같은, 위성 항법 시스템 수신기(satellite navigation system receiver)(1584), 가속도계(1586), 및/또는 USB 포트, IEEE 1394(Fire Wire) 포트, 및/또는 RS-232 포트일 수 있는, 물리적 커넥터(1590)를 추가로 포함할 수 있다. 본 기술 분야의 통상의 기술자라면 잘 알 것인 바와 같이, 임의의 구성요소들이 삭제될 수 있고 다른 구성요소들이 추가될 수 있기 때문에, 예시된 구성요소들(1502)이 필수적인 것이지도 모두 포함되는 것도 아니다.
개시된 방법들 중 일부 방법들의 동작들이, 제시의 편의를 위해, 특정의 순차적 순서로 기술되어 있지만, 본원에서 기재된 기재되는 특정의 표현(language)에 의해 특정의 순서가 요구되지 않는 한, 이러한 기재 방식이 재배열을 포함한다는 것을 잘 알 것이다. 예를 들어, 순차적으로 기술되는 동작들이, 어떤 경우에, 재배열되거나 동시에 수행될 수 있다. 더욱이, 간단함을 위해, 첨부 도면들이 개시된 방법들이 다른 방법들과 함께 사용될 수 있는 다양한 방식들을 나타내지 않을 수 있다.
애니메이션화 논리(112A 내지 112N), 애니메이션화 논리(110), 애니메이션화 논리(270), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 표시 논리(228), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412), 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 플로우차트(1000), 플로우차트(1100), 플로우차트(1200), 및/또는 플로우차트(1300) 중 임의의 하나 이상이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다.
예를 들어, 애니메이션화 논리(112A 내지 112N), 애니메이션화 논리(110), 애니메이션화 논리(270), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 표시 논리(228), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412), 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 플로우차트(1000), 플로우차트(1100), 플로우차트(1200), 및/또는 플로우차트(1300) 중 임의의 하나 이상이 하나 이상의 프로세서들에서 실행되도록 구성된 컴퓨터 프로그램 코드로서 구현될 수 있다.
다른 예에서, 애니메이션화 논리(112A 내지 112N), 애니메이션화 논리(110), 애니메이션화 논리(270), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 표시 논리(228), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412), 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 플로우차트(1000), 플로우차트(1100), 플로우차트(1200), 및/또는 플로우차트(1300) 중 임의의 하나 이상이 하드웨어 논리/전기 회로부로서 구현될 수 있다.
예를 들어, 일 실시예에서, 애니메이션화 논리(112A 내지 112N), 애니메이션화 논리(110), 애니메이션화 논리(270), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 표시 논리(228), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412), 플로우차트(300), 플로우차트(400), 플로우차트(500), 플로우차트(600), 플로우차트(700), 플로우차트(800), 플로우차트(900), 플로우차트(1000), 플로우차트(1100), 플로우차트(1200), 및/또는 플로우차트(1300) 중 하나 이상이 SoC(system-on-chip)에서 구현될 수 있다. SoC는 그의 기능들을 수행하기 위해 프로세서(예컨대, 마이크로컨트롤러, 마이크로프로세서, DSP(digital signal processor) 등), 메모리, 하나 이상의 통신 인터페이스들, 및/또는 추가적인 회로들 및/또는 임베디드 펌웨어(embedded firmware) 중 하나 이상을 포함하는 집적 회로 칩을 포함할 수 있다.
III. 예시적인 컴퓨터 시스템
도 16은 실시예들이 구현될 수 있는 예시적인 컴퓨터(1600)를 나타낸 것이다. 예를 들면, 도 1에 도시된 디바이스들(106A 내지 106N) 및/또는 서버(들)(102) 중 임의의 것이 컴퓨터(1600)의 하나 이상의 특징들 및/또는 대안의 특징들을 포함하는 컴퓨터(1600)를 사용하여 구현될 수 있다. 컴퓨터(1600)는, 예를 들어, 종래의 개인용 컴퓨터, 모바일 컴퓨터, 또는 워크스테이션의 형태의 범용 컴퓨팅 디바이스일 수 있거나, 컴퓨터(1600)는 특수 목적 컴퓨팅 디바이스일 수 있다. 본원에서 제공되는 컴퓨터(1600)의 설명은 예시를 위한 것이며 제한하는 것으로 의도되어 있지 않다. 관련 기술 분야(들)의 통상의 기술자라면 잘 알 것인 바와 같이, 실시예들이 추가적인 유형의 컴퓨터 시스템들에서 구현될 수 있다.
도 16에 도시된 바와 같이, 컴퓨터(1600)는 처리 유닛(1602), 시스템 메모리(1604), 및 시스템 메모리(1604)를 비롯한 다양한 시스템 컴포넌트들을 처리 유닛(1602)에 결합시키는 버스(1606)를 포함한다. 버스(1606)는 각종의 버스 아키텍처들 중 임의의 것을 사용하는, 메모리 버스 또는 메모리 제어기, 주변기기 버스, AGP(accelerated graphics port), 및 프로세서 또는 로컬 버스를 비롯한, 몇 개의 유형의 버스 구조들 중 하나 이상을 나타낸다. 시스템 메모리(1604)는 ROM(read only memory)(1608) 및 RAM(random access memory)(1610)을 포함한다. 기본 입출력 시스템(1612)(BIOS)은 ROM(1608)에 저장되어 있다.
컴퓨터(1600)는 또한 하드 디스크로부터 읽고 그에 쓰는 하드 디스크 드라이브(1614), 이동식 자기 디스크(1618)로부터 읽거나 그에 쓰는 자기 디스크 드라이브(1616), 그리고 CD ROM, DVD ROM, 또는 다른 광 매체와 같은 이동식 광 디스크(1622)로부터 읽거나 그에 쓰는 광 디스크 드라이브(1620) 중 하나 이상을 가진다. 하드 디스크 드라이브(1614), 자기 디스크 드라이브(1616), 및 광 디스크 드라이브(1620)는, 각각, 하드 디스크 드라이브 인터페이스(1624), 자기 디스크 드라이브 인터페이스(1626), 및 광 드라이브 인터페이스(1628)에 의해 버스(1606)에 연결되어 있다. 이 드라이브들 및 그와 연관된 컴퓨터 판독가능 저장 매체는 컴퓨터에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 다른 데이터의 비휘발성 저장을 제공한다. 하드 디스크, 이동식 자기 디스크 및 이동식 광 디스크가 기술되어 있지만, 플래시 메모리 카드, 디지털 비디오 디스크, RAM(random access memory), ROM(read only memory) 등과 같은, 다른 유형의 컴퓨터 판독가능 저장 매체들이 데이터를 저장하는 데 사용될 수 있다.
다수의 프로그램 모듈들이 하드 디스크, 자기 디스크, 광 디스크, ROM, 또는 ROM에 저장될 수 있다. 이 프로그램들은 운영 체제(1630), 하나 이상의 애플리케이션 프로그램들(1632), 다른 프로그램 모듈들(1634), 및 프로그램 데이터(1636)를 포함한다. 애플리케이션 프로그램들(1632) 또는 프로그램 모듈들(1634)은, 예를 들어, 애니메이션화 논리(112A 내지 112N), 애니메이션화 논리(110), 애니메이션화 논리(270), 제어 논리(206), 영상 시퀀스 논리(208), 메타데이터 논리(210), 삭제 논리(212), 인터페이스 논리(214), 연관 논리(216), 디스플레이 논리(218), 제스처 논리(220), 동작 논리(222), 입력 결정 논리(224), 활성화 논리(226), 표시 논리(228), 애니메이션화 논리(1430), 식별 논리(1404), 능력 논리(1406), 제공 논리(1408), 영상 결정 논리(1410), 및/또는 버전 논리(1412), 플로우차트(300)(플로우차트(300)의 임의의 단계를 포함함), 플로우차트(400)(플로우차트(400)의 임의의 단계를 포함함), 플로우차트(500)(플로우차트(500)의 임의의 단계를 포함함), 플로우차트(600)(플로우차트(600)의 임의의 단계를 포함함), 플로우차트(700)(플로우차트(700)의 임의의 단계를 포함함), 플로우차트(800)(플로우차트(800)의 임의의 단계를 포함함), 플로우차트(900)(플로우차트(900)의 임의의 단계를 포함함), 플로우차트(1000)(플로우차트(1000)의 임의의 단계를 포함함), 플로우차트(1100)(플로우차트(1100)의 임의의 단계를 포함함), 플로우차트(1200)(플로우차트(1200)의 임의의 단계를 포함함), 및/또는 플로우차트(1300)(플로우차트(1300)의 임의의 단계를 포함함) 중 임의의 하나 이상을, 본원에 기술되는 바와 같이, 구현하기 위한 컴퓨터 프로그램을 포함할 수 있다.
사용자는 키보드(1638) 및 포인팅 디바이스(1640)와 같은 입력 디바이스들을 통해 컴퓨터(1600)에 명령들 및 정보를 입력할 수 있다. 다른 입력 디바이스들(도시 생략)은 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 터치 스크린, 카메라, 가속도계, 자이로스코프 등을 포함할 수 있다. 이들 및 다른 입력 디바이스들은 종종 버스(1606)에 결합된 직렬 포트 인터페이스(1642)를 통해 처리 유닛(1602)에 연결되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은, 다른 인터페이스들에 의해 연결될 수 있다.
디스플레이 디바이스(1644)(예컨대, 모니터)가 또한, 비디오 어댑터(1646)와 같은, 인터페이스를 통해 버스(1606)에 연결되어 있다. 디스플레이 디바이스(1644)에 부가하여, 컴퓨터(1600)는 스피커 및 프린터와 같은 다른 주변 출력 디바이스들(도시되지 않음)을 포함할 수 있다.
컴퓨터(1600)는 네트워크 인터페이스 또는 어댑터(1650), 모뎀(1652), 또는 네트워크를 통한 통신을 설정하기 위한 다른 수단을 통해 네트워크(1648)(예컨대, 인터넷)에 연결되어 있다. 내장형이거나 외장형일 수 있는 모뎀(1652)은 직렬 포트 인터페이스(1642)를 통해 버스(1606)에 연결된다.
본원에서 사용되는 바와 같이, "컴퓨터 프로그램 매체" 및 "컴퓨터 판독가능 저장 매체"라는 용어들은 일반적으로 하드 디스크 드라이브(1614)와 연관된 하드 디스크, 이동식 자기 디스크(1618), 이동식 광 디스크(1622)는 물론, 플래시 메모리 카드, 디지털 비디오 디스크, RAM(random access memory), ROM(read only memory) 등과 같은 다른 매체들과 같은 매체들을 지칭하기 위해 사용된다. 이러한 컴퓨터 판독가능 저장 매체는 통신 매체와 구별되고 그와 중복하지 않는다(통신 매체를 포함하지 않음). 통신 매체는 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터를 반송파와 같은 피변조 데이터 신호(modulated data signal)에 구현한다. "피변조 데이터 신호"라는 용어는 신호의 특성들 중 하나 이상이 정보를 그 신호에 인코딩하는 방식으로 설정되거나 변경된 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체는 물론, 유선 매체도 포함한다. 예시적인 실시예들은 또한 이러한 통신 매체에 관한 것이다.
앞서 살펴본 바와 같이, 컴퓨터 프로그램들 및 모듈들(애플리케이션 프로그램들(1632) 및 다른 프로그램 모듈들(1634)을 포함함)은 하드 디스크, 자기 디스크, 광 디스크, ROM, 또는 RAM에 저장될 수 있다. 이러한 컴퓨터 프로그램들은 또한 네트워크 인터페이스(1650) 또는 직렬 포트 인터페이스(1642)를 통해 수신될 수 있다. 이러한 컴퓨터 프로그램들은, 애플리케이션에 의해 실행되거나 로딩될 때, 컴퓨터(1600)가 본원에서 논의되는 실시예들의 특징들을 구현할 수 있게 한다. 그에 따라, 이러한 컴퓨터 프로그램들은 컴퓨터(1600)의 제어기들을 나타낸다.
예시적인 실시예들은 또한 임의의 컴퓨터 사용가능 매체 상에 저장되는 소프트웨어(예컨대, 컴퓨터 판독가능 명령어들)를 포함하는 컴퓨터 프로그램 제품에 관한 것이다. 이러한 소프트웨어는, 하나 이상의 처리 디바이스들에서 실행될 때, 데이터 처리 디바이스(들)로 하여금 본 명세서에 기술되는 바와 같이 동작하게 한다. 실시예들은, 현재 또는 장래에 공지되는, 임의의 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체를 이용할 수 있다. 컴퓨터 판독가능 매체들의 예들은 RAM, 하드 드라이브, 플로피 디스크, CD ROM, DVD ROM, 집 디스크(zip disk), 테이프, 자기 저장 디바이스, 광 저장 디바이스, MEMS 기반 저장 디바이스, 나노기술 기반 저장 디바이스 등과 같은 저장 디바이스들(이들로 제한되지 않음)을 포함한다.
개시된 기술이 임의의 특정의 컴퓨터 또는 임의의 특정 유형의 하드웨어로 제한되지 않는다는 것을 잘 알 것이다. 적당한 컴퓨터들 및 하드웨어의 특정 상세들이 널리 공지되어 있으며, 본 개시 내용에 상세히 기재될 필요가 없다.
IV. 결론
다양한 실시예들이 앞서 기술되었지만, 그 실시예들이 제한이 아니라 예로서 제시되어 있다는 것을 잘 알 것이다. 본 발명의 사상 및 범주를 벗어남이 없이 형태 및 상세에 있어서의 다양한 변경들이 그에 대해 행해질 수 있다는 것이 관련 기술 분야(들)의 통상의 기술자에게는 명백할 것이다. 이와 같이, 본 발명의 폭 및 범주는 앞서 기술된 예시적인 실시예들 중 임의의 것에 의해 제한되어서는 안되고, 이하의 청구항들 및 그의 등가물들에 따라서만 한정되어야 한다.

Claims (20)

  1. 디바이스에 있어서,
    선택될 때, 하나 이상의 영상(image)의 포착(capture)을 개시하는 사용자 요소를 포함하는 카메라;
    하나 이상의 프로세서;
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여 구현되는, 상기 사용자 요소의 각각의 선택에 응답하여 복수의 영상들을 포착하기 위해 상기 카메라를 제어하도록 구성된 제어 논리부(control logic);
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여 구현되는, 각각의 복수의 영상들로부터 영상 시퀀스를 생성하도록 구성된 영상 시퀀스 논리부; 및
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여 구현되는, 각각의 복수의 영상들에 대해, 메타데이터를, 상기 복수의 영상들로부터 선택된 주 영상(primary image)과 연관시키도록 구성된 메타데이터 논리부 - 상기 메타데이터는 상기 복수의 영상들로부터 생성되는 상기 영상 시퀀스에 대한 참조(reference)를 포함함 -
    를 포함하고,
    상기 제어 논리부는 또한, 각각의 복수의 영상들에 대해, 상기 디바이스가 사진 애니메이션화 및 비디오 애니메이션화 중 적어도 하나를 지원하는지 여부에 적어도 부분적으로 기초해서, 상기 복수의 영상들과 연관된 정적 영상 또는 상기 복수의 영상들로부터 생성되는 상기 영상 시퀀스를 디스플레이 상의 가상 요소 내에 디스플레이하도록 구성되고,
    상기 제어 논리부는, 상기 디바이스가 사진 애니메이션화 및 비디오 애니메이션화 중 적어도 하나를 지원하는 것에 적어도 부분적으로 기초해서, 상기 주 영상과 연관되는 상기 메타데이터 내의 상기 참조를 사용하여 상기 영상 시퀀스에 액세스함으로써, 상기 가상 요소 내에 상기 영상 시퀀스를 디스플레이하도록 구성되며,
    상기 제어 논리부는, 사진 애니메이션화 및 비디오 애니메이션화를 지원하지 않는 것에 적어도 부분적으로 기초해서, 상기 가상 요소 내에 상기 정적 영상을 디스플레이하도록 구성되는 것인, 디바이스.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여 구현되는, 상기 디바이스의 기본 설정(default setting)에 따라 명시된 기간의 경과에 응답하여, 각각의 메타데이터를 삭제하도록 구성된 삭제 논리부를 더 포함하는, 디바이스.
  3. 제2항에 있어서,
    상기 삭제 논리부는, 지정된 메타데이터에 의해 참조되는 상기 영상 시퀀스가 대응하는 정적 영상 대신에 디스플레이되도록 선택되는 것에 적어도 부분적으로 기초해서 상기 지정된 메타데이터를 삭제하지 않음으로써, 상기 기본 설정을 오버라이드(override)하도록 구성되는 것인, 디바이스.
  4. 제2항에 있어서,
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여 구현되는, 상기 디바이스의 사용자로부터 명시된 기간 - 각각의 메타데이터는 상기 디바이스의 기본 설정에 따라 명시된 기간의 경과에 응답하여 삭제됨 - 에 관한 응답을 요청하는 질문 요소(inquiry element)를 포함하는 사용자 인터페이스를 제공하도록 구성된 인터페이스 논리부를 더 포함하고, 상기 인터페이스 논리부는 또한, 상기 응답에 기초하여 상기 명시된 기간을 정의하도록 구성되는 것인, 디바이스.
  5. 제1항에 있어서,
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여 구현되는, 상기 디바이스의 사용자로 하여금, 상기 영상 시퀀스에 의해 표현(represent)될 지정된 프로파일을 선택할 수 있게 하는 사용자 인터페이스를 제공하도록 구성된 인터페이스 논리부; 및
    상기 지정된 프로파일의 선택에 응답해서, 상기 지정된 프로파일을 표현하기 위해 상기 영상 시퀀스를 사용하도록 구성된 연관 논리부
    를 더 포함하는, 디바이스.
  6. 제5항에 있어서,
    상기 하나 이상의 프로세서들 중 적어도 하나를 사용하여 구현되는, 상기 영상 시퀀스가 상기 지정된 프로파일을 표현하기 위해 사용되는 것에 응답해서, 상기 지정된 프로파일의 표현이 디스플레이될, 상기 디바이스의 복수의 컨텍스트(context)들 각각에 상기 영상 시퀀스를 디스플레이하도록 구성된 디스플레이 논리부를 더 포함하는, 디바이스.
  7. 제1항에 있어서,
    상기 영상 시퀀스 논리부는, 각각의 복수의 영상들을, 지정된 비트맵 영상 포맷을 갖는 각각의 영상 시퀀스로 변환하도록 구성되는 것인, 디바이스.
  8. 제1항에 있어서,
    상기 영상 시퀀스 논리부는, 각각의 복수의 영상들로부터 각각의 영상 시퀀스를 생성하는 컨트롤(control)을 생성하도록 구성되는 것인, 디바이스.
  9. 제1항에 있어서,
    상기 하나 이상의 프로세서 중 적어도 하나를 사용해 구현되는, 상기 디바이스와 관련하여 제스처를 검출하도록 구성된 제스처 논리부를 더 포함하고,
    디스플레이되도록 선택되는 표현은 포착된 복수의 영상들로부터의 상기 주 영상이 되도록 설정되고;
    상기 제어 논리부는 또한, 상기 영상 시퀀스가 생성되는 상기 복수의 영상들로부터 상기 주 영상이 선택되는 것에 적어도 부분적으로 기초해, 상기 제스처의 검출에 응답하여, 상기 표현을, 상기 포착된 복수의 영상들로부터의 상기 주 영상으로부터, 상기 포착된 복수의 영상들로부터 생성되는 상기 영상 시퀀스로 변경하도록 구성되는 것인, 디바이스.
  10. 프로세서 기반 시스템의 하나 이상의 프로세서를 사용하여 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법에 있어서,
    선택될 때 하나 이상의 영상의 포착을 개시하는 사용자 요소를 갖는 카메라를, 상기 사용자 요소의 각각의 선택에 응답해서 복수의 영상들을 캡처하도록 제어하는 단계;
    상기 하나 이상의 프로세서 중 적어도 하나를 사용하여, 각각의 복수의 영상들로부터 영상 시퀀스를 생성하는 단계;
    각각의 복수의 영상들에 대해, 메타데이터를, 상기 복수의 영상들로부터 선택된 주 영상과 연관시키는 단계 - 상기 메타데이터는, 상기 복수의 영상들로부터 생성되는 상기 영상 시퀀스에 대한 참조를 포함함 -; 및
    각각의 복수의 영상들에 대해, 상기 프로세서 기반 시스템이 사진 애니메이션화 및 비디오 애니메이션화 중 적어도 하나를 지원하는지 여부에 적어도 부분적으로 기초해, 상기 복수의 영상들과 연관된 정적 영상 또는 상기 복수의 영상들로부터 생성되는 상기 영상 시퀀스가 디스플레이 상의 가상 요소 내에 디스플레이되게 하는 단계
    를 포함하고,
    상기 영상 시퀀스는, 상기 프로세서 기반 시스템이 사진 애니메이션화 및 비디오 애니메이션화 중 적어도 하나를 지원하는 것에 적어도 부분적으로 기초해, 상기 주 영상과 연관되는 상기 메타데이터 내의 상기 참조를 사용하여 상기 영상 시퀀스에 액세스함으로써 상기 가상 요소 내에 디스플레이되며,
    상기 정적 영상은, 상기 프로세서 기반 시스템이 사진 애니메이션화 및 비디오 애니메이션화를 지원하지 않는 것에 적어도 부분적으로 기초해서, 상기 가상 요소 내에 디스플레이되는 것인, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  11. 제10항에 있어서,
    하나 이상의 명시된 기준 중 적어도 하나가 충족되지 않는 한, 상기 카메라를 포함하는 디바이스의 기본 설정에 따라, 명시된 기간의 경과에 응답하여 각각의 메타데이터를 삭제하는 단계를 더 포함하는, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  12. 제11항에 있어서,
    상기 하나 이상의 명시된 기준은 각각의 메타데이터에 의해 참조되는 영상 시퀀스가 대응하는 정적 영상 대신에 디스플레이되도록 선택되는 기준을 포함하는 것인, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  13. 제11항에 있어서,
    상기 카메라를 포함하는 디바이스의 사용자로부터 명시된 기간 - 각각의 메타데이터는 상기 카메라를 포함하는 디바이스의 기본 설정에 따라 명시된 기간의 경과에 응답하여 삭제됨 - 에 관한 응답을 요청하는 질문 요소를 포함하는 사용자 인터페이스를 제공하는 단계; 및
    상기 응답에 기초해 상기 명시된 기간을 정의하는 단계
    를 더 포함하는, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  14. 제10항에 있어서,
    상기 카메라를 포함하는 디바이스의 사용자로 하여금, 상기 영상 시퀀스에 의해 표현될 지정된 프로파일을 선택할 수 있게 하는 사용자 인터페이스를 제공하는 단계; 및
    상기 지정된 프로파일의 선택에 응답해서, 상기 지정된 프로파일을 표현하기 위해 상기 영상 시퀀스를 사용하는 단계
    를 더 포함하는, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  15. 제14항에 있어서,
    상기 지정된 프로필을 표현하기 위해 상기 영상 시퀀스를 사용하는 것에 응답해서, 상기 카메라를 포함하는 디바이스에 의해 상기 지정된 프로필의 표현이 디스플레이될 복수의 컨텍스트들 각각에서, 상기 영상 시퀀스를 디스플레이하는 단계를 더 포함하는, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  16. 제10항에 있어서,
    각각의 복수의 영상들로부터 영상 시퀀스를 생성하는 단계는,
    각각의 복수의 영상들을, 지정된 비트맵 영상 포맷을 갖는 각각의 영상 시퀀스로 변환하는 단계를 포함하는 것인, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  17. 제10항에 있어서,
    각각의 복수의 영상들로부터 영상 시퀀스를 생성하는 단계는,
    각각의 복수의 영상들로부터 각각의 영상 시퀀스를 생성하는 컨트롤을 생성하는 단계를 포함하는 것인, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  18. 제10항에 있어서,
    디스플레이되도록 선택되는 표현은, 포착된 복수의 영상들로부터의 상기 주 영상이 되도록 설정되고, 상기 방법은,
    상기 카메라를 포함하는 디바이스와 관련하여 제스처를 검출하는 단계; 및
    상기 영상 시퀀스가 생성되는 상기 복수의 영상들로부터 상기 주 영상이 선택되는 것에 적어도 부분적으로 기초해, 상기 제스처를 검출하는 것에 응답하여, 상기 표현을, 상기 포착된 복수의 영상들로부터의 상기 주 영상으로부터, 상기 포착된 복수의 영상들로부터 생성되는 상기 영상 시퀀스로 변경하는 단계
    를 포함하는 것인, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공하는 방법.
  19. 프로세서 기반 시스템으로 하여금, 메타데이터 기반 사진 애니메이션 또는 메타데이터 기반 비디오 애니메이션 중 적어도 하나를 제공할 수 있게 하기 위한, 컴퓨터 프로그램 논리가 기록되어 있는 컴퓨터 판독가능 디바이스(computer-readable device)에 있어서,
    상기 컴퓨터 프로그램 논리는,
    상기 프로세서 기반 시스템으로 하여금, 선택될 때 하나 이상의 영상의 포착을 개시하는 사용자 요소를 갖는 카메라를, 상기 사용자 요소의 각각의 선택에 응답해서 복수의 영상들을 캡처하도록 제어할 수 있게 하기 위한 제1 프로그램 논리;
    상기 프로세서 기반 시스템으로 하여금, 각각의 복수의 영상들로부터 영상 시퀀스를 생성할 수 있게 하기 위한 제2 프로그램 논리;
    상기 프로세서 기반 시스템으로 하여금, 각각의 복수의 영상들에 대해, 메타데이터를, 상기 복수의 영상들로부터 선택되는 주 영상과 연관시킬 수 있게 하기 위한 제3 프로그램 논리 - 상기 메타데이터는, 상기 복수의 영상들로부터 생성되는 상기 영상 시퀀스에 대한 참조를 포함함 -; 및
    상기 프로세서 기반 시스템으로 하여금, 각각의 복수의 영상들에 대해, 상기 프로세서 기반 시스템이 사진 애니메이션화 및 비디오 애니메이션화 중 적어도 하나를 지원하는지 여부에 적어도 부분적으로 기초해, 상기 복수의 영상들과 연관된 정적 영상 또는 상기 복수의 영상들로부터 생성되는 상기 영상 시퀀스를 디스플레이 상의 가상 요소 내에 디스플레이할 수 있게 하기 위한 제4 프로그램 논리
    를 포함하고,
    상기 영상 시퀀스는, 상기 프로세서 기반 시스템이 사진 애니메이션화 및 비디오 애니메이션화 중 적어도 하나를 지원하는 것에 적어도 부분적으로 기초해서, 상기 주 영상과 연관되는 상기 메타데이터 내의 상기 참조를 사용하여 상기 영상 시퀀스에 액세스함으로써, 상기 가상 요소 내에 디스플레이되며,
    상기 정적 영상은, 상기 프로세서 기반 시스템이 사진 애니메이션화 및 비디오 애니메이션화를 지원하지 않는 것에 적어도 부분적으로 기초해서, 상기 가상 요소 내에 디스플레이되는 것인, 컴퓨터 판독가능 디바이스.
  20. 제19항에 있어서,
    상기 컴퓨터 프로그램 논리는, 상기 프로세서 기반 시스템으로 하여금, 하나 이상의 명시된 기준 중 적어도 하나가 충족되지 않는 한, 상기 카메라를 포함하는 디바이스의 기본 설정에 따라 명시된 기간의 경과에 응답하여, 각각의 메타데이터를 삭제할 수 있게 하기 위한 제5 프로그램 논리를 더 포함하는 것인, 컴퓨터 판독가능 디바이스.
KR1020167028136A 2014-03-10 2015-02-27 메타데이터 기반 사진 및/또는 비디오 애니메이션화 KR102281172B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/203,469 US9934252B2 (en) 2014-03-10 2014-03-10 Metadata-based photo and/or video animation
US14/203,469 2014-03-10
PCT/US2015/017885 WO2015138146A1 (en) 2014-03-10 2015-02-27 Metadata-based photo and/or video animation

Publications (2)

Publication Number Publication Date
KR20160131103A KR20160131103A (ko) 2016-11-15
KR102281172B1 true KR102281172B1 (ko) 2021-07-22

Family

ID=52669676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028136A KR102281172B1 (ko) 2014-03-10 2015-02-27 메타데이터 기반 사진 및/또는 비디오 애니메이션화

Country Status (10)

Country Link
US (2) US9934252B2 (ko)
EP (2) EP3565241B1 (ko)
JP (1) JP6576940B2 (ko)
KR (1) KR102281172B1 (ko)
CN (1) CN106105185B (ko)
AU (2) AU2015229879B2 (ko)
CA (1) CA2939805C (ko)
MX (1) MX2016011542A (ko)
RU (1) RU2674434C2 (ko)
WO (1) WO2015138146A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8594740B2 (en) 2008-06-11 2013-11-26 Pantech Co., Ltd. Mobile communication terminal and data input method
DE202015006141U1 (de) 2014-09-02 2015-12-14 Apple Inc. Elektronische Touch-Kommunikation
US20160202882A1 (en) * 2015-01-14 2016-07-14 Lumyer Inc. Method and apparatus for animating digital pictures
US10152825B2 (en) * 2015-10-16 2018-12-11 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using IMU and image data
US9717830B2 (en) 2015-10-28 2017-08-01 Circulite, Inc. Inflow cannula and blood flow assist system
US9532004B1 (en) * 2016-05-12 2016-12-27 Google Inc. Animated user identifiers
CN106095465B (zh) * 2016-06-23 2019-12-27 北京小米移动软件有限公司 设置身份图像的方法及装置
US10586367B2 (en) * 2017-01-04 2020-03-10 Samsung Electronics Co., Ltd. Interactive cinemagrams
JP6464278B1 (ja) * 2017-08-24 2019-02-06 ガンホー・オンライン・エンターテイメント株式会社 端末装置、プログラム及び方法
US10334222B2 (en) * 2017-11-20 2019-06-25 Adobe Inc. Focus-based video loop switching
US20190213269A1 (en) * 2018-01-10 2019-07-11 Amojee, Inc. Interactive animated gifs and other interactive images
US10572121B2 (en) * 2018-02-09 2020-02-25 International Business Machines Corporation Contextual user profile photo selection
EP3744088A1 (en) 2019-04-01 2020-12-02 Google LLC Techniques to capture and edit dynamic depth images
US11199948B2 (en) 2020-01-31 2021-12-14 EMC IP Holding Company LLC Displaying a sequence and files associated with the sequence having a missing file
US11200205B2 (en) * 2020-01-31 2021-12-14 EMC IP Holding Company LLC Displaying an alert and options when deleting a file that is associated with a sequence of files
JP7308803B2 (ja) * 2020-10-12 2023-07-14 株式会社ポケモン プログラム、方法、情報処理装置、システム
CN112672185B (zh) * 2020-12-18 2023-07-07 脸萌有限公司 基于增强现实的显示方法、装置、设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937273B1 (en) * 1997-05-28 2005-08-30 Eastman Kodak Company Integrated motion-still capture system with indexing capability
US7027086B1 (en) 1999-04-15 2006-04-11 Sony Corporation Photographing apparatus and signal processing method that allow data of still pictures to be converted into a moving picture file
US6925602B1 (en) 2000-03-20 2005-08-02 Intel Corporation Facilitating access to digital video
US20060064716A1 (en) * 2000-07-24 2006-03-23 Vivcom, Inc. Techniques for navigating multiple video streams
US20030189647A1 (en) * 2002-04-05 2003-10-09 Kang Beng Hong Alex Method of taking pictures
US7319480B2 (en) 2003-06-26 2008-01-15 Eastman Kodak Company Method and apparatus for compressing motion image files to provide an improved image navigation display
US7480382B2 (en) * 2003-09-30 2009-01-20 Microsoft Corporation Image file container
US7791141B2 (en) * 2004-07-09 2010-09-07 International Business Machines Corporation Field-enhanced programmable resistance memory cell
JP2006085452A (ja) * 2004-09-16 2006-03-30 Fuji Xerox Co Ltd 画像管理システム、画像管理装置、及び画像管理方法
US20060282386A1 (en) * 2005-03-14 2006-12-14 Szeto Christopher T Method and system for premium access
US20060212535A1 (en) * 2005-03-21 2006-09-21 Marvell World Trade Ltd. Network system for distributing protected content
US7599710B2 (en) 2005-04-15 2009-10-06 Magix Ag System and method of utilizing a remote server to create movies and slide shows for viewing on a cellular telephone
US8549442B2 (en) 2005-12-12 2013-10-01 Sony Computer Entertainment Inc. Voice and video control of interactive electronically simulated environment
KR101004491B1 (ko) * 2006-03-27 2010-12-31 피티피, 인크. 기록 재생 장치, 시스템 및 서버
US8566855B2 (en) * 2008-12-02 2013-10-22 Sony Corporation Audiovisual user interface based on learned user preferences
US8943409B2 (en) * 2008-12-26 2015-01-27 Sandisk Il Ltd. Storage device managing playable content
US9111287B2 (en) * 2009-09-30 2015-08-18 Microsoft Technology Licensing, Llc Video content-aware advertisement placement
US10102208B2 (en) * 2010-10-29 2018-10-16 Microsoft Technology Licensing, Llc Automatic multimedia slideshows for social media-enabled mobile devices
US20130006996A1 (en) * 2011-06-22 2013-01-03 Google Inc. Clustering E-Mails Using Collaborative Information
US20130069962A1 (en) * 2011-09-15 2013-03-21 Microsoft Corporation Active Lock Wallpapers
JP5889028B2 (ja) * 2012-02-13 2016-03-22 キヤノン株式会社 動画記録装置及びその制御方法、コンピュータプログラム、記憶媒体

Also Published As

Publication number Publication date
CN106105185A (zh) 2016-11-09
JP2017515186A (ja) 2017-06-08
WO2015138146A1 (en) 2015-09-17
US9934252B2 (en) 2018-04-03
AU2019202184B2 (en) 2020-07-16
AU2015229879A1 (en) 2016-09-08
RU2016136339A (ru) 2018-03-14
KR20160131103A (ko) 2016-11-15
CA2939805A1 (en) 2015-09-17
RU2016136339A3 (ko) 2018-10-08
EP3565241B1 (en) 2020-12-23
CA2939805C (en) 2023-08-01
JP6576940B2 (ja) 2019-09-18
US20150254281A1 (en) 2015-09-10
MX2016011542A (es) 2016-11-29
EP3565241A2 (en) 2019-11-06
CN106105185B (zh) 2019-11-29
EP3565241A3 (en) 2019-12-04
AU2015229879B2 (en) 2019-01-03
US20180225309A1 (en) 2018-08-09
US10430460B2 (en) 2019-10-01
AU2019202184A1 (en) 2019-04-18
EP3117602A1 (en) 2017-01-18
EP3117602B1 (en) 2019-06-19
RU2674434C2 (ru) 2018-12-10

Similar Documents

Publication Publication Date Title
KR102281172B1 (ko) 메타데이터 기반 사진 및/또는 비디오 애니메이션화
KR102324083B1 (ko) 화면 확대 제공 방법 및 그 전자 장치
EP3405869B1 (en) Method and an apparatus for providing a multitasking view
KR20180013169A (ko) 콘텐츠 표시 방법 및 이를 사용하는 전자 장치
KR102587138B1 (ko) 전자 장치 및 전자 장치에서의 디스플레이 제어 방법
CN110178110B (zh) 电子设备及用于通过其显示屏幕的方法
US11886673B2 (en) Trackpad on back portion of a device
KR20170009008A (ko) 이미지를 표시하는 전자 장치 및 그 제어 방법
KR102654807B1 (ko) 전자 장치 및 전자 장치 제어 방법
KR20170040706A (ko) 한 손 조작 ui를 제공하는 전자 장치 및 방법
US11550467B2 (en) Device, method, and graphical user interface for managing data stored on a device
KR102665972B1 (ko) 전자 장치 및 전자 장치의 메시지 데이터 출력 방법
KR20160085044A (ko) 전자문서 표시 방법 및 전자 장치
KR20160039334A (ko) 화면 구성 방법, 전자 장치 및 저장 매체
KR20170038316A (ko) 전자 장치 및 그의 동작 방법
KR102584981B1 (ko) 포스 입력에 따른 화면 출력 방법 및 이를 지원하는 전자 장치
KR102630191B1 (ko) 전자 장치 및 전자 장치 제어 방법

Legal Events

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