KR20010082779A - 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템 - Google Patents

이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템 Download PDF

Info

Publication number
KR20010082779A
KR20010082779A KR1020010029205A KR20010029205A KR20010082779A KR 20010082779 A KR20010082779 A KR 20010082779A KR 1020010029205 A KR1020010029205 A KR 1020010029205A KR 20010029205 A KR20010029205 A KR 20010029205A KR 20010082779 A KR20010082779 A KR 20010082779A
Authority
KR
South Korea
Prior art keywords
avatar
user
image data
component
image
Prior art date
Application number
KR1020010029205A
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 KR1020010029205A priority Critical patent/KR20010082779A/ko
Priority to PCT/KR2001/001270 priority patent/WO2002097732A1/en
Publication of KR20010082779A publication Critical patent/KR20010082779A/ko

Links

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • 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
    • 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
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection

Abstract

본 발명은 네트워크 상에서 사용자의 이미지 데이터를 이용하여 아바타를 제작하는 방법 및 아바타를 이용한 에이전트 시스템에 관한 것이다.
본 발명의 아바타 제작 방법은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신한다. 소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출한다. 사용자의 요청에 따라, 추출된 구성 요소의 모양을 변형시킬 수 있다. 상기 각 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성한다. 제작된 아바타에 사용자는 의상이나 악세서리를 결합할 수 있다. 또한, 본 발명의 아바타를 이용한 에이전트 시스템은 아바타 제작 시스템으로부터 수신된 아바타 이미지를 저장하는 데이터베이스와, 상기 아바타 이미지를 사용자의 컴퓨터 시스템에서 인식할 수 있도록 변환시키는 인터페이스부와, 상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자의 요청에 따라 해당하는 출력 장치로 제공하는 제어부와, 상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자가 인식할 수 있도록 사용자 컴퓨터의 화면에 표시하는 표시부를 포함한다.

Description

