Game result overlay system

CN115697508BActive Publication Date: 2026-09-29SNAP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180041699.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-10
Filing Date
2021-06-02
Publication Date
2026-09-29
Estimated Expiration
2041-06-02

Smart Images

  • Figure CN115697508B_ABST
    Figure CN115697508B_ABST
Patent Text Reader

Abstract

Systems and methods involve presenting, by one or more processors, a game result indicium and, in response to a user selection of the game result indicium, retrieving play game information related to a play game session. The system also generates, by one or more processors, a game result overlay based on the play game information generated during the play game session, presents the play game overlay overlaid on a media content item to generate a composite media content item, and sends the composite media item to a second user.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority requirements

[0002] This application claims the benefit of priority to U.S. Patent Application No. 16 / 897,807, filed June 10, 2020, the entire contents of which are incorporated herein by reference. Background Technology

[0003] Social media sharing platforms allow users to share millions of messages between mobile devices within a social network environment. Users of social networks can share media content such as audio, images, and video between their respective devices (e.g., mobile devices, personal computers). Social media sharing platforms also allow users to capture images and pictures by exchanging text messages and share them with other users.

[0004] As mobile-based social networking systems continue to gain popularity, users are increasingly sharing media content items such as images, pictures, and videos with each other. These media content items encourage electronic visual communication globally and promote the ease of use of interactive social networking. Attached Figure Description

[0005] In drawings that are not necessarily drawn to scale, similar reference numerals may describe similar parts in different views. To facilitate identification of any particular element or action being discussed, one or more of the highest-order digits in the reference numerals indicate the drawing number in which the element was first introduced. Some embodiments are shown in the drawings by way of example, not limitation, in which:

[0006] Figure 1 It is a diagrammatic representation of a networked environment in which the content of this disclosure can be deployed, based on some examples.

[0007] Figure 2 It is a graphical representation of a messaging system with both client-side and server-side functionalities, based on some examples.

[0008] Figure 3 It is a graphical representation of the data structures maintained in the database based on some examples.

[0009] Figure 4 It is a graphical representation based on some example messages.

[0010] Figure 5 It is a flowchart of an access restriction process based on some examples.

[0011] Figure 6 This is a user interface diagram showing example user interfaces for some example game applications.

[0012] Figure 7This is a user interface diagram illustrating an example user interface created based on a collection of sample content.

[0013] Figure 8 This is a user interface diagram showing an example user interface overlaid on a collection of content, based on some examples of game results overlays.

[0014] Figure 9 This is a user interface diagram illustrating an example user interface of a game result overlay thumbnail overlaid on media content items, based on some examples.

[0015] Figure 10 This is a flowchart illustrating a method for generating game result overlays based on some examples.

[0016] Figure 11 It is a graphical representation of a machine in the form of a computer system, based on some examples, in which a set of instructions can be executed to cause the machine to perform any or more of the methods discussed herein.

[0017] Figure 12 It is a block diagram showing a software architecture in which examples can be implemented.

[0018] Figure 13 It is a graphical representation of the processing environment based on some examples. Detailed Implementation

[0019] Social networking systems have become more advanced and complex. For example, users can now launch games and other forms of media applications directly from their mobile devices while active in social networking applications such as messaging apps.

[0020] However, due to the lack of computational logic in current social media network-based systems, it is becoming increasingly difficult to create game elements such as game results, game and media profiles, and other game and media information during chat sessions or while active in social networking applications, and to share them with connected users in the social network.

[0021] In at least one example of this disclosure, a system is provided that generates a game result overlay created from a collection of captured game objects and in-game elements, to be shared with other users in a social networking application. When a user launches a game application while logged into a messaging application, the user is directed to a game site to play the game.

[0022] Once the user of the device finishes playing the game, different characters, avatars, icons, game results, and buttons appear in the game's two-dimensional (or three-dimensional) environment. This disclosure describes a system that identifies certain graphical objects and elements within the game environment and combines these identified elements to generate game overlay components.

[0023] For example, game applications have numerous graphical objects and elements presented in the foreground, background, and throughout the game environment. These objects and elements include player characters, buildings, structures, graphical icons, player avatars, game results, etc. The system identifies relevant graphical objects and elements that convey and provide the most concise information relevant to the user's gaming experience, such as the user's avatar, game result, score, and game title.

[0024] During the creation of a content collection using media content items (such as digital photos or videos), a game result overlay can be shared with other users on a social network. The game result overlay is placed on top of the media content items, creating a content collection containing the game result overlay, which is then shared with other users via chat messaging features. When other intended users receive the content collection containing the game overlay component, the receiving user can visualize and confirm the sending user's gaming experience.

[0025] In another example of this disclosure, users access a previous game application by generating a game result overlay thumbnail when they launch the chat interface and placing that thumbnail overlaid on or below the chat message sending / receiving fields in the chat interface. Once the user performs a user gesture on the thumbnail (such as pressing the compressed thumbnail with their finger), the user is immediately taken to the associated game application depicted by the thumbnail.

[0026] Networked computing environment

[0027] Figure 1 This is a block diagram illustrating an example messaging system 100 for exchanging data (e.g., messages and associated content) over a network. The messaging system 100 includes multiple instances of client devices 102, each hosting multiple applications including messaging clients 104. Each messaging client 104 is communicatively coupled to a messaging server system 108 and other instances of the messaging client 104 via a network 106 (e.g., the Internet).

[0028] Message transceiver client 104 can communicate and exchange data with other message transceiver clients 104 and message transceiver server system 108 via network 106. The data exchanged between message transceiver clients 104 and between message transceiver client 104 and message transceiver server system 108 includes functions (e.g., commands to activate functions) and payload data (e.g., text, audio, video, or other multimedia data).

[0029] Message transceiver server system 108 provides server-side functionality to specific message transceiver clients 104 via network 106. While some functions of message transceiver system 100 are described herein as being performed by message transceiver client 104 or message transceiver server system 108, the location of certain functions within message transceiver client 104 or message transceiver server system 108 can be a design choice. For example, it may be technically preferred that certain technologies and functions are initially deployed within message transceiver server system 108, but that technology and functions are later migrated to message transceiver client 104 with sufficient processing power on client device 102.

[0030] The messaging server system 108 supports various services and operations provided to the messaging client 104. Such operations include sending data to and receiving data from the messaging client 104, and processing data generated by the messaging client 104. As an example, this data may include message content, client device information, geolocation information, media enhancements and coverage, message content persistence conditions, social network information, and live event information. Data exchange within the messaging system 100 is activated and controlled through functions available via the user interface (UI) of the messaging client 104.

[0031] Specifically, turning to message transceiver server system 108, application programming interface (API) server 110 is coupled to application server 112 and provides a programming interface to application server 112. Application server 112 is communicatively coupled to database server 118, which provides access to database 120, which stores data associated with messages processed by application server 112. Similarly, web server 124 is coupled to application server 112 and provides a web-based interface to application server 112. To this end, web server 124 processes incoming network requests via Hypertext Transfer Protocol (HTTP) and several other related protocols.

[0032] Application Programming Interface (API) server 110 receives and sends message data (e.g., commands and message payloads) between client device 102 and application server 112. Specifically, API server 110 provides a set of interfaces (e.g., routines and protocols) that message sending and receiving client 104 can invoke or query to activate the functionality of application server 112. Application Programming Interface (API) server 110 exposes various functionalities supported by application server 112, including: account registration; login functionality; sending messages from one messaging client 104 to another messaging client 104 via application server 112; sending media files (e.g., images or videos) from messaging client 104 to messaging server 114 and providing possible access for another messaging client 104; setting up media data collections (e.g., stories); retrieving a user's friend list for client device 102; retrieving such collections; retrieving messages and content; adding and deleting entities (e.g., friends) in an entity graph (e.g., a social graph); locating friends in a social graph; and opening application events (e.g., related to messaging client 104).

[0033] Application server 112 hosts several server applications and subsystems, including, for example, messaging server 114, image processing server 116, and social networking server 122. Messaging server 114 implements several messaging technologies and functions, particularly those related to the aggregation and other processing of content (e.g., text and multimedia content) included in messages received from multiple instances of messaging client 104. As will be described in further detail, text and media content from multiple sources can be aggregated into collections of content (e.g., referred to as stories or galleries). These collections are then made available to messaging client 104. Given the hardware requirements for such processing, additional processor- and memory-intensive data processing can also be performed on the server side by messaging server 114.

[0034] Application server 112 also includes image processing server 116, which is dedicated to performing various image processing operations, typically relative to images or videos within the payload of messages sent from or received at message transceiver server 114 or from game applications or media applications.

[0035] Social networking server 122 supports various social networking functions and services, and makes these functions and services available to messaging server 114. To this end, social networking server 122 maintains and accesses entity graph 306 (such as...) within database 120. Figure 3(As shown). Examples of functions and services supported by the social network server 122 include identifying other users of the messaging system 100 who have a relationship with or “follow” a particular user, as well as identifying the interests and other entities of a particular user.

[0036] System Architecture

