Abstract:
A system for conducting a virtual audio-visual conference between two or more users comprising two or more client stations each acting as a signal source and destination for each respective user, having a user interface for audio-visual input and output including audio signal reception and generation means for receiving and generating audio signals, one or more servers, and a network coupling the client stations and the servers, wherein each user is represented as a corresponding movable visual symbol displayed on the user interfaces of all coupled client stations and the audio signal of all users is generated at each client station with an attenuation according to the spatial position of the respective symbols on the user interfaces and according to the direction in which each movable visual symbol of each signal source is oriented on the user interface.

Description:
FIELD OF THE INVENTION 
     This invention relates generally to the field of remote audio-visual conferencing and more specifically to a method and system for conducting virtual conferences with spatial audio. 
     BACKGROUND OF THE INVENTION 
     Telephony conference calls are well known in the art. The most common type of conference call involves two or more users connected over a telephone line carrying on a multi-person conversation. Such conference calls are audio only with no visual representations. Algorithms such as loudest caller (D. L. Gibson et al., “Unattended Audioconferencing”, BT Technology Journal, vol. 14, no. 4, October 1997) are used to generate audio, but unfortunately do not provide naturalistic representations of the speakers&#39; voices. 
     There is also known in the art conferencing applications that provide a limited visual representation of the conference. In one form of conferencing application, a simple list of the participants is displayed. The information provided to a participant is limited to merely the state of the conference call. Also, in the prior art, IBM has disclosed a conferencing application, known as IBM Java Phone which provides a limited visual representation of a conference. However, all of the above conferencing applications suffer from a lack of realistic sound reproduction because they do not consider a spatial or directional relationship between the participants. Furthermore, they fail to provide a sense of “presence” or to consider the relative position of the participants. They also do not provide a visual indication of which participants are currently online before the conference call is initiated. In these prior art systems, the initiator of a conference call must “set up” the conference call which includes explicitly specifying, locating and contacting prospective participants beforehand and then joining them to the conference call. 
     The use of the computer networks such as the Internet for conferencing is also known in the art. Personal computer based Internet telephony applications such as Microsoft Netmeeting provide both an audio and visual component to conferencing. However, products such as Microsoft Netmeeting still suffer from the drawback that the initiator must still contact each participant ahead of time using a regular phone to ensure that all parties are at their desks and willing to participate in the conference call. Such products still suffer from poor audio and visual quality and limited conference control. 
     A prior art alternative to conference calls where the call must be previously arranged is the computer chat room. A multi-user computer chat room is a virtual meeting place commonly experienced by users of both the Internet and intranets providing a means for establishing and maintaining formal contacts and collaboration. In a chat room, people assume virtual identities, which are generally known as avatars. Chat rooms can be connected to other such rooms allowing people to move from room to room, participating in different conversations. Any person in a room can talk to another person in the same room and conversations among users do not need to be announced although public and private conversations are allowed. One particular standard for the implementation of chat rooms is Internet Relay Chat (IRC). In the evolution of the technology, the prior art has developed three-dimensional multi-user rooms in which participants are represented by realistic renderings of people. Up until recently, communication in these virtual worlds has been limited to text. 
     The current standard for three-dimensional virtual meeting places, VRML (Virtual Reality Markup language), has evolved to include sound sources as is described in VRML 2.0. San Diego Center&#39;s VRML Repository at http://sdsc.edu/vrml/ also has provided examples of the use of chat rooms and the VRML standard. One of the major difficulties with the inclusion of sound is delivering a realistic continuous sound signal to the participants. The sound signal should sound “live”, rather than delayed or pre-recorded to facilitate interactive communication. The sound of prior art systems and methods is typically of poor quality and unrealistic. A further problem is that there is very little correlation between the visual representation and the audio presentation. The prior art chat rooms and virtual meeting place systems suffer from the same problems discussed above for audio conferences, in that they do not provide realistic sound replication and do not consider the visual position of the speaker relative to the listener when rendering the audio. 
     No work had been performed on combining the technology of virtual meeting places with audio which presents sound from all sound sources in their spatial configuration with respect to each participant. 
     SUMMARY OF THE INVENTION 
     The present invention provides a system and method in which users can set up voice conferences through a visual representation of a meeting room. The inventive system and method provides both a visual sense of presence as well as a spatial sense of presence. One feature of a visual sense of presence is that the participant is provided with visual feedback on the participants in the conference. One feature of a spatial sense of presence is that a conference does not need to be prearranged. A further feature of the spatial sense of presence is that a person can be located by sound. The audio stream emanating from the speaker is attenuated to reflect the spatial distance between the speaker and the listener and also contains a directional component that adjusts for the direction between the speaker and the listener. In the inventive system and method, users can engage in a voice interaction with other users which are represented on the user interface through visual representations, symbols or avatars. The model of interaction (sometimes known as the “cocktail party” model) provides navigational cues through pieces of conversations close in virtual space that can be eavesdropped. As a participant moves through a virtual meeting place, he or she can “browse” conversations and participate in those of interest. Each participant receives a different sound mix as computed for the position of his or her avatar in virtual space with respect to the others. Thus, audio is presented to each participant that represents the sound generated from all sources in their spatial relationship with respect to each participant. 
     Avatars can join a conversation (and leave another) by moving the avatar from the current group to another through virtual space. 
     In one aspect of the present invention there is provided a system for conducting a virtual audio-visual conference between two or more users comprising:
         a) two or more client stations each acting as a signal source and destination for each respective user, having a user interface for audio-visual input and output including audio signal reception and generation means for receiving and generating audio signals;   b) one or more servers; and   c) a network coupling said client stations and said servers;
           wherein each user is represented as a corresponding movable visual symbol displayed on the user interfaces of all coupled client stations and the audio signal of all the users is generated at each client station attenuated according to the spatial position of respective symbols on the user interfaces.   
               

     In another aspect of the present invention there is provided a method for generating a spatial audio signal in a virtual conference presented on an audio-visual device comprising the steps of: a) locating the position of a sound generating participant in a virtual conference; b) locating the position of a listening participant in the virtual conference; c) calculating the signal strength of the signal received from the generating participant at the position of the listening participant based upon the distance between the sound generating participant and the listening participant; and d) generating an output signal corresponding to the calculated signal strength. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a representative overview diagram of a virtual world of the present invention. 
         FIG. 2  is a representative block diagram of a communication system for implementing the virtual world of the present invention with spatial audio. 
         FIG. 3  is a representation of a contour plot using a uniform model of sound distribution with one person in a virtual meeting room. 
         FIG. 4  is a representation of a contour plot using a uniform model of sound distribution with three people in a virtual meeting room. 
         FIG. 5  is a representation of a user interface depicting a virtual meeting room. 
         FIG. 6  is a software architecture for implementing the present invention. 
         FIG. 7  is a representation of sound distribution using a directional model for one person in a meeting room. 
         FIG. 8  is a representation of sound distribution for one person where the angle of direction of the sound is illustrated. 
         FIG. 9  is a representation of directional sound distribution illustrating two participants. 
         FIG. 10A  is a representation of directional sound distribution illustrating eavesdropping by a third participant. 
         FIG. 10B  is a representation illustrating the attenuation at point b with regard to a sound source at point a. 
         FIG. 11  is a representation of an alternate embodiment of the present invention where multiple rooms on the floor of a virtual building are illustrated. 
         FIG. 12  is a representation of an alternate embodiment of the present invention where a sidebar conversion is shown. 
         FIG. 13  is a graphical representation of an alternate embodiment illustrating where the real-time distance range from sound source is divided into intervals. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Turning to  FIG. 1 , a virtual world  100  may depict some imaginary place or model of an aspect of the real world. The virtual world  100  has a number of meeting places where participants can interact. In a preferred embodiment, a meeting place consists of a number of connected rooms  102  which may themselves be part of virtual building  104 . The buildings can have a number of floors  106  and movement through the building can be facilitated by an elevator  108 . The rooms  102  are connected by doors  110  and  112 . Open doors  112  indicate that the voices from one room can be heard in neighboring rooms. People interacting in the virtual world  100  are represented by symbols or avatars  114  and can move around the virtual world  100 . Groups of people in a room  102  can have conversations. 
     Overlapping boundaries between conversations enables eavesdropping from one conversation to another with the intensity of the sound emanating from a conversation dropping off with the distance from the other participants as described with respect to the Figures below. 
     An avatar  114  can join or leave a conversation as the participant changes the location of the avatar  114  in the virtual meeting room  102 . Eavesdropping occurs when a participant represented by avatar  114  listens to a conversation different from the one in which it is currently engaged. Also, a participant represented by an avatar would also be eavesdropping where it does not take part in any conversation. Joining or leaving a conversation is achieved by moving the avatar  114  from one participant or group of participants represented by avatars  114  to another through the virtual world  100 . In addition, eavesdropping can be restricted to specific participants in order to support sidebar conversations or a “cone of silence” (conversations restricted to only a specific subset of participants represented). This is described in further detail with respect to  FIG. 12 . 
     Turning to  FIG. 2 , a communication system  200  embodying the present invention is shown. The example shown in  FIG. 2  is a client server architecture, although the invention can easily be modified to operate on a single stand-alone machine using a graphical terminals or interface. Users  202  interface with client stations  204  to participate and communicate with other users  202 . Client stations  204  are communications devices or personal computers such as are well known in the art with graphical user interfaces and may include a keyboard, a pointing device such as a mouse, or joystick, an audio system with microphone and speakers or headphone. In a preferred embodiment, client stations  204  are personal computers running an operating system such as Windows 95 from Microsoft although other operating systems and graphical use interfaces such as are well known in the art could be used. In the preferred embodiment, client stations  204  connect to servers  206  through local area networks  208 . Servers  206  can be any appropriate commercially available software and hardware devices such as are well known in the art. In a preferred embodiment, server  206  is an Intel processor based network server from Compaq Computers running the Windows NT operating system from Microsoft. The local area networks  208  can be based on Ethernet or any other commercially available local area network. Local area networks  208  can be interconnected through a wide area communication system  210  which may also be an ATM network or a network of any other type that allows for client stations  204  to connect to server  208 . Servers  208  are also optionally connected to peripheral devices such as printers and may have connections to other systems and devices, including both voice systems and data systems, in the outside world. The method and system of the present invention is typically implemented using software running on client stations  204  and servers  206 . 
     Turning to  FIG. 3 , an illustration of sound intensities assuming a uniform distribution of sound emanating from an avatar  302  in a meeting room  300  is shown. An x-y grid can be superimposed on the meeting room to identify each point in the room. A formula to compute the intensity of sound distribution of a point source at a point (x,y) of the signal of a sound source located at (x 0 ,y 0 ), (assuming A is the initial intensity at which the source is generating sound signals and λ determines how fast the intensity decays) can be approximated by an inverse square function: 
     
       
         
           
             
               I 
               ⁡ 
               
                 ( 
                 
                   x 
                   , 
                   y 
                 
                 ) 
               
             
             = 
             
               A 
               
                 
                   λ 
                   ⁡ 
                   
                     ( 
                     
                       
                         
                           ( 
                           
                             x 
                             - 
                             
                               x 
                               0 
                             
                           
                           ) 
                         
                         2 
                       
                       + 
                       
                         
                           ( 
                           
                             y 
                             - 
                             
                               y 
                               0 
                             
                           
                           ) 
                         
                         2 
                       
                     
                     ) 
                   
                 
                 + 
                 1 
               
             
           
         
       
     
     Intensity and A may be measured in any appropriate units, such as decibels. 
       FIG. 3  shows a contour plot of such a sound distribution where λ=0.05. In  FIG. 3  the sound source (avatar  302 ) is located at point (5,5) in virtual room  300  with dimensions of 20×10 units, and generates sound signals with an initial intensity A equal to 3. In  FIG. 3 , the white area on the plot corresponds to highest intensity, and as the grey level darkens, the intensity drops to 0.0. 
     Turning to  FIG. 4 , an illustration of a more complex room  400  containing three avatars  402 ,  404  and  406  is shown. Avatars  402 ,  404  and  406  are illustrated with locations as indicated in Table 1. This scenario illustrates a typical meeting room with a three avatars grouped around a set of tables  401 . 
     
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Location (x 0 , y 0 ) 
                 Intensity A 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 Avatar 402 
                 (15,8) 
                 1.0 
               
               
                 Avatar 404 
                 (15,2) 
                 2.0 
               
               
                 Avatar 406 
                  (5.5) 
                 3.0 
               
               
                   
               
             
          
         
       
     
     In the example of  FIG. 4 , avatar  402  generates a signal with intensity 1.0, avatar  404  generates a signal with intensity 2.0, and avatar  406  generates a signal with intensity 3.0. 
     The total intensities and the contributions from each individual avatar  402 ,  404  and  406  at each location are shown in Table 2. Each avatar  402 ,  402 ,  406  hears the sound contributions of the other avatars. The contribution of each avatar is calculated using the formula described with respect to  FIG. 3  where the point (x, y) is the position of the avatar hearing the sound, and the point (x 0 , y 0 ) and A are the location and intensity respectively, of the avatar generating the sound. The total intensity is the sum of the contributions of each avatar. The total intensity at any point represents the sound that would be heard by the avatar at that point, and would be the audio output through the speaker or headset of the participant represented by that avatar at the participant&#39;s client station. 
     In  FIG. 4 , using the formula previously described with respect to  FIG. 3 , the sound intensity or spatial audio for the entire virtual room can be calculated. For example, the intensity around the point (10,5), is 2.4. Towards the middle side of the room, at location at point (10,2) it is 2.2. And in the left lower corner, at location (0.0), the intensity is at 1.1. 
     
       
         
               
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                   
                 Contributed 
                 Contributed 
                 Contributed 
               
               
                   
                 Total 
                 from 
                 from 
                 from 
               
               
                   
                 intensity 
                 avatar 1 (402) 
                 avatar 2 (404) 
                 avatar 3 (406) 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 Avatar 1 
                 2.1794 
                 1.0 
                 0.714286 
                 0.465116 
               
               
                 (402) 
               
               
                 Avatar 2 
                 2.82226 
                 0.357143 
                 2.0 
                 0.465116 
               
               
                 (404) 
               
               
                 Avatar 3 
                 3.46512 
                 0.155039 
                 0.310078 
                 3.0 
               
               
                 (406) 
               
               
                   
               
             
          
         
       
     
     Turning to  FIG. 5 , an example of a user interface  500  of a client station  204  of  FIG. 2  is shown. As discussed with respect to client station  204  of  FIG. 2 , each user interface  500 , includes a screen, and input/outputs means such as a mouse, keyboard, CPU and audio input/output device such as speakers and a microphone. The user interface  500  could operate on any typical graphical computing environment, such as Windows 95, X Windows or graphical terminal. The user interface  500  could be programmed in software in any suitable, well known computing language for execution on client station  204  of  FIG. 2 . The “Meeting Room” window  502  shows the location of the facilities (tables  504 , doors  508 , etc.) in the meeting room and the representations of the participants in the meeting room (avatars  508 ,  510 , and  512 ). The window title  514  also indicates the name of the room. Participants are identified by a participant identifier  516 , such as a number that appears the list in the “Meeting Room Inspector” window  518 . Alternatively, photographs of the participants, or the names of the participants if the space on the window allows, could be used to represent the participants. 
     Each participant can move in virtual space by repositioning its avatar  508 ,  510 ,  512  with the pointing device. The participant might also change the orientation of its Avatar  508 ,  510 ,  512 , if instead of the point source model of sound, a directional sound model is employed as further described with respect to  FIGS. 7 to 10 . 
     The “Meeting Room Inspector” window  518  provides the means to view the progress of the conference. The window  518  presents a list of the names of the current participants and matches them up with the participant identifier  516  used in “Meeting Room” window  502 . It can also provide settings control such as mute control  520  for adjusting the environment such as muting a participant. Through the mute control  520 , a user can instruct the system not to output audio from a participant, although the participant&#39;s Avatar might be within audible distance. This control feature can be used when the participant at user interface  500  does not want to listen to another participant (for example—the other participant is noisy, makes obscene remarks etc.). 
     Similarly, the participant at user interface  500 , which would be represented by a participant identifier  516  in meeting room inspector window  518  may also wish that all other participants not hear what is going on locally. By selecting mute control  520  corresponding to the participant identifier  516  for the participant at user interface  500 , that participant can prevent local audio from going to the other participants, thereby performing a form of call screening. 
     In an alternate embodiment, not shown, a similar control window to the meeting room inspector window could be used to selectively choose which participants can hear regular audio. By selecting the appropriate settings, a participant can tell the system which other participants are to hear the audio. This is a way of implementing a sidebar conversation as described in further detail with respect to  FIG. 12 . Finally, the user interface  500  has a volume control window  522  by which the user can modify the intensity of its signal, for example, to compensate weak line transmission. 
     Turning to  FIG. 6 , an example of a software architecture  600  for message flow between the components of the communication system  200  of  FIG. 2  of the present invention is shown. 
     The architecture  600  shows a configuration with three participants, A,B, and C where client subsystems  602  and  604  for participants A and C only are shown in full. Client subsystems  602  and  604  are run on the client stations  204  of  FIG. 2  with each participant represented as an avatar on the user interface of each client station. Each participant has a corresponding client subsystem ( 602 ,  604 ) within its client station which consists of a source  606  and  608  and a mixer  610  and  612  respectively. The source  606 , 608  is a software module that receives audio input from a microphone by calling the sound card driver API on the client station. The source  606 ,  608  receives the audio input from the participant and generates a stream of audio updates together with information on the current location of the participants. The mixer  610 ,  612  is a software module that receives audio streams and location information from the other client subsystems and integrates and synchronizes the audio streams as described below. 
     Client subsystems  602  and  604 , of which the mixers  610 ,  612  are a part, do not interact with each other directly but send their updates to a world server  614  which then dispatches them to the appropriate client subsystems  602  and  604 . The world server  614  is typically run as a software module on a server  208  of  FIG. 2 . In addition to providing audio services, world server also provides the necessary communications management of the graphics signals in a manner such as is well known in the art to support the user interface if each participant, as discussed with respect to  FIG. 5 . Communication is facilitated by packets passed between client subsystem  602 , 604  and world server  614 . Each client subsystem  602 ,  604  is represented by its own thread (reflector) in the world server  614  that handles updates from its client subsystem and forwards updates to the other reflectors  616 ,  618  and  620  in the world server  614 . For each client there is a corresponding reflector  616 ,  618  and  620  in world server  614 . 
     In an alternate embodiment, (not shown) the world server could be separated from the system or server providing the graphical representation of the virtual world. In this manner, the present invention can used to extend a prior art virtual world, such as VRML with the world server  614  of the present invention dedicated to carrying the voice traffic between the participants. This significantly enhances the performance of existing systems, which are based on sharing the same LAN or Internet for data and voice traffic. 
     An example of the typical message flow between client subsystems  602 ,  604  and world server  614  can be illustrated as follows:
         1. Client subsystem  602  (A) updates its input audio stream  622  and sends a packet to the world server  614  together with the location of the participant.   2. Reflector  616  (A) receives the update packet and forwards it to all other reflectors, namely reflector  618  (B) and reflector  620  (C).   3. Reflector  620  (C) sends a request  626  to mixer  612  (C) to mix in the update packet into its output audio stream. Mixer  612  (C) synchronizes the audio packet with the other audio packets it has received but not yet played and adds the audio streams locally. Reflector  618  (B) similarly requests Mixer B (not shown) to mix in the update and Mixer B acts on it.       

     The software architecture  600  illustrated above is only one preferred embodiment where the invention may be deployed in which audio processing is distributed among clients. Alternative embodiments, not shown, are possible where all software modules, except for the client display and client-side audio streaming, but including audio attenuation and mixing for each client, could run on a central multipoint control unit (MCU) on a server of  FIG. 2 . The choice whether to centralize or distribute the processing is based simply on practical considerations such as the processing power required for real-time audio processing, communications speed, etc., and does not affect the essence of the invention. For example, an alternate embodiment of the invention in an architecture using the H.323 standard for IP-based audio and video communication services in local area networks could be used. In this alternate embodiment, the present invention is deployed using a multipoint control unit (MCU) that supports conferences between three or more endpoints. The MCU consists of a Multipoint Controller (MC) and several Multipoint Processors (MP) deployed similarly to client stations. All endpoints send audio streams to the MCU in a peer-to-peer fashion. The MP performs the mixing of the audio streams and sends the resulting streams back to the participating terminals or client stations. 
     In an alternate embodiment, to reduce the load on the network, the world server  614  will actually choose not to forward an audio packet if the participants are too far apart or they are not in sight-line (as shown on the user interface) and to aggregate audio packets from nearby participants when forwarding an audio packet to “remote” participants. Participants can also be excluded from a conversation to create a sidebar conversation or cone of silence as described in further detail with respect to  FIG. 12 . 
     This alternate embodiment is an optimization to reduce the amount of packets sent across the network. Given the way by which the world server  614  can determine the distance between two avatars and that the corresponding sound attenuation is below some threshold, the world server  614  can chose not to forward an audio packet. Similarly, it can suppress an audio packet, if there is an obstacle shown on the user interface (such as a wall) between the avatars that would prevent the propagation of sound between them. 
     Returning to  FIG. 6 , the synchronization technique used to align the audio packets arriving at mixers  610  and  612  (originating from different instances of the same message flow) is based on standard techniques for compressing and expanding audio packets, for example, as described in U.S. Pat. No. 5,784,568. Each audio packet contains an identifier and a sequence number. The identifier uniquely identifies its source and the sequence number allows the mixers  610  and  612  to drop and/or interpolate between packets. 
     The mixers  610  and  612  use the location information in each of the update message packets to determine the audio signal to be delivered to each participant. Using the computation procedure described with respect to  FIGS. 3 and 4  for a uniform distribution, or  FIGS. 8 to 11  for a directional distribution, the mixers  610  and  612  calculate and determine the signal strength by attenuation of the audio signal to simulate the drop in intensity. In a preferred embodiment, all computation is done locally at the mixers  610  and  612  to minimize the computational load of the world server  614 . 
     An example of the attenuation of the signal strength is described below. The procedure can easily, with obvious modifications, be applied to a directional distribution sound model. If the location information for the sending Source S as indicated in the update message is (x S , y S ) and the current location of receiving Source R is (x R , y R ), the audio signal is attenuated by the following factor A: 
               A   ⁡     (       x   R     ,     y   R       )       =         I   ⁡     (       x   R     ,     y   R       )       /     A   S       =     1       λ   ⁡     (         (       x   R     -     x   S       )     2     +       (       y   R     -     y   S       )     2       )       +   1               