이미지 데이터를 이용한 아바타 제작 방법 및 아바타를 이용한 에이전트 시스템{METHOD FOR PRODUCING AVATAR USING IMAGE DATA AND AGENT SYSTEM WITH THE AVATAR}
본 발명은 아바타 제작방법 및 이를 이용한 에이전트 시스템에 관한 것으로, 보다 구체적으로는 사용자 개인의 개성을 최대한 표현할 수 있는 아바타 제작 방법및 아바타를 이용하여 개인 정보를 관리하고 다른 사용자와의 데이터 전송이 가능한 에이전트 시스템에 관한 것이다.
아바타는 고대 인도 힌두교의 범어 아바따라의 영어식 표기인 avatara 유래한 용어로서, '내려온 자'라는 뜻을 내포하는 화신의 개념을 가지고 있다. 특히, 인간이 위험에 처해있을 때, 신이 인간을 구하기 위하여 지상으로 '하강'한다는 의미를 내포한다. 또한, 자신의 의식이 존재하는 시각적 형상의 캐릭터(character)로서, 육체를 벗어난 가상의 인격체라고 볼 수 있다.
요즘에는 월드 와이드 웹(World Wide Web)을 기반으로 하는 인터넷(Internet) 상에서 사용자의 분신을 나타내는 캐릭터를 지칭하는 의미로 사용되고 있다. 즉, 가상 공간인 인터넷에 존재하는 또 다른 자아를 나타내는 것으로서, 사람의 형상 뿐만 아니라 동물이나 식물 등 표현할 수 있는 모든 현태로의 변형이 가능한 존재이다. 이러한 아바타의 제작 및 이용은 사용자로 하여금 자신의 모습과 유사하며, 자신의 특징을 나타낼 수 있는 표현 도구로서, 사용자의 호기심이나 대리만족, 개인이 요구하는 이상적인 인물 등의 의미를 내포할 수 있다. 그에 따라, 사용자는 개인을 나타내는 아바타의 제작 및 이용에 많은 관심을 가지게 되었다.
일반적으로, 개인의 형상을 나타내기 위한 수단으로서 사진이나 동영상 정보가 있을 수 있지만, 이들 데이터는 방대한 크기로 이루어져 있어서 인터넷 상에서 전송 및 처리하기가 어렵다. 또한, 사용자가 이미지 데이터 또는 동영상 데이터를 편집 또는 제어할 수 없기 때문에, 다른 사용자에게 쉽게 호감을 줄 수 없고, 사용자의 개성을 제대로 나타낼 수 없다. 따라서, 개인의 개성을 잘 나타낼 수 있는 형태로 2차원 또는 3차원의 아바타를 구성하고, 네트워크 상에서 사용자 사이에 아바타를 주고받거나 아바타를 이용한 데이터 교환이 보다 활발하게 이루어지고 있다.
이에 따라, 다양한 형태의 아바타 생성 방법이 제안되고 있으며, 이에 대한 개발이 활발이 이루어지고 있다.
아바타를 생성하는 방법은 대표적으로 디자이너가 직접 사용자 또는 사용자의 사진을 보며 아바타를 그리는 방법과, 미리 주어진 아바타 중에서 사용자가 원하는 아바타를 선택하는 방법, 데이터베이스(Database)에 저장된 각 항목을 조합하여 아바타를 구성하는 방법으로 구분할 수 있다.
도 1은 사용자의 이미지 데이터를 이용하여 디자이너가 아바타를 제작하는 종래의 아바타 생성 방법의 예시 화면을 나타낸 것이다.
도 1을 참조하면, 종래의 아바타 생성 방법은 사용자가 자신의 얼굴이나 전체 모습을 촬영한 사진을 이미지 파일 형태로 변환하여, 이를 네트워크를 통하여 아바타 생성 시스템으로 전송한다. 통상적으로, 사용자의 모습을 나타내는 이미지 파일은 화면에 표시되는 그림을 바이트(byte) 단위로 읽어서 그대로 저장한 비트맵(BMP), 8비트 컬러 뎁스(depth), 즉 256컬러로 제한된 플랫폼-독립 중개형(platform-independent intermediate) 래스터 포맷인 GIF(Graphics Interchange Format) 또는 GIF 파일보다 컬러 뎁스가 높지만 파일 용량은 더 작으며, 24비트 컬러(1670만 컬러) 정보까지 저장할 수 있는 JPEG(Joint PictureExperts Group) 포맷 등의 형식으로 이루어지지만, 그 밖에 다양한 형태의 파일 포맷을 가질 수 있을 것이다. 아바타 생성 시스템은 사용자로부터 제공받은 이러한 이미지 파일을 출력하여 아바타를 제작하는 디자이너에게 제공하면, 디자이너는 사용자의 이미지에 따라 적절한 아바타를 디자인한다.
이와 같이, 사용자가 제공한 이미지를 이용하여 디자이너가 아바타를 제작하면, 사용자의 모습에 가까운 아바타를 제작할 수 있을 것이다. 하지만, 디자이너에 의하여 아바타가 제작되는 경우에 제작 시간이 많이 소요되고, 아바타 제작에 투입되는 디자이너의 인적 자원 및 노력이 많이 소모된다. 또한, 아바타라는 것은 겉 모습에 유사한 형태로 제작하기 보다는 사용자가 원하는 형태의 개성이 강조되도록 제작하는 것이, 사용자에게 보다 큰 친근감을 줄 수 있기 때문에, 디자이너에 의한 아바타 제작은 사용자의 개인적인 만족감을 유발하기에 어려운 문제점이 있다.
그에 따라, 사용자로 하여금 직접 아바타를 선택할 수 있도록 하는 서비스가 이루어지고 있다.
도 2는 이미 제작된 여러 가지 아바타 중에서 사용자가 희망하는 아바타를 선택하도록 하는 종래의 아바타 생성 방법의 화면 예시도를 나타낸 것이다.
도 2를 참조하면, 종래의 아바타 생성 방법은 사용자가 네트워크를 통하여 아바타 생성 시스템에 접속하여, 미리 제작된 다양한 아바타 중에서 원하는 아바타를 선택함으로써 자신의 아바타를 생성한다. 일반적으로, 아바타 생성 시스템은 머리 스타일, 얼굴 형태, 눈, 코, 입 등의 얼굴 요소를 조합하여 여러 가지 형태의아바타 얼굴을 생성하여 이를 데이터베이스에 저장한다. 사용자의 요청이 있는 경우에, 데이터베이스에 저장된 아바타 얼굴을 사용자에게 제공하고, 사용자가 원하는 얼굴의 아바타를 선택하면, 선택된 얼굴의 아바타를 해당하는 사용자에게 배정한다. 그에 따라, 사용자는 자신이 선택한 아바타를 이용하여 다양한 서비스를 이용할 수 있다.
이와 같은 아바타 생성 방법은 사용자가 미리 제작된 아바타 중에서 원하는 형태의 아바타를 선택함으로써 아바타 생성이 용이하지만, 아바타 생성 시스템에서 미리 제작하는 아바타 종류에 한계가 있기 때문에, 수많은 사용자의 다양한 요구에 부응하는 아바타를 제공하는 것이 어렵다. 그에 따라, 다른 사용자가 동일한 형태의 아바타를 사용하는 경우가 발생할 수 있다.
이를 해결하기 위하여, 아바타 제작에 사용되는 얼굴 모양, 머리 스타일, 눈, 코, 입, 귀 등 아바타 구성 요소에 대한 다양한 아이템을 구성하고, 사용자가 선택한 각 아이템을 조합하여 아바타를 제작하는 방법이 제시되었다.
도 3a 내지 도 3f는 아바타 구성 요소에 대하여 사용자가 선택한 아이템을 조합하여 아바타를 구성하는 종래의 아바타 제작 방법의 화면 예시도를 나타낸 것이다.
도 3a는 다양한 얼굴 모양의 아이템을 나타낸 것이고, 도 3b는 다양한 눈 모양의 아이템을 나타낸 것이다. 도 3c는 여러 가지 두발 스타일의 아이템을 나타낸 것이고, 도 3d는 다양한 입술 모양의 아이템을 나타낸 것이며, 도 3e는 사용자의아바타에 입힐 수 있는 다양한 의상 아이템을 나타낸 것이다.
결국, 사용자는 다양한 얼굴 모양, 눈 모양, 두발 스타일, 입술 모양 또는 의상 아이템 중에서 원하는 아이템을 선택할 수 있다. 사용자가 각 아바타 구성 요소를 이루는 복수의 아이템 중에서 희망하는 아이템을 선택하면, 도 3f에 도시된 바와 같이 사용자가 선택한 각 아이템의 조합에 의하여 아바타가 생성된다.
이와 같이, 각 아이템의 조합에 의한 아바타 생성 방법은 아바타 구성 요소를 이루는 아이템의 수가 증가할수록 제작 가능한 아바타의 수가 증가하기 때문에, 다양한 형태의 아바타 생성이 가능하다. 따라서, 사용자의 요구에 어느 정도 부합하는 아바타를 제작할 수 있지만, 이 경우에도 주어진 아이템의 모양 및 수에 따라 아바타의 형태가 한정되기 때문에, 사용자의 요구에 적합한 아바타를 제작하는데 한계가 있다. 특히, 단순한 아이템들의 조합에 의한 아바타 제작 방법은 사용자의 개성에 따라 특이한 형태의 아바타를 제작하고자 하는 사용자에 대해서는 그 요구에 부응하지 못하는 단점이 있다.
한편, 상기와 같은 아바타 제작 방법 외에도 미리 제작된 기본 아바타를 바탕으로 사용자가 이를 변형하여 원하는 형태의 아바타로 구성하거나, 눈이나 코와 같이 정해진 기준선에 따라 아바타를 생성하는 방법 등 다양한 형태의 아바타 제작 방법이 제시되고 있다.
또한, 사용자의 이미지로부터 에지를 추출하여 아바타를 제작하는 방법이 제시되기도 한다. 이러한 에지 추출 방법은 여러 가지가 있지만, 웹 상에서 효과적인 에지 추출과 이미지 처리를 위해서 효율적인 에지 추출 방법과 데이터 처리 방법이필요하다고 할 수 있다.
예컨대, 국내 특허 공개 번호 2000-046606에 개시된 '사이버 공간에서 실질적인 사용자에 대응하는 가상 인간 생성 방법 및 그 시스템'에서는 적색, 녹색 및 청색의 이미지 컬러를 이용한 에지 추출 방법이 제시되어 있다. 여기에서는 각 색상 값의 제곱을 합산하고, 합산치의 제곱근을 이용하여 에지를 추출하고 있지만, 인접한 영역이 동일한 색상으로 이루어지거나 색상이 명확하지 않은 경우에는 정확한 에지 추출이 이루어질 수 없다. 또한, 일반 흑백 이미지로부터 에지를 추출하는 경우에는 이를 컬러 이미지로 변환하여야 하기 때문에, 효과적인 에지 추출이 이루어질 수 없는 문제점이 있다.
그 밖에, 다양한 에지 추출에 의한 정확한 아바타 제작을 위한 방법이 제시되어 있지만, 현재가지 웹 상에서 고속의 효율적인 아바타 제작 서비스가 이루어지고 있지 못하다.
본 발명은 상기와 같은 문제점을 해결하고 사용자의 개성을 나타낼 수 있는 아바타를 제작하기 위하여, 사용자의 이미지 데이터로부터 아바타를 구성하는 구성 요소에 대한 에지(Edge)를 자동으로 추출하고, 추출된 구성 요소를 사용자가 편집할 수 있도록 함으로써 사용자의 요구에 부응하는 아바타 제작 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 다양한 아바타 구성 요소 중에서 사용자의 이미지에서 추출된 데이터와 가장 유사한 구성 요소를 이용하여 아바타를 제작함으로써, 보다 효율적인 아바타 제작 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 소벨(sobel) 연산을 사용함으로써 보다 효율적인 아바타 제작을 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 복수의 사용자를 대상으로 동일한 아바타 제작 모듈을 효율적으로 제공하기 위하여, 서버 기반의 아바타 제작 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 에지 추출 외에, 기본적인 아바타 구성 요소를 제공하고 사용자가 기본적인 아바타 구성 요소를 자유롭게 변형시키도록 함으로써 보다 자유로운 아바타 제작 및 개성을 나타낼 수 있는 아바타 제작 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 사용자의 이미지를 바탕으로 제작된 아바타를 이용하여 사용자들 사이에 데이터를 전송할 수 있는 아바타 에이전트 시스템을 제공하는데 그 목적이 있다.
도 1은 사용자의 이미지 데이터를 이용하여 디자이너가 아바타를 제작하는 종래의 아바타 생성 방법의 화면 예시도.
도 2는 이미 제작된 여러 가지 아바타 중에서 사용자가 희망하는 아바타를 선택하도록 하는 종래의 아바타 생성 방법의 화면 예시도.
도 3a 내지 도 3f는 아바타 구성 요소에 대하여 사용자가 선택한 아이템을 조합하여 아바타를 구성하는 종래의 아바타 제작 방법의 화면 예시도.
도 4는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법을 구현하기 위한 전체 시스템의 구성도.
도 5a는 클라이언트 기반의 아바타 제작 시스템의 구성도.
도 5b는 서버 기반의 아바타 제작 시스템의 구성도.
도 6은 본 발명의 바람직한 실시 예에 따른 아바타 제작 서버의 블록도.
도 7은 본 발명의 바람직한 실시 예에 따른 아바타 제작 서버의 내부 시스템 구성도.
도 8a 및 도 8b는 본 발명의 아바타 제작 방법에 있어서, 에지 추출을 위한 x방향 및 y방향의 소벨 마스크를 각각 나타낸 도면.
도 9는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 소벨 마스크를 이용한 에지 추출 과정의 흐름도.
도 10a 내지 도 10g는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 소벨 연산을 이용하여 아바타 구성 요소를 제작하는 경우의 중요 부분의 프로그램 코드를 나타낸 도면.
도 11a 내지 도 11i는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 소벨 연산에 의한 에지 추출을 이용하여 사용자의 이미지로부터 아바타 얼굴을 생성하는 경우의 화면 예시도.
도 12a 내지 도 12n은 본 발명의 또 다른 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 아바타를 구성하는 각 구성 요소를 사용자의 요청에 따라 변형하고, 변형된 구성 요소를 이용하여 아바타를 생성하는 경우의 화면 예시도.
도 13a 내지 도 13c는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 사용자의 이미지를 이용하여 생성된 아바타에 다양한 의상을 입히는 경우의 화면 예시도.
도 14는 본 발명의 바람직한 실시 예에 따른 아바타를 이용한 웹 에이전트 시스템을 구성도.
도 15는 본 발명의 바람직한 실시 예에 따른 아바타를 이용한 웹 에이전트 시스템의 내부 구성도.
도 16a는 아바타를 이용한 웹 에이전트 기능 중에서 사용자 정보 관리 기능을 사용하는 경우의 화면 예시도.
도 16b는 아바타를 이용한 웹 에이전트 기능 중에서 다른 사용자와 메시지를 전송하는 경우의 화면 예시도.
도 16c는 이와 같이 아바타를 이용한 웹 에이전트 기능으로 통하여 사용자의 작업 일정을 관리하는 경우를 나타낸 화면 예시도.
(도면의 주요 부분에 대한 부호의 명칭)
100: 아바타 제작 서버 10, 20, 30: 사용자 컴퓨터 시스템
12, 102: 데이터베이스 110: 메모리 시스템
112: 메인 메모리 114: 보조 메모리
120: CPU 122: ALU
124: 레지스터 126: 컨트롤러
130: 입력 장치 140: 출력 장치
192: API 202: 하이 레벨 명령어 처리부
250: 응용 모듈 제어부 251: 이미지 처리 모듈 매핑부
252: 이미지 처리 모듈 인터페이스부 253: 에지 추출 모듈 매핑부
254: 에지 추출 모듈 인터페이스부 255: 구성 요소 제어 모듈 매핑부
256: 구성 요소 제어 모듈 인터페이스부
257: 아바타 생성 모듈 매핑부 258: 아바타 생성 모듈 인터페이스부
260: 응용 모듈 262: 이미지 처리 모듈
264: 에지 추출 모듈 266: 구성 요소 제어 모듈
268: 아바타 생성 모듈 400: 아바타 에이전트 시스템
402: 아바타 제어 모듈 404: 인터페이스
406: 제어부 408: TTS
410: 동작 제어부 412: 음성 인식부
414: 스피커 416: 표시부
418: 마이크 551: 사용자 정보 관리 모듈 매핑부
552: 사용자 정보 관리 모듈 인터페이스부
553: 메시지 송수신 모듈 매핑부
554: 메시지 송수신 모듈 인터페이스부
555: 스케줄 관리 모듈 매핑부 556: 스케줄 관리 모듈 인터페이스부
562: 사용자 정보 관리 모듈 564: 메시지 송수신 모듈
566: 스케줄 관리 모듈
상기한 목적을 달성하기 위하여, 본 발명의 아바타 제작 방법은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하는 단계와, 소벨 연산 과정을 통하여, 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 단계와, 사용자의 요청에 따라, 추출된 구성 요소의 모양을 변형시키는 단계와, 상기 각 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 단계를 포함할 수 있다.
상기 이미지 데이터는 jpg, gif 또는 png 중 하나의 형식을 가질 수 있다.
상기 아바타를 생성하기 위한 구성 요소는 눈, 눈썹, 코, 입, 귀, 얼굴 모양 또는 머리 모양 중 적어도 하나를 포함할 수 있다.
상기 소벨 연산 과정을 통하여, 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 단계는 사용자의 이미지 데이터로부터 아바타를 제작하기 위한 영역을 한정하는 단계와, 상기 일정 영역으로 한정된 이미지 데이터의 노이즈를 제거하는 단계와, x 방향의 소벨 마스크 및 y 방향의 소벨 마스크를 이용하여, 상기 노이즈가 제거된 이미지 데이터로부터 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 생성하는 단계와, 상기 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 이용하여 소벨 미분 데이터를 생성하는 단계와, 상기 소벨 미분 데이터에 따라 각 아바타 구성 요소에 대하여, 복수의 후보 영역을 추출하는 단계와, 상기 추출된 복수의 후보 영역에 대하여 각각 레이블을 설정하는 단계와, 레이블이 설정된 복수의 후보 영역에 대한 크기 및 모양을 검증하는 단계와, 상기 크기 및 모양의 검증 결과에 따라, 복수의 후보 영역 중에서 정해진 기준에 해당하는 구성 요소를 추출하는 단계를 포함할 수 있다.
상기 이미지 데이터의 노이즈를 제거하는 단계는 상기 일정 영역으로 한정된 이미지 데이터의 배열을 구성하는 각 성분과, 이미지 데이터의 각 성분에 대응하는 mean 마스크의 성분과의 곱을 모두 합산하여 정해진 영역에 대한 픽셀의 합을 계산하고, 정해진 영역에 대한 픽셀의 합을 mean 마스크의 성분 크기로 나눔으로써 각 영역에 대한 이미지 데이터의 노이즈를 제거할 수 있다.
상기 mean 마스크는 1, 1, 1, 1, 1, 1, 1, 1, 1 의 배열로 이루어질 수 있다.
상기 x 방향의 미분 데이터를 생성하는 단계는 상기 노이즈가 제거된 이미지 데이터의 배열을 구성하는 각 성분과, 이미지 데이터의 각 성분에 대응하는 x 방향의 소벨 마스크의 성분과의 곱을 모두 합산하여 정해진 영역에 대한 픽셀의 합을 계산하고, 정해진 영역에 대한 픽셀의 합을 x 방향의 소벨 마스크의 성분 크기로 나눔으로써, 각 영역에 대한 x 방향의 미분 데이터를 생성할 수 있다.
상기 x 방향의 소벨 마스크는 -1, -2, -1, 0, 0, 0, 1, 2, 1 의 배열로 이루어질 수 있다.
상기 y 방향의 미분 데이터를 생성하는 단계는 상기 노이즈가 제거된 이미지 데이터의 배열을 구성하는 각 성분과, 이미지 데이터의 각 성분에 대응하는 y 방향의 소벨 마스크의 성분과의 곱을 모두 합산하여 정해진 영역에 대한 픽셀의 합을 계산하고, 정해진 영역에 대한 픽셀의 합을 y 방향의 소벨 마스크의 성분 크기로 나눔으로써, 각 영역에 대한 y 방향의 미분 데이터를 생성할 수 있다.
상기 y 방향의 소벨 마스크는 -1, 0, 1, -2, 0, 2, -1, 0, 1 의 배열로 이루어질 수 있다.
상기 소벨 미분 데이터를 생성하는 단계는 x 방향의 미분 데이터의 제곱과 y 방향의 미분 데이터의 제곱을 합산하고, 그 합의 제곱근을 계산함으로써 소벨 미분데이터를 생성할 수 있다.
상기 크기를 검증하는 단계는 각 후보 영역 내부의 픽셀 수 및 내부 면적을 계산하는 단계와, 상기 픽셀 수 및 내부 면적과 기준 픽셀 수 및 기준 면적과의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 단계를 포함할 수 있다.
상기 기준 픽셀 수는 눈을 추출하는 경우에 50 이상 300 이하의 범위를 가질 수 있다.
상기 기준 면적은 눈을 추출하는 경우에 200 이상 1100 이하의 범위를 가질 수 있다.
상기 모양을 검증하는 단계는 각 후보 영역의 가로 길이 및 세로 길이를 계산하는 단계와, 상기 가로 길이 및 세로 길이의 비율과 기준 비율의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 단계를 포함할 수 있다.
상기 기준 비율은 눈을 추출하는 경우에, 가로와 세로의 비율이 1.0 이상 3.2 이하의 범위를 가질 수 있다.
상기 아바타 제작 방법은 쌍을 이루는 구성 요소를 추출하는 경우에, 복수의 후보 영역 중에서 쌍을 이루는 영역을 검출하는 그룹 설정 단계를 더 포함할 수 있다.
상기 구성 요소의 모양을 변형시키는 단계는 소벨 연산 과정에 의하여 추출된 구성 요소의 외부 윤곽선에 위치하는 변형을 위한 복수의 기준 포인트를 제공하는 단계와, 인접한 기준 포인트와의 연결을 유지하면서, 사용자의 명령에 따라 선택된 기준 포인트에 해당하는 구성 요소의 윤곽선을 변경시키는 단계를 포함할 수 있다.
상기 아바타 제작 방법은 사용자의 요청에 따라, 생성된 아바타의 투명도를 변화시키는 단계를 더 포함할 수 있다.
상기 아바타 제작 방법은 사용자의 요청에 따라, 상기 생성된 아바타에 의상 또는 악세서리를 결합시키는 단계를 더 포함할 수 있다.
또한, 본 발명의 이미지 데이터를 이용한 아바타 제작 방법은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하는 단계와, 소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 눈을 추출하여 화면에 표시하는 단계와, 상기 화면에 표시된 눈에 따라, 아바타를 생성하기 위한 각 구성 요소에 대한 기준 구성 요소를 순차적으로 제공하는 단계와, 사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 단계와, 상기 기준 구성 요소로부터 변형된 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 단계를 포함할 수 있다.
상기 아바타 제작 방법은 사용자의 요청에 따라, 상기 추출된 눈을 이미지 데이터의 눈 부분과 일치하도록 이동시키는 단계를 더 포함할 수 있다.
상기 기준 구성 요소는 이미지 데이터로부터 추출된 눈 또는 이미지 데이터의 눈 부분과 일치되도록 이동된 눈의 위치에 따라, 아바타의 각 구성 요소에 대한 복수의 기준 구성 요소 중에서 통계적인 수치에 가장 유사한 형태로 이루어진 구성 요소일 수 있다.
또한, 본 발명의 이미지 데이터를 이용한 아바타 제작 방법은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하는 단계와, 화면에 표시된 상기 이미지 데이터 상에, 아바타를 생성하기 위한 각 구성 요소에 대한 기준 구성 요소를 순차적으로 제공하는 단계와, 사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 단계와, 상기 기준 구성 요소로부터 변형된 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 단계를 포함할 수 있다.
또한, 본 발명의 이미지 데이터를 이용한 아바타 제작 시스템은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하고, 이를 인식하여 화면에 표시하는 이미지 처리부와, 소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 구성 요소 추출부와, 사용자의 요청에 따라, 추출된 구성 요소의 모양을 변형시키는 구성 요소 제어부와, 상기 각 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 아바타 생성부를 포함할 수 있다.
상기 구성 요소 추출부는 사용자의 이미지 데이터로부터 아바타를 제작하기 위한 영역을 한정하는 영역 한정부와, mean 마스크를 이용하여, 상기 일정 영역으로 한정된 이미지 데이터의 노이즈를 제거하는 노이즈 제거부와, x 방향의 소벨 마스크 및 y 방향의 소벨 마스크를 이용하여, 상기 노이즈가 제거된 이미지 데이터로부터 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 방향성 미분 데이터 생성부와, 상기 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 이용하여 소벨 미분 데이터를 생성하는 미분 데이터 생성부와, 상기 소벨 미분 데이터에 따라 각 아바타구성 요소에 대하여, 복수의 후보 영역을 추출하는 후보 영역 추출부와, 상기 추출된 복수의 후보 영역에 대하여 각각 레이블을 설정하는 레이블 설정부와, 레이블이 설정된 복수의 후보 영역에 대한 크기를 검증하는 크기 검증부와, 복수의 후보 영역에 대한 모양을 검증하는 모양 검증부와, 상기 크기 및 모양의 검증 결과에 따라, 복수의 후보 영역 중에서 정해진 기준에 해당하는 구성 요소를 추출하는 구성 요소 추출부를 포함할 수 있다.
상기 크기 검증부는 각 후보 영역 내부의 픽셀 수 및 내부 면적을 계산하는 크기 계산부와, 상기 픽셀 수 및 내부 면적과 기준 픽셀 수 및 기준 면적과의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 크기 판단부를 포함할 수 있다.
상기 모양 검증부는 각 후보 영역의 가로 길이 및 세로 길이를 계산하는 모양 계산부와, 상기 가로 길이 및 세로 길이의 비율과 기준 비율의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 모양 판단부를 포함할 수 있다.
상기 아바타 제작 시스템은 쌍을 이루는 구성 요소를 추출하는 경우에, 복수의 후보 영역 중에서 쌍을 이루는 영역을 검출하기 위한 그룹 설정부를 더 포함할 수 있다.
상기 구성 요소 제어부는 소벨 연산 과정에 의하여 추출된 구성 요소의 외부 윤곽선에 위치하는 변형을 위한 복수의 기준 포인트를 제공하고, 인접한 기준 포인트와의 연결을 유지하면서, 사용자의 명령에 따라 선택된 기준 포인트에 해당하는 구성 요소의 윤곽선을 변경시키는 기준 포인트 제어부를 포함할 수 있다.
상기 아바타 제작 시스템은 사용자의 요청에 따라, 생성된 아바타의 투명도를 변화시키는 투명도 제어부를 더 포함할 수 있다.
상기 아바타 제작 시스템은 사용자의 요청에 따라, 상기 생성된 아바타에 의상 또는 악세서리를 결합시키는 보조 요소 제어부를 더 포함할 수 있다.
또한, 본 발명의 이미지 데이터를 이용한 아바타 제작 시스템은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하고, 이를 화면에 표시하는 이미지 처리부와, 소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 눈을 추출하여 화면에 표시하는 기준 눈 추출부와, 상기 화면에 표시된 눈에 따라, 아바타를 생성하기 위한 각 구성 요소에 대한 기준 구성 요소를 순차적으로 제공하는 기준 구성 요소 제어부와, 사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 구성 요소 변형부와, 상기 변형된 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 아바타 생성부를 포함할 수 있다.
상기 아바타 제작 시스템은 사용자의 요청에 따라, 상기 추출된 눈을 이미지 데이터의 눈 부분과 일치하도록 이동시키는 기준 눈 제어부를 더 포함할 수 있다.
또한, 본 발명의 이미지 데이터를 이용한 아바타 제작 시스템은 네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하고, 이를 화면에 표시하는 이미지 처리부와, 화면에 표시된 상기 이미지 데이터 상에, 아바타를 생성하기 위한 각 구성 요소에 대한 기준 구성 요소를 순차적으로 제공하는 기준 구성 요소 제어부와, 사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 구성 요소 변형부와, 상기 기준 구성 요소로부터 변형된 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 아바타 생성부를 포함할 수 있다.
또한, 본 발명의 아바타 제작 방법에 의하여 생성된 아바타를 이용한 에이전트 시스템은 아바타 제작 시스템으로부터 수신된 아바타 이미지를 저장하는 데이터베이스와, 상기 아바타 이미지를 사용자의 컴퓨터 시스템에서 인식할 수 있도록 변환시키는 인터페이스부와, 상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자의 요청에 따라 해당하는 출력 장치로 제공하는 제어부와, 상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자가 인식할 수 있도록 사용자 컴퓨터의 화면에 표시하는 표시부를 포함할 수 있다.
상기 아바타를 이용한 에이전트 시스템은 음성 입력 장치를 통하여 입력된 사용자의 음성을 제어부에서 인식할 수 있는 데이터로 변환하는 음성 인식부를 더 포함할 수 있다.
상기 아바타를 이용한 에이전트 시스템은 텍스트 입력 장치를 통하여 입력된 텍스트 데이터를 음성 데이터로 변환하는 텍스트/음성 변환부와, 상기 텍스트/음성 변환부를 통하여 변환된 음성 신호를 사용자가 인식할 수 있도록 출력하는 음성 출력부를 더 포함할 수 있다.
상기 아바타를 이용한 에이전트 시스템은 데이터베이스에 저장된 다양한 형태의 아바타 데이터 중에서 음성 출력부를 통하여 출력되는 음성 신호에 따라, 해당하는 형태의 아바타 이미지를 추출하여 상기 표시부로 제공하는 아바타 동작 제어부를 더 포함할 수 있다.
상기 아바타를 이용한 에이전트 시스템은 아바타 사용자 및 다른 사용자의개인 정보를 저장 및 관리하는 사용자 정보 관리부를 더 포함할 수 있다.
상기 아바타를 이용한 에이전트 시스템은 아바타 이미지를 이용하는 사용자 사이에 메시지 데이터를 전송할 수 있는 메시지 처리부를 더 포함할 수 있다.
상기 메시지 처리부는 전송되는 메시지 데이터와 함께, 메시지를 송신하는 송신자의 아바타 이미지를 함께 전송하는 이미지 처리부를 더 포함할 수 있다.
상기 아바타를 이용한 에이전트 시스템은 사용자의 작업 일정을 관리하기 위한 스케줄 관리부를 더 포함할 수 있다.
이하, 첨부한 도면에 의거하여 본 발명의 바람직한 실시 예를 자세히 설명하도록 한다.
도 4는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법을 구현하기 위한 전체 시스템의 구성도를 나타낸 것이다.
도 4를 참조하면, 본 발명의 아바타 제작 방법은 자신의 아바타를 제작하고자 하는 복수의 사용자(10, 20, 30)를 대상으로 아바타 제작 방법을 동시에 제공하기 위하여, 네트워크를 통하여 복수의 사용자(10, 20, 30)를 연결하는 아바타 제작 서버(100)를 포함할 수 있다. 복수의 사용자(10, 20, 30)에게 보다 효율적인 아바타 제작 서비스를 제공하기 위하여, 인터넷(Internet)을 이용한 온-라인 서비스를 이용하는 것이 바람직할 것이다. 그에 따라, 아바타 제작 서버(100)는 아바타 제작 서비스를 이용하고자 하는 사용자(10, 20, 30)를 대상으로 가입 신청을 받고, 가입한 회원을 대상으로 아바타 제작 서비스를 제공하는 웹 서버(Web server)로 이루어질 것이다. 또한, 최근에는 WAP(Wireless Application Protocol)을 이용한 무선 인터넷 서비스가 활성화되고 있으며, PDA(Personal Digital Assistants), CDMA(Code Division Multiple Access) 또는 IMT2000(International Mobile Telecommunication 2000)과 같은 무선 단말기를 이용한 무선 네트워크를 통한 아바타 제작 서비스도 가능하다.
한편, 인터넷과 같은 네트워크를 통하여 아바타 제작 서비스는 아바타를 생성하기 위한 아바타 생성 프로그램과, 머리 스타일, 눈, 코, 귀, 입, 얼굴 형태 등 아바타를 구성하는 아바타 구성 요소 데이터, 사용자의 요청에 따라 제작된 아바타 데이터 등 아바타 제작 어플리케이션을 사용자의 컴퓨터 시스템에 저장하도록 하는 클라이언트 기반의 서비스 또는 아바타 제작 어플리케이션을 웹 서버인 아바타 제작 서버에 저장하고 사용자는 네트워크를 통하여 접속된 상태에서 이를 이용하는 서버 기반의 서비스로 구분할 수 있다.
도 5a는 클라이언트 기반의 아바타 제작 시스템의 구성도를 나타낸 것이고, 도 5b는 서버 기반의 아바타 제작 시스템의 구성도를 나타낸 것이다.
먼저, 도 5a를 참조하면, 클라이언트 기반의 아바타 제작 서버는 아바타를 제작하기 위한 아바타 생성 모듈, 아바타 구성 요소 데이터 및 아바타 데이터를 사용자의 컴퓨터 시스템(10) 내부의 데이터베이스(12)에 구비된다. 이를 위하여, 사용자는 네트워크를 통하여 아바타 제작 서버(100)에 접속하여 아바타 제작을 위한 프로그램을 다운 받아야 한다. 일반적으로 아바타를 제작하기 위한 프로그램은 이미지 데이터를 인식하고, 다양한 아바타 구성 요소 데이터를 포함하며, 각 구성 요소 데이터를 편집할 수 있는 기능이 요구되기 때문에 데이터 용량이 상당히 커지게 된다. 따라서, 사용자가 아바타 제작 서버로부터 아바타 제작 프로그램을 다운 받는데 상당한 시간이 소요되고, 프로그램이 업그레이드될 때마다 사용자는 이를 다시 다운 받아야 하는 번거로움이 있다. 또한, 머리 스타일, 눈, 코 등의 아바타 구성 요소는 동일하기 때문에, 아바타를 제작하고자 하는 모든 사용자가 이를 다운 받아야 하는 것은 데이터 관리의 비효율성을 가져올 수 있다.
한편, 도 5b에 도시된 바와 같이 서버 기반의 아바타 제작 시스템은 아바타 생성 프로그램, 아바타 구성 요소 데이터 및 아바타 데이터를 아바타 제작 서버(100)의 데이터베이스(102)에 저장하게 된다. 이 때, 아바타 제작 서버(100)는 사용자의 컴퓨터 시스템(10)으로부터 아바타 제작에 요구되는 명령을 제공받아 아바타를 제작하고, 이를 관리하기 때문에 사용자의 컴퓨터 시스템(10)으로부터 전송되는 명령을 인식하고, 그에 따라 작업을 수행하는 명령어 처리 모듈을 구비하여야 한다.
이러한 서버 기반의 아바타 제작 시스템은 사용자가 아바타 제작을 위한 프로그램을 별도로 다운 받을 필요가 없으며, 아바타 제작을 위한 데이터를 아바타 제작 서버에서 관리하기 때문에, 효율적인 데이터 관리가 이루어질 수 있다. 따라서, 아바타 제작을 위한 시스템은 클라이언트 기반 또는 서버 기반으로 이루어질 수 있지만, 효율적인 데이터 관리 및 사용자의 편의를 위하여 서버 기반의 아바타 제작 시스템을 구성하는 것이 바람직할 것이다.
도 6은 본 발명의 바람직한 실시 예에 따른 아바타 제작 서버의 블록도를 나타낸 것이다.
도 6을 참조하면, 아바타 제작 서버(100)는 메모리 시스템(110)과, 여기에 연결되어 고속 동작을 수행하는 적어도 하나 이상의 CPU(Central Processing Unit: 120), 입력 장치(130) 및 출력 장치(140)를 포함한다.
CPU(120)는 계산을 수행하기 위한 ALU(Arithmetic Logic Unit: 122)와, 데이터 및 명령어의 일시적인 저장을 위한 레지스터(124) 및 컴퓨터 시스템(100)의 동작을 제어하기 위한 컨트롤러(126)를 포함한다. CPU(120)는 디지털(Digital) 사의 알파(Alpha), MIPS 테크놀로지, NEC, IDT, 지멘스(Siemens) 등의 MIPS, 인텔(Intel)과 사이릭스(Cyrix), AMD 및 넥스젠(Nexgen)을 포함하는 회사의 x86 및 IBM과 모토롤라(Motorola)의 파워PC(PowerPC)와 같이 다양한 아키텍쳐(Architecture)를 갖는 프로세서일 수 있다.
메모리 시스템(110)은 일반적으로 RAM(Random Access Memory) 과 ROM(Read Only Memory) 같은 저장 매체 형태인 고속의 메인 메모리(112)와, 플로피 디스크, 하드 디스크, 테이프, CD-ROM, 플래시 메모리 등의 장기(long-term) 저장 매체 형태의 보조 메모리(114) 및 전기, 자기, 광학이나 그 밖의 저장 매체를 이용하여 데이터를 저장하는 장치를 포함한다. 또한, 메인 메모리(112)는 디스플레이 장치를 통하여 이미지를 디스플레이 하는 비디오 디스플레이 메모리를 포함할 수 있다. 본 발명의 기술 분야에서 통상의 지식을 가진 당업자에게는 상기 메모리 시스템(110)이 여러 가지 저장 성능을 구비하는 제품으로서, 여러 가지 형태를 가질 수 있다는 것이 자명할 것이다.
또한, 입력 장치(130) 및 출력 장치(140)는 통상의 입력 장치 및 출력 장치일 수 있다. 입력 장치(130)는 키보드, 마우스, 예컨대, 터치 스크린 또는 마이크로폰과 같은 물리적 변환기(Physical transducer) 등을 포함할 수 있다. 출력 장치(140)는 디스플레이, 프린터, 스피커와 같은 변환기(transducer) 등을 들 수 있다. 또한, 네트워크 인터페이스 또는 모뎀과 같은 장치가 입력 및/또는 출력 장치로서 사용될 수 있다.
본 발명의 기술 분야에 있어서, 상기 아바타 제작 서버(100)는 OS 및 적어도 하나의 응용 프로그램을 포함할 수 있다. OS는 아바타 제작 서버(100)의 동작 및 리소스의 지정을 제어하는 소프트웨어 집합이다. 응용 프로그램은 OS를 통하여 이용 가능한 컴퓨터 리소스를 사용함으로써, 사용자가 요청한 업무를 수행하기 위한 소프트웨어 집합이다. OS 및 응용 프로그램은 메모리 시스템(110)에 상주될 것이다.
컴퓨터 프로그래밍의 기술 분야에서 통상의 지식을 가진 당업자의 경험에 따라, 다른 표현으로 기술되지 않으면 본 발명은 컴퓨터 시스템(100)에 의해 수행되는 동작 및 동작에 대한 표현 기호에 따라 기술될 것이다. 이러한 동작은 컴퓨터 기반으로 이루어지며, OS 또는 적당한 응용 프로그램에 의하여 수행될 것이다. 또한, 이러한 동작 및 기능은 전기 신호의 변환 또는 차단을 유발하는 데이터 비트 등의 전기 신호에 대한 CPU(120)의 처리와, 컴퓨터 시스템(100)의 동작을 변경할뿐만 아니라 메모리 시스템(110) 내의 메모리 영역에 저장된 데이터 비트 신호에 대한 관리를 포함한다. 데이터 비트 신호가 관리되는 메모리 영역은 데이터 비트에 해당하는 전기, 자기 또는 광학 특성을 갖는 물리 영역이다.
도 7은 본 발명의 바람직한 실시 예에 따른 아바타 제작 서버의 내부 시스템 구성도를 나타낸 것이다.
도 7을 참조하여 이를 살펴보면 다음과 같다.
아바타 제작 서버(200)는 예컨대, UNIX, LINUX 또는 Windows NT와 같은 네트워크 운영 프로그램을 시스템의 OS로서 사용할 수 있다. 이러한 OS는 API(Application Program Interface : 192)에 하이 레벨 명령어를 제공하여 아바타 제작을 위한 각 응용 모듈의 동작을 제어한다.
아바타 제작을 위한 응용 모듈(260)은 사용자의 이미지 데이터를 인식하고, 이를 처리하는 이미지 처리 모듈(262)과, 사용자의 이미지 데이터로부터 각 구성 요소의 에지를 추출하는 에지 추출 모듈(264), 아바타를 구성하는 각 구성 요소에 관한 데이터를 제어하는 구성 요소 제어 모듈(266) 및 사용자의 요청에 따라 각 구성 요소를 합성하여 아바타를 생성하는 아바타 생성 모듈(268)을 포함할 수 있다. 한편, 도 7에 도시된 모듈에 한정되지 않고, 생성된 아바타를 이용하여 사용자들 사이에 데이터의 전송이나 스케줄 관리를 위한 에이전트 모듈도 포함될 수 있을 것이다.
이미지 처리 모듈(262)은 사용자의 모습이나 얼굴의 이미지 데이터를 인식하고 이를 화면에 표시한다. 이미지 데이터는 카메라로 촬영한 사진을 스캔하거나, 디지털 카메라로 촬영한 사진을 JPEG, GIF 또는 PNG 등의 이미지 파일로 저장한 것으로, 사용자가 네트워크를 통하여 아바타 제작 서버에 자신의 이미지 데이터를 제공하면 아바타 제작 서버는 이를 수신하여 데이터베이스에 저장한다. 이미지 처리 모듈(262)은 사용자의 요청이 있는 경우에, 데이터베이스로부터 해당하는 이미지 데이터를 추출하여 화면에 표시한다.
에지 추출 모듈(264)은 사용자의 이미지 데이터에서 색이나 농도의 급격한 변화가 있는 부분을 추출함으로써, 눈, 얼굴 모양, 코 등의 아바타 구성 요소를 추출하는 부분으로서, 이미지의 구성을 결정하기 위하여 픽셀(pixel)들을 하나의 영역으로 그룹을 설정(grouping)하는데 사용된다. 에지 부분은 농도 값이 급격하게 변하기 때문에, 함수의 변화량을 조사하는 미분 연산을 에지 추출에 이용한다. 이러한 에지 추출은 1차 미분 또는 2차 미분을 사용하며, x방향 또는 y방향에 대하여 여러 가지 형태의 마스크(mask)를 가지는 다양한 연산 방법이 있다. 예컨대, 잡음에 강한 소벨(sobel) 마스크, 잡음에 약하지만, 수직 또는 수평을 강조하는 prewitt 마스크, 상대적으로 적용 반경이 좁은 Robert 마스크 등 여러 가지 마스크에 의한 연산 방법이 있지만, 본 발명에서는 소벨(sobel) 마스크에 의한 소벨 연산을 사용하였다.
도 8a 및 도 8b는 본 발명의 아바타 제작 방법에 있어서, 에지 추출을 위한 x방향 및 y방향의 소벨 마스크를 각각 나타낸 것이다.
도 8a 및 도 8b를 참조하면, 소벨 마스크는 각각 x 방향과 y 방향에 대하여 3´3의 행렬을 가질 수 있다. 특히, x 방향의 소벨 마스크는 차례로 -1, -2, -1, 0, 0, 0, 1, 2, 1의 성분을 가지며, y 방향의 소벨 마스크는 -1, 0, 1, -2, 0, 2, 1, 0, 1의 성분을 가질 수 있다. 도 8a 및 도 8b의 경우는 3´3의 행렬을 가지는 소벨 마스크의 한가지 예를 나타내었지만, 그 성분은 용도에 따라 다소 바뀔 수 있다.
한편, 도 9는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 소벨 마스크를 이용한 에지 추출 과정의 흐름도를 나타낸 것이다. 특히, 이러한 소벨 마스크를 이용한 연산은 사용자의 이미지 중에서 눈을 추출하는데 주로 사용되며, 눈 이외에 얼굴을 구성하는 다양한 구성 요소를 추출하는데도 사용될 수 있다.
도 9를 참조하면, 아바타 제작 서버는 네트워크를 통하여 전송된 사용자의 이미지 데이터를 수신한다(s10). 사용자의 이미지 데이터는 jpg, gif 또는 png 등 다양한 형태의 포맷으로 구성될 수 있을 것이다. 사용자로부터 전송된 이미지 데이터는 사용자가 인식할 수 있도록 화면에 표시될 것이다. 사용자는 다양한 크기, 예컨대, 얼굴 크기의 증명 사진, 몸 전체가 나타나는 사진 또는 다른 동료들과 함께 찍은 사진 등 다양한 형태의 사진을 사용할 수 있다. 따라서, 화면에 표시된 이미지 중에서 사용자의 얼굴 크기에 맞게 아바타를 생성하고자 하는 영역을 한정할 필요가 있다. 이 과정에서 사용자로 하여금 원하는 크기의 아바타를 생성할 수 있도록 하기 위하여, 사용자가 아바타를 제작하기 원하는 영역을 블록으로 지정하도록 하고, 전체 이미지 중에서 지정된 영역을 고립시키고 고립된 영역 내에서만 아바타 제작 과정을 진행하는 것이 바람직하다(s12).
아바타 제작을 위한 영역이 제한되면, 고립된 영역의 이미지에서 노이즈를 제거한다(s14). 노이즈 제거는 mean 오퍼레이션(operation)을 이용할 수 있다. 이미지의 노이즈가 제거되면, 소벨 마스크에 의한 연산 과정을 통하여 에지를 추출한다(s16). 예컨대, Robinson이 제안한 LAT(Locally Adaptive Thresholding)와 같이 사용자의 이미지로부터 균일한 에지를 추출하기 위한 여러 가지 방법에 따라, 적절한 임계치를 선택하여야 할 것이다. 사용자의 이미지로부터 에지 영상이 얻어지면 고립된 영역으로 분리하기 위하여 레이블링(Labeling)을 수행한다(s18). 일반적으로, 레이블링은 4방향 연결 추적 알고리듬 또는 8방향 연결 추적 알고리듬으로 구분할 수 있다.
그런 다음, 레이블링에 의하여 분리된 고립된 영역에 대한 크기 검증 과정(s20)과 모양 검증(s22) 과정을 순차적으로 진행한다. 크기 검증은 복수의 고립 영역에 있어서, 최대, 최소의 x, y 좌표에 의한 최대 근접 사각형 및 각 독립 영역의 개수 등에 대한 레이블링을 수행하여 얻어진 데이터를 통하여 후보 눈 영역을 추출한다.
눈의 모양은 일반적으로 타원형의 구조를 가지기 때문에, 크기 검증에 의하여 추출된 후보 눈 영역에 대하여 모양 검증을 수행한다. 이 때, 후보 눈 영역 중에서 명백히 눈인 영역을 추출하기 보다는 명백히 눈이 아닌 영역을 추출하여 이를소거하는 것이 보다 효율적이다. 이 때, 모양 검증은 가로 및 세로 비를 이용한 검증, 후보 영역의 전체 면적과 에지 개수의 비를 이용한 검증, 직선 선분 추출에 의한 검증 또는 명암 밝기 변화에 의한 검증 등으로 이루어질 수 있다.
이 때, 사람은 2개의 눈을 가지기 때문에 후보 눈 영역 중에서 쌍을 이루는 영역을 추출하는 그룹 설정 과정을 수행하여(s24), 그 중에서 실제 눈 영역을 추출한다(s26). 여기에서, 쌍을 이루는 후보 눈 영역 중에서 실제 눈 영역의 추출은 면적 비, 에지 영역 비, 위치 또는 통계적 측정치 등의 요인에 따라 이루어진다.
그리고, 사용자의 이미지가 정면으로 향하지 않고 기울어져 있는 경우에는 별도의 기울기 교정 과정을 통하여 정면을 향하는 아바타 얼굴을 생성할 수 있다(s28). 일반적으로, 사용자의 얼굴 이미지는 x, y, z의 3 방향으로 회전 변형되어 나타날 수 있으며, 각 방향에 대하여 기울기 교정이 이루어질 수 있다.
이와 같은 방법으로 눈의 추출이 이루어지면, 사용자의 이미지 상에 추출된 눈의 형태 및 위치가 표시되고, 이를 기준으로 얼굴 모양, 머리 모양, 눈썹, 코, 입, 귀 등의 나머지 아바타 구성 요소에 대한 추출 작업이 수행될 것이다(s30).
한편, 상기에서는 눈의 추출 과정을 자세히 설명하였지만, 나머지 아바타 구성 요소에 관한 추출 작업도 소벨 마스크를 이용한 에지 추출 과정을 이용할 수 있다.
이 때, 눈을 비롯한 아바타를 구성하는 각 구성 요소의 추출 작업이 상기와 같이 자동으로 이루어지도록 구성할 수도 있지만, 사용자의 개성에 따라 다양한 모양의 아바타를 구성할 수 있도록 각 구성 요소의 모양을 사용자가 임의의 형태로변형할 수 있도록 하는 것이 바람직하다. 예컨대, 추출된 눈이 화면에 표시되면 사용자는 눈의 위치 및 크기를 조절하고, 그 밖에 머리 모양, 코, 입, 귀 등의 모양 및 크기도 추출된 기본 형태에서 자유롭게 변형하도록 구성할 수 있다. 이와 같은 방법은 기본적으로 각 구성 요소에 대한 에지 추출 알고리듬을 별도로 사용하여야 하고, 추출된 기본 형태에 대하여 상, 하, 좌, 우 등의 형태로 사용자의 변형 가능하도록 구성하여야 한다. 특히, 아바타는 사용자의 개성이 중요시되기 때문에, 사용자에 의한 각 구성 요소의 변형이 보다 중요하다고 할 수 있다. 따라서, 얼굴 형태를 구성하는 아바타의 각 구성 요소에 대한 추출 알고리듬을 사용하지 않고, 각 구성 요소에 대한 기본적인 형태를 제공하고 사용자에 의하여 이를 변형 및 수정할 수 있도록 구성할 수도 있을 것이다. 여기에서, 추출 알고리듬에 의한 각 구성 요소의 에지 추출 과정을 사용하여 구성 요소의 형태를 추출하고, 이후의 변형 과정을 수행하는 경우를 자동 아바타 생성 기능으로 분류하고, 각 구성 요소에 할당된 기본적인 형태로부터 사용자가 다양한 형태로 변형하는 경우를 수동 아바타 생성 기능으로 분류할 수 있다. 이 때, 자동 아바타 생성 기능에서 각 구성 요소의 에지 추출 과정의 정확도에 대한 연산 처리 비중과 사용자에 의한 변형 과정은 효율적인 서비스를 위하여 가중치를 상호간에 조절할 수 있다. 즉, 사용자의 이미지와 정확한 형태의 아바타를 생성하기 위하여, 아바타의 각 구성 요소에 대한 추출 알고리듬의 실행에 보다 많은 처리 시간을 부여하거나, 사용자의 개성에 맞게 아바타를 제작할 수 있도록 에지 추출의 정확도를 낮추고, 아바타의 각 구성 요소의 변형에 기능 및 정확성에 데이터 처리의 비중을 둘 수도 있다.
한편, 이러한 아바타 제작을 위하여 노이즈 제거, 에지 추출, 레이블링 및 그룹 설정 과정을 수행할 수 있는 프로그램 제작이 요구된다. 이하에서, 본 발명의 아바타 제작 방법을 구현하기 위하여, 자바(Java)를 이용하여 작성한 서버 기반의 아바타 제작 프로그램의 일실시예를 설명하도록 한다.
도 10a 내지 도 10g는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 소벨 연산을 이용하여 아바타 구성 요소를 제작하는 경우의 프로그램 코드를 나타낸 것이다.
먼저, 도 10a는 소벨 연산을 위한 x 방향의 소벨 마스크(sobelx), y 방향의 소벨 마스크(sobely) 및 평균을 구하기 위한 mean 마스크의 정의를 나타낸다.
즉, 3´3 행렬의 마스크를 사용하는 경우에, x 방향 소벨 마스크는 -1, -2, -1, 0, 0, 0, 1, 2, 1의 성분을 가지고, y 방향 소벨 마스크는 -1, 0, 1, -2, 0, 2, -1, 0, 1의 성분을 가진다. 또한, 평균을 위한 mean 마스크는 1, 1, 1, 1, 1, 1, 1, 1, 1의 성분을 가진다.
도 10b는 사용자로부터 제공받은 이미지 데이터를 일정 크기로 한정하는 함수를 나타낸 것이다. 본 발명에서는 이미지 데이터를 255 비트의 데이터로 한정시키고, 한정된 영역 내에서 각 구성 요소를 추출한다.
도 10c는 mean 마스크를 이용하여 사용자의 이미지 데이터로부터 노이즈를 제거하여 픽셀 데이터(dst)를 생성하는 필터링 함수를 나타낸 것이다. 이러한, 필터링 함수는 x 방향의 소벨 마스크(sobelx) 또는 y 방향의 소벨 마스크(sobely)를이용하여 노이즈가 제거된 픽셀 데이터(dst)로부터 x 방향의 미분 데이터(gx) 또는 y 방향의 미분 데이터(gy)를 생성하는 경우도 동일하게 사용될 수 있다.
즉, 이미지 데이터의 노이즈를 제거하는 경우에, in 데이터에는 일정 영역으로 한정된 사용자의 이미지 데이터가 입력되고, mask 데이터에는 노이즈 제거를 위한 mean 마스크의 데이터가 입력되며, 내부의 연산 과정을 통하여 노이즈가 제거된 이미지 데이터(dst)가 출력된다. 또한, x 방향의 미분 데이터를 생성하는 경우에는 in 데이터에 노이즈가 제거된 이미지 데이터(dst)가 입력되고, mask 데이터에는 x 방향의 소벨 마스크(sobelx)가 입력되어, 연산을 통하여 x 방향의 미분 데이터(gx)가 생성된다. 마찬가지로, y 방향의 미분 데이터를 생성하는 경우에는, 노이즈가 제거된 이미지 데이터(dst)와 y 방향의 소벨 마스크(sobely)를 이용하여 내부 연산을 수행한다.
예를 들어, x 방향의 미분 데이터(gx)를 생성하기 위하여, 노이즈가 제거된 이미지 데이터(dst)의 각 성분과 그에 해당하는 x 방향의 소벨 마스크(sobelx) 성분을 곱한 후에 이를 합산하고, 합산된 결과 값을 x 방향의 소벨 마스크(sobely)의 순번으로 나눈다. 이 때, x 방향의 소벨 마스크 순번은 0과 1이 아니다. y 방향의 미분 데이터(gy)를 생성하는 경우에도, 동일하게 dst 데이터에 y 방향의 소벨 마스크(sobely) 성분을 곱한 후에 합산하고, 합산된 값을 해당하는 마스크의 순번으로 나누게 된다. 이러한 필터링 과정 영역이 한정된 이미지 데이터(src) 또는 노이즈가 제거된 이미지 데이터(dst)의 행 또는 열에 대한 성분 데이터에 대하여 각각 이루어진다.
도 10d는 필터링 과정에서 생성된 x 방향의 미분 데이터(gx)와 y 방향의 미분 데이터(gy)를 이용하여 소벨 미분 데이터(ga)를 생성하는 함수를 나타낸 것이다. 여기에서는, x 방향의 미분 데이터(gx)의 제곱(더블형으로 변경)과 y 방향의 미분 데이터(gy)의 제곱(더블형으로 변경)의 합에 대한 제곱근으로 소벨 미분 데이터(ga)를 생성한다. 이 때, 제곱 및 제곱근의 경우에는 정수 이하의 소수 값으로 표시될 수 있기 때문에, 강제로 더블형으로 지정하였다.
이러한 연산 과정을 통하여 생성된 소벨 미분 데이터(ga)는 레이블링, 크기 검증, 모양 검증 및 그룹 설정 과정을 통하여 아바타 구성 요소를 추출하는데 이용된다.
소벨 미분 데이터(ga)에 대한 레이블링 작업이 이루어지면 고립된 영역에 대한 정보를 각각 얻을 수 있고, 이를 이용하여 도 10e의 크기 검증 과정과 도 10f의 모양 검증 과정이 순차적으로 이루어진다.
크기 검증 과정은 고립 영역 안에 포함된 픽셀의 수와 고립 영역을 포함하는 최대 근접 사각형의 면적을 이용하여 수행된다. 예컨대, 고립 영역 안에 포함된 픽셀 수가 300개 미만, 50개 이상인 경우에 눈으로 판단하고, 그 이외의 경우에는 배경으로 판단한다. 한편, 단순히 눈을 구성하는 고립 영역의 개수 만을 이용하여 크기 조건을 판단하면, 세로에 비하여 가로가 긴 성분을 가지는 영역은 모두 눈으로 판단될 수 있기 때문에, 고립 영역을 포함하는 최대 근접 사각형의 면적을 이용하여 눈을 판단한다. 여기에서는 사각형의 면적이 200 이상 1100 이하의 면적을 가지는 영역을 눈으로 판단하였다. 그러나, 도 10e에 기술된 고립 영역 내부의 픽셀 수와 사각형의 면적에 대한 기준 값은 사용자의 이미지 데이터의 크기 및 형태에 따라 변동될 수 있을 것이다. 즉, 이미지 데이터 처리 과정에서 실험 결과에 따라 픽셀 수와 면적의 기준 값을 다르게 지정할 수 있다.
모양 검증 과정은 사용자의 얼굴 이미지 중에서 눈에 해당하는 영역의 가로 및 세로 비율을 실험적으로 측정하고, 실험 결과에 따라 적당한 가로 및 세로 비율을 설정해서 여기에 해당하는 영역 만을 눈으로 추출하는 것이다. 여기에서는 고립된 영역의 가로(폭)와 세로의 비율이 1.0 이하이거나 3.2 이상인 경우에는 눈에 해당하지 않는다고 판단하여 이를 제거하는 것이다. 이 경우에도, 가로와 세로 비율에 대한 기준 값은 실험 결과에 따라 변경될 수 있는 것은 자명하다.
도 10g는 크기 검증과 모양 검증이 이루어진 영역에 대한 그룹 설정 함수를 나타낸 것이다. 여기에서는 에지 추출, 레이블링, 크기 검증 및 모양 검증 과정을 거쳐서 남아있는 후보 영역 중에서 모양이나 크기가 비슷한 쌍을 이루는 영역을 추출하는 부분이다. 즉, 정면 사진의 경우에는 눈은 중심을 기준으로 좌우 대칭이기 때문에, 쌍을 이루는 영역을 검출하는 것이다.
이와 같이, 소벨 연산을 통하여 사용자의 이미지로부터 눈을 추출하는 과정은 그 밖의 아바타 구성 요소인 머리 모양, 얼굴 모양, 코, 입 또는 귀 등의 경우에도 동일하게 적용할 수 있다. 다만, 눈과 귀의 경우에는 쌍을 이루지만, 나머지 구성 요소는 쌍을 이루지 않기 때문에, 쌍을 이루는 영역을 추출하는 그룹 설정 과정이 달라질 수 있다.
구성 요소 제어 모듈(266)은 상기와 같이 사용자의 이미지로부터 소벨 연산을 통하여 추출된 눈 또는 그 밖의 아바타 구성 요소에 대하여, 각 구성 요소의 형태를 사용자의 요청에 따라 변형하기 위한 것이다. 사용자는 아바타 제작 서버에 의하여 추출된 눈, 머리 모양, 얼굴 모양, 코, 입, 귀 등의 각 구성 요소를 그대로 합성함으로써 아바타를 제작할 수 있지만, 자신의 개성이나 취향에 맞게 아바타의 형태를 변형할 수도 있다. 특히, 최근에는 사용자가 개인의 특성을 나타내기 위하여, 여러 가지 기발한 모양이나 디자인을 많이 사용하고 있기 때문에, 사용자의 이미지에 부합하는 아바타보다는 사용자가 보유한 특이한 한 가지 특성을 크게 부각시킬 수 있는 아바타를 제작하는 것이 사용자의 취향에 어울린다고 할 수 있다. 그에 따라, 추출된 아바타의 각 구성 요소를 사용자가 크기 및 모양을 변형할 수 있도록 하는 것이 바람직하다. 따라서, 구성 요소 제어 모듈(266)은 추출된 아바타 구성 요소에 대하여 사용자의 명령에 따라 상, 하, 좌, 우 또는 대각선의 방향으로 구성 요소의 형태를 늘리거나 줄일 수 있도록 한다.
아바타 생성 모듈(268)은 소벨 연산을 통하여 추출된 아바타의 각 구성 요소를 합성하거나, 사용자의 명령에 따라 추출된 아바타 구성 요소를 변형시키고 변형된 각 구성 요소를 합성함으로써 사용자의 얼굴에 해당하는 아바타를 생성하기 위한 부분이다. 아바타 생성 과정은 단순한 각 구성 요소에 합성에 그치지 않고, 전체 얼굴 모양에 머리 모양 또는 귀 등의 구성 요소가 분리되어 표시되지 않도록 각 구성 요소의 결합 과정이 필요할 것이다.
이러한 각 응용 모듈은 인터페이스를 통하여 다른 모듈과의 결합 및 분리, 각 기능의 용이한 처리를 위하여 컴포넌트(component)화하여 객체로 사용될 수 있도록 한다.
따라서, 아바타 제작 서버(200)는 API(192)로부터 제공되는 하이 레벨 명령어에 따라 대응하는 각 응용 모듈(260)을 식별하고, 하이 레벨 명령어를 디코딩하여 해당하는 곳으로 제공하는 하이 레벨 명령어 처리부(202)를 포함한다. 응용 모듈 제어부(250)는 하이 레벨 명령어 처리부(202)로부터 제공된 명령어에 따라 각 응용 모듈(262, 264, 266, 268)의 동작을 제어한다. 즉, 하이 레벨 명령어 처리부(202)는 API를 통하여 제공된 하이 레벨 명령어에 따라 여기에 대응하는 응용 모듈이 존재하는지를 식별하고, 대응되는 응용 모듈이 존재하는 경우에 해당하는 응용 모듈에서 인식할 수 있는 명령어로 디코딩하여 해당하는 매핑부에 전송하거나 메시지 전송을 제어한다. 응용 모듈 제어부(250)는 이미지 처리 모듈(262)과, 에지 추출 모듈(264), 구성 요소 제어 모듈(266) 및 아바타 생성 모듈(268)에 대한 매핑부(251, 253, 255, 257)와 인터페이스부(252, 254, 256, 258)를 각각 포함한다.
이미지 처리 모듈 매핑부(251)는 하이 레벨 명령어 처리부(202)에서 사용자의 이미지를 인식하고 이를 처리하기 위하여 전송된 하이 레벨의 명령어를 제공받아, 이미지 처리 모듈(262)에서 처리할 수 있는 디바이스 레벨로 매핑하고, 이미지 처리 모듈 인터페이스부(252)를 통하여 이미지 처리 모듈(262)로 제공한다. 즉, 네트워크를 통하여 사용자로부터 전송된 이미지를 수신받아 이를 인식하고, 인식된 이미지를 사용자가 인식할 수 있도록 화면에 표시한다.
에지 추출 모듈 매핑부(253) 및 에지 추출 모듈 인터페이스부(254)는 사용자로부터 제공된 이미지 데이터를 이용하여 아바타 생성을 위한 각 구성 요소를 추출하도록 해 주는 부분이다. 즉, 에지 추출 모듈 매핑부(253)는 하이 레벨 명령어 처리부(202)로부터 에지 추출 모듈(264)을 이용하기 위한 하이 레벨 명령어를 제공받아 이를 디바이스 레벨의 명령어로 매핑시키고, 에지 추출 모듈 인터페이스부(254)를 통하여 에지 추출 모듈(308)로 제공한다. 이 때, 에지 추출 모듈(264)의 기능은 사용자가 아바타를 제작하는 과정에서 각 구성 요소를 자동으로 추출하여 이로부터 아바타를 생성하는 경우에 반드시 이용되겠지만, 기본적으로 제공되는 각 구성 요소로부터 사용자가 원하는 형태로 변형시키고, 변형된 구성 요소를 합성하여 아바타를 생성하는 경우에는 사용되지 않을 수도 있을 것이다.
구성 요소 제어 모듈(266)은 에지 추출 모듈(264)에 의하여 사용자의 이미지로부터 추출된 구성 요소 또는 기본적으로 제공되는 기본 구성 요소로부터 사용자의 명령에 따라 각 구성 요소의 형태 및 크기를 변형하기 위한 부분이다. 따라서, 구성 요소 제어 모듈 매핑부(255)는 사용자의 명령에 따라 각 구성 요소의 형태 및 크기를 변형시키기 위하여 하이 레벨 명령어 처리부(202)를 통하여 인가된 하이 레벨 명령어를 제공받아 구성 요소 제어 모듈(266)이 인식할 수 있는 디바이스 레벨의 명령어로 매핑시킨다. 디바이스 레벨의 명령어는 구성 요소 제어 모듈 인터페이스부(256)를 통하여 구성 요소 제어 모듈(266)로 제공되고, 구성 요소 제어 모듈(266)이 실행됨으로써 사용자는 희망하는 형태로 각 구성 요소를 변형시킬 수 있게 된다. 이 때, 에지 추출 모듈에 의하여 추출된 구성 요소 또는 기본적으로 제공되는 구성 요소를 사용자가 원하는 형태로 변형시키는 변형 기능 및 처리 속도를효율적으로 조화시키기 위하여, 각 구성 요소의 경계선을 12시, 1시, 3시, 5시, 6시, 7시, 9시 및 11시 방향을 포함하는 8개 방향으로 변형시킬 수 있도록 하는 것이 바람직하다.
아바타를 구성하는 각 구성 요소의 에지 추출 또는 변형 과정이 모두 끝나면, 하이 레벨 명령어 처리부(202)에서 아바타 생성 모듈 매핑부(257)로 아바타 생성을 지시하는 하이 레벨 명령어가 제공된다. 아바타 생성 모듈 매핑부(257)는 하이 레벨 명령어를 아바타 생성 모듈(268)이 처리할 수 있는 디바이스 레벨 명령어로 매핑시키고, 아바타 생성 모듈 인터페이스부(258)를 통하여 아바타 생성 모듈(268)로 제공한다. 그에 따라, 아바타 생성 모듈(308)은 사용자의 이미지로부터 추출된 각 구성 요소 또는 사용자의 명령에 따라 변형된 각 구성 요소를 합성함으로써 사용자의 이미지를 나타내는 아바타를 생성한다.
이러한 기능을 수행하도록 구성된 API(192)에 대한 세부적인 멤버 함수를 좀 더 상세하게 기술하면 다음과 같다.
개방 API(Open API)는 사용자의 요청에 따라 이미지 처리 모듈, 에지 추출 모듈, 구성 요소 제어 모듈 또는 아바타 생성 모듈의 세션을 개방하기 위하여 사용된다.
폐쇄 API(Close API)는 사용된 응용 모듈에 대한 세션을 종료하는데 사용된다.
복사 API(Copy API)는 사용자의 이미지 또는 사용자의 요청에 따라 생성된 아바타 데이터를 복사하는데 사용된다.
검색 API(Retrieve API)는 아바타 제작 서버에서 호출 가능한 응용 모듈을 검색하는데 사용된다.
상태 API(Status API)는 이미지 처리 모듈, 에지 추출 모듈, 구성 요소 제어 모듈 또는 아바타 생성 모듈의 동작 상태를 판단하기 위해 사용된다.
초기화 API(Initialize API)는 각 응용을 호출할 수 있도록 초기화하는 기능을 가진다.
리스트 API(List API)는 사용자로부터 전송된 이미지의 리스트, 아바타 제작에 사용되는 각 구성 요소 또는 사용자의 명령에 따라 제작된 아바타에 관한 리스트를 확인하는데 사용된다.
기록 API(Register API)는 사용자의 명령에 따라 제작된 아바타에 대한 정보를 기록하는 기능을 가진다.
삭제 API(Unregister API)는 사용자의 이미지 또는 제작된 아바타에 대한 정보를 삭제하는데 사용된다.
읽기 API(Read API)는 사용자로부터 전송된 이미지 데이터를 판독하는데 사용된다.
결국, 사용되는 응용 모듈에 따라 개별적인 API가 실행되고, 그에 따라 아바타 제작 서버는 아바타 제작에 사용되는 구성 요소를 추출하고, 각 구성 요소를 변형시키며, 구성 요소를 각각 합성하여 아바타를 생성할 수 있다.
도 11a 내지 도 11i는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 소벨 연산에 의한 에지 추출을 이용하여 사용자의 이미지로부터 아바타 얼굴을 생성하는 경우의 화면 예시도를 나타낸 것이다.
먼저, 도 11a를 참조하면, 사용자는 네트워크를 통하여 아바타 제작 서버에 접속하고 아바타를 제작하기 위한 이미지를 전송한다. 전송된 이미지는 해당하는 사용자에게 할당된 데이터베이스 영역에 저장되고, 사용자는 아바타 제작 서버를 통하여 이를 확인하고, 수정 및 삭제할 수 있을 것이다. 이 때, 사용자는 여러 가지 형태의 이미지를 저장하고, 그에 따라 복수의 아바타를 제작할 수도 있다.
도 11b는 사용자의 이미지 중에서 아바타를 제작할 얼굴 영역을 고립시키는 과정을 나타낸 것이다. 일반적으로 이미지는 데이터 용량이 크기 때문에, 아바타를 생성할 영역을 한정하고, 한정된 영역 내에서 아바타 생성 작업을 수행함으로써 데이터 처리 및 에지 추출 연산을 효율적으로 수행할 수 있다.
아바타를 생성할 영역을 제한한 후에 아바타 제작 과정을 진행하면, 제한된 영역에 대하여 아바타를 구성하는 각 구성 요소에 대한 에지 추출 작업이 수행될 것이다. 아바타 얼굴을 구성하는 구성 요소는 얼굴 모양, 눈, 귀, 눈썹, 코, 입 및 머리 모양으로 구분할 수 있다. 이들 각 구성 요소의 제작 순서는 임의로 변경될 수 있을 것이다.
도 11c는 제한된 영역 내의 사용자 이미지로부터 사용자의 얼굴 모양에 대한 에지를 추출하여 이를 화면에 표시한 경우를 나타낸 것이고, 도 11d는 사용자의 이미지로부터 귀의 에지를 추출하여 표시한 경우를 나타낸 것이다. 또한, 도 11e와 도 11f, 도 11g, 도 11h 및 도 11i는 각각 사용자의 이미지로부터 눈, 눈썹, 코,입 및 머리 모양을 표시한 경우를 각각 차례대로 나타낸 것이다. 이와 같이, 사용자의 이미지로부터 소벨 연산을 통하여 아바타를 구성하는 각 구성 요소의 에지를 추출하여 화면에 중첩적으로 표시하면, 사용자의 이미지에 해당하는 아바타 얼굴이 자동으로 생성된다.
이 때, 사용자는 이미지로부터 추출된 각 구성 요소의 형태 및 크기를 변형시키지 않고도 사용자의 이미지에 해당하는 아바타를 제작할 수 있지만, 각 구성 요소의 형태 및 크기를 사용자가 변형할 수 있도록 함으로써 사용자의 요구에 보다 부합하는 아바타를 생성할 수 있을 것이다.
도 12a 내지 도 12n은 본 발명의 또 다른 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 아바타를 구성하는 각 구성 요소를 사용자의 요청에 따라 변형하고, 변형된 구성 요소를 이용하여 아바타를 생성하는 경우의 화면 예시도를 나타낸 것이다.
이와 같이 사용자의 명령에 따라 아바타를 구성하는 각 구성 요소의 형태 및 크기를 변형시키는 과정을 포함하는 아바타 제작 방법은 사용자의 명령에 따라 각 구성 요소를 변형시키기 때문에, 소벨 연산에 의한 정확한 에지 추출 과정을 수행하기 보다, 각 구성 요소에 대하여 일반적인 형태를 가지는 기본 구성 요소를 제공하고, 사용자가 이를 변형시키도록 하는 것이 데이터 처리의 효율성 측면에서 바람직하다. 따라서, 이하에서는 아바타의 기본 구성 요소에 의한 변형 과정을 예로 들어 설명하기로 한다. 이 때, 아바타의 기본 구성 요소를 하나만 제공하기 보다는복수 개의 기본 구성 요소를 제공하고, 제공된 기본 구성 요소 중에서 사용자가 자신의 이미지에 부합하는 기본 구성 요소를 선택하여 이로부터 변형 작업을 수행하도록 하는 것이 바람직하다.
도 12a는 사용자가 전송한 적어도 하나의 이미지 중에서 아바타를 제작하기 위하여, 사용자가 선택한 이미지를 화면에 표시하는 경우를 나타낸 것이다. 바람직하게는 측면이나 후면보다 사용자의 전면 사진을 이용하는 것이 아바타 제작에 용이하다.
사용자가 아바타 제작을 위한 이미지를 선택하면, 도 12b와 같이 선택된 이미지 중에서 아바타를 제작할 얼굴 영역을 한정하기 위한, 영역 선택 사각형이 화면에 표시될 것이다.
영역 선택 사각형이 화면에 표시되면, 사용자는 도 12c와 같이 아바타를 제작할 영역에 맞게 영역 선택 사각형의 크기를 상, 하, 좌, 우의 방향으로 확대시키거나 축소시켜서 아바타 제작을 원하는 영역을 제한할 수 있다.
도 12d는 제한된 이미지 영역 내에서 사용자에게 제공된 눈 이미지를 이용하여 눈 부분을 인식하는 경우를 나타낸 것이다. 본 발명에서는 사용자가 지정하는 눈의 위치를 이용하여 아바타를 생성할 수 있다. 즉, 눈 부분을 전체 얼굴의 아바타를 구성하기 위한 기준으로 사용할 수 있다. 사용자가 지정한 눈의 위치로부터 눈 사이의 간격을 측정하고, 이를 통하여 가장 어울리는 얼굴 모양이나 코, 눈의 위치 등을 지정할 수 있다. 따라서, 사용자는 이미지 상에 제공된 2개의 기준 눈을 이동시켜서 이미지의 눈 부분에 일치시키는 것이 바람직하다. 도 17e는 사용자가기본으로 제공된 2개의 기준 눈을 각각 이동시켜서, 이미지의 눈 부분에 일치시킨 경우를 나타낸 것이다.
도 12f는 사용자의 눈의 위치에 일치된 기준 눈을 통하여 사용자의 얼굴 모양을 생성한 경우를 나타낸 것이다. 즉, 기준 눈 사이의 간격을 바탕으로 여기에 부합하며, 전체 얼굴 크기 및 모양에 어울리는 기본 얼굴 윤곽선을 제공한다. 사용자는 기본 얼굴 윤곽선의 각 부분에 위치한 변형 포인트를 조절함으로써, 자신의 이미지에 부합하는 얼굴 모양을 구성할 수 있다. 도 12f에서는 타원형으로 구성된 기본 얼굴 윤곽선 상에 8개의 변형 포인트를 제공하고, 이들 변형 포인트를 임의로 조정함으로써 전체 얼굴 형태를 변형시키는 경우를 나타내었다.
도 12g 내지 도 12k는 사용자가 변형 및 제어한 얼굴 형태에 따라 귀, 눈, 눈썹, 코 및 입 부분을 생성하는 경우를 나타낸 것이다. 사용자는 전체 얼굴 모양 또는 사용자의 이미지로부터 추출된 각 구성 요소의 기본 윤곽선을 두껍게, 길게 또는 얇게, 좁게 변형시킴으로써, 자신의 이미지 또는 특징에 어울리는 형태로 각 구성 요소를 제작할 수 있다. 각 구성 요소는 각각 8개의 변형 포인트를 가지고 있기 때문에, 사용자는 상, 하, 좌, 우 각 방향으로의 변형이 자유롭다. 이 때, 아바타 제작의 신속성 및 데이터 처리의 효율성을 위하여, 각 구성 요소에 대하여 통상적인 형태에 의한 기본 윤곽선을 복수로 제공하고, 각 구성 요소에 대한 복수의 기본 윤곽선 중에서 사용자가 원하는 윤곽선을 선택하여 이로부터 변형 과정을 진행할 수 있도록 하는 것이 바람직하다.
도 12l은 사용자의 이미지에 부합하는 머리 모양을 생성하는 경우를 나타낸것이다. 일반적으로, 사람의 얼굴 모양, 눈, 코, 입 또는 귀 모양은 인위적인 조작이나 사고에 의하지 않으면, 시간이 흐르더라도 크게 변하지 않기 때문에 적은 수의 기본 윤곽선에 의해서도 다양한 얼굴 모습을 생성할 수 있지만, 머리 모양은 사용자에 따라 매우 다양한 형태를 가질 수 있고, 새로운 형태로의 변형이 자유롭기 때문에 다른 구성 요소에 비하여 보다 많은 기본 윤곽선을 제공하여야 할 것이다. 특히, 최근에는 머리 모양에 의하여 개성을 표시하는 사용자가 증가하고 있기 때문에, 모리 모양에 의하여 사용자의 아바타를 구분 지을 수도 있을 것이다. 따라서, 머리 모양과 같이 사용자의 특징을 부각시킬 수 있는 구성 요소에 대해서는 에지 추출에 의한 기본 윤곽선 제공이 바람직하다.
도 12m은 아바타 얼굴의 각 구성 요소, 예컨대 얼굴 모양, 눈, 귀, 눈썹, 코, 입 및 머리 모양의 제작에 의하여 전체 얼굴의 아바타를 생성한 경우를 나타낸 것이다. 아바타는 사진과 같이 정확하고 자세한 형태를 가지기 보다는 사용자의 특징을 나타낼 수 있는 단순한 형태로 구성하는 것이 사용자의 관리뿐만 아니라 다른 사용자에 대한 시각적인 측면에서도 즐거움을 제공할 수 있다. 따라서, 제작된 아바타 얼굴의 투명도를 조절하여 평면적인 효과를 나타낼 수 있다.
도 12n은 이러한 방법으로 제작된 아바타 얼굴을 아바타 제작 서버의 데이터베이스에 저장하는 경우를 나타낸 것이다. 데이터베이스에 아바타 얼굴이 저장되면, 사용자는 언제든지 아바타 제작 서버에 접속하여 이를 불러올 수 있고, 저장된 아바타 얼굴을 이용하여 이후의 다양한 이벤트를 진행할 수 있다.
예컨대, 사용자는 자신의 아바타에 여러 가지 포즈의 상체 및 하체를 결합하여, 전체적인 외관 모습을 생성할 수 있다. 또한, 여러 가지 의상을 입히거나 액세서리를 부착시킴으로써 자신에게 어울리는 패션을 구성해볼 수도 있다.
도 13a 내지 도 13c는 본 발명의 바람직한 실시 예에 따른 아바타 제작 방법에 있어서, 사용자의 이미지를 이용하여 생성된 아바타에 다양한 의상을 입히는 경우의 화면 예시도이다.
도 13a는 사용자의 아바타 얼굴에 상체 및 하체가 결합된 경우를 나타내고, 도 13b 및 도 13c는 아바타에 사용자가 선택한 상의 및 하의를 결합시킨 경우를 각각 나타낸다. 도 13a 내지 도 13c에 도시된 바와 같이, 사용자는 자신의 얼굴 이미지를 이용하여 아바타를 생성하고, 아바타 얼굴에 다양한 모양의 상의나 하의를 입혀봄으로써 자신에게 어울리는 패션을 결정할 수 있다. 또한, 도면에 도시 되지는 않았지만, 모자나 안경, 시계, 신발 등의 다양한 액세서리를 결합시켜볼 수 있다. 결국, 사용자에 대한 아바타 제작 서비스와 다양한 의상이나 액세서리에 의한 홍보 효과를 결합함으로써, 사용자에게 개인의 특성에 관한 광범위한 서비스를 제공할 수 있다.
한편, 복수의 사용자가 자신의 이미지를 이용하여 자신에게 어울리는 아바타를 제작하고, 이를 웹 에이전트로 이용함으로써 개인 정보의 관리 또는 네트워크 상에서 다른 사용자와의 데이터 전송에 응용할 수 있다. 이를 위하여, 사용자는 아바타 제작 서버를 통하여 제작한 아바타 및 이를 이용한 웹 에이전트 모듈을 다운 받아 저장하여야 할 것이다.
도 14는 본 발명의 바람직한 실시 예에 따른 아바타를 이용한 웹 에이전트 시스템을 구성도를 나타낸 것이다.
도 14를 참조하면, 본 발명의 웹 에이전트 시스템(400)은 데이터베이스 내에 아바타의 동작을 제어하기 위하여, C/C++, 비주얼 베이직(Visual Basic), 자바(Java) 또는 자바 스크립트(Java Script)와 같은 프로그래밍 언어로 이루어진 아바타 제어 모듈(402)을 포함할 것이다. 그리고, 제어부(406)는 인터페이스(404)를 통하여 아바타 제어 모듈(402)의 언어를 해석하고, 이를 아바타의 동작 또는 음성 신호로 외부에 출력할 수 있도록 한다. 즉, 제어부(406)는 동작 제어부(410)를 통하여 사용자의 명령 또는 정해진 시간 간격으로 아바타 움직임을 제어하고, 표시부(416)는 동작 제어부(410)의 명령에 따라 화면에 아바타의 움직임을 표시한다.
또한, 키보드와 같은 입력 장치를 통하여 사용자로부터 텍스트가 입력되면, TTS(Text To Speech) 엔진(408)은 제어부(406)를 통하여 입력된 텍스트를 음성으로 변환하고, 이를 스피커(414)와 같은 출력 장치를 통하여 출력할 수 있다. 이 때, 입력되는 단어에 해당하는 아바타의 입 모양을 지정하고, 텍스트 데이터가 입력되면 해당하는 내용을 음성으로 출력하는 동시에, 텍스트 내용에 부합하도록 아바타의 입 모양을 조절하면, 마치 아바타가 입력된 내용을 인식하고, 이를 말하는 것과 같은 효과를 가져올 수 있다.
반대로, 음성 인식부(412)는 마이크(418)와 같은 음성 입력 장치를 통하여 입력되는 음성을 인식하여 이를 텍스트 데이터로 변환하면, 제어부(406)에서 텍스트 내용에 해당하도록 아바타의 움직임을 제어함으로써, 음성 입력에 따라 아바타가 움직이는 것과 같은 효과를 얻을 수도 있다.
한편, 사용자는 아바타를 이용하여 다른 사용자에 관한 정보를 관리하고, 다른 사용자와 메시지를 전송하며, 개인 스케줄 관리와 같은 기능을 수행할 수 있을 것이다.
도 15는 본 발명의 바람직한 실시 예에 따른 아바타를 이용한 웹 에이전트 시스템의 내부 구성도를 나타낸 것이다.
도 15를 참조하면, 웹 에이전트 시스템(500)에 사용되는 OS는 API(492)에 하이 레벨 명령어를 제공하여 아바타의 동작 및 데이터의 입출력을 제어하기 위한 각 응용 모듈의 동작을 제어한다.
아바타를 이용한 웹 에이전트의 응용 모듈(560)은 사용자 자신 또는 아바타를 이용하는 다른 사용자에 관한 정보를 관리하는 사용자 정보 관리 모듈(562), 다른 사용자와 메시지를 전송하기 위한 메시지 송수신 모듈(564) 및 개인 스케줄 및 작업 일정을 관리하는 스케줄 관리 모듈(566)을 포함할 수 있다.
사용자 정보 관리 모듈(562)은 사용자 또는 다른 사용자의 성명, 생일, e-메일 주소 또는 연락처와 같은 개인 정보를 관리하기 위한 부분이다.
도 16a는 아바타를 이용한 웹 에이전트 기능 중에서 사용자 정보 관리 기능을 사용하는 경우의 화면 예시도를 나타낸 것이다.
도 16a를 참조하면, 사용자는 마우스 포인터를 아바타에 위치시킨 상태로 마우스의 오른쪽 버튼을 누름으로써, 단축 기능에 의하여 개인 정보를 관리할 수 있다. 즉, 바탕 화면에 위치하는 아바타의 개인 정보 관리 기능을 이용하여 자신 및 다른 사용자의 개인 신상 정보를 기록 및 저장함으로써, 별도의 응용 프로그램을 사용하지 않고도 다른 사용자의 신상 정보를 쉽게 파악할 수 있다.
메시지 송수신 모듈(564)은 개인 정보 관리 기능에 의하여 등록된 사용자 또는 아바타를 사용하는 다른 사용자에게 메시지를 전송하거나 수신된 메시지를 확인하기 위한 부분이다. 즉, 사용자는 아바타에 의한 웹 에이전트 기능 중에서 메시지 전송 기능을 사용하여 자신의 아바타 이미지와 함께 다른 사용자에게 메시지를 전송할 수 있고, 다른 사용자로부터 전송된 메시지를 수신할 수 있다. 따라서, 메시지 수신자는 메시지 송신자의 아바타 이미지와 함께 전송된 메시지 내용을 확인할 수 있기 때문에, 보다 효율적이고 효과적으로 메시지 전송이 이루어질 수 있다.
도 16b는 아바타를 이용한 웹 에이전트 기능 중에서 다른 사용자와 메시지를 전송하는 경우의 화면 예시도를 나타낸 것이다.
도 16b를 참조하면, 메시지를 송신할 송신자는 웹 에이전트의 메시지 전송 기능을 이용하여 메시지를 전송하고자 하는 수신자를 선택하고, 메시지 입력 창에서 전송할 메시지 내용을 입력한 후에 선택된 수신자에게 메시지를 전송할 수 있다. 이 때, 웹 에이전트 시스템은 수신자의 e-메일 주소를 추출하고, 네트워크를 통하여 메시지를 전송한다. 그에 따라, 수신자는 송신자로부터 전송된 메시지를 수신하고 이를 화면에 표시함으로써 수신자는 전송된 메시지를 실시간으로 확인할 수있다. 이 때, 도 21b와 같이 송신자는 메시지와 함께 자신의 아바타 이미지를 전송함으로써, 수신자가 메시지 송신자를 쉽게 확인할 수 있다.
스케줄 관리 모듈(566)은 사용자 정보 관리 모듈(562)과 유사한 기능을 가지는 부분으로서, 사용자의 생일이나 기념일, 공휴일 또는 작업 일정과 같이 사용자의 스케줄을 관리하는 부분이다.
도 16c는 이와 같이 아바타를 이용한 웹 에이전트 기능으로 통하여 사용자의 작업 일정을 관리하는 경우를 나타낸 화면 예시도이다. 즉, 사용자는 스케줄 관리 기능을 이용하여 기억해야 할 일자에 대한 내용을 미리 기록하고 저장한다. 웹 에이전트는 사용자 컴퓨터 내부의 CMOS(Complementary Metal Oxide Semiconductor)에서 표시되는 날짜를 감시하고 있다가, 사용자가 기록한 일정에 해당하는 날짜에 도달하면, 아바타를 통하여 화면에 표시함으로써 사용자는 별도의 일정 관리 어플리케이션을 사용하지 않고도 다양한 일정을 용이하게 관리할 수 있다.
한편, 이와 같은 응용 모듈(560)을 제어하기 위한 API(492), 하이 레벨 명령어 처리부(502) 및 각 응용 모듈(560)을 제어하는 응용 모듈 제어부(550)의 동작 및 기능은 도 7에 도시된 바와 동일할 것이다.
즉, 사용자 정보 관리 모듈 매핑부(551)는 하이 레벨 명령어 처리부(502)로부터 전송된 하이 레벨의 명령어를 제공받아, 사용자 정보 관리 모듈(562)에서 처리할 수 있는 디바이스 레벨로 매핑하고, 사용자 정보 관리 모듈 인터페이스부(552)를 통하여 사용자 정보 관리 모듈(302)로 제공한다. 그리고, 메시지 송수신 모듈 매핑부(553)는 하이 레벨 명령어 처리부(502)로부터 하이 레벨명령어를 제공받아 이를 디바이스 레벨의 명령어로 매핑시키고, 메시지 송수신 모듈 인터페이스부(554)를 통하여 메시지 송수신 모듈(568)로 제공한다. 또한, 스케줄 관리 모듈 매핑부(555)는 하이 레벨 명령어 처리부(502)로부터 인가된 하이 레벨 명령어를 제공받아 스케줄 관리 모듈(566)에서 인식할 수 있는 디바이스 레벨의 명령어로 매핑시키고, 스케줄 관리 모듈 인터페이스부(556)를 통하여 스케줄 관리 모듈(566)로 제공한다.
결국, 사용자는 여러 가지 웹 어플리케이션에 의하여 이루어지던 기능을 아바타를 이용한 웹 에이전트로 통합함으로써, 네트워크 상에서의 개인 정보 및 일정, 다른 사용자와의 메시지 전송을 용이하게 구현할 수 있다.
특히, 사용자의 이미지 데이터를 이용하여 제작된 아바타는 사용자의 컴퓨터 시스템에서 모니터 상에 표시되고, 사용자의 요청에 따라 다양한 형태로 표현될 수 있다. 예를 들어, 사용자로부터 입력될 명령을 대기 중인 Idle 상태에서는 사용자로부터 명령이 입력될 때가지 정해진 시간마다 카운트를 증가시키며 대기한다. 이 때, 일정 수의 카운트에 도달될 때까지 사용자로부터 명령이 입력되지 않는 경우에는, 정해진 순서로 아바타의 모양을 변경시킴으로써 마치 아바타가 살아서 움직이는 것과 같은 효과를 줄 수 있다. 한편, 사용자로부터 명령이 입력되는 경우에, 해당하는 명령에 따라 아바타의 위치가 이동되거나, 아바타의 형태가 사용자의 요청에 따라 변경될 수 있다. 특히, 다양한 아바타의 형태를 일정 순서로 지정하고, 지정된 순서대로 아바타의 형태를 순차적으로 변형시킴으로써 애니메이션(animation) 기능을 구현하는 것도 가능하다.
또한, 사용자의 명령에 따라 화면 상에 표시되는 아바타를 숨기거나 도움말 기능을 사용할 수 있고, TTS 기능에 따라 아바타의 입 모양이 움직일 수도 있다.
한편, 사용자가 제작한 아바타를 휴대폰이나 PDA, IMT2000과 같은 무선 통신 단말기의 메모리에 저장하고, 무선 네트워크를 통하여 자신의 아바타를 문자 메시지나 음성 메시지와 함께 상대방에게 전송할 수 있도록 하거나, 아바타를 이용하여 다양한 무선 통신 서비스를 제공할 수도 있을 것이다.
상술한 바와 같이, 본 발명의 아바타 제작 방법에 따르면, 소벨 연산 과정을 통하여 사용자의 이미지로부터 아바타 구성 요소를 추출하고, 추출된 각 구성 요소를 사용자가 다양한 형태로 변형할 수 있다. 그에 따라, 사용자의 개성을 표시할 수 있는 형태로 자신의 아바타를 제작할 수 있어서, 다양한 사용자의 욕구를 만족시킬 수 있다.
또한, 본 발명의 아바타 제작 방법은 아바타 제작을 위한 이미지 처리 및 아바타 생성 모듈을 아바타 제작 서버에 구비하고, 네트워크를 통하여 접속한 사용자의 요구에 따라 아바타를 제작하는 서버 기반의 서비스를 제공함으로써, 클라이언트 기반의 서비스보다 사용자 측의 부하를 감소시키고, 데이터 처리의 효율성을 가져올 수 있다.
또한, 본 발명의 아바타 제작 방법은 소벨 연산에 의한 아바타 구성 요소의 추출 과정과 미리 정해진 기본 구성 요소에 대한 사용자의 변형 작업을 조화시킴으로써, 보다 효율적인 아바타 제작 및 데이터 처리가 가능하다.
또한, 본 발명의 아바타를 이용한 에이전트 시스템은 사용자의 요청에 따라 제작된 아바타 이미지를 이용하여 개인 정보 및 스케줄 등의 일정을 관리할 수 있고, 아바타 이미지와 함께 다른 사용자에게 메시지를 전송할 수 있다.
상기에서는 본 발명의 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를 이용한 에이전트 시스템의 바람직한 실시 예를 통하여 상세하게 기술하였지만, 그 내용은 하기 청구범위에 기술된 본 발명의 분야에만 한정되지 않는다. 또한, 상기 기술 분야에 있어서, 통상의 지식을 가진 사람은 본 발명의 범위 내에서 이를 다양하게 변경하거나 수정할 수 있는 것이 자명할 것이다.