[0037] Figure 2 This is a block diagram illustrating further details of a messaging system 100 according to some examples. Specifically, the messaging system 100 is shown as including a messaging client 104 and an application server 112. The messaging system 100 includes several subsystems supported on the client side by the messaging client 104 and on the server side by the application server 112. These subsystems include, for example, a short-lived timer system 202, a collection management system 204, an enhancement system 206, a map system 208, a game system 210, and a game result overlay system 212.

[0038] The short-lived timer system 202 is responsible for forcing temporary or time-limited access to content by message sending client 104 and message sending server 114. The short-lived timer system 202 includes several timers that selectively enable access (e.g., for rendering and displaying) of messages and associated content via message sending client 104 based on duration and display parameters associated with a message or message set (e.g., a story). Further details regarding the operation of the short-lived timer system 202 are provided below.

[0039] The collection management system 204 is responsible for managing groups or collections of media (e.g., collections of text, images, video, and audio data). Collections of content (e.g., messages, including images, videos, text, and audio) can be organized into "event libraries" or "event stories." Such collections can be made available for a specified period of time (e.g., the duration of an event related to the content). For example, content related to a concert can be made available as a "story" for the duration of a concert. The collection management system 204 can also be responsible for publishing icons that notify the user interface of the messaging client 104 of the existence of a specific collection.

[0040] Furthermore, the collection management system 204 includes a curation interface 214 that enables collection managers to manage and curate specific content collections. For example, the curation interface 214 allows event organizers to curate content collections related to a specific event (e.g., removing inappropriate content or redundant messages). Additionally, the collection management system 204 employs machine vision (or image recognition technology) and content rules to automatically curate content collections. In some examples, users may be paid compensation for including user-generated content in the collection. In such cases, the collection management system 204 operates to automatically pay such users for using their content.

[0041] Enhancement system 206 provides various functionalities that enable users to enhance (e.g., annotate or otherwise modify or edit) media content associated with a message. For example, enhancement system 206 provides functionalities related to generating and publishing media overlays for messages processed by messaging system 100. Enhancement system 206 can operable to provide media overlays or enhancements (e.g., image filters) to messaging client 104 based on the geographic location of client device 102. In another example, enhancement system 206 can operable to supply media overlays to messaging client 104 based on other information such as the social network information of the user of client device 102. Media overlays can include audio and visual content as well as visual effects. Examples of audio and visual content include pictures, text, logos, animations, and sound effects. Examples of visual effects include color overlays. Audio and visual content or visual effects can be applied to media content items (e.g., photographs) at client device 102. For example, media overlays can include text or images that can be overlaid on a photograph taken by client device 102. In another example, media overlays include location identifiers (e.g., Venice Beach) overlays, names of live events, or merchant names (e.g., Beach Cafe) overlays. In yet another example, enhancement system 206 uses the geographic location of client device 102 to identify media overlays that include the name of a merchant at the geographic location of client device 102. Media overlays may include additional tags associated with the merchant. Media overlays may be stored in database 120 and accessed via database server 118.

[0042] In some examples, Enhancement System 206 provides a user-based publishing platform that allows users to select geographic locations on a map and upload content associated with those locations. Users can also specify which media coverage should be provided to other users. Enhancement System 206 generates media coverage that includes the uploaded content and associates it with the selected geographic locations.

[0043] In other examples, Enhancement System 206 provides a merchant-based publishing platform that enables merchants to select specific media coverage associated with geographic locations via a bidding process. For example, Enhancement System 206 associates the media coverage of the highest-bidding merchant with a corresponding geographic location for a predefined amount of time.

[0044] Map system 208 provides various geolocation functions and supports the presentation of map-based media content and messages by messaging client 104. For example, map system 208 can display (e.g., stored in profile data 308) user icons or avatars on the map to indicate the current or past locations of the user's "friends," as well as media content (e.g., a collection of messages including photos and videos) generated by these friends within the map's context. For example, on the map interface of messaging client 104, messages posted by a user from a specific geographic location to messaging system 100 can be displayed to a specific user's "friends" within the context of that specific location on the map. A user can also share his or her location and status information with other users of messaging system 100 (e.g., using appropriate status avatars) via messaging client 104, where this location and status information is displayed to selected users within the context of the map interface of messaging client 104.

[0045] The gaming system 210 provides various gaming functions within the context of the messaging client 104. The messaging client 104 provides a game interface with a list of available games that can be started by a user within the context of the messaging client 104 and played with other users of the messaging system 100. The messaging system 100 also enables specific users to invite other users to play specific games by sending invitations from the messaging client 104 to such other users. The messaging client 104 also supports both voice messaging and text messaging (e.g., chat) within the context of playing games, provides leaderboards for games, and also supports providing in-game rewards (e.g., coins and items).

[0046] The game result overlay system 212 provides various operations, routines, and functions within the context of the message sending client 104 and the application server 112. The operations of the game result overlay system 212 are performed at the message sending client 104, client device 102, application server 112, or a third-party server, and include the presentation of game result markers by one or more processors.

[0047] In some examples, the game result overlay system 212 can communicate with the game system 210 to launch various game applications and functions provided by the game interface. Operations performed by the game result overlay system 212 also include retrieving game-playing information related to the game session in response to a user selection of a game result tag. When retrieving game-playing information presented in the game environment, the game result overlay system 212 utilizes image processing capabilities, such as image processing functions and routines performed by the image processing server 116.

[0048] In some examples, game information includes, but is not limited to, player characters, player results, player statistics, buildings, structures, graphic icons, player avatars, overall game results, title icons, avatars representing one or more users of message client 104, two-dimensional and three-dimensional objects, animations associated with game preferences of the game application, usernames of one or more users of message client 104, and game results associated with one or more users.

[0049] The game result overlay system 212 generates a game result overlay using one or more processors based on game information generated during a game session. In some examples, multiple users in network 106 can receive the game result overlay. The operation of the game result overlay system 212 also includes presenting the game overlay over media content items to generate composite media content items, and sending the composite media items to a second user.

[0050] Data Architecture

[0051] Figure 3 This is a schematic diagram illustrating a data structure 300 that can be stored in a database 120 of a message transceiver server system 108, according to certain examples. Although the contents of the database 120 are shown as including several tables, it should be understood that the data can be stored in other types of data structures (e.g., as an object-oriented database).

[0052] Database 120 includes message data stored in message table 302. For any given message, this message data includes at least message sender data, message receiver (or recipient) data, and a payload. See below for reference. Figure 4 Further details are provided regarding information that can be included in the message and in the message data stored in message table 302.

[0053] Entity table 304 stores entity data and (for example, links to entity diagram 306 and profile data 308). Entities for which records are maintained within entity table 304 may include individuals, company entities, organizations, objects, locations, events, etc. Regardless of entity type, any entity whose data is stored in message transceiver server system 108 can be an identifiable entity. Each entity is provided with a unique identifier and an entity type identifier (not shown).

[0054] Entity graph 306 stores information about the relationships and associations between entities. As an example only, such relationships can be social relationships based on interests or activities, or professional relationships (e.g., working in a common company or organization).

[0055] Profile data 308 stores various types of profile data about a specific entity. Based on privacy settings specified by the specific entity, profile data 308 can be selectively used and presented to other users of messaging system 100. In the case of an individual, profile data 308 includes, for example, a username, phone number, address, settings (e.g., notification and privacy settings), and an avatar representation (or a set of such avatar representations) selected by the user. A specific user can then selectively include one or more of these avatar representations in the content of messages transmitted via messaging system 100 and in a map interface displayed to other users by messaging client 104. The set of avatar representations may include “status avatars,” which present a graphical representation of a user’s chosen state or activity at a specific time.

[0056] In the case that the entity is a group, in addition to the group name, members and various settings of the associated group (e.g., notifications), the group profile data 308 may similarly include one or more avatars associated with the group.

[0057] Database 120 also stores enhancement data, such as overlays or filters, in enhancement table 310. Enhancement data is associated with and applied to videos (video data is stored in video table 314) and images (image data is stored in image table 316). In some examples, enhancement data within enhancement table 310 may be augmented reality images, clips, graphic objects, graphic elements, avatars, filters, 2D or 3D alphanumeric characters, 2D or 3D animations, or overlays or image component overlays in the form of icons captured from a virtual environment, game environment, one or more media content items, and entity table 304 in database 120. Additionally, enhancement data may include animations, 3D objects, media content overlays, avatars, or images overlaid or superimposed on received media content items.

[0058] In some examples, filters are overlays displayed as overlays on images or videos during presentation to the receiving user. Filters can be of various types, including filters selected by the user from a set of filters presented to the sending user by the messaging client 104 when the sending user is composing a message. Other types of filters include geolocation filters (also known as geographic filters), which can be presented to the sending user based on geographic location. For example, a geolocation filter specific to a nearby or particular location can be presented by the messaging client 104 within the user interface based on geographic location information determined by the Global Positioning System (GPS) unit of the client device 102.

[0059] Another type of filter is a data filter, which can be selectively presented to the sending user by the messaging client 104 based on other inputs or information collected by the client device 102 during the message creation process. Examples of data filters include the current temperature at a specific location, the current speed of the sending user, the battery life of the client device 102, or the current time.

