Shared virtual space display method and apparatus using said method

Abstract: A plurality of terminals (10 1 -10 3 ) are connected to a server (50) via a communication network (LAN) and share a predetermined common virtual space. The terminals each always send to the server the position coordinates of the viewing point and direction of eyes of its user in the virtual space, and the visual field image viewed from that viewing point is displayed on a display. Based on the position coordinates and direction of eyes of the avatar each of the other terminals received from each of the other terminals via the server, each terminal generates on avatar image in the specified direction and at the specified position and displays it in the visual field. The server is always supplied with the latest position information of the avatar from every terminal and, when the distance between two arbitrary avatars becomes smaller than a threshold value, connects speech channels of the two terminals corresponding to these avatars.

Description: BACKGROUND OF THE INVENTION The present invention relates to a virtual space display method which allows user terminals connected to a communication network to freely move their avatars to desired positions in a shared virtual space and causes the user terminals to display images in their fields of vision in the virtual space. The invention also pertains to a virtual space sharing apparatus using the above-mentioned virtual space display method. As virtual space systems wherein a plurality of user terminals enter a shared virtual space via a communication network from their terminals connected thereto and communicate or collaborate with each other, there have been proposed, for example, a multi-user distributed, real-time multimedia conference system by Nihon IBM Co., Ltd. (information Processing Society of Japan, 47th National Conference 2E-5, 1993), SIMNET by DARPA of the United States Department of Defense, a communication game "HABITAT" of which service is now being offered by Fujitsu LTD. on a personal computer communication network, and a networked virtual reality system by Nippon Electric Co., Ltd. (Shinohara, "Three Dimensional Configuration Control," Information Processing Society of Japan, Kyushu Symposium, Dec. 1991). In these conventional virtual space display systems, the virtual space is displayed as a user interface of a specific application such as a combat simulation, electronic mail system or electronic conference system. Users are allowed to move their avatars in the virtual space, but since video images that the users observe on their terminal displays are video images captured by their avatars in the virtual space that is observed from the outside thereof, the virtual space has a defect that the users cannot fully feel a sense of real existence in the space. Moreover, when the user avatars meet and talk with each other in the virtual space, their voices are merely transmitted and received between them; hence, also from the auditory point of view, the users cannot feel totally immersed in the virtual space. Also from the visual point of view, the virtual space lacks a sense of real existence or reality since the avatars of the users are all displayed in the same size. The document ECSCW '93, Proceedings of the Third European Conference on Computer-Supported Cooperative Work, Milan, Italy, 13-17 Sept. 1993, pages 109-125; Benford and Fahlén: "A spatial model of interaction in large virtual environments" discloses a virtual space sharing apparatus and method in which a plurality of terminals are connected to a distributed communication network. Users are represented by unique graphical 3D-bodies or icons whose position, orientation, movements and identity are easily visible to other participants. An aura is implemented as a volume or sphere around each user's icon which is usually invisible. Aura handling is achieved through a special collision manager process. When a collision between auras occurs, this manager sends a message containing information such as the IDs of the objects involved, positions, angles and so on, to other processes within the system. These processes then carry out appropriate focus, nimbus and awareness computations. A conference table detects participants presence, and establishes communication channels (video, voice and document links) between them via aura. The auras, foci and nimbi of the conference participants around the table are then extended to cover everyone in attendance. By having a very long table, people can form larger collaborative groups. Also, a participant can enter a podium and is thereby allowed to be "heard" (or seen) by a dispersed group of users that "normally" (e.g. without the podium) are not within communication distance of the "speaker". The aura and nimbus of the participant on the podium are enlarged to cover, for example, a lecture hall or town square. SUMMARY OF THE INVENTION An object of the present invention is to provide a virtual space display method which gives users a sense of real existence in the virtual space and a virtual space sharing apparatus utilizing the method. More particularly, the present invention is to provide a virtual space display method which lends realism to the virtual space auditorily and a virtual space sharing apparatus utilizing the method. This object is achieved with an apparatus as claimed in claim 1 or 2 and a method as claimed in claim 9 or 10, respectively. Preferred embodiments of the invention are subject-matter of the dependent claims. The present invention is directed to a virtual space display method and a virtual space sharing apparatus for use with a virtual space system in which a plurality of user terminals connected to a communication network share a predetermined common virtual space and create and display visual field images which change as avatars of the users move in the virtual space. Each user terminal generates, by input control means, signals which respectively select and specify the position and direction of eyes of the avatar of the terminal user in the virtual space and produces, by visual field image producing means, a visual field image captured in the specified direction of eyes of the avatar from its position specified as a viewing point in the virtual space. Position information send/receive means sends the specified position and direction of eyes of the avatar as position information to the communication network and receives therefrom position information sent thereto from other terminals. Then, through utilization of the received position information, the terminal produces, by avatar image producing means, avatar images of the users of the other terminals in the visual field image at the positions defined by the received position information and displays, on display means, a combined image including the visual field image and the avatar images. A group of avatars which satisfy a conversation enable condition between them is searched and the terminals of the avatars in the same group are each supplied with voices of the other avatars mixed by common mixer means. According to the present invention speech data of all avatars are mixed by mixer means to produce an environment sound for supply to each avatar. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1A is a diagram schematically showing an example of a distributed connection type system; Fig. 1B is a diagram schematically showing another example of the distributed connection type system; Fig. 2A is a diagram schematically showing an example of a centralized connection type system to which the present invention is applied; Fig. 2B is a diagram schematically showing another example of the centralized connection type system to which the present invention is applied; Fig. 3 is a block diagram illustrating the construction of a terminal according to a first example; Fig. 4A is a perspective view for explaining a virtual space which is shared by terminals; Fig. 4B is a diagram showing a visual field image at one viewing point in the virtual space depicted in Fig. 4A; Fig. 4C is a diagram showing a visual field image at a viewing point shifted from that in Fig. 4B; Fig. 5 is a block diagram illustrating an example of a server in the first example; Fig. 6 is a diagram showing an example of the configuration of a message for transmission between a terminal and the server; Fig. 7 is a block diagram illustrating an example of a terminal control part of the terminal shown in Fig. 3; Fig. 8 is a table showing the configuration of data that is held in a management table memory in Fig. 7; Fig. 9A is a diagram showing the relationship between avatars when a conversation enable condition is the distance between them in a second example; Fig. 9B is the relationship between avatars when the conversation enable condition is the field of vision; Fig. 9C is a diagram showing another example of the relationship between avatars when the conversation enable condition is their fields of vision; Fig. 9D is a diagram showing the relationship among three avatars when the conversation enable condition is the distance between them; Fig. 9E is a diagram showing the relationship among three avatars when the conversation enable condition is their fields of vision; Fig. 9F is a diagram showing another example of the relationship among three avatars when the conversation enable condition is their fields of vision; Fig. 10 is a block diagram illustrating an example of the construction of the server in the second example; Fig. 11 is a block diagram illustrating the constructions of a distance deciding part and an eye contact deciding part in Fig. 10; Fig. 12 is a diagram showing the positional relationship between avatars, for explaining the principles of detection of their eye contact; Fig. 13 is a diagram showing the positional relationship among avatars, for explaining an environment sound; Fig. 14 is a diagram showing the state of channel connection in a server of an embodiment of the present invention which generates an environment sound in the case of Fig. 13; Fig. 15 is a block diagram illustrating the construction of the server in the embodiment of Fig. 14; and Fig. 16 is a block diagram illustrating the construction of a terminal in a distributed connection type system. DESCRIPTION OF THE PREFERRED EMBODIMENTS In the present invention, a plurality of terminals connected via a communication network share a virtual space and are allowed to freely move avatars of terminal users in the virtual space and display on their terminal displays the scenes that the avatars are observing in the virtual space. Images representing the avatars of the users (which may be symbols, illustrations of the users or illustrations with users' facial video images embedded therein and which will hereinafter be referred to simply as avatar images) are formed at the positions of the avatars in the virtual space. Accordingly, the scene in the virtual space that is displayed on a display unit of each user terminal contains avatar images of other users in the field of vision of the avatar of each user in the virtual space. The virtual space display system of the present invention can also be designed so that the users receive predetermined services such as various entertainments, shopping and various pieces of information, but the system of the present invention is configured, in particular, to allow the avatar of each user to talk with other avatars whom it happens to meet in the virtual space. The system of the present invention can be designed as either of a distributed connection type system and a centralized one. In the distributed connection type system, as shown in Fig. 1A, a plurality of terminals 10 1 , 10 2 and 10 3 connected to the thick-lined communication network such as LAN (local area network) are each adapted to form a common virtual space and to send and receive data to and from the other terminals as indicated by the thin-lined arrows. Each terminal sends data representing the position of the avatar of the user in the virtual space and data representing the direction of eyes of the avatar (hereinafter referred to as position information) to all the other terminals at regular time intervals or when the position or direction data changes. Upon receiving the position data and direction-of-eye data from other terminals, each terminal checks the data to see if the avatars of the other terminal users exist in the visual field of its avatar, and if so, the terminal displays the avatar images of the other terminal users at the positions specified by the position data received. Moreover, as explained later on, each user sends his voice or speech from his terminal to all the other terminals, and may also send his facial video to other terminals by request. In the centralized connection type system, as depicted in Fig. 2A, the terminals 10 1 , 10 2 and 10 3 are all connected to a server 50 via a communication network such as LAN and perform two-way communication with the server 50 as indicated by the thin-lined arrows. In this instance, each terminal sends at least the position information of the avatar of its user to the server 50; the server 50 performs required processing on the basis of the position information received from each terminal and sends the processed position information to all the terminals 10 1 , 10 2 and 10 3 . Fig. 2B shows the case where the terminals 10 1 , 10 2 and 10 3 are all connected to the server 50, for example, via ISDN. Prior to the description of an embodiment of the present invention, several examples of communication in a shared virtual space will be explained. First Example Fig. 3 schematically illustrates an example of the configuration of each terminal unit 10 which forms the virtual space sharing apparatus of the present invention for use in the centralized connection type system. The terminal unit 10 has a channel interface part 11 connected to a network (LAN, ISDN or the like), a terminal control part 12, a display 13, a control device 14, a speaker SP, a microphone MC and a video camera VC. Fig. 4A schematically illustrates the architecture of a virtual space VS provided beforehand for the terminal control part 12 of the terminal unit 10 1 of a user U1, positions P1 and P2 (given as coordinate values) of avatars A1 and A2 of users in the virtual space VS and the directions of eyes (indicated by the arrows ED1 and ED2) of the avatars A1 and A2. Moreover, position P1' indicates the position of the avatar A1 having moved thereto and the direction of eye at the position P1' is indicated by the arrow ED1'. On the other hand, Fig. 4B shows a visual field image that the avatar A1 observes in the direction ED1 from the position P1; this visual field image is displayed on the display 13 of the terminal unit 10 1 of the user U1. Fig. 4C shows a visual field image that the avatar A1 in Fig. 4A observes at the position P1' after having moved thereto, the direction of its eyes being indicated by the arrow ED1'. When the user U1 instructs, by a joystick or similar control device 14 of his terminal 10 1 , his avatar in the virtual space VS to move rightward from the position P1 to the position P1' as shown in Fig. 4A, the terminal control part 12 responds to the "move" instruction to display on the display 13 the visual field image in the virtual space VS viewed from the new position P1' (Fig. 4C) in place of the visual field image from the position P1 displayed until then (Fig. 4B), and the control part 12 sends the new position P1' from the interface 11 to the server 50 via the communication network NW. The avatar image A1 representing the user U1 in the virtual space VS is not displayed on the display 13 of the terminal 10 1 of his own. In thisexample, the avatar image A2 of the other user U2 is displayed in the visual field image viewed from the viewing point P1' (Fig. 4C). The server 50 has, as shown in Fig. 5, a channel interface part 51, a connection control part 52 and a table memory 53. The channel interface part 51 is connected via the communication network NW to the terminal units 10 1 and 10 2 , receives therefrom the position information of their avatars, that is, the viewing points P1 and P2 and directions of eyes ED1 and ED2 of the avatars A1 and A2, transmits the position information to all terminals except the transmitting one and controls audio and video channel connection between the terminals specified by the connection control part 52. The connection control part 52 writes the received position information, that is, the coordinates of the positions (The virtual space is three-dimensional and the position of each avatar is expressed by three-dimensional coordinates but will hereinafter be expressed by two-dimensional coordinates.) (x, y) and the directions of eyes ED in a position information table 53A of the table memory 53 in correspondence with the respective terminals. According to the present invention, when the relationship between two arbitrary avatars satisfies a predetermined condition after the updating of the data stored in the memory 53, the terminals corresponding to the two avatars are connected via the channel interface part 51 to enable communication or conversation between the users of these terminals. The conversation enable condition consists of, for example, the distance between the avatars and the degree of eye-to-eye contact between them as described later. The connection control part 52 calculates the distance d between the avatars A1 and A2, for example, in the table 53A by d 2 = (x 1 -x 2 ) 2 +(y 1 -y 2 ) 2 , and when d<D and the degree of eye-to-eye contact defined by the directions of eyes ED1 and ED2 of the avatars A1 and A2 satisfies a predetermined condition, the connection control part 52 instructs the channel interface part 51 to connect the channel between the terminals 10 1 and 10 2 corresponding to the avatars A1 and A2 and writes the state of connection (indicated by a white circle) of the avatars A1 and A2 in a state-of-connection table 53B. The channel interface part 51 relays processed audio and video data between the terminals 10 1 and 10 2 , that is, sends the data received from the terminal 10 1 to the terminal 10 2 and the data received from the latter to the former. The terminal control part 12 of the terminal 10 1 decodes the audio data received from the terminal 10 2 via the channel interface part 51 and outputs the sound from the speaker SP, creates the avatar image at the position specified by the coordinate value (x 2 , y 2 ) contained in the position information received from the terminal 10 2 and outputs it to the display 13 in combination with the visual field image in the virtual space being currently displayed. Similarly, the terminal 10 2 processes and outputs the audio and video data received from the terminal 10 1 . In the above, when the user of each terminal moves and/or turns his avatar in the virtual space, the position information from the terminal is sent as part of a "move" message MM of such a format as shown in Fig. 6. The "move" message MM is composed of an avatar identifier AID, a message identifier MID, a space identifier SID, a coordinate value COV, the direction of eyes ED and a state flag SFLG. The avatar identifier AID is a pre-assigned unique number representing the terminal having sent the message. The message identifier MID is a predetermined number representing the message for sending position information based on the movement of the avatar. The coordinate value COV and the direction of eyes ED are a position coordinate value (x, y, z) and a direction-of-eyes value γ (vector) of the avatar in the virtual space, respectively. The state flag SFLG is a value indicating the state of the avatar (moving, communicating, selecting, or idle). In this case, the "selecting" state is used in a message for receiving a service, and a button value for selecting an item from a service menu by the control device 14 is used as the flag. The button value is a value indicating which button of an input device (a mouse or joystick) is being pressed. The "idle" indicates the state in which the user is not using the terminal. Fig. 7 illustrates in block form the configuration of the terminal control part 12 in each terminal unit 10 of Fig. 3 in a centralized connection type system. The terminal control part 12 comprises: a video image generating part 12G which generates a CG visual field image viewed in the specified direction of eyes from the specified coordinate position in the three-dimensional virtual space, for display on the display 13; a control input processing part 12D which receives the input from the control device 14 and processes it for conversion to the coordinate value and the button value; a communication interface 12A which performs processing for transmission and reception to and from the communication network NW; a file unit 12F which stores display data, virtual space image data, software and user data; a management table memory 12E; an audio output processing part 12J which receives audio data and provides an analog speech signal to the microphone MC; an audio/video input part 12K which performs digital processing of input speech from the microphone MC and a video signal from the video camera VC and provides them to the server 50; and a CPU 12C which controls the operation of the terminal control part 12. These components are interconnected via a bus 12B. In the management table memory 12E, as shown in Fig. 8, there are stored the position coordinate COV and direction of eyes γ of the user's avatar inputted from the control input processing part 12D through the manipulation of the control device 14, the position coordinates COV and direction of eyes γ of other avatars, change flags CFLG and state flags SFLG received from the server 50 (or other terminals); these pieces of information are stored in correspondence with the respective avatar identifiers AID. The avatar identifier AID, the state flag SFLG, the coordinate value COV and the direction of eyes ED are the same as those used in the "move" message depicted in Fig. 6. When these pieces of data on avatars are updated, the change flag CFLG is set to "1." Now, a description will be given of the operation of the terminal control part 12 in the terminal 10 1 of the user U1, for instance. The CPU 12C reads out of the management table memory 12E the position (x,y,z) and direction of eyes γ 1 corresponding to the identifier AID 1 of the avatar A1 of the user U1, instructs the video image generating part 12G to generate the visual field image observed in the direction of eyes γ 1 from the position (x,y,z) in the virtual space stored as data in the file unit 12F, detects other avatars present in that field of vision from their coordinate values stored in the table memory 12E, generates avatar images at the positions of the detected avatars and instructs the display 13 to display thereon the avatar images in combination with the visual field image. The avatar images that are displayed on the display 13 are, for example, video images of users' faces received from the server 50 and produced in sizes corresponding to the distances from the avatar A1 of the user U1 to the other avatars to be displayed. The CPU 12C always monitors the change flag CFLG in the management table memory 12E and, upon detecting a change in the data stored corresponding to the avatar A1 of the user U1 (CFLG=1), instructs the video image generating part 12G to separately generate the visual field image in the virtual field to be displayed and the other avatar images to be contained therein and displays them on the display 13, thereafter resetting the change flag CFLG. When it is detected that the change flag of another avatar is "1," only its avatar image is updated on the basis of the updated coordinate position COV and direction of eyes γ, after which the change flag CFLG is reset. While this example has been described in respect of the centralized connection type system, the present invention is also applicable to the distributed connection type system. In such an instance, each terminal sends to all the other terminals the "move" message MM of the format of Fig. 6 which contains the position information on the avatar of said each terminal and, at the same time, writes the message into the management table memory 12E of the terminal control part 12 shown in Fig. 7. On the other hand, each terminal writes into the management table memory 12E the "move" messages MM of the same format received from the other terminals and, at the same time, forms and displays other avatar images, which are observed in the field of vision from the position of its user's avatar, at their specified positions in the visual field image. To implement the distributed connection type system, the terminal control part 12 of each terminal needs only to incorporate therein between the communication interface 12A and the bus 12B a part that corresponds to the channel interface part 51 of the server 50 in the centralized connection type system shown in Fig. 5. The functions of the connection control part 52 and the table memory 53 in Fig. 5 can be implemented by the CPU 12C and the management table memory 53 in Fig. 7, respectively. Second Example In the above, a brief description has been given of the case of connecting the audio channel between two terminals when the distance d between avatars of their users in the virtual space is smaller than a predetermined value; a description will be given of the conditions that enable conversation between such avatars and an example of an apparatus which connects the speech channel between them on the basis of such conditions. The conditions are the distance between two avatars and their visual angles and directions of eyes. (a) When the distance d between the avatars A1 and A2 given their position coordinates is equal to or smaller than a predetermined value Da as shown in Fig. 9A, the server 50 interconnects the terminals 10 1 and 10 2 corresponding to the avatars A1 and A2, enabling transmission and reception of speech between them. In the system like this, the direction of eyes is not taken into account. (b) When the distance d between the avatars A1 and A2 is equal to or smaller than a predetermined value Db and at least one of the avatars is in the field of vision of the other avatar as shown in Fig. 9B, the server 50 interconnects the two corresponding terminals, enabling transmission and reception of speech between them. The visual angle α is a predetermined value. In the example Fig. 9B, the avatar A1 of the user U1 is not displayed on the display unit 13 of the terminal 10 2 of the user U2 but the avatar A2 of the user U2 is displayed on the terminal display unit 13 of the user U1; hence, the avatar A1 can start conversation with the avatar A2 by calling to it. (c) When the distance d between the avatars A1 and A2 is equal to or smaller than a predetermined value Dc and either of them is in the field of vision of the other as shown in Fig. 9C, the server interconnects the two corresponding terminals, enabling transmission and reception of speech between them. Incidentally, when the avatars of two terminal users are each in the field of vision of the other, it is assumed that they establish eye-to-eye contact. (d) In such a situation as shown in Fig. 9D wherein a third avatar A3 approaches one (A1, for example) of the avatars A1 and A2 engaged in conversation with each other in a system utilizing the above-mentioned condition (a) and a conversation enable condition (d≤Dd) is also satisfied between the avatars A1 and A3 as shown Fig. 9D, voices of the avatars A1 and A2 are sent to the terminal 10 3 of the avatar A3 after being mixed, voices of the avatars A1 and A3 are sent to the terminal 10 2 of the avatar A2 after being mixed and voices of the avatars A2 and A3 are sent to the terminal 10 1 of the avatar A1 after being mixed so as to enable conversation among the avatars A1, A2 and A3 of the three terminal users. (e) Also in such a situation as shown in Fig. 9E wherein the third avatar A3 approaches one (A1) of the two avatars A1 and A2 engaged in conversation with each other in a system utilizing the above-mentioned condition (b), the same processing as the above-described (d) may be performed. (f) Also in such a situation as shown in Fig. 9F wherein the third avatar A3 enters the field of vision of one (A2) of the avatars A1 and A2 engaged in conversation with each other in a system utilizing the above-mentioned condition (c), the same processing as the above-described (d) may be performed. (g) Alternatively, it is possible to use the above-mentioned condition (c) as the conversation enable condition for the first two avatars A1 and A2 and a predetermined one of the conditions (a) and (b) as a condition for the third and subsequent avatars to join the conversation between the avatars A1 and A2. Fig. 10 illustrates an example of the server of the virtual space sharing apparatus for use in the centralized connection type system which performs the processing (f). This example is shown to have three terminals. For the sake of brevity, no video-related parts are shown. The server 50 swaps speech data and position information with the terminals via channels CH 1 , CH 2 and CH 3 . At first, the data received via the channels CH 1 , CH 2 and CH 3 are received in channel interface parts INF 1 , INF 2 and INF 3 , respectively. The channel interface parts INF 1 to INF 3 analyze the received data and, in the case of speech data, transfer it to a speech switching part 52S. When the received data is position information containing position data and direction-of-eyes data, the channel interface parts INF 1 to INF 3 write the position data and the direction-of-eyes data in the table memory 53 and, at the same time, transfer them to a position information distributing part 52A. The position information distributing part 52A copies the position information received from the channel interface part INF 1 and transfers it to the channel interface parts INF 2 and INF 3 and copies the position information received from the channel interface part INF 2 and transfers it to the channel interface parts INF 1 and INF 3 . Furthermore, the position information distributing part 52A copies the position information and direction-of-eyes information received from the channel interface part INF 3 and transfers them to the channel interface parts INF 1 and INF 2 . A distance decision part 52B reads out the position information from the table memory 53 and calculates all distances d ij (i,j:1,2,3, i≠j) between avatars A i and A j . The distance decision part 52B compares each distance d ij with a predetermined threshold value D and sets the distance d ij to a value 1 or 0, depending on whether 0<d ij ≤D or d ij >0, and transfers the value to a mixing object determining part 52D. An eye contact decision part 52C uses the position data and the direction-of-eyes data to calculate a value w ij which indicates whether either of avatars are in the field of vision of the other. That is to say, the eye contact decision part 52C sets the value w ij to "1" or "0," depending on whether or not the viewing points (the positions of avatars) of two users Ui and Uj are each in the field of vision of the other, and transfers the value w ij to the mixing object determining part 52D. The mixing object determining part 52D calculates the product, p ij =d ij w ij , of the values d ij and w ij and instructs a switch 52S to connect the speech of the user Ui, for which the above-noted product is "1," to the channel CHj of the user Uj and the speech of the user Uj to the channel CHi of the user Ui. Now, a description will be given, with reference to Figs. 11 and 12, of the principles of decision in the distance decision part 52B and the eye contact deciding part 52C. As shown in Fig. 11, the distance decision part 52B comprises a distance calculating part 52B1 for calculating the distance between two avatars and a comparison part 52B2 for making a check to see if the calculated distance is within the threshold value D. The eye contact deciding part 52C comprises direction-of-avatar calculating parts 52C1 and 52C3 each of which calculates the direction of one of two avatars from the other, comparison parts 52C2 and 52C4 which compare calculated directions  i and  j with a predetermined visual-field threshold value α to determine if either of the avatars are in the field of vision of the other, and a coincidence deciding logical operation part52C5 which uses the two results of comparison to determine if the two avatars establish eye-to-eye contact. As shown in Fig. 12, a coordinate axis is set in the virtual space VS; let the coordinates of the position P i of the avatar A i be (x i , y i ) and the coordinates of the position p of the avatar A j be (x j , y j ). Furthermore, let the direction-of-eyes vector i of the avatar A i be (i x ,i y ) and the direction-of-eyes vector j of the avatar A j be (j x , j y ). Incidentally, the direction-of-eyes vector is a unit vector. The distance between the avatars A i and A j can be calculated by the following equation on the basis of the position coordinates (x i ,y i ) and (x j ,y j ) inputted into the distance calculating part 52B1. d ij ={(x j -x i ) 2 +(y j -y i ) 2 } ½ The distance d ij is compared with the predetermined threshold value D, and as referred to previously, the distance d ij is set to a value "1" or "0," depending on whether O<d ij ≤D or d ij >D. The distance value d ij thus set is transferred to the mixing object determining part 52D. The coincidence deciding logical operation part 52C5 calculates a value w which indicates whether the fields of vision of users coincide with each other, on the basis of the position coordinates (x i ,y i ) and (x j ,y j ) and the direction-of-eyes vectors (i x ,i y ) and (j x ,j y ) inputted into the direction-of-avatar calculating parts 52C1 and 52C3. cos i can be determined by calculating the inner product of the vector i and the vector P ij from the coordinate P i to P j . i·P ij = |i|·|P ij | cos i = i x (x j -x i ) + i y (y j -y i ) where |i| is a unit vector = 1 and |P ij | is the distance d ij between positions P i and P j which is expressed by Eq. (1). Therefore, the direction of existence  i of the avatar A j viewed from the avatar A i can be calculated by the following equation: cos i ={i x (x j -x i ) + i y (y j -y i )}/{(x j -x i ) 2 + (y j -y i ) 2 } ½ = {i x (x j -x i ) + i y (y j -y i )}/d ij This calculation can also be conducted using the distance d ij calculated in the distance calculating part 52B1. The direction  i thus calculated by the direction-of-avatar calculating part 52C1 is compared with the predetermined visual-field threshold value α in the comparison part 52C2, and it is set to a value "1" or "0," depending on whether 0< i ≤α or α< i . The thus set value  i is inputted into the coincidence deciding logical operation part 52C5. Similarly, the direction of existence  j of the avatar A i viewed from the avatar A j can be determined by the following equation: cos j = {j x (x i -x j ) +j y (y i -y j )}/{(x j -x i ) 2 + (y j -y i ) 2 } 1/2 = {j x (x i -x j ) + j y (y i -y j )}/d ij The direction  j thus calculated in the calculating part 52C3 is compared with the predetermined visual-field threshold value α, and it is set to a value "1" or "0," depending on whether 0< j ≤α or α≤ j . The thus set value  j is inputted into the coincidence deciding logical operation part 52C5. Fig. 12 shows that the avatar A j is in the field of vision α of the avatar A i , whereas the avatar A i is out of the field of vision α of the avatar A j and hence is not recognized. A preferable value of the visual angle α is 45 degrees, for instance. The direction  i of the avatar A j viewed from the avatar A i and the direction  j of the avatar A i viewed from the avatar A j , outputted from the comparison parts 52C2 and 52C4, respectively, are inputted into the coincidence deciding logical operation part 52C5, wherein a logical product w ij = j · j is operated. Thus, the logical operation part 52C5 outputs a value w ij =1 which expresses the coincidence of the fields of vision of the users only when  i · j =1 indicating either of the avatars is in the field of vision of the other. When either one of the value  i and  j is "0," the logical operation part 52C5 outputs a value w ij =0. The output w ij from the logical operation part 52C5 is transferred to the mixing object determining part 52D. The mixing object determining part 52D uses the set value d ij from the distance decision part 52B and the set value w ij from the eye contact deciding part 52C to calculate p ij = d ij .w ij as referred to previously and provides it to the switching part 52S. The switching part 52S responds to the instruction of the mixing object determining part 52D selects from voices received from the channel interface parts INF 2 and INF 3 those voices which satisfy a condition p 23 =1, that is, those voices which are to be connected to the channel CH 1 accommodated in the channel interface part INF 1 ; the voices thus selected are mixed by a mixer 52M 1 and the mixed output is provided to the channel interface part INF 1 . Of voices received from the channel interface parts INF 1 and INF 3 , those voices which satisfy a condition p 13 = 1, that is, those voices which are to be connected to the channel CH 2 accommodated in the channel interface part INF 2 , are selected and mixed by a mixer 52M 2 , thereafter being transferred to the channel interface part INF 2 . Similarly, of voices received from the channel interface parts INF 1 and INF 2 , those voices which satisfy a condition p 12 = 1, that is, those voices which are to be connected to the channel CH 3 accommodated in the channel interface part INF 3 , are selected and mixed by a mixer 52M 3 , thereafter being transferred to the channel interface part INF 3 . The channel interface parts INF 1 , INF 2 and INF 3 provide on the channels CH 1 , CH 2 and CH 3 the position information containing the position data and the direction-of-eyes data, received from the position information distributing part 52A, and the speech data received from the mixers 52M 1 , 52M 2 and 52M 3 . In the case of a system which implements the aforementioned conversation enable conditions (a) and (d), the eye contact deciding part 52C in Fig. 10 need not be provided and the mixing object determining part 52D controls the switch 52S on the basis of the distance d ij alone. The conversation enable conditions (b) and (e) can be implemented by ORing, w ij = i + j , in the coincidence logical operation part 52C5 in Fig. 11. Embodiment In the above examples, even if the number of avatars engaged in conversation is three or more, they can each hear voices of all the other avatars in that group but cannot hear voices of an avatar who stays out of the group. This will be described in respect of such a party as shown in Fig. 13 wherein there attend in the virtual space VS seven avatars A1 to A7 corresponding to users of seven terminals 10 1 to 10 7 . As shown, the users of the avatars A1 and A2 are talking with each other and the users of the avatars A3 to A5 are also talking with one another, but the users of the avatars A6 and A7 are not engaged in the conversation of either group. If the users of the avatars A6 and A7 could hear voices of the both groups as environment sounds, they would feel the existence of the other avatars in the virtual space VS like in the real world. Similarly, the users of the avatars A1 and A2 engaged in conversation could also experience enhanced realism of the virtual space VS if they could hear, as environment sounds, the voices of the avatars A3 to A5 and sounds made by the avatars A6 and A7. Now, a description will be given of an embodiment of the virtual space sharing apparatus which allows all users in a shared virtual space to hear sounds made and voices uttered by them as environment sounds through dynamic switching of the setting of a speech path switch. Fig. 14 shows how the speech path switch 52S and the mixer 52M in the server 50 of the apparatus of this embodiment are interconnected in the case of Fig. 13. Let it be assumed that the terminals 10 1 to 10 7 of the seven users are present in the same virtual space and that the group of two users corresponding to the terminals 10 1 and 10 2 and the group of three users corresponding to the terminals 10 3 , 10 4 and 10 5 are engaged in conversation independently of each other. In this embodiment, the mixer 52M is adaptively divided into mixing parts 52M A and 52M B corresponding to the two conversation groups, respectively, and a mixing part 52M C for all the avatars in the virtual space VS. The switch 52S has a construction which one-way connects sounds and voices received from all the terminals 10 1 to 10 7 to the mixing part 52M C . A sound S C , produced by mixing the sounds and speech data D1 to D7 thus one-way transmitted from all the terminals 10 1 to 10 7 , is attenuated by a loss inserting part 5L C down to a level appropriate for an environment sound and transmitted to the terminals 10 6 and 10 7 of the users who are not engaged in conversation. In this way, the users of the terminals 10 6 and 10 7 can hear, as environment sounds, the sounds made and voices uttered by all the users present in the shared virtual space. On the other hand, the switch 52S two-way connects the speech data SD 1 and SD 2 sent from the terminals 10 1 and 10 2 to the mixing part 52M A and, at the same time, it one-way connects the mixed sound S C , inputted from the mixing part 52M C via the loss inserting part 5L C , to a loss inserting part SL A to attenuate to such a sound pressure level as not to hinder conversation, after which the mixed sound S C is provided to the mixing part 52M A . The mixing part 52M A mixes the speech data SD 2 from the terminal 10 2 and the environment sound S C and sends the mixed sound to the terminal 10 1 via the switch 52S; furthermore, the mixing part 52M A mixes the speech data SD 1 from the terminal 10 1 and the environment sound S C and sends the mixed sound to the terminal 10 2 via the switch 52S. Thus, the users of the terminals 10 1 and 10 2 are capable of hearing the environment sound S C of the reduced sound pressure level while at the same time carrying on a two-way conversation as in the case of talking to each other over the telephone. As regards the group of the terminals 10 3 to 10 5 , too, the output from the mixing part 52M C is similarly connected to the mixing part 52M b via the loss inserting parts 5L C and 5L B , and the mixing part 52M B generates speech data to be sent to each terminal by mixing speech data from all the other terminals and the environment sound S C and sends it to the terminals via the switch 52S, enabling the users of the terminals to hear the environment sound S C of the lowered sound pressure level while carrying on two-way conversation. Turning now to Fig. 15, the server 50, which is provided with the switch 52S and the mixer 52M shown in Fig. 14, will be further described. Let it be assumed, for the sake of brevity, that the number of terminals is three and that the users of the terminals 10 1 and 10 2 are talking with each other, leaving the user of the terminal 10 3 alone. In Fig. 14 the interface INF and the switch 52S are two-way connected, but in Fig. 15 the channel interface parts INF 1 to INF 3 and the switch 52S are shown to be one-way connected with a view to showing the kinds of speech data that are transmitted and received between them. In Fig. 15, the virtual space and respective terminals transmit audio data and position information data via an advanced information system INS network and the channels CH 1 to CH 3 in the server 50. At first, pieces of data received via the channels CH 1 to CH 3 are received in the channel interface parts INF 1 to INF 3 , respectively. The channel interface part INF 1 analyzes the received data and, if it is speech data SD 1 , transfers it to the switch 52S. Likewise, the channel interface parts INF 2 and INF3 analyze the received data and, if they are speech data SD 2 and SD 3 , transfer them to the switch 52S. When the received data is position data and direction-of-eyes data, the channel interface parts INF 1 to INF 3 transfer these pieces of data to the position information distributing part 52A and write them into the table memory 53. The position information distributing part 52A copies the position data and direction data received from the channel interface part INF 1 and transfers them to the channel interface parts INF 2 and INF 3 . Similarly, the position information distributing part 52A copies the position data and direction data received from the channel interface part INF 2 and transfers them to the channel interface parts INF 1 and INF 3 and copies the position data and direction data received from the channel interface part INF 3 and transfers them to the channel interface parts INF 1 and INF 2 . A conversation monitoring part 52D discriminates a group of avatars that satisfies the afore-mentioned predetermined conversation enable conditions on the basis of the position data and direction-of-eyes data read out of the table memory 53 and defines or specifies in the mixer 52M the mixing part 52M A which mixes speech data from the terminals corresponding to the avatars of the group and the mixing part 52M B which generates an environment sound from speech data from the terminals corresponding to all avatars in the virtual space. The conversation monitoring part 52D controls the switch 52S to supply the mixing part 52M A with the speech data SD 1 and SD 2 received from the terminals 10 1 and 10 2 corresponding to the avatars of the discriminated group and the mixing part 52M B with the speech data SD 1 , SD 2 and SD 3 from all the avatars. Thus, the switch 52S transfers the speech data SD 1 to SD 3 received from the channel interface parts INF 1 to INF 3 to the mixing part 52M B . The mixing part 52M B mixes the speech data SD 1 to SD 3 and transfers the mixed sound S B as an environment sound to the switch 52S via a loss inserting part 5L B . The switch 52S sends the environment sound S B to the channel interface part INF 3 corresponding to the terminal 10 3 of the user not engaged in conversation and, at the same time, provides the sound S B via a loss inserting part 5L A to the mixing part 52M A . The mixing part 52M A mixes the sound S B with the speech data SD 1 and SD 2 from the channel interface parts INF 1 and INF 3 , respectively, and sends the mixed sounds SD 1 + S B and SD 2 + S B to the channel interface parts INF 2 and INF 1 , from which they are sent to the terminals 10 2 and 10 1 , respectively. As the conversation enable condition for the conversation monitoring part 52D to identify the avatars of the conversation group, it is possible to use the afore-mentioned conditions such as the distance between the avatars of the users, their mutual existence in the field of vision of the other, or a combination thereof. When the avatars of the conversation group end the conversation and enter a state in which the conversation enable condition is not satisfied, the conversation monitoring part 52D cut off the paths from the channel interface parts INF 1 and INF 2 to the mixing part 52M A and controls the switch 52S to send the environment sound S B from the mixing part 52M B to the channel interface parts INF 1 to INF 3 via the loss inserting part 5L B . The Fig. 15 embodiment has been described as being applied to the centralized connection type system; in the case of the distributed connection type system, as depicted in Fig. 16 (wherein no video-related parts are shown), position information of avatars received from respective terminals is written into a table memory 12E. A conversation monitoring part 12T controls a switch 12W to supply a mixing part 2M A with voice data received from the terminals corresponding to other avatars detected from their position information read out of the table memory 12E. By this, mixed voice data of the voice data of all the avatars is obtained from the mixing part 2M A , and the mixed voice data is provided to a loss inserting part 2L, wherein a predetermined loss is introduced thereinto to generate the environment sound S B , which is provided to a mixing part 2M B . On the other hand, the conversation monitoring part 12T detects other avatars which satisfy the condition for conversation directly or indirectly with the avatar of the terminal concerned on the basis of the position information of other avatars and the position information of the avatar concerned set by the control device 14 and controls the switch 12W to supply the mixing part 2M B with voice data received from the terminals corresponding to the above-mentioned other avatars satisfying the conversation enable conditions. As the result of this, the mixing part 2M B mixes the voices of the other avatars engaged in conversation with the avatar of the terminal user concerned, together with the environment sound S B , and the mixed output is provided to the speaker SP. As described above, the virtual space sharing apparatus of this embodiment lends more realism to the virtual space by supplying the environment sound to all avatars regardless of whether they are engaged in conversation or not.

Claims: A virtual space sharing apparatus which has a plurality of terminals (10 1 -10 3 ) connected to a communication network (NW) and server means (50) connected to the respective terminals through the communication network, wherein the terminals share a predetermined common virtual space and each terminal generates and displays a visual field image which changes as a respective avatar (A1-A3) representing a user of the respective terminal moves in said virtual space at said respective terminal, each terminal comprising: control means (12) which generates signals for selectively specifying the position of the respective avatar and the direction of its eyes in said virtual space; visual field image generating means (12G) which generates a visual field image in said direction of eyes in said virtual space from said position as a viewing point; position information sending and receiving means (11, 12, 12A) which sends said position and said direction of eyes as position information to said server means (50) via said communication network and receives therefrom position information of the avatars of the other terminals; avatar image forming means (12, 12G) which forms avatar images representative of users of said other terminals in said visual field at positions corresponding to said received position information; display means (13) which displays a combined image containing said visual field image and said avatar images; speech sending and receiving means (12, 12K) for sending speech data of the user of the respective terminal to said server means (50) via said communication network and for receiving speech data of the users of said other terminals from said server means; and speech output means (12J) for outputting said received speech data as speech; and said server means (50) comprising: select means (52D, 52C) which selects, for each avatar based on position information received from said terminals (10 1 -10 3 ), those of other avatars, as a group, with which the respective avatar is allowed to have conversation; environment sound data generating means which mixes speech data received from terminals corresponding to all of said avatars (A1-A3) and outputs environment sound data; and mixer means (52M) which mixes said environment sound and speech data from the terminals corresponding to said avatars selected by said select means for said respective avatar to produce mixed sound data and sends said mixed sound data to the terminal corresponding to said respective avatar. A virtual space sharing apparatus which has a plurality of terminals (10 1 -10 3 ) connected to each other through a communication network (NW), wherein the terminals share a predetermined common virtual space and each terminal generates and displays a visual field image which changes as a respective avatar (A1-A3) representing a user of the respective terminal moves in said virtual space at said respective terminal, each terminal comprising: control means (12) which generates signals for selectively specifying the position of the respective avatar and the direction of its eyes in said virtual space; visual field image generating means (12G) which generates a visual field image in said direction of eyes in said virtual space from said position as a viewing point; position information sending and receiving means (11, 12, 12A) which sends said position and said direction of eyes as position information to the other terminals via said communication network and receives therefrom position information of the avatars of the other terminals; avatar image forming means (12, 12G) which forms avatar images representative of users of said other terminals in said visual field at positions corresponding to said received position information; display means (13) which displays a combined image containing said visual field image and said avatar images; speech sending and receiving means (12, 12K) for sending speech data of the user of the respective terminal to said other terminals via said communication network and for receiving speech data of the users of said other terminals from said other terminals ; speech output means (12J) for outputting said received speech data as speech; select means (12T) which selects based on position information received from said other terminals (10 1 -10 3 ), those of other avatars, as a group, with which the respective avatar is allowed to have conversation; environment sound data generating means (2M A ) which mixes speech data received from terminals corresponding to all of said avatars (A1-A3) and outputs environment sound data; and mixer means (2M B ) which mixes said environment sound and speech data from the terminals corresponding to said avatars selected by said select means for said respective avatar to produce mixed sound data and applies said mixed sound data to said speech output means (12J). The apparatus of claim 1 or 2, wherein said select means comprises means for calculating, from the position information received from the terminals (10 1 -10 3 ), the distances between said respective avatar and the other avatars, and selecting those of the other avatars being at distances within a predetermined threshold value. The apparatus of claim 3, wherein said select means is means which selects, for each avatar (A1-A3), those of the other avatars whose distances from the respective avatar are within said threshold value and which are present in the field of vision of said respective avatar. The apparatus of claim 3, wherein said select means is means which selects, for each avatar (A1-A3), each of the other avatars whose distance from the respective avatar is within said threshold value, which has said respective avatar present in its field of vision and which is present in the field of vision of said respective avatar. The apparatus of claim 4 or 5, wherein said select means is means which additionally selects that one of the other avatars which is outside of the field of vision of said respective avatar but inside of the field of vision of any one of said selected avatars, and provides speech data from said additionally selected avatar to said mixer means. The apparatus of claim 1, which further comprises channel switching means which one-way connects speech data received from all of said terminals (10 1 -10 3 ) to said environment sound data generating means, two-way connects to said mixer means speech data received from said avatars of said group and one-way connects environment sound data outputted from said environment sound data generating means to said mixer means. The apparatus of any one of claims 1 to 7, which further comprises loss inserting means which inserts a loss into said environment sound data outputted from said environment sound data generating means and provides it to said mixer means. A display method for a virtual space defined by a plurality of terminals (10 1 -10 3 ) connected to a communication network (NW) and a server means (50) connected to the respective terminals through the communication network, wherein the terminals share a predetermined common virtual space and each terminal generates and displays a visual field image which changes as a respective avatar (A1-A3) representing a user of the respective terminal moves in said virtual space at said respective terminal, each terminal performing the steps of: (a) generating, by control means (11), signals for selectively specifying the position of the respective avatar and the direction of its eyes in said virtual space; (b) sending said position and said direction of eyes as position information together with speech data of the terminal user to said server means (50) through said communication network; (c) generating a visual field image in said direction of eyes in said virtual space from said position as a viewing point; (d) receiving, from said server means (50) through said communication network, position information and speech data sent thereto from other terminals and outputting said speech data as a speech; (e) forming avatar images representative of users of said other terminals in said visual field at positions corresponding to said received position information; and (f) displaying a combined image containing said visual field image and said avatar images; and said server means (50) performing the steps of: (g) selecting as a group, based on position information received from said other terminals, those of the avatars of said other terminals, as a group, with which conversation is enabled; and (h) mixing the speech data received from terminals corresponding to all of said avatars (A1-A3) to produce environment sound data, and mixing said environment sound data and speech data from the terminals corresponding said avatars selected in step (g) for said respective avatar, and sending said mixed sound data to the terminal corresponding to said respective avatar. A display method for a virtual space defined by a plurality of terminals (10 1 -10 3 ) connected to each other through a communication network (NW), wherein the terminals share a predetermined common virtual space and each terminal generates and displays a visual field image which changes as a respective avatar (A1-A3) representing a user of the respective terminal moves in said virtual space at said respective terminal, each terminal performing the steps of: (a) generating, by control means (11), signals for selectively specifying the position of the respective avatar and the direction of its eyes in said virtual space; (b) sending said position and said direction of eyes as position information together with speech data of the terminal user to the other terminals through said communication network; (c) generating a visual field image in said direction of eyes in said virtual space from said position as a viewing point; (d) receiving, from said said other terminals through said communication network, position information and speech data; (e) forming avatar images representative of users of said other terminals in said visual field at positions corresponding to said received position information; (f) displaying a combined image containing said visual field image and said avatar images; (g) selecting as a group, based on position information received from said other terminals, those of the avatars of said other terminals, as a group, with which conversation is enabled; and (h) mixing the speech data received from terminals corresponding to all of said avatars (A1-A3) to produce environment sound data, and mixing said environment sound data and speech data from the terminals corresponding said avatars selected in step (g), and outputting said mixed speech data as a speech. The method of claim 9 or 10, wherein step (g) includes steps for calculating, from position information received from said other terminals, the distances between said respective avatar (A1-A3) and the other avatars, and selecting those avatars being at distances within a predetermined threshold value. The method of claim 11, wherein step (g) includes a step of selecting, for each avatar (A1-A3), those of the other avatars whose distances from the respective avatar are within said threshold value and which are present in the field of vision of said respective avatar. The method of claim 12, wherein step (g) includes a step of additionally selecting that one of the other avatars which is outside of the field of vision of said respective avatar but inside of the field of vision of any one of said selected avatars. The method of claim 11, wherein step (g) includes a step of selecting, for each avatar (A1-A3), those other avatars whose distances from the respective avatar is within said threshold value and which are each present in the field of vision of the other. The method of claim 14, wherein step (g) includes a step of additionally selecting that one of the other avatars which is outside of the field of vision of said respective avatar but inside of the field of vision of any one of said selected avatars. The method of any one of claims 9 to 15, wherein step (h) includes a step of inserting a loss in said environment sound data and then mixing it with said received speech data.

Inventors: ARITA HIROYUKI, MORIUCHI MACHIO, MURAKAMI YUMI, NAGASHIMA YOSHIO, NAKAJIMA YASUHIRO, SUGAWARA SHOHEI, SUZUKI GEN, TANIGAWA HIROYA, ARITA, HIROYUKI, MORIUCHI, MACHIO, MURAKAMI, YUMI, NAGASHIMA, YOSHIO, NAKAJIMA, YASUHIRO, SUGAWARA, SHOHEI, SUZUKI, GEN, TANIGAWA, HIROYA
Applicants: NIPPON TELEGRAPH & TELEPHONE, NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Application year: 1995
Main classification: G06T15
IPC codes: G06T17, H04N7