using the formula for the intensity of a sound source described with respect to  FIGS. 3 and 4 . In the formula for the intensity we need to substitute (x 0 ,y 0 ) by (x S ,y S ) and A by A S .
 
     Turning to  FIG. 7 , an alternate embodiment of the present invention illustrating a directional sound source is shown. The implementation of a directional sound source as an alternative to the uniform model of  FIGS. 3 and 4  for calculation of the sound intensity provides improvements in quality and realism. As previously described, the examples of  FIGS. 3 and 4  use a uniform model of sound propagation, that is, the sound intensity drops off as the radial distance from the participant increases. A more realistic model is to model participants as directional sound sources. 
     In a directional sound source model, the range of the sound emitted by each participant can be approximated by an ellipse. As shown in  FIG. 7 , the ellipse  702  is defined by the origin of the sound source  704  (point A), which coincides with a focus of ellipse  702 , the forward range  706  (max A ) from the sound source, and the backward range  708  (min A ), and its orientation in space, that is, the directionality of the sound, as indicated by the unit vector  710  (u A ). The sound intensity drops proportionally to the square of the real-time distance (that is, distance normalized to a value between 0 and 1) from the sound source. Mathematically, the intensity never actually drops to 0. However, at some distance the intensity will drop below the audibility threshold. We thus select the decay factor λ such that the attenuation at the boundary of the ellipse will bring the intensity below a user-defined audibility threshold. This threshold may be a parameter that the user or administrator can set through the graphical user interface to calibrate the system. We can select a value of λ such that at the boundary of the ellipse, the intensity will be 1/N th  of the initial intensity. This is described in further detail with respect to  FIGS. 10A and 10B . 
     Turning to  FIG. 8 , an example illustrating the angle of directionality of sound from a participant is shown. 
     The participant A is represented by avatar  802  on a graphical display device. The orientation of the avatar  802  can be defined by a unit vector u A  rooted in a focus of an ellipse  804  that describes the sound distribution superimposed over avatar  802 . The focus of ellipse  804  coincides with the origin of the sound source, avatar  802 . An (x,y) coordinate system can be superimposed at the origin of the sound source, avatar  802 . The unit vector u A  forms an angle φ with the vector (−1,0) of the (x,y) coordinate system, as shown in  FIG. 8 . A participant A, through the graphical user interface, can adjust the orientation of the avatar using the pointing device used for moving the avatar  802  in virtual space or through a physical input device. There are various ways a participant A could specify the angle φ, for example, by rotating a dial on the screen with the mouse, or by turning a dial on a physical input device. 
     Turning to  FIG. 9 , an example illustrating the directionality of sound from two participants is shown. 
     Participants can only hear each other when they are in each other&#39;s range. In  FIG. 9 , participant A is represented by avatar  902  on a graphical user interface, which has a directional sound distribution represented by ellipse  904 . Likewise, participant B is represented by avatar  906  which has a directional sound distribution represented by ellipse  908 . The determination of whether participant B can hear participant A is whether avatar  906  of participant B is inside ellipse  904  describing participant A&#39;s sound distribution. As can be seen from  FIG. 9 , avatar  906  of participant B is inside ellipse  904  of participant A, therefore, participant B can hear the sound emanating from participant A. In contrast, avatar  902  of participant A is not within the ellipse  908  of participant B, therefore, participant A cannot hear sound emanating from participant B. 
     Eavesdropping on conversations can be defined in terms of a table. Table 3 illustrates when a third participant would be able to eavesdrop on the conversation between two other participants. A participant represented by an avatar is said to be able to “eavesdrop” into another conversation if it is located sufficiently “close” the avatars representing the parties involved in the conversation. 
     
       
         
               
               
               
             
               
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 I A  = 0 
                 I A  &lt; 0 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 I B  = 0 
                 NO 
                 NO 
               
               
                   
                 I B  &lt; 0 
                 NO 
                 YES 
               
               
                   
                   
               
             
          
         
       
     
     Table 3 indicates that in order for a third participant to eavesdrop on the conversation between two other participants, A and B, the intensities I A  and I B , as measured at the location of the third participant, must both be greater than 0. Another way of stating this is that third must be in the intersection of the elliptical sound distributions for A and B. Assuming that the intensity is set to 0 outside of the ellipse for computational efficiency. Turning to  FIG. 10A , the eavesdropping of a third participant on the conversation of two other participants is illustrated using a directional sound distribution. In  FIG. 10A , participant A is represented by avatar  1002  on a graphical user interface, which has a directional sound distribution represented by ellipse  1004 . Likewise, participant B is represented by avatar  1006  which has a directional sound distribution represented by ellipse  1008 . A third participant C which wishes to eavesdrop, represented by avatar  1010  is shown in four positions: C, C′, C″ and C′″ respectively. With avatar  1010  at position C′″, neither participant A nor participant B are audible to participant C. At position C′″, as avatar  1010  approaches avatar  1002 , participant A becomes audible, but not participant B. With avatar  1010  at position C′, participant B becomes audible, but not participant A. With avatar  1010  at position C, both participant A and participant B (i.e. the conversation) become audible as avatar  1010  is in the boundary defined by the intersection of the two sound distribution ellipses  1004  and  1008 . 
     This can also be represented by a table. Table 4 below, which is similar to Table 3, illustrates how sound can provide a navigational cue. 
     
       
         
               
               
               
             
               
               
               
               
             
           
               
                   
                 TABLE 4 
               
               
                   
                   
               
               
                   
                 I A  = 0 
                 I A  &lt; 0 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 I B  = 0 
                 C′″ 
                 C″ 
               
               
                   
                 I B  &lt; 0 
                 C′ 
                 C 
               
               
                   
                   
               
             
          
         
       
     
     Tables 3 and 4 can be generalized to multiple avatars in an obvious manner. 
     The intensity of sound experienced at a position B relative to sound source at position A for a directional sound model can be determined numerically. A&#39;s sound distribution as measured at point b is defined by the origin of the sound source a and parameters u A , max A , min A  and N A , as discussed above with respect to  FIGS. 7 to 9 . This approximation assumes that the attenuation factor N A  has been chosen such that the sound intensity from a participant at location A is above an audibility threshold. We can select a value of λ such that at the boundary of the ellipse, the intensity will be 1/N A  of the initial intensity. To simplify the calculations, we can set the sound intensity from a sound source A to zero outside A&#39;s ellipse. This is a practical assumption that reduces the computational effort required for computing the various sound distributions. 
     The formula for the attenuation at a point b with regard to a sound source in a is: 
               A   ⁡     (       x   B     ,     y   B       )       =     1     1   +       (       N   A     -   1     )     ⁢           ⁢         (     b   -   a     )     ⁢     (     b   -   a     )           r   ⁡     (       max   A     ⁢     ,       min   A     ⁢     ,     π   -   ω             )       2                   