[0060] Other augmented data that can be stored in image table 316 includes augmented reality content items (e.g., corresponding to an applied lens or augmented reality experience). Augmented reality content items can be real-time special effects and sounds that can be added to images or videos.

[0061] As described above, augmented data includes augmented reality content items, overlays, image transformations, AR images, and similar terms referring to modifications that can be applied to image data (e.g., video or images). This includes real-time modifications, which modify images as they are captured using the device sensors (e.g., one or more cameras) of client device 102 and then display the modified images on the screen of client device 102. This also includes modifications to stored content, such as modifications to video clips in a library that can be modified. For example, in client device 102, which has access to multiple augmented reality content items, a user can use a single video clip with multiple augmented reality content items to see how different augmented reality content items will modify the stored clip. For example, by selecting different augmented reality content items for the content, multiple augmented reality content items with different pseudo-random motion models can be applied to the same content. Similarly, real-time video capture can be used with the illustrated modifications to show how the video image currently captured by the sensors of client device 102 will modify the captured data. Such data can be simply displayed on the screen without being stored in memory, or content captured by the device's sensors can be recorded and stored in memory with or without modification (or both). In some systems, preview functionality can show how different augmented reality content items will be displayed simultaneously in different windows of the display. For example, this allows viewing multiple windows with different pseudo-random animations on the display at the same time.

[0062] Therefore, various systems using augmented reality content items, or other such transformation systems that modify content using that data, and the data itself, can involve the detection of objects (e.g., faces, hands, bodies, cats, dogs, surfaces, objects, etc.) in video frames, the tracking of these objects as they leave, enter, and move around within the field of view, and the modification or transformation of these objects while tracking them. In various implementations, different methods can be used to achieve such transformations. Some examples may involve generating 3D mesh models of one or more objects, and using transformations of the models and animated textures within the video to achieve the transformations. In other examples, tracking points on objects can be used to place images or textures (which can be two-dimensional or three-dimensional) at the tracked locations. In further examples, neural network analysis of video frames can be used to place images, models, or textures within content (e.g., images or video frames). Thus, augmented reality content items refer both to the images, models, and textures used to create transformations within content, and to the additional modeling and analysis information required to achieve such transformations through object detection, tracking, and placement.

[0063] Real-time video processing can be performed using any type of video data (e.g., video streams, video files, etc.) stored in the memory of any type of computerized system. For example, a user can load a video file and store it in the device's memory, or a video stream can be generated using the device's sensors. Furthermore, computer-animated models can be used to process any object, such as a human face and parts of the human body, animals, or inanimate objects (such as chairs, cars, or other objects).

[0064] In some examples, when a specific modification is selected along with the content to be transformed, the element to be transformed is identified by the computing device and then detected and tracked if the element to be transformed exists in a frame of the video. The elements of the object are modified according to the modification request, thereby transforming the frames of the video stream. For different types of transformations, the transformation of the frames of the video stream can be performed using different methods. For example, for a transformation of frames that primarily refers to changing the form of elements of an object, feature points of each element of the object (e.g., using an Active Shape Model (ASM) or other known methods) are calculated. Then, a feature point-based mesh is generated for each of at least one element of the object. This mesh is used for subsequent stages of tracking the elements of the object in the video stream. During tracking, the mesh mentioned for each element is aligned with the position of each element. Then, additional points are generated on the mesh. A first set of first points is generated for each element based on the modification request, and a second set of points is generated for each element based on the first set of points and the modification request. The frames of the video stream can then be transformed by modifying the elements of the object based on the first set of points, the second set of points, and the mesh. In this method, the background of the object being modified can also be changed or distorted by tracking and modifying the background.

[0065] In some examples, transformations that alter some regions of an object using its elements can be performed by calculating feature points for each element of the object and generating a mesh based on those calculated feature points. Points are generated on the mesh, and various regions are then generated based on these points. The elements of the object are then tracked by aligning the region of each element with the position of at least one of the elements, and the properties of the regions can be modified based on modification requests, thereby transforming frames of the video stream. Depending on the specific modification request, the properties of the mentioned regions can be transformed in different ways. Such modifications may involve: changing the color of the region; removing at least some portions of the region from the frames of the video stream; including one or more new objects in the region based on the modification request; and modifying or deforming the elements of the region or object. In various implementations, any combination of such modifications or other similar modifications may be used. For certain models to be animated, some feature points can be selected as control points to determine the entire state space for options used in model animation.

[0066] In some examples of computer animation models that use face detection to transform image data, a specific face detection algorithm (e.g., Viola-Jones) is used to detect faces in the image. Then, the Active Shape Model (ASM) algorithm is applied to the facial regions of the image to detect facial feature reference points.

[0067] In other examples, other methods and algorithms suitable for face detection can be used. For example, in some implementations, landmarks are used to locate features that represent distinguishable points present in most of the images considered. For example, for a face landmark, the location of the left pupil could be used. If the initial landmark is not recognizable (e.g., if the person is wearing an eye patch), secondary landmarks can be used. Such a landmark recognition process can be used for any such object. In some examples, a set of landmarks forms a shape. The shape can be represented as a vector using the coordinates of points in the shape. One shape is aligned with another shape through a similarity transformation (allowing translation, scaling, and rotation) that minimizes the average Euclidean distance between the points of the shapes. The average shape is the average of the aligned training shapes.

[0068] In some examples, the search begins by finding landmarks from an average shape aligned with the position and size of a face determined by a global face detector. This search then repeats the following steps: proposing provisional shapes by adjusting the positions of shape points through template matching of the image texture around each point, and then conforming the provisional shapes to a global shape model until convergence occurs. In some systems, individual template matching is unreliable, and the shape model pools the results of weak template matching to form a stronger overall classifier. The entire search is repeated at each level of the image pyramid, from coarse to fine resolution.

[0069] The transformation system can capture image or video streams on a client device (e.g., client device 102) and perform complex image manipulations locally on client device 102 while maintaining an appropriate user experience, computation time, and power consumption. Complex image manipulations can include size and shape changes, emotion shifts (e.g., changing a face from frowning to smiling), state shifts (e.g., aging an object, reducing its apparent age, or changing its gender), style shifts, application of graphical elements, and any other suitable image or video manipulations implemented by a convolutional neural network that has been configured to execute efficiently on client device 102.

[0070] In some examples, a computer animation model for transforming image data can be used by a system in which a user can use a client device 102 with a neural network to capture an image or video stream of the user (e.g., a selfie), the neural network operating as part of a messaging client application 104 operating on the client device 102. A transformation system operating within the messaging client 104 determines the presence of a face in the image or video stream and provides a modification icon associated with the computer animation model to transform the image data, or the computer animation model can be presented as associated with the interface described herein. The modification icon includes changes that can be based on modifying the user's face in the image or video stream as part of a modification operation. Once a modification icon is selected, the transformation system initiates a process of transforming the user's image to reflect the selected modification icon (e.g., generating a smiley face on the user). Once the image or video stream is captured and the specified modification is selected, the modified image or video stream can be presented in a graphical user interface displayed on the client device 102. The transformation system can implement a complex convolutional neural network on a portion of the image or video stream to generate and apply the selected modification. In other words, users can capture image or video streams and, once an edit icon is selected, the changes are presented in real-time or near real-time. Furthermore, while a video stream is being captured, the changes can be persistent, and the selected edit icon continues to be toggled. Machine-trained neural networks can be used to achieve such modifications.

[0071] A graphical user interface (GUI) presenting modifications performed by the transformation system can provide users with additional interactive options. Such options can be based on the interface used to initiate content capture and select a specific computer animation model (e.g., initiated from a content creator GUI). In various implementations, modifications can be persistent after an initial selection of the modification icon. Users can turn modifications on or off by tapping or otherwise selecting a face modified by the transformation system and save it for later viewing or browsing to other areas of the imaging application. In cases where multiple faces are modified by the transformation system, users can globally turn modifications on or off by tapping or selecting a single face modified and displayed within the GUI. In some implementations, individual faces within a group of multiple faces can be modified separately, or such modifications can be toggled individually by tapping or selecting an individual face or a series of individual faces displayed within the GUI.

[0072] Story table 312 stores data about collections of messages and associated image, video, or audio data, compiled into collections (e.g., stories or galleries). The creation of a specific collection can be initiated by a specific user (e.g., each user for whom a record is maintained in entity table 304). A user can create a "personal story" in the form of a collection of content that has already been created and sent / broadcast by that user. For this purpose, the user interface of messaging client 104 may include user-selectable icons that allow the sending user to add specific content to his or her personal story.

[0073] The collection can also constitute a "live story" as a collection of content from multiple users, created manually, automatically, or using a combination of manual and automatic techniques. For example, a "live story" can constitute a curated stream of user-submitted content from different locations and events. Users whose client devices have location services enabled and are at a common location event at a specific time can be presented with the option to contribute content to a specific live story, for example, through the user interface of messaging client 104. The messaging client 104 can identify live stories to users based on their location. The end result is a "live story" told from a collective perspective.

[0074] Another type of content collection is called a "location story," which allows users whose client devices 102 are located in a specific geographic location (e.g., on a college or university campus) to contribute to a specific collection. In some examples, contributing to a location story may require secondary authentication to verify that the end user belongs to a specific organization or other entity (e.g., a student on a university campus).

[0075] As mentioned above, video table 314 stores video data, which in some examples is associated with messages for which records are maintained within message table 302. Similarly, image table 316 stores image data, which is associated with messages whose message data is stored in entity table 304. Entity table 304 can associate various enhancements from enhancement table 310 with various images and videos stored in image table 316 and video table 314.

[0076] Data communication architecture

[0077] Figure 4This is a schematic diagram illustrating the structure of message 400 according to some examples. Message 400 is generated by message transceiver client 104 for transmission to another message transceiver client 104 or message transceiver server 114. The content of a particular message 400 is used to populate message table 302 stored in database 120, which is accessible by message transceiver server 114. Similarly, the content of message 400 is stored in memory as "in transit" or "in flight" data of client device 102 or application server 112. Message 400 is shown to include the following example components.

[0078] • Message Identifier 402: A unique identifier that identifies message 400.

[0079] • Message text payload 404: The text to be generated by the user via the user interface of the client device 102 and included in message 400.

[0080] • Message image payload 406: Image data captured by the camera component of the client device 102 or retrieved from the memory component of the client device 102 and included in the message 400. The image data for the sent or received message 400 can be stored in the image table 316.

[0081] • Message video payload 408: Video data captured by the camera device component or retrieved from the memory component of the client device 102 and included in the message 400. The video data for the sent or received message 400 may be stored in the video table 314.

[0082] • Message audio payload 410: Audio data captured by the microphone or retrieved from the memory component of the client device 102 and included in message 400.

[0083] • Message enhancement data 412: Enhancement data (e.g., filters, stickers, or other annotations or enhancements) representing enhancements to be applied to the message image payload 406, message video payload 408, or message audio payload 410 of message 400. Enhancement data for the sent or received message 400 can be stored in enhancement table 310.

[0084] • Message duration parameter 414: A parameter value that indicates the amount of time, in seconds, during which the content of the message (e.g., message image payload 406, message video payload 408, message audio payload 410) will be presented to the user or made accessible to the user via the message sending and receiving client 104.

[0085] • Message geolocation parameter 416: Geographic location data (e.g., latitude and longitude coordinates) associated with the message's content payload. Multiple message geolocation parameter 416 values ​​may be included in the payload, each of which is associated with a content item included in the content (e.g., a specific image within the message image payload 406 or a specific video within the message video payload 408).

[0086] • Message Story Identifier 418: An identifier value that identifies one or more content sets (e.g., “Stories” identified in Story Table 312), wherein a specific content item in the message image payload 406 of message 400 is associated with one or more content sets. For example, the identifier value can be used to associate multiple images within the message image payload 406 with multiple content sets, respectively.

[0087] • Message Tag 420: Each message 400 can be labeled with multiple tags, each tag indicating the subject of the content included in the message payload. For example, if a specific image in the message image payload 406 depicts an animal (e.g., a lion), a tag value indicating the relevant animal can be included in the message tag 420. The tag values ​​can be generated manually based on user input or automatically using, for example, image recognition.

[0088] • Message sender identifier 422: An identifier (e.g., message sending system identifier, email address, or device identifier) ​​indicating the user of the client device 102 on which message 400 is generated and from which message 400 is sent.

[0089] • Message receiver identifier 424: An identifier (e.g., message sending and receiving system identifier, email address, or device identifier) ​​indicating the user of the client device 102 to which message 400 is addressed.

[0090] The content (e.g., values) of each component of message 400 can be pointers to locations within tables that store content data values. For example, an image value in message image payload 406 can be a pointer to a location (or an address of a location) within image table 316. Similarly, a value in message video payload 408 can point to data stored in video table 314, a value in message enhancement 412 can point to data stored in enhancement table 310, a value in message story identifier 418 can point to data stored in story table 312, and values ​​in message sender identifier 422 and message receiver identifier 424 can point to user records stored in entity table 304.

[0091] Time-based access restriction architecture

[0092] Figure 5 This is a schematic diagram illustrating an access restriction process 500, according to which access to content (e.g., a short message 502 and a multimedia payload of associated data) or a collection of content (e.g., a short message group 504) can be time-restricted (e.g., so that it is short).

[0093] A brief message 502 is shown to be associated with a message duration parameter 506, the value of which determines the amount of time the message sending and receiving client 104 will display the brief message 502 to the receiving user. In some examples, depending on the amount of time specified by the sending user using the message duration parameter 506, the receiving user may view the brief message 502 for up to 10 seconds.

[0094] The message duration parameter 506 and the message receiver identifier 424 are shown as inputs to a message timer 512, which is responsible for determining the amount of time for which the brief message 502 is shown to a specific receiving user identified by the message receiver identifier 424. Specifically, the brief message 502 is shown to the relevant receiving user only within the time period determined by the value of the message duration parameter 506. The message timer 512 is shown as providing an output to a more generalized brief timer system 202, which is responsible for the overall timing of displaying content (e.g., the brief message 502) to the receiving user.

[0095] Figure 5 The transient message 502 shown is included within a transient message group 504 (e.g., a collection of messages in a personal story or event story). The transient message group 504 has an associated group duration parameter 508, the value of which determines the duration for which the transient message group 504 is presented and accessible to a user of the messaging system 100. For example, the group duration parameter 508 could be the duration of a concert, where the transient message group 504 is a collection of content related to that concert. Alternatively, when setting up and creating the transient message group 504, the user (owner user or curator user) can specify the value of the group duration parameter 508.

[0096] Additionally, each short message 502 within a short message group 504 has an associated group participation parameter 510, the value of which determines the duration for which the short message 502 will be accessible within the context of the short message group 504. Therefore, a particular short message group 504 can "expire" and become inaccessible within its context before the short message group 504 itself expires according to the group duration parameter 508. The group duration parameter 508, the group participation parameter 510, and the message receiver identifier 424 each provide input to a group timer 514, which is operable to first determine whether a particular short message 502 of the short message group 504 will be displayed to a specific receiving user, and if so, determine for how long. Note that the short message group 504 also knows the identity of the specific receiving user due to the message receiver identifier 424.

[0097] Therefore, the group timer 514 operatively controls the associated ephemeral message group 504 and the total lifetime of the individual ephemeral messages 502 included within the ephemeral message group 504. In some examples, each ephemeral message 502 within the ephemeral message group 504 remains viewable and accessible for a period of time specified by the group duration parameter 508. In another example, within the context of the ephemeral message group 504, a particular ephemeral message 502 may expire based on the group participation parameter 510. Note that even within the context of the ephemeral message group 504, the message duration parameter 506 can still determine the duration for which a particular ephemeral message 502 is displayed to the receiving user. Therefore, the message duration parameter 506 determines the duration for which a particular ephemeral message 502 is displayed to the receiving user, regardless of whether the receiving user views the ephemeral message 502 within or outside the context of the ephemeral message group 504.

[0098] The short-lived timer system 202 can also operatively remove a specific short-lived message 502 from the short-lived message group 504 based on determining that the specific short-lived message 502 has exceeded its associated group participation parameter 510. For example, when the sending user has established a group participation parameter 510 for 24 hours from the date of publication, the short-lived timer system 202 will remove the relevant short-lived message 502 from the short-lived message group 504 after the specified 24 hours. The short-lived timer system 202 also operates to remove the short-lived message group 504 when the group participation parameter 510 for each short-lived message 502 within the short-lived message group 504 has expired, or when the short-lived message group 504 itself has expired according to the group duration parameter 508.

[0099] In certain use cases, the creator of a specific ephemeral message group 504 can specify an indefinite group duration parameter 508. In this case, the expiration of the group participation parameter 510 for the last remaining ephemeral message 502 within the ephemeral message group 504 will determine when the ephemeral message group 504 itself expires. In this case, adding a new ephemeral message 502 with a new group participation parameter 510 to the ephemeral message group 504 effectively extends the lifetime of the ephemeral message group 504 to a value equal to the group participation parameter 510.

[0100] In response to the short-lived timer system 202 determining that a short-lived message group 504 has expired (e.g., is no longer accessible), the short-lived timer system 202 communicates with the messaging system 100 (and, in particular, the messaging client 104) to cause the markers (e.g., icons) associated with the relevant short-lived message group 504 to no longer be displayed in the user interface of the messaging client 104. Similarly, when the short-lived timer system 202 determines that the message duration parameter 506 for a particular short-lived message 502 has expired, the short-lived timer system 202 causes the messaging client 104 to no longer display the markers (e.g., icons or text labels) associated with the short-lived message 502.

[0101] Figure 6 This is a user interface diagram illustrating an example user interface for a game application, based on some examples. User interface 600 (also referred to as game interface 700) depicts a game application with various game-playing information. In some examples, game-playing information includes multiple graphical objects and elements positioned and presented in an arranged format within the game application environment.

[0102] For example, the game interface 600 includes a game title graphic object 602, a cloud graphic object 704, a second user's game result graphic element 606, a first user's avatar graphic object 608, a second user's avatar graphic object 610, a first user's game result graphic element 612, and a building structure graphic object 620.

[0103] Game user interface 600 is not limited to Figure 6 The graphic objects and elements displayed are 604-612. In some examples, there are various types of game information, including a variety of different graphic objects and elements presented in the game interface, some of which depend on the type or category of the game application.

[0104] like Figure 6As shown, the game information, including the game title graphic object 602, displays the game application title listed as "CORY TV". A cloud graphic object 604 and a building structure graphic object 620 are depicted in the background and foreground of the game interface 600. A first user avatar graphic object 608 and a second user avatar graphic object 610 show the digital representation avatars of the users currently participating in the game application.

[0105] For example, "RENE" is listed as the avatar graphic object 608 for the first user, and "NIKOL" is listed as the avatar graphic object 610 for the second user. In some examples, such as Figure 6 As shown, game information, including individual game elements or groups of game elements, is incorporated into the graphical objects. For example, the first user's game result graphical element 612 is shown as "797 tokens," and the second user's game result graphical element 606 is shown as "783 tokens." The game results are graphical elements integrated into the images of the first user's avatar graphical object 608 and the second user's avatar graphical object 610.

[0106] Still refer to Figure 6 The game interface 600 displays a game result marker 614, a game result launch marker 616, and a chat message sending and receiving interface 618. The game result marker 614 and the game result launch marker 616 are interactive buttons, icons, or graphical controls that enable a user of the computing device to activate or trigger tasks or events, such as generating a game result overlay or launching a new game application. While the game interface is disclosed, this disclosure includes any media interface associated with media applications involving customized business, public services, collaborative games, non-collaborative games, entertainment, social networking, file sharing, productivity, health, business, sports, or music.

[0107] like Figure 6 As shown, for illustrative purposes, the game interface 600 includes a game result marker 614 labeled "TAKE," which is activated (e.g., by user selection) to trigger events such as generating a game overlay component or a game result overlay thumbnail component. The game result marker 614 enables exiting the game application and the game session.

[0108] In some examples, the game interface 700 also includes a game result start flag 616, which is marked as "Next Game" and (e.g., by user selection) activated to trigger an event such as restarting the same or a different game application. While game applications are disclosed, this disclosure includes any media applications associated with customized businesses, public services, collaborative games, non-collaborative games, entertainment, social networking, file sharing, productivity, health, business, sports, or music. The chat messaging interface 618 includes various tools (e.g., text fields, camera options, settings flags, contact list flags, and microphone flags) that enable one or more users to communicate in a messaging session (also known as a chat session) or to activate a game application or media application.

[0109] Figure 7 This is a user interface diagram illustrating an example user interface 800 created based on a collection of sample content. For example... Figure 7 As shown, the user of client device 102 (e.g., the first user or the second user) selects as follows: Figure 6 The game result marker 614 shown enables the system to create and share content collections using media content items and the generated game result overlay 704. In other examples, the content collection creation interface 700 depicts an interface in which a user creates a content collection to share with another user via a social network using one or more media items captured by client device 102 (e.g., an integrated camera device), stored in database 120, or received via a third-party service or computing device.

[0110] Client device 102 (or server-side computing device or third-party server) generates game result coverage 704 by generating or retrieving game information related to the game session or by identifying game information. Game information may include... Figure 7 The set of graphical objects shown refers to a set of graphical elements or objects associated with each other. In other examples, image processing including optical recognition scanning is used to identify and retrieve a set of graphical elements or objects by scanning a gaming session and capturing graphical objects and graphical elements embedded, formatted, displayed, or hidden within the game application's game environment. In some examples, gaming information can be retrieved from local storage devices in client device 102, database 120, or gaming system 210 (e.g., which can span client device 102 and messaging server system 108).

[0111] like Figure 7As shown, a game result overlay 704 is generated from retrieved game information, including but not limited to a game title graphic object 602, a first user's avatar graphic object 608, a second user's avatar graphic object 610, a first user's game result graphic element 612, and a second user's game result graphic element 606. In some examples, a composite media content item including media content item 702 and game result overlay 704 is generated and displayed on client device 102 before being transmitted (e.g., shared) with another user on the social network. In other examples, after generating a content set using captured or stored media content item 702 (e.g., digital photos), the game result overlay 704 is overlaid on the media content item 702 before transmitting (e.g., sharing) the content set with another user on the social network (e.g., a second user, a third user, or a fourth user).

[0112] Figure 8 This is a user interface diagram illustrating an example of a game result overlay 704 over a collection of content, based on some examples. (Example:) Figure 8 As shown, when media content item 702 is presented and received by the receiving user profile 802, game result overlay 704 is overlaid on media content item 702, thereby generating composite media content item 804. In some examples, composite media content item 804 is a single digital entity, such as a merged digital photo content item.

[0113] The receiving client device 102 is associated with a receiving user profile 802 marked "BETH" stored in entity table 304, database 120, or received via a third-party server. In some examples, the chat message sending and receiving interface 618 enables the receiving user profile 802 to input text strings that include numeric expressions, emoticons, avatars, letters, numbers, or special characters overlaid or overlaid on ephemeral messages, content sets, or ephemeral content sets when the user is viewing a collection of content.

[0114] Figure 9 This is a user interface diagram of an example user interface 1000, showing a game result overlay thumbnail 902 overlaid on media content items, based on some examples. (See example...) Figure 9 As shown, media content item 702 (e.g., a collection of content with digital photos or videos) includes chat message sending and receiving interface 618.

[0115] When client device 102 creates, sends, or receives content sets, or communicates with other users on a social network via chat message sending and receiving interface 618, client device 102 generates a game result overlay thumbnail 902 by identifying and retrieving game information, including information related to... Figure 7The diagram shows a set of related graphic elements and objects within a set of graphic objects. Image processing, including optical recognition scanning capabilities, is used to identify a set of graphic elements by scanning the game session and associated graphic objects, and capturing graphic objects and embedded, formatted, displayed, or hidden graphic elements within the game application's game environment.

[0116] In some examples, the game result overlay thumbnail 902 is generated based on the identified game result overlay 704, the avatar graphic object 608 of the first user, the avatar graphic object 610 of the second user, the game result graphic element 612 of the first user, and the game result graphic element 606 of the second user. After the game result overlay thumbnail 902 is presented and overlaid on the content collection or media content item 702, the user of the computing device is taken to the game application associated with the game result overlay thumbnail 902 (which is named the "CORYTV" game application in this case) by applying a user gesture (e.g., a finger press).

[0117] Figure 10 This is a flowchart illustrating a method 1000 for generating game result overlays according to some examples. While some operations of method 1000 are described as being performed by certain devices, in different examples, different devices or combinations of devices can perform these operations. For example, operations described below as being performed by client device 102 can also be performed by server-side computing devices (e.g., message transceiver server system 108) or third-party server computing devices, or in combination with server-side computing devices (e.g., message transceiver server system 108) or third-party server computing devices.

[0118] Method 1000 begins with operation 1002, during which client device 102, more specifically, the application executing on client device 102 (e.g., messaging client 104 or a game application), in Figure 6 The game interface shown in 600 displays the game result marker 614.

[0119] In some examples, the game result marker 614 is displayed within the game interface 600 presented by the messaging client 105, the game application launched by the client device 102, or a game applet executed as part of the messaging client 105. For reference only. Figure 6 The purpose of the example described is to assume that the game interface 600 is presented by a game application running on client device 102, which is either integrated with or communicates with message client 104.

[0120] Game result marker 614 can include a variety of graphical objects and elements, including augmented reality images, segments, graphical objects, graphical elements, avatars, filters, 2D or 3D alphanumeric characters, 2D or 3D animations, icons, alphanumeric characters, and strings from the game application's game environment, virtual environment, or 2D / 3D computing environment.

[0121] In other examples, game applications include game sessions initiated based on communication with game system 210, another client device, or a third-party server. For example... Figure 6 As shown, the game result activation marker 616 is displayed during a game session and corresponds to an interactive button, icon, or graphical control element that enables the user of client device 102 to activate or trigger a task or event, such as generating a game result overlay or launching a new game application or game session. In some examples, the game result marker 614 is two or more game result markers that enable the triggering of events associated with this disclosure, including but not limited to activating a new game, generating a game result overlay 704, generating a game result overlay thumbnail 902, or exiting a game application and game session.

[0122] In operation 1004, client device 102, in response to a user selecting a game result marker, retrieves game information related to the game session. In some examples, game information is retrieved from local storage on client device 102, database 120, game system 210, third-party servers, or a combination thereof. Game information is also based on game characteristics, events, or results (e.g., player scores, results, comments, etc.) associated with the user participating in the game session. In other examples, game information can be captured or retrieved using image processing techniques including optical recognition scanning capabilities by scanning the game session and associated graphical objects, and capturing graphical elements embedded, formatted, displayed, or hidden within the game application's game environment.

[0123] In some examples, game information includes graphical objects corresponding to the following: a title icon, an avatar representing the first user, an avatar representing the second user, a 3D object, animations associated with the game application's game preferences, the first user's username, the second user's username, game results associated with the first user, and game results associated with the second user. The game session can be a collaborative game application, a non-collaborative game application, or a custom media application.

[0124] In other examples, client device 102 bases its decisions on computer graphics features, such as metadata associated with graphical objects (e.g., ...). Figure 6As shown, for example, game result graphical elements 606 for the second user and 612 for the first user's game results, the location, memory size, category, and type of game information of graphical elements and objects within the game environment of the game session are used to capture game information. Game information also includes the username associated with the user of the game application, the game results associated with the user of the game application, the game application title icon and 2D / 3D animations, or the avatar associated with the user of the game application. Client device 102 can communicate with game system 210 and enhancement table 310 to determine additional enhancement features associated with the game information.

[0125] In operation 1006, client device 102 generates a game result overlay based on game information generated during the game session. In some examples, the game result overlay is an object, image, animation, 3D object, digital image, emoji, augmented reality image, augmented reality transformation, or digital character icon, overlaid on media content items or collections that have been created or are being created by the user of the computing device. Game information (such as player scores, player achievements, player prizes, and tokens) is generated, recorded, and accumulated as the user interacts during the game session. Other game information generated during the game session includes avatars, icons, and other graphical objects related to the game session.

[0126] In some examples, client device 102 generates an augmented reality image transformation overlay or game result overlay thumbnail 902 based on game play information. The augmented reality image transformation overlay is generated based on captured and identified graphical elements and is presented as an augmented reality content item, overlay, image transformation, AR image, and similar modifications applied to media content items (e.g., videos or images). The game result overlay thumbnail 902 is a scaled-down version of the game application or game play session overlaid on a media content item, content collection, or chat interface. Media content items include at least one video, at least one image, at least one digital photograph, at least one augmented reality media content item, or at least one three-dimensional object. In some examples, the game play session (or media application) is activated when a user applies a user gesture on the game result overlay thumbnail 902.

[0127] After generating the game result overlay 704, in operation 1008, client device 102 presents a game overlay over the media content item to generate a composite media content item. In some examples, client device 102 arranges and generates the game information as a single entity structure (such as a composite media content item). In some examples, composite media content item 804 is a single digital entity (such as a merged digital photo content item). Client device 102 may also retrieve augmentation data, such as overlays or filters, from augmentation table 310 to incorporate additional image features into composite media content item 804, game result overlay, or augmented reality image transformation overlay. The augmentation data is associated with and applied to the video (video data is stored in video table 314) and the image (image data is stored in image table 316).

[0128] In operation 1010, client device 102 sends composite media content item 804 to a second user. In some examples, composite media content item 804 may be transmitted or shared in a chat interface between one or more users on a messaging application during a chat messaging session, after a chat messaging session, during one or more user activities on a computing device while participating in a game application, or after the creation of a content collection.

[0129] Machine architecture

[0130] Figure 11This is a schematic representation of machine 1100, within which instructions 1108 (e.g., software, program, application, app, or other executable code) can be executed to cause machine 1100 to perform any or more of the methods discussed herein. For example, instructions 1108 can cause machine 1100 to perform any or more of the methods described herein. Instructions 1108 transform the general, non-programmed machine 1100 into a specific machine 1100 programmed to perform the described and illustrated functions in the described manner. Machine 1100 can operate as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, machine 1100 can operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Machine 1100 may include, but is not limited to: server computers, client computers, personal computers (PCs), tablet computers, laptop computers, netbooks, set-top boxes (STBs), personal digital assistants (PDAs), entertainment media systems, cellular phones, smartphones, mobile devices, wearable devices (e.g., smartwatches), smart home devices (e.g., smart appliances), other smart devices, web devices, network routers, network switches, network bridges, or any machine capable of sequentially or otherwise executing instructions 1108 specifying actions to be taken by machine 1100. Furthermore, although only a single machine 1100 is shown, the term "machine" should also be considered as a collection of machines that individually or jointly execute instructions 1108 to perform any one or more of the methods discussed herein. For example, machine 1100 may include client device 102 or any of several server devices forming part of message transceiver server system 108. In some examples, machine 1100 may also include both client and server systems, wherein certain operations of a particular method or algorithm are performed on the server side and certain operations of a particular method or algorithm are performed on the client side.

[0131] Machine 1100 may include a processor 1102, a memory 1104, and an input / output (I / O) unit 638 that can be configured to communicate with each other via a bus 1140. In the example, processor 1102 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processor 1106 and processor 1110 that execute instruction 1108. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as "cores") capable of executing instructions simultaneously. Although Figure 11 Multiprocessor 1102 is shown, but machine 1100 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0132] Memory 1104 includes main memory 1112, static memory 1114, and storage cells 1116, which are accessible to processor 1102 via bus 1140. Main memory 1104, static memory 1114, and storage cells 1116 store instructions 1108 that implement any one or more of the methods or functions described herein. Instructions 1108 may also reside wholly or partially in main memory 1112, in static memory 1114, in machine-readable medium 1118 within storage cells 1116, within at least one processor in processor 1102 (e.g., within the processor's cache memory), or in any suitable combination thereof, during execution by machine 1100.

[0133] I / O component 1138 may include various components for receiving input, providing output, generating output, sending information, exchanging information, capturing measurement results, etc. The specific I / O component 1138 included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones may include touch input devices or other such input mechanisms, while headless server machines are unlikely to include such touch input devices. It will be understood that I / O component 1138 may include... Figure 11Many other components are not shown. In various examples, I / O component 1138 may include user output component 1124 and user input component 1126. User output component 1124 may include visual components (e.g., displays such as plasma display panels (PDPs), light-emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tube (CRT) displays), acoustic components (e.g., speakers), haptic components (e.g., vibration motors, resistance mechanisms), other signal generators, etc. User input component 1126 may include alphanumeric input components (e.g., keyboards, touchscreens configured to receive alphanumeric input, photoelectric keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touchpads, trackballs, joysticks, motion sensors, or other pointing instruments), haptic input components (e.g., physical buttons, touchscreens that provide position and force for touch or touch gestures, or other haptic input components), audio input components (e.g., microphones), etc.

[0134] In other examples, I / O component 1138 may include biometric component 1128, motion component 1130, environmental component 1132, or positioning component 1134, as well as various other components. For example, biometric component 1128 includes components for detecting expressions (e.g., hand gestures, facial expressions, voice expressions, body posture, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brain waves), and identifying a person (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition). Motion component 1130 includes accelerometer components (e.g., accelerometers), gravity sensor components, and rotation sensor components (e.g., gyroscopes).

[0135] Environmental component 1132 includes, for example: one or more camera devices (with still image / photograph and video capabilities), lighting sensor components (e.g., photometers), temperature sensor components (e.g., one or more thermometers for detecting ambient temperature), humidity sensor components, pressure sensor components (e.g., barometers), acoustic sensor components (e.g., one or more microphones for detecting background noise), proximity sensor components (e.g., infrared sensors for detecting nearby objects), gas sensors (e.g., gas detection sensors for detecting the concentration of hazardous gases or measuring pollutants in the atmosphere for safety purposes), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment.

[0136] Regarding the camera device, client device 102 may have a camera device system including, for example, a front-facing camera on the front surface of client device 102 and a rear-facing camera on the rear surface of client device 102. The front-facing camera may be used, for example, to capture still images and videos (e.g., "selfies") of the user of client device 102, which can then be enhanced using the aforementioned enhancement data (e.g., filters). For example, the rear-facing camera may be used to capture still images and videos in a more conventional camera device mode, which are similarly enhanced using the enhancement data. In addition to the front and rear-facing cameras, client device 102 may also include a 360° camera for capturing 360° photos and videos.

[0137] Furthermore, the camera system of the client device 102 may include dual rear cameras (e.g., a main camera and a depth-sensing camera), or even include triple, quadruple, or quintuple rear camera configurations on the front and rear sides of the client device 102. For example, these multi-camera systems may include wide-angle cameras, ultra-wide-angle cameras, telephoto cameras, macro cameras, and depth sensors.

[0138] The positioning component 1134 includes a position sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer that detects air pressure to obtain altitude), an orientation sensor component (e.g., a magnetometer), etc.

[0139] A wide variety of technologies can be used to implement communication. I / O component 1138 also includes communication component 1136, which is operable to couple machine 1100 to network 1120 or device 1122 via a suitable coupling or connection. For example, communication component 1136 may include a network interface component or another suitable device to interface with network 1120. In other examples, communication component 1136 may include wired communication components, wireless communication components, cellular communication components, near field communication (NFC) components, etc. Components (e.g.) (low power consumption) Components and other communication components that provide communication via other means. Device 1122 can be any peripheral device from other machines or various peripheral devices (e.g., a peripheral device coupled via USB).

[0140] Furthermore, communication component 1136 may detect identifiers or include components operable to detect identifiers. For example, communication component 1136 may include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF417, UltraCode, UCC RSS-2D barcodes, and other optical codes) or an acoustic detection component (e.g., a microphone for identifying audio signals from tags). Additionally, various information can be derived via communication component 1136, such as location via Internet Protocol (IP) geolocation, etc. The location of signal triangulation, the location of NFC beacon signals that can be detected to indicate a specific location, etc.

[0141] Various memories (e.g., main memory 1112, static memory 1114, and the memory of processor 1102) and storage units 1116 may store one or more sets of instructions and data structures (e.g., software) implemented or used by any one or more of the methods or functions described herein. These instructions (e.g., instruction 1108) cause various operations to implement the disclosed examples when executed by processor 1102.

[0142] Instructions 1108 can be sent or received over network 1120 via a network interface device (e.g., a network interface component included in communication component 1136), using a transmission medium and employing any of several known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, instructions 1108 can be sent or received via a transmission medium through a coupling (e.g., peer-to-peer coupling) to device 1122.

[0143] Software Architecture

[0144] Figure 12This is a block diagram 1200 illustrating a software architecture 1204 that can be installed on any or more devices described herein. The software architecture 1204 is supported by hardware such as a machine 1202 including a processor 1220, memory 1226, and I / O components 1238. In this example, the software architecture 1204 can be conceptualized as a stack of layers, where each layer provides specific functionality. The software architecture 1204 includes layers such as an operating system 1212, libraries 1210, frameworks 1208, and applications 1206. Operationally, application 1206 activates API call 1250 via the software stack and receives message 1252 in response to API call 1250.

[0145] Operating system 1212 manages hardware resources and provides public services. Operating system 1212 includes, for example, a kernel 1214, services 1216, and drivers 1222. Kernel 1214 acts as an abstraction layer between the hardware layer and other software layers. For example, kernel 1214 provides memory management, processor management (e.g., scheduling), component management, network and security settings, and other functions. Service 1216 can provide other public services to other software layers. Driver 1222 is responsible for controlling or interfacing with the underlying hardware. For example, driver 1222 may include a display driver, a camera driver, etc. or Low-power drivers, flash drives, serial communication drivers (e.g., USB drives), Drivers, audio drivers, power management drivers, etc.

[0146] Library 1210 provides common low-level infrastructure used by application 1206. Library 1210 may include system library 1218 (e.g., the C standard library), which provides functions such as memory allocation, string manipulation, and mathematical functions. Additionally, library 1210 may include API library 1224, such as media libraries (e.g., libraries for supporting the rendering and manipulation of various media formats, such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Picture Experts Group (JPEG or JPG), or Portable Web Graphics (PNG)), graphics libraries (e.g., the OpenGL framework for rendering graphic content on a display in two-dimensional (2D) and three-dimensional (3D) formats), database libraries (e.g., SQLite, which provides various relational database functions), web libraries (e.g., WebKit, which provides web browsing functionality), etc. Library 1210 may also include a wide variety of other libraries 1228 to provide many other APIs to application 1206.

[0147] Framework 1208 provides common high-level infrastructure for use by application 1206. For example, framework 1208 provides various graphical user interface (GUI) functions, advanced resource management, and advanced location services. Framework 1208 can provide a wide range of other APIs that can be used by application 1206, some of which may be specific to a particular operating system or platform.

[0148] In the example, application 1206 may include home application 1236, contact application 1230, browser application 1232, book reader application 1234, location application 1242, media application 1244, messaging application 1246, game application 1248, and a wide variety of other applications such as third-party application 1240. Application 1206 is a program that performs the functions defined in the program. One or more applications 1206 can be created using various programming languages, such as object-oriented programming languages ​​(e.g., Objective-C, Java, or C++) or procedural programming languages ​​(e.g., C or assembly language). In a particular example, third-party application 1240 (e.g., using Android by an entity other than the vendor of a particular platform). TM or iOS TM Applications developed using a Software Development Kit (SDK) can be used on platforms such as iOS. TM ANDROID TM , Mobile software running on the phone's mobile operating system or another mobile operating system. In this example, a third-party application 1240 can call API calls 1250 provided by the operating system 1212 to facilitate the functions described herein.

[0149] Processing components

[0150] Now go to Figure 13 The diagram illustrates a processing environment 1300 including processor 1302, processor 1306, and processor 1308 (e.g., GPU, CPU, or a combination thereof).

[0151] Processor 1302 is shown coupled to power supply 1304 and includes (permanently configured or temporarily instantiated) a module, namely game result overlay component 1310. Game result overlay component 1310 is operable to present game result markers, retrieve game information related to a game session, generate a game result overlay based on game information generated during the game session, present a game overlay over media content items to generate composite media content items, and send the composite media items to a second user. Although not shown, processor 1106 may alternatively include timeline content collection component 1110, which performs the operations of timeline content collection system 212. As shown, processor 1102 is communicatively coupled to both processor 1106 and processor 1108.

[0152] Glossary

[0153] "Carrier signal" refers to any intangible medium capable of storing, encoding, or carrying instructions to be executed by a machine, and includes digital or analog communication signals or other intangible media to facilitate the communication of such instructions. Instructions can be sent or received over a network using a transmission medium via a network interface device.

[0154] "Client device" refers to any machine that interfaces with a communication network to obtain resources from one or more server systems or other client devices. Client devices can be, but are not limited to, mobile phones, desktop computers, laptop computers, portable digital assistants (PDAs), smartphones, tablet computers, ultrabooks, netbooks, laptop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, game consoles, set-top boxes, or any other communication device that a user can use to access the network.

[0155] "Communication network" refers to one or more parts of a network, which can be an ad hoc network, intranet, extranet, virtual private network (VPN), local area network (LAN), wireless LAN (WLAN), wide area network (WAN), wireless WAN (WWAN), metropolitan area network (MAN), the Internet, a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a POTS (Plain Old-Style Telephone Service) network, a cellular telephone network, a wireless network, etc. A network, other types of networks, or a combination of two or more such networks. For example, a network or part of a network may include a wireless network or a cellular network, and the coupling may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile Communications (GSM) connection, or other types of cellular or wireless coupling. In this example, the coupling can implement any data transmission technology of various types, such as Single Carrier Radio Transmission (1xRTT), Evolved Data Optimization (EVDO), General Packet Radio Service (GPRS), Enhanced Data Rate Evolution of GSM (EDGE), the 3rd Generation Partnership Project (3GPP) including 3G, fourth-generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High-Speed ​​Packet Access (HSPA), Global Microwave Access Interoperability (WiMAX), Long Term Evolution (LTE) standards, other data transmission technologies defined by various standards setting organizations, other long-distance protocols, or other data transmission technologies.

[0156] A “component” refers to a device, physical entity, or logic having boundaries defined by functional or subroutine calls, branch points, APIs, or other technologies that provide partitioning or modularity for a particular processing or control function. A component can be combined with other components via its interface to perform machine processing. A component can be an encapsulated functional hardware unit designed for use with other components and can be part of a program that typically performs a specific function within a related function. A component can constitute a software component (e.g., code embodied on a machine-readable medium) or a hardware component. A “hardware component” is a tangible unit capable of performing certain operations and can be configured or arranged in some physical manner. In various example implementations, one or more computer systems (e.g., standalone computer systems, client computer systems, or server computer systems) or one or more hardware components (e.g., processors or processor groups) of a computer system can be configured by software (e.g., an application or application portion) to perform certain operations described herein. Hardware components can also be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware component can include a dedicated circuit system or logic permanently configured to perform certain operations. Hardware components can be dedicated processors, such as field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). Hardware components can also include programmable logic or circuitry systems temporarily configured by software to perform certain operations. For example, a hardware component may include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or a specific component of a machine) uniquely tailored to perform the configured function, and no longer a general-purpose processor. It will be understood that the implementation of a hardware component may be determined, for cost and time considerations, whether mechanically implemented in a dedicated and permanently configured circuit or in a temporarily configured (e.g., software-configured) circuit. Accordingly, the phrase “hardware component” (or “hardware-implemented component”) should be understood to include tangible entities, i.e., entities physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate or perform certain operations described herein. Considering the implementation where hardware components are temporarily configured (e.g., programmed), it is not necessary to configure or instantiate each hardware component at any given time. For example, in cases where the hardware components include a general-purpose processor that can be configured by software to become a dedicated processor, this general-purpose processor can be configured as different dedicated processors (e.g., including different hardware components) at different times. The software accordingly configures one or more specific processors to constitute a specific hardware component at one time and different hardware components at different times. Hardware components can provide information to and receive information from other hardware components. Therefore, the described hardware components can be considered communicatively coupled.In the presence of multiple hardware components, communication can be achieved through signal transmission between or among two or more hardware components (e.g., via appropriate circuitry and buses). In embodiments where multiple hardware components are configured or instantiated at different times, such communication between hardware components can be achieved, for example, by storing information in a memory structure accessed by the multiple hardware components and retrieving information from that memory structure. For example, a hardware component can perform an operation and store the output of that operation in a memory device communicatively coupled to it. Other hardware components can then access the memory device at a subsequent time to retrieve the stored output and process it. Hardware components can also initiate communication with input or output devices and can operate on resources (e.g., information collection). The various operations of the example methods described herein can be performed at least in part by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors can constitute processor-implemented components that operate to perform one or more operations or functions described herein. As used herein, "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the methods described herein can be implemented at least in part by processors, where a particular processor or one or more processors are examples of hardware. For example, at least some operations of the methods can be performed by one or more processors 602 or processor-implemented components. Furthermore, the one or more processors can also be configured to support the execution of related operations in a “cloud computing” environment or to operate as “Software as a Service” (SaaS). For example, at least some operations can be performed by a group of computers (as an example of a machine including processors), where these operations are accessible via a network (e.g., the Internet) and via one or more suitable interfaces (e.g., APIs). The execution of some operations can be distributed among processors, not residing within a single machine, but deployed across multiple machines. In some example implementations, the processor or processor-implemented component can reside in a single geographic location (e.g., in a home environment, office environment, or server cluster). In other example implementations, the processor or processor-implemented component can be distributed across several geographic locations.

