Methods and systems for creating an immersive character interaction experience

An exemplary character interaction system located at a first site receives character behavior data representative of captured behavior of a real-world performer located at a second site. Based on the character behavior data, the system presents, to an interactive user at the first site, a representation of a virtual character avatar that performs, in real-time synchrony with the real-world performer at the second site, the captured behavior of the real-world performer. During this presentation of the virtual character avatar, the system provides user video data representative of captured behavior of the interactive user for presentation to the real-world performer to allow the real-world performer to interact in real time with the interactive user via the virtual character avatar. The system also generates an augmented representation of an interaction between the virtual character avatar and the interactive user for presentation to a non-interactive observer. Corresponding methods and systems are also disclosed.

BACKGROUND INFORMATION

In a variety of entertainment, educational, vocational, promotional, and/or other applications and use cases, it may be desirable for a user (e.g., an entertainment viewer, a student, an employee, a target patron, etc.) to be able to interact with a character of some type. For example, patrons of an amusement park may interact with a character from a movie or television show that is represented by an actor wearing a costume. As another example, people attending a zoo or museum may be invited to ask questions of a subject of an exhibit (e.g., a wild animal, a funnel cloud, etc.) that are “answered” by a voiceover of an expert who speaks for the subject.

While these conventional types of character interactions may be enjoyable and valuable to users, they do not tend to be particularly immersive or true-to-life. For example, even small children are generally cognizant of the difference between interacting with a true character and a person in a costume. Accordingly, it would be desirable to create character interaction experiences that are more immersive, authentic, and memorable for the users who experience them.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Methods and systems for creating an immersive character interaction experience are described herein. As used herein, a “character” may refer to any human being (e.g., a real person, a fictional person, a historical person, a mythical person, etc.) or to a non-human entity or personality that is imbued with certain human-like characteristics (e.g., being able to verbally interact in a human-like way, taking a human-like appearance, moving in a human-like manner, etc.). In some examples, characters may be fictional and may inhabit imaginary worlds other than the real world. For example, animated characters may inhabit animated worlds that are completely imaginary or based on real world places. In other examples, characters may be real people who inhabit (or, at some point in history have inhabited) the real world, and who may be embodied by actors or animated representations or the like. Certain characters, both real and fictional, may be represented in various forms of entertainment media such as books, movies, television shows, video games, comic strips, or the like. Such characters may be brought to life by real people (i.e., actors) who embody the characters and try to emulate the traits of the characters. Additionally, the broad definition of a “character” used herein may, in certain implementations, include real people who are living their lives in the real world and who are not playing a part or pretending to be anyone other than themselves.

Accordingly, as used herein, a “character interaction experience” may refer to any encounter that a person might have with a character or animated object (or an embodiment thereof), especially when that encounter includes an interactive element where the person and the character are able to see one another, verbally interact (e.g., converse) with one another, physically interact with one another, and/or otherwise interact. As mentioned above, conventional character interaction experiences have typically involved relatively non-immersive or non-realistic character simulations such as people dressing in costumes, voiceovers attributed to non-speaking entities (e.g., animals, inanimate objects, etc.) that embody the characters, or the like.

In contrast, as set forth in detail below, “immersive character interaction experiences” described herein refer to character interaction experiences that exceed conventional character interaction experiences in terms of immersiveness, quality, realism, memorability, and/or various other aspects. For example, methods and systems described herein may involve: 1) real-time capture of behavior data (e.g., motion capture data) at one location; 2) real-time character interaction at a separate location by way of a screen (e.g., a video wall, etc.) that displays a virtual character avatar interacting with users while being controlled by the captured behavior data (e.g., virtual puppeteering); 3) full-duplex audio and video communication between the two locations; and 4) extended reality (e.g., augmented reality, mixed reality, virtual reality, etc.) technology, provided to non-interactive observers witnessing the character interaction, that augments the immersiveness of the character interaction experience even more (e.g., allowing the virtual character avatar to come out of the screen into the real world, etc.).

Such immersive character interaction experiences may be implemented in any of the ways described herein to provide various benefits and advantages as will be made apparent and/or be explicitly set forth herein. For instance, as one exemplary implementation of an immersive character interaction experience in accordance with principles described herein, a character interaction system will be considered. The character interaction system may be located at a first site, and may receive character behavior data representative of captured behavior of a real-world performer (e.g., an actor, etc.) located at a second site. In some examples, the second site may be geographically separated from the first site, and the character behavior data may thus be transmitted from the second site to the first site by way of a network (e.g., a low latency network such as a 5G provider network implementing multi-access edge computing (“MEC”) technologies to achieve ultra-low data transmission latencies).

Based on the character behavior data received over the network, the character interaction system at the first site may present a representation of a virtual character avatar to an interactive user at the first site. For example, the virtual character avatar may be configured to perform, in real-time synchrony with the real-world performer at the second site, the captured behavior of the real-world performer. Additionally, during the presenting of the representation of the virtual character avatar to the interactive user, the character interaction system may provide user video data (e.g., data representative of captured behavior of the interactive user) for presentation to the real-world performer at the second site. This mutual exchange of behavior data may allow the real-world performer to interact, via the virtual character avatar, with the interactive user in real time. For example, the virtual character avatar may be an animated character who is animated, in real time, to mirror the body movements of the real-world performer and to speak the words of the real-world performer in a manner that allows the interactive user to perceive that he or she is having an interactive experience (e.g., a conversation, etc.) with the virtual animated character.

Moreover, the character interaction system may further be configured to generate an augmented representation of the interaction between the virtual character avatar and the interactive user. This augmented representation may be configured not necessarily for the real-world performer or the interactive user (although these people may see the augmented representation as well in certain implementations), but, rather, for presentation to a non-interactive observer who is distinct from the interactive user. For example, another person at the first site or at a different (e.g., third) site may watch the interactive user interacting with the virtual character avatar in a way that augments the experience even beyond what is experienced by the interactive user. For instance, the virtual character avatar may be shown in the augmented representation to emerge from the screen into the real world with the interactive user. In this way, both the interactive user and the non-interactive observer may enjoy an immersive, unique, and memorable experience related to the virtual character avatar.

Immersive character interaction experiences described herein are highly immersive for interactive users and non-interactive observers alike. One reason for this is that virtual character avatars that are animated and/or otherwise rendered in real-time on a screen (e.g., a video wall, etc.) can do many things that are not possible for a real person in a real-world costume to do as a result of constraints associated with available physical materials, real-world physics, and so forth. For instance, virtual character avatars may be implemented by animation styles that match expected animation styles for the character (e.g., including hand-drawn or computer-generated imagery (“CGI”) animation styles), may perform behaviors such as flying through the air, growing to a different size, becoming translucent, moving within a virtual world in ways that would not be possible or practical for a costumed person to do in the physical world, and various other such behaviors.

Other advantages and benefits that arise from methods and systems described herein may include low-latency data transport technologies that may allow for the real-world performer, the interactive user, and the non-interactive observer to all be located at different sites (e.g., different buildings in different locales, etc.) while a single character interaction experience happens in real time for all of them. For example, this may allow the interactive user to be located at a site where he or she can fully enjoy the character interaction experience (e.g., an event such as a party, a conference, etc.), while the real-world performer may be acting on a stage at a studio site across town (e.g., rather than in a cramped trailer or backroom at the party) and non-interactive observers may be at other convenient locations (e.g., watching on monitors posted elsewhere at the event, watching on a device at home or another location, etc.).

Another significant benefit is that non-interactive observers may observe a particularly immersive version of the character interaction experience due to the application of extended reality technologies that allows for the experience to not be limited to the screen in front of the interactive user. In this way, the interactive user is not the only person who can enjoy the immersiveness of the character interaction experience, but the non-interactive observer also may enjoy an immersive and unique experience. As a result, interactive users and non-interactive observers alike may enjoy immersive character interaction experiences, and content creators and actors may benefit from having increased flexibility to generate high-quality and uniquely creative content.

Various embodiments will now be described in more detail with reference to the figures. The disclosed methods and devices may provide one or more of the benefits mentioned above and/or various additional and/or alternative benefits that will be made apparent herein.

FIG. 1illustrates an exemplary character interaction system100(“system100”) for creating an immersive character interaction experience according to principles described herein. System100may be implemented by computer resources disposed at a first location (e.g., an event location in certain examples), by a multi-access server (e.g., a MEC server, a cloud server, etc.) configured to interoperate with computer resources disposed at the first location, or by any other suitable computing resources (e.g., servers, processors, memory devices, storage devices, etc.) as may serve a particular implementation.

As shown, system100may include, without limitation, a storage facility102and a processing facility104selectively and communicatively coupled to one another. Facilities102and104may each include or be implemented by hardware and/or software components of a suitable computing system (e.g., processors, memories, communication interfaces, instructions stored in memory for execution by the processors, etc.). In some examples, facilities102and104may be distributed between multiple devices and/or multiple locations as may serve a particular implementation. Each of facilities102and104within system100will now be described in more detail.

Storage facility102may store and/or otherwise maintain executable data used by processing facility104to perform any of the functionality described herein. For example, storage facility102may store instructions106that may be executed by processing facility104. Instructions106may be executed by processing facility104to perform any of the functionality described herein. Instructions106may be implemented by any suitable application, software, code, and/or other executable data instance. Additionally, storage facility102may also maintain any other data accessed, managed, used, and/or transmitted by processing facility104in a particular implementation.

Processing facility104may be configured to perform (e.g., execute instructions106stored in storage facility102to perform) various functions associated with creating an immersive character interaction experience in any of the ways described herein. For example, processing facility104may be configured to receive character behavior data representative of captured behavior of a real-world performer. In some examples, processing facility104may receive the character behavior data while system100is located at a first site and the real-world performer is located at a second site geographically separated from the first site. For instance, the first site may be an event site such as a venue where a party event, a conference event, a sporting event, a concert event, an exposition or exhibition (“expo”) event, or another suitable event is taking place, while the second site may be a studio site where a stage and various capture equipment is set up for real-world performers to perform (e.g., act and otherwise behave in a manner that embodies a character). In these examples, the first and second sites may be geographically separated by significant distances such as several miles (e.g., in a different part of the same city) or more (e.g., across the country or further). As such, the character behavior data may be transmitted from the second site to the first site by way of a network that, as will be described in more detail below, may support very low-latency data transport to allow the character interaction experience to be carried out in real time as if the interactive user and the real-world performer are both present at the same location.

Processing facility104may present a representation of a virtual character avatar to an interactive user at the first site. For example, as will be described in more detail below, the representation may be presented on a large or small screen (e.g., a video wall that is large enough for the virtual character avatar to be presented at full, life size) and the virtual character avatar may be made to perform (e.g., by way of real-time animation or other real-time image rendering) the captured behavior of the real-world performer in real-time synchrony with the real-world performer at the second site. During this presentation of the virtual character avatar to the interactive user, processing facility104may also capture (or otherwise access) and provide user video data representative of captured behavior of the interactive user. By providing the user video data to the second site, systems at the second site may present the user video data to the real-world performer, thereby allowing the real-world performer to see the interactive user as the interactive user interacts with the character. In this way, the real-world performer may interact, via the virtual character avatar, with the interactive user in real time.

In certain implementations, processing facility104may also generate an augmented representation of an interaction between the virtual character avatar and the interactive user for presentation to a non-interactive observer distinct from the interactive user. For example, the augmented representation may depict that the virtual character avatar emerges from a virtual world into the real world with the interactive user (rather than appearing to remain “inside” the screen in the virtual world, as perceived by the interactive user) or that other interplay between elements from the real and virtual worlds are taking place (e.g., interplay not perceived by the interactive user unless the interactive user also observes the augmented representation).

As has been mentioned, immersive character interaction experiences created by methods and systems described herein may be shared by various people in various places. For example, one or more interactive users at the first site, one or more real-world performers at the second site, and one or more non-interactive observers at the first or second sites or an additional third site all may take part in the same immersive character interaction experience at the same time. As used herein, operations described as being performed by an implementation of system100(or components thereof, related systems coupled to system100, etc.) in “real time” will be understood to be performed in a manner that implements a shared character interaction that is experienced concurrently by people at multiple locations, as described above. For example, by operating in real time (i.e., by performing various operations described herein in real time), system100may provide, receive, process, and/or use data described herein (e.g., character behavior data, user video data, representations of virtual character avatars and worlds, augmented representations and augmented graphics included therein, etc.) immediately as the data is generated, updated, changed, exchanged, or otherwise becomes available. As a result, system100may be configured to continuously create an immersive character interaction experience based on relevant, real-time data so as to allow interactive users and non-interactive observers to have the immersive types of experiences described herein.

