DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 24-43 are pending under this Office action.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 24-43 are rejected under 35 U.S.C. 103 as being unpatentable over Leahy, etc. (US 20070050716 A1) in view of Zalewski, etc. (US 20080215972 A1).
Regarding claim 24, Leahy teaches that a method (See Leahy: Fig. 1-4, and [0023], “Referring now to FIG. 3, a block diagram is shown of a world system 54 in which a user A, at a first client system 60 (client A), interacts with a user B at a second client system 60 (client B) via a server 61. Client system 60 includes several databases, some of which are fixed and some of which are modifiable. Client system 60 also includes storage for program routines. Mechanisms for storing, reading and modifying data on computers such as client system 60 are well known in the art, as are methods and means for executing programs and displaying graphical results thereof. One such program executed by client system 60 is a graphical rendering engine which generates the user's view of the virtual world”), comprising:
acquiring first data relating to a first position of a first avatar in a virtual space operated using a first terminal of a first user (See Leahy: Fig. 1-4, and [0027], “Current avatar position register 114 contains the current position and orientation of A's avatar in the virtual world. This position is communicated to other clients via network message processor 104. The position stored in register 114 is updated in response to input from input devices 116. For example, a mouse movement might be interpreted as a change in the current position of A's avatar. Register 114 also provides the current position to rendering engine 120, to inform rendering engine 120 of the correct view point for rendering”; [0028], “Remote avatar position table 112 contains the current positions of the "in range" avatars near A's avatar. Whether another avatar is in range is determined a "crowd control" function, which is needed in some cases to ensure that neither client 60 nor user A get overwhelmed by the crowds of avatars likely to occur in a popular virtual world”);
determining whether or not the first position of the first avatar satisfies a first condition, the first condition being that the first position is located within a first region provided in the virtual space (See Leahy: Fig. 1-4, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0029], “Server 61 maintains a variable, N, which sets the maximum number of other avatars A will see. Client 60 also maintains a variable, N', which might be less than N, which indicates the maximum number of avatars client 60 wants to see and/or hear. The value of N' can be sent by client 0 to server 61. One reason for setting N' less than N is where client 60 is executed by a computer with less computing power than an average machine and tracking N avatars would make processing and rendering of the virtual world too slow. Once the number of avatars to be shown is determined, server 61 determines which N avatars are closest to A's avatar, based on which room of the world A's avatar is in and the coordinates of the avatars. This process is explained in further detail below. If there are less than N avatars in a room which does not have open doors or transparent walls and client 60 has not limited the view to less than N avatars, A will see all the avatars in the room. Those avatars are thus "neighboring" which means that client 60 will display them”. Note that the specific room is mapped to the first region, whether the user /avatar A or not is in the specific room is mapped to the first condition satisfaction);
receiving, from a server via a communication line, displaying data relating to a display area for displaying a message transmitted from a terminal of a user operating at least one of the first avatar existing within the first region (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; [0104], “Client 60 does not necessarily delete an entry from remote avatar lookup table 112 or short object ID lookup table 110 if a remote avatar disappears, but just marks it as being non-visible. In some cases, a user can see another user's avatar, but that other user cannot see the first user's avatar. In other words, visibility is not symmetric. However, chat exchange is symmetric, i.e., a user can only talk to those who can talk to the user”; [0040], “The avatars in fixed avatar image database 71 or custom avatar images database 108 contain entries which are used to render the avatars. A typical entry in the database comprises N two-dimensional panels, where the i-th panel is the view of the avatar from an angle of 360*i/N degrees. Each entry includes a tag used to specify the avatar”; and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”. Note that the display pane is mapped to the display area, and talk to the specific user in the room is mapped to the avatar existed in the location) and at least one avatar having existed within the first region in the past when the first position satisfies the first condition; and
displaying the display area on the first terminal (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; and [0042], “Rendering engine 120 then reads register 114, remote avatar position table 112, rooms database 70 and avatar image databases as required, and rendering engine 120 renders a view of the virtual world from the view point (position and orientation) of A's avatar. As input devices 116 indicate motion, the contents of register 114 are updated and rendering engine 120 re-renders the view. Rendering engine 120 might periodically update the view, or it may only update the view upon movement of either A's avatar or remote avatars”).
However, Leahy fails to explicitly disclose that and at least one avatar having existed within the first region in the past when the first position satisfies the first condition.
However, Zalewski teaches that and at least one avatar having existed within the first region in the past when the first position satisfies the first condition (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was effectively filed to modify Leahy to have a predictor for predicting the prediction target as taught by Zalewski in order to provide the popular virtual gaming environments with more number of experiences with respect to game action of other games (See Zalewski: Fig. 2, and [0089], “Once the user's body movements and/or facial expression for the gesture have been digitized, the digitized gesture may be used to generate coded instructions or other user interface signals for animation of the avatar so that it performs the gesture. The code or other user interface signals may be distributed to one or more other users, so that they can customize their avatars to perform the custom gesture. Customized avatar gestures may be combined with customized avatar clothing, footwear, hairstyles, ethnic characteristics and other custom avatar features as a means of social identification with a particular group. In some embodiments it may be desirable to moderate the use of custom gestures, e.g., to avoid unnecessarily offending other users or breaking the law. As used herein moderating or moderation refers to enforcement of some degree of rules for acceptable behavior in the virtual world. Such moderation may be implemented by the view servers 24, which may analyze the custom gestures for rudeness or other indications of inappropriateness. Moderating the display of the custom gesture may include restricting an ability of a particular user to make an avatar perform the custom gesture or an ability of the particular user to perceive the avatar performing the custom gesture based on predetermined criteria. Such predetermined criteria may include the age of the user or viewer of the gesture or a sensitivity of the viewer to offense based on religious, ethnic or other affiliation of the viewer”). Leahy teaches a highly scalable architecture for a three-dimensional graphical, multi-user, interactive virtual world system that may allow a plurality of users to interact in the three-dimensional, computer-generated graphical space where each user executes a client process to view a virtual world from the perspective of that user; while Zalewski teaches a system and method that may use processor and server for the virtual world, storing user action and states for multi-user access, enabling history-like persistence across sessions or after avatars leaving the virtual space. Therefore, it is obvious to one of ordinary skill in the art to modify Leahy by Zalewski to have historical existence affecting the current states in the virtual space activities. The motivation to modify Leahy by Zalewski is “Use of known technique to improve similar devices (methods, or products) in the same way”.
Regarding claim 25, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy teaches that the method of claim 24, wherein the first region is a region in the virtual space different from a first virtual venue among at least one of virtual venues provided in the virtual space (See Leahy: Figs. 1, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0107], “might be used. Whenever possible, location updates from server 61 will be sent as SHORTLOCCMD control packets addressed to the remote avatar using its ShortObjId and the DisappearActorCommands, AppearActorCommands, and TeleportCommands used to update client 60 on the status of visible remote avatars will be combined as described for the ShortLocationCommands”. Note that the virtual world has multiple distinct room and area connected by the hallway, and room status distinguish room contents/avatars, the room with content status is mapped to the virtual venue).
Regarding claim 26, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Zalewski teaches that the method of claim 24, wherein the first data includes data relating to a predetermined operation by the first terminal on a virtual object provided in the first region (See Zalewski: Fig. 1, and [0089], “Once the user's body movements and/or facial expression for the gesture have been digitized, the digitized gesture may be used to generate coded instructions or other user interface signals for animation of the avatar so that it performs the gesture. The code or other user interface signals may be distributed to one or more other users, so that they can customize their avatars to perform the custom gesture. Customized avatar gestures may be combined with customized avatar clothing, footwear, hairstyles, ethnic characteristics and other custom avatar features as a means of social identification with a particular group. In some embodiments it may be desirable to moderate the use of custom gestures, e.g., to avoid unnecessarily offending other users or breaking the law. As used herein moderating or moderation refers to enforcement of some degree of rules for acceptable behavior in the virtual world. Such moderation may be implemented by the view servers 24, which may analyze the custom gestures for rudeness or other indications of inappropriateness. Moderating the display of the custom gesture may include restricting an ability of a particular user to make an avatar perform the custom gesture or an ability of the particular user to perceive the avatar performing the custom gesture based on predetermined criteria. Such predetermined criteria may include the age of the user or viewer of the gesture or a sensitivity of the viewer to offense based on religious, ethnic or other affiliation of the viewer”. Note that the predetermined gestures are mapped to the predetermined operations).
Regarding claim 27, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy teaches that the method of claim 24, wherein the first condition is that the first position is located within the first region and that a user operating the first avatar performs a predetermined operation on a virtual object (See Leahy: Fig. 1, and [0061], “In particular embodiments, the image I.sub.U may include the user's head H and hand h. It is noted that to facilitate user interaction with the image I.sub.U the user's image I.sub.U may be presented on the screen as a mirror image of the user U. Thus, when the user U moves his hand h to the user's left, an image I.sub.h of the hand also moves to the user's left. The effects processor 244 may be configured to recognize the user's hand h and recognizes changes in the aspect ratio (ratio of height to width) of the hand image I.sub.h. These changes in aspect ratio may be used to signal the controller 114 that the user has "grabbed" or "clicked" on an object 140 presented on the display. The effects processor 244 can then move the selected object with the motion of the image I.sub.h of the user's hand h. In some embodiments, the user may hold a deformable "C"-shaped object 142 that is colored to be more readily recognizable to the effects processor 244 when interpreting the image from the video image capture device 116. Deformation of the object 142, referred to herein as a "clam" can provide a change in aspect ratio that is recognize as a command to "grab" or "click" an object in the display 104”. Note that clicked or gapped the virtual object is mapped to a predetermined action on the virtual object).
Regarding claim 28, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy teaches that the method of claim 24, wherein a virtual object is an object which a predetermined operation is performed to by a user operating the first avatar in the first region (See Leahy: Fig. 1, and [0017], “FIG. 1 is an illustration of a client screen display 10 seen by one user in the chat system. Screen display 10 is shown with several stationary objects (wall, floor, ceiling and clickable object 13) and two "avatars" 18. Each avatar 18 is a three dimensional figure chosen by a user to represent the user in the virtual world. Each avatar 18 optionally includes a label chosen by the user. In this example, two users are shown: "Paula" and "Ken", who have chosen the "robot" avatar and the penguin avatar, respectively. Each user interacts with a client machine (not shown) which produces a display similar to screen display 10, but from the perspective of the avatar for that client/user. Screen display 10 is the view from the perspective of a third user, D, whose avatar is not shown since D's avatar is not within D's own view. Typically, a user cannot see his or her own avatar unless the chat system allows "our of body" viewing or the avatar's image is reflected in a mirrored object in the virtual world”; and [0034], “Client 60 includes a rooms database 70, which describes the rooms in the virtual world and the interconnecting passageways. A room need not be an actual room with four walls, a floor and a ceiling, but might be simply a logical open space with constraints on where a user can move his or her avatar. CPU 100, or a specific motion control process, limits the motion of an avatar, notwithstanding commands from input devices 116 to do so, to obey the constraints indicated in rooms database 70. A user may direct his or her avatar through a doorway between two rooms, and if provided in the virtual world, may teleport from one room to another”. Note that the user clicking the object to interact with the virtual object in the virtual space (room) is mapped to the first region).
Regarding claim 29, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy and Zalewski teach that the method of claim 24, wherein a virtual object is an object which a predetermined operation was performed to the virtual object by a user operating the at least one avatar (See Leahy: Fig. 1, and [0017], “FIG. 1 is an illustration of a client screen display 10 seen by one user in the chat system. Screen display 10 is shown with several stationary objects (wall, floor, ceiling and clickable object 13) and two "avatars" 18. Each avatar 18 is a three dimensional figure chosen by a user to represent the user in the virtual world. Each avatar 18 optionally includes a label chosen by the user. In this example, two users are shown: "Paula" and "Ken", who have chosen the "robot" avatar and the penguin avatar, respectively. Each user interacts with a client machine (not shown) which produces a display similar to screen display 10, but from the perspective of the avatar for that client/user. Screen display 10 is the view from the perspective of a third user, D, whose avatar is not shown since D's avatar is not within D's own view. Typically, a user cannot see his or her own avatar unless the chat system allows "our of body" viewing or the avatar's image is reflected in a mirrored object in the virtual world”; and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”) having existed in the past (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past).
Regarding claim 30, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy and Zalewski teach that a method (See Leahy: Fig. 1-4, and [0023], “Referring now to FIG. 3, a block diagram is shown of a world system 54 in which a user A, at a first client system 60 (client A), interacts with a user B at a second client system 60 (client B) via a server 61. Client system 60 includes several databases, some of which are fixed and some of which are modifiable. Client system 60 also includes storage for program routines. Mechanisms for storing, reading and modifying data on computers such as client system 60 are well known in the art, as are methods and means for executing programs and displaying graphical results thereof. One such program executed by client system 60 is a graphical rendering engine which generates the user's view of the virtual world”), comprising:
receiving, via a communication line, first data concerning a first position from a first terminal of a first user controlling a first avatar in a virtual space, the first avatar existing in the first position (See Leahy: Fig. 1-4, and [0027], “Current avatar position register 114 contains the current position and orientation of A's avatar in the virtual world. This position is communicated to other clients via network message processor 104. The position stored in register 114 is updated in response to input from input devices 116. For example, a mouse movement might be interpreted as a change in the current position of A's avatar. Register 114 also provides the current position to rendering engine 120, to inform rendering engine 120 of the correct view point for rendering”; [0028], “Remote avatar position table 112 contains the current positions of the "in range" avatars near A's avatar. Whether another avatar is in range is determined a "crowd control" function, which is needed in some cases to ensure that neither client 60 nor user A get overwhelmed by the crowds of avatars likely to occur in a popular virtual world”);
determining whether or not a first condition is satisfied, the first condition being that the first position is located within a first region provided in the virtual space (See Leahy: Fig. 1-4, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0029], “Server 61 maintains a variable, N, which sets the maximum number of other avatars A will see. Client 60 also maintains a variable, N', which might be less than N, which indicates the maximum number of avatars client 60 wants to see and/or hear. The value of N' can be sent by client 0 to server 61. One reason for setting N' less than N is where client 60 is executed by a computer with less computing power than an average machine and tracking N avatars would make processing and rendering of the virtual world too slow. Once the number of avatars to be shown is determined, server 61 determines which N avatars are closest to A's avatar, based on which room of the world A's avatar is in and the coordinates of the avatars. This process is explained in further detail below. If there are less than N avatars in a room which does not have open doors or transparent walls and client 60 has not limited the view to less than N avatars, A will see all the avatars in the room. Those avatars are thus "neighboring" which means that client 60 will display them”. Note that the specific room is mapped to the first region, whether the user /avatar A or not is in the specific room is mapped to the first condition satisfaction);
deciding a display area for displaying a message transmitted from a terminal of a user operating at least one of the first avatar existing within the first region (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; [0104], “Client 60 does not necessarily delete an entry from remote avatar lookup table 112 or short object ID lookup table 110 if a remote avatar disappears, but just marks it as being non-visible. In some cases, a user can see another user's avatar, but that other user cannot see the first user's avatar. In other words, visibility is not symmetric. However, chat exchange is symmetric, i.e., a user can only talk to those who can talk to the user”; [0040], “The avatars in fixed avatar image database 71 or custom avatar images database 108 contain entries which are used to render the avatars. A typical entry in the database comprises N two-dimensional panels, where the i-th panel is the view of the avatar from an angle of 360*i/N degrees. Each entry includes a tag used to specify the avatar”; and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”. Note that the display pane is mapped to the display area, and talk to the specific user in the room is mapped to the avatar existed in the location) and at least one avatar having existed within the first region in the past when the first condition is satisfied (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past); and
transmitting control data for controlling a display of the first terminal (See Leahy: Fig. 1, and [0060], “In the above control packet, "S>C" indicates the direction of the packet (from server to client), CO is the object, SHORTLOCCMD is the command type, and the command type is followed by three abbreviated commands. The above control packet requires only fifteen bytes: one for packet size (not shown), one for the CO object ID, one for the command type and twelve for the three abbreviated commands. Note that the "S>C" indicator is not part of the control packet. The position of the boundaries between commands (indicated above with brackets, which are not actually communicated) is inferred from the fact that the SHORTLOCCMD command type requires four byte-wide arguments. Each abbreviated command in a command set is the same size, for easy parsing of the commands by the CO. Examples of abbreviated commands for which a CO command is useful are the Teleport, Appear, Disappear, and ShortLocation commands. These commands, and other commands, are described in more detail in Appendix A. Appendix A also shows the one byte representation of SHORTLOCCMD as well as the one byte representations of other command types. The contents of control packets described herein are shown in a readable form, however when transmitted over network connection 80, the control packets are compacted using the values shown in Appendix A”) to display the display area to the first terminal via the communication line (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; and [0042], “Rendering engine 120 then reads register 114, remote avatar position table 112, rooms database 70 and avatar image databases as required, and rendering engine 120 renders a view of the virtual world from the view point (position and orientation) of A's avatar. As input devices 116 indicate motion, the contents of register 114 are updated and rendering engine 120 re-renders the view. Rendering engine 120 might periodically update the view, or it may only update the view upon movement of either A's avatar or remote avatars”).
Regarding claim 31, Leahy and Zalewski teach all the features with respect to claim 30 as outlined above. Further, Leahy teaches that the method of claim 30, wherein the first region is a region in the virtual space different from a first virtual venue among at least one of virtual venues provided in the virtual space (See Leahy: Figs. 1, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0107], “might be used. Whenever possible, location updates from server 61 will be sent as SHORTLOCCMD control packets addressed to the remote avatar using its ShortObjId and the DisappearActorCommands, AppearActorCommands, and TeleportCommands used to update client 60 on the status of visible remote avatars will be combined as described for the ShortLocationCommands”. Note that the virtual world has multiple distinct room and area connected by the hallway, and room status distinguish room contents/avatars, the room with content status is mapped to the virtual venue).
Regarding claim 32, Leahy and Zalewski teach all the features with respect to claim 30 as outlined above. Further, Zalewski teaches that the method of claim 30, wherein the first data includes data relating to a predetermined operation by the first terminal on a virtual object provided in the first region (See Zalewski: Fig. 1, and [0089], “Once the user's body movements and/or facial expression for the gesture have been digitized, the digitized gesture may be used to generate coded instructions or other user interface signals for animation of the avatar so that it performs the gesture. The code or other user interface signals may be distributed to one or more other users, so that they can customize their avatars to perform the custom gesture. Customized avatar gestures may be combined with customized avatar clothing, footwear, hairstyles, ethnic characteristics and other custom avatar features as a means of social identification with a particular group. In some embodiments it may be desirable to moderate the use of custom gestures, e.g., to avoid unnecessarily offending other users or breaking the law. As used herein moderating or moderation refers to enforcement of some degree of rules for acceptable behavior in the virtual world. Such moderation may be implemented by the view servers 24, which may analyze the custom gestures for rudeness or other indications of inappropriateness. Moderating the display of the custom gesture may include restricting an ability of a particular user to make an avatar perform the custom gesture or an ability of the particular user to perceive the avatar performing the custom gesture based on predetermined criteria. Such predetermined criteria may include the age of the user or viewer of the gesture or a sensitivity of the viewer to offense based on religious, ethnic or other affiliation of the viewer”. Note that the predetermined gestures are mapped to the predetermined operations).
Regarding claim 33, Leahy and Zalewski teach all the features with respect to claim 30 as outlined above. Further, Leahy teaches that the method of claim 30, wherein the first condition is that the first position is located within the first region and that a user operating the first avatar performs the predetermined operation on a virtual object (See Leahy: Fig. 1, and [0061], “In particular embodiments, the image I.sub.U may include the user's head H and hand h. It is noted that to facilitate user interaction with the image I.sub.U the user's image I.sub.U may be presented on the screen as a mirror image of the user U. Thus, when the user U moves his hand h to the user's left, an image I.sub.h of the hand also moves to the user's left. The effects processor 244 may be configured to recognize the user's hand h and recognizes changes in the aspect ratio (ratio of height to width) of the hand image I.sub.h. These changes in aspect ratio may be used to signal the controller 114 that the user has "grabbed" or "clicked" on an object 140 presented on the display. The effects processor 244 can then move the selected object with the motion of the image I.sub.h of the user's hand h. In some embodiments, the user may hold a deformable "C"-shaped object 142 that is colored to be more readily recognizable to the effects processor 244 when interpreting the image from the video image capture device 116. Deformation of the object 142, referred to herein as a "clam" can provide a change in aspect ratio that is recognize as a command to "grab" or "click" an object in the display 104”. Note that clicked or gapped the virtual object is mapped to a predetermined action on the virtual object).
Regarding claim 34, Leahy and Zalewski teach all the features with respect to claim 30 as outlined above. Further, Leahy teaches that the method of claim 30, wherein a virtual object is an object which a predetermined operation is performed to by a user operating the first avatar in the first region (See Leahy: Fig. 1, and [0017], “FIG. 1 is an illustration of a client screen display 10 seen by one user in the chat system. Screen display 10 is shown with several stationary objects (wall, floor, ceiling and clickable object 13) and two "avatars" 18. Each avatar 18 is a three dimensional figure chosen by a user to represent the user in the virtual world. Each avatar 18 optionally includes a label chosen by the user. In this example, two users are shown: "Paula" and "Ken", who have chosen the "robot" avatar and the penguin avatar, respectively. Each user interacts with a client machine (not shown) which produces a display similar to screen display 10, but from the perspective of the avatar for that client/user. Screen display 10 is the view from the perspective of a third user, D, whose avatar is not shown since D's avatar is not within D's own view. Typically, a user cannot see his or her own avatar unless the chat system allows "our of body" viewing or the avatar's image is reflected in a mirrored object in the virtual world”; and [0034], “Client 60 includes a rooms database 70, which describes the rooms in the virtual world and the interconnecting passageways. A room need not be an actual room with four walls, a floor and a ceiling, but might be simply a logical open space with constraints on where a user can move his or her avatar. CPU 100, or a specific motion control process, limits the motion of an avatar, notwithstanding commands from input devices 116 to do so, to obey the constraints indicated in rooms database 70. A user may direct his or her avatar through a doorway between two rooms, and if provided in the virtual world, may teleport from one room to another”. Note that the user clicking the object to interact with the virtual object in the virtual space (room) is mapped to the first region).
Regarding claim 35, Leahy and Zalewski teach all the features with respect to claim 30 as outlined above. Further, Leahy and Zalewski teach that the method of claim 30, wherein a virtual object is an object which a predetermined operation was performed to the virtual object by a user operating the at least one avatar (See Leahy: Fig. 1, and [0017], “FIG. 1 is an illustration of a client screen display 10 seen by one user in the chat system. Screen display 10 is shown with several stationary objects (wall, floor, ceiling and clickable object 13) and two "avatars" 18. Each avatar 18 is a three dimensional figure chosen by a user to represent the user in the virtual world. Each avatar 18 optionally includes a label chosen by the user. In this example, two users are shown: "Paula" and "Ken", who have chosen the "robot" avatar and the penguin avatar, respectively. Each user interacts with a client machine (not shown) which produces a display similar to screen display 10, but from the perspective of the avatar for that client/user. Screen display 10 is the view from the perspective of a third user, D, whose avatar is not shown since D's avatar is not within D's own view. Typically, a user cannot see his or her own avatar unless the chat system allows "our of body" viewing or the avatar's image is reflected in a mirrored object in the virtual world”; and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”) having existed in the past (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past).
Regarding claim 36, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy and Zalewski teach that a non-transitory computer readable medium storing a set of instructions that are executable by one or more processors of a system to cause the system to perform a method (See Leahy: Fig. 1-4, and [0023], “Referring now to FIG. 3, a block diagram is shown of a world system 54 in which a user A, at a first client system 60 (client A), interacts with a user B at a second client system 60 (client B) via a server 61. Client system 60 includes several databases, some of which are fixed and some of which are modifiable. Client system 60 also includes storage for program routines. Mechanisms for storing, reading and modifying data on computers such as client system 60 are well known in the art, as are methods and means for executing programs and displaying graphical results thereof. One such program executed by client system 60 is a graphical rendering engine which generates the user's view of the virtual world”) comprising:
acquiring first data relating to a first position of a first avatar in a virtual space operated using a first terminal of a first user (See Leahy: Fig. 1-4, and [0027], “Current avatar position register 114 contains the current position and orientation of A's avatar in the virtual world. This position is communicated to other clients via network message processor 104. The position stored in register 114 is updated in response to input from input devices 116. For example, a mouse movement might be interpreted as a change in the current position of A's avatar. Register 114 also provides the current position to rendering engine 120, to inform rendering engine 120 of the correct view point for rendering”; [0028], “Remote avatar position table 112 contains the current positions of the "in range" avatars near A's avatar. Whether another avatar is in range is determined a "crowd control" function, which is needed in some cases to ensure that neither client 60 nor user A get overwhelmed by the crowds of avatars likely to occur in a popular virtual world”);
determining whether or not the first position of the first avatar satisfies a first condition, the first condition being that the first position is located within a first region provided in the virtual space (See Leahy: Fig. 1-4, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0029], “Server 61 maintains a variable, N, which sets the maximum number of other avatars A will see. Client 60 also maintains a variable, N', which might be less than N, which indicates the maximum number of avatars client 60 wants to see and/or hear. The value of N' can be sent by client 0 to server 61. One reason for setting N' less than N is where client 60 is executed by a computer with less computing power than an average machine and tracking N avatars would make processing and rendering of the virtual world too slow. Once the number of avatars to be shown is determined, server 61 determines which N avatars are closest to A's avatar, based on which room of the world A's avatar is in and the coordinates of the avatars. This process is explained in further detail below. If there are less than N avatars in a room which does not have open doors or transparent walls and client 60 has not limited the view to less than N avatars, A will see all the avatars in the room. Those avatars are thus "neighboring" which means that client 60 will display them”. Note that the specific room is mapped to the first region, whether the user /avatar A or not is in the specific room is mapped to the first condition satisfaction);
receiving, from a server via a communication line, displaying data relating to a display area for displaying a message transmitted from a terminal of a user operating at least one of the first avatar existing within the first region (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; [0104], “Client 60 does not necessarily delete an entry from remote avatar lookup table 112 or short object ID lookup table 110 if a remote avatar disappears, but just marks it as being non-visible. In some cases, a user can see another user's avatar, but that other user cannot see the first user's avatar. In other words, visibility is not symmetric. However, chat exchange is symmetric, i.e., a user can only talk to those who can talk to the user”; [0040], “The avatars in fixed avatar image database 71 or custom avatar images database 108 contain entries which are used to render the avatars. A typical entry in the database comprises N two-dimensional panels, where the i-th panel is the view of the avatar from an angle of 360*i/N degrees. Each entry includes a tag used to specify the avatar”; and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”. Note that the display pane is mapped to the display area, and talk to the specific user in the room is mapped to the avatar existed in the location) and at least one avatar having existed within the first region in the past when the first position satisfies the first condition (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past); and
displaying the display area on the first terminal (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; and [0042], “Rendering engine 120 then reads register 114, remote avatar position table 112, rooms database 70 and avatar image databases as required, and rendering engine 120 renders a view of the virtual world from the view point (position and orientation) of A's avatar. As input devices 116 indicate motion, the contents of register 114 are updated and rendering engine 120 re-renders the view. Rendering engine 120 might periodically update the view, or it may only update the view upon movement of either A's avatar or remote avatars”).
Regarding claim 37, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy and Zalewski teach that a non-transitory computer readable medium storing a set of instructions that are executable by one or more processors of a system to cause the system to perform a method (See Leahy: Fig. 1-4, and [0023], “Referring now to FIG. 3, a block diagram is shown of a world system 54 in which a user A, at a first client system 60 (client A), interacts with a user B at a second client system 60 (client B) via a server 61. Client system 60 includes several databases, some of which are fixed and some of which are modifiable. Client system 60 also includes storage for program routines. Mechanisms for storing, reading and modifying data on computers such as client system 60 are well known in the art, as are methods and means for executing programs and displaying graphical results thereof. One such program executed by client system 60 is a graphical rendering engine which generates the user's view of the virtual world”) comprising:
receiving, via a communication line, first data concerning a first position from a first terminal of a first user controlling a first avatar in a virtual space, the first avatar existing in the first position (See Leahy: Fig. 1-4, and [0027], “Current avatar position register 114 contains the current position and orientation of A's avatar in the virtual world. This position is communicated to other clients via network message processor 104. The position stored in register 114 is updated in response to input from input devices 116. For example, a mouse movement might be interpreted as a change in the current position of A's avatar. Register 114 also provides the current position to rendering engine 120, to inform rendering engine 120 of the correct view point for rendering”; [0028], “Remote avatar position table 112 contains the current positions of the "in range" avatars near A's avatar. Whether another avatar is in range is determined a "crowd control" function, which is needed in some cases to ensure that neither client 60 nor user A get overwhelmed by the crowds of avatars likely to occur in a popular virtual world”);
determining whether or not a first condition is satisfied, the first condition being that the first position is located within a first region provided in the virtual space (See Leahy: Fig. 1-4, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0029], “Server 61 maintains a variable, N, which sets the maximum number of other avatars A will see. Client 60 also maintains a variable, N', which might be less than N, which indicates the maximum number of avatars client 60 wants to see and/or hear. The value of N' can be sent by client 0 to server 61. One reason for setting N' less than N is where client 60 is executed by a computer with less computing power than an average machine and tracking N avatars would make processing and rendering of the virtual world too slow. Once the number of avatars to be shown is determined, server 61 determines which N avatars are closest to A's avatar, based on which room of the world A's avatar is in and the coordinates of the avatars. This process is explained in further detail below. If there are less than N avatars in a room which does not have open doors or transparent walls and client 60 has not limited the view to less than N avatars, A will see all the avatars in the room. Those avatars are thus "neighboring" which means that client 60 will display them”. Note that the specific room is mapped to the first region, whether the user /avatar A or not is in the specific room is mapped to the first condition satisfaction);
deciding a display area for displaying a message transmitted from a terminal of a user operating at least one of the first avatar existing within the first region (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; [0104], “Client 60 does not necessarily delete an entry from remote avatar lookup table 112 or short object ID lookup table 110 if a remote avatar disappears, but just marks it as being non-visible. In some cases, a user can see another user's avatar, but that other user cannot see the first user's avatar. In other words, visibility is not symmetric. However, chat exchange is symmetric, i.e., a user can only talk to those who can talk to the user”; [0040], “The avatars in fixed avatar image database 71 or custom avatar images database 108 contain entries which are used to render the avatars. A typical entry in the database comprises N two-dimensional panels, where the i-th panel is the view of the avatar from an angle of 360*i/N degrees. Each entry includes a tag used to specify the avatar”; and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”. Note that the display pane is mapped to the display area, and talk to the specific user in the room is mapped to the avatar existed in the location) and at least one avatar having existed within the first region in the past when the first condition is satisfied (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past); and
transmitting control data for controlling a display of the first terminal (See Leahy: Fig. 1, and [0060], “In the above control packet, "S>C" indicates the direction of the packet (from server to client), CO is the object, SHORTLOCCMD is the command type, and the command type is followed by three abbreviated commands. The above control packet requires only fifteen bytes: one for packet size (not shown), one for the CO object ID, one for the command type and twelve for the three abbreviated commands. Note that the "S>C" indicator is not part of the control packet. The position of the boundaries between commands (indicated above with brackets, which are not actually communicated) is inferred from the fact that the SHORTLOCCMD command type requires four byte-wide arguments. Each abbreviated command in a command set is the same size, for easy parsing of the commands by the CO. Examples of abbreviated commands for which a CO command is useful are the Teleport, Appear, Disappear, and ShortLocation commands. These commands, and other commands, are described in more detail in Appendix A. Appendix A also shows the one byte representation of SHORTLOCCMD as well as the one byte representations of other command types. The contents of control packets described herein are shown in a readable form, however when transmitted over network connection 80, the control packets are compacted using the values shown in Appendix A”) to display the display area to the first terminal via the communication line (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; and [0042], “Rendering engine 120 then reads register 114, remote avatar position table 112, rooms database 70 and avatar image databases as required, and rendering engine 120 renders a view of the virtual world from the view point (position and orientation) of A's avatar. As input devices 116 indicate motion, the contents of register 114 are updated and rendering engine 120 re-renders the view. Rendering engine 120 might periodically update the view, or it may only update the view upon movement of either A's avatar or remote avatars”).
Regarding claim 38, Leahy and Zalewski teach all the features with respect to claim 24 as outlined above. Further, Leahy and Zalewski teach that a server device (See Leahy: Fig. 1-4, and [0023], “Referring now to FIG. 3, a block diagram is shown of a world system 54 in which a user A, at a first client system 60 (client A), interacts with a user B at a second client system 60 (client B) via a server 61. Client system 60 includes several databases, some of which are fixed and some of which are modifiable. Client system 60 also includes storage for program routines. Mechanisms for storing, reading and modifying data on computers such as client system 60 are well known in the art, as are methods and means for executing programs and displaying graphical results thereof. One such program executed by client system 60 is a graphical rendering engine which generates the user's view of the virtual world”), comprising:
at least one processor, wherein the processor is configured (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”) to:
receive, via a communication line, first data concerning a first position from a first terminal of a first user controlling a first avatar in a virtual space, the first avatar existing in the first position (See Leahy: Fig. 1-4, and [0027], “Current avatar position register 114 contains the current position and orientation of A's avatar in the virtual world. This position is communicated to other clients via network message processor 104. The position stored in register 114 is updated in response to input from input devices 116. For example, a mouse movement might be interpreted as a change in the current position of A's avatar. Register 114 also provides the current position to rendering engine 120, to inform rendering engine 120 of the correct view point for rendering”; [0028], “Remote avatar position table 112 contains the current positions of the "in range" avatars near A's avatar. Whether another avatar is in range is determined a "crowd control" function, which is needed in some cases to ensure that neither client 60 nor user A get overwhelmed by the crowds of avatars likely to occur in a popular virtual world”);
determine whether or not a first condition is satisfied, the first condition being that the first position is located within a first region provided in the virtual space (See Leahy: Fig. 1-4, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0029], “Server 61 maintains a variable, N, which sets the maximum number of other avatars A will see. Client 60 also maintains a variable, N', which might be less than N, which indicates the maximum number of avatars client 60 wants to see and/or hear. The value of N' can be sent by client 0 to server 61. One reason for setting N' less than N is where client 60 is executed by a computer with less computing power than an average machine and tracking N avatars would make processing and rendering of the virtual world too slow. Once the number of avatars to be shown is determined, server 61 determines which N avatars are closest to A's avatar, based on which room of the world A's avatar is in and the coordinates of the avatars. This process is explained in further detail below. If there are less than N avatars in a room which does not have open doors or transparent walls and client 60 has not limited the view to less than N avatars, A will see all the avatars in the room. Those avatars are thus "neighboring" which means that client 60 will display them”. Note that the specific room is mapped to the first region, whether the user /avatar A or not is in the specific room is mapped to the first condition satisfaction);
decide a display area for displaying a message transmitted from a terminal of a user operating at least one of the first avatar existing within the first region (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; [0104], “Client 60 does not necessarily delete an entry from remote avatar lookup table 112 or short object ID lookup table 110 if a remote avatar disappears, but just marks it as being non-visible. In some cases, a user can see another user's avatar, but that other user cannot see the first user's avatar. In other words, visibility is not symmetric. However, chat exchange is symmetric, i.e., a user can only talk to those who can talk to the user”; [0040], “The avatars in fixed avatar image database 71 or custom avatar images database 108 contain entries which are used to render the avatars. A typical entry in the database comprises N two-dimensional panels, where the i-th panel is the view of the avatar from an angle of 360*i/N degrees. Each entry includes a tag used to specify the avatar”; and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”. Note that the display pane is mapped to the display area, and talk to the specific user in the room is mapped to the avatar existed in the location) and at least one avatar having existed within the first region in the past when the first condition is satisfied (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past); and
transmit control data for controlling a display of the first terminal (See Leahy: Fig. 1, and [0060], “In the above control packet, "S>C" indicates the direction of the packet (from server to client), CO is the object, SHORTLOCCMD is the command type, and the command type is followed by three abbreviated commands. The above control packet requires only fifteen bytes: one for packet size (not shown), one for the CO object ID, one for the command type and twelve for the three abbreviated commands. Note that the "S>C" indicator is not part of the control packet. The position of the boundaries between commands (indicated above with brackets, which are not actually communicated) is inferred from the fact that the SHORTLOCCMD command type requires four byte-wide arguments. Each abbreviated command in a command set is the same size, for easy parsing of the commands by the CO. Examples of abbreviated commands for which a CO command is useful are the Teleport, Appear, Disappear, and ShortLocation commands. These commands, and other commands, are described in more detail in Appendix A. Appendix A also shows the one byte representation of SHORTLOCCMD as well as the one byte representations of other command types. The contents of control packets described herein are shown in a readable form, however when transmitted over network connection 80, the control packets are compacted using the values shown in Appendix A”) to display the display area to the first terminal via the communication line (See Leahy: Fig. 1-4, and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”; and [0042], “Rendering engine 120 then reads register 114, remote avatar position table 112, rooms database 70 and avatar image databases as required, and rendering engine 120 renders a view of the virtual world from the view point (position and orientation) of A's avatar. As input devices 116 indicate motion, the contents of register 114 are updated and rendering engine 120 re-renders the view. Rendering engine 120 might periodically update the view, or it may only update the view upon movement of either A's avatar or remote avatars”).
Regarding claim 39, Leahy and Zalewski teach all the features with respect to claim 38 as outlined above. Further, Leahy teaches that the server of claim 38, wherein the first region is a region in the virtual space different from a first virtual venue among at least one of virtual venues provided in the virtual space (See Leahy: Figs. 1, and [0019], “While FIG. 1 shows two avatars (and implies a third), typically many more avatars will be present. A typical virtual world will also be more complex than a single room. The virtual world view shown in FIG. 1 is part of a virtual world of several rooms and connecting hallways as indicated in a world map panel 19, and may include hundreds or users and their avatars. So that the virtual world is scalable to a large number of clients, the virtual world server must be much more discriminating as to what data is provided to each clients. In the example of FIG. 1, although a status panel 17 indicates that six other avatars are present, many other avatars are in the room, but are filtered out for crowd control”; and [0107], “might be used. Whenever possible, location updates from server 61 will be sent as SHORTLOCCMD control packets addressed to the remote avatar using its ShortObjId and the DisappearActorCommands, AppearActorCommands, and TeleportCommands used to update client 60 on the status of visible remote avatars will be combined as described for the ShortLocationCommands”. Note that the virtual world has multiple distinct room and area connected by the hallway, and room status distinguish room contents/avatars, the room with content status is mapped to the virtual venue).
Regarding claim 40, Leahy and Zalewski teach all the features with respect to claim 38 as outlined above. Further, Zalewski teaches that the server of claim 38, wherein the first data includes data relating to a predetermined operation by the first terminal on a virtual object provided in the first region (See Zalewski: Fig. 1, and [0089], “Once the user's body movements and/or facial expression for the gesture have been digitized, the digitized gesture may be used to generate coded instructions or other user interface signals for animation of the avatar so that it performs the gesture. The code or other user interface signals may be distributed to one or more other users, so that they can customize their avatars to perform the custom gesture. Customized avatar gestures may be combined with customized avatar clothing, footwear, hairstyles, ethnic characteristics and other custom avatar features as a means of social identification with a particular group. In some embodiments it may be desirable to moderate the use of custom gestures, e.g., to avoid unnecessarily offending other users or breaking the law. As used herein moderating or moderation refers to enforcement of some degree of rules for acceptable behavior in the virtual world. Such moderation may be implemented by the view servers 24, which may analyze the custom gestures for rudeness or other indications of inappropriateness. Moderating the display of the custom gesture may include restricting an ability of a particular user to make an avatar perform the custom gesture or an ability of the particular user to perceive the avatar performing the custom gesture based on predetermined criteria. Such predetermined criteria may include the age of the user or viewer of the gesture or a sensitivity of the viewer to offense based on religious, ethnic or other affiliation of the viewer”. Note that the predetermined gestures are mapped to the predetermined operations).
Regarding claim 41, Leahy and Zalewski teach all the features with respect to claim 38 as outlined above. Further, Leahy teaches that the server of claim 38, wherein the first condition is that the first position is located within the first region and that a user operating the first avatar performs a predetermined operation on a virtual object (See Leahy: Fig. 1, and [0061], “In particular embodiments, the image I.sub.U may include the user's head H and hand h. It is noted that to facilitate user interaction with the image I.sub.U the user's image I.sub.U may be presented on the screen as a mirror image of the user U. Thus, when the user U moves his hand h to the user's left, an image I.sub.h of the hand also moves to the user's left. The effects processor 244 may be configured to recognize the user's hand h and recognizes changes in the aspect ratio (ratio of height to width) of the hand image I.sub.h. These changes in aspect ratio may be used to signal the controller 114 that the user has "grabbed" or "clicked" on an object 140 presented on the display. The effects processor 244 can then move the selected object with the motion of the image I.sub.h of the user's hand h. In some embodiments, the user may hold a deformable "C"-shaped object 142 that is colored to be more readily recognizable to the effects processor 244 when interpreting the image from the video image capture device 116. Deformation of the object 142, referred to herein as a "clam" can provide a change in aspect ratio that is recognize as a command to "grab" or "click" an object in the display 104”. Note that clicked or gapped the virtual object is mapped to a predetermined action on the virtual object).
Regarding claim 42, Leahy and Zalewski teach all the features with respect to claim 38 as outlined above. Further, Leahy teaches that the server of claim 38, wherein a virtual object is an object which a predetermined operation is performed to by a user operating the first avatar in the first region (See Leahy: Fig. 1, and [0017], “FIG. 1 is an illustration of a client screen display 10 seen by one user in the chat system. Screen display 10 is shown with several stationary objects (wall, floor, ceiling and clickable object 13) and two "avatars" 18. Each avatar 18 is a three dimensional figure chosen by a user to represent the user in the virtual world. Each avatar 18 optionally includes a label chosen by the user. In this example, two users are shown: "Paula" and "Ken", who have chosen the "robot" avatar and the penguin avatar, respectively. Each user interacts with a client machine (not shown) which produces a display similar to screen display 10, but from the perspective of the avatar for that client/user. Screen display 10 is the view from the perspective of a third user, D, whose avatar is not shown since D's avatar is not within D's own view. Typically, a user cannot see his or her own avatar unless the chat system allows "our of body" viewing or the avatar's image is reflected in a mirrored object in the virtual world”; and [0034], “Client 60 includes a rooms database 70, which describes the rooms in the virtual world and the interconnecting passageways. A room need not be an actual room with four walls, a floor and a ceiling, but might be simply a logical open space with constraints on where a user can move his or her avatar. CPU 100, or a specific motion control process, limits the motion of an avatar, notwithstanding commands from input devices 116 to do so, to obey the constraints indicated in rooms database 70. A user may direct his or her avatar through a doorway between two rooms, and if provided in the virtual world, may teleport from one room to another”. Note that the user clicking the object to interact with the virtual object in the virtual space (room) is mapped to the first region).
Regarding claim 43, Leahy and Zalewski teach all the features with respect to claim 38 as outlined above. Further, Leahy and Zalewski teach that the server of claim 38, wherein a virtual object is an object which a predetermined operation was performed to the virtual object by a user operating the at least one avatar (See Leahy: Fig. 1, and [0017], “FIG. 1 is an illustration of a client screen display 10 seen by one user in the chat system. Screen display 10 is shown with several stationary objects (wall, floor, ceiling and clickable object 13) and two "avatars" 18. Each avatar 18 is a three dimensional figure chosen by a user to represent the user in the virtual world. Each avatar 18 optionally includes a label chosen by the user. In this example, two users are shown: "Paula" and "Ken", who have chosen the "robot" avatar and the penguin avatar, respectively. Each user interacts with a client machine (not shown) which produces a display similar to screen display 10, but from the perspective of the avatar for that client/user. Screen display 10 is the view from the perspective of a third user, D, whose avatar is not shown since D's avatar is not within D's own view. Typically, a user cannot see his or her own avatar unless the chat system allows "our of body" viewing or the avatar's image is reflected in a mirrored object in the virtual world”; and [0026], “Chat processor 106 receives messages which contain conversation (text and/or audio) or other data received from other users and sends out conversation or other data directed to other users. The particular outgoing conversation is provided to chat processor 106 by input devices 116, which might include a keyboard, microphones, digital video cameras, and the like. The routing of the conversation message depends on a selection by user A. User A can select to send a text message to everyone whose client is currently on line ("broadcast"), to only those users whose avatars are "in range" of A's avatar ("talk"), or to only a specific user ("whispering"). The conversation received by chat processor 106 is typically received with an indication of the distribution of the conversation. For example, a text message might have a "whisper" label prepended to it. If the received conversation is audio, chat processor 106 routes it to an audio output device 118. Audio output device 118 is a speaker coupled to a sound card, or the like, as is well known in the art of personal computer audio systems. If the received conversation is textual, it is routed to a rendering engine 120 where the text is integrated into a graphical display 122. Alternatively, the text might be displayed in a region of display 122 distinct from a graphically rendered region”) having existed in the past (See Zalewski: Figs. 1A-F, and [0031], “By way of example, the virtual world may comprise a simulated public space and one or more simulated private spaces. In some embodiments, such public and private spaces may be presented to the user via a graphic display that presents a schematic representation or map of the virtual world. By way of example, as shown in FIG. 1A, a world map 10 may indicate a "home" location 11. The home location 11 may be a private space within the virtual world that is exclusive to a particular user. Other users may "visit" the home location 11 only at the invitation of the user associated with that location. The world map 10 may also show various other locations 12 that the user may visit, e.g., by selecting them with a cursor or similar graphical user interface. These locations may be sponsored by vendors and may be represented on the map by their respective corporate logos or other well-recognized symbols. Such locations may be visited by an user of the virtual world. The virtual world may or may not have a fixed amount of virtual "real estate". In preferred embodiments, the amount of virtual real estate is not fixed”; [0082], “In some embodiments, the avatars 14 may express emotion through animation, facial change, sound, particle or chat bubble change to communicate a specific emotion. Such expressions of emotion by the avatar (sometimes called "emotes") may be pre-programmed and may be triggered by user commands. In particular embodiments of the invention, emotions expressed by the user during interaction with the virtual world may be mapped to emotion exhibited by the user's avatar. In certain embodiments, the user may select an emotional state that can be projected by the avatar. By way of example avatar emotes may be selected from a menu presented to the user by the apparatus 102. If, for example, the user selects "happy", the user's avatar may be shown with a smile on its face. If the user selects "sad", the avatar may be shown with a frown. Such menu-drive emotions may be somewhat awkward for a user to implement quickly. Therefore, in certain embodiments of the apparatus 102 may be configured to detect an emotional state of the user in real time and then appropriately change the features of the user's avatar to reflect that state. Such real time tracking of user emotional state can be particularly useful, e.g., for mapping user emotional state onto an avatar during video communication in which an image of the user's avatar is presented to a real device”; and [0086], “In some embodiments, users may wish to use customized gestures or "emotes" for their avatars. To facilitate this one or more custom gestures may be generated for the avatar. These custom gestures may then be associated with one or more user interface signals so that the user's avatar can perform the gesture on command. By way of example, the custom gesture may be generated through use of motion capture or performance capture techniques to record and digitize the user's bodily movements or mapping of the user's facial expression as the user performs the gesture. In some embodiments, the image capture device 116 may be used for this purpose. Alternatively, a commercial motion capture studio or performance capture studio may be used for this purpose”. Note that the world map with private and public area and users visiting the area has the effect of past visitors, and persistent emotion states and actions leaving traces via avatar features, real-time emotional mapping and states, reflecting other users in the space, and this is mapped to the avatar having existed in the past).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GORDON G LIU whose telephone number is (571)270-0382. The examiner can normally be reached Monday - Friday 8:00-5:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Devona E Faulk can be reached at 571-272-7515. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/GORDON G LIU/Primary Examiner, Art Unit 2618