[0157] "Computer-readable storage medium" refers to both machine-readable storage media and transmission media. Therefore, these terms encompass both storage devices / media and carrier / modulated data signals. The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" refer to the same thing and may be used interchangeably in this disclosure.

[0158] A "brief message" is a message that is accessible for a limited period of time. Brief messages can be text, images, videos, etc. The access time for a brief message can be set by the message sender. Alternatively, the access time can be a default setting or a setting specified by the recipient. Regardless of the setting method, the message is temporary.

[0159] "Machine storage medium" refers to one or more storage devices and media (e.g., centralized or distributed databases, and associated caches and servers) that store executable instructions, routines, and data. Therefore, this term should be considered to include, but is not limited to, solid-state memory and optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media, and / or device storage media include: non-volatile memory, including, for example, semiconductor memory devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGAs, and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms "machine storage medium," "device storage medium," and "computer storage medium" refer to the same thing and are used interchangeably in this disclosure. The terms "machine storage medium," "computer storage medium," and "device storage medium" expressly exclude carrier waves, modulated data signals, and other such media, at least some of which are covered by the term "signal medium."

[0160] "Non-transitory computer-readable storage medium" refers to a tangible medium capable of storing, encoding, or carrying instructions that can be executed by a machine.

[0161] "Signal medium" means any intangible medium capable of storing, encoding, or carrying instructions executable by a machine, and includes digital or analog communication signals or other intangible media that facilitate the communication of software or data. The term "signal medium" should be considered to include any form of modulated data signal, carrier wave, etc. The term "modulated data signal" means a signal whose characteristics are set or altered in a manner that encodes information in the signal. The terms "transmission medium" and "signal medium" refer to the same thing and may be used interchangeably in this disclosure.

Claims

1. A method for generating game result overlays, comprising: The end of the game session is detected by the first user's client device; In response to detecting the end of the game session, the client device displays a first user interface, which includes a first game result graphic element for the first user and a second game result graphic element for the second user, a game result marker for the game application played by the first user and the second user, a game result start marker that can be selected to restart the game application, and a chat message sending and receiving interface, which includes a text input field and one or more additional tools to enable communication between users in a message sending and receiving session. In response to the user's selection of the game result marker: The game application is exited by the client device; The client device’s messaging application retrieves gaming information related to the gaming session. The gaming information is generated by image processing technology, which scans the gaming session and captures the first and second game result graphic elements embedded, formatted, displayed, or hidden within the game application’s game environment. The message sending and receiving application of the client device generates the game result overlay based on the game information generated during the game session. The game result overlay includes a first game result graphic element and a second game result graphic element. as well as The client device displays the content collection creation interface of the message sending and receiving application, which enables the first user to create and share content collections. The content set is generated by the messaging application of the client device, and the content set includes media content items, which include images or videos captured by the integrated camera device of the client device. The client device causes an additional user interface of the messaging application to be displayed, the additional user interface including a game result overlay over the media content items included in the content set to generate composite media content items; as well as The client device causes the composite media content item to be sent to the second user.

2. The method according to claim 1, further comprising: Generate another content set that includes the composite media content items.

3. The method according to claim 1, wherein, The game information includes at least one of the following: a title icon, an avatar representing the first user, an avatar representing the second user, a three-dimensional object, an animation associated with the game preferences of the game application, the username of the first user, the username of the second user, game results associated with the first user, and game results associated with the second user.

4. The method according to claim 1, wherein, The gaming session is within the gaming application, which is at least one of the following: collaborative gaming applications, non-collaborative gaming applications, and customized media applications.

5. The method according to claim 3, further comprising: The client device generates an augmented reality image transformation overlay based on the game information.

6. The method according to claim 1, wherein, The game result markers include at least one of the following groups: icons, interactive buttons, and selection windows.

7. The method according to claim 6, further comprising: In response to a second user selection to initiate a game result flag, a second game session is initiated.

8. The method according to claim 7, wherein, The game result launch marker includes an icon, an interactive button, or a selection window.

9. The method according to claim 1, wherein, Sending the composite media content item to the second user includes sending the game result overlay to the second user during a chat message sending and receiving session.

10. The method according to claim 1, wherein, The media content items include: at least one video, at least one image, at least one digital photograph, at least one augmented reality media content item, or at least one three-dimensional object.

11. A system for generating game result overlays, comprising: One or more processors; as well as The memory stores instructions that, when executed by the one or more processors, configure the system to perform operations, including: Detect the end of the game session; In response to detecting the end of the game session, a first user interface is displayed. The first user interface includes a first game result graphical element for a first user and a second game result graphical element for a second user, a game result marker for the game application played by the first user and the second user, a game result start marker that can be selected to restart the game application, and a chat message sending and receiving interface, the chat message sending and receiving interface including a text input field and one or more additional tools to enable communication between users in a message sending and receiving session, wherein the first user plays the game application on the first user's client device; In response to the user's selection of the game result marker: This causes the game application to exit; The messaging application retrieves gaming information related to the gaming session. The gaming information is generated by image processing technology, which scans the gaming session and captures the first and second game result graphic elements embedded, formatted, displayed, or hidden within the game environment of the gaming application. The messaging application generates the game result overlay based on the game information generated during the game session, the game result overlay including the first game result graphic element and the second game result graphic element; and The content collection creation interface of the message sending and receiving application is displayed, which enables the first user to create and share content collections. The content set is generated by the messaging application, and the content set includes media content items, which include images or videos captured by the integrated camera device of the client device. To display an additional user interface for the messaging application, the additional user interface including a game result overlay over the media content items included in the content collection to generate composite media content items; and The composite media content item is then sent to the second user.

12. The system according to claim 11, further comprising: Generate another content set that includes the composite media content items.

13. The system according to claim 11, wherein, The game information includes at least one of the following: a title icon, an avatar representing the first user, an avatar representing the second user, a three-dimensional object, an animation associated with the game preferences of the game application, the username of the first user, the username of the second user, game results associated with the first user, and game results associated with the second user.

14. The system according to claim 11, wherein, The gaming session is within the gaming application, which is at least one of the following: collaborative gaming applications, non-collaborative gaming applications, and customized media applications.

15. The system according to claim 14, wherein, The instructions also configure the system to perform operations including the following: The one or more processors generate augmented reality image transformation overlays based on the game information.

16. The system according to claim 11, wherein, The game result markers include at least one of the following groups: icons, interactive buttons, and selection windows.

17. The system according to claim 11, wherein, The instructions also configure the system to perform operations including the following: In response to a second user selection to initiate a game result flag, a second game session is initiated.

18. The system according to claim 11, wherein, Sending the composite media content item to the second user includes sending the game result overlay to the second user during a chat message sending and receiving session.

19. A non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium including instructions that, when executed by a computer, cause the computer to perform operations, the operations including: Detect the end of the game session; In response to detecting the end of the game session, a first user interface is displayed. The first user interface includes a first game result graphical element for a first user and a second game result graphical element for a second user, a game result marker for the game application played by the first user and the second user, a game result start marker that can be selected to restart the game application, and a chat message sending and receiving interface, the chat message sending and receiving interface including a text input field and one or more additional tools to enable communication between users in a message sending and receiving session, wherein the first user plays the game application on the first user's client device; In response to the user's selection of the game result marker: This causes the game application to exit; The messaging application retrieves gaming information related to the gaming session. The gaming information is generated by image processing technology, which scans the gaming session and captures the first and second game result graphic elements embedded, formatted, displayed, or hidden within the game environment of the gaming application. The messaging application generates a game result overlay based on the game information generated during the game session, the game result overlay including a first game result graphic element and a second game result graphic element; and The content collection creation interface of the messaging application is displayed, enabling the first user to create and share content collections. The content set is generated by the messaging application, and the content set includes media content items, which include images or videos captured by the integrated camera device of the client device. To display an additional user interface for the messaging application, the additional user interface including a game result overlay over the media content items included in the content collection to generate composite media content items; and The composite media content item is then sent to the second user.

20. The non-transitory computer-readable storage medium according to claim 19, wherein, The game information includes at least one of the following: a title icon, an avatar representing the first user, an avatar representing the second user, a three-dimensional object, an animation associated with the game preferences of the game application, the username of the first user, the username of the second user, game results associated with the first user, and game results associated with the second user.

Citation Information

Patent Citations

  • System and method for creating, editing, and sharing video content relating to video game events

    US20090131177A1

  • Systems and Methods for Tagging Content of Shared Cloud Executed Mini-Games and Tag Sharing Controls

    US20140179424A1