KR20050003697A - 그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그방법 - Google Patents

그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그방법 Download PDF

Info

Publication number
KR20050003697A
KR20050003697A KR1020030045130A KR20030045130A KR20050003697A KR 20050003697 A KR20050003697 A KR 20050003697A KR 1020030045130 A KR1020030045130 A KR 1020030045130A KR 20030045130 A KR20030045130 A KR 20030045130A KR 20050003697 A KR20050003697 A KR 20050003697A
Authority
KR
South Korea
Prior art keywords
chat
animation
clients
data
server
Prior art date
Application number
KR1020030045130A
Other languages
English (en)
Other versions
KR100559287B1 (ko
Inventor
김효식
이두연
남기성
Original Assignee
(주) 리젠소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 리젠소프트 filed Critical (주) 리젠소프트
Priority to KR1020030045130A priority Critical patent/KR100559287B1/ko
Publication of KR20050003697A publication Critical patent/KR20050003697A/ko
Application granted granted Critical
Publication of KR100559287B1 publication Critical patent/KR100559287B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 그래픽 이미지의 애니메이션(animation)을 이용하여 채팅을 수행할 수 있는 시스템 및 방법에 관한 것이다. 이 채팅 시스템은 채팅 프로세스를 제어하기 위한 서버와, 서버와 통신망을 통해 연결되어 있으며 채팅 프로세스에 따라 상호간에 채팅을 수행하기 위한 다수의 클라이언트를 포함한다. 이 채팅 방법은 a) 서버와 다수의 클라이언트들이 초기화를 수행하는 단계와, b) 서버가 다수의 클라이언트들 각각으로 채팅시 사용되는 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보를 전송하는 단계와, c) 서버로부터 수신한 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보에 근거하여, 다수의 클라이언트들이 상호 채팅을 수행하는 단계를 포함한다.

Description