Accordingly, as used herein, operations or events that are described as occurring “in real time” or “in real-time synchrony” with other operations or events will be understood to be performed immediately, without undue delay, and near in time to the other operations or events, even if it is not possible for there to be absolutely zero delay or perfect synchronization. For example, if a real-world performer performs an action (e.g., lifting his or her arm, speaking a word, etc.), a virtual character avatar may be said to perform an analogous action (e.g., lifting a body part corresponding to an “arm,” speaking the same word in the character's voice, etc.) in real-time synchrony with the real-world performer if the analogous action is performed soon enough after the original action to allow the interactive user to naturally converse and/or otherwise interact with the virtual character avatar. For instance, the virtual character avatar performing the action in real-time synchrony with the real-world performer may perform the analogous action at the first site within about a few tens or hundreds of milliseconds after the action is performed by the real-world performer at the second site. As has been mentioned and will be described in more detail below, the real-time capabilities of character interaction systems and methods described herein may be enabled by low latency network technologies such as MEC technologies, 5G provider network technologies, and so forth.

FIG. 2illustrates an exemplary configuration200in which system100operates to create an immersive character interaction experience. As shown, in configuration200, system100is located at a first site202-1that is distinct from a second site204where a character performer system206is located. System100and character performer system206are shown to be communicatively coupled to one another via a network208to allow for low-latency, inter-location (cross-site) communication.

Configuration200also shows an interactive user210at site202-1, as well as a capture system212and a screen214associated with interactive user210. At a site202-2(which may be the same as or related to site202-1in certain examples), configuration200also shows a non-interactive observer216and a screen218associated with non-interactive observer216.

At site204, configuration200includes a plurality of performance capture stages220(e.g., stages220-1and220-2), each of which is shown to be associated with at least one respective real-world performer222(e.g., real-world performers222-1and222-2), a respective performance capture system224(e.g., capture system224-1and224-2), a respective screen226(e.g., screens226-1and226-2), and a respective screen228(e.g., screens228-1and228-2). System100has been described in some detail above. The operation of system100in configuration200, as well as each of the other elements of configuration200, will now be described in more detail.

Site202-1corresponds to the “first site” that has been described above as the location of system100, or at least some of the computing resources that implement system100and perform the operations thereof (as mentioned above, in certain implementations, at least some operations of system100may be performed off-site such as at a MEC server integrated within network208or the like). In some examples, site202-1may be the venue of an event such as any of the events that have been described herein (e.g., party events, sporting events, expo events, etc.). In other examples, site202-1may not be associated with any event in particular, but may be at a location such as a home of interactive user210, a store, a school, a museum, or any other indoor or outdoor location as may serve a particular implementation.

Site204corresponds to the “second site” that has been described above as the location at which character behavior data of a real-world performer is captured. Site204may be geographically separated from site202-1by at least some degree so as to implement a distributed character interaction experience (i.e., an immersive character interaction experience generated using distribute computing resources). In some examples, as has been mentioned, the first and second sites (i.e., sites202-1and204) may be geographically separated by significant distances of many miles. While various elements are all shown to be included at a single site204, it will be understood that these elements may, in certain implementations, be distributed at multiple locations (e.g., multiple locations that are all geographically separated from site202-1). For example, site204may be distributed to multiple locations (e.g., one for each stage220and the elements included therein).

Data transport between system100and character performer system206is accomplished by way of network208. Network208may be implemented by or include any type of communications network as may serve a particular implementation. For example, network208may be implemented by a low-latency network that allows for the real-time performance elements that have been described above. Implementing this low-latency network, network208may include elements of provider-specific wired or wireless communications network (e.g., a cellular network used for mobile phone and data communications, a 5G network or network of another suitable technology generation, a cable or satellite carrier network, a mobile telephone network, etc.) operated and/or managed by a provider entity such as a mobile network operator (e.g., a wireless service provider, a wireless carrier, a cellular company, etc.). The provider of such a provider network may own or control all of the elements necessary to sell and deliver communications services to users, including radio spectrum allocation, wireless network infrastructure, back haul infrastructure, customer care, provisioning of devices, network repair for the provider network, and so forth.

In some examples, network elements external to such a provider network may be included within network208. For example, network208may include elements of various interconnected networks that are outside of any provider network and outside the control of any provider of such a provider network. Elements of the Internet, a wide area network, a content delivery network, and/or any other suitable network or networks are examples of other elements that may be included within network208. Any of these provider or non-provider networks or network elements may provide data delivery between site202-1and site204, and may implement or employ any suitable communication technologies, devices, media, protocols, or the like as may serve that end in a particular implementation. In some examples, network208may include multiple paths for data transport, such as a main communication path and a redundant communication path that can be employed if the main communication path is interrupted or slowed down so as to be inadequate for maintaining real-time communications.

At site202-1, interactive user210is shown to be associated with screen214, which is communicatively coupled with system100. Interactive user210will be understood to represent one or more people who are interacting with one or more virtual character avatars controlled by one or more real-world performers222. To this end, screen214may be viewed by interactive user210and may be used by system100to present the virtual character avatar. Screen214may be implemented by any type of display that is capable, using any suitable type of display technology, of displaying a virtual character avatar and, in some examples, a virtual world that the virtual character avatar inhabits. In certain implementations, screen214may be implemented by a relatively large screen or array of screens configured to act as a single screen (e.g., a video wall). In other implementations, screen214may be implemented by a smaller screen such as a computer monitor, a screen of a mobile device, or the like. Screen214may be implemented by a display screen that emits light directly to a user using light-emitting diodes (an “LED” screen) or another suitable technology, by a projector that projects light onto a reflective screen, or by any other display technology as may serve a particular implementation.

The content that system100presents to interactive user210using screen214may be generated based on character behavior data that system100receives from character performer system206by way of network208. Just as system100is understood to incorporate many or all of the computing resources used at site202-1to create the immersive character interaction experience, character performer system206will be understood to perform a similar role for site204. That is, character performer system206may include or by implemented by computing resources of one or more servers or other computing systems located at site204and configured to facilitate the operations described below as being performed at site204.

Character performer system206may be associated with various performance capture stages220, each of which may be located locally or remotely from site202-1. As shown, each stage220may include the same elements. In this way, a continual stream of character behavior data may be generated even when certain real-world performers222associated with one stage220are unavailable. For example, a multiplexor (labeled “Mux” inFIG. 2) implemented by character performer system206may allow for captured data from one multiple capture system224of a plurality of such systems to be selected at a time. As such, data associated with stage220-1(i.e., data provided by capture system224-1and corresponding to real-world performer222-1) may be selected while real-world performer222-1is actively performing, then, when real-world performer222-1ceases performing (e.g., to go on a break, at the end of a shift, etc.), data associated with stage220-2(i.e., data provided by capture system224-2and corresponding to real-world performer222-2) may be selected without any interruption to the character behavior data stream.

In this way, the character behavior data received by system100from character performer system206may originate, at different times, from a first character behavior data stream representative of the captured behavior of real-world performer222-1and from a second character behavior data stream representative of additional captured behavior of real-world performer222-2. The receiving of this character behavior data may proceed uninterrupted when a transmission of the first character behavior data stream is switched (e.g., using the multiplexor switch of character performer system206) to a transmission of the second character behavior data stream. Accordingly, a steady sequence of different interactive users210(e.g., a long line of people at a party, etc.) may take turns interacting with a virtual character avatar without requiring any single actor or other real-world performer222to work an arbitrarily long and continuous shift, and without the virtual character avatar needing to “take a break” or go offline. Indeed, in examples where the virtual character avatar has a different appearance and a modified voice from the real-world performer, it may not be easy or possible for interactive users210to even discern when one real-world performer is switched out for another with respect to controlling a particular virtual character avatar.

In certain examples, each real-world performer222may represent one or more actors whose behaviors are captured by the respective capture system224. For example, when the actor gestures with his or her arms, takes a step, turns his or her head, speaks, jumps, or performs any other such body motion or behavior, data representative of the motion or behavior is generated by the respective capture system224and provided in a stream to character performer system206, which transmits the character behavior data to system100at site202-1. In some examples, a real-world performer222may not be an actor and may not be playing a role, but, rather, may be communicating with interactive user210as himself or herself. In this type of example, the virtual character avatar may take the true form of the person acting as the real-world performer222, rather than the form of an animated or other character distinct from the real-world performer222.

Each capture system224may include any capture devices and/or other equipment (e.g., computing devices, etc.) as may serve a particular implementation. For example, capture systems224may each include video capture equipment (e.g., one or more video cameras), audio capture equipment (e.g., one or more microphones), motion capture equipment (e.g., trackable markers worn by actors and capture devices configured to track the markers), depth capture equipment (e.g., time-of-flight depth capture devices, etc.), and/or any other such equipment that may capture or facilitate capture of character behavior data. In some examples, capture system224may further include computing resources such as video and audio processing hardware and software, motion capture hardware and software for translating captured video into motion data, or the like, while, in other examples, such computing tasks may be performed by character performer system206.

Using whichever systems, devices, and other resources are employed for a particular implementation, each capture system224may be configured to monitor the behavior of the respective real-world performer(s)222as he or she or they perform various actions on a particular stage220. Based on this monitored behavior, capture systems224generate character behavior data or provide data to character performer system206that character performer system206may use to generate the character behavior data.

Character behavior data may thus be understood to represent the behavior (e.g., body motions, facial expressions, etc.) of one or more real-world performers222in a form that is usable by system100to animate or otherwise give life to a virtual character avatar presented to interactive user210on screen214. To this end, character behavior data may take any form as may serve a particular implementation. For instance, in certain implementations, character behavior data may include motion data (or other metadata) that is representative not of video imagery but, rather, of motion vectors for behaviors that the one or more real-world performers222have been detected to perform. In some examples, such motion vectors may be associated with the movement of markers placed at various points on the body or costume of the real-world performers222to facilitate motion tracking of various body parts, facial muscles, and so forth. In the same or other implementation, character behavior data may include video image data and/or depth data from which motion of the real-world performers222may be derived.

In some examples, audio capture devices, such as microphones, included within each capture system224may be placed on their respective stage220or attached or held above real-world performers222so as to be positioned to capture speech and/or other sound made by real-world performer222. Capture systems224and/or character performer system206may pass this captured audio through to system100without modification in certain examples, or, in other examples, these systems may apply various filters and/or other audio processing to modify the voices of respective real-world performers222to better implement desired characteristics of the voice of the virtual character avatar that is to be presented to interactive user210as speaking the words. For example, if a virtual character avatar is a lighthearted cartoon character, filters may be used to make speech of a corresponding real-world performer222sound high-pitched, while, if the virtual character avatar is a serious character such as a villain, different filters may be used to make the speech sound deeper and more severe.

In certain examples, captured behavior of certain real-world performers222may only (or largely) consist of physical movements, expressions, and behaviors, while audible behaviors (e.g., speech, sound effects, etc.) may be controlled by other real-world performers222or other personnel (e.g., stage directors, etc.) associated with the same stage220and capture system224. Moreover, as will be described in more detail below, real-world performers222or the other personnel associated with a given stage220at site204may cause character behavior data to be generated in ways other than physical movements, expressions, sounds, and behaviors. For example, certain actions may be performed to indicate a request for what is referred to herein as “non-performed behavior” (i.e., a behavior that a virtual character avatar is directed to perform not by mirroring movement or other behavior of the real-world performer but by an action that is different from the behavior). Actions used to request non-performed behaviors may include pressing a particular button, speaking a voice command, performing a hand gesture, or the like. Character behavior data indicative that a non-performed behavior has been requested may be generated and included in the stream of character behavior data being generated by the capture system224. As used herein, and as will be described in more detail below, non-performed behaviors refer to actions that may be desirable (and completely reasonable) for a virtual character avatar to perform, but that may not desirable, convenient, and/or, in some cases, possible for a real-world performer222to perform. For example, non-performed behaviors may include flying, bursting into flames, falling into a pit, disappearing (e.g., turning invisible), shrinking or growing to a different size, splitting into two halves, and so forth.

Similarly, character behavior data may be made to include (e.g., based on a manual indication by a real-world performer222or stage director, etc.) vectors for controlling objects in a virtual world other than the virtual character avatar. For example, by pressing a button or performing a hand gesture, character behavior data may be generated to indicate that a door or curtain should open (e.g., at the beginning of a character interaction experience of a particular interactive user210) or close (e.g., at the end of the character interaction experience), that an object or other virtual character avatar in the virtual world should perform a particular action, or the like.

Each screen226may be configured as a reference monitor to allow real-world performers222to have visibility into an ongoing character interaction experience. For example, character performer system206may be configured to mirror the processing performed by system100to animate and give life to the virtual character avatar so that each real-world performer may see the same virtual representation of the virtual character avatar and the virtual world as interactive user210sees during the immersive character interaction experience. Additionally or alternatively, screen226may display a representation of capture data generated by capture system224(e.g., live video of real-world performers222, a representation of motion capture data, etc.) in any manner as may facilitate the performance of real-world performers222during a particular immersive character interaction experience.

Each screen228is also configured to facilitate the performance of the real-world performers222during the immersive character interaction experiences, but, rather than presenting feedback about the real-world performers themselves or the virtual character avatars and virtual worlds they are controlling, screen228may be configured to present user video data representative of captured behavior of interactive user210.

At site202-1, capture system212may be similar or the same as capture systems224, but may be configured to capture behavior data associated with interactive user210, rather than the character behavior data associated with real-world performers222that has been described. Behavior data associated with interactive user210is referred to herein as user video data and will be understood to representative of captured behavior (e.g., video, audio, etc.) of interactive user210during an immersive character interaction experience. Because, in many examples, interactive user210is not in a studio environment (such as that of stages220) but, rather, may be at a party or other event environment, capture elements of capture system212such as video cameras, microphones, and so forth, may be hidden within set pieces associated with screen214. Examples of such set pieces will be described and illustrated in more detail below.

It will be understood that, while the focus of capture systems224may be to generate motion data for animating a virtual character avatar, the focus of capture system212may be on generating video data (e.g., including visual and audio data) for direct presentation to real-world performers222on respective screens228. This is because, unlike interactive user210, who may only be presented with an image of the virtual character avatar and not the real-world performers222, it may be desirable for real-world performers222to see interactive users210as they actually appear. In this way, real-world performers222may instruct interactive users210to do certain things (e.g., “Step forward! Come on, don't be shy . . . ”), may comment on the appearance of interactive users210(e.g., “Let's hear from the gentleman in the red bow tie. What are your thoughts?”), and may converse and otherwise interact with interactive users210in natural, meaningful, and/or collaborative ways.

Non-interactive observer216and screen218are shown at yet another site, labeled site202-2. Site202-2is given a related reference number to site202-1because, in certain examples, site202-1and202-2may be the same site (“site202”) or different parts of the same site (e.g., different rooms in the same building, different areas at an event venue, etc.). For example, if an expo event includes a booth where attendees may take turns in the role of interactive user210having immersive character interaction experiences with a virtual character avatar, displaying one or more screens218around the expo hall (e.g., at the entrance, in an eating area, etc.) may entice other attendees to stop by the booth to have their own immersive character interaction experience. As such, non-interactive observers216will be understood to represent various people who may view an augmented representation of an interaction between a virtual character avatar and an interactive user210but who are not necessarily currently part of the interaction or even in a location where they can witness the interaction in any way other than on screen218.

In other examples, non-interactive observer216and screen218may represent other ways that various people may view immersive character interaction experiences in various locations. For example, the entity providing immersive character interaction experiences at the exemplary expo event described above may provide video data (e.g., a souvenir DVD, etc.) to interactive users210who have an immersive character interaction experience at the event. Accordingly, in this example, a non-interactive observer216may be understood to have previously acted as an interactive user210, screen218may be a television screen or other device used by the non-interactive observer216, and site202-2may be the home of the non-interactive observer216, or any other location where the non-interactive observer216may choose to view the recorded augmented representation. Various details about augmented representations will be described and illustrated in more detail below.

FIG. 3illustrates an exemplary immersive character interaction experience300that may be created by a character interaction system such as system100when in a configuration such as configuration200. As such, certain elements of configuration200are depicted inFIG. 3along with several additional elements not explicitly shown in configuration200to illustrate immersive character interaction experience300. For example, interactive user210is shown at site202-1to be viewing a presentation on screen214, while a real-world performer222viewing a screen228is shown to be located on a performance capture stage220at site204. Other elements of configuration200that are not explicitly illustrated inFIG. 3may still be understood to be present in certain implementations.

New elements illustrated byFIG. 3include a distinction between a real world302and a virtual world304at site202-1, a virtual character avatar306and a virtual object308included within virtual world304, various set pieces310in real-world302at site202-1, an exchange of behavior data312including character behavior data312-1and user video data312-2, mirrored behaviors314of real-world performer222(behavior314-1) and of virtual character avatar306(behavior314-2), and simulated lighting effects316in which light from real world302is accounted for in virtual world304. The elements explicitly shown in configuration200have been described in detail above, and the additional elements illustrated for the first time inFIG. 3will now be described in more detail.

Real world302may refer to the real-world environment inhabited by interactive user210, screen214, set pieces310, and so forth. To illustrate immersive character interaction experience300,FIG. 3shows various real-world objects at site202-1including everything at site202-1besides what is depicted on the video wall of screen214. Accordingly, it will be understood that real world302may include any real person or object in the real-world environment, as opposed to virtual character avatars and/or objects that exist only virtually in virtual world304.

On screen214, virtual world304is depicted to include at least one virtual character avatar (i.e., virtual character avatar306) and at least one virtual object (i.e., virtual object308). In this particular example, virtual character avatar306is shown to be presented as a ghost character that has a distinct appearance from an appearance of real-world performer222(whose captured behavior virtual character avatar306performs, as will be described in more detail). In similar examples, virtual character avatar306may be presented as any type of character described herein, including animated and live-action characters, fictional and non-fictional characters, imaginary and real characters, living and dead characters, and so forth. In any of these examples, as in the example illustrated inFIG. 3, virtual character avatar306may have a distinct appearance from that of real-world performer222(i.e., may not be made to resemble real-world performer222but merely to mirror the behaviors of real-world performer222). Additionally, in certain examples, a virtual character avatar306may be implemented that resembles real-world performer222in certain respects (e.g., a facial resemblance, etc.) or in every respect (e.g., virtual character avatar306may be implemented by a video image of real-world performer222, who may be dressed in a costume to act a role or may be dressed as himself or herself). For instance, such an example may be employed in a video communications application or the like.

Together with virtual character avatar306in virtual world304, one or more virtual objects may also be presented on screen214. For instance, as shown inFIG. 3, a haunted house associated with the universe of the ghost character implementing virtual character avatar306may serve as an example of one type of virtual object308. In other examples, various other objects associated with this virtual universe of virtual character avatar306(or another virtual universe of another virtual character avatar) may also be presented as being part of virtual world304. Such objects may be real-world objects that are held or worn by real-world performer222and captured on stage220, or may be virtual objects that are integrated into virtual world304by system100.

As shown inFIG. 3, immersive character interaction experience300may be especially immersive when screen214is a large screen that is made to blend in (e.g., using set dressing and other decoration) with the surroundings of real world302. For example, the representation of virtual character avatar306may be presented to interactive user210on a video wall that implements screen214and that is sized and integrated into a real-world environment such that the representation of virtual character avatar306to interactive user210is an actual-size representation configured to simulate virtual character avatar306being present in real world302. If the ghost character of virtual character avatar306is supposed to be approximately the same size as a human adult, for example, the video wall implementing screen214may be large enough to present virtual character avatar306as being approximately the same size as interactive user210, to present virtual object208as being the size of an actual house in the distance, and so forth, as depicted inFIG. 3.

The immersive effect of making virtual world304appear life-size on a large screen (e.g., a video wall) is shown to be further heightened by making screen214blend into real world302using various set pieces310that are appropriate for the theme of virtual world304. For example, for the spooky theme of virtual world304, set pieces310may include old trees suggestive of a haunted forest or the like. As another example, if the virtual world were on a space station, the set pieces could be implemented as an airlock that could be opened and closed for each immersive character interaction experience with a new interactive user210. In any case, as shown, set pieces310may frame screen214in a realistic and immersive manner that facilitates the suspension of disbelief in interactive user210and allows interactive user210to perceive that he or she is actually looking into virtual world304, rather than merely viewing a representation of the virtual world on a screen.

Another benefit of set pieces310that has been mentioned is that set pieces310may provide discreet hiding places for elements of capture system212. For example, one or more microphones and/or computing devices associated with capture system212and/or system100may be hidden within the trunks of the trees implementing set pieces310, while overhanging branches of the trees may support inconspicuous capture devices (e.g., video cameras, microphones, etc.) used to capture user video data that can be used for the presentation of user video data to real-world performer222on screen228and for the augmented representation presented to non-interactive observer216on screen218.

While not shown inFIG. 3, it will be understood that the area of real world302where immersive character interaction experience300is happening may include various other monitors or screens, set pieces, decorations, promotional content, and so forth. For example, one or more implementations of screen218may be located in the vicinity of immersive character interaction experience300to present the augmented representation of immersive character interaction experience300and to thereby enhance the experience of interactive user210and/or onlookers in the vicinity (e.g., family or friends of interactive user210, people in line to have their own immersive character interaction experience as the interactive user, etc.).

Set pieces310may contribute to the immersiveness and enjoyability of immersive character interaction experience300by helping screen214to blend into the real-world environment of real world302and/or to serve as a virtual portal into virtual world304. Additionally, the real-time interaction between interactive user210and virtual character avatar306may be characterized by various interaction properties that further contribute to the immersiveness of the experience.

For example, based on character behavior data312-1, a real-time interaction between interactive user210and real-world performer222(who is interacting via virtual character avatar306) may include a plurality of interaction properties such as a mutual observation interaction property, a non-performed behavior interaction property, a mutual conversation interaction property, a virtual manipulation interaction property, and/or any other interaction properties as may serve a particular implementation. A few exemplary interaction properties will now be described.

As used herein, a mutual observation interaction property may refer to a property of an interaction experience in which interactive user210observes virtual character avatar306performing behavior314-2(i.e., the behavior of raising up a right arm in this example) based on analogous behavior314-1as performed by real-world performer222. This observation of behavior314-2by interactive user210may occur concurrently with real-world performer222observing (e.g., via screen228which presents user video data312-2) interactive user210and any behaviors interactive user210may be engaging in. As such, an interaction experience characterized by a mutual observation interaction property may be an interaction experience in which the interactive user and the real-world performer may see the body motions of one another (with the virtual character avatar standing in as proxy for the real-world performer).

As used herein, a non-performed behavior interaction property may refer to a property of an interaction experience in which virtual character avatar306performs a non-performed behavior (i.e., as described above, a behavior that is initiated in a manner other than by being performed by real-world performer222). For example, as mentioned above, certain implementations of virtual character avatar306may be configured to perform behaviors based on actions of real-world performer222(or a stage director associated with stage220and real-world performer222) such as a press of a button, a special voice command or hand gesture, or another suitable action other than a performed behavior that is to be mirrored. As mentioned above, non-performed behaviors may include character behaviors that are not possible or practical to be performed by real-world performers, such as flying, changing size, and so forth.

To illustrate,FIG. 4shows certain exemplary aspects of immersive character interaction experience300when character behavior data312-1includes a request for a non-performed behavior. Specifically, in this example, real-world performer222may have his or her feet planted firmly on a stage surface402(i.e., the ground) and may perform an action such as pressing a button to add a request for a non-performed behavior to character behavior data312-1. As a result, a non-performed behavior404(i.e., flying up in the air in this example) is shown to be performed by virtual character avatar306in the presentation on screen214.

Returning toFIG. 3, a mutual conversation interaction property, as used herein, may refer to a property of an interaction experience in which interactive user210hears virtual character avatar306speaking words spoken by real-world performer222(e.g., and received by system100as part of character behavior data312-1) concurrently, in a half-duplex or full-duplex manner, with real-world performer222hearing words spoken by interactive user210to virtual character avatar306(e.g., and received by character performer system206as part of user video data312-2). As such, an interaction experience characterized by a mutual conversation interaction property may be an interaction experience in which the interactive user and the real-world performer may engage in a conversation with one another (with the virtual character avatar standing in as proxy for the real-world performer).

As used herein, a virtual manipulation interaction property may refer to a property of an interaction experience in which, by performing a particular action, the interactive user210exerts a physical influence over virtual character avatar306or another virtual aspect of virtual world304inhabited by virtual character avatar306(e.g., a virtual object such as virtual object308). For example, interactive user210may perform an action such as a press of a button, a special voice command or hand gesture, or another suitable action that is predefined, or naturally understood (e.g., by real-world performer222, by a stage director associated with stage220, etc.) to be intended, to exert a physical influence over virtual elements of virtual world304.

To illustrate,FIG. 5shows additional exemplary aspects of immersive character interaction experience300when user video data312-2reflects an action502by interactive user210(e.g., a gesture involving raising the hands and arms in a particular way, etc.) that is predefined or otherwise indicative of an intent to exert a physical influence over things in virtual world304. Specifically, in this example, interactive user210is shown to be performing action502in a way that exerts a physical influence504in virtual world304. For instance, physical influence504is shown inFIG. 5to include banishing the ghost character (virtual character avatar306) back into the haunted house (virtual object308). This may be done at the end of one particular immersive character interaction experience by one particular interactive user210before a next person in line takes a turn as the interactive user210and virtual character avatar306reemerges for the next immersive character interaction experience. In other examples, other gestures or actions by interactive user210may exert physical influence on any virtual character avatar, virtual object, or other aspect of the virtual world in any manner as may serve a particular implementation. For example, other gestures by interactive user210may cause virtual object308to levitate in the air or collapse into a pile of rubble, may cause virtual character avatar306to shrink or grow or explode, or may cause any other performed or non-performed behavior or action by any element of virtual world304as may comport with a theme of virtual world304and/or as may be included as part of the provided immersive character interaction experience.

Returning toFIG. 3, another immersive aspect of the representation to interactive user210, along with various interaction properties that have been described above, is illustrated by simulated lighting effects316. Specifically, as shown, the representation displayed on screen214may be configured to account for simulated lighting effects of real-world light that originates in real world302and virtually propagates into virtual world304. In the illustrated example, for instance, real-world light may originate from behind interactive user210in real world302such that interactive user210casts a shadow forward toward screen214. Under normal circumstances, this shadow may be changed or obscured by screen214, thereby diminishing an immersive effect that the character interaction experience is attempting to recreate (i.e., that interactive user210is looking into an actual virtual world rather than looking at a screen). Therefore, in order to maximize the immersiveness of the experience, the representation may account for and display, as a simulated lighting effect316, the shadow of interactive user210in a manner that bolsters the illusion that real-world light interacts with virtual world304in a natural way. Similarly, a shadow of virtual character avatar306simulated as being cast from the real-world light that is being accounted for within virtual world304is shown as another simulated lighting effect316.

Simulated lighting effects316will be understood to illustrate just one example of how real-world light may be simulated as having an effect in virtual world304. In other examples, the color and amount of real-world light that spills into virtual world304may similarly be simulated, a real or imaginary light source controlled by interactive user210(e.g., a flashlight, a laser gun, etc.) may be simulated as casting light (e.g., a flashlight beam, laser bullets, etc.) into virtual world304, or the like.

As was described above in relation to configuration200, an augmented representation of an immersive character interaction experience may be presented to one or more non-interactive observers216viewing one or more screens218. To illustrate,FIG. 6shows an exemplary representation602presented on a screen218to a non-interactive observer216. As shown, representation602depicts an interaction between a virtual character avatar (e.g., virtual character avatar306) and an interactive user (e.g., interactive user210). For example, the interaction depicted in representation602may be associated with immersive character interaction experience300described above in relation toFIGS. 3-5or another suitable immersive character interaction experience.

Non-interactive observer216may be any observer of representation602, including an interactive user who can see themselves on a monitor placed near the video wall, people nearby the interactive user during the immersive character interaction experience (e.g., companions of the interactive user, people waiting in line for an immersive character interaction experience or other onlookers, etc.), or people that are in a location other than the location where the immersive character interaction experience is occurring (e.g., people at another area of the event, people watching from a device at a different site, etc.). In some examples, representation602may be recorded (e.g., digitally recorded on a medium such as a souvenir DVD, etc.) and the viewing of representation602may take place in a time-shifted manner (e.g., after the interactive user has returned home) rather than, as is the case in other examples, live during the immersive character interaction experience.

InFIG. 6, representation602is shown to depict an immersive character interaction experience directly, without any augmentation to what the interactive user and/or other people watching the immersive character interaction experience see. Specifically, as shown, the virtual character avatar is shown to be inside the screen within the virtual world, the interactive user is shown to be outside the screen within the real world, and so forth. Accordingly, representation602may be generated using a direct (i.e., straight, non-augmented, unmodified, etc.) video capture of the site of the immersive character interaction experience as the experience occurs.

While the direct video capture of representation602may be interesting and useful in some ways and/or for some parts of an immersive character interaction experience, it may be even more immersive and engaging for non-interactive observer216to be presented with an augmented representation of the immersive character interaction experience. As used herein, an augmented representation of an interaction may refer to any representation that depicts certain aspects of the interaction as they actually occur (e.g., as would be captured by direct video capture, as would be experienced by the interactive user or an onlooker present for the immersive character interaction experience, etc.) while depicting other aspects of the interaction in a manner distinct from how they actually occur. As such, an augmented representation may use augmented reality, mixed reality, or other forms of extended reality technologies to impose an augmentation onto a direct video capture of an immersive character interaction experience (such as the direct video capture illustrated by representation602).

In this sense of the word, it will be understood that a representation is not considered to be “augmented” merely as a result of an improved camera angle (e.g., a high camera angle that allows non-interactive observer216to have a better vantage point on the scene than onlookers present at the scene, etc.), a high quality video capture (e.g., video captured with a high resolution image or high fidelity sound), or the like. Rather, augmented representations referred to herein depict some aspect of the real world in a way that is distinct from what is actually captured by a video capture device and/or experienced by an observer witnessing an interaction directly (i.e., other than with the augmented representation).

As one exemplary augmentation, an interaction between a virtual character avatar and an interactive user may depict the virtual character avatar emerging from screen214to interact with the interactive user in the real world or in a hybrid world depicted in the augmented representation to include elements of both the real world and the virtual world. For example, the virtual character avatar may be depicted to emerge from screen214(e.g., exit the virtual world through screen214) to join the interactive user in the real world or in a hybrid world that exists outside screen214but is visually augmented to feature virtual elements consistent with the virtual world. To illustrate,FIG. 7shows an augmented representation702that includes an augmentation704. Specifically, as shown, the virtual ghost character, which, as shown in representation602may actually be constrained to the virtual world, is depicted in augmented representation702to have emerged from the screen and exited the virtual world to join the interactive user in the real world.

To accomplish this effect, extended reality technology used to generate augmented representation702may be configured to extract the captured virtual character avatar (i.e., the virtual character avatar as captured by direct video capture and witnessed by the interactive user and other spectators at the scene of the immersive character interaction experience) and to replace the captured virtual character avatar with augmentation704, which may have a similar or identical appearance to the captured virtual character avatar but may be located in the real world with the interactive user. In this way, augmented representation702may create an illusion for non-interactive observer216that the virtual character avatar has walked or floated out of the video wall toward the interactive user, as shown. To maximize the immersive effect of this augmentation, system100may render augmented representation702in a manner that accounts for real-world lighting effects (e.g., as illustrated by the shadow of augmented representation702), as well as virtual-world lighting effects and/or any other effects as may help create the illusion that the character is actually present in the real world or the hybrid world with the interactive user.

As another exemplary augmentation, the interaction between the virtual character avatar and the interactive user generated for the augmented representation may depict a simulated lighting effect of virtual-world light in the real world. This may be understood to be an inverse situation of the one described above in which real-world light is accounted for in the virtual world. For instance, shadows cast in the virtual world may appear to enter into the real world, laser guns or flashlight beams originating in the virtual world may be shown to exit the screen and affect the lighting of the real world, and so forth.

To illustrate,FIG. 8shows an augmented representation802that includes a significant amount of virtual-world light804that creates a simulated lighting effect806in the real world. In this example, for instance, the interactive user may be performing a gesture to banish the ghost character back to the haunted house, as described above. As the ghost character is forced back to the haunted house in this way, the large burst of virtual-world light804may originate from the house to indicate the successful annihilation of the ghost. In augmented representation802, virtual-world light804may be shown to light up the real world in a more dramatic way than what is captured with a direct video capture or experienced by the interactive user. To illustrate this, augmentation806is shown to represent a distinctive shadow of the interactive user that is created by virtual-world light804. This shadow augmentation may be created or emphasized (to the extent that a real but less distinct shadow is actually cast due to light from the video wall) using extended reality technology in a similar manner as described above.

Various other augmentations of these or other types may similarly be applied to an augmented representation presented to a non-interactive observer216. For example, objects or effects (e.g., wind, etc.) from the virtual world may also appear to emerge from the screen into the real world, or the virtual portal into the virtual world created by the video wall may be made to enlarge so that there is no discernible difference between the real world and the virtual world to non-interactive observer216. In some examples, the interactive user may appear to walk into the virtual world instead of or in addition to the virtual character avatar exiting the virtual world. The interactive user could also be made to appear to fly in the augmented representation, or to perform other such behaviors that are not actually performed by the interactive user. In certain implementations, two-dimensional virtual character avatars that appear to be flat on the video wall viewed by the interactive user may be made to appear three-dimensional in the virtual representation. In all of these and various other potential augmentation examples, a view of the immersive character interaction experience scene may be captured directly (e.g., using a video capture device), the captured view may be augmented in any of the ways described herein or in any other suitable ways, and the augmented view may be presented on screen218as an augmented representation (e.g., augmented representation702,802, etc.).

FIG. 9illustrates an exemplary method900for creating an immersive character interaction experience. WhileFIG. 9illustrates exemplary operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the operations shown inFIG. 9. One or more of the operations shown inFIG. 9may be performed by a character interaction system such as system100, any components included therein, and/or any implementation thereof.

In operation902, a character interaction system located at a first site may receive character behavior data. The character behavior data may be representative of captured behavior of a real-world performer located at a second site geographically separated from the first site. For example, the character behavior data may be transmitted from the second site to be received at the first site by way of a network. Operation902may be performed in any of the ways described herein.

In operation904, the character interaction system may present a representation of a virtual character avatar that performs the captured behavior of the real-world performer. For example, the virtual character avatar may perform the captured behavior in real-time synchrony with the real-world performer at the second site based on the character behavior data. This representation of the virtual character avatar in operation904may be presented to an interactive user at the first site. Operation904may be performed in any of the ways described herein.

In operation906, the character interaction system may provide user video data representative of captured behavior of the interactive user for presentation to the real-world performer at the second site. Operation906may be performed during the presenting, in operation904, of the representation of the virtual character avatar to the interactive user. As such, the user video data provided in operation906may allow the real-world performer to interact, via the virtual character avatar and in real time, with the interactive user. Operation906may be performed in any of the ways described herein.

In operation908, the character interaction system may generate an augmented representation of an interaction between the virtual character avatar and the interactive user for presentation to a non-interactive observer distinct from the interactive user. Operation908may be performed in any of the ways described herein.

In certain embodiments, one or more of the systems, components, and/or processes described herein may be implemented and/or performed by one or more appropriately configured computing devices. To this end, one or more of the systems and/or components described above may include or be implemented by any computer hardware and/or computer-implemented instructions (e.g., software) embodied on at least one non-transitory computer-readable medium configured to perform one or more of the processes described herein. In particular, system components may be implemented on one physical computing device or may be implemented on more than one physical computing device. Accordingly, system components may include any number of computing devices, and may employ any of a number of computer operating systems.

A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media, and/or volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (“DRAM”), which typically constitutes a main memory. Common forms of computer-readable media include, for example, a disk, hard disk, magnetic tape, any other magnetic medium, a compact disc read-only memory (“CD-ROM”), a digital video disc (“DVD”), any other optical medium, random access memory (“RAM”), programmable read-only memory (“PROM”), electrically erasable programmable read-only memory (“EPROM”), FLASH-EEPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read.

FIG. 10illustrates an exemplary computing device1000that may be specifically configured to perform one or more of the processes described herein. For example, computing device1000may include or implement (or partially implement) a character interaction system such as system100, a character performer system such as system206, a capture system such as one of capture systems212or224, a device associated with one of screens214,218,226, or228, a multi-access server (e.g., MEC server) implemented on network208, or any other computing devices described herein.

As shown inFIG. 10, computing device1000may include a communication interface1002, a processor1004, a storage device1006, and an input/output (“I/O”) module1008communicatively connected via a communication infrastructure1010. While an exemplary computing device1000is shown inFIG. 10, the components illustrated inFIG. 10are not intended to be limiting. Additional or alternative components may be used in other embodiments. Components of computing device1000shown inFIG. 10will now be described in additional detail.

Communication interface1002may be configured to communicate with one or more computing devices. Examples of communication interface1002include, without limitation, a wired network interface (such as a network interface card), a wireless network interface (such as a wireless network interface card), a modem, an audio/video connection, and any other suitable interface.

Processor1004generally represents any type or form of processing unit capable of processing data or interpreting, executing, and/or directing execution of one or more of the instructions, processes, and/or operations described herein. Processor1004may direct execution of operations in accordance with one or more applications1012or other computer-executable instructions such as may be stored in storage device1006or another computer-readable medium.

Storage device1006may include one or more data storage media, devices, or configurations and may employ any type, form, and combination of data storage media and/or device. For example, storage device1006may include, but is not limited to, a hard drive, network drive, flash drive, magnetic disc, optical disc, RAM, dynamic RAM, other non-volatile and/or volatile data storage units, or a combination or sub-combination thereof. Electronic data, including data described herein, may be temporarily and/or permanently stored in storage device1006. For example, data representative of one or more executable applications1012configured to direct processor1004to perform any of the operations described herein may be stored within storage device1006. In some examples, data may be arranged in one or more databases residing within storage device1006.

In some examples, any of the facilities described herein may be implemented by or within one or more components of computing device1000. For example, one or more applications1012residing within storage device1006may be configured to direct processor1004to perform one or more processes or functions associated with processing facility104of system100. Likewise, storage facility102of system100may be implemented by or within storage device1006.