A dialog server which provides dialogs made by at least one user through their respective avatars in a virtual space. A method and a computer readable article of manufacture tangibly embodying computer readable instructions for executing the steps of the method are also provided. The dialog server includes: a position storage unit which stores positional information on the avatars; an utterance receiver which receives at least one utterance of avatars and utterance strength representing an importance or attention level of the utterance; an interest level calculator which calculates interest levels between avatars based on their positional information; a message processor which generates a message based on the utterance in accordance with a value calculated from the interest levels and the utterance strength; and a message transmitter which transmits the message to the avatars.
|
1. A method comprising the steps of:
storing positional information on at least a first avatar and a second avatar;
receiving (i) at least one utterance from said first avatar and (ii) at least one utterance strength representing an importance or attention level of said at least one utterance;
calculating at least one interest level between said first avatar and said second avatar based on said positional information;
when a value calculated from said at least one interest level and said at least one utterance strength is not less than a predetermined threshold value, generating at least one message from said at least one utterance in accordance with the value and transmitting said at least one message to said second avatar; and
when the value is less than a predetermined threshold value, generating the at least one message from the at least one utterance in accordance with the value, not delivering the at least one message to the second avatar while the value is less than the predetermined threshold value, and delivering the at least one message to the second avatar once the value is at least equal to the predetermined threshold value,
wherein the at least one interest level of the first avatar and the second avatar are normalized relative to a plurality of interest levels associated with avatars present within a predetermined radius from at least one of the first avatar and the second avatar.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
|
This application is a continuation of U.S. patent application Ser. No. 14/047,590, filed Oct. 7, 2013 (status: pending), which is a continuation application of U.S. patent application Ser. No. 13/406,954, filed Feb. 28, 2012 (which issued as U.S. Pat. No. 8,554,841 on Oct. 8, 2013), which is a continuation of U.S. patent application Ser. No. 12/389,073, filed Feb. 19, 2009 (which issued as U.S. Pat. No. 8,156,184 on Apr. 10, 2012), which claims priority under 35 U.S.C. § 119 to Japanese Patent Application No. 2008-38422, filed Feb. 20, 2008, the contents of each of which are hereby expressly incorporated herein by reference in their entireties for all purposes.
1. Field of the Invention
The present invention relates to a dialog server providing dialogs between users and more particularly, it relates to a method and a computer program for having a conversation in a virtual space.
2. Description of Related Art
Previously, services allowing multiple users to exchange messages and thereby to have a conversation have been provided. Such services include a video conference service utilizing text chat, images and audio. Recently, it is being realized that a large number of users have a conversation in a virtual space. Since each user has been able to exchange messages with a large number of other users, it is necessary to connect each of these other users with his/her messages so that each user can distinguish messages of one user from those of another.
Japanese Patent Application Publication No. 2004-267433 (hereinafter referred to as Patent Document 1) and Japanese Patent Application Publication No. 2007-072511 (hereinafter referred to as Patent Document 2) each discloses a method of processing an inputted speech sound to output a message. According to the method described in Patent Document 1, an inputted speech sound is converted or combined with another sound so as to be closely associated with a virtual space before being outputted as a chat sound. According to the method described in Patent Document 2, a speech sound of a character assigned to a client terminal is synthesized and by using this character's speech sound, speech-sound data corresponding to a message inputted from the client terminal is generated.
Japanese Patent Application Publication No. Hei 9-006985 (hereinafter referred to as Patent Document 3) and Japanese Patent Application Publication No. Hei 10-079929 (hereinafter referred to as Patent Document 4) disclose a method of bringing a user other than a certain user into a view of the certain user. According to the method described in Patent Document 3, a distance between a first avatar a and a second avatar b is measured. If the distance is not more than a threshold value L and the first avatar a looks at the second avatar b, and if the distance is kept not more than a threshold value L for a time period not less than a threshold value T, the second avatar b is rotated in the current position or moved until the first and second avatars a and b look at each other. According to the method described in Patent Document 4, a graphically displayed icon representing a user who participates in a shared 3D space is brought into a view of another user in response to strength and feature quantity of the former user's speech sound.
Japanese Patent Application Publication No. 2001-228794 (hereinafter referred to as Patent Document 5) discloses a method of displaying, in a view of a user, a message of another user at a position varying in accordance with a position of the latter user, if the message is a text message. According to the method described in Patent Document 5, a position in which text-based information to be displayed of a speaker-user is determined on the basis of a distance between the speaker-user and a listener-user, a view of the listener-user, a 3D position of the speaker-user, and a vector indicating speaker-user's line of sight. Thereafter, the text-based information is outputted in the thus-determined position.
If the above conventional techniques are applied to a situation each user exchanges messages with a large number of other users, the following problems will arise. If the large number of other users simultaneously output messages, the methods of Patent Documents 1 and 2 allow the messages to have different tones and sounds. However, it is still difficult to recognize a certain message from these overlapping sounds. If there are a large number of users in a certain area, the methods of Patent Documents 3 and 4 keep the views of the certain user and the large number of other users frequently moving, so that the users have difficulties in continuing conversations. If a large number of messages are simultaneously displayed, the method of Patent Document 5 allows each message to be displayed in a position corresponding to a positional relationship between a listener-user and a speaker-user. However, it is still difficult to distinguish messages of one user from those of another.
The present invention provides a dialog server, a method, and a computer program thereof, of providing smooth communication between a large number of users in a virtual space.
According to a first aspect of the present invention, a dialog server for providing dialogs made by at least one user through at least one avatar in virtual space is provided. The dialog server includes: a position storage unit for storing at least one positional information on at least one avatar; an utterance receiver for receiving (i) at least one utterance of at least one avatar, and (ii) at least one utterance strength representing an importance or attention level of at least one utterance; an interest level calculator for calculating at least one interest level between two of at least one avatar to each other, based on at least one positional information of at least one avatar; a message processor for generating a message from at least one utterance in accordance with a value calculated from at least one interest level and at least one utterance strength; and a message transmitter for transmitting at least one message to at least one avatar.
According to another aspect of the present invention, a method of providing dialogs made by at least one user through at least one avatar in a virtual space is provided. The method includes the steps of: storing at least one positional information based on at least one avatar; receiving (i) at least one utterance from at least one avatar and (ii) at least one utterance strength representing an importance or attention level of at least one utterance; calculating at least one interest level between two avatars based on their positional information; generating at least one message from at least one utterance in accordance with a value calculated from the interest level and the utterance strength; and transmitting at least one message to other avatars.
According to another aspect of the present invention, a computer readable article of manufacture tangibly embodying computer readable instructions for executing the steps of the above method.
For a more complete understanding of the embodiments of the present invention and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings.
A description of preferred embodiments of the present invention follows with reference to the drawings.
The term “virtual space” in the context of the present invention means a collection of data in which background scenery and objects each having a position and a direction are arranged. The term “avatar” means an object associated with a user as a character representing the user in a virtual space.
“Utterance strength” is a value indicating deliverability of an utterance, and represents, for example, a voice volume of the utterance. It is also an importance level of the utterance for an avatar making the utterance, and further, it is an attention level of the utterance for an avatar receiving the utterance. The utterance strength is attached to an utterance by an avatar making the utterance.
“Interest level” is defined herein as being a value indicating utterance deliverability between two avatars, and automatically calculated in accordance with a positional relationship including each direction from one avatar to the other and a distance between the avatars.
If a certain avatar makes an utterance, the dialog server can transmit a content of the utterance to each of other avatars as a message in accordance with a value calculated from the utterance strength and the interest levels of the certain avatar to the each of other avatars and of the each of other avatars to the certain avatar. As a result, an utterance of an avatar is delivered to another avatar in accordance with a value which is calculated from interest levels automatically calculated from positions of the avatars and utterance strength of the utterance. Thus, the dialog server can provide a smooth communication using a conversation in a virtual space where a large number of users participate.
If a certain avatar makes an utterance, the dialog server can transmit the utterance to each of other avatars when a value calculated from the utterance strength and the interest levels of the certain avatar to the each of other avatars and of the each of other avatars to the certain avatar is not less than a predetermined value. As a result, an utterance of an avatar is delivered to another avatar when a value which is calculated from interest levels automatically calculated from positions of the avatars and utterance strength of the utterance is not less than a predetermined value. Thus, the dialog server can provide a smooth communication using a conversation in a virtual space where a large number of users participate.
Referring to
Dialog server 10 also receives positional information data transmitted by the speaker-user terminal 21 or the listener-user terminal 22, through a position receiver 12. The positional information data indicates the positions of avatars respectively representing one or more speakers and one or more listeners in a virtual space. For example, the positional information data includes an avatars' coordinate information in the virtual space and an avatars' facing directions.
A position storage unit 13 stores the received positional information on the avatars of the speakers and listeners. If the position storage unit 13 has already stored any positional information, it updates the stored positional information, and stores the updated positional information. The interest level calculator 15 reads the positional information stored in the position storage unit 13, and calculates the interest levels of the speakers to the listeners and interest levels of the listeners to the speakers from the positional relationships between the avatars of the speakers and listeners.
An utterance strength calculator 14 calculates the utterance strength from either the utterance data or the utterance strength data received from the utterance receiver 11. For example, in the case where the utterance strength data indicates a value designated and inputted by a speaker, as data separate from the utterance data, the value can be normalized to be made into the utterance strength. In the case where the utterance strength data indicates voice volume of the utterance of sound data, the voice volume can be normalized to be made into the utterance strength.
Message processor 16 processes the utterance in accordance with the interest levels calculated by the interest level calculator 15 and the utterance strength calculated by the utterance strength calculator 14, and thereby generates a message. For example, in generating the message, the message processor 16 can change the font size or the sound volume of the utterance in accordance with the interest levels and the utterance strength. Alternatively, message processor 16 can generate a message from the utterance only when a value calculated from the interest levels and the content of the utterance exceeds a certain threshold value.
Message transmitter 17 transmits the generated message to the listener-user terminal 22. The position transmitter 18 reads the positional information on the avatars of both the speakers and listeners stored in the position storage unit 13, and transmits the information to the speaker-user terminal 21 and the listener-user terminal 22, as positional information data.
In step S13, the dialog server 10 updates positional information on the avatars of speakers and listeners based on the positional information data received in step S11. Thereafter, the dialog server 10 reads the updated positional information on the avatars of the speakers and listeners (step S14), and calculates the interest levels based on the updated positional information on the avatars of the speakers and listeners (step S15).
In step S16, dialog server 10 calculates a value from both the interest levels of the avatars of the speakers and listeners and the utterance strength calculated from the utterance strength data received in step S12. Thereafter, dialog server 10 determines whether or not the calculated value is not less than a predetermined value (step S17). If the calculated value is not less than the predetermined value, the processing proceeds to step S18. If the calculated value is less than the predetermined value, the processing proceeds to step S20.
In step S18, dialog server 10 generates a message from the content of the utterance received in step S12. Thereafter, the dialog server 10 transmits the generated message (step S19). In step S20, the dialog server 10 transmits, as positional information data, positional information on the avatars which is updated in step S13.
where θ is an angle made by a facing direction of the avatar Ai and a straight line connecting positions of the respective avatars Ai and Aj, and L is a distance between the avatars Ai and Aj. Here, d is a term for normalizing an interest level of a speaker or a listener to satisfy the following expression (2):
where n is the number of avatars who exist in a circular region whose center is the position of the avatar Ai and whose radius ri is a predetermined distance.
In the situation shown in
In the situation shown in
In the situation shown in
In the above Example 1, an interest level of each avatar calculated from the positional information of avatars is a value that becomes larger as (1) the direction from one avatar becomes closer to the direction of another avatar or (2) as the avatar stands closer to another avatar. Afterwards, it is determined whether or not to deliver an utterance of the avatar to the certain avatar as a message based on the calculated interest level. Accordingly, whether or not to deliver an utterance as a message can be automatically chosen in accordance with positions of the avatars.
As mentioned in Example 1, when the avatar acquires only a low interest level, certain dialogs are not delivered to an avatar as messages. Even in this case, if the message delivery is resumed in response to the fact that the avatar acquires a high interest level, the undelivered messages can be sequentially delivered to the avatar. In that event, the user of the avatar can choose whether or not to hear the undelivered messages.
where θi is an angle made by the facing direction of Ai and a straight line connecting positions of Ai and Aj. θj is an angle made by a facing direction of Aj and a straight line connecting positions of Ai and Aj. L is a distance between the avatars Ai and Aj, and pi is a voice volume of the Ai's utterance. Here, di and dj are terms used for the normalization mentioned previously.
This means that this situation does not satisfy the condition defined in the expression (3), and thus A1's utterances are not delivered to A2 as messages. Accordingly, the displayed image of A2 is darkened to indicate that A1's messages are not delivered to A2.
This means that this situation satisfies the condition defined in Expression 3, and thus A1's utterances are delivered to A2 as messages. Accordingly, the displayed image of A2 returns to normal indicating that A1's messages are delivered to A2.
A looks at Ch and the direction from C to A is some degrees away from the facing direction of C. Accordingly, A is regarded as sitting at a distance and in a direction from C which allow none of C's utterances with a normal voice volume to be delivered to A as messages. Thus, the display image of A is darkened in the C's view.
C and F who face each other can see no other normal display images of avatars. Accordingly, C's utterances and F's utterances with a normal voice volume are not delivered to the avatars other than C and F, as messages. This allows C and F to discuss a topic different from one being discussed by all the avatars on the table without interrupting the discussion on the table.
C's utterance with a normal voice volume is delivered to F as a message. On the other hand, A and E look at Ch and the directions from F to A and F to E are some degrees away from the facing direction of F. Accordingly, A and E are regarded as sitting at a distance and in a direction from F which allow none of F's utterances with a normal voice volume to be delivered to the each of A and E as messages. Thus, the display images of A and E are darkened in the F's view.
As mentioned previously in Example 1, whether or not to deliver an utterance as a message is determined according to the interest levels of speaker's avatar and listener's avatar, each of which is automatically determined on the basis of each direction from one to the other and a distance between the avatars. By contrast, as mentioned previously in Example 2, a voice volume of an utterance is set as utterance strength in addition to such interest levels. Thus, if a value obtained from the utterance strength and the interest levels exceeds a predetermined threshold value, the corresponding utterance is delivered to the listener's avatar as a message. Accordingly, whether or not to deliver an utterance as a message can be determined by a method similar to that in real-world conversation. This allows a user of an avatar representing himself/herself to automatically select to which avatar to deliver an utterance as a message, only by causing the user's avatar to behave in a virtual space as if it were in the real world, more specifically, to appropriately move and to speak with an appropriate voice volume.
The BIOS 1060 stores a boot program that the CPU 1010 executes at the time of the boot-lip of the information processor 100, a program dependent on the hardware of the information processor 100. The FD drive 1072 reads a program or data from the flexible disk 1071, to provide it to the main memory 1050 or the hard disk 1074 through the I/O controller 1070.
As the optical disk drive 1076, for example, a DVD-ROM drive, a CD-ROM drive, a DVD-RAM drive and a CD-RAM drive can be employed. Note that an optical disk 1077 supported in the employed drive needs to be used. The optical disk drive 1076 can read a program or data from the optical disk 1077 to provide it to the main memory 1050 or the hard disk 1074 through the I/O controller 1070.
Each computer program to be provided to the information processor 100 is provided by a user in the form of being stored in a recording medium, such as the flexible disk 1071, the optical disk 1077 or a memory card. The provided computer program is read out from the recording medium through the I/O controller 1070, or is downloaded through the communication I/F 1040, and thereby is installed in and executed by the information processor 100. The operations that the computer program causes the information processor 100 to perform are the same as those in the aforementioned devices, and accordingly the description thereof will be omitted.
The above computer programs can be stored in an external recording medium. The recording medium used here can be the flexible disk 1071, the optical disk 1077 or a memory card, or can alternatively be a magneto-optical recording medium such as an MD or a tape medium. Furthermore, the recording medium used here can be a storage device, such as a hard disk or an optical disk library, which is provided in a server system connected to a dedicated communication network or the Internet. In this case, the computer program can be provided to the information processor 100 through a communication network.
The above description has been given mainly of the hardware configuration example of the information processor 100. However, it is possible to implement the functionality similar to that of the aforementioned information processor by installing, onto a computer, a program providing the functionality described as that of the information processor, and thus causing the computer to operate as the information processor. Accordingly, the information processor described as an embodiment of the present invention can alternatively be implemented by a method or a computer program thereof.
Each device of the present invention can be implemented as hardware, software, or a combination of hardware and software. A typical example of such implementation as a combination of hardware and software is a computer system including a predetermined program. In such a case, by being loaded and executed on the computer system, the predetermined program causes the computer system to perform processing according an embodiment of the present invention.
The program is composed of a group of instructions which can be written in any language, codes, or notations. Such a group of instructions allow the system to directly execute specific functions, or to execute the specific functions after (1) the instructions are converted into different language, codes or notations, and/or (2) the instructions are copied to a different medium.
The scope of the present invention includes not only such a program itself, but also program products, such as a medium storing the program therein. The program for executing the functions of the present invention can be stored in any computer readable medium, such as a flexible disk, an MO, a CD-ROM, a DVD, a hard disk device, a ROM, an MRAM, and a RAM. Specifically, this program can be stored in the computer readable medium by being downloaded to the medium in a computer system from another computer system connected thereto through a communication line, or by being copied from a different medium.
The program can either be compressed and, thereafter stored in a single recording medium or be divided into pieces and stored in multiple recording media.
Although the present invention has been described by use of the embodiment, the invention is not limited to these embodiments. The effects described in the embodiment of the present invention are merely a list of the most preferable effects provided by the present invention, and the effects of the present invention are not limited to those described in the embodiment or the examples of the present invention.
Tatsubori, Michiaki, Nagano, Tohru, Kurata, Gakuto
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5926179, | Sep 30 1996 | Sony Corporation | Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium |
6119147, | Jul 28 1998 | MAJANDRO LLC | Method and system for computer-mediated, multi-modal, asynchronous meetings in a virtual space |
6329986, | Feb 21 1998 | U.S. Philips Corporation | Priority-based virtual environment |
6396509, | Feb 21 1998 | Koninklijke Philips Electronics N V | Attention-based interaction in a virtual environment |
6772195, | Oct 29 1999 | Electronic Arts, Inc. | Chat clusters for a virtual world application |
7086005, | Nov 29 1999 | Sony Corporation | Shared virtual space conversation support system using virtual telephones |
7155680, | Dec 27 2000 | Fujitsu Limited; IEMOTO, OSAMU | Apparatus and method for providing virtual world customized for user |
7346654, | Apr 16 1999 | Mitel Networks Corporation | Virtual meeting rooms with spatial audio |
7386799, | Nov 21 2002 | Leidos, Inc | Cinematic techniques in avatar-centric communication during a multi-user online simulation |
7503006, | Sep 25 2003 | Microsoft Technology Licensing, LLC | Visual indication of current voice speaker |
7512656, | Feb 05 2002 | Kabushiki Kaisha Sega | Voice chat system |
8108774, | Sep 26 2008 | ACTIVISION PUBLISHING, INC | Avatar appearance transformation in a virtual universe |
8156184, | Feb 20 2008 | ACTIVISION PUBLISHING, INC | Dialog server for handling conversation in virtual space method and computer program for having conversation in virtual space |
8554841, | Feb 20 2008 | ACTIVISION PUBLISHING, INC | Dialog server for handling conversation in virtual space method and computer program for having conversation in virtual space |
9583109, | Feb 20 2008 | Activision Publishing, Inc. | Dialog server for handling conversation in virtual space method and computer program for having conversation in virtual space |
20010044725, | |||
20040109023, | |||
20040157661, | |||
20050075885, | |||
20080215995, | |||
20090013263, | |||
20090141047, | |||
20090210804, | |||
20090300521, | |||
20100077034, | |||
20100083148, | |||
20100205541, | |||
20120158879, | |||
20140047049, | |||
EP942397, | |||
JP10079929, | |||
JP2001228794, | |||
JP2004267433, | |||
JP2005322125, | |||
JP2007072511, | |||
JP9006985, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 03 2009 | KURATA, GAKUTO | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041019 | /0167 | |
Mar 03 2009 | NAGANO, TOHRU | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041019 | /0167 | |
Mar 03 2009 | TATSUBORI, MICHIAKI | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041019 | /0167 | |
Dec 31 2012 | International Business Machines Corporation | ACTIVISION PUBLISHING, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041019 | /0226 | |
Jan 12 2017 | Activision Publishing, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Dec 20 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 19 2021 | 4 years fee payment window open |
Dec 19 2021 | 6 months grace period start (w surcharge) |
Jun 19 2022 | patent expiry (for year 4) |
Jun 19 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 19 2025 | 8 years fee payment window open |
Dec 19 2025 | 6 months grace period start (w surcharge) |
Jun 19 2026 | patent expiry (for year 8) |
Jun 19 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 19 2029 | 12 years fee payment window open |
Dec 19 2029 | 6 months grace period start (w surcharge) |
Jun 19 2030 | patent expiry (for year 12) |
Jun 19 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |