KR100559287B1 - Chat system and method using animation of graphic images - Google Patents
Chat system and method using animation of graphic images Download PDFInfo
- Publication number
- KR100559287B1 KR100559287B1 KR1020030045130A KR20030045130A KR100559287B1 KR 100559287 B1 KR100559287 B1 KR 100559287B1 KR 1020030045130 A KR1020030045130 A KR 1020030045130A KR 20030045130 A KR20030045130 A KR 20030045130A KR 100559287 B1 KR100559287 B1 KR 100559287B1
- Authority
- KR
- South Korea
- Prior art keywords
- chat
- animation
- clients
- data
- character
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 7
- 238000004886 process control Methods 0.000 claims description 2
- 239000002131 composite material Substances 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
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) 서버로부터 수신한 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보에 근거하여, 다수의 클라이언트들이 상호 채팅을 수행하는 단계를 포함한다.The present invention relates to a system and method capable of performing a chat using animation of a graphical image. The chat system includes a server for controlling the chat process, and a plurality of clients connected to the server through a communication network and for chatting with each other according to the chat process. This chat method comprises the steps of: a) performing initialization by the server and a plurality of clients, b) sending a chat request client information and chat counterpart client information used when the server chats with each of the plurality of clients, and c) And, based on the chat request client information and the chat counterpart client information received from the server, a plurality of clients perform a mutual chat.
캐릭터, 캐릭터 엔진, 채팅 엔진, 애니메이션 파일 전처리, 채팅Character, Character Engine, Chat Engine, Animation File Preprocessing, Chat
Description
도 1의 (a) 및 (b)는 종래기술에 따른 캐릭터 또는 아바타의 일예를 도시하는 도면.1 (a) and (b) are diagrams showing an example of a character or avatar according to the prior art.
도 2의 (a) 및 (b)는 종래기술에 따른 채팅 프로그램의 리스트 창(window) 및 채팅창의 일예를 도시하는 도면.2 (a) and 2 (b) show examples of a list window and a chat window of a chat program according to the prior art;
도 3은 본 발명에 따른 채팅 시스템의 개략적인 블럭도.3 is a schematic block diagram of a chat system according to the present invention;
도 4는 본 발명에 따른 캐릭터 엔진의 블럭도.4 is a block diagram of a character engine in accordance with the present invention.
도 5는 도 4에 도시된 캐릭터 엔진내 애니메이션 데이터 전처리부의 블럭도.5 is a block diagram of an animation data preprocessor of the character engine shown in FIG. 4; FIG.
도 6은 본 발명에 따른 채팅 프로세스를 설명하기 위한 흐름도.6 is a flow chart for explaining the chat process according to the present invention.
도 7은 도 6에 도시한 단계(S602) 내지 단계(S604)를 상세하게 설명하기 위한 흐름도.FIG. 7 is a flowchart for explaining in detail the steps S602 to S604 shown in FIG.
도 8은 도 6에 도시한 단계(S606) 내지 단계(S610)를 상세하게 설명하기 위한 흐름도.FIG. 8 is a flowchart for explaining in detail the steps S606 to S610 shown in FIG.
도 9는 도 8에 도시한 단계(S816)를 상세하게 설명하기 위한 흐름도.9 is a flowchart for explaining the details of the step S816 shown in FIG.
도 10은 도 4에 도시된 애니메이션 데이터 전처리부내 애니메이션 파일 전처리부가 캐릭터 엔진에서 사용되는 애니메이션 자료 구조를 생성하는 과정을 설명하 기 위한 흐름도.FIG. 10 is a flowchart illustrating a process of generating an animation data structure used in a character engine by an animation file preprocessor shown in FIG. 4.
도 11은 도 4에 도시된 캐릭터 엔진내 캐릭터 관리부에 의해 제어되는 캐릭터 모듈의 동작을 설명하기 위한 흐름도.FIG. 11 is a flowchart for explaining the operation of the character module controlled by the character manager in the character engine shown in FIG. 4; FIG.
도 12는 본 발명에 따라 캐릭터의 외곽선 데이터를 추출하는 일예를 나타낸 도면.12 illustrates an example of extracting outline data of a character according to the present invention.
도 13은 본 발명에 따른 캐릭터 애니메이션의 일예를 나타내는 도면.13 shows an example of a character animation according to the present invention.
도 14는 본 발명에 따라 생성되는 합성 그래픽 이미지 데이터의 일예를 나타내는 도면.14 illustrates an example of composite graphical image data generated in accordance with the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
302 : 서버302: server
304 : 통신망304: communication network
306, 308, 310 : 클라이언트306, 308, 310: Client
306-1, 308-1, 310-1 : 채팅 엔진306-1, 308-1, 310-1: Chat Engine
306-2, 308-2, 310-2 : 캐릭터 엔진306-2, 308-2, 310-2: Character Engine
402 : 에니메이션 데이터 전처리부402: animation data preprocessing unit
404 : 캐릭터 관리부404: character management unit
406 : 메시지 분석부406: message analysis unit
408 : 그래픽 출력부408: graphic output unit
502 : 데이터 분석부502: data analysis unit
504 : 애니메이션 파일 목록 생성부504: animation file list generation unit
506 : 애니메이션 파일 전처리부506: animation file preprocessor
본 발명은 통신 시스템을 이용한 채팅(chat) 시스템 및 방법에 관한 것으로, 보다 상세하게는 그래픽 이미지의 애니메이션을 이용하여 채팅을 수행할 수 있는 시스템 및 방법에 관한 것이다.The present invention relates to a chat system and method using a communication system, and more particularly to a system and method that can perform a chat using the animation of the graphic image.
최근, 가상 공간 상에서 캐릭터(character) 또는 아바타(avator)를 이용하여 채팅하려는 시도가 있다. 통상적인 캐릭터 또는 아바타는 그 디스플레이 방식에 있어서, 채팅시 사용되는 컴퓨팅 디바이스(computing device)와 연결된 모니터(monitor) 상의 제한된 틀(예컨대, 사각형 형태의 창(window))에서 채팅 프로그램의 제어에 따라 그 제한된 틀의 공간 안에서만 디스플레이 되었다.Recently, there has been an attempt to chat using a character or an avatar in a virtual space. A typical character or avatar may be displayed according to the control of a chat program in a limited frame (eg, a rectangular window) on a monitor connected to a computing device used for chatting. Displayed only within a limited frame of space.
도 1의 (a) 및 (b)에 도시한 바와 같이, 종래기술에 따른 캐릭터 또는 아바타(102, 104)는 채팅시 사용자 자신을 가상 공간 상에 나타내는 사진과 같은 형태로 나타내기 때문에, 채팅 상대방과의 채팅시 사용자를 대신하여 채팅하는 역할은 주어지지 않는다. 또한, 캐릭터 또는 아바타(102, 104)는 독립적인 동작, 즉 애니메이션(animation)을 수행할 수 없으며, 단지 채팅 프로그램에 의해 사전설정된 얼굴의 표정 변화만이 가능하다는 단점이 있다.As shown in (a) and (b) of FIG. 1, the character or
또한, 도 2의 (a) 및 (b)에 도시한 바와 같이, 종래기술에 따른 채팅 프로그램은 채팅시 리스트 창 및 채팅창을 모니터 상에 디스플레이한다. 이때, 사용자를 나타내는 캐릭터 또는 아바타가 이들 창 내에 위치될 수 있다. 그러나, 이러한 창 이외의 영역, 예컨대 컴퓨터 모니터 상에서 이들 창을 제외한 바탕 화면 영역에 캐릭터 또는 아바타가 존재할 수 없을뿐만 아니라, 캐릭터 또는 아바타가 채팅시 여전히 애니메이션을 수행하지 못한다는 단점이 있다.Also, as shown in Figs. 2A and 2B, the conventional chat program displays a list window and a chat window on a monitor when chatting. At this time, a character or avatar representing the user may be located in these windows. However, there is a disadvantage that a character or avatar may not exist in an area other than such a window, for example, a desktop area except these windows on a computer monitor, and the character or avatar still does not perform an animation when chatting.
따라서, 본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것으로, 가상 공간 상에서 채팅을 하고 있는 사용자들을 나타내는 그래픽 이미지의 애니메이션을 통해 실제 공간에서와 유사하게 채팅 상대방과 채팅할 수 있는 시스템 및 방법을 제공하는 것을 목적으로 한다.Accordingly, the present invention is to solve the above-mentioned problems of the prior art, and to provide a system and method for chatting with a chat counterpart similar to the real space through the animation of a graphic image representing users chatting in a virtual space. It aims to provide.
본 발명의 특징에 따르면, 그래픽 이미지의 애니메이션(animation)을 이용한 채팅 시스템이 제공된다. 이 채팅 시스템은 채팅 프로세스를 제어하기 위한 서버와, 서버와 통신망을 통해 연결되어 있으며 채팅 프로세스에 따라 상호간에 채팅을 수행하기 위한 다수의 클라이언트를 포함한다. 이 서버는 다수의 클라이언트 각각에 대한 정보를 저장하기 위한 제 1 데이터베이스와, 다수의 클라이언트를 나타내는 그래픽 이미지들을 저장하기 위한 제 2 데이터베이스와, 다수의 클라이언트 각각으로부터의 채팅 요청에 응답하여 채팅 프로세스를 제어하기 위한 채팅 프로세스 제어부를 포함한다. 다수의 클라이언트 각각은, 통신망을 통해 서버 및 다수의 클라이언트와 상호 통신하기 위한 통신 수단과, 서버의 제어하에 채팅 프로세스에 따라 다수의 클라이언트와 상호 채팅을 수행하기 위한 채팅 엔진과, 채팅 수행중 송수신되는 통신 메시지 ―통신 메시지는 단어 및/또는 문장으로 이루어진 채팅 텍스 트를 포함함 ―에 따라 서버로부터 전송된 그래픽 이미지들 및 그래픽 이미지들의 애니메이션을 제어하기 위한 그래픽 이미지 엔진이 구현된 컴퓨터 판독 가능한 매체를 포함한다.According to a feature of the invention, there is provided a chat system using animation of a graphical image. The chat system includes a server for controlling the chat process, and a plurality of clients connected to the server through a communication network and for chatting with each other according to the chat process. The server controls a chat process in response to a chat request from each of the plurality of clients, a first database for storing information about each of the plurality of clients, a second database for storing graphical images representing the plurality of clients, and It includes a chat process control unit for. Each of the plurality of clients includes a communication means for communicating with the server and the plurality of clients through a communication network, a chat engine for performing a mutual chat with the plurality of clients according to the chat process under the control of the server, and a transmission and reception during the chat. Communication message, the communication message comprising chat text consisting of words and / or sentences; and a computer readable medium in which a graphic image engine is implemented for controlling the animation of graphic images and graphic images transmitted from a server. do.
본 발명의 또다른 특징에 따르면,서버와 다수의 클라이언트들이 통신망을 통해 상호 연결되어 있는 채팅 시스템 상에서 그래픽 이미지의 애니메이션을 이용한 채팅 방법이 제공된다. 이 방법은 a) 서버와 다수의 클라이언트들이 초기화를 수행하는 단계와, b) 서버가 다수의 클라이언트들 각각으로 채팅시 사용되는 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보를 전송하는 단계와, c) 서버로부터 수신한 채팅 요청 클라이언트 정보 및 채팅 상대방 클라이언트 정보에 근거하여, 다수의 클라이언트들이 상호 채팅을 수행하는 단계를 포함한다. 여기서, c) 단계에서는 다수의 클라이언트들 각각이 구비하고 있는 디스플레이 상에는 다수의 클라이언트들을 나타내는 그래픽 이미지들이 디스플레이되며, 채팅 중 송수신되는 통신 메시지 ―통신 메시지는 단어 및/또는 문장으로 이루어진 채팅 텍스트를 포함함 ―에 따라 그래픽 이미지들의 애니메이션이 디스플레이된다.According to another aspect of the present invention, a chat method using animation of a graphic image on a chat system in which a server and a plurality of clients are interconnected through a communication network is provided. The method comprises the steps of: a) performing initialization by the server and the plurality of clients, b) sending the chat request client information and chat counterpart client information used when the server chats to each of the plurality of clients, and c) the server. And, based on the chat request client information and the chat counterpart client information received from the plurality of clients, performing a mutual chat. Here, in step c), graphic images representing a plurality of clients are displayed on a display provided by each of the plurality of clients, and a communication message transmitted and received during a chat—the communication message includes chat text composed of words and / or sentences. Animation of the graphical images is displayed.
이하, 도 3 내지 도 14를 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to FIGS. 3 to 14.
먼저, 도 3을 참조하면 본 발명에 따른 그래픽 이미지를 이용한 채팅 시스템의 개략적인 블럭도가 도시되어 있다. 도 3에 도시한 바와 같이, 본 발명에 따른 채팅 시스템(300)은 서버(302), 다수의 클라이언트(306, 308, 310), 서버(302)와 다수의 클라이언트(306, 308, 310)를 상호 연결하기 위한 통신망(304)을 포함하고 있다. 여기서, 통신망(304)은 통상적인 유선 및 무선 통신망을 포함하는 것으로 이해되고 해석되어야 한다. 또한, 본 명세서에서는 설명의 편의를 위해 채팅을 실제로 수행하는 사용자들을 다수의 클라이언트들(306, 308, 310)로 지칭하고 있음을 주지해야 한다.First, referring to FIG. 3, there is shown a schematic block diagram of a chat system using a graphical image according to the present invention. As shown in FIG. 3, the
서버(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) 주소, 사용자 정보, 채팅 상대방 정보를 수신한다.The
사용자 정보는 채팅을 수행하는 채팅 당사자 자신에게 해당하는 정보로서, 채팅명 데이터, 캐릭터 데이터, 채팅 설정 데이터를 포함하고 있다. 채팅명 데이터는 예를 들면, 클라이언트(306)가 채팅 상대방인 클라이언트(308)와 채팅하는 경우, 클라이언트(306)의 ID(identification)와는 별개로 실제 채팅시에 클라이언트 들(306, 308) 모니터 상의 채팅창에 디스플레이되는 이름에 관한 데이터이다. 예를 들어, 채팅명 데이터는 클라이언트(306)의 ID가 "i00XX"인 경우에도 채팅시 채팅창에는 "용팔이"로 디스플레이되도록 하는 데 사용되는 데이터이다.The user information is information corresponding to the chat party itself who performs the chat and includes chat name data, character data, and chat setting data. The chat name data is, for example, on the monitors of the
캐릭터 데이터는 클라이언트(306)가 자신의 캐릭터를 표현하기 위해 사용하는 데이터로써, 클라이언트(306) 자신이 사용할 수 있는 캐릭터들의 목록에 관한 캐릭터 목록 데이터, 이들 캐릭터 각각에 장착될 수 있는 아이템(item)에 관한 아이템 데이터, 사용가능한 각 캐릭터의 애니메이션에 관한 애니메이션 데이터, 사용가능한 각 캐릭터의 버전(version)에 관한 캐릭터 버전 데이터를 포함하고 있다. 여기서, 아이템은 캐릭터의 머리모양, 옷, 신발 등과 같이 캐릭터를 꾸미기 위한 것이다.Character data is data that the
애니메이션 데이터는 다수의 애니메이션 파일로 구성되어 있으며, 다수의 애니메이션 파일 각각은 헤더(header), 프레임 데이터, 그래픽 이미지 데이터로 구성되어 있다. 헤더는 각 애니메이션 파일의 고유한 ID, 캐릭터 애니메이션들 각각에 대한 프레임 갯수, 애니메이션 파일 내에 삽입된 그래픽 이미지 데이터의 갯수를 포함하고 있다. 프레임 데이터는 캐릭터 애니메이션들 각각에 대해 전용 편집기(예컨대, 그래픽 이미지 생성 프로그램)를 통해 순차적으로 생성된 프레임들만큼 존재하며, 각각의 프레임 데이터는 그래픽 이미지 데이터 색인, 좌표 데이터, 타이머(timer), 이동 상대값 데이터를 포함하고 있다. 그래픽 이미지 데이터 색인은 각각의 프레임에서 표시해야 할 그래픽 이미지 데이터의 색인에 관한 것이다. 여기서, 그래픽 이미지 데이터는 캐릭터의 외곽선 데이터를 더 포함하고 있으며, 그래픽 이미지 데이터 색인과 외곽선 데이터 색인은 동일하다. 좌표 데이터는 각각의 프레임에서 디스플레이 해야할 그래픽 이미지 데이터에 대한 모니터 상에서의 좌표에 관한 데이터로, 사전설정된 모니터 기준점으로부터의 좌표를 나타낸다. 타이머는 그래픽 이미지 데이터의 디스플레이 시간을 나타내는 것으로, 캐릭터의 애니메이션에 따라 상이하게 설정될 수 있다. 이동 상대값 데이터는 캐릭터의 애니메이션이 디스플레이될 때, 애니메이션에 대응하는 프레임들 중 현재 디스플레이되는 프레임에서 다음에 디스플레이될 프레임으로의 전환시에, 모니터 상에서 현재 프레임에서의 기준점으로부터 다음 프레임의 기준점으로 이동해야 할 상대값을 나타낸다. 그래픽 이미지 데이터는 캐릭터의 애니메이션에 사용되는 프레임들 각각에 대응하는 그래픽 이미지를 모두 지칭하는 것으로, 전술한 바와 같이 이들 그래픽 이미지들은 전용 편집기에 의해 사전에 생성되어 애니메이션 파일에 삽입된다.The animation data is composed of a plurality of animation files, and each of the plurality of animation files is composed of a header, frame data, and graphic image data. The header contains a unique ID of each animation file, the number of frames for each character animation, and the number of graphical image data inserted in the animation file. Frame data exists for each of the character animations by frames created sequentially through a dedicated editor (e.g., a graphical image generator), each frame data having a graphical image data index, coordinate data, timer, and movement. Contains relative value data. The graphical image data index relates to the index of the graphical image data to be displayed in each frame. Here, the graphic image data further includes outline data of the character, and the graphic image data index and the outline data index are the same. Coordinate data is data about coordinates on the monitor for graphic image data to be displayed in each frame and represents coordinates from a preset monitor reference point. The timer indicates the display time of the graphic image data and may be set differently according to the animation of the character. The moving relative value data moves from the reference point in the current frame to the reference point of the next frame on the monitor when the character's animation is displayed, when switching from the currently displayed frame to the next displayed frame among the frames corresponding to the animation. Indicates a relative value to be done. The graphic image data refers to all graphic images corresponding to each of the frames used for the animation of the character. As described above, these graphic images are previously generated by a dedicated editor and inserted into the animation file.
채팅 설정 데이터는 채팅시 사용되는 문자의 폰트, 크기, 색상 등에 관한 데이터이다. 이러한 채팅 설정 데이터는 클라이언트들(306, 308, 310) 각각이 필요에 따라 갱신할 수 있는 정보이다.The chat setting data is data related to the font, size, color, etc. of characters used in the chat. This chat setting data is information that each of the
채팅 상대방 정보는 채팅 상대방 리스트(list) 데이터, 채팅 상대방 상태 데이터, 채팅 상대방 사용자 정보를 포함하고 있다. 채팅 상대방 리스트 데이터는 채팅할 상대방, 예컨대 클라이언트(306)가 채팅할 상대방으로 등록한 클라이언트들의 명단에 관한 데이터이다. 채팅 상대방 상태 데이터는 채팅 상대방 리스트에 등록되어 있는 클라이언트들 각각에 대한 현재 상태(예컨대, 서버(302)에 로그인/로그아웃 및 자리비움 등)를 나타내는 데이터이다. 채팅 상대방 사용자 정보는 전술 한 사용자 정보와 동일한 데이터로 구성되어 있으며, 예를 들어 클라이언트(306)가 클라이언트(308)와 채팅하는 경우, 채팅 상대방인 클라이언트(308)의 사용자 정보를 의미한다.The chat counterpart information includes chat counterpart list data, chat counterpart status data, and chat counterpart user information. The chat partner list data is data about a list of clients to chat with, for example,
도 4를 참조하면, 본 발명에 따른 캐릭터 엔진의 블럭도가 도시되어 있다. 도 4에 도시한 바와 같이, 본 발명에 따른 캐릭터 엔진들(306-2, 308-2, 308-2) 각각은 애니메이션 데이터 전처리부(402), 캐릭터 관리부(404), 메시지 분석부(406), 그래픽 출력부(408)를 포함하고 있다.4, a block diagram of a character engine in accordance with the present invention is shown. As shown in FIG. 4, each of the character engines 306-2, 308-2, and 308-2 according to the present invention includes an
애니메이션 데이터 전처리부(402)는 채팅 엔진을 통해 서버(302)(도 3 참조)로부터 수신하는 사용자 정보 및 채팅 상대방 사용자 정보 중에서 클라이언트들(306, 308, 310) 각각의 캐릭터 및 이의 애니메이션과 연관된 캐릭터 데이터를 미리 가공, 즉 사전설정된 데이터 형식으로 재구성하여, 캐릭터 또는 캐릭터의 애니메이션 디스플레이 단계에서 처리 속도를 증대시키기 위한 기능을 수행한다. 상세하게, 애니메이션 데이터 전처리부(402)는 클라이언트들(306, 308, 310)에 대한 새로운 캐릭터 또는 현재 디스플레이되는 캐릭터의 새로운 애니메이션을 출력할 필요가 있을 때만 동작하여 수신한 캐릭터 데이터를 색인목록(index list) 형식으로 재구성한다. 이와 같이, 애니메이션 데이터 전처리부(402)가 캐릭터 데이터를 색인목록 형식으로 재구성하면, 캐릭터 또는 이의 애니메이션 디스플레이시 필요한 그래픽 이미지 각각에 대응하는 외곽선 데이터를 실시간으로 추출하여 디스플레이하지 않고, 이미 마련된 색인목록을 통해 디스플레이 해야 할 그래픽 이미지와 그 마련된 색인과 동일한 색인을 갖는 미리 생성된 외곽선 데이터를 호출 하는 형식으로 디스플레이할 수 있어, 채팅시 캐릭터의 애니메이션 디스플레이에 따른 클라이언트들(306, 308, 310)의 부하를 줄이고 처리 속도를 높일 수 있는 효과가 있다. 애니메이션 데이터 전처리부(402)의 구조 및 동작에 대한 상세한 설명은 도 5 및 도 10을 참조하여 후술하기로 한다.The
캐릭터 관리부(404)는 캐릭터 및 이의 애니메이션을 디스플레이할 때, 즉 클라이언트 자신의 캐릭터 및 이의 애니메이션을 디스플레이할 때와 채팅 상대방 클라이언트의 캐릭터 및 이의 애니메이션을 디스플레이할 때, 디스플레이되는 캐릭터들을 관리하는 기능을 수행한다.The
상세하게, 캐릭터 관리부(404)는 후술하는 바와 같이 3가지의 기능을 갖는다. 캐릭터 관리부(404)의 첫 번째 기능은 다수의 클라이언트(306, 308, 310)를 나타내는 각각의 캐릭터를 제어하는 독립적인 모듈인 캐릭터 모듈의 생성과 소멸을 담당한다. 캐릭터 관리부(404)는 캐릭터 엔진을 제어하는 채팅 엔진으로부터 캐릭터 모듈에 대한 생성 및 소멸의 명령을 수신한다. 즉, 캐릭터 관리부(404)는 본 발명에 따른 채팅 프로세스 수행시 채팅 상대방 클라이언트 및 클라이언트 자신의 캐릭터들 및 이들의 애니메이션을 모니터 상에 디스플레이할 필요가 있을 때 또는 새로운 캐릭터를 디스플레이할 필요가 있을 때, 애니메이션 데이터 전처리부(402)에서 색인목록 형식으로 재구성된 캐릭터 데이터에 근거하여 새로운 캐릭터 모듈들을 생성하고, 채팅 프로세스 종료로 인해 채팅 상대방 클라이언트 및 클라이언트 자신의 캐릭터들을 더 이상 디스플레이할 필요가 없을 때 이들에 대응하는 캐릭터 모듈들을 소멸시킨다.In detail, the
캐릭터 관리부(404)의 두 번째 기능은 시간에 따른 프레임 전환을 통해 클라이언트 자신 및/또는 채팅 상대방 클라이언트의 캐릭터들에 대한 애니메이션을 구현하는 데 필요한 그래픽 이미지 색인 및 좌표 데이터가 갱신되었는지 여부를 검사, 즉 캐릭터 모듈의 현재 상태를 검사하고, 색인목록 형식의 캐릭터 데이터로부터 캐릭터의 애니메이션을 구현하는 데 필요한 좌표 데이터와 그래픽 이미지 데이터 색인을 추출하여 통합한 다음 그래픽 출력부(408)로 전달한다. 캐릭터 관리부(404)의 세 번째 기능은 생성된 캐릭터 모듈에 애니메이션 색인을 설정하여, 대응하는 캐릭터에 대한 새로운 애니메이션을 수행하도록 한다. 여기서, 애니메이션 색인은 후술할 메시지 분석부(406)로부터 전송된다. 예를 들면, 캐릭터가 웃는 애니메이션에 대한 애니메이션 색인 및 캐릭터의 식별자가 메시지 분석부(406)로부터 전달되면, 캐릭터 관리부(404)는 수신한 애니메이션 색인을 해당하는 캐릭터 모듈에 설정함으로써 현재 디스플레이되는 캐릭터에 대한 새로운 애니메이션을 수행하도록 한다. 캐릭터 관리부(404)에 의해 생성되는 캐릭터 모듈의 동작에 대한 상세한 설명은 도 11을 참조하여 후술하기로 한다.The second function of the
메시지 분석부(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)가 모두 사용한다.The
클라이언트(306)의 채팅 엔진(306-1)은 입력된 통신 메시지 내의 채팅 텍스트를 클라이언트(306)에 대한 캐릭터에 관한 것으로 분석하여 이의 캐릭터 애니메이션에 관한 정보로서 사용한다. 클라이언트(308)의 채팅 엔진(308-1)은 통신망(304)을 통해 수신된 통신 메시지를 분석하여 클라이언트(306)의 캐릭터 애니메이션에 관한 정보로서 사용한다. 이와 같이, 클라이언트(306)의 통신 메시지 분석과 클라이언트(308)의 통신 메세지 분석이 동일한 통신 메시지에 근거하여 이루어진다. 통신 메시지는 클라이언트들(306,308)에서 동일한 애니메이션 정보, 즉 클라이언트(306)에서는 자신이 입력한 채팅 텍스트와 자신의 캐릭터에 대한 애니메이션을 위한 정보로, 클라이언트(308)에서는 클라이언트(306)의 채팅 텍스트와 캐릭터 애니메이션 정보로 사용된다.The chat engine 306-1 of the
메시지 분석부(406)는 후술하는 바와 같이 2가지 방식으로 통신 메시지를 분석한다. 첫 번째 방식은 채팅에 참가하는 클라이언트들 각각에 마련된 메시지 분석부(406)가 송수신한 통신 메시지를 분석, 즉 클라이언트들 각각에 마련된 채팅 텍스트 목록에 등록된 단어 및/또는 문장들과, 송수신한 통신 메시지의 채팅 텍스트에 포함된 단어 및/또는 문장들의 비교를 통해, 대응하는 애니메이션 색인을 추 출하는 방식이다. 여기서, 채팅 텍스트 목록은 애니메이션 색인에 맞추어 이전에 클라이언트들의 사전설정된 장소에 등록 및 저장되어 있는 단어 및/또는 문장들의 집합이며, 애니메이션 색인은 후술할 애니메이션 파일 목록과 연동되어 있다. 두 번째 방식은 채팅에 참가하는 클라이언트들이 통신 메시지를 채팅 상대방 클라이언트로 송신하기 전에 이에 포함된 채팅 텍스트를 분석하여 획득한 애니메이션 색인을 송신할 통신 메시지에 직접 삽입함으로써, 통신 메시지를 송신할 클라이언트에 마련된 메시지 분석부(406)가 통신 메시지 분석 과정을 생략하고 바로 그 애니메이션 색인을 이용하며, 채팅 상대방 클라이언트에 마련된 메시지 분석부(406)가 수신한 통신 메시지에 삽입된 애니메이션 색인을 바로 추출하여 사용하는 방식이다. 즉, 메시지 분석부(406)는 통신 메시지내 채팅 텍스트를 분석하고, 분석된 채팅 텍스트 내의 단어 및/또는 문장과 이미 마련된 채팅 텍스트 목록과 비교하여 일치하는 단어 및/또는 문장이 검색되면, 이에 대응하는 애니메이션 색인 및 캐릭터의 식별자를 캐릭터 관리부(404)로 전달한다.The
그래픽 출력부(408)는 캐릭터 관리부(404)로부터 그래픽 이미지 데이터 색인, 좌표 데이터, 캐릭터의 식별자(즉, 통합 데이터)를 수신한 다음, 모니터 상에 현재 디스플레이되고 있는 캐릭터들 중 캐릭터 관리부(404)로부터 수신한 식별자에 대응하는 캐릭터를 통합 데이터에 근거하여 갱신, 즉 애니메이션 상태를 갱신하고 나머지 캐릭터는 갱신하지 않는다. 예컨대, 그래픽 출력부(408)는 캐릭터 관리부(404)로부터 수신한 통합 데이터 중 그래픽 이미지 데이터 색인에 대응하는 외곽선 데이터(전술한 바와 같이, 그래픽 이미지 데이터 내에 포함됨)로, 현재 디 스플레이되고 있는 캐릭터들 중 수신한 식별자에 대응하는 캐릭터에 대한 외곽선 데이터를 갱신한 다음 이를 디스플레이한다. 캐릭터 관리부(404)에서는 사전설정된 타이밍에 맞추어 캐릭터의 식별자 및 통합 데이터를 전송하기 때문에, 그래픽 출력부(408)는 데이터 변동이 있을 경우만 해당하는 캐릭터를 갱신하여 디스플레이 한다. 이렇게 하는 이유는 캐릭터를 최소한으로 갱신함으로써 애니메이션 처리 속도를 단축시키기 위한 것이다.The
도 5를 참조하면, 도 4에 도시된 애니메이션 데이터 전처리부(402)의 블럭도가 도시되어 있다. 도 5에 도시한 바와 같이, 본 발명에 따른 애니메이션 데이터 전처리부(402)는 데이터 분석부(502), 애니메이션 파일목록 생성부(504), 애니메이션 파일 전처리부(506)를 포함하고 있다.Referring to FIG. 5, a block diagram of the
데이터 분석부(502)는 채팅 엔진을 통해 서버(302)(도 3 참조)로부터 수신한 사용자 정보 및 채팅 상대방 정보 중에서 캐릭터 데이터를 분석하여 이를 애니메이션 파일 목록 생성부(504)로 전송한다. 환언하면, 데이터 분석부(502)는 수신한 캐릭터 데이터를 분석하여 다수의 애니메이션 파일 각각의 ID를 획득한 다음 이를 애니메이션 파일 목록 생성부(504)로 전송한다. 애니메이션 파일 목록 생성부(504)는 데이터 분석부(502)로부터 수신한 다수의 애니메이션 파일 각각의 ID에 근거하여 캐릭터의 애니메이션을 디스플레이할 때 사용될 애니메이션 파일 목록을 생성하여 이를 애니메이션 파일 전처리부(506)로 전송한다. 애니메이션 파일 전처리부(506)는 애니메이션 파일 목록 생성부(504)로부터 수신한 애니메이션 파일 목록에 포함된 모든 애니메이션 파일을 전처리하여 애니메이션 자료 구조, 즉 색인 목록 형식의 계층적 자료구조를 생성한다.The data analyzer 502 analyzes character data among user information and chat counterpart information received from the server 302 (see FIG. 3) through the chat engine and transmits the character data to the animation
도 10을 참조하면, 애니메이션 파일 전처리부(506)가 애니메이션 파일 목록 생성부(504)로부터 수신한 애니메이션 파일 목록내에 포함된 모든 애니메이션 파일을 전처리하여, 캐릭터의 애니메이션을 디스플레이할 때 캐릭터 관리부(404) 및 그래픽 출력부(408)에서 사용되는 애니메이션 자료 구조를 생성하는 과정을 설명하기 위한 흐름도가 도시되어 있다.Referring to FIG. 10, when the
먼저, 단계(S1002)에서 애니메이션 파일 전처리부(506)는 애니메이션 파일 목록 생성부(504)로부터 애니메이션 파일 목록을 수신한 다음, 단계(S1004)로 진행한다.First, in step S1002, the
단계(S1004)에서, 애니메이션 파일 전처리부(506)는 수신한 애니메이션 파일 목록내에 포함된 다수의 애니메이션 파일 각각으로부터 프레임 데이터를 추출하여 사전설정된 장소에 저장한다. 추출한 프레임 데이터를 저장하는 사전설정된 장소는 다수의 클라이언트(306, 308, 310) 각각에 마련될 수 있다. 캐릭터에 대한 하나의 애니메이션은 다수의 프레임으로 구성되므로, 애니메이션 파일 전처리부(506)는 프레임 갯수 만큼의 프레임 데이터를 추출한다. 이러한 프레임 데이터 각각은 색인(index)을 갖고 있다. 상세하게, 프레임 데이터 색인은 1, 2, 3, …과 같이 순차적으로 1씩 증가하는 것으로 애니메이션 파일 생성시 사용되는 전용 편집기에서 작성된 순서 그대로 설정된다.In step S1004, the
단계(S1006)에서, 애니메이션 파일 전처리부(506)는 수신한 애니메이션 파일 목록내에 포함된 다수의 애니메이션 파일 각각으로부터 그래픽 이미지 데이터를 추 출하여 사전절성된 장소에 저장한다. 전술한 바와 같이, 그래픽 이미지 데이터는 캐릭터의 외곽선 데이터를 더 포함하고 있다. 이러한 그래픽 이미지 데이터 각각은 프레임 데이터와 마찬가지로 색인(즉, 그래픽 이미지 데이터 색인)을 갖고 있다. 애니메이션 파일 전처리부(506)는 프레임 데이터 색인에 근거하여 다수의 애니메이션 파일 각각으로부터 추출한 프레임 데이터의 그래픽 이미지 데이터 색인에 대응하는 그래픽 이미지 데이터를 추출한 다음 이를 그래픽 이미지 데이터 색인과 연동시켜 사전설정된 장소에 저장한다.In step S1006, the
단계(S1008)에서, 애니메이션 파일 전처리부(506)는 다수의 애니메이션 파일들 각각의 ID에 대응하는 아이템 데이터, 즉 애니메이션 파일 내에 포함된 그래픽 이미지 데이터와 합성될 아이템 데이터가 존재하는지 여부를 판단한다. 단계(S1008)에서의 판단 결과가 부정, 즉 그래픽 이미지 데이터와 합성될 아이템 데이터가 존재하지 않는 경우, 애니메이션 파일 전처리부(506)는 단계(S1016)로 진행한다. 이와 달리, 단계(S1008)에서의 판단 결과가 긍정, 즉 그래픽 이미지 데이터와 합성될 아이템 데이터가 존재하는 경우, 애니메이션 파일 전처리부(506)는 단계(S1010)로 진행한다.In step S1008, the
단계(S1010)에서, 애니메이션 파일 전처리부(506)는 그래픽 이미지 데이터와 해당하는 아이템 데이터를 합성한다. 예를 들면, 도 14에 도시한 바와 같이, (a)와 같은 그래픽 이미지 데이터와 (b)와 같은 아이템 데이터를 합성하여, (c)와 같은 합성 그래픽 이미지 데이터를 생성한다. 이렇게 생성된 합성 그래픽 이미지 데이터는 원래의 그래픽 이미지 데이터(예컨대, 도 4의 (a))와 교체된다. 이때, 원 래의 그래픽 이미지 데이터는 파기되며, 합성 그래픽 이미지 데이터가 파기된 그래픽 이미지 데이터 색인을 갖게된다. 예를 들면, 디스플레이될 캐릭터에 대응하는 그래픽 이미지 데이터 색인이 0번인 경우, 생성된 합성 그래픽 이미지 데이터가 색인 0번으로 설정되고, 이에 대응하는 프레임 데이터에 포함된 좌표 데이터를 갱신한다.In step S1010, the
단계(S1012)에서, 애니메이션 파일 전처리부(506)는 단계(S1010)에서 생성된 합성 그래픽 이미지 데이터에 추가로 합성될 아이템 데이터가 존재하는 여부를 판단한다. 단계(S1012)에서의 판단 결과가 긍정, 즉 도 14에 도시된 바와 같이, 단계(S1010)에서 생성된 합성 그래픽 이미지 데이터 (c)와 합성될 아이템 데이터 (d)가 존재하는 경우, 애니메이션 파일 전처리부(506)는 단계(S1010)로 리턴(return)하여 전술한 동작을 수행함으로써, 도 14의 (e)와 같은 합성 그래픽 이미지 데이터를 생성한다. 이와 달리, 단계(S1012)에서의 판단 결과가 부정, 즉 더 이상 합성 그래픽 이미지 데이터와 추가로 합성될 아이템 데이터가 존재하지 않을 경우, 애니메이션 파일 전처리부(506)는 단계(S1014)로 진행한다.In step S1012, the
단계(S1014)에서, 애니메이션 파일 전처리부(506)는 합성 그래픽 이미지 데이터로부터 외곽선 데이터를 추출한다. 예를 들면, 도 12에 도시한 바와 같이 합성 그래픽 이미지 데이터(도 12의 (a) 참조)에서 바탕 화면으로 채워질 영역(검은색으로 도시됨)과 캐릭터를 나타내는 그래픽 이미지 영역(흰색으로 도시됨)을 분리한다(도 12의 (b) 참조).In step S1014, the
한편, 애니메이션 파일 전처리부(506)는 단계(S1016)에서 다수의 애니메이션 파일에 포함된 그래픽 이미지 데이터 각각으로부터 외곽선 데이터를 추출한다. 즉, 애니메이션 파일 전처리부(506)는 단계(S1008)에서 판단한 결과와 같이, 더 이상 합성될 아이템 데이터가 존재하지 않기 때문에, 다수의 애니메이션 파일에 포함된 원래의 그래픽 이미지 데이터 각각으로부터 외곽선 데이터를 추출한다.Meanwhile, the
단계(S1018)에서, 애니메이션 파일 전처리부(506)는 단계(S1014) 또는 단계(S1016)에서 추출된 외곽선 데이터를 사전설정된 장소에 저장한다. 추출된 외곽선 데이터를 저장하기 위한 사전설정된 장소는 전술한 바와 마찬가지로 클라이언트들(306, 308, 310) 각각에 마련될 수 있다.In step S1018, the
단계(S1020)에서, 애니메이션 파일 전처리부(506)는 현재 처리된 그래픽 이미지 데이터가 마지막 그래픽 이미지 데이터인지를 판단, 즉 다수의 애니메이션 파일 내에 포함된 그래픽 이미지 데이터들 모두에 대하여 전처리를 완료하였는지 여부를 판단한다. 단계(S1020)에서의 판단 결과가 부정, 즉 전처리해야 할 그래픽 이미지 데이터가 아직 남아있는 경우, 애니메이션 파일 전처리부(506)는 단계(S1008)로 리턴하여 전술한 바와 같은 동작을 수행한다. 이와 달리, 단계(S1020)에서의 판단 결과가 긍정, 즉 다수의 애니메이션 파일 내에 포함된 그래픽 이미지 데이터들 모두에 대해 전처리를 완료한 경우, 애니메이션 파일 전처리부(506)는 단계(S1022)로 진행한다.In step S1020, the
단계(S1022)에서, 애니메이션 파일 전처리부(506)는 추출한 프레임 데이터, 그래픽 이미지 데이터, 그래픽 이미지 데이터 색인을 대응하는 애니메이션 파일과 연동시킨 애니메이션 자료 구조, 즉 색인목록 형식의 계층적 자료 구조를 구성한 다음 이를 사전설정된 장소에 저장한다. 환언하면, 애니메이션 파일 전처리부(506)는 각각의 애니메이션 파일에 포함되어 있으며, 캐릭터의 애니메이션을 디스플레이하기 위한 모든 데이터를 색인목록 형식으로 정리한 자료 구조를 구성한 다음 이를 사전설정된 장소에 저장한다.In step S1022, the animation
도 11을 참조하면, 도 4에 도시한 캐릭터 관리부(404)에 의해 제어되는 캐릭터 모듈의 동작을 설명하기 위한 흐름도가 도시되어 있다.Referring to Fig. 11, a flowchart for explaining the operation of the character module controlled by the
먼저, 단계(S1102)에서 캐릭터 모듈은 캐릭터 관리부(404)의 제어하에 생성되어, 캐릭터 관리부(404)로부터 캐릭터 식별자 및 애니메이션 색인을 수신한다.First, in step S1102, the character module is generated under the control of the
단계(S1104)에서, 캐릭터 모듈은 수신한 애니메이션 색인에 대응하는 애니메이션 파일을 사전설정된 저장 장소로부터 검색하고, 검색된 애니메이션 파일 내의 프레임 데이터 색인 중 최초 색인을 갖는 프레임 데이터 색인을 추출한다. 예를 들어, 캐릭터가 웃는 애니메이션에 관한 애니메이션 파일이 5 개의 프레임으로 구성되어 있다면, 프레임 데이터 0, 프레임 데이터 1, 프레임 데이터 2, 프레임 데이터 3, 프레임 데이터 4로 이어져 하나의 웃는 애니메이션이 완성되므로, 이들 프레임 데이터 중 최초의 프레임 데이터 색인, 즉 프레임 데이터 색인 0을 추출한다.In step S1104, the character module retrieves an animation file corresponding to the received animation index from a preset storage location, and extracts a frame data index having the first index among the frame data indexes in the retrieved animation file. For example, if an animation file about a smiley character is composed of five frames, one smiley animation is completed by connecting to frame
단계(S1106)에서, 캐릭터 모듈은 추출된 최초 프레임 데이터 색인, 즉 프레임 데이터 색인 0과 연관된 그래픽 이미지 데이터 색인을 검색한다. 전술한 바와 같이, 합성 그래픽 이미지가 생성된 경우 원래의 그래픽 이미지 데이터 색인은 그대로 사용되므로, 그래픽 이미지 데이터 색인만을 검색하여도 캐릭터의 애니메이션 구현시에 생성된 합성 그래픽 이미지 데이터가 사용될 수 있다.In step S1106, the character module retrieves the extracted first frame data index, that is, the graphic image data index associated with the
단계(S1108)에서, 캐릭터 모듈은 검색된 그래픽 이미지 데이터 색인에 대응하는 외곽선 데이터를 검색한다. 여기서, 외곽선 데이터는 그래픽 이미지 데이터 색인에 일대일로 대응되어 있다.In step S1108, the character module retrieves outline data corresponding to the retrieved graphic image data index. Here, the outline data corresponds one-to-one to the graphic image data index.
단계(S1110)에서, 캐릭터 모듈은 추출한 프레임 데이터 색인에 대응하는 프레임 데이터로부터 수신한 캐릭터 식별자에 대응하는 캐릭터에 대한 좌표 데이터 및 검색한 그래픽 이미지 데이터 색인을 캐릭터 관리부(404)로 전송한다. 이때, 캐릭터 모듈은 캐릭터 식별자를 캐릭터 관리부(404)로 또한 전송한다. 그러면, 캐릭터 관리부(404)는 캐릭터 모듈로부터 수신한 좌표 데이터, 그래픽 이미지 데이터 색인, 캐릭터 식별자를 그래픽 출력부(408)로 전송한다. 그래픽 출력부(408)는 전술한 바와 같이, 수신한 좌표 데이터 및 그래픽 이미지 데이터 색인에 해당하는 그래픽 이미지 데이터를 애니메이션 파일로부터 호출하고, 호출한 그래픽 이미지 데이터를 사용하여 캐릭터 식별자에 대응하는 캐릭터의 애니메이션을 디스플레이한다. 이때, 그래픽 출력부(408)는 외곽선 데이터가 그래픽 이미지 데이터 색인과 동일한 색인을 갖고 있으므로, 외곽선 데이터를 애니메이션 파일로부터 호출하여 캐릭터의 애니메이션 구현시 사용한다.In operation S1110, the character module transmits the coordinate data of the character corresponding to the character identifier received from the frame data corresponding to the extracted frame data index and the retrieved graphic image data index to the
단계(S1112)에서, 캐릭터 모듈은 프레임 데이터의 타이머에 설정된 시간만큼 현재 디스플레이되는 애니메이션의 대기상태를 유지한다.In step S1112, the character module maintains the standby state of the animation currently displayed for the time set by the timer of the frame data.
단계(S1114)에서, 캐릭터 모듈은 대기상태 종료 후, 현재 디스플레이되는 캐릭터의 애니메이션을 완성하기 위해 프레임 데이터 색인을 하나 증가시킨다.In step S1114, after the end of the waiting state, the character module increments the frame data index by one to complete the animation of the currently displayed character.
단계(S1116)에서, 캐릭터 모듈은 증가된 프레임 데이터 색인이 존재하는지 여부를 판단한다. 단계(S1116)에서의 판단 결과가 긍정, 즉 증가된 프레임 데이터 색인이 존재하는 경우, 캐릭터 모듈은 단계(S1106)로 리턴하여 전술한 동작을 수행한다. 이와 달리, 단계(S1116)에서의 판단 결과가 부정, 즉 증가된 프레임 색인이 존재하지 않는 경우, 캐릭터 모듈은 본 발명에 따른 프로세스를 종료하며, 캐릭터 관리부(404)의 제어하에 소멸된다.In step S1116, the character module determines whether there is an increased frame data index. If the determination result in step S1116 is affirmative, that is, there is an increased frame data index, the character module returns to step S1106 to perform the above-described operation. On the contrary, if the determination result in step S1116 is negative, that is, there is no increased frame index, the character module terminates the process according to the present invention and is destroyed under the control of the
도 6을 참조하면, 본 발명에 따라 다수의 클라이언트(306, 308, 310)간에 이루어지는 채팅 프로세스를 설명하기 위한 흐름도가 도시되어 있다.Referring to FIG. 6, a flow diagram for describing a chat process between
먼저, 단계(S602)에서 서버(302) 및 다수의 클라이언트(306, 308, 310)는 본 발명에 따른 채팅 프로세스를 수행하기 위한 초기화를 수행한다.First, in step S602, the
단계(S604)에서, 다수의 클라이언트(306, 308, 310)는 초기화 단계(S602) 수행 후, 대기 상태를 유지하고 있다. 전술한 단계(S602) 및 단계(S604)에 대한 상세한 설명은 도 7을 참조하여 후술하기로 한다.In step S604, the plurality of
단계(S606)에서, 다수의 클라이언트(306, 308, 310) 중 어느 하나의 클라이언트, 예를 들면 클라이언트(306)가 서버(302)로 클라이언트(308)와의 채팅을 요청한다. 본 명세서에서는 설명의 편의를 위해 하나의 클라이언트가 서버(302)로 채팅을 요청하는 것으로 설명하였지만, 이는 예시적인 것으로써 본 발명은 이에 한정되지 않으며, 당업자라면 동시에 다수의 클라이언트(306, 308, 310)가 서버(302)로 채팅 요청을 할 수 있음을 충분히 이해할 수 있을 것이다.In step S606, any one of the plurality of
단계(S608)에서, 서버(302)는 클라이언트(306)로부터의 채팅 요청에 응답하여, 클라이언트(306)와 클라이언트(308)가 채팅을 수행하는데 요구되는 정보를 양 쪽 클라이언트들(306, 308)로 전송한다. 이들 클라이언트(306, 308)간의 채팅은 예를 들어, 피어-투-피어(peer-to-peer) 방식으로 이루어질 수 있으며, 서버(302)가 클라이언트들(306, 308)로 전송하는 정보는 전술한 바와 같이 이들 클라이언트들(306, 308) 각각에 대한 사용자 정보 및 채팅 상대방 정보이다. 상세하게, 서버(302)는 클라이언트(308)에 대한 IP 주소와, 캐릭터 데이터 및 애니메이션 데이터를 포함하는 채팅 상대방 정보와, 사용자 정보를 클라이언트(306)로 전송하고, 클라이언트(306)에 대한 IP 주소와, 캐릭터 데이터 및 애니메이션 데이터를 포함하는 채팅 상대방 정보와, 사용자 정보를 클라이언트(308)로 전송한다.In step S608, the
단계(S610)에서, 다수의 클라이언트(306, 308) 각각은 서버(302)로부터 수신한 IP 주소와, 사용자 정보, 채팅 상대방 정보에 근거하여 상호간 채팅을 수행한다. 이러한 채팅 프로세스는 후술하는 바와 같이, 본 발명에 따라 동작하는 캐릭터에 기반한 것이며, 이 캐릭터는 채팅시 애니메이션을 수행한다. 전술한 단계(S606) 내지 단계(S610)에 대한 상세한 설명은 도 8을 참조하여 후술하기로 한다.In step S610, each of the plurality of
단계(S612)에서, 클라이언트들(306, 308)은 통신망(304)를 통한 상호 연결을 해지함으로써 채팅 프로세스를 종료한다. 이때, 클라이언트들(306, 308) 각각은 변경된 사용자 정보를 서버(302)로 전송하여, 서버(302)가 클라이언트들(306, 308)에 대한 최신 정보를 획득할 수 있도록 한다.In step S612, the
도 7을 참조하면, 도 6의 단계(S602) 및 단계(S604)를 상세하게 설명하기 위한 흐름도가 도시되어 있다. 여기서, 도 6에서와 마찬가지로 클라이언트들(306, 308) 각각이 본 발명에 따른 채팅 프로세스를 수행하고 있는 것으로 가정한다.Referring to FIG. 7, a flowchart for describing in detail S602 and S604 of FIG. 6 is shown. Here, as in FIG. 6, it is assumed that each of the
먼저, 단계(S702)에서, 클라이언트(306)는 본 발명에 따른 채팅 프로세스를 수행하기 위한 프로그램을 구동시킨다. 즉, 클라이언트(306)는 자체에 마련된 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 구동시킨다.First, in step S702, the
단계(S704)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(306)의 ID 및 패스워드(password)를 사용하여 서버(302)에 로그인(log-in)한다.In step S704, the chat engine 306-1 of the
단계(S706)에서, 서버(302)는 사전설정된 장소에 마련된 사용자 데이터베이스(도시하지 않음)를 검색하여 클라이언트(306)의 채팅 엔진(306-1)으로부터 수신한 ID 및 패스워드가 사용자 데이터베이스에 존재하는지 여부를 판단한다. 단계(S706)에서의 판단 결과가 긍정, 즉 클라이언트(306)의 ID 및 패스워드가 사용자 데이터베이스 상에 존재하는 경우, 서버(302)는 단계(S708)로 진행한다. 이와 달리, 단계(S706)에서의 판단 결과가 부정, 즉 클라이언트(306)의 ID 및 패스워드가 사용자 데이터베이스 상에 존재하지 않는 경우, 서버(302)는 본 발명에 따른 모든 프로세스를 종료한다.In step S706, the
단계(S708)에서, 서버(302)는 클라이언트(306)에게 인증 확인 메시지를 전송한다. 그러면, 클라이언트(306)의 채팅 엔진(306-1)은 인증 확인 메시지를 수신하여 이를 캐릭터 엔진(306-2)으로 전송한다. 예를 들어, 전술한 피어-투-피어 방식으로 클라이언트들(306, 308)간의 채팅을 제어하는 경우, 서버(302)는 클라이언트(306)에 대한 IP 주소를 자체에 마련된 사전설정된 장소에 저장한다.In step S708, the
단계(S710)에서, 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306- 2)은 서버(302)로부터 수신한 인증 확인 메시지에 응답하여, 자신들의 현재 버전(version) 정보를 서버(302)로 전송한다.In step S710, the chat engine 306-1 and the character engine 306-2 of the
단계(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)로 진행한다.In step S712, the
단계(S714)에서, 서버(302)는 최신 버전의 채팅 엔진 및 캐릭터 엔진을 클라이언트(306)로 전송한다. 그러면, 단계(S716)에서, 클라이언트(306)는 서버(302)로부터 수신한 최신 버전의 채팅 엔진 및 캐릭터 엔진으로 자신의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 갱신한다. 이때, 서버(302)는 클라이언트(306)가 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)을 최신 버전으로 갱신하였는지 여부를 확인하기 위해 전술한 단계(S712)를 한번 더 수행할 수도 있다.In step S714, the
단계(S718)에서, 서버(302)는 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)이 최신 버전임을 확인하는 버전 확인 메시지를 클라이언트(306)로 전송한다.In step S718, the
단계(S720)에서, 클라이언트(306)는 서버(302)로부터 전송된 버전 확인 메시지에 응답하여, 자신의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)에 대한 버전 확인을 완료한 다음 단계(S722)로 진행한다. 전술한 바와 같은 단계(S710) 내지 단계(S720)는 클라이언트(306)의 채팅 상대방인 클라이언트(308)에 대해서도 동일하게 수행된다. 이와 같이, 채팅 엔진 및 캐릭터 엔진에 대한 버전 정보를 확인하고 갱신하는 것은 채팅 프로세스 수행시 동일한 캐릭터 및 이에 대한 애니메이션 정보를 가지고 클라이언트들이 채팅을 수행할 수 있도록 하기 위한 것이다.In step S720, the
단계(S722)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(308)와의 채팅에 필요한 사용자 정보 및 채팅 상대방 정보를 서버(302)에게 요청한다.In step S722, the chat engine 306-1 of the
단계(S724)에서, 서버(302)는 클라이언트(306)로부터의 사용자 정보 및 채팅 상대방 정보 요청에 응답하여, 해당하는 사용자 정보 및 채팅 상대방 정보를 사용자 데이터베이스에서 검색하고 이를 클라이언트(306)로 전송한다.In step S724, the
단계(S726)에서, 클라이언트(306)의 채팅 엔진(306-1)은 서버(302)로부터 수신한 사용자 정보 및 채팅 상대방 정보를 캐릭터 엔진(306-2)으로 전송하고, 수신한 정보 중에서 자신이 필요한 정보만을 선별하여 수신하고 사전설정된 장소에 저장한다.In step S726, the chat engine 306-1 of the
단계(S728)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 서버(302)로부터 수신한 사용자 정보 및 채팅 상대방 정보를 사전설정된 저장 장소에 저장한 다음 단계(S730)로 진행한다.In step S728, the character engine 306-2 of the
단계(S730)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 채팅 엔진(306-1)을 통해 수신한 사용자 정보에 근거하여 클라이언트(306)의 캐릭터를 디스플레이하기 위한 초기화를 수행한다. 여기서, 초기화를 수행한다는 것은 도 4의 애니메이션 데이터 전처리부(402)가 도 10을 참조하여 설명한 과정을 수행한다는 것을 의미한다.In step S730, the character engine 306-2 of the
단계(S732)에서, 클라리언트(306)의 캐릭터 엔진(306-2)은 클라이언트(306)를 나타내는 캐릭터를 클라이언트(306)의 모니터 상에 디스플레이한다.In step S732, the character engine 306-2 of the
단계(S734)에서, 클라이언트(306)의 채팅 엔진(306-1) 및 캐릭터 엔진(306-2)은 클라이언트(308)와의 채팅을 위한 대기 상태를 유지한다.In step S734, the chat engine 306-1 and the character engine 306-2 of the
도 8을 참조하면, 도 6의 단계(S606) 내지 단계(S610)를 상세하게 설명하기 위한 흐름도가 도시되어 있다.Referring to FIG. 8, a flowchart for describing in detail the steps S606 to S610 of FIG. 6 is shown.
단계(S802)에서, 예컨대 피어-투-피어 방식으로 채팅을 수행하는 경우, 클라이언트(306)의 채팅 엔진(306-1)은 채팅 상대방 정보의 채팅 상대방 리스트에 포함된 클라이언트(308)의 ID를 서버(302)로 전송함으로써 채팅을 요청한다. 그러면, 서버(302)는 클라이언트(306)로부터 수신한 클라이언트(308)의 ID가 사용자 데이터베이스에 존재하는지 여부를 판단한다. 클라이언트(308)의 ID가 사용자 데이터베이스에 존재하는 경우, 서버(302)는 단계(S804)로 진행하고, 존재하지 않는 경우에는 본 발명에 따른 모든 프로세스를 종료한다.In step S802, for example, when performing a chat in a peer-to-peer manner, the chat engine 306-1 of the
단계(S804)에서, 서버(302)는 클라이언트(308)의 ID가 사용자 데이터베이스에 존재하는 경우, 클라이언트들(306, 308)의 사용자 정보를 갱신하기 위해, 클라 이언트(306)로부터 수신한 클라이언트(308)의 ID를 사용하여 클라이언트들(306,308)에게 이들 각각이 저장하고 있는 현재 캐릭터 버전 데이터를 요청한다.In step S804, the
단계(S806)에서, 클라이언트(306)는 서버(302)로부터의 현재 캐릭터 버전 데이터 요청에 응답하여, 저장하고 있는 채팅 상대방인 클라이언트(308)에 대한 현재의 캐릭터 버전 데이터를 서버(302)로 전송한다.In step S806, the
단계(S808)에서, 클라이언트(308)는 클라이언트(306)와 마찬가지로 서버(302)로부터의 현재 캐릭터 버전 데이터 요청에 응답하여, 저장하고 있는 채팅 상대방인 클라이언트(306)에 대한 현재의 캐릭터 버전 데이터를 서버(302)로 전송한다.In step S808, the
단계(S810)에서, 서버(302)는 클라이언트들(306, 308) 각각으로부터 수신한 채팅 상대방에 대한 현재의 캐릭터 버전 데이터를 최신의 캐릭터 버전 데이터와 비교하여, 필요한 경우 클라이언트들(306, 308)이 저장하고 있는 채팅 상대방의 캐릭터에 관련된 데이터를 갱신하도록 함으로써, 클라이언트들(306, 308)이 서로 채팅 상대방에 대한 최신의 캐릭터에 관련된 데이터를 구비할 수 있도록 한다.In step S810, the
단계(S812)에서, 서버(302)는 클라이언트들(306, 308) 각각에 채팅 상대방에 대한 IP 주소를 전송한다.In step S812, the
단계(S814)에서, 클라이언트(306)는 서버(302)로부터 수신한 채팅 상대방인 클라이언트(308)의 IP 주소에 근거하여 피어-투-피어 방식으로 클라이언트(308)에 접속한다.In step S814, the
단계(S816)에서, 클라이언트(306)와 클라이언트(308)는 각각의 채팅 엔진 및 캐릭터 엔진을 사용하여 피어-투-피어 방식으로 상호간에 채팅을 수행한다. 클라이언트들(306, 308) 사이에서 수행되는 단계(S816)는 도 9를 참조하여 상세하게 설명하기로 한다.In step S816, the
도 9를 참조하면, 도 8의 단계(S816)를 상세히 설명하기 위한 흐름도가 도시되어 있다.Referring to FIG. 9, a flowchart for describing step S816 of FIG. 8 in detail is shown.
단계(S902)에서, 캐릭터 엔진(306-2)은 클라이언트(306)의 캐릭터(이하, 캐릭터 A로 지칭함)를 초기화하여 클라이언트(306)의 모니터 상에 디스플레이한다. 또한, 캐릭터 엔진(306-2)은 서버(302)로부터 수신한 클라이언트(308)에 대한 캐릭터 데이터에 근거하여 클라이언트(308)의 캐릭터(이하, 캐릭터 B로 지칭함)를 초기화하고 클라이언트(306)의 모니터 상에 디스플레이한다. 즉, 캐릭터 엔진(306-2)은 사용자 정보와 채팅 상대방 정보에 근거하여 재구성한 애니메이션 자료 구조를 사용하여 캐릭터를 디스플레이한다. 이러한 과정은 채팅 상대방인 클라이언트(308)에서도 동일하게 수행된다.In step S902, the character engine 306-2 initializes the character of the client 306 (hereinafter referred to as character A) and displays it on the monitor of the
캐릭터 엔진(306-2)은 단계(S902)에서 캐릭터 데이터에 포함된 이동 상대값 데이터를 사용한다. 예를 들면, 캐릭터 엔진(306-2)은 초기에는 상수로 각 클라이언트마다 기준점 좌표 데이터를 갖고 있으나, 캐릭터의 기준좌표(예컨대, 캐릭터의 하단부 좌표)를 변경할 필요가 있는 애니메이션, 즉 한가지 애니메이션을 수행한 후 다시 원래의 좌표로 돌아올 필요성이 있는 애니메이션(예컨대, 점프(jump) 및 한바퀴 돌기 등)에 대해, 그 기준좌표를 이동시키기 위해 이동 상대값 데이터(예컨 데, X 좌표 -30, +40)에 따라 캐릭터의 기준좌표를 이동시킨다. The character engine 306-2 uses the moving relative value data contained in the character data in step S902. For example, the character engine 306-2 initially has reference point coordinate data for each client as a constant, but performs an animation, that is, one animation that needs to change the character's reference coordinate (eg, the lower coordinate of the character). For animations that need to return to their original coordinates (eg, jumps and rounds, etc.), move relative value data (e.g., X coordinates -30, +40) to move the reference coordinates. Move the character's reference coordinate accordingly.
단계(S904)에서, 클라이언트(308)는 채팅 메시지를 클라이언트(306)로 전송한다. 즉, 클라이언트(306)의 캐릭터 엔진(306-2)이 캐릭터 A와 캐릭터 B를 제어하여 대기 상태의 애니메이션을 출력하도록 하는 상태에서, 클라이언트(306)의 채팅 엔진(306-1)이 클라이언트(308)로부터 채팅 메시지를 수신한다.In step S904, the
단계(S906)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(308)로부터 수신한 채팅 메시지의 채팅 텍스트 내에 포함된 단어를 검색하여 애니메이션 자료 구조로부터 이에 대응하는 애니메이션 색인을 검색한 다음, 수신한 채팅 텍스트와 검색된 애니메이션 색인을 캐릭터 엔진(306-2)으로 전송한다.In step S906, the chat engine 306-1 of the
단계(S908)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 채팅 엔진(306-1)으로부터 전송된 클라이언트(308)의 채팅 텍스트에 근거하여, 캐릭터 B가 사전설정된 형태, 예컨대 말풍선 형태로 채팅 텍스트 내에 포함된 단어 또는 문장을 출력하도록 제어한다.In step S908, the character engine 306-2 of the
단계(S910)에서, 클라이언트(306)의 캐릭터 엔진(306-2)은 채팅 엔진(306-1)으로부터 수신한 애니메이션 색인에 대응하는 그래픽 이미지 데이터를 검색하여, 모니터 상에 출력되는 채팅 텍스트에 대응하는 애니메이션을 수행하도록 캐릭터 B를 제어한다.In step S910, the character engine 306-2 of the
단계(S912)에서, 클라이언트(306)의 채팅 엔진(306-1)은 클라이언트(306)에서 클라이언트(308)로 전송될 채팅 메시지가 발생하는 경우, 채팅 메시지의 채팅 텍스트에 포함된 단어를 검색하여 애니메이션 색인을 생성하고, 생성된 애니메이션 색인과 채팅 텍스트를 클라이언트(308)로 전송한다. 그러면, 클라이언트(308)는 수신한 채팅 텍스트를 모니터 상에서 캐릭터 A가 사전설정된 형태로 디스플레이하고 이에 대응하는 애니메이션을 수행하도록 제어한다. 따라서, 클라이언트들(306, 308)은 동일한 캐릭터 A 및 캐릭터 B의 채팅 텍스트 및 애니메이션을 각각의 모니터 상에 디스플레이할 수 있다. 본 명세서에서는 클라이언트들(306, 308)간에만 채팅을 수행하는 것으로 설명하였으나, 당업자라면 다수의 클라이언트들이 전술한 과정을 통해 채팅을 수행할 수 있음을 충분히 이해할 수 있을 것이다.In step S912, the chat engine 306-1 of the
도 13을 참조하면, 본 발명의 채팅 프로세스에 따라 채팅을 수행하는 경우, 모니터 상에 디스플레이되는 캐릭터들의 예를 나타내고 있다. 도 13에 도시한 바와 같이, 본 발명에 따라 채팅을 수행하는 경우, 모니터 상에 디스플레이되는 캐릭터들은 우측 상단에 마련된 채팅창이 아닌 바탕화면 상에 존재하며, 채팅 텍스트를 말풍선 형태로 디스플레이하고, 채팅 텍스트 내에 포함된 특정 단어와 연관된 애니메이션을 수행한다. 따라서, 채팅 당사자들은 실제 오프라인(off-line)에서 이루어지는 것과 매우 유사한 환경에서 채팅을 수행할 수 있다.Referring to FIG. 13, an example of characters displayed on a monitor when a chat is performed according to the chat process of the present invention is illustrated. As shown in FIG. 13, when performing a chat according to the present invention, the characters displayed on the monitor are present on the desktop rather than the chat window provided on the upper right side, and display the chat text in the form of speech bubbles, and the chat text. Perform an animation associated with a specific word contained within. Thus, chat parties can perform a chat in an environment very similar to what is actually done off-line.
전술한 바와 같이, 본 발명에 따르면 사용자를 나타내는 캐릭터의 애니메이션을 통해 채팅 상황에 적합한 모습과 감정을 보다 자유롭게 나타낼 수 있어, 실제 오프라인에서 이루어지는 상황과 동일한 효과를 얻을 수 있다. 또한, 본 발명에 따르면 실시간으로 캐릭터의 애니메이션을 구현할 수 있는 효과가 있다. 더욱이, 채팅시 채팅 상황에 적합한 캐릭터의 애니메이션을 통해 채팅 참가자들의 감정변화 를 보다 시각적으로 구체화할 수 있는 효과가 있다.As described above, according to the present invention, it is possible to more freely display the appearance and emotion suitable for the chat situation through the animation of the character representing the user, thereby obtaining the same effect as the situation actually performed offline. In addition, according to the present invention has the effect of realizing the animation of the character in real time. In addition, there is an effect that can visualize the emotional changes of the chat participants through the animation of the character suitable for the chat situation.
본 발명이 바람직한 실시예를 통해 설명되고 예시되었으나, 당업자라면 첨부한 청구 범위의 사상 및 범주를 벗어나지 않고 여러 가지 변형 및 변경이 이루어질 수 있음을 알 수 있을 것이다.While the present invention has been described and illustrated by way of preferred embodiments, those skilled in the art will recognize that various modifications and changes can be made without departing from the spirit and scope of the appended claims.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030045130A KR100559287B1 (en) | 2003-07-04 | 2003-07-04 | Chat system and method using animation of graphic images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030045130A KR100559287B1 (en) | 2003-07-04 | 2003-07-04 | Chat system and method using animation of graphic images |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050003697A KR20050003697A (en) | 2005-01-12 |
KR100559287B1 true KR100559287B1 (en) | 2006-03-10 |
Family
ID=37218759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030045130A KR100559287B1 (en) | 2003-07-04 | 2003-07-04 | Chat system and method using animation of graphic images |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100559287B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101394515B1 (en) * | 2007-04-26 | 2014-05-13 | 엘지전자 주식회사 | Mobile communication device capable of storing video chatting log and operating method thereof |
-
2003
- 2003-07-04 KR KR1020030045130A patent/KR100559287B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050003697A (en) | 2005-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100841590B1 (en) | Chat system, communication device, control method thereof and computer-readable information storage medium | |
US20180054466A1 (en) | Multiple avatar personalities | |
US20180011841A1 (en) | Enabling an im user to navigate a virtual world | |
US8402378B2 (en) | Reactive avatars | |
US20040128350A1 (en) | Methods and systems for real-time virtual conferencing | |
CN113508369A (en) | Communication support system, communication support method, communication support program, and image control program | |
CN108874114B (en) | Method and device for realizing emotion expression of virtual object, computer equipment and storage medium | |
CN113014471B (en) | Session processing method, device, terminal and storage medium | |
WO2007134402A1 (en) | Instant messaging system | |
KR20090086805A (en) | Self-evolving artificial intelligent cyber robot system | |
CN1460232A (en) | Text to visual speech system and method incorporating facial emotions | |
CN103368816A (en) | Instant communication method based on virtual character and system | |
AU2004216758A1 (en) | Using avatars to communicate | |
CN112929253B (en) | Virtual image interaction method and device | |
US7970716B2 (en) | Method for expressing emotion and intention in remote interaction and real emotion system thereof | |
CN112152901A (en) | Virtual image control method and device and electronic equipment | |
EP2690847A1 (en) | Virtual assistant for a telecommunication system | |
JP2001160021A (en) | Communication system in virtual space | |
JP4854424B2 (en) | Chat system, communication apparatus, control method thereof, and program | |
KR100559287B1 (en) | Chat system and method using animation of graphic images | |
US20050195927A1 (en) | Method and apparatus for conveying messages and simple patterns in communications network | |
CN114430506B (en) | Virtual action processing method and device, storage medium and electronic equipment | |
KR20030026506A (en) | System and method for interlocking process between emoticon and avatar | |
KR20010009080A (en) | Chatting system using animated avatars and method thereof | |
KR100372929B1 (en) | Method for making user's own image in chatting site |
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 |