KR20210147654A - 전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법 - Google Patents

전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법 Download PDF

Info

Publication number
KR20210147654A
KR20210147654A KR1020200065208A KR20200065208A KR20210147654A KR 20210147654 A KR20210147654 A KR 20210147654A KR 1020200065208 A KR1020200065208 A KR 1020200065208A KR 20200065208 A KR20200065208 A KR 20200065208A KR 20210147654 A KR20210147654 A KR 20210147654A
Authority
KR
South Korea
Prior art keywords
emoji
user
facial expression
motion
processor
Prior art date
Application number
KR1020200065208A
Other languages
English (en)
Inventor
안준호
강혜진
박지윤
배창섭
서상균
송재윤
최민석
한규희
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200065208A priority Critical patent/KR20210147654A/ko
Priority to EP21812977.3A priority patent/EP4141798A4/en
Priority to PCT/KR2021/006543 priority patent/WO2021242005A1/ko
Publication of KR20210147654A publication Critical patent/KR20210147654A/ko
Priority to US18/070,944 priority patent/US20230087879A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • 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/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • H04N2005/2726Means for inserting a foreground image in a background image, i.e. inlay, outlay for simulating a person's appearance, e.g. hair style, glasses, clothes

Abstract

다양한 실시예에 따른 전자 장치는, 카메라, 디스플레이, 상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서 및 상기 프로세서에 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 이모지 기능 실행 시에 신체 부위 별 편집 모드로의 진입을 지원하는 메뉴 항목들을 상기 디스플레이에 표시되는 이모지 기능 사용자 인터페이스의 적어도 일부에 포함하여 표시하고, 상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고, 상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고, 상기 생성된 얼굴 표정 모션 파일 및 바디 모션 파일의 합성을 위한 싱크를 조절하고, 상기 싱크가 조절된 얼굴 표정 모션 파일 및 바디 모션 파일을 합성하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하도록 하는 인스트럭션들을 저장할 수 있다.

Description

