KR102648993B1 - 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법 - Google Patents
사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법 Download PDFInfo
- Publication number
- KR102648993B1 KR102648993B1 KR1020180167106A KR20180167106A KR102648993B1 KR 102648993 B1 KR102648993 B1 KR 102648993B1 KR 1020180167106 A KR1020180167106 A KR 1020180167106A KR 20180167106 A KR20180167106 A KR 20180167106A KR 102648993 B1 KR102648993 B1 KR 102648993B1
- Authority
- KR
- South Korea
- Prior art keywords
- avatar
- motion vector
- electronic device
- gesture
- sticker
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 22
- 230000008451 emotion Effects 0.000 title claims description 18
- 230000002996 emotional effect Effects 0.000 claims abstract description 61
- 239000013598 vector Substances 0.000 claims description 83
- 230000000694 effects Effects 0.000 claims description 61
- 238000004891 communication Methods 0.000 claims description 49
- 230000008859 change Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008921 facial expression Effects 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 4
- 239000003381 stabilizer Substances 0.000 description 4
- 230000000638 stimulation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
- A63F13/655—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5553—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/011—Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
전자 장치는, 카메라, 디스플레이, 상기 카메라 및 상기 디스플레이와 작동적으로 연결되는 프로세서, 및 상기 프로세서와 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는, 복수의 제스처들을 포함하는 복수의 아바타 템플릿들을 저장하고, 실행 시, 상기 프로세서가, 상기 카메라를 이용하여, 외부 객체에 관한 이미지를 획득하고, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하고, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 복수의 아바타 템플릿들 중에서 제1 제스처를 포함하는 아바타 템플릿을 선택하고, 상기 선택된 아바타 템플릿 및 상기 적어도 하나의 파라미터의 값에 기반하여, 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하고, 상기 생성된 아바타 스티커를 상기 디스플레이의 적어도 일부 영역 상에 표시하도록 하는 인스트럭션들을 포함할 수 있다.
Description
본 문서에서 개시되는 실시 예들은, 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법과 관련된다.
전자 장치는 카메라를 이용하여 사용자의 외형(예: 사용자의 얼굴, 신체, 또는 사용자가 착용한 액세서리 중 적어도 하나)을 인식하고, 인식된 사용자의 외형에 기반하여 3차원의 아바타를 생성할 수 있다. 아바타는 증강 현실(augmented reality, AR) 이모지(emoji)로 지칭될 수 있다. 전자 장치는 사용자의 외형과 닮은 아바타를 통해 사용자의 감정 상태를 나타내는 시각적 효과를 제공할 수 있다.
전자 장치는 카메라를 통해 인식된 사용자의 외형에 기반하여 제스처를 포함하지 않는 아바타 프로토타입(prototype)을 생성하고, 아바타 프로토타입과 특정 제스처를 포함하는 아바타 템플릿(template)을 합성함으로써 제스처를 포함하는 아바타 스티커를 생성할 수 있다. 아바타 스티커는 동적 이미지 또는 동영상일 수 있다.
사용자가 특정 제스처를 나타내는 아바타 스티커를 다른 사용자의 전자 장치로 전송하기 위하여, 전자 장치는 아바타 템플릿에 기반하여 생성된 아바타 스티커들의 목록을 디스플레이를 통해 표시하고, 표시된 목록에서 하나의 아바타 스티커를 선택하는 사용자 입력을 수신해야 한다.
사용자가 전달하고자 하는 감정 상태가 다양할수록, 전자 장치는 보다 많은 수의 아바타 스티커들을 생성 및 저장해야 한다. 아바타 스티커들의 수가 증가할 수록 전자 장치의 메모리 공간을 차지하는 비율이 증가할 수 있다. 디스플레이를 통해 표시되는 아바타 스티커들의 수가 증가하면, 사용자가 원하는 아바타 스티커를 선택하기 위하여 목록을 확인해야 하는 시간이 증가하므로 사용자는 불편함을 경험할 수 있다.
또한, 복수의 사용자들의 감정 상태가 동일하더라도 사용자 마다 얼굴 표정 또는 제스처가 상이할 수 있지만, 아바타 스티커가 획일화된 제스처를 포함하는 아바타 템플릿에 기반하면 전자 장치는 사용자의 감정 상태를 정밀하게 전달하지 못할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 카메라, 디스플레이, 상기 카메라 및 상기 디스플레이와 작동적으로 연결되는 프로세서, 및 상기 프로세서와 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는, 복수의 제스처들을 포함하는 복수의 아바타 템플릿들을 저장하고, 실행 시, 상기 프로세서가, 상기 카메라를 이용하여, 외부 객체에 관한 이미지를 획득하고, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하고, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 복수의 아바타 템플릿들 중에서 제1 제스처를 포함하는 아바타 템플릿을 선택하고, 상기 선택된 아바타 템플릿 및 상기 적어도 하나의 파라미터의 값에 기반하여, 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하고, 상기 생성된 아바타 스티커를 상기 디스플레이의 적어도 일부 영역 상에 표시하도록 하는 인스트럭션들(instructions)을 포함할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치의 방법은, 외부 객체에 관한 이미지를 획득하는 동작, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하는 동작, 상기 적어도 하나의 파라미터의 값에 기반하여 복수의 아바타 템플릿들 중에서 제1 제스처를 포함하는 아바타 템플릿을 선택하는 동작, 상기 선택된 아바타 템플릿 및 상기 적어도 하나의 파라미터의 값에 기반하여, 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하는 동작, 및 상기 생성된 아바타 스티커를 표시하는 동작을 포함할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 카메라, 디스플레이, 상기 카메라 및 상기 디스플레이와 작동적으로 연결되는 프로세서, 및 상기 프로세서와 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는, 제1 제스처를 포함하는 아바타 템플릿을 저장하고, 실행 시, 상기 프로세서가, 메시지 어플리케이션을 실행하고, 상기 디스플레이의 적어도 일부 영역 상에, 상기 복수의 아바타 템플릿들을 호출하기 위한 아이콘을 표시하고, 상기 아이콘 상에 수신되는 입력에 응답하여, 상기 카메라를 실행하고, 상기 카메라를 이용하여, 외부 객체에 관한 이미지를 획득하고, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하고, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하고, 상기 생성된 아바타 스티커를 상기 디스플레이의 적어도 일부 영역 상에 표시하도록 하는 인스트럭션들을 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 전자 장치는 사용자에 대한 이미지를 분석하고, 분석된 이미지에 기반하여 사용자의 감정 상태를 정밀하게 나타내는 아바타 스티커를 사용자에게 제공할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 전자 장치는 분석된 사용자의 감정 상태 또는 아바타 스티커의 사용 히스토리(history)에 기반하여 아바타 스티커를 사용자에게 추천함으로써, 사용자가 원하는 아바타 스티커를 선택하기 위하여 목록을 확인하는 시간을 줄일 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경에서 전자 장치의 블록도를 도시한다.
도 2는 다양한 실시 예들에 따른 카메라 모듈의 블록도이다.
도 3은 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 4는 다양한 실시 예들에 따른 사용자의 감정 상태에 기반하여 아바타 스티커를 생성하는 전자 장치의 동작을 나타낸다.
도 5a는 사용자의 감정 상태에 기반하는 아바타 스티커의 예를 도시한다.
도 5b는 사용자의 감정 상태에 기반하는 아바타 스티커의 다른 예를 도시한다. 도 6은 다양한 실시 예들에 따른 사용자의 감정 상태에 기반하여 아바타 스티커를 생성하는 전자 장치의 동작 흐름도를 도시한다.
도 7은 다양한 실시 예들에 따라 아바타 스티커를 형성하는 복수의 이미지 프레임들을 생성하는 전자 장치의 동작 흐름도를 도시한다.
도 8은 다양한 실시 예들에 따라 배경 오브젝트(background object) 또는 효과 오브젝트(effect object)를 나타내는 복수의 이미지 프레임들을 생성하는 전자 장치의 동작 흐름도를 도시한다.
도 9는 다양한 실시 예들에 따라 외부 전자 장치로부터 수신되는 생체 정보를 이용하여 파라미터의 값을 획득하는 신호 흐름도를 도시한다.
도 10은 다양한 실시 예들에 따라 디스플레이 상에 아바타 스티커를 표시하는 전자 장치의 동작을 나타낸다.
도 11은 다양한 실시 예들에 따라 사용자 입력에 기반하여 아바타 스티커를 저장하는 전자 장치의 동작 흐름도를 도시한다.
도 12는 다양한 실시 예들에 따라 히스토리 정보에 기반하여 아바타 스티커를 생성하는 전자 장치의 동작을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 2는 다양한 실시 예들에 따른 카메라 모듈의 블록도이다.
도 3은 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 4는 다양한 실시 예들에 따른 사용자의 감정 상태에 기반하여 아바타 스티커를 생성하는 전자 장치의 동작을 나타낸다.
도 5a는 사용자의 감정 상태에 기반하는 아바타 스티커의 예를 도시한다.
도 5b는 사용자의 감정 상태에 기반하는 아바타 스티커의 다른 예를 도시한다. 도 6은 다양한 실시 예들에 따른 사용자의 감정 상태에 기반하여 아바타 스티커를 생성하는 전자 장치의 동작 흐름도를 도시한다.
도 7은 다양한 실시 예들에 따라 아바타 스티커를 형성하는 복수의 이미지 프레임들을 생성하는 전자 장치의 동작 흐름도를 도시한다.
도 8은 다양한 실시 예들에 따라 배경 오브젝트(background object) 또는 효과 오브젝트(effect object)를 나타내는 복수의 이미지 프레임들을 생성하는 전자 장치의 동작 흐름도를 도시한다.
도 9는 다양한 실시 예들에 따라 외부 전자 장치로부터 수신되는 생체 정보를 이용하여 파라미터의 값을 획득하는 신호 흐름도를 도시한다.
도 10은 다양한 실시 예들에 따라 디스플레이 상에 아바타 스티커를 표시하는 전자 장치의 동작을 나타낸다.
도 11은 다양한 실시 예들에 따라 사용자 입력에 기반하여 아바타 스티커를 저장하는 전자 장치의 동작 흐름도를 도시한다.
도 12는 다양한 실시 예들에 따라 히스토리 정보에 기반하여 아바타 스티커를 생성하는 전자 장치의 동작을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 다양한 실시 예들에 따른 네트워크 환경(100)에서 전자 장치(101)의 블록도를 나타낸다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서, 전자 장치(101)에는, 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서, 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들어, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드 된 채 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 애플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는 예를 들어, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 애플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다.
일 실시 예에 따르면, 메모리(130)는 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
일 실시 예에 따르면, 프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있다. 프로그램(140)은 예를 들어, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션 레이어(146)를 포함할 수 있다.
일 실시 예에 따르면, 입력 장치(150)는 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
일 실시 예에 따르면, 음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
일 실시 예에 따르면, 표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는 예를 들어, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정되는 터치 회로(touch circuitry), 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정되는 센서 회로(예: 압력 센서)를 포함할 수 있다.
일 실시 예에 따르면, 오디오 모듈(170)은 소리를 전기 신호로 변환하거나, 반대로 전기 신호를 소리로 변환할 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
일 실시 예에 따르면, 센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
일 실시 예에 따르면, 인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜을 지원할 수 있다. 인터페이스(177)는 예를 들어, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
일 실시 예에 따르면, 연결 단자(178)는 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 연결 단자(178)는 예를 들어, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
일 실시 예에 따르면, 햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
일 실시 예에 따르면, 카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
일 실시 예에 따르면, 전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 전력 관리 모듈(188)은 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
일 실시 예에 따르면, 배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 배터리(189)는 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
일 실시 예에 따르면, 통신 모듈(190)(또는, 통신 회로)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 애플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 일 실시 예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(international mobile subscriber identity, IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 안테나 모듈은, 일 실시 예에 따르면, 도전체 또는 도전성 패턴으로 형성될 수 있고, 어떤 실시 예에 따르면, 도전체 또는 도전성 패턴 이외에 추가적으로 다른 부품(예: RFIC)을 더 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다.
상기 구성요소들 중 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고, 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들어, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자나 다른 장치로부터의 요청 응답하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 요청과 관련된 추가 기능 또는 서비스를 실행하고, 실행 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예들에 따른 카메라 모듈(180)의 블록도(200)이다.
도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다. 렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(210)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 플래쉬(220)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
이미지 센서(230)는 피사체로부터 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.
이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.
메모리(250)는 이미지 센서(230)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치(160)을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(260)는 이미지 센서(230)을 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 수행할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 전달될 수 있다. 일실시예에 따르면, 이미지 시그널 프로세서(260)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 이미지들은 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(160)를 통해 표시될 수 있다.
일실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 둘 이상의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 적어도 하나의 카메라 모듈(180)은 광각 카메라 또는 전면 카메라이고, 적어도 하나의 다른 카메라 모듈은 망원 카메라 또는 후면 카메라일 수 있다.
이하 서술되는 실시 예들에서, 전자 장치(101)는 사용자의 감정 상태에 기반하여 아바타 스티커를 생성할 수 있다. 본 문서에서, 아바타 스티커는 제스처를 포함하는 아바타에 대한 동적 이미지 또는 동영상을 의미할 수 있다. 제스처는 예를 들어, 얼굴 표정, 손동작, 또는 몸동작 중 적어도 하나를 포함할 수 있다. 용어의 혼동을 방지하기 위하여, 본 문서에서, 아바타 스티커 중에서 지정된 제스처를 포함하며 사용자의 감정 상태를 분석하기 이전에 전자 장치(101)의 메모리(130) 상에 기 저장된 아바타 스티커는 “아바타 템플릿”으로 참조될 수 있다.
도 3은 다양한 실시 예들에 따른 전자 장치(101)의 블록도이다. 도 3에 도시된 구성요소들 중 참조번호가 도 1에서 도시된 구성요소의 참조번호와 동일한 구성요소는 도 1에서 서술된 기능 또는 동작을 수행할 수 있다.
도 3을 참조하면, 전자 장치(101)는 프로세서(120), 메모리(130), 디스플레이(360)(예: 도 1의 표시 장치(160)의 적어도 일부), 및 카메라(380)(예: 도 1의 카메라 모듈(180)의 적어도 일부)를 포함할 수 있다.
일 실시 예에 따르면, 카메라(380)는 외부 객체(예: 사용자의 외형)에 대한 이미지를 획득할 수 있다. 카메라(380)는 예를 들어, 도 2의 카메라 모듈(180)의 구성요소들 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 카메라(380)는 디스플레이(360)가 배치된 방향과 동일한 방향(예: 전자 장치(101)의 전면)에 배치될 수 있다. 프로세서(120)는 디스플레이(360)를 통해 사용자가 카메라(380)를 이용하여 사용자(예: 사용자의 얼굴)에 대한 이미지를 촬영하도록 가이드 할 수 있다.
일 실시 예에 따르면, 메모리(130)는 데이터 베이스(data base, DB)를 저장할 수 있다. 예를 들어, 메모리(130)는 아바타 프로토타입 DB(312), 템플릿 DB(314), 감정 상태 저장 모듈(316), 및 아바타 스티커 DB(318)를 포함할 수 있다.
일 실시 예에 따르면, 아바타 프로토타입 DB(312)는 사용자에 대한 아바타 프로토타입을 포함할 수 있다. 아바타 프로토타입은 사용자의 외형(예: 얼굴, 신체, 의상, 또는 액세서리)을 3차원으로 나타내지만, 제스처, 배경 오브젝트, 및 효과 오브젝트를 포함하지 않는 아바타 이미지를 의미할 수 있다. 프로세서(120)는 카메라(380)를 통해 사용자의 외형에 대한 이미지를 획득함으로써 사용자에 대한 아바타 프로토타입을 생성할 수 있다.
일 실시 예에 따르면, 템플릿 DB(314)는 복수의 아바타 템플릿들을 포함할 수 있다. 다른 실시 예에 따르면, 템플릿 DB(314)는 기 지정된, 배경 오브젝트 또는 효과 오브젝트 중 적어도 하나를 포함할 수 있다. 프로세서(120)는 배경 오브젝트 또는 효과 오브젝트를 통해 사용자의 감정 상태를 다양하게 나타낼 수 있다. 예를 들어, 사용자의 감정 상태 중 “놀람(surprise)”을 나타내기 위하여 프로세서(120)는 폭죽이 터지는 효과 오브젝트 또는 배경 오브젝트를 아바타 스티커와 함께 디스플레이(360) 상에 표시할 수 있다.
일 실시 예에 따르면, 감정 상태 저장 모듈(316)은 사용자의 감정 상태를 나타내는 복수의 파라미터들의 값을 저장할 수 있다. 감정 상태는 예를 들어, 중립(neutral), 행복(happy), 놀라움(surprise), 화남(angry), 두려움(fear), 슬픔(sadness), 경멸(contempt), 또는 혐오(disgust) 중 적어도 하나를 포함할 수 있으며, 제시된 예들 이외에도 다른 감정 상태를 더 의미할 수 있다. 감정 상태 저장 모듈(316)에 저장된 파라미터 각각은 감정 상태의 카테고리를 의미할 수 있고, 파라미터의 값은 감정 상태에 대한 점수(score)를 의미할 수 있다. 전자 장치(101)는 사용자에 대한 이미지를 분석함으로써 사용자의 감정 상태를 나타내는 점수(또는 파라미터의 값)를 획득하고, 획득된 점수에 기반하여 사용자의 감정 상태를 결정할 수 있다. 전자 장치(101)는 획득된 점수를 감정 상태 저장 모듈(316)에 저장할 수 있다.
일 실시 예에 따르면, 아바타 스티커 DB(318)는 사용자의 감정 상태에 기반하여 생성된 아바타 스티커를 저장할 수 있다. 사용자의 감정 상태에 기반하여 생성된 아바타 스티커는 아바타 템플릿과 다른 제스처를 포함할 수 있다. 아바타 스티커가 포함하는 제스처는 아바타 템플릿이 포함하는 제스처와 움직임의 속도, 변화폭, 또는 제스처의 종류 중 적어도 하나가 다를 수 있다. 예를 들어, 아바타 템플릿이 미소를 짓는 제스처를 포함하면, 사용자의 감정 상태에 기반하여 생성된 아바타 스티커는 아바타 템플릿보다 입 꼬리가 올라갈 수도 있고, 입 꼬리가 올라가는 속도가 증가할 수도 있으며, 또는 엄지를 들어올리는 손동작을 더 포함할 수 있다. 다른 실시 예에 따르면, 아바타 스티커는 템플릿 DB(314)에 저장된 배경 오브젝트(또는 효과 오브젝트)와 움직임의 속도, 변화폭, 개수, 크기, 색상, 또는 종류 중 적어도 하나가 다른 배경 오브젝트(또는 효과 오브젝트)를 포함할 수 있다. 예를 들어, 템플릿 DB에 저장된 효과 오브젝트가 폭죽이 터지는 이미지를 포함하면, 사용자의 감정 상태에 기반하여 생성된 효과 오브젝트는 폭죽의 개수가 증가하거나, 폭죽이 더 크게 터지거나, 또는 폭죽이 터지는 속도가 증가할 수 있다.
일 실시 예에 따르면, 아바타 스티커 DB(318)는 사용자로부터 선택된 아바타 스티커들에 대한 사용 이력을 나타내는 히스토리 정보를 포함할 수 있다. 프로세서(120)는 히스토리 정보에 기반하여, 이전에 생성된 아바타 스티커를 추천할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 디스플레이(360), 카메라(380), 및 메모리(130)와 작동적으로 연결될 수 있다. 프로세서(120)는 메모리(130)에 저장된 인스트럭션들(instructions)을 실행함으로써 아바타 스티커를 생성하기 위한 전자 장치(101)의 전반적인 기능들을 수행할 수 있다.
예를 들어, 프로세서(120)는 카메라(380)를 통해 사용자(또는, 사용자의 얼굴)에 대한 이미지를 획득하고, 획득된 이미지를 통해 사용자의 감정 상태를 분석할 수 있다. 프로세서(120)는 분석된 감정 상태에 대응하는 파라미터의 값들을 템플릿 DB(314)에 저장된 아바타 템플릿들에 적용함으로써 아바타 스티커를 생성할 수 있다. 프로세서(120)는 사용자의 감정 상태에 기반하여 아바타 스티커를 생성하므로, 아바타 템플릿들에 비하여 정밀하게 사용자의 감정 상태를 나타내는 아바타 스티커를 생성할 수 있다.
일 실시 예에 따르면, 디스플레이(360)는 전자 장치(101)에서 실행되는 어플리케이션의 화면(screen)을 표시할 수 있다. 디스플레이(360)는 프로세서(120)의 제어에 의하여 화면 내에서 아바타 스티커 또는 아바타 템플릿을 표시할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치(예: 웨어러블 장치)와 무선 통신을 수행하도록 구성된 무선 통신 회로(390)(예: 도 1의 무선 통신 모듈(192)의 적어도 일부)를 더 포함할 수 있다. 프로세서(120)는 무선 통신 회로(390)를 통해 외부 전자 장치로부터 사용자의 생체 정보(예: 심박 정보)를 수신할 수 있다. 프로세서(120)는 카메라(380)를 통해 획득된 이미지와 함께 생체 정보를 이용하여 사용자의 감정 상태를 보다 정확하게 결정할 수 있다.
도 4는 다양한 실시 예들에 따른 사용자의 감정 상태에 기반하여 아바타 스티커(450)를 생성하는 전자 장치(101)의 동작을 나타낸다.
도 4를 참조하면, 동작 401에서, 전자 장치(101)는 카메라(380)를 통해 사용자(410)에 대한 이미지(예: 얼굴 이미지)를 획득할 수 있다. 전자 장치(101)는 획득된 이미지를 분석할 수 있다. 도 4는 전자 장치(101)가 이미지만을 분석하는 동작을 도시하지만, 다른 실시 예에 따르면, 전자 장치(101)는 생체 정보 또는 사용자 입력에 의하여 수신된 텍스트 입력 중 적어도 하나에 기반하여 사용자의 감정 상태를 결정할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 머신 러닝에 기반하여 이미지가 나타내는 사용자의 표정, 생체 정보, 또는 텍스트 입력 중 적어도 하나를 분석함으로써 사용자의 감정 상태를 결정할 수 있다.
동작 402에서, 전자 장치(101)는 분석 결과 결정된 사용자의 감정 상태에 기반하여 아바타 템플릿(예: 430)으로부터 아바타 스티커(예: 450)를 생성할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 파라미터의 값이 가장 높은 값에 대응하는 아바타 템플릿을 이용하거나, 파라미터의 값이 지정된 임계 값(예: 0.5) 이상인 아바타 템플릿을 이용하거나, 또는 파라미터의 값이 0을 초과하는 모든 아바타 템플릿들을 이용하여 아바타 스티커를 생성할 수 있다.
예를 들어, 사용자의 현재 감정 상태를 나타내는 정보(420)에서 행복(happy)을 나타내는 파라미터의 값이 0.8이고, 중립(neutral)을 나타내는 파라미터의 값이 0.2일 수 있다. 행복을 나타내는 파라미터의 값이 가장 높으므로, 전자 장치(101)는 템플릿 DB(314)에 저장된, “행복”을 나타내는 아바타 템플릿(430)을 선택할 수 있다. 전자 장치(101)는 선택된 아바타 템플릿(430)에 파라미터의 값에 따른 가중치(weight)를 적용함으로써 아바타 스티커(450)를 생성할 수 있다. 아바타 스티커(450)가 포함하는 제스처의 움직임의 속도, 변화폭, 또는 종류는 파라미터의 값에 기반하여 결정되므로, 아바타 템플릿(430)이 포함하는 제스처의 움직임의 속도, 변화폭, 또는 종류와 다를 수 있다. 다른 예를 들어, 전자 장치(101)는 “행복”을 나타내는 아바타 템플릿(430)과 “중립”을 나타내는 아바타 템플릿(미도시)을 선택할 수 있다. 전자 장치(101)는 각각의 아바타 템플릿에 파라미터의 값에 따른 가중치를 적용하고, 가중치가 적용된 아바타 템플릿들을 합성함으로써 아바타 스티커(450)를 생성할 수 있다.
도 4는 사용자의 감정 상태를 나타내는 파라미터의 값이 복수 개인 실시 예를 도시하지만, 다른 실시 예들에 따르면, 사용자의 감정 상태를 나타내는 파라미터의 값은 하나의 값일 수도 있다. 다른 실시 예에 따르면, 사용자의 감정 상태를 나타내는 값은 소수 값이 아닌 다른 값(예: 정수, 또는 백분율)으로 표현될 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 파라미터의 값에 기반하여 효과 오브젝트 또는 배경 오브젝트를 아바타 스티커(450)에 합성할 수 있다. 예를 들어, 행복에 대응하는 파라미터의 값(예: 0.8)이 지정된 임계 값(예: 0.7) 이상이면, 전자 장치(101)는 행복을 나타내는 배경 오브젝트(예: 460)를 아바타 스티커(450)에 합성할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 파라미터의 값에 따라서 효과 오브젝트 또는 배경 오브젝트의 움직임의 속도, 변화폭, 크기, 색상, 또는 종류 중 적어도 하나를 변경할 수 있다.
동작 403에서, 전자 장치(101)는 아바타 스티커(450)를 디스플레이(360)의 적어도 일부 영역 상에 표시할 수 있다. 행복에 대응하는 파라미터의 값이 지정된 임계 값 이상이면, 아바타 스티커(450)는 배경 오브젝트(460)를 더 포함할 수 있다.
도 5a 및 도 5b는 사용자의 감정 상태에 기반하는 아바타 스티커의 예를 도시한다. 도 5a 및 도 5b는 하나의 아바타 템플릿(501)을 이용하여 아바타 스티커를 생성하는 실시 예를 도시하지만, 전자 장치(101)는 복수의 아바타 템플릿들을 이용함으로써 아바타 스티커를 생성할 수 있다.
도 5a 및 도 5b를 참조하면, 아바타 템플릿(예: 501) 및 아바타 스티커(예: 502, 503, 504, 505)는 복수의 이미지 프레임들을 포함하는 동적 이미지이거나 동영상일 수 있다. 아바타 템플릿 또는 아바타 스티커의 파일 포맷(format)은 gif, jpg, png, avi, gif 중 적어도 하나일 수 있다.
일 실시 예에 따르면, 아바타 템플릿(501)은 제1 이미지 프레임(510), 제2 이미지 프레임(512), 및 제1 이미지 프레임(510)과 제2 이미지 프레임(512) 사이에 적어도 하나의 이미지 프레임을 포함할 수 있다. 이 경우, 전자 장치(101)는 아바타 템플릿(501)을 통해 아바타가 제1 이미지 프레임(510)에서 제2 이미지 프레임(512)으로 움직이는 시각적 효과를 제공할 수 있다. 동일한 원리로, 전자 장치(101)는 제1 아바타 스티커(502)를 통해 아바타가 제1 이미지 프레임(510)에서 제3 이미지 프레임(514)으로 움직이고, 제2 아바타 스티커(503)를 통해 아바타가 제1 이미지 프레임(510)에서 제4 이미지 프레임(516)으로 움직이고, 제3 아바타 스티커(504)를 통해 아바타 및 오브젝트(예: 배경 오브젝트 또는 효과 오브젝트)가 제1 이미지 프레임(510)에서 제5 이미지 프레임(518)으로 움직이고, 제4 아바타 스티커(505)를 통해 아바타 및 오브젝트가 제1 이미지 프레임(510)에서 제6 이미지 프레임(520)으로 움직이는 시각적 효과를 제공할 수 있다.
예를 들어, 도 5a를 참조할 때, 사용자의 감정 상태 중 행복을 나타내는 파라미터의 값이 0.5이면, 미소를 짓는 아바타 템플릿(501)에서 얼굴 표정에 대한 움직임 벡터에 가중치가 적용되므로, 제1 아바타 스티커(502)는 아바타 템플릿(501)보다 밝게 웃는 표정을 나타낼 수 있다. 행복을 나타내는 파라미터의 값이 0.8이면 움직임 벡터에 적용되는 가중치가 증가하므로, 제2 아바타 스티커(503)는 제1 아바타 스티커(502)보다 밝게 웃는 표정을 나타낼 수 있다. 파라미터의 값이 지정된 제1 임계 값(예: 0.5) 이상이면, 제1 아바타 스티커(502) 및 제2 아바타 스티커(503)는 손동작을 나타내는 제스처를 더 포함할 수 있다. 파라미터의 값이 지정된 제2 임계 값(예: 0.7) 이상이면, 제2 아바타 스티커(503)는 배경 오브젝트(예: 도 4의 460)를 더 포함할 수 있다.
다른 예를 들어, 도 5b를 참조할 때, 행복을 나타내는 파라미터의 값이 지정된 제1 임계 값(예: 0.5)이상이면, 제5 이미지 프레임(518)에 하트가 포함되는 배경 오브젝트가 삽입될 수 있다. 행복을 나타내는 파라미터의 값이 지정된 제2 임계 값(예: 0.7)이상이면, 배경 오브젝트의 움직임의 속도, 변화폭, 개수, 크기, 색상, 또는 종류 중 적어도 하나가 변경될 수 있다. 예를 들어, 제6 이미지 프레임(520)에 포함되는 배경 오브젝트는 제5 이미지 프레임(518)에 포함되는 배경 오브젝트에 비하여 하트의 개수 및 크기가 증가하고, 색상이 변경될 수 있다.
도 6은 다양한 실시 예들에 따른 사용자의 감정 상태에 기반하여 아바타 스티커를 생성하는 전자 장치(101)의 동작 흐름도(600)를 도시한다. 이하 동작 흐름도(600) 및 다른 동작 흐름도에 포함된 동작들은 전자 장치(101)에 의하여 수행될 수도 있고, 전자 장치(101)의 구성요소(예: 프로세서(120))에 의하여 수행될 수도 있다.
도 6을 참조하면, 동작 605에서, 전자 장치(101)는 외부 객체(예: 사용자의 얼굴)에 관한 이미지를 획득할 수 있다. 다른 실시 예에 따르면, 전자 장치(101)는 사용자의 생체 정보 또는 텍스트 입력을 획득할 수 있다.
동작 610에서, 전자 장치(101)는 획득된 이미지, 생체 정보, 또는 텍스트 입력 중 적어도 하나에 기반하여 사용자의 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 머신 러닝에 기반하여 적어도 하나의 파라미터의 값을 획득할 수 있다.
동작 615에서, 전자 장치(101)는 적어도 하나의 파라미터의 값에 기반하여, 템플릿 DB(314)에 저장된 복수의 아바타 템플릿들 중에서 제1 제스처(예: 웃는 제스처)를 포함하는 아바타 템플릿(예: 도 4의 430)을 선택할 수 있다.
동작 620에서, 전자 장치(101)는 적어도 하나의 파라미터 값에 기반하여 제2 제스처(예: 더 밝게 웃으면서 엄지를 들어올리는 제스처)를 포함하는 아바타 스티커(예: 도 4의 450)를 생성할 수 있다. 예를 들어, 전자 장치(101)는 적어도 하나의 파라미터의 값에 따른 가중치를 아바타 템플릿에 적용함으로써 아바타 스티커를 생성할 수 있다. 아바타 스티커에 가중치가 적용되었으므로, 제2 제스처의 움직임의 속도, 변화폭, 또는 제스처의 종류는 제1 제스처의 움직임의 속도, 변화폭, 또는 제스처의 종류와 다를 수 있다.
동작 625에서, 전자 장치(101)는 아바타 스티커를 디스플레이(예: 도 3의 360)의 적어도 일부 영역 상에 표시할 수 있다.
도 7은 다양한 실시 예들에 따라 아바타 스티커를 형성하는 복수의 이미지 프레임들을 생성하는 전자 장치(101)의 동작 흐름도(700)를 도시한다. 도 7에 도시된 동작들은 도 6의 동작 620의 일 실시 예일 수 있다.
도 7을 참조하면, 동작 705에서, 전자 장치(101)는 아바타 템플릿에 서 기 정의된 움직임 벡터를 사용함으로써 제1 제스처에 대한 제1 움직임 벡터를 획득할 수 있다.
동작 710에서, 전자 장치(101)는 제1 움직임 벡터 및 적어도 하나의 파라미터의 값에 기반하여 제2 움직임 벡터를 생성할 수 있다. 예를 들어, 전자 장치(101)는 적어도 하나의 파라미터의 값에 따른 가중치를 제1 움직임 벡터에 곱함으로써 제2 움직임 벡터를 생성할 수 있다.
파라미터의 값이 복수 개이면, 동작 715에서, 전자 장치(101)는 복수의 움직임 벡터들을 더함으로써 하나의 제2 움직임 벡터를 생성할 수 있다. 예를 들어, 중립(neutral)을 나타내는 파라미터의 값이 0.2이고, 행복을 나타내는 파라미터의 값이 0.5, 놀람(surprise)을 나타내는 파라미터의 값이 0.3이면, 전자 장치(101)는 하기의 수학식 1과 같이 선형 결합(linear combination)을 이용하여 제2 움직임 벡터 FN를 생성할 수 있다.
수학식 1에서, a1은 중립을 나타내는 파라미터의 값에 따른 가중치를 나타내고, T1은 “중립”을 나타내는 아바타 템플릿의 움직임 벡터를 나타내고, a2는 행복을 나타내는 파라미터의 값에 따른 가중치를 나타내고, T2는 “행복”을 나타내는 아바타 템플릿의 움직임 벡터를 나타내고, a3은 놀람을 나타내는 파라미터의 값에 따른 가중치를 나타내고, T3은 “놀람”을 나타내는 아바타 템플릿에 대한 움직임 벡터를 나타낼 수 있다.
일 실시 예에 따라 파라미터의 값이 한 개이면, 전자 장치(101)는 동작 715를 생략할 수 있다.
동작 720에서, 전자 장치(101)는 제2 움직임 벡터를 이용하여 제2 제스처를 나타내는 연속적인 복수의 이미지 프레임들(예: 도 5의 510 내지 514, 또는 510 내지 516)을 생성할 수 있다. 이하에서, 배경 오브젝트 및 효과 오브젝트를 포함하지 않고 제스처만을 포함하는 복수의 이미지 프레임들은 복수의 제1 이미지 프레임들로 지칭될 수 있다. 또한, 도 8에서 후술되듯이, 배경 오브젝트 또는 효과 오브젝트 중 적어도 하나를 포함하는 복수의 이미지 프레임들은 제2 이미지 프레임들로 지칭될 수 있다.
동작 725에서, 전자 장치(101)는 복수의 이미지 프레임들에 기반하여 아바타 스티커(예: 도 4의 450)를 생성할 수 있다. 예를 들어, 전자 장치(101)는 복수의 제1 이미지 프레임들을 더함으로써 아바타 스티커를 생성할 수 있다. 다른 예를 들어, 전자 장치(101)는 복수의 제1 이미지 프레임들과 복수의 제2 이미지 프레임들을 프레임 별로 합성하고, 합성된 복수의 이미지 프레임들을 더함으로써, 배경 오브젝트 또는 효과 오브젝트 중 적어도 하나를 포함하는 아바타 스티커를 생성할 수 있다.
도 8은 다양한 실시 예들에 따라 배경 오브젝트 또는 효과 오브젝트를 나타내는 복수의 이미지 프레임들을 생성하는 전자 장치(101)의 동작 흐름도(800)를 도시한다. 도 8에 도시된 동작들은 도 7의 동작 720의 일 실시 예일 수 있다.
도 8을 참조하면, 동작 805에서, 전자 장치(101)는 적어도 하나의 파라미터의 값에 기반하여 템플릿 DB(314)에 저장된 복수의 배경 오브젝트들 및 효과 오브젝트들 중에서 제1 배경 오브젝트 또는 제1 효과 오브젝트 중 적어도 하나를 선택할 수 있다. 예를 들어, 파라미터의 값이 복수 개이면, 전자 장치(101)는 값이 가장 높은 파라미터에 대응하는 제1 배경 오브젝트 또는 제1 효과 오브젝트 중 적어도 하나를 선택할 수 있다.
동작 810에서, 전자 장치(101)는 특징점을 분석함으로써 선택된 제1 배경 오브젝트 또는 제1 효과 오브젝트 중 적어도 하나에 대한 제3 움직임 벡터를 획득할 수 있다.
동작 815에서, 전자 장치(101)는 제3 움직임 벡터 및 적어도 하나의 파라미터의 값에 기반하여 제4 움직임 벡터를 생성할 수 있다. 예를 들어, 전자 장치(101)는 적어도 하나의 파라미터의 값에 따른 가중치를 제3 움직임 벡터에 곱함으로써 제4 움직임 벡터를 생성할 수 있다.
동작 820에서, 전자 장치(101)는 제4 움직임 벡터를 이용하여 연속적인 복수의 제2 이미지 프레임들을 생성할 수 있다. 복수의 제2 이미지 프레임들은 배경 오브젝트 또는 효과 오브젝트 중 적어도 하나가 움직이는 효과를 나타낼 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 도 7의 동작 720이 수행된 이후에 도 8의 동작들을 수행할 수 있다. 다른 예를 들어, 전자 장치(101)는 복수의 제1 이미지 프레임들을 생성하기 이전에 제4 움직임 벡터를 생성하고, 제4 움직임 벡터가 생성된 이후에 복수의 제1 이미지 프레임들 및 복수의 제2 이미지 프레임들을 생성할 수 있다.
도 9는 다양한 실시 예들에 따라 외부 전자 장치(901)로부터 수신되는 생체 정보를 이용하여 파라미터의 값을 획득하는 신호 흐름도(900)를 도시한다.
도 9를 참조하면, 외부 전자 장치(901)는 사용자의 신체의 일부(예: 손목)에 착용되는 웨어러블 장치일 수 있다. 외부 전자 장치(901)로부터 생체 정보를 수신하기 위하여, 전자 장치(101)는 무선 통신 회로(예: 도 3 의 390)를 포함할 수 있다.
동작 905에서, 전자 장치(101)는 생체 정보를 외부 전자 장치(901)에게 요청할 수 있다. 예를 들어, 전자 장치(101)는 사용자에 관한 이미지를 획득하기 위하여 카메라가 실행되거나, 사용자 입력이 수신되면 생체 정보를 요청할 수 있다.
다른 실시 예에 따르면, 전자 장치(101)는 동작 905를 생략할 수 있다. 이 경우, 전자 장치(101)는 지정된 주기에 따라서 외부 전자 장치(901)로부터 생체 정보를 수신할 수 있다.
동작 910에서, 외부 전자 장치(901)는 센서를 이용하여 사용자의 신체의 일부로부터 생체 정보(예: 심박 정보)를 측정할 수 있다.
동작 915에서, 외부 전자 장치(901)는 측정된 생체 정보를 전자 장치(101)에게 전송할 수 있다.
동작 920에서, 전자 장치(101)는 수신된 생체 정보 및 이미지 분석의 결과를 이용하여 사용자의 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 머신 러닝에 기반하여 적어도 하나의 파라미터의 값을 획득할 수 있다.
도 10은 다양한 실시 예들에 따라 디스플레이(360) 상에 아바타 스티커를 표시하는 전자 장치(101)의 동작을 나타낸다.
도 10을 참조하면, 동작 1001에서, 전자 장치(101)는 메시지 어플리케이션이 실행되면, 디스플레이(360)의 일부 영역 상에 키보드 레이아웃(keyboard layout)(1010)을 표시할 수 있다. 전자 장치(101)는 키보드 레이아웃(1010)의 상단(또는 하단)에 키보드 레이아웃(1010)과 연관된 기능을 제공하는 툴바(tool bar)(1020)를 표시할 수 있다. 키보드 레이아웃(1010)과 연관된 기능은 예를 들어, 이모티콘(emoticon), 이모지(emoji), 음성 인식, 설정(setting), 또는 자동 문구 추천 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 툴바(1020)의 적어도 일부 영역 상에 아바타 템플릿들에 대한 목록을 호출하기 위한 아이콘(1022)을 표시할 수 있다. 아이콘(1022)을 선택하는 사용자 입력(1030)이 수신되면, 전자 장치(101)는 템플릿 DB(예: 도 3의 314)에 저장된 복수의 아바타 템플릿들에 대한 목록을 디스플레이(360)의 적어도 일부 영역(예: 키보드 레이아웃(1010)이 표시되는 영역)상에 표시할 수 있다.
디스플레이(360) 상에 표시되는 아바타 템플릿들의 수가 증가할수록, 사용자가 원하는 제스처를 포함하는 아바타 템플릿을 찾기 위하여 요구되는 시간이 증가할 수 있으므로, 사용자 입력(1030)이 수신되면, 동작 1002에서 전자 장치(101)는 사용자의 감정 상태에 기반하여 생성된 아바타 스티커를 사용자에게 추천할 수 있다.
예를 들어, 사용자 입력(1030)이 수신되면, 전자 장치(101)는 카메라(360)를 실행하고, 도 6에 도시된 동작들에 기반하여 아바타 스티커(1042)를 생성할 수 있다. 전자 장치(101)는 생성된 아바타 스티커(1042)를 다른 아바타 템플릿들(예: 1044)보다 왼쪽 상단에 표시함으로써 사용자에게 아바타 스티커(1042)를 추천할 수 있다. 도 10은 아바타 템플릿들에 대한 목록을 호출하기 위한 아이콘(1022)을 선택하는 사용자 입력에 응답하여 아바타 스티커를 생성하는 실시 예만을 도시하지만, 다른 실시 예에 따르면, 전자 장치(101)는 아바타 스티커를 생성하기 위한 별도의 아이콘을 툴바(1022)의 적어도 일부 영역 상에 표시할 수 있다.
다른 예를 들어, 전자 장치(101)는 아바타 스티커들(예: 1042)의 사용 이력을 나타내는 히스토리(history) 정보에 기반하여 사용자에게 아바타 스티커를 추천할 수 있다. 히스토리 정보에 기반하여 아바타 스티커를 추천하는 일 실시 예는 도 12에서 후술된다.
도 11은 다양한 실시 예들에 따라 사용자 입력에 기반하여 아바타 스티커를 저장하는 전자 장치(101)의 동작 흐름도(1100)를 도시한다.
도 11을 참조하면, 동작 1105에서, 전자 장치(101)는 메시지 어플리케이션을 실행할 수 있다.
동작 1110에서, 전자 장치(101)는 아바타 스티커와 연관된 아이콘(예: 도 10의 1022)을 선택하는 사용자 입력(예: 도 10의 1030)을 수신할 수 있다.
동작 1115에서, 전자 장치(101)는 아바타 스티커(예: 도 10의 1042)를 표시할 수 있다. 예를 들어, 전자 장치(101)는 동작 1110에 응답하여 카메라(예: 도 3의 380)를 실행하고, 도 6에 도시된 동작들에 기반하여 아바타 스티커를 생성할 수 있다.
동작 1120에서, 전자 장치(101)는 생성된 아바타 스티커를 선택하는 사용자 입력이 수신되는지 여부를 식별할 수 있다. 아바타 스티커를 선택하는 사용자 입력이 수신되면, 동작 1125에서, 전자 장치(101)는 생성된 아바타 스티커를 메모리(130)(예: 도 3의 아바타 스티커 DB(318))에 저장할 수 있다. 아바타 스티커를 선택하는 사용자 입력이 수신되지 않거나, 아바타 템플릿(예: 도 10의 1044)을 선택하는 사용자 입력이 수신되면, 메모리(130)의 저장 공간 효율을 위하여 동작 1130에서, 전자 장치(101)는 생성된 아바타 스티커를 삭제할 수 있다.
도 12는 다양한 실시 예들에 따라 히스토리 정보(1202)에 기반하여 아바타 스티커를 생성하는 전자 장치(101)의 동작을 나타낸다.
도 12를 참조하면, 전자 장치(101)는 머신 러닝 시스템을 이용하여 사용자의 현재 감정 상태를 나타내는 정보(1201) 및 메모리(130)에 저장된 히스토리 정보(1202)로부터 추천 아바타 스티커 정보(1203)를 생성할 수 있다. 추천 아바타 스티커 정보(1203)가 나타내는 아바타 스티커들은 템플릿 DB(314)에 저장된 아바타 템플릿들이거나, 도 6에 도시된 동작들에 의하여 생성된 아바타 스티커들일 수 있다. 전자 장치(101)는 머신 러닝 시스템을 이용하여 아바타 스티커들에 대한 스코어(score)를 결정하고, 결정된 스코어에 따라서 아바타 스티커들의 우선순위를 결정할 수 있다. 전자 장치(101)는 우선순위가 높은 아바타 스티커를 사용자에게 추천할 수 있다.
예를 들어, 전자 장치(101)가 DQN(deep Q network)을 통해 추천 아바타 스티커 정보(1203)를 생성하는 경우, 전자 장치(101)는 하기의 수학식 2에 따라서 아바타 스티커들에 대한 리워드(reward) 값 R을 결정할 수 있다.
수학식 2에서, Su는 사용자가 선택한 아바타 스티커의 점수를 의미할 수 있다. 수학식 2에 따르면, 리워드는 선택된 아바타 스티커의 점수가 높을수록 증가할 수 있다. 전자 장치(101)는 리워드를 통해 지속적으로 학습함으로써 히스토리 정보(1202)를 갱신할 수 있다.
상술한 바와 같이, 전자 장치(예: 도 1의 101)는, 카메라(예: 도 1의 카메라 모듈(180)의 적어도 일부), 디스플레이(예: 도 1의 표시 장치(160)의 적어도 일부), 상기 카메라 및 상기 디스플레이와 작동적으로 연결되는 프로세서(예: 도 1의 120), 및 상기 프로세서와 작동적으로 연결되는 메모리(예: 도 1의 130)를 포함하고, 상기 메모리는, 복수의 제스처들을 포함하는 복수의 아바타 템플릿들을 저장하고, 실행 시, 상기 프로세서가, 상기 카메라를 이용하여, 외부 객체에 관한 이미지를 획득하고, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하고, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 복수의 아바타 템플릿들 중에서 제1 제스처를 포함하는 아바타 템플릿을 선택하고, 상기 선택된 아바타 템플릿 및 상기 적어도 하나의 파라미터의 값에 기반하여, 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하고, 상기 생성된 아바타 스티커를 상기 디스플레이의 적어도 일부 영역 상에 표시하도록 하는 인스트럭션들을 포함할 수 있다.
일 실시 예에 따르면, 상기 제2 제스처는 상기 제1 제스처와, 움직임의 속도, 변화폭, 또는 종류 중 적어도 하나가 서로 다를 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 선택된 아바타 템플릿에 대한 제1 움직임 벡터를 획득하고, 상기 제1 움직임 벡터 및 상기 적어도 하나의 파라미터의 값에 기반하여 제2 움직임 벡터를 생성하고, 상기 제2 움직임 벡터에 기반하여, 상기 제2 제스처를 나타내는 연속적인 복수의 제1 이미지 프레임들을 생성하고, 상기 복수의 제1 이미지 프레임들에 기반하여 상기 아바타 스티커를 생성하도록 할 수 있다.
일 실시 예에 따르면, 상기 메모리는, 복수의 배경 오브젝트들 또는 복수의 효과 오브젝트들을 더 포함하고, 상기 인스트럭션들은 상기 프로세서가, 상기 복수의 제1 이미지 프레임들이 생성된 이후에, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 복수의 배경 오브젝트들 중 제1 배경 오브젝트를 선택하거나 상기 복수의 효과 오브젝트들 중 제1 효과 오브젝트를 선택하고, 상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 대한 제3 움직임 벡터를 획득하고, 상기 제3 움직임 벡터 및 상기 적어도 하나의 파라미터의 값에 기반하여 제4 움직임 벡터를 생성하고, 상기 제4 움직임 벡터에 기반하여, 상기 제1 배경 오브젝트와 다른 제2 배경 오브젝트를 나타내거나, 상기 제1 효과 오브젝트와 다른 제2 효과 오브젝트를 나타내는 연속적인 복수의 제2 이미지 프레임들을 생성하고, 상기 복수의 제1 이미지 프레임들 및 상기 복수의 제2 이미지 프레임들에 기반하여 상기 아바타 스티커를 생성하도록 할 수 있다.
일 실시 예에 따르면, 상기 제2 배경 오브젝트 및 상기 제2 효과 오브젝트는 상기 제2 배경 오브젝트 및 상기 제2 효과 오브젝트와, 움직임의 속도, 변화폭, 크기, 색상, 또는 종류 중 적어도 하나가 서로 다를 수 있다.
일 실시 예에 따르면, 상기 전자 장치는 외부 전자 장치와 무선 통신을 수행하도록 구성되는 무선 통신 회로(예: 도 1의 무선 통신 모듈(192)의 적어도 일부)를 더 포함하고, 상기 인스트럭션들은 상기 프로세서가, 상기 무선 통신 회로를 통해, 상기 외부 전자 장치로부터 생체 정보를 수신하고, 상기 생체 정보 및 상기 획득된 이미지에 기반하여 상기 적어도 하나의 파라미터의 값을 획득하도록 할 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 메시지 어플리케이션을 실행하고, 상기 디스플레이의 적어도 일부 영역 상에, 상기 복수의 아바타 템플릿들을 호출하기 위한 아이콘을 표시하고, 상기 아이콘 상에 수신되는 제1 입력에 응답하여, 상기 카메라를 실행하도록 할 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 디스플레이의 적어도 일부 영역 상에 상기 복수의 아바타 템플릿들에 대한 목록 및 상기 생성된 아바타 스티커를 표시하고, 상기 목록에 포함되는 아바타 템플릿을 선택하는 제2 입력이 수신되면, 상기 아바타 스티커를 상기 메모리에서 삭제하고, 상기 아바타 스티커를 선택하는 제2 입력이 수신되면, 상기 아바타 스티커를 상기 메모리에 저장하도록 할 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 제2 입력에 기반하여, 상기 적어도 하나의 파라미터의 값에 대한 히스토리(history) 정보를 저장하고, 상기 히스토리 정보에 기반하여 상기 복수의 아바타 템플릿들 또는 상기 아바타 스티커에 대한 우선순위를 결정하고, 상기 아이콘 상에 수신되는 제3 입력에 응답하여, 상기 우선순위에 기반하여 상기 디스플레이의 적어도 일부 영역 상에 상기 복수의 아바타 템플릿들에 대한 목록 및 상기 생성된 아바타 스티커를 표시하도록 할 수 있다.
상술한 바와 같이, 전자 장치의 방법은, 외부 객체에 관한 이미지를 획득하는 동작, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하는 동작, 상기 적어도 하나의 파라미터의 값에 기반하여 복수의 아바타 템플릿들 중에서 제1 제스처를 포함하는 아바타 템플릿을 선택하는 동작, 상기 선택된 아바타 템플릿 및 상기 적어도 하나의 파라미터의 값에 기반하여, 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하는 동작, 및 상기 생성된 아바타 스티커를 표시하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 아바타 스티커를 생성하는 동작은, 상기 선택된 아바타 템플릿에 대한 제1 움직임 벡터를 획득하는 동작, 상기 제1 움직임 벡터 및 상기 적어도 하나의 파라미터의 값에 기반하여 제2 움직임 벡터를 생성하는 동작, 상기 제2 움직임 벡터에 기반하여, 상기 제2 제스처를 나타내는 연속적인 복수의 제1 이미지 프레임들을 생성하는 동작, 및 상기 복수의 제1 이미지 프레임들에 기반하여 상기 아바타 스티커를 생성하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 아바타 스티커를 생성하는 동작은, 상기 복수의 제1 이미지 프레임들이 생성된 이후에, 상기 적어도 하나의 파라미터의 값에 기반하여 복수의 배경 오브젝트들 중 제1 배경 오브젝트를 선택하거나 복수의 효과 오브젝트들 중 제1 효과 오브젝트를 선택하는 동작, 상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 대한 제3 움직임 벡터를 획득하는 동작, 상기 제3 움직임 벡터 및 상기 적어도 하나의 파라미터의 값에 기반하여 제4 움직임 벡터를 생성하는 동작, 상기 제4 움직임 벡터에 기반하여, 상기 제1 배경 오브젝트와 다른 제2 배경 오브젝트를 나타내거나, 상기 제1 효과 오브젝트와 다른 제2 효과 오브젝트를 나타내는 연속적인 복수의 제2 이미지 프레임들을 생성하는 동작, 및 상기 복수의 제1 이미지 프레임들 및 상기 복수의 제2 이미지 프레임들에 기반하여 상기 아바타 스티커를 생성하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 제2 제스처는, 상기 제1 제스처와 움직임의 속도, 변화폭, 또는 종류 중 적어도 하나가 서로 다르고, 상기 제2 배경 오브젝트 및 상기 제2 효과 오브젝트는, 상기 제2 배경 오브젝트 및 상기 제2 효과 오브젝트와 움직임의 속도, 변화폭, 크기, 색상, 또는 종류 중 적어도 하나가 서로 다를 수 있다.
일 실시 예에 따르면, 상기 방법은 외부 전자 장치로부터 생체 정보를 수신하는 동작을 더 포함하고, 상기 적어도 하나의 파라미터의 값을 획득하는 동작은, 상기 상기 생체 정보 및 상기 획득된 이미지에 기반하여 상기 적어도 하나의 파라미터의 값을 획득 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 외부 객체에 관한 이미지를 획득하는 동작은, 메시지 어플리케이션을 실행하는 동작, 상기 복수의 아바타 템플릿들을 호출하기 위한 아이콘을 표시하는 동작, 상기 아이콘 상에 수신되는 제1 입력에 응답하여, 상기 외부 객체에 관한 이미지를 획득하는 동작을 포함하고, 상기 방법은, 상기 아바타 스티커를 선택하는 입력이 수신되면, 상기 아바타 스티커를 상기 전자 장치의 메모리에 저장하는 동작, 또는 상기 아바타 스티커를 선택하는 입력이 수신되지 않으면, 상기 아바타 스티커를 상기 전자 장치의 메모리에서 삭제하는 동작을 더 포함할 수 있다.
상술한 바와 같이, 전자 장치(예: 도 1의 101)는, 카메라(예: 도 1의 카메라 모듈(180)의 적어도 일부), 디스플레이(예: 도 1의 표시 장치(160)의 적어도 일부), 상기 카메라 및 상기 디스플레이와 작동적으로 연결되는 프로세서(예: 도 1의 120), 및 상기 프로세서와 작동적으로 연결되는 메모리(예: 도 1의 130)를 포함하고, 상기 메모리는, 제1 제스처를 포함하는 아바타 템플릿을 저장하고, 실행 시, 상기 프로세서가, 메시지 어플리케이션을 실행하고, 상기 디스플레이의 적어도 일부 영역 상에, 상기 복수의 아바타 템플릿들을 호출하기 위한 아이콘을 표시하고, 상기 아이콘 상에 수신되는 입력에 응답하여, 상기 카메라를 실행하고, 상기 카메라를 이용하여, 외부 객체에 관한 이미지를 획득하고, 상기 획득된 이미지에 기반하여, 감정 상태에 대응하는 적어도 하나의 파라미터의 값을 획득하고, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 제1 제스처와 다른 제2 제스처를 포함하는 아바타 스티커를 생성하고, 상기 생성된 아바타 스티커를 상기 디스플레이의 적어도 일부 영역 상에 표시하도록 하는 인스트럭션들을 포함할 수 있다.
일 실시 예에 따르면, 상기 하나 이상의 프로세서들은, 상기 획득된 파라미터에 기반하여 복수의 아바타 템플릿들 중에서 상기 제1 제스처를 포함하는 아바타 템플릿을 선택하고, 상기 선택된 아바타 템플릿에 대한 제1 움직임 벡터를 획득하고, 상기 제1 움직임 벡터 및 상기 적어도 하나의 파라미터의 값에 기반하여 제2 움직임 벡터를 생성하고, 상기 제2 움직임 벡터에 기반하여, 상기 제2 제스처를 나타내는 연속적인 복수의 제1 이미지 프레임들을 생성하고, 상기 복수의 제1 이미지 프레임들에 기반하여 상기 아바타 스티커를 생성하도록 할 수 있다.
일 실시 예에 따르면, 상기 메모리는, 복수의 배경 오브젝트들 또는 복수의 효과 오브젝트들을 더 포함하고, 상기 인스트럭션들은 상기 프로세서가, 상기 복수의 제1 이미지 프레임들이 생성된 이후에, 상기 적어도 하나의 파라미터의 값에 기반하여 상기 복수의 배경 오브젝트들 중 제1 배경 오브젝트를 선택하거나 상기 복수의 효과 오브젝트들 중 제1 효과 오브젝트를 선택하고, 상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 대한 제3 움직임 벡터를 획득하고, 상기 제3 움직임 벡터 및 상기 적어도 하나의 파라미터의 값에 기반하여 제4 움직임 벡터를 생성하고, 상기 제4 움직임 벡터에 기반하여, 상기 제1 배경 오브젝트와 다른 제2 배경 오브젝트를 나타내거나, 상기 제1 효과 오브젝트와 다른 제2 효과 오브젝트를 나타내는 연속적인 복수의 제2 이미지 프레임들을 생성하고, 상기 복수의 제1 이미지 프레임들 및 상기 복수의 제2 이미지 프레임들에 기반하여 상기 아바타 스티커를 생성하도록 할 수 있다.
일 실시 예에 따르면, 상기 제2 제스처는, 상기 제1 제스처와 움직임의 속도, 변화폭, 또는 종류 중 적어도 하나가 서로 다르고, 상기 제2 배경 오브젝트 및 상기 제2 효과 오브젝트는, 상기 제2 배경 오브젝트 및 상기 제2 효과 오브젝트와 움직임의 속도, 변화폭, 크기, 색상, 또는 종류 중 적어도 하나가 서로 다를 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 아바타 스티커를 선택하는 입력이 수신되면, 상기 아바타 스티커를 상기 메모리에 저장하거나, 또는 상기 아바타 스티커를 선택하는 입력이 수신되지 않으면, 상기 아바타 스티커를 상기 메모리에서 삭제하도록 할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (20)
- 전자 장치에 있어서,
카메라;
지정된 움직임 벡터가 적용된 제스처를 포함하는 복수의 아바타 템플릿들을 저장하는 메모리;
디스플레이;
상기 카메라, 상기 메모리 및 상기 디스플레이와 작동적으로 연결되는 프로세서를 포함하고,
상기 프로세서는,
상기 카메라를 이용하여, 외부 객체에 관한 이미지를 획득하고,
상기 획득된 이미지에 기반하여, 상기 외부 객체의 감정을 결정하고,
상기 복수의 아바타 템플릿들 중에서 상기 외부 객체의 감정에 대응하는 대응 아바타 템플릿을 선택하고,
상기 획득된 이미지에 기반하여, 상기 외부 객체의 감정 상태를 점수화한 감정 점수를 산출하고,
상기 대응 아바타의 제스처에 적용된 움직임 벡터에 상기 감정 점수에 대응하는 가중치가 부여된 아바타 스티커를 생성하도록 하며,
상기 프로세서는, 상기 아바타 스티커를 생성함에 있어서,
상기 대응 아바타 템플릿이 제1 움직임 벡터가 적용된 제1 제스처를 포함하고 상기 감정 점수가 지정된 제1 범위에 포함되면, 상기 제1 움직임 벡터에 제1 가중치를 부여한 제2 움직임 벡터를 상기 대응 아바타 템플릿의 제1 제스처에 적용하고,
상기 대응 아바타 템플릿이 상기 제1 움직임 벡터가 적용된 상기 제1 제스처를 포함하고 상기 감정 점수가 상기 지정된 제1 범위와 다른 지정된 제2 범위에 포함되면, 상기 제1 움직임 벡터에 상기 제1 가중치와 다른 제2 가중치를 부여한 제3 움직임 벡터를 상기 대응 아바타 템플릿의 제1 제스처에 적용하도록 하며,
상기 제2 움직임 벡터가 적용된 제1 제스처는 움직임의 속도, 변화폭, 또는 종류 중 적어도 하나가 상기 제1 움직임 벡터가 적용된 제1 제스처와 서로 다르며,
상기 제3 움직임 벡터가 적용된 제1 제스처는 상기 움직임의 속도, 상기 변화폭, 또는 상기 종류 중 적어도 하나가 상기 제2 움직임 벡터가 적용된 제1 제스처와 서로 다른, 전자 장치.
- 삭제
- 삭제
- 청구항 1에 있어서, 상기 메모리는,
복수의 배경 오브젝트들 또는 복수의 효과 오브젝트들을 더 포함하고,
상기 프로세서는,
상기 복수의 배경 오브젝트들 또는 복수의 효과 오브젝트들을 중 상기 외부 객체의 감정에 대응하는 제1 배경 오브젝트 또는 제1 효과 오브젝트를 선택하고,
상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 적용된 제4 움직임 벡터를 획득하고,
상기 제4 움직임 벡터에 상기 감정 점수에 대응하는 가중치가 부여된 제5 움직임 벡터를 상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 적용하고,
상기 제5 움직임 벡터가 적용된 제1 배경 오브젝트 또는 제1 효과 오브젝트를 상기 아바타 스티커에 적용하도록 하는, 전자 장치.
- 청구항 4에 있어서,
상기 제4 움직임 벡터가 적용된 제1 배경 오브젝트 및 상기 제1 효과 오브젝트는 움직임의 속도, 변화폭, 크기, 색상, 또는 종류 중 적어도 하나가 상기 제5 움직임 벡터가 적용된 제1 배경 오브젝트 및 상기 제1 효과 오브젝트와 서로 다른, 전자 장치.
- 청구항 1에 있어서,
외부 전자 장치와 무선 통신을 수행하도록 구성되는 무선 통신 회로를 더 포함하고,
상기 프로세서는,
상기 무선 통신 회로를 통해, 상기 외부 전자 장치로부터 생체 정보를 수신하고,
상기 생체 정보 및 상기 획득된 이미지에 기반하여 상기 외부 객체의 감정을 결정하도록 하는, 전자 장치.
- 청구항 1에 있어서,
상기 프로세서는,
메시지 어플리케이션을 실행하고,
상기 디스플레이의 적어도 일부 영역 상에, 상기 복수의 아바타 템플릿들을 호출하기 위한 아이콘을 표시하고,
상기 아이콘 상에 수신되는 제1 입력에 응답하여, 상기 카메라를 실행하도록 하는, 전자 장치.
- 청구항 7에 있어서, 상기 프로세서가,
상기 디스플레이의 적어도 일부 영역 상에 상기 복수의 아바타 템플릿들에 대한 목록 및 상기 생성된 아바타 스티커를 표시하고,
상기 목록에 포함되는 아바타 템플릿을 선택하는 제2 입력이 수신되면, 상기 아바타 스티커를 상기 메모리에서 삭제하고,
상기 아바타 스티커를 선택하는 제2 입력이 수신되면, 상기 아바타 스티커를 상기 메모리에 저장하도록 하는, 전자 장치.
- 청구항 8에 있어서, 상기 프로세서는,
상기 제2 입력에 기반하여, 상기 외부 객체의 감정에 대한 히스토리(history) 정보를 저장하고,
상기 히스토리 정보에 기반하여 상기 복수의 아바타 템플릿들 또는 상기 아바타 스티커에 대한 우선순위를 결정하고,
상기 아이콘 상에 수신되는 제3 입력에 응답하여, 상기 우선순위에 기반하여 상기 디스플레이의 적어도 일부 영역 상에 상기 복수의 아바타 템플릿들에 대한 목록 및 상기 생성된 아바타 스티커를 표시하도록 하는, 전자 장치.
- 전자 장치의 방법에 있어서,
외부 객체에 관한 이미지를 획득하는 동작;
상기 획득된 이미지에 기반하여, 상기 외부 객체의 감정을 결정하는 동작;
지정된 움직임 벡터가 적용된 제스처를 포함하는 복수의 아바타 템플릿들 중에서 상기 외부 객체의 감정에 대응하는 대응 아바타 템플릿을 선택하는 동작;
상기 획득된 이미지에 기반하여, 상기 외부 객체의 감정 상태를 점수화한 감정 점수를 산출하는 동작;
상기 대응 아바타의 제스처에 적용된 움직임 벡터에 상기 감정 점수에 대응하는 가중치가 부여된 아바타 스티커를 생성하는 동작을 포함하며,
상기 아바타 스티커를 생성하는 동작은,
상기 대응 아바타 템플릿이 제1 움직임 벡터가 적용된 제1 제스처를 포함하고 상기 감정 점수가 지정된 제1 범위에 포함되면, 상기 제1 움직임 벡터에 제1 가중치를 부여한 제2 움직임 벡터를 상기 대응 아바타 템플릿의 제1 제스처에 적용하는 동작; 및
상기 대응 아바타 템플릿이 상기 제1 움직임 벡터가 적용된 상기 제1 제스처를 포함하고 상기 감정 점수가 상기 지정된 제1 범위와 다른 지정된 제2 범위에 포함되면, 상기 제1 움직임 벡터에 상기 제1 가중치와 다른 제2 가중치를 부여한 제3 움직임 벡터를 상기 대응 아바타 템플릿의 제1 제스처에 적용하는 동작을 포함하며,
상기 제2 움직임 벡터가 적용된 제1 제스처는 움직임의 속도, 변화폭, 또는 종류 중 적어도 하나가 상기 제1 움직임 벡터가 적용된 제1 제스처와 서로 다르며,
상기 제3 움직임 벡터가 적용된 제1 제스처는 상기 움직임의 속도, 상기 변화폭, 또는 상기 종류 중 적어도 하나가 상기 제2 움직임 벡터가 적용된 제1 제스처와 서로 다른, 방법.
- 삭제
- 청구항 10에 있어서, 상기 아바타 스티커를 생성하는 동작은,
복수의 배경 오브젝트들 중 상기 외부 객체의 감정에 대응하는 제1 배경 오브젝트 또는 제1 효과 오브젝트를 선택하는 동작;
상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 적용된 제4 움직임 벡터를 획득하는 동작;
상기 제4 움직임 벡터에 상기 감정 점수에 대응하는 가중치가 부여된 제5 움직임 벡터를 상기 제1 배경 오브젝트 또는 상기 제1 효과 오브젝트에 적용하는 동작; 및
상기 제5 움직임 벡터가 적용된 제1 배경 오브젝트 또는 제1 효과 오브젝트를 상기 아바타 스티커에 적용하도록 하는 동작을 포함하는, 방법.
- 청구항 12에 있어서,
상기 제4 움직임 벡터가 적용된 제1 배경 오브젝트 및 상기 제1 효과 오브젝트는 움직임의 속도, 변화폭, 크기, 색상, 또는 종류 중 적어도 하나가 상기 제5 움직임 벡터가 적용된 제1 배경 오브젝트 및 상기 제1 효과 오브젝트와 서로 다른, 방법.
- ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈청구항 10에 있어서,
외부 전자 장치로부터 생체 정보를 수신하는 동작을 더 포함하고,
상기 생체 정보 및 상기 획득된 이미지에 기반하여 상기 외부 객체의 감정을 결정하는 동작을 포함하는, 방법.
- ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈청구항 10에 있어서,
상기 외부 객체에 관한 이미지를 획득하는 동작은,
메시지 어플리케이션을 실행하는 동작;
상기 복수의 아바타 템플릿들을 호출하기 위한 아이콘을 표시하는 동작;
상기 아이콘 상에 수신되는 제1 입력에 응답하여, 상기 외부 객체에 관한 이미지를 획득하는 동작을 포함하고,
상기 방법은,
상기 아바타 스티커를 선택하는 입력이 수신되면, 상기 아바타 스티커를 상기 전자 장치의 메모리에 저장하는 동작; 또는
상기 아바타 스티커를 선택하는 입력이 수신되지 않으면, 상기 아바타 스티커를 상기 전자 장치의 메모리에서 삭제하는 동작을 더 포함하는, 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180167106A KR102648993B1 (ko) | 2018-12-21 | 2018-12-21 | 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법 |
EP19900991.1A EP3871195A4 (en) | 2018-12-21 | 2019-08-29 | ELECTRONIC DEVICE AND METHOD FOR PROVIDING AN AVATAR BASED ON THE EMOTIONAL STATE OF A USER |
PCT/KR2019/011066 WO2020130281A1 (en) | 2018-12-21 | 2019-08-29 | Electronic device and method for providing avatar based on emotion state of user |
US16/556,379 US11216999B2 (en) | 2018-12-21 | 2019-08-30 | Electronic device and method for providing avatar based on emotion state of user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180167106A KR102648993B1 (ko) | 2018-12-21 | 2018-12-21 | 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200077840A KR20200077840A (ko) | 2020-07-01 |
KR102648993B1 true KR102648993B1 (ko) | 2024-03-20 |
Family
ID=71097242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180167106A KR102648993B1 (ko) | 2018-12-21 | 2018-12-21 | 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11216999B2 (ko) |
EP (1) | EP3871195A4 (ko) |
KR (1) | KR102648993B1 (ko) |
WO (1) | WO2020130281A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369428B (zh) * | 2020-03-09 | 2023-07-21 | 北京百度网讯科技有限公司 | 虚拟头像生成方法和装置 |
US11356393B2 (en) | 2020-09-29 | 2022-06-07 | International Business Machines Corporation | Sharing personalized data in an electronic online group user session |
KR102577132B1 (ko) * | 2021-09-24 | 2023-09-12 | (주)이머시브캐스트 | 3차원 텍스트 메시징 서비스 장치 및 방법 |
KR20230054556A (ko) * | 2021-10-15 | 2023-04-25 | 삼성전자주식회사 | 코칭을 제공하기 위한 전자 장치 및 그의 동작 방법 |
US12062113B2 (en) * | 2022-01-06 | 2024-08-13 | International Business Machines Corporation | Dynamic pattern generator |
US11741651B2 (en) | 2022-01-24 | 2023-08-29 | My Job Matcher, Inc. | Apparatus, system, and method for generating a video avatar |
CN115551139A (zh) * | 2022-10-11 | 2022-12-30 | 扬州华彩光电有限公司 | 基于人工智能的led灯视觉交互方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342769A (ja) * | 2001-05-21 | 2002-11-29 | Mitsubishi Electric Corp | 表情生成装置及びそれに用いる方法 |
US20160364895A1 (en) * | 2015-06-11 | 2016-12-15 | Microsoft Technology Licensing, Llc | Communicating emotional information via avatar animation |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100703281B1 (ko) * | 2004-04-30 | 2007-04-03 | 삼성전자주식회사 | 휴대단말기의 특정 상태에서 화면 표시장치 및 방법 |
KR20070059951A (ko) * | 2005-12-06 | 2007-06-12 | 삼성전자주식회사 | 휴대단말기의 화면 표시장치 및 방법 |
US7991401B2 (en) * | 2006-08-08 | 2011-08-02 | Samsung Electronics Co., Ltd. | Apparatus, a method, and a system for animating a virtual scene |
KR101671900B1 (ko) * | 2009-05-08 | 2016-11-03 | 삼성전자주식회사 | 가상 세계에서의 객체를 제어하는 시스템, 방법 및 기록 매체 |
US9665563B2 (en) * | 2009-05-28 | 2017-05-30 | Samsung Electronics Co., Ltd. | Animation system and methods for generating animation based on text-based data and user information |
US8694899B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Avatars reflecting user states |
US10628741B2 (en) * | 2010-06-07 | 2020-04-21 | Affectiva, Inc. | Multimodal machine learning for emotion metrics |
US20170098122A1 (en) * | 2010-06-07 | 2017-04-06 | Affectiva, Inc. | Analysis of image content with associated manipulation of expression presentation |
US11073899B2 (en) * | 2010-06-07 | 2021-07-27 | Affectiva, Inc. | Multidevice multimodal emotion services monitoring |
KR20130022434A (ko) * | 2011-08-22 | 2013-03-07 | (주)아이디피쉬 | 통신단말장치의 감정 컨텐츠 서비스 장치 및 방법, 이를 위한 감정 인지 장치 및 방법, 이를 이용한 감정 컨텐츠를 생성하고 정합하는 장치 및 방법 |
KR101306221B1 (ko) * | 2011-09-23 | 2013-09-10 | (주) 어펙트로닉스 | 3차원 사용자 아바타를 이용한 동영상 제작장치 및 방법 |
KR101907136B1 (ko) * | 2012-01-27 | 2018-10-11 | 라인 가부시키가이샤 | 유무선 웹을 통한 아바타 서비스 시스템 및 방법 |
KR102270699B1 (ko) * | 2013-03-11 | 2021-06-28 | 매직 립, 인코포레이티드 | 증강 및 가상 현실을 위한 시스템 및 방법 |
CN104063427A (zh) * | 2014-06-06 | 2014-09-24 | 北京搜狗科技发展有限公司 | 一种基于语义理解的表情输入方法和装置 |
KR101634086B1 (ko) * | 2015-01-19 | 2016-07-08 | 주식회사 엔씨소프트 | 감정 분석을 통한 스티커 추천 방법 및 시스템 |
KR101583181B1 (ko) * | 2015-01-19 | 2016-01-06 | 주식회사 엔씨소프트 | 응답 스티커 추천방법 및 컴퓨터 프로그램 |
KR101743763B1 (ko) | 2015-06-29 | 2017-06-05 | (주)참빛솔루션 | 감성 아바타 이모티콘 기반의 스마트 러닝 학습 제공 방법, 그리고 이를 구현하기 위한 스마트 러닝 학습 단말장치 |
CN105119812B (zh) * | 2015-08-26 | 2018-05-18 | 小米科技有限责任公司 | 在聊天界面更改表情符号的方法、装置及终端设备 |
KR101751620B1 (ko) * | 2015-12-15 | 2017-07-11 | 라인 가부시키가이샤 | 시각적 또는 청각적 효과의 양방향 전달을 이용한 영상 통화 방법 및 시스템 |
DK179471B1 (en) | 2016-09-23 | 2018-11-26 | Apple Inc. | IMAGE DATA FOR ENHANCED USER INTERACTIONS |
CN117193617A (zh) * | 2016-09-23 | 2023-12-08 | 苹果公司 | 头像创建和编辑 |
US10528801B2 (en) * | 2016-12-07 | 2020-01-07 | Keyterra LLC | Method and system for incorporating contextual and emotional visualization into electronic communications |
US10860841B2 (en) | 2016-12-29 | 2020-12-08 | Samsung Electronics Co., Ltd. | Facial expression image processing method and apparatus |
KR101763679B1 (ko) | 2017-05-23 | 2017-08-01 | 주식회사 엔씨소프트 | 화행 분석을 통한 스티커 추천 방법 및 시스템 |
WO2019209431A1 (en) * | 2018-04-23 | 2019-10-31 | Magic Leap, Inc. | Avatar facial expression representation in multidimensional space |
-
2018
- 2018-12-21 KR KR1020180167106A patent/KR102648993B1/ko active IP Right Grant
-
2019
- 2019-08-29 WO PCT/KR2019/011066 patent/WO2020130281A1/en unknown
- 2019-08-29 EP EP19900991.1A patent/EP3871195A4/en active Pending
- 2019-08-30 US US16/556,379 patent/US11216999B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342769A (ja) * | 2001-05-21 | 2002-11-29 | Mitsubishi Electric Corp | 表情生成装置及びそれに用いる方法 |
US20160364895A1 (en) * | 2015-06-11 | 2016-12-15 | Microsoft Technology Licensing, Llc | Communicating emotional information via avatar animation |
Also Published As
Publication number | Publication date |
---|---|
WO2020130281A1 (en) | 2020-06-25 |
US11216999B2 (en) | 2022-01-04 |
EP3871195A4 (en) | 2021-12-22 |
US20200202603A1 (en) | 2020-06-25 |
KR20200077840A (ko) | 2020-07-01 |
EP3871195A1 (en) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102664688B1 (ko) | 가상 캐릭터 기반 촬영 모드를 제공하는 전자 장치 및 이의 동작 방법 | |
KR102648993B1 (ko) | 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법 | |
US20200402304A1 (en) | Electronic device and method for managing custom object on basis of avatar | |
KR102560689B1 (ko) | Ar 객체를 표시하기 위한 장치 및 방법 | |
KR102659357B1 (ko) | 아바타 애니메이션을 제공하기 위한 전자 장치 및 그에 관한 방법 | |
KR102707337B1 (ko) | 전자 장치 및 전자 장치의 그래픽 객체 제어 방법 | |
US11069115B2 (en) | Method of controlling display of avatar and electronic device therefor | |
KR102667064B1 (ko) | 전자 장치 및 이를 이용한 카메라 기능과 연동하여 이모지 편집을 위한 사용자 인터페이스를 제공하는 방법 | |
KR102383129B1 (ko) | 이미지에 포함된 오브젝트의 카테고리 및 인식률에 기반하여 이미지를 보정하는 방법 및 이를 구현한 전자 장치 | |
KR102614048B1 (ko) | 증강 현실을 위한 객체를 표시하기 위한 전자 장치 및 그의 동작 방법 | |
KR102423295B1 (ko) | 심도 맵을 이용하여 객체를 합성하기 위한 장치 및 그에 관한 방법 | |
US11509815B2 (en) | Electronic device and method for processing image having human object and providing indicator indicating a ratio for the human object | |
KR102646344B1 (ko) | 이미지를 합성하기 위한 전자 장치 및 그의 동작 방법 | |
US11284020B2 (en) | Apparatus and method for displaying graphic elements according to object | |
US11587205B2 (en) | Method and device for generating avatar on basis of corrected image | |
KR20230073869A (ko) | 인터랙션을 지원하는 사용자 인터페이스를 제공하는 방법 및 이를 수행하는 전자 장치 | |
KR20210012562A (ko) | 아바타를 제공하는 전자 장치 및 그의 동작 방법 | |
KR20210115786A (ko) | 자기 이미지 캡쳐 방법 및 이를 위한 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right |