그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그 방법{CHAT SYSTEM AND METHOD USING ANIMATION OF GRAPHIC IMAGES}
본 발명은 통신 시스템을 이용한 채팅(chat) 시스템 및 방법에 관한 것으로, 보다 상세하게는 그래픽 이미지의 애니메이션을 이용하여 채팅을 수행할 수 있는 시스템 및 방법에 관한 것이다.
최근, 가상 공간 상에서 캐릭터(character) 또는 아바타(avator)를 이용하여 채팅하려는 시도가 있다. 통상적인 캐릭터 또는 아바타는 그 디스플레이 방식에 있어서, 채팅시 사용되는 컴퓨팅 디바이스(computing device)와 연결된 모니터(monitor) 상의 제한된 틀(예컨대, 사각형 형태의 창(window))에서 채팅 프로그램의 제어에 따라 그 제한된 틀의 공간 안에서만 디스플레이 되었다.
도 1의 (a) 및 (b)에 도시한 바와 같이, 종래기술에 따른 캐릭터 또는 아바타(102, 104)는 채팅시 사용자 자신을 가상 공간 상에 나타내는 사진과 같은 형태로 나타내기 때문에, 채팅 상대방과의 채팅시 사용자를 대신하여 채팅하는 역할은 주어지지 않는다. 또한, 캐릭터 또는 아바타(102, 104)는 독립적인 동작, 즉 애니메이션(animation)을 수행할 수 없으며, 단지 채팅 프로그램에 의해 사전설정된 얼굴의 표정 변화만이 가능하다는 단점이 있다.
또한, 도 2의 (a) 및 (b)에 도시한 바와 같이, 종래기술에 따른 채팅 프로그램은 채팅시 리스트 창 및 채팅창을 모니터 상에 디스플레이한다. 이때, 사용자를나타내는 캐릭터 또는 아바타가 이들 창 내에 위치될 수 있다. 그러나, 이러한 창 이외의 영역, 예컨대 컴퓨터 모니터 상에서 이들 창을 제외한 바탕 화면 영역에 캐릭터 또는 아바타가 존재할 수 없을뿐만 아니라, 캐릭터 또는 아바타가 채팅시 여전히 애니메이션을 수행하지 못한다는 단점이 있다.
따라서, 본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것으로, 가상 공간 상에서 채팅을 하고 있는 사용자들을 나타내는 그래픽 이미지의 애니메이션을 통해 실제 공간에서와 유사하게 채팅 상대방과 채팅할 수 있는 시스템 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 특징에 따르면, 그래픽 이미지의 애니메이션(animation)을 이용한 채팅 시스템이 제공된다. 이 채팅 시스템은 채팅 프로세스를 제어하기 위한 서버와, 서버와 통신망을 통해 연결되어 있으며 채팅 프로세스에 따라 상호간에 채팅을 수행하기 위한 다수의 클라이언트를 포함한다. 이 서버는 다수의 클라이언트 각각에 대한 정보를 저장하기 위한 제 1 데이터베이스와, 다수의 클라이언트를 나타내는 그래픽 이미지들을 저장하기 위한 제 2 데이터베이스와, 다수의 클라이언트 각각으로부터의 채팅 요청에 응답하여 채팅 프로세스를 제어하기 위한 채팅 프로세스 제어부를 포함한다. 다수의 클라이언트 각각은, 통신망을 통해 서버 및 다수의 클라이언트와 상호 통신하기 위한 통신 수단과, 서버의 제어하에 채팅 프로세스에 따라 다수의 클라이언트와 상호 채팅을 수행하기 위한 채팅 엔진과, 채팅 수행중 송수신되는 통신 메시지 ―통신 메시지는 단어 및/또는 문장으로 이루어진 채팅 텍스트를 포함함 ―에 따라 서버로부터 전송된 그래픽 이미지들 및 그래픽 이미지들의 애니메이션을 제어하기 위한 그래픽 이미지 엔진이 구현된 컴퓨터 판독 가능한 매체를 포함한다.
본 발명의 또다른 특징에 따르면,서버와 다수의 클라이언트들이 통신망을 통해 상호 연결되어 있는 채팅 시스템 상에서 그래픽 이미지의 애니메이션을 이용한 채팅 방법이 제공된다. 이 방법은 a) 서버와 다수의 클라이언트들이 초기화를 수행하는 단계와, b) 서버가 다수의 클라이언트들 각각으로 채팅시 사용되는 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보를 전송하는 단계와, c) 서버로부터 수신한 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보에 근거하여, 다수의 클라이언트들이 상호 채팅을 수행하는 단계를 포함한다. 여기서, c) 단계에서는 다수의 클라이언트들 각각이 구비하고 있는 디스플레이 상에는 다수의 클라이언트들을 나타내는 그래픽 이미지들이 디스플레이되며, 채팅 중 송수신되는 통신 메시지 ―통신 메시지는 단어 및/또는 문장으로 이루어진 채팅 텍스트를 포함함 ―에 따라 그래픽 이미지들의 애니메이션이 디스플레이된다.
도 1의 (a) 및 (b)는 종래기술에 따른 캐릭터 또는 아바타의 일예를 도시하는 도면.
도 2의 (a) 및 (b)는 종래기술에 따른 채팅 프로그램의 리스트 창(window) 및 채팅창의 일예를 도시하는 도면.
도 3은 본 발명에 따른 채팅 시스템의 개략적인 블럭도.
도 4는 본 발명에 따른 캐릭터 엔진의 블럭도.
도 5는 도 4에 도시된 캐릭터 엔진내 애니메이션 데이터 전처리부의 블럭도.
도 6은 본 발명에 따른 채팅 프로세스를 설명하기 위한 흐름도.
도 7은 도 6에 도시한 단계(S602) 내지 단계(S604)를 상세하게 설명하기 위한 흐름도.
도 8은 도 6에 도시한 단계(S606) 내지 단계(S610)를 상세하게 설명하기 위한 흐름도.
도 9는 도 8에 도시한 단계(S816)를 상세하게 설명하기 위한 흐름도.
도 10은 도 4에 도시된 애니메이션 데이터 전처리부내 애니메이션 파일 전처리부가 캐릭터 엔진에서 사용되는 애니메이션 자료 구조를 생성하는 과정을 설명하기 위한 흐름도.
도 11은 도 4에 도시된 캐릭터 엔진내 캐릭터 관리부에 의해 제어되는 캐릭터 모듈의 동작을 설명하기 위한 흐름도.
도 12는 본 발명에 따라 캐릭터의 외곽선 데이터를 추출하는 일예를 나타낸 도면.
도 13은 본 발명에 따른 캐릭터 애니메이션의 일예를 나타내는 도면.
도 14는 본 발명에 따라 생성되는 합성 그래픽 이미지 데이터의 일예를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
302 : 서버
304 : 통신망
306, 308, 310 : 클라이언트
306-1, 308-1, 310-1 : 채팅 엔진
306-2, 308-2, 310-2 : 캐릭터 엔진
402 : 에니메이션 데이터 전처리부
404 : 캐릭터 관리부
406 : 메시지 분석부
408 : 그래픽 출력부
502 : 데이터 분석부
504 : 애니메이션 파일 목록 생성부
506 : 애니메이션 파일 전처리부
이하, 도 3 내지 도 14를 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다.
먼저, 도 3을 참조하면 본 발명에 따른 그래픽 이미지를 이용한 채팅 시스템의 개략적인 블럭도가 도시되어 있다. 도 3에 도시한 바와 같이, 본 발명에 따른 채팅 시스템(300)은 서버(302), 다수의 클라이언트(306, 308, 310), 서버(302)와다수의 클라이언트(306, 308, 310)를 상호 연결하기 위한 통신망(304)을 포함하고 있다. 여기서, 통신망(304)은 통상적인 유선 및 무선 통신망을 포함하는 것으로 이해되고 해석되어야 한다. 또한, 본 명세서에서는 설명의 편의를 위해 채팅을 실제로 수행하는 사용자들을 다수의 클라이언트들(306, 308, 310)로 지칭하고 있음을 주지해야 한다.
서버(302)는 다수의 클라이언트 각각에 대한 정보와 이들을 나타내는 그래픽 이미지들을 저장하기 위한 데이터베이스 및 다수의 클라이언트(306, 308, 310)의 채팅 요청에 응답하여 본 발명에 따른 채팅 프로세스를 제어하기 위한 제어부를 구비하고 있다. 다수의 클라이언트들(306, 308, 310)은 예컨대, 통상적인 컴퓨팅 디바이스(computing device) 기능을 수행하기 위한 구성요소를 포함하고 있을 뿐만 아니라, 채팅 프로세스 수행시 동작하는 본 발명에 따른 채팅 엔진들(306-1, 308-1, 310-1) 및 캐릭터 엔진들(306-2, 308-2, 308-2)을 더 포함하고 있다. 여기서, 채팅 엔진들(306-1, 308-1, 310-1)은 캐릭터 엔진들(306-2, 308-2, 308-2)을 제어하는 기능을 구비하고 있으며, 이러한 채팅 엔진들(306-1, 308-1, 310-1) 각각은 서버(302)로부터 IP(Internet Protocol) 주소, 사용자 정보, 채팅 상대방 정보를 수신한다.
사용자 정보는 채팅을 수행하는 채팅 당사자 자신에게 해당하는 정보로서, 채팅명 데이터, 캐릭터 데이터, 채팅 설정 데이터를 포함하고 있다. 채팅명 데이터는 예를 들면, 클라이언트(306)가 채팅 상대방인 클라이언트(308)와 채팅하는 경우, 클라이언트(306)의 ID(identification)와는 별개로 실제 채팅시에 클라이언트들(306, 308) 모니터 상의 채팅창에 디스플레이되는 이름에 관한 데이터이다. 예를 들어, 채팅명 데이터는 클라이언트(306)의 ID가 "i00XX"인 경우에도 채팅시 채팅창에는 "용팔이"로 디스플레이되도록 하는 데 사용되는 데이터이다.
캐릭터 데이터는 클라이언트(306)가 자신의 캐릭터를 표현하기 위해 사용하는 데이터로써, 클라이언트(306) 자신이 사용할 수 있는 캐릭터들의 목록에 관한 캐릭터 목록 데이터, 이들 캐릭터 각각에 장착될 수 있는 아이템(item)에 관한 아이템 데이터, 사용가능한 각 캐릭터의 애니메이션에 관한 애니메이션 데이터, 사용가능한 각 캐릭터의 버전(version)에 관한 캐릭터 버전 데이터를 포함하고 있다. 여기서, 아이템은 캐릭터의 머리모양, 옷, 신발 등과 같이 캐릭터를 꾸미기 위한 것이다.
애니메이션 데이터는 다수의 애니메이션 파일로 구성되어 있으며, 다수의 애니메이션 파일 각각은 헤더(header), 프레임 데이터, 그래픽 이미지 데이터로 구성되어 있다. 헤더는 각 애니메이션 파일의 고유한 ID, 캐릭터 애니메이션들 각각에 대한 프레임 갯수, 애니메이션 파일 내에 삽입된 그래픽 이미지 데이터의 갯수를 포함하고 있다. 프레임 데이터는 캐릭터 애니메이션들 각각에 대해 전용 편집기(예컨대, 그래픽 이미지 생성 프로그램)를 통해 순차적으로 생성된 프레임들만큼 존재하며, 각각의 프레임 데이터는 그래픽 이미지 데이터 색인, 좌표 데이터, 타이머(timer), 이동 상대값 데이터를 포함하고 있다. 그래픽 이미지 데이터 색인은 각각의 프레임에서 표시해야 할 그래픽 이미지 데이터의 색인에 관한 것이다. 여기서, 그래픽 이미지 데이터는 캐릭터의 외곽선 데이터를 더 포함하고 있으며,그래픽 이미지 데이터 색인과 외곽선 데이터 색인은 동일하다. 좌표 데이터는 각각의 프레임에서 디스플레이 해야할 그래픽 이미지 데이터에 대한 모니터 상에서의 좌표에 관한 데이터로, 사전설정된 모니터 기준점으로부터의 좌표를 나타낸다. 타이머는 그래픽 이미지 데이터의 디스플레이 시간을 나타내는 것으로, 캐릭터의 애니메이션에 따라 상이하게 설정될 수 있다. 이동 상대값 데이터는 캐릭터의 애니메이션이 디스플레이될 때, 애니메이션에 대응하는 프레임들 중 현재 디스플레이되는 프레임에서 다음에 디스플레이될 프레임으로의 전환시에, 모니터 상에서 현재 프레임에서의 기준점으로부터 다음 프레임의 기준점으로 이동해야 할 상대값을 나타낸다. 그래픽 이미지 데이터는 캐릭터의 애니메이션에 사용되는 프레임들 각각에 대응하는 그래픽 이미지를 모두 지칭하는 것으로, 전술한 바와 같이 이들 그래픽 이미지들은 전용 편집기에 의해 사전에 생성되어 애니메이션 파일에 삽입된다.
채팅 설정 데이터는 채팅시 사용되는 문자의 폰트, 크기, 색상 등에 관한 데이터이다. 이러한 채팅 설정 데이터는 클라이언트들(306, 308, 310) 각각이 필요에 따라 갱신할 수 있는 정보이다.
채팅 상대방 정보는 채팅 상대방 리스트(list) 데이터, 채팅 상대방 상태 데이터, 채팅 상대방 사용자 정보를 포함하고 있다. 채팅 상대방 리스트 데이터는 채팅할 상대방, 예컨대 클라이언트(306)가 채팅할 상대방으로 등록한 클라이언트들의 명단에 관한 데이터이다. 채팅 상대방 상태 데이터는 채팅 상대방 리스트에 등록되어 있는 클라이언트들 각각에 대한 현재 상태(예컨대, 서버(302)에 로그인/로그아웃 및 자리비움 등)를 나타내는 데이터이다. 채팅 상대방 사용자 정보는 전술한 사용자 정보와 동일한 데이터로 구성되어 있으며, 예를 들어 클라이언트(306)가 클라이언트(308)와 채팅하는 경우, 채팅 상대방인 클라이언트(308)의 사용자 정보를 의미한다.
도 4를 참조하면, 본 발명에 따른 캐릭터 엔진의 블럭도가 도시되어 있다. 도 4에 도시한 바와 같이, 본 발명에 따른 캐릭터 엔진들(306-2, 308-2, 308-2) 각각은 애니메이션 데이터 전처리부(402), 캐릭터 관리부(404), 메시지 분석부(406), 그래픽 출력부(408)를 포함하고 있다.
애니메이션 데이터 전처리부(402)는 채팅 엔진을 통해 서버(302)(도 3 참조)로부터 수신하는 사용자 정보 및 채팅 상대방 사용자 정보 중에서 클라이언트들(306, 308, 310) 각각의 캐릭터 및 이의 애니메이션과 연관된 캐릭터 데이터를 미리 가공, 즉 사전설정된 데이터 형식으로 재구성하여, 캐릭터 또는 캐릭터의 애니메이션 디스플레이 단계에서 처리 속도를 증대시키기 위한 기능을 수행한다. 상세하게, 애니메이션 데이터 전처리부(402)는 클라이언트들(306, 308, 310)에 대한 새로운 캐릭터 또는 현재 디스플레이되는 캐릭터의 새로운 애니메이션을 출력할 필요가 있을 때만 동작하여 수신한 캐릭터 데이터를 색인목록(index list) 형식으로 재구성한다. 이와 같이, 애니메이션 데이터 전처리부(402)가 캐릭터 데이터를 색인목록 형식으로 재구성하면, 캐릭터 또는 이의 애니메이션 디스플레이시 필요한 그래픽 이미지 각각에 대응하는 외곽선 데이터를 실시간으로 추출하여 디스플레이하지 않고, 이미 마련된 색인목록을 통해 디스플레이 해야 할 그래픽 이미지와 그 마련된 색인과 동일한 색인을 갖는 미리 생성된 외곽선 데이터를 호출하는 형식으로 디스플레이할 수 있어, 채팅시 캐릭터의 애니메이션 디스플레이에 따른 클라이언트들(306, 308, 310)의 부하를 줄이고 처리 속도를 높일 수 있는 효과가 있다. 애니메이션 데이터 전처리부(402)의 구조 및 동작에 대한 상세한 설명은 도 5 및 도 10을 참조하여 후술하기로 한다.
캐릭터 관리부(404)는 캐릭터 및 이의 애니메이션을 디스플레이할 때, 즉 클라이언트 자신의 캐릭터 및 이의 애니메이션을 디스플레이할 때와 채팅 상대방 클라이언트의 캐릭터 및 이의 애니메이션을 디스플레이할 때, 디스플레이되는 캐릭터들을 관리하는 기능을 수행한다.
상세하게, 캐릭터 관리부(404)는 후술하는 바와 같이 3가지의 기능을 갖는다. 캐릭터 관리부(404)의 첫 번째 기능은 다수의 클라이언트(306, 308, 310)를 나타내는 각각의 캐릭터를 제어하는 독립적인 모듈인 캐릭터 모듈의 생성과 소멸을 담당한다. 캐릭터 관리부(404)는 캐릭터 엔진을 제어하는 채팅 엔진으로부터 캐릭터 모듈에 대한 생성 및 소멸의 명령을 수신한다. 즉, 캐릭터 관리부(404)는 본 발명에 따른 채팅 프로세스 수행시 채팅 상대방 클라이언트 및 클라이언트 자신의 캐릭터들 및 이들의 애니메이션을 모니터 상에 디스플레이할 필요가 있을 때 또는 새로운 캐릭터를 디스플레이할 필요가 있을 때, 애니메이션 데이터 전처리부(402)에서 색인목록 형식으로 재구성된 캐릭터 데이터에 근거하여 새로운 캐릭터 모듈들을 생성하고, 채팅 프로세스 종료로 인해 채팅 상대방 클라이언트 및 클라이언트 자신의 캐릭터들을 더 이상 디스플레이할 필요가 없을 때 이들에 대응하는 캐릭터 모듈들을 소멸시킨다.
캐릭터 관리부(404)의 두 번째 기능은 시간에 따른 프레임 전환을 통해 클라이언트 자신 및/또는 채팅 상대방 클라이언트의 캐릭터들에 대한 애니메이션을 구현하는 데 필요한 그래픽 이미지 색인 및 좌표 데이터가 갱신되었는지 여부를 검사, 즉 캐릭터 모듈의 현재 상태를 검사하고, 색인목록 형식의 캐릭터 데이터로부터 캐릭터의 애니메이션을 구현하는 데 필요한 좌표 데이터와 그래픽 이미지 데이터 색인을 추출하여 통합한 다음 그래픽 출력부(408)로 전달한다. 캐릭터 관리부(404)의 세 번째 기능은 생성된 캐릭터 모듈에 애니메이션 색인을 설정하여, 대응하는 캐릭터에 대한 새로운 애니메이션을 수행하도록 한다. 여기서, 애니메이션 색인은 후술할 메시지 분석부(406)로부터 전송된다. 예를 들면, 캐릭터가 웃는 애니메이션에 대한 애니메이션 색인 및 캐릭터의 식별자가 메시지 분석부(406)로부터 전달되면, 캐릭터 관리부(404)는 수신한 애니메이션 색인을 해당하는 캐릭터 모듈에 설정함으로써 현재 디스플레이되는 캐릭터에 대한 새로운 애니메이션을 수행하도록 한다. 캐릭터 관리부(404)에 의해 생성되는 캐릭터 모듈의 동작에 대한 상세한 설명은 도 11을 참조하여 후술하기로 한다.
메시지 분석부(406)는 채팅 동작중 송수신되는 통신 메시지를 분석하는 기능을 수행한다. 메시지 분석부(406)는 다수의 클라이언트(306, 308, 310) 각각에 마련된 채팅 엔진(306-1, 308-1, 310-1)으로부터 통신 메시지가 입력되면 동작을 개시한다. 통신 메시지는 채팅 엔진(306-1, 308-1, 310-1)으로부터 전송되는 것으로, 캐릭터의 식별자 및 채팅 텍스트를 포함한다. 예를 들어, 클라이언트(306)가 채팅 텍스트를 클라이언트(308)로 전송하려는 경우, 채팅 텍스트 입력을 완료(예컨대, 엔터(enter)키를 입력) 했을때, 입력한 클라이언트를 나타내는 캐릭터의 식별자(즉, 클라이언트(306)의 식별자) 및 입력된 텍스트를 포함하는 통신 메시지가 생성된다. 이때, 생성된 통신 메시지는 클라이언트(306)의 채팅 엔진(306-1)으로 입력된다. 이러한 통신 메시지는 채팅 당사자인 클라이언트(306)와 채팅 상대방인 클라이언트(308)가 모두 사용한다.
클라이언트(306)의 채팅 엔진(306-1)은 입력된 통신 메시지 내의 채팅 텍스트를 클라이언트(306)에 대한 캐릭터에 관한 것으로 분석하여 이의 캐릭터 애니메이션에 관한 정보로서 사용한다. 클라이언트(308)의 채팅 엔진(308-1)은 통신망(304)을 통해 수신된 통신 메시지를 분석하여 클라이언트(306)의 캐릭터 애니메이션에 관한 정보로서 사용한다. 이와 같이, 클라이언트(306)의 통신 메시지 분석과 클라이언트(308)의 통신 메세지 분석이 동일한 통신 메시지에 근거하여 이루어진다. 통신 메시지는 클라이언트들(306,308)에서 동일한 애니메이션 정보, 즉 클라이언트(306)에서는 자신이 입력한 채팅 텍스트와 자신의 캐릭터에 대한 애니메이션을 위한 정보로, 클라이언트(308)에서는 클라이언트(306)의 채팅 텍스트와 캐릭터 애니메이션 정보로 사용된다.
메시지 분석부(406)는 후술하는 바와 같이 2가지 방식으로 통신 메시지를 분석한다. 첫 번째 방식은 채팅에 참가하는 클라이언트들 각각에 마련된 메시지 분석부(406)가 송수신한 통신 메시지를 분석, 즉 클라이언트들 각각에 마련된 채팅 텍스트 목록에 등록된 단어 및/또는 문장들과, 송수신한 통신 메시지의 채팅 텍스트에 포함된 단어 및/또는 문장들의 비교를 통해, 대응하는 애니메이션 색인을 추출하는 방식이다. 여기서, 채팅 텍스트 목록은 애니메이션 색인에 맞추어 이전에 클라이언트들의 사전설정된 장소에 등록 및 저장되어 있는 단어 및/또는 문장들의 집합이며, 애니메이션 색인은 후술할 애니메이션 파일 목록과 연동되어 있다. 두 번째 방식은 채팅에 참가하는 클라이언트들이 통신 메시지를 채팅 상대방 클라이언트로 송신하기 전에 이에 포함된 채팅 텍스트를 분석하여 획득한 애니메이션 색인을 송신할 통신 메시지에 직접 삽입함으로써, 통신 메시지를 송신할 클라이언트에 마련된 메시지 분석부(406)가 통신 메시지 분석 과정을 생략하고 바로 그 애니메이션 색인을 이용하며, 채팅 상대방 클라이언트에 마련된 메시지 분석부(406)가 수신한 통신 메시지에 삽입된 애니메이션 색인을 바로 추출하여 사용하는 방식이다. 즉, 메시지 분석부(406)는 통신 메시지내 채팅 텍스트를 분석하고, 분석된 채팅 텍스트 내의 단어 및/또는 문장과 이미 마련된 채팅 텍스트 목록과 비교하여 일치하는 단어 및/또는 문장이 검색되면, 이에 대응하는 애니메이션 색인 및 캐릭터의 식별자를 캐릭터 관리부(404)로 전달한다.
그래픽 출력부(408)는 캐릭터 관리부(404)로부터 그래픽 이미지 데이터 색인, 좌표 데이터, 캐릭터의 식별자(즉, 통합 데이터)를 수신한 다음, 모니터 상에 현재 디스플레이되고 있는 캐릭터들 중 캐릭터 관리부(404)로부터 수신한 식별자에 대응하는 캐릭터를 통합 데이터에 근거하여 갱신, 즉 애니메이션 상태를 갱신하고 나머지 캐릭터는 갱신하지 않는다. 예컨대, 그래픽 출력부(408)는 캐릭터 관리부(404)로부터 수신한 통합 데이터 중 그래픽 이미지 데이터 색인에 대응하는 외곽선 데이터(전술한 바와 같이, 그래픽 이미지 데이터 내에 포함됨)로, 현재 디스플레이되고 있는 캐릭터들 중 수신한 식별자에 대응하는 캐릭터에 대한 외곽선 데이터를 갱신한 다음 이를 디스플레이한다. 캐릭터 관리부(404)에서는 사전설정된 타이밍에 맞추어 캐릭터의 식별자 및 통합 데이터를 전송하기 때문에, 그래픽 출력부(408)는 데이터 변동이 있을 경우만 해당하는 캐릭터를 갱신하여 디스플레이 한다. 이렇게 하는 이유는 캐릭터를 최소한으로 갱신함으로써 애니메이션 처리 속도를 단축시키기 위한 것이다.
도 5를 참조하면, 도 4에 도시된 애니메이션 데이터 전처리부(402)의 블럭도가 도시되어 있다. 도 5에 도시한 바와 같이, 본 발명에 따른 애니메이션 데이터 전처리부(402)는 데이터 분석부(502), 애니메이션 파일목록 생성부(504), 애니메이션 파일 전처리부(506)를 포함하고 있다.
데이터 분석부(502)는 채팅 엔진을 통해 서버(302)(도 3 참조)로부터 수신한 사용자 정보 및 채팅 상대방 정보 중에서 캐릭터 데이터를 분석하여 이를 애니메이션 파일 목록 생성부(504)로 전송한다. 환언하면, 데이터 분석부(502)는 수신한 캐릭터 데이터를 분석하여 다수의 애니메이션 파일 각각의 ID를 획득한 다음 이를 애니메이션 파일 목록 생성부(504)로 전송한다. 애니메이션 파일 목록 생성부(504)는 데이터 분석부(502)로부터 수신한 다수의 애니메이션 파일 각각의 ID에 근거하여 캐릭터의 애니메이션을 디스플레이할 때 사용될 애니메이션 파일 목록을 생성하여 이를 애니메이션 파일 전처리부(506)로 전송한다. 애니메이션 파일 전처리부(506)는 애니메이션 파일 목록 생성부(504)로부터 수신한 애니메이션 파일 목록에 포함된 모든 애니메이션 파일을 전처리하여 애니메이션 자료 구조, 즉 색인목록 형식의 계층적 자료구조를 생성한다.
도 10을 참조하면, 애니메이션 파일 전처리부(506)가 애니메이션 파일 목록 생성부(504)로부터 수신한 애니메이션 파일 목록내에 포함된 모든 애니메이션 파일을 전처리하여, 캐릭터의 애니메이션을 디스플레이할 때 캐릭터 관리부(404) 및 그래픽 출력부(408)에서 사용되는 애니메이션 자료 구조를 생성하는 과정을 설명하기 위한 흐름도가 도시되어 있다.
먼저, 단계(S1002)에서 애니메이션 파일 전처리부(506)는 애니메이션 파일 목록 생성부(504)로부터 애니메이션 파일 목록을 수신한 다음, 단계(S1004)로 진행한다.
단계(S1004)에서, 애니메이션 파일 전처리부(506)는 수신한 애니메이션 파일 목록내에 포함된 다수의 애니메이션 파일 각각으로부터 프레임 데이터를 추출하여 사전설정된 장소에 저장한다. 추출한 프레임 데이터를 저장하는 사전설정된 장소는 다수의 클라이언트(306, 308, 310) 각각에 마련될 수 있다. 캐릭터에 대한 하나의 애니메이션은 다수의 프레임으로 구성되므로, 애니메이션 파일 전처리부(506)는 프레임 갯수 만큼의 프레임 데이터를 추출한다. 이러한 프레임 데이터 각각은 색인(index)을 갖고 있다. 상세하게, 프레임 데이터 색인은 1, 2, 3, …과 같이 순차적으로 1씩 증가하는 것으로 애니메이션 파일 생성시 사용되는 전용 편집기에서 작성된 순서 그대로 설정된다.
단계(S1006)에서, 애니메이션 파일 전처리부(506)는 수신한 애니메이션 파일 목록내에 포함된 다수의 애니메이션 파일 각각으로부터 그래픽 이미지 데이터를 추출하여 사전절성된 장소에 저장한다. 전술한 바와 같이, 그래픽 이미지 데이터는 캐릭터의 외곽선 데이터를 더 포함하고 있다. 이러한 그래픽 이미지 데이터 각각은 프레임 데이터와 마찬가지로 색인(즉, 그래픽 이미지 데이터 색인)을 갖고 있다. 애니메이션 파일 전처리부(506)는 프레임 데이터 색인에 근거하여 다수의 애니메이션 파일 각각으로부터 추출한 프레임 데이터의 그래픽 이미지 데이터 색인에 대응하는 그래픽 이미지 데이터를 추출한 다음 이를 그래픽 이미지 데이터 색인과 연동시켜 사전설정된 장소에 저장한다.
단계(S1008)에서, 애니메이션 파일 전처리부(506)는 다수의 애니메이션 파일들 각각의 ID에 대응하는 아이템 데이터, 즉 애니메이션 파일 내에 포함된 그래픽 이미지 데이터와 합성될 아이템 데이터가 존재하는지 여부를 판단한다. 단계(S1008)에서의 판단 결과가 부정, 즉 그래픽 이미지 데이터와 합성될 아이템 데이터가 존재하지 않는 경우, 애니메이션 파일 전처리부(506)는 단계(S1016)로 진행한다. 이와 달리, 단계(S1008)에서의 판단 결과가 긍정, 즉 그래픽 이미지 데이터와 합성될 아이템 데이터가 존재하는 경우, 애니메이션 파일 전처리부(506)는 단계(S1010)로 진행한다.
단계(S1010)에서, 애니메이션 파일 전처리부(506)는 그래픽 이미지 데이터와 해당하는 아이템 데이터를 합성한다. 예를 들면, 도 14에 도시한 바와 같이, (a)와 같은 그래픽 이미지 데이터와 (b)와 같은 아이템 데이터를 합성하여, (c)와 같은 합성 그래픽 이미지 데이터를 생성한다. 이렇게 생성된 합성 그래픽 이미지 데이터는 원래의 그래픽 이미지 데이터(예컨대, 도 4의 (a))와 교체된다. 이때, 원래의 그래픽 이미지 데이터는 파기되며, 합성 그래픽 이미지 데이터가 파기된 그래픽 이미지 데이터 색인을 갖게된다. 예를 들면, 디스플레이될 캐릭터에 대응하는 그래픽 이미지 데이터 색인이 0번인 경우, 생성된 합성 그래픽 이미지 데이터가 색인 0번으로 설정되고, 이에 대응하는 프레임 데이터에 포함된 좌표 데이터를 갱신한다.
단계(S1012)에서, 애니메이션 파일 전처리부(506)는 단계(S1010)에서 생성된 합성 그래픽 이미지 데이터에 추가로 합성될 아이템 데이터가 존재하는 여부를 판단한다. 단계(S1012)에서의 판단 결과가 긍정, 즉 도 14에 도시된 바와 같이, 단계(S1010)에서 생성된 합성 그래픽 이미지 데이터 (c)와 합성될 아이템 데이터 (d)가 존재하는 경우, 애니메이션 파일 전처리부(506)는 단계(S1010)로 리턴(return)하여 전술한 동작을 수행함으로써, 도 14의 (e)와 같은 합성 그래픽 이미지 데이터를 생성한다. 이와 달리, 단계(S1012)에서의 판단 결과가 부정, 즉 더 이상 합성 그래픽 이미지 데이터와 추가로 합성될 아이템 데이터가 존재하지 않을 경우, 애니메이션 파일 전처리부(506)는 단계(S1014)로 진행한다.
단계(S1014)에서, 애니메이션 파일 전처리부(506)는 합성 그래픽 이미지 데이터로부터 외곽선 데이터를 추출한다. 예를 들면, 도 12에 도시한 바와 같이 합성 그래픽 이미지 데이터(도 12의 (a) 참조)에서 바탕 화면으로 채워질 영역(검은색으로 도시됨)과 캐릭터를 나타내는 그래픽 이미지 영역(흰색으로 도시됨)을 분리한다(도 12의 (b) 참조).
한편, 애니메이션 파일 전처리부(506)는 단계(S1016)에서 다수의 애니메이션파일에 포함된 그래픽 이미지 데이터 각각으로부터 외곽선 데이터를 추출한다. 즉, 애니메이션 파일 전처리부(506)는 단계(S1008)에서 판단한 결과와 같이, 더 이상 합성될 아이템 데이터가 존재하지 않기 때문에, 다수의 애니메이션 파일에 포함된 원래의 그래픽 이미지 데이터 각각으로부터 외곽선 데이터를 추출한다.
단계(S1018)에서, 애니메이션 파일 전처리부(506)는 단계(S1014) 또는 단계(S1016)에서 추출된 외곽선 데이터를 사전설정된 장소에 저장한다. 추출된 외곽선 데이터를 저장하기 위한 사전설정된 장소는 전술한 바와 마찬가지로 클라이언트들(306, 308, 310) 각각에 마련될 수 있다.
단계(S1020)에서, 애니메이션 파일 전처리부(506)는 현재 처리된 그래픽 이미지 데이터가 마지막 그래픽 이미지 데이터인지를 판단, 즉 다수의 애니메이션 파일 내에 포함된 그래픽 이미지 데이터들 모두에 대하여 전처리를 완료하였는지 여부를 판단한다. 단계(S1020)에서의 판단 결과가 부정, 즉 전처리해야 할 그래픽 이미지 데이터가 아직 남아있는 경우, 애니메이션 파일 전처리부(506)는 단계(S1008)로 리턴하여 전술한 바와 같은 동작을 수행한다. 이와 달리, 단계(S1020)에서의 판단 결과가 긍정, 즉 다수의 애니메이션 파일 내에 포함된 그래픽 이미지 데이터들 모두에 대해 전처리를 완료한 경우, 애니메이션 파일 전처리부(506)는 단계(S1022)로 진행한다.
단계(S1022)에서, 애니메이션 파일 전처리부(506)는 추출한 프레임 데이터, 그래픽 이미지 데이터, 그래픽 이미지 데이터 색인을 대응하는 애니메이션 파일과 연동시킨 애니메이션 자료 구조, 즉 색인목록 형식의 계층적 자료 구조를 구성한다음 이를 사전설정된 장소에 저장한다. 환언하면, 애니메이션 파일 전처리부(506)는 각각의 애니메이션 파일에 포함되어 있으며, 캐릭터의 애니메이션을 디스플레이하기 위한 모든 데이터를 색인목록 형식으로 정리한 자료 구조를 구성한 다음 이를 사전설정된 장소에 저장한다.
도 11을 참조하면, 도 4에 도시한 캐릭터 관리부(404)에 의해 제어되는 캐릭터 모듈의 동작을 설명하기 위한 흐름도가 도시되어 있다.
먼저, 단계(S1102)에서 캐릭터 모듈은 캐릭터 관리부(404)의 제어하에 생성되어, 캐릭터 관리부(404)로부터 캐릭터 식별자 및 애니메이션 색인을 수신한다.
단계(S1104)에서, 캐릭터 모듈은 수신한 애니메이션 색인에 대응하는 애니메이션 파일을 사전설정된 저장 장소로부터 검색하고, 검색된 애니메이션 파일 내의 프레임 데이터 색인 중 최초 색인을 갖는 프레임 데이터 색인을 추출한다. 예를 들어, 캐릭터가 웃는 애니메이션에 관한 애니메이션 파일이 5 개의 프레임으로 구성되어 있다면, 프레임 데이터 0, 프레임 데이터 1, 프레임 데이터 2, 프레임 데이터 3, 프레임 데이터 4로 이어져 하나의 웃는 애니메이션이 완성되므로, 이들 프레임 데이터 중 최초의 프레임 데이터 색인, 즉 프레임 데이터 색인 0을 추출한다.
단계(S1106)에서, 캐릭터 모듈은 추출된 최초 프레임 데이터 색인, 즉 프레임 데이터 색인 0과 연관된 그래픽 이미지 데이터 색인을 검색한다. 전술한 바와 같이, 합성 그래픽 이미지가 생성된 경우 원래의 그래픽 이미지 데이터 색인은 그대로 사용되므로, 그래픽 이미지 데이터 색인만을 검색하여도 캐릭터의 애니메이션 구현시에 생성된 합성 그래픽 이미지 데이터가 사용될 수 있다.
단계(S1108)에서, 캐릭터 모듈은 검색된 그래픽 이미지 데이터 색인에 대응하는 외곽선 데이터를 검색한다. 여기서, 외곽선 데이터는 그래픽 이미지 데이터 색인에 일대일로 대응되어 있다.
단계(S1110)에서, 캐릭터 모듈은 추출한 프레임 데이터 색인에 대응하는 프레임 데이터로부터 수신한 캐릭터 식별자에 대응하는 캐릭터에 대한 좌표 데이터 및 검색한 그래픽 이미지 데이터 색인을 캐릭터 관리부(404)로 전송한다. 이때, 캐릭터 모듈은 캐릭터 식별자를 캐릭터 관리부(404)로 또한 전송한다. 그러면, 캐릭터 관리부(404)는 캐릭터 모듈로부터 수신한 좌표 데이터, 그래픽 이미지 데이터 색인, 캐릭터 식별자를 그래픽 출력부(408)로 전송한다. 그래픽 출력부(408)는 전술한 바와 같이, 수신한 좌표 데이터 및 그래픽 이미지 데이터 색인에 해당하는 그래픽 이미지 데이터를 애니메이션 파일로부터 호출하고, 호출한 그래픽 이미지 데이터를 사용하여 캐릭터 식별자에 대응하는 캐릭터의 애니메이션을 디스플레이한다. 이때, 그래픽 출력부(408)는 외곽선 데이터가 그래픽 이미지 데이터 색인과 동일한 색인을 갖고 있으므로, 외곽선 데이터를 애니메이션 파일로부터 호출하여 캐릭터의 애니메이션 구현시 사용한다.
단계(S1112)에서, 캐릭터 모듈은 프레임 데이터의 타이머에 설정된 시간만큼 현재 디스플레이되는 애니메이션의 대기상태를 유지한다.
단계(S1114)에서, 캐릭터 모듈은 대기상태 종료 후, 현재 디스플레이되는 캐릭터의 애니메이션을 완성하기 위해 프레임 데이터 색인을 하나 증가시킨다.
단계(S1116)에서, 캐릭터 모듈은 증가된 프레임 데이터 색인이 존재하는지여부를 판단한다. 단계(S1116)에서의 판단 결과가 긍정, 즉 증가된 프레임 데이터 색인이 존재하는 경우, 캐릭터 모듈은 단계(S1106)로 리턴하여 전술한 동작을 수행한다. 이와 달리, 단계(S1116)에서의 판단 결과가 부정, 즉 증가된 프레임 색인이 존재하지 않는 경우, 캐릭터 모듈은 본 발명에 따른 프로세스를 종료하며, 캐릭터 관리부(404)의 제어하에 소멸된다.
도 6을 참조하면, 본 발명에 따라 다수의 클라이언트(306, 308, 310)간에 이루어지는 채팅 프로세스를 설명하기 위한 흐름도가 도시되어 있다.
먼저, 단계(S602)에서 서버(302) 및 다수의 클라이언트(306, 308, 310)는 본 발명에 따른 채팅 프로세스를 수행하기 위한 초기화를 수행한다.
단계(S604)에서, 다수의 클라이언트(306, 308, 310)는 초기화 단계(S602) 수행 후, 대기 상태를 유지하고 있다. 전술한 단계(S602) 및 단계(S604)에 대한 상세한 설명은 도 7을 참조하여 후술하기로 한다.
단계(S606)에서, 다수의 클라이언트(306, 308, 310) 중 어느 하나의 클라이언트, 예를 들면 클라이언트(306)가 서버(302)로 클라이언트(308)와의 채팅을 요청한다. 본 명세서에서는 설명의 편의를 위해 하나의 클라이언트가 서버(302)로 채팅을 요청하는 것으로 설명하였지만, 이는 예시적인 것으로써 본 발명은 이에 한정되지 않으며, 당업자라면 동시에 다수의 클라이언트(306, 308, 310)가 서버(302)로 채팅 요청을 할 수 있음을 충분히 이해할 수 있을 것이다.
단계(S608)에서, 서버(302)는 클라이언트(306)로부터의 채팅 요청에 응답하여, 클라이언트(306)와 클라이언트(308)가 채팅을 수행하는데 요구되는 정보를 양쪽 클라이언트들(306, 308)로 전송한다. 이들 클라이언트(306, 308)간의 채팅은 예를 들어, 피어-투-피어(peer-to-peer) 방식으로 이루어질 수 있으며, 서버(302)가 클라이언트들(306, 308)로 전송하는 정보는 전술한 바와 같이 이들 클라이언트들(306, 308) 각각에 대한 사용자 정보 및 채팅 상대방 정보이다. 상세하게, 서버(302)는 클라이언트(308)에 대한 IP 주소와, 캐릭터 데이터 및 애니메이션 데이터를 포함하는 채팅 상대방 정보와, 사용자 정보를 클라이언트(306)로 전송하고, 클라이언트(306)에 대한 IP 주소와, 캐릭터 데이터 및 애니메이션 데이터를 포함하는 채팅 상대방 정보와, 사용자 정보를 클라이언트(308)로 전송한다.
단계(S610)에서, 다수의 클라이언트(306, 308) 각각은 서버(302)로부터 수신한 IP 주소와, 사용자 정보, 채팅 상대방 정보에 근거하여 상호간 채팅을 수행한다. 이러한 채팅 프로세스는 후술하는 바와 같이, 본 발명에 따라 동작하는 캐릭터에 기반한 것이며, 이 캐릭터는 채팅시 애니메이션을 수행한다. 전술한 단계(S606) 내지 단계(S610)에 대한 상세한 설명은 도 8을 참조하여 후술하기로 한다.
단계(S612)에서, 클라이언트들(306, 308)은 통신망(304)를 통한 상호 연결을 해지함으로써 채팅 프로세스를 종료한다. 이때, 클라이언트들(306, 308) 각각은 변경된 사용자 정보를 서버(302)로 전송하여, 서버(302)가 클라이언트들(306, 308)에 대한 최신 정보를 획득할 수 있도록 한다.
도 7을 참조하면, 도 6의 단계(S602) 및 단계(S604)를 상세하게 설명하기 위한 흐름도가 도시되어 있다. 여기서, 도 6에서와 마찬가지로 클라이언트들(306,308) 각각이 본 발명에 따른 채팅 프로세스를 수행하고 있는 것으로 가정한다.
먼저, 단계(S702)에서, 클라이언트(306)는 본 발명에 따른 채팅 프로세스를 수행하기 위한 프로그램을 구동시킨다. 즉, 클라이언트(306)는 자체에 마련된 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 구동시킨다.
단계(S704)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(306)의 ID 및 패스워드(password)를 사용하여 서버(302)에 로그인(log-in)한다.
단계(S706)에서, 서버(302)는 사전설정된 장소에 마련된 사용자 데이터베이스(도시하지 않음)를 검색하여 클라이언트(306)의 채팅 엔진(306-1)으로부터 수신한 ID 및 패스워드가 사용자 데이터베이스에 존재하는지 여부를 판단한다. 단계(S706)에서의 판단 결과가 긍정, 즉 클라이언트(306)의 ID 및 패스워드가 사용자 데이터베이스 상에 존재하는 경우, 서버(302)는 단계(S708)로 진행한다. 이와 달리, 단계(S706)에서의 판단 결과가 부정, 즉 클라이언트(306)의 ID 및 패스워드가 사용자 데이터베이스 상에 존재하지 않는 경우, 서버(302)는 본 발명에 따른 모든 프로세스를 종료한다.
단계(S708)에서, 서버(302)는 클라이언트(306)에게 인증 확인 메시지를 전송한다. 그러면, 클라이언트(306)의 채팅 엔진(306-1)은 인증 확인 메시지를 수신하여 이를 캐릭터 엔진(306-2)으로 전송한다. 예를 들어, 전술한 피어-투-피어 방식으로 클라이언트들(306, 308)간의 채팅을 제어하는 경우, 서버(302)는 클라이언트(306)에 대한 IP 주소를 자체에 마련된 사전설정된 장소에 저장한다.
단계(S710)에서, 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)은 서버(302)로부터 수신한 인증 확인 메시지에 응답하여, 자신들의 현재 버전(version) 정보를 서버(302)로 전송한다.
단계(S712)에서, 서버(302)는 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)으로부터 수신한 현재 버전 정보와 자체의 사전설정된 장소에 저장되어 있는 클라이언트(306)의 채팅 엔진 및 캐릭터 엔진에 대한 최신 버전 정보를 비교한다. 단계(S712)의 비교 결과, 수신한 현재 버전 정보가 최신 버전 정보와 일치하지 않는 경우, 즉 클라이언트(306)가 최신 버전의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 구비하고 있지 않은 경우, 서버(302)는 단계(S714)로 진행한다. 이와 달리, 수신한 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)의 현재 버전 정보가 최신 버전 정보와 일치하는 경우, 즉 클라이언트(306)가 최신 버전의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 갖고 있는 경우, 서버(302)는 단계(S718)로 진행한다.
단계(S714)에서, 서버(302)는 최신 버전의 채팅 엔진 및 캐릭터 엔진을 클라이언트(306)로 전송한다. 그러면, 단계(S716)에서, 클라이언트(306)는 서버(302)로부터 수신한 최신 버전의 채팅 엔진 및 캐릭터 엔진으로 자신의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 갱신한다. 이때, 서버(302)는 클라이언트(306)가 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 최신 버전으로 갱신하였는지 여부를 확인하기 위해 전술한 단계(S712)를 한번 더 수행할 수도 있다.
단계(S718)에서, 서버(302)는 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)이 최신 버전임을 확인하는 버전 확인 메시지를 클라이언트(306)로전송한다.
단계(S720)에서, 클라이언트(306)는 서버(302)로부터 전송된 버전 확인 메시지에 응답하여, 자신의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)에 대한 버전 확인을 완료한 다음 단계(S722)로 진행한다. 전술한 바와 같은 단계(S710) 내지 단계(S720)는 클라이언트(306)의 채팅 상대방인 클라이언트(308)에 대해서도 동일하게 수행된다. 이와 같이, 채팅 엔진 및 캐릭터 엔진에 대한 버전 정보를 확인하고 갱신하는 것은 채팅 프로세스 수행시 동일한 캐릭터 및 이에 대한 애니메이션 정보를 가지고 클라이언트들이 채팅을 수행할 수 있도록 하기 위한 것이다.
단계(S722)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(308)와의 채팅에 필요한 사용자 정보 및 채팅 상대방 정보를 서버(302)에게 요청한다.
단계(S724)에서, 서버(302)는 클라이언트(306)로부터의 사용자 정보 및 채팅 상대방 정보 요청에 응답하여, 해당하는 사용자 정보 및 채팅 상대방 정보를 사용자 데이터베이스에서 검색하고 이를 클라이언트(306)로 전송한다.
단계(S726)에서, 클라이언트(306)의 채팅 엔진(306-1)은 서버(302)로부터 수신한 사용자 정보 및 채팅 상대방 정보를 캐릭터 엔진(306-2)으로 전송하고, 수신한 정보 중에서 자신이 필요한 정보만을 선별하여 수신하고 사전설정된 장소에 저장한다.
단계(S728)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 서버(302)로부터 수신한 사용자 정보 및 채팅 상대방 정보를 사전설정된 저장 장소에 저장한 다음 단계(S730)로 진행한다.
단계(S730)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 채팅 엔진(306-1)을 통해 수신한 사용자 정보에 근거하여 클라이언트(306)의 캐릭터를 디스플레이하기 위한 초기화를 수행한다. 여기서, 초기화를 수행한다는 것은 도 4의 애니메이션 데이터 전처리부(402)가 도 10을 참조하여 설명한 과정을 수행한다는 것을 의미한다.
단계(S732)에서, 클라리언트(306)의 캐릭터 엔진(306-2)은 클라이언트(306)를 나타내는 캐릭터를 클라이언트(306)의 모니터 상에 디스플레이한다.
단계(S734)에서, 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)은 클라이언트(308)와의 채팅을 위한 대기 상태를 유지한다.
도 8을 참조하면, 도 6의 단계(S606) 내지 단계(S610)를 상세하게 설명하기 위한 흐름도가 도시되어 있다.
단계(S802)에서, 예컨대 피어-투-피어 방식으로 채팅을 수행하는 경우, 클라이언트(306)의 채팅 엔진(306-1)은 채팅 상대방 정보의 채팅 상대방 리스트에 포함된 클라이언트(308)의 ID를 서버(302)로 전송함으로써 채팅을 요청한다. 그러면, 서버(302)는 클라이언트(306)로부터 수신한 클라이언트(308)의 ID가 사용자 데이터베이스에 존재하는지 여부를 판단한다. 클라이언트(308)의 ID가 사용자 데이터베이스에 존재하는 경우, 서버(302)는 단계(S804)로 진행하고, 존재하지 않는 경우에는 본 발명에 따른 모든 프로세스를 종료한다.
단계(S804)에서, 서버(302)는 클라이언트(308)의 ID가 사용자 데이터베이스에 존재하는 경우, 클라이언트들(306, 308)의 사용자 정보를 갱신하기 위해, 클라이언트(306)로부터 수신한 클라이언트(308)의 ID를 사용하여 클라이언트들(306,308)에게 이들 각각이 저장하고 있는 현재 캐릭터 버전 데이터를 요청한다.
단계(S806)에서, 클라이언트(306)는 서버(302)로부터의 현재 캐릭터 버전 데이터 요청에 응답하여, 저장하고 있는 채팅 상대방인 클라이언트(308)에 대한 현재의 캐릭터 버전 데이터를 서버(302)로 전송한다.
단계(S808)에서, 클라이언트(308)는 클라이언트(306)와 마찬가지로 서버(302)로부터의 현재 캐릭터 버전 데이터 요청에 응답하여, 저장하고 있는 채팅 상대방인 클라이언트(306)에 대한 현재의 캐릭터 버전 데이터를 서버(302)로 전송한다.
단계(S810)에서, 서버(302)는 클라이언트들(306, 308) 각각으로부터 수신한 채팅 상대방에 대한 현재의 캐릭터 버전 데이터를 최신의 캐릭터 버전 데이터와 비교하여, 필요한 경우 클라이언트들(306, 308)이 저장하고 있는 채팅 상대방의 캐릭터에 관련된 데이터를 갱신하도록 함으로써, 클라이언트들(306, 308)이 서로 채팅 상대방에 대한 최신의 캐릭터에 관련된 데이터를 구비할 수 있도록 한다.
단계(S812)에서, 서버(302)는 클라이언트들(306, 308) 각각에 채팅 상대방에 대한 IP 주소를 전송한다.
단계(S814)에서, 클라이언트(306)는 서버(302)로부터 수신한 채팅 상대방인 클라이언트(308)의 IP 주소에 근거하여 피어-투-피어 방식으로 클라이언트(308)에 접속한다.
단계(S816)에서, 클라이언트(306)와 클라이언트(308)는 각각의 채팅 엔진 및 캐릭터 엔진을 사용하여 피어-투-피어 방식으로 상호간에 채팅을 수행한다. 클라이언트들(306, 308) 사이에서 수행되는 단계(S816)는 도 9를 참조하여 상세하게 설명하기로 한다.
도 9를 참조하면, 도 8의 단계(S816)를 상세히 설명하기 위한 흐름도가 도시되어 있다.
단계(S902)에서, 캐릭터 엔진(306-2)은 클라이언트(306)의 캐릭터(이하, 캐릭터 A로 지칭함)를 초기화하여 클라이언트(306)의 모니터 상에 디스플레이한다. 또한, 캐릭터 엔진(306-2)은 서버(302)로부터 수신한 클라이언트(308)에 대한 캐릭터 데이터에 근거하여 클라이언트(308)의 캐릭터(이하, 캐릭터 B로 지칭함)를 초기화하고 클라이언트(306)의 모니터 상에 디스플레이한다. 즉, 캐릭터 엔진(306-2)은 사용자 정보와 채팅 상대방 정보에 근거하여 재구성한 애니메이션 자료 구조를 사용하여 캐릭터를 디스플레이한다. 이러한 과정은 채팅 상대방인 클라이언트(308)에서도 동일하게 수행된다.
캐릭터 엔진(306-2)은 단계(S902)에서 캐릭터 데이터에 포함된 이동 상대값 데이터를 사용한다. 예를 들면, 캐릭터 엔진(306-2)은 초기에는 상수로 각 클라이언트마다 기준점 좌표 데이터를 갖고 있으나, 캐릭터의 기준좌표(예컨대, 캐릭터의 하단부 좌표)를 변경할 필요가 있는 애니메이션, 즉 한가지 애니메이션을 수행한 후 다시 원래의 좌표로 돌아올 필요성이 있는 애니메이션(예컨대, 점프(jump) 및 한바퀴 돌기 등)에 대해, 그 기준좌표를 이동시키기 위해 이동 상대값 데이터(예컨데, X 좌표 -30, +40)에 따라 캐릭터의 기준좌표를 이동시킨다.
단계(S904)에서, 클라이언트(308)는 채팅 메시지를 클라이언트(306)로 전송한다. 즉, 클라이언트(306)의 캐릭터 엔진(306-2)이 캐릭터 A와 캐릭터 B를 제어하여 대기 상태의 애니메이션을 출력하도록 하는 상태에서, 클라이언트(306)의 채팅 엔진(306-1)이 클라이언트(308)로부터 채팅 메시지를 수신한다.
단계(S906)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(308)로부터 수신한 채팅 메시지의 채팅 텍스트 내에 포함된 단어를 검색하여 애니메이션 자료 구조로부터 이에 대응하는 애니메이션 색인을 검색한 다음, 수신한 채팅 텍스트와 검색된 애니메이션 색인을 캐릭터 엔진(306-2)으로 전송한다.
단계(S908)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 채팅 엔진(306-1)으로부터 전송된 클라이언트(308)의 채팅 텍스트에 근거하여, 캐릭터 B가 사전설정된 형태, 예컨대 말풍선 형태로 채팅 텍스트 내에 포함된 단어 또는 문장을 출력하도록 제어한다.
단계(S910)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 채팅 엔진(306-1)으로부터 수신한 애니메이션 색인에 대응하는 그래픽 이미지 데이터를 검색하여, 모니터 상에 출력되는 채팅 텍스트에 대응하는 애니메이션을 수행하도록 캐릭터 B를 제어한다.
단계(S912)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(306)에서 클라이언트(308)로 전송될 채팅 메시지가 발생하는 경우, 채팅 메시지의 채팅 텍스트에 포함된 단어를 검색하여 애니메이션 색인을 생성하고, 생성된 애니메이션색인과 채팅 텍스트를 클라이언트(308)로 전송한다. 그러면, 클라이언트(308)는 수신한 채팅 텍스트를 모니터 상에서 캐릭터 A가 사전설정된 형태로 디스플레이하고 이에 대응하는 애니메이션을 수행하도록 제어한다. 따라서, 클라이언트들(306, 308)은 동일한 캐릭터 A 및 캐릭터 B의 채팅 텍스트 및 애니메이션을 각각의 모니터 상에 디스플레이할 수 있다. 본 명세서에서는 클라이언트들(306, 308)간에만 채팅을 수행하는 것으로 설명하였으나, 당업자라면 다수의 클라이언트들이 전술한 과정을 통해 채팅을 수행할 수 있음을 충분히 이해할 수 있을 것이다.
도 13을 참조하면, 본 발명의 채팅 프로세스에 따라 채팅을 수행하는 경우, 모니터 상에 디스플레이되는 캐릭터들의 예를 나타내고 있다. 도 13에 도시한 바와 같이, 본 발명에 따라 채팅을 수행하는 경우, 모니터 상에 디스플레이되는 캐릭터들은 우측 상단에 마련된 채팅창이 아닌 바탕화면 상에 존재하며, 채팅 텍스트를 말풍선 형태로 디스플레이하고, 채팅 텍스트 내에 포함된 특정 단어와 연관된 애니메이션을 수행한다. 따라서, 채팅 당사자들은 실제 오프라인(off-line)에서 이루어지는 것과 매우 유사한 환경에서 채팅을 수행할 수 있다.
전술한 바와 같이, 본 발명에 따르면 사용자를 나타내는 캐릭터의 애니메이션을 통해 채팅 상황에 적합한 모습과 감정을 보다 자유롭게 나타낼 수 있어, 실제 오프라인에서 이루어지는 상황과 동일한 효과를 얻을 수 있다. 또한, 본 발명에 따르면 실시간으로 캐릭터의 애니메이션을 구현할 수 있는 효과가 있다. 더욱이, 채팅시 채팅 상황에 적합한 캐릭터의 애니메이션을 통해 채팅 참가자들의 감정변화를 보다 시각적으로 구체화할 수 있는 효과가 있다.
본 발명이 바람직한 실시예를 통해 설명되고 예시되었으나, 당업자라면 첨부한 청구 범위의 사상 및 범주를 벗어나지 않고 여러 가지 변형 및 변경이 이루어질 수 있음을 알 수 있을 것이다.

