KR102585858B1 - 이모지 레코딩 및 전송 - Google Patents

이모지 레코딩 및 전송 Download PDF

Info

Publication number
KR102585858B1
KR102585858B1 KR1020237021441A KR20237021441A KR102585858B1 KR 102585858 B1 KR102585858 B1 KR 102585858B1 KR 1020237021441 A KR1020237021441 A KR 1020237021441A KR 20237021441 A KR20237021441 A KR 20237021441A KR 102585858 B1 KR102585858 B1 KR 102585858B1
Authority
KR
South Korea
Prior art keywords
avatar
feature
user
change
virtual avatar
Prior art date
Application number
KR1020237021441A
Other languages
English (en)
Other versions
KR20230101936A (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
Priority claimed from DKPA201770393A external-priority patent/DK201770393A1/en
Priority claimed from DKPA201770721A external-priority patent/DK179867B1/en
Application filed by 애플 인크. filed Critical 애플 인크.
Priority to KR1020237033560A priority Critical patent/KR20230144661A/ko
Priority claimed from PCT/US2018/033044 external-priority patent/WO2018213500A1/en
Publication of KR20230101936A publication Critical patent/KR20230101936A/ko
Application granted granted Critical
Publication of KR102585858B1 publication Critical patent/KR102585858B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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]
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/175Static expression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/176Dynamic expression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
    • 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/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera
    • 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/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Abstract

본 개시내용은 일반적으로 가상 아바타들을 생성하고 수정하는 것에 관한 것이다. 카메라 및 디스플레이 장치를 갖는 전자 디바이스는 카메라의 시야에서의 얼굴의 변화들에 응답하여 외관을 변화시키는 가상 아바타를 디스플레이한다. 카메라의 시야에서 얼굴의 하나 이상의 물리적 특징부들의 변화들을 검출하는 것에 응답하여, 전자 디바이스는 가상 아바타의 하나 이상의 특징부들을 수정한다.

Description

이모지 레코딩 및 전송{EMOJI RECORDING AND SENDING}
관련 출원들에 대한 상호-참조
본 출원은 2017년 5월 16일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 가출원 제62/507,177호;2017년 9월 9일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 가출원 제62/556,412호;2017년 9월 11일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 가출원 제62/557,121호;2018년 5월 15일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 가출원 제62/671,979호;2018년 1월 12일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 특허 출원 제15/870,195호;2018년 3월 29일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 특허 출원 제15/940,017호;2018년 3월 29일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 미국 특허 출원 제15/940,232호;2017년 5월 29일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 덴마크 특허 출원 제 PA201770393호;2017년 9월 22일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 덴마크 특허 출원 제 PA201770720호;및 2017년 9월 22일자로 출원되고 발명의 명칭이 "Emoji Recording and Sending"인 덴마크 특허 출원 제 PA201770721호에 대한 우선권을 주장한다. 이들 출원들의 내용들은 이로써 그들 전체가 본 명세서에 참고로 포함된다.
기술분야
본 개시내용은 일반적으로 컴퓨터 사용자 인터페이스들에 관한 것으로, 더 상세하게는 이모지들 및 가상 아바타들을 생성, 레코딩, 및 전송하기 위한 기법들에 관한 것이다.
이모지들 및 가상 아바타들과 같은 멀티미디어 콘텐츠는 때때로 메시징 통신들의 일부로서 전송된다. 이모지들 및 가상 아바타들은 다양한 미리 정의된 사람들, 물체들, 동작들, 및/또는 다른 것들을 표현한다. 일부 메시징 애플리케이션들은, 다른 콘텐츠(예를 들어, 다른 멀티미디어 및/또는 텍스트 콘텐츠)를 포함할 수 있는 메시지의 일부로서 전송되는 이모지들 및 가상 아바타들의 미리 정의된 라이브러리로부터 사용자들이 선택하게 허용한다. 스티커들은 때때로 메시징 애플리케이션들을 이용하여 전송되는 다른 유형의 멀티미디어 콘텐츠이다. 일부 방식들에서, 스티커들은 그들이 사람들, 물체들, 동작들, 및/또는 다른 것들을 표현할 수 있다는 점에서 이모지들 및 가상 아바타들과 유사하다. 일부 스티커들 및/또는 메시징 애플리케이션들은 스티커들이 이전에 전송되거나 수신된 메시지들과 연관되게 허용한다.
그러나, 전자 디바이스들을 사용하여 이모지들 및 가상 아바타들을 생성, 전송, 및 수신하기 위한 일부 기법들은 일반적으로 번거롭고 비효율적이다. 예를 들어, 일부 기존의 기법들은 복잡하고 시간 소모적인 사용자 인터페이스를 사용하는데, 이는 다중 키 누르기들 및 키스트로크(keystroke)들을 포함할 수 있다. 일부 다른 기존의 기법들은 이모지들 및 가상 아바타들을 조작 및 생성하기 위한 복잡하고 시간 소모적인 방법들을 사용하는데, 이는 원하는 이모지(예를 들어, 원하는 애니메이션화된 또는 동적 이모지)를 달성하기 위해 많은 수의 입력들을 제공하도록 사용자에게 요구하는 것을 포함할 수 있다. 기존의 기법들은 필요한 것보다 더 많은 시간을 요구하여, 사용자 시간 및 디바이스 에너지를 낭비한다. 이러한 후자의 고려사항은 배터리-작동형 디바이스들에서 특히 중요하다.
따라서, 본 기법은 이모지들 및 가상 아바타들을 전송 및 수신하기 위한 더 빠르고 더 효율적인 방법들 및 인터페이스들을 갖는 전자 디바이스들을 제공한다. 그러한 방법들 및 인터페이스들은 선택적으로, 이모지들을 전송 및 수신하기 위한 다른 방법들을 보완하거나 대체한다. 그러한 방법들 및 인터페이스들은 사용자에 대한 인지적 부담을 감소시키고 보다 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 그러한 방법들 및 인터페이스들은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다.
일부 실시예들에 따르면, 디스플레이 및 카메라를 갖는 전자 디바이스에서 수행되는 방법이 설명된다. 방법은, 가상 아바타 생성 인터페이스를 디스플레이하는 단계; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기(preview)를 디스플레이하는 단계 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 가상 아바타의 미리보기를 디스플레이하는 동안, 가상 아바타 생성 인터페이스에서 입력을 검출하는 단계; 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여: 입력이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타를 생성하는 단계 - 개개의 시간은 입력의 타이밍에 기초하여 결정됨 -; 및 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스의 활성화를 포함한다는 결정에 따라, 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타를 생성하는 단계 - 시간 기간은 입력의 타이밍에 기초하여 결정됨 - 를 포함한다.
일부 실시예들에 따르면, 비일시적 컴퓨터 판독가능 저장 매체가 설명된다. 비일시적 컴퓨터 판독가능 저장 매체는 디스플레이 및 카메라를 갖는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하며, 하나 이상의 프로그램들은, 가상 아바타 생성 인터페이스를 디스플레이하고; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하고 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 가상 아바타의 미리보기를 디스플레이하는 동안, 가상 아바타 생성 인터페이스에서 입력을 검출하고; 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여: 입력이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타를 생성하며 - 개개의 시간은 입력의 타이밍에 기초하여 결정됨 -; 그리고 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스의 활성화를 포함한다는 결정에 따라, 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타를 생성하기 위한 - 시간 기간은 입력의 타이밍에 기초하여 결정됨 - 명령어들을 포함한다.
일부 실시예들에 따르면, 일시적인 컴퓨터 판독가능 저장 매체가 설명된다. 비일시적 컴퓨터 판독가능 저장 매체는 디스플레이 및 카메라를 갖는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하며, 하나 이상의 프로그램들은, 가상 아바타 생성 인터페이스를 디스플레이하고; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하고 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 가상 아바타의 미리보기를 디스플레이하는 동안, 가상 아바타 생성 인터페이스에서 입력을 검출하고; 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여: 입력이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타를 생성하며 - 개개의 시간은 입력의 타이밍에 기초하여 결정됨 -; 그리고 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스의 활성화를 포함한다는 결정에 따라, 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타를 생성하기 위한 - 시간 기간은 입력의 타이밍에 기초하여 결정됨 - 명령어들을 포함한다.
일부 실시예들에 따르면, 전자 디바이스가 설명된다. 전자 디바이스는, 디스플레이; 카메라; 하나 이상의 프로세서들; 및 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 하나 이상의 프로그램들은, 가상 아바타 생성 인터페이스를 디스플레이하고; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하고 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 가상 아바타의 미리보기를 디스플레이하는 동안, 가상 아바타 생성 인터페이스에서 입력을 검출하고; 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여: 입력이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타를 생성하며 - 개개의 시간은 입력의 타이밍에 기초하여 결정됨 -; 그리고 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스의 활성화를 포함한다는 결정에 따라, 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타를 생성하기 위한 - 시간 기간은 입력의 타이밍에 기초하여 결정됨 - 명령어들을 포함한다.
일부 실시예들에 따르면, 전자 디바이스가 설명된다. 전자 디바이스는, 카메라; 가상 아바타 생성 인터페이스를 디스플레이하고 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하기 위한 디스플레이 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 가상 아바타의 미리보기를 디스플레이하는 동안, 가상 아바타 생성 인터페이스에서 입력을 검출하기 위한 수단; 및 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여: 입력이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타를 생성하고 - 개개의 시간은 입력의 타이밍에 기초하여 결정됨 -; 그리고 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스의 활성화를 포함한다는 결정에 따라, 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타를 생성하기 위한 수단 - 시간 기간은 입력의 타이밍에 기초하여 결정됨 - 을 포함한다.
일부 실시예들에 따르면, 디스플레이 및 카메라를 갖는 전자 디바이스에서 수행되는 방법이 설명된다. 방법은, 가상 아바타 생성 인터페이스를 디스플레이하는 단계; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하는 단계 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 단계; 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩하는 단계; 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타의 루핑 버전(looping version)을 디스플레이하는 단계 - 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함함 - 를 포함한다.
일부 실시예들에 따르면, 비일시적 컴퓨터 판독가능 저장 매체가 설명된다. 비일시적 컴퓨터 판독가능 저장 매체는 디스플레이 및 카메라를 갖는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하며, 하나 이상의 프로그램들은, 가상 아바타 생성 인터페이스를 디스플레이하고; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하고 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하고; 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩하며; 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하기 위한 - 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함함 - 명렁어들을 포함한다.
일부 실시예들에 따르면, 일시적인 컴퓨터 판독가능 저장 매체가 설명된다. 비일시적 컴퓨터 판독가능 저장 매체는 디스플레이 및 카메라를 갖는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하며, 하나 이상의 프로그램들은, 가상 아바타 생성 인터페이스를 디스플레이하고; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하고 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하고; 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩하며; 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하기 위한 - 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함함 - 명령어들을 포함한다.
일부 실시예들에 따르면, 전자 디바이스가 설명된다. 전자 디바이스는, 가상 아바타 생성 인터페이스를 디스플레이하는 것; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하는 것 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것; 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩하는 것; 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것 - 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함함 - 을 포함한다.
일부 실시예들에 따르면, 전자 디바이스가 설명된다. 전자 디바이스는, 카메라; 가상 아바타 생성 인터페이스를 디스플레이하고 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하기 위한 디스플레이 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하기 위한 수단; 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩하기 위한 수단; 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이를 야기하기 위한 수단 - 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함함 - 을 포함한다.
일부 실시예들에서, 방법은, 카메라 및 디스플레이를 갖는 전자 디바이스에서: 가상 아바타 생성 인터페이스를 디스플레이하는 단계; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하는 단계 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 가상 아바타의 미리보기를 디스플레이하는 동안, 가상 아바타 생성 인터페이스에서 입력을 검출하는 단계; 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여: 입력이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타를 생성하는 단계 - 개개의 시간은 입력의 타이밍에 기초하여 결정됨 -; 및 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스의 활성화를 포함한다는 결정에 따라, 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타를 생성하는 단계 - 시간 기간은 입력의 타이밍에 기초하여 결정됨 - 를 포함한다.
일부 실시예들에서, 방법은, 카메라 및 디스플레이를 갖는 전자 디바이스에서: 가상 아바타 생성 인터페이스를 디스플레이하는 단계; 가상 아바타 생성 인터페이스에서 가상 아바타의 미리보기를 디스플레이하는 단계 - 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응함 -; 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 단계; 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩하는 단계; 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 단계 - 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함함 - 를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 변화들에 응답하여 외관을 변화시키는 가상 아바타를 디스플레이하는 단계 - 가상 아바타는, 제1 부분, 및 제1 부분과 상이한 제2 부분을 포함함 -; 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 동안, 하나 이상의 카메라들의 시야 내에서 얼굴의 포즈의 변화를 검출하는 단계; 얼굴의 포즈의 변화를 검출하는 것에 응답하여, 가상 아바타의 외관을 변화시키는 단계를 포함하며, 가상 아바타의 외관을 변화시키는 단계는, 얼굴의 포즈의 변화가 얼굴의 포즈의 제1 유형의 변화를 포함한다는 결정에 따라, 가상 아바타의 외관을 변화시키는 단계가 얼굴의 포즈의 제1 유형의 변화의 크기에 따라 가상 아바타의 제2 부분에 대해 가상 아바타의 제1 부분을 이동시키는 단계를 포함하는 단계; 및 얼굴의 포즈의 변화가 얼굴의 포즈의 제2 유형의 변화를 포함한다는 결정에 따라, 가상 아바타의 외관을 변화시키는 단계가 얼굴의 포즈의 제2 유형의 변화의 크기에 기초하여 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키는 단계를 포함하는 단계를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는, 하나 이상의 카메라들의 시야에서의 얼굴의 제1 물리적 특징부 및 하나 이상의 카메라들의 시야 내의 얼굴의 제2 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부, 및 제2 아바타 특징부를 포함함 -; 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 동안, 하나 이상의 카메라들의 시야 내에서 얼굴의 하나 이상의 물리적 특징부들의 변화들을 검출하는 단계; 변화들이 제1 물리적 특징부의 변화를 포함한다는 결정에 따라: 제1 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하는 단계, 및 제1 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정하는 것을 보류하는 단계; 및 변화들이 제2 물리적 특징부의 변화를 포함한다는 결정에 따라: 제2 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하는 단계, 및 제2 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정하는 것을 보류하는 단계를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는, 하나 이상의 카메라들의 시야 내의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부; 제1 물리적 특징부의 변화들에 반응하는 제2 아바타 특징부; 및 제1 물리적 특징부의 변화들에 주로 반응하지 않는 제3 아바타 특징부를 포함함 -; 가상 아바타를 디스플레이하는 동안, 제1 물리적 특징부의 변화들을 검출하는 단계; 및 제1 물리적 특징부의 변화들을 검출하는 것에 응답하여: 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 단계; 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 단계; 및 제1 물리적 특징부의 검출된 변화들에 기초하여 제3 아바타 특징부의 수정을 보류하는 단계를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는, 하나 이상의 카메라들의 시야 내의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부; 얼굴의 제2 물리적 특징부의 변화들이 제2 물리적 특징부의 변화들의 제1 범위에서 발생하는지 또는 제2 물리적 특징부의 변화들의 제1 범위와 상이한 제2 물리적 특징부의 변화들의 제2 범위에서 발생하는지에 의존하여 얼굴의 제2 물리적 특징부의 변화들에 상이한 방식들로 반응하는 제2 아바타 특징부를 포함함 -; 가상 아바타를 디스플레이하는 동안, 하나 이상의 카메라들의 시야 내에서 얼굴의 개개의 물리적 특징부의 제1 변화를 검출하는 단계; 및 개개의 물리적 특징부의 제1 변화를 검출하는 것에 응답하여, 가상 아바타를 수정하는 단계를 포함하며, 가상 아바타를 수정하는 단계는, 개개의 물리적 특징부의 검출된 제1 변화가 제1 물리적 특징부의 변화라는 결정에 따라, 제1 물리적 특징부의 변화를 반영하도록 제1 아바타 특징부를 수정하는 단계; 및 검출된 제1 변화가 제2 물리적 특징부의 변화이고 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있다는 결정에 따라, 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 단계; 검출된 제1 변화가 제2 물리적 특징부의 변화이고 제2 물리적 특징부의 변화가 변화들의 제2 범위 내에 있다는 결정에 따라, 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것을 보류하는 단계를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는 하나 이상의 카메라들의 시야 내의 얼굴의 하나 이상의 물리적 특징부들의 변화들에 반응하는 복수의 아바타 특징부들을 포함함 -; 가상 아바타를 디스플레이하는 동안, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 단계 - 얼굴의 복수의 물리적 특징부들은 복수의 아바타 특징부들 중 하나 이상에 대응하는 제1 물리적 특징부 및 복수의 아바타 특징부들 중 임의의 아바타 특징부에 대응하지 않는 제2 물리적 특징부를 포함함 -; 및 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것에 응답하여: 복수의 아바타 특징부들의 개개의 아바타 특징부의 외관을 변화시키는 단계 - 개개의 아바타 특징부의 변화의 크기 및/또는 방향은 제1 물리적 특징부의 변화의 크기 또는 방향에 기초함 -; 및 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 일부를 변형시키는 단계 - 아바타 특징부의 일부를 변형시키는 크기 및/또는 방향은 제2 물리적 특징부의 변화의 크기 및/또는 방향에 기초함 - 를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는, 하나 이상의 카메라들의 시야 내의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부를 포함함 -; 가상 아바타를 디스플레이하는 동안, 제1 물리적-특징부-변화 크기를 갖는 제1 물리적 특징부의 변화를 검출하는 단계; 제1 물리적 특징부의 변화를 검출하는 것에 응답하여: 제1 물리적 특징부의 변화가 물리적 특징부 값들의 제1 범위 내에 있다는 결정에 따라, 제1 물리적-특징부-변화 크기에 기초하는 제1 아바타-특징부-변화 크기만큼 제1 아바타 특징부를 변화시키는 단계; 및 제1 물리적 특징부의 변화가 물리적 특징부 값들의 제1 범위와 상이한 물리적 특징부 값들의 제2 범위 내에 있다는 결정에 따라, 제1 아바타-특징부-변화 크기와 상이하고 제1 물리적-특징부-변화 크기에 기초하는 제2 아바타-특징부-변화 크기만큼 제1 아바타 특징부를 변화시키는 단계를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는 기준 프레임 내의 개개의 공간 위치를 갖고, 개개의 공간 위치는 하나 이상의 카메라들의 시야 내의 얼굴의 위치에 기초함 -; 가상 아바타를 디스플레이하는 동안, 개개의 양만큼 하나 이상의 카메라들의 시야 내에서 얼굴의 위치의 변화를 검출하는 단계; 하나 이상의 카메라들의 시야 내에서 얼굴의 위치의 변화를 검출하는 것에 응답하여: 얼굴의 위치의 변화가 제1 방향으로의 변화의 제1 컴포넌트를 포함한다는 결정에 따라, 변화의 제1 컴포넌트의 크기 및 제1 수정 인자에 기초하여 기준 프레임 내의 가상 아바타의 공간 위치를 수정하는 단계; 및 위치의 변화가 제1 방향과 상이한 제2 방향으로의 변화의 제2 컴포넌트를 포함한다는 결정에 따라, 변화의 제2 컴포넌트의 크기 및 제1 수정 인자와 상이한 제2 수정 인자에 기초하여 기준 프레임 내의 가상 아바타의 공간 위치를 수정하는 단계를 포함한다.
일부 실시예들에서, 방법은, 하나 이상의 카메라들 및 디스플레이 장치를 갖는 전자 디바이스에서: 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 가상 아바타는 하나 이상의 카메라들의 시야 내의 얼굴의 하나 이상의 물리적 특징부들의 변화들에 반응함 -; 가상 아바타를 디스플레이하는 동안, 얼굴의 하나 이상의 물리적 특징부들의 제1 구성을 검출하는 단계; 얼굴의 하나 이상의 물리적 특징부들의 제1 구성을 검출하는 동안: 하나 이상의 물리적 특징부들의 제1 구성이 애니메이션 기준들을 만족시킨다는 결정에 따라, 제1 애니메이션화된 효과를 포함하도록 가상 아바타를 수정하는 단계 - 애니메이션 기준들은, 애니메이션 기준들이 충족되기 위해 적어도 제1 임계량의 시간 동안 제1 구성이 유지되는 요건을 포함함 -; 및 하나 이상의 물리적 특징부들의 제1 구성이 애니메이션 기준들을 만족시키지 않는다는 것에 따라, 제1 애니메이션화된 효과를 포함하기 위한 가상 아바타의 수정을 보류하는 단계를 포함한다.
방법이 설명된다. 방법은 디스플레이 장치 및 하나 이상의 카메라들을 갖는 전자 디바이스에서 수행된다. 방법은, 디스플레이 장치를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 포즈의 검출된 변화들에 응답하여 외관을 변화시키는, 복수의 아바타 특징부들을 갖는 가상 아바타를 디스플레이하는 단계 - 얼굴은 제1 얼굴 특징부를 포함하는 복수의 검출된 얼굴 특징부들을 포함함 -; 얼굴이 포즈의 제1 변화로 하나 이상의 카메라들의 시야에서 검출된 이후, 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하는 단계 - 포즈의 제1 변화는 제1 얼굴 특징부에 대한 변화를 포함함 -; 및 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제1 아바타 특징부의 외관을 업데이트하는 단계를 포함하며, 제1 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제1 얼굴 특징부의 변화 특성들에 기초하여 업데이트되고, 제1 아바타 특징부의 외관을 업데이트하는 단계는, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제1 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 단계; 및 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들과 상이한 제2 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 단계를 포함한다.
비일시적 컴퓨터 판독가능 저장 매체가 설명된다. 비일시적 컴퓨터-판독가능 저장 매체는 디스플레이 장치 및 하나 이상의 카메라들을 갖는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장한다. 하나 이상의 프로그램들은, 디스플레이 장치를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 포즈의 검출된 변화들에 응답하여 외관을 변화시키는, 복수의 아바타 특징부들을 갖는 가상 아바타를 디스플레이하고 - 얼굴은 제1 얼굴 특징부를 포함하는 복수의 검출된 얼굴 특징부들을 포함함 -; 얼굴이 포즈의 제1 변화로 하나 이상의 카메라들의 시야에서 검출된 이후, 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하며 - 포즈의 제1 변화는 제1 얼굴 특징부에 대한 변화를 포함함 -; 그리고 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제1 아바타 특징부의 외관을 업데이트하기 위한 명령어들을 포함하고, 제1 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제1 얼굴 특징부의 변화 특성들에 기초하여 업데이트되고, 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제1 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것; 및 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들과 상이한 제2 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것을 포함한다.
일시적 컴퓨터 판독가능 저장 매체가 설명된다. 일시적 컴퓨터-판독가능 저장 매체는 디스플레이 장치 및 하나 이상의 카메라들을 갖는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장한다. 하나 이상의 프로그램들은, 디스플레이 장치를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 포즈의 검출된 변화들에 응답하여 외관을 변화시키는, 복수의 아바타 특징부들을 갖는 가상 아바타를 디스플레이하고 - 얼굴은 제1 얼굴 특징부를 포함하는 복수의 검출된 얼굴 특징부들을 포함함 -; 얼굴이 포즈의 제1 변화로 하나 이상의 카메라들의 시야에서 검출된 이후, 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하며 - 포즈의 제1 변화는 제1 얼굴 특징부에 대한 변화를 포함함 -; 그리고 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제1 아바타 특징부의 외관을 업데이트하기 위한 명령어들을 포함하고, 제1 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제1 얼굴 특징부의 변화 특성들에 기초하여 업데이트되고, 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제1 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것; 및 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들과 상이한 제2 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것을 포함한다.
전자 디바이스가 설명된다. 전자 디바이스는, 디스플레이 장치; 하나 이상의 카메라들; 하나 이상의 프로세서들; 및 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 하나 이상의 프로그램들은, 디스플레이 장치를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 포즈의 검출된 변화들에 응답하여 외관을 변화시키는, 복수의 아바타 특징부들을 갖는 가상 아바타를 디스플레이하고 - 얼굴은 제1 얼굴 특징부를 포함하는 복수의 검출된 얼굴 특징부들을 포함함 -; 얼굴이 포즈의 제1 변화로 하나 이상의 카메라들의 시야에서 검출된 이후, 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하며 - 포즈의 제1 변화는 제1 얼굴 특징부에 대한 변화를 포함함 -; 그리고 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제1 아바타 특징부의 외관을 업데이트하기 위한 명령어들을 포함하고, 제1 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제1 얼굴 특징부의 변화 특성들에 기초하여 업데이트되고, 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제1 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것; 및 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들과 상이한 제2 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것을 포함한다.
전자 디바이스가 설명된다. 전자 디바이스는, 디스플레이 장치; 하나 이상의 카메라들; 디스플레이 장치를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 포즈의 검출된 변화들에 응답하여 외관을 변화시키는, 복수의 아바타 특징부들을 갖는 가상 아바타를 디스플레이하기 위한 수단 - 얼굴은 제1 얼굴 특징부를 포함하는 복수의 검출된 얼굴 특징부들을 포함함 -; 얼굴이 포즈의 제1 변화로 하나 이상의 카메라들의 시야에서 검출된 이후, 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하기 위한 수단 - 포즈의 제1 변화는 제1 얼굴 특징부에 대한 변화를 포함함 -; 및 하나 이상의 카메라들의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제1 아바타 특징부의 외관을 업데이트하기 위한 수단을 포함하며, 제1 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제1 얼굴 특징부의 변화 특성들에 기초하여 업데이트되고, 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제1 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것; 및 얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들과 상이한 제2 변화 특성들을 가졌다는 결정에 따라, 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것을 포함한다.
이들 기능들을 수행하기 위한 실행가능한 명령어들은 선택적으로, 하나 이상의 프로세서들에 의한 실행을 위해 구성된 비일시적 컴퓨터 판독가능 저장 매체 또는 다른 컴퓨터 프로그램 제품에 포함된다. 이들 기능들을 수행하기 위한 실행가능한 명령어들은, 선택적으로, 하나 이상의 프로세서들에 의한 실행을 위해 구성된 일시적 컴퓨터 판독가능 저장 매체 또는 다른 컴퓨터 프로그램 제품에 포함된다.
따라서, 디바이스들에는 이모지들을 생성, 전송, 및 수신하기 위한 더 빠르고 더 효율적인 방법들 및 인터페이스들이 제공되며, 그에 의해, 그러한 디바이스들의 유효성, 효율성 및 사용자 만족도를 증가시킨다. 그러한 방법들 및 인터페이스들은 이모지들을 전송 및 수신하기 위한 다른 방법들을 보완하거나 대체할 수 있다.
다양하게 설명된 실시예들의 보다 양호한 이해를 위해, 유사한 도면 부호들이 도면 전체에 걸쳐서 대응 부분들을 나타내는 하기의 도면들과 관련하여 하기의 발명을 실시하기 위한 구체적인 내용이 참조되어야 한다.
도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이를 갖는 휴대용 다기능 디바이스를 예시하는 블록도이다.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른, 터치 스크린을 갖는 휴대용 다기능 디바이스를 예시한다.
도 3은, 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다.
도 4a는 일부 실시예들에 따른, 휴대용 다기능 디바이스 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스를 예시한다.
도 4b는 일부 실시예들에 따른, 디스플레이와는 별개인 터치 감응형 표면을 갖는 다기능 디바이스에 대한 예시적인 사용자 인터페이스를 예시한다.
도 5a는 일부 실시예들에 따른 개인용 전자 디바이스를 예시한다.
도 5b는 일부 실시예들에 따른 개인용 전자 디바이스를 예시하는 블록도이다.
도 6a 내지 도 6mm은 이모지들, 스티커들, 가상 아바타들, 및/또는 다른 멀티미디어 콘텐츠를 생성 및 전송하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 7a 내지 도 7j는 이모지들, 스티커들, 가상 아바타들, 및/또는 다른 멀티미디어 콘텐츠를 수신하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 8a 및 도 8b는 이모지들, 스티커들, 가상 아바타들, 및/또는 다른 멀티미디어 콘텐츠를 생성 및 전송하기 위한 방법을 예시하는 흐름도이다.
도 9a 및 도 9b는 이모지들, 스티커들, 가상 아바타들, 및/또는 다른 멀티미디어 콘텐츠를 생성 및 전송하기 위한 방법을 예시하는 흐름도이다.
도 10a 내지 도 10i는 대변(poo) 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 11a 내지 도 11c는 곰 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 12a 내지 도 12c는 외계인 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 13은 토끼 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 14a 내지 도 14d는 로봇 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 15a 및 도 15b는 유니콘 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 16a 및 도 16b는 닭 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 17a 및 도 17b는 돼지 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 18a 및 도 18b는 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 19는 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 20은 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 21은 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 22는 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 23은 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 24는 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 25는 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
도 26a 내지 도 26h는 얼굴 추적이 실패한 이후 가상 아바타를 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 27은 얼굴 추적이 실패한 이후 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다.
이하의 설명은 예시적인 방법들, 파라미터들 등을 기재하고 있다. 그러나, 그러한 설명이 본 개시내용의 범주에 대한 제한으로서 의도되는 것이 아니라 그 대신에 예시적인 실시예들의 설명으로서 제공된다는 것을 인식해야 한다.
텍스트 콘텐츠와 함께 또는 그 대신에 멀티미디어 콘텐츠를 이용하여 메시지들을 전송하는 것은 전송자의 메시지를 더 잘 전달할 가능성을 갖는다. 예를 들어, 가상 아바타들(예를 들어, 애니메이션화된 또는 정적 이모지들 또는 스티커들)과 같은 멀티미디어 콘텐츠는 텍스트 단독으로 전달하는 것이 번거롭거나 불가능할 맥락 및/또는 톤(예를 들어, "비언어적 통신"으로 지칭될 수 있는 것)을 제공할 수 있다. 일부 경우들에서, 미리 정의된 가상 아바타들은 이러한 맥락 및/또는 톤 중 일부를 제공하는 데 사용될 수 있다. 그러나, 미리 정의된 콘텐츠는 모든 상황을 커버할 수 없거나 또는 미세하게 조정된 맥락 또는 톤을 제공할 수 없다. 따라서, 메시지들의 일부로서 가상 아바타들을 생성, 전송, 및 수신하기 위한 효율적인 방법들 및 인터페이스들을 제공하는 전자 디바이스들에 대한 필요성이 존재한다. 그러한 기법들은 메시지들을 전송 및 수신하고 있는 사용자에 대한 인지적 부담을 감소시키며, 그에 의해, 생산성을 향상시킬 수 있다. 추가로, 그러한 기법들은 과다한 사용자 입력들에 달리 낭비되는 프로세서 및 배터리 전력을 감소시킬 수 있다.
아래에서, 도 1a 및 도 1b, 도 2, 도 3, 도 4a 및 도 4b, 및 도 5a 및 도 5b는 가상 아바타들을 생성, 전송, 및 수신하기 위한 기법들을 수행하기 위한 예시적인 디바이스들의 설명을 제공한다. 도 6a 내지 도 6mm 및 도 7a 내지 도 7j는 가상 아바타들을 수신, 생성, 수정, 및 전송하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 8a 및 도 8b 및 도 9a 및 도 9b는 가상 아바타들을 수신, 생성, 수정, 및 전송하기 위한 예시적인 방법들을 예시하는 흐름도들이다. 도 6a 내지 도 6mm 및 도 7a 내지 도 7j의 사용자 인터페이스들은 도 8a 및 도 8b 및 도 9a 및 도 9b의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다. 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 도 17a 및 도 17b, 및 도 26a 내지 도 26h는 일부 실시예들에 따른, 가상 아바타들을 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면들의 사용자 인터페이스들은 도 18a, 도 18b, 도 19, 도 20, 도 21, 도 22, 도 23, 도 24, 도 25, 및 도 27의 프로세스들을 포함하여, 아래에서 설명되는 프로세스들을 예시하기 위해 사용된다. 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 도 17a 및 도 17b, 및 도 26a 내지 도 26h의 사용자 인터페이스들 및 도 18a, 도 18b, 도 19, 도 20, 도 21, 도 22, 도 23, 도 24, 도 25 및 도 27의 프로세서들은 도 6a 내지 도 6mm 및 도 7a 내지 도 7j의 인터페이스들 및 도 8a 및 도 8b 및 도 9a 및 도 9b의 프로세스들에서의 사용을 위한 가상 아바타들을 생성하는 데 사용될 수 있다.
이하의 설명이 다양한 요소들을 설명하기 위해 "제1", "제2" 등과 같은 용어들을 사용하지만, 이들 요소들이 그 용어들에 의해 제한되어서는 안된다. 이들 용어들은 하나의 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 설명된 다양한 실시예들의 범주로부터 벗어남이 없이, 제1 터치가 제2 터치로 지칭될 수 있고, 이와 유사하게, 제2 터치가 제1 터치로 지칭될 수 있다. 제1 터치 및 제2 터치는 둘 모두 터치들이지만, 그들이 동일한 터치인 것은 아니다.
본 명세서에서 다양하게 설명된 실시예들의 설명에 사용되는 용어는 특정 실시예들을 설명하는 목적만을 위한 것이고, 제한하려는 의도는 아니다. 다양한 설명된 실시예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태("a", "an", 및 "the")는 문맥상 명백히 달리 나타내지 않는다면 복수의 형태도 마찬가지로 포함하려는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 및 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 용어들 "포함한다(include)", "포함하는(including)", "포함한다(comprise)", 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 추가로 이해될 것이다.
용어 "~할 경우(if)"는, 선택적으로, 문맥에 따라 "~할 때(when)" 또는 "~할 시(upon)" 또는 "결정한 것에 응답하여(in response to determining)" 또는 "검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석된다. 유사하게, 어구 "~라고 결정된 경우" 또는 "[언급된 조건 또는 이벤트가] 검출된 경우"는, 선택적으로, 문맥에 따라 "~라고 결정할 시" 또는 "~라고 결정한 것에 응답하여" 또는 "[언급된 조건 또는 이벤트]를 검출할 시" 또는 "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여"를 의미하는 것으로 해석된다.
전자 디바이스들, 그러한 디바이스들에 대한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하기 위한 연관된 프로세스들의 실시예들이 설명된다. 일부 실시예들에서, 디바이스는 PDA 및/또는 음악 재생기 기능들과 같은 다른 기능들을 또한 포함하는 휴대용 통신 디바이스, 예를 들어 모바일 전화기이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.(Apple Inc.)로부터의 아이폰(iPhone)®, 아이팟 터치(iPod Touch)®, 및 아이패드(iPad)® 디바이스들을 제한 없이 포함한다. 터치 감응형 표면들(예를 들어, 터치 스크린 디스플레이들 및/또는 터치패드들)을 갖는 랩톱 또는 태블릿 컴퓨터들과 같은 다른 휴대용 전자 디바이스들이 선택적으로 사용된다. 일부 실시예들에서, 디바이스는 휴대용 통신 디바이스가 아니라 터치 감응형 표면(예를 들어, 터치 스크린 디스플레이 및/또는 터치패드)을 갖는 데스크톱 컴퓨터임이 또한 이해되어야 한다.
다음의 논의에서, 디스플레이 및 터치 감응형 표면을 포함하는 전자 디바이스가 설명된다. 그러나, 전자 디바이스가 선택적으로 물리적 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함한다는 것이 이해되어야 한다.
디바이스는 전형적으로 다음 중 하나 이상과 같은 다양한 애플리케이션들을 지원한다: 드로잉 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 제작 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게이밍 애플리케이션, 전화 애플리케이션, 화상 회의 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 운동 지원 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 재생기 애플리케이션, 및/또는 디지털 비디오 재생기 애플리케이션.
디바이스 상에서 실행되는 다양한 애플리케이션들은, 선택적으로, 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용한다. 터치 감응형 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응하는 정보는, 선택적으로, 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 개개의 애플리케이션 내에서 조정 및/또는 변화된다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는, 선택적으로, 사용자에게 직관적이고 투명한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원한다.
이제, 터치 감응형 디스플레이들을 갖는 휴대용 디바이스들의 실시예들에 주목한다. 도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이 시스템(112)을 갖는 휴대용 다기능 디바이스(100)를 예시하는 블록도이다. 터치 감응형 디스플레이(112)는 때때로 편의상 "터치 스크린"이라고 지칭되고, 때때로 "터치 감응형 디스플레이 시스템"으로 알려져 있거나 또는 그렇게 지칭된다. 디바이스(100)는 메모리(102)(선택적으로, 하나 이상의 컴퓨터 판독가능 저장 매체들을 포함함), 메모리 제어기(122), 하나 이상의 프로세싱 유닛(CPU)들(120), 주변기기 인터페이스(118), RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 입/출력(I/O) 서브시스템(106), 다른 입력 제어 디바이스들(116), 및 외부 포트(124)를 포함한다. 디바이스(100)는 선택적으로 하나 이상의 광 센서들(164)을 포함한다. 디바이스(100)는 선택적으로, 디바이스(100)(예를 들어, 디바이스(100)의 터치 감응형 디스플레이 시스템(112)과 같은 터치 감응형 표면) 상의 접촉들의 세기를 검출하기 위한 하나 이상의 접촉 세기 센서들(165)을 포함한다. 디바이스(100)는 선택적으로 디바이스(100) 상의 촉각적 출력들을 생성하기 위한(예를 들어, 디바이스(100)의 터치 감응형 디스플레이 시스템(112) 또는 디바이스(300)의 터치패드(355)와 같은 터치 감응형 표면 상의 촉각적 출력들을 생성하기 위한) 하나 이상의 촉각적 출력 생성기들(167)을 포함한다. 이들 컴포넌트들은 선택적으로 하나 이상의 통신 버스들 또는 신호 라인들(103)을 통해 통신한다.
명세서 및 청구범위에서 사용되는 바와 같이, 터치 감응형 표면 상에서의 접촉의 "세기"라는 용어는 터치 감응형 표면 상에서의 접촉(예를 들어, 손가락 접촉)의 힘 또는 압력(단위 면적 당 힘), 또는 터치 감응형 표면 상에서의 접촉의 힘 또는 압력에 대한 대체물(대용물(proxy))을 지칭한다. 접촉의 세기는, 적어도 4개의 구별되는 값들을 포함하고 더 전형적으로는 수백 개(예를 들어, 적어도 256개)의 구별되는 값들을 포함하는 일정 범위의 값들을 갖는다. 접촉의 세기는 다양한 접근법들, 및 다양한 센서들 또는 센서들의 조합들을 사용하여 선택적으로 결정(또는 측정)된다. 예를 들어, 터치 감응형 표면 아래의 또는 그에 인접한 하나 이상의 힘 센서들은 터치 감응형 표면 상의 다양한 지점들에서 힘을 측정하는 데 선택적으로 사용된다. 일부 구현예들에서는, 다수의 힘 센서들로부터의 힘 측정치들이 접촉의 추정되는 힘을 결정하기 위해 조합(예를 들어, 가중 평균)된다. 유사하게, 스타일러스의 압력 감응형 팁이 터치 감응형 표면 상의 스타일러스의 압력을 결정하는 데 선택적으로 사용된다. 대안으로, 터치 감응형 표면 상에서 검출된 접촉 면적의 크기 및/또는 그에 대한 변화들, 접촉 부근의 터치 감응형 표면의 용량 및/또는 그에 대한 변화들, 및/또는 접촉 부근의 터치 감응형 표면의 저항 및/또는 그에 대한 변화들은 터치 감응형 표면 상의 접촉의 힘 또는 압력에 대한 대체물로서 선택적으로 사용된다. 일부 구현예들에서, 접촉 힘 또는 압력에 대한 대체 측정치들은 세기 임계치가 초과되었는지의 여부를 결정하는 데 직접 사용된다(예를 들어, 세기 임계치는 대체 측정치들에 대응하는 단위로 설명된다). 일부 구현예들에서, 접촉 힘 또는 압력에 대한 대체 측정치들은 추정된 힘 또는 압력으로 변환되고, 추정된 힘 또는 압력은 세기 임계치가 초과되었는지 여부를 결정하기 위해 사용된다(예를 들어, 세기 임계치는 압력의 단위로 측정된 압력 임계치이다). 사용자 입력의 속성으로서 접촉의 세기를 사용하는 것은, 그렇지 않았으면 어포던스들을 (예를 들어, 터치 감응형 디스플레이 상에) 디스플레이하고 그리고/또는 (예를 들어, 터치 감응형 디스플레이, 터치 감응형 표면, 또는 노브(knob) 또는 버튼과 같은 물리적/기계적 제어부를 통해) 사용자 입력을 수신하기 위하여 제한된 실면적을 갖는 감소된 크기의 디바이스 상에서 사용자에 의해 액세스 가능하지 않을 수 있는 부가적인 디바이스 기능에 대한 사용자 액세스를 허용한다.
명세서 및 청구범위에 사용되는 바와 같이, "촉각적 출력"이라는 용어는 디바이스의 이전 위치에 대한 디바이스의 물리적 변위, 디바이스의 다른 컴포넌트(예를 들어, 하우징)에 대한 디바이스의 컴포넌트(예를 들어, 터치 감응형 표면)의 물리적 변위, 또는 사용자의 촉각을 이용하여 사용자에 의해 검출될 디바이스의 질량 중심에 대한 컴포넌트의 변위를 지칭한다. 예를 들어, 디바이스 또는 디바이스의 컴포넌트가 터치에 감응하는 사용자의 표면(예를 들어, 손가락, 손바닥, 또는 사용자의 손의 다른 부분)과 접촉하는 상황들에서, 물리적 변위에 의해 생성된 촉각적 출력은 사용자에 의해 디바이스 또는 디바이스의 컴포넌트의 물리적 특성들에서의 인지된 변화에 대응하는 촉감(tactile sensation)으로서 해석될 것이다. 예를 들어, 터치 감응형 표면(예를 들어, 터치 감응형 디스플레이 또는 트랙 패드)의 움직임은, 선택적으로, 사용자에 의해 물리적 액추에이터 버튼의 "다운 클릭" 또는 "업 클릭"으로서 해석된다. 일부 경우들에서, 사용자는 사용자의 움직임들에 의해 물리적으로 눌리는(예를 들어, 변위되는) 터치 감응형 표면과 연관된 물리적 액추에이터 버튼의 움직임이 없는 경우에도 "다운 클릭" 또는 "업 클릭"과 같은 촉감을 느낄 것이다. 다른 예로서, 터치 감응형 표면의 움직임은, 터치 감응형 표면의 평탄성의 변화가 없는 경우에도, 선택적으로, 사용자에 의해 터치 감응형 표면의 "조도(roughness)"로서 해석 또는 감지된다. 사용자에 의한 터치의 이러한 해석들이 사용자의 개별화된 감각 인지(sensory perception)에 영향을 받기 쉬울 것이지만, 대다수의 사용자들에게 보편적인 많은 터치 감각 인지가 있다. 따라서, 촉각적 출력이 사용자의 특정 감각 인지(예를 들어, "업 클릭", "다운 클릭", "조도")에 대응하는 것으로서 기술될 때, 달리 언급되지 않는다면, 생성된 촉각적 출력은 전형적인(또는 평균적인) 사용자에 대한 설명된 감각 인지를 생성할 디바이스 또는 그의 컴포넌트의 물리적 변위에 대응한다.
디바이스(100)는 휴대용 다기능 디바이스의 일 예일 뿐이고, 디바이스(100)는, 선택적으로, 도시된 것보다 더 많거나 더 적은 컴포넌트들을 갖거나, 선택적으로, 2개 이상의 컴포넌트들을 조합하거나, 또는 선택적으로 컴포넌트들의 상이한 구성 또는 배열을 갖는다는 것이 이해되어야 한다. 도 1a에 도시된 다양한 컴포넌트들은 하나 이상의 신호 프로세싱 회로 및/또는 주문형 집적 회로들을 포함하는, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어 둘 모두의 조합으로 구현된다.
메모리(102)는, 선택적으로, 고속 랜덤 액세스 메모리를 포함하고, 또한 선택적으로, 하나 이상의 자기 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드 스테이트 메모리 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리 제어기(122)는 선택적으로 디바이스(100)의 다른 컴포넌트들에 의한 메모리(102)에의 액세스를 제어한다.
주변기기 인터페이스(118)는 디바이스의 입력 및 출력 주변기기들을 CPU(120) 및 메모리(102)에 커플링시키는 데 사용될 수 있다. 하나 이상의 프로세서들(120)은 디바이스(100)에 대한 다양한 기능들을 수행하기 위해 그리고 데이터를 프로세싱하기 위해 메모리(102)에 저장된 다양한 소프트웨어 프로그램들 및/또는 명령어들의 세트들을 구동 또는 실행시킨다. 일부 실시예들에서, 주변기기 인터페이스(118), CPU(120) 및 메모리 제어기(122)는, 선택적으로, 칩(104)과 같은 단일 칩 상에 구현된다. 일부 다른 실시예들에서, 이들은 선택적으로 별개의 칩들 상에서 구현된다.
RF(radio frequency) 회로부(108)는 전자기 신호들로 또한 지칭되는 RF 신호들을 수신 및 전송한다. RF 회로부(108)는 전기 신호들을 전자기 신호들로/로부터 변환하고, 전자기 신호들을 통해 통신 네트워크들 및 다른 통신 디바이스들과 통신한다. RF 회로부(108)는, 선택적으로, 안테나 시스템, RF 트랜시버, 하나 이상의 증폭기들, 튜너, 하나 이상의 발진기들, 디지털 신호 프로세서, CODEC 칩셋, SIM(subscriber identity module) 카드, 메모리 등을 포함하지만 이들로 제한되지 않는, 이들 기능들을 수행하기 위한 잘 알려진 회로부를 포함한다. RF 회로부(108)는, 선택적으로, 네트워크들, 예를 들어 월드 와이드 웹(WWW)으로 또한 지칭되는 인터넷, 인트라넷, 및/또는 무선 네트워크, 예를 들어 셀룰러 전화 네트워크, 무선 로컬 영역 네트워크(LAN) 및/또는 대도시 영역 네트워크(MAN), 및 다른 디바이스들과 무선 통신에 의해 통신한다. RF 회로부(108)는, 선택적으로, 예를 들어 단거리 통신 무선기기(short-range communication radio)에 의해, 근거리 통신(near field communication, NFC) 필드들을 검출하기 위한 잘 알려진 회로부를 포함한다. 무선 통신은, 선택적으로, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), HSUPA(high-speed uplink packet access), EV-DO(Evolution, Data-Only), HSPA, HSPA+, DC-HSPDA(Dual-Cell HSPA), LTE(long term evolution), 근거리 통신(NFC), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), BTLE(Bluetooth Low Energy), Wi-Fi(Wireless Fidelity)(예를 들어, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, 및/또는 IEEE 802.11ac), VoIP(voice over Internet Protocol), Wi-MAX, 이메일용 프로토콜(예를 들어, IMAP(Internet message access protocol) 및/또는 POP(post office protocol)), 인스턴트 메시징(예를 들어, XMPP(extensible messaging and presence protocol), SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS(Instant Messaging and Presence Service)), 및/또는 SMS(Short Message Service), 또는 본 문헌의 출원일 현재 아직 개발되지 않은 통신 프로토콜들을 포함한 임의의 다른 적합한 통신 프로토콜을 포함하지만 이들로 제한되지는 않는 복수의 통신 표준들, 프로토콜들 및 기술들 중 임의의 것을 사용한다.
오디오 회로부(110), 스피커(111), 및 마이크로폰(113)은 사용자와 디바이스(100) 사이에 오디오 인터페이스를 제공한다. 오디오 회로부(110)는 주변기기 인터페이스(118)로부터 오디오 데이터를 수신하고, 그 오디오 데이터를 전기 신호로 변환하고, 그 전기 신호를 스피커(111)로 송신한다. 스피커(111)는 전기 신호를 사람이 들을 수 있는 음파들로 변환한다. 오디오 회로부(110)는 또한 마이크로폰(113)에 의해 음파들로부터 변환된 전기 신호들을 수신한다. 오디오 회로부(110)는 전기 신호를 오디오 데이터로 변환하고, 프로세싱을 위해 오디오 데이터를 주변기기 인터페이스(118)에 송신한다. 오디오 데이터는, 선택적으로, 주변기기 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로부(108)로부터 인출되고 그리고/또는 메모리(102) 및/또는 RF 회로부(108)에 송신된다. 일부 실시예들에서, 오디오 회로부(110)는 또한 헤드셋 잭(예를 들어, 도 2의 212)을 포함한다. 헤드셋 잭은 출력-전용 헤드폰들, 또는 출력(예를 들어, 한쪽 또는 양쪽 귀용 헤드폰) 및 입력(예를 들어, 마이크로폰) 둘 모두를 갖는 헤드셋과 같은 분리가능한 오디오 입/출력 주변기기들과 오디오 회로부(110) 사이에 인터페이스를 제공한다.
I/O 서브시스템(106)은 터치 스크린(112) 및 다른 입력 제어 디바이스들(116)과 같은, 디바이스(100) 상의 입/출력 주변기기들을 주변기기 인터페이스(118)에 커플링시킨다. I/O 서브시스템(106)은 선택적으로 디스플레이 제어기(156), 광 센서 제어기(158), 깊이 카메라 제어기(169), 세기 센서 제어기(159), 햅틱 피드백 제어기(161), 및 다른 입력 또는 제어 디바이스들을 위한 하나 이상의 입력 제어기들(160)을 포함한다. 하나 이상의 입력 제어기들(160)은 다른 입력 제어 디바이스들(116)로부터/로 전기 신호들을 수신/전송한다. 다른 입력 제어 디바이스들(116)은 선택적으로 물리적 버튼들(예를 들어, 푸시 버튼(push button)들, 로커 버튼(rocker button)들 등), 다이얼들, 슬라이더 스위치들, 조이스틱들, 클릭 휠들 등을 포함한다. 일부 대안적인 실시예들에서, 입력 제어기(들)(160)는 선택적으로 키보드, 적외선 포트, USB 포트, 및 마우스와 같은 포인터 디바이스 중 임의의 것에 커플링된다(또는 어떤 것에도 커플링되지 않는다). 하나 이상의 버튼들(예를 들어, 도 2의 208)은, 선택적으로, 스피커(111) 및/또는 마이크로폰(113)의 음량 제어를 위한 업/다운 버튼을 포함한다. 하나 이상의 버튼들은 선택적으로 푸시 버튼(예를 들어, 도 2의 206)을 포함한다.
푸시 버튼의 신속한 누르기(quick press)는 선택적으로 터치 스크린(112)의 잠금을 풀거나, 디바이스의 잠금을 해제하기 위해 선택적으로 터치 스크린 상의 제스처들을 사용하는 프로세스들을 시작하며, 이는 2005년 12월 23일자로 출원된 미국 특허 출원 제11/322,549호, "Unlocking a Device by Performing Gestures on an Unlock Image"(미국 특허 제7,657,849호)에 설명된 바와 같으며, 이는 이로써 그 전체가 참고로 본 명세서에 포함된다. 푸시 버튼(예를 들어, 206)의 더 긴 누르기는 선택적으로 디바이스(100)의 전원을 턴 온 또는 오프시킨다. 버튼들 중 하나 이상의 버튼들의 기능성은 선택적으로, 사용자 맞춤화가 가능하다. 터치 스크린(112)은 가상 또는 소프트 버튼들 및 하나 이상의 소프트 키보드들을 구현하는 데 사용된다.
터치 감응형 디스플레이(112)는 디바이스와 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 제어기(156)는 터치 스크린(112)으로부터/으로 전기 신호들을 수신 및/또는 전송한다. 터치 스크린(112)은 사용자에게 시각적 출력을 디스플레이한다. 시각적 출력은 선택적으로 그래픽들, 텍스트, 아이콘들, 비디오 및 이들의 임의의 조합(총칭하여 "그래픽들"로 지칭됨)을 포함한다. 일부 실시예들에서, 시각적 출력의 일부 또는 전부가 선택적으로 사용자 인터페이스 객체들에 대응한다.
터치 스크린(112)은 햅틱 및/또는 촉각적 접촉에 기초하여 사용자로부터의 입력을 수용하는 터치 감응형 표면, 센서 또는 센서들의 세트를 갖는다. 터치 스크린(112) 및 디스플레이 제어기(156)는 (메모리(102) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 스크린(112) 상의 접촉(및 접촉의 임의의 움직임 또는 중단)을 검출하고, 검출된 접촉을 터치 스크린(112) 상에 디스플레이된 사용자 인터페이스 객체들(예를 들어, 하나 이상의 소프트 키들, 아이콘들, 웹 페이지들 또는 이미지들)과의 상호작용으로 변환한다. 예시적인 실시예에서, 터치 스크린(112)과 사용자 사이의 접촉 지점은 사용자의 손가락에 대응한다.
터치 스크린(112)은 선택적으로 LCD(liquid crystal display) 기술, LPD(light emitting polymer display) 기술, 또는 LED(light emitting diode) 기술을 사용하지만, 다른 실시예들에서는 다른 디스플레이 기술들이 사용된다. 터치 스크린(112) 및 디스플레이 제어기(156)는, 선택적으로, 용량성, 저항성, 적외선, 및 표면 음향파 기술들뿐만 아니라 다른 근접 센서 어레이들, 또는 터치 스크린(112)과의 하나 이상의 접촉 지점을 결정하기 위한 다른 요소들을 포함하지만 이들로 한정되지 않는, 현재 공지되어 있거나 추후에 개발되는 복수의 터치 감지 기술 중 임의의 것을 사용하여, 접촉 및 그의 임의의 움직임 또는 중단을 검출한다. 예시적인 실시예에서, 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.로부터의 아이폰® 및 아이팟 터치®에서 발견되는 것과 같은 투영형 상호 정전용량 감지 기술(projected mutual capacitance sensing technology)이 사용된다.
터치 스크린(112)의 일부 실시예들에서의 터치 감응형 디스플레이는, 선택적으로, 하기 미국 특허들 제6,323,846호(Westerman 외), 제6,570,557호(Westerman 외), 및/또는 제6,677,932호(Westerman), 및/또는 미국 특허 공개 공보 제2002/0015024A1호에 기재된 다중-터치 감응형 터치패드들과 유사하며, 이들 각각은 그 전체가 본 명세서에 참고로 포함된다. 그러나, 터치 스크린(112)은 디바이스(100)로부터의 시각적 출력을 디스플레이하는 반면, 터치 감응형 터치패드들은 시각적 출력을 제공하지 않는다.
터치 스크린(112)의 일부 실시예들에서의 터치 감응형 디스플레이는 다음의 출원들에 설명된다: (1) 2006년 5월 2일자로 출원된 미국 특허 출원 제11/381,313호, "Multipoint Touch Surface Controller"; (2) 2004년 5월 6일자로 출원된 미국 특허 출원 제10/840,862호, "Multipoint Touchscreen"; (3) 2004년 7월 30일자로 출원된 미국 특허 출원 제10/903,964호, "Gestures For Touch Sensitive Input Devices"; (4) 2005년 1월 31일자로 출원된 미국 특허 출원 제11/048,264호, "Gestures For Touch Sensitive Input Devices"; (5) 2005년 1월 18일자로 출원된 미국 특허 출원 제11/038,590호, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices"; (6) 2005년 9월 16일자로 출원된 미국 특허 출원 제11/228,758호, "Virtual Input Device Placement On A Touch Screen User Interface"; (7) 2005년 9월 16일자로 출원된 미국 특허 출원 제11/228,700호, "Operation Of A Computer With A Touch Screen Interface"; (8) 2005년 9월 16일자로 출원된 미국 특허 출원 제11/228,737호, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard"; 및 (9) 2006년 3월 3일자로 출원된 미국 특허 출원 제11/367,749호, "Multi-Functional Hand-Held Device". 이들 출원들 모두는 그 전체가 본 명세서에 참고로 포함된다.
터치 스크린(112)은, 선택적으로, 100 dpi를 초과하는 비디오 해상도를 갖는다. 일부 실시예들에서, 터치 스크린은 대략 160 dpi의 비디오 해상도를 갖는다. 사용자는, 선택적으로, 스타일러스, 손가락 등과 같은 임의의 적합한 물체 또는 부속물을 사용하여 터치 스크린(112)과 접촉한다. 일부 실시예들에서, 사용자 인터페이스는 주로 손가락 기반 접촉들 및 제스처들을 이용하여 동작하도록 설계되는데, 이는 터치 스크린 상에서의 손가락의 더 넓은 접촉 면적으로 인해 스타일러스 기반 입력보다 덜 정밀할 수 있다. 일부 실시예들에서, 디바이스는 대략적인 손가락 기반 입력을 사용자가 원하는 동작들을 수행하기 위한 정밀한 포인터/커서 위치 또는 커맨드로 변환한다.
일부 실시예들에서, 터치 스크린에 부가하여, 디바이스(100)는 선택적으로 특정 기능들을 활성화하거나 비활성화하기 위한 터치 패드를 포함한다. 일부 실시예들에서, 터치패드는, 터치 스크린과는 달리, 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다. 터치패드는, 선택적으로, 터치 스크린(112)과는 별개인 터치 감응형 표면 또는 터치 스크린에 의해 형성된 터치 감응형 표면의 연장부이다.
디바이스(100)는 또한 다양한 컴포넌트들에 전력을 공급하기 위한 전력 시스템(162)을 포함한다. 전력 시스템(162)은, 선택적으로, 전력 관리 시스템, 하나 이상의 전원들(예를 들어, 배터리, 교류 전류(alternating current, AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예를 들어, 발광 다이오드(LED)), 및 휴대용 디바이스들 내에서의 전력의 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트들을 포함한다.
디바이스(100)는 또한 선택적으로 하나 이상의 광 센서들(164)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 광 센서 제어기(158)에 커플링된 광 센서를 도시한다. 광 센서(164)는 선택적으로 CCD(charge-coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 포토트랜지스터들을 포함한다. 광 센서(164)는 하나 이상의 렌즈들을 통해 투영되는, 주변환경으로부터의 광을 수광하고, 그 광을 이미지를 표현하는 데이터로 변환한다. 이미징 모듈(143)(카메라 모듈로 또한 지칭됨)과 함께, 광 센서(164)는 선택적으로, 정지 이미지들 또는 비디오를 캡처한다. 일부 실시예들에서, 광 센서는 디바이스 전면 상의 터치 스크린 디스플레이(112)의 반대편인 디바이스(100)의 배면 상에 위치되어, 터치 스크린 디스플레이가 정지 및/또는 비디오 이미지 획득을 위한 뷰파인더로서 사용될 수 있게 한다. 일부 실시예들에서, 광 센서는 디바이스의 전면 상에 위치되어, 사용자가 터치 스크린 디스플레이 상에서 다른 화상 회의 참여자들을 보는 동안, 선택적으로, 사용자의 이미지가 화상 회의를 위해 획득된다. 일부 실시예들에서, 광 센서(164)의 위치는 (예를 들어, 디바이스 하우징 내의 렌즈 및 센서를 회전시킴으로써) 사용자에 의해 변경될 수 있어, 단일 광 센서(164)가 터치 스크린 디스플레이와 함께 화상 회의와 정지 및/또는 비디오 이미지 획득 둘 모두에 사용된다.
디바이스(100)는 또한, 선택적으로, 하나 이상의 깊이 카메라 센서들(175)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 깊이 카메라 제어기(169)에 커플링된 깊이 카메라 센서를 도시한다. 깊이 카메라 센서(175)는 시점(예를 들어, 깊이 카메라 센서)으로부터 장면 내의 물체(예를 들어, 얼굴)의 3차원 모델을 생성하기 위해 주변환경으로부터 데이터를 수신한다. 일부 실시예들에서, 이미징 모듈(143)(카메라 모듈로 또한 지칭됨)과 함께, 깊이 카메라 센서(175)는 선택적으로, 이미징 모듈(143)에 의해 캡처된 이미지의 상이한 부분들의 깊이 맵을 결정하는 데 사용된다. 일부 실시예들에서, 깊이 카메라 센서는 디바이스(100)의 전면 상에 위치되어, 사용자가 터치 스크린 디스플레이 상에서 다른 화상 회의 참여자들을 보는 동안 그리고 깊이 맵 데이터를 이용하여 셀피(selfie)들을 캡처하도록, 선택적으로 깊이 정보를 갖는 사용자의 이미지가 화상 회의를 위해 획득된다. 일부 실시예들에서, 깊이 카메라 센서(175)는 디바이스의 배면 상에, 또는 디바이스(100)의 배면 및 전면 상에 위치된다. 일부 실시예들에서, 깊이 카메라 센서(175)의 위치는 (예를 들어, 디바이스 하우징 내의 렌즈 및 센서를 회전시킴으로써) 사용자에 의해 변경될 수 있어, 깊이 카메라 센서(175)가 터치 스크린 디스플레이와 함께 화상 회의와 정지 및/또는 비디오 이미지 획득 둘 모두에 사용되게 한다.
일부 실시예들에서, 깊이 맵(예를 들어, 깊이 맵 이미지)은 시점(예를 들어, 카메라, 광학 센서, 깊이 카메라 센서)으로부터의 장면 내의 물체들의 거리에 관련된 정보(예를 들어, 값들)를 포함한다. 깊이 맵의 일 실시예에서, 각각의 깊이 픽셀은, 그의 대응하는 2차원 픽셀이 위치되는 지점의 Z-축 내의 위치를 정의한다. 일부 실시예들에서, 깊이 맵은 픽셀들로 구성되며, 여기서 각각의 픽셀은 값(예를 들어, 0 내지 255)에 의해 정의된다. 예를 들어, "0" 값은 "3차원" 장면에서 가장 먼 위치에 위치된 픽셀들을 표현하고, "255" 값은 "3차원" 장면 내의 시점(예를 들어, 카메라, 광학 센서, 깊이 카메라 센서)에 가장 가깝게 위치된 픽셀들을 표현한다. 다른 실시예들에서, 깊이 맵은 장면 내의 물체와 시점의 평면 사이의 거리를 표현한다. 일부 실시예들에서, 깊이 맵은 깊이 카메라의 관점에서 관심있는 물체의 다양한 특징부들의 상대적인 깊이(예를 들어, 사용자의 얼굴의 눈들, 코, 입, 귀들의 상대적인 깊이)에 관한 정보를 포함한다. 일부 실시예들에서, 깊이 맵은 디바이스가 z 방향으로 관심있는 물체의 윤곽들을 결정할 수 있게 하는 정보를 포함한다.
디바이스(100)는, 또한, 선택적으로, 하나 이상의 접촉 세기 센서들(165)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 세기 센서 제어기(159)에 커플링된 접촉 세기 센서를 도시한다. 접촉 세기 센서(165)는, 선택적으로, 하나 이상의 압전 저항 스트레인 게이지들, 용량성 힘 센서들, 전기적 힘 센서들, 압전 힘 센서들, 광학적 힘 센서들, 용량성 터치 감응형 표면들, 또는 다른 세기 센서들(예를 들어, 터치 감응형 표면 상의 접촉의 힘(또는 압력)을 측정하는 데 사용되는 센서들)을 포함한다. 접촉 세기 센서(165)는 주변환경으로부터 접촉 세기 정보(예를 들어, 압력 정보 또는 압력 정보에 대한 프록시)를 수신한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서는 터치 감응형 표면(예를 들어, 터치 감응형 디스플레이 시스템(112))과 함께 위치(collocate)되거나 그에 근접한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서가 디바이스(100)의 전면 상에 위치된 터치 스크린 디스플레이(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.
디바이스(100)는 또한 선택적으로 하나 이상의 근접 센서들(166)을 포함한다. 도 1a는 주변기기 인터페이스(118)에 커플링된 근접 센서(166)를 도시한다. 대안적으로, 근접 센서(166)는, 선택적으로, I/O 서브시스템(106) 내의 입력 제어기(160)에 커플링된다. 근접 센서(166)는, 선택적으로, 미국 특허 출원들 제11/241,839호, "Proximity Detector In Handheld Device"; 제11/240,788호, "Proximity Detector In Handheld Device"; 제11/620,702호, "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 제11/586,862호, "Automated Response To And Sensing Of User Activity In Portable Devices"; 및 제11/638,251호, "Methods And Systems For Automatic Configuration Of Peripherals"에 설명된 바와 같이 수행되며, 이들은 이로써 그들 전체가 참고로 포함된다. 일부 실시예들에서, 근접 센서는 다기능 디바이스가 사용자의 귀 근처에 위치될 때(예를 들어, 사용자가 전화 통화를 하고 있을 때) 터치 스크린(112)을 턴 오프시키고 디스에이블시킨다.
디바이스(100)는, 또한, 선택적으로, 하나 이상의 촉각적 출력 생성기들(167)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 햅틱 피드백 제어기(161)에 커플링된 촉각적 출력 생성기를 도시한다. 촉각적 출력 생성기(167)는, 선택적으로, 스피커들 또는 다른 오디오 컴포넌트들과 같은 하나 이상의 전자음향 디바이스들 및/또는 모터, 솔레노이드, 전기활성 중합체, 압전 액추에이터, 정전 액추에이터, 또는 다른 촉각적 출력 생성 컴포넌트(예를 들어, 전기 신호들을 디바이스 상의 촉각적 출력들로 변환하는 컴포넌트)와 같은, 에너지를 선형 모션(linear motion)으로 변환하는 전자기계 디바이스들을 포함한다. 접촉 세기 센서(165)는 햅틱 피드백 모듈(133)로부터 촉각적 피드백 생성 명령어들을 수신하여 디바이스(100)의 사용자에 의해 감지될 수 있는 디바이스(100) 상의 촉각적 출력들을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기는 터치 감응형 표면(예를 들어, 터치 감응형 디스플레이 시스템(112))과 함께 위치되거나 그에 근접하며, 선택적으로, 터치 감응형 표면을 수직으로(예를 들어, 디바이스(100)의 표면 내/외로) 또는 측방향으로(예를 들어, 디바이스(100)의 표면과 동일한 평면에서 앞뒤로) 이동시킴으로써 촉각적 출력을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기 센서는 디바이스(100)의 전면 상에 위치된 터치 스크린 디스플레이(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.
디바이스(100)는 또한 선택적으로 하나 이상의 가속도계들(168)을 포함한다. 도 1a는 주변기기 인터페이스(118)에 커플링된 가속도계(168)를 도시한다. 대안적으로, 가속도계(168)는 선택적으로 I/O 서브시스템(106) 내의 입력 제어기(160)에 커플링된다. 가속도계(168)는, 선택적으로, 미국 특허 공개 공보 제20050190059호, "Acceleration-based Theft Detection System for Portable Electronic Devices" 및 미국 특허 공개 공보 제20060017692호, "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer"에 설명된 바와 같이 수행되며, 이들 둘 모두는 그들 전체가 참고로 본 명세서에 포함된다. 일부 실시예들에서, 하나 이상의 가속도계들로부터 수신된 데이터의 분석에 기초하여 터치 스크린 디스플레이 상에 세로보기(portrait view) 또는 가로보기(landscape view)로 정보가 디스플레이된다. 디바이스(100)는, 선택적으로, 가속도계(들)(168)에 부가하여, 디바이스(100)의 위치 및 배향(예를 들어, 세로 또는 가로)에 관한 정보를 획득하기 위한 자력계 및 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템) 수신기를 포함한다.
일부 실시예들에서, 메모리(102)에 저장된 소프트웨어 컴포넌트들은 운영 체제(126), 통신 모듈(또는 명령어들의 세트)(128), 접촉/모션 모듈(또는 명령어들의 세트)(130), 그래픽 모듈(또는 명령어들의 세트)(132), 텍스트 입력 모듈(또는 명령어들의 세트)(134), 글로벌 포지셔닝 시스템(GPS) 모듈(또는 명령어들의 세트)(135), 및 애플리케이션들(또는 명령어들의 세트들)(136)을 포함한다. 또한, 일부 실시예들에서, 메모리(도 1a의 102 또는 도 3의 370)는 도 1a 및 도 3에 도시된 바와 같이 디바이스/글로벌 내부 상태(157)를 저장한다. 디바이스/글로벌 내부 상태(157)는, 존재하는 경우, 어느 애플리케이션들이 현재 활성인지를 표시하는 활성 애플리케이션 상태; 어떤 애플리케이션들, 뷰들, 또는 다른 정보가 터치 스크린 디스플레이(112)의 다양한 구역들을 점유하는지를 표시하는 디스플레이 상태; 디바이스의 다양한 센서들 및 입력 제어 디바이스들(116)로부터 획득된 정보를 포함하는 센서 상태; 및 디바이스의 위치 및/또는 자세에 관한 위치 정보 중 하나 이상을 포함한다.
운영 체제(126)(예를 들어, Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, 또는 VxWorks와 같은 임베디드 운영 체제)는 일반적인 시스템 태스크들(예를 들어, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 다양한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함하고, 다양한 하드웨어와 소프트웨어 컴포넌트들 사이의 통신을 용이하게 한다.
통신 모듈(128)은 하나 이상의 외부 포트들(124)을 통한 다른 디바이스들과의 통신을 용이하게 하고, 또한 RF 회로부(108) 및/또는 외부 포트(124)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(124)(예를 들어, USB(Universal Serial Bus), 파이어와이어(FIREWIRE) 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예를 들어, 인터넷, 무선 LAN 등)를 통해 간접적으로 커플링하도록 구성된다. 일부 실시예들에서, 외부 포트는 아이팟®(애플 인크.의 상표) 디바이스들에서 사용되는 30-핀 커넥터와 동일하거나 유사하고 그리고/또는 이와 호환가능한 멀티-핀(예를 들어, 30-핀) 커넥터이다.
접촉/모션 모듈(130)은, 선택적으로, (디스플레이 제어기(156)와 함께) 터치 스크린(112), 및 다른 터치 감응형 디바이스들(예를 들어, 터치 패드 또는 물리적 클릭 휠)과의 접촉을 검출한다. 접촉/모션 모듈(130)은 접촉이 발생했는지를 결정하는 것(예를 들어, 손가락-다운 이벤트(finger-down event)를 검출하는 것), 접촉의 세기(예를 들어, 접촉의 힘 또는 압력, 또는 접촉의 힘 또는 압력에 대한 대체물)를 결정하는 것, 접촉의 움직임이 있는지를 결정하여 터치 감응형 표면을 가로지르는 움직임을 추적하는 것(예를 들어, 하나 이상의 손가락-드래깅 이벤트(finger-dragging event)들을 검출하는 것), 및 접촉이 중단되었는지를 결정하는 것(예를 들어, 손가락-업 이벤트(finger-up event) 또는 접촉 중단을 검출하는 것)과 같은, 접촉의 검출에 관련된 다양한 동작들을 수행하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 접촉/모션 모듈(130)은 터치 감응형 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 표현되는 접촉 지점의 움직임을 결정하는 것은, 선택적으로, 접촉 지점의 속력(크기), 속도(크기 및 방향), 및/또는 가속도(크기 및/또는 방향의 변화)를 결정하는 것을 포함한다. 이들 동작들은, 선택적으로, 단일 접촉들(예를 들어, 하나의 손가락 접촉들)에 또는 다수의 동시 접촉들(예를 들어, "멀티터치"/다수의 손가락 접촉들)에 적용된다. 일부 실시예들에서, 접촉/모션 모듈(130) 및 디스플레이 제어기(156)는 터치패드 상의 접촉을 검출한다.
일부 실시예들에서, 접촉/모션 모듈(130)은 동작이 사용자에 의해 수행되었는지 여부를 결정하기 위해 (예를 들어, 사용자가 아이콘 상에서 "클릭"했는지 여부를 결정하기 위해) 하나 이상의 세기 임계치들의 세트를 사용한다. 일부 실시예들에서, 적어도 세기 임계치들의 서브세트가 소프트웨어 파라미터들에 따라 결정된다(예를 들어, 세기 임계치들은 특정 물리적 액추에이터들의 활성화 임계치들에 의해 결정되지 않으며, 디바이스(100)의 물리적 하드웨어를 변경함이 없이 조정될 수 있다). 예를 들어, 트랙패드 또는 터치 스크린 디스플레이의 마우스 "클릭" 임계치는 트랙패드 또는 터치 스크린 디스플레이 하드웨어를 변경함이 없이 넓은 범위의 미리 정의된 임계치 값들 중 임의의 것으로 설정될 수 있다. 부가적으로, 일부 구현예들에서, 디바이스의 사용자는 (예를 들어, 개별 세기 임계치들을 조정함으로써 그리고/또는 복수의 세기 임계치들을 시스템 레벨 클릭 "세기" 파라미터로 한꺼번에 조정함으로써) 소정 세트의 세기 임계치들 중 하나 이상을 조정하기 위한 소프트웨어 설정들을 제공받는다.
접촉/모션 모듈(130)은, 선택적으로, 사용자에 의한 제스처 입력을 검출한다. 터치 감응형 표면 상에서의 상이한 제스처들은 상이한 접촉 패턴들(예를 들어, 검출된 접촉들의 상이한 모션들, 타이밍들, 및/또는 세기들)을 갖는다. 따라서, 제스처는, 선택적으로, 특정 접촉 패턴을 검출함으로써 검출된다. 예를 들어, 손가락 탭 제스처(finger tap gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 손가락-다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)에서(예를 들어, 아이콘의 위치에서) 손가락-업(리프트오프(liftoff)) 이벤트를 검출하는 것을 포함한다. 다른 예로서, 터치 감응형 표면 상에서 손가락 스와이프 제스처(finger swipe gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 하나 이상의 손가락-드래깅 이벤트들을 검출하고, 그에 후속하여 손가락-업(리프트오프) 이벤트를 검출하는 것을 포함한다.
그래픽 모듈(132)은, 디스플레이되는 그래픽들의 시각적 효과(예를 들어, 밝기, 투명도, 채도, 콘트라스트 또는 다른 시각적 속성)를 변화시키기 위한 컴포넌트들을 포함하는, 터치 스크린(112) 또는 다른 디스플레이 상에서 그래픽들을 렌더링 및 디스플레이하기 위한 다양한 알려진 소프트웨어 컴포넌트들을 포함한다. 본 명세서에서 사용되는 바와 같이, 용어 "그래픽"은 텍스트, 웹 페이지들, 아이콘들(예를 들어, 소프트 키들을 포함하는 사용자 인터페이스 객체들), 디지털 이미지들, 비디오들, 애니메이션들 등을 제한 없이 포함하는, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.
일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽들을 표현하는 데이터를 저장한다. 각각의 그래픽에는, 선택적으로, 대응하는 코드가 할당된다. 그래픽 모듈(132)은, 필요한 경우, 좌표 데이터 및 다른 그래픽 속성 데이터와 함께, 디스플레이될 그래픽들을 특정하는 하나 이상의 코드들을 애플리케이션들 등으로부터 수신하며, 이어서 스크린 이미지 데이터를 생성하여 디스플레이 제어기(156)에 출력한다.
햅틱 피드백 모듈(133)은 디바이스(100)와의 사용자 상호작용들에 응답하여 디바이스(100) 상의 하나 이상의 위치들에서 촉각적 출력들을 생성하기 위하여 촉각적 출력 생성기(들)(167)에 의해 사용되는 명령어들을 생성하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다.
선택적으로 그래픽 모듈(132)의 컴포넌트인 텍스트 입력 모듈(134)은 다양한 애플리케이션들(예를 들어, 연락처들(137), 이메일(140), IM(141), 브라우저(147), 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션)에 텍스트를 입력하기 위한 소프트 키보드들을 제공한다.
GPS 모듈(135)은 디바이스의 위치를 결정하고, 이러한 정보를 다양한 애플리케이션들에서의 사용을 위해 (예를 들어, 위치-기반 다이얼링에서 사용하기 위해 전화(138)에; 사진/비디오 메타데이터로서 카메라(143)에; 그리고 날씨 위젯들, 지역 옐로 페이지 위젯들 및 지도/내비게이션 위젯들과 같은 위치-기반 서비스들을 제공하는 애플리케이션들에) 제공한다.
애플리케이션들(136)은, 선택적으로, 다음의 모듈들(또는 명령어들의 세트들), 또는 이들의 서브세트 또는 수퍼세트(superset)를 포함한다:
Figure 112023069577418-pat00001
연락처 모듈(137)(때때로 주소록 또는 연락처 목록으로 지칭됨);
전화 모듈(138);
화상 회의 모듈(139);
이메일 클라이언트 모듈(140);
인스턴트 메시징(IM) 모듈(141);
운동 지원 모듈(142);
정지 및/또는 비디오 이미지들을 위한 카메라 모듈(143);
이미지 관리 모듈(144);
비디오 재생기 모듈;
음악 재생기 모듈;
브라우저 모듈(147);
캘린더 모듈(148);
선택적으로 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5), 및 사용자에 의해 획득되는 다른 위젯들뿐 아니라 사용자-생성 위젯들(149-6) 중 하나 이상을 포함하는 위젯 모듈들(149);
사용자-생성 위젯들(149-6)을 만들기 위한 위젯 생성기 모듈(150);
검색 모듈(151);
비디오 재생기 모듈 및 음악 재생기 모듈을 통합하는 비디오 및 음악 재생기 모듈(152);
메모 모듈(153);
지도 모듈(154); 및/또는
온라인 비디오 모듈(155).
선택적으로 메모리(102)에 저장된 다른 애플리케이션들(136)의 예들은 다른 워드 프로세싱 애플리케이션들, 다른 이미지 편집 애플리케이션들, 드로잉 애플리케이션들, 프레젠테이션 애플리케이션들, JAVA-인에이블형 애플리케이션들, 암호화, 디지털 권한 관리, 음성 인식 및 음성 복제를 포함한다.
터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 연락처 모듈(137)은, 선택적으로, 주소록 또는 연락처 목록(예를 들어, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장됨)을 관리하는 데 사용되며: 이는 다음을 포함한다: 이름(들)을 주소록에 부가하는 것; 주소록으로부터 이름(들)을 삭제하는 것; 전화번호(들), 이메일 주소(들), 물리적 주소(들) 또는 다른 정보를 이름과 연관시키는 것; 이미지를 이름과 연관시키는 것; 이름들을 분류 및 정렬하는 것; 전화(138), 화상 회의 모듈(139), 이메일(140) 또는 IM(141)에 의한 통신을 개시하고 그리고/또는 용이하게 하기 위해 전화번호들 또는 이메일 주소들을 제공하는 것 등.
RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 및 텍스트 입력 모듈(134)과 함께, 전화 모듈(138)은, 선택적으로, 전화번호에 대응하는 문자들의 시퀀스를 입력하고, 연락처 모듈(137) 내의 하나 이상의 전화번호들에 액세스하고, 입력된 전화번호를 수정하고, 개별 전화번호를 다이얼링하고, 대화를 하고, 대화가 완료된 때 연결해제하거나 끊는 데 사용된다. 위에서 언급된 바와 같이, 무선 통신은 선택적으로 복수의 통신 표준들, 프로토콜들 및 기술들 중 임의의 것을 사용한다.
RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 제어기(156), 광 센서(164), 광 센서 제어기(158), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 연락처 모듈(137) 및 전화 모듈(138)과 함께, 화상 회의 모듈(139)은 사용자 지시들에 따라 사용자와 한 명 이상의 다른 참여자들 사이의 화상 회의를 개시, 시행 및 종료하도록 하는 실행가능 명령어들을 포함한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 이메일 클라이언트 모듈(140)은 사용자 지시들에 응답하여 이메일을 생성, 전송, 수신, 및 관리하도록 하는 실행가능 명령어들을 포함한다. 이미지 관리 모듈(144)과 함께, 이메일 클라이언트 모듈(140)은 카메라 모듈(143)로 촬영된 정지 또는 비디오 이미지들을 갖는 이메일을 생성 및 전송하는 것을 매우 용이하게 한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 인스턴트 메시징 모듈(141)은, 인스턴트 메시지에 대응하는 문자들의 시퀀스를 입력하고, 이전에 입력된 문자들을 수정하고, (예를 들어, 전화 기반 인스턴트 메시지들을 위한 SMS(Short Message Service) 또는 MMS(Multimedia Message Service) 프로토콜을 사용하거나, 인터넷 기반 인스턴트 메시지들을 위한 XMPP, SIMPLE 또는 IMPS를 사용하여) 개개의 인스턴트 메시지를 송신하고, 인스턴트 메시지들을 수신하고, 수신된 인스턴트 메시지들을 보도록 하는 실행가능 명령어들을 포함한다. 일부 실시예들에서, 송신 및/또는 수신된 인스턴트 메시지들은 선택적으로 그래픽들, 사진들, 오디오 파일들, 비디오 파일들 및/또는 MMS 및/또는 EMS(Enhanced Messaging Service)에서 지원되는 바와 같은 다른 첨부물들을 포함한다. 본 명세서에서 사용되는 바와 같이, "인스턴트 메시징"은 전화 기반 메시지들(예를 들어, SMS 또는 MMS를 사용하여 전송되는 메시지들) 및 인터넷 기반 메시지들(예를 들어, XMPP, SIMPLE 또는 IMPS를 사용하여 전송되는 메시지들) 둘 모두를 지칭한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154), 및 음악 재생기 모듈과 함께, 운동 지원 모듈(142)은, (예를 들어, 시간, 거리, 및/또는 열량 소비 목표들과 함께) 운동들을 고안하고; 운동 센서들(스포츠 디바이스들)과 통신하고; 운동 센서 데이터를 수신하고; 운동을 모니터링하는 데 사용되는 센서들을 교정하고; 운동을 위한 음악을 선택 및 재생하고; 운동 데이터를 디스플레이, 저장 및 송신하도록 하는 실행가능 명령어들을 포함한다.
터치 스크린(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 카메라 모듈(143)은, 정지 이미지들 또는 비디오(비디오 스트림을 포함함)를 캡처하고 이들을 메모리(102) 내에 저장하거나, 정지 이미지 또는 비디오의 특성을 수정하거나, 메모리(102)로부터 정지 이미지 또는 비디오를 삭제하도록 하는 실행가능 명령어들을 포함한다.
터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 이미지 관리 모듈(144)은 정지 및/또는 비디오 이미지들을 배열하거나, 수정(예를 들어, 편집)하거나, 또는 그렇지 않으면 조작하고, 라벨링하고, 삭제하고, (예를 들어, 디지털 슬라이드 쇼 또는 앨범에) 제시하고, 저장하도록 하는 실행가능 명령어들을 포함한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 브라우저 모듈(147)은, 웹 페이지들 또는 이들의 부분들뿐만 아니라 웹 페이지들에 링크된 첨부물들 및 다른 파일들을 검색하고, 그들에 링크하고, 수신하고, 그리고 디스플레이하는 것을 포함하여, 사용자 지시들에 따라 인터넷을 브라우징하도록 하는 실행가능 명령어들을 포함한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 캘린더 모듈(148)은 사용자 지시들에 따라 캘린더들 및 캘린더들과 연관된 데이터(예를 들어, 캘린더 엔트리들, 할 일 목록들 등)를 생성, 디스플레이, 수정, 및 저장하도록 하는 실행가능 명령어들을 포함한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 모듈들(149)은 사용자에 의해 선택적으로 다운로드 및 사용되거나(예를 들어, 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)), 또는 사용자에 의해 생성되는(예를 들어, 사용자-생성 위젯(149-6)) 미니-애플리케이션들이다. 일부 실시예들에서, 위젯은 HTML(Hypertext Markup Language) 파일, CSS(Cascading Style Sheets) 파일 및 자바스크립트(JavaScript) 파일을 포함한다. 일부 실시예들에서, 위젯은 XML(Extensible Markup Language) 파일 및 자바스크립트 파일(예를 들어, 야후(Yahoo)! 위젯들)을 포함한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 생성기 모듈(150)은 선택적으로 사용자에 의해 위젯들을 생성(예를 들어, 웹 페이지의 사용자 특정 부분을 위젯으로 터닝)하는 데 사용된다.
터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 검색 모듈(151)은 사용자 지시들에 따라 하나 이상의 검색 기준들(예를 들어, 하나 이상의 사용자-특정 검색어들)에 매칭되는 메모리(102) 내의 텍스트, 음악, 사운드, 이미지, 비디오, 및/또는 다른 파일들을 검색하도록 하는 실행가능 명령어들을 포함한다.
터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 오디오 회로부(110), 스피커(111), RF 회로부(108) 및 브라우저 모듈(147)과 함께, 비디오 및 음악 재생기 모듈(152)은, 사용자가 MP3 또는 AAC 파일들과 같은 하나 이상의 파일 포맷들로 저장된 레코딩된 음악 및 다른 사운드 파일들을 다운로드 및 재생할 수 있도록 하는 실행가능 명령어들, 및 비디오들을 (예를 들어, 터치 스크린(112) 상에서 또는 외부 포트(124)를 통해 외부의 연결된 디스플레이 상에서) 디스플레이하도록, 상영하도록, 또는 다른 방식으로 재생하도록 하는 실행가능 명령어들을 포함한다. 일부 실시예들에서, 디바이스(100)는 선택적으로 아이팟(애플 인크.의 상표)과 같은 MP3 재생기의 기능을 포함한다.
터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 메모 모듈(153)은 사용자 지시들에 따라 메모들, 할 일 목록들 등을 생성 및 관리하도록 하는 실행가능 명령어들을 포함한다.
RF 회로부(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 및 브라우저 모듈(147)과 함께, 지도 모듈(154)은 선택적으로 사용자 지시들에 따라 지도들 및 지도들과 연관된 데이터(예를 들어, 운전 방향들; 특정한 위치에 또는 그 인근의 상점들 및 다른 관심있는 지점들에 관한 데이터; 및 다른 위치-기반 데이터)를 수신하고, 디스플레이하고, 수정하고, 저장하는 데 사용된다.
터치 스크린(112), 디스플레이 제어기(156), 접촉/모션 모듈(130), 그래픽 모듈(132), 오디오 회로부(110), 스피커(111), RF 회로부(108), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 온라인 비디오 모듈(155)은, 사용자가 H.264와 같은 하나 이상의 파일 포맷들의 온라인 비디오들에 액세스하고, 그들을 브라우징하고, (예를 들어, 스트리밍 및/또는 다운로드에 의해) 수신하고, (예를 들어, 터치 스크린 상에서 또는 외부 포트(124)를 통해 외부의 연결된 디스플레이 상에서) 재생하고, 특정한 온라인 비디오로의 링크와 함께 이메일을 전송하고, 그렇지 않으면 관리하게 하는 명령어들을 포함한다. 일부 실시예들에서, 이메일 클라이언트 모듈(140)보다는 오히려 인스턴트 메시징 모듈(141)이 특정 온라인 비디오로의 링크를 전송하는 데 사용된다. 온라인 비디오 애플리케이션에 대한 부가적인 설명은, 2007년 6월 20일자로 출원된 미국 가특허 출원 제60/936,562호, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos" 및 2007년 12월 31일자로 출원된 미국 특허 출원 제11/968,067호, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos"에서 찾아볼 수 있으며, 이들의 내용은 이로써 그 전체가 참고로 본 명세서에 포함된다.
위에서-식별된 모듈들 및 애플리케이션들 각각은 위에서 설명된 하나 이상의 기능들 및 본 출원에 설명되는 방법들(예를 들어, 본 명세서에 설명되는 컴퓨터 구현 방법들 및 다른 정보 프로세싱 방법들)을 수행하기 위한 실행가능 명령어들의 세트에 대응한다. 이들 모듈(예를 들어, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 이들 모듈의 다양한 서브세트들이 선택적으로 다양한 실시예들에서 조합되거나 그렇지 않으면 재배열된다. 예를 들어, 비디오 재생기 모듈은 선택적으로, 음악 재생기 모듈과 함께 단일 모듈(예를 들어, 도 1a의 비디오 및 음악 재생기 모듈(152)) 내에 조합된다. 일부 실시예들에서, 메모리(102)는 선택적으로, 위에서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(102)는 선택적으로, 위에서 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
일부 실시예들에서, 디바이스(100)는 디바이스 상의 미리 정의된 세트의 기능들의 동작이 터치 스크린 및/또는 터치패드를 통해 전용으로 수행되는 디바이스이다. 터치 스크린 및/또는 터치패드를 디바이스(100)의 동작을 위한 주 입력 제어 디바이스로서 사용함으로써, 디바이스(100) 상의 (푸시 버튼들, 다이얼들 등과 같은) 물리적 입력 제어 디바이스들의 수가 선택적으로 감소된다.
전적으로 터치 스크린 및/또는 터치패드를 통해 수행되는 미리 정의된 세트의 기능들은, 선택적으로, 사용자 인터페이스들 사이의 내비게이션을 포함한다. 일부 실시예들에서, 터치패드는, 사용자에 의해 터치될 때, 디바이스(100) 상에 디스플레이되는 임의의 사용자 인터페이스로부터 메인, 홈 또는 루트 메뉴로 디바이스(100)를 내비게이팅한다. 이러한 실시예들에서, "메뉴 버튼"이 터치패드를 사용하여 구현된다. 일부 다른 실시예들에서, 메뉴 버튼은 터치패드 대신에 물리적 푸시 버튼 또는 다른 물리적 입력 제어 디바이스이다.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다. 일부 실시예들에서, 메모리(도 1a의 102 또는 도 3의 370)는 (예를 들어, 운영 체제(126)에서의) 이벤트 분류기(170) 및 개개의 애플리케이션(136-1)(예를 들어, 전술된 애플리케이션들(137 내지 151, 155, 380 내지 390) 중 임의의 것)을 포함한다.
이벤트 분류기(170)는 이벤트 정보를 수신하고, 이벤트 정보를 전달할 애플리케이션(136-1), 및 애플리케이션(136-1)의 애플리케이션 뷰(191)를 결정한다. 이벤트 분류기(170)는 이벤트 모니터(171) 및 이벤트 디스패처 모듈(event dispatcher module)(174)을 포함한다. 일부 실시예들에서, 애플리케이션(136-1)은 애플리케이션이 활성이거나 실행 중일 때 터치 감응형 디스플레이(112) 상에 디스플레이되는 현재 애플리케이션 뷰(들)를 표시하는 애플리케이션 내부 상태(192)를 포함한다. 일부 실시예들에서, 디바이스/글로벌 내부 상태(157)는 이벤트 분류기(170)에 의해 어느 애플리케이션(들)이 현재 활성인지 결정하는 데 사용되며, 애플리케이션 내부 상태(192)는 이벤트 분류기(170)에 의해 이벤트 정보를 전달할 애플리케이션 뷰들(191)을 결정하는 데 사용된다.
일부 실시예들에서, 애플리케이션 내부 상태(192)는 애플리케이션(136-1)이 실행을 재개할 때 사용될 재개 정보, 애플리케이션(136-1)에 의해 디스플레이되고 있거나 디스플레이될 준비가 된 정보를 표시하는 사용자 인터페이스 상태 정보, 사용자가 애플리케이션(136-1)의 이전 상태 또는 뷰로 되돌아가도록 인에이블하기 위한 상태 큐(queue), 및 사용자에 의해 취해진 이전 동작들의 재실행(redo)/실행취소(undo) 큐 중 하나 이상과 같은 부가적인 정보를 포함한다.
이벤트 모니터(171)는 주변기기 인터페이스(118)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트(예를 들어, 다중 터치 제스처의 일부로서 터치 감응형 디스플레이(112) 상에서의 사용자 터치)에 대한 정보를 포함한다. 주변기기 인터페이스(118)는 I/O 서브시스템(106) 또는 센서, 예를 들어 근접 센서(166), 가속도계(들)(168), 및/또는 (오디오 회로부(110)를 통한) 마이크로폰(113)으로부터 수신하는 정보를 송신한다. 주변기기 인터페이스(118)가 I/O 서브시스템(106)으로부터 수신하는 정보는 터치 감응형 디스플레이(112) 또는 터치 감응형 표면으로부터의 정보를 포함한다.
일부 실시예들에서, 이벤트 모니터(171)는 요청들을 미리 결정된 간격으로 주변기기 인터페이스(118)에 전송한다. 이에 응답하여, 주변기기 인터페이스(118)는 이벤트 정보를 송신한다. 다른 실시예들에서, 주변기기 인터페이스(118)는 중요한 이벤트(예를 들어, 미리 결정된 잡음 임계치를 초과하는 입력 및/또는 미리 결정된 지속기간 초과 동안의 입력을 수신하는 것)가 있을 때에만 이벤트 정보를 송신한다.
일부 실시예들에서, 이벤트 분류기(170)는 또한 히트 뷰(hit view) 결정 모듈(172) 및/또는 활성 이벤트 인식기 결정 모듈(173)을 포함한다.
히트 뷰 결정 모듈(172)은 터치 감응형 디스플레이(112)가 하나 초과의 뷰를 디스플레이할 때 하나 이상의 뷰들 내에서 서브이벤트가 발생한 곳을 결정하기 위한 소프트웨어 절차들을 제공한다. 뷰들은 사용자가 디스플레이 상에서 볼 수 있는 제어부들 및 다른 요소들로 구성된다.
애플리케이션과 연관된 사용자 인터페이스의 다른 태양은 본 명세서에서 때때로 애플리케이션 뷰들 또는 사용자 인터페이스 윈도우(user interface window)들로 지칭되는 한 세트의 뷰들이며, 여기서 정보가 디스플레이되고 터치 기반 제스처가 발생한다. 터치가 검출되는 (개개의 애플리케이션의) 애플리케이션 뷰들은 선택적으로 애플리케이션의 프로그램 또는 뷰 계층구조 내의 프로그램 레벨들에 대응한다. 예를 들어, 터치가 검출되는 최하위 레벨의 뷰는 선택적으로 히트 뷰로 지칭되고, 적절한 입력들로서 인식되는 이벤트들의 세트는, 선택적으로, 터치 기반 제스처를 시작하는 초기 터치의 히트 뷰에 적어도 부분적으로 기초하여 결정된다.
히트 뷰 결정 모듈(172)은 터치 기반 제스처의 서브이벤트들에 관련된 정보를 수신한다. 애플리케이션이 계층구조에서 조직화된 다수의 뷰들을 가질 때, 히트 뷰 결정 모듈(172)은 히트 뷰를, 서브이벤트를 처리해야 하는 계층구조 내의 최하위 뷰로서 식별한다. 대부분의 상황들에서, 히트 뷰는 개시되는 서브이벤트(예를 들어, 이벤트 또는 잠재적인 이벤트를 형성하는 서브이벤트들의 시퀀스에서의 제1 서브이벤트)가 발생하는 최하위 레벨 뷰이다. 일단 히트 뷰가 히트 뷰 결정 모듈(172)에 의해 식별되면, 히트 뷰는 전형적으로 그것이 히트 뷰로서 식별되게 한 것과 동일한 터치 또는 입력 소스에 관련된 모든 서브이벤트들을 수신한다.
활성 이벤트 인식기 결정 모듈(173)은 뷰 계층구조 내에서 어느 뷰 또는 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는지를 결정한다. 일부 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 히트 뷰만이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 서브이벤트의 물리적 위치를 포함하는 모든 뷰들이 적극 참여 뷰(actively involved view)들인 것으로 결정하고, 그에 따라 모든 적극 참여 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 터치 서브이벤트들이 전적으로 하나의 특정 뷰와 연관된 영역으로 한정되었더라도, 계층구조 내의 상위 뷰들은 여전히 적극 참여 뷰들로서 유지될 것이다.
이벤트 디스패처 모듈(174)은 이벤트 정보를 이벤트 인식기(예를 들어, 이벤트 인식기(180))에 디스패치한다. 활성 이벤트 인식기 결정 모듈(173)을 포함하는 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 정보를 활성 이벤트 인식기 결정 모듈(173)에 의해 결정된 이벤트 인식기에 전달한다. 일부 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 큐 내에 이벤트 정보를 저장하는데, 그 이벤트 정보는 개개의 이벤트 수신기(182)에 의해 인출된다.
일부 실시예들에서, 운영 체제(126)는 이벤트 분류기(170)를 포함한다. 대안적으로, 애플리케이션(136-1)은 이벤트 분류기(170)를 포함한다. 또 다른 실시예들에서, 이벤트 분류기(170)는 독립형 모듈이거나, 또는 접촉/모션 모듈(130)과 같이 메모리(102)에 저장되는 다른 모듈의 일부이다.
일부 실시예들에서, 애플리케이션(136-1)은 복수의 이벤트 핸들러들(190) 및 하나 이상의 애플리케이션 뷰들(191)을 포함하며, 이들의 각각은 애플리케이션의 사용자 인터페이스의 개개의 뷰 내에서 발생하는 터치 이벤트들을 처리하기 위한 명령어들을 포함한다. 애플리케이션(136-1)의 각각의 애플리케이션 뷰(191)는 하나 이상의 이벤트 인식기들(180)을 포함한다. 전형적으로, 개개의 애플리케이션 뷰(191)는 복수의 이벤트 인식기들(180)을 포함한다. 다른 실시예들에서, 이벤트 인식기들(180) 중 하나 이상은 사용자 인터페이스 키트 또는 애플리케이션(136-1)이 방법들 및 다른 특성들을 물려받는 상위 레벨 객체와 같은 별개의 모듈의 일부이다. 일부 실시예들에서, 개개의 이벤트 핸들러(190)는 데이터 업데이터(176), 객체 업데이터(177), GUI 업데이터(178), 및/또는 이벤트 분류기(170)로부터 수신된 이벤트 데이터(179) 중 하나 이상을 포함한다. 이벤트 핸들러(190)는 선택적으로 데이터 업데이터(176), 객체 업데이터(177) 또는 GUI 업데이터(178)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 대안으로, 애플리케이션 뷰들(191) 중 하나 이상은 하나 이상의 개개의 이벤트 핸들러들(190)을 포함한다. 또한, 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178) 중 하나 이상은 개개의 애플리케이션 뷰(191) 내에 포함된다.
개개의 이벤트 인식기(180)는 이벤트 분류기(170)로부터 이벤트 정보(예를 들어, 이벤트 데이터(179))를 수신하고 그 이벤트 정보로부터 이벤트를 식별한다. 이벤트 인식기(180)는 이벤트 수신기(182) 및 이벤트 비교기(184)를 포함한다. 일부 실시예들에서, 이벤트 인식기(180)는 또한 적어도 메타데이터(183) 및 이벤트 전달 명령어들(188)(선택적으로 서브이벤트 전달 명령어들을 포함함)의 서브세트를 포함한다.
이벤트 수신기(182)는 이벤트 분류기(170)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트, 예를 들어 터치 또는 터치 움직임에 관한 정보를 포함한다. 서브이벤트에 따라, 이벤트 정보는 또한 서브이벤트의 위치와 같은 부가적인 정보를 포함한다. 서브이벤트가 터치의 모션과 관련되는 경우, 이벤트 정보는 또한 선택적으로 서브이벤트의 속력 및 방향을 포함한다. 일부 실시예들에서, 이벤트들은 하나의 배향으로부터 다른 배향으로(예를 들어, 세로 배향으로부터 가로 배향으로, 또는 그 반대로)의 디바이스의 회전을 포함하며, 이벤트 정보는 디바이스의 현재 배향(디바이스 자세로 또한 지칭됨)에 관한 대응하는 정보를 포함한다.
이벤트 비교기(184)는 이벤트 정보를 미리 정의된 이벤트 또는 서브이벤트 정의들과 비교하고, 그 비교에 기초하여, 이벤트 또는 서브이벤트를 결정하거나, 이벤트 또는 서브이벤트의 상태를 결정 또는 업데이트한다. 일부 실시예들에서, 이벤트 비교기(184)는 이벤트 정의들(186)을 포함한다. 이벤트 정의들(186)은 이벤트들(예를 들어, 서브이벤트들의 미리 정의된 시퀀스들), 예를 들어 이벤트 1(187-1), 이벤트 2(187-2) 등의 정의들을 포함한다. 일부 실시예들에서, 이벤트(187) 내의 서브이벤트들은, 예를 들어, 터치 시작, 터치 종료, 터치 움직임, 터치 취소, 및 다중 터치를 포함한다. 일 예에서, 이벤트 1(187-1)에 대한 정의는 디스플레이된 객체 상에의 더블 탭이다. 더블 탭은, 예를 들어, 미리 결정된 페이즈(phase) 동안의 디스플레이된 객체 상의 제1 터치(터치 시작), 미리 결정된 페이즈 동안의 제1 리프트오프(터치 종료), 미리 결정된 페이즈 동안의 디스플레이된 객체 상의 제2 터치(터치 시작), 및 미리 결정된 페이즈 동안의 제2 리프트오프(터치 종료)를 포함한다. 다른 예에서, 이벤트 2(187-2)에 대한 정의는 디스플레이된 객체 상에서의 드래깅이다. 드래깅은, 예를 들어, 미리 결정된 페이즈 동안의 디스플레이된 객체 상의 터치(또는 접촉), 터치 감응형 디스플레이(112)를 가로지르는 터치의 움직임, 및 터치의 리프트오프(터치 종료)를 포함한다. 일부 실시예들에서, 이벤트는 또한 하나 이상의 연관된 이벤트 핸들러들(190)에 대한 정보를 포함한다.
일부 실시예들에서, 이벤트 정의(187)는 개개의 사용자 인터페이스 객체에 대한 이벤트의 정의를 포함한다. 일부 실시예들에서, 이벤트 비교기(184)는 어느 사용자 인터페이스 객체가 서브이벤트와 연관되어 있는지 결정하도록 히트 테스트(hit test)를 수행한다. 예를 들어, 3개의 사용자 인터페이스 객체들이 터치 감응형 디스플레이(112) 상에 디스플레이된 애플리케이션 뷰에서, 터치 감응형 디스플레이(112) 상에서 터치가 검출되는 경우, 이벤트 비교기(184)는 3개의 사용자 인터페이스 객체들 중 어느 것이 터치(서브이벤트)와 관련되는지를 결정하도록 히트 테스트를 수행한다. 각각의 디스플레이된 객체가 개개의 이벤트 핸들러(190)와 연관되는 경우, 이벤트 비교기는 어느 이벤트 핸들러(190)가 활성화되어야 하는지 결정하기 위해 히트 테스트의 결과를 사용한다. 예를 들어, 이벤트 비교기(184)는 히트 테스트를 트리거하는 객체 및 서브이벤트와 연관된 이벤트 핸들러를 선택한다.
일부 실시예들에서, 개개의 이벤트(187)에 대한 정의는 또한 서브이벤트들의 시퀀스가 이벤트 인식기의 이벤트 유형에 대응하는지 또는 대응하지 않는지 여부가 결정된 후까지 이벤트 정보의 전달을 지연시키는 지연된 동작들을 포함한다.
개개의 이벤트 인식기(180)가 일련의 서브이벤트들이 이벤트 정의들(186) 내의 이벤트들 중 어떠한 것과도 매칭되지 않는다고 결정할 때, 개개의 이벤트 인식기(180)는 이벤트 불가능, 이벤트 실패, 또는 이벤트 종료 상태에 진입하고, 그 후 개개의 이벤트 인식기는 터치 기반 제스처의 후속적인 서브이벤트들을 무시한다. 이러한 상황에서, 존재하는 경우, 히트 뷰에 대해 활성 상태로 유지되는 다른 이벤트 인식기들이 진행 중인 터치 기반 제스처의 서브이벤트들을 계속해서 추적 및 프로세싱한다.
일부 실시예들에서, 개개의 이벤트 인식기(180)는 이벤트 전달 시스템이 어떻게 적극 참여 이벤트 인식기들로의 서브이벤트 전달을 수행해야 하는지를 표시하는 구성가능한 속성들, 플래그(flag)들, 및/또는 목록들을 갖는 메타데이터(183)를 포함한다. 일부 실시예들에서, 메타데이터(183)는 이벤트 인식기들이 어떻게 서로 상호작용하는지, 또는 상호작용하게 되는지를 표시하는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다. 일부 실시예들에서, 메타데이터(183)는, 서브이벤트들이 뷰 또는 프로그램 계층구조에서의 다양한 레벨들에 전달되는지 여부를 표시하는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다.
일부 실시예들에서, 개개의 이벤트 인식기(180)는 이벤트의 하나 이상의 특정 서브이벤트들이 인식될 때 이벤트와 연관된 이벤트 핸들러(190)를 활성화시킨다. 일부 실시예들에서, 개개의 이벤트 인식기(180)는 이벤트와 연관된 이벤트 정보를 이벤트 핸들러(190)에 전달한다. 이벤트 핸들러(190)를 활성화시키는 것은 개개의 히트 뷰에 서브이벤트들을 전송(및 지연 전송)하는 것과는 별개이다. 일부 실시예들에서, 이벤트 인식기(180)는 인식된 이벤트와 연관된 플래그를 보내고, 그 플래그와 연관된 이벤트 핸들러(190)는 그 플래그를 캐치하고 미리 정의된 프로세스를 수행한다.
일부 실시예들에서, 이벤트 전달 명령어들(188)은 이벤트 핸들러를 활성화시키지 않으면서 서브이벤트에 관한 이벤트 정보를 전달하는 서브이벤트 전달 명령어들을 포함한다. 대신에, 서브이벤트 전달 명령어들은 일련의 서브이벤트들과 연관된 이벤트 핸들러들에 또는 적극 참여 뷰들에 이벤트 정보를 전달한다. 일련의 서브이벤트들 또는 적극 참여 뷰들과 연관된 이벤트 핸들러들은 이벤트 정보를 수신하고 미리 결정된 프로세스를 수행한다.
일부 실시예들에서, 데이터 업데이터(176)는 애플리케이션(136-1)에서 사용되는 데이터를 생성 및 업데이트한다. 예를 들어, 데이터 업데이터(176)는 연락처 모듈(137)에서 사용되는 전화번호를 업데이트하거나, 비디오 재생기 모듈에서 사용되는 비디오 파일을 저장한다. 일부 실시예들에서, 객체 업데이터(177)는 애플리케이션(136-1)에서 사용되는 객체들을 생성 및 업데이트한다. 예를 들어, 객체 업데이터(177)는 새로운 사용자 인터페이스 객체를 생성하거나, 또는 사용자 인터페이스 객체의 위치를 업데이트한다. GUI 업데이터(178)는 GUI를 업데이트한다. 예를 들어, GUI 업데이터(178)는 터치 감응형 디스플레이 상의 디스플레이를 위해 디스플레이 정보를 준비하고 이를 그래픽 모듈(132)에 전송한다.
일부 실시예들에서, 이벤트 핸들러(들)(190)는 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)를 포함하거나 이들에 대한 액세스를 갖는다. 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)는 개개의 애플리케이션(136-1) 또는 애플리케이션 뷰(191)의 단일 모듈 내에 포함된다. 다른 실시예들에서, 이들은 2개 이상의 소프트웨어 모듈들 내에 포함된다.
터치 감응형 디스플레이들 상의 사용자 터치들의 이벤트 처리에 관하여 전술한 논의는 또한 입력 디바이스들을 갖는 다기능 디바이스들(100)을 동작시키기 위한 다른 형태들의 사용자 입력들에 적용되지만, 그 모두가 터치 스크린들 상에서 개시되는 것이 아니라는 것을 이해해야 한다. 예를 들어, 단일 또는 다수의 키보드 누르기 또는 유지하기(hold)와 선택적으로 조화되는 마우스 움직임 및 마우스 버튼 누르기; 터치패드들 상에서의, 탭들, 드래그들, 스크롤들 등과 같은 접촉 움직임들; 펜 스타일러스 입력들; 디바이스의 움직임; 구두 명령어들; 검출된 눈 움직임들; 생체측정 입력들; 및/또는 이들의 임의의 조합은, 인식될 이벤트를 정의하는 서브이벤트들에 대응하는 입력들로서 선택적으로 이용된다.
도 2는 일부 실시예들에 따른, 터치 스크린(112)을 갖는 휴대용 다기능 디바이스(100)를 도시한다. 터치 스크린은, 선택적으로, 사용자 인터페이스(UI)(200) 내에서 하나 이상의 그래픽들을 디스플레이한다. 이러한 실시예 뿐만 아니라 아래에서 설명되는 다른 실시예들에서, 사용자는, 예를 들어, 하나 이상의 손가락들(202)(도면에서 축척에 맞게 도시되지 않음) 또는 하나 이상의 스타일러스들(203)(도면에서 축척에 맞게 도시되지 않음)을 이용하여 그래픽들 상에서 제스처를 행함으로써 그래픽들 중 하나 이상을 선택하는 것이 가능하게 된다. 일부 실시예들에서, 하나 이상의 그래픽들의 선택은 사용자가 하나 이상의 그래픽들과의 접촉을 중단할 때 발생한다. 일부 실시예들에서, 제스처는 선택적으로 디바이스(100)와 접촉한 손가락의 하나 이상의 탭들, (좌측에서 우측으로의, 우측에서 좌측으로의, 상측으로의 그리고/또는 하측으로의) 하나 이상의 스와이프들, 및/또는 (우측에서 좌측으로의, 좌측에서 우측으로의, 상측으로의 그리고/또는 하측으로의) 롤링을 포함한다. 일부 구현예들 또는 상황들에서, 그래픽과의 의도하지 않은 접촉은 그래픽을 선택하지 않는다. 예를 들어, 선택에 대응하는 제스처가 탭일 때, 애플리케이션 아이콘 위를 스윕(sweep)하는 스와이프 제스처는, 선택적으로, 대응하는 애플리케이션을 선택하지 않는다.
디바이스(100)는 또한 선택적으로 "홈" 또는 메뉴 버튼(204)과 같은 하나 이상의 물리적 버튼들을 포함한다. 이전에 설명된 바와 같이, 메뉴 버튼(204)은 선택적으로, 디바이스(100) 상에서 선택적으로 실행되는 애플리케이션들의 세트 내의 임의의 애플리케이션(136)으로 내비게이팅하는 데 사용된다. 대안적으로, 일부 실시예들에서, 메뉴 버튼은 터치 스크린(112) 상에 디스플레이된 GUI에서 소프트 키로서 구현된다.
일부 실시예들에서, 디바이스(100)는 터치 스크린(112), 메뉴 버튼(204), 디바이스의 전원을 온/오프하고 디바이스를 잠그기 위한 푸시 버튼(206), 음량 조정 버튼(들)(208), 가입자 식별 모듈(SIM) 카드 슬롯(210), 헤드셋 잭(212), 및 도킹/충전 외부 포트(124)를 포함한다. 푸시 버튼(206)은 선택적으로, 버튼을 누르고 버튼을 미리 정의된 시간 간격 동안 누른 상태로 유지함으로써 디바이스의 전원을 턴 온/오프시키고/시키거나; 버튼을 누르고 미리 정의된 시간 간격이 경과하기 전에 버튼을 누름해제함으로써 디바이스를 잠그고/잠그거나; 디바이스를 잠금해제하거나 잠금해제 프로세스를 개시하는 데 사용된다. 대안적인 실시예에서, 디바이스(100)는 또한 마이크로폰(113)을 통해 일부 기능들의 활성화 또는 비활성화를 위한 구두 입력을 수용한다. 디바이스(100)는 또한, 선택적으로, 터치 스크린(112) 상의 접촉들의 세기를 검출하기 위한 하나 이상의 접촉 세기 센서들(165) 및/또는 디바이스(100)의 사용자를 위해 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기들(167)을 포함한다.
도 3은, 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다. 디바이스(300)가 휴대용일 필요는 없다. 일부 실시예들에서, 디바이스(300)는, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 멀티미디어 재생기 디바이스, 내비게이션 디바이스, (어린이 학습 장난감과 같은) 교육용 디바이스, 게이밍 시스템, 또는 제어 디바이스(예를 들어, 가정용 또는 산업용 제어기)이다. 디바이스(300)는 전형적으로 하나 이상의 프로세싱 유닛(CPU)들(310), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(360), 메모리(370), 및 이들 컴포넌트들을 상호연결시키기 위한 하나 이상의 통신 버스들(320)을 포함한다. 통신 버스들(320)은, 선택적으로, 시스템 컴포넌트들을 상호연결시키고 이들 사이의 통신들을 제어하는 회로부(때때로 칩셋으로 지칭됨)를 포함한다. 디바이스(300)는 전형적으로 터치 스크린 디스플레이인 디스플레이(340)를 포함하는 입/출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 또한, 선택적으로, 키보드 및/또는 마우스(또는 다른 포인팅 디바이스)(350) 및 터치패드(355), 디바이스(300) 상에 촉각적 출력들을 생성하기 위한 촉각적 출력 생성기(357)(예를 들어, 도 1a를 참조하여 위에서 설명된 촉각적 출력 생성기(들)(167)와 유사함), 및 센서들(359)(예를 들어, 도 1a를 참조하여 위에서 설명된 접촉 세기 센서(들)(165)와 유사한 광 센서, 가속도 센서, 근접 센서, 터치 감응형 센서, 및/또는 접촉 세기 센서)을 포함한다. 메모리(370)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며; 선택적으로 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(370)는 선택적으로 CPU(들)(310)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함한다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)에 저장된 프로그램들, 모듈들, 및 데이터 구조들과 유사한 프로그램들, 모듈들, 및 데이터 구조들, 또는 이들의 서브세트를 저장한다. 또한, 메모리(370)는, 선택적으로, 휴대용 다기능 디바이스(100)의 메모리(102) 내에 존재하지 않는 부가적인 프로그램들, 모듈들 및 데이터 구조들을 저장한다. 예를 들어, 디바이스(300)의 메모리(370)는, 선택적으로, 드로잉 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 제작 모듈(386), 디스크 저작 모듈(388), 및/또는 스프레드시트 모듈(390)을 저장하는 반면, 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)는, 선택적으로, 이들 모듈들을 저장하지 않는다.
도 3에서의 위에서-식별된 요소들 각각은, 선택적으로, 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장된다. 위에서-식별된 모듈들 각각은 위에서 설명된 기능을 수행하기 위한 명령어들의 세트에 대응한다. 위에서-식별된 모듈들 또는 프로그램들(예를 들어, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 다양한 실시예들에서 이들 모듈의 다양한 서브세트들이 선택적으로 조합되거나 그렇지 않으면 재배열된다. 일부 실시예들에서, 메모리(370)는 선택적으로, 위에서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(370)는 선택적으로 위에서 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
이제, 예를 들어, 휴대용 다기능 디바이스(100) 상에서 선택적으로 구현되는 사용자 인터페이스들의 실시예들에 주목한다.
도 4a는 일부 실시예들에 따른, 휴대용 다기능 디바이스(100) 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스를 예시한다. 유사한 사용자 인터페이스들이 선택적으로 디바이스(300) 상에 구현된다. 일부 실시예들에서, 사용자 인터페이스(400)는 다음의 요소들, 또는 그들의 서브세트 또는 수퍼세트를 포함한다:
셀룰러 및 Wi-Fi 신호들과 같은 무선 통신(들)을 위한 신호 세기 표시자(들)(402);
시간(404);
블루투스 표시자(405);
배터리 상태 표시자(406);
Figure 112023069577418-pat00024
다음과 같은, 빈번하게 사용되는 애플리케이션들에 대한 아이콘들을 갖는 트레이(408):
o 부재 중 전화들 또는 음성메일 메시지들의 개수의 표시자(414)를 선택적으로 포함하는 "전화"라고 라벨링된 전화 모듈(138)에 대한 아이콘(416);
o 읽지 않은 이메일들의 개수의 표시자(410)를 선택적으로 포함하는 "메일"이라고 라벨링된 이메일 클라이언트 모듈(140)에 대한 아이콘(418);
o "브라우저"라고 라벨링된 브라우저 모듈(147)에 대한 아이콘(420);및
o 아이팟(애플 인크.의 상표) 모듈(152)로 또한 지칭되는, "아이팟"이라고 라벨링된 비디오 및 음악 재생기 모듈(152)에 대한 아이콘(422);및
Figure 112023069577418-pat00025
다음과 같은, 다른 애플리케이션들에 대한 아이콘들:
o "메시지"라고 라벨링된 IM 모듈(141)에 대한 아이콘(424);
o "캘린더"라고 라벨링된 캘린더 모듈(148)에 대한 아이콘(426);
o "사진"이라고 라벨링된 이미지 관리 모듈(144)에 대한 아이콘(428);
o "카메라"라고 라벨링된 카메라 모듈(143)에 대한 아이콘(430);
o "온라인 비디오"라고 라벨링된 온라인 비디오 모듈(155)에 대한 아이콘(432);
o "주식"이라고 라벨링된 주식 위젯(149-2)에 대한 아이콘(434);
o "지도"라고 라벨링된 지도 모듈(154)에 대한 아이콘(436);
o "날씨"라고 라벨링된 날씨 위젯(149-1)에 대한 아이콘(438);
o "시계"라고 라벨링된 알람 시계 위젯(149-4)에 대한 아이콘(440);
o "운동 지원"이라고 라벨링된 운동 지원 모듈(142)에 대한 아이콘(442);
o "메모"라고 라벨링된 메모 모듈(153)에 대한 아이콘(444);및
o 디바이스(100) 및 그의 다양한 애플리케이션들(136)에 대한 설정으로의 액세스를 제공하는, "설정"이라고 라벨링된, 설정 애플리케이션 또는 모듈에 대한 아이콘(446).
도 4a에 예시된 아이콘 라벨들은 단지 예시적인 것임에 유의해야 한다. 예를 들어, 비디오 및 음악 재생기 모듈(152)에 대한 아이콘(422)은 "음악" 또는 "음악 재생기"라고 라벨링된다. 다른 라벨들이 선택적으로 다양한 애플리케이션 아이콘들에 대해 사용된다. 일부 실시예들에서, 개개의 애플리케이션 아이콘에 대한 라벨은 개개의 애플리케이션 아이콘에 대응하는 애플리케이션의 이름을 포함한다. 일부 실시예들에서, 특정 애플리케이션 아이콘에 대한 라벨은 특정 애플리케이션 아이콘에 대응하는 애플리케이션의 이름과는 별개이다.
도 4b는 디스플레이(450)(예를 들어, 터치 스크린 디스플레이(112))와는 별개인 터치 감응형 표면(451)(예를 들어, 도 3의 태블릿 또는 터치패드(355))을 갖는 디바이스(예를 들어, 도 3의 디바이스(300)) 상의 예시적인 사용자 인터페이스를 예시한다. 디바이스(300)는 또한, 선택적으로, 터치 감응형 표면(451) 상의 접촉들의 세기를 검출하기 위한 하나 이상의 접촉 세기 센서들(예를 들어, 센서들(359) 중 하나 이상) 및/또는 디바이스(300)의 사용자에 대한 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기들(357)을 포함한다.
후속하는 예들 중 일부가 (터치 감응형 표면과 디스플레이가 조합된) 터치 스크린 디스플레이(112) 상의 입력들을 참조하여 제공될 것이지만, 일부 실시예들에서, 디바이스는 도 4b에 도시된 바와 같이 디스플레이와는 별개인 터치 감응형 표면 상에서 입력들을 검출한다. 일부 실시예들에서, 터치 감응형 표면(예를 들어, 도 4b의 451)은 디스플레이(예를 들어, 450) 상의 주축(예를 들어, 도 4b의 453)에 대응하는 주축(예를 들어, 도 4b의 452)을 갖는다. 이들 실시예들에 따르면, 디바이스는 디스플레이 상의 개개의 위치들에 대응하는 위치들(예를 들어, 도 4b에서, 460은 468에 대응하고, 462는 470에 대응함)에서 터치 감응형 표면(451)과의 접촉들(예를 들어, 도 4b의 460 및 462)을 검출한다. 이러한 방식으로, 터치 감응형 표면(예를 들어, 도 4b의 451) 상에서 디바이스에 의해 검출된 사용자 입력들(예를 들어, 접촉들(460, 462) 및 그의 움직임들)은 터치 감응형 표면이 디스플레이와는 별개일 때 디바이스에 의해 다기능 디바이스의 디스플레이(예를 들어, 도 4b의 450) 상의 사용자 인터페이스를 조작하는 데 사용된다. 유사한 방법들이, 선택적으로, 본 명세서에 설명된 다른 사용자 인터페이스들에 대해 사용된다는 것이 이해되어야 한다.
부가적으로, 다음의 예들이 손가락 입력들(예를 들어, 손가락 접촉들, 손가락 탭 제스처들, 손가락 스와이프 제스처들)을 주로 참조하여 제공되는 반면, 일부 실시예들에서, 손가락 입력들 중 하나 이상은 다른 입력 디바이스로부터의 입력(예를 들어, 마우스 기반 입력 또는 스타일러스 입력)으로 대체된다는 것이 이해되어야 한다. 예를 들어, 스와이프 제스처가 선택적으로 (예를 들어, 접촉 대신의) 마우스 클릭 및 뒤이은 (예를 들어, 접촉의 움직임 대신의) 스와이프의 경로를 따른 커서의 움직임으로 대체된다. 다른 예로서, (예를 들어, 접촉의 검출 및 뒤이은 접촉을 검출하는 것이 중단되는 것 대신에) 커서가 탭 제스처의 위치 위에 위치되는 동안에 탭 제스처가 선택적으로 마우스 클릭으로 대체된다. 유사하게, 다수의 사용자 입력이 동시에 검출되는 경우, 다수의 컴퓨터 마우스가 선택적으로 동시에 사용되거나, 또는 마우스와 손가락 접촉들이 선택적으로 동시에 사용되는 것으로 이해하여야 한다.
도 5a는 예시적인 개인용 전자 디바이스(500)를 도시한다. 디바이스(500)는 몸체(502)를 포함한다. 일부 실시예들에서, 디바이스(500)는 디바이스들(100, 300)(예를 들어, 도 1a 내지 도 4b)에 대해 설명된 특징들의 일부 또는 전부를 포함할 수 있다. 일부 실시예들에서, 디바이스(500)는 터치 감응형 디스플레이 스크린(504)(이하, 터치 스크린(504))을 갖는다. 터치 스크린(504)에 대한 대안적으로 또는 부가적으로, 디바이스(500)는 디스플레이 및 터치 감응형 표면을 갖는다. 디바이스들(100, 300)과 같이, 일부 실시예들에서, 터치 스크린(504)(또는 터치 감응형 표면)은, 선택적으로, 가해지는 접촉들(예를 들어, 터치들)의 세기를 검출하기 위한 하나 이상의 세기 센서들을 포함한다. 터치 스크린(504)(또는 터치 감응형 표면)의 하나 이상의 세기 센서들은 터치들의 세기를 표현하는 출력 데이터를 제공할 수 있다. 디바이스(500)의 사용자 인터페이스는 터치들의 세기에 기초하여 터치들에 응답할 수 있는데, 이는 상이한 세기들의 터치들이 디바이스(500) 상의 상이한 사용자 인터페이스 동작들을 호출할 수 있다는 것을 의미한다.
터치 세기를 검출하고 프로세싱하기 위한 예시적인 기법들은, 예를 들어, 관련 출원들: 2013년 5월 8일자로 출원되고 발명의 명칭이 "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application"인 국제 특허 출원 PCT/US2013/040061호(WIPO 공개 번호 WO/2013/169849호로서 공개됨), 및 2013년 11월 11일자로 출원되고 발명의 명칭이 "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships"인 국제 특허 출원 PCT/US2013/069483호(WIPO 공개 번호 WO/2014/105276호로서 공개됨)에서 찾을 수 있으며, 이들 각각은 전체적으로 본 명세서에 참고로 포함된다.
일부 실시예들에서, 디바이스(500)는 하나 이상의 입력 메커니즘들(506, 508)을 갖는다. 입력 메커니즘들(506, 508)(포함되어 있는 경우)은 물리적인 것일 수 있다. 물리적 입력 메커니즘들의 예들은 푸시 버튼들 및 회전가능 메커니즘들을 포함한다. 일부 실시예들에서, 디바이스(500)는 하나 이상의 부착 메커니즘들을 갖는다. 이러한 부착 메커니즘들(포함되어 있는 경우)은 디바이스(500)가, 예를 들어, 모자, 안경, 귀걸이, 목걸이, 셔츠, 재킷, 팔찌, 시계줄, 쇠줄(chain), 바지, 벨트, 신발, 지갑, 배낭 등에 부착될 수 있게 한다. 이들 부착 메커니즘들은 디바이스(500)가 사용자에 의해 착용되게 한다.
도 5b는 예시적인 개인용 전자 디바이스(500)를 도시한다. 일부 실시예들에서, 디바이스(500)는 도 1a, 도 1b, 및 도 3에 대해 설명된 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 디바이스(500)는 I/O 섹션(514)을 하나 이상의 컴퓨터 프로세서들(516) 및 메모리(518)와 동작가능하게 커플링시키는 버스(512)를 갖는다. I/O 섹션(514)은 디스플레이(504)에 연결될 수 있고, 이는 터치 감응형 컴포넌트(522), 및 선택적으로, 세기 센서(524)(예를 들어, 접촉 세기 센서)를 가질 수 있다. 부가적으로, I/O 섹션(514)은, Wi-Fi, 블루투스, 근거리 통신(NFC), 셀룰러 및/또는 다른 무선 통신 기법들을 사용하여, 애플리케이션 및 운영 체제 데이터를 수신하기 위해 통신 유닛(530)과 연결될 수 있다. 디바이스(500)는 입력 메커니즘들(506 및/또는 508)을 포함할 수 있다. 입력 메커니즘(506)은, 선택적으로, 회전가능 입력 디바이스 또는 예를 들어 누름가능 및 회전가능 입력 디바이스이다. 일부 예들에서, 입력 메커니즘(508)은, 선택적으로, 버튼이다.
일부 예들에서, 입력 메커니즘(508)은, 선택적으로, 마이크로폰이다. 개인용 전자 디바이스(500)는, 선택적으로, GPS 센서(532), 가속도계(534), 방향 센서(540)(예를 들어, 나침반), 자이로스코프(536), 모션 센서(538), 및/또는 이들의 조합과 같은, 다양한 센서들을 포함하고, 이들 모두는 I/O 섹션(514)에 동작가능하게 연결될 수 있다.
개인용 전자 디바이스(500)의 메모리(518)는 컴퓨터 실행가능한 명령어들을 저장하기 위한 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체들을 포함할 수 있으며, 컴퓨터 실행가능한 명령어들은, 예를 들어, 하나 이상의 컴퓨터 프로세서(516)에 의해 실행될 때, 컴퓨터 프로세서들로 하여금 프로세스들(800, 900, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2700)(각각, 도 8a 및 도 8b, 도 9a 및 도 9b, 도 18a, 도 18b, 도 19, 도 20, 도 21, 도 22, 도 23, 도 24, 도 25, 도 27)을 포함하여 아래에서 설명되는 기법들을 수행하게 할 수 있다. 컴퓨터 판독가능 저장 매체는 명령어 실행 시스템, 장치, 또는 디바이스에 의해 또는 그와 관련하여 사용하기 위한 컴퓨터 실행가능 명령어들을 유형적으로(tangibly) 포함하거나 저장할 수 있는 임의의 매체일 수 있다. 일부 예들에서, 저장 매체는 일시적 컴퓨터 판독가능 저장 매체이다. 일부 예들에서, 저장 매체는 비일시적 컴퓨터 판독가능 저장 매체이다. 비일시적 컴퓨터 판독가능 저장 매체는 자기, 광, 및/또는 반도체 저장소들을 포함할 수 있지만, 이들로 제한되지 않는다. 이러한 저장소의 예들은 자기 디스크들, CD, DVD, 또는 블루레이 기술들에 기초한 광 디스크들 뿐만 아니라 플래시, 솔리드 스테이트 드라이브들 등과 같은 영속적 솔리드 스테이트 메모리를 포함한다. 개인용 전자 디바이스(500)는 도 5b의 컴포넌트들 및 구성으로 제한되지 않고, 다수의 구성들에서 다른 또는 부가적인 컴포넌트들을 포함할 수 있다.
여기서 사용되는 바와 같이, "어포던스"라는 용어는 디바이스들(100, 300, 및/또는 500)(도 1a, 도 3, 및 도 5a 및 도 5b)의 디스플레이 스크린 상에 선택적으로 디스플레이되는 사용자 상호작용형(user-interactive) 그래픽 사용자 인터페이스 객체를 지칭한다. 예를 들어, 이미지(예를 들어, 아이콘), 버튼, 및 텍스트(예를 들어, 하이퍼링크) 각각이 선택적으로 어포던스를 구성한다.
본 명세서에 사용되는 바와 같이, "포커스 선택자(focus selector)"라는 용어는 사용자와 상호작용하고 있는 사용자 인터페이스의 현재 부분을 표시하는 입력 요소를 지칭한다. 커서 또는 다른 위치 마커(location marker)를 포함하는 일부 구현예들에서, 커서가 특정 사용자 인터페이스 요소(예를 들어, 버튼, 윈도우, 슬라이더 또는 다른 사용자 인터페이스 요소) 위에 있는 동안 터치 감응형 표면(예를 들어, 도 3의 터치패드(355) 또는 도 4b의 터치 감응형 표면(451)) 상에서 입력(예를 들어, 누르기 입력)이 검출될 때, 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 커서는 "포커스 선택자"로서 기능한다. 터치 스크린 디스플레이 상의 사용자 인터페이스 요소들과의 직접적인 상호작용을 인에이블하는 터치 스크린 디스플레이(예를 들어, 도 1a의 터치 감응형 디스플레이 시스템(112) 또는 도 4a의 터치 스크린(112))를 포함하는 일부 구현예들에서, 입력(예를 들어, 접촉에 의한 누르기 입력)이 특정 사용자 인터페이스 요소(예를 들어, 버튼, 윈도우, 슬라이더 또는 다른 사용자 인터페이스 요소)의 위치에 있는 터치 스크린 디스플레이 상에서 검출될 때, 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 터치 스크린 상에서 검출된 접촉이 "포커스 선택자"로서 기능한다. 일부 구현예들에서, (예를 들어 포커스를 하나의 버튼으로부터 다른 버튼으로 이동시키도록 탭 키 또는 화살표 키들을 사용함으로써) 터치 스크린 디스플레이 상의 대응하는 커서의 움직임 또는 접촉의 움직임 없이 포커스가 사용자 인터페이스의 하나의 구역으로부터 사용자 인터페이스의 다른 구역으로 이동되며; 이들 구현예들에서, 포커스 선택자는 사용자 인터페이스의 상이한 구역들 사이에서의 포커스의 움직임에 따라 이동된다. 포커스 선택자에 의해 취해진 특정 형태와 무관하게, 포커스 선택자는 일반적으로 (예를 들어, 사용자가 상호작용하고자 하는 사용자 인터페이스의 요소를 디바이스에 표시함으로써) 사용자 인터페이스와의 사용자의 의도된 상호작용을 전달하기 위해 사용자에 의해 제어되는 사용자 인터페이스 요소(또는 터치 스크린 디스플레이 상의 접촉)이다. 예를 들어, 터치 감응형 표면(예를 들어, 터치패드 또는 터치 스크린) 상에서 누르기 입력이 검출되는 동안 개개의 버튼 위의 포커스 선택자(예를 들어, 커서, 접촉 또는 선택 상자)의 위치는 (디바이스의 디스플레이 상에 보여지는 다른 사용자 인터페이스 요소들과 달리) 사용자가 개개의 버튼을 활성화시키려고 하고 있다는 것을 표시할 것이다.
명세서 및 청구범위에서 사용되는 바와 같이, 접촉의 "특성 세기"라는 용어는 접촉의 하나 이상의 세기들에 기초한 접촉의 특성을 지칭한다. 일부 실시예들에서, 특성 세기는 다수의 세기 샘플들에 기초한다. 특성 세기는, 선택적으로, 미리 정의된 수의 세기 샘플들, 또는 미리 정의된 이벤트에 대해 (예를 들어, 접촉을 검출한 후에, 접촉의 리프트오프를 검출하기 전에, 접촉의 이동의 시작을 검출하기 전 또는 그 후에, 접촉의 종료를 검출하기 전에, 접촉의 세기의 증가를 검출하기 전 또는 그 후에, 및/또는 접촉의 세기의 감소를 검출하기 전 또는 그 후에) 미리 결정된 시간 기간(예를 들어, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10초) 동안 수집된 세기 샘플들의 세트에 기초한다. 접촉의 특성 세기는, 선택적으로, 접촉의 세기들의 최대 값, 접촉의 세기들의 중간 값(mean value), 접촉의 세기들의 평균값(average value), 접촉의 세기들의 상위 10 백분위 값(top 10 percentile value), 접촉의 세기들의 최대 값의 절반의 값, 접촉의 세기들의 최대값의 90 퍼센트의 값 등 중 하나 이상에 기초한다. 일부 실시예들에서, 접촉의 지속기간은 (예를 들어, 특성 세기가 시간의 경과에 따른 접촉의 세기의 평균일 때) 특성 세기를 결정하는 데 사용된다. 일부 실시예들에서, 동작이 사용자에 의해 수행되었는지 여부를 결정하기 위해, 특성 세기가 하나 이상의 세기 임계치들의 세트와 비교된다. 예를 들어, 하나 이상의 세기 임계치들의 세트는 선택적으로 제1 세기 임계치 및 제2 세기 임계치를 포함한다. 이러한 예에서, 제1 임계치를 초과하지 않는 특성 세기를 갖는 접촉의 결과, 제1 동작이 행해지고, 제1 세기 임계치를 초과하지만 제2 세기 임계치를 초과하지 않는 특성 세기를 갖는 접촉의 결과, 제2 동작이 행해지며, 제2 임계치 초과의 특성 세기를 갖는 접촉의 결과, 제3 동작이 행해진다. 일부 실시예들에서, 특성 세기와 하나 이상의 임계치들 사이의 비교는, 제1 동작을 수행할지 또는 제2 동작을 수행할지 결정하기 위해 사용되기보다는, 하나 이상의 동작들을 수행할지 여부(예를 들어, 개개의 동작을 수행할지 또는 개개의 동작을 수행하는 것을 보류할지)를 결정하기 위해 사용된다.
일부 실시예들에서, 특성 세기를 결정하기 위해 제스처의 일부가 식별된다. 예를 들어, 터치 감응형 표면은, 선택적으로, 시작 위치로부터 전환하여 종료 위치(이 지점에서 접촉의 세기가 증가함)에 도달하는 연속적인 스와이프 접촉을 수신한다. 이러한 예에서, 종료 위치에서의 접촉의 특성 세기는 선택적으로 스와이프 접촉 전체가 아니라 연속적인 스와이프 접촉의 일부분에만(예를 들어, 종료 위치에서의 스와이프 접촉의 부분에만) 기초한다. 일부 실시예들에서, 접촉의 특성 세기를 결정하기 전에 선택적으로 스와이프 접촉의 세기들에 평활화 알고리즘이 적용된다. 예를 들어, 평활화 알고리즘은, 선택적으로, 비가중 이동 평균(unweighted sliding-average) 평활화 알고리즘, 삼각(triangular) 평활화 알고리즘, 메디안 필터(median filter) 평활화 알고리즘, 및/또는 지수(exponential) 평활화 알고리즘 중 하나 이상을 포함한다. 일부 상황들에서, 이들 평활화 알고리즘들은 특성 세기를 결정하려는 목적들을 위해 스와이프 접촉의 세기들에서의 좁은 급등(spike)들 또는 급감(dip)들을 제거한다.
터치 감응형 표면 상에서의 접촉의 세기는, 선택적으로, 접촉 검출 세기 임계치, 가볍게 누르기 세기 임계치, 깊게 누르기 세기 임계치, 및/또는 하나 이상의 다른 세기 임계치와 같은, 하나 이상의 세기 임계치에 대해 특성화된다. 일부 실시예들에서, 가볍게 누르기 세기 임계치는, 디바이스가 물리적 마우스의 버튼 또는 트랙패드를 클릭하는 것과 전형적으로 연관된 동작들을 수행하게 될 세기에 대응한다. 일부 실시예들에서, 깊게 누르기 세기 임계치는, 디바이스가 물리적 마우스의 버튼 또는 트랙패드를 클릭하는 것과 전형적으로 연관된 동작들과 상이한 동작들을 수행하게 될 세기에 대응한다. 일부 실시예들에서, 접촉이 가볍게 누르기 세기 임계치 미만의(예를 들어, 그리고 공칭 접촉 검출 세기 임계치(이 미만에서는 접촉이 더 이상 검출되지 않음) 초과의) 특성 세기로 검출될 때, 디바이스는 가볍게 누르기 세기 임계치 또는 깊게 누르기 세기 임계치와 연관된 동작을 수행함이 없이 터치 감응형 표면 상의 접촉의 이동에 따라 포커스 선택자를 이동시킬 것이다. 일반적으로, 달리 언급되지 않는 한, 이들 세기 임계치들은 사용자 인터페이스 도면들의 상이한 세트들 사이에서 일관성이 있다.
가볍게 누르기 세기 임계치 미만의 세기로부터 가볍게 누르기 세기 임계치와 깊게 누르기 세기 임계치 사이의 세기로의 접촉의 특성 세기의 증가는 때때로 "가볍게 누르기" 입력으로서 지칭된다. 깊게 누르기 세기 임계치 미만의 세기로부터 깊게 누르기 세기 임계치 초과의 세기로의 접촉의 특성 세기의 증가는 때때로 "깊게 누르기" 입력으로서 지칭된다. 접촉 검출 세기 임계치 미만의 세기로부터 접촉 검출 세기 임계치와 가볍게 누르기 세기 임계치 사이의 세기로의 접촉의 특성 세기의 증가는 때때로 터치 표면 상에서의 접촉을 검출하는 것으로서 지칭된다. 접촉 검출 세기 임계치 초과의 세기로부터 접촉 검출 세기 임계치 미만의 세기로의 접촉의 특성 세기의 감소는 때때로 터치 표면으로부터의 접촉의 리프트오프를 검출하는 것으로서 지칭된다. 일부 실시예들에서, 접촉 검출 세기 임계치는 영(0)이다. 일부 실시예들에서, 접촉 검출 세기 임계치는 0 초과이다.
본 명세서에 설명된 일부 실시예들에서, 하나 이상의 동작들은, 개개의 누르기 입력을 포함하는 제스처를 검출하는 것에 응답하여 또는 개개의 접촉(또는 복수의 접촉들)으로 수행되는 개개의 누르기 입력을 검출하는 것에 응답하여 수행되며, 여기서 개개의 누르기 입력은 누르기-입력 세기 임계치 초과의 접촉(또는 복수의 접촉들)의 세기의 증가를 검출하는 것에 적어도 부분적으로 기초하여 검출된다. 일부 실시예들에서, 개개의 동작은, 누르기-입력 세기 임계치 초과의 개개의 접촉의 세기의 증가(예를 들어, 개개의 누르기 입력의 "다운 스트로크(down stroke)")를 검출하는 것에 응답하여 수행된다. 일부 실시예들에서, 누르기 입력은 누르기-입력 세기 임계치 초과의 개개의 접촉의 세기의 증가 및 누르기-입력 세기 임계치 미만의 접촉의 세기의 후속하는 감소를 포함하며, 개개의 동작은 누르기-입력 임계치 미만의 개개의 접촉의 세기의 후속하는 감소(예를 들어, 개개의 누르기 입력의 "업 스트로크(up stroke)")를 검출하는 것에 응답하여 수행된다.
일부 실시예들에서, 디바이스는 때때로 "지터(jitter)"로 지칭되는 우발적인 입력들을 회피하기 위해 세기 히스테리시스를 이용하며, 여기서 디바이스는 누르기-입력 세기 임계치에 대한 미리 정의된 관계를 갖는 히스테리시스 세기 임계치(예를 들어, 히스테리시스 세기 임계치는 누르기-입력 세기 임계치보다 X 세기 단위 더 낮거나, 또는 히스테리시스 세기 임계치는 누르기-입력 세기 임계치의 75%, 90% 또는 어떤 적절한 비율임)를 정의하거나 선택한다. 따라서, 일부 실시예들에서, 누르기 입력은 누르기-입력 세기 임계치 초과의 개개의 접촉의 세기의 증가 및 누르기-입력 세기 임계치에 대응하는 히스테리시스 세기 임계치 미만의 접촉의 세기의 후속하는 감소를 포함하며, 개개의 동작은 히스테리시스 세기 임계치 미만의 개개의 접촉의 세기의 후속하는 감소(예를 들어, 개개의 누르기 입력의 "업 스트로크")를 검출하는 것에 응답하여 수행된다. 유사하게, 일부 실시예들에서, 누르기 입력은 디바이스가 히스테리시스 세기 임계치 이하에서의 세기로부터 누르기-입력 세기 임계치 이상에서의 세기로의 접촉의 세기의 증가, 및 선택적으로, 히스테리시스 세기 이하에서의 세기로의 접촉의 세기의 후속적인 감소를 검출하는 때에만 검출되고, 개개의 동작은 누르기 입력(예를 들어, 환경에 따른 접촉의 세기의 증가 또는 접촉의 세기의 감소)을 검출하는 것에 응답하여 수행된다.
설명의 편의상, 누르기-입력 세기 임계치와 연관된 누르기 입력에 응답하여 또는 누르기 입력을 포함하는 제스처에 응답하여 수행되는 동작들의 설명은, 선택적으로, 누르기-입력 세기 임계치 초과의 접촉의 세기의 증가, 히스테리시스 세기 임계치 미만의 세기로부터 누르기-입력 세기 임계치 초과의 세기로의 접촉의 세기의 증가, 누르기-입력 세기 임계치 미만의 접촉의 세기의 감소, 및/또는 누르기-입력 세기 임계치에 대응하는 히스테리시스 세기 임계치 미만의 접촉의 세기의 감소 중 어느 하나를 검출하는 것에 응답하여 트리거된다. 부가적으로, 동작이 누르기-입력 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 수행되는 것으로서 설명되어 있는 예들에서, 동작은, 선택적으로, 누르기-입력 세기 임계치에 대응하고 그보다 더 낮은 히스테리시스 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 수행된다.
이제, 휴대용 다기능 디바이스(100), 디바이스(300), 또는 디바이스(500)와 같은 전자 디바이스 상에서 구현되는 사용자 인터페이스("UI")들 및 연관된 프로세스들의 실시예들에 주목한다.
도 6a 내지 도 6mm은 일부 실시예들에 따른, 가상 아바타들을 생성 및 전송하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면들의 사용자 인터페이스들은 도 8a 및 도 8b 및 도 9a 및 도 9b의 프로세스들을 포함하여 아래에서 설명되는 프로세스들을 예시하기 위해 사용된다. 도 7a 내지 도 7j는 일부 실시예들에 따른, 가상 아바타들을 수신 및 재생하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 6a 내지 도 6mm 및 도 7a 내지 도 7j는 가상 아바타의 특정 예로서 가상 아바타를 사용한다.
도 6a는, 일부 경우들에서 터치 감응형 디스플레이인 디스플레이(601) 및 최소한으로, 광 스펙트럼의 일부(예를 들어, 가시광, 적외선 광, 또는 자외선 광)를 표현하는 데이터를 캡처할 수 있는 이미지 센서를 포함하는 카메라(602)를 갖는 디바이스(600)를 도시한다. 일부 실시예들에서, 카메라(602)는 다수의 이미지 센서들 및/또는 다른 유형들의 센서들을 포함한다. 감지된 광을 표현하는 데이터를 캡처하는 것에 부가하여, 일부 실시예들에서, 카메라(602)는 깊이 데이터와 같은 다른 유형들의 데이터를 캡처할 수 있다. 예를 들어, 일부 실시예들에서, 카메라(602)는 또한 스페클(speckle), 비행-시간, 시차, 또는 포커스에 기초한 기법들을 사용하여 깊이 데이터를 캡처한다. 디바이스(600)가 카메라(602)를 사용하여 캡처하는 이미지 데이터는 카메라의 시야 내의 장면에 대한 광 스펙트럼의 일부에 대응하는 데이터를 포함한다. 부가적으로, 일부 실시예들에서, 캡처된 이미지 데이터는 또한 광 데이터에 대한 깊이 데이터를 포함한다. 일부 다른 실시예들에서, 캡처된 이미지 데이터는 광 스펙트럼의 일부에 대한 데이터에 대한 깊이 데이터를 결정 또는 생성하기에 충분한 데이터를 포함한다. 일부 실시예들에서, 디바이스(600)는 디바이스들(100, 300, 또는 500)의 하나 이상의 특징부들을 포함한다.
일부 예들에서, 전자 디바이스(600)는 적외선 카메라, 서모그래픽 카메라, 또는 이들의 조합과 같은 깊이 카메라를 포함한다. 일부 예들에서, 디바이스는 IR 투광 조명, 구조화된 광 프로젝터, 또는 이들의 조합과 같은 발광 디바이스(예를 들어, 광 프로젝터)를 더 포함한다. 발광 디바이스는 선택적으로, 가시광 카메라 및 깊이 카메라(예를 들어, IR 카메라)에 의한 이미지의 캡처 동안 대상을 조명하는 데 사용되고, 깊이 카메라 및 가시광 카메라로부터의 정보는 가시광 카메라에 의해 캡처된 대상의 상이한 부분들의 깊이 맵을 결정하는 데 사용된다. 일부 실시예들에서, 깊이 맵(예를 들어, 깊이 맵 이미지)은 시점(예를 들어, 카메라)으로부터의 장면 내의 물체들의 거리에 관련된 정보(예를 들어, 값들)를 포함한다. 깊이 맵의 일 실시예에서, 각각의 깊이 픽셀은, 그의 대응하는 2차원 픽셀이 위치되는 지점의 Z-축 내의 위치를 정의한다. 일부 예들에서, 깊이 맵은 픽셀들로 구성되며, 여기서 각각의 픽셀은 값(예를 들어, 0 내지 255)에 의해 정의된다. 예를 들어, "0" 값은 "3차원" 장면에서 가장 먼 위치에 위치된 픽셀들을 표현하고, "255" 값은 "3차원" 장면 내의 시점(예를 들어, 카메라)에 가장 가깝게 위치된 픽셀들을 표현한다. 다른 예들에서, 깊이 맵은 장면 내의 물체와 시점의 평면 사이의 거리를 표현한다. 일부 실시예들에서, 깊이 맵은 깊이 카메라의 관점에서 관심있는 물체의 다양한 특징부들의 상대적인 깊이(예를 들어, 사용자의 얼굴의 눈들, 코, 입, 귀들의 상대적인 깊이)에 관한 정보를 포함한다. 일부 실시예들에서, 깊이 맵은 디바이스가 z 방향으로 관심있는 물체의 윤곽들을 결정할 수 있게 하는 정보를 포함한다. 일부 실시예들에서, 본 명세서에 설명된 조명 효과들은, 후방 대면 이미지들에 대한 2개의 카메라들(예를 들어, 2개의 가시광 카메라들)로부터의 차이 정보를 사용하여 그리고 전방 대면 이미지들(예를 들어, 셀피 이미지들)에 대한 가시광 카메라로부터의 이미지 데이터와 함께 조합되는 깊이 카메라로부터의 깊이 정보를 사용하여 디스플레이된다. 일부 실시예들에서, 2개의 가시광 카메라들이 깊이 정보를 결정하는 데 사용될 때 그리고 깊이 카메라가 깊이 정보를 결정하는 데 사용될 때 동일한 사용자 인터페이스가 사용되어, 조명 효과들을 생성할 때 사용되는 정보를 결정하기 위해 극적으로 상이한 기술들을 사용할 때에도, 사용자에게 일관된 경험을 제공한다. 일부 실시예들에서, 적용되는 조명 효과들 중 하나를 갖는 카메라 사용자 인터페이스를 디스플레이하는 동안, 디바이스는, 카메라 스위칭 어포던스의 선택을 검출하며, 조명 효과를 적용하기 위한 사용자 인터페이스 제어부들의 디스플레이를 유지하고 전방 대면 카메라들의 시야의 디스플레이를 후방 대면 카메라들의 시야로(또는 그 반대로) 대체하면서, 전방 대면 카메라들(예를 들어, 깊이 카메라 및 가시광 카메라)로부터 후방 대면 카메라들(예를 들어, 서로로부터 이격되어 있는 2개의 가시광 카메라들)로(또는 그 반대로) 스위칭한다.
도 6a에서, 디바이스(600)는 메시징 애플리케이션에 대한 아이콘(603)을 포함하는 다양한 애플리케이션들에 대한 다수의 아이콘들을 갖는 홈 스크린 인터페이스를 디스플레이하고 있다. 아이콘(603) 상에서의 제스처(예를 들어, 탭 제스처(604))에 응답하여, 디바이스(600)는 아이콘(603)과 연관된 메시징 애플리케이션에 대응하는 도 6b의 사용자 인터페이스를 디스플레이한다.
도 6b에서, 디바이스(600)는 메시징 인터페이스(608)를 디스플레이하고 있다. 요소들(605-1 내지 605-6)은 이전 메시징 통신들에 대응한다. 각각의 요소(605-1 내지 605-6)는 그들 자신의 전자 디바이스와 각각 연관되는 하나 이상의 원격 사용자들과의 하나의 통신을 표현한다. 특정 요소 상의 제스처(예를 들어, 탭 제스처(606))에 응답하여, 디바이스(600)는 도 6c에 도시된 바와 같이, 원격 사용자 또는 통신의 일부인 사용자들과의 이전 메시징 통신의 일부를 디스플레이하도록 메시징 인터페이스(608)를 업데이트한다.
도 6c에서, 디바이스(600)는 "존(John)"이라고 불리는(그리고 "JA"의 이니셜들 또는 모노그램을 갖는) 원격 사용자와의 메시징 통신들을 위한 메시징 인터페이스(608)를 디스플레이하고 있다. 메시징 인터페이스(608)는 4개의 이전에 교환된 메시지들(610-1 내지 610-3)을 포함하는 메시지 영역(609)을 포함한다(메시지(610-3)는 디바이스(600)의 사용자로부터 "존"으로 전송되었던 반면, 다른 2개의 메시지들은 "존"으로부터 디바이스(600)에 의해 수신되었음). 메시징 인터페이스(608)는 또한 메시지 작성 영역(612), 및 메시지 작성 영역(612) 좌측에 (예를 들어, 메시지에 대한 스티커들 및/또는 다른 멀티미디어 요소들을 선택하기 위한 인터페이스에 액세스하는) 아이콘(614)을 포함하는 메시지 옵션 아이콘들을 포함한다. 일부 실시예들에서, 메시지 옵션 아이콘들은 사진들, 이모지들, 스티커들, 및 아래에 설명되는 것들과 같은 다른 형태들의 비-텍스트 메시지들을 포함하는 상이한 유형들의 메시지들을 전송하는 것을 허용한다.
디바이스(600)가 (예를 들어, 도 6c의 탭 제스처(616)를 통한) 메시지 작성 영역(612)의 선택을 검출하는 것에 응답하여, 메시징 인터페이스(608)는 도 6d에 도시된 바와 같이 업데이트된다. 예를 들어, 도 6d에서, 메시지 옵션 아이콘들은 숨겨져 있고(그러나 버튼(618)의 선택에 의해 다시 보여질 수 있음), 제안된 메시지 응답들(620)이 디스플레이되며, 가상 키보드(622)가 디스플레이된다. 일부 경우들에서, 가상 키보드(622)는 원격 사용자에게 전송할 새로운 메시지를 입력하는 데 사용된다.
도 6e에서, 메시지 작성 영역(612)은, 예를 들어 가상 키보드(622) 또는 다른 방법들, 이를테면 음성 입력을 통해 입력되는 텍스트 "나 늦어"를 포함한다. 전송 버튼(621)의 선택에 응답하여, 디바이스(600)는 메시지(609) 내의 통신과 연관된 하나 이상의 참여자들에게 메시지의 일부로서 텍스트를 전송한다. 도 6e의 경우에서, 디바이스(600)는 메시지를 "존"이라고 불리는 사용자에게 전송한다. 도 6f에서, 디바이스(600)는 메시지(610-4)를 포함하도록 메시지 영역(612)을 업데이트함으로써 메시지의 전송을 반영하도록 메시지 영역(609)을 업데이트했다.
일부 경우들에서, 메시지 옵션 아이콘들은 (예를 들어, 메시지에 비-텍스트 콘텐츠를 부가함으로써) 새로운 메시지에 부가되거나 새로운 메시지를 작성하도록 액세스된다. 예를 들어, 디바이스(600)가 (예를 들어, 도 6f의 탭 제스처(624)를 통해) 어포던스(618)의 선택을 검출하는 것에 응답하여, 도 6g에 도시된 바와 같이, 아이콘(614)을 포함하는 메시지 옵션 아이콘들이 다시 디스플레이된다. (예를 들어, 도 6h의 탭 제스처(626)와 같은 제스처를 통한) 아이콘(614)의 선택에 응답하여, 디바이스(600)는 도 6i에 도시된 바와 같이, 이전에 전송된 멀티미디어 항목들(예를 들어, 도 6i의 스티커들(630-1 내지 630-4), 그러나 다른 유형들의 멀티미디어 항목들, 이를테면 사운드, 애니메이션들, 또는 비디오들이 또한 포함될 수 있음)을 포함하는 최근 항목 메뉴(629)(때때로 최근 항목들에 대한 "트레이(tray)"로 알려져 있는)를 현재 디스플레이하고 있는 멀티미디어 항목 인터페이스(628)로 가상 키보드(622)를 대체함으로써 메시징 인터페이스(608)를 업데이트한다. 이러한 인터페이스를 사용하여, 사용자는 이전에 전송된 멀티미디어 항목을 선택하여 다시 전송할 수 있다. 예를 들어, 사용자는 선택된 스티커 상의 탭 제스처를 통해 도 6i의 최근 항목 메뉴(629) 내의 스티커들 중 하나를 선택할 수 있다. 그러한 선택에 응답하여, 디바이스(600)는 메시지 작성 영역(612)에 스티커를 배치하거나, 또는 메시지 영역(609)에 표현된 통신에 관여하는 하나 이상의 원격 사용자들에게 선택된 스티커를 전송한다. 일부 실시예들에서, 탭 및 드래그 제스처는 메시지 작성 영역(612) 또는 메시지 영역(609) 중 어느 하나에(그리고 일부 경우들에서는 특정 메시지 상에) 선택된 스티커(또는 다른 멀티미디어 항목)를 배치하는 데 사용된다. 예를 들어, 특정 스티커는 탭 제스처를 통해 선택된다. 터치 감응형 디스플레이(601)와의 접촉을 끊지 않으면서, 스티커는 드래그 제스처를 통해 메시지 작성 영역(612) 또는 메시지 영역(609) 중 어느 하나로 드래깅된다. 일단 스티커의 원하는 위치에 도달하면, 터치 감응형 디스플레이(601)와의 접촉이 중단되고 스티커가 접촉의 마지막 위치에 배치된다. 접촉의 마지막 위치가 메시지 영역(609) 내에 있으면, 스티커는 메시지 영역(609)에 표현된 통신과 연관된 하나 이상의 원격 사용자들에게 전송된다. 선택적으로, 스티커는 스티커를 특정 메시지와 연관시키는 데이터와 함께 원격 사용자들에게 전송된다(예를 들어, 스티커는 스티커가 "붙여진" 특정 메시지의 특정 위치를 표시하는 데이터와 함께 전송된다). 이러한 기법들은 스티커들을 선택하고 전송하는 것에 특정하지는 않다. 그것은 또한 최근 항목 메뉴(629) 또는 다른 위치들로부터 선택가능한 다른 유형들의 멀티미디어 항목들에 적용될 수 있다.
도 6i에서, 멀티미디어 항목 인터페이스(628)는 또한 (최근 항목 메뉴(629) 이외의 메뉴들 또는 인터페이스들이 이용가능한 메뉴들에 대응하는 버튼들 또는 다른 선택가능 항목들의 디스플레이를 통해 선택되게 허용하는) 메뉴 선택 버튼(632) 및 (멀티미디어 항목 인터페이스(628)가 더 많은 디스플레이(또는 전체 디스플레이)로 확장되게 허용하는) 풀 스크린 버튼(634)을 포함한다. 풀 스크린 버튼(634)이 아래에서 추가로 설명된다.
메뉴들 또는 인터페이스들 사이에서 스위칭하기 위해 메뉴 선택 버튼(632)을 사용하는 것에 부가하여, 제스처들이 또한 선택적으로 메뉴들 사이에서 스위칭하는 데 사용된다. 예를 들어, 스와이프 제스처(예를 들어, 도 6j 및 도 6k에 도시된 바와 같이 멀티미디어 항목 인터페이스(628)를 가로지르는 접촉(636)의 움직임에 의해 표현되는 스와이프)에 응답하여, 디바이스는 최근 항목 메뉴(629)의 디스플레이를 가상 아바타 메뉴(638)로 대체하도록 멀티미디어 항목 인터페이스(628)를 업데이트한다. 최근 항목 메뉴(629)가 가상 아바타 메뉴(638)로 대체되고 있는 동안, 스크롤 표시자(639)는 멀티미디어 항목 인터페이스(628)에서 얼마나 많은 다른 메뉴들이 이용가능한지에 관한 피드백을 제공한다.
도 6l에서, 가상 아바타 메뉴(638)는 최근 항목 메뉴(629)의 디스플레이를 완전히 대체했다. 디바이스(600)가 (예를 들어, 도 6m의 탭 제스처(642)와 같은 제스처를 통한) 계속 어포던스(640)의 선택을 검출하는 것에 응답하여, 가상 아바타 인터페이스(643)가 도 6n에 도시된 바와 같이 디스플레이된다. 아래에서 추가로 설명되는 바와 같이, 이러한 인터페이스는 사용자들이 사용자의 얼굴 움직임들 및 표정들을 반영하는 새로운 가상 아바타들을 생성하게 허용한다. 일부 실시예들에서, 가상 아바타 메뉴(638)는 전혀 디스플레이되지 않는다. 대신에, 가상 아바타 인터페이스(643)가 가상 아바타 메뉴(638)를 먼저 디스플레이하지 않으면서 디스플레이된다.
도 6n의 가상 아바타 인터페이스(643)는 상이한 아바타 프레임워크들(예를 들어, 상이한 외관들 및 거동을 갖는 아바타 캐릭터들)에 대응하는 아바타 템플릿 표현들(644-1 내지 644-7)을 포함한다. 각각의 아바타 템플릿은 검출된 얼굴 움직임들 및 표정들이 맵핑될 수 있는 아바타 프레임워크를 표현한다. 표시자(645)는 현재 선택된 아바타 템플릿에 대응한다. 가상 아바타 미리보기(646)는, 그것이 사용자의 현재 얼굴 움직임들 및 표정들을 반영하도록 업데이트된다는 점에서 가상 아바타의 "라이브(live)" 미리보기이다. 예를 들어, 일부 실시예들에서, 카메라(602)를 사용하여, 디바이스(600)는 카메라(602)로부터 이미지 데이터를 연속적으로 캡처한다. 캡처된 이미지 데이터는 가시광 데이터 및 깊이 데이터를 포함한다. 디바이스(600)는 캡처된 이미지 데이터를 분석하여 얼굴 움직임들(예를 들어, 근육 움직임들, 머리 배향들, 시선 방향 등) 및/또는 얼굴 표정들(예를 들어, 웃기, 찌푸림(frown), 화난 표정, 슬픈 표정, 혼란스러운 표정 등)을 식별한다. 이어서, 디바이스(600)는 가상 아바타 미리보기(646)와 현재 연관된 아바타 프레임워크의 파라미터들에 따라, 사용자의 검출된 특성들을 반영하도록 아바타 미리보기(646)를 업데이트한다. 일부 실시예들에서, 디바이스(600)는, 가상 아바타 인터페이스(643)가 먼저 실행되거나 디스플레이되고 있다는 것에 응답하여 자동으로 가상 아바타 미리보기(646)를 연속적으로 업데이트하는 것을 시작한다. 상이한 아바타 템플릿의 표현의 선택을 검출하는 것은 디바이스(600)로 하여금 새롭게 선택된 아바타 템플릿에 기초하여 가상 아바타 미리보기(646)를 업데이트하게 할 것이다.
도 6o는 가상 아바타 미리보기에 대한, 캡처된 이미지 데이터(650-1 내지 650-5) 내의 사용자의 얼굴 및 대응하는 업데이트들(651-1 내지 651-5)의 수 개의 예들을 도시한다. 이들은, 디바이스(600)가 사용자의 얼굴 움직임들, 표정들, 및 포즈들을 반영하도록 이모지 미리보기(646)를 업데이트하는 것의 예들이다. 캡처된 이미지 데이터(650-1)에서, 디바이스(600)는 사용자가 똑바로 보고 있고, 웃고 그리고/또는 행복하다는 것을 (예를 들어, 얼굴 특징부들, 근육들, 움직임들, 및/또는 표정들에 기초하여) 검출한다. 응답으로, 업데이트(651-1)에 도시된 바와 같이, 디바이스(600)는 가상 아바타 미리보기의 눈들을 똑바로 보이도록 업데이트하는 것에 부가하여, 사용자의 웃는 그리고/또는 행복한 표정을 반영하도록 가상 아바타 미리보기를 업데이트한다. 캡처된 이미지 데이터 내의 사용자의 검출된 물리적 특징부는 때때로, 가상 아바타가 사용자를 반영하도록 업데이트된 가상 아바타 내의 동일한 물리적 특징부이지만, 다른 경우들에서, 사용자의 물리적 특징부의 검출된 변화는 가상 아바타의 상이한 유형의 물리적 특징부의 업데이트를 초래한다. 예를 들어, 도 6o에서, 원숭이가 650-2 및 651-2에 의해 도시된 바와 같이 눈썹들을 갖지 않기 때문에, 사용자의 눈썹들의 변화들은 원숭이의 귀들(또는 다른 특징부)에 맵핑된다. 이러한 예에서, 사용자의 입 및 눈들은 원숭이 입 및 눈들에 맵핑된다. 이미지 데이터(650-3) 및 업데이트(651-3)의 예에서, 사용자의 행복하지 않은 표정 및/또는 찌푸림이 가상 아바타 미리보기의 대응하는 특징부들에서 반영된다. 일부 실시예들에서, 사용자가 이미지(650-3, 650-4)에 의해 도시된 바와 같이 얼굴 표정 또는 얼굴 포즈를 유지하면, 가상 아바타 미리보기는 업데이트(651-4)의 경우의 눈물들과 같은 부가적인 특징부들로 업데이트된다. 이러한 유형의 미리 정의된 업데이트는 또한 검출된 움직임의 결여에 응답하여 발생할 수 있다. 일부 실시예들에서, 업데이트들은 또한 이미지 데이터 내의 검출된 사용자 움직임에 기초한다. 예를 들어, 디바이스(600)가 사용자 머리의 회전을 검출하는 것은 가상 아바타 미리보기를 유사하게 회전시키는 업데이트를 초래한다. 일부 실시예들에서, 업데이트들은 또한 가상 아바타의 특징부들에 대한 물리 모델에 기초한다. 예를 들어, 이미지 데이터(650-5)에서, 디바이스(600)는 사용자의 머리가 흔들리는 것을 검출한다. 이에 응답하여, 디바이스(600)는 머리 흔들림을 반영하도록 업데이트(651-5)를 생성한다. 부가적으로, 업데이트(651-5)에서, 강아지의 귀들은 또한 강아지의 귀들에 적용된 물리 모델의 결과로서 튀어나온다.
도 6p에서, 디바이스(600)는 제스처(예를 들어, 접촉(653)에 의해 표현되는 탭 제스처)를 통한 레코드 버튼(652)의 선택을 검출한다. 응답으로, 가상 아바타 인터페이스(643)는 도 6q에 도시된 바와 같이, 애니메이션화된 가상 아바타가 생성되고 있다는 것을 나타내도록 업데이트된다. 예를 들어, 레코드 버튼(652)은 정지 버튼(654)으로 대체되고, 아바타 템플릿 표현들(644-1 내지 644-7)은 더 이상 디스플레이되지 않으며, 애니메이션화된 이모지가 얼마나 오래 레코딩되었는지 그리고 가상 아바타가 여전히 레코딩될 수 있는 상대적인 시간량을 표시하는 레코드 진행 표시자(656)가 디스플레이된다. 레코딩은 임의의 수의 방법들에 의해, 이를테면 미리 결정된 시간량(예를 들어, 15초)의 만료에 의해 또는 정지 버튼(654)의 선택에 의해 중지될 수 있다. 일부 실시예들에서, 레코딩 동안, 디바이스(600)는 애니메이션화된 가상 아바타를 생성하는 데 사용되는 일련의 데이터 포인트들을 검출 및/또는 저장하고 있다. 예를 들어, 일부 실시예들에서, 디바이스(600)는 (예를 들어, 가능한 값들의 범위의 값들로서(가능한 값들의 범위의 각각의 값은 미리 결정된 움직임 또는 표정에 대응함)) 얼굴 움직임들 및/또는 얼굴 표정들의 시계열을 레코딩하며, 이는 이어서, 애니메이션화된 가상 아바타를 생성하기 위해 아바타 템플릿 상에 맵핑된다. 대안적으로, 디바이스(600)가 사용자의 얼굴 움직임들 및/또는 표정들을 반영하도록 가상 아바타 미리보기를 업데이트할 때, 디바이스(600)는 가상 아바타 미리보기의 비디오 레코딩을 생성함으로써 애니메이션화된 가상 아바타를 레코딩한다. 일부 실시예들에서, 디바이스(600)는 또한, 레코딩된 애니메이션화된 가상 아바타가 가상 아바타의 레코딩된 애니메이션들과 함께 재생될 수 있는 사운드들을 포함하도록 디바이스(600)의 마이크로폰을 이용하여 캡처된 사운드를 레코딩한다.
도 6r은 애니메이션화된 가상 아바타의 레코딩 동안의 나중의 시점을 도시한다. 가상 아바타 미리보기(646)는 사용자로부터 새롭게 검출된 얼굴 움직임 및/또는 표정을 반영하도록 업데이트되었다. 표시자(656)는 또한 애니메이션화된 가상 아바타를 레코딩하는 데 있어서의 추가적인 진행을 반영하도록 업데이트되었다.
도 6ra는, 디바이스(600)가 아바타 레코딩 동안 사용자가 디바이스에 대해 그들의 위치를 변경했음을 검출하는 것을 도시한다. 구체적으로, 도 6ra에 대응하는 시점에서, 사용자 얼굴은 더 이상 카메라의 시야에 있지 않다. 이에 응답하여, 디바이스(600)는 아바타 인터페이스(643)의 에지(예를 들어, 사용자의 얼굴의 마지막으로 검출된 위치에 대응하는 에지)에서 가상 아바타를 디스플레이하고, 가상 아바타 주위에 프레이밍 코너들(653)을 디스플레이하며, 사용자에게 디바이스에 대한 그들의 정렬을 조정하도록 촉구하기 위해 메시지(655A)("당신의 얼굴을 뷰로 가져오십시요")를 디스플레이한다. 일부 실시예들에서, 가상 아바타의 레코딩은 사용자의 얼굴이 더 이상 카메라의 시야에서 검출되지 않는 이후에도 계속되지만, 사용자의 얼굴이 검출되지 않는 동안 가상 아바타는 정적으로 유지될 것이다(또는 미리 결정된 포즈(예를 들어, 중립 포즈)를 취한다).
도 6rb는, 사용자가 미리 결정된 임계 시간보다 긴 시간 동안 카메라의 시야 외부에서 유지된 이후의 디바이스(600)를 도시한다. 사용자가 미리 결정된 시간보다 긴 시간 동안 카메라의 시야 외부에서 유지되었다는 것을 검출하는 것에 응답하여, 디바이스(600)는 가상 아바타의 레코딩을 일시정지시킨다. 도 6rb에 도시된 바와 같이, 디바이스(600)는 레코딩의 일시정지에 따라 정지 버튼(654)을 레코드 버튼(648)으로 대체했다. 디바이스(600)는 또한, 레코딩이 일시정지되었다는 것을 사용자에게 표시하는 메시지(655B)("재개하기 위해 탭하세요")를 디스플레이한다. 도 6rc에 도시된 것과 같은 일부 실시예들에서, 사용자는, 도 6rd에 도시된 바와 같이 레코딩을 재개하는 레코드 버튼(648)을 탭핑하는 것을 포함하여 아바타 인터페이스(643) 내의 임의의 곳을 탭핑(예를 들어, 탭 제스처(657))함으로써 레코딩을 재개할 수 있다. 사용자가 미리 결정된 임계량의 시간보다 긴 시간 동안 카메라의 시야 외부에서 유지되었을 때 가상 아바타를 레코딩하는 것을 일시정지시키는 것 및 레코딩을 재개하기 위한 다른 입력을 요구하는 것은 에너지 사용량 및 깊이 카메라의 사용량을 감소시키며, 이는 배터리 전력으로 구동되는 디바이스의 배터리 수명을 연장시키고 깊이 카메라의 수명을 연장시킨다.
도 6s는 애니메이션화된 가상 아바타의 레코딩 동안의 더 나중의 시점을 도시한다. 가상 아바타 미리보기(646)는 사용자로부터 새롭게 검출된 얼굴 움직임 및/또는 표정을 반영하도록 추가로 업데이트되었다. 표시자(656)는 또한 애니메이션화된 가상 아바타를 레코딩하는 데 있어서의 추가적인 진행을 반영하도록 업데이트되었다.
도 6s에서, 애니메이션화된 가상 아바타의 레코딩이 정지되도록 요청하는 제스처(예를 들어, 접촉(658)에 의해 표현되는 탭 제스처)가 수신된다. 이에 응답하여, 도 6t에 도시된 바와 같이, 디바이스(600)는 애니메이션화된 가상 아바타를 레코딩하는 것을 중지하고, 가상 아바타 인터페이스를 업데이트한다. 다른 경우들에서, 도 6t에 도시된 바와 같이, 디바이스(600)는 미리 결정된 시간 기간(예를 들어, 15초)의 만료에 응답하여, 애니메이션화된 가상 아바타를 레코딩하는 것을 중지하고, 가상 아바타 인터페이스를 업데이트한다.
도 6sa 내지 도 6sc는 가상 아바타를 레코딩(예를 들어, 생성)하는 동안의 가상 아바타 인터페이스(643)의 다른 실시예를 도시한다. 도 6sa에 도시된 바와 같이, 디바이스(600)는 현재 아바타 레코딩 세션(예를 들어, 레코드 버튼(648)을 활성화시킴으로써 개시되는 세션)에서 남아있는 시간을 표시하는 타이머(659)(예를 들어, 10초가 남아있는 것으로 나타냄)를 디스플레이한다. 도 6sb에서, 동일한 레코딩 세션이 4초 동안 진행되었으며, 타이머(659)는 이제 아바타 레코딩 세션에서 6초가 남아있다는 것을 나타낸다. 도 6sc에서, 레코딩 세션은 종료되었다(즉, 도 6sc는 도 6sa보다 10초 이후의 시점임). 레코딩 세션 종료에 응답하여, 디바이스(600)는 완료된 레코딩 세션을 폐기하도록 (예를 들어, 탭 제스처에 의해) 활성화될 수 있는 휴지통 어포던스(660-1)로 타이머(659)를 대체한다. 일부 실시예들에서, 휴지통 어포던스(660-1)는 6t 및 6u 내지 6ua의 폐기 어포던스(660)와 유사하게 기능한다.
도 6t에서, 가상 아바타 인터페이스(643)는 이제, 애니메이션화된 가상 아바타(659)의 재생의 3개의 스냅샷들에 의해 도시된 바와 같이 가상 아바타 미리보기를 디스플레이하는 대신에, 레코딩된 애니메이션화된 가상 아바타(659)를 재생한다. 일부 실시예들에서, 레코딩된 애니메이션화된 가상 아바타는 루프에서 재생된다(예를 들어, 그것은 도 6t에서 화살표들에 의해 표시된 바와 같이 사용자 입력 없이 적어도 2회 재생된다). 가상 아바타 인터페이스(643)는 또한 폐기 버튼(660), 음소거 버튼(662), 및 확인 버튼(664)(레코드 버튼(652) 대신에 디스플레이됨)을 포함한다. 폐기 버튼(660)은, 디스플레이된 레코딩된 애니메이션화된 가상 아바타를 저장하고 그것을 원격 사용자에게 전송하지 않으면서, 디스플레이된 레코딩된 애니메이션화된 가상 아바타를 폐기한다. 음소거 버튼(662)은 사용자가 레코딩된 애니메이션화된 가상 아바타로부터의 사운드의 재생을 음소거하게 허용한다. 확인 버튼(664)은 레코딩된 애니메이션화된 가상 아바타가 원격 사용자에게 전송되게 허용한다(예를 들어, 확인 버튼(664)의 활성화에 응답하여 메시지 영역(609)에서 디스플레이된 통신과 연관된 하나 이상의 사용자들에게 직접 전송하거나 또는 사용자가 메시지를 전송하기 전에 메시지 작성 영역(612)으로 이동된다). 디바이스(600)가 확인 버튼(664)의 선택을 검출한 이후, 가상 아바타 인터페이스(643)는 도 6n에 대해 설명된 상태로 복귀하도록 업데이트된다. 일부 실시예들에서, 확인 버튼(664)은, 레코딩된 애니메이션화된 가상 아바타가 확인 버튼(664)을 선택함으로써 원격 사용자에게 전송될 수 있다는 것을 표시하기 위해 메시지 작성 구역에 있는 메시지들을 전송하기 위한 전송 버튼에 디스플레이되는 전송 글리프 또는 아이콘(예를 들어, 도 6v의 670)과 유사하거나 동일한 글리프 또는 아이콘을 포함한다.
현재 선택된 템플릿과 상이한 아바타 템플릿의 표현 상의 탭 제스처(665)에 응답하여, 애니메이션화된 가상 아바타(659)가 재생되고 있는 동안, 애니메이션화된 가상 아바타는 애니메이션화된 가상 아바타를 재레코딩할 필요 없이 새로운 아바타 템플릿을 반영하도록 업데이트된다. 이것은, 애니메이션화된 가상 아바타(659)가 애니메이션화된 가상 아바타(666)에 의해 대체되었다는 것을 도시하는 도 6u에 도시되어 있다. 도 6t에서 애니메이션화된 가상 아바타(659)를 생성하기 위해 사용되는 레코딩된 얼굴 근육들, 움직임들, 특징부들, 및 표현들은 도 6u의 새롭게 선택된 아바타 템플릿에 재적용된다.
도 6ua에서, 애니메이션화된 아바타(666)가 재생되고 있는 동안, 디바이스(600)는 폐기 어포던스(660)의 선택에 대응하는 탭 제스처(661)를 검출한다. 이에 응답하여, 디바이스(600)는 캡처된 애니메이션화된 아바타 데이터를 폐기하고(예를 들어, 메시지 작성 영역(612)에 애니메이션화된 아바타를 부가하는 것을 보류하고), 도 6ub의 인터페이스로 전환한다. 도 6ub에서, 디바이스(600)는 도 6p에서 보여지는 것과 유사한(예를 들어, 레코드 버튼을 포함하는) 사전-레코딩 아바타 인터페이스(643)를 디스플레이한다. 도 6p와는 대조적으로, 아바타 템플릿은, 원숭이 가상 아바타(659)로 복귀하기보다는 로봇(예를 들어, 가상 아바타(666))의 아바타 템플릿을 유지한다. 즉, 도 6t 및 도 6u에 도시된 재생 동안 아바타(659)로부터 아바타(666)로의 변화의 검출이 보존된다.
도 6t를 다시 참조하면, 제스처(예를 들어, 접촉(667)에 의해 표현되는 탭 제스처)에 응답하여, 디바이스(600)는 레코딩된 애니메이션화된 가상 아바타(668)를 메시지 작성 영역(612)에 부가하고(도 6v 참조), 가상 아바타 인터페이스(643)를 도 6n에 설명된 상태로 복귀시킨다(도 6v 참조). 이어서, 사용자는 (예를 들어, 도 6w에 도시된 바와 같이, 전송 어포던스(670) 상의 접촉(672)에 의해 표현되는 탭 제스처에 응답하여) 디바이스(600)가 메시지를 전송하기 전에 더 많은 메시지 콘텐츠(예를 들어, 텍스트 또는 다른 멀티미디어 항목들)를 메시지에 부가할 수 있다(도 6v 참조). 대안적으로, 디바이스(600)가 확인 버튼(664)의 선택을 검출할 시에, 디바이스(600)는 메시지 영역(609)에서 디스플레이된 통신과 연관된 하나 이상의 원격 사용자들에게 레코딩된 애니메이션화된 가상 아바타를 전송하며, 메시지 영역(609)은 이어서, 도 6x에 도시된 바와 같이, 애니메이션화된 가상 아바타(668)가 메시지 영역(609)에 포함된 통신과 연관된 하나 이상의 사용자들에게 전송되었다는 것을 반영하도록 업데이트된다.
도 6y 내지 도 6bb는 아바타 템플릿들의 리스트를 스크롤링하는 사용자 입력에 대한 가상 아바타 인터페이스(643)의 응답을 도시한다. 스와이프 제스처들(예를 들어, 도 6y 내지 도 6aa에 도시된 바와 같이, 아바타 템플릿들을 수직으로 가로지른 접촉(676)의 움직임에 의한 표현)에 응답하여, 디바이스(600)는 아바타 템플릿을 스크롤링하고, 어느 아바타 템플릿이 현재 선택되는지를 변화시킨다. 아바타 템플릿 표시자(645) 내에 존재하는 아바타 템플릿은 스와이프 제스처에 기초하여 업데이트된다. 새로운 아바타 템플릿들이 선택되었다는 것을 검출하는 것에 응답하여, 디바이스(600)는 가상 아바타 미리보기를 업데이트한다. 예를 들어, 도 6z에서, 디바이스(600)가 아바타 템플릿 표현(644-5)의 선택을 검출할 때, (표현(644-5)에 대응하는 아바타 템플릿에 기초하는) 가상 아바타 미리보기(678)가 디스플레이되고, 도 6aa에서, 아바타 템플릿 표현(644-8)이 선택될 때, (표현(644-8)에 대응하는 아바타 템플릿에 기초하는) 가상 아바타 미리보기(680)가 디스플레이된다.
애니메이션화된 인형 이모지의 레코딩을 생성하는 것에 부가하여, 이모지 인터페이스(643)는 또한 정적 가상 아바타들(예를 들어, 가상 아바타의 상태에 기초하여 결정되는 표정/외관을 갖는 스티커들)을 생성하는 것을 허용한다. 예를 들어, 도 6cc에서, 가상 아바타 미리보기(680) 상의 사용자 입력(예를 들어, 접촉(682)에 의해 표현되는 탭 앤드 홀드(tap and hold) 제스처)에 응답하여, 디바이스(600)는 사용자 입력과 연관된 시간(예를 들어, 입력이 수신되었을 때, 입력이 종료되었을 때, 또는 사용자 입력과 연관된 일부 다른 시간)에 가상 아바타 미리보기(680)의 상태에 대응하는 스티커를 생성한다. 실시예들에서, 디바이스(600)는, 스티커가 생성되었고 그리고/또는 사용자가 스티커를 배치할 수 있다는 것을 표시하기 위해 스티커(683)(도 6dd 및 도 6ee)가 가상 아바타 미리보기(680)로부터 떨어지는 것을 디스플레이한다.
디바이스(600)가 스티커를 생성한 이후, 사용자는 선택적으로 스티커에 대한 수 개의 동작들로부터 선택한다. 예를 들어, 사용자는 디바이스(600)로 하여금, 나중의 사용을 위해 허용되는 최근 메뉴 또는 다른 유사한 인터페이스에 스티커를 배치하게 할 수 있다. 사용자는 또한 디바이스(600)로 하여금, 디바이스(600)가 스티커를 포함하는 메시지를 전송하기 전에 메시지 작성 영역(612)에 스티커를 배치하게 할 수 있고, (그리고 선택적으로는) 사용자는, 디바이스(600)로 하여금 메시지 영역(609) 내의 통신에 참여하는 하나 이상의 사용자들에게 스티커를 전송하게 하기 위해 특정 메시지 상의 메시지 영역(609)에 스티커를 배치할 수 있다.
예를 들어, 도 6ff에서, 디바이스(600)는 접촉이 여전히 가상 아바타 미리보기(680) 위에 있는 동안 접촉(682)의 들어올림을 검출했다. 이에 응답하여, 디바이스(600)는 디바이스(600)에, 이를테면 최근 항목 메뉴(629)(도 6i)에 의해 액세스가능한 디바이스(600)의 메모리 내의 데이터베이스 또는 라이브러리에 생성된 스티커를 저장하여, 스티커가 선택적으로 최근 항목 메뉴(629)를 통해 또는 디바이스(600) 상의 다른 인터페이스들을 통해 선택가능하게 한다. 디바이스(600)는 선택적으로, 도 6ff 및 도 6gg에 도시된 바와 같이, 메뉴 선택 버튼(632)을 향해 이동되는 상이한 그래픽 버전들(684, 686)을 갖는 애니메이션을 통해 스티커가 로컬로 저장되고 있다는 것을 나타낸다.
다른 예로서, 도 6hh 내지 도 6kk는 디바이스(600)가 메시지 영역(609)에서 표현된 통신에 참여하는 하나 이상의 사용자들에게 생성된 스티커를 전송하는 것의 일 예를 도시한다. 도 6ii에서, 디바이스(600)는 가상 아바타 미리보기(680) 상에서 사용자 입력(예를 들어, 가상 아바타 미리보기(680) 상에서 시작되는 도 6hh 내지 도 6jj의 접촉에 의해 표현되는 탭 앤 드래그 제스처)을 검출한다. 스티커 표현(690)은, 사용자가 스티커 표현을 메시지 영역(609) 내로 드래깅하는 것을 디바이스(600)가 검출할 때 접촉(688)을 따른다. 일단 디바이스(600)가 메시지 영역(609) 내의 접촉(688)의 들어올림을 검출하면, 디바이스(600)는 도 6kk에 도시된 바와 같이, 메시지 영역(609)에서 표현되는 통신의 참여자들인 하나 이상의 원격 사용자들에게 스티커(691)를 전송한다.
도 6ll에서, (예를 들어, 도 6ll의 접촉(692)에 의해 표현되는 탭 제스처를 통한) 풀-스크린 버튼(634)의 선택에 응답하여, 디바이스(600)는 스크린의 더 많은 부분을(또는 풀-스크린 모드로) 디스플레이하도록 가상 아바타 인터페이스(643)를 업데이트한다. 도 6mm은, 가상 아바타 인터페이스(643)가 디스플레이(601)의 더 많은 부분을 사용하도록 확대된 이후의 가상 아바타 인터페이스(643)를 도시한다. 버튼(692)은, 선택될 때, 디바이스(600)로 하여금 가상 아바타 인터페이스(643)를 그의 이전 구성으로 복귀시키게 한다.
도 7a 내지 도 7j는 원격 사용자로부터 애니메이션화된 이모지를 수신한 이후의 메시징 인터페이스(608)를 도시한다. 도 7a 내지 도 7j가 일 예로서 도 6a 내지 도 6mm의 디바이스(600)를 사용하지만, 도 7a 내지 도 7j에 도시된 사용자 인터페이스들 및 기능은 또한, 스티커 또는 애니메이션화된 가상 아바타를 이전에 전송하지 않았던 것들을 포함하는 다른 디바이스들(예를 들어, 디바이스들(100, 300, 또는 500)에 적용된다.
도 7a는 애니메이션화된 가상 아바타를 재생하기 직전에, "존"이라고 불리는(그리고 이니셜들 또는 모노그램 "JA"를 갖는) 원격 사용자로부터 애니메이션화된 가상 아바타(700)를 수신한 이후의 메시지 인터페이스(608)를 도시한다. 그것을 수신한 이후, 디바이스(600)는 일부 실시예들에서 애니메이션화된 가상 아바타(700)를 자동으로 재생한다. 음소거 버튼(702)은, 선택될 때, 디바이스(600)로 하여금 애니메이션화된 가상 아바타(700)와 연관된 임의의 사운드를 음소거하게 한다. 일부 실시예들에서, 애니메이션된 가상 아바타가 디스플레이 밖으로 스크롤링되면 임의의 사운드가 또한 음소거된다. 일부 실시예들에서, 가상 아바타 인터페이스(643)는 도 6a 내지 도 6mm에 대해 설명된 바와 같이 디스플레이된다(예를 들어, 가상 아바타 인터페이스(643)는 검출된 얼굴 움직임들/표정들 및 선택된 아바타 템플릿에 기초한 미리보기 가상 아바타를 포함한다).
도 7b에서, 애니메이션화된 가상 아바타(700)가 1회 재생(예를 들어, 시작부터 끝까지 1회 재생)되는 것에 응답하여, 애니메이션화된 가상 아바타(700)의 정지 프레임(703)이 애니메이션화된 가상 아바타(700) 대신 디스플레이된다. 재생 버튼(704)은 또한 메시지 영역(609)에서 디스플레이되며, 예를 들어 도 7c의 접촉(706)에 의해 표현되는 탭 특징부에 의해, 애니메이션화된 가상 아바타(700)가 다시 재생되게 허용한다. 도 7d는, 디바이스(600)가 애니메이션화된 가상 아바타(700)를 다시 재생하는 것을 도시한다(애니메이션화된 이모지를 재생하는 것은 도 7a에 대해 설명된다).
일부 실시예들에서, 애니메이션화된 가상 아바타(700)가 재생되고 있는 동안, 디바이스(600)가 음소거 버튼(702) 상의 사용자 입력(예를 들어, 도 7e의 접촉(708)에 의해 표현되는 탭 제스처)을 수신하면, 디바이스(600)는, 애니메이션화된 가상 아바타(700)를 계속 재생하면서, 애니메이션화된 가상 아바타(700)와 연관된 임의의 사운드를 재생하는 것을 중지한다(예를 들어, 애니메이션화된 가상 아바타(700)는 여전히 사운드 없이 움직인다). 일부 실시예들에서, 도 7h에 도시된 바와 같이, 음소거 버튼(702)의 선택에 응답하여(또는 사운드가 디바이스(600) 상에서 턴 오프되거나 디바이스(600)가 인에이블된 접근성 특징들을 가지면) 트랜스크립트(transcript) 버튼(714)이 디스플레이된다. 도 7h에 도시된 바와 같이, (예를 들어, 도 7g의 접촉(716)에 의해 표현되는 탭 제스처를 통한) 트랜스크립트 버튼(714)의 선택에 응답하여, 애니메이션화된 가상 아바타(700)에 대한 사운드의 트랜스크립트(718)가 디스플레이된다. 트랜스크립트(718)의 콘텐츠는 디바이스(600)에 대해 로컬로 또는 원격으로(예를 들어, 원격 서버 컴퓨팅 리소스들을 사용하여) 생성된다.
도 7j에 도시된 바와 같이, 애니메이션화된 가상 아바타(700) 상의 사용자 입력(예를 들어, 도 7i의 접촉(720)에 의해 표현되는 탭 앤드 홀드 제스처)에 응답하여, 디바이스(600)는 애니메이션화된 가상 아바타(700)에 관련된 옵션들의 메뉴를 디스플레이한다. 예를 들어, 메뉴(722)는, 디바이스(600)가 메시지 영역(609)에서 표현되는 통신에 참여하는 하나 이상의 원격 사용자들에게 전송할 수 있는 수 개의 응답 버튼들(723-1 내지 723-6)을 포함한다. 부가적으로, 복사 버튼(726), 저장 버튼(728), 및 더 많은 버튼(730)을 갖는 메뉴(724)가 또한 디스플레이된다. 복사 버튼(726)은 애니메이션화된 가상 아바타(700)를 디바이스(600)의 클립보드에 복사한다. 저장 버튼(728)은 애니메이션화된 가상 아바타(700)를 디바이스(600)에(예를 들어, 디바이스(600) 상에 설치된 애플리케이션들에 의해 나중에 액세스될 수 있는 데이터베이스 또는 라이브러리에) 저장한다. 더 많은 버튼(730)은 애니메이션화된 가상 아바타(700)에 대해 수행될 수 있는 부가적인 동작들을 디스플레이한다.
도 8a 및 도 8b는 일부 실시예들에 따른, 전자 디바이스를 사용하기 위한 방법(800)을 예시하는 흐름도이다. 방법(800)은 디스플레이 및 카메라를 갖는 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(800)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서는 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(800)은 가상 아바타들과 같은 이모지들을 생성 및 전송하기 위한 직관적인 방식을 제공한다. 방법은 이모지들을 생성 및 전송하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 이모지들을 더 빠르고 더 효율적으로 생성 및 전송할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다.
(예를 들어, 가시광, IR 광, 깊이 데이터 등을 표현하는 데이터를 캡처하기 위해 하나 이상의 센서들로 구성되는) 카메라(예를 들어, 602) 및 디스플레이(예를 들어, 601)를 갖는 전자 디바이스(예를 들어, 600)는 (예를 들어, 이모지들(애니메이션화된 또는 정적)을 선택하고, 정적 스티커들을 생성하고, 그리고/또는 애니메이션화된 가상 아바타들을 레코딩하기 위한) 가상 아바타 생성 인터페이스(예를 들어, 도 6n의 643)를 디스플레이한다(802). 전자 디바이스는 가상 아바타 생성 인터페이스(예를 들어, 다수의 상이한 이용가능한 가상 아바타 템플릿들로부터 선택되는 애니메이션화된 가상 아바타)에서 가상 아바타의 미리보기(예를 들어, 도 6n의 646)(예를 들어, 일부 경우들에서, 감정 또는 반응과 같은 비언어적 메시지를 전달하도록 의도되는 2D 또는 3D 컴퓨터 생성 그래픽 객체)를 디스플레이한다(804). 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응한다(예를 들어, 도 6o)(예를 들어, 애니메이션화된 가상 아바타는 카메라 내의 하나 이상의 이미지 센서들로부터의 이미지 데이터에서 검출된 바와 같은 사용자의 머리 움직임들, 얼굴 표정들, 및 배향을 반영할 것이다). 가상 아바타의 미리보기를 디스플레이하는 동안, 전자 디바이스는 가상 아바타 생성 인터페이스에서 입력(예를 들어, 접촉(652, 682, 또는 690))을 검출한다(806). 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여(808) 그리고 입력(예를 들어, 682 또는 690)(예를 들어, 애니메이션화된 가상 아바타 상의 터치 및 유지 입력 또는 커서를 제어하는 트랙패드 입력)이 가상 아바타의 미리보기 상에서 시작한다는 결정에 따라, 전자 디바이스는 개개의 시간에 카메라의 시야에서의 얼굴의 표정을 표현하는 정적 가상 아바타의 스티커(예를 들어, 683 또는 691)(예를 들어, 메시지 영역 내의 특정 위치에 "붙여질 수 있는" 애니메이션화된 이모지의 정지 이미지)를 생성한다(810). 일부 실시예들에서, 개개의 시간은 입력의 타이밍에 기초하여(예를 들어, 입력이 처음 수신되었던 시간에, 입력이 종료되었던 시간에, 입력에 대응하는 제스처가 터치 감응형 표면을 가로지르는 이동을 시작했던 시간에, 또는 입력에 관련된 임의의 다른 시간에) 결정된다. 입력이 가상 아바타 생성 인터페이스에서의 레코드 어포던스(예를 들어, 648)의 활성화(예를 들어, 레코드 어포던스 상의 탭)를 포함한다는 결정에 따라, 전자 디바이스는 (예를 들어, 도 6q 내지 도 6s에 도시된 바와 같이) 일정 시간 기간에 걸친 카메라의 시야에서의 얼굴의 표정의 변화들의 시퀀스들을 표현하는 애니메이션화된 가상 아바타(예를 들어, 668)를 생성한다(812). 일부 실시예들에서, 시간 기간은 입력의 타이밍(예를 들어, 입력의 시작이 검출될 때, 입력의 종료가 검출될 때, 입력의 일부 종류의 움직임(이를테면 입력이 터치 감응형 표면 상의 제스처일 경우)이 검출될 때 시작하는 시간 기간, 또는 입력에 기초한 일부 다른 시간 기간)에 기초하여 결정된다. 일부 실시예들에서, 가상 아바타는 3차원이다. 일부 실시예들에서, 가상 아바타의 미리보기(예를 들어, 646) 또는 애니메이션화된 가상 아바타(예를 들어, 659)는 3D로 디스플레이된다. 2개의 가능한 통신 스타일들(예를 들어, 애니메이션화된 가상 아바타들과 정적 가상 아바타들) 사이의 사용자 입력을 명확하게 하는 것은 각각의 유형의 메시지 콘텐츠를 생성하기 위한 별개의 인터페이스들에 대한 필요성을 회피한다. 원하는 메시지를 통신하는 데 필요한 입력들의 수를 감소시키는 것은, (예를 들어, 단일 인터페이스로부터의 다수의 유형들의 멀티미디어 통신을 허용함으로써 사용자가 의도된 통신을 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는 메시지 영역(예를 들어, 609)을 포함하는 메시징 인터페이스(예를 들어, 인터페이스(608))(예를 들어, 애플의 메시지와 같은 메시징 애플리케이션)를 디스플레이한다(814). 메시지 영역은 통신(예를 들어, 도 6n의 메시지 영역(609) 내의 통신)(예를 들어, 메시징 스레드)의 2개 이상의 참여자들(예를 들어, 도 6c에서, 원격 사용자 "존" 및 디바이스(600)의 사용자)로부터의 메시지들(예를 들어, 610-1 내지 610-4)(예를 들어, 전자 디바이스의 사용자로부터 전송된 메시지 및 상이한 전자 디바이스의 원격 사용자로부터 수신된 메시지)을 포함한다. 가상 아바타 생성 인터페이스는 메시징 인터페이스(예를 들어, 도 6n)와 동시에 디스플레이된다(예를 들어, 가상 아바타 생성 인터페이스는 메시징 인터페이스의 하반부(bottom half)에 디스플레이된다). 일부 실시예들에서, 가상 아바타의 미리보기(예를 들어, 646)는 가상 아바타 생성 인터페이스의 초기 디스플레이의 일부로서 자동으로 디스플레이된다.
일부 실시예들에서, 메시징 인터페이스는 메시지 작성 영역(예를 들어, 612)(예를 들어, 메시지를 수신자에게 전송하기 전에 텍스트, 이모지들, 및 다른 콘텐츠를 입력하기 위한 메시지 입력 영역)을 포함하고, 입력은 가상 아바타의 미리보기(예를 들어, 646) 상의 탭이다. 전자 디바이스는, 가상 아바타 생성 인터페이스에서 입력을 검출하는 것에 응답하여, 메시지 작성 영역에 정적 가상 아바타(예를 들어, 683 또는 691)를 디스플레이한다. 일부 실시예들에서, 가상 아바타 생성 인터페이스를 디스플레이하는 것은 메시징 인터페이스의 가상 키보드(예를 들어, 622)의 디스플레이를 가상 아바타 생성 인터페이스의 디스플레이로 대체하는 것(예를 들어, 중간 도면들 없이 도 6h로부터 도 6n으로의 전환)을 포함한다. 메시지를 전송하기 전에 메시지의 멀티미디어 콘텐츠를 디스플레이하는 것은 잘못된 메시지의 가능성을 감소시키고, 메시지를 전송하기 전에 사용자가 (예를 들어, 텍스트 또는 다른 콘텐츠를 통해) 더 많은 콘텐츠를 부가하게 허용한다. 원하는 메시지를 통신하는 데 필요한 메시지들의 수를 감소시키는 것은, (예를 들어, 통신을 위해 필요한 메시지들의 수를 감소시키면서 사용자가 의도된 통신을 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 아바타 생성 인터페이스는 하나 이상의 이전에 생성된 가상 아바타들(예를 들어, 630-1 내지 630-4)의 집합을 포함하는 정적 가상 아바타 영역(예를 들어, 629)(예를 들어, 아바타 생성 인터페이스의 하단에 디스플레이된 이전에 생성된 스티커들의 트레이)을 포함한다. 사용자 입력(예를 들어, 도 6cc의 682)에 응답하여, 전자 디바이스는 (예를 들어, 가상 아바타들의 집합으로의 포함을 위해, 아바타를 전송하거나, 가상 아바타를 선호하는 것으로 만들거나 또는 그렇지 않으면 마킹하여) 생성된 가상 아바타를 하나 이상의 이전에 생성된 가상 아바타들에 부가한다(612). 일부 실시예들에서, 가상 아바타들(예를 들어, 스티커들)의 집합은 사용자 입력(예를 들어, 626)(예를 들어, 아바타 생성 사용자 인터페이스 또는 메시징 사용자 인터페이스에서의 가상 아바타 집합 어포던스의 선택)(예를 들어, 새롭게 생성된 스티커의 소형 버전을 트레이에 포함함)에 응답하여 디스플레이된다. 일부 실시예들에서, 입력(예를 들어, 입력(626))이 트레이의 디스플레이를 요청하는 사용자로부터 수신될 때까지 또는 전자 디바이스 상에서 검출된 일부 다른 이벤트가, 트레이가 메시지 인터페이스 또는 아바타 생성 인터페이스의 현재 상태와 가급적 관련있다는 것을 표시할 때까지, 이전에 생성된 스티커들의 트레이가 숨겨진다. 일부 실시예들에서, 가상 아바타를 가상 아바타들의 집합에 부가한 이후, 전자 디바이스는 가상 아바타들의 집합을 제2 사용자와 공유하기 위한 요청을 사용자로부터 수신하고, 이에 응답하여, 전자 디바이스는 가상 아바타들의 집합을 제2 사용자에게 전송한다. 이전에 전송된 메시지 멀티미디어 콘텐츠를 유지하는 것은, 사용자가 새로운 메시지들에 적용가능할 때 이전의 콘텐츠를 부가 및 재사용하게 허용한다. 콘텐츠를 재생성하기 위한 필요성을 제거하는 것은 (예를 들어, 콘텐츠의 반복적인 생성을 제거함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 입력은 가상 아바타의 미리보기(예를 들어, 680) 상에서 시작하고, 메시지 영역 내의 위치에서 종료된다(816)(예를 들어, 도 6hh 내지 도 6kk 참조)(예를 들어, 가상 아바타의 미리보기(예를 들어, 680)와 접촉하는 손가락으로 시작하는 제스처는 메시지 영역으로 드래깅하는 손가락으로 계속되고, 메시지 영역에서의 손가락의 들어올림으로 종료된다(일부 경우들에서, 제스처는 메시지 영역 내의 특정 메시지 상에서 종료될 수 있고, 스티커는 그 특정 메시지와 연관되고, 선택적으로, 그 메시지가 대화 내로 이동함에 따라 이동한다)). 전자 디바이스는 통신과 연관된 참여자(예를 들어, 하나 이상의 원격 사용자들)에게 정적 가상 아바타(예를 들어, 691)를 전송한다(818)(예를 들어, 도 6kk). 일부 실시예들에서, 정적 가상 아바타가 가상 아바타의 미리보기로부터 떨어지는 것을 나타내는 제스처에 응답하여 애니메이션이 디스플레이된다(도 6cc 내지 도 6ff).
일부 실시예들에서, 정적 가상 아바타(예를 들어, 691)는, 가상 아바타의 미리보기(예를 들어, 680) 상에서 입력(예를 들어, 688)이 검출되었던 시간에서의 카메라의 시야에서의 얼굴의 표정에 기초하여 결정되는 외관을 갖는다. 일부 실시예들에서, 전자 디바이스는, 가상 아바타의 미리보기 상에서 입력의 시작을 검출하는 것에 응답하여, 가상 아바타의 미리보기로 하여금 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응하게 한다(820). 이는, 스티커가 생성되었다는 것을 사용자에게 표시하며, 스티커가 그것을 사용자에게 전송함으로써 메시지 영역(609)에서 디스플레이된 통신으로 드래깅되면 전송될 스티커의 외관을 사용자에게 미리보여준다. 이는, 사용자가 결과적인 스티커를 보기 전에 부가적인 상호작용들을 수행할 필요가 없거나 또는 완전한 스티커 생성 제스처를 완료하지 않으면서 생성될 스티커의 미리보기를 나타냄으로써 디바이스의 작동성을 향상시키며, 이는 개선되고 더 효율적인 인간-기계 인터페이스를 만든다. 이는, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 가상 아바타의 미리보기(예를 들어, 680)는, 입력이 가상 아바타로부터 멀어지게 이동된 이후 변화들에 반응하는 것을 재개한다(예를 들어, 애니메이션은 정적 아바타가 메시지 대화를 향해 드래깅될 때 재개된다). 일부 실시예들에서, 가상 아바타의 미리보기(예를 들어, 680)는, 정적 아바타를 드래깅하고 있는 입력이 종료될 때까지 얼굴의 외관의 변화들에 반응하는 것을 중단한다. 가상 아바타 미리보기에 대한 업데이트들를 재개하는 것은, 사용자가 생성되었던 스티커의 외관을 잠재적으로 상이한/부가적인 스티커에 대한 기초일 수 있는 가상 아바타의 다른 가능한 외관들과 비교할 수 있게 한다. 이는, (예를 들어, 사용자가 생성된 콘텐츠를 전송하기 전에 생성될 수 있는 다른 콘텐츠에 관한 피드백을 제공함으로써 사용자가 원하는 결과를 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 애니메이션화된 가상 아바타를 생성하기 위한 시간 기간의 만료(예를 들어, 5, 10, 또는 15초 동안의 타이머의 만료 또는 시간 기간을 정지시키는 사용자 입력)에 응답하여, 레코드 어포던스 대신에 전송 또는 확인 어포던스(예를 들어, 664)를 디스플레이한다(예를 들어, 가상 레코드 버튼은 더 이상 디스플레이되지 않고, 대신 가상 전송 버튼이 가상 레코드 버튼 대신에 디스플레이된다). 전자 디바이스는, 전송 또는 확인 어포던스를 선택하는 입력(예를 들어, 터치 감응형 디스플레이 상에서의 전송 어포던스 상의 탭 제스처)을 수신하는 것에 응답하여, 생성된 애니메이션화된 가상 아바타를 원격 사용자에게 전송한다(824)(예를 들어, 도 6v 및 도 6w에 도시된 바와 같이, 애니메이션화된 가상 아바타를 메시지 작성 영역(612)에 먼저 전송하지 않는 도 6u 및 도 6x 참조)(예를 들어, 애니메이션화된 가상 아바타가 메시지 작성 영역과 같은 메시징 인터페이스의 다른 영역 내에 먼저 배치되지 않으면서, 애니메이션화된 가상 아바타는 메시징 스레드 또는 세션과 연관된 원격 사용자에게 전송된다). 애니메이션화된 가상 아바타의 레코딩이 완료된 이후 레코드 버튼 대신에 전송 또는 확인 버튼을 디스플레이하는 것은, 인터페이스의 현재 상태에 적용가능하지 않은 버튼들에 대해 점유된 영역들을 재사용함으로써 그리고 더 상황적으로 관련있는 기능을 사용자에게 제공함으로써 더 많은 정보가 인터페이스에서 디스플레이될 수 있게 한다. 이는, (예를 들어, 미사용된 요소들로 디스플레이를 어지럽히지 않으면서 디스플레이 상에 더 많은 정보/옵션들을 디스플레이함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 애니메이션화된 가상 아바타를 생성하기 위한 시간 기간의 만료에 응답하여, 레코드 어포던스 대신에 확인 어포던스(예를 들어, 664)를 디스플레이한다(822). (예를 들어, 접촉(667)을 통해) 확인 어포던스를 선택하는 입력(예를 들어, 터치 감응형 디스플레이 상에서의 확인 어포던스 상의 탭 제스처)을 수신하는 것에 응답하여, 전자 디바이스는 메시징 인터페이스의 메시지 작성 영역(예를 들어, 612)(예를 들어, 도 6v)(예를 들어, 키보드 상에서 타이핑된 텍스트를 디스플레이할 메시징 인터페이스의 구역)에서 애니메이션화된 가상 아바타의 표현(예를 들어, 정적 그래픽 요소 또는 애니메이션화된 가상 아바타)을 디스플레이한다. 일부 실시예들에서, 시간 기간은 (예를 들어, 진행 표시자(656)에 의해 표현되는) 미리 결정된 시간량에 기초한다. 전자 디바이스는, 애니메이션화된 가상 아바타를 생성한 이후, 가상 아바타의 미리보기를 디스플레이하는 것을 중단하고, 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이한다(예를 들어, 도 6t). 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이는 (예를 들어, 방법(900)에 대해 아래에서 설명되는 바와 같이) 애니메이션 시퀀스를 2회 이상 디스플레이하는 것을 포함한다. 애니메이션화된 가상 아바타의 레코딩이 완료된 이후 레코드 버튼 대신에 전송 또는 확인 버튼을 디스플레이하는 것은, 인터페이스의 현재 상태에 적용가능하지 않은(또는 덜 적용가능한) 버튼들에 대해 점유된 영역들을 재사용함으로써 더 많은 정보가 인터페이스에서 디스플레이될 수 있게 한다. 이는, (예를 들어, 미사용된 요소들로 디스플레이를 어지럽히지 않으면서 디스플레이 상에 더 많은 정보/옵션들을 디스플레이함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 애니메이션화된 가상 아바타의 루핑 버전은 (예를 들어, 요소(644-4), 또는 도 6n의 표시자(645)에 의해 표시된 다른 요소에 의해 표현되는) 제1 가상 아바타 템플릿을 사용하여 디스플레이된다. 전자 디바이스는, 제2 가상 아바타 템플릿(예를 들어, 도 6z의 요소(644-8))의 표현을 포함하는 복수의 다른 가상 아바타 템플릿(예를 들어, 요소들(644-1 내지 644-7))의 표현들(예를 들어, 웃는 얼굴들, 동물들, 로봇들, 또는 다른 물체들과 같은 상이한 가상 아바타 템플릿들의 소형의 일반적인 버전들)을 디스플레이하며, 여기서 제2 가상 아바타 템플릿은 제1 가상 아바타 템플릿과 상이하다. 일부 실시예들에서, 복수의 가상 아바타 템플릿들 내의 가상 아바타 템플릿들 중 하나 이상은 메시징 애플리케이션을 통해 전송될 이용가능한 이모지들에 기초한다. 전자 디바이스는, 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것을 시작(예를 들어, 도 6t)한 이후 그리고 제1 가상 아바타 템플릿 표현을 선택하는 사용자 입력(예를 들어, 665)을 수신하는 것에 응답하여, 제2 가상 아바타 템플릿을 반영하도록 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이를 업데이트한다(예를 들어, 도 6u)(예를 들어, 애니메이션화된 가상 아바타가 얼굴의 표정의 변화들의 시퀀스들에 여전히 기초하지만, 애니메이션화된 가상 아바타의 외관은 새로운 가상 아바타 템플릿을 반영하도록 변화된다). 예를 들어, 애니메이션화된 가상 아바타는 원숭이로부터 로봇으로 변화될 수 있지만, 그것은 여전히 시간에 걸친 카메라의 시야에서의 얼굴의 표현의 동일한 시퀀스의 변화들을 반영할 것이다(예를 들어, 도 6t로부터 도 6u로의 전환 참조). 새롭게 선택된 아바타 템플릿들에 기초하여 애니메이션화된 가상 아바타들을 업데이트하는 것은, 애니메이션화된 가상 아바타의 움직임들 및 동작들을 레코딩한 이후 애니메이션화된 가상 아바타의 스타일의 선택을 허용함으로써 사용자가 의도된 메시지에 대한 멀티미디어 콘텐츠를 미세 조정하게 허용한다. 새로운 아바타 템플릿들을 시도하기 위해 애니메이션화된 가상 아바타들을 레코딩할 필요성을 제거하는 것은 (예를 들어, 콘텐츠의 반복적인 생성을 제거함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 가상 아바타의 미리보기(예를 들어, 646)는 가상 아바타 생성 인터페이스를 개시하는 것에 응답하여 자동으로 디스플레이된다. 일부 실시예들에서, 가상 아바타 생성 인터페이스가 디스플레이되자마자, 사용자 입력 없이, 가상 아바타의 미리보기가 디스플레이된다.
일부 실시예들에서, 전자 디바이스는, 카메라의 시야에서의 얼굴의 제1 물리적 특징부(예를 들어, 입 웃기, 혀 내밀기, 귀 흔들기, 눈썹 올리기, 또는 임의의 다른 물리적 특징부의 임의의 다른 움직임)의 특성(예를 들어, 위치, 배향, 움직임)을 검출하는 것에 응답하여, 검출된 특성에 기초하여 가상 아바타의 디스플레이된 미리보기의 제1 물리적 특징부를 업데이트하며, 여기서 얼굴의 제1 물리적 특징부의 유형(예를 들어, 눈들, 눈썹들, 입, 혀, 귀들)은 디스플레이된 미리보기의 제1 물리적 특징부의 유형과 동일하다. 일부 실시예들에서, 사용자의 입이 열리면, 가상 아바타의 입이 이에 응답하여 열릴 것이다(예를 들어, 650-1 및 651-1의 도 6o). 유사한 결과들이 얼굴 표정들에 기초할 수 있다. 예를 들어, 얼굴의 물리적 특징부들 또는 특성들의 하나 이상의 움직임들이 검출되면, 전자 디바이스는 미리 정의된 감정이 디스플레이되고 있다고 결정할 수 있다. 이에 응답하여, 가상 아바타의 디스플레이된 미리보기는 검출된 얼굴 표정을 반영하도록 대응하는 물리적 특징부들 또는 특성들을 업데이트함으로써 미리 정의된 모션을 반영하도록 업데이트될 수 있다. 사용자의 물리적 특징부들을 가상 아바타의 유사한 물리적 특징부들에 맵핑하는 것은, 번거롭거나 시간 소모적인 터치 또는 키 입력들에 대한 필요 없이 가상 아바타 상에 직관적으로 맵핑되는 입력들을 시스템에 제공하는 움직임들, 표정들, 및 포즈들을 사용자가 제공할 수 있게 한다. 이는, (예를 들어, 디바이스를 동작시키고/그와 상호작용할 때 예측가능한 방식으로 사용자의 특징부들을 가상 아바타에 맵핑함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 카메라의 시야에서 얼굴의 제2 물리적 특징부의 특성을 검출하는 것에 응답하여, 검출된 특성에 기초하여 가상 아바타의 디스플레이된 미리보기의 제2 물리적 특징부를 업데이트하며, 여기서 얼굴의 제2 물리적 특징부의 유형은 디스플레이된 미리보기의 제2 물리적 특징부의 유형과 상이하다(예를 들어, 650-2의 눈썹들 및 651-2의 귀들의 도 6o의 움직임). 일부 실시예들에서, 사용자가 웃고 있다면(이는 사용자가 행복하다는 것을 표시함), 유니콘 뿔 또는 로봇 상의 광과 같은 가상 아바타의 상이한 특징부는 웃음을 반영하도록 변화될 수 있다. 유사한 결과들이 얼굴 표정들에 기초할 수 있다. 예를 들어, 얼굴의 물리적 특징부들 또는 특성들의 하나 이상의 움직임들이 검출되면, 전자 디바이스는 미리 정의된 감정이 디스플레이되고 있다고 결정할 수 있다. 이에 응답하여, 가상 아바타의 디스플레이된 미리보기는 선택적으로, 검출된 얼굴 표정을 반영하도록 물리적 특징부들 또는 특성들의 상이한 세트를 업데이트함으로써 미리 정의된 모션을 반영하도록 업데이트된다. 사용자의 물리적 특징부들을 가상 아바타의 상이한 물리적 특징부들에 맵핑하는 것은, 사용자가 그렇지 않으면 용이하게 제어할 수 없는 아바타의 특징부들에 맵핑되는 입력들을 시스템에 제공하는 움직임들, 표정들, 및 포즈들을 사용자가 제공할 수 있게 한다. 이는, (예를 들어, 디바이스를 동작시키고/그와 상호작용할 때 가상 아바타의 부가적인 특징부들이 제어되도록 사용자의 특징부들을 가상 아바타에 맵핑함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스, 전자 디바이스는, 카메라의 시야에서 얼굴의 움직임을 검출하는 것에 응답하여, 가상 아바타에 대한 물리 모델 및 검출된 움직임에 기초하여 가상 아바타의 디스플레이된 미리보기의 제3 물리적 특징부를 업데이트한다(예를 들어, 650-5 및 651-5의 도 6o). 일부 실시예들에서, 예를 들어, 가상 아바타가 강아지에 대한 가상 아바타 템플릿에 기초하면, 사용자의 얼굴이 흔들리는 것으로서 검출될 때, 가상 아바타의 얼굴은 흔들릴 것이며, 가상 아바타의 귀들은, 흔드는 것에 응답하여 사용자의 귀들이 튀어나오지 않더라도 흔들림 모션의 물리속성(physics)을 반영하도록 튀어나올 수 있다. 일부 실시예들에서, 가상 아바타의 디스플레이된 미리보기의 동일한 물리적 특징부는, 카메라의 시야에서의 얼굴의 대응하는 특징부의 움직임 및 물리 모델에 기초하여 업데이트된다(예를 들어, 귀는 사용자의 귀의 움직임에 기초하여 움직이지만, 늘어진 강아지 귀에 대한 물리 모델에 또한 기초한다). 가상 아바타에 대한 물리 모델에 기초하여 가상 아바타를 업데이트하는 것은 사용자가 더 넓은 범위의 비언어적 정보를 통신할 수 있는 현실적이고 상호작용형 가상 아바타를 생성할 수 있게 한다. 이는, (예를 들어, 가상 아바타의 더 현실적인 움직임들을 사용하여, 사용자가 의도된 메시지를 통신하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 가상 아바타의 미리보기는 미리 정의된 가상 아바타 템플릿(예를 들어, 도 6n의 표현(644-4)과 연관된 아바타 템플릿)에 기초한다. 전자 디바이스는, 미리 정의된 가상 아바타 템플릿과 연관된 하나 이상의 미리 정의된 거동들에 기초하여 가상 아바타의 미리보기를 업데이트한다. 일부 실시예들에서, 얼굴 표정에서 어떠한 움직임 또는 변화도 카메라의 시야에서 얼굴로부터 검출되지 않으면(예를 들어, 650-3 및 650-4), 가상 아바타의 미리보기는 눈들을 깜박이는 것, 머리를 회전시키는 것, 얼굴 표정을 만드는 것, 또는 다른 동작을 나타낸다.
일부 실시예들에서, 전자 디바이스는, 얼굴이 카메라의 시야에서 더 이상 검출되지 않는다는 결정에 응답하여(예를 들어, 얼굴이 카메라의 시야 밖으로 이동했기 때문에 얼굴의 추적이 실패했음, 얼굴이 카메라의 시야로부터 가려졌음, 또는 디바이스가 더 이상 얼굴 상의 특징부들의 움직임을 정확하게 추적할 수 없도록 얼굴이 재위치되었음), 가상 아바타의 미리보기의 디스플레이를 점진적으로 페이딩(fade)한다(예를 들어, 가상 아바타 미리보기(646)가 페이딩될 것이다). 일부 실시예들에서, 디바이스는, 가상 아바타 미리보기의 크기, 회전, 모션 등을 변화시키는 것을 포함하여, 디바이스가 검출했던 마지막 정보로부터 가상 아바타 미리보기를 저하시키는 것과 같이, 디바이스가 더 이상 사용자의 얼굴을 추적할 수 없다는 것을 표시하기 위해 가상 아바타 미리보기에 대한 다른 수정들을 행한다. 일부 실시예들에서, 전자 디바이스는, 얼굴이 카메라의 시야에서 더 이상 검출되지 않는다는 결정에 응답하여(예를 들어, 얼굴이 카메라의 시야 밖으로 이동했기 때문에 얼굴의 추적이 실패했음, 얼굴이 카메라의 시야로부터 가려졌음, 또는 디바이스가 더 이상 얼굴 상의 특징부들의 움직임을 정확하게 추적할 수 없도록 얼굴이 재위치되었음), 얼굴이 카메라에 의해 더 이상 적절하게 검출되지 않는다는 것을 표시하는 메시지를 디스플레이한다(예를 들어, 디스플레이 프롬프트(prompt)가 도 6n의 가상 아바타(643) 위에 또는 도 6n의 가상 아바타 미리보기(646) 대신에 디스플레이된다). 일부 실시예들에서, 전자 디바이스는, 얼굴이 카메라의 시야에서 더 이상 검출되지 않는다는 결정에 응답하여(예를 들어, 얼굴이 카메라의 시야 밖으로 이동했기 때문에 얼굴의 추적이 실패했음, 얼굴이 카메라의 시야로부터 가려졌음, 또는 디바이스가 더 이상 얼굴 상의 특징부들의 움직임을 정확하게 추적할 수 없도록 얼굴이 재위치되었음), 얼굴이 시야에서 더 이상 검출되지 않기 전의(예를 들어, 그 직전 또는 바로 이전의) 시간 기간 동안 발생하고 있었던 얼굴의 외관의 변화에 기초하여 가상 아바타의 미리보기의 디스플레이를 업데이트한다(예를 들어, 디바이스(600)는 웃음으로부터 찌푸림 또는 눈들의 움직임으로의 전환을 반복적으로 디스플레이한다). 일부 실시예들에서, 얼굴이 카메라의 시야에서 더 이상 검출되지 않기 전의 시간 기간 동안 발생하고 있었던 얼굴의 외관의 변화에 기초하여 가상 아바타의 미리보기의 디스플레이를 업데이트하는 것은, 가상 아바타의 업데이트가 점진적으로 중지되도록 시간에 걸쳐 가상 아바타의 미리보기의 업데이트를 점진적으로 느리게 하는 것을 포함한다(예를 들어, 천천히 터닝(turn)하고 있는 아바타는 터닝을 멈추고, 천천히 열리거나 닫히고 있었던 눈은 열리거나 닫히는 것을 중지하며, 천천히 열리거나 닫히고 있었던 입은 열리거나 닫히는 것을 중지한다). 가상 아바타 미리보기가 사용자의 얼굴을 추적하고 있는지 여부에 관한 피드백을 디스플레이하는 것은, 디바이스가 적절히 유지되고 있는지 여부 및 사용자의 얼굴의 검출을 위한 조건들이 적절한지 여부를 사용자가 결정할 수 있게 한다. 디바이스의 상태의 사용자에게 개선된 피드백을 제공하는 것은, 디바이스의 작동성을 향상시키며, 디바이스가 여전히 사용자의 얼굴을 추적하려고 시도하고 있다는 표시들을 통해 사용자 인터페이스의 더 양호한 연속성을 제공함으로써 사용자-디바이스 인터페이스를 더 효율적으로 만든다. 이는 더 양호하고 더 직관적인 인간-기계 인터페이스를 제공하며, 디바이스가 사용자의 얼굴을 추적할 수 없을 때에도 사용자가 디바이스와 계속 상호작용하는 것을 초래할 것이다.
방법(800)(예를 들어, 도 8a 및 도 8b)에 대해 위에서 설명된 프로세스들의 세부사항들은 또한 아래에서 설명되는 방법들에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(900)은 선택적으로 방법(800)을 참조하여 위에서 설명된 다양한 방법들의 특성들 중 하나 이상의 특성들을 포함한다. 예를 들어, 방법(800)에 대해 위에서 설명된 스티커들의 생성은 방법(900)에 대해 아래에서 설명되는 사용자 인터페이스와 선택적으로 통합된다. 다른 예로서, 방법(800)에 대해 위에서 설명된 바와 같이 애니메이션화된 가상 아바타(예를 들어, 애니메이션화된 가상 아바타)를 전송하기 전의 사운드의 음소거는 방법(900)에 대해 아래에서 설명되는 사용자 인터페이스와 선택적으로 통합된다. 간결함을 위해, 이들 세부사항들은 아래에서 반복되지 않는다.
위에서 설명된 정보 프로세싱 방법들에서의 동작들은 선택적으로 (예를 들어, 도 1a, 도 3, 도 5a에 대해 설명된 바와 같은) 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 프로세싱 장치 내의 하나 이상의 기능 모듈들을 구동시킴으로써 구현된다. 추가로, 도 8a 및 도 8b를 참조하여 위에서 설명된 동작들은 선택적으로, 도 1a 및 도 1b에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 가상 아바타 생성 인터페이스에서 입력을 검출하는 것(806)은 선택적으로, 이벤트 분류기(170), 이벤트 인식기(180) 및 이벤트 핸들러(190)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 표면(604) 상의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 개개의 이벤트 인식기(180)는 이벤트 정보를 각각의 이벤트 정의들(186)과 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 미리 정의된 이벤트 또는 서브이벤트에 대응하는지 여부를 결정한다. 개개의 미리 정의된 이벤트 또는 서브이벤트가 검출될 때, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는 선택적으로, 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 개개의 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 디스플레이되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 당업자에게 자명할 것이다.
도 9a 및 도 9b는 일부 실시예들에 따른, 전자 디바이스를 사용하기 위한 방법(900)을 예시하는 흐름도이다. 방법(900)은 디스플레이 및 카메라를 갖는 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(900)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서는 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(900)은 가상 아바타들과 같은 이모지들을 생성 및 전송하기 위한 직관적인 방식을 제공한다. 방법은 이모지들을 생성 및 전송하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 이모지들을 더 빠르고 더 효율적으로 생성 및 전송할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다.
(예를 들어, 가시광, IR 광, 깊이 데이터 등을 표현하는 데이터를 캡처하기 위해 하나 이상의 센서들로 구성되는) 카메라 및 디스플레이(예를 들어, 601)를 갖는 전자 디바이스(예를 들어, 600)는 (예를 들어, 이모지들을 선택하고, 정적 이모지들을 생성하고, 애니메이션화된 이모지들을 레코딩하여) 가상 아바타 생성 인터페이스(예를 들어, 도 6n의 643)를 디스플레이한다(902). 전자 디바이스는 가상 아바타 생성 인터페이스(예를 들어, 다수의 상이한 이용가능한 이모지 스타일들 또는 템플릿들로부터 선택되는 움직이는 이모지)에서 가상 아바타의 미리보기(예를 들어, 도 6n의 646)(예를 들어, 일부 경우들에서, 감정 또는 반응과 같은 비언어적 메시지를 전달하도록 의도되는 2D 또는 3D 컴퓨터 생성 그래픽 객체)를 디스플레이한다(904). 가상 아바타의 미리보기는 카메라의 시야에 있는 얼굴의 외관의 변화들에 반응한다(예를 들어, 도 6o)(예를 들어, 애니메이션화된 이모지는 하나 이상의 이미지 센서들로부터의 이미지 데이터에서 검출된 바와 같은 사용자의 머리 움직임들, 얼굴 표정들, 및 배향을 반영할 것이다). 전자 디바이스는, 카메라의 시야에 있는 얼굴의 변화하는 얼굴 표정들에 기초하여 애니메이션화된 가상 아바타를 생성하기 위한 요청(예를 들어, 접촉(652))을 수신한다(906). 애니메이션화된 가상 아바타를 생성하기 위한 요청을 수신하는 것에 응답하여, 전자 디바이스는, 카메라의 시야에서의 얼굴의 얼굴 표정들의 시퀀스를 레코딩한다(908)(예를 들어, 도 6q 내지 도 6s)(예를 들어, 시퀀스는, 애니메이션화된 가상 아바타를 생성하기 위해 가상 아바타 템플릿에 적용될 수 있는 포인트들의 맵핑을 제공하기 위한 일련의 데이터 포인트들을 포함한다). 전자 디바이스는, 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 애니메이션화된 가상 아바타를 생성하기 위한 요청에 응답하여 레코딩된 얼굴 표정들의 시퀀스에 기초한 애니메이션 시퀀스를 포함하는 애니메이션화된 가상 아바타(예를 들어, 659)의 루핑 버전(예를 들어, 도 6t 및 도 6u)을 디스플레이한다(910)(예를 들어, 애니메이션화된 가상 아바타는 레코딩된 얼굴 표정들을 표현하는 일련의 데이터 포인트들을 미리 정의된 애니메이션화된 가상 아바타 템플릿에 순차적으로 맵핑함으로써 디스플레이되고 있다). 전자 디바이스는, 애니메이션화된 가상 아바타의 루핑 버전을 2회 이상 디스플레이한다. 일부 실시예들에서, 얼굴 표정들의 시퀀스를 레코딩하는 것은 미리 정의된 가상 아바타 템플릿의 별개의 맵핑 포인트들에 대한 값들의 시간 시퀀스를 레코딩하는 것을 포함한다. 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은, 사용자가 후속적으로 애니메이션화된 가상 아바타 콘텐츠를 검토하여 적절한 메시지가 통신되고 있는지 여부를 이해할 수 있게 한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시키고/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 에러들의 인스턴스들을 감소시키며, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는 (예를 들어, 진행 표시자(656)에 의해 표현되는 바와 같은) 타이머(예를 들어, 5, 10, 또는 15초 타이머)의 만료에 응답하여 얼굴 표정들의 시퀀스의 레코딩을 중지한다. 일부 실시예들에서, 전자 디바이스는 사용자 입력(예를 들어, 접촉(658))(예를 들어, 디스플레이 상에 디스플레이되는 가상 버튼 상의 사용자 탭)을 수신하는 것에 응답하여 얼굴 표정들의 시퀀스의 레코딩을 중지한다. 애니메이션화된 가상 아바타 레코딩의 시간을 제한하는 것은, 사용자가 디바이스의 컴퓨팅 리소스들(예를 들어, 저장)에 대한 영향을 제한하면서 애니메이션화된 가상 아바타 레코딩들을 생성할 수 있게 한다. 이는 디바이스의 컴퓨팅 리소스들을 보존함으로써 디바이스의 작동성을 향상시킨다.
일부 실시예들에서, 전자 디바이스는 미리보기의 디스플레이를 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이로 대체한다(912)(예를 들어, 도 6s로부터 도 6t로의 전환 참조)(예를 들어, 얼굴 표정들의 시퀀스의 레코딩이 완료된 것에 응답하여, 생성된 애니메이션화된 가상 아바타는 루프에서 사용자에게 재생된다). 레코딩된 애니메이션화된 이모지의 루핑 버전을 재생하는 것은 자동으로, 사용자가 애니메이션화된 이모지를 전송, 삭제, 또는 저장할지 여부를 결정하기 전에 애니메이션화된 이모지를 검토할 수 있게 한다. 이는, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 결과에 전념하기 전에 피드백 표시 결과를 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 애니메이션화된 가상 아바타를 생성하기 위한 요청은 가상 아바타 생성 인터페이스에서 디스플레이되는 레코드 어포던스(예를 들어, 648)의 선택을 포함한다. 전자 디바이스는, 카메라의 뷰에 있는 얼굴의 얼굴 표정들을 레코딩한 이후, 레코드 어포던스의 디스플레이를 전송 또는 확인 어포던스(예를 들어, 664)로 대체한다. 일부 실시예들에서, 전송 어포던스는 방법(800)에 대해 위에서 설명된 바와 같이 동작한다. 레코드 어포던스의 선택에 응답하여 애니메이션화된 가상 아바타를 레코딩하는 것은 사용자가 가상 아바타 미리보기를 사용하여 디바이스가 사용자를 추적하고 있고 현재 선택된 가상 아바타 템플릿이 사용자가 전달하기를 원하는 메시지와 일치한다는 것을 검증할 수 있게 한다. 이는, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 의도된 결과를 생성하기 전에 의도된 결과의 미리보기를 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 애니메이션화된 가상 아바타의 루핑 버전은 제1 가상 아바타 템플릿(예를 들어, 요소(644-4)에 대응하는 아바타 템플릿)을 사용하여 디스플레이된다(918). 전자 디바이스는, 제2 가상 아바타 템플릿(예를 들어, 도 6z의 요소(644-8))의 표현을 포함하는 복수의 다른 가상 아바타 템플릿(예를 들어, 요소들(644-1 내지 644-7))의 표현들(예를 들어, 웃는 얼굴들, 동물들, 로봇들, 또는 다른 물체들과 같은 상이한 가상 아바타 템플릿들의 소형의 일반적인 버전들)을 디스플레이한다. 제2 가상 아바타 템플릿은 제1 가상 아바타 템플릿과 상이하다. 일부 실시예들에서, 복수의 가상 아바타 템플릿들 내의 가상 아바타 템플릿들 중 하나 이상은 메시징 애플리케이션을 통해 전송될 이용가능한 이모지에 기초한다. 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것을 시작한 이후 그리고 제1 가상 아바타 템플릿 표현을 선택하는 사용자 입력을 수신하는 것에 응답하여, 전자 디바이스는, 제2 가상 아바타 템플릿을 반영하도록 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이를 업데이트한다(922)(예를 들어, 애니메이션화된 가상 아바타가 얼굴의 표정의 변화들의 시퀀스들에 여전히 기초하지만, 애니메이션화된 가상 아바타의 외관은 새로운 가상 아바타 템플릿을 반영하도록 변화된다). 예를 들어, 애니메이션화된 가상 아바타는 원숭이로부터 로봇으로 변화될 수 있지만, 그것은 여전히 시간에 걸친 카메라의 시야에서의 얼굴의 표현의 동일한 시퀀스의 변화들을 반영할 것이다(예를 들어, 도 6t로부터 도 6u로의 전환 참조). 일부 실시예들에서, 전자 디바이스는, 제1 가상 아바타 템플릿의 표현을 포함하는 가상 아바타 템플릿들의 복수의 표현들(예를 들어, 웃는 얼굴들, 동물들, 로봇들, 또는 다른 물체들과 같은 상이한 가상 아바타 템플릿들의 소형의 일반적인 버전들)을 디스플레이한다(914). 제1 가상 아바타 템플릿의 표현의 선택에 대응하는 사용자 입력을 수신하는 것에 응답하여, 전자 디바이스는 제1 가상 아바타 템플릿에 대응하도록 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이를 업데이트한다(916)(예를 들어, 사용자가 임의의 얼굴 표정들을 레코딩할 필요 없이 강아지 가상 아바타 템플릿에 기초한 강아지 대신 로봇 가상 아바타 템플릿에 기초한 로봇이도록 애니메이션을 변화시킨다). 새롭게 선택된 아바타 템플릿들에 기초하여 애니메이션화된 가상 아바타들을 업데이트하는 것은, 애니메이션화된 가상 아바타의 움직임들 및 동작들을 레코딩한 이후 애니메이션화된 가상 아바타의 스타일의 선택을 허용함으로써 사용자가 의도된 메시지에 대한 멀티미디어 콘텐츠를 미세 조정하게 허용한다. 새로운 아바타 템플릿들을 미리보기 위해 애니메이션화된 가상 아바타들을 레코딩할 필요성을 제거하는 것은 (예를 들어, 콘텐츠의 반복적인 생성을 제거함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 미리보기 가상 아바타는 제2 아바타 템플릿에 기초한다. 카메라의 시야에서의 얼굴의 제1 물리적 특징부(예를 들어, 사용자의 눈썹들의 움직임)의 제1 특성(예를 들어, 도 6o의 650-2)을 검출하는 것에 응답하여, 전자 디바이스는 검출된 제1 특성에 기초하여 가상 아바타의 디스플레이된 미리보기의 제1 물리적 특징부를 업데이트한다(920)(예를 들어, 가상 아바타의 미리보기가 그의 눈썹들을 움직이게 한다). 디스플레이된 미리보기의 제1 물리적 특징부는 제1 특징부 유형(예를 들어, 눈썹)을 갖는다. (예를 들어, 강아지로부터 원숭이로 아바타 템플릿을 스위칭하는) 제1 그래픽 요소의 선택에 대응하는 사용자 입력을 수신한 이후 그리고 카메라의 시야에서 얼굴의 제1 물리적 특징부의 제2 특성(예를 들어, 사용자의 눈썹들의 움직임)을 검출하는 것에 응답하여, 전자 디바이스는, 검출된 제2 특성에 기초하여 가상 아바타의 디스플레이된 미리보기의 제2 물리적 특징부(예를 들어, 도 6o의 651-2)를 업데이트하며(922)(예를 들어, 원숭이의 귀들을 움직인다), 여기서 디스플레이된 미리보기의 제2 물리적 특징부는 제1 특징부 유형(예를 들어, 눈썹들)과 상이한 제2 특징부 유형(예를 들어, 귀들)을 갖는다. 사용자의 동일한 물리적 특징부를 상이한 아바타 템플릿들의 상이한 물리적 특징부들에 맵핑하는 것은, 동일한 입력들이 다양한 가상 아바타들을 생성하게 함으로써 사용자가 메시지를 통신하기 위한 더 넓은 범위의 옵션들을 갖게 할 수 있다. 이는, (예를 들어, 메시지를 전달하기 위한 더 많은 선택들을 제공함으로써 사용자가 의도된 메시지를 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 가상 아바타 템플릿들의 복수의 표현들을 (예를 들어, 도 6y 내지 도 6aa의 접촉(676)을 통해) 스크롤링하기 위한 요청에 대응하는 사용자 입력을 수신하는 것에 응답하여, 가상 아바타 템플릿들의 복수의 표현들의 일부가 아닌 제2 그래픽 요소를 디스플레이하도록 가상 아바타 템플릿들의 복수의 표현들의 디스플레이를 스크롤링한다. 일부 실시예들에서, 스크롤링은 요청에 대응하는 사용자 입력의 속도에 기초한다. 가상 아바타 템플릿을 스크롤링하는 것은 사용자가 가상 아바타에 대한 상이한 옵션들을 신속하게 볼 수 있게 한다. 부가적으로, 가상 아바타 템플릿들의 복수의 표현들의 디스플레이를 스크롤링하는 것은 사용자가 이전 및 다음 가상 아바타 템플릿을 볼 수 있게 한다. 이는, (예를 들어, 디바이스를 작동시키고/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 스크롤링의 속력은 사용자 입력의 종료를 검출한 이후 시간에 걸쳐 점진적으로 감소한다(예를 들어, 스크롤링은 가상 아바타들의 복수의 표현들이 마찰에 의해 점진적으로 느려지는 관성을 가졌던 것처럼 점진적으로 중지된다). 시간에 걸쳐 스크롤의 속력을 점진적으로 감소시키는 것은 사용자가 부가적인 입력을 제공할 필요 없이 상이한 가상 아바타 템플릿 옵션들을 계속 볼 수 있게 한다. 이는, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 부가적인 상호작용을 요구하지 않으면서 가능한 결과들의 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 요청에 대응하는 사용자 입력을 수신하는 것에 응답하여, 하나의 가상 아바타 템플릿으로부터 상이한 가상 아바타 템플릿으로 변화되는 현재 선택된 가상 아바타 템플릿에 대응하는 가청 출력 및/또는 촉각적 출력을 생성한다. 예를 들어, 가청 및/또는 촉각적 출력들은, 가상 아바타 템플릿들의 복수의 표현들 각각이 현재 선택된 가상 아바타 템플릿을 표시하는 위치를 지나 스크롤링될 때 생성된다. 가청 또는 촉각적 피드백을 생성하는 것은 사용자가 새로운 선택이 발생한 때를 결정할 수 있게 한다. 이는, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 새로운 선택이 행해진 때를 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 애니메이션화된 가상 아바타 상에서 사용자 입력을 수신하는 것에 응답하여 - 입력은 애니메이션화된 가상 아바타를 저장하기 위한 요청에 대응함 -, 전자 디바이스 상의 데이터베이스에 애니메이션화된 가상 아바타에 대한 데이터를 저장한다(예를 들어, 도 6cc 내지 도 6gg). 예를 들어, 전자 디바이스는 애니메이션화된 가상 아바타를 표현하는 데이터를 전자 디바이스의 비휘발성 저장소 내의 디렉토리 또는 라이브러리에 저장한다.
일부 실시예들에서, 전자 디바이스는 애니메이션화된 가상 아바타를 원격 디바이스의 원격 사용자에게 전송하기 위한 요청(예를 들어, 접촉(688))을 수신한다(예를 들어, 도 6hh 내지 도 6kk). 원격 디바이스가 제1 세트의 기준들을 충족시킨다(예를 들어, 원격 디바이스는 애니메이션화된 가상 아바타의 제1 버전을 재생하기 위한 요구된 애플리케이션의 요구된 버전을 갖는다)는 결정에 따라, 전자 디바이스는, 애니메이션화된 가상 아바타의 제1 버전을 원격 디바이스의 사용자에게 전송한다(예를 들어, 원격 디바이스가 애니메이션화된 가상 아바타를 재생할 수 있도록 얼굴 표정들의 레코딩된 시퀀스를 표현하는 비그래픽 데이터 및 가상 아바타 템플릿의 표시를 전송한다). 원격 디바이스가 제1 세트의 기준들을 충족시키지 않는다(예를 들어, 원격 디바이스는 애니메이션화된 가상 아바타의 제1 버전을 재생하기 위한 적절한 메시징 애플리케이션 또는 메시징 애플리케이션의 버전을 갖지 않는다)는 결정에 따라, 전자 디바이스는, 제1 버전과 상이한 애니메이션화된 가상 아바타의 제2 버전을 원격 디바이스의 사용자에게 전송한다(예를 들어, 애니메이션화된 가상 아바타를 표현하는 비디오 파일을 전송한다). 원격 사용자에게 애니메이션화된 가상 아바타의 어느 버전을 전송할지를 결정하는 것은, 최소량의 호환가능한 정보만을 원격 사용자에게 전송함으로써 디바이스의 리소스를 절약한다. 추가로, 그렇게 하는 것은 (예를 들어, 원격 사용자가 초기 포맷이 보여지지 않았다는 것을 표시하는 것에 응답하여) 사용자가 더 호환가능한 포맷으로 정보를 재전송할 필요성을 감소시킨다. 효율적이고 효과적인 데이터 전달은 디바이스의 작동성을 향상시키며, 이는 부가적으로 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 동안, 얼굴 표정들의 시퀀스를 레코딩하는 동안 레코딩된 사운드에 기초하여 그리고 미리 정의된 아바타 템플릿과 연관된 오디오 필터에 기초하여 오디오 데이터를 재생한다(924). 일부 실시예들에서, 전자 디바이스는 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 동안, 얼굴 표정들의 시퀀스를 레코딩하는 동안 레코딩된 사운드에 기초하여 오디오 데이터를 재생한다. 음소거 어포던스(예를 들어, 도 6t 및 도 6u의 662)의 선택에 대응하는 사용자 입력을 수신하는 것에 응답하여, 전자 디바이스는 오디오 데이터를 재생하는 것을 중단한다. 가상 아바타에 대한 아바타 템플릿에 특정된 필터에 기초하여 애니메이션화된 가상 아바타에 대한 필터링된 오디오를 재생하는 것은, 메시지가 통신되는 방법에 있어서 더 많은 옵션들 및 더 많은 관여된 애니메이션화된 가상 아바타를 제공함으로써 사용자가 메시지를 더 효과적으로 통신할 수 있게 한다. 이는, (예를 들어, 메시지가 어떻게 운반되는지에 관한 더 많은 옵션들을 사용자에게 제공함으로써 사용자가 의도된 메시지를 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 애니메이션화된 가상 아바타를 원격 사용자에게 전송하기 위한 요청을 수신하는 것에 응답하여(926) 그리고 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이와 연관된 오디오 데이터가 음소거되었던 동안 애니메이션화된 가상 아바타를 원격 사용자에게 전송하기 위한 요청(예를 들어, 접촉(667))이 수신되었다는 결정에 따라, 애니메이션화된 가상 아바타에 대한 사운드 데이터를 전송하지 않으면서 애니메이션화된 가상 아바타를 표현하는 데이터를 원격 사용자에게 전송한다(928). 애니메이션화된 가상 아바타의 루핑 버전의 디스플레이와 연관된 오디오 데이터가 음소거되지 않았었던 동안 애니메이션화된 가상 아바타를 원격 사용자에게 전송하기 위한 요청이 수신되었다는 결정에 따라, 전자 디바이스는 애니메이션화된 가상 아바타에 대한 사운드 데이터와 함께 애니메이션화된 가상 아바타를 표현하는 데이터를 원격 사용자에게 전송한다(930). 사용자가 애니메이션화된 가상 아바타의 재생 시에 사운드를 음소거했을 때 사운드 없이 애니메이션화된 가상 아바타를 전송하는 것은, 사용자가 원격 사용자에게 전송되는 메시지에 사운드가 포함되는지 여부를 효율적으로 선택할 수 있게 한다. 이는, (예를 들어, 최소의 상호작용들로 사용자가 의도된 결과를 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 애니메이션화된 가상 아바타를 생성하기 위한 요청(예를 들어, 접촉(652))을 수신하는 것에 응답하여, 카메라의 뷰에 있는 얼굴의 제1 얼굴 움직임을 레코딩하며, 여기서 애니메이션화된 가상 아바타의 루핑 버전을 디스플레이하는 것은 애니메이션화된 가상 아바타에 대한 물리 모델 및 제1 얼굴 움직임에 기초하여 가상 아바타를 애니메이션화하는 것을 포함한다(예를 들어, 도 6o의 이미지 데이터(650-5) 및 업데이트(651-5) 참조). 가상 아바타에 대한 물리 모델에 기초하여 애니메이션화된 가상 아바타를 업데이트하는 것은 사용자가 더 넓은 범위의 비언어적 통신을 통신할 수 있는 현실적이고 상호작용형 가상 아바타를 생성할 수 있게 한다. 이는, (예를 들어, 가상 아바타의 더 현실적인 움직임들을 사용하여, 사용자가 의도된 메시지를 통신하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 얼굴 표정들의 시퀀스를 레코딩하는 동안 카메라의 뷰에 있는 얼굴의 특정 특징부가 임계량의 시간을 초과하여 특정 포즈로 유지된다는 것을 검출하는 것에 응답하여(예를 들어, 도 6o의 650-4, 650-5 참조), 얼굴의 특정 포즈에 대응하는 미리 정의된 애니메이션화된 표정(예를 들어, 도 6o의 651-5 참조)을 애니메이션화된 가상 아바타에 부가한다. 예를 들어, 얼굴이 미리 결정된 시간 기간 동안 중립 표정을 가지면, 머리 턴 또는 윙크와 같은 미리 정의된 움직임이 애니메이션화된 가상 아바타에 부가된다. 다른 예로서, 얼굴이 미리 결정된 시간 기간 동안 화난 표정을 가지면, 분노를 암시하는 하나 이상의 부가적인 특징부들, 이를테면 귀들로부터 나오는 색상 또는 증기가 애니메이션화된 가상 아바타에 부가된다. 사용자의 얼굴의 특징부가 임계량의 시간 동안 특정 포즈로 유지된다는 것을 디바이스가 검출하는 것에 기초하여 애니메이션화된 가상 아바타를 업데이트하는 것은, 사용자가 얼굴 표정들, 특징부들, 및 움직임들만으로 가능한 것보다 더 많은 동작들을 애니메이션화된 가상 아바타에 부가할 수 있게 한다. 이는, (예를 들어, 용이하게 달성가능한 얼굴 표정, 움직임, 또는 특징부에 달리 대응하지 않는 동작들을 통신하기 위한 부가적인 메커니즘을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 전자 디바이스는, 얼굴 표정의 시퀀스를 레코딩하는 동안, 카메라와는 별개인 입력 메커니즘을 통해 사용자 입력(예를 들어, 터치 감응형 표면 상의 터치, 모션 센서들에 의해 검출된 전자 디바이스의 움직임, 버튼의 활성화, 또는 다른 입력)을 수신하는 것에 응답하여, 제1 얼굴 표정을 얼굴 표정들의 시퀀스에 부가한다(예를 들어, 애니메이션화된 가상 아바타로의 포함을 위해 얼굴 표정들을 레코딩하는 동안, 행복한 얼굴 표정, 혀가 튀어나온 얼굴 표정, 또는 카메라의 시야에서 얼굴에 의해 이루어졌었던 얼굴 표정으로서 실제로 레코딩되지 않았던 임의의 다른 얼굴 표정을 레코딩한다). 제1 얼굴 표정은 입력 메커니즘을 통해 수신된 사용자 입력에 기초한다. 일부 실시예들에서, 애니메이션화된 가상 아바타가 루핑되는 동안, 사용자는 애니메이션화된 가상 아바타에 부가적인 표정들을 부가하기 위해 터치 스크린 제어부들을 사용할 수 있으므로, 애니메이션화된 가상 아바타가 루핑됨에 따라, 사용자는 애니메이션화된 가상 아바타에 표정들을 점진적으로 부가할 수 있어서, 사용자에 의해 선택된 표정의 변화들이 애니메이션화된 가상 아바타를 초기에 생성할 때 카메라의 시야에서의 얼굴(예를 들어, 사용자의 얼굴)의 얼굴 표정들에 기초하여 레코딩된 표정의 변화들과 상이하더라도, 애니메이션화된 가상 아바타는 표정의 그러한 변화들을 포함한다. 카메라로 캡처되는 것 이외의 사용자 입력에 기초하여 애니메이션화된 가상 아바타를 업데이트하는 것은, 사용자가 얼굴 표정들, 특징부들, 및 움직임들만으로 가능한 것보다 더 많은 동작들을 애니메이션화된 가상 아바타에 부가할 수 있게 한다. 이는, (예를 들어, 용이하게 달성가능한 얼굴 표정, 움직임, 또는 특징부에 달리 대응하지 않는 동작들을 통신하기 위한 부가적인 메커니즘을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
방법(900)(예를 들어, 도 9a 및 도 9b)에 대해 위에서 설명된 프로세스들의 세부사항들은 또한 위에서 설명되는 방법들에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(900)은 선택적으로 방법(800)을 참조하여 위에서 설명된 다양한 방법들의 특성들 중 하나 이상의 특성들을 포함한다. 예를 들어, 레코드 얼굴 특징부들, 움직임들, 및/또는 표정들의 시퀀스에 기초하여 그리고 방법(900)에 대해 설명된 바와 같이 아바타 템플릿과 연관된 프레임워크에 기반하여 애니메이션화된 가상 아바타 미리보기를 디스플레이하는 것은 위의 방법(800)에 대해 설명된 스티커 및 애니메이션화된 가상 아바타에 적용될 수 있다.
위에서 설명된 정보 프로세싱 방법들에서의 동작들은 선택적으로 (예를 들어, 도 1a, 도 3, 및 도 5a에 대해 설명된 바와 같은) 범용 프로세서들 또는 애플리케이션 특정 칩들과 같은 정보 프로세싱 장치 내의 하나 이상의 기능 모듈들을 구동시킴으로써 구현된다. 추가로, 도 9a 및 도 9b를 참조하여 위에서 설명된 동작들은, 선택적으로, 도 1a 및 도 1b에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 애니메이션화된 가상 아바타를 수신하는 것(906)은, 선택적으로, 이벤트 분류기(170), 이벤트 인식기(180) 및 이벤트 핸들러(190)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 표면(604) 상의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 각각의 이벤트 인식기(180)는 이벤트 정보를 각각의 이벤트 정의들(186)과 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 미리 정의된 이벤트 또는 서브이벤트에 대응하는지 여부를 결정한다. 개개의 미리 정의된 이벤트 또는 서브이벤트가 검출될 때, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는 선택적으로, 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 개개의 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 디스플레이되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 당업자에게 자명할 것이다.
도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b는 일부 실시예들에 따른, 가상 아바타들을 생성 및 수정하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면들의 사용자 인터페이스들은 도 18a, 도 18b, 도 19, 도 20, 도 21, 도 22, 도 23, 도 24, 및 도 25의 프로세스들을 포함하여, 아래에서 설명되는 프로세스들을 예시하기 위해 사용된다.
일부 실시예들에서, 가상 아바타는 그래픽으로 도시될 수 있는 사용자의 표현이다. 일부 실시예들에서, 가상 아바타는 비실사적이다(예를 들어, 만화적이다). 일부 실시예들에서, 아바타는 양식화된 동물(예를 들어, 아바타들(1100, 1300, 1500, 1600, 1700)), 양식화된 로봇(예를 들어, 아바타(1400)), 또는 일반적으로 무생물인 물체의 양식화(예를 들어, 아바타(1000))와 같은 의인화 구조체이다. 일부 실시예들에서, 가상 아바타는 하나 이상의 아바타 특징부들(예를 들어, 아바타 얼굴 특징부들)을 갖는 아바타 얼굴을 포함한다. 일부 실시예들에서, 사용자의 물리적 특징부의 검출된 움직임이 아바타 특징부에 영향을 주도록(예를 들어, 특징부의 그래픽 표현에 영향을 주도록) 아바타 특징부들은 사용자의 얼굴의 하나 이상의 물리적 특징부들에 대응한다(예를 들어, 맵핑된다).
일부 예들에서, 사용자는 카메라 센서(예를 들어, 카메라(602))(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175))를 사용하여 가상 아바타의 특성들 또는 특징부들을 조작할 수 있다. 사용자의 물리적 특징부들(이를테면, 얼굴 특징부들) 및 위치(이를테면, 머리 위치 또는 머리 틸트(tilt))가 변화할 때, 전자 디바이스는 변화들을 검출하고, 사용자의 물리적 특징부들 및 위치의 변화들을 반영하도록 가상 아바타의 디스플레이된 이미지를 수정한다. 일부 실시예들에서, 사용자의 물리적 특징부들 및 위치에 대한 변화들은 다양한 표정들, 감정들, 컨텍스트, 톤, 또는 다른 비언어적 통신을 표시한다. 일부 실시예들에서, 전자 디바이스는 이들 표정들, 감정들, 맥락, 톤, 또는 다른 비언어적 통신을 표현하도록 가상 아바타의 디스플레이된 이미지를 수정한다.
도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 도 17a 및 도 17b, 및 도 26a 내지 도 26d는 예시적인 사용자 입력들 및 전자 디바이스 상에 디스플레이된 예시적인 가상 아바타들(예를 들어, 대변, 곰, 외계인, 토끼, 로봇, 유니콘, 닭, 및 돼지 아바타들)에 대한 대응하는 변화들을 예시한다. 일부 실시예들에서, 전자 디바이스는 디바이스들(100, 300, 500)의 하나 이상의 요소들 및/또는 특징부들을 포함한다. 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 도 17a 및 도 17b, 및 도 26a 내지 도 26d의 좌측 측부 상의 이미지들은, 사용자가 하나 이상의 카메라들(예를 들어, 카메라(602))(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175)) 및/또는 다른 센서들(예를 들어, 적외선 센서들)의 시야 내에 있을 때 전자 디바이스에 의해 검출되는 바와 같은 사용자의 이미지들을 표현한다. 다시 말하면, 사용자의 이미지들은 카메라(예를 들어, 카메라(602))(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175))의 관점으로부터의 것이며, 그 카메라는, 일부 실시예들에서는 전자 디바이스(예를 들어, 디바이스(100, 300, 500)) 상에 위치될 수 있고, 다른 실시예들에서는 전자 디바이스와 별개로 위치될 수 있다(예를 들어, 전자 디바이스에 데이터를 전달하는 외부 카메라 또는 센서). 일부 실시예들에서, 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 도 17a 및 도 17b, 및 도 26a 내지 도 26d의 좌측 측부 상의 이미지들의 경계들은 하나 이상의 카메라들(예를 들어, 602)(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175)) 및/또는 다른 센서들(예를 들어, 적외선 센서들)의 시야의 경계들을 표현한다. 일부 실시예들에서, 사용자의 이미지들은 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504)) 상에 디스플레이된다. 일부 실시예들에서, 사용자의 이미지는 디스플레이를 위해 외부 전자 디바이스에 송신된다. 일부 실시예들에서, 외부 전자 디바이스는 디바이스들(100, 300, 500)의 하나 이상의 요소들 및/또는 특징부들을 포함한다. 일부 실시예들에서, 사용자의 이미지 데이터는 디바이스에 의해 수집 및 프로세싱되지만, 즉시 전자 디바이스 상에 디스플레이되거나 외부 디바이스에 송신되지는 않는다.
도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b의 우측 측부 상의 이미지들 각각은 도면의 좌측 측부 상에 위치된 사용자의 대응하는 검출된 이미지에 기초하여 제시되는(예를 들어, 수정된 이후 디스플레이되는) 상태의 가상 아바타(예를 들어, 대변 아바타)를 예시한다. 일부 실시예들에서, 가상 아바타는 가상 아바타를 보는 사용자의 관점으로부터 도시된다. 일부 실시예들에서, 가상 아바타는 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504)) 상에 디스플레이된다. 일부 실시예들에서, 가상 아바타는 디스플레이를 위해 외부 전자 디바이스에 송신된다. 일부 실시예들에서, 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b의 우측 측부 상의 이미지들은 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504))의 디스플레이 구역 내의 가상 아바타의 위치를 표현하고, 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b의 우측 측부 상의 이미지들의 경계들은 가상 아바타를 포함하는 디스플레이 구역의 경계들을 표현한다. 일부 실시예들에서, 우측 측부에 표현된 디스플레이 구역은 위에서 논의된 가상 아바타 인터페이스(643), 메시지 작성 영역(612), 메시지 영역(609)(또는 그의 일부)과 같은 애플리케이션 사용자 인터페이스의 아바타 디스플레이 구역에 대응한다.
일부 실시예들에서, 아바타 특징부(예를 들어, 다른 아바타 특징부들에 대해 별개로 이동되거나 수정될 수 있는 아바타의 별개의 요소)의 반응의 크기는 사용자의 물리적 특징부(예를 들어, 사용자 근육, 근육 그룹과 같은 검출된 또는 추적된 특징부, 또는 눈과 같은 해부학적 특징부)의 변화의 크기에 대응한다. 예를 들어, 일부 실시예들에서, 물리적 특징부의 변화의 크기는 물리적 특징부의 잠재적인 모션 범위에 따라 결정되며, 여기서 크기는 그 물리적 특징부의 모션 범위(예를 들어, 예측된 또는 모델링된 모션 범위) 내의 물리적 특징부의 상대적인 위치를 표현한다. 그러한 실시예들에서, 아바타 특징부의 반응의 크기는 아바타 특징부의 모션 범위 내의 아바타 특징부의 상대적 위치와 유사하다. 일부 실시예들에서, 변화의 크기는 변화를 통한 물리적 특징부의 시작 위치와 종료 위치의 비교 또는 측정(예를 들어, 거리)에 기초하여 결정된다. 그러한 실시예들에서, 물리적 특징부의 변화는 물리적 특징부의 측정된 변화를 아바타 특징부에 (예를 들어, 직접 또는 스케일링거나 조정된 값으로서) 적용함으로써 제1 아바타 특징부의 수정으로 변환될 수 있다.
일부 실시예들에서, 아바타 특징부에 대한 수정들은 크기 컴포넌트 및 방향 컴포넌트 둘 모두를 가지며, 아바타 특징부에서의 수정의 방향 컴포넌트는 아바타 특징부가 반응하는 물리적 특징부들 중 하나 이상의 물리적 특징부들의 변화의 방향 컴포넌트에 기초한다. 일부 실시예들에서, 아바타 특징부의 반응의 방향은 사용자의 물리적 특징부의 변화의 상대적인 방향에 (예를 들어, 직접 또는 반대로) 대응하며, 여기서 물리적 특징부의 변화의 상대적인 방향은 초기 위치(예를 들어, 물리적 특징부의 중립의 휴지 위치, 또는 일부 실시예들에서는 디바이스에 의해 초기에 검출되는 물리적 특징부의 위치)로부터의 물리적 특징부의 움직임의 방향에 기초하여 결정된다. 일부 실시예들에서, 아바타 특징부의 반응의 방향은 물리적 특징부의 변화의 상대적인 방향에 직접 대응한다(예를 들어, 물리적 특징부가 위로 이동되고, 아바타 특징부가 또한 위로 이동된다). 다른 실시예들에서, 아바타 특징부의 반응의 방향은 물리적 특징부의 변화의 상대적인 방향에 반대로 대응한다(예를 들어, 물리적 특징부가 위로 이동되고, 아바타 특징부가 아래로 이동된다).
일부 실시예들에서, 아바타 특징부의 변화의 방향 컴포넌트는 물리적 특징부의 변화의 방향 컴포넌트에 대해 미러링된다. 예를 들어, 물리적 특징부(예를 들어, 사용자의 입)가 좌측으로 이동될 때, 아바타 특징부(예를 들어, 아바타 입)가 우측으로 이동된다. 일부 실시예들에서, 아바타 특징부의 변화의 방향 컴포넌트는, 거울을 볼 때 보여지는 효과와 유사하게, 수직 축을 따른 움직임에 대한 물리적 특징부의 변화의 방향 컴포넌트와 동일하고, 수평 축을 따른 움직임에 대해 미러링된다. 일부 실시예들에서, 사용자의 홍채의 중립의 휴지 위치는 사용자의 안구의 주연부에 대한 특정 위치인 것으로 결정된다(예를 들어, 중심설정된다).
도 10a는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 대변 아바타(1000)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 대변 아바타는 4개의 디스플레이된 상태들(1011A, 1011B, 1011C, 1011D)을 갖는 것으로 도시되며, 대변 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1001A, 1001B, 1001C, 1001D)에 각각 대응한다. 구체적으로, 도 10a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타의 특징부들을 위치시키거나 수정한다. 도 10a에 도시된 실시예에서, 사용자의 검출된 얼굴 특징부들은 사용자의 입(1020)(코너들(1020A, 1020B)을 가짐) 및 사용자의 눈썹들(1022)을 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 10a의 실시예에서, 대변 아바타의 특징부들은 아바타 얼굴(1000C), 입(1030), 아바타 눈들(1032), 아바타의 상부 부분(1034), 아바타의 하부 부분(1036), 및 (소정의 상태들에서의) 아바타 눈썹들(1038)을 포함한다.
1001A에 예시된 바와 같이, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다. 예를 들어, 전자 디바이스는, 사용자의 입(1020) 및 눈썹들(1022)이 특정 얼굴 표정(예를 들어, 웃음 또는 찌푸림)과 연관된 위치가 아니라 이완된 중립 상태에 위치된다는 것을 검출한다. 사용자의 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1011A에서 중립 표정(예를 들어, 중립 상태)을 갖는 대변 아바타(1000)를 디스플레이한다. 구체적으로, 전자 디바이스는, 전형적으로 특정 얼굴 표정(예를 들어, 웃음 또는 찌푸림)과 연관되는 위치가 아니라 이완된 중립 상태에 있는 아바타 입(1030)을 갖는 대변 아바타를 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 대변 이모지와 같은 관련 이미지의 다른 표현들에 대응한다. 부가적으로, 전자 디바이스는 눈썹들(1038)이 없는 대변 아바타의 얼굴(1000C)을 디스플레이하고, 디스플레이(또는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향을 보고 있는 아바타 눈들(1032)을 디스플레이한다. 전자 디바이스는 또한 하부 부분(1036) 위의 중립의 직립 위치에 위치된 대변 아바타의 상부 부분(1034)을 디스플레이한다.
1001B에 예시된 바와 같이, 전자 디바이스는, 사용자의 입(1020)의 위치가 웃는 얼굴 표정을 형성한다(예를 들어, 사용자의 입의 코너들(1020A, 1020B) 중 하나 또는 둘 모두는 웃는 얼굴 표정을 형성하기 위해 상향 포즈(예를 들어, 상향 위치)에 위치된다)는 것을 검출한다. 사용자의 입(1020)의 위치를 검출하는 것에 응답하여, 전자 디바이스는 웃는 표정을 갖도록 아바타 입(1030)의 디스플레이를 수정하여, 아바타 입(1030)이 1011B에 도시된 바와 같이 열린 웃는 위치를 갖게 한다. 1011B에 도시된 바와 같이, 눈들(1032), 상부 부분(1034), 및 하부 부분(1036)은 1011A의 그들의 원래 위치들에 대해 변화되지 않게 유지된다.
1001C에 예시된 바와 같이, 전자 디바이스는 사용자의 찌푸린 얼굴 표정을 검출한다. 일부 실시예들에서, 전자 디바이스는, 하향 포즈(예를 들어, 하향 위치)에 위치된 사용자의 입의 코너들(1020A, 1020B) 중 하나 또는 둘 모두 및 하향 위치에 있는(예를 들어, 1001A 및 10001B에서 이완된 중립 상태에 있을 때의 눈썹들(1022)의 위치와 비교할 때 사용자의 얼굴 상에서 찡그리거나 또는 더 낮게 위치된) 사용자의 눈썹들(1022)을 검출함으로써 찌푸린 얼굴 표정을 검출한다. 사용자의 찌푸린 얼굴의 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1011C에 도시된 바와 같이 찌푸리고 쳐진(drooping) 얼굴을 갖도록 대변 아바타를 수정한다. 예를 들어, 전자 디바이스는, 아바타의 입(1030)의 코너들이 입(1030)의 약간 열린 위치로 터닝 다운(turn down)되고 대변 아바타의 하부 부분(1036)이 대변 아바타의 입(1030)의 터닝-다운된 위치와 유사하게 하향으로 만곡되도록 대변 아바타를 수정한다. 도 10a의 실시예에서, 전자 디바이스가 사용자의 눈썹들(1022)의 하향 위치를 검출하는 동안, 아바타 눈들(1032) 위에 있는 대변 아바타의 해부학적으로 대응하는 부분에 대한 어떠한 수정들도 이루어지지 않는다.
일부 실시예들에서, 전자 디바이스는, 입(1030)이 터닝 다운되는 것 및 입(1030)이 터닝-다운된 위치로 이동되고 있을 때 하부 부분(1036)이 아래로 만곡되는 것의 애니메이션을 디스플레이함으로써 1011C에 도시된 쳐진 얼굴을 갖도록 대변 아바타를 수정한다. 일부 실시예들에서, 전자 디바이스는, 대변 아바타가 쳐진 얼굴을 만들 때 대변 아바타의 선단(tip)(1040)이 구부정해지거나 아래로 틸팅되도록 대변 아바타를 추가로 수정한다. 일부 실시예들에서, 선단(1040)의 위치는 구체적으로 사용자의 눈썹들(1022)(선단(1040)에 해부학적으로 대응하지 않는 물리적 특징부)의 위치에 기초한다. 일부 실시예들에서, 전자 디바이스는 사용자가 더 이상 찌푸린 표정을 만들지 않을 때 대변 아바타를 그의 중립 위치로 복귀시키도록 수정한다. 그러한 실시예들에서, 전자 디바이스는, 입(1030)이 중립 위치로 이동되는 것 및 하부 부분(1036)이 다시 그의 중립 위치로 이동되는 것의 애니메이션을 디스플레이함으로써 1011A의 중립 상태로 복귀하도록 대변 아바타를 수정한다. 일부 실시예들에서, 쳐진 얼굴로부터 중립 상태로 대변 아바타를 복귀시키는 것은, 전자 디바이스가 대변 아바타의 선단(1040)이 그의 중립 위치로 똑바르게 되는 것을 디스플레이하는 것을 포함한다.
1001D에 예시된 바와 같이, 전자 디바이스는 사용자의 입의 코너들(1020A, 1020B)이 약간 올라가고 사용자의 눈썹들(1022)이 (예를 들어, 1001A 및 1001B에 도시된 이완된 중립 상태에 있을 때의 눈썹들(1022)의 위치와 비교할 때 사용자의 얼굴 상에서 더 높게 위치된) 올라간 위치에 있는 것을 검출한다. 사용자의 입(1020)의 코너들(1020A, 1020B)의 위치들을 검출하는 것에 응답하여, 전자 디바이스는, 아바타의 입(1030)의 코너들이 사용자의 입(1020)의 코너들(1020A, 1020B)의 위치와 매칭하도록 약간 올라가도록 대변 아바타의 디스플레이를 수정한다. 사용자의 눈썹들(1022)의 올라간 위치를 검출하는 것에 응답하여, 전자 디바이스는, (예를 들어, 대변 아바타(1000)가 그의 눈썹들(1038)을 올리고 있는 인상을 전달하기 위해) 대변 아바타의 눈들(1032) 위에 위치된 눈썹들(1038)을 올라간 위치에 도입하고 (예를 들어, 하부 부분(1036)의 원래 위치를 유지하면서 대변 아바타의 선단(1040)을 연장시킴으로써) 대변 아바타의 상부 부분(1034)을 상향 방향으로 연장시킴으로써 대변 아바타를 수정한다. 1001D 및 1011D에 도시된 실시예에서, 전자 디바이스는, 사용자의 눈썹들(1022)이 올라갈 때, 아바타의 눈썹들(1038)을 도입하고 대변 아바타의 선단(1040)을 연장시킨다. 일부 실시예들에서, 사용자의 눈썹들(1022)이 그들의 중립 위치로 복귀할 때, 전자 디바이스는 아바타 눈썹들(1038)을 제거하고 선단(1040)을 이완시킨다. 일부 실시예들에서, 전자 디바이스는, 눈썹들(1038)이 대변 아바타 눈들(1032)을 향해 하향으로 이동되는 것을 애니메이션화하고 눈들(1032) 위에서 대변 아바타 얼굴(1000C) 내로 사라지게 함으로써 대변 아바타의 눈썹들(1038)을 제거한다.
도 10b는, 전자 디바이스가 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 대변 아바타를 수정하는 것을 예시하는 예시적인 실시예를 예시하며, 대변 아바타에 대한 수정들은 과장된 방식으로 아바타 특징부들을 이동시키는 것을 포함한다. 일부 실시예들에서, 가상 아바타의 특징부들을 과장시키는 것은, 그들의 얼굴의 대응하는 특징부(들)를 불편하게 변화시킬 필요 없이 사용자가 아바타 특징부에 대한 최대 변화들에 영향을 주게 허용한다. 예를 들어, 도 10b에 도시된 바와 같이, 사용자는 사용자의 입을 불편하게 열 필요 없이(예를 들어, 사용자의 입의 예측된 또는 결정된 모션 범위의 최대 범위로 사용자의 입을 열 필요 없이) 아바타로 하여금 (예를 들어, 놀란 표정에서) 그의 입을 가능한 넓게 열게 할 수 있다.
대변 아바타는 3개의 디스플레이된 상태들(1012A, 1012B, 1012C)을 갖는 것으로 도 10b에 도시되며, 대변 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1002A, 1002B, 1002C)에 각각 대응한다. 구체적으로, 도 10b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타의 특징부들을 위치시키거나 수정한다. 도 10b에 도시된 실시예에서, 사용자의 검출된 얼굴 특징부들은 사용자의 입(1020)을 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 10b의 실시예에서, 대변 아바타의 특징부들은 아바타 입(1030), 아바타 눈들(1032), 아바타의 상부 부분(1034), 및 아바타의 하부 부분(1036)을 포함한다.
1002A에 예시된 바와 같이, 전자 디바이스는 사용자의 입(1020)이 약간 열린(예를 들어, 사용자의 입의 예측된 또는 결정된 모션 범위의 최대 범위의 10%) 사용자의 제1 상태를 검출한다. 사용자의 약간 열린 입(1020)을 검출하는 것에 응답하여, 대변 아바타의 눈들(1032), 상부 부분(1034), 및 하부 부분(1036)과 같은 아바타의 다른 특징부들을 변화되지 않게 유지하면서, 대변 아바타의 입(1030)이 사용자의 입(1020)의 열린 위치보다 (예를 들어, 그들 개개의 모션 범위들 내에서) 더 큰 열린 위치(예를 들어, 아바타의 입에 대한 모델링된 모션 범위의 최대 범위의 20%)를 갖도록, 전자 디바이스는 1012A에 도시된 바와 같이 대변 아바타를 수정한다.
1002B에 예시된 바와 같이, 전자 디바이스는, 사용자의 입(1020)이 상태(1002A)에 있었던 것보다 그것이 더 넓게 열린(예를 들어, 사용자의 입의 예측된 또는 결정된 모션 범위의 최대 범위의 25%) 사용자의 얼굴 특징부들의 변화를 검출한다. 사용자의 입(1020)이 1002A의 약간 열린 위치로부터 1002B의 더 넓게 열린 것으로 전환하는 것을 검출하는 것에 응답하여, 대변 아바타의 눈들(1032), 상부 부분(1034), 및 하부 부분(1036)을 포함하는 다른 아바타 특징부들의 위치설정을 여전히 유지하면서, 입(1030)이 1012A에 도시된 것보다 훨씬 더 큰(예를 들어, 아바타의 입에 대한 모델링된 모션 범위의 최대 범위의 50%) 열린 위치를 갖도록, 전자 디바이스는 1012B에 도시된 바와 같이, 대변 아바타의 입(1030)을 크기가 증가하도록 수정한다.
1002C에 예시된 바와 같이, 전자 디바이스는, 사용자의 입(1020)이 1002B에 있었던 것보다 그것이 훨씬 더 넓게 열린(예를 들어, 사용자의 입의 예측된 또는 결정된 모션 범위의 최대 범위의 50%) 사용자의 얼굴 특징부들의 또 다른 변화를 검출한다. 사용자의 입(1020)이 1002B의 열린 위치로부터 1002C의 더 넓게 열린 것으로 전환하는 것을 검출하는 것에 응답하여, 입(1030)이 1012B에 도시된 것보다 훨씬 더 큰(예를 들어, 아바타의 입에 대한 모델링된 모션 범위의 최대 범위의 100%) 열린 위치를 갖도록, 전자 디바이스는 1012C에 도시된 바와 같이, 대변 아바타의 입(1030)을 크기가 추가로 증가하도록 수정한다. 그러나, 1012C에서, 입(1030)의 열림은 하부 부분(1036)의 높이보다 크다. 그 결과, 전자 디바이스는 사용자의 열린 입(1020)에 응답하여 대변 아바타(1000)의 구조적 완전성을 유지하기 위해 1042에서 대변 아바타(1000)의 하부 부분(1036)을 팽장시킨다. 다시 말하면, 사용자의 열린 입(1020)에 응답하여 아바타 및 그의 특징부들의 일관된 위치설정을 유지하기 위해, 디바이스는 가상 아바타의 하나 이상의 상호연결된 부분들(예를 들어, 하부 부분(1036))을 수정한다. 예를 들어, 1012C에 도시된 바와 같이, 전자 디바이스는 확대된 아바타 입(1030)의 증가된 크기를 수용하기 위해 구역(1042)에서 아바타 입(1030)에 인접한 대변 아바타의 하부 부분(1036)을 확장시킨다. 전자 디바이스가 이러한 방식으로 하부 부분(1036)을 수정하지 않았다면, 확대된 입(1030)은 가상 아바타의 구조를 넘어서 연장될 것이며, 그에 의해 사용자가 가상 아바타를 사용하여 통신하도록 의도하는 맥락 및/또는 톤을 잠재적으로 방해한다.
일부 실시예들에서, (예를 들어, 1012A에 예시된 위치로부터 1012B에 예시된 위치로, 또는 1012B에 예시된 위치로부터 1012C에 예시된 위치로의) 아바타 입(1030)의 크기의 증가는 (예를 들어, 1002A에 예시된 위치로부터 1002B에 예시된 위치로, 또는 1002B에 도시된 위치로부터 1002C에 예시된 위치로의)사용자의 입(1020)의 크기의 증가에 비례하는 것이 아니라, 오히려 크기의 과장된 변화율을 제공하도록 스케일링된다. 예를 들어, 일부 실시예들에서, 스케일은 아바타의 입의 상대적인 열린 위치가 사용자의 입의 상대적인 열린 위치의 2배가 되도록 하는 2배의 곱셈 인자이다. 예를 들어, 사용자의 입이 사용자의 입의 최대 모션 범위의 10%로 열리면, 전자 디바이스는 아바타의 입의 모델링된 모션 범위의 최대 범위의 20%로 열린 아바타의 입을 디스플레이한다.
도 10c는 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 대변 아바타를 수정하는 것을 예시하는 예시적인 실시예를 예시하며, 여기서 대변 아바타에 대한 수정들은 대변 아바타의 하부 부분을 정지 상태로 유지하면서 대변 아바타의 상부 부분을 전방 및 후방으로 회전(예를 들어, 틸팅)시키는 것을 포함한다. 전자 디바이스는 3개의 디스플레이된 상태들(1013A, 1013B, 1013C)을 갖는 대변 아바타를 디스플레이하며, 대변 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1003A, 1003B, 1003C)에 각각 대응한다. 구체적으로, 도 10c의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타의 특징부들을 위치시키거나 수정한다. 도 10c에 도시된 실시예에서, 사용자의 물리적 특징부들은 사용자의 얼굴(1024), 턱끝(1026), 및 머리(1028)를 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 10c의 실시예에서, 대변 아바타의 특징부들은 아바타 입(1030), 아바타 눈들(1032), (대변 아바타의 선단(1040)을 포함하는) 아바타의 상부 부분(1034), 및 아바타의 하부 부분(1036)을 포함한다.
1003A에 예시된 바와 같이, 전자 디바이스는 상향 방향으로 회전된 위치를 갖는 사용자의 얼굴(1024)을 검출한다. 예를 들어, 사용자는 그들의 얼굴(1024)을 상향 방향으로 위치시키기 위해 그들의 턱끝(1026)을 들어올렸고 (예를 들어, 카메라(예를 들어, 카메라(143), 광학 센서(164))의 뷰의 평면으로부터 멀어지게) 그들의 머리(1028)를 뒤로 틸팅했다. 사용자의 얼굴(1024)의 상향 위치를 검출하는 것에 응답하여, 전자 디바이스는 1013A에 도시된 바와 같이, 디스플레이로부터 멀어지는 방향으로(예를 들어, 후방으로 - 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면으로부터 멀어지게) 대변 아바타의 상부 부분(1034)을 틸팅함으로써 위를 보도록 대변 아바타를 수정한다. 이러한 후방-틸팅된 위치에서, 전자 디바이스는, 위를 보도록 대변 아바타를 수정할 때 선단(1040)의 시프트된 위치를 예시하기 위해 대변 아바타(1000)의 후면을 향해 위치되는 대변 아바타의 선단(1040)을 디스플레이한다. 부가적으로, 전자 디바이스는, 1013A에 도시된 바와 같이, (예를 들어, 아바타 눈(1032)의 상단을 향해 대변 아바타의 동공 또는 홍채(1032A)를 시프트시킴으로써) 위를 보도록 대변 아바타의 눈들(1032)을 수정한다. 전자 디바이스가 대변 아바타의 상부 부분(1034)을 틸팅하고 위를 보도록 눈들(1032)을 수정하는 동안, 전자 디바이스는 대변 아바타의 다른 특징부들을 변화되지 않게 유지한다. 예를 들어, 전자 디바이스가 상부 부분(1034)이 하부 부분(1036)의 폭을 따라 연장되는 축(예를 들어, x-축)을 중심으로 후방으로 회전되었다는 것을 나타내도록, 전자 디바이스는 아바타 입(1030)의 위치를 유지하고 대변 아바타의 하부 부분(1036)의 위치를 고정시킨다.
1003B에 예시된 바와 같이, 전자 디바이스는 하향 방향으로 회전된 위치를 갖는 사용자의 얼굴(1024)을 검출한다. 예를 들어, 사용자는 그들의 얼굴(1024)을 하향 방향으로 위치시키기 위해 그들의 턱끝(1026)을 내리고(또는 밀어넣고) (예를 들어, 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면을 향해) 그들의 머리(1028)를 전방으로 틸팅한다. 사용자의 얼굴(1024)의 하향 위치를 검출하는 것에 응답하여, 전자 디바이스는 1013B에 도시된 바와 같이, 디스플레이를 향하는 방향으로(예를 들어, 전방으로 - 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면을 향해) 대변 아바타의 상부 부분(1034)을 틸팅함으로써 아래를 보도록 대변 아바타를 수정한다. 이러한 전방-틸팅된 위치에서, 전자 디바이스는, 아래를 보도록 대변 아바타를 수정할 때 선단(1040)의 시프트된 위치를 예시하기 위해 대변 아바타의 전면을 향해 위치되는 대변 아바타의 선단(1040)을 디스플레이한다. 부가적으로, 전자 디바이스는, 1013B에 도시된 바와 같이, (예를 들어, 아바타 눈(1032)의 하단을 향해 대변 아바타의 동공 또는 홍채(1032A)를 시프트시킴으로써) 아래를 보도록 대변 아바타의 눈들(1032)을 수정한다. 전자 디바이스가 대변 아바타의 상부 부분(1034)을 틸팅하고 아래를 보도록 눈들(1032)을 수정하는 동안, 전자 디바이스는 대변 아바타의 다른 특징부들을 변화되지 않게 유지한다. 예를 들어, 전자 디바이스가 상부 부분(1034)이 하부 부분(1036)의 폭을 따라 연장되는 축(예를 들어, x-축)을 중심으로 전방으로 회전되었다는 것을 나타내도록, 전자 디바이스는 아바타 입(1030)의 위치를 유지하고 대변 아바타의 하부 부분(1036)의 위치를 고정시킨다.
1003C에 예시된 바와 같이, 전자 디바이스는, 사용자의 위치(구체적으로는, 사용자의 얼굴(1024) 및 머리(1028)의 위치)가 1003B에 도시된 하향으로-회전된 위치에 있지만, 또한 1003B에 도시된 위치로부터 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내에서 하향으로 시프트된 것을 검출한다. 이에 응답하여, 전자 디바이스는, 1013B에 도시된 전방-틸팅된 위치에 있지만 또한 카메라의 시야 내에서 사용자의 시프트의 하향 방향을 미러링하기 위해 1013C의 디스플레이된 구역 내에서 하향으로 시프트된 대변 아바타(1000)를 디스플레이한다.
도 10d는 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 대변 아바타를 수정하는 것을 예시하는 예시적인 실시예를 예시하며, 여기서 대변 아바타에 대한 수정들은 대변 아바타의 하부 부분을 정지 상태로 유지하면서 대변 아바타의 상부 부분을 회전시키는 것을 포함한다. 대변 아바타는 4개의 디스플레이된 상태들(1014A, 1014B, 1014C, 1014D)을 갖는 것으로 도시되며, 대변 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1004A, 1004B, 1004C, 1004D)에 각각 대응한다. 도 10d의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타의 특징부들을 위치시키거나 수정한다. 도 10d에 도시된 실시예에서, 사용자의 물리적 특징부들은 사용자의 입(1020), 얼굴(1024), 머리(1028), 및 어깨들(1021)을 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 10d의 실시예에서, 대변 아바타의 특징부들은 아바타 입(1030), 아바타 눈들(1032), (대변 아바타의 선단(1040)을 포함하는) 아바타의 상부 부분(1034), 및 아바타의 하부 부분(1036)을 포함한다.
1004A에 예시된 바와 같이, 전자 디바이스는, 사용자의 어깨들(1021)이 전방으로 위치되게 유지되는 동안 사용자의 우측 측부로 회전된 사용자의 머리(1028), 및 선택적으로는 사용자의 얼굴(1024)(또는 얼굴(1024)을 포함하는 다양한 물리적 특징부들)을 검출한다. 이에 응답하여, 가상 아바타의 비틀림(twisting) 모션이 사용자의 머리(1028) 및 얼굴(1024)의 우향 회전 움직임을 미러링하도록 (하부 부분(1036)을 정지상태로 유지하면서) 대변 아바타의 상부 부분(1034)을 우측으로 비틀게 함으로써, 전자 디바이스는 1014A에 도시된 바와 같이 대변 아바타를 수정한다. 전자 디바이스는 또한 사용자의 입(1020)의 웃는 포즈를 검출하고, 아바타 입(1030)을 웃도록 수정한다. 1014A에 도시된 바와 같이, 전자 디바이스는 대변 아바타의 중심을 통해 수직으로 연장되는 축(1051)(예를 들어, y-축)을 중심으로 대변 아바타의 상부 부분(1034)을 비튼다. 전자 디바이스가 대변 아바타의 상부 부분(1034)을 우측으로 비틀 때, 전자 디바이스는 또한 대변 아바타의 선단(1040)을 좌측으로 시프트시키고, 대변 아바타의 눈들(1032)을 우측으로 이동시키고, 대변 아바타의 상부 부분(1034)에 형성된 층들 또는 주름들(1034A)의 양을 증가시키며, 그에 의해, 하부 부분(1036)의 약간의 비틀림(1070)을 포함하는 뒤틀린 외관을 대변 아바타에게 제공하고, 이는 상부 부분(1034)과 하부 부분(1036) 사이의 상호연결된 관계에 기초하여 모델링된다. 대변 아바타에 대한 이들 수정들은, 아바타의 부분들(예를 들어, 대변 아바타의 선단(1040))이 반드시 사용자의 물리적 특징부들에 해부학적으로 대응하지는 않더라도, 사용자의 물리적 움직임들을 모방하는 애니메이션화된 효과를 제공한다.
1004B 및 1014B는, 전자 디바이스가, 사용자의 어깨들(1021)이 전방으로 위치되게 유지되는 동안 사용자의 좌측 측부로 회전된 사용자의 머리(1028), 및 선택적으로는 사용자의 얼굴(1024)(또는 얼굴(1024)을 포함하는 다양한 물리적 특징부들)을 검출하는 유사한 효과를 예시한다. 이에 응답하여, 가상 아바타의 비틀림 모션이 사용자의 머리(1028) 및 얼굴(1024)의 좌향 회전 움직임을 미러링하도록 (하부 부분(1036)을 정지상태로 유지하면서) 대변 아바타의 상부 부분(1034)을 좌측으로 비틀게 함으로써, 전자 디바이스는 1014B에 도시된 바와 같이 대변 아바타를 수정한다. 1014B에 도시된 바와 같이, 전자 디바이스는 대변 아바타의 중심을 통해 수직으로 연장되는 축(1051)을 중심으로 대변 아바타의 상부 부분(1034)을 비튼다. 전자 디바이스가 대변 아바타의 상부 부분(1034)을 좌측으로 비틀 때, 전자 디바이스는 또한 대변 아바타의 선단(1040)을 우측으로 시프트시키고, 대변 아바타의 눈들(1032)을 좌측으로 이동시키고, 대변 아바타의 상부 부분(1034)에 형성된 층들 또는 주름들(1034A)의 양을 증가시키며, 그에 의해, 하부 부분(1036)의 약간의 비틀림(1070)을 포함하는 뒤틀린 외관을 대변 아바타에게 제공하고, 이는 상부 부분(1034)과 하부 부분(1036) 사이의 상호연결된 관계에 기초하여 모델링된다.
일부 실시예들에서, 전자 디바이스는 사용자의 어깨들(1021)의 움직임(예를 들어, 회전 움직임) 또는 위치설정을 추적하지 않아서, 사용자는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 전방에서, 고정된 배향 또는 위치를 유지할 필요 없이 가상 아바타의 변화에 영향을 줄 수 있다. 예를 들어, 1004C에 도시된 바와 같이, 사용자의 어깨들(1021)은 사용자의 우측으로 틸팅되거나 터닝되지만, 대변 아바타의 하부 부분(1036)은 1014C에 도시된 바와 같이 고정되게 유지된다. 그러나, 전자 디바이스는 사용자의 우측 측부로 회전된 사용자의 머리(1028) 및 선택적으로는 사용자의 얼굴(1024)을 검출한다. 따라서, 1014C에 도시된 바와 같이, 전자 디바이스는, 사용자가 그들의 어깨들(1021)을 터닝하는 것에 응답하여 대변 아바타를 추가로 수정하지 않으면서, 1014A에 대해 위에서 논의된 바와 같이 그에 따라 대변 아바타를 수정한다. 유사한 효과가 1004D 및 1014D에 도시되며, 여기서 사용자의 어깨들(1021)은 사용자의 머리(1028)와 함께 사용자의 좌측으로 틸팅되거나 터닝되고, 전자 디바이스는, 사용자가 그들의 어깨들(1021)을 터닝하는 것에 응답하여 대변 아바타(예를 들어, 하부 부분(1036))를 추가로 수정하지 않으면서, 1014B에 대해 위에서 논의된 바와 같이 대변 아바타를 수정한다.
도 10e는 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 대변 아바타를 수정하는 것을 예시하는 예시적인 실시예를 예시하며, 여기서 대변 아바타에 대한 수정들은 대변 아바타의 하부 부분을 정지 상태로 유지하면서 대변 아바타의 상부 부분을 틸팅하는 것을 포함한다. 대변 아바타는 4개의 디스플레이된 상태들(1015A, 1015B, 1015C, 1015D)을 갖는 것으로 도시되며, 대변 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1005A, 1005B, 1005C, 1005D)에 각각 대응한다. 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타의 특징부들을 위치시키거나 수정한다. 도 10e에 도시된 실시예에서, 사용자의 물리적 특징부들은 사용자의 입(1020), 얼굴(1024), 머리(1028), 어깨들(1021), 눈들(1023), 및 목(1025)을 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 10e의 실시예에서, 대변 아바타의 특징부들은 아바타 입(1030), 아바타 눈들(1032), (대변 아바타의 선단(1040) 및 중간 부분(1031)을 포함하는) 아바타의 상부 부분(1034), 및 아바타의 하부 부분(1036)을 포함한다.
1005A에 예시된 바와 같이, 전자 디바이스는, 사용자의 어깨들(1021)이 전방으로 위치되게 유지되는 동안 사용자의 우측 측부로 틸팅된 사용자의 머리(1028), 및 선택적으로는 사용자의 얼굴(1024)(또는 얼굴(1024)을 포함하는 다양한 물리적 특징부들)을 검출한다. 전자 디바이스는 또한 사용자의 목(1025)이 사용자의 우측으로 약간 틸팅되어 있다는 것을 검출한다. 이에 응답하여, 가상 아바타의 틸팅 모션이 사용자의 머리(1028)(및/또는 얼굴(1024)) 및 목(1025)의 우향 틸트를 미러링하도록 하부 부분(1036)을 정지상태로 유지하면서 대변 아바타의 상부 부분(1034)(대변 아바타의 상부 부분(1034)은 선단(1040) 및 중간 부분(1031)을 포함함)을 우측으로 틸팅함으로써, 전자 디바이스는 1015A에 도시된 바와 같이 대변 아바타를 수정한다.
틸트의 방향을 미러링하는 것에 부가하여, 전자 디바이스는 1005A에 도시된 사용자의 다양한 물리적 특징부들에 존재하는 다양한 틸트의 정도를 고려하도록 가상 아바타를 수정한다. 예를 들어, 사용자의 상부 부분들(예를 들어, 사용자의 머리(1028))은 사용자의 하부 부분들(예를 들어, 사용자의 목(1025))보다 더 큰 정도로 틸팅된다. 따라서, 1015A에 도시된 바와 같이, 전자 디바이스는, 움직임 또는 틸트의 양이 가상 아바타의 상단에서(예를 들어, 선단(1040)에서) 가장 크고 가상 아바타의 하단에서(예를 들어, 하부 부분(1036)에서) 가장 작도록 가상 아바타를 수정한다. 다시 말하면, 틸트의 양은 가상 아바타의 상단으로부터 하단으로 감소하며, 이는 1005A에서 사용자에서 나타나는 틸트의 정도의 변동과 일치한다. 이는, 큰 틸트의 정도를 갖는 대변 아바타의 선단(1040), 선단(1040)보다 더 적은 틸트의 정도를 갖는 중간 부분(1031), 및 어떠한 틸트도 갖지 않는 하부 부분(1036)에 의해 1015A에서 입증된다. 대변 아바타에 대한 이들 수정들은, 아바타의 부분들(예를 들어, 대변 아바타의 선단(1040))이 반드시 사용자의 물리적 특징부들에 해부학적으로 대응하지는 않더라도, 사용자의 물리적 움직임들을 모방하는 애니메이션화된 효과를 제공한다. 또한, 전자 디바이스는, 사용자가 그들의 머리(1028) 및 목(1025)을 틸팅할 때와 같이, 사용자의 물리적 특징부들에서의 감소된 모션 범위를 모방하기 위해 다양한 틸트의 정도로 가상 아바타를 수정한다.
1005B 및 1015B는 전자 디바이스가 사용자의 좌측 측부로 틸팅된 사용자의 머리(1028) 및 목(1025)을 검출하는 유사한 효과를 예시한다. 이에 응답하여, 1005A 및 1015A에 대해 위에서 더 상세히 논의된 바와 같이, 가상 아바타의 틸팅 모션이 사용자의 머리(1028) 및 목(1025)의 좌향 틸트를 미러링하도록 하부 부분(1036)을 정지상태로 유지하면서 다양한 틸트의 정도들로 대변 아바타의 상부 부분(1034)을 좌측으로 틸팅함으로써(예를 들어, 선단(1040)은 중간 부분(1031)보다 더 큰 정도로 틸팅됨), 전자 디바이스는 1015B에 도시된 바와 같이 대변 아바타를 수정한다.
1005C에 예시된 바와 같이, 전자 디바이스는, 사용자의 우측 측부로 시프트된 사용자의 눈들(1023)(예를 들어, 사용자의 눈의 홍채 또는 동공) 및 상향 포즈로 위치된 사용자의 입(1020)의 코너들(1020A, 1020B)에 의해 형성된 웃는 얼굴 표정을 검출한다. 사용자의 눈들(1023)의 우향 시프트를 검출하는 것에 응답하여, 전자 디바이스는, 1015C에 도시된 바와 같이, (예를 들어, 아바타 눈(1032)의 우측 측부를 향해 대변 아바타의 동공 또는 홍채(1032A)를 시프트시킴으로써) 우측을 보도록 대변 아바타의 눈들(1032)을 수정한다. 사용자의 입의 코너들(1020A, 1020B) 중 하나 또는 둘 모두가 상향 포즈로 위치되는 것을 검출하는 것에 응답하여, 전자 디바이스는 웃는 표정을 갖도록 아바타 입(1030)의 디스플레이를 수정하며, 여기서 아바타 입(1030)은 1015C에 도시된 바와 같이 열린 웃는 위치를 갖는다. 1015C에 도시된 바와 같이, 상부 부분(1034) 및 하부 부분(1036)은 (1011A에 도시된) 그들의 개개의 중립 위치들에 대해 변화되지 않게 유지된다.
1005D 및 1015D는, 전자 디바이스가 사용자의 웃는 얼굴 표정, 및 사용자의 좌측 측부로 시프트된 사용자의 눈들(1023)(예를 들어, 사용자의 눈의 홍채 또는 동공)을 검출하는 유사한 효과를 예시한다. 사용자의 눈들(1023)의 좌향 시프트를 검출하는 것에 응답하여, 전자 디바이스는, 1015D에 도시된 바와 같이, (예를 들어, 아바타 눈(1032)의 좌측 측부를 향해 대변 아바타의 동공 또는 홍채(1032A)를 시프트시킴으로써) 좌측을 보도록 대변 아바타의 눈들(1032)을 수정한다. 코너들(1020A, 1020B) 중 하나 또는 둘 모두가 상향 포즈에 있는 것을 검출하는 것에 응답하여, 전자 디바이스는, 1015C에 대해 위에서 논의된 바와 같이 웃는 표정을 갖도록 아바타 입(1030)의 디스플레이를 수정한다. 다시, 상부 부분(1034) 및 하부 부분(1036)은 (1011A 및 1015C에 도시된) 그들의 개개의 중립 위치들에 대해 1015D에서 변화되지 않게 유지된다.
도 10f는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내에서 사용자의 위치의 시프트를 검출하는 것에 응답하여 전자 디바이스가 대변 아바타를 수정하는 것의 예시적인 실시예를 예시한다. 대변 아바타에 대한 수정들은 카메라의 시야 내의 사용자의 위치의 시프트에 대응하는 방향으로 대변 아바타를 시프트(예를 들어, 병진이동)하는 것을 포함한다. 대변 아바타는 4개의 디스플레이 구역들(1016A, 1016B, 1016C, 1016D)에서 4개의 디스플레이된 상태들을 갖는 것으로 도시되며, 대변 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1006A, 1006B, 1006C, 1006D)에 각각 대응한다. 도 10f의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에 도시된 바와 같이 카메라의 시야 내에서 검출된 사용자의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타를 위치시키거나 수정한다. 4개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1016A, 1016B, 1016C, 1016D의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1006A에 예시된 바와 같이, 전자 디바이스는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내에서 수평으로 중심설정된 것으로 사용자의 위치를 검출한다. 카메라의 시야 내에서 사용자의 수평으로 중심설정된 위치를 검출하는 것에 응답하여, 전자 디바이스는 1016A에 도시된 바와 같이 디스플레이 구역 내에서 수평으로 중심설정된 위치를 갖는 대변 아바타를 디스플레이한다.
1006B에서, 전자 디바이스는, 사용자의 위치가 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야에서 우향 방향으로 중심을 벗어난 것(예를 들어, 시프트되거나 병진이동된 것)을 검출한다. 다시 말하면, 사용자는 사용자의 좌측 방향으로 시프트되지만(예를 들어, 카메라의 시야에 대해 우측으로 시프트되지만), 카메라의 시야 내에서 완전히 보이게 유지된다. 1006B에서 사용자의 시프트된 위치를 검출하는 것에 응답하여, 전자 디바이스는, 사용자의 좌측 방향으로의 사용자의 방향 시프트를 미러링하기 위해, 대변 아바타가 1016B에 도시된 바와 같이 좌향-시프트된 위치에 디스플레이되도록 (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타의 수평 위치를 시프트시킨다. 1006B에 도시된 바와 같이, 사용자는, 그들의 좌측 어깨(1021A)가 시야의 우측 에지 부근에 있게 그들의 좌측 측부로 시프트된다. 따라서, 전자 디바이스는 카메라 시야 내에서 사용자의 시프트된 위치의 방향을 미러링하여, 1016B의 디스플레이 구역의 좌측 에지 부근에 위치된 대변 아바타를 디스플레이한다. 일부 실시예들에서, 사용자의 시프트된 위치는 방향 및 크기 둘 모두에서 가상 아바타의 시프트에 의해 미러링된다. 일부 실시예들에서, 사용자의 시프트된 위치는 방향에서만 가상 아바타의 시프트에 의해 미러링되고, 가상 아바타의 시프트의 크기는 디스플레이 구역의 경계들 내에서 가상 아바타의 위치를 유지하도록 조정(예를 들어, 감쇠(dampen))된다. 그러한 실시예의 예가 1006C, 1016C, 1006D, 1016D에 대해 아래에서 논의된다.
1006C에서, 전자 디바이스는, 사용자의 위치가 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야에서 우측 방향으로 중심을 벗어난 것(예를 들어, 시프트되거나 병진이동된 것)을 검출한다. 다시 말하면, 사용자는 사용자의 좌측 방향으로 멀리 시프트되지만(예를 들어, 카메라의 시야에 대해 우측으로 시프트되지만), 사용자의 좌측 어깨(1021A)가 더 이상 카메라의 시야 내에 있지 않을 만큼 많이 시프트된다. 1006C에서 사용자의 급격하게 시프트된 위치를 검출하는 것에 응답하여, (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타가 1016C에 도시된 디스플레이 구역의 좌측 경계에 대해 위치된 대변 아바타의 최외측 에지(예를 들어, 하부 부분(1036)의 에지(1036A))에 대하여 완전히 좌향-시프트된 위치에 디스플레이되도록, 전자 디바이스는 대변 아바타의 수평 위치를 시프트시킨다. 1016C의 대변 아바타의 시프트된 디스플레이는 사용자의 좌측 방향으로의 사용자의 시프트의 방향을 미러링하지만, 아바타의 일부가 (사용자가 1006C에서 행하는 것과 같이) 1016C에서 디스플레이 구역을 넘어 연장되도록 대변 아바타를 시프트시키는 대신에, 디바이스는 디스플레이 구역(1016C)의 에지에 대변 아바타를 위치시킨다. 사용자의 일부가 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야를 넘어설 때에도, 디스플레이 구역(예를 들어, 1016A, 1016B, 1016C, 1016D) 내에 가상 아바타의 위치를 유지함으로써, 전자 디바이스는 사용자가 카메라의 전방에서, 고정된 배향 또는 위치를 유지할 필요 없이 가상 아바타의 변화에 영향을 주게 허용한다.
유사한 효과가 1006D 및 1016D에 예시된다. 1006D에서, 전자 디바이스는, 사용자의 우측 어깨가 더 이상 카메라의 시야 내에 있지 않도록 사용자가 그들의 우측으로(예를 들어, 카메라의 시야의 좌측으로) 시프트된 것을 검출한다. 사용자의 멀리-시프트된 위치를 검출하는 것에 응답하여, (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타가 1016D에 도시된 디스플레이 구역의 우측 경계에 대해 위치된 대변 아바타의 최외측 에지(예를 들어, 하부 부분(1036)의 에지(1036B))에 대하여 완전히 우향-시프트된 위치에 디스플레이되도록, 전자 디바이스는 대변 아바타의 수평 위치를 시프트시킨다. 위에서 설명된 바와 같이, 사용자의 일부가 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야를 넘어설 때에도, 디스플레이 구역(1016D) 내에 가상 아바타의 위치를 유지함으로써, 전자 디바이스는 사용자가 카메라의 전방에서, 고정된 배향 또는 위치를 유지할 필요 없이 가상 아바타의 변화에 영향을 주게 허용한다.
도 10g는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내에서 사용자의 물리적 특징부들의 위치의 시프트를 검출하는 것에 응답하여 전자 디바이스가 대변 아바타를 수정하는 것의 예시적인 실시예를 예시한다. 대변 아바타에 대한 수정들은 카메라의 시야 내의 사용자의 물리적 특징부들의 위치의 시프트에 대응하는 방향으로 대변 아바타를 시프트(예를 들어, 병진이동)하는 것을 포함한다. 도 10g에 예시된 실시예는, 전자 디바이스가 사용자의 머리(1028)의 움직임 및 위치설정(예를 들어, 회전 움직임 및/또는 병진이동 움직임)을 추적하지만 사용자의 어깨들(1021) 및 선택적으로는 사용자의 목(1025)의 움직임 또는 위치설정을 추적하지 않는다는 점에서 도 10d 내지 도 10f에 대해 위에서 논의된 것들과 유사하다. 부가적인, 도 10g에 예시된 실시예는, 가상 아바타에 대한 수정들이 방향에서의 사용자의 움직임을 미러링하지만 반드시 크기에서의 사용자의 움직임을 미러링하지는 않는다는 점에서 도 10f의 실시예와 유사하다. 이들 기법들을 구현함으로써, 전자 디바이스는 사용자가 카메라(예를 들어, 카메라(143), 광학 센서(164))의 전방에서, 고정된 배향 또는 위치를 유지할 필요 없이 가상 아바타의 변화에 영향을 줄 수 있게 허용한다.
대변 아바타는 2개의 디스플레이 구역들(1017A, 1017B)에서 2개의 디스플레이된 상태들을 갖는 것으로 도시되며, 대변 아바타의 2개의 디스플레이된 상태들 각각은 사용자의 2개의 검출된 상태들(1007A, 1007B)에 각각 대응한다. 도 10g의 각각의 디스플레이된 상태에서, 디바이스는, 사용자의 개개의 상태들에 도시된 바와 같이 카메라의 시야 내에서 검출된 사용자의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타를 위치시키거나 수정한다. 2개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1017A, 1017B의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1007A에서, 전자 디바이스는, 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야에서 좌향 방향으로 시프트(예를 들어, 병진이동)된 사용자의 머리(1028) 및 선택적으로는 사용자의 목(1025)을 검출한다. 다시 말하면, 사용자의 머리(1028) 및 목(1025)은 사용자의 우측 방향으로 시프트된다(예를 들어, 카메라의 시야에 대해 좌측으로 시프트된다). 1007A에서 사용자의 머리(1028) 및 선택적으로는 사용자의 목(1025)의 시프트된 위치를 검출하는 것에 응답하여, 전자 디바이스는, 사용자의 우측 방향으로의 사용자의 머리의 시프트를 미러링하기 위해, 대변 아바타가 1017A에 도시된 바와 같이 우향-시프트된 위치에 디스플레이되도록 (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타의 수평 위치를 시프트시킨다.
유사한 효과가 1007B 및 1017B에 예시된다. 1007B에서, 전자 디바이스는, 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야에서 우향 방향으로 시프트(예를 들어, 병진이동)된 사용자의 머리(1028) 및 선택적으로는 사용자의 목(1025)을 검출한다. 다시 말하면, 사용자의 머리(1028) 및 목(1025)은 사용자의 좌측 방향으로 시프트된다(예를 들어, 카메라의 시야에 대해 우측으로 시프트된다). 1007B에서 사용자의 머리(1028) 및 선택적으로는 사용자의 목(1025)의 시프트된 위치를 검출하는 것에 응답하여, 전자 디바이스는, 사용자의 좌측 방향으로의 사용자의 머리의 시프트를 미러링하기 위해, 대변 아바타가 1017B에 도시된 바와 같이 좌향-시프트된 위치에 디스플레이되도록 (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타의 수평 위치를 시프트시킨다.
도 10h는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내에서 사용자의 물리적 특징부들의 위치의 변화들을 검출하는 것에 응답하여 전자 디바이스가 대변 아바타를 수정하는 것의 예시적인 실시예를 예시한다. 대변 아바타에 대한 수정들은, 대변 아바타의 크기를 증가 또는 감소시키는 것, 및 카메라의 시야 내의 사용자의 물리적 특징부들의 위치의 시프트에 대응하는 방향으로 대변 아바타를 시프트(예를 들어, 병진이동)하는 것을 포함한다. 대변 아바타는 4개의 디스플레이 구역들(1018A, 1018B, 1018C, 1018D)에서 4개의 디스플레이된 상태들을 갖는 것으로 도시되며, 대변 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1008A, 1008B, 1008C, 1008D)에 각각 대응한다. 도 10h의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에 도시된 바와 같이 카메라의 시야 내에서 검출된 사용자의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 대변 아바타를 위치시키거나 수정한다. 4개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1018A, 1018B, 1018C, 1018D의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1008A에서, 전자 디바이스는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야에서 사용자의 어깨들(1021)에 대해 상향 방향으로 시프트(예를 들어, 병진이동)된 사용자의 머리(1028)를 검출한다(예를 들어, 사용자가 그들의 목(1025)을 상향으로 신장시킨다). 1008A에서 사용자의 머리(1028)의 상향-시프트된 위치를 검출하는 것에 응답하여, 전자 디바이스는, 1008A에 도시된 상향 방향으로의 사용자의 머리(1028)의 시프트를 미러링하기 위해, 대변 아바타가 1018A에 도시된 디스플레이 구역의 상부 경계 부근에 위치된 대변 아바타의 최상측 에지(예를 들어, 선단(1040)의 에지(1040A))에 대하여 상향-시프트된 위치에 디스플레이되도록 (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타의 수직 위치를 시프트시킨다.
1008B에서, 전자 디바이스는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야에서 사용자의 어깨들(1021)에 대해 하향 방향으로 시프트(예를 들어, 병진이동)된 사용자의 머리(1028)를 검출한다(예를 들어, 사용자가 그들의 머리(1028)를 밀어넣는다(duck)). 1008B에서 사용자의 머리(1028)의 하향-시프트된 위치를 검출하는 것에 응답하여, 전자 디바이스는, 1008B에 도시된 하향 방향으로의 사용자의 머리(1028)의 시프트를 미러링하기 위해, 대변 아바타가 1018B에 도시된 디스플레이 구역의 하부 경계 부근에 위치된 대변 아바타의 최하측 에지(예를 들어, 하부 부분(1036)의 에지(1036C))에 대하여 하향-시프트된 위치에 디스플레이되도록 (상부 부분(1034) 및 하부 부분(1036) 둘 모두를 포함하는) 전체 대변 아바타의 수직 위치를 시프트시킨다.
1008C에서, 전자 디바이스는, 예를 들어, 사용자의 머리(1028)가 카메라에 더 가까이 위치될 때, 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내의 사용자의 머리(1028)의 크기의 증가를 검출한다. 1008C에서 사용자의 머리(1028)의 증가된 크기를 검출하는 것에 응답하여, 전자 디바이스는 전체 대변 아바타의 크기를 증가시킨다. 일부 실시예들에서, 전자 디바이스는, 하나의 검출된 상태(예를 들어, 도 10a의 1001A에서의 중립 상태)로부터 다른 검출된 상태(예를 들어, 검출된 상태(1008C))로의 사용자의 머리(1028)의 크기의 검출된 변화에 따라 대변 아바타의 크기를 증가시킨다. 1018C에서, 전자 디바이스는, 디스플레이 구역의 경계들을 넘어 대변 아바타의 일부를 연장시키지 않으면서 디스플레이 구역을 채우도록 대변 아바타의 크기를 증가시킨다. 일부 실시예들에서, 전자 디바이스는, 아바타가 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504))에 극도로 가까이 위치되는 인상을 제공하기 위해 가상 아바타의 크기를 증가시킨다.
예를 들어, 전자 디바이스는, 대변 아바타의 선단(1040)이 1040A에서 디스플레이 구역의 상부 경계에 인접하고, 대변 아바타의 하부 부분(1036)이 1036C에서 디스플레이 구역의 하부 경계에 인접하고, 하부 부분(1036)의 좌측 에지가 1036A에서 디스플레이 구역의 좌측 경계 부근에 있으며, 하부 부분(1036)의 우측 에지가 1036B에서 디스플레이 구역의 우측 경계 부근에 있도록 1018C에서 대변 아바타의 크기를 증가시킨다. 1018C에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는, 다양한 아바타 특징부들(예를 들어, 아바타의 눈들(1032), 입(1030), 상부 부분(1034), 및 하부 부분(1036))의 상대적인 위치가 대변 아바타의 형상에 대해 왜곡되지 않도록 대변 아바타의 크기를 비례적으로 증가시킨다. 예를 들어, 전자 디바이스가 1018C에서 대변 아바타의 크기를 증가시킬 때, 아바타 눈들(1032), 입(1030), 상부 부분(1034)(선단(1040)을 포함함), 및 하부 부분(1036)은 또한 크기가 증가하지만, 그렇지 않으면 변화되지 않게 유지된다.
1008D에서, 전자 디바이스는, 예를 들어, 사용자의 머리(1028)가 카메라로부터 더 멀리 위치될 때, 카메라(예를 들어, 카메라(143), 광학 센서(164))의 시야 내의 사용자의 머리(1028)의 크기의 감소를 검출한다. 1008D에서 사용자의 머리(1028)의 감소된 크기를 검출하는 것에 응답하여, 전자 디바이스는 전체 대변 아바타의 크기를 감소시킨다. 일부 실시예들에서, 전자 디바이스는, 하나의 검출된 상태(예를 들어, 도 10a의 1001A에서의 중립 상태)로부터 다른 검출된 상태(예를 들어, 검출된 상태(1008D))로의 사용자의 머리(1028)의 크기의 검출된 변화에 따라 대변 아바타의 크기를 감소시킨다. 1018D에서와 같이 일부 실시예들에서, 전자 디바이스는, 가상 아바타가 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504))로부터 멀리 위치되는 인상을 제공하기 위해 대변 아바타의 크기를 감소시킨다.
예를 들어, 전자 디바이스는, 대변 아바타의 선단(1040)이 1040A에서 디스플레이 구역의 상부 경계로부터 멀리 위치되고, 대변 아바타의 하부 부분(1036)이 1036C에서 디스플레이 구역의 하부 경계로부터 멀리 위치되고, 하부 부분(1036)의 좌측 에지가 1036A에서 디스플레이 구역의 좌측 경계로부터 멀리 위치되며, 하부 부분(1036)의 우측 에지가 1036B에서 디스플레이 구역의 우측 경계로부터 멀리 위치되도록 1018D에서 대변 아바타의 크기를 감소시킨다. 1018D에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는, 다양한 아바타 특징부들(예를 들어, 아바타의 눈들(1032), 입(1030), 상부 부분(1034), 및 하부 부분(1036))의 상대적인 위치가 대변 아바타의 형상에 대해 왜곡되지 않도록 대변 아바타의 크기를 비례적으로 감소시킨다. 예를 들어, 전자 디바이스가 1018D에서 대변 아바타의 크기를 감소시킬 때, 아바타 눈들(1032), 입(1030), 상부 부분(1034)(선단(1040)을 포함함), 및 하부 부분(1036)은 또한 크기가 감소하지만, 그렇지 않으면 변화되지 않게 유지된다.
도 10i는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 대변 아바타(1000)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 대변 아바타는 사용자의 검출된 상태(1009)에 대응하는 하나의 디스플레이된 상태(1019)를 갖는 것으로 도시된다. 1009 및 1019에 예시된 바와 같이, 전자 디바이스는 사용자가 퍼커링(puckering) 표정을 만든다는 것을 검출하고, 이에 응답하여, 대변 아바타의 입(1030)을 퍼커링된 입술들(1050)의 세트로 대체함으로써 대변 아바타(1000)를 수정한다. 1009에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는, 닫힌 위치에 있는 사용자의 턱(1027)을 검출하고, 사용자의 입술들(1029)(예를 들어, 사용자의 상부 입술(1029A) 및 하부 입술(1029B) 둘 모두)이 사용자의 입(1020)으로부터 외향으로 퍼커링된 포즈로 연장되게 하기 위해 사용자의 입(1020)의 코너들(1020A, 1020B)이 서로를 향해 움직이는 것을 검출함으로써 사용자가 퍼커링 얼굴 표정을 만들고 있다고 결정한다. 도 10i에 예시되어 있지 않지만, 일부 실시예들에서, 전자 디바이스는 도 16b에 예시되고 아래에서 더 상세히 논의되는 것과 유사한 방식으로 퍼커링된 입술들(1050)로부터 하트(heart)들을 방출하도록 대변 아바타를 수정한다.
도 11a는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 곰 아바타(1100)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 곰 아바타는 4개의 디스플레이된 상태들(1111A, 1111B, 1111C, 1111D)을 갖는 것으로 도시되며, 곰 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1101A, 1101B, 1101C, 1101D)에 각각 대응한다. 도 11a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 곰 아바타의 특징부들을 위치시키거나 수정한다. 도 11a에 도시된 실시예에서, 사용자의 검출된 얼굴 특징부들은 사용자의 입(1120)(코너들(1120A, 1120B)을 가짐) 및 사용자의 눈썹들(1122)을 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 11a의 실시예에서, 곰 아바타의 특징부들은 아바타 입(1130), 아바타 눈들(1132), 아바타 귀들(1133), 아바타 코(1137), 아바타 머리(1135), 및 (소정의 상태들에서의) 아바타 눈썹들(1138)을 포함한다.
1101A에 예시된 바와 같이, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다. 예를 들어, 디바이스는, 사용자의 입(1120) 및 눈썹들(1122)이 특정 얼굴 표정, 이를테면 웃음 또는 찌푸림과 연관된 위치가 아니라 이완된 중립 상태에 위치된다는 것을 검출한다. 사용자의 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1111A에서 중립 표정 또는 상태를 갖는 곰 아바타(1100)를 디스플레이한다. 구체적으로, 전자 디바이스는, 전형적으로 특정 얼굴 표정(예를 들어, 웃음 또는 찌푸림)과 연관되는 위치가 아니라 이완된 중립 상태에 있는 아바타 입(1130)을 갖는 곰 아바타를 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 곰 이모지와 같은 관련 이미지의 다른 표현들에 대응한다. 1111A에서, 곰의 입(1130)의 중립 상태는, 곰의 입(1130) 또는 "주둥이(snout)" 구역의 외부로부터 수평으로 연장되고 이어서 곰의 코(1137)의 베이스(base)에서 약간 위로 만곡되는 라인들(1130A, 1130B)에 의해 표시된다. 전자 디바이스는 또한, 이완된 입(1130) 위에 놓이는 코(1137), 및 곰의 머리(1135)의 측부를 따라 위치되는 이완된 중립 상태에 있고 감기거나(curl) 신장되지 않는 귀들(1133)을 갖는 곰 아바타를 디스플레이한다. 부가적으로, 전자 디바이스는 눈썹들(1138)이 없는 곰 아바타를 디스플레이하고, 디스플레이(또는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향을 보고 있는 아바타 눈들(1132)을 디스플레이한다.
1101B 및 1111B에 예시된 바와 같이, 전자 디바이스는, 사용자의 입(1120)의 위치를 검출하고(예를 들어, 웃는 얼굴 표정을 형성하기 위해 상향 포즈(예를 들어, 상향 위치)에 위치된 사용자의 입의 코너들(1120A, 1120B) 중 하나 또는 둘 모두를 검출하고), 이에 응답하여, 곰 아바타의 2개의 특징부들을 수정한다. 예를 들어, 상향 포즈에 위치된 사용자의 입(1120)의 코너들(1120A, 1120B) 중 하나 또는 둘 모두를 검출하는 것에 응답하여, 전자 디바이스는 곰의 귀들(1133) 및 곰의 입(1130) 둘 모두를 수정한다. 전자 디바이스는 1111B에 도시된 바와 같이, 라인들(1130A, 1130B)을 터닝 업함으로써(이는, 곰의 입(1130)의 웃는 표정을 표시함) 웃는 표정을 갖도록 곰의 입(1130)을 수정한다. 전자 디바이스는 상향으로 쫑긋 세우거나 연장되도록 곰의 귀들(1133)을 수정한다. 1111B에 도시된 것과 같은 일부 실시예들에서, 곰의 귀들(1133)에 대한 수정은 또한, (1111A에서 중립 상태에 있을 때의 곰의 머리(1135)의 측부 상의 귀들(1133)의 수직 위치와 비교할 때) 귀들이 쫑긋 세워질 때 귀들(1133)이 곰의 머리(1135) 상에서 더 높게 위치되도록 각각의 귀(1133)의 폭을 약간 좁히고 곰의 머리(1135)의 측부 상의 귀들(1133)의 수직 위치를 변화시키는 것을 포함한다. 1111B에 도시된 바와 같이, 눈들(1132) 및 코(1137)는 1111A의 그들의 원래 위치들에 대해 변화되지 않게 유지된다. 이러한 실시예에서, 사용자가 웃을 때, 전자 디바이스가 곰의 입(1130)을 웃음으로 변화시키고 귀들(1133)을 쫑긋 세운다는 것이 이해되어야 한다. 전자 디바이스는, 사용자가 더 이상 웃고 있지 않을 때 입(1130) 및 귀들(1133)을 그들의 중립 위치들로 복귀시킨다.
1101C에 예시된 바와 같이, 전자 디바이스는 사용자의 눈썹들(1122)이 (예를 들어, 1101A 및 1001B에 도시된 이완된 중립 상태에 있을 때의 눈썹들(1122)의 위치와 비교할 때 사용자의 얼굴 상에서 더 높게 위치된) 올라간 위치에 있는 것을 검출한다. 올라간 눈썹들(1122)을 검출하는 것에 응답하여, 전자 디바이스는 곰 아바타의 2개의 특징부들을 수정한다. 예를 들어, 전자 디바이스는 1111C에 도시된 바와 같이, 쫑긋 세우도록 곰의 귀들(1133)을 수정하고, 곰 아바타(1100)가 그의 눈썹들(1138)을 올리고 있는 인상을 전달하기 위해 곰의 눈들(1132) 위에 위치된 눈썹들(1138)을 도입하도록 곰 아바타를 수정한다. 1111B에 도시된 바와 같이, 곰의 입(1130)은 그의 중립 위치로 복귀되고, 눈들(1132) 및 코(1137)는 1111A의 그들의 원래 위치들에 대해 변화되지 않게 유지된다. 이러한 실시예에서, 사용자의 눈썹(1122)이 올라갈 때, 전자 디바이스가 아바타의 눈썹들(1138)을 도입하고 귀들(1133)을 쫑긋 세운다는 것이 이해되어야 한다. 따라서, 사용자의 눈썹들(1122)이 그들의 중립 위치로 복귀할 때, 전자 디바이스는 아바타 눈썹들(1138)을 제거하고 귀들(1133)을 이완시킨다.
1101D에서, 전자 디바이스는, 사용자의 눈썹들(1122)이 올라가고 사용자의 입(1120)의 코너들(1120A, 1120B) 중 하나 또는 둘 모두가 상향 포즈에 위치되는 것을 검출한다. 이에 응답하여, 전자 디바이스는 1111D에 도시된 바와 같이, 극단적인 귀 쫑긋 세우기를 수행하고, 올라간 눈썹들(1138)을 도입하며, 웃도록 곰 아바타(1100)를 수정한다. 전자 디바이스는, 귀들(1133)이 1111B 및 1111C에 도시된 쫑긋 세워진 위치에 있었을 때보다 그들이 곰의 머리(1135) 상에서 훨씬 더 높게 위치되도록, 각각의 귀(1133)의 폭을 실질적으로 좁히고, 귀들을 상향 방향으로 연장시키며, 곰의 머리(1135)의 측부 상의 귀들(1133)의 수직 위치를 변화시킴으로써 극단적인 귀 쫑긋 세우기를 수행하도록 귀들(1133)을 수정한다. 곰의 귀들(1133)에 대한 수정들의 이러한 조합은, 1111B 및 1111C에 도시된 귀 쫑긋 세우기보다 더 큰 정도로, 상향 방향으로 극도로 신장되는 귀들(1133)의 외관을 제공한다. 이러한 실시예에서, 사용자가 그들의 눈썹들(1122)을 올리고 웃을(예를 들어, 사용자의 입(1120)의 코너들(1120A, 1120B) 중 하나 또는 둘 모두를 상향 포즈에 위치시킬) 때, 전자 디바이스가 아바타의 눈썹들(1138)을 도입하고, 곰의 입(1130)을 웃음으로 수정하며, 귀들(1133)을 극도로 쫑긋 세운다는 것이 이해되어야 한다. 따라서, 사용자의 눈썹들(1122) 및 입(1120)이 그들의 중립 위치들로 복귀할 때, 전자 디바이스는 아바타 눈썹들(1138)을 제거하고 귀들(1133) 및 입(1130)을 이완시킨다.
도 11b는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 곰 아바타(1100)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 곰 아바타는 4개의 디스플레이된 상태들(1112A, 1112B, 1112C, 1112D)을 갖는 것으로 도시되며, 곰 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1102A, 1102B, 1102C, 1102D)에 각각 대응한다. 도 11b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 곰 아바타의 특징부들을 위치시키거나 수정한다. 4개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1112A, 1112B, 1112C, 1112D의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
도 11b에 도시된 실시예에서, 사용자의 검출된 얼굴 특징부들은 사용자의 입(1120)(코너들(1120A, 1120B)을 가짐) 및 사용자의 눈썹들(1122)을 포함한다. 일부 실시예들에서, 추적된 물리적 특징부들은 눈꺼풀들, 홍채들, 근육들, 근육 그룹들 등과 같은 다른 얼굴 특징부들을 포함할 수 있다. 도 11b의 실시예에서, 곰 아바타의 특징부들은 아바타 입(1130), 아바타 눈들(1132), 아바타 귀들(1133), 아바타 코(1137), 아바타 머리(1135), 및 (소정의 상태들에서의) 아바타 눈썹들(1138)을 포함한다.
1102A에 예시된 바와 같이, 전자 디바이스는 하향 포즈(예를 들어, 하향 위치)에 위치된 사용자의 입(1120)의 코너들(1120A, 1120B) 중 하나 또는 둘 모두를 검출하고, 이에 응답하여, 곰 아바타의 2개의 특징부들을 수정한다. 일부 실시예들에서, 전자 디바이스는, 하향 위치에 있는 사용자의 입의 코너들(1120A, 1120B) 중 하나 또는 둘 모두를 검출하고 선택적으로는 사용자의 눈썹들(1122) 중 하나 또는 둘 모두가 내려간 위치에 있지 않다는 것(예를 들어, 눈썹들(1122)은 올라간 위치에 있거나 그들의 중립 위치에 있다는 것)을 검출함으로써 사용자가 슬픈 얼굴 표정을 만들고 있다고 결정한다. 사용자의 입(1120)의 코너들(1120A, 1120B)의 하향 포즈 또는 위치를 검출하는 것에 응답하여, 전자 디바이스는 1112A에 도시된 바와 같이 곰의 입(1130) 및 곰의 귀들(1133) 둘 모두를 수정한다.
전자 디바이스는 1112A에 도시된 바와 같이, 라인들(1130A, 1130B)을 터닝 다운함으로써(이는, 곰의 입(1130)의 슬픈 표정을 형성함) 슬픈 표정을 갖도록 곰의 입(1130)을 수정한다. 전자 디바이스는, 곰의 귀들(1133)의 외측 에지들(1133A, 1133B)을 터닝 다운(예를 들어, 접기, 회전, 또는 틸팅)함으로써 하향 방향으로 "감기거나" 또는 "처지도록" 곰의 귀들(1133)을 수정한다. 일부 실시예들에서, 곰의 귀들(1133)을 감기게 하는 것은 또한, (도 11a의 1111A에서 중립 상태에 있을 때의 곰의 머리(1135)의 측부 상의 귀들(1133)의 수직 위치와 비교할 때) 귀들이 감겨질 때 귀들(1133)이 곰의 머리(1135) 상에서 더 낮게 위치되도록 곰의 머리(1135)의 측부 상의 귀들(1133)의 수직 위치를 변화시키는 것을 포함한다. 1112A에 도시된 바와 같이, 곰의 눈들(1132) 및 코(1137)는 1111A의 그들의 원래 위치들에 대해 변화되지 않게 유지된다. 이러한 실시예에서, 사용자의 입(1120)이 슬픈 얼굴 표정을 형성할 때 전자 디바이스가 곰의 입(1130)을 슬픈 표정으로 변화시키고 곰의 귀들을 감기게 하는 것이 이해되어야 한다. 전자 디바이스는, 사용자가 더 이상 슬픈 얼굴 표정을 만들고 있지 않을 때 곰의 입(1130)과 귀들(1133)을 그들의 중립 위치들로 복귀시킨다.
1102B 및 1112B에서, 전자 디바이스는, 사용자가 임계량의 시간 동안 슬픈 얼굴 표정을 유지하는 것을 검출하고, 이에 응답하여, 감겨진 귀들(1133)과 함께 슬픈 얼굴을 만들고 있는 동안 울고 있는 곰 아바타를 나타내기 위해 곰의 눈들(1132)로부터 방출되는 눈물들(1140)을 도입함으로써 곰 아바타를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 슬픈 표정을 유지할 때 곰의 눈들(1132) 중 하나 또는 둘 모두로부터 방출되는 단일 눈물(1140)만을 도입하도록 곰 아바타를 수정하고, 이어서 사용자가 슬픈 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 눈들(1132)로부터 방출되는 부가적인 눈물들(1140)을 도입하도록 곰 아바타를 수정한다. 전자 디바이스는, 눈물들(1140)이 곰의 눈들(1132)로부터 형성되고, 곰의 얼굴 아래로 흐르고, 곰의 머리(1135)로부터 떨어지며, 1112B의 디스플레이 구역의 하단 에지에서 뷰로부터 사라지는 것을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 눈물들(1140)을 간헐적으로 그리고 선택적으로는 랜덤한 간격들로 디스플레이한다. 일부 실시예들에서, 눈물들(1140)은 사용자가 슬픈 얼굴 표정을 만다는 것을 중지할 때까지 계속된다. 1112B에 도시된 바와 같이, 전자 디바이스는 감겨진 곰의 귀들(1133) 및 슬픈 표정의 곰의 입(1130)을 계속 디스플레이한다.
1102C 및 1112C에서, 전자 디바이스는, 사용자가 임계량의 시간 동안 찌푸린 얼굴 표정을 유지하는 것을 검출하고, 이에 응답하여, 찌푸린 표정 및 곰의 머리(1135) 위에 위치된 먹구름(storm cloud)들(1142)을 갖도록 곰 아바타(1100)를 수정한다. 전자 디바이스는, 하향 포즈에 위치된 사용자의 입(1120)의 코너들(1120A, 1120B) 중 하나 또는 둘 모두를 검출하고 하향 위치에 있는(예를 들어 1101A에서 이완된 중립 상태에 있을 때의 눈썹들(1122)의 위치와 비교할 때 사용자의 얼굴 상에서 찡그리거나 또는 더 낮게 위치된) 사용자의 눈썹들(1122)을 검출함으로써 사용자의 찌푸린 표정을 검출한다. 사용자의 찌푸린 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는, 1112C에 도시된 바와 같이 찌푸린 눈썹 포즈를 형성하기 위해 (예를 들어, 1112C에 도시된 바와 같이 하향으로 라인들(1130A, 1130B)을 만곡시킴으로써) 곰의 입(1130)을 터닝 다운하고 곰의 눈썹들(1138)을 찡그린 상태로 도입함으로써 곰 아바타를 수정한다. 1112B에 예시된 실시예에서, 전자 디바이스는, 사용자의 찌푸린 얼굴 표정을 검출하는 것에 응답하여 먹구름들(1142)을 즉시 도입하지 않고, 전자 디바이스는 곰의 귀들(1133) 또는 코(11311)를 수정하지도 않는다.
사용자가 임계량의 시간 동안 찌푸린 얼굴 표정을 유지한다는 것을 전자 디바이스가 검출한 이후, 전자 디바이스는 곰의 머리(1135) 위에 위치된 먹구름(들)(1142)을 도입하도록 찌푸린 곰 아바타(1100)를 수정한다. 일부 실시예들에서, 먹구름들(1142)은 애니메이션화되고 동적이다. 예를 들어, 전자 디바이스는 번개(1144) 및/또는 비를 도입하도록 먹구름들(1142)을 수정할 수 있다. 일부 실시예들에서, 전자 디바이스는, 먹구름들(1142)로부터 떨어지고 곰 아바타의 머리(1135) 상에 내려앉는 비를 디스플레이한다. 일부 실시예들에서, 떨어지는 비는 곰의 얼굴을 아래로 흘러내리고, 그의 머리(1135)로부터 떨어지고, 1112C의 디스플레이 구역의 하단 에지에서 뷰로부터 사라진다. 일부 실시예들에서, 전자 디바이스는 번개(1144) 및 비를 간헐적으로 그리고 선택적으로는 랜덤한 간격들로 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 찌푸린 얼굴 표정을 만드는 것을 중지할 때까지 먹구름들(1142)을 계속 디스플레이한다. 사용자가 찌푸린 얼굴 표정을 만드는 것을 중지할 때, 전자 디바이스는, 먹구름들(1142)이 사라지고, 찌푸린 눈썹들(1138)이 사라지며, 입(1130)이 1111A에 도시된 중립 위치로 복귀하도록 곰 아바타(1100)를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 찌푸린 얼굴 표정을 유지할 때 번개(1144) 또는 비가 없는 먹구름들(1142)을 디스플레이하고, 이어서 사용자가 찌푸린 얼굴 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 번개(1144) 및 비를 생성하도록 먹구름들(1142)을 수정한다.
1102D 및 1112D에 예시된 바와 같이, 전자 디바이스는 사용자가 그들의 눈썹들(1122) 중 하나 또는 둘 모두를 내리는 것을 검출하고, 이에 응답하여, 감기도록 곰의 귀들(1133)를 수정한다. 이러한 실시예에서, 전자 디바이스는, 사용자가 그들의 눈썹들(1122)을 내리는 것을 검출하는 것에 응답하여 곰 아바타의 귀들(1133)을 감기게 한다. 사용자가 그들의 눈썹들(1122)을 그들의 중립 위치로 복귀시킬 때, 전자 디바이스는 곰의 귀들(1133)을 풀리게 한다(uncurl). 1102D 및 1112D에 예시된 실시예에서, 전자 디바이스는 곰 아바타(1100)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 곰의 눈들(1132), 입(1130), 및 코(1137)의 중립 위치들을 유지하고, 눈썹들(1138) 또는 다른 물체들(예를 들어, 눈물들(1140) 또는 먹구름들(1142))을 도입하지 않는다.
도 11c는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 곰 아바타(1100)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 곰 아바타는 4개의 디스플레이된 상태들(1113A, 1113B, 1113C, 1113D)을 갖는 것으로 도시되며, 곰 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1103A, 1103B, 1103C, 1103D)에 각각 대응한다. 도 11c의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 곰 아바타의 특징부들을 위치시키거나 수정한다. 4개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1113A, 1113B, 1113C, 1113D의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1103A 및 1113A에 예시된 바와 같이, 전자 디바이스는, 사용자가 그들의 눈들(1123)을 가늘게 뜨는 것(squint)(예를 들어, 그들의 눈들(1123)을 좁히거나 노려보는 것(glower))을 검출하고, 이에 응답하여, 곰의 눈들(1132) 주위에 아바타 얼굴 구조체들을 도입함으로써 그의 눈들(1132)을 가늘게 뜨도록 곰 아바타(1100)를 수정한다. 일부 실시예들에서, 전자 디바이스는, (예를 들어, 사용자의 눈들(1123)의 중립 위치에 대해) 사용자의 눈들(1123)의 크기의 감소 및/또는 사용자의 눈들(1123)의 외부 코너들에 형성된 주름들을 검출함으로써 사용자가 눈을 가늘게 뜨는 것을 검출한다. 이에 응답하여, 전자 디바이스는, 곰의 눈들(1132) 아래에서 아치형 위치에 나타나는 광대뼈들(1139)을 도입하고 곰의 눈들(1132) 위에서 (1112C에 도시된 찌푸린 눈썹 포즈와 유사하게) 내려간 위치에 나타나는 눈썹들(1138)을 도입함으로써 곰이 그의 눈들(1132)을 가늘게 뜬 것을 나타내도록 곰 아바타를 수정한다. 전자 디바이스는, 곰의 눈들(1132)의 하부 부분을 가리고(eclipse) 곰의 곁눈질의 하단 부분을 형성하도록 광대뼈들(1139)이 아치형이 되는 것을 디스플레이하고, 곰의 눈들(1132)의 상부 부분을 가리고 곰의 곁눈질의 상단 부분을 형성하도록 눈썹들(1138)이 하향으로 만곡되는 것을 디스플레이한다. 사용자가 그들의 눈들(1123)을 그들의 중립 위치로 복귀시킬 때, 전자 디바이스는 곰 아비타(1100)를 (1111A에 도시된) 그의 중립 포즈로 복귀시키도록 곰의 눈썹들(1138) 및 광대뼈들(1139)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 눈썹들(1138)이 곰의 눈들(1132)로부터 상향으로 이동되고 곰 아바타의 얼굴로 사라지는 것을 애니메이션화함으로써 곰의 눈썹들(1138)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 광대뼈들(1139)이 아치를 제거하도록 내려져서 똑바르게 되고 곰 아바타의 얼굴로 사라지는 것을 애니메이션화함으로써 곰의 광대뼈들(1139)을 제거한다. 1103A 및 1113A에 예시된 실시예에서, 전자 디바이스는 곰 아바타(1100)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 곰의 입(1130) 및 코(1137)의 중립 위치들을 유지한다.
1103B 및 1113B에 예시된 바와 같이, 전자 디바이스는, 사용자가 임계량의 시간 동안 눈을 가늘게 뜬 얼굴 표정을 유지하는 것을 검출하고, 곰이 1113A에 대해 위에서 논의된 눈을 가늘게 뜬 표정을 유지하면서 곰의 눈들(1132)로부터 발사되는 레이저 빔들(1146)을 도입함으로써 곰 아바타(1100)를 수정한다. 전자 디바이스는, 레이저 빔들(1146)이 곰의 눈들(1132)의 하단으로부터 형성되고, 하향 방향으로 발사되며, 1113B의 디스플레이 구역의 하단 에지에서 뷰로부터 사라지는 것을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 레이저 빔들(1146)을 연속 빔으로서 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 레이저 빔들(1146)을 간헐적인 버스트들로서, 또는 선택적으로는, 랜덤한 간격들로 방출되는 것으로서 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 눈을 가늘게 뜨는 것을 중지할 때까지 레이저 빔들(1146)을 계속 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 눈을 가늘게 뜬 표정을 유지할 때 레이저 빔(1146)의 단일 버스트가 각각의 눈(1132)으로부터 발사되는 것을 디스플레이하고, 사용자가 눈을 가늘게 뜬 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 연속적인 레이저 빔(1146)(또는 레이저 빔들(1146)의 반복된 버스트들)이 각각의 눈(1132)으로부터 발사되는 것을 디스플레이한다.
1103C 및 1113C에 예시된 바와 같이, 전자 디바이스는, 사용자가 그들의 눈들(1123)을 넓히는 것을 검출하고, 이에 응답하여, 곰의 눈들(1132) 주위에 아바타 얼굴 구조체들을 도입함으로써 넓어진 눈들(1132)을 나타내도록 곰 아바타(1100)를 수정한다. 1103C 및 1113C에 예시된 실시예에서, 전자 디바이스는 (예를 들어, 사용자의 눈들(1123)의 중립 위치에 대해) 사용자의 눈들(1123)의 크기의 증가를 검출함으로써 사용자가 그들의 눈들을 넓히는 것을 검출한다. 일부 실시예들에서, 넓어진 눈들을 검출하는 것은, 선택적으로, 전자 디바이스가 사용자의 눈썹들(1122)의 올라간 위치를 검출하는 것을 포함한다. 넓어진 사용자 눈들(1123)을 검출하는 것에 응답하여, 전자 디바이스는, 곰의 눈들(1132) 위에서 올라간 위치에 눈썹들(1138)을 도입함으로써 곰이 그의 눈들(1132)을 넓히는 것을 나타내도록 곰 아바타를 수정한다. 사용자가 그들의 눈들(1123)을 그들의 중립 위치로 복귀시킬 때, 전자 디바이스는 곰 아비타(1100)를 (1111A에 도시된) 그의 중립 포즈로 복귀시키도록 곰의 눈썹들(1138)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 눈썹들(1138)이 곰의 눈들(1132)을 향해 하향으로 이동되고 곰의 눈들(1132) 위에서 곰 아바타의 얼굴로 사라지는 것을 애니메이션화함으로써 곰의 눈썹들(1138)을 제거한다. 1103C 및 1113C에 예시된 실시예에서, 전자 디바이스는 곰 아바타(1100)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 곰의 귀들(1133), 입(1130), 눈들(1132), 및 코(1137)의 중립 위치들을 유지한다.
1103D 및 1113D에 예시된 바와 같이, 전자 디바이스는, 사용자가 그들의 눈들(1123)을 닫는 것을 검출하고, 이에 응답하여, 곰의 눈들(1132) 주위에 아바타 얼굴 구조체들(예를 들어, 특징부들)을 도입함으로써 그의 눈들(1132)을 닫도록 곰 아바타(1100)를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자의 눈꺼풀들(1127)이 사용자의 눈들(1123)을 완전히 덮는 것을 검출함으로써 사용자가 그들의 눈들을 닫는 것을 검출한다. 이에 응답하여, 전자 디바이스는, 곰의 눈들(1132) 아래에서 올라간 약간 아치형의 위치에 나타나는 광대뼈들(1139)을 도입하고 1113D에 도시된 바와 같이 곰의 눈들(1132) 위에서 나타나고 곰의 눈들(1132)을 덮도록 하향으로 이동되는 눈꺼풀들(1148)을 도입함으로써 곰이 그의 눈들(1132)을 닫은 것을 나타내도록 곰 아바타를 수정한다. 사용자가 그들의 눈꺼풀들(1127)을 그들의 중립 위치로 올릴 때, 전자 디바이스는 곰 아비타(1100)를 (1111A에 도시된) 그의 중립 포즈로 복귀시키도록 곰의 눈꺼풀들(1148) 및 광대뼈들(1139)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 눈꺼풀들(1148)이 곰의 눈들(1132)을 드러내도록 상향으로 이동되고 곰의 눈들(1132) 위에서 곰 아바타의 얼굴로 사라지는 것을 애니메이션화함으로써 곰의 눈꺼풀들(1148)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 광대뼈들(1139)이 약간의 아치를 제거하도록 내려져서 똑바르게 되고 곰 아바타의 얼굴로 사라지는 것을 애니메이션화함으로써 곰의 광대뼈들(1139)을 제거한다. 1103D 및 1113D에 예시된 실시예에서, 전자 디바이스는 곰 아바타(1100)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 곰의 입(1130), 귀들(1133), 및 코(1137)의 중립 위치들을 유지한다.
도 12a는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 외계인 아바타(1200)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 외계인 아바타는 3개의 디스플레이된 상태들(1211A, 1211B, 1211C)을 갖는 것으로 도시되며, 외계인 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1201A, 1201B, 1201C)에 각각 대응한다. 도 12a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 외계인 아바타의 특징부들을 위치시키거나 수정한다. 3개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1211A, 1211B, 1211C의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1201A 및 1211A에 예시된 바와 같이, 전자 디바이스는, 사용자의 중립 얼굴 표정(예를 들어, 사용자의 눈들(1223)은 열려있고, 눈썹들(1222)은 사용자의 눈들(1223) 위의 이완된 위치에 있고, 사용자의 뺨들(1228)은 이완되고 확장되지 않으며, 사용자의 입(1220)은 이완된 중립 상태에 있고, 특정 얼굴 표정과 연관된 위치에 있지 않음)을 검출하고, 이에 응답하여 1211A에서 중립 표정 또는 상태를 갖는 외계인 아바타(1200)를 디스플레이한다. 예를 들어, 전자 디바이스는, 상단에서 넓고 뾰족한 하단(예를 들어, 턱끝)으로 좁혀지는 큰 각진 머리(1235)를 가지며, 이완된 중립 상태에 있고 웃음 또는 찌푸림과 같은 특정 얼굴 표정과 전형적으로 관련된 위치에 있지 않은 입(1230)을 갖는 외계인 아바타(1200)를 디스플레이한다. 부가적으로, 전자 디바이스는, 외계인의 머리(1235)의 각도 구조와 매칭하도록 경사진 큰 타원형-형상 눈들(1232)을 가진 얼굴(1205)을 갖는 외계인 아바타를 디스플레이한다. 전자 디바이스는 디스플레이(또는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향을 보고 있는 외계인 눈들(1232)을 디스플레이한다. 전자 디바이스는 또한, 코, 귀들, 또는 눈썹들과 같은 다양한 특징부들 없는 외계인의 머리(1235) 및 얼굴(1205)을 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 외계인 이모지와 같은 관련 이미지의 다른 표현들에 대응한다.
1201B 및 1211B에 예시된 바와 같이, 전자 디바이스는, 하향 포즈에 위치된 사용자의 입(1220)의 코너들(1220A, 1220B) 중 하나 또는 둘 모두 및 하향 포즈에 위치된(예를 들어 1201A에서 이완된 중립 상태에 있을 때의 눈썹들(1222)의 위치와 비교할 때 사용자의 얼굴 상에서 찡그리거나 또는 더 낮게 위치된) 사용자의 눈썹들(1222)을 검출함으로써 사용자의 찌푸린 얼굴 표정을 검출한다. 사용자의 찌푸린 얼굴의 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1211B에 도시된 바와 같이 찌푸리고 쳐진 얼굴을 갖도록 외계인 아바타를 수정한다. 예를 들어, 전자 디바이스는, 외계인의 입(1230)의 코너들이 터닝 다운되고 외계인의 얼굴(1205)이 외계인의 터닝-다운된 입(1230)의 코너들 부근에 위치된 구역들(1240A, 1240B)에서 확장되도록 외계인(1200)을 수정한다. 일부 실시예들에서, 전자 디바이스는, 입(1230)이 터닝 다운되는 것 및 입(1230)이 터닝-다운된 위치로 이동되고 있을 때 구역들(1240A, 1240B)이 외계인의 얼굴(1205)로부터 확장되는 것의 애니메이션을 디스플레이함으로써 1211B에 도시된 쳐진 얼굴을 갖도록 외계인을 수정한다. 일부 실시예들에서, 전자 디바이스는 사용자가 더 이상 찌푸린 얼굴 표정을 만들지 않을 때 외계인 아바타를 그의 중립 위치로 복귀시키도록 수정한다. 일부 실시예들에서, 전자 디바이스는, 입(1230)이 중립 위치로 이동되는 것 및 입(1230)이 중립 위치로 이동되고 있을 때 구역들(1240A, 1240B)이 외계인의 얼굴(1205)로 후퇴되는 것의 애니메이션을 디스플레이함으로써 1211A의 중립 표정으로 복귀하도록 외계인을 수정한다.
1201C 및 1211C에 예시된 바와 같이, 전자 디바이스는 사용자가 퍼커링 표정을 만든다는 것을 검출하고, 이에 응답하여, 끈적한(slimy) 하트들(1252)을 방출하는 퍼커링된 입술들(1250)의 세트로 외계인의 입(1230)을 대체함으로써 외계인 아바타(1200)를 수정한다. 1201C에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는, 닫힌 위치에 있는 사용자의 턱(1225)을 검출하고, 사용자의 입술들(1229)(예를 들어, 사용자의 상부 입술(1229A) 및 하부 입술(1229B) 둘 모두)이 사용자의 입(1220)으로부터 외향으로 퍼커링된 포즈로 연장되게 하기 위해 사용자의 입(1220)의 코너들(1220A, 1220B)이 서로를 향해 움직이는 것을 검출함으로써 사용자가 퍼커링 표정을 만들고 있다고 결정한다. 사용자의 퍼커링 표정을 검출하는 것에 응답하여, 전자 디바이스는 외계인의 입(1230)을 퍼커링된 입술들(1250)의 세트로 변화시킴으로써 외계인 아바타(1200)를 수정한다. 일부 실시예들에서, 전자 디바이스는 외계인의 퍼커링된 입술들(1250)로부터 방출되는 것으로 디스플레이되는 끈적한 하트들(1252) 중 하나 이상을 도입함으로써 외계인 아바타(1200)를 수정한다. 일부 실시예들에서, 전자 디바이스는 외계인 아바타(1200)의 임의의 다른 특징부들을 수정하는 것을 보류한다.
일부 실시예들에서, 전자 디바이스는 사용자의 퍼커링 표정을 검출하는 것에 응답하여 끈적한 하트들(1252)을 즉시 도입하지는 않는다. 그러한 실시예들에서, 전자 디바이스는, 사용자가 임계량의 시간 동안 퍼커링 표정을 유지하는 것을 전자 디바이스가 검출한 이후에만, 퍼커링된 입술들(1250)로부터 방출되는 끈적한 하트들(1252)을 도입하도록 퍼커링 외계인 아바타(1200)를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 퍼커링 표정을 유지할 때 퍼커링된 입술들(1250)로부터 방출되는 단일의 끈적한 하트(1252)만을 도입하도록 외계인 아바타를 수정하고, 이어서 사용자가 퍼커링 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 퍼커링된 입술들(1250)로부터 방출되는 부가적인 끈적한 하트들(1252)을 도입하도록 외계인 아바타를 수정한다. 일부 실시예들에서, 끈적한 하트들(1252)은 애니메이션화되고 동적이다. 예를 들어, 일부 실시예들에서, 전자 디바이스는 퍼커링된 입술들(1250)로부터 간헐적으로 그리고 선택적으로는 랜덤한 간격들로 방출되는 끈적한 하트들(1252)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 상이한 크기들을 갖는 끈적한 하트들(1252)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 끈적한 하트들(1252)이 퍼커링된 입술들(1250)로부터 멀리 이동될 때 크기가 증가하는 끈적한 하트들(1252)을 디스플레이한다. 부가적으로, 일부 실시예들에서, 전자 디바이스는, 각각의 끈적한 하트(1252)가 랜덤화된 궤적으로 이동되고, 1211C의 디스플레이 구역 내에 위치된 랜덤 위치에서 사라지거나, 또는 대안적으로는 그것이 1211C의 디스플레이 구역을 빠져나가는 것처럼 뷰로부터 사라지는 것을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 사용자 또는 아바타가 향하는 방향에 기초하는 방향으로 퍼커링된 입술들(1250)로부터 방출되는 끈적한 하트(1252)를 디스플레이한다. 예를 들어, 사용자의 얼굴 또는 아바타가 좌측으로 터닝되는 것을 전자 디바이스가 검출하면, 퍼커링된 입술들(1250)은 끈적한 하트들(1252)을 좌측으로 방출하고, 사용자의 얼굴 또는 아바타가 우측으로 터닝되는 것을 전자 디바이스가 검출하면, 퍼커링된 입술들(1250)은 끈적한 하트들(1252)을 우측으로 방출한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때까지 외계인의 퍼커링된 입술들(1250)로부터 방출되는 끈적한 하트들(1252)을 계속 디스플레이한다. 일부 실시예들에서, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때, 전자 디바이스는, 끈적한 하트들(1252)이 사라지고 퍼커링된 입술들(1250)이 외계인 입(1230)으로 대체되도록 외계인 아바타(1200)를 수정한다.
도 12b는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 외계인 아바타(1200)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 외계인 아바타는 4개의 디스플레이된 상태들(1212A, 1212B, 1212C, 1212D)을 갖는 것으로 도시되며, 외계인 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1202A, 1202B, 1202C, 1202D)에 각각 대응한다. 도 12b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 외계인 아바타의 특징부들을 위치시키거나 수정한다.
1202A 및 1212A에 예시된 바와 같이, 전자 디바이스는, 사용자의 눈썹들(1222)이 약간 올라간 위치에 있다는 것(예를 들어, 1201A에 도시된 중립 위치보다 약간 더 높게 위치되는 것)을 검출하고, 사용자가 그들의 눈썹들(1222)을 약간 올리는 것에 응답하여 외계인이 그의 눈썹들을 올리는 것을 나타내도록 눈썹들을 외계인에게 부가한다. 예를 들어, 사용자의 눈썹들(1222)의 약간 올라간 위치를 검출하는 것에 응답하여, 전자 디바이스는, (예를 들어, 외계인 아바타(1200)가 그의 눈썹들(1238)을 올리고 있는 인상을 전달하기 위해) 외계인 아바타의 눈들(1232) 위에 위치된 눈썹들(1238)을 올라간 위치에 도입함으로써 외계인 아바타(1200)를 수정한다. 이러한 실시예에서, 전자 디바이스는, 사용자의 눈썹들(1222)이 약간 올라갈 때, 외계인의 눈썹들(1238)을 도입한다. 따라서, 사용자의 눈썹들(1222)이 그들의 중립 위치로 복귀할 때, 전자 디바이스는 외계인의 눈썹들(1238)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 눈썹들(1238)이 외계인의 눈들(1232)을 향해 하향으로 이동되고 외계인의 눈들(1232) 위에서 외계인의 얼굴(1205)로 사라지는 것을 애니메이션화함으로써 외계인의 눈썹들(1238)을 제거한다.
1202B에 예시된 바와 같이, 전자 디바이스는, 사용자의 눈썹들(1222)이 1202A의 약간 올라간 위치로부터 (예를 들어, 1202A에 도시된 약간 올라간 위치보다 더 높게 위치된) 극도로 올라간 위치로 이동되었다는 것을 검출한다. 일부 실시예들에서, 사용자의 극단적인 눈썹 올림을 검출하는 것은 선택적으로, 사용자가 그들의 눈썹들(1222)을 올리는 것에 부가하여 그들의 눈들(1223)을 넓히는 것을 전자 디바이스가 또한 검출하는 것을 포함한다. 사용자의 극단적인 눈썹 올림을 검출하는 것에 응답하여, 전자 디바이스는 1212A에서 도입된 눈썹들(1238)의 위치를 유지하고, 1212B에 도시된 바와 같이, 외계인의 머리(1235)의 상단에 스파이크(spike)들(1254)을 도입함으로써 외계인의 머리(1235)를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 1202A에 도시된 약간 올라간 위치를 넘어 그들의 눈썹들(1222)을 올리고 있을 때 스파이크들(1254)이 외계인의 머리(1235)의 상단으로부터 올라가는 것을 애니메이션화함으로써 스파이크들(1254)을 도입한다. 일부 실시예들에서, 사용자가 그들의 눈썹들(1222)을 그들의 중립 위치 또는 약간 올라간 위치로 복귀시킬 때, 전자 디바이스는 스파이크들(1254)이 외계인의 머리(1235) 내로 후퇴되는 것을 애니메이션화함으로써 스파이크들(1254)을 제거한다. 1202B 및 1212B에 예시된 실시예에서, 전자 디바이스는 외계인 아바타(1200)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 외계인의 입(1230) 및 눈들(1232)의 중립 위치들을 유지한다.
1202C 및 1212C에 예시된 바와 같이, 전자 디바이스는, 약간 부풀려지거나(puffed) 확장된 위치에 있는 사용자의 뺨들(1228)(예를 들어, 사용자는 그들의 뺨들(1228)을 공기로 약간 채워서, 그들이 1201A에 도시된 중립 위치를 넘어 약간 확장되게 함)을 검출하고, 사용자가 그들의 뺨들(1228)을 약간 부풀리는 것에 응답하여 외계인이 그의 뺨들을 부풀리는 것을 나타내도록 뺨들을 외계인에게 부가한다. 예를 들어, 사용자의 뺨들(1228)의 약간 부풀려진 위치를 검출하는 것에 응답하여, 전자 디바이스는, (예를 들어, 외계인 아바타(1200)가 그의 뺨들(1256)을 부풀리고 있는 인상을 전달하기 위해) 아바타 뺨들(1256)을 약간 확장된 위치에 도입함으로써 외계인 아바타(1200)를 수정한다. 1212C에 도시된 바와 같이, 전자 디바이스는 외계인의 머리(1235)의 좁은 하부 부분을 넘어 확장된 외계인의 뺨들(1256)을 디스플레이한다. 이러한 실시예에서, 전자 디바이스는, 사용자의 뺨들(1228)이 약간 부풀려질 때, 외계인의 뺨들(1256)을 도입한다. 따라서, 사용자의 뺨들(1228)이 그들의 중립 위치로 복귀할 때, 전자 디바이스는 외계인의 뺨들(1156)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 뺨들(1256)이 외계인의 얼굴(1205)로 다시 후퇴되고 외계인 눈들(1232) 아래에서 외계인의 얼굴(1205)로 사라지는 것을 애니메이션화함으로써 외계인의 뺨들(1256)을 제거한다.
1212C에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는 또한 사용자의 약간 부풀려진 뺨들(1228)을 검출하는 것에 응답하여 외계인 입(1230)을 수정한다. 예를 들어, 1212C에 도시된 바와 같이, 전자 디바이스는 사용자가 그들의 뺨들(1228)을 부풀릴 때 외계인의 입(1230)을, 1211A에 도시된 그의 중립 위치로부터, 사용자의 입술들의 좁혀짐(및 때로는 퍼커링)을 모방하는 좁은 둥근 형상으로 수정한다.
1202D에 예시된 바와 같이, 전자 디바이스는, 사용자의 뺨들(1228)이 1202C의 약간 부풀려진 위치로부터 (예를 들어, 1202C에 도시된 약간 부풀려진 위치를 넘어 확장되는) 극도로 부풀려진 위치로 확장되었다는 것을 검출한다. 사용자의 극단적인 뺨 부풀림을 검출하는 것에 응답하여, 전자 디바이스는 1212D에 도시된 바와 같이, 외계인의 뺨들(1256)로부터 돌출되는 스파이크들(1258)을 도입함으로써 외계인의 부풀려진 뺨들(1256)을 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 1202C에 도시된 약간 부풀려진 위치를 넘어 그들의 뺨들(1228)을 확장시키고 있을 때 스파이크들(1258)이 외계인의 부풀려진 뺨들(1256)의 외측 부분들로부터 확장되는 것을 애니메이션화함으로써 스파이크들(1258)을 도입한다. 일부 실시예들에서, 사용자가 그들의 뺨들(1228)을 그들의 중립 위치 또는 약간 부풀려진 위치로 복귀시킬 때, 전자 디바이스는 스파이크들(1258)이 외계인의 뺨들(1256) 내로 후퇴되는 것을 애니메이션화함으로써 스파이크들(1258)을 제거한다. 1202D 및 1212D에 예시된 실시예에서, 전자 디바이스는 외계인 아바타(1200)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 외계인의 눈들(1232)의 중립 위치 및 외계인의 입(1230)의 좁혀진 위치를 유지한다.
도 12c는, 사용자의 얼굴 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 외계인 아바타(1200)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 외계인 아바타는 5개의 디스플레이된 상태들(1213A, 1213B, 1213C, 1213D, 1213E)을 갖는 것으로 도시되며, 외계인 아바타의 5개의 디스플레이된 상태들 각각은 사용자의 5개의 검출된 상태들(1203A, 1203B, 1203C, 1203D, 1203E)에 각각 대응한다. 도 12c의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 외계인 아바타의 특징부들을 위치시키거나 수정한다.
도 12c에 예시된 실시예들에서, 전자 디바이스는 사용자가 그들의 눈을 적어도 임계량(예를 들어, 중간 정도)만큼 닫거나 좁힐 때에만 외계인의 눈들의 크기를 감소시킨다. 그렇지 않으면, 전자 디바이스는 사용자가 임계량보다 적은 양으로 그들의 눈들(1223)을 닫는 것에 응답하여 외계인의 눈들(1232)을 수정하는 것을 보류한다. 이는, 사용자가 실제로는 그들의 중립의 열린 위치에 있을 때 사용자의 눈들이 부분적으로 닫혀진 것으로 나타나는 사용자를 검출하는 것에 응답하여, 전자 디바이스가 외계인의 눈들(1232)을 의도치 않게 닫거나 좁히지 않으면서 외계인을 디스플레이하게 허용한다.
1203A 및 1213A에 예시된 바와 같이, 전자 디바이스는, 사용자가 그들의 눈들(1223)을 넓히는 것을 검출하고, 이에 응답하여, 외계인의 눈들(1232)의 크기를 증가시킴으로써 넓어진 눈들(1232)을 나타내도록 외계인 아바타(1200)를 수정한다. 1203A 및 1213A에 예시된 실시예에서, 전자 디바이스는 (예를 들어, 사용자의 눈들(1223)의 중립 위치에 대해) 사용자의 눈들(1223)의 크기의 증가를 검출함으로써 사용자가 그들의 눈들(1223)을 넓히는 것을 검출한다. 일부 실시예들에서, 넓어진 눈들을 검출하는 것은, 선택적으로, 전자 디바이스가 사용자의 눈썹들(1222)의 올라간 위치를 검출하는 것을 포함한다. 넓어진 사용자 눈들(1223)을 검출하는 것에 응답하여, 전자 디바이스는, 1213A에 도시된 바와 같이 외계인의 눈들(1232)의 영역을 증가시킴으로써 외계인이 그의 눈들(1232)을 넓히는 것을 나타내도록 외계인 아바타를 수정한다. 1203A 및 1213A에 도시된 바와 같이, 외계인의 눈들(1232)의 변화는, 아바타의 눈들의 변화가 사용자의 눈들의 백분율 변화(예를 들어, 예측된 또는 결정된 모션 범위의 10%)와 비교하여 모델링된 모션의 최대 범위의 더 큰 백분율(예를 들어, 30%)이라는 점에서 사용자의 눈들(1223)의 변화에 대해 과장된다.
1203B 및 1213B에 도시된 바와 같이, 사용자가 1203A의 넓어진 위치로부터 1203B의 중립 위치로 그들의 눈들(1223)을 복귀시킬 때, 전자 디바이스는 1213A의 확대된 상태로부터 1213B의 중립 상태로 외계인의 눈들(1232)을 수축시킨다.
1203C에서, 전자 디바이스는 사용자가 그들의 눈들(1223)을 좁히거나 닫지만, 외계인의 눈들(1232)을 수정하기 위한 임계량을 넘지는 않는다는 것을 검출한다. 사용자의 눈들(1223)이 임계치를 넘어 닫히지는 않는다고 결정하는 것에 응답하여, 전자 디바이스는 1213C에 도시된 바와 같이, 외계인의 눈들(1232)을 수정하는 것을 보류한다.
1203D에서, 전자 디바이스는 사용자가 그들의 눈들(1223)을 임계치를 넘은 양으로 닫지만, 완전히 닫힌 위치에는 있지 않다는 것을 검출한다. 다시 말하면, 전자 디바이스는 사용자의 눈들(1223)이 1203D에서 약간 열려 있다는 것을 검출한다. 이에 응답하여, 전자 디바이스는 1203D의 사용자의 약간 열린 눈들(1223)에 대응하는 약간 열린 상태로 외계인의 눈들(1232)을 디스플레이하도록 1213D에서 외계인의 눈들(1232)의 크기를 감소시킨다.
1203E에서, 전자 디바이스는, 사용자의 눈꺼풀들(1227)이 사용자의 눈들(1223)을 완전히 덮는 것을 검출함으로써 사용자의 눈들(1223)이 완전히 닫혀있다고 결정한다. 이에 응답하여, 전자 디바이스는 닫힌 상태로 외계인의 눈들(1232)을 디스플레이하도록 1213E에서 외계인의 눈들(1232)의 크기를 추가로 감소시킨다. 1213E에 도시된 바와 같이, 외계인의 닫힌 눈들은 외계인의 머리(1235) 상의 경사진 라인들(1232A)로서 디스플레이된다.
도 12c에 예시된 실시예들에서, 전자 디바이스는 사용자의 눈들(1223)의 변화들을 검출하는 것에 응답하여 외계인의 눈들(1232)을 수정하고, 외계인 아바타(1200)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 외계인의 입(1230)은 중립 포즈로 유지되며, 1213A, 1213B, 1213C, 1213D, 및 1213E에 도시된 바와 같이 어떠한 다른 특징부들(예를 들어, 스파이크들, 눈썹들, 뺨들 등)도 도입되지 않는다.
도 13은, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 토끼 아바타(1300)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 토끼 아바타는 3개의 디스플레이된 상태들(1311A, 1311B, 1311C)을 갖는 것으로 도시되며, 토끼 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1301A, 1301B, 1301C)에 각각 대응한다. 도 13의 각각의 디스플레이된 상태에서, 전자 디바이스는 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들 중 하나 이상의 얼굴 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 토끼 아바타의 특징부들을 위치시키거나 수정한다.
1301A에 예시된 바와 같이, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다(예를 들어, 사용자의 눈들(1323)은 열려있고, 눈썹들(1322)은 사용자의 눈들(1323) 위의 이완된 위치에 있고, 사용자의 입(1320)은 이완된 중립 상태에 있고, 특정 얼굴 표정과 연관된 위치에 있지 않다). 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1311A에서 중립 표정 또는 상태를 갖는 토끼 아바타(1300)를 디스플레이한다. 예를 들어, 전자 디바이스는 토끼의 머리(1335)의 상단으로부터 수직으로 연장되는 긴 귀들(1333), 열린 위치를 갖는 눈들(1332), 및 수염들(1342), 코(1344), 치아(1346), 및 입(1330)을 포함하는 입 구역(1340)을 갖는 토끼 아바타(1300)를 디스플레이한다. 1311A에서, 토끼의 입(1330)의 중립 상태는 토끼의 입(1330)의 폐쇄 위치, 및 함께 가까이 위치되고 토끼의 입 구역(1340)으로부터 축 처진 하향 방향으로 연장되는 수염들(1342)에 의해 표시된다. 부가적으로, 전자 디바이스는 눈썹들(1338)이 없는 토끼 아바타(1300)를 디스플레이하고, 디스플레이(또는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향을 보고 있는 토끼의 눈들(1332)을 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 토끼 이모지와 같은 관련 이미지의 다른 표현들에 대응한다.
1301B 및 1311B에 예시된 바와 같이, 전자 디바이스는, 사용자가 그들의 눈들(1323)을 닫는 것을 검출하고, 이에 응답하여, 토끼의 눈들(1332) 주위에 아바타 얼굴 구조체들(예를 들어, 특징부들)을 도입함으로써 그의 눈들(1332)을 닫도록 토끼 아바타(1300)를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자의 눈꺼풀들(1327)이 사용자의 눈들(1323)을 완전히 덮는 것을 검출함으로써 사용자가 그들의 눈들을 닫는 것을 검출한다. 이에 응답하여, 전자 디바이스는, 토끼의 눈들(1332) 아래에서 올라간 약간 아치형의 위치에 나타나는 광대뼈들(1339)을 도입하고 1311B에 도시된 바와 같이 토끼의 눈들(1332) 위에서 나타나고 토끼의 눈들(1332)을 덮도록 하향으로 이동되는 눈꺼풀들(1348)을 도입함으로써 토끼가 그의 눈들(1332)을 닫은 것을 나타내도록 토끼 아바타를 수정한다. 사용자가 그들의 눈꺼풀들(1327)을 그들의 중립 위치로 올릴 때, 전자 디바이스는 토끼 아비타(1300)를 (1311A에 도시된) 그의 중립 포즈로 복귀시키도록 토끼의 눈꺼풀들(1348) 및 광대뼈들(1339)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 눈꺼풀들(1348)이 토끼의 눈들(1332)을 드러내도록 상향으로 이동되고 토끼의 눈들(1332) 위에서 토끼의 얼굴로 사라지는 것을 애니메이션화함으로써 토끼의 눈꺼풀들(1348)을 제거한다. 일부 실시예들에서, 전자 디바이스는, 광대뼈들(1339)이 약간의 아치를 제거하도록 내려져서 똑바르게 되고 토끼의 얼굴로 사라지는 것을 애니메이션화함으로써 토끼의 광대뼈들(1339)을 제거한다. 1301B 및 1311B에 예시된 실시예에서, 전자 디바이스는 토끼 아바타(1300)의 다른 특징부들을 수정하는 것을 보류한다. 따라서, 전자 디바이스는 토끼의 귀들(1333), 및 수염들(1342), 입(1330), 치아(1346), 및 코(1344)를 포함하는 입 구역(1340)의 중립 위치들을 유지한다.
1301C 및 1311C에 예시된 바와 같이, 전자 디바이스는 상향 포즈에 위치된 사용자의 입(1320)의 코너들(1320A, 1320B) 중 하나 또는 둘 모두(예를 들어, 웃는 얼굴 표정을 형성함)를 검출하고, 이에 응답하여, 웃는 얼굴 표정을 갖도록 토끼 아바타를 수정한다. 예를 들어, 전자 디바이스는 1311C에 도시된 바와 같이, 토끼의 입(1330)을 내리고(예를 들어, 열고) 수염들(1342) 각각 사이의 간격을 증가시킴으로써 웃는 얼굴 표정을 형성하도록 토끼의 입 구역(1340)을 수정한다. 수염들(1342) 사이의 간격을 증가시킴으로써, 전자 디바이스는 토끼의 특징부들, 특히 입 구역(1340)의 특징부들 사이의 상호연결된 얼굴 관계를 전달한다. 따라서, 사용자가 그들의 입(1320)을 이동시킬 때, 전자 디바이스는 토끼의 입(1330)을 수정하며, 이는 토끼의 입 구역(1340)의 상호연결된 얼굴 특징부들의 변화를 달성한다. 전자 디바이스는 토끼의 입 구역(1340)을 통해 토끼의 입(1330)에 연결된 수염들(1342) 사이의 간격을 조정함으로써 토끼의 입 구역(1340)의 특징부들 사이의 이러한 연결을 표현한다. 이러한 실시예에서, 전자 디바이스는 사용자가 웃을 때 토끼의 입 구역(1340)을 웃는 표정으로 변화시킨다. 전자 디바이스는, 사용자가 더 이상 웃고 있지 않을 때 입(1330) 및 수염들(1342)을 포함하는 입 구역(1340)을 그들의 중립 위치들로 복귀시킨다. 토끼의 눈들(1332), 치아(1346), 코(1344), 및 귀들(1333)은 1311A의 그들의 중립 위치들에 대해 변화되지 않게 유지된다.
도 14a는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 로봇 아바타(1400)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 로봇 아바타는 3개의 디스플레이된 상태들(1411A, 1411B, 1411C)을 갖는 것으로 도시되며, 로봇 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1401A, 1401B, 1401C)에 각각 대응한다. 도 14a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 로봇 아바타의 특징부들을 위치시키거나 수정한다.
1401A에서, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다. 예를 들어, 사용자의 눈들(1423)은 열려있고(홍채들(1423A) 또는 동공들은 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면에 수직인 방향으로 향함), 눈썹들(1422)은 사용자의 눈들(1423) 위의 이완된 위치에 있으며, 사용자의 뺨들(1428)은 이완되고 확장되지 않는다. 부가적으로, (선택적으로 사용자의 입(1420)의 코너를 형성할 수 있는 사용자의 입술의 제1 부분(1420A) 및 선택적으로 사용자의 입(1420)의 코너를 형성할 수 있는 사용자의 입술의 제2 부분(1420B)을 갖는) 사용자의 입(1420)은 이완된 중립 상태에 있고, 특정 얼굴 표정과 연관된 위치에 있지 않다. 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1411A에서 중립 표정 또는 상태를 갖는 로봇 아바타(1400)를 디스플레이한다. 예를 들어, 전자 디바이스는, 수직으로 중심설정된 정렬로 로봇의 머리(1435)의 측부들에 대해 위치된 귀들(1433), 로봇의 머리(1435)의 상단 상의 수평으로 중심설정된 위치에서 내려간 위치를 갖는 안테나(1434), 및 그의 베이스가 로봇의 머리(1435)의 하단 에지와 평행하게 정렬되어 있고 반대편 코너가 안테나(1434)를 향해 상향으로 지향되어 있는 삼각형 형상을 갖는 코(1436)를 갖는 로봇 아바타(1400)를 디스플레이한다.
1411A에서, 로봇의 입(1430)의 중립 위치는 전자 디바이스에 의해 디스플레이되는 입(1430)의 위치 및 형상에 의해 표시된다. 예를 들어, 전자 디바이스는 로봇의 코(1436) 아래에 입(1430)을 수평으로 중심설정함으로써 중립 위치의 로봇의 입(1430)을 디스플레이한다. 부가적으로, 수평으로 그리고 서로 평행하게 위치된 상부 에지(1430U) 및 하부 에지(1430L)에 의해 연결되는 둥근 단부들(1430A, 1430B)에 의해 형성된 "알약(pill)" 형상을 갖는 로봇의 입(1430)을 전자 디바이스가 디스플레이할 때, 로봇 입(1430)은 중립 위치에 있다. 입이 중립 위치에 있을 때, 전자 디바이스는 로봇의 "치아"(1440)를 형성하는 수직 라인들(1430C)을 디스플레이한다. 치아(1440)는 로봇의 코(1436) 아래에 중심설정된 로봇의 머리(1435)에 대해 고정된 수평 위치를 갖는다.
1411A에 도시된 바와 같이, 전자 디바이스는, 외측 원(1432A)의 중심에 위치된 내측 원(1432B) 또는 개구를 갖는 외측 원(1432A)을 디스플레이함으로써 중립 위치의 로봇의 눈들(1432)을 디스플레이하며, 라인들(1431)은 외측 원들(1432A)과 내측 원들(1432B) 사이에서 수평으로 연장된다. 로봇 눈 특징부들(예를 들어, 중심설정된 개구(1432B) 및 수평 라인들(1431))의 이러한 조합은 디스플레이(또는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향을 보고 있는 로봇의 눈들(1432)을 표현한다. 일부 실시예들에서, 로봇의 눈(1432)의 개방도는 내측 원(1432B)의 크기에 의해 표시된다. 예를 들어, 내측 원(1432B)의 직경이 증가할 때, 로봇의 눈(1432)은 넓어지거나 열리는 것으로 간주된다. 내측 원(1432B)의 직경이 감소할 때, 로봇의 눈(1432)은 좁혀지거나 닫히는 것으로 간주된다. 일부 실시예들에서, 전자 디바이스는, 내측 원(1432B)을 제거하고 외측 원(1432A)을 가로질러 연장되는 단일 라인(1431)을 디스플레이함으로써 닫힌 위치에 있는 로봇의 눈(1432)을 디스플레이한다. 다른 실시예들에서, 전자 디바이스는, 최소 직경을 갖는 내측 원(1432B)을 디스플레이함으로써 닫힌 위치에 있는 로봇의 눈(1432)을 디스플레이한다. 도 14a 내지 도 14d에 예시된 실시예들에서, 1411A에 예시된 내측 원(1432B)의 크기는 내측 원(1432B)의 중립 위치 또는 크기를 표현한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 로봇 이모지와 같은 관련 이미지의 다른 표현들에 대응한다.
1401B에 예시된 바와 같이, 전자 디바이스는 사용자의 우측 측부로 시프트된 사용자의 눈들(1423)(예를 들어, 사용자의 눈의 홍채(1423A) 및/또는 동공)을 검출한다. 사용자의 홍채들(1423A)의 우향 시프트를 검출하는 것에 응답하여, 전자 디바이스는 우측을 보도록 로봇 아바타의 눈들(1432)을 수정한다. 예를 들어, 각각의 로봇 눈(1432)에 대해, 전자 디바이스는 1411B에 도시된 바와 같이 내측 원(1432B)을 외측 원(1432A)의 먼 우측 에지로 시프트시킨다. 부가적으로, 전자 디바이스가 내측 원들(1432B)을 외측 원들(1432A)의 먼 우측 에지들로 시프트시킬 때, 전자 디바이스는 또한 내측 원(1432B)과 외측 원(1432A) 사이의 그들의 수평 연장을 유지하기 위해 수평 라인들(1431)의 길이들을 조정한다. 1411B에 도시된 바와 같이, 전자 디바이스는 로봇 아바타(1400)의 다른 특징부들을 수정하는 것을 보류한다.
1401C 및 1411C는, 전자 디바이스가 사용자의 좌측 측부로 시프트된 사용자의 눈들(1423)(예를 들어, 사용자의 눈의 홍채(1423A) 및/또는 동공)을 검출하는 유사한 효과를 예시한다. 사용자의 홍채들(1423A)의 좌향 시프트를 검출하는 것에 응답하여, 전자 디바이스는 1411C에 도시된 바와 같이 좌측을 보도록 로봇 아바타의 눈들(1432)을 수정한다. 예를 들어, 각각의 로봇 눈(1432)의 경우, 전자 디바이스는 내측 원(1432B)을 외측 원(1432A)의 먼 좌측 에지로 시프트시키고, 내측 원(1432B)과 외측 원(1432A) 사이의 그들의 수평 연장을 유지하기 위해 수평 라인들(1431)의 길이들을 조정한다. 다시, 1411C에 도시된 바와 같이, 전자 디바이스는 로봇 아바타(1400)의 다른 특징부들을 수정하는 것을 보류한다.
도 14b는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 로봇 아바타(1400)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 로봇 아바타는 3개의 디스플레이된 상태들(1412A, 1412B, 1412C)을 갖는 것으로 도시되며, 로봇 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1402A, 1402B, 1402C)에 각각 대응한다. 도 14b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 로봇 아바타의 특징부들을 위치시키거나 수정한다.
1402A 및 1412A에 예시된 바와 같이, 전자 디바이스는, 사용자가 그들의 눈들(1423)을 넓히는 것을 검출하고, 이에 응답하여, 넓어진 눈들(1432)을 디스플레이하도록 로봇 아바타(1400)를 수정한다. 1402A 및 1412A에 예시된 실시예에서, 전자 디바이스는 (예를 들어, 사용자의 눈들(1423)의 중립 위치에 대해) 사용자의 눈들(1423)의 크기의 증가를 검출함으로써 사용자가 그들의 눈들(1423)을 넓히는 것을 검출한다. 일부 실시예들에서, 넓어진 눈들을 검출하는 것은, 선택적으로, 전자 디바이스가 사용자의 눈썹들(1422)의 올라간 위치를 검출하는 것을 포함한다. 넓어진 사용자 눈들(1423)을 검출하는 것에 응답하여, 전자 디바이스는, 1412A에 도시된 바와 같이 내측 원(1432B)의 직경을 증가시킴으로써 로봇이 그의 눈들(1432)을 넓히는 것을 나타내도록 로봇 아바타(1400)를 수정한다. 부가적으로, 전자 디바이스는 내측 원(1432B)과 외측 원(1432A) 사이의 그들의 수평 연장을 유지하기 위해 수평 라인들(1431)의 길이들을 감소시킨다. 1412A에 도시된 바와 같이, 전자 디바이스는 로봇 아바타(1400)의 다른 특징부들을 수정하는 것을 보류한다.
1402B 및 1412B에 예시된 바와 같이, 전자 디바이스는 사용자가 그들의 눈들(1423)을 좁히는 것을 검출하고, 이에 응답하여, 그의 눈들(1432)을 좁히도록 로봇 아바타(1400)를 수정한다. 1402B 및 1412B에 예시된 실시예에서, 전자 디바이스는 (예를 들어, 사용자의 눈들(1423)의 중립 위치에 대해) 사용자의 눈들(1423)의 크기의 감소를 검출함으로써 사용자가 그들의 눈들(1423)을 좁히는 것을 검출한다. 좁혀진 사용자 눈들(1423)을 검출하는 것에 응답하여, 전자 디바이스는, 1412B에 도시된 바와 같이 내측 원(1432B)의 직경을 감소시킴으로써 로봇이 그의 눈들(1432)을 좁히는 것을 나타내도록 로봇 아바타(1400)를 수정한다. 부가적으로, 전자 디바이스는 내측 원(1432B)과 외측 원(1432A) 사이의 그들의 수평 연장을 유지하기 위해 수평 라인들(1431)의 길이들을 증가시킨다. 1412B에 도시된 바와 같이, 전자 디바이스는 로봇 아바타(1400)의 다른 특징부들을 수정하는 것을 보류한다.
1402C 및 1412C에 예시된 바와 같이, 전자 디바이스는 사용자의 눈썹들(1422)이 올라간 위치에 있다는 것(예를 들어, 1401A에 도시된 중립 위치보다 더 높게 위치된다는 것)을 검출하고, 이에 응답하여, 로봇 아바타(1400)의 다양한 특징부들을 수정한다. 예를 들어, 1412C에 도시된 바와 같이, 전자 디바이스는, 로봇의 머리(1435)의 상단으로부터 안테나(1434)를 연장시키고, 로봇의 머리(1435)의 측부들로부터 로봇의 귀(1433)를 연장시키며, 로봇의 눈들(1432)의 내측 원들(1432B)과 외측 원들(1432A)을 연결시키는 라인들(1431)을 회전시킴으로써 로봇 아바타(1400)를 수정한다. 1412C에 도시된 실시예에서, 전자 디바이스는 라인들(1431)이 "올라간" 위치에서 로봇 눈썹들을 모방하기 위해 경사지도록 그들을 회전시킨다. 예를 들어, 전자 디바이스는 우측 로봇 눈(1432R)에 위치된 라인들(1431)을 시계 방향으로 대략 45도만큼 회전시키고, 좌측 로봇 눈(1432L)에 위치된 라인들(1431)을 반시계 방향으로 대략 45도만큼 회전시킨다. 이러한 실시예에서, 전자 디바이스는 사용자가 그의 눈썹들(1422)을 올릴 때 위에서 논의된 바와 같이 로봇 아바타(1400)를 수정한다. 따라서, 전자 디바이스가 사용자의 눈썹들(1422)이 그들의 중립 위치로 복귀하는 것을 검출할 때, 전자 디바이스는 안테나(1434), 귀들(1433), 및 라인들(1431)이 1411A에 도시된 그들의 중립 위치들로 복귀하는 것을 디스플레이한다.
도 14c는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 로봇 아바타(1400)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 로봇 아바타는 4개의 디스플레이된 상태들(1413A, 1413B, 1413C, 1413D)을 갖는 것으로 도시되며, 로봇 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1403A, 1403B, 1403C, 1403D)에 각각 대응한다. 도 14c의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 로봇 아바타의 특징부들을 위치시키거나 수정한다.
1403A 및 1413A에 예시된 바와 같이, 전자 디바이스는 1401A에 도시된 것과 상이한 위치에서 사용자의 입술들의 부분들(1420A, 1420B)을 검출한다. 구체적으로, 전자 디바이스는 입술들의 부분들(1420A, 1420B)이 상향 포즈(예를 들어, 웃는 얼굴 표정)에 위치된다는 것을 검출하고, 이에 응답하여, 웃는 표정을 갖도록 로봇 아바타(1400)를 수정한다. 예를 들어, 전자 디바이스는 1413A에 도시된 바와 같이, 더 짧은 하부 에지(1430L) 및 더 긴 상부 에지(1430U)를 갖는 사다리꼴 형상으로 로봇의 입의 형상을 변화시킴으로써 웃는 표정을 갖도록 로봇의 입(1430)을 수정한다. 1413A에 도시된 바와 같이, 전자 디바이스는 로봇 아바타(1400)의 다른 특징부들을 수정하는 것을 보류한다.
1403B 및 1413B에 예시된 바와 같이, 전자 디바이스는, 하향 포즈에 위치된 사용자의 입술들의 부분들(1420A, 1420B) 중 하나 또는 둘 모두 및 하향 위치에 있는(예를 들어 1401A에서 이완된 중립 상태에 있을 때의 눈썹들(1422)의 위치와 비교할 때 사용자의 얼굴 상에서 찡그리거나 또는 더 낮게 위치된) 사용자의 눈썹들(1422)을 검출하고, 이에 응답하여, 찌푸린 표정을 갖는 로봇을 디스플레이하도록 로봇 아바타(1400)의 다수의 특징부들을 수정한다. 예를 들어, 전자 디바이스는 로봇의 입(1430) 및 로봇의 귀들(1433) 둘 모두를 수정함으로써 찌푸린 표정을 갖는 로봇을 디스플레이한다. 예를 들어, 전자 디바이스는 1413A에 도시된 바와 같이, 더 긴 하부 에지(1430L) 및 더 짧은 상부 에지(1430U)를 갖는 사다리꼴 형상으로 로봇의 입의 형상을 변화시킴으로써 찌푸린 표정을 갖도록 로봇의 입(1430)을 수정한다. 부가적으로, 전자 디바이스는, 1413B에 도시된 바와 같이 로봇의 귀들(1433)이 로봇의 머리(1435)의 측부들로부터 연장되고 로봇의 머리(1435)의 측부들로부터 떨어져 경사지게 하향 방향으로 틸팅되도록 로봇의 귀들(1433)을 수정한다. 1413B에 예시된 실시예에서, 전자 디바이스는 로봇 아바타(1400)의 다른 특징부들을 수정하는 것을 보류한다.
1403C에서, 전자 디바이스는, 사용자의 입(1420)이 열린 채로(예를 들어, 사용자의 입(1420)이 말하는 모션으로 움직이고 있는 것처럼) 사용자의 입(1420)의 부분들(1420C, 1420D)이 이격되어 있는 것을 검출한다. 사용자의 입(1420)의 이러한 "말하는" 모션을 검출하는 것에 응답하여, 전자 디바이스는 1413C에 도시된 바와 같이 로봇의 입(1430)이 사용자의 말하는 모션을 모방하는 것을 디스플레이하도록 로봇 아바타(1400)를 수정한다. 예를 들어, 전자 디바이스는, 치아의 상부 행(1440A) 및 치아의 하부 행(1440B)으로 로봇의 치아(1440)를 분리시키는 수평 공간(1441)을 도입함으로써 로봇의 치아(1440)를 변화시킨다. 사용자의 입이 말하는 모션으로 움직이고 있는 것을 전자 디바이스가 검출할 때, 전자 디바이스는, 로봇의 치아(1440)가 열린 방향으로 움직이고 있다는 것을 나타내기 위해 치아의 상부 행(1440A)과 치아의 하부 행(1440B) 사이의 수평 공간(1441)의 높이를 증가시키고, 로봇의 치아(1440)가 닫힌 방향으로 움직이고 있다는 것을 나타내기 위해 치아의 상부 행(1440A)과 치아의 하부 행(1440B) 사이의 수평 공간(1441)의 높이를 감소시킨다. 이러한 방식으로 수평 간격(1441)의 높이를 수정함으로써, 전자 디바이스는 사용자의 입(1420)의 말하는 모션을 모방하도록 로봇의 입(1430)을 수정한다. 1403C 및 1413C에 예시된 실시예와 같은 일부 실시예들에서, 전자 디바이스는, 사용자의 입(1420)의 부분들(1420C, 1420D)이 말하는 모션으로 움직이고 있다는 것을 검출하는 것에 응답하여 로봇의 입(1430)의 형상 또는 위치를 수정하지 않는다. 대신에, 로봇의 치아(1440)가 위에서 논의된 바와 같이 수정된다. 도 14c의 실시예와 같은 일부 실시예들에서, 물리적 특징부(예를 들어, 사용자의 입술들 및/또는 입)의 변화들은 대응하는 아바타 특징부(예를 들어, 로봇 입(1430, 1430U, 1430L)의 과장된 변화들을 초래할 수 있으며, 과장은 물리적 특징부에 대해 검출된 형상의 변화와 상이한 형상의 변화의 형태이다.
1403D 및 1413D에 예시된 바와 같이, 전자 디바이스가 사용자의 입(1420)이 1403D의 닫힌 위치로 복귀하는 것(예를 들어, 사용자의 입(1420)의 부분들(1420C, 1420D)이 닫히는 것)을 검출할 때, 전자 디바이스는 로봇의 치아(1440)가 1413D에 도시된 바와 같은 중립의 닫힌 위치로 복귀하도록 수평 공간(1441)을 제거한다.
도 14d는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 로봇 아바타(1400)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 로봇 아바타는 4개의 디스플레이된 상태들(1414A, 1414B, 1414C, 1414D)을 갖는 것으로 도시되며, 로봇 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1404A, 1404B, 1404C, 1404D)에 각각 대응한다. 도 14d의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 로봇 아바타의 특징부들을 위치시키거나 수정한다. 4개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1414A, 1414B, 1414C, 1414D의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1404A 및 1414A에 예시된 바와 같이, 전자 디바이스는 사용자의 입(1420)(예를 들어, 상부 입술(1420C) 및 하부 입술(1420D))이 사용자의 우측으로 시프트되는 것(예를 들어, 카메라의 시야에 대해 좌측으로 시프트되는 것)을 검출하고, 이에 응답하여, 로봇의 입(1430) 및 코(1436) 둘 모두를 수정한다. 전자 디바이스는, 로봇의 머리(1435)에 대한 로봇의 치아(1440)의 상대적인 위치를 유지하면서, 사용자의 입(1420)의 움직임을 미러링하도록 로봇의 입(1430)의 형상을 우측으로 시프트시킴으로써 로봇의 입(1430)을 수정한다. 예를 들어, 1414A에 도시된 바와 같이, 로봇의 입(1430)의 알약 형상은 우측으로 시프트되고, 치아(1440)의 위치는 로봇의 입(1430)이 로봇의 머리(1435) 및 치아(1440) 둘 모두에 대해 시프트되는 것으로 나타나도록 고정되게 유지된다.
1404A에 도시된 바와 같이, 사용자의 코(1425)의 선단은 사용자의 입(1420)에 따라 약간 시프트된다. 일부 실시예들에서, 전자 디바이스는 사용자의 코(1425)의 움직임을 직접적으로 모니터링하지 않거나 검출하지 않지만, 그럼에도 불구하고, 시프트한 로봇 입(1430)을 검출하는 것에 응답하여 움직이도록 로봇의 코(1436)를 수정함으로써 사용자의 코(1425)의 움직임을 고려한다. 예를 들어, 전자 디바이스는 로봇의 입(1430)이 시프트될 때 로봇의 코(1436)가 회전되도록 로봇의 코(1436)를 수정하며, 그에 의해, 사용자의 입(1420)과 코(1425) 사이의 상호연결된 얼굴 관계와 유사한, 로봇의 입(1430)과 코(1436) 사이의 상호연결된 얼굴 관계를 전달한다. 1414A에 예시된 실시예에서, 전자 디바이스는 로봇의 입(1430)을 우측으로 시프트시키고 코(1436)를 시계방향으로 회전시킨다. 로봇의 입(1430) 및 코(1436)에 대한 수정들의 이러한 조합은 사용자의 입(1420) 및 코(1425)의 움직임을 모방하며, 로봇의 얼굴 특징부들, 특히 로봇의 코(1436) 및 입(1430)이 사용자의 입(1420) 및 코(1425)의 방식과 유사한 방식으로 상호연결되는 외관을 제공한다.
1404B는 1404A에 도시된 것과 반대 방향으로의 사용자의 입(1420) 및 코(1425)의 움직임들을 예시하고, 1414B는 로봇 아바타(1400)에 대한 전자 디바이스의 대응하는 수정들을 예시한다. 로봇 아바타(1400)에 대한 이들 수정들은 1414A에 대해 위에서 논의된 것들과 유사하지만, 대신에 반대 방향들로 도시된다. 예를 들어, 1404B에서, 사용자의 입(1420) 및 코(1425)는 사용자의 좌측으로 시프트되는 것(예를 들어, 카메라의 시야에 대해 우측으로 시프트되는 것)으로 도시되고, 이에 응답하여, 전자 디바이스는 1414B에 도시된 바와 같이, 로봇의 입(1430)을 우측으로 시프트시키고 로봇의 코(1436)를 반시계 방향으로 회전시킨다. 다시, 로봇의 입(1430) 및 코(1436)에 대한 수정들의 이러한 조합은 사용자의 입(1420) 및 코(1425)의 움직임을 모방하며, 로봇의 얼굴 특징부들이 사용자의 입(1420) 및 코(1425)의 방식과 유사한 방식으로 상호연결되는 외관을 제공한다.
1404C 및 1414C에 예시된 바와 같이, 전자 디바이스는 부풀려지거나 확장된 위치에 있는 사용자의 뺨들(1428)(예를 들어, 사용자는 그들의 뺨들(1428)을 공기로 채워서, 그들이 1401A에 도시된 중립 위치를 넘어 확장되게 함)을 검출하고, 이에 응답하여, 로봇의 머리(1435)의 측부들로부터 로봇의 귀들(1433)을 연장시킴으로써 로봇 아바타(1400)를 수정한다. 일부 실시예들에서, 전자 디바이스는 사용자가 그들의 뺨들(1428)을 확장시키는 양에 기초하여 귀들(1433)의 연장을 수정한다. 예를 들어, 사용자가 그들의 뺨들(1428)을 계속 확장시킬 때, 전자 디바이스는 귀들(1433)을 계속 연장시킨다. 유사하게, (예를 들어, 사용자가 그들의 뺨들(1428)로부터 공기를 방출한 것에 응답하여) 사용자의 뺨들(1428)이 후퇴될 때, 전자 디바이스는 로봇의 귀들(1433)을 후퇴시킨다.
1404D에 예시된 바와 같이, 전자 디바이스는, 닫힌 위치에 있는 사용자의 턱(1427)을 검출하고, 사용자의 입술들(예를 들어, 사용자의 상부 입술(1420C) 및 하부 입술(1420D) 둘 모두)이 사용자의 입(1420)으로부터 외향으로 퍼커링된 포즈로 연장되게 하기 위해 사용자의 입(1420)의 코너들(1420A, 620B)이 서로를 향해 움직이는 것을 검출함으로써 사용자가 퍼커링 얼굴 표정을 만들고 있다고 검출한다. 사용자의 퍼커링 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1414D에 도시된 바와 같이 로봇의 입(1430)의 형상을 변화시키고 로봇의 입(1430)으로부터 방출되는 금속성 하트들(1452)을 디스플레이함으로써 로봇 아바타(1400)를 수정한다. 예를 들어, 전자 디바이스는 로봇 "퍼커"를 형성하기 위해 원의 중심에 "+" 형상(1454)을 갖는 원으로 로봇의 입(1430)의 형상을 수정한다. 부가적으로, 전자 디바이스는 로봇의 "퍼커링된" 입(1430)으로부터 방출되는 것으로 디스플레이되는 하나 이상의 금속성 하트들(1452)을 도입한다. 일부 실시예들에서, 전자 디바이스는 로봇 아바타(1400)의 임의의 다른 특징부들을 수정하는 것을 보류한다.
일부 실시예들에서, 전자 디바이스는 사용자의 퍼커링 얼굴 표정을 검출하는 것에 응답하여 금속성 하트들(1452)을 즉시 도입하지는 않는다. 그러한 실시예들에서, 전자 디바이스는, 사용자가 임계량의 시간 동안 퍼커링 얼굴 표정을 유지하는 것을 전자 디바이스가 검출한 이후에만, 퍼커링된 입(1430)으로부터 방출되는 금속성 하트들(1452)을 도입하도록 퍼커링 로봇 아바타(1400)를 수정한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 퍼커링 얼굴 표정을 유지할 때 퍼커링된 입(1430)으로부터 방출되는 단일의 금속성 하트(1452)만을 도입하도록 외계인 아바타를 수정하고, 이어서 사용자가 퍼커링 얼굴 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 퍼커링된 입(1430)으로부터 방출되는 부가적인 금속성 하트들(1452)을 도입하도록 외계인 아바타를 수정한다.
일부 실시예들에서, 금속성 하트들(1452)은 애니메이션화되고 동적이다. 예를 들어, 일부 실시예들에서, 전자 디바이스는 퍼커링된 입(1430)으로부터 간헐적으로 그리고 선택적으로는 랜덤한 간격들로 방출되는 금속성 하트들(1452)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 상이한 크기들을 갖는 금속성 하트들(1452)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 금속성 하트들(1452)이 퍼커링된 입(1430)으로부터 멀리 이동될 때 크기가 증가하는 금속성 하트들(1452)을 디스플레이한다. 부가적으로, 일부 실시예들에서, 전자 디바이스는, 각각의 금속성 하트(1452)가 랜덤화된 궤적으로 이동되고, 1414D의 디스플레이 구역 내에 위치된 랜덤 위치에서 사라지거나, 또는 대안적으로는 그것이 1414D의 디스플레이 구역을 빠져나가는 것처럼 뷰로부터 사라지는 것을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 사용자 또는 아바타가 향하는 방향에 기초하는 방향으로 퍼커링된 입(1430)으로부터 방출되는 금속성 하트(1452)를 디스플레이한다. 예를 들어, 사용자의 얼굴 또는 아바타가 좌측으로 터닝되는 것을 전자 디바이스가 검출하면, 퍼커링된 입(1430)은 금속성 하트들(1452)을 좌측으로 방출하고, 사용자의 얼굴 또는 아바타가 우측으로 터닝되는 것을 전자 디바이스가 검출하면, 퍼커링된 입(1430)은 금속성 하트들(1452)을 우측으로 방출한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때까지 로봇의 퍼커링된 입(1430)으로부터 방출되는 금속성 하트들(1452)을 계속 디스플레이한다. 일부 실시예들에서, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때, 전자 디바이스는, 금속성 하트들(1452)이 사라지고 퍼커링된 입(1430)이 1411A에 예시된 중립 형상으로 복귀하도록 로봇 아바타(1400)를 수정한다.
도 15a는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 유니콘 아바타(1500)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 유니콘 아바타는 4개의 디스플레이된 상태들(1511A, 1511B, 1511C, 1511D)을 갖는 것으로 도시되며, 유니콘 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1501A, 1501B, 1501C, 1501D)에 각각 대응한다. 도 15a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 유니콘 아바타의 특징부들을 위치시키거나 수정한다.
1501A에 예시된 바와 같이, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다(예를 들어, 사용자의 눈들(1523)은 열려있고, 눈썹들(1522)은 사용자의 눈들(1523) 위의 이완된 위치에 있고, 사용자의 입(1520)은 이완된 중립 상태에 있고, 특정 얼굴 표정과 연관된 위치에 있지 않다). 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1511A에서 중립 상태를 갖는 유니콘 아바타(1500)를 디스플레이한다. 예를 들어, 전자 디바이스는 유니콘 머리(1535)의 상단으로부터 수직으로 연장되는 귀들(1533), 열린 위치에 있는 눈(1532), 및 유니콘 머리(1535)의 상단에 자연스럽게 그리고 유니콘의 머리(1535) 및 목(1539) 후방 아래로 놓인 갈기(mane)(1552)를 갖는 유니콘(1500)을 디스플레이한다. 부가적으로, 전자 디바이스는 유니콘의 귀들(1533) 및 갈기(1552)에 인접한, 유니콘의 머리(1535)의 상단을 향해 위치된 뿔(1550)을 갖는 유니콘(1500)을 디스플레이한다. 전자 디바이스는 눈썹 또는 뺨 특징부들을 갖지 않는 유니콘(1500)을 디스플레이하고, 디스플레이(또는 카메라(카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향에 수직인 방향을 보고 있는 유니콘 눈(1532)을 디스플레이한다.
전자 디바이스는 또한 입(1530) 및 콧구멍(1536)을 포함하는 주둥아리(muzzle) 구역(1540)을 갖는 유니콘(1500)을 디스플레이한다. 1511A에서, 전자 디바이스는, 닫힌 위치에 있는 유니콘의 입(1530) 및 콧구멍(1536)의 이완된 위치를 포함하는 중립 상태에 있는 유니콘의 주둥아리 구역(1540)을 디스플레이한다.
1511A에 예시된 중립 상태에서, 전자 디바이스는, 유니콘(1500)이 유니콘의 특징부들의 대략 절반이 보이면서 1511A의 디스플레이 구역의 좌측 측부로 향하고 있도록 비스듬한 배향으로 유니콘 아바타(1500)를 디스플레이한다. 예를 들어, 전자 디바이스는 1511A에 도시된 중립 상태에서 유니콘의 눈들(1532) 중 하나, 유니콘의 입(1530)의 절반, 및 하나의 콧구멍(1536)을 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 유니콘 이모지와 같은 관련 이미지의 다른 표현들에 대응한다.
1501B 및 1511B에 예시된 바와 같이, 전자 디바이스는, 올라간 위치에 있는 사용자의 상부 입술(1520A) 및 내려간 위치에 있는 사용자의 눈썹들(1522)(예를 들어, 사용자는 비웃는 얼굴 표정을 만들고 있음)을 검출하고, 이에 응답하여, 비웃는 표정을 디스플레이하도록, 디스플레이된 유니콘 아바타(1500)를 수정한다. 예를 들어, 전자 디바이스는 1511B에 도시된 바와 같이, 유니콘의 눈(1532)의 상부 부분을 부분적으로 가로막는 찡그린 상태에 위치된 눈썹(1538)을 도입하도록 유니콘 아바타(1500)를 수정한다. 부가적으로, 전자 디바이스는 유니콘의 치아(1542)를 드러내도록 돌출한 상부 입술(1530A)을 갖는 열린 위치로 유니콘의 입(1530)을 변화시킴으로써 주둥아리 구역(1540)을 수정한다. 전자 디바이스는 또한, 1511B에 도시된 바와 같이, 확장된 또는 굽혀진 위치에 있는 콧구멍(1536)을 디스플레이하고 유니콘의 얼굴의 증가된 부분을 덮도록 주둥아리 구역(1540)을 확장시킴으로써 비웃는 포즈를 형성하도록 주둥아리 구역(1540)을 수정한다.
1501B 및 1511B에 예시된 실시예에서, 전자 디바이스는 사용자의 비웃는 얼굴 표정을 검출하는 것에 응답하여 비웃는 표정을 디스플레이하도록 유니콘 아바타(1500)를 수정한다. 일부 실시예들에서, 전자 디바이스는 수정된 특징부들(예를 들어, 입, 콧구멍, 주둥아리 구역, 눈썹) 각각에 대한 변화들의 점진적인 애니메이션으로서 아바타에 대한 변화들을 디스플레이하며, 애니메이션화된 변화들은 사용자의 대응하는 물리적 특징부들(예를 들어, 사용자의 입술들 및 눈썹들)에 대한 변화들의 방향 및 크기와 매칭한다. 다른 실시예들에서, 전자 디바이스는 유니콘의 비웃음을 표현하는 미리 정의된 위치로 가상 아바타의 특징부들(예를 들어, 입, 콧구멍, 주둥아리 구역, 눈썹)을 수정한다.
일부 실시예들에서, 사용자가 더 이상 비웃는 얼굴 표정을 만들지 않고 있다는 것을 전자 디바이스가 검출할 때, 전자 디바이스는 1511A에 예시된 중립 상태로 복귀하도록 유니콘 아바타(1500)를 수정한다. 예를 들어, 사용자가 비웃는 표정을 해제할 때, 전자 디바이스는, 눈썹(1538)이 유니콘의 눈(1532)으로부터 상향으로 이동되고 유니콘의 갈기(1552) 및 귀들(1533) 아래에서 유니콘의 얼굴로 사라지는 것을 애니메이션화함으로써 유니콘의 눈썹(1538)을 제거한다. 부가적으로, 전자 디바이스는, 주둥아리 구역(1540)이 그의 중립 위치로 이동되고, 콧구멍(1536)이 그의 이완된 상태로 복귀하며, 유니콘의 입(1530)이 그의 중립 위치로 복귀하도록 닫히는 것을 애니메이션화한다. 일부 실시예들에서, 전자 디바이스는 수정된 특징부들(예를 들어, 눈썹, 입, 콧구멍, 및 주둥아리 구역)에 대한 변화들을 애니메이션화하지 않으면서 유니콘(1500)이 그의 중립 위치로 복귀하는 것을 디스플레이한다. 다시 말하면, 전자 디바이스는 1511B에 도시된 비웃는 표정으로부터 1511A에 도시된 중립 상태로의 유니콘의 즉각적인 변화를 디스플레이한다.
1501C 및 1511C에 예시된 바와 같이, 전자 디바이스는 사용자가 그들의 눈썹들(1522)을 올리는 것을 검출하고, 이에 응답하여, 그의 눈썹을 올리도록, 디스플레이된 유니콘 아바타(1500)를 수정한다. 예를 들어, 사용자의 올라간 눈썹들(1522)을 검출하는 것에 응답하여, 전자 디바이스는 1511C에 도시된 바와 같이, 쫑긋 세우도록 유니콘의 갈기(1552)의 전방 부분(1552A)을 수정하고, 유니콘 아바타(1500)가 그의 눈썹들(1538)을 올리고 있는 인상을 전달하기 위해 유니콘 눈(1532) 위에 위치된 유니콘 눈썹(1538)을 도입한다. 이러한 실시예에서, 사용자의 눈썹(1522)이 올라갈 때, 전자 디바이스는 유니콘의 눈썹(1538)을 도입하고 갈기(1552)의 전방 부분을 쫑긋 세운다. 사용자의 눈썹들(1522)이 그들의 중립 위치로 복귀할 때, 전자 디바이스는 유니콘의 눈썹(1538)을 제거하고 갈기(1552)를 이완시킨다. 일부 실시예들에서, 디바이스는, 눈썹(1538)이 유니콘의 눈(1532)을 향해 이동되고 유니콘의 눈(1532) 위에서 유니콘의 얼굴로 사라지는 것을 애니메이션화함으로써 유니콘(1500)을 중립 위치로 복귀시킨다. 부가적으로, 전자 디바이스는 눈썹(1538)이 제거될 때 갈기(1552)의 전방 부분(1552A)이 그의 중립 위치로 떨어지는 것을 애니메이션화한다.
1501D 및 1511D에 예시된 바와 같이, 전자 디바이스는 사용자가 그들의 머리(1528), 및 선택적으로는 얼굴(1524)(또는 얼굴(1524)을 포함하는 다양한 물리적 특징부들)을 사용자의 좌측으로 회전시키는 것을 검출하고, 이에 응답하여, 유니콘의 목(1539)을 정지상태로 유지하면서 유니콘의 머리(1535)를 회전시킴으로써 유니콘 아바타(1500)를 수정한다. 예를 들어, 전자 디바이스는, 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504)) 상에서 사용자가 유니콘 아바타(1500)를 보는 관점을 향해 유니콘의 머리(1535)가 터닝하도록 유니콘의 머리(1535)를 회전시킨다. 전자 디바이스가 유니콘의 목(1539)의 위치를 유지하면서 유니콘의 머리(1535)를 회전시킬 때, 전자 디바이스는 유니콘(1500)이 1511A에 예시된 비스듬한 배향으로 향하고 있었을 때 이전에 숨겨졌었던 유니콘의 특징부들을 드러낸다. 예를 들어, 1511D에 도시된 바와 같이, 전자 디바이스는, 뷰로부터 이전에 숨겨졌었던 유니콘의 눈들(1532) 둘 모두, 콧구멍들(1536) 둘 모두, 그리고 유니콘 귀들(1533), 뿔(1550), 및 주둥아리 구역(1540)의 부분들을 디스플레이하도록 유니콘의 머리(1535)를 터닝시킨다. 부가적으로, 전자 디바이스가 유니콘의 머리(1535)를 회전시킬 때, 유니콘의 갈기(1552)는 유니콘의 머리(1535)와 함께 이동되며, 머리(1535)는 유니콘의 입(1530)이 뷰로부터 사라지도록 약간 하향으로 틸팅된다.
도 15b는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 유니콘 아바타(1500)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 유니콘 아바타는 3개의 디스플레이된 상태들(1512A, 1512B, 1512C)을 갖는 것으로 도시되며, 유니콘 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1502A, 1502B, 1502C)에 각각 대응한다. 도 15b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 유니콘 아바타의 특징부들을 위치시키거나 수정한다. 3개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1512A, 1512B, 1512C의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1502A 및 1512A에 예시된 바와 같이, 전자 디바이스는 사용자가 퍼커링 표정을 만든다는 것을 검출하고, 이에 응답하여, 유니콘 아바타의 입(1530)을 퍼커링된 입술들(1531)의 세트로 대체함으로써 유니콘 아바타(1500)를 수정한다. 1502A에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는, 닫힌 위치에 있는 사용자의 턱(1527)을 검출하고, 사용자의 입술들(예를 들어, 사용자의 상부 입술(1520A) 및 하부 입술(1520B) 둘 모두)이 사용자의 입(1520)으로부터 외향으로 퍼커링된 포즈로 연장되게 하기 위해 사용자의 입(1520)의 코너들이 서로를 향해 움직이는 것을 검출함으로써 사용자가 퍼커링 표정을 만들고 있다고 결정한다. 사용자의 퍼커링 표정을 검출하는 것에 응답하여, 전자 디바이스는, 1512A에 도시된 바와 같은 유니콘(1500)의 임의의 다른 특징부들을 수정하는 것을 보류하면서 유니콘의 입(1530)을 퍼커링된 입술들(1531)의 세트로 변화시킴으로써 유니콘 아바타(1500)를 수정한다.
1502B 및 1512B에 예시된 바와 같이, 전자 디바이스는 사용자가 임계량의 시간 동안 퍼커 표정을 유지하는 것을 검출하고, 이에 응답하여, 유니콘의 퍼커링된 입술들(1531)로부터 방출되는 것으로 디스플레이되는 하나 이상의 무지개 하트들(1555)을 도입함으로써 유니콘 아바타(1500)를 수정한다. 1512A 및 1512B에 예시된 실시예들에서, 전자 디바이스는 사용자의 퍼커링 표정을 검출하는 것에 응답하여 무지개 하트들(1555)을 즉시 도입하지는 않는다. 대신에, 전자 디바이스는, 사용자가 임계량의 시간 동안 퍼커링 표정을 유지하는 것을 전자 디바이스가 검출한 이후에만, 퍼커링된 입술들(1531)로부터 방출되는 무지개 하트들(1555)을 도입하도록 퍼커링 유니콘 아바타(1500)를 수정한다.
일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 퍼커링 표정을 유지할 때 퍼커링된 입술들(1531)로부터 방출되는 단일의 무지개 하트(1555)만을 도입하도록 유니콘 아바타를 수정하고, 이어서 사용자가 퍼커링 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 퍼커링된 입술들(1531)로부터 방출되는 부가적인 무지개 하트들(1555)을 도입하도록 유니콘 아바타를 수정한다. 일부 실시예들에서, 무지개 하트들(1555)은 애니메이션화되고 동적이다. 예를 들어, 일부 실시예들에서, 전자 디바이스는 퍼커링된 입술들(1531)로부터 간헐적으로 그리고 선택적으로는 랜덤한 간격들로 방출되는 무지개 하트들(1555)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 상이한 크기들을 갖는 무지개 하트들(1555)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 무지개 하트들(1555)이 퍼커링된 입술들(1531)로부터 멀리 이동될 때 크기가 증가하는 무지개 하트들(1531)을 디스플레이한다. 부가적으로, 일부 실시예들에서, 전자 디바이스는, 각각의 무지개 하트(1555)가 랜덤화된 궤적으로 이동되고, 1512B의 디스플레이 구역 내에 위치된 랜덤 위치에서 사라지거나, 또는 대안적으로는 그것이 1512B의 디스플레이 구역을 빠져나가는 것처럼 뷰로부터 사라지는 것을 디스플레이한다.
일부 실시예들에서, 전자 디바이스는, 사용자 또는 아바타가 향하는 방향에 기초하는 방향으로 퍼커링된 입술들(1531)로부터 방출되는 무지개 하트(1555)를 디스플레이한다. 예를 들어, 사용자의 얼굴 또는 아바타가 좌측으로 터닝되는 것을 전자 디바이스가 검출하면, 퍼커링된 입술들(1531)은 무지개 하트들(1555)을 좌측으로 방출하고, 사용자의 얼굴 또는 아바타가 우측으로 터닝되는 것을 전자 디바이스가 검출하면, 퍼커링된 입술들(1531)은 무지개 하트들(1555)을 우측으로 방출한다. 일부 실시예들에서, 전자 디바이스는, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때까지 유니콘의 퍼커링된 입술들(1531)로부터 방출되는 무지개 하트들(1555)을 계속 디스플레이한다. 일부 실시예들에서, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때, 전자 디바이스는, 무지개 하트들(1555)이 사라지고 퍼커링된 입술들(1531)이 유니콘 입(1530)으로 대체되도록 유니콘 아바타(1500)를 수정한다.
1502C에서, 전자 디바이스는, 사용자가 그들의 눈썹들(1522)을 올리면서 동시에 1502B에 대해 위에서 논의된 퍼커링된 표정을 유지하는 것을 검출한다. 1512C에 도시된 바와 같이, 사용자가 그들의 눈썹들(1522)을 올리는 것을 검출하는 것에 응답하여, 전자 디바이스는 1512B에 대해 위에서 논의된 무지개 하트들(1555)을 여전히 생성하면서 그의 눈썹들을 올리도록 유니콘(1535)을 수정한다. 예를 들어, 1512C에 도시된 바와 같이, 유니콘(1500)이 퍼커링된 입술들(1531)로부터 무지개 하트들(1555)을 방출하는 것을 디스플레이하는 동안, 전자 디바이스는 (사용자가 그들의 눈썹들(1522)을 올리는 것을 검출하는 것에 응답하여), 유니콘의 갈기(1552)의 전방 부분(1552A)이 쫑긋 세워지게 하고, 유니콘의 눈썹(1538)이 유니콘 아바타(1500)가 그의 눈썹들(1538)을 올리고 있으면서 무지개 하트들(1555)을 방출하는 인상을 전달하기 위해 유니콘 눈(1532) 위에 도입되도록 유니콘(1500)을 추가로 수정한다. 일부 실시예들에서, 갈기(1552)의 움직임은 하나 이상의 물리 모델들(예를 들어, 관성 모델, 중력 모델, 힘 전달 모델, 마찰 모델)에 따라 발생한다.
도 16a는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 닭 아바타(1600)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 닭 아바타는 4개의 디스플레이된 상태들(1611A, 1611B, 1611C, 1611D)을 갖는 것으로 도시되며, 닭 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1601A, 1601B, 1601C, 1601D)에 각각 대응한다. 도 16a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 닭 아바타의 특징부들을 위치시키거나 수정한다.
1601A에 예시된 바와 같이, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다(예를 들어, 사용자의 눈들(1623)은 열려있고, 눈썹들(1622)은 사용자의 눈들(1623) 위의 이완된 위치에 있고, 사용자의 뺨들(1628)은 이완되고 확장되지 않으며, 사용자의 입(1620)은 이완된 중립 상태에 있고, 특정 얼굴 표정과 연관된 위치에 있지 않다). 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1611A에서 중립 상태를 갖는 닭 아바타(1600)를 디스플레이한다. 예를 들어, 전자 디바이스는 닫힌 위치에 있는 부리(1630) 및 닭의 얼굴 구역(1655)으로부터 연장되고 닭의 머리(1635)로부터 느슨하게 매달려 있는 아랫볏(wattle)들(1650)을 갖는 닭(1600)을 디스플레이한다. 부가적으로, 전자 디바이스는 뺨들이 없는 닭(1600)을 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 닭 이모지와 같은 관련 이미지의 다른 표현들에 대응한다.
1601B 및 1611B에 예시된 바와 같이, 전자 디바이스는 부풀려지거나 확장된 위치에 있는 사용자의 뺨들(1628)(예를 들어, 사용자는 그들의 뺨들(1628)을 공기로 채워서, 그들이 1601A에 도시된 중립 위치를 넘어 확장되게 함)을 검출하고, 이에 응답하여, 닭이 그의 뺨들(1633)을 부풀리는 것을 디스플레이하도록 뺨들(1633)을 도입함으로써 닭 아바타(1600)를 수정한다. 부풀려진 닭 뺨들(1633)을 도입하는 것에 부가하여, 전자 디바이스는, 닭의 뺨들(1633)이 부풀려질 때 닭 아랫볏들(1650)이 (1611A에 도시된) 그들의 중립 위치로부터 (1611B에 도시된) 넓어진 위치로 스윙하는 것의 애니메이션을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 아랫볏들(1650)이 1611A의 그들의 중립 위치로부터 1611B의 넓어진 위치로 이동된 결과로서 흔들리는 것을 디스플레이함으로써 관성을 갖는 아랫볏들(1650)을 디스플레이한다.
1601C 및 1601D에서, 전자 디바이스는 사용자의 뺨들(1628)이 그들의 중립 위치로 복귀하는 것(예를 들어, 확장되지 않거나 부풀려지지 않는 것)을 검출한다. 이에 응답하여, 전자 디바이스는, 1611C 및 1611D에 도시된 바와 같이 부풀려진 뺨들(1633)을 제거하도록 닭 아바타(1600)를 수정한다. 예를 들어, 전자 디바이스는 뺨들(1633)을 제거하며, 닭 아랫볏들(1650)이 최종적으로 1611D의 그들의 중립 위치에 정착하기 전에, 1611B의 넓어진 위치로부터 1611C의 좁혀진 위치로 스윙하는 것을 디스플레이한다.
도 16b는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 닭 아바타(1600)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 닭 아바타는 3개의 디스플레이된 상태들(1612A, 1612B, 1612C)을 갖는 것으로 도시되며, 닭 아바타의 3개의 디스플레이된 상태들 각각은 사용자의 3개의 검출된 상태들(1602A, 1602B, 1602C)에 각각 대응한다. 도 16b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 닭 아바타의 특징부들을 위치시키거나 수정한다. 3개의 디스플레이된 상태들 각각에서, 디스플레이된 상태들의 경계들(예를 들어, 1612A, 1612B, 1612C의 경계들)은 가상 아바타를 포함하는 디스플레이된 구역의 경계들을 표현한다.
1602A 및 1612A에 예시된 바와 같이, 전자 디바이스는 사용자가 퍼커링 표정을 만든다는 것을 검출하고, 이에 응답하여, 닭의 부리(1630)의 선단을 퍼커링된 입술들(1645)의 세트로 대체함으로써 닭 아바타(1600)를 수정한다. 1602A에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는, 닫힌 위치에 있는 사용자의 턱(1627)을 검출하고, 사용자의 입술들(예를 들어, 사용자의 상부 입술(1620A) 및 하부 입술(1620B) 둘 모두)이 사용자의 입(1620)으로부터 외향으로 퍼커링된 포즈로 연장되게 하기 위해 사용자의 입(1620)의 코너들이 서로를 향해 움직이는 것을 검출함으로써 사용자가 퍼커링 표정을 만들고 있다고 결정한다. 사용자의 퍼커링 표정을 검출하는 것에 응답하여, 전자 디바이스는, 1612A에 도시된 바와 같은 닭(1600)의 임의의 다른 특징부들을 수정하는 것을 보류하면서 닭의 부리(1630)의 선단을 퍼커링된 입술들(1645)의 세트로 변화시킴으로써 닭 아바타(1600)를 수정한다.
1602B 및 1602C에서, 전자 디바이스는 임계량의 시간 동안 퍼커 표정을 유지하면서 측부로 터닝된 사용자의 머리(1629)를 검출한다. 이에 응답하여, 전자 디바이스는 (사용자의 머리(1629)의 검출된 방향에 의존하여) 닭의 머리(1635)를 좌측 또는 우측으로 향하게 하고 닭의 퍼커링된 입술들(1645)로부터 방출되는 것으로 디스플레이되는 하나 이상의 하트들(1652)을 도입함으로써 닭 아바타(1600)를 수정한다. 도 16b에 예시된 실시예들에서, 전자 디바이스는 사용자의 퍼커링 표정을 검출하는 것에 응답하여 하트들(1652)을 즉시 도입하지는 않는다. 대신에, 전자 디바이스는, 사용자가 임계량의 시간 동안 퍼커링 표정을 유지하는 것을 전자 디바이스가 검출한 이후에만, 퍼커링된 입술들(1645)로부터 방출되는 하트들(1652)을 도입하도록 퍼커링 닭 아바타(1600)를 수정한다.
일부 실시예들에서, 전자 디바이스는, 사용자가 제1 임계량의 시간(예를 들어, 0.3초) 동안 퍼커링 표정을 유지할 때 퍼커링된 입술들(1645)로부터 방출되는 단일의 하트(1652)만을 도입하도록 닭 아바타(1600)를 수정하고, 이어서 사용자가 퍼커링 표정을 계속 유지하여 제2 임계량의 시간(예를 들어, 0.6초)에 도달한 이후 퍼커링된 입술들(1645)로부터 방출되는 부가적인 하트들(1652)을 도입하도록 닭 아바타(1600)를 수정한다. 일부 실시예들에서, 하트들(1652)은 애니메이션화되고 동적이다. 예를 들어, 일부 실시예들에서, 전자 디바이스는 퍼커링된 입술들(1645)로부터 간헐적으로 그리고 선택적으로는 랜덤한 간격들로 방출되는 하트들(1652)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 상이한 크기들을 갖는 하트들(1652)을 디스플레이한다. 일부 실시예들에서, 전자 디바이스는, 하트들(1652)이 퍼커링된 입술들(1645)로부터 멀리 이동될 때 크기가 증가하는 무지개 하트들(1652)을 디스플레이한다. 부가적으로, 일부 실시예들에서, 전자 디바이스는, 각각의 하트(1652)가 랜덤화된 궤적으로 이동되고, 디스플레이 구역(예를 들어, 1612B 또는 1612C의 디스플레이 구역) 내에 위치된 랜덤 위치에서 사라지거나, 또는 대안적으로는 그것이 디스플레이 구역(예를 들어, 1612B 또는 1612C의 디스플레이 구역)을 빠져나가는 것처럼 뷰로부터 사라지는 것을 디스플레이한다.
일부 실시예들에서, 전자 디바이스는, 사용자 또는 아바타가 향하는 방향에 기초하는 방향으로 퍼커링된 입술들(1645)로부터 방출되는 하트(1652)를 디스플레이한다. 예를 들어, 1602B 및 1612B에 도시된 바와 같이, 전자 디바이스는 사용자의 머리(1629)가 사용자의 우측 방향으로 터닝되는 것(예를 들어, 카메라의 시야에 대해 좌측으로 터닝되는 것)을 검출하고, 전자 디바이스는 사용자의 머리(1629)를 미러링하기 위해 우측으로 향하는 닭의 머리(1635)를 디스플레이한다. 따라서, 전자 디바이스는 1612B에 도시된 바와 같이, 닭 아바타(1600)가 향하고 있는 우향 방향으로, 퍼커링된 입술들(1645)로부터 방출되는 하트들(1652)을 디스플레이한다. 반대로, 1602C 및 1612C에 도시된 바와 같이, 전자 디바이스는 사용자의 머리(1629)가 사용자의 좌측 방향으로 터닝되는 것(예를 들어, 카메라의 시야에 대해 우측으로 터닝되는 것)을 검출하고, 전자 디바이스는 사용자의 머리(1629)를 미러링하기 위해 좌측으로 향하는 닭의 머리(1635)를 디스플레이한다. 따라서, 전자 디바이스는 1612C에 도시된 바와 같이, 닭 아바타(1600)가 향하고 있는 좌향 방향으로, 퍼커링된 입술들(1645)로부터 방출되는 하트들(1652)을 디스플레이한다.
일부 실시예들에서, 전자 디바이스는, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때까지 닭의 퍼커링된 입술들(1645)로부터 방출되는 하트들(1652)을 계속 디스플레이한다. 일부 실시예들에서, 사용자가 퍼커링 얼굴 표정을 만드는 것을 중지할 때, 전자 디바이스는, 하트들(1652)이 사라지고 퍼커링된 입술들(1645)이 닭의 부리(1630)의 선단으로 대체되도록 닭 아바타(1600)를 수정한다.
도 17a는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 돼지 아바타(1700)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 돼지 아바타는 2개의 디스플레이된 상태들(1711A, 1711B)을 갖는 것으로 도시되며, 돼지 아바타의 2개의 디스플레이된 상태들 각각은 사용자의 2개의 검출된 상태들(1701A, 1701B)에 각각 대응한다. 도 17a의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 돼지 아바타의 특징부들을 위치시키거나 수정한다.
1701A에 예시된 바와 같이, 전자 디바이스는 사용자의 중립 얼굴 표정을 검출한다(예를 들어, 사용자의 눈들(1723)은 열려있고, 눈썹들(1722)은 사용자의 눈들(1223) 위의 이완된 위치에 있고, 사용자의 입(1720)은 이완된 중립 상태에 있고, 특정 얼굴 표정과 연관된 위치에 있지 않다). 중립 얼굴 표정을 검출하는 것에 응답하여, 전자 디바이스는 1711A에서 중립 상태를 갖는 돼지 아바타(1700)를 디스플레이한다. 예를 들어, 전자 디바이스는, 돼지의 머리(1735) 상에 수직으로 중심설정되고 눈썹들 없이 디스플레이된 눈들(1732)을 갖고 디스플레이(또는 카메라(예를 들어, 카메라(143), 광학 센서(164))의 포커스 평면)에 수직인 방향을 보고 있는 돼지(1700)를 디스플레이한다. 전자 디바이스는 또한 돼지의 머리(1735) 상에 수평으로 중심설정되고 돼지의 눈들(1732) 약간 아래에 위치된 코(1736)를 갖는 돼지(1700)를 디스플레이한다. 중립 상태에서, 전자 디바이스는 1711A에 도시된 바와 같이, 돼지의 코(1736) 아래에 위치된 닫힌 위치에 있는 입(1730)을 갖는 돼지(1700)를 디스플레이한다. 일부 실시예들에서, 아바타의 중립 위치는, 메시징 애플리케이션들에서 발견될 수 있는 정적 돼지 이모지와 같은 관련 이미지의 다른 표현들에 대응한다.
1701B 및 1711B에 예시된 바와 같이, 전자 디바이스는, 올라간 위치에 있는 사용자의 상부 입술(1720A) 및 내려간 위치에 있는 사용자의 눈썹들(1722)(예를 들어, 사용자는 비웃는 얼굴 표정을 만들고 있음)을 검출하고, 이에 응답하여, 비웃는 표정을 디스플레이하도록, 디스플레이된 돼지 아바타(1700)를 수정한다. 예를 들어, 전자 디바이스는 1711B에 도시된 바와 같이, 돼지의 눈들(1732)의 상부 부분들을 부분적으로 가로막는 찡그린 상태에 위치된 눈썹들(1738)을 도입하도록 돼지 아바타(1700)를 수정한다. 또한, 전자 디바이스는 돼지의 비웃는 표정을 디스플레이하도록 돼지의 입(1730) 및 코(1736)를 수정한다. 예를 들어, 전자 디바이스는 열린 위치에 있는 돼지의 입(1730)이 돼지의 치아(1742)를 드러내는 것을 디스플레이하고, 돼지의 코(1736)를 상향 방향으로 시프트시킨다. 1701B 및 1711B에 도시된 바와 같이, 돼지의 코(1736)의 변화는, 아바타의 코의 변화가 사용자의 입술의 백분율 변화(예를 들어, 예측된 또는 결정된 모션 범위의 10%)와 비교하여 모델링된 모션의 최대 범위의 더 큰 백분율(예를 들어, 30%)이라는 점에서 사용자의 상부 입술(1720A)의 변화에 대해 과장된다.
일부 실시예들에서, 사용자가 더 이상 비웃는 표정을 만들지 않고 있다는 것을 전자 디바이스가 검출할 때, 전자 디바이스는 1711A에 예시된 중립 상태로 복귀하도록 돼지 아바타(1700)를 수정한다. 예를 들어, 사용자가 비웃는 표정을 해제할 때, 전자 디바이스는, 눈썹들(1738)이 돼지의 눈들(1732)로부터 상향으로 이동되고 돼지의 머리(1735)의 상단 아래에서 돼지의 얼굴로 사라지는 것을 애니메이션화함으로써 돼지의 눈썹들(1738)을 제거한다. 또한, 전자 디바이스는, 돼지의 입(1730)이 치아(1742)를 숨기도록 닫히고 그의 중립 위치로 복귀하는 것을 애니메이션화하고, 돼지의 코(1736)가 1711A에 도시된 그의 이완된 상태로 이동되는 것을 애니메이션화한다.
도 17b는, 얼굴 특징부들과 같은 사용자의 물리적 특징부들의 변화들을 검출하는 것에 응답하여 전자 디바이스가 돼지 아바타(1700)를 수정하는 것을 예시하는 예시적인 실시예를 예시한다. 돼지 아바타는 4개의 디스플레이된 상태들(1712A, 1712B, 1712C, 1712D)을 갖는 것으로 도시되며, 돼지 아바타의 4개의 디스플레이된 상태들 각각은 사용자의 4개의 검출된 상태들(1702A, 1702B, 1702C, 1702D)에 각각 대응한다. 도 17b의 각각의 디스플레이된 상태에서, 전자 디바이스는, 사용자의 개개의 상태들에서 검출된 사용자의 얼굴 특징부들과 같은 물리적 특징부들 중 하나 이상의 물리적 특징부들의 위치 또는 위치의 변화를 검출하는 것에 응답하여 돼지 아바타의 특징부들을 위치시키거나 수정한다.
1702A 및 1712A에 예시된 바와 같이, 전자 디바이스는 사용자의 입(1720)(예를 들어, 상부 입술(1720A) 및 하부 입술(1720B))이 사용자의 좌측으로 시프트되는 것(예를 들어, 카메라의 시야에 대해 우측으로 시프트되는 것)을 검출하고, 이에 응답하여, 돼지의 입(1730) 및 코(1736) 둘 모두를 수정한다. 예를 들어, 전자 디바이스는 돼지의 코(1736)를 돼지의 머리(1735)의 좌측 측부로 수평으로 시프트시킨다. 부가적으로, 전자 디바이스는, 입(1730)을 단축시키고, 사용자의 입(1720)의 움직임을 미러링하도록 입(1730)을 회전시켜 돼지의 머리(1735)의 좌측 측부로 시프트시킴으로써 돼지의 입(1730)을 수정한다.
1702A에 도시된 바와 같이, 사용자의 코(1725)의 선단은 사용자의 입(1720)에 따라 약간 시프트된다. 일부 실시예들에서, 전자 디바이스는 사용자의 코(1725)의 움직임을 직접적으로 모니터링하지 않거나 검출하지 않지만, 그럼에도 불구하고, 1712A에 도시된 바와 같이, 시프트한 돼지의 입(1730)을 검출하는 것에 응답하여 움직이도록 돼지의 코(1736)를 수정함으로써 사용자의 코(1725)의 움직임을 고려한다. 예를 들어, 전자 디바이스는 돼지의 입(1730)이 시프트될 때 돼지의 코(1736)가 수평으로 시프트되도록 돼지의 코(1736)를 수정하며, 그에 의해, 사용자의 입(1720)과 코(1725) 사이의 상호연결된 얼굴 관계와 유사한, 돼지의 입(1730)과 코(1736) 사이의 상호연결된 얼굴 관계를 전달한다. 1712A에 예시된 실시예에서, 전자 디바이스는 돼지의 입(1730) 및 코(1736)를 우측으로 시프트시키고 입(1730)를 시계방향으로 약간 회전시킨다. 돼지의 입(1730) 및 코(1736)에 대한 수정들의 이러한 조합은 사용자의 입(1720) 및 코(1725)의 움직임을 모방하며, 돼지의 얼굴 특징부들, 특히 돼지의 코(1736) 및 입(1730)이 사용자의 입(1720) 및 코(1725)의 방식과 유사한 방식으로 상호연결되는 외관을 제공한다.
1702B는 1702A에 도시된 것과 반대 방향으로의 사용자의 입(1720) 및 코(1725)의 움직임들을 예시하고, 1712B는 돼지 아바타(1700)에 대한 전자 디바이스의 대응하는 수정들을 예시한다. 돼지 아바타(1700)에 대한 이들 수정들은 1712A에 대해 위에서 논의된 것들과 유사하지만, 대신에 반대 방향들로 도시된다. 예를 들어, 1702B에서, 사용자의 입(1720) 및 코(1725)는 사용자의 우측으로 시프트되는 것(예를 들어, 카메라의 시야에 대해 좌측으로 시프트되는 것)으로 도시되고, 이에 응답하여, 전자 디바이스는 1712B에 도시된 바와 같이, 돼지의 코(1736)를 돼지의 머리(1735)의 우측 측부로 시프트시키고, 돼지의 입(1730)을 단축시키고, 입(1730)을 반시계 방향으로 약간 회전시키며, 시프트된 코(1736) 아래에서 돼지의 머리(1735)의 우측 측부로 수평으로 입(1730)을 시프트시킨다. 다시, 돼지의 입(1730) 및 코(1736)에 대한 수정들의 이러한 조합은 사용자의 입(1720) 및 코(1725)의 움직임을 모방하며, 돼지의 얼굴 특징부들이 사용자의 입(1720) 및 코(1725)의 방식과 유사한 방식으로 상호연결되는 외관을 제공한다.
1702C 및 1712C에 예시된 바와 같이, 전자 디바이스는 상향 포즈에 있는 사용자의 입(1720)의 코너들(1720C, 1720D) 중 하나 또는 둘 모두(예를 들어, 웃는 얼굴 표정을 형성함)를 검출하고, 이에 응답하여, 웃는 표정을 갖도록 돼지 아바타(1700)를 수정한다. 예를 들어, 전자 디바이스는 돼지의 입(1730) 및 코(1736)의 위치를 수정하여, 그들 둘 모두가 1711A에 도시된 그들의 중립 위치들에 대해 올라가게 한다. 예를 들어, 1712C에서, 전자 디바이스는, 돼지의 코(1736)의 상단이 돼지의 눈들(1732)의 중간에 또는 그 위에 위치되도록 돼지의 코(1736)를 올린다. 유사하게, 전자 디바이스는 돼지의 입(1730)을 올려서, 돼지의 코(1736)에 대해, 그것이 중립 상태에서 갖는 것과 동일한 상대적인 위치설정을 유지하게 한다. 그 결과, 전자 디바이스는 사용자의 웃는 얼굴 표정을 검출하는 것에 응답하여 돼지의 머리(1735) 상에서 올라간 위치에 있는 돼지의 코(1736) 및 돼지의 입(1730) 둘 모두를 디스플레이한다. 일부 실시예들에서, 전자 디바이스는 또한 (예를 들어, 열린 웃는 형상을 갖는) 웃는 표정을 형성하도록 돼지의 입(1730)의 형상을 조정한다.
1702D 및 1712D에 예시된 바와 같이, 전자 디바이스는 하향 포즈에 위치된 사용자의 입(1720)의 코너들(1720D, 1720D) 중 하나 또는 둘 모두(예를 들어, 슬픈 얼굴 표정)를 검출하고, 이에 응답하여, 슬픈 표정을 갖도록 돼지 아바타(1700)를 수정한다. 예를 들어, 전자 디바이스는 돼지의 입(1730) 및 코(1736)의 위치를 수정하여, 그들 둘 모두가 1711A에 도시된 그들의 중립 위치들에 대해 내려가게 한다. 예를 들어, 1712D에서, 전자 디바이스는, 돼지의 코(1736)의 상단이 돼지의 눈들(1732)의 하단에 또는 그 아래에 위치되도록 돼지의 코(1736)를 내린다. 유사하게, 전자 디바이스는 돼지의 입(1730)을 내려서, 돼지의 코(1736)에 대해, 그것이 중립 상태에서 갖는 것과 동일한 상대적인 위치설정을 유지하게 한다. 그 결과, 전자 디바이스는 사용자의 슬픈 얼굴 표정을 검출하는 것에 응답하여 돼지의 머리(1735) 상에서 내려간 위치에 있는 돼지의 코(1736) 및 돼지의 입(1730) 둘 모두를 디스플레이한다. 1712D에 도시된 것과 같은 일부 실시예들에서, 전자 디바이스는 또한 돼지의 입(1730)을 하향 방향으로 만곡시킴으로써 슬픈 표정을 형성하도록 돼지의 입(1730)의 형상을 조정한다.
10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b에서 제공된 예들에서, 전자 디바이스는 사용자가 사용자의 물리적 특징부들의 다양한 위치들 사이에서 전환하는 것을 검출하고, 이어서, 사용자의 물리적 특징부들의 검출된 변화들에 따라 가상 아바타(예를 들어, 대변, 곰, 외계인, 토끼, 로봇, 유니콘, 닭, 또는 돼지 아바타)를 업데이트 또는 수정한다. 이들 예들에서, 전자 디바이스는 가상 아바타의 소정의 특징부들의 특성들을 유지하고 다른 가상 아바타 특징부들에 대한 변화들을 애니메이션화함으로써 다양한 표정들 및 위치들 사이에서의 가상 아바타의 디스플레이를 전환한다. 예를 들어, 도 10a의 1001A 내지 1001D에 도시된 바와 같이, 디바이스는 아바타 눈들(1030)의 위치를 유지하면서, 아바타 입(1030), 눈썹들(1038), 및 상부 부분(1034)과 같은 다른 아바타 특징부들을 수정한다. 아바타의 상태들이 사용자의 개개의 검출된 상태들에 대응하지만(예를 들어, 디스플레이된 아바타 상태들(1011A 내지 1011D)은 검출된 사용자 상태들(1001A 내지 1001D)에 각각 대응함), 검출된 사용자 상태들(및 결과적인 아바타 상태들)의 순서가 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b에 도시된 것으로 제한되지 않음을 인식해야 한다. 따라서, 사용자는 임의의 물리적 특징부들을 변화시키거나 임의의 원하는 위치들을 취할 수 있고, 전자 디바이스는 검출된 변화들이 발생하는 순서에 관계없이, 검출된 변화들에 응답하여 가상 아바타를 수정한다.
도 18a 및 도 18b는 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(1800)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(1800)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(1800)은 포즈의 상이한 유형들의 변화에 상이하게 반응하는 부분들을 갖는 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 물리적 및 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(1800)의 예들은 도 10a 내지 도 10i 및 도 15a 및 도 15b를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 변화들에 응답하여 외관을 변화시키는 가상 아바타(예를 들어, 1000, 1500)(예를 들어, 그래픽적으로 도시될 수 있는 사용자의 표현)를 디스플레이한다(1802). 하나 이상의 카메라들의 시야에서의 얼굴의 변화들에 응답하여 가상 아바타의 외관을 변화시키는 것은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
가상 아바타는 제1 부분(예를 들어, 1034, 1535)(예를 들어, 머리 및 얼굴(예를 들어, 비-하부 목 부분)), 및 제1 부분과 상이한 제2 부분(예를 들어, 1036, 1539)(예를 들어, 하부 목(예를 들어, 비-머리 및 상부 목))을 포함한다(1804).
일부 예들에서(1814), 제1 부분(예를 들어, 1034, 1535)은 얼굴(예를 들어, 사용자의 머리, 얼굴로서 집합적으로 해석되는 하나 이상의 상호관련된 얼굴 특징부들(예를 들어, 입, 눈들, 코들, 근육들 또는 근육 그룹들)의 집합)의 포즈의 제1 유형의 변화들(예를 들어, x-축을 따른 회전(예를 들어, 머리의 끄덕임(nodding)) 또는 y-축을 따른 회전(예를 들어, 좌우로 머리를 흔드는 것)) 및 얼굴의 포즈의 제2 유형의 변화들(예를 들어, x, y, 또는 z 축들을 따른 전체 얼굴/머리의 병진이동(예를 들어, 시야 내에서의 전체 얼굴/머리의 재위치설정))에 반응한다.
일부 예들에서, 제2 부분(예를 들어, 1036, 1539)은
제1 부분이 얼굴의 배향의 제1 유형의 변화들에 반응하는 것보다 감소된 반응성을 갖는다(예를 들어, 제2 부분은 얼굴의 배향의 제1 유형의 변화들에 덜 반응한다). 일부 예들에서, 제2 부분은 얼굴의 배향의 제1 유형의 변화들에 비반응성이어서, 제1 유형의 검출된 배향 변화들은 직접 모델링되지 않고, 시각적 외관(특히, 디스플레이된 배향)은 검출된 움직임에 기초하여 업데이트되지 않는다. 일부 예들에서, 제2 부분은 임의의 검출된 얼굴 특징부들에 맵핑되지 않거나 그에 의해 직접 제어되지 않는 비얼굴 특징부(예를 들어, 목)이다. 일부 예들에서, 제2 부분은 제1 유형의 배향의 변화들에 직접 반응하지 않지만, (예를 들어, 제1 유형의 배향의 변화들에 의해 야기되는 제1 부분의 움직임에 기초하여, 제1 부분과 제2 부분 사이의 연결에 기초하여) 얼굴의 포즈의 제1 유형의 변화들에 간접적으로 반응하고, 얼굴의 포즈의 제2 유형의 변화들에 반응한다. 일부 예들에서, 하나 이상의 카메라들의 시야의 평면에 평행한 축(예를 들어, x-축, y-축) 또는 그에 수직인 축(예를 들어, z-축)을 따라 발생하는 사용자의 얼굴의 포즈의 변화들(예를 들어, 병진이동 변화들)은 가상 아바타의 제1 부분(예를 들어, 1034 또는 가상 아바타의 머리(1535)) 및 가상 아바타의 제2 부분(예를 들어, 1036 또는 가상 아바타의 목(1539)) 둘 모두의 움직임을 초래한다. 반대로, 그러한 실시예들에서, 하나 이상의 카메라들의 시야의 평면에 평행한 축(예를 들어, x-축, y-축) 또는 그에 수직인 축(예를 들어, z-축) 주위에서 발생하는 사용자의 얼굴의 포즈의 변화들(예를 들어, 회전 변화들)은 가상 아바타의 제2 부분의 움직임이 없는(또는 더 적은 움직임을 갖는) 가상 아바타의 제1 부분의 움직임을 초래한다. 가상 아바타의 제1 부분과 비교하여, 얼굴의 포즈의 제1 유형의 변화에 대해 가상 아바타의 제2 부분에 대한 감소된 반응성을 갖는 것은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 부분들에 상이하게 영향을 주기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들의 시야 내에서 얼굴의 포즈의 변화를 검출하기 전에, 가상 아바타의 제1 부분(예를 들어, 1034, 1535)은 가상 아바타의 제2 부분(예를 들어, 1036, 1539)으로부터 시각적으로 묘사되지 않는다(예를 들어, 제1 부분이 종료되는 곳(예를 들어, 머리(1535)의 하단 또는 목(1539)의 상단) 및 제2 부분이 시작되는 곳(예를 들어, 목의 상단 아래)의 어떠한 시각적인 표시도 존재하지 않는다). 일부 실시예들에서, 가상 아바타는 반고체 물질의 파일(pile)(예를 들어, 대변 아바타(1000)와 같은 대변의 파일)의 표현이며, 상단(예를 들어, 1034 및/또는 1040)은 얼굴의 포즈의 제1 유형의 변화에 기초하여 움직이는 반면, 하단(예를 들어, 1036)은 얼굴의 포즈의 제1 유형의 변화에 기초하여 움직이지 않는다.
일부 예들에서, 가상 아바타의 제1 부분(예를 들어, 1034, 1535)은 가상 아바타의 머리 특징부의 적어도 일부이고, 가상 아바타의 제2 부분(예를 들어, 1036, 1539)은 가상 아바타의 목 특징부의 적어도 일부이다. 일부 예들에서, 가상 아바타의 제1 부분은 유니콘 또는 말의 머리(예를 들어, 1535)이고, 가상 아바타의 제2 부분은 유니콘 또는 말의 목(예를 들어, 1539)이다.
일부 예들에서, 하나 이상의 카메라들의 시야 내에서 얼굴의 포즈의 변화를 검출하기 전에, 얼굴은 하나 이상의 카메라들의 시야에 대해 제1 배향으로 배향되고(예를 들어, 얼굴은 하나 이상의 카메라를 직접 향하도록 배향되고), 하나 이상의 카메라들의 시야 내에서 얼굴의 포즈의 변화를 검출하기 전에, 가상 아바타(예를 들어, 1500)는 제1 배향과 상이한 제2 배향으로 디스플레이된다. 일부 예들에서, 가상 아바타는 사용자의 얼굴의 배향과 비교하여 비스듬한 배향을 갖는 것으로 디스플레이된다. 예를 들어, (예를 들어, 도 15a에 도시된 바와 같이) 사용자의 얼굴 특징부들이 보이도록 사용자가 하나 이상의 카메라들을 직접 향하고 있을 때, 가상 아바타(예를 들어, 1500)는 가상 아바타의 부분들(예를 들어, 눈(1532), 귀(1533) 등과 같은 아바타 특징부들)이 디스플레이되지 않도록(예를 들어, 숨겨지거나 부분적으로 숨겨지도록) 비스듬한 각도로 디스플레이된다. 일부 예들에서, 숨겨진 아바타 특징부들 중 하나 이상은 얼굴의 움직임에 응답하여 드러난다(예를 들어, 얼굴이 측부로 회전되면, 눈(1532) 또는 귀(1533)와 같은 이전에 숨겨진 아바타 특징부의 적어도 일부는 도 15a의 1511D에 도시된 바와 같이 디스플레이 디바이스를 통해 디스플레이된다).
일부 예들에서, 가상 아바타의 제1 부분(예를 들어, 1034, 1535 또는 그들의 일부)(예를 들어, 개 가상 아바타에 대한 귀, 말 가상 아바타(예를 들어, 1500)의 갈기(예를 들어, 1552))의 움직임 또는 가상 아바타의 제2 부분(예를 들어, 1036, 1539 또는 그들의 일부)의 움직임은 하나 이상의 물리 모델들(예를 들어, 관성 모델, 중력 모델, 힘 전달 모델, 마찰 모델)에 따라 발생한다. 일부 예들에서, 물리 모델은, 얼굴 또는 얼굴의 일부의 움직임의 크기 및 방향, 및 시뮬레이션된 질량, 시뮬레이션된 탄성, 시뮬레이션된 마찰 계수 또는 다른 시뮬레이션된 물리 속성과 같은 가상 아바타 특징부의 하나 이상의 미리 정의된 속성들에 기초하여 아바타 특징부의 움직임의 크기 및 방향을 특정한다.
일부 예들에서(1816), 제1 부분(예를 들어, 1034, 1535)은 가상 아바타의 상부 부분이고, 제2 부분(예를 들어, 1036, 1539)은 가상 아바타의 하부 부분이다. 일부 실시예들에서, 제1 부분은 가상 아바타의 제1 측부이고, 제2 부분은 제1 측부와 상이한(예를 들어, 그에 대향하는) 가상 아바타의 제2 측부이다.
일부 예들에서, 얼굴의 포즈의 변화는 제1 유형의 변화(예를 들어, 병진이동 컴포넌트 없이 회전 컴포넌트만을 포함하는 포즈의 변화)만을 포함하고, 얼굴의 포즈의 제1 유형의 변화의 크기에 기초하여 가상 아바타의 제2 부분(예를 들어, 1036, 1539)에 대해 가상 아바타의 제1 부분(예를 들어, 1034, 1535)을 이동시키는 것은 가상 아바타의 제2 부분을 이동시키지 않으면서 가상 아바타의 제1 부분을 이동시키는 것을 포함한다. 가상 아바타의 제2 부분을 이동시키지 않으면서 가상 아바타의 제1 부분을 이동시키는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 가상 아바타의 제2 부분을 이동시키지 않으면서 제1 부분만을 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 얼굴의 제1 유형의 포즈의 변화(예를 들어, 포즈의 회전 변화)는 가상 아바타의 제2 부분(예를 들어, 1036, 1539)의 움직임 없이, 가상 아바타의 제1 부분(예를 들어, 1034, 1535)만의 움직임을 야기한다. 예를 들어, 카메라의 시야에서의 사용자가 그들의 전체 신체(예를 들어, 도 10d에 도시된 바와 같은 얼굴, 목, 및 어깨들)를 회전시키면, 가상 아바타의 제1 부분(예를 들어, 아바타 얼굴(예를 들어, 1000C, 1535))만이 이동(예를 들어, 회전)되는 반면, 가상 아바타의 제2 부분(예를 들어, 아바타 목(예를 들어, 1539) 또는 하부 부분(예를 들어, 1036))은 이동되지 않는다. 즉, 가상 아바타의 부분들은 사용자의 움직임에 상이하게 반응한다. 일부 예들에서, 사용자의 일부에 해부학적으로/생리학적으로 대응하는 가상 아바타의 일부(예를 들어, 사용자의 목에 해부학적으로 대응하는 아바타 목)는, 이들 특징부들의 움직임들이 추적되더라도, 대응하는 특징부의 소정의 움직임들에 반응하지 않는다. 일부 예들에서, 다른 특징부들(예를 들어, 사용자의 목(예를 들어, 1025))이 카메라의 시야에 존재하더라도, 사용자의 얼굴(예를 들어, 1024)의 움직임만이 가상 아바타에 영향을 주도록 추적되거나 사용된다.
일부 예들에서, 가상 아바타는 제1 부분(예를 들어, 1034, 1535) 및 제2 부분(예를 들어, 1036, 1539)과 상이한 제3 부분(예를 들어, 상부-목 부분, 1034 내지 1036 또는 1535 내지 1539 사이에 있거나 이들을 연결시키는 부분)을 더 포함한다. 도 10e에 도시된 것과 같은 일부 실시예들에서, 제1 부분은 선단(1040)이고, 제2 부분은 하부 부분(1036)이며, 제3 부분은 상부 부분(예를 들어, 1034)의 일부를 형성하고 상부 부분의 선단(1040)을 하부 부분(1036)에 연결시키는 중간 부분(1031)이다. 추가로, 얼굴의 포즈의 변화가 얼굴의 포즈의 제1 유형의 변화(예를 들어, 회전 움직임)를 포함한다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 가상 아바타의 제2 부분에 대해 가상 아바타의 제3 부분을 이동시키며, 여기서 제2 부분에 대한 제3 부분의 움직임은 제2 부분에 대한 제1 부분의 움직임보다 작다. 가상 아바타의 제2 부분에 대해 가상 아바타의 제3 부분을 제2 부분에 대한 제1 부분의 움직임보다 작은 양으로 이동시키는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금, 그것이 디바이스로 하여금 (제2 부분에 대해) 제1 부분을 이동시키게 할 것보다 더 적은 정도로 (제2 부분에 대해) 제3 부분을 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 회전 움직임은 가상 아바타의 제2 부분(예를 들어, 1036, 1539)에 대한 제1 부분(예를 들어, 1040, 1535)의 움직임의 제1 정도 및 가상 아바타의 제2 부분에 대한 제3 부분(예를 들어, 1031)의 움직임의 제2 정도를 초래하며, 여기서 움직임의 제2 정도는 움직임의 제1 정도보다 작다. 일부 예들에서, 제2 부분은 임의의 검출된 얼굴 특징부들에 맵핑되지 않거나 그에 의해 직접 제어되지 않는 비얼굴측 특징부(예를 들어, 하부 목 부분(예를 들어, 1036, 1539))이다. 일부 예들에서, 제2 부분은 제1 유형의 배향의 변화들에 대해 반응하지 않는다. 일부 예들에서, 제3 부분은 임의의 검출된 얼굴 특징부들에 맵핑되지 않거나 그에 의해 직접 제어되지 않는 비얼굴측 특징부(예를 들어, 상부 목 부분)이다. 일부 예들에서, 제3 부분은 제1 부분과 제2 부분 사이의 연결을 제공한다. 일부 예들에서, 얼굴의 포즈의 제1 유형의 변화로 인한 가상 아바타의 변화의 양은 가상 아바타의 제2 부분 부근(예를 들어, 1036 부근)의 작은 양의 변화로부터 가상 아바타의 제1 부분 부근(예를 들어, 1040 부근)의 큰 양의 변화까지 점진적으로 스케일링된다.
일부 예들에서, 가상 아바타의 제3 부분(예를 들어, 상부-목 부분, 1034 내지 1036 또는 1535 내지 1539 사이에 있거나 이들을 연결시키는 부분)은 가상 아바타의 제1 부분(예를 들어, 1040, 1535)과 가상 아바타의 제2 부분(예를 들어, 1036, 1539) 사이에 위치된다. 일부 예들에서, 제3 부분은 가상 아바타의 제1 부분에 대한 감쇠된 움직임 특성들을 갖는 가상 아바타의 중간 구역(예를 들어, 1031 또는 상부-목 구역)이다.
일부 예들에서, 가상 아바타의 제2 부분(예를 들어, 1036, 1539)에 대해 가상 아바타의 제3 부분(예를 들어, 상부-목 부분, 1034 내지 1036 또는 1535 내지 1539 사이에 있거나 이들을 연결시키는 부분)을 이동시키는 것은 가상 아바타의 제1 부분(예를 들어, 1034, 1535)과 가상 아바타의 제2 부분 사이에서 연장되는 축(예를 들어, 1051)을 중심으로 가상 아바타의 제3 부분을 이동시키는 것을 포함한다. 가상 아바타의 제1 부분과 제2 부분 사이에서 연장되는 축을 중심으로 가상 아바타의 제3 부분을 이동시키는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 가상 아바타의 제1 부분과 제2 부분 사이의 축을 중심으로 한 제3 부분의 움직임을 제한하게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제3 부분(예를 들어, 중간 부분(1031))의 움직임은 가상 아바타의 제1 부분과 제2 부분(예를 들어, 팁(1040)과 하단(1036)) 사이에서 연장되는 축(예를 들어, 1051)을 중심으로 한 비틀림 모션이다. 일부 예들에서, 제3 부분의 움직임은 디스플레이의 평면 또는 하나 이상의 카메라들의 포커스 평면에 평행한 축(예를 들어, 위/아래 축(1051))을 중심으로 한 회전 움직임이다. 일부 예들에서, 제3 부분의 움직임은 디스플레이의 평면 또는 하나 이상의 카메라들의 포커스 평면 밖으로 연장되는 축을 중심으로 한 회전 움직임이다. 예를 들어, 사용자가 카메라의 시야의 평면에 수직인 축을 중심으로 그들의 얼굴을 회전시킬 때, 가상 아바타의 부분들(예를 들어, 제1 부분, 제2 부분, 및/또는 제3 부분)은 디스플레이의 평면 밖으로 연장되는 축을 중심으로 회전된다.
일부 예들에서, 얼굴의 포즈의 변화는 제2 유형의 변화만(예를 들어, 회전 컴포넌트 없이 병진이동 컴포넌트만을 포함하는 포즈의 변화)을 포함하며, 얼굴의 포즈의 제2 유형의 변화의 크기에 기초하여 가상 아바타의 제1 부분(예를 들어, 1034, 1535) 및 가상 아바타의 제2 부분(예를 들어, 1036, 1539) 둘 모두를 이동시키는 것은 가상 아바타의 제2 부분의 위치에 대한 가상 아바타의 제1 부분의 상대적인 위치를 유지하는 것을 포함한다. 가상 아바타의 제2 부분의 위치에 대한 가상 아바타의 제1 부분의 상대적인 위치를 유지하는 것은, 동일한 타입의 변화의 추가적인 움직임이 디바이스로 하여금, 제1 부분 및 제2 부분을 서로에 대해 이동시키지 않으면서 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 동일한 방향으로 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 얼굴의 제2 유형의 포즈의 변화(예를 들어, 포즈의 병진이동 변화)는 가상 아바타의 제1 부분 및 제2 부분 둘 모두의 유사한 크기만큼의 움직임을 야기해서, 제1 부분 및 제2 부분의 상대적인 위치들이 변화되지 않게 유지되게 한다(예를 들어, 제1 부분 및 제2 부분의 움직임은 제2 부분에 대해 제1 부분을 이동시키지 않으면서 발생한다). 예를 들어, 도 10f에 도시된 바와 같이, 카메라의 시야에서의 사용자가 카메라에 대해 그들의 얼굴을 병진이동시키면(예를 들어, 1006B, 1006C, 1006D에 도시된 바와 같이 하나 이상의 카메라들의 포커스 평면 또는 디스플레이의 평면에 평행한 개개의 방향으로 그들의 얼굴(1024)을 시프트시키면), 제1 부분(예를 들어, 아바타 얼굴 또는 상부 부분(1034)) 및 제2 부분(예를 들어, 아바타 목 또는 하부 부분(1036)) 둘 모두가 이동된다(예를 들어, 1016B, 1016C, 1016D에 도시된 바와 같이 병진이동된다). 즉, 가상 아바타의 부분들은 사용자의 얼굴의 병진이동 움직임에 유사하게 반응한다.
디스플레이 장치를 통해 가상 아바타를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 하나 이상의 카메라들의 시야 내에서 얼굴의 포즈(예를 들어, 위치 및/또는 배향)의 변화를 검출한다(1806).
얼굴의 포즈의 변화를 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 가상 아바타의 외관을 변화시키고(1808), 다음의 동작들 중 하나 이상을 수행할 수 있다. 얼굴의 포즈의 변화가 얼굴의 포즈의 제1 유형의 변화(예를 들어, 얼굴의 배향의 변화)를 포함한다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는, 얼굴의 포즈의 제1 유형의 변화의 크기에 따라 가상 아바타의 제2 부분(예를 들어, 1036, 1539)에 대해 가상 아바타의 제1 부분(예를 들어, 1034, 1535)을 이동시키는 것을 포함하여, 가상 아바타의 외관을 변화시킨다(1810). 얼굴의 포즈의 제1 유형의 변화의 크기에 따라 가상 아바타의 제2 부분에 대해 가상 아바타의 제1 부분을 이동시키는 것은, 동일한 유형의 변화의 추가적인 움직임이 디바이스로 하여금 동일한 유형의 추가적인 움직임의 크기에 의해 결정된 양으로 (제2 부분에 대해) 가상 아바타의 제1 부분을 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제2 부분(예를 들어, 1036, 1539)에 대한 제1 부분(예를 들어, 1034, 1535)의 움직임은 뷰의 디스플레이된 프레임에 대해 제2 부분을 이동시키지 않으면서 발생한다. 즉, 도 10e의 1015B 및 도 15a의 1511D에 도시된 바와 같이, 제1 부분은 뷰의 디스플레이된 프레임 내에서 이동되지만, 제2 부분은 뷰의 디스플레이된 프레임 내에 고정되거나 실질적으로 고정되게 유지된다. 일부 예들에서, 제1 부분의 움직임은 y-축(예를 들어, 디스플레이된 바와 같은 수직 축)을 중심으로 한 회전과 같은 축을 중심으로 한 회전 움직임이다.
얼굴의 포즈의 변화가 얼굴의 포즈의 제2 유형의 변화(예를 들어, 얼굴의 위치의 변화)를 포함한다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는, 얼굴의 포즈의 제2 유형의 변화의 크기에 기초하여 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키는 것을 포함하여, 가상 아바타의 외관을 변화시킨다(1812). 얼굴의 포즈의 제2 유형의 변화의 크기에 기초하여 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키는 것은, 얼굴의 포즈의 동일한 유형의 변화의 추가적인 움직임이 디바이스로 하여금 동일한 유형의 추가적인 움직임의 크기에 의해 결정된 양으로 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키게 할 것임을 표시하는 피드백을 사용장게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다. 일부 예들에서, 제1 부분 및 제2 부분의 움직임은 x-축(예를 들어, 디스플레이된 바와 같은 수평 축)과 같은 축을 따른(예를 들어, 동일한 축을 따른) 병진이동 움직임들이다.
일부 예들에서(1818), (예를 들어, 도 10c에 도시된 바와 같이) 얼굴의 포즈의 변화가 얼굴의 포즈의 제1 유형의 변화 및 얼굴의 포즈의 제2 유형의 변화 둘 모두를 포함한다는 결정에 따라, 가상 아바타의 외관을 변화시키는 것은, 얼굴의 포즈의 제1 유형의 변화의 크기에 기초하여 가상 아바타의 제2 부분(예를 들어, 1036, 1539)에 대해 가상 아바타의 제1 부분(예를 들어, 1034, 1535)을 이동시키는 것(예를 들어, 가상 아바타의 하단(예를 들어, 1036)의 비틀림이 감소되거나 비틀리지 않으면서, 좌우로의 얼굴의 회전에 기초하여 가상 아바타의 상단(예를 들어, 1040 또는 1034)을 비트는 것), 및 얼굴의 포즈의 제2 유형의 변화의 크기에 기초하여 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키는 것(예를 들어, 위, 아래, 좌측, 또는 우측과 같은 특정 방향으로의 얼굴의 시프팅에 기초하여 가상 아바타의 상단(예를 들어, 1040 또는 1034) 및 하단(예를 들어, 1036)을 이동시키는 것)(1820)을 포함한다. 얼굴의 포즈의 제1 유형의 변화의 크기에 기초하여 가상 아바타의 제2 부분에 대해 가상 아바타의 제1 부분을 이동시키는 것, 및 얼굴의 포즈의 제2 유형의 변화의 크기에 기초하여 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키는 것은, 제1 유형 및 제2 유형의 변화 둘 모두의 추가적인 움직임이 디바이스로 하여금 제1 유형의 추가적인 움직임의 크기에 의해 결정된 양으로 (제2 부분에 대해) 가상 아바타의 제1 부분을 이동시키게 하고, 제2 유형의 추가적인 움직임의 크기에 의해 결정된 양으로 가상 아바타의 제1 부분 및 가상 아바타의 제2 부분 둘 모두를 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
방법(1800)(예를 들어, 도 18a 및 도 18b)에 대해 위에서 설명된 프로세스들의 세부사항들이 또한 위에서 설명된 방법들 및 아래에서 설명되는 방법들(1900, 2000, 2100 2200, 2300, 2400, 2500)에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(1800)은 선택적으로, 방법들(800, 900, 1900, 2000, 2100, 2200, 2300, 2400, 2500)을 참조하여 아래에서 설명되고 위에서 설명된 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800, 900)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(1800)에 따라 생성된 가상 아바타들(예를 들어, 포즈의 상이한 유형들의 변화에 상이하게 반응하는 부분들을 갖는 가상 아바타들)을 이용할 수 있다. 유사하게, 방법(1800)에 따라 생성 및/또는 수정된 가상 아바타들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(1800)에 따라 생성된 가상 아바타들(예를 들어, 포즈의 상이한 유형들의 변화에 상이하게 반응하는 부분들을 갖는 가상 아바타들)은 또한 방법들(800, 900, 1900, 2000, 2100, 2200, 2300, 2400, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(1800)에 따라 생성된 가상 아바타는 하나 이상의 애니메이션화된 효과들(예를 들어, 1140, 1142, 1252, 1452, 1531, 1555, 1652)를 포함할 수 있다. 유사하게, 방법(1800)에 따라 생성된 가상 아바타는 제1(예를 들어, 1122) 및 제2(예를 들어, 1120A, 1120B) 물리적 특징부들 둘 모두의 변화들에 반응하는(예를 들어, 1904, 1910, 1914) 아바타 특징부(예를 들어, 1133)를 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 19는 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(1900)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(1900)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(1900)은 사용자의 얼굴의 위치의 변화들에 반응하는 동안 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(1900)의 예들은 도 11a 내지 도 11c, 도 14a 내지 도 14d, 및 도 17a 및 도 17b를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해 가상 아바타(예를 들어, 1100, 1400, 1700)를 디스플레이한다(1902). 일부 예들에서(1904), 가상 아바타는 제1 아바타 특징부(예를 들어, 동물-기반 아바타(1100)의 귀들(1133), 로봇 아바타(1400)의 귀들(1433), 동물-기반 아바타(1700)의 코(1736)) 및 제2 아바타 특징부(예를 들어, 1132, 1440, 1730)를 포함한다. 제1 아바타 특징부는 하나 이상의 카메라들(예를 들어, 164, 602)의 시야에서의 얼굴(예를 들어, 1124, 1424, 1724)의 제1 물리적 특징부(예를 들어, 1122, 1420A/1420B, 1722) 및 하나 이상의 카메라들의 시야 내의 얼굴의 제2 물리적 특징부의 변화들에 반응한다. 일부 실시예들에서, 제1 물리적 특징부는 눈썹(1122), 단일 얼굴 근육(예를 들어, 눈썹 주름근 또는 전두근), 관련된 얼굴 근육들의 집합(예를 들어, 눈썹 주름근 및 전두근을 포함하는, 눈썹(1122)의 움직임을 제어하는 근육들의 세트)과 같은 뚜렷하게 식별되는 사용자 얼굴 특징부이고, 제2 물리적 특징부는 입(1120) 또는 사용자의 입술의 일부(1720A), 단일 얼굴 근육(예를 들어, 큰광대근 또는 위입술올림근), 또는 관련된 얼굴 근육들의 집합(예를 들어, 큰광대근 또는 위입술올림근을 포함하는, (예를 들어, 웃을 때와 같이) 입의 움직임을 제어하는 근육들의 세트)와 같은 뚜렷하게 식별되는 사용자 얼굴 특징부이다. 하나 이상의 카메라들의 시야에서의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 부분들에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
가상 아바타(예를 들어, 1100, 1400, 1700)를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴(예를 들어, 1124, 1424, 1724)의 하나 이상의 물리적 특징부들(예를 들어, 1122, 1420A/1420B, 1722)의 변화들(예를 들어, 변위 또는 움직임)을 검출한다(1906).
변화들이 제1 물리적 특징부의 변화(예를 들어, 사용자의 눈썹(1122, 1722)의 올라감 또는 내려감, 또는 사용자의 입술들(1420A/1420B)의 위치의 변화)를 포함한다는 결정(1908)에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적 특징부의 변화에 기초하여 가상 아바타(예를 들어, 1100, 1400, 1700)의 제1 아바타 특징부(예를 들어, 1133, 1430, 1736)를 수정하고, 제1 물리적 특징부의 변화에 기초하여 제2 아바타 특징부(예를 들어, 1132, 1440, 1730)를 수정하는 것을 보류한다(1910). 제1 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하고, 제1 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정하는 것을 보류하는 것은, 동일한 물리적 특징부의 추가적인 움직임 또는 그에 대한 변화들이 디바이스로 하여금 제2 아바타 특징부를 변화시키지 않으면서 제1 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다. 일부 실시예들에서, 사용자가 그들의 눈썹(1122)을 이동시킬 때(예를 들어, 올리거나 내릴 때), 제1 아바타 특징부(예를 들어, 아바타 귀(1133))는 눈썹 움직임에 응답하여 이동되고, 제2 아바타 특징부(예를 들어, 아바타(1100)의 눈들(1132))는 눈썹 움직임에 응답하여 이동되지 않는다.
일부 실시예들에서, 제1 물리적 특징부(예를 들어, 1122)의 변화는 얼굴의 제1 물리적 특징부의 수직 변위(예를 들어, 사용자는 그들의 눈썹들(1122)을 올리거나 내림)를 적어도 포함하며, 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부(예를 들어, 1133)를 수정하는 것은, 제1 아바타 특징부의 적어도 일부의 수직 변위(예를 들어, 가상 아바타의 머리(예를 들어, 1135)의 상단을 향한(상위) 또는 그로부터 멀어지는(하위) 하위 또는 상위 수직 움직임), 및 제1 가상 아바타의 적어도 일부의 수평 변위(예를 들어, 가상 아바타의 머리의 상단을 향한(내측) 또는 그로부터 멀어지는(외측) 내측 또는 외측 수평 움직임) 중 적어도 하나를 포함하는 방향으로 제1 가상 아바타를 이동시키는 것을 포함한다. 제1 아바타 특징부의 적어도 일부의 수직 변위 및 제1 가상 아바타의 적어도 일부의 수평 변위 중 적어도 하나를 포함하는 방향으로 제1 가상 아바타를 이동시킴으로써 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 수평 및 수직 방향 중 적어도 하나로 제1 아바타 특징부를 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 사용자가 그들의 눈썹들(예를 들어, 1122)을 올릴 때, 눈썹들은 사용자의 머리의 상단을 향해 수직 방향으로(예를 들어, 상향 또는 상위 방향으로) 이동된다. 사용자의 눈썹들의 이러한 상향(예를 들어, 상위) 수직 움직임에 응답하여, 가상 아바타의 귀들(예를 들어, 곰 아바타(1100)의 귀들(1133))은 아바타의 머리(예를 들어, 1135)의 상단을 향하는 방향으로 이동된다. 일부 예들에서, 아바타의 머리의 상단을 향한 움직임의 방향은 (예를 들어, 귀들이 아바타의 머리의 측부 부분 상에 위치될 때) 상위(예를 들어, 상향) 수직 변위, 내측 수평 변위(예를 들어, 귀들이 아바타의 머리의 상단 부분 상에 위치될 때) 내측 수평 변위, 또는 이들의 조합을 포함한다. 일부 예들에서, 사용자가 그들의 눈썹들(예를 들어, 1122)을 내릴 때, 눈썹들은 사용자의 머리의 상단으로부터 멀리 수직 방향으로(예를 들어, 하향 또는 하위 방향으로) 이동된다. 사용자의 눈썹들의 이러한 하향(예를 들어, 하위) 수직 움직임에 응답하여, 가상 아바타의 귀들(예를 들어, 1133)은 아바타의 머리의 상단으로부터 멀어지는 방향으로 이동된다. 일부 예들에서, 아바타의 머리의 상단으로부터 멀어지는 움직임의 방향은 (예를 들어, 귀들이 아바타의 머리의 측부 부분 상에 위치될 때) 하위(예를 들어, 하향) 수직 변위, (예를 들어, 귀들이 아바타의 상단 부분 상에 위치될 때) 외측 수평 변위, 또는 이들의 조합을 포함한다.
일부 실시예들에서, 제1 물리적 특징부(예를 들어, 사용자의 입(1120))의 변화는 얼굴의 제1 물리적 특징부의 변위(예를 들어, 수평 또는 수직 변위(예를 들어, 병진이동))를 적어도 포함한다. 예를 들어, 사용자의 입(1120)의 코너들(1120A, 1120B)은 수직으로(예를 들어, 중립의 휴지 위치에 있는 사용자의 입의 코너들의 위치와 비교할 때, 사용자의 머리희 하단(예를 들어, 사용자의 턱끝)의 하단을 향해 하향 방향으로 또는 사용자의 머리의 상단을 향해 상향 방향으로) 변위된 위치를 갖는다. 그러한 실시예들에서, 제1 물리적 특징부의 변화에 기초하여 가상 아바타(예를 들어, 1100)의 제1 아바타 특징부(예를 들어, 가상 아바타의 귀(1133))를 수정하는 것은 제1 아바타 특징부의 적어도 일부를 회전시키는 것(예를 들어, 감는 것, 푸는 것, 접는 것, 펴는 것 등)을 포함한다. 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부의 적어도 일부를 회전시키는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 제1 아바타 특징부를 회전 방향으로 이동시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 아바타 특징부의 원위 단부(예를 들어, 가상 아바타 귀(1133)의 선단)는 제1 아바타 특징부의 원위 단부와 제1 아바타 특징부의 근위 단부(예를 들어, 아바타의 귀(1133)의 베이스) 사이에서 연장되는 축을 따른 방향으로 회전되며, 여기서 회전의 방향은 얼굴의 제1 물리적 특징부의 적어도 일부의 수직 변위에 따라 결정된다. 일부 예들에서, 사용자가 그들의 입(예를 들어, 1120A/1120B)의 코너들을 올릴 때(예를 들어, 웃는 표정에서), 가상 아바타(예를 들어, 1100)의 귀들(예를 들어, 1133)의 선단은 아바타의 귀의 베이스로부터 연장되는 방향으로 펴거나 푸는 방식으로 이동된다. 일부 예들에서, 사용자가 그들의 입의 코너들을 내릴 때(예를 들어, 슬픈 표정에서), 가상 아바타의 귀들의 선단들은 (예를 들어, 도 11b의 1102D 및 1112D에 도시된 바와 같이) 아바타의 귀의 베이스를 향하는 방향으로 접거나 감는 방식으로 이동된다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 귀(예를 들어, 1133)를 포함하고, 제1 물리적 특징부는 사용자의 입(예를 들어, 1120)의 적어도 코너 구역(예를 들어, 1120A 또는 1120B)을 포함하고, 제1 물리적 특징부의 변화는 사용자의 입의 적어도 코너 구역의 변위를 적어도 포함하며, 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하는 것은 사용자의 입의 적어도 코너 구역의 변위의 크기에 기초하여 아바타 귀의 적어도 일부를 회전시키는 것을 포함한다. 그러한 실시예의 일 예가 1102A 및 도 1112A에 예시되며, 아바타의 귀의 감기(예를 들어, 회전)가 사용자의 입의 코너의 움직임에 의해 제어되는 것을 도시하는 도 11b에 대해 위에서 더 상세히 설명된다.
일부 실시예들에서, 제2 물리적 특징부는 사용자의 눈썹(예를 들어, 1122)의 적어도 일부를 포함하고, 얼굴의 하나 이상의 물리적 특징부들의 변화들은 사용자의 눈썹의 위치의 수직 시프트를 포함하며, 제2 아바타 특징부의 변화에 기초하여 제1 아바타 특징부(예를 들어, 1133)를 수정하는 것은 아바타 귀(예를 들어, 1133)의 위치를 수직으로(예를 들어, 가상 아바타의 머리의 상단을 향한(상위) 또는 그로부터 멀어지는(하위) 하위 또는 상위 수직 움직임) 시프트시키는 것을 포함한다. 일부 예들에서, 아바타의 귀들은 사용자의 입(예를 들어, 1120) 및 사용자의 눈썹들(예를 들어, 1122)의 코너(예를 들어, 1120A 및/또는 1120B) 둘 모두에 대해 반응한다. 일부 그러한 실시예들에서, 사용자의 입의 코너는 아바타 귀들의 감기(예를 들어, 회전)를 제어하는 반면, 사용자의 눈썹들은 아바타의 귀들의 위치(예를 들어, 수직 위치)를 제어한다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 귀(예를 들어, 1133)를 포함하고, 제1 물리적 특징부는 사용자의 눈썹(예를 들어, 1122)의 적어도 일부를 포함하고, 얼굴의 하나 이상의 물리적 특징부들의 변화들은 사용자의 눈썹의 위치의 수직 시프트를 포함하며, 제1 물리적 특징부의 변화에 기초하여 가상 아바타(예를 들어, 1100)의 제1 아바타 특징부를 수정하는 것은 아바타 귀의 위치를 수평으로 시프트시키는 것을 포함한다. 일부 예들에서, 아바타 귀들은 사용자의 눈썹이 위로 이동될 때 안쪽으로 이동된다. 그러한 실시예의 예가 1101B 및 1111B에 예시되며, 도 11a에 대해 위에서 더 상세히 설명된다. 일부 예들에서, 아바타 귀들은 사용자의 눈썹이 아래로 이동될 때 바깥쪽으로 시프트된다(예를 들어, 사용자의 눈썹들(예를 들어, 1122)이 그들의 올라간 위치로부터 내려갈 때, 아바타의 귀들은 (예를 들어, 1111B에 도시된 바와 같은) 그들의 안쪽 위치로부터 바깥쪽 방향으로 (예를 들어, 1111A에 도시된 바와 같은) 그들의 중립 위치까지 이동된다). 일부 예들에서, 아바타는 개개의 사용자 눈썹에 각각 반응하는 2개의 귀들을 갖는다. 그러한 실시예들에서, 사용자의 눈썹들 둘 모두를 올리는 것은 귀들 둘 모두가 안쪽으로 시프트되는 것을 초래하여, 귀들 사이의 간격을 감소시킬 것이다.
변화들이 제2 물리적 특징부의 변화(예를 들어, 사용자의 입(1120)의 코너들(1120A, 1120B)의 올라감 또는 내려감)를 포함한다는 결정(912)에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부의 변화에 기초하여 제1 아바타 특징부(예를 들어, 1133)를 수정하고, 제2 물리적 특징부의 변화에 기초하여 제2 아바타 특징부(예를 들어, 1132)를 수정하는 것을 보류한다(1914). 제2 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하고, 제2 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정하는 것을 보류하는 것은, 동일한 물리적 특징부의 추가적인 움직임 또는 그에 대한 변화들이 디바이스로 하여금 제2 아바타 특징부를 변화시키지 않으면서 제1 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 사용자가 그들의 입(1120)의 코너들(1120A, 1120B)을 이동시킬 때(예를 들어, 올리거나 내릴 때), 제1 아바타 특징부(예를 들어, 아바타의 귀들(1133))은 입의 코너들의 움직임에 응답하여 이동되고, 제2 아바타 특징부(예를 들어, 아바타(1100)의 눈들(1132))는 입의 코너들의 움직임에 응답하여 이동되지 않는다.
일부 실시예들에서, 제2 아바타 특징부(예를 들어, 1132)는 제1 물리적 특징부 및 제2 물리적 특징부와 상이한 제3 물리적 특징부(예를 들어, 1123)의 변화들에 반응한다. 제1 물리적 특징부 및 제2 물리적 특징부와 상이한 제3 물리적 특징부의 변화들에 반응하는 제2 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제2 부분에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
예를 들어, 제2 아바타 특징부(예를 들어, 아바타 눈들(1132))은 제1 물리적 특징부(예를 들어, 사용자 눈썹들(1122))의 변화들 및 제2 물리적 특징부(예를 들어, 사용자의 입(1120))의 변화들에 주로 반응하지 않는다(또는 선택적으로는 비반응성이다). 다시 말하면, 제2 아바타 특징부는 얼굴 특징부들(예를 들어, 제1 및 제2 물리적 특징부들(1122, 1120))의 변화에 기초하여 직접 수정되지 않지만, 얼굴의 변화들에 직접 반응하는 아바타의 다른 변화들에 의해 영향을 받을 수 있다. 예를 들어, 아바타 특징부(예를 들어, 1132)는 물리적 특징부(1123)의 위치, 움직임 특성들, 크기, 색상, 및/또는 형상 중 하나 이상에 기초하여 모델링된다. 얼굴의 하나 이상의 물리적 특징부들의 변화들이 얼굴의 제3 물리적 특징부(예를 들어, 홍채 또는 눈꺼풀, 단일 얼굴 근육(예를 들어, 눈둘레근), 또는 관련된 얼굴 근육들의 집합(예를 들어, 눈둘레근을 포함하는, 눈꺼풀의 움직임을 제어하는 근육들의 세트)과 같은 뚜렷하게 식별되는 사용자 얼굴 특징부)의 변화를 포함한다는 결정에 따라, 전자 디바이스는 제3 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정한다. 제3 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정하는 것은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 부분들에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 1133)는 제1 물리적 특징부(예를 들어, 1122) 및 제2 물리적 특징부(예를 들어, 1120) 중 적어도 하나와 해부학적으로 구별되고, 제2 아바타 특징부(예를 들어, 1132)는 제3 물리적 특징부(예를 들어, 1123)에 해부학적으로 대응한다. 다시 말하면, 제1 아바타 특징부는 제1 물리적 특징부(예를 들어, 1122) 또는 제2 물리적 특징부(예를 들어, 1120)에 해부학적으로/생리학적으로 대응하지 않는다. 일부 실시예들에서, 제1 아바타 특징부는 동물-기반 가상 아바타(예를 들어, 1100)의 귀들(예를 들어, 1133)이고, 제1 물리적 특징부는 눈썹(예를 들어, 1122)이며, 제2 물리적 특징부는 입(예를 들어, 1120)이다. 일부 예들에서, 제2 아바타 특징부는 제3 물리적 특징부(예를 들어, 사용자의 눈들(1123))에 해부학적으로/생리학적으로 대응하는 아바타 눈들(예를 들어, 1132)이다. 일부 실시예들에서, 제1 아바타 특징부(예를 들어, 아바타 귀들(1133))는 제4 물리적 특징부(예를 들어, 사용자의 귀들)에 해부학적으로 대응한다. 일부 실시예들에서, 제4 물리적 특징부(예를 들어, 사용자의 귀들)에 해부학적으로 대응됨에도 불구하고, 제1 아바타 특징부(예를 들어, 아바타 귀들(1133))는 제4 물리적 특징부의 변화들에 반응하지 않는다(예를 들어, 비반응성이다). 예를 들어, 제1 아바타 특징부는 사용자의 입(예를 들어, 1120) 및 눈썹들(예를 들어, 1122)의 변화들에 반응하지만 사용자의 귀들의 움직임에는 반응하지 않는 아바타 귀들(예를 들어, 1133)일 수 있다.
일부 실시예들에서, 제3 물리적 특징부(예를 들어, 1123)의 변화에 기초하여 제2 아바타 특징부(예를 들어, 1132)를 수정하는 것은 제3 물리적 특징부의 변화의 크기에 기초하여 제2 아바타 특징부를 수정하는 것을 포함한다. 제3 물리적 특징부의 변화의 크기에 기초하여 제2 아바타 특징부를 수정하는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 동일한 물리적 특징부의 추가적인 움직임의 크기에 의해 결정된 양으로 제2 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 아바타 특징부의 반응의 크기는 사용자의 물리적 특징부의 변화의 크기에 대응한다. 일부 실시예들에서, 물리적 특징부의 변화의 크기는 물리적 특징부의 잠재적인 모션 범위에 따라 결정되며, 여기서 크기는 그 물리적 특징부의 모션 범위(예를 들어, 예측된 또는 모델링된 모션 범위) 내의 물리적 특징부의 상대적인 위치를 표현한다. 그러한 실시예들에서, 아바타 특징부의 반응의 크기는 아바타 특징부의 모션 범위 내의 아바타 특징부의 상대적 위치와 유사하다. 일부 실시예들에서, 변화의 크기는 변화를 통한 물리적 특징부의 시작 위치와 종료 위치의 비교 또는 측정(예를 들어, 거리)에 기초하여 결정된다. 그러한 실시예들에서, 물리적 특징부(예를 들어, 제1 물리적 특징부(예를 들어, 1122))의 변화는 물리적 특징부의 측정된 변화를 아바타 특징부에 (예를 들어, 직접 또는 스케일링거나 조정된 값으로서) 적용함으로써 제1 아바타 특징부(예를 들어, 1133)의 수정으로 변환될 수 있다.
일부 실시예들에서, 제2 물리적 특징부(예를 들어, 1120)의 변화에 기초하여 가상 아바타(예를 들어, 1100)의 제2 아바타 특징부(예를 들어, 1132)를 수정하는 것은, 제3 물리적 특징부(예를 들어, 1123)의 포즈의 변화의 방향(예를 들어, 회전의 방향, 하나 이상의 카메라들의 시야에 대한 물리적 특징부의 각도의 변화의 방향, 또는 병진이동의 방향)에 기초하여 제2 아바타 특징부의 적어도 일부의 포즈(예를 들어, 회전 배향, 아바타 특징부가 디스플레이되는 각도, 또는 디스플레이된 위치)를 수정하는 것을 포함한다. 제3 물리적 특징부의 포즈의 변화의 방향에 기초하여 제2 아바타 특징부의 적어도 일부의 포즈를 수정하는 것은, 특정 방향으로의 제3 물리적 특징부의 추가적인 움직임이 디바이스로 하여금, 제3 물리적 특징부의 추가적인 움직임의 방향에 기초하여 제2 아바타 특징부의 포즈를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 아바타 특징부에 대한 수정들은 크기 컴포넌트 및 방향 컴포넌트 둘 모두를 갖는다. 일부 예들에서, 아바타 특징부에서의 수정의 방향 컴포넌트는 아바타 특징부가 반응하는 하나 이상의 물리적 특징부들의 변화의 방향 컴포넌트에 기초한다. 일부 예들에서, 아바타 특징부의 변화의 방향 컴포넌트는 물리적 특징부의 변화의 방향 컴포넌트와 동일하다. 예를 들어, 도 17b의 1702D 및 1712D에 도시된 바와 같이, 물리적 특징부(예를 들어, 입(1720))가 아래로 이동될 때, 아바타 특징부(예를 들어, 아바타 입(1730))가 아래로 이동된다. 일부 예들에서, 아바타 특징부의 변화의 방향 컴포넌트는 물리적 특징부의 변화의 방향 컴포넌트에 대해 미러링된다. 예를 들어, 아바타 특징부의 변화의 방향 컴포넌트는 물리적 특징부의 변화의 방향 컴포넌트에 대해 미러링된다. 예를 들어, 도 11a 및 도 11b, 도 14a 내지 도 14d 및 도 17b에 도시된 바와 같이, 아바타 특징부의 변화의 방향 컴포넌트는, 거울을 볼 때 보여지는 효과와 유사하게, 수직 축을 따른 움직임에 대한 물리적 특징부의 변화의 방향 컴포넌트와 동일하고, 수평 축을 따른 움직임에 대해 미러링된다.
일부 예들에서, 물리적 특징부(예를 들어, 사용자의 홍채(예를 들어, 1423A) 또는 눈꺼풀)의 상대적인 위치의 변화는 물리적 특징부의 중립의 휴지 위치로부터 결정된 방향이다. 일부 예들에서, 사용자의 홍채의 중립의 휴지 위치는 사용자의 안구의 주연부에 대한 특정 위치인 것으로 결정된다(예를 들어, 중심설정된다). 일부 예들에서, 아바타 특징부의 반응의 방향은 사용자의 물리적 특징부의 변화의 상대적 방향에 (예를 들어, 직접 또는 반대로) 대응한다. 일부 예들에서, 물리적 특징부의 변화의 상대적 방향은 물리적 특징부의 중립의 휴지 위치로부터의 물리적 특징부의 움직임의 방향에 기초하여 결정된다. 일부 예들에서, 아바타 특징부의 반응의 방향은 물리적 특징부의 변화의 상대적인 방향에 직접 대응한다(예를 들어, 물리적 특징부가 위로 이동되고, 아바타 특징부가 위로 이동된다). 일부 예들에서, 아바타 특징부의 반응의 방향은 물리적 특징부의 변화의 상대적인 방향에 반대로 대응한다(예를 들어, 물리적 특징부가 위로 이동되고, 아바타 특징부가 아래로 이동된다.).
일부 실시예들에서, 제1 아바타 특징부는 아바타 입(예를 들어, 1430)을 포함하고, 제2 아바타 특징부는 아바타 치아(예를 들어, 1440)의 적어도 일부를 포함한다. 예를 들어, 도 14c에 도시된 실시예에서, 아바타 치아(예를 들어, 1440)는 아바타 입(예를 들어, 1430)의 주연부 내의 치아의 상부 세트(예를 들어, 1440A) 및 치아의 하부 세트(예를 들어, 1440B)로서 디스플레이되고, (예를 들어, 아바타의 입을 움직이지 않으면서 아바타의 입을 열거나 닫는 것을 표현하는) 수직 방향으로의 치아의 움직임은 도 14c의 1413C에 도시된 바와 같이 아바타 치아의 상부 세트와 하부 세트 사이의 수직 간격(예를 들어, 1441)을 증가 또는 감소시킴으로써 표시된다. 일부 실시예들에서, 제1 물리적 특징부는 사용자의 입술의 적어도 일부(예를 들어, 1420A 또는 1420B)를 포함하고, 제3 물리적 특징부는 사용자의 입의 적어도 일부(예를 들어, 1420C, 1420D)를 포함하고, 제1 물리적 특징부의 변화는 사용자의 입술의 적어도 일부의 제1 위치(예를 들어, 1401A)로부터 제2 위치(예를 들어, 1403A)로의 변위를 포함하며, 제1 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하는 것은 사용자의 입술의 적어도 일부의 제2 위치에 기초하여 아바타 입(예를 들어, 1430)의 형상을 수정하는 것을 포함한다. 예를 들어, 아바타 입(예를 들어, 1430)은 수직 방향으로 이동되지 않는다(예를 들어, 열리거나 닫히지 않는다). 대신에, 아바타 입(예를 들어, 1430)의 변화들은 (예를 들어, 아바타의 입 형상과 연관된 표정을 표시하기 위해) 아바타 입의 형상을 변화시킴으로써 표시되며, 여기서 아바타 입의 형상 변화는 사용자의 입술들(예를 들어, 1420A, 1420B)의 변화들에 의해 구동된다.
일부 예들에서, 입은 (예를 들어, 1413A 또는 1413B에 도시된 바와 같이) 찌푸리거나 웃는 것을 표시하기 위해 사다리꼴 형상을 형성한다. 예를 들어, 사다리꼴의 상단 에지(예를 들어, 1430U)가 사다리꼴의 하단 에지(예를 들어, 1430L)보다 길 때, 사다리꼴 형상은 웃음(예를 들어, 1413A)에 대응하고, 사다리꼴의 상단 에지가 사다리꼴의 하단 에지보다 짧을 때, 사다리꼴은 찌푸림(예를 들어, 1413B)에 대응한다. 일부 예들에서, 입은 퍼커 표정 또는 놀란 표정을 표시하기 위해 원형 형상(예를 들어, 1414D 내의 1430)을 형성한다.
도 14c에 도시된 것과 같은 일부 실시예들에서, 제3 물리적 특징부의 변화는 사용자의 입의 적어도 일부를 열거나 또는 닫는 것을 포함하며, 제3 물리적 특징부의 변화에 기초하여 제2 아바타 특징부를 수정하는 것은, 아바타 치아의 제1 부분(예를 들어, 상부 치아의 세트(1440A))과 아바타 치아의 제2 부분(예를 들어, 하부 치아의 세트(1440B)) 사이의 수직 간격(예를 들어, 1441)을 수정하는 것을 포함하며, 여기서 수직 간격의 크기는 사용자의 입의 적어도 일부(예를 들어, 1420C, 1420D)의 열기 또는 닫기의 크기에 기초한다. 일부 실시예들에서, 치아의 상부 세트와 하부 세트 사이의 수직 간격(1441)은 아바타의 입(1430)의 형상을 조정하지 않으면서 아바타의 치아의 상단 세트와 아바타의 치아의 하단 세트 사이의 열기를 표시한다. 일부 예들에서, 상부 치아와 하단 치아 사이의 간격은 (예를 들어, 가상 아바타가 로봇(1400)일 때) 가상 아바타에 의한 말하기 동작을 시뮬레이션하는 데 사용될 수 있다.
일부 실시예들에서, 전자 디바이스(예를 들어, 100, 300, 500, 600)가 제1 물리적 특징부의 변화에 기초하여 가상 아바타(예를 들어, 1100)의 제1 아바타 특징부(예를 들어, 1133)를 수정하는 것은, 제1 물리적 특징부의 변화의 크기(예를 들어, 제1 물리적 특징부(예를 들어, 1122)의 위치의 변화의 정도)에 기초하여 제1 아바타 특징부를 수정하는 것을 포함하고, 제2 물리적 특징부(예를 들어, 1120)의 변화에 기초하여 제1 아바타 특징부를 수정하는 것은 제2 물리적 특징부의 변화의 크기에 기초하여 제1 아바타 특징부를 수정하는 것을 포함한다. 일부 실시예들에서, 변화의 크기는 물리적 특징부(예를 들어, 1122 또는 1120)의 시작 위치 및 종료 위치에 기초하여 결정된다. 일부 실시예들에서, 변화의 크기는 변화의 최대 범위 내의 변화의 백분율로서 결정된다.
일부 실시예들에서, 제1 물리적 특징부(예를 들어, 1122)의 변화에 기초하여 가상 아바타(예를 들어, 1100)의 제1 아바타 특징부(예를 들어, 1133)를 수정하는 것은, 제1 물리적 특징부의 포즈의 변화의 방향(예를 들어, 회전의 방향, 하나 이상의 카메라들의 시야에 대한 물리적 특징부의 각도의 변화의 방향, 또는 병진이동의 방향)에 기초하여 제1 아바타 특징부의 적어도 일부의 포즈(예를 들어, 회전 배향, 아바타 특징부가 디스플레이되는 각도, 또는 디스플레이된 위치)를 수정하는 것을 포함한다. 제1 물리적 특징부의 포즈의 변화의 방향에 기초하여 제1 아바타 특징부의 적어도 일부의 포즈를 수정하는 것은, 특정 방향으로의 제1 물리적 특징부의 추가적인 움직임이 디바이스로 하여금, 제1 물리적 특징부의 추가적인 움직임의 방향에 기초하여 제1 아바타 특징부의 포즈를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제2 물리적 특징부(예를 들어, 1120)의 변화에 기초하여 가상 아바타의 제1 아바타 특징부(예를 들어, 1133)를 수정하는 것은, 제2 물리적 특징부의 포즈의 변화의 방향(예를 들어, 회전의 방향, 하나 이상의 카메라들의 시야에 대한 물리적 특징부의 각도의 변화의 방향, 또는 병진이동의 방향)에 기초하여 제1 아바타 특징부의 적어도 일부의 포즈(예를 들어, 회전 배향, 아바타 특징부가 디스플레이되는 각도, 또는 디스플레이된 위치)를 수정하는 것을 포함한다. 제2 물리적 특징부의 포즈의 변화의 방향에 기초하여 제1 아바타 특징부의 적어도 일부의 포즈를 수정하는 것은, 특정 방향으로의 제2 물리적 특징부의 추가적인 움직임이 디바이스로 하여금, 제2 물리적 특징부의 추가적인 움직임의 방향에 기초하여 제1 아바타 특징부의 포즈를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴의 하나 이상의 물리적 특징부들의 변화들은 제1 크기의 제1 물리적 특징부(예를 들어, 1122)의 변화 및 제2 크기의 제2 물리적 특징부(예를 들어, 1120)의 변화를 포함하며, 가상 아바타(예를 들어, 1100)의 제1 아바타 특징부(예를 들어, 1133)를 수정하는 것은 제1 크기 및 제2 크기 둘 모두에 기초한 수정 크기만큼 제1 아바타 특징부를 수정하는 것을 포함한다. 그러한 실시예의 일 예가 1101D 및 1111D에 예시되며, 도 11a에 대해 위에서 더 상세히 논의된다. 일부 예들에서, 수정 크기는 제1 크기와 제2 크기의 합이다. 일부 예들에서, 수정 크기는 제1 크기와 제2 크기의 가중 합에 기초한다. 예를 들어, 제1 물리적 특징부 내의 변화의 크기는 제2 크기와 비교하여, 수정 크기에 대한 더 큰 효과(예를 들어, 1X 또는 2X)의 효과를 가질 수 있다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 눈(예를 들어, 1432B)을 포함하고, 제1 물리적 특징부는 사용자의 눈(예를 들어, 1423)의 적어도 일부를 포함하고, 제2 물리적 특징부는 사용자의 눈썹(예를 들어, 1422)의 적어도 일부를 포함하고, 제1 물리적 특징부의 변화는 사용자의 눈의 홍채 부분(예를 들어, 1423A)의 변위(예를 들어, 사용자가 도 14a의 1401B 및 1401C에 도시된 바와 같이 특정 방향을 보도록 그들의 눈을 이동시킬 때 시선의 변화 또는 사용자의 홍채(예를 들어, 1423A)의 병진이동) 및 사용자의 눈의 적어도 일부의 크기(예를 들어, 눈의 개방도의 크기(예를 들어, 최대 범위의 백분율))의 변화(예를 들어, 도 14b의 1402A 및 1402B에 도시된 바와 같이 사용자의 눈(예를 들어, 1423)의 가시적인 양의 변화) 중 적어도 하나를 포함하고, 제2 물리적 특징부의 변화는 사용자의 눈썹(예를 들어, 1422)의 적어도 일부의 수직 변위를 적어도 포함한다. 그러한 실시예들에서, 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하는 것은, 제1 물리적 특징부의 변화가 (예를 들어, 1401B 및 1401C에 도시된 바와 같이) 사용자의 눈의 홍채 부분(예를 들어, 1423A)의 변위를 포함할 때 아바타 눈의 적어도 일부를 병진이동시키는 것을 포함한다(예를 들어, 아바타 눈(예를 들어, 1432A)은 1411B 및 1411C에 도시된 바와 같이 특정 방향을 본다).
일부 실시예들에서, 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하는 것은, 제1 물리적 특징부의 변화가 사용자의 눈의 적어도 일부의 크기(예를 들어, 눈의 개방도의 크기(예를 들어, 최대 범위의 백분율))의 변화를 포함할 때 아바타 눈의 적어도 일부의 크기를 조정하는 것을 포함한다(예를 들어, 아바타 눈의 홍채 부분(예를 들어, 1432B)의 크기는 (예를 들어, 1402A, 1402B, 1412A, 1412B에 도시된 바와 같이) 사용자의 눈의 크기(예를 들어, 개방도)의 변화들에 따라 증가 또는 감소한다). 일부 예들에서, 아바타는 로봇(예를 들어, 1400)이고, 로봇 눈은 카메라 셔터를 모방하며, 여기서 아바타 눈의 홍채(예를 들어, 1432B)는 카메라 셔터의 개구에 대응한다. 그러한 실시예들에서, 아바타 눈의 홍채 부분의 크기의 증가/감소는 카메라 셔터에서 개구를 조정하는 것과 유사한 방식으로 로봇 눈에 형성된 개구를 증가/감소시킴으로써 야기된다.
일부 실시예들에서, 제2 물리적 특징부의 변화에 기초하여 제1 아바타 특징부를 수정하는 것은 아바타 눈(예를 들어, 1431)의 적어도 일부의 회전 정도를 조정하는 것을 포함하며, 여기서 회전 정도는 사용자의 눈썹(예를 들어, 1422)의 적어도 일부의 수직 변위에 기초한다. 예를 들어, 아바타가 로봇(예를 들어, 1400)일 때, 아바타 눈은 아바타 눈(예를 들어, 1432) 내에 통합되는 아바타 의사-눈썹을 표현하는 라인(예를 들어, 아바타 눈이 중립의 휴지 위치에 있을 때에는 수평 라인(예를 들어, 1431))을 포함한다. 일부 예들에서, 아바타 눈(예를 들어, 1432)의 회전은 라인(예를 들어, 1431)의 위치에서의 회전에 의해 표현되며, 여기서 라인의 회전된 위치는 로봇 아바타의 눈썹 위치를 표시하는 데 사용될 수 있다. 일부 예들에서, 아바타 눈들(및 라인)이 회전되거나 틸팅되는 정도는 사용자의 눈썹의 수직 변위의 크기에 기초하여 결정된다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 코(예를 들어, 1736)의 적어도 일부를 포함하고, 제1 물리적 특징부는 사용자의 눈썹(예를 들어, 1722)의 적어도 일부를 포함하고, 제2 물리적 특징부는 사용자의 입술의 적어도 일부(예를 들어, 1720A)를 포함하고, 제1 물리적 특징부의 변화는 (예를 들어, 1701B에 도시된) 사용자의 눈썹의 적어도 일부의 수직 변위를 적어도 포함하며, 제1 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하는 것은, 사용자의 눈썹의 적어도 일부의 수직 변위의 방향에 기초하여 아바타 코의 위치를 수정하는 것을 포함하고(예를 들어, 사용자의 눈썹(예를 들어, 1722)은, 눈썹들이 1701B에 도시된 바와 같이 비웃는 포즈의 일부를 형성할 때 사용자의 머리의 상단으로부터 멀리 하향 방향으로 이동됨), 여기서 아바타 코의 위치는 사용자의 눈썹의 적어도 일부의 수직 변위의 방향에 기초하여 결정되는(예를 들어, 그에 반대로 관련된) 방향으로 수정된다. 예를 들어, 눈썹들이 하향 방향으로 이동될 때, 아바타 코(예를 들어, 1736)는 아바타의 머리(예를 들어, 1735)의 상단을 향해 상향 방향으로 올라간다. 일부 실시예들에서, 제2 물리적 특징부의 변화는, (예를 들어, (1702A 및 1702B에 도시된 바와 같이) 사용자의 입 또는 입술을 좌측 또는 우측 방향으로 이동시킬 때의) 사용자의 입술의 적어도 일부의 수평 변위 및 (예를 들어, 1701B에 도시된 바와 같이 비웃는 포즈로 사용자의 입술(예를 들어, 상부 입술(1720A))을 올릴 때의) 사용자의 입술의 적어도 일부의 수직 변위 중 적어도 하나를 포함하며, 제2 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하는 것은, 사용자의 입술의 적어도 일부의 수평 변위의 방향 및 사용자의 입술의 적어도 일부의 수직 변위의 방향 중 적어도 하나에 기초하여 아바타 코의 위치를 수정하는 것을 더 포함하며, 여기서 아바타 코의 위치는 사용자의 입술의 적어도 일부의 수평 변위의 방향에 대응하는 방향으로 추가로 수정된다. 예를 들어, 사용자의 입술(예를 들어, 상부 입술(1720A) 및/또는 하부 입술(1720B))이 사용자의 얼굴의 측부(예를 들어, 1702A 및 1702B에 도시된 바와 같이 좌측 또는 우측)으로 끌어당겨질 때, 사용자의 입술은 좌측 또는 우측 방향으로의 수평 변위를 갖고, 아바타 코는 (1712A 및 1712B에 도시된 바와 같이) 사용자의 입술의 좌측/우측 방향에 대응하는 방향으로 이동된다. 일부 예들에서, 아바타 코의 이러한 움직임은, 미러링된 방향으로 (예를 들어, 사용자의 입술이 (1702A에 도시된 바와 같이 시야의 관점으로부터) 사용자의 얼굴의 우측 측부로 이동되면, 아바타 코는 (1712A에 도시된 바와 같이) 아바타의 얼굴의 좌측 측부를 향하는 방향으로 이동되고, 그 반대의 경우도 마찬가지임) 그리고 사용자의 입술의 적어도 일부의 수직 변위의 방향에 대응하는 방향으로(예를 들어, 사용자의 입술(예를 들어, 상부 입술(1720A)이 (1701B에 도시된 바와 같이) 비웃는 포즈로 올라갈 때, 입술은 사용자의 머리의 상단을 향하는 방향으로의 수직 변위를 갖고, 아바타 코는 또한, 1711B에 도시된 바와 같이 아바타의 머리(1735)의 상단을 향해 대응하는 방향으로 이동됨) 이동됨으로써 사용자의 입술의 수평 움직임에 대응한다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 헤어 특징부(예를 들어, 갈기(1552))를 포함하고, 제1 물리적 특징부는 사용자의 눈썹(예를 들어, 1522)의 적어도 일부를 포함하고, 제2 물리적 특징부는 사용자의 머리(예를 들어, 1528)의 적어도 일부를 포함하고, 제1 물리적 특징부의 변화는 (예를 들어, 1501C에 도시된 바와 같이) 사용자의 눈썹의 적어도 일부의 수직 변위를 적어도 포함하며, 제2 물리적 특징부의 변화는 사용자의 머리의 포즈의 변화(예를 들어, 1501D)(예를 들어, x 축을 따른 회전(예를 들어, 머리의 끄덕임) 또는 y 축을 따른 회전(예를 들어, 좌우로 머리를 흔드는 것))를 포함한다. 이러한 실시예에서, 제1 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하는 것은 사용자의 눈썹의 적어도 일부의 수직 변위의 방향에 기초하여 아바타 헤어(예를 들어, 갈기) 특징부의 적어도 일부를 변위시키는 것을 포함한다. 예를 들어, 1501C에서, 사용자의 눈썹은 사용자의 머리의 하단으로부터 멀리 상향 방향으로 이동되고, 1511C에서, 아바타 갈기의 일부(예를 들어, 아바타의 머리(1535)의 상단에 위치된 1552A)는 아바타의 머리의 하단으로부터 멀리 상향 방향으로 이동된다. 일부 실시예들에서, 사용자의 눈썹이 사용자의 머리의 하단을 향해 하향 방향으로 이동될 때, (예를 들어, 아바타의 머리의 상단에 위치된) 아바타 갈기의 일부는 아바타의 머리의 하단을 향해 하향 방향으로 이동되며, 제2 물리적 특징부의 변화에 기초하여 가상 아바타의 제1 아바타 특징부를 수정하는 것은, 사용자의 머리의 포즈의 변화의 방향 또는 크기에 기초하여 아바타 헤어 특징부(예를 들어, 갈기(1552))의 적어도 일부를 회전시키는 것을 포함한다(예를 들어, 1511D).
방법(1900)(예를 들어, 도 19)에 대해 위에서 설명된 프로세스들의 세부사항들은 또한 위에서 설명된 방법(1800) 및 아래에서 설명되는 방법들과 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(1900)은 선택적으로, 방법들(800, 900, 1800, 2000, 2100, 2200, 2300, 2400, 2500)을 참조하여 아래에서 설명되는 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(1900)에 따라 생성된 가상 아바타들(예를 들어, 사용자의 얼굴의 위치의 변화들에 반응하는 동안 생성되는 아바타들)을 이용할 수 있다. 유사하게, 방법(1900)에 따라 생성 및/또는 수정된 가상 아바타들 및 애니메이션화된 효과들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(1900)에 따라 생성된 가상 아바타들(예를 들어, 사용자의 얼굴의 위치의 변화들에 반응하는 동안 생성되는 아바타들)은 또한 방법들(800, 900, 1800, 2000, 2100, 2200, 2300, 2400, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(1900)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1539)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1535)을 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 20은 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(2000)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(2000)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(2000)은 사용자의 얼굴의 위치의 변화들에 반응하는 동안 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(2000)의 예들은 도 11a 내지 도 11c, 도 13, 도 14a 내지 도 14d, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해 가상 아바타(예를 들어, 1100, 1300, 1400, 1500, 1600, 1700)를 디스플레이한다(2002). 일부 예들에서, 가상 아바타는 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 제1 물리적 특징부(예를 들어, 사용자의 입(예를 들어, 1120, 1320, 1420, 1720), 눈썹(예를 들어, 1422, 1522), 또는 뺨(예를 들어, 1628))의 변화들에 반응하는 제1 아바타 특징부(예를 들어, 아바타의 눈썹(예를 들어, 1538), 입(예를 들어, 1130, 1330, 1430, 1730), 뺨(예를 들어, 1633), 또는 로봇 아바타(예를 들어, 1400)의 하나 이상의 카메라 렌즈들(예를 들어, 1431) 또는 안테나(예를 들어, 1434)의 내부 부분과 같은 비-인간 등가 아바타 특징부)를 포함한다(2004). 하나 이상의 카메라들의 시야에서의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제1 부분에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
가상 아바타는 또한, 제1 물리적 특징부의 변화들에 반응하는 제2 아바타 특징부(예를 들어, 아바타의 귀(예를 들어, 1133, 1433) 또는 코(예를 들어, 1736), 또는 수염들(예를 들어, 1342), 갈기(예를 들어, 1552), 아랫볏(예를 들어, 1650), 또는 로봇 아바타(예를 들어, 1400)의 안테나(예를 들어, 1434)와 같은 비-인간 등가 아바타 특징부들)를 포함한다(2006). 하나 이상의 카메라들의 시야에서의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제2 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제2 부분에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
가상 아바타는 또한 제1 물리적 특징부의 변화들에 주로 반응하지 않는(예를 들어, 선택적으로 반응하는) 제3 아바타 특징부(예를 들어, 코(예를 들어, 1436), 눈썹(예를 들어, 1138, 1738), 눈꺼풀(예를 들어, 1348), 입(예를 들어, 1530) 또는 로봇 아바타(예를 들어, 1400)의 하나 이상의 카메라 렌즈들(예를 들어, 1431)의 내부 부분과 같은 비-인간 등가 아바타 특징부)를 포함한다(2008). 예를 들어, 제3 아바타 특징부는 얼굴 특징부들(예를 들어, 제1 물리적 특징부)의 변화에 기초하여 직접 수정되지 않지만, 얼굴 특징부들의 변화들에 직접 반응하는 아바타의 다른 변화들에 의해 영향을 받을 수 있다. 예를 들어, 일부 실시예들에서, 제3 아바타 특징부는, 사용자의 입(예를 들어, 1320)과 같은 제1 물리적 특징부의 변화들에 반응하지 않지만, 제1 물리적 특징부(예를 들어, 사용자의 입(1342))의 움직임에 의해 구동되는 아바타 입(예를 들어, 1330)의 움직임에 응답하여 이동되는 수염들(예를 들어, 1342)을 포함할 수 있다. 일부 실시예들에서, 제1 물리적 특징부의 변화들에 비반응성인 아바타 특징부(예를 들어, 수염들(1342))는 하나 이상의 카메라들의 시야 내의 얼굴의 임의의 물리적 특징부들의 변화들에 비반응성이다. 일부 실시예들에서, 제1 물리적 특징부의 변화들에 비반응성인 아바타 특징부는 제1 물리적 특징부와 상이한 하나 이상의 카메라들의 시야 내의 얼굴의 제2 물리적 특징부의 변화들에 반응한다. 예를 들어, 일부 실시예들에서, 제3 아바타 특징부는, 사용자의 입(예를 들어, 1320)과 같은 제1 물리적 특징부의 변화들에 반응하지 않지만 사용자의 눈꺼풀들(예를 들어, 1327)과 같은 제2 물리적 특징부의 변화들에 반응하는 눈꺼풀들(예를 들어, 1348)을 포함할 수 있다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 1130, 1330, 1430, 1431, 1538, 1633, 1730)는 제1 물리적 특징부(예를 들어, 1120, 1320, 1420, 1422, 1522, 1628, 1720)에 해부학적으로 대응하고(예를 들어, 아바타 특징부는 물리적 특징부의 위치, 움직임 특성들, 크기, 색상, 및/또는 형상 중 하나 이상에 기초하여 모델링됨), 제2 아바타 특징부(예를 들어, 1133, 1342, 1433, 1434, 1552, 1650, 1736)는 제1 물리적 특징부에 해부학적으로 대응하지 않는다(예를 들어, 제1 물리적 특징부 이외의 물리적 특징부에 해부학적으로 구별되거나 해부학적으로 대응한다). 예를 들어, 제2 아바타 특징부는 눈 크기에 대응하고, 제1 물리적 특징부는 눈썹 위치에 대응한다.
가상 아바타(예를 들어, 1100, 1300, 1400, 1500, 1600, 1700)를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적 특징부(예를 들어, 사용자의 입(예를 들어, 1120, 1320, 1420, 1720), 눈썹(예를 들어, 1422, 1522), 또는 뺨(예를 들어, 1628))의 변화들을 검출한다(2010).
제1 물리적 특징부(예를 들어, 사용자의 입(예를 들어, 1120, 1320, 1420, 1720), 눈썹(예를 들어, 1422, 1522), 또는 뺨(예를 들어, 1628))의 변화들을 검출하는 것에 응답하여(2012), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부(예를 들어, 아바타의 눈썹(예를 들어, 1538), 입(예를 들어, 1130, 1330, 1430, 1730), 뺨(예를 들어, 1633), 또는 로봇 아바타(예를 들어, 1400)의 하나 이상의 카메라 렌즈들(예를 들어, 1431)의 내부 부분과 같은 비-인간 등가 아바타 특징부)를 수정한다(2014). 전자 디바이스는 또한 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부(예를 들어, 아바타의 귀(예를 들어, 1133, 1433) 또는 코(예를 들어, 1736), 또는 수염들(예를 들어, 1342), 갈기(예를 들어, 1552), 아랫볏(예를 들어, 1650), 또는 로봇 아바타(예를 들어, 1400)의 안테나(예를 들어, 1434)와 같은 비-인간 등가 아바타 특징부들)를 수정한다(2016). 부가적으로, 전자 디바이스는 제1 물리적 특징부의 검출된 변화들에 기초한 제3 아바타 특징부(예를 들어, 코(예를 들어, 1436), 눈썹(예를 들어, 1138, 1738), 눈꺼풀(예를 들어, 1348), 입(예를 들어, 1530), 또는 로봇 아바타(예를 들어, 1400)의 하나 이상의 카메라 렌즈들(예를 들어, 1431)의 내부 부분과 같은 비-인간 등가 아바타 특징부)의 수정을 보류한다(2018).
제1 물리적 특징부의 검출된 변화들에 기초하여 제1 및 제2 아바타 특징부들을 수정하고, 제1 물리적 특징부의 변화들에 기초하여 제3 아바타 특징부를 수정하는 것을 보류하는 것은, 동일한 물리적 특징부의 추가적인 움직임 또는 그에 대한 변화들이 디바이스로 하여금 제3 아바타 특징부를 변화시키지 않으면서 제1 및 제2 아바타 특징부들을 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제3 아바타 특징부(예를 들어, 눈썹(예를 들어, 1138, 1738), 눈꺼풀(예를 들어, 1348), 또는 입(예를 들어, 1530))은 제2 물리적 특징부(예를 들어, 사용자 눈썹(예를 들어, 1122, 1722), 눈꺼풀(예를 들어, 1327), 또는 입(1520))의 변화들에 반응하고, 제3 아바타 특징부는 제2 물리적 특징부에 해부학적으로 대응한다. 하나 이상의 카메라들의 시야에서의 얼굴의 제2 물리적 특징부의 변화들에 반응하고 사용자의 제2 물리적 특징부에 해부학적으로 대응하는 제3 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 사용자의 제2 물리적 특징부에 대응하는 가상 아바타의 제3 부분에 대한 수정들을 제어하기 위한 직관적인 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
그러한 실시예들에서, 가상 아바타를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부(예를 들어, 사용자 눈썹(예를 들어, 1122, 1722), 눈꺼풀(예를 들어, 1327), 또는 입(1520))의 변화들을 검출하고, 제2 물리적 특징부의 변화들을 검출하는 것에 응답하여, 제2 물리적 특징부의 검출된 변화들에 기초하여 제3 아바타 특징부(예를 들어, 눈썹(예를 들어, 1138, 1738), 눈꺼풀(예를 들어, 1348), 또는 입(예를 들어, 1530))를 수정한다. 일부 실시예들에서, 제1 아바타 특징부(예를 들어, 입(예를 들어, 1130, 1330))는 제2 물리적 특징부의 변화들에 주로 반응하지 않는다(또는 선택적으로는 비반응성이다). 일부 실시예들에서, 제2 아바타 특징부는 제1 물리적 특징부 또는 제2 물리적 특징부 중 어느 하나에 해부학적으로 대응하지 않는다. 예를 들어, 제2 아바타 특징부는 사용자의 눈썹(예를 들어, 1122, 1422) 및 입(예를 들어, 1120, 1420)에 반응하는 아바타 귀(예를 들어, 1133, 1433)이다.
일부 실시예들에서, 제2 아바타 특징부(예를 들어, 1133, 1552, 1736)는 제2 물리적 특징부(예를 들어, 1122, 1520, 1722)의 변화들에 반응한다. 사용자의 얼굴의 제2 물리적 특징부의 변화들에 반응하는 제2 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제2 부분에 대한 수정들을 제어하기 위한 부가적인 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
예를 들어, 제2 아바타 특징부(예를 들어, 1133, 1552, 1736)는 제2 물리적 특징부(예를 들어, 1122, 1520, 1722)의 변화들에 반응하여, 제2 아바타 특징부는 제1 물리적 특징부(예를 들어, 1120, 1522, 1720) 및 제2 물리적 특징부 둘 모두의 변화들에 반응한다. 따라서, 제2 아바타 특징부는 제2 물리적 특징부의 변화들을 검출하는 것에 기초하여 제1 아바타 특징부에 대한 수정들과는 독립적으로 수정될 수 있다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 1730)는 제2 물리적 특징부(예를 들어, 1722)의 변화들에 반응한다. 사용자의 얼굴의 제2 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제1 부분에 대한 수정들을 제어하기 위한 부가적인 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다. 예를 들어, 제1 아바타 특징부는 제2 물리적 특징부의 변화들에 반응하여, 제1 아바타 특징부는 제1 물리적 특징부 및 제2 물리적 특징부 둘 모두의 변화들에 반응한다.
일부 실시예들에서, 제1 물리적 특징부는 사용자의 입술들의 적어도 일부(예를 들어, 1420A, 1420B)를 포함하고, 제2 물리적 특징부는 사용자의 눈썹(예를 들어, 1422)의 적어도 일부를 포함하고, 제1 아바타 특징부는 아바타 입(예를 들어, 1430)을 포함하며, 제2 아바타 특징부는 아바타 머리(예를 들어, 1435)의 측부 부분 상에 위치된 아바타 귀(예를 들어, 1433)를 포함한다. 예를 들어, 아바타가 로봇(예를 들어, 1400)일 때, 아바타 귀(예를 들어, 1433)는 둥근 플레이트형 구조체에 의해 표현된다. 그러한 실시예들에서, 귀(예를 들어, 1433)의 움직임은 로봇 머리(예를 들어, 1435)의 측부로부터 수평으로 구조체를 연장시킴으로써 표현된다. 일부 실시예들에서, 귀(예를 들어, 1433)의 움직임은 로봇 머리(예를 들어, 1435)의 측부로부터 구조체를 틸팅함으로써 표현된다.
일부 실시예들에서, 제1 물리적 특징부의 변화들은 사용자의 입술들의 적어도 일부(예를 들어, 1420A, 1420B)의 (예를 들어, 1401A에 도시된) 제1 위치로부터 (예를 들어, 1403B에 도시된) 제2 위치로의 변위를 포함한다. 예를 들어, 사용자의 입술들은 찌푸린 표정의 입 부분을 형성하기 위해 하향 만곡화 방향으로 이동된다(예를 들어, 사용자의 입의 코너들은 아래로 만곡된다). 일부 실시예들에서, 제2 물리적 특징부의 변화들은 사용자의 눈썹의 적어도 일부의 수직 변위를 적어도 포함한다. 예를 들어, 사용자의 눈썹(예를 들어, 1422)은 1403B에 도시된 바와 같이 하향 방향으로 이동된다.
일부 실시예들에서, 눈썹들의 중립의 휴지 위치와 비교할 때, 찌푸림은 사용자의 눈썹들이 사용자의 코를 향해 수직으로 변위되는 위치를 가질 때 검출된다. 일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 사용자의 입술들의 적어도 일부(예를 들어, 1420A, 1420B)의 제2 위치에 기초하여 적어도 아바타 입(예를 들어, 1430)의 형상을 수정하는 것을 포함한다. 예를 들어, 아바타 입은 (예를 들어, 수직 방향으로 이동되거나, 열리고 닫히는 등의) 사용자의 입을 직접 미러링하는 방식으로 이동되지 않는다. 대신에, 일부 실시예들에서, 아바타 입(예를 들어, 1430)의 변화들은 (예를 들어, 입 형상과 연관된 표정을 표시하기 위해) 아바타 입의 형상을 변화시킴으로써 표시되며, 여기서 아바타 입의 형상 변화는 사용자의 입술들(예를 들어, 1420A, 1420B)의 변화들에 의해 유발된다. 일부 예들에서, 입은 1413B에 도시된 바와 같이 찌푸림을 표시하기 위해 사다리꼴 형상을 형성한다(예를 들어, 사다리꼴 형상은 사다리꼴의 상단 에지(1430U)가 사다리꼴의 하단 에지(1430L)보다 짧을 때 찌푸림에 대응한다). 일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 아바타 귀(예를 들어, 1433)의 틸트의 정도를 조정하는 것을 포함하며, 여기서 틸트의 정도는 사용자의 입술들의 적어도 일부의 제1 위치로부터 제2 위치로의 변위의 크기 및 방향 중 적어도 하나에 기초한다. 일부 실시예들에서, 귀(예를 들어, 1433)가 틸팅되는 정도는 사용자의 입술들(예를 들어, 1420A/1420B)의 제1 위치로부터 제2 위치로의 변위의 크기 또는 방향에 기초하여 결정된다.
일부 실시예들에서, 제1 물리적 특징부(예를 들어, 1120, 1320, 1420, 1422, 1522, 1628, 1720)의 변화들은 제1 크기의 변화를 포함하고, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부(예를 들어, 1130, 1330, 1430, 1431, 1538, 1633, 1730)를 수정하는 것은 제1 크기에 기초한 제1 수정 크기만큼 제1 아바타 특징부를 수정하는 것을 포함하고, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부(예를 들어, 1133, 1342, 1433, 1434, 1552, 1650, 1736)를 수정하는 것은 제1 크기에 기초한 제2 수정 크기만큼 제2 아바타 특징부를 수정하는 것을 포함하며, 제2 수정 크기는 제1 수정 크기와 상이하다. 제1 수정 크기만큼 제1 아바타 특징부를 수정하고 제2 수정 크기만큼 제2 아바타 특징부를 수정하는 것 - 수정 크기들은 제1 물리적 특징부의 검출된 변화들의 제1 크기에 기초함 - 은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 상이한 양들만큼 상이한 아바타 특징부들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부 및 제2 아바타 특징부 둘 모두가 제1 물리적 특징부의 변화들에 반응하지만, 아바타 특징부들에 대한 수정들의 크기(예를 들어, 정도)는 상이하다. 예를 들어, 물리적 특징부의 변화가 제1 크기의 위치의 시프트(예를 들어, 병진이동 변화)(예를 들어, 1인치의 위치의 시프트)를 포함할 때, 제1 아바타 특징부는 제1 크기와 동일한 제1 수정 크기만큼 수정될 수 있지만(예를 들어, 제1 아바타 특징부가 또한 1인치만큼 위치에서 시프트됨), 제2 아바타 특징부는 제1 수정 크기와 상이한 제2 수정 크기만큼 수정될 수 있다(예를 들어, 제2 아바타 특징부는 1인치 이외의(예를 들어, 그보다 크거나 작은) 값만큼 시프트된다). 일부 실시예들에서, 상이한 수정 크기들은 상이한 조정 인자들(예를 들어, 승수(multiplier)들)을 제1 물리적 특징부의 변화의 크기에 적용함으로써 생성된다. 일부 실시예들에서, 변화의 크기는 주어진 특징부에 대해 이용가능한 최대량의 변화의 백분율로서 표현될 수 있다.
일부 실시예들에서, 제1 물리적 특징부(예를 들어, 1120, 1320, 1420, 1422, 1522, 1628, 1720)의 변화는 제1 유형의 변화(예를 들어, 회전 변화, 크기 변화, 색상 변화, 위치/병진이동 변화)이고, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부(예를 들어, 1130, 1330, 1430, 1431, 1538, 1633, 1730)를 수정하는 것은 제2 유형의 변화(예를 들어, 회전 변화, 크기 변화, 색 변화, 위치/병진이동 변화)에 기초하여 제1 아바타 특징부를 수정하는 것을 포함한다. 일부 실시예들에서, 제2 유형의 변화는 제1 유형의 변화와 동일하다. 일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부(예를 들어, 1133, 1342, 1433, 1434, 1552, 1650, 1736)를 수정하는 것은 제3 유형의 변화(예를 들어, 회전 변화, 크기 변화, 색 변화, 위치/병진이동 변화)에 기초하여 제2 아바타 특징부를 수정하는 것을 포함하며, 제3 유형의 변화는 제2 유형의 변화와 상이하다. 일부 실시예들에서, 제3 유형의 변화는 제1 유형의 변화와 동일하다. 제2 유형의 변화에 기초하여 제1 아바타 특징부를 수정하고, 제2 유형의 변화와 상이한 제3 유형의 변화에 기초하여 제2 아바타 특징부를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 상이한 유형들의 사용자 입력에 기초하여 아바타의 상이한 특징부들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부 및 제2 아바타 특징부 둘 모두가 제1 물리적 특징부의 변화들에 반응하지만, 제1 물리적 특징부의 변화들은 제1 아바타 특징부 및 제2 아바타 특징부에 상이하게 영향을 준다(예를 들어, 수정한다). 예를 들어, 제1 물리적 특징부의 변화는, 제1 아바타 특징부의 회전 변화(예를 들어, 아바타 안구의 회전)를 야기하지만 제2 아바타 특징부의 병진이동 변화(예를 들어, 아바타 귀의 위치의 시프트)를 야기하는 회전 변화(예를 들어, 안구의 회전)일 수 있다. 일부 실시예들에서, 제1 아바타 특징부 및 제2 아바타 특징부의 변화들은 동일한 유형의 변화(예를 들어, 물리적 특징부에 대한 변화와 동일한 유형의 변화)이다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 입(예를 들어, 1330)을 포함하고, 제2 아바타 특징부는 아바타 얼굴 헤어(예를 들어, 1342)의 적어도 일부를 포함하고, 제1 물리적 특징부는 사용자의 입(예를 들어, 1320)의 적어도 일부를 포함하며, 제1 물리적 특징부의 변화들은 사용자의 입의 적어도 일부의 변위를 포함한다(예를 들어, 사용자의 입이 웃고 있을 때, 사용자의 입의 코너들은 (중립의 휴지 위치에 있을 때의 사용자의 입의 코너들의 위치에 대해) 상향 방향으로 디스플레이된다). 일부 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 사용자의 입의 적어도 일부의 변위에 기초하여 아바타 입의 형상을 수정하는 것을 포함한다(예를 들어, 아바타 입은 사용자의 입의 코너들이 (중립의 휴지 위치에 있을 때의 사용자의 입의 코너들의 위치에 대해) 상향 방향으로 변위될 때 웃음에 대응하는 형상으로 수정된다). 추가로, 일부 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은, 사용자의 입의 적어도 일부의 변위의 크기 또는 방향에 기초하여, 아바타 얼굴 헤어의 적어도 일부의 위치(예를 들어, 아바타 얼굴 헤어의 위치는 사용자의 입의 위치 또는 형상의 변화에 기초하여 변화함) 및 아바타 얼굴 헤어의 적어도 일부의 간격(예를 들어, 아바타 얼굴 헤어의 위치는 사용자의 입의 위치 또는 형상의 변화에 기초하여 변화함) 중 적어도 하나를 수정하는 것을 포함한다. 일부 실시예들에서, 아바타 얼굴 헤어의 위치 및 간격의 수정은 아바타의 입 및 주변의 연결된 얼굴 구조체의 형상 또는 위치의 변화(예를 들어, 변위)를 유발함으로써 달성되며,이는 차례로, 아바타 입에 근접한 구역에 위치된 아바타 얼굴 헤어의 자리, 위치, 또는 간격에 대한 변화를 유발한다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 입(예를 들어, 1730)을 포함하고, 제2 아바타 특징부는 아바타 코(예를 들어, 1736)를 포함하고, 제1 물리적 특징부는 사용자의 입(예를 들어, 1720)의 적어도 일부를 포함하며, 제1 물리적 특징부의 변화들은 사용자의 입의 적어도 일부의 변위를 포함한다(예를 들어, 사용자의 입이 웃고 있을 때, 사용자의 입의 코너들은 (중립의 휴지 위치에 있을 때의 사용자의 입의 코너들의 위치에 대해) 상향 방향으로 디스플레이된다). 일부 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 사용자의 입의 적어도 일부의 변위에 기초하여 아바타 입의 형상을 수정하는 것을 포함한다(예를 들어, 아바타 입은 사용자의 입의 코너들이 (중립의 휴지 위치에 있을 때의 사용자의 입의 코너들의 위치에 대해) 상향 방향으로 변위될 때 웃음에 대응하는 형상으로 수정된다). 추가로, 일부 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 사용자의 입의 적어도 일부의 변위의 크기 또는 방향에 기초하여 아바타 코의 위치를 수정하는 것을 포함한다(예를 들어, 아바타 코는 사용자의 코 이외의 물리적 특징부(예를 들어, 사용자의 입(1720)의 변위에 기초하여 이동된다). 예를 들어, 사용자의 입이 사용자의 얼굴 상에서 좌우(예를 들어, 좌측 또는 우측)로부터 이동될 때, 사용자의 입은 좌측 또는 우측 방향으로의 수평 변위를 갖고, 아바타 코는 사용자의 입의 좌측/우측 방향에 대응하는 방향으로 이동된다. 일부 실시예들에서, 아바타 코의 이러한 움직임은 미러링된 방향으로 이동됨으로써 사용자의 입의 수평 움직임에 대응한다(예를 들어, 사용자의 입이 사용자의 얼굴의 우측 측부로 이동되면, 아바타 코는 아바타의 얼굴의 좌측 측부를 향하는 방향으로 이동되고, 그 반대의 경우도 마찬가지이다). 유사하게, 사용자의 입이 (예를 들어, 사용자의 머리의 상단을 향하는 방향으로의) 수직 변위를 가질 때, 아바타 코는 또한 대응하는 방향으로(예를 들어, 아바타의 머리의 상단을 향해) 이동된다.
일부 실시예들에서, 가상 아바타(예를 들어, 1400)는 제1 물리적 특징부(예를 들어, 1422)의 변화들에 반응하는 제4 아바타 특징부(예를 들어, 1431)를 더 포함한다. 제1 물리적 특징부의 변화들을 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적 특징부(예를 들어, 사용자 눈썹(1422))의 검출된 변화들에 기초하여 제4 아바타 특징부를 수정한다. 사용자의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제4 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제4 부분에 대한 수정들을 제어하기 위한 부가적인 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 물리적 특징부는 사용자의 눈썹(예를 들어, 1422)의 적어도 일부를 포함하고, 제1 아바타 특징부는 아바타 머리(예를 들어, 1435)의 상단 부분에 위치된 아바타 안테나 특징부(예를 들어, 1434)(예를 들어, (예를 들어, 아바타가 로봇일 때) 사용자 얼굴 특징부(예를 들어, 사용자의 눈썹(1422)의 움직임에 응답하여 수직 방향으로 이동되는 아바타 머리의 상단 상에 위치된 안테나)를 포함한다. 일부 그러한 실시예들에서, 제2 아바타 특징부는 아바타 머리의 측부 부분 상에 위치된 아바타 귀(예를 들어, 1433)를 포함하고(예를 들어, 아바타가 로봇일 때, 아바타 귀는 둥근 플레이트형 구조체에 의해 표현되며, 여기서 귀의 움직임은 로봇 머리의 측부로부터 수평으로 구조체를 연장시킴으로써 표현됨), 제4 아바타 특징부는 아바타 눈썹(예를 들어, 1431)을 포함한다. 예를 들어, 아바타가 로봇(예를 들어, 1400)일 때, 아바타 눈썹은, 아바타의 눈(1432)의 구조 내에 통합되는 라인(예를 들어, 아바타 눈썹이 중립의 휴지 위치에 있을 때의 수평 라인(1431))에 의해 표현된다. 일부 실시예들에서, 로봇 눈썹의 움직임은 1412C에 도시된 바와 같이 라인의 위치를 회전(이는 아바타를 회전시키는 것을 포함할 수 있음)시킴으로써 표현되며, 여기서 라인의 회전된 위치는 로봇 아바타의 눈썹 위치를 표시하는 데 사용될 수 있다. 일부 실시예들에서, 라인(및 아바타 눈)이 회전되거나 틸팅되는 정도는 사용자의 눈썹의 수직 변위의 크기에 기초하여 결정된다.
일부 실시예들에서, 제1 물리적 특징부의 변화들은 사용자의 눈썹(예를 들어, 1422)의 적어도 일부의 변위(예를 들어, 사용자의 머리의 상단을 향해 또는 그로부터 멀어지는 수직 방향으로의 눈썹의 움직임의 크기(예를 들어, 최대 범위의 백분율))를 포함하며, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 아바타 머리(예를 들어, 1435)의 상단 부분으로부터 아바타 안테나 특징부(예를 들어, 1434)를 연장시키는 것을 포함하며, 여기서 아바타 안테나 특징부의 연장된 위치는 사용자의 눈썹의 적어도 일부의 변위의 크기에 기초한다. 일부 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 아바타 머리의 측부 부분으로부터 아바타 귀(예를 들어, 1433)를 연장시키는 것을 포함하며, 여기서 아바타 귀의 연장된 위치는 사용자의 눈썹의 적어도 일부의 변위의 크기에 기초한다. 일부 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제4 아바타 특징부를 수정하는 것은 아바타 눈썹의 적어도 일부의 회전 정도를 조정하는 것을 포함하며, 회전 정도는 사용자의 눈썹의 적어도 일부의 변위의 크기에 기초한다. 예를 들어, 아바타가 로봇(예를 들어, 1400)일 때, 아바타 눈은 다양한 얼굴 표정을 표시하도록 회전되거나 틸팅된다. 일부 실시예들에서, 눈들이 회전되거나 틸팅되는 정도는 사용자의 눈썹의 수직 변위의 크기에 기초하여 결정된다.
일부 실시예들에서, 제1 물리적 특징부는 사용자의 눈꺼풀(예를 들어, 1327)의 적어도 일부를 포함하고, 제1 아바타 특징부는 아바타 눈꺼풀(예를 들어, 1348)을 포함하고, 제2 아바타 특징부는 아바타 눈(예를 들어, 1332)을 포함하며, 제1 물리적 특징부의 변화들은 사용자의 눈꺼풀의 적어도 일부의 변위(예를 들어, 사용자의 머리의 상단을 향해 또는 그로부터 멀어지는 수직 방향으로의 눈꺼풀의 움직임의 크기(예를 들어, 최대 범위의 백분율))를 포함한다. 일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은, 아바타 눈꺼풀을 도입하고(일부 실시예들에서, 아바타 눈꺼풀은 닫힌 위치에 도입됨) 아바타 눈꺼풀을 닫힌 위치를 향해 이동시키는 것을 포함하며, 여기서 닫힌 위치를 향한 아바타 눈꺼풀의 위치는 사용자의 눈꺼풀의 적어도 일부의 변위의 크기에 기초한다. 일부 실시예들에서, 아바타 눈꺼풀은, 사용자의 눈꺼풀의 변위의 크기가 아바타 눈꺼풀을 도입하기 위한 임계 크기(예를 들어, 50% 초과로 닫힘)에 도달할 때까지 디스플레이되지 않는다. 그러한 실시예들에서, 아바타 눈꺼풀은 닫힌 위치에 디스플레이되거나, 열린 위치로부터 닫힌 위치를 향해 전환될 수 있으며, 여기서 아바타 눈꺼풀의 즉각적인 위치는 그것이 닫힌 위치로 전환될 때 사용자의 눈꺼풀의 변위 크기에 기초하여 결정된다. 일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 사용자의 눈꺼풀의 적어도 일부의 변위의 크기에 기초하여 아바타 눈의 크기를 조정하는 것을 포함한다. 예를 들어, 아바타 눈은, 제1 물리적 특징부의 변화들을 검출하기 전에 디스플레이되었던 것보다 더 많은 양의 아바타의 눈을 디스플레이하도록(또는 아바타의 눈의 크기를 증가시키도록) 수정된다.
일부 실시예들에서, 제1 물리적 특징부는 사용자의 입술의 적어도 일부(예를 들어, 1420C)를 포함하고, 제1 아바타 특징부는 아바타 입(예를 들어, 1430)을 포함하고, 제2 아바타 특징부는 아바타 코(예를 들어, 1436)를 포함하며, 제1 물리적 특징부의 변화들은 사용자의 입술의 적어도 일부의 제1 위치로부터 제2 위치로의 변위를 포함한다. 예를 들어, 제1 위치는 중립 위치일 수 있고, 제2 위치는 사용자가 그들의 입술들/입을 특정 포즈로 조정할 때의 입술들의 결과적인 위치일 수 있다. 일부 실시예들에서, 사용자의 입술 위치의 변화는 (예를 들어, 찌푸림으로부터 웃음으로의) 입의 포즈의 변화 및/또는 사용자의 입/입술들의 변위의 변화(예를 들어, 사용자의 입술들을 그들의 얼굴의 일 측으로 시프트시키는 것(예를 들어, 입술들은 우측으로 시프트됨))에 대응한다. 일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 사용자의 입술의 적어도 일부의 제2 위치에 기초하여 아바타 입의 형상 및 수평 시프트 중 적어도 하나를 수정하는 것을 포함한다. 예를 들어, 아바타 입은 (예를 들어, 수직 방향으로 이동되거나, 열리고 닫히는 등의) 사용자의 입을 직접 미러링하는 방식으로 이동되지 않는다. 대신에, 아바타 입의 변화들은 아바타 입의 수평 위치를 시프트시키고(예를 들어, x-축을 따라 입을 병진이동시키고) 그리고/또는 (예를 들어, 입 형상과 연관된 표정을 표시하기 위해) 아바타 입의 형상을 변화시킴으로써 표시되며, 여기서 아바타 입의 시프트 및 형상 변화는 사용자의 입술들의 변화들에 의해 유발된다.
일부 실시예들에서, 입은 찌푸림 또는 웃음을 표시하기 위해 사다리꼴 형상을 형성한다(예를 들어, 사다리꼴의 상단 에지가 사다리꼴의 하단 에지보다 길 때, 사다리꼴 형상은 웃음에 대응하고; 사다리꼴의 상단 에지가 사다리꼴의 하단 에지보다 짧을 때, 사다리꼴 형상은 찌푸림에 대응한다). 일부 실시예들에서, 입은 퍼커 표정 또는 놀란 표정을 표시하기 위해 원형 형상을 형성한다. 일부 실시예들에서, 아바타 입은 사용자의 입의 형상이 변화할 때(예를 들어, 사용자가 그들의 입술들을 좌우로 시프트시킬 때) 좌우로 시프트되며, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 아바타 코의 회전 정도를 조정하는 것을 포함하고, 여기서 회전 정도는 사용자의 입술의 적어도 일부의 제1 위치로부터 제2 위치로의 변위의 크기 및 방향 중 적어도 하나에 기초한다. 일부 실시예들에서, 코가 회전되는 정도는 사용자의 입술의 제1 위치로부터 제2 위치로의 변위의 크기 또는 방향에 기초하여 결정된다.
일부 실시예들에서, 제1 물리적 특징부는 사용자의 뺨(예를 들어, 1628)의 적어도 일부를 포함하고, 제1 아바타 특징부는 아바타 뺨(예를 들어, 1633)을 포함하며, 제2 아바타 특징부는 아바타의 얼굴(예를 들어, 1655)로부터 멀리 연장되는 아바타 특징부(예를 들어, 1650)(예를 들어, 코끼리의 코, 닭의 아랫볏, 새의 부리)를 포함한다. 예를 들어, 아바타가 닭(예를 들어, 1600)일 때, 아바타는 사용자의 뺨(예를 들어, 1628)의 검출된 변화들에 기초하여 이동되는 아랫볏(예를 들어, 1650)을 포함한다. 제1 물리적 특징부의 변화들은 사용자의 뺨의 적어도 일부의 제1 위치(예를 들어, 1601A)로부터 확장된 위치(예를 들어, 1601B)로의 변위를 포함하며, 여기서 확장된 위치는 사용자의 뺨의 적어도 일부의 제1 위치로부터 확장된 위치로의 변위의 크기에 기초한다. 예를 들어, 제1 위치는, 뺨이 이완된 상태에 있을 때의 사용자의 뺨의 위치에 대응하고, 확장된 위치는, 사용자가 그들의 뺨을 확장시키거나 부풀릴 때의 사용자의 뺨의 위치에 대응한다.
일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 초기 위치(예를 들어, 1611A)로부터 확장된 위치(예를 들어, 1611B에서 1633)로 아바타 뺨을 수정하는 것을 포함한다. 예를 들어, 아바타 뺨은 초기 위치로부터 확장된 위치(예를 들어, 부풀려지거나 확장된 포즈)로 이동되며, 여기서 초기 위치는 사용자의 뺨이 이완된 상태에 있을 때의 아바타 뺨의 위치에 대응하고, 확장된 위치는 사용자의 뺨의 이완된 상태에서의 그의 위치로부터 그의 확장된 위치로의 변위의 크기에 기초한다. 일부 실시예들에서, 가상 아바타의 초기 위치는 구별되지 않은 위치이다.
일부 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 사용자의 뺨의 적어도 일부의 제1 위치로부터 확장된 위치로의 변위의 크기에 기초하여 아바타의 얼굴로부터 멀리 연장되는 아바타 특징부의 위치를 수정하는 것을 포함한다. 일부 실시예들에서, 닭 아랫볏의 움직임은 물리 모델(예를 들어, 관성 모델, 중력 모델, 힘 전달 모델, 마찰 모델)에 기초한다. 일부 실시예들에서, 물리 모델은, 얼굴 또는 얼굴의 일부(예를 들어, 아바타 뺨)의 움직임의 크기 및 방향, 및 시뮬레이션된 질량, 시뮬레이션된 탄성, 시뮬레이션된 마찰 계수 또는 다른 시뮬레이션된 물리 속성과 같은 가상 아바타 특징부(예를 들어, 아랫볏)의 하나 이상의 미리 정의된 속성들에 기초하여 아바타 특징부의 움직임의 크기 및 방향을 특정한다.
일부 실시예들에서, 제1 물리적 특징부는 사용자의 뺨(예를 들어, 1428)의 적어도 일부를 포함하고, 제1 아바타 특징부는 아바타 머리(예를 들어, 1435)의 측부 부분 상에 위치된 아바타 귀(예를 들어, 1433)를 포함한다. 예를 들어, 아바타가 로봇(예를 들어, 1400)일 때, 아바타 귀(예를 들어, 1433)는 둥근 플레이트형 구조체에 의해 표현된다. 일부 실시예들에서, 귀의 움직임은 로봇 머리의 측부로부터 수평으로 구조체를 연장시킴으로써 표현된다. 일부 실시예들에서, 귀의 움직임은 로봇 머리의 측부로부터 구조체를 틸팅함으로써 표현된다. 일부 실시예들에서, 제2 아바타 특징부는 아바타 머리의 상단 부분에 위치된 아바타 안테나 특징부(예를 들어, 1434)(예를 들어, (예를 들어, 아바타가 로봇일 때) 사용자 얼굴 특징부(예를 들어, 사용자의 뺨의 움직임에 응답하여 수직 방향으로 이동되는 아바타 머리의 상단 상에 위치된 안테나)를 포함한다. 일부 그러한 실시예들에서, 제1 물리적 특징부의 변화들은 사용자의 뺨의 적어도 일부의 제1 위치(예를 들어, 1401A)로부터 확장된 위치(예를 들어, 1404C)로의 변위를 포함한다(예를 들어, 제1 위치는 뺨이 이완된 상태에 있을 때의 사용자의 뺨의 위치에 대응하고, 확장된 위치는 사용자가 그들의 뺨을 확장시키거나 부풀릴 때의 사용자의 뺨의 위치에 대응한다). 추가로, 그러한 실시예들에서, 제1 물리적 특징부의 검출된 변화들에 기초하여 제1 아바타 특징부를 수정하는 것은 아바타 머리의 측부 부분으로부터 아바타 귀를 연장시키는 것을 포함하고, 여기서 아바타 귀의 연장된 위치는 사용자의 뺨의 적어도 일부의 제1 위치로부터 확장된 위치로의 변위의 크기에 기초하며, 제1 물리적 특징부의 검출된 변화들에 기초하여 제2 아바타 특징부를 수정하는 것은 아바타 머리의 상단 부분으로부터 아바타 안테나 특징부를 연장시키는 것을 포함하고, 여기서 아바타 안테나 특징부의 연장된 위치는 사용자의 뺨의 적어도 일부의 제1 위치로부터 확장된 위치로의 변위의 크기에 기초한다.
방법(2000)(예를 들어, 도 20)에 대해 위에서 설명된 프로세스들의 세부사항들은 또한 위에서 설명된 방법들(1800, 1900) 및 아래에서 설명되는 방법들과 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(2000)은 선택적으로, 방법들(800, 900, 1800, 1900, 2100, 2200, 2300, 2400, 2500)을 참조하여 아래에서 설명되는 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(2000)에 따라 생성된 가상 아바타들(예를 들어, 사용자의 얼굴의 위치의 변화들에 반응하는 동안 생성되는 아바타들)을 이용할 수 있다. 유사하게, 방법(2000)에 따라 생성 및/또는 수정된 가상 아바타들 및 애니메이션화된 효과들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(2000)에 따라 생성된 가상 아바타들(예를 들어, 사용자의 얼굴의 위치의 변화들에 반응하는 동안 생성되는 아바타들)은 또한 방법들(800, 900, 1800, 1900, 2100, 2200, 2300, 2400, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(2000)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1539)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1535)을 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 21은 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(2100)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(2100)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(2100)은 물리적 특징부들의 변화들의 범위들에 걸쳐 상이한 거동을 나타낼 수 있는 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 물리적 및 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(2100)의 예들은 도 12a 내지 도 12c를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해, 하나 이상의 카메라들의 시야 내의 얼굴의 제1 물리적 특징부(예를 들어, 1220)의 변화들에 반응하는 제1 아바타 특징부(예를 들어, 1230)를 포함하는 가상 아바타(예를 들어, 1200)(2104)를 디스플레이한다(2102). 예를 들어, 제1 아바타 특징부는 일관되게 반응하며, 검출된 물리적 특징부의 가능한 모션 범위에 걸쳐 특이 함수(singular function)(예를 들어, 선형 함수)에 따라 반응한다. 하나 이상의 카메라들의 시야에서의 얼굴의 제1 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제1 부분에 대한 수정들을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
가상 아바타는 또한 얼굴의 제2 물리적 특징부(예를 들어, 1223)의 변화들이 제2 물리적 특징부의 변화들의 제1 범위에서 발생하는지 또는 제2 물리적 특징부의 변화들의 제1 범위와 상이한 제2 물리적 특징부의 변화들의 제2 범위에서 발생하는지에 의존하여 얼굴의 제2 물리적 특징부의 변화들에 상이한 방식들로 반응하는 제2 아바타 특징부(예를 들어, 1232)를 포함한다(2106). 예를 들어, 제2 아바타 특징부는 일관되지 않게 반응하며, 검출된 물리적 특징부의 가능한 모션 범위의 소정의 부분들에 대해 비반응성인 것을 포함하여, 검출된 물리적 특징부의 가능한 모션 범위에 걸쳐 다수의 기능들에 따라 반응한다. 얼굴의 제2 물리적 특징부의 변화들이 제2 물리적 특징부의 변화들의 제1 범위에서 발생하는지 또는 제2 물리적 특징부의 변화들의 제1 범위와 상이한 제2 물리적 특징부의 변화들의 제2 범위에서 발생하는지에 의존하여 얼굴의 제2 물리적 특징부의 변화들에 상이한 방식들로 반응하는 제2 아바타 특징부를 갖는 가상 아바타를 디스플레이하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 제2 부분에 대한 상이한 수정들을 제어하기 위한 옵션들의 범위들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
가상 아바타(예를 들어, 1200)를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 하나 이상의 카메라들의 시야 내에서 얼굴의 개개의 물리적 특징부(예를 들어, 1220, 1223)의 제1 변화를 검출한다(2108). 일부 예들에서, 물리적 특징부의 변화들은 특징부에 대한 잠재적인 변화의 범위 내에서 물리적 특징부 값(예를 들어, 크기 값)으로서 추적되며, 범위는 경험적 교정에 기초하여 또는 사용자의 얼굴의 다양한 특성들 및/또는 이력 데이터에 기초한 예측 모델링에 기초하여 결정된다. 예를 들어, 변화는 0 내지 10의 가능한 크기 범위 내에서 2의 크기를 갖는 것으로 평가될 수 있다.
개개의 물리적 특징부의 제1 변화를 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 가상 아바타를 수정하며(2110), 이는 다음의 동작들 중 하나 이상을 수행하는 것을 포함한다. 개개의 물리적 특징부의 검출된 제1 변화가 제1 물리적 특징부(예를 들어, 1220)의 변화라는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적 특징부의 변화를 반영하도록 제1 아바타 특징부(예를 들어, 1230)를 수정한다(2112). 일부 예들에서, 제1 물리적 특징부의 변화의 방식은 제1 물리적 특징부의 변화들의 범위에 의존하지 않는다. 제1 물리적 특징부의 변화를 반영하도록 제1 아바타 특징부를 수정하는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 추가적인 움직임에 기초하여 제1 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
검출된 제1 변화가 제2 물리적 특징부(예를 들어, 1223)의 변화이고 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있다는 결정에 따라(예를 들어, 제2 물리적 특징부의 제2 물리적 특징부 값이 수정 임계치를 충족시키거나 초과하는 것에 따라)(예를 들어, 0 내지 10의 가능한 크기 범위에서 5 이상의 크기를 가짐), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부(예를 들어, 1232)의 외관을 변화시킨다(2114). 제1 변화가 제2 물리적 특징부의 변화이고 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있을 때, 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은, 움직임의 동일한 범위에서 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 동일한 방식으로 제2 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 아바타 특징부는 0 내지 10의 가능한 범위를 갖는 가능한 모션 범위를 갖고, 사용자 물리적 특징부는 또한 0 내지 10의 가능한 모션 범위를 가지며, 수정 임계치는 5이다. 일부 예들에서, 임계치를 충족시키거나 초과하는 최종 물리적 특징부 값을 초래하는 물리적 특징부의 변화들은 아바타 특징부의 가능한 전체 모션 범위에 걸쳐 과장된 모션을 초래하며: 5 내지 6의 물리적 특징부의 변화는 아바타 특징부가 0의 값으로부터 2의 값으로부터 수정되지만, 6으로부터 7로의 물리적 특징부의 변화는 아바타 특징부가 2로부터 4로 수정되는 것을 초래할 것이다. 이러한 방식으로, 일단 수정 임계치가 충족되거나 초과되면, 물리적 특징부의 변화들은 아바타 특징부의 전체 모션 범위를 제어할 수 있다. 일부 예들에서, 과장은 비선형 함수에 따라 모델링되어, 5로부터 6으로의 물리적 특징부의 변화는 아바타 특징부로 하여금 0 내지 10의 가능한 범위에서 0으로부터 8로 전환하게 할 것이며, 6으로부터 10으로의 물리적 특징부의 변화들은 아바타 특징부의 덜 극적인 변화들(예를 들어, 8로부터 10으로의 변화들)을 야기한다. 이러한 방식으로, 사용자의 물리적 특징부의 변화들은, 일단 수정 임계치가 충족되면, 아바타 특징부에서 극도로 과장된 초기 변화들을 야기할 수 있다. 일부 예들에서, 물리적 특징부의 가능한 모션 범위의 제1 서브-부분(예를 들어, 0 내지 10의 범위 중 6 내지 10과 같은 나중 부분) 내에서 적어도 부분적으로 발생하는 물리적 특징부의 변화들은 대응하는 아바타 특징부의 수정을 초래한다. 그러한 예들에서, 제1 서브-부분은 수정 임계치를 충족시키거나 초과하는 범위의 부분이다.
검출된 제1 변화가 제2 물리적 특징부(예를 들어, 1223)의 변화이고 제2 물리적 특징부의 변화가 변화들의 제2 범위 내에 있다는 결정에 따라(예를 들어, 제1 물리적 특징부 값 및 제2 물리적 특징부 값은 수정 임계치를 충족시키거나 초과하지 않음), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것을 보류한다(2116). 일부 예들에서, 물리적 특징부의 가능한 모션 범위의 제2 서브-부분(예를 들어, 0 내지 10의 범위 중 0 내지 5와 같은 초기 부분) 내에서 전체적으로 발생하는 물리적 특징부의 변화들은 대응하는 아바타 특징부의 수정을 초래하지 않는다. 그러한 실시예들에서, 제2 서브-부분은 수정 임계치를 충족시키지 않거나 초과하지 않는 범위의 부분이다.
일부 예들에서, 추가로, 개개의 물리적 특징부의 제1 변화를 검출하는 것에 응답하여 그리고 검출된 제1 변화가 제2 물리적 특징부(예를 들어, 1223)의 변화이고 제2 물리적 특징부의 변화가 변화들의 제2 범위 내에 있다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부의 변화를 반영하도록 제2 방식으로 제2 아바타 특징부(예를 들어, 1232)의 외관을 변화시킨다. 일부 예들에서, 변화들의 제2 범위는 제2 물리적 특징부의 가능한 모션 범위 내의 서브세트를 표현한다. 일부 예들에서, 서브세트는 모션 범위의 상한들(예를 들어, 0 내지 10의 가능한 범위 중 8 내지 10의 범위, 0은 모션 없음이고, 10은 가장 큰 가능한 모션임)에 대응한다. 일부 예들에서, 제2 아바타 특징부의 외관을 변화시키는 제2 방식은 제2 아바타 특징부에 적용되는 과장된 효과를 포함한다. 일부 예들에서, 이러한 과장된 효과는 제2 아바타 특징부로부터 연장되는 스파이크들 또는 돌출부들을 포함한다. 제1 변화가 제2 물리적 특징부의 변화이고 제2 물리적 특징부의 변화가 변화들의 제2 범위 내에 있을 때, 제2 물리적 특징부의 변화를 반영하도록 제2 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은, 움직임의 동일한 범위에서 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금, 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있을 때 달성되는 변화의 방식과 상이한 동일한 방식으로 제2 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제2 아바타 특징부(예를 들어, 1232)의 외관을 변화시키는 제1 방식은 제2 아바타 특징부의 외관을 변화시키는 제2 방식과 상이하다. 일부 예들에서, 제2 아바타 특징부의 외관을 변화시키는 제1 방식은 제2 물리적 특징부의 움직임에 대응하는 제2 아바타 특징부의 움직임 또는 수정을 포함하지만, 제2 아바타 특징부의 외관을 변화시키는 제2 방식은 제2 아바타 특징부에 적용되는 과장된 효과를 포함한다. 일부 예들에서, 이러한 과장된 효과는 제2 아바타 특징부로부터 연장되는 스파이크들 또는 돌출부들을 포함한다.
일부 예들에서, 개개의 물리적 특징부의 제1 변화가 검출되는 동안 디스플레이되는 가상 아바타는 제1 가상 아바타 템플릿(예를 들어, 외계인 아바타(1200)에 대응하는 아바타 템플릿)에 기초한다. 그러한 예들에서, 전자 디바이스는, 개개의 물리적 특징부의 제1 변화를 검출하는 것에 응답하여 제1 가상 아바타 템플릿에 기초하여 가상 아바타를 수정한 이후 그리고 제1 가상 아바타 템플릿과 상이한 제2 가상 아바타 템플릿(예를 들어, 곰 아바타 템플릿(1100)에 대응하는 아바타 템플릿)에 기초하는 가상 아바타를 디스플레이하는 동안, 제2 물리적 특징부(예를 들어, 1223)의 제2 변화를 검출한다. 추가로, 그러한 예들에서, 제2 물리적 특징부의 제2 변화를 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부의 제2 변화를 반영하도록 제2 아바타 특징부(예를 들어, 눈들(1132, 1232))를 수정하며, 여기서 제2 아바타 특징부의 외관은 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있는지 또는 변화들의 제2 범위 내에 있는지에 관계없이 동일한 방식으로 변화된다. 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있는지 또는 변화들의 제2 범위 내에 있는지에 관계없이 제2 아바타 특징부의 외관이 동일한 방식으로 변화되도록 제2 물리적 특징부의 제2 변화를 반영하도록 제2 아바타 특징부를 수정하는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 변화들의 범위와는 독립적인 방식으로 제2 아바타 특징부를 변화시키게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다. 일부 예들에서, 상이한 가상 아바타 템플릿에 대해, 제2 물리적 특징부의 변화들은, 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있는지 또는 변화들의 제2 범위 내에 있는지에 의존하여 제2 아바타 특징부에서 상이한 변화들을 야기하기보다는 제2 아바타 특징부에서 매끄러운 변동을 야기한다.
일부 예들에서, 추가로, 개개의 물리적 특징부의 제1 변화를 검출하는 것에 응답하여 그리고 검출된 제1 변화가 제2 물리적 특징부(예를 들어, 1223)의 변화이고 제2 물리적 특징부의 변화가 변화들의 제1 범위 내에 있다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 물리적 특징부의 변화를 반영하도록 제2 방식으로 제2 아바타 특징부(예를 들어, 1232)의 외관을 변화시키는 것을 보류한다.
일부 예들에서, 제2 물리적 특징부는 사용자의 눈꺼풀(예를 들어, 1223의 일부)을 포함하고, 제2 아바타 특징부는 아바타 눈(예를 들어, 1232)을 포함하며, 제2 물리적 특징부의 변화가 변화들의 제2 범위(예를 들어, 변화들의 범위 내에서 미리 결정된 임계치 값을 초과하는 변화들(예를 들어, 사용자의 눈꺼풀은 사용자의 눈꺼풀에 대해 가능한 변화들의 범위 내에서 50% 이상만큼 닫힘)) 내에 있다는 것에 기초하여 제2 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 아바타 눈의 크기를 감소시키는 것을 포함한다. 예를 들어, 가상 아바타가 외계인(예를 들어, 1200)이고 사용자의 눈꺼풀이 50% 이상만큼 닫힐 때, 외계인의 눈(1232)의 크기는, 외계인의 눈이 닫힌 위치를 향해 이동되고 있는 것처럼 나타나도록 감소하는 것을 시작한다. 일부 예들에서, 사용자의 눈꺼풀이 완전히 닫힐 때(예를 들어, 100% 만큼 닫힐 때), 아바타의 눈은 아바타 눈이 완전히 닫혀 있다는 것을 표시하는 형상(예를 들어, 라인)에 의해 표현된다. 일부 실시예들에서, 제2 물리적 특징부의 변화가 변화들의 제1 범위(예를 들어, 사용자의 눈꺼풀은 사용자의 눈꺼풀에 대해 가능한 변화들의 범위의 50% 미만만큼 닫힘) 내에 있다는 것에 기초하여 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 아바타 눈의 크기를 감소시키는 것을 포함하지 않는다. 일부 예들에서, 임계 크기는 제2 물리적 특징부(예를 들어, 사용자의 눈꺼풀들)의 가능한 모션 범위의 50%이다. 그러한 예들에서, 변화들의 제1 범위는 0% 내지 50% 미만에 대응하고, 변화들의 제2 범위는 50% 내지 100% 에 대응한다. 그러한 실시예들에서, 제2 아바타 특징부(예를 들어, 가상 아바타의 눈)의 대응하는 수정은, 제2 물리적 특징부의 변화가 제2 물리적 특징부의 가능한 모션 범위의 50%를 충족시키거나 초과할 때에만 발생한다. 예를 들어, 사용자의 눈꺼풀들이 임계 크기를 넘어 이동될 때(예를 들어, 50% 초과로 닫힘), 가상 아바타의 눈들은 사용자의 눈꺼풀들의 즉각적인 위치를 반영하도록 (예를 들어, 크기를 감소시킴으로써) 닫힌 위치를 향해 이동되는 것을 시작한다.
일부 예들에서, 제2 물리적 특징부는 사용자의 뺨(예를 들어, 1228)을 포함하고, 제2 아바타 특징부는 아바타 뺨(예를 들어, 1256)을 포함하고, 제2 물리적 특징부의 변화가 변화들의 제2 범위(예를 들어, 변화들의 범위 내에서 미리 결정된 임계치 값을 초과하는 변화들(예를 들어, 사용자의 뺨은 사용자의 뺨에 대해 가능한 변화들의 범위 내에서 70% 이상만큼 부풀려지거나 확장됨)) 내에 있다는 것에 기초하여 제2 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 아바타 뺨에서 과장된 아바타 효과(예를 들어, 사용자가 극단적인 뺨 부풀림을 나타낼 때 가상 아바타로부터 연장되는 돌출부들 또는 스파이크들(1258))를 도입하는 것을 포함하며, 제2 물리적 특징부의 변화가 변화들의 제1 범위(예를 들어, 사용자의 뺨은 사용자의 뺨에 대해 가능한 변화들의 범위의 70% 미만만큼 부풀려지거나 확장됨) 내에 있다는 것에 기초하여 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 사용자의 뺨의 변화의 크기에 기초하여 아바타 뺨을 수정하는 것을 포함한다. 일부 예들에서, 사용자의 뺨의 변화의 크기에 기초하여 아바타 뺨을 수정하는 것은 과장된 아바타 효과를 도입하지 않으면서 발생한다. 일부 예들에서, 임계 크기는 제2 물리적 특징부(예를 들어, 사용자의 뺨)의 가능한 모션 범위의 70%이다. 그러한 예들에서, 변화들의 제1 범위는 0% 내지 70% 미만에 대응하고, 변화들의 제2 범위는 70% 내지 100% 에 대응한다. 그러한 예들에서, 제2 아바타 특징부(예를 들어, 가상 아바타의 뺨)에서의 과장된 아바타 효과(예를 들어, 스파이크들 또는 돌출부들)의 도입은, 제2 물리적 특징부의 변화가 제2 물리적 특징부의 가능한 모션 범위의 70%와 같은 미리 정의된 임계치를 충족시키거나 초과할 때(예를 들어, 사용자의 뺨이 임계 크기를 넘어 이동될 때(예를 들어, 70% 이상만큼 부풀려질 때))에만 발생한다. 추가로, 그러한 예들에서, 가상 아바타 특징부(예를 들어, 가상 아바타의 뺨)는, 제2 물리적 특징부의 변화가 제2 물리적 특징부의 가능한 모션 범위의 70% 미만일 때(예를 들어, 사용자의 뺨이 임계 크기 미만으로 이동될 때(예를 들어, 70% 미만만큼 부풀려질 때)) 제2 물리적 특징부의 변화의 크기에 기초하여 수정된다.
일부 예들에서, 제2 물리적 특징부는 사용자의 눈썹(예를 들어, 1222)을 포함하고, 제2 아바타 특징부는 아바타의 머리의 상부 부분을 포함하고, 제2 물리적 특징부의 변화가 변화들의 제2 범위(예를 들어, 변화들의 범위 내에서 미리 결정된 임계치 값을 초과하는 변화들(예를 들어, 사용자의 눈썹은 사용자의 눈썹에 대해 가능한 변화들의 범위 내에서 70% 이상으로 올라감)) 내에 있다는 것에 기초하여 제2 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 아바타의 머리의 상부 부분에서 과장된 아바타 효과(예를 들어, 사용자가 극단적인 눈썹 올림을 나타낼 때 가상 아바타로부터 연장되는 돌출부들 또는 스파이크들(1254))를 도입하는 것을 포함하며, 제2 물리적 특징부의 변화가 변화들의 제1 범위(예를 들어, 사용자의 눈썹은 사용자의 눈썹에 대해 가능한 변화들의 범위의 70% 미만만큼 올라감) 내에 있다는 것에 기초하여 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 사용자의 머리의 상부 부분에서 과장된 아바타 효과를 도입하는 것을 포함하지 않는다. 일부 예들에서, 임계 크기는 제2 물리적 특징부(예를 들어, 사용자의 눈썹)의 가능한 모션 범위의 70%이다. 그러한 예들에서, 변화들의 제1 범위는 0% 내지 70% 미만에 대응하고, 변화들의 제2 범위는 70% 내지 100% 에 대응한다. 그러한 실시예들에서, 제2 아바타 특징부(예를 들어, 가상 아바타의 머리)에서의 과장된 아바타 효과(예를 들어, 스파이크들 또는 돌출부들)의 도입은, 제2 물리적 특징부의 변화가 제2 물리적 특징부의 가능한 모션 범위의 70%와 같은 미리 결정된 임계치를 충족시키거나 초과할 때(예를 들어, 사용자의 눈썹이 임계 크기를 넘어 이동될 때(예를 들어, 70% 이상만큼 올라갈 때))에만 발생한다. 추가로, 그러한 예들에서, 과장된 아바타 효과는, 제2 물리적 특징부의 변화가 제2 물리적 특징부의 가능한 모션 범위의 70% 미만일 때(예를 들어, 사용자의 눈썹이 임계 크기 미만으로 이동될 때(예를 들어, 70% 미만만큼 올라갈 때)) 가상 아바타 특징부(예를 들어, 가상 아바타의 머리)에서 도입되지 않는다.
일부 예들에서, 제1 물리적 특징부(예를 들어, 1220)의 변화를 반영하도록 가상 아바타의 제1 아바타 특징부를 수정하는 것은 제1 물리적 특징부의 변화의 크기(예를 들어, 제1 물리적 특징부의 위치의 변화의 정도)에 기초하여 제1 아바타 특징부를 수정하는 것을 포함한다. 제1 물리적 특징부의 변화의 크기에 기초하여 제1 아바타 특징부를 수정하는 것은 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 동일한 물리적 특징부의 움직임의 크기에 기초하여 제1 아바타 특징부를 수정하게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 일부 예들에서, 변화의 크기는 물리적 특징부의 시작 위치 및 종료 위치에 기초하여 결정된다. 일부 예들에서, 변화의 크기는 변화의 최대 범위 내의 변화의 백분율로서 결정된다. 추가로, 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부(예를 들어, 1232)의 외관을 변화시키는 것은 제2 물리적 특징부(예를 들어, 1223)의 변화의 제1 크기(예를 들어, 제2 물리적 특징부의 위치의 변화의 정도)에 기초하여 제2 아바타 특징부를 수정하는 것을 포함한다. 일부 예들에서, 제2 물리적 특징부의 더 큰 크기의 움직임에 대해, 제1 방식으로의 제2 아바타 특징부의 더 많은 양의 수정이 존재하고, 제2 물리적 특징부의 더 작은 크기의 움직임에 대해, 제1 방식으로의 제2 아바타 특징부의 더 작은 양의 수정이 존재하며, 그 반대의 경우도 마찬가지이다. 일부 예들에서, 아바타 특징부의 반응의 크기는 사용자의 물리적 특징부의 변화의 크기에 대응한다. 일부 예들에서, 물리적 특징부의 변화의 크기는 물리적 특징부의 잠재적인 모션 범위에 따라 결정되며, 여기서 크기는 그 물리적 특징부의 모션 범위(예를 들어, 예측된 또는 모델링된 모션 범위) 내의 물리적 특징부의 상대적인 위치를 표현한다. 그러한 실시예들에서, 아바타 특징부의 반응의 크기는 아바타 특징부의 모션 범위 내의 아바타 특징부의 상대적 위치와 유사하다. 일부 예들에서, 변화의 크기는 변화를 통한 물리적 특징부의 시작 위치와 종료 위치의 비교 또는 측정(예를 들어, 거리)에 기초하여 결정된다. 그러한 예들에서, 물리적 특징부(예를 들어, 제1 물리적 특징부의 변화는 물리적 특징부의 측정된 변화를 아바타 특징부에 (예를 들어, 직접 또는 스케일링거나 조정된 값으로서) 적용함으로써 제1 아바타 특징부의 수정으로 변환될 수 있다. 추가로, 그러한 예들에서, 제2 물리적 특징부의 변화를 반영하도록 제2 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 제2 물리적 특징부의 변화의 제2 크기에 기초하여 제2 아바타 특징부를 수정하는 것을 포함한다. 예를 들어, 제2 물리적 특징부의 더 큰 크기의 움직임에 대해, 제2 방식으로의 제2 아바타 특징부의 더 많은 양의 수정이 존재하고, 제2 물리적 특징부의 더 작은 크기의 움직임에 대해, 제2 방식으로의 제2 아바타 특징부의 더 작은 양의 수정이 존재하며, 그 반대의 경우도 마찬가지이다. 일부 예들에서, 제2 물리적 특징부의 변화의 제1 크기는 제2 물리적 특징부의 변화의 제2 크기보다 작다. 일부 예들에서, 제2 물리적 특징부의 변화의 제1 크기는 제2 물리적 특징부의 변화의 제2 크기보다 크다.
일부 예들에서, 제1 물리적 특징부(예를 들어, 1220)의 변화를 반영하도록 가상 아바타의 제1 아바타 특징부(예를 들어, 1230)를 수정하는 것은, 제1 물리적 특징부의 포즈의 변화의 방향(예를 들어, 회전의 방향, 하나 이상의 카메라들의 시야에 대한 제1 물리적 특징부의 각도의 변화의 방향, 또는 병진이동의 방향)에 기초하여 제1 아바타 특징부의 적어도 일부의 포즈(예를 들어, 회전 배향, 아바타 특징부가 디스플레이되는 각도, 또는 디스플레이된 위치)를 수정하는 것을 포함한다. 추가로, 그러한 예들에서, 제2 물리적 특징부의 변화를 반영하도록 제1 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은, 제2 물리적 특징부의 포즈의 변화의 방향(예를 들어, 회전의 방향, 하나 이상의 카메라들의 시야에 대한 제2 물리적 특징부의 각도의 변화의 방향, 또는 병진이동의 방향)에 기초하여 제2 아바타 특징부의 적어도 일부의 포즈(예를 들어, 회전 배향, 아바타 특징부가 디스플레이되는 각도, 또는 디스플레이된 위치)를 수정하는 것을 포함한다. 추가로, 그러한 예들에서, 제2 물리적 특징부의 변화를 반영하도록 제2 방식으로 제2 아바타 특징부의 외관을 변화시키는 것은 제2 물리적 특징부의 포즈의 변화의 방향에 기초하여 제2 아바타 특징부의 적어도 일부의 포즈를 수정하는 것을 포함한다.
일부 예들에서, 아바타 특징부에 대한 수정들은 크기 컴포넌트 및 방향 컴포넌트 둘 모두를 갖는다. 일부 예들에서, 아바타 특징부에서의 수정의 방향 컴포넌트는 아바타 특징부가 반응하는 하나 이상의 물리적 특징부들의 변화의 방향 컴포넌트에 기초한다. 일부 예들에서, 아바타 특징부의 변화의 방향 컴포넌트는 물리적 특징부의 변화의 방향 컴포넌트와 동일하다. 예를 들어, 물리적 특징부(예를 들어, 눈썹)가 위로 이동될 때, 아바타 특징부(예를 들어, 아바타 눈썹)가 위로 이동된다. 일부 예들에서, 아바타 특징부의 변화의 방향 컴포넌트는 물리적 특징부의 변화의 방향 컴포넌트에 대해 미러링된다. 예를 들어, 물리적 특징부(예를 들어, 입)가 좌측으로 이동될 때, 아바타 특징부(예를 들어, 아바타 입)가 우측으로 이동된다. 일부 예들에서, 아바타 특징부의 변화의 방향 컴포넌트는, 거울을 볼 때 보여지는 효과와 유사하게, 수직 축을 따른 움직임에 대한 물리적 특징부의 변화의 방향 컴포넌트와 동일하고, 수평 축을 따른 움직임에 대해 미러링된다. 일부 예들에서, 물리적 특징부(예를 들어, 사용자의 홍채 또는 눈꺼풀)의 상대적인 위치의 변화는 물리적 특징부의 중립의 휴지 위치로부터 결정된 방향이다. 일부 예들에서, 사용자의 홍채의 중립의 휴지 위치는 사용자의 안구의 주연부에 대한 특정 위치인 것으로 결정된다(예를 들어, 중심설정된다). 일부 예들에서, 아바타 특징부의 반응의 방향은 사용자의 물리적 특징부의 변화의 상대적 방향에 (예를 들어, 직접 또는 반대로) 대응한다. 일부 예들에서, 물리적 특징부의 변화의 상대적 방향은 물리적 특징부의 중립의 휴지 위치로부터의 물리적 특징부의 움직임의 방향에 기초하여 결정된다. 일부 예들에서, 아바타 특징부의 반응의 방향은 물리적 특징부의 변화의 상대적인 방향에 직접 대응한다(예를 들어, 물리적 특징부가 위로 이동되고, 아바타 특징부가 위로 이동된다). 일부 예들에서, 아바타 특징부의 반응의 방향은 물리적 특징부의 변화의 상대적인 방향에 반대로 대응한다(예를 들어, 물리적 특징부가 위로 이동되고, 아바타 특징부가 아래로 이동된다).
일부 예들에서, 제2 물리적 특징부(예를 들어, 1223)의 변화들의 제1 범위 및 제2 물리적 특징부의 변화들의 제2 범위는 제2 물리적 특징부의 변화들의 잠재적인 범위(예를 들어, 제2 물리적 특징부에 대한 변화들의 예측된, 사전-맵핑된, 또는 검출가능한 범위의 전체 범위) 내의 인접한 범위들이고, 개개의 물리적 특징부의 제1 변화는 변화들의 제1 범위 내의 변화의 제1 부분으로부터 변화들의 제2 범위 내의 변화의 제2 부분으로의 전환을 포함하는 제2 물리적 특징부의 변화를 포함하며, 제2 아바타 특징부(예를 들어, 1232)의 외관이 변화의 제1 부분의 끝에서 제2 물리적 특징부의 변화를 반영하고 있을 때의 제2 아바타 특징부의 외관은, 제2 아바타 특징부의 외관이 변화의 제2 부분의 시작부에서 제2 물리적 특징부의 변화를 반영하고 있을 때의 제2 아바타 특징부의 외관과 실질적으로 유사하다.
일부 예들에서, 전자 디바이스(예를 들어, 100, 300, 500, 600)는, 검출된 제1 변화가 제2 물리적 특징부(예를 들어, 1223)의 변화이고 제2 물리적 특징부의 변화가 변화들의 제1 범위로부터 변화들의 제2 범위로의 변화(예를 들어, 수정 임계치 초과로부터 수정 임계치 미만으로의 제2 물리적 특징부의 변화)라는 결정에 따라, 제2 아바타 특징부(예를 들어, 1232)의 미리 결정된 구성에 기초하여 제2 아바타 특징부를 수정한다. 일부 예들에서, 수정 임계치 초과로부터 수정 임계치 미만으로의 제2 물리적 특징부(예를 들어, 사용자의 눈꺼풀)의 변화는 제2 물리적 특징부에 대응하는 제2 아바타 특징부(예를 들어, 아바타의 눈꺼풀들)의 중간 위치들을 통해 제2 아바타 특징부를 전환시키지 않으면서 미리 결정된 구성으로 제2 아바타 특징부를 수정하는 것을 초래한다. 예를 들어, 사용자의 눈꺼풀이 수정 임계치 초과의 위치로부터 수정 임계치 미만의 위치로(예를 들어, 닫힌 위치로부터 약간 열린 위치로) 전환될 때, 사용자의 눈꺼풀이 완전히 열린 위치로 전환됨에 따라 사용자의 눈꺼풀이 중간 위치들을 횡단할지라도, 아바타의 눈꺼풀은 가상 눈꺼풀의 중간 위치들(예를 들어, 부분적으로 닫히거나 부분적으로 열린 위치들)을 통해 횡단하지 않으면서 닫힌 위치로부터 완전히 열린 위치로 전환된다.
일부 예들에서, 제2 물리적 특징부(예를 들어, 1223)의 변화들의 제1 범위 및 제2 물리적 특징부의 변화들의 제2 범위는 제2 물리적 특징부의 변화들의 가능한 범위 내의 인접한 범위들이고, 개개의 물리적 특징부의 제1 변화는 변화들의 제2 범위 내의 변화의 제1 부분으로부터 변화들의 제1 범위 내의 변화의 제2 부분으로의 전환을 포함하는 제2 물리적 특징부의 변화를 포함하며,제2 아바타 특징부(예를 들어, 1232)의 외관은, 제2 물리적 특징부의 변화가 변화들의 제2 범위 내의 변화의 제1 부분으로부터 변화들의 제1 범위 내의 변화의 제2 부분으로 전환될 때, 제2 물리적 특징부의 변화의 크기에 기초하는 제2 아바타 특징부의 구성으로부터 제2 아바타 특징부의 미리 결정된 구성(예를 들어, 제2 물리적 특징부의 변화의 크기에 기초하지 않는 제2 아바타 특징부의 구성)으로 변화된다. 일부 예들에서, 변화들의 제2 범위 내의 변화의 제1 부분으로부터(예를 들어, 닫힌 위치로부터) 변화들의 제1 범위 내의 변화의 제2 부분으로의(예를 들어, 약간 열린 위치로의) 제2 물리적 특징부(예를 들어, 사용자의 눈꺼풀)의 변화는 제2 물리적 특징부에 대응하는 제2 아바타 특징부(예를 들어, 아바타의 눈꺼풀들)의 중간 위치들을 통해 제2 아바타 특징부를 전환시키지 않으면서 미리 결정된 구성으로 제2 아바타 특징부를 수정하는 것을 초래한다. 예를 들어, 사용자의 눈꺼풀이 닫힌 위치로부터 약간 열린 위치로 전환될 때, 사용자의 눈꺼풀이 완전히 열린 위치로 전환됨에 따라 사용자의 눈꺼풀이 중간 위치들을 횡단할지라도, 아바타의 눈꺼풀은 가상 눈꺼풀의 중간 위치들(예를 들어, 부분적으로 닫히거나 부분적으로 열린 위치들)을 통해 횡단하지 않으면서 닫힌 위치로부터 완전히 열린 위치로 전환된다.
방법(2100)(예를 들어, 도 21)에 대해 위에서 설명된 프로세스들의 세부사항들이 또한 위에서 설명된 방법들 및 아래에서 설명되는 방법들(2200, 2300, 2400, 2500)에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(2100)은 선택적으로, 방법들(800, 900, 1800, 1900, 2000, 2200, 2300, 2400, 2500)을 참조하여 아래에서 설명되고 위에서 설명된 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800, 900)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(2100)에 따라 생성된 가상 아바타들(예를 들어, 물리적 특징부들의 변화들의 범위들에 걸쳐 상이한 거동을 나타낼 수 있는 가상 아바타들)을 이용할 수 있다. 유사하게, 방법(2100)에 따라 생성 및/또는 수정된 가상 아바타들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(2100)에 따라 생성된 가상 아바타들(예를 들어, 물리적 특징부들의 변화들의 범위들에 걸쳐 상이한 거동을 나타낼 수 있는 가상 아바타들)은 또한 방법들(800, 900, 1800, 1900, 2000, 2200, 2300, 2400, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(2100)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 상이하게 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1036)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1034)을 포함할 수 있다. 유사하게, 방법(2100)에 따라 생성된 가상 아바타는 제1(예를 들어, 1122) 및 제2(예를 들어, 1120A, 1120B) 물리적 특징부들 둘 모두의 변화들에 반응하는(예를 들어, 1904, 1910, 1914) 아바타 특징부(예를 들어, 1133)를 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 22는 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(2200)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(2200)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(2200)은 요구되는 바와 같이 증가된 복잡도를 나타낼 수 있는(예를 들어, 증가된 아바타 특징부들을 갖는) 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 물리적 및 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(2200)의 예들은 도 10a 내지 도 10i, 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 13, 도 15a 및 도 15b, 도 16a 및 도 16b, 및 도 17a 및 도 17b를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해 가상 아바타(예를 들어, 1000, 1100, 1200, 1300, 1500, 1600, 1700)를 디스플레이하며(2202), 가상 아바타는 하나 이상의 카메라들의 시야 내의 얼굴의 하나 이상의 물리적 특징부들(예를 들어, 1023, 1122, 1123, 1223, 1327, 1523, 1620A, 1620B, 1723)의 변화들에 반응하는 복수의 아바타 특징부들(예를 들어, 1032, 1132, 1232, 1332, 1532, 1630, 1732)을 포함한다.
일부 실시예들에서, 얼굴의 복수의 물리적 특징부들의 변화를 검출하기 전에 디스플레이되는 복수의 아바타 특징부들(예를 들어, 1032, 1132, 1232, 1332, 1532, 1630, 1732)은 얼굴의 물리적 특징부들(예를 들어, 아바타가 보일 때 항상 디스플레이되는 눈들, 코들, 입 및 다른 특징부들)의 현재 위치에 관계없이 디스플레이된다.
가상 아바타를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 얼굴의 복수의 물리적 특징부들(예를 들어, 1022, 1020, 1122, 1123, 1222, 1223, 1228, 1323, 1327, 1522, 1523, 1620A, 1620B, 1722, 1723)의 변화를 검출하며(2204), 얼굴의 복수의 물리적 특징부들은 복수의 아바타 특징부들(예를 들어, 아바타 입 또는 눈) 중 하나 이상에 대응하는 제1 물리적 특징부(예를 들어, 1020, 1123, 1223, 1323, 1523, 1623, 1723)(예를 들어, 사용자의 입 또는 눈) 및 복수의 아바타 특징부들(예를 들어, 1032, 1132, 1232, 1332, 1532, 1633, 1732) 중 임의의 아바타 특징부에 대응하지 않는 제2 물리적 특징부(예를 들어, 1022, 1122, 1222, 1228, 1327, 1522, 1722, 1620A, 1620B)(예를 들어, 사용자의 눈썹, 눈꺼풀, 뺨들, 또는 입술들)를 포함한다. 그러한 예들에서, 아바타는 초기에 개개의 눈썹들, 눈꺼풀들, 입술들, 또는 뺨들 없이 디스플레이된다.
얼굴의 복수의 물리적 특징부들(예를 들어, 1022, 1020, 1122, 1123, 1222, 1223, 1228, 1323, 1327, 1522, 1523, 1620A, 1620B, 1722, 1723)의 변화들을 검출하는 것에 응답하여(2206), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 복수의 아바타 특징부들의 개개의 아바타 특징부(예를 들어, 1032, 1030, 1132, 1232, 1332, 1532, 1630, 1732)의 외관을 변화시키며(2208), 여기서 개개의 아바타 특징부의 변화의 크기 및/또는(예를 들어, 포괄적인 "또는") 방향은 제1 물리적 특징부의 변화의 크기 및/또는 방향(크기 및 방향 중 적어도 하나)에 기초한다. 개개의 아바타 특징부의 변화의 크기 및/또는 방향이 제1 물리적 특징부의 변화의 크기 및/또는 방향에 기초하도록 개개의 아바타 특징부의 외관을 변화시키는 것은, 동일한 물리적 특징부의 추가적인 움직임이 디바이스로 하여금 동일한 물리적 특징부의 추가적인 움직임의 변화의 방향 또는 크기에 기초하여 개개의 아바타 특징부의 외관을 수정하게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
추가로, 얼굴의 복수의 물리적 특징부들(예를 들어, 1022, 1020, 1122, 1123, 1222, 1223, 1228, 1323, 1327, 1522, 1523, 1620A, 1620B, 1722, 1723)의 변화들을 검출하는 것에 응답하여(2206), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부(예를 들어, 1038, 1050, 1138, 1139, 1250, 1254, 1256, 1258, 1339, 1348, 1538, 1531, 1633, 1645, 1738)를 포함하지 않는 가상 아바타의 일부를 변형시키며(예를 들어, 가상 아바타의 눈썹-없는 이마 구역을 변형시킴)(2210), 여기서 아바타 특징부의 일부를 변형시키는 크기 및/또는 방향은 제2 물리적 특징부의 변화의 크기 및/또는 방향에 기초한다. 일부 예들에서, 변형된 가상 아바타의 일부는 얼굴의 복수의 물리적 특징부들의 변화를 검출하기 전에 디스플레이되었다(예를 들어, 아바타의 머리의 상단과 아바타의 눈 사이의 구역은, 임계량 초과의 눈썹 움직임이 하나 이상의 물리적 특징부들에서 검출될 때 눈썹들을 생성하도록 변형된다). 복수의 물리적 특징부들의 변화를 검출하는 것에 응답하여, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않은 가상 아바타의 일부를 변형시키는 것은, 동일한 물리적 특징부들의 추가적인 움직임이 디바이스로 하여금 가상 아바타의 일부를 변형시킴으로써 새로운 아바타 특징부를 도입하게 할 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 물리적 특징부들은 제3 물리적 특징부(예를 들어, 1022, 1122, 1222, 1327, 1522, 1722, 1620A, 1620B)(예를 들어, 사용자의 눈썹, 입술들, 또는 눈꺼풀)를 포함한다. 그러한 예들에서, 제3 물리적 특징부의 제1 물리적 특징부 값이 (예를 들어, 0 내지 10의 가능한 크기 범위에서 1 이상의 크기를 갖는) 제1 아바타 특징부 포함 임계치 미만이고, 가상 아바타가 제3 물리적 특징부에 적어도 부분적으로 반응하는 제1 아바타 특징부(예를 들어, 1038, 1050, 1138, 1139, 1250, 1254, 1256, 1258, 1339, 1348, 1538, 1531, 1633, 1645, 1738)(예를 들어, 초기에 디스플레이되지 않는, 개개의 아바타 특징부와 상이한 아바타 특징부(예를 들어, 아바타 눈꺼풀))를 포함하지 않는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적 특징부 값으로부터 제2 물리적 특징부 값으로의 제3 물리적 특징부의 변화를 검출한다. 그러한 예들에서, 제3 물리적 특징부의 제2 물리적 특징부 값이 제1 아바타 특징부 포함 임계치를 충족시키거나 초과하는 것에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 아바타 특징부(예를 들어, 1038, 1050, 1138, 1139, 1250, 1254, 1256, 1258, 1339, 1348, 1538, 1531, 1633, 1645, 1738)를 포함하도록 가상 아바타를 수정한다(예를 들어, 사용자의 눈꺼풀 변화들이 위치 변화 임계치와 동일하거나 그보다 큰 값을 위치시킬 때(예를 들어, 이동시킬 때) 이전에 디스플레이되지 않은 아바타 눈꺼풀을 도입한다). 추가로, 그러한 예들에서, 제3 물리적 특징부의 제2 물리적 특징부 값이 제1 아바타 특징부 포함 임계치를 충족시키지 않거나 초과하지 않는 것에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것을 보류한다(예를 들어, 아바타는, 예를 들어, 아바타 눈꺼풀들, 입술들, 또는 눈썹들 없이 계속 디스플레이된다). 제3 물리적 특징부의 제2 물리적 특징부 값이 제1 아바타 특징부 포함 임계치를 충족시키거나 초과하는 것에 따라, 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 특징부들에 대한 수정들의 포함을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제3 물리적 특징부는 사용자의 눈(예를 들어, 1123)의 적어도 일부를 포함하고, 제1 아바타 특징부(예를 들어, 1138)는 아바타 눈썹(예를 들어, 얼굴의 복수의 물리적 특징부들의 변화를 검출하기 전에 디스플레이되지 않는 아바타 눈썹)의 적어도 일부를 포함하고, 제1 아바타 특징부 포함 임계치는, 사용자의 눈의 적어도 일부의 크기(예를 들어, 눈의 개방도의 크기(이를테면, 최대 범위의 백분율))가 임계 크기 값보다 클 때 충족되거나 초과된다. 그러한 예들에서, 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것은 아바타 눈썹의 적어도 일부를 포함하도록 가상 아바타를 수정하는 것을 포함한다(예를 들어, 아바타 눈썹이 아바타에 부가된다). 일부 예들에서, 부가된 아바타 눈썹은 올라간 위치를 갖는다.
일부 예들에서, 제3 물리적 특징부는 사용자의 눈(예를 들어, 1127)의 적어도 일부를 포함하고, 제1 아바타 특징부는 아바타 눈썹 또는 눈꺼풀(예를 들어, 1148)(예를 들어, 얼굴의 복수의 물리적 특징부들의 변화를 검출하기 전에 디스플레이되지 않는 아바타 눈썹 또는 눈꺼풀)의 적어도 일부 및 아바타 뺨(예를 들어, 1139)(예를 들어, 얼굴의 복수의 물리적 특징부들의 변화를 검출하기 전에 디스플레이되지 않는 아바타 광대뼈)의 적어도 일부를 포함한다. 그러한 예들에서, 제1 아바타 특징부 포함 임계치는, 사용자의 눈의 적어도 일부의 크기(예를 들어, 눈의 개방도의 크기(이를테면, 최대 범위의 백분율))가 임계 크기 값보다 작을 때 충족되거나 초과된다. 추가로, 그러한 예들에서, 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것은 아바타 눈썹 또는 눈꺼풀의 적어도 일부 및 아바타 뺨의 적어도 일부를 포함하도록 가상 아바타를 수정하는 것을 포함한다. 예를 들어, 도 11c에 도시된 바와 같이, 아바타 눈썹 또는 눈꺼풀이 아바타에 부가되고, 아바타 광대뼈가 아바타의 눈 아래의 위치에서 아바타에 부가된다. 일부 예들에서, 부가된 아바타 눈썹은 내려간 위치를 갖는다.
일부 예들에서, 제3 물리적 특징부는 사용자의 눈썹(예를 들어, 1222)의 적어도 일부를 포함하고, 제1 아바타 특징부는 하나 이상의 돌출부들(예를 들어, 1254)을 포함하고, 제1 아바타 특징부 포함 임계치는, 사용자의 눈썹의 적어도 일부의 수직 변위의 크기(예를 들어, 사용자의 머리의 상단을 향한 수직 방향으로의 눈썹의 움직임의 크기(이를테면, 최대 범위의 백분율))가 임계 변위 값보다 클 때 충족되거나 초과되며, 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것은 아바타의 머리의 적어도 상부 부분 상에 위치된 하나 이상의 돌출부들을 포함하도록 가상 아바타를 수정하는 것을 포함한다. 예를 들어, 하나 이상의 스파이크들 또는 돌출부들은 도 12b에 도시된 바와 같이 아바타 머리의 상단으로부터 연장된다.
일부 예들에서, 제3 물리적 특징부는 사용자의 뺨(예를 들어, 1228)의 적어도 일부를 포함하고, 제1 아바타 특징부는 하나 이상의 돌출부들(예를 들어, 1258)을 포함하고, 제1 아바타 특징부 포함 임계치는, 사용자의 뺨의 적어도 일부가 임계 확장 값보다 크게(예를 들어, 뺨 부풀림의 크기(이를테면, 최대 범위의 백분율)로) 확장될 때 충족되거나 초과되며, 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것은 아바타 뺨의 적어도 일부 상에 위치된 하나 이상의 돌출부들을 포함하도록 가상 아바타를 수정하는 것을 포함한다. 예를 들어, 하나 이상의 스파이크들 또는 돌출부들은 도 12b에 도시된 바와 같이 아바타의 뺨로부터 연장된다.
일부 예들에서, 제3 물리적 특징부는 사용자의 눈썹(예를 들어, 1222)의 적어도 일부를 포함하고, 제1 아바타 특징부는 가상 아바타(예를 들어, 1240A, 1240B)의 하부 부분(예를 들어, 베이스 또는 하부-목 부분)을 중심으로 한 가상 아바타의 상부 부분(예를 들어, 가상 아바타의 "얼굴" 또는 "머리 부분")의 만곡된 배향을 포함하고, 제1 아바타 특징부 포함 임계치는, 사용자의 눈썹의 적어도 일부의 수직 변위의 크기(예를 들어, 사용자의 머리의 상단으로부터 멀어지는 수직 방향으로의 눈썹의 움직임의 크기(이를테면, 최대 범위의 백분율))가 임계 변위 값(예를 들어, 임계 변위 값은, 사용자의 눈썹들 중 단일 눈썹 또는 사용자의 눈썹들 둘 모두의 찌푸린 포즈에 대응하는 사용자의 눈썹의 상대적인 위치임)보다 클 때 충족되거나 초과되며, 제1 아바타 특징부를 포함하도록 가상 아바타를 수정하는 것은 가상 아바타의 하부 부분을 중심으로 만곡되도록 가상 아바타의 상부 부분을 수정하는 것을 포함한다(예를 들어, 가상 아바타의 얼굴 또는 머리는 가상 아바타의 하부 부분(예를 들어, 베이스 또는 하부-목 부분)을 중심으로 한 만곡된 배향을 가짐으로써 쳐진다). 일부 예들에서, 하나 이상의 아바타 특징부들(예를 들어, 1230, 1240A, 1240B)은, 아바타의 쳐진 포즈가 아바타 특징부들의 쳐짐을 포함하도록, 만곡된 배향을 갖는다. 일부 예들에서, 가상 아바타의 상부 부분들은 가상 아바타의 하부 부분 아래로 쳐진다(예를 들어, 가상 아바타의 하단 에지의 하나 이상의 코너들은 가상 아바타의 얼굴의 레벨 밑으로 아래로 쳐진다). 하나의 그러한 예가 도 10a의 1011C에 도시된다.
일부 예들에서, 제1 물리적 특징부는 사용자의 눈(예를 들어, 1023, 1123, 1523, 1723)의 적어도 일부를 포함하고, 개개의 아바타 특징부는 아바타 눈(1032, 1132, 1532, 1732)의 적어도 일부를 포함하며, 제2 물리적 특징부는 사용자의 눈썹(1022, 1122, 1522, 1722)의 적어도 일부를 포함한다. 그러한 실시예들에서, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은, 사용자의 눈의 적어도 일부가 더 넓게 열리는 것(예를 들어, 사용자의 눈이 열려있고 중립의 휴지 위치에 있을 때 보이는 사용자의 눈의 양과 비교할 때 더 많은 양의 사용자의 눈이 보임) 및 사용자의 눈썹의 적어도 일부가 올라가는 것(예를 들어, 눈썹은 눈썹의 중립의 휴지 위치에 대해 (예를 들어, 사용자의 눈들로부터 멀어지는 또는 사용자의 머리의 상단을 향하는 방향으로) 수직으로 변위되는 위치를 가짐)을 검출하는 것을 포함한다. 일부 예들에서, 사용자의 눈 넓어짐의 검출은 사용자의 상부 눈꺼풀의 위치에 관련된다. 그러한 예들에서, 결정은 사용자의 눈이 열려 있을 때, 눈꺼풀의 중립의 휴지 위치와 비교할 때 수직으로 변위된 위치를 사용자의 상부 눈꺼풀이 갖는지 여부에 기초한다. 눈꺼풀이 사용자의 머리의 상단을 향하는 방향으로 수직으로 변위되면, 눈은 넓어지거나 열리는 것(또는 열리는 방향으로 이동되는 것)으로 간주된다. 반대로, 눈꺼풀이 사용자의 뺨들을 향하는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히는 방향으로 이동되는 것)으로 간주된다. 추가로, 그러한 실시예들에서, 개개의 아바타 특징부의 외관을 변화시키는 것은 아바타 눈의 적어도 일부를 더 넓게 여는 것을 포함하며(예를 들어, 아바타 눈은, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 보였던 것보다 더 많은 양의 아바타의 눈을 디스플레이하도록(또는 아바타의 눈의 크기를 증가시키도록) 수정됨), 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않았던 가상 아바타의 일부를 변형시키는 것은 아바타 눈썹 특징부(예를 들어, 1038, 1138, 1538, 1738)를 도입함으로써 아바타 눈의 적어도 일부 위에서 가상 아바타의 일부를 변형시키는 것을 포함한다(예를 들어, 아바타 눈썹은 사용자의 눈썹의 올라간 위치에 대응하는 위치에서 아바타에 부가된다).
일부 예들에서, 제1 물리적 특징부는 사용자의 눈(예를 들어, 1127)의 적어도 일부를 포함하고, 개개의 아바타 특징부는 아바타 눈(예를 들어, 1132)의 적어도 일부를 포함하고, 제2 물리적 특징부는 사용자의 눈썹(예를 들어, 1122)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은, 사용자의 눈의 적어도 일부가 좁혀지는 것(예를 들어, 사용자의 눈이 열려있고 중립의 휴지 위치에 있을 때 보이는 사용자의 눈의 양과 비교할 때 더 적은 양의 사용자의 눈이 보임) 및 사용자의 눈썹의 적어도 일부가 내려가는 것(예를 들어, 눈썹은 눈썹의 중립의 휴지 위치에 대해 (예를 들어, 사용자의 눈들을 향하는 또는 사용자의 머리의 상단으로부터 멀어지는 방향으로) 수직으로 변위되는 위치를 가짐)을 검출하는 것을 포함한다. 일부 예들에서, 사용자의 눈 좁혀짐의 검출은 사용자의 상부 눈꺼풀의 위치에 관련된다. 그러한 예들에서, 결정은 사용자의 눈이 열려 있을 때, 눈꺼풀의 중립의 휴지 위치와 비교할 때 수직으로 변위된 위치를 사용자의 상부 눈꺼풀이 갖는지 여부에 기초한다. 상부 눈꺼풀이 사용자의 뺨들을 향하는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히거나 좁혀지는 방향으로 이동되는 것)으로 간주된다. 반대로 상부 눈꺼풀이 사용자의 머리의 상단을 향하는 방향으로 수직으로 변위되면, 눈은 넓어지거나 열리는 것(또는 열리거나 넓어지는 방향으로 이동되는 것)으로 간주된다. 일부 예들에서, 사용자의 눈 좁혀짐의 검출은 사용자의 하부 눈꺼풀(또는 사용자의 상부 눈꺼풀과 하부 눈꺼풀의 조합)의 위치에 관련된다. 그러한 실시예들에서, 결정은 사용자의 눈이 열려 있을 때, 눈꺼풀의 중립의 휴지 위치와 비교할 때 수직으로 변위된 위치를 사용자의 하부 눈꺼풀이 갖는지 여부에 기초한다. 하부 눈꺼풀이 사용자의 뺨들로부터 멀어지는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히거나 좁혀지는 방향으로 이동되는 것)으로 간주된다. 그러한 실시예들에서, 개개의 아바타 특징부의 외관을 변화시키는 것은 아바타 눈의 적어도 일부를 닫는 것을 포함한다(예를 들어, 아바타 눈은 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 보였던 것보다 더 적은 양의 아바타의 눈을 디스플레이하도록 수정된다). 일부 예들에서, 아바타 눈을 닫는 것은 아바타 눈꺼풀을 도입하는 것을 포함하며, 여기서 아바타 눈꺼풀은 닫힌 위치에 있거나 닫힌 위치를 향해 이동된다. 일부 예들에서, 아바타 눈을 닫는 것은 디스플레이된 눈꺼풀을 닫힌 위치로 이동시키는 것을 포함한다. 일부 예들에서, 아바타 눈을 닫는 것은 아바타의 눈의 크기를 감소시키는 것을 포함한다. 그러한 실시예들에서, 아바타의 눈의 크기의 감소는 아바타의 눈꺼풀들의 크기를 감소시키는 것을 포함할 수 있다. 추가로, 그러한 실시예들에서, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 일부를 변형시키는 것은, 아바타 눈썹 또는 눈꺼풀 특징부(예를 들어, 1148)를 도입함으로써아바타 눈의 적어도 일부 위에서 가상 아바타의 일부를 변형시키고(예를 들어, 아바타 눈썹 또는 눈꺼풀은 사용자의 눈썹의 내려간 위치에 대응하는 위치에서 아바타에 부가됨), 아바타 뺨 특징부(예를 들어, 1139)를 도입함으로써 아바타 눈의 적어도 일부 아래에서 가상 아바타의 일부를 변형시키는(예를 들어, 아바타 광대뼈는 아바타의 눈 아래의 위치에서 아바타에 부가됨) 것을 포함한다.
일부 예들에서, 제1 물리적 특징부는 사용자의 눈(예를 들어, 1323)의 적어도 일부를 포함하고, 개개의 아바타 특징부는 아바타 눈(예를 들어, 1332)의 적어도 일부를 포함하고, 제2 물리적 특징부는 사용자의 눈꺼풀(예를 들어, 1327)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은, 사용자의 눈의 적어도 일부가 좁혀지는 것(예를 들어, 사용자의 눈이 열려있고 중립의 휴지 위치에 있을 때 보이는 사용자의 눈의 양과 비교할 때 더 적은 양의 사용자의 눈이 보임) 및 사용자의 눈꺼풀의 적어도 일부가 내려가는 것(예를 들어, 눈꺼풀은, 사용자의 눈이 열려있을 때, 눈꺼풀의 중립의 휴지 위치와 비교할 때 수직으로 변위되는 위치를 가짐)을 검출하는 것을 포함한다. 일부 예들에서, 사용자의 눈 좁혀짐의 검출은 사용자의 상부 눈꺼풀의 위치에 관련된다. 그러한 예들에서, 결정은 사용자의 눈이 열려 있을 때, 눈꺼풀의 중립의 휴지 위치와 비교할 때 수직으로 변위된 위치를 사용자의 상부 눈꺼풀이 갖는지 여부에 기초한다. 상부 눈꺼풀이 사용자의 뺨들을 향하는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히거나 좁혀지는 방향으로 이동되는 것)으로 간주된다. 반대로 상부 눈꺼풀이 사용자의 머리의 상단을 향하는 방향으로 수직으로 변위되면, 눈은 넓어지거나 열리는 것(또는 열리거나 넓어지는 방향으로 이동되는 것)으로 간주된다. 일부 예들에서, 사용자의 눈 좁혀짐의 검출은 사용자의 하부 눈꺼풀(또는 사용자의 상부 눈꺼풀과 하부 눈꺼풀의 조합)의 위치에 관련된다. 그러한 실시예들에서, 결정은 사용자의 눈이 열려 있을 때, 눈꺼풀의 중립의 휴지 위치와 비교할 때 수직으로 변위된 위치를 사용자의 하부 눈꺼풀이 갖는지 여부에 기초한다. 하부 눈꺼풀이 사용자의 뺨들로부터 멀어지는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히거나 좁혀지는 방향으로 이동되는 것)으로 간주된다. 일부 예들에서, 사용자의 눈꺼풀은 상부 눈꺼풀이다. 그러한 실시예들에서, 상부 눈꺼풀이 사용자의 뺨들을 향하는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히거나 좁혀지는 방향으로 이동되는 것)으로 간주된다. 일부 예들에서, 사용자의 눈꺼풀은 하부 눈꺼풀이다. 그러한 예들에서, 하부 눈꺼풀이 사용자의 뺨들로부터 멀어지는 방향으로 수직으로 변위되면, 눈은 좁혀지거나 닫히는 것(또는 닫히거나 좁혀지는 방향으로 이동되는 것)으로 간주된다. 그러한 실시예들에서, 개개의 아바타 특징부의 외관을 변화시키는 것은 아바타 눈의 적어도 일부를 닫는 것을 포함하며(예를 들어, 아바타 눈은, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 보였던 것보다 더 적은 양의 아바타의 눈을 디스플레이하도록 수정됨), 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않았던 가상 아바타의 일부를 변형시키는 것은 아바타 눈꺼풀 특징부(예를 들어, 1348, 1339)를 도입함으로써 아바타 눈의 일부를 변형시키는 것을 포함한다(예를 들어, 아바타 눈꺼풀이 아바타에 부가된다). 일부 예들에서, 아바타 눈을 닫는 것은 아바타의 눈의 크기를 감소시키는 것을 포함한다. 그러한 예들에서, 아바타의 눈의 크기의 감소는 아바타의 눈꺼풀들의 크기를 감소시키는 것을 포함할 수 있다. 일부 예들에서, 아바타 눈꺼풀은 닫힌 위치에서 도입되거나 닫힌 위치를 향해 이동된다.
일부 예들에서, 제1 물리적 특징부는 사용자의 입술(예를 들어, 1029, 1229, 1520A, 1520B, 1620A, 1620B)의 적어도 일부를 포함하고, 개개의 아바타 특징부는 아바타 입(예를 들어, 1030, 1230, 1530, 1630)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은 퍼커 포즈를 갖는 사용자의 입술의 적어도 일부를 검출하는 것을 포함하며, 개개의 아바타 특징부의 외관을 변화시키는 것은 퍼커 포즈를 갖는 아바타 입술들(예를 들어, 1050, 1250, 1531, 1645)의 세트를 포함하도록 아바타 입의 적어도 일부를 수정하는 것을 포함한다. 예를 들어, 아바타 입은 퍼커링된 입술들을 포함하는 미리 결정된 구성을 갖는 상이한 아바타 특징부(예를 들어, 입술들의 세트)로 전환된다.
일부 예들에서, 제1 물리적 특징부는 사용자의 입술의 적어도 일부(예를 들어, 1620A, 1620B)를 포함하고, 개개의 아바타 특징부는 아바타 부리(예를 들어, 1630)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은 퍼커 포즈를 갖는 사용자의 입술의 적어도 일부를 검출하는 것을 포함하며, 개개의 아바타 특징부의 외관을 변화시키는 것은 퍼커 포즈를 갖는 아바타 입술들(예를 들어, 1645)의 세트를 포함하도록 아바타 부리의 적어도 일부를 수정하는 것을 포함한다. 예를 들어, 아바타 부리의 선단은 퍼커링된 입술들을 포함하는 미리 결정된 구성을 갖는 상이한 아바타 특징부(예를 들어, 입술들의 세트)로 전환된다.
일부 예들에서, 하나 이상의 물리적 특징부들은 복수의 아바타 특징부들중 임의의 아바타 특징부(예를 들어, 초기 아바타 특징부들(1232, 1230))에 대응하지 않는 제3 물리적 특징부(예를 들어, 사용자의 뺨(1228))를 포함한다. 그러한 예들에서, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 제2 부분(예를 들어, 뺨 부분(1256))을 변형시키며, 여기서 아바타 특징부의 제2 부분을 변형시키는 크기 또는 방향은 제3 물리적 특징부의 변화의 크기 또는 방향에 기초한다. 예를 들어, 그의 중립 상태에서, 아바타(예를 들어, 외계인 아바타(1200))는 제3 물리적 특징부(예를 들어, 사용자의 뺨들(1228))에 대응하는 아바타 특징부(예를 들어, 아바타 뺨들(1256))를 포함하지 않는다. 일부 예들에서, 이러한 부가적인 아바타 특징부는, 제3 물리적 특징부에서 변화가 검출될 때 나타난다(예를 들어, 사용자는 그들의 뺨들을 확장시키고, 아바타는 확장된 뺨들을 포함하도록 수정된다). 그러한 실시예들에서, 가상 아바타는 복수의 사용자 특징부들에 대응하는 복수의 아바타 특징부들(예를 들어, 아바타 눈썹들, 아바타 뺨들 등)을 도입하도록 수정될 수 있다. 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 제2 부분을 변형시키는 것 - 변형의 크기 또는 방향은 제3 물리적 특징부의 변화의 크기 또는 방향에 기초함 - 은 동일한 물리적 특징부들의 추가적인 움직임이 디바이스로 하여금 동일한 물리적 특징부의 추가적인 움직임들의 변화의 방향 또는 크기에 기초하여 아바타 특징부의 제2 부분을 변형시킬 것임을 표시하는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 디바이스로 하여금 의도된 결과를 생성하게 할 입력을 표시하는 피드백을 제공함으로써 사용자가 의도된 결과를 달성하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제2 물리적 특징부는 사용자의 눈꺼풀(예를 들어, 1227)의 적어도 일부를 포함하고, 제3 물리적 특징부는 사용자의 뺨(예를 들어, 1228)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은 사용자의 눈꺼풀의 적어도 일부가 닫혀지는 것(예를 들어, 눈꺼풀은 사용자의 안구의 부분이 거의 보이지 않거나 전혀 보이지 않는 닫힌 위치를 가짐) 및 사용자 뺨의 적어도 일부의 변화(예를 들어, 사용자가 그들의 뺨을 부풀리거나 확장시킴)를 검출하는 것을 포함한다. 그러한 실시예들에서, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 일부를 변형시키는 것은 아바타 눈꺼풀 특징부(예를 들어, 눈들(1232)과 연관된 눈꺼풀들)를 도입함으로써 가상 아바타의 일부를 변형시키는 것을 포함한다. 예를 들어, 아바타 눈꺼풀이 아바타에 부가된다. 일부 예들에서, 아바타 눈꺼풀은 (예를 들어, 가상 아바타가 외계인일 때) 닫힌 위치에서 도입된다. 추가로, 그러한 실시예들에서, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 제2 부분을 변형시키는 것은 뺨 특징부(예를 들어, 1256)를 도입함으로써 가상 아바타의 제2 부분을 변형시키는 것을 포함한다. 예를 들어, 가상 아바타는 도 12b에 도시된 바와 같이 부풀려지거나 확장된 포즈를 갖는 아바타 뺨을 포함하도록 수정된다.
일부 예들에서, 제2 물리적 특징부는 사용자의 눈썹(예를 들어, 1222)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은 사용자의 눈썹의 적어도 일부가 올라가는 것(예를 들어, 눈썹은 눈썹의 중립의 휴지 위치에 대해 (예를 들어, 사용자의 눈들로부터 멀어지는 또는 사용자의 머리의 상단을 향하는 방향으로) 수직으로 변위되는 위치를 가짐)을 검출하는 것을 포함하며, 얼굴의 하나 이상의 물리적 특징부들의 변화를 검출하기 전에 아바타 특징부를 포함하지 않는 가상 아바타의 일부를 변형시키는 것은 아바타 머리의 상부 부분으로부터 연장되는 하나 이상의 돌출부들(예를 들어, 1254)을 도입함으로써 아바타 머리의 상부 부분(예를 들어, 아바타의 머리의 선단)을 변형시키는 것을 포함한다. 예를 들어, 하나 이상의 스파이크들 또는 돌출부들(1254)은 도 12b의 1212B에 도시된 바와 같이 아바타 머리의 상단으로부터 연장된다. 사용자의 눈썹의 올라감에 기초하여 하나 이상의 돌출부들을 포함하도록 아바타 머리의 상부 부분을 변형시키는 것은, 부가적인 디스플레이된 제어들 또는 입력들(예를 들어, 터치 입력들)을 요구하지 않으면서 새로운 아바타 특징부를 도입하기 위한 효율적인 제어들을 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 물리적 특징부는 사용자의 뺨(예를 들어, 1228)의 적어도 일부를 포함하고, 개개의 아바타 특징부는 아바타 뺨(예를 들어, 1256)의 적어도 일부를 포함하고, 얼굴의 복수의 물리적 특징부들의 변화를 검출하는 것은 확장된 포즈를 갖는 사용자의 뺨의 적어도 일부를 검출하는 것을 포함하며(예를 들어, 사용자의 뺨들은, 사용자가 공기로 그들의 뺨들을 부풀릴 때 확장된 포즈를 가짐), 개개의 아바타 특징부의 외관을 변화시키는 것은 아바타 뺨으로부터 연장되는 하나 이상의 돌출부들(예를 들어, 1258)을 포함하도록 아바타 뺨의 적어도 일부를 수정하는 것을 포함한다. 예를 들어, 하나 이상의 스파이크들 또는 돌출부들(예를 들어, 1258)은 도 12b의 1212D에 도시된 바와 같이 아바타의 뺨로부터 연장된다. 사용자의 뺨의 변화에 기초하여 하나 이상의 돌출부들을 포함하도록 아바타 뺨의 적어도 일부를 수정하는 것은, 부가적인 디스플레이된 제어들 또는 입력들(예를 들어, 터치 입력들)을 요구하지 않으면서 새로운 아바타 특징부를 도입하기 위한 효율적인 제어들을 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
방법(2200)(예를 들어, 도 22)에 대해 위에서 설명된 프로세스들의 세부사항들이 또한 위에서 설명된 방법들 및 아래에서 설명되는 방법들(2300, 2400, 2500)에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(2200)은 선택적으로, 방법들(800, 900, 1800, 1900, 2000, 2100, 2300, 2400, 2500)을 참조하여 아래에서 설명되고 위에서 설명된 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800, 900)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(2200)에 따라 생성된 가상 아바타들(예를 들어, 요구된 바와 같이 증가된 복잡도를 나타낼 수 있는(예를 들어, 증가된 아바타 특징부들을 갖는) 가상 아바타들)을 이용할 수 있다. 유사하게, 방법(2200)에 따라 생성 및/또는 수정된 가상 아바타들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(2200)에 따라 생성된 가상 아바타들(예를 들어, 요구된 바와 같이 증가된 복잡도를 나타낼 수 있는(예를 들어, 증가된 아바타 특징부들을 갖는) 가상 아바타들)은 또한 방법들(800, 900, 1800, 1900, 2000, 2100, 2300, 2400, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(2200)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 상이하게 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1036)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1034)을 포함할 수 있다. 유사하게, 방법(2200)에 따라 생성된 가상 아바타는 제1(예를 들어, 1122) 및 제2(예를 들어, 1120A, 1120B) 물리적 특징부들 둘 모두의 변화들에 반응하는(예를 들어, 1904, 1910, 1914) 아바타 특징부(예를 들어, 1133)를 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 23은 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(2300)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(2300)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(2300)은 사용자의 움직임과 비교하여 과장된 움직임을 나타낼 수 있는 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 물리적 및 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(2300)의 예들은 도 10a 내지 도 10i, 도 12a 내지 도 12c, 도 14a 내지 도 14d, 및 도 17a 및 도 17b를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해, 하나 이상의 카메라들의 시야 내의 얼굴의 제1 물리적 특징부(예를 들어, 1020, 1223, 1420, 1420A, 1420B, 1720)의 변화들에 반응하는 제1 아바타 특징부(예를 들어, 1030, 1232, 1430, 1430L, 1430U, 1736)를 포함하는 가상 아바타(예를 들어, 1000, 1200, 1400, 1700)를 디스플레이한다(2302).
가상 아바타(예를 들어, 1000, 1200, 1400, 1700)를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적-특징부-변화 크기를 갖는 제1 물리적 특징부(예를 들어, 1020, 1223, 1420, 1420A, 1420B, 1720)의 변화를 검출한다(2304).
제1 물리적 특징부의 변화를 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 다음의 동작들 중 하나 이상을 수행할 수 있다. 제1 물리적 특징부(예를 들어, 1020, 1223, 1420, 1420A, 1420B, 1720)의 변화가 물리적 특징부 값들의 제1 범위 내에 있다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 물리적-특징부-변화 크기에 기초하는 제1 아바타-특징부-변화 크기(제1 물리적-특징부-변화 크기에 기초하지만 반드시 동일하지는 않는 아바타 특징부의 변화의 정도)만큼 제1 아바타 특징부(예를 들어, 1030, 1232, 1430, 1430L, 1430U, 1736)를 변화시킨다(예를 들어, 제1 물리적 특징부의 변화들의 제1 범위에 대해, 아바타 특징부의 변화들은 정상 또는 감소된 속도로 변화된다). 일부 예들에서, 물리적-특징부-변화 크기에 승수 값을 적용함으로써 아바타-특징부-변화 크기가 도달된다. 제1 물리적 특징부(예를 들어, 1020, 1223, 1420, 1420A, 1420B, 1720)의 변화가 물리적 특징부 값들의 제1 범위와 상이한(예를 들어, 그보다 큰) 물리적 특징부 값들의 제2 범위 내에 있다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제1 아바타-특징부-변화 크기와 상이하고(예를 들어, 그보다 크고) 제1 물리적-특징부-변화 크기에 기초하는 제2 아바타-특징부-변화 크기만큼 제1 아바타 특징부(예를 들어, 1030, 1232, 1430, 1430L, 1430U, 1736)를 변화시킨다(예를 들어, 제1 물리적 특징부의 변화들의 제2 범위에 대해, 아바타 특징부의 변화들은 과장된 속도로 변화된다). 일부 실시예들에서, 물리적 특징부 값들의 제1 범위 및 물리적 특징부 값들의 제2 범위는 중첩되지 않는다. 물리적 특징부 값의 변화들의 범위에 따라 변하는 변화 크기만큼 제1 아바타 특징부를 변화시키는 것은, 전자 디바이스에 의해 검출되는 물리적 특징부 변화 데이터의 상태 및 그 검출된 변화 데이터가 물리적 특징부 값들의 제1 범위 내에 있는지 또는 제2 범위 내에 있는지에 관한 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 아바타 특징부는 아바타 입술 또는 입(예를 들어, 1030, 1430, 1430L, 1430U, 또는 그들의 일부)이고, 얼굴의 제1 물리적 특징부는 사용자 입술 또는 입(예를 들어, 1020, 1420, 1420A, 1420B, 또는 그들의 일부)이고, 물리적 특징부 값들의 제1 범위는 사용자 입술의 이완된 상태에 대응하는 이완된 상태 값(예를 들어, 디폴트 값, 초기 값)을 포함하고, 물리적 특징부 값들의 제2 범위는 사용자 입술의 변위된 상태(예를 들어, 입술이 시프트된(또는 이완된, 초기, 또는 중립 상태와 비교하여 추가로 시프트된) 상태)에 대응하는 제1 변위 상태 값(예를 들어, 이완된 상태 값보다 큰 값(예를 들어, 가능한 변위의 범위 내의 50% 변위))을 포함하며, 제1 아바타-특징부-변화 크기는 제2 아바타-특징부-변화 크기보다 작다. 일부 예들에서, 이완된 상태 값은 잠재적인 움직임의 범위 내의 최소 움직임 값(예를 들어, 0% 움직임 값)이다. 일부 예들에서, 제1 변위 상태 값은 최대 변위 상태 값이다. 일부 예들에서, 최대 변위 상태 값은 잠재적인 움직임의 범위(예를 들어, 100% 움직임 값) 내의 최대 움직임 값(예를 들어, 최대 예측된 움직임 값, 최대 추적된 움직임 값)이다.
일부 예들에서, 제1 아바타 특징부(예를 들어, 아바타 입술)의 변화들은, 물리적 특징부(예를 들어, 사용자의 입술)이 이완된 상태로부터 최대 변위 상태에 더 가까운 상태로 변화될 때 더 과장되게 된다. 그 결과, 아바타 특징부의 변화들은, 물리적 특징부의 변화들이 이완된 상태에 대해 증가할 때, 사용자의 물리적 특징부의 변화들과 비교하여 더 과장되게 된다. 일부 예들에서, 제1 물리적-특징부-변화 크기에 1 이하의 승수를 적용함으로써 제1 아바타-특징부-변화 크기가 도달되고, 제1 물리적-특징부-변화 크기에 1 초과의 승수를 적용함으로써 제2 아바타-특징부-변화 크기가 도달된다. 사용자의 입이 이완된 상태를 넘어 이동될 때 더 큰 크기만큼 가상 아바타의 입을 변화시키는 것은 아바타 입에 대한 변화들을 증폭하기 위한 방법을 사용자에게 제공한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 동작(예를 들어, 아바타의 입의 증폭된 변화)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 사용자 입(예를 들어, 1020, 1420, 1420A, 1420B, 또는 그들의 일부)의 이완된 상태는 제1 사용자 입 형상(예를 들어, 사람 입에 의해 형성된 닫히거나 대부분 닫힌 형상)을 갖고, 사용자 입의 변위된 상태는 제2 사용자 입 형상(예를 들어, 사람 입에 의해 형성된 열리거나 또는 대부분 열린 형상)을 갖고, 제1 아바타-특징부-변화 크기만큼 제1 아바타 특징부(예를 들어, 1030, 1430, 1430L, 1430U, 또는 그들의 일부)를 변화시키는 것은 제1 사용자 입 형상(예를 들어, 사람의 웃음, 사람의 찌푸림)에 대응하지 않는 하나 이상의 형상들(예를 들어, 도 14c 및 도 14d에 도시된 바와 같은 원 또는 사다리꼴)을 취하도록 아바타 입(예를 들어, 1430, 1430L, 1430U, 또는 그들의 일부)을 변화시키는 것을 포함한다. 그러한 실시예들에서, 제2 아바타-특징부-변화 크기만큼 제1 아바타 특징부를 변화시키는 것은 제2 사용자 입 형상에 대응하지 않는 하나 이상의 형상들(예를 들어, 사다리꼴 또는 원)을 취하도록 아바타 입을 변화시키는 것을 포함한다. 일부 예들에서, 아바타 특징부에 대한 변화들의 크기가 제1 물리적-특징부-변화 크기(예를 들어, 물리적 특징부의 변화의 크기)에 기초하는 반면, 아바타 특징부의 형상에 대한 변화들은 물리적 특징부의 형상에 대한 변화들에 기초하지 않는다(또는 완전히 또는 직접 기초하지 않는다). 일부 그러한 실시예들에서, 아바타 특징부의 형상에 대한 변화들은 대신에, 아바타 특징부의 초기 상태(예를 들어, 휴지 상태, 중립 상태(예를 들어, 원))로부터 아바타 특징부의 변위된 상태(예를 들어, 사다리꼴)로 전환(예를 들어, 점진적으로 또는 점차적으로 전환)하는 것에 기초한다. 사용자의 입과 상이한 형상을 취하도록 가상 아바타의 입의 형상을 변화시키는 것은, 사용자의 입이 원하는 형상을 취할 필요 없이 그리고 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 아바타 입에 대한 변화들에 영향을 주기 위한 방법을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 아바타 특징부는 아바타 입(예를 들어, 1030, 1430, 1430L, 1430U, 또는 그들의 일부)이고, 얼굴의 제1 물리적 특징부는 사용자 입(예를 들어, 1020, 1420, 1420A, 1420B, 또는 그들의 일부)이고, 물리적 특징부 값들의 제1 범위는 사용자 입의 이완된 상태에 대응하는 이완된 상태 값(예를 들어, 디폴트 값, 초기 값)을 포함하고, 물리적 특징부 값들의 제2 범위는 사용자 입의 변위된 상태(예를 들어, 입이 열린(또는 이완된, 초기, 또는 중립 상태와 비교하여 더 넓게 열린) 상태)에 대응하는 제1 변위 상태 값(예를 들어, 이완된 상태 값보다 큰 값(예를 들어, 가능한 변위의 범위 내의 50% 변위))을 포함하며, 제1 아바타-특징부-변화 크기는 제2 아바타-특징부-변화 크기보다 작다. 일부 예들에서, 이완된 상태 값은 잠재적인 움직임의 범위 내의 최소 움직임 값(예를 들어, 0% 움직임 값)이다. 일부 예들에서, 제1 변위 상태 값은 최대 변위 상태 값이다. 일부 예들에서, 최대 변위 상태 값은 잠재적인 움직임의 범위(예를 들어, 100% 움직임 값) 내의 최대 움직임 값(예를 들어, 최대 예측된 움직임 값, 최대 추적된 움직임 값)이다. 도 10b에 도시된 것과 같은 일부 예들에서, 제1 아바타 특징부(예를 들어, 아바타 입(1030))의 변화들은, 물리적 특징부(예를 들어, 사용자의 입(1020))이 이완된 상태로부터 최대 변위 상태에 더 가까운 상태로 변화될 때 더 과장되게 된다. 그 결과, 아바타 특징부의 변화들은, 물리적 특징부의 변화들이 이완된 상태에 대해 증가할 때, 사용자의 물리적 특징부의 변화들과 비교하여 더 과장되게 된다. 일부 예들에서, 제1 물리적-특징부-변화 크기에 1 이하의 승수를 적용함으로써 제1 아바타-특징부-변화 크기가 도달되고, 제1 물리적-특징부-변화 크기에 1 초과의 승수를 적용함으로써 제2 아바타-특징부-변화 크기가 도달된다. 사용자의 입이 이완된 상태를 넘어 이동될 때 더 큰 크기만큼 가상 아바타의 입을 변화시키는 것은 아바타 입에 대한 변화들을 증폭하기 위한 방법을 사용자에게 제공한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 동작(예를 들어, 아바타의 입의 증폭된 변화)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 아바타 특징부는 아바타 눈(예를 들어, 1232)이고, 얼굴의 제1 물리적 특징부는 사용자 눈 또는 눈꺼풀(예를 들어, 1223, 1227, 또는 그들의 일부)이고, 물리적 특징부 값들의 제1 범위는 사용자 눈꺼풀의 이완된 상태(예를 들어, 사용자의 눈꺼풀이 열린 위치에 있을 때)에 대응하는 이완된 상태 값(예를 들어, 디폴트 값, 초기 값)을 포함하고, 물리적 특징부 값들의 제2 범위는 사용자 눈꺼풀의 변위된 상태(예를 들어, 눈꺼풀이 열린(또는 이완된, 초기, 또는 중립 상태와 비교하여 더 넓게 열린) 상태)에 대응하는 제1 변위 상태 값(예를 들어, 이완된 상태 값보다 큰 값(예를 들어, 가능한 변위의 범위 내의 50% 변위))을 포함하며, 제1 아바타-특징부-변화 크기는 제2 아바타-특징부-변화 크기보다 작다. 일부 예들에서, 이완된 상태 값은 잠재적인 움직임의 범위 내의 최소 움직임 값(예를 들어, 0% 움직임 값)이다. 일부 예들에서, 제1 변위 상태 값은 최대 변위 상태 값이다. 일부 예들에서, 최대 변위 상태 값은 잠재적인 움직임의 범위(예를 들어, 100% 움직임 값) 내의 최대 움직임 값(예를 들어, 최대 예측된 움직임 값, 최대 추적된 움직임 값)이다. 도 12c에 도시된 것과 같은 일부 예들에서, 제1 아바타 특징부(예를 들어, 아바타 눈(1232))의 변화들은, 물리적 특징부(예를 들어, 사용자의 눈 또는 눈꺼풀)이 이완된 상태로부터 최대 변위 상태에 더 가까운 상태로 변화될 때 더 과장되게 된다. 그 결과, 아바타 특징부의 변화들은, 물리적 특징부의 변화들이 이완된 상태에 대해 증가할 때, 사용자의 물리적 특징부의 변화들과 비교하여 더 과장되게 된다. 일부 예들에서, 제1 물리적-특징부-변화 크기에 1 이하의 승수를 적용함으로써 제1 아바타-특징부-변화 크기가 도달되고, 제1 물리적-특징부-변화 크기에 1 초과의 승수를 적용함으로써 제2 아바타-특징부-변화 크기가 도달된다. 사용자의 눈꺼풀이 이완된 상태를 넘어 이동될 때 더 큰 크기만큼 가상 아바타의 눈을 변화시키는 것은 아바타 눈에 대한 변화들을 증폭하기 위한 방법을 사용자에게 제공한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 동작(예를 들어, 아바타의 눈의 증폭된 변화)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 아바타 특징부는 아바타 눈(예를 들어, 1032 또는 1032A)이고, 얼굴의 제1 물리적 특징부는 사용자 눈(예를 들어, 1023 또는 그의 일부)이고, 물리적 특징부 값들의 제1 범위는 사용자 눈의 이완된 상태에 대응하는 이완된 상태 값(예를 들어, 디폴트 값, 초기 값)을 포함하고, 물리적 특징부 값들의 제2 범위는 사용자 눈의 변위된 상태(예를 들어, 눈이 시프트된(또는 이완된, 초기, 또는 중립 상태와 비교하여 추가로 시프트된) 상태)에 대응하는 제1 변위 상태 값(예를 들어, 이완된 상태 값보다 큰 값(예를 들어, 가능한 변위의 범위 내의 50% 변위))을 포함하며, 제1 아바타-특징부-변화 크기는 제2 아바타-특징부-변화 크기보다 작다. 일부 예들에서, 이완된 상태 값은 잠재적인 움직임의 범위 내의 최소 움직임 값(예를 들어, 0% 움직임 값)이다. 일부 실시예들에서, 제1 변위 상태 값은 최대 변위 상태 값이다. 일부 예들에서, 최대 변위 상태 값은 잠재적인 움직임의 범위(예를 들어, 100% 움직임 값) 내의 최대 움직임 값(예를 들어, 최대 예측된 움직임 값, 최대 추적된 움직임 값)이다. 일부 예들에서, 제1 아바타 특징부(예를 들어, 아바타 눈)의 변화들은, 물리적 특징부(예를 들어, 사용자의 눈)이 이완된 상태로부터 최대 변위 상태에 더 가까운 상태로 변화될 때 더 과장되게 된다. 그 결과, 아바타 특징부의 변화들은, 물리적 특징부의 변화들이 이완된 상태에 대해 증가할 때, 사용자의 물리적 특징부의 변화들과 비교하여 더 과장되게 된다. 일부 예들에서, 제1 물리적-특징부-변화 크기에 1 이하의 승수를 적용함으로써 제1 아바타-특징부-변화 크기가 도달되고, 제1 물리적-특징부-변화 크기에 1 초과의 승수를 적용함으로써 제2 아바타-특징부-변화 크기가 도달된다. 사용자의 눈이 이완된 상태를 넘어 이동될 때 더 큰 크기만큼 가상 아바타의 눈을 변화시키는 것은 아바타 눈에 대한 변화들을 증폭하기 위한 방법을 사용자에게 제공한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 동작(예를 들어, 아바타의 눈의 증폭된 변화)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 아바타 특징부는 아바타 특징부와 해부학적으로 또는 생리학적으로 대응하지 않는 얼굴의 물리적 특징부의 변화들에 반응한다. 예를 들어, 제1 아바타 특징부는 아바타 코(예를 들어, 1736)이고, 얼굴의 제1 물리적 특징부는 사용자 입술(예를 들어, 1720, 1720A, 또는 그들의 일부)이고, 아바타의 코는 사용자의 입술의 변화들에 반응할 수 있다. 그러한 실시예들에서, 물리적 특징부 값들의 제1 범위는 사용자 입술의 이완된 상태에 대응하는 이완된 상태 값(예를 들어, 디폴트 값, 초기 값)을 포함하고, 물리적 특징부 값들의 제2 범위는 사용자 입술의 변위된 상태(예를 들어, 입술이 이완된, 초기, 또는 중립 상태와 비교하여 시프트된(또는 추가로 시프트된) 상태)에 대응하는 제1 변위 상태 값(예를 들어, 이완된 상태 값보다 큰 값(예를 들어, 가능한 변위의 범위 내의 50% 변위))을 포함하며, 제1 아바타-특징부-변화 크기는 제2 아바타-특징부-변화 크기보다 작다. 일부 예들에서, 이완된 상태 값은 잠재적인 움직임의 범위 내의 최소 움직임 값(예를 들어, 0% 움직임 값)이다. 일부 예들에서, 제1 변위 상태 값은 최대 변위 상태 값이다. 일부 예들에서, 최대 변위 상태 값은 잠재적인 움직임의 범위(예를 들어, 100% 움직임 값) 내의 최대 움직임 값(예를 들어, 최대 예측된 움직임 값, 최대 추적된 움직임 값)이다. 일부 예들에서, 제1 아바타 특징부(예를 들어, 아바타 코)의 변화들은, 물리적 특징부(예를 들어, 사용자의 입술 또는 입)이 이완된 상태로부터 최대 변위 상태에 더 가까운 상태로 변화될 때 더 과장되게 된다. 그 결과, 아바타 특징부의 변화들은, 물리적 특징부의 변화들이 이완된 상태에 대해 증가할 때, 사용자의 물리적 특징부의 변화들과 비교하여 더 과장되게 된다. 일부 예들에서, 제1 물리적-특징부-변화 크기에 1 이하의 승수를 적용함으로써 제1 아바타-특징부-변화 크기가 도달되고, 제1 물리적-특징부-변화 크기에 1 초과의 승수를 적용함으로써 제2 아바타-특징부-변화 크기가 도달된다. 사용자의 입술(아바타 코에 해부학적으로 대응하지 않는 물리적 특징부)에 기초하여 가상 아바타의 코를 변화시키는 것은 가상 아바타의 특성들을 정의하기 위한 입력-효율적인 방법을 사용자에게 제공한다(예를 들어, 사용자의 코의 움직임은 어려울 수 있음). 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트(예를 들어, 사용자의 입술의 움직임)가 충족되었을 때 동작(예를 들어, 아바타의 코를 변화시킴)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 아바타 특징부(예를 들어, 1736)는 또한 하나 이상의 카메라들의 시야 내의 얼굴의 제2 물리적 특징부(예를 들어, 1720A에 부가하여 1722)의 변화들에 반응한다. 그러한 예들에서, 전자 디바이스(예를 들어, 100, 300, 500, 600)는, 가상 아바타(예를 들어, 1000, 1200, 1400, 1700)를 디스플레이하는 동안, 제2 물리적-특징부-변화 크기를 갖는 제2 물리적 특징부의 변화를 검출한다. 그러한 예들에서, 제2 물리적 특징부의 변화를 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 다음의 동작들 중 하나 이상을 수행할 수 있다. 제2 물리적 특징부의 변화가 물리적 특징부 값들의 제3 범위 내에 있다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는, 제2 물리적-특징부-변화 크기에 기초하는 제3 아바타-특징부-변화 크기만큼 제1 아바타 특징부를 변화시킨다(예를 들어, 제1 물리적 특징부의 변화들의 제1 범위에 대해, 아바타 특징부의 변화들은 정상 또는 감소된 속도로 변화된다). 제2 물리적 특징부의 변화가 물리적 특징부 값들의 제3 범위와 상이한(예를 들어, 그보다 큰) 물리적 특징부 값들의 제4 범위 내에 있다는 결정에 따라, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제3 아바타-특징부-변화 크기와 상이하고(예를 들어, 그보다 크고) 제2 물리적-특징부-변화 크기에 기초하는 제4 아바타-특징부-변화 크기만큼 제1 아바타 특징부를 변화시킨다(예를 들어, 제1 물리적 특징부의 변화들의 제2 범위에 대해, 아바타 특징부의 변화들은 과장된 속도로 변화된다). 적어도 2개의 물리적 특징부들에 기초하여 제1 아바타 특징부를 변화시키는 것은 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 아바타 특징부를 변화시키기 위한 효율적인 입력 양식을 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 가상 아바타(예를 들어, 1000, 1200, 1400, 1700)는 카메라의 시야 내의 얼굴의 제3 물리적 특징부(예를 들어, 1020, 1420, 1420A, 1420B)(예를 들어, 사용자의 입)의 변화들에 반응하는 제2 아바타 특징부(예를 들어, 1030, 1430, 1430L, 1430U)(예를 들어, 아바타의 입)을 포함한다. 그러한 예들에서, 제3 물리적 특징부는 제3 물리적 특징부의 미리 결정된 모션 범위(예를 들어, 초기(예를 들어, 휴지) 값에 대한 크기 값들로서 표현된 모션 범위)에 기초하는 가능한 물리적 특징부 값들의 범위를 갖고, 제2 아바타 특징부는 제2 아바타 특징부의 미리 결정된 모션 범위에 기초하는 가능한 아바타 특징부 값들의 범위를 가지며, 제2 아바타 특징부의 미리 결정된 모션 범위는 제3 물리적 특징부의 미리 결정된 모션 범위보다 크다(예를 들어, 초기 또는 휴지 크기 값에 기초하여 평가되는, 제1 아바타 특징부의 모션 범위는 대응하는 물리적 특징부에 대한 모션 범위보다 크다). 예를 들어, 아바타의 입은 그의 초기 크기와 비교하여 폭이 300% 만큼 확장될 수 있는 반면, 물리적 특징부는 그의 초기 크기의 단지 200%인 모션 범위를 갖는다. 추가로, 그러한 예들에서, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 아바타 특징부가 제3 물리적 특징부의 검출된 제1 물리적 특징부 값에 기초하는 제2 아바타 특징부의 제1 아바타 특징부 값을 갖는 동안, 제3 물리적 특징부의 제1 물리적 특징부 값으로부터 제3 물리적 특징부의 제2 물리적 특징부 값으로의 제3 물리적 특징부의 변화를 검출한다. 제3 물리적 특징부의 변화를 검출하는 것에 응답하여, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 제2 아바타 특징부의 제1 아바타 특징부 값으로부터, 제2 아바타 특징부의 미리 결정된 모션 범위 내에 있는 제2 아바타 특징부의 제2 아바타 특징부 값으로 제2 아바타 특징부를 변화시킨다. 추가로, 그러한 예들에서, 제2 아바타 특징부의 제2 아바타 특징부 값은 제3 물리적 특징부의 미리 결정된 모션 범위에 대한 제3 물리적 특징부의 제2 물리적 특징부 값의 상대적인 값에 기초한다. 추가로, 그러한 예들에서, 제2 아바타 특징부의 제1 아바타 특징부 값과 제2 아바타 특징부의 제2 아바타 특징부 값 사이의 차이는 제3 물리적 특징부의 제1 물리적 특징부 값과 제3 물리적 특징부의 제2 물리적 특징부 값 사이의 차이보다 크다. 일부 예들에서, 얼굴의 물리적 특징부(예를 들어, 얼굴의 제3 물리적 특징부(예를 들어, 사용자 입))에 기초하는 아바타 특징부(예를 들어, 제2 아바타 특징부(예를 들어, 아바타 입))에 대한 변화들은 아바타 특징부 및 물리적 특징부의 개개의 미리 결정된 모션 범위들 내에서 과장된다. 예를 들어, 사용자의 입이 열릴 수 있는 최대 크기의 50% 만큼 사용자의 입이 열릴 때, 아바타의 입은 아바타 입이 열릴 수 있는 최대 크기의 100%로 열린다. 그러한 실시예들에서, 아바타 특징부의 이러한 과장된 움직임은 사용자가, 그들의 얼굴의 대응하는 특징부를 불편하게 변화시킬 필요 없이 아바타 특징부에 대한 최대 변화들에 영향을 주게 허용할 수 있다(예를 들어, 불편하게 사용자의 입을 가능한 넓게 열게 할 필요 없이 아바타로 하여금 그의 입을 가능한 넓게 열게 한다).
방법(2300)(예를 들어, 도 23)에 대해 위에서 설명된 프로세스들의 세부사항들이 또한 위에서 설명된 방법들 및 아래에서 설명되는 방법들(2400, 2500)에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(2300)은 선택적으로, 방법들(800, 900, 1800, 1900, 2000, 2100, 2200, 2400, 2500)을 참조하여 아래에서 설명되고 위에서 설명된 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800, 900)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(2300)에 따라 생성된 가상 아바타들(예를 들어, 사용자 움직임과 비교하여 과장된 움직임을 나타낼 수 있는 가상 아바타들)을 이용할 수 있다. 유사하게, 방법(2300)에 따라 생성 및/또는 수정된 가상 아바타들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(2300)에 따라 생성된 가상 아바타들(예를 들어, 사용자 움직임과 비교하여 과장된 움직임을 나타낼 수 있는 가상 아바타들)은 또한 방법들(800, 900, 1800, 1900, 2000, 2100, 2200, 2400, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(2300)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 상이하게 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1036)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1034)을 포함할 수 있다. 유사하게, 방법(2300)에 따라 생성된 가상 아바타는 제1(예를 들어, 1122) 및 제2(예를 들어, 1120A, 1120B) 물리적 특징부들 둘 모두의 변화들에 반응하는(예를 들어, 1904, 1910, 1914) 아바타 특징부(예를 들어, 1133)를 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 24는 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(2400)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(2400)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(2400)은 사용자의 얼굴의 위치의 변화들에 반응하는 동안 가상 아바타들을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(2400)의 예들은 도 10a 내지 도 10i를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해 가상 아바타(예를 들어, 1000)를 디스플레이한다(2402). 일부 예들에서, 가상 아바타는 기준 프레임(예를 들어, 가상 아바타가 (예를 들어, 전자 디바이스 또는 별개의 전자 디바이스에서) 어떻게 디스플레이되어야 하는지를 결정하기 위해 사용되는 기준 프레임) 내의 개개의 공간 위치를 가지며, 여기서 개개의 공간 위치는 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내의 얼굴의 위치에 기초한다(예를 들어, 1003A 내지 1003C, 1004A 내지 1004D, 1005A 내지 1005D, 1006A 내지 1006D, 1007A 내지 1007D, 1008A 내지 1008D). 기준 프레임 내의 가상 아바타의 그러한 위치설정의 예들은 도 10c 내지 도 10h의 1013A 및 1013B, 1014A 내지 1014D, 1015A 내지 1015D, 1016A 내지 1016D, 1017A 및 1017B, 1018A 내지 1018D에 예시된다.
가상 아바타(예를 들어, 1000)를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 개개의 양만큼 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출한다(예를 들어, 1003A 및 1003B, 1004A 내지 1004D, 1005A 내지 1005D, 1006A 내지 1006D, 1007A 및 1007B, 1008A 내지 1008D)(2404). 예를 들어, 하나 이상의 카메라들의 시야에 대해 얼굴의 제1 위치로부터 얼굴의 제2 위치로의, 이를테면, 수평 병진이동 시프트, 수직 병진이동 시프트,
하나 이상의 카메라들의 위치에 대한 거리의
병진이동 시프트(예를 들어, x, y, 또는 z 축들을 따른 병진이동 시프트) 또는 시야 내의 기본 축(cardinal axis)을 따른 회전 시프트(예를 들어, x, y, 또는 z 축들을 따른 회전 시프트).
하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것에 응답하여(예를 들어, 1003A 및 1003B, 1004A 내지 1004D, 1005A 내지 1005D, 1006A 내지 1006D, 1007A 및 1007B, 1008A 내지 1008D)(2406), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 다음의 동작들 중 하나 이상을 수행할 수 있다. 얼굴의 위치의 변화가 제1 방향으로의 변화의 제1 컴포넌트를 포함한다는 결정에 따라(예를 들어, 1003A 및 1003B, 1004A 내지 1004D, 1005A 내지 1005D, 1006A 내지 1006D, 1007A 및 1007B, 1008A 내지 1008D), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 변화의 제1 컴포넌트의 크기 및 제1 수정 인자(예를 들어, 하나 이상의 카메라들의 시야에서의 사용자의 얼굴의 검출된 모션에 대해 가상 아바타의 위치에 영향을 주는 모션을 감쇠시키거나 증폭하는 인자)에 기초하여 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정한다(예를 들어, 1013A 및 1013B, 1014A 내지 1014D, 1015A 내지 1015D, 1016A 내지 1016D, 1017A 및 1017B, 1018A 내지 1018D)(2408).
위치의 변화가 제1 방향과 상이한 제2 방향으로의 변화의 제2 컴포넌트를 포함한다는 결정에 따라(예를 들어, 1003A 및 1003B, 1004A 내지 1004D, 1005A 내지 1005D, 1006A 내지 1006D, 1007A 및 1007B, 1008A 내지 1008D), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 변화의 제2 컴포넌트의 크기 및 제1 수정 인자와 상이한 제2 수정 인자에 기초하여 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정한다(예를 들어, 1013A 및 1013B, 1014A 내지 1014D, 1015A 내지 1015D, 1016A 내지 1016D, 1017A 및 1017B, 1018A 내지 1018D)(2410). 일부 예들에서, 사용자의 얼굴의 검출된 모션은 검출된 모션의 속성에 의존하여 상이하게 가상 아바타의 감쇠 모션으로 변환된다. 예를 들어, 시야가 수직보다 수평에서 더 좁도록 디바이스가 배향될 때, 수평(예를 들어, x-축) 방향으로의 병진이동 움직임은 50%의 수정 인자를 사용하여 절반만큼 감쇠될 수 있지만, 수직(예를 들어, Y-축) 방향으로의 병진이동 움직임은 25%의 수정 인자를 사용함으로써 단지 1/4 만큼 감쇠될 수 있다. 일부 예들에서, 상이한 수정 인자들을 사용하는 것은, 여전히 사용자의 물리적 재위치설정에 반응하면서 사용자가 원하는 기준 프레임 내에 머무르는 것을 도울 수 있다. 따라서, 변화의 제2 컴포넌트(예를 들어, 변화의 병진이동 컴포넌트)의 크기 및 제1 수정 인자와 상이한 제2 수정 인자에 기초하여 기준 프레임 내의 가상 아바타의 공간 위치를 수정하는 것은, 그렇지 않으면 가상 아바타가 기준 프레임 밖으로 시프트되는 것을 변화의 컴포넌트가 초래할 때, 가상 아바타를 기준 프레임 내에 유지하는 것을 돕는다. 동작을 수행하는 데 필요한 입력들을 감소시키는 것(예를 들어, 기준 프레임 내에서 가상 아바타를 유지하는 것)은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야에 대한 변화의 수평 컴포넌트이며(예를 들어, 1006A 내지 1006D), 제1 수정 인자는 감쇠 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 적용될 때, 더 적은 수정된 크기 값을 초래하는 부분 수정기(fractional modifier))이다. 그러한 예들에서, 기준 프레임 내의 가상 아바타의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기보다 작은 크기만큼 수평 방향으로 공간 위치를 수정하는 것을 포함한다(예를 들어, 1016A 내지 1016D). 일부 예들에서, 변화의 크기는 (예를 들어, 얼굴에 대한) 하나 이상의 카메라들의 시야 내의 또는 (예를 들어, 가상 아바타에 대한) 공간 기준 프레임 내의 위치의 백분율 변화로서 결정된다. 예를 들어, 얼굴의 공간 위치는 하나 이상의 카메라들의 시야의 전체 수평 폭의 60% 만큼 수평 방향으로 시프트될 수 있다. 일부 그러한 실시예들에서, 50%의 감쇠 인자를 적용하는 것은 기준 프레임(예를 들어, 가상 아바타의 디스플레이를 위해 지정된 디스플레이 영역)의 전체 수평 폭의 30%(예를 들어, 60%*.5) 만큼 가상 아바타의 공간 위치가 시프트되는 것을 초래할 것이다. 기준 프레임 내에서 수평 위치에서의 가상 아바타의 공간 위치의 수정들을 감쇠시키는 것은, 그렇지 않으면 가상 아바타가 기준 프레임 밖으로 시프트되는 것을 변화의 컴포넌트가 초래할 때, 가상 아바타를 기준 프레임 내에서 수평으로 정렬되게 유지하는 것을 돕는다. 동작을 수행하는 데 필요한 입력들을 감소시키는 것(예를 들어, 기준 프레임 내에서 가상 아바타의 수평 위치를 유지하는 것)은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야에 대한 변화의 수직 컴포넌트이며(예를 들어, 1008A 및 1008B), 제1 수정 인자는 감쇠 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 적용될 때, 더 적은 수정된 크기 값을 초래하는 부분 수정기)이다. 그러한 예들에서, 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기보다 작은 크기만큼 수직 방향으로 공간 위치를 수정하는 것을 포함한다(예를 들어, 1018A 및 1018B). 일부 예들에서, 변화의 크기는 (예를 들어, 얼굴에 대한) 하나 이상의 카메라들의 시야 내의 또는 (예를 들어, 가상 아바타에 대한) 공간 기준 프레임 내의 위치의 백분율 변화로서 결정된다. 예를 들어, 얼굴의 공간 위치는 하나 이상의 카메라들의 시야의 전체 수직 길이의 60% 만큼 수직 방향으로 시프트될 수 있다. 일부 그러한 실시예들에서, 50%의 감쇠 인자를 적용하는 것은 기준 프레임(예를 들어, 가상 아바타의 디스플레이를 위해 지정된 디스플레이 영역)의 전체 수직 길이의 30%(예를 들어, 60%*.5) 만큼 가상 아바타의 공간 위치가 시프트되는 것을 초래할 것이다. 기준 프레임 내에서 수직 위치에서의 가상 아바타의 공간 위치의 수정들을 감쇠시키는 것은, 그렇지 않으면 가상 아바타가 기준 프레임 밖으로 시프트되는 것을 변화의 컴포넌트가 초래할 때, 가상 아바타를 기준 프레임 내에서 수직으로 정렬되게 유지하는 것을 돕는다. 동작을 수행하는 데 필요한 입력들을 감소시키는 것(예를 들어, 기준 프레임 내에서 가상 아바타의 수직 위치를 유지하는 것)은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야에 대한 변화의 깊이-관련 컴포넌트(예를 들어, 하나 이상의 카메라들의 시야의 평면에 수직인 축을 따른 변화(예를 들어, 시프트), z-축을 따른 변화, 하나 이상의 카메라들의 시야의 평면에 대한 안쪽 또는 바깥쪽으로의 변화)이며(예를 들어, 1008C 및 1008D), 제1 수정 인자는 감쇠 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 적용될 때, 더 적은 수정된 크기 값을 초래하는 부분 수정기)이다. 그러한 예들에서, 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기보다 작은 크기만큼 깊이-관련 방향으로 공간 위치를 수정하는 것을 포함한다(예를 들어, 1018C 및 1018D). 일부 예들에서, 변화의 크기는 하나 이상의 카메라들(예를 들어, 깊이를 평가할 수 있는 하나 이상의 카메라들)에 의해 결정되는 바와 같은 절대값(예를 들어, 거리)으로서 결정된다. 예를 들어, 얼굴의 공간 위치는 하나 이상의 카메라들로부터 6 피트 만큼 멀리 이동될 수 있다. 일부 그러한 실시예들에서, 50%의 감쇠 인자를 적용하는 것은 가상 아바타의 초기 위치에 대해 가상 아바타의 공간 위치가 3피트 만큼 더 멀리 시프트되는 것을 초래할 것이다(예를 들어, 이는, 가상 아바타가 3 피트의 거리만큼 더 멀리 이동되는 것을 표시하는 더 작은 크기로 제시되는 것에 의해 표현된다). 기준 프레임 내에서 깊이-특정 방향에서의 가상 아바타의 공간 위치의 수정들을 감쇠시키는 것은, 그렇지 않으면 가상 아바타가 부적당한 크기로 변화되는 것을 변화의 컴포넌트가 초래할 때, 가상 아바타를 기준 프레임 내에서 적절하게 크기설정되게 유지하는 것을 돕는다. 동작을 수행하는 데 필요한 입력들을 감소시키는 것(예를 들어, 가상 아바타의 최적의 크기를 유지하는 것)은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야에 대한 수직 축(예를 들어, 디스플레이에 평행한 수직 축)을 중심으로 한 얼굴의 회전을 포함하며(예를 들어, 1004A 내지 1004D)(예를 들어, 얼굴의 상이한 측부들이 하나 이상의 카메라들에 노출되게 하도록/보이게 하도록 수직 축(예를 들어, y-축)을 따라 얼굴이 회전되는 것을 포함하는 얼굴의 포즈의 변화가 존재함), 제1 수정 인자는 중립 수정 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 영향을 주지 않는 수정 인자, 1의 승수) 또는 증폭 수정 인자(예를 들어, 비-감쇠 수정 인자, 또는 변화의 제1 컴포넌트의 크기에 적용될 때 크기를 증가시키는 수정 인자, 1보다 큰 승수)이다. 그러한 예들에서, 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기와 적어도 동일한 크기만큼 수직 축을 중심으로 가상 아바타의 공간 위치를 회전시키는 것을 포함한다(1014A 내지 1014D). 사용자의 얼굴의 위치의 변화가 수직 축을 중심으로 한 회전 변화일 때 수정들을 감쇠시키지 않으면서 가상 아바타의 공간 위치를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 공간 위치(예를 들어, 수직 축을 중심으로 한 회전 배향)를 변경하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야에 대한 수평 축(예를 들어, 디스플레이에 평행한 수평 축)을 중심으로 한 얼굴의 틸팅을 포함한다(예를 들어, 1003A 및 1003B). 예를 들어, 하나 이상의 카메라들을 향하는 동안 사용자가 그들의 머리를 끄덕일 때 나타나는 것처럼, 하나 이상의 카메라들에 이전에 노출되지 않았던 얼굴 또는 머리의 상단 또는 하단의 부분들이 하나 이상의 카메라들에 노출되게 하도록 수평 축(예를 들어, x-축)을 따라 얼굴이 틸팅하는 것을 포함하는 얼굴의 포즈의 변화가 존재한다. 추가로, 그러한 실시예들에서, 제1 수정 인자는 중립 수정 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 영향을 주지 않는 수정 인자, 1의 승수) 또는 증폭 수정 인자(예를 들어, 비-감쇠 수정 인자, 또는 변화의 제1 컴포넌트의 크기에 적용될 때 크기를 증가시키는 수정 인자, 1보다 큰 승수)이다. 그러한 예들에서, 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기와 적어도 동일한 크기만큼 수평 축을 중심으로 가상 아바타의 공간 위치를 틸팅하는 것을 포함한다(예를 들어, 1013A 및 1013B). 사용자의 얼굴의 위치의 변화가 수평 축을 중심으로 한 틸팅 변화일 때 수정들을 감쇠시키지 않으면서 가상 아바타의 공간 위치를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 공간 위치(예를 들어, 수평 축을 중심으로 한 틸팅 배향)를 변경하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야에 대한 시뮬레이션된 z-축(예를 들어, 디스플레이에 수직인 축)을 중심으로 한 얼굴의 회전을 포함한다(예를 들어, 1005A 및 1005B). 예를 들어, 하나 이상의 카메라들을 향하는 동안 사용자가 그들의 머리를 측부로 틸팅할 때 나타나는 것처럼, 수직 축(예를 들어, z-축)을 중심으로 얼굴이 회전되는 것을 포함하는 얼굴의 포즈의 변화가 존재한다. 추가로, 그러한 실시예들에서, 제1 수정 인자는 중립 수정 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 영향을 주지 않는 수정 인자, 1의 승수) 또는 증폭 수정 인자(예를 들어, 비-감쇠 수정 인자, 또는 변화의 제1 컴포넌트의 크기에 적용될 때 크기를 증가시키는 수정 인자, 1보다 큰 승수)이다. 그러한 예들에서, 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기와 적어도 동일한 크기만큼 시뮬레이션된 z-축(예를 들어, 디스플레이에 수직인 축)을 중심으로 가상 아바타의 공간 위치를 회전시키는 것을 포함한다(예를 들어, 1015A 및 1015B). 사용자의 얼굴의 위치의 변화가 z-축을 중심으로 한 회전 변화일 때 수정들을 감쇠시키지 않으면서 가상 아바타의 공간 위치를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 공간 위치(예를 들어, z-축을 중심으로 한 회전 배향)를 변경하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고(예를 들어, 1006A 내지 1006D, 1007A 및 1007B, 1008A 내지 1008D), 제1 수정 인자는 변화의 제1 컴포넌트의 크기에 적용되는 승수이고, 승수는 1 미만의 값을 갖는다. 그러한 예들에서, 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기보다 작은 크기만큼 가상 아바타의 공간 위치를 수정하는 것을 포함한다(예를 들어, 1016A 내지 1016D, 1017A 내지 1017D, 1018A 내지 1018D). 그러한 예들에서, 변화의 크기는 (예를 들어, 얼굴에 대한) 하나 이상의 카메라들의 시야 내의 또는 (예를 들어, 가상 아바타에 대한) 공간 기준 프레임 내의 위치의 백분율 변화로서 결정된다. 예를 들어, 얼굴의 공간 위치는 하나 이상의 카메라들의 시야의 전체 수직 길이의 60% 만큼 수직 방향으로 시프트될 수 있다. 일부 그러한 실시예들에서, 50%의 감쇠 인자를 적용하는 것은 기준 프레임(예를 들어, 가상 아바타의 디스플레이를 위해 지정된 디스플레이 영역)의 전체 수직 길이의 30%(예를 들어, 60%*.5) 만큼 가상 아바타의 공간 위치가 시프트되는 것을 초래할 것이다. 승수의 사용을 통해 가상 아바타의 공간 위치를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 공간 위치에 대한 변화들 또는 검출된 물리적 특징부의 더 격렬한 변화들을 증폭하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 임계치 값을 초과하는 얼굴의 위치의 변화를 검출하는 것을 포함한다(예를 들어, 1006C 및 1006D). 그러한 예들에서, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 임계치 값을 초과하는 얼굴의 위치의 변화를 검출하는 것에 응답하여, 하나 이상의 카메라들의 시야 내의 얼굴의 위치의 변화에 기초하여 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것을 보류한다(예를 들어, 1016C 및 1016D). 일부 예들에서, 임계치 값을 초과하는 얼굴의 위치의 변화들(예를 들어, 얼굴의 수직 위치, 수평 위치, 또는 깊이 위치의 변화)은 가상 아바타의 공간 위치의 수정들(예를 들어, 변화들)을 초래하지 않는다. 일부 그러한 실시예들에서, 가상 아바타의 공간 위치는, 얼굴의 위치의 변화가 임계치 값을 초과하는 포인트까지의 위로의 얼굴의 위치의 변화에 기초하여 수정된다(예를 들어, 얼굴의 위치는 유효한 구역 외부로(예를 들어, 하나 이상의 카메라들의 시야 밖으로, 또는 하나 이상의 카메라들의 시야 내에 있는 지정된 영역 외부로) 이동된다). 얼굴의 위치의 변화가 임계치 값을 초과한 이후, 가상 아바타의 공간 위치는 얼굴의 위치의 변화에 기초하여 더 이상 수정되지 않는다(예를 들어, 가상 아바타는 더 이상 얼굴의 모션을 추적하지 않거나 반영하지 않는다). 얼굴의 위치의 변화가 임계치 값을 초과할 때 기준 프레임 내에서 가상 아바타의 공간 위치에 대한 수정들을 보류하는 것(예를 들어, 가상 아바타의 기존의 공간 위치를 유지하는 것)은 가상 아바타가 기준 프레임을 빠져나가는 것을 방지한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 동작(예를 들어, 가상 아바타의 위치를 유지하는 것)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내에서 얼굴의 위치의 변화를 검출하는 것은 변화의 제1 컴포넌트 및 변화의 제2 컴포넌트를 포함하는 얼굴의 위치의 변화를 검출하는 것을 포함하고, 변화의 제1 컴포넌트는 하나 이상의 카메라들의 시야 내에서의 병진 축을 따른 얼굴의 움직임(예를 들어, x-축, y-축, 또는 z-축을 따름, 축을 따른 얼굴의 시프팅 또는 병진이동)을 포함하고(예를 들어, 1006A 내지 1006D, 1008A 내지 1008D), 변화의 제2 컴포넌트는 하나 이상의 카메라들의 시야 내에서의 회전 축을 중심으로 한 얼굴의 회전(예를 들어, x-축, y-축, 또는 z-축을 중심으로 함, (사용자의 머리의 비틀림 또는 틸팅에 의해 야기되는 것과 같은) 축을 중심으로 한 얼굴의 회전)을 포함하고(예를 들어, 1003A 및 1003B, 1004A 내지 1004D, 1005A 및 1005B), 제1 수정 인자는 감쇠 인자(예를 들어, 변화의 제1 컴포넌트의 크기에 적용될 때, 더 적은 수정된 크기 값을 초래하는 부분 수정기)이며, 제2 수정 인자는 감쇠 인자가 아니다. 그러한 예들에서, 변화의 제1 컴포넌트의 크기 및 제1 수정 인자에 기초하여 기준 프레임 내의 가상 아바타(예를 들어, 1000)의 공간 위치를 수정하는 것은 변화의 제1 컴포넌트의 크기보다 작은 크기만큼 병진 축을 따라 공간 위치를 수정하는 것을 포함한다(예를 들어, 1013A 및 1013B, 1014A 내지 1014D, 1015A 및 1015B). 추가로, 그러한 예들에서, 변화의 제2 컴포넌트의 크기 및 제2 수정 인자에 기초하여 기준 프레임 내의 가상 아바타의 공간 위치를 수정하는 것은 변화의 제2 컴포넌트의 크기와 적어도 동일한 크기 만큼 회전 축을 중심으로 공간 위치를 수정하는 것을 포함한다(예를 들어, 1013A 및 1013B, 1014A 내지 1014D, 1015A 및 1015B). 일부 예들에서, 얼굴의 위치의 병진이동(예를 들어, 축을 따른 시프트들) 변화들은 (가상 아바타에 적용되는 바와 같이) 감쇠되지만, 얼굴의 위치의 회전 변화들은 감쇠되지 않는다. 그렇게 하는 것은, 가상 아바타가 원하는 기준 프레임 외부로 이동하는 것을 병진이동 변화가 초래할 가능성을 감소시킬 수 있다. 반대로, 회전 변화들은, 그들이 전형적으로 가상 아바타가 원하는 기준 프레임의 외부로 이동되는 것을 초래하지 않을 것이므로 감쇠될 필요가 없다. 얼굴의 병진이동 변화들과 비교하여 얼굴의 회전 변화들에 대해 상이하게 기준 프레임 내의 가상 아바타의 공간 위치를 수정하는 것은, 기준 프레임 내의 가상 아바타의 위치설정에 덜 방해되는 회전 변화들에 영향을 주면서 기준 프레임 내의 가상 아바타의 부적당한 위치설정을 초래할 수 있는 변화들을 감쇠시키기 위한 입력-효율적인 방법을 사용자에게 제공한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 동작을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
방법(2400)(예를 들어, 도 24)에 대해 위에서 설명된 프로세스들의 세부사항들이 또한 위에서 설명된 방법들 및 아래에서 설명되는 방법(2500)에 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(2400)은 선택적으로, 방법들(800, 900, 1800, 1900, 2000, 2100, 2200, 2300, 2500)을 참조하여 아래에서 설명되는 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(2400)에 따라 생성된 가상 아바타들(예를 들어, 사용자의 얼굴의 위치의 변화들에 반응하는 동안 생성되는 아바타들)을 이용할 수 있다. 유사하게, 방법(2400)에 따라 생성 및/또는 수정된 가상 아바타들 및 애니메이션화된 효과들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(2400)에 따라 생성된 가상 아바타들(예를 들어, 사용자의 얼굴의 위치의 변화들에 반응하는 동안 생성되는 아바타들)은 또한 방법들(800, 900, 1800, 1900, 2000, 2100, 2200, 2300, 2500) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(2400)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 상이하게 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1036)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1034)을 포함할 수 있다. 유사하게, 방법(2400)에 따라 생성된 가상 아바타는 제1(예를 들어, 1122) 및 제2(예를 들어, 1120A, 1120B) 물리적 특징부들 둘 모두의 변화들에 반응하는(예를 들어, 1904, 1910, 1914) 아바타 특징부(예를 들어, 1133)를 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
도 25는 일부 실시예들에 따른, 하나 이상의 카메라들에 의해 검출된 얼굴에 기초하여 가상 아바타를 생성하기 위한, 전자 디바이스에서의 방법을 예시하는 흐름도이다. 방법(2500)은 하나 이상의 카메라들(예를 들어, 164, 602) 및 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 갖는 전자 디바이스(예를 들어, 100, 300, 500, 600)에서 수행된다. 방법(2500)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(2500)은 가상 아바타들(예를 들어, 애니메이션화된 효과들을 갖는 가상 아바타들)을 생성하기 위한 직관적인 방식을 제공한다. 방법은 가상 아바타들을 생성하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 사용자가 원하는 가상 아바타를 더 빠르고 더 효율적으로 생성할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다. 방법(2500)의 예들은 도 11a 내지 도 11c, 도 12a 내지 도 12c, 도 14a 내지 도 14d, 도 15a 및 도 15b, 및 도 16a 및 도 16b를 참조하여 논의된 사용자 인터페이스들 및 가상 아바타들에서 발견될 수 있다.
전자 디바이스(예를 들어, 100, 300, 500, 600)는 디스플레이 장치(예를 들어, 112, 340, 504, 601)를 통해 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)를 디스플레이한다(2502). 일부 예들에서, 가상 아바타는 하나 이상의 카메라들(예를 들어, 164, 602)의 시야 내의 얼굴의 하나 이상의 물리적 특징부들(예를 들어, 1120A 및 1120B, 1122, 1123, 1229, 1225, 1420C 및 1420D, 1427, 1520A 및 1520B, 1527, 1620A 및 1620B, 1627)의 변화들에 반응한다.
가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)를 디스플레이하는 동안, 전자 디바이스(예를 들어, 100, 300, 500, 600)는 얼굴의 하나 이상의 물리적 특징부들(예를 들어, 1120A 및 1120B, 1122, 1123, 1229, 1225, 1420C 및 1420D, 1427, 1520A 및 1520B, 1527, 1620A 및 1620B, 1627)의 제1 구성(예를 들어, 사용자의 얼굴의 복수의 추적된 물리적 특징부들에 의해 형성된 얼굴 구성(예를 들어, 표정, 관련된 얼굴 근육들의 집합(예를 들어, 눈썹 주름근 또는 전두근을 포함하는, 눈썹의 움직임을 제어하는 근육들의 세트)의 특유한 구성))을 검출한다(2504). 일부 예들에서, 구성은 입술들의 퍼커링, 찌푸림, 비웃음, 활짝웃음, 또는 노려봄이다.
일부 예들에서, 가상 아바타는 하나 이상의 아바타 특징부들을 포함하며, 얼굴의 하나 이상의 물리적 특징부들의 제1 구성을 검출하는 것에 응답하여, 전자 디바이스는 얼굴의 하나 이상의 물리적 특징부들의 제1 구성에 기초하여 하나 이상의 아바타 특징부들 중 적어도 하나를 수정한다.
얼굴의 하나 이상의 물리적 특징부들(예를 들어, 1120A 및 1120B, 1122, 1123, 1229, 1225, 1420C 및 1420D, 1427, 1520A 및 1520B, 1527, 1620A 및 1620B, 1627)의 제1 구성을 검출하는 동안(2506), 전자 디바이스(예를 들어, 100, 300, 500, 600)는 다음의 동작들 중 하나 이상을 수행할 수 있다. 하나 이상의 물리적 특징부들의 제1 구성이 애니메이션 기준들을 만족시킨다는 결정에 따라 - 애니메이션 기준들은 적어도 제1 임계량의 시간 동안 제1 구성이 유지되는 요건을 포함함(예를 들어, 얼굴 표정은 애니메이션 기준들이 충족되기 위해 일정 시간 기간(예를 들어, 0.5초, 0.6초, 1초, 2초) 동안 실질적으로 유지됨) -, 전자 디바이스는 제1 애니메이션화된 효과를 포함하도록 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)를 수정한다(2508). 그러한 애니메이션화된 효과들은 (예를 들어, 구성이 입술들의 퍼커링일 때) 아바타의 입술들로부터 방출되는 애니메이션화된 하트들(예를 들어, 1252, 1452, 1555, 1652), (예를 들어, 구성이 찌푸림일 때) 아바타 위에 위치된 먹구름(예를 들어, 1142, 1144), (예를 들어, 구성이 노려봄일 때) 아바타의 눈들로부터 방출되는 레이저 빔들(예를 들어, 1146), 또는 (예를 들어, 구성이 슬픈 표정일 때) 아바타의 눈들로부터 방출되는 눈물 방울들(예를 들어, 1140)과 같은 시각적 효과를 포함할 수 있다, 하나 이상의 물리적 특징부들의 제1 구성이 애니메이션 기준들을 만족시키지 않는다는 것에 따라, 전자 디바이스는 제1 애니메이션화된 효과를 포함하기 위한 가상 아바타의 수정을 보류한다(2510). 사용자의 물리적 특징부들을 사용하여 애니메이션 기준들을 만족시키는 것에 기초하여 제1 애니메이션화된 효과를 포함하도록 가상 아바타를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타에서의 애니메이션화된 효과들의 생성을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 애니메이션화된 효과(예를 들어, 1140, 1142, 1144, 1146, 1252, 1452, 1555, 1652)는, 전자 디바이스(예를 들어, 100, 300, 500, 600)가 디스플레이된 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)와 구별되는 하나 이상의 가상 객체들(예를 들어, 하트들, 먹구름들, 번개, 눈물들, 레이저들)(예를 들어, 가상 객체들은 가상 아바타의 해부학적 특징부에 대응하지 않음)을 시각적으로 도입(예를 들어, 새롭게 또는 초기에 디스플레이)하는 것을 포함한다. 사용자의 물리적 특징부들을 사용하여 애니메이션 기준들을 만족시키는 것에 기초하여, 디스플레이된 가상 아바타와 구별되는 하나 이상의 가상 객체들을 시각적으로 도입하는 것은, 다수의 입력들(예를 들어, 터치 입력들)을 요구하지 않는 기존의 가상 아바타에 별개의 가상 객체들을 부가하기 위한 효율적인 입력 양식을 사용자에게 제공한다. 동작을 수행하기 위해 필요한 입력들을 감소시키는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다. 일부 예들에서, 가상 객체들은 (예를 들어, 구성이 입술들의 퍼커링일 때) 아바타의 입술들로부터 방출되는 애니메이션화된 하트들이다. 일부 예들에서, 가상 객체는 (예를 들어, 구성이 찌푸림일 때) 아바타 위에 위치된 번개를 선택적으로 갖는 먹구름이다. 일부 예들에서, 가상 객체들은 (예를 들어, 구성이 노려봄일 때) 아바타의 눈들로부터 방출되는 레이저 빔들이다. 일부 예들에서, 가상 객체들은 (예를 들어, 구성이 슬픈 표정일 때) 아바타의 눈들로부터 방출되는 눈물들이다. 일부 예들에서, 가상 객체들은 하나 이상의 카메라들의 시야 내의 얼굴의 임의의 특징부에 해부학적으로 또는 생리학적으로 대응하지 않는다. 일부 예들에서, 하나 이상의 가상 객체들은 점진적으로 도입된다(예를 들어, 하나 이상의 가상 객체들은 시간에 걸쳐 이격된 것으로 나타나고, 하나 이상의 객체들은 비교적 작게 시작되고, 이어서 시간에 걸쳐 더 크게 성장하고, 그리고/또는, 비교적 투명하게 시작하고, 이어서 시간에 걸쳐 불투명도가 점진적으로 증가한다).
일부 예들에서, 제1 애니메이션화된 효과(예를 들어, 1140, 1252, 1452, 1555, 1652)를 포함하도록 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)를 수정하는 것은, 전자 디바이스(예를 들어, 100, 300, 500, 600)가 가상 아바타에 대해 이동하는 하나 이상의 가상 객체들(예를 들어, 1140, 1252, 1452, 1555, 1652)의 애니메이션을 디스플레이하는 것을 더 포함한다. 일부 예들에서, 하나 이상의 객체들의 움직임은 다른 가상 객체들에 대해 랜덤화되거나 그렇지 않으면 (예를 들어, 미리 결정된 패턴에 따라) 변화된다.
일부 예들에서, 가상 아바타에 대해 이동하는 하나 이상의 가상 객체들(예를 들어, 1140, 1252, 1452, 1555, 1652)의 애니메이션은, 전자 디바이스(예를 들어, 100, 300, 500, 600)가 기점(origination) 위치(예를 들어, 아바타의 입술들)로부터 목적지 위치로의 하나 이상의 가상 객체들의 애니메이션화된 움직임을 디스플레이하는 것을 포함한다. 일부 예들에서, 하나 이상의 가상 객체들 각각에 대해, 목적지 위치는 분배 함수(예를 들어, 하나 이상의 가상 객체들에 대한 목적지들을 랜덤하게 또는 의사-랜덤하게 선택하는 알고리즘)에 기초하여 가상 아바타에 대한 위치를 할당받는다.
일부 예들에서, 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)에 대해 이동하는 하나 이상의 가상 객체들(예를 들어, 1252, 1452, 1555, 1652)의 애니메이션은 가상 아바타의 디스플레이된 배향에 기초한 방향을 갖는 움직임을 포함한다. 예를 들어, 가상 아바타가 좌측을 향하면, 객체들은 아바타의 좌측 측부로 이동되고; 가상 아바타가 우측을 향하면, 객체들은 아바타의 우측 측부로 이동된다. 가상 아바타의 디스플레이된 배향에 기초하여 가상 객체들을 이동시키는 것은, (예를 들어, 아바타의 배향을 제어하는) 사용자의 배향이 디바이스에 의해 검출되고 있을 때 사용자의 배향에 관한 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 가상 객체들(예를 들어, 1140, 1252, 1452, 1555, 1652)은 분배 함수(예를 들어, 하나 이상의 가상 객체들의 외관에 대한 시간들을 랜덤하게 또는 의사-랜덤하게 선택하는 알고리즘)에 기초하여 선택된 시간 간격들로 방출되는 복수의 가상 객체들이다.
일부 예들에서, 하나 이상의 물리적 특징부들(예를 들어, 1120A 및 1120B, 1122, 1123, 1229, 1225, 1420C 및 1420D, 1427, 1520A 및 1520B, 1527, 1620A 및 1620B, 1627)의 제1 구성은, 하나 이상의 물리적 특징부들의 제1 구성이 얼굴의 물리적 특징부들 중 2개 이상의 물리적 특징부들의 미리 결정된 상대적인 공간 위치설정들의 세트로부터 얼굴의 물리적 특징부들 중 2개 이상의 물리적 특징부들의 제1 미리 결정된 상대적인 공간 위치설정(예를 들어, 복수의 얼굴 특징부들의 상대적인 공간 위치설정을 추적함으로써 식별되는 제1 미리 결정된 얼굴 표정)을 포함할 때, 애니메이션 기준들을 만족시킨다. 2개 이상의 물리적 특징부들의 상대적인 공간 위치설정에 기초하여 애니메이션 기준들을 만족시키는 것에 기초하여 제1 애니메이션화된 효과를 포함하도록 가상 아바타를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타에서의 애니메이션화된 효과들의 생성을 제어하기 위한 낮은-에러 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 하나 이상의 가상 객체들(예를 들어, 1140, 1142, 1146, 1252, 1452, 1555, 1652)은 제1 미리 결정된 상대적인 공간 위치설정에 기초하여 결정된다. 일부 예들에서, 애니메이션화된 효과는 특정 식별된 얼굴 표정에 기초하여 선택되는 가상 객체들을 디스플레이하는 것을 포함한다.
일부 예들에서, 얼굴의 물리적 특징부들 중 2개 이상의 물리적 특징부들의 제1 미리 결정된 상대적인 공간 위치설정은 적어도 얼굴의 상부 입술 및 하부 입술 그리고 얼굴의 닫힌 턱의 퍼커링에 의해 형성된 퍼커 표정(예를 들어, 1229 및 1225, 1420C 및 1420D 및 1427, 1502A 및 1502B 및 1527, 1620A 및1620B 및 1627)에 대응하며(예를 들어, 해부학적으로 그에 대응하거나 (예를 들어, 패턴-매칭을 통해) 그 표정인 것으로 결정됨), 하나 이상의 가상 객체들은 하나 이상의 하트들(예를 들어, 1252, 1452, 1555, 1652)을 포함한다.
일부 예들에서, 얼굴의 물리적 특징부들 중 2개 이상의 물리적 특징부들의 제1 미리 결정된 상대적인 공간 위치설정은, 적어도 입의 제1 코너 및 제2 코너가 입의 중간 부분보다 낮은 것에 의해 형성되는 슬픈 표정(예를 들어, 1120A 및 1120B)에 대응하며, 하나 이상의 가상 객체들은 하나 이상의 눈물들(예를 들어, 1140)을 포함한다.
일부 예들에서, 얼굴의 물리적 특징부들 중 2개 이상의 물리적 특징부들의 제1 미리 결정된 상대적인 공간 위치설정은, 적어도 얼굴의 2개의 눈썹들이 내려간 위치를 갖는 것에 의해 형성되는 찌푸림(예를 들어, 1120A 및 1120B 및 1122)에 대응하며(예를 들어, 찌푸림은, 눈썹들의 중립의 휴지 위치와 비교할 때, 사용자의 눈썹들이 사용자의 코를 향해 수직으로 변위되는 위치를 가질 때 검출됨), 하나 이상의 가상 객체들은, 간헐적인 낙뢰들(예를 들어, 1144)을 선택적으로 포함할 수 있는 하나 이상의 먹구름들(예를 들어, 1142)을 포함한다.
일부 예들에서, 얼굴의 물리적 특징부들 중 2개 이상의 물리적 특징부들의 제1 미리 결정된 상대적인 공간 위치설정은, 적어도 얼굴의 2개의 눈들의 좁혀짐에 의해 형성되는 노려봄(예를 들어, 1103A 및 1103B)에 대응하며(예를 들어, 사용자의 눈들의 상부 눈꺼풀 및 하부 눈꺼풀은 눈들을 실제로 닫지 않으면서 닫힌 위치를 향해 약간 이동됨), 하나 이상의 가상 객체들은 하나 이상의 레이저 빔들(예를 들어, 1146)을 포함한다. 일부 예들에서, 노려봄을 검출하는 것은 또한 사용자의 뺨 근육들(예를 들어, 광대근)의 올라간 위치를 검출하는 것을 포함할 수 있다.
일부 예들에서, 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)는 복수의 가상 아바타 템플릿들(예를 들어, 개, 고양이, 곰, 로봇, 유니콘, 외계인, 대변) 중 제1 가상 아바타 템플릿(예를 들어, 아바타들(1100, 1200, 1400, 1500, 1600)에 대한 템플릿들)에 대응한다. 예를 들어, 가상 아바타 템플릿은, 포함된(또는 배제된) 아바타 특징부들, 아바타 크기, 아바타 색상 등과 같은 가상 아바타의 핵심 특성들을 정의하는 가상 아바타 모델(예를 들어, 하나 이상의 변형들을 포함할 수 있거나 포함하지 않을 수 있는 기본 모델)을 포함할 수 있다. 일부 예들에서, 제1 애니메이션화된 효과의 시각적 특성은 제1 가상 아바타 템플릿에 기초한다. 다시 말하면, 제1 애니메이션화된 효과의 시각적 특성은, 애니메이션화된 효과가 아바타 템플릿에 의존하여 상이하게 나타나도록 아바타 템플릿에 따라 변한다. 일부 예들에서, 아바타 템플릿은 로봇에 대응하고, 애니메이션화된 효과는 금속 외관을 갖는 가상 객체들(예를 들어, 하트들(1452))을 디스플레이하는 것을 포함한다. 일부 예들에서, 아바타 템플릿은 유니콘에 대응하고, 애니메이션화된 효과는 무지개-기반 외관을 갖는 가상 객체들(예를 들어, 하트들(1555))을 디스플레이하는 것을 포함한다. 일부 예들에서, 아바타 템플릿은 외계인에 대응하고, 애니메이션화된 효과는 끈적한 외관 및 텍스처화를 갖는 가상 객체들(예를 들어, 하트들(1252))을 디스플레이하는 것을 포함한다. 가상 아바타를 아바타 템플릿(예를 들어, 핵심 특성들을 정의하는 템플릿)에 기초하는 것은 가상 아바타의 특성들을 정의하기 위한 입력-효율적인 방법을 사용자에게 제공한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때(예를 들어, 템플릿이 선택될 때) 동작(예를 들어, 가상 아바타의 핵심 특성들을 정의하는 것)을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 예들에서, 제1 애니메이션화된 효과(예를 들어, 1140, 1252, 1452, 1555, 1652)를 포함하도록 가상 아바타(예를 들어, 1100, 1200, 1400, 1500, 1600)를 수정한 이후 그리고 하나 이상의 물리적 특징부들의 제1 구성이 부가적인 애니메이션 기준들을 만족시킨다는 결정에 따라 - 부가적인 애니메이션 기준들은, 제1 애니메이션화된 효과를 포함하도록 가상 아바타를 수정한 이후 적어도 제2 임계량의 시간 동안 제1 구성이 유지되는 요건을 포함함(예를 들어, 얼굴 표정은 부가적인 애니메이션 기준들이 충족되기 위해 제1 애니메이션화된 효과를 포함하도록 가상 아바타를 수정(예를 들어, 애니메이션화된 하트, 먹구름, 레이저 빔 등을 생성)한 이후 일정 시간 기간(예를 들어, 0.3초, 0.6초, 1초 등) 동안 실질적으로 유지됨) -, 전자 디바이스는 제2 애니메이션화된 효과(예를 들어, 제1 애니메이션화된 효과에 기초할 수 있는 제2 애니메이션화된 효과)를 포함하도록 가상 아바타를 수정한다. 일부 예들에서, 제2 애니메이션화된 효과는 제1 애니메이션화된 효과를 지속하거나 반복하는 것을 포함한다. 일부 예들에서, 제2 애니메이션화된 효과는 제1 애니메이션화된 효과의 변형(예를 들어, 제1 애니메이션화된 효과의 일부로서 디스플레이되는 가상 객체들의 더 크거나 더 빈번한 버전들)이다. 사용자의 물리적 특징부들을 사용하여 부가적인 애니메이션 기준들을 만족시키는 것에 기초하여 제2 애니메이션화된 효과를 포함하도록 가상 아바타를 수정하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타에서의 부가적인 애니메이션화된 효과들의 생성을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
하나 이상의 물리적 특징부들(예를 들어, 1520A 및 1520B 및 1527)의 제1 구성이 애니메이션 기준들을 만족시키고 아바타가 제1 애니메이션화된 효과를 포함하도록 수정된 일부 예들에서, 얼굴의 하나 이상의 물리적 특징부들의 제1 구성을 검출하는 동안, 전자 디바이스는 얼굴의 제1 물리적 특징부(예를 들어, 하나 이상의 물리적 특징부들의 제1 구성의 일부인 물리적 특징부가 아닌 물리적 특징부)의 변화를 검출한다. 일부 예들에서, 애니메이션 기준들을 만족시키는 얼굴의 제1 물리적 특징부의 변화를 검출하는 것에 응답하여, 전자 디바이스는 얼굴(예를 들어, 1522)의 제1 물리적 특징부의 변화에 기초하여 제1 아바타 특징부(예를 들어, 1538)를 수정한다. 일부 예들에서, 애니메이션 기준들은 사용자 얼굴의 추적된 특징부들 모두보다 적은 것에 기초한 평가를 포함한다. 예를 들어, 애니메이션 기준들은 사용자의 입 및 눈들의 일부들에만 기초할 수 있다. 따라서, 애니메이션 특징부에 의해 평가되지 않은 물리적 특징부들(예를 들어, 사용자의 눈썹들)이 이동되더라도(예를 들어, 위치에서 유지되지 않더라도), 애니메이션 기준들이 만족될 수 있다. 얼굴의 물리적 특징부들의 변화들에 기초한 아바타 특징부들의 예시적인 수정들은 방법들(1800, 1900, 2000, 2100, 2200, 2300, 2400)을 참조하여 위에서 더 상세히 설명된다. (예를 들어, 상이한 물리적 특징부들의 세트를 사용하여) 제1 애니메이션화된 효과를 포함하기 위한 애니메이션 기준들을 만족시키는 동안, 사용자가 제1 물리적 특징부의 변화들에 기초하여 제1 아바타 특징부를 수정하기 위한 옵션들을 제공하는 것은, 디스플레이된 사용자 인터페이스 제어(예를 들어, 터치 제어) 요소들을 요구하지 않으면서 가상 아바타의 생성을 제어하기 위한 옵션들을 사용자에게 제공한다. 부가적인 제어들로 사용자 인터페이스를 클러터링하지 않으면서 부가적인 제어 옵션들을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시켜, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
방법(2500)(예를 들어, 도 25)에 대해 위에서 설명된 프로세스들의 세부사항들은 또한 위에서 설명된 방법들과 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(2500)은 선택적으로, 방법들(800, 900, 1800, 1900, 2000, 2100, 2200, 2300, 2400)을 참조하여 아래에서 설명되는 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 방법(800, 900)에 따라 애니메이션화된 아바타들을 생성, 전송, 및 수신하는 방법들은 방법(2500)에 따라 생성된 가상 아바타들 및 애니메이션화된 효과들을 이용할 수 있다. 유사하게, 방법(2500)에 따라 생성 및/또는 수정된 가상 아바타들 및 애니메이션화된 효과들은 방법(800 또는 900)의 가상 아바타 생성 인터페이스(예를 들어, 804, 904)에서의 가상 아바타의 디스플레이된 미리보기에 포함될 수 있다. 다른 예의 경우, 방법(2500)에 따라 생성된 (예를 들어, 애니메이션화된 효과들을 갖는) 가상 아바타들은 또한, 추가로 방법들(800, 900, 1800, 1900, 2000, 2100, 2200) 중 가상 아바타 생성 및 수정 방법들에 따라 생성될 수 있다. 예를 들어, 방법(2500)에 따라 생성된 가상 아바타는, 포즈의 변화의 유형에 의존하여(예를 들어, 1810, 1812), 상이하게 사용자의 얼굴의 포즈의 변화들에 제2 아바타 부분(예를 들어, 1036)과 상이하게 반응하는 제1 아바타 부분(예를 들어, 1034)을 포함할 수 있다. 유사하게, 방법(2500)에 따라 생성된 가상 아바타는 제1(예를 들어, 1122) 및 제2(예를 들어, 1120A, 1120B) 물리적 특징부 둘 모두의 변화들에 반응하는(예를 들어, 1904, 1910, 1914) 아바타 특징부(예를 들어, 1133)를 포함할 수 있다. 간결함을 위해, 추가적인 예들이 배제된다.
단락들 [0200] 및 [0237]에서 위에서 언급된 바와 같이, 일부 실시예들에서, 전자 디바이스는 사용자의 얼굴이 카메라(예를 들어, 602)(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175))의 시야에서 더 이상 검출되지 않은 이후, 디스플레이된 가상 아바타를 수정한다. 도 26a 내지 도 26d는, 사용자의 얼굴이 카메라(예를 들어, 카메라(602))(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175))의 시야에서 더 이상 검출되지 않은 이후, 디바이스(예를 들어, 600)가 가상 아바타의 디스플레이된 외관을 계속 수정하는 그러한 실시예를 예시한다.
도 26a 내지 도 26d는 예시적인 사용자 입력들 및 예시적인 가상 아바타(예를 들어, 개 아바타)에 대한 대응하는 변화들을 예시한다. 도 26a 내지 도 26d의 좌측 열들 내의 이미지들은, 사용자가 하나 이상의 카메라들(예를 들어, 카메라(602))(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175)) 및/또는 다른 센서들(예를 들어, 적외선 센서들)의 시야 내에 있을 때 전자 디바이스에 의해 검출되는 바와 같은 사용자의 이미지들을 표현한다. 다시 말하면, 사용자의 이미지들은 카메라(예를 들어, 카메라(602))(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175))의 관점으로부터의 것이며, 그 카메라는, 일부 실시예들에서는 전자 디바이스(예를 들어, 디바이스(100, 300, 500)) 상에 위치될 수 있고, 다른 실시예들에서는 전자 디바이스와 별개로 위치될 수 있다(예를 들어, 전자 디바이스에 데이터를 전달하는 외부 카메라 또는 센서). 일부 실시예들에서, 도 26a 내지 도 26d의 좌측 열들 내의 이미지들의 경계들은 하나 이상의 카메라들(예를 들어, 602)(예를 들어, 카메라 모듈(143), 광학 센서(164), 깊이 카메라 센서(175)) 및/또는 다른 센서들(예를 들어, 적외선 센서들)의 시야의 경계들을 표현한다.
도 26a 내지 도 26d의 중간 열들 내의 이미지들은, 디바이스가 좌측 열들 내의 모든 움직임에 대해 사용자의 얼굴을 계속 추적하는(예를 들어, 얼굴 추적이 실패하지 않은) 가설의 시나리오의 경우, 좌측 열에 위치된 사용자의 검출된 이미지들에 대응하는 가상 아바타의 외관을 표현하는 기준 아바타(예를 들어, 개 아바타)를 예시한다. 기준 아바타는 기준 아바타를 보는 사용자의 관점으로부터 도시된다. 일부 실시예들에서, 도 26a 내지 도 26d의 중간 열들 내의 이미지들은 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504))의 디스플레이 구역 내의 기준 아바타의 위치를 표현하고, 도 26a 내지 도 26d의 중간 열들 내의 이미지들의 경계들은 기준 아바타를 포함하는 디스플레이 구역의 경계들을 표현한다. 일부 실시예들에서, 중간 열들에 표현된 디스플레이 구역은 위에서 논의된 가상 아바타 인터페이스(643), 메시지 작성 영역(612), 메시지 영역(609)(또는 그의 일부)과 같은 애플리케이션 사용자 인터페이스의 아바타 디스플레이 구역에 대응한다.
도 26a 내지 도 26d의 우측 열들 내의 이미지들은, 디바이스가 좌측 열들 내의 움직임의 일부에 대해 사용자의 얼굴을 추적하는 데 실패한(예를 들어, 얼굴 추적이 실패한) 시나리오의 경우, 좌측 열에 위치된 사용자의 검출된 이미지들 중 일부에 기초하여 제시되는(예를 들어, 수정된 이후 디스플레이되는) 상태에 있는 가상 아바타(2600)(예를 들어, 개 아바타)를 예시한다. 일부 실시예들에서, 가상 아바타는 가상 아바타를 보는 사용자의 관점으로부터 도시된다. 일부 실시예들에서, 가상 아바타는 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504)) 상에 디스플레이된다. 일부 실시예들에서, 가상 아바타는 디스플레이를 위해 외부 전자 디바이스에 송신된다. 일부 실시예들에서, 도 26a 내지 도 26d의 우측 열들 내의 이미지들은 전자 디바이스의 디스플레이(예를 들어, 터치 스크린(112), 디스플레이(340), 디스플레이(450), 디스플레이(504))의 디스플레이 구역 내의 가상 아바타의 위치를 표현하고, 도 26a 내지 도 26d의 우측 열들 내의 이미지들의 경계들은 가상 아바타를 포함하는 디스플레이 구역의 경계들을 표현한다. 일부 실시예들에서, 우측 열들에 표현된 디스플레이 구역은 위에서 논의된 가상 아바타 인터페이스(643), 메시지 작성 영역(612), 메시지 영역(609)(또는 그의 일부)과 같은 애플리케이션 사용자 인터페이스의 아바타 디스플레이 구역에 대응한다.
도 26a는 얼굴 추적이 상실된 이후의 디스플레이된 가상 아바타(2600)의 관성 움직임의 일 예를 예시한다. 좌측 상의 열은 다양한 상태들(예를 들어, 2601A 내지 2601D)에서의 사용자의 움직임을 나타낸다. 우측 상의 열은, 디바이스가 사용자의 얼굴을 추적한 기간 동안(예를 들어, 상태(2603A, 2603B)) 그리고 이어서 디바이스가 더 이상 사용자의 얼굴을 추적하지 않을 때(예를 들어, 상태(2603C, 2603D)), 디바이스가 다양한 상태들(예를 들어, 2603A 내지 2603D)의 가상 아바타에 대해 행하는 수정들을 나타낸다. 참고로, 중간 열은, 우측 열 내의 가상 아바타가 얼굴 추적이 실패하지 않은 것처럼 보일 것을 표현하는 기준 아바타의 상태들(2602A 내지 2602D)을 예시한다.
상태(2601A)에서, 사용자는, 그들의 머리(2604)가 전방으로 향하고 중립 얼굴 표정을 갖는 시야의 중심에 위치된다(예를 들어, 사용자의 입(2606)은 본 명세서에 제공된 다른 실시예들에서 설명된 바와 같이 중립 포즈를 갖는다). 상태(2602A)에서, 기준 아바타의 머리(2614')는 경계 구역에 중심설정되며, 기준 아바타의 머리의 측부들을 따라 놓여 있는 귀들(2618') 및 사용자의 중립 포즈와 매칭하는 중립 포즈를 갖는 입(2616')을 갖는다. 상태(2603A)에서, 디바이스는, 카메라의 시야에 있고 상태(2601A)에 도시된 위치들을 갖는 사용자의 머리(2604) 및 입(2606)을 검출한다. 따라서, 디바이스는 상태(2602A)에서 기준 아바타의 대응하는 특징부들과 동일한 위치들을 갖는 머리(2614), 입(2616), 및 귀들(2618)를 가진 개 아바타를 디스플레이한다.
상태(2601B)에서, 사용자는, 카메라의 시야를 약간 넘어 이동하면서, 카메라의 시야 내에서 더 높게 이동되고, 그의 머리를 그의 좌측으로 터닝하는 것을 시작한다(예를 들어, 사용자의 머리(2604)는 상태(2601A)에서보다 더 높게 위치되고, 카메라의 관점으로부터 우측으로 약간 회전된다). 동시에, 사용자는 웃는 것을 시작한다(예를 들어, 사용자의 입(2606)은 웃는 위치로 이동되고 있고, 상태(2601B)에서, (사용자가 웃는 것을 시작할 때) 사용자의 입은 약간 올라간 것으로 도시된다). 상태(2602B)에서, 기준 아바타의 머리(2614')는 (예를 들어, 상태(2601B)에서의 사용자의 머리(2604)의 수직 위치와 매칭하기 위해) 상태(2602A)에서보다 경계 구역 내에서 더 높게 이동되고, 상태(2601B)에서 사용자의 머리의 움직임을 표현하기 위해 경계(2605)의 에지로 시프트되면서 (사용자의 관점으로부터) 좌측으로 약간 회전된다. 기준 아바타가 그의 머리(2614')를 회전시킬 때, 귀들(2618')는 귀들(2618')과 연관된 물리 모델에 따라 머리의 회전으로 약간 흔들린다. 기준 아바타의 입(2616')은 옅은 웃음으로 터닝 업되어, 상태(2601B)의 사용자의 입(2606)의 움직임 및 위치와 매칭된다. 상태(2603B)에서, 디바이스는, 카메라의 시야에 있고 상태(2601B)에 도시된 위치들을 갖는 사용자의 머리(2604) 및 입(2606)을 검출한다. 따라서, 상태(2603B)는, 디바이스가 상태(2602B)의 기준 아바타와 동일한 위치를 갖는 개 아바타를 디스플레이하는 것을 나타낸다.
상태(2601C)에서, 사용자는 그의 머리(2604)를 신속하게 전방을 향하도록 터닝시키고 그의 입(2606)을 찌푸린 표정으로 변화시킨다(예를 들어, 사용자의 입은 찌푸림으로 터닝 다운된다). 상태(2602C)에서, 기준 아바타의 머리는 사용자의 머리의 회전과 매칭하도록 전방으로 신속하게 회전된다. 기준 아바타의 귀들(2618')은 기준 아바타의 머리(2614')의 신속한 회전의 물리속성에 따라 스윙 아웃(swing out)된다. 기준 아바타의 입(2616')은 옅은 웃음으로부터 사용자의 것과 매칭하는 찌푸린 표정으로 전환된다.
상태(2603C)에서, 디바이스는 카메라의 시야에서 사용자를 더 이상 검출하지 않는다. 따라서, 디바이스는 사용자의 이전에 검출된 상태(예를 들어, 상태(2601B))에 기초하여 개 아바타를 계속 수정한다. 예를 들어, 사용자가 그의 머리를 그의 좌측으로 터닝하는 것을 디바이스가 마지막으로 검출했기 때문에, 디바이스는, 상태(2601B)에서의 사용자의 머리의 이전에 검출된 좌향 터닝에 기초하여 개의 머리(2614)가 계속 터닝되도록 개의 머리(2614)의 회전을 계속 수정한다. 일부 실시예들에서, 디바이스는 또한 개의 머리(2614)에 대한 회전 속도를 감소시켜, 머리가 아바타의 우측으로 터닝된 휴지 위치로 점진적으로 느려지게 하고, 개의 머리(2614)의 점진적인 느려짐의 물리속성에 기초하여 개의 귀들(2618)이 약간 이동되게 한다. 부가적으로, 디바이스는 사용자가 카메라의 시야에서 수직으로 이동하는 것을 마지막으로 검출했으며, 따라서 개 아바타의 머리(2614)가 사용자에 대해 검출되었던 수직 위치로 이동되도록 개 아바타의 머리를 계속 수정한다. 일부 실시예들에서, 디바이스는 또한, 개의 머리(2614)가 계속 수직으로 이동하는 속도를 감소시켜, 그것이 휴지 위치로 점진적으로 느려지게 한다. 디바이스는, 사용자의 입(2606)이 중립 위치로부터 옅은 웃음으로 이동되는 것을 마지막으로 검출했다. 따라서, 디바이스는 개 아바타의 입(2616)을 수정하여, 그것이 상태(2603C)에 도시된 웃는 표정(예를 들어, 상태(2603B)에 도시된 옅은 웃음보다 더 큰 웃음을 가짐)을 달성하도록 웃는 모션으로 계속되게 한다. 일부 실시예들에서, 디바이스는 개의 입(2616)이 변화되는 속도를 감소시켜, 휴지의 웃는 위치로 점진적으로 느려지게 한다.
일부 실시예들에서, 상이한 아바타 특징부들은 얼굴 추적이 실패한 이후 상이한 속도들 및/또는 크기들로 변화된다. 예를 들어, 아바타 머리(2614)는, 얼굴 추적이 실패한 이후 아바타 입(2616)이 계속 변화되는 속도보다 빠른 속도로 계속 회전될 수 있다. 다른 예로서, 아바타 머리(2614)의 변화의 크기는 얼굴 추적이 실패한 이후의 아바타 입(2616)의 변화의 크기보다 클 수 있다.
상태(2601D)에서, 사용자는 2601C에서와 동일한 위치에 유지된다. 상태(2602D)에서, 기준 아바타의 귀들(2618')은 상태(2602C)에 도시된 바와 같이 이동된 이후 휴지 위치에 정착된다. 상태(2603D)에서, 디바이스는 여전히 사용자를 검출하지 않는다. 디바이스는, 다른 아바타 특징부들의 움직임이 중지되었기 때문에, 개의 귀들(2618)이 휴지 위치에 정착되도록 개의 귀들을 수정한다. 일부 실시예들에서, 수정된 아바타 특징부들이 사용자가 카메라의 시야에서 검출되지 않은 이후 그들이 수정되는 양에 대한 한계에 도달했기 때문에, 디바이스는 개 아바타를 더 이상 수정하지 않는다(예를 들어, 개 아바타의 머리를 우측으로 계속 회전시키지 않거나 개 아바타의 웃음을 계속 증가시키지 않는다). 일부 실시예들에서, 디바이스는 특징부가 과도하게 과장되게 되지 않도록 (얼굴 추적이 상실된 이후) 특징부의 최종 변화된 위치를 제한한다. 예를 들어, 개의 입(2616)은, 얼굴 추적이 실패한 이후, 웃음이 상태(2603D)에 도시된 웃는 포즈를 초과하지 않도록 제한될 수 있다. 다른 예로서, 머리(2614)의 변화된 위치는 아바타 머리(2614)가 후방으로 터닝될 수 없도록 제한될 수 있다. 일부 실시예들에서, 얼굴 추적이 상실된 이후 특징부의 최종 변화된 위치에 대한 제한은 수정된 아바타 특징부가 변화될 수 있는 모션 범위에 대한 상한선으로서 설정된다. 일부 실시예들에서, 얼굴 추적이 상실된 이후 특징부의 최종 변화된 위치에 대한 제한은 얼굴 추적이 실패하기 전의 순간에 사용자의 대응하는 특징부에 대해 검출된 변화의 스케일링된 값으로서 설정된다. 일부 실시예들에서, 얼굴 추적이 상실된 이후 특징부의 최종 변화된 위치에 대한 제한은 과장된 얼굴 표정들을 트리거하는 것을 피하도록 결정된다. 예를 들어, 가상 아바타가 (예를 들어, 본 명세서에서 논의된 것과 같은) 외계인 아바타이고, 변화하는 아바타 특징부가 눈썹들 또는 뺨들이면, 아바타 눈썹들 또는 뺨들의 움직임은 얼굴 추적이 실패한 이후, 디스플레이된 스파이크들을 외계인의 머리 또는 뺨들 상에서 발동시키지 않는 모션 범위로 제한될 수 있다.
도 26b는, 얼굴 추적이 임계량의 시간(예를 들어, 얼굴 추적이 실패한 이후 1.5초 미만) 내에서 재개된 이후 가상 아바타(2600)를 수정하는 일 예를 예시한다. 이러한 실시예에서, 디바이스는 사용자를 다시 검출하고, 검출된 사용자의 추적을 재개하도록 가상 아바타를 수정한다. 예를 들어, 상태(2601E)에서, 사용자는 상태(2601D)에 도시된 위치에 유지된다. 상태(2602E)에서, 기준 아바타는 상태(2602D)에 도시된 위치에 유지된다. 상태(2603E)에서, 수정된 가상 아바타는 상태(2603D)에 도시된 위치에 있다. 상태(2603E)는 얼굴 추적이 재개되기 전의 순간의 디스플레이된 수정된 가상 아바타의 상태이다.
상태(2601F, 2601G)에서, 사용자의 입(2606)이 찌푸린 얼굴 표정을 유지하는 동안, 사용자의 머리(2604)는 카메라의 시야에서 아래로 그리고 다시 시야의 중심으로 시프트된다. 상태들(2602F, 2602G)에서, 중간 열 내의 기준 아바타는 찌푸린 표정을 유지하면서 사용자의 위치와 매칭하도록 아래로 시프트된다. 상태(2603F)에서, 디바이스는 이제 사용자를 검출하고, 상태(2601F) 내의 사용자의 검출된 외관에 기초하여, 디스플레이된 가상 아바타를 수정하는 것을 시작한다. 개 아바타에 대한 수정은 상태들(2603F, 2603G)에 도시되며, 상태(2603F)는 상태(2603E) 내의 아바타의 디스플레이된 외관과 상태(2603G) 내의 아바타의 최종 디스플레이된 외관 사이의 일시적인 상태이다. 구체적으로, 디바이스는, 개 아바타의 입(2616)이 상태(2603F)에 도시된 중간 위치를 가지면서 상태(2603E) 내의 큰 웃음으로부터 2603G에 도시된 찌푸림으로 전환되도록 개 아바타의 입을 수정한다. 부가적으로, 디바이스는 사용자의 배향 및 위치와 매칭하도록 개 아바타의 머리(2614)의 배향 및 위치를 수정한다. 예를 들어, 디바이스는, 상태(2603F)에 도시된 중간 위치를 가지면서, 상태(2603E) 내의 경계 구역의 좌측 상단 코너로부터 상태(2603G)에 도시된 하부 위치로 개 아바타의 머리(2614)의 위치를 이동시킨다. 유사하게, 디바이스는, 상태(2603F)에 도시된 중간 위치를 가지면서, 상태(2603E) 내의 측방향 배향으로부터 상태(2603G)에 도시된 전방-대면 배향으로 아바타의 머리(2614)를 회전시킨다.
일부 실시예들에서, 다양한 아바타 특징부들의 물리속성은 얼굴 추적이 재개될 때 감쇠된다. 예를 들어, 도 26b에 도시된 바와 같이, 아바타의 귀들(2618)은 상태(2603F)에서 이동되지 않아서(또는 약간 이동됨), 시야에서의 사용자의 얼굴의 재포착 및 가상 아바타의 후속 수정은, 가상 아바타의 특징부들의 모션들을 격화시키고 본 명세서에 개시된 수정 기법에 의해 달성되는 매끄러운 전환 효과를 방해할, 아바타의 귀들(2618)의 급격한 움직임을 야기하지 않는다.
도 26c는, 얼굴 추적이 임계량의 시간(예를 들어, 얼굴 추적이 실패한 이후 1.5초 미만) 내에서 재개되는 데 실패한 이후 가상 아바타(2600)를 수정하는 일 예를 예시한다. 이러한 실시예에서, 디바이스는 아바타를 수정하여, 사용자가 카메라의 시야로 복귀하도록 촉구하며, 가상 아바타가 디스플레이 구역의 중간의 미리 결정된 위치로 이동(예를 들어, 재중심설정)되어 중립 포즈로 전환되는 것의 애니메이션을 디스플레이한다.
상태들(2601H 내지 2601J)에서, 사용자는 경계 구역의 우측 상단 코너에서 카메라의 시야 외부에 부분적으로 그리고 찌푸린 얼굴 표정으로 위치된다. 상태들(2602H 내지 2602J)에서, 기준 아바타는, 사용자의 위치 및 얼굴 표정을 표현하기 위해, 경계 구역의 좌측 상단 코너에 찌푸린 표정을 가지면서 위치된다. 상태들(2603H 내지 2603J)에서, 디바이스는 카메라의 시야에서 사용자를 검출하지 않는다.
상태(2603H)에서, 디바이스는, 사용자가 임계량의 시간 동안 카메라의 시야에서 검출되지 않았다고 결정하며, 사용자가 그들의 머리를 카메라의 시야에 위치시키도록 명령하는 디스플레이된 프롬프트를 포함하도록 (상태(2603D)에서 위에서 설명된 위치를 갖는) 디스플레이된 아바타를 수정한다. 일부 실시예들에서, 프롬프트는 경계 구역의 중심에 위치된 프레임(2620) 및 사용자가 그들의 머리를 카메라의 시야에 위치시키도록 명령하는 메시지(2622)를 포함한다. 상태들(2603I, 2603J)에 도시된 바와 같이, 디바이스는 또한 상태(2603H)의 수정된 위치로부터 프레임(2620) 내의 중심 위치로 전환하도록 가상 아바타를 수정한다. 상태(2603J)에서, 가상 아바타는 프레임(2620)의 중심에 있고 중립 표정을 갖는 것으로 도시된다. 상태(2603I)는, 가상 아바타가 상태(2603H) 내의 외관으로부터 상태(2603J) 내의 외관으로 이동되는 것으로 디스플레이될 때의 가상 아바타의 일시적인 상태를 도시한다. 상태(2603I) 내의 일시적인 상태에서, 가상 아바타가 상태(2603J) 내의 중립 상태로 전환될 때, 가상 아바타의 머리(2614)는 상태(2603H) 내의 측방향 위치로부터 약간 전방을 향하는 상태로 회전되고 있고, 아바타의 입(2616)은 상태(2603H) 내의 큰 웃음으로부터 상태(2603I) 내의 옅은 웃음으로 전환하는 것으로 도시되어 있다.
일부 실시예들에서, 디바이스는, 아바타가 상태(2603H) 내의 외관으로부터 상태(2603J) 내의 외관으로의 전환될 때 아바타 특징부들의 물리속성을 감쇠시킨다. 예를 들어, 상태(2603I)에서, 아바타가 상태(2603H) 내의 외관으로부터 상태(2603J) 내의 외관으로 전환하는 것으로 디스플레이될 때, 아바타의 귀들(2618)은 이동되지 않는다(또는 약간 이동된다).
도 26d는 임계량의 시간을 초과하여 얼굴을 검출하는 데 실패한 이후 얼굴 추적을 재개하도록 가상 아바타(2600)를 수정하는 일 예를 예시한다. 디바이스가 다시 카메라의 시야에서 사용자를 검출한 이후, 디바이스는 검출된 사용자의 추적을 재개하도록 가상 아바타를 수정한다.
상태들(2601K 내지 2601M)에서, 사용자의 머리(2604)는 카메라의 시야에서 낮게 위치되고 사용자의 우측으로 시프트되며, 그의 우측으로 터닝되고 활짝 웃는 그의 머리를 갖는다. 상태들(2602K 내지 2602M)에서, 기준 아바타는 사용자의 외관과 매칭하도록 경계 구역에서 아래로 그리고 우측으로 위치되며, 좌측으로 터닝되는 머리(2614')를 갖는다. 기준 아바타의 입(2616')은 사용자의 입(2606)과 매칭하는 큰 웃음이다. 상태(2603K)에서, 디바이스는 사용자가 카메라의 시야에 진입하고 있다고 결정하고 있고, 따라서 상태(2603J)에 대해 위에서 논의된 외관을 갖지만 가상 아바타(2600) 주위에 디스플레이된 실선 프레임(2620-1)을 갖는 가상 아바타를 디스플레이한다.
일부 실시예들에서, 사용자가 카메라의 시야에 위치된다고 디바이스가 결정한 이후, 디바이스는 상태(2603K) 내의 중립 포즈로부터 사용자의 검출된 포즈를 표현하는 외관으로의 점진적인 전환으로 아바타(2600)를 수정한다. 이러한 점진적인 전환은, 아바타(2600)가 상태(2603L)에 도시된 일시적인 외관을 가지면서(예를 들어, 아바타(2600)는 약간 아래로 그리고 약간 우측에 위치되고, 머리는 약간 터닝되며, 입(2616)은 중립 포즈로부터 큰 웃음으로 전환되고 있음), 상태(2603K)에 도시된 외관으로부터 상태(2603M)에 도시된 외관으로 변화되는 것(예를 들어, 아바타(2600)는 사용자의 회전된 머리(2606)와 매칭하도록 경계 구역에서 아래로 그리고 우측에 위치되고 좌측으로 터닝된 머리(2614)를 가지며, 입(2616)은 사용자의 입(2606)과 매칭하는 큰 웃음임)으로 디스플레이될 수 있다. 일부 실시예들에서, 사용자가 카메라의 시야에 위치된다고 디바이스가 결정한 이후, 디바이스는 사용자의 검출된 상태를 표현하는 외관으로 직접 전환하도록 가상 아바타(2600)를 수정한다. 다시 말하면, 디바이스는 점진적인 전이(예를 들어, 상태(2603L)에 도시된 일시적인 상태)를 디스플레이하지 않으면서, 2603M에 도시된 상태로 나타나도록 아바타를 수정한다.
일부 실시예들에서, 얼굴 추적이 도 26c에 도시된 상실된 추적 실시예로부터 재개된 이후 디바이스가 가상 아바타(2600)를 수정할 때, 디바이스는, 사용자의 새롭게 검출된 상태와 매칭하는 새로운 디스플레이된 위치로의 아바타의 급격한 움직임에 기초하여 아바타 특징부들이 급격하게 이동되는 시각적 효과를 피하도록 다양한 아바타 특징부들의 물리속성을 감쇠시킨다. 예를 들어, 상태(2603L)에 도시된 바와 같이, 아바타(2600)가 상태(2603M)에 도시된 외관으로 전환되고 있을 때, 아바타의 귀들(2618)은 이동되지 않는다(또는 약간 이동된다). 일부 실시예들에서, (예를 들어, 상태(2603M)에 도시된) 사용자의 외관을 반영하도록 아바타가 업데이트되고 얼굴 추적이 재개된 이후 이들 물리속성이 다시 가능해진다. 일부 실시예들에서, 아바타 특징부들에 대한 물리속성 기반 애니메이션이 급작스럽게 가능해지는 부조화(jarring) 전환을 피하기 위해 시간에 걸쳐 물리속성-기반 애니메이션들에 대한 이득 값 또는 다른 스케일링 인자를 점진적으로 증가(예를 들어, 0과 같은 작은 수로부터 1과 같은 더 큰 수로 스케일링 인자를 점진적으로 증가)시킴으로써 아바타가 업데이트된 이후, 물리속성이 점진적으로 가능해진다.
일부 실시예들에서, 가상 아바타의 디스플레이된 표현은, 카메라(예를 들어, 카메라(602))의 시야 내에 위치된 대상의 표현 및 배경을 포함하는, 이미지 데이터(예를 들어, 깊이 데이터를 포함하는 이미지 데이터, 예를 들어, 라이브 카메라 미리보기, 캡처된 이미지, 또는 레코딩된 비디오)에 대한 가상 아바타의 디스플레이를 포함할 수 있다. 도 26e 내지 도 26h는 그러한 실시예의 일 예를 예시한다.
도 26e는 디스플레이(601) 및 카메라(602)를 갖는 디바이스(600)를 도시한다. 디바이스(600)는, 카메라(602)의 시야에 위치된 대상(2632) 및 대상(2632) 뒤에 디스플레이된 배경(2636)의 표현을 나타내는 카메라(602)로부터 라이브 카메라 미리보기(2630-1)를 제시하는 이미지 디스플레이 구역(2630)을 디스플레이한다. 본 명세서에서 논의된 바와 같이, 카메라(602)를 사용하여 캡처된 이미지 데이터는, 일부 실시예들에서, 카메라(602)의 시야에서 물체들의 깊이를 결정하는 데 사용될 수 있는 깊이 데이터를 포함한다. 일부 실시예들에서, 디바이스(600)는 이들 물체들의 검출된 깊이에 기초하여 (예를 들어, 이미지 데이터에서) 물체들을 파싱(parse)하며, 본 명세서에서 논의된 시각적 효과(예를 들어, 가상 아바타들)를 적용하기 위해 이러한 결정을 사용한다. 예를 들어, 디바이스(600)는 라이브 카메라 미리보기(2630-1)의 전경에 있는 것으로 대상(2632)을 분류하고, 라이브 카메라 미리보기(2630-1)의 배경에 있는 것으로 사용자 뒤에 위치된 물체들을 분류할 수 있다. 이들 배경 물체들은 일반적으로 배경(2636)으로 지칭된다.
도 26f에 도시된 바와 같이, 가상 아바타(2633)는 대상(2632)의 표현 상에(예를 들어, 대상의 얼굴 상에) 디스플레이될 수 있다. 구체적으로, 가상 아바타는 이미지 디스플레이 구역(2630)에서 대상의 얼굴 상에 전치되는 반면, 이미지 디스플레이 구역 내의 이미지의 다른 부분들(이를테면, 배경 또는 사용자의 다른 부분들, 이를테면 그들의 신체)은 디스플레이되게 유지된다. 카메라(602)의 시야에 위치된 사용자(예를 들어, 대상(2632))는 본 명세서에서 더 상세히 논의되는 바와 같이, 다양한 얼굴 특징부들을 이동시키는 것(윙크, 그들의 혀 내밀기, 웃기 등)을 포함하여, 그들의 얼굴의 포즈(예를 들어, 회전 또는 배향)를 변화시킴으로써 가상 아바타의 시각적 태양들을 제어할 수 있다. 예를 들어, 도 26g는, 디바이스(600)가 카메라(602)의 시야에서 사용자의 머리의 움직임을 검출하는 것에 응답하여, 가상 아바타(2633)가 그의 머리를 틸팅하는 것을 도시한다. 유사하게, 도 26h는 사용자의 얼굴의 물리적 특징부들(예를 들어, 사용자의 입)의 변화를 검출하는 것에 응답하여, 디바이스(600)가 가상 아바타의 얼굴 특징부들(예를 들어, 입(2634))을 수정하는 것을 도시한다.
일부 실시예들에서, 디바이스(600)가 카메라(602)의 시야에서 사용자의 얼굴을 검출하는 데 실패하면, 디바이스(600)는 도 26a 내지 도 26d에 대해 위에서 논의된 바와 같이, 선택적으로, 대상(2632) 및 배경(2636)의 디스플레이를 유지하면서 가상 아바타(예를 들어, 2633)를 수정할 수 있다. 예를 들어, 디바이스(600)는 도 26a에 대해 위에서 논의된 바와 같이 사용자의 얼굴의 마지막으로 검출된 움직임에 기초하여 관성 움직임을 나타내도록 가상 아바타(2633)를 수정할 수 있다. 디바이스(600)가 임계량의 시간 내에 카메라(602)의 시야에서 사용자의 얼굴을 검출하면, 디바이스(600)는 도 26b에 대해 위에서 논의된 바와 같이 가상 아바타(2633)를 수정할 수 있다. 디바이스(600)가 임계량의 시간 내에 카메라(602)의 시야에서 사용자의 얼굴을 검출하는 데 실패하면, 디바이스(600)는 도 26c에 대해 위에서 논의된 바와 같이 가상 아바타(2633)를 수정할 수 있다. 일부 실시예들에서, 그러한 수정들은 얼굴 추적이 상실될 때 대상(2632) 및 배경(2636)을 숨기는 블러링 시각적 효과를 적용하는 것을 포함할 수 있다. 디바이스(600)가 임계 시간 기간 동안 얼굴을 검출하는 데 이전에 실패한 이후, 카메라(602)의 시야에서 사용자의 얼굴을 검출하면, 디바이스(600)는 도 26d에 대해 위에서 논의된 바와 같이 가상 아바타(2633)를 수정할 수 있다.
도 27은 일부 실시예들에 따른, 전자 디바이스를 사용하여, 얼굴 추적이 실패한 이후 가상 아바타를 생성 및 수정하기 위한 방법을 예시하는 흐름도이다. 방법(2700)은 하나 이상의 카메라들 및 디스플레이를 갖는 디바이스(예를 들어, 100, 300 또는 500)에서 수행된다. 방법(2700)의 일부 동작들은 선택적으로 조합되고, 일부 동작들의 순서들은 선택적으로 변경되며, 일부 동작들은 선택적으로 생략된다.
아래에서 설명되는 바와 같이, 방법(700)은 얼굴 추적이 실패한 이후 가상 아바타를 생성 및 수정하기 위한 직관적인 방식을 제공한다. 방법은 얼굴 추적이 실패한 이후 가상 아바타를 생성 및 수정하는 것에 대한 사용자의 인지적 부담을 감소시키며, 그에 의해 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 컴퓨팅 디바이스들의 경우, 얼굴 추적이 실패한 이후 사용자가 가상 아바타를 더 빠르고 더 효율적으로 생성 및 수정할 수 있게 하는 것은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다.
전자 디바이스(예를 들어, 600)는, 디스플레이 장치(예를 들어, 601)를 통해, 하나 이상의 카메라들의 시야에서의 얼굴의 포즈(예를 들어, 배향, 병진이동)의 검출된 변화들(예를 들어, 얼굴 표정의 변화)에 응답하여 외관을 변화시키는, 복수의 아바타 특징부들(예를 들어, 2614, 2616, 2618, 얼굴 특징부(예를 들어, 눈들, 입, 입의 일부) 또는 매크로(macro) 특징부(예를 들어, 머리, 목))을 갖는 가상 아바타(예를 들어, 2600)를 디스플레이하며(2702), 얼굴은 제1 얼굴 특징부(예를 들어, 2604, 머리, 입, 또는 입의 일부)를 포함하는 복수의 검출된 얼굴 특징부들을 포함한다.
일부 실시예들에서, 가상 아바타(예를 들어, 2633)를 디스플레이하는 것은, 디스플레이 장치(예를 들어, 601)를 통해, 하나 이상의 카메라들(예를 들어, 602)의 시야에 위치된 대상(예를 들어, 2632, 하나 이상의 카메라들의 시야에서의 사람; 예를 들어, 시야에서의 얼굴에 대응하는 대상) 및 배경(예를 들어, 2636, 대상 이외에 하나 이상의 카메라들의 시야에서의 물체들)의 표현을 디스플레이하는 것을 포함하며, 여기서 가상 아바타는 대상의 표현 상에 디스플레이된다(예를 들어, 대상(사용자)의 디스플레이된 머리 또는 얼굴 부분은 가상 아바타의 머리로 대체(또는 (예를 들어, 불투명하게, 투명하게, 반투명하게) 가상 아바타의 머리에 의해 오버레이)된다). 일부 실시예들에서, 대상 상에 디스플레이된 가상 아바타는, 대상의 머리 또는 얼굴의 변화가 배경을 여전히 디스플레이하면서, 디스플레이된 가상 아바타의 변화를 달성하도록 대상의 머리 및 얼굴의 검출된 변화에 응답한다. 일부 실시예들에서, 대상의 머리 상의 가상 아바타의 위치는 이미지 내의 깊이 데이터(예를 들어, 캡처된 이미지 또는 비디오의 깊이 태양(예를 들어, RGB 데이터와는 독립적인 깊이 데이터)을 포함하는 이미지 데이터)를 사용하여 결정된다. 일부 실시예들에서, 이미지 데이터는 적어도 2개의 컴포넌트들, 즉 캡처된 이미지의 시각적 특성들을 인코딩하는 RGB 컴포넌트, 및 캡처된 이미지 내의 요소들의 상대적인 간격 관계에 관한 정보를 인코딩하는 깊이 데이터(예를 들어, 깊이 데이터는 사용자가 전경에 있고 배경 요소들, 이를테면 사용자 뒤에 위치된 나무가 배경에 있다는 것을 인코딩함)를 포함한다. 일부 실시예들에서, 깊이 데이터는 깊이 맵이다. 일부 실시예들에서, 깊이 맵(예를 들어, 깊이 맵 이미지)은 시점(예를 들어, 카메라)으로부터의 장면 내의 물체들의 거리에 관련된 정보(예를 들어, 값들)를 포함한다. 깊이 맵의 일 실시예에서, 각각의 깊이 픽셀은, 그의 대응하는 2차원 픽셀이 위치되는 지점의 Z-축 내의 위치를 정의한다. 일부 예들에서, 깊이 맵은 픽셀들로 구성되며, 여기서 각각의 픽셀은 값(예를 들어, 0 내지 255)에 의해 정의된다. 예를 들어, "0" 값은 "3차원" 장면에서 가장 먼 위치에 위치된 픽셀들을 표현하고, "255" 값은 "3차원" 장면 내의 시점(예를 들어, 카메라)에 가장 가깝게 위치된 픽셀들을 표현한다. 다른 예들에서, 깊이 맵은 장면 내의 물체와 시점의 평면 사이의 거리를 표현한다. 일부 실시예들에서, 깊이 맵은 깊이 카메라의 관점에서 관심있는 물체의 다양한 특징부들의 상대적인 깊이(예를 들어, 사용자의 얼굴의 눈들, 코, 입, 귀들의 상대적인 깊이)에 관한 정보를 포함한다. 일부 실시예들에서, 깊이 맵은 디바이스가 z 방향으로 관심있는 물체의 윤곽들을 결정할 수 있게 하는 정보를 포함한다. 일부 실시예들에서, 깊이 데이터는 제1 깊이 컴포넌트와 별개인 제2 깊이 컴포넌트(예를 들어, 카메라 디스플레이 구역에서의 배경의 공간 위치를 인코딩하는 깊이 데이터의 제2 부분; 배경과 같이 깊이 맵의 별개의 부분을 형성하는 복수의 깊이 픽셀들)을 가지며, 제2 깊이 태양은 카메라 디스플레이 구역에서의 배경의 표현을 포함한다. 일부 실시예들에서, 제1 깊이 태양 및 제2 깊이 태양은 카메라 디스플레이 구역의 대상과 카메라 디스플레이 구역의 배경 사이의 공간적 관계를 결정하는 데 사용된다. 이러한 공간적 관계는 배경으로부터 대상을 구별하는 데 사용될 수 있다. 이러한 구별은, 예를 들어 상이한 시각적 효과들(예를 들어, 깊이 컴포넌트를 갖는 시각적 효과들)을 대상 및 배경에 적용하기 위해 활용될 수 있다. 일부 실시예들에서, 제1 깊이 컴포넌트에 대응하지 않는 이미지 데이터의 모든 영역들(예를 들어, 깊이 카메라의 범위 밖에 있는 이미지 데이터의 영역들)은 깊이 맵으로부터 세그먼트화(예를 들어, 배제)된다.
하나 이상의 카메라들의 시야에 위치된 대상 및 배경의 표현 상에 가상 아바타를 디스플레이하는 것은, 카메라의 시야 내의 대상 및 배경 물체들의 배치가 적용된 가상 아바타에 대해 최적인지 여부를 사용자가 신속하게 인식하게 허용하며, 이미지가 캡처되었다면, 이미지의 어느 부분들이 가상 아바타를 포함할 것이고 어느 부분들이 가상 아바타를 포함하지 않을 것인지를 사용자가 볼 수 있게 한다. 추가적인 사용자 입력을 요구하지 않으면서 조건들의 세트가 충족되었을 때 최적화된 동작을 수행하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
얼굴이 포즈의 제1 변화(예를 들어, 2601B, 검출의 상실 이전에 하나 이상의 얼굴 특징부들에 대한 포즈의 마지막으로 검출된 변화; 하나 이상의 얼굴 특징부들에 대한 포즈들의 복수의 검출된 변화의 평균)로 하나 이상의 카메라들의 시야에서 검출된 이후 - 포즈의 제1 변화는 제1 얼굴 특징부(예를 들어, 2604, 얼굴 특징부 또는 얼굴 특징부들의 세트의 변화의 방향)에 대한 변화를 포함함 -, 전자 디바이스(예를 들어, 600)는 (예를 들어, 얼굴이 하나 이상의 카메라들의 시야 내에 더 이상 존재하지 않거나, 디바이스가 얼굴을 추적하기 위해 사용하고 있었던 얼굴의 특징부가 가려졌거나, 또는 그렇지 않으면 디바이스가 얼굴을 추적할 수 있는 데 실패했기 때문에) 하나 이상의 카메라들(예를 들어, 602)의 시야에서의 얼굴의 추적이 실패했다고 결정한다(2704).
하나 이상의 카메라들(예를 들어, 602)의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 전자 디바이스(예를 들어, 600)는 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하며(2706), 여기서 제1 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에(예를 들어, 그 직전에 또는 그 직전의 시간 기간 동안) 검출되었던 제1 얼굴 특징부(예를 들어, 2604)의 변화 특성들(예를 들어, 변화의 크기 및/또는 방향)에 기초하여 업데이트된다. 일부 실시예들에서, 제1 아바타 특징부의 외관을 업데이트하는 것은 다음의 실시예들 중 하나 이상을 포함한다. 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제1 얼굴 특징부의 변화 특성들에 기초하여, 얼굴의 추적이 실패한 이후 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부(예를 들어, 2604)가 제1 변화 특성들을 가졌다는 결정에 따라(예를 들어, 2601B, 얼굴은 제1 방향으로 이동되고 있었음; 예를 들어, 사용자의 머리는 좌측으로 터닝됨), 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제1 외관으로(예를 들어, 상태(2603B) 내의 아바타(2600)의 외관으로부터 상태(2603C) 내의 외관으로) 가상 아바타(예를 들어, 2600)의 제1 아바타 특징부의 외관을 업데이트하는 것(예를 들어, 아바타 머리(예를 들어, 2614)의 각도를 업데이트하는 것). 얼굴의 추적이 실패한 이후 아바타의 외관과 상이한 제1 외관으로 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
얼굴의 추적이 실패했다는 것을 검출하기 전에 제1 얼굴 특징부가 제1 변화 특성들과 상이한 제2 변화 특성들을 가졌다는 결정에 따라(예를 들어, 얼굴은 제1 방향과 상이한 제2 방향으로 이동되고 있었음; 예를 들어, 사용자의 머리는 우측으로 터닝됨), 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 가상 아바타의 제1 아바타 특징부의 외관을 업데이트하는 것. 얼굴의 추적이 실패한 이후 아바타의 외관과 상이하고 제1 외관과 상이한 제2 외관으로 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 변화 특성들이 제1 얼굴 특징부의 제1 변화된 방향을 포함한다는 결정에 따라(예를 들어, 사용자의 머리는 좌측으로 터닝됨), 제1 외관으로 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하는 것은, 제1 얼굴 특징부의 제1 변화된 방향에 기초하여 제1 아바타 특징부의 외관을 업데이트하는 것(예를 들어, 사용자의 머리의 좌향 턴에 기초하여 아바타의 머리의 각도를 업데이트하는 것; 예를 들어, 미러링된 방향으로 아바타를 업데이트하는 것(예를 들어, 사용자의 머리가 사용자의 좌측으로 터닝될 때, 아바타는 아바타의 우측으로 터닝됨))을 포함한다. 제1 얼굴 특징부의 제1 변화된 방향에 기초하여 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 상실될 때, 가상 아바타에 대한 변화들이 카메라의 시야에서 이전에 검출된 제1 아바타 특징부의 움직임의 방향에 적어도 부분적으로 기초한다는 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 변화 특성들이 제1 변화된 방향과 상이한 제1 얼굴 특징부(예를 들어, 2604)의 제2 변화된 방향을 포함한다는 결정에 따라(예를 들어, 사용자의 머리는 우측으로 터닝됨), 제2 외관으로 제1 아바타 특징부의 외관을 업데이트하는 것은, 제1 얼굴 특징부의 제2 변화된 방향에 기초하여 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하는 것(예를 들어, 사용자의 머리의 우향 턴에 기초하여 아바타의 머리의 각도를 업데이트하는 것)을 포함한다. 제1 얼굴 특징부의 제2 변화된 방향에 기초하여 제2 외관으로 제1 아바타의 외관을 업데이트하는 것은, 얼굴 추적이 상실될 때, 가상 아바타에 대한 변화들이 카메라의 시야에서 이전에 검출된 제1 아바타 특징부의 움직임의 방향에 적어도 부분적으로 기초한다는 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 변화 특성들이 제1 얼굴 특징부(예를 들어, 2604)의 변화의 제1 크기를 포함한다는 결정에 따라(예를 들어, 사용자의 머리는 75로 회전되고; 예를 들어, 사용자의 머리를 좌측으로 5인치만큼 시프트시킴; 사용자의 입의 직경을 20% 만큼 증가시킴), 제1 외관으로 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하는 것은, 제1 얼굴 특징부의 변화의 제1 크기에 기초하여 제1 아바타 특징부의 외관을 업데이트하는 것(예를 들어, 사용자의 머리의 75도 회전에 기초하여 아바타의 머리의 각도를 업데이트하는 것; 아바타의 머리의 위치를 5인치만큼 시프트시키는 것(스케일링됨); 아바타의 입의 직경을 20% 만큼 증가시키는 것)을 포함한다. 제1 얼굴 특징부의 변화의 제1 크기에 기초하여 제1 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 상실될 때, 가상 아바타에 대한 변화들이 카메라의 시야에서 이전에 검출된 제1 아바타 특징부의 움직임에 크기에 적어도 부분적으로 기초한다는 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 변화 특성들이 변화의 제1 크기와 상이한 제1 얼굴 특징부(예를 들어, 2604)의 변화의 제2 크기를 포함한다는 결정에 따라(예를 들어, 사용자의 머리는 90도로 회전됨), 제2 외관으로 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하는 것은, 제1 얼굴 특징부의 변화의 제2 크기에 기초하여 제1 아바타 특징부의 외관을 업데이트하는 것(예를 들어, 사용자의 머리의 90도의 회전에 기초하여 아바타의 머리의 각도를 업데이트하는 것)을 포함한다. 제1 얼굴 특징부의 변화의 제2 크기에 기초하여 제2 외관으로 제1 아바타의 외관을 업데이트하는 것은, 얼굴 추적이 상실될 때, 가상 아바타에 대한 변화들이 카메라의 시야에서 이전에 검출된 제1 아바타 특징부의 움직임의 크기에 적어도 부분적으로 기초한다는 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 방법(2700)은, 얼굴의 추적이 실패한 이후(예를 들어, 얼굴이 시야 내에 더 이상 있지 않다고 결정한 이후) 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트한 이후에, 전자 디바이스(예를 들어, 600)가 얼굴이 제1 포즈(예를 들어, 검출이 상실되었던 시간의 얼굴의 포즈와 상이한 포즈)(예를 들어, 상태(2601F, 2601G)에 도시된 포즈)에 있는 동안 얼굴의 추적을 재개하는 단계를 더 포함한다. 얼굴의 추적을 재개하는 것에 응답하여, 전자 디바이스는 (예를 들어, 도 26b의 상태들(2603F, 2603G)에 도시된 바와 같이) 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부의 외관을 업데이트한다. 얼굴이 제1 포즈에 있는 동안 얼굴의 추적을 재개하는 것은 그들의 얼굴이 카메라의 시야 내에 위치된다는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하는 것은, 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부의 외관을 점진적으로 업데이트하는 것(예를 들어, 2603F, 2603G, 2603L, 2603M) 포함한다(예를 들어, 아바타의 머리는, 사용자의 얼굴이 하나 이상의 카메라들의 시야에서 재검출된 이후 사용자의 머리의 검출된 위치(예를 들어, 2601F, 2601G, 2601L, 2601M)와 매칭하는 위치로 점진적으로 이동된다). 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부의 외관을 점진적으로 업데이트하는 것은 그들의 얼굴이 카메라의 시야 내에 위치된다는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 방법(2700)은 얼굴의 추적을 재개하는 것에 응답하여, 다음의 단계들을 수행하는 단계를 더 포함한다. 첫째, 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하기 전에, 전자 디바이스(예를 들어, 600)는 제1 아바타 특징부, 제2 아바타 특징부(예를 들어, 2616), 또는 제3 아바타 특징부(예를 들어, 아바타의 귀들(2618)) 중 적어도 하나와 연관된 물리 모델을 디스에이블한다. 둘째, 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부의 외관을 업데이트한 이후, 전자 디바이스는 디스에이블된 물리 모델을 점진적으로 재개한다(예를 들어, 물리 모델은 인에이블되지만, 얼굴 추적이 재개된 이후 아바타 특징부의 움직임으로부터 저킹(jerking) 모션을 피하도록 감쇠된 움직임을 갖는다). 셋째, 전자 디바이스는 얼굴의 제1 포즈의 변화를 검출하고, 얼굴의 제1 포즈의 검출된 변화 및 재개된 물리 모델에 기초하여 제1 아바타 특징부의 외관을 업데이트한다. 제1, 제2, 또는 제3 아바타 특징부들 중 적어도 하나와 연관된 물리 모델을 디스에이블하는 것, 얼굴의 제1 포즈에 기초한 포즈로 제1 아바타 특징부의 외관을 업데이트한 이후 디스에이블된 물리 모델을 점진적으로 재개하는 것, 및 얼굴의 제1 포즈의 검출된 변화들 및 재개된 물리 모델에 기초하여 제1 아바타 특징부를 업데이트하는 것은, 얼굴 추적이 실패한 이후, 디바이스가 카메라의 시야에서 사용자의 얼굴을 검출했고, 사용자의 얼굴을 추적하는 것 및 검출된 변화들에 기초하여 가상 아바타를 수정하는 것을 재개했다는 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 복수의 검출된 얼굴 특징부들은 제2 얼굴 특징부(예를 들어, 2606, 머리, 입, 입의 일부, 눈들 등)를 포함하고, 포즈의 제1 변화는 제2 얼굴 특징부에 대한 변화(예를 들어, 제2 얼굴 특징부 또는 얼굴 특징부들의 제2 세트의 변화의 방향)를 포함한다. 일부 실시예들에서, 방법(2700)은 다음의 단계들 중 하나 이상을 더 포함한다.
일부 실시예들에서, 하나 이상의 카메라들(예를 들어, 602)의 시야에서의 얼굴의 추적이 실패했다고 결정하는 것에 응답하여, 전자 디바이스(예를 들어, 600)는 얼굴의 추적이 실패한 이후, 복수의 아바타 특징부들 중 제2 아바타 특징부(예를 들어, 2616)의 외관을 업데이트하며, 여기서 제2 아바타 특징부의 외관은 얼굴의 추적이 실패했다고 결정하기 전에(예를 들어, 그 직전에 또는 그 직전의 시간 기간 동안) 검출되었던 제2 얼굴 특징부(예를 들어, 2606)의 변화 특성들(예를 들어, 변화의 크기 및/또는 방향)에 기초하여 업데이트된다. 일부 실시예들에서, 업데이트는 아래의 실시예들 중 하나 이상을 포함한다. 얼굴의 추적이 실패했다고 결정하기 전에 검출되었던 제2 얼굴 특징부의 변화 특성들에 기초하여, 얼굴의 추적이 실패한 이후 제2 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제2 얼굴 특징부(예를 들어, 2606)가 제3 변화 특성들을 가졌다는 결정에 따라(예를 들어, 제2 얼굴 특징부는 제1 및/또는 제2 방향들과 상이한 제3 방향으로 이동되고 있었고; 예를 들어, 사용자의 입은 웃음으로 터닝 업됨), 전자 디바이스(예를 들어, 600)는 얼굴의 추적이 실패했을 때(예를 들어, 2603B) 아바타의 외관과 상이한 제3 외관(예를 들어, 2603C)으로 가상 아바타(예를 들어, 2600)의 제2 아바타 특징부(예를 들어, 2616)의 외관을 업데이트한다(예를 들어, 아바타 입의 위치를 업데이트한다). 얼굴의 추적이 실패했을 때 아바타의 외관과 상이한 제3 외관으로 제2 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴의 추적이 실패했다는 것을 검출하기 전에 제2 얼굴 특징부(예를 들어, 2606)가 제4 변화 특성들을 가졌다는 결정에 따라(예를 들어, 제2 얼굴 특징부는 제1, 제2, 및/또는 제3 방향들과 상이한 제4 방향으로 이동되고 있었음; 예를 들어, 사용자의 입은 찌푸림으로 하향으로 터닝됨), 얼굴의 추적이 실패했을 때 아바타의 외관과 상이하고 제3 외관과 상이한 제4 외관으로 가상 아바타의 제2 아바타 특징부의 외관을 업데이트하는 것. 얼굴의 추적이 실패한 이후 아바타의 외관과 상이하고 제3 외관과 상이한 제4 외관으로 제2 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 2614)의 외관은 제1 변화율로(예를 들어, (예를 들어, 얼굴이 더 이상 검출되지 않기 전에) 제1 얼굴 특징부(예를 들어, 2604)의 검출된 변화율에 기초하여) 업데이트되고, 제2 아바타 특징부(예를 들어, 2616)의 외관은 제1 변화율과 상이한 제2 변화율로(예를 들어, (예를 들어, 얼굴이 더 이상 검출되지 않기 전에) 제2 얼굴 특징부(예를 들어, 2606)의 검출된 변화율에 기초하여) 업데이트된다. 제1 변화율로 제1 아바타 특징부의 외관을 업데이트하는 것 및 제1 변화율과 상이한 제2 변화율로 제2 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 실패한 경우에도, 사용자가 가상 아바타를 수정하기 위한 프로세스를 계속하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 머리(예를 들어, 2614)이고, 제2 아바타 특징부는 가상 아바타(예를 들어, 2600)의 얼굴 특징부(예를 들어, 2616)(예를 들어, 아바타 입, 눈들 등)이다. 일부 실시예들에서, 아바타 머리는 아바타의 얼굴 특징부가 계속 이동되는 속도보다 빠른 속도로 계속 이동(예를 들어, 회전)된다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트하는 것은 제1 물리 모델(예를 들어, 관성 모델, 중력 모델, 힘 전달 모델, 마찰 모델)에 따라 외관을 업데이트하는 것을 포함하고, 제2 아바타 특징부(예를 들어, 2616)의 외관을 업데이트하는 것은 제1 물리 모델과 상이한(예를 들어, 상이한 양의 마찰과 같은 상이한 정도의 감쇠를 갖는) 제2 물리 모델에 따라 외관을 업데이트하는 것을 포함한다. 제1 물리 모델에 따라 제1 아바타 특징부의 외관을 업데이트하는 것 및 제1 물리 모델과 상이한 제2 물리 모델에 따라 제2 아바타 특징부의 외관을 업데이트하는 것은, 사용자의 얼굴 특징부들의 변화들이 아바타 특징부들에 적용된 상이한 물리 모델들에 기초하여 상이한 방식으로 제1 및 제2 아바타 특징부들에 대한 변화들을 달성한다는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 2614)(예를 들어, 아바타 머리)의 외관은 제1 감소 변화율로 업데이트되고(예를 들어, 아바타의 머리에 대한 업데이트는 사용자의 제1 얼굴 특징부의 변화된 방향에 기초한 아바타 머리의 움직임의 감소이다), 제2 아바타 특징부(예를 들어, 2616)(예를 들어, 아바타의 입)의 외관은 제1 감소 변화율과 상이한 제2 감소 변화율로 업데이트된다(예를 들어, 아바타의 입에 대한 업데이트는 사용자의 제2 얼굴 특징부의 변화된 방향에 기초한 아바타의 입의 움직임의 감소이다). 제1 감소 변화율로 제1 아바타 특징부의 외관을 업데이트하는 것 및 제1 감소 변화율과 상이한 제2 감소 변화율로 제2 아바타 특징부의 외관을 업데이트하는 것은, 얼굴 추적이 상실될 때, 제1 및 제2 아바타 특징부들에 대한 업데이트들이 상이한 방식으로 적용된다는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부는 아바타 머리(예를 들어, 2614)이고, 제2 아바타 특징부는 가상 아바타(예를 들어, 2600)의 얼굴 특징부(예를 들어, 2616)(예를 들어, 아바타 입, 눈들, 등)이며, 제2 감소 변화율은 제1 감소 변화율의 감소 속도보다 빠른 속도로 감소한다(예를 들어, 제2 아바타 특징부의 움직임(예를 들어, 아바타의 입의 열기 또는 닫기, 웃음 또는 찌푸림으로의 아바타의 입의 움직임, 아바타의 눈썹들의 올라감 또는 내려감 등)은 제1 아바타 특징부(예를 들어, 아바타의 머리)의 움직임의 감소보다 큰 속도로 감소한다).
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 2614)의 외관은 제1 아바타 특징부의 모션 범위(예를 들어, 제1 아바타 특징부와 연관된 전체 모션 범위를 표현하는 범위)와 연관된 값이 미리 결정된 값(예를 들어, 모션 범위의 최대 값보다 작은 모션 범위 내의 값)에 도달할 때까지 업데이트된다. 일부 실시예들에서, 아바타 머리와 연관된 모션 범위는 아바타의 머리의 전방-대면 위치로부터 90도의 회전이고, 미리 결정된 값은 아바타의 머리의 전방-대면 위치로부터 75도이다. 일부 실시예들에서, 미리 결정된 값은 제1 아바타 특징부의 업데이트된 외관이 미리 결정된 값에 도달하기 전에 결정되어, 제1 아바타 특징부가 업데이트되는 속도는 미리 결정된 값에 도달될 때 업데이트의 급격한 종료를 피하도록 점진적으로 감소될 수 있다(예를 들어, 그에 의해, 업데이트에 대한 급작스러운 중지에 의해 야기되는 제1 아바타 특징부 및 다른 아바타 특징부들(예를 들어, 제1 아바타 특징부에 대한 업데이트들에 의해 영향을 받는 물리 모델을 갖는 것들)의 저킹 효과를 피한다). 제1 아바타 특징부의 모션 범위와 연관된 값이 미리 결정된 값에 도달할 때까지 제1 아바타 특징부의 외관을 업데이트하는 것은, 사용자의 얼굴이 더 이상 추적되고 있지 않을 경우에도 가상 아바타의 현재 상태의 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제2 아바타 특징부(예를 들어, 2616)의 외관은 제2 아바타 특징부의 모션 범위(예를 들어, 제1 아바타 특징부와 연관된 전체 모션 범위를 표현하는 범위)와 연관된 값이 미리 결정된 값(예를 들어, 모션 범위의 최대 값보다 작은 모션 범위 내의 값)에 도달할 때까지 업데이트된다. 일부 실시예들에서, 아바타의 입과 연관된 모션 범위는 0 내지 100의 범위이고, 아바타의 입에 대한 범위 내의 미리 결정된 값은 75이다. 일부 실시예들에서, 미리 결정된 값은 제2 아바타 특징부의 업데이트된 외관이 미리 결정된 값에 도달하기 전에 결정되어, 제2 아바타 특징부가 업데이트되는 속도는 미리 결정된 값에 도달될 때 업데이트의 급격한 종료를 피하도록 점진적으로 감소될 수 있다(예를 들어, 그에 의해, 업데이트에 대한 급작스러운 중지에 의해 야기되는 제2 아바타 특징부 및 다른 아바타 특징부들(예를 들어, 제2 아바타 특징부에 대한 업데이트들에 의해 영향을 받는 물리 모델을 갖는 것들)의 저킹 효과를 피한다). 제2 아바타 특징부의 모션 범위와 연관된 값이 미리 결정된 값에 도달할 때까지 제2 아바타 특징부의 외관을 업데이트하는 것은, 사용자의 얼굴이 더 이상 추적되고 있지 않을 경우에도 가상 아바타의 현재 상태의 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제1 아바타 특징부(예를 들어, 2614)의 외관은 제1 감소 변화율의 스케일링된 값에 기초하여 업데이트된다(예를 들어, 얼굴이 더 이상 검출되지 않은 이후 제1 아바타 특징부에 대한 디스플레이된 변화는 얼굴 추적이 상실되었던 시간에서의(또는 얼굴 추적을 상실하기 직전의) 제1 얼굴 특징부의 벡터의 스케일링된 값에 기초하여 결정된다). 일부 실시예들에서, 스케일링된 값은 제1 아바타 특징부의 업데이트된 외관이 스케일링된 값에 도달하기 전에 결정되어, 제1 아바타 특징부가 업데이트되는 속도는 스케일링된 값에 도달될 때 업데이트의 급격한 종료를 피하도록 점진적으로 감소될 수 있다(예를 들어, 그에 의해, 업데이트에 대한 급작스러운 중지에 의해 야기되는 제1 아바타 특징부 및 다른 아바타 특징부들(예를 들어, 제1 아바타 특징부에 대한 업데이트들에 의해 영향을 받는 물리 모델을 갖는 것들)의 저킹 효과를 피한다). 제1 감소 변화율의 스케일링된 값에 기초하여 제1 아바타 특징부의 외관을 업데이트하는 것은, 사용자의 얼굴이 더 이상 추적되고 있지 않을 경우에도 가상 아바타의 현재 상태의 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제2 아바타 특징부(예를 들어, 2616)의 외관은 제2 감소 변화율의 스케일링된 값에 기초하여 업데이트된다(예를 들어, 얼굴이 더 이상 검출되지 않은 이후 제2 아바타 특징부에 대한 디스플레이된 변화는 얼굴 추적이 상실되었던 시간에서의(또는 얼굴 추적을 상실하기 직전의) 제2 얼굴 특징부의 벡터의 스케일링된 값에 기초하여 결정된다). 일부 실시예들에서, 스케일링된 값은 제2 아바타 특징부의 업데이트된 외관이 스케일링된 값에 도달하기 전에 결정되어, 제2 아바타 특징부가 업데이트되는 속도는 스케일링된 값에 도달될 때 업데이트의 급격한 종료를 피하도록 점진적으로 감소될 수 있다(예를 들어, 그에 의해, 업데이트에 대한 급작스러운 중지에 의해 야기되는 제2 아바타 특징부 및 다른 아바타 특징부들(예를 들어, 제2 아바타 특징부에 대한 업데이트들에 의해 영향을 받는 물리 모델을 갖는 것들)의 저킹 효과를 피한다). 제2 감소 변화율의 스케일링된 값에 기초하여 제2 아바타 특징부의 외관을 업데이트하는 것은, 사용자의 얼굴이 더 이상 추적되고 있지 않을 경우에도 가상 아바타의 현재 상태의 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 제2 아바타 특징부(예를 들어, 2616)의 외관은 제2 아바타 특징부가 미리 결정된 위치에 도달할 때까지 업데이트된다(예를 들어, 미리 결정된 위치는 제2 아바타 특징부에 대한 변화의 크기에 대한 제한으로서 기능하는 미리 설정된 값으로서 결정된다). 일부 실시예들에서, 미리 결정된 위치는 제2 아바타 특징부의 업데이트된 외관이 미리 결정된 위치에 도달하기 전에 결정되어, 제2 아바타 특징부가 업데이트되는 속도는 미리 결정된 위치에 도달될 때 업데이트의 급격한 종료를 피하도록 점진적으로 감소될 수 있다(예를 들어, 그에 의해, 업데이트에 대한 급작스러운 중지에 의해 야기되는 제2 아바타 특징부 및 다른 아바타 특징부들(예를 들어, 제2 아바타 특징부에 대한 업데이트들에 의해 영향을 받는 물리 모델을 갖는 것들)의 저킹 효과를 피한다). 제2 아바타 특징부의 외관을 그것이 미리 결정된 위치에 도달할 때까지 업데이트하는 것은, 사용자의 얼굴이 더 이상 추적되고 있지 않을 경우에도 가상 아바타의 현재 상태의 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴(예를 들어, 2604, 2606)이 임계량의 시간(예를 들어, 1.5초) 동안 하나 이상의 카메라들(예를 들어, 602)의 시야 내에서 검출되지 않았다고 결정하는 것에 응답하여, 전자 디바이스(예를 들어, 600)는 제1 디폴트 포즈(예를 들어, 2603J)(예를 들어, 가상 아바타를 나타내는 디스플레이된 구역 내에서 제1 아바타 특징부(예를 들어, 아바타 머리)의 회전 또는 병진이동을 갖지 않는 전방-대면 위치)로 제1 아바타 특징부(예를 들어, 2614)의 외관을 업데이트한다. 일부 실시예들에서, 이러한 업데이트는, 제1 아바타 특징부가 디폴트 포즈로 이동되는 것의 매끄러운 애니메이션(예를 들어, 2603I)이다. 일부 실시예들에서, 디폴트 포즈는 얼굴 추적이 실패했을 때의 제1 얼굴 특징부의 변화 특성들과는 독립적으로 결정된다(예를 들어, 미리 결정된다). 제1 디폴트 포즈로 제1 아바타 특징부의 외관을 업데이트하는 것은 사용자의 얼굴이 일정 시간 기간 동안 카메라들의 시야에서 검출되지 않았고 디바이스가 더 이상 가상 아바타를 수정하고 있지 않는다는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴(예를 들어, 2604, 2606)이 임계량의 시간(예를 들어, 1.5초) 동안 하나 이상의 카메라들(예를 들어, 602)의 시야 내에서 검출되지 않았다고 결정하는 것에 응답하여, 전자 디바이스(예를 들어, 600)는 제2 디폴트 포즈(예를 들어, 2603J)(예를 들어, 제2 아바타 특징부의 중립 포즈와 연관된 제2 아바타 특징부(예를 들어, 아바타 입)의 위치)로 제2 아바타 특징부(예를 들어, 2616)의 외관을 업데이트한다. 일부 실시예들에서, 이러한 업데이트는, 제2 아바타 특징부가 디폴트 포즈로 이동되는 것의 매끄러운 애니메이션(예를 들어, 2603I)이다. 일부 실시예들에서, 디폴트 포즈는 얼굴 추적이 실패했을 때의 제2 얼굴 특징부의 변화 특성들과는 독립적으로 결정된다. 제2 디폴트 포즈로 제2 아바타 특징부의 외관을 업데이트하는 것은 사용자의 얼굴이 일정 시간 기간 동안 카메라들의 시야에서 검출되지 않았고 디바이스가 더 이상 가상 아바타를 수정하고 있지 않는다는 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 임계량의 시간은 제1 아바타 특징부(예를 들어, 2614)의 외관이 업데이트된 이후(예를 들어, 2603D) 그리고 제2 아바타 특징부(예를 들어, 2616)의 외관이 업데이트된 이후(예를 들어, 2603D) 달성된다(예를 들어, 제1 및 제2 아바타 특징부들은, 얼굴이 하나 이상의 카메라들의 시야에서 검출되었을 때 검출되었던 제1 및 제2 얼굴 특징부들에 대한 변화들에 기초하여 업데이트된 이후 그들 개개의 디폴트 포즈들로 이동된다).
일부 실시예들에서, 방법(2700)은 다음의 단계들 중 하나 이상을 더 포함한다.
일부 실시예들에서, 하나 이상의 카메라들(예를 들어, 602)의 시야에서의 얼굴의 추적이 실패했다고 결정하기 전에, 디바이스(예를 들어, 600)는 포즈의 제2 변화(예를 들어, 포즈의 제1 변화 전에 발생하는 포즈의 변화)로 하나 이상의 카메라들의 시야 내에서 얼굴을 검출하며, 포즈의 제2 변화는 복수의 검출된 얼굴 특징부들(예를 들어, 2604, 2606)에 대한 제2 변화(예를 들어, 얼굴이 하나 이상의 카메라들의 시야에서 여전히 검출되는 동안 얼굴 특징부 또는 얼굴 특징부들의 세트의 변화의 방향)를 포함한다.
일부 실시예들에서, 포즈의 제2 변화로 하나 이상의 카메라들의 시야에서 얼굴을 검출하는 것에 응답하여, 방법(2700)은 다음의 실시예들 중 하나 이상을 더 포함한다.
일부 실시예들에서, 얼굴을 추적하는 동안 복수의 검출된 얼굴 특징부들이 제5 변화 특성들을 가졌다는 결정에 따라(예를 들어, 사용자의 머리는 위로 틸팅되고, 사용자의 눈들은 측부를 보며, 사용자의 입은 열려있음), 디바이스(예를 들어, 600)는 (예를 들어, 카메라의 시야에서 얼굴을 검출하는 동안, 가상 아바타를 계속 업데이트/이동시키기 위해) 제5 변화 특성들에 기초하는 제5 외관으로 가상 아바타(예를 들어, 2600)의 제1 아바타 특징부(예를 들어, 2614, 2616)의 외관을 업데이트한다(예를 들어, 아바타 머리의 각도, 아바타의 눈들의 위치, 및 아바타의 입의 위치를 업데이트한다). 얼굴 추적이 실패하기 전에 검출된 제5 변화 특성들에 기초하는 제5 외관으로 제1 아바타 특징부의 외관을 업데이트하는 것은, 사용자가 사용자 입력을 수신하기 위한 인터페이스를 디스플레이할 필요 없이 가상 아바타를 제어하기 위한 입력을 제공하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
일부 실시예들에서, 얼굴을 추적하는 동안 복수의 검출된 얼굴 특징부들이 제6 변화 특성들을 가졌다는 결정에 따라(예를 들어, 사용자의 머리는 상이한 방향으로 틸팅되고, 사용자의 눈들은 상이한 방향을 보며, 사용자의 입은 상이한 방향으로 이동됨; 예를 들어, 사용자의 머리는 아래로 틸팅되고, 사용자의 눈들은 전방을 보며, 사용자의 입은 닫혀있음), 디바이스(예를 들어, 600)는 제6 변화 특성들에 기초하고 제5 외관과 상이한 제6 외관으로 가상 아바타(예를 들어, 2600)의 제1 아바타 특징부(예를 들어, 2614, 2616)의 외관을 업데이트한다. 일부 실시예들에서, 아바타에 대한 업데이트들은 동시에 발생하는 사용자의 얼굴의 다수의 특징부들에 대한 검출된 변화들에 기초한다. 일부 실시예들에서, 얼굴이 계속 검출되는 동안, 얼굴의 포즈의 변화가 검출된 때로부터 가상 아바타가 업데이트되는 때까지의 시간 기간(예를 들어, 반응 시간 기간, 반응 지연 시간 기간) 내에서 가상 아바타에 대한 업데이트들이 발생하며, 그 시간 기간은 얼굴의 포즈의 검출된 제1 변화와, 얼굴이 더 이상 검출되지 않은 이후 발생한 아바타 특징부에 대한 업데이트 사이의 시간 기간보다 짧다. 즉, 얼굴이 더 이상 검출되지 않은 이후의 가상 아바타의 업데이트는, 얼굴이 여전히 검출되는 동안 발생하는 업데이트들과 비교하여, 업데이트가 기초로 하는 포즈의 변화로부터의 더 큰 기간만큼 시간상 오프셋된다. 얼굴 추적이 실패하기 전에 검출된 제6 변화 특성들에 기초하고 제5 외관과 상이한 제6 외관으로 제1 아바타 특징부의 외관을 업데이트하는 것은, 사용자가 사용자 입력을 수신하기 위한 인터페이스를 디스플레이할 필요 없이 가상 아바타를 제어하기 위한 입력을 제공하게 허용함으로써 디바이스에 대한 더 많은 제어를 사용자에게 제공한다. 부가적인 디스플레이된 제어부들로 UI를 클러터링하지 않으면서 디바이스의 부가적인 제어를 제공하는 것은, (예를 들어, 디바이스를 동작시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 부가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.
방법(2700)(예를 들어, 도 27)에 대해 위에서 설명된 프로세스들의 세부사항들은 또한 위에서 설명된 방법들과 유사한 방식으로 적용가능함을 유의한다. 예를 들어, 방법(800)은 선택적으로 방법(2700)을 참조하여 위에서 설명된 다양한 방법들의 특성들 중 하나 이상의 특성들을 포함한다. 예를 들어, 얼굴의 검출된 변화들에 응답하여 수정되는 가상 아바타의 미리보기를 디스플레이할 때, 디바이스는, 방법(800)에서 논의된 가상 아바타 수정들 동안 얼굴 추적이 상실되면, 방법(2700)에서 제공된 단계들에 따라 가상 아바타를 계속 수정할 수 있다. 다른 예로서, 방법(900)은 선택적으로 방법(2700)을 참조하여 위에서 설명된 다양한 방법들의 특성들 중 하나 이상을 포함한다. 예를 들어, 얼굴의 검출된 변화들에 응답하여 수정되는 가상 아바타의 미리보기를 디스플레이할 때, 디바이스는, 방법(900)에서 논의된 가상 아바타 수정들 동안 얼굴 추적이 상실되면, 방법(2700)에서 제공된 단계들에 따라 가상 아바타를 계속 수정할 수 있다. 간결함을 위해, 이들 세부사항들은 아래에서 반복되지 않는다.
전술한 설명은, 설명의 목적을 위해, 특정 실시예들을 참조하여 설명되었다. 그러나, 상기의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 규명하거나 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 상기 교시 내용들의 관점에서 가능하다. 실시예들은 기법들의 원리들 및 그것들의 실제적인 응용예들을 가장 잘 설명하기 위하여 선택되고 설명되었다. 따라서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자들은 고려된 특정 사용에 적합한 바와 같이 다양한 수정을 이용하여 기법들 및 다양한 실시예들을 최상으로 활용하는 것이 가능하게 된다.
본 개시내용 및 예들이 첨부의 도면들을 참조하여 충분히 설명되었지만, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 다양한 변경들 및 수정들이 명백할 것이라는 것에 유의해야 한다. 그러한 변경들 및 수정들은 청구항들에 의해 정의되는 바와 같은 개시내용 및 예들의 범주 내에 포함되는 것으로 이해되어야 한다.
위에서 설명된 바와 같이, 본 기술의 일 태양은 다른 사용자들과 공유하기 위한 다양한 소스들로부터 이용가능한 데이터의 수집 및 사용이다. 본 발명은, 일부 경우들에 있어서, 이러한 수집된 데이터가 특정 개인을 고유하게 식별하거나 또는 그와 연락하거나 그의 위치를 확인하는 데 이용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 인구통계 데이터, 위치 기반 데이터, 전화번호들, 이메일 주소들, 트위터 ID들, 집 주소들, 사용자의 건강 또는 피트니스 레벨에 관한 데이터 또는 기록들(예를 들어, 바이탈 사인(vital sign) 측정치들, 약물 정보, 운동 정보), 생년월일, 또는 임의의 다른 식별 또는 개인 정보를 포함할 수 있다.
본 발명은 본 기술에서의 그러한 개인 정보 데이터의 이용이 사용자들의 이득에 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 더 양호하게 통신하고 대화에서 사용자를 표현하는 데 사용될 수 있다. 추가로, 사용자에게 이득을 주는 개인 정보 데이터에 대한 다른 이용들이 또한 본 발명에 의해 고려된다. 예를 들어, 건강 및 피트니스 데이터는 사용자의 일반적인 웰니스(wellness)에 대한 통찰력을 제공하는 데 사용될 수 있거나, 또는 웰니스 목표를 추구하기 위한 기술을 이용하여 개인들에게 긍정적인 피드백으로서 사용될 수 있다.
본 발명은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전달, 저장, 또는 다른 이용을 책임지고 있는 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은, 대체로 개인 정보 데이터를 사적이고 안전하게 유지시키기 위한 산업적 또는 행정적 요건들을 충족시키거나 넘어서는 것으로 인식되는 프라이버시 정책들 및 관례들을 구현하고 지속적으로 이용해야 한다. 그러한 정책들은 사용자들에 의해 쉽게 액세스가능해야 하고, 데이터의 수집 및/또는 이용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 엔티티의 적법하며 적정한 사용들을 위해 수집되어야 하고, 이들 적법한 사용들을 벗어나서 공유되거나 판매되지 않아야 한다. 또한, 그러한 수집/공유는 사용자들의 통지된 동의를 수신한 후에 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 추가로, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되는 특정 타입들의 개인 정보 데이터에 대해 조정되고, 관할구역 특정 고려사항들을 비롯한 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 연방법 및/또는 주의 법, 예를 들어 미국 건강 보험 양도 및 책임 법령(Health Insurance Portability and Accountability Act, HIPAA)에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 규정들 및 정책들의 적용을 받을 수 있고 그에 따라 취급되어야 한다. 따라서, 상이한 프라이버시 관례들은 각각의 국가의 상이한 개인 데이터 타입들에 대해 유지되어야 한다.
전술한 것에도 불구하고, 본 발명은, 또한, 사용자가 개인 정보 데이터의 이용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 발명은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, 광고 전달 서비스들의 경우에, 본 기술은 사용자들이 서비스를 위한 등록 중 또는 이후 임의의 시간에 개인 정보 데이터의 수집 시의 참여의 "동의함" 또는 "동의하지 않음"을 선택하는 것을 허용하도록 구성될 수 있다. "동의" 및 "동의하지 않음" 옵션들을 제공하는 것에 더하여, 본 발명은 개인 정보의 액세스 또는 이용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
또한, 의도하지 않은 또는 인가되지 않은 액세스 또는 이용의 위험을 최소화하는 방식으로 개인 정보 데이터가 관리되고 처리되어야 한다는 것이 본 발명의 의도이다. 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않게 되면 데이터를 삭제함으로써 위험이 최소화될 수 있다. 추가로, 그리고 소정의 건강 관련 애플리케이션들에 적용하는 것을 비롯하여, 적용가능할 때, 사용자의 프라이버시를 보호하기 위해 데이터 식별해제가 사용될 수 있다. 적절한 경우, 특정 식별자들(예를 들어, 생년월일 등)을 제거함으로써, 저장된 데이터의 양 또는 특이성을 제어함으로써(예를 들어, 주소 수준이라기보다는 오히려 도시 수준에서 위치 데이터를 수집함으로써), 데이터가 저장되는 방식을 제어함으로써(예를 들어, 사용자들에 걸쳐 데이터를 집계함으로써), 그리고/또는 다른 방법들에 의해, 식별해제가 용이하게 될 수 있다.
따라서, 본 발명이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 이용을 광범위하게 커버하지만, 본 발명은, 또한, 다양한 실시예들이 그러한 개인 정보 데이터에 액세스할 필요 없이 또한 구현될 수 있다는 것을 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 전부 또는 일부의 결여로 인해 동작불가능하게 되지는 않는다.

Claims (18)

  1. 방법으로서,
    하나 이상의 카메라 및 디스플레이 장치를 갖는 전자 디바이스에서:
    상기 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 상기 가상 아바타는:
    상기 하나 이상의 카메라의 시야 내의 얼굴의 제1 물리적 특징부 및 상기 하나 이상의 카메라의 시야 내의 상기 얼굴의 제2 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부, 및
    제2 아바타 특징부를 포함함 -;
    상기 디스플레이 장치를 통해 상기 가상 아바타를 디스플레이하는 동안, 상기 하나 이상의 카메라의 시야 내의 상기 얼굴의 하나 이상의 물리적 특징부의 변화들을 검출하는 단계;
    상기 변화들이 상기 제1 물리적 특징부의 변화를 포함한다는 결정에 따라:
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계 - 상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 제1 물리적 특징부의 상기 변화의 크기에 기초하여 상기 제1 아바타 특징부를 수정하는 단계를 포함함 -, 및
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 것을 보류하는 단계; 및
    상기 변화들이 상기 제2 물리적 특징부의 변화를 포함한다는 결정에 따라:
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계 - 상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계는 상기 제2 물리적 특징부의 상기 변화의 크기에 기초하여 상기 제1 아바타 특징부를 수정하는 단계를 포함함 -, 및
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 것을 보류하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제2 아바타 특징부는 상기 제1 물리적 특징부 및 상기 제2 물리적 특징부와 상이한 제3 물리적 특징부의 변화들에 반응하고, 상기 방법은:
    상기 얼굴의 하나 이상의 물리적 특징부의 변화들이 상기 얼굴의 상기 제3 물리적 특징부의 변화를 포함한다는 결정에 따라:
    상기 제3 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서, 상기 제1 아바타 특징부는 상기 제1 물리적 특징부 및 상기 제2 물리적 특징부 중 적어도 하나와 해부학적으로(anatomically) 구별되고, 상기 제2 아바타 특징부는 상기 제3 물리적 특징부에 해부학적으로 대응하는, 방법.
  4. 제2항에 있어서,
    상기 제3 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 단계는 상기 제3 물리적 특징부의 상기 변화의 크기에 기초하여 상기 제2 아바타 특징부를 수정하는 단계를 포함하는, 방법.
  5. 제2항에 있어서,
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제2 아바타 특징부를 수정하는 단계는 상기 제3 물리적 특징부의 포즈의 변화의 방향에 기초하여 상기 제2 아바타 특징부의 적어도 일부의 포즈를 수정하는 단계를 포함하는, 방법.
  6. 제2항에 있어서,
    상기 제1 아바타 특징부는 아바타 입을 포함하고;
    상기 제2 아바타 특징부는 아바타 치아의 적어도 일부를 포함하고;
    상기 제1 물리적 특징부는 사용자의 입술의 적어도 일부를 포함하고;
    상기 제3 물리적 특징부는 사용자의 입의 적어도 일부를 포함하고;
    상기 제1 물리적 특징부의 상기 변화는 상기 사용자의 입술의 적어도 일부의 제1 위치로부터 제2 위치로의 변위를 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 사용자의 입술의 적어도 일부의 상기 제2 위치에 기초하여 상기 아바타 입의 형상을 수정하는 단계를 포함하고;
    상기 제3 물리적 특징부의 상기 변화는 상기 사용자의 입의 적어도 일부를 열거나 또는 닫는 것을 포함하고; 그리고
    상기 제3 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 단계는, 상기 아바타 치아의 제1 부분과 상기 아바타 치아의 제2 부분 사이의 수직 간격을 수정하는 단계를 포함하고, 상기 수직 간격의 크기는 상기 사용자의 입의 적어도 일부의 열리거나 닫힌 크기에 기초하는, 방법.
  7. 제1항에 있어서, 상기 제1 물리적 특징부의 상기 변화는 상기 얼굴의 상기 제1 물리적 특징부의 수직 변위를 적어도 포함하고, 상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계는 상기 제1 아바타 특징부의 적어도 일부의 수직 변위 및 상기 제1 아바타 특징부의 적어도 일부의 수평 변위 중 적어도 하나를 포함하는 방향으로 상기 제1 아바타 특징부를 이동시키는 단계를 포함하는, 방법.
  8. 제1항에 있어서, 상기 제1 물리적 특징부의 상기 변화는 상기 얼굴의 상기 제1 물리적 특징부의 변위를 적어도 포함하고, 상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 제1 아바타 특징부의 적어도 일부를 회전시키는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 제1 아바타 특징부는 아바타 귀를 포함하고;
    상기 제1 물리적 특징부는 사용자의 입의 적어도 코너 구역을 포함하고;
    상기 제1 물리적 특징부의 상기 변화는 상기 사용자의 입의 적어도 코너 구역의 변위를 적어도 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계는 상기 사용자의 입의 적어도 코너 구역의 변위의 크기에 기초하여 상기 아바타 귀의 적어도 일부를 회전시키는 단계를 포함하는, 방법.
  10. 제9항에 있어서,
    상기 제2 물리적 특징부는 사용자의 눈썹의 적어도 일부를 포함하고;
    상기 얼굴의 하나 이상의 물리적 특징부의 변화들은 상기 사용자의 눈썹의 위치의 수직 시프트를 포함하고;
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 것은 상기 아바타 귀의 위치를 수직으로 시프트시키는 것을 포함하는, 방법.
  11. 제1항에 있어서,
    상기 얼굴의 하나 이상의 물리적 특징부의 변화들은 제1 크기의 상기 제1 물리적 특징부의 변화 및 제2 크기의 상기 제2 물리적 특징부의 변화를 포함하고,
    상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 제1 크기 및 상기 제2 크기 둘 모두에 기초한 수정 크기만큼 상기 제1 아바타 특징부를 수정하는 단계를 포함하는, 방법.
  12. 제1항에 있어서,
    상기 제1 아바타 특징부는 아바타 귀를 포함하고;
    상기 제1 물리적 특징부는 사용자의 눈썹의 적어도 일부를 포함하고;
    상기 얼굴의 하나 이상의 물리적 특징부의 변화들은 상기 사용자의 눈썹의 위치의 수직 시프트를 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 아바타 귀의 위치를 수평으로 시프트시키는 단계를 포함하는, 방법.
  13. 제1항에 있어서,
    상기 제1 아바타 특징부는 아바타 눈을 포함하고;
    상기 제1 물리적 특징부는 사용자의 눈의 적어도 일부를 포함하고;
    상기 제2 물리적 특징부는 사용자의 눈썹의 적어도 일부를 포함하고;
    상기 제1 물리적 특징부의 상기 변화는 상기 사용자의 눈의 홍채 부분의 변위 및 상기 사용자의 눈의 적어도 일부의 크기의 변화 중 적어도 하나를 포함하고;
    상기 제2 물리적 특징부의 상기 변화는 상기 사용자의 눈썹의 적어도 일부의 수직 변위를 적어도 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계는, 상기 제1 물리적 특징부의 상기 변화가 상기 사용자의 눈의 홍채 부분의 변위를 포함할 때 상기 아바타 눈의 적어도 일부를 병진이동시키는 단계를 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계는 상기 제1 물리적 특징부의 상기 변화가 상기 사용자의 눈의 적어도 일부의 크기의 변화를 포함할 때 상기 아바타 눈의 적어도 일부의 크기를 조정하는 단계를 포함하고;
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계는 상기 아바타 눈의 적어도 일부의 회전 정도를 조정하는 단계를 포함하고, 상기 회전 정도는 상기 사용자의 눈썹의 적어도 일부의 수직 변위에 기초하는, 방법.
  14. 제1항에 있어서,
    상기 제1 아바타 특징부는 아바타 코의 적어도 일부를 포함하고;
    상기 제1 물리적 특징부는 사용자의 눈썹의 적어도 일부를 포함하고;
    상기 제2 물리적 특징부는 사용자의 입술의 적어도 일부를 포함하고;
    상기 제1 물리적 특징부의 상기 변화는 상기 사용자의 눈썹의 적어도 일부의 수직 변위를 적어도 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는, 상기 사용자의 눈썹의 적어도 일부의 수직 변위의 방향에 기초하여 상기 아바타 코의 위치를 수정하는 단계를 포함하고, 상기 아바타 코의 위치는 상기 사용자의 눈썹의 적어도 일부의 수직 변위의 방향에 기초하여 결정되는 방향으로 수정되고;
    상기 제2 물리적 특징부의 변화는 상기 사용자의 입술의 적어도 일부의 수평 변위 및 상기 사용자의 입술의 적어도 일부의 수직 변위 중 적어도 하나를 포함하고;
    상기 제2 물리적 특징부의 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는, 상기 사용자의 입술의 적어도 일부의 수평 변위의 방향에 기초하고 상기 사용자의 입술의 적어도 일부의 수직 변위의 방향에 기초하여 상기 아바타 코의 위치를 추가로 수정하는 단계를 포함하고, 상기 아바타 코의 위치는 상기 사용자의 입술의 적어도 일부의 수평 변위의 방향에 대응하는 방향 및 상기 사용자의 입술의 적어도 일부의 수직 변위의 방향에 대응하는 방향으로 추가로 수정되는, 방법.
  15. 제1항에 있어서,
    상기 제1 아바타 특징부는 아바타 헤어 특징부를 포함하고;
    상기 제1 물리적 특징부는 사용자의 눈썹의 적어도 일부를 포함하고;
    상기 제2 물리적 특징부는 사용자의 머리의 적어도 일부를 포함하고;
    상기 제1 물리적 특징부의 상기 변화는 상기 사용자의 눈썹의 적어도 일부의 적어도 수직 변위를 포함하고;
    상기 제2 물리적 특징부의 상기 변화는 상기 사용자의 머리의 포즈의 변화를 포함하고;
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 사용자의 눈썹의 적어도 일부의 수직 변위의 방향에 기초하여 상기 아바타 헤어 특징부의 적어도 일부를 변위시키는 단계를 포함하고;
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 사용자의 머리의 포즈의 변화의 방향 또는 크기에 기초하여 상기 아바타 헤어 특징부의 적어도 일부를 회전시키는 단계를 포함하는, 방법.
  16. 방법으로서,
    하나 이상의 카메라 및 디스플레이 장치를 갖는 전자 디바이스에서:
    상기 디스플레이 장치를 통해 가상 아바타를 디스플레이하는 단계 - 상기 가상 아바타는:
    상기 하나 이상의 카메라의 시야 내의 얼굴의 제1 물리적 특징부 및 상기 하나 이상의 카메라의 시야 내의 상기 얼굴의 제2 물리적 특징부의 변화들에 반응하는 제1 아바타 특징부, 및
    제2 아바타 특징부를 포함함 -;
    상기 디스플레이 장치를 통해 상기 가상 아바타를 디스플레이하는 동안, 상기 하나 이상의 카메라의 시야 내의 상기 얼굴의 하나 이상의 물리적 특징부의 변화들을 검출하는 단계;
    상기 변화들이 상기 제1 물리적 특징부의 변화를 포함한다는 결정에 따라:
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계 - 상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 제1 물리적 특징부의 포즈의 변화의 방향에 기초하여 상기 제1 아바타 특징부의 적어도 일부의 포즈를 수정하는 단계를 포함함 -, 및
    상기 제1 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 것을 보류하는 단계; 및
    상기 변화들이 상기 제2 물리적 특징부의 변화를 포함한다는 결정에 따라:
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제1 아바타 특징부를 수정하는 단계 - 상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 가상 아바타의 상기 제1 아바타 특징부를 수정하는 단계는 상기 제2 물리적 특징부의 포즈의 변화의 방향에 기초하여 상기 제1 아바타 특징부의 적어도 일부의 포즈를 수정하는 단계를 포함함 -, 및
    상기 제2 물리적 특징부의 상기 변화에 기초하여 상기 제2 아바타 특징부를 수정하는 것을 보류하는 단계를 포함하는, 방법.
  17. 하나 이상의 카메라 및 디스플레이 장치를 갖는 전자 디바이스의 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램을 저장한 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램은 제1항 내지 제16항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 전자 디바이스로서,
    하나 이상의 카메라;
    디스플레이 장치;
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램을 저장한 메모리를 포함하며, 상기 하나 이상의 프로그램은 제1항 내지 제16항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 전자 디바이스.
KR1020237021441A 2017-05-16 2018-05-16 이모지 레코딩 및 전송 KR102585858B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237033560A KR20230144661A (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Applications Claiming Priority (22)

Application Number Priority Date Filing Date Title
US201762507177P 2017-05-16 2017-05-16
US62/507,177 2017-05-16
DKPA201770393 2017-05-29
DKPA201770393A DK201770393A1 (en) 2017-05-16 2017-05-29 Emoji recording and sending
US201762556412P 2017-09-09 2017-09-09
US62/556,412 2017-09-09
US201762557121P 2017-09-11 2017-09-11
US62/557,121 2017-09-11
DKPA201770721A DK179867B1 (en) 2017-05-16 2017-09-22 RECORDING AND SENDING EMOJI
DKPA201770721 2017-09-22
DKPA201770720A DK179948B1 (en) 2017-05-16 2017-09-22 Recording and sending Emoji
DKPA201770720 2017-09-22
US15/870,195 US10521091B2 (en) 2017-05-16 2018-01-12 Emoji recording and sending
US15/870,195 2018-01-12
US15/940,017 2018-03-29
US15/940,232 2018-03-29
US15/940,017 US10845968B2 (en) 2017-05-16 2018-03-29 Emoji recording and sending
US15/940,232 US10379719B2 (en) 2017-05-16 2018-03-29 Emoji recording and sending
US201862671979P 2018-05-15 2018-05-15
US62/671,979 2018-05-15
PCT/US2018/033044 WO2018213500A1 (en) 2017-05-16 2018-05-16 Emoji recording and sending
KR1020227029803A KR102549029B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020227029803A Division KR102549029B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237033560A Division KR20230144661A (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Publications (2)

Publication Number Publication Date
KR20230101936A KR20230101936A (ko) 2023-07-06
KR102585858B1 true KR102585858B1 (ko) 2023-10-11

Family

ID=64272571

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020237033560A KR20230144661A (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송
KR1020237021441A KR102585858B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송
KR1020227029803A KR102549029B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송
KR1020227017767A KR102435337B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송
KR1020227017766A KR102439054B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237033560A KR20230144661A (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020227029803A KR102549029B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송
KR1020227017767A KR102435337B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송
KR1020227017766A KR102439054B1 (ko) 2017-05-16 2018-05-16 이모지 레코딩 및 전송

Country Status (5)

Country Link
US (5) US10521948B2 (ko)
JP (3) JP6967610B2 (ko)
KR (5) KR20230144661A (ko)
AU (4) AU2021201681B2 (ko)
DK (1) DK180007B1 (ko)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD618248S1 (en) * 2008-09-23 2010-06-22 Apple Inc. Graphical user interface for a display screen or portion thereof
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US10824297B2 (en) * 2012-11-26 2020-11-03 Google Llc System for and method of accessing and selecting emoticons, content, and mood messages during chat sessions
US9898187B2 (en) 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
USD771112S1 (en) * 2014-06-01 2016-11-08 Apple Inc. Display screen or portion thereof with graphical user interface
US10009536B2 (en) 2016-06-12 2018-06-26 Apple Inc. Applying a simulated optical effect based on data received from multiple camera sensors
DK179374B1 (en) * 2016-06-12 2018-05-28 Apple Inc Handwriting keyboard for monitors
DK179978B1 (en) 2016-09-23 2019-11-27 Apple Inc. IMAGE DATA FOR ENHANCED USER INTERACTIONS
DK179948B1 (en) 2017-05-16 2019-10-22 Apple Inc. Recording and sending Emoji
US10521948B2 (en) 2017-05-16 2019-12-31 Apple Inc. Emoji recording and sending
DK180859B1 (en) 2017-06-04 2022-05-23 Apple Inc USER INTERFACE CAMERA EFFECTS
CN109241810B (zh) * 2017-07-10 2022-01-28 腾讯科技(深圳)有限公司 虚拟角色图像的构建方法及装置、存储介质
USD843442S1 (en) 2017-09-10 2019-03-19 Apple Inc. Type font
US10593087B2 (en) * 2017-10-23 2020-03-17 Paypal, Inc. System and method for generating emoji mashups with machine learning
JP7031228B2 (ja) * 2017-10-26 2022-03-08 株式会社リコー プログラム、画像表示方法、画像表示システム、情報処理装置
KR102040858B1 (ko) * 2017-11-29 2019-11-06 한국과학기술연구원 가상 공간의 인터랙션 분석 시스템 및 방법
US10748525B2 (en) * 2017-12-11 2020-08-18 International Business Machines Corporation Multi-modal dialog agents representing a level of confidence in analysis
JP7040043B2 (ja) * 2018-01-25 2022-03-23 セイコーエプソン株式会社 写真処理装置、写真データの生産方法および写真処理プログラム
CN110135226B (zh) 2018-02-09 2023-04-07 腾讯科技(深圳)有限公司 表情动画数据处理方法、装置、计算机设备和存储介质
WO2019164266A1 (en) 2018-02-23 2019-08-29 Samsung Electronics Co., Ltd. Electronic device for generating image including 3d avatar reflecting face motion through 3d avatar corresponding to face and method of operating same
US11573679B2 (en) * 2018-04-30 2023-02-07 The Trustees of the California State University Integration of user emotions for a smartphone or other communication device environment
DK180212B1 (en) 2018-05-07 2020-08-19 Apple Inc USER INTERFACE FOR CREATING AVATAR
DK201870380A1 (en) 2018-05-07 2020-01-29 Apple Inc. DISPLAYING USER INTERFACES ASSOCIATED WITH PHYSICAL ACTIVITIES
US10375313B1 (en) * 2018-05-07 2019-08-06 Apple Inc. Creative camera
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
WO2019221494A1 (en) * 2018-05-14 2019-11-21 Samsung Electronics Co., Ltd. Electronic device for performing biometric authentication and method of operating the same
US10432805B1 (en) * 2018-08-10 2019-10-01 Kyocera Document Solutions, Inc. Operation of a panel for a printer using a dial control
CN109358923B (zh) * 2018-08-29 2024-04-12 华为技术有限公司 一种虚拟机器人形象的呈现方法及装置
DK201870623A1 (en) 2018-09-11 2020-04-15 Apple Inc. USER INTERFACES FOR SIMULATED DEPTH EFFECTS
US10674072B1 (en) 2019-05-06 2020-06-02 Apple Inc. User interfaces for capturing and managing visual media
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
JP1662142S (ko) * 2018-10-12 2020-06-22
USD919660S1 (en) * 2018-10-12 2021-05-18 Huawei Technologies Co., Ltd. Mobile phone with a graphical user interface
USD919658S1 (en) * 2018-10-12 2021-05-18 Huawei Technologies Co., Ltd. Mobile phone with a graphical user interface
USD919659S1 (en) * 2018-10-12 2021-05-18 Huawei Technologies Co., Ltd. Mobile phone with a graphical user interface
JP1662143S (ko) * 2018-10-13 2020-06-22
KR102591686B1 (ko) * 2018-12-04 2023-10-19 삼성전자주식회사 증강 현실 이모지를 생성하기 위한 전자 장치 및 그에 관한 방법
US10796473B1 (en) * 2018-12-11 2020-10-06 Facebook, Inc. Rendering post-capture artificial-reality effects based on artificial-reality state information
US11763089B2 (en) * 2018-12-13 2023-09-19 International Business Machines Corporation Indicating sentiment of users participating in a chat session
US10785451B1 (en) * 2018-12-21 2020-09-22 Twitter, Inc. Low-bandwidth avatar animation
US11107261B2 (en) 2019-01-18 2021-08-31 Apple Inc. Virtual avatar animation based on facial feature movement
CN113302694A (zh) * 2019-01-18 2021-08-24 斯纳普公司 用于基于模板生成个性化视频的系统和方法
US11288880B2 (en) 2019-01-18 2022-03-29 Snap Inc. Template-based generation of personalized videos
USD900925S1 (en) * 2019-02-01 2020-11-03 Apple Inc. Type font and electronic device with graphical user interface
USD902221S1 (en) * 2019-02-01 2020-11-17 Apple Inc. Electronic device with animated graphical user interface
USD900871S1 (en) * 2019-02-04 2020-11-03 Apple Inc. Electronic device with animated graphical user interface
KR20200101206A (ko) * 2019-02-19 2020-08-27 삼성전자주식회사 가상 캐릭터 기반 촬영 모드를 제공하는 전자 장치 및 이의 동작 방법
CN109873756B (zh) * 2019-03-08 2020-04-03 百度在线网络技术(北京)有限公司 用于发送信息的方法和装置
US11182963B2 (en) * 2019-04-03 2021-11-23 Posnap, Inc. Computerized system and method for providing a mobile augmented reality item display and selection experience
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
DK201970530A1 (en) 2019-05-06 2021-01-28 Apple Inc Avatar integration with multiple applications
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
USD956101S1 (en) 2019-06-02 2022-06-28 Apple Inc. Type font and electronic device with graphical user interface
KR20190095184A (ko) * 2019-07-25 2019-08-14 엘지전자 주식회사 멀티미디어 디바이스 및 그 제어 방법
CN110472610B (zh) * 2019-08-22 2023-08-01 王旭敏 一种自深度优化的人脸识别装置及其方法
USD964458S1 (en) * 2019-09-30 2022-09-20 Apple Inc. Type font
US11128586B2 (en) * 2019-12-09 2021-09-21 Snap Inc. Context sensitive avatar captions
US10972682B1 (en) * 2019-12-12 2021-04-06 Facebook, Inc. System and method for adding virtual audio stickers to videos
US10735436B1 (en) * 2020-02-05 2020-08-04 Cyberark Software Ltd. Dynamic display capture to verify encoded visual codes and network address information
DK202070625A1 (en) 2020-05-11 2022-01-04 Apple Inc User interfaces related to time
US11921998B2 (en) 2020-05-11 2024-03-05 Apple Inc. Editing features of an avatar
US11039074B1 (en) 2020-06-01 2021-06-15 Apple Inc. User interfaces for managing media
WO2021252160A1 (en) 2020-06-08 2021-12-16 Apple Inc. Presenting avatars in three-dimensional environments
US11128591B1 (en) * 2020-08-27 2021-09-21 Cisco Technology, Inc. Dynamic interaction of a dynamic ideogram in an electronic messaging environment
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
US11688117B2 (en) * 2020-11-04 2023-06-27 Sony Group Corporation User expressions in virtual environments
US11509612B2 (en) * 2020-12-15 2022-11-22 Microsoft Technology Licensing, Llc Modifying an avatar to reflect a user's expression in a messaging platform
US11531406B2 (en) 2021-04-20 2022-12-20 Snap Inc. Personalized emoji dictionary
US11593548B2 (en) 2021-04-20 2023-02-28 Snap Inc. Client device processing received emoji-first messages
US11888797B2 (en) * 2021-04-20 2024-01-30 Snap Inc. Emoji-first messaging
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media
US11714536B2 (en) * 2021-05-21 2023-08-01 Apple Inc. Avatar sticker editor user interfaces
US11776190B2 (en) 2021-06-04 2023-10-03 Apple Inc. Techniques for managing an avatar on a lock screen
CN113542257B (zh) * 2021-07-12 2023-09-26 维沃移动通信有限公司 视频处理方法、视频处理装置、电子设备和存储介质
KR20230021924A (ko) * 2021-08-06 2023-02-14 삼성전자주식회사 전자 장치 및 전자 장치에서 복수의 상태들의 우선 순위에 기반한 캐릭터 오브젝트 표시 방법
US20230090253A1 (en) * 2021-09-20 2023-03-23 Idoru, Inc. Systems and methods for authoring and managing extended reality (xr) avatars
USD1017618S1 (en) * 2021-10-13 2024-03-12 Zoom Video Communications, Inc. Display screen or portion thereof with graphical user interface
US20230393719A1 (en) * 2022-06-05 2023-12-07 Apple Inc. Sticker creation for messaging
JP7339420B1 (ja) 2022-12-20 2023-09-05 カバー株式会社 プログラム、方法、情報処理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013152454A1 (en) 2012-04-09 2013-10-17 Intel Corporation System and method for avatar management and selection
US20150346912A1 (en) * 2014-05-31 2015-12-03 Apple Inc. Message user interfaces for capture and transmittal of media and location content
US20160134840A1 (en) * 2014-07-28 2016-05-12 Alexa Margaret McCulloch Avatar-Mediated Telepresence Systems with Enhanced Filtering
US20170046065A1 (en) * 2015-04-07 2017-02-16 Intel Corporation Avatar keyboard

Family Cites Families (324)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5650138A (en) 1979-09-27 1981-05-07 Nippon Telegr & Teleph Corp <Ntt> Manufacture of optical fiber
US5490245A (en) 1993-08-12 1996-02-06 Ast Research, Inc. Component-based icon construction and customization system
JP2918499B2 (ja) 1996-09-17 1999-07-12 株式会社エイ・ティ・アール人間情報通信研究所 顔画像情報変換方法および顔画像情報変換装置
US5995119A (en) 1997-06-06 1999-11-30 At&T Corp. Method for generating photo-realistic animated characters
EP1717681B1 (en) 1998-01-26 2015-04-29 Apple Inc. Method for integrating manual input
US6466213B2 (en) 1998-02-13 2002-10-15 Xerox Corporation Method and apparatus for creating personal autonomous avatars
US6173402B1 (en) 1998-03-04 2001-01-09 International Business Machines Corporation Technique for localizing keyphrase-based data encryption and decryption
AU3639699A (en) * 1998-04-13 1999-11-01 Eyematic Interfaces, Inc. Wavelet-based facial motion capture for avatar animation
JP4306006B2 (ja) 1999-03-30 2009-07-29 コニカミノルタセンシング株式会社 3次元データ入力方法及び装置
US7046838B1 (en) 1999-03-30 2006-05-16 Minolta Co., Ltd. Three-dimensional data input method and apparatus
JP2001092783A (ja) 1999-09-27 2001-04-06 Hitachi Software Eng Co Ltd 個人認証方法およびシステム、記録媒体
US7369130B2 (en) 1999-10-29 2008-05-06 Hitachi Kokusai Electric Inc. Method and apparatus for editing image data, and computer program product of editing image data
KR20010056965A (ko) 1999-12-17 2001-07-04 박희완 부분 이미지 합성에 의한 인물 캐릭터 생성 방법
US20010047365A1 (en) 2000-04-19 2001-11-29 Hiawatha Island Software Co, Inc. System and method of packaging and unpackaging files into a markup language record for network search and archive services
US9064344B2 (en) 2009-03-01 2015-06-23 Facecake Technologies, Inc. Image transformation systems and methods
GB0023681D0 (en) 2000-09-27 2000-11-08 Canon Kk Image processing apparatus
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US7218226B2 (en) 2004-03-01 2007-05-15 Apple Inc. Acceleration-based theft detection system for portable electronic devices
US20020072993A1 (en) 2000-11-03 2002-06-13 Sandus James A. Method and system of an integrated business topography and virtual 3D network portal
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US6930718B2 (en) 2001-07-17 2005-08-16 Eastman Kodak Company Revised recapture camera and method
JP2003150550A (ja) 2001-11-14 2003-05-23 Toshiba Corp 情報処理システム
US20030154446A1 (en) 2002-01-28 2003-08-14 Constant Nicholas Robert Character-based, graphically expressive mobile messaging system
US7227976B1 (en) 2002-07-08 2007-06-05 Videomining Corporation Method and system for real-time facial image enhancement
US7027054B1 (en) 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
US6919892B1 (en) 2002-08-14 2005-07-19 Avaworks, Incorporated Photo realistic talking head creation system and method
GB0220748D0 (en) 2002-09-06 2002-10-16 Saw You Com Ltd Improved communication using avatars
US7180524B1 (en) 2002-09-30 2007-02-20 Dale Axelrod Artists' color display system
AU2004216758A1 (en) 2003-03-03 2004-09-16 America Online, Inc. Using avatars to communicate
US7908554B1 (en) 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
JP2004287558A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd テレビ電話端末、並びに、仮想キャラ生成装置および仮想キャラ動作制御装置
US20050066279A1 (en) 2003-07-23 2005-03-24 Lebarton Jeffrey Stop motion capture tool
US6973299B2 (en) 2003-08-01 2005-12-06 Microsoft Corporation Unified contact list
JP2005115480A (ja) 2003-10-03 2005-04-28 Toshiba Social Automation Systems Co Ltd 認証システム及びコンピュータ読み取り可能な記憶媒体
JP2007528240A (ja) 2004-02-12 2007-10-11 アリヴァンディ,ベスジョン 仮想環境から商品を作成するためのシステムおよび方法
US20050202748A1 (en) 2004-03-11 2005-09-15 Beanhead Toys & Entertainment Freestanding, reconfigurable, disposable character form and kit for making same
US7969447B2 (en) 2004-05-06 2011-06-28 Pixar Dynamic wrinkle mapping
JP2006065683A (ja) * 2004-08-27 2006-03-09 Kyocera Communication Systems Co Ltd アバタ通信システム
JP4449723B2 (ja) 2004-12-08 2010-04-14 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
KR100511210B1 (ko) 2004-12-27 2005-08-30 주식회사지앤지커머스 의사 쓰리디 이미지 생성기법을 토대로 한 이용자 적응인공지능 토탈 코디네이션 방법과, 이를 이용한 서비스사업방법
US8488023B2 (en) 2009-05-20 2013-07-16 DigitalOptics Corporation Europe Limited Identifying facial expressions in acquired digital images
US20060294465A1 (en) 2005-06-22 2006-12-28 Comverse, Inc. Method and system for creating and distributing mobile avatars
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
JP2007052770A (ja) 2005-07-21 2007-03-01 Omron Corp 監視装置
US7424218B2 (en) 2005-07-28 2008-09-09 Microsoft Corporation Real-time preview for panoramic images
JP2007036928A (ja) 2005-07-29 2007-02-08 Sharp Corp 携帯情報端末装置
US20070081081A1 (en) 2005-10-07 2007-04-12 Cheng Brett A Automated multi-frame image capture for panorama stitching using motion sensor
JPWO2007066662A1 (ja) 2005-12-05 2009-05-21 パイオニア株式会社 コンテンツ検索装置、コンテンツ検索システム、コンテンツ検索システム用サーバ装置、コンテンツ検索方法及びコンピュータプログラム並びに検索機能付きコンテンツ出力装置
US7657849B2 (en) 2005-12-23 2010-02-02 Apple Inc. Unlocking a device by performing gestures on an unlock image
US8370360B2 (en) 2005-12-31 2013-02-05 G & G Commerce Ltd. Merchandise recommending system and method thereof
AU2006352758A1 (en) 2006-04-10 2008-12-24 Avaworks Incorporated Talking Head Creation System and Method
US8620038B2 (en) 2006-05-05 2013-12-31 Parham Aarabi Method, system and computer program product for automatic and semi-automatic modification of digital images of faces
WO2007130691A2 (en) 2006-05-07 2007-11-15 Sony Computer Entertainment Inc. Method for providing affective characteristics to computer generated avatar during gameplay
JP4807167B2 (ja) 2006-07-06 2011-11-02 オムロン株式会社 なりすまし検知装置
US20080052242A1 (en) 2006-08-23 2008-02-28 Gofigure! Llc Systems and methods for exchanging graphics between communication devices
EP2098010A1 (en) 2006-11-30 2009-09-09 WANLESS, James Andrew A method and system for providing automated real-time contact information
US8705720B2 (en) 2007-02-08 2014-04-22 Avaya Inc. System, method and apparatus for clientless two factor authentication in VoIP networks
US20080242423A1 (en) 2007-03-27 2008-10-02 Shelford Securities, S.A. Real-money online multi-player trivia system, methods of operation, and storage medium
JP5219184B2 (ja) 2007-04-24 2013-06-26 任天堂株式会社 トレーニングプログラム、トレーニング装置、トレーニングシステムおよびトレーニング方法
US20080300572A1 (en) 2007-06-01 2008-12-04 Medtronic Minimed, Inc. Wireless monitor for a personal medical device system
WO2008151424A1 (en) 2007-06-11 2008-12-18 Darwin Dimensions Inc. Metadata for avatar generation in virtual environments
KR20090002176A (ko) 2007-06-20 2009-01-09 엔에이치엔(주) 네트워크 상에서 게임 아바타의 랭킹을 제공하는 시스템 및그 방법
GB2450757A (en) 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
US9591086B2 (en) 2007-07-25 2017-03-07 Yahoo! Inc. Display of information in electronic communications
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US8146005B2 (en) 2007-08-07 2012-03-27 International Business Machines Corporation Creating a customized avatar that reflects a user's distinguishable attributes
US20090055484A1 (en) 2007-08-20 2009-02-26 Thanh Vuong System and method for representation of electronic mail users using avatars
KR20110114732A (ko) 2007-09-24 2011-10-19 애플 인크. 전자 장치 내의 내장형 인증 시스템들
US20090132371A1 (en) 2007-11-20 2009-05-21 Big Stage Entertainment, Inc. Systems and methods for interactive advertising using personalized head models
CN101472158A (zh) 2007-12-27 2009-07-01 上海银晨智能识别科技有限公司 基于人脸检测的网络摄像装置及图像形成方法
US8600120B2 (en) 2008-01-03 2013-12-03 Apple Inc. Personal computing device control using face detection and recognition
WO2009100020A2 (en) 2008-01-31 2009-08-13 University Of Southern California Facial performance synthesis using deformation driven polynomial displacement maps
US20090202114A1 (en) 2008-02-13 2009-08-13 Sebastien Morin Live-Action Image Capture
JP2009211166A (ja) 2008-02-29 2009-09-17 Toshiba Corp 認証装置、認証方法及び認証プログラム
US9513704B2 (en) 2008-03-12 2016-12-06 Immersion Corporation Haptically enabled user interface
US9744466B2 (en) 2008-03-13 2017-08-29 Mattel, Inc. Widgetized avatar and a method and system of creating and using same
US20100211900A1 (en) 2009-02-17 2010-08-19 Robb Fujioka Virtual Marketplace Accessible To Widgetized Avatars
US20100211899A1 (en) 2009-02-17 2010-08-19 Robb Fujioka Virtual Marketplace Accessible To Widgetized Avatars
US20110025707A1 (en) 2009-02-17 2011-02-03 Robb Fujioka Virtual Marketplace Accessible To Widgetized Avatars
US8169438B1 (en) 2008-03-31 2012-05-01 Pixar Temporally coherent hair deformation
US8832552B2 (en) 2008-04-03 2014-09-09 Nokia Corporation Automated selection of avatar characteristics for groups
WO2009133710A1 (ja) 2008-04-30 2009-11-05 株式会社アクロディア キャラクタ表示用データの生成装置および方法
US20120081282A1 (en) 2008-05-17 2012-04-05 Chin David H Access of an application of an electronic device based on a facial gesture
US8401284B2 (en) 2008-05-28 2013-03-19 Apple Inc. Color correcting method and apparatus
WO2009149076A1 (en) 2008-06-02 2009-12-10 Nike International, Ltd. System and method for creating an avatar
JP2010028404A (ja) 2008-07-18 2010-02-04 Hitachi Ltd 記録再生装置
US10983665B2 (en) 2008-08-01 2021-04-20 Samsung Electronics Co., Ltd. Electronic apparatus and method for implementing user interface
US8941642B2 (en) 2008-10-17 2015-01-27 Kabushiki Kaisha Square Enix System for the creation and editing of three dimensional models
US8584031B2 (en) * 2008-11-19 2013-11-12 Apple Inc. Portable touch screen device, method, and graphical user interface for using emoji characters
JP5256001B2 (ja) 2008-11-20 2013-08-07 京セラドキュメントソリューションズ株式会社 色調整装置、方法及びプログラム
US20100153847A1 (en) 2008-12-17 2010-06-17 Sony Computer Entertainment America Inc. User deformation of movie character images
US20100169376A1 (en) 2008-12-29 2010-07-01 Yahoo! Inc. Visual search engine for personal dating
US8289130B2 (en) 2009-02-19 2012-10-16 Apple Inc. Systems and methods for identifying unauthorized users of an electronic device
CN101930284B (zh) 2009-06-23 2014-04-09 腾讯科技(深圳)有限公司 一种实现视频和虚拟网络场景交互的方法、装置和系统
JP5423379B2 (ja) * 2009-08-31 2014-02-19 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8601573B2 (en) 2009-09-17 2013-12-03 International Business Machines Corporation Facial recognition for document and application data access control
CN101692681A (zh) 2009-09-17 2010-04-07 杭州聚贝软件科技有限公司 一种在话机终端上实现虚拟形象互动界面的方法和系统
US20110074807A1 (en) 2009-09-30 2011-03-31 Hitachi, Ltd. Method of color customization of content screen
KR101651128B1 (ko) 2009-10-05 2016-08-25 엘지전자 주식회사 이동 단말기 이것의 애플리케이션 실행 제어 방법
JP5035372B2 (ja) 2010-03-17 2012-09-26 カシオ計算機株式会社 三次元モデリング装置、三次元モデリング方法、ならびに、プログラム
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US9542038B2 (en) 2010-04-07 2017-01-10 Apple Inc. Personalizing colors of user interfaces
US8694899B2 (en) 2010-06-01 2014-04-08 Apple Inc. Avatars reflecting user states
US20110298808A1 (en) 2010-06-02 2011-12-08 Toyota Motor Engineering & Manufacturing North America, Inc. Animated Vehicle Attendance Systems
US20170098122A1 (en) 2010-06-07 2017-04-06 Affectiva, Inc. Analysis of image content with associated manipulation of expression presentation
US20110304629A1 (en) 2010-06-09 2011-12-15 Microsoft Corporation Real-time animation of facial expressions
US8749557B2 (en) 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US8488040B2 (en) 2010-06-18 2013-07-16 Microsoft Corporation Mobile and server-side computational photography
JP5134653B2 (ja) 2010-07-08 2013-01-30 株式会社バンダイナムコゲームス プログラム及びユーザ端末
KR101681096B1 (ko) 2010-07-13 2016-12-01 삼성전자주식회사 얼굴 애니메이션 시스템 및 방법
CN102347912B (zh) 2010-08-02 2014-11-05 腾讯科技(深圳)有限公司 即时通讯软件中获取动态更新的方法及系统
KR20120013727A (ko) 2010-08-06 2012-02-15 삼성전자주식회사 디스플레이장치 및 그 제어방법
US20120069028A1 (en) 2010-09-20 2012-03-22 Yahoo! Inc. Real-time animations of emoticons using facial recognition during a video chat
US8830226B2 (en) 2010-09-28 2014-09-09 Apple Inc. Systems, methods, and computer-readable media for integrating a three-dimensional asset with a three-dimensional model
US9519396B2 (en) 2010-09-28 2016-12-13 Apple Inc. Systems, methods, and computer-readable media for placing an asset on a three-dimensional model
US8558844B2 (en) 2010-09-28 2013-10-15 Apple Inc. Systems, methods, and computer-readable media for changing colors of displayed assets
EP2625820B1 (en) 2010-10-08 2021-06-02 Brian Lee Moffat Private data sharing system
BR112013011819A2 (pt) 2010-11-17 2019-09-24 Affectiva Inc ''método implantado por computador para comunicar estados mentais,produto de programa de computador incorporado em em meio legivel por computador para comunicar os estados mentais,sistema para compartilhar estados mentais e método por computador para compartilhar estados mentais''
CN102479388A (zh) 2010-11-22 2012-05-30 北京盛开互动科技有限公司 基于人脸跟踪和分析的表情互动方法
KR20120059994A (ko) 2010-12-01 2012-06-11 삼성전자주식회사 표정 제어점을 이용한 아바타 제어 장치 및 방법
CN102142149A (zh) 2011-01-26 2011-08-03 深圳市同洲电子股份有限公司 一种联系人形象的获取方法及装置
JP5673942B2 (ja) 2011-02-15 2015-02-18 日本電気株式会社 携帯端末における認証情報入力装置、方法およびプログラム
GB201102794D0 (en) 2011-02-17 2011-03-30 Metail Ltd Online retail system
US8686873B2 (en) 2011-02-28 2014-04-01 Toyota Motor Engineering & Manufacturing North America, Inc. Two-way video and 3D transmission between vehicles and system placed on roadside
JP2012181704A (ja) 2011-03-01 2012-09-20 Sony Computer Entertainment Inc 情報処理装置および情報処理方法
US9563703B2 (en) 2011-03-10 2017-02-07 Cox Communications, Inc. System, method and device for sharing of playlists of authorized content with other users
JP5672109B2 (ja) 2011-03-29 2015-02-18 カシオ計算機株式会社 撮像装置及び撮像方法、並びにプログラム
US20120289290A1 (en) 2011-05-12 2012-11-15 KT Corporation, KT TECH INC. Transferring objects between application windows displayed on mobile terminal
KR101558202B1 (ko) 2011-05-23 2015-10-12 한국전자통신연구원 아바타를 이용한 애니메이션 생성 장치 및 방법
US9013489B2 (en) 2011-06-06 2015-04-21 Microsoft Technology Licensing, Llc Generation of avatar reflecting player appearance
US8902288B1 (en) 2011-06-16 2014-12-02 Google Inc. Photo-image-based 3D modeling system on a mobile device
US9082235B2 (en) 2011-07-12 2015-07-14 Microsoft Technology Licensing, Llc Using facial data for device authentication or subject identification
CN102298797A (zh) 2011-08-31 2011-12-28 深圳市美丽同盟科技有限公司 三维虚拟试衣的方法、装置及系统
CN102999934A (zh) 2011-09-19 2013-03-27 上海威塔数字科技有限公司 计算机三维动画系统及动画方法
US10262327B1 (en) 2011-09-22 2019-04-16 Glance Networks, Inc. Integrating screen sharing sessions with customer relationship management
US8867849B1 (en) 2011-10-05 2014-10-21 Google Inc. Suggesting profile images for a social network
JP5866728B2 (ja) 2011-10-14 2016-02-17 サイバーアイ・エンタテインメント株式会社 画像認識システムを備えた知識情報処理サーバシステム
CN102394919B (zh) 2011-10-20 2013-12-25 福州瑞芯微电子有限公司 基于生理检测的心情交互网络平台系统
KR101301794B1 (ko) * 2011-11-04 2013-08-29 (주)카카오 동적 이모티콘을 이용하는 인스턴트 메시징 서비스를 제공하는 방법 및 그 방법을 실행하는 이동 단말
CN103116902A (zh) 2011-11-16 2013-05-22 华为软件技术有限公司 三维虚拟人头像生成方法、人头像运动跟踪方法和装置
JP5269972B2 (ja) 2011-11-29 2013-08-21 株式会社東芝 電子機器及び三次元モデル生成支援方法
US20130147933A1 (en) 2011-12-09 2013-06-13 Charles J. Kulas User image insertion into a text message
CN103164117A (zh) 2011-12-09 2013-06-19 富泰华工业(深圳)有限公司 外部操作设备、电子装置及其延时锁屏方法
US9398262B2 (en) 2011-12-29 2016-07-19 Intel Corporation Communication using avatar
US9292195B2 (en) 2011-12-29 2016-03-22 Apple Inc. Device, method, and graphical user interface for configuring and implementing restricted interactions for applications
US9747495B2 (en) 2012-03-06 2017-08-29 Adobe Systems Incorporated Systems and methods for creating and distributing modifiable animated video messages
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9402057B2 (en) 2012-04-02 2016-07-26 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Interactive avatars for telecommunication systems
CN104170318B (zh) 2012-04-09 2018-06-01 英特尔公司 使用交互化身的通信
WO2013152455A1 (en) 2012-04-09 2013-10-17 Intel Corporation System and method for avatar generation, rendering and animation
US8254647B1 (en) 2012-04-16 2012-08-28 Google Inc. Facial image quality assessment
WO2013166588A1 (en) 2012-05-08 2013-11-14 Bitstrips Inc. System and method for adaptable avatars
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
US9104908B1 (en) 2012-05-22 2015-08-11 Image Metrics Limited Building systems for adaptive tracking of facial features across individuals and groups
US20130342672A1 (en) 2012-06-25 2013-12-26 Amazon Technologies, Inc. Using gaze determination with device input
US20140115451A1 (en) 2012-06-28 2014-04-24 Madeleine Brett Sheldon-Dante System and method for generating highly customized books, movies, and other products
US20140013422A1 (en) 2012-07-03 2014-01-09 Scott Janus Continuous Multi-factor Authentication
CN102799383B (zh) 2012-07-18 2014-05-14 腾讯科技(深圳)有限公司 移动终端屏幕截图方法、屏幕截图装置
CN102841683B (zh) 2012-07-24 2015-07-22 东莞宇龙通信科技有限公司 应用启动的方法及其通信终端
US9936165B2 (en) 2012-09-06 2018-04-03 Intel Corporation System and method for avatar creation and synchronization
US20140078144A1 (en) 2012-09-14 2014-03-20 Squee, Inc. Systems and methods for avatar creation
US9826286B2 (en) 2012-09-18 2017-11-21 Viacom International Inc. Video editing method and tool
US9314692B2 (en) 2012-09-21 2016-04-19 Luxand, Inc. Method of creating avatar from user submitted image
KR102013443B1 (ko) * 2012-09-25 2019-08-22 삼성전자주식회사 이미지를 전송하기 위한 방법 및 그 전자 장치
KR102001913B1 (ko) 2012-09-27 2019-07-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
JP5964190B2 (ja) 2012-09-27 2016-08-03 京セラ株式会社 端末装置
US9746990B2 (en) 2012-09-28 2017-08-29 Intel Corporation Selectively augmenting communications transmitted by a communication device
US8867786B2 (en) 2012-10-31 2014-10-21 Microsoft Corporation Scenario-specific body-part tracking
US9696898B2 (en) 2012-11-14 2017-07-04 Facebook, Inc. Scrolling through a series of content items
US20140157153A1 (en) 2012-12-05 2014-06-05 Jenny Yuen Select User Avatar on Detected Emotion
CN104782120B (zh) 2012-12-17 2018-08-10 英特尔公司 化身动画制作方法、计算设备和存储介质
AU2013368443B2 (en) 2012-12-29 2016-03-24 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
KR102049855B1 (ko) 2013-01-31 2019-11-28 엘지전자 주식회사 이동 단말기 및 이의 제어 방법
US10708545B2 (en) 2018-01-17 2020-07-07 Duelight Llc System, method, and computer program for transmitting face models based on face data points
US9148489B2 (en) 2013-03-11 2015-09-29 Qualcomm Incorporated Exchanging a contact profile between client devices during a communication session
US9195388B2 (en) 2013-03-15 2015-11-24 Apple Inc. Specifying applications to share in a shared access mode
US20140279062A1 (en) 2013-03-15 2014-09-18 Rodan & Fields, Llc Consultant tool for direct selling
US9747716B1 (en) 2013-03-15 2017-08-29 Lucasfilm Entertainment Company Ltd. Facial animation models
KR102138512B1 (ko) 2013-03-26 2020-07-28 엘지전자 주식회사 디스플레이 디바이스 및 그의 제어 방법
US9460541B2 (en) * 2013-03-29 2016-10-04 Intel Corporation Avatar animation, social networking and touch screen applications
JP5603452B1 (ja) 2013-04-11 2014-10-08 株式会社スクウェア・エニックス ビデオゲーム処理装置、及びビデオゲーム処理プログラム
KR102080183B1 (ko) 2013-04-18 2020-04-14 삼성전자주식회사 전자 장치 및 전자 장치에서 잠금 해제 방법
IL226047A (en) 2013-04-29 2017-12-31 Hershkovitz Reshef May A method and system for giving personal expressions
GB2515266B (en) 2013-05-09 2018-02-28 Disney Entpr Inc Manufacturing Process for 3D Printed Objects
EP2808760B1 (en) 2013-05-29 2023-08-16 Dassault Systèmes Body posture tracking
US9330513B2 (en) 2013-05-31 2016-05-03 Microsoft Technology Licensing, Llc Resource management based on biometric data
WO2014194488A1 (en) 2013-06-05 2014-12-11 Intel Corporation Karaoke avatar animation based on facial motion data
US9378576B2 (en) 2013-06-07 2016-06-28 Faceshift Ag Online modeling for real-time facial animation
US9626493B2 (en) 2013-06-08 2017-04-18 Microsoft Technology Licensing, Llc Continuous digital content protection
CN103294171A (zh) 2013-06-24 2013-09-11 深圳市中兴移动通信有限公司 移动终端的省电方法和省电装置
CN103346957B (zh) 2013-07-02 2016-12-28 北京播思无线技术有限公司 一种根据联系人消息改变联系人头像表情的系统及方法
CN103413072A (zh) 2013-07-27 2013-11-27 金硕澳门离岸商业服务有限公司 保护应用程序的方法和装置
JP6024617B2 (ja) 2013-08-15 2016-11-16 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP6102648B2 (ja) 2013-09-13 2017-03-29 ソニー株式会社 情報処理装置及び情報処理方法
US9317954B2 (en) 2013-09-23 2016-04-19 Lucasfilm Entertainment Company Ltd. Real-time performance capture with on-the-fly correctives
US9706040B2 (en) 2013-10-31 2017-07-11 Udayakumar Kadirvel System and method for facilitating communication via interaction with an avatar
US9508197B2 (en) 2013-11-01 2016-11-29 Microsoft Technology Licensing, Llc Generating an avatar from real time image data
CN105706040B (zh) 2013-11-05 2019-10-15 瑞典爱立信有限公司 一种处理电子文件的方法、系统和计算机程序产品
US10528219B2 (en) 2015-08-10 2020-01-07 Tung Inc. Conversion and display of a user input
US10877629B2 (en) 2016-10-13 2020-12-29 Tung Inc. Conversion and display of a user input
WO2015070416A1 (en) 2013-11-14 2015-05-21 Intel Corporation Mechanism for facilitating dynamic simulation of avatars corresponding to changing user performances as detected at computing devices
US20150172238A1 (en) 2013-12-18 2015-06-18 Lutebox Ltd. Sharing content on devices with reduced user actions
CN104753762B (zh) 2013-12-31 2018-07-27 北京发现角科技有限公司 应用于即时通信的向头像图标中添加装饰物的方法和系统
CN103886632A (zh) * 2014-01-06 2014-06-25 宇龙计算机通信科技(深圳)有限公司 用户表情头像的生成方法及通信终端
US9477878B2 (en) 2014-01-28 2016-10-25 Disney Enterprises, Inc. Rigid stabilization of facial expressions
WO2015114950A1 (ja) 2014-01-30 2015-08-06 コニカミノルタ株式会社 器官画像撮影装置
KR102201738B1 (ko) 2014-02-05 2021-01-12 엘지전자 주식회사 디스플레이 디바이스 및 그 제어 방법
CN104836879A (zh) 2014-02-12 2015-08-12 腾讯科技(深圳)有限公司 通讯录的更新方法、服务器及系统
US20150254886A1 (en) 2014-03-07 2015-09-10 Utw Technology Co., Ltd. System and method for generating animated content
GB2539349A (en) 2014-03-09 2016-12-14 Diro Inc Management of group-sourced contacts directories, systems and methods
US10162955B2 (en) 2014-03-13 2018-12-25 Lg Electronics Inc. Mobile terminal and method for controlling same
CN106104633A (zh) * 2014-03-19 2016-11-09 英特尔公司 面部表情和/或交互驱动的化身装置和方法
CN104935497B (zh) 2014-03-20 2020-08-14 腾讯科技(深圳)有限公司 一种通讯会话方法和装置
US10845982B2 (en) * 2014-04-28 2020-11-24 Facebook, Inc. Providing intelligent transcriptions of sound messages in a messaging application
US20170080346A1 (en) 2014-05-01 2017-03-23 Mohamad Abbas Methods and systems relating to personalized evolving avatars
CN105099861A (zh) 2014-05-19 2015-11-25 阿里巴巴集团控股有限公司 基于用户情绪的显示控制方法和显示控制装置
US9628416B2 (en) * 2014-05-30 2017-04-18 Cisco Technology, Inc. Photo avatars
US9766702B2 (en) 2014-06-19 2017-09-19 Apple Inc. User detection by a computing device
CN104112091A (zh) 2014-06-26 2014-10-22 小米科技有限责任公司 文件锁定方法和装置
US9904774B2 (en) 2014-06-26 2018-02-27 Xiaomi Inc. Method and device for locking file
EP3161720B1 (en) 2014-06-27 2018-11-28 Microsoft Technology Licensing, LLC Data protection based on user and gesture recognition
US20160191958A1 (en) 2014-12-26 2016-06-30 Krush Technologies, Llc Systems and methods of providing contextual features for digital communication
KR102103939B1 (ko) * 2014-07-25 2020-04-24 인텔 코포레이션 머리 회전을 갖는 아바타 얼굴 표정 애니메이션
US9536228B2 (en) 2014-07-31 2017-01-03 Gretel, LLC Contact management systems
US9561444B2 (en) 2014-08-01 2017-02-07 Electronic Arts Inc. Resolving graphical conflicts between objects
CN105374055B (zh) 2014-08-20 2018-07-03 腾讯科技(深圳)有限公司 图像处理方法及装置
US20160057087A1 (en) 2014-08-21 2016-02-25 Facebook, Inc. Processing media messages based on the capabilities of the receiving device
US20160055370A1 (en) 2014-08-21 2016-02-25 Futurewei Technologies, Inc. System and Methods of Generating User Facial Expression Library for Messaging and Social Networking Applications
KR102367550B1 (ko) 2014-09-02 2022-02-28 삼성전자 주식회사 생체 신호를 이용한 카메라 모듈의 제어
KR101540544B1 (ko) 2014-09-05 2015-07-30 서용창 캐릭터를 이용한 메시지 서비스 방법, 상기 방법을 수행하는 사용자 단말, 상기 방법을 포함하는 메시지 애플리케이션
CN105139438B (zh) 2014-09-19 2018-01-12 电子科技大学 视频人脸卡通动画生成方法
WO2016045016A1 (en) 2014-09-24 2016-03-31 Intel Corporation Furry avatar animation
CN106575444B (zh) * 2014-09-24 2020-06-30 英特尔公司 用户姿势驱动的化身装置和方法
WO2016045015A1 (en) 2014-09-24 2016-03-31 Intel Corporation Avatar audio communication systems and techniques
CN106575446B (zh) 2014-09-24 2020-04-21 英特尔公司 面部动作驱动的动画通信系统
US10572103B2 (en) 2014-09-30 2020-02-25 Apple Inc. Timeline view of recently opened documents
US9430696B2 (en) 2014-10-09 2016-08-30 Sensory, Incorporated Continuous enrollment for face verification
US20160105388A1 (en) 2014-10-09 2016-04-14 Footspot, Inc. System and method for digital media capture and related social networking
US20160110922A1 (en) 2014-10-16 2016-04-21 Tal Michael HARING Method and system for enhancing communication by using augmented reality
EP3216008B1 (en) 2014-11-05 2020-02-26 Intel Corporation Avatar video apparatus and method
CN104376160A (zh) 2014-11-07 2015-02-25 薛景 真人模拟个性装饰搭配系统
US9491258B2 (en) 2014-11-12 2016-11-08 Sorenson Communications, Inc. Systems, communication endpoints, and related methods for distributing images corresponding to communication endpoints
MA41117A (fr) 2014-12-05 2017-10-10 Myfiziq Ltd Imagerie d'un corps
WO2016101131A1 (en) 2014-12-23 2016-06-30 Intel Corporation Augmented facial animation
WO2016101132A1 (en) 2014-12-23 2016-06-30 Intel Corporation Facial gesture driven animation of non-facial features
EP3241187A4 (en) 2014-12-23 2018-11-21 Intel Corporation Sketch selection for rendering 3d model avatar
US10198594B2 (en) 2014-12-30 2019-02-05 Xiaomi Inc. Method and device for displaying notification information
JP6152125B2 (ja) 2015-01-23 2017-06-21 任天堂株式会社 プログラム、情報処理装置、情報処理システム及びアバター画像の生成方法
JP6461630B2 (ja) 2015-02-05 2019-01-30 任天堂株式会社 通信システム、通信装置、プログラム及び表示方法
JP6511293B2 (ja) 2015-02-26 2019-05-15 株式会社エヌ・ティ・ティ・データ ユーザ監視システム
CN104753766B (zh) 2015-03-02 2019-03-22 小米科技有限责任公司 表情发送方法及装置
WO2016145129A1 (en) 2015-03-09 2016-09-15 Ventana 3D, Llc Avatar control system
CN104732396A (zh) 2015-03-24 2015-06-24 广东欧珀移动通信有限公司 一种支付控制方法及装置
US10812429B2 (en) 2015-04-03 2020-10-20 Glu Mobile Inc. Systems and methods for message communication
WO2016161553A1 (en) 2015-04-07 2016-10-13 Intel Corporation Avatar generation and animations
US20160307028A1 (en) 2015-04-16 2016-10-20 Mikhail Fedorov Storing, Capturing, Updating and Displaying Life-Like Models of People, Places And Objects
US20160350957A1 (en) 2015-05-26 2016-12-01 Andrew Woods Multitrack Virtual Puppeteering
KR102305525B1 (ko) 2015-06-09 2021-09-27 삼성전자주식회사 이동 통신 시스템에서 단말을 이용하는 사용자 프로필 정보 공유 기법
US20160364600A1 (en) 2015-06-10 2016-12-15 Microsoft Technology Licensing, Llc Biometric Gestures
DE102016110902A1 (de) 2015-06-14 2016-12-15 Facense Ltd. Head-Mounted-Devices zur Erfassung thermischer Messwerte
US9891933B2 (en) 2015-06-24 2018-02-13 International Business Machines Corporation Automated testing of GUI mirroring
CN105100462A (zh) 2015-07-10 2015-11-25 广州市久邦数码科技有限公司 一种自定义编辑主题的短信系统
US20170018289A1 (en) 2015-07-15 2017-01-19 String Theory, Inc. Emoji as facetracking video masks
US10171985B1 (en) 2015-07-22 2019-01-01 Ginko LLC Method and apparatus for data sharing
CN104992102A (zh) 2015-07-23 2015-10-21 京东方科技集团股份有限公司 一种消息显示方法及装置
KR102381687B1 (ko) 2015-07-30 2022-03-31 인텔 코포레이션 감정 증강형 아바타 애니메이션
US20170046507A1 (en) 2015-08-10 2017-02-16 International Business Machines Corporation Continuous facial recognition for adaptive data restriction
CN107924579A (zh) 2015-08-14 2018-04-17 麦特尔有限公司 生成个性化3d头部模型或3d身体模型的方法
US11048739B2 (en) 2015-08-14 2021-06-29 Nasdaq, Inc. Computer-implemented systems and methods for intelligently retrieving, analyzing, and synthesizing data from databases
JP6451861B2 (ja) 2015-09-09 2019-01-16 日本電気株式会社 顔認証装置、顔認証方法およびプログラム
WO2017048898A1 (en) 2015-09-18 2017-03-23 Mazur Kai Human-computer interface
US11138207B2 (en) 2015-09-22 2021-10-05 Google Llc Integrated dynamic interface for expression-based retrieval of expressive media content
US20170083524A1 (en) 2015-09-22 2017-03-23 Riffsy, Inc. Platform and dynamic interface for expression-based retrieval of expressive media content
CN105391843A (zh) 2015-09-28 2016-03-09 努比亚技术有限公司 终端设备、信息发布方法及信息发布系统
WO2017079731A1 (en) 2015-11-06 2017-05-11 Mursion, Inc. Control system for virtual characters
US10025972B2 (en) 2015-11-16 2018-07-17 Facebook, Inc. Systems and methods for dynamically generating emojis based on image analysis of facial features
WO2017101094A1 (en) 2015-12-18 2017-06-22 Intel Corporation Avatar animation system
US10664741B2 (en) 2016-01-14 2020-05-26 Samsung Electronics Co., Ltd. Selecting a behavior of a virtual agent
CN105844101A (zh) 2016-03-25 2016-08-10 惠州Tcl移动通信有限公司 一种基于智能手表的情绪数据处理方法、系统及智能手表
US10366090B2 (en) 2016-03-30 2019-07-30 Facebook, Inc. Displaying temporary profile content items on communication networks
KR20170112497A (ko) 2016-03-31 2017-10-12 엘지전자 주식회사 이동 단말기 및 그 제어방법
US11320982B2 (en) 2016-05-18 2022-05-03 Apple Inc. Devices, methods, and graphical user interfaces for messaging
US10491553B2 (en) 2016-05-26 2019-11-26 International Business Machines Corporation Dynamically integrating contact profile pictures into messages based on user input
CN106101358A (zh) 2016-05-27 2016-11-09 珠海市魅族科技有限公司 一种联系人信息更新的方法及智能设备
US10607386B2 (en) 2016-06-12 2020-03-31 Apple Inc. Customized avatars and associated framework
US10009536B2 (en) 2016-06-12 2018-06-26 Apple Inc. Applying a simulated optical effect based on data received from multiple camera sensors
EP3264251B1 (en) 2016-06-29 2019-09-04 Dassault Systèmes Generation of a color of an object displayed on a gui
US10855632B2 (en) 2016-07-19 2020-12-01 Snap Inc. Displaying customized electronic messaging graphics
US11003898B2 (en) 2016-07-25 2021-05-11 BGR Technologies Pty Limited Creating videos with facial expressions
US20180047200A1 (en) 2016-08-11 2018-02-15 Jibjab Media Inc. Combining user images and computer-generated illustrations to produce personalized animated digital avatars
CN117193618A (zh) 2016-09-23 2023-12-08 苹果公司 头像创建和编辑
DK179978B1 (en) 2016-09-23 2019-11-27 Apple Inc. IMAGE DATA FOR ENHANCED USER INTERACTIONS
US20180101984A1 (en) 2016-10-06 2018-04-12 Google Inc. Headset removal in virtual, augmented, and mixed reality using an eye gaze database
US10528801B2 (en) 2016-12-07 2020-01-07 Keyterra LLC Method and system for incorporating contextual and emotional visualization into electronic communications
JP6266736B1 (ja) 2016-12-07 2018-01-24 株式会社コロプラ 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP6240301B1 (ja) 2016-12-26 2017-11-29 株式会社コロプラ 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
US20180225263A1 (en) 2017-02-06 2018-08-09 Microsoft Technology Licensing, Llc Inline insertion viewport
EP4216093A1 (en) 2017-02-07 2023-07-26 InterDigital VC Holdings, Inc. System and method to prevent surveillance and preserve privacy in virtual reality
US10438393B2 (en) 2017-03-16 2019-10-08 Linden Research, Inc. Virtual reality presentation of body postures of avatars
KR20180120449A (ko) 2017-04-27 2018-11-06 삼성전자주식회사 프로필 이미지 공유 방법 및 이를 지원하는 전자 장치
CN107171934B (zh) 2017-05-05 2019-10-25 沈思远 即时通讯工具的信息处理方法、即时通讯客户端及系统
DK179948B1 (en) 2017-05-16 2019-10-22 Apple Inc. Recording and sending Emoji
US10521948B2 (en) 2017-05-16 2019-12-31 Apple Inc. Emoji recording and sending
US10397391B1 (en) 2017-05-22 2019-08-27 Ginko LLC Two-way permission-based directory of contacts
JP6401841B1 (ja) 2017-09-13 2018-10-10 株式会社コロプラ 情報処理方法、コンピュータ、及びプログラム
US20190114037A1 (en) 2017-10-17 2019-04-18 Blend Systems, Inc. Systems and methods for distributing customized avatars responsive to events
CN107613085A (zh) 2017-10-31 2018-01-19 武汉诚迈科技有限公司 手机通讯录自动更新方法、服务器和用户终端
CN111386553A (zh) 2017-11-29 2020-07-07 斯纳普公司 用于电子消息传递应用的图形渲染
US20190172458A1 (en) 2017-12-01 2019-06-06 Affectiva, Inc. Speech analysis for cross-language mental state identification
KR102565755B1 (ko) 2018-02-23 2023-08-11 삼성전자주식회사 얼굴의 특징점의 움직임에 따라 모션이 수행된 아바타를 표시하는 전자 장치와 이의 동작 방법
WO2019164266A1 (en) 2018-02-23 2019-08-29 Samsung Electronics Co., Ltd. Electronic device for generating image including 3d avatar reflecting face motion through 3d avatar corresponding to face and method of operating same
US11062494B2 (en) 2018-03-06 2021-07-13 Didimo, Inc. Electronic messaging utilizing animatable 3D models
US20190295056A1 (en) 2018-03-20 2019-09-26 Rocky Jerome Wright Augmented Reality and Messaging
KR102002863B1 (ko) 2018-04-13 2019-07-24 라인플러스 주식회사 사람의 얼굴을 이용한 동물 형상의 아바타를 생성하는 방법 및 시스템
US10789753B2 (en) 2018-04-23 2020-09-29 Magic Leap, Inc. Avatar facial expression representation in multidimensional space
US10607065B2 (en) 2018-05-03 2020-03-31 Adobe Inc. Generation of parameterized avatars
CN116309023A (zh) 2018-05-07 2023-06-23 苹果公司 头像创建用户界面
DK180212B1 (en) 2018-05-07 2020-08-19 Apple Inc USER INTERFACE FOR CREATING AVATAR
EP4262193A3 (en) 2018-05-07 2023-11-29 Google LLC Puppeteering remote avatar by facial expressions
US11107261B2 (en) 2019-01-18 2021-08-31 Apple Inc. Virtual avatar animation based on facial feature movement
US10953334B2 (en) 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
DK201970530A1 (en) 2019-05-06 2021-01-28 Apple Inc Avatar integration with multiple applications
WO2021252160A1 (en) 2020-06-08 2021-12-16 Apple Inc. Presenting avatars in three-dimensional environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013152454A1 (en) 2012-04-09 2013-10-17 Intel Corporation System and method for avatar management and selection
US20150346912A1 (en) * 2014-05-31 2015-12-03 Apple Inc. Message user interfaces for capture and transmittal of media and location content
US20160134840A1 (en) * 2014-07-28 2016-05-12 Alexa Margaret McCulloch Avatar-Mediated Telepresence Systems with Enhanced Filtering
US20170046065A1 (en) * 2015-04-07 2017-02-16 Intel Corporation Avatar keyboard

Also Published As

Publication number Publication date
AU2022203285B2 (en) 2023-06-29
AU2023233200B2 (en) 2023-10-26
AU2021201681A1 (en) 2021-04-08
KR20220076537A (ko) 2022-06-08
US20180336715A1 (en) 2018-11-22
US10997768B2 (en) 2021-05-04
KR20220123350A (ko) 2022-09-06
US20200302669A1 (en) 2020-09-24
KR102435337B1 (ko) 2022-08-22
JP2020520030A (ja) 2020-07-02
KR102549029B1 (ko) 2023-06-29
DK180007B1 (en) 2020-01-16
US11532112B2 (en) 2022-12-20
KR20230101936A (ko) 2023-07-06
AU2022203285A1 (en) 2022-06-02
JP2022023907A (ja) 2022-02-08
DK201870381A1 (en) 2019-01-25
KR20230144661A (ko) 2023-10-16
KR102439054B1 (ko) 2022-09-02
AU2021201681B2 (en) 2022-02-17
US20200074711A1 (en) 2020-03-05
AU2024200460A1 (en) 2024-02-15
US20210264656A1 (en) 2021-08-26
AU2023233200A1 (en) 2023-10-12
JP6967610B2 (ja) 2021-11-17
US20230090342A1 (en) 2023-03-23
US10521948B2 (en) 2019-12-31
US10846905B2 (en) 2020-11-24
JP2024001091A (ja) 2024-01-09
KR20220076538A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
KR102585858B1 (ko) 이모지 레코딩 및 전송
DK179948B1 (en) Recording and sending Emoji
EP3570251A1 (en) Emoji recording and sending
KR102331988B1 (ko) 이모지 레코딩 및 전송

Legal Events

Date Code Title Description
A107 Divisional application of patent
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right