where
 
             ω   =     arccos   ⁢           ⁢         (     b   -   a     )     ⁢     u   A             (     b   -   a     )     ⁢     (     b   -   a     )           ⁢           ⁢   and                   r   ⁡     (     max   ,   min   ,   ϕ     )       =       2   ⁢           ⁢   max   ⁢           ⁢   min       max   +   min   +       (     max   -   min     )     ⁢   cos   ⁢           ⁢   ϕ               
When point B is at the periphery of the ellipse, we get—according to the definition of real-time distance:
 
               A   ⁡     (       x   B     ,     y   B       )       =     1     1   +       (     N   -   1     )     ⁢     (   1   )                 
The intensity is simply the product of the base intensity of the sound source and the attenuation at the point for which the intensity is computed.
 
     The attenuation can be illustrated by example as shown in  FIG. 10B .  FIG. 10B  shows a graphical representation  1050  with sound sources A ( 1052 ) and B ( 1054 ). Assume sound source A ( 1052 ) is located at a=(−2,2), with a base intensity of 3 and has a forward range of 20, a backward range of 1, and an orientation of 60° (degrees) or p/3 (radians) from the −x axis and decay factor N=5. Sound source B ( 1054 ) is located at b=(−4,8), and has a forward range of 10, a backward range of 5, and an orientation of 270° (degrees) or 3p/2 (radians). 
     The unit vector u for the directional sound source at A ( 1052 ) is given by: 
             u   =       {       -     Cos   ⁡     [     π   /   3     ]         ,     Sin   ⁡     [     π   /   3     ]         }     =       {       -           ⁢     1   2       ,       3     2       }     =     {       -   0.5     ,   0.866025     }               