Claims (16)

  1. 그래픽 이미지의 애니메이션(animation)을 이용한 채팅 시스템에 있어서,
    채팅 프로세스를 제어하기 위한 서버와,
    상기 서버와 통신망을 통해 연결되어 있으며, 상기 채팅 프로세스에 따라 상호간에 채팅을 수행하기 위한 다수의 클라이언트
    를 포함하되,
    상기 서버는,
    상기 다수의 클라이언트 각각에 대한 정보를 저장하기 위한 제 1 데이터베이스와,
    상기 다수의 클라이언트를 나타내는 그래픽 이미지들을 저장하기 위한 제 2 데이터베이스와,
    상기 다수의 클라이언트 각각으로부터의 채팅 요청에 응답하여, 상기 정보 및 상기 그래픽 이미지들을 상기 다수의 클라이언트로 전송하고 상기 채팅 프로세스를 제어하기 위한 채팅 프로세스 제어부
    를 포함하며,
    상기 다수의 클라이언트 각각은,
    상기 통신망을 통해 상기 서버 및 상기 다수의 클라이언트와 상호 통신하기 위한 통신 수단과,
    상기 서버에 의해 제어되는 상기 채팅 프로세스에 따라 상기 다수의 클라이언트와 상호 채팅을 수행하기 위한 채팅 엔진과, 상기 채팅 수행중 송수신되는 통신 메시지 ―상기 통신 메시지는 단어 및/또는 문장으로 이루어진 채팅 텍스트를 포함함 ―에 따라 상기 서버로부터 전송된 상기 그래픽 이미지들 및 상기 그래픽 이미지들의 애니메이션을 제어하기 위한 그래픽 이미지 엔진이 구현된 컴퓨터 판독 가능한 매체
    를 포함하는 채팅 시스템.
  2. 제 1 항에 있어서,
    상기 채팅 엔진은,
    상기 서버로부터 전송되며 상기 채팅을 수행하는데 사용되는 상기 정보를 수신하기 위한 제 1 채팅 프로그래밍 코드와,
    상기 통신 메시지 및 상기 서버로부터 전송된 상기 그래픽 이미지들을 상기 그래픽 이미지 엔진으로 전송하기 위한 제 2 채팅 프로그래밍 코드와,
    상기 그래픽 이미지 엔진을 제어하기 위한 제 3 채팅 프로그래밍 코드
    를 포함하는 채팅 시스템.
  3. 제 2 항에 있어서,
    상기 그래픽 이미지 엔진은,
    상기 정보 중에서 상기 그래픽 이미지들 및 상기 그래픽 이미지들의 애니메이션과 연관된 그래픽 애니메이션 데이터를 전처리하기 위한 제 1 이미지 프로그래밍 코드와,
    상기 그래픽 이미지들 및 상기 그래픽 이미지들의 애니메이션을 관리하기 위한 제 2 이미지 프로그래밍 코드와,
    상기 통신 메시지를 분석하여 상기 채팅 텍스트를 추출하기 위한 제 3 이미지 프로그래밍 코드와,
    상기 그래픽 이미지들 및 상기 그래픽 이미지들의 애니메이션을 디스플레이하기 위한 제 4 이미지 프로그래밍 코드
    를 포함하는 채팅 시스템.
  4. 제 3 항에 있어서,
    제 1 이미지 프로그래밍 코드는,
    상기 그래픽 애니메이션 데이터를 분석하여 상기 그래픽 이미지들의 애니메이션에 관한 애니메이션 데이터를 획득하기 위한 제 1 코드 세그멘트(segment)와,
    상기 애니메이션 데이터에 근거하여 애니메이션 파일 목록을 생성하기 위한 제 2 코드 세그멘트와,
    상기 애니메이션 파일 목록에 근거하여 상기 그래픽 이미지들의 애니메이션 구현시 사용되는 애니메이션 자료 구조를 생성하기 위한 제 3 코드 세그멘트
    를 포함하는 채팅 시스템.
  5. 제 4 항에 있어서,
    상기 그래픽 이미지들은 상기 다수의 클라이언트를 나타내는 캐릭터(character) 또는 아바타(avator)인 채팅 시스템.
  6. 제 4 항에 있어서,
    상기 애니메이션 자료 구조는 색인목록 형식으로 구성되는 채팅 시스템.
  7. 제 4 항에 있어서,
    상기 그래픽 이미지 엔진은 상기 추출된 채팅 텍스트에 대응하는 상기 그래픽 이미지들의 애니메이션을 상기 애니메이션 자료 구조를 참조하여 구현하며, 상기 추출된 채팅 텍스트를 함께 디스플레이하는 채팅 시스템.
  8. 서버와 다수의 클라이언트들이 통신망을 통해 상호 연결되어 있는 채팅 시스템 상에서 그래픽 이미지의 애니메이션을 이용한 채팅 방법에 있어서,
    a) 상기 서버와 상기 다수의 클라이언트들이 초기화를 수행하는 단계와,
    b) 상기 서버가 상기 다수의 클라이언트들 각각으로 채팅시 사용되는 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보를 전송하는 단계와,
    c) 상기 서버로부터 수신한 상기 채팅 요청 클라이언트 정보 및 상기 채팅 상대방 클라이언트 정보에 근거하여, 상기 다수의 클라이언트들이 상호 채팅을 수행하는 단계
    를 포함하되,
    상기 c) 단계에서, 상기 다수의 클라이언트들 각각이 구비하고 있는 디스플레이 상에는 상기 다수의 클라이언트들을 나타내는 그래픽 이미지들이 디스플레이되며, 상기 채팅 중 송수신되는 통신 메시지 ―상기 통신 메시지는 단어 및/또는 문장으로 이루어진 채팅 텍스트를 포함함 ―에 따라 상기 그래픽 이미지들의 애니메이션이 디스플레이되는 채팅 방법.
  9. 제 8 항에 있어서,
    상기 채팅 요청 클라이언트 정보는 채팅 관련 데이터, 그래픽 이미지 데이터, 애니메이션 데이터를 포함하며, 상기 채팅 상대방 클라이언트 정보는 채팅 상대방 리스트, 채팅 상대방 상태 데이터, 채팅 상대방에 대한 채팅 관련 데이터, 채팅 상대방 그래픽 이미지 데이터, 채팅 상대방 애니메이션 데이터를 포함하되,
    상기 데이터 각각은 고유한 색인(index)을 갖고 있는 채팅 방법.
  10. 제 9 항에 있어서,
    상기 a) 단계는,
    a1) 상기 다수의 클라이언트들이 상호 채팅을 위해 상기 서버에 로그인(log-in)하는 단계와,
    a2) 상기 다수의 클라이언트들 각각이 사전설정된 장소에 저장하고 있으며, 상기 채팅용 프로그램의 현재 버전(version) 정보를 상기 서버로 전송하는 단계와,
    a3) 상기 서버는 자체의 사전설정된 장소에 저장되어 있는 상기 프로그램에대한 최신 버전 정보와 상기 다수의 클라이언트들로부터 수신한 상기 현재 버전 정보를 비교하는 단계와,
    a4) 상기 서버는 상기 비교 결과에 근거하여 상기 다수의 클라이언트들 중 상기 최신 버전 정보와 상기 현재 버전 정보가 일치하지 않는 클라이언트로, 상기 사전설정된 장소에 저장되어 있는 최신 버전의 프로그램을 전송함으로써 상기 채팅용 상기 프로그램을 상기 최신 버전의 프로그램으로 갱신하는 단계
    를 포함하는 채팅 방법.
  11. 제 10 항에 있어서,
    상기 b) 단계는,
    상기 서버가 상기 사전설정된 장소에 저장되어 있는 상기 다수의 클라이언트들 각각에 대한 IP(Internet Protocol) 주소를 채팅 상대방 클라이언트들에게 전송하는 단계
    를 포함하는 채팅 방법.
  12. 제 11 항에 있어서,
    상기 c) 단계는,
    c1) 상기 다수의 클라이언트들 각각이 상기 그래픽 이미지 데이터에 근거하여 자신을 나타내는 상기 그래픽 이미지를 상기 디스플레이 상에 디스플레이하는 단계와,
    c2) 상기 다수의 클라이언트들 각각이 상기 채팅 상대방 그래픽 이미지 데이터에 근거하여 상기 채팅 상대방 클라이언트들을 나타내는 상대방 그래픽 이미지들을 상기 디스플레이 상에 디스플레이하는 단계와,
    c3) 상기 다수의 클라이언트들 각각이 상기 IP 주소에 근거하여 상기 갱신된 채팅용 프로그램을 통해 상기 채팅 상대방 클라이언트와 상기 통신 메시지를 송수신함으로써 상기 채팅을 수행하는 단계
    를 포함하는 채팅 방법.
  13. 제 12 항에 있어서,
    상기 c) 단계는,
    c4) 상기 서버가 상기 그래픽 이미지 데이터 및 상기 채팅 상대방 그래픽 이미지 데이터의 갱신 여부를 판단하는 단계와,
    c5) 상기 서버는 상기 그래픽 이미지 데이터 및 상기 채팅 상대방 그래픽 이미지 데이터가 갱신된 경우, 이에 관한 데이터를 상기 다수의 클라이언트들 중 해당하는 클라이언트들로 전송하는 단계
    를 더 포함하되,
    상기 그래픽 이미지 데이터 및 상기 채팅 상대방 그래픽 이미지 데이터의 갱신은 상기 다수의 클라이언트들 중 해당하는 클라이언트들에 의해 수행되는 채팅 방법.
  14. 제 12 항에 있어서,
    상기 c3) 단계는,
    c31) 상기 다수의 클라이언트들 각각이 상기 채팅 요청 클라이언트 정보 및 상기 채팅 상대방 클라이언트 정보를 재구성하여 애니메이션 자료 구조를 생성하는 단계와,
    c32) 상기 다수의 클라이언트들 각각이 상기 통신 메시지 내에 포함된 상기 채팅 텍스트를 추출하는 단계와,
    c33) 상기 다수의 클라이언트들 각각이 상기 추출된 채팅 텍스트에 포함된 단어 및/또는 문장에 대응하는 상기 애니메이션 자료 구조를 검색하는 단계와,
    c34) 상기 다수의 클라이언트들 각각이 상기 검색된 애니메이션 자료 구조를 참조하여, 상기 그래픽 이미지들, 상기 상대방 그래픽 이미지들의 애니메이션, 상기 추출된 채팅 텍스트를 디스플레이하는 단계
    를 포함하는 채팅 방법.
  15. 제 14 항에 있어서,
    상기 애니메이션 자료 구조는 상기 채팅 요청 클라이언트 정보 중 상기 그래픽 이미지 데이터 및 상기 애니메이션 데이터와, 상기 채팅 상대방 클라이언트 정보 중 상기 채팅 상대방 그래픽 이미지 데이터 및 상기 채팅 상대방 애니메이션 데이터에 근거하여, 상기 애니메이션을 구성하는 각각의 프레임(frame)과 연관된 데이터를 색인목록 형식으로 재구성한 자료 구조인 채팅 방법.
  16. 제 15 항에 있어서,
    상기 c31) 단계는,
    상기 그래픽 이미지 데이터 및 상기 채팅 상대방 그래픽 이미지 데이터 각각으로부터 상기 그래픽 이미지 및 상기 채팅 상대방 그래픽 이미지의 외곽선 데이터를 추출하는 단계
    를 더 포함하되,
    상기 외곽선 데이터는 해당하는 그래픽 이미지 데이터 또는 채팅 상대방 그래픽 이미지 데이터의 색인과 동일한 색인을 가지며 상기 애니메이션 자료 구조에 포함되어 상기 애니메이션 구현시에 사용되는 채팅 방법.
KR1020030045130A 2003-07-04 2003-07-04 그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그방법 KR100559287B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030045130A KR100559287B1 (ko) 2003-07-04 2003-07-04 그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030045130A KR100559287B1 (ko) 2003-07-04 2003-07-04 그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그방법

Publications (2)

Publication Number Publication Date
KR20050003697A true KR20050003697A (ko) 2005-01-12
KR100559287B1 KR100559287B1 (ko) 2006-03-10

Family

ID=37218759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030045130A KR100559287B1 (ko) 2003-07-04 2003-07-04 그래픽 이미지의 애니메이션을 이용한 채팅 시스템 및 그방법

Country Status (1)

Country Link
KR (1) KR100559287B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1986432A2 (en) * 2007-04-26 2008-10-29 LG Electronics Inc. Mobile communication device capable of storing video chatting log and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1986432A2 (en) * 2007-04-26 2008-10-29 LG Electronics Inc. Mobile communication device capable of storing video chatting log and operating method thereof

Also Published As

Publication number Publication date
KR100559287B1 (ko) 2006-03-10

Similar Documents

Publication Publication Date Title
US7039676B1 (en) Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
Greenhalgh Large scale collaborative virtual environments
KR100841590B1 (ko) 채팅 시스템, 통신장치, 그 제어방법 및 정보기억매체
US7788323B2 (en) Method and apparatus for sharing information in a virtual environment
US20040128350A1 (en) Methods and systems for real-time virtual conferencing
US20100153095A1 (en) Virtual Pet Chatting System, Method, and Virtual Pet Question and Answer Server
KR20090086805A (ko) 진화하는 사이버 로봇
CN108874114B (zh) 实现虚拟对象情绪表达的方法、装置、计算机设备及存储介质
US20090276492A1 (en) Summarization of immersive collaboration environment
US20090222742A1 (en) Context sensitive collaboration environment
CN113508369A (zh) 交流支持系统、交流支持方法、交流支持程序以及图像控制程序
EP0950956A1 (en) Computer network
US20190065498A1 (en) System and method for rich conversation in artificial intelligence
CN1460232A (zh) 至可视语音系统的文字和加入面部情绪的方法
CN103368816A (zh) 基于虚拟人物形象的即时通讯方法及系统
CN113014471B (zh) 会话处理方法,装置、终端和存储介质
US20210182500A1 (en) Instant messaging application configuration based on virtual world activities
CN107135387A (zh) 基于vr技术的在线客户接待方法及其系统
CN112929253B (zh) 一种虚拟形象交互方法和装置
CN112152901A (zh) 一种虚拟形象控制方法、装置及电子设备
US7970716B2 (en) Method for expressing emotion and intention in remote interaction and real emotion system thereof
JP2001160021A (ja) 仮想空間による通信システム
WO2009077901A1 (en) Method and system for enabling conversation
JP4854424B2 (ja) チャットシステム、通信装置、その制御方法及びプログラム
Falchuk et al. Visual modeling for agent-based applications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130115

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151124

Year of fee payment: 10

R401 Registration of restoration
LAPS Lapse due to unpaid annual fee