Claims (49)

  1. 네트워크 상에서 아바타를 제작하는 방법에 있어서,
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터 수신하는 단계;
    소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 단계;
    사용자의 요청에 따라, 추출된 구성 요소의 모양을 변형시키는 단계; 및
    상기 각 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  2. 제1항에 있어서,
    상기 이미지 데이터는
    jpg, gif 및 png 중 하나의 형식을 갖는 이미지 데이터를 이용한 아바타 제작 방법.
  3. 제1항에 있어서,
    상기 아바타를 생성하기 위한 구성 요소는
    눈, 눈썹, 코, 입, 귀, 얼굴 모양 또는 머리 모양 중 적어도 하나를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  4. 제1항에 있어서,
    상기 소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 단계는
    사용자의 이미지 데이터로부터 아바타를 제작하기 위한 영역을 한정하는 단계;
    상기 일정 영역으로 한정된 이미지 데이터의 노이즈를 제거하는 단계;
    x 방향의 소벨 마스크 및 y 방향의 소벨 마스크를 이용하여, 상기 노이즈가 제거된 이미지 데이터로부터 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 생성하는 단계;
    상기 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 이용하여 소벨 미분 데이터를 생성하는 단계;
    상기 소벨 미분 데이터에 따라 각 아바타 구성 요소에 대하여, 복수의 후보 영역을 추출하는 단계;
    상기 추출된 복수의 후보 영역에 대하여 각각 레이블을 설정하는 단계;
    레이블이 설정된 복수의 후보 영역에 대한 크기 및 모양을 검증하는 단계;및
    상기 크기 및 모양의 검증 결과에 따라, 복수의 후보 영역 중에서 정해진 기준에 해당하는 구성 요소를 추출하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  5. 제4항에 있어서,
    상기 이미지 데이터의 노이즈를 제거하는 단계는
    상기 일정 영역으로 한정된 이미지 데이터의 배열을 구성하는 각 성분과, 이미지 데이터의 각 성분에 대응하는 mean 마스크의 성분과의 곱을 모두 합산하여 정해진 영역에 대한 픽셀의 합을 계산하고, 정해진 영역에 대한 픽셀의 합을 mean 마스크의 성분 크기로 나눔으로써 각 영역에 대한 이미지 데이터의 노이즈를 제거하는 이미지 데이터를 이용한 아바타 제작 방법.
  6. 제5항에 있어서,
    상기 mean 마스크는
    1, 1, 1, 1, 1, 1, 1, 1, 1 의 배열로 이루어지는 이미지 데이터를 이용한 아바타 제작 방법.
  7. 제4항에 있어서,
    상기 x 방향의 미분 데이터를 생성하는 단계는
    상기 노이즈가 제거된 이미지 데이터의 배열을 구성하는 각 성분과, 이미지 데이터의 각 성분에 대응하는 x 방향의 소벨 마스크의 성분과의 곱을 모두 합산하여 정해진 영역에 대한 픽셀의 합을 계산하고, 정해진 영역에 대한 픽셀의 합을 x 방향의 소벨 마스크의 성분 크기로 나눔으로써, 각 영역에 대한 x 방향의 미분 데이터를 생성하는 이미지 데이터를 이용한 아바타 제작 방법.
  8. 제7항에 있어서,
    상기 x 방향의 소벨 마스크는
    -1, -2, -1, 0, 0, 0, 1, 2, 1 의 배열로 이루어지는 이미지 데이터를 이용한 아바타 제작 방법.
  9. 제4항에 있어서,
    상기 y 방향의 미분 데이터를 생성하는 단계는
    상기 노이즈가 제거된 이미지 데이터의 배열을 구성하는 각 성분과, 이미지 데이터의 각 성분에 대응하는 y 방향의 소벨 마스크의 성분과의 곱을 모두 합산하여 정해진 영역에 대한 픽셀의 합을 계산하고, 정해진 영역에 대한 픽셀의 합을 y 방향의 소벨 마스크의 성분 크기로 나눔으로써, 각 영역에 대한 y 방향의 미분 데이터를 생성하는 이미지 데이터를 이용한 아바타 제작 방법.
  10. 제9항에 있어서,
    상기 y 방향의 소벨 마스크는
    -1, 0, 1, -2, 0, 2, -1, 0, 1 의 배열로 이루어지는 이미지 데이터를 이용한 아바타 제작 방법.
  11. 제4항에 있어서,
    상기 소벨 미분 데이터를 생성하는 단계는
    x 방향의 미분 데이터의 제곱과 y 방향의 미분 데이터의 제곱을 합산하고, 그 합의 제곱근을 계산함으로써 소벨 미분 데이터를 생성하는 이미지 데이터를 이용한 아바타 제작 방법.
  12. 제4항에 있어서,
    상기 크기를 검증하는 단계는
    각 후보 영역 내부의 픽셀 수 및 내부 면적을 계산하는 단계; 및
    상기 픽셀 수 및 내부 면적과 기준 픽셀 수 및 기준 면적과의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  13. 제12항에 있어서,
    상기 기준 픽셀 수는
    눈을 추출하는 경우에 50 이상 300 이하의 범위를 가지는 이미지 데이터를 이용한 아바타 제작 방법.
  14. 제12항에 있어서,
    상기 기준 면적은
    눈을 추출하는 경우에 200 이상 1100 이하의 범위를 가지는 이미지 데이터를 이용한 아바타 제작 방법.
  15. 제4항에 있어서,
    상기 모양을 검증하는 단계는
    각 후보 영역의 가로 길이 및 세로 길이를 계산하는 단계; 및
    상기 가로 길이 및 세로 길이의 비율과 기준 비율의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  16. 제15항에 있어서,
    상기 기준 비율은
    눈을 추출하는 경우에, 가로와 세로의 비율이 1.0 이상 3.2 이하의 범위를 가지는 이미지 데이터를 이용한 아바타 제작 방법.
  17. 제4항에 있어서,
    쌍을 이루는 구성 요소를 추출하는 경우에, 복수의 후보 영역 중에서 쌍을 이루는 영역을 검출하는 그룹 설정 단계
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  18. 제1항에 있어서,
    상기 구성 요소의 모양을 변형시키는 단계는
    소벨 연산 과정에 의하여 추출된 구성 요소의 외부 윤곽선에 위치하는 변형을 위한 복수의 기준 포인트를 제공하는 단계; 및
    인접한 기준 포인트와의 연결을 유지하면서, 사용자의 명령에 따라 선택된 기준 포인트에 해당하는 구성 요소의 윤곽선을 변경시키는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  19. 제1항에 있어서,
    사용자의 요청에 따라, 생성된 아바타의 투명도를 변화시키는 단계
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  20. 제1항에 있어서,
    사용자의 요청에 따라, 상기 생성된 아바타에 의상 또는 악세서리를 결합시키는 단계
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  21. 네트워크 상에서 아바타를 제작하는 방법에 있어서,
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터수신하는 단계;
    소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 눈을 추출하여 화면에 표시하는 단계;
    상기 화면에 표시된 눈에 따라, 아바타를 생성하기 위한 각 구성 요소에 대한 미리 저장된 기준 구성 요소를 순차적으로 제공하는 단계;
    사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 단계; 및
    상기 기준 구성 요소로부터 변형된 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  22. 제21항에 있어서,
    사용자의 요청에 따라, 상기 추출된 눈을 이미지 데이터의 눈 부분과 일치하도록 이동시키는 단계
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  23. 제21항 또는 제22항에 있어서,
    상기 기준 구성 요소는
    이미지 데이터로부터 추출된 눈 또는 이미지 데이터의 눈 부분과 일치되도록 이동된 눈의 위치에 따라, 아바타의 각 구성 요소에 대한 복수의 기준 구성 요소 중에서 통계적인 수치에 가장 유사한 형태로 이루어진 구성 요소인 이미지 데이터를 이용한 아바타 제작 방법.
  24. 네트워크 상에서 아바타를 제작하는 방법에 있어서,
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터 수신하는 단계;
    화면에 표시된 상기 이미지 데이터 상에, 아바타를 생성하기 위한 각 구성 요소에 대하여 미리 저장된 기준 구성 요소를 순차적으로 제공하는 단계;
    사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 단계; 및
    상기 기준 구성 요소로부터 변형된 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  25. 네트워크 상에서 아바타를 제작하는 시스템에 있어서,
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터수신하고, 이를 인식하여 화면에 표시하는 이미지 처리부;
    소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 구성 요소 추출부;
    사용자의 요청에 따라, 추출된 구성 요소의 모양을 변형시키는 구성 요소 제어부; 및
    상기 각 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 아바타 생성부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  26. 제25항에 있어서,
    상기 구성 요소 추출부는
    사용자의 이미지 데이터로부터 아바타를 제작하기 위한 영역을 한정하는 영역 한정부;
    mean 마스크를 이용하여, 상기 일정 영역으로 한정된 이미지 데이터의 노이즈를 제거하는 노이즈 제거부;
    x 방향의 소벨 마스크 및 y 방향의 소벨 마스크를 이용하여, 상기 노이즈가 제거된 이미지 데이터로부터 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 방향성 미분 데이터 생성부;
    상기 x 방향의 미분 데이터 및 y 방향의 미분 데이터를 이용하여 소벨 미분데이터를 생성하는 미분 데이터 생성부;
    상기 소벨 미분 데이터에 따라 각 아바타 구성 요소에 대하여, 복수의 후보 영역을 추출하는 후보 영역 추출부;
    상기 추출된 복수의 후보 영역에 대하여 각각 레이블을 설정하는 레이블 설정부;
    레이블이 설정된 복수의 후보 영역에 대한 크기를 검증하는 크기 검증부;
    복수의 후보 영역에 대한 모양을 검증하는 모양 검증부; 및
    상기 크기 및 모양의 검증 결과에 따라, 복수의 후보 영역 중에서 정해진 기준에 해당하는 구성 요소를 추출하는 구성 요소 추출부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  27. 제26항에 있어서,
    상기 크기 검증부는
    각 후보 영역 내부의 픽셀 수 및 내부 면적을 계산하는 크기 계산부; 및
    상기 픽셀 수 및 내부 면적과 기준 픽셀 수 및 기준 면적과의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 크기 판단부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  28. 제26항에 있어서,
    상기 모양 검증부는
    각 후보 영역의 가로 길이 및 세로 길이를 계산하는 모양 계산부; 및
    상기 가로 길이 및 세로 길이의 비율과 기준 비율의 비교 결과에 따라 아바타 구성 요소에 해당하는지를 판단하는 모양 판단부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  29. 제25항에 있어서,
    쌍을 이루는 구성 요소를 추출하는 경우에, 복수의 후보 영역 중에서 쌍을 이루는 영역을 검출하기 위한 그룹 설정부
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  30. 제25항에 있어서,
    상기 구성 요소 제어부는
    소벨 연산 과정에 의하여 추출된 구성 요소의 외부 윤곽선에 위치하는 변형을 위한 복수의 기준 포인트를 제공하고, 인접한 기준 포인트와의 연결을 유지하면서, 사용자의 명령에 따라 선택된 기준 포인트에 해당하는 구성 요소의 윤곽선을 변경시키는 기준 포인트 제어부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  31. 제25항에 있어서,
    사용자의 요청에 따라, 생성된 아바타의 투명도를 변화시키는 투명도 제어부
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  32. 제25항에 있어서,
    사용자의 요청에 따라, 상기 생성된 아바타에 의상 또는 악세서리를 결합시키는 보조 요소 제어부
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  33. 네트워크 상에서 아바타를 제작하는 시스템에 있어서,
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터 수신하고, 이를 화면에 표시하는 이미지 처리부;
    소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 눈을 추출하여 화면에 표시하는 기준 눈 추출부;
    상기 화면에 표시된 눈에 따라, 아바타를 생성하기 위한 각 구성 요소에 대하여 미리 저장된 기준 구성 요소를 순차적으로 제공하는 기준 구성 요소 제어부;
    사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 구성 요소 변형부; 및
    상기 변형된 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 아바타 생성부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  34. 제33항에 있어서,
    사용자의 요청에 따라, 상기 추출된 눈을 이미지 데이터의 눈 부분과 일치하도록 이동시키는 기준 눈 제어부
    를 더 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  35. 네트워크 상에서 아바타를 제작하는 시스템에 있어서,
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터 수신하고, 이를 화면에 표시하는 이미지 처리부;
    화면에 표시된 상기 이미지 데이터 상에, 아바타를 생성하기 위한 각 구성 요소에 대하여 미리 저장된 기준 구성 요소를 순차적으로 제공하는 기준 구성 요소 제어부;
    사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 구성 요소 변형부; 및
    상기 기준 구성 요소로부터 변형된 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 아바타 생성부
    를 포함하는 이미지 데이터를 이용한 아바타 제작 시스템.
  36. 네트워크를 통하여 연결된 사용자로부터 이미지 데이터를 제공받아 아바타를 제작하는 방법에 있어서,
    상기 네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터 수신하는 단계;
    사용자의 선택에 따라, 상기 이미지 데이터로부터 아바타를 제작할 부분을 한정하는 단계;
    상기 한정된 부분을 아바타 제작을 위하여 지정된 크기로 형성하는 단계;
    상기 지정된 크기로 형성된 부분으로부터 아바타 제작을 위한 각 구성 요소의 에지를 검출하는 단계; - 여기에서 아바타 제작을 위한 각 구성 요소는 눈, 코, 입, 귀, 얼굴 모양, 머리 모양 및 눈썹 중 적어도 하나를 포함함-
    상기 검출된 각 구성 요소의 에지에 대하여 크기 검증 또는 모양 검증을 통하여 아바타 구성 요소를 추출하는 단계;
    사용자의 요청에 따라 상기 추출된 아바타 구성 요소을 변형하는 단계; 및
    상기 변형된 아바타 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 단계
    를 포함하는 이미지 데이터를 이용한 아바타 제작 방법.
  37. 제1항, 제21항, 제24항 또는 제26항 중 어느 한 항에 의하여 제작된 아바타를 이용한 에이전트 시스템에 있어서,
    아바타 제작 시스템으로부터 수신된 아바타 이미지를 저장하는 데이터베이스;
    상기 아바타 이미지를 사용자의 컴퓨터 시스템에서 인식할 수 있도록 변환시키는 인터페이스부;
    상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자의 요청에 따라 해당하는 출력 장치로 제공하는 제어부; 및
    상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자가 인식할 수 있도록 사용자 컴퓨터의 화면에 표시하는 표시부
    를 포함하는 아바타를 이용한 에이전트 시스템.
  38. 제37항에 있어서,
    음성 입력 장치를 통하여 입력된 사용자의 음성을 제어부에서 인식할 수 있는 데이터로 변환하는 음성 인식부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  39. 제37항에 있어서,
    텍스트 입력 장치를 통하여 입력된 텍스트 데이터를 음성 데이터로 변환하는 텍스트/음성 변환부; 및
    상기 텍스트/음성 변환부를 통하여 변환된 음성 신호를 사용자가 인식할 수 있도록 출력하는 음성 출력부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  40. 제37항 또는 제39항에 있어서,
    데이터베이스에 저장된 다양한 형태의 아바타 데이터 중에서 음성 출력부를 통하여 출력되는 음성 신호에 따라, 해당하는 형태의 아바타 이미지를 추출하여 상기 표시부로 제공하는 아바타 동작 제어부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  41. 제37항에 있어서,
    아바타 사용자 및 다른 사용자의 개인 정보를 저장 및 관리하는 사용자 정보 관리부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  42. 제37항에 있어서,
    아바타 이미지를 이용하는 사용자 사이에 메시지 데이터를 전송할 수 있는 메시지 처리부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  43. 제42항에 있어서,
    상기 메시지 처리부는
    전송되는 메시지 데이터와 함께, 메시지를 송신하는 송신자의 아바타 이미지를 함께 전송하는 이미지 처리부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  44. 제37항에 있어서,
    사용자의 작업 일정을 관리하기 위한 스케줄 관리부
    를 더 포함하는 아바타를 이용한 에이전트 시스템.
  45. 사용자의 요청에 따라 제작된 아바타 이미지를 저장하는 데이터베이스;
    상기 아바타 이미지를 사용자의 컴퓨터 시스템에서 인식할 수 있도록 변환시키는 인터페이스부;
    상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자의 요청에 따라 해당하는 출력 장치로 제공하는 제어부; 및
    상기 인터페이스부를 통하여 전송된 아바타 이미지를 사용자가 인식할 수 있도록 사용자 컴퓨터의 화면에 표시하는 표시부
    를 포함하는 아바타를 이용한 에이전트 시스템.
  46. 네트워크 상에서 사용자의 이미지 데이터를 이용하여 아바타를 제작할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 아바타 제작 방법이
    네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하는 단계;
    소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 아바타를 생성하기 위한 구성 요소를 순차적으로 추출하는 단계;
    사용자의 요청에 따라, 추출된 구성 요소의 모양을 변형시키는 단계; 및
    상기 각 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 단계
    를 포함하는 컴퓨터 기록 매체.
  47. 네트워크 상에서 사용자의 이미지 데이터를 이용하여 아바타를 제작할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 아바타 제작 방법이
    네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하는 단계;
    소벨 연산 과정을 통하여, 상기 수신된 이미지 데이터로부터 눈을 추출하여 화면에 표시하는 단계;
    상기 화면에 표시된 눈에 따라, 아바타를 생성하기 위한 각 구성 요소에 대한 기준 구성 요소를 순차적으로 제공하는 단계;
    사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 단계; 및
    상기 기준 구성 요소로부터 변형된 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 단계
    를 포함하는 컴퓨터 기록 매체.
  48. 네트워크 상에서 사용자의 이미지 데이터를 이용하여 아바타를 제작할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 아바타 제작 방법이
    네트워크를 통하여 전송된 사용자의 얼굴을 포함하는 이미지 데이터를 수신하는 단계;
    화면에 표시된 상기 이미지 데이터 상에, 아바타를 생성하기 위한 각 구성 요소에 대한 기준 구성 요소를 순차적으로 제공하는 단계;
    사용자의 요청에 따라, 상기 기준 구성 요소의 모양을 각각 변형시키는 단계; 및
    상기 기준 구성 요소로부터 변형된 구성 요소를 합성하여 사용자의 아바타 얼굴을 생성하는 단계
    를 포함하는 컴퓨터 기록 매체.
  49. 네트워크 상에서 사용자의 이미지 데이터를 이용하여 아바타를 제작할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 아바타 제작 방법이
    네트워크를 통하여 사용자의 얼굴을 포함하는 이미지 데이터를 사용자로부터 수신하는 단계;
    사용자의 선택에 따라, 상기 이미지 데이터로부터 아바타를 제작할 부분을 한정하는 단계;
    상기 한정된 부분을 아바타 제작을 위하여 지정된 크기로 형성하는 단계;
    상기 지정된 크기로 형성된 부분으로부터 아바타 제작을 위한 각 구성 요소의 에지를 검출하는 단계; - 여기에서 아바타 제작을 위한 각 구성 요소는 눈, 코, 입, 귀, 얼굴 모양, 머리 모양 및 눈썹 중 적어도 하나를 포함함-
    상기 검출된 각 구성 요소의 에지에 대하여 크기 검증 또는 모양 검증을 통하여 아바타 구성 요소를 추출하는 단계;
    사용자의 요청에 따라 상기 추출된 아바타 구성 요소을 변형하는 단계; 및
    상기 변형된 아바타 구성 요소를 합성함으로써, 사용자가 이용할 수 있도록 이미지 데이터에 상응하는 아바타를 생성하는 단계
    를 포함하는 컴퓨터 기록 매체.
KR1020010029205A 2001-05-26 2001-05-26 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템 KR20010082779A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020010029205A KR20010082779A (ko) 2001-05-26 2001-05-26 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템
PCT/KR2001/001270 WO2002097732A1 (en) 2001-05-26 2001-07-26 Method for producing avatar using image data and agent system with the avatar

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010029205A KR20010082779A (ko) 2001-05-26 2001-05-26 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템

Publications (1)

Publication Number Publication Date
KR20010082779A true KR20010082779A (ko) 2001-08-31

Family

ID=19709996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010029205A KR20010082779A (ko) 2001-05-26 2001-05-26 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템

Country Status (2)

Country Link
KR (1) KR20010082779A (ko)
WO (1) WO2002097732A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010114196A (ko) * 2001-11-30 2001-12-29 오광호 아바타 제작방법과 그를 이용한 온라인상의 아바타제작시스템 및 방법
KR101538144B1 (ko) * 2012-12-12 2015-07-22 (주)원더피플 멀티 레이어를 이용하여 아바타 요소를 표현하기 위한 방법, 단말 장치 및 서버
US10032290B2 (en) 2004-05-14 2018-07-24 Tencent Technology (Shenzhen) Company Limited Method for synthesizing dynamic virtual figures
KR20190037218A (ko) 2019-03-28 2019-04-05 에스케이플래닛 주식회사 캐릭터 지원 시스템 및 방법
KR20230063436A (ko) * 2021-11-02 2023-05-09 주식회사 에이아이파크 영상 서비스 제공장치
WO2024053848A1 (en) * 2022-09-06 2024-03-14 Samsung Electronics Co., Ltd. A method and a system for generating an imaginary avatar of an object

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2016562A4 (en) * 2006-05-07 2010-01-06 Sony Computer Entertainment Inc METHOD FOR IMPLEMENTING AFFECTIVE PROPERTIES IN A COMPUTER GENERATED AVATAR DURING A COMPUTER GAME
CA2933799A1 (en) * 2016-06-21 2017-12-21 John G. Robertson System and method for automatically generating a facial remediation design and application protocol to address observable facial deviations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3932461B2 (ja) * 1997-05-21 2007-06-20 ソニー株式会社 クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体
US6215498B1 (en) * 1998-09-10 2001-04-10 Lionhearth Technologies, Inc. Virtual command post
JP3660198B2 (ja) * 1999-04-16 2005-06-15 日本電信電話株式会社 3次元共有仮想空間表示方法、3次元共有仮想空間通信システム及び方法、仮想会議システム、並びにそのための利用者端末プログラムを記録した記録媒体
KR100424145B1 (ko) * 2001-03-22 2004-03-24 (주)우리랑월드 사용자 맞춤형 에이전트, 그것을 이용한 서비스 방법 및시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010114196A (ko) * 2001-11-30 2001-12-29 오광호 아바타 제작방법과 그를 이용한 온라인상의 아바타제작시스템 및 방법
US10032290B2 (en) 2004-05-14 2018-07-24 Tencent Technology (Shenzhen) Company Limited Method for synthesizing dynamic virtual figures
KR101538144B1 (ko) * 2012-12-12 2015-07-22 (주)원더피플 멀티 레이어를 이용하여 아바타 요소를 표현하기 위한 방법, 단말 장치 및 서버
KR20190037218A (ko) 2019-03-28 2019-04-05 에스케이플래닛 주식회사 캐릭터 지원 시스템 및 방법
KR20230063436A (ko) * 2021-11-02 2023-05-09 주식회사 에이아이파크 영상 서비스 제공장치
WO2024053848A1 (en) * 2022-09-06 2024-03-14 Samsung Electronics Co., Ltd. A method and a system for generating an imaginary avatar of an object