Continuing the example, we can calculate the common terms as set out below.
 
               b   -   a     =     (         -   4     -     (     -   2     )       ,       (     8   -   2     )     =         {       -   2     ,   6     }     ⁢     
     ⁢       (     b   -   a     )     ·   u       =         {       -   2     ,   6     }     ·     {       -           ⁢     1   2       ,       3     2       }       =       1   +     3   ⁢     3         =       6.19615   ⁢     
     ⁢       (     b   -   a     )     ·     (     b   -   a     )         =         {       -   2     ,   6     }     ·     {       -   2     ,   6     }       =           (     -   2     )     ⁢     (     -   2     )       +       (   6   )     ⁢     (   6   )         =   40                           
Further continuing the example, we can calculate ω as set out below.
 
First we compute the angle ω between b-a and u. This angle is then used as input to the formula for r, the real-time distance between A and B.
 
The cosine of ω becomes:
 
               cos   ⁡     (   ω   )       =           (     b   -   a     )     ·   u           (     b   -   a     )     ·     (     b   -   a     )           =         1   +     3   ⁢     3           40       =         1   +     3   ⁢     3           2   ⁢     10         =   0.979698               
Thus we obtain ω.
 ω=ArcCos [0.979698]=0.201848 
From the above, we can perform the calculation of r(max, min,φ)
 
where φ=π−ω.
 φ=π−ω=3.141593−0.201848=2.93974 
Continuing the example where max=20 and min=1, plugging into the formula for r, we obtain:
 
                 2   ⁢           ⁢   max   ⁢           ⁢   min       max   +   min   +       (     max   -   min     )     ⁢     Cos   ⁡     [   φ   ]             =         2   ⁢     (   20   )     ⁢     (   1   )         20   +   1   +       (     20   -   1     )     ⁢     cos   ⁡     (   2.93974   )             =   16.7663           
Alternatively, from geometry we know that cos(π−ω)−cos ω. Although, above we computed the value of ω for clarity, in fact, to reduce the calculations, we only need to compute the cos ω, and can avoid recomputing the cosine of π−ω in the formula for r. We thus could have computed r more simply as follows:
 
                 2   ⁢           ⁢   max   ⁢           ⁢   min       max   +   min   -       (     max   -   min     )     ⁢     Cos   ⁡     [   ω   ]             =         2   ⁢     (   20   )     ⁢     (   1   )         20   +   1   -       (     20   -   1     )     ⁢     cos   ⁡     (   0.201848   )             =   16.7663           
Calculation of the Attenuation at Point B
 
The sound intensity drops proportionally to the square of the real-time distance from the sound source. Since, mathematically, the intensity never actually drops to 0, we select the decay factor λ such that the attenuation at the boundary of ellipse will be 1 N-th of initial intensity. N should be chosen such that for attenuations larger than an N-fold reduction the sound is below the audibility threshold. This threshold may be a parameter that the user or an administrator can set through graphical user interface during a calibration phase.
 
     The formula, as previously discussed, for computing the attenuation at point B is: 
               A   ⁡     (       x   B     ,     y   B       )       =     1     1   +       (       N   A     -   1     )     ⁢           ⁢         (     b   -   a     )     ⁢     (     b   -   a     )           r   ⁡     (       max   A     ⁢     ,       min   A     ⁢     ,     π   -   ω             )       2                   
If we choose N=5, plugging in the intermediate results from above, we have an attenuation A (x B , y B ) of:
 
               1     1   +       (     5   -   1     )     ⁢       (   40   )     /       (   16.7663   )     2             =   .637277         
Calculation of the Sound Intensity at Point B
 
Assuming a base intensity at point A of 3, the sound intensity at I (x B , y B ) point B is:
 
(base intensity of A)*(attenuation at point B)
   I ( x   B   ,y   B )= A*A ( x   B   ,y   B )=3*0.637277=1.91183 
Where there are multiple sound sources, then the total intensity at any point is merely the sum of the sound intensities from each source, a similar and obvious adaptation of the procedure described with respect to Table 2 and the calculation example above.
 
Extensions
 
     The invention is not limited to a single virtual room, but applies similarly to several floors with connected rooms. However, some modifications to the way sound propagation is computed would be appropriate in this case in order to make the computation more efficient. In this scheme, a room can be treated as a single sound source to locations outside the room. That is, the new sound source is not used for sound propagation computations inside the room. 
       FIG. 11  shows one floor  1100  of a virtual building with rooms  1102 ,  1104 ,  1106  and  1108  that are connected through doors  1110 ,  1112  and  1114  respectively. A room ( 1102 ,  1104 ,  1106 ) can be connected to several other rooms at the same time, such as room  1108 , which is the virtual equivalent of a shared hallway. 
     Each room  1102 ,  1104 ,  1106  and  1108  is represented by an equivalent sound source that has an initial intensity A equal to the intensity that would be experienced by an avatar located in the center of the door to the room as indicated by the points  1116 ,  1118  and  1120  respectively. If a room has multiple doors, such as room  1108 , it is represented by as many equivalent sound sources such as points  1116 ,  1118  and  1120 . This simplification is reasonable since the sound does not propagate through the door in the same manner as in free space inside the room. At the same time, this provides a better approximation of the sound distribution in a physical building than that obtained by assuming that the sound does not propagate beyond the doors of a room. In this manner, an avatar can move throughout virtual rooms, floors and buildings and eavesdrop and participate in numerous conversations of interest. 
     Turning to  FIG. 12 , an alternate embodiment of the present invention where a sidebar conversation held within a “cone of silence” is shown. Avatars  1204  and  1206  are present in meeting room  1202  with the participants represented by Avatars  1206  engaged in a private sidebar conversation, shown as within cone-of-silence  1208 . The participants represented by Avatars  1204  are not participants in the side bar conversation, and are shown outside cone of silence  1208 . 
     The participants represented by Avatars  1204  excluded from the sidebar conversation will only hear a strongly attenuated version of the sound of the sidebar (conversation such that the sound generated is just above a level of being audible. These gives the participants corresponding to Avatars  1204  the sense that there is a conversation between the sidebar participants represent by Avatars  1206 , but does not allow them to eavesdrop on it. The method for dismissing the sound generated for the participants represented by avatars  1206  would be as previously described with respect to  FIGS. 1-10 . 
     The participants represented by Avatars  1204  can be included in a sidebar conversation by selecting them in the graphical representation of the virtual meeting room  1202 . Any single participant can start a sidebar conversation. Mechanisms, using an appropriate check box window, similar to the meeting room inspection window  518  of  FIG. 5  may be put in place to allow only current participants in a sidebar conversation to add new participants. 
     Turning to  FIG. 13 , an alternate embodiment of the present invention is shown in graph  1302  where the real-time distance is divided into intervals. This can be used to simplify the calculations where calculation efficiency is important by dividing the real-time distance range into a number of intervals and computing only one attenuation value per interval as shown in graph  1302  of  FIG. 13 . Graph  1302  shows the original attenuation function  1304  and a stepped attenuation function  1306 . The value calculated for the interval is then the attenuation applied to all locations whose distance from the sound source falls within that interval. 
     One can take advantage of the division into intervals by selecting the intervals such that subsequent intervals are mapped to half the attenuation of the previous interval. This simplifies the computation of the attenuated sound, since now a floating-point division can be replaced by a shift right by one. One can easily see that the upper bound of the n-th interval can be computed by the following formula:
 
 r   n =√{square root over ((2 n −1)/( N− 1))}{square root over ((2 n −1)/( N− 1))}
 
     For example, as shown in the graph  1302  of  FIG. 13 , assume we want to divide the real-time distance into three intervals, first interval  1308  which goes from 0.0 to r 1 , second interval  1310  which goes from r 1  to r 2 , and third interval r 3  which goes from r 2  to 1.0, and the decay factor N=5. From the formula above, we obtain the interval values: 
     First Interval  1308 : from 0 to r 1 =√{square root over ((2 1 −1)/(5−1))}{square root over ((2 1 −1)/(5−1))}=0.5 
     Second Interval  1310 : from r 1 =0.5 to r 2 =√{square root over ((2 2 −1)/(5−1))}{square root over ((2 2 −1)/(5−1))}=0.866 
     Third Interval  1312 : from r 2 =0.866 to 1 
     With centralized mixing in an MCU, this could be employed to further advantage as the same attenuated audio packet can be sent to all participants whose distance from the sound source falls within the same interval. If, for example, as in the graph of  FIG. 13 , we divide the real-time distance range into three intervals of attenuation 1, ½ and ¼, we need to attenuate an audio packet at most three times, not individually for each participant, no matter how many participants there are. This alternate embodiment reduces the computation necessary where the computation is performed centrally in an MCU and delivered to the user interfaces of the various participants. 
     In a further embodiment of the invention, several different locations associated with one user can be represented as virtual meeting rooms. These can include the user&#39;s desktop at work, the desktop at home, the hotel room in which the user is staying, etc. This allows the user to define at which default locations it wants to be located and contacted for conversation. In this manner, avatars can be used as presence indicators that show the availability of people in a virtual community. 
     In a further embodiment, the invention can be extended to three-dimensional worlds. The notions of navigation cues and eavesdropping are the same. However, current 3D technologies still require the computing power of a high-end PC and, at the same time, currently only offer primitive user interfaces that are hard to navigate. 
     Although the invention has been described in terms of a preferred and several alternate embodiments, those skilled in the art will appreciate that other alterations and modifications can be made without departing from the sphere and scope of the teachings of the invention. All such alterations and modifications are intended to be within the sphere and scope of the claims appended hereto.