전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법{AN ELECTRONIC DEVICE AND METHOD FOR GENERATING EMOJI STICKER BASED ON USER AVATAR}
다양한 실시예들은 전자 장치 및 전자 장치에서 사용자 아바타 기반의 이모지 스티커를 생성하는 방법에 관한 것이다.
전자 장치는 사용자 이미지를 이용하여 사용자와 닮은 아바타(avatar)를 생성할 수 있다. 전자 장치는 사용자 아바타를 활용하여 다양한 서비스 예를 들어, 아바타 촬영, 또는, 사용자 아바타에 얼굴 표정, 동작 또는 텍스트를 적용하여 사용자가 자신의 감정을 직접적 또는 간접적으로 표현할 수 있는 이모지 스티커(또는 애니메이션 스티커) 서비스를 사용자에게 제공할 수 있다.
전자 장치는 사용자와 닮은 아바타를 생성하고 이를 활용할 수 있는 기능을 제공하며, 예를 들어, 미리 정의된 모델 또는 템플릿에 기반하여 이모지 스티커를 생성할 수 있다. 그러나, 전자 장치에서 제공하는 이모지 스티커는 사전에 그래픽 디자이너가 미리 생성한 모델 또는 템플릿을 활용하기 때문에 생성 가능한 수가 제한적이며, 서비스 공급자가 제공하는 모델에 국한되어 이용해야 하는 단점을 가지고 있다. 이로 인해, 이모지 스티커 서비스를 사용자에게 제공하는데 있어서, 사용자가 원하는 얼굴 표정 및 바디(body) 동작과 같이, 사용자 고유의 개성적인 특성을 정확하게 반영하지 못하는데 어려움이 있다.
다양한 실시예에 따르면, 전자 장치는 지정된 얼굴 표정 또는 바디 동작 이외에 사용자가 원하는 얼굴 표정 및 바디 동작을 반영하여 사용자 개인의 커스텀 이모지 스티커를 생성하기 위한 서비스를 지원할 수 있다.
다양한 실시예에 따른 전자 장치는, 카메라, 디스플레이, 상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서 및 상기 프로세서에 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 이모지 기능 실행 시에 신체 부위 별 편집 모드로의 진입을 지원하는 메뉴 항목들을 상기 디스플레이에 표시되는 이모지 기능 사용자 인터페이스의 적어도 일부에 포함하여 표시하고, 상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고, 상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고, 상기 생성된 얼굴 표정 모션 파일 및 바디 모션 파일의 합성을 위한 싱크를 조절하고, 상기 싱크가 조절된 얼굴 표정 모션 파일 및 바디 모션 파일을 합성하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하도록 하는 인스트럭션들을 저장할 수 있다.
다양한 실시예에 따른 전자 장치는, 카메라, 디스플레이 및 상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서를 더 포함하고, 상기 프로세서가, 이모지 기능 실행 시, 신체 부위 별 편집 모드로의 진입을 지원하는 이모지 기능 사용자 인터페이스를 상기 디스플레이에 표시하고, 상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력을 수신하고, 상기 얼굴 표정 편집 모드에서 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고, 상기 생성된 얼굴 표정 파일에 대응하는 커스텀 얼굴 표정 이모지를 상기 이모지 기능 사용자 인터페이스에 표시하도록 제어하고, 상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력을 수신하고, 상기 바디 모션 편집 모드에서 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고, 상기 생성된 바디 모션 파일에 대응하는 커스텀 바디 모션 이모지를 상기 이모지 기능 사용자 인터페이스에 표시하도록 제어하고, 상기 얼굴 표정 이모지 및 바디 모션 이모지의 합성을 요청하는 사용자 입력에 기반하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하여 상기 이모지 기능에 업데이트하도록 제어할 수 있다.
다양한 실시예들에 따르면, 전자 장치는 이모지 스티커 생성 시 정해진 그래픽 툴을 이용하지 않고, 카메라 또는 사용자 영상을 이용하여 사용자가 원하는 얼굴 표정, 바디 동작 또는 핸드 동작을 추출하고, 이를 각각의 애니메이션 파일로 저장할 수 있다.
다양한 실시예들에 따르면 전자 장치는 사용자를 촬영하여 인식된 바디 동작 또는 핸드 동작에 매칭되는 메시지를 추출하고, 추출된 메시지를 이모지 스티커 제작 시 활용하여 사용자가 원하는 감정을 보다 명확하게 전달할 수 있는 이모지 스티커를 제작할 수 있다.
다양한 실시예들에 따르면 전자 장치는 사용자가 원하는 얼굴 표정과 사용자의 동작 특성을 닮은 이모지 스티커를 직접 제작하고 이를 스티커 포맷으로 활용함으로써 사용자 아바타 기반의 이모지 사용의 만족도를 증가시키고 활용성을 향상시킬 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예에 따른 전자 장치의 블록 구성도이다.
도 3은 다양한 실시예에 따른 전자 장치에서 사용자 아바타 기반의 이모지 스티커를 생성하는 방법을 나타내는 흐름도이다.
도 4는 다양한 실시예에 따른 전자 장치에서 사용자 아바타 기반의 이모지 스티커를 생성하는 방법을 나타내는 흐름도이다.
도 5는 다양한 실시예에 따른 이모지 스티커를 생성하기 위한 각 모션 파일들을 동기화하는 방법을 나타내는 흐름도이다.
도 6은 다양한 실시예에 따른 이모지 스티커 기능의 사용자 인터페이스 화면을 도시한다.
도 7a 내지 도 7c는 다양한 실시예예 따른 얼굴 모션 이모지를 생성하는 사용자 인터페이스 화면을 도시한다.
도 8a 내지 도 8c는 다양한 실시예예 따른 바디 모션 이모지를 생성하는 사용자 인터페이스 화면을 도시한다.
도 9a 내지 도 9c는 다양한 실시예에 따른 수화 이모지를 생성하는 사용자 인터페이스 화면을 도시한다.
도 10은 다양한 실시예에 따른 배경 이모지를 적용하는 사용자 인터페이스 화면을 도시한다.
도 11은 다양한 실시예에 따른 이모지 스티커를 생성하기 위한 방법을 나타내는 흐름도이다.
도 12는 다양한 실시예에 따른 이모지 스티커 기능의 사용자 인터페이스 화면을 도시한다.
도 13은 다양한 실시예에 따른 이모지 스티커 기능을 지원하는 사용자 인터페이스 화면을 도시한다.
Figure pat00001
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성 요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성 요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드(embedded)된 채 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성 요소(예: 하드웨어 또는 소프트웨어 구성 요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성 요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(volatile memory)(132)에 로드(load)하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(non-volatile memory)(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(active)(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성 요소들 중 적어도 하나의 구성 요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))과 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성 요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성 요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜) 등을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커(speaker) 또는 리시버(receiver)를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서(pressure sensor))를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서(gesture sensor), 자이로 센서(gyro sensor), 기압 센서(barometer sensor), 마그네틱 센서(magnetic sensor), 가속도 센서(acceleration sensor), 그립 센서(grip sensor), 근접 센서(proximity sensor), 컬러 센서(color sensor)(예: RGB(red, green, blue) 센서), IR(infrared) 센서, 생체 센서(biometric sensor), 온도 센서(temperature sensor), 습도 센서(humidity sensor), 또는 조도 센서(illuminance sensor) 등을 포함할 수 있다.
인터페이스(177)는 전자 장치(101)의 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜(protocol)들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스 등을 포함할 수 있다.
연결 단자(connection terminal)(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터) 등을 포함할 수 있다.
햅틱 모듈(haptic module)(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터(motor), 압전 소자(piezoelectric element), 또는 전기 자극 장치(electrical stimulation device) 등을 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지(fuel cell)를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, Wi-Fi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다.
무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI, international mobile subscriber identity))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)가 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성 요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고, 신호(예: 명령 또는 데이터)를 상호 간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104) 간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다.
일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104 또는 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들(102, 104)에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들(102, 104)은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅(cloud computing), 분산 컴퓨팅(distributed computing), 또는 클라이언트-서버 컴퓨팅(client-server computing) 기술이 이용될 수 있다.
다양한 실시예들에 따른 전자 장치(101)는 다양한 형태의 장치가 될 수 있다. 전자 장치(101)는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치(wearable device), 또는 가전 장치를 포함할 수 있다. 다양한 실시예에 따른 전자 장치(101)는 전술한 기기들에 한정되지 않는다.
도 2는 다양한 실시예에 따른 전자 장치의 블록 구성도이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101)는 프로세서(210)(예: 도 1의 프로세서(120))를 포함할 수 있다. 전자 장치(101)는 도 1의 전자 장치(101)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있으며, 도 1과 중복되는 구성 요소를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 영상(예: 정지 영상 또는 동영상)으로부터 피사체(예: 사용자)를 인식하는 기능, 피사체를 반영하는 아바타를 생성하는 기능, 피사체를 대신하여 아바타를 적용(예: 사용자 얼굴을 대체하여 아바타를 표시)하는 기능, 2차원 아바타를 3차원 아바타로 변경하는 기능, 얼굴 표정 모션 및 바디 모션의 프레임 싱크를 동기화하는 기능, 이모지/애니메이션 스티커를 생성하는 기능, 바디 모션과 매칭되는 메시지를 인식하는 기능. 수화 이모지를 생성하는 기능 중 적어도 하나를 지원할 수 있다. 상기 기능들은 이모지 어플리케이션 또는 증강 현실 어플리케이션을 통해 제공될 수 있다. 또는, 상기 기능들은 카메라 어플리케이션이 제공하는 기능들 중 하나(예: 앱인앱(app in app))로서 제공될 수 있다.
일 실시예에 따른, 프로세서(210)는 이모지 인터페이스 모듈(211), 이모지 생성 모듈(213), 프레임 싱크 모듈(215), 이모지 스티커 합성 모듈(217) 및 매칭 모듈(219)를 포함할 수 있다. 상기 모듈들(211,213,215,217,219)은 프로세서(210)(예: 어플리케이션 프로세서 또는 이미지 처리 프로세서)의 하드웨어 모듈로 구성될 수 있다. 상기 모듈들(211,213,215,217,219) 중에서 적어도 하나는 프로세서와 다른 별도의 하드웨어로서 전자 장치에 구성될 수도 있다. 또는, 상기 모듈들(211,213,215,217,219)은 소프트웨어(예: 프로그램(140))로 구현될 수도 있으며, 프로세서(210)는 상기 소프트웨어를 실행할 수 있다.
이모지 인터페이스 모듈(211)은, 이모지 (예: AR(augmented reality) 아바타)와 관련된 기능을 지원하기 위한 사용자 인터페이스 환경을 표시 장치(160)(예: 디스플레이 또는 터치스크린)에 제공할 수 있다. 이모지 인터페이스 모듈(211)은 이모지 홈 모드(예: 이모지 홈 화면, 이모지 쇼룸 모드)로 진입하기 위한 아이템(item)(예: 앱 아이콘 또는 메뉴 아이콘)을 홈 화면 또는 어플리케이션 실행 화면(예: 카메라 모드 화면)의 적어도 일부에 표시할 수 있다.
이모지 홈 모드는 이모지를 표시하는 쇼룸(showroom) 기능, 아바타가 애니메이션을 수행(예: 인사하는 동작)하는 기능, 아바타 편집 기능, 배경 편집 기능, 아바타에 기반하여 이모지/애니메이션 스티커를 생성하는 기능 이모지/애니메이션 스티커를 편집하는 기능, 또는 다른 툴 또는 서드 파티 앱(3rd party application)과 공유(예: 다른 어플리케이션에 아바타 공유)하는 기능을 지원할 수 있다.
이모지 인터페이스 모듈(211)은 이모지와 관련된 기능을 수행하기 위한 사용자 입력에 기반하여 이모지와 관련된 기능을 수행하기 위한 다양한 화면을 디스플레이에 표시할 수 있다. 이모지 인터페이스 모듈(211)은 이모지 카메라 모드 진입에 응답하여 카메라(예: 도1의 카메라 모듈(180))로부터 획득되는 이미지를 프리뷰 이미지로서 디스플레이에 표시할 수 있다.
이모지 인터페이스 모듈(211)은 사용자 입력에 지정된 얼굴 표정 모션 및 바디 모션 중 적어도 하나를 독립적으로 이모지/애니메이션 스티커에 적용하여 반영할 수 있다.
이모지 생성 모듈(213)은 사용자의 특징을 반영한 아바타를 생성할 수 있다. 이모지 생성 모듈(213)은 아타바 부위 별로 데이터를 처리 및 관리할 수 있다. 일 예, 이모지 생성 모듈(213)은 얼굴 표정 모션을 처리/저장하는 모듈, 바디 모션을 처리/ 저장하는 모듈,, 배경 및 효과를 처리/저장하는 모듈을 포함할 수 있다. 상기 모듈들은 통합적으로 또는 개별적으로 동작할 수 있다.
이모지 생성 모듈(213)은 이모지 카메라 모드에서 획득하는 이미지(예: 프리뷰 이미지 또는 저장된 이미지)로부터 피사체(예: 사용자)의 움직임을 분석하여 특징적인 얼굴 표정 모션 및 바디(body) 모션(또는 핸드 모션) 중 적어도 하나를 추출할 수 있다. 예를 들어, 이모지 생성 모듈(213)은 프리뷰 이미지에 기반하여 사용자의 얼굴 표정 변화(예: 눈동자를 깜빡이는 모션), 사용자의 바디 움직임 변화(예: 고개를 움직이는 모션, 손바닥을 폈다 쥐었다 하는 모션을 인식할 수 있다.
이모지 생성 모듈(213)은 추출된 얼굴 표정 모션 파일(예: json 파일) 또는 바디(body) 모션 파일(예: bvh 파일)을 각각의 애니메이션 파일로 저장하고, 이들을 각 편집 모드의 이모지 목록에 추가할 수 있다. 예를 들어, 이모지 인터페이스 모듈(211)은 얼굴 표정 이모지 편집 모드에서 설정된 또는 지정된 얼굴 표정 세트포맷 이외에 사용자 요청에 의해 제작된 커스텀 얼굴 표정 모션 이모지를 얼굴 표정 이모지 목록 추가하여 표시할 수 있다.
프레임 싱크 모듈(215)은 얼굴 표정 모션 파일(예: json 파일) 및 바디(body) 모션 파일(예: bvh 파일)을 합성하기 위해 각 모션 파일들의 싱크를 조절할 수 있다. 프레임 싱크 모듈(215)은 각 모션 파일들과 관련하여 싱크가 맞도록 각 파일들의 프레임 수를 조절할 수 있다. 프레임 싱크 모듈(215)은 이모지 스티커 생성 시 모션들이 자동 반복 재생되는 횟수, 각 모션의 결합 비율을 조정할 수 있다.
프레임 싱크 모듈(215)은 서로 다른 프레임 수로 생성된 각 모션 파일(또는 모션 데이터)로부터 애니메이션 재생을 위한 필요 프레임 수를 산출하고, 프레임 믹싱을 위한 기준 프레임(또는 중요 프레임, 하이라이트 프레임)을 산출할 수 있다. 프레임 싱크 모듈(215)은 기준 프레임을 필수 구성으로 배치하고, 모션 데이터의 길이값이 동일해지도록 프레임 수를 조절할 수 있다. 프레임 싱크 모듈(215)은 각 모션 데이터의 프레임 수를 조절하여 모션 데이터마다 반복 재생되는 값을 다르게 조절할 수 있다. 프레임 싱크 모듈(215)은 각 모션 데이터를 기반으로 애니메이션 재생 시 불필요하게 튀는 모션값을 제거하여 애니메이션을 부드럽게 재생 할 수 있도록 조절할 수 있다.
다양한 실시예에 따르면, 프레임 싱크 모듈(215)는 이모지 스티커의 프레임들을 기반으로 프레임 사이에 배경화면 이미지를 삽입하거나, 특정 프레임에 텍스트 또는 아이콘을 추가로 삽입하여 각각의 프레임을 수정하는 기능을 지원할 수 있다.
이모지 스티커 합성 모듈(217)은, 프레임 싱크 모듈(215)로부터 전달된 이모지 얼굴 표정 모션 및 바디 모션을 합성하여 이모지/애니메이션 스티커를 생성할 수 있다. 이모지 스티커 합성 모듈(217)은 사용자 아바타와 생성된 이모지 스티커를 합성할 수 있다. 예를 들어, 이모지 스티커 합성 모듈(217)은 신체 부위 별 이모지를 사용자 아바타에 적용, 변경할 수 있도록 지원할 수 있다. 이모지 스티커 합성 모듈(217)은 이모지 및/또는 이모지 아이템(예: 눈, 코, 입, 헤어 색상, 헤어 스타일, 얼굴 모양, 피부색, 의상 및/또는 액세서리)을 변경할 수 있도록 지원할 수 있다. 이모지 스티커 합성 모듈(217)은 이모지의 배경 이미지, 효과 또는 메시지를 변경할 수 있도록 지원할 수 있다. 이모지 스티커 합성 모듈(217)은 이모지 또는 이모지의 아이템이 변경된 경우, 이모지와 관련되어 저장된 이모지 스티커의 아이템이 반영되도록 업데이트 할 수 있다.
매칭 모듈(219)은 이모지 생성 모듈에 의해 인식된 피사체의 바디(body) 모션과 매칭되는 메시지 또는 텍스트가 인식되는지를 판단할 수 있다. 매칭 모듈(219)은 바디(body) 모션의 움직임 특징에 매칭되는 메시지 또는 텍스트가 인식되는 경우, 메시지 또는 텍스트 정보를 이모지 스티커 합성 모듈(217)로 전달할 수 있다. 이모지 스티커 합성 모듈(217)은 매칭되는 텍스트 또는 메시지가 인식된 특정 바디 모션을 기반으로 이모지 스티커 생성 시 배경 이미지에 매칭되는 텍스트 또는 메시지를 삽입하여 생성할 수 있다.
또는, 매칭 모듈(219)은 통신 모듈(예: 도 1의 통신 모듈(190)을 통해 이모지 서버로 사용자 영상에서부터 추출된 바디 모션 데이터를 전송하고, 이모지 서버로부터 바디 모션 데이터에 대응하는 메시지 또는 텍스트 정보를 수신할 수도 있다.
추가적으로 또는 옵션적으로 매칭 모듈(219)은 생략될 수 있다.
이모지 데이터베이스(250)는 미리 지정된 또는 설정된 얼굴 표정 세트, 바디 모션 세트, 핸드 모션 세트, 2D 이모지 스티커 세트, 3D 이모지 세트, 액세서리 세트, 배경 및 효과 세트 중 적어도 하나를 포함할 수 있다. 이모지 데이터베이스(250)는 아바타(예: 이모지 캐릭터)의 얼굴(face), 바디(body)), 텍스처(texture)(예: 3차원 모델의 색상 또는 질감을 표현하기 위한 이미지)를 표현하기 위한 데이터를 포함할 수 있다. 이모지 데이터베이스(250)는 외부 전자 장치로부터 다운로드 한 이모지 세트 또는 애니메이션 세트를 저장할 수 있다. 이모지와 관련된 데이터는 이모지 인터페이스 모듈(211) 또는 서드 파티 어플리케이션(3rd party application)(미도시)에 제공될 수 있다.
Figure pat00002
Figure pat00003
Figure pat00004
Figure pat00005
Figure pat00006
Figure pat00007
Figure pat00008
Figure pat00009
Figure pat00010
다양한 실시예에 따른 전자 장치(101)는 카메라(예: 도1 의 카메라 모듈(180)과, 디스플레이(예: 도 1의 표시 장치(160))와, 상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120), 도2의 프로세서(210)); 및 상기 프로세서에 작동적으로 연결된 메모리(예: 도 1의 메모리(130), 도 2의 이모지 데이터 베이스(250))를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 이모지 기능 실행 시에 신체 부위 별 편집 모드로의 진입을 지원하는 메뉴 항목들을 상기 디스플레이에 표시되는 이모지 기능 사용자 인터페이스의 적어도 일부에 포함하여 표시하고, 상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고, 상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고, 상기 생성된 얼굴 표정 모션 파일 및 바디 모션 파일의 합성을 위한 싱크를 조절하고, 상기 싱크가 조절된 얼굴 표정 모션 파일 및 바디 모션 파일을 합성하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하도록 하는 인스트럭션들을 저장할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 얼굴 표정 모션 파일 생성 시 상기 이모지 기능과 관련된 아바타를 상기 얼굴 모션 파일에 대응하는 얼굴 표정으로 업데이트되도록 하고, 상기 바디 모션 파일 생성 시 상기 아바타를 상기 바디 모션 파일에 대응하는 바디 움직임으로 업데이트되도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 얼굴 모션 또는 바디 움직임으로 업데이트되는 아바타는 각 신체 부위별 편집 모드로의 진입 시에도 적용되도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 얼굴 표정 편집 모드로 진입 시에 상기 사용자 얼굴 영상으로부터 사용자 얼굴의 특징점을 추출하고, 상기 얼굴 특징점을 기반으로 사용자 얼굴의 움직임 데이터를 얼굴 표정의 움직임을 표현하는 morph target weight 값으로 변환하고, 상기 morph target weight 값을 기반으로 상기 얼굴 표정 모션 파일을 상기 메모리에 저장할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 얼굴 표정 편집 모드로 진입 시에 제공되는 얼굴 표정 세트 이모지 목록에 상기 얼굴 표정 모션 파일을 기반으로 생성된 커스텀 얼굴 표정 이모지를 포함하여 표시하도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 바디 모션 편집 모드로 진입 시에, 상기 사용자 바디 영상으로부터 사용자 바디의 특징점을 추출하여 사용자 바디의 조인트 부분을 구분하고, 상기 바디 조인트 부분을 기준으로 바디 움직임 데이터를 바디 움직임을 표현하는 TRS(translation rotation scale) 값으로 변환하고, 상기 TRS값을 기반으로 상기 바디 모션 파일을 상기 메모리에 저장할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 바디 모션 편집 모드로 진입 시에 제공되는 바디 모션 세트 이모지 목록에 상기 바디 모션 파일을 기반으로 생성된 커스텀 바디 이모지를 포함하여 표시하도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 생성된 커스텀 이모지 스티커를 이모지 홈 화면 또는 이모지 쇼룸 모드에 제공되는 이모지 스티커 세트 목록에 추가하여 표시하도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 얼굴 표정 모션 파일의 프레임 수와 상기 바디 모션 파일의 프레임 수가 동일해지도록 각 파일 들의 프레임 수를 조절하도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 얼굴 표정 모션 파일을 기반으로 애니메이션 재생을 위한 제1 필요 프레임 수를 산출하고, 상기 바디 모션 파일을 기반으로 애니메이션 재생을 위한 제2 필요 프레임 수를 산출하고, 상기 얼굴 표정 모션 파일 및 바디 모션 파일로부터 특징적인 동작을 표현하는 기준 프레임을 산출하고, 상기 기준 프레임을 기준으로 각 모션들의 필요 프레임 수에 맞춰 보충적 프레임을 삽입하여 상기 프레임 수를 조절하도록 제어할 수 있다.
일 실시예에 따르면, 상기 전자 장치는 통신 모듈을 더 포함하고, 상기 프로세서가, 상기 사용자 바디 영상 으로부터 인식된 바디 움직임을 상기 통신 모듈을 통해 이모지 서버로 전송하고, 상기 이모지 서버로부터 상기 바디 움직임 에 대응하는 메시지 또는 텍스트 정보를 수신하는 경우, 상기 수신된 메시지 또는 텍스트 정보를 상기 생성된 커스텀 이모지 스티커에 배경으로 삽입하도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서가, 상기 사용자 바디 영상으로부터 인식된 바디 움직임에 대응하여 수화 패턴이 인식되는지를 분석하고, 바디 움직임과 관련하여 수화 패턴이 인식된 경우, 상기 통신 모듈을 통해 수화 이모지 목록을 다운로드 받아 수화 이모지 목록을 표시하고, 상기 수화 이모지 목록에서 적어도 하나 이상의 수화 이미지를 순차적으로 선택하는 입력에 기반하여 수화 이모지 스티커를 생성하도록 제어할 수 있다.
다른 실시예에 따른 전자 장치(101)는, 카메라(예: 도1 의 카메라 모듈(180)과, 디스플레이(예: 도 1의 표시 장치(160))와, 상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120), 도2의 프로세서(210))를 포함하고, 상기 프로세서가, 이모지 기능 실행 시, 신체 부위 별 편집 모드로의 진입을 지원하는 이모지 기능 사용자 인터페이스를 상기 디스플레이에 표시하고, 상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력을 수신하고, 상기 얼굴 표정 편집 모드에서 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고, 상기 생성된 얼굴 표정 파일에 대응하는 커스텀 얼굴 표정 이모지를 상기 이모지 기능 사용자 인터페이스에 표시하도록 제어하고, 상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력을 수신하고, 상기 바디 모션 편집 모드에서 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고, 상기 생성된 바디 모션 파일에 대응하는 커스텀 바디 모션 이모지를 상기 이모지 기능 사용자 인터페이스에 표시하도록 제어하고, 상기 얼굴 표정 이모지 및 바디 모션 이모지의 합성을 요청하는 사용자 입력에 기반하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하여 상기 이모지 기능에 업데이트하도록 제어할 수 있다.
도 3은 다양한 실시예에 따른 전자 장치의 사용자 아바타 기반의 이모지 스티커를 생성하는 방법을 나타내는 흐름도이다.
도 3을 참조하면, 일 실시예에 따른 전자 장치(101)의 프로세서(예: 도1의 프로세서(120), 도 2의 프로세서(210))는 310 동작에서, 이모지 스티커 생성 모드로의 진입을 위한 사용자 입력을 수신할 수 있다.
일 예를 들어, 프로세서(120,210)는 카메라 앱 메뉴에서 이모지 스티커 생성 옵션을 선택하는 사용자 입력을 수신할 수 있다. 다른 예로, 프로세서(120,210)는 아바타 애니메이션 앱 아이콘 또는 증강 현실 아이콘을 선택하는 사용자 입력을 수신할 수 있다. 아바타 애니메이션 앱 아이콘 또는 증강 현실 아이콘은 홈 화면에 포함될 수 있다. 아바타 애니메이션 앱 또는 증강 현실 앱은 사용자 특성을 반영하여 커스터마이즈된 아바타 캐릭터, 이모지/애니메이션 스티커 생성, 아바타와 관련된 기능을 지원하는 어플리케이션으로 이해될 수 있다.
프로세서(120,210)는 이모지 스티커 생성과 관련된 사용자 입력에 기반하여, 이모지 홈 화면(또는 이모지 홈 모드 화면)을 디스플레이에 표시할 수 있다. 이모지 홈 화면은 아바타와 관련된 기능을 지원하기 위한 사용자 인터페이스(예: 아바타 항목, 기 설정된 또는 제공되는 이모지 스티커 목록, 새로운 이모지 스티커 생성 항목)를 포함할 수 있다.,
320 동작에서, 프로세서(120,210)는 신체 부위 옵션(예: 바디 편집 모드 아이템)을 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 프로세서(120,210)는 이모지 홈 화면에서 이모지 스티커 생성 모드로 진입한 후, 각 신체 부위별 옵션 항목을 선택할 수 있다. 다른 예를 들어, 또는 프로세서(120,210))는 이모지 스티커 생성과 관련하여 신체 부위 편집 모드 항목들 중 하나를 선택하는 사용자 입력을 수신할 수 있다.
330 동작에서, 프로세서(120,210)는 선택된 신체 부위에 대응하는 모션 파일을 생성하기 위한 이모지 카메라 모드로 진입할 수 있다. 이모지 카메라 모드 시 프로세서(120,210)는 카메라 모듈을 이용하여 이미지를 획득하고 획득한 이미지(또는 그에 대응하는 낮은 해상도의 이미지)를 디스플레이에 프리뷰(preview)할 수 있다. 프로세서(120,210)는 정지 이미지 또는 동영상 촬영을 위한 기능 항목(예:촬영 항목)을 프리뷰 이미지와 함께 표시할 수 있다.
일 실시예에 따르면, 프로세서(120,210)는 신체 부위 옵션에 따라 전면 카메라를 또는 후면 카메라를 활성화하도록 제어할 수 있다. 예를 들어, 프로세서(120,210)는 얼굴 표정 편집 모드로 진입 시 전면 카메라를 활성화하여 사용자의 셀피 이미지를 획득할 수 있다. 또는, 프로세서(120,210)는 바디 모션 편집 모드로 진입 시 후면 카메라를 활성화하여 사용자의 신체 부위 이미지를 획득할 수 있다.
340동작에서, 프로세서(120,210)는 영상 촬영(또는 녹화)을 요청하는 사용자 입력에 기반하여, 사용자 영상을 획득할 수 있다.
일 예로, 프로세서(120,210)는 설정된 시간 동안 사용자 영상을 촬영하고 이를 저장할 수 있다. 또는, 프로세서(120,210)는, 촬영 항목을 선택 하는 입력에 의해 영상을 촬영하고 촬영 항목을 다시 한번 선택하는 사용자 입력에 기반하여 사용자의 영상 촬영을 종료하고, 이를 저장할 있다.
350 동작에서, 프로세서(120,210)는 획득한 사용자 영상을 기반으로 신체 부위 별 커스텀 모션 파일을 생성할 수 있다. 프로세서(120,210)는 생성된 신체 부위에 대응하는 모션 파일을 각각 저장하고 사용자 아바타에 이를 적용할 수 있다.
일 실시예에 따르면, 프로세서(120,210)는 사용자 얼굴의 움직임(예: 얼굴 표정 변화)을 트래킹하여 사용자 얼굴 특징 및 얼굴 표정(예: 눈동자, 입)의 변화를 추적할 수 있다. 프로세서(120,210)는 사용자 얼굴 특징이 반영된 사용자 (얼굴) 아바타를 생성할 수 있다. 또는 프로세서(120,210)는 얼굴 표정 변화의 추적에 기반하여 얼굴 표정의 움직임을 표현하는 얼굴 모션 파일을 생성하고 저장하여, 이를 사용자 아바타에 적용할 수 있다.
일 실시예에 따르면, 프로세서(120,210)는 사용자 바디의 움직임(예: 바디 행동 변화)를 트래킹하여 사용자 바디 특징 및 바디 움직임 변화를 추적할 수 있다. 프로세서(120,210)는 사용자 바디 특징에 기반하여 사용자 (바디) 아바타를 생성할 수 있다. 또는, 프로세서(120,210)는 바디 움직임 변화 추적에 기반하여 사용자 바디 움직임을 표현하는 바디 모션 파일을 생성하고 저장하여 이를 사용자 아바타에 적용할 수 있다.
일 실시예에 따르면, 프로세서(120,210)는 사용자 핸드의 움직임(예: 핸드 손가락 변화)를 트래킹하여 사용자 핸드 특징 및 핸드 움직임 변화를 추적할 수 있다. 프로세서(120,210)는 사용자 핸드 특징에 기반하여 사용자 (핸드) 아바타를 생성할 수 있다. 또는, 프로세서(120,210)는 핸드 움직임 변화 추적에 기반하여 사용자 핸드 움직임을 표현하는 핸드 모션 파일을 생성하고 저장하여 이를 사용자 아바타에 적용할 수 있다.
360 동작에서, 프로세서(120,210)는 다른 신체 부위 옵션이 요구되는지를 확인하고, 다른 신체 부위 옵션이 요구되는 경우, 320 동작으로 복귀 할 수 있다.
예를 들어, 사용자는 얼굴 표정 생성 아이콘을 선택하여 사용자 얼굴 표정에 기반한 얼굴 표정 모션 파일을 생성하여 저장한 후, 바디 모션 편집 모드로 진입을 요청할 수 있다. 이후, 사용자는 바디 모션 편집 모드에서 바디 모션 파일을 생성하고 저장하는 동작을 진행할 수 있다. 추가적으로, 사용자는 배경 편집 모드로 진입하여 배경 이미지, 3D효과 또는 텍스트/ 이모티콘을 삽입할 수 있다.
370 동작에서, 프로세서(120,210)는 신체 부위별 모션 파일 예컨대, 얼굴 표정 모션 파일, 바디 모션 파일 또는/및 배경 파일들을 동기화(sync)하여 프레임 수를 조절할 수 있다.
380 동작에서, 프로세서(120,210)는 동기화된 각 파일들을 합성(또는 결합)하여 얼굴, 바디 영역으로 분리된 파일들을 기반으로 유니크한(또는 커스텀) 이모지 스티커(또는 애니메이션 스티커)를 생성할 수 있다.
예를 들어, 프로세서(120,210)는 얼굴 모션 파일 중 어느 하나를 선택한 후 저장하는 입력 및 바디 모션 파일 중 어느 하나를 선택하여 저장하는 입력에 기반하여 각 모션 파일들의 프레임 수를 조절하고 합성하여 이모지 스티커를 생성할 수 있다.
도 4는 다양한 실시예에 따른 전자 장치에서 사용자 아바타 기반의 이모지 스티커를 생성하는 방법을 나타내는 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 전자 장치(101)의 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는 개별적으로, 옵션적으로, 병렬적으로 또는 순차적으로 신체 부위 별 편집 모드로 진입하여 각각의 동작들을 수행할 수 있다.
옵션적으로, 410 동작에서, 프로세서(120,210)는 얼굴 표정 편집 모드로 진입할 수 있다. 예를 들어, 프로세서(120,210)는 얼굴 표정 생성 아이템(또는, 얼굴 편집 모드 아이템)을 선택하는 사용자 입력에 기반하여 얼굴 표정 편집 모드로 진입할 수 있다.
411 동작에서, 프로세서(120,210)는 사용자 입력에 기반하여 카메라(예: 전면 카메라)를 활성화하고, 피사체의 얼굴 부위를 포함하는 프리뷰 이미지를 획득할 수 있다. 프로세서(120,210)는 프리뷰 이미지에서 얼굴 영역을 인식할 수 있다. 412 동작에서, 프로세서(120,210)는 얼굴 특징점을 추출하고 사용자 얼굴 요소에 대응하는 매핑 요소를 분석할 수 있다. 얼굴 특징점은 눈, 코, 귀, 입, 얼굴형, 머리형태 중 적어도 하나를 포함할 수 있다. 매핑 요소는, 각 특징점들의 모양, 형태 정보, 위치 정보, 색상 정보, 움직임 정보 및 길이 정보 중 적어도 하나를 포함할 수 있다. 매핑요소는 2차원 요소를 3차원 질감으로 표현하기 위한 요소 및 2차원/3차원 움직임으로 표현하기 위한 요소 일 수 있다.
413 동작에서, 프로세서(120,210)는 얼굴 형상의 기본 모델(예: 얼굴 오픈 타겟 모델)에 얼굴 표현을 나타내는 타겟 무게 값으로 변환할 수 있다. 일 예로, 프로세서(120,210)는 얼굴 형상의 기본 모델(예: 얼굴 오픈 타겟 모델)에 얼굴 구성 요소를 이용하여 3차원 얼굴 형태로 변형하고, 3차원 얼굴 형태에 매핑 요소를 결합하여 3차원 형태의 사용자 얼굴 아바타를 생성할 수 있다.
414 동작에서, 프로세서(120,210)는 얼굴 표정의 움직임 변화를 표현하는 얼굴 모션 파일 또는 얼굴 애니메이션 파일(예: json 파일)을 저장할 수 있다. 얼굴 모션 파일 또는 얼굴 애니메이션 파일은 얼굴 특징점들의 움직임 값, 움직임 표현을 위한 프레임 수, 얼굴 모델의 blandshpe값, 타겟 형태로 변경을 위한 weight 변화값 중 적어도 하나를 포함할 수 있다.
프로세서(120,210)는 3차원 형태의 사용자 아바타에 저장된 얼굴 모션 파일을 적용하여 인식된 사용자의 얼굴 표정 움직임이 반영된 아바타로 업데이트할 수 있다.
옵션적으로, 420 동작에서, 프로세서(120,210)는, 바디 모션 편집 모드로 진입할 수 있다. 일 예를 들어, 프로세서(120,210)는 바디 모션 생성 아이템(또는 바디 편집 모드 아이템)을 선택하는 사용자 입력에 기반하여 바디 모션 편집 모드로 진입할 수 있다.
421 동작에서, 프로세서(120,210)는 사용자 입력에 기반하여 카메라(예: 후면 카메라)를 활성화하고, 피사체의 바디 부위를 포함하는 프리뷰 이미지를 획득할 수 있다. 프로세서(120,210)는 사용자 바디 부위 영상에서 바디 영역을 인식할 수 있다.
422 동작에서, 프로세서(120,210)는 바디 특징점을 추출할 수 있다. 프로세서(120,210)는 바디 영역에서 인체 조인트(또는 관절부위)를 기준으로 뼈대 부분을 구분하고, 바디 특징점을 추출할 수 있다.
일 예를 들어, 프로세서(120,210)는 피사체의 바디(또는 몸짓)의 움직임을 트래킹하고 트래킹에 기반하여 바디 동작(예: 눈동자, 입)의 움직임 변화를 추적할 수 있다. 프로세서(120,210)는 바디 조인트 부분을 기준으로 바디 움직임에 대한 각 (바디) 노드의 변화 값을 분석할 수 있다,
423 동작에서, 프로세서(120,210)는 각 노드의 변화값을 바디 동작을 나타내는 각 노드의 TRS(translation rotation scale)값으로 변환할 수 있다. 회전값은 2차원 바디 움직임을 3차월 바디 질감으로 표현하기 위한 값일 수 있다. 프로세서(120,210)는, 바디 형상의 기본 모델(예: 바디 오픈타겟 모델)에 바디 구성 요소를 기반으로3차원 바디 형태로 변형하고, 3차원 바디 형태에 각 몸 노드의 회전값을 결합하여 3차원 형태의 사용자 바디 아바타를 생성할 수 있다.
424 동작에서 프로세서(120,210)는 바디 움직임 변화를 표현하는 바디 모션 파일 또는 바디 애니메이션 파일(예: bvh 파일)을 저장할 수 있다. 바디 모션 파일 또는 바디 애니메이션 파일은 바디 움직임 생성에 필요한 프레임 수, 조인트 정보, 조인트 위치 정보, 조인트 별 회전값(회전 정보) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120,210)는 바디 움직임 중 핸드 모션의 움직임 변화를 인식하고 이를 바디 모션 파일에 적용할 수도 있다.
프로세서(120,210)는 3차원 형태의 사용자 아바타에 저장된 바디 모션 파일을 적용하여 인식된 사용자의 바디 움직임으로 반영된 아바타로 업데이트할 수 있다.
추가적으로, 선택적으로 또는 옵션적으로 440동작에서, 프로세서(120,210)는, 배경 및/또는 효과 편집 모드로 진입할 수 있다. 예를 들어, 프로세서(120,210)는 배경 및 효과 편집을 요청하는 사용자 입력(예: 배경/효과 편집 메뉴 항목에 대한 터치(예: 탭), 또는 특정 아바타 선택 후 롱 프레스)에 기반하여 이모지 배경/효과를 편집할 수 있는 모드로 진입할 수 있다. 프로세서(120,210)는 배경 및 효과 편집 모드로 진입 시 배경 및 효과 애니메이션 목록을 표시할 수 있다.
445 동작에서, 프로세서(120,210)는 배경 및/또는 효과 애니메이션을 선택하는 사용자 입력을 수신할 수 있다.
450 동작에서, 프로세서는 독립적으로 저장된 얼굴 모션 파일, 바디 모션 파일, 또는 배경/ 효과 애니메이션이 동기화되도록 프레임 수를 조절할 수 있다. 예를 들어, 프로세서(120,210)는 생성된 각 파일들의 프레임 수를 계산하여 얼굴 모션 및 바디 모션이 동기화될 수 있도록 프레임 수를 조정할 수 있다. 각 파일들에 대한 동기화 방법은 도 5의 예시로 설명하기로 한다.
460 동작에서, 프로세서(120,210)는 각 파일들을 스티커 합성 모듈로 전달하여 사용자 얼굴 및 움직임 특징이 반영된 커스텀 이모지 스티커(또는 애니메이션 스티커)를 합성할 수 있다.
일 예를 들어, 프로세서(120,210)는 각 개별 편집 모드에서 얼굴 모션 선택 입력, 바디 모션 선택 입력, 텍스트 또는 배경 삽입 입력 후 이모지 스티커 생성 확인여부를 질의하는 사용자 인터페이스를 표시하고, 사용자 승인 입력에 기반하여 각 모션 파일 및 배경/텍스트 이미지를 합성하여 이모지 스티커를 생성하고, 이모지 스티커 목록에 생성된 이모지 스티커를 추가할 수 있다.
도 5는 다양한 실시예에 따른 이모지 스티커를 생성하기 위한 각 모션 파일들을 동기화하는 방법을 나타내는 흐름도이다.
도 5를 참조하면, 일 실시예에 따른 각 모션 파일들을 합성하기 위한 동기화 과정을 살펴보면, 전자 장치(101)의 프로세서(예: 도1의 프로세서(120), 도 2의 프로세서(210))는 510동작에서 얼굴 모션 파일에 기반하여 제1 필요 프레임 수를 산출할 수 있다.
520 동작에서 프로세서(120,210)는 바디 모션 파일에 기반하여 제2 필요 프레임 수를 산출할 수 있다. 옵션적으로 또는 선택적으로 530 동작에서, 배경 및 꾸밈 모션 파일에 기반한 제3 필요 프레임 수를 산출할 수 있다.
540 동작에서, 프로세서(120,210)는 프레임 믹싱 또는 메시지 표시를 위한 기준 모션 프레임을 산출할 수 있다. 550 동작에서, 프로세서(120,210)는 기준 모션 프레임에 기반하여 각 모션들의 필요 프레임 수 사이에 보충적 프레임을 삽입하여 프레임 수를 조절할 수 있다. 예를 들어, 프로세서(120,210)는 각 모션 데이터의 프레임 수를 조절하여 모션 데이터마다 반복 재생되는 값을 다르게 조절할 수 있다. 프로세서(120,210)는 기준 모션 프레임을 필수 구성으로 배치하고 모션 데이터들의 길이값이 동일해지도록 기준 모션 프레임들 사이에 보충적 프레임들을 삽입하여 프레임 수를 조절할 수 있다.
560 동작에서, 프로세서(120,210)는 애니메이션 시작 프레임과 종료 프레임이 이어지도록 조정하거나 스무딩 동작을 수행할 수 있다. 일 예로서, 프로세서(120,210)는 애니메이션 재생 시 불필요하게 튀는 모션값을 제거하여 애니메이션을 부드럽게 재생 할 수 있도록 조절할 수 있다.
570 동작에서, 프로세서(120,210)는 시작 프레임과 종료 프레임 사이의 프레임들을 합성하여 설정된 시간 내에 재생되는 이모지 스티커(또는 애니메이션 스티커)를 생성할 수 있다.
도 6은 다양한 실시예에 따른 이모지 스티커 기능의 사용자 인터페이스 화면을 도시한다.
도 6을 참조하면, 일 실시예에 따른 전자 장치(101)의 프로세서(예: 도1의 프로세서(120), 도 2의 프로세서(210))는 이모지 스티커와 관련된 기능을 지원하는 이모지 홈 화면(또는 아바타 홈 화면)을 6001과 같이 디스플레이에 표시할 수 있다. 예를 들어, 프로세서(120,210)는 증강 현실 앱 또는 카메라 앱에서 이모지 홈 모드로의 진입 요청(예: 이모지 스티커 메뉴를 선택하는 터치제스처)에 응답하여 이모지 홈 화면을 디스플레이에 표시할 수 있다. 이모지와 관련된 기능은 카메라 앱 또는 증강 현실 앱 이외에 다앙한 어플리케이션에서 앱인앱(app in app)으로서 제공될 수 있으며, 이에 한정하는 것은 아니다.
프로세서(120,210)는 이모지 홈 화면(6001)내에 아바타(611)가 표시되는 아바타 표시 영역(610), 스티커 목록(630)을 포함하여 표시할 수 있다. 스티커 목록(630)은 다수의 스티커 패키지(또는 템플릿 스티커 세트, 포맷 스티커 세트)를 포함할 수 있다. 스티커 목록(630)에 제공되는 스티커(예: 631)들은 디자인 툴에 의해 사전 제작된(또는 저장된) 이모지 스티커(또는 애니메이션 스티커)일 수 있다.
스티커 목록(635)에 포함된 플러스 항목(635)은 전자 장치 내에 새로운 이모지 또는 커스텀 이모지 스티커의 생성을 지원하는 메뉴일 수 있다. 일 예를 들어, 플러스 항목(365)은 "나만의 이모지 스티커 만들기"와 같은 텍스트 메뉴로 배치될 수도 있다.
추가적으로, 도면에 도시되지 않았으나, 이미지 홈 화면(6001)은 신체 부위별 편집 모드로 진입하기 위한 아이템(예: 동작 스티커 생성 아이템, 얼굴 표정 스티커 생성 아이템)을 포함할 수도 있다.
프로세서(120,210)는 플러스 항목(635)을 선택하는 사용자 입력(예: 아이콘을 터치)에 기반하여 새로운 또는 커스텀 이모지 스티커를 생성/편집하기 위한 모드로 진입할 수 있다. 예를 들어, 프로세서(120,210)는 플러스 항목(635)을 선택하는 사용자 입력에 기반하여 도 7a에 도시된 7001 화면 또는 도 8a에 도시된 8001 화면에 표시할 수 있다. 이하, 각 개별 편집 모드와 관련된 사용자 인터페스 화면에 대해서 설명하기로 한다.
도 7a 내지 도 7c는 다양한 실시예에 따른 얼굴 모션 이모지를 생성하는 사용자 인터페이스 화면을 도시한다.
도 7a 내지 도 7c를 참조하면, 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는 도 6의 아바타 홈 화면(6001)에서 플러스 항목(635)을 선택하는 사용자 입력을 수신할 수 있다.
일 실시예에 따르면, 프로세서(120,210)는 사용자 입력에 기반하여, 도 7a 에 도시된 바와 같이, 얼굴 모션 편집 모드로 진입하여 얼굴 모션 편집 화면(7001)으로 전환할 수 있다. 예를 들어, 아바타 홈 화면(6001)에서 플러스 항목(635) 선택 시 얼굴 모션 편집 모드로의 진입이 디폴트 될 수 있으나, 사용자가 이모지와 관련하여 마지막으로 저장한 편집 모드로의 진입으로 설정될 수도 있다.
다른 실시예에 따르면, 사용자가 도 6의 이모지 홈 화면(6001)에서 플러스 항목(635)을 선택하는 경우 아바타(710)를 표시하는 영역과 이모지 기능 인터페이스(780) 영역으로 구분된 화면을 표시하였다가 사용자가 이모지 기능 인터페이스(780)에서 얼굴 표정 편집 메뉴(780a)를 선택하는 경우, 얼굴 표정 편집 모드로 진입하여 아바타(710)를 표시하는 영역의 크기가 축소되면서 7001화면과 같이 얼굴 표정 목록(720)이 표시될 수도 있다.
아바타(710)는 얼굴 영역(701) 또는 바디 영역(705)을 포함할 수 있다. 프로세서(120,210)는 사용자에 의해 선택된 또는 저장된 얼굴 형상으로 아바타(710)를 표현할 수 있다.
이모지 기능 인터페이스(780)는 사용자 선택에 의해 개별 편집 모드로의 진입을 지원할 수 있다. 이모지 기능 인터페이스(780)는 예를 들어, 얼굴 표정 편집 메뉴(780a), 바디 모션 편집 메뉴(780b), 수화 편집 메뉴(780c), 텍스트 편집 메뉴(780d), 효과 편집 메뉴(780e) 및 배경 편집 메뉴(780f) 중 적어도 하나를 포함할 수 있다. 예를 들어, 사용자가 바디 모션 편집 메뉴(780b)를 선택하는 경우, 프로세서(120,210)는 바디 모션 편집 모드로 전환하여 얼굴 표정 목록(720)을 바디 모션 목록으로 표시할 수 있다.
일 실시예에 따르면, 프로세서(120,210)는 사용자에 의해 어느 하나의 개별 편집 메뉴가 선택된 경우 선택된 편집 메뉴와 선택되지 않는 편집 메뉴가 시각적으로 구분되도록 처리할 수 있다. 예를 들어, 프로세서(120,210)는 7001에서와 같이 얼굴 표정 편집 메뉴(780a) 선택 입력 시 얼굴 표정 편집 메뉴(780a)를 둘러싸는 네모 모양의 박스를 표시하거나 얼굴 표정 편집 메뉴(780a)를 메모 모양으로 하이라이트하여 표시할 수 있다.
얼굴 표정 목록(720)은 다수의 얼굴 표정 이모지 패키지(또는 얼굴 표정 템플릿 세트, 얼굴 표정 포맷 세트)를 포함할 수 있다. 얼굴 표정 이모지 목록(720)에 제공되는 얼굴 표정 이모지(예: 721)들은 디자인 툴에 의해 사전 제작된(또는 저장된) 이모지들을 포함할 수 있다.
프로세서(120,210)는, 커스텀 얼굴 표정 모션을 생성하기 위한 사용자 입력 예를 들어, 모션 플러스 아이템(725)을 선택하는 입력을 수신할 수 있다. 프로세서(120,210)는 모션 플러스 아이템(725)이 선택되었음을 나타내는 시각적인 효과 예를 들어, 플러스 아이템을 둘러싸는 네모 모양의 박스(725-1)를 표시할 수 있으나, 이에 한정하는 것은 아니다.
프로세서(120,210)는 모션 플러스 아이템(725) 선택에 기반하여 도 7b에 도시된 바와 같이, 카메라 기능을 활성화하여 이모지 카메라 모드로 진입(카메라 모드 화면으로 전환)할 수 있다. 프로세서(120,210)는 카메라로부터 수신된 영상을 프리뷰 이미지로 표시할 수 있다. 이모지 카메라 모드 화면(7002)은, 피사체(735)가 표시되는 프리뷰 영역(730), 촬영 항목(740)을 포함할 수 있다. 이모지 카메라 모드 화면(7002)은 피사체(735)에 대한 이미지를 다시 획득(또는 촬영)하기 위한 재촬영 항목(745)을 포함할 수 있다.
프로세서(120,210)는 촬영 항목(740)을 선택하는 사용자 입력에 기반하여 기 설정된 시간 동안 피사체(735)의 영상을 녹화(촬영하여 저장)할 수 있다. 또는, 프로세서(120,210)는, 촬영 항목(740)의 선택 입력에 의해 녹화를 시작하고 촬영 항목(740)을 다시 선택하는 입력에 의해 녹화를 종료할 수 있다.
다른 예를 들어, 프로세서(120,210)는 도면에 도시되지 않았으나, 전자 장치(101)에 저장된 영상을 호출하기 위한 갤러리 진입 메뉴(미도시)를 이모지 카메라 모드 화면(7002)에 포함하여 표시할 수 있다 프로세서(120,210)는, 갤러리 진입 메뉴를 선택하는 사용자 입력에 의해 전자 장치(101)에 저장된 영상을 호출하여 프리뷰 이미지 대신 디스플레이에 표시할 수도 있다.
일 예로서, 프로세서(120,210)는 프리뷰 이미지 또는 녹화된 영상에서 얼굴 영역을 인식하고 피사체 얼굴 특징을 분석할 수 있다. 프로세서(120,210)는 아바타 얼굴이 사용자의 실제 얼굴 표정과 유사하도록 이미지 처리할 수 있다.
프로세서(120,210)는 얼굴 특징점을 기반으로 얼굴 표정 변화를 트래킹하여 촬영된 영상의 얼굴 표정 변화를 표현하는 얼굴 모션 파일을 생성할 수 있다.
프로세서(120,210)는, 얼굴 모션 파일이 생성되는 것에 기반하여, 도 7c에 도시된 바와 같이, 커스텀 얼굴 표정 이모지(750)를 얼굴 표정 목록(720)에 포함하여 7003과 같은 화면을 표시할 수 있다. 프로세서(120,210)는 사용자 특징이 반영된 커스텀 얼굴 표정 이모지(750)와 미리 설정된(또는 제공되는) 얼굴 표정 이모지들과 시각적으로 구분되게 처리(예: 음영 또는 색상을 다르게 처리)할 수 있다. 예를 들어, 프로세서(120,210)는 아바타에 적용되는 커스텀 얼굴 표정 이모지(750)가 새롭게 생성/적용 되었음을 나타내는 시각적인 효과 예를 들어, 이모지를 둘러싸는 네모 모양의 박스(750-1)를 표시할 수 있다.
프로세서(120,210)는, 얼굴 표정 편집 화면(7001)에 초기화 메뉴(790), 저장 메뉴(795) 및 아바타 홈 화면(도 6의 6001)으로 복귀하기 위한 복귀 메뉴(797)를 포함하여 표시할 수 있다. 프로세서(120,210)는 초기화 메뉴(790) 선택에 기반하여 사용자에 의해 편집 중인 이모지 파일들을 초기화할 수 있다. 프로세서(120,210)는 저장 메뉴(795) 선택에 기반하여 생성된 얼굴 표정 이모지(750)를 저장할 수 있다. 추가적으로, 도면에 도시되지 않았으나, 프로세서(120,210)는 초기화 메뉴(790)와 인접한 영역에 아바타 얼굴 형태를 다른 얼굴 형태로 변경하기 위한 메뉴(미도시)를 표시할 수도 있다. 상기 기능 메뉴들은 이에 한정되지 않으며, 이모지 서비스에서 지원하는 기능에 따라 변경될 수 있다.
일 실시예에 따르면, 프로세서(120,210)는, 아바타(710) 얼굴에 적용되는 파일을 생성된 얼굴 표정 이모지(750) 파일로 업데이트할 수 있다. 예를 들어, 프로세서(120,210)는 도 414동작에서 생성된 얼굴 모션 파일 또는 얼굴 애니메이션 파일(예: json 파일)을 아바타(710)의 얼굴 영역에 적용시킬 수 있다.
일 실시예에 따르면, 프로세서(120,210)는, 아바타의 얼굴 부위에 국한되어 얼굴 표정 이모지(750)로 업데이트 하는 경우, 아바타(71) 얼굴 영역은 얼굴 표정 이모지(750)에 해당되는 모션 데이터가 적용될 수 있으며, 바디 영역에 해당되는 모션 데이터와 동기화되도록 프레임 수를 조절하여 아바타 얼굴 표정 움직임과 바디 움직임이 끊김없이 연결되도록 이미지 처리할 수 있다.
이하의 도면들에서 도 7a 내지 도 7c와 동일한 구성요소에 대한 구체적인 설명은 생략하기로 한다.
도 8a 내지 도 8c는 다양한 실시예예 따른 바디 모션 이모지를 생성하는 사용자 인터페이스 화면을 도시한다.
도 8a 내지 도 8c를 참조하면, 일 실시예에 따르면, 전자 장치(101)는 이미지 기능 인터페이스(780)를 기반으로 바디 모션 편집 모드로의 진입을 지원할 수 있다.
일 예를 들어, 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는 바디 모션 편집 메뉴(780b)를 선택하는 사용자 입력에 기반하여 바디 모션 편집 화면(8001)으로 전환할 수 있다.
예를 들어, 프로세서(120,210)는 바디 모션 편집 메뉴(780b) 선택 시 얼굴 표정 목록(720)을 바디 모션 목록(820)으로 전환하여 표시할 수 있다. ]
프로세서(120,210)는 사용자에 의해 선택된 바디 이모지 또는 마지막에 저장된 바디 이모지로 아바타(810)를 표현할 수 있다. 프로세서(120,210)는, 얼굴 표정 편집 모드에서 저장된 얼굴 표정 이모지를 바디 모션 편집 모드에서도 적용할 수 있다.
바디 모션 목록(820)은 다수의 바디 모션 이모지 패키지(또는 바디 모션 템플릿 세트, 바디 모션 포맷 세트를 포함할 수 있다. 바디 이모지 목록(820)에 제공되는 바디 이모지 (예: 821)들은 디자인 툴에 의해 사전 제작된(또는 저장된) 이모지 스티커들을 포함할 수 있다.
프로세서(120,210)는, 특징적인 바디 모션을 생성하기 위한 사용자 입력 예를 들어, 모션 플러스 아이템(825)을 선택하는 입력을 수신할 수 있다. 프로세서(120,210)는 모션 플러스 아이템(825)이 선택되었음을 나타내는 시각적인 효과 예를 들어 플러스 아이템(825)을 둘러싸는 네모 모양의 박스(825-1)를 표시할 수 있다.
프로세서(120,210)는 모션 플러스 아이템(825) 선택에 기반하여 도 8b에 도시된 바와 같이, 카메라 기능을 활성화하여 이모지 카메라 모드로 진입(카메라 모드 화면으로 전환)할 수 있다. 프로세서(120,210)는 카메라로부터 수신된 영상을 프리뷰 이미지로 표시할 수 넨카메라 모드 화면(8002)은, 피사체(835)가 표시되는 프리뷰 영역(830), 촬영 항목(840)을 포함할 수 있다. 이모지 카메라 모드 화면(8002)은 피사체(835)에 대한 이미지를 다시 획득(또는 촬영)하기 위한 재촬영 항목(845)을 포함할 수 있다.
이모지 카메라 모드에서 프로세서(120,210)는, 카메라를 이용하여 피사체를 포함하는 이미지를 획득할 수 있고, 획득된 이미지(또는, 그에 대응하는 사본(예: 낮은 해상도의 이미지))를 프리뷰 영역에 표시할 수 있다.
프로세서(120,210)는 피사체의 바디 행동을 촬영하기 위해, 촬영 항목(840)을 선택하는 사용자 입력을 수신할 수 있다. 프로세서(120,210)는 기 설정된 시간 동안 피사체의 영상을 녹화(촬영하여 저장) 할 수 있다. 또는, 프로세서(120,210)는, 촬영 항목(840)의 선택 입력에 의해 녹화를 시작하고 촬영 항목(840)을 다시 선택하는 입력에 의해 녹화를 종료할 수 있다. 도면에 도시되지 않았으나, 프로세서(120,210)는, 전자 장치(101)에 저장된 영상을 호출하기 위한 갤러리 진입 메뉴(미도시) 를 통해 저장된 영상(예: 정지 이미지 또는 동영상)을 호출하여 디스플레이에 표시할 수도 있다.
프로세서(120,210)는 프리뷰 이미지 또는 녹화된 영상에서 피사체의 바디 영역을 인식하고 피사체 바디 특징을 분석할 수 있다. 일 예로서, 프로세서(120,210)는 아바타 바디를 사용자의 실제 바디 형상과 유사하도록 이미지 처리할 수 있다.
프로세서(120,210)는 바디 특징점을 기반으로 바디 움직임 변화를 트래킹하여 촬영된 바디의 움직임 변화를 표현하는 바디 모션 파일을 생성할 수 있다.
프로세서(120,210)는, 바디 모션 파일이 생성되는 것에 기반하여, 도 8c에 도시된 바와 같이, 커스텀 바디 모션 이모지(850)를 바디 이모지 목록(820)에 포함하여 8003과 같은 화면을 표시할 수 있다. 프로세서(120,210)는 커스텀 바디 모션 이모지(850)와 다른 바디 모션 이모지(820)들과 시각적으로 구분되게 처리(예: 음영 또는 색상을 다르게 처리)할 수 있다. 예를 들어, 프로세서(120,210)는 커스텀 바디 모션 이모지(850)을 둘러싸는 네모 모양의 박스(850-1)를 표시할 수 있다.
프로세서(120,210)는, 아바타(710) 바디에 적용되는 파일을 생성된 바디 모션 이모지(850) 파일로 업데이트할 수 있다. 예를 들어, 프로세서(120,210)는 도 444동작에서 생성된 바디 모션 파일(예: bvh 파일)을을 아바타(710)의 바디 영역에 적용시킬 수 있다.
일 실시예에 따르면, 사용자는 얼굴 표정 편집 모드에서 생성된 커스텀 얼굴 표정 이모지를 선택하여 아바타에 적용한 후, 바디 모션 편집 모드에서 생성된 커스텀 바디 모션 이모지를 선택하여 아바타에 적용시킬 수 있다. 사용자가 저장 항목(795)을 선택한 경우, 프로세서(120,210)는 얼굴 표정 모션 및 바디 모션을 합성하여 이모지 스티커를 생성하고 생성된 이모지 스티커를 이모지 스티커 목록(예: 도 6의 630.)에 추가할 수 있다.
도 9a 내지 도 9c는 다양한 실시예예 따른 수화 이모지를 생성하는 사용자 인터페이스 화면을 도시한다.
도 9a 내지 도 9d를 참조하면, 다른 실시예에 따르면, 전자 장치(101)는 얼굴 모션 파일 및 바디 모션 파일의 합성에 기반한 이모지 스티커와 독립적으로 바디 모션에 기반한 수화 이모지 생성을 지원할 수 있다.
일 예로서, 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는 바디 모션 편집 모드에서 촬영 중인 바디 움직임 변화에 대응하여 수화 패턴이 인식되는지를 분석할 수 있다. 프로세서(120,210)는 통신 모듈을 통해 촬영 중인 바디 움직임 정보를 수화 데이터 베이스 서버로 전송하고 서버로부터 바디 움직에 대응하는 수화 패턴이 인식되는지를 확인할 수 있다.
프로세서(120,210)는 바디 움직임과 관련하여 수화 패턴이 인식되고, 수화 이모지 생성이 가능한 경우 9a에 도시된 바와 같이, 수화 이모지 생성 인터페이스(920)을 디스플레이에 표시할 수 있다. 수화 이모지 생성 인터페이스(920)는 수화 이미지 생성 여부를 확인하는 승인 항목(921) 및 취소 항목(922)을 포함할 수 있다.
사용자가 승인 항목(921)을 선택하는 경우 프로세서(120,210)는 수화와 관련된 수화 이모지 목록(930)을 서버로부터 다운로드 받아 수화 편집 모드로 진입하여9b에 도시된 바와 같이 수화 편집 화면(9002)을 표시할 수 있다. 수화 이모지 목록(930)은 수화를 표현하는 행동 및 행동에 대응하는 메시지를 포함할 수 있다.
또 따른 예로, 프로세서(120,210)는 이모지 기능 인터페이스(780)에서 수화 편집 메뉴(730)를 선택하는 입력에 기반하여 수화 편집 화면(9002)를 표시할 수 있다.
또 다른 실시예에 따르면, 프로세서(120,210)는 수화 이모지 생성에 대한 승인 입력을 수신하는 경우, 전자 장치(101)의 국가 코드 정보를 서버로 전송하고 서버로부터 해당 국가에 대응하는 수화 이모지 목록(930)을 수신할 수 있다. 프로세서(120,210)는 수신된 수화 데이터를 기반으로 해당 국가에 대응하는 언어로 수화 이모지 목록(930)을 표시할 수 있다.
사용자는 수화 이모지 스티커를 생성하기 위해 수화 이모지 목록(930) 중 제1 수화 이모지(예: 당신), 제2 수화 이모지(예: 덕분에) 및 제3 수화 이모지(예:좋아요)를 순차적으로 선택 입력(예: 롱 프레스 후 순차 입력)할 수 있다.
프로세서(120,210)는 이모지들을 선택하는 순차 입력에 기반하여 도 9c에 도시된 바와 같이, 수화 이모지 스티커(예: 당신 덕분에 좋아요) 인터페이스(950))를 출력할 수 있다. 수화 이모지 스티커 인터페이스(930)는 생성된 수화 이모지 승인을 확인하는 승인 항목(951) 및 취소 항목(952)을 포함할 수 있다.
프로세서(120,210)는 수화 이모지 승인(951)을 선택하는 입력에 기반하여 수화 이모지 스티커(960)(예: 당신 덕분에 좋아요)를 이모지 스티커 목록(도 6의 630)에 수화 이모지 스티커를 추가할 수 있다.
도 10은 다양한 실시예에 따른 배경 이모지를 적용하는 사용자 인터페이스 화면을 도시한다.
도 10을 참조하면, 일 실시예에 따르면, 전자 장치(101)는 이미지 기능 인터페이스(780)를 기반으로 배경 편집 모드로의 진입을 지원할 수 있다. 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는 이모지 기능 인터페이스(780) 중 배경 편집 메뉴(780f)를 선택하는 사용자 입력에 기반하여 배경 편집 화면으로 전환하여 배경 패키지 목록(1030)을 표시할 수 있다.
프로세서(120,210)는 배경 패키지 목록(1030)에서 어느 하나의 배경 이미지를 선택하는 것에 기반하여 아바타(710)(또는 이모지 스티커)에 선택된 배경 이미지(1010)를 적용하여 표시할 수 있다.
추가적으로 또는 옵션적으로, 사용자는 이모지 기능 인터페이스(780) 중 효과 편집 메뉴(780e)로 진입하여 아바타(710)(또는 이모지 스티커)에 2D 또는 3D 효과(1012) (예: 액세서리 추가, 색상 변경)를 적용할 수도 있다. 또는, 사용자는 텍스트 편집 메뉴(780c)를 통해 텍스트를 삽입할 수도 있다.
도 11은 다양한 실시예에 따른 이모지 스티커를 생성하기 위한 방법을 나타내는 흐름도이다.
도 11을 참조하면, 일 실시예에 따르면, 추가적으로 또는 옵션적으로 이모지 카메라 모드 실행 시에 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는, 1110동작에서, 촬영된 피사체의 바디 모션을 인식할 수 있다.
1120동작에서 프로세서(120,210)는 바디 모션의 움직임 특징에 매칭되는 메시지 또는 텍스트가 인식되는지를 판단할 수 있다.
1130동작에서, 프로세서(120,210)는, 움직임 특징에 매칭되는 메시지 또는 텍스트가 인식되는 경우, 인식된 메시지 또는 텍스트를 배경 이미지에 삽입하여 이모지 스티커를 생성할 수 있다.
예를 들어, 프로세서(120,210)는, 피사체가 손을 흔들고 있는 바디 움직임 을 인식한 경우, 움직임 특징이 "안녕"이라는 메시지와 매칭되는 것을 인식하고, "안녕" 텍스트를 이모지 스티커 배경에 삽입할 수 있다, 또는 피사체의 바디가 꾸벅 인식하는 형태의 움직임 특징으로 인식되는 경우, 해당 움직임 특징 역시 " 안녕"이라는 메시지와 매칭됨을 인식하고 안녕" 텍스트를 이모지 스티커 배경에 삽입할 수 있다.
도 12는 다양한 실시예에 따른 이모지 스티커 기능의 사용자 인터페이스 화면을 도시한다.
도 12를 참조하면, 일 실시예에 따른 전자 장치(101)의 프로세서(예: 도1의 프로세서(120), 도2의 프로세서(210))는 신체 부위별 이모지 편집 모드(예: 얼굴 표정 편집 모드, 바디 모션 편집 모드, 배경 편집 모드, 텍스트 편집 모드, 효과 편집 모드) 에서 생성한 얼굴 표정 이모지 및 바디 이모를 합성(또는 병합)하여 이모지 홈 화면(9001)에 추가적으로 제공할 수 있다. 도 6의 이모지 홈 화면(6001)과 비교해 보면 도 12의 이모지 홈 화면(6001)는 기본 디폴트로 설정된 스티커 목록(630) 이외에 사용자에 의해 생성된 커스텀 이모지 스티커 또는 수화 이모지 스티커(1210, 1220)를 가 포함할 수 있다. 이하, 도 6의 도면에서 설명된 항목들은 생략하기로 한다.
다양한 실시예에 따른 전자 장치(101)는 이모지 스티커 생성 시 신체 부위별 이모지 파일을 각각 생성하여 각각의 편집 모드에서 활용할 수도 있으며, 각각의 편집 모드에서 생성된 신체 부위별 이모지들을 함께 합성하여 자신만의 유니크한 스티커 이모지를 제작할 수 있는 환경을 제공할 수 있다.
도 13은 다양한 실시예예 따른 이모지 스티커 기능을 지원하는 사용자 인터페이스 화면을 도시한다.
도 13을 참조하면, 일 실시예에 따른 전자 장치(101)는 각각의 개별 편집 모드의 이모지 목록을 통해 생성된 이모지 편집의의 진입 서비스를 지원할 수 있다. 예를 들어, 1301에 도시된 바와 같이, 전자 장치(101)의 바디 모션 편집 모드에서 사용자 요청에 따라 사용자 바디 모션의 움직임 특성이 반영된 커스텀 바디 모션 이모지(1320)생성할 수 있다. 프로세서(120,210)는, 생성된 핸드 모션 파일을 아바타(1010)에 적용하여 생성된 핸드 모션(1010)을 수행하는 아바타(1010)가 표시될 수 있다.
프로세서(120,210)는, 생성된 커스텀 핸드 모션 이모지(1320)을 롱 프레스하는 터치 제스처를 수신할 수 있다. 프로세서(120,210)는 롱 프레스 입력에 기반하여 1302에 도시된 바와 같이 선택된 이모지 스티커를 편집할 수 있는 편집 모드로 전환할 수 있다. 예를 들어, 이모지 편집 모드에서 프로세서(120,210)는 이모지 스티커에 대한 애니메이션 모션 속도를 조절할 수 있는 항목(1350), 배경 및 효과 편집 기능을 지원하는 목록(미도시)을 디스플레이에 표시할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구현된 유닛(unit)을 포함할 수 있으며, 예를 들면, 로직(logic), 논리 블록(logic block), 부품(component), 또는 회로(circuit) 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들(instructions)을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러(compiler) 생성된 코드 또는 인터프리터(interpreter)에 의해 실행될 수 있는 코드(code)를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM, compact disc read only memory)의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
101: 전자 장치
120,210: 프로세서
211: 이모지 인터페이스 모듈
213: 이모지 생성 모듈
315: 프레임 싱크 모듈
217: 이모지 스티커 합성 모듈

Claims (20)

  1. 전자 장치에 있어서,
    카메라;
    디스플레이;
    상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서; 및
    상기 프로세서에 작동적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    이모지 기능 실행 시에 신체 부위 별 편집 모드로의 진입을 지원하는 메뉴 항목들을 상기 디스플레이에 표시되는 이모지 기능 사용자 인터페이스의 적어도 일부에 포함하여 표시하고,
    상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고,
    상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력에 기반하여 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고,
    상기 생성된 얼굴 표정 모션 파일 및 바디 모션 파일의 합성을 위한 싱크를 조절하고,
    상기 싱크가 조절된 얼굴 표정 모션 파일 및 바디 모션 파일을 합성하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하도록 하는 인스트럭션들을 저장하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 얼굴 표정 모션 파일 생성 시 상기 이모지 기능과 관련된 아바타를 상기 얼굴 모션 파일에 대응하는 얼굴 표정으로 업데이트되도록 하고,
    상기 바디 모션 파일 생성 시 상기 아바타를 상기 바디 모션 파일에 대응하는 바디 움직임으로 업데이트되도록 하는 전자 장치.
  3. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 얼굴 모션 또는 바디 움직임으로 업데이트되는 아바타는 각 신체 부위별 편집 모드로의 진입 시에도 적용되도록 하는 전자 장치.
  4. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 얼굴 표정 편집 모드로 진입 시에 상기 사용자 얼굴 영상으로부터 사용자 얼굴의 특징점을 추출하고, 상기 얼굴 특징점을 기반으로 사용자 얼굴의 움직임 데이터를 얼굴 표정의 움직임을 표현하는 morph target weight 값으로 변환하고, 상기 morph target weight 값을 기반으로 상기 얼굴 표정 모션 파일을 상기 메모리에 저장하도록 하는 전자 장치.
  5. 제4항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 얼굴 표정 편집 모드로 진입 시에 제공되는 얼굴 표정 세트 이모지 목록에 상기 얼굴 표정 모션 파일을 기반으로 생성된 커스텀 얼굴 표정 이모지를 포함하여 표시하도록 하는 전자 장치.
  6. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 바디 모션 편집 모드로 진입 시에, 상기 사용자 바디 영상으로부터 사용자 바디의 특징점을 추출하여 사용자 바디의 조인트 부분을 구분하고, 상기 바디 조인트 부분을 기준으로 바디 움직임 데이터를 바디 움직임을 표현하는 TRS(translation rotation scale) 값으로 변환하고, 상기 TRS값을 기반으로 상기 바디 모션 파일을 상기 메모리에 저장하도록 하는 전자 장치.
  7. 제6항에 있어서,
    상기 바디 모션 편집 모드로 진입 시에 제공되는 바디 모션 세트 이모지 목록에 상기 바디 모션 파일을 기반으로 생성된 커스텀 바디 이모지를 포함하여 표시하도록 하는 전자 장치.
  8. 제 1 항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 생성된 커스텀 이모지 스티커를 이모지 홈 화면 또는 이모지 쇼룸 모드에 제공되는 이모지 스티커 세트 목록에 추가하여 표시하도록 하는 전자 장치.
  9. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 얼굴 표정 모션 파일의 프레임 수와 상기 바디 모션 파일의 프레임 수가 동일해지도록 각 파일 들의 프레임 수를 조절하도록 하는 전자 장치.
  10. 제9항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 얼굴 표정 모션 파일을 기반으로 애니메이션 재생을 위한 제1 필요 프레임 수를 산출하고,
    상기 바디 모션 파일을 기반으로 애니메이션 재생을 위한 제2 필요 프레임 수를 산출하고,
    상기 얼굴 표정 모션 파일 및 바디 모션 파일로부터 특징적인 동작을 표현하는 기준 프레임을 산출하고,
    상기 기준 프레임을 기준으로 각 모션들의 필요 프레임 수에 맞춰 보충적 프레임을 삽입하여 상기 프레임 수를 조절하도록 하는 전자 장치.
  11. 제1항에 있어서,
    통신 모듈을 더 포함하고,
    상기 인스트럭션들은 상기 프로세서가,
    상기 사용자 바디 영상으로부터 인식된 바디 움직임 을 상기 통신 모듈을 통해 이모지 서버로 전송하고, 상기 이모지 서버로부터 상기 바디 움직임 에 대응하는 메시지 또는 텍스트 정보를 수신하는 경우, 상기 수신된 메시지 또는 텍스트 정보를 상기 생성된 커스텀 이모지 스티커에 배경으로 삽입하도록 하는 전자 장치.
  12. 제1항에 있어서,
    통신 모듈을 더 포함하고,
    상기 인스트럭션들은 상기 프로세서가,
    상기 사용자 바디 영상으로부터 인식된 바디 움직임에 대응하여 수화 패턴이 인식되는지를 분석하고, 바디 움직임과 관련하여 수화 패턴이 인식된 경우, 상기 통신 모듈을 통해 수화 이모지 목록을 다운로드 받아 수화 이모지 목록을 표시하고,
    상기 수화 이모지 목록에서 적어도 하나 이상의 수화 이미지를 순차적으로 선택하는 입력에 기반하여 수화 이모지 스티커를 생성하도록 하는 전자 장치.
  13. 전자 장치에 있어서,
    카메라;
    디스플레이; 및
    상기 카메라 및 상기 디스플레이와 작동적으로 연결된 프로세서를 포함하고,
    상기 프로세서가,
    이모지 기능 실행 시, 신체 부위 별 편집 모드로의 진입을 지원하는 이모지 기능 사용자 인터페이스를 상기 디스플레이에 표시하고,
    상기 이모지 기능 사용자 인터페이스에서 얼굴 표정 편집 모드로의 진입을 요청하는 사용자 입력을 수신하고,
    상기 얼굴 표정 편집 모드에서 카메라를 활성화하여 사용자 얼굴 영상을 촬영하고, 상기 사용자 얼굴 영상으로부터 얼굴 표정 모션 파일을 생성하고,
    상기 생성된 얼굴 표정 파일에 대응하는 커스텀 얼굴 표정 이모지를 상기 이모지 기능 사용자 인터페이스에 표시하도록 제어하고,
    상기 이모지 기능 사용자 인터페이스에서 바디 모션 편집 모드로의 진입을 요청하는 사용자 입력을 수신하고,
    상기 바디 모션 편집 모드에서 카메라를 활성화하여 사용자 바디 영상을 촬영하고, 상기 사용자 바디 영상으로부터 바디 모션 파일을 생성하고,
    상기 생성된 바디 모션 파일에 대응하는 커스텀 바디 모션 이모지를 상기 이모지 기능 사용자 인터페이스에 표시하도록 제어하고,
    상기 커스텀 얼굴 표정 이모지 및 상기 커스텀 바디 모션 이모지의 합성을 요청하는 사용자 입력에 기반하여 사용자 얼굴 표정 및 바디 움직임이 반영된 커스텀 이모지 스티커를 생성하여 상기 이모지 기능에 업데이트하도록 제어하는 전자 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 커스텀 얼굴 모션 이모지를 선택하는 사용자 입력에 응답하여 상기 이모지 기능과 관련된 아바타의 얼굴 모션을 선택된 커스텀 얼굴 모션 이모지로 업데이트하고,
    상기 커스텀 바디 모션 이모지를 선택하는 사용자 입력에 응답하여 상기 이모지 기능과 관련된 아바타의 바디 모션을 선택된 커스텀 바디 모션 이모지로 업데이트하는 전자 장치.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 사용자 얼굴 영상으로부터 사용자 얼굴의 특징점을 추출하고, 상기 얼굴 특징점을 기반으로 사용자 얼굴의 움직임 데이터를 얼굴 표정의 움직임을 표현하는 얼굴 morph target weight 값으로 변환하고, 상기 morph target weight 값을 기반으로 상기 얼굴 표정 모션 파일을 상기 메모리에 저장하고,
    상기 얼굴 표정 편집 모드로 진입 시에 제공되는 얼굴 표정 세트 이모지 목록에 상기 얼굴 표정 모션 파일을 기반으로 생성된 커스텀 얼굴 표정 이모지를 포함하여 표시하도록 제어하는 전자 장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    상기 바디 모션 편집 모드로 진입 시에, 상기 사용자 바디 영상으로부터 사용자 바디의 특징점을 추출하여 사용자 바디의 조인트 부분을 구분하고, 상기 바디 조인트 부분을 기준으로 바디 움직임 데이터를 바디 움직임을 표현하는 TRS(translation rotation scale) 값으로 변환하고, 상기 TRS값을 기반으로 상기 바디 모션 파일을 상기 메모리에 저장하고,
    상기 바디 모션 편집 모드로 진입 시에 제공되는 바디 모션 세트 이모지 목록에 상기 바디 모션 파일을 기반으로 생성된 커스텀 바디 이모지를 포함하여 표시하도록 제어하는 전자 장치.
  17. 제13항에 있어서,
    상기 프로세서는,
    상기 생성된 커스텀 이모지 스티커를 이모지 홈 화면 또는 이모지 쇼룸 모드에 제공되는 이모지 스티커 세트 목록에 추가하여 표시하도록 제어하는 전자 장치.
  18. 제13항에 있어서,
    상기 프로세서는,
    상기 얼굴 표정 모션 파일의 프레임 수와 상기 바디 모션 파일의 프레임 수가 동일해지도록 각 파일 들의 프레임 수를 조절하여 상기 얼굴 표정 모션 파일과 상기 바디 모션 파일을 동기화하는 전자 장치.
  19. 제13항에 있어서,
    상기 프로세서는,
    상기 얼굴 표정 모션 파일을 기반으로 애니메이션 재생을 위한 제1 필요 프레임 수를 산출하고,
    상기 바디 모션 파일을 기반으로 애니메이션 재생을 위한 제2 필요 프레임 수를 산출하고,
    상기 얼굴 표정 모션 파일 및 바디 모션 파일로부터 특징적인 동작을 표현하는 기준 프레임을 산출하고,
    상기 기준 프레임을 기준으로 각 모션들의 필요 프레임 수에 맞춰 보충적 프레임을 삽입하여 상기 프레임 수를 조절하여 조절하여 상기 얼굴 표정 모션 파일과 상기 바디 모션 파일을 동기화하는 전자 장치.
  20. 제13항에 있어서,
    통신 모듈을 더 포함하고,
    상기 프로세서는,
    상기 사용자 바디 영상으로부터 인식된 바디 움직임 정보를 상기 통신 모듈을 통해 이모지 서버로 전송하고, 상기 이모지 서버로부터 상기 바디 움직임에 대응하는 메시지 또는 텍스트 정보를 수신하는 경우, 상기 수신된 메시지 또는 텍스트 정보를 상기 생성된 커스텀 이모지 스티커에 배경으로 삽입하도록 제어하고,
    상기 사용자 바디 영상으로부터 인식된 바디 움직임에 대응하여 수화 패턴이 인식되는지를 분석하고, 바디 움직임과 관련하여 수화 패턴이 인식된 경우, 상기 통신 모듈을 통해 수화 이모지 목록을 다운로드 받아 수화 이모지 목록을 표시하고, 상기 수화 이모지 목록에서 적어도 하나 이상의 수화 이미지를 순차적으로 선택하는 입력에 기반하여 수화 이모지 스티커를 생성하도록 하는 전자 장치.
KR1020200065208A 2020-05-29 2020-05-29 전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법 KR20210147654A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200065208A KR20210147654A (ko) 2020-05-29 2020-05-29 전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법
EP21812977.3A EP4141798A4 (en) 2020-05-29 2021-05-26 ELECTRONIC DEVICE AND METHOD FOR GENERATING EMOJI STICKER BASED ON USER AVATAR
PCT/KR2021/006543 WO2021242005A1 (ko) 2020-05-29 2021-05-26 전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법
US18/070,944 US20230087879A1 (en) 2020-05-29 2022-11-29 Electronic device and method for generating user avatar-based emoji sticker

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200065208A KR20210147654A (ko) 2020-05-29 2020-05-29 전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법

Publications (1)

Publication Number Publication Date
KR20210147654A true KR20210147654A (ko) 2021-12-07

Family

ID=78744742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065208A KR20210147654A (ko) 2020-05-29 2020-05-29 전자 장치 및 사용자 아바타 기반의 이모지 스티커를 생성하는 방법

Country Status (4)

Country Link
US (1) US20230087879A1 (ko)
EP (1) EP4141798A4 (ko)
KR (1) KR20210147654A (ko)
WO (1) WO2021242005A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI810775B (zh) * 2022-01-04 2023-08-01 華碩電腦股份有限公司 動態圖示發佈方法以及動態圖示產生方法
WO2023239620A1 (en) * 2022-06-05 2023-12-14 Apple Inc. Sticker creation for messaging

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101553846B1 (ko) * 2014-12-16 2015-09-17 연세대학교 산학협력단 영상 합성을 위한 프레임 동기화 장치 및 그 방법
GB2548154A (en) * 2016-03-11 2017-09-13 Sony Computer Entertainment Europe Ltd Virtual reality
US10360708B2 (en) * 2016-06-30 2019-07-23 Snap Inc. Avatar based ideogram generation
AU2018269375B2 (en) * 2017-05-16 2020-12-17 Apple Inc. Emoji recording and sending
US10812430B2 (en) * 2018-02-22 2020-10-20 Mercury Universe, LLC Method and system for creating a mercemoji
KR20190101832A (ko) * 2018-02-23 2019-09-02 삼성전자주식회사 전자 장치 및 아바타 기반의 커스텀 객체 운용 방법
JP7214092B2 (ja) * 2018-05-31 2023-01-30 有限会社エムツー 画像制御装置、及びそのプログラム
JP6523586B1 (ja) * 2019-02-28 2019-06-05 グリー株式会社 配信ユーザの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画をライブ配信する動画配信システム、動画配信方法及び動画配信プログラム

Also Published As

Publication number Publication date
US20230087879A1 (en) 2023-03-23
EP4141798A4 (en) 2024-02-21
EP4141798A1 (en) 2023-03-01
WO2021242005A1 (ko) 2021-12-02

Similar Documents

Publication Publication Date Title
US11798246B2 (en) Electronic device for generating image including 3D avatar reflecting face motion through 3D avatar corresponding to face and method of operating same
US11138434B2 (en) Electronic device for providing shooting mode based on virtual character and operation method thereof
US11055890B2 (en) Electronic device for generating avatar and method thereof
US20200402304A1 (en) Electronic device and method for managing custom object on basis of avatar
KR20190101834A (ko) 얼굴의 특징점의 움직임에 따라 모션이 수행된 아바타를 표시하는 전자 장치와 이의 동작 방법
US11189071B2 (en) Electronic device for providing avatar animation and method thereof
US20230087879A1 (en) Electronic device and method for generating user avatar-based emoji sticker
KR102530264B1 (ko) 아바타에 대응하는 속성에 따른 아이템을 제공하는 방법 및 장치
EP3913902A1 (en) Electronic device and method of providing user interface for emoji editing while interworking with camera function by using said electronic device
KR102648993B1 (ko) 사용자의 감정 상태에 기반하여 아바타를 제공하기 위한 전자 장치 및 그에 관한 방법
KR20200093213A (ko) 전자 장치 및 전자 장치의 그래픽 객체 제어 방법
CN114175113A (zh) 提供头像的电子装置及其操作方法
KR20200092207A (ko) 전자 장치 및 이를 이용한 감정 정보에 대응하는 그래픽 오브젝트를 제공하는 방법
KR102639725B1 (ko) 애니메이티드 이미지를 제공하기 위한 전자 장치 및 그에 관한 방법
KR102409103B1 (ko) 이미지 변형 방법
US11587205B2 (en) Method and device for generating avatar on basis of corrected image
KR20210014892A (ko) Ar 객체 생성 방법 및 전자 장치
KR20200105234A (ko) 전자 장치 및 컨텐츠를 생성하는 방법
KR102659357B1 (ko) 아바타 애니메이션을 제공하기 위한 전자 장치 및 그에 관한 방법
KR20210012562A (ko) 아바타를 제공하는 전자 장치 및 그의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination