Patent Description:
Embodiments of the present invention relates generally to the field of displaying information in a three dimensional environment. More particularly, embodiments of the invention relate to displaying information associated with smart objects that can, in one embodiment, be used for advertising purposes in a three dimensional environment.

Digital advertising currently requires creating specific and customized content (e.g., images, videos, text, etc.) for each advertiser individually, and placing them directly at various forms of digital platforms (e.g., websites, games, etc.). Furthermore, such advertising often relies on Hypertext Transfer Protocol (HTTP) based cookies. An HTTP cookie, also known as a web cookie or browser cookie, is data sent from a server and stored at a client's machine comprising information related to the user's choices so that only relevant ads are transmitted to the user. Conventionally, once the user visits a website/web-page, a third party cookie is saved locally at the client machine and each time the client revisits the webpage/website the cookie is transmitted back to the third party server. Furthermore, such systems require that the advertiser provide content for the advertisement, however, the advertiser has no control where or how the content would be displayed, except for providing keywords to the advertising system.

However, such advertising systems often result in ineffective advertising due to the inherent limitations of keyword based advertising. Furthermore, fake or mistaken clicks occur regularly, which are further detrimental to the advertiser's interest. Such systems have no means of determining, in advance, if its advertising at a publisher's digital platform would generate in meaningful results. Thus, conventional advertising platforms often result in wasteful and inefficient advertising. Therefore, efficient systems, methods, and techniques are needed that allow a developer, publisher, or advertiser to overcome these limitations and display information to a user based on metric data generated based on user action/ viewability. <CIT>) discloses a system for providing rewards to users on the basis of qualified user interactions with smart objects in a 3D environment such as a game.

<CIT> discloses the generation of a virtual reality simulation of shopping environments, a user may interact with smart objects within the simulation and interactions are recorded to conduct market research.

Using various embodiments, methods and systems for displaying information associated with a smart object to a user are described. In one embodiment, a system to displaying brand related information to a user is described. The system can be configured to receive smart object identification data and smart object metric data of a set of smart objects in a three dimensional (3D) environment. As described herein, smart objects (also referred to as 3D digital smart objects), in one embodiment, can be used to generate generic content (banner/billboard, videos, and/or 3D assets) that can optionally be replaced with branded content from an advertiser within a variety of digital platforms and measure the user performance with both the generic and branded content across the digital platform. In one embodiment, a smart object comprises an asset encompassed in a transparent 3D asset placeholder that dictates the maximum X-Axis, Y-Axis, and Z-Axis dimensions of an asset/object. The asset within the 3D asset placeholder provides a visual representation of the smart object. The asset can be, in one embodiment, a 3D representation of geometric data, where the asset within the 3D asset placeholder provides a visual representation of the smart object. A smart object comprises an asset that can be any media content such as, 3D non-active assets, assets, video, audio, multi-media object, any general 3D representation of geometric data, or a combination thereof. In various embodiments, smart objects can be used for services related to advertising, notification, or generally for any service that can personalize a viewer's environment with 3D content that is relevant to each viewer.

In one embodiment, the system receives the smart object identification data and smart object metric data transmitted from a smart object manager residing within a three dimensional environment. The system can further be configured to determine that the user has requested brand related detailed information associated with at least one smart object. Thereafter, the system can be configured to generate a list of smart object associated brand identification data from the set of smart objects. The list, in one embodiment, can be sorted based on the smart object metric data related to each smart object within the set of smart objects. The system can then retrieve brand related detailed information of a smart object out of the set of smart objects that is determined to have the highest smart object metric data quantifier value. The system can further transmit the brand related detailed information of the smart object and the sorted list of smart object brand identification data to the user. In one embodiment, the brand related identification data associated with the smart object is displayed to the user via a user interface along with the sorted list of smart object brand identification data.

In another embodiment, the user can request brand related detailed information associated with another smart object by selecting the brand identification data associated with the smart object from the sorted list. In yet another embodiment, the smart object manager can transmit the smart object identification data and the smart object metric data related data of the set of smart objects upon determining the smart object metric data of one smart object. In one embodiment, this smart object can be associated with a branded service or product. In another embodiment, the list of smart object brand identification data is sorted from highest to lowest based on the quantifier value of the smart object metric data of each smart object in the set of smart objects. In one embodiment, to retrieve the brand related detailed information, the system can further be configured to determine the presence of brand identification data associated with a preferred advertiser within the set of smart objects, and retrieve the brand related detailed information of the smart object associated with the preferred advertiser instead of the information related to the smart object with the highest quantifier value of the smart object metric data.

In yet another embodiment, the brand related detailed information transmitted to the user includes engagement data that can be (optionally) elected by an advertiser, and can include a discount coupon, a social media web link, an email based link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In one embodiment, the system can determine that the user has requested BRDI associated with a smart object by receiving an instruction that the user has selected a tab or button within the user interface. In another embodiment, the set of smart objects, as described herein, can be a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.

Reference in the specification to "one embodiment" or "an embodiment" or "another embodiment" means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the invention. The processes depicted in the figures that follow are performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, etc.), software, or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described can be performed in a different order. Moreover, some operations can be performed in parallel rather than sequentially.

<FIG> illustrates a block diagram <NUM> of a general system architecture that can generate and implement smart objects to process advertising related relevant information, according to one embodiment of the present invention. Smart objects, in one embodiment, can be used to generate generic content (banner/billboard, videos, and/or 3D assets) that can optionally be replaced with branded content from an advertiser within a variety of digital platforms and measure the user performance with both the generic and branded content across the digital platform. In one embodiment, a smart object comprises an asset encompassed in a transparent 3D asset placeholder that dictates the maximum X-Axis, Y-Axis, and Z-Axis dimensions of an asset/object and/or and understands the scaling dimensions that takes up a specific shape in a 3D digital environment. The asset within the 3D asset placeholder provides a visual representation of the smart object. The asset can be, in one embodiment, a 3D representation of geometric data, where the asset within the 3D asset placeholder provides a visual representation of the smart object. A smart object comprises an asset that can be any media content such as, 3D non-active assets, assets, video, audio, multi-media object, any general 3D representation of geometric data, or a combination thereof. In various embodiments, smart objects can be used for services related to advertising, notification, or generally for any service that can personalize a viewer's environment with 3D content that is relevant to each viewer.

After smart object <NUM> has been generated, it can be placed into a three dimensional environment by smart object placement system <NUM>. Various exemplary embodiments of generating smart object <NUM> in a 3D environment are disclosed in <CIT>, and embodiments to display smart objects within a 3D environment disclosed in <CIT> can be employed, in whole or in part, with the present invention. should be noted, in the above stated disclosures, a smart object has been referred to as a 3D digital smart object.

As illustrated, publisher or developer can, using publisher interface <NUM>, request the smart object placement system <NUM> to place smart object <NUM> in a three dimensional environment, as described further herein. Smart object placement system <NUM> can request the publisher's input to select a smart object (generated by smart object generation system <NUM>) and save the coordinates, including game identification data, smart object identification data, smart object category/type data, publisher/developer identification data, and location/scene identification data. Smart object placement system <NUM> can interact with the developer using various 3D game development environments. Generally, a 3D environment intending to implement the techniques described herein would need to provide SDK(s), API(s), or any other means using which smart object placement system <NUM> can interact with the 3D environment's development interface. Thus, in one embodiment, publisher interface <NUM> can be a game development environment (e.g., Unity® engine, Unreal® engine, Torque 3D® engine, Adobe® Air, etc.). In another embodiment, publisher interface <NUM> can be any 3D development environment, as known to a person having ordinary skill in the art. However, it should be noted, the invention described herein is not intended to be limited to any particular 3D development environment. Therefore, smart object <NUM> has been generated by smart object generation system <NUM>, the publisher can request the smart object <NUM> be placed in a 3D environment by requesting the smart object placement system <NUM>, using a SDK or API set provided to the developer by the 3D environment.

In another embodiment, a system administrator of the smart object placement system <NUM> can present predetermined smart objects (to the developer) that can be placed within a three dimensional environment using smart object placement system <NUM>. Generally, smart object placement system <NUM> can be any computing engine that can interact with a 3D environment and determine the location (within the environment) where the smart object has been placed by the developer/publisher, and save it as placement data. smart object placement system <NUM> can further associate the placement data of smart object <NUM> in a 3D environment with 3D environment identification data that identifies the digital platform using smart object <NUM>. In one embodiment, the publisher or developer can place smart object <NUM> as a Generic Smart Object (GSO), as further described herein. In another embodiment, the publisher or developer can place smart object <NUM> as a Branded Smart Object (BSO) as further described herein. When the developer/publisher places a GSO in the 3D environment, an advertiser, in one embodiment, using advertiser interface <NUM> can interact with smart object placement system <NUM> to replace the publisher provided asset with a branded asset to generate a BSO. In yet another embodiment, the developer/publisher can provide the system with a branded asset (instead of a generic asset) to generate a BSO, which is then placed by the developer using smart object placement system <NUM>.

After the placement of smart object <NUM> into the 3D environment, user interaction or viewability based metrics generated from smart object <NUM> can be generated via smart object processing system <NUM>. In one embodiment, smart object processing system <NUM> can be any system that is capable of analyzing information received from smart object <NUM> and generate metrics related to any user interaction, including tapping, touching, moving, time spent with the smart object, viewing (e.g., from a distance), requesting detailed description, etc., of mart object <NUM>, via user interface <NUM>. The generated metrics can be useful to advertiser and/or publisher associated with the 3D environment.

<FIG> illustrates a block diagram <NUM> describing a smart object processing system receiving data from a three dimensional environment, according to one embodiment of the present invention. As illustrated, in one embodiment, smart object 101A and 101B can be displayed on user interface <NUM>. Each smart object can include event triggers/scripts that can transmit Smart Object Metric Data (SOMD) to smart object manager <NUM> when displayed on user interface <NUM>. SOMD can include (but not limited to) data related to determining that a user is viewing a smart object, the user interaction with a smart object, a distance between the user and a smart object, a percentage size of a smart object in relationship to the size of the user interface, a period of time that the user interacted with a smart object, and/or the percentage of the smart object that was viewable on the user's screen (e.g., is the viewable surface of smart object is <NUM>% below the screen). In one embodiment, each smart object <NUM> can be configured to record different types of interaction of smart object <NUM> with a user within a 3D environment, and transmit its corresponding SOMD to smart object manager <NUM>, by employing event triggers. Thereafter, smart object manager <NUM> can forward the information to smart object processing system <NUM>. In one embodiment, event triggers can determine user viewability of a smart object and transmit user viewability data based on the user viewability, to a smart object processing system. In one embodiment, any of the above SOMD can be transmitted from smart object manager <NUM> to a backend server (e.g., smart object processing system <NUM>).

In one embodiment, smart object manager <NUM>, can be the communication interface between smart objects 101A/101B and smart object processing system <NUM>. In one embodiment, smart object manager <NUM> resides in the 3D environment, however, smart object manager <NUM> is not visible to the user (that is, smart object manager runs a background process in the 3D environment). Smart objects 101A and 101B, and smart object manager <NUM>, in one embodiment, can be compiled within the 3D environment, thus becoming an integral part of the environment. In one embodiment, smart object manager <NUM> receives all event triggers from various smart objects within a 3D environment, and can periodically transmit the user engagement data to smart object processing system <NUM> of system <NUM>. In one embodiment, each smart object (e.g., 101A, 101B, etc.) can be configured to transmit SOMD to smart object manager <NUM> at periodic intervals. In another embodiment, smart object manager <NUM> can be configured to request each smart object to transmit SOMD at period intervals. In yet another embodiment, smart object manager only transmits data of smart objects that have generated SOMD to smart object processing system <NUM>.

The present invention relates to displaying information associated with one or more smart objects to the user. During user interaction with a 3D environment, a set of smart objects is presented to the user via user interface <NUM>. Each smart object can be a generic smart object (GSO) associated with non-branded information, or a branded smart object (BSO) that is associated with information related to a branded product or good. Upon user selection, in one embodiment, the data associated with a smart object can be displayed in a separate window (e.g., tabbed window, sliding window, pop-up window, etc.) to the user on user interface <NUM>. For illustrative purposes the present invention embodiments of the present invention assume the presence of branded smart objects (that is, smart objects that are associated with brand information) within the 3D environment, however, a person of ordinary skill in the art would appreciate that the teachings described herein can be implemented for non-branded smart objects (that is, smart objects that have other non-branded data associated with it) as well, or a combination thereof.

In one embodiment, SOMD can be quantified as a score, value, percentage, numerical data, etc., that can be used to infer the importance (or significance) of the smart object to the user. Thus, a higher SOMD, in an embodiment, related to a smart object (compared to others in a set of smart objects) received by the smart object processing system <NUM>, can signify the importance of the smart object to the user. Based on the received SOMD smart object processing system <NUM> can prioritize the brand related detailed information (BRDI) that be transmitted to the user (upon request by the user, in one embodiment), as described herein. Therefore, depending on the data chosen for implementation, in one embodiment, a higher SOMD quantifier value transmitted by a smart object would signify that the user may be interested in learning more about the information associated with the smart object.

As a non-limiting example, if user proximity and/or viewability of the set of smart objects is selected as the SOMD, then the percentage value of the screen taken by each of the set of smart objects and/or their proximity to the user can signify as a metric quantifier that the user may be interested in learning more about a smart object out of the set of smart objects of a 3D environment. The set of smart objects can include, a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

For a set of smart objects, smart object manager <NUM> transmits smart object related data, including smart object identification data (SOID) (e.g., smart object ID number) and related SOMD of each smart object, to smart object data engine <NUM> of smart object processing system <NUM>. In one embodiment, smart object manager <NUM> can transmit smart object related data of each smart object at periodic intervals. In another embodiment, smart object manager <NUM> transmits the smart object related data of each smart object upon user request to display BRDI associated with one or more smart object. In yet another embodiment, smart object manager <NUM> can transmit smart object related data of each smart object in real-time, that is, as soon as the data is received from the smart object(s). In one embodiment, upon receiving smart object related data, smart object data engine <NUM> can process SOMD of each smart object identified by its respective SOID to determine its respective significance to the user. In one embodiment, when a user requests BRDI to be displayed on user interface <NUM>, smart object data engine <NUM> determines the smart object with the highest SOMD, and retrieves (and transmits) BRDI related to the smart object is retrieved from database repository <NUM>. In another embodiment, smart object data engine <NUM> also retrieves brand identification data (BID) (e.g., brand name, trademark, brand related identification data, etc. ) associated with each smart object of the set of smart objects and generates a list of BID that is also transmitted to the user upon request. In one embodiment, BID for each smart object is transmitted along with BRDI of the smart object with the highest SOMD. In another embodiment, BID of each smart object is sorted based on its SOMD quantifying information before it is transmitted to user interface <NUM>. Thereafter, BRDI of the smart object with the highest SOMD quantifier value is displayed to the user. The user is also presented a list of BID associated with each smart object out of the set of smart objects. The user can then select a BID from the list; smart object data engine <NUM> then retrieves associated BRDI associated with the BID from database <NUM> and transmits it to user interface <NUM> for display to the user. In one embodiment, BRDI includes engagement data associated with the brand. Engagement data, in one embodiment, can include a discount coupon, a social media/networking web link, an email based link (that is, a link to directly share with another person over email), a web link to visit a web page associated with the branded information, or a web link to purchase the product/good or service associated with the smart object whose BRDI is displayed on user interface <NUM>, or generally any form of digital communication to share the information with another party, as appreciated by a person of ordinary skill in the art.

<FIG> illustrates a scene in 3D environment <NUM> displaying smart objects and a button or tab to display detailed branded information related to the smart objects, according to one embodiment of the present invention. As illustrated, a scene in 3D environment <NUM> displays an exemplary embodiment of a coffee shop that can be available to the user in a 3D environment (e.g., game, website, virtual reality, augmented reality, etc.). In the example represented by <FIG>, smart objects 101A/101B can be displayed to the user. Other smart objects that are not currently within the user's view port may also be present in the scene (or generally within the 3D environment). In one embodiment, tab <NUM> can be presented to the user, which when selected (e.g., clicked, touched, swiped, etc.) displays BRDI associated with at least one smart object out of a set of smart objects within 3D environment <NUM>, as further illustrated in <FIG>. In one embodiment, tab <NUM> can be presented to the user when a smart object is displayed on the screen. In another embodiment, tab <NUM> can be presented to the user when the user interacts with a smart object. In yet another embodiment, tab <NUM> can be presented when the user generally interacts with 3D environment <NUM>. In another embodiment, tab <NUM> can be represented by a button on user interface <NUM> or can also be a physical hardware button (e.g., play button in a gaming hardware, etc.). Tab <NUM>, in one embodiment, can be displayed to the user when the smart object processing system <NUM> determines that a user may be interested in learning about the smart objects presented to the user. In this embodiment, smart object manager <NUM> can continuously transmit relevant SOMD to smart object processing system <NUM> using which smart object processing system <NUM> can determine whether displaying tab <NUM> would be appropriate to the user. For example, based on the user's past action or interaction with a smart object or its associated BRDI (e.g., previous purchase, social network share history, etc.) and the transmitted SOMDs, smart object processing system <NUM> can, in one embodiment, automatically display tab <NUM> and/or prioritize the BRDI to be displayed to the user when tab <NUM> is selected by the user (e.g., if a new coupon, discount, incentive, etc. is available).

<FIG> illustrates a 3D environment scene <NUM> displaying BRDI associated with the smart object along with a sorted list of brand information associated with a set of smart objects, according to one embodiment of the present invention. In one embodiment, after user clicks on tab <NUM>, smart object data engine <NUM> can determine, based on the SOMD of each smart object received from smart object manager <NUM>, that BRDI associated with smart object 101A would be significant to the user. Significance can be determined based on the highest SOMD received by smart object data engine <NUM>, as described above. As an example, SOMD, in one embodiment, can be a user viewability metric data or a smart object proximity to the user metric data to determine the user's proximity to a smart object. As illustrated, after smart object data engine <NUM> determines data related to smart object 101A may be significant to the user, BDRI <NUM> associated with smart object 101A is transmitted to the user in window <NUM>. In one embodiment, BRDI <NUM> can include a main brand display message <NUM>, a promotion or coupon <NUM>, and/or engagement data <NUM>. Engagement data <NUM> can include a discount coupon, a social media web link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with smart object 101A. In another embodiment, an advertiser, via advertiser interface <NUM>, configure which engagement data related to smart object 101A is displayed to the user (e.g., by selecting the engagement data the advertiser determines important or significant).

As illustrated in <FIG> by reference numerals <NUM> and <NUM>, smart object data engine <NUM> can also transmit a list of BID associated with a set of smart objects associated with the 3D environment that may or may not be displayed to the user. In one embodiment, the list of BID can be sorted based on a SOMD quantifier as described above. As illustrated, BID <NUM> represents the BRDI <NUM> displayed in window <NUM>. The list of BID can also display BIDs <NUM>, each BID <NUM> associated with another smart object; when a user selects BID <NUM> corresponding BRDI <NUM> is displayed in window <NUM>. In one embodiment, the system can track and maintain a log of the smart objects which can be of interest to a user (based on user interaction with the smart object). As mentioned above, in one embodiment, smart object processing system <NUM> can determined BRDI <NUM> associated with a smart object that is initially displayed to the user. For example, if it is determined that smart object 101A is of significance to the user (e.g., user previously purchased good/product/service associated with smart object 101A, shared its information on social media, etc.), quantifier value of SOMD associated with smart object 101A can be automatically increased by smart object processing system <NUM> based on the user's history with the smart object. In another embodiment, smart object processing system <NUM> can increase (or decrease) the SOMD based on previous user interaction with BRDI associated with the smart object. In one embodiment, smart object processing system <NUM> can also determine a user's interest in a smart object based on information shared on a social network. For example, if the user complains about a brand or writes a negative statement (on a social network) about a brand associated with smart object 101A, the system can determine the user's likeness or grievance about a brand and can automatically present incentives and adjust the benefit thereof (e.g., customer loyalty discounts, free trials, etc.) for the user. In one embodiment, based on the user's comments regarding a brand associated with a smart object, the advertiser can opt-out from displaying the specific brand to the user. Thus, the system can be configured to automatically adjust discounts, incentives, or completely remove a brand associated with a smart object for a user based on their interaction with engagement data related to smart object 101A. If the advertiser opts to remove its brand, another advertiser can opt in to take its place. In one embodiment, the advertiser can be given an option to configure, via advertiser interface <NUM>, the minimum and maximum discount an advertiser is willing to offer in a coupon or promotion. The system can then automatically adjust the discount or incentive offered to the user based on the user's tracked history with a brand associated with a smart object. Similarly, if a user engages with the BRDI associated with a smart object, next time the user visits the same scene of the 3D environment, the advertiser can opt to display another product, or opt that its product is not displayed to the user again until a certain period of time elapses (e.g., days, weeks, months, etc.).

<FIG> illustrates flowchart <NUM> describing method of displaying branded information associated with a smart object by a server, according to one embodiment of the present invention. As illustrated, at <NUM>, smart object processing system <NUM> can receive smart object related data, including SOID and SOMD related to a set of smart objects from smart object manager residing within a 3D environment. At <NUM>, the system can receive a request from a user (e.g., when the user selects tab <NUM>) to display BRDI associated with at least one smart object out of the set of smart objects of the 3D environment. At <NUM>, the system generates a list of smart object BID from the set of smart objects. In one embodiment, the list of BID can be sorted based on SOMD related to each smart object. At <NUM>, the system can retrieve BRDI associated with the highest quantifier of SOMD and at <NUM>, the system transmits the BRDI and the sorted list of BID to user interface <NUM> (e.g., in window <NUM>).

<FIG> illustrates flowchart <NUM> describing an alternate embodiment of the method of displaying branded information associated with a smart object by a server, according to one embodiment of the present invention. Reference A initiates an alternative embodiment after block <NUM> of <FIG>. In one embodiment, the system can be configured to determine whether a preferred advertiser is associated with any smart object within the set of smart objects, as illustrated by block <NUM>. At <NUM>, upon such a determination, the system retrieves BRDI associated with the smart object of the preferred advertiser, otherwise the brand related information associated with the highest SOMD is retrieved. Control is then transferred back to <NUM> where the retrieved BRDI and sorted list is transmitted to the user interface <NUM>.

In one embodiment, the user can request BRDI associated with another smart object by selecting the BID of that smart object from the BID list. In another embodiment, the smart object manager transmits the SOID and SOMD related data of the set of smart objects upon determining the SOMD of at least one smart object that is associated with a branded service or product. Further, the list of smart object BID can be sorted from highest to lowest based on SOMD of each smart object in the set of smart objects. In yet another embodiment, the system, for retrieving BRDI related to a smart object, determines the presence of BID associated with a preferred advertiser within the set of smart objects and retrieves the BRDI of the smart object associated with the preferred advertiser instead of the smart object with the highest BRDI. In yet another embodiment, transmitting the BRDI to the user includes transmitting engagement data (that can optionally be selected by an advertiser). The engagement data in one embodiment, includes at least one of a discount coupon, a social media web link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In yet another embodiment, the system determines that the user has requested BRDI associated with at least one smart object by receiving an instruction that the user has selected a tab or button within the user interface. In another embodiment, the set of smart objects can be a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

<FIG> illustrates flow chart <NUM> describing a method implemented by a user of displaying branded information associated with a smart object by a server, according to one embodiment of the present invention. As illustrated, at <NUM>, the user selects a button or tab to request BRDI related to a smart object from user interface. At <NUM>, the user receives BRDI including engagement data related to at least one smart object out of the set of smart objects. The user receives a list of BID of the set of smart objects that can, in an optional embodiment, be sorted based on SOMD that can be a quantifier value. At <NUM> the user selects engagement data or purchases a service product associated with the smart object whose BRDI is displayed. The user can also select BID from the list to view BRDI associated with the smart object whose BID is currently selected, as illustrated at block <NUM>.

<FIG> illustrates flow chart <NUM> describing a system of displaying branded information associated with a smart object by a server, according to one embodiment of the present invention. As illustrated, at <NUM>, smart object manager receives BRDI of at least one smart object within a 3D environment. At <NUM>, smart object manager transmits SOID and SOMD of a set of smart objects to the server. At <NUM>, the user selects a button or tab to request BRDI associated with at least one smart object within the 3D environment, via a user interface. At <NUM>, the server transmits BRDI associated with the at least one smart object along with a list of BID associated with the set of smart objects within the 3D environment. At <NUM>, the user can select engagement data from the displayed BRDI. At <NUM>, the user can opt to select BID related to another smart object from the list of BID associated with the set of smart objects and control transfers back to <NUM> where the server retrieves and transmits the requested information to the user. Alternatively, as illustrated at <NUM>, the user can engage with displayed BRDI from where the system can track user's interaction with the associated smart object.

The techniques shown in the figures can be implemented using computer program instructions (computer code) and data stored and executed on one or more electronic systems (e.g., computer systems, etc.). Such electronic systems store and communicate (internally and/or with other electronic systems over a network) code and data using machine-readable media, such as machine-readable non-transitory storage media (e.g., magnetic disks; optical disks; random access memory; dynamic random access memory; read only memory; flash memory devices; phase-change memory). In addition, such electronic systems typically include a set of one or more processors coupled to one or more other components, such as one or more storage devices, user input/output devices (e.g., a keyboard, a touchscreen, and/or a display), and network connections. The coupling of the set of processors and other components is typically through one or more busses and bridges (also termed as bus controllers). The storage device and signals carrying the network traffic respectively represent one or more machine-readable storage media and machine-readable communication media. Thus, the storage device of a given electronic device typically stores code and/or data for execution on the set of one or more processors of that electronic device.

It should be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other computer system in response to its processor, such as a microprocessor, executing sequences of instructions contained in memory, such as a ROM, DRAM, mass storage, or a remote storage device. In various embodiments, hardware circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the computer system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor.

<FIG> is a block diagram illustrating a data processing system such as a computing system <NUM> which may be used with one embodiment of the invention. For example, system <NUM> may be implemented as part of a system to display information associated with a smart object. In one embodiment, system <NUM> may represent smart object processing system <NUM>. System <NUM> may have a distributed architecture having dispersed units coupled through a network, or all of its components may be integrated into a single unit. Computing system <NUM> may be implemented as part of a diverse range of products implemented by Trivver, Inc.

For example, computing system <NUM> may represents any of data processing systems described above performing any of the processes or methods described above. System <NUM> can include many different components. These components can be implemented as integrated circuits (ICs), portions thereof, discrete electronic devices, or other modules adapted to a circuit board such as a motherboard or add-in card of the computer system, or as components otherwise incorporated within a chassis of the computer system. Note also that system <NUM> is intended to show a high level view of many components of the computer system. However, it is to be understood that additional or fewer components may be present in certain implementations and furthermore, different arrangement of the components shown may occur in other implementations. System <NUM> may represent a desktop, a laptop, a tablet, a server, a mobile phone, a programmable logic controller, a personal digital assistant (PDA), a personal communicator, a network router or hub, a wireless access point (AP) or repeater, a set-top box, or a combination thereof.

In one embodiment, system <NUM> includes processor <NUM>, memory <NUM>, and devices <NUM>-<NUM> via a bus or an interconnect <NUM>. Processor <NUM> may represent a single processor or multiple processors with a single processor core or multiple processor cores included therein. Processor <NUM> may represent one or more general-purpose processors such as a microprocessor, a central processing unit (CPU), or the like. More particularly, processor <NUM> may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processor <NUM> may also be one or more special-purpose processors such as an application specific integrated circuit (ASIC), a cellular or baseband processor, a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, a graphics processor, a network processor, a communications processor, a cryptographic processor, a co-processor, an embedded processor, or any other type of logic capable of processing instructions.

Processor <NUM>, which may be a low power multi-core processor socket such as an ultra low voltage processor, may act as a main processing unit and central hub for communication with the various components of the system. Such processor can be implemented as a system on chip (SoC). In one embodiment, processor <NUM> may be an Intel® Architecture Core™-based processor such as an i3, i5, i19 or another such processor available from Intel Corporation, Santa Clara, Calif. However, other low power processors such as available from Advanced Micro Devices, Inc. (AMD) of Sunnyvale, Calif. , an ARM-based design from ARM Holdings, Ltd. or a MIPS-based design from MIPS Technologies, Inc. of Sunnyvale, Calif. , or their licensees or adopters may instead be present in other embodiments.

Processor <NUM> is configured to execute instructions for performing the operations and methods discussed herein. System <NUM> further includes a graphics interface that communicates with graphics subsystem <NUM>, which may include a display controller and/or a display device.

Processor <NUM> may communicate with memory <NUM>, which in an embodiment can be implemented via multiple memory devices to provide for a given amount of system memory. As examples, the memory can be in accordance with a Joint Electron Devices Engineering Council (JEDEC) low power double data rate (LPDDR)-based design such as the current LPDDR2 standard according to JEDEC JESD <NUM>-2E (published April <NUM>), or a next generation LPDDR standard to be referred to as LPDDR3 that will offer extensions to LPDDR2 to increase bandwidth. As examples, <NUM>/<NUM>/<NUM> gigabytes (GB) of system memory may be present and can be coupled to processor <NUM> via one or more memory interconnects. In various implementations the individual memory devices can be of different package types such as single die package (SDP), dual die package (DDP) or quad die package (QDP). These devices can in some embodiments be directly soldered onto a motherboard to provide a lower profile solution, while in other embodiments the devices can be configured as one or more memory modules that in turn can couple to the motherboard by a given connector.

Memory <NUM> can be a machine readable non-transitory storage medium such as one or more volatile storage (or memory) devices such as random access memory (RAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), static RAM (SRAM), or other types of storage devices such as hard drives and flash memory. Memory <NUM> may store information including sequences of executable program instructions that are executed by processor <NUM>, or any other device. For example, executable code and/or data of a variety of operating systems, device drivers, firmware (e.g., input output basic system or BIOS), and/or applications can be loaded in memory <NUM> and executed by processor <NUM>. An operating system can be any kind of operating systems, such as, for example, Windows® operating system from Microsoft®, Mac OS®/iOS® from Apple, Android® from Google®, Linux®, Unix®, or other real-time or embedded operating systems such as VxWorks.

System <NUM> may further include IO devices such as devices <NUM>-<NUM>, including wireless transceiver(s) <NUM>, input device(s) <NUM>, audio IO device(s) <NUM>, and other IO devices <NUM>. Wireless transceiver <NUM> may be a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver, a WiMax transceiver, a wireless cellular telephony transceiver, a satellite transceiver (e.g., a global positioning system (GPS) transceiver), or other radio frequency (RF) transceivers, network interfaces (e.g., Ethernet interfaces) or a combination thereof.

Input device(s) <NUM> may include a mouse, a touch pad, a touch sensitive screen (which may be integrated with display device <NUM>), a pointer device such as a stylus, and/or a keyboard (e.g., physical keyboard or a virtual keyboard displayed as part of a touch sensitive screen). For example, input device <NUM> may include a touch screen controller coupled to a touch screen. The touch screen and touch screen controller can, for example, detect contact and movement or break thereof using any of a plurality of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen.

Audio IO device <NUM> may include a speaker and/or a microphone to facilitate voice-enabled functions, such as voice recognition, voice replication, digital recording, and/or telephony functions. Other optional devices <NUM> may include a storage device (e.g., a hard drive, a flash memory device), universal serial bus (USB) port(s), parallel port(s), serial port(s), a printer, a network interface, a bus bridge (e.g., a PCI-PCI bridge), sensor(s) (e.g., a motion sensor such as an accelerometer, gyroscope, a magnetometer, a light sensor, compass, a proximity sensor, etc.), or a combination thereof. Optional devices <NUM> may further include an imaging processing subsystem (e.g., a camera), which may include an optical sensor, such as a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor, utilized to facilitate camera functions, such as recording photographs and video clips. Certain sensors may be coupled to interconnect <NUM> via a sensor hub (not shown), while other devices such as a keyboard or thermal sensor may be controlled by an embedded controller (not shown), dependent upon the specific configuration or design of system <NUM>.

To provide for persistent storage of information such as data, applications, one or more operating systems and so forth, a mass storage (not shown) may also couple to processor <NUM>. In various embodiments, to enable a thinner and lighter system design as well as to improve system responsiveness, this mass storage may be implemented via a solid state device (SSD). However in other embodiments, the mass storage may primarily be implemented using a hard disk drive (HDD) with a smaller amount of SSD storage to act as a SSD cache to enable non-volatile storage of context state and other such information during power down events so that a fast power up can occur on RE-initiation of system activities. Also a flash device may be coupled to processor <NUM>, e.g., via a serial peripheral interface (SPI). This flash device may provide for non-volatile storage of system software, including a basic input/output software (BIOS) as well as other firmware of the system.

Note that while system <NUM> is illustrated with various components of a data processing system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to embodiments of the present invention. It will also be appreciated that network computers, handheld computers, mobile phones, and other data processing systems which have fewer components or perhaps more components may also be used with embodiments of the invention.

As described in <CIT>, to the extent it is consistent herewith, methods and systems are disclosed to generate three dimensional (3D) digital assets, referred to as smart objects or digital smart objects herein, for use in various digital platforms. 3D digital smart objects, in one embodiment, can be used to generate generic content (banner/billboard, videos, and/or 3D assets) that can optionally be replaced with branded content from an advertiser within a variety of digital platforms and measure the user performance with both the generic and branded content across the digital platform. In one embodiment, a 3D digital smart object comprises an asset encompassed in a transparent 3D asset placeholder that dictates the maximum X-Axis, Y-Axis, and Z-Axis dimensions of an asset/object and/or and understands the scaling dimensions that takes up a specific shape in a 3D digital environment. The asset within the 3D asset placeholder provides a visual representation of the 3D digital smart object. The asset can be, in one embodiment, a 3D representation of geometric data, where the asset within the 3D asset placeholder provides a visual representation of the 3D digital smart object. A 3D digital smart object comprises an asset that can be any media content such as, 3D non-active assets, assets, video, audio, multi-media object, any general 3D representation of geometric data, or a combination thereof. In various embodiments, 3D digital smart objects can be used for services related to advertising, notification, or generally for any service that can personalize a viewer's environment with 3D content that is relevant to each viewer.

In one embodiment a digital smart object generation system can be configured to present a 3D placeholder to a publisher/game developer of a 3D environment and receive an asset the publisher to be placed within the 3D placeholder. Throughout this disclosure developer and publisher refer to the digital platform creator, and have been used interchangeably. The developer can further select an asset category and/or asset type related to the asset, using which data related to the 3D digital smart object would be cataloged in a repository or database. In one embodiment, the asset category and asset type can assist the system and/or an advertiser using the system in determining the relevancy of the 3D digital smart object to a viewer. Once the asset is uploaded, the system can then associate the developer or publisher's selected asset category and/or asset type with the uploaded asset. The digital smart object generation system can also receive standard asset size information of the asset within the 3D asset placeholder; the standard asset size information includes an X-axis, Y-axis, and Z-axis dimension of the asset within the 3D asset placeholder. The standard asset size information provides the maximum 3D size of the asset that can be accommodated within the 3D asset placeholder without disturbing the aspect ratio of the asset, as determined suitable by the developer or publisher. In one embodiment, the 3D placeholder can be a cube. However, the 3D placeholder is not limited to any particular geometrical shape. For example, in various embodiments, the 3D placeholder can be a polyhedron, cylinder, sphere, cone, torus based structure, or a combination thereof. Further, the standard asset size information, in one embodiment, can be determined when the X-axis, Y-axis, or Z-axis dimension of the asset equals to its corresponding axis dimension of the 3D asset placeholder. This can be achieved when the developer places a 3D asset in the 3D asset placeholder and scales the asset so that at least one of the dimensions of the asset equals to that of the 3D placeholder. In one embodiment, such scaling of the asset can be achieved when the developer clicks and drags the asset to maximize the asset size within the 3D asset placeholder.

A system can also be configured to receive (or provide) the asset a position positioning information including asset orientation information and asset position anchor location. The asset position anchor location determines the location of the asset relative to the 3D asset placeholder, while the asset orientation determines the orientation of the asset itself (e.g., vertical, horizontal, etc.); the asset position anchor location in one embodiment can be the X-axis coordinates, the Y-axis coordinates, the Z-axis coordinates, or a combination thereof, of the 3D asset placeholder. The asset position anchor location is the axis of the 3D asset placeholder that acts as a base axis for the asset (in other words, the asset's orientation is relative to the selected axis of the 3D placeholder). In such an embodiment, the anchor location can be provided by the developer, or can be defaulted to a certain axis (e.g., X-axis). An X-axis coordinates based anchor position (e. g, in a 1x1x1 cube, a (<NUM>,<NUM>,<NUM>) based anchor position would indicate that the anchor is positioned on in the middle of the X-axis of the placeholder, with the X-axis as a base position). A Y-Axis based anchor position would indicate that the anchor is positioned on the Y-axis of the placeholder (e. g, in a 1x1x1 cube, a (<NUM>,<NUM>,<NUM>) based anchor position would indicate that the anchor is positioned on in the middle of the Y-axis of the placeholder, with the Y-axis as a base position). A Z-axis based anchor position would indicate the depth of the anchor position within the placeholder (e.g., in a 1x1x1 cube, a (<NUM>,<NUM>,<NUM>) based anchor position would indicate that the anchor is positioned on the middle of the Z-axis of the placeholder, with the Z-axis as a base position). Therefore, a combination of X-axis and Y-axis coordinates (e.g., <NUM>, <NUM>, <NUM>) would indicate that the placeholder is anchor position location is hanging in the center of the 3D placeholder. In one embodiment, an anchor position location can assist the developer implementing the digital smart object the creator's intention how the object should be placed within the 3D environment. In another embodiment, the anchor position location can also govern the orientation of the asset when a user/viewer interacts with the digital smart object.

In one embodiment, after the above mentioned information is received by the system, the system can be further configured to store the digital smart object data, including the asset, standard asset size information, asset positioning anchor location, a maximum and minimum polygon count value associated with the asset (when available), and asset data (category and/or type) in a repository. Using the digital smart object data, the system can then further be configured to generate the 3D digital smart object that can be placed within various 3D environments (e.g., games, Virtual Reality environments, Augmented Reality environments, Smartphone Applications ("Apps"), Digital TV (OTT), Web Interfaces, Game Consoles, Video, etc.), and can be associated with advertisements that are to be analyzed. The 3D digital smart object can also record different types of interaction of the 3D digital smart object with a user of the game and transmit user interaction information to the computing device with the use of event triggers (by associating the digital smart object data with the event triggers during generation of the 3D digital smart object). In one embodiment, event triggers are capable of determining user interaction with, or viewability of, a 3D digital smart object and transmit metrics, based on the user interaction (or viewability), to a digital smart object processing system. In one embodiment, the event triggers transmit user interaction including (but not limited to) determining a user viewing a 3D digital smart object, the user interacting with a 3D digital smart object, a distance between the user and a 3D digital smart object, a percentage size of a 3D digital smart object in relationship to the size of the user interface, a period of time that the user interacted with a 3D digital smart object, the percentage of the 3D digital smart object that was viewable on the user's screen (e.g., is the viewable surface of 3D digital smart object <NUM>% below the screen), etc. In one embodiment, event triggers can be configured or customized by the publisher or the advertiser.

In another embodiment, the 3D placeholder can be presented to the developer via an Application Program Interface (API) or a software development kit (SDK). In one embodiment, the asset uploaded for a 3D digital smart object by the publisher can be a generic 3D representation of geometric data. Such a 3D digital smart object is referred to as Generic Digital smart object (GSO) herein. In another embodiment, an advertiser can replace the generic 3D asset with a branded 3D asset/object associated with the advertiser in a GSO. In such an embodiment, the publisher of the GSO can define a minimum and/or maximum polygon count value for the asset that is allowed within the GSO. An advertiser who wishes to have a generic 3D asset in a GSO to be replaced with a branded object would have to provide the branded object that is within the minimum and maximum polygon count value defined by the publisher. Such a 3D digital smart object (with a branded object/asset) is referred to as Branded Digital smart object (BSO) herein. In one embodiment, defining a minimum and/or maximum polygon count value assists in generating an advertisement standard that can allow of a GSO be converted into a BSO programmatically. In another embodiment, the publisher can further identify the types of different branded objects that can replace the asset by identifying the asset category and/or asset type, as discussed herein. In one embodiment, the digital smart object data can further associated with publisher identification data associated with the developer. In another embodiment, the digital smart object data can also be associated with advertiser identification data associated with an advertiser.

<FIG> illustrates a block diagram of the data associated with a 3D digital smart object, according to one embodiment of the present invention. As illustrated 3D digital smart object <NUM>, in one embodiment, can be associated with digital smart object identification data 401A, that represents the identification of the 3D digital smart object when implemented by the publisher and can be associated with digital smart object data stored in repository <NUM>. 3D digital smart object <NUM> can also be associated with publisher identification data 403A identifying the publisher who implemented the 3D digital smart object. Such identification can be helpful to assist in presenting a game developer digital smart objects only related to their associated 3D digital smart objects, since 3D digital smart objects can be configured, in one embodiment, to collect viewability metrics and transmit it back to the publisher implementing the 3D digital smart object in their 3D environment. In an alternative embodiment, 3D digital smart object <NUM> can also be associated with advertiser identification 405A that can be used when a GSO asset is replaced with a branded asset to generate a BSO. By associating 3D digital smart object <NUM> with advertiser identification 405A, advertising based metrics can be transmitted to the advertiser. Although the techniques described herein are generally associated with data collection for advertisers, it should be noted, the invention generally relates to data collection using 3D digital smart objects, and is not intended to be limited for advertising purposes. Specifically, generation of 3D digital smart objects can be used for data collection purposes, in a three dimensional environment, for advertisers, data analysts, software developers (e.g., object performances in game or application development, etc.), or for training purposes in a variety of fields (e.g., medical, military, or any area that involves precision based training using a 3D environment). The data collected by the digital smart objects can then be used for data analysis to determine if a goal has been achieved. In yet another embodiment, the data analysis can be used for predictive advertisement. The goal can be different based on the field where the 3D digital smart objects are used. For example, in the advertising realm the goal can include user interaction and/or viewability with the 3D digital smart object, in medicinal or military training related tasks the goal can include determining the precise interaction (e.g., orientation, speed, etc.) the 3D digital smart object with the user, etc. In the realm of virtual reality, for example, a user's interaction with the 3D digital smart object can be measured with use of accelerometers, gyroscopes, scripts or a combination thereof. Therefore, advertiser identification 405A can be associated with any 3rd party (who is not the publisher/developer) of the 3D digital smart object, but as a requirement to collect data from the end user's viewability or interaction with the digital smart object. For example, advertising identification data 405A can be associated with a medical training services provider, military training service provider, etc. depending on the usage of the 3D digital smart object. In one embodiment, data received from the 3D digital smart object can inform the user of their performance score/level.

3D digital smart object <NUM> can also be associated with asset identification <NUM> which determines the asset representation(s) (e.g. video, image, 3D object, audio, or a combination thereof) of the 3D digital smart object. In one embodiment, Asset identification <NUM> can also identify if 3D digital smart object <NUM> is a GSO or BSO, that is, if the asset object/video/3D representation comprises a generic asset or a branded asset. Asset identification <NUM> can be further associated with asset category identification 407A and/or Asset type identification 407B. In one embodiment, the publisher, while generating 3D digital smart object <NUM>, is given a list of predetermined asset categories and/or asset type from which the publisher selects a desired category or type to associated with 3D digital smart object <NUM>. Assigning an asset category and/or type can be useful while generating a BSO (from a GSO) because it can provide the advertiser the publisher's intended representation of 3D digital smart object <NUM>. For example, if the publisher generates a GSO and assigns it to category 'beverage', and type 'soda can', this would suggest that a GUCCI® 'leather studded sandal' is not intended to be the branded asset of the GSO. Therefore, in one embodiment, providing an asset category and/or type can prevent ineffective advertising by informing the advertiser the intended representation of 3D digital smart object <NUM>. Further, asset category and type can also provide the advertiser information about the intended audience of 3D digital smart object <NUM>, since a 'soda can' based branded 3D digital smart object is more likely going to be considered appropriate to a general audience, while a leather studded sandal based branded 3D digital smart object is more likely to be considered suitable to a feminine audience between the ages of <NUM>-<NUM>. Thus, by providing an asset category and/ or asset type, the publisher can further identify one or more categories/types of different branded objects that are intended to replace the asset in a GSO.

As illustrated in <FIG>, 3D digital smart object <NUM> can also be associated with asset positioning information (e.g., asset orientation, asset anchor position, etc.) <NUM> and standard object size dimensions <NUM>, as disclosed above, herein. Further, 3D digital smart object <NUM> can also be associated with a maximum and/or minimum polygon count value <NUM>. In one embodiment, when a publisher is in the process of generating 3D digital smart object <NUM>, the publisher/developer can specify a minimum and/or maximum polygon count value <NUM> of the 3D asset that would be included in 3D digital smart object <NUM>. In this embodiment, an advertiser can replace the asset of a GSO with a branded object, where the branded object is related to a brand associated with the advertiser. In this embodiment, once the publisher defines a minimum and maximum polygon count value for the asset associated the 3D digital smart object (GSO), and a branded object/asset can replace the publisher provided asset only when the branded object has a polygon count within the defined minimum and maximum polygon count value. This can be helpful, among other things, to ensure fast loading 3D digital smart object <NUM> when it is implemented in a 3D environment. As polygon count value of a 3D asset can be directly associated with the size of the asset (in memory), setting a minimum and/or maximum polygon can assist in fast loading (or rendering) of 3D digital smart object <NUM> during implementation. Further, setting minimum/maximum polygon count <NUM> can assist the publisher in ensuring the aesthetic aspect of the 3D digital smart object is not compromised when an asset is replaced (e.g., when a GSO asset is replaced with a branded asset to convert the GSO into a BSO.

Further, 3D digital smart object <NUM> can also be associated with event triggers (e.g., scripts) <NUM>. In one embodiment, the event triggers are capable of determining user interaction with, or viewability of, the 3D digital smart object. Event scripts <NUM>, in one embodiment, can transmit data to the system that can be used to generate user viewability or interaction based metrics. In another embodiment, the event triggers transmit user interaction including determining a user looking at the 3D digital smart object, the user interacting with the 3D digital smart object, a distance between the user and the 3D digital smart object, a percentage size of the 3D digital smart object in relationship to the size of the user interface, a period of time that the user interacted with the 3D digital smart object, the percentage of the smart object seen from the user, the angle with which the 3D digital smart object was moved or lifted by the user, or the speed with which the 3D digital smart object was moved by the user, etc. Non-limiting examples of event triggers can include the events as illustrated below in table <NUM>:.

In one embodiment, digital smart objects can also include a collision mesh (e.g., in gaming environments), which can be used to detect event triggers. Thus, digital smart objects, in one embodiment, can be used to calculate if an object is visible to a user, and if so, the percentage of the smart object viewable on the user's screen. For example, digital smart objects implemented in a gaming environment (where a collision mesh can be implemented) can determine if a mesh renderer is active, and further evaluate if a digital smart object is being drawn on the current Camera's culling mask. Thereafter, using ray casting techniques, a line between the main camera and the digital smart object can be drawn. If this line collides with a collidable mesh of the digital smart object then it can be assumed that the digital smart object is being blocked (and is viewable on the user's interface). To calculate the proportion of the digital smart object on screen, in a gaming environment, a screen bounds function (or equivalent) can be used to obtain an approximation (percentage) of the screen that the digital smart object is covering. In other environments (e.g., non-gaming environments) similar techniques can be implemented, as known to a person having ordinary skill in the art.

A person having ordinary skill in the art would appreciate that other event triggers can also be implemented, depending on the business needs of the advertiser/service provider, and/or publisher. Thus, in another embodiment, other functions specific to individual digital smart objects can also be specified (e.g., other multimedia effects within the 3D digital environment can be effected). In one embodiment, 3D digital smart object <NUM> can be configured to transmit the data generated by the event triggers to a digital smart object manager which can forward the information to one or more systems for metrics generation and/or further processing. In one embodiment, event triggers can be configured or customized by the publisher or advertiser/service provider, depending on their business needs. In yet another embodiment, event triggers cannot be configured or customized by the publisher or advertiser/service provider, in order to prevent advertisement metrics, viewability/interaction fraud with the 3D digital smart object. In such an embodiment, event trigger scripts can be encrypted and provided by 3D digital smart object generator <NUM>. In this embodiment, a developer and/or advertiser can present a request to the system to generate event trigger scripts that can be customized by the developer/publisher, or can request the system to create entirely new event trigger scripts to meet specific data reporting needs of the publisher.

Thus, methods, apparatuses, and computer readable medium of displaying information associated with a smart object are described.

Example <NUM> is a method of displaying brand related information on a user interface displaying a three dimensional (3D) environment of a digital processing device, comprising: receiving, by a computing device, Smart Object Identification Data (SOID) and Smart Object Metric Data (SOMD) of a set of smart objects displayed in the 3D environment, wherein the SOMD is based on user viewability or proximity to each smart object out of the set of smart objects, and wherein the SOMD of each smart object out of the set of smart objects is generated, by the digital processing device, using at least one event script, the at least one event script configured for: evaluating whether each smart object is drawn on a culling mask of a camera of the 3D environment, based on the evaluating, drawing, by ray casting, a line between the camera and each smart object, determining that the line collides with a collidable mesh of each smart object, calculating using a screen bound function, a proportion of each smart object on a user interface to obtain a percentage of the user interface that is covered by each smart object, and generating SOMD for each smart object based on the percentage of the user interface that is covered by each smart object; determining, by the computing device, that Brand Related Detailed Information (BRDI) associated with at least one smart object has been requested to be displayed on the user interface; generating, by the computing device, a list of smart object associated Brand Identification Data (BID) from the set of smart objects, wherein the list is sorted based on the SOMD related to each smart object within the set of smart objects; retrieving, by the computing device, BRDI of a first smart object out of the set of smart objects, wherein the first smart object has the highest SOMD; transmitting, by the computing device, the BRDI of the first smart object and the sorted list of smart object BID to the user; wherein the BRDI associated with the first smart object is displayed on the user interface along with the sorted list of smart object BID.

In Example <NUM>, the subject matter of Example <NUM> includes, wherein BRDI associated with a second smart object can be requested by selecting the BID of the second smart object from the sorted list displayed on the user interface. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the SOID and SOMD related data of the set of smart objects are transmitted upon determining the SOMD of the first smart object, wherein the first smart object is associated with a branded service or product. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the list of smart object BID is sorted from highest to lowest based on SOMD of each smart object in the set of smart objects. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein retrieving BRDI further includes: determining the presence of BID associated with a preferred advertiser within the set of smart objects; and retrieving BRDI of the smart object associated with the preferred advertiser instead of the first smart object upon the determining. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the transmitting of the BRDI includes transmitting engagement data, wherein the engagement data is selected by an advertiser, and wherein the engagement data includes at least one of a discount coupon, a social media web link, an email based link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein determining that the BRDI associated with the first smart object has been requested on the user interface includes receiving an instruction that the a tab or button within the user interface has been selected. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the set of smart objects includes at least one of a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

Example <NUM> is a non-transitory computer readable medium comprising instructions which when executed by a processing system comprising at least one core performs a method of displaying brand related information on a user interface displaying a three dimensional (3D) environment, the method comprising: receiving Smart Object Identification Data (SOID) and Smart Object Metric Data (SOMD) of a set of smart objects displayed in the 3D environment, wherein the SOMD is based on user viewability or proximity to each smart object out of the set of smart objects, and wherein the SOMD of each smart object out of the set of smart objects is generated using at least one event script, the at least one event script configured for: evaluating whether each smart object is drawn on a culling mask of a camera of the 3D environment, based on the evaluating, drawing, by ray casting, a line between the camera and each smart object, determining that the line collides with a collidable mesh of each smart object, calculating, using a screen bound function, a proportion of each smart object on a user interface to obtain a percentage of the user interface that is covered by each smart object, and generating the SOMD for each smart object based on the percentage of the user interface that is covered by each smart object; determining that Brand Related Detailed Information (BRDI) associated with at least one smart object has been requested to be displayed on the user interface; generating a list of smart object associated Brand Identification Data (BID) from the set of smart objects, wherein the list is sorted based on the SOMD related to each smart object within the set of smart objects; retrieving BRDI of a first smart object out of the set of smart objects, wherein the first smart object has the highest SOMD; transmitting the BRDI of the first smart object and the sorted list of smart object BID to the user; wherein the BRDI associated with the first smart object is displayed on the user interface along with the sorted list of smart object BID. In Example <NUM>, the subject matter of Example <NUM> includes, wherein BRDI associated with a second smart object can be requested by selecting the BID of the second smart object from the sorted list displayed on the user interface. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the SOID and SOMD related data of the set of smart objects are transmitted upon determining the SOMD of the first smart object, wherein the first smart object is associated with a branded service or product. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the list of smart object BID is sorted from highest to lowest based on SOMD of each smart object in the set of smart objects. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein retrieving BRDI further includes: determining the presence of BID associated with a preferred advertiser within the set of smart objects; and retrieving BRDI of the smart object associated with the preferred advertiser instead of the first smart object upon the determining. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the transmitting of the BRDI includes transmitting engagement data, wherein the engagement data is selected by an advertiser, and wherein the engagement data includes at least one of a discount coupon, a social media web link, an email based link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein determining that BRDI associated with the first smart object has been requested on the user interface includes receiving an instruction that the a tab or button within the user interface has been selected. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the set of smart objects includes at least one of a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

Example <NUM> is a computer system to display brand related information on a user interface displaying a three dimensional (3D) environment of a computing device, comprising: a memory device; a processing device coupled to the memory device, the processing device comprising at least one processing core configured to: receive Smart Object Identification Data (SOID) and Smart Object Metric Data (SOMD) of a set of smart objects displayed in the 3D environment, wherein the SOMD is based on user viewability or proximity to each smart object out of the set of smart objects, and wherein the SOMD of each smart object out of the set of smart objects is generated using at least one event script, the at least one event script configured to: evaluate whether each smart object is drawn on a culling mask of a camera of the 3D environment, draw, by ray casting, a line between the camera and each smart object, determine that the line collides with a collidable mesh of each smart object, calculate, using a screen bound function, a proportion of each smart object on a user interface to obtain a percentage of the user interface that is covered by each smart object, and generate the SOMD for each smart object based on the percentage of the user interface that is covered by each smart object; determine that Brand Related Detailed Information (BRDI) associated with at least one smart object has been requested to be displayed on the user interface; generate a list of smart object associated Brand Identification Data (BID) from the set of smart objects, wherein the list is sorted based on the SOMD related to each smart object within the set of smart objects; retrieve BRDI of a first smart object out of the set of smart objects, wherein the first smart object has the highest SOMD; transmit the BRDI of the first smart object and the sorted list of smart object BID to the user; wherein the BRDI associated with the first smart object is displayed on the user interface along with the sorted list of smart object BID. In Example <NUM>, the subject matter of Example <NUM> includes, wherein BRDI associated with a second smart object can be requested by selecting the BID of the second smart object from the sorted list displayed on the user interface. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the SOID and SOMD related data of the set of smart objects are transmitted upon determining the SOMD of the first smart object, wherein the first smart object is associated with a branded service or product. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the list of smart object BID is sorted from highest to lowest based on SOMD of each smart object in the set of smart objects. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein to retrieve BRDI further includes to: determine the presence of BID associated with a preferred advertiser within the set of smart objects; and retrieve BRDI of the smart object associated with the preferred advertiser instead of the first smart object upon the determination of the presence of BID associated with a preferred advertiser. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the transmitting of the BRDI includes transmitting engagement data, wherein the engagement data is selected by an advertiser, and wherein the engagement data includes at least one of a discount coupon, a social media web link, an email based link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein determining that BRDI associated with the first smart object has been requested on the user interface includes receiving an instruction that the a tab or button within the user interface has been selected. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the set of smart objects includes at least one of a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment. Example <NUM> is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement of any of Examples <NUM>-<NUM>. Example <NUM> is an apparatus comprising means to implement of any of Examples <NUM>-<NUM>. Example <NUM> is a system to implement of any of Examples <NUM>-<NUM>. Example <NUM> is a method to implement of any of Examples <NUM>-<NUM>.

Example <NUM> is a method of displaying brand related information to a user comprising: receiving, by a computing device, Smart Object Identification Data (SOID) and Smart Object Metric Data (SOMD) of a set of smart objects in a three dimensional environment, wherein the SOID and SOMD is transmitted from a smart object manager residing within the three dimensional environment; determining, by the computing device, that the user has requested Brand Related Detailed Information (BRDI) associated with at least one smart object; generating, by the computing device, a list of smart object associated Brand Identification Data (BID) from the set of smart objects, wherein the list is sorted based on the SOMD related to each smart object within the set of smart objects; retrieving, by the computing device, BRDI of a first smart object out of the set of smart objects, wherein the first smart object has the highest SOMD; transmitting, by the computing device, the BRDI of the first smart object and the sorted list of smart object BID to the user; wherein the BRDI is associated with the first smart object is displayed to the user via a user interface along with the sorted list of smart object BID. In Example <NUM>, the subject matter of Example <NUM> includes, wherein the user can request BRDI associated with a second smart object by selecting the BID of the second smart object from the sorted list. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the smart object manager transmits the SOID and SOMD related data of the set of smart objects upon determining the SOMD of the first smart object, wherein the first smart object is associated with a branded service or product. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the list of smart object BID is sorted from highest to lowest based on SOMD of each smart object in the set of smart objects. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein retrieving BRDI further includes: determining the presence of BID associated with a preferred advertiser within the set of smart objects; and retrieving BRDI of the smart object associated with the preferred advertiser instead of the first smart object upon the determining. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the transmitting of the BRDI includes transmitting engagement data, wherein the engagement data is selected by an advertiser, and wherein the engagement data includes at least one of a discount coupon, a social media web link, an email based link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein determining that the user has requested BRDI associated with the first smart object includes receiving an instruction that the user has selected a tab or button within the user interface. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the set of smart objects includes at least one of a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

Example <NUM> is a non-transitory computer readable medium comprising instructions which when executed by a processing system having at least one core, performs a method of displaying brand related information to a user, the method comprising: receiving Smart Object Identification Data (SOID) and Smart Object Metric Data (SOMD) of a set of smart objects in a three dimensional environment, wherein the SOID and SOMD is transmitted from a smart object manager residing within the three dimensional environment; determining that the user has requested Brand Related Detailed Information (BRDI) associated with at least one smart object; generating a list of smart object associated Brand Identification Data (BID) from the set of smart objects, wherein the list is sorted based on the SOMD related to each smart object within the set of smart objects; retrieving BRDI of a first smart object out of the set of smart objects, wherein the first smart object has the highest SOMD; transmitting the BRDI of the first smart object and the sorted list of smart object BID to the user; wherein the BRDI is associated with the first smart object is displayed to the user via a user interface along with the sorted list of smart object BID. In Example <NUM>, the subject matter of Example <NUM> includes, wherein the user can request BRDI associated with a second smart object by selecting the BID of the second smart object from the sorted list. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the smart object manager transmits the SOID and SOMD related data of the set of smart objects upon determining the SOMD of the first smart object, wherein the first smart object is associated with a branded service or product. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the list of smart object BID is sorted from highest to lowest based on SOMD of each smart object in the set of smart objects. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein retrieving BRDI further includes: determining the presence of BID associated with a preferred advertiser within the set of smart objects; and retrieving BRDI of the smart object associated with the preferred advertiser instead of the first smart object upon the determining. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the transmitting of the BRDI includes transmitting engagement data, wherein the engagement data is selected by an advertiser, and wherein the engagement data includes at least one of a discount coupon, a social media web link, an email based link, a web link to visit a web page associated with the braded information, or a web link to purchase the object or service associated with the at least one smart object. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein determining that the user has requested BRDI associated with the first smart object includes receiving an instruction that the user has selected a tab or button within the user interface. In Example <NUM>, the subject matter of Examples <NUM>-<NUM> includes, wherein the set of smart objects includes at least one of a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

Claim 1:
A method performed in a system (<NUM>) to displaying brand related information to a user comprising:
a memory device (<NUM>);
a processing device (<NUM>) coupled to the memory device (<NUM>), the method configured to:
receive Smart Object Identification Data (SOID) and Smart Object Metric Data (SOMD) of a set of smart objects (<NUM>) in a three dimensional environment, wherein the SOMD is based on user viewability or proximity to a smart object (<NUM>) in the set of smart objects (<NUM>), and wherein the SOMD for the smart object (<NUM>) in the set of smart objects (<NUM>) is determined by:
evaluating that the smart object (<NUM>) is drawn on a culling mask of a camera of the 3D environment,
based on the evaluating, drawing, by ray casting, a line between the camera and the smart object (<NUM>),
determining that the line collides with a collidable mesh of the smart object (<NUM>),
based on the determining, calculating a proportion of the smart object (<NUM>) on a user interface (<NUM>) to obtain a percentage of the user interface (<NUM>) that is covered by the smart object (<NUM>) using a screen bounding software function, and
generating the SOMD for the smart object (<NUM>) based on the percentage of the user interface (<NUM>) that is covered by the smart object (<NUM>);
determine that the user has requested Brand Related Detailed Information (BRDI) associated with at least one smart object (<NUM>);
generate a list of smart object (<NUM>) associated Brand Identification Data (BID) from the set of smart objects (<NUM>), wherein the list is sorted based on the SOMD related to each smart object (<NUM>) in the set of smart objects (<NUM>);
retrieve BRDI of a first smart object in the set of smart objects (<NUM>), wherein the first smart object (101A) has the highest SOMD;
transmit the BRDI of the first smart object (101A) and the sorted list of smart object (<NUM>) BID to the user interface;
wherein the BRDI is associated with the first smart object (101A) is displayed to the user via a user interface along with the sorted list of smart object (<NUM>) BID.