1. Field
Embodiments of the invention relate to the field of computer network applications and networked communications; and more specifically, to the field of chat or instant messaging communications via a computer network.
2. Related Art
The use of chat or instant messaging communications in a networked computer environment is well known. The America Online™ Instant Messaging system (AIM) is one well known system for controlling instant messaging in a networked environment. In these prior art systems, two computer users can communicate text messages in real time using an instant message (IM) client on their computers in concert with an IM server.
Existing systems have found the use of avatars beneficial for improved communication. Conventional avatars are 2D or 3D graphic images that can be used to represent a human individual. Many systems have improved the animation of the avatar images so the images in animation can represent various facial expressions and generally appear reasonably lifelike. Other conventional systems use avatars to represent a user while he/she is chatting with one or more other users. However, these systems do not represent the avatars as interacting in an environment.
U.S. Pat. No. 6,069,622 describes a comic generation system that controls the generation of comic panels. A comic panel is a graphical representation of an instance in time of a sequential course of events, such as a conversation between people. Each graphical representation typically includes a graphical representation of at least one character. The character has gestures that reflect a body pose and expressions that reflect a facial pose. Moreover, the character may have text associated with it (i.e., the character “speaks”), which is displayed in the comic panel within a bounded area called a “balloon.” The comic generation system receives an interaction event and generates a comic panel. Examples of interaction events include text input by a user and selection of gestures and expressions by a user. When the interaction event provides text, the comic generation system automatically searches the text to identify any words or phrases that give rise to gestures and expressions for the character representing the user who provided the interaction event. Moreover, the comic generation system searches the text for trigger words that indicate alterations to the comic panel. The comic generation system generates the comic panel based on the results of its searches. The comic generation system also determines which characters to place in a comic panel, the positions of the characters, and the orientations of the characters. The comic generation system additionally determines the placement of balloons containing text.
However, the comic generation system described in the '622 patent is a static picture in a panel, as opposed to an animated character interacting with another avatar in the same scene. Given the static nature of the images in the '622 patent, the patent does not describe the use and interaction of avatars as 3-dimensional (3D) animated models. Further, although interaction events and user input can cause the modification of the character representing the user, the interaction events do not cause a character to transform into an entirely different character or object or cause the augmentation of the character into one with entirely new features.
U.S. Pat. No. 5,880,731 describes a system in which avatars representing participants in a graphic chat session are periodically animated to produce a gesture that conveys an emotion, action, or personality trait. Each participant in the chat session is enabled to select one of a plurality of different avatars to represent the participant in a graphic chat session. Associated with each avatar is a bitmap file that includes a plurality of frames illustrating the avatar in different poses, actions, and emotional states. Selected frames are displayed in rapid sequence in accord with a script file to create an animation effecting each gesture. The same script file is used to define a gesture for all of the avatars used in the chat session. A selected gesture can be transmitted with a text message to convey the user's emotional state. A gesture associated with the avatar is automatically displayed from time to time when the avatar is not otherwise gesturing or moving. The user can determine participants in the chat session with whom the user will interact, e.g., by defining a proximity radius around the user's avatar or by selecting the specific participants from a list. Avatars of participants that are outside the proximity radius (or otherwise not selected) and messages received from them are not displayed on the user's monitor.
The '731 patent specifically applies to avatars that are graphical bitmaps or sequences of bitmaps displayed according to a script. The '731 patent does not describe the use and interaction of avatars as 3-dimensional (3D) animated models. Further, although selected gestures can cause the modification of the character representing the user, the selected gestures do not cause a character to transform into an entirely different character or object or cause the augmentation of the character into one with entirely new features.
U.S. Pat. No. 6,522,333 describes a system and method for remote communication that allows communication over a network, but still provides a behavioral context within which the communication is interpreted. A visual representation of a user is provided to a recipient. A set of behavioral characteristics of the visual representation is provided to the user, the behavioral characteristics representing contexts within which data is to be interpreted. The user selects a behavioral characteristic and inputs data to be communicated to the recipient, along with any specific behavioral commands. Then, data is communicated to the recipient concurrently with a behavioral movement of the visual representation associated with the selected behavioral characteristic, wherein the behavioral movement provides context to the recipient for interpreting the communicated data. Behavioral characteristics include personality and mood intensity settings, and behavioral commands include gesture commands. The mood intensity selection allows the user to adjust which behavioral movements associated with the personality will be selected by assigning each movement a weight that determines the probability the movement will be selected. Gesture selection allows the user to punctuate text by having the visual representation act out a specific behavioral movement or sequence of movements to communicate an instantaneous emotion or behavior. Text is also analyzed to generate behavioral movements based on the content of the text.
Although user selected behavioral commands can cause the modification of the character representing the user, the selected behavioral commands do not cause a character to transform into an entirely different character or object or cause the augmentation of the character into one with entirely new features.
U.S. Pat. Nos. 6,320,583 and 6,147,692 describe methods and apparatuses to automate and confer additive properties to morphs (modification of a starting graphical image to a destination graphical image). The enhanced automated additive morphs created by this invention extend the currently limited scope of animation techniques, creating: moving morphs, where characters can speak, move, and emote during the morphing process; parametric character creation, where features can be sequentially added to a character to create a wide variety of resulting characters; behavioral transference, where character behavior can be automatically transferred to newly created characters, and behavioral layering whereby sequential behavior patterns can be concurrently transferred or imparted to a character. The patented inventions allow an animator to create, animate, control and transform two and three dimensional images instantaneously and fluidly. The invention provides a superior solution at significantly less cost which extends the range and properties of existing state of the art animation.
Again, although the technology described in the '583 and '692 patents can cause the modification of the character representing the user, the morphs and behavioral transference do not cause a character to transform into an entirely different character or object or cause the augmentation of the character into one with entirely new features. Further, the prior art systems do not provide an efficient means for communicating character and scene configurations and changes between IM users.
In the commercial marketplace of digital goods of today, wholesalers and retailers of digital goods still operate in the traditional model of physical goods. That is, wholesalers, intermediate wholesalers, and retailers still collaborate off-line to create digital goods, which are then offered for sale and/or download via the network. Unfortunately, there is currently no system or method by which users can deploy digital goods directly in a direct product offering or a derived product offering and use/display these products seamlessly in a three-dimensional (3D) IM environment.
Thus, a computer-implemented chat system having dual channel communications and self-defining product structures is needed.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which
a and 2b are a block diagram of a computer system on which the present invention may operate.
A computer-implemented chat system having dual channel communications and self-defining product structures is disclosed. In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known processes, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.
Referring now to
Using one of a variety of network connection means, server computer 100 can communicate with client computers 150 using conventional means. In a particular implementation of this network configuration, a server computer 100 may operate as a web server if the Internet's World-Wide Web (WWW) is used for wide area network 110. Using the HTTP protocol and the HTML coding language across wide-area network 110, web server 100 may communicate across the World-Wide Web with clients 150. In this configuration, clients 150 use a client application program known as a web browser such as the INTERNET EXPLORER™ published by MICROSOFT Corporation of Redmond, Wash., the user interface of AMERICA ON-LINE, or the web browser or HTML translator of any other well-known supplier. Using such conventional browsers and the World-Wide Web, clients 150 may access image, graphical, and textual data provided by web server 100 or they may run Web application software. Conventional means exist by which clients 150 may supply information to web server 100 through the World-Wide Web 110 and the web server 100 may return processed data to clients 150.
Having briefly described one embodiment of the network environment in which the present invention may operate,
An optional data storage device 228 such as a magnetic disk or optical disk and its corresponding drive may also be coupled to computer system 200 for storing information and instructions. Computer system 200 can also be coupled via bus 216 to a display device 204, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), for displaying information to a computer user. For example, image, textual, video, or graphical depictions of information may be presented to the user on display device 204. Typically, an alphanumeric input device 208, including alphanumeric and other keys is coupled to bus 216 for communicating information and/or command selections to processor 220. Another type of user input device is cursor control device 206, such as a conventional mouse, trackball, or other type of cursor direction keys for communicating direction information and command selection to processor 220 and for controlling cursor movement on display 204.
Alternatively, the client 150 can be implemented as a network computer or thin client device. Client 150 may also be a laptop or palm-top computing device, such as the PALM PILOT™. Client 150 could also be implemented in a robust cellular telephone, where such devices are currently being used with Internet micro-browsers. Such a network computer or thin client device does not necessarily include all of the devices and features of the above-described exemplary computer system; however, the functionality of the present invention or a subset thereof may nevertheless be implemented with such devices.
A communication device 226 is also coupled to bus 216 for accessing remote computers or servers, such as web server 100, or other servers via the Internet, for example. The communication device 226 may include a modem, a network interface card, or other well-known interface devices, such as those used for interfacing with Ethernet, Token-ring, or other types of networks. In any event, in this manner, the computer system 200 may be coupled to a number of servers 100 via a conventional network infrastructure such as the infrastructure illustrated in
The system of the present invention includes software, information processing hardware, and various processing steps, which will be described below. The features and process steps of the present invention may be embodied in machine or computer executable instructions. The instructions can be used to cause a general purpose or special purpose processor, which is programmed with the instructions to perform the steps of the present invention. Alternatively, the features or steps of the present invention may be performed by specific hardware components that contain hard-wired logic for performing the steps, or by any combination of programmed computer components and custom hardware components. While embodiments of the present invention will be described with reference to the World-Wide Web, the method and apparatus described herein is equally applicable to other network infrastructures or other data communications systems.
The present invention is a computer-implemented chat system having dual channel communications and self-defining product structures. In one embodiment, avatars represent one example of a digital product that can be self-defining, augmented, modified, improved, derived, or otherwise changed through a hierarchy of product developers, each of whom add some value to the component parts that are ultimately sold as a derived digital product.
The avatars of one embodiment of the present invention are built on conventional animated three-dimensional (3D) mathematical models using techniques well known to those of ordinary skill in the art. Existing systems have found the use of avatars beneficial for improved communication. Conventional avatars are 2D or 3D graphic images that can be used to represent a human individual. Many systems have improved the animation of the avatar images so the images in animation can represent various facial expressions and generally appear reasonably lifelike. Other conventional systems use avatars to represent a user while he/she is chatting with one or more other users. However, these systems do not represent the avatars as interacting in an environment.
The present invention improves on the prior art by placing these 3D avatars in virtual environments and enabling interaction between the avatars in a shared virtual scene. The behavior of the 3D avatars is related to the interaction between the computer users being represented by the avatars. In one embodiment, the avatars represent users in an instant messaging (IM) conversation supported by conventional network-based IM infrastructure. As the users type in dialog in a conventional IM application program, the dialog is displayed in the shared virtual scene as dialog bubbles adjacent to the avatar representing the speaker.
In the example of
Referring to
Because the product model of the present invention relies upon the purchase and ownership of a particular avatar (i.e. digital product) by a particular user, it is necessary to determine at various stages of the IM communication whether a particular user is a legitimate owner (or licensee) of a selected avatar. For this reason, one embodiment uses the ownership checker server to validate that a specific user has acquired the rights to use a particular avatar or a particular digital product. If this ownership validation becomes necessary during an IM communication session, for example, the end user client system can initiate a communication with the ownership checker server to validate ownership of a particular digital product. If ownership is validated or a purchase transaction is completed, the ownership checker server enables the use of the particular digital product.
As an example of an ownership checking transaction, the user represented by Avatar B (shown in
Referring to
Although the present invention can employ the conventional text chat infrastructure of interaction server 505, the present invention augments the IM client software on client systems 520 and 530 to add a second logical channel for the transfer of chat command and control information 526 between interaction server 505 and client systems 520 and 530. The chat command and control channel 526 operates in parallel with first logical channel (i.e. conventional text chat) 524 to convey chat messages and chat control information between client 520 and client 530. In one embodiment, the second logical channel 526 can be implemented by inserting special predefined text characters into the text stream that would normally travel between clients 520 and 530. In the examples of the present invention illustrated below, an asterisk “*” symbol is used to signal the start of a chat command. It will be apparent to those of ordinary skill in the art upon reading this specification that other equivalent means can be used to implement a second logical channel or a side channel operating in parallel with a conventional text chat interaction server. In normal operation, clients 520 and 530 capture and interpret an incoming IM text stream. When necessary, as will be described in more detail below, the client 520 or 530 also may insert command and control text into the outgoing IM text stream thereby creating the second logical channel 526. In one embodiment, this control text is denoted with an asterisk (*) prefix. These are called ‘star commands’.
Referring still to
As an example of an ownership checking transaction, the user operating IM client computer system A 520 (represented by Avatar A) may be in conventional IM communication with the user operating IM client computer system B 530 (represented by Avatar B). During this IM session, Avatar B's user may wish to select or purchase a new pair of (digitally represented) shoes for his/her avatar (Avatar B). During this selection process, Avatar B's user is presented with various (digitally represented) shoe selections. Upon selection of a particular digital product (i.e. a digitally represented pair of shoes), the client system 530 of Avatar B's user initiates a request to the product server 510 to determine if Avatar B's user had previously purchased the selected digital product. If not, a purchase transaction may be initiated with the product server 510 or another sales server in a different embodiment. Once the purchase transaction is complete, the product server 510 validates Avatar B's user's property rights in the selected digital product and the selected (digitally represented) pair of shoes is displayed on Avatar B.
The avatars of the present invention are built on conventional animated three-dimensional (3D) mathematical models using well-known techniques. Existing systems have found the use of avatars beneficial for improved communication. Conventional avatars are 2D or 3D graphic images that can be used to represent a human individual. Many systems have improved the animation of the avatar images so the images in animation can represent various facial expressions and generally appear reasonably lifelike. Other conventional systems use avatars to represent a user while he/she is chatting with one or more other users. However, these prior art systems do not represent the avatars as interacting in a shared environment.
The present invention improves on the conventional technology by placing these 3D avatars in virtual environments and enabling interaction between the avatars in a shared virtual scene 532. The behavior of the 3D avatars is related to the interaction between the computer users being represented by the avatars. In one implementation, the avatars represent users in an instant messaging (IM) conversation supported by conventional network-based IM infrastructure. As the users type in dialog in a conventional IM application program, the dialog is rendered by a 3D scene builder (shown in
The 3D scene builder and 3D window 532 of one embodiment integrates visual effects, product files and text chat into a coherent 3D scene. Except for the 2D graphical user interface (GUI) and overlays, the 3D scene is entirely composed of digital product patterns (i.e. Body Patterns) and their component digital product parts (i.e. Body Parts). The Body Patterns, Body Parts, and the data files they refer to are stored in Product Files.
In one embodiment, Body Patterns include: 1) Blueprint files (written in simple XML format), which are used to describe the structure of an object; 2) an indexed list of Body Parts; and 3) the asset names (3D, 2D, sound, etc.) used by each Body Part.
In one embodiment, Body Parts are the individual components of a Body Pattern. Body Parts have a proper name and an ID, defined in the Body Pattern.
In one embodiment, Product Files are compressed data files containing assets (3D data, 2D images, sound, animation, etc.), metadata (Body Pattern and Body Part information), and derivation information (product parentage). A single Product File may only refer to a single Body Pattern. However, a single Product File may include data for multiple Body Parts.
Using the data constructs described above, digital products and parts can be conveniently defined and their interconnection and interoperation can be self defining. Each Product File contains both the building materials (2D & 3D assets, sounds, animation, etc.) and the instructions for assembly (Body Patterns, Body Part definitions, etc.). Also, since a given product may require one or more other products to be present in order for it to function, Product Files also store information about which other products need to be loaded. Therefore, a Product File contains all the information required by the 3D Scene Builder 532, including references to other product files from which a desired product may be derived. In this fashion, a hierarchical product definition is enabled.
The 3D scene builder 532 uses the chat command and control channel 526 as described above to receive a request for a particular identified product or part as encoded in ‘star commands’ which are interpreted by the 3D Scene Builder 532. The 3D Scene Builder 532 uses the products identified from channel 526 to obtain a corresponding Product File. If necessary, Product File download can be effected on channel 512 from product server 510. The Product file can then be used to render the desired product into the 3D scene displayed in the 3D window 532.
The 3D scene builder 532, manifested by the 3D window, ‘manufactures’ a 3D scene by displaying one or more ‘products’ as specified and identified by default configuration parameters and by explicit selection by IM users in star commands during a chat session. The 3D scene builder 532 takes the materials and instructions from the selected/identified Product Files, and assembles a 3D scene. The 3D scene builder 532 is data-driven; it comprises a set of libraries and software application programs for displaying 2D and 3D content; but, 3D scene builder 532 contains no scene-specific information. The key concept here is that the 3D scene builder 532 is a powerful but data-barren construct.
Using the structures described above, the present invention enables a chat system having dual channel communications and self-defining product structures. In the examples presented below, these structures are used to support the various features of the present invention.
Referring now to
User1's IMVU client 710 interprets the star command (step 1210) and executes an ownership validation check via a communication 1212 with product server 510. In essence, the IMVU client 710 asks the product server 510, “does User1 own the specified product?” If ‘yes’, a version check is executed (step 1212), and the latest version, as well as any required products from which it is derived, are downloaded, as described above. Products are loaded into 3D Window 905 (see
Thus, a computer-implemented chat system having dual channel communications and self-defining product structures is disclosed. While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.
This is a continuation-in-part patent application of patent application Ser. Nos. 10/964,356 filed Oct. 12, 2004 now abandoned; and Ser. No. 11/035,926 filed Jan. 13, 2005 now U.S. Pat. No. 7,912,793; both assigned to the same assignee as the present patent application.
Number | Name | Date | Kind |
---|---|---|---|
5880731 | Liles et al. | Mar 1999 | A |
5956038 | Rekimoto | Sep 1999 | A |
6041316 | Allen | Mar 2000 | A |
6069622 | Kurlander | May 2000 | A |
6147692 | Shaw et al. | Nov 2000 | A |
6219045 | Leahy et al. | Apr 2001 | B1 |
6268872 | Matsuda et al. | Jul 2001 | B1 |
6307568 | Rom | Oct 2001 | B1 |
6320583 | Shaw et al. | Nov 2001 | B1 |
6453294 | Dutta et al. | Sep 2002 | B1 |
6522333 | Hatlelid et al. | Feb 2003 | B1 |
6699123 | Matsuura et al. | Mar 2004 | B2 |
6784901 | Harvey et al. | Aug 2004 | B1 |
7006098 | Bickmore et al. | Feb 2006 | B2 |
7065711 | Hata et al. | Jun 2006 | B2 |
7188088 | Iwata et al. | Mar 2007 | B2 |
7318036 | Kim et al. | Jan 2008 | B2 |
7912793 | Danzig et al. | Mar 2011 | B1 |
20020099564 | Kim et al. | Jul 2002 | A1 |
20020169700 | Huffman et al. | Nov 2002 | A1 |
20030014423 | Chuah et al. | Jan 2003 | A1 |
20040179037 | Blattner et al. | Sep 2004 | A1 |
20040179038 | Blattner et al. | Sep 2004 | A1 |
20040179039 | Blattner et al. | Sep 2004 | A1 |
20040221224 | Blattner et al. | Nov 2004 | A1 |
20050137015 | Rogers et al. | Jun 2005 | A1 |
20060031128 | Lamitie | Feb 2006 | A1 |
20070247979 | Brillon et al. | Oct 2007 | A1 |
Number | Date | Country |
---|---|---|
WO2006076385 | Jul 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20060077205 A1 | Apr 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10964356 | Oct 2004 | US |
Child | 11213492 | US | |
Parent | 11035926 | Jan 2005 | US |
Child | 10964356 | US |