Also Published As

Publication number Publication date
WO2002097732A1 (en) 2002-12-05

Similar Documents

Publication Publication Date Title
JP4449723B2 (ja) 画像処理装置、画像処理方法、およびプログラム
EP2127341B1 (en) A communication network and devices for text to speech and text to facial animation conversion
US20200020173A1 (en) Methods and systems for constructing an animated 3d facial model from a 2d facial image
WO2019173108A1 (en) Electronic messaging utilizing animatable 3d models
EP3912085A1 (en) Systems and methods for face reenactment
KR101743763B1 (ko) 감성 아바타 이모티콘 기반의 스마트 러닝 학습 제공 방법, 그리고 이를 구현하기 위한 스마트 러닝 학습 단말장치
JP2003162730A (ja) 個人のモデルを生成する方法及び装置
CN1427626A (zh) 虚拟电视通话装置
KR102455966B1 (ko) 중개 장치, 방법 및 컴퓨터 판독 가능한 기록매체
KR101743764B1 (ko) 감성 아바타 이모티콘 기반의 초경량 데이터 애니메이션 방식 제공 방법, 그리고 이를 구현하기 위한 감성 아바타 이모티콘 제공 단말장치
CN113766168A (zh) 一种互动处理方法、装置、终端及介质
KR20010082779A (ko) 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템
KR20230156953A (ko) 실시간에서의 실제 크기 안경류 경험
US20230120037A1 (en) True size eyewear in real time
CN114779948A (zh) 基于面部识别的动画人物即时交互控制方法、装置及设备
KR101068941B1 (ko) 이동 통신 단말기의 개인 캐릭터 서비스 방법 및 그 이동통신 단말기
KR20070096621A (ko) 음영판을 이용한 캐리커쳐 생성 시스템 및 방법
KR100372929B1 (ko) 채팅 이미지 작성 방법
KR20030096983A (ko) 얼굴이미지를 이용한 애니메이션 파일 생성 방법 및 상기애니메이션을 이용한 유무선 통합 애니메이션 캐릭터 제공서비스 방법
KR20050009504A (ko) 사용자 애니메이션 캐릭터 제작 방법 및 사용자애니메이션 캐릭터 제공 서비스 시스템
KR102658960B1 (ko) 얼굴 재연을 위한 시스템 및 방법
JP7418709B2 (ja) コンピュータプログラム、方法及びサーバ装置
CN116246310A (zh) 生成目标会话表情的方法和装置
GB2480173A (en) A data structure for representing an animated model of a head/face wherein hair overlies a flat peripheral region of a partial